| 1234567 |
- /**
- * @license BadiDate v3.0.2
- * (c) 2018 Jan Greis
- * licensed under MIT
- */
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("luxon")):"function"==typeof define&&define.amd?define(["exports","luxon"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).window=e.window||{},e.luxon)}(this,(function(e,t){"use strict";var a=Object.freeze({__proto__:null,month:{1:"Bahá",2:"Jalál",3:"Jamál",4:"‘Aẓamat",5:"Núr",6:"Raḥmat",7:"Kalimát",8:"Kamál",9:"Asmá’",10:"‘Izzat",11:"Ma_sh_íyyat",12:"‘Ilm",13:"Qudrat",14:"Qawl",15:"Masá’il",16:"_Sh_araf",17:"Sulṭán",18:"Mulk",19:"‘Alá’",20:"Ayyám-i-Há"},monthL:{1:"Splendour",2:"Glory",3:"Beauty",4:"Grandeur",5:"Light",6:"Mercy",7:"Words",8:"Perfection",9:"Names",10:"Might",11:"Will",12:"Knowledge",13:"Power",14:"Speech",15:"Questions",16:"Honour",17:"Sovereignty",18:"Dominion",19:"Loftiness",20:"Ayyám-i-Há"},holyDay:{1:"Naw-Rúz",2:"First day of Riḍván",3:"Ninth day of Riḍván",4:"Twelfth day of Riḍván",5:"Declaration of the Báb",6:"Ascension of Bahá’u’lláh",7:"Martyrdom of the Báb",8:"Birth of the Báb",9:"Birth of Bahá’u’lláh",10:"Day of the Covenant",11:"Ascension of ‘Abdu’l-Bahá"},weekday:{1:"Jalál",2:"Jamál",3:"Kamál",4:"Fiḍál",5:"‘Idál",6:"Istijlál",7:"Istiqlál"},weekdayAbbr3:{1:"Jal",2:"Jam",3:"Kam",4:"Fiḍ",5:"‘Idá",6:"Isj",7:"Isq"},weekdayAbbr2:{1:"Jl",2:"Jm",3:"Ka",4:"Fi",5:"‘Id",6:"Ij",7:"Iq"},weekdayL:{1:"Glory",2:"Beauty",3:"Perfection",4:"Grace",5:"Justice",6:"Majesty",7:"Independence"},yearInVahid:{1:"Alif",2:"Bá’",3:"Ab",4:"Dál",5:"Báb",6:"Váv",7:"Abad",8:"Jád",9:"Bahá",10:"Ḥubb",11:"Bahháj",12:"Javáb",13:"Aḥad",14:"Vahháb",15:"Vidád",16:"Badí‘",17:"Bahí",18:"Abhá",19:"Váḥid"},vahid:"Váḥid",kulliShay:"Kull-i-_Sh_ay’",BE:"B.E.",badiCalendar:"Badí‘ Calendar",unicodeCharForZero:"0",defaultFormat:"d MM+ y BE"});const r={en:a,default:a};let i="css";const n=[["DDL","DD+","MML","MM+","WWL","yyv","KiS"],["dd","DD","mm","MM","ww","WW","yv","YV","vv","kk","yy","BE","BC","Va"],["d","D","m","M","W","v","k","y"]],l=(e,t,a)=>{switch(t){case"d":return c(e.day,a);case"D":return d(h(a,"month",e.day),3);case"m":return c(e.month,a);case"M":return d(h(a,"month",e.month),3);case"W":return h(a,"weekdayAbbr3",(e.gregorianDate.weekday+1)%7+1);case"y":return c(e.year,a);case"v":return c(Math.floor((e.year-1)/19)%19+1,a);case"k":return c(Math.floor((e.year-1)/361)+1,a);case"dd":return c(("0"+String(e.day)).slice(-2),a);case"DD":return d(h(a,"month",e.day));case"mm":return c(("0"+String(e.month)).slice(-2),a);case"MM":return d(h(a,"month",e.month));case"ww":return h(a,"weekdayAbbr2",(e.gregorianDate.weekday+1)%7+1);case"WW":return h(a,"weekday",(e.gregorianDate.weekday+1)%7+1);case"yy":return c(("00"+String(e.year)).slice(-3),a);case"yv":return c((e.year-1)%19+1,a);case"YV":return h(a,"yearInVahid",(e.year-1)%19+1);case"vv":return c(("0"+String((Math.floor((e.year-1)/19)+2)%19-1)).slice(-2),a);case"kk":return c(("0"+String(Math.floor((e.year-1)/361)+1)).slice(-2),a);case"Va":return h(a,"vahid");case"BE":return h(a,"BE");case"BC":return h(a,"badiCalendar");case"DDL":return h(a,"monthL",e.day);case"DD+":{const t=d(h(a,"month",e.day)),i=h(a,"monthL",e.day);return t===i?t:r[a]===r.fa?`<span dir="rtl">${t} (${i})</span>`:`${t} (${i})`}case"MML":return h(a,"monthL",e.month);case"MM+":{const t=d(h(a,"month",e.month)),i=h(a,"monthL",e.month);return t===i?t:r[a]===r.fa?`<span dir="rtl">${t} (${i})</span>`:`${t} (${i})`}case"WWL":return h(a,"weekdayL",(e.gregorianDate.weekday+1)%7+1);case"yyv":return c(("0"+String((e.year-1)%19+1)).slice(-2),a);case"KiS":return d(h(a,"kulliShay"));default:return""}},d=(e,t)=>{if(t&&t<e.length){let a=0,r=0;for(;r<t;)"_’‘".includes(e[a])||r++,a++;"_’‘".includes(e[a])&&a++,(e=e.slice(0,a)).split("_").length%2==0&&(e+="_")}const a=e.split("_");for(let e=1;e<a.length;e+=2)a[e]=s(a[e]);return a.join("")},s=e=>{switch(i){case"css":return`<span style="text-decoration:underline">${e}</span>`;case"diacritic":return e.split("").map(e=>e+"̲").join("");case"u":return`<u>${e}</u>`;case"none":return e;default:throw new TypeError("Unexpected underlineFormat")}},c=(e,t)=>{e=String(e);const a=h(t,"unicodeCharForZero").charCodeAt(0)-"0".charCodeAt(0);if(0===a)return e;const r=[...e].map(e=>e.charCodeAt(0)+a);return String.fromCharCode(...r)},h=(e,t,a)=>{var i;if(void 0===a){for(;void 0===r[e][t];)e=o(e);return r[e][t]}for(;void 0===(null===(i=r[e][t])||void 0===i?void 0:i[a]);)e=o(e);return r[e][t][a]},o=e=>e.includes("-")?e.split("-")[0]:"default"!==e?"default":"en",y=["l4da","k4ci","k5c7","l4d6","l4ce","k4c4","k5d4","l4cb","l4c1","k4cj","k5c8","l4d7","l4cf","k4c5","k4d5","k5ce","l4c2","k4d2","k4ca","k5da","l4ch","k4c6","k4d6","k5cf","l4c4","k4d4","k4cc","k5c1","l4cj","k4c8","k4d8","k5cg","l4c5","k4d5","k4ce","k5c3","l4d2","k4ca","k4d9","k5ci","l4c6","k4d6","k4cf","k4c4","k5d4","k4cb","k4bj","k4cj","k5c9","k4d8","k4cg","k4c6","k5d6","k4cd","k4c2","k4d2","k5ca","k4d9","k4ci","k4c7","k5d7","k4cf","k4c4","k4d4","k5cc","k4bj","k4cj","k4c9","k5d9","k4cg","k4c6","k4d5","k5cd","k4c2","k4d1","k4ca","k4da","j5cj","k4c7","k4d7","k4cf","j5c4","k4d3","k4cb","k4c1","k5d1","l4c9","l4d9","l4ch","k5c6","l4d5","l4cd","l4c2","k5d2","l4ca","l4da","l4cj","k5c8","l4d7","l4cf","l4c4","k5d4","l4cb","l4c1","l4d1","k5c9","l4d8","l4cg","l4c5","k4d5","k5ce","l4c2","l4d2","k4cb","k5db","l4ci","l4c7","k4d7","k5cf","l4c4","l4d4","k4cc","k5c2","l4d1","l4c9","k4d9","k5ch","l4c5","l4d5","k4ce","k5c3","l4d2","l4cb","k4da","k5ci","l4c6","l4d6","k4cf","k5c5","l4d4","l4cc","k4c1","k4d1","k5c9","l4d8","k4cg","k4c6","k5d6","l4ce","k4c3","k4d3","k5cb","l4da","k4ci","k4c7","k5d7","l4cf","k4c5","k4d5","k5cd","l4c1","k4cj","k4c9","k5d9","l4cg","k4c6","k4d6","k5ce","l4c3","k4d2","k4ca","k5bj","l4ci","k4c7","k4d7","k4cg","k5c5","k4d4","k4cc","k4c1","k5d1","k4c9","k4d9","k4ch","k5c7","l4d6","l4ce","l4c3","l5d3","l4ca","l4da","l4cj","l5c8","l4d7","l4cg","l4c5","l5d4","l4cb","l4c1","l4d1","l5ca","l4d9","l4ch","l4c6","l5d6","l4cd","l4c2","l4d2","l4cb","k5c1","l4cj","l4c8","l4d8","k5cg","l4c4","l4d4","l4cc","k5c2","l4d1","l4ca","l4da","k5ci","l4c6","l4d5","l4ce","k5c3","l4d2","l4cb","l4db","k5cj","l4c8","l4d7","l4cf","k5c5","l4d4","l4cc","l4c2","k5d2","l4c9","l4d9","l4ch","k4c6","k5d6","l4ce","l4c3","k4d3","k5cc","l4db","l4cj","k4c8","k5d8","l4cf","l4c4","k4d5","k5cd","l4c2","l4d2","k4ca","k5d9","l4cg","l4c6","k4d6","k5cf","l4c3","l4d3","k4cb","k5bj","l4ci","l4c7","k4d7","k5cg","l4c5","l4d5","k4cd","k4c2","k5d2","l4c9","k4d9","k4ch","k5c7","l4d6","k4cf","k4c4","k5d4","l4cb","l4bj","l4cj","l5c8","m4d7","l4cg","l4c5","l5d5","m4cc","l4c1","l4d1","l5ca","m4d9","l4ch","l4c7","l5d7","m4ce","l4c3","l4d3","l5cb","m4bi","l4ci","l4c8","l4d8","l5ch","l4c5","l4d5","l4cd","l5c2","l4d1","l4c9","l4da","l5ci","l4c7","l4d7","l4cf","l5c4","l4d2","l4cb","l4bj","l5d1","l4c8","l4d8","l4cg","l5c5","l4d4","l4cc","l4c2","l5d2","l4c9","l4da","l4ci"];class k{constructor(e){this._holyDay=void 0,this._valid=!0,this._invalidReason=void 0;try{if(this._isDateObject(e))this._gregorianDate=t.DateTime.fromObject({year:e.getFullYear(),month:e.getMonth()+1,day:e.getDate(),zone:"UTC"});else if(t.DateTime.isDateTime(e))this._gregorianDate=t.DateTime.fromObject({year:e.year,month:e.month,day:e.day,zone:"UTC"});else{if(!this._isYearMonthDay(e)&&!this._isYearHolyDayNumber(e))throw new TypeError("Unrecognized input format");this._setFromBadiDate(e)}void 0===this._year&&this._setFromGregorianDate(),this._setHolyDay()}catch(e){this._setInvalid(e)}Object.freeze(this)}format(e,t){return((e,t,a)=>{if(!e.isValid)return"Not a valid Badí‘ date";"string"==typeof a&&void 0===r[a]&&a.includes("-")&&(a=a.split("-")[0]),void 0!==a&&void 0!==r[a]||(a="default");let i="";const d=(t=null!=t?t:h(a,"defaultFormat")).length;for(let r=0;r<d;r++)if("{"===t[r]&&r<d-1)for(let e=r+1;e<=d;e++){if(e===d)return"Invalid formatting string.";if("}"===t[e]){r=e;break}i+=t[e]}else{const d=t[r],s=d+t[r+1],c=s+t[r+2];n[0].includes(c)?(i+=l(e,c,a),r+=2):n[1].includes(s)?(i+=l(e,s,a),r+=1):n[2].includes(d)?i+=l(e,d,a):i+=d}return i})(this,e,t)}_isDateObject(e){return"[object Date]"===Object.prototype.toString.call(e)}_isYearMonthDay(e){return"number"==typeof e.year&&"number"==typeof e.month&&"number"==typeof e.day}_isYearHolyDayNumber(e){return"number"==typeof e.year&&void 0===e.month&&void 0===e.day&&"number"==typeof e.holyDayNumber}_notInValidGregorianDateRange(e){const a=t.DateTime.fromObject({year:1844,month:3,day:21,zone:"UTC"}),r=t.DateTime.fromObject({year:2351,month:3,day:20,zone:"UTC"});return e<a||e>r}_setFromGregorianDate(){if(this._notInValidGregorianDateRange(this._gregorianDate))throw new RangeError("Input date outside of valid range (1844-03-21 - 2351-03-20)");const e=this._gregorianDate.year,a=t.DateTime.fromObject({year:2015,month:3,day:21,zone:"UTC"});if(this._gregorianDate<a){const{month:a,day:r}=this._gregorianDate;a<3||3===a&&r<21?(this._nawRuz=t.DateTime.fromObject({year:e-1,month:3,day:21,zone:"UTC"}),this._year=e-1844):(this._nawRuz=t.DateTime.fromObject({year:e,month:3,day:21,zone:"UTC"}),this._year=e-1843),this._setOldAyyamiHaLength(),this._yearTwinBirthdays=[12,5,13,9]}else this._year=e-1843,this._setBadiYearInfo(!0);this._setBadiMonthAndDay()}_setBadiMonthAndDay(){const e=this._dayOfYear(this._gregorianDate);e<343?(this._month=Math.floor((e-1)/19+1),this._day=(e-1)%19+1):e<343+this._ayyamiHaLength?(this._month=20,this._day=e-342):(this._month=19,this._day=e-(342+this._ayyamiHaLength))}_setFromBadiDate(e){if(this._year=e.year,this._year<1||this._year>507)throw new RangeError("Input date outside of valid range (1 - 507 B.E.)");if(this._year<172?(this._nawRuz=t.DateTime.fromObject({year:1843+this._year,month:3,day:21,zone:"UTC"}),this._setOldAyyamiHaLength(),this._yearTwinBirthdays=[12,5,13,9]):this._setBadiYearInfo(),this._isYearMonthDay(e)){if(this._month=e.month,this._day=e.day,20===this._month&&this._day>this._ayyamiHaLength){if(this._day-this._ayyamiHaLength!=1)throw new TypeError("Input numbers do not designate a valid date");this._month=19,this._day=1}if(this._month<1||this._month>20||this._day<1||this.day>19)throw new TypeError("Input numbers do not designate a valid date")}else{if(e.holyDayNumber<1||e.holyDayNumber>11)throw new TypeError("Input numbers do not designate a valid Holy Day");this._holyDay=e.holyDayNumber,[this._month,this._day]=this._holyDayMapping()[this._holyDay]}this._gregorianDate=this._nawRuz.plus(t.Duration.fromObject({days:this._dayOfYear([this._year,this._month,this._day])-1}))}_setOldAyyamiHaLength(){t.DateTime.fromObject({year:this._nawRuz.year+1}).isInLeapYear?this._ayyamiHaLength=5:this._ayyamiHaLength=4}_setBadiYearInfo(e=!1){let t=this._extractBadiYearInfo();e&&this._gregorianDate<t.nawRuz&&(this._year-=1,t=this._extractBadiYearInfo()),this._nawRuz=t.nawRuz,this._ayyamiHaLength=t.ayyamiHaLength,this._yearTwinBirthdays=t.twinBirthdays}_extractBadiYearInfo(){let e,a,r;if("l4da"===y[0]){const i=y[this._year-172].split("");e=t.DateTime.fromObject({year:this._year-172+2015,month:3,day:parseInt(i[0],36),zone:"UTC"}),a=parseInt(i[1],36);const n=[parseInt(i[2],36),parseInt(i[3],36)],l=n[1]<19?[n[0],n[1]+1]:[n[0]+1,1];r=[n[0],n[1],l[0],l[1]]}else({nawRuz:e,ayyamiHaLength:a,twinBirthdays:r}=y[this._year]),e=t.DateTime.fromISO(e,{zone:"UTC"});return{nawRuz:e,ayyamiHaLength:a,twinBirthdays:r}}_dayOfYear(e){return Array.isArray(e)?e[1]<19?19*(e[1]-1)+e[2]:20===e[1]?342+e[2]:342+this._ayyamiHaLength+e[2]:e.diff(this._nawRuz).as("days")+1}_setInvalid(e){this._gregorianDate=t.DateTime.invalid("Not a valid Badí‘ date"),this._year=NaN,this._month=NaN,this._day=NaN,this._ayyamiHaLength=NaN,this._nawRuz=t.DateTime.invalid("Not a valid Badí‘ date"),this._valid=!1,this._invalidReason=e}_setHolyDay(){const e=this._holyDayMapping();this._holyDay=parseInt(Object.keys(e).find(t=>e[t][0]===this._month&&e[t][1]===this._day),10)}_holyDayMapping(){return{1:[1,1],2:[2,13],3:[3,2],4:[3,5],5:[4,this._year<172?7:8],6:[4,13],7:[6,this._year<172?16:17],8:[this._yearTwinBirthdays[0],this._yearTwinBirthdays[1]],9:[this._yearTwinBirthdays[2],this._yearTwinBirthdays[3]],10:[14,4],11:[14,6]}}_leapYearsBefore(){let e=Math.floor(Math.min(this.year-1,171)/4);return this.year>172&&("l4da"===y[0]?e+=y.slice(0,this.year-172).filter(e=>"5"===e[1]).length:e+=Object.entries(y).filter(([e,t])=>parseInt(e,10)<this.year&&5===t.ayyamiHaLength).length),e}holyDay(e){return this._holyDay?(void 0!==e&&void 0!==r[e]||(e="default"),h(e,"holyDay",this._holyDay)):""}valueOf(){return this._dayOfYear([this.year,this.month,this.day])+this._leapYearsBefore()+365*(this.year-1)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()}get isValid(){return this._valid}get invalidReason(){return this._invalidReason}get day(){return this._day}get month(){return this._month}get year(){return this._year}get weekday(){return(this._gregorianDate.weekday+1)%7+1}get yearInVahid(){return(this._year-1)%19+1}get vahid(){return Math.floor((this._year-1)/19)%19+1}get kullIShay(){return Math.floor((this._year-1)/361)+1}get gregorianDate(){return this._gregorianDate}get ayyamiHaLength(){return this._ayyamiHaLength}get holyDayNumber(){return this._holyDay?this._holyDay:void 0}get workSuspended(){return this._holyDay?this.holyDayNumber<10:void 0}get nextMonth(){let{year:e,month:t}=this;switch(t){case 18:t=20;break;case 19:t=1,e+=1;break;case 20:t=19;break;default:t+=1}return new k({year:e,month:t,day:1})}get previousMonth(){let{year:e,month:t}=this;switch(t){case 1:t=19,e-=1;break;case 19:t=20;break;case 20:t=18;break;default:t-=1}return new k({year:e,month:t,day:1})}get nextDay(){return 19===this._day||20===this._month&&this._day===this._ayyamiHaLength?this.nextMonth:new k({year:this._year,month:this._month,day:this._day+1})}get previousDay(){if(1===this._day){const{previousMonth:e}=this;let t=19;return 19===this._month&&(t=this._ayyamiHaLength),new k({year:e.year,month:e.month,day:t})}return new k({year:this._year,month:this._month,day:this._day-1})}}e.BadiDate=k,e.badiDateSettings=e=>{var t,a;e.defaultLanguage&&(t=e.defaultLanguage,void 0===r[t]?console.log("Chosen language does not exist. Setting has not been changed."):r.default=r[t]),e.underlineFormat&&(a=e.underlineFormat,["css","u","diacritic","none"].includes(a)?i=a:console.log('Invalid underline format. Choose one of ["css", "u", "diacritic", "none"]. Setting has not been changed.'))},Object.defineProperty(e,"__esModule",{value:!0})}));
- //# sourceMappingURL=badiDate.min.js.map
|