@coreify/tarikh 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var t=["0","1","2","3","4","5","6","7","8","9"],e=["০","১","২","৩","৪","৫","৬","৭","৮","৯"],n=["January","February","March","April","May","June","July","August","September","October","November","December"],r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],a=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],s=["জানুয়ারি","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],u=["জানু","ফেব্রু","মার্চ","এপ্রি","মে","জুন","জুলা","আগ","সেপ্টে","অক্টো","নভে","ডিসে"],i=["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],l=["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],g=["বৈশাখ","জ্যৈষ্ঠ","আষাঢ়","শ্রাবণ","ভাদ্র","আশ্বিন","কার্তিক","অগ্রহায়ণ","পৌষ","মাঘ","ফাল্গুন","চৈত্র"],c=["Baishakh","Jaishtho","Asharh","Shrabon","Bhadro","Ashshin","Kartik","Agrahayan","Poush","Magh","Falgun","Chaitra"],h=[31,31,31,31,31,30,30,30,30,30,30,30],d={second:"second",seconds:"seconds",minute:"minute",minutes:"minutes",hour:"hour",hours:"hours",day:"day",days:"days",week:"week",weeks:"weeks",month:"month",months:"months",year:"year",years:"years",ago:"ago",in:"in",justNow:"just now"},f={second:"সেকেন্ড",seconds:"সেকেন্ড",minute:"মিনিট",minutes:"মিনিট",hour:"ঘণ্টা",hours:"ঘণ্টা",day:"দিন",days:"দিন",week:"সপ্তাহ",weeks:"সপ্তাহ",month:"মাস",months:"মাস",year:"বছর",years:"বছর",ago:"আগে",in:"",justNow:"এইমাত্র"};function m(t){return String(t).replace(/\d/g,t=>e[Number(t)]??t)}function D(n){return String(n).replace(/[০-৯]/g,n=>{const r=e.indexOf(n);return r>=0?t[r]??n:n})}var M={jan:0,"jan.":0,january:0,"january,":0,feb:1,"feb.":1,february:1,"february,":1,mar:2,"mar.":2,march:2,"march,":2,apr:3,"apr.":3,april:3,"april,":3,may:4,"may,":4,jun:5,"jun.":5,june:5,"june,":5,jul:6,"jul.":6,july:6,"july,":6,aug:7,"aug.":7,august:7,"august,":7,sep:8,sept:8,"sep.":8,"sept.":8,september:8,"september,":8,oct:9,"oct.":9,october:9,"october,":9,nov:10,"nov.":10,november:10,"november,":10,dec:11,"dec.":11,december:11,"december,":11,"জানুয়ারি":0,"জানুয়ারি":0,"ফেব্রুয়ারি":1,"ফেব্রুয়ারি":1,"মার্চ":2,"এপ্রিল":3,"মে":4,"জুন":5,"জুলাই":6,"আগস্ট":7,"অগাস্ট":7,"সেপ্টেম্বর":8,"সেপ্টেম্বার":8,"অক্টোবর":9,"নভেম্বর":10,"নভেম্বার":10,"ডিসেম্বর":11,"ডিসেম্বার":11,"জানু":0,"ফেব্রু":1,"এপ্রি":3,"জুলা":6,"আগ":7,"সেপ্টে":8,"অক্টো":9,"নভে":10,"ডিসে":11};function p(t){const e=t.trim(),o=e.toLowerCase(),a=M[o];if(void 0!==a)return a;for(let t=0;t<n.length;t++)if(n[t].toLowerCase()===o)return t;for(let t=0;t<r.length;t++)if(r[t].toLowerCase()===o)return t;for(let t=0;t<s.length;t++)if(s[t]===e)return t;for(let t=0;t<u.length;t++)if(u[t]===e)return t;return-1}function y(t,e,n,r=0,o=0,a=0,s=0){const u=new Date(t,e,n,r,o,a,s);return u.getFullYear()!==t||u.getMonth()!==e||u.getDate()!==n||u.getHours()!==r||u.getMinutes()!==o||u.getSeconds()!==a||u.getMilliseconds()!==s?null:u}function b(t){return function(t){const e=t.trim().match(/^(\d{4})([-/.])(\d{1,2})\2(\d{1,2})$/);return e?y(Number(e[1]),Number(e[3])-1,Number(e[4])):null}(t)??function(t){const e=t.trim().match(/^(\d{4})-(\d{2})-(\d{2})(?:[T\s](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d+))?)?(Z|[+-]\d{2}:?\d{2})?)$/);if(!e)return null;const n=Number(e[1]),r=Number(e[2]),o=Number(e[3]),a=Number(e[4]??0),s=Number(e[5]??0),u=Number(e[6]??0),i=Number((e[7]??"0").padEnd(3,"0").slice(0,3)),l=e[8];if(void 0===l)return y(n,r-1,o,a,s,u,i);const g=l.match(/^([+-])(\d{2}):?(\d{2})$/),c="Z"===l?0:g?("+"===g[1]?1:-1)*(60*Number(g[2])+Number(g[3])):null;if(null===c)return null;const h=Date.UTC(n,r-1,o,a,s,u,i)-6e4*c,d=new Date(h),f=new Date(h+6e4*c);return f.getUTCFullYear()!==n||f.getUTCMonth()!==r-1||f.getUTCDate()!==o||f.getUTCHours()!==a||f.getUTCMinutes()!==s||f.getUTCSeconds()!==u||f.getUTCMilliseconds()!==i?null:d}(t)??function(t){const e=t.match(/^(\d{1,2})(?:st|nd|rd|th)?(?:\s+|-)(\S+)(?:\s+|-)(\d{2,4})$/);if(!e)return null;const n=Number(e[1]),r=e[2].replace(/,$/,""),o=e[3],a=p(r);if(-1===a)return null;let s=Number(o);return 2===o.length&&(s+=s>=50?1900:2e3),y(s,a,n)}(t)??function(t){const e=t.match(/^(\S+)\s+(\d{1,2})(?:st|nd|rd|th)?(?:,)?\s+(\d{2,4})$/);if(!e)return null;const n=e[1].replace(/,$/,""),r=Number(e[2]),o=e[3],a=p(n);if(-1===a)return null;let s=Number(o);return 2===o.length&&(s+=s>=50?1900:2e3),y(s,a,r)}(t)}function S(t){if(t instanceof Date){const e=t.getTime();if(Number.isNaN(e))throw new Error(`Invalid date input: ${String(t)}`);return new Date(e)}if("number"==typeof t){if(!Number.isFinite(t))throw new Error(`Invalid date input: ${String(t)}`);const e=new Date(t);if(Number.isNaN(e.getTime()))throw new Error(`Invalid date input: ${String(t)}`);return e}const e=b(D(t).trim());if(!e)throw new Error(`Invalid date input: ${String(t)}`);return e}function N(t,e){const n=S(t);return n.setDate(n.getDate()+e),n}function w(t,e){return new Date(t,e+1,0).getDate()}function $(t,e){const n=S(t),r=n.getFullYear(),o=n.getMonth()+e,a=r+Math.floor(o/12),s=(o%12+12)%12,u=Math.min(n.getDate(),w(a,s));return n.setFullYear(a,s,u),n}function x(t,e){const n=S(t),r=n.getFullYear()+e,o=Math.min(n.getDate(),w(r,n.getMonth()));return n.setFullYear(r,n.getMonth(),o),n}function Y(t){const e=[...h];return function(t){return(e=t+594)%4==0&&e%100!=0||e%400==0;var e}(t)&&(e[10]=31),e}function T(t,e){const n=e?.locale??"en-BD",r=S(t),o=r.getFullYear(),a=r.getMonth(),s=r.getDate(),u=new Date(o,3,14),i=a<3||3===a&&s<14,l=i?o-594:o-593,h=function(t,e){const n=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()),r=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate());return Math.floor((r-n)/864e5)}(i?new Date(o-1,3,14):u,r)+1,d=Y(l);let f=h,D=0;for(let t=0;t<d.length;t++){const e=d[t];if(f<=e){D=t;break}f-=e}const M=D+1;return"bn-BD"===n?{day:m(f),month:g[D],monthIndex:M,year:m(l)}:{day:f,month:c[D],monthIndex:M,year:l}}function A(t,e,n){const r=function(t,e,n){if(!Number.isInteger(t)||!Number.isInteger(e)||!Number.isInteger(n))throw new Error("Invalid Bangla calendar date.");if(e<1||e>12)throw new Error("Invalid Bangla calendar month index. Must be 1-12.");const r=Y(n),o=r[e-1];if(t<1||t>o)throw new Error(`Invalid Bangla calendar day. Month ${e} of year ${n} has ${o} days.`);return r}(t,e,n),o=new Date(n+593,3,14);let a=t-1;for(let t=0;t<e-1;t++)a+=r[t];const s=new Date(o);return s.setDate(s.getDate()+a),s}function H(t){const e=m(t);return 1===t?`${e}লা`:2===t||3===t?`${e}রা`:4===t?`${e}ঠা`:t>=19?`${e}শে`:`${e}ই`}function B(t,e){return"spoken"===(e?.format??"ordinal")?function(t,e="pohela"){switch(t){case 1:return"poyla"===e?"পয়লা":"পহেলা";case 2:return"দোসরা";case 3:return"তেসরা";case 4:return"চৌঠা";default:return H(t)}}(t,e?.variant):H(t)}function F(t,e){return"2-digit"===e?String(t).padStart(2,"0"):String(t)}function v(t,e,n){if("bn-BD"===e)return t<12?"পূর্বাহ্ণ":"অপরাহ্ণ";const r=t<12?"AM":"PM";return n?r.toLowerCase():r}var E={baishakh:1,boishakh:1,boishak:1,boisakh:1,jaishtho:2,jaishtha:2,jaistha:2,joishtho:2,jyoishtho:2,jyoistho:2,jyeshtho:2,ashar:3,asadh:3,asharh:3,srabon:4,shraban:4,shrabon:4,sraban:4,bhadro:5,ashin:6,ashwin:6,ashshin:6,kartik:7,ograyon:8,ograyan:8,ogrohayon:8,ograhayon:8,agrahayan:8,aghrayan:8,pous:9,poush:9,mag:10,magh:10,falgoon:11,falgun:11,choitra:12,chaitra:12,choitro:12},_={"বৈশাখ":1,"জৈষ্ঠ":2,"জ্যৈষ্ঠ":2,"আষাঢ়":3,"আষাঢ়":3,"শ্রাবণ":4,"ভাদ্র":5,"আশ্বিন":6,"কার্তিক":7,"অগ্রহায়ণ":8,"অগ্রহায়ণ":8,"অঘ্রাণ":8,"অগ্রায়ণ":8,"অগ্রায়ণ":8,"পৌষ":9,"পৌস":9,"মাঘ":10,"ফাল্গুন":11,"চৈত্র":12};var L=1e3,I=36e5,j=24*I,k=[{threshold:7*j,singular:"week",plural:"weeks"},{threshold:j,singular:"day",plural:"days"},{threshold:I,singular:"hour",plural:"hours"},{threshold:6e4,singular:"minute",plural:"minutes"},{threshold:L,singular:"second",plural:"seconds"}];function C(t,e){return new Date(t,e+1,0).getDate()}function O(t,e){let n=t.getFullYear()-e.getFullYear();const r=function(t,e){const n=t.getFullYear()+e,r=t.getMonth(),o=Math.min(t.getDate(),C(n,r));return new Date(n,r,o,t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}(e,n);return r>t&&(n-=1),n}function G(t,e){let n=12*(t.getFullYear()-e.getFullYear())+(t.getMonth()-e.getMonth());const r=function(t,e){const n=t.getFullYear(),r=t.getMonth()+e,o=n+Math.floor(r/12),a=(r%12+12)%12,s=Math.min(t.getDate(),C(o,a));return new Date(o,a,s,t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}(e,n);return r>t&&(n-=1),n}function U(t,e,n,r,o){const a="bn-BD"===o,s=a?m(t):String(t),u=1===t?e:n;return a?r?`${s} ${u} আগে`:`${s} ${u} পরে`:r?`${s} ${u} ago`:`in ${s} ${u}`}function R(t,e,n){return"bn-BD"===n?"day"===t?e?"গতকাল":"আগামীকাল":"week"===t?e?"গত সপ্তাহে":"আগামী সপ্তাহে":"month"===t?e?"গত মাসে":"আগামী মাসে":e?"গত বছর":"আগামী বছর":"day"===t?e?"yesterday":"tomorrow":"week"===t?e?"last week":"next week":"month"===t?e?"last month":"next month":e?"last year":"next year"}exports.BANGLA_CALENDAR_MONTHS=g,exports.BANGLA_CALENDAR_MONTHS_EN=c,exports.BANGLA_CALENDAR_MONTH_DAYS=h,exports.BANGLA_DIGITS=e,exports.BANGLA_MONTHS_FULL=s,exports.BANGLA_MONTHS_SHORT=u,exports.BANGLA_WEEKDAYS_FULL=i,exports.BANGLA_WEEKDAYS_SHORT=l,exports.BOISHAKH_START_DAY=14,exports.BOISHAKH_START_MONTH=3,exports.ENGLISH_DIGITS=t,exports.ENGLISH_MONTHS_FULL=n,exports.ENGLISH_MONTHS_SHORT=r,exports.ENGLISH_WEEKDAYS_FULL=o,exports.ENGLISH_WEEKDAYS_SHORT=a,exports.RELATIVE_TIME_BN=f,exports.RELATIVE_TIME_EN=d,exports.addDays=N,exports.addMonths=$,exports.addYears=x,exports.endOfDay=function(t){const e=S(t);return e.setHours(23,59,59,999),e},exports.endOfMonth=function(t){const e=S(t);return e.setMonth(e.getMonth()+1,0),e.setHours(23,59,59,999),e},exports.endOfYear=function(t){const e=S(t);return e.setMonth(11,31),e.setHours(23,59,59,999),e},exports.format=function(t,e,g){const c=S(t),h=g?.locale??"en-BD",d="bn-BD"===h,f=c.getDate(),D=c.getMonth(),M=c.getFullYear(),p=d?s:n,y=d?u:r,b=d?i:o,N=d?l:a,w=c.getHours(),$=w%12||12,x={dddd:b[c.getDay()],ddd:N[c.getDay()],MMMM:p[D],MMM:y[D],MM:String(D+1).padStart(2,"0"),M:String(D+1),DD:String(f).padStart(2,"0"),D:String(f),HH:String(w).padStart(2,"0"),H:String(w),hh:String($).padStart(2,"0"),h:String($),mm:String(c.getMinutes()).padStart(2,"0"),m:String(c.getMinutes()),ss:String(c.getSeconds()).padStart(2,"0"),s:String(c.getSeconds()),A:v(w,h,!1),a:v(w,h,!0),YYYY:String(M),YY:String(M).slice(-2)},Y=e.replace(/dddd|ddd|MMMM|MMM|MM|M|DD|D|YYYY|YY|HH|H|hh|h|mm|m|ss|s|A|a/g,t=>x[t]);return d?m(Y):Y},exports.formatBanglaCalendar=function(t,e){const n=e?.locale??"en-BD",r=e?.format??"ordinal",o=e?.variant,a=T(t,{locale:"en-BD"});if("bn-BD"===n){const t=a.monthIndex-1,e={format:r};return void 0!==o&&(e.variant=o),`${B(a.day,e)} ${g[t]} ${m(a.year)}`}return`${a.day} ${a.month} ${a.year}`},exports.formatBanglaCalendarDay=B,exports.formatDate=function(t,e){const g=S(t),c=e?.locale??"en-BD",h=e?.month??"short",d=e?.year??"numeric",f=e?.day??"numeric",D=e?.weekday,M=e?.hour,p=e?.minute,y=e?.second,b=void 0!==M||void 0!==p||void 0!==y,N="bn-BD"===c,w=g.getDate(),$=g.getMonth(),x=g.getFullYear(),Y=`${"2-digit"===f?String(w).padStart(2,"0"):String(w)} ${(N?"short"===h?u:s:"short"===h?r:n)[$]} ${"2-digit"===d?String(x).slice(-2):String(x)}`,T=void 0!==D?`${(N?"short"===D?l:i:"short"===D?a:o)[g.getDay()]}, `:"";let A="";if(b){const t=e?.hour12??!1,n=g.getHours(),r=p??(void 0!==y?"2-digit":void 0);A=`${F(t?n%12||12:n,M??"numeric")}${void 0!==r?`:${F(g.getMinutes(),r)}`:""}${void 0!==y?`:${F(g.getSeconds(),y)}`:""}${t?` ${v(n,c,!1)}`:""}`}const H=`${T}${Y}${A?`, ${A}`:""}`;return N?m(H):H},exports.formatHybridDate=function(t,e){const o=S(t),a=e?.digits??"en",i=e?.month??"bn",l=e?.year??"en",g=e?.day??a,c=e?.monthFormat??"long",h=o.getDate(),d=o.getMonth(),f=o.getFullYear(),D="bn"===i?"short"===c?u:s:"short"===c?r:n;return`${"bn"===g?m(h):String(h)} ${D[d]} ${"bn"===l?m(f):String(f)}`},exports.fromBanglaCalendar=A,exports.fromNow=function(t,e){const n=S(t),r=e?.locale??"en-BD",o=e?.numeric??"always",a="bn-BD"===r?f:d,s=Date.now()-n.getTime(),u=Math.abs(s),i=s>0,l=new Date,g=n.getFullYear()===l.getFullYear()&&n.getMonth()===l.getMonth()&&n.getDate()===l.getDate(),c=i?l:n,h=i?n:l;if(u<L)return a.justNow;if("auto"===o&&g)return function(t){return"bn-BD"===t?"আজ":"today"}(r);const m=O(c,h);if(m>=1){if("auto"===o&&1===m){const t=R("year",i,r);if(null!==t)return t}return U(m,a.year,a.years,i,r)}const D=G(c,h);if(D>=1){if("auto"===o&&1===D){const t=R("month",i,r);if(null!==t)return t}return U(D,a.month,a.months,i,r)}for(const t of k)if(u>=t.threshold){const e=Math.floor(u/t.threshold);if("auto"===o&&1===e&&("day"===t.singular||"week"===t.singular)){const e=R(t.singular,i,r);if(null!==e)return e}return U(e,a[t.singular],a[t.plural],i,r)}return a.justNow},exports.getBanglaMonth=function(t,e="long"){const n=t-1;if(n<0||n>11)throw new Error(`Invalid month number: ${t}. Must be 1-12.`);return"short"===e?u[n]:s[n]},exports.isToday=function(t){const e=S(t),n=new Date;return e.getFullYear()===n.getFullYear()&&e.getMonth()===n.getMonth()&&e.getDate()===n.getDate()},exports.isTomorrow=function(t){const e=S(t),n=new Date;return n.setDate(n.getDate()+1),e.getFullYear()===n.getFullYear()&&e.getMonth()===n.getMonth()&&e.getDate()===n.getDate()},exports.isYesterday=function(t){const e=S(t),n=new Date;return n.setDate(n.getDate()-1),e.getFullYear()===n.getFullYear()&&e.getMonth()===n.getMonth()&&e.getDate()===n.getDate()},exports.parseDate=function(t,e){if(t instanceof Date)return Number.isNaN(t.getTime())?null:new Date(t.getTime());if("number"==typeof t){const e=new Date(t);return Number.isNaN(e.getTime())?null:e}const n=D(t).trim();return"bangla"===e?.calendar?function(t){const e=t.match(/^(\S+),?\s+(\S+),?\s+(\d{4})$/);if(!e)return null;const n=function(t){const e={"পহেলা":1,"পয়লা":1,"পয়লা":1,"দোসরা":2,"তেসরা":3,"চৌঠা":4}[t];if(void 0!==e)return e;const n=t.match(/^(\d{1,2})(?:লা|রা|ঠা|ই|শে)$/);if(n)return Number(n[1]);const r=Number(t);return Number.isInteger(r)&&r>=1&&r<=31?r:null}(e[1].replace(/,$/,""));if(null===n)return null;const r=function(t){const e=t.toLowerCase();for(let e=0;e<g.length;e++)if(g[e]===t)return e+1;const n=_[t];if(void 0!==n)return n;for(let t=0;t<c.length;t++)if(c[t].toLowerCase()===e)return t+1;const r=E[e];return void 0!==r?r:-1}(e[2].replace(/,$/,""));if(-1===r)return null;const o=Number(e[3]);try{return A(n,r,o)}catch{return null}}(n):b(n)},exports.startOfDay=function(t){const e=S(t);return e.setHours(0,0,0,0),e},exports.startOfMonth=function(t){const e=S(t);return e.setDate(1),e.setHours(0,0,0,0),e},exports.startOfYear=function(t){const e=S(t);return e.setMonth(0,1),e.setHours(0,0,0,0),e},exports.subDays=function(t,e){return N(t,-e)},exports.subMonths=function(t,e){return $(t,-e)},exports.subYears=function(t,e){return x(t,-e)},exports.toBanglaCalendar=T,exports.toBanglaDigits=m,exports.toDate=S,exports.toEnglishDigits=D;
1
+ "use strict";var t=["0","1","2","3","4","5","6","7","8","9"],e=["০","১","২","৩","৪","৫","৬","৭","৮","৯"],n=["January","February","March","April","May","June","July","August","September","October","November","December"],r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],a=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],u=["জানুয়ারি","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],s=["জানু","ফেব্রু","মার্চ","এপ্রি","মে","জুন","জুলা","আগ","সেপ্টে","অক্টো","নভে","ডিসে"],i=["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],l=["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],d=["বৈশাখ","জ্যৈষ্ঠ","আষাঢ়","শ্রাবণ","ভাদ্র","আশ্বিন","কার্তিক","অগ্রহায়ণ","পৌষ","মাঘ","ফাল্গুন","চৈত্র"],c=["Baishakh","Jaishtho","Asharh","Shrabon","Bhadro","Ashshin","Kartik","Agrahayan","Poush","Magh","Falgun","Chaitra"],h=[31,31,31,31,31,30,30,30,30,30,30,30],g={second:"second",seconds:"seconds",minute:"minute",minutes:"minutes",hour:"hour",hours:"hours",day:"day",days:"days",week:"week",weeks:"weeks",month:"month",months:"months",year:"year",years:"years",ago:"ago",in:"in",justNow:"just now"},m={second:"সেকেন্ড",seconds:"সেকেন্ড",minute:"মিনিট",minutes:"মিনিট",hour:"ঘণ্টা",hours:"ঘণ্টা",day:"দিন",days:"দিন",week:"সপ্তাহ",weeks:"সপ্তাহ",month:"মাস",months:"মাস",year:"বছর",years:"বছর",ago:"আগে",in:"",justNow:"এইমাত্র"};function f(t){return String(t).replace(/\d/g,t=>e[Number(t)]??t)}function y(n){return String(n).replace(/[০-৯]/g,n=>{const r=e.indexOf(n);return r>=0?t[r]??n:n})}var D={jan:0,"jan.":0,january:0,"january,":0,feb:1,"feb.":1,february:1,"february,":1,mar:2,"mar.":2,march:2,"march,":2,apr:3,"apr.":3,april:3,"april,":3,may:4,"may,":4,jun:5,"jun.":5,june:5,"june,":5,jul:6,"jul.":6,july:6,"july,":6,aug:7,"aug.":7,august:7,"august,":7,sep:8,sept:8,"sep.":8,"sept.":8,september:8,"september,":8,oct:9,"oct.":9,october:9,"october,":9,nov:10,"nov.":10,november:10,"november,":10,dec:11,"dec.":11,december:11,"december,":11,"জানুয়ারি":0,"জানুয়ারি":0,"ফেব্রুয়ারি":1,"ফেব্রুয়ারি":1,"মার্চ":2,"এপ্রিল":3,"মে":4,"জুন":5,"জুলাই":6,"আগস্ট":7,"অগাস্ট":7,"সেপ্টেম্বর":8,"সেপ্টেম্বার":8,"অক্টোবর":9,"নভেম্বর":10,"নভেম্বার":10,"ডিসেম্বর":11,"ডিসেম্বার":11,"জানু":0,"ফেব্রু":1,"এপ্রি":3,"জুলা":6,"আগ":7,"সেপ্টে":8,"অক্টো":9,"নভে":10,"ডিসে":11};function p(t){const e=t.trim(),o=e.toLowerCase(),a=D[o];if(void 0!==a)return a;for(let t=0;t<n.length;t++)if(n[t].toLowerCase()===o)return t;for(let t=0;t<r.length;t++)if(r[t].toLowerCase()===o)return t;for(let t=0;t<u.length;t++)if(u[t]===e)return t;for(let t=0;t<s.length;t++)if(s[t]===e)return t;return-1}function b(t){return Number.isFinite(t)&&Math.abs(t)<=864e13}function M(t,e,n,r=0,o=0,a=0,u=0){const s=new Date(0);return s.setUTCFullYear(t,e,n),s.setUTCHours(r,o,a,u),s.getUTCFullYear()!==t||s.getUTCMonth()!==e||s.getUTCDate()!==n||s.getUTCHours()!==r||s.getUTCMinutes()!==o||s.getUTCSeconds()!==a||s.getUTCMilliseconds()!==u?null:s}function w(t,e,n,r=0,o=0,a=0,u=0){return function(t,e,n,r=0,o=0,a=0,u=0){const s=new Date(0);return s.setFullYear(t,e,n),s.setHours(r,o,a,u),s.getFullYear()!==t||s.getMonth()!==e||s.getDate()!==n||s.getHours()!==r||s.getMinutes()!==o||s.getSeconds()!==a||s.getMilliseconds()!==u?null:s}(t,e,n,r,o,a,u)??M(t,e,n,r,o,a,u)}function $(t){if(!/^[+-]?\d+$/.test(t))return null;const e=Number(t);return Number.isInteger(e)?e:null}function N(t){return function(t){const e=t.trim().match(/^([+-]\d{6}|\d{4})([-/.])(\d{1,2})\2(\d{1,2})$/);return e?w(Number(e[1]),Number(e[3])-1,Number(e[4])):null}(t)??function(t){const e=t.trim().match(/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})(?:[T\s](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d+))?)?(Z|[+-]\d{2}:?\d{2})?)$/);if(!e)return null;const n=Number(e[1]),r=Number(e[2]),o=Number(e[3]),a=Number(e[4]??0),u=Number(e[5]??0),s=Number(e[6]??0),i=Number((e[7]??"0").padEnd(3,"0").slice(0,3)),l=e[8];if(void 0===l)return w(n,r-1,o,a,u,s,i);const d=l.match(/^([+-])(\d{2}):?(\d{2})$/),c=d?Number(d[2]):null,h=d?Number(d[3]):null,g="Z"===l?0:d&&null!==c&&null!==h&&c<=23&&h<=59?("+"===d[1]?1:-1)*(60*c+h):null;if(null===g)return null;const m=M(n,r-1,o,a,u,s,i);if(!m)return null;const f=m.getTime()-6e4*g;if(!b(f))return null;const y=new Date(f),D=new Date(f+6e4*g);return D.getUTCFullYear()!==n||D.getUTCMonth()!==r-1||D.getUTCDate()!==o||D.getUTCHours()!==a||D.getUTCMinutes()!==u||D.getUTCSeconds()!==s||D.getUTCMilliseconds()!==i?null:y}(t)??function(t){const e=t.match(/^(\d{1,2})(?:st|nd|rd|th|লা|রা|ঠা|ই|শে)?(?:\s+|-)(\S+)(?:\s+|-)([+-]\d{6}|\d{4}|\d{2})$/);if(!e)return null;const n=Number(e[1]),r=e[2].replace(/,$/,""),o=e[3],a=p(r);if(-1===a)return null;const u=$(o);if(null===u)return null;let s=u;return o.startsWith("+")||o.startsWith("-")||2!==o.length||(s+=s>=50?1900:2e3),w(s,a,n)}(t)??function(t){const e=t.match(/^(\S+)\s+(\d{1,2})(?:st|nd|rd|th|লা|রা|ঠা|ই|শে)?(?:,)?\s+([+-]\d{6}|\d{4}|\d{2})$/);if(!e)return null;const n=e[1].replace(/,$/,""),r=Number(e[2]),o=e[3],a=p(n);if(-1===a)return null;const u=$(o);if(null===u)return null;let s=u;return o.startsWith("+")||o.startsWith("-")||2!==o.length||(s+=s>=50?1900:2e3),w(s,a,r)}(t)}function S(t,e,n){if(!b(t.getTime())){throw new RangeError(`${void 0===n?"Date input":`${n} output`} is outside the supported range: ${String(e)}`)}return t}function T(t){if(t instanceof Date){const e=t.getTime();if(Number.isNaN(e))throw new Error(`Invalid date input: ${String(t)}`);return S(new Date(e),t)}if("number"==typeof t){if(!Number.isFinite(t))throw new Error(`Invalid date input: ${String(t)}`);const e=new Date(t);if(Number.isNaN(e.getTime())){if(!b(t))throw new RangeError(`Date input is outside the supported range: ${String(t)}`);throw new Error(`Invalid date input: ${String(t)}`)}return S(e,t)}const e=N(y(t).trim());if(!e)throw new Error(`Invalid date input: ${String(t)}`);return S(e,t)}function x(t,e){const n=T(t);return n.setDate(n.getDate()+e),S(n,t,"addDays()")}function Y(t,e){return new Date(t,e+1,0).getDate()}function v(t,e){const n=T(t),r=n.getFullYear(),o=n.getMonth()+e,a=r+Math.floor(o/12),u=(o%12+12)%12,s=Math.min(n.getDate(),Y(a,u));return n.setFullYear(a,u,s),S(n,t,"addMonths()")}function A(t,e){const n=T(t),r=n.getFullYear()+e,o=Math.min(n.getDate(),Y(r,n.getMonth()));return n.setFullYear(r,n.getMonth(),o),S(n,t,"addYears()")}function H(t){const e=[...h];return function(t){return(e=t+594)%4==0&&e%100!=0||e%400==0;var e}(t)&&(e[10]=31),e}function E(t,e){const n=e?.locale??"en-BD",r=T(t),o=r.getFullYear(),a=r.getMonth(),u=r.getDate(),s=new Date(o,3,14),i=a<3||3===a&&u<14,l=i?o-594:o-593,h=function(t,e){const n=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()),r=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate());return Math.floor((r-n)/864e5)}(i?new Date(o-1,3,14):s,r)+1,g=H(l);let m=h,y=0;for(let t=0;t<g.length;t++){const e=g[t];if(m<=e){y=t;break}m-=e}const D=y+1;return"bn-BD"===n?{day:f(m),month:d[y],monthIndex:D,year:f(l)}:{day:m,month:c[y],monthIndex:D,year:l}}function I(t,e,n){const r=function(t,e,n){if(!Number.isInteger(t)||!Number.isInteger(e)||!Number.isInteger(n))throw new Error("Invalid Bangla calendar date.");if(e<1||e>12)throw new Error("Invalid Bangla calendar month index. Must be 1-12.");const r=H(n),o=r[e-1];if(t<1||t>o)throw new Error(`Invalid Bangla calendar day. Month ${e} of year ${n} has ${o} days.`);return r}(t,e,n),o=new Date(n+593,3,14);let a=t-1;for(let t=0;t<e-1;t++)a+=r[t];const u=new Date(o);return u.setDate(u.getDate()+a),S(u,{day:t,monthIndex:e,year:n},"fromBanglaCalendar()")}var B=["Asia/Dhaka","UTC"];function F(t,e){const n=t.find(t=>t.type===e);if(void 0===n)throw new Error(`Missing ${e} part while formatting Hijri date.`);return n.value}function _(t,e){const n=e?.locale??"en-BD",r=e?.timeZone??"Asia/Dhaka";!function(t){if(!B.includes(t))throw new RangeError(`Unsupported Hijri time zone: ${t}. Supported values: ${B.join(", ")}`)}(r);const o=function(t,e,n){const r=function(t){return`${t}-u-ca-islamic-umalqura`}(e),o=new Intl.DateTimeFormat(r,{day:"numeric",month:"numeric",year:"numeric",timeZone:n}).formatToParts(t),a=new Intl.DateTimeFormat(r,{day:"numeric",month:"long",year:"numeric",timeZone:n}).formatToParts(t);return{day:F(o,"day"),month:F(a,"month"),monthIndex:Number(y(F(o,"month"))),year:F(o,"year")}}(T(t),n,r);return"bn-BD"===n?{day:f(o.day),month:o.month,monthIndex:o.monthIndex,year:f(o.year)}:{day:Number(y(o.day)),month:o.month,monthIndex:o.monthIndex,year:Number(y(o.year))}}function C(t){const e=f(t);return 1===t?`${e}লা`:2===t||3===t?`${e}রা`:4===t?`${e}ঠা`:t>=19?`${e}শে`:`${e}ই`}function L(t){const e=t%100;if(e>=11&&e<=13)return`${t}th`;switch(t%10){case 1:return`${t}st`;case 2:return`${t}nd`;case 3:return`${t}rd`;default:return`${t}th`}}function O(t,e){return"spoken"===(e?.format??"ordinal")?function(t,e="pohela"){switch(t){case 1:return"poyla"===e?"পয়লা":"পহেলা";case 2:return"দোসরা";case 3:return"তেসরা";case 4:return"চৌঠা";default:return C(t)}}(t,e?.variant):C(t)}function j(t,e){return"2-digit"===e?String(t).padStart(2,"0"):String(t)}function k(t,e,n){const r=j(t,n);return"bn-BD"===e?f(r):r}function U(t,e,n){if(!e.includes(t))throw new TypeError(`Invalid ${n}: ${t}`)}function G(t,e,n){if("bn-BD"===e)return t<12?"পূর্বাহ্ণ":"অপরাহ্ণ";const r=t<12?"AM":"PM";return n?r.toLowerCase():r}var R={baishakh:1,boishakh:1,boishak:1,boisakh:1,jaishtho:2,jaishtha:2,jaistha:2,joishtho:2,jyoishtho:2,jyoistho:2,jyeshtho:2,ashar:3,asadh:3,asharh:3,srabon:4,shraban:4,shrabon:4,sraban:4,bhadro:5,ashin:6,ashwin:6,ashshin:6,kartik:7,ograyon:8,ograyan:8,ogrohayon:8,ograhayon:8,agrahayan:8,aghrayan:8,pous:9,poush:9,mag:10,magh:10,falgoon:11,falgun:11,choitra:12,chaitra:12,choitro:12},W={"বৈশাখ":1,"জৈষ্ঠ":2,"জ্যৈষ্ঠ":2,"আষাঢ়":3,"আষাঢ়":3,"শ্রাবণ":4,"ভাদ্র":5,"আশ্বিন":6,"কার্তিক":7,"অগ্রহায়ণ":8,"অগ্রহায়ণ":8,"অঘ্রাণ":8,"অগ্রায়ণ":8,"অগ্রায়ণ":8,"পৌষ":9,"পৌস":9,"মাঘ":10,"ফাল্গুন":11,"চৈত্র":12};var Z=1e3,J=36e5,K=24*J,P=[{threshold:7*K,singular:"week",plural:"weeks"},{threshold:K,singular:"day",plural:"days"},{threshold:J,singular:"hour",plural:"hours"},{threshold:6e4,singular:"minute",plural:"minutes"},{threshold:Z,singular:"second",plural:"seconds"}];function V(t,e){return new Date(t,e+1,0).getDate()}function q(t,e){let n=t.getFullYear()-e.getFullYear();const r=function(t,e){const n=t.getFullYear()+e,r=t.getMonth(),o=Math.min(t.getDate(),V(n,r));return new Date(n,r,o,t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}(e,n);return r>t&&(n-=1),n}function z(t,e){let n=12*(t.getFullYear()-e.getFullYear())+(t.getMonth()-e.getMonth());const r=function(t,e){const n=t.getFullYear(),r=t.getMonth()+e,o=n+Math.floor(r/12),a=(r%12+12)%12,u=Math.min(t.getDate(),V(o,a));return new Date(o,a,u,t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}(e,n);return r>t&&(n-=1),n}function Q(t,e,n,r,o){const a="bn-BD"===o,u=a?f(t):String(t),s=1===t?e:n;return a?r?`${u} ${s} আগে`:`${u} ${s} পরে`:r?`${u} ${s} ago`:`in ${u} ${s}`}function X(t,e,n){return"bn-BD"===n?"day"===t?e?"গতকাল":"আগামীকাল":"week"===t?e?"গত সপ্তাহে":"আগামী সপ্তাহে":"month"===t?e?"গত মাসে":"আগামী মাসে":e?"গত বছর":"আগামী বছর":"day"===t?e?"yesterday":"tomorrow":"week"===t?e?"last week":"next week":"month"===t?e?"last month":"next month":e?"last year":"next year"}exports.BANGLA_CALENDAR_MONTHS=d,exports.BANGLA_CALENDAR_MONTHS_EN=c,exports.BANGLA_CALENDAR_MONTH_DAYS=h,exports.BANGLA_DIGITS=e,exports.BANGLA_MONTHS_FULL=u,exports.BANGLA_MONTHS_SHORT=s,exports.BANGLA_WEEKDAYS_FULL=i,exports.BANGLA_WEEKDAYS_SHORT=l,exports.BOISHAKH_START_DAY=14,exports.BOISHAKH_START_MONTH=3,exports.ENGLISH_DIGITS=t,exports.ENGLISH_MONTHS_FULL=n,exports.ENGLISH_MONTHS_SHORT=r,exports.ENGLISH_WEEKDAYS_FULL=o,exports.ENGLISH_WEEKDAYS_SHORT=a,exports.HIJRI_TIME_ZONES=B,exports.RELATIVE_TIME_BN=m,exports.RELATIVE_TIME_EN=g,exports.addDays=x,exports.addMonths=v,exports.addYears=A,exports.endOfDay=function(t){const e=T(t);return e.setHours(23,59,59,999),S(e,t,"endOfDay()")},exports.endOfMonth=function(t){const e=T(t);return e.setMonth(e.getMonth()+1,0),e.setHours(23,59,59,999),S(e,t,"endOfMonth()")},exports.endOfYear=function(t){const e=T(t);return e.setMonth(11,31),e.setHours(23,59,59,999),S(e,t,"endOfYear()")},exports.format=function(t,e){if(null===e||"object"!=typeof e||Array.isArray(e))throw new TypeError("format() expects an options object");if("pattern"in e&&void 0!==e.pattern){if("mode"in e&&void 0!==e.mode)throw new TypeError("Do not pass `mode` when `pattern` is provided. `pattern` formatting does not use mode.");const d="locale"in e&&void 0!==e.locale?e.locale:"en-BD";return function(t,e,d="en-BD"){const c=T(t),h="bn-BD"===d,g=c.getDate(),m=c.getMonth(),f=c.getFullYear(),y=h?u:n,D=h?s:r,p=h?i:o,b=h?l:a,M=c.getHours(),w=M%12||12,$={dddd:p[c.getDay()],ddd:b[c.getDay()],MMMM:y[m],MMM:D[m],MM:k(m+1,d,"2-digit"),M:k(m+1,d,"numeric"),DD:k(g,d,"2-digit"),D:k(g,d,"numeric"),HH:k(M,d,"2-digit"),H:k(M,d,"numeric"),hh:k(w,d,"2-digit"),h:k(w,d,"numeric"),mm:k(c.getMinutes(),d,"2-digit"),m:k(c.getMinutes(),d,"numeric"),ss:k(c.getSeconds(),d,"2-digit"),s:k(c.getSeconds(),d,"numeric"),A:G(M,d,!1),a:G(M,d,!0),YYYY:k(f,d,"numeric"),YY:k(Number(String(f).slice(-2)),d,"2-digit")},N=/dddd|ddd|MMMM|MMM|MM|M|DD|D|YYYY|YY|HH|H|hh|h|mm|m|ss|s|A|a/g,S=t=>t.replace(N,t=>$[t]);let x="",Y=0;for(;Y<e.length;){const t=e.indexOf("[",Y);if(-1===t){x+=S(e.slice(Y));break}x+=S(e.slice(Y,t));const n=e.indexOf("]",t+1);if(-1===n){x+=e.slice(t);break}x+=e.slice(t+1,n),Y=n+1}return x}(t,e.pattern,d)}if(!("mode"in e)||void 0===e.mode)throw new TypeError("format() expects `mode` or `pattern`");const c=e.mode;switch(c){case"standard":return function(t,e){const d=T(t),c=e?.locale??"en-BD",h=e?.month??"short",g=e?.year??"numeric",m=e?.day??"numeric",y=e?.weekday,D=e?.hour,p=e?.minute,b=e?.second,M=void 0!==D||void 0!==p||void 0!==b,w="bn-BD"===c;U(h,["short","long"],"month format for standard mode"),U(g,["numeric","2-digit"],"year format for standard mode"),U(m,["numeric","2-digit"],"day format for standard mode"),void 0!==y&&U(y,["short","long"],"weekday format for standard mode"),void 0!==D&&U(D,["numeric","2-digit"],"hour format for standard mode"),void 0!==p&&U(p,["numeric","2-digit"],"minute format for standard mode"),void 0!==b&&U(b,["numeric","2-digit"],"second format for standard mode");const $=d.getDate(),N=d.getMonth(),S=d.getFullYear(),x=w?" খ্রিস্টাব্দ":"",Y=`${"2-digit"===m?String($).padStart(2,"0"):w?C($):L($)} ${(w?"short"===h?s:u:"short"===h?r:n)[N]} ${"2-digit"===g?String(S).slice(-2):String(S)}${x}`,v=void 0!==y?`${(w?"short"===y?l:i:"short"===y?a:o)[d.getDay()]}, `:"";let A="";if(M){const t=e?.hour12??!1,n=d.getHours(),r=p??(void 0!==b?"2-digit":void 0);A=`${j(t?n%12||12:n,D??"numeric")}${void 0!==r?`:${j(d.getMinutes(),r)}`:""}${void 0!==b?`:${j(d.getSeconds(),b)}`:""}${t?` ${G(n,c,!1)}`:""}`}const H=`${v}${Y}${A?`, ${A}`:""}`;return w?f(H):H}(t,e);case"bangla":return function(t,e){const n=e?.locale??"en-BD",r=e?.format??"ordinal",o=e?.variant,a=E(t,{locale:"en-BD"});if("bn-BD"===n){const t=a.monthIndex-1,e={format:r};return void 0!==o&&(e.variant=o),`${O(a.day,e)} ${d[t]} ${f(a.year)} বঙ্গাব্দ`}return`${L(a.day)} ${a.month} ${a.year}`}(t,e);case"hijri":return function(t,e){const n=e?.locale??"en-BD",r=e?.timeZone;if("bn-BD"===n){const e={locale:n};void 0!==r&&(e.timeZone=r);const o=_(t,e),a=f(o.year);return`${function(t){const e=f(t);return 1===t?`${e}লা`:2===t?`${e}রা`:`${e}ই`}(Number(y(o.day)))} ${o.month} ${a} হিজরি`}const o={locale:n};void 0!==r&&(o.timeZone=r);const a=_(t,o);return`${L(a.day)} ${a.month} ${a.year} AH`}(t,e);case"hybrid":return function(t,e){const o=T(t),a=e?.digits??"en",i=e?.month??"bn",l=e?.year??"en",d=e?.day??a,c=e?.monthFormat??"long";U(a,["en","bn"],"digits language for hybrid mode"),U(i,["en","bn"],"month language for hybrid mode"),U(l,["en","bn"],"year language for hybrid mode"),U(d,["en","bn"],"day language for hybrid mode"),U(c,["short","long"],"month format for hybrid mode");const h=o.getDate(),g=o.getMonth(),m=o.getFullYear(),y="bn"===i?"short"===c?s:u:"short"===c?r:n,D="bn"===d?f(h):String(h),p=y[g],b="bn"===l?f(m):String(m);return`${D} ${p} ${b}`}(t,e);default:throw new TypeError(`Invalid format mode: ${String(c)}`)}},exports.formatBanglaCalendarDay=O,exports.fromBanglaCalendar=I,exports.fromNow=function(t,e){const n=T(t),r=e?.locale??"en-BD",o=e?.numeric??"always",a="bn-BD"===r?m:g,u=Date.now()-n.getTime(),s=Math.abs(u),i=u>0,l=new Date,d=n.getFullYear()===l.getFullYear()&&n.getMonth()===l.getMonth()&&n.getDate()===l.getDate(),c=i?l:n,h=i?n:l;if(s<Z)return a.justNow;if("auto"===o&&d)return function(t){return"bn-BD"===t?"আজ":"today"}(r);const f=q(c,h);if(f>=1){if("auto"===o&&1===f){const t=X("year",i,r);if(null!==t)return t}return Q(f,a.year,a.years,i,r)}const y=z(c,h);if(y>=1){if("auto"===o&&1===y){const t=X("month",i,r);if(null!==t)return t}return Q(y,a.month,a.months,i,r)}for(const t of P)if(s>=t.threshold){const e=Math.floor(s/t.threshold);if("auto"===o&&1===e&&("day"===t.singular||"week"===t.singular)){const e=X(t.singular,i,r);if(null!==e)return e}return Q(e,a[t.singular],a[t.plural],i,r)}return a.justNow},exports.getBanglaMonth=function(t,e="long"){const n=t-1;if(n<0||n>11)throw new Error(`Invalid month number: ${t}. Must be 1-12.`);return"short"===e?s[n]:u[n]},exports.isToday=function(t){const e=T(t),n=new Date;return e.getFullYear()===n.getFullYear()&&e.getMonth()===n.getMonth()&&e.getDate()===n.getDate()},exports.isTomorrow=function(t){const e=T(t),n=new Date;return n.setDate(n.getDate()+1),e.getFullYear()===n.getFullYear()&&e.getMonth()===n.getMonth()&&e.getDate()===n.getDate()},exports.isYesterday=function(t){const e=T(t),n=new Date;return n.setDate(n.getDate()-1),e.getFullYear()===n.getFullYear()&&e.getMonth()===n.getMonth()&&e.getDate()===n.getDate()},exports.parseDate=function(t,e){if(t instanceof Date)return Number.isNaN(t.getTime())?null:new Date(t.getTime());if("number"==typeof t){const e=new Date(t);return Number.isNaN(e.getTime())?null:e}const n=y(t).trim();return"bangla"===e?.calendar?function(t){const e=t.match(/^(\S+),?\s+(\S+),?\s+(\d+)$/);if(!e)return null;const n=function(t){const e={"পহেলা":1,"পয়লা":1,"পয়লা":1,"দোসরা":2,"তেসরা":3,"চৌঠা":4}[t];if(void 0!==e)return e;const n=t.match(/^(\d{1,2})(?:লা|রা|ঠা|ই|শে)$/);if(n)return Number(n[1]);const r=t.match(/^(\d{1,2})(?:st|nd|rd|th)$/i);if(r)return Number(r[1]);const o=Number(t);return Number.isInteger(o)&&o>=1&&o<=31?o:null}(e[1].replace(/,$/,""));if(null===n)return null;const r=function(t){const e=t.toLowerCase();for(let e=0;e<d.length;e++)if(d[e]===t)return e+1;const n=W[t];if(void 0!==n)return n;for(let t=0;t<c.length;t++)if(c[t].toLowerCase()===e)return t+1;const r=R[e];return void 0!==r?r:-1}(e[2].replace(/,$/,""));if(-1===r)return null;const o=Number(e[3]);try{return I(n,r,o)}catch{return null}}(n):N(n)},exports.startOfDay=function(t){const e=T(t);return e.setHours(0,0,0,0),S(e,t,"startOfDay()")},exports.startOfMonth=function(t){const e=T(t);return e.setDate(1),e.setHours(0,0,0,0),S(e,t,"startOfMonth()")},exports.startOfYear=function(t){const e=T(t);return e.setMonth(0,1),e.setHours(0,0,0,0),S(e,t,"startOfYear()")},exports.subDays=function(t,e){return x(t,-e)},exports.subMonths=function(t,e){return v(t,-e)},exports.subYears=function(t,e){return A(t,-e)},exports.toBanglaCalendar=E,exports.toBanglaDigits=f,exports.toDate=T,exports.toEnglishDigits=y,exports.toHijriCalendar=_;
package/dist/index.d.cts CHANGED
@@ -5,6 +5,9 @@ type YearFormat = "numeric" | "2-digit";
5
5
  type DayFormat = "numeric" | "2-digit";
6
6
  type WeekdayFormat = "short" | "long";
7
7
  type TimeFormat = "numeric" | "2-digit";
8
+ type FormatMode = "standard" | "bangla" | "hijri" | "hybrid";
9
+ declare const HIJRI_TIME_ZONES: readonly ["Asia/Dhaka", "UTC"];
10
+ type HijriTimeZone = (typeof HIJRI_TIME_ZONES)[number];
8
11
  type DateInput = Date | string | number;
9
12
  interface DateFormatOptions {
10
13
  locale?: Locale;
@@ -17,9 +20,28 @@ interface DateFormatOptions {
17
20
  second?: TimeFormat;
18
21
  hour12?: boolean;
19
22
  }
20
- interface TokenFormatOptions {
23
+ type PatternFormatOptions = {
24
+ pattern: string;
21
25
  locale?: Locale;
22
- }
26
+ mode?: never;
27
+ };
28
+ type StandardFormatOptions = DateFormatOptions & {
29
+ mode: "standard";
30
+ pattern?: never;
31
+ };
32
+ type BanglaFormatOptions = BanglaCalendarFormatOptions & {
33
+ mode: "bangla";
34
+ pattern?: never;
35
+ };
36
+ type HijriFormatOptions = HijriCalendarFormatOptions & {
37
+ mode: "hijri";
38
+ pattern?: never;
39
+ };
40
+ type HybridFormatOptions = HybridDateFormatOptions & {
41
+ mode: "hybrid";
42
+ pattern?: never;
43
+ };
44
+ type FormatOptions = PatternFormatOptions | StandardFormatOptions | BanglaFormatOptions | HijriFormatOptions | HybridFormatOptions;
23
45
  interface HybridDateFormatOptions {
24
46
  digits?: Language;
25
47
  month?: Language;
@@ -54,6 +76,26 @@ interface BanglaCalendarFormatOptions {
54
76
  format?: BanglaCalendarDayFormat;
55
77
  variant?: BanglaCalendarDaySpokenVariant;
56
78
  }
79
+ interface HijriCalendarOptions {
80
+ locale?: Locale;
81
+ timeZone?: HijriTimeZone;
82
+ }
83
+ interface HijriCalendarDate {
84
+ day: number;
85
+ month: string;
86
+ monthIndex: number;
87
+ year: number;
88
+ }
89
+ interface HijriCalendarDateLocalized {
90
+ day: string;
91
+ month: string;
92
+ monthIndex: number;
93
+ year: string;
94
+ }
95
+ interface HijriCalendarFormatOptions {
96
+ locale?: Locale;
97
+ timeZone?: HijriTimeZone;
98
+ }
57
99
  type BanglaCalendarDayFormat = "ordinal" | "spoken";
58
100
  type BanglaCalendarDaySpokenVariant = "pohela" | "poyla";
59
101
  interface BanglaDayFormatOptions {
@@ -67,6 +109,11 @@ declare function toBanglaCalendar(input: DateInput, options: BanglaCalendarOptio
67
109
  declare function toBanglaCalendar(input: DateInput, options?: BanglaCalendarOptions): BanglaCalendarDate;
68
110
  declare function fromBanglaCalendar(day: number, monthIndex: number, year: number): Date;
69
111
 
112
+ declare function toHijriCalendar(input: DateInput, options: HijriCalendarOptions & {
113
+ locale: "bn-BD";
114
+ }): HijriCalendarDateLocalized;
115
+ declare function toHijriCalendar(input: DateInput, options?: HijriCalendarOptions): HijriCalendarDate;
116
+
70
117
  declare const ENGLISH_DIGITS: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
71
118
  declare const BANGLA_DIGITS: readonly ["০", "১", "২", "৩", "৪", "৫", "৬", "৭", "৮", "৯"];
72
119
  declare const ENGLISH_MONTHS_FULL: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
@@ -125,10 +172,7 @@ declare function toBanglaDigits(input: number | string): string;
125
172
  declare function toEnglishDigits(input: number | string): string;
126
173
 
127
174
  declare function formatBanglaCalendarDay(day: number, options?: BanglaDayFormatOptions): string;
128
- declare function formatDate(input: DateInput, options?: DateFormatOptions): string;
129
- declare function format(input: DateInput, template: string, options?: TokenFormatOptions): string;
130
- declare function formatBanglaCalendar(input: DateInput, options?: BanglaCalendarFormatOptions): string;
131
- declare function formatHybridDate(input: DateInput, options?: HybridDateFormatOptions): string;
175
+ declare function format(input: DateInput, options: FormatOptions): string;
132
176
 
133
177
  declare function parseDate(input: DateInput, options?: DateParseOptions): Date | null;
134
178
 
@@ -152,4 +196,4 @@ declare function startOfYear(input: DateInput): Date;
152
196
  declare function endOfYear(input: DateInput): Date;
153
197
  declare function getBanglaMonth(month: number, format?: MonthFormat): string;
154
198
 
155
- export { BANGLA_CALENDAR_MONTHS, BANGLA_CALENDAR_MONTHS_EN, BANGLA_CALENDAR_MONTH_DAYS, BANGLA_DIGITS, BANGLA_MONTHS_FULL, BANGLA_MONTHS_SHORT, BANGLA_WEEKDAYS_FULL, BANGLA_WEEKDAYS_SHORT, BOISHAKH_START_DAY, BOISHAKH_START_MONTH, type BanglaCalendarDate, type BanglaCalendarDateLocalized, type BanglaCalendarDayFormat, type BanglaCalendarDaySpokenVariant, type BanglaCalendarFormatOptions, type BanglaCalendarOptions, type BanglaDayFormatOptions, type DateFormatOptions, type DateInput, type DateParseOptions, type DayFormat, ENGLISH_DIGITS, ENGLISH_MONTHS_FULL, ENGLISH_MONTHS_SHORT, ENGLISH_WEEKDAYS_FULL, ENGLISH_WEEKDAYS_SHORT, type HybridDateFormatOptions, type Language, type Locale, type MonthFormat, RELATIVE_TIME_BN, RELATIVE_TIME_EN, type RelativeTimeOptions, type TimeFormat, type TokenFormatOptions, type WeekdayFormat, type YearFormat, addDays, addMonths, addYears, endOfDay, endOfMonth, endOfYear, format, formatBanglaCalendar, formatBanglaCalendarDay, formatDate, formatHybridDate, fromBanglaCalendar, fromNow, getBanglaMonth, isToday, isTomorrow, isYesterday, parseDate, startOfDay, startOfMonth, startOfYear, subDays, subMonths, subYears, toBanglaCalendar, toBanglaDigits, toDate, toEnglishDigits };
199
+ export { BANGLA_CALENDAR_MONTHS, BANGLA_CALENDAR_MONTHS_EN, BANGLA_CALENDAR_MONTH_DAYS, BANGLA_DIGITS, BANGLA_MONTHS_FULL, BANGLA_MONTHS_SHORT, BANGLA_WEEKDAYS_FULL, BANGLA_WEEKDAYS_SHORT, BOISHAKH_START_DAY, BOISHAKH_START_MONTH, type BanglaCalendarDate, type BanglaCalendarDateLocalized, type BanglaCalendarDayFormat, type BanglaCalendarDaySpokenVariant, type BanglaCalendarFormatOptions, type BanglaCalendarOptions, type BanglaDayFormatOptions, type DateFormatOptions, type DateInput, type DateParseOptions, type DayFormat, ENGLISH_DIGITS, ENGLISH_MONTHS_FULL, ENGLISH_MONTHS_SHORT, ENGLISH_WEEKDAYS_FULL, ENGLISH_WEEKDAYS_SHORT, type FormatMode, type FormatOptions, HIJRI_TIME_ZONES, type HijriCalendarDate, type HijriCalendarDateLocalized, type HijriCalendarFormatOptions, type HijriCalendarOptions, type HijriFormatOptions, type HijriTimeZone, type HybridDateFormatOptions, type Language, type Locale, type MonthFormat, RELATIVE_TIME_BN, RELATIVE_TIME_EN, type RelativeTimeOptions, type TimeFormat, type WeekdayFormat, type YearFormat, addDays, addMonths, addYears, endOfDay, endOfMonth, endOfYear, format, formatBanglaCalendarDay, fromBanglaCalendar, fromNow, getBanglaMonth, isToday, isTomorrow, isYesterday, parseDate, startOfDay, startOfMonth, startOfYear, subDays, subMonths, subYears, toBanglaCalendar, toBanglaDigits, toDate, toEnglishDigits, toHijriCalendar };
package/dist/index.d.ts CHANGED
@@ -5,6 +5,9 @@ type YearFormat = "numeric" | "2-digit";
5
5
  type DayFormat = "numeric" | "2-digit";
6
6
  type WeekdayFormat = "short" | "long";
7
7
  type TimeFormat = "numeric" | "2-digit";
8
+ type FormatMode = "standard" | "bangla" | "hijri" | "hybrid";
9
+ declare const HIJRI_TIME_ZONES: readonly ["Asia/Dhaka", "UTC"];
10
+ type HijriTimeZone = (typeof HIJRI_TIME_ZONES)[number];
8
11
  type DateInput = Date | string | number;
9
12
  interface DateFormatOptions {
10
13
  locale?: Locale;
@@ -17,9 +20,28 @@ interface DateFormatOptions {
17
20
  second?: TimeFormat;
18
21
  hour12?: boolean;
19
22
  }
20
- interface TokenFormatOptions {
23
+ type PatternFormatOptions = {
24
+ pattern: string;
21
25
  locale?: Locale;
22
- }
26
+ mode?: never;
27
+ };
28
+ type StandardFormatOptions = DateFormatOptions & {
29
+ mode: "standard";
30
+ pattern?: never;
31
+ };
32
+ type BanglaFormatOptions = BanglaCalendarFormatOptions & {
33
+ mode: "bangla";
34
+ pattern?: never;
35
+ };
36
+ type HijriFormatOptions = HijriCalendarFormatOptions & {
37
+ mode: "hijri";
38
+ pattern?: never;
39
+ };
40
+ type HybridFormatOptions = HybridDateFormatOptions & {
41
+ mode: "hybrid";
42
+ pattern?: never;
43
+ };
44
+ type FormatOptions = PatternFormatOptions | StandardFormatOptions | BanglaFormatOptions | HijriFormatOptions | HybridFormatOptions;
23
45
  interface HybridDateFormatOptions {
24
46
  digits?: Language;
25
47
  month?: Language;
@@ -54,6 +76,26 @@ interface BanglaCalendarFormatOptions {
54
76
  format?: BanglaCalendarDayFormat;
55
77
  variant?: BanglaCalendarDaySpokenVariant;
56
78
  }
79
+ interface HijriCalendarOptions {
80
+ locale?: Locale;
81
+ timeZone?: HijriTimeZone;
82
+ }
83
+ interface HijriCalendarDate {
84
+ day: number;
85
+ month: string;
86
+ monthIndex: number;
87
+ year: number;
88
+ }
89
+ interface HijriCalendarDateLocalized {
90
+ day: string;
91
+ month: string;
92
+ monthIndex: number;
93
+ year: string;
94
+ }
95
+ interface HijriCalendarFormatOptions {
96
+ locale?: Locale;
97
+ timeZone?: HijriTimeZone;
98
+ }
57
99
  type BanglaCalendarDayFormat = "ordinal" | "spoken";
58
100
  type BanglaCalendarDaySpokenVariant = "pohela" | "poyla";
59
101
  interface BanglaDayFormatOptions {
@@ -67,6 +109,11 @@ declare function toBanglaCalendar(input: DateInput, options: BanglaCalendarOptio
67
109
  declare function toBanglaCalendar(input: DateInput, options?: BanglaCalendarOptions): BanglaCalendarDate;
68
110
  declare function fromBanglaCalendar(day: number, monthIndex: number, year: number): Date;
69
111
 
112
+ declare function toHijriCalendar(input: DateInput, options: HijriCalendarOptions & {
113
+ locale: "bn-BD";
114
+ }): HijriCalendarDateLocalized;
115
+ declare function toHijriCalendar(input: DateInput, options?: HijriCalendarOptions): HijriCalendarDate;
116
+
70
117
  declare const ENGLISH_DIGITS: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
71
118
  declare const BANGLA_DIGITS: readonly ["০", "১", "২", "৩", "৪", "৫", "৬", "৭", "৮", "৯"];
72
119
  declare const ENGLISH_MONTHS_FULL: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
@@ -125,10 +172,7 @@ declare function toBanglaDigits(input: number | string): string;
125
172
  declare function toEnglishDigits(input: number | string): string;
126
173
 
127
174
  declare function formatBanglaCalendarDay(day: number, options?: BanglaDayFormatOptions): string;
128
- declare function formatDate(input: DateInput, options?: DateFormatOptions): string;
129
- declare function format(input: DateInput, template: string, options?: TokenFormatOptions): string;
130
- declare function formatBanglaCalendar(input: DateInput, options?: BanglaCalendarFormatOptions): string;
131
- declare function formatHybridDate(input: DateInput, options?: HybridDateFormatOptions): string;
175
+ declare function format(input: DateInput, options: FormatOptions): string;
132
176
 
133
177
  declare function parseDate(input: DateInput, options?: DateParseOptions): Date | null;
134
178
 
@@ -152,4 +196,4 @@ declare function startOfYear(input: DateInput): Date;
152
196
  declare function endOfYear(input: DateInput): Date;
153
197
  declare function getBanglaMonth(month: number, format?: MonthFormat): string;
154
198
 
155
- export { BANGLA_CALENDAR_MONTHS, BANGLA_CALENDAR_MONTHS_EN, BANGLA_CALENDAR_MONTH_DAYS, BANGLA_DIGITS, BANGLA_MONTHS_FULL, BANGLA_MONTHS_SHORT, BANGLA_WEEKDAYS_FULL, BANGLA_WEEKDAYS_SHORT, BOISHAKH_START_DAY, BOISHAKH_START_MONTH, type BanglaCalendarDate, type BanglaCalendarDateLocalized, type BanglaCalendarDayFormat, type BanglaCalendarDaySpokenVariant, type BanglaCalendarFormatOptions, type BanglaCalendarOptions, type BanglaDayFormatOptions, type DateFormatOptions, type DateInput, type DateParseOptions, type DayFormat, ENGLISH_DIGITS, ENGLISH_MONTHS_FULL, ENGLISH_MONTHS_SHORT, ENGLISH_WEEKDAYS_FULL, ENGLISH_WEEKDAYS_SHORT, type HybridDateFormatOptions, type Language, type Locale, type MonthFormat, RELATIVE_TIME_BN, RELATIVE_TIME_EN, type RelativeTimeOptions, type TimeFormat, type TokenFormatOptions, type WeekdayFormat, type YearFormat, addDays, addMonths, addYears, endOfDay, endOfMonth, endOfYear, format, formatBanglaCalendar, formatBanglaCalendarDay, formatDate, formatHybridDate, fromBanglaCalendar, fromNow, getBanglaMonth, isToday, isTomorrow, isYesterday, parseDate, startOfDay, startOfMonth, startOfYear, subDays, subMonths, subYears, toBanglaCalendar, toBanglaDigits, toDate, toEnglishDigits };
199
+ export { BANGLA_CALENDAR_MONTHS, BANGLA_CALENDAR_MONTHS_EN, BANGLA_CALENDAR_MONTH_DAYS, BANGLA_DIGITS, BANGLA_MONTHS_FULL, BANGLA_MONTHS_SHORT, BANGLA_WEEKDAYS_FULL, BANGLA_WEEKDAYS_SHORT, BOISHAKH_START_DAY, BOISHAKH_START_MONTH, type BanglaCalendarDate, type BanglaCalendarDateLocalized, type BanglaCalendarDayFormat, type BanglaCalendarDaySpokenVariant, type BanglaCalendarFormatOptions, type BanglaCalendarOptions, type BanglaDayFormatOptions, type DateFormatOptions, type DateInput, type DateParseOptions, type DayFormat, ENGLISH_DIGITS, ENGLISH_MONTHS_FULL, ENGLISH_MONTHS_SHORT, ENGLISH_WEEKDAYS_FULL, ENGLISH_WEEKDAYS_SHORT, type FormatMode, type FormatOptions, HIJRI_TIME_ZONES, type HijriCalendarDate, type HijriCalendarDateLocalized, type HijriCalendarFormatOptions, type HijriCalendarOptions, type HijriFormatOptions, type HijriTimeZone, type HybridDateFormatOptions, type Language, type Locale, type MonthFormat, RELATIVE_TIME_BN, RELATIVE_TIME_EN, type RelativeTimeOptions, type TimeFormat, type WeekdayFormat, type YearFormat, addDays, addMonths, addYears, endOfDay, endOfMonth, endOfYear, format, formatBanglaCalendarDay, fromBanglaCalendar, fromNow, getBanglaMonth, isToday, isTomorrow, isYesterday, parseDate, startOfDay, startOfMonth, startOfYear, subDays, subMonths, subYears, toBanglaCalendar, toBanglaDigits, toDate, toEnglishDigits, toHijriCalendar };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var t=["0","1","2","3","4","5","6","7","8","9"],e=["০","১","২","৩","৪","৫","৬","৭","৮","৯"],n=["January","February","March","April","May","June","July","August","September","October","November","December"],r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],a=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],u=["জানুয়ারি","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],s=["জানু","ফেব্রু","মার্চ","এপ্রি","মে","জুন","জুলা","আগ","সেপ্টে","অক্টো","নভে","ডিসে"],i=["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],l=["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],c=["বৈশাখ","জ্যৈষ্ঠ","আষাঢ়","শ্রাবণ","ভাদ্র","আশ্বিন","কার্তিক","অগ্রহায়ণ","পৌষ","মাঘ","ফাল্গুন","চৈত্র"],g=["Baishakh","Jaishtho","Asharh","Shrabon","Bhadro","Ashshin","Kartik","Agrahayan","Poush","Magh","Falgun","Chaitra"],h=[31,31,31,31,31,30,30,30,30,30,30,30],d=3,f=14,m={second:"second",seconds:"seconds",minute:"minute",minutes:"minutes",hour:"hour",hours:"hours",day:"day",days:"days",week:"week",weeks:"weeks",month:"month",months:"months",year:"year",years:"years",ago:"ago",in:"in",justNow:"just now"},D={second:"সেকেন্ড",seconds:"সেকেন্ড",minute:"মিনিট",minutes:"মিনিট",hour:"ঘণ্টা",hours:"ঘণ্টা",day:"দিন",days:"দিন",week:"সপ্তাহ",weeks:"সপ্তাহ",month:"মাস",months:"মাস",year:"বছর",years:"বছর",ago:"আগে",in:"",justNow:"এইমাত্র"};function y(t){return String(t).replace(/\d/g,t=>e[Number(t)]??t)}function M(n){return String(n).replace(/[০-৯]/g,n=>{const r=e.indexOf(n);return r>=0?t[r]??n:n})}var b={jan:0,"jan.":0,january:0,"january,":0,feb:1,"feb.":1,february:1,"february,":1,mar:2,"mar.":2,march:2,"march,":2,apr:3,"apr.":3,april:3,"april,":3,may:4,"may,":4,jun:5,"jun.":5,june:5,"june,":5,jul:6,"jul.":6,july:6,"july,":6,aug:7,"aug.":7,august:7,"august,":7,sep:8,sept:8,"sep.":8,"sept.":8,september:8,"september,":8,oct:9,"oct.":9,october:9,"october,":9,nov:10,"nov.":10,november:10,"november,":10,dec:11,"dec.":11,december:11,"december,":11,"জানুয়ারি":0,"জানুয়ারি":0,"ফেব্রুয়ারি":1,"ফেব্রুয়ারি":1,"মার্চ":2,"এপ্রিল":3,"মে":4,"জুন":5,"জুলাই":6,"আগস্ট":7,"অগাস্ট":7,"সেপ্টেম্বর":8,"সেপ্টেম্বার":8,"অক্টোবর":9,"নভেম্বর":10,"নভেম্বার":10,"ডিসেম্বর":11,"ডিসেম্বার":11,"জানু":0,"ফেব্রু":1,"এপ্রি":3,"জুলা":6,"আগ":7,"সেপ্টে":8,"অক্টো":9,"নভে":10,"ডিসে":11};function w(t){const e=t.trim(),o=e.toLowerCase(),a=b[o];if(void 0!==a)return a;for(let t=0;t<n.length;t++)if(n[t].toLowerCase()===o)return t;for(let t=0;t<r.length;t++)if(r[t].toLowerCase()===o)return t;for(let t=0;t<u.length;t++)if(u[t]===e)return t;for(let t=0;t<s.length;t++)if(s[t]===e)return t;return-1}function $(t,e,n,r=0,o=0,a=0,u=0){const s=new Date(t,e,n,r,o,a,u);return s.getFullYear()!==t||s.getMonth()!==e||s.getDate()!==n||s.getHours()!==r||s.getMinutes()!==o||s.getSeconds()!==a||s.getMilliseconds()!==u?null:s}function S(t){return function(t){const e=t.trim().match(/^(\d{4})([-/.])(\d{1,2})\2(\d{1,2})$/);return e?$(Number(e[1]),Number(e[3])-1,Number(e[4])):null}(t)??function(t){const e=t.trim().match(/^(\d{4})-(\d{2})-(\d{2})(?:[T\s](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d+))?)?(Z|[+-]\d{2}:?\d{2})?)$/);if(!e)return null;const n=Number(e[1]),r=Number(e[2]),o=Number(e[3]),a=Number(e[4]??0),u=Number(e[5]??0),s=Number(e[6]??0),i=Number((e[7]??"0").padEnd(3,"0").slice(0,3)),l=e[8];if(void 0===l)return $(n,r-1,o,a,u,s,i);const c=l.match(/^([+-])(\d{2}):?(\d{2})$/),g="Z"===l?0:c?("+"===c[1]?1:-1)*(60*Number(c[2])+Number(c[3])):null;if(null===g)return null;const h=Date.UTC(n,r-1,o,a,u,s,i)-6e4*g,d=new Date(h),f=new Date(h+6e4*g);return f.getUTCFullYear()!==n||f.getUTCMonth()!==r-1||f.getUTCDate()!==o||f.getUTCHours()!==a||f.getUTCMinutes()!==u||f.getUTCSeconds()!==s||f.getUTCMilliseconds()!==i?null:d}(t)??function(t){const e=t.match(/^(\d{1,2})(?:st|nd|rd|th)?(?:\s+|-)(\S+)(?:\s+|-)(\d{2,4})$/);if(!e)return null;const n=Number(e[1]),r=e[2].replace(/,$/,""),o=e[3],a=w(r);if(-1===a)return null;let u=Number(o);return 2===o.length&&(u+=u>=50?1900:2e3),$(u,a,n)}(t)??function(t){const e=t.match(/^(\S+)\s+(\d{1,2})(?:st|nd|rd|th)?(?:,)?\s+(\d{2,4})$/);if(!e)return null;const n=e[1].replace(/,$/,""),r=Number(e[2]),o=e[3],a=w(n);if(-1===a)return null;let u=Number(o);return 2===o.length&&(u+=u>=50?1900:2e3),$(u,a,r)}(t)}function p(t){if(t instanceof Date){const e=t.getTime();if(Number.isNaN(e))throw new Error(`Invalid date input: ${String(t)}`);return new Date(e)}if("number"==typeof t){if(!Number.isFinite(t))throw new Error(`Invalid date input: ${String(t)}`);const e=new Date(t);if(Number.isNaN(e.getTime()))throw new Error(`Invalid date input: ${String(t)}`);return e}const e=S(M(t).trim());if(!e)throw new Error(`Invalid date input: ${String(t)}`);return e}function N(t){const e=p(t),n=new Date;return e.getFullYear()===n.getFullYear()&&e.getMonth()===n.getMonth()&&e.getDate()===n.getDate()}function Y(t){const e=p(t),n=new Date;return n.setDate(n.getDate()-1),e.getFullYear()===n.getFullYear()&&e.getMonth()===n.getMonth()&&e.getDate()===n.getDate()}function v(t){const e=p(t),n=new Date;return n.setDate(n.getDate()+1),e.getFullYear()===n.getFullYear()&&e.getMonth()===n.getMonth()&&e.getDate()===n.getDate()}function F(t){const e=p(t);return e.setHours(0,0,0,0),e}function j(t){const e=p(t);return e.setHours(23,59,59,999),e}function k(t,e){const n=p(t);return n.setDate(n.getDate()+e),n}function T(t,e){return k(t,-e)}function B(t,e){return new Date(t,e+1,0).getDate()}function H(t,e){const n=p(t),r=n.getFullYear(),o=n.getMonth()+e,a=r+Math.floor(o/12),u=(o%12+12)%12,s=Math.min(n.getDate(),B(a,u));return n.setFullYear(a,u,s),n}function C(t,e){return H(t,-e)}function I(t,e){const n=p(t),r=n.getFullYear()+e,o=Math.min(n.getDate(),B(r,n.getMonth()));return n.setFullYear(r,n.getMonth(),o),n}function A(t,e){return I(t,-e)}function U(t){const e=p(t);return e.setDate(1),e.setHours(0,0,0,0),e}function x(t){const e=p(t);return e.setMonth(e.getMonth()+1,0),e.setHours(23,59,59,999),e}function E(t){const e=p(t);return e.setMonth(0,1),e.setHours(0,0,0,0),e}function J(t){const e=p(t);return e.setMonth(11,31),e.setHours(23,59,59,999),e}function L(t,e="long"){const n=t-1;if(n<0||n>11)throw new Error(`Invalid month number: ${t}. Must be 1-12.`);return"short"===e?s[n]:u[n]}function O(t){const e=[...h];return function(t){return(e=t+594)%4==0&&e%100!=0||e%400==0;var e}(t)&&(e[10]=31),e}function P(t,e){const n=e?.locale??"en-BD",r=p(t),o=r.getFullYear(),a=r.getMonth(),u=r.getDate(),s=new Date(o,3,14),i=a<3||3===a&&u<14,l=i?o-594:o-593,h=function(t,e){const n=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()),r=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate());return Math.floor((r-n)/864e5)}(i?new Date(o-1,3,14):s,r)+1,d=O(l);let f=h,m=0;for(let t=0;t<d.length;t++){const e=d[t];if(f<=e){m=t;break}f-=e}const D=m+1;return"bn-BD"===n?{day:y(f),month:c[m],monthIndex:D,year:y(l)}:{day:f,month:g[m],monthIndex:D,year:l}}function W(t,e,n){const r=function(t,e,n){if(!Number.isInteger(t)||!Number.isInteger(e)||!Number.isInteger(n))throw new Error("Invalid Bangla calendar date.");if(e<1||e>12)throw new Error("Invalid Bangla calendar month index. Must be 1-12.");const r=O(n),o=r[e-1];if(t<1||t>o)throw new Error(`Invalid Bangla calendar day. Month ${e} of year ${n} has ${o} days.`);return r}(t,e,n),o=new Date(n+593,3,14);let a=t-1;for(let t=0;t<e-1;t++)a+=r[t];const u=new Date(o);return u.setDate(u.getDate()+a),u}function Z(t){const e=y(t);return 1===t?`${e}লা`:2===t||3===t?`${e}রা`:4===t?`${e}ঠা`:t>=19?`${e}শে`:`${e}ই`}function K(t,e){return"spoken"===(e?.format??"ordinal")?function(t,e="pohela"){switch(t){case 1:return"poyla"===e?"পয়লা":"পহেলা";case 2:return"দোসরা";case 3:return"তেসরা";case 4:return"চৌঠা";default:return Z(t)}}(t,e?.variant):Z(t)}function q(t,e){return"2-digit"===e?String(t).padStart(2,"0"):String(t)}function z(t,e,n){if("bn-BD"===e)return t<12?"পূর্বাহ্ণ":"অপরাহ্ণ";const r=t<12?"AM":"PM";return n?r.toLowerCase():r}function G(t,e){const c=p(t),g=e?.locale??"en-BD",h=e?.month??"short",d=e?.year??"numeric",f=e?.day??"numeric",m=e?.weekday,D=e?.hour,M=e?.minute,b=e?.second,w=void 0!==D||void 0!==M||void 0!==b,$="bn-BD"===g,S=c.getDate(),N=c.getMonth(),Y=c.getFullYear(),v=`${"2-digit"===f?String(S).padStart(2,"0"):String(S)} ${($?"short"===h?s:u:"short"===h?r:n)[N]} ${"2-digit"===d?String(Y).slice(-2):String(Y)}`,F=void 0!==m?`${($?"short"===m?l:i:"short"===m?a:o)[c.getDay()]}, `:"";let j="";if(w){const t=e?.hour12??!1,n=c.getHours(),r=M??(void 0!==b?"2-digit":void 0);j=`${q(t?n%12||12:n,D??"numeric")}${void 0!==r?`:${q(c.getMinutes(),r)}`:""}${void 0!==b?`:${q(c.getSeconds(),b)}`:""}${t?` ${z(n,g,!1)}`:""}`}const k=`${F}${v}${j?`, ${j}`:""}`;return $?y(k):k}function Q(t,e,c){const g=p(t),h=c?.locale??"en-BD",d="bn-BD"===h,f=g.getDate(),m=g.getMonth(),D=g.getFullYear(),M=d?u:n,b=d?s:r,w=d?i:o,$=d?l:a,S=g.getHours(),N=S%12||12,Y={dddd:w[g.getDay()],ddd:$[g.getDay()],MMMM:M[m],MMM:b[m],MM:String(m+1).padStart(2,"0"),M:String(m+1),DD:String(f).padStart(2,"0"),D:String(f),HH:String(S).padStart(2,"0"),H:String(S),hh:String(N).padStart(2,"0"),h:String(N),mm:String(g.getMinutes()).padStart(2,"0"),m:String(g.getMinutes()),ss:String(g.getSeconds()).padStart(2,"0"),s:String(g.getSeconds()),A:z(S,h,!1),a:z(S,h,!0),YYYY:String(D),YY:String(D).slice(-2)},v=e.replace(/dddd|ddd|MMMM|MMM|MM|M|DD|D|YYYY|YY|HH|H|hh|h|mm|m|ss|s|A|a/g,t=>Y[t]);return d?y(v):v}function R(t,e){const n=e?.locale??"en-BD",r=e?.format??"ordinal",o=e?.variant,a=P(t,{locale:"en-BD"});if("bn-BD"===n){const t=a.monthIndex-1,e={format:r};return void 0!==o&&(e.variant=o),`${K(a.day,e)} ${c[t]} ${y(a.year)}`}return`${a.day} ${a.month} ${a.year}`}function V(t,e){const o=p(t),a=e?.digits??"en",i=e?.month??"bn",l=e?.year??"en",c=e?.day??a,g=e?.monthFormat??"long",h=o.getDate(),d=o.getMonth(),f=o.getFullYear(),m="bn"===i?"short"===g?s:u:"short"===g?r:n;return`${"bn"===c?y(h):String(h)} ${m[d]} ${"bn"===l?y(f):String(f)}`}var X={baishakh:1,boishakh:1,boishak:1,boisakh:1,jaishtho:2,jaishtha:2,jaistha:2,joishtho:2,jyoishtho:2,jyoistho:2,jyeshtho:2,ashar:3,asadh:3,asharh:3,srabon:4,shraban:4,shrabon:4,sraban:4,bhadro:5,ashin:6,ashwin:6,ashshin:6,kartik:7,ograyon:8,ograyan:8,ogrohayon:8,ograhayon:8,agrahayan:8,aghrayan:8,pous:9,poush:9,mag:10,magh:10,falgoon:11,falgun:11,choitra:12,chaitra:12,choitro:12},_={"বৈশাখ":1,"জৈষ্ঠ":2,"জ্যৈষ্ঠ":2,"আষাঢ়":3,"আষাঢ়":3,"শ্রাবণ":4,"ভাদ্র":5,"আশ্বিন":6,"কার্তিক":7,"অগ্রহায়ণ":8,"অগ্রহায়ণ":8,"অঘ্রাণ":8,"অগ্রায়ণ":8,"অগ্রায়ণ":8,"পৌষ":9,"পৌস":9,"মাঘ":10,"ফাল্গুন":11,"চৈত্র":12};function tt(t,e){if(t instanceof Date)return Number.isNaN(t.getTime())?null:new Date(t.getTime());if("number"==typeof t){const e=new Date(t);return Number.isNaN(e.getTime())?null:e}const n=M(t).trim();return"bangla"===e?.calendar?function(t){const e=t.match(/^(\S+),?\s+(\S+),?\s+(\d{4})$/);if(!e)return null;const n=function(t){const e={"পহেলা":1,"পয়লা":1,"পয়লা":1,"দোসরা":2,"তেসরা":3,"চৌঠা":4}[t];if(void 0!==e)return e;const n=t.match(/^(\d{1,2})(?:লা|রা|ঠা|ই|শে)$/);if(n)return Number(n[1]);const r=Number(t);return Number.isInteger(r)&&r>=1&&r<=31?r:null}(e[1].replace(/,$/,""));if(null===n)return null;const r=function(t){const e=t.toLowerCase();for(let e=0;e<c.length;e++)if(c[e]===t)return e+1;const n=_[t];if(void 0!==n)return n;for(let t=0;t<g.length;t++)if(g[t].toLowerCase()===e)return t+1;const r=X[e];return void 0!==r?r:-1}(e[2].replace(/,$/,""));if(-1===r)return null;const o=Number(e[3]);try{return W(n,r,o)}catch{return null}}(n):S(n)}var et=1e3,nt=36e5,rt=24*nt,ot=[{threshold:7*rt,singular:"week",plural:"weeks"},{threshold:rt,singular:"day",plural:"days"},{threshold:nt,singular:"hour",plural:"hours"},{threshold:6e4,singular:"minute",plural:"minutes"},{threshold:et,singular:"second",plural:"seconds"}];function at(t,e){return new Date(t,e+1,0).getDate()}function ut(t,e){let n=t.getFullYear()-e.getFullYear();const r=function(t,e){const n=t.getFullYear()+e,r=t.getMonth(),o=Math.min(t.getDate(),at(n,r));return new Date(n,r,o,t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}(e,n);return r>t&&(n-=1),n}function st(t,e){let n=12*(t.getFullYear()-e.getFullYear())+(t.getMonth()-e.getMonth());const r=function(t,e){const n=t.getFullYear(),r=t.getMonth()+e,o=n+Math.floor(r/12),a=(r%12+12)%12,u=Math.min(t.getDate(),at(o,a));return new Date(o,a,u,t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}(e,n);return r>t&&(n-=1),n}function it(t,e,n,r,o){const a="bn-BD"===o,u=a?y(t):String(t),s=1===t?e:n;return a?r?`${u} ${s} আগে`:`${u} ${s} পরে`:r?`${u} ${s} ago`:`in ${u} ${s}`}function lt(t,e,n){return"bn-BD"===n?"day"===t?e?"গতকাল":"আগামীকাল":"week"===t?e?"গত সপ্তাহে":"আগামী সপ্তাহে":"month"===t?e?"গত মাসে":"আগামী মাসে":e?"গত বছর":"আগামী বছর":"day"===t?e?"yesterday":"tomorrow":"week"===t?e?"last week":"next week":"month"===t?e?"last month":"next month":e?"last year":"next year"}function ct(t,e){const n=p(t),r=e?.locale??"en-BD",o=e?.numeric??"always",a="bn-BD"===r?D:m,u=Date.now()-n.getTime(),s=Math.abs(u),i=u>0,l=new Date,c=n.getFullYear()===l.getFullYear()&&n.getMonth()===l.getMonth()&&n.getDate()===l.getDate(),g=i?l:n,h=i?n:l;if(s<et)return a.justNow;if("auto"===o&&c)return function(t){return"bn-BD"===t?"আজ":"today"}(r);const d=ut(g,h);if(d>=1){if("auto"===o&&1===d){const t=lt("year",i,r);if(null!==t)return t}return it(d,a.year,a.years,i,r)}const f=st(g,h);if(f>=1){if("auto"===o&&1===f){const t=lt("month",i,r);if(null!==t)return t}return it(f,a.month,a.months,i,r)}for(const t of ot)if(s>=t.threshold){const e=Math.floor(s/t.threshold);if("auto"===o&&1===e&&("day"===t.singular||"week"===t.singular)){const e=lt(t.singular,i,r);if(null!==e)return e}return it(e,a[t.singular],a[t.plural],i,r)}return a.justNow}export{c as BANGLA_CALENDAR_MONTHS,g as BANGLA_CALENDAR_MONTHS_EN,h as BANGLA_CALENDAR_MONTH_DAYS,e as BANGLA_DIGITS,u as BANGLA_MONTHS_FULL,s as BANGLA_MONTHS_SHORT,i as BANGLA_WEEKDAYS_FULL,l as BANGLA_WEEKDAYS_SHORT,f as BOISHAKH_START_DAY,d as BOISHAKH_START_MONTH,t as ENGLISH_DIGITS,n as ENGLISH_MONTHS_FULL,r as ENGLISH_MONTHS_SHORT,o as ENGLISH_WEEKDAYS_FULL,a as ENGLISH_WEEKDAYS_SHORT,D as RELATIVE_TIME_BN,m as RELATIVE_TIME_EN,k as addDays,H as addMonths,I as addYears,j as endOfDay,x as endOfMonth,J as endOfYear,Q as format,R as formatBanglaCalendar,K as formatBanglaCalendarDay,G as formatDate,V as formatHybridDate,W as fromBanglaCalendar,ct as fromNow,L as getBanglaMonth,N as isToday,v as isTomorrow,Y as isYesterday,tt as parseDate,F as startOfDay,U as startOfMonth,E as startOfYear,T as subDays,C as subMonths,A as subYears,P as toBanglaCalendar,y as toBanglaDigits,p as toDate,M as toEnglishDigits};
1
+ var t=["0","1","2","3","4","5","6","7","8","9"],e=["০","১","২","৩","৪","৫","৬","৭","৮","৯"],n=["January","February","March","April","May","June","July","August","September","October","November","December"],r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],a=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],u=["জানুয়ারি","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],i=["জানু","ফেব্রু","মার্চ","এপ্রি","মে","জুন","জুলা","আগ","সেপ্টে","অক্টো","নভে","ডিসে"],s=["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],l=["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],c=["বৈশাখ","জ্যৈষ্ঠ","আষাঢ়","শ্রাবণ","ভাদ্র","আশ্বিন","কার্তিক","অগ্রহায়ণ","পৌষ","মাঘ","ফাল্গুন","চৈত্র"],d=["Baishakh","Jaishtho","Asharh","Shrabon","Bhadro","Ashshin","Kartik","Agrahayan","Poush","Magh","Falgun","Chaitra"],h=[31,31,31,31,31,30,30,30,30,30,30,30],g=3,m=14,f={second:"second",seconds:"seconds",minute:"minute",minutes:"minutes",hour:"hour",hours:"hours",day:"day",days:"days",week:"week",weeks:"weeks",month:"month",months:"months",year:"year",years:"years",ago:"ago",in:"in",justNow:"just now"},y={second:"সেকেন্ড",seconds:"সেকেন্ড",minute:"মিনিট",minutes:"মিনিট",hour:"ঘণ্টা",hours:"ঘণ্টা",day:"দিন",days:"দিন",week:"সপ্তাহ",weeks:"সপ্তাহ",month:"মাস",months:"মাস",year:"বছর",years:"বছর",ago:"আগে",in:"",justNow:"এইমাত্র"};function b(t){return String(t).replace(/\d/g,t=>e[Number(t)]??t)}function D(n){return String(n).replace(/[০-৯]/g,n=>{const r=e.indexOf(n);return r>=0?t[r]??n:n})}var w={jan:0,"jan.":0,january:0,"january,":0,feb:1,"feb.":1,february:1,"february,":1,mar:2,"mar.":2,march:2,"march,":2,apr:3,"apr.":3,april:3,"april,":3,may:4,"may,":4,jun:5,"jun.":5,june:5,"june,":5,jul:6,"jul.":6,july:6,"july,":6,aug:7,"aug.":7,august:7,"august,":7,sep:8,sept:8,"sep.":8,"sept.":8,september:8,"september,":8,oct:9,"oct.":9,october:9,"october,":9,nov:10,"nov.":10,november:10,"november,":10,dec:11,"dec.":11,december:11,"december,":11,"জানুয়ারি":0,"জানুয়ারি":0,"ফেব্রুয়ারি":1,"ফেব্রুয়ারি":1,"মার্চ":2,"এপ্রিল":3,"মে":4,"জুন":5,"জুলাই":6,"আগস্ট":7,"অগাস্ট":7,"সেপ্টেম্বর":8,"সেপ্টেম্বার":8,"অক্টোবর":9,"নভেম্বর":10,"নভেম্বার":10,"ডিসেম্বর":11,"ডিসেম্বার":11,"জানু":0,"ফেব্রু":1,"এপ্রি":3,"জুলা":6,"আগ":7,"সেপ্টে":8,"অক্টো":9,"নভে":10,"ডিসে":11};function M(t){const e=t.trim(),o=e.toLowerCase(),a=w[o];if(void 0!==a)return a;for(let t=0;t<n.length;t++)if(n[t].toLowerCase()===o)return t;for(let t=0;t<r.length;t++)if(r[t].toLowerCase()===o)return t;for(let t=0;t<u.length;t++)if(u[t]===e)return t;for(let t=0;t<i.length;t++)if(i[t]===e)return t;return-1}function $(t){return Number.isFinite(t)&&Math.abs(t)<=864e13}function p(t,e,n,r=0,o=0,a=0,u=0){const i=new Date(0);return i.setUTCFullYear(t,e,n),i.setUTCHours(r,o,a,u),i.getUTCFullYear()!==t||i.getUTCMonth()!==e||i.getUTCDate()!==n||i.getUTCHours()!==r||i.getUTCMinutes()!==o||i.getUTCSeconds()!==a||i.getUTCMilliseconds()!==u?null:i}function v(t,e,n,r=0,o=0,a=0,u=0){return function(t,e,n,r=0,o=0,a=0,u=0){const i=new Date(0);return i.setFullYear(t,e,n),i.setHours(r,o,a,u),i.getFullYear()!==t||i.getMonth()!==e||i.getDate()!==n||i.getHours()!==r||i.getMinutes()!==o||i.getSeconds()!==a||i.getMilliseconds()!==u?null:i}(t,e,n,r,o,a,u)??p(t,e,n,r,o,a,u)}function N(t){if(!/^[+-]?\d+$/.test(t))return null;const e=Number(t);return Number.isInteger(e)?e:null}function Y(t){return function(t){const e=t.trim().match(/^([+-]\d{6}|\d{4})([-/.])(\d{1,2})\2(\d{1,2})$/);return e?v(Number(e[1]),Number(e[3])-1,Number(e[4])):null}(t)??function(t){const e=t.trim().match(/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})(?:[T\s](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d+))?)?(Z|[+-]\d{2}:?\d{2})?)$/);if(!e)return null;const n=Number(e[1]),r=Number(e[2]),o=Number(e[3]),a=Number(e[4]??0),u=Number(e[5]??0),i=Number(e[6]??0),s=Number((e[7]??"0").padEnd(3,"0").slice(0,3)),l=e[8];if(void 0===l)return v(n,r-1,o,a,u,i,s);const c=l.match(/^([+-])(\d{2}):?(\d{2})$/),d=c?Number(c[2]):null,h=c?Number(c[3]):null,g="Z"===l?0:c&&null!==d&&null!==h&&d<=23&&h<=59?("+"===c[1]?1:-1)*(60*d+h):null;if(null===g)return null;const m=p(n,r-1,o,a,u,i,s);if(!m)return null;const f=m.getTime()-6e4*g;if(!$(f))return null;const y=new Date(f),b=new Date(f+6e4*g);return b.getUTCFullYear()!==n||b.getUTCMonth()!==r-1||b.getUTCDate()!==o||b.getUTCHours()!==a||b.getUTCMinutes()!==u||b.getUTCSeconds()!==i||b.getUTCMilliseconds()!==s?null:y}(t)??function(t){const e=t.match(/^(\d{1,2})(?:st|nd|rd|th|লা|রা|ঠা|ই|শে)?(?:\s+|-)(\S+)(?:\s+|-)([+-]\d{6}|\d{4}|\d{2})$/);if(!e)return null;const n=Number(e[1]),r=e[2].replace(/,$/,""),o=e[3],a=M(r);if(-1===a)return null;const u=N(o);if(null===u)return null;let i=u;return o.startsWith("+")||o.startsWith("-")||2!==o.length||(i+=i>=50?1900:2e3),v(i,a,n)}(t)??function(t){const e=t.match(/^(\S+)\s+(\d{1,2})(?:st|nd|rd|th|লা|রা|ঠা|ই|শে)?(?:,)?\s+([+-]\d{6}|\d{4}|\d{2})$/);if(!e)return null;const n=e[1].replace(/,$/,""),r=Number(e[2]),o=e[3],a=M(n);if(-1===a)return null;const u=N(o);if(null===u)return null;let i=u;return o.startsWith("+")||o.startsWith("-")||2!==o.length||(i+=i>=50?1900:2e3),v(i,a,r)}(t)}function T(t,e,n){if(!$(t.getTime())){throw new RangeError(`${void 0===n?"Date input":`${n} output`} is outside the supported range: ${String(e)}`)}return t}function S(t){if(t instanceof Date){const e=t.getTime();if(Number.isNaN(e))throw new Error(`Invalid date input: ${String(t)}`);return T(new Date(e),t)}if("number"==typeof t){if(!Number.isFinite(t))throw new Error(`Invalid date input: ${String(t)}`);const e=new Date(t);if(Number.isNaN(e.getTime())){if(!$(t))throw new RangeError(`Date input is outside the supported range: ${String(t)}`);throw new Error(`Invalid date input: ${String(t)}`)}return T(e,t)}const e=Y(D(t).trim());if(!e)throw new Error(`Invalid date input: ${String(t)}`);return T(e,t)}function F(t){const e=S(t),n=new Date;return e.getFullYear()===n.getFullYear()&&e.getMonth()===n.getMonth()&&e.getDate()===n.getDate()}function j(t){const e=S(t),n=new Date;return n.setDate(n.getDate()-1),e.getFullYear()===n.getFullYear()&&e.getMonth()===n.getMonth()&&e.getDate()===n.getDate()}function k(t){const e=S(t),n=new Date;return n.setDate(n.getDate()+1),e.getFullYear()===n.getFullYear()&&e.getMonth()===n.getMonth()&&e.getDate()===n.getDate()}function B(t){const e=S(t);return e.setHours(0,0,0,0),T(e,t,"startOfDay()")}function C(t){const e=S(t);return e.setHours(23,59,59,999),T(e,t,"endOfDay()")}function I(t,e){const n=S(t);return n.setDate(n.getDate()+e),T(n,t,"addDays()")}function H(t,e){return I(t,-e)}function U(t,e){return new Date(t,e+1,0).getDate()}function x(t,e){const n=S(t),r=n.getFullYear(),o=n.getMonth()+e,a=r+Math.floor(o/12),u=(o%12+12)%12,i=Math.min(n.getDate(),U(a,u));return n.setFullYear(a,u,i),T(n,t,"addMonths()")}function E(t,e){return x(t,-e)}function A(t,e){const n=S(t),r=n.getFullYear()+e,o=Math.min(n.getDate(),U(r,n.getMonth()));return n.setFullYear(r,n.getMonth(),o),T(n,t,"addYears()")}function O(t,e){return A(t,-e)}function Z(t){const e=S(t);return e.setDate(1),e.setHours(0,0,0,0),T(e,t,"startOfMonth()")}function J(t){const e=S(t);return e.setMonth(e.getMonth()+1,0),e.setHours(23,59,59,999),T(e,t,"endOfMonth()")}function L(t){const e=S(t);return e.setMonth(0,1),e.setHours(0,0,0,0),T(e,t,"startOfYear()")}function W(t){const e=S(t);return e.setMonth(11,31),e.setHours(23,59,59,999),T(e,t,"endOfYear()")}function P(t,e="long"){const n=t-1;if(n<0||n>11)throw new Error(`Invalid month number: ${t}. Must be 1-12.`);return"short"===e?i[n]:u[n]}function R(t){const e=[...h];return function(t){return(e=t+594)%4==0&&e%100!=0||e%400==0;var e}(t)&&(e[10]=31),e}function q(t,e){const n=e?.locale??"en-BD",r=S(t),o=r.getFullYear(),a=r.getMonth(),u=r.getDate(),i=new Date(o,3,14),s=a<3||3===a&&u<14,l=s?o-594:o-593,h=function(t,e){const n=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()),r=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate());return Math.floor((r-n)/864e5)}(s?new Date(o-1,3,14):i,r)+1,g=R(l);let m=h,f=0;for(let t=0;t<g.length;t++){const e=g[t];if(m<=e){f=t;break}m-=e}const y=f+1;return"bn-BD"===n?{day:b(m),month:c[f],monthIndex:y,year:b(l)}:{day:m,month:d[f],monthIndex:y,year:l}}function z(t,e,n){const r=function(t,e,n){if(!Number.isInteger(t)||!Number.isInteger(e)||!Number.isInteger(n))throw new Error("Invalid Bangla calendar date.");if(e<1||e>12)throw new Error("Invalid Bangla calendar month index. Must be 1-12.");const r=R(n),o=r[e-1];if(t<1||t>o)throw new Error(`Invalid Bangla calendar day. Month ${e} of year ${n} has ${o} days.`);return r}(t,e,n),o=new Date(n+593,3,14);let a=t-1;for(let t=0;t<e-1;t++)a+=r[t];const u=new Date(o);return u.setDate(u.getDate()+a),T(u,{day:t,monthIndex:e,year:n},"fromBanglaCalendar()")}var K=["Asia/Dhaka","UTC"];function G(t,e){const n=t.find(t=>t.type===e);if(void 0===n)throw new Error(`Missing ${e} part while formatting Hijri date.`);return n.value}function Q(t,e){const n=e?.locale??"en-BD",r=e?.timeZone??"Asia/Dhaka";!function(t){if(!K.includes(t))throw new RangeError(`Unsupported Hijri time zone: ${t}. Supported values: ${K.join(", ")}`)}(r);const o=function(t,e,n){const r=function(t){return`${t}-u-ca-islamic-umalqura`}(e),o=new Intl.DateTimeFormat(r,{day:"numeric",month:"numeric",year:"numeric",timeZone:n}).formatToParts(t),a=new Intl.DateTimeFormat(r,{day:"numeric",month:"long",year:"numeric",timeZone:n}).formatToParts(t);return{day:G(o,"day"),month:G(a,"month"),monthIndex:Number(D(G(o,"month"))),year:G(o,"year")}}(S(t),n,r);return"bn-BD"===n?{day:b(o.day),month:o.month,monthIndex:o.monthIndex,year:b(o.year)}:{day:Number(D(o.day)),month:o.month,monthIndex:o.monthIndex,year:Number(D(o.year))}}function V(t){const e=b(t);return 1===t?`${e}লা`:2===t||3===t?`${e}রা`:4===t?`${e}ঠা`:t>=19?`${e}শে`:`${e}ই`}function X(t){const e=t%100;if(e>=11&&e<=13)return`${t}th`;switch(t%10){case 1:return`${t}st`;case 2:return`${t}nd`;case 3:return`${t}rd`;default:return`${t}th`}}function _(t,e){return"spoken"===(e?.format??"ordinal")?function(t,e="pohela"){switch(t){case 1:return"poyla"===e?"পয়লা":"পহেলা";case 2:return"দোসরা";case 3:return"তেসরা";case 4:return"চৌঠা";default:return V(t)}}(t,e?.variant):V(t)}function tt(t,e){return"2-digit"===e?String(t).padStart(2,"0"):String(t)}function et(t,e,n){const r=tt(t,n);return"bn-BD"===e?b(r):r}function nt(t,e,n){if(!e.includes(t))throw new TypeError(`Invalid ${n}: ${t}`)}function rt(t,e,n){if("bn-BD"===e)return t<12?"পূর্বাহ্ণ":"অপরাহ্ণ";const r=t<12?"AM":"PM";return n?r.toLowerCase():r}function ot(t,e){if(null===e||"object"!=typeof e||Array.isArray(e))throw new TypeError("format() expects an options object");if("pattern"in e&&void 0!==e.pattern){if("mode"in e&&void 0!==e.mode)throw new TypeError("Do not pass `mode` when `pattern` is provided. `pattern` formatting does not use mode.");const c="locale"in e&&void 0!==e.locale?e.locale:"en-BD";return function(t,e,c="en-BD"){const d=S(t),h="bn-BD"===c,g=d.getDate(),m=d.getMonth(),f=d.getFullYear(),y=h?u:n,b=h?i:r,D=h?s:o,w=h?l:a,M=d.getHours(),$=M%12||12,p={dddd:D[d.getDay()],ddd:w[d.getDay()],MMMM:y[m],MMM:b[m],MM:et(m+1,c,"2-digit"),M:et(m+1,c,"numeric"),DD:et(g,c,"2-digit"),D:et(g,c,"numeric"),HH:et(M,c,"2-digit"),H:et(M,c,"numeric"),hh:et($,c,"2-digit"),h:et($,c,"numeric"),mm:et(d.getMinutes(),c,"2-digit"),m:et(d.getMinutes(),c,"numeric"),ss:et(d.getSeconds(),c,"2-digit"),s:et(d.getSeconds(),c,"numeric"),A:rt(M,c,!1),a:rt(M,c,!0),YYYY:et(f,c,"numeric"),YY:et(Number(String(f).slice(-2)),c,"2-digit")},v=/dddd|ddd|MMMM|MMM|MM|M|DD|D|YYYY|YY|HH|H|hh|h|mm|m|ss|s|A|a/g,N=t=>t.replace(v,t=>p[t]);let Y="",T=0;for(;T<e.length;){const t=e.indexOf("[",T);if(-1===t){Y+=N(e.slice(T));break}Y+=N(e.slice(T,t));const n=e.indexOf("]",t+1);if(-1===n){Y+=e.slice(t);break}Y+=e.slice(t+1,n),T=n+1}return Y}(t,e.pattern,c)}if(!("mode"in e)||void 0===e.mode)throw new TypeError("format() expects `mode` or `pattern`");const d=e.mode;switch(d){case"standard":return function(t,e){const c=S(t),d=e?.locale??"en-BD",h=e?.month??"short",g=e?.year??"numeric",m=e?.day??"numeric",f=e?.weekday,y=e?.hour,D=e?.minute,w=e?.second,M=void 0!==y||void 0!==D||void 0!==w,$="bn-BD"===d;nt(h,["short","long"],"month format for standard mode"),nt(g,["numeric","2-digit"],"year format for standard mode"),nt(m,["numeric","2-digit"],"day format for standard mode"),void 0!==f&&nt(f,["short","long"],"weekday format for standard mode"),void 0!==y&&nt(y,["numeric","2-digit"],"hour format for standard mode"),void 0!==D&&nt(D,["numeric","2-digit"],"minute format for standard mode"),void 0!==w&&nt(w,["numeric","2-digit"],"second format for standard mode");const p=c.getDate(),v=c.getMonth(),N=c.getFullYear(),Y=$?" খ্রিস্টাব্দ":"",T=`${"2-digit"===m?String(p).padStart(2,"0"):$?V(p):X(p)} ${($?"short"===h?i:u:"short"===h?r:n)[v]} ${"2-digit"===g?String(N).slice(-2):String(N)}${Y}`,F=void 0!==f?`${($?"short"===f?l:s:"short"===f?a:o)[c.getDay()]}, `:"";let j="";if(M){const t=e?.hour12??!1,n=c.getHours(),r=D??(void 0!==w?"2-digit":void 0);j=`${tt(t?n%12||12:n,y??"numeric")}${void 0!==r?`:${tt(c.getMinutes(),r)}`:""}${void 0!==w?`:${tt(c.getSeconds(),w)}`:""}${t?` ${rt(n,d,!1)}`:""}`}const k=`${F}${T}${j?`, ${j}`:""}`;return $?b(k):k}(t,e);case"bangla":return function(t,e){const n=e?.locale??"en-BD",r=e?.format??"ordinal",o=e?.variant,a=q(t,{locale:"en-BD"});if("bn-BD"===n){const t=a.monthIndex-1,e={format:r};return void 0!==o&&(e.variant=o),`${_(a.day,e)} ${c[t]} ${b(a.year)} বঙ্গাব্দ`}return`${X(a.day)} ${a.month} ${a.year}`}(t,e);case"hijri":return function(t,e){const n=e?.locale??"en-BD",r=e?.timeZone;if("bn-BD"===n){const e={locale:n};void 0!==r&&(e.timeZone=r);const o=Q(t,e),a=b(o.year);return`${function(t){const e=b(t);return 1===t?`${e}লা`:2===t?`${e}রা`:`${e}ই`}(Number(D(o.day)))} ${o.month} ${a} হিজরি`}const o={locale:n};void 0!==r&&(o.timeZone=r);const a=Q(t,o);return`${X(a.day)} ${a.month} ${a.year} AH`}(t,e);case"hybrid":return function(t,e){const o=S(t),a=e?.digits??"en",s=e?.month??"bn",l=e?.year??"en",c=e?.day??a,d=e?.monthFormat??"long";nt(a,["en","bn"],"digits language for hybrid mode"),nt(s,["en","bn"],"month language for hybrid mode"),nt(l,["en","bn"],"year language for hybrid mode"),nt(c,["en","bn"],"day language for hybrid mode"),nt(d,["short","long"],"month format for hybrid mode");const h=o.getDate(),g=o.getMonth(),m=o.getFullYear(),f="bn"===s?"short"===d?i:u:"short"===d?r:n,y="bn"===c?b(h):String(h),D=f[g],w="bn"===l?b(m):String(m);return`${y} ${D} ${w}`}(t,e);default:throw new TypeError(`Invalid format mode: ${String(d)}`)}}var at={baishakh:1,boishakh:1,boishak:1,boisakh:1,jaishtho:2,jaishtha:2,jaistha:2,joishtho:2,jyoishtho:2,jyoistho:2,jyeshtho:2,ashar:3,asadh:3,asharh:3,srabon:4,shraban:4,shrabon:4,sraban:4,bhadro:5,ashin:6,ashwin:6,ashshin:6,kartik:7,ograyon:8,ograyan:8,ogrohayon:8,ograhayon:8,agrahayan:8,aghrayan:8,pous:9,poush:9,mag:10,magh:10,falgoon:11,falgun:11,choitra:12,chaitra:12,choitro:12},ut={"বৈশাখ":1,"জৈষ্ঠ":2,"জ্যৈষ্ঠ":2,"আষাঢ়":3,"আষাঢ়":3,"শ্রাবণ":4,"ভাদ্র":5,"আশ্বিন":6,"কার্তিক":7,"অগ্রহায়ণ":8,"অগ্রহায়ণ":8,"অঘ্রাণ":8,"অগ্রায়ণ":8,"অগ্রায়ণ":8,"পৌষ":9,"পৌস":9,"মাঘ":10,"ফাল্গুন":11,"চৈত্র":12};function it(t,e){if(t instanceof Date)return Number.isNaN(t.getTime())?null:new Date(t.getTime());if("number"==typeof t){const e=new Date(t);return Number.isNaN(e.getTime())?null:e}const n=D(t).trim();return"bangla"===e?.calendar?function(t){const e=t.match(/^(\S+),?\s+(\S+),?\s+(\d+)$/);if(!e)return null;const n=function(t){const e={"পহেলা":1,"পয়লা":1,"পয়লা":1,"দোসরা":2,"তেসরা":3,"চৌঠা":4}[t];if(void 0!==e)return e;const n=t.match(/^(\d{1,2})(?:লা|রা|ঠা|ই|শে)$/);if(n)return Number(n[1]);const r=t.match(/^(\d{1,2})(?:st|nd|rd|th)$/i);if(r)return Number(r[1]);const o=Number(t);return Number.isInteger(o)&&o>=1&&o<=31?o:null}(e[1].replace(/,$/,""));if(null===n)return null;const r=function(t){const e=t.toLowerCase();for(let e=0;e<c.length;e++)if(c[e]===t)return e+1;const n=ut[t];if(void 0!==n)return n;for(let t=0;t<d.length;t++)if(d[t].toLowerCase()===e)return t+1;const r=at[e];return void 0!==r?r:-1}(e[2].replace(/,$/,""));if(-1===r)return null;const o=Number(e[3]);try{return z(n,r,o)}catch{return null}}(n):Y(n)}var st=1e3,lt=36e5,ct=24*lt,dt=[{threshold:7*ct,singular:"week",plural:"weeks"},{threshold:ct,singular:"day",plural:"days"},{threshold:lt,singular:"hour",plural:"hours"},{threshold:6e4,singular:"minute",plural:"minutes"},{threshold:st,singular:"second",plural:"seconds"}];function ht(t,e){return new Date(t,e+1,0).getDate()}function gt(t,e){let n=t.getFullYear()-e.getFullYear();const r=function(t,e){const n=t.getFullYear()+e,r=t.getMonth(),o=Math.min(t.getDate(),ht(n,r));return new Date(n,r,o,t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}(e,n);return r>t&&(n-=1),n}function mt(t,e){let n=12*(t.getFullYear()-e.getFullYear())+(t.getMonth()-e.getMonth());const r=function(t,e){const n=t.getFullYear(),r=t.getMonth()+e,o=n+Math.floor(r/12),a=(r%12+12)%12,u=Math.min(t.getDate(),ht(o,a));return new Date(o,a,u,t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}(e,n);return r>t&&(n-=1),n}function ft(t,e,n,r,o){const a="bn-BD"===o,u=a?b(t):String(t),i=1===t?e:n;return a?r?`${u} ${i} আগে`:`${u} ${i} পরে`:r?`${u} ${i} ago`:`in ${u} ${i}`}function yt(t,e,n){return"bn-BD"===n?"day"===t?e?"গতকাল":"আগামীকাল":"week"===t?e?"গত সপ্তাহে":"আগামী সপ্তাহে":"month"===t?e?"গত মাসে":"আগামী মাসে":e?"গত বছর":"আগামী বছর":"day"===t?e?"yesterday":"tomorrow":"week"===t?e?"last week":"next week":"month"===t?e?"last month":"next month":e?"last year":"next year"}function bt(t,e){const n=S(t),r=e?.locale??"en-BD",o=e?.numeric??"always",a="bn-BD"===r?y:f,u=Date.now()-n.getTime(),i=Math.abs(u),s=u>0,l=new Date,c=n.getFullYear()===l.getFullYear()&&n.getMonth()===l.getMonth()&&n.getDate()===l.getDate(),d=s?l:n,h=s?n:l;if(i<st)return a.justNow;if("auto"===o&&c)return function(t){return"bn-BD"===t?"আজ":"today"}(r);const g=gt(d,h);if(g>=1){if("auto"===o&&1===g){const t=yt("year",s,r);if(null!==t)return t}return ft(g,a.year,a.years,s,r)}const m=mt(d,h);if(m>=1){if("auto"===o&&1===m){const t=yt("month",s,r);if(null!==t)return t}return ft(m,a.month,a.months,s,r)}for(const t of dt)if(i>=t.threshold){const e=Math.floor(i/t.threshold);if("auto"===o&&1===e&&("day"===t.singular||"week"===t.singular)){const e=yt(t.singular,s,r);if(null!==e)return e}return ft(e,a[t.singular],a[t.plural],s,r)}return a.justNow}export{c as BANGLA_CALENDAR_MONTHS,d as BANGLA_CALENDAR_MONTHS_EN,h as BANGLA_CALENDAR_MONTH_DAYS,e as BANGLA_DIGITS,u as BANGLA_MONTHS_FULL,i as BANGLA_MONTHS_SHORT,s as BANGLA_WEEKDAYS_FULL,l as BANGLA_WEEKDAYS_SHORT,m as BOISHAKH_START_DAY,g as BOISHAKH_START_MONTH,t as ENGLISH_DIGITS,n as ENGLISH_MONTHS_FULL,r as ENGLISH_MONTHS_SHORT,o as ENGLISH_WEEKDAYS_FULL,a as ENGLISH_WEEKDAYS_SHORT,K as HIJRI_TIME_ZONES,y as RELATIVE_TIME_BN,f as RELATIVE_TIME_EN,I as addDays,x as addMonths,A as addYears,C as endOfDay,J as endOfMonth,W as endOfYear,ot as format,_ as formatBanglaCalendarDay,z as fromBanglaCalendar,bt as fromNow,P as getBanglaMonth,F as isToday,k as isTomorrow,j as isYesterday,it as parseDate,B as startOfDay,Z as startOfMonth,L as startOfYear,H as subDays,E as subMonths,O as subYears,q as toBanglaCalendar,b as toBanglaDigits,S as toDate,D as toEnglishDigits,Q as toHijriCalendar};
package/dist/react.cjs CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use strict";var e=require("react"),t=["0","1","2","3","4","5","6","7","8","9"],n=["০","১","২","৩","৪","৫","৬","৭","৮","৯"],r=["January","February","March","April","May","June","July","August","September","October","November","December"],a=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],u=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],i=["জানুয়ারি","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],l=["জানু","ফেব্রু","মার্চ","এপ্রি","মে","জুন","জুলা","আগ","সেপ্টে","অক্টো","নভে","ডিসে"],s=["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],c=["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],d=["বৈশাখ","জ্যৈষ্ঠ","আষাঢ়","শ্রাবণ","ভাদ্র","আশ্বিন","কার্তিক","অগ্রহায়ণ","পৌষ","মাঘ","ফাল্গুন","চৈত্র"],g=["Baishakh","Jaishtho","Asharh","Shrabon","Bhadro","Ashshin","Kartik","Agrahayan","Poush","Magh","Falgun","Chaitra"],h=[31,31,31,31,31,30,30,30,30,30,30,30],m={second:"second",seconds:"seconds",minute:"minute",minutes:"minutes",hour:"hour",hours:"hours",day:"day",days:"days",week:"week",weeks:"weeks",month:"month",months:"months",year:"year",years:"years",ago:"ago",in:"in",justNow:"just now"},f={second:"সেকেন্ড",seconds:"সেকেন্ড",minute:"মিনিট",minutes:"মিনিট",hour:"ঘণ্টা",hours:"ঘণ্টা",day:"দিন",days:"দিন",week:"সপ্তাহ",weeks:"সপ্তাহ",month:"মাস",months:"মাস",year:"বছর",years:"বছর",ago:"আগে",in:"",justNow:"এইমাত্র"};function y(e){return String(e).replace(/\d/g,e=>n[Number(e)]??e)}function b(e){return String(e).replace(/[০-৯]/g,e=>{const r=n.indexOf(e);return r>=0?t[r]??e:e})}var v={jan:0,"jan.":0,january:0,"january,":0,feb:1,"feb.":1,february:1,"february,":1,mar:2,"mar.":2,march:2,"march,":2,apr:3,"apr.":3,april:3,"april,":3,may:4,"may,":4,jun:5,"jun.":5,june:5,"june,":5,jul:6,"jul.":6,july:6,"july,":6,aug:7,"aug.":7,august:7,"august,":7,sep:8,sept:8,"sep.":8,"sept.":8,september:8,"september,":8,oct:9,"oct.":9,october:9,"october,":9,nov:10,"nov.":10,november:10,"november,":10,dec:11,"dec.":11,december:11,"december,":11,"জানুয়ারি":0,"জানুয়ারি":0,"ফেব্রুয়ারি":1,"ফেব্রুয়ারি":1,"মার্চ":2,"এপ্রিল":3,"মে":4,"জুন":5,"জুলাই":6,"আগস্ট":7,"অগাস্ট":7,"সেপ্টেম্বর":8,"সেপ্টেম্বার":8,"অক্টোবর":9,"নভেম্বর":10,"নভেম্বার":10,"ডিসেম্বর":11,"ডিসেম্বার":11,"জানু":0,"ফেব্রু":1,"এপ্রি":3,"জুলা":6,"আগ":7,"সেপ্টে":8,"অক্টো":9,"নভে":10,"ডিসে":11};function w(e){const t=e.trim(),n=t.toLowerCase(),o=v[n];if(void 0!==o)return o;for(let e=0;e<r.length;e++)if(r[e].toLowerCase()===n)return e;for(let e=0;e<a.length;e++)if(a[e].toLowerCase()===n)return e;for(let e=0;e<i.length;e++)if(i[e]===t)return e;for(let e=0;e<l.length;e++)if(l[e]===t)return e;return-1}function $(e,t,n,r=0,a=0,o=0,u=0){const i=new Date(e,t,n,r,a,o,u);return i.getFullYear()!==e||i.getMonth()!==t||i.getDate()!==n||i.getHours()!==r||i.getMinutes()!==a||i.getSeconds()!==o||i.getMilliseconds()!==u?null:i}function D(e){return function(e){const t=e.trim().match(/^(\d{4})([-/.])(\d{1,2})\2(\d{1,2})$/);return t?$(Number(t[1]),Number(t[3])-1,Number(t[4])):null}(e)??function(e){const t=e.trim().match(/^(\d{4})-(\d{2})-(\d{2})(?:[T\s](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d+))?)?(Z|[+-]\d{2}:?\d{2})?)$/);if(!t)return null;const n=Number(t[1]),r=Number(t[2]),a=Number(t[3]),o=Number(t[4]??0),u=Number(t[5]??0),i=Number(t[6]??0),l=Number((t[7]??"0").padEnd(3,"0").slice(0,3)),s=t[8];if(void 0===s)return $(n,r-1,a,o,u,i,l);const c=s.match(/^([+-])(\d{2}):?(\d{2})$/),d="Z"===s?0:c?("+"===c[1]?1:-1)*(60*Number(c[2])+Number(c[3])):null;if(null===d)return null;const g=Date.UTC(n,r-1,a,o,u,i,l)-6e4*d,h=new Date(g),m=new Date(g+6e4*d);return m.getUTCFullYear()!==n||m.getUTCMonth()!==r-1||m.getUTCDate()!==a||m.getUTCHours()!==o||m.getUTCMinutes()!==u||m.getUTCSeconds()!==i||m.getUTCMilliseconds()!==l?null:h}(e)??function(e){const t=e.match(/^(\d{1,2})(?:st|nd|rd|th)?(?:\s+|-)(\S+)(?:\s+|-)(\d{2,4})$/);if(!t)return null;const n=Number(t[1]),r=t[2].replace(/,$/,""),a=t[3],o=w(r);if(-1===o)return null;let u=Number(a);return 2===a.length&&(u+=u>=50?1900:2e3),$(u,o,n)}(e)??function(e){const t=e.match(/^(\S+)\s+(\d{1,2})(?:st|nd|rd|th)?(?:,)?\s+(\d{2,4})$/);if(!t)return null;const n=t[1].replace(/,$/,""),r=Number(t[2]),a=t[3],o=w(n);if(-1===o)return null;let u=Number(a);return 2===a.length&&(u+=u>=50?1900:2e3),$(u,o,r)}(e)}function p(e){if(e instanceof Date){const t=e.getTime();if(Number.isNaN(t))throw new Error(`Invalid date input: ${String(e)}`);return new Date(t)}if("number"==typeof e){if(!Number.isFinite(e))throw new Error(`Invalid date input: ${String(e)}`);const t=new Date(e);if(Number.isNaN(t.getTime()))throw new Error(`Invalid date input: ${String(e)}`);return t}const t=D(b(e).trim());if(!t)throw new Error(`Invalid date input: ${String(e)}`);return t}function N(e,t){const n=p(e),r=n.getFullYear(),a=n.getMonth(),o=n.getDate(),u=new Date(r,3,14),i=a<3||3===a&&o<14,l=i?r-594:r-593,s=function(e,t){const n=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()),r=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate());return Math.floor((r-n)/864e5)}(i?new Date(r-1,3,14):u,n)+1,c=function(e){const t=[...h];return function(e){return(t=e+594)%4==0&&t%100!=0||t%400==0;var t}(e)&&(t[10]=31),t}(l);let d=s,m=0;for(let e=0;e<c.length;e++){const t=c[e];if(d<=t){m=e;break}d-=t}return{day:d,month:g[m],monthIndex:m+1,year:l}}function M(e){const t=y(e);return 1===e?`${t}লা`:2===e||3===e?`${t}রা`:4===e?`${t}ঠা`:e>=19?`${t}শে`:`${t}ই`}function S(e,t){return"spoken"===(t?.format??"ordinal")?function(e,t="pohela"){switch(e){case 1:return"poyla"===t?"পয়লা":"পহেলা";case 2:return"দোসরা";case 3:return"তেসরা";case 4:return"চৌঠা";default:return M(e)}}(e,t?.variant):M(e)}function T(e,t){return"2-digit"===t?String(e).padStart(2,"0"):String(e)}var k=1e3,F=36e5,j=24*F,C=[{threshold:7*j,singular:"week",plural:"weeks"},{threshold:j,singular:"day",plural:"days"},{threshold:F,singular:"hour",plural:"hours"},{threshold:6e4,singular:"minute",plural:"minutes"},{threshold:k,singular:"second",plural:"seconds"}];function Y(e,t){return new Date(e,t+1,0).getDate()}function B(e,t){let n=e.getFullYear()-t.getFullYear();const r=function(e,t){const n=e.getFullYear()+t,r=e.getMonth(),a=Math.min(e.getDate(),Y(n,r));return new Date(n,r,a,e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}(t,n);return r>e&&(n-=1),n}function U(e,t){let n=12*(e.getFullYear()-t.getFullYear())+(e.getMonth()-t.getMonth());const r=function(e,t){const n=e.getFullYear(),r=e.getMonth()+t,a=n+Math.floor(r/12),o=(r%12+12)%12,u=Math.min(e.getDate(),Y(a,o));return new Date(a,o,u,e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}(t,n);return r>e&&(n-=1),n}function x(e,t,n,r,a){const o="bn-BD"===a,u=o?y(e):String(e),i=1===e?t:n;return o?r?`${u} ${i} আগে`:`${u} ${i} পরে`:r?`${u} ${i} ago`:`in ${u} ${i}`}function A(e,t,n){return"bn-BD"===n?"day"===e?t?"গতকাল":"আগামীকাল":"week"===e?t?"গত সপ্তাহে":"আগামী সপ্তাহে":"month"===e?t?"গত মাসে":"আগামী মাসে":t?"গত বছর":"আগামী বছর":"day"===e?t?"yesterday":"tomorrow":"week"===e?t?"last week":"next week":"month"===e?t?"last month":"next month":t?"last year":"next year"}function E(e){return"string"==typeof e&&!/(?:T|\s)\d{2}:\d{2}(?::\d{2}(?:\.\d{1,3})?)?(?:Z|[+-]\d{2}:?\d{2})?$/i.test(e.trim())&&null!==function(e){if(e instanceof Date)return Number.isNaN(e.getTime())?null:new Date(e.getTime());if("number"==typeof e){const t=new Date(e);return Number.isNaN(t.getTime())?null:t}return D(b(e).trim())}(e)}function I(e,t){return E(e)?function(e){return`${String(e.getFullYear())}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}(t):t.toISOString()}var J=e.forwardRef(function({value:t,locale:n,month:d,year:g,day:h,weekday:m,hour:f,minute:b,second:v,hour12:w,srLabel:$,"aria-label":D,...N},M){const S=p(t),k=function(e,t){const n=p(e),d=t?.locale??"en-BD",g=t?.month??"short",h=t?.year??"numeric",m=t?.day??"numeric",f=t?.weekday,b=t?.hour,v=t?.minute,w=t?.second,$=void 0!==b||void 0!==v||void 0!==w,D="bn-BD"===d,N=n.getDate(),M=n.getMonth(),S=n.getFullYear(),k=`${"2-digit"===m?String(N).padStart(2,"0"):String(N)} ${(D?"short"===g?l:i:"short"===g?a:r)[M]} ${"2-digit"===h?String(S).slice(-2):String(S)}`,F=void 0!==f?`${(D?"short"===f?c:s:"short"===f?u:o)[n.getDay()]}, `:"";let j="";if($){const e=t?.hour12??!1,r=n.getHours(),a=v??(void 0!==w?"2-digit":void 0),o=T(e?r%12||12:r,b??"numeric"),u=void 0!==a?`:${T(n.getMinutes(),a)}`:"",i=void 0!==w?`:${T(n.getSeconds(),w)}`:"",l=e?` ${function(e,t){if("bn-BD"===t)return e<12?"পূর্বাহ্ণ":"অপরাহ্ণ";const n=e<12?"AM":"PM";return!1?n.toLowerCase():n}(r,d)}`:"";j=`${o}${u}${i}${l}`}const C=`${F}${k}${j?`, ${j}`:""}`;return D?y(C):C}(S,{...void 0!==n&&{locale:n},...void 0!==d&&{month:d},...void 0!==g&&{year:g},...void 0!==h&&{day:h},...void 0!==m&&{weekday:m},...void 0!==f&&{hour:f},...void 0!==b&&{minute:b},...void 0!==v&&{second:v},...void 0!==w&&{hour12:w}}),F=I(t,S),j=$??D??k;return e.createElement("time",{...N,ref:M,dateTime:F,"aria-label":j},k)});J.displayName="Tarikh";var L=e.forwardRef(function({value:t,locale:n,numeric:r,srLabel:a,"aria-label":o,...u},i){const l=p(t),s={...void 0!==n&&{locale:n},...void 0!==r&&{numeric:r}},c=function(e,t){const n=p(e),r=t?.locale??"en-BD",a=t?.numeric??"always",o="bn-BD"===r?f:m,u=Date.now()-n.getTime(),i=Math.abs(u),l=u>0,s=new Date,c=n.getFullYear()===s.getFullYear()&&n.getMonth()===s.getMonth()&&n.getDate()===s.getDate(),d=l?s:n,g=l?n:s;if(i<k)return o.justNow;if("auto"===a&&c)return function(e){return"bn-BD"===e?"আজ":"today"}(r);const h=B(d,g);if(h>=1){if("auto"===a&&1===h){const e=A("year",l,r);if(null!==e)return e}return x(h,o.year,o.years,l,r)}const y=U(d,g);if(y>=1){if("auto"===a&&1===y){const e=A("month",l,r);if(null!==e)return e}return x(y,o.month,o.months,l,r)}for(const e of C)if(i>=e.threshold){const t=Math.floor(i/e.threshold);if("auto"===a&&1===t&&("day"===e.singular||"week"===e.singular)){const t=A(e.singular,l,r);if(null!==t)return t}return x(t,o[e.singular],o[e.plural],l,r)}return o.justNow}(l,Object.keys(s).length>0?s:void 0),d=I(t,l),g=a??o??c;return e.createElement("time",{...u,ref:i,dateTime:d,"aria-label":g},c)});L.displayName="RelativeTime";var O=e.forwardRef(function({value:t,locale:n,format:r,variant:a,srLabel:o,"aria-label":u,...i},l){const s=p(t),c={...void 0!==n&&{locale:n},...void 0!==r&&{format:r},...void 0!==a&&{variant:a}},g=function(e,t){const n=t?.locale??"en-BD",r=t?.format??"ordinal",a=t?.variant,o=N(e);if("bn-BD"===n){const e=o.monthIndex-1,t={format:r};return void 0!==a&&(t.variant=a),`${S(o.day,t)} ${d[e]} ${y(o.year)}`}return`${o.day} ${o.month} ${o.year}`}(s,Object.keys(c).length>0?c:void 0),h=I(t,s),m=o??u??g;return e.createElement("time",{...i,ref:l,dateTime:h,"aria-label":m},g)});O.displayName="BanglaDate",exports.BanglaDate=O,exports.RelativeTime=L,exports.Tarikh=J;
2
+ "use strict";var e=require("react"),t=["0","1","2","3","4","5","6","7","8","9"],n=["০","১","২","৩","৪","৫","৬","৭","৮","৯"],r=["January","February","March","April","May","June","July","August","September","October","November","December"],o=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],a=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],i=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],u=["জানুয়ারি","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],s=["জানু","ফেব্রু","মার্চ","এপ্রি","মে","জুন","জুলা","আগ","সেপ্টে","অক্টো","নভে","ডিসে"],d=["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],l=["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],c=["বৈশাখ","জ্যৈষ্ঠ","আষাঢ়","শ্রাবণ","ভাদ্র","আশ্বিন","কার্তিক","অগ্রহায়ণ","পৌষ","মাঘ","ফাল্গুন","চৈত্র"],m=["Baishakh","Jaishtho","Asharh","Shrabon","Bhadro","Ashshin","Kartik","Agrahayan","Poush","Magh","Falgun","Chaitra"],g=[31,31,31,31,31,30,30,30,30,30,30,30],h={second:"second",seconds:"seconds",minute:"minute",minutes:"minutes",hour:"hour",hours:"hours",day:"day",days:"days",week:"week",weeks:"weeks",month:"month",months:"months",year:"year",years:"years",ago:"ago",in:"in",justNow:"just now"},f={second:"সেকেন্ড",seconds:"সেকেন্ড",minute:"মিনিট",minutes:"মিনিট",hour:"ঘণ্টা",hours:"ঘণ্টা",day:"দিন",days:"দিন",week:"সপ্তাহ",weeks:"সপ্তাহ",month:"মাস",months:"মাস",year:"বছর",years:"বছর",ago:"আগে",in:"",justNow:"এইমাত্র"};function y(e){return String(e).replace(/\d/g,e=>n[Number(e)]??e)}function b(e){return String(e).replace(/[০-৯]/g,e=>{const r=n.indexOf(e);return r>=0?t[r]??e:e})}var w={jan:0,"jan.":0,january:0,"january,":0,feb:1,"feb.":1,february:1,"february,":1,mar:2,"mar.":2,march:2,"march,":2,apr:3,"apr.":3,april:3,"april,":3,may:4,"may,":4,jun:5,"jun.":5,june:5,"june,":5,jul:6,"jul.":6,july:6,"july,":6,aug:7,"aug.":7,august:7,"august,":7,sep:8,sept:8,"sep.":8,"sept.":8,september:8,"september,":8,oct:9,"oct.":9,october:9,"october,":9,nov:10,"nov.":10,november:10,"november,":10,dec:11,"dec.":11,december:11,"december,":11,"জানুয়ারি":0,"জানুয়ারি":0,"ফেব্রুয়ারি":1,"ফেব্রুয়ারি":1,"মার্চ":2,"এপ্রিল":3,"মে":4,"জুন":5,"জুলাই":6,"আগস্ট":7,"অগাস্ট":7,"সেপ্টেম্বর":8,"সেপ্টেম্বার":8,"অক্টোবর":9,"নভেম্বর":10,"নভেম্বার":10,"ডিসেম্বর":11,"ডিসেম্বার":11,"জানু":0,"ফেব্রু":1,"এপ্রি":3,"জুলা":6,"আগ":7,"সেপ্টে":8,"অক্টো":9,"নভে":10,"ডিসে":11};function $(e){const t=e.trim(),n=t.toLowerCase(),a=w[n];if(void 0!==a)return a;for(let e=0;e<r.length;e++)if(r[e].toLowerCase()===n)return e;for(let e=0;e<o.length;e++)if(o[e].toLowerCase()===n)return e;for(let e=0;e<u.length;e++)if(u[e]===t)return e;for(let e=0;e<s.length;e++)if(s[e]===t)return e;return-1}function p(e){return Number.isFinite(e)&&Math.abs(e)<=864e13}function v(e,t,n,r=0,o=0,a=0,i=0){const u=new Date(0);return u.setUTCFullYear(e,t,n),u.setUTCHours(r,o,a,i),u.getUTCFullYear()!==e||u.getUTCMonth()!==t||u.getUTCDate()!==n||u.getUTCHours()!==r||u.getUTCMinutes()!==o||u.getUTCSeconds()!==a||u.getUTCMilliseconds()!==i?null:u}function D(e,t,n,r=0,o=0,a=0,i=0){return function(e,t,n,r=0,o=0,a=0,i=0){const u=new Date(0);return u.setFullYear(e,t,n),u.setHours(r,o,a,i),u.getFullYear()!==e||u.getMonth()!==t||u.getDate()!==n||u.getHours()!==r||u.getMinutes()!==o||u.getSeconds()!==a||u.getMilliseconds()!==i?null:u}(e,t,n,r,o,a,i)??v(e,t,n,r,o,a,i)}function M(e){if(!/^[+-]?\d+$/.test(e))return null;const t=Number(e);return Number.isInteger(t)?t:null}function T(e){return function(e){const t=e.trim().match(/^([+-]\d{6}|\d{4})([-/.])(\d{1,2})\2(\d{1,2})$/);return t?D(Number(t[1]),Number(t[3])-1,Number(t[4])):null}(e)??function(e){const t=e.trim().match(/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})(?:[T\s](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d+))?)?(Z|[+-]\d{2}:?\d{2})?)$/);if(!t)return null;const n=Number(t[1]),r=Number(t[2]),o=Number(t[3]),a=Number(t[4]??0),i=Number(t[5]??0),u=Number(t[6]??0),s=Number((t[7]??"0").padEnd(3,"0").slice(0,3)),d=t[8];if(void 0===d)return D(n,r-1,o,a,i,u,s);const l=d.match(/^([+-])(\d{2}):?(\d{2})$/),c=l?Number(l[2]):null,m=l?Number(l[3]):null,g="Z"===d?0:l&&null!==c&&null!==m&&c<=23&&m<=59?("+"===l[1]?1:-1)*(60*c+m):null;if(null===g)return null;const h=v(n,r-1,o,a,i,u,s);if(!h)return null;const f=h.getTime()-6e4*g;if(!p(f))return null;const y=new Date(f),b=new Date(f+6e4*g);return b.getUTCFullYear()!==n||b.getUTCMonth()!==r-1||b.getUTCDate()!==o||b.getUTCHours()!==a||b.getUTCMinutes()!==i||b.getUTCSeconds()!==u||b.getUTCMilliseconds()!==s?null:y}(e)??function(e){const t=e.match(/^(\d{1,2})(?:st|nd|rd|th|লা|রা|ঠা|ই|শে)?(?:\s+|-)(\S+)(?:\s+|-)([+-]\d{6}|\d{4}|\d{2})$/);if(!t)return null;const n=Number(t[1]),r=t[2].replace(/,$/,""),o=t[3],a=$(r);if(-1===a)return null;const i=M(o);if(null===i)return null;let u=i;return o.startsWith("+")||o.startsWith("-")||2!==o.length||(u+=u>=50?1900:2e3),D(u,a,n)}(e)??function(e){const t=e.match(/^(\S+)\s+(\d{1,2})(?:st|nd|rd|th|লা|রা|ঠা|ই|শে)?(?:,)?\s+([+-]\d{6}|\d{4}|\d{2})$/);if(!t)return null;const n=t[1].replace(/,$/,""),r=Number(t[2]),o=t[3],a=$(n);if(-1===a)return null;const i=M(o);if(null===i)return null;let u=i;return o.startsWith("+")||o.startsWith("-")||2!==o.length||(u+=u>=50?1900:2e3),D(u,a,r)}(e)}function N(e,t,n){if(!p(e.getTime())){throw new RangeError(`${"Date input"} is outside the supported range: ${String(t)}`)}return e}function S(e){if(e instanceof Date){const t=e.getTime();if(Number.isNaN(t))throw new Error(`Invalid date input: ${String(e)}`);return N(new Date(t),e)}if("number"==typeof e){if(!Number.isFinite(e))throw new Error(`Invalid date input: ${String(e)}`);const t=new Date(e);if(Number.isNaN(t.getTime())){if(!p(e))throw new RangeError(`Date input is outside the supported range: ${String(e)}`);throw new Error(`Invalid date input: ${String(e)}`)}return N(t,e)}const t=T(b(e).trim());if(!t)throw new Error(`Invalid date input: ${String(e)}`);return N(t,e)}function Y(e,t){const n=S(e),r=n.getFullYear(),o=n.getMonth(),a=n.getDate(),i=new Date(r,3,14),u=o<3||3===o&&a<14,s=u?r-594:r-593,d=function(e,t){const n=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()),r=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate());return Math.floor((r-n)/864e5)}(u?new Date(r-1,3,14):i,n)+1,l=function(e){const t=[...g];return function(e){return(t=e+594)%4==0&&t%100!=0||t%400==0;var t}(e)&&(t[10]=31),t}(s);let c=d,h=0;for(let e=0;e<l.length;e++){const t=l[e];if(c<=t){h=e;break}c-=t}return{day:c,month:m[h],monthIndex:h+1,year:s}}var F=["Asia/Dhaka","UTC"];function k(e,t){const n=e.find(e=>e.type===t);if(void 0===n)throw new Error(`Missing ${t} part while formatting Hijri date.`);return n.value}function j(e,t){const n=t?.locale??"en-BD",r=t?.timeZone??"Asia/Dhaka";!function(e){if(!F.includes(e))throw new RangeError(`Unsupported Hijri time zone: ${e}. Supported values: ${F.join(", ")}`)}(r);const o=function(e,t,n){const r=function(e){return`${e}-u-ca-islamic-umalqura`}(t),o=new Intl.DateTimeFormat(r,{day:"numeric",month:"numeric",year:"numeric",timeZone:n}).formatToParts(e),a=new Intl.DateTimeFormat(r,{day:"numeric",month:"long",year:"numeric",timeZone:n}).formatToParts(e);return{day:k(o,"day"),month:k(a,"month"),monthIndex:Number(b(k(o,"month"))),year:k(o,"year")}}(S(e),n,r);return"bn-BD"===n?{day:y(o.day),month:o.month,monthIndex:o.monthIndex,year:y(o.year)}:{day:Number(b(o.day)),month:o.month,monthIndex:o.monthIndex,year:Number(b(o.year))}}function C(e){const t=y(e);return 1===e?`${t}লা`:2===e||3===e?`${t}রা`:4===e?`${t}ঠা`:e>=19?`${t}শে`:`${t}ই`}function B(e){const t=e%100;if(t>=11&&t<=13)return`${e}th`;switch(e%10){case 1:return`${e}st`;case 2:return`${e}nd`;case 3:return`${e}rd`;default:return`${e}th`}}function H(e,t){return"spoken"===(t?.format??"ordinal")?function(e,t="pohela"){switch(e){case 1:return"poyla"===t?"পয়লা":"পহেলা";case 2:return"দোসরা";case 3:return"তেসরা";case 4:return"চৌঠা";default:return C(e)}}(e,t?.variant):C(e)}function U(e,t){return"2-digit"===t?String(e).padStart(2,"0"):String(e)}function E(e,t,n){const r=U(e,n);return"bn-BD"===t?y(r):r}function I(e,t,n){if(!t.includes(e))throw new TypeError(`Invalid ${n}: ${e}`)}function x(e,t,n){if("bn-BD"===t)return e<12?"পূর্বাহ্ণ":"অপরাহ্ণ";const r=e<12?"AM":"PM";return n?r.toLowerCase():r}function A(e,t){if(null===t||"object"!=typeof t||Array.isArray(t))throw new TypeError("format() expects an options object");if("pattern"in t&&void 0!==t.pattern){if("mode"in t&&void 0!==t.mode)throw new TypeError("Do not pass `mode` when `pattern` is provided. `pattern` formatting does not use mode.");const n="locale"in t&&void 0!==t.locale?t.locale:"en-BD";return function(e,t,n="en-BD"){const c=S(e),m="bn-BD"===n,g=c.getDate(),h=c.getMonth(),f=c.getFullYear(),y=m?u:r,b=m?s:o,w=m?d:a,$=m?l:i,p=c.getHours(),v=p%12||12,D={dddd:w[c.getDay()],ddd:$[c.getDay()],MMMM:y[h],MMM:b[h],MM:E(h+1,n,"2-digit"),M:E(h+1,n,"numeric"),DD:E(g,n,"2-digit"),D:E(g,n,"numeric"),HH:E(p,n,"2-digit"),H:E(p,n,"numeric"),hh:E(v,n,"2-digit"),h:E(v,n,"numeric"),mm:E(c.getMinutes(),n,"2-digit"),m:E(c.getMinutes(),n,"numeric"),ss:E(c.getSeconds(),n,"2-digit"),s:E(c.getSeconds(),n,"numeric"),A:x(p,n,!1),a:x(p,n,!0),YYYY:E(f,n,"numeric"),YY:E(Number(String(f).slice(-2)),n,"2-digit")},M=/dddd|ddd|MMMM|MMM|MM|M|DD|D|YYYY|YY|HH|H|hh|h|mm|m|ss|s|A|a/g,T=e=>e.replace(M,e=>D[e]);let N="",Y=0;for(;Y<t.length;){const e=t.indexOf("[",Y);if(-1===e){N+=T(t.slice(Y));break}N+=T(t.slice(Y,e));const n=t.indexOf("]",e+1);if(-1===n){N+=t.slice(e);break}N+=t.slice(e+1,n),Y=n+1}return N}(e,t.pattern,n)}if(!("mode"in t)||void 0===t.mode)throw new TypeError("format() expects `mode` or `pattern`");const n=t.mode;switch(n){case"standard":return function(e,t){const n=S(e),c=t?.locale??"en-BD",m=t?.month??"short",g=t?.year??"numeric",h=t?.day??"numeric",f=t?.weekday,b=t?.hour,w=t?.minute,$=t?.second,p=void 0!==b||void 0!==w||void 0!==$,v="bn-BD"===c;I(m,["short","long"],"month format for standard mode"),I(g,["numeric","2-digit"],"year format for standard mode"),I(h,["numeric","2-digit"],"day format for standard mode"),void 0!==f&&I(f,["short","long"],"weekday format for standard mode"),void 0!==b&&I(b,["numeric","2-digit"],"hour format for standard mode"),void 0!==w&&I(w,["numeric","2-digit"],"minute format for standard mode"),void 0!==$&&I($,["numeric","2-digit"],"second format for standard mode");const D=n.getDate(),M=n.getMonth(),T=n.getFullYear(),N=v?" খ্রিস্টাব্দ":"",Y=`${"2-digit"===h?String(D).padStart(2,"0"):v?C(D):B(D)} ${(v?"short"===m?s:u:"short"===m?o:r)[M]} ${"2-digit"===g?String(T).slice(-2):String(T)}${N}`,F=void 0!==f?`${(v?"short"===f?l:d:"short"===f?i:a)[n.getDay()]}, `:"";let k="";if(p){const e=t?.hour12??!1,r=n.getHours(),o=w??(void 0!==$?"2-digit":void 0);k=`${U(e?r%12||12:r,b??"numeric")}${void 0!==o?`:${U(n.getMinutes(),o)}`:""}${void 0!==$?`:${U(n.getSeconds(),$)}`:""}${e?` ${x(r,c,!1)}`:""}`}const j=`${F}${Y}${k?`, ${k}`:""}`;return v?y(j):j}(e,t);case"bangla":return function(e,t){const n=t?.locale??"en-BD",r=t?.format??"ordinal",o=t?.variant,a=Y(e);if("bn-BD"===n){const e=a.monthIndex-1,t={format:r};return void 0!==o&&(t.variant=o),`${H(a.day,t)} ${c[e]} ${y(a.year)} বঙ্গাব্দ`}return`${B(a.day)} ${a.month} ${a.year}`}(e,t);case"hijri":return function(e,t){const n=t?.locale??"en-BD",r=t?.timeZone;if("bn-BD"===n){const t={locale:n};void 0!==r&&(t.timeZone=r);const o=j(e,t),a=y(o.year);return`${function(e){const t=y(e);return 1===e?`${t}লা`:2===e?`${t}রা`:`${t}ই`}(Number(b(o.day)))} ${o.month} ${a} হিজরি`}const o={locale:n};void 0!==r&&(o.timeZone=r);const a=j(e,o);return`${B(a.day)} ${a.month} ${a.year} AH`}(e,t);case"hybrid":return function(e,t){const n=S(e),a=t?.digits??"en",i=t?.month??"bn",d=t?.year??"en",l=t?.day??a,c=t?.monthFormat??"long";I(a,["en","bn"],"digits language for hybrid mode"),I(i,["en","bn"],"month language for hybrid mode"),I(d,["en","bn"],"year language for hybrid mode"),I(l,["en","bn"],"day language for hybrid mode"),I(c,["short","long"],"month format for hybrid mode");const m=n.getDate(),g=n.getMonth(),h=n.getFullYear(),f="bn"===i?"short"===c?s:u:"short"===c?o:r,b="bn"===l?y(m):String(m),w=f[g],$="bn"===d?y(h):String(h);return`${b} ${w} ${$}`}(e,t);default:throw new TypeError(`Invalid format mode: ${String(n)}`)}}var Z=1e3,R=36e5,L=24*R,J=[{threshold:7*L,singular:"week",plural:"weeks"},{threshold:L,singular:"day",plural:"days"},{threshold:R,singular:"hour",plural:"hours"},{threshold:6e4,singular:"minute",plural:"minutes"},{threshold:Z,singular:"second",plural:"seconds"}];function O(e,t){return new Date(e,t+1,0).getDate()}function W(e,t){let n=e.getFullYear()-t.getFullYear();const r=function(e,t){const n=e.getFullYear()+t,r=e.getMonth(),o=Math.min(e.getDate(),O(n,r));return new Date(n,r,o,e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}(t,n);return r>e&&(n-=1),n}function P(e,t){let n=12*(e.getFullYear()-t.getFullYear())+(e.getMonth()-t.getMonth());const r=function(e,t){const n=e.getFullYear(),r=e.getMonth()+t,o=n+Math.floor(r/12),a=(r%12+12)%12,i=Math.min(e.getDate(),O(o,a));return new Date(o,a,i,e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}(t,n);return r>e&&(n-=1),n}function q(e,t,n,r,o){const a="bn-BD"===o,i=a?y(e):String(e),u=1===e?t:n;return a?r?`${i} ${u} আগে`:`${i} ${u} পরে`:r?`${i} ${u} ago`:`in ${i} ${u}`}function z(e,t,n){return"bn-BD"===n?"day"===e?t?"গতকাল":"আগামীকাল":"week"===e?t?"গত সপ্তাহে":"আগামী সপ্তাহে":"month"===e?t?"গত মাসে":"আগামী মাসে":t?"গত বছর":"আগামী বছর":"day"===e?t?"yesterday":"tomorrow":"week"===e?t?"last week":"next week":"month"===e?t?"last month":"next month":t?"last year":"next year"}function K(e){return"string"==typeof e&&!/(?:T|\s)\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:?\d{2})?$/i.test(e.trim())&&null!==function(e){if(e instanceof Date)return Number.isNaN(e.getTime())?null:new Date(e.getTime());if("number"==typeof e){const t=new Date(e);return Number.isNaN(t.getTime())?null:t}return T(b(e).trim())}(e)}function G(e,t){return K(e)?function(e){return`${String(e.getFullYear())}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}(t):t.toISOString()}var Q=e.forwardRef(function({value:t,locale:n,month:r,year:o,day:a,weekday:i,hour:u,minute:s,second:d,hour12:l,srLabel:c,"aria-label":m,...g},h){const f=S(t),y=A(f,{mode:"standard",...{...void 0!==n&&{locale:n},...void 0!==r&&{month:r},...void 0!==o&&{year:o},...void 0!==a&&{day:a},...void 0!==i&&{weekday:i},...void 0!==u&&{hour:u},...void 0!==s&&{minute:s},...void 0!==d&&{second:d},...void 0!==l&&{hour12:l}}}),b=G(t,f),w=c??m??y;return e.createElement("time",{...g,ref:h,dateTime:b,"aria-label":w},y)});Q.displayName="Tarikh";var V=e.forwardRef(function({value:t,locale:n,numeric:r,srLabel:o,"aria-label":a,...i},u){const s=S(t),d={...void 0!==n&&{locale:n},...void 0!==r&&{numeric:r}},l=function(e,t){const n=S(e),r=t?.locale??"en-BD",o=t?.numeric??"always",a="bn-BD"===r?f:h,i=Date.now()-n.getTime(),u=Math.abs(i),s=i>0,d=new Date,l=n.getFullYear()===d.getFullYear()&&n.getMonth()===d.getMonth()&&n.getDate()===d.getDate(),c=s?d:n,m=s?n:d;if(u<Z)return a.justNow;if("auto"===o&&l)return function(e){return"bn-BD"===e?"আজ":"today"}(r);const g=W(c,m);if(g>=1){if("auto"===o&&1===g){const e=z("year",s,r);if(null!==e)return e}return q(g,a.year,a.years,s,r)}const y=P(c,m);if(y>=1){if("auto"===o&&1===y){const e=z("month",s,r);if(null!==e)return e}return q(y,a.month,a.months,s,r)}for(const e of J)if(u>=e.threshold){const t=Math.floor(u/e.threshold);if("auto"===o&&1===t&&("day"===e.singular||"week"===e.singular)){const t=z(e.singular,s,r);if(null!==t)return t}return q(t,a[e.singular],a[e.plural],s,r)}return a.justNow}(s,Object.keys(d).length>0?d:void 0),c=G(t,s),m=o??a??l;return e.createElement("time",{...i,ref:u,dateTime:c,"aria-label":m},l)});V.displayName="RelativeTime";var X=e.forwardRef(function({value:t,locale:n,format:r,variant:o,srLabel:a,"aria-label":i,...u},s){const d=S(t),l=A(d,{mode:"bangla",...{...void 0!==n&&{locale:n},...void 0!==r&&{format:r},...void 0!==o&&{variant:o}}}),c=G(t,d),m=a??i??l;return e.createElement("time",{...u,ref:s,dateTime:c,"aria-label":m},l)});X.displayName="BanglaDate";var _=e.forwardRef(function({value:t,locale:n,timeZone:r,srLabel:o,"aria-label":a,...i},u){const s=S(t),d=A(s,{mode:"hijri",...{...void 0!==n&&{locale:n},...void 0!==r&&{timeZone:r}}}),l=G(t,s),c=o??a??d;return e.createElement("time",{...i,ref:u,dateTime:l,"aria-label":c},d)});_.displayName="HijriDate",Q.Relative=V,Q.Bangla=X,Q.Hijri=_,exports.Tarikh=Q;
package/dist/react.d.cts CHANGED
@@ -1,5 +1,4 @@
1
- import * as react from 'react';
2
- import { ComponentPropsWithoutRef } from 'react';
1
+ import { ComponentPropsWithoutRef, ForwardRefExoticComponent, RefAttributes } from 'react';
3
2
 
4
3
  type Locale = "en-BD" | "bn-BD";
5
4
  type MonthFormat = "short" | "long";
@@ -7,6 +6,8 @@ type YearFormat = "numeric" | "2-digit";
7
6
  type DayFormat = "numeric" | "2-digit";
8
7
  type WeekdayFormat = "short" | "long";
9
8
  type TimeFormat = "numeric" | "2-digit";
9
+ declare const HIJRI_TIME_ZONES: readonly ["Asia/Dhaka", "UTC"];
10
+ type HijriTimeZone = (typeof HIJRI_TIME_ZONES)[number];
10
11
  type DateInput = Date | string | number;
11
12
  interface DateFormatOptions {
12
13
  locale?: Locale;
@@ -44,9 +45,21 @@ interface BanglaDateProps extends Omit<ComponentPropsWithoutRef<"time">, "childr
44
45
  variant?: BanglaCalendarDaySpokenVariant;
45
46
  srLabel?: string;
46
47
  }
48
+ interface HijriDateProps extends Omit<ComponentPropsWithoutRef<"time">, "children"> {
49
+ value: DateInput;
50
+ locale?: Locale;
51
+ timeZone?: HijriTimeZone;
52
+ srLabel?: string;
53
+ }
47
54
 
48
- declare const Tarikh: react.ForwardRefExoticComponent<TarikhProps & react.RefAttributes<HTMLTimeElement>>;
49
- declare const RelativeTime: react.ForwardRefExoticComponent<RelativeTimeProps & react.RefAttributes<HTMLTimeElement>>;
50
- declare const BanglaDate: react.ForwardRefExoticComponent<BanglaDateProps & react.RefAttributes<HTMLTimeElement>>;
55
+ type TarikhCompoundComponent = ForwardRefExoticComponent<TarikhProps & RefAttributes<HTMLTimeElement>> & {
56
+ Relative: typeof RelativeTimeComponent;
57
+ Bangla: typeof BanglaDateComponent;
58
+ Hijri: typeof HijriDateComponent;
59
+ };
60
+ declare const Tarikh: TarikhCompoundComponent;
61
+ declare const RelativeTimeComponent: ForwardRefExoticComponent<RelativeTimeProps & RefAttributes<HTMLTimeElement>>;
62
+ declare const BanglaDateComponent: ForwardRefExoticComponent<BanglaDateProps & RefAttributes<HTMLTimeElement>>;
63
+ declare const HijriDateComponent: ForwardRefExoticComponent<HijriDateProps & RefAttributes<HTMLTimeElement>>;
51
64
 
52
- export { BanglaDate, type BanglaDateProps, RelativeTime, type RelativeTimeProps, Tarikh, type TarikhProps };
65
+ export { type BanglaDateProps, type HijriDateProps, type RelativeTimeProps, Tarikh, type TarikhProps };
package/dist/react.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import * as react from 'react';
2
- import { ComponentPropsWithoutRef } from 'react';
1
+ import { ComponentPropsWithoutRef, ForwardRefExoticComponent, RefAttributes } from 'react';
3
2
 
4
3
  type Locale = "en-BD" | "bn-BD";
5
4
  type MonthFormat = "short" | "long";
@@ -7,6 +6,8 @@ type YearFormat = "numeric" | "2-digit";
7
6
  type DayFormat = "numeric" | "2-digit";
8
7
  type WeekdayFormat = "short" | "long";
9
8
  type TimeFormat = "numeric" | "2-digit";
9
+ declare const HIJRI_TIME_ZONES: readonly ["Asia/Dhaka", "UTC"];
10
+ type HijriTimeZone = (typeof HIJRI_TIME_ZONES)[number];
10
11
  type DateInput = Date | string | number;
11
12
  interface DateFormatOptions {
12
13
  locale?: Locale;
@@ -44,9 +45,21 @@ interface BanglaDateProps extends Omit<ComponentPropsWithoutRef<"time">, "childr
44
45
  variant?: BanglaCalendarDaySpokenVariant;
45
46
  srLabel?: string;
46
47
  }
48
+ interface HijriDateProps extends Omit<ComponentPropsWithoutRef<"time">, "children"> {
49
+ value: DateInput;
50
+ locale?: Locale;
51
+ timeZone?: HijriTimeZone;
52
+ srLabel?: string;
53
+ }
47
54
 
48
- declare const Tarikh: react.ForwardRefExoticComponent<TarikhProps & react.RefAttributes<HTMLTimeElement>>;
49
- declare const RelativeTime: react.ForwardRefExoticComponent<RelativeTimeProps & react.RefAttributes<HTMLTimeElement>>;
50
- declare const BanglaDate: react.ForwardRefExoticComponent<BanglaDateProps & react.RefAttributes<HTMLTimeElement>>;
55
+ type TarikhCompoundComponent = ForwardRefExoticComponent<TarikhProps & RefAttributes<HTMLTimeElement>> & {
56
+ Relative: typeof RelativeTimeComponent;
57
+ Bangla: typeof BanglaDateComponent;
58
+ Hijri: typeof HijriDateComponent;
59
+ };
60
+ declare const Tarikh: TarikhCompoundComponent;
61
+ declare const RelativeTimeComponent: ForwardRefExoticComponent<RelativeTimeProps & RefAttributes<HTMLTimeElement>>;
62
+ declare const BanglaDateComponent: ForwardRefExoticComponent<BanglaDateProps & RefAttributes<HTMLTimeElement>>;
63
+ declare const HijriDateComponent: ForwardRefExoticComponent<HijriDateProps & RefAttributes<HTMLTimeElement>>;
51
64
 
52
- export { BanglaDate, type BanglaDateProps, RelativeTime, type RelativeTimeProps, Tarikh, type TarikhProps };
65
+ export { type BanglaDateProps, type HijriDateProps, type RelativeTimeProps, Tarikh, type TarikhProps };