calendar-link
Version:
📅 Calendar link generator for popular services, like Google, Outlook, and Yahoo.
1 lines • 38.9 kB
Source Map (JSON)
{"version":3,"file":"index.modern.mjs","sources":["../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/plugin/utc.js","../src/utils.ts","../src/index.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(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var r=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),r.call(this,t)};var o=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else o.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s;if(0===u)return this.utc(f);var r=this.clone();if(f)return r.$offset=u,r.$u=!1,r;var o=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(r=this.local().add(u+o,t)).$offset=u,r.$x.$localOffset=o,r};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","export const TimeFormats = {\n dateTimeLocal: \"YYYY-MM-DD[T]HH:mm:ss\",\n dateTimeUTC: \"YYYYMMDD[T]HHmmss[Z]\",\n allDay: \"YYYYMMDD\",\n};\n","import dayjs from \"dayjs\";\nimport utc from \"dayjs/plugin/utc\";\n\nimport {\n CalendarEvent,\n CalendarEventOrganizer,\n NormalizedCalendarEvent,\n Aol,\n Google,\n MsTeams,\n Outlook,\n Yahoo,\n} from \"./interfaces\";\nimport { TimeFormats } from \"./utils\";\n\ndayjs.extend(utc);\n\nfunction stringify(input: Record<string, any>): string {\n const params = new URLSearchParams();\n Object.keys(input)\n .sort()\n .forEach((key) => {\n const value = input[key];\n if (value != null) {\n params.append(key, value);\n }\n });\n return params.toString().replace(/\\+/g, \"%20\");\n}\n\nfunction formatTimes(\n { startTime, endTime }: NormalizedCalendarEvent,\n dateTimeFormat: keyof typeof TimeFormats\n): { start: string; end: string } {\n const format = TimeFormats[dateTimeFormat];\n return { start: startTime.format(format), end: endTime.format(format) };\n}\n\nconst parseDate = (date: CalendarEvent[\"start\"], allDay?: boolean, toUtc: boolean = true) => {\n if (allDay) return dayjs.utc(date);\n return toUtc ? dayjs(date).utc() : dayjs(date);\n};\n\nexport const eventify = (event: CalendarEvent, toUtc: boolean = true): NormalizedCalendarEvent => {\n const { start, end, duration, ...rest } = event;\n const startTime = parseDate(start, event.allDay, toUtc);\n const endTime = end\n ? parseDate(end, event.allDay, toUtc)\n : (() => {\n if (event.allDay) {\n return startTime.add(1, \"day\");\n }\n if (duration && duration.length == 2) {\n const value = Number(duration[0]);\n const unit = duration[1];\n return startTime.add(value, unit);\n }\n return startTime;\n })();\n return {\n ...rest,\n startTime: startTime,\n endTime: endTime,\n };\n};\n\nexport const google = (calendarEvent: CalendarEvent): string => {\n const event = eventify(calendarEvent);\n const { start, end } = formatTimes(event, event.allDay ? \"allDay\" : \"dateTimeUTC\");\n const details: Google = {\n action: \"TEMPLATE\",\n text: event.title,\n details: event.description,\n location: event.location,\n trp: event.busy,\n dates: start + \"/\" + end,\n recur: event.rRule ? \"RRULE:\" + event.rRule : undefined,\n };\n if (event.guests && event.guests.length) {\n details.add = event.guests.join();\n }\n return `https://calendar.google.com/calendar/render?${stringify(details)}`;\n};\n\nexport const outlook = (calendarEvent: CalendarEvent): string => {\n const event = eventify(calendarEvent, false);\n const { start, end } = formatTimes(event, \"dateTimeLocal\");\n const details: Outlook = {\n path: \"/calendar/action/compose\",\n rru: \"addevent\",\n startdt: start,\n enddt: end,\n subject: event.title,\n body: event.description,\n location: event.location,\n allday: event.allDay || false,\n };\n if (event.guests && event.guests.length) {\n details.to = event.guests.join();\n }\n return `https://outlook.live.com/calendar/0/action/compose?${stringify(details)}`;\n};\n\nexport const outlookMobile = (calendarEvent: CalendarEvent): string => {\n const event = eventify(calendarEvent, false);\n const { start, end } = formatTimes(event, \"dateTimeLocal\");\n const details: Outlook = {\n path: \"/calendar/action/compose\",\n rru: \"addevent\",\n startdt: start,\n enddt: end,\n subject: event.title,\n body: event.description,\n location: event.location,\n allday: event.allDay || false,\n };\n if (event.guests && event.guests.length) {\n details.to = event.guests.join();\n }\n return `https://outlook.live.com/calendar/0/deeplink/compose?${stringify(details)}`;\n};\n\nexport const office365 = (calendarEvent: CalendarEvent): string => {\n const event = eventify(calendarEvent, false);\n const { start, end } = formatTimes(event, \"dateTimeLocal\");\n const details: Outlook = {\n path: \"/calendar/action/compose\",\n rru: \"addevent\",\n startdt: start,\n enddt: end,\n subject: event.title,\n body: event.description,\n location: event.location,\n allday: event.allDay || false,\n };\n if (event.guests && event.guests.length) {\n details.to = event.guests.join();\n }\n return `https://outlook.office.com/calendar/0/action/compose?${stringify(details)}`;\n};\n\nexport const office365Mobile = (calendarEvent: CalendarEvent): string => {\n const event = eventify(calendarEvent, false);\n const { start, end } = formatTimes(event, \"dateTimeLocal\");\n const details: Outlook = {\n path: \"/calendar/action/compose\",\n rru: \"addevent\",\n startdt: start,\n enddt: end,\n subject: event.title,\n body: event.description,\n location: event.location,\n allday: event.allDay || false,\n };\n if (event.guests && event.guests.length) {\n details.to = event.guests.join();\n }\n return `https://outlook.office.com/calendar/0/deeplink/compose?${stringify(details)}`;\n};\n\nexport const yahoo = (calendarEvent: CalendarEvent): string => {\n const event = eventify(calendarEvent);\n const { start, end } = formatTimes(event, event.allDay ? \"allDay\" : \"dateTimeUTC\");\n const details: Yahoo = {\n v: 60,\n title: event.title,\n st: start,\n et: end,\n desc: event.description,\n in_loc: event.location,\n dur: event.allDay ? \"allday\" : false,\n };\n return `https://calendar.yahoo.com/?${stringify(details)}`;\n};\n\nexport const aol = (calendarEvent: CalendarEvent): string => {\n const event = eventify(calendarEvent);\n const { start, end } = formatTimes(event, event.allDay ? \"allDay\" : \"dateTimeUTC\");\n const details: Aol = {\n v: 60,\n title: event.title,\n st: start,\n et: end,\n desc: event.description,\n in_loc: event.location,\n dur: event.allDay ? \"allday\" : false,\n };\n return `https://calendar.aol.com/?${stringify(details)}`;\n};\n\n// https://learn.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/deep-link-workflow?tabs=teamsjs-v2#configure-deep-link-manually-to-open-a-meeting-scheduling-dialog\nexport const msTeams = (calendarEvent: CalendarEvent): string => {\n const event = eventify(calendarEvent);\n const details: MsTeams = {\n subject: event.title,\n content: event.description,\n startTime: event.startTime.toISOString(),\n endTime: event.endTime.toISOString(),\n };\n if (event.guests && event.guests.length) {\n details.attendees = event.guests.join();\n }\n return `https://teams.microsoft.com/l/meeting/new?${stringify(details)}`;\n};\n\nexport const ics = (calendarEvent: CalendarEvent): string => {\n const event = eventify(calendarEvent);\n const formattedDescription: string = (event.description || \"\")\n .replace(/,/gm, \",\")\n .replace(/;/gm, \";\")\n .replace(/\\r\\n/gm, \"\\n\")\n .replace(/\\n/gm, \"\\\\n\")\n .replace(/(\\\\n)[\\s\\t]+/gm, \"\\\\n\");\n\n const formattedLocation: string = (event.location || \"\")\n .replace(/,/gm, \",\")\n .replace(/;/gm, \";\")\n .replace(/\\r\\n/gm, \"\\n\")\n .replace(/\\n/gm, \"\\\\n\")\n .replace(/(\\\\n)[\\s\\t]+/gm, \"\\\\n\");\n\n const { start, end } = formatTimes(event, event.allDay ? \"allDay\" : \"dateTimeUTC\");\n const dateStamp = dayjs(new Date()).utc().format(TimeFormats[\"dateTimeUTC\"]);\n const calendarChunks = [\n {\n key: \"BEGIN\",\n value: \"VCALENDAR\",\n },\n {\n key: \"VERSION\",\n value: \"2.0\",\n },\n {\n key: \"PRODID\",\n value: \"-//AnandChowdhary//calendar-link//EN\"\n },\n {\n key: \"BEGIN\",\n value: \"VEVENT\",\n },\n {\n key: \"URL\",\n value: event.url,\n },\n {\n key: \"DTSTART\",\n value: start,\n },\n {\n key: \"DTEND\",\n value: end,\n },\n {\n key: \"DTSTAMP\",\n value: dateStamp,\n },\n ...(event.allDay ? [\n {\n key: \"X-MICROSOFT-CDO-ALLDAYEVENT\",\n value: \"TRUE\"\n },\n {\n key: \"X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT\",\n value: \"TRUE\"\n }] : []),\n {\n key: \"RRULE\",\n value: event.rRule,\n },\n {\n key: \"SUMMARY\",\n value: event.title,\n },\n {\n key: \"DESCRIPTION\",\n value: formattedDescription,\n },\n {\n key: \"LOCATION\",\n value: formattedLocation,\n },\n {\n key: \"ORGANIZER\",\n value: event.organizer,\n },\n {\n key: \"STATUS\",\n value: event.status,\n },\n {\n key: \"UID\",\n value: event.uid || Math.floor(Math.random() * 100000).toString().replace(\".\", \"\"),\n },\n {\n key: \"END\",\n value: \"VEVENT\",\n },\n {\n key: \"END\",\n value: \"VCALENDAR\",\n },\n ];\n\n let calendarUrl: string = \"\";\n\n calendarChunks.forEach((chunk) => {\n if (chunk.value) {\n if (chunk.key == \"ORGANIZER\") {\n const value = chunk.value as CalendarEventOrganizer;\n calendarUrl += `${chunk.key};${encodeURIComponent(\n `CN=${value.name}:MAILTO:${value.email}\\r\\n`\n )}`;\n } else {\n calendarUrl += `${chunk.key}:${encodeURIComponent(`${chunk.value}\\r\\n`)}`;\n }\n }\n });\n\n return `data:text/calendar;charset=utf8,${calendarUrl}`;\n};\n\nexport { CalendarEvent };\n"],"names":["module","e","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","split","months","ordinal","t","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","g","S","_","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","this","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls","local","call","getUTCFullYear","getUTCMonth","getUTCDate","getUTCDay","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","$localOffset","isUTC","TimeFormats","dateTimeLocal","dateTimeUTC","allDay","stringify","input","params","URLSearchParams","Object","keys","sort","key","value","append","formatTimes","startTime","endTime","dateTimeFormat","start","end","dayjs","parseDate","toUtc","eventify","event","duration","rest","_objectWithoutPropertiesLoose","_extends","google","calendarEvent","details","action","text","title","description","location","trp","busy","dates","recur","rRule","undefined","guests","outlook","path","rru","startdt","enddt","subject","body","allday","to","outlookMobile","office365","office365Mobile","yahoo","st","et","desc","in_loc","dur","aol","msTeams","content","attendees","ics","formattedDescription","formattedLocation","dateStamp","calendarChunks","url","organizer","status","uid","random","calendarUrl","chunk","encodeURIComponent","email"],"mappings":"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"}