db-studio 1.3.27 → 1.3.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core-dist/assets/{_baseUniq-C_vPXkJP.js → _baseUniq-p5pzSIGg.js} +1 -1
- package/dist/core-dist/assets/{_pathlessLayout-BXQIga5f.js → _pathlessLayout-bNFwtzio.js} +2 -2
- package/dist/core-dist/assets/{_queryId-D8-CsguU.js → _queryId-CoulYCHZ.js} +1 -1
- package/dist/core-dist/assets/_table-D5wliAP3.js +8 -0
- package/dist/core-dist/assets/{arc-1V0QxUK8.js → arc-D4Z6A87O.js} +1 -1
- package/dist/core-dist/assets/{architectureDiagram-VXUJARFQ-CFri9V3F.js → architectureDiagram-VXUJARFQ-CoK5V8Gq.js} +1 -1
- package/dist/core-dist/assets/{blockDiagram-VD42YOAC-ClhIgJjQ.js → blockDiagram-VD42YOAC-C5HbbFu4.js} +1 -1
- package/dist/core-dist/assets/{c4Diagram-YG6GDRKO-BO3ObrTD.js → c4Diagram-YG6GDRKO-nT6ePZrr.js} +1 -1
- package/dist/core-dist/assets/{cdoe-editor-BxMx7GmC.js → cdoe-editor-itVA__0A.js} +1 -1
- package/dist/core-dist/assets/channel-RRrTb5YX.js +1 -0
- package/dist/core-dist/assets/{chunk-4BX2VUAB-BMfKmWOX.js → chunk-4BX2VUAB-C0cKTKuS.js} +1 -1
- package/dist/core-dist/assets/{chunk-55IACEB6-CQJI28O-.js → chunk-55IACEB6-CS37Jqhh.js} +1 -1
- package/dist/core-dist/assets/{chunk-B4BG7PRW-iEBvSKmc.js → chunk-B4BG7PRW-CNxT4kr_.js} +1 -1
- package/dist/core-dist/assets/{chunk-DI55MBZ5-D3zKvHrW.js → chunk-DI55MBZ5-Dlh63cJN.js} +1 -1
- package/dist/core-dist/assets/{chunk-FMBD7UC4-Y2ZVa7Rr.js → chunk-FMBD7UC4-zlhbJE8N.js} +1 -1
- package/dist/core-dist/assets/{chunk-QN33PNHL-B41HyhcX.js → chunk-QN33PNHL-CBxCREMZ.js} +1 -1
- package/dist/core-dist/assets/{chunk-QZHKN3VN-DSPK-keG.js → chunk-QZHKN3VN-CjOf_UT-.js} +1 -1
- package/dist/core-dist/assets/{chunk-TZMSLE5B--SKjjh8g.js → chunk-TZMSLE5B-C8_nfweM.js} +1 -1
- package/dist/core-dist/assets/classDiagram-2ON5EDUG-Bo8bE3Gj.js +1 -0
- package/dist/core-dist/assets/classDiagram-v2-WZHVMYZB-Bo8bE3Gj.js +1 -0
- package/dist/core-dist/assets/clone-tDnlR_HJ.js +1 -0
- package/dist/core-dist/assets/{code-block-IT6T5CEO-D8dr238E.js → code-block-IT6T5CEO-CI7D1Ckp.js} +1 -1
- package/dist/core-dist/assets/{cose-bilkent-S5V4N54A-Ca3KmLQf.js → cose-bilkent-S5V4N54A-pMpZq0EL.js} +1 -1
- package/dist/core-dist/assets/{dagre-6UL2VRFP-CcoGFqDF.js → dagre-6UL2VRFP-Cst9zRrY.js} +1 -1
- package/dist/core-dist/assets/{diagram-PSM6KHXK-B7cDrRFX.js → diagram-PSM6KHXK-BXpUEAWs.js} +1 -1
- package/dist/core-dist/assets/{diagram-QEK2KX5R-DpZEtDNm.js → diagram-QEK2KX5R-Ceeu-b2e.js} +1 -1
- package/dist/core-dist/assets/{diagram-S2PKOQOG-BVMLYlwm.js → diagram-S2PKOQOG-B2WHBnj5.js} +1 -1
- package/dist/core-dist/assets/{erDiagram-Q2GNP2WA-VjZvcfHt.js → erDiagram-Q2GNP2WA-C_yvmhoA.js} +1 -1
- package/dist/core-dist/assets/{flowDiagram-NV44I4VS-BPYKonp8.js → flowDiagram-NV44I4VS-Z3pNI5g9.js} +1 -1
- package/dist/core-dist/assets/{ganttDiagram-JELNMOA3-YZ7JH3lc.js → ganttDiagram-JELNMOA3-BKJSG4df.js} +1 -1
- package/dist/core-dist/assets/{gitGraphDiagram-NY62KEGX-_zgpjSlg.js → gitGraphDiagram-NY62KEGX-xd8UZtkJ.js} +1 -1
- package/dist/core-dist/assets/{graph-6tmbx1dj.js → graph-BiTFYAoZ.js} +1 -1
- package/dist/core-dist/assets/{index-CG7j3ZfO.js → index-B8zdJg_q.js} +3 -3
- package/dist/core-dist/assets/index-CI-PCTpD.css +1 -0
- package/dist/core-dist/assets/{index-DUtjV0B-.js → index-Ck69W-AH.js} +1 -1
- package/dist/core-dist/assets/index-D2I1nxdU.js +1 -0
- package/dist/core-dist/assets/{infoDiagram-WHAUD3N6-Kg_R2eW0.js → infoDiagram-WHAUD3N6-CRdg8M2S.js} +1 -1
- package/dist/core-dist/assets/{journeyDiagram-XKPGCS4Q-DonaYC7V.js → journeyDiagram-XKPGCS4Q-C4rNrDv0.js} +1 -1
- package/dist/core-dist/assets/{kanban-definition-3W4ZIXB7-ReikhLs4.js → kanban-definition-3W4ZIXB7-D4bdMcnq.js} +1 -1
- package/dist/core-dist/assets/{layout-DUsCRHb6.js → layout-WHeMgL_l.js} +1 -1
- package/dist/core-dist/assets/{linear-4gAoSSyZ.js → linear-CPEHgNrr.js} +1 -1
- package/dist/core-dist/assets/{mermaid-VLURNSYL-K7TEQe9D.js → mermaid-VLURNSYL-y089KhWi.js} +4 -4
- package/dist/core-dist/assets/{mermaid.core-wqPk7i-K.js → mermaid.core-BxHPE-d6.js} +5 -5
- package/dist/core-dist/assets/{min-DccFXwe3.js → min-kHWoRv33.js} +1 -1
- package/dist/core-dist/assets/{mindmap-definition-VGOIOE7T-BYxGaEpf.js → mindmap-definition-VGOIOE7T-CJJOhLu9.js} +1 -1
- package/dist/core-dist/assets/{pieDiagram-ADFJNKIX-B3IVwgaD.js → pieDiagram-ADFJNKIX-CAk_tXAT.js} +1 -1
- package/dist/core-dist/assets/{quadrantDiagram-AYHSOK5B-Bi-7QC6c.js → quadrantDiagram-AYHSOK5B-C8Per30k.js} +1 -1
- package/dist/core-dist/assets/{queries.store-B01mhBzt.js → queries.store-DO6JjVaD.js} +1 -1
- package/dist/core-dist/assets/{requirementDiagram-UZGBJVZJ-CGELnJfh.js → requirementDiagram-UZGBJVZJ-EDXv7-B6.js} +1 -1
- package/dist/core-dist/assets/{runner-tab-CslhxcLx.js → runner-tab-DEnOfqHr.js} +3 -3
- package/dist/core-dist/assets/{sankeyDiagram-TZEHDZUN-BQIc9Mj1.js → sankeyDiagram-TZEHDZUN-CQ57PXul.js} +1 -1
- package/dist/core-dist/assets/{scroll-area-BYB-APTE.js → scroll-area-C3MoruNP.js} +1 -1
- package/dist/core-dist/assets/{sequenceDiagram-WL72ISMW-CLV__peW.js → sequenceDiagram-WL72ISMW-DgKiIj0U.js} +1 -1
- package/dist/core-dist/assets/{stateDiagram-FKZM4ZOC-D7OFCqBP.js → stateDiagram-FKZM4ZOC-DRNqRhHl.js} +1 -1
- package/dist/core-dist/assets/stateDiagram-v2-4FDKWEC3-D167gXuY.js +1 -0
- package/dist/core-dist/assets/{timeline-definition-IT6M3QCI-CG5XhHfw.js → timeline-definition-IT6M3QCI-CFZd4jmL.js} +1 -1
- package/dist/core-dist/assets/{treemap-KMMF4GRG-DIPpBEKk.js → treemap-KMMF4GRG-C306sutZ.js} +1 -1
- package/dist/core-dist/assets/{xychartDiagram-PRI3JC2R-yz236FKW.js → xychartDiagram-PRI3JC2R-CIwcgBI2.js} +1 -1
- package/dist/core-dist/index.html +2 -2
- package/dist/index.js +36 -45
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/core-dist/assets/_table-B5Z_vACA.js +0 -8
- package/dist/core-dist/assets/channel-DyPXV-hW.js +0 -1
- package/dist/core-dist/assets/classDiagram-2ON5EDUG-BuWyGwZg.js +0 -1
- package/dist/core-dist/assets/classDiagram-v2-WZHVMYZB-BuWyGwZg.js +0 -1
- package/dist/core-dist/assets/clone-B6TL1LpG.js +0 -1
- package/dist/core-dist/assets/index-BXRBzRx2.css +0 -1
- package/dist/core-dist/assets/index-DucqSMyl.js +0 -1
- package/dist/core-dist/assets/stateDiagram-v2-4FDKWEC3-BJrnETjC.js +0 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{j as r,ah as sr,ai as rr,aj as ar,ak as Dn,al as En,am as On}from"./radix-ui-bzITMjAn.js";import{a as W,W as cn,B as R,X as Ue,Y as pt,Z as $e,S as he,o as me,q as ge,r as xe,s as B,C as M,_ as Mn,m as de,$ as or,a0 as le,I as ae,a1 as ke,a2 as Ee,v as He,x as Le,M as Tn,a3 as qe,t as De,a4 as lr,a5 as ir,a6 as rt,a7 as se,y as Bt,z as Kt,A as Vt,F as Ce,c as cr,a8 as Ut,a9 as dr,aa as _n,E as ur,G as fr,ab as Pt,n as hr,ac as mr}from"./index-B8zdJg_q.js";import{u as P,c as Xe,T as Me,a as Te,b as _e,p as Ie}from"./index-Ck69W-AH.js";import{a as D,r as g,Q as Rn,C as An,n as $t,U as gr,L as Wn,V as Tt,m as zn,W as Fn,X as yt,Y as xr,Z as pr,A as yr,c as br,_ as Cr,y as wr,$ as vr,a0 as Sr,T as kr,a1 as jr}from"./icons-CThL5JLu.js";import{S as Nr,K as je,D as Dr,a as Er,b as Or,c as Mr,d as Tr,e as _r,A as Yn,f as Pn,g as In,h as Bn,i as Kn,j as Vn,k as Un,l as $n,m as Be}from"./scroll-area-C3MoruNP.js";import{u as Rr,f as Hn,i as Ln,h as nt,e as at,d as ot,g as qn,p as Ar}from"./tanstack-Be3yNbjx.js";import{f as Wr}from"./format-cell-value-Cn3RA9a1.js";import"./react-dom-C-8vY09X.js";import"./monaco-editor-BMj4E99D.js";const Jn=6048e5,zr=864e5,dn=Symbol.for("constructDateFrom");function J(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&dn in e?e[dn](t):e instanceof Date?new e.constructor(t):new Date(t)}function H(e,t){return J(t||e,e)}function xt(e,t,n){const s=H(e,n?.in);return isNaN(t)?J(e,NaN):(t&&s.setDate(s.getDate()+t),s)}function Gn(e,t,n){const s=H(e,n?.in);if(isNaN(t))return J(e,NaN);if(!t)return s;const a=s.getDate(),l=J(e,s.getTime());l.setMonth(s.getMonth()+t+1,0);const c=l.getDate();return a>=c?l:(s.setFullYear(l.getFullYear(),l.getMonth(),a),s)}let Fr={};function lt(){return Fr}function Ke(e,t){const n=lt(),s=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=H(e,t?.in),l=a.getDay(),c=(l<s?7:0)+l-s;return a.setDate(a.getDate()-c),a.setHours(0,0,0,0),a}function st(e,t){return Ke(e,{...t,weekStartsOn:1})}function Qn(e,t){const n=H(e,t?.in),s=n.getFullYear(),a=J(n,0);a.setFullYear(s+1,0,4),a.setHours(0,0,0,0);const l=st(a),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 un(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 Je(e,...t){const n=J.bind(null,t.find(s=>typeof s=="object"));return t.map(n)}function Ve(e,t){const n=H(e,t?.in);return n.setHours(0,0,0,0),n}function Ht(e,t,n){const[s,a]=Je(n?.in,e,t),l=Ve(s),c=Ve(a),o=+l-un(l),i=+c-un(c);return Math.round((o-i)/zr)}function Yr(e,t){const n=Qn(e,t),s=J(e,0);return s.setFullYear(n,0,4),s.setHours(0,0,0,0),st(s)}function Pr(e,t,n){return xt(e,t*7,n)}function Ir(e,t,n){return Gn(e,t*12,n)}function Br(e,t){let n,s=t?.in;return e.forEach(a=>{!s&&typeof a=="object"&&(s=J.bind(null,a));const l=H(a,s);(!n||n<l||isNaN(+l))&&(n=l)}),J(s,n||NaN)}function Kr(e,t){let n,s=t?.in;return e.forEach(a=>{!s&&typeof a=="object"&&(s=J.bind(null,a));const l=H(a,s);(!n||n>l||isNaN(+l))&&(n=l)}),J(s,n||NaN)}function Vr(e,t,n){const[s,a]=Je(n?.in,e,t);return+Ve(s)==+Ve(a)}function Xn(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Ur(e){return!(!Xn(e)&&typeof e!="number"||isNaN(+H(e)))}function Zn(e,t,n){const[s,a]=Je(n?.in,e,t),l=s.getFullYear()-a.getFullYear(),c=s.getMonth()-a.getMonth();return l*12+c}function $r(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 es(e,t){const[n,s]=Je(e,t.start,t.end);return{start:n,end:s}}function Hr(e,t){const{start:n,end:s}=es(t?.in,e);let a=+n>+s;const l=a?+n:+s,c=a?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 a?i.reverse():i}function Lr(e,t){const n=H(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function qr(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 ts(e,t){const n=H(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function Jr(e,t){const{start:n,end:s}=es(t?.in,e);let a=+n>+s;const l=a?+n:+s,c=a?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 a?i.reverse():i}function ns(e,t){const n=lt(),s=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=H(e,t?.in),l=a.getDay(),c=(l<s?-7:0)+6-(l-s);return a.setDate(a.getDate()+c),a.setHours(23,59,59,999),a}function Gr(e,t){return ns(e,{...t,weekStartsOn:1})}const Qr={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"}},Xr=(e,t,n)=>{let s;const a=Qr[e];return typeof a=="string"?s=a:t===1?s=a.one:s=a.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 Zr={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},ea={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},ta={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},na={date:_t({formats:Zr,defaultWidth:"full"}),time:_t({formats:ea,defaultWidth:"full"}),dateTime:_t({formats:ta,defaultWidth:"full"})},sa={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},ra=(e,t,n,s)=>sa[e];function Ze(e){return(t,n)=>{const s=n?.context?String(n.context):"standalone";let a;if(s==="formatting"&&e.formattingValues){const c=e.defaultFormattingWidth||e.defaultWidth,o=n?.width?String(n.width):c;a=e.formattingValues[o]||e.formattingValues[c]}else{const c=e.defaultWidth,o=n?.width?String(n.width):e.defaultWidth;a=e.values[o]||e.values[c]}const l=e.argumentCallback?e.argumentCallback(t):t;return a[l]}}const aa={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},oa={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},la={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"]},ia={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"]},ca={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"}},da={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"}},ua=(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"},fa={ordinalNumber:ua,era:Ze({values:aa,defaultWidth:"wide"}),quarter:Ze({values:oa,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Ze({values:la,defaultWidth:"wide"}),day:Ze({values:ia,defaultWidth:"wide"}),dayPeriod:Ze({values:ca,defaultWidth:"wide",formattingValues:da,defaultFormattingWidth:"wide"})};function et(e){return(t,n={})=>{const s=n.width,a=s&&e.matchPatterns[s]||e.matchPatterns[e.defaultMatchWidth],l=t.match(a);if(!l)return null;const c=l[0],o=s&&e.parsePatterns[s]||e.parsePatterns[e.defaultParseWidth],i=Array.isArray(o)?ma(o,f=>f.test(c)):ha(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 ha(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function ma(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function ga(e){return(t,n={})=>{const s=t.match(e.matchPattern);if(!s)return null;const a=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(a.length);return{value:c,rest:o}}}const xa=/^(\d+)(th|st|nd|rd)?/i,pa=/\d+/i,ya={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},ba={any:[/^b/i,/^(a|c)/i]},Ca={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},wa={any:[/1/i,/2/i,/3/i,/4/i]},va={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},Sa={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]},ka={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},ja={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]},Na={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},Da={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}},Ea={ordinalNumber:ga({matchPattern:xa,parsePattern:pa,valueCallback:e=>parseInt(e,10)}),era:et({matchPatterns:ya,defaultMatchWidth:"wide",parsePatterns:ba,defaultParseWidth:"any"}),quarter:et({matchPatterns:Ca,defaultMatchWidth:"wide",parsePatterns:wa,defaultParseWidth:"any",valueCallback:e=>e+1}),month:et({matchPatterns:va,defaultMatchWidth:"wide",parsePatterns:Sa,defaultParseWidth:"any"}),day:et({matchPatterns:ka,defaultMatchWidth:"wide",parsePatterns:ja,defaultParseWidth:"any"}),dayPeriod:et({matchPatterns:Na,defaultMatchWidth:"any",parsePatterns:Da,defaultParseWidth:"any"})},Pe={code:"en-US",formatDistance:Xr,formatLong:na,formatRelative:ra,localize:fa,match:Ea,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Oa(e,t){const n=H(e,t?.in);return Ht(n,ts(n))+1}function Lt(e,t){const n=H(e,t?.in),s=+st(n)-+Yr(n);return Math.round(s/Jn)+1}function ss(e,t){const n=H(e,t?.in),s=n.getFullYear(),a=lt(),l=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,c=J(t?.in||e,0);c.setFullYear(s+1,0,l),c.setHours(0,0,0,0);const o=Ke(c,t),i=J(t?.in||e,0);i.setFullYear(s,0,l),i.setHours(0,0,0,0);const d=Ke(i,t);return+n>=+o?s+1:+n>=+d?s:s-1}function Ma(e,t){const n=lt(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=ss(e,t),l=J(t?.in||e,0);return l.setFullYear(a,0,s),l.setHours(0,0,0,0),Ke(l,t)}function qt(e,t){const n=H(e,t?.in),s=+Ke(n,t)-+Ma(n,t);return Math.round(s/Jn)+1}function $(e,t){const n=e<0?"-":"",s=Math.abs(e).toString().padStart(t,"0");return n+s}const Ne={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(),a=Math.trunc(s*Math.pow(10,n-3));return $(a,t.length)}},Fe={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},fn={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(),a=s>0?s:1-s;return n.ordinalNumber(a,{unit:"year"})}return Ne.y(e,t)},Y:function(e,t,n,s){const a=ss(e,s),l=a>0?a:1-a;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=Qn(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 Ne.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 a=qt(e,s);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):$(a,t.length)},I:function(e,t,n){const s=Lt(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"}):Ne.d(e,t)},D:function(e,t,n){const s=Oa(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 a=e.getDay(),l=(a-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(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,s){const a=e.getDay(),l=(a-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(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){const s=e.getDay(),a=s===0?7:s;switch(t){case"i":return String(a);case"ii":return $(a,t.length);case"io":return n.ordinalNumber(a,{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 a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const s=e.getHours();let a;switch(s===12?a=Fe.noon:s===0?a=Fe.midnight:a=s/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,n){const s=e.getHours();let a;switch(s>=17?a=Fe.evening:s>=12?a=Fe.afternoon:s>=4?a=Fe.morning:a=Fe.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{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 Ne.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Ne.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"}):Ne.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Ne.s(e,t)},S:function(e,t){return Ne.S(e,t)},X:function(e,t,n){const s=e.getTimezoneOffset();if(s===0)return"Z";switch(t){case"X":return mn(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 mn(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"+hn(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"+hn(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 hn(e,t=""){const n=e>0?"-":"+",s=Math.abs(e),a=Math.trunc(s/60),l=s%60;return l===0?n+String(a):n+String(a)+t+$(l,2)}function mn(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),a=$(Math.trunc(s/60),2),l=$(s%60,2);return n+a+t+l}const gn=(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"})}},rs=(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"})}},Ta=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],s=n[1],a=n[2];if(!a)return gn(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}}",gn(s,t)).replace("{{time}}",rs(a,t))},_a={p:rs,P:Ta},Ra=/^D+$/,Aa=/^Y+$/,Wa=["D","DD","YY","YYYY"];function za(e){return Ra.test(e)}function Fa(e){return Aa.test(e)}function Ya(e,t,n){const s=Pa(e,t,n);if(console.warn(s),Wa.includes(e))throw new RangeError(s)}function Pa(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 Ia=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Ba=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Ka=/^'([^]*?)'?$/,Va=/''/g,Ua=/[a-zA-Z]/;function we(e,t,n){const s=lt(),a=n?.locale??s.locale??Pe,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(!Ur(o))throw new RangeError("Invalid time value");let i=t.match(Ba).map(u=>{const f=u[0];if(f==="p"||f==="P"){const m=_a[f];return m(u,a.formatLong)}return u}).join("").match(Ia).map(u=>{if(u==="''")return{isToken:!1,value:"'"};const f=u[0];if(f==="'")return{isToken:!1,value:$a(u)};if(fn[f])return{isToken:!0,value:u};if(f.match(Ua))throw new RangeError("Format string contains an unescaped latin alphabet character `"+f+"`");return{isToken:!1,value:u}});a.localize.preprocessor&&(i=a.localize.preprocessor(o,i));const d={firstWeekContainsDate:l,weekStartsOn:c,locale:a};return i.map(u=>{if(!u.isToken)return u.value;const f=u.value;(!n?.useAdditionalWeekYearTokens&&Fa(f)||!n?.useAdditionalDayOfYearTokens&&za(f))&&Ya(f,t,String(e));const m=fn[f[0]];return m(o,f,a.localize,d)}).join("")}function $a(e){const t=e.match(Ka);return t?t[1].replace(Va,"'"):e}function Ha(e,t){const n=H(e,t?.in),s=n.getFullYear(),a=n.getMonth(),l=J(n,0);return l.setFullYear(s,a+1,0),l.setHours(0,0,0,0),l.getDate()}function La(e,t){return H(e,t?.in).getMonth()}function qa(e,t){return H(e,t?.in).getFullYear()}function Ja(e,t){return+H(e)>+H(t)}function Ga(e,t){return+H(e)<+H(t)}function Qa(e,t,n){const[s,a]=Je(n?.in,e,t);return s.getFullYear()===a.getFullYear()&&s.getMonth()===a.getMonth()}function Xa(e,t,n){const[s,a]=Je(n?.in,e,t);return s.getFullYear()===a.getFullYear()}function Za(e,t,n){const s=H(e,n?.in),a=s.getFullYear(),l=s.getDate(),c=J(e,0);c.setFullYear(a,t,15),c.setHours(0,0,0,0);const o=Ha(c);return s.setMonth(t,Math.min(l,o)),s}function eo(e,t,n){const s=H(e,n?.in);return isNaN(+s)?J(e,NaN):(s.setFullYear(t),s)}function to(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 no={},tt={};function Re(e,t){try{const s=(no[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return s in tt?tt[s]:xn(s,s.split(":"))}catch{if(e in tt)return tt[e];const n=e?.match(so);return n?xn(e,n.slice(1)):NaN}}const so=/([+-]\d\d):?(\d\d)?/;function xn(e,t){const n=+(t[0]||0),s=+(t[1]||0),a=+(t[2]||0)/60;return tt[e]=n*60+s>0?n*60+s+a:n*60-s-a}class fe extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Re(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)),as(this),It(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new fe(...n,t):new fe(Date.now(),t)}withTimeZone(t){return new fe(+this,t)}getTimezoneOffset(){const t=-Re(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 fe(+new Date(t),this.timeZone)}}const pn=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!pn.test(e))return;const t=e.replace(pn,"$1UTC");fe.prototype[t]&&(e.startsWith("get")?fe.prototype[e]=function(){return this.internal[t]()}:(fe.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),ro(this),+this},fe.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(-Re(e.timeZone,e)*60))}function ro(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()),as(e)}function as(e){const t=Re(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),s=new Date(+e);s.setUTCHours(s.getUTCHours()-1);const a=-new Date(+e).getTimezoneOffset(),l=-new Date(+s).getTimezoneOffset(),c=a-l,o=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();c&&o&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+c);const i=a-n;i&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+i);const d=new Date(+e);d.setUTCSeconds(0);const u=a>0?d.getSeconds():(d.getSeconds()-60)%60,f=Math.round(-(Re(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=Re(e.timeZone,e),p=m>0?Math.floor(m):Math.ceil(m),k=-new Date(+e).getTimezoneOffset()-p,S=p!==n,v=k-i;if(S&&v){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+v);const b=Re(e.timeZone,e),x=b>0?Math.floor(b):Math.ceil(b),h=p-x;h&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+h),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+h))}}class X extends fe{static tz(t,...n){return n.length?new X(...n,t):new X(Date.now(),t)}toISOString(){const[t,n,s]=this.tzComponents(),a=`${t}${n}:${s}`;return this.internal.toISOString().slice(0,-1)+a}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,s,a]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${s} ${n} ${a}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,s,a]=this.tzComponents();return`${t} GMT${n}${s}${a} (${to(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"),a=String(Math.abs(t)%60).padStart(2,"0");return[n,s,a]}withTimeZone(t){return new X(+this,t)}[Symbol.for("constructDateFrom")](t){return new X(+new Date(t),this.timeZone)}}const yn=5,ao=4;function oo(e,t){const n=t.startOfMonth(e),s=n.getDay()>0?n.getDay():7,a=t.addDays(e,-s+1),l=t.addDays(a,yn*7-1);return t.getMonth(e)===t.getMonth(l)?yn:ao}function os(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 lo(e,t){const n=os(e,t),s=oo(e,t);return t.addDays(n,s*7-1)}const ls={...Pe,labels:{labelDayButton:(e,t,n,s)=>{let a;s&&typeof s.format=="function"?a=s.format.bind(s):a=(c,o)=>we(c,o,{locale:Pe,...n});let l=a(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=(a,l)=>we(a,l,{locale:Pe,...t}),s(e,"LLLL yyyy")},labelGridcell:(e,t,n,s)=>{let a;s&&typeof s.format=="function"?a=s.format.bind(s):a=(c,o)=>we(c,o,{locale:Pe,...n});let l=a(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=(a,l)=>we(a,l,{locale:Pe,...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,a,l)=>this.overrides?.newDate?this.overrides.newDate(s,a,l):this.options.timeZone?new X(s,a,l,this.options.timeZone):new Date(s,a,l),this.addDays=(s,a)=>this.overrides?.addDays?this.overrides.addDays(s,a):xt(s,a),this.addMonths=(s,a)=>this.overrides?.addMonths?this.overrides.addMonths(s,a):Gn(s,a),this.addWeeks=(s,a)=>this.overrides?.addWeeks?this.overrides.addWeeks(s,a):Pr(s,a),this.addYears=(s,a)=>this.overrides?.addYears?this.overrides.addYears(s,a):Ir(s,a),this.differenceInCalendarDays=(s,a)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(s,a):Ht(s,a),this.differenceInCalendarMonths=(s,a)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(s,a):Zn(s,a),this.eachMonthOfInterval=s=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(s):Hr(s),this.eachYearOfInterval=s=>{const a=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(s):Jr(s),l=new Set(a.map(o=>this.getYear(o)));if(l.size===a.length)return a;const c=[];return l.forEach(o=>{c.push(new Date(o,0,1))}),c},this.endOfBroadcastWeek=s=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(s):lo(s,this),this.endOfISOWeek=s=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(s):Gr(s),this.endOfMonth=s=>this.overrides?.endOfMonth?this.overrides.endOfMonth(s):$r(s),this.endOfWeek=(s,a)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(s,a):ns(s,this.options),this.endOfYear=s=>this.overrides?.endOfYear?this.overrides.endOfYear(s):qr(s),this.format=(s,a,l)=>{const c=this.overrides?.format?this.overrides.format(s,a,this.options):we(s,a,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(c):c},this.getISOWeek=s=>this.overrides?.getISOWeek?this.overrides.getISOWeek(s):Lt(s),this.getMonth=(s,a)=>this.overrides?.getMonth?this.overrides.getMonth(s,this.options):La(s,this.options),this.getYear=(s,a)=>this.overrides?.getYear?this.overrides.getYear(s,this.options):qa(s,this.options),this.getWeek=(s,a)=>this.overrides?.getWeek?this.overrides.getWeek(s,this.options):qt(s,this.options),this.isAfter=(s,a)=>this.overrides?.isAfter?this.overrides.isAfter(s,a):Ja(s,a),this.isBefore=(s,a)=>this.overrides?.isBefore?this.overrides.isBefore(s,a):Ga(s,a),this.isDate=s=>this.overrides?.isDate?this.overrides.isDate(s):Xn(s),this.isSameDay=(s,a)=>this.overrides?.isSameDay?this.overrides.isSameDay(s,a):Vr(s,a),this.isSameMonth=(s,a)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(s,a):Qa(s,a),this.isSameYear=(s,a)=>this.overrides?.isSameYear?this.overrides.isSameYear(s,a):Xa(s,a),this.max=s=>this.overrides?.max?this.overrides.max(s):Br(s),this.min=s=>this.overrides?.min?this.overrides.min(s):Kr(s),this.setMonth=(s,a)=>this.overrides?.setMonth?this.overrides.setMonth(s,a):Za(s,a),this.setYear=(s,a)=>this.overrides?.setYear?this.overrides.setYear(s,a):eo(s,a),this.startOfBroadcastWeek=(s,a)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(s,this):os(s,this),this.startOfDay=s=>this.overrides?.startOfDay?this.overrides.startOfDay(s):Ve(s),this.startOfISOWeek=s=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(s):st(s),this.startOfMonth=s=>this.overrides?.startOfMonth?this.overrides.startOfMonth(s):Lr(s),this.startOfWeek=(s,a)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(s,this.options):Ke(s,this.options),this.startOfYear=s=>this.overrides?.startOfYear?this.overrides.startOfYear(s):ts(s),this.options={locale:ls,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),s={};for(let a=0;a<10;a++)s[a.toString()]=n.format(a);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:a}=this.options,l=n?.code;if(l&&re.yearFirstLocales.has(l))try{return new Intl.DateTimeFormat(l,{month:"long",year:"numeric",timeZone:s,numberingSystem:a}).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 pe=new re;class is{constructor(t,n,s=pe){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 io{constructor(t,n){this.date=t,this.weeks=n}}class co{constructor(t,n){this.days=n,this.weekNumber=t}}function uo(e){return D.createElement("button",{...e})}function fo(e){return D.createElement("span",{...e})}function ho(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 mo(e){const{day:t,modifiers:n,...s}=e;return D.createElement("td",{...s})}function go(e){const{day:t,modifiers:n,...s}=e,a=D.useRef(null);return D.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),D.createElement("button",{ref:a,...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 xo(e){const{options:t,className:n,components:s,classNames:a,...l}=e,c=[a[T.Dropdown],n].join(" "),o=t?.find(({value:i})=>i===l.value);return D.createElement("span",{"data-disabled":l.disabled,className:a[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:a[T.CaptionLabel],"aria-hidden":!0},o?.label,D.createElement(s.Chevron,{orientation:"down",size:18,className:a[T.Chevron]})))}function po(e){return D.createElement("div",{...e})}function yo(e){return D.createElement("div",{...e})}function bo(e){const{calendarMonth:t,displayIndex:n,...s}=e;return D.createElement("div",{...s},e.children)}function Co(e){const{calendarMonth:t,displayIndex:n,...s}=e;return D.createElement("div",{...s})}function wo(e){return D.createElement("table",{...e})}function vo(e){return D.createElement("div",{...e})}const cs=g.createContext(void 0);function it(){const e=g.useContext(cs);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function So(e){const{components:t}=it();return D.createElement(t.Dropdown,{...e})}function ko(e){const{onPreviousClick:t,onNextClick:n,previousMonth:s,nextMonth:a,...l}=e,{components:c,classNames:o,labels:{labelPrevious:i,labelNext:d}}=it(),u=g.useCallback(m=>{a&&n?.(m)},[a,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:a?void 0:-1,"aria-disabled":a?void 0:!0,"aria-label":d(a),onClick:u},D.createElement(c.Chevron,{disabled:a?void 0:!0,orientation:"right",className:o[T.Chevron]})))}function jo(e){const{components:t}=it();return D.createElement(t.Button,{...e})}function No(e){return D.createElement("option",{...e})}function Do(e){const{components:t}=it();return D.createElement(t.Button,{...e})}function Eo(e){const{rootRef:t,...n}=e;return D.createElement("div",{...n,ref:t})}function Oo(e){return D.createElement("select",{...e})}function Mo(e){const{week:t,...n}=e;return D.createElement("tr",{...n})}function To(e){return D.createElement("th",{...e})}function _o(e){return D.createElement("thead",{"aria-hidden":!0},D.createElement("tr",{...e}))}function Ro(e){const{week:t,...n}=e;return D.createElement("th",{...n})}function Ao(e){return D.createElement("th",{...e})}function Wo(e){return D.createElement("tbody",{...e})}function zo(e){const{components:t}=it();return D.createElement(t.Dropdown,{...e})}const Fo=Object.freeze(Object.defineProperty({__proto__:null,Button:uo,CaptionLabel:fo,Chevron:ho,Day:mo,DayButton:go,Dropdown:xo,DropdownNav:po,Footer:yo,Month:bo,MonthCaption:Co,MonthGrid:wo,Months:vo,MonthsDropdown:So,Nav:ko,NextMonthButton:jo,Option:No,PreviousMonthButton:Do,Root:Eo,Select:Oo,Week:Mo,WeekNumber:Ro,WeekNumberHeader:Ao,Weekday:To,Weekdays:_o,Weeks:Wo,YearsDropdown:zo},Symbol.toStringTag,{value:"Module"}));function ve(e,t,n=!1,s=pe){let{from:a,to:l}=e;const{differenceInCalendarDays:c,isSameDay:o}=s;return a&&l?(c(l,a)<0&&([a,l]=[l,a]),c(t,a)>=(n?1:0)&&c(l,t)>=(n?1:0)):!n&&l?o(l,t):!n&&a?o(a,t):!1}function Jt(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function bt(e){return!!(e&&typeof e=="object"&&"from"in e)}function Gt(e){return!!(e&&typeof e=="object"&&"after"in e)}function Qt(e){return!!(e&&typeof e=="object"&&"before"in e)}function ds(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function us(e,t){return Array.isArray(e)&&e.every(t.isDate)}function Se(e,t,n=pe){const s=Array.isArray(t)?t:[t],{isSameDay:a,differenceInCalendarDays:l,isAfter:c}=n;return s.some(o=>{if(typeof o=="boolean")return o;if(n.isDate(o))return a(e,o);if(us(o,n))return o.some(i=>a(e,i));if(bt(o))return ve(o,e,!1,n);if(ds(o))return Array.isArray(o.dayOfWeek)?o.dayOfWeek.includes(e.getDay()):o.dayOfWeek===e.getDay();if(Jt(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 Gt(o)?l(e,o.after)>0:Qt(o)?l(o.before,e)>0:typeof o=="function"?o(e):!1})}function Yo(e,t,n,s,a){const{disabled:l,hidden:c,modifiers:o,showOutsideDays:i,broadcastCalendar:d,today:u=a.today()}=t,{isSameDay:f,isSameMonth:m,startOfMonth:p,isBefore:C,endOfMonth:k,isAfter:S}=a,v=n&&p(n),b=s&&k(s),x={[L.focused]:[],[L.outside]:[],[L.disabled]:[],[L.hidden]:[],[L.today]:[]},h={};for(const y of e){const{date:w,displayMonth:j}=y,E=!!(j&&!m(w,j)),N=!!(v&&C(w,v)),O=!!(b&&S(w,b)),_=!!(l&&Se(w,l,a)),q=!!(c&&Se(w,c,a))||N||O||!d&&!i&&E||d&&i===!1&&E,G=f(w,u);E&&x.outside.push(y),_&&x.disabled.push(y),q&&x.hidden.push(y),G&&x.today.push(y),o&&Object.keys(o).forEach(Y=>{const I=o?.[Y];I&&Se(w,I,a)&&(h[Y]?h[Y].push(y):h[Y]=[y])})}return y=>{const w={[L.focused]:!1,[L.disabled]:!1,[L.hidden]:!1,[L.outside]:!1,[L.today]:!1},j={};for(const E in x){const N=x[E];w[E]=N.some(O=>O===y)}for(const E in h)j[E]=h[E].some(N=>N===y);return{...w,...j}}}function Po(e,t,n={}){return Object.entries(e).filter(([,a])=>a===!0).reduce((a,[l])=>(n[l]?a.push(n[l]):t[L[l]]?a.push(t[L[l]]):t[ce[l]]&&a.push(t[ce[l]]),a),[t[T.Day]])}function Io(e){return{...Fo,...e}}function Bo(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 Xt(){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 fs(e,t,n){return(n??new re(t)).formatMonthYear(e)}const Ko=fs;function Vo(e,t,n){return(n??new re(t)).format(e,"d")}function Uo(e,t=pe){return t.format(e,"LLLL")}function $o(e,t,n){return(n??new re(t)).format(e,"cccccc")}function Ho(e,t=pe){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function Lo(){return""}function hs(e,t=pe){return t.format(e,"yyyy")}const qo=hs,Jo=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:fs,formatDay:Vo,formatMonthCaption:Ko,formatMonthDropdown:Uo,formatWeekNumber:Ho,formatWeekNumberHeader:Lo,formatWeekdayName:$o,formatYearCaption:qo,formatYearDropdown:hs},Symbol.toStringTag,{value:"Module"}));function Go(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...Jo,...e}}function Zt(e,t,n,s){let a=(s??new re(n)).format(e,"PPPP");return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a}const Qo=Zt;function en(e,t,n){return(n??new re(t)).formatMonthYear(e)}const Xo=en;function ms(e,t,n,s){let a=(s??new re(n)).format(e,"PPPP");return t?.today&&(a=`Today, ${a}`),a}function gs(e){return"Choose the Month"}function xs(){return""}const Zo="Go to the Next Month";function ps(e,t){return Zo}function ys(e){return"Go to the Previous Month"}function bs(e,t,n){return(n??new re(t)).format(e,"cccc")}function Cs(e,t){return`Week ${e}`}function ws(e){return"Week Number"}function vs(e){return"Choose the Year"}const el=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:Xo,labelDay:Qo,labelDayButton:Zt,labelGrid:en,labelGridcell:ms,labelMonthDropdown:gs,labelNav:xs,labelNext:ps,labelPrevious:ys,labelWeekNumber:Cs,labelWeekNumberHeader:ws,labelWeekday:bs,labelYearDropdown:vs},Symbol.toStringTag,{value:"Module"})),ie=(e,t,n)=>t||(n?typeof n=="function"?n:(...s)=>n:e);function tl(e,t){const n=t.locale?.labels??{};return{...el,...e??{},labelDayButton:ie(Zt,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:ie(gs,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:ie(ps,e?.labelNext,n.labelNext),labelPrevious:ie(ys,e?.labelPrevious,n.labelPrevious),labelWeekNumber:ie(Cs,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:ie(vs,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:ie(en,e?.labelGrid,n.labelGrid),labelGridcell:ie(ms,e?.labelGridcell,n.labelGridcell),labelNav:ie(xs,e?.labelNav,n.labelNav),labelWeekNumberHeader:ie(ws,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:ie(bs,e?.labelWeekday,n.labelWeekday)}}function nl(e,t,n,s,a){const{startOfMonth:l,startOfYear:c,endOfYear:o,eachMonthOfInterval:i,getMonth:d}=a;return i({start:c(e),end:o(e)}).map(m=>{const p=s.formatMonthDropdown(m,a),C=d(m),k=t&&m<l(t)||n&&m>l(n)||!1;return{value:C,label:p,disabled:k}})}function sl(e,t={},n={}){let s={...t?.[T.Day]};return Object.entries(e).filter(([,a])=>a===!0).forEach(([a])=>{s={...s,...n?.[a]}}),s}function rl(e,t,n,s){const a=s??e.today(),l=n?e.startOfBroadcastWeek(a,e):t?e.startOfISOWeek(a):e.startOfWeek(a),c=[];for(let o=0;o<7;o++){const i=e.addDays(l,o);c.push(i)}return c}function al(e,t,n,s,a=!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 a&&f.reverse(),f.map(m=>{const p=n.formatYearDropdown(m,s);return{value:i(m),label:p,disabled:!1}})}function ol(e,t={}){const{weekStartsOn:n,locale:s}=t,a=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??a,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??a)+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 qt(d,{weekStartsOn:i?.weekStartsOn??a,firstWeekContainsDate:i?.firstWeekContainsDate??s?.options?.firstWeekContainsDate??1})},getISOWeek:o=>{const i=c(o);return Lt(i)},differenceInCalendarDays:(o,i)=>{const d=c(o),u=c(i);return Ht(d,u)},differenceInCalendarMonths:(o,i)=>{const d=c(o),u=c(i);return Zn(d,u)}}}const ct=e=>e instanceof HTMLElement?e:null,Rt=e=>[...e.querySelectorAll("[data-animated-month]")??[]],ll=e=>ct(e.querySelector("[data-animated-month]")),At=e=>ct(e.querySelector("[data-animated-caption]")),Wt=e=>ct(e.querySelector("[data-animated-weeks]")),il=e=>ct(e.querySelector("[data-animated-nav]")),cl=e=>ct(e.querySelector("[data-animated-weekdays]"));function dl(e,t,{classNames:n,months:s,focused:a,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],p=f?n[ne.weeks_after_enter]:n[ne.weeks_before_enter],C=c.current,k=e.current.cloneNode(!0);if(k instanceof HTMLElement?(Rt(k).forEach(x=>{if(!(x instanceof HTMLElement))return;const h=ll(x);h&&x.contains(h)&&x.removeChild(h);const y=At(x);y&&y.classList.remove(m);const w=Wt(x);w&&w.classList.remove(p)}),c.current=k):c.current=null,i.current||u||a)return;const S=C instanceof HTMLElement?Rt(C):[],v=Rt(e.current);if(v?.every(b=>b instanceof HTMLElement)&&S&&S.every(b=>b instanceof HTMLElement)){i.current=!0,e.current.style.isolation="isolate";const b=il(e.current);b&&(b.style.zIndex="1"),v.forEach((x,h)=>{const y=S[h];if(!y)return;x.style.position="relative",x.style.overflow="hidden";const w=At(x);w&&w.classList.add(m);const j=Wt(x);j&&j.classList.add(p);const E=()=>{i.current=!1,e.current&&(e.current.style.isolation=""),b&&(b.style.zIndex=""),w&&w.classList.remove(m),j&&j.classList.remove(p),x.style.position="",x.style.overflow="",x.contains(y)&&x.removeChild(y)};y.style.pointerEvents="none",y.style.position="absolute",y.style.overflow="hidden",y.setAttribute("aria-hidden","true");const N=cl(y);N&&(N.style.opacity="0");const O=At(y);O&&(O.classList.add(f?n[ne.caption_before_exit]:n[ne.caption_after_exit]),O.addEventListener("animationend",E));const _=Wt(y);_&&_.classList.add(f?n[ne.weeks_before_exit]:n[ne.weeks_after_exit]),x.insertBefore(y,x.firstChild)})}})}function ul(e,t,n,s){const a=e[0],l=e[e.length-1],{ISOWeek:c,fixedWeeks:o,broadcastCalendar:i}=n??{},{addDays:d,differenceInCalendarDays:u,differenceInCalendarMonths:f,endOfBroadcastWeek:m,endOfISOWeek:p,endOfMonth:C,endOfWeek:k,isAfter:S,startOfBroadcastWeek:v,startOfISOWeek:b,startOfWeek:x}=s,h=i?v(a,s):c?b(a):x(a),y=i?m(l):c?p(C(l)):k(C(l)),w=t&&(i?m(t):c?p(t):k(t)),j=w&&S(y,w)?w:y,E=u(j,h),N=f(l,a)+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 fl(e){const t=[];return e.reduce((n,s)=>{const a=s.weeks.reduce((l,c)=>l.concat(c.days.slice()),t.slice());return n.concat(a.slice())},t.slice())}function hl(e,t,n,s){const{numberOfMonths:a=1}=n,l=[];for(let c=0;c<a;c++){const o=s.addMonths(e,c);if(t&&o>t)break;l.push(o)}return l}function bn(e,t,n,s){const{month:a,defaultMonth:l,today:c=s.today(),numberOfMonths:o=1}=e;let i=a||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 ml(e,t,n,s){const{addDays:a,endOfBroadcastWeek:l,endOfISOWeek:c,endOfMonth:o,endOfWeek:i,getISOWeek:d,getWeek:u,startOfBroadcastWeek:f,startOfISOWeek:m,startOfWeek:p}=s,C=e.reduce((k,S)=>{const v=n.broadcastCalendar?f(S,s):n.ISOWeek?m(S):p(S),b=n.broadcastCalendar?l(S):n.ISOWeek?c(o(S)):i(o(S)),x=t.filter(j=>j>=v&&j<=b),h=n.broadcastCalendar?35:42;if(n.fixedWeeks&&x.length<h){const j=t.filter(E=>{const N=h-x.length;return E>b&&E<=a(b,N)});x.push(...j)}const y=x.reduce((j,E)=>{const N=n.ISOWeek?d(E):u(E),O=j.find(q=>q.weekNumber===N),_=new is(E,S,s);return O?O.days.push(_):j.push(new co(N,[_])),j},[]),w=new io(S,y);return k.push(w),k},[]);return n.reverseMonths?C.reverse():C}function gl(e,t){let{startMonth:n,endMonth:s}=e;const{startOfYear:a,startOfDay:l,startOfMonth:c,endOfMonth:o,addYears:i,endOfYear:d,newDate:u,today:f}=t,{fromYear:m,toYear:p,fromMonth:C,toMonth:k}=e;!n&&C&&(n=C),!n&&m&&(n=t.newDate(m,0,1)),!s&&k&&(s=k),!s&&p&&(s=u(p,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=a(i(e.today??f(),-100))),s?s=o(s):p?s=u(p,11,31):!s&&S&&(s=d(e.today??f())),[n&&l(n),s&&l(s)]}function xl(e,t,n,s){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:l=1}=n,{startOfMonth:c,addMonths:o,differenceInCalendarMonths:i}=s,d=a?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:a,numberOfMonths:l}=n,{startOfMonth:c,addMonths:o,differenceInCalendarMonths:i}=s,d=a?l??1:1,u=c(e);if(!t)return o(u,-d);if(!(i(u,t)<=0))return o(u,-d)}function yl(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 bl(e,t){const[n,s]=gl(e,t),{startOfMonth:a,endOfMonth:l}=t,c=bn(e,n,s,t),[o,i]=Ct(c,e.month?c:void 0);g.useEffect(()=>{const h=bn(e,n,s,t);i(h)},[e.timeZone]);const{months:d,weeks:u,days:f,previousMonth:m,nextMonth:p}=g.useMemo(()=>{const h=hl(o,s,{numberOfMonths:e.numberOfMonths},t),y=ul(h,e.endMonth?l(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),w=ml(h,y,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),j=yl(w),E=fl(w),N=pl(o,n,e,t),O=xl(o,s,e,t);return{months:w,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:C,onMonthChange:k}=e,S=h=>u.some(y=>y.days.some(w=>w.isEqualTo(h))),v=h=>{if(C)return;let y=a(h);n&&y<a(n)&&(y=a(n)),s&&y>a(s)&&(y=a(s)),i(y),k?.(y)};return{months:d,weeks:u,days:f,navStart:n,navEnd:s,previousMonth:m,nextMonth:p,goToMonth:v,goToDay:h=>{S(h)||v(h.date)}}}var ue;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(ue||(ue={}));function Cn(e){return!e[L.disabled]&&!e[L.hidden]&&!e[L.outside]}function Cl(e,t,n,s){let a,l=-1;for(const c of e){const o=t(c);Cn(o)&&(o[L.focused]&&l<ue.FocusedModifier?(a=c,l=ue.FocusedModifier):s?.isEqualTo(c)&&l<ue.LastFocused?(a=c,l=ue.LastFocused):n(c.date)&&l<ue.Selected?(a=c,l=ue.Selected):o[L.today]&&l<ue.Today&&(a=c,l=ue.Today))}return a||(a=e.find(c=>Cn(t(c)))),a}function wl(e,t,n,s,a,l,c){const{ISOWeek:o,broadcastCalendar:i}=l,{addDays:d,addMonths:u,addWeeks:f,addYears:m,endOfBroadcastWeek:p,endOfISOWeek:C,endOfWeek:k,max:S,min:v,startOfBroadcastWeek:b,startOfISOWeek:x,startOfWeek:h}=c;let w={day:d,week:f,month:u,year:m,startOfWeek:j=>i?b(j,c):o?x(j):h(j),endOfWeek:j=>i?p(j):o?C(j):k(j)}[e](n,t==="after"?1:-1);return t==="before"&&s?w=S([s,w]):t==="after"&&a&&(w=v([a,w])),w}function Ss(e,t,n,s,a,l,c,o=0){if(o>365)return;const i=wl(e,t,n.date,s,a,l,c),d=!!(l.disabled&&Se(i,l.disabled,c)),u=!!(l.hidden&&Se(i,l.hidden,c)),f=i,m=new is(i,f,c);return!d&&!u?m:Ss(e,t,m,s,a,l,c,o+1)}function vl(e,t,n,s,a){const{autoFocus:l}=e,[c,o]=g.useState(),i=Cl(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=Ss(k,S,d,t.navStart,t.navEnd,e,a);v&&(e.disableNavigation&&!t.days.some(x=>x.isEqualTo(v))||(t.goToDay(v),u(v)))}}}function Sl(e,t){const{selected:n,required:s,onSelect:a}=e,[l,c]=Ct(n,a?n:void 0),o=a?n:l,{isSameDay:i}=t,d=p=>o?.some(C=>i(C,p))??!1,{min:u,max:f}=e;return{selected:o,select:(p,C,k)=>{let S=[...o??[]];if(d(p)){if(o?.length===u||s&&o?.length===1)return;S=o?.filter(v=>!i(v,p))}else o?.length===f?S=[p]:S=[...S,p];return a||c(S),a?.(S,p,C,k),S},isSelected:d}}function kl(e,t,n=0,s=0,a=!1,l=pe){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}:a?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))a?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 jl(e,t,n=pe){const s=Array.isArray(t)?t:[t];let a=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(a.getDay()))return!0;a=n.addDays(a,1)}return!1}function wn(e,t,n=pe){return ve(e,t.from,!1,n)||ve(e,t.to,!1,n)||ve(t,e.from,!1,n)||ve(t,e.to,!1,n)}function Nl(e,t,n=pe){const s=Array.isArray(t)?t:[t];if(s.filter(o=>typeof o!="function").some(o=>typeof o=="boolean"?o:n.isDate(o)?ve(e,o,!1,n):us(o,n)?o.some(i=>ve(e,i,!1,n)):bt(o)?o.from&&o.to?wn(e,{from:o.from,to:o.to},n):!1:ds(o)?jl(e,o.dayOfWeek,n):Jt(o)?n.isAfter(o.before,o.after)?wn(e,{from:n.addDays(o.after,1),to:n.addDays(o.before,-1)},n):Se(e.from,o,n)||Se(e.to,o,n):Gt(o)||Qt(o)?Se(e.from,o,n)||Se(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 Dl(e,t){const{disabled:n,excludeDisabled:s,selected:a,required:l,onSelect:c}=e,[o,i]=Ct(a,c?a:void 0),d=c?a:o;return{selected:d,select:(m,p,C)=>{const{min:k,max:S}=e,v=m?kl(m,d,k,S,l,t):void 0;return s&&n&&v?.from&&v.to&&Nl({from:v.from,to:v.to},n,t)&&(v.from=m,v.to=void 0),c||i(v),c?.(v,m,p,C),v},isSelected:m=>d&&ve(d,m,!1,t)}}function El(e,t){const{selected:n,required:s,onSelect:a}=e,[l,c]=Ct(n,a?n:void 0),o=a?n:l,{isSameDay:i}=t;return{selected:o,select:(f,m,p)=>{let C=f;return!s&&o&&o&&i(f,o)&&(C=void 0),a||c(C),a?.(C,f,m,p),C},isSelected:f=>o?i(o,f):!1}}function Ol(e,t){const n=El(e,t),s=Sl(e,t),a=Dl(e,t);switch(e.mode){case"single":return n;case"multiple":return s;case"range":return a;default:return}}function oe(e,t){return e instanceof X&&e.timeZone===t?e:new X(e,t)}function Ye(e,t,n){return oe(e,t)}function vn(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?Ye(e,t):Array.isArray(e)?e.map(s=>s instanceof Date?Ye(s,t):s):bt(e)?{...e,from:e.from?oe(e.from,t):e.from,to:e.to?oe(e.to,t):e.to}:Jt(e)?{before:Ye(e.before,t),after:Ye(e.after,t)}:Gt(e)?{after:Ye(e.after,t)}:Qt(e)?{before:Ye(e.before,t)}:e}function zt(e,t,n){return e&&(Array.isArray(e)?e.map(s=>vn(s,t)):vn(e,t))}function Ml(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:a,labels:l,dateLib:c,locale:o,classNames:i}=g.useMemo(()=>{const F={...ls,...t.locale},U=t.broadcastCalendar?1:t.weekStartsOn,z=t.noonSafe&&t.timeZone?ol(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:Io(t.components),formatters:Go(t.formatters),labels:tl(t.labels,te.options),locale:F,classNames:{...Xt(),...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:p,onDayClick:C,onDayFocus:k,onDayKeyDown:S,onDayMouseEnter:v,onDayMouseLeave:b,onNextClick:x,onPrevClick:h,showWeekNumber:y,styles:w}=t,{formatCaption:j,formatDay:E,formatMonthDropdown:N,formatWeekNumber:O,formatWeekNumberHeader:_,formatWeekdayName:q,formatYearDropdown:G}=a,Y=bl(t,c),{days:I,months:A,navStart:Q,navEnd:Qe,previousMonth:Z,nextMonth:ee,goToMonth:be}=Y,kt=Yo(I,t,Q,Qe,c),{isSelected:jt,select:Nt,selected:dt}=Ol(t,c)??{},{blur:nn,focused:sn,isFocusTarget:Ms,moveFocus:rn,setFocused:ut}=vl(t,Y,kt,jt??(()=>!1),c),{labelDayButton:Ts,labelGridcell:_s,labelGrid:Rs,labelMonthDropdown:As,labelNav:an,labelPrevious:Ws,labelNext:zs,labelWeekday:Fs,labelWeekNumber:Ys,labelWeekNumberHeader:Ps,labelYearDropdown:Is}=l,Bs=g.useMemo(()=>rl(c,t.ISOWeek,t.broadcastCalendar,t.today),[c,t.ISOWeek,t.broadcastCalendar,t.today]),on=u!==void 0||C!==void 0,Dt=g.useCallback(()=>{Z&&(be(Z),h?.(Z))},[Z,be,h]),Et=g.useCallback(()=>{ee&&(be(ee),x?.(ee))},[be,ee,x]),Ks=g.useCallback((F,U)=>z=>{z.preventDefault(),z.stopPropagation(),ut(F),!U.disabled&&(Nt?.(F.date,U,z),C?.(F.date,U,z))},[Nt,C,ut]),Vs=g.useCallback((F,U)=>z=>{ut(F),k?.(F.date,U,z)},[k,ut]),Us=g.useCallback((F,U)=>z=>{nn(),p?.(F.date,U,z)},[nn,p]),$s=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];rn(te,K)}S?.(F.date,U,z)},[rn,S,t.dir]),Hs=g.useCallback((F,U)=>z=>{v?.(F.date,U,z)},[v]),Ls=g.useCallback((F,U)=>z=>{b?.(F.date,U,z)},[b]),qs=g.useCallback(F=>U=>{const z=Number(U.target.value),V=c.setMonth(c.startOfMonth(F),z);be(V)},[c,be]),Js=g.useCallback(F=>U=>{const z=Number(U.target.value),V=c.setYear(c.startOfMonth(F),z);be(V)},[c,be]),{className:Gs,style:Qs}=g.useMemo(()=>({className:[i[T.Root],t.className].filter(Boolean).join(" "),style:{...w?.[T.Root],...t.style}}),[i,t.className,t.style,w]),Xs=Bo(t),ln=g.useRef(null);dl(ln,!!t.animate,{classNames:i,months:A,focused:sn,dateLib:c});const Zs={dayPickerProps:t,selected:dt,select:Nt,isSelected:jt,months:A,nextMonth:ee,previousMonth:Z,goToMonth:be,getModifiers:kt,components:s,classNames:i,styles:w,labels:l,formatters:a};return D.createElement(cs.Provider,{value:Zs},D.createElement(s.Root,{rootRef:t.animate?ln:void 0,className:Gs,style:Qs,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"],...Xs},D.createElement(s.Months,{className:i[T.Months],style:w?.[T.Months]},!t.hideNavigation&&!f&&D.createElement(s.Nav,{"data-animated-nav":t.animate?"true":void 0,className:i[T.Nav],style:w?.[T.Nav],"aria-label":an(),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:w?.[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":Ws(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:w?.[T.MonthCaption],calendarMonth:F,displayIndex:U},d?.startsWith("dropdown")?D.createElement(s.DropdownNav,{className:i[T.Dropdowns],style:w?.[T.Dropdowns]},(()=>{const z=d==="dropdown"||d==="dropdown-months"?D.createElement(s.MonthsDropdown,{key:"month",className:i[T.MonthsDropdown],"aria-label":As(),classNames:i,components:s,disabled:!!t.disableNavigation,onChange:qs(F.date),options:nl(F.date,Q,Qe,a,c),style:w?.[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":Is(c.options),classNames:i,components:s,disabled:!!t.disableNavigation,onChange:Js(F.date),options:al(Q,Qe,a,c,!!t.reverseYears),style:w?.[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":zs(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:w?.[T.Nav],"aria-label":an(),onPreviousClick:Dt,onNextClick:Et,previousMonth:Z,nextMonth:ee}),D.createElement(s.MonthGrid,{role:"grid","aria-multiselectable":u==="multiple"||u==="range","aria-label":Rs(F.date,c.options,c)||void 0,className:i[T.MonthGrid],style:w?.[T.MonthGrid]},!t.hideWeekdays&&D.createElement(s.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:i[T.Weekdays],style:w?.[T.Weekdays]},y&&D.createElement(s.WeekNumberHeader,{"aria-label":Ps(c.options),className:i[T.WeekNumberHeader],style:w?.[T.WeekNumberHeader],scope:"col"},_()),Bs.map(z=>D.createElement(s.Weekday,{"aria-label":Fs(z,c.options,c),className:i[T.Weekday],key:String(z),style:w?.[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:w?.[T.Weeks]},F.weeks.map(z=>D.createElement(s.Week,{className:i[T.Week],key:z.weekNumber,style:w?.[T.Week],week:z},y&&D.createElement(s.WeekNumber,{week:z,style:w?.[T.WeekNumber],"aria-label":Ys(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&&!!sn?.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]=ve(dt,te,!0,c)}const er=sl(K,w,t.modifiersStyles),tr=Po(K,i,t.modifiersClassNames),nr=!on&&!K.hidden?_s(te,K,c.options,c):void 0;return D.createElement(s.Day,{key:`${V.isoDate}_${V.displayMonthId}`,day:V,modifiers:K,className:tr.join(" "),style:er,role:"gridcell","aria-selected":K.selected||void 0,"aria-label":nr,"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&&on?D.createElement(s.DayButton,{className:i[T.DayButton],style:w?.[T.DayButton],type:"button",day:V,modifiers:K,disabled:!K.focused&&K.disabled||void 0,"aria-disabled":K.focused&&K.disabled||void 0,tabIndex:Ms(V)?0:-1,"aria-label":Ts(te,K,c.options,c),onClick:Ks(V,K),onBlur:Us(V,K),onFocus:Vs(V,K),onKeyDown:$s(V,K),onMouseEnter:Hs(V,K),onMouseLeave:Ls(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:w?.[T.Footer],role:"status","aria-live":"polite"},t.footer)))}function Tl({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:s="label",buttonVariant:a="ghost",formatters:l,components:c,...o}){const i=Xt();return r.jsx(Ml,{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(cn({variant:a}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",i.button_previous),button_next:W(cn({variant:a}),"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})=>r.jsx("div",{"data-slot":"calendar",ref:u,className:W(d),...f}),Chevron:({className:d,orientation:u,...f})=>u==="left"?r.jsx(Rn,{className:W("size-4",d),...f}):u==="right"?r.jsx(An,{className:W("size-4",d),...f}):r.jsx($t,{className:W("size-4",d),...f}),DayButton:_l,WeekNumber:({children:d,...u})=>r.jsx("td",{...u,children:r.jsx("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:d})}),...c},...o})}function _l({className:e,day:t,modifiers:n,...s}){const a=Xt(),l=g.useRef(null);return g.useEffect(()=>{n.focused&&l.current?.focus()},[n.focused]),r.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",a.day,e),...s})}function mt({value:e,onChange:t,placeholder:n="Pick a date",className:s,disabled:a,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,p=e?e.getMinutes():0,C=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)},b=j=>{const E=Ve(new Date);switch(j){case"NULL":t?.(null);break;case"NOW":t?.(new Date);break;case"TODAY":t?.(E);break;case"YESTERDAY":t?.(xt(E,-1));break;case"TOMORROW":t?.(xt(E,1));break}},x=Array.from({length:24},(j,E)=>E),h=Array.from({length:60},(j,E)=>E),y=Array.from({length:60},(j,E)=>E),w=e&&e instanceof Date&&!Number.isNaN(e.getTime())?i?d?we(e,"dd/MM/yyyy HH:mm:ss"):we(e,"dd/MM/yyyy"):d?we(e,"yyyy-MM-dd HH:mm:ss"):we(e,"yyyy-MM-dd"):e===null?"NULL":n;return r.jsxs(Ue,{open:u,onOpenChange:f,children:[r.jsx(pt,{asChild:!0,children:r.jsxs(R,{variant:"outline",className:W("w-[280px] justify-start text-left font-normal",!e&&"text-muted-foreground",s),disabled:a,children:[o&&r.jsx(gr,{className:"mr-2 h-4 w-4"}),w]})}),r.jsx($e,{className:"w-auto p-0",align:"end",children:r.jsxs("div",{className:"flex",children:[r.jsxs("div",{className:"flex flex-col gap-1 p-2 border-r",children:[r.jsx(R,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>b("NULL"),children:"NULL"}),r.jsx(R,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>b("NOW"),children:"NOW"}),r.jsx(R,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>b("TODAY"),children:"TODAY"}),r.jsx(R,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>b("YESTERDAY"),children:"YESTERDAY"}),r.jsx(R,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>b("TOMORROW"),children:"TOMORROW"})]}),r.jsx(Tl,{components:{Dropdown:j=>r.jsxs(he,{onValueChange:E=>{j.onChange&&k(E,j.onChange)},value:String(j.value),children:[r.jsx(me,{className:"h-8 w-fit font-medium first-letter:capitalize focus:ring-0 focus:ring-offset-0",children:r.jsx(ge,{})}),r.jsx(xe,{children:j.options?.map(E=>r.jsx(B,{value:String(E.value),children:E.label},E.value))})]}),DropdownNav:j=>r.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&&r.jsxs("div",{className:"flex border-l",children:[r.jsx(Ft,{label:"H",values:x,selected:m,onChange:j=>v("hours",j)}),r.jsx(Ft,{label:"M",values:h,selected:p,onChange:j=>v("minutes",j)}),r.jsx(Ft,{label:"S",values:y,selected:C,onChange:j=>v("seconds",j)})]})]})})]})}function Ft({label:e,values:t,selected:n,onChange:s}){const a=g.useRef(new Map);return g.useEffect(()=>{const l=a.current.get(n);l&&l.scrollIntoView({block:"center",behavior:"auto"})},[n]),r.jsxs("div",{className:"flex flex-col",children:[r.jsx("div",{className:"px-3 py-2 text-xs font-medium text-muted-foreground text-center border-b",children:e}),r.jsx(Nr,{className:"h-[224px]",children:r.jsx("div",{className:"flex flex-col p-1",children:t.map(l=>r.jsx("button",{ref:c=>{c&&a.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"),Rl=({columnName:e,dataTypeLabel:t,columnDefault:n,enumValues:s,isForeignKey:a,referencedTable:l,referencedColumn:c})=>{const[,o]=P(M.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),{control:i}=Mn(),{openSheet:d,setRecordReference:u}=de(),f=m=>{const p={...m,value:m.value??""};return a?r.jsxs("div",{className:"flex flex-col gap-2",children:[r.jsxs("div",{className:"flex",children:[r.jsx(ae,{id:e,placeholder:n??"",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10",...p}),r.jsx(Xe,{delayDuration:0,children:r.jsxs(Me,{children:[r.jsx(Te,{asChild:!0,children:r.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:r.jsx(Wn,{"aria-hidden":"true",className:"size-4",size:16})})}),r.jsx(_e,{className:"px-2 py-1 text-xs",children:"Go to table"})]})})]}),r.jsxs("span",{className:"text-xs text-muted-foreground",children:["Has a foreign key relation to"," ",r.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"?r.jsx(ae,{id:e,type:"number",placeholder:n??"0",...p}):t==="boolean"?r.jsxs(he,{value:m.value,onValueChange:C=>m.onChange(C),children:[r.jsx(me,{className:"w-full",children:r.jsx(ge,{placeholder:n??"true"})}),r.jsxs(xe,{children:[r.jsx(B,{value:"true",children:"true"}),r.jsx(B,{value:"false",children:"false"})]})]}):t==="text"||t==="xml"?r.jsx(ke,{id:e,placeholder:n??"",rows:4,...p}):t==="json"||t==="jsonb"?r.jsx(ke,{id:e,placeholder:n??'{"key": "value"}',rows:6,...p}):t==="date"?r.jsxs("div",{className:"flex",children:[r.jsx(mt,{value:m.value?new Date(m.value):m.value===""?null:void 0,onChange:C=>m.onChange(C?C.toISOString().split("T")[0]:""),placeholder:n??"Select a date",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10"}),r.jsx(Xe,{delayDuration:0,children:r.jsxs(Me,{children:[r.jsx(Te,{asChild:!0,children:r.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 C=new Date().toISOString().split("T")[0];m.onChange(C)},children:r.jsx(Tt,{"aria-hidden":"true",className:"size-4",size:16})})}),r.jsx(_e,{className:"px-2 py-1 text-xs",children:"Set to now"})]})})]}):t==="timestamptz"?r.jsxs("div",{className:"flex",children:[r.jsx(mt,{value:m.value?new Date(m.value):m.value===""?null:void 0,onChange:C=>m.onChange(C?C.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"}),r.jsx(Xe,{delayDuration:0,children:r.jsxs(Me,{children:[r.jsx(Te,{asChild:!0,children:r.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 C=new Date().toISOString();m.onChange(C)},children:r.jsx(Tt,{"aria-hidden":"true",className:"size-4",size:16})})}),r.jsx(_e,{className:"px-2 py-1 text-xs",children:"Set to now"})]})})]}):t==="timestamp"?r.jsxs("div",{className:"flex",children:[r.jsx(mt,{value:m.value?new Date(m.value):m.value===""?null:void 0,onChange:C=>m.onChange(C?C.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"}),r.jsx(Xe,{delayDuration:0,children:r.jsxs(Me,{children:[r.jsx(Te,{asChild:!0,children:r.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 C=new Date,k=C.getFullYear(),S=ft(C.getMonth()+1).padStart(2,"0"),v=ft(C.getDate()).padStart(2,"0"),b=ft(C.getHours()).padStart(2,"0"),x=ft(C.getMinutes()).padStart(2,"0");m.onChange(`${k}-${S}-${v}T${b}:${x}`)},children:r.jsx(Tt,{"aria-hidden":"true",className:"size-4",size:16})})}),r.jsx(_e,{className:"px-2 py-1 text-xs",children:"Set to now"})]})})]}):t==="uuid"?r.jsxs("div",{className:"flex",children:[r.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",...p}),r.jsx(Xe,{delayDuration:0,children:r.jsxs(Me,{children:[r.jsx(Te,{asChild:!0,children:r.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 C=crypto.randomUUID();m.onChange(C)},children:r.jsx(zn,{"aria-hidden":"true",className:"size-4",size:16})})}),r.jsx(_e,{className:"px-2 py-1 text-xs",children:"Generate UUID"})]})})]}):t==="array"?r.jsx(ke,{id:e,placeholder:n??'["item1", "item2"]',rows:3,...p}):t==="enum"?s&&s.length>0?r.jsxs(he,{value:m.value,onValueChange:C=>m.onChange(C),children:[r.jsx(me,{className:"w-full",children:r.jsx(ge,{placeholder:n??"Select a value"})}),r.jsx(xe,{children:s.map(C=>r.jsx(B,{value:C,children:C},C))})]}):r.jsx(ae,{id:e,placeholder:n??"",...p}):t==="interval"?r.jsx(ae,{id:e,type:"text",placeholder:n??"1 day",...p}):t==="bytea"?r.jsx(ae,{id:e,type:"file",...p}):t==="inet"||t==="cidr"||t==="macaddr"||t==="macaddr8"?r.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",...p}):t==="point"||t==="line"||t==="polygon"?r.jsx(ae,{id:e,type:"text",placeholder:t==="point"?"(x,y)":t==="line"?"{A,B,C}":"((x1,y1),(x2,y2),...)",...p}):r.jsx(ae,{id:e,type:"text",placeholder:n??"",...p})};return r.jsx(or,{control:i,name:e,render:({field:m})=>r.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[r.jsxs("div",{className:"col-span-1 flex flex-col gap-1",children:[r.jsx(le,{htmlFor:e,children:e}),r.jsx("span",{className:"text-xs text-muted-foreground",children:t})]}),r.jsx("div",{className:"col-span-2 w-full",children:f(m)})]})},e)},Al=({tableName:e})=>{const[t,n]=P(M.REFERENCED_TABLE_STATE_KEYS.FILTERS,Ie(x=>x).withDefault([]).withOptions({history:"push"})),[,s]=P(M.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,a]=P(M.REFERENCED_TABLE_STATE_KEYS.DIRECTION),{tableCols:l}=Ee({tableName:e}),[c,o]=g.useState(!1),[i,d]=g.useState([]),u=()=>{const x=l?.[0]?.columnName??"";d([...i,{columnName:x,operator:"=",value:""}])},f=x=>{d(i.filter((h,y)=>y!==x))},m=(x,h)=>{d(i.map((y,w)=>w===x?{...y,columnName:h}:y))},p=(x,h)=>{d(i.map((y,w)=>w===x?{...y,value:h}:y))},C=(x,h)=>{d(i.map((y,w)=>w===x?{...y,operator:h}:y))},k=()=>{d([]),n([]),s(null),a(null),o(!1)},S=()=>{const x=i.filter(h=>h.columnName&&h.operator&&h.value!=="");n(x),s(null),a(null),o(!1)},v=t.length>0,b=x=>{x&&d(t),o(x)};return r.jsxs(Ue,{open:c,onOpenChange:b,children:[r.jsx(pt,{asChild:!0,children:r.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:[r.jsx(Fn,{className:"size-4"}),"Filter",v&&r.jsx(je,{className:"text-[10px] font-normal text-white bg-primary/10 border border-primary/90 px-1.5 py-0.5",children:t.length})]})}),r.jsxs($e,{className:"w-md space-y-2",align:"start",children:[r.jsx("div",{className:"flex items-center gap-4",children:r.jsxs(R,{variant:"outline",size:"lg",className:"text-sm",onClick:u,children:["Add filter",i&&i.length>0&&r.jsx(je,{className:"text-xs font-normal text-white bg-primary/10 border border-primary/90 px-1.5 py-0.5",children:i.length})]})}),r.jsx("div",{className:"flex flex-col gap-4",children:i.length>0?i.map((x,h)=>r.jsxs("div",{className:"flex-1 flex h-9 gap-2",children:[r.jsxs(he,{value:x.columnName,onValueChange:y=>m(h,y),children:[r.jsx(me,{className:"w-full flex-1",children:r.jsx(ge,{placeholder:"Select column"})}),r.jsx(xe,{children:l?.map(y=>r.jsx(B,{value:y.columnName,children:y.columnName},y.columnName))})]}),r.jsxs(he,{value:x.operator,onValueChange:y=>C(h,y),children:[r.jsx(me,{children:r.jsx(ge,{placeholder:"Op"})}),r.jsxs(xe,{children:[r.jsx(B,{value:"=",children:"="}),r.jsx(B,{value:"!=",children:"!="}),r.jsx(B,{value:">",children:">"}),r.jsx(B,{value:">=",children:">="}),r.jsx(B,{value:"<",children:"<"}),r.jsx(B,{value:"<=",children:"<="}),r.jsx(B,{value:"is",children:"is"}),r.jsx(B,{value:"is not",children:"is not"}),r.jsx(B,{value:"like",children:"like"}),r.jsx(B,{value:"not like",children:"not like"}),r.jsx(B,{value:"ilike",children:"ilike"}),r.jsx(B,{value:"not ilike",children:"not ilike"})]})]}),r.jsx(ae,{type:"text",placeholder:"Value",value:x.value,onChange:y=>p(h,y.target.value)}),r.jsx(R,{variant:"ghost",size:"icon",className:"text-xs",onClick:()=>f(h),children:r.jsx(yt,{className:"size-4"})})]},h)):r.jsx("div",{className:"flex-1 flex h-9 gap-2 items-center justify-center",children:r.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"No filters applied"})})}),r.jsxs("div",{className:"gap-2 flex justify-end",children:[r.jsx(R,{variant:"outline",size:"lg",className:"text-sm",onClick:k,children:"Reset"}),r.jsx(R,{variant:"default",size:"lg",className:"text-sm",onClick:S,children:"Apply"})]})]})]})};function Wl({className:e,size:t="default",...n}){return r.jsx(sr,{"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:r.jsx(rr,{"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 zl=({tableName:e})=>{const{tableCols:t}=Ee({tableName:e}),[n,s]=P(M.REFERENCED_TABLE_STATE_KEYS.SORT,Ie(b=>b).withDefault([]).withOptions({history:"push"})),[,a]=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 b=t?.[0]?.columnName??"";d([...i,{columnName:b,direction:"asc"}])},f=b=>{d(i.filter((x,h)=>h!==b))},m=(b,x)=>{d(i.map((h,y)=>y===b?{...h,columnName:x}:h))},p=(b,x)=>{d(i.map((h,y)=>y===b?{...h,direction:x}:h))},C=()=>{d([]),s([]),a(null),l(null),o(!1)},k=()=>{const b=i.filter(x=>x.columnName);s(b),a(null),l(null),o(!1)},S=n.length>0,v=b=>{b&&d(n),o(b)};return r.jsxs(Ue,{open:c,onOpenChange:v,children:[r.jsx(pt,{asChild:!0,children:r.jsxs(R,{variant:"ghost",className:"border-r border-l-0 border-y-0 border-zinc-800 rounded-none text-xs h-full",children:[r.jsx(xr,{className:"size-4"}),"Sort",S&&r.jsx(je,{className:"text-[10px] font-normal text-white bg-primary/10 border border-primary/90 px-1.5 py-0.5",children:n.length})]})}),r.jsxs($e,{className:"w-md space-y-2",align:"start",children:[r.jsx("div",{className:"flex items-center gap-4",children:r.jsxs(R,{variant:"outline",size:"lg",className:"text-sm",onClick:u,children:["Add sort",i&&i.length>0&&r.jsx(je,{className:"text-xs font-normal text-white bg-primary/10 border border-primary/90 px-1.5 py-0.5",children:i.length})]})}),r.jsx("div",{className:"flex flex-col gap-4",children:i.length>0?i.map((b,x)=>r.jsxs("div",{className:"flex-1 flex h-9 gap-2 items-center",children:[r.jsxs(he,{value:b.columnName,onValueChange:h=>m(x,h),children:[r.jsx(me,{className:"w-full flex-1",children:r.jsx(ge,{placeholder:"Select column"})}),r.jsx(xe,{children:t?.map(h=>r.jsx(B,{value:h.columnName,children:h.columnName},h.columnName))})]}),r.jsxs("div",{className:"flex items-center space-x-2",children:[r.jsx(le,{htmlFor:`sort-direction-${x}`,children:"Asc"}),r.jsx(Wl,{id:`sort-direction-${x}`,checked:b.direction==="desc",onCheckedChange:h=>p(x,h?"desc":"asc")}),r.jsx(le,{htmlFor:`sort-direction-${x}`,children:"Desc"})]}),r.jsx(R,{variant:"ghost",size:"icon",className:"text-xs",onClick:()=>f(x),children:r.jsx(yt,{className:"size-4"})})]},x)):r.jsx("div",{className:"flex-1 flex h-9 gap-2 items-center justify-center",children:r.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"No sorts applied"})})}),r.jsxs("div",{className:"gap-2 flex justify-end",children:[r.jsx(R,{variant:"outline",size:"lg",className:"text-sm",onClick:C,children:"Reset"}),r.jsx(R,{variant:"default",size:"lg",className:"text-sm",onClick:k,children:"Apply"})]})]})]})};function Fl({className:e,...t}){return r.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:r.jsx("table",{"data-slot":"table",className:W("w-full caption-bottom text-xs",e),...t})})}function Yl({className:e,...t}){return r.jsx("thead",{"data-slot":"table-header",className:W("[&_tr]:border-b",e),...t})}function Pl({className:e,...t}){return r.jsx("tbody",{"data-slot":"table-body",className:W("[&_tr:last-child]:border-0",e),...t})}function Yt({className:e,...t}){return r.jsx("tr",{"data-slot":"table-row",className:W("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t})}function Il({className:e,...t}){return r.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 Sn({className:e,...t}){return r.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}=He(),[s]=P(M.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),a=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,Ie(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,Ie(v=>v).withDefault([]).withOptions({history:"push"})),{data:m,isLoading:p,isRefetching:C,refetch:k,error:S}=Rr({queryKey:[M.CACHE_KEYS.TABLE_DATA,a,l,c,o,t?JSON.stringify(i):d,u,JSON.stringify(f),n],queryFn:async()=>{const v=M.CACHE_KEYS.TABLE_DEFAULT_LIMIT.toString(),b={limit:c?.toString()||v,db:n??void 0};return l&&(b.cursor=l),o&&(b.direction=o),t?i&&i.length>0&&(b.sort=JSON.stringify(i)):(d&&(b.sort=d),u&&(b.order=u)),f&&f.length>0&&(b.filters=JSON.stringify(f)),await Le.get(`/tables/${a}/data`,{params:b})},select:v=>v.data.data,enabled:!!a});return{tableData:m,isLoadingTableData:p,isRefetchingTableData:C,errorTableData:S,refetchTableData:k}},Bl=({tableName:e,referencedColumn:t,columnName:n})=>{const{setValue:s}=Mn(),{closeSheet:a}=de(),{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),[p,C]=P(M.REFERENCED_TABLE_STATE_KEYS.LIMIT.toString());g.useEffect(()=>{e&&o!==e&&i(e),e&&!p&&C(M.REFERENCED_TABLE_STATE_KEYS.DEFAULT_LIMIT.toString())},[e,o,p,i,C]);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:y})=>r.jsx("div",{className:"font-medium max-w-[200px] truncate",children:Wr(y.getValue(h.columnName))})}))??[],[l]),b=Hn({columns:v??[],data:d?.data??[],getCoreRowModel:Ln()}),x=h=>{console.log(h.original[t??""]),s(n??"",h.original[t??""]),a("record-reference")};return c||u?r.jsx("div",{className:"flex items-center justify-center h-full",children:r.jsx(Tn,{size:"size-8"})}):r.jsxs("div",{children:[r.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:[r.jsxs("div",{className:"flex items-center h-full",children:[r.jsx(Al,{tableName:e}),r.jsx(zl,{tableName:e})]}),r.jsxs("div",{className:"flex items-center h-full",children:[r.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:r.jsx(pr,{className:"size-3"})}),r.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:r.jsx(yr,{className:"size-3"})})]})]}),r.jsxs(Fl,{children:[r.jsx(Yl,{children:b.getHeaderGroups().map(h=>r.jsx(Yt,{className:"hover:bg-transparent text-xs sticky top-0 right-0 left-0",children:h.headers.map(y=>r.jsx(Il,{className:"border-r border-zinc-800",children:y.isPlaceholder?null:nt(y.column.columnDef.header,y.getContext())},y.id))},h.id))}),r.jsx(Pl,{children:b.getRowModel().rows?.length?b.getRowModel().rows.map(h=>r.jsx(Yt,{className:"text-xs cursor-pointer",onClick:()=>x(h),children:h.getVisibleCells().map(y=>r.jsx(Sn,{className:"border-r border-zinc-800",children:nt(y.column.columnDef.cell,y.getContext())},y.id))},h.id)):r.jsx(Yt,{children:r.jsx(Sn,{className:"h-24 text-center",colSpan:v.length,children:"No results."})})})]})]})},Kl=()=>{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()),[,a]=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,Ie(u=>u).withDefault([]).withOptions({history:"push"})),{closeSheet:o,isSheetOpen:i,recordReferenceData:d}=de();return!d.tableName||!d.referencedColumn?null:r.jsx(qe,{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),a(null),l(null),c(null))},children:r.jsx(Bl,{tableName:d.tableName,referencedColumn:d.referencedColumn??null,columnName:d.columnName??""})})},Vl=({tableName:e})=>{const t=at(),{closeSheet:n}=de(),{selectedDatabase:s}=He(),{mutateAsync:a,isPending:l}=ot({mutationFn:async o=>{const i=new URLSearchParams({db:s??""});return(await Le.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(a(o,i),{loading:"Creating record...",success:d=>d||"Record created successfully",error:d=>d.detail||d.message||"Failed to create record"})},isCreatingRecord:l}},Ul=({tableName:e})=>{const{closeSheet:t,isSheetOpen:n}=de(),{tableCols:s,isLoadingTableCols:a}=Ee({tableName:e}),{createRecord:l,isCreatingRecord:c}=Vl({tableName:e}),o=lr(),i=async m=>{console.log("onSubmit",m),l(m,{onSuccess:()=>{o.reset(),t("add-record")},onError:p=>{console.error("Failed to create record:",p)}})},d=m=>{console.log("onError",m)},u=()=>{o.reset(),t("add-record")};console.log("tableCols",s);const f=()=>s&&s.length>0?r.jsxs(ir,{...o,children:[r.jsxs("form",{onSubmit:o.handleSubmit(i,d),className:"flex flex-col h-full",children:[r.jsx("div",{className:"space-y-6",children:s&&s.length>0&&!a?s.map(m=>r.jsx(Rl,{...m},m.columnName)):null}),r.jsxs("div",{className:"flex justify-end gap-2 py-6",children:[r.jsx(rt,{asChild:!0,onClick:u,disabled:c,children:r.jsx(R,{variant:"outline",size:"lg",children:"Close"})}),r.jsx(R,{type:"submit",size:"lg",disabled:c||!o.formState.isDirty,children:"Save"})]})]}),r.jsx(Kl,{})]}):r.jsx("div",{className:"flex flex-col h-full",children:r.jsx("div",{className:"space-y-6",children:r.jsx(se,{variant:"info",title:"No columns found",message:"Please add at least one column to the table before adding a record."})})});return r.jsx(qe,{title:`Add a new record to the table: ${e}`,open:n("add-record"),onOpenChange:m=>{m||u()},children:f()})},tn=ar,vt=g.forwardRef(({className:e,...t},n)=>r.jsx(Dn,{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=Dn.displayName;const Ae=g.forwardRef(({className:e,...t},n)=>r.jsx(En,{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}));Ae.displayName=En.displayName;const We=g.forwardRef(({className:e,...t},n)=>r.jsx(On,{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}));We.displayName=On.displayName;const St=({tableName:e})=>{const t=at(),{closeSheet:n}=de(),{selectedDatabase:s}=He(),{mutateAsync:a,isPending:l}=ot({mutationFn:async o=>{const i=new URLSearchParams({db:s??""}),d=await Le.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(a(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}},ze=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 $l(t)},$l=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=Hl(n),a=kn(n,s).map(c=>c.trim());if(a.length===0)throw new Error("No headers found in CSV");const l=[];for(let c=1;c<t.length;c++){const o=kn(t[c],s);o.length!==a.length&&console.warn(`Row ${c+1} has ${o.length} values but ${a.length} headers expected`);const i={};a.forEach((d,u)=>{const f=o[u]?.trim()??"";i[d]=Ll(f)}),l.push(i)}if(l.length===0)throw new Error("No records found in CSV");return l},Hl=e=>{const t=[","," ",";"];let n=0,s=",";for(const a of t){const l=(e.match(new RegExp(`\\${a}`,"g"))||[]).length;l>n&&(n=l,s=a)}return s},kn=(e,t)=>{const n=[];let s="",a=!1;for(let l=0;l<e.length;l++){const c=e[l],o=e[l+1];c==='"'?a&&o==='"'?(s+='"',l++):a=!a:c===t&&!a?(n.push(s),s=""):s+=c}return n.push(s),n},Ll=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},ql=({tableName:e})=>{const{closeSheet:t,isSheetOpen:n}=de(),{bulkInsertRecords:s,isInserting:a}=St({tableName:e}),l=g.useRef(null),[c,o]=g.useState(""),[i,d]=g.useState(null),[u,f]=g.useState([]),[m,p]=g.useState(null),[C,k]=g.useState("file"),S=h=>{const y=h.target.files?.[0];y&&(d(y),f([]),p(null))},v=g.useCallback(()=>{p(null),f([]);try{if(C==="file"&&i){const h=new FileReader;h.onload=y=>{try{const w=y.target?.result,j=ze(w);f(j)}catch(w){p(w instanceof Error?w.message:"Failed to parse file")}},h.readAsText(i)}else if(c.trim()){const h=ze(c);f(h)}else p(C==="file"?"No file selected":"Input is empty")}catch(h){p(h instanceof Error?h.message:"Failed to format data")}},[c,i,C]),b=async()=>{if(u.length===0){p("No records to insert");return}try{await s(u,{onSuccess:()=>{o(""),d(null),f([]),p(null),t("bulk-insert-csv")}})}catch(h){console.error("Error inserting records:",h)}},x=()=>{o(""),d(null),f([]),p(null),t("bulk-insert-csv")};return r.jsx(qe,{title:`Add data from CSV into: ${e}`,open:n("bulk-insert-csv"),onOpenChange:h=>{h||x()},children:r.jsxs("div",{className:"flex flex-col h-full gap-4",children:[r.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."}),r.jsxs(tn,{value:C,onValueChange:h=>k(h),children:[r.jsxs(vt,{className:"grid w-full grid-cols-2",children:[r.jsx(Ae,{value:"file",children:"File"}),r.jsx(Ae,{value:"text",children:"Text"})]}),r.jsx(We,{value:"file",className:"flex-1 flex flex-col gap-4",children:r.jsxs("div",{className:"flex flex-col gap-2",children:[r.jsx(le,{htmlFor:"file-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Select CSV file"}),r.jsx("input",{id:"file-input",ref:l,type:"file",accept:".csv",onChange:S,disabled:a,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"})]})}),r.jsx(We,{value:"text",className:"flex-1 flex flex-col gap-4",children:r.jsxs("div",{className:"flex-1 flex flex-col",children:[r.jsx(le,{htmlFor:"text-input",className:"text-sm font-medium mb-2 text-zinc-300",children:"Data Input"}),r.jsx(ke,{id:"text-input",value:c,onChange:h=>{o(h.target.value),f([]),p(null)},placeholder:`column1,column2,column3
|
|
3
|
+
value1,value2,value3
|
|
4
|
+
value4,value5,value6`,className:"flex-1 resize-none font-mono text-sm",disabled:a})]})})]}),m&&r.jsx(se,{variant:"error",title:"Parse Error",message:m}),u.length>0&&r.jsx(se,{variant:"success",title:"Ready to Insert",message:`${u.length} record${u.length!==1?"s":""} parsed successfully`}),r.jsxs("div",{className:"flex justify-between gap-2",children:[r.jsx(R,{variant:"secondary",size:"lg",onClick:v,disabled:C==="file"?!i:!c.trim()||a,children:"Format"}),r.jsxs("div",{className:"flex gap-2",children:[r.jsx(rt,{asChild:!0,onClick:x,disabled:a,children:r.jsx(R,{variant:"outline",size:"lg",children:"Close"})}),r.jsx(R,{type:"button",size:"lg",onClick:b,disabled:u.length===0||a,children:a?"Inserting...":"Insert"})]})]})]})})},Jl=({tableName:e})=>{const{closeSheet:t,isSheetOpen:n}=de(),{bulkInsertRecords:s,isInserting:a}=St({tableName:e}),l=g.useRef(null),[c,o]=g.useState(""),[i,d]=g.useState(null),[u,f]=g.useState([]),[m,p]=g.useState(null),[C,k]=g.useState("file"),S=h=>{const y=h.target.files?.[0];y&&(d(y),f([]),p(null))},v=g.useCallback(()=>{p(null),f([]);try{if(C==="file"&&i){const h=new FileReader;h.onload=y=>{try{const w=y.target?.result,j=ze(w);f(j)}catch(w){p(w instanceof Error?w.message:"Failed to parse file")}},h.readAsText(i)}else if(c.trim()){const h=ze(c);f(h)}else p(C==="file"?"No file selected":"Input is empty")}catch(h){p(h instanceof Error?h.message:"Failed to format data")}},[c,i,C]),b=async()=>{if(u.length===0){p("No records to insert");return}try{await s(u,{onSuccess:()=>{o(""),d(null),f([]),p(null),t("bulk-insert-excel")}})}catch(h){console.error("Error inserting records:",h)}},x=()=>{o(""),d(null),f([]),p(null),t("bulk-insert-excel")};return r.jsx(qe,{title:`Add data from Excel into: ${e}`,open:n("bulk-insert-excel"),onOpenChange:h=>{h||x()},children:r.jsxs("div",{className:"flex flex-col h-full gap-4",children:[r.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."}),r.jsxs(tn,{value:C,onValueChange:h=>k(h),children:[r.jsxs(vt,{className:"grid w-full grid-cols-2",children:[r.jsx(Ae,{value:"file",children:"File"}),r.jsx(Ae,{value:"text",children:"Text"})]}),r.jsx(We,{value:"file",className:"flex-1 flex flex-col gap-4",children:r.jsxs("div",{className:"flex flex-col gap-2",children:[r.jsx(le,{htmlFor:"file-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Select Excel file"}),r.jsx("input",{id:"file-input",ref:l,type:"file",accept:".xlsx,.xls",onChange:S,disabled:a,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"})]})}),r.jsx(We,{value:"text",className:"flex-1 flex flex-col gap-4",children:r.jsxs("div",{className:"flex-1 flex flex-col",children:[r.jsx(le,{htmlFor:"text-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Data Input"}),r.jsx(ke,{id:"text-input",value:c,onChange:h=>{o(h.target.value),f([]),p(null)},placeholder:`column1 column2 column3
|
|
5
|
+
value1 value2 value3
|
|
6
|
+
value4 value5 value6`,className:"flex-1 resize-none font-mono text-sm",disabled:a})]})})]}),m&&r.jsx(se,{variant:"error",title:"Parse Error",message:m}),u.length>0&&r.jsx(se,{variant:"success",title:"Ready to Insert",message:`${u.length} record${u.length!==1?"s":""} parsed successfully`}),r.jsxs("div",{className:"flex justify-between gap-2",children:[r.jsx(R,{variant:"secondary",size:"lg",onClick:v,disabled:C==="file"?!i:!c.trim()||a,children:"Format"}),r.jsxs("div",{className:"flex gap-2",children:[r.jsx(rt,{asChild:!0,onClick:x,disabled:a,children:r.jsx(R,{variant:"outline",size:"lg",children:"Close"})}),r.jsx(R,{type:"button",size:"lg",onClick:b,disabled:u.length===0||a,children:a?"Inserting...":"Insert"})]})]})]})})},Gl=({tableName:e})=>{const{closeSheet:t,isSheetOpen:n}=de(),{bulkInsertRecords:s,isInserting:a}=St({tableName:e}),l=g.useRef(null),[c,o]=g.useState(""),[i,d]=g.useState(null),[u,f]=g.useState([]),[m,p]=g.useState(null),[C,k]=g.useState("file"),S=h=>{const y=h.target.files?.[0];y&&(d(y),f([]),p(null))},v=g.useCallback(()=>{p(null),f([]);try{if(C==="file"&&i){const h=new FileReader;h.onload=y=>{try{const w=y.target?.result,j=ze(w);f(j)}catch(w){p(w instanceof Error?w.message:"Failed to parse file")}},h.readAsText(i)}else if(c.trim()){const h=ze(c);f(h)}else p(C==="file"?"No file selected":"Input is empty")}catch(h){p(h instanceof Error?h.message:"Failed to format data")}},[c,i,C]),b=async()=>{if(u.length===0){p("No records to insert");return}try{await s(u,{onSuccess:()=>{o(""),d(null),f([]),p(null),t("bulk-insert-json")}})}catch(h){console.error("Error inserting records:",h)}},x=()=>{o(""),d(null),f([]),p(null),t("bulk-insert-json")};return r.jsx(qe,{title:`Add data from JSON into: ${e}`,open:n("bulk-insert-json"),onOpenChange:h=>{h||x()},children:r.jsxs("div",{className:"flex flex-col h-full gap-4",children:[r.jsx(se,{variant:"info",title:"JSON Import",message:'Enter JSON array or single object. Example: [{"name": "John", "age": 30}, {"name": "Jane", "age": 28}]'}),r.jsxs(tn,{value:C,onValueChange:h=>k(h),children:[r.jsxs(vt,{className:"grid w-full grid-cols-2",children:[r.jsx(Ae,{value:"file",children:"File"}),r.jsx(Ae,{value:"text",children:"Text"})]}),r.jsx(We,{value:"file",className:"flex-1 flex flex-col gap-4",children:r.jsxs("div",{className:"flex flex-col gap-2",children:[r.jsx(le,{htmlFor:"file-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Select JSON file"}),r.jsx("input",{id:"file-input",ref:l,type:"file",accept:".json",onChange:S,disabled:a,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"})]})}),r.jsx(We,{value:"text",className:"flex-1 flex flex-col gap-4",children:r.jsxs("div",{className:"flex-1 flex flex-col",children:[r.jsx(le,{htmlFor:"text-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Data Input"}),r.jsx(ke,{id:"text-input",value:c,onChange:h=>{o(h.target.value),f([]),p(null)},placeholder:'[{"column1": "value1", "column2": "value2"}]',className:"flex-1 resize-none font-mono text-sm",disabled:a})]})})]}),m&&r.jsx(se,{variant:"error",title:"Parse Error",message:m}),u.length>0&&r.jsx(se,{variant:"success",title:"Ready to Insert",message:`${u.length} record${u.length!==1?"s":""} parsed successfully`}),r.jsxs("div",{className:"flex justify-between gap-2",children:[r.jsx(R,{variant:"secondary",size:"lg",onClick:v,disabled:C==="file"?!i:!c.trim()||a,children:"Format"}),r.jsxs("div",{className:"flex gap-2",children:[r.jsx(rt,{asChild:!0,onClick:x,disabled:a,children:r.jsx(R,{variant:"outline",size:"lg",children:"Close"})}),r.jsx(R,{type:"button",size:"lg",onClick:b,disabled:u.length===0||a,children:a?"Inserting...":"Insert"})]})]})]})})},Ql=({tableName:e})=>{const{closeSheet:t,isSheetOpen:n}=de(),{bulkInsertRecords:s,isInserting:a}=St({tableName:e}),[l,c]=g.useState(""),[o,i]=g.useState([]),[d,u]=g.useState(null),[f,m]=g.useState("auto"),p=g.useCallback(()=>{u(null),i([]);try{if(!l.trim()){u("Input is empty");return}const v=ze(l);i(v)}catch(v){u(v instanceof Error?v.message:"Failed to parse data")}},[l]),C=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 r.jsx(qe,{title:`Bulk Insert Records into: ${e}`,open:n("bulk-insert-records"),onOpenChange:v=>{v||k()},children:r.jsxs("div",{className:"flex flex-col h-full gap-4",children:[r.jsxs("div",{className:"flex gap-2",children:[r.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"}),r.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"}),r.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"})]}),r.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."}),r.jsxs("div",{className:"flex-1 flex flex-col",children:[r.jsx(le,{htmlFor:"text-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Data Input"}),r.jsx(ke,{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&&r.jsx(se,{variant:"error",title:"Parse Error",message:d}),o.length>0&&r.jsx(se,{variant:"success",title:"Ready to Insert",message:`${o.length} record${o.length!==1?"s":""} parsed successfully`}),r.jsxs("div",{className:"flex justify-between gap-2",children:[r.jsxs("div",{className:"flex gap-2",children:[r.jsx(R,{variant:"outline",size:"lg",onClick:S,disabled:!l||a,children:"Clear"}),r.jsx(R,{variant:"secondary",size:"lg",onClick:p,disabled:!l||a,children:"Preview"})]}),r.jsxs("div",{className:"flex gap-2",children:[r.jsx(rt,{asChild:!0,onClick:k,disabled:a,children:r.jsx(R,{variant:"outline",size:"lg",children:"Close"})}),r.jsx(R,{type:"button",size:"lg",onClick:C,disabled:o.length===0||a,children:a?"Inserting...":"Insert"})]})]})]})})},Xl=()=>{const{openSheet:e}=de();return r.jsxs(Bt,{children:[r.jsx(Kt,{asChild:!0,children:r.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:[r.jsx(br,{className:"size-4"}),"Add Record"]})}),r.jsxs(Vt,{align:"start",className:"w-48",children:[r.jsx(Ce,{onClick:()=>e("add-record"),children:"Add Record"}),r.jsx(Ce,{onClick:()=>e("bulk-insert-csv"),children:"Add data from CSV"}),r.jsx(Ce,{onClick:()=>e("bulk-insert-excel"),children:"Add data from Excel"}),r.jsx(Ce,{onClick:()=>e("bulk-insert-json"),children:"Add data from JSON"})]})]})},ht=(e,t)=>`${e.id??JSON.stringify(e)}-${t}`,ye=cr()((e,t)=>({updates:new Map,setUpdate:(n,s,a,l)=>{e(c=>{const o=new Map(c.updates),i=ht(n,s);return a===l?o.delete(i):o.set(i,{rowData:n,columnName:s,newValue:a,originalValue:l}),console.log("setUpdate",{rowData:n,columnName:s,newValue:a,originalValue:l}),{updates:o}})},clearUpdates:()=>e({updates:new Map}),clearUpdate:(n,s)=>{e(a=>{const l=new Map(a.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})),ks=()=>{const e=at(),{table:t}=Ut.useParams(),{clearUpdates:n,getUpdateCount:s}=ye(),{selectedDatabase:a}=He(),{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:a??""});return Le.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}},Zl=()=>{const{getUpdateCount:e,clearUpdates:t}=ye(),{isUpdatingCell:n}=ks(),s=g.useCallback(()=>{t()},[t]);return e()===0?null:r.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"})},ei=({tableName:e})=>{const t=at(),{tableCols:n}=Ee({tableName:e}),{selectedDatabase:s}=He(),{mutateAsync:a,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 ti(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 dr&&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=>a({rowData:u,force:!1}),forceDeleteCells:async u=>a({rowData:u,force:!0}),isDeletingCells:l,resetDeleteResult:c,deleteCellsError:o}},ti=async(e,t,n,s,a)=>{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 Le.delete(l,{data:i,params:{db:a}});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}},ni=({isOpenFkDialog:e,handleDialogClose:t,relatedRecords:n,handleCancelForceDelete:s,handleForceDelete:a,isDeletingCells:l})=>r.jsx(Dr,{open:e,onOpenChange:t,children:r.jsxs(Er,{className:"max-w-2xl z-500",children:[r.jsxs(Or,{children:[r.jsx(Mr,{children:"Cannot Delete - Foreign Key Constraint"}),r.jsx(Tr,{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."})]}),r.jsx(si,{relatedRecords:n}),r.jsxs(_r,{className:"gap-2",children:[r.jsx(R,{variant:"outline",onClick:s,disabled:l,children:"Cancel"}),r.jsx(R,{variant:"destructive",onClick:a,disabled:l,children:l?"Deleting...":"Force Delete All"})]})]})}),si=({relatedRecords:e})=>r.jsx("div",{className:"space-y-4 max-h-64 overflow-y-auto",children:e.map((t,n)=>r.jsxs("div",{className:"border border-zinc-700 rounded-md p-3",children:[r.jsxs("div",{className:"font-medium text-sm mb-2",children:["Table: ",r.jsx("span",{className:"text-primary",children:t.tableName}),r.jsxs("span",{className:"text-muted-foreground ml-2",children:["(",t.records.length," record",t.records.length!==1?"s":"",")"]})]}),r.jsxs("div",{className:"text-xs text-muted-foreground mb-2",children:["References column: ",t.columnName]}),r.jsx("div",{className:"bg-zinc-900 rounded p-2 text-xs overflow-x-auto",children:r.jsxs("pre",{className:"whitespace-pre-wrap",children:[JSON.stringify(t.records.slice(0,5),null,2),t.records.length>5&&r.jsxs("div",{className:"text-muted-foreground mt-2",children:["... and ",t.records.length-5," more"]})]})})]},`${t.tableName}-${t.columnName}-${n}`))}),ri=({selectedRows:e,setRowSelection:t,tableName:n})=>{const{deleteCells:s,forceDeleteCells:a,isDeletingCells:l,resetDeleteResult:c}=ei({tableName:n}),[o,i]=g.useState([]),[d,u]=g.useState(!1),[f,m]=g.useState(!1),[p,C]=g.useState([]),k=g.useCallback(()=>{m(!0)},[]),S=g.useCallback(async()=>{const h=e.map(y=>y.original);m(!1);try{await s(h),t({})}catch{i(h),C([]),u(!0)}},[s,e,t]),v=async()=>{if(o.length===0)return;const h=await a(o);console.log("Force delete response:",h),h?.deletedCount>0&&(u(!1),i([]),C([]),c(),t({}))},b=g.useCallback(()=>{u(!1),i([]),C([]),c()},[c]),x=h=>{l||(h?u(h):b())};return e?.length===0?null:r.jsxs(r.Fragment,{children:[r.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:k,"aria-label":"Delete the selected record",disabled:l,children:["Delete Record",e?.length>1&&r.jsx("span",{className:"ml-1.5 px-1.5 text-[10px] bg-white/20 border border-white/20 rounded",children:e?.length})]}),r.jsx(Yn,{open:f,onOpenChange:m,children:r.jsxs(Pn,{children:[r.jsxs(In,{children:[r.jsxs(Bn,{children:["Delete ",e.length===1?"Record":"Records"]}),r.jsxs(Kn,{children:["Are you sure you want to delete"," ",e.length===1?"this record":`${e.length} records`," ",'from "',n,'"? This action cannot be undone.']})]}),r.jsxs(Vn,{children:[r.jsx(Un,{children:"Cancel"}),r.jsx($n,{variant:"destructive",onClick:S,children:"Delete"})]})]})}),r.jsx(ni,{isOpenFkDialog:d,handleDialogClose:x,relatedRecords:p,handleCancelForceDelete:b,handleForceDelete:v,isDeletingCells:l})]})},ai=({tableName:e})=>{const[t,n]=P(M.TABLE_STATE_KEYS.FILTERS,Ie(x=>x).withDefault([]).withOptions({history:"push"})),[,s]=P(M.TABLE_STATE_KEYS.CURSOR),[,a]=P(M.TABLE_STATE_KEYS.DIRECTION),{tableCols:l}=Ee({tableName:e}),[c,o]=g.useState(!1),[i,d]=g.useState([]),u=()=>{const x=l?.[0]?.columnName??"";d([...i,{columnName:x,operator:"=",value:""}])},f=x=>{d(i.filter((h,y)=>y!==x))},m=(x,h)=>{d(i.map((y,w)=>w===x?{...y,columnName:h}:y))},p=(x,h)=>{d(i.map((y,w)=>w===x?{...y,value:h}:y))},C=(x,h)=>{d(i.map((y,w)=>w===x?{...y,operator:h}:y))},k=()=>{d([]),n([]),s(null),a(null),o(!1)},S=()=>{const x=i.filter(h=>h.columnName&&h.operator&&h.value!=="");n(x),s(null),a(null),o(!1)},v=t.length>0,b=x=>{x&&d(t),o(x)};return r.jsxs(Ue,{open:c,onOpenChange:b,children:[r.jsx(pt,{asChild:!0,children:r.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:r.jsx(Fn,{className:"size-4"})})}),r.jsxs($e,{className:"w-md space-y-2",align:"start",children:[r.jsx("div",{className:"flex items-center gap-4",children:r.jsxs(R,{variant:"outline",size:"lg",className:"text-sm",onClick:u,children:["Add filter",i&&i.length>0&&r.jsx(je,{className:"text-xs font-normal text-white bg-primary/10 border border-primary/90 px-1.5 py-0.5",children:i.length})]})}),r.jsx("div",{className:"flex flex-col gap-4",children:i.length>0?i.map((x,h)=>r.jsxs("div",{className:"flex-1 flex h-9 gap-2",children:[r.jsxs(he,{value:x.columnName,onValueChange:y=>m(h,y),children:[r.jsx(me,{className:"w-full flex-1",children:r.jsx(ge,{placeholder:"Select column"})}),r.jsx(xe,{children:l?.map(y=>r.jsx(B,{value:y.columnName,children:y.columnName},y.columnName))})]}),r.jsxs(he,{value:x.operator,onValueChange:y=>C(h,y),children:[r.jsx(me,{children:r.jsx(ge,{placeholder:"Op"})}),r.jsxs(xe,{children:[r.jsx(B,{value:"=",children:"="}),r.jsx(B,{value:"!=",children:"!="}),r.jsx(B,{value:">",children:">"}),r.jsx(B,{value:">=",children:">="}),r.jsx(B,{value:"<",children:"<"}),r.jsx(B,{value:"<=",children:"<="}),r.jsx(B,{value:"is",children:"is"}),r.jsx(B,{value:"is not",children:"is not"}),r.jsx(B,{value:"like",children:"like"}),r.jsx(B,{value:"not like",children:"not like"}),r.jsx(B,{value:"ilike",children:"ilike"}),r.jsx(B,{value:"not ilike",children:"not ilike"})]})]}),r.jsx(ae,{type:"text",placeholder:"Value",value:x.value,onChange:y=>p(h,y.target.value)}),r.jsx(R,{variant:"ghost",size:"icon",className:"text-xs",onClick:()=>f(h),children:r.jsx(yt,{className:"size-4"})})]},h)):r.jsx("div",{className:"flex-1 flex h-9 gap-2 items-center justify-center",children:r.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"No filters applied"})})}),r.jsxs("div",{className:"gap-2 flex justify-end",children:[r.jsx(R,{variant:"outline",size:"lg",className:"text-sm",onClick:k,children:"Reset"}),r.jsx(R,{variant:"default",size:"lg",className:"text-sm",onClick:S,children:"Apply"})]})]})]})},oi=({tableName:e})=>{const{refetchTableData:t,isRefetchingTableData:n}=wt({tableName:e}),{refetchTableCols:s,isRefetchingTableCols:a}=Ee({tableName:e}),l=g.useCallback(()=>{Promise.all([t(),s()])},[t,s]);return r.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||a,children:r.jsx(zn,{className:"size-4"})})},li=({setRowSelection:e})=>{const{getUpdates:t,getUpdateCount:n}=ye(),{updateCell:s,isUpdatingCell:a}=ks(),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 r.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:a,children:["Save Changes",c>0&&r.jsx("span",{className:"ml-1.5 px-1.5 text-[10px] bg-white/20 border border-white/20 rounded",children:c})]})},jn=({selectedRows:e,setRowSelection:t,tableName:n})=>r.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:r.jsxs("div",{className:"flex items-center ",children:[r.jsx(oi,{tableName:n}),r.jsx(ai,{tableName:n}),r.jsx(Xl,{}),r.jsx(li,{setRowSelection:t}),r.jsx(Zl,{}),r.jsx(ri,{tableName:n,selectedRows:e,setRowSelection:t})]})});function Ge({table:e,cell:t,rowIndex:n,columnId:s,isEditing:a,isFocused:l,isSelected:c,className:o,onClick:i,onKeyDown:d,...u}){const{getUpdate:f}=ye(),m=e.options.meta,p=t.row.original,C=!!f(p,s),k=g.useCallback(w=>{a||(w.preventDefault(),i?.(w),l?m?.onCellEditingStart?.(n,s):m?.onCellClick?.(n,s,w))},[m,n,s,a,l,i]),S=g.useCallback(w=>{a||m?.onCellContextMenu?.(n,s,w)},[m,n,s,a]),v=g.useCallback(w=>{a||m?.onCellMouseDown?.(n,s,w)},[m,n,s,a]),b=g.useCallback(w=>{a||m?.onCellMouseEnter?.(n,s,w)},[m,n,s,a]),x=g.useCallback(()=>{a||m?.onCellMouseUp?.()},[m,a]),h=g.useCallback(w=>{a||(w.preventDefault(),m?.onCellDoubleClick?.(n,s))},[m,n,s,a]),y=g.useCallback(w=>{if(d?.(w),!w.defaultPrevented&&!(w.key==="ArrowUp"||w.key==="ArrowDown"||w.key==="ArrowLeft"||w.key==="ArrowRight"||w.key==="Home"||w.key==="End"||w.key==="PageUp"||w.key==="PageDown"||w.key==="Tab")&&l&&!a){if(w.key==="F2"||w.key==="Enter"){w.preventDefault(),w.stopPropagation(),m?.onCellEditingStart?.(n,s);return}if(w.key===" "){w.preventDefault(),w.stopPropagation(),m?.onCellEditingStart?.(n,s);return}w.key.length===1&&!w.ctrlKey&&!w.metaKey&&(w.preventDefault(),w.stopPropagation(),m?.onCellEditingStart?.(n,s))}},[d,l,a,m,n,s]);return r.jsx("div",{role:"button","data-slot":"grid-cell-wrapper","data-editing":a?"":void 0,"data-focused":l?"":void 0,"data-selected":c?"":void 0,"data-has-update":C?"":void 0,tabIndex:l&&!a?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&&!a,"cursor-default":!a,"ring-2 ring-primary":C},o),onClick:k,onContextMenu:S,onDoubleClick:h,onMouseDown:v,onMouseEnter:b,onMouseUp:x,onKeyDown:y,...u})}const gt=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:l,isSelected:c})=>{const{setUpdate:o,clearUpdate:i,getUpdate:d}=ye(),u=e.getValue(),[f,m]=g.useState(()=>u??""),[p,C]=g.useState(!1),k=g.useRef(null),S=g.useRef(null),v=t.options.meta,b=e.row.original,x=s,h=d(b,x),y=h?h.newValue:u??"",w=g.useCallback(()=>{console.log("onSave",{editorValue:f,initialValue:u,columnName:x,rowData:b}),o(b,x,f,u),v?.onCellEditingStop?.(),C(!1)},[v,f,u,x,b,o]),j=g.useCallback(()=>{m(u??""),i(b,x),v?.onCellEditingStop?.(),C(!1)},[v,u,x,b,i,f]),E=g.useCallback(Y=>{const I=Y.target.value;console.log("onChange",I,x,f,u),m(I)},[x,f,u]),N=g.useCallback(Y=>{C(Y),Y||(f!==u&&o(b,x,f,u),v?.onCellEditingStop?.())},[v,f,u,x,b,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=>{a&&!p&&(Y.key==="Escape"?(Y.preventDefault(),v?.onCellEditingStop?.()):Y.key==="Tab"&&(Y.preventDefault(),v?.onCellEditingStop?.({direction:Y.shiftKey?"left":"right"})))},[a,p,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),w()),Y.stopPropagation()},[j,w,f,u]),G=g.useCallback(()=>{f!==u&&o(b,x,f,u),v?.onCellEditingStop?.(),C(!1)},[v,f,u,x,b,o]);return g.useEffect(()=>{a&&!p?(m(y),C(!0)):!a&&p&&C(!1)},[a,p,y]),g.useEffect(()=>{l&&!a&&!v?.isScrolling&&S.current&&S.current.focus()},[l,a,v?.isScrolling]),Be("enter",()=>w()),Be("esc",()=>j()),r.jsxs(Ue,{open:p,onOpenChange:N,children:[r.jsx(_n,{asChild:!0,children:r.jsx(Ge,{ref:S,cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:l,isSelected:c,onKeyDown:_,children:r.jsx("span",{"data-slot":"grid-cell-content",children:y})})}),r.jsxs($e,{"data-grid-cell-editor":"",align:"start",side:"bottom",sideOffset:0,className:"w-[400px] rounded-none p-0 gap-0",onOpenAutoFocus:O,children:[r.jsx(ke,{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..."}),r.jsxs("div",{className:"flex flex-col border-t",children:[r.jsxs(R,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[r.jsx(je,{className:"text-xs font-normal",children:"⌘↵"}),r.jsx("span",{className:"ml-1 text-xs",children:"Save Changes"})]}),r.jsxs(R,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[r.jsx(je,{className:"text-xs font-normal",children:"esc"}),r.jsx("span",{className:"ml-1 text-xs",children:"Cancel Changes"})]})]})]})]})});gt.displayName="TableTextCell";const js=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:l,isSelected:c})=>{const{setUpdate:o,clearUpdate:i}=ye(),d=e.getValue(),[u,f]=g.useState(()=>d),[m,p]=g.useState(!1),C=g.useRef(null),k=g.useRef(null),S=t.options.meta,v=e.row.original,b=s,x=g.useCallback(()=>{console.log("onSave",{value:u,initialValue:d,columnName:b,rowData:v}),o(v,b,u,d),p(!1),S?.onCellEditingStop?.()},[S,u,d,b,v,o]),h=g.useCallback(()=>{f(d),i(v,b),p(!1),S?.onCellEditingStop?.()},[S,d,b,v,i,u]),y=g.useCallback(N=>{const O=N.target.value;console.log("onChange",O,b,u,d),f(Number(O)),o(v,b,Number(O),d)},[b,u,d,v,o]),w=g.useCallback(N=>{a&&!m&&(N.key==="Escape"?(N.preventDefault(),S?.onCellEditingStop?.()):N.key==="Tab"&&(N.preventDefault(),u!==d&&o(v,b,u,d),S?.onCellEditingStop?.({direction:N.shiftKey?"left":"right"})))},[a,m,S,u,d,b,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),x()),N.stopPropagation()},[h,x,u,d]),E=g.useCallback(()=>{u!==d&&o(v,b,u,d),p(!1),S?.onCellEditingStop?.()},[S,u,d,b,v,o]);return a&&!m&&p(!0),g.useEffect(()=>{l&&!a&&!S?.isScrolling&&k.current&&k.current.focus()},[l,a,S?.isScrolling]),Be("enter",()=>x()),Be("esc",()=>h()),r.jsx(Ge,{ref:k,cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:l,isSelected:c,onKeyDown:w,children:r.jsx(ae,{type:"number",ref:C,value:u||"",onChange:N=>y(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"})})});js.displayName="TableNumberCell";const Ns=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:l,isSelected:c})=>{const{setUpdate:o,clearUpdate:i,getUpdate:d}=ye(),u=e.getValue(),[f,m]=g.useState(!1),p=g.useRef(null),C=g.useRef(null),k=g.useRef(a),S=t.options.meta;g.useEffect(()=>{k.current=a},[a]);const v=e.row.original,b=s,x=d(v,b),h=x?x.newValue:u,y=g.useMemo(()=>h==null?"null":h?"true":"false",[h]),w=g.useCallback(_=>{let q;_==="null"?q=null:q=_==="true",o(v,b,q,u),m(!1),S?.onCellEditingStop?.()},[b,v,u,o,S]),j=g.useCallback(()=>{i(v,b),m(!1),S?.onCellEditingStop?.()},[v,b,i,S]),E=g.useCallback(_=>{m(_),!_&&a&&S?.onCellEditingStop?.()},[a,S]),N=g.useCallback(_=>{a&&!f&&(_.key==="Escape"?(_.preventDefault(),j()):_.key==="Tab"&&(_.preventDefault(),j(),S?.onCellEditingStop?.({direction:_.shiftKey?"left":"right"})))},[a,f,S,j]);g.useEffect(()=>{if(a){const _=setTimeout(()=>{k.current&&(m(!0),setTimeout(()=>{k.current&&C.current?.click()},0))},0);return()=>{clearTimeout(_),m(!1)}}},[a]),g.useEffect(()=>{l&&!a&&!S?.isScrolling&&p.current&&p.current.focus()},[l,a,S?.isScrolling]);const O=h==null?"NULL":h?"true":"false";return r.jsx(Ge,{ref:p,cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:l,isSelected:c,onKeyDown:N,className:"p-0!",children:a?r.jsxs(he,{value:y,onValueChange:w,open:f,onOpenChange:E,children:[r.jsx(me,{ref:C,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:r.jsx(ge,{})}),r.jsxs(xe,{"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:[r.jsx(B,{value:"true",children:"true"}),r.jsx(B,{value:"false",children:"false"}),r.jsx(B,{value:"null",children:"NULL"})]})]}):r.jsx("span",{className:"flex items-center size-full px-2 py-1.5",children:O})})});Ns.displayName="TableBooleanCell";const Ds=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:l,isSelected:c})=>{const{setUpdate:o,clearUpdate:i,getUpdate:d}=ye(),u=e.getValue(),[f,m]=g.useState(!1),p=g.useRef(null),C=g.useRef(null),k=g.useRef(a),S=t.options.meta,v=e.column.columnDef.meta?.enumValues;g.useEffect(()=>{k.current=a},[a]);const b=e.row.original,x=s,h=d(b,x),y=h?h.newValue:u,w=g.useCallback(_=>{o(b,x,_==="null"?null:_,u),m(!1),S?.onCellEditingStop?.()},[x,b,u,o,S]),j=g.useCallback(()=>{i(b,x),m(!1),S?.onCellEditingStop?.()},[b,x,i,S]),E=g.useCallback(_=>{m(_),!_&&a&&S?.onCellEditingStop?.()},[a,S]),N=g.useCallback(_=>{a&&!f&&(_.key==="Escape"?(_.preventDefault(),j()):_.key==="Tab"&&(_.preventDefault(),j(),S?.onCellEditingStop?.({direction:_.shiftKey?"left":"right"})))},[a,f,S,j]);g.useEffect(()=>{if(a){const _=setTimeout(()=>{k.current&&(m(!0),setTimeout(()=>{k.current&&C.current?.click()},0))},0);return()=>{clearTimeout(_),m(!1)}}},[a]),g.useEffect(()=>{l&&!a&&!S?.isScrolling&&p.current&&p.current.focus()},[l,a,S?.isScrolling]);const O=y??"NULL";return r.jsx(Ge,{ref:p,cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:l,isSelected:c,onKeyDown:N,className:"p-0!",children:a?r.jsxs(he,{value:y===null?"null":y,onValueChange:w,open:f,onOpenChange:E,children:[r.jsx(me,{ref:C,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:r.jsx(ge,{})}),r.jsxs(xe,{"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(_=>r.jsx(B,{value:_,children:_},_)),r.jsx(B,{value:"null",children:"NULL"})]})]}):r.jsx("span",{className:"flex items-center size-full px-2 py-1.5 truncate",children:O})})});Ds.displayName="TableEnumCell";const Es=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:l,isSelected:c})=>{const{setUpdate:o,clearUpdate:i,getUpdate:d}=ye(),u=e.getValue(),f=g.useRef(null),m=t.options.meta,p=e.row.original,C=s,k=d(p,C),S=k?k.newValue:u,v=g.useCallback(h=>{console.log("onDateChange",h,C,u);const y=h?h.toISOString():null;o(p,C,y,u),m?.onCellEditingStop?.()},[C,u,p,o,m]),b=g.useCallback(()=>{i(p,C),m?.onCellEditingStop?.()},[p,C,i,m,S,u]),x=g.useCallback(h=>{a&&(h.key==="Escape"||h.key==="Tab")&&(h.preventDefault(),b())},[a,b]);return g.useEffect(()=>{l&&!a&&!m?.isScrolling&&f.current&&f.current.focus()},[l,a,m?.isScrolling]),r.jsx(Ge,{ref:f,cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:l,isSelected:c,onKeyDown:x,className:"p-0!",children:r.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"})})});Es.displayName="TableDateCell";const Os=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,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,p]=g.useState(()=>JSON.stringify(f,null,2)??""),[C,k]=g.useState(!1),S=g.useRef(null),v=g.useRef(null),b=t.options.meta,x=e.row.original,h=s,y=d(x,h),w=y?y.newValue:f,j=JSON.stringify(w),E=g.useCallback(()=>{console.log("onSave",{editorValue:m,initialValue:f,columnName:h,rowData:x});try{const A=JSON.parse(m);console.log("Parsed value:",typeof A,A),console.log("Initial value:",typeof f,f),o(x,h,A,f)}catch(A){console.error("Invalid JSON:",A);return}b?.onCellEditingStop?.(),k(!1)},[b,m,f,h,x,o]),N=g.useCallback(()=>{p(JSON.stringify(f,null,2)??""),i(x,h),b?.onCellEditingStop?.(),k(!1)},[b,f,h,x,i,m]),O=g.useCallback(A=>{const Q=A.target.value;console.log("onChange",Q,h,m,f),p(Q)},[h,m,f]),_=g.useCallback(A=>{if(k(A),!A){try{const Q=JSON.parse(m);JSON.stringify(Q)!==JSON.stringify(f)&&o(x,h,Q,f)}catch(Q){console.error("Invalid JSON on close:",Q)}b?.onCellEditingStop?.()}},[b,m,f,h,x,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=>{a&&!C&&(A.key==="Escape"?(A.preventDefault(),b?.onCellEditingStop?.()):A.key==="Tab"&&(A.preventDefault(),b?.onCellEditingStop?.({direction:A.shiftKey?"left":"right"})))},[a,C,b]),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(x,h,A,f)}catch(A){console.error("Invalid JSON on blur:",A)}b?.onCellEditingStop?.(),k(!1)},[b,m,f,h,x,o]);return g.useEffect(()=>{a&&!C?(p(JSON.stringify(w,null,2)),k(!0)):!a&&C&&k(!1)},[a,C,w]),g.useEffect(()=>{l&&!a&&!b?.isScrolling&&v.current&&v.current.focus()},[l,a,b?.isScrolling]),Be("enter",()=>E()),Be("esc",()=>N()),r.jsxs(Ue,{open:C,onOpenChange:_,children:[r.jsx(_n,{asChild:!0,children:r.jsx(Ge,{ref:v,cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:l,isSelected:c,onKeyDown:G,children:r.jsx("span",{"data-slot":"grid-cell-content",children:j})})}),r.jsxs($e,{"data-grid-cell-editor":"",align:"start",side:"bottom",sideOffset:0,className:"w-[400px] rounded-none p-0 gap-0",onOpenAutoFocus:q,children:[r.jsx(ke,{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..."}),r.jsxs("div",{className:"flex flex-col border-t",children:[r.jsxs(R,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[r.jsx(je,{className:"text-xs font-normal",children:"⌘↵"}),r.jsx("span",{className:"ml-1 text-xs",children:"Save Changes"})]}),r.jsxs(R,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[r.jsx(je,{className:"text-xs font-normal",children:"esc"}),r.jsx("span",{className:"ml-1 text-xs",children:"Cancel Changes"})]})]})]})]})});Os.displayName="TableJsonCell";const ii=({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 r.jsx(gt,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u});case"boolean":return r.jsx(Ns,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u});case"number":return r.jsx(js,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u});case"enum":return r.jsx(Ds,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u});case"date":return r.jsx(Es,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u});case"json":return r.jsx(Os,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u});case"array":return r.jsx(gt,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u});default:return r.jsx(gt,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u})}},ci=({columnVirtualizer:e,row:t,rowVirtualizer:n,virtualPaddingLeft:s,virtualPaddingRight:a,virtualRow:l})=>{const c=t.getVisibleCells(),o=e.getVirtualItems();return r.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?r.jsx("td",{style:{display:"flex",width:s}}):null,o.map(i=>{const d=c[i.index];return r.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)}),a?r.jsx("td",{style:{display:"flex",width:a}}):null]},t.id)},di=({columnVirtualizer:e,table:t,tableContainerRef:n,virtualPaddingLeft:s,virtualPaddingRight:a})=>{const{rows:l}=t.getRowModel(),c=qn({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 r.jsx("tbody",{style:{display:"grid",height:`${c.getTotalSize()}px`,position:"relative"},children:o.map(i=>{const d=l[i.index];return r.jsx(ci,{columnVirtualizer:e,row:d,rowVirtualizer:c,virtualPaddingLeft:s,virtualPaddingRight:a,virtualRow:i},d.id)})})},ui=g.memo(fi,(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 fi({header:e,table:t,label:n}){const s=t._getDefaultColumnDef(),a=g.useCallback(()=>{t.setColumnSizing(l=>{const c={...l};return delete c[e.column.id],c})},[e.column.id,t]);return r.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:a,onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler()})}const hi=()=>{const e=at(),{selectedDatabase:t}=He(),{mutateAsync:n}=ot({mutationFn:async({tableName:a,columnName:l,cascade:c})=>{const o=new URLSearchParams({db:t??"",cascade:c?"true":"false"});return(await Le.delete(`/tables/${encodeURIComponent(a)}/columns/${encodeURIComponent(l)}`,{params:o})).data.data},onSuccess:async(a,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:a=>{console.error("Error deleting column:",a)}});return{deleteColumn:async({tableName:a,columnName:l,cascade:c})=>De.promise(n({tableName:a,columnName:l,cascade:c,db:""}),{loading:"Deleting column...",success:o=>o||"Column deleted successfully",error:o=>o.message||"Failed to delete column"})}},mi=({columnVirtualizer:e,headerGroup:t,virtualPaddingLeft:n,virtualPaddingRight:s,table:a})=>{const{table:l}=Ut.useParams(),[c,o]=g.useState(!1),[i,d]=g.useState(null),[u,f]=g.useState(!1),{deleteColumn:m}=hi(),[,p]=P(M.COLUMN_NAME),[,C]=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),b=e.getVirtualItems(),x=a.getState().columnSizingInfo.isResizingColumn,h=g.useCallback(N=>O=>{O===null?(p(null),C(null),k(null)):(p(N),C(N),k(O==="desc"?"desc":"asc")),S(null),v(null)},[p,C,k,S,v]),y=g.useCallback(N=>{d(N),f(!1),o(!0)},[]),w=g.useCallback(N=>{o(N),N||(d(null),f(!1))},[]),j=g.useCallback(async()=>{!i||!l||(await m({db:l,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 r.jsxs(r.Fragment,{children:[r.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",x&&"pointer-events-none"),children:[n?r.jsx("th",{style:{display:"flex",width:n}}):null,b.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 r.jsx("th",{className:"h-full flex z-100! relative",style:{display:"flex",width:N.index===0?"40px":O.getSize()},children:r.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()):r.jsxs(r.Fragment,{children:[r.jsxs(Bt,{children:[r.jsx(Kt,{asChild:!0,children:r.jsxs(R,{variant:"outline",className:"relative border-none w-full h-full bg-transparent! rounded-none justify-between",children:[r.jsxs("div",{className:"flex items-center gap-1",children:[_&&r.jsxs(Me,{children:[r.jsx(Te,{asChild:!0,children:r.jsx("span",{className:"inline-flex",children:r.jsx(Cr,{size:20,className:"text-primary"})})}),r.jsx(_e,{className:"text-[10px]",children:"primary key"})]}),q&&r.jsxs(Me,{children:[r.jsx(Te,{asChild:!0,children:r.jsx("span",{className:"inline-flex",children:r.jsx(Wn,{size:20,className:"text-primary"})})}),r.jsx(_e,{className:"text-[10px]",children:"foreign key"})]}),nt(O.column.columnDef.header,O.getContext())]}),r.jsxs("div",{className:"flex items-center gap-1",children:[G&&r.jsx("span",{className:"text-xs leading-none text-muted-foreground",children:G}),r.jsx("span",{className:"text-xs leading-none text-muted-foreground",children:{asc:r.jsx($t,{}),desc:r.jsx(wr,{})}[O.column.getIsSorted()]??null})]})]})}),r.jsxs(Vt,{className:"w-44",align:"start",children:[r.jsxs(ur,{children:[r.jsxs(Ce,{onClick:()=>h(O.column.id)("asc"),children:[r.jsx(vr,{}),"Sort ascending"]}),r.jsxs(Ce,{onClick:()=>h(O.column.id)("desc"),children:[r.jsx(Sr,{}),"Sort descending"]}),O.column.getIsSorted()&&r.jsxs(Ce,{onClick:()=>h(O.column.id)(null),children:[r.jsx(yt,{}),"Remove sort"]})]}),r.jsx(fr,{}),r.jsxs(Ce,{variant:"destructive",onClick:()=>y(O.column.id),children:[r.jsx(kr,{}),"Delete column"]})]})]}),O.column.getCanResize()&&r.jsx(ui,{header:O,table:a,label:O.column.id})]})})},O.id)}),s?r.jsx("th",{style:{display:"flex",width:s}}):null]},t.id),r.jsx(Yn,{open:c,onOpenChange:w,children:r.jsxs(Pn,{children:[r.jsxs(In,{children:[r.jsx(Bn,{children:"Delete Column"}),r.jsxs(Kn,{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.']})]}),r.jsxs("div",{className:"flex gap-2 py-2",children:[r.jsx(Pt,{id:"cascade-delete",checked:u,onCheckedChange:N=>f(N===!0)}),r.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)"})]}),r.jsxs(Vn,{children:[r.jsx(Un,{onClick:E,children:"Cancel"}),r.jsx($n,{variant:"destructive",onClick:j,children:"Delete"})]})]})})]})},gi=({columnVirtualizer:e,table:t,virtualPaddingLeft:n,virtualPaddingRight:s})=>r.jsx("thead",{className:"h-9 grid sticky top-0 z-10",children:t.getHeaderGroups().map(a=>r.jsx(mi,{columnVirtualizer:e,headerGroup:a,table:t,virtualPaddingLeft:n,virtualPaddingRight:s},a.id))}),xi=({table:e})=>{const t=e.getVisibleLeafColumns(),n=g.useRef(null),s=qn({count:t.length,estimateSize:o=>t[o].getSize(),getScrollElement:()=>n.current,horizontal:!0,overscan:3}),a=s.getVirtualItems();let l,c;return s&&a?.length&&(l=a[0]?.start??0,c=s.getTotalSize()-(a[a.length-1]?.end??0)),r.jsx("div",{className:"w-full flex-1 overflow-auto",ref:n,style:{position:"relative"},children:r.jsxs("table",{style:{display:"grid"},children:[r.jsx(gi,{columnVirtualizer:s,table:e,virtualPaddingLeft:l,virtualPaddingRight:c}),r.jsx(di,{columnVirtualizer:s,table:e,tableContainerRef:n,virtualPaddingLeft:l,virtualPaddingRight:c})]})})};function pi({className:e,...t}){return r.jsx("nav",{"aria-label":"pagination","data-slot":"pagination",className:W("mx-auto flex w-full justify-center",e),...t})}function yi({className:e,...t}){return r.jsx("ul",{"data-slot":"pagination-content",className:W("flex flex-row items-center gap-1",e),...t})}function Nn({...e}){return r.jsx("li",{"data-slot":"pagination-item",...e})}const bi=({tableName:e})=>{const{sidebar:{isPinned:t,width:n}}=hr(),[s,a]=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,f]=g.useState(s??"50"),m=g.useRef(null);g.useEffect(()=>{f(s??"50")},[s]);const p=v=>{const b=parseInt(v,10);if(Number.isNaN(b)||b<1)return;const x=Math.min(b,1e4).toString();f(x),a(x),l(null),c(null)},C=()=>{o?.meta?.nextCursor&&(l(o.meta.nextCursor),c("asc"))},k=()=>{o?.meta?.prevCursor&&(l(o.meta.prevCursor),c("desc"))},S=()=>{l(null),c(null)};return r.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:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(le,{className:"text-xs text-zinc-400 whitespace-nowrap",children:"Rows per page"}),r.jsxs("div",{className:"flex items-center h-6 rounded-sm border border-transparent hover:border-zinc-700 focus-within:border-zinc-600 transition-colors",children:[r.jsx("input",{ref:m,type:"number",min:1,max:1e4,value:u,onChange:v=>f(v.target.value),onBlur:v=>p(v.target.value),onKeyDown:v=>{v.key==="Enter"&&m.current?.blur()},className:"w-10 h-full bg-transparent text-xs text-center text-white outline-none [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"}),r.jsxs(Bt,{children:[r.jsx(Kt,{asChild:!0,children:r.jsx("button",{type:"button",className:"flex items-center h-full px-0.5 text-zinc-500 hover:text-zinc-300 transition-colors focus:outline-none","aria-label":"Choose preset row count",children:r.jsx($t,{className:"size-3"})})}),r.jsx(Vt,{align:"start",className:"min-w-16 border-zinc-800",children:mr.map(v=>r.jsx(Ce,{onSelect:()=>p(v.toString()),className:"text-xs justify-center",children:v},v))})]})]})]}),r.jsx("div",{className:"flex items-center justify-center text-xs text-zinc-400",children:r.jsxs("p",{className:"whitespace-nowrap","aria-live":"polite",children:["Showing ",r.jsx("span",{className:"text-zinc-200",children:d})," of"," ",r.jsx("span",{className:"text-zinc-200",children:i})," rows"]})}),r.jsxs("div",{className:"flex items-center gap-0.5",children:[r.jsx(R,{size:"sm",variant:"ghost",className:"h-6 w-6 disabled:opacity-30",onClick:S,disabled:!o?.meta?.hasPreviousPage||i===0,"aria-label":"Go to first page",children:r.jsx(jr,{"aria-hidden":"true"})}),r.jsx(pi,{children:r.jsxs(yi,{className:"gap-0.5",children:[r.jsx(Nn,{children:r.jsx(R,{size:"icon-sm",variant:"ghost",className:"h-6 w-6 disabled:opacity-30",onClick:k,disabled:!o?.meta?.hasPreviousPage||i===0,"aria-label":"Go to previous page",children:r.jsx(Rn,{"aria-hidden":"true"})})}),r.jsx(Nn,{children:r.jsx(R,{size:"icon-sm",variant:"ghost",className:"h-6 w-6 disabled:opacity-30",onClick:C,disabled:!o?.meta?.hasNextPage||i===0,"aria-label":"Go to next page",children:r.jsx(An,{"aria-hidden":"true"})})})]})})]})]})},Ci=()=>({id:"select",accessorKey:"select",header:({table:e})=>r.jsx("div",{className:"w-full h-full flex items-center justify-center",children:r.jsx(Pt,{checked:e.getIsAllRowsSelected(),onCheckedChange:()=>e.toggleAllRowsSelected()})}),cell:({row:e})=>r.jsx("div",{className:"w-full h-full flex items-center justify-center",children:r.jsx(Pt,{checked:e.getIsSelected(),onCheckedChange:()=>e.toggleSelected()})}),size:20,enableSorting:!1}),wi=({tableName:e})=>{const[t]=P(M.COLUMN_NAME),[n]=P(M.TABLE_STATE_KEYS.ORDER),{tableData:s,isLoadingTableData:a,errorTableData:l}=wt({tableName:e}),{tableCols:c,isLoadingTableCols:o,errorTableCols:i}=Ee({tableName:e}),[d,u]=g.useState({}),[f,m]=g.useState({}),[p,C]=g.useState(null),[k,S]=g.useState(null),v=g.useMemo(()=>Ci(),[]),b=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 x=g.useMemo(()=>t&&n?[{id:t,desc:n==="desc"}]:[],[t,n]),h=g.useMemo(()=>s?.data||[],[s?.data]),y=g.useCallback((I,A)=>{C({rowIndex:I,columnId:A})},[]),w=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:p,editingCell:k,onCellClick:y,onCellDoubleClick:w,onCellEditingStart:j,onCellEditingStop:E,onDataUpdate:N,getIsCellSelected:O}),[p,k,y,w,j,E,N,O]),q=Hn({data:h,columns:b,defaultColumn:{cell:ii,size:50,minSize:100,maxSize:500},getCoreRowModel:Ln(),getSortedRowModel:Ar(),state:{sorting:x,rowSelection:d,columnSizing:f},manualSorting:!1,enableRowSelection:!0,enableMultiRowSelection:!0,enableColumnResizing:!0,columnResizeMode:"onChange",onRowSelectionChange:u,onColumnSizingChange:m,meta:_});if(a||o)return r.jsx("div",{className:"size-full flex items-center justify-center",children:r.jsx(Tn,{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."),r.jsx("div",{className:"size-full flex flex-col items-center justify-center",children:r.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-2",children:[r.jsx("div",{className:"text-sm font-medium",children:Z}),r.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?r.jsxs("div",{className:"size-full flex flex-col items-center justify-center",children:[r.jsx(jn,{selectedRows:Y,setRowSelection:u,tableName:e}),r.jsxs("div",{className:"text-sm text-muted-foreground flex-1 flex items-center justify-center",children:['No data available for "',e,'" table']})]}):r.jsxs("div",{className:"flex-1 w-full flex flex-col overflow-hidden",children:[r.jsx(jn,{selectedRows:Y,setRowSelection:u,tableName:e}),r.jsx(xi,{table:q}),r.jsx(bi,{tableName:e})]})};function Ti(){const{table:e}=Ut.useParams();return r.jsxs("main",{className:"flex-1 flex flex-col overflow-hidden",children:[r.jsx(wi,{tableName:e}),r.jsx(Ul,{tableName:e}),r.jsx(Ql,{tableName:e}),r.jsx(ql,{tableName:e}),r.jsx(Gl,{tableName:e}),r.jsx(Jl,{tableName:e})]})}export{Ti 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-BxHPE-d6.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};
|