persian-date-kit 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -176,8 +176,4 @@ MIT © [Darvix](https://github.com/aliseyedabady/darvix-persian-date-kit)
176
176
 
177
177
  ---
178
178
 
179
- <div dir="rtl" align="right">
180
-
181
- **تقدیم به روح زیبای پدربزرگم** ❤️
182
-
183
- </div>
179
+ _Dedicated to the beautiful soul of my grandfather_ ❤️
@@ -1 +1 @@
1
- "use strict";const O=require("react/jsx-runtime"),ue=require("react"),ce=require("react-dom");function de(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const s in t)if(s!=="default"){const e=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(r,s,e.get?e:{enumerable:!0,get:()=>t[s]})}}return r.default=t,Object.freeze(r)}const b=de(ue);function Ft(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var vt={exports:{}},le=vt.exports,Pt;function Rt(){return Pt||(Pt=1,(function(t,r){(function(s,e){t.exports=e()})(le,(function(){var s=1e3,e=6e4,p=36e5,l="millisecond",v="second",x="minute",L="hour",D="day",U="week",M="month",tt="quarter",N="year",S="date",P="Invalid Date",W=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,C=/\[([^\]]+)]|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(i){var n=["th","st","nd","rd"],o=i%100;return"["+i+(n[(o-20)%10]||n[o]||n[0])+"]"}},Y=function(i,n,o){var h=String(i);return!h||h.length>=n?i:""+Array(n+1-h.length).join(o)+i},rt={s:Y,z:function(i){var n=-i.utcOffset(),o=Math.abs(n),h=Math.floor(o/60),u=o%60;return(n<=0?"+":"-")+Y(h,2,"0")+":"+Y(u,2,"0")},m:function i(n,o){if(n.date()<o.date())return-i(o,n);var h=12*(o.year()-n.year())+(o.month()-n.month()),u=n.clone().add(h,M),$=o-u<0,y=n.clone().add(h+($?-1:1),M);return+(-(h+(o-u)/($?u-y:y-u))||0)},a:function(i){return i<0?Math.ceil(i)||0:Math.floor(i)},p:function(i){return{M,y:N,w:U,d:D,D:S,h:L,m:x,s:v,ms:l,Q:tt}[i]||String(i||"").toLowerCase().replace(/s$/,"")},u:function(i){return i===void 0}},G="en",H={};H[G]=F;var et="$isDayjsObject",B=function(i){return i instanceof w||!(!i||!i[et])},d=function i(n,o,h){var u;if(!n)return G;if(typeof n=="string"){var $=n.toLowerCase();H[$]&&(u=$),o&&(H[$]=o,u=$);var y=n.split("-");if(!u&&y.length>1)return i(y[0])}else{var _=n.name;H[_]=n,u=_}return!h&&u&&(G=u),u||!h&&G},c=function(i,n){if(B(i))return i.clone();var o=typeof n=="object"?n:{};return o.date=i,o.args=arguments,new w(o)},f=rt;f.l=d,f.i=B,f.w=function(i,n){return c(i,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})};var w=(function(){function i(o){this.$L=d(o.locale,null,!0),this.parse(o),this.$x=this.$x||o.x||{},this[et]=!0}var n=i.prototype;return n.parse=function(o){this.$d=(function(h){var u=h.date,$=h.utc;if(u===null)return new Date(NaN);if(f.u(u))return new Date;if(u instanceof Date)return new Date(u);if(typeof u=="string"&&!/Z$/i.test(u)){var y=u.match(W);if(y){var _=y[2]-1||0,k=(y[7]||"0").substring(0,3);return $?new Date(Date.UTC(y[1],_,y[3]||1,y[4]||0,y[5]||0,y[6]||0,k)):new Date(y[1],_,y[3]||1,y[4]||0,y[5]||0,y[6]||0,k)}}return new Date(u)})(o),this.init()},n.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()},n.$utils=function(){return f},n.isValid=function(){return this.$d.toString()!==P},n.isSame=function(o,h){var u=c(o);return this.startOf(h)<=u&&u<=this.endOf(h)},n.isAfter=function(o,h){return c(o)<this.startOf(h)},n.isBefore=function(o,h){return this.endOf(h)<c(o)},n.$g=function(o,h,u){return f.u(o)?this[h]:this.set(u,o)},n.unix=function(){return Math.floor(this.valueOf()/1e3)},n.valueOf=function(){return this.$d.getTime()},n.startOf=function(o,h){var u=this,$=!!f.u(h)||h,y=f.p(o),_=function(st,V){var nt=f.w(u.$u?Date.UTC(u.$y,V,st):new Date(u.$y,V,st),u);return $?nt:nt.endOf(D)},k=function(st,V){return f.w(u.toDate()[st].apply(u.toDate("s"),($?[0,0,0,0]:[23,59,59,999]).slice(V)),u)},J=this.$W,E=this.$M,R=this.$D,K="set"+(this.$u?"UTC":"");switch(y){case N:return $?_(1,0):_(31,11);case M:return $?_(1,E):_(0,E+1);case U:var z=this.$locale().weekStart||0,it=(J<z?J+7:J)-z;return _($?R-it:R+(6-it),E);case D:case S:return k(K+"Hours",0);case L:return k(K+"Minutes",1);case x:return k(K+"Seconds",2);case v:return k(K+"Milliseconds",3);default:return this.clone()}},n.endOf=function(o){return this.startOf(o,!1)},n.$set=function(o,h){var u,$=f.p(o),y="set"+(this.$u?"UTC":""),_=(u={},u[D]=y+"Date",u[S]=y+"Date",u[M]=y+"Month",u[N]=y+"FullYear",u[L]=y+"Hours",u[x]=y+"Minutes",u[v]=y+"Seconds",u[l]=y+"Milliseconds",u)[$],k=$===D?this.$D+(h-this.$W):h;if($===M||$===N){var J=this.clone().set(S,1);J.$d[_](k),J.init(),this.$d=J.set(S,Math.min(this.$D,J.daysInMonth())).$d}else _&&this.$d[_](k);return this.init(),this},n.set=function(o,h){return this.clone().$set(o,h)},n.get=function(o){return this[f.p(o)]()},n.add=function(o,h){var u,$=this;o=Number(o);var y=f.p(h),_=function(E){var R=c($);return f.w(R.date(R.date()+Math.round(E*o)),$)};if(y===M)return this.set(M,this.$M+o);if(y===N)return this.set(N,this.$y+o);if(y===D)return _(1);if(y===U)return _(7);var k=(u={},u[x]=e,u[L]=p,u[v]=s,u)[y]||1,J=this.$d.getTime()+o*k;return f.w(J,this)},n.subtract=function(o,h){return this.add(-1*o,h)},n.format=function(o){var h=this,u=this.$locale();if(!this.isValid())return u.invalidDate||P;var $=o||"YYYY-MM-DDTHH:mm:ssZ",y=f.z(this),_=this.$H,k=this.$m,J=this.$M,E=u.weekdays,R=u.months,K=u.meridiem,z=function(V,nt,ut,Z){return V&&(V[nt]||V(h,$))||ut[nt].slice(0,Z)},it=function(V){return f.s(_%12||12,V,"0")},st=K||function(V,nt,ut){var Z=V<12?"AM":"PM";return ut?Z.toLowerCase():Z};return $.replace(C,(function(V,nt){return nt||(function(ut){switch(ut){case"YY":return String(h.$y).slice(-2);case"YYYY":return f.s(h.$y,4,"0");case"M":return J+1;case"MM":return f.s(J+1,2,"0");case"MMM":return z(u.monthsShort,J,R,3);case"MMMM":return z(R,J);case"D":return h.$D;case"DD":return f.s(h.$D,2,"0");case"d":return String(h.$W);case"dd":return z(u.weekdaysMin,h.$W,E,2);case"ddd":return z(u.weekdaysShort,h.$W,E,3);case"dddd":return E[h.$W];case"H":return String(_);case"HH":return f.s(_,2,"0");case"h":return it(1);case"hh":return it(2);case"a":return st(_,k,!0);case"A":return st(_,k,!1);case"m":return String(k);case"mm":return f.s(k,2,"0");case"s":return String(h.$s);case"ss":return f.s(h.$s,2,"0");case"SSS":return f.s(h.$ms,3,"0");case"Z":return y}return null})(V)||y.replace(":","")}))},n.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},n.diff=function(o,h,u){var $,y=this,_=f.p(h),k=c(o),J=(k.utcOffset()-this.utcOffset())*e,E=this-k,R=function(){return f.m(y,k)};switch(_){case N:$=R()/12;break;case M:$=R();break;case tt:$=R()/3;break;case U:$=(E-J)/6048e5;break;case D:$=(E-J)/864e5;break;case L:$=E/p;break;case x:$=E/e;break;case v:$=E/s;break;default:$=E}return u?$:f.a($)},n.daysInMonth=function(){return this.endOf(M).$D},n.$locale=function(){return H[this.$L]},n.locale=function(o,h){if(!o)return this.$L;var u=this.clone(),$=d(o,h,!0);return $&&(u.$L=$),u},n.clone=function(){return f.w(this.$d,this)},n.toDate=function(){return new Date(this.valueOf())},n.toJSON=function(){return this.isValid()?this.toISOString():null},n.toISOString=function(){return this.$d.toISOString()},n.toString=function(){return this.$d.toUTCString()},i})(),m=w.prototype;return c.prototype=m,[["$ms",l],["$s",v],["$m",x],["$H",L],["$W",D],["$M",M],["$y",N],["$D",S]].forEach((function(i){m[i[1]]=function(n){return this.$g(n,i[0],i[1])}})),c.extend=function(i,n){return i.$i||(i(n,w,c),i.$i=!0),c},c.locale=d,c.isDayjs=B,c.unix=function(i){return c(1e3*i)},c.en=H[G],c.Ls=H,c.p={},c}))})(vt)),vt.exports}var fe=Rt();const Ct=Ft(fe);var _t={exports:{}},he=_t.exports,Jt;function pe(){return Jt||(Jt=1,(function(t,r){(function(s,e){t.exports=e(Rt())})(he,(function(s){function e(v){return v&&typeof v=="object"&&"default"in v?v:{default:v}}var p=e(s),l={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(l,null,!0),l}))})(_t)),_t.exports}var me=pe();const ye=Ft(me);function je(t,r,s){let e=A((t+A(r-8,6)+100100)*1461,4)+A(153*ft(r+9,12)+2,5)+s-34840408;return e=e-A(A(t+100100+A(r-8,6),100)*3,4)+752,e}const $t=[-61,9,38,199,426,686,756,818,1111,1181,1210,1635,2060,2097,2192,2262,2324,2394,2456,3178],at=Math.floor;function ft(t,r){return t-~~(t/r)*r}function A(t,r){return~~(t/r)}function $e(t,r){const s=$t.length,e=t+621;let p=-14,l=$t[0],v,x,L;if(t<l||t>=$t[s-1])throw new Error(`Invalid Jalaali year ${t}`);for(let M=1;M<s&&(v=$t[M],x=v-l,!(t<v));M+=1)p=p+A(x,33)*8+A(ft(x,33),4),l=v;L=t-l,p=p+A(L,33)*8+A(ft(L,33)+3,4),ft(x,33)===4&&x-L===4&&(p+=1);const D=A(e,4)-A((A(e,100)+1)*3,4)-150,U=20+p-D;return{gy:e,march:U}}function ge(t,r,s){const e=$e(t);return je(e.gy,3,e.march)+(r-1)*31-A(r,7)*(r-7)+s-1}function ve(t){let r=4*t+139361631;r=r+A(A(4*t+183187720,146097)*3,4)*4-3908;const s=A(ft(r,1461),4)*5+308,e=A(ft(s,153),5)+1,p=ft(A(s,153),12)+1;return[A(r,1461)-100100+A(8-p,6),p,e]}function _e(t,r,s){return ve(ge(t,r,s))}function Me(t,r,s){const e={year:t,month:r,day:s},p=[0,31,59,90,120,151,181,212,243,273,304,334];let l;t<=1600?(t-=621,e.year=0):(t-=1600,e.year=979);const v=t>2?t+1:t;return l=at((v+3)/4)+365*t-at((v+99)/100)-80+p[r-1]+at((v+399)/400)+s,e.year+=33*at(l/12053),l%=12053,e.year+=4*at(l/1461),l%=1461,l>365&&(e.year+=at((l-1)/365),l=(l-1)%365),e.month=l<186?1+at(l/31):7+at((l-186)/30),e.day=1+(l<186?l%31:(l-186)%30),[e.year,e.month,e.day]}var gt={J:(t,r,s)=>Me(t,r,s),G:(t,r,s)=>_e(t,r,s)};const De=/^(\d{4})[-/]?(\d{1,2})[-/]?(\d{0,2})(.*)$/,we=/\[.*?\]|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,kt="date",pt="day",ct="month",dt="year",Tt="week",be="YYYY-MM-DDTHH:mm:ssZ",xe={jmonths:"فروردین_اردیبهشت_خرداد_تیر_مرداد_شهریور_مهر_آبان_آذر_دی_بهمن_اسفند".split("_")},Se=(t,r,s)=>{const e=r.prototype,p=e.$utils(),l=d=>d.$C==="jalali",v=p.prettyUnit||p.p,x=p.isUndefined||p.u,L=p.padStart||p.s,D=p.monthDiff||p.m,U=p.absFloor||p.a,M=d=>function(...c){const f=d.bind(this)(...c);return f.$C=this.$C,f.isJalali()&&f.InitJalali(),f};e.startOf=M(e.startOf),e.endOf=M(e.endOf),e.add=M(e.add),e.subtract=M(e.subtract),e.set=M(e.set);const tt=e.parse,N=e.init,S=e.startOf,P=e.$set,W=e.add,C=e.format,F=e.diff,Y=e.year,rt=e.month,G=e.date,H=e.daysInMonth,et=e.toArray;s.$C="gregory",s.$fdow=6,s.calendar=function(d){return s.$C=d,s},e.calendar=function(d){const c=this.clone();return c.$C=d,c.isJalali()&&c.InitJalali(),c},e.isJalali=function(){return l(this)},s.en.jmonths="Farvardin_Ordibehesht_Khordaad_Tir_Mordaad_Shahrivar_Mehr_Aabaan_Aazar_Dey_Bahman_Esfand".split("_"),s.locale("fa",{...ye,...xe},!0);const B=function(d,c){return s(d,{locale:c.$L,utc:c.$u,calendar:c.$C})};e.init=function(d={}){N.bind(this)(d),this.isJalali()&&this.InitJalali()},e.parse=function(d){if(this.$C=d.calendar||this.$C||s.$C,d.jalali&&typeof d.date=="string"&&/.*[^Z]$/i.test(d.date)){const c=d.date.match(De);if(c){const[f,w,m]=gt.G(Number.parseInt(c[1],10),Number.parseInt(c[2],10),Number.parseInt(c[3]||1,10));d.date=`${f}-${w}-${m}${c[4]||""}`}}return tt.bind(this)(d)},e.InitJalali=function(){const[d,c,f]=gt.J(this.$y,this.$M+1,this.$D);this.$jy=d,this.$jM=c-1,this.$jD=f},e.startOf=function(d,c){if(!l(this))return S.bind(this)(d,c);const f=x(c)?!0:c,w=v(d),m=(n,o,h=this.$jy)=>{const[u,$,y]=gt.G(h,o+1,n),_=B(new Date(u,$-1,y),this);return(f?_:_.endOf(pt)).$set("hour",1)},i=(this.$W+(7-s.$fdow))%7;switch(w){case dt:return f?m(1,0):m(0,0,this.$jy+1);case ct:return f?m(1,this.$jM):m(0,(this.$jM+1)%12,this.$jy+Math.floor((this.$jM+1)/12));case Tt:return f?m(this.$jD-i,this.$jM):m(this.$jD+(6-i),this.$jM);default:return S.bind(this)(d,c)}},e.$set=function(d,c){if(!l(this))return P.bind(this)(d,c);const f=v(d),w=(m,i,n=this.$jy)=>{const[o,h,u]=gt.G(n,i+1,m);return this.$d.setFullYear(o),this.$d.setMonth(h-1),this.$d.setDate(u),this};switch(f){case kt:case pt:w(c,this.$jM);break;case ct:w(this.$jD,c);break;case dt:w(this.$jD,this.$jM,c);break;default:return P.bind(this)(d,c)}return this.init(),this},e.add=function(d,c){if(!l(this))return W.bind(this)(d,c);d=Number(d);const f=c&&(c.length===1||c==="ms")?c:v(c),w=(m,i)=>{const n=this.set(kt,1).set(m,i+d);return n.set(kt,Math.min(this.$jD,n.daysInMonth()))};if(["M",ct].includes(f)){const m=this.$jM+d,i=m<0?-Math.ceil(-m/12):Math.floor(m/12),n=this.$jD,o=this.set(pt,1).add(i,dt).set(ct,m-i*12);return o.set(pt,Math.min(o.daysInMonth(),n))}if(["y",dt].includes(f))return w(dt,this.$jy);if(["d",pt].includes(f)){const m=new Date(this.$d);return m.setDate(m.getDate()+d),B(m,this)}if(["w",Tt].includes(f)){const m=new Date(this.$d);return m.setDate(m.getDate()+d*7),B(m,this)}return W.bind(this)(d,c)},e.format=function(d,c){if(!l(this))return C.bind(this)(d,c);const f=d||be,w=c||this.$locale(),{jmonths:m}=w;return f.replace(we,i=>{if(i.includes("["))return i.replace(/\[|\]/g,"");switch(i){case"YY":return String(this.$jy).slice(-2);case"YYYY":return String(this.$jy);case"M":return String(this.$jM+1);case"MM":return L(this.$jM+1,2,"0");case"MMM":return m[this.$jM].slice(0,3);case"MMMM":return m[this.$jM];case"D":return String(this.$jD);case"DD":return L(this.$jD,2,"0");default:return C.bind(this)(i,c)}})},e.diff=function(d,c,f){if(!l(this))return F.bind(this)(d,c,f);const w=v(c),m=s(d);let i=D(this,m);switch(w){case dt:i/=12;break;case ct:break;default:return F.bind(this)(d,c,f)}return f?i:U(i)},e.$g=function(d,c,f){return x(d)?this[c]:this.set(f,d)},e.year=function(d){return l(this)?this.$g(d,"$jy",dt):Y.bind(this)(d)},e.month=function(d){return l(this)?this.$g(d,"$jM",ct):rt.bind(this)(d)},e.date=function(d){return l(this)?this.$g(d,"$jD",pt):G.bind(this)(d)},e.daysInMonth=function(){return l(this)?this.endOf(ct).$jD:H.bind(this)()},et&&(e.toArray=function(){return l(this)?[this.$jy,this.$jM,this.$jD,this.$H,this.$m,this.$s,this.$ms]:et.bind(this)()}),e.clone=function(){return B(this.toDate(),this)}};var ke=Se;Ct.extend(ke);function Dt(t){return String(t).padStart(2,"0")}function Ht(t){return String(t).padStart(4,"0")}function Q(t){const r=Ct(t).calendar("jalali");return{jy:r.year(),jm:r.month()+1,jd:r.date()}}function q(t){const{jy:r,jm:s,jd:e}=t,p=`${Ht(r)}-${Dt(s)}-${Dt(e)}`,l=Ct(p,{jalali:!0}).calendar("gregory").startOf("day");if(!l.isValid())throw new Error(`Invalid Jalali date parts: ${p}`);return l.toDate()}function Vt(t,r={}){const s=r.separator??"/";return`${Ht(t.jy)}${s}${Dt(t.jm)}${s}${Dt(t.jd)}`}function Ut(t){const r=Q(t);return{...r,formatted:Vt(r)}}function Ye(t){return t.replace(/[^\d]+/g,"-")}function Oe(t){return q(t)}function Wt(t,r={}){const s=t.trim();if(!s)return null;const p=(r.allowLooseSeparators?Ye(s):s).match(/^(\d{4})[-/](\d{1,2})[-/](\d{1,2})$/);if(!p)return null;const l=Number(p[1]),v=Number(p[2]),x=Number(p[3]);try{return q({jy:l,jm:v,jd:x})}catch{return null}}const Ce=1440*60*1e3;function wt(t){return Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())}function ot(t,r){const s=wt(t),e=wt(r);return s===e?0:s<e?-1:1}function Mt(t,r){return ot(t,r)===0}function lt(t,r){const s=new Date(t);return s.setDate(s.getDate()+r),s}function yt(t,r,s){return!(r&&ot(t,r)<0||s&&ot(t,s)>0)}function Le(t,r,s){return r&&ot(t,r)<0?new Date(r):s&&ot(t,s)>0?new Date(s):new Date(t)}function Gt(t,r){const s=t.jy*12+(t.jm-1)+r,e=Math.floor(s/12),p=(s%12+12)%12+1;return{jy:e,jm:p}}function Bt(t,r){const s=q({jy:t,jm:r,jd:1}),e=Gt({jy:t,jm:r},1),p=q({jy:e.jy,jm:e.jm,jd:1});return Math.round((wt(p)-wt(s))/Ce)}function Ot(t,r){const s=Q(t),e=Gt({jy:s.jy,jm:s.jm},r),p=Bt(e.jy,e.jm),l=Math.min(s.jd,p);return q({jy:e.jy,jm:e.jm,jd:l})}function zt(t){const{jy:r,jm:s}=t,e=t.weekStartsOn??6,p=q({jy:r,jm:s,jd:1}),v=(p.getDay()-e+7)%7,x=lt(p,-v),L=[];for(let D=0;D<6;D++){const U=[];for(let M=0;M<7;M++){const tt=D*7+M,N=lt(x,tt),S=Q(N);U.push({gregorian:N,jalali:S,inCurrentMonth:S.jy===r&&S.jm===s})}L.push(U)}return L}const Ee=["bottom","top","left","right"];function It(t,r,s){return Math.min(Math.max(t,r),s)}const Ae=typeof window<"u"?b.useLayoutEffect:b.useEffect;function qt(t,r,s,e={}){const p=e.gutter??8,l=e.padding??8,v=e.strategy??"fixed",x=e.align??"end",L=e.placements?.join("|")??"",D=b.useMemo(()=>e.placements&&e.placements.length?e.placements:Ee,[L]),[U,M]=b.useState("bottom"),[tt,N]=b.useState(()=>({position:v,top:0,left:0})),S=b.useCallback(()=>{const P=r.current,W=s.current;if(!P||!W)return;const C=P.getBoundingClientRect(),F=W.getBoundingClientRect(),Y=window.innerWidth,rt=window.innerHeight,G=rt-C.bottom-l,H=C.top-l,et=C.left-l,B=Y-C.right-l;function d(i){return i==="bottom"?G:i==="top"?H:i==="left"?et:B}function c(i){return i==="bottom"||i==="top"?F.height+p<=d(i):F.width+p<=d(i)}let f=D.find(c)??D.reduce((i,n)=>d(n)>d(i)?n:i,D[0]),w=0,m=0;f==="bottom"||f==="top"?(w=f==="bottom"?C.bottom+p:C.top-p-F.height,x==="start"?m=C.left:x==="center"?m=C.left+(C.width-F.width)/2:m=C.right-F.width):(m=f==="right"?C.right+p:C.left-p-F.width,x==="start"?w=C.top:x==="center"?w=C.top+(C.height-F.height)/2:w=C.bottom-F.height),w=It(w,l,rt-l-F.height),m=It(m,l,Y-l-F.width),v==="absolute"&&(w+=window.scrollY,m+=window.scrollX),M(i=>i===f?i:f),N(i=>i.position===v&&i.top===w&&i.left===m?i:{position:v,top:w,left:m})},[x,r,p,l,s,v,D]);return Ae(()=>{if(!t)return;S();const P=window.requestAnimationFrame(S);return()=>window.cancelAnimationFrame(P)},[t,S]),b.useEffect(()=>{if(!t)return;let P=0;const W=()=>{P||(P=window.requestAnimationFrame(()=>{P=0,S()}))};return window.addEventListener("resize",W),document.addEventListener("scroll",W,!0),()=>{window.removeEventListener("resize",W),document.removeEventListener("scroll",W,!0),P&&window.cancelAnimationFrame(P)}},[t,S]),{style:tt,placement:U,update:S}}function I(...t){return t.filter(Boolean).join(" ")}function Ne(t){return Ut(t).formatted}function Pe(t){return Wt(t,{allowLooseSeparators:!0})}function Je(t,r,s){return yt(t,r,s)?t:null}function mt(t){const s=Q(t??new Date);return{jy:s.jy,jm:s.jm}}function Yt(){const t=new Date;return t.setHours(0,0,0,0),t}function Te(t){const{value:r,onChange:s,minDate:e,maxDate:p,disabled:l,placeholder:v,open:x,onOpenChange:L,mode:D="popover",popover:U,formatValue:M=Ne,parseValue:tt=Pe,weekdays:N,monthLabels:S,renderMonthLabel:P,prevIcon:W,nextIcon:C,className:F,classes:Y}=t,rt=b.useRef(null),G=b.useRef(null),H=b.useRef(null),et=b.useRef(null),B=b.useRef(!1),[d,c]=b.useState(!1),[f,w]=b.useState(!1),m=D==="inline"?!0:x??f,i=b.useCallback(a=>{L?.(a),D!=="inline"&&x===void 0&&w(a)},[D,L,x]);b.useEffect(()=>{c(!0)},[]);const[n,o]=b.useState(()=>mt(r)),[h,u]=b.useState(()=>r??Yt()),[$,y]=b.useState(()=>r?M(r):""),[_,k]=b.useState("days"),[J,E]=b.useState(()=>{const a=mt(r).jy;return a-a%12}),[R,K]=b.useState(()=>mt(r).jy);b.useEffect(()=>{if(B.current)return;y(r?M(r):""),o(mt(r)),u(r??Yt());const a=mt(r).jy;K(a),E(a-a%12)},[r,M]),b.useEffect(()=>{if(D!=="popover"||!m)return;const a=j=>{const g=rt.current;if(!g)return;const T=G.current;j.target instanceof Node&&!g.contains(j.target)&&!(T&&T.contains(j.target))&&i(!1)};return document.addEventListener("pointerdown",a),()=>document.removeEventListener("pointerdown",a)},[D,m,i]),b.useEffect(()=>{m&&et.current?.focus()},[m]);const z=U??{},it=z.portal??!0,{style:st}=qt(D==="popover"&&m&&it,H,G,{gutter:z.gutter,padding:z.padding,strategy:z.strategy,placements:z.placements,align:z.align??"end"}),V=b.useMemo(()=>P?P(n.jy,n.jm):S&&S.length===12?`${S[n.jm-1]??String(n.jm)} ${n.jy}`:`${n.jy} / ${n.jm}`,[S,P,n.jm,n.jy]),nt=b.useMemo(()=>N&&N.length===7?N:["1","2","3","4","5","6","7"],[N]),ut=b.useMemo(()=>zt({jy:n.jy,jm:n.jm}),[n.jm,n.jy]),Z=r??null,Lt=b.useMemo(()=>Yt(),[]);function Zt(a){const j=Q(a);o({jy:j.jy,jm:j.jm})}function bt(){if(l)return;i(!0);const a=Z??h??Lt;Zt(a),k("days");const j=Q(a).jy;K(j),E(j-j%12)}function xt(){i(!1),k("days"),H.current?.focus()}function Et(a){const j=a.trim();if(!j){s(null);return}const g=tt(j);if(!g){y(Z?M(Z):j);return}const T=Je(g,e,p);if(!T){y(Z?M(Z):j);return}s(T)}function Kt(a){if(!l){if(a.key==="ArrowDown"){a.preventDefault(),bt();return}if(a.key==="Escape"){m&&(a.preventDefault(),xt());return}if(a.key==="Enter"){a.preventDefault(),Et($);return}}}function Xt(a){if(m&&!l){if(a.key==="Escape"){a.preventDefault(),xt();return}if(_==="days"){if(a.key==="ArrowLeft"){a.preventDefault(),u(j=>lt(j,-1));return}if(a.key==="ArrowRight"){a.preventDefault(),u(j=>lt(j,1));return}if(a.key==="ArrowUp"){a.preventDefault(),u(j=>lt(j,-7));return}if(a.key==="ArrowDown"){a.preventDefault(),u(j=>lt(j,7));return}if(a.key==="PageUp"){a.preventDefault(),jt(-1);return}if(a.key==="PageDown"){a.preventDefault(),jt(1);return}if(a.key==="Enter"){if(a.preventDefault(),!yt(h,e,p))return;s(h),y(M(h)),xt()}}}}b.useEffect(()=>{if(!m)return;const a=Q(h);o(j=>j.jy===a.jy&&j.jm===a.jm?j:{jy:a.jy,jm:a.jm})},[h,m]);function Qt(a){l||yt(a.gregorian,e,p)&&(s(a.gregorian),y(M(a.gregorian)),u(a.gregorian),i(!1),H.current?.focus())}function te(a){return l?!0:!yt(a.gregorian,e,p)}function jt(a){const j=q({jy:n.jy,jm:n.jm,jd:1}),g=Ot(j,a),T=Q(g);o({jy:T.jy,jm:T.jm}),u(X=>{const ht=Q(X);return ht.jy===n.jy&&ht.jm===n.jm?Ot(X,a):g})}function ee(){jt(-1)}function ne(){jt(1)}function re(a){const j=q({jy:a,jm:1,jd:1}),g=q({jy:a+1,jm:1,jd:1});return{start:j,endExclusive:g}}function se(a,j){const g=q({jy:a,jm:j,jd:1}),T=j===12?{jy:a+1,jm:1}:{jy:a,jm:j+1},X=q({jy:T.jy,jm:T.jm,jd:1});return{start:g,endExclusive:X}}function At(a){return!(e&&ot(a.endExclusive,e)<=0||p&&ot(a.start,p)>0)}function ie(){if(_==="days"){k("years");const a=n.jy;K(a),E(a-a%12)}else k("days")}function ae(a){K(a),k("months")}function oe(a){const j={jy:R,jm:a};o(j),u(()=>{const g=Q(h).jd;try{return q({jy:j.jy,jm:j.jm,jd:g})}catch{return q({jy:j.jy,jm:j.jm,jd:1})}}),k("days")}const St=O.jsxs("div",{ref:et,tabIndex:-1,className:"dvx-pdp__calendar",onKeyDown:Xt,children:[O.jsxs("div",{className:I("dvx-pdp__header",Y?.header),children:[O.jsx("button",{type:"button",className:I("dvx-pdp__nav",Y?.navButton),onClick:_==="days"?ee:()=>E(a=>a-12),"aria-label":"Previous month",children:W??"‹"}),O.jsx("button",{type:"button",className:I("dvx-pdp__monthLabel",Y?.monthLabel),onClick:ie,"aria-label":"Choose month and year",children:_==="days"?V:R}),O.jsx("button",{type:"button",className:I("dvx-pdp__nav",Y?.navButton),onClick:_==="days"?ne:()=>E(a=>a+12),"aria-label":"Next month",children:C??"›"})]}),_==="days"?O.jsxs("div",{className:I("dvx-pdp__grid",Y?.grid),children:[O.jsx("div",{className:"dvx-pdp__weekdays","aria-hidden":"true",children:nt.map((a,j)=>O.jsx("div",{className:I("dvx-pdp__weekday",Y?.weekday),children:a},j))}),O.jsx("div",{className:"dvx-pdp__days",children:ut.map((a,j)=>O.jsx("div",{className:"dvx-pdp__row",children:a.map(g=>{const T=te(g),X=Z?Mt(g.gregorian,Z):!1,ht=Mt(g.gregorian,Lt),Nt=Mt(g.gregorian,h);return O.jsx("button",{type:"button",className:I("dvx-pdp__day",Y?.day,!g.inCurrentMonth&&I("dvx-pdp__day--outside",Y?.dayOutside),T&&I("dvx-pdp__day--disabled",Y?.dayDisabled),X&&I("dvx-pdp__day--selected",Y?.daySelected),ht&&I("dvx-pdp__day--today",Y?.dayToday),Nt&&"dvx-pdp__day--focused"),disabled:T,onClick:()=>Qt(g),onMouseEnter:()=>{g.inCurrentMonth&&u(g.gregorian)},"aria-pressed":X,children:g.jalali.jd},`${g.jalali.jy}-${g.jalali.jm}-${g.jalali.jd}`)})},j))})]}):_==="years"?O.jsx("div",{className:"dvx-pdp__panel",children:O.jsx("div",{className:"dvx-pdp__panelGrid",children:Array.from({length:12}).map((a,j)=>{const g=J+j,T=At(re(g)),X=g===n.jy;return O.jsx("button",{type:"button",className:I("dvx-pdp__cell",X&&"dvx-pdp__cell--active"),disabled:!T,onClick:()=>ae(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((a,j)=>{const g=j+1,T=At(se(R,g)),X=R===n.jy&&g===n.jm,ht=S&&S.length===12?S[g-1]??String(g):String(g);return O.jsx("button",{type:"button",className:I("dvx-pdp__cell",X&&"dvx-pdp__cell--active"),disabled:!T,onClick:()=>oe(g),children:ht},g)})})})]});return O.jsxs("div",{ref:rt,className:I("dvx-pdp",D==="inline"&&"dvx-pdp--inline",F,Y?.root),dir:"rtl",children:[D==="inline"?null:O.jsxs("div",{className:"dvx-pdp__control",children:[O.jsx("input",{ref:H,className:I("dvx-pdp__input",Y?.input),disabled:l,placeholder:v,inputMode:"numeric",autoComplete:"off",value:$,onChange:a=>y(a.target.value),onClick:()=>{m||bt()},onFocus:()=>{B.current=!0},onBlur:()=>{B.current=!1,Et($)},onKeyDown:Kt,"aria-haspopup":"dialog","aria-expanded":m}),O.jsx("button",{type:"button",className:I("dvx-pdp__button",Y?.button),onClick:()=>m?i(!1):bt(),disabled:l,"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"})})})]}),D==="inline"?St:m?it&&d?ce.createPortal(O.jsx("div",{ref:G,className:I("dvx-pdp__popover","dvx-pdp__popover--portal",Y?.popover),dir:"rtl",style:{...st,right:"auto",bottom:"auto"},role:"dialog","aria-modal":"false",children:St}),document.body):O.jsx("div",{ref:G,className:I("dvx-pdp__popover",Y?.popover),role:"dialog","aria-modal":"false",children:St}):null]})}exports.PersianDatePicker=Te;exports.addDays=lt;exports.addJalaliMonths=Ot;exports.buildJalaliMonthGrid=zt;exports.clampToRange=Le;exports.compareDays=ot;exports.formatJalali=Vt;exports.fromJalaliParts=q;exports.getJalaliMonthLength=Bt;exports.isSameDay=Mt;exports.isWithinRange=yt;exports.parseJalaliText=Wt;exports.toGregorian=Oe;exports.toJalali=Ut;exports.toJalaliParts=Q;exports.usePopoverPosition=qt;
1
+ "use strict";const O=require("react/jsx-runtime"),ue=require("react"),ce=require("react-dom");function de(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const s in t)if(s!=="default"){const e=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(r,s,e.get?e:{enumerable:!0,get:()=>t[s]})}}return r.default=t,Object.freeze(r)}const b=de(ue);function Ft(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var vt={exports:{}},le=vt.exports,Pt;function Rt(){return Pt||(Pt=1,(function(t,r){(function(s,e){t.exports=e()})(le,(function(){var s=1e3,e=6e4,p=36e5,l="millisecond",v="second",x="minute",L="hour",D="day",U="week",M="month",tt="quarter",N="year",S="date",P="Invalid Date",W=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,C=/\[([^\]]+)]|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(i){var n=["th","st","nd","rd"],o=i%100;return"["+i+(n[(o-20)%10]||n[o]||n[0])+"]"}},Y=function(i,n,o){var h=String(i);return!h||h.length>=n?i:""+Array(n+1-h.length).join(o)+i},st={s:Y,z:function(i){var n=-i.utcOffset(),o=Math.abs(n),h=Math.floor(o/60),u=o%60;return(n<=0?"+":"-")+Y(h,2,"0")+":"+Y(u,2,"0")},m:function i(n,o){if(n.date()<o.date())return-i(o,n);var h=12*(o.year()-n.year())+(o.month()-n.month()),u=n.clone().add(h,M),$=o-u<0,y=n.clone().add(h+($?-1:1),M);return+(-(h+(o-u)/($?u-y:y-u))||0)},a:function(i){return i<0?Math.ceil(i)||0:Math.floor(i)},p:function(i){return{M,y:N,w:U,d:D,D:S,h:L,m:x,s:v,ms:l,Q:tt}[i]||String(i||"").toLowerCase().replace(/s$/,"")},u:function(i){return i===void 0}},G="en",H={};H[G]=F;var et="$isDayjsObject",B=function(i){return i instanceof w||!(!i||!i[et])},d=function i(n,o,h){var u;if(!n)return G;if(typeof n=="string"){var $=n.toLowerCase();H[$]&&(u=$),o&&(H[$]=o,u=$);var y=n.split("-");if(!u&&y.length>1)return i(y[0])}else{var _=n.name;H[_]=n,u=_}return!h&&u&&(G=u),u||!h&&G},c=function(i,n){if(B(i))return i.clone();var o=typeof n=="object"?n:{};return o.date=i,o.args=arguments,new w(o)},f=st;f.l=d,f.i=B,f.w=function(i,n){return c(i,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})};var w=(function(){function i(o){this.$L=d(o.locale,null,!0),this.parse(o),this.$x=this.$x||o.x||{},this[et]=!0}var n=i.prototype;return n.parse=function(o){this.$d=(function(h){var u=h.date,$=h.utc;if(u===null)return new Date(NaN);if(f.u(u))return new Date;if(u instanceof Date)return new Date(u);if(typeof u=="string"&&!/Z$/i.test(u)){var y=u.match(W);if(y){var _=y[2]-1||0,k=(y[7]||"0").substring(0,3);return $?new Date(Date.UTC(y[1],_,y[3]||1,y[4]||0,y[5]||0,y[6]||0,k)):new Date(y[1],_,y[3]||1,y[4]||0,y[5]||0,y[6]||0,k)}}return new Date(u)})(o),this.init()},n.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()},n.$utils=function(){return f},n.isValid=function(){return this.$d.toString()!==P},n.isSame=function(o,h){var u=c(o);return this.startOf(h)<=u&&u<=this.endOf(h)},n.isAfter=function(o,h){return c(o)<this.startOf(h)},n.isBefore=function(o,h){return this.endOf(h)<c(o)},n.$g=function(o,h,u){return f.u(o)?this[h]:this.set(u,o)},n.unix=function(){return Math.floor(this.valueOf()/1e3)},n.valueOf=function(){return this.$d.getTime()},n.startOf=function(o,h){var u=this,$=!!f.u(h)||h,y=f.p(o),_=function(nt,V){var rt=f.w(u.$u?Date.UTC(u.$y,V,nt):new Date(u.$y,V,nt),u);return $?rt:rt.endOf(D)},k=function(nt,V){return f.w(u.toDate()[nt].apply(u.toDate("s"),($?[0,0,0,0]:[23,59,59,999]).slice(V)),u)},J=this.$W,E=this.$M,R=this.$D,K="set"+(this.$u?"UTC":"");switch(y){case N:return $?_(1,0):_(31,11);case M:return $?_(1,E):_(0,E+1);case U:var z=this.$locale().weekStart||0,it=(J<z?J+7:J)-z;return _($?R-it:R+(6-it),E);case D:case S:return k(K+"Hours",0);case L:return k(K+"Minutes",1);case x:return k(K+"Seconds",2);case v:return k(K+"Milliseconds",3);default:return this.clone()}},n.endOf=function(o){return this.startOf(o,!1)},n.$set=function(o,h){var u,$=f.p(o),y="set"+(this.$u?"UTC":""),_=(u={},u[D]=y+"Date",u[S]=y+"Date",u[M]=y+"Month",u[N]=y+"FullYear",u[L]=y+"Hours",u[x]=y+"Minutes",u[v]=y+"Seconds",u[l]=y+"Milliseconds",u)[$],k=$===D?this.$D+(h-this.$W):h;if($===M||$===N){var J=this.clone().set(S,1);J.$d[_](k),J.init(),this.$d=J.set(S,Math.min(this.$D,J.daysInMonth())).$d}else _&&this.$d[_](k);return this.init(),this},n.set=function(o,h){return this.clone().$set(o,h)},n.get=function(o){return this[f.p(o)]()},n.add=function(o,h){var u,$=this;o=Number(o);var y=f.p(h),_=function(E){var R=c($);return f.w(R.date(R.date()+Math.round(E*o)),$)};if(y===M)return this.set(M,this.$M+o);if(y===N)return this.set(N,this.$y+o);if(y===D)return _(1);if(y===U)return _(7);var k=(u={},u[x]=e,u[L]=p,u[v]=s,u)[y]||1,J=this.$d.getTime()+o*k;return f.w(J,this)},n.subtract=function(o,h){return this.add(-1*o,h)},n.format=function(o){var h=this,u=this.$locale();if(!this.isValid())return u.invalidDate||P;var $=o||"YYYY-MM-DDTHH:mm:ssZ",y=f.z(this),_=this.$H,k=this.$m,J=this.$M,E=u.weekdays,R=u.months,K=u.meridiem,z=function(V,rt,ut,Z){return V&&(V[rt]||V(h,$))||ut[rt].slice(0,Z)},it=function(V){return f.s(_%12||12,V,"0")},nt=K||function(V,rt,ut){var Z=V<12?"AM":"PM";return ut?Z.toLowerCase():Z};return $.replace(C,(function(V,rt){return rt||(function(ut){switch(ut){case"YY":return String(h.$y).slice(-2);case"YYYY":return f.s(h.$y,4,"0");case"M":return J+1;case"MM":return f.s(J+1,2,"0");case"MMM":return z(u.monthsShort,J,R,3);case"MMMM":return z(R,J);case"D":return h.$D;case"DD":return f.s(h.$D,2,"0");case"d":return String(h.$W);case"dd":return z(u.weekdaysMin,h.$W,E,2);case"ddd":return z(u.weekdaysShort,h.$W,E,3);case"dddd":return E[h.$W];case"H":return String(_);case"HH":return f.s(_,2,"0");case"h":return it(1);case"hh":return it(2);case"a":return nt(_,k,!0);case"A":return nt(_,k,!1);case"m":return String(k);case"mm":return f.s(k,2,"0");case"s":return String(h.$s);case"ss":return f.s(h.$s,2,"0");case"SSS":return f.s(h.$ms,3,"0");case"Z":return y}return null})(V)||y.replace(":","")}))},n.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},n.diff=function(o,h,u){var $,y=this,_=f.p(h),k=c(o),J=(k.utcOffset()-this.utcOffset())*e,E=this-k,R=function(){return f.m(y,k)};switch(_){case N:$=R()/12;break;case M:$=R();break;case tt:$=R()/3;break;case U:$=(E-J)/6048e5;break;case D:$=(E-J)/864e5;break;case L:$=E/p;break;case x:$=E/e;break;case v:$=E/s;break;default:$=E}return u?$:f.a($)},n.daysInMonth=function(){return this.endOf(M).$D},n.$locale=function(){return H[this.$L]},n.locale=function(o,h){if(!o)return this.$L;var u=this.clone(),$=d(o,h,!0);return $&&(u.$L=$),u},n.clone=function(){return f.w(this.$d,this)},n.toDate=function(){return new Date(this.valueOf())},n.toJSON=function(){return this.isValid()?this.toISOString():null},n.toISOString=function(){return this.$d.toISOString()},n.toString=function(){return this.$d.toUTCString()},i})(),m=w.prototype;return c.prototype=m,[["$ms",l],["$s",v],["$m",x],["$H",L],["$W",D],["$M",M],["$y",N],["$D",S]].forEach((function(i){m[i[1]]=function(n){return this.$g(n,i[0],i[1])}})),c.extend=function(i,n){return i.$i||(i(n,w,c),i.$i=!0),c},c.locale=d,c.isDayjs=B,c.unix=function(i){return c(1e3*i)},c.en=H[G],c.Ls=H,c.p={},c}))})(vt)),vt.exports}var fe=Rt();const Ct=Ft(fe);var _t={exports:{}},he=_t.exports,Jt;function pe(){return Jt||(Jt=1,(function(t,r){(function(s,e){t.exports=e(Rt())})(he,(function(s){function e(v){return v&&typeof v=="object"&&"default"in v?v:{default:v}}var p=e(s),l={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(l,null,!0),l}))})(_t)),_t.exports}var me=pe();const ye=Ft(me);function je(t,r,s){let e=A((t+A(r-8,6)+100100)*1461,4)+A(153*ft(r+9,12)+2,5)+s-34840408;return e=e-A(A(t+100100+A(r-8,6),100)*3,4)+752,e}const $t=[-61,9,38,199,426,686,756,818,1111,1181,1210,1635,2060,2097,2192,2262,2324,2394,2456,3178],at=Math.floor;function ft(t,r){return t-~~(t/r)*r}function A(t,r){return~~(t/r)}function $e(t,r){const s=$t.length,e=t+621;let p=-14,l=$t[0],v,x,L;if(t<l||t>=$t[s-1])throw new Error(`Invalid Jalaali year ${t}`);for(let M=1;M<s&&(v=$t[M],x=v-l,!(t<v));M+=1)p=p+A(x,33)*8+A(ft(x,33),4),l=v;L=t-l,p=p+A(L,33)*8+A(ft(L,33)+3,4),ft(x,33)===4&&x-L===4&&(p+=1);const D=A(e,4)-A((A(e,100)+1)*3,4)-150,U=20+p-D;return{gy:e,march:U}}function ge(t,r,s){const e=$e(t);return je(e.gy,3,e.march)+(r-1)*31-A(r,7)*(r-7)+s-1}function ve(t){let r=4*t+139361631;r=r+A(A(4*t+183187720,146097)*3,4)*4-3908;const s=A(ft(r,1461),4)*5+308,e=A(ft(s,153),5)+1,p=ft(A(s,153),12)+1;return[A(r,1461)-100100+A(8-p,6),p,e]}function _e(t,r,s){return ve(ge(t,r,s))}function Me(t,r,s){const e={year:t,month:r,day:s},p=[0,31,59,90,120,151,181,212,243,273,304,334];let l;t<=1600?(t-=621,e.year=0):(t-=1600,e.year=979);const v=t>2?t+1:t;return l=at((v+3)/4)+365*t-at((v+99)/100)-80+p[r-1]+at((v+399)/400)+s,e.year+=33*at(l/12053),l%=12053,e.year+=4*at(l/1461),l%=1461,l>365&&(e.year+=at((l-1)/365),l=(l-1)%365),e.month=l<186?1+at(l/31):7+at((l-186)/30),e.day=1+(l<186?l%31:(l-186)%30),[e.year,e.month,e.day]}var gt={J:(t,r,s)=>Me(t,r,s),G:(t,r,s)=>_e(t,r,s)};const De=/^(\d{4})[-/]?(\d{1,2})[-/]?(\d{0,2})(.*)$/,we=/\[.*?\]|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,kt="date",pt="day",ct="month",dt="year",Tt="week",be="YYYY-MM-DDTHH:mm:ssZ",xe={jmonths:"فروردین_اردیبهشت_خرداد_تیر_مرداد_شهریور_مهر_آبان_آذر_دی_بهمن_اسفند".split("_")},Se=(t,r,s)=>{const e=r.prototype,p=e.$utils(),l=d=>d.$C==="jalali",v=p.prettyUnit||p.p,x=p.isUndefined||p.u,L=p.padStart||p.s,D=p.monthDiff||p.m,U=p.absFloor||p.a,M=d=>function(...c){const f=d.bind(this)(...c);return f.$C=this.$C,f.isJalali()&&f.InitJalali(),f};e.startOf=M(e.startOf),e.endOf=M(e.endOf),e.add=M(e.add),e.subtract=M(e.subtract),e.set=M(e.set);const tt=e.parse,N=e.init,S=e.startOf,P=e.$set,W=e.add,C=e.format,F=e.diff,Y=e.year,st=e.month,G=e.date,H=e.daysInMonth,et=e.toArray;s.$C="gregory",s.$fdow=6,s.calendar=function(d){return s.$C=d,s},e.calendar=function(d){const c=this.clone();return c.$C=d,c.isJalali()&&c.InitJalali(),c},e.isJalali=function(){return l(this)},s.en.jmonths="Farvardin_Ordibehesht_Khordaad_Tir_Mordaad_Shahrivar_Mehr_Aabaan_Aazar_Dey_Bahman_Esfand".split("_"),s.locale("fa",{...ye,...xe},!0);const B=function(d,c){return s(d,{locale:c.$L,utc:c.$u,calendar:c.$C})};e.init=function(d={}){N.bind(this)(d),this.isJalali()&&this.InitJalali()},e.parse=function(d){if(this.$C=d.calendar||this.$C||s.$C,d.jalali&&typeof d.date=="string"&&/.*[^Z]$/i.test(d.date)){const c=d.date.match(De);if(c){const[f,w,m]=gt.G(Number.parseInt(c[1],10),Number.parseInt(c[2],10),Number.parseInt(c[3]||1,10));d.date=`${f}-${w}-${m}${c[4]||""}`}}return tt.bind(this)(d)},e.InitJalali=function(){const[d,c,f]=gt.J(this.$y,this.$M+1,this.$D);this.$jy=d,this.$jM=c-1,this.$jD=f},e.startOf=function(d,c){if(!l(this))return S.bind(this)(d,c);const f=x(c)?!0:c,w=v(d),m=(n,o,h=this.$jy)=>{const[u,$,y]=gt.G(h,o+1,n),_=B(new Date(u,$-1,y),this);return(f?_:_.endOf(pt)).$set("hour",1)},i=(this.$W+(7-s.$fdow))%7;switch(w){case dt:return f?m(1,0):m(0,0,this.$jy+1);case ct:return f?m(1,this.$jM):m(0,(this.$jM+1)%12,this.$jy+Math.floor((this.$jM+1)/12));case Tt:return f?m(this.$jD-i,this.$jM):m(this.$jD+(6-i),this.$jM);default:return S.bind(this)(d,c)}},e.$set=function(d,c){if(!l(this))return P.bind(this)(d,c);const f=v(d),w=(m,i,n=this.$jy)=>{const[o,h,u]=gt.G(n,i+1,m);return this.$d.setFullYear(o),this.$d.setMonth(h-1),this.$d.setDate(u),this};switch(f){case kt:case pt:w(c,this.$jM);break;case ct:w(this.$jD,c);break;case dt:w(this.$jD,this.$jM,c);break;default:return P.bind(this)(d,c)}return this.init(),this},e.add=function(d,c){if(!l(this))return W.bind(this)(d,c);d=Number(d);const f=c&&(c.length===1||c==="ms")?c:v(c),w=(m,i)=>{const n=this.set(kt,1).set(m,i+d);return n.set(kt,Math.min(this.$jD,n.daysInMonth()))};if(["M",ct].includes(f)){const m=this.$jM+d,i=m<0?-Math.ceil(-m/12):Math.floor(m/12),n=this.$jD,o=this.set(pt,1).add(i,dt).set(ct,m-i*12);return o.set(pt,Math.min(o.daysInMonth(),n))}if(["y",dt].includes(f))return w(dt,this.$jy);if(["d",pt].includes(f)){const m=new Date(this.$d);return m.setDate(m.getDate()+d),B(m,this)}if(["w",Tt].includes(f)){const m=new Date(this.$d);return m.setDate(m.getDate()+d*7),B(m,this)}return W.bind(this)(d,c)},e.format=function(d,c){if(!l(this))return C.bind(this)(d,c);const f=d||be,w=c||this.$locale(),{jmonths:m}=w;return f.replace(we,i=>{if(i.includes("["))return i.replace(/\[|\]/g,"");switch(i){case"YY":return String(this.$jy).slice(-2);case"YYYY":return String(this.$jy);case"M":return String(this.$jM+1);case"MM":return L(this.$jM+1,2,"0");case"MMM":return m[this.$jM].slice(0,3);case"MMMM":return m[this.$jM];case"D":return String(this.$jD);case"DD":return L(this.$jD,2,"0");default:return C.bind(this)(i,c)}})},e.diff=function(d,c,f){if(!l(this))return F.bind(this)(d,c,f);const w=v(c),m=s(d);let i=D(this,m);switch(w){case dt:i/=12;break;case ct:break;default:return F.bind(this)(d,c,f)}return f?i:U(i)},e.$g=function(d,c,f){return x(d)?this[c]:this.set(f,d)},e.year=function(d){return l(this)?this.$g(d,"$jy",dt):Y.bind(this)(d)},e.month=function(d){return l(this)?this.$g(d,"$jM",ct):st.bind(this)(d)},e.date=function(d){return l(this)?this.$g(d,"$jD",pt):G.bind(this)(d)},e.daysInMonth=function(){return l(this)?this.endOf(ct).$jD:H.bind(this)()},et&&(e.toArray=function(){return l(this)?[this.$jy,this.$jM,this.$jD,this.$H,this.$m,this.$s,this.$ms]:et.bind(this)()}),e.clone=function(){return B(this.toDate(),this)}};var ke=Se;Ct.extend(ke);function Dt(t){return String(t).padStart(2,"0")}function Ht(t){return String(t).padStart(4,"0")}function Q(t){const r=Ct(t).calendar("jalali");return{jy:r.year(),jm:r.month()+1,jd:r.date()}}function q(t){const{jy:r,jm:s,jd:e}=t,p=`${Ht(r)}-${Dt(s)}-${Dt(e)}`,l=Ct(p,{jalali:!0}).calendar("gregory").startOf("day");if(!l.isValid())throw new Error(`Invalid Jalali date parts: ${p}`);return l.toDate()}function Vt(t,r={}){const s=r.separator??"/";return`${Ht(t.jy)}${s}${Dt(t.jm)}${s}${Dt(t.jd)}`}function Ut(t){const r=Q(t);return{...r,formatted:Vt(r)}}function Ye(t){return t.replace(/[^\d]+/g,"-")}function Oe(t){return q(t)}function Wt(t,r={}){const s=t.trim();if(!s)return null;const p=(r.allowLooseSeparators?Ye(s):s).match(/^(\d{4})[-/](\d{1,2})[-/](\d{1,2})$/);if(!p)return null;const l=Number(p[1]),v=Number(p[2]),x=Number(p[3]);try{return q({jy:l,jm:v,jd:x})}catch{return null}}const Ce=1440*60*1e3;function wt(t){return Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())}function ot(t,r){const s=wt(t),e=wt(r);return s===e?0:s<e?-1:1}function Mt(t,r){return ot(t,r)===0}function lt(t,r){const s=new Date(t);return s.setDate(s.getDate()+r),s}function yt(t,r,s){return!(r&&ot(t,r)<0||s&&ot(t,s)>0)}function Le(t,r,s){return r&&ot(t,r)<0?new Date(r):s&&ot(t,s)>0?new Date(s):new Date(t)}function Gt(t,r){const s=t.jy*12+(t.jm-1)+r,e=Math.floor(s/12),p=(s%12+12)%12+1;return{jy:e,jm:p}}function Bt(t,r){const s=q({jy:t,jm:r,jd:1}),e=Gt({jy:t,jm:r},1),p=q({jy:e.jy,jm:e.jm,jd:1});return Math.round((wt(p)-wt(s))/Ce)}function Ot(t,r){const s=Q(t),e=Gt({jy:s.jy,jm:s.jm},r),p=Bt(e.jy,e.jm),l=Math.min(s.jd,p);return q({jy:e.jy,jm:e.jm,jd:l})}function zt(t){const{jy:r,jm:s}=t,e=t.weekStartsOn??6,p=q({jy:r,jm:s,jd:1}),v=(p.getDay()-e+7)%7,x=lt(p,-v),L=[];for(let D=0;D<6;D++){const U=[];for(let M=0;M<7;M++){const tt=D*7+M,N=lt(x,tt),S=Q(N);U.push({gregorian:N,jalali:S,inCurrentMonth:S.jy===r&&S.jm===s})}L.push(U)}return L}const Ee=["bottom","top","left","right"];function It(t,r,s){return Math.min(Math.max(t,r),s)}const Ae=typeof window<"u"?b.useLayoutEffect:b.useEffect;function qt(t,r,s,e={}){const p=e.gutter??8,l=e.padding??8,v=e.strategy??"fixed",x=e.align??"end",L=e.placements?.join("|")??"",D=b.useMemo(()=>e.placements&&e.placements.length?e.placements:Ee,[L]),[U,M]=b.useState("bottom"),[tt,N]=b.useState(()=>({position:v,top:0,left:0})),S=b.useCallback(()=>{const P=r.current,W=s.current;if(!P||!W)return;const C=P.getBoundingClientRect(),F=W.getBoundingClientRect(),Y=window.innerWidth,st=window.innerHeight,G=st-C.bottom-l,H=C.top-l,et=C.left-l,B=Y-C.right-l;function d(i){return i==="bottom"?G:i==="top"?H:i==="left"?et:B}function c(i){return i==="bottom"||i==="top"?F.height+p<=d(i):F.width+p<=d(i)}let f=D.find(c)??D.reduce((i,n)=>d(n)>d(i)?n:i,D[0]),w=0,m=0;f==="bottom"||f==="top"?(w=f==="bottom"?C.bottom+p:C.top-p-F.height,x==="start"?m=C.left:x==="center"?m=C.left+(C.width-F.width)/2:m=C.right-F.width):(m=f==="right"?C.right+p:C.left-p-F.width,x==="start"?w=C.top:x==="center"?w=C.top+(C.height-F.height)/2:w=C.bottom-F.height),w=It(w,l,st-l-F.height),m=It(m,l,Y-l-F.width),v==="absolute"&&(w+=window.scrollY,m+=window.scrollX),M(i=>i===f?i:f),N(i=>i.position===v&&i.top===w&&i.left===m?i:{position:v,top:w,left:m})},[x,r,p,l,s,v,D]);return Ae(()=>{if(!t)return;S();const P=window.requestAnimationFrame(S);return()=>window.cancelAnimationFrame(P)},[t,S]),b.useEffect(()=>{if(!t)return;let P=0;const W=()=>{P||(P=window.requestAnimationFrame(()=>{P=0,S()}))};return window.addEventListener("resize",W),document.addEventListener("scroll",W,!0),()=>{window.removeEventListener("resize",W),document.removeEventListener("scroll",W,!0),P&&window.cancelAnimationFrame(P)}},[t,S]),{style:tt,placement:U,update:S}}function I(...t){return t.filter(Boolean).join(" ")}function Ne(t){return Ut(t).formatted}function Pe(t){return Wt(t,{allowLooseSeparators:!0})}function Je(t,r,s){return yt(t,r,s)?t:null}function mt(t){const s=Q(t??new Date);return{jy:s.jy,jm:s.jm}}function Yt(){const t=new Date;return t.setHours(0,0,0,0),t}function Te(t){const{value:r,onChange:s,minDate:e,maxDate:p,disabled:l,placeholder:v,open:x,onOpenChange:L,mode:D="popover",popover:U,formatValue:M=Ne,parseValue:tt=Pe,weekdays:N,monthLabels:S,renderMonthLabel:P,prevIcon:W,nextIcon:C,className:F,classes:Y}=t,st=b.useRef(null),G=b.useRef(null),H=b.useRef(null),et=b.useRef(null),B=b.useRef(!1),[d,c]=b.useState(!1),[f,w]=b.useState(!1),m=D==="inline"?!0:x??f,i=b.useCallback(a=>{L?.(a),D!=="inline"&&x===void 0&&w(a)},[D,L,x]);b.useEffect(()=>{c(!0)},[]);const[n,o]=b.useState(()=>mt(r)),[h,u]=b.useState(()=>r??Yt()),[$,y]=b.useState(()=>r?M(r):""),[_,k]=b.useState("days"),[J,E]=b.useState(()=>{const a=mt(r).jy;return a-a%12}),[R,K]=b.useState(()=>mt(r).jy);b.useEffect(()=>{if(B.current)return;y(r?M(r):""),o(mt(r)),u(r??Yt());const a=mt(r).jy;K(a),E(a-a%12)},[r,M]),b.useEffect(()=>{if(D!=="popover"||!m)return;const a=j=>{const g=st.current;if(!g)return;const T=G.current;j.target instanceof Node&&!g.contains(j.target)&&!(T&&T.contains(j.target))&&i(!1)};return document.addEventListener("pointerdown",a),()=>document.removeEventListener("pointerdown",a)},[D,m,i]),b.useEffect(()=>{m&&et.current?.focus()},[m]);const z=U??{},it=z.portal??!0,{style:nt}=qt(D==="popover"&&m,H,G,{gutter:z.gutter,padding:z.padding,strategy:it?z.strategy:"fixed",placements:z.placements,align:z.align??"end"}),V=b.useMemo(()=>P?P(n.jy,n.jm):S&&S.length===12?`${S[n.jm-1]??String(n.jm)} ${n.jy}`:`${n.jy} / ${n.jm}`,[S,P,n.jm,n.jy]),rt=b.useMemo(()=>N&&N.length===7?N:["1","2","3","4","5","6","7"],[N]),ut=b.useMemo(()=>zt({jy:n.jy,jm:n.jm}),[n.jm,n.jy]),Z=r??null,Lt=b.useMemo(()=>Yt(),[]);function Zt(a){const j=Q(a);o({jy:j.jy,jm:j.jm})}function bt(){if(l)return;i(!0);const a=Z??h??Lt;Zt(a),k("days");const j=Q(a).jy;K(j),E(j-j%12)}function xt(){i(!1),k("days"),H.current?.focus()}function Et(a){const j=a.trim();if(!j){s(null);return}const g=tt(j);if(!g){y(Z?M(Z):j);return}const T=Je(g,e,p);if(!T){y(Z?M(Z):j);return}s(T)}function Kt(a){if(!l){if(a.key==="ArrowDown"){a.preventDefault(),bt();return}if(a.key==="Escape"){m&&(a.preventDefault(),xt());return}if(a.key==="Enter"){a.preventDefault(),Et($);return}}}function Xt(a){if(m&&!l){if(a.key==="Escape"){a.preventDefault(),xt();return}if(_==="days"){if(a.key==="ArrowLeft"){a.preventDefault(),u(j=>lt(j,-1));return}if(a.key==="ArrowRight"){a.preventDefault(),u(j=>lt(j,1));return}if(a.key==="ArrowUp"){a.preventDefault(),u(j=>lt(j,-7));return}if(a.key==="ArrowDown"){a.preventDefault(),u(j=>lt(j,7));return}if(a.key==="PageUp"){a.preventDefault(),jt(-1);return}if(a.key==="PageDown"){a.preventDefault(),jt(1);return}if(a.key==="Enter"){if(a.preventDefault(),!yt(h,e,p))return;s(h),y(M(h)),xt()}}}}b.useEffect(()=>{if(!m)return;const a=Q(h);o(j=>j.jy===a.jy&&j.jm===a.jm?j:{jy:a.jy,jm:a.jm})},[h,m]);function Qt(a){l||yt(a.gregorian,e,p)&&(s(a.gregorian),y(M(a.gregorian)),u(a.gregorian),i(!1),H.current?.focus())}function te(a){return l?!0:!yt(a.gregorian,e,p)}function jt(a){const j=q({jy:n.jy,jm:n.jm,jd:1}),g=Ot(j,a),T=Q(g);o({jy:T.jy,jm:T.jm}),u(X=>{const ht=Q(X);return ht.jy===n.jy&&ht.jm===n.jm?Ot(X,a):g})}function ee(){jt(-1)}function ne(){jt(1)}function re(a){const j=q({jy:a,jm:1,jd:1}),g=q({jy:a+1,jm:1,jd:1});return{start:j,endExclusive:g}}function se(a,j){const g=q({jy:a,jm:j,jd:1}),T=j===12?{jy:a+1,jm:1}:{jy:a,jm:j+1},X=q({jy:T.jy,jm:T.jm,jd:1});return{start:g,endExclusive:X}}function At(a){return!(e&&ot(a.endExclusive,e)<=0||p&&ot(a.start,p)>0)}function ie(){if(_==="days"){k("years");const a=n.jy;K(a),E(a-a%12)}else k("days")}function ae(a){K(a),k("months")}function oe(a){const j={jy:R,jm:a};o(j),u(()=>{const g=Q(h).jd;try{return q({jy:j.jy,jm:j.jm,jd:g})}catch{return q({jy:j.jy,jm:j.jm,jd:1})}}),k("days")}const St=O.jsxs("div",{ref:et,tabIndex:-1,className:"dvx-pdp__calendar",onKeyDown:Xt,children:[O.jsxs("div",{className:I("dvx-pdp__header",Y?.header),children:[O.jsx("button",{type:"button",className:I("dvx-pdp__nav",Y?.navButton),onClick:_==="days"?ee:()=>E(a=>a-12),"aria-label":"Previous month",children:W??"‹"}),O.jsx("button",{type:"button",className:I("dvx-pdp__monthLabel",Y?.monthLabel),onClick:ie,"aria-label":"Choose month and year",children:_==="days"?V:R}),O.jsx("button",{type:"button",className:I("dvx-pdp__nav",Y?.navButton),onClick:_==="days"?ne:()=>E(a=>a+12),"aria-label":"Next month",children:C??"›"})]}),_==="days"?O.jsxs("div",{className:I("dvx-pdp__grid",Y?.grid),children:[O.jsx("div",{className:"dvx-pdp__weekdays","aria-hidden":"true",children:rt.map((a,j)=>O.jsx("div",{className:I("dvx-pdp__weekday",Y?.weekday),children:a},j))}),O.jsx("div",{className:"dvx-pdp__days",children:ut.map((a,j)=>O.jsx("div",{className:"dvx-pdp__row",children:a.map(g=>{const T=te(g),X=Z?Mt(g.gregorian,Z):!1,ht=Mt(g.gregorian,Lt),Nt=Mt(g.gregorian,h);return O.jsx("button",{type:"button",className:I("dvx-pdp__day",Y?.day,!g.inCurrentMonth&&I("dvx-pdp__day--outside",Y?.dayOutside),T&&I("dvx-pdp__day--disabled",Y?.dayDisabled),X&&I("dvx-pdp__day--selected",Y?.daySelected),ht&&I("dvx-pdp__day--today",Y?.dayToday),Nt&&"dvx-pdp__day--focused"),disabled:T,onClick:()=>Qt(g),onMouseEnter:()=>{g.inCurrentMonth&&u(g.gregorian)},"aria-pressed":X,children:g.jalali.jd},`${g.jalali.jy}-${g.jalali.jm}-${g.jalali.jd}`)})},j))})]}):_==="years"?O.jsx("div",{className:"dvx-pdp__panel",children:O.jsx("div",{className:"dvx-pdp__panelGrid",children:Array.from({length:12}).map((a,j)=>{const g=J+j,T=At(re(g)),X=g===n.jy;return O.jsx("button",{type:"button",className:I("dvx-pdp__cell",X&&"dvx-pdp__cell--active"),disabled:!T,onClick:()=>ae(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((a,j)=>{const g=j+1,T=At(se(R,g)),X=R===n.jy&&g===n.jm,ht=S&&S.length===12?S[g-1]??String(g):String(g);return O.jsx("button",{type:"button",className:I("dvx-pdp__cell",X&&"dvx-pdp__cell--active"),disabled:!T,onClick:()=>oe(g),children:ht},g)})})})]});return O.jsxs("div",{ref:st,className:I("dvx-pdp",D==="inline"&&"dvx-pdp--inline",F,Y?.root),dir:"rtl",children:[D==="inline"?null:O.jsxs("div",{className:"dvx-pdp__control",children:[O.jsx("input",{ref:H,className:I("dvx-pdp__input",Y?.input),disabled:l,placeholder:v,inputMode:"numeric",autoComplete:"off",value:$,onChange:a=>y(a.target.value),onClick:()=>{m||bt()},onFocus:()=>{B.current=!0},onBlur:()=>{B.current=!1,Et($)},onKeyDown:Kt,"aria-haspopup":"dialog","aria-expanded":m}),O.jsx("button",{type:"button",className:I("dvx-pdp__button",Y?.button),onClick:()=>m?i(!1):bt(),disabled:l,"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"})})})]}),D==="inline"?St:m?it&&d?ce.createPortal(O.jsx("div",{ref:G,className:I("dvx-pdp__popover","dvx-pdp__popover--portal",Y?.popover),dir:"rtl",style:{...nt,right:"auto",bottom:"auto"},role:"dialog","aria-modal":"false",children:St}),document.body):O.jsx("div",{ref:G,className:I("dvx-pdp__popover",Y?.popover),style:{...nt,right:"auto",bottom:"auto"},role:"dialog","aria-modal":"false",children:St}):null]})}exports.PersianDatePicker=Te;exports.addDays=lt;exports.addJalaliMonths=Ot;exports.buildJalaliMonthGrid=zt;exports.clampToRange=Le;exports.compareDays=ot;exports.formatJalali=Vt;exports.fromJalaliParts=q;exports.getJalaliMonthLength=Bt;exports.isSameDay=Mt;exports.isWithinRange=yt;exports.parseJalaliText=Wt;exports.toGregorian=Oe;exports.toJalali=Ut;exports.toJalaliParts=Q;exports.usePopoverPosition=qt;
@@ -16,7 +16,7 @@ function Rt() {
16
16
  } }, Y = function(r, n, o) {
17
17
  var h = String(r);
18
18
  return !h || h.length >= n ? r : "" + Array(n + 1 - h.length).join(o) + r;
19
- }, rt = { s: Y, z: function(r) {
19
+ }, st = { s: Y, z: function(r) {
20
20
  var n = -r.utcOffset(), o = Math.abs(n), h = Math.floor(o / 60), u = o % 60;
21
21
  return (n <= 0 ? "+" : "-") + Y(h, 2, "0") + ":" + Y(u, 2, "0");
22
22
  }, m: function r(n, o) {
@@ -50,7 +50,7 @@ function Rt() {
50
50
  if (G(r)) return r.clone();
51
51
  var o = typeof n == "object" ? n : {};
52
52
  return o.date = r, o.args = arguments, new w(o);
53
- }, f = rt;
53
+ }, f = st;
54
54
  f.l = d, f.i = G, f.w = function(r, n) {
55
55
  return c(r, { locale: n.$L, utc: n.$u, x: n.$x, $offset: n.$offset });
56
56
  };
@@ -95,11 +95,11 @@ function Rt() {
95
95
  }, n.valueOf = function() {
96
96
  return this.$d.getTime();
97
97
  }, n.startOf = function(o, h) {
98
- var u = this, g = !!f.u(h) || h, y = f.p(o), _ = function(st, V) {
99
- var et = f.w(u.$u ? Date.UTC(u.$y, V, st) : new Date(u.$y, V, st), u);
100
- return g ? et : et.endOf(D);
101
- }, k = function(st, V) {
102
- return f.w(u.toDate()[st].apply(u.toDate("s"), (g ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(V)), u);
98
+ var u = this, g = !!f.u(h) || h, y = f.p(o), _ = function(et, V) {
99
+ var nt = f.w(u.$u ? Date.UTC(u.$y, V, et) : new Date(u.$y, V, et), u);
100
+ return g ? nt : nt.endOf(D);
101
+ }, k = function(et, V) {
102
+ return f.w(u.toDate()[et].apply(u.toDate("s"), (g ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(V)), u);
103
103
  }, I = this.$W, O = this.$M, H = this.$D, K = "set" + (this.$u ? "UTC" : "");
104
104
  switch (y) {
105
105
  case A:
@@ -152,16 +152,16 @@ function Rt() {
152
152
  }, n.format = function(o) {
153
153
  var h = this, u = this.$locale();
154
154
  if (!this.isValid()) return u.invalidDate || N;
155
- var g = o || "YYYY-MM-DDTHH:mm:ssZ", y = f.z(this), _ = this.$H, k = this.$m, I = this.$M, O = u.weekdays, H = u.months, K = u.meridiem, z = function(V, et, ot, q) {
156
- return V && (V[et] || V(h, g)) || ot[et].slice(0, q);
155
+ var g = o || "YYYY-MM-DDTHH:mm:ssZ", y = f.z(this), _ = this.$H, k = this.$m, I = this.$M, O = u.weekdays, H = u.months, K = u.meridiem, z = function(V, nt, ot, q) {
156
+ return V && (V[nt] || V(h, g)) || ot[nt].slice(0, q);
157
157
  }, it = function(V) {
158
158
  return f.s(_ % 12 || 12, V, "0");
159
- }, st = K || function(V, et, ot) {
159
+ }, et = K || function(V, nt, ot) {
160
160
  var q = V < 12 ? "AM" : "PM";
161
161
  return ot ? q.toLowerCase() : q;
162
162
  };
163
- return g.replace(C, (function(V, et) {
164
- return et || (function(ot) {
163
+ return g.replace(C, (function(V, nt) {
164
+ return nt || (function(ot) {
165
165
  switch (ot) {
166
166
  case "YY":
167
167
  return String(h.$y).slice(-2);
@@ -196,9 +196,9 @@ function Rt() {
196
196
  case "hh":
197
197
  return it(2);
198
198
  case "a":
199
- return st(_, k, !0);
199
+ return et(_, k, !0);
200
200
  case "A":
201
- return st(_, k, !1);
201
+ return et(_, k, !1);
202
202
  case "m":
203
203
  return String(k);
204
204
  case "mm":
@@ -402,7 +402,7 @@ const ye = /^(\d{4})[-/]?(\d{1,2})[-/]?(\d{0,2})(.*)$/, $e = /\[.*?\]|jY{2,4}|jM
402
402
  return f.$C = this.$C, f.isJalali() && f.InitJalali(), f;
403
403
  };
404
404
  e.startOf = M(e.startOf), e.endOf = M(e.endOf), e.add = M(e.add), e.subtract = M(e.subtract), e.set = M(e.set);
405
- const Q = e.parse, A = e.init, x = e.startOf, N = e.$set, W = e.add, C = e.format, J = e.diff, Y = e.year, rt = e.month, B = e.date, R = e.daysInMonth, tt = e.toArray;
405
+ const Q = e.parse, A = e.init, x = e.startOf, N = e.$set, W = e.add, C = e.format, J = e.diff, Y = e.year, st = e.month, B = e.date, R = e.daysInMonth, tt = e.toArray;
406
406
  a.$C = "gregory", a.$fdow = 6, a.calendar = function(d) {
407
407
  return a.$C = d, a;
408
408
  }, e.calendar = function(d) {
@@ -538,7 +538,7 @@ const ye = /^(\d{4})[-/]?(\d{1,2})[-/]?(\d{0,2})(.*)$/, $e = /\[.*?\]|jY{2,4}|jM
538
538
  }, e.year = function(d) {
539
539
  return l(this) ? this.$g(d, "$jy", ct) : Y.bind(this)(d);
540
540
  }, e.month = function(d) {
541
- return l(this) ? this.$g(d, "$jM", ut) : rt.bind(this)(d);
541
+ return l(this) ? this.$g(d, "$jM", ut) : st.bind(this)(d);
542
542
  }, e.date = function(d) {
543
543
  return l(this) ? this.$g(d, "$jD", ht) : B.bind(this)(d);
544
544
  }, e.daysInMonth = function() {
@@ -565,7 +565,7 @@ function Dt(t) {
565
565
  function Vt(t) {
566
566
  return String(t).padStart(4, "0");
567
567
  }
568
- function nt(t) {
568
+ function rt(t) {
569
569
  const i = Lt(t).calendar("jalali");
570
570
  return { jy: i.year(), jm: i.month() + 1, jd: i.date() };
571
571
  }
@@ -580,7 +580,7 @@ function Me(t, i = {}) {
580
580
  return `${Vt(t.jy)}${a}${Dt(t.jm)}${a}${Dt(t.jd)}`;
581
581
  }
582
582
  function De(t) {
583
- const i = nt(t);
583
+ const i = rt(t);
584
584
  return { ...i, formatted: Me(i) };
585
585
  }
586
586
  function we(t) {
@@ -631,7 +631,7 @@ function xe(t, i) {
631
631
  return Math.round((wt(p) - wt(a)) / Se);
632
632
  }
633
633
  function Ft(t, i) {
634
- const a = nt(t), e = Ut({ jy: a.jy, jm: a.jm }, i), p = xe(e.jy, e.jm), l = Math.min(a.jd, p);
634
+ const a = rt(t), e = Ut({ jy: a.jy, jm: a.jm }, i), p = xe(e.jy, e.jm), l = Math.min(a.jd, p);
635
635
  return Z({ jy: e.jy, jm: e.jm, jd: l });
636
636
  }
637
637
  function ke(t) {
@@ -639,7 +639,7 @@ function ke(t) {
639
639
  for (let D = 0; D < 6; D++) {
640
640
  const U = [];
641
641
  for (let M = 0; M < 7; M++) {
642
- const Q = D * 7 + M, A = pt(S, Q), x = nt(A);
642
+ const Q = D * 7 + M, A = pt(S, Q), x = rt(A);
643
643
  U.push({
644
644
  gregorian: A,
645
645
  jalali: x,
@@ -671,7 +671,7 @@ function Le(t, i, a, e = {}) {
671
671
  })), x = b.useCallback(() => {
672
672
  const N = i.current, W = a.current;
673
673
  if (!N || !W) return;
674
- const C = N.getBoundingClientRect(), J = W.getBoundingClientRect(), Y = window.innerWidth, rt = window.innerHeight, B = rt - C.bottom - l, R = C.top - l, tt = C.left - l, G = Y - C.right - l;
674
+ const C = N.getBoundingClientRect(), J = W.getBoundingClientRect(), Y = window.innerWidth, st = window.innerHeight, B = st - C.bottom - l, R = C.top - l, tt = C.left - l, G = Y - C.right - l;
675
675
  function d(r) {
676
676
  return r === "bottom" ? B : r === "top" ? R : r === "left" ? tt : G;
677
677
  }
@@ -682,7 +682,7 @@ function Le(t, i, a, e = {}) {
682
682
  (r, n) => d(n) > d(r) ? n : r,
683
683
  D[0]
684
684
  ), w = 0, m = 0;
685
- f === "bottom" || f === "top" ? (w = f === "bottom" ? C.bottom + p : C.top - p - J.height, S === "start" ? m = C.left : S === "center" ? m = C.left + (C.width - J.width) / 2 : m = C.right - J.width) : (m = f === "right" ? C.right + p : C.left - p - J.width, S === "start" ? w = C.top : S === "center" ? w = C.top + (C.height - J.height) / 2 : w = C.bottom - J.height), w = Jt(w, l, rt - l - J.height), m = Jt(m, l, Y - l - J.width), v === "absolute" && (w += window.scrollY, m += window.scrollX), M((r) => r === f ? r : f), A((r) => r.position === v && r.top === w && r.left === m ? r : { position: v, top: w, left: m });
685
+ f === "bottom" || f === "top" ? (w = f === "bottom" ? C.bottom + p : C.top - p - J.height, S === "start" ? m = C.left : S === "center" ? m = C.left + (C.width - J.width) / 2 : m = C.right - J.width) : (m = f === "right" ? C.right + p : C.left - p - J.width, S === "start" ? w = C.top : S === "center" ? w = C.top + (C.height - J.height) / 2 : w = C.bottom - J.height), w = Jt(w, l, st - l - J.height), m = Jt(m, l, Y - l - J.width), v === "absolute" && (w += window.scrollY, m += window.scrollX), M((r) => r === f ? r : f), A((r) => r.position === v && r.top === w && r.left === m ? r : { position: v, top: w, left: m });
686
686
  }, [S, i, p, l, a, v, D]);
687
687
  return Ce(() => {
688
688
  if (!t) return;
@@ -715,7 +715,7 @@ function Ae(t, i, a) {
715
715
  return Mt(t, i, a) ? t : null;
716
716
  }
717
717
  function yt(t) {
718
- const a = nt(t ?? /* @__PURE__ */ new Date());
718
+ const a = rt(t ?? /* @__PURE__ */ new Date());
719
719
  return { jy: a.jy, jm: a.jm };
720
720
  }
721
721
  function Ct() {
@@ -743,7 +743,7 @@ function Fe(t) {
743
743
  nextIcon: C,
744
744
  className: J,
745
745
  classes: Y
746
- } = t, rt = b.useRef(null), B = b.useRef(null), R = b.useRef(null), tt = b.useRef(null), G = b.useRef(!1), [d, c] = b.useState(!1), [f, w] = b.useState(!1), m = D === "inline" ? !0 : S ?? f, r = b.useCallback(
746
+ } = t, st = b.useRef(null), B = b.useRef(null), R = b.useRef(null), tt = b.useRef(null), G = b.useRef(!1), [d, c] = b.useState(!1), [f, w] = b.useState(!1), m = D === "inline" ? !0 : S ?? f, r = b.useCallback(
747
747
  (s) => {
748
748
  L?.(s), D !== "inline" && S === void 0 && w(s);
749
749
  },
@@ -770,7 +770,7 @@ function Fe(t) {
770
770
  }, [i, M]), b.useEffect(() => {
771
771
  if (D !== "popover" || !m) return;
772
772
  const s = ($) => {
773
- const j = rt.current;
773
+ const j = st.current;
774
774
  if (!j) return;
775
775
  const P = B.current;
776
776
  $.target instanceof Node && !j.contains($.target) && !(P && P.contains($.target)) && r(!1);
@@ -779,23 +779,25 @@ function Fe(t) {
779
779
  }, [D, m, r]), b.useEffect(() => {
780
780
  m && tt.current?.focus();
781
781
  }, [m]);
782
- const z = U ?? {}, it = z.portal ?? !0, { style: st } = Le(
783
- D === "popover" && m && it,
782
+ const z = U ?? {}, it = z.portal ?? !0, { style: et } = Le(
783
+ D === "popover" && m,
784
784
  R,
785
785
  B,
786
786
  {
787
787
  gutter: z.gutter,
788
788
  padding: z.padding,
789
- strategy: z.strategy,
789
+ // If we're not using a portal, `absolute` would require offset-parent math.
790
+ // Force `fixed` so we can clamp reliably to the viewport.
791
+ strategy: it ? z.strategy : "fixed",
790
792
  placements: z.placements,
791
793
  align: z.align ?? "end"
792
794
  }
793
- ), V = b.useMemo(() => N ? N(n.jy, n.jm) : x && x.length === 12 ? `${x[n.jm - 1] ?? String(n.jm)} ${n.jy}` : `${n.jy} / ${n.jm}`, [x, N, n.jm, n.jy]), et = b.useMemo(() => A && A.length === 7 ? A : ["1", "2", "3", "4", "5", "6", "7"], [A]), ot = b.useMemo(
795
+ ), V = b.useMemo(() => N ? N(n.jy, n.jm) : x && x.length === 12 ? `${x[n.jm - 1] ?? String(n.jm)} ${n.jy}` : `${n.jy} / ${n.jm}`, [x, N, n.jm, n.jy]), nt = b.useMemo(() => A && A.length === 7 ? A : ["1", "2", "3", "4", "5", "6", "7"], [A]), ot = b.useMemo(
794
796
  () => ke({ jy: n.jy, jm: n.jm }),
795
797
  [n.jm, n.jy]
796
798
  ), q = i ?? null, Ot = b.useMemo(() => Ct(), []);
797
799
  function Wt(s) {
798
- const $ = nt(s);
800
+ const $ = rt(s);
799
801
  o({ jy: $.jy, jm: $.jm });
800
802
  }
801
803
  function bt() {
@@ -803,7 +805,7 @@ function Fe(t) {
803
805
  r(!0);
804
806
  const s = q ?? h ?? Ot;
805
807
  Wt(s), k("days");
806
- const $ = nt(s).jy;
808
+ const $ = rt(s).jy;
807
809
  K($), O($ - $ % 12);
808
810
  }
809
811
  function St() {
@@ -883,7 +885,7 @@ function Fe(t) {
883
885
  }
884
886
  b.useEffect(() => {
885
887
  if (!m) return;
886
- const s = nt(h);
888
+ const s = rt(h);
887
889
  o(
888
890
  ($) => $.jy === s.jy && $.jm === s.jm ? $ : { jy: s.jy, jm: s.jm }
889
891
  );
@@ -899,9 +901,9 @@ function Fe(t) {
899
901
  jy: n.jy,
900
902
  jm: n.jm,
901
903
  jd: 1
902
- }), j = Ft($, s), P = nt(j);
904
+ }), j = Ft($, s), P = rt(j);
903
905
  o({ jy: P.jy, jm: P.jm }), u((X) => {
904
- const ft = nt(X);
906
+ const ft = rt(X);
905
907
  return ft.jy === n.jy && ft.jm === n.jm ? Ft(X, s) : j;
906
908
  });
907
909
  }
@@ -936,7 +938,7 @@ function Fe(t) {
936
938
  function ne(s) {
937
939
  const $ = { jy: H, jm: s };
938
940
  o($), u(() => {
939
- const j = nt(h).jd;
941
+ const j = rt(h).jd;
940
942
  try {
941
943
  return Z({
942
944
  jy: $.jy,
@@ -989,7 +991,7 @@ function Fe(t) {
989
991
  )
990
992
  ] }),
991
993
  _ === "days" ? /* @__PURE__ */ mt("div", { className: F("dvx-pdp__grid", Y?.grid), children: [
992
- /* @__PURE__ */ T("div", { className: "dvx-pdp__weekdays", "aria-hidden": "true", children: et.map((s, $) => /* @__PURE__ */ T(
994
+ /* @__PURE__ */ T("div", { className: "dvx-pdp__weekdays", "aria-hidden": "true", children: nt.map((s, $) => /* @__PURE__ */ T(
993
995
  "div",
994
996
  {
995
997
  className: F("dvx-pdp__weekday", Y?.weekday),
@@ -1066,7 +1068,7 @@ function Fe(t) {
1066
1068
  return /* @__PURE__ */ mt(
1067
1069
  "div",
1068
1070
  {
1069
- ref: rt,
1071
+ ref: st,
1070
1072
  className: F(
1071
1073
  "dvx-pdp",
1072
1074
  D === "inline" && "dvx-pdp--inline",
@@ -1130,7 +1132,7 @@ function Fe(t) {
1130
1132
  Y?.popover
1131
1133
  ),
1132
1134
  dir: "rtl",
1133
- style: { ...st, right: "auto", bottom: "auto" },
1135
+ style: { ...et, right: "auto", bottom: "auto" },
1134
1136
  role: "dialog",
1135
1137
  "aria-modal": "false",
1136
1138
  children: xt
@@ -1142,6 +1144,7 @@ function Fe(t) {
1142
1144
  {
1143
1145
  ref: B,
1144
1146
  className: F("dvx-pdp__popover", Y?.popover),
1147
+ style: { ...et, right: "auto", bottom: "auto" },
1145
1148
  role: "dialog",
1146
1149
  "aria-modal": "false",
1147
1150
  children: xt
@@ -1166,6 +1169,6 @@ export {
1166
1169
  Pe as k,
1167
1170
  xe as l,
1168
1171
  be as p,
1169
- nt as t,
1172
+ rt as t,
1170
1173
  Le as u
1171
1174
  };
@@ -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,2CA6mB9D"}
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 +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,2CAopBxE"}
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"}
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./PersianDatePicker-Bcz6VNVe.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,v=r.compareDays(n,c)<=0?c:n;return r.compareDays(d,m)>=0&&r.compareDays(d,v)<=0}function Ue(d){const{value:n,onChange:c,minDate:m,maxDate:v,disabled:P,inputVariant:F="two",placeholder:fe,rangeSeparator:S=" - ",placeholderStart:me,placeholderEnd:ye,open:B,onOpenChange:K,mode:j="popover",popover:je,formatValue:g=Ve,parseValue:W=Ie,weekdays:N,monthLabels:h,renderMonthLabel:G,prevIcon:ve,nextIcon:ge,className:xe,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),[he,_e]=o.useState(!1),[De,be]=o.useState(!1),y=j==="inline"?!0:B??De,E=o.useCallback(e=>{K?.(e),j!=="inline"&&B===void 0&&be(e)},[j,K,B]);o.useEffect(()=>{_e(!0)},[]);const[U,Z]=o.useState("start"),[_,R]=o.useState("days"),[Pe,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?g(n.start):""),[re,se]=o.useState(()=>n.end?g(n.end):""),[oe,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(()=>{ae(n.start?g(n.start):""),se(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}),x(a),$(s.jy),k(s.jy-s.jy%12)},[g,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=je??{},ie=J.portal??!0,Re=F==="single"?V:U==="start"?I:Y,{style:Je}=r.usePopoverPosition(j==="popover"&&y&&ie,Re,C,{gutter:J.gutter,padding:J.padding,strategy:J.strategy,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 de(){E(!1),R("days"),j==="popover"&&(F==="single"?V.current?.focus():(U==="start"?I:Y).current?.focus())}function le(e){return P?!0:!r.isWithinRange(e.gregorian,m,v)}function ce(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,v))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,v)&&(H&&!r.isWithinRange(H,m,v)||c(A({start:D,end:H})))}function Ne(e){if(y&&!P){if(e.key==="Escape"){e.preventDefault(),de();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,v))return;pe(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 ue(e){return!(m&&r.compareDays(e.endExclusive,m)<=0||v&&r.compareDays(e.start,v)>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 pe(e){if(!r.isWithinRange(e,m,v))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"&&de()}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),le(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:ge??"›"})]}),_==="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=le(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:()=>pe(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=Pe+t,s=ue(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=ue(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",xe,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:fe,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:me,inputMode:"numeric",autoComplete:"off",value:ne,onChange:e=>ae(e.target.value),onClick:()=>q("start"),onBlur:()=>ce("start",ne),"aria-haspopup":"dialog","aria-expanded":y}),i.jsx("input",{ref:Y,className:l("dvx-pdp__input",u?.input),disabled:P,placeholder:ye,inputMode:"numeric",autoComplete:"off",value:re,onChange:e=>se(e.target.value),onClick:()=>q("end"),onBlur:()=>ce("end",re),"aria-haspopup":"dialog","aria-expanded":y})]})}),j==="inline"?z:y?ie&&he?We.createPortal(i.jsx("div",{ref:C,className:l("dvx-pdp__popover","dvx-pdp__popover--portal",u?.popover),dir:"rtl",style:{...Je,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),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-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;
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { t as b, u as Ke, b as ze, i as O, a as We, p as qe, c as Y, d as S, f as C, e as he, g as D } from "./PersianDatePicker-DFMNtlIF.js";
2
- import { P as it, k as lt, h as ut, l as ct, j as pt } from "./PersianDatePicker-DFMNtlIF.js";
1
+ import { t as b, u as Ke, b as ze, i as O, a as We, p as qe, c as Y, d as S, f as C, e as xe, g as D } from "./PersianDatePicker-BYF8CIZO.js";
2
+ import { P as it, k as lt, h as ut, l as ct, j as pt } from "./PersianDatePicker-BYF8CIZO.js";
3
3
  import { jsxs as L, jsx as d, Fragment as Qe } from "react/jsx-runtime";
4
4
  import * as o from "react";
5
5
  import { createPortal as Xe } from "react-dom";
@@ -32,35 +32,35 @@ function ot(u) {
32
32
  maxDate: y,
33
33
  disabled: R,
34
34
  inputVariant: G = "two",
35
- placeholder: xe,
35
+ placeholder: _e,
36
36
  rangeSeparator: P = " - ",
37
- placeholderStart: _e,
38
- placeholderEnd: be,
37
+ placeholderStart: be,
38
+ placeholderEnd: ke,
39
39
  open: H,
40
40
  onOpenChange: ne,
41
41
  mode: m = "popover",
42
- popover: ke,
42
+ popover: De,
43
43
  formatValue: g = Ze,
44
44
  parseValue: K = et,
45
45
  weekdays: T,
46
46
  monthLabels: h,
47
47
  renderMonthLabel: z,
48
- prevIcon: De,
49
- nextIcon: Re,
50
- className: we,
48
+ prevIcon: Re,
49
+ nextIcon: we,
50
+ className: Ne,
51
51
  classes: i
52
- } = u, ae = o.useRef(null), A = o.useRef(null), W = o.useRef(null), q = o.useRef(null), Q = o.useRef(null), re = o.useRef(null), [Ne, Se] = o.useState(!1), [Ce, Pe] = o.useState(!1), f = m === "inline" ? !0 : H ?? Ce, J = o.useCallback(
52
+ } = u, ae = o.useRef(null), A = o.useRef(null), W = o.useRef(null), q = o.useRef(null), Q = o.useRef(null), re = o.useRef(null), [Se, Ce] = o.useState(!1), [Pe, Me] = o.useState(!1), f = m === "inline" ? !0 : H ?? Pe, J = o.useCallback(
53
53
  (e) => {
54
- ne?.(e), m !== "inline" && H === void 0 && Pe(e);
54
+ ne?.(e), m !== "inline" && H === void 0 && Me(e);
55
55
  },
56
56
  [m, ne, H]
57
57
  );
58
58
  o.useEffect(() => {
59
- Se(!0);
59
+ Ce(!0);
60
60
  }, []);
61
61
  const [X, oe] = o.useState(
62
62
  "start"
63
- ), [x, w] = o.useState("days"), [Me, M] = o.useState(() => {
63
+ ), [x, w] = o.useState("days"), [Ee, M] = o.useState(() => {
64
64
  const e = a.start ?? a.end ?? k(), t = b(e).jy;
65
65
  return t - t % 12;
66
66
  }), [F, B] = o.useState(() => {
@@ -97,14 +97,16 @@ function ot(u) {
97
97
  }, [m, f, J]), o.useEffect(() => {
98
98
  f && re.current?.focus();
99
99
  }, [f]);
100
- const N = ke ?? {}, fe = N.portal ?? !0, Ee = G === "single" ? W : X === "start" ? q : Q, { style: $e } = Ke(
101
- m === "popover" && f && fe,
102
- Ee,
100
+ const N = De ?? {}, fe = N.portal ?? !0, $e = G === "single" ? W : X === "start" ? q : Q, { style: me } = Ke(
101
+ m === "popover" && f,
102
+ $e,
103
103
  A,
104
104
  {
105
105
  gutter: N.gutter,
106
106
  padding: N.padding,
107
- strategy: N.strategy,
107
+ // If we're not using a portal, `absolute` would require offset-parent math.
108
+ // Force `fixed` so we can clamp reliably to the viewport.
109
+ strategy: fe ? N.strategy : "fixed",
108
110
  placements: N.placements,
109
111
  align: N.align ?? "end"
110
112
  }
@@ -126,13 +128,13 @@ function ot(u) {
126
128
  const t = (e === "start" ? a.start : a.end) ?? a.start ?? a.end ?? k(), n = b(t);
127
129
  E({ jy: n.jy, jm: n.jm }), j(t), w("days"), B(n.jy), M(n.jy - n.jy % 12);
128
130
  }
129
- function me() {
131
+ function ve() {
130
132
  J(!1), w("days"), m === "popover" && (G === "single" ? W.current?.focus() : (X === "start" ? q : Q).current?.focus());
131
133
  }
132
- function ve(e) {
134
+ function ye(e) {
133
135
  return R ? !0 : !S(e.gregorian, v, y);
134
136
  }
135
- function ye(e, t) {
137
+ function ge(e, t) {
136
138
  const n = t.trim();
137
139
  if (!n) {
138
140
  const _ = U({ ...a, [e]: null });
@@ -158,7 +160,7 @@ function ot(u) {
158
160
  function Fe(e) {
159
161
  if (f && !R) {
160
162
  if (e.key === "Escape") {
161
- e.preventDefault(), me();
163
+ e.preventDefault(), ve();
162
164
  return;
163
165
  }
164
166
  if (x === "days") {
@@ -188,7 +190,7 @@ function ot(u) {
188
190
  }
189
191
  if (e.key === "Enter") {
190
192
  if (e.preventDefault(), !S($, v, y)) return;
191
- je($);
193
+ he($);
192
194
  }
193
195
  }
194
196
  }
@@ -198,8 +200,8 @@ function ot(u) {
198
200
  jy: l.jy,
199
201
  jm: l.jm,
200
202
  jd: 1
201
- }), n = he(t, e), r = b(n);
202
- E({ jy: r.jy, jm: r.jm }), j((p) => he(p, e));
203
+ }), n = xe(t, e), r = b(n);
204
+ E({ jy: r.jy, jm: r.jm }), j((p) => xe(p, e));
203
205
  }
204
206
  function Be(e) {
205
207
  const t = C({ jy: e, jm: 1, jd: 1 }), n = C({ jy: e + 1, jm: 1, jd: 1 });
@@ -209,7 +211,7 @@ function ot(u) {
209
211
  const n = C({ jy: e, jm: t, jd: 1 }), r = t === 12 ? { jy: e + 1, jm: 1 } : { jy: e, jm: t + 1 }, p = C({ jy: r.jy, jm: r.jm, jd: 1 });
210
212
  return { start: n, endExclusive: p };
211
213
  }
212
- function ge(e) {
214
+ function je(e) {
213
215
  return !(v && D(e.endExclusive, v) <= 0 || y && D(e.start, y) > 0);
214
216
  }
215
217
  function Ie() {
@@ -229,7 +231,7 @@ function ot(u) {
229
231
  () => C({ jy: t.jy, jm: t.jm, jd: 1 })
230
232
  ), w("days");
231
233
  }
232
- function je(e) {
234
+ function he(e) {
233
235
  if (!S(e, v, y)) return;
234
236
  const t = a.start, n = a.end;
235
237
  if (!t || t && n) {
@@ -237,7 +239,7 @@ function ot(u) {
237
239
  return;
238
240
  }
239
241
  const r = U({ start: t, end: e });
240
- c(r), m === "popover" && me();
242
+ c(r), m === "popover" && ve();
241
243
  }
242
244
  const Ue = a.end ?? se, Ge = !!(a.start && !a.end && se);
243
245
  function He(e) {
@@ -245,7 +247,7 @@ function ot(u) {
245
247
  "dvx-pdp__day",
246
248
  i?.day,
247
249
  !e.inCurrentMonth && s("dvx-pdp__day--outside", i?.dayOutside),
248
- ve(e) && s("dvx-pdp__day--disabled", i?.dayDisabled),
250
+ ye(e) && s("dvx-pdp__day--disabled", i?.dayDisabled),
249
251
  O(e.gregorian, k()) && s("dvx-pdp__day--today", i?.dayToday)
250
252
  ), n = a.start, r = n ? Ue : null;
251
253
  return n && O(e.gregorian, n) ? s(t, "dvx-pdp__day--rangeStart", i?.dayRangeStart) : r && a.end && O(e.gregorian, a.end) ? s(t, "dvx-pdp__day--rangeEnd", i?.dayRangeEnd) : n && r && (a.end || Ge) && tt(e.gregorian, n, r) ? s(t, "dvx-pdp__day--inRange", i?.dayInRange) : t;
@@ -266,7 +268,7 @@ function ot(u) {
266
268
  className: s("dvx-pdp__nav", i?.navButton),
267
269
  onClick: x === "days" ? () => I(-1) : () => M((e) => e - 12),
268
270
  "aria-label": "Previous month",
269
- children: De ?? "‹"
271
+ children: Re ?? "‹"
270
272
  }
271
273
  ),
272
274
  /* @__PURE__ */ d(
@@ -286,7 +288,7 @@ function ot(u) {
286
288
  className: s("dvx-pdp__nav", i?.navButton),
287
289
  onClick: x === "days" ? () => I(1) : () => M((e) => e + 12),
288
290
  "aria-label": "Next month",
289
- children: Re ?? "›"
291
+ children: we ?? "›"
290
292
  }
291
293
  )
292
294
  ] }),
@@ -300,7 +302,7 @@ function ot(u) {
300
302
  t
301
303
  )) }),
302
304
  /* @__PURE__ */ d("div", { className: "dvx-pdp__days", children: Ae.map((e, t) => /* @__PURE__ */ d("div", { className: "dvx-pdp__row", children: e.map((n) => {
303
- const r = ve(n), p = O(n.gregorian, $);
305
+ const r = ye(n), p = O(n.gregorian, $);
304
306
  return /* @__PURE__ */ d(
305
307
  "button",
306
308
  {
@@ -310,7 +312,7 @@ function ot(u) {
310
312
  p && "dvx-pdp__day--focused"
311
313
  ),
312
314
  disabled: r,
313
- onClick: () => je(n.gregorian),
315
+ onClick: () => he(n.gregorian),
314
316
  onMouseEnter: () => {
315
317
  n.inCurrentMonth && (j(n.gregorian), a.start && !a.end && de(n.gregorian));
316
318
  },
@@ -321,7 +323,7 @@ function ot(u) {
321
323
  );
322
324
  }) }, t)) })
323
325
  ] }) : x === "years" ? /* @__PURE__ */ d("div", { className: "dvx-pdp__panel", children: /* @__PURE__ */ d("div", { className: "dvx-pdp__panelGrid", children: Array.from({ length: 12 }).map((e, t) => {
324
- const n = Me + t, r = ge(
326
+ const n = Ee + t, r = je(
325
327
  Be(n)
326
328
  ), p = n === l.jy;
327
329
  return /* @__PURE__ */ d(
@@ -339,7 +341,7 @@ function ot(u) {
339
341
  n
340
342
  );
341
343
  }) }) }) : /* @__PURE__ */ d("div", { className: "dvx-pdp__panel", children: /* @__PURE__ */ d("div", { className: "dvx-pdp__panelGrid", children: Array.from({ length: 12 }).map((e, t) => {
342
- const n = t + 1, r = ge(
344
+ const n = t + 1, r = je(
343
345
  Ve(F, n)
344
346
  ), p = F === l.jy && n === l.jm, _ = h && h.length === 12 ? h[n - 1] ?? String(n) : String(n);
345
347
  return /* @__PURE__ */ d(
@@ -367,7 +369,7 @@ function ot(u) {
367
369
  className: s(
368
370
  "dvx-pdp",
369
371
  m === "inline" && "dvx-pdp--inline",
370
- we,
372
+ Ne,
371
373
  i?.root
372
374
  ),
373
375
  dir: "rtl",
@@ -378,7 +380,7 @@ function ot(u) {
378
380
  ref: W,
379
381
  className: s("dvx-pdp__input", i?.input),
380
382
  disabled: R,
381
- placeholder: xe,
383
+ placeholder: _e,
382
384
  inputMode: "numeric",
383
385
  autoComplete: "off",
384
386
  value: pe,
@@ -395,13 +397,13 @@ function ot(u) {
395
397
  ref: q,
396
398
  className: s("dvx-pdp__input", i?.input),
397
399
  disabled: R,
398
- placeholder: _e,
400
+ placeholder: be,
399
401
  inputMode: "numeric",
400
402
  autoComplete: "off",
401
403
  value: ie,
402
404
  onChange: (e) => le(e.target.value),
403
405
  onClick: () => Z("start"),
404
- onBlur: () => ye("start", ie),
406
+ onBlur: () => ge("start", ie),
405
407
  "aria-haspopup": "dialog",
406
408
  "aria-expanded": f
407
409
  }
@@ -412,19 +414,19 @@ function ot(u) {
412
414
  ref: Q,
413
415
  className: s("dvx-pdp__input", i?.input),
414
416
  disabled: R,
415
- placeholder: be,
417
+ placeholder: ke,
416
418
  inputMode: "numeric",
417
419
  autoComplete: "off",
418
420
  value: ue,
419
421
  onChange: (e) => ce(e.target.value),
420
422
  onClick: () => Z("end"),
421
- onBlur: () => ye("end", ue),
423
+ onBlur: () => ge("end", ue),
422
424
  "aria-haspopup": "dialog",
423
425
  "aria-expanded": f
424
426
  }
425
427
  )
426
428
  ] }) }),
427
- m === "inline" ? ee : f ? fe && Ne ? Xe(
429
+ m === "inline" ? ee : f ? fe && Se ? Xe(
428
430
  /* @__PURE__ */ d(
429
431
  "div",
430
432
  {
@@ -435,7 +437,7 @@ function ot(u) {
435
437
  i?.popover
436
438
  ),
437
439
  dir: "rtl",
438
- style: { ...$e, right: "auto", bottom: "auto" },
440
+ style: { ...me, right: "auto", bottom: "auto" },
439
441
  role: "dialog",
440
442
  "aria-modal": "false",
441
443
  children: ee
@@ -447,6 +449,7 @@ function ot(u) {
447
449
  {
448
450
  ref: A,
449
451
  className: s("dvx-pdp__popover", i?.popover),
452
+ style: { ...me, right: "auto", bottom: "auto" },
450
453
  role: "dialog",
451
454
  "aria-modal": "false",
452
455
  children: ee
@@ -460,7 +463,7 @@ export {
460
463
  it as PersianDatePicker,
461
464
  ot as PersianDateRangePicker,
462
465
  Y as addDays,
463
- he as addJalaliMonths,
466
+ xe as addJalaliMonths,
464
467
  ze as buildJalaliMonthGrid,
465
468
  lt as clampToRange,
466
469
  D as compareDays,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("react/jsx-runtime"),b=require("react"),g=require("react-hook-form"),m=require("./PersianDatePicker-Bcz6VNVe.cjs");function D(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const j=D(b);function c(e){const{name:t,control:r,rules:n,defaultValue:i,shouldUnregister:s,disabled:a,...l}=e,{field:o,fieldState:u,formState:P}=g.useController({name:t,control:r,rules:n,defaultValue:i??null,shouldUnregister:s,disabled:a}),f=o.value??null,d=j.useCallback(p=>{o.onChange(p)},[o]);return{field:o,fieldState:u,formState:P,pickerProps:{...l,value:f,onChange:d,disabled:a}}}function C(e){const{pickerProps:t}=c(e);return k.jsx(m.PersianDatePicker,{...t})}exports.RHF_PersianDatePicker=C;exports.usePersianDatePickerController=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("react/jsx-runtime"),b=require("react"),g=require("react-hook-form"),m=require("./PersianDatePicker-BLIBy0yJ.cjs");function D(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const j=D(b);function c(e){const{name:t,control:r,rules:n,defaultValue:i,shouldUnregister:s,disabled:a,...l}=e,{field:o,fieldState:u,formState:P}=g.useController({name:t,control:r,rules:n,defaultValue:i??null,shouldUnregister:s,disabled:a}),f=o.value??null,d=j.useCallback(p=>{o.onChange(p)},[o]);return{field:o,fieldState:u,formState:P,pickerProps:{...l,value:f,onChange:d,disabled:a}}}function C(e){const{pickerProps:t}=c(e);return k.jsx(m.PersianDatePicker,{...t})}exports.RHF_PersianDatePicker=C;exports.usePersianDatePickerController=c;
@@ -1,7 +1,7 @@
1
1
  import { jsx as P } from "react/jsx-runtime";
2
2
  import * as d from "react";
3
3
  import { useController as k } from "react-hook-form";
4
- import { P as C } from "./PersianDatePicker-DFMNtlIF.js";
4
+ import { P as C } from "./PersianDatePicker-BYF8CIZO.js";
5
5
  function g(r) {
6
6
  const { name: o, control: n, rules: a, defaultValue: l, shouldUnregister: s, disabled: t, ...i } = r, { field: e, fieldState: u, formState: c } = k({
7
7
  name: o,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "persian-date-kit",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "description": "Production-ready Persian (Jalali) date pickers for React with Gregorian-only values.",
5
5
  "keywords": [
6
6
  "react",