@samline/date 2.1.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../node_modules/dayjs/dayjs.min.js","../../node_modules/dayjs/locale/de.js","../../node_modules/dayjs/locale/es-mx.js","../../node_modules/dayjs/locale/es.js","../../node_modules/dayjs/locale/fr.js","../../node_modules/dayjs/locale/it.js","../../node_modules/dayjs/locale/ja.js","../../node_modules/dayjs/locale/pt-br.js","../../node_modules/dayjs/locale/pt.js","../../node_modules/dayjs/plugin/customParseFormat.js","../../src/browser/preload-locales.ts","../../src/core/locales.ts","../../src/core/date.ts","../../src/browser/global.ts","../../src/browser/cdn.ts"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_de=n(e.dayjs)}(this,(function(e){\"use strict\";function n(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var t=n(e),a={s:\"ein paar Sekunden\",m:[\"eine Minute\",\"einer Minute\"],mm:\"%d Minuten\",h:[\"eine Stunde\",\"einer Stunde\"],hh:\"%d Stunden\",d:[\"ein Tag\",\"einem Tag\"],dd:[\"%d Tage\",\"%d Tagen\"],M:[\"ein Monat\",\"einem Monat\"],MM:[\"%d Monate\",\"%d Monaten\"],y:[\"ein Jahr\",\"einem Jahr\"],yy:[\"%d Jahre\",\"%d Jahren\"]};function i(e,n,t){var i=a[t];return Array.isArray(i)&&(i=i[n?0:1]),i.replace(\"%d\",e)}var r={name:\"de\",weekdays:\"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag\".split(\"_\"),weekdaysShort:\"So._Mo._Di._Mi._Do._Fr._Sa.\".split(\"_\"),weekdaysMin:\"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),months:\"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.\".split(\"_\"),ordinal:function(e){return e+\".\"},weekStart:1,yearStart:4,formats:{LTS:\"HH:mm:ss\",LT:\"HH:mm\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY HH:mm\",LLLL:\"dddd, D. MMMM YYYY HH:mm\"},relativeTime:{future:\"in %s\",past:\"vor %s\",s:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i}};return t.default.locale(r,null,!0),r}));","!function(e,o){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=o(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],o):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_es_mx=o(e.dayjs)}(this,(function(e){\"use strict\";function o(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var s=o(e),d={name:\"es-mx\",weekdays:\"domingo_lunes_martes_miércoles_jueves_viernes_sábado\".split(\"_\"),weekdaysShort:\"dom._lun._mar._mié._jue._vie._sáb.\".split(\"_\"),weekdaysMin:\"do_lu_ma_mi_ju_vi_sá\".split(\"_\"),months:\"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre\".split(\"_\"),monthsShort:\"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic\".split(\"_\"),relativeTime:{future:\"en %s\",past:\"hace %s\",s:\"unos segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"una hora\",hh:\"%d horas\",d:\"un día\",dd:\"%d días\",M:\"un mes\",MM:\"%d meses\",y:\"un año\",yy:\"%d años\"},ordinal:function(e){return e+\"º\"},formats:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY H:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY H:mm\"}};return s.default.locale(d,null,!0),d}));","!function(e,o){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=o(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],o):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_es=o(e.dayjs)}(this,(function(e){\"use strict\";function o(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var s=o(e),d={name:\"es\",monthsShort:\"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic\".split(\"_\"),weekdays:\"domingo_lunes_martes_miércoles_jueves_viernes_sábado\".split(\"_\"),weekdaysShort:\"dom._lun._mar._mié._jue._vie._sáb.\".split(\"_\"),weekdaysMin:\"do_lu_ma_mi_ju_vi_sá\".split(\"_\"),months:\"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre\".split(\"_\"),weekStart:1,formats:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY H:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY H:mm\"},relativeTime:{future:\"en %s\",past:\"hace %s\",s:\"unos segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"una hora\",hh:\"%d horas\",d:\"un día\",dd:\"%d días\",M:\"un mes\",MM:\"%d meses\",y:\"un año\",yy:\"%d años\"},ordinal:function(e){return e+\"º\"}};return s.default.locale(d,null,!0),d}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_fr=n(e.dayjs)}(this,(function(e){\"use strict\";function n(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var t=n(e),i={name:\"fr\",weekdays:\"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),weekdaysShort:\"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),weekdaysMin:\"di_lu_ma_me_je_ve_sa\".split(\"_\"),months:\"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre\".split(\"_\"),monthsShort:\"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.\".split(\"_\"),weekStart:1,yearStart:4,formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},relativeTime:{future:\"dans %s\",past:\"il y a %s\",s:\"quelques secondes\",m:\"une minute\",mm:\"%d minutes\",h:\"une heure\",hh:\"%d heures\",d:\"un jour\",dd:\"%d jours\",M:\"un mois\",MM:\"%d mois\",y:\"un an\",yy:\"%d ans\"},ordinal:function(e){return\"\"+e+(1===e?\"er\":\"\")}};return t.default.locale(i,null,!0),i}));","!function(e,o){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=o(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],o):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_it=o(e.dayjs)}(this,(function(e){\"use strict\";function o(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var t=o(e),n={name:\"it\",weekdays:\"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato\".split(\"_\"),weekdaysShort:\"dom_lun_mar_mer_gio_ven_sab\".split(\"_\"),weekdaysMin:\"do_lu_ma_me_gi_ve_sa\".split(\"_\"),months:\"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre\".split(\"_\"),weekStart:1,monthsShort:\"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic\".split(\"_\"),formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},relativeTime:{future:\"tra %s\",past:\"%s fa\",s:\"qualche secondo\",m:\"un minuto\",mm:\"%d minuti\",h:\"un'ora\",hh:\"%d ore\",d:\"un giorno\",dd:\"%d giorni\",M:\"un mese\",MM:\"%d mesi\",y:\"un anno\",yy:\"%d anni\"},ordinal:function(e){return e+\"º\"}};return t.default.locale(n,null,!0),n}));","!function(e,_){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=_(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],_):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_ja=_(e.dayjs)}(this,(function(e){\"use strict\";function _(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var t=_(e),d={name:\"ja\",weekdays:\"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日\".split(\"_\"),weekdaysShort:\"日_月_火_水_木_金_土\".split(\"_\"),weekdaysMin:\"日_月_火_水_木_金_土\".split(\"_\"),months:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),ordinal:function(e){return e+\"日\"},formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日 HH:mm\",LLLL:\"YYYY年M月D日 dddd HH:mm\",l:\"YYYY/MM/DD\",ll:\"YYYY年M月D日\",lll:\"YYYY年M月D日 HH:mm\",llll:\"YYYY年M月D日(ddd) HH:mm\"},meridiem:function(e){return e<12?\"午前\":\"午後\"},relativeTime:{future:\"%s後\",past:\"%s前\",s:\"数秒\",m:\"1分\",mm:\"%d分\",h:\"1時間\",hh:\"%d時間\",d:\"1日\",dd:\"%d日\",M:\"1ヶ月\",MM:\"%dヶ月\",y:\"1年\",yy:\"%d年\"}};return t.default.locale(d,null,!0),d}));","!function(e,o){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=o(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],o):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_pt_br=o(e.dayjs)}(this,(function(e){\"use strict\";function o(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var a=o(e),s={name:\"pt-br\",weekdays:\"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado\".split(\"_\"),weekdaysShort:\"dom_seg_ter_qua_qui_sex_sáb\".split(\"_\"),weekdaysMin:\"Do_2ª_3ª_4ª_5ª_6ª_Sá\".split(\"_\"),months:\"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro\".split(\"_\"),monthsShort:\"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez\".split(\"_\"),ordinal:function(e){return e+\"º\"},formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY [às] HH:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY [às] HH:mm\"},relativeTime:{future:\"em %s\",past:\"há %s\",s:\"poucos segundos\",m:\"um minuto\",mm:\"%d minutos\",h:\"uma hora\",hh:\"%d horas\",d:\"um dia\",dd:\"%d dias\",M:\"um mês\",MM:\"%d meses\",y:\"um ano\",yy:\"%d anos\"}};return a.default.locale(s,null,!0),s}));","!function(e,a){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=a(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],a):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_pt=a(e.dayjs)}(this,(function(e){\"use strict\";function a(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var o=a(e),t={name:\"pt\",weekdays:\"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado\".split(\"_\"),weekdaysShort:\"dom_seg_ter_qua_qui_sex_sab\".split(\"_\"),weekdaysMin:\"Do_2ª_3ª_4ª_5ª_6ª_Sa\".split(\"_\"),months:\"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro\".split(\"_\"),monthsShort:\"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez\".split(\"_\"),ordinal:function(e){return e+\"º\"},weekStart:1,yearStart:4,formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY [às] HH:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY [às] HH:mm\"},relativeTime:{future:\"em %s\",past:\"há %s\",s:\"alguns segundos\",m:\"um minuto\",mm:\"%d minutos\",h:\"uma hora\",hh:\"%d horas\",d:\"um dia\",dd:\"%d dias\",M:\"um mês\",MM:\"%d meses\",y:\"um ano\",yy:\"%d anos\"}};return o.default.locale(t,null,!0),t}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d/,r=/\\d\\d/,i=/\\d\\d?/,o=/\\d*[^-_:/,()\\s\\d]+/,s={},a=function(e){return(e=+e)+(e>68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[i,f(\"seconds\")],ss:[i,f(\"seconds\")],m:[i,f(\"minutes\")],mm:[i,f(\"minutes\")],H:[i,f(\"hours\")],h:[i,f(\"hours\")],HH:[i,f(\"hours\")],hh:[i,f(\"hours\")],D:[i,f(\"day\")],DD:[r,f(\"day\")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],w:[i,f(\"week\")],ww:[r,f(\"week\")],M:[i,f(\"month\")],MM:[r,f(\"month\")],MMM:[o,function(e){var t=u(\"months\"),n=(u(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,f(\"year\")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\\d{4}/,f(\"year\")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f<a;f+=1){var h=o[f],u=c[h],d=u&&u[0],l=u&&u[1];o[f]=l?{regex:d,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=o[n];if(\"string\"==typeof i)r+=i.length;else{var s=i.regex,f=i.parser,h=e.slice(r),u=s.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(a=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,o=e.args;this.$u=r;var a=o[1];if(\"string\"==typeof a){var f=!0===o[2],h=!0===o[3],u=f||h,d=o[2];h&&(d=o[2]),s=this.$locale(),!f&&d&&(s=n.Ls[d]),this.$d=function(e,t,n,r){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date(\"\")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","import 'dayjs/locale/de.js'\nimport 'dayjs/locale/es-mx.js'\nimport 'dayjs/locale/es.js'\nimport 'dayjs/locale/fr.js'\nimport 'dayjs/locale/it.js'\nimport 'dayjs/locale/ja.js'\nimport 'dayjs/locale/pt-br.js'\nimport 'dayjs/locale/pt.js'\n\nimport { markLocaleAsLoaded } from '../core/locales.js'\n\nmarkLocaleAsLoaded('de')\nmarkLocaleAsLoaded('es')\nmarkLocaleAsLoaded('es-mx')\nmarkLocaleAsLoaded('fr')\nmarkLocaleAsLoaded('it')\nmarkLocaleAsLoaded('ja')\nmarkLocaleAsLoaded('pt')\nmarkLocaleAsLoaded('pt-br')\n\nexport const browserLocalesReady = true","export const SUPPORTED_LOCALES = [\n 'en',\n 'es',\n 'es-mx',\n 'fr',\n 'pt',\n 'pt-br',\n 'de',\n 'it',\n 'ja'\n] as const\n\nexport type SupportedLocale = (typeof SUPPORTED_LOCALES)[number]\nexport type LocaleInput = string\n\nconst loadedLocales = new Set<SupportedLocale>(['en'])\n\nconst localeLoaders: Record<SupportedLocale, (() => Promise<unknown>) | null> = {\n en: null,\n es: () => import('dayjs/locale/es.js'),\n 'es-mx': () => import('dayjs/locale/es-mx.js'),\n fr: () => import('dayjs/locale/fr.js'),\n pt: () => import('dayjs/locale/pt.js'),\n 'pt-br': () => import('dayjs/locale/pt-br.js'),\n de: () => import('dayjs/locale/de.js'),\n it: () => import('dayjs/locale/it.js'),\n ja: () => import('dayjs/locale/ja.js')\n}\n\nconst normalizeLocale = (locale: string): string => {\n return locale.trim().toLowerCase().replace(/_/g, '-')\n}\n\nconst asSupportedLocale = (locale: string): SupportedLocale | null => {\n if (!SUPPORTED_LOCALES.includes(locale as SupportedLocale)) {\n return null\n }\n\n return locale as SupportedLocale\n}\n\nexport const isSupportedLocale = (locale: string): boolean => {\n return resolveLocale(locale) !== null\n}\n\nexport const resolveLocale = (locale: LocaleInput): SupportedLocale | null => {\n const normalizedLocale = normalizeLocale(locale)\n const exactLocale = asSupportedLocale(normalizedLocale)\n\n if (exactLocale) {\n return exactLocale\n }\n\n const [baseLocale] = normalizedLocale.split('-')\n\n if (!baseLocale) {\n return null\n }\n\n return asSupportedLocale(baseLocale)\n}\n\nexport const markLocaleAsLoaded = (locale: SupportedLocale): void => {\n loadedLocales.add(locale)\n}\n\nexport const isLocaleLoaded = (locale: SupportedLocale): boolean => {\n return loadedLocales.has(locale)\n}\n\nexport const ensureLocaleLoaded = async (locale: SupportedLocale): Promise<void> => {\n if (loadedLocales.has(locale)) {\n return\n }\n\n const load = localeLoaders[locale]\n\n if (!load) {\n loadedLocales.add(locale)\n return\n }\n\n await load()\n loadedLocales.add(locale)\n}\n","import customParseFormat from 'dayjs/plugin/customParseFormat.js'\nimport dayjs from 'dayjs'\nimport type { Dayjs } from 'dayjs'\n\nimport {\n ensureLocaleLoaded,\n isLocaleLoaded,\n resolveLocale,\n SUPPORTED_LOCALES,\n type LocaleInput,\n type SupportedLocale\n} from './locales.js'\n\ndayjs.extend(customParseFormat)\ndayjs.locale('en')\n\nexport type DateValue = string | number | Date\n\ntype DateInputOptions = {\n input?: string | readonly string[]\n locale?: LocaleInput\n strict?: boolean\n}\n\nexport type DateParsingOptions = DateInputOptions & {\n date: DateValue\n}\n\nexport type GetDateOptions = DateInputOptions & {\n date?: DateValue\n output?: string\n invalid?: string\n}\n\nexport type CreateDateChainOptions = DateInputOptions & {\n date?: DateValue\n invalid?: string\n}\n\nexport type DateFormatterConfig = {\n locale?: LocaleInput\n strict?: boolean\n invalid?: string\n}\n\nexport type DateChainManipulateUnit =\n | 'millisecond'\n | 'second'\n | 'minute'\n | 'hour'\n | 'day'\n | 'week'\n | 'month'\n | 'year'\n\nexport type DateChainBoundaryUnit =\n | 'year'\n | 'month'\n | 'week'\n | 'day'\n | 'hour'\n | 'minute'\n | 'second'\n\nexport type DateChainCompareUnit = DateChainBoundaryUnit | 'millisecond'\n\nexport type DateChainSetUnit =\n | 'year'\n | 'month'\n | 'day'\n | 'hour'\n | 'minute'\n | 'second'\n | 'millisecond'\n\ntype ResolvedDateFormatterConfig = {\n locale: SupportedLocale\n strict: boolean\n invalid: string\n}\n\nexport type DateChainSuccessState = {\n isValid: true\n locale: SupportedLocale\n date: Date\n iso: string\n timestamp: number\n}\n\nexport type DateChainFailureState = {\n isValid: false\n locale: SupportedLocale\n date: null\n iso: null\n timestamp: null\n error: string\n}\n\nexport type DateChainState = DateChainSuccessState | DateChainFailureState\n\nexport type DateChain = {\n ready: Promise<void>\n add: (value: number, unit: DateChainManipulateUnit) => DateChain\n subtract: (value: number, unit: DateChainManipulateUnit) => DateChain\n set: (unit: DateChainSetUnit, value: number) => DateChain\n startOf: (unit: DateChainBoundaryUnit) => DateChain\n endOf: (unit: DateChainBoundaryUnit) => DateChain\n format: (output?: string) => string\n toDate: () => Date | null\n toISOString: () => string | null\n toTimestamp: () => number | null\n isValid: () => boolean\n isBefore: (other: DateChainComparable, unit?: DateChainCompareUnit) => boolean\n isAfter: (other: DateChainComparable, unit?: DateChainCompareUnit) => boolean\n isSame: (other: DateChainComparable, unit?: DateChainCompareUnit) => boolean\n toState: () => DateChainState\n}\n\nexport type DateChainComparable = DateValue | DateChain\n\nexport type DateFormatter = {\n getDate: (props?: GetDateOptions) => string\n parseDate: (props: DateParsingOptions) => ParseDateResult\n isValidDate: (props: DateParsingOptions) => boolean\n createDateChain: (props?: CreateDateChainOptions) => DateChain\n getSupportedLocales: () => readonly SupportedLocale[]\n getCurrentLocale: () => SupportedLocale\n setLocale: (locale: LocaleInput) => Promise<void>\n ready: Promise<void>\n}\n\nexport type ParseDateSuccess = {\n isValid: true\n locale: SupportedLocale\n date: Date\n iso: string\n timestamp: number\n format: (output?: string) => string\n}\n\nexport type ParseDateFailure = {\n isValid: false\n locale: SupportedLocale\n date: null\n iso: null\n timestamp: null\n error: string\n}\n\nexport type ParseDateResult = ParseDateSuccess | ParseDateFailure\n\ntype InternalDateChainState = {\n locale: SupportedLocale\n invalid: string\n current: Dayjs | null\n ready: boolean\n error: string | null\n}\n\nconst DEFAULT_FORMAT = 'YYYY-MM-DD'\nconst DEFAULT_LOCALE: SupportedLocale = 'en'\nconst DEFAULT_INVALID_DATE = 'Invalid Date'\nconst DEFAULT_STRICT = true\n\nconst createResolvedConfig = (\n locale: SupportedLocale,\n config?: DateFormatterConfig\n): ResolvedDateFormatterConfig => ({\n locale,\n strict: config?.strict ?? DEFAULT_STRICT,\n invalid: config?.invalid ?? DEFAULT_INVALID_DATE\n})\n\nconst getInvalidDateText = <T>(config?: DateFormatterConfig, props?: T): string => {\n if (typeof props === 'object' && props !== null && 'invalid' in props) {\n const invalid = (props as { invalid?: string }).invalid\n\n if (invalid !== undefined) {\n return invalid\n }\n }\n\n return config?.invalid ?? DEFAULT_INVALID_DATE\n}\n\nconst getTargetLocale = <T extends { locale?: LocaleInput }>(\n currentLocale: SupportedLocale,\n props?: T\n): SupportedLocale => {\n if (!props?.locale) {\n return currentLocale\n }\n\n return resolveLocaleOrThrow(props.locale)\n}\n\nconst getHelperLocale = <T extends { locale?: LocaleInput }>(\n config?: DateFormatterConfig,\n props?: T\n): SupportedLocale => {\n if (props?.locale) {\n return resolveLocaleOrThrow(props.locale)\n }\n\n if (config?.locale) {\n return resolveLocaleOrThrow(config.locale)\n }\n\n return DEFAULT_LOCALE\n}\n\nconst parseDateValue = (\n value: DateValue,\n input: DateParsingOptions['input'],\n locale: SupportedLocale,\n strict: boolean\n): Dayjs => {\n if (!input) {\n return dayjs(value).locale(locale)\n }\n\n if (typeof input === 'string') {\n return dayjs(value, input, locale, strict).locale(locale)\n }\n\n return dayjs(value, [...input], locale, strict).locale(locale)\n}\n\nconst getCurrentDayjs = (locale: SupportedLocale): Dayjs => {\n return dayjs().locale(locale)\n}\n\nconst createParseSuccess = (parsed: Dayjs, locale: SupportedLocale): ParseDateSuccess => {\n return {\n isValid: true,\n locale,\n date: parsed.toDate(),\n iso: parsed.toISOString(),\n timestamp: parsed.valueOf(),\n format: (output = DEFAULT_FORMAT) => parsed.format(output)\n }\n}\n\nconst createParseFailure = (locale: SupportedLocale, error: string): ParseDateFailure => {\n return {\n isValid: false,\n locale,\n date: null,\n iso: null,\n timestamp: null,\n error\n }\n}\n\nconst createDateChainSuccessState = (parsed: Dayjs, locale: SupportedLocale): DateChainSuccessState => {\n return {\n isValid: true,\n locale,\n date: parsed.toDate(),\n iso: parsed.toISOString(),\n timestamp: parsed.valueOf()\n }\n}\n\nconst createDateChainFailureState = (locale: SupportedLocale, error: string): DateChainFailureState => {\n return {\n isValid: false,\n locale,\n date: null,\n iso: null,\n timestamp: null,\n error\n }\n}\n\nconst mapChainSetUnit = (unit: DateChainSetUnit): 'year' | 'month' | 'date' | 'hour' | 'minute' | 'second' | 'millisecond' => {\n if (unit === 'day') {\n return 'date'\n }\n\n return unit\n}\n\nconst createReadyError = (): Error => {\n return new Error('Date chain is not ready. Await chain.ready before using it with locales that may need to load.')\n}\n\nconst assertDateChainReady = (state: InternalDateChainState): void => {\n if (!state.ready) {\n throw createReadyError()\n }\n}\n\nconst getComparableDayjs = (value: DateChainComparable): Dayjs | null => {\n if (typeof value === 'object' && value !== null && 'toState' in value) {\n const state = value.toState()\n\n if (!state.isValid) {\n return null\n }\n\n return dayjs(state.date)\n }\n\n const comparable = dayjs(value)\n\n if (!comparable.isValid()) {\n return null\n }\n\n return comparable\n}\n\nconst createDateChainApi = (state: InternalDateChainState, ready: Promise<void>): DateChain => {\n const applyMutation = (transform: (current: Dayjs) => Dayjs): DateChain => {\n assertDateChainReady(state)\n\n if (state.current) {\n state.current = transform(state.current)\n }\n\n return chain\n }\n\n const compare = (\n other: DateChainComparable,\n comparator: (current: Dayjs, comparable: Dayjs) => boolean\n ): boolean => {\n assertDateChainReady(state)\n\n if (!state.current) {\n return false\n }\n\n const comparable = getComparableDayjs(other)\n\n if (!comparable) {\n return false\n }\n\n return comparator(state.current, comparable)\n }\n\n const chain: DateChain = {\n ready,\n add: (value, unit) => applyMutation((current) => current.add(value, unit)),\n subtract: (value, unit) => applyMutation((current) => current.subtract(value, unit)),\n set: (unit, value) => applyMutation((current) => current.set(mapChainSetUnit(unit), value)),\n startOf: (unit) => applyMutation((current) => current.startOf(unit)),\n endOf: (unit) => applyMutation((current) => current.endOf(unit)),\n format: (output = DEFAULT_FORMAT) => {\n assertDateChainReady(state)\n\n if (!state.current) {\n return state.invalid\n }\n\n return state.current.format(output)\n },\n toDate: () => {\n assertDateChainReady(state)\n\n return state.current ? state.current.toDate() : null\n },\n toISOString: () => {\n assertDateChainReady(state)\n\n return state.current ? state.current.toISOString() : null\n },\n toTimestamp: () => {\n assertDateChainReady(state)\n\n return state.current ? state.current.valueOf() : null\n },\n isValid: () => {\n assertDateChainReady(state)\n\n return state.current !== null\n },\n isBefore: (other, unit) => compare(other, (current, comparable) => current.isBefore(comparable, unit)),\n isAfter: (other, unit) => compare(other, (current, comparable) => current.isAfter(comparable, unit)),\n isSame: (other, unit) => compare(other, (current, comparable) => current.isSame(comparable, unit)),\n toState: () => {\n assertDateChainReady(state)\n\n if (!state.current) {\n return createDateChainFailureState(state.locale, state.error ?? state.invalid)\n }\n\n return createDateChainSuccessState(state.current, state.locale)\n }\n }\n\n return chain\n}\n\nconst createDateChainState = (\n locale: SupportedLocale,\n invalid: string,\n getInitialDate: () => Dayjs\n): { state: InternalDateChainState; ready: Promise<void> } => {\n const state: InternalDateChainState = {\n locale,\n invalid,\n current: null,\n ready: false,\n error: invalid\n }\n\n const initialize = () => {\n const parsed = getInitialDate()\n\n state.ready = true\n\n if (!parsed.isValid()) {\n state.current = null\n state.error = invalid\n return\n }\n\n state.current = parsed\n state.error = null\n }\n\n if (isLocaleLoaded(locale)) {\n initialize()\n\n return {\n state,\n ready: Promise.resolve()\n }\n }\n\n return {\n state,\n ready: ensureLocaleLoaded(locale).then(() => {\n initialize()\n })\n }\n}\n\nconst createDateChainFromResolvedConfig = (\n props: CreateDateChainOptions | undefined,\n config: ResolvedDateFormatterConfig\n): DateChain => {\n const locale = getTargetLocale(config.locale, props)\n const invalid = getInvalidDateText(config, props)\n const strict = props?.strict ?? config.strict\n const getInitialDate = () => {\n if (props?.date === undefined) {\n return getCurrentDayjs(locale)\n }\n\n return parseDateValue(props.date, props.input, locale, strict)\n }\n\n const { state, ready } = createDateChainState(locale, invalid, getInitialDate)\n\n return createDateChainApi(state, ready)\n}\n\nconst createFormatterParseDate = (getConfig: () => ResolvedDateFormatterConfig) => {\n return (props: DateParsingOptions): ParseDateResult => {\n const config = getConfig()\n const locale = getTargetLocale(config.locale, props)\n const parsed = parseDateValue(props.date, props.input, locale, props.strict ?? config.strict)\n\n if (!parsed.isValid()) {\n return createParseFailure(locale, getInvalidDateText(config, props))\n }\n\n return createParseSuccess(parsed, locale)\n }\n}\n\nconst createFormatterIsValidDate = (parseDate: (props: DateParsingOptions) => ParseDateResult) => {\n return (props: DateParsingOptions): boolean => parseDate(props).isValid\n}\n\nconst createFormatterGetDate = (getConfig: () => ResolvedDateFormatterConfig) => {\n const parseDate = createFormatterParseDate(getConfig)\n\n return (props?: GetDateOptions): string => {\n const config = getConfig()\n const locale = getTargetLocale(config.locale, props)\n const output = props?.output ?? DEFAULT_FORMAT\n\n if (!props) {\n return getCurrentDayjs(locale).format(DEFAULT_FORMAT)\n }\n\n if (props.date === undefined) {\n return getCurrentDayjs(locale).format(output)\n }\n\n const parsed = parseDate({\n date: props.date,\n input: props.input,\n locale: props.locale,\n strict: props.strict\n })\n\n if (!parsed.isValid) {\n return props.invalid ?? parsed.error\n }\n\n return parsed.format(output)\n }\n}\n\nconst createFormatterCreateDateChain = (getConfig: () => ResolvedDateFormatterConfig) => {\n return (props?: CreateDateChainOptions): DateChain => {\n return createDateChainFromResolvedConfig(props, getConfig())\n }\n}\n\nfunction resolveLocaleOrThrow(locale: LocaleInput): SupportedLocale {\n const resolvedLocale = resolveLocale(locale)\n\n if (!resolvedLocale) {\n throw new Error(\n `Unsupported locale: ${locale}. The package tries an exact locale match first and then falls back to the base locale.`\n )\n }\n\n return resolvedLocale\n}\n\nexport const getSupportedLocales = (): readonly SupportedLocale[] => SUPPORTED_LOCALES\n\nexport const createDateChain = (props?: CreateDateChainOptions, config?: DateFormatterConfig): DateChain => {\n const locale = getHelperLocale(config, props)\n\n return createDateChainFromResolvedConfig(props, createResolvedConfig(locale, config))\n}\n\nexport const getDate = async (props?: GetDateOptions, config?: DateFormatterConfig): Promise<string> => {\n const locale = getHelperLocale(config, props)\n const formatter = createDateFormatter({ ...config, locale })\n\n await formatter.ready\n\n return formatter.getDate(props)\n}\n\nexport const parseDate = async (\n props: DateParsingOptions,\n config?: DateFormatterConfig\n): Promise<ParseDateResult> => {\n const locale = getHelperLocale(config, props)\n const formatter = createDateFormatter({ ...config, locale })\n\n await formatter.ready\n\n return formatter.parseDate(props)\n}\n\nexport const isValidDate = async (\n props: DateParsingOptions,\n config?: DateFormatterConfig\n): Promise<boolean> => {\n const locale = getHelperLocale(config, props)\n const formatter = createDateFormatter({ ...config, locale })\n\n await formatter.ready\n\n return formatter.isValidDate(props)\n}\n\nexport const createDateFormatter = (config?: DateFormatterConfig): DateFormatter => {\n let currentLocale = config?.locale ? resolveLocaleOrThrow(config.locale) : DEFAULT_LOCALE\n\n const getConfig = (): ResolvedDateFormatterConfig => createResolvedConfig(currentLocale, config)\n\n const ready = ensureLocaleLoaded(currentLocale)\n const parseDate = createFormatterParseDate(getConfig)\n\n return {\n getDate: createFormatterGetDate(getConfig),\n parseDate,\n isValidDate: createFormatterIsValidDate(parseDate),\n createDateChain: createFormatterCreateDateChain(getConfig),\n getSupportedLocales,\n getCurrentLocale: () => currentLocale,\n setLocale: async (locale: LocaleInput) => {\n const resolvedLocale = resolveLocaleOrThrow(locale)\n\n await ensureLocaleLoaded(resolvedLocale)\n currentLocale = resolvedLocale\n },\n ready\n }\n}\n","import {\n createDateChain,\n createDateFormatter,\n getDate,\n getSupportedLocales,\n isSupportedLocale,\n isValidDate,\n parseDate,\n resolveLocale\n} from '../index.js'\n\nexport const DateKit = {\n createDateChain,\n createDateFormatter,\n getDate,\n getSupportedLocales,\n isSupportedLocale,\n parseDate,\n isValidDate,\n resolveLocale\n}\n\ndeclare global {\n interface Window {\n DateKit: typeof DateKit\n }\n}\n\nif (typeof window !== 'undefined') {\n window.DateKit = DateKit\n}\n","import { browserLocalesReady } from './preload-locales.js'\nimport { DateKit } from './global.js'\n\nif (!browserLocalesReady) {\n\tthrow new Error('Browser locales failed to preload')\n}\n\nif (typeof globalThis !== 'undefined') {\n\t;(globalThis as typeof globalThis & { DateKit?: typeof DateKit }).DateKit = DateKit\n}"],"mappings":"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","names":["t","e","n","r","i","s","u","a","M","m","f","l","$","y","v","g","D","o","d","c","h","e","n","t","i","e","e","e","e","e","e","e","e","t","n","r","i","o","a","f","h","u","d","l","s","c","m","M","dayjs","customParseFormat","parseDate"]}
@@ -1,6 +1,7 @@
1
- import { DateFormatterConfig, DateFormatter, GetDateOptions, SupportedLocale, DateParsingOptions, ParseDateResult, LocaleInput } from '../index.js';
1
+ import { CreateDateChainOptions, DateFormatterConfig, DateChain, DateFormatter, GetDateOptions, SupportedLocale, DateParsingOptions, ParseDateResult, LocaleInput } from '../index.js';
2
2
 
3
3
  declare const DateKit: {
4
+ createDateChain: (props?: CreateDateChainOptions, config?: DateFormatterConfig) => DateChain;
4
5
  createDateFormatter: (config?: DateFormatterConfig) => DateFormatter;
5
6
  getDate: (props?: GetDateOptions, config?: DateFormatterConfig) => Promise<string>;
6
7
  getSupportedLocales: () => readonly SupportedLocale[];
@@ -14,6 +14,7 @@ var SUPPORTED_LOCALES = [
14
14
  "it",
15
15
  "ja"
16
16
  ];
17
+ var loadedLocales = /* @__PURE__ */ new Set(["en"]);
17
18
  var localeLoaders = {
18
19
  en: null,
19
20
  es: () => import("dayjs/locale/es.js"),
@@ -49,12 +50,20 @@ var resolveLocale = (locale) => {
49
50
  }
50
51
  return asSupportedLocale(baseLocale);
51
52
  };
53
+ var isLocaleLoaded = (locale) => {
54
+ return loadedLocales.has(locale);
55
+ };
52
56
  var ensureLocaleLoaded = async (locale) => {
57
+ if (loadedLocales.has(locale)) {
58
+ return;
59
+ }
53
60
  const load = localeLoaders[locale];
54
61
  if (!load) {
62
+ loadedLocales.add(locale);
55
63
  return;
56
64
  }
57
65
  await load();
66
+ loadedLocales.add(locale);
58
67
  };
59
68
 
60
69
  // src/core/date.ts
@@ -70,7 +79,13 @@ var createResolvedConfig = (locale, config) => ({
70
79
  invalid: config?.invalid ?? DEFAULT_INVALID_DATE
71
80
  });
72
81
  var getInvalidDateText = (config, props) => {
73
- return props?.invalid ?? config?.invalid ?? DEFAULT_INVALID_DATE;
82
+ if (typeof props === "object" && props !== null && "invalid" in props) {
83
+ const invalid = props.invalid;
84
+ if (invalid !== void 0) {
85
+ return invalid;
86
+ }
87
+ }
88
+ return config?.invalid ?? DEFAULT_INVALID_DATE;
74
89
  };
75
90
  var getTargetLocale = (currentLocale, props) => {
76
91
  if (!props?.locale) {
@@ -96,29 +111,193 @@ var parseDateValue = (value, input, locale, strict) => {
96
111
  }
97
112
  return dayjs(value, [...input], locale, strict).locale(locale);
98
113
  };
114
+ var getCurrentDayjs = (locale) => {
115
+ return dayjs().locale(locale);
116
+ };
117
+ var createParseSuccess = (parsed, locale) => {
118
+ return {
119
+ isValid: true,
120
+ locale,
121
+ date: parsed.toDate(),
122
+ iso: parsed.toISOString(),
123
+ timestamp: parsed.valueOf(),
124
+ format: (output = DEFAULT_FORMAT) => parsed.format(output)
125
+ };
126
+ };
127
+ var createParseFailure = (locale, error) => {
128
+ return {
129
+ isValid: false,
130
+ locale,
131
+ date: null,
132
+ iso: null,
133
+ timestamp: null,
134
+ error
135
+ };
136
+ };
137
+ var createDateChainSuccessState = (parsed, locale) => {
138
+ return {
139
+ isValid: true,
140
+ locale,
141
+ date: parsed.toDate(),
142
+ iso: parsed.toISOString(),
143
+ timestamp: parsed.valueOf()
144
+ };
145
+ };
146
+ var createDateChainFailureState = (locale, error) => {
147
+ return {
148
+ isValid: false,
149
+ locale,
150
+ date: null,
151
+ iso: null,
152
+ timestamp: null,
153
+ error
154
+ };
155
+ };
156
+ var mapChainSetUnit = (unit) => {
157
+ if (unit === "day") {
158
+ return "date";
159
+ }
160
+ return unit;
161
+ };
162
+ var createReadyError = () => {
163
+ return new Error("Date chain is not ready. Await chain.ready before using it with locales that may need to load.");
164
+ };
165
+ var assertDateChainReady = (state) => {
166
+ if (!state.ready) {
167
+ throw createReadyError();
168
+ }
169
+ };
170
+ var getComparableDayjs = (value) => {
171
+ if (typeof value === "object" && value !== null && "toState" in value) {
172
+ const state = value.toState();
173
+ if (!state.isValid) {
174
+ return null;
175
+ }
176
+ return dayjs(state.date);
177
+ }
178
+ const comparable = dayjs(value);
179
+ if (!comparable.isValid()) {
180
+ return null;
181
+ }
182
+ return comparable;
183
+ };
184
+ var createDateChainApi = (state, ready) => {
185
+ const applyMutation = (transform) => {
186
+ assertDateChainReady(state);
187
+ if (state.current) {
188
+ state.current = transform(state.current);
189
+ }
190
+ return chain;
191
+ };
192
+ const compare = (other, comparator) => {
193
+ assertDateChainReady(state);
194
+ if (!state.current) {
195
+ return false;
196
+ }
197
+ const comparable = getComparableDayjs(other);
198
+ if (!comparable) {
199
+ return false;
200
+ }
201
+ return comparator(state.current, comparable);
202
+ };
203
+ const chain = {
204
+ ready,
205
+ add: (value, unit) => applyMutation((current) => current.add(value, unit)),
206
+ subtract: (value, unit) => applyMutation((current) => current.subtract(value, unit)),
207
+ set: (unit, value) => applyMutation((current) => current.set(mapChainSetUnit(unit), value)),
208
+ startOf: (unit) => applyMutation((current) => current.startOf(unit)),
209
+ endOf: (unit) => applyMutation((current) => current.endOf(unit)),
210
+ format: (output = DEFAULT_FORMAT) => {
211
+ assertDateChainReady(state);
212
+ if (!state.current) {
213
+ return state.invalid;
214
+ }
215
+ return state.current.format(output);
216
+ },
217
+ toDate: () => {
218
+ assertDateChainReady(state);
219
+ return state.current ? state.current.toDate() : null;
220
+ },
221
+ toISOString: () => {
222
+ assertDateChainReady(state);
223
+ return state.current ? state.current.toISOString() : null;
224
+ },
225
+ toTimestamp: () => {
226
+ assertDateChainReady(state);
227
+ return state.current ? state.current.valueOf() : null;
228
+ },
229
+ isValid: () => {
230
+ assertDateChainReady(state);
231
+ return state.current !== null;
232
+ },
233
+ isBefore: (other, unit) => compare(other, (current, comparable) => current.isBefore(comparable, unit)),
234
+ isAfter: (other, unit) => compare(other, (current, comparable) => current.isAfter(comparable, unit)),
235
+ isSame: (other, unit) => compare(other, (current, comparable) => current.isSame(comparable, unit)),
236
+ toState: () => {
237
+ assertDateChainReady(state);
238
+ if (!state.current) {
239
+ return createDateChainFailureState(state.locale, state.error ?? state.invalid);
240
+ }
241
+ return createDateChainSuccessState(state.current, state.locale);
242
+ }
243
+ };
244
+ return chain;
245
+ };
246
+ var createDateChainState = (locale, invalid, getInitialDate) => {
247
+ const state = {
248
+ locale,
249
+ invalid,
250
+ current: null,
251
+ ready: false,
252
+ error: invalid
253
+ };
254
+ const initialize = () => {
255
+ const parsed = getInitialDate();
256
+ state.ready = true;
257
+ if (!parsed.isValid()) {
258
+ state.current = null;
259
+ state.error = invalid;
260
+ return;
261
+ }
262
+ state.current = parsed;
263
+ state.error = null;
264
+ };
265
+ if (isLocaleLoaded(locale)) {
266
+ initialize();
267
+ return {
268
+ state,
269
+ ready: Promise.resolve()
270
+ };
271
+ }
272
+ return {
273
+ state,
274
+ ready: ensureLocaleLoaded(locale).then(() => {
275
+ initialize();
276
+ })
277
+ };
278
+ };
279
+ var createDateChainFromResolvedConfig = (props, config) => {
280
+ const locale = getTargetLocale(config.locale, props);
281
+ const invalid = getInvalidDateText(config, props);
282
+ const strict = props?.strict ?? config.strict;
283
+ const getInitialDate = () => {
284
+ if (props?.date === void 0) {
285
+ return getCurrentDayjs(locale);
286
+ }
287
+ return parseDateValue(props.date, props.input, locale, strict);
288
+ };
289
+ const { state, ready } = createDateChainState(locale, invalid, getInitialDate);
290
+ return createDateChainApi(state, ready);
291
+ };
99
292
  var createFormatterParseDate = (getConfig) => {
100
293
  return (props) => {
101
294
  const config = getConfig();
102
295
  const locale = getTargetLocale(config.locale, props);
103
296
  const parsed = parseDateValue(props.date, props.input, locale, props.strict ?? config.strict);
104
297
  if (!parsed.isValid()) {
105
- return {
106
- isValid: false,
107
- locale,
108
- date: null,
109
- iso: null,
110
- timestamp: null,
111
- error: getInvalidDateText(config, props)
112
- };
298
+ return createParseFailure(locale, getInvalidDateText(config, props));
113
299
  }
114
- return {
115
- isValid: true,
116
- locale,
117
- date: parsed.toDate(),
118
- iso: parsed.toISOString(),
119
- timestamp: parsed.valueOf(),
120
- format: (output = DEFAULT_FORMAT) => parsed.format(output)
121
- };
300
+ return createParseSuccess(parsed, locale);
122
301
  };
123
302
  };
124
303
  var createFormatterIsValidDate = (parseDate2) => {
@@ -131,10 +310,10 @@ var createFormatterGetDate = (getConfig) => {
131
310
  const locale = getTargetLocale(config.locale, props);
132
311
  const output = props?.output ?? DEFAULT_FORMAT;
133
312
  if (!props) {
134
- return dayjs().locale(locale).format(DEFAULT_FORMAT);
313
+ return getCurrentDayjs(locale).format(DEFAULT_FORMAT);
135
314
  }
136
315
  if (props.date === void 0) {
137
- return dayjs().locale(locale).format(output);
316
+ return getCurrentDayjs(locale).format(output);
138
317
  }
139
318
  const parsed = parseDate2({
140
319
  date: props.date,
@@ -148,6 +327,11 @@ var createFormatterGetDate = (getConfig) => {
148
327
  return parsed.format(output);
149
328
  };
150
329
  };
330
+ var createFormatterCreateDateChain = (getConfig) => {
331
+ return (props) => {
332
+ return createDateChainFromResolvedConfig(props, getConfig());
333
+ };
334
+ };
151
335
  function resolveLocaleOrThrow(locale) {
152
336
  const resolvedLocale = resolveLocale(locale);
153
337
  if (!resolvedLocale) {
@@ -158,6 +342,10 @@ function resolveLocaleOrThrow(locale) {
158
342
  return resolvedLocale;
159
343
  }
160
344
  var getSupportedLocales = () => SUPPORTED_LOCALES;
345
+ var createDateChain = (props, config) => {
346
+ const locale = getHelperLocale(config, props);
347
+ return createDateChainFromResolvedConfig(props, createResolvedConfig(locale, config));
348
+ };
161
349
  var getDate = async (props, config) => {
162
350
  const locale = getHelperLocale(config, props);
163
351
  const formatter = createDateFormatter({ ...config, locale });
@@ -185,6 +373,7 @@ var createDateFormatter = (config) => {
185
373
  getDate: createFormatterGetDate(getConfig),
186
374
  parseDate: parseDate2,
187
375
  isValidDate: createFormatterIsValidDate(parseDate2),
376
+ createDateChain: createFormatterCreateDateChain(getConfig),
188
377
  getSupportedLocales,
189
378
  getCurrentLocale: () => currentLocale,
190
379
  setLocale: async (locale) => {
@@ -198,6 +387,7 @@ var createDateFormatter = (config) => {
198
387
 
199
388
  // src/browser/global.ts
200
389
  var DateKit = {
390
+ createDateChain,
201
391
  createDateFormatter,
202
392
  getDate,
203
393
  getSupportedLocales,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/date.ts","../../src/core/locales.ts","../../src/browser/global.ts"],"sourcesContent":["import customParseFormat from 'dayjs/plugin/customParseFormat.js'\nimport dayjs from 'dayjs'\nimport type { Dayjs } from 'dayjs'\n\nimport { ensureLocaleLoaded, resolveLocale, SUPPORTED_LOCALES, type LocaleInput, type SupportedLocale } from './locales.js'\n\ndayjs.extend(customParseFormat)\ndayjs.locale('en')\n\nexport type DateValue = string | number | Date\n\ntype DateInputOptions = {\n input?: string | readonly string[]\n locale?: LocaleInput\n strict?: boolean\n}\n\nexport type DateParsingOptions = DateInputOptions & {\n date: DateValue\n}\n\nexport type GetDateOptions = DateInputOptions & {\n date?: DateValue\n output?: string\n invalid?: string\n}\n\nexport type DateFormatterConfig = {\n locale?: LocaleInput\n strict?: boolean\n invalid?: string\n}\n\ntype ResolvedDateFormatterConfig = {\n locale: SupportedLocale\n strict: boolean\n invalid: string\n}\n\nexport type DateFormatter = {\n getDate: (props?: GetDateOptions) => string\n parseDate: (props: DateParsingOptions) => ParseDateResult\n isValidDate: (props: DateParsingOptions) => boolean\n getSupportedLocales: () => readonly SupportedLocale[]\n getCurrentLocale: () => SupportedLocale\n setLocale: (locale: LocaleInput) => Promise<void>\n ready: Promise<void>\n}\n\nexport type ParseDateSuccess = {\n isValid: true\n locale: SupportedLocale\n date: Date\n iso: string\n timestamp: number\n format: (output?: string) => string\n}\n\nexport type ParseDateFailure = {\n isValid: false\n locale: SupportedLocale\n date: null\n iso: null\n timestamp: null\n error: string\n}\n\nexport type ParseDateResult = ParseDateSuccess | ParseDateFailure\n\nconst DEFAULT_FORMAT = 'YYYY-MM-DD'\nconst DEFAULT_LOCALE: SupportedLocale = 'en'\nconst DEFAULT_INVALID_DATE = 'Invalid Date'\nconst DEFAULT_STRICT = true\n\nconst createResolvedConfig = (\n locale: SupportedLocale,\n config?: DateFormatterConfig\n): ResolvedDateFormatterConfig => ({\n locale,\n strict: config?.strict ?? DEFAULT_STRICT,\n invalid: config?.invalid ?? DEFAULT_INVALID_DATE\n})\n\nconst getInvalidDateText = (config?: DateFormatterConfig, props?: GetDateOptions): string => {\n return props?.invalid ?? config?.invalid ?? DEFAULT_INVALID_DATE\n}\n\nconst getTargetLocale = (currentLocale: SupportedLocale, props?: GetDateOptions): SupportedLocale => {\n if (!props?.locale) {\n return currentLocale\n }\n\n return resolveLocaleOrThrow(props.locale)\n}\n\nconst getHelperLocale = <T extends { locale?: LocaleInput }>(\n config?: DateFormatterConfig,\n props?: T\n): SupportedLocale => {\n if (props?.locale) {\n return resolveLocaleOrThrow(props.locale)\n }\n\n if (config?.locale) {\n return resolveLocaleOrThrow(config.locale)\n }\n\n return DEFAULT_LOCALE\n}\n\nconst parseDateValue = (\n value: DateValue,\n input: DateParsingOptions['input'],\n locale: SupportedLocale,\n strict: boolean\n): Dayjs => {\n if (!input) {\n return dayjs(value).locale(locale)\n }\n\n if (typeof input === 'string') {\n return dayjs(value, input, locale, strict).locale(locale)\n }\n\n return dayjs(value, [...input], locale, strict).locale(locale)\n}\n\nconst createFormatterParseDate = (getConfig: () => ResolvedDateFormatterConfig) => {\n return (props: DateParsingOptions): ParseDateResult => {\n const config = getConfig()\n const locale = getTargetLocale(config.locale, props)\n const parsed = parseDateValue(props.date, props.input, locale, props.strict ?? config.strict)\n\n if (!parsed.isValid()) {\n return {\n isValid: false,\n locale,\n date: null,\n iso: null,\n timestamp: null,\n error: getInvalidDateText(config, props)\n }\n }\n\n return {\n isValid: true,\n locale,\n date: parsed.toDate(),\n iso: parsed.toISOString(),\n timestamp: parsed.valueOf(),\n format: (output = DEFAULT_FORMAT) => parsed.format(output)\n }\n }\n}\n\nconst createFormatterIsValidDate = (parseDate: (props: DateParsingOptions) => ParseDateResult) => {\n return (props: DateParsingOptions): boolean => parseDate(props).isValid\n}\n\nconst createFormatterGetDate = (getConfig: () => ResolvedDateFormatterConfig) => {\n const parseDate = createFormatterParseDate(getConfig)\n\n return (props?: GetDateOptions): string => {\n const config = getConfig()\n const locale = getTargetLocale(config.locale, props)\n const output = props?.output ?? DEFAULT_FORMAT\n\n if (!props) {\n return dayjs().locale(locale).format(DEFAULT_FORMAT)\n }\n\n if (props.date === undefined) {\n return dayjs().locale(locale).format(output)\n }\n\n const parsed = parseDate({\n date: props.date,\n input: props.input,\n locale: props.locale,\n strict: props.strict\n })\n\n if (!parsed.isValid) {\n return props.invalid ?? parsed.error\n }\n\n return parsed.format(output)\n }\n}\n\nfunction resolveLocaleOrThrow(locale: LocaleInput): SupportedLocale {\n const resolvedLocale = resolveLocale(locale)\n\n if (!resolvedLocale) {\n throw new Error(\n `Unsupported locale: ${locale}. The package tries an exact locale match first and then falls back to the base locale.`\n )\n }\n\n return resolvedLocale\n}\n\nexport const getSupportedLocales = (): readonly SupportedLocale[] => SUPPORTED_LOCALES\n\nexport const getDate = async (props?: GetDateOptions, config?: DateFormatterConfig): Promise<string> => {\n const locale = getHelperLocale(config, props)\n const formatter = createDateFormatter({ ...config, locale })\n\n await formatter.ready\n\n return formatter.getDate(props)\n}\n\nexport const parseDate = async (\n props: DateParsingOptions,\n config?: DateFormatterConfig\n): Promise<ParseDateResult> => {\n const locale = getHelperLocale(config, props)\n const formatter = createDateFormatter({ ...config, locale })\n\n await formatter.ready\n\n return formatter.parseDate(props)\n}\n\nexport const isValidDate = async (\n props: DateParsingOptions,\n config?: DateFormatterConfig\n): Promise<boolean> => {\n const locale = getHelperLocale(config, props)\n const formatter = createDateFormatter({ ...config, locale })\n\n await formatter.ready\n\n return formatter.isValidDate(props)\n}\n\nexport const createDateFormatter = (config?: DateFormatterConfig): DateFormatter => {\n let currentLocale = config?.locale ? resolveLocaleOrThrow(config.locale) : DEFAULT_LOCALE\n\n const getConfig = (): ResolvedDateFormatterConfig => createResolvedConfig(currentLocale, config)\n\n const ready = ensureLocaleLoaded(currentLocale)\n const parseDate = createFormatterParseDate(getConfig)\n\n return {\n getDate: createFormatterGetDate(getConfig),\n parseDate,\n isValidDate: createFormatterIsValidDate(parseDate),\n getSupportedLocales,\n getCurrentLocale: () => currentLocale,\n setLocale: async (locale: LocaleInput) => {\n const resolvedLocale = resolveLocaleOrThrow(locale)\n\n await ensureLocaleLoaded(resolvedLocale)\n currentLocale = resolvedLocale\n },\n ready\n }\n}\n","export const SUPPORTED_LOCALES = [\n 'en',\n 'es',\n 'es-mx',\n 'fr',\n 'pt',\n 'pt-br',\n 'de',\n 'it',\n 'ja'\n] as const\n\nexport type SupportedLocale = (typeof SUPPORTED_LOCALES)[number]\nexport type LocaleInput = string\n\nconst localeLoaders: Record<SupportedLocale, (() => Promise<unknown>) | null> = {\n en: null,\n es: () => import('dayjs/locale/es.js'),\n 'es-mx': () => import('dayjs/locale/es-mx.js'),\n fr: () => import('dayjs/locale/fr.js'),\n pt: () => import('dayjs/locale/pt.js'),\n 'pt-br': () => import('dayjs/locale/pt-br.js'),\n de: () => import('dayjs/locale/de.js'),\n it: () => import('dayjs/locale/it.js'),\n ja: () => import('dayjs/locale/ja.js')\n}\n\nconst normalizeLocale = (locale: string): string => {\n return locale.trim().toLowerCase().replace(/_/g, '-')\n}\n\nconst asSupportedLocale = (locale: string): SupportedLocale | null => {\n if (!SUPPORTED_LOCALES.includes(locale as SupportedLocale)) {\n return null\n }\n\n return locale as SupportedLocale\n}\n\nexport const isSupportedLocale = (locale: string): boolean => {\n return resolveLocale(locale) !== null\n}\n\nexport const resolveLocale = (locale: LocaleInput): SupportedLocale | null => {\n const normalizedLocale = normalizeLocale(locale)\n const exactLocale = asSupportedLocale(normalizedLocale)\n\n if (exactLocale) {\n return exactLocale\n }\n\n const [baseLocale] = normalizedLocale.split('-')\n\n if (!baseLocale) {\n return null\n }\n\n return asSupportedLocale(baseLocale)\n}\n\nexport const ensureLocaleLoaded = async (locale: SupportedLocale): Promise<void> => {\n const load = localeLoaders[locale]\n\n if (!load) {\n return\n }\n\n await load()\n}\n","import {\n createDateFormatter,\n getDate,\n getSupportedLocales,\n isSupportedLocale,\n isValidDate,\n parseDate,\n resolveLocale\n} from '../index.js'\n\nexport const DateKit = {\n createDateFormatter,\n getDate,\n getSupportedLocales,\n isSupportedLocale,\n parseDate,\n isValidDate,\n resolveLocale\n}\n\ndeclare global {\n interface Window {\n DateKit: typeof DateKit\n }\n}\n\nif (typeof window !== 'undefined') {\n window.DateKit = DateKit\n}\n"],"mappings":"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","names":["parseDate"]}
1
+ {"version":3,"sources":["../../src/core/date.ts","../../src/core/locales.ts","../../src/browser/global.ts"],"sourcesContent":["import customParseFormat from 'dayjs/plugin/customParseFormat.js'\nimport dayjs from 'dayjs'\nimport type { Dayjs } from 'dayjs'\n\nimport {\n ensureLocaleLoaded,\n isLocaleLoaded,\n resolveLocale,\n SUPPORTED_LOCALES,\n type LocaleInput,\n type SupportedLocale\n} from './locales.js'\n\ndayjs.extend(customParseFormat)\ndayjs.locale('en')\n\nexport type DateValue = string | number | Date\n\ntype DateInputOptions = {\n input?: string | readonly string[]\n locale?: LocaleInput\n strict?: boolean\n}\n\nexport type DateParsingOptions = DateInputOptions & {\n date: DateValue\n}\n\nexport type GetDateOptions = DateInputOptions & {\n date?: DateValue\n output?: string\n invalid?: string\n}\n\nexport type CreateDateChainOptions = DateInputOptions & {\n date?: DateValue\n invalid?: string\n}\n\nexport type DateFormatterConfig = {\n locale?: LocaleInput\n strict?: boolean\n invalid?: string\n}\n\nexport type DateChainManipulateUnit =\n | 'millisecond'\n | 'second'\n | 'minute'\n | 'hour'\n | 'day'\n | 'week'\n | 'month'\n | 'year'\n\nexport type DateChainBoundaryUnit =\n | 'year'\n | 'month'\n | 'week'\n | 'day'\n | 'hour'\n | 'minute'\n | 'second'\n\nexport type DateChainCompareUnit = DateChainBoundaryUnit | 'millisecond'\n\nexport type DateChainSetUnit =\n | 'year'\n | 'month'\n | 'day'\n | 'hour'\n | 'minute'\n | 'second'\n | 'millisecond'\n\ntype ResolvedDateFormatterConfig = {\n locale: SupportedLocale\n strict: boolean\n invalid: string\n}\n\nexport type DateChainSuccessState = {\n isValid: true\n locale: SupportedLocale\n date: Date\n iso: string\n timestamp: number\n}\n\nexport type DateChainFailureState = {\n isValid: false\n locale: SupportedLocale\n date: null\n iso: null\n timestamp: null\n error: string\n}\n\nexport type DateChainState = DateChainSuccessState | DateChainFailureState\n\nexport type DateChain = {\n ready: Promise<void>\n add: (value: number, unit: DateChainManipulateUnit) => DateChain\n subtract: (value: number, unit: DateChainManipulateUnit) => DateChain\n set: (unit: DateChainSetUnit, value: number) => DateChain\n startOf: (unit: DateChainBoundaryUnit) => DateChain\n endOf: (unit: DateChainBoundaryUnit) => DateChain\n format: (output?: string) => string\n toDate: () => Date | null\n toISOString: () => string | null\n toTimestamp: () => number | null\n isValid: () => boolean\n isBefore: (other: DateChainComparable, unit?: DateChainCompareUnit) => boolean\n isAfter: (other: DateChainComparable, unit?: DateChainCompareUnit) => boolean\n isSame: (other: DateChainComparable, unit?: DateChainCompareUnit) => boolean\n toState: () => DateChainState\n}\n\nexport type DateChainComparable = DateValue | DateChain\n\nexport type DateFormatter = {\n getDate: (props?: GetDateOptions) => string\n parseDate: (props: DateParsingOptions) => ParseDateResult\n isValidDate: (props: DateParsingOptions) => boolean\n createDateChain: (props?: CreateDateChainOptions) => DateChain\n getSupportedLocales: () => readonly SupportedLocale[]\n getCurrentLocale: () => SupportedLocale\n setLocale: (locale: LocaleInput) => Promise<void>\n ready: Promise<void>\n}\n\nexport type ParseDateSuccess = {\n isValid: true\n locale: SupportedLocale\n date: Date\n iso: string\n timestamp: number\n format: (output?: string) => string\n}\n\nexport type ParseDateFailure = {\n isValid: false\n locale: SupportedLocale\n date: null\n iso: null\n timestamp: null\n error: string\n}\n\nexport type ParseDateResult = ParseDateSuccess | ParseDateFailure\n\ntype InternalDateChainState = {\n locale: SupportedLocale\n invalid: string\n current: Dayjs | null\n ready: boolean\n error: string | null\n}\n\nconst DEFAULT_FORMAT = 'YYYY-MM-DD'\nconst DEFAULT_LOCALE: SupportedLocale = 'en'\nconst DEFAULT_INVALID_DATE = 'Invalid Date'\nconst DEFAULT_STRICT = true\n\nconst createResolvedConfig = (\n locale: SupportedLocale,\n config?: DateFormatterConfig\n): ResolvedDateFormatterConfig => ({\n locale,\n strict: config?.strict ?? DEFAULT_STRICT,\n invalid: config?.invalid ?? DEFAULT_INVALID_DATE\n})\n\nconst getInvalidDateText = <T>(config?: DateFormatterConfig, props?: T): string => {\n if (typeof props === 'object' && props !== null && 'invalid' in props) {\n const invalid = (props as { invalid?: string }).invalid\n\n if (invalid !== undefined) {\n return invalid\n }\n }\n\n return config?.invalid ?? DEFAULT_INVALID_DATE\n}\n\nconst getTargetLocale = <T extends { locale?: LocaleInput }>(\n currentLocale: SupportedLocale,\n props?: T\n): SupportedLocale => {\n if (!props?.locale) {\n return currentLocale\n }\n\n return resolveLocaleOrThrow(props.locale)\n}\n\nconst getHelperLocale = <T extends { locale?: LocaleInput }>(\n config?: DateFormatterConfig,\n props?: T\n): SupportedLocale => {\n if (props?.locale) {\n return resolveLocaleOrThrow(props.locale)\n }\n\n if (config?.locale) {\n return resolveLocaleOrThrow(config.locale)\n }\n\n return DEFAULT_LOCALE\n}\n\nconst parseDateValue = (\n value: DateValue,\n input: DateParsingOptions['input'],\n locale: SupportedLocale,\n strict: boolean\n): Dayjs => {\n if (!input) {\n return dayjs(value).locale(locale)\n }\n\n if (typeof input === 'string') {\n return dayjs(value, input, locale, strict).locale(locale)\n }\n\n return dayjs(value, [...input], locale, strict).locale(locale)\n}\n\nconst getCurrentDayjs = (locale: SupportedLocale): Dayjs => {\n return dayjs().locale(locale)\n}\n\nconst createParseSuccess = (parsed: Dayjs, locale: SupportedLocale): ParseDateSuccess => {\n return {\n isValid: true,\n locale,\n date: parsed.toDate(),\n iso: parsed.toISOString(),\n timestamp: parsed.valueOf(),\n format: (output = DEFAULT_FORMAT) => parsed.format(output)\n }\n}\n\nconst createParseFailure = (locale: SupportedLocale, error: string): ParseDateFailure => {\n return {\n isValid: false,\n locale,\n date: null,\n iso: null,\n timestamp: null,\n error\n }\n}\n\nconst createDateChainSuccessState = (parsed: Dayjs, locale: SupportedLocale): DateChainSuccessState => {\n return {\n isValid: true,\n locale,\n date: parsed.toDate(),\n iso: parsed.toISOString(),\n timestamp: parsed.valueOf()\n }\n}\n\nconst createDateChainFailureState = (locale: SupportedLocale, error: string): DateChainFailureState => {\n return {\n isValid: false,\n locale,\n date: null,\n iso: null,\n timestamp: null,\n error\n }\n}\n\nconst mapChainSetUnit = (unit: DateChainSetUnit): 'year' | 'month' | 'date' | 'hour' | 'minute' | 'second' | 'millisecond' => {\n if (unit === 'day') {\n return 'date'\n }\n\n return unit\n}\n\nconst createReadyError = (): Error => {\n return new Error('Date chain is not ready. Await chain.ready before using it with locales that may need to load.')\n}\n\nconst assertDateChainReady = (state: InternalDateChainState): void => {\n if (!state.ready) {\n throw createReadyError()\n }\n}\n\nconst getComparableDayjs = (value: DateChainComparable): Dayjs | null => {\n if (typeof value === 'object' && value !== null && 'toState' in value) {\n const state = value.toState()\n\n if (!state.isValid) {\n return null\n }\n\n return dayjs(state.date)\n }\n\n const comparable = dayjs(value)\n\n if (!comparable.isValid()) {\n return null\n }\n\n return comparable\n}\n\nconst createDateChainApi = (state: InternalDateChainState, ready: Promise<void>): DateChain => {\n const applyMutation = (transform: (current: Dayjs) => Dayjs): DateChain => {\n assertDateChainReady(state)\n\n if (state.current) {\n state.current = transform(state.current)\n }\n\n return chain\n }\n\n const compare = (\n other: DateChainComparable,\n comparator: (current: Dayjs, comparable: Dayjs) => boolean\n ): boolean => {\n assertDateChainReady(state)\n\n if (!state.current) {\n return false\n }\n\n const comparable = getComparableDayjs(other)\n\n if (!comparable) {\n return false\n }\n\n return comparator(state.current, comparable)\n }\n\n const chain: DateChain = {\n ready,\n add: (value, unit) => applyMutation((current) => current.add(value, unit)),\n subtract: (value, unit) => applyMutation((current) => current.subtract(value, unit)),\n set: (unit, value) => applyMutation((current) => current.set(mapChainSetUnit(unit), value)),\n startOf: (unit) => applyMutation((current) => current.startOf(unit)),\n endOf: (unit) => applyMutation((current) => current.endOf(unit)),\n format: (output = DEFAULT_FORMAT) => {\n assertDateChainReady(state)\n\n if (!state.current) {\n return state.invalid\n }\n\n return state.current.format(output)\n },\n toDate: () => {\n assertDateChainReady(state)\n\n return state.current ? state.current.toDate() : null\n },\n toISOString: () => {\n assertDateChainReady(state)\n\n return state.current ? state.current.toISOString() : null\n },\n toTimestamp: () => {\n assertDateChainReady(state)\n\n return state.current ? state.current.valueOf() : null\n },\n isValid: () => {\n assertDateChainReady(state)\n\n return state.current !== null\n },\n isBefore: (other, unit) => compare(other, (current, comparable) => current.isBefore(comparable, unit)),\n isAfter: (other, unit) => compare(other, (current, comparable) => current.isAfter(comparable, unit)),\n isSame: (other, unit) => compare(other, (current, comparable) => current.isSame(comparable, unit)),\n toState: () => {\n assertDateChainReady(state)\n\n if (!state.current) {\n return createDateChainFailureState(state.locale, state.error ?? state.invalid)\n }\n\n return createDateChainSuccessState(state.current, state.locale)\n }\n }\n\n return chain\n}\n\nconst createDateChainState = (\n locale: SupportedLocale,\n invalid: string,\n getInitialDate: () => Dayjs\n): { state: InternalDateChainState; ready: Promise<void> } => {\n const state: InternalDateChainState = {\n locale,\n invalid,\n current: null,\n ready: false,\n error: invalid\n }\n\n const initialize = () => {\n const parsed = getInitialDate()\n\n state.ready = true\n\n if (!parsed.isValid()) {\n state.current = null\n state.error = invalid\n return\n }\n\n state.current = parsed\n state.error = null\n }\n\n if (isLocaleLoaded(locale)) {\n initialize()\n\n return {\n state,\n ready: Promise.resolve()\n }\n }\n\n return {\n state,\n ready: ensureLocaleLoaded(locale).then(() => {\n initialize()\n })\n }\n}\n\nconst createDateChainFromResolvedConfig = (\n props: CreateDateChainOptions | undefined,\n config: ResolvedDateFormatterConfig\n): DateChain => {\n const locale = getTargetLocale(config.locale, props)\n const invalid = getInvalidDateText(config, props)\n const strict = props?.strict ?? config.strict\n const getInitialDate = () => {\n if (props?.date === undefined) {\n return getCurrentDayjs(locale)\n }\n\n return parseDateValue(props.date, props.input, locale, strict)\n }\n\n const { state, ready } = createDateChainState(locale, invalid, getInitialDate)\n\n return createDateChainApi(state, ready)\n}\n\nconst createFormatterParseDate = (getConfig: () => ResolvedDateFormatterConfig) => {\n return (props: DateParsingOptions): ParseDateResult => {\n const config = getConfig()\n const locale = getTargetLocale(config.locale, props)\n const parsed = parseDateValue(props.date, props.input, locale, props.strict ?? config.strict)\n\n if (!parsed.isValid()) {\n return createParseFailure(locale, getInvalidDateText(config, props))\n }\n\n return createParseSuccess(parsed, locale)\n }\n}\n\nconst createFormatterIsValidDate = (parseDate: (props: DateParsingOptions) => ParseDateResult) => {\n return (props: DateParsingOptions): boolean => parseDate(props).isValid\n}\n\nconst createFormatterGetDate = (getConfig: () => ResolvedDateFormatterConfig) => {\n const parseDate = createFormatterParseDate(getConfig)\n\n return (props?: GetDateOptions): string => {\n const config = getConfig()\n const locale = getTargetLocale(config.locale, props)\n const output = props?.output ?? DEFAULT_FORMAT\n\n if (!props) {\n return getCurrentDayjs(locale).format(DEFAULT_FORMAT)\n }\n\n if (props.date === undefined) {\n return getCurrentDayjs(locale).format(output)\n }\n\n const parsed = parseDate({\n date: props.date,\n input: props.input,\n locale: props.locale,\n strict: props.strict\n })\n\n if (!parsed.isValid) {\n return props.invalid ?? parsed.error\n }\n\n return parsed.format(output)\n }\n}\n\nconst createFormatterCreateDateChain = (getConfig: () => ResolvedDateFormatterConfig) => {\n return (props?: CreateDateChainOptions): DateChain => {\n return createDateChainFromResolvedConfig(props, getConfig())\n }\n}\n\nfunction resolveLocaleOrThrow(locale: LocaleInput): SupportedLocale {\n const resolvedLocale = resolveLocale(locale)\n\n if (!resolvedLocale) {\n throw new Error(\n `Unsupported locale: ${locale}. The package tries an exact locale match first and then falls back to the base locale.`\n )\n }\n\n return resolvedLocale\n}\n\nexport const getSupportedLocales = (): readonly SupportedLocale[] => SUPPORTED_LOCALES\n\nexport const createDateChain = (props?: CreateDateChainOptions, config?: DateFormatterConfig): DateChain => {\n const locale = getHelperLocale(config, props)\n\n return createDateChainFromResolvedConfig(props, createResolvedConfig(locale, config))\n}\n\nexport const getDate = async (props?: GetDateOptions, config?: DateFormatterConfig): Promise<string> => {\n const locale = getHelperLocale(config, props)\n const formatter = createDateFormatter({ ...config, locale })\n\n await formatter.ready\n\n return formatter.getDate(props)\n}\n\nexport const parseDate = async (\n props: DateParsingOptions,\n config?: DateFormatterConfig\n): Promise<ParseDateResult> => {\n const locale = getHelperLocale(config, props)\n const formatter = createDateFormatter({ ...config, locale })\n\n await formatter.ready\n\n return formatter.parseDate(props)\n}\n\nexport const isValidDate = async (\n props: DateParsingOptions,\n config?: DateFormatterConfig\n): Promise<boolean> => {\n const locale = getHelperLocale(config, props)\n const formatter = createDateFormatter({ ...config, locale })\n\n await formatter.ready\n\n return formatter.isValidDate(props)\n}\n\nexport const createDateFormatter = (config?: DateFormatterConfig): DateFormatter => {\n let currentLocale = config?.locale ? resolveLocaleOrThrow(config.locale) : DEFAULT_LOCALE\n\n const getConfig = (): ResolvedDateFormatterConfig => createResolvedConfig(currentLocale, config)\n\n const ready = ensureLocaleLoaded(currentLocale)\n const parseDate = createFormatterParseDate(getConfig)\n\n return {\n getDate: createFormatterGetDate(getConfig),\n parseDate,\n isValidDate: createFormatterIsValidDate(parseDate),\n createDateChain: createFormatterCreateDateChain(getConfig),\n getSupportedLocales,\n getCurrentLocale: () => currentLocale,\n setLocale: async (locale: LocaleInput) => {\n const resolvedLocale = resolveLocaleOrThrow(locale)\n\n await ensureLocaleLoaded(resolvedLocale)\n currentLocale = resolvedLocale\n },\n ready\n }\n}\n","export const SUPPORTED_LOCALES = [\n 'en',\n 'es',\n 'es-mx',\n 'fr',\n 'pt',\n 'pt-br',\n 'de',\n 'it',\n 'ja'\n] as const\n\nexport type SupportedLocale = (typeof SUPPORTED_LOCALES)[number]\nexport type LocaleInput = string\n\nconst loadedLocales = new Set<SupportedLocale>(['en'])\n\nconst localeLoaders: Record<SupportedLocale, (() => Promise<unknown>) | null> = {\n en: null,\n es: () => import('dayjs/locale/es.js'),\n 'es-mx': () => import('dayjs/locale/es-mx.js'),\n fr: () => import('dayjs/locale/fr.js'),\n pt: () => import('dayjs/locale/pt.js'),\n 'pt-br': () => import('dayjs/locale/pt-br.js'),\n de: () => import('dayjs/locale/de.js'),\n it: () => import('dayjs/locale/it.js'),\n ja: () => import('dayjs/locale/ja.js')\n}\n\nconst normalizeLocale = (locale: string): string => {\n return locale.trim().toLowerCase().replace(/_/g, '-')\n}\n\nconst asSupportedLocale = (locale: string): SupportedLocale | null => {\n if (!SUPPORTED_LOCALES.includes(locale as SupportedLocale)) {\n return null\n }\n\n return locale as SupportedLocale\n}\n\nexport const isSupportedLocale = (locale: string): boolean => {\n return resolveLocale(locale) !== null\n}\n\nexport const resolveLocale = (locale: LocaleInput): SupportedLocale | null => {\n const normalizedLocale = normalizeLocale(locale)\n const exactLocale = asSupportedLocale(normalizedLocale)\n\n if (exactLocale) {\n return exactLocale\n }\n\n const [baseLocale] = normalizedLocale.split('-')\n\n if (!baseLocale) {\n return null\n }\n\n return asSupportedLocale(baseLocale)\n}\n\nexport const markLocaleAsLoaded = (locale: SupportedLocale): void => {\n loadedLocales.add(locale)\n}\n\nexport const isLocaleLoaded = (locale: SupportedLocale): boolean => {\n return loadedLocales.has(locale)\n}\n\nexport const ensureLocaleLoaded = async (locale: SupportedLocale): Promise<void> => {\n if (loadedLocales.has(locale)) {\n return\n }\n\n const load = localeLoaders[locale]\n\n if (!load) {\n loadedLocales.add(locale)\n return\n }\n\n await load()\n loadedLocales.add(locale)\n}\n","import {\n createDateChain,\n createDateFormatter,\n getDate,\n getSupportedLocales,\n isSupportedLocale,\n isValidDate,\n parseDate,\n resolveLocale\n} from '../index.js'\n\nexport const DateKit = {\n createDateChain,\n createDateFormatter,\n getDate,\n getSupportedLocales,\n isSupportedLocale,\n parseDate,\n isValidDate,\n resolveLocale\n}\n\ndeclare global {\n interface Window {\n DateKit: typeof DateKit\n }\n}\n\nif (typeof window !== 'undefined') {\n window.DateKit = DateKit\n}\n"],"mappings":"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","names":["parseDate"]}