persian-date-kit 0.0.11 → 1.0.0

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.
@@ -0,0 +1 @@
1
+ "use strict";const O=require("react/jsx-runtime"),de=require("react"),le=require("react-dom");function fe(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const e=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,e.get?e:{enumerable:!0,get:()=>t[r]})}}return n.default=t,Object.freeze(n)}const w=fe(de);function Rt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var _t={exports:{}},he=_t.exports,Jt;function Ht(){return Jt||(Jt=1,(function(t,n){(function(r,e){t.exports=e()})(he,(function(){var r=1e3,e=6e4,p=36e5,f="millisecond",v="second",b="minute",N="hour",M="day",H="week",x="month",V="quarter",I="year",Y="date",C="Invalid Date",U=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,L=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,F={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(a){var s=["th","st","nd","rd"],o=a%100;return"["+a+(s[(o-20)%10]||s[o]||s[0])+"]"}},rt=function(a,s,o){var u=String(a);return!u||u.length>=s?a:""+Array(s+1-u.length).join(o)+a},E={s:rt,z:function(a){var s=-a.utcOffset(),o=Math.abs(s),u=Math.floor(o/60),c=o%60;return(s<=0?"+":"-")+rt(u,2,"0")+":"+rt(c,2,"0")},m:function a(s,o){if(s.date()<o.date())return-a(o,s);var u=12*(o.year()-s.year())+(o.month()-s.month()),c=s.clone().add(u,x),y=o-c<0,m=s.clone().add(u+(y?-1:1),x);return+(-(u+(o-c)/(y?c-m:m-c))||0)},a:function(a){return a<0?Math.ceil(a)||0:Math.floor(a)},p:function(a){return{M:x,y:I,w:H,d:M,D:Y,h:N,m:b,s:v,ms:f,Q:V}[a]||String(a||"").toLowerCase().replace(/s$/,"")},u:function(a){return a===void 0}},Z="en",G={};G[Z]=F;var K="$isDayjsObject",W=function(a){return a instanceof D||!(!a||!a[K])},l=function a(s,o,u){var c;if(!s)return Z;if(typeof s=="string"){var y=s.toLowerCase();G[y]&&(c=y),o&&(G[y]=o,c=y);var m=s.split("-");if(!c&&m.length>1)return a(m[0])}else{var _=s.name;G[_]=s,c=_}return!u&&c&&(Z=c),c||!u&&Z},d=function(a,s){if(W(a))return a.clone();var o=typeof s=="object"?s:{};return o.date=a,o.args=arguments,new D(o)},h=E;h.l=l,h.i=W,h.w=function(a,s){return d(a,{locale:s.$L,utc:s.$u,x:s.$x,$offset:s.$offset})};var D=(function(){function a(o){this.$L=l(o.locale,null,!0),this.parse(o),this.$x=this.$x||o.x||{},this[K]=!0}var s=a.prototype;return s.parse=function(o){this.$d=(function(u){var c=u.date,y=u.utc;if(c===null)return new Date(NaN);if(h.u(c))return new Date;if(c instanceof Date)return new Date(c);if(typeof c=="string"&&!/Z$/i.test(c)){var m=c.match(U);if(m){var _=m[2]-1||0,S=(m[7]||"0").substring(0,3);return y?new Date(Date.UTC(m[1],_,m[3]||1,m[4]||0,m[5]||0,m[6]||0,S)):new Date(m[1],_,m[3]||1,m[4]||0,m[5]||0,m[6]||0,S)}}return new Date(c)})(o),this.init()},s.init=function(){var o=this.$d;this.$y=o.getFullYear(),this.$M=o.getMonth(),this.$D=o.getDate(),this.$W=o.getDay(),this.$H=o.getHours(),this.$m=o.getMinutes(),this.$s=o.getSeconds(),this.$ms=o.getMilliseconds()},s.$utils=function(){return h},s.isValid=function(){return this.$d.toString()!==C},s.isSame=function(o,u){var c=d(o);return this.startOf(u)<=c&&c<=this.endOf(u)},s.isAfter=function(o,u){return d(o)<this.startOf(u)},s.isBefore=function(o,u){return this.endOf(u)<d(o)},s.$g=function(o,u,c){return h.u(o)?this[u]:this.set(c,o)},s.unix=function(){return Math.floor(this.valueOf()/1e3)},s.valueOf=function(){return this.$d.getTime()},s.startOf=function(o,u){var c=this,y=!!h.u(u)||u,m=h.p(o),_=function(z,R){var tt=h.w(c.$u?Date.UTC(c.$y,R,z):new Date(c.$y,R,z),c);return y?tt:tt.endOf(M)},S=function(z,R){return h.w(c.toDate()[z].apply(c.toDate("s"),(y?[0,0,0,0]:[23,59,59,999]).slice(R)),c)},k=this.$W,A=this.$M,B=this.$D,X="set"+(this.$u?"UTC":"");switch(m){case I:return y?_(1,0):_(31,11);case x:return y?_(1,A):_(0,A+1);case H:var Q=this.$locale().weekStart||0,st=(k<Q?k+7:k)-Q;return _(y?B-st:B+(6-st),A);case M:case Y:return S(X+"Hours",0);case N:return S(X+"Minutes",1);case b:return S(X+"Seconds",2);case v:return S(X+"Milliseconds",3);default:return this.clone()}},s.endOf=function(o){return this.startOf(o,!1)},s.$set=function(o,u){var c,y=h.p(o),m="set"+(this.$u?"UTC":""),_=(c={},c[M]=m+"Date",c[Y]=m+"Date",c[x]=m+"Month",c[I]=m+"FullYear",c[N]=m+"Hours",c[b]=m+"Minutes",c[v]=m+"Seconds",c[f]=m+"Milliseconds",c)[y],S=y===M?this.$D+(u-this.$W):u;if(y===x||y===I){var k=this.clone().set(Y,1);k.$d[_](S),k.init(),this.$d=k.set(Y,Math.min(this.$D,k.daysInMonth())).$d}else _&&this.$d[_](S);return this.init(),this},s.set=function(o,u){return this.clone().$set(o,u)},s.get=function(o){return this[h.p(o)]()},s.add=function(o,u){var c,y=this;o=Number(o);var m=h.p(u),_=function(A){var B=d(y);return h.w(B.date(B.date()+Math.round(A*o)),y)};if(m===x)return this.set(x,this.$M+o);if(m===I)return this.set(I,this.$y+o);if(m===M)return _(1);if(m===H)return _(7);var S=(c={},c[b]=e,c[N]=p,c[v]=r,c)[m]||1,k=this.$d.getTime()+o*S;return h.w(k,this)},s.subtract=function(o,u){return this.add(-1*o,u)},s.format=function(o){var u=this,c=this.$locale();if(!this.isValid())return c.invalidDate||C;var y=o||"YYYY-MM-DDTHH:mm:ssZ",m=h.z(this),_=this.$H,S=this.$m,k=this.$M,A=c.weekdays,B=c.months,X=c.meridiem,Q=function(R,tt,ot,ht){return R&&(R[tt]||R(u,y))||ot[tt].slice(0,ht)},st=function(R){return h.s(_%12||12,R,"0")},z=X||function(R,tt,ot){var ht=R<12?"AM":"PM";return ot?ht.toLowerCase():ht};return y.replace(L,(function(R,tt){return tt||(function(ot){switch(ot){case"YY":return String(u.$y).slice(-2);case"YYYY":return h.s(u.$y,4,"0");case"M":return k+1;case"MM":return h.s(k+1,2,"0");case"MMM":return Q(c.monthsShort,k,B,3);case"MMMM":return Q(B,k);case"D":return u.$D;case"DD":return h.s(u.$D,2,"0");case"d":return String(u.$W);case"dd":return Q(c.weekdaysMin,u.$W,A,2);case"ddd":return Q(c.weekdaysShort,u.$W,A,3);case"dddd":return A[u.$W];case"H":return String(_);case"HH":return h.s(_,2,"0");case"h":return st(1);case"hh":return st(2);case"a":return z(_,S,!0);case"A":return z(_,S,!1);case"m":return String(S);case"mm":return h.s(S,2,"0");case"s":return String(u.$s);case"ss":return h.s(u.$s,2,"0");case"SSS":return h.s(u.$ms,3,"0");case"Z":return m}return null})(R)||m.replace(":","")}))},s.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},s.diff=function(o,u,c){var y,m=this,_=h.p(u),S=d(o),k=(S.utcOffset()-this.utcOffset())*e,A=this-S,B=function(){return h.m(m,S)};switch(_){case I:y=B()/12;break;case x:y=B();break;case V:y=B()/3;break;case H:y=(A-k)/6048e5;break;case M:y=(A-k)/864e5;break;case N:y=A/p;break;case b:y=A/e;break;case v:y=A/r;break;default:y=A}return c?y:h.a(y)},s.daysInMonth=function(){return this.endOf(x).$D},s.$locale=function(){return G[this.$L]},s.locale=function(o,u){if(!o)return this.$L;var c=this.clone(),y=l(o,u,!0);return y&&(c.$L=y),c},s.clone=function(){return h.w(this.$d,this)},s.toDate=function(){return new Date(this.valueOf())},s.toJSON=function(){return this.isValid()?this.toISOString():null},s.toISOString=function(){return this.$d.toISOString()},s.toString=function(){return this.$d.toUTCString()},a})(),$=D.prototype;return d.prototype=$,[["$ms",f],["$s",v],["$m",b],["$H",N],["$W",M],["$M",x],["$y",I],["$D",Y]].forEach((function(a){$[a[1]]=function(s){return this.$g(s,a[0],a[1])}})),d.extend=function(a,s){return a.$i||(a(s,D,d),a.$i=!0),d},d.locale=l,d.isDayjs=W,d.unix=function(a){return d(1e3*a)},d.en=G[Z],d.Ls=G,d.p={},d}))})(_t)),_t.exports}var pe=Ht();const Lt=Rt(pe);var Mt={exports:{}},me=Mt.exports,Tt;function ye(){return Tt||(Tt=1,(function(t,n){(function(r,e){t.exports=e(Ht())})(me,(function(r){function e(v){return v&&typeof v=="object"&&"default"in v?v:{default:v}}var p=e(r),f={name:"fa",weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekStart:6,months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),ordinal:function(v){return v},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"}};return p.default.locale(f,null,!0),f}))})(Mt)),Mt.exports}var je=ye();const $e=Rt(je);function ge(t,n,r){let e=P((t+P(n-8,6)+100100)*1461,4)+P(153*ft(n+9,12)+2,5)+r-34840408;return e=e-P(P(t+100100+P(n-8,6),100)*3,4)+752,e}const gt=[-61,9,38,199,426,686,756,818,1111,1181,1210,1635,2060,2097,2192,2262,2324,2394,2456,3178],it=Math.floor;function ft(t,n){return t-~~(t/n)*n}function P(t,n){return~~(t/n)}function ve(t,n){const r=gt.length,e=t+621;let p=-14,f=gt[0],v,b,N;if(t<f||t>=gt[r-1])throw new Error(`Invalid Jalaali year ${t}`);for(let x=1;x<r&&(v=gt[x],b=v-f,!(t<v));x+=1)p=p+P(b,33)*8+P(ft(b,33),4),f=v;N=t-f,p=p+P(N,33)*8+P(ft(N,33)+3,4),ft(b,33)===4&&b-N===4&&(p+=1);const M=P(e,4)-P((P(e,100)+1)*3,4)-150,H=20+p-M;return{gy:e,march:H}}function _e(t,n,r){const e=ve(t);return ge(e.gy,3,e.march)+(n-1)*31-P(n,7)*(n-7)+r-1}function Me(t){let n=4*t+139361631;n=n+P(P(4*t+183187720,146097)*3,4)*4-3908;const r=P(ft(n,1461),4)*5+308,e=P(ft(r,153),5)+1,p=ft(P(r,153),12)+1;return[P(n,1461)-100100+P(8-p,6),p,e]}function De(t,n,r){return Me(_e(t,n,r))}function we(t,n,r){const e={year:t,month:n,day:r},p=[0,31,59,90,120,151,181,212,243,273,304,334];let f;t<=1600?(t-=621,e.year=0):(t-=1600,e.year=979);const v=t>2?t+1:t;return f=it((v+3)/4)+365*t-it((v+99)/100)-80+p[n-1]+it((v+399)/400)+r,e.year+=33*it(f/12053),f%=12053,e.year+=4*it(f/1461),f%=1461,f>365&&(e.year+=it((f-1)/365),f=(f-1)%365),e.month=f<186?1+it(f/31):7+it((f-186)/30),e.day=1+(f<186?f%31:(f-186)%30),[e.year,e.month,e.day]}var vt={J:(t,n,r)=>we(t,n,r),G:(t,n,r)=>De(t,n,r)};const be=/^(\d{4})[-/]?(\d{1,2})[-/]?(\d{0,2})(.*)$/,xe=/\[.*?\]|jY{2,4}|jM{1,4}|jD{1,2}|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,Yt="date",mt="day",ct="month",dt="year",It="week",Se="YYYY-MM-DDTHH:mm:ssZ",ke={jmonths:"فروردین_اردیبهشت_خرداد_تیر_مرداد_شهریور_مهر_آبان_آذر_دی_بهمن_اسفند".split("_")},Ye=(t,n,r)=>{const e=n.prototype,p=e.$utils(),f=l=>l.$C==="jalali",v=p.prettyUnit||p.p,b=p.isUndefined||p.u,N=p.padStart||p.s,M=p.monthDiff||p.m,H=p.absFloor||p.a,x=l=>function(...d){const h=l.bind(this)(...d);return h.$C=this.$C,h.isJalali()&&h.InitJalali(),h};e.startOf=x(e.startOf),e.endOf=x(e.endOf),e.add=x(e.add),e.subtract=x(e.subtract),e.set=x(e.set);const V=e.parse,I=e.init,Y=e.startOf,C=e.$set,U=e.add,L=e.format,F=e.diff,rt=e.year,E=e.month,Z=e.date,G=e.daysInMonth,K=e.toArray;r.$C="gregory",r.$fdow=6,r.calendar=function(l){return r.$C=l,r},e.calendar=function(l){const d=this.clone();return d.$C=l,d.isJalali()&&d.InitJalali(),d},e.isJalali=function(){return f(this)},r.en.jmonths="Farvardin_Ordibehesht_Khordaad_Tir_Mordaad_Shahrivar_Mehr_Aabaan_Aazar_Dey_Bahman_Esfand".split("_"),r.locale("fa",{...$e,...ke},!0);const W=function(l,d){return r(l,{locale:d.$L,utc:d.$u,calendar:d.$C})};e.init=function(l={}){I.bind(this)(l),this.isJalali()&&this.InitJalali()},e.parse=function(l){if(this.$C=l.calendar||this.$C||r.$C,l.jalali&&typeof l.date=="string"&&/.*[^Z]$/i.test(l.date)){const d=l.date.match(be);if(d){const[h,D,$]=vt.G(Number.parseInt(d[1],10),Number.parseInt(d[2],10),Number.parseInt(d[3]||1,10));l.date=`${h}-${D}-${$}${d[4]||""}`}}return V.bind(this)(l)},e.InitJalali=function(){const[l,d,h]=vt.J(this.$y,this.$M+1,this.$D);this.$jy=l,this.$jM=d-1,this.$jD=h},e.startOf=function(l,d){if(!f(this))return Y.bind(this)(l,d);const h=b(d)?!0:d,D=v(l),$=(s,o,u=this.$jy)=>{const[c,y,m]=vt.G(u,o+1,s),_=W(new Date(c,y-1,m),this);return(h?_:_.endOf(mt)).$set("hour",1)},a=(this.$W+(7-r.$fdow))%7;switch(D){case dt:return h?$(1,0):$(0,0,this.$jy+1);case ct:return h?$(1,this.$jM):$(0,(this.$jM+1)%12,this.$jy+Math.floor((this.$jM+1)/12));case It:return h?$(this.$jD-a,this.$jM):$(this.$jD+(6-a),this.$jM);default:return Y.bind(this)(l,d)}},e.$set=function(l,d){if(!f(this))return C.bind(this)(l,d);const h=v(l),D=($,a,s=this.$jy)=>{const[o,u,c]=vt.G(s,a+1,$);return this.$d.setFullYear(o),this.$d.setMonth(u-1),this.$d.setDate(c),this};switch(h){case Yt:case mt:D(d,this.$jM);break;case ct:D(this.$jD,d);break;case dt:D(this.$jD,this.$jM,d);break;default:return C.bind(this)(l,d)}return this.init(),this},e.add=function(l,d){if(!f(this))return U.bind(this)(l,d);l=Number(l);const h=d&&(d.length===1||d==="ms")?d:v(d),D=($,a)=>{const s=this.set(Yt,1).set($,a+l);return s.set(Yt,Math.min(this.$jD,s.daysInMonth()))};if(["M",ct].includes(h)){const $=this.$jM+l,a=$<0?-Math.ceil(-$/12):Math.floor($/12),s=this.$jD,o=this.set(mt,1).add(a,dt).set(ct,$-a*12);return o.set(mt,Math.min(o.daysInMonth(),s))}if(["y",dt].includes(h))return D(dt,this.$jy);if(["d",mt].includes(h)){const $=new Date(this.$d);return $.setDate($.getDate()+l),W($,this)}if(["w",It].includes(h)){const $=new Date(this.$d);return $.setDate($.getDate()+l*7),W($,this)}return U.bind(this)(l,d)},e.format=function(l,d){if(!f(this))return L.bind(this)(l,d);const h=l||Se,D=d||this.$locale(),{jmonths:$}=D;return h.replace(xe,a=>{if(a.includes("["))return a.replace(/\[|\]/g,"");switch(a){case"YY":return String(this.$jy).slice(-2);case"YYYY":return String(this.$jy);case"M":return String(this.$jM+1);case"MM":return N(this.$jM+1,2,"0");case"MMM":return $[this.$jM].slice(0,3);case"MMMM":return $[this.$jM];case"D":return String(this.$jD);case"DD":return N(this.$jD,2,"0");default:return L.bind(this)(a,d)}})},e.diff=function(l,d,h){if(!f(this))return F.bind(this)(l,d,h);const D=v(d),$=r(l);let a=M(this,$);switch(D){case dt:a/=12;break;case ct:break;default:return F.bind(this)(l,d,h)}return h?a:H(a)},e.$g=function(l,d,h){return b(l)?this[d]:this.set(h,l)},e.year=function(l){return f(this)?this.$g(l,"$jy",dt):rt.bind(this)(l)},e.month=function(l){return f(this)?this.$g(l,"$jM",ct):E.bind(this)(l)},e.date=function(l){return f(this)?this.$g(l,"$jD",mt):Z.bind(this)(l)},e.daysInMonth=function(){return f(this)?this.endOf(ct).$jD:G.bind(this)()},K&&(e.toArray=function(){return f(this)?[this.$jy,this.$jM,this.$jD,this.$H,this.$m,this.$s,this.$ms]:K.bind(this)()}),e.clone=function(){return W(this.toDate(),this)}};var Oe=Ye;Lt.extend(Oe);function wt(t){return String(t).padStart(2,"0")}function Vt(t){return String(t).padStart(4,"0")}function nt(t){const n=Lt(t).calendar("jalali");return{jy:n.year(),jm:n.month()+1,jd:n.date()}}function q(t){const{jy:n,jm:r,jd:e}=t,p=`${Vt(n)}-${wt(r)}-${wt(e)}`,f=Lt(p,{jalali:!0}).calendar("gregory").startOf("day");if(!f.isValid())throw new Error(`Invalid Jalali date parts: ${p}`);return f.toDate()}function Ut(t,n={}){const r=n.separator??"/";return`${Vt(t.jy)}${r}${wt(t.jm)}${r}${wt(t.jd)}`}function Wt(t){const n=nt(t);return{...n,formatted:Ut(n)}}function Ce(t){return t.replace(/[^\d]+/g,"-")}function Le(t){return q(t)}function Gt(t,n={}){const r=t.trim();if(!r)return null;const p=(n.allowLooseSeparators?Ce(r):r).match(/^(\d{4})[-/](\d{1,2})[-/](\d{1,2})$/);if(!p)return null;const f=Number(p[1]),v=Number(p[2]),b=Number(p[3]);try{return q({jy:f,jm:v,jd:b})}catch{return null}}const Ee=1440*60*1e3;function bt(t){return Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())}function at(t,n){const r=bt(t),e=bt(n);return r===e?0:r<e?-1:1}function Dt(t,n){return at(t,n)===0}function lt(t,n){const r=new Date(t);return r.setDate(r.getDate()+n),r}function jt(t,n,r){return!(n&&at(t,n)<0||r&&at(t,r)>0)}function Ae(t,n,r){return n&&at(t,n)<0?new Date(n):r&&at(t,r)>0?new Date(r):new Date(t)}function Bt(t,n){const r=t.jy*12+(t.jm-1)+n,e=Math.floor(r/12),p=(r%12+12)%12+1;return{jy:e,jm:p}}function zt(t,n){const r=q({jy:t,jm:n,jd:1}),e=Bt({jy:t,jm:n},1),p=q({jy:e.jy,jm:e.jm,jd:1});return Math.round((bt(p)-bt(r))/Ee)}function Ct(t,n){const r=nt(t),e=Bt({jy:r.jy,jm:r.jm},n),p=zt(e.jy,e.jm),f=Math.min(r.jd,p);return q({jy:e.jy,jm:e.jm,jd:f})}function qt(t){const{jy:n,jm:r}=t,e=t.weekStartsOn??6,p=q({jy:n,jm:r,jd:1}),v=(p.getDay()-e+7)%7,b=lt(p,-v),N=[];for(let M=0;M<6;M++){const H=[];for(let x=0;x<7;x++){const V=M*7+x,I=lt(b,V),Y=nt(I);H.push({gregorian:I,jalali:Y,inCurrentMonth:Y.jy===n&&Y.jm===r})}N.push(H)}return N}const Ne=["bottom","top","left","right"];function Ft(t,n,r){return Math.min(Math.max(t,n),r)}const Pe=typeof window<"u"?w.useLayoutEffect:w.useEffect;function Zt(t,n,r,e={}){const p=e.gutter??8,f=e.padding??8,v=e.strategy??"fixed",b=e.align??"end",N=e.placements?.join("|")??"",M=w.useMemo(()=>e.placements&&e.placements.length?e.placements:Ne,[N]),[H,x]=w.useState("bottom"),[V,I]=w.useState(()=>({position:v,top:0,left:0})),Y=w.useCallback(()=>{const C=n.current,U=r.current;if(!C||!U)return;const L=C.getBoundingClientRect(),F=U.getBoundingClientRect(),rt=window.innerWidth,E=window.innerHeight,Z=E-L.bottom-f,G=L.top-f,K=L.left-f,W=rt-L.right-f;function l(a){return a==="bottom"?Z:a==="top"?G:a==="left"?K:W}function d(a){return a==="bottom"||a==="top"?F.height+p<=l(a):F.width+p<=l(a)}let h=M.find(d)??M.reduce((a,s)=>l(s)>l(a)?s:a,M[0]),D=0,$=0;h==="bottom"||h==="top"?(D=h==="bottom"?L.bottom+p:L.top-p-F.height,b==="start"?$=L.left:b==="center"?$=L.left+(L.width-F.width)/2:$=L.right-F.width):($=h==="right"?L.right+p:L.left-p-F.width,b==="start"?D=L.top:b==="center"?D=L.top+(L.height-F.height)/2:D=L.bottom-F.height),D=Ft(D,f,E-f-F.height),$=Ft($,f,rt-f-F.width),v==="absolute"&&(D+=window.scrollY,$+=window.scrollX),x(a=>a===h?a:h),I(a=>a.position===v&&a.top===D&&a.left===$?a:{position:v,top:D,left:$})},[b,n,p,f,r,v,M]);return Pe(()=>{if(!t)return;Y();const C=window.requestAnimationFrame(Y);return()=>window.cancelAnimationFrame(C)},[t,Y]),w.useEffect(()=>{if(!t)return;let C=0;const U=()=>{C||(C=window.requestAnimationFrame(()=>{C=0,Y()}))};return window.addEventListener("resize",U),document.addEventListener("scroll",U,!0),()=>{window.removeEventListener("resize",U),document.removeEventListener("scroll",U,!0),C&&window.cancelAnimationFrame(C)}},[t,Y]),{style:V,placement:H,update:Y}}function T(...t){return t.filter(Boolean).join(" ")}function Je(t){return Wt(t).formatted}function Te(t){return Gt(t,{allowLooseSeparators:!0})}function Ie(t,n,r){return jt(t,n,r)?t:null}function yt(t){const r=nt(t??new Date);return{jy:r.jy,jm:r.jm}}function Ot(){const t=new Date;return t.setHours(0,0,0,0),t}function Fe(t){const{value:n,onChange:r,minDate:e,maxDate:p,disabled:f,placeholder:v,open:b,onOpenChange:N,mode:M="popover",theme:H="light",popover:x,formatValue:V=Je,parseValue:I=Te,weekdays:Y,monthLabels:C,renderMonthLabel:U,prevIcon:L,nextIcon:F,className:rt,classes:E}=t,Z=H==="dark"?"dvx-pdp--theme-dark":H==="auto"?"dvx-pdp--theme-auto":void 0,G=w.useRef(null),K=w.useRef(null),W=w.useRef(null),l=w.useRef(null),d=w.useRef(!1),[h,D]=w.useState(!1),[$,a]=w.useState(!1),s=M==="inline"?!0:b??$,o=w.useCallback(i=>{N?.(i),M!=="inline"&&b===void 0&&a(i)},[M,N,b]);w.useEffect(()=>{D(!0)},[]);const[u,c]=w.useState(()=>yt(n)),[y,m]=w.useState(()=>n??Ot()),[_,S]=w.useState(()=>n?V(n):""),[k,A]=w.useState("days"),[B,X]=w.useState(()=>{const i=yt(n).jy;return i-i%12}),[Q,st]=w.useState(()=>yt(n).jy);w.useEffect(()=>{if(d.current)return;S(n?V(n):""),c(yt(n)),m(n??Ot());const i=yt(n).jy;st(i),X(i-i%12)},[n,V]),w.useEffect(()=>{if(M!=="popover"||!s)return;const i=j=>{const g=G.current;if(!g)return;const J=K.current;j.target instanceof Node&&!g.contains(j.target)&&!(J&&J.contains(j.target))&&o(!1)};return document.addEventListener("pointerdown",i),()=>document.removeEventListener("pointerdown",i)},[M,s,o]),w.useEffect(()=>{s&&l.current?.focus()},[s]);const z=x??{},R=z.portal??!0,{style:tt}=Zt(M==="popover"&&s,W,K,{gutter:z.gutter,padding:z.padding,strategy:R?z.strategy:"fixed",placements:z.placements,align:z.align??"end"}),ot=w.useMemo(()=>U?U(u.jy,u.jm):C&&C.length===12?`${C[u.jm-1]??String(u.jm)} ${u.jy}`:`${u.jy} / ${u.jm}`,[C,U,u.jm,u.jy]),ht=w.useMemo(()=>Y&&Y.length===7?Y:["1","2","3","4","5","6","7"],[Y]),Kt=w.useMemo(()=>qt({jy:u.jy,jm:u.jm}),[u.jm,u.jy]),ut=n??null,Et=w.useMemo(()=>Ot(),[]);function Xt(i){const j=nt(i);c({jy:j.jy,jm:j.jm})}function xt(){if(f)return;o(!0);const i=ut??y??Et;Xt(i),A("days");const j=nt(i).jy;st(j),X(j-j%12)}function St(){o(!1),A("days"),W.current?.focus()}function At(i){const j=i.trim();if(!j){r(null);return}const g=I(j);if(!g){S(ut?V(ut):j);return}const J=Ie(g,e,p);if(!J){S(ut?V(ut):j);return}r(J)}function Qt(i){if(!f){if(i.key==="ArrowDown"){i.preventDefault(),xt();return}if(i.key==="Escape"){s&&(i.preventDefault(),St());return}if(i.key==="Enter"){i.preventDefault(),At(_);return}}}function te(i){if(s&&!f){if(i.key==="Escape"){i.preventDefault(),St();return}if(k==="days"){if(i.key==="ArrowLeft"){i.preventDefault(),m(j=>lt(j,-1));return}if(i.key==="ArrowRight"){i.preventDefault(),m(j=>lt(j,1));return}if(i.key==="ArrowUp"){i.preventDefault(),m(j=>lt(j,-7));return}if(i.key==="ArrowDown"){i.preventDefault(),m(j=>lt(j,7));return}if(i.key==="PageUp"){i.preventDefault(),$t(-1);return}if(i.key==="PageDown"){i.preventDefault(),$t(1);return}if(i.key==="Enter"){if(i.preventDefault(),!jt(y,e,p))return;r(y),S(V(y)),St()}}}}w.useEffect(()=>{if(!s)return;const i=nt(y);c(j=>j.jy===i.jy&&j.jm===i.jm?j:{jy:i.jy,jm:i.jm})},[y,s]);function ee(i){f||jt(i.gregorian,e,p)&&(r(i.gregorian),S(V(i.gregorian)),m(i.gregorian),o(!1),W.current?.focus())}function ne(i){return f?!0:!jt(i.gregorian,e,p)}function $t(i){const j=q({jy:u.jy,jm:u.jm,jd:1}),g=Ct(j,i),J=nt(g);c({jy:J.jy,jm:J.jm}),m(et=>{const pt=nt(et);return pt.jy===u.jy&&pt.jm===u.jm?Ct(et,i):g})}function re(){$t(-1)}function se(){$t(1)}function ie(i){const j=q({jy:i,jm:1,jd:1}),g=q({jy:i+1,jm:1,jd:1});return{start:j,endExclusive:g}}function ae(i,j){const g=q({jy:i,jm:j,jd:1}),J=j===12?{jy:i+1,jm:1}:{jy:i,jm:j+1},et=q({jy:J.jy,jm:J.jm,jd:1});return{start:g,endExclusive:et}}function Nt(i){return!(e&&at(i.endExclusive,e)<=0||p&&at(i.start,p)>0)}function oe(){if(k==="days"){A("years");const i=u.jy;st(i),X(i-i%12)}else A("days")}function ue(i){st(i),A("months")}function ce(i){const j={jy:Q,jm:i};c(j),m(()=>{const g=nt(y).jd;try{return q({jy:j.jy,jm:j.jm,jd:g})}catch{return q({jy:j.jy,jm:j.jm,jd:1})}}),A("days")}const kt=O.jsxs("div",{ref:l,tabIndex:-1,className:"dvx-pdp__calendar",onKeyDown:te,children:[O.jsxs("div",{className:T("dvx-pdp__header",E?.header),children:[O.jsx("button",{type:"button",className:T("dvx-pdp__nav",E?.navButton),onClick:k==="days"?re:()=>X(i=>i-12),"aria-label":"Previous month",children:L??"‹"}),O.jsx("button",{type:"button",className:T("dvx-pdp__monthLabel",E?.monthLabel),onClick:oe,"aria-label":"Choose month and year",children:k==="days"?ot:Q}),O.jsx("button",{type:"button",className:T("dvx-pdp__nav",E?.navButton),onClick:k==="days"?se:()=>X(i=>i+12),"aria-label":"Next month",children:F??"›"})]}),k==="days"?O.jsxs("div",{className:T("dvx-pdp__grid",E?.grid),children:[O.jsx("div",{className:"dvx-pdp__weekdays","aria-hidden":"true",children:ht.map((i,j)=>O.jsx("div",{className:T("dvx-pdp__weekday",E?.weekday),children:i},j))}),O.jsx("div",{className:"dvx-pdp__days",children:Kt.map((i,j)=>O.jsx("div",{className:"dvx-pdp__row",children:i.map(g=>{const J=ne(g),et=ut?Dt(g.gregorian,ut):!1,pt=Dt(g.gregorian,Et),Pt=Dt(g.gregorian,y);return O.jsx("button",{type:"button",className:T("dvx-pdp__day",E?.day,!g.inCurrentMonth&&T("dvx-pdp__day--outside",E?.dayOutside),J&&T("dvx-pdp__day--disabled",E?.dayDisabled),et&&T("dvx-pdp__day--selected",E?.daySelected),pt&&T("dvx-pdp__day--today",E?.dayToday),Pt&&"dvx-pdp__day--focused"),disabled:J,onClick:()=>ee(g),onMouseEnter:()=>{g.inCurrentMonth&&m(g.gregorian)},"aria-pressed":et,children:g.jalali.jd},`${g.jalali.jy}-${g.jalali.jm}-${g.jalali.jd}`)})},j))})]}):k==="years"?O.jsx("div",{className:"dvx-pdp__panel",children:O.jsx("div",{className:"dvx-pdp__panelGrid",children:Array.from({length:12}).map((i,j)=>{const g=B+j,J=Nt(ie(g)),et=g===u.jy;return O.jsx("button",{type:"button",className:T("dvx-pdp__cell",et&&"dvx-pdp__cell--active"),disabled:!J,onClick:()=>ue(g),children:g},g)})})}):O.jsx("div",{className:"dvx-pdp__panel",children:O.jsx("div",{className:"dvx-pdp__panelGrid",children:Array.from({length:12}).map((i,j)=>{const g=j+1,J=Nt(ae(Q,g)),et=Q===u.jy&&g===u.jm,pt=C&&C.length===12?C[g-1]??String(g):String(g);return O.jsx("button",{type:"button",className:T("dvx-pdp__cell",et&&"dvx-pdp__cell--active"),disabled:!J,onClick:()=>ce(g),children:pt},g)})})})]});return O.jsxs("div",{ref:G,className:T("dvx-pdp",Z,M==="inline"&&"dvx-pdp--inline",rt,E?.root),dir:"rtl",children:[M==="inline"?null:O.jsxs("div",{className:"dvx-pdp__control",children:[O.jsx("input",{ref:W,className:T("dvx-pdp__input",E?.input),disabled:f,placeholder:v,inputMode:"numeric",autoComplete:"off",value:_,onChange:i=>S(i.target.value),onClick:()=>{s||xt()},onFocus:()=>{d.current=!0},onBlur:()=>{d.current=!1,At(_)},onKeyDown:Qt,"aria-haspopup":"dialog","aria-expanded":s}),O.jsx("button",{type:"button",className:T("dvx-pdp__button",E?.button),onClick:()=>s?o(!1):xt(),disabled:f,"aria-label":"Open calendar",children:O.jsx("svg",{viewBox:"0 0 24 24",width:"18",height:"18","aria-hidden":"true",children:O.jsx("path",{fill:"currentColor",d:"M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1.5A2.5 2.5 0 0 1 22 6.5v13A2.5 2.5 0 0 1 19.5 22h-15A2.5 2.5 0 0 1 2 19.5v-13A2.5 2.5 0 0 1 4.5 4H6V3a1 1 0 0 1 1-1Zm0 6H4v11.5c0 .276.224.5.5.5h15c.276 0 .5-.224.5-.5V8H7Zm-2.5-2c-.276 0-.5.224-.5.5V6h16v.5c0-.276-.224-.5-.5-.5H4.5Z"})})})]}),M==="inline"?kt:s?R&&h?le.createPortal(O.jsx("div",{ref:K,className:T("dvx-pdp","dvx-pdp__popover","dvx-pdp__popover--portal",Z,E?.popover),dir:"rtl",style:{...tt,right:"auto",bottom:"auto"},role:"dialog","aria-modal":"false",children:kt}),document.body):O.jsx("div",{ref:K,className:T("dvx-pdp__popover",E?.popover),style:{...tt,right:"auto",bottom:"auto"},role:"dialog","aria-modal":"false",children:kt}):null]})}exports.PersianDatePicker=Fe;exports.addDays=lt;exports.addJalaliMonths=Ct;exports.buildJalaliMonthGrid=qt;exports.clampToRange=Ae;exports.compareDays=at;exports.formatJalali=Ut;exports.fromJalaliParts=q;exports.getJalaliMonthLength=zt;exports.isSameDay=Dt;exports.isWithinRange=jt;exports.parseJalaliText=Gt;exports.toGregorian=Le;exports.toJalali=Wt;exports.toJalaliParts=nt;exports.usePopoverPosition=Zt;
@@ -1 +1 @@
1
- {"version":3,"file":"PersianDatePicker.d.ts","sourceRoot":"","sources":["../../src/components/PersianDatePicker.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAC5C,iBAAiB,GAAG;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CACF,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG;IACrD,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC,CAAC;AAmCF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CAgnB9D"}
1
+ {"version":3,"file":"PersianDatePicker.d.ts","sourceRoot":"","sources":["../../src/components/PersianDatePicker.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAC5C,iBAAiB,GAAG;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CACF,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG;IACrD,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC,CAAC;AAmCF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CA2nB9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"PersianDateRangePicker.d.ts","sourceRoot":"","sources":["../../src/components/PersianDateRangePicker.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,OAAO,CACjD,iBAAiB,GAAG;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CACF,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,eAAe,GAAG;IAC1D,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5C;;;;OAIG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,6BAA6B,CAAC;CACzC,CAAC;AAkCF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,2CAupBxE"}
1
+ {"version":3,"file":"PersianDateRangePicker.d.ts","sourceRoot":"","sources":["../../src/components/PersianDateRangePicker.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,OAAO,CACjD,iBAAiB,GAAG;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CACF,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,eAAe,GAAG;IAC1D,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5C;;;;OAIG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,6BAA6B,CAAC;CACzC,CAAC;AAkCF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,2CAkqBxE"}
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./PersianDatePicker-BLIBy0yJ.cjs"),i=require("react/jsx-runtime"),Be=require("react"),We=require("react-dom");function Ge(d){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(d){for(const c in d)if(c!=="default"){const m=Object.getOwnPropertyDescriptor(d,c);Object.defineProperty(n,c,m.get?m:{enumerable:!0,get:()=>d[c]})}}return n.default=d,Object.freeze(n)}const o=Ge(Be);function l(...d){return d.filter(Boolean).join(" ")}function Ve(d){return r.toJalali(d).formatted}function Ie(d){return r.parseJalaliText(d,{allowLooseSeparators:!0})}function b(){const d=new Date;return d.setHours(0,0,0,0),d}function A(d){const{start:n,end:c}=d;return n&&c&&r.compareDays(n,c)>0?{start:c,end:n}:d}function Ye(d,n,c){const m=r.compareDays(n,c)<=0?n:c,g=r.compareDays(n,c)<=0?c:n;return r.compareDays(d,m)>=0&&r.compareDays(d,g)<=0}function Ue(d){const{value:n,onChange:c,minDate:m,maxDate:g,disabled:P,inputVariant:F="two",placeholder:me,rangeSeparator:S=" - ",placeholderStart:ye,placeholderEnd:je,open:B,onOpenChange:K,mode:j="popover",popover:ge,formatValue:v=Ve,parseValue:W=Ie,weekdays:N,monthLabels:h,renderMonthLabel:G,prevIcon:ve,nextIcon:xe,className:he,classes:u}=d,Q=o.useRef(null),C=o.useRef(null),V=o.useRef(null),I=o.useRef(null),Y=o.useRef(null),X=o.useRef(null),[_e,De]=o.useState(!1),[be,Pe]=o.useState(!1),y=j==="inline"?!0:B??be,E=o.useCallback(e=>{K?.(e),j!=="inline"&&B===void 0&&Pe(e)},[j,K,B]);o.useEffect(()=>{De(!0)},[]);const[U,Z]=o.useState("start"),[_,R]=o.useState("days"),[Re,k]=o.useState(()=>{const e=n.start??n.end??b(),t=r.toJalaliParts(e).jy;return t-t%12}),[T,$]=o.useState(()=>{const e=n.start??n.end??b();return r.toJalaliParts(e).jy}),[p,M]=o.useState(()=>{const e=n.start??n.end??b(),t=r.toJalaliParts(e);return{jy:t.jy,jm:t.jm}}),[w,x]=o.useState(()=>n.start??n.end??b()),[ee,te]=o.useState(null),[ne,ae]=o.useState(()=>n.start?v(n.start):""),[re,se]=o.useState(()=>n.end?v(n.end):""),[oe,L]=o.useState(()=>{const e=n.start?v(n.start):"",t=n.end?v(n.end):"";return!e&&!t?"":e&&!t?`${e}${S}`:`${e}${S}${t}`});o.useEffect(()=>{ae(n.start?v(n.start):""),se(n.end?v(n.end):"");const e=n.start?v(n.start):"",t=n.end?v(n.end):"";L(!e&&!t?"":e&&!t?`${e}${S}`:`${e}${S}${t}`);const a=n.start??n.end??b(),s=r.toJalaliParts(a);M({jy:s.jy,jm:s.jm}),x(a),$(s.jy),k(s.jy-s.jy%12)},[v,S,n.end,n.start]),o.useEffect(()=>{if(j!=="popover"||!y)return;const e=t=>{const a=Q.current;if(!a)return;const s=C.current;t.target instanceof Node&&!a.contains(t.target)&&!(s&&s.contains(t.target))&&E(!1)};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[j,y,E]),o.useEffect(()=>{y&&X.current?.focus()},[y]);const J=ge??{},ie=J.portal??!0,Je=F==="single"?V:U==="start"?I:Y,{style:de}=r.usePopoverPosition(j==="popover"&&y,Je,C,{gutter:J.gutter,padding:J.padding,strategy:ie?J.strategy:"fixed",placements:J.placements,align:J.align??"end"});o.useEffect(()=>{if(!y)return;const e=r.toJalaliParts(w);M(t=>t.jy===e.jy&&t.jm===e.jm?t:{jy:e.jy,jm:e.jm})},[w,y]);const Se=o.useMemo(()=>G?G(p.jy,p.jm):h&&h.length===12?`${h[p.jm-1]??String(p.jm)} ${p.jy}`:`${p.jy} / ${p.jm}`,[h,G,p.jm,p.jy]),ke=o.useMemo(()=>N&&N.length===7?N:["1","2","3","4","5","6","7"],[N]),Me=o.useMemo(()=>r.buildJalaliMonthGrid({jy:p.jy,jm:p.jm}),[p.jm,p.jy]);function q(e){if(P)return;Z(e),E(!0);const t=(e==="start"?n.start:n.end)??n.start??n.end??b(),a=r.toJalaliParts(t);M({jy:a.jy,jm:a.jm}),x(t),R("days"),$(a.jy),k(a.jy-a.jy%12)}function le(){E(!1),R("days"),j==="popover"&&(F==="single"?V.current?.focus():(U==="start"?I:Y).current?.focus())}function ce(e){return P?!0:!r.isWithinRange(e.gregorian,m,g)}function ue(e,t){const a=t.trim();if(!a){const D=A({...n,[e]:null});c(D);return}const s=W(a);if(!s||!r.isWithinRange(s,m,g))return;const f=A({...n,[e]:s});c(f)}function we(e){const t=e.trim();if(!t){c({start:null,end:null});return}const a=t.match(/\d{4}[^\d]\d{1,2}[^\d]\d{1,2}/g)??[],s=a[0],f=a[1];if(!s)return;const D=W(s),H=f?W(f):null;D&&r.isWithinRange(D,m,g)&&(H&&!r.isWithinRange(H,m,g)||c(A({start:D,end:H})))}function Ne(e){if(y&&!P){if(e.key==="Escape"){e.preventDefault(),le();return}if(_==="days"){if(e.key==="ArrowLeft"){e.preventDefault(),x(t=>r.addDays(t,-1));return}if(e.key==="ArrowRight"){e.preventDefault(),x(t=>r.addDays(t,1));return}if(e.key==="ArrowUp"){e.preventDefault(),x(t=>r.addDays(t,-7));return}if(e.key==="ArrowDown"){e.preventDefault(),x(t=>r.addDays(t,7));return}if(e.key==="PageUp"){e.preventDefault(),O(-1);return}if(e.key==="PageDown"){e.preventDefault(),O(1);return}if(e.key==="Enter"){if(e.preventDefault(),!r.isWithinRange(w,m,g))return;fe(w)}}}}function O(e){const t=r.fromJalaliParts({jy:p.jy,jm:p.jm,jd:1}),a=r.addJalaliMonths(t,e),s=r.toJalaliParts(a);M({jy:s.jy,jm:s.jm}),x(f=>r.addJalaliMonths(f,e))}function Ce(e){const t=r.fromJalaliParts({jy:e,jm:1,jd:1}),a=r.fromJalaliParts({jy:e+1,jm:1,jd:1});return{start:t,endExclusive:a}}function Ee(e,t){const a=r.fromJalaliParts({jy:e,jm:t,jd:1}),s=t===12?{jy:e+1,jm:1}:{jy:e,jm:t+1},f=r.fromJalaliParts({jy:s.jy,jm:s.jm,jd:1});return{start:a,endExclusive:f}}function pe(e){return!(m&&r.compareDays(e.endExclusive,m)<=0||g&&r.compareDays(e.start,g)>0)}function Te(){if(_==="days"){R("years");const e=p.jy;$(e),k(e-e%12)}else R("days")}function $e(e){$(e),R("months")}function Le(e){const t={jy:T,jm:e};M(t),x(()=>r.fromJalaliParts({jy:t.jy,jm:t.jm,jd:1})),R("days")}function fe(e){if(!r.isWithinRange(e,m,g))return;const t=n.start,a=n.end;if(!t||t&&a){c({start:e,end:null}),Z("end");return}const s=A({start:t,end:e});c(s),j==="popover"&&le()}const Oe=n.end??ee,Ae=!!(n.start&&!n.end&&ee);function Fe(e){const t=l("dvx-pdp__day",u?.day,!e.inCurrentMonth&&l("dvx-pdp__day--outside",u?.dayOutside),ce(e)&&l("dvx-pdp__day--disabled",u?.dayDisabled),r.isSameDay(e.gregorian,b())&&l("dvx-pdp__day--today",u?.dayToday)),a=n.start,s=a?Oe:null;return a&&r.isSameDay(e.gregorian,a)?l(t,"dvx-pdp__day--rangeStart",u?.dayRangeStart):s&&n.end&&r.isSameDay(e.gregorian,n.end)?l(t,"dvx-pdp__day--rangeEnd",u?.dayRangeEnd):a&&s&&(n.end||Ae)&&Ye(e.gregorian,a,s)?l(t,"dvx-pdp__day--inRange",u?.dayInRange):t}const z=i.jsxs("div",{ref:X,tabIndex:-1,className:"dvx-pdp__calendar",onKeyDown:Ne,children:[i.jsxs("div",{className:l("dvx-pdp__header",u?.header),children:[i.jsx("button",{type:"button",className:l("dvx-pdp__nav",u?.navButton),onClick:_==="days"?()=>O(-1):()=>k(e=>e-12),"aria-label":"Previous month",children:ve??"‹"}),i.jsx("button",{type:"button",className:l("dvx-pdp__monthLabel",u?.monthLabel),onClick:Te,"aria-label":"Choose month and year",children:_==="days"?Se:T}),i.jsx("button",{type:"button",className:l("dvx-pdp__nav",u?.navButton),onClick:_==="days"?()=>O(1):()=>k(e=>e+12),"aria-label":"Next month",children:xe??"›"})]}),_==="days"?i.jsxs("div",{className:l("dvx-pdp__grid",u?.grid),children:[i.jsx("div",{className:"dvx-pdp__weekdays","aria-hidden":"true",children:ke.map((e,t)=>i.jsx("div",{className:l("dvx-pdp__weekday",u?.weekday),children:e},t))}),i.jsx("div",{className:"dvx-pdp__days",children:Me.map((e,t)=>i.jsx("div",{className:"dvx-pdp__row",children:e.map(a=>{const s=ce(a),f=r.isSameDay(a.gregorian,w);return i.jsx("button",{type:"button",className:l(Fe(a),f&&"dvx-pdp__day--focused"),disabled:s,onClick:()=>fe(a.gregorian),onMouseEnter:()=>{a.inCurrentMonth&&(x(a.gregorian),n.start&&!n.end&&te(a.gregorian))},onMouseLeave:()=>te(null),children:a.jalali.jd},`${a.jalali.jy}-${a.jalali.jm}-${a.jalali.jd}`)})},t))})]}):_==="years"?i.jsx("div",{className:"dvx-pdp__panel",children:i.jsx("div",{className:"dvx-pdp__panelGrid",children:Array.from({length:12}).map((e,t)=>{const a=Re+t,s=pe(Ce(a)),f=a===p.jy;return i.jsx("button",{type:"button",className:l("dvx-pdp__cell",f&&"dvx-pdp__cell--active"),disabled:!s,onClick:()=>$e(a),children:a},a)})})}):i.jsx("div",{className:"dvx-pdp__panel",children:i.jsx("div",{className:"dvx-pdp__panelGrid",children:Array.from({length:12}).map((e,t)=>{const a=t+1,s=pe(Ee(T,a)),f=T===p.jy&&a===p.jm,D=h&&h.length===12?h[a-1]??String(a):String(a);return i.jsx("button",{type:"button",className:l("dvx-pdp__cell",f&&"dvx-pdp__cell--active"),disabled:!s,onClick:()=>Le(a),children:D},a)})})})]});return i.jsxs("div",{ref:Q,className:l("dvx-pdp",j==="inline"&&"dvx-pdp--inline",he,u?.root),dir:"rtl",children:[j==="inline"?null:i.jsx("div",{className:"dvx-pdp__control",children:F==="single"?i.jsx("input",{ref:V,className:l("dvx-pdp__input",u?.input),disabled:P,placeholder:me,inputMode:"numeric",autoComplete:"off",value:oe,onChange:e=>L(e.target.value),onClick:()=>q(U),onBlur:()=>we(oe),"aria-haspopup":"dialog","aria-expanded":y}):i.jsxs(i.Fragment,{children:[i.jsx("input",{ref:I,className:l("dvx-pdp__input",u?.input),disabled:P,placeholder:ye,inputMode:"numeric",autoComplete:"off",value:ne,onChange:e=>ae(e.target.value),onClick:()=>q("start"),onBlur:()=>ue("start",ne),"aria-haspopup":"dialog","aria-expanded":y}),i.jsx("input",{ref:Y,className:l("dvx-pdp__input",u?.input),disabled:P,placeholder:je,inputMode:"numeric",autoComplete:"off",value:re,onChange:e=>se(e.target.value),onClick:()=>q("end"),onBlur:()=>ue("end",re),"aria-haspopup":"dialog","aria-expanded":y})]})}),j==="inline"?z:y?ie&&_e?We.createPortal(i.jsx("div",{ref:C,className:l("dvx-pdp__popover","dvx-pdp__popover--portal",u?.popover),dir:"rtl",style:{...de,right:"auto",bottom:"auto"},role:"dialog","aria-modal":"false",children:z}),document.body):i.jsx("div",{ref:C,className:l("dvx-pdp__popover",u?.popover),style:{...de,right:"auto",bottom:"auto"},role:"dialog","aria-modal":"false",children:z}):null]})}exports.PersianDatePicker=r.PersianDatePicker;exports.addDays=r.addDays;exports.addJalaliMonths=r.addJalaliMonths;exports.buildJalaliMonthGrid=r.buildJalaliMonthGrid;exports.clampToRange=r.clampToRange;exports.compareDays=r.compareDays;exports.formatJalali=r.formatJalali;exports.fromJalaliParts=r.fromJalaliParts;exports.getJalaliMonthLength=r.getJalaliMonthLength;exports.isSameDay=r.isSameDay;exports.isWithinRange=r.isWithinRange;exports.parseJalaliText=r.parseJalaliText;exports.toGregorian=r.toGregorian;exports.toJalali=r.toJalali;exports.toJalaliParts=r.toJalaliParts;exports.PersianDateRangePicker=Ue;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./PersianDatePicker-D7P5lkvA.cjs"),i=require("react/jsx-runtime"),Ge=require("react"),Ve=require("react-dom");function Ie(d){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(d){for(const c in d)if(c!=="default"){const m=Object.getOwnPropertyDescriptor(d,c);Object.defineProperty(n,c,m.get?m:{enumerable:!0,get:()=>d[c]})}}return n.default=d,Object.freeze(n)}const o=Ie(Ge);function l(...d){return d.filter(Boolean).join(" ")}function Ye(d){return r.toJalali(d).formatted}function Ue(d){return r.parseJalaliText(d,{allowLooseSeparators:!0})}function b(){const d=new Date;return d.setHours(0,0,0,0),d}function A(d){const{start:n,end:c}=d;return n&&c&&r.compareDays(n,c)>0?{start:c,end:n}:d}function qe(d,n,c){const m=r.compareDays(n,c)<=0?n:c,j=r.compareDays(n,c)<=0?c:n;return r.compareDays(d,m)>=0&&r.compareDays(d,j)<=0}function ze(d){const{value:n,onChange:c,minDate:m,maxDate:j,disabled:P,inputVariant:F="two",placeholder:ve,rangeSeparator:S=" - ",placeholderStart:je,placeholderEnd:ge,open:B,onOpenChange:K,mode:v="popover",theme:Q="light",popover:he,formatValue:g=Ye,parseValue:W=Ue,weekdays:N,monthLabels:x,renderMonthLabel:G,prevIcon:xe,nextIcon:_e,className:De,classes:u}=d,X=Q==="dark"?"dvx-pdp--theme-dark":Q==="auto"?"dvx-pdp--theme-auto":void 0,Z=o.useRef(null),C=o.useRef(null),V=o.useRef(null),I=o.useRef(null),Y=o.useRef(null),ee=o.useRef(null),[be,Pe]=o.useState(!1),[Re,Je]=o.useState(!1),y=v==="inline"?!0:B??Re,E=o.useCallback(e=>{K?.(e),v!=="inline"&&B===void 0&&Je(e)},[v,K,B]);o.useEffect(()=>{Pe(!0)},[]);const[U,te]=o.useState("start"),[_,R]=o.useState("days"),[Se,k]=o.useState(()=>{const e=n.start??n.end??b(),t=r.toJalaliParts(e).jy;return t-t%12}),[T,$]=o.useState(()=>{const e=n.start??n.end??b();return r.toJalaliParts(e).jy}),[p,M]=o.useState(()=>{const e=n.start??n.end??b(),t=r.toJalaliParts(e);return{jy:t.jy,jm:t.jm}}),[w,h]=o.useState(()=>n.start??n.end??b()),[ne,ae]=o.useState(null),[re,se]=o.useState(()=>n.start?g(n.start):""),[oe,ie]=o.useState(()=>n.end?g(n.end):""),[de,L]=o.useState(()=>{const e=n.start?g(n.start):"",t=n.end?g(n.end):"";return!e&&!t?"":e&&!t?`${e}${S}`:`${e}${S}${t}`});o.useEffect(()=>{se(n.start?g(n.start):""),ie(n.end?g(n.end):"");const e=n.start?g(n.start):"",t=n.end?g(n.end):"";L(!e&&!t?"":e&&!t?`${e}${S}`:`${e}${S}${t}`);const a=n.start??n.end??b(),s=r.toJalaliParts(a);M({jy:s.jy,jm:s.jm}),h(a),$(s.jy),k(s.jy-s.jy%12)},[g,S,n.end,n.start]),o.useEffect(()=>{if(v!=="popover"||!y)return;const e=t=>{const a=Z.current;if(!a)return;const s=C.current;t.target instanceof Node&&!a.contains(t.target)&&!(s&&s.contains(t.target))&&E(!1)};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[v,y,E]),o.useEffect(()=>{y&&ee.current?.focus()},[y]);const J=he??{},le=J.portal??!0,ke=F==="single"?V:U==="start"?I:Y,{style:ce}=r.usePopoverPosition(v==="popover"&&y,ke,C,{gutter:J.gutter,padding:J.padding,strategy:le?J.strategy:"fixed",placements:J.placements,align:J.align??"end"});o.useEffect(()=>{if(!y)return;const e=r.toJalaliParts(w);M(t=>t.jy===e.jy&&t.jm===e.jm?t:{jy:e.jy,jm:e.jm})},[w,y]);const Me=o.useMemo(()=>G?G(p.jy,p.jm):x&&x.length===12?`${x[p.jm-1]??String(p.jm)} ${p.jy}`:`${p.jy} / ${p.jm}`,[x,G,p.jm,p.jy]),we=o.useMemo(()=>N&&N.length===7?N:["1","2","3","4","5","6","7"],[N]),Ne=o.useMemo(()=>r.buildJalaliMonthGrid({jy:p.jy,jm:p.jm}),[p.jm,p.jy]);function q(e){if(P)return;te(e),E(!0);const t=(e==="start"?n.start:n.end)??n.start??n.end??b(),a=r.toJalaliParts(t);M({jy:a.jy,jm:a.jm}),h(t),R("days"),$(a.jy),k(a.jy-a.jy%12)}function ue(){E(!1),R("days"),v==="popover"&&(F==="single"?V.current?.focus():(U==="start"?I:Y).current?.focus())}function pe(e){return P?!0:!r.isWithinRange(e.gregorian,m,j)}function fe(e,t){const a=t.trim();if(!a){const D=A({...n,[e]:null});c(D);return}const s=W(a);if(!s||!r.isWithinRange(s,m,j))return;const f=A({...n,[e]:s});c(f)}function Ce(e){const t=e.trim();if(!t){c({start:null,end:null});return}const a=t.match(/\d{4}[^\d]\d{1,2}[^\d]\d{1,2}/g)??[],s=a[0],f=a[1];if(!s)return;const D=W(s),H=f?W(f):null;D&&r.isWithinRange(D,m,j)&&(H&&!r.isWithinRange(H,m,j)||c(A({start:D,end:H})))}function Ee(e){if(y&&!P){if(e.key==="Escape"){e.preventDefault(),ue();return}if(_==="days"){if(e.key==="ArrowLeft"){e.preventDefault(),h(t=>r.addDays(t,-1));return}if(e.key==="ArrowRight"){e.preventDefault(),h(t=>r.addDays(t,1));return}if(e.key==="ArrowUp"){e.preventDefault(),h(t=>r.addDays(t,-7));return}if(e.key==="ArrowDown"){e.preventDefault(),h(t=>r.addDays(t,7));return}if(e.key==="PageUp"){e.preventDefault(),O(-1);return}if(e.key==="PageDown"){e.preventDefault(),O(1);return}if(e.key==="Enter"){if(e.preventDefault(),!r.isWithinRange(w,m,j))return;ye(w)}}}}function O(e){const t=r.fromJalaliParts({jy:p.jy,jm:p.jm,jd:1}),a=r.addJalaliMonths(t,e),s=r.toJalaliParts(a);M({jy:s.jy,jm:s.jm}),h(f=>r.addJalaliMonths(f,e))}function Te(e){const t=r.fromJalaliParts({jy:e,jm:1,jd:1}),a=r.fromJalaliParts({jy:e+1,jm:1,jd:1});return{start:t,endExclusive:a}}function $e(e,t){const a=r.fromJalaliParts({jy:e,jm:t,jd:1}),s=t===12?{jy:e+1,jm:1}:{jy:e,jm:t+1},f=r.fromJalaliParts({jy:s.jy,jm:s.jm,jd:1});return{start:a,endExclusive:f}}function me(e){return!(m&&r.compareDays(e.endExclusive,m)<=0||j&&r.compareDays(e.start,j)>0)}function Le(){if(_==="days"){R("years");const e=p.jy;$(e),k(e-e%12)}else R("days")}function Oe(e){$(e),R("months")}function Ae(e){const t={jy:T,jm:e};M(t),h(()=>r.fromJalaliParts({jy:t.jy,jm:t.jm,jd:1})),R("days")}function ye(e){if(!r.isWithinRange(e,m,j))return;const t=n.start,a=n.end;if(!t||t&&a){c({start:e,end:null}),te("end");return}const s=A({start:t,end:e});c(s),v==="popover"&&ue()}const Fe=n.end??ne,Be=!!(n.start&&!n.end&&ne);function We(e){const t=l("dvx-pdp__day",u?.day,!e.inCurrentMonth&&l("dvx-pdp__day--outside",u?.dayOutside),pe(e)&&l("dvx-pdp__day--disabled",u?.dayDisabled),r.isSameDay(e.gregorian,b())&&l("dvx-pdp__day--today",u?.dayToday)),a=n.start,s=a?Fe:null;return a&&r.isSameDay(e.gregorian,a)?l(t,"dvx-pdp__day--rangeStart",u?.dayRangeStart):s&&n.end&&r.isSameDay(e.gregorian,n.end)?l(t,"dvx-pdp__day--rangeEnd",u?.dayRangeEnd):a&&s&&(n.end||Be)&&qe(e.gregorian,a,s)?l(t,"dvx-pdp__day--inRange",u?.dayInRange):t}const z=i.jsxs("div",{ref:ee,tabIndex:-1,className:"dvx-pdp__calendar",onKeyDown:Ee,children:[i.jsxs("div",{className:l("dvx-pdp__header",u?.header),children:[i.jsx("button",{type:"button",className:l("dvx-pdp__nav",u?.navButton),onClick:_==="days"?()=>O(-1):()=>k(e=>e-12),"aria-label":"Previous month",children:xe??"‹"}),i.jsx("button",{type:"button",className:l("dvx-pdp__monthLabel",u?.monthLabel),onClick:Le,"aria-label":"Choose month and year",children:_==="days"?Me:T}),i.jsx("button",{type:"button",className:l("dvx-pdp__nav",u?.navButton),onClick:_==="days"?()=>O(1):()=>k(e=>e+12),"aria-label":"Next month",children:_e??"›"})]}),_==="days"?i.jsxs("div",{className:l("dvx-pdp__grid",u?.grid),children:[i.jsx("div",{className:"dvx-pdp__weekdays","aria-hidden":"true",children:we.map((e,t)=>i.jsx("div",{className:l("dvx-pdp__weekday",u?.weekday),children:e},t))}),i.jsx("div",{className:"dvx-pdp__days",children:Ne.map((e,t)=>i.jsx("div",{className:"dvx-pdp__row",children:e.map(a=>{const s=pe(a),f=r.isSameDay(a.gregorian,w);return i.jsx("button",{type:"button",className:l(We(a),f&&"dvx-pdp__day--focused"),disabled:s,onClick:()=>ye(a.gregorian),onMouseEnter:()=>{a.inCurrentMonth&&(h(a.gregorian),n.start&&!n.end&&ae(a.gregorian))},onMouseLeave:()=>ae(null),children:a.jalali.jd},`${a.jalali.jy}-${a.jalali.jm}-${a.jalali.jd}`)})},t))})]}):_==="years"?i.jsx("div",{className:"dvx-pdp__panel",children:i.jsx("div",{className:"dvx-pdp__panelGrid",children:Array.from({length:12}).map((e,t)=>{const a=Se+t,s=me(Te(a)),f=a===p.jy;return i.jsx("button",{type:"button",className:l("dvx-pdp__cell",f&&"dvx-pdp__cell--active"),disabled:!s,onClick:()=>Oe(a),children:a},a)})})}):i.jsx("div",{className:"dvx-pdp__panel",children:i.jsx("div",{className:"dvx-pdp__panelGrid",children:Array.from({length:12}).map((e,t)=>{const a=t+1,s=me($e(T,a)),f=T===p.jy&&a===p.jm,D=x&&x.length===12?x[a-1]??String(a):String(a);return i.jsx("button",{type:"button",className:l("dvx-pdp__cell",f&&"dvx-pdp__cell--active"),disabled:!s,onClick:()=>Ae(a),children:D},a)})})})]});return i.jsxs("div",{ref:Z,className:l("dvx-pdp",X,v==="inline"&&"dvx-pdp--inline",De,u?.root),dir:"rtl",children:[v==="inline"?null:i.jsx("div",{className:"dvx-pdp__control",children:F==="single"?i.jsx("input",{ref:V,className:l("dvx-pdp__input",u?.input),disabled:P,placeholder:ve,inputMode:"numeric",autoComplete:"off",value:de,onChange:e=>L(e.target.value),onClick:()=>q(U),onBlur:()=>Ce(de),"aria-haspopup":"dialog","aria-expanded":y}):i.jsxs(i.Fragment,{children:[i.jsx("input",{ref:I,className:l("dvx-pdp__input",u?.input),disabled:P,placeholder:je,inputMode:"numeric",autoComplete:"off",value:re,onChange:e=>se(e.target.value),onClick:()=>q("start"),onBlur:()=>fe("start",re),"aria-haspopup":"dialog","aria-expanded":y}),i.jsx("input",{ref:Y,className:l("dvx-pdp__input",u?.input),disabled:P,placeholder:ge,inputMode:"numeric",autoComplete:"off",value:oe,onChange:e=>ie(e.target.value),onClick:()=>q("end"),onBlur:()=>fe("end",oe),"aria-haspopup":"dialog","aria-expanded":y})]})}),v==="inline"?z:y?le&&be?Ve.createPortal(i.jsx("div",{ref:C,className:l("dvx-pdp","dvx-pdp__popover","dvx-pdp__popover--portal",X,u?.popover),dir:"rtl",style:{...ce,right:"auto",bottom:"auto"},role:"dialog","aria-modal":"false",children:z}),document.body):i.jsx("div",{ref:C,className:l("dvx-pdp__popover",u?.popover),style:{...ce,right:"auto",bottom:"auto"},role:"dialog","aria-modal":"false",children:z}):null]})}exports.PersianDatePicker=r.PersianDatePicker;exports.addDays=r.addDays;exports.addJalaliMonths=r.addJalaliMonths;exports.buildJalaliMonthGrid=r.buildJalaliMonthGrid;exports.clampToRange=r.clampToRange;exports.compareDays=r.compareDays;exports.formatJalali=r.formatJalali;exports.fromJalaliParts=r.fromJalaliParts;exports.getJalaliMonthLength=r.getJalaliMonthLength;exports.isSameDay=r.isSameDay;exports.isWithinRange=r.isWithinRange;exports.parseJalaliText=r.parseJalaliText;exports.toGregorian=r.toGregorian;exports.toJalali=r.toJalali;exports.toJalaliParts=r.toJalaliParts;exports.PersianDateRangePicker=ze;