UNPKG

@dialpad/dialtone

Version:

Dialpad's Dialtone design system monorepo

3 lines (2 loc) 1.48 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("date-fns"),f=require("./datepicker-constants.cjs"),u=t=>t?new Date(t):new Date,g=(t,e,n)=>{const o=u(JSON.parse(JSON.stringify(t))),s=[];for(let c=0;c<7;c++){const r=a.addDays(o,c),D=a.getMonth(r)!==e;s.push({text:r.getDate(),value:r,currentMonth:!D,isFirstDayOfMonth:r.getDate()===1&&!D,selected:n?r.getDate()===n&&!D:!1})}return s},h=(t,e)=>!t||!e?!1:a.isEqual(t,e),M=(t,e,n)=>{const o=[],s=u(new Date(e,t)),c=u(new Date(e,t+1,0)),r=f.WEEK_START,D=a.startOfWeek(s,{weekStartsOn:r}),d=i=>{const y=g(i,t,n);if(o.push({days:y}),!o[o.length-1].days.some(l=>h(l.value,c))){const l=a.addDays(i,7);d(l)}};return d(D),o},k=(t,e)=>{const n=[1,2,3,4,5,6,7].map(c=>new Intl.DateTimeFormat(t,{weekday:"short",timeZone:"UTC"}).format(new Date(`2017-01-0${c}T00:00:00+00:00`)).slice(0,2)),o=n.slice(0,e),s=n.slice(e+1,n.length);return[n[e]].concat(...s).concat(...o)},m=(t,e,n)=>new Intl.DateTimeFormat(n,{month:e}).format(new Date(2e3,t,1)),w=t=>{const e=new Date(t),n=a.getDay(e),o=a.addMonths(e,1),s=a.startOfMonth(o),c=a.getDay(s),r=(n-c+7)%7,D=a.addDays(s,r);return a.getDate(D)},W=t=>{const e=new Date(t),n=a.getDay(e);let s=a.endOfMonth(a.subMonths(e,1));for(;a.getDay(s)!==n;)s=a.addDays(s,-1);return a.getDate(s)};exports.calculateNextFocusDate=w;exports.calculatePrevFocusDate=W;exports.formatMonth=m;exports.getCalendarDays=M;exports.getWeekDayNames=k; //# sourceMappingURL=utils.cjs.map