vue-cal 4.4.0 → 4.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{drag-and-drop.amd.9faee95c.js → drag-and-drop.amd.js} +1 -1
- package/dist/{drag-and-drop.cjs.75464d22.js → drag-and-drop.cjs.js} +1 -1
- package/dist/{drag-and-drop.es.44543a28.mjs → drag-and-drop.es.js} +1 -1
- package/dist/i18n/{ar.amd.e9c5b332.js → ar.amd.js} +1 -1
- package/dist/i18n/{ar.cjs.902e6dd0.js → ar.cjs.js} +1 -1
- package/dist/i18n/{ar.es.8234342a.mjs → ar.es.js} +1 -1
- package/dist/i18n/{bg.amd.3cb97e26.js → bg.amd.js} +1 -1
- package/dist/i18n/{bg.cjs.d4fc7e53.js → bg.cjs.js} +1 -1
- package/dist/i18n/{bg.es.ef0acc3a.mjs → bg.es.js} +1 -1
- package/dist/i18n/{bn.amd.dfc2f0e8.js → bn.amd.js} +1 -1
- package/dist/i18n/{bn.cjs.8dfb193a.js → bn.cjs.js} +1 -1
- package/dist/i18n/{bn.es.7887b557.mjs → bn.es.js} +1 -1
- package/dist/i18n/{bs.amd.e1ea85fc.js → bs.amd.js} +1 -1
- package/dist/i18n/{bs.cjs.f4c812c4.js → bs.cjs.js} +1 -1
- package/dist/i18n/{bs.es.8842896d.mjs → bs.es.js} +1 -1
- package/dist/i18n/{ca.amd.72faeed5.js → ca.amd.js} +1 -1
- package/dist/i18n/{ca.cjs.e7ac0406.js → ca.cjs.js} +1 -1
- package/dist/i18n/{ca.es.01e1781b.mjs → ca.es.js} +1 -1
- package/dist/i18n/{cs.amd.9e6c86aa.js → cs.amd.js} +1 -1
- package/dist/i18n/{cs.cjs.0298db24.js → cs.cjs.js} +1 -1
- package/dist/i18n/{cs.es.905f2cdb.mjs → cs.es.js} +1 -1
- package/dist/i18n/{da.amd.4700575b.js → da.amd.js} +1 -1
- package/dist/i18n/{da.cjs.7d7b379b.js → da.cjs.js} +1 -1
- package/dist/i18n/{da.es.776b59f8.mjs → da.es.js} +1 -1
- package/dist/i18n/{de.amd.fe98342e.js → de.amd.js} +1 -1
- package/dist/i18n/{de.cjs.2beb89ad.js → de.cjs.js} +1 -1
- package/dist/i18n/{de.es.537bd968.mjs → de.es.js} +1 -1
- package/dist/i18n/{el.amd.49a97dfc.js → el.amd.js} +1 -1
- package/dist/i18n/{el.cjs.0f437652.js → el.cjs.js} +1 -1
- package/dist/i18n/{el.es.e0627980.mjs → el.es.js} +1 -1
- package/dist/i18n/{en.amd.adb68caf.js → en.amd.js} +1 -1
- package/dist/i18n/{en.cjs.a5a1a29f.js → en.cjs.js} +1 -1
- package/dist/i18n/{en.es.e5be1d3d.mjs → en.es.js} +1 -1
- package/dist/i18n/{es.amd.7178f941.js → es.amd.js} +1 -1
- package/dist/i18n/{es.cjs.055cf85d.js → es.cjs.js} +1 -1
- package/dist/i18n/{es.es.35406e45.mjs → es.es.js} +1 -1
- package/dist/i18n/{fa.amd.8c4a493b.js → fa.amd.js} +1 -1
- package/dist/i18n/{fa.cjs.126f90a0.js → fa.cjs.js} +1 -1
- package/dist/i18n/{fa.es.3b142530.mjs → fa.es.js} +1 -1
- package/dist/i18n/{fr.amd.6c1e3110.js → fr.amd.js} +1 -1
- package/dist/i18n/{fr.cjs.3dd531cd.js → fr.cjs.js} +1 -1
- package/dist/i18n/{fr.es.1de4d1bb.mjs → fr.es.js} +1 -1
- package/dist/i18n/{he.amd.266f8ef4.js → he.amd.js} +1 -1
- package/dist/i18n/{he.cjs.d3ffe175.js → he.cjs.js} +1 -1
- package/dist/i18n/{he.es.dbcf89de.mjs → he.es.js} +1 -1
- package/dist/i18n/{hr.amd.c9addea1.js → hr.amd.js} +1 -1
- package/dist/i18n/{hr.cjs.7d18ddb2.js → hr.cjs.js} +1 -1
- package/dist/i18n/{hr.es.bf6c1ed8.mjs → hr.es.js} +1 -1
- package/dist/i18n/{hu.amd.b7dafe87.js → hu.amd.js} +1 -1
- package/dist/i18n/{hu.cjs.59073a63.js → hu.cjs.js} +1 -1
- package/dist/i18n/{hu.es.281c3c4b.mjs → hu.es.js} +1 -1
- package/dist/i18n/{id.amd.1cb9c67c.js → id.amd.js} +1 -1
- package/dist/i18n/{id.cjs.8cebb2e6.js → id.cjs.js} +1 -1
- package/dist/i18n/{id.es.eb0db2f7.mjs → id.es.js} +1 -1
- package/dist/i18n/{is.amd.7dab8cc4.js → is.amd.js} +1 -1
- package/dist/i18n/{is.cjs.11c94813.js → is.cjs.js} +1 -1
- package/dist/i18n/{is.es.2a1f7fa7.mjs → is.es.js} +1 -1
- package/dist/i18n/{it.amd.7f2eca27.js → it.amd.js} +1 -1
- package/dist/i18n/{it.cjs.d9a84970.js → it.cjs.js} +1 -1
- package/dist/i18n/{it.es.746416ad.mjs → it.es.js} +1 -1
- package/dist/i18n/{ja.amd.e3f50d02.js → ja.amd.js} +1 -1
- package/dist/i18n/{ja.cjs.70f1d9f3.js → ja.cjs.js} +1 -1
- package/dist/i18n/{ja.es.3605b7b6.mjs → ja.es.js} +1 -1
- package/dist/i18n/{ka.amd.2bc20ec4.js → ka.amd.js} +1 -1
- package/dist/i18n/{ka.cjs.54855449.js → ka.cjs.js} +1 -1
- package/dist/i18n/{ka.es.8ce4a005.mjs → ka.es.js} +1 -1
- package/dist/i18n/{ko.amd.dc8a6639.js → ko.amd.js} +1 -1
- package/dist/i18n/{ko.cjs.ea275c35.js → ko.cjs.js} +1 -1
- package/dist/i18n/{ko.es.3e568bdf.mjs → ko.es.js} +1 -1
- package/dist/i18n/{lt.amd.0e6b59f3.js → lt.amd.js} +1 -1
- package/dist/i18n/{lt.cjs.52260df5.js → lt.cjs.js} +1 -1
- package/dist/i18n/{lt.es.bc961773.mjs → lt.es.js} +1 -1
- package/dist/i18n/{mn.amd.17945152.js → mn.amd.js} +1 -1
- package/dist/i18n/{mn.cjs.e05559ef.js → mn.cjs.js} +1 -1
- package/dist/i18n/{mn.es.089e63f6.mjs → mn.es.js} +1 -1
- package/dist/i18n/{nl.amd.44d7fb17.js → nl.amd.js} +1 -1
- package/dist/i18n/{nl.cjs.46b59ed3.js → nl.cjs.js} +1 -1
- package/dist/i18n/{nl.es.d7dae7a6.mjs → nl.es.js} +1 -1
- package/dist/i18n/{no.amd.008cce64.js → no.amd.js} +1 -1
- package/dist/i18n/{no.cjs.17d4a981.js → no.cjs.js} +1 -1
- package/dist/i18n/{no.es.cb184396.mjs → no.es.js} +1 -1
- package/dist/i18n/{pl.amd.1c3ef9dc.js → pl.amd.js} +1 -1
- package/dist/i18n/{pl.cjs.8606a4fa.js → pl.cjs.js} +1 -1
- package/dist/i18n/{pl.es.881ec24e.mjs → pl.es.js} +1 -1
- package/dist/i18n/{pt-br.amd.87e3a5af.js → pt-br.amd.js} +1 -1
- package/dist/i18n/{pt-br.cjs.20964150.js → pt-br.cjs.js} +1 -1
- package/dist/i18n/{pt-br.es.64f2f007.mjs → pt-br.es.js} +1 -1
- package/dist/i18n/{ro.amd.561e792f.js → ro.amd.js} +1 -1
- package/dist/i18n/{ro.cjs.c5964aa1.js → ro.cjs.js} +1 -1
- package/dist/i18n/{ro.es.cab005e0.mjs → ro.es.js} +1 -1
- package/dist/i18n/{ru.amd.963bec75.js → ru.amd.js} +1 -1
- package/dist/i18n/{ru.cjs.c8e2e588.js → ru.cjs.js} +1 -1
- package/dist/i18n/{ru.es.87cec50c.mjs → ru.es.js} +1 -1
- package/dist/i18n/{sk.amd.7108fd29.js → sk.amd.js} +1 -1
- package/dist/i18n/{sk.cjs.bdf5f8c2.js → sk.cjs.js} +1 -1
- package/dist/i18n/{sk.es.aa2b941e.mjs → sk.es.js} +1 -1
- package/dist/i18n/{sl.amd.df9da7d8.js → sl.amd.js} +1 -1
- package/dist/i18n/{sl.cjs.2de7f578.js → sl.cjs.js} +1 -1
- package/dist/i18n/{sl.es.b55d833b.mjs → sl.es.js} +1 -1
- package/dist/i18n/{sq.amd.bf8fa4d6.js → sq.amd.js} +1 -1
- package/dist/i18n/{sq.cjs.201b1cbe.js → sq.cjs.js} +1 -1
- package/dist/i18n/{sq.es.31190ff3.mjs → sq.es.js} +1 -1
- package/dist/i18n/{sr.amd.f3e047d9.js → sr.amd.js} +1 -1
- package/dist/i18n/{sr.cjs.7d98c55f.js → sr.cjs.js} +1 -1
- package/dist/i18n/{sr.es.21b194a9.mjs → sr.es.js} +1 -1
- package/dist/i18n/{sv.amd.c1adc932.js → sv.amd.js} +1 -1
- package/dist/i18n/{sv.cjs.801fbdb0.js → sv.cjs.js} +1 -1
- package/dist/i18n/{sv.es.baad24e7.mjs → sv.es.js} +1 -1
- package/dist/i18n/{tr.amd.8a20e593.js → tr.amd.js} +1 -1
- package/dist/i18n/{tr.cjs.6376d54c.js → tr.cjs.js} +1 -1
- package/dist/i18n/{tr.es.4d85aa06.mjs → tr.es.js} +1 -1
- package/dist/i18n/{uk.amd.9a8613b1.js → uk.amd.js} +1 -1
- package/dist/i18n/{uk.cjs.a6c128ab.js → uk.cjs.js} +1 -1
- package/dist/i18n/{uk.es.b5df2049.mjs → uk.es.js} +1 -1
- package/dist/i18n/{vi.amd.5782588e.js → vi.amd.js} +1 -1
- package/dist/i18n/{vi.cjs.a08ecc18.js → vi.cjs.js} +1 -1
- package/dist/i18n/{vi.es.bffb3f93.mjs → vi.es.js} +1 -1
- package/dist/i18n/{zh-cn.amd.58ccf4cf.js → zh-cn.amd.js} +1 -1
- package/dist/i18n/{zh-cn.cjs.2db8e658.js → zh-cn.cjs.js} +1 -1
- package/dist/i18n/{zh-cn.es.332e0d97.mjs → zh-cn.es.js} +1 -1
- package/dist/i18n/{zh-hk.amd.74631c2c.js → zh-hk.amd.js} +1 -1
- package/dist/i18n/{zh-hk.cjs.93557051.js → zh-hk.cjs.js} +1 -1
- package/dist/i18n/{zh-hk.es.7decc6e6.mjs → zh-hk.es.js} +1 -1
- package/dist/{vue-cal.amd.js → index.amd.js} +4 -4
- package/dist/{vue-cal.js → index.cjs.js} +3 -3
- package/dist/{vue-cal.mjs → index.es.js} +13 -13
- package/dist/{vue-cal.iife.js → index.iife.js} +0 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* vue-cal v4.4.
|
|
2
|
+
* vue-cal v4.4.1
|
|
3
3
|
* (c) 2022 Antoni Andre <antoniandre.web@gmail.com>
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/define(["exports"],function(e){"use strict";const t=["\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D","\u661F\u671F\u65E5"],n=["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u65E5"],a=["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],o="\u5E74",y="\u672C\u5E74",c="\u6708",d="\u5468",s="\u65E5",l="\u4ECA\u65E5",h="\u66AB\u7121\u6D3B\u52D5",k="\u6574\u5929",m="\u522A\u9664",v="\u65B0\u5EFA\u6D3B\u52D5",D="YYYY MMMM D dddd",w={weekDays:t,weekDaysShort:n,months:a,years:o,year:y,month:c,week:d,day:s,today:l,noEvent:h,allDay:k,deleteEvent:m,createEvent:v,dateFormat:D};e.allDay=k,e.createEvent=v,e.dateFormat=D,e.day=s,e.default=w,e.deleteEvent=m,e.month=c,e.months=a,e.noEvent=h,e.today=l,e.week=d,e.weekDays=t,e.weekDaysShort=n,e.year=y,e.years=o,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";/**
|
|
2
|
-
* vue-cal v4.4.
|
|
2
|
+
* vue-cal v4.4.1
|
|
3
3
|
* (c) 2022 Antoni Andre <antoniandre.web@gmail.com>
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=["\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D","\u661F\u671F\u65E5"],t=["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u65E5"],o=["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],a="\u5E74",n="\u672C\u5E74",s="\u6708",y="\u5468",c="\u65E5",d="\u4ECA\u65E5",r="\u66AB\u7121\u6D3B\u52D5",l="\u6574\u5929",h="\u522A\u9664",k="\u65B0\u5EFA\u6D3B\u52D5",m="YYYY MMMM D dddd",v={weekDays:e,weekDaysShort:t,months:o,years:a,year:n,month:s,week:y,day:c,today:d,noEvent:r,allDay:l,deleteEvent:h,createEvent:k,dateFormat:m};exports.allDay=l;exports.createEvent=k;exports.dateFormat=m;exports.day=c;exports.default=v;exports.deleteEvent=h;exports.month=s;exports.months=o;exports.noEvent=r;exports.today=d;exports.week=y;exports.weekDays=e;exports.weekDaysShort=t;exports.year=n;exports.years=a;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var nt=Object.defineProperty;var
|
|
2
|
-
* vue-cal v4.4.
|
|
1
|
+
var nt=Object.defineProperty;var lt=(u,i,C)=>i in u?nt(u,i,{enumerable:!0,configurable:!0,writable:!0,value:C}):u[i]=C;var _=(u,i,C)=>(lt(u,typeof i!="symbol"?i+"":i,C),C);/**
|
|
2
|
+
* vue-cal v4.4.1
|
|
3
3
|
* (c) 2022 Antoni Andre <antoniandre.web@gmail.com>
|
|
4
4
|
* @license MIT
|
|
5
|
-
*/define(["require","vue"],function(u,i){"use strict";const E=(s,e)=>{const t=s[e];return t?typeof t=="function"?t():Promise.resolve(t):new Promise((a,r)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(r.bind(null,new Error("Unknown variable dynamic import: "+e)))})};let V,N,x,p,B={},T={};class P{constructor(e,t=!1){_(this,"texts",{});_(this,"dateToMinutes",e=>e.getHours()*60+e.getMinutes());p=this,this._texts=e,!t&&Date&&!Date.prototype.addDays&&this._initDatePrototypes()}_initDatePrototypes(){Date.prototype.addDays=function(e){return p.addDays(this,e)},Date.prototype.subtractDays=function(e){return p.subtractDays(this,e)},Date.prototype.addHours=function(e){return p.addHours(this,e)},Date.prototype.subtractHours=function(e){return p.subtractHours(this,e)},Date.prototype.addMinutes=function(e){return p.addMinutes(this,e)},Date.prototype.subtractMinutes=function(e){return p.subtractMinutes(this,e)},Date.prototype.getWeek=function(){return p.getWeek(this)},Date.prototype.isToday=function(){return p.isToday(this)},Date.prototype.isLeapYear=function(){return p.isLeapYear(this)},Date.prototype.format=function(e="YYYY-MM-DD"){return p.formatDate(this,e)},Date.prototype.formatTime=function(e="HH:mm"){return p.formatTime(this,e)}}removePrototypes(){delete Date.prototype.addDays,delete Date.prototype.subtractDays,delete Date.prototype.addHours,delete Date.prototype.subtractHours,delete Date.prototype.addMinutes,delete Date.prototype.subtractMinutes,delete Date.prototype.getWeek,delete Date.prototype.isToday,delete Date.prototype.isLeapYear,delete Date.prototype.format,delete Date.prototype.formatTime}updateTexts(e){this._texts=e}_todayFormatted(){return N!==new Date().getDate()&&(V=new Date,N=V.getDate(),x=`${V.getFullYear()}-${V.getMonth()}-${V.getDate()}`),x}addDays(e,t){const a=new Date(e.valueOf());return a.setDate(a.getDate()+t),a}subtractDays(e,t){const a=new Date(e.valueOf());return a.setDate(a.getDate()-t),a}addHours(e,t){const a=new Date(e.valueOf());return a.setHours(a.getHours()+t),a}subtractHours(e,t){const a=new Date(e.valueOf());return a.setHours(a.getHours()-t),a}addMinutes(e,t){const a=new Date(e.valueOf());return a.setMinutes(a.getMinutes()+t),a}subtractMinutes(e,t){const a=new Date(e.valueOf());return a.setMinutes(a.getMinutes()-t),a}getWeek(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),a=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-a);const r=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t-r)/864e5+1)/7)}isToday(e){return`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`===this._todayFormatted()}isLeapYear(e){const t=e.getFullYear();return!(t%400)||t%100&&!(t%4)}getPreviousFirstDayOfWeek(e=null,t){const a=e&&new Date(e.valueOf())||new Date,r=t?7:6;return a.setDate(a.getDate()-(a.getDay()+r)%7),a}stringToDate(e){return e instanceof Date?e:(e.length===10&&(e+=" 00:00"),new Date(e.replace(/-/g,"/")))}countDays(e,t){typeof e=="string"&&(e=e.replace(/-/g,"/")),typeof t=="string"&&(t=t.replace(/-/g,"/")),e=new Date(e).setHours(0,0,0,0),t=new Date(t).setHours(0,0,1,0);const a=(new Date(t).getTimezoneOffset()-new Date(e).getTimezoneOffset())*60*1e3;return Math.ceil((t-e-a)/(24*3600*1e3))}datesInSameTimeStep(e,t,a){return Math.abs(e.getTime()-t.getTime())<=a*60*1e3}formatDate(e,t="YYYY-MM-DD",a=null){if(a||(a=this._texts),t||(t="YYYY-MM-DD"),t==="YYYY-MM-DD")return this.formatDateLite(e);B={},T={};const r={YYYY:()=>this._hydrateDateObject(e,a).YYYY,YY:()=>this._hydrateDateObject(e,a).YY(),M:()=>this._hydrateDateObject(e,a).M,MM:()=>this._hydrateDateObject(e,a).MM(),MMM:()=>this._hydrateDateObject(e,a).MMM(),MMMM:()=>this._hydrateDateObject(e,a).MMMM(),MMMMG:()=>this._hydrateDateObject(e,a).MMMMG(),D:()=>this._hydrateDateObject(e,a).D,DD:()=>this._hydrateDateObject(e,a).DD(),S:()=>this._hydrateDateObject(e,a).S(),d:()=>this._hydrateDateObject(e,a).d,dd:()=>this._hydrateDateObject(e,a).dd(),ddd:()=>this._hydrateDateObject(e,a).ddd(),dddd:()=>this._hydrateDateObject(e,a).dddd(),HH:()=>this._hydrateTimeObject(e,a).HH,H:()=>this._hydrateTimeObject(e,a).H,hh:()=>this._hydrateTimeObject(e,a).hh,h:()=>this._hydrateTimeObject(e,a).h,am:()=>this._hydrateTimeObject(e,a).am,AM:()=>this._hydrateTimeObject(e,a).AM,mm:()=>this._hydrateTimeObject(e,a).mm,m:()=>this._hydrateTimeObject(e,a).m};return t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,(n,o)=>{const l=r[o.replace(/\{|\}/g,"")];return l!==void 0?l():o})}formatDateLite(e){const t=e.getMonth()+1,a=e.getDate();return`${e.getFullYear()}-${t<10?"0":""}${t}-${a<10?"0":""}${a}`}formatTime(e,t="HH:mm",a=null,r=!1){let n=!1;if(r){const[c,d,h]=[e.getHours(),e.getMinutes(),e.getSeconds()];c+d+h===23+59+59&&(n=!0)}if(e instanceof Date&&t==="HH:mm")return n?"24:00":this.formatTimeLite(e);T={},a||(a=this._texts);const o=this._hydrateTimeObject(e,a),l=t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,(c,d)=>{const h=o[d.replace(/\{|\}/g,"")];return h!==void 0?h:d});return n?l.replace("23:59","24:00"):l}formatTimeLite(e){const t=e.getHours(),a=e.getMinutes();return`${(t<10?"0":"")+t}:${(a<10?"0":"")+a}`}_nth(e){if(e>3&&e<21)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}_hydrateDateObject(e,t){if(B.D)return B;const a=e.getFullYear(),r=e.getMonth()+1,n=e.getDate(),l=(e.getDay()-1+7)%7;return B={YYYY:a,YY:()=>a.toString().substring(2),M:r,MM:()=>(r<10?"0":"")+r,MMM:()=>t.months[r-1].substring(0,3),MMMM:()=>t.months[r-1],MMMMG:()=>(t.monthsGenitive||t.months)[r-1],D:n,DD:()=>(n<10?"0":"")+n,S:()=>this._nth(n),d:l+1,dd:()=>t.weekDays[l][0],ddd:()=>t.weekDays[l].substr(0,3),dddd:()=>t.weekDays[l]},B}_hydrateTimeObject(e,t){if(T.am)return T;let a,r;e instanceof Date?(a=e.getHours(),r=e.getMinutes()):(a=Math.floor(e/60),r=Math.floor(e%60));const n=a%12?a%12:12,o=(t||{am:"am",pm:"pm"})[a===24||a<12?"am":"pm"];return T={H:a,h:n,HH:(a<10?"0":"")+a,hh:(n<10?"0":"")+n,am:o,AM:o.toUpperCase(),m:r,mm:(r<10?"0":"")+r},T}}const I=24*60;class U{constructor(e){_(this,"_vuecal",null);_(this,"selectCell",(e=!1,t,a)=>{this._vuecal.$emit("cell-click",a?{date:t,split:a}:t),this._vuecal.clickToNavigate||e?this._vuecal.switchToNarrowerView():this._vuecal.dblclickToNavigate&&"ontouchstart"in window&&(this._vuecal.domEvents.dblTapACell.taps++,setTimeout(()=>this._vuecal.domEvents.dblTapACell.taps=0,this._vuecal.domEvents.dblTapACell.timeout),this._vuecal.domEvents.dblTapACell.taps>=2&&(this._vuecal.domEvents.dblTapACell.taps=0,this._vuecal.switchToNarrowerView(),this._vuecal.$emit("cell-dblclick",a?{date:t,split:a}:t)))});_(this,"keyPressEnterCell",(e,t)=>{this._vuecal.$emit("cell-keypress-enter",t?{date:e,split:t}:e),this._vuecal.switchToNarrowerView()});_(this,"getPosition",e=>{const{left:t,top:a}=this._vuecal.cellsEl.getBoundingClientRect(),{clientX:r,clientY:n}="ontouchstart"in window&&e.touches?e.touches[0]:e;return{x:r-t,y:n-a}});_(this,"minutesAtCursor",e=>{let t=0,a={x:0,y:0};const{timeStep:r,timeCellHeight:n,timeFrom:o}=this._vuecal.$props;return typeof e=="number"?t=e:typeof e=="object"&&(a=this.getPosition(e),t=Math.round(a.y*r/parseInt(n)+o)),{minutes:Math.max(Math.min(t,I),0),cursorCoords:a}});this._vuecal=e}}const R=2,H=24*60;let w,f,A;class K{constructor(e,t){_(this,"_vuecal",null);_(this,"eventDefaults",{_eid:null,start:"",startTimeMinutes:0,end:"",endTimeMinutes:0,title:"",content:"",background:!1,allDay:!1,segments:null,repeat:null,daysCount:1,deletable:!0,deleting:!1,titleEditable:!0,resizable:!0,resizing:!1,draggable:!0,dragging:!1,draggingStatic:!1,focused:!1,class:""});this._vuecal=e,w=t}createAnEvent(e,t,a){if(typeof e=="string"&&(e=w.stringToDate(e)),!(e instanceof Date))return!1;const r=w.dateToMinutes(e);t=t*1||R*60;const n=r+t,o=w.addMinutes(new Date(e),t);a.end&&(typeof a.end=="string"&&(a.end=w.stringToDate(a.end)),a.endTimeMinutes=w.dateToMinutes(a.end));const l={...this.eventDefaults,_eid:`${this._vuecal._.uid}_${this._vuecal.eventIdIncrement++}`,start:e,startTimeMinutes:r,end:o,endTimeMinutes:n,segments:null,...a};if(!(typeof this._vuecal.onEventCreate=="function"&&!this._vuecal.onEventCreate(l,()=>this.deleteAnEvent(l))))return l.startDateF!==l.endDateF&&(l.daysCount=w.countDays(l.start,l.end)),this._vuecal.mutableEvents.push(l),this._vuecal.addEventsToView([l]),this._vuecal.emitWithEvent("event-create",l),this._vuecal.$emit("event-change",{event:this._vuecal.cleanupEvent(l),originalEvent:null}),l}addEventSegment(e){e.segments||(e.segments={},e.segments[w.formatDateLite(e.start)]={start:e.start,startTimeMinutes:e.startTimeMinutes,endTimeMinutes:H,isFirstDay:!0,isLastDay:!1});const t=e.segments[w.formatDateLite(e.end)];t&&(t.isLastDay=!1,t.endTimeMinutes=H);const a=w.addDays(e.end,1),r=w.formatDateLite(a);return a.setHours(0,0,0,0),e.segments[r]={start:a,startTimeMinutes:0,endTimeMinutes:e.endTimeMinutes,isFirstDay:!1,isLastDay:!0},e.end=w.addMinutes(a,e.endTimeMinutes),e.daysCount=Object.keys(e.segments).length,r}removeEventSegment(e){let t=Object.keys(e.segments).length;if(t<=1)return w.formatDateLite(e.end);delete e.segments[w.formatDateLite(e.end)],t--;const a=w.subtractDays(e.end,1),r=w.formatDateLite(a),n=e.segments[r];return t?n&&(n.isLastDay=!0,n.endTimeMinutes=e.endTimeMinutes):e.segments=null,e.daysCount=t||1,e.end=a,r}createEventSegments(e,t,a){const r=t.getTime(),n=a.getTime();let o=e.start.getTime(),l=e.end.getTime(),c=!1,d,h,v;for(!e.end.getHours()&&!e.end.getMinutes()&&(l-=1e3),e.segments={},e.repeat?(d=r,h=Math.min(n,e.repeat.until?w.stringToDate(e.repeat.until).getTime():n)):(d=Math.max(r,o),h=Math.min(n,l));d<=h;){let m=!1;const D=w.addDays(new Date(d),1).setHours(0,0,0,0);let y,k,b,g;if(e.repeat){const S=new Date(d),C=w.formatDateLite(S);(c||e.occurrences&&e.occurrences[C])&&(c||(o=e.occurrences[C].start,v=new Date(o).setHours(0,0,0,0),l=e.occurrences[C].end),c=!0,m=!0),y=d===v,k=C===w.formatDateLite(new Date(l)),b=new Date(y?o:d),g=w.formatDateLite(b),k&&(c=!1)}else m=!0,y=d===o,k=h===l&&D>h,b=y?e.start:new Date(d),g=w.formatDateLite(y?e.start:b);m&&(e.segments[g]={start:b,startTimeMinutes:y?e.startTimeMinutes:0,endTimeMinutes:k?e.endTimeMinutes:H,isFirstDay:y,isLastDay:k}),d=D}return e}deleteAnEvent(e){this._vuecal.emitWithEvent("event-delete",e),this._vuecal.mutableEvents=this._vuecal.mutableEvents.filter(t=>t._eid!==e._eid),this._vuecal.view.events=this._vuecal.view.events.filter(t=>t._eid!==e._eid)}checkCellOverlappingEvents(e,t){A=e.slice(0),f={},e.forEach(r=>{A.shift(),f[r._eid]||(f[r._eid]={overlaps:[],start:r.start,position:0}),f[r._eid].position=0,A.forEach(n=>{f[n._eid]||(f[n._eid]={overlaps:[],start:n.start,position:0});const o=this.eventInRange(n,r.start,r.end),l=t.overlapsPerTimeStep?w.datesInSameTimeStep(r.start,n.start,t.timeStep):1;if(!r.background&&!r.allDay&&!n.background&&!n.allDay&&o&&l)f[r._eid].overlaps.push(n._eid),f[r._eid].overlaps=[...new Set(f[r._eid].overlaps)],f[n._eid].overlaps.push(r._eid),f[n._eid].overlaps=[...new Set(f[n._eid].overlaps)],f[n._eid].position++;else{let c,d;(c=(f[r._eid]||{overlaps:[]}).overlaps.indexOf(n._eid))>-1&&f[r._eid].overlaps.splice(c,1),(d=(f[n._eid]||{overlaps:[]}).overlaps.indexOf(r._eid))>-1&&f[n._eid].overlaps.splice(d,1),f[n._eid].position--}})});let a=0;for(const r in f){const n=f[r],o=n.overlaps.map(l=>({id:l,start:f[l].start}));o.push({id:r,start:n.start}),o.sort((l,c)=>l.start<c.start?-1:l.start>c.start?1:l.id>c.id?-1:1),n.position=o.findIndex(l=>l.id===r),a=Math.max(this.getOverlapsStreak(n,f),a)}return[f,a]}getOverlapsStreak(e,t={}){let a=e.overlaps.length+1,r=[];return e.overlaps.forEach(n=>{r.includes(n)||e.overlaps.filter(l=>l!==n).forEach(l=>{t[l].overlaps.includes(n)||r.push(l)})}),r=[...new Set(r)],a-=r.length,a}eventInRange(e,t,a){if(e.allDay||!this._vuecal.time){const o=new Date(e.start).setHours(0,0,0,0);return new Date(e.end).setHours(23,59,0,0)>=new Date(t).setHours(0,0,0,0)&&o<=new Date(a).setHours(0,0,0,0)}const r=e.start.getTime(),n=e.end.getTime();return r<a.getTime()&&n>t.getTime()}}const X={class:"vuecal__flex vuecal__weekdays-headings"},G=["onClick"],Z={class:"vuecal__flex weekday-label",grow:""},J={class:"full"},Q={class:"small"},q={class:"xsmall"},$={key:0},ee={key:0,class:"vuecal__flex vuecal__split-days-headers",grow:""};function te(s,e,t,a,r,n){return i.openBlock(),i.createElementBlock("div",X,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.headings,(o,l)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:l},[o.hide?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",{key:0,class:i.normalizeClass(["vuecal__flex vuecal__heading",{today:o.today,clickable:n.cellHeadingsClickable}]),style:i.normalizeStyle(n.weekdayCellStyles),onClick:c=>n.view.id==="week"&&n.selectCell(o.date,c),onDblclick:e[0]||(e[0]=c=>n.view.id==="week"&&n.vuecal.dblclickToNavigate&&t.switchToNarrowerView())},[i.createVNode(i.Transition,{name:`slide-fade--${t.transitionDirection}`,appear:n.vuecal.transitions},{default:i.withCtx(()=>[(i.openBlock(),i.createElementBlock("div",{class:"vuecal__flex",column:"",key:n.vuecal.transitions?`${l}-${o.dayOfMonth}`:!1},[i.createElementVNode("div",Z,[i.renderSlot(s.$slots,"weekday-heading",{heading:n.cleanupHeading(o),view:n.view},()=>[i.createElementVNode("span",J,i.toDisplayString(o.full),1),i.createElementVNode("span",Q,i.toDisplayString(o.small),1),i.createElementVNode("span",q,i.toDisplayString(o.xsmall),1),o.dayOfMonth?(i.openBlock(),i.createElementBlock("span",$,"\xA0"+i.toDisplayString(o.dayOfMonth),1)):i.createCommentVNode("",!0)])]),n.vuecal.hasSplits&&n.vuecal.stickySplitLabels?(i.openBlock(),i.createElementBlock("div",ee,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.vuecal.daySplits,(c,d)=>(i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["day-split-header",c.class||!1]),key:d},[i.renderSlot(s.$slots,"split-label",{split:c,view:n.view},()=>[i.createTextVNode(i.toDisplayString(c.label),1)])],2))),128))])):i.createCommentVNode("",!0)]))]),_:2},1032,["name","appear"])],46,G))],64))),128))])}const lt="",M=(s,e)=>{const t=s.__vccOpts||s;for(const[a,r]of e)t[a]=r;return t},j=M({inject:["vuecal","utils","view"],props:{transitionDirection:{type:String,default:"right"},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}}},methods:{selectCell(s,e){s.getTime()!==this.view.selectedDate.getTime()&&(this.view.selectedDate=s),this.utils.cell.selectCell(!1,s,e)},cleanupHeading:s=>({label:s.full,date:s.date,...s.today?{today:s.today}:{}})},computed:{headings(){if(!["month","week"].includes(this.view.id))return[];let s=!1;return this.weekDays.map((t,a)=>{const r=this.utils.date.addDays(this.view.startDate,a);return{hide:t.hide,full:t.label,small:t.short||t.label.substr(0,3),xsmall:t.short||t.label.substr(0,1),...this.view.id==="week"?{dayOfMonth:r.getDate(),date:r,today:!s&&this.utils.date.isToday(r)&&!s++}:{}}})},cellWidth(){return 100/(7-this.weekDays.reduce((s,e)=>s+e.hide,0))},weekdayCellStyles(){return{...this.vuecal.hideWeekdays.length?{width:`${this.cellWidth}%`}:{}}},cellHeadingsClickable(){return this.view.id==="week"&&(this.vuecal.clickToNavigate||this.vuecal.dblclickToNavigate)}}},[["render",te]]),se={class:"vuecal__header"},ie={key:0,class:"vuecal__flex vuecal__menu",role:"tablist","aria-label":"Calendar views navigation"},ne=["onDragenter","onDragleave","onClick","aria-label"],ae={key:1,class:"vuecal__title-bar"},le=["aria-label"],re={class:"vuecal__flex vuecal__title",grow:""},oe=["aria-label"],de={key:0,class:"vuecal__flex vuecal__split-days-headers"};function ce(s,e,t,a,r,n){const o=i.resolveComponent("weekdays-headings");return i.openBlock(),i.createElementBlock("div",se,[t.options.hideViewSelector?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",ie,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(t.viewProps.views,(l,c)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:c},[l.enabled?(i.openBlock(),i.createElementBlock("button",{key:0,class:i.normalizeClass(["vuecal__view-btn",{"vuecal__view-btn--active":n.view.id===c,"vuecal__view-btn--highlighted":s.highlightedControl===c}]),type:"button",onDragenter:d=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(d,c,s.$data),onDragleave:d=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(d,c,s.$data),onClick:d=>n.switchView(c,null,!0),"aria-label":`${l.label} view`},i.toDisplayString(l.label),43,ne)):i.createCommentVNode("",!0)],64))),128))])),t.options.hideTitleBar?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",ae,[i.createElementVNode("button",{class:i.normalizeClass(["vuecal__arrow vuecal__arrow--prev",{"vuecal__arrow--highlighted":s.highlightedControl==="previous"}]),type:"button",onClick:e[0]||(e[0]=(...l)=>n.previous&&n.previous(...l)),onDragenter:e[1]||(e[1]=l=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(l,"previous",s.$data)),onDragleave:e[2]||(e[2]=l=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(l,"previous",s.$data)),"aria-label":`Previous ${n.view.id}`},[i.renderSlot(s.$slots,"arrow-prev")],42,le),i.createElementVNode("div",re,[i.createVNode(i.Transition,{name:t.options.transitions?`slide-fade--${n.transitionDirection}`:""},{default:i.withCtx(()=>[(i.openBlock(),i.createBlock(i.resolveDynamicComponent(n.broaderView?"button":"span"),{type:!!n.broaderView&&"button",key:`${n.view.id}${n.view.startDate.toString()}`,onClick:e[3]||(e[3]=l=>!!n.broaderView&&n.switchToBroaderView()),"aria-label":!!n.broaderView&&`Go to ${n.broaderView} view`},{default:i.withCtx(()=>[i.renderSlot(s.$slots,"title")]),_:3},8,["type","aria-label"]))]),_:3},8,["name"])]),t.options.todayButton?(i.openBlock(),i.createElementBlock("button",{key:0,class:i.normalizeClass(["vuecal__today-btn",{"vuecal__today-btn--highlighted":s.highlightedControl==="today"}]),type:"button",onClick:e[4]||(e[4]=(...l)=>n.goToToday&&n.goToToday(...l)),onDragenter:e[5]||(e[5]=l=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(l,"today",s.$data)),onDragleave:e[6]||(e[6]=l=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(l,"today",s.$data)),"aria-label":"Today"},[i.renderSlot(s.$slots,"today-button")],34)):i.createCommentVNode("",!0),i.createElementVNode("button",{class:i.normalizeClass(["vuecal__arrow vuecal__arrow--next",{"vuecal__arrow--highlighted":s.highlightedControl==="next"}]),type:"button",onClick:e[7]||(e[7]=(...l)=>n.next&&n.next(...l)),onDragenter:e[8]||(e[8]=l=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(l,"next",s.$data)),onDragleave:e[9]||(e[9]=l=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(l,"next",s.$data)),"aria-label":`Next ${n.view.id}`},[i.renderSlot(s.$slots,"arrow-next")],42,oe)])),t.viewProps.weekDaysInHeader?(i.openBlock(),i.createBlock(o,{key:2,"week-days":t.weekDays,"transition-direction":n.transitionDirection,"switch-to-narrower-view":t.switchToNarrowerView},i.createSlots({_:2},[s.$slots["weekday-heading"]?{name:"weekday-heading",fn:i.withCtx(({heading:l,view:c})=>[i.renderSlot(s.$slots,"weekday-heading",{heading:l,view:c})])}:void 0,s.$slots["split-label"]?{name:"split-label",fn:i.withCtx(({split:l})=>[i.renderSlot(s.$slots,"split-label",{split:l,view:n.view})])}:void 0]),1032,["week-days","transition-direction","switch-to-narrower-view"])):i.createCommentVNode("",!0),i.createVNode(i.Transition,{name:`slide-fade--${n.transitionDirection}`},{default:i.withCtx(()=>[n.showDaySplits?(i.openBlock(),i.createElementBlock("div",de,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(t.daySplits,(l,c)=>(i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["day-split-header",l.class||!1]),key:c},[i.renderSlot(s.$slots,"split-label",{split:l,view:n.view.id},()=>[i.createTextVNode(i.toDisplayString(l.label),1)])],2))),128))])):i.createCommentVNode("",!0)]),_:3},8,["name"])])}const ot="",he=M({inject:["vuecal","previous","next","switchView","updateSelectedDate","modules","view"],components:{WeekdaysHeadings:j},props:{options:{type:Object,default:()=>({})},editEvents:{type:Object,required:!0},hasSplits:{type:[Boolean,Number],default:!1},daySplits:{type:Array,default:()=>[]},viewProps:{type:Object,default:()=>({})},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}}},data:()=>({highlightedControl:null}),methods:{goToToday(){this.updateSelectedDate(new Date(new Date().setHours(0,0,0,0)))},switchToBroaderView(){this.transitionDirection="left",this.broaderView&&this.switchView(this.broaderView)}},computed:{transitionDirection:{get(){return this.vuecal.transitionDirection},set(s){this.vuecal.transitionDirection=s}},broaderView(){const{enabledViews:s}=this.vuecal;return s[s.indexOf(this.view.id)-1]},showDaySplits(){return this.view.id==="day"&&this.hasSplits&&this.options.stickySplitLabels&&!this.options.minSplitWidth},dnd(){return this.modules.dnd}}},[["render",ce]]),ue=["draggable"];function me(s,e,t,a,r,n){return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["vuecal__event",n.eventClasses]),style:i.normalizeStyle(n.eventStyles),tabindex:"0",onFocus:e[4]||(e[4]=(...o)=>n.focusEvent&&n.focusEvent(...o)),onKeypress:e[5]||(e[5]=i.withKeys(i.withModifiers((...o)=>n.onEnterKeypress&&n.onEnterKeypress(...o),["stop"]),["enter"])),onMouseenter:e[6]||(e[6]=(...o)=>n.onMouseEnter&&n.onMouseEnter(...o)),onMouseleave:e[7]||(e[7]=(...o)=>n.onMouseLeave&&n.onMouseLeave(...o)),onTouchstart:e[8]||(e[8]=i.withModifiers((...o)=>n.onTouchStart&&n.onTouchStart(...o),["stop"])),onMousedown:e[9]||(e[9]=o=>n.onMouseDown(o)),onMouseup:e[10]||(e[10]=(...o)=>n.onMouseUp&&n.onMouseUp(...o)),onTouchend:e[11]||(e[11]=(...o)=>n.onMouseUp&&n.onMouseUp(...o)),onTouchmove:e[12]||(e[12]=(...o)=>n.onTouchMove&&n.onTouchMove(...o)),onDblclick:e[13]||(e[13]=(...o)=>n.onDblClick&&n.onDblClick(...o)),draggable:n.draggable,onDragstart:e[14]||(e[14]=o=>n.draggable&&n.onDragStart(o)),onDragend:e[15]||(e[15]=o=>n.draggable&&n.onDragEnd())},[n.vuecal.editEvents.delete&&t.event.deletable?(i.openBlock(),i.createElementBlock("div",{key:0,class:"vuecal__event-delete",onClick:e[0]||(e[0]=i.withModifiers((...o)=>n.deleteEvent&&n.deleteEvent(...o),["stop"])),onTouchstart:e[1]||(e[1]=i.withModifiers((...o)=>n.touchDeleteEvent&&n.touchDeleteEvent(...o),["stop"]))},i.toDisplayString(n.vuecal.texts.deleteEvent),33)):i.createCommentVNode("",!0),i.renderSlot(s.$slots,"event",{event:t.event,view:n.view.id}),n.resizable?(i.openBlock(),i.createElementBlock("div",{key:1,class:"vuecal__event-resize-handle",contenteditable:"false",onMousedown:e[2]||(e[2]=i.withModifiers((...o)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...o),["stop","prevent"])),onTouchstart:e[3]||(e[3]=i.withModifiers((...o)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...o),["stop","prevent"]))},null,32)):i.createCommentVNode("",!0)],46,ue)}const ct="",ve=M({inject:["vuecal","utils","modules","view","domEvents","editEvents"],props:{cellFormattedDate:{type:String,default:""},event:{type:Object,default:()=>({})},cellEvents:{type:Array,default:()=>[]},overlaps:{type:Array,default:()=>[]},eventPosition:{type:Number,default:0},overlapsStreak:{type:Number,default:0},allDay:{type:Boolean,default:!1}},data:()=>({touch:{dragThreshold:30,startX:0,startY:0,dragged:!1}}),methods:{onMouseDown(s,e=!1){if("ontouchstart"in window&&!e)return!1;const{clickHoldAnEvent:t,focusAnEvent:a,resizeAnEvent:r,dragAnEvent:n}=this.domEvents;if(a._eid===this.event._eid&&t._eid===this.event._eid)return!0;this.focusEvent(),t._eid=null,this.vuecal.editEvents.delete&&this.event.deletable&&(t.timeoutId=setTimeout(()=>{!r._eid&&!n._eid&&(t._eid=this.event._eid,this.event.deleting=!0)},t.timeout))},onMouseUp(s){this.domEvents.focusAnEvent._eid===this.event._eid&&!this.touch.dragged&&(this.domEvents.focusAnEvent.mousedUp=!0),this.touch.dragged=!1},onMouseEnter(s){s.preventDefault(),this.vuecal.emitWithEvent("event-mouse-enter",this.event)},onMouseLeave(s){s.preventDefault(),this.vuecal.emitWithEvent("event-mouse-leave",this.event)},onTouchMove(s){if(typeof this.vuecal.onEventClick!="function")return;const{clientX:e,clientY:t}=s.touches[0],{startX:a,startY:r,dragThreshold:n}=this.touch;(Math.abs(e-a)>n||Math.abs(t-r)>n)&&(this.touch.dragged=!0)},onTouchStart(s){this.touch.startX=s.touches[0].clientX,this.touch.startY=s.touches[0].clientY,this.onMouseDown(s,!0)},onEnterKeypress(s){if(typeof this.vuecal.onEventClick=="function")return this.vuecal.onEventClick(this.event,s)},onDblClick(s){if(typeof this.vuecal.onEventDblclick=="function")return this.vuecal.onEventDblclick(this.event,s)},onDragStart(s){this.dnd&&this.dnd.eventDragStart(s,this.event)},onDragEnd(){this.dnd&&this.dnd.eventDragEnd(this.event)},onResizeHandleMouseDown(){this.focusEvent(),this.domEvents.dragAnEvent._eid=null,this.domEvents.resizeAnEvent=Object.assign(this.domEvents.resizeAnEvent,{_eid:this.event._eid,start:(this.segment||this.event).start,split:this.event.split||null,segment:!!this.segment&&this.utils.date.formatDateLite(this.segment.start),originalEnd:new Date((this.segment||this.event).end),originalEndTimeMinutes:this.event.endTimeMinutes}),this.event.resizing=!0},deleteEvent(s=!1){if("ontouchstart"in window&&!s)return!1;this.utils.event.deleteAnEvent(this.event)},touchDeleteEvent(s){this.deleteEvent(!0)},cancelDeleteEvent(){this.event.deleting=!1},focusEvent(){const{focusAnEvent:s}=this.domEvents,e=s._eid;if(e!==this.event._eid){if(e){const t=this.view.events.find(a=>a._eid===e);t&&(t.focused=!1)}this.vuecal.cancelDelete(),this.vuecal.emitWithEvent("event-focus",this.event),s._eid=this.event._eid,this.event.focused=!0}}},computed:{eventDimensions(){const{startTimeMinutes:s,endTimeMinutes:e}=this.segment||this.event;let t=s-this.vuecal.timeFrom;const a=Math.max(Math.round(t*this.vuecal.timeCellHeight/this.vuecal.timeStep),0);t=Math.min(e,this.vuecal.timeTo)-this.vuecal.timeFrom;const r=Math.round(t*this.vuecal.timeCellHeight/this.vuecal.timeStep),n=Math.max(r-a,5);return{top:a,height:n}},eventStyles(){if(this.event.allDay||!this.vuecal.time||!this.event.endTimeMinutes||this.view.id==="month"||this.allDay)return{};let s=100/Math.min(this.overlaps.length+1,this.overlapsStreak),e=100/(this.overlaps.length+1)*this.eventPosition;this.vuecal.minEventWidth&&s<this.vuecal.minEventWidth&&(s=this.vuecal.minEventWidth,e=(100-this.vuecal.minEventWidth)/this.overlaps.length*this.eventPosition);const{top:t,height:a}=this.eventDimensions;return{top:`${t}px`,height:`${a}px`,width:`${s}%`,left:this.event.left&&`${this.event.left}px`||`${e}%`}},eventClasses(){const{isFirstDay:s,isLastDay:e}=this.segment||{};return{[this.event.class]:!!this.event.class,"vuecal__event--focus":this.event.focused,"vuecal__event--resizing":this.event.resizing,"vuecal__event--background":this.event.background,"vuecal__event--deletable":this.event.deleting,"vuecal__event--all-day":this.event.allDay,"vuecal__event--dragging":!this.event.draggingStatic&&this.event.dragging,"vuecal__event--static":this.event.dragging&&this.event.draggingStatic,"vuecal__event--multiple-days":!!this.segment,"event-start":this.segment&&s&&!e,"event-middle":this.segment&&!s&&!e,"event-end":this.segment&&e&&!s}},segment(){return this.event.segments&&this.event.segments[this.cellFormattedDate]||null},draggable(){const{draggable:s,background:e,daysCount:t}=this.event;return this.vuecal.editEvents.drag&&s&&!e&&t===1},resizable(){const{editEvents:s,time:e}=this.vuecal;return s.resize&&this.event.resizable&&e&&!this.allDay&&(!this.segment||this.segment&&this.segment.isLastDay)&&this.view.id!=="month"},dnd(){return this.modules.dnd}}},[["render",me]]),we=["data-split","aria-label","onTouchstart","onMousedown","onDragover","onDrop"],fe={key:1,class:"vuecal__cell-events"},ye=["title"];function De(s,e,t,a,r,n){const o=i.resolveComponent("event");return i.openBlock(),i.createBlock(i.TransitionGroup,{class:i.normalizeClass(["vuecal__cell",n.cellClasses]),name:`slide-fade--${n.transitionDirection}`,tag:"div",appear:t.options.transitions,style:i.normalizeStyle(n.cellStyles)},{default:i.withCtx(()=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.splitsCount?n.splits:1,(l,c)=>(i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["vuecal__flex vuecal__cell-content",n.splitsCount&&n.splitClasses(l)]),key:t.options.transitions?`${n.view.id}-${t.data.content}-${c}`:c,"data-split":n.splitsCount?l.id:!1,column:"",tabindex:"0","aria-label":t.data.content,onFocus:e[0]||(e[0]=d=>n.onCellFocus(d)),onKeypress:e[1]||(e[1]=i.withKeys(d=>n.onCellkeyPressEnter(d),["enter"])),onTouchstart:d=>!n.isDisabled&&n.onCellTouchStart(d,n.splitsCount?l.id:null),onMousedown:d=>!n.isDisabled&&n.onCellMouseDown(d,n.splitsCount?l.id:null),onClick:e[2]||(e[2]=d=>!n.isDisabled&&n.onCellClick(d)),onDblclick:e[3]||(e[3]=d=>!n.isDisabled&&n.onCellDblClick(d)),onContextmenu:e[4]||(e[4]=d=>!n.isDisabled&&t.options.cellContextmenu&&n.onCellContextMenu(d)),onDragenter:e[5]||(e[5]=d=>!n.isDisabled&&t.editEvents.drag&&n.dnd&&n.dnd.cellDragEnter(d,s.$data,t.data.startDate)),onDragover:d=>!n.isDisabled&&t.editEvents.drag&&n.dnd&&n.dnd.cellDragOver(d,s.$data,t.data.startDate,n.splitsCount?l.id:null),onDragleave:e[6]||(e[6]=d=>!n.isDisabled&&t.editEvents.drag&&n.dnd&&n.dnd.cellDragLeave(d,s.$data,t.data.startDate)),onDrop:d=>!n.isDisabled&&t.editEvents.drag&&n.dnd&&n.dnd.cellDragDrop(d,s.$data,t.data.startDate,n.splitsCount?l.id:null)},[n.isWeekOrDayView&&!t.allDay&&n.specialHours.length?(i.openBlock(!0),i.createElementBlock(i.Fragment,{key:0},i.renderList(n.specialHours,(d,h)=>(i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["vuecal__special-hours",`vuecal__special-hours--day${d.day} ${d.class}`]),style:i.normalizeStyle(`height: ${d.height}px;top: ${d.top}px`)},null,6))),256)):i.createCommentVNode("",!0),i.renderSlot(s.$slots,"cell-content",{events:n.events,selectCell:d=>n.selectCell(d,!0),split:n.splitsCount?l:!1}),n.eventsCount&&(n.isWeekOrDayView||n.view.id==="month"&&t.options.eventsOnMonthView)?(i.openBlock(),i.createElementBlock("div",fe,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.splitsCount?l.events:n.events,(d,h)=>(i.openBlock(),i.createBlock(o,{key:h,"cell-formatted-date":t.data.formattedDate,event:d,"all-day":t.allDay,"cell-events":n.splitsCount?l.events:n.events,overlaps:((n.splitsCount?l.overlaps[d._eid]:s.cellOverlaps[d._eid])||[]).overlaps,"event-position":((n.splitsCount?l.overlaps[d._eid]:s.cellOverlaps[d._eid])||[]).position,"overlaps-streak":n.splitsCount?l.overlapsStreak:s.cellOverlapsStreak},{event:i.withCtx(({event:v,view:m})=>[i.renderSlot(s.$slots,"event",{view:m,event:v})]),_:2},1032,["cell-formatted-date","event","all-day","cell-events","overlaps","event-position","overlaps-streak"]))),128))])):i.createCommentVNode("",!0)],42,we))),128)),n.timelineVisible?(i.openBlock(),i.createElementBlock("div",{class:"vuecal__now-line",style:i.normalizeStyle(`top: ${n.todaysTimePosition}px`),key:t.options.transitions?`${n.view.id}-now-line`:"now-line",title:n.utils.date.formatTime(n.vuecal.now)},null,12,ye)):i.createCommentVNode("",!0)]),_:3},8,["class","name","appear","style"])}const ut="",L=M({inject:["vuecal","utils","modules","view","domEvents"],components:{Event:ve},props:{options:{type:Object,default:()=>({})},editEvents:{type:Object,required:!0},data:{type:Object,required:!0},cellSplits:{type:Array,default:()=>[]},minTimestamp:{type:[Number,null],default:null},maxTimestamp:{type:[Number,null],default:null},cellWidth:{type:[Number,Boolean],default:!1},allDay:{type:Boolean,default:!1}},data:()=>({cellOverlaps:{},cellOverlapsStreak:1,timeAtCursor:null,highlighted:!1,highlightedSplit:null}),methods:{getSplitAtCursor({target:s}){let t=s.classList.contains("vuecal__cell-split")?s:this.vuecal.findAncestor(s,"vuecal__cell-split");return t&&(t=t.attributes["data-split"].value,parseInt(t).toString()===t.toString()&&(t=parseInt(t))),t||null},splitClasses(s){return{"vuecal__cell-split":!0,"vuecal__cell-split--highlighted":this.highlightedSplit===s.id,[s.class]:!!s.class}},checkCellOverlappingEvents(){this.options.time&&this.eventsCount&&!this.splitsCount&&(this.eventsCount===1?(this.cellOverlaps=[],this.cellOverlapsStreak=1):[this.cellOverlaps,this.cellOverlapsStreak]=this.utils.event.checkCellOverlappingEvents(this.events,this.options))},isDOMElementAnEvent(s){return this.vuecal.isDOMElementAnEvent(s)},selectCell(s,e=!1){const t=this.splitsCount?this.getSplitAtCursor(s):null;this.utils.cell.selectCell(e,this.timeAtCursor,t),this.timeAtCursor=null},onCellkeyPressEnter(s){this.isSelected||this.onCellFocus(s);const e=this.splitsCount?this.getSplitAtCursor(s):null;this.utils.cell.keyPressEnterCell(this.timeAtCursor,e),this.timeAtCursor=null},onCellFocus(s){if(!this.isSelected&&!this.isDisabled){this.isSelected=this.data.startDate;const e=this.splitsCount?this.getSplitAtCursor(s):null,t=this.timeAtCursor||this.data.startDate;this.vuecal.$emit("cell-focus",e?{date:t,split:e}:t)}},onCellMouseDown(s,e=null,t=!1){if("ontouchstart"in window&&!t)return!1;this.isSelected||this.onCellFocus(s);const{clickHoldACell:a,focusAnEvent:r}=this.domEvents;this.domEvents.cancelClickEventCreation=!1,a.eventCreated=!1,this.timeAtCursor=new Date(this.data.startDate);const{minutes:n,cursorCoords:{y:o}}=this.vuecal.minutesAtCursor(s);this.timeAtCursor.setMinutes(n);const l=this.isDOMElementAnEvent(s.target);!l&&r._eid&&((this.view.events.find(c=>c._eid===r._eid)||{}).focused=!1),this.editEvents.create&&!l&&this.setUpEventCreation(s,o)},setUpEventCreation(s,e){if(this.options.dragToCreateEvent&&["week","day"].includes(this.view.id)){const{dragCreateAnEvent:t}=this.domEvents;if(t.startCursorY=e,t.split=this.splitsCount?this.getSplitAtCursor(s):null,t.start=this.timeAtCursor,this.options.snapToTime){let a=this.timeAtCursor.getHours()*60+this.timeAtCursor.getMinutes();const r=a+this.options.snapToTime/2;a=r-r%this.options.snapToTime,t.start.setHours(0,a,0,0)}}else this.options.cellClickHold&&["month","week","day"].includes(this.view.id)&&this.setUpCellHoldTimer(s)},setUpCellHoldTimer(s){const{clickHoldACell:e}=this.domEvents;e.cellId=`${this.vuecal._.uid}_${this.data.formattedDate}`,e.split=this.splitsCount?this.getSplitAtCursor(s):null,e.timeoutId=setTimeout(()=>{if(e.cellId&&!this.domEvents.cancelClickEventCreation){const{_eid:t}=this.utils.event.createAnEvent(this.timeAtCursor,null,e.split?{split:e.split}:{});e.eventCreated=t}},e.timeout)},onCellTouchStart(s,e=null){this.onCellMouseDown(s,e,!0)},onCellClick(s){this.isDOMElementAnEvent(s.target)||this.selectCell(s)},onCellDblClick(s){const e=new Date(this.data.startDate);e.setMinutes(this.vuecal.minutesAtCursor(s).minutes);const t=this.splitsCount?this.getSplitAtCursor(s):null;this.vuecal.$emit("cell-dblclick",t?{date:e,split:t}:e),this.options.dblclickToNavigate&&this.vuecal.switchToNarrowerView()},onCellContextMenu(s){s.stopPropagation(),s.preventDefault();const e=new Date(this.data.startDate),{cursorCoords:t,minutes:a}=this.vuecal.minutesAtCursor(s);e.setMinutes(a);const r=this.splitsCount?this.getSplitAtCursor(s):null;this.vuecal.$emit("cell-contextmenu",{date:e,...t,...r||{},e:s})}},computed:{dnd(){return this.modules.dnd},nowInMinutes(){return this.utils.date.dateToMinutes(this.vuecal.now)},isBeforeMinDate(){return this.minTimestamp!==null&&this.minTimestamp>this.data.endDate.getTime()},isAfterMaxDate(){return this.maxTimestamp&&this.maxTimestamp<this.data.startDate.getTime()},isDisabled(){const{disableDays:s}=this.options,{isYearsOrYearView:e}=this.vuecal;return s.length&&s.includes(this.data.formattedDate)&&!e?!0:this.isBeforeMinDate||this.isAfterMaxDate},isSelected:{get(){let s=!1;const{selectedDate:e}=this.view;return this.view.id==="years"?s=e.getFullYear()===this.data.startDate.getFullYear():this.view.id==="year"?s=e.getFullYear()===this.data.startDate.getFullYear()&&e.getMonth()===this.data.startDate.getMonth():s=e.getTime()===this.data.startDate.getTime(),s},set(s){this.view.selectedDate=s,this.vuecal.$emit("update:selected-date",this.view.selectedDate)}},isWeekOrDayView(){return["week","day"].includes(this.view.id)},transitionDirection(){return this.vuecal.transitionDirection},specialHours(){return this.data.specialHours.map(s=>{let{from:e,to:t}=s;return e=Math.max(e,this.options.timeFrom),t=Math.min(t,this.options.timeTo),{...s,height:(t-e)*this.timeScale,top:(e-this.options.timeFrom)*this.timeScale}})},events(){const{startDate:s,endDate:e}=this.data;let t=[];if(!(["years","year"].includes(this.view.id)&&!this.options.eventsCountOnYearView)){if(t=this.view.events.slice(0),this.view.id==="month"&&t.push(...this.view.outOfScopeEvents),t=t.filter(a=>this.utils.event.eventInRange(a,s,e)),this.options.showAllDayEvents&&this.view.id!=="month"&&(t=t.filter(a=>!!a.allDay===this.allDay)),this.options.time&&this.isWeekOrDayView&&!this.allDay){const{timeFrom:a,timeTo:r}=this.options;t=t.filter(n=>{const o=n.daysCount>1&&n.segments[this.data.formattedDate]||{},l=n.daysCount===1&&n.startTimeMinutes<r&&n.endTimeMinutes>a,c=n.daysCount>1&&o.startTimeMinutes<r&&o.endTimeMinutes>a,d=!1;return n.allDay||l||c||d})}this.options.time&&this.isWeekOrDayView&&!(this.options.showAllDayEvents&&this.allDay)&&t.sort((a,r)=>a.start<r.start?-1:1),this.cellSplits.length||this.$nextTick(this.checkCellOverlappingEvents)}return t},eventsCount(){return this.events.length},splits(){return this.cellSplits.map((s,e)=>{const t=this.events.filter(n=>n.split===s.id),[a,r]=this.utils.event.checkCellOverlappingEvents(t.filter(n=>!n.background&&!n.allDay),this.options);return{...s,overlaps:a,overlapsStreak:r,events:t}})},splitsCount(){return this.splits.length},cellClasses(){return{[this.data.class]:!!this.data.class,"vuecal__cell--current":this.data.current,"vuecal__cell--today":this.data.today,"vuecal__cell--out-of-scope":this.data.outOfScope,"vuecal__cell--before-min":this.isDisabled&&this.isBeforeMinDate,"vuecal__cell--after-max":this.isDisabled&&this.isAfterMaxDate,"vuecal__cell--disabled":this.isDisabled,"vuecal__cell--selected":this.isSelected,"vuecal__cell--highlighted":this.highlighted,"vuecal__cell--has-splits":this.splitsCount,"vuecal__cell--has-events":this.eventsCount}},cellStyles(){return{...this.cellWidth?{width:`${this.cellWidth}%`}:{}}},timelineVisible(){const{time:s,timeTo:e}=this.options;return this.data.today&&this.isWeekOrDayView&&s&&!this.allDay&&this.nowInMinutes<=e},todaysTimePosition(){if(!this.data.today||!this.options.time)return;const s=this.nowInMinutes-this.options.timeFrom;return Math.round(s*this.timeScale)},timeScale(){return this.options.timeCellHeight/this.options.timeStep}}},[["render",De]]),ge={key:0,class:"vuecal__all-day-text",style:{width:"3em"}};function pe(s,e,t,a,r,n){const o=i.resolveComponent("vuecal-cell");return i.openBlock(),i.createElementBlock("div",{class:"vuecal__flex vuecal__all-day",style:i.normalizeStyle(t.cellOrSplitMinWidth&&{height:t.height})},[t.cellOrSplitMinWidth?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",ge,[i.createElementVNode("span",null,i.toDisplayString(t.label),1)])),i.createElementVNode("div",{class:i.normalizeClass(["vuecal__flex vuecal__cells",`${n.view.id}-view`]),grow:"",style:i.normalizeStyle(t.cellOrSplitMinWidth?`min-width: ${t.cellOrSplitMinWidth}px`:"")},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(t.cells,(l,c)=>(i.openBlock(),i.createBlock(o,{key:c,options:t.options,"edit-events":n.editEvents,data:l,"all-day":!0,"cell-width":t.options.hideWeekdays.length&&(n.vuecal.isWeekView||n.vuecal.isMonthView)&&n.vuecal.cellWidth,"min-timestamp":t.options.minTimestamp,"max-timestamp":t.options.maxTimestamp,"cell-splits":t.daySplits},{event:i.withCtx(({event:d,view:h})=>[i.renderSlot(s.$slots,"event",{view:h,event:d})]),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"]))),128))],6)],4)}const ke=M({inject:["vuecal","view","editEvents"],components:{"vuecal-cell":L},props:{options:{type:Object,required:!0},cells:{type:Array,required:!0},label:{type:String,required:!0},daySplits:{type:Array,default:()=>[]},shortEvents:{type:Boolean,default:!0},height:{type:String,default:""},cellOrSplitMinWidth:{type:Number,default:null}},computed:{hasCellOrSplitWidth(){return!!(this.options.minCellWidth||this.daySplits.length&&this.options.minSplitWidth)}}},[["render",pe]]),wt="",_e=["lang"],be=i.createTextVNode("\xA0"),Ee=i.createElementVNode("i",{class:"angle"},null,-1),Ce=i.createTextVNode("\xA0"),Te=i.createTextVNode("\xA0"),Me=i.createElementVNode("i",{class:"angle"},null,-1),Se=i.createTextVNode("\xA0"),Ve={class:"default"},Be={key:0,class:"vuecal__flex vuecal__body",grow:""},Oe=["onBlur","innerHTML"],We=["innerHTML"],He=["innerHTML"],Ae={class:"vuecal__flex",row:"",grow:""},Ne={key:0,class:"vuecal__time-column"},xe=i.createElementVNode("span",{class:"vuecal__time-cell-line"},null,-1),je={class:"vuecal__time-cell-label"},Le={key:1,class:"vuecal__flex vuecal__week-numbers",column:""},Fe=["wrap","column"],Ye=["onBlur","innerHTML"],ze=["innerHTML"],Pe=["innerHTML"],Ie=["wrap"],Ue=["innerHTML"],Re=["innerHTML"],Ke={key:2,class:"vuecal__cell-events-count"},Xe={key:3,class:"vuecal__no-event"},Ge=["onBlur","innerHTML"],Ze=["innerHTML"],Je={key:2,class:"vuecal__event-time"},Qe={key:0},qe={key:1,class:"days-to-end"},$e=["innerHTML"],et={key:0,class:"vuecal__scrollbar-check"},tt=[i.createElementVNode("div",null,null,-1)];function st(s,e,t,a,r,n){const o=i.resolveComponent("vuecal-header"),l=i.resolveComponent("all-day-bar"),c=i.resolveComponent("weekdays-headings"),d=i.resolveComponent("vuecal-cell");return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["vuecal__flex vuecal",n.cssClasses]),column:"",ref:"vuecal",lang:t.locale},[i.createVNode(o,{options:s.$props,"edit-events":n.editEvents,"view-props":{views:n.views,weekDaysInHeader:n.weekDaysInHeader},"week-days":n.weekDays,"has-splits":n.hasSplits,"day-splits":n.daySplits,"switch-to-narrower-view":n.switchToNarrowerView},i.createSlots({"arrow-prev":i.withCtx(()=>[i.renderSlot(s.$slots,"arrow-prev",{},()=>[be,Ee,Ce])]),"arrow-next":i.withCtx(()=>[i.renderSlot(s.$slots,"arrow-next",{},()=>[Te,Me,Se])]),"today-button":i.withCtx(()=>[i.renderSlot(s.$slots,"today-button",{},()=>[i.createElementVNode("span",Ve,i.toDisplayString(r.texts.today),1)])]),title:i.withCtx(()=>[i.renderSlot(s.$slots,"title",{title:n.viewTitle,view:r.view},()=>[i.createTextVNode(i.toDisplayString(n.viewTitle),1)])]),_:2},[s.$slots["weekday-heading"]?{name:"weekday-heading",fn:i.withCtx(({heading:h,view:v})=>[i.renderSlot(s.$slots,"weekday-heading",{heading:h,view:v})])}:void 0,s.$slots["split-label"]?{name:"split-label",fn:i.withCtx(({split:h})=>[i.renderSlot(s.$slots,"split-label",{split:h,view:r.view.id})])}:void 0]),1032,["options","edit-events","view-props","week-days","has-splits","day-splits","switch-to-narrower-view"]),t.hideBody?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",Be,[i.createVNode(i.Transition,{name:`slide-fade--${r.transitionDirection}`,appear:t.transitions},{default:i.withCtx(()=>[(i.openBlock(),i.createElementBlock("div",{class:"vuecal__flex",style:{"min-width":"100%"},key:t.transitions?r.view.id:!1,column:""},[t.showAllDayEvents&&n.hasTimeColumn&&(!n.cellOrSplitMinWidth||n.isDayView&&!t.minSplitWidth)?(i.openBlock(),i.createBlock(l,i.normalizeProps(i.mergeProps({key:0},n.allDayBar)),{event:i.withCtx(({event:h,view:v})=>[i.renderSlot(s.$slots,"event",{view:v,event:h},()=>[n.editEvents.title&&h.titleEditable?(i.openBlock(),i.createElementBlock("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"",onBlur:m=>n.onEventTitleBlur(m,h),innerHTML:h.title},null,40,Oe)):h.title?(i.openBlock(),i.createElementBlock("div",{key:1,class:"vuecal__event-title",innerHTML:h.title},null,8,We)):i.createCommentVNode("",!0),h.content&&!n.hasShortEvents&&!n.isShortMonthView?(i.openBlock(),i.createElementBlock("div",{key:2,class:"vuecal__event-content",innerHTML:h.content},null,8,He)):i.createCommentVNode("",!0)])]),_:3},16)):i.createCommentVNode("",!0),i.createElementVNode("div",{class:i.normalizeClass(["vuecal__bg",{vuecal__flex:!n.hasTimeColumn}]),column:""},[i.createElementVNode("div",Ae,[n.hasTimeColumn?(i.openBlock(),i.createElementBlock("div",Ne,[t.showAllDayEvents&&n.cellOrSplitMinWidth&&!(n.isDayView&&!t.minSplitWidth)?(i.openBlock(),i.createElementBlock("div",{key:0,class:"vuecal__all-day-text",style:i.normalizeStyle({height:n.allDayBar.height})},[i.createElementVNode("span",null,i.toDisplayString(r.texts.allDay),1)],4)):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.timeCells,(h,v)=>(i.openBlock(),i.createElementBlock("div",{class:"vuecal__time-cell",key:v,style:i.normalizeStyle(`height: ${t.timeCellHeight}px`)},[i.renderSlot(s.$slots,"time-cell",{hours:h.hours,minutes:h.minutes},()=>[xe,i.createElementVNode("span",je,i.toDisplayString(h.label),1)])],4))),128))])):i.createCommentVNode("",!0),t.showWeekNumbers&&n.isMonthView?(i.openBlock(),i.createElementBlock("div",Le,[(i.openBlock(),i.createElementBlock(i.Fragment,null,i.renderList(6,h=>i.createElementVNode("div",{class:"vuecal__flex vuecal__week-number-cell",key:h,grow:""},[i.renderSlot(s.$slots,"week-number-cell",{week:n.getWeekNumber(h-1)},()=>[i.createTextVNode(i.toDisplayString(n.getWeekNumber(h-1)),1)])])),64))])):i.createCommentVNode("",!0),i.createElementVNode("div",{class:i.normalizeClass(["vuecal__flex vuecal__cells",`${r.view.id}-view`]),grow:"",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,column:!!n.cellOrSplitMinWidth},[n.cellOrSplitMinWidth&&n.isWeekView?(i.openBlock(),i.createBlock(c,{key:0,"transition-direction":r.transitionDirection,"week-days":n.weekDays,"switch-to-narrower-view":n.switchToNarrowerView,style:i.normalizeStyle(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},i.createSlots({_:2},[s.$slots["weekday-heading"]?{name:"weekday-heading",fn:i.withCtx(({heading:h,view:v})=>[i.renderSlot(s.$slots,"weekday-heading",{heading:h,view:v})])}:void 0,s.$slots["split-label"]?{name:"split-label",fn:i.withCtx(({split:h})=>[i.renderSlot(s.$slots,"split-label",{split:h,view:r.view.id})])}:void 0]),1032,["transition-direction","week-days","switch-to-narrower-view","style"])):n.hasSplits&&t.stickySplitLabels&&t.minSplitWidth?(i.openBlock(),i.createElementBlock("div",{key:1,class:"vuecal__flex vuecal__split-days-headers",style:i.normalizeStyle(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.daySplits,(h,v)=>(i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["day-split-header",h.class||!1]),key:v},[i.renderSlot(s.$slots,"split-label",{split:h,view:r.view.id},()=>[i.createTextVNode(i.toDisplayString(h.label),1)])],2))),128))],4)):i.createCommentVNode("",!0),t.showAllDayEvents&&n.hasTimeColumn&&(n.isWeekView&&n.cellOrSplitMinWidth||n.isDayView&&n.hasSplits&&t.minSplitWidth)?(i.openBlock(),i.createBlock(l,i.normalizeProps(i.mergeProps({key:2},n.allDayBar)),{event:i.withCtx(({event:h,view:v})=>[i.renderSlot(s.$slots,"event",{view:v,event:h},()=>[n.editEvents.title&&h.titleEditable?(i.openBlock(),i.createElementBlock("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"",onBlur:m=>n.onEventTitleBlur(m,h),innerHTML:h.title},null,40,Ye)):h.title?(i.openBlock(),i.createElementBlock("div",{key:1,class:"vuecal__event-title",innerHTML:h.title},null,8,ze)):i.createCommentVNode("",!0),h.content&&!n.hasShortEvents&&!n.isShortMonthView?(i.openBlock(),i.createElementBlock("div",{key:2,class:"vuecal__event-content",innerHTML:h.content},null,8,Pe)):i.createCommentVNode("",!0)])]),_:3},16)):i.createCommentVNode("",!0),i.createElementVNode("div",{class:"vuecal__flex",ref:h=>r.cellsEl=h,grow:"",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,style:i.normalizeStyle(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.viewCells,(h,v)=>(i.openBlock(),i.createBlock(d,{key:v,options:s.$props,"edit-events":n.editEvents,data:h,"cell-width":t.hideWeekdays.length&&(n.isWeekView||n.isMonthView)&&n.cellWidth,"min-timestamp":n.minTimestamp,"max-timestamp":n.maxTimestamp,"cell-splits":n.hasSplits&&n.daySplits||[]},{"cell-content":i.withCtx(({events:m,split:D,selectCell:y})=>[i.renderSlot(s.$slots,"cell-content",{cell:h,view:r.view,goNarrower:y,events:m},()=>[D&&!t.stickySplitLabels?(i.openBlock(),i.createElementBlock("div",{key:0,class:"split-label",innerHTML:D.label},null,8,Ue)):i.createCommentVNode("",!0),h.content?(i.openBlock(),i.createElementBlock("div",{key:1,class:"vuecal__cell-date",innerHTML:h.content},null,8,Re)):i.createCommentVNode("",!0),(n.isMonthView&&!t.eventsOnMonthView||n.isYearsOrYearView&&t.eventsCountOnYearView)&&m.length?(i.openBlock(),i.createElementBlock("div",Ke,[i.renderSlot(s.$slots,"events-count",{view:r.view,events:m},()=>[i.createTextVNode(i.toDisplayString(m.length),1)])])):i.createCommentVNode("",!0),!n.cellOrSplitHasEvents(m,D)&&n.isWeekOrDayView?(i.openBlock(),i.createElementBlock("div",Xe,[i.renderSlot(s.$slots,"no-event",{},()=>[i.createTextVNode(i.toDisplayString(r.texts.noEvent),1)])])):i.createCommentVNode("",!0)])]),event:i.withCtx(({event:m,view:D})=>[i.renderSlot(s.$slots,"event",{view:D,event:m},()=>[n.editEvents.title&&m.titleEditable?(i.openBlock(),i.createElementBlock("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"",onBlur:y=>n.onEventTitleBlur(y,m),innerHTML:m.title},null,40,Ge)):m.title?(i.openBlock(),i.createElementBlock("div",{key:1,class:"vuecal__event-title",innerHTML:m.title},null,8,Ze)):i.createCommentVNode("",!0),t.time&&!m.allDay&&!(n.isMonthView&&(m.allDay||t.showAllDayEvents==="short"))&&!n.isShortMonthView?(i.openBlock(),i.createElementBlock("div",Je,[i.createTextVNode(i.toDisplayString(r.utils.date.formatTime(m.start,n.TimeFormat)),1),m.endTimeMinutes?(i.openBlock(),i.createElementBlock("span",Qe,"\xA0- "+i.toDisplayString(r.utils.date.formatTime(m.end,n.TimeFormat,null,!0)),1)):i.createCommentVNode("",!0),m.daysCount>1&&(m.segments[h.formattedDate]||{}).isFirstDay?(i.openBlock(),i.createElementBlock("small",qe,"\xA0+"+i.toDisplayString(m.daysCount-1)+i.toDisplayString((r.texts.day[0]||"").toLowerCase()),1)):i.createCommentVNode("",!0)])):i.createCommentVNode("",!0),m.content&&!(n.isMonthView&&m.allDay&&t.showAllDayEvents==="short")&&!n.isShortMonthView?(i.openBlock(),i.createElementBlock("div",{key:3,class:"vuecal__event-content",innerHTML:m.content},null,8,$e)):i.createCommentVNode("",!0)])]),"no-event":i.withCtx(()=>[i.renderSlot(s.$slots,"no-event",{},()=>[i.createTextVNode(i.toDisplayString(r.texts.noEvent),1)])]),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"]))),128))],12,Ie)],10,Fe)])],2)]))]),_:3},8,["name","appear"]),r.ready?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",et,tt))]))],10,_e)}const O=24*60,W={weekDays:Array(7).fill(""),weekDaysShort:[],months:Array(12).fill(""),years:"",year:"",month:"",week:"",day:"",today:"",noEvent:"",allDay:"",deleteEvent:"",createEvent:"",dateFormat:"dddd MMMM D, YYYY",am:"am",pm:"pm"},F=["years","year","month","week","day"],Y=new P(W);return M({name:"vue-cal",components:{"vuecal-cell":L,"vuecal-header":he,WeekdaysHeadings:j,AllDayBar:ke},provide(){return{vuecal:this,utils:this.utils,modules:this.modules,previous:this.previous,next:this.next,switchView:this.switchView,updateSelectedDate:this.updateSelectedDate,editEvents:this.editEvents,view:this.view,domEvents:this.domEvents}},props:{activeView:{type:String,default:"week"},allDayBarHeight:{type:[String,Number],default:"25px"},cellClickHold:{type:Boolean,default:!0},cellContextmenu:{type:Boolean,default:!1},clickToNavigate:{type:Boolean,default:!1},dblclickToNavigate:{type:Boolean,default:!0},disableDatePrototypes:{type:Boolean,default:!1},disableDays:{type:Array,default:()=>[]},disableViews:{type:Array,default:()=>[]},dragToCreateEvent:{type:Boolean,default:!0},dragToCreateThreshold:{type:Number,default:15},editableEvents:{type:[Boolean,Object],default:!1},events:{type:Array,default:()=>[]},eventsCountOnYearView:{type:Boolean,default:!1},eventsOnMonthView:{type:[Boolean,String],default:!1},hideBody:{type:Boolean,default:!1},hideTitleBar:{type:Boolean,default:!1},hideViewSelector:{type:Boolean,default:!1},hideWeekdays:{type:Array,default:()=>[]},hideWeekends:{type:Boolean,default:!1},locale:{type:[String,Object],default:"en"},maxDate:{type:[String,Date],default:""},minCellWidth:{type:Number,default:0},minDate:{type:[String,Date],default:""},minEventWidth:{type:Number,default:0},minSplitWidth:{type:Number,default:0},onEventClick:{type:[Function,null],default:null},onEventCreate:{type:[Function,null],default:null},onEventDblclick:{type:[Function,null],default:null},overlapsPerTimeStep:{type:Boolean,default:!1},resizeX:{type:Boolean,default:!1},selectedDate:{type:[String,Date],default:""},showAllDayEvents:{type:[Boolean,String],default:!1},showWeekNumbers:{type:[Boolean,String],default:!1},snapToTime:{type:Number,default:0},small:{type:Boolean,default:!1},specialHours:{type:Object,default:()=>({})},splitDays:{type:Array,default:()=>[]},startWeekOnSunday:{type:Boolean,default:!1},stickySplitLabels:{type:Boolean,default:!1},time:{type:Boolean,default:!0},timeCellHeight:{type:Number,default:40},timeFormat:{type:String,default:""},timeFrom:{type:Number,default:0},timeStep:{type:Number,default:60},timeTo:{type:Number,default:O},todayButton:{type:Boolean,default:!1},transitions:{type:Boolean,default:!0},twelveHour:{type:Boolean,default:!1},watchRealTime:{type:Boolean,default:!1},xsmall:{type:Boolean,default:!1}},data(){return{ready:!1,texts:{...W},utils:{date:(this.disableDatePrototypes?Y.removePrototypes():!1)||Y,cell:null,event:null},modules:{dnd:null},cellsEl:null,view:{id:"",title:"",startDate:null,endDate:null,firstCellDate:null,lastCellDate:null,selectedDate:null,events:[]},eventIdIncrement:1,now:new Date,timeTickerIds:[null,null],domEvents:{resizeAnEvent:{_eid:null,start:null,split:null,segment:null,originalEndTimeMinutes:0,originalEnd:null,end:null,startCell:null,endCell:null},dragAnEvent:{_eid:null},dragCreateAnEvent:{startCursorY:null,start:null,split:null,event:null},focusAnEvent:{_eid:null,mousedUp:!1},clickHoldAnEvent:{_eid:null,timeout:1200,timeoutId:null},dblTapACell:{taps:0,timeout:500},clickHoldACell:{cellId:null,split:null,timeout:1200,timeoutId:null,eventCreated:!1},cancelClickEventCreation:!1},mutableEvents:[],transitionDirection:"right"}},methods:{async loadLocale(s){if(typeof this.locale=="object"){this.texts=Object.assign({},W,s),this.utils.date.updateTexts(this.texts);return}if(this.locale==="en"){const e=await new Promise((t,a)=>u(["./i18n/en.amd.adb68caf"],t,a));this.texts=Object.assign({},W,e)}else E(Object.assign({"./i18n/ar.json":()=>new Promise((e,t)=>u(["./i18n/ar.amd.e9c5b332"],e,t)),"./i18n/bg.json":()=>new Promise((e,t)=>u(["./i18n/bg.amd.3cb97e26"],e,t)),"./i18n/bn.json":()=>new Promise((e,t)=>u(["./i18n/bn.amd.dfc2f0e8"],e,t)),"./i18n/bs.json":()=>new Promise((e,t)=>u(["./i18n/bs.amd.e1ea85fc"],e,t)),"./i18n/ca.json":()=>new Promise((e,t)=>u(["./i18n/ca.amd.72faeed5"],e,t)),"./i18n/cs.json":()=>new Promise((e,t)=>u(["./i18n/cs.amd.9e6c86aa"],e,t)),"./i18n/da.json":()=>new Promise((e,t)=>u(["./i18n/da.amd.4700575b"],e,t)),"./i18n/de.json":()=>new Promise((e,t)=>u(["./i18n/de.amd.fe98342e"],e,t)),"./i18n/el.json":()=>new Promise((e,t)=>u(["./i18n/el.amd.49a97dfc"],e,t)),"./i18n/en.json":()=>new Promise((e,t)=>u(["./i18n/en.amd.adb68caf"],e,t)),"./i18n/es.json":()=>new Promise((e,t)=>u(["./i18n/es.amd.7178f941"],e,t)),"./i18n/fa.json":()=>new Promise((e,t)=>u(["./i18n/fa.amd.8c4a493b"],e,t)),"./i18n/fr.json":()=>new Promise((e,t)=>u(["./i18n/fr.amd.6c1e3110"],e,t)),"./i18n/he.json":()=>new Promise((e,t)=>u(["./i18n/he.amd.266f8ef4"],e,t)),"./i18n/hr.json":()=>new Promise((e,t)=>u(["./i18n/hr.amd.c9addea1"],e,t)),"./i18n/hu.json":()=>new Promise((e,t)=>u(["./i18n/hu.amd.b7dafe87"],e,t)),"./i18n/id.json":()=>new Promise((e,t)=>u(["./i18n/id.amd.1cb9c67c"],e,t)),"./i18n/is.json":()=>new Promise((e,t)=>u(["./i18n/is.amd.7dab8cc4"],e,t)),"./i18n/it.json":()=>new Promise((e,t)=>u(["./i18n/it.amd.7f2eca27"],e,t)),"./i18n/ja.json":()=>new Promise((e,t)=>u(["./i18n/ja.amd.e3f50d02"],e,t)),"./i18n/ka.json":()=>new Promise((e,t)=>u(["./i18n/ka.amd.2bc20ec4"],e,t)),"./i18n/ko.json":()=>new Promise((e,t)=>u(["./i18n/ko.amd.dc8a6639"],e,t)),"./i18n/lt.json":()=>new Promise((e,t)=>u(["./i18n/lt.amd.0e6b59f3"],e,t)),"./i18n/mn.json":()=>new Promise((e,t)=>u(["./i18n/mn.amd.17945152"],e,t)),"./i18n/nl.json":()=>new Promise((e,t)=>u(["./i18n/nl.amd.44d7fb17"],e,t)),"./i18n/no.json":()=>new Promise((e,t)=>u(["./i18n/no.amd.008cce64"],e,t)),"./i18n/pl.json":()=>new Promise((e,t)=>u(["./i18n/pl.amd.1c3ef9dc"],e,t)),"./i18n/pt-br.json":()=>new Promise((e,t)=>u(["./i18n/pt-br.amd.87e3a5af"],e,t)),"./i18n/ro.json":()=>new Promise((e,t)=>u(["./i18n/ro.amd.561e792f"],e,t)),"./i18n/ru.json":()=>new Promise((e,t)=>u(["./i18n/ru.amd.963bec75"],e,t)),"./i18n/sk.json":()=>new Promise((e,t)=>u(["./i18n/sk.amd.7108fd29"],e,t)),"./i18n/sl.json":()=>new Promise((e,t)=>u(["./i18n/sl.amd.df9da7d8"],e,t)),"./i18n/sq.json":()=>new Promise((e,t)=>u(["./i18n/sq.amd.bf8fa4d6"],e,t)),"./i18n/sr.json":()=>new Promise((e,t)=>u(["./i18n/sr.amd.f3e047d9"],e,t)),"./i18n/sv.json":()=>new Promise((e,t)=>u(["./i18n/sv.amd.c1adc932"],e,t)),"./i18n/tr.json":()=>new Promise((e,t)=>u(["./i18n/tr.amd.8a20e593"],e,t)),"./i18n/uk.json":()=>new Promise((e,t)=>u(["./i18n/uk.amd.9a8613b1"],e,t)),"./i18n/vi.json":()=>new Promise((e,t)=>u(["./i18n/vi.amd.5782588e"],e,t)),"./i18n/zh-cn.json":()=>new Promise((e,t)=>u(["./i18n/zh-cn.amd.58ccf4cf"],e,t)),"./i18n/zh-hk.json":()=>new Promise((e,t)=>u(["./i18n/zh-hk.amd.74631c2c"],e,t))}),`./i18n/${s}.json`).then(e=>{this.texts=Object.assign({},W,e.default),this.utils.date.updateTexts(this.texts)})},loadDragAndDrop(){new Promise((s,e)=>u(["./drag-and-drop.amd.9faee95c"],s,e)).then(s=>{const{DragAndDrop:e}=s;this.modules.dnd=new e(this)}).catch(()=>console.warn("Vue Cal: Missing drag & drop module."))},validateView(s){return F.includes(s)||(console.error(`Vue Cal: invalid active-view parameter provided: "${s}".
|
|
6
|
-
A valid view must be one of: ${F.join(", ")}.`),s="week"),this.enabledViews.includes(s)||(console.warn(`Vue Cal: the provided active-view "${s}" is disabled. Using the "${this.enabledViews[0]}" view instead.`),s=this.enabledViews[0]),s},switchToNarrowerView(s=null){this.transitionDirection="right";const e=this.enabledViews[this.enabledViews.indexOf(this.view.id)+1];e&&this.switchView(e,s)},switchView(s,e=null,t=!1){s=this.validateView(s);const a=this.utils.date,r=this.view.startDate&&this.view.startDate.getTime();if(this.transitions&&t){if(this.view.id===s)return;const l=this.enabledViews;this.transitionDirection=l.indexOf(this.view.id)>l.indexOf(s)?"left":"right"}const n=this.view.id;switch(this.view.events=[],this.view.id=s,this.view.firstCellDate=null,this.view.lastCellDate=null,e||(e=this.view.selectedDate||this.view.startDate),s){case"years":{this.view.startDate=new Date(Math.floor(e.getFullYear()/25)*25||2e3,0,1),this.view.endDate=new Date(this.view.startDate.getFullYear()+25,0,1),this.view.endDate.setSeconds(-1);break}case"year":{this.view.startDate=new Date(e.getFullYear(),0,1),this.view.endDate=new Date(e.getFullYear()+1,0,1),this.view.endDate.setSeconds(-1);break}case"month":{this.view.startDate=new Date(e.getFullYear(),e.getMonth(),1),this.view.endDate=new Date(e.getFullYear(),e.getMonth()+1,1),this.view.endDate.setSeconds(-1);let l=new Date(this.view.startDate);if(l.getDay()!==(this.startWeekOnSunday?0:1)&&(l=a.getPreviousFirstDayOfWeek(l,this.startWeekOnSunday)),this.view.firstCellDate=l,this.view.lastCellDate=a.addDays(l,41),this.view.lastCellDate.setHours(23,59,59,0),this.hideWeekends){if([0,6].includes(this.view.firstCellDate.getDay())){const c=this.view.firstCellDate.getDay()===6&&!this.startWeekOnSunday?2:1;this.view.firstCellDate=a.addDays(this.view.firstCellDate,c)}if([0,6].includes(this.view.startDate.getDay())){const c=this.view.startDate.getDay()===6?2:1;this.view.startDate=a.addDays(this.view.startDate,c)}if([0,6].includes(this.view.lastCellDate.getDay())){const c=this.view.lastCellDate.getDay()===0&&!this.startWeekOnSunday?2:1;this.view.lastCellDate=a.subtractDays(this.view.lastCellDate,c)}if([0,6].includes(this.view.endDate.getDay())){const c=this.view.endDate.getDay()===0?2:1;this.view.endDate=a.subtractDays(this.view.endDate,c)}}break}case"week":{e=a.getPreviousFirstDayOfWeek(e,this.startWeekOnSunday);const l=this.hideWeekends?5:7;this.view.startDate=this.hideWeekends&&this.startWeekOnSunday?a.addDays(e,1):e,this.view.startDate.setHours(0,0,0,0),this.view.endDate=a.addDays(e,l),this.view.endDate.setSeconds(-1);break}case"day":{this.view.startDate=e,this.view.startDate.setHours(0,0,0,0),this.view.endDate=new Date(e),this.view.endDate.setHours(23,59,59,0);break}}this.addEventsToView();const o=this.view.startDate&&this.view.startDate.getTime();if(!(n===s&&o===r)&&(this.$emit("update:activeView",s),this.ready)){const l=this.view.startDate,c={view:s,startDate:l,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate,outOfScopeEvents:this.view.outOfScopeEvents.map(this.cleanupEvent)}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:a.getWeek(this.startWeekOnSunday?a.addDays(l,1):l)}:{}};this.$emit("view-change",c)}},previous(){this.previousNext(!1)},next(){this.previousNext()},previousNext(s=!0){const e=this.utils.date;this.transitionDirection=s?"right":"left";const t=s?1:-1;let a=null;const{startDate:r,id:n}=this.view;switch(n){case"years":a=new Date(r.getFullYear()+25*t,0,1);break;case"year":a=new Date(r.getFullYear()+1*t,1,1);break;case"month":a=new Date(r.getFullYear(),r.getMonth()+1*t,1);break;case"week":a=e[s?"addDays":"subtractDays"](e.getPreviousFirstDayOfWeek(r,this.startWeekOnSunday),7);break;case"day":a=e[s?"addDays":"subtractDays"](r,1);break}a&&this.switchView(n,a)},addEventsToView(s=[]){const e=this.utils.event,{startDate:t,endDate:a,firstCellDate:r,lastCellDate:n}=this.view;if(s.length||(this.view.events=[]),s=s.length?s:[...this.mutableEvents],!s||this.isYearsOrYearView&&!this.eventsCountOnYearView)return;let o=s.filter(l=>e.eventInRange(l,t,a));!this.isYearsOrYearView&&!(this.isMonthView&&!this.eventsOnMonthView)&&(o=o.map(l=>l.daysCount>1?e.createEventSegments(l,r||t,n||a):l)),this.view.events.push(...o),this.isMonthView&&(this.view.outOfScopeEvents=[],s.forEach(l=>{(e.eventInRange(l,r,t)||e.eventInRange(l,a,n))&&(this.view.events.some(c=>c._eid===l._eid)||this.view.outOfScopeEvents.push(l))}))},findAncestor(s,e){for(;(s=s.parentElement)&&!s.classList.contains(e););return s},isDOMElementAnEvent(s){return s.classList.contains("vuecal__event")||this.findAncestor(s,"vuecal__event")},onMouseMove(s){const{resizeAnEvent:e,dragAnEvent:t,dragCreateAnEvent:a}=this.domEvents;e._eid===null&&t._eid===null&&!a.start||(s.preventDefault(),e._eid?this.eventResizing(s):this.dragToCreateEvent&&a.start&&this.eventDragCreation(s))},onMouseUp(s){const{focusAnEvent:e,resizeAnEvent:t,clickHoldAnEvent:a,clickHoldACell:r,dragCreateAnEvent:n}=this.domEvents,{_eid:o}=a,{_eid:l}=t;let c=!1;const{event:d,start:h}=n,v=this.isDOMElementAnEvent(s.target),m=e.mousedUp;if(e.mousedUp=!1,v&&(this.domEvents.cancelClickEventCreation=!0),r.eventCreated)return;if(l){const{originalEnd:y,originalEndTimeMinutes:k,endTimeMinutes:b}=t,g=this.view.events.find(S=>S._eid===t._eid);if(c=b&&b!==k,g&&g.end.getTime()!==y.getTime()){const S=this.mutableEvents.find(it=>it._eid===t._eid);S.endTimeMinutes=g.endTimeMinutes,S.end=g.end;const C=this.cleanupEvent(g),z={...this.cleanupEvent(g),end:y,endTimeMinutes:g.originalEndTimeMinutes};this.$emit("event-duration-change",{event:C,oldDate:t.originalEnd,originalEvent:z}),this.$emit("event-change",{event:C,originalEvent:z})}g&&(g.resizing=!1),t._eid=null,t.start=null,t.split=null,t.segment=null,t.originalEndTimeMinutes=null,t.originalEnd=null,t.endTimeMinutes=null,t.startCell=null,t.endCell=null}else h&&(d&&(this.emitWithEvent("event-drag-create",d),n.event.resizing=!1),n.start=null,n.split=null,n.event=null);!v&&!l&&this.unfocusEvent(),a.timeoutId&&!o&&(clearTimeout(a.timeoutId),a.timeoutId=null),r.timeoutId&&(clearTimeout(r.timeoutId),r.timeoutId=null);const D=typeof this.onEventClick=="function";if(m&&!c&&!o&&!d&&D){let y=this.view.events.find(k=>k._eid===e._eid);return!y&&this.isMonthView&&(y=this.view.outOfScopeEvents.find(k=>k._eid===e._eid)),y&&this.onEventClick(y,s)}},onKeyUp(s){s.keyCode===27&&this.cancelDelete()},eventResizing(s){const{resizeAnEvent:e}=this.domEvents,t=this.view.events.find(d=>d._eid===e._eid)||{segments:{}},{minutes:a,cursorCoords:r}=this.minutesAtCursor(s),n=t.segments&&t.segments[e.segment],{date:o,event:l}=this.utils,c=Math.max(a,this.timeFrom+1,(n||t).startTimeMinutes+1);if(t.endTimeMinutes=e.endTimeMinutes=c,this.snapToTime){const d=t.endTimeMinutes+this.snapToTime/2;t.endTimeMinutes=d-d%this.snapToTime}if(n&&(n.endTimeMinutes=t.endTimeMinutes),t.end.setHours(0,t.endTimeMinutes,t.endTimeMinutes===O?-1:0,0),this.resizeX&&this.isWeekView){t.daysCount=o.countDays(t.start,t.end);const d=this.cellsEl,h=d.offsetWidth/d.childElementCount,v=Math.floor(r.x/h);if(e.startCell===null&&(e.startCell=v-(t.daysCount-1)),e.endCell!==v){e.endCell=v;const m=o.addDays(t.start,v-e.startCell),D=Math.max(o.countDays(t.start,m),1);if(D!==t.daysCount){let y=null;D>t.daysCount?y=l.addEventSegment(t):y=l.removeEventSegment(t),e.segment=y,t.endTimeMinutes+=.001}}}this.$emit("event-resizing",{_eid:t._eid,end:t.end,endTimeMinutes:t.endTimeMinutes})},eventDragCreation(s){const{dragCreateAnEvent:e}=this.domEvents,{start:t,startCursorY:a,split:r}=e,n=new Date(t),{minutes:o,cursorCoords:{y:l}}=this.minutesAtCursor(s);if(!(!e.event&&Math.abs(a-l)<this.dragToCreateThreshold))if(e.event){if(n.setHours(0,o,o===O?-1:0,0),this.snapToTime){let h=n.getHours()*60+n.getMinutes();const v=h+this.snapToTime/2;h=v-v%this.snapToTime,n.setHours(0,h,0,0)}const c=t<n,{event:d}=e;d.start=c?t:n,d.end=c?n:t,d.startTimeMinutes=d.start.getHours()*60+d.start.getMinutes(),d.endTimeMinutes=d.end.getHours()*60+d.end.getMinutes()}else{if(e.event=this.utils.event.createAnEvent(t,1,{split:r}),!e.event){e.start=null,e.split=null,e.event=null;return}e.event.resizing=!0}},unfocusEvent(){const{focusAnEvent:s,clickHoldAnEvent:e}=this.domEvents,t=this.view.events.find(a=>a._eid===(s._eid||e._eid));s._eid=null,e._eid=null,t&&(t.focused=!1,t.deleting=!1)},cancelDelete(){const{clickHoldAnEvent:s}=this.domEvents;if(s._eid){const e=this.view.events.find(t=>t._eid===s._eid);e&&(e.deleting=!1),s._eid=null,s.timeoutId=null}},onEventTitleBlur(s,e){if(e.title===s.target.innerHTML)return;const t=e.title;e.title=s.target.innerHTML;const a=this.cleanupEvent(e);this.$emit("event-title-change",{event:a,oldTitle:t}),this.$emit("event-change",{event:a,originalEvent:{...a,title:t}})},updateMutableEvents(){const s=this.utils.date;this.mutableEvents=[],this.events.forEach(e=>{const t=typeof e.start=="string"?s.stringToDate(e.start):e.start,a=s.formatDateLite(t),r=s.dateToMinutes(t);let n=null;typeof e.end=="string"&&e.end.includes("24:00")?(n=new Date(e.end.replace(" 24:00","")),n.setHours(23,59,59,0)):n=typeof e.end=="string"?s.stringToDate(e.end):e.end;let o=s.formatDateLite(n),l=s.dateToMinutes(n);(!l||l===O)&&(!this.time||typeof e.end=="string"&&e.end.length===10?n.setHours(23,59,59,0):n.setSeconds(n.getSeconds()-1),o=s.formatDateLite(n),l=O);const c=a!==o;e=Object.assign({...this.utils.event.eventDefaults},e,{_eid:`${this._.uid}_${this.eventIdIncrement++}`,segments:c?{}:null,start:t,startTimeMinutes:r,end:n,endTimeMinutes:l,daysCount:c?s.countDays(t,n):1,class:e.class}),this.mutableEvents.push(e)})},minutesAtCursor(s){return this.utils.cell.minutesAtCursor(s)},createEvent(s,e,t={}){return this.utils.event.createAnEvent(s,e,t)},cleanupEvent(s){return s={...s},["segments","deletable","deleting","titleEditable","resizable","resizing","draggable","dragging","draggingStatic","focused"].forEach(t=>{t in s&&delete s[t]}),s.repeat||delete s.repeat,s},emitWithEvent(s,e){this.$emit(s,this.cleanupEvent(e))},updateSelectedDate(s){if(s&&typeof s=="string"?s=this.utils.date.stringToDate(s):s=new Date(s),s&&s instanceof Date){const{selectedDate:e}=this.view;e&&(this.transitionDirection=e.getTime()>s.getTime()?"left":"right"),s.setHours(0,0,0,0),(!e||e.getTime()!==s.getTime())&&(this.view.selectedDate=s),this.switchView(this.view.id)}this.$emit("update:selected-date",this.view.selectedDate)},getWeekNumber(s){const e=this.utils.date,a=this.firstCellDateWeekNumber+s,r=this.startWeekOnSunday?1:0;return a>52?e.getWeek(e.addDays(this.view.firstCellDate,7*s+r)):a},timeTick(){this.now=new Date,this.timeTickerIds[1]=setTimeout(this.timeTick,60*1e3)},updateDateTexts(){this.utils.date.updateTexts(this.texts)},alignWithScrollbar(){if(document.getElementById("vuecal-align-with-scrollbar"))return;const s=this.$refs.vuecal.getElementsByClassName("vuecal__scrollbar-check")[0],e=s.offsetWidth-s.children[0].offsetWidth;if(e){const t=document.createElement("style");t.id="vuecal-align-with-scrollbar",t.type="text/css",t.innerHTML=`.vuecal__weekdays-headings,.vuecal__all-day {padding-right: ${e}px}`,document.head.appendChild(t)}},cellOrSplitHasEvents(s,e=null){return s.length&&(!e&&s.length||e&&s.some(t=>t.split===e.id))}},created(){this.utils.cell=new U(this),this.utils.event=new K(this,this.utils.date),this.loadLocale(this.locale),this.editEvents.drag&&this.loadDragAndDrop(),this.updateMutableEvents(this.events),this.view.id=this.currentView,this.selectedDate?this.updateSelectedDate(this.selectedDate):(this.view.selectedDate=new Date,this.switchView(this.currentView)),this.time&&this.watchRealTime&&(this.timeTickerIds[0]=setTimeout(this.timeTick,(60-this.now.getSeconds())*1e3))},mounted(){const s=this.utils.date,e="ontouchstart"in window,{resize:t,drag:a,create:r,delete:n,title:o}=this.editEvents,l=this.onEventClick&&typeof this.onEventClick=="function";(t||a||r||n||o||l)&&window.addEventListener(e?"touchend":"mouseup",this.onMouseUp),(t||a||r&&this.dragToCreateEvent)&&window.addEventListener(e?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),o&&window.addEventListener("keyup",this.onKeyUp),e&&(this.$refs.vuecal.oncontextmenu=function(h){h.preventDefault(),h.stopPropagation()}),this.hideBody||this.alignWithScrollbar();const c=this.view.startDate,d={view:this.view.id,startDate:c,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:s.getWeek(this.startWeekOnSunday?s.addDays(c,1):c)}:{}};this.$emit("ready",d),this.ready=!0},beforeUnmount(){const s="ontouchstart"in window;window.removeEventListener(s?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),window.removeEventListener(s?"touchend":"mouseup",this.onMouseUp),window.removeEventListener("keyup",this.onKeyUp),this.timeTickerIds[0]&&clearTimeout(this.timeTickerIds[0]),this.timeTickerIds[1]&&clearTimeout(this.timeTickerIds[1]),this.timeTickerIds=[null,null]},computed:{editEvents(){return this.editableEvents&&typeof this.editableEvents=="object"?{title:!!this.editableEvents.title,drag:!!this.editableEvents.drag,resize:!!this.editableEvents.resize,create:!!this.editableEvents.create,delete:!!this.editableEvents.delete}:{title:!!this.editableEvents,drag:!!this.editableEvents,resize:!!this.editableEvents,create:!!this.editableEvents,delete:!!this.editableEvents}},views(){return{years:{label:this.texts.years,enabled:!this.disableViews.includes("years")},year:{label:this.texts.year,enabled:!this.disableViews.includes("year")},month:{label:this.texts.month,enabled:!this.disableViews.includes("month")},week:{label:this.texts.week,enabled:!this.disableViews.includes("week")},day:{label:this.texts.day,enabled:!this.disableViews.includes("day")}}},currentView(){return this.validateView(this.activeView)},enabledViews(){return Object.keys(this.views).filter(s=>this.views[s].enabled)},hasTimeColumn(){return this.time&&this.isWeekOrDayView},isShortMonthView(){return this.isMonthView&&this.eventsOnMonthView==="short"},firstCellDateWeekNumber(){const s=this.utils.date,e=this.view.firstCellDate;return s.getWeek(this.startWeekOnSunday?s.addDays(e,1):e)},timeCells(){const s=[];for(let e=this.timeFrom,t=this.timeTo;e<t;e+=this.timeStep)s.push({hours:Math.floor(e/60),minutes:e%60,label:this.utils.date.formatTime(e,this.TimeFormat),value:e});return s},TimeFormat(){return this.timeFormat||(this.twelveHour?"h:mm{am}":"HH:mm")},daySplits(){return(this.splitDays.filter(s=>!s.hide)||[]).map((s,e)=>({...s,id:s.id||e+1}))},hasSplits(){return this.daySplits.length&&this.isWeekOrDayView},hasShortEvents(){return this.showAllDayEvents==="short"},cellOrSplitMinWidth(){let s=null;return this.hasSplits&&this.minSplitWidth?s=this.visibleDaysCount*this.minSplitWidth*this.daySplits.length:this.minCellWidth&&this.isWeekView&&(s=this.visibleDaysCount*this.minCellWidth),s},allDayBar(){let s=this.allDayBarHeight||null;return s&&!isNaN(s)&&(s+="px"),{cells:this.viewCells,options:this.$props,label:this.texts.allDay,shortEvents:this.hasShortEvents,daySplits:this.hasSplits&&this.daySplits||[],cellOrSplitMinWidth:this.cellOrSplitMinWidth,height:s}},minTimestamp(){let s=null;return this.minDate&&typeof this.minDate=="string"?s=this.utils.date.stringToDate(this.minDate):this.minDate&&this.minDate instanceof Date&&(s=this.minDate),s?s.getTime():null},maxTimestamp(){let s=null;return this.maxDate&&typeof this.maxDate=="string"?s=this.utils.date.stringToDate(this.maxDate):this.maxDate&&this.minDate instanceof Date&&(s=this.maxDate),s?s.getTime():null},weekDays(){let{weekDays:s,weekDaysShort:e=[]}=this.texts;return s=s.slice(0).map((t,a)=>({label:t,...e.length?{short:e[a]}:{},hide:this.hideWeekends&&a>=5||this.hideWeekdays.length&&this.hideWeekdays.includes(a+1)})),this.startWeekOnSunday&&s.unshift(s.pop()),s},weekDaysInHeader(){return this.isMonthView||this.isWeekView&&!this.minCellWidth&&!(this.hasSplits&&this.minSplitWidth)},months(){return this.texts.months.map(s=>({label:s}))},specialDayHours(){return!this.specialHours||!Object.keys(this.specialHours).length?{}:Array(7).fill("").map((s,e)=>{let t=this.specialHours[e+1]||[];return Array.isArray(t)||(t=[t]),s=[],t.forEach(({from:a,to:r,class:n},o)=>{s[o]={day:e+1,from:[null,void 0].includes(a)?null:a*1,to:[null,void 0].includes(r)?null:r*1,class:n||""}}),s})},viewTitle(){const s=this.utils.date;let e="";const t=this.view.startDate,a=t.getFullYear(),r=t.getMonth();switch(this.view.id){case"years":{e=this.texts.years;break}case"year":{e=a;break}case"month":{e=`${this.months[r].label} ${a}`;break}case"week":{const n=this.view.endDate,o=t.getFullYear();let l=this.texts.months[t.getMonth()];this.xsmall&&(l=l.substring(0,3));let c=`${l} ${o}`;if(n.getMonth()!==t.getMonth()){const d=n.getFullYear();let h=this.texts.months[n.getMonth()];this.xsmall&&(h=h.substring(0,3)),o===d?c=`${l} - ${h} ${o}`:this.small?c=`${l.substring(0,3)} ${o} - ${h.substring(0,3)} ${d}`:c=`${l} ${o} - ${h} ${d}`}e=`${this.texts.week} ${s.getWeek(this.startWeekOnSunday?s.addDays(t,1):t)} (${c})`;break}case"day":{e=this.utils.date.formatDate(t,this.texts.dateFormat,this.texts);break}}return e},viewCells(){const s=this.utils.date;let e=[],t=null,a=!1;this.watchRealTime||(this.now=new Date);const r=this.now;switch(this.view.id){case"years":{t=this.view.startDate.getFullYear(),e=Array.apply(null,Array(25)).map((n,o)=>{const l=new Date(t+o,0,1),c=new Date(t+o+1,0,1);return c.setSeconds(-1),{startDate:l,formattedDate:s.formatDateLite(l),endDate:c,content:t+o,current:t+o===r.getFullYear()}});break}case"year":{t=this.view.startDate.getFullYear(),e=Array.apply(null,Array(12)).map((n,o)=>{const l=new Date(t,o,1),c=new Date(t,o+1,1);return c.setSeconds(-1),{startDate:l,formattedDate:s.formatDateLite(l),endDate:c,content:this.xsmall?this.months[o].label.substr(0,3):this.months[o].label,current:o===r.getMonth()&&t===r.getFullYear()}});break}case"month":{const n=this.view.startDate.getMonth(),o=new Date(this.view.firstCellDate);a=!1,e=Array.apply(null,Array(42)).map((l,c)=>{const d=s.addDays(o,c),h=new Date(d);h.setHours(23,59,59,0);const v=!a&&s.isToday(d)&&!a++;return{startDate:d,formattedDate:s.formatDateLite(d),endDate:h,content:d.getDate(),today:v,outOfScope:d.getMonth()!==n,class:`vuecal__cell--day${d.getDay()||7}`}}),(this.hideWeekends||this.hideWeekdays.length)&&(e=e.filter(l=>{const c=l.startDate.getDay()||7;return!(this.hideWeekends&&c>=6||this.hideWeekdays.length&&this.hideWeekdays.includes(c))}));break}case"week":{a=!1;const n=this.view.startDate,o=this.weekDays;e=o.map((l,c)=>{const d=s.addDays(n,c),h=new Date(d);h.setHours(23,59,59,0);const v=(d.getDay()||7)-1;return{startDate:d,formattedDate:s.formatDateLite(d),endDate:h,today:!a&&s.isToday(d)&&!a++,specialHours:this.specialDayHours[v]||[]}}).filter((l,c)=>!o[c].hide);break}case"day":{const n=this.view.startDate,o=new Date(this.view.startDate);o.setHours(23,59,59,0);const l=(n.getDay()||7)-1;e=[{startDate:n,formattedDate:s.formatDateLite(n),endDate:o,today:s.isToday(n),specialHours:this.specialDayHours[l]||[]}];break}}return e},visibleDaysCount(){return this.isDayView?1:7-this.weekDays.reduce((s,e)=>s+e.hide,0)},cellWidth(){return 100/this.visibleDaysCount},cssClasses(){const{resizeAnEvent:s,dragAnEvent:e,dragCreateAnEvent:t}=this.domEvents;return{[`vuecal--${this.view.id}-view`]:!0,[`vuecal--${this.locale}`]:this.locale,"vuecal--no-time":!this.time,"vuecal--view-with-time":this.hasTimeColumn,"vuecal--week-numbers":this.showWeekNumbers&&this.isMonthView,"vuecal--twelve-hour":this.twelveHour,"vuecal--click-to-navigate":this.clickToNavigate,"vuecal--hide-weekends":this.hideWeekends,"vuecal--split-days":this.hasSplits,"vuecal--sticky-split-labels":this.hasSplits&&this.stickySplitLabels,"vuecal--overflow-x":this.minCellWidth&&this.isWeekView||this.hasSplits&&this.minSplitWidth,"vuecal--small":this.small,"vuecal--xsmall":this.xsmall,"vuecal--resizing-event":s._eid,"vuecal--drag-creating-event":t.event,"vuecal--dragging-event":e._eid,"vuecal--events-on-month-view":this.eventsOnMonthView,"vuecal--short-events":this.isMonthView&&this.eventsOnMonthView==="short","vuecal--has-touch":typeof window<"u"&&"ontouchstart"in window}},isYearsOrYearView(){return["years","year"].includes(this.view.id)},isYearsView(){return this.view.id==="years"},isYearView(){return this.view.id==="year"},isMonthView(){return this.view.id==="month"},isWeekOrDayView(){return["week","day"].includes(this.view.id)},isWeekView(){return this.view.id==="week"},isDayView(){return this.view.id==="day"}},watch:{events:{handler(s,e){this.updateMutableEvents(s),this.addEventsToView()},deep:!0},locale(s){this.loadLocale(s)},selectedDate(s){this.updateSelectedDate(s)},activeView(s){this.switchView(s)}}},[["render",st]])});
|
|
5
|
+
*/define(["require","vue"],function(u,i){"use strict";const C=(s,e)=>{const t=s[e];return t?typeof t=="function"?t():Promise.resolve(t):new Promise((l,r)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(r.bind(null,new Error("Unknown variable dynamic import: "+e)))})};let V,N,x,p,B={},T={};class P{constructor(e,t=!1){_(this,"texts",{});_(this,"dateToMinutes",e=>e.getHours()*60+e.getMinutes());p=this,this._texts=e,!t&&Date&&!Date.prototype.addDays&&this._initDatePrototypes()}_initDatePrototypes(){Date.prototype.addDays=function(e){return p.addDays(this,e)},Date.prototype.subtractDays=function(e){return p.subtractDays(this,e)},Date.prototype.addHours=function(e){return p.addHours(this,e)},Date.prototype.subtractHours=function(e){return p.subtractHours(this,e)},Date.prototype.addMinutes=function(e){return p.addMinutes(this,e)},Date.prototype.subtractMinutes=function(e){return p.subtractMinutes(this,e)},Date.prototype.getWeek=function(){return p.getWeek(this)},Date.prototype.isToday=function(){return p.isToday(this)},Date.prototype.isLeapYear=function(){return p.isLeapYear(this)},Date.prototype.format=function(e="YYYY-MM-DD"){return p.formatDate(this,e)},Date.prototype.formatTime=function(e="HH:mm"){return p.formatTime(this,e)}}removePrototypes(){delete Date.prototype.addDays,delete Date.prototype.subtractDays,delete Date.prototype.addHours,delete Date.prototype.subtractHours,delete Date.prototype.addMinutes,delete Date.prototype.subtractMinutes,delete Date.prototype.getWeek,delete Date.prototype.isToday,delete Date.prototype.isLeapYear,delete Date.prototype.format,delete Date.prototype.formatTime}updateTexts(e){this._texts=e}_todayFormatted(){return N!==new Date().getDate()&&(V=new Date,N=V.getDate(),x=`${V.getFullYear()}-${V.getMonth()}-${V.getDate()}`),x}addDays(e,t){const l=new Date(e.valueOf());return l.setDate(l.getDate()+t),l}subtractDays(e,t){const l=new Date(e.valueOf());return l.setDate(l.getDate()-t),l}addHours(e,t){const l=new Date(e.valueOf());return l.setHours(l.getHours()+t),l}subtractHours(e,t){const l=new Date(e.valueOf());return l.setHours(l.getHours()-t),l}addMinutes(e,t){const l=new Date(e.valueOf());return l.setMinutes(l.getMinutes()+t),l}subtractMinutes(e,t){const l=new Date(e.valueOf());return l.setMinutes(l.getMinutes()-t),l}getWeek(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),l=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-l);const r=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t-r)/864e5+1)/7)}isToday(e){return`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`===this._todayFormatted()}isLeapYear(e){const t=e.getFullYear();return!(t%400)||t%100&&!(t%4)}getPreviousFirstDayOfWeek(e=null,t){const l=e&&new Date(e.valueOf())||new Date,r=t?7:6;return l.setDate(l.getDate()-(l.getDay()+r)%7),l}stringToDate(e){return e instanceof Date?e:(e.length===10&&(e+=" 00:00"),new Date(e.replace(/-/g,"/")))}countDays(e,t){typeof e=="string"&&(e=e.replace(/-/g,"/")),typeof t=="string"&&(t=t.replace(/-/g,"/")),e=new Date(e).setHours(0,0,0,0),t=new Date(t).setHours(0,0,1,0);const l=(new Date(t).getTimezoneOffset()-new Date(e).getTimezoneOffset())*60*1e3;return Math.ceil((t-e-l)/(24*3600*1e3))}datesInSameTimeStep(e,t,l){return Math.abs(e.getTime()-t.getTime())<=l*60*1e3}formatDate(e,t="YYYY-MM-DD",l=null){if(l||(l=this._texts),t||(t="YYYY-MM-DD"),t==="YYYY-MM-DD")return this.formatDateLite(e);B={},T={};const r={YYYY:()=>this._hydrateDateObject(e,l).YYYY,YY:()=>this._hydrateDateObject(e,l).YY(),M:()=>this._hydrateDateObject(e,l).M,MM:()=>this._hydrateDateObject(e,l).MM(),MMM:()=>this._hydrateDateObject(e,l).MMM(),MMMM:()=>this._hydrateDateObject(e,l).MMMM(),MMMMG:()=>this._hydrateDateObject(e,l).MMMMG(),D:()=>this._hydrateDateObject(e,l).D,DD:()=>this._hydrateDateObject(e,l).DD(),S:()=>this._hydrateDateObject(e,l).S(),d:()=>this._hydrateDateObject(e,l).d,dd:()=>this._hydrateDateObject(e,l).dd(),ddd:()=>this._hydrateDateObject(e,l).ddd(),dddd:()=>this._hydrateDateObject(e,l).dddd(),HH:()=>this._hydrateTimeObject(e,l).HH,H:()=>this._hydrateTimeObject(e,l).H,hh:()=>this._hydrateTimeObject(e,l).hh,h:()=>this._hydrateTimeObject(e,l).h,am:()=>this._hydrateTimeObject(e,l).am,AM:()=>this._hydrateTimeObject(e,l).AM,mm:()=>this._hydrateTimeObject(e,l).mm,m:()=>this._hydrateTimeObject(e,l).m};return t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,(n,o)=>{const a=r[o.replace(/\{|\}/g,"")];return a!==void 0?a():o})}formatDateLite(e){const t=e.getMonth()+1,l=e.getDate();return`${e.getFullYear()}-${t<10?"0":""}${t}-${l<10?"0":""}${l}`}formatTime(e,t="HH:mm",l=null,r=!1){let n=!1;if(r){const[c,d,h]=[e.getHours(),e.getMinutes(),e.getSeconds()];c+d+h===23+59+59&&(n=!0)}if(e instanceof Date&&t==="HH:mm")return n?"24:00":this.formatTimeLite(e);T={},l||(l=this._texts);const o=this._hydrateTimeObject(e,l),a=t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,(c,d)=>{const h=o[d.replace(/\{|\}/g,"")];return h!==void 0?h:d});return n?a.replace("23:59","24:00"):a}formatTimeLite(e){const t=e.getHours(),l=e.getMinutes();return`${(t<10?"0":"")+t}:${(l<10?"0":"")+l}`}_nth(e){if(e>3&&e<21)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}_hydrateDateObject(e,t){if(B.D)return B;const l=e.getFullYear(),r=e.getMonth()+1,n=e.getDate(),a=(e.getDay()-1+7)%7;return B={YYYY:l,YY:()=>l.toString().substring(2),M:r,MM:()=>(r<10?"0":"")+r,MMM:()=>t.months[r-1].substring(0,3),MMMM:()=>t.months[r-1],MMMMG:()=>(t.monthsGenitive||t.months)[r-1],D:n,DD:()=>(n<10?"0":"")+n,S:()=>this._nth(n),d:a+1,dd:()=>t.weekDays[a][0],ddd:()=>t.weekDays[a].substr(0,3),dddd:()=>t.weekDays[a]},B}_hydrateTimeObject(e,t){if(T.am)return T;let l,r;e instanceof Date?(l=e.getHours(),r=e.getMinutes()):(l=Math.floor(e/60),r=Math.floor(e%60));const n=l%12?l%12:12,o=(t||{am:"am",pm:"pm"})[l===24||l<12?"am":"pm"];return T={H:l,h:n,HH:(l<10?"0":"")+l,hh:(n<10?"0":"")+n,am:o,AM:o.toUpperCase(),m:r,mm:(r<10?"0":"")+r},T}}const I=24*60;class U{constructor(e){_(this,"_vuecal",null);_(this,"selectCell",(e=!1,t,l)=>{this._vuecal.$emit("cell-click",l?{date:t,split:l}:t),this._vuecal.clickToNavigate||e?this._vuecal.switchToNarrowerView():this._vuecal.dblclickToNavigate&&"ontouchstart"in window&&(this._vuecal.domEvents.dblTapACell.taps++,setTimeout(()=>this._vuecal.domEvents.dblTapACell.taps=0,this._vuecal.domEvents.dblTapACell.timeout),this._vuecal.domEvents.dblTapACell.taps>=2&&(this._vuecal.domEvents.dblTapACell.taps=0,this._vuecal.switchToNarrowerView(),this._vuecal.$emit("cell-dblclick",l?{date:t,split:l}:t)))});_(this,"keyPressEnterCell",(e,t)=>{this._vuecal.$emit("cell-keypress-enter",t?{date:e,split:t}:e),this._vuecal.switchToNarrowerView()});_(this,"getPosition",e=>{const{left:t,top:l}=this._vuecal.cellsEl.getBoundingClientRect(),{clientX:r,clientY:n}="ontouchstart"in window&&e.touches?e.touches[0]:e;return{x:r-t,y:n-l}});_(this,"minutesAtCursor",e=>{let t=0,l={x:0,y:0};const{timeStep:r,timeCellHeight:n,timeFrom:o}=this._vuecal.$props;return typeof e=="number"?t=e:typeof e=="object"&&(l=this.getPosition(e),t=Math.round(l.y*r/parseInt(n)+o)),{minutes:Math.max(Math.min(t,I),0),cursorCoords:l}});this._vuecal=e}}const R=2,H=24*60;let w,y,A;class K{constructor(e,t){_(this,"_vuecal",null);_(this,"eventDefaults",{_eid:null,start:"",startTimeMinutes:0,end:"",endTimeMinutes:0,title:"",content:"",background:!1,allDay:!1,segments:null,repeat:null,daysCount:1,deletable:!0,deleting:!1,titleEditable:!0,resizable:!0,resizing:!1,draggable:!0,dragging:!1,draggingStatic:!1,focused:!1,class:""});this._vuecal=e,w=t}createAnEvent(e,t,l){if(typeof e=="string"&&(e=w.stringToDate(e)),!(e instanceof Date))return!1;const r=w.dateToMinutes(e);t=t*1||R*60;const n=r+t,o=w.addMinutes(new Date(e),t);l.end&&(typeof l.end=="string"&&(l.end=w.stringToDate(l.end)),l.endTimeMinutes=w.dateToMinutes(l.end));const a={...this.eventDefaults,_eid:`${this._vuecal._.uid}_${this._vuecal.eventIdIncrement++}`,start:e,startTimeMinutes:r,end:o,endTimeMinutes:n,segments:null,...l};if(!(typeof this._vuecal.onEventCreate=="function"&&!this._vuecal.onEventCreate(a,()=>this.deleteAnEvent(a))))return a.startDateF!==a.endDateF&&(a.daysCount=w.countDays(a.start,a.end)),this._vuecal.mutableEvents.push(a),this._vuecal.addEventsToView([a]),this._vuecal.emitWithEvent("event-create",a),this._vuecal.$emit("event-change",{event:this._vuecal.cleanupEvent(a),originalEvent:null}),a}addEventSegment(e){e.segments||(e.segments={},e.segments[w.formatDateLite(e.start)]={start:e.start,startTimeMinutes:e.startTimeMinutes,endTimeMinutes:H,isFirstDay:!0,isLastDay:!1});const t=e.segments[w.formatDateLite(e.end)];t&&(t.isLastDay=!1,t.endTimeMinutes=H);const l=w.addDays(e.end,1),r=w.formatDateLite(l);return l.setHours(0,0,0,0),e.segments[r]={start:l,startTimeMinutes:0,endTimeMinutes:e.endTimeMinutes,isFirstDay:!1,isLastDay:!0},e.end=w.addMinutes(l,e.endTimeMinutes),e.daysCount=Object.keys(e.segments).length,r}removeEventSegment(e){let t=Object.keys(e.segments).length;if(t<=1)return w.formatDateLite(e.end);delete e.segments[w.formatDateLite(e.end)],t--;const l=w.subtractDays(e.end,1),r=w.formatDateLite(l),n=e.segments[r];return t?n&&(n.isLastDay=!0,n.endTimeMinutes=e.endTimeMinutes):e.segments=null,e.daysCount=t||1,e.end=l,r}createEventSegments(e,t,l){const r=t.getTime(),n=l.getTime();let o=e.start.getTime(),a=e.end.getTime(),c=!1,d,h,v;for(!e.end.getHours()&&!e.end.getMinutes()&&(a-=1e3),e.segments={},e.repeat?(d=r,h=Math.min(n,e.repeat.until?w.stringToDate(e.repeat.until).getTime():n)):(d=Math.max(r,o),h=Math.min(n,a));d<=h;){let m=!1;const D=w.addDays(new Date(d),1).setHours(0,0,0,0);let f,k,E,g;if(e.repeat){const S=new Date(d),b=w.formatDateLite(S);(c||e.occurrences&&e.occurrences[b])&&(c||(o=e.occurrences[b].start,v=new Date(o).setHours(0,0,0,0),a=e.occurrences[b].end),c=!0,m=!0),f=d===v,k=b===w.formatDateLite(new Date(a)),E=new Date(f?o:d),g=w.formatDateLite(E),k&&(c=!1)}else m=!0,f=d===o,k=h===a&&D>h,E=f?e.start:new Date(d),g=w.formatDateLite(f?e.start:E);m&&(e.segments[g]={start:E,startTimeMinutes:f?e.startTimeMinutes:0,endTimeMinutes:k?e.endTimeMinutes:H,isFirstDay:f,isLastDay:k}),d=D}return e}deleteAnEvent(e){this._vuecal.emitWithEvent("event-delete",e),this._vuecal.mutableEvents=this._vuecal.mutableEvents.filter(t=>t._eid!==e._eid),this._vuecal.view.events=this._vuecal.view.events.filter(t=>t._eid!==e._eid)}checkCellOverlappingEvents(e,t){A=e.slice(0),y={},e.forEach(r=>{A.shift(),y[r._eid]||(y[r._eid]={overlaps:[],start:r.start,position:0}),y[r._eid].position=0,A.forEach(n=>{y[n._eid]||(y[n._eid]={overlaps:[],start:n.start,position:0});const o=this.eventInRange(n,r.start,r.end),a=t.overlapsPerTimeStep?w.datesInSameTimeStep(r.start,n.start,t.timeStep):1;if(!r.background&&!r.allDay&&!n.background&&!n.allDay&&o&&a)y[r._eid].overlaps.push(n._eid),y[r._eid].overlaps=[...new Set(y[r._eid].overlaps)],y[n._eid].overlaps.push(r._eid),y[n._eid].overlaps=[...new Set(y[n._eid].overlaps)],y[n._eid].position++;else{let c,d;(c=(y[r._eid]||{overlaps:[]}).overlaps.indexOf(n._eid))>-1&&y[r._eid].overlaps.splice(c,1),(d=(y[n._eid]||{overlaps:[]}).overlaps.indexOf(r._eid))>-1&&y[n._eid].overlaps.splice(d,1),y[n._eid].position--}})});let l=0;for(const r in y){const n=y[r],o=n.overlaps.map(a=>({id:a,start:y[a].start}));o.push({id:r,start:n.start}),o.sort((a,c)=>a.start<c.start?-1:a.start>c.start?1:a.id>c.id?-1:1),n.position=o.findIndex(a=>a.id===r),l=Math.max(this.getOverlapsStreak(n,y),l)}return[y,l]}getOverlapsStreak(e,t={}){let l=e.overlaps.length+1,r=[];return e.overlaps.forEach(n=>{r.includes(n)||e.overlaps.filter(a=>a!==n).forEach(a=>{t[a].overlaps.includes(n)||r.push(a)})}),r=[...new Set(r)],l-=r.length,l}eventInRange(e,t,l){if(e.allDay||!this._vuecal.time){const o=new Date(e.start).setHours(0,0,0,0);return new Date(e.end).setHours(23,59,0,0)>=new Date(t).setHours(0,0,0,0)&&o<=new Date(l).setHours(0,0,0,0)}const r=e.start.getTime(),n=e.end.getTime();return r<l.getTime()&&n>t.getTime()}}const X={class:"vuecal__flex vuecal__weekdays-headings"},G=["onClick"],Z={class:"vuecal__flex weekday-label",grow:""},J={class:"full"},Q={class:"small"},q={class:"xsmall"},$={key:0},ee={key:0,class:"vuecal__flex vuecal__split-days-headers",grow:""};function te(s,e,t,l,r,n){return i.openBlock(),i.createElementBlock("div",X,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.headings,(o,a)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:a},[o.hide?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",{key:0,class:i.normalizeClass(["vuecal__flex vuecal__heading",{today:o.today,clickable:n.cellHeadingsClickable}]),style:i.normalizeStyle(n.weekdayCellStyles),onClick:c=>n.view.id==="week"&&n.selectCell(o.date,c),onDblclick:e[0]||(e[0]=c=>n.view.id==="week"&&n.vuecal.dblclickToNavigate&&t.switchToNarrowerView())},[i.createVNode(i.Transition,{name:`slide-fade--${t.transitionDirection}`,appear:n.vuecal.transitions},{default:i.withCtx(()=>[(i.openBlock(),i.createElementBlock("div",{class:"vuecal__flex",column:"",key:n.vuecal.transitions?`${a}-${o.dayOfMonth}`:!1},[i.createElementVNode("div",Z,[i.renderSlot(s.$slots,"weekday-heading",{heading:n.cleanupHeading(o),view:n.view},()=>[i.createElementVNode("span",J,i.toDisplayString(o.full),1),i.createElementVNode("span",Q,i.toDisplayString(o.small),1),i.createElementVNode("span",q,i.toDisplayString(o.xsmall),1),o.dayOfMonth?(i.openBlock(),i.createElementBlock("span",$,"\xA0"+i.toDisplayString(o.dayOfMonth),1)):i.createCommentVNode("",!0)])]),n.vuecal.hasSplits&&n.vuecal.stickySplitLabels?(i.openBlock(),i.createElementBlock("div",ee,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.vuecal.daySplits,(c,d)=>(i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["day-split-header",c.class||!1]),key:d},[i.renderSlot(s.$slots,"split-label",{split:c,view:n.view},()=>[i.createTextVNode(i.toDisplayString(c.label),1)])],2))),128))])):i.createCommentVNode("",!0)]))]),_:2},1032,["name","appear"])],46,G))],64))),128))])}const at="",M=(s,e)=>{const t=s.__vccOpts||s;for(const[l,r]of e)t[l]=r;return t},j=M({inject:["vuecal","utils","view"],props:{transitionDirection:{type:String,default:"right"},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}}},methods:{selectCell(s,e){s.getTime()!==this.view.selectedDate.getTime()&&(this.view.selectedDate=s),this.utils.cell.selectCell(!1,s,e)},cleanupHeading:s=>({label:s.full,date:s.date,...s.today?{today:s.today}:{}})},computed:{headings(){if(!["month","week"].includes(this.view.id))return[];let s=!1;return this.weekDays.map((t,l)=>{const r=this.utils.date.addDays(this.view.startDate,l);return{hide:t.hide,full:t.label,small:t.short||t.label.substr(0,3),xsmall:t.short||t.label.substr(0,1),...this.view.id==="week"?{dayOfMonth:r.getDate(),date:r,today:!s&&this.utils.date.isToday(r)&&!s++}:{}}})},cellWidth(){return 100/(7-this.weekDays.reduce((s,e)=>s+e.hide,0))},weekdayCellStyles(){return{...this.vuecal.hideWeekdays.length?{width:`${this.cellWidth}%`}:{}}},cellHeadingsClickable(){return this.view.id==="week"&&(this.vuecal.clickToNavigate||this.vuecal.dblclickToNavigate)}}},[["render",te]]),se={class:"vuecal__header"},ie={key:0,class:"vuecal__flex vuecal__menu",role:"tablist","aria-label":"Calendar views navigation"},ne=["onDragenter","onDragleave","onClick","aria-label"],le={key:1,class:"vuecal__title-bar"},ae=["aria-label"],re={class:"vuecal__flex vuecal__title",grow:""},oe=["aria-label"],de={key:0,class:"vuecal__flex vuecal__split-days-headers"};function ce(s,e,t,l,r,n){const o=i.resolveComponent("weekdays-headings");return i.openBlock(),i.createElementBlock("div",se,[t.options.hideViewSelector?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",ie,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(t.viewProps.views,(a,c)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:c},[a.enabled?(i.openBlock(),i.createElementBlock("button",{key:0,class:i.normalizeClass(["vuecal__view-btn",{"vuecal__view-btn--active":n.view.id===c,"vuecal__view-btn--highlighted":s.highlightedControl===c}]),type:"button",onDragenter:d=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(d,c,s.$data),onDragleave:d=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(d,c,s.$data),onClick:d=>n.switchView(c,null,!0),"aria-label":`${a.label} view`},i.toDisplayString(a.label),43,ne)):i.createCommentVNode("",!0)],64))),128))])),t.options.hideTitleBar?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",le,[i.createElementVNode("button",{class:i.normalizeClass(["vuecal__arrow vuecal__arrow--prev",{"vuecal__arrow--highlighted":s.highlightedControl==="previous"}]),type:"button",onClick:e[0]||(e[0]=(...a)=>n.previous&&n.previous(...a)),onDragenter:e[1]||(e[1]=a=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(a,"previous",s.$data)),onDragleave:e[2]||(e[2]=a=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(a,"previous",s.$data)),"aria-label":`Previous ${n.view.id}`},[i.renderSlot(s.$slots,"arrow-prev")],42,ae),i.createElementVNode("div",re,[i.createVNode(i.Transition,{name:t.options.transitions?`slide-fade--${n.transitionDirection}`:""},{default:i.withCtx(()=>[(i.openBlock(),i.createBlock(i.resolveDynamicComponent(n.broaderView?"button":"span"),{type:!!n.broaderView&&"button",key:`${n.view.id}${n.view.startDate.toString()}`,onClick:e[3]||(e[3]=a=>!!n.broaderView&&n.switchToBroaderView()),"aria-label":!!n.broaderView&&`Go to ${n.broaderView} view`},{default:i.withCtx(()=>[i.renderSlot(s.$slots,"title")]),_:3},8,["type","aria-label"]))]),_:3},8,["name"])]),t.options.todayButton?(i.openBlock(),i.createElementBlock("button",{key:0,class:i.normalizeClass(["vuecal__today-btn",{"vuecal__today-btn--highlighted":s.highlightedControl==="today"}]),type:"button",onClick:e[4]||(e[4]=(...a)=>n.goToToday&&n.goToToday(...a)),onDragenter:e[5]||(e[5]=a=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(a,"today",s.$data)),onDragleave:e[6]||(e[6]=a=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(a,"today",s.$data)),"aria-label":"Today"},[i.renderSlot(s.$slots,"today-button")],34)):i.createCommentVNode("",!0),i.createElementVNode("button",{class:i.normalizeClass(["vuecal__arrow vuecal__arrow--next",{"vuecal__arrow--highlighted":s.highlightedControl==="next"}]),type:"button",onClick:e[7]||(e[7]=(...a)=>n.next&&n.next(...a)),onDragenter:e[8]||(e[8]=a=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(a,"next",s.$data)),onDragleave:e[9]||(e[9]=a=>t.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(a,"next",s.$data)),"aria-label":`Next ${n.view.id}`},[i.renderSlot(s.$slots,"arrow-next")],42,oe)])),t.viewProps.weekDaysInHeader?(i.openBlock(),i.createBlock(o,{key:2,"week-days":t.weekDays,"transition-direction":n.transitionDirection,"switch-to-narrower-view":t.switchToNarrowerView},i.createSlots({_:2},[s.$slots["weekday-heading"]?{name:"weekday-heading",fn:i.withCtx(({heading:a,view:c})=>[i.renderSlot(s.$slots,"weekday-heading",{heading:a,view:c})])}:void 0,s.$slots["split-label"]?{name:"split-label",fn:i.withCtx(({split:a})=>[i.renderSlot(s.$slots,"split-label",{split:a,view:n.view})])}:void 0]),1032,["week-days","transition-direction","switch-to-narrower-view"])):i.createCommentVNode("",!0),i.createVNode(i.Transition,{name:`slide-fade--${n.transitionDirection}`},{default:i.withCtx(()=>[n.showDaySplits?(i.openBlock(),i.createElementBlock("div",de,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(t.daySplits,(a,c)=>(i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["day-split-header",a.class||!1]),key:c},[i.renderSlot(s.$slots,"split-label",{split:a,view:n.view.id},()=>[i.createTextVNode(i.toDisplayString(a.label),1)])],2))),128))])):i.createCommentVNode("",!0)]),_:3},8,["name"])])}const ot="",he=M({inject:["vuecal","previous","next","switchView","updateSelectedDate","modules","view"],components:{WeekdaysHeadings:j},props:{options:{type:Object,default:()=>({})},editEvents:{type:Object,required:!0},hasSplits:{type:[Boolean,Number],default:!1},daySplits:{type:Array,default:()=>[]},viewProps:{type:Object,default:()=>({})},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}}},data:()=>({highlightedControl:null}),methods:{goToToday(){this.updateSelectedDate(new Date(new Date().setHours(0,0,0,0)))},switchToBroaderView(){this.transitionDirection="left",this.broaderView&&this.switchView(this.broaderView)}},computed:{transitionDirection:{get(){return this.vuecal.transitionDirection},set(s){this.vuecal.transitionDirection=s}},broaderView(){const{enabledViews:s}=this.vuecal;return s[s.indexOf(this.view.id)-1]},showDaySplits(){return this.view.id==="day"&&this.hasSplits&&this.options.stickySplitLabels&&!this.options.minSplitWidth},dnd(){return this.modules.dnd}}},[["render",ce]]),ue=["draggable"];function me(s,e,t,l,r,n){return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["vuecal__event",n.eventClasses]),style:i.normalizeStyle(n.eventStyles),tabindex:"0",onFocus:e[4]||(e[4]=(...o)=>n.focusEvent&&n.focusEvent(...o)),onKeypress:e[5]||(e[5]=i.withKeys(i.withModifiers((...o)=>n.onEnterKeypress&&n.onEnterKeypress(...o),["stop"]),["enter"])),onMouseenter:e[6]||(e[6]=(...o)=>n.onMouseEnter&&n.onMouseEnter(...o)),onMouseleave:e[7]||(e[7]=(...o)=>n.onMouseLeave&&n.onMouseLeave(...o)),onTouchstart:e[8]||(e[8]=i.withModifiers((...o)=>n.onTouchStart&&n.onTouchStart(...o),["stop"])),onMousedown:e[9]||(e[9]=o=>n.onMouseDown(o)),onMouseup:e[10]||(e[10]=(...o)=>n.onMouseUp&&n.onMouseUp(...o)),onTouchend:e[11]||(e[11]=(...o)=>n.onMouseUp&&n.onMouseUp(...o)),onTouchmove:e[12]||(e[12]=(...o)=>n.onTouchMove&&n.onTouchMove(...o)),onDblclick:e[13]||(e[13]=(...o)=>n.onDblClick&&n.onDblClick(...o)),draggable:n.draggable,onDragstart:e[14]||(e[14]=o=>n.draggable&&n.onDragStart(o)),onDragend:e[15]||(e[15]=o=>n.draggable&&n.onDragEnd())},[n.vuecal.editEvents.delete&&t.event.deletable?(i.openBlock(),i.createElementBlock("div",{key:0,class:"vuecal__event-delete",onClick:e[0]||(e[0]=i.withModifiers((...o)=>n.deleteEvent&&n.deleteEvent(...o),["stop"])),onTouchstart:e[1]||(e[1]=i.withModifiers((...o)=>n.touchDeleteEvent&&n.touchDeleteEvent(...o),["stop"]))},i.toDisplayString(n.vuecal.texts.deleteEvent),33)):i.createCommentVNode("",!0),i.renderSlot(s.$slots,"event",{event:t.event,view:n.view.id}),n.resizable?(i.openBlock(),i.createElementBlock("div",{key:1,class:"vuecal__event-resize-handle",contenteditable:"false",onMousedown:e[2]||(e[2]=i.withModifiers((...o)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...o),["stop","prevent"])),onTouchstart:e[3]||(e[3]=i.withModifiers((...o)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...o),["stop","prevent"]))},null,32)):i.createCommentVNode("",!0)],46,ue)}const ct="",ve=M({inject:["vuecal","utils","modules","view","domEvents","editEvents"],props:{cellFormattedDate:{type:String,default:""},event:{type:Object,default:()=>({})},cellEvents:{type:Array,default:()=>[]},overlaps:{type:Array,default:()=>[]},eventPosition:{type:Number,default:0},overlapsStreak:{type:Number,default:0},allDay:{type:Boolean,default:!1}},data:()=>({touch:{dragThreshold:30,startX:0,startY:0,dragged:!1}}),methods:{onMouseDown(s,e=!1){if("ontouchstart"in window&&!e)return!1;const{clickHoldAnEvent:t,focusAnEvent:l,resizeAnEvent:r,dragAnEvent:n}=this.domEvents;if(l._eid===this.event._eid&&t._eid===this.event._eid)return!0;this.focusEvent(),t._eid=null,this.vuecal.editEvents.delete&&this.event.deletable&&(t.timeoutId=setTimeout(()=>{!r._eid&&!n._eid&&(t._eid=this.event._eid,this.event.deleting=!0)},t.timeout))},onMouseUp(s){this.domEvents.focusAnEvent._eid===this.event._eid&&!this.touch.dragged&&(this.domEvents.focusAnEvent.mousedUp=!0),this.touch.dragged=!1},onMouseEnter(s){s.preventDefault(),this.vuecal.emitWithEvent("event-mouse-enter",this.event)},onMouseLeave(s){s.preventDefault(),this.vuecal.emitWithEvent("event-mouse-leave",this.event)},onTouchMove(s){if(typeof this.vuecal.onEventClick!="function")return;const{clientX:e,clientY:t}=s.touches[0],{startX:l,startY:r,dragThreshold:n}=this.touch;(Math.abs(e-l)>n||Math.abs(t-r)>n)&&(this.touch.dragged=!0)},onTouchStart(s){this.touch.startX=s.touches[0].clientX,this.touch.startY=s.touches[0].clientY,this.onMouseDown(s,!0)},onEnterKeypress(s){if(typeof this.vuecal.onEventClick=="function")return this.vuecal.onEventClick(this.event,s)},onDblClick(s){if(typeof this.vuecal.onEventDblclick=="function")return this.vuecal.onEventDblclick(this.event,s)},onDragStart(s){this.dnd&&this.dnd.eventDragStart(s,this.event)},onDragEnd(){this.dnd&&this.dnd.eventDragEnd(this.event)},onResizeHandleMouseDown(){this.focusEvent(),this.domEvents.dragAnEvent._eid=null,this.domEvents.resizeAnEvent=Object.assign(this.domEvents.resizeAnEvent,{_eid:this.event._eid,start:(this.segment||this.event).start,split:this.event.split||null,segment:!!this.segment&&this.utils.date.formatDateLite(this.segment.start),originalEnd:new Date((this.segment||this.event).end),originalEndTimeMinutes:this.event.endTimeMinutes}),this.event.resizing=!0},deleteEvent(s=!1){if("ontouchstart"in window&&!s)return!1;this.utils.event.deleteAnEvent(this.event)},touchDeleteEvent(s){this.deleteEvent(!0)},cancelDeleteEvent(){this.event.deleting=!1},focusEvent(){const{focusAnEvent:s}=this.domEvents,e=s._eid;if(e!==this.event._eid){if(e){const t=this.view.events.find(l=>l._eid===e);t&&(t.focused=!1)}this.vuecal.cancelDelete(),this.vuecal.emitWithEvent("event-focus",this.event),s._eid=this.event._eid,this.event.focused=!0}}},computed:{eventDimensions(){const{startTimeMinutes:s,endTimeMinutes:e}=this.segment||this.event;let t=s-this.vuecal.timeFrom;const l=Math.max(Math.round(t*this.vuecal.timeCellHeight/this.vuecal.timeStep),0);t=Math.min(e,this.vuecal.timeTo)-this.vuecal.timeFrom;const r=Math.round(t*this.vuecal.timeCellHeight/this.vuecal.timeStep),n=Math.max(r-l,5);return{top:l,height:n}},eventStyles(){if(this.event.allDay||!this.vuecal.time||!this.event.endTimeMinutes||this.view.id==="month"||this.allDay)return{};let s=100/Math.min(this.overlaps.length+1,this.overlapsStreak),e=100/(this.overlaps.length+1)*this.eventPosition;this.vuecal.minEventWidth&&s<this.vuecal.minEventWidth&&(s=this.vuecal.minEventWidth,e=(100-this.vuecal.minEventWidth)/this.overlaps.length*this.eventPosition);const{top:t,height:l}=this.eventDimensions;return{top:`${t}px`,height:`${l}px`,width:`${s}%`,left:this.event.left&&`${this.event.left}px`||`${e}%`}},eventClasses(){const{isFirstDay:s,isLastDay:e}=this.segment||{};return{[this.event.class]:!!this.event.class,"vuecal__event--focus":this.event.focused,"vuecal__event--resizing":this.event.resizing,"vuecal__event--background":this.event.background,"vuecal__event--deletable":this.event.deleting,"vuecal__event--all-day":this.event.allDay,"vuecal__event--dragging":!this.event.draggingStatic&&this.event.dragging,"vuecal__event--static":this.event.dragging&&this.event.draggingStatic,"vuecal__event--multiple-days":!!this.segment,"event-start":this.segment&&s&&!e,"event-middle":this.segment&&!s&&!e,"event-end":this.segment&&e&&!s}},segment(){return this.event.segments&&this.event.segments[this.cellFormattedDate]||null},draggable(){const{draggable:s,background:e,daysCount:t}=this.event;return this.vuecal.editEvents.drag&&s&&!e&&t===1},resizable(){const{editEvents:s,time:e}=this.vuecal;return s.resize&&this.event.resizable&&e&&!this.allDay&&(!this.segment||this.segment&&this.segment.isLastDay)&&this.view.id!=="month"},dnd(){return this.modules.dnd}}},[["render",me]]),we=["data-split","aria-label","onTouchstart","onMousedown","onDragover","onDrop"],ye={key:1,class:"vuecal__cell-events"},fe=["title"];function De(s,e,t,l,r,n){const o=i.resolveComponent("event");return i.openBlock(),i.createBlock(i.TransitionGroup,{class:i.normalizeClass(["vuecal__cell",n.cellClasses]),name:`slide-fade--${n.transitionDirection}`,tag:"div",appear:t.options.transitions,style:i.normalizeStyle(n.cellStyles)},{default:i.withCtx(()=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.splitsCount?n.splits:1,(a,c)=>(i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["vuecal__flex vuecal__cell-content",n.splitsCount&&n.splitClasses(a)]),key:t.options.transitions?`${n.view.id}-${t.data.content}-${c}`:c,"data-split":n.splitsCount?a.id:!1,column:"",tabindex:"0","aria-label":t.data.content,onFocus:e[0]||(e[0]=d=>n.onCellFocus(d)),onKeypress:e[1]||(e[1]=i.withKeys(d=>n.onCellkeyPressEnter(d),["enter"])),onTouchstart:d=>!n.isDisabled&&n.onCellTouchStart(d,n.splitsCount?a.id:null),onMousedown:d=>!n.isDisabled&&n.onCellMouseDown(d,n.splitsCount?a.id:null),onClick:e[2]||(e[2]=d=>!n.isDisabled&&n.onCellClick(d)),onDblclick:e[3]||(e[3]=d=>!n.isDisabled&&n.onCellDblClick(d)),onContextmenu:e[4]||(e[4]=d=>!n.isDisabled&&t.options.cellContextmenu&&n.onCellContextMenu(d)),onDragenter:e[5]||(e[5]=d=>!n.isDisabled&&t.editEvents.drag&&n.dnd&&n.dnd.cellDragEnter(d,s.$data,t.data.startDate)),onDragover:d=>!n.isDisabled&&t.editEvents.drag&&n.dnd&&n.dnd.cellDragOver(d,s.$data,t.data.startDate,n.splitsCount?a.id:null),onDragleave:e[6]||(e[6]=d=>!n.isDisabled&&t.editEvents.drag&&n.dnd&&n.dnd.cellDragLeave(d,s.$data,t.data.startDate)),onDrop:d=>!n.isDisabled&&t.editEvents.drag&&n.dnd&&n.dnd.cellDragDrop(d,s.$data,t.data.startDate,n.splitsCount?a.id:null)},[n.isWeekOrDayView&&!t.allDay&&n.specialHours.length?(i.openBlock(!0),i.createElementBlock(i.Fragment,{key:0},i.renderList(n.specialHours,(d,h)=>(i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["vuecal__special-hours",`vuecal__special-hours--day${d.day} ${d.class}`]),style:i.normalizeStyle(`height: ${d.height}px;top: ${d.top}px`)},null,6))),256)):i.createCommentVNode("",!0),i.renderSlot(s.$slots,"cell-content",{events:n.events,selectCell:d=>n.selectCell(d,!0),split:n.splitsCount?a:!1}),n.eventsCount&&(n.isWeekOrDayView||n.view.id==="month"&&t.options.eventsOnMonthView)?(i.openBlock(),i.createElementBlock("div",ye,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.splitsCount?a.events:n.events,(d,h)=>(i.openBlock(),i.createBlock(o,{key:h,"cell-formatted-date":t.data.formattedDate,event:d,"all-day":t.allDay,"cell-events":n.splitsCount?a.events:n.events,overlaps:((n.splitsCount?a.overlaps[d._eid]:s.cellOverlaps[d._eid])||[]).overlaps,"event-position":((n.splitsCount?a.overlaps[d._eid]:s.cellOverlaps[d._eid])||[]).position,"overlaps-streak":n.splitsCount?a.overlapsStreak:s.cellOverlapsStreak},{event:i.withCtx(({event:v,view:m})=>[i.renderSlot(s.$slots,"event",{view:m,event:v})]),_:2},1032,["cell-formatted-date","event","all-day","cell-events","overlaps","event-position","overlaps-streak"]))),128))])):i.createCommentVNode("",!0)],42,we))),128)),n.timelineVisible?(i.openBlock(),i.createElementBlock("div",{class:"vuecal__now-line",style:i.normalizeStyle(`top: ${n.todaysTimePosition}px`),key:t.options.transitions?`${n.view.id}-now-line`:"now-line",title:n.utils.date.formatTime(n.vuecal.now)},null,12,fe)):i.createCommentVNode("",!0)]),_:3},8,["class","name","appear","style"])}const ut="",L=M({inject:["vuecal","utils","modules","view","domEvents"],components:{Event:ve},props:{options:{type:Object,default:()=>({})},editEvents:{type:Object,required:!0},data:{type:Object,required:!0},cellSplits:{type:Array,default:()=>[]},minTimestamp:{type:[Number,null],default:null},maxTimestamp:{type:[Number,null],default:null},cellWidth:{type:[Number,Boolean],default:!1},allDay:{type:Boolean,default:!1}},data:()=>({cellOverlaps:{},cellOverlapsStreak:1,timeAtCursor:null,highlighted:!1,highlightedSplit:null}),methods:{getSplitAtCursor({target:s}){let t=s.classList.contains("vuecal__cell-split")?s:this.vuecal.findAncestor(s,"vuecal__cell-split");return t&&(t=t.attributes["data-split"].value,parseInt(t).toString()===t.toString()&&(t=parseInt(t))),t||null},splitClasses(s){return{"vuecal__cell-split":!0,"vuecal__cell-split--highlighted":this.highlightedSplit===s.id,[s.class]:!!s.class}},checkCellOverlappingEvents(){this.options.time&&this.eventsCount&&!this.splitsCount&&(this.eventsCount===1?(this.cellOverlaps=[],this.cellOverlapsStreak=1):[this.cellOverlaps,this.cellOverlapsStreak]=this.utils.event.checkCellOverlappingEvents(this.events,this.options))},isDOMElementAnEvent(s){return this.vuecal.isDOMElementAnEvent(s)},selectCell(s,e=!1){const t=this.splitsCount?this.getSplitAtCursor(s):null;this.utils.cell.selectCell(e,this.timeAtCursor,t),this.timeAtCursor=null},onCellkeyPressEnter(s){this.isSelected||this.onCellFocus(s);const e=this.splitsCount?this.getSplitAtCursor(s):null;this.utils.cell.keyPressEnterCell(this.timeAtCursor,e),this.timeAtCursor=null},onCellFocus(s){if(!this.isSelected&&!this.isDisabled){this.isSelected=this.data.startDate;const e=this.splitsCount?this.getSplitAtCursor(s):null,t=this.timeAtCursor||this.data.startDate;this.vuecal.$emit("cell-focus",e?{date:t,split:e}:t)}},onCellMouseDown(s,e=null,t=!1){if("ontouchstart"in window&&!t)return!1;this.isSelected||this.onCellFocus(s);const{clickHoldACell:l,focusAnEvent:r}=this.domEvents;this.domEvents.cancelClickEventCreation=!1,l.eventCreated=!1,this.timeAtCursor=new Date(this.data.startDate);const{minutes:n,cursorCoords:{y:o}}=this.vuecal.minutesAtCursor(s);this.timeAtCursor.setMinutes(n);const a=this.isDOMElementAnEvent(s.target);!a&&r._eid&&((this.view.events.find(c=>c._eid===r._eid)||{}).focused=!1),this.editEvents.create&&!a&&this.setUpEventCreation(s,o)},setUpEventCreation(s,e){if(this.options.dragToCreateEvent&&["week","day"].includes(this.view.id)){const{dragCreateAnEvent:t}=this.domEvents;if(t.startCursorY=e,t.split=this.splitsCount?this.getSplitAtCursor(s):null,t.start=this.timeAtCursor,this.options.snapToTime){let l=this.timeAtCursor.getHours()*60+this.timeAtCursor.getMinutes();const r=l+this.options.snapToTime/2;l=r-r%this.options.snapToTime,t.start.setHours(0,l,0,0)}}else this.options.cellClickHold&&["month","week","day"].includes(this.view.id)&&this.setUpCellHoldTimer(s)},setUpCellHoldTimer(s){const{clickHoldACell:e}=this.domEvents;e.cellId=`${this.vuecal._.uid}_${this.data.formattedDate}`,e.split=this.splitsCount?this.getSplitAtCursor(s):null,e.timeoutId=setTimeout(()=>{if(e.cellId&&!this.domEvents.cancelClickEventCreation){const{_eid:t}=this.utils.event.createAnEvent(this.timeAtCursor,null,e.split?{split:e.split}:{});e.eventCreated=t}},e.timeout)},onCellTouchStart(s,e=null){this.onCellMouseDown(s,e,!0)},onCellClick(s){this.isDOMElementAnEvent(s.target)||this.selectCell(s)},onCellDblClick(s){const e=new Date(this.data.startDate);e.setMinutes(this.vuecal.minutesAtCursor(s).minutes);const t=this.splitsCount?this.getSplitAtCursor(s):null;this.vuecal.$emit("cell-dblclick",t?{date:e,split:t}:e),this.options.dblclickToNavigate&&this.vuecal.switchToNarrowerView()},onCellContextMenu(s){s.stopPropagation(),s.preventDefault();const e=new Date(this.data.startDate),{cursorCoords:t,minutes:l}=this.vuecal.minutesAtCursor(s);e.setMinutes(l);const r=this.splitsCount?this.getSplitAtCursor(s):null;this.vuecal.$emit("cell-contextmenu",{date:e,...t,...r||{},e:s})}},computed:{dnd(){return this.modules.dnd},nowInMinutes(){return this.utils.date.dateToMinutes(this.vuecal.now)},isBeforeMinDate(){return this.minTimestamp!==null&&this.minTimestamp>this.data.endDate.getTime()},isAfterMaxDate(){return this.maxTimestamp&&this.maxTimestamp<this.data.startDate.getTime()},isDisabled(){const{disableDays:s}=this.options,{isYearsOrYearView:e}=this.vuecal;return s.length&&s.includes(this.data.formattedDate)&&!e?!0:this.isBeforeMinDate||this.isAfterMaxDate},isSelected:{get(){let s=!1;const{selectedDate:e}=this.view;return this.view.id==="years"?s=e.getFullYear()===this.data.startDate.getFullYear():this.view.id==="year"?s=e.getFullYear()===this.data.startDate.getFullYear()&&e.getMonth()===this.data.startDate.getMonth():s=e.getTime()===this.data.startDate.getTime(),s},set(s){this.view.selectedDate=s,this.vuecal.$emit("update:selected-date",this.view.selectedDate)}},isWeekOrDayView(){return["week","day"].includes(this.view.id)},transitionDirection(){return this.vuecal.transitionDirection},specialHours(){return this.data.specialHours.map(s=>{let{from:e,to:t}=s;return e=Math.max(e,this.options.timeFrom),t=Math.min(t,this.options.timeTo),{...s,height:(t-e)*this.timeScale,top:(e-this.options.timeFrom)*this.timeScale}})},events(){const{startDate:s,endDate:e}=this.data;let t=[];if(!(["years","year"].includes(this.view.id)&&!this.options.eventsCountOnYearView)){if(t=this.view.events.slice(0),this.view.id==="month"&&t.push(...this.view.outOfScopeEvents),t=t.filter(l=>this.utils.event.eventInRange(l,s,e)),this.options.showAllDayEvents&&this.view.id!=="month"&&(t=t.filter(l=>!!l.allDay===this.allDay)),this.options.time&&this.isWeekOrDayView&&!this.allDay){const{timeFrom:l,timeTo:r}=this.options;t=t.filter(n=>{const o=n.daysCount>1&&n.segments[this.data.formattedDate]||{},a=n.daysCount===1&&n.startTimeMinutes<r&&n.endTimeMinutes>l,c=n.daysCount>1&&o.startTimeMinutes<r&&o.endTimeMinutes>l,d=!1;return n.allDay||a||c||d})}this.options.time&&this.isWeekOrDayView&&!(this.options.showAllDayEvents&&this.allDay)&&t.sort((l,r)=>l.start<r.start?-1:1),this.cellSplits.length||this.$nextTick(this.checkCellOverlappingEvents)}return t},eventsCount(){return this.events.length},splits(){return this.cellSplits.map((s,e)=>{const t=this.events.filter(n=>n.split===s.id),[l,r]=this.utils.event.checkCellOverlappingEvents(t.filter(n=>!n.background&&!n.allDay),this.options);return{...s,overlaps:l,overlapsStreak:r,events:t}})},splitsCount(){return this.splits.length},cellClasses(){return{[this.data.class]:!!this.data.class,"vuecal__cell--current":this.data.current,"vuecal__cell--today":this.data.today,"vuecal__cell--out-of-scope":this.data.outOfScope,"vuecal__cell--before-min":this.isDisabled&&this.isBeforeMinDate,"vuecal__cell--after-max":this.isDisabled&&this.isAfterMaxDate,"vuecal__cell--disabled":this.isDisabled,"vuecal__cell--selected":this.isSelected,"vuecal__cell--highlighted":this.highlighted,"vuecal__cell--has-splits":this.splitsCount,"vuecal__cell--has-events":this.eventsCount}},cellStyles(){return{...this.cellWidth?{width:`${this.cellWidth}%`}:{}}},timelineVisible(){const{time:s,timeTo:e}=this.options;return this.data.today&&this.isWeekOrDayView&&s&&!this.allDay&&this.nowInMinutes<=e},todaysTimePosition(){if(!this.data.today||!this.options.time)return;const s=this.nowInMinutes-this.options.timeFrom;return Math.round(s*this.timeScale)},timeScale(){return this.options.timeCellHeight/this.options.timeStep}}},[["render",De]]),ge={key:0,class:"vuecal__all-day-text",style:{width:"3em"}};function pe(s,e,t,l,r,n){const o=i.resolveComponent("vuecal-cell");return i.openBlock(),i.createElementBlock("div",{class:"vuecal__flex vuecal__all-day",style:i.normalizeStyle(t.cellOrSplitMinWidth&&{height:t.height})},[t.cellOrSplitMinWidth?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",ge,[i.createElementVNode("span",null,i.toDisplayString(t.label),1)])),i.createElementVNode("div",{class:i.normalizeClass(["vuecal__flex vuecal__cells",`${n.view.id}-view`]),grow:"",style:i.normalizeStyle(t.cellOrSplitMinWidth?`min-width: ${t.cellOrSplitMinWidth}px`:"")},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(t.cells,(a,c)=>(i.openBlock(),i.createBlock(o,{key:c,options:t.options,"edit-events":n.editEvents,data:a,"all-day":!0,"cell-width":t.options.hideWeekdays.length&&(n.vuecal.isWeekView||n.vuecal.isMonthView)&&n.vuecal.cellWidth,"min-timestamp":t.options.minTimestamp,"max-timestamp":t.options.maxTimestamp,"cell-splits":t.daySplits},{event:i.withCtx(({event:d,view:h})=>[i.renderSlot(s.$slots,"event",{view:h,event:d})]),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"]))),128))],6)],4)}const ke=M({inject:["vuecal","view","editEvents"],components:{"vuecal-cell":L},props:{options:{type:Object,required:!0},cells:{type:Array,required:!0},label:{type:String,required:!0},daySplits:{type:Array,default:()=>[]},shortEvents:{type:Boolean,default:!0},height:{type:String,default:""},cellOrSplitMinWidth:{type:Number,default:null}},computed:{hasCellOrSplitWidth(){return!!(this.options.minCellWidth||this.daySplits.length&&this.options.minSplitWidth)}}},[["render",pe]]),wt="",_e=["lang"],Ee=i.createTextVNode("\xA0"),Ce=i.createElementVNode("i",{class:"angle"},null,-1),be=i.createTextVNode("\xA0"),Te=i.createTextVNode("\xA0"),Me=i.createElementVNode("i",{class:"angle"},null,-1),Se=i.createTextVNode("\xA0"),Ve={class:"default"},Be={key:0,class:"vuecal__flex vuecal__body",grow:""},Oe=["onBlur","innerHTML"],We=["innerHTML"],He=["innerHTML"],Ae={class:"vuecal__flex",row:"",grow:""},Ne={key:0,class:"vuecal__time-column"},xe=i.createElementVNode("span",{class:"vuecal__time-cell-line"},null,-1),je={class:"vuecal__time-cell-label"},Le={key:1,class:"vuecal__flex vuecal__week-numbers",column:""},Fe=["wrap","column"],Ye=["onBlur","innerHTML"],ze=["innerHTML"],Pe=["innerHTML"],Ie=["wrap"],Ue=["innerHTML"],Re=["innerHTML"],Ke={key:2,class:"vuecal__cell-events-count"},Xe={key:3,class:"vuecal__no-event"},Ge=["onBlur","innerHTML"],Ze=["innerHTML"],Je={key:2,class:"vuecal__event-time"},Qe={key:0},qe={key:1,class:"days-to-end"},$e=["innerHTML"],et={key:0,class:"vuecal__scrollbar-check"},tt=[i.createElementVNode("div",null,null,-1)];function st(s,e,t,l,r,n){const o=i.resolveComponent("vuecal-header"),a=i.resolveComponent("all-day-bar"),c=i.resolveComponent("weekdays-headings"),d=i.resolveComponent("vuecal-cell");return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["vuecal__flex vuecal",n.cssClasses]),column:"",ref:"vuecal",lang:t.locale},[i.createVNode(o,{options:s.$props,"edit-events":n.editEvents,"view-props":{views:n.views,weekDaysInHeader:n.weekDaysInHeader},"week-days":n.weekDays,"has-splits":n.hasSplits,"day-splits":n.daySplits,"switch-to-narrower-view":n.switchToNarrowerView},i.createSlots({"arrow-prev":i.withCtx(()=>[i.renderSlot(s.$slots,"arrow-prev",{},()=>[Ee,Ce,be])]),"arrow-next":i.withCtx(()=>[i.renderSlot(s.$slots,"arrow-next",{},()=>[Te,Me,Se])]),"today-button":i.withCtx(()=>[i.renderSlot(s.$slots,"today-button",{},()=>[i.createElementVNode("span",Ve,i.toDisplayString(r.texts.today),1)])]),title:i.withCtx(()=>[i.renderSlot(s.$slots,"title",{title:n.viewTitle,view:r.view},()=>[i.createTextVNode(i.toDisplayString(n.viewTitle),1)])]),_:2},[s.$slots["weekday-heading"]?{name:"weekday-heading",fn:i.withCtx(({heading:h,view:v})=>[i.renderSlot(s.$slots,"weekday-heading",{heading:h,view:v})])}:void 0,s.$slots["split-label"]?{name:"split-label",fn:i.withCtx(({split:h})=>[i.renderSlot(s.$slots,"split-label",{split:h,view:r.view.id})])}:void 0]),1032,["options","edit-events","view-props","week-days","has-splits","day-splits","switch-to-narrower-view"]),t.hideBody?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",Be,[i.createVNode(i.Transition,{name:`slide-fade--${r.transitionDirection}`,appear:t.transitions},{default:i.withCtx(()=>[(i.openBlock(),i.createElementBlock("div",{class:"vuecal__flex",style:{"min-width":"100%"},key:t.transitions?r.view.id:!1,column:""},[t.showAllDayEvents&&n.hasTimeColumn&&(!n.cellOrSplitMinWidth||n.isDayView&&!t.minSplitWidth)?(i.openBlock(),i.createBlock(a,i.normalizeProps(i.mergeProps({key:0},n.allDayBar)),{event:i.withCtx(({event:h,view:v})=>[i.renderSlot(s.$slots,"event",{view:v,event:h},()=>[n.editEvents.title&&h.titleEditable?(i.openBlock(),i.createElementBlock("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"",onBlur:m=>n.onEventTitleBlur(m,h),innerHTML:h.title},null,40,Oe)):h.title?(i.openBlock(),i.createElementBlock("div",{key:1,class:"vuecal__event-title",innerHTML:h.title},null,8,We)):i.createCommentVNode("",!0),h.content&&!n.hasShortEvents&&!n.isShortMonthView?(i.openBlock(),i.createElementBlock("div",{key:2,class:"vuecal__event-content",innerHTML:h.content},null,8,He)):i.createCommentVNode("",!0)])]),_:3},16)):i.createCommentVNode("",!0),i.createElementVNode("div",{class:i.normalizeClass(["vuecal__bg",{vuecal__flex:!n.hasTimeColumn}]),column:""},[i.createElementVNode("div",Ae,[n.hasTimeColumn?(i.openBlock(),i.createElementBlock("div",Ne,[t.showAllDayEvents&&n.cellOrSplitMinWidth&&!(n.isDayView&&!t.minSplitWidth)?(i.openBlock(),i.createElementBlock("div",{key:0,class:"vuecal__all-day-text",style:i.normalizeStyle({height:n.allDayBar.height})},[i.createElementVNode("span",null,i.toDisplayString(r.texts.allDay),1)],4)):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.timeCells,(h,v)=>(i.openBlock(),i.createElementBlock("div",{class:"vuecal__time-cell",key:v,style:i.normalizeStyle(`height: ${t.timeCellHeight}px`)},[i.renderSlot(s.$slots,"time-cell",{hours:h.hours,minutes:h.minutes},()=>[xe,i.createElementVNode("span",je,i.toDisplayString(h.label),1)])],4))),128))])):i.createCommentVNode("",!0),t.showWeekNumbers&&n.isMonthView?(i.openBlock(),i.createElementBlock("div",Le,[(i.openBlock(),i.createElementBlock(i.Fragment,null,i.renderList(6,h=>i.createElementVNode("div",{class:"vuecal__flex vuecal__week-number-cell",key:h,grow:""},[i.renderSlot(s.$slots,"week-number-cell",{week:n.getWeekNumber(h-1)},()=>[i.createTextVNode(i.toDisplayString(n.getWeekNumber(h-1)),1)])])),64))])):i.createCommentVNode("",!0),i.createElementVNode("div",{class:i.normalizeClass(["vuecal__flex vuecal__cells",`${r.view.id}-view`]),grow:"",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,column:!!n.cellOrSplitMinWidth},[n.cellOrSplitMinWidth&&n.isWeekView?(i.openBlock(),i.createBlock(c,{key:0,"transition-direction":r.transitionDirection,"week-days":n.weekDays,"switch-to-narrower-view":n.switchToNarrowerView,style:i.normalizeStyle(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},i.createSlots({_:2},[s.$slots["weekday-heading"]?{name:"weekday-heading",fn:i.withCtx(({heading:h,view:v})=>[i.renderSlot(s.$slots,"weekday-heading",{heading:h,view:v})])}:void 0,s.$slots["split-label"]?{name:"split-label",fn:i.withCtx(({split:h})=>[i.renderSlot(s.$slots,"split-label",{split:h,view:r.view.id})])}:void 0]),1032,["transition-direction","week-days","switch-to-narrower-view","style"])):n.hasSplits&&t.stickySplitLabels&&t.minSplitWidth?(i.openBlock(),i.createElementBlock("div",{key:1,class:"vuecal__flex vuecal__split-days-headers",style:i.normalizeStyle(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.daySplits,(h,v)=>(i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["day-split-header",h.class||!1]),key:v},[i.renderSlot(s.$slots,"split-label",{split:h,view:r.view.id},()=>[i.createTextVNode(i.toDisplayString(h.label),1)])],2))),128))],4)):i.createCommentVNode("",!0),t.showAllDayEvents&&n.hasTimeColumn&&(n.isWeekView&&n.cellOrSplitMinWidth||n.isDayView&&n.hasSplits&&t.minSplitWidth)?(i.openBlock(),i.createBlock(a,i.normalizeProps(i.mergeProps({key:2},n.allDayBar)),{event:i.withCtx(({event:h,view:v})=>[i.renderSlot(s.$slots,"event",{view:v,event:h},()=>[n.editEvents.title&&h.titleEditable?(i.openBlock(),i.createElementBlock("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"",onBlur:m=>n.onEventTitleBlur(m,h),innerHTML:h.title},null,40,Ye)):h.title?(i.openBlock(),i.createElementBlock("div",{key:1,class:"vuecal__event-title",innerHTML:h.title},null,8,ze)):i.createCommentVNode("",!0),h.content&&!n.hasShortEvents&&!n.isShortMonthView?(i.openBlock(),i.createElementBlock("div",{key:2,class:"vuecal__event-content",innerHTML:h.content},null,8,Pe)):i.createCommentVNode("",!0)])]),_:3},16)):i.createCommentVNode("",!0),i.createElementVNode("div",{class:"vuecal__flex",ref:h=>r.cellsEl=h,grow:"",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,style:i.normalizeStyle(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.viewCells,(h,v)=>(i.openBlock(),i.createBlock(d,{key:v,options:s.$props,"edit-events":n.editEvents,data:h,"cell-width":t.hideWeekdays.length&&(n.isWeekView||n.isMonthView)&&n.cellWidth,"min-timestamp":n.minTimestamp,"max-timestamp":n.maxTimestamp,"cell-splits":n.hasSplits&&n.daySplits||[]},{"cell-content":i.withCtx(({events:m,split:D,selectCell:f})=>[i.renderSlot(s.$slots,"cell-content",{cell:h,view:r.view,goNarrower:f,events:m},()=>[D&&!t.stickySplitLabels?(i.openBlock(),i.createElementBlock("div",{key:0,class:"split-label",innerHTML:D.label},null,8,Ue)):i.createCommentVNode("",!0),h.content?(i.openBlock(),i.createElementBlock("div",{key:1,class:"vuecal__cell-date",innerHTML:h.content},null,8,Re)):i.createCommentVNode("",!0),(n.isMonthView&&!t.eventsOnMonthView||n.isYearsOrYearView&&t.eventsCountOnYearView)&&m.length?(i.openBlock(),i.createElementBlock("div",Ke,[i.renderSlot(s.$slots,"events-count",{view:r.view,events:m},()=>[i.createTextVNode(i.toDisplayString(m.length),1)])])):i.createCommentVNode("",!0),!n.cellOrSplitHasEvents(m,D)&&n.isWeekOrDayView?(i.openBlock(),i.createElementBlock("div",Xe,[i.renderSlot(s.$slots,"no-event",{},()=>[i.createTextVNode(i.toDisplayString(r.texts.noEvent),1)])])):i.createCommentVNode("",!0)])]),event:i.withCtx(({event:m,view:D})=>[i.renderSlot(s.$slots,"event",{view:D,event:m},()=>[n.editEvents.title&&m.titleEditable?(i.openBlock(),i.createElementBlock("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"",onBlur:f=>n.onEventTitleBlur(f,m),innerHTML:m.title},null,40,Ge)):m.title?(i.openBlock(),i.createElementBlock("div",{key:1,class:"vuecal__event-title",innerHTML:m.title},null,8,Ze)):i.createCommentVNode("",!0),t.time&&!m.allDay&&!(n.isMonthView&&(m.allDay||t.showAllDayEvents==="short"))&&!n.isShortMonthView?(i.openBlock(),i.createElementBlock("div",Je,[i.createTextVNode(i.toDisplayString(r.utils.date.formatTime(m.start,n.TimeFormat)),1),m.endTimeMinutes?(i.openBlock(),i.createElementBlock("span",Qe,"\xA0- "+i.toDisplayString(r.utils.date.formatTime(m.end,n.TimeFormat,null,!0)),1)):i.createCommentVNode("",!0),m.daysCount>1&&(m.segments[h.formattedDate]||{}).isFirstDay?(i.openBlock(),i.createElementBlock("small",qe,"\xA0+"+i.toDisplayString(m.daysCount-1)+i.toDisplayString((r.texts.day[0]||"").toLowerCase()),1)):i.createCommentVNode("",!0)])):i.createCommentVNode("",!0),m.content&&!(n.isMonthView&&m.allDay&&t.showAllDayEvents==="short")&&!n.isShortMonthView?(i.openBlock(),i.createElementBlock("div",{key:3,class:"vuecal__event-content",innerHTML:m.content},null,8,$e)):i.createCommentVNode("",!0)])]),"no-event":i.withCtx(()=>[i.renderSlot(s.$slots,"no-event",{},()=>[i.createTextVNode(i.toDisplayString(r.texts.noEvent),1)])]),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"]))),128))],12,Ie)],10,Fe)])],2)]))]),_:3},8,["name","appear"]),r.ready?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",et,tt))]))],10,_e)}const O=24*60,W={weekDays:Array(7).fill(""),weekDaysShort:[],months:Array(12).fill(""),years:"",year:"",month:"",week:"",day:"",today:"",noEvent:"",allDay:"",deleteEvent:"",createEvent:"",dateFormat:"dddd MMMM D, YYYY",am:"am",pm:"pm"},F=["years","year","month","week","day"],Y=new P(W);return M({name:"vue-cal",components:{"vuecal-cell":L,"vuecal-header":he,WeekdaysHeadings:j,AllDayBar:ke},provide(){return{vuecal:this,utils:this.utils,modules:this.modules,previous:this.previous,next:this.next,switchView:this.switchView,updateSelectedDate:this.updateSelectedDate,editEvents:this.editEvents,view:this.view,domEvents:this.domEvents}},props:{activeView:{type:String,default:"week"},allDayBarHeight:{type:[String,Number],default:"25px"},cellClickHold:{type:Boolean,default:!0},cellContextmenu:{type:Boolean,default:!1},clickToNavigate:{type:Boolean,default:!1},dblclickToNavigate:{type:Boolean,default:!0},disableDatePrototypes:{type:Boolean,default:!1},disableDays:{type:Array,default:()=>[]},disableViews:{type:Array,default:()=>[]},dragToCreateEvent:{type:Boolean,default:!0},dragToCreateThreshold:{type:Number,default:15},editableEvents:{type:[Boolean,Object],default:!1},events:{type:Array,default:()=>[]},eventsCountOnYearView:{type:Boolean,default:!1},eventsOnMonthView:{type:[Boolean,String],default:!1},hideBody:{type:Boolean,default:!1},hideTitleBar:{type:Boolean,default:!1},hideViewSelector:{type:Boolean,default:!1},hideWeekdays:{type:Array,default:()=>[]},hideWeekends:{type:Boolean,default:!1},locale:{type:[String,Object],default:"en"},maxDate:{type:[String,Date],default:""},minCellWidth:{type:Number,default:0},minDate:{type:[String,Date],default:""},minEventWidth:{type:Number,default:0},minSplitWidth:{type:Number,default:0},onEventClick:{type:[Function,null],default:null},onEventCreate:{type:[Function,null],default:null},onEventDblclick:{type:[Function,null],default:null},overlapsPerTimeStep:{type:Boolean,default:!1},resizeX:{type:Boolean,default:!1},selectedDate:{type:[String,Date],default:""},showAllDayEvents:{type:[Boolean,String],default:!1},showWeekNumbers:{type:[Boolean,String],default:!1},snapToTime:{type:Number,default:0},small:{type:Boolean,default:!1},specialHours:{type:Object,default:()=>({})},splitDays:{type:Array,default:()=>[]},startWeekOnSunday:{type:Boolean,default:!1},stickySplitLabels:{type:Boolean,default:!1},time:{type:Boolean,default:!0},timeCellHeight:{type:Number,default:40},timeFormat:{type:String,default:""},timeFrom:{type:Number,default:0},timeStep:{type:Number,default:60},timeTo:{type:Number,default:O},todayButton:{type:Boolean,default:!1},transitions:{type:Boolean,default:!0},twelveHour:{type:Boolean,default:!1},watchRealTime:{type:Boolean,default:!1},xsmall:{type:Boolean,default:!1}},data(){return{ready:!1,texts:{...W},utils:{date:(this.disableDatePrototypes?Y.removePrototypes():!1)||Y,cell:null,event:null},modules:{dnd:null},cellsEl:null,view:{id:"",title:"",startDate:null,endDate:null,firstCellDate:null,lastCellDate:null,selectedDate:null,events:[]},eventIdIncrement:1,now:new Date,timeTickerIds:[null,null],domEvents:{resizeAnEvent:{_eid:null,start:null,split:null,segment:null,originalEndTimeMinutes:0,originalEnd:null,end:null,startCell:null,endCell:null},dragAnEvent:{_eid:null},dragCreateAnEvent:{startCursorY:null,start:null,split:null,event:null},focusAnEvent:{_eid:null,mousedUp:!1},clickHoldAnEvent:{_eid:null,timeout:1200,timeoutId:null},dblTapACell:{taps:0,timeout:500},clickHoldACell:{cellId:null,split:null,timeout:1200,timeoutId:null,eventCreated:!1},cancelClickEventCreation:!1},mutableEvents:[],transitionDirection:"right"}},methods:{async loadLocale(s){if(typeof this.locale=="object"){this.texts=Object.assign({},W,s),this.utils.date.updateTexts(this.texts);return}if(this.locale==="en"){const e=await new Promise((t,l)=>u(["./i18n/en.amd"],t,l));this.texts=Object.assign({},W,e)}else C(Object.assign({"./i18n/ar.json":()=>new Promise((e,t)=>u(["./i18n/ar.amd"],e,t)),"./i18n/bg.json":()=>new Promise((e,t)=>u(["./i18n/bg.amd"],e,t)),"./i18n/bn.json":()=>new Promise((e,t)=>u(["./i18n/bn.amd"],e,t)),"./i18n/bs.json":()=>new Promise((e,t)=>u(["./i18n/bs.amd"],e,t)),"./i18n/ca.json":()=>new Promise((e,t)=>u(["./i18n/ca.amd"],e,t)),"./i18n/cs.json":()=>new Promise((e,t)=>u(["./i18n/cs.amd"],e,t)),"./i18n/da.json":()=>new Promise((e,t)=>u(["./i18n/da.amd"],e,t)),"./i18n/de.json":()=>new Promise((e,t)=>u(["./i18n/de.amd"],e,t)),"./i18n/el.json":()=>new Promise((e,t)=>u(["./i18n/el.amd"],e,t)),"./i18n/en.json":()=>new Promise((e,t)=>u(["./i18n/en.amd"],e,t)),"./i18n/es.json":()=>new Promise((e,t)=>u(["./i18n/es.amd"],e,t)),"./i18n/fa.json":()=>new Promise((e,t)=>u(["./i18n/fa.amd"],e,t)),"./i18n/fr.json":()=>new Promise((e,t)=>u(["./i18n/fr.amd"],e,t)),"./i18n/he.json":()=>new Promise((e,t)=>u(["./i18n/he.amd"],e,t)),"./i18n/hr.json":()=>new Promise((e,t)=>u(["./i18n/hr.amd"],e,t)),"./i18n/hu.json":()=>new Promise((e,t)=>u(["./i18n/hu.amd"],e,t)),"./i18n/id.json":()=>new Promise((e,t)=>u(["./i18n/id.amd"],e,t)),"./i18n/is.json":()=>new Promise((e,t)=>u(["./i18n/is.amd"],e,t)),"./i18n/it.json":()=>new Promise((e,t)=>u(["./i18n/it.amd"],e,t)),"./i18n/ja.json":()=>new Promise((e,t)=>u(["./i18n/ja.amd"],e,t)),"./i18n/ka.json":()=>new Promise((e,t)=>u(["./i18n/ka.amd"],e,t)),"./i18n/ko.json":()=>new Promise((e,t)=>u(["./i18n/ko.amd"],e,t)),"./i18n/lt.json":()=>new Promise((e,t)=>u(["./i18n/lt.amd"],e,t)),"./i18n/mn.json":()=>new Promise((e,t)=>u(["./i18n/mn.amd"],e,t)),"./i18n/nl.json":()=>new Promise((e,t)=>u(["./i18n/nl.amd"],e,t)),"./i18n/no.json":()=>new Promise((e,t)=>u(["./i18n/no.amd"],e,t)),"./i18n/pl.json":()=>new Promise((e,t)=>u(["./i18n/pl.amd"],e,t)),"./i18n/pt-br.json":()=>new Promise((e,t)=>u(["./i18n/pt-br.amd"],e,t)),"./i18n/ro.json":()=>new Promise((e,t)=>u(["./i18n/ro.amd"],e,t)),"./i18n/ru.json":()=>new Promise((e,t)=>u(["./i18n/ru.amd"],e,t)),"./i18n/sk.json":()=>new Promise((e,t)=>u(["./i18n/sk.amd"],e,t)),"./i18n/sl.json":()=>new Promise((e,t)=>u(["./i18n/sl.amd"],e,t)),"./i18n/sq.json":()=>new Promise((e,t)=>u(["./i18n/sq.amd"],e,t)),"./i18n/sr.json":()=>new Promise((e,t)=>u(["./i18n/sr.amd"],e,t)),"./i18n/sv.json":()=>new Promise((e,t)=>u(["./i18n/sv.amd"],e,t)),"./i18n/tr.json":()=>new Promise((e,t)=>u(["./i18n/tr.amd"],e,t)),"./i18n/uk.json":()=>new Promise((e,t)=>u(["./i18n/uk.amd"],e,t)),"./i18n/vi.json":()=>new Promise((e,t)=>u(["./i18n/vi.amd"],e,t)),"./i18n/zh-cn.json":()=>new Promise((e,t)=>u(["./i18n/zh-cn.amd"],e,t)),"./i18n/zh-hk.json":()=>new Promise((e,t)=>u(["./i18n/zh-hk.amd"],e,t))}),`./i18n/${s}.json`).then(e=>{this.texts=Object.assign({},W,e.default),this.utils.date.updateTexts(this.texts)})},loadDragAndDrop(){new Promise((s,e)=>u(["./drag-and-drop.amd"],s,e)).then(s=>{const{DragAndDrop:e}=s;this.modules.dnd=new e(this)}).catch(()=>console.warn("Vue Cal: Missing drag & drop module."))},validateView(s){return F.includes(s)||(console.error(`Vue Cal: invalid active-view parameter provided: "${s}".
|
|
6
|
+
A valid view must be one of: ${F.join(", ")}.`),s="week"),this.enabledViews.includes(s)||(console.warn(`Vue Cal: the provided active-view "${s}" is disabled. Using the "${this.enabledViews[0]}" view instead.`),s=this.enabledViews[0]),s},switchToNarrowerView(s=null){this.transitionDirection="right";const e=this.enabledViews[this.enabledViews.indexOf(this.view.id)+1];e&&this.switchView(e,s)},switchView(s,e=null,t=!1){s=this.validateView(s);const l=this.utils.date,r=this.view.startDate&&this.view.startDate.getTime();if(this.transitions&&t){if(this.view.id===s)return;const a=this.enabledViews;this.transitionDirection=a.indexOf(this.view.id)>a.indexOf(s)?"left":"right"}const n=this.view.id;switch(this.view.events=[],this.view.id=s,this.view.firstCellDate=null,this.view.lastCellDate=null,e||(e=this.view.selectedDate||this.view.startDate),s){case"years":{this.view.startDate=new Date(Math.floor(e.getFullYear()/25)*25||2e3,0,1),this.view.endDate=new Date(this.view.startDate.getFullYear()+25,0,1),this.view.endDate.setSeconds(-1);break}case"year":{this.view.startDate=new Date(e.getFullYear(),0,1),this.view.endDate=new Date(e.getFullYear()+1,0,1),this.view.endDate.setSeconds(-1);break}case"month":{this.view.startDate=new Date(e.getFullYear(),e.getMonth(),1),this.view.endDate=new Date(e.getFullYear(),e.getMonth()+1,1),this.view.endDate.setSeconds(-1);let a=new Date(this.view.startDate);if(a.getDay()!==(this.startWeekOnSunday?0:1)&&(a=l.getPreviousFirstDayOfWeek(a,this.startWeekOnSunday)),this.view.firstCellDate=a,this.view.lastCellDate=l.addDays(a,41),this.view.lastCellDate.setHours(23,59,59,0),this.hideWeekends){if([0,6].includes(this.view.firstCellDate.getDay())){const c=this.view.firstCellDate.getDay()===6&&!this.startWeekOnSunday?2:1;this.view.firstCellDate=l.addDays(this.view.firstCellDate,c)}if([0,6].includes(this.view.startDate.getDay())){const c=this.view.startDate.getDay()===6?2:1;this.view.startDate=l.addDays(this.view.startDate,c)}if([0,6].includes(this.view.lastCellDate.getDay())){const c=this.view.lastCellDate.getDay()===0&&!this.startWeekOnSunday?2:1;this.view.lastCellDate=l.subtractDays(this.view.lastCellDate,c)}if([0,6].includes(this.view.endDate.getDay())){const c=this.view.endDate.getDay()===0?2:1;this.view.endDate=l.subtractDays(this.view.endDate,c)}}break}case"week":{e=l.getPreviousFirstDayOfWeek(e,this.startWeekOnSunday);const a=this.hideWeekends?5:7;this.view.startDate=this.hideWeekends&&this.startWeekOnSunday?l.addDays(e,1):e,this.view.startDate.setHours(0,0,0,0),this.view.endDate=l.addDays(e,a),this.view.endDate.setSeconds(-1);break}case"day":{this.view.startDate=e,this.view.startDate.setHours(0,0,0,0),this.view.endDate=new Date(e),this.view.endDate.setHours(23,59,59,0);break}}this.addEventsToView();const o=this.view.startDate&&this.view.startDate.getTime();if(!(n===s&&o===r)&&(this.$emit("update:activeView",s),this.ready)){const a=this.view.startDate,c={view:s,startDate:a,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate,outOfScopeEvents:this.view.outOfScopeEvents.map(this.cleanupEvent)}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:l.getWeek(this.startWeekOnSunday?l.addDays(a,1):a)}:{}};this.$emit("view-change",c)}},previous(){this.previousNext(!1)},next(){this.previousNext()},previousNext(s=!0){const e=this.utils.date;this.transitionDirection=s?"right":"left";const t=s?1:-1;let l=null;const{startDate:r,id:n}=this.view;switch(n){case"years":l=new Date(r.getFullYear()+25*t,0,1);break;case"year":l=new Date(r.getFullYear()+1*t,1,1);break;case"month":l=new Date(r.getFullYear(),r.getMonth()+1*t,1);break;case"week":l=e[s?"addDays":"subtractDays"](e.getPreviousFirstDayOfWeek(r,this.startWeekOnSunday),7);break;case"day":l=e[s?"addDays":"subtractDays"](r,1);break}l&&this.switchView(n,l)},addEventsToView(s=[]){const e=this.utils.event,{startDate:t,endDate:l,firstCellDate:r,lastCellDate:n}=this.view;if(s.length||(this.view.events=[]),s=s.length?s:[...this.mutableEvents],!s||this.isYearsOrYearView&&!this.eventsCountOnYearView)return;let o=s.filter(a=>e.eventInRange(a,t,l));!this.isYearsOrYearView&&!(this.isMonthView&&!this.eventsOnMonthView)&&(o=o.map(a=>a.daysCount>1?e.createEventSegments(a,r||t,n||l):a)),this.view.events.push(...o),this.isMonthView&&(this.view.outOfScopeEvents=[],s.forEach(a=>{(e.eventInRange(a,r,t)||e.eventInRange(a,l,n))&&(this.view.events.some(c=>c._eid===a._eid)||this.view.outOfScopeEvents.push(a))}))},findAncestor(s,e){for(;(s=s.parentElement)&&!s.classList.contains(e););return s},isDOMElementAnEvent(s){return s.classList.contains("vuecal__event")||this.findAncestor(s,"vuecal__event")},onMouseMove(s){const{resizeAnEvent:e,dragAnEvent:t,dragCreateAnEvent:l}=this.domEvents;e._eid===null&&t._eid===null&&!l.start||(s.preventDefault(),e._eid?this.eventResizing(s):this.dragToCreateEvent&&l.start&&this.eventDragCreation(s))},onMouseUp(s){const{focusAnEvent:e,resizeAnEvent:t,clickHoldAnEvent:l,clickHoldACell:r,dragCreateAnEvent:n}=this.domEvents,{_eid:o}=l,{_eid:a}=t;let c=!1;const{event:d,start:h}=n,v=this.isDOMElementAnEvent(s.target),m=e.mousedUp;if(e.mousedUp=!1,v&&(this.domEvents.cancelClickEventCreation=!0),r.eventCreated)return;if(a){const{originalEnd:f,originalEndTimeMinutes:k,endTimeMinutes:E}=t,g=this.view.events.find(S=>S._eid===t._eid);if(c=E&&E!==k,g&&g.end.getTime()!==f.getTime()){const S=this.mutableEvents.find(it=>it._eid===t._eid);S.endTimeMinutes=g.endTimeMinutes,S.end=g.end;const b=this.cleanupEvent(g),z={...this.cleanupEvent(g),end:f,endTimeMinutes:g.originalEndTimeMinutes};this.$emit("event-duration-change",{event:b,oldDate:t.originalEnd,originalEvent:z}),this.$emit("event-change",{event:b,originalEvent:z})}g&&(g.resizing=!1),t._eid=null,t.start=null,t.split=null,t.segment=null,t.originalEndTimeMinutes=null,t.originalEnd=null,t.endTimeMinutes=null,t.startCell=null,t.endCell=null}else h&&(d&&(this.emitWithEvent("event-drag-create",d),n.event.resizing=!1),n.start=null,n.split=null,n.event=null);!v&&!a&&this.unfocusEvent(),l.timeoutId&&!o&&(clearTimeout(l.timeoutId),l.timeoutId=null),r.timeoutId&&(clearTimeout(r.timeoutId),r.timeoutId=null);const D=typeof this.onEventClick=="function";if(m&&!c&&!o&&!d&&D){let f=this.view.events.find(k=>k._eid===e._eid);return!f&&this.isMonthView&&(f=this.view.outOfScopeEvents.find(k=>k._eid===e._eid)),f&&this.onEventClick(f,s)}},onKeyUp(s){s.keyCode===27&&this.cancelDelete()},eventResizing(s){const{resizeAnEvent:e}=this.domEvents,t=this.view.events.find(d=>d._eid===e._eid)||{segments:{}},{minutes:l,cursorCoords:r}=this.minutesAtCursor(s),n=t.segments&&t.segments[e.segment],{date:o,event:a}=this.utils,c=Math.max(l,this.timeFrom+1,(n||t).startTimeMinutes+1);if(t.endTimeMinutes=e.endTimeMinutes=c,this.snapToTime){const d=t.endTimeMinutes+this.snapToTime/2;t.endTimeMinutes=d-d%this.snapToTime}if(n&&(n.endTimeMinutes=t.endTimeMinutes),t.end.setHours(0,t.endTimeMinutes,t.endTimeMinutes===O?-1:0,0),this.resizeX&&this.isWeekView){t.daysCount=o.countDays(t.start,t.end);const d=this.cellsEl,h=d.offsetWidth/d.childElementCount,v=Math.floor(r.x/h);if(e.startCell===null&&(e.startCell=v-(t.daysCount-1)),e.endCell!==v){e.endCell=v;const m=o.addDays(t.start,v-e.startCell),D=Math.max(o.countDays(t.start,m),1);if(D!==t.daysCount){let f=null;D>t.daysCount?f=a.addEventSegment(t):f=a.removeEventSegment(t),e.segment=f,t.endTimeMinutes+=.001}}}this.$emit("event-resizing",{_eid:t._eid,end:t.end,endTimeMinutes:t.endTimeMinutes})},eventDragCreation(s){const{dragCreateAnEvent:e}=this.domEvents,{start:t,startCursorY:l,split:r}=e,n=new Date(t),{minutes:o,cursorCoords:{y:a}}=this.minutesAtCursor(s);if(!(!e.event&&Math.abs(l-a)<this.dragToCreateThreshold))if(e.event){if(n.setHours(0,o,o===O?-1:0,0),this.snapToTime){let h=n.getHours()*60+n.getMinutes();const v=h+this.snapToTime/2;h=v-v%this.snapToTime,n.setHours(0,h,0,0)}const c=t<n,{event:d}=e;d.start=c?t:n,d.end=c?n:t,d.startTimeMinutes=d.start.getHours()*60+d.start.getMinutes(),d.endTimeMinutes=d.end.getHours()*60+d.end.getMinutes()}else{if(e.event=this.utils.event.createAnEvent(t,1,{split:r}),!e.event){e.start=null,e.split=null,e.event=null;return}e.event.resizing=!0}},unfocusEvent(){const{focusAnEvent:s,clickHoldAnEvent:e}=this.domEvents,t=this.view.events.find(l=>l._eid===(s._eid||e._eid));s._eid=null,e._eid=null,t&&(t.focused=!1,t.deleting=!1)},cancelDelete(){const{clickHoldAnEvent:s}=this.domEvents;if(s._eid){const e=this.view.events.find(t=>t._eid===s._eid);e&&(e.deleting=!1),s._eid=null,s.timeoutId=null}},onEventTitleBlur(s,e){if(e.title===s.target.innerHTML)return;const t=e.title;e.title=s.target.innerHTML;const l=this.cleanupEvent(e);this.$emit("event-title-change",{event:l,oldTitle:t}),this.$emit("event-change",{event:l,originalEvent:{...l,title:t}})},updateMutableEvents(){const s=this.utils.date;this.mutableEvents=[],this.events.forEach(e=>{const t=typeof e.start=="string"?s.stringToDate(e.start):e.start,l=s.formatDateLite(t),r=s.dateToMinutes(t);let n=null;typeof e.end=="string"&&e.end.includes("24:00")?(n=new Date(e.end.replace(" 24:00","")),n.setHours(23,59,59,0)):n=typeof e.end=="string"?s.stringToDate(e.end):e.end;let o=s.formatDateLite(n),a=s.dateToMinutes(n);(!a||a===O)&&(!this.time||typeof e.end=="string"&&e.end.length===10?n.setHours(23,59,59,0):n.setSeconds(n.getSeconds()-1),o=s.formatDateLite(n),a=O);const c=l!==o;e=Object.assign({...this.utils.event.eventDefaults},e,{_eid:`${this._.uid}_${this.eventIdIncrement++}`,segments:c?{}:null,start:t,startTimeMinutes:r,end:n,endTimeMinutes:a,daysCount:c?s.countDays(t,n):1,class:e.class}),this.mutableEvents.push(e)})},minutesAtCursor(s){return this.utils.cell.minutesAtCursor(s)},createEvent(s,e,t={}){return this.utils.event.createAnEvent(s,e,t)},cleanupEvent(s){return s={...s},["segments","deletable","deleting","titleEditable","resizable","resizing","draggable","dragging","draggingStatic","focused"].forEach(t=>{t in s&&delete s[t]}),s.repeat||delete s.repeat,s},emitWithEvent(s,e){this.$emit(s,this.cleanupEvent(e))},updateSelectedDate(s){if(s&&typeof s=="string"?s=this.utils.date.stringToDate(s):s=new Date(s),s&&s instanceof Date){const{selectedDate:e}=this.view;e&&(this.transitionDirection=e.getTime()>s.getTime()?"left":"right"),s.setHours(0,0,0,0),(!e||e.getTime()!==s.getTime())&&(this.view.selectedDate=s),this.switchView(this.view.id)}this.$emit("update:selected-date",this.view.selectedDate)},getWeekNumber(s){const e=this.utils.date,l=this.firstCellDateWeekNumber+s,r=this.startWeekOnSunday?1:0;return l>52?e.getWeek(e.addDays(this.view.firstCellDate,7*s+r)):l},timeTick(){this.now=new Date,this.timeTickerIds[1]=setTimeout(this.timeTick,60*1e3)},updateDateTexts(){this.utils.date.updateTexts(this.texts)},alignWithScrollbar(){if(document.getElementById("vuecal-align-with-scrollbar"))return;const s=this.$refs.vuecal.getElementsByClassName("vuecal__scrollbar-check")[0],e=s.offsetWidth-s.children[0].offsetWidth;if(e){const t=document.createElement("style");t.id="vuecal-align-with-scrollbar",t.type="text/css",t.innerHTML=`.vuecal__weekdays-headings,.vuecal__all-day {padding-right: ${e}px}`,document.head.appendChild(t)}},cellOrSplitHasEvents(s,e=null){return s.length&&(!e&&s.length||e&&s.some(t=>t.split===e.id))}},created(){this.utils.cell=new U(this),this.utils.event=new K(this,this.utils.date),this.loadLocale(this.locale),this.editEvents.drag&&this.loadDragAndDrop(),this.updateMutableEvents(this.events),this.view.id=this.currentView,this.selectedDate?this.updateSelectedDate(this.selectedDate):(this.view.selectedDate=new Date,this.switchView(this.currentView)),this.time&&this.watchRealTime&&(this.timeTickerIds[0]=setTimeout(this.timeTick,(60-this.now.getSeconds())*1e3))},mounted(){const s=this.utils.date,e="ontouchstart"in window,{resize:t,drag:l,create:r,delete:n,title:o}=this.editEvents,a=this.onEventClick&&typeof this.onEventClick=="function";(t||l||r||n||o||a)&&window.addEventListener(e?"touchend":"mouseup",this.onMouseUp),(t||l||r&&this.dragToCreateEvent)&&window.addEventListener(e?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),o&&window.addEventListener("keyup",this.onKeyUp),e&&(this.$refs.vuecal.oncontextmenu=function(h){h.preventDefault(),h.stopPropagation()}),this.hideBody||this.alignWithScrollbar();const c=this.view.startDate,d={view:this.view.id,startDate:c,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:s.getWeek(this.startWeekOnSunday?s.addDays(c,1):c)}:{}};this.$emit("ready",d),this.ready=!0},beforeUnmount(){const s="ontouchstart"in window;window.removeEventListener(s?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),window.removeEventListener(s?"touchend":"mouseup",this.onMouseUp),window.removeEventListener("keyup",this.onKeyUp),this.timeTickerIds[0]&&clearTimeout(this.timeTickerIds[0]),this.timeTickerIds[1]&&clearTimeout(this.timeTickerIds[1]),this.timeTickerIds=[null,null]},computed:{editEvents(){return this.editableEvents&&typeof this.editableEvents=="object"?{title:!!this.editableEvents.title,drag:!!this.editableEvents.drag,resize:!!this.editableEvents.resize,create:!!this.editableEvents.create,delete:!!this.editableEvents.delete}:{title:!!this.editableEvents,drag:!!this.editableEvents,resize:!!this.editableEvents,create:!!this.editableEvents,delete:!!this.editableEvents}},views(){return{years:{label:this.texts.years,enabled:!this.disableViews.includes("years")},year:{label:this.texts.year,enabled:!this.disableViews.includes("year")},month:{label:this.texts.month,enabled:!this.disableViews.includes("month")},week:{label:this.texts.week,enabled:!this.disableViews.includes("week")},day:{label:this.texts.day,enabled:!this.disableViews.includes("day")}}},currentView(){return this.validateView(this.activeView)},enabledViews(){return Object.keys(this.views).filter(s=>this.views[s].enabled)},hasTimeColumn(){return this.time&&this.isWeekOrDayView},isShortMonthView(){return this.isMonthView&&this.eventsOnMonthView==="short"},firstCellDateWeekNumber(){const s=this.utils.date,e=this.view.firstCellDate;return s.getWeek(this.startWeekOnSunday?s.addDays(e,1):e)},timeCells(){const s=[];for(let e=this.timeFrom,t=this.timeTo;e<t;e+=this.timeStep)s.push({hours:Math.floor(e/60),minutes:e%60,label:this.utils.date.formatTime(e,this.TimeFormat),value:e});return s},TimeFormat(){return this.timeFormat||(this.twelveHour?"h:mm{am}":"HH:mm")},daySplits(){return(this.splitDays.filter(s=>!s.hide)||[]).map((s,e)=>({...s,id:s.id||e+1}))},hasSplits(){return this.daySplits.length&&this.isWeekOrDayView},hasShortEvents(){return this.showAllDayEvents==="short"},cellOrSplitMinWidth(){let s=null;return this.hasSplits&&this.minSplitWidth?s=this.visibleDaysCount*this.minSplitWidth*this.daySplits.length:this.minCellWidth&&this.isWeekView&&(s=this.visibleDaysCount*this.minCellWidth),s},allDayBar(){let s=this.allDayBarHeight||null;return s&&!isNaN(s)&&(s+="px"),{cells:this.viewCells,options:this.$props,label:this.texts.allDay,shortEvents:this.hasShortEvents,daySplits:this.hasSplits&&this.daySplits||[],cellOrSplitMinWidth:this.cellOrSplitMinWidth,height:s}},minTimestamp(){let s=null;return this.minDate&&typeof this.minDate=="string"?s=this.utils.date.stringToDate(this.minDate):this.minDate&&this.minDate instanceof Date&&(s=this.minDate),s?s.getTime():null},maxTimestamp(){let s=null;return this.maxDate&&typeof this.maxDate=="string"?s=this.utils.date.stringToDate(this.maxDate):this.maxDate&&this.minDate instanceof Date&&(s=this.maxDate),s?s.getTime():null},weekDays(){let{weekDays:s,weekDaysShort:e=[]}=this.texts;return s=s.slice(0).map((t,l)=>({label:t,...e.length?{short:e[l]}:{},hide:this.hideWeekends&&l>=5||this.hideWeekdays.length&&this.hideWeekdays.includes(l+1)})),this.startWeekOnSunday&&s.unshift(s.pop()),s},weekDaysInHeader(){return this.isMonthView||this.isWeekView&&!this.minCellWidth&&!(this.hasSplits&&this.minSplitWidth)},months(){return this.texts.months.map(s=>({label:s}))},specialDayHours(){return!this.specialHours||!Object.keys(this.specialHours).length?{}:Array(7).fill("").map((s,e)=>{let t=this.specialHours[e+1]||[];return Array.isArray(t)||(t=[t]),s=[],t.forEach(({from:l,to:r,class:n},o)=>{s[o]={day:e+1,from:[null,void 0].includes(l)?null:l*1,to:[null,void 0].includes(r)?null:r*1,class:n||""}}),s})},viewTitle(){const s=this.utils.date;let e="";const t=this.view.startDate,l=t.getFullYear(),r=t.getMonth();switch(this.view.id){case"years":{e=this.texts.years;break}case"year":{e=l;break}case"month":{e=`${this.months[r].label} ${l}`;break}case"week":{const n=this.view.endDate,o=t.getFullYear();let a=this.texts.months[t.getMonth()];this.xsmall&&(a=a.substring(0,3));let c=`${a} ${o}`;if(n.getMonth()!==t.getMonth()){const d=n.getFullYear();let h=this.texts.months[n.getMonth()];this.xsmall&&(h=h.substring(0,3)),o===d?c=`${a} - ${h} ${o}`:this.small?c=`${a.substring(0,3)} ${o} - ${h.substring(0,3)} ${d}`:c=`${a} ${o} - ${h} ${d}`}e=`${this.texts.week} ${s.getWeek(this.startWeekOnSunday?s.addDays(t,1):t)} (${c})`;break}case"day":{e=this.utils.date.formatDate(t,this.texts.dateFormat,this.texts);break}}return e},viewCells(){const s=this.utils.date;let e=[],t=null,l=!1;this.watchRealTime||(this.now=new Date);const r=this.now;switch(this.view.id){case"years":{t=this.view.startDate.getFullYear(),e=Array.apply(null,Array(25)).map((n,o)=>{const a=new Date(t+o,0,1),c=new Date(t+o+1,0,1);return c.setSeconds(-1),{startDate:a,formattedDate:s.formatDateLite(a),endDate:c,content:t+o,current:t+o===r.getFullYear()}});break}case"year":{t=this.view.startDate.getFullYear(),e=Array.apply(null,Array(12)).map((n,o)=>{const a=new Date(t,o,1),c=new Date(t,o+1,1);return c.setSeconds(-1),{startDate:a,formattedDate:s.formatDateLite(a),endDate:c,content:this.xsmall?this.months[o].label.substr(0,3):this.months[o].label,current:o===r.getMonth()&&t===r.getFullYear()}});break}case"month":{const n=this.view.startDate.getMonth(),o=new Date(this.view.firstCellDate);l=!1,e=Array.apply(null,Array(42)).map((a,c)=>{const d=s.addDays(o,c),h=new Date(d);h.setHours(23,59,59,0);const v=!l&&s.isToday(d)&&!l++;return{startDate:d,formattedDate:s.formatDateLite(d),endDate:h,content:d.getDate(),today:v,outOfScope:d.getMonth()!==n,class:`vuecal__cell--day${d.getDay()||7}`}}),(this.hideWeekends||this.hideWeekdays.length)&&(e=e.filter(a=>{const c=a.startDate.getDay()||7;return!(this.hideWeekends&&c>=6||this.hideWeekdays.length&&this.hideWeekdays.includes(c))}));break}case"week":{l=!1;const n=this.view.startDate,o=this.weekDays;e=o.map((a,c)=>{const d=s.addDays(n,c),h=new Date(d);h.setHours(23,59,59,0);const v=(d.getDay()||7)-1;return{startDate:d,formattedDate:s.formatDateLite(d),endDate:h,today:!l&&s.isToday(d)&&!l++,specialHours:this.specialDayHours[v]||[]}}).filter((a,c)=>!o[c].hide);break}case"day":{const n=this.view.startDate,o=new Date(this.view.startDate);o.setHours(23,59,59,0);const a=(n.getDay()||7)-1;e=[{startDate:n,formattedDate:s.formatDateLite(n),endDate:o,today:s.isToday(n),specialHours:this.specialDayHours[a]||[]}];break}}return e},visibleDaysCount(){return this.isDayView?1:7-this.weekDays.reduce((s,e)=>s+e.hide,0)},cellWidth(){return 100/this.visibleDaysCount},cssClasses(){const{resizeAnEvent:s,dragAnEvent:e,dragCreateAnEvent:t}=this.domEvents;return{[`vuecal--${this.view.id}-view`]:!0,[`vuecal--${this.locale}`]:this.locale,"vuecal--no-time":!this.time,"vuecal--view-with-time":this.hasTimeColumn,"vuecal--week-numbers":this.showWeekNumbers&&this.isMonthView,"vuecal--twelve-hour":this.twelveHour,"vuecal--click-to-navigate":this.clickToNavigate,"vuecal--hide-weekends":this.hideWeekends,"vuecal--split-days":this.hasSplits,"vuecal--sticky-split-labels":this.hasSplits&&this.stickySplitLabels,"vuecal--overflow-x":this.minCellWidth&&this.isWeekView||this.hasSplits&&this.minSplitWidth,"vuecal--small":this.small,"vuecal--xsmall":this.xsmall,"vuecal--resizing-event":s._eid,"vuecal--drag-creating-event":t.event,"vuecal--dragging-event":e._eid,"vuecal--events-on-month-view":this.eventsOnMonthView,"vuecal--short-events":this.isMonthView&&this.eventsOnMonthView==="short","vuecal--has-touch":typeof window<"u"&&"ontouchstart"in window}},isYearsOrYearView(){return["years","year"].includes(this.view.id)},isYearsView(){return this.view.id==="years"},isYearView(){return this.view.id==="year"},isMonthView(){return this.view.id==="month"},isWeekOrDayView(){return["week","day"].includes(this.view.id)},isWeekView(){return this.view.id==="week"},isDayView(){return this.view.id==="day"}},watch:{events:{handler(s,e){this.updateMutableEvents(s),this.addEventsToView()},deep:!0},locale(s){this.loadLocale(s)},selectedDate(s){this.updateSelectedDate(s)},activeView(s){this.switchView(s)}}},[["render",st]])});
|