fullcalendar 6.0.0-beta.1 → 6.0.0-beta.2
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/{LICENSE.txt → LICENSE.md} +0 -0
- package/index.cjs +32 -0
- package/index.d.ts +2 -0
- package/{main.js → index.global.js} +7155 -7901
- package/index.global.js.map +1 -0
- package/index.global.min.js +6 -0
- package/index.js +9 -0
- package/package.json +36 -18
- package/locales/af.js +0 -27
- package/locales/ar-dz.js +0 -28
- package/locales/ar-kw.js +0 -28
- package/locales/ar-ly.js +0 -28
- package/locales/ar-ma.js +0 -28
- package/locales/ar-sa.js +0 -28
- package/locales/ar-tn.js +0 -28
- package/locales/ar.js +0 -28
- package/locales/az.js +0 -29
- package/locales/bg.js +0 -28
- package/locales/bn.js +0 -29
- package/locales/bs.js +0 -29
- package/locales/ca.js +0 -27
- package/locales/cs.js +0 -29
- package/locales/cy.js +0 -28
- package/locales/da.js +0 -27
- package/locales/de-at.js +0 -65
- package/locales/de.js +0 -65
- package/locales/el.js +0 -27
- package/locales/en-au.js +0 -24
- package/locales/en-gb.js +0 -24
- package/locales/en-nz.js +0 -24
- package/locales/eo.js +0 -27
- package/locales/es-us.js +0 -27
- package/locales/es.js +0 -46
- package/locales/et.js +0 -29
- package/locales/eu.js +0 -27
- package/locales/fa.js +0 -30
- package/locales/fi.js +0 -27
- package/locales/fr-ca.js +0 -24
- package/locales/fr-ch.js +0 -28
- package/locales/fr.js +0 -28
- package/locales/gl.js +0 -27
- package/locales/he.js +0 -24
- package/locales/hi.js +0 -29
- package/locales/hr.js +0 -29
- package/locales/hu.js +0 -27
- package/locales/hy-am.js +0 -29
- package/locales/id.js +0 -27
- package/locales/is.js +0 -27
- package/locales/it.js +0 -29
- package/locales/ja.js +0 -25
- package/locales/ka.js +0 -29
- package/locales/kk.js +0 -29
- package/locales/km.js +0 -28
- package/locales/ko.js +0 -23
- package/locales/ku.js +0 -28
- package/locales/lb.js +0 -27
- package/locales/lt.js +0 -27
- package/locales/lv.js +0 -29
- package/locales/mk.js +0 -25
- package/locales/ms.js +0 -29
- package/locales/nb.js +0 -38
- package/locales/ne.js +0 -27
- package/locales/nl.js +0 -27
- package/locales/nn.js +0 -27
- package/locales/pl.js +0 -27
- package/locales/pt-br.js +0 -25
- package/locales/pt.js +0 -27
- package/locales/ro.js +0 -29
- package/locales/ru.js +0 -29
- package/locales/si-lk.js +0 -27
- package/locales/sk.js +0 -29
- package/locales/sl.js +0 -27
- package/locales/sm.js +0 -23
- package/locales/sq.js +0 -29
- package/locales/sr-cyrl.js +0 -29
- package/locales/sr.js +0 -29
- package/locales/sv.js +0 -47
- package/locales/ta-in.js +0 -29
- package/locales/th.js +0 -30
- package/locales/tr.js +0 -27
- package/locales/ug.js +0 -17
- package/locales/uk.js +0 -29
- package/locales/uz.js +0 -21
- package/locales/vi.js +0 -29
- package/locales/zh-cn.js +0 -30
- package/locales/zh-tw.js +0 -23
- package/locales-all.js +0 -1793
- package/locales-all.min.js +0 -1
- package/main.min.js +0 -6
package/main.min.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
FullCalendar v6.0.0-beta.1
|
|
3
|
-
Docs & License: https://fullcalendar.io/
|
|
4
|
-
(c) 2022 Adam Shaw
|
|
5
|
-
*/
|
|
6
|
-
var FullCalendar=function(e){"use strict";var t,n,r,i,s,o={},a=[],l=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function c(e,t){for(var n in t)e[n]=t[n];return e}function d(e){var t=e.parentNode;t&&t.removeChild(e)}function u(e,t,n){var r,i,s,o=arguments,a={};for(s in t)"key"==s?r=t[s]:"ref"==s?i=t[s]:a[s]=t[s];if(arguments.length>3)for(n=[n],s=3;s<arguments.length;s++)n.push(o[s]);if(null!=n&&(a.children=n),"function"==typeof e&&null!=e.defaultProps)for(s in e.defaultProps)void 0===a[s]&&(a[s]=e.defaultProps[s]);return h(e,a,r,i,null)}function h(e,n,r,i,s){var o={type:e,props:n,key:r,ref:i,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==s?++t.__v:s};return null!=t.vnode&&t.vnode(o),o}function f(e){return e.children}function p(e,t){this.props=e,this.context=t}function g(e,t){if(null==t)return e.__?g(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?g(e):null}function m(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return m(e)}}function v(e){(!e.__d&&(e.__d=!0)&&n.push(e)&&!b.__r++||i!==t.debounceRendering)&&((i=t.debounceRendering)||r)(b)}function b(){for(var e;b.__r=n.length;)e=n.sort((function(e,t){return e.__v.__b-t.__v.__b})),n=[],e.some((function(e){var t,n,r,i,s,o;e.__d&&(s=(i=(t=e).__v).__e,(o=t.__P)&&(n=[],(r=c({},i)).__v=i.__v+1,R(o,i,r,t.__n,void 0!==o.ownerSVGElement,null!=i.__h?[s]:null,n,null==s?g(i):s,i.__h),k(n,i),i.__e!=s&&m(i)))}))}function y(e,t,n,r,i,s,l,c,d,u){var p,m,v,b,y,D,A,S=r&&r.__k||a,C=S.length;for(n.__k=[],p=0;p<t.length;p++)if(null!=(b=n.__k[p]=null==(b=t[p])||"boolean"==typeof b?null:"string"==typeof b||"number"==typeof b||"bigint"==typeof b?h(null,b,null,null,b):Array.isArray(b)?h(f,{children:b},null,null,null):b.__b>0?h(b.type,b.props,b.key,null,b.__v):b)){if(b.__=n,b.__b=n.__b+1,null===(v=S[p])||v&&b.key==v.key&&b.type===v.type)S[p]=void 0;else for(m=0;m<C;m++){if((v=S[m])&&b.key==v.key&&b.type===v.type){S[m]=void 0;break}v=null}R(e,b,v=v||o,i,s,l,c,d,u),y=b.__e,(m=b.ref)&&v.ref!=m&&(A||(A=[]),v.ref&&A.push(v.ref,null,b),A.push(m,b.__c||y,b)),null!=y?(null==D&&(D=y),"function"==typeof b.type&&null!=b.__k&&b.__k===v.__k?b.__d=d=E(b,d,e):d=w(e,b,v,S,y,d),u||"option"!==n.type?"function"==typeof n.type&&(n.__d=d):e.value=""):d&&v.__e==d&&d.parentNode!=e&&(d=g(v))}for(n.__e=D,p=C;p--;)null!=S[p]&&("function"==typeof n.type&&null!=S[p].__e&&S[p].__e==n.__d&&(n.__d=g(r,p+1)),M(S[p],S[p]));if(A)for(p=0;p<A.length;p++)_(A[p],A[++p],A[++p])}function E(e,t,n){var r,i;for(r=0;r<e.__k.length;r++)(i=e.__k[r])&&(i.__=e,t="function"==typeof i.type?E(i,t,n):w(n,i,i,e.__k,i.__e,t));return t}function D(e,t){return t=t||[],null==e||"boolean"==typeof e||(Array.isArray(e)?e.some((function(e){D(e,t)})):t.push(e)),t}function w(e,t,n,r,i,s){var o,a,l;if(void 0!==t.__d)o=t.__d,t.__d=void 0;else if(null==n||i!=s||null==i.parentNode)e:if(null==s||s.parentNode!==e)e.appendChild(i),o=null;else{for(a=s,l=0;(a=a.nextSibling)&&l<r.length;l+=2)if(a==i)break e;e.insertBefore(i,s),o=s}return void 0!==o?o:i.nextSibling}function A(e,t,n){"-"===t[0]?e.setProperty(t,n):e[t]=null==n?"":"number"!=typeof n||l.test(t)?n:n+"px"}function S(e,t,n,r,i){var s;e:if("style"===t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof r&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||A(e.style,t,"");if(n)for(t in n)r&&n[t]===r[t]||A(e.style,t,n[t])}else if("o"===t[0]&&"n"===t[1])s=t!==(t=t.replace(/Capture$/,"")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+s]=n,n?r||e.addEventListener(t,s?x:C,s):e.removeEventListener(t,s?x:C,s);else if("dangerouslySetInnerHTML"!==t){if(i)t=t.replace(/xlink[H:h]/,"h").replace(/sName$/,"s");else if("href"!==t&&"list"!==t&&"form"!==t&&"tabIndex"!==t&&"download"!==t&&t in e)try{e[t]=null==n?"":n;break e}catch(e){}"function"==typeof n||(null!=n&&(!1!==n||"a"===t[0]&&"r"===t[1])?e.setAttribute(t,n):e.removeAttribute(t))}}function C(e){this.l[e.type+!1](t.event?t.event(e):e)}function x(e){this.l[e.type+!0](t.event?t.event(e):e)}function R(e,n,r,i,s,o,a,l,d){var u,h,g,m,v,b,E,D,w,A,S,C=n.type;if(void 0!==n.constructor)return null;null!=r.__h&&(d=r.__h,l=n.__e=r.__e,n.__h=null,o=[l]),(u=t.__b)&&u(n);try{e:if("function"==typeof C){if(D=n.props,w=(u=C.contextType)&&i[u.__c],A=u?w?w.props.value:u.__:i,r.__c?E=(h=n.__c=r.__c).__=h.__E:("prototype"in C&&C.prototype.render?n.__c=h=new C(D,A):(n.__c=h=new p(D,A),h.constructor=C,h.render=I),w&&w.sub(h),h.props=D,h.state||(h.state={}),h.context=A,h.__n=i,g=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=C.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=c({},h.__s)),c(h.__s,C.getDerivedStateFromProps(D,h.__s))),m=h.props,v=h.state,g)null==C.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==C.getDerivedStateFromProps&&D!==m&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(D,A),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(D,h.__s,A)||n.__v===r.__v){h.props=D,h.state=h.__s,n.__v!==r.__v&&(h.__d=!1),h.__v=n,n.__e=r.__e,n.__k=r.__k,n.__k.forEach((function(e){e&&(e.__=n)})),h.__h.length&&a.push(h);break e}null!=h.componentWillUpdate&&h.componentWillUpdate(D,h.__s,A),null!=h.componentDidUpdate&&h.__h.push((function(){h.componentDidUpdate(m,v,b)}))}h.context=A,h.props=D,h.state=h.__s,(u=t.__r)&&u(n),h.__d=!1,h.__v=n,h.__P=e,u=h.render(h.props,h.state,h.context),h.state=h.__s,null!=h.getChildContext&&(i=c(c({},i),h.getChildContext())),g||null==h.getSnapshotBeforeUpdate||(b=h.getSnapshotBeforeUpdate(m,v)),S=null!=u&&u.type===f&&null==u.key?u.props.children:u,y(e,Array.isArray(S)?S:[S],n,r,i,s,o,a,l,d),h.base=n.__e,n.__h=null,h.__h.length&&a.push(h),E&&(h.__E=h.__=null),h.__e=!1}else null==o&&n.__v===r.__v?(n.__k=r.__k,n.__e=r.__e):n.__e=T(r.__e,n,r,i,s,o,a,d);(u=t.diffed)&&u(n)}catch(e){n.__v=null,(d||null!=o)&&(n.__e=l,n.__h=!!d,o[o.indexOf(l)]=null),t.__e(e,n,r)}}function k(e,n){t.__c&&t.__c(n,e),e.some((function(n){try{e=n.__h,n.__h=[],e.some((function(e){e.call(n)}))}catch(e){t.__e(e,n.__v)}}))}function T(e,t,n,r,i,s,l,c){var u,h,f,p,g=n.props,m=t.props,v=t.type,b=0;if("svg"===v&&(i=!0),null!=s)for(;b<s.length;b++)if((u=s[b])&&(u===e||(v?u.localName==v:3==u.nodeType))){e=u,s[b]=null;break}if(null==e){if(null===v)return document.createTextNode(m);e=i?document.createElementNS("http://www.w3.org/2000/svg",v):document.createElement(v,m.is&&m),s=null,c=!1}if(null===v)g===m||c&&e.data===m||(e.data=m);else{if(s=s&&a.slice.call(e.childNodes),h=(g=n.props||o).dangerouslySetInnerHTML,f=m.dangerouslySetInnerHTML,!c){if(null!=s)for(g={},p=0;p<e.attributes.length;p++)g[e.attributes[p].name]=e.attributes[p].value;(f||h)&&(f&&(h&&f.__html==h.__html||f.__html===e.innerHTML)||(e.innerHTML=f&&f.__html||""))}if(function(e,t,n,r,i){var s;for(s in n)"children"===s||"key"===s||s in t||S(e,s,null,n[s],r);for(s in t)i&&"function"!=typeof t[s]||"children"===s||"key"===s||"value"===s||"checked"===s||n[s]===t[s]||S(e,s,t[s],n[s],r)}(e,m,g,i,c),f)t.__k=[];else if(b=t.props.children,y(e,Array.isArray(b)?b:[b],t,n,r,i&&"foreignObject"!==v,s,l,e.firstChild,c),null!=s)for(b=s.length;b--;)null!=s[b]&&d(s[b]);c||("value"in m&&void 0!==(b=m.value)&&(b!==e.value||"progress"===v&&!b)&&S(e,"value",b,g.value,!1),"checked"in m&&void 0!==(b=m.checked)&&b!==e.checked&&S(e,"checked",b,g.checked,!1))}return e}function _(e,n,r){try{"function"==typeof e?e(n):e.current=n}catch(e){t.__e(e,r)}}function M(e,n,r){var i,s,o;if(t.unmount&&t.unmount(e),(i=e.ref)&&(i.current&&i.current!==e.__e||_(i,null,n)),r||"function"==typeof e.type||(r=null!=(s=e.__e)),e.__e=e.__d=void 0,null!=(i=e.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(e){t.__e(e,n)}i.base=i.__P=null}if(i=e.__k)for(o=0;o<i.length;o++)i[o]&&M(i[o],n,r);null!=s&&d(s)}function I(e,t,n){return this.constructor(e,n)}function O(e,n,r){var i,s,l;t.__&&t.__(e,n),s=(i="function"==typeof r)?null:r&&r.__k||n.__k,l=[],R(n,e=(!i&&r||n).__k=u(f,null,[e]),s||o,o,void 0!==n.ownerSVGElement,!i&&r?[r]:s?null:n.firstChild?a.slice.call(n.childNodes):null,l,!i&&r?r:s?s.__e:n.firstChild,i),k(l,e)}t={__e:function(e,t){for(var n,r,i;t=t.__;)if((n=t.__c)&&!n.__)try{if((r=n.constructor)&&null!=r.getDerivedStateFromError&&(n.setState(r.getDerivedStateFromError(e)),i=n.__d),null!=n.componentDidCatch&&(n.componentDidCatch(e),i=n.__d),i)return n.__E=n}catch(t){e=t}throw e},__v:0},p.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=c({},this.state),"function"==typeof e&&(e=e(c({},n),this.props)),e&&c(n,e),null!=e&&this.__v&&(t&&this.__h.push(t),v(this))},p.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),v(this))},p.prototype.render=f,n=[],r="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,b.__r=0,s=0;var N,P=[],H=t.__b,B=t.__r,j=t.diffed,z=t.__c,U=t.unmount;function L(){P.forEach((function(e){if(e.__P)try{e.__H.__h.forEach(W),e.__H.__h.forEach(V),e.__H.__h=[]}catch(n){e.__H.__h=[],t.__e(n,e.__v)}})),P=[]}t.__b=function(e){H&&H(e)},t.__r=function(e){B&&B(e);var t=e.__c.__H;t&&(t.__h.forEach(W),t.__h.forEach(V),t.__h=[])},t.diffed=function(e){j&&j(e);var n=e.__c;n&&n.__H&&n.__H.__h.length&&(1!==P.push(n)&&N===t.requestAnimationFrame||((N=t.requestAnimationFrame)||function(e){var t,n=function(){clearTimeout(r),F&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);F&&(t=requestAnimationFrame(n))})(L))},t.__c=function(e,n){n.some((function(e){try{e.__h.forEach(W),e.__h=e.__h.filter((function(e){return!e.__||V(e)}))}catch(r){n.some((function(e){e.__h&&(e.__h=[])})),n=[],t.__e(r,e.__v)}})),z&&z(e,n)},t.unmount=function(e){U&&U(e);var n=e.__c;if(n&&n.__H)try{n.__H.__.forEach(W)}catch(e){t.__e(e,n.__v)}};var F="function"==typeof requestAnimationFrame;function W(e){"function"==typeof e.__c&&e.__c()}function V(e){e.__c=e.__()}function G(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var r in t)if("__source"!==r&&e[r]!==t[r])return!0;return!1}function Q(e){this.props=e}(Q.prototype=new p).isPureReactComponent=!0,Q.prototype.shouldComponentUpdate=function(e,t){return G(this.props,e)||G(this.state,t)};var Y=t.__b;t.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Y&&Y(e)};var q=t.__e;t.__e=function(e,t,n){if(e.then)for(var r,i=t;i=i.__;)if((r=i.__c)&&r.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),r.__c(e,t);q(e,t,n)};var Z=t.unmount;function X(){this.__u=0,this.t=null,this.__b=null}function $(e){var t=e.__.__c;return t&&t.__e&&t.__e(e)}function J(){this.u=null,this.o=null}t.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&!0===e.__h&&(e.type=null),Z&&Z(e)},(X.prototype=new p).__c=function(e,t){var n=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(n);var i=$(r.__v),s=!1,o=function(){s||(s=!0,n.__R=null,i?i(a):a())};n.__R=o;var a=function(){if(!--r.__u){if(r.state.__e){var e=r.state.__e;r.__v.__k[0]=function e(t,n,r){return t&&(t.__v=null,t.__k=t.__k&&t.__k.map((function(t){return e(t,n,r)})),t.__c&&t.__c.__P===n&&(t.__e&&r.insertBefore(t.__e,t.__d),t.__c.__e=!0,t.__c.__P=r)),t}(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__e:r.__b=null});t=r.t.pop();)t.forceUpdate()}},l=!0===t.__h;r.__u++||l||r.setState({__e:r.__b=r.__v.__k[0]}),e.then(o,o)},X.prototype.componentWillUnmount=function(){this.t=[]},X.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=function e(t,n,r){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),t.__c.__H=null),null!=(t=function(e,t){for(var n in t)e[n]=t[n];return e}({},t)).__c&&(t.__c.__P===r&&(t.__c.__P=n),t.__c=null),t.__k=t.__k&&t.__k.map((function(t){return e(t,n,r)}))),t}(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__e&&u(f,null,e.fallback);return i&&(i.__h=null),[u(f,null,t.__e?null:e.children),i]};var K=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.u=n=n[2]}};function ee(e){return this.getChildContext=function(){return e.context},e.children}function te(e){var t=this,n=e.i;t.componentWillUnmount=function(){O(null,t.l),t.l=null,t.i=null},t.i&&t.i!==n&&t.componentWillUnmount(),e.__v?(t.l||(t.i=n,t.l={nodeType:1,parentNode:n,childNodes:[],appendChild:function(e){this.childNodes.push(e),t.i.appendChild(e)},insertBefore:function(e,n){this.childNodes.push(e),t.i.appendChild(e)},removeChild:function(e){this.childNodes.splice(this.childNodes.indexOf(e)>>>1,1),t.i.removeChild(e)}}),O(u(ee,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}(J.prototype=new p).__e=function(e){var t=this,n=$(t.__v),r=t.o.get(e);return r[0]++,function(i){var s=function(){t.props.revealOrder?(r.push(i),K(t,e,r)):i()};n?n(s):s()}},J.prototype.render=function(e){this.u=null,this.o=new Map;var t=D(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},J.prototype.componentDidUpdate=J.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){K(e,n,t)}))};var ne="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,re=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,ie=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(e)};p.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(p.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var se=t.event;function oe(){}function ae(){return this.cancelBubble}function le(){return this.defaultPrevented}t.event=function(e){return se&&(e=se(e)),e.persist=oe,e.isPropagationStopped=ae,e.isDefaultPrevented=le,e.nativeEvent=e};var ce={configurable:!0,get:function(){return this.class}},de=t.vnode;t.vnode=function(e){var t=e.type,n=e.props,r=n;if("string"==typeof t){for(var i in r={},n){var s=n[i];"value"===i&&"defaultValue"in n&&null==s||("defaultValue"===i&&"value"in n&&null==n.value?i="value":"download"===i&&!0===s?s="":/ondoubleclick/i.test(i)?i="ondblclick":/^onchange(textarea|input)/i.test(i+t)&&!ie(n.type)?i="oninput":/^on(Ani|Tra|Tou|BeforeInp)/.test(i)?i=i.toLowerCase():re.test(i)?i=i.replace(/[A-Z0-9]/,"-$&").toLowerCase():null===s&&(s=void 0),r[i]=s)}"select"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=D(n.children).forEach((function(e){e.props.selected=-1!=r.value.indexOf(e.props.value)}))),"select"==t&&null!=r.defaultValue&&(r.value=D(n.children).forEach((function(e){e.props.selected=r.multiple?-1!=r.defaultValue.indexOf(e.props.value):r.defaultValue==e.props.value}))),e.props=r}t&&n.class!=n.className&&(ce.enumerable="className"in n,null!=n.className&&(r.class=n.className),Object.defineProperty(r,"className",ce)),e.$$typeof=ne,de&&de(e)};var ue=t.__r;t.__r=function(e){ue&&ue(e)},"object"==typeof performance&&"function"==typeof performance.now&&performance.now.bind(performance);let he="undefined"!=typeof globalThis?globalThis:window;he.FullCalendarVDom?console.warn("FullCalendar VDOM already loaded"):he.FullCalendarVDom={Component:p,createElement:u,render:O,createRef:function(){return{current:null}},Fragment:f,createContext:function(e){let t=function(e,t){var n={__c:t="__cC"+s++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=[],(r={})[t]=this,this.getChildContext=function(){return r},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.some(v)},this.sub=function(e){n.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n.splice(n.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n}(e),n=t.Provider;return t.Provider=function(){let e=!this.getChildContext,t=n.apply(this,arguments);if(e){let e=[];this.shouldComponentUpdate=t=>{this.props.value!==t.value&&e.forEach((e=>{e.context=t.value,e.forceUpdate()}))},this.sub=t=>{e.push(t);let n=t.componentWillUnmount;t.componentWillUnmount=()=>{e.splice(e.indexOf(t),1),n&&n.call(t)}}}return t},t},createPortal:function(e,t){return u(te,{__v:e,i:t})},flushSync:function(e){e();let n=t.debounceRendering,r=[];function i(e){r.push(e)}t.debounceRendering=i,O(u(fe,{}),document.createElement("div"));for(;r.length;)r.shift()();t.debounceRendering=n},unmountComponentAtNode:function(e){O(null,e)}};class fe extends p{render(){return u("div",{})}componentDidMount(){this.setState({})}}function pe(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}pe('\n/* classes attached to <body> */\n/* TODO: make fc-event selector work when calender in shadow DOM */\n.fc-not-allowed,\n.fc-not-allowed .fc-event { /* override events\' custom cursors */\n cursor: not-allowed;\n}\n\n/* TODO: not attached to body. attached to specific els. move */\n.fc-unselectable {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.fc {\n /* layout of immediate children */\n display: flex;\n flex-direction: column;\n\n font-size: 1em\n}\n.fc,\n .fc *,\n .fc *:before,\n .fc *:after {\n box-sizing: border-box;\n }\n.fc table {\n border-collapse: collapse;\n border-spacing: 0;\n font-size: 1em; /* normalize cross-browser */\n }\n.fc th {\n text-align: center;\n }\n.fc th,\n .fc td {\n vertical-align: top;\n padding: 0;\n }\n.fc a[data-navlink] {\n cursor: pointer;\n }\n.fc a[data-navlink]:hover {\n text-decoration: underline;\n }\n.fc-direction-ltr {\n direction: ltr;\n text-align: left;\n}\n.fc-direction-rtl {\n direction: rtl;\n text-align: right;\n}\n.fc-theme-standard td,\n .fc-theme-standard th {\n border: 1px solid #ddd;\n border: 1px solid var(--fc-border-color, #ddd);\n }\n/* for FF, which doesn\'t expand a 100% div within a table cell. use absolute positioning */\n/* inner-wrappers are responsible for being absolute */\n/* TODO: best place for this? */\n.fc-liquid-hack td,\n .fc-liquid-hack th {\n position: relative;\n }\n\n@font-face {\n font-family: \'fcicons\';\n src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format(\'truetype\');\n font-weight: normal;\n font-style: normal;\n}\n\n.fc-icon {\n /* added for fc */\n display: inline-block;\n width: 1em;\n height: 1em;\n text-align: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n /* use !important to prevent issues with browser extensions that change fonts */\n font-family: \'fcicons\' !important;\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.fc-icon-chevron-left:before {\n content: "\\e900";\n}\n\n.fc-icon-chevron-right:before {\n content: "\\e901";\n}\n\n.fc-icon-chevrons-left:before {\n content: "\\e902";\n}\n\n.fc-icon-chevrons-right:before {\n content: "\\e903";\n}\n\n.fc-icon-minus-square:before {\n content: "\\e904";\n}\n\n.fc-icon-plus-square:before {\n content: "\\e905";\n}\n\n.fc-icon-x:before {\n content: "\\e906";\n}\n/*\nLots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css\n\nThese styles only apply when the standard-theme is activated.\nWhen it\'s NOT activated, the fc-button classes won\'t even be in the DOM.\n*/\n.fc {\n\n /* reset */\n\n}\n.fc .fc-button {\n border-radius: 0;\n overflow: visible;\n text-transform: none;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n.fc .fc-button:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n }\n.fc .fc-button {\n -webkit-appearance: button;\n }\n.fc .fc-button:not(:disabled) {\n cursor: pointer;\n }\n.fc .fc-button::-moz-focus-inner {\n padding: 0;\n border-style: none;\n }\n.fc {\n\n /* theme */\n\n}\n.fc .fc-button {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n vertical-align: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.4em 0.65em;\n font-size: 1em;\n line-height: 1.5;\n border-radius: 0.25em;\n }\n.fc .fc-button:hover {\n text-decoration: none;\n }\n.fc .fc-button:focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);\n }\n.fc .fc-button:disabled {\n opacity: 0.65;\n }\n.fc {\n\n /* "primary" coloring */\n\n}\n.fc .fc-button-primary {\n color: #fff;\n color: var(--fc-button-text-color, #fff);\n background-color: #2C3E50;\n background-color: var(--fc-button-bg-color, #2C3E50);\n border-color: #2C3E50;\n border-color: var(--fc-button-border-color, #2C3E50);\n }\n.fc .fc-button-primary:hover {\n color: #fff;\n color: var(--fc-button-text-color, #fff);\n background-color: #1e2b37;\n background-color: var(--fc-button-hover-bg-color, #1e2b37);\n border-color: #1a252f;\n border-color: var(--fc-button-hover-border-color, #1a252f);\n }\n.fc .fc-button-primary:disabled { /* not DRY */\n color: #fff;\n color: var(--fc-button-text-color, #fff);\n background-color: #2C3E50;\n background-color: var(--fc-button-bg-color, #2C3E50);\n border-color: #2C3E50;\n border-color: var(--fc-button-border-color, #2C3E50); /* overrides :hover */\n }\n.fc .fc-button-primary:focus {\n box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);\n }\n.fc .fc-button-primary:not(:disabled):active,\n .fc .fc-button-primary:not(:disabled).fc-button-active {\n color: #fff;\n color: var(--fc-button-text-color, #fff);\n background-color: #1a252f;\n background-color: var(--fc-button-active-bg-color, #1a252f);\n border-color: #151e27;\n border-color: var(--fc-button-active-border-color, #151e27);\n }\n.fc .fc-button-primary:not(:disabled):active:focus,\n .fc .fc-button-primary:not(:disabled).fc-button-active:focus {\n box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);\n }\n.fc {\n\n /* icons within buttons */\n\n}\n.fc .fc-button .fc-icon {\n vertical-align: middle;\n font-size: 1.5em; /* bump up the size (but don\'t make it bigger than line-height of button, which is 1.5em also) */\n }\n.fc .fc-button-group {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n }\n.fc .fc-button-group > .fc-button {\n position: relative;\n flex: 1 1 auto;\n }\n.fc .fc-button-group > .fc-button:hover {\n z-index: 1;\n }\n.fc .fc-button-group > .fc-button:focus,\n .fc .fc-button-group > .fc-button:active,\n .fc .fc-button-group > .fc-button.fc-button-active {\n z-index: 1;\n }\n.fc-direction-ltr .fc-button-group > .fc-button:not(:first-child) {\n margin-left: -1px;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n.fc-direction-ltr .fc-button-group > .fc-button:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n.fc-direction-rtl .fc-button-group > .fc-button:not(:first-child) {\n margin-right: -1px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n.fc-direction-rtl .fc-button-group > .fc-button:not(:last-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n.fc .fc-toolbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n.fc .fc-toolbar.fc-header-toolbar {\n margin-bottom: 1.5em;\n }\n.fc .fc-toolbar.fc-footer-toolbar {\n margin-top: 1.5em;\n }\n.fc .fc-toolbar-title {\n font-size: 1.75em;\n margin: 0;\n }\n.fc-direction-ltr .fc-toolbar > * > :not(:first-child) {\n margin-left: .75em; /* space between */\n }\n.fc-direction-rtl .fc-toolbar > * > :not(:first-child) {\n margin-right: .75em; /* space between */\n }\n.fc-direction-rtl .fc-toolbar-ltr { /* when the toolbar-chunk positioning system is explicitly left-to-right */\n flex-direction: row-reverse;\n }\n.fc .fc-scroller {\n -webkit-overflow-scrolling: touch;\n position: relative; /* for abs-positioned elements within */\n }\n.fc .fc-scroller-liquid {\n height: 100%;\n }\n.fc .fc-scroller-liquid-absolute {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n }\n.fc .fc-scroller-harness {\n position: relative;\n overflow: hidden;\n direction: ltr;\n /* hack for chrome computing the scroller\'s right/left wrong for rtl. undone below... */\n /* TODO: demonstrate in codepen */\n }\n.fc .fc-scroller-harness-liquid {\n height: 100%;\n }\n.fc-direction-rtl .fc-scroller-harness > .fc-scroller { /* undo above hack */\n direction: rtl;\n }\n.fc-theme-standard .fc-scrollgrid {\n border: 1px solid #ddd;\n border: 1px solid var(--fc-border-color, #ddd); /* bootstrap does this. match */\n }\n.fc .fc-scrollgrid,\n .fc .fc-scrollgrid table { /* all tables (self included) */\n width: 100%; /* because tables don\'t normally do this */\n table-layout: fixed;\n }\n.fc .fc-scrollgrid table { /* inner tables */\n border-top-style: hidden;\n border-left-style: hidden;\n border-right-style: hidden;\n }\n.fc .fc-scrollgrid {\n\n border-collapse: separate;\n border-right-width: 0;\n border-bottom-width: 0;\n\n }\n.fc .fc-scrollgrid-liquid {\n height: 100%;\n }\n.fc .fc-scrollgrid-section { /* a <tr> */\n height: 1px /* better than 0, for firefox */\n\n }\n.fc .fc-scrollgrid-section > td {\n height: 1px; /* needs a height so inner div within grow. better than 0, for firefox */\n }\n.fc .fc-scrollgrid-section table {\n height: 1px;\n /* for most browsers, if a height isn\'t set on the table, can\'t do liquid-height within cells */\n /* serves as a min-height. harmless */\n }\n.fc .fc-scrollgrid-section-liquid > td {\n height: 100%; /* better than `auto`, for firefox */\n }\n.fc .fc-scrollgrid-section > * {\n border-top-width: 0;\n border-left-width: 0;\n }\n.fc .fc-scrollgrid-section-header > *,\n .fc .fc-scrollgrid-section-footer > * {\n border-bottom-width: 0;\n }\n.fc .fc-scrollgrid-section-body table,\n .fc .fc-scrollgrid-section-footer table {\n border-bottom-style: hidden; /* head keeps its bottom border tho */\n }\n.fc {\n\n /* stickiness */\n\n}\n.fc .fc-scrollgrid-section-sticky > * {\n background: #fff;\n background: var(--fc-page-bg-color, #fff);\n position: sticky;\n z-index: 3; /* TODO: var */\n /* TODO: box-shadow when sticking */\n }\n.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky > * {\n top: 0; /* because border-sharing causes a gap at the top */\n /* TODO: give safari -1. has bug */\n }\n.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky > * {\n bottom: 0; /* known bug: bottom-stickiness doesn\'t work in safari */\n }\n.fc .fc-scrollgrid-sticky-shim { /* for horizontal scrollbar */\n height: 1px; /* needs height to create scrollbars */\n margin-bottom: -1px;\n }\n.fc-sticky { /* no .fc wrap because used as child of body */\n position: sticky;\n}\n.fc .fc-view-harness {\n flex-grow: 1; /* because this harness is WITHIN the .fc\'s flexbox */\n position: relative;\n }\n.fc {\n\n /* when the harness controls the height, make the view liquid */\n\n}\n.fc .fc-view-harness-active > .fc-view {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n.fc .fc-col-header-cell-cushion {\n display: inline-block; /* x-browser for when sticky (when multi-tier header) */\n padding: 2px 4px;\n }\n.fc .fc-bg-event,\n .fc .fc-non-business,\n .fc .fc-highlight {\n /* will always have a harness with position:relative/absolute, so absolutely expand */\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n.fc .fc-non-business {\n background: rgba(215, 215, 215, 0.3);\n background: var(--fc-non-business-color, rgba(215, 215, 215, 0.3));\n }\n.fc .fc-bg-event {\n background: rgb(143, 223, 130);\n background: var(--fc-bg-event-color, rgb(143, 223, 130));\n opacity: 0.3;\n opacity: var(--fc-bg-event-opacity, 0.3)\n }\n.fc .fc-bg-event .fc-event-title {\n margin: .5em;\n font-size: .85em;\n font-size: var(--fc-small-font-size, .85em);\n font-style: italic;\n }\n.fc .fc-highlight {\n background: rgba(188, 232, 241, 0.3);\n background: var(--fc-highlight-color, rgba(188, 232, 241, 0.3));\n }\n.fc .fc-cell-shaded,\n .fc .fc-day-disabled {\n background: rgba(208, 208, 208, 0.3);\n background: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));\n }\n/* link resets */\n/* ---------------------------------------------------------------------------------------------------- */\na.fc-event,\na.fc-event:hover {\n text-decoration: none;\n}\n/* cursor */\n.fc-event[href],\n.fc-event.fc-event-draggable {\n cursor: pointer;\n}\n/* event text content */\n/* ---------------------------------------------------------------------------------------------------- */\n.fc-event .fc-event-main {\n position: relative;\n z-index: 2;\n }\n/* dragging */\n/* ---------------------------------------------------------------------------------------------------- */\n.fc-event-dragging:not(.fc-event-selected) { /* MOUSE */\n opacity: 0.75;\n }\n.fc-event-dragging.fc-event-selected { /* TOUCH */\n box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);\n }\n/* resizing */\n/* ---------------------------------------------------------------------------------------------------- */\n/* (subclasses should hone positioning for touch and non-touch) */\n.fc-event .fc-event-resizer {\n display: none;\n position: absolute;\n z-index: 4;\n }\n.fc-event:hover, /* MOUSE */\n.fc-event-selected { /* TOUCH */\n\n}\n.fc-event:hover .fc-event-resizer, .fc-event-selected .fc-event-resizer {\n display: block;\n }\n.fc-event-selected .fc-event-resizer {\n border-radius: 4px;\n border-radius: calc(var(--fc-event-resizer-dot-total-width, 8px) / 2);\n border-width: 1px;\n border-width: var(--fc-event-resizer-dot-border-width, 1px);\n width: 8px;\n width: var(--fc-event-resizer-dot-total-width, 8px);\n height: 8px;\n height: var(--fc-event-resizer-dot-total-width, 8px);\n border-style: solid;\n border-color: inherit;\n background: #fff;\n background: var(--fc-page-bg-color, #fff)\n\n /* expand hit area */\n\n }\n.fc-event-selected .fc-event-resizer:before {\n content: \'\';\n position: absolute;\n top: -20px;\n left: -20px;\n right: -20px;\n bottom: -20px;\n }\n/* selecting (always TOUCH) */\n/* OR, focused by tab-index */\n/* (TODO: maybe not the best focus-styling for .fc-daygrid-dot-event) */\n/* ---------------------------------------------------------------------------------------------------- */\n.fc-event-selected,\n.fc-event:focus {\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2)\n\n /* expand hit area (subclasses should expand) */\n\n}\n.fc-event-selected:before, .fc-event:focus:before {\n content: "";\n position: absolute;\n z-index: 3;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n.fc-event-selected,\n.fc-event:focus {\n\n /* dimmer effect */\n\n}\n.fc-event-selected:after, .fc-event:focus:after {\n content: "";\n background: rgba(0, 0, 0, 0.25);\n background: var(--fc-event-selected-overlay-color, rgba(0, 0, 0, 0.25));\n position: absolute;\n z-index: 1;\n\n /* assume there\'s a border on all sides. overcome it. */\n /* sometimes there\'s NOT a border, in which case the dimmer will go over */\n /* an adjacent border, which looks fine. */\n top: -1px;\n left: -1px;\n right: -1px;\n bottom: -1px;\n }\n/*\nA HORIZONTAL event\n*/\n.fc-h-event { /* allowed to be top-level */\n display: block;\n border: 1px solid #3788d8;\n border: 1px solid var(--fc-event-border-color, #3788d8);\n background-color: #3788d8;\n background-color: var(--fc-event-bg-color, #3788d8)\n\n}\n.fc-h-event .fc-event-main {\n color: #fff;\n color: var(--fc-event-text-color, #fff);\n }\n.fc-h-event .fc-event-main-frame {\n display: flex; /* for make fc-event-title-container expand */\n }\n.fc-h-event .fc-event-time {\n max-width: 100%; /* clip overflow on this element */\n overflow: hidden;\n }\n.fc-h-event .fc-event-title-container { /* serves as a container for the sticky cushion */\n flex-grow: 1;\n flex-shrink: 1;\n min-width: 0; /* important for allowing to shrink all the way */\n }\n.fc-h-event .fc-event-title {\n display: inline-block; /* need this to be sticky cross-browser */\n vertical-align: top; /* for not messing up line-height */\n left: 0; /* for sticky */\n right: 0; /* for sticky */\n max-width: 100%; /* clip overflow on this element */\n overflow: hidden;\n }\n.fc-h-event.fc-event-selected:before {\n /* expand hit area */\n top: -10px;\n bottom: -10px;\n }\n/* adjust border and border-radius (if there is any) for non-start/end */\n.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),\n.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-left-width: 0;\n}\n.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),\n.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right-width: 0;\n}\n/* resizers */\n.fc-h-event:not(.fc-event-selected) .fc-event-resizer {\n top: 0;\n bottom: 0;\n width: 8px;\n width: var(--fc-event-resizer-thickness, 8px);\n}\n.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,\n.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end {\n cursor: w-resize;\n left: -4px;\n left: calc(-0.5 * var(--fc-event-resizer-thickness, 8px));\n}\n.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,\n.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start {\n cursor: e-resize;\n right: -4px;\n right: calc(-0.5 * var(--fc-event-resizer-thickness, 8px));\n}\n/* resizers for TOUCH */\n.fc-h-event.fc-event-selected .fc-event-resizer {\n top: 50%;\n margin-top: -4px;\n margin-top: calc(-0.5 * var(--fc-event-resizer-dot-total-width, 8px));\n}\n.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,\n.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end {\n left: -4px;\n left: calc(-0.5 * var(--fc-event-resizer-dot-total-width, 8px));\n}\n.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,\n.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start {\n right: -4px;\n right: calc(-0.5 * var(--fc-event-resizer-dot-total-width, 8px));\n}\n.fc .fc-popover {\n position: absolute;\n z-index: 9999;\n box-shadow: 0 2px 6px rgba(0,0,0,.15);\n }\n.fc .fc-popover-header {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n padding: 3px 4px;\n }\n.fc .fc-popover-title {\n margin: 0 2px;\n }\n.fc .fc-popover-close {\n cursor: pointer;\n opacity: 0.65;\n font-size: 1.1em;\n }\n.fc-theme-standard .fc-popover {\n border: 1px solid #ddd;\n border: 1px solid var(--fc-border-color, #ddd);\n background: #fff;\n background: var(--fc-page-bg-color, #fff);\n }\n.fc-theme-standard .fc-popover-header {\n background: rgba(208, 208, 208, 0.3);\n background: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));\n }\n');class ge{constructor(e,t){this.context=e,this.internalEventSource=t}remove(){this.context.dispatch({type:"REMOVE_EVENT_SOURCE",sourceId:this.internalEventSource.sourceId})}refetch(){this.context.dispatch({type:"FETCH_EVENT_SOURCES",sourceIds:[this.internalEventSource.sourceId],isRefetch:!0})}get id(){return this.internalEventSource.publicId}get url(){return this.internalEventSource.meta.url}get format(){return this.internalEventSource.meta.format}}var me=function(){return(me=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function ve(e){e.parentNode&&e.parentNode.removeChild(e)}function be(e,t){if(e.closest)return e.closest(t);if(!document.documentElement.contains(e))return null;do{if(ye(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null}function ye(e,t){return(e.matches||e.matchesSelector||e.msMatchesSelector).call(e,t)}function Ee(e,t){let n=e instanceof HTMLElement?[e]:e,r=[];for(let e=0;e<n.length;e+=1){let i=n[e].querySelectorAll(t);for(let e=0;e<i.length;e+=1)r.push(i[e])}return r}const De=/(top|left|right|bottom|width|height)$/i;function we(e,t){for(let n in t)Ae(e,n,t[n])}function Ae(e,t,n){null==n?e.style[t]="":"number"==typeof n&&De.test(t)?e.style[t]=`${n}px`:e.style[t]=n}function Se(e){var t,n;return null!==(n=null===(t=e.composedPath)||void 0===t?void 0:t.call(e)[0])&&void 0!==n?n:e.target}function Ce(e){return e.getRootNode?e.getRootNode():document}let xe=0;function Re(){return xe+=1,"fc-dom-"+xe}function ke(e){e.preventDefault()}function Te(e,t,n,r){let i=function(e,t){return n=>{let r=be(n.target,e);r&&t.call(r,n,r)}}(n,r);return e.addEventListener(t,i),()=>{e.removeEventListener(t,i)}}const _e=["webkitTransitionEnd","otransitionend","oTransitionEnd","msTransitionEnd","transitionend"];function Me(e,t){let n=r=>{t(r),_e.forEach((t=>{e.removeEventListener(t,n)}))};_e.forEach((t=>{e.addEventListener(t,n)}))}function Ie(e){return Object.assign({onClick:e},Oe(e))}function Oe(e){return{tabIndex:0,onKeyDown(t){"Enter"!==t.key&&" "!==t.key||(e(t),t.preventDefault())}}}let Ne=0;function Pe(){return Ne+=1,String(Ne)}function He(){document.body.classList.add("fc-not-allowed")}function Be(){document.body.classList.remove("fc-not-allowed")}function je(e){e.classList.add("fc-unselectable"),e.addEventListener("selectstart",ke)}function ze(e){e.classList.remove("fc-unselectable"),e.removeEventListener("selectstart",ke)}function Ue(e){e.addEventListener("contextmenu",ke)}function Le(e){e.removeEventListener("contextmenu",ke)}function Fe(e){let t,n,r=[],i=[];for("string"==typeof e?i=e.split(/\s*,\s*/):"function"==typeof e?i=[e]:Array.isArray(e)&&(i=e),t=0;t<i.length;t+=1)n=i[t],"string"==typeof n?r.push("-"===n.charAt(0)?{field:n.substring(1),order:-1}:{field:n,order:1}):"function"==typeof n&&r.push({func:n});return r}function We(e,t,n){let r,i;for(r=0;r<n.length;r+=1)if(i=Ve(e,t,n[r]),i)return i;return 0}function Ve(e,t,n){return n.func?n.func(e,t):Ge(e[n.field],t[n.field])*(n.order||1)}function Ge(e,t){return e||t?null==t?-1:null==e?1:"string"==typeof e||"string"==typeof t?String(e).localeCompare(String(t)):e-t:0}function Qe(e,t){let n=String(e);return"000".substr(0,t-n.length)+n}function Ye(e,t,n){return"function"==typeof e?e(...t):"string"==typeof e?t.reduce(((e,t,n)=>e.replace("$"+n,t||"")),e):n}function qe(e,t){return e-t}function Ze(e){return e%1==0}function Xe(e){let t=e.querySelector(".fc-scrollgrid-shrink-frame"),n=e.querySelector(".fc-scrollgrid-shrink-cushion");if(!t)throw new Error("needs fc-scrollgrid-shrink-frame className");if(!n)throw new Error("needs fc-scrollgrid-shrink-cushion className");return e.getBoundingClientRect().width-t.getBoundingClientRect().width+n.getBoundingClientRect().width}const $e=["sun","mon","tue","wed","thu","fri","sat"];function Je(e,t){let n=ut(e);return n[2]+=7*t,ht(n)}function Ke(e,t){let n=ut(e);return n[2]+=t,ht(n)}function et(e,t){let n=ut(e);return n[6]+=t,ht(n)}function tt(e,t){return nt(e,t)/7}function nt(e,t){return(t.valueOf()-e.valueOf())/864e5}function rt(e,t){let n=ot(e),r=ot(t);return{years:0,months:0,days:Math.round(nt(n,r)),milliseconds:t.valueOf()-r.valueOf()-(e.valueOf()-n.valueOf())}}function it(e,t){let n=st(e,t);return null!==n&&n%7==0?n/7:null}function st(e,t){return pt(e)===pt(t)?Math.round(nt(e,t)):null}function ot(e){return ht([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()])}function at(e,t,n,r){let i=ht([t,0,1+lt(t,n,r)]),s=ot(e),o=Math.round(nt(i,s));return Math.floor(o/7)+1}function lt(e,t,n){let r=7+t-n;return-((7+ht([e,0,r]).getUTCDay()-t)%7)+r-1}function ct(e){return[e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()]}function dt(e){return new Date(e[0],e[1]||0,null==e[2]?1:e[2],e[3]||0,e[4]||0,e[5]||0)}function ut(e){return[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()]}function ht(e){return 1===e.length&&(e=e.concat([0])),new Date(Date.UTC(...e))}function ft(e){return!isNaN(e.valueOf())}function pt(e){return 1e3*e.getUTCHours()*60*60+1e3*e.getUTCMinutes()*60+1e3*e.getUTCSeconds()+e.getUTCMilliseconds()}function gt(e,t,n,r){return{instanceId:Pe(),defId:e,range:t,forcedStartTzo:null==n?null:n,forcedEndTzo:null==r?null:r}}const{hasOwnProperty:mt}=Object.prototype;function vt(e,t){let n={};if(t)for(let r in t){let t=[];for(let i=e.length-1;i>=0;i-=1){let s=e[i][r];if("object"==typeof s&&s)t.unshift(s);else if(void 0!==s){n[r]=s;break}}t.length&&(n[r]=vt(t))}for(let t=e.length-1;t>=0;t-=1){let r=e[t];for(let e in r)e in n||(n[e]=r[e])}return n}function bt(e,t){let n={};for(let r in e)t(e[r],r)&&(n[r]=e[r]);return n}function yt(e,t){let n={};for(let r in e)n[r]=t(e[r],r);return n}function Et(e){let t={};for(let n of e)t[n]=!0;return t}function Dt(e){let t=[];for(let n in e)t.push(e[n]);return t}function wt(e,t){if(e===t)return!0;for(let n in e)if(mt.call(e,n)&&!(n in t))return!1;for(let n in t)if(mt.call(t,n)&&e[n]!==t[n])return!1;return!0}function At(e,t){let n=[];for(let r in e)mt.call(e,r)&&(r in t||n.push(r));for(let r in t)mt.call(t,r)&&e[r]!==t[r]&&n.push(r);return n}function St(e,t,n={}){if(e===t)return!0;for(let r in t)if(!(r in e)||!Ct(e[r],t[r],n[r]))return!1;for(let n in e)if(!(n in t))return!1;return!0}function Ct(e,t,n){return e===t||!0===n||!!n&&n(e,t)}function xt(e,t=0,n,r=1){let i=[];null==n&&(n=Object.keys(e).length);for(let s=t;s<n;s+=r){let t=e[s];void 0!==t&&i.push(t)}return i}function Rt(e,t,n){let{dateEnv:r,pluginHooks:i,options:s}=n,{defs:o,instances:a}=e;a=bt(a,(e=>!o[e.defId].recurringDef));for(let e in o){let n=o[e];if(n.recurringDef){let{duration:o}=n.recurringDef;o||(o=n.allDay?s.defaultAllDayEventDuration:s.defaultTimedEventDuration);let l=kt(n,o,t,r,i.recurringTypes);for(let t of l){let n=gt(e,{start:t,end:r.add(t,o)});a[n.instanceId]=n}}}return{defs:o,instances:a}}function kt(e,t,n,r,i){let s=i[e.recurringDef.typeId].expand(e.recurringDef.typeData,{start:r.subtract(n.start,t),end:n.end},r);return e.allDay&&(s=s.map(ot)),s}const Tt=["years","months","days","milliseconds"],_t=/^(-?)(?:(\d+)\.)?(\d+):(\d\d)(?::(\d\d)(?:\.(\d\d\d))?)?/;function Mt(e,t){return"string"==typeof e?function(e){let t=_t.exec(e);if(t){let e=t[1]?-1:1;return{years:0,months:0,days:e*(t[2]?parseInt(t[2],10):0),milliseconds:e*(60*(t[3]?parseInt(t[3],10):0)*60*1e3+60*(t[4]?parseInt(t[4],10):0)*1e3+1e3*(t[5]?parseInt(t[5],10):0)+(t[6]?parseInt(t[6],10):0))}}return null}(e):"object"==typeof e&&e?It(e):"number"==typeof e?It({[t||"milliseconds"]:e}):null}function It(e){let t={years:e.years||e.year||0,months:e.months||e.month||0,days:e.days||e.day||0,milliseconds:60*(e.hours||e.hour||0)*60*1e3+60*(e.minutes||e.minute||0)*1e3+1e3*(e.seconds||e.second||0)+(e.milliseconds||e.millisecond||e.ms||0)},n=e.weeks||e.week;return n&&(t.days+=7*n,t.specifiedWeeks=!0),t}function Ot(e,t){return{years:e.years+t.years,months:e.months+t.months,days:e.days+t.days,milliseconds:e.milliseconds+t.milliseconds}}function Nt(e,t){return{years:e.years*t,months:e.months*t,days:e.days*t,milliseconds:e.milliseconds*t}}function Pt(e){return Ht(e)/864e5}function Ht(e){return 31536e6*e.years+2592e6*e.months+864e5*e.days+e.milliseconds}function Bt(e,t){let n=null;for(let r=0;r<Tt.length;r+=1){let i=Tt[r];if(t[i]){let r=e[i]/t[i];if(!Ze(r)||null!==n&&n!==r)return null;n=r}else if(e[i])return null}return n}function jt(e){let t=e.milliseconds;if(t){if(t%1e3!=0)return{unit:"millisecond",value:t};if(t%6e4!=0)return{unit:"second",value:t/1e3};if(t%36e5!=0)return{unit:"minute",value:t/6e4};if(t)return{unit:"hour",value:t/36e5}}return e.days?e.specifiedWeeks&&e.days%7==0?{unit:"week",value:e.days/7}:{unit:"day",value:e.days}:e.months?{unit:"month",value:e.months}:e.years?{unit:"year",value:e.years}:{unit:"millisecond",value:0}}function zt(e,t,n=!1){let r=e.toISOString();return r=r.replace(".000",""),n&&(r=r.replace("T00:00:00Z","")),r.length>10&&(null==t?r=r.replace("Z",""):0!==t&&(r=r.replace("Z",Ft(t,!0)))),r}function Ut(e){return e.toISOString().replace(/T.*$/,"")}function Lt(e){return Qe(e.getUTCHours(),2)+":"+Qe(e.getUTCMinutes(),2)+":"+Qe(e.getUTCSeconds(),2)}function Ft(e,t=!1){let n=e<0?"-":"+",r=Math.abs(e),i=Math.floor(r/60),s=Math.round(r%60);return t?`${n+Qe(i,2)}:${Qe(s,2)}`:`GMT${n}${i}${s?`:${Qe(s,2)}`:""}`}function Wt(e,t,n){if(e===t)return!0;let r,i=e.length;if(i!==t.length)return!1;for(r=0;r<i;r+=1)if(!(n?n(e[r],t[r]):e[r]===t[r]))return!1;return!0}function Vt(e,t,n){let r,i;return function(...s){if(r){if(!Wt(r,s)){n&&n(i);let r=e.apply(this,s);t&&t(r,i)||(i=r)}}else i=e.apply(this,s);return r=s,i}}function Gt(e,t,n){let r,i;return s=>{if(r){if(!wt(r,s)){n&&n(i);let r=e.call(this,s);t&&t(r,i)||(i=r)}}else i=e.call(this,s);return r=s,i}}const Qt={week:3,separator:0,omitZeroMinute:0,meridiem:0,omitCommas:0},Yt={timeZoneName:7,era:6,year:5,month:4,day:2,weekday:2,hour:1,minute:1,second:1},qt=/\s*([ap])\.?m\.?/i,Zt=/,/g,Xt=/\s+/g,$t=/\u200e/g,Jt=/UTC|GMT/;class Kt{constructor(e){let t={},n={},r=0;for(let i in e)i in Qt?(n[i]=e[i],r=Math.max(Qt[i],r)):(t[i]=e[i],i in Yt&&(r=Math.max(Yt[i],r)));this.standardDateProps=t,this.extendedSettings=n,this.severity=r,this.buildFormattingFunc=Vt(en)}format(e,t){return this.buildFormattingFunc(this.standardDateProps,this.extendedSettings,t)(e)}formatRange(e,t,n,r){let{standardDateProps:i,extendedSettings:s}=this,o=function(e,t,n){if(n.getMarkerYear(e)!==n.getMarkerYear(t))return 5;if(n.getMarkerMonth(e)!==n.getMarkerMonth(t))return 4;if(n.getMarkerDay(e)!==n.getMarkerDay(t))return 2;if(pt(e)!==pt(t))return 1;return 0}(e.marker,t.marker,n.calendarSystem);if(!o)return this.format(e,n);let a=o;!(a>1)||"numeric"!==i.year&&"2-digit"!==i.year||"numeric"!==i.month&&"2-digit"!==i.month||"numeric"!==i.day&&"2-digit"!==i.day||(a=1);let l=this.format(e,n),c=this.format(t,n);if(l===c)return l;let d=en(function(e,t){let n={};for(let r in e)(!(r in Yt)||Yt[r]<=t)&&(n[r]=e[r]);return n}(i,a),s,n),u=d(e),h=d(t),f=function(e,t,n,r){let i=0;for(;i<e.length;){let s=e.indexOf(t,i);if(-1===s)break;let o=e.substr(0,s);i=s+t.length;let a=e.substr(i),l=0;for(;l<n.length;){let e=n.indexOf(r,l);if(-1===e)break;let t=n.substr(0,e);l=e+r.length;let i=n.substr(l);if(o===t&&a===i)return{before:o,after:a}}}return null}(l,u,c,h),p=s.separator||r||n.defaultSeparator||"";return f?f.before+u+p+h+f.after:l+p+c}getLargestUnit(){switch(this.severity){case 7:case 6:case 5:return"year";case 4:return"month";case 3:return"week";case 2:return"day";default:return"time"}}}function en(e,t,n){let r=Object.keys(e).length;return 1===r&&"short"===e.timeZoneName?e=>Ft(e.timeZoneOffset):0===r&&t.week?e=>function(e,t,n,r,i){let s=[];"long"===i?s.push(n):"short"!==i&&"narrow"!==i||s.push(t);"long"!==i&&"short"!==i||s.push(" ");s.push(r.simpleNumberFormat.format(e)),"rtl"===r.options.direction&&s.reverse();return s.join("")}(n.computeWeekNumber(e.marker),n.weekText,n.weekTextLong,n.locale,t.week):function(e,t,n){e=Object.assign({},e),t=Object.assign({},t),function(e,t){e.timeZoneName&&(e.hour||(e.hour="2-digit"),e.minute||(e.minute="2-digit"));"long"===e.timeZoneName&&(e.timeZoneName="short");t.omitZeroMinute&&(e.second||e.millisecond)&&delete t.omitZeroMinute}(e,t),e.timeZone="UTC";let r,i=new Intl.DateTimeFormat(n.locale.codes,e);if(t.omitZeroMinute){let t=Object.assign({},e);delete t.minute,r=new Intl.DateTimeFormat(n.locale.codes,t)}return s=>{let o,{marker:a}=s;return o=r&&!a.getUTCMinutes()?r:i,function(e,t,n,r,i){e=e.replace($t,""),"short"===n.timeZoneName&&(e=function(e,t){let n=!1;e=e.replace(Jt,(()=>(n=!0,t))),n||(e+=` ${t}`);return e}(e,"UTC"===i.timeZone||null==t.timeZoneOffset?"UTC":Ft(t.timeZoneOffset)));r.omitCommas&&(e=e.replace(Zt,"").trim());r.omitZeroMinute&&(e=e.replace(":00",""));!1===r.meridiem?e=e.replace(qt,"").trim():"narrow"===r.meridiem?e=e.replace(qt,((e,t)=>t.toLocaleLowerCase())):"short"===r.meridiem?e=e.replace(qt,((e,t)=>`${t.toLocaleLowerCase()}m`)):"lowercase"===r.meridiem&&(e=e.replace(qt,(e=>e.toLocaleLowerCase())));return e=(e=e.replace(Xt," ")).trim()}(o.format(a),s,e,t,n)}}(e,t,n)}function tn(e,t){let n=t.markerToArray(e.marker);return{marker:e.marker,timeZoneOffset:e.timeZoneOffset,array:n,year:n[0],month:n[1],day:n[2],hour:n[3],minute:n[4],second:n[5],millisecond:n[6]}}function nn(e,t,n,r){let i=tn(e,n.calendarSystem);return{date:i,start:i,end:t?tn(t,n.calendarSystem):null,timeZone:n.timeZone,localeCodes:n.locale.codes,defaultSeparator:r||n.defaultSeparator}}class rn{constructor(e){this.cmdStr=e}format(e,t,n){return t.cmdFormatter(this.cmdStr,nn(e,null,t,n))}formatRange(e,t,n,r){return n.cmdFormatter(this.cmdStr,nn(e,t,n,r))}}class sn{constructor(e){this.func=e}format(e,t,n){return this.func(nn(e,null,t,n))}formatRange(e,t,n,r){return this.func(nn(e,t,n,r))}}function on(e){return"object"==typeof e&&e?new Kt(e):"string"==typeof e?new rn(e):"function"==typeof e?new sn(e):null}const an={navLinkDayClick:mn,navLinkWeekClick:mn,duration:Mt,bootstrapFontAwesome:mn,buttonIcons:mn,customButtons:mn,defaultAllDayEventDuration:Mt,defaultTimedEventDuration:Mt,nextDayThreshold:Mt,scrollTime:Mt,scrollTimeReset:Boolean,slotMinTime:Mt,slotMaxTime:Mt,dayPopoverFormat:on,slotDuration:Mt,snapDuration:Mt,headerToolbar:mn,footerToolbar:mn,defaultRangeSeparator:String,titleRangeSeparator:String,forceEventDuration:Boolean,dayHeaders:Boolean,dayHeaderFormat:on,dayHeaderClassNames:mn,dayHeaderContent:mn,dayHeaderDidMount:mn,dayHeaderWillUnmount:mn,dayCellClassNames:mn,dayCellContent:mn,dayCellDidMount:mn,dayCellWillUnmount:mn,initialView:String,aspectRatio:Number,weekends:Boolean,weekNumberCalculation:mn,weekNumbers:Boolean,weekNumberClassNames:mn,weekNumberContent:mn,weekNumberDidMount:mn,weekNumberWillUnmount:mn,editable:Boolean,viewClassNames:mn,viewDidMount:mn,viewWillUnmount:mn,nowIndicator:Boolean,nowIndicatorClassNames:mn,nowIndicatorContent:mn,nowIndicatorDidMount:mn,nowIndicatorWillUnmount:mn,showNonCurrentDates:Boolean,lazyFetching:Boolean,startParam:String,endParam:String,timeZoneParam:String,timeZone:String,locales:mn,locale:mn,themeSystem:String,dragRevertDuration:Number,dragScroll:Boolean,allDayMaintainDuration:Boolean,unselectAuto:Boolean,dropAccept:mn,eventOrder:Fe,eventOrderStrict:Boolean,handleWindowResize:Boolean,windowResizeDelay:Number,longPressDelay:Number,eventDragMinDistance:Number,expandRows:Boolean,height:mn,contentHeight:mn,direction:String,weekNumberFormat:on,eventResizableFromStart:Boolean,displayEventTime:Boolean,displayEventEnd:Boolean,weekText:String,weekTextLong:String,progressiveEventRendering:Boolean,businessHours:mn,initialDate:mn,now:mn,eventDataTransform:mn,stickyHeaderDates:mn,stickyFooterScrollbar:mn,viewHeight:mn,defaultAllDay:Boolean,eventSourceFailure:mn,eventSourceSuccess:mn,eventDisplay:String,eventStartEditable:Boolean,eventDurationEditable:Boolean,eventOverlap:mn,eventConstraint:mn,eventAllow:mn,eventBackgroundColor:String,eventBorderColor:String,eventTextColor:String,eventColor:String,eventClassNames:mn,eventContent:mn,eventDidMount:mn,eventWillUnmount:mn,selectConstraint:mn,selectOverlap:mn,selectAllow:mn,droppable:Boolean,unselectCancel:String,slotLabelFormat:mn,slotLaneClassNames:mn,slotLaneContent:mn,slotLaneDidMount:mn,slotLaneWillUnmount:mn,slotLabelClassNames:mn,slotLabelContent:mn,slotLabelDidMount:mn,slotLabelWillUnmount:mn,dayMaxEvents:mn,dayMaxEventRows:mn,dayMinWidth:Number,slotLabelInterval:Mt,allDayText:String,allDayClassNames:mn,allDayContent:mn,allDayDidMount:mn,allDayWillUnmount:mn,slotMinWidth:Number,navLinks:Boolean,eventTimeFormat:on,rerenderDelay:Number,moreLinkText:mn,moreLinkHint:mn,selectMinDistance:Number,selectable:Boolean,selectLongPressDelay:Number,eventLongPressDelay:Number,selectMirror:Boolean,eventMaxStack:Number,eventMinHeight:Number,eventMinWidth:Number,eventShortHeight:Number,slotEventOverlap:Boolean,plugins:mn,firstDay:Number,dayCount:Number,dateAlignment:String,dateIncrement:Mt,hiddenDays:mn,monthMode:Boolean,fixedWeekCount:Boolean,validRange:mn,visibleRange:mn,titleFormat:mn,eventInteractive:Boolean,noEventsText:String,viewHint:mn,navLinkHint:mn,closeHint:String,timeHint:String,eventHint:String,moreLinkClick:mn,moreLinkClassNames:mn,moreLinkContent:mn,moreLinkDidMount:mn,moreLinkWillUnmount:mn},ln={eventDisplay:"auto",defaultRangeSeparator:" - ",titleRangeSeparator:" – ",defaultTimedEventDuration:"01:00:00",defaultAllDayEventDuration:{day:1},forceEventDuration:!1,nextDayThreshold:"00:00:00",dayHeaders:!0,initialView:"",aspectRatio:1.35,headerToolbar:{start:"title",center:"",end:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberCalculation:"local",editable:!1,nowIndicator:!1,scrollTime:"06:00:00",scrollTimeReset:!0,slotMinTime:"00:00:00",slotMaxTime:"24:00:00",showNonCurrentDates:!0,lazyFetching:!0,startParam:"start",endParam:"end",timeZoneParam:"timeZone",timeZone:"local",locales:[],locale:"",themeSystem:"standard",dragRevertDuration:500,dragScroll:!0,allDayMaintainDuration:!1,unselectAuto:!0,dropAccept:"*",eventOrder:"start,-duration,allDay,title",dayPopoverFormat:{month:"long",day:"numeric",year:"numeric"},handleWindowResize:!0,windowResizeDelay:100,longPressDelay:1e3,eventDragMinDistance:5,expandRows:!1,navLinks:!1,selectable:!1,eventMinHeight:15,eventMinWidth:30,eventShortHeight:30},cn={datesSet:mn,eventsSet:mn,eventAdd:mn,eventChange:mn,eventRemove:mn,windowResize:mn,eventClick:mn,eventMouseEnter:mn,eventMouseLeave:mn,select:mn,unselect:mn,loading:mn,_unmount:mn,_beforeprint:mn,_afterprint:mn,_noEventDrop:mn,_noEventResize:mn,_resize:mn,_scrollRequest:mn},dn={buttonText:mn,buttonHints:mn,views:mn,plugins:mn,initialEvents:mn,events:mn,eventSources:mn},un={headerToolbar:hn,footerToolbar:hn,buttonText:hn,buttonHints:hn,buttonIcons:hn,dateIncrement:hn};function hn(e,t){return"object"==typeof e&&"object"==typeof t&&e&&t?wt(e,t):e===t}const fn={type:String,component:mn,buttonText:String,buttonTextKey:String,dateProfileGeneratorClass:mn,usesMinMaxTime:Boolean,classNames:mn,content:mn,didMount:mn,willUnmount:mn};function pn(e){return vt(e,un)}function gn(e,t){let n={},r={};for(let r in t)r in e&&(n[r]=t[r](e[r]));for(let n in e)n in t||(r[n]=e[n]);return{refined:n,extra:r}}function mn(e){return e}function vn(e,t,n,r){let i={defs:{},instances:{}},s=Nn(n);for(let o of e){let e=In(o,t,n,r,s);e&&bn(e,i)}return i}function bn(e,t={defs:{},instances:{}}){return t.defs[e.def.defId]=e.def,e.instance&&(t.instances[e.instance.instanceId]=e.instance),t}function yn(e,t){let n=e.instances[t];if(n){let t=e.defs[n.defId],r=wn(e,(e=>{return n=t,r=e,Boolean(n.groupId&&n.groupId===r.groupId);var n,r}));return r.defs[t.defId]=t,r.instances[n.instanceId]=n,r}return{defs:{},instances:{}}}function En(){return{defs:{},instances:{}}}function Dn(e,t){return{defs:Object.assign(Object.assign({},e.defs),t.defs),instances:Object.assign(Object.assign({},e.instances),t.instances)}}function wn(e,t){let n=bt(e.defs,t),r=bt(e.instances,(e=>n[e.defId]));return{defs:n,instances:r}}function An(e){return Array.isArray(e)?e:"string"==typeof e?e.split(/\s+/):[]}const Sn={display:String,editable:Boolean,startEditable:Boolean,durationEditable:Boolean,constraint:mn,overlap:mn,allow:mn,className:An,classNames:An,color:String,backgroundColor:String,borderColor:String,textColor:String},Cn={display:null,startEditable:null,durationEditable:null,constraints:[],overlap:null,allows:[],backgroundColor:"",borderColor:"",textColor:"",classNames:[]};function xn(e,t){let n=function(e,t){return Array.isArray(e)?vn(e,null,t,!0):"object"==typeof e&&e?vn([e],null,t,!0):null!=e?String(e):null}(e.constraint,t);return{display:e.display||null,startEditable:null!=e.startEditable?e.startEditable:e.editable,durationEditable:null!=e.durationEditable?e.durationEditable:e.editable,constraints:null!=n?[n]:[],overlap:null!=e.overlap?e.overlap:null,allows:null!=e.allow?[e.allow]:[],backgroundColor:e.backgroundColor||e.color||"",borderColor:e.borderColor||e.color||"",textColor:e.textColor||"",classNames:(e.className||[]).concat(e.classNames||[])}}function Rn(e){return e.reduce(kn,Cn)}function kn(e,t){return{display:null!=t.display?t.display:e.display,startEditable:null!=t.startEditable?t.startEditable:e.startEditable,durationEditable:null!=t.durationEditable?t.durationEditable:e.durationEditable,constraints:e.constraints.concat(t.constraints),overlap:"boolean"==typeof t.overlap?t.overlap:e.overlap,allows:e.allows.concat(t.allows),backgroundColor:t.backgroundColor||e.backgroundColor,borderColor:t.borderColor||e.borderColor,textColor:t.textColor||e.textColor,classNames:e.classNames.concat(t.classNames)}}const Tn={id:String,groupId:String,title:String,url:String,interactive:Boolean},_n={start:mn,end:mn,date:mn,allDay:Boolean},Mn=Object.assign(Object.assign(Object.assign({},Tn),_n),{extendedProps:mn});function In(e,t,n,r,i=Nn(n)){let{refined:s,extra:o}=On(e,n,i),a=function(e,t){let n=null;e&&(n=e.defaultAllDay);null==n&&(n=t.options.defaultAllDay);return n}(t,n),l=function(e,t,n,r){for(let i=0;i<r.length;i+=1){let s=r[i].parse(e,n);if(s){let{allDay:n}=e;return null==n&&(n=t,null==n&&(n=s.allDayGuess,null==n&&(n=!1))),{allDay:n,duration:s.duration,typeData:s.typeData,typeId:i}}}return null}(s,a,n.dateEnv,n.pluginHooks.recurringTypes);if(l){let e=Pn(s,o,t?t.sourceId:"",l.allDay,Boolean(l.duration),n);return e.recurringDef={typeId:l.typeId,typeData:l.typeData,duration:l.duration},{def:e,instance:null}}let c=function(e,t,n,r){let i,s,{allDay:o}=e,a=null,l=!1,c=null,d=null!=e.start?e.start:e.date;if(i=n.dateEnv.createMarkerMeta(d),i)a=i.marker;else if(!r)return null;null!=e.end&&(s=n.dateEnv.createMarkerMeta(e.end));null==o&&(o=null!=t?t:(!i||i.isTimeUnspecified)&&(!s||s.isTimeUnspecified));o&&a&&(a=ot(a));s&&(c=s.marker,o&&(c=ot(c)),a&&c<=a&&(c=null));c?l=!0:r||(l=n.options.forceEventDuration||!1,c=n.dateEnv.add(a,o?n.options.defaultAllDayEventDuration:n.options.defaultTimedEventDuration));return{allDay:o,hasEnd:l,range:{start:a,end:c},forcedStartTzo:i?i.forcedTzo:null,forcedEndTzo:s?s.forcedTzo:null}}(s,a,n,r);if(c){let e=Pn(s,o,t?t.sourceId:"",c.allDay,c.hasEnd,n);return{def:e,instance:gt(e.defId,c.range,c.forcedStartTzo,c.forcedEndTzo)}}return null}function On(e,t,n=Nn(t)){return gn(e,n)}function Nn(e){return Object.assign(Object.assign(Object.assign({},Sn),Mn),e.pluginHooks.eventRefiners)}function Pn(e,t,n,r,i,s){let o={title:e.title||"",groupId:e.groupId||"",publicId:e.id||"",url:e.url||"",recurringDef:null,defId:Pe(),sourceId:n,allDay:r,hasEnd:i,interactive:e.interactive,ui:xn(e,s),extendedProps:Object.assign(Object.assign({},e.extendedProps||{}),t)};for(let t of s.pluginHooks.eventDefMemberAdders)me(o,t(e));return Object.freeze(o.ui.classNames),Object.freeze(o.extendedProps),o}function Hn(e){let t=Math.floor(nt(e.start,e.end))||1,n=ot(e.start);return{start:n,end:Ke(n,t)}}function Bn(e,t=Mt(0)){let n=null,r=null;if(e.end){r=ot(e.end);let n=e.end.valueOf()-r.valueOf();n&&n>=Ht(t)&&(r=Ke(r,1))}return e.start&&(n=ot(e.start),r&&r<=n&&(r=Ke(n,1))),{start:n,end:r}}function jn(e){let t=Bn(e);return nt(t.start,t.end)>1}function zn(e,t,n,r){return"year"===r?Mt(n.diffWholeYears(e,t),"year"):"month"===r?Mt(n.diffWholeMonths(e,t),"month"):rt(e,t)}function Un(e,t){let n,r,i=[],{start:s}=t;for(e.sort(Ln),n=0;n<e.length;n+=1)r=e[n],r.start>s&&i.push({start:s,end:r.start}),r.end>s&&(s=r.end);return s<t.end&&i.push({start:s,end:t.end}),i}function Ln(e,t){return e.start.valueOf()-t.start.valueOf()}function Fn(e,t){let{start:n,end:r}=e,i=null;return null!==t.start&&(n=null===n?t.start:new Date(Math.max(n.valueOf(),t.start.valueOf()))),null!=t.end&&(r=null===r?t.end:new Date(Math.min(r.valueOf(),t.end.valueOf()))),(null===n||null===r||n<r)&&(i={start:n,end:r}),i}function Wn(e,t){return(null===e.start?null:e.start.valueOf())===(null===t.start?null:t.start.valueOf())&&(null===e.end?null:e.end.valueOf())===(null===t.end?null:t.end.valueOf())}function Vn(e,t){return(null===e.end||null===t.start||e.end>t.start)&&(null===e.start||null===t.end||e.start<t.end)}function Gn(e,t){return(null===e.start||null!==t.start&&t.start>=e.start)&&(null===e.end||null!==t.end&&t.end<=e.end)}function Qn(e,t){return(null===e.start||t>=e.start)&&(null===e.end||t<e.end)}function Yn(e,t,n,r){let i={},s={},o={},a=[],l=[],c=$n(e.defs,t);for(let t in e.defs){let n=e.defs[t];"inverse-background"===c[n.defId].display&&(n.groupId?(i[n.groupId]=[],o[n.groupId]||(o[n.groupId]=n)):s[t]=[])}for(let t in e.instances){let o=e.instances[t],d=e.defs[o.defId],u=c[d.defId],h=o.range,f=!d.allDay&&r?Bn(h,r):h,p=Fn(f,n);p&&("inverse-background"===u.display?d.groupId?i[d.groupId].push(p):s[o.defId].push(p):"none"!==u.display&&("background"===u.display?a:l).push({def:d,ui:u,instance:o,range:p,isStart:f.start&&f.start.valueOf()===p.start.valueOf(),isEnd:f.end&&f.end.valueOf()===p.end.valueOf()}))}for(let e in i){let t=Un(i[e],n);for(let n of t){let t=o[e],r=c[t.defId];a.push({def:t,ui:r,instance:null,range:n,isStart:!1,isEnd:!1})}}for(let t in s){let r=Un(s[t],n);for(let n of r)a.push({def:e.defs[t],ui:c[t],instance:null,range:n,isStart:!1,isEnd:!1})}return{bg:a,fg:l}}function qn(e){return"background"===e.ui.display||"inverse-background"===e.ui.display}function Zn(e,t){e.fcSeg=t}function Xn(e){return e.fcSeg||e.parentNode.fcSeg||null}function $n(e,t){return yt(e,(e=>Jn(e,t)))}function Jn(e,t){let n=[];return t[""]&&n.push(t[""]),t[e.defId]&&n.push(t[e.defId]),n.push(e.ui),Rn(n)}function Kn(e,t){let n=e.map(er);return n.sort(((e,n)=>We(e,n,t))),n.map((e=>e._seg))}function er(e){let{eventRange:t}=e,n=t.def,r=t.instance?t.instance.range:t.range,i=r.start?r.start.valueOf():0,s=r.end?r.end.valueOf():0;return Object.assign(Object.assign(Object.assign({},n.extendedProps),n),{id:n.publicId,start:i,end:s,duration:s-i,allDay:Number(n.allDay),_seg:e})}function tr(e,t){let{pluginHooks:n}=t,r=n.isDraggableTransformers,{def:i,ui:s}=e.eventRange,o=s.startEditable;for(let e of r)o=e(o,i,s,t);return o}function nr(e,t){return e.isStart&&e.eventRange.ui.durationEditable&&t.options.eventResizableFromStart}function rr(e,t){return e.isEnd&&e.eventRange.ui.durationEditable}function ir(e,t,n,r,i,s,o){let{dateEnv:a,options:l}=n,{displayEventTime:c,displayEventEnd:d}=l,u=e.eventRange.def,h=e.eventRange.instance;null==c&&(c=!1!==r),null==d&&(d=!1!==i);let f=h.range.start,p=h.range.end,g=s||e.start||e.eventRange.range.start,m=o||e.end||e.eventRange.range.end,v=ot(f).valueOf()===ot(g).valueOf(),b=ot(et(p,-1)).valueOf()===ot(et(m,-1)).valueOf();return c&&!u.allDay&&(v||b)?(g=v?f:g,m=b?p:m,d&&u.hasEnd?a.formatRange(g,m,t,{forcedStartTzo:s?null:h.forcedStartTzo,forcedEndTzo:o?null:h.forcedEndTzo}):a.format(g,t,{forcedTzo:s?null:h.forcedStartTzo})):""}function sr(e,t,n){let r=e.eventRange.range;return{isPast:r.end<(n||t.start),isFuture:r.start>=(n||t.end),isToday:t&&Qn(t,r.start)}}function or(e){let t=["fc-event"];return e.isMirror&&t.push("fc-event-mirror"),e.isDraggable&&t.push("fc-event-draggable"),(e.isStartResizable||e.isEndResizable)&&t.push("fc-event-resizable"),e.isDragging&&t.push("fc-event-dragging"),e.isResizing&&t.push("fc-event-resizing"),e.isSelected&&t.push("fc-event-selected"),e.isStart&&t.push("fc-event-start"),e.isEnd&&t.push("fc-event-end"),e.isPast&&t.push("fc-event-past"),e.isToday&&t.push("fc-event-today"),e.isFuture&&t.push("fc-event-future"),t}function ar(e){return e.instance?e.instance.instanceId:`${e.def.defId}:${e.range.start.toISOString()}`}function lr(e,t){let{def:n,instance:r}=e.eventRange,{url:i}=n;if(i)return{href:i};let{emitter:s,options:o}=t,{eventInteractive:a}=o;return null==a&&(a=n.interactive,null==a&&(a=Boolean(s.hasHandlers("eventClick")))),a?Oe((e=>{s.trigger("eventClick",{el:e.target,event:new xr(t,n,r),jsEvent:e,view:t.viewApi})})):{}}const cr={start:mn,end:mn,allDay:Boolean};function dr(e,t,n){let r=function(e,t){let{refined:n,extra:r}=gn(e,cr),i=n.start?t.createMarkerMeta(n.start):null,s=n.end?t.createMarkerMeta(n.end):null,{allDay:o}=n;null==o&&(o=i&&i.isTimeUnspecified&&(!s||s.isTimeUnspecified));return Object.assign({range:{start:i?i.marker:null,end:s?s.marker:null},allDay:o},r)}(e,t),{range:i}=r;if(!i.start)return null;if(!i.end){if(null==n)return null;i.end=t.add(i.start,n)}return r}function ur(e,t){return Wn(e.range,t.range)&&e.allDay===t.allDay&&function(e,t){for(let n in t)if("range"!==n&&"allDay"!==n&&e[n]!==t[n])return!1;for(let n in e)if(!(n in t))return!1;return!0}(e,t)}function hr(e,t,n){return Object.assign(Object.assign({},fr(e,t,n)),{timeZone:t.timeZone})}function fr(e,t,n){return{start:t.toDate(e.start),end:t.toDate(e.end),startStr:t.formatIso(e.start,{omitTime:n}),endStr:t.formatIso(e.end,{omitTime:n})}}function pr(e,t,n){n.emitter.trigger("select",Object.assign(Object.assign({},gr(e,n)),{jsEvent:t?t.origEvent:null,view:n.viewApi||n.calendarApi.view}))}function gr(e,t){let n={};for(let r of t.pluginHooks.dateSpanTransforms)me(n,r(e,t));var r,i;return me(n,(r=e,i=t.dateEnv,Object.assign(Object.assign({},fr(r.range,i,r.allDay)),{allDay:r.allDay}))),n}function mr(e,t,n){let{dateEnv:r,options:i}=n,s=t;return e?(s=ot(s),s=r.add(s,i.defaultAllDayEventDuration)):s=r.add(s,i.defaultTimedEventDuration),s}function vr(e,t,n,r){let i=$n(e.defs,t),s={defs:{},instances:{}};for(let t in e.defs){let o=e.defs[t];s.defs[t]=br(o,i[t],n,r)}for(let t in e.instances){let o=e.instances[t],a=s.defs[o.defId];s.instances[t]=yr(o,a,i[o.defId],n,r)}return s}function br(e,t,n,r){let i=n.standardProps||{};null==i.hasEnd&&t.durationEditable&&(n.startDelta||n.endDelta)&&(i.hasEnd=!0);let s=Object.assign(Object.assign(Object.assign({},e),i),{ui:Object.assign(Object.assign({},e.ui),i.ui)});n.extendedProps&&(s.extendedProps=Object.assign(Object.assign({},s.extendedProps),n.extendedProps));for(let e of r.pluginHooks.eventDefMutationAppliers)e(s,n,r);return!s.hasEnd&&r.options.forceEventDuration&&(s.hasEnd=!0),s}function yr(e,t,n,r,i){let{dateEnv:s}=i,o=r.standardProps&&!0===r.standardProps.allDay,a=r.standardProps&&!1===r.standardProps.hasEnd,l=Object.assign({},e);return o&&(l.range=Hn(l.range)),r.datesDelta&&n.startEditable&&(l.range={start:s.add(l.range.start,r.datesDelta),end:s.add(l.range.end,r.datesDelta)}),r.startDelta&&n.durationEditable&&(l.range={start:s.add(l.range.start,r.startDelta),end:l.range.end}),r.endDelta&&n.durationEditable&&(l.range={start:l.range.start,end:s.add(l.range.end,r.endDelta)}),a&&(l.range={start:l.range.start,end:mr(t.allDay,l.range.start,i)}),t.allDay&&(l.range={start:ot(l.range.start),end:ot(l.range.end)}),l.range.end<l.range.start&&(l.range.end=mr(t.allDay,l.range.start,i)),l}class Er{constructor(e,t,n){this.type=e,this.getCurrentData=t,this.dateEnv=n}get calendar(){return this.getCurrentData().calendarApi}get title(){return this.getCurrentData().viewTitle}get activeStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.start)}get activeEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.end)}get currentStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.start)}get currentEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.end)}getOption(e){return this.getCurrentData().options[e]}}const Dr={id:String,defaultAllDay:Boolean,url:String,format:String,events:mn,eventDataTransform:mn,success:mn,failure:mn};function wr(e,t,n=Ar(t)){let r;if("string"==typeof e?r={url:e}:"function"==typeof e||Array.isArray(e)?r={events:e}:"object"==typeof e&&e&&(r=e),r){let{refined:i,extra:s}=gn(r,n),o=function(e,t){let n=t.pluginHooks.eventSourceDefs;for(let t=n.length-1;t>=0;t-=1){let r=n[t].parseMeta(e);if(r)return{sourceDefId:t,meta:r}}return null}(i,t);if(o)return{_raw:e,isFetching:!1,latestFetchId:"",fetchRange:null,defaultAllDay:i.defaultAllDay,eventDataTransform:i.eventDataTransform,success:i.success,failure:i.failure,publicId:i.id||"",sourceId:Pe(),sourceDefId:o.sourceDefId,meta:o.meta,ui:xn(i,t),extendedProps:s}}return null}function Ar(e){return Object.assign(Object.assign(Object.assign({},Sn),Dr),e.pluginHooks.eventSourceRefiners)}function Sr(e,t){return"function"==typeof e&&(e=e()),null==e?t.createNowMarker():t.createMarker(e)}class Cr{getCurrentData(){return this.currentDataManager.getCurrentData()}dispatch(e){return this.currentDataManager.dispatch(e)}get view(){return this.getCurrentData().viewApi}batchRendering(e){e()}updateSize(){this.trigger("_resize",!0)}setOption(e,t){this.dispatch({type:"SET_OPTION",optionName:e,rawOptionValue:t})}getOption(e){return this.currentDataManager.currentCalendarOptionsInput[e]}getAvailableLocaleCodes(){return Object.keys(this.getCurrentData().availableRawLocales)}on(e,t){let{currentDataManager:n}=this;n.currentCalendarOptionsRefiners[e]?n.emitter.on(e,t):console.warn(`Unknown listener name '${e}'`)}off(e,t){this.currentDataManager.emitter.off(e,t)}trigger(e,...t){this.currentDataManager.emitter.trigger(e,...t)}changeView(e,t){this.batchRendering((()=>{if(this.unselect(),t)if(t.start&&t.end)this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:e}),this.dispatch({type:"SET_OPTION",optionName:"visibleRange",rawOptionValue:t});else{let{dateEnv:n}=this.getCurrentData();this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:e,dateMarker:n.createMarker(t)})}else this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:e})}))}zoomTo(e,t){let n;t=t||"day",n=this.getCurrentData().viewSpecs[t]||this.getUnitViewSpec(t),this.unselect(),n?this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:n.type,dateMarker:e}):this.dispatch({type:"CHANGE_DATE",dateMarker:e})}getUnitViewSpec(e){let t,n,{viewSpecs:r,toolbarConfig:i}=this.getCurrentData(),s=[].concat(i.header?i.header.viewsWithButtons:[],i.footer?i.footer.viewsWithButtons:[]);for(let e in r)s.push(e);for(t=0;t<s.length;t+=1)if(n=r[s[t]],n&&n.singleUnit===e)return n;return null}prev(){this.unselect(),this.dispatch({type:"PREV"})}next(){this.unselect(),this.dispatch({type:"NEXT"})}prevYear(){let e=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:e.dateEnv.addYears(e.currentDate,-1)})}nextYear(){let e=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:e.dateEnv.addYears(e.currentDate,1)})}today(){let e=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:Sr(e.calendarOptions.now,e.dateEnv)})}gotoDate(e){let t=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:t.dateEnv.createMarker(e)})}incrementDate(e){let t=this.getCurrentData(),n=Mt(e);n&&(this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:t.dateEnv.add(t.currentDate,n)}))}getDate(){let e=this.getCurrentData();return e.dateEnv.toDate(e.currentDate)}formatDate(e,t){let{dateEnv:n}=this.getCurrentData();return n.format(n.createMarker(e),on(t))}formatRange(e,t,n){let{dateEnv:r}=this.getCurrentData();return r.formatRange(r.createMarker(e),r.createMarker(t),on(n),n)}formatIso(e,t){let{dateEnv:n}=this.getCurrentData();return n.formatIso(n.createMarker(e),{omitTime:t})}select(e,t){let n;n=null==t?null!=e.start?e:{start:e,end:null}:{start:e,end:t};let r=this.getCurrentData(),i=dr(n,r.dateEnv,Mt({days:1}));i&&(this.dispatch({type:"SELECT_DATES",selection:i}),pr(i,null,r))}unselect(e){let t=this.getCurrentData();t.dateSelection&&(this.dispatch({type:"UNSELECT_DATES"}),function(e,t){t.emitter.trigger("unselect",{jsEvent:e?e.origEvent:null,view:t.viewApi||t.calendarApi.view})}(e,t))}addEvent(e,t){if(e instanceof xr){let t=e._def,n=e._instance;return this.getCurrentData().eventStore.defs[t.defId]||(this.dispatch({type:"ADD_EVENTS",eventStore:bn({def:t,instance:n})}),this.triggerEventAdd(e)),e}let n,r=this.getCurrentData();if(t instanceof ge)n=t.internalEventSource;else if("boolean"==typeof t)t&&([n]=Dt(r.eventSources));else if(null!=t){let e=this.getEventSourceById(t);if(!e)return console.warn(`Could not find an event source with ID "${t}"`),null;n=e.internalEventSource}let i=In(e,n,r,!1);if(i){let e=new xr(r,i.def,i.def.recurringDef?null:i.instance);return this.dispatch({type:"ADD_EVENTS",eventStore:bn(i)}),this.triggerEventAdd(e),e}return null}triggerEventAdd(e){let{emitter:t}=this.getCurrentData();t.trigger("eventAdd",{event:e,relatedEvents:[],revert:()=>{this.dispatch({type:"REMOVE_EVENTS",eventStore:Rr(e)})}})}getEventById(e){let t=this.getCurrentData(),{defs:n,instances:r}=t.eventStore;e=String(e);for(let i in n){let s=n[i];if(s.publicId===e){if(s.recurringDef)return new xr(t,s,null);for(let e in r){let n=r[e];if(n.defId===s.defId)return new xr(t,s,n)}}}return null}getEvents(){let e=this.getCurrentData();return kr(e.eventStore,e)}removeAllEvents(){this.dispatch({type:"REMOVE_ALL_EVENTS"})}getEventSources(){let e=this.getCurrentData(),t=e.eventSources,n=[];for(let r in t)n.push(new ge(e,t[r]));return n}getEventSourceById(e){let t=this.getCurrentData(),n=t.eventSources;e=String(e);for(let r in n)if(n[r].publicId===e)return new ge(t,n[r]);return null}addEventSource(e){let t=this.getCurrentData();if(e instanceof ge)return t.eventSources[e.internalEventSource.sourceId]||this.dispatch({type:"ADD_EVENT_SOURCES",sources:[e.internalEventSource]}),e;let n=wr(e,t);return n?(this.dispatch({type:"ADD_EVENT_SOURCES",sources:[n]}),new ge(t,n)):null}removeAllEventSources(){this.dispatch({type:"REMOVE_ALL_EVENT_SOURCES"})}refetchEvents(){this.dispatch({type:"FETCH_EVENT_SOURCES",isRefetch:!0})}scrollToTime(e){let t=Mt(e);t&&this.trigger("_scrollRequest",{time:t})}}class xr{constructor(e,t,n){this._context=e,this._def=t,this._instance=n||null}setProp(e,t){if(e in _n)console.warn("Could not set date-related prop 'name'. Use one of the date-related methods instead.");else if("id"===e)t=Tn[e](t),this.mutate({standardProps:{publicId:t}});else if(e in Tn)t=Tn[e](t),this.mutate({standardProps:{[e]:t}});else if(e in Sn){let n=Sn[e](t);n="color"===e?{backgroundColor:t,borderColor:t}:"editable"===e?{startEditable:t,durationEditable:t}:{[e]:t},this.mutate({standardProps:{ui:n}})}else console.warn(`Could not set prop '${e}'. Use setExtendedProp instead.`)}setExtendedProp(e,t){this.mutate({extendedProps:{[e]:t}})}setStart(e,t={}){let{dateEnv:n}=this._context,r=n.createMarker(e);if(r&&this._instance){let e=zn(this._instance.range.start,r,n,t.granularity);t.maintainDuration?this.mutate({datesDelta:e}):this.mutate({startDelta:e})}}setEnd(e,t={}){let n,{dateEnv:r}=this._context;if((null==e||(n=r.createMarker(e),n))&&this._instance)if(n){let e=zn(this._instance.range.end,n,r,t.granularity);this.mutate({endDelta:e})}else this.mutate({standardProps:{hasEnd:!1}})}setDates(e,t,n={}){let r,{dateEnv:i}=this._context,s={allDay:n.allDay},o=i.createMarker(e);var a,l;if(o&&((null==t||(r=i.createMarker(t),r))&&this._instance)){let e=this._instance.range;!0===n.allDay&&(e=Hn(e));let t=zn(e.start,o,i,n.granularity);if(r){let o=zn(e.end,r,i,n.granularity);l=o,(a=t).years===l.years&&a.months===l.months&&a.days===l.days&&a.milliseconds===l.milliseconds?this.mutate({datesDelta:t,standardProps:s}):this.mutate({startDelta:t,endDelta:o,standardProps:s})}else s.hasEnd=!1,this.mutate({datesDelta:t,standardProps:s})}}moveStart(e){let t=Mt(e);t&&this.mutate({startDelta:t})}moveEnd(e){let t=Mt(e);t&&this.mutate({endDelta:t})}moveDates(e){let t=Mt(e);t&&this.mutate({datesDelta:t})}setAllDay(e,t={}){let n={allDay:e},{maintainDuration:r}=t;null==r&&(r=this._context.options.allDayMaintainDuration),this._def.allDay!==e&&(n.hasEnd=r),this.mutate({standardProps:n})}formatRange(e){let{dateEnv:t}=this._context,n=this._instance,r=on(e);return this._def.hasEnd?t.formatRange(n.range.start,n.range.end,r,{forcedStartTzo:n.forcedStartTzo,forcedEndTzo:n.forcedEndTzo}):t.format(n.range.start,r,{forcedTzo:n.forcedStartTzo})}mutate(e){let t=this._instance;if(t){let n=this._def,r=this._context,{eventStore:i}=r.getCurrentData(),s=yn(i,t.instanceId);s=vr(s,{"":{display:"",startEditable:!0,durationEditable:!0,constraints:[],overlap:null,allows:[],backgroundColor:"",borderColor:"",textColor:"",classNames:[]}},e,r);let o=new xr(r,n,t);this._def=s.defs[n.defId],this._instance=s.instances[t.instanceId],r.dispatch({type:"MERGE_EVENTS",eventStore:s}),r.emitter.trigger("eventChange",{oldEvent:o,event:this,relatedEvents:kr(s,r,t),revert(){r.dispatch({type:"RESET_EVENTS",eventStore:i})}})}}remove(){let e=this._context,t=Rr(this);e.dispatch({type:"REMOVE_EVENTS",eventStore:t}),e.emitter.trigger("eventRemove",{event:this,relatedEvents:[],revert(){e.dispatch({type:"MERGE_EVENTS",eventStore:t})}})}get source(){let{sourceId:e}=this._def;return e?new ge(this._context,this._context.getCurrentData().eventSources[e]):null}get start(){return this._instance?this._context.dateEnv.toDate(this._instance.range.start):null}get end(){return this._instance&&this._def.hasEnd?this._context.dateEnv.toDate(this._instance.range.end):null}get startStr(){let e=this._instance;return e?this._context.dateEnv.formatIso(e.range.start,{omitTime:this._def.allDay,forcedTzo:e.forcedStartTzo}):""}get endStr(){let e=this._instance;return e&&this._def.hasEnd?this._context.dateEnv.formatIso(e.range.end,{omitTime:this._def.allDay,forcedTzo:e.forcedEndTzo}):""}get id(){return this._def.publicId}get groupId(){return this._def.groupId}get allDay(){return this._def.allDay}get title(){return this._def.title}get url(){return this._def.url}get display(){return this._def.ui.display||"auto"}get startEditable(){return this._def.ui.startEditable}get durationEditable(){return this._def.ui.durationEditable}get constraint(){return this._def.ui.constraints[0]||null}get overlap(){return this._def.ui.overlap}get allow(){return this._def.ui.allows[0]||null}get backgroundColor(){return this._def.ui.backgroundColor}get borderColor(){return this._def.ui.borderColor}get textColor(){return this._def.ui.textColor}get classNames(){return this._def.ui.classNames}get extendedProps(){return this._def.extendedProps}toPlainObject(e={}){let t=this._def,{ui:n}=t,{startStr:r,endStr:i}=this,s={};return t.title&&(s.title=t.title),r&&(s.start=r),i&&(s.end=i),t.publicId&&(s.id=t.publicId),t.groupId&&(s.groupId=t.groupId),t.url&&(s.url=t.url),n.display&&"auto"!==n.display&&(s.display=n.display),e.collapseColor&&n.backgroundColor&&n.backgroundColor===n.borderColor?s.color=n.backgroundColor:(n.backgroundColor&&(s.backgroundColor=n.backgroundColor),n.borderColor&&(s.borderColor=n.borderColor)),n.textColor&&(s.textColor=n.textColor),n.classNames.length&&(s.classNames=n.classNames),Object.keys(t.extendedProps).length&&(e.collapseExtendedProps?me(s,t.extendedProps):s.extendedProps=t.extendedProps),s}toJSON(){return this.toPlainObject()}}function Rr(e){let t=e._def,n=e._instance;return{defs:{[t.defId]:t},instances:n?{[n.instanceId]:n}:{}}}function kr(e,t,n){let{defs:r,instances:i}=e,s=[],o=n?n.instanceId:"";for(let e in i){let n=i[e],a=r[n.defId];n.instanceId!==o&&s.push(new xr(t,a,n))}return s}let Tr={};var _r,Mr;_r="gregory",Mr=class{getMarkerYear(e){return e.getUTCFullYear()}getMarkerMonth(e){return e.getUTCMonth()}getMarkerDay(e){return e.getUTCDate()}arrayToMarker(e){return ht(e)}markerToArray(e){return ut(e)}},Tr[_r]=Mr;const Ir=/^\s*(\d{4})(-?(\d{2})(-?(\d{2})([T ](\d{2}):?(\d{2})(:?(\d{2})(\.(\d+))?)?(Z|(([-+])(\d{2})(:?(\d{2}))?))?)?)?)?$/;function Or(e){let t=Ir.exec(e);if(t){let e=new Date(Date.UTC(Number(t[1]),t[3]?Number(t[3])-1:0,Number(t[5]||1),Number(t[7]||0),Number(t[8]||0),Number(t[10]||0),t[12]?1e3*Number(`0.${t[12]}`):0));if(ft(e)){let n=null;return t[13]&&(n=("-"===t[15]?-1:1)*(60*Number(t[16]||0)+Number(t[18]||0))),{marker:e,isTimeUnspecified:!t[6],timeZoneOffset:n}}}return null}class Nr{constructor(e){let t=this.timeZone=e.timeZone,n="local"!==t&&"UTC"!==t;e.namedTimeZoneImpl&&n&&(this.namedTimeZoneImpl=new e.namedTimeZoneImpl(t)),this.canComputeOffset=Boolean(!n||this.namedTimeZoneImpl),this.calendarSystem=function(e){return new Tr[e]}(e.calendarSystem),this.locale=e.locale,this.weekDow=e.locale.week.dow,this.weekDoy=e.locale.week.doy,"ISO"===e.weekNumberCalculation&&(this.weekDow=1,this.weekDoy=4),"number"==typeof e.firstDay&&(this.weekDow=e.firstDay),"function"==typeof e.weekNumberCalculation&&(this.weekNumberFunc=e.weekNumberCalculation),this.weekText=null!=e.weekText?e.weekText:e.locale.options.weekText,this.weekTextLong=(null!=e.weekTextLong?e.weekTextLong:e.locale.options.weekTextLong)||this.weekText,this.cmdFormatter=e.cmdFormatter,this.defaultSeparator=e.defaultSeparator}createMarker(e){let t=this.createMarkerMeta(e);return null===t?null:t.marker}createNowMarker(){return this.canComputeOffset?this.timestampToMarker((new Date).valueOf()):ht(ct(new Date))}createMarkerMeta(e){if("string"==typeof e)return this.parse(e);let t=null;return"number"==typeof e?t=this.timestampToMarker(e):e instanceof Date?(e=e.valueOf(),isNaN(e)||(t=this.timestampToMarker(e))):Array.isArray(e)&&(t=ht(e)),null!==t&&ft(t)?{marker:t,isTimeUnspecified:!1,forcedTzo:null}:null}parse(e){let t=Or(e);if(null===t)return null;let{marker:n}=t,r=null;return null!==t.timeZoneOffset&&(this.canComputeOffset?n=this.timestampToMarker(n.valueOf()-60*t.timeZoneOffset*1e3):r=t.timeZoneOffset),{marker:n,isTimeUnspecified:t.isTimeUnspecified,forcedTzo:r}}getYear(e){return this.calendarSystem.getMarkerYear(e)}getMonth(e){return this.calendarSystem.getMarkerMonth(e)}add(e,t){let n=this.calendarSystem.markerToArray(e);return n[0]+=t.years,n[1]+=t.months,n[2]+=t.days,n[6]+=t.milliseconds,this.calendarSystem.arrayToMarker(n)}subtract(e,t){let n=this.calendarSystem.markerToArray(e);return n[0]-=t.years,n[1]-=t.months,n[2]-=t.days,n[6]-=t.milliseconds,this.calendarSystem.arrayToMarker(n)}addYears(e,t){let n=this.calendarSystem.markerToArray(e);return n[0]+=t,this.calendarSystem.arrayToMarker(n)}addMonths(e,t){let n=this.calendarSystem.markerToArray(e);return n[1]+=t,this.calendarSystem.arrayToMarker(n)}diffWholeYears(e,t){let{calendarSystem:n}=this;return pt(e)===pt(t)&&n.getMarkerDay(e)===n.getMarkerDay(t)&&n.getMarkerMonth(e)===n.getMarkerMonth(t)?n.getMarkerYear(t)-n.getMarkerYear(e):null}diffWholeMonths(e,t){let{calendarSystem:n}=this;return pt(e)===pt(t)&&n.getMarkerDay(e)===n.getMarkerDay(t)?n.getMarkerMonth(t)-n.getMarkerMonth(e)+12*(n.getMarkerYear(t)-n.getMarkerYear(e)):null}greatestWholeUnit(e,t){let n=this.diffWholeYears(e,t);return null!==n?{unit:"year",value:n}:(n=this.diffWholeMonths(e,t),null!==n?{unit:"month",value:n}:(n=it(e,t),null!==n?{unit:"week",value:n}:(n=st(e,t),null!==n?{unit:"day",value:n}:(n=function(e,t){return(t.valueOf()-e.valueOf())/36e5}(e,t),Ze(n)?{unit:"hour",value:n}:(n=function(e,t){return(t.valueOf()-e.valueOf())/6e4}(e,t),Ze(n)?{unit:"minute",value:n}:(n=function(e,t){return(t.valueOf()-e.valueOf())/1e3}(e,t),Ze(n)?{unit:"second",value:n}:{unit:"millisecond",value:t.valueOf()-e.valueOf()}))))))}countDurationsBetween(e,t,n){let r;return n.years&&(r=this.diffWholeYears(e,t),null!==r)?r/(Pt(n)/365):n.months&&(r=this.diffWholeMonths(e,t),null!==r)?r/function(e){return Pt(e)/30}(n):n.days&&(r=st(e,t),null!==r)?r/Pt(n):(t.valueOf()-e.valueOf())/Ht(n)}startOf(e,t){return"year"===t?this.startOfYear(e):"month"===t?this.startOfMonth(e):"week"===t?this.startOfWeek(e):"day"===t?ot(e):"hour"===t?function(e){return ht([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours()])}(e):"minute"===t?function(e){return ht([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes()])}(e):"second"===t?function(e){return ht([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds()])}(e):null}startOfYear(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e)])}startOfMonth(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e)])}startOfWeek(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e),e.getUTCDate()-(e.getUTCDay()-this.weekDow+7)%7])}computeWeekNumber(e){return this.weekNumberFunc?this.weekNumberFunc(this.toDate(e)):function(e,t,n){let r=e.getUTCFullYear(),i=at(e,r,t,n);if(i<1)return at(e,r-1,t,n);let s=at(e,r+1,t,n);return s>=1?Math.min(i,s):i}(e,this.weekDow,this.weekDoy)}format(e,t,n={}){return t.format({marker:e,timeZoneOffset:null!=n.forcedTzo?n.forcedTzo:this.offsetForMarker(e)},this)}formatRange(e,t,n,r={}){return r.isEndExclusive&&(t=et(t,-1)),n.formatRange({marker:e,timeZoneOffset:null!=r.forcedStartTzo?r.forcedStartTzo:this.offsetForMarker(e)},{marker:t,timeZoneOffset:null!=r.forcedEndTzo?r.forcedEndTzo:this.offsetForMarker(t)},this,r.defaultSeparator)}formatIso(e,t={}){let n=null;return t.omitTimeZoneOffset||(n=null!=t.forcedTzo?t.forcedTzo:this.offsetForMarker(e)),zt(e,n,t.omitTime)}timestampToMarker(e){return"local"===this.timeZone?ht(ct(new Date(e))):"UTC"!==this.timeZone&&this.namedTimeZoneImpl?ht(this.namedTimeZoneImpl.timestampToArray(e)):new Date(e)}offsetForMarker(e){return"local"===this.timeZone?-dt(ut(e)).getTimezoneOffset():"UTC"===this.timeZone?0:this.namedTimeZoneImpl?this.namedTimeZoneImpl.offsetForArray(ut(e)):null}toDate(e,t){return"local"===this.timeZone?dt(ut(e)):"UTC"===this.timeZone?new Date(e.valueOf()):this.namedTimeZoneImpl?new Date(e.valueOf()-1e3*this.namedTimeZoneImpl.offsetForArray(ut(e))*60):new Date(e.valueOf()-(t||0))}}const Pr=[],Hr={code:"en",week:{dow:0,doy:4},direction:"ltr",buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day",list:"list"},weekText:"W",weekTextLong:"Week",closeHint:"Close",timeHint:"Time",eventHint:"Event",allDayText:"all-day",moreLinkText:"more",noEventsText:"No events to display"},Br=Object.assign(Object.assign({},Hr),{buttonHints:{prev:"Previous $0",next:"Next $0",today:(e,t)=>"day"===t?"Today":`This ${e}`},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint:e=>`Show ${e} more event${1===e?"":"s"}`});function jr(e){let t=e.length>0?e[0].code:"en",n=Pr.concat(e),r={en:Br};for(let e of n)r[e.code]=e;return{map:r,defaultCode:t}}function zr(e,t){return"object"!=typeof e||Array.isArray(e)?function(e,t){let n=[].concat(e||[]),r=function(e,t){for(let n=0;n<e.length;n+=1){let r=e[n].toLocaleLowerCase().split("-");for(let e=r.length;e>0;e-=1){let n=r.slice(0,e).join("-");if(t[n])return t[n]}}return null}(n,t)||Br;return Ur(e,n,r)}(e,t):Ur(e.code,[e.code],e)}function Ur(e,t,n){let r=vt([Hr,n],["buttonText"]);delete r.code;let{week:i}=r;return delete r.week,{codeArg:e,codes:t,week:i,simpleNumberFormat:new Intl.NumberFormat(e),options:r}}function Lr(e){let t=zr(e.locale||"en",jr([]).map);return new Nr(Object.assign(Object.assign({timeZone:ln.timeZone,calendarSystem:"gregory"},e),{locale:t}))}const Fr={startTime:"09:00",endTime:"17:00",daysOfWeek:[1,2,3,4,5],display:"inverse-background",classNames:"fc-non-business",groupId:"_businessHours"};function Wr(e,t){return vn(function(e){let t;t=!0===e?[{}]:Array.isArray(e)?e.filter((e=>e.daysOfWeek)):"object"==typeof e&&e?[e]:[];return t=t.map((e=>Object.assign(Object.assign({},Fr),e))),t}(e),null,t)}function Vr(e,t){return e.left>=t.left&&e.left<t.right&&e.top>=t.top&&e.top<t.bottom}function Gr(e,t){let n={left:Math.max(e.left,t.left),right:Math.min(e.right,t.right),top:Math.max(e.top,t.top),bottom:Math.min(e.bottom,t.bottom)};return n.left<n.right&&n.top<n.bottom&&n}function Qr(e,t){return{left:Math.min(Math.max(e.left,t.left),t.right),top:Math.min(Math.max(e.top,t.top),t.bottom)}}function Yr(e){return{left:(e.left+e.right)/2,top:(e.top+e.bottom)/2}}function qr(e,t){return{left:e.left-t.left,top:e.top-t.top}}let Zr;function Xr(){return null==Zr&&(Zr=function(){if("undefined"==typeof document)return!0;let e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.innerHTML="<table><tr><td><div></div></td></tr></table>",e.querySelector("table").style.height="100px",e.querySelector("div").style.height="100%",document.body.appendChild(e);let t=e.querySelector("div").offsetHeight>0;return document.body.removeChild(e),t}()),Zr}const $r={defs:{},instances:{}};class Jr{constructor(){this.getKeysForEventDefs=Vt(this._getKeysForEventDefs),this.splitDateSelection=Vt(this._splitDateSpan),this.splitEventStore=Vt(this._splitEventStore),this.splitIndividualUi=Vt(this._splitIndividualUi),this.splitEventDrag=Vt(this._splitInteraction),this.splitEventResize=Vt(this._splitInteraction),this.eventUiBuilders={}}splitProps(e){let t=this.getKeyInfo(e),n=this.getKeysForEventDefs(e.eventStore),r=this.splitDateSelection(e.dateSelection),i=this.splitIndividualUi(e.eventUiBases,n),s=this.splitEventStore(e.eventStore,n),o=this.splitEventDrag(e.eventDrag),a=this.splitEventResize(e.eventResize),l={};this.eventUiBuilders=yt(t,((e,t)=>this.eventUiBuilders[t]||Vt(Kr)));for(let n in t){let c=t[n],d=s[n]||$r,u=this.eventUiBuilders[n];l[n]={businessHours:c.businessHours||e.businessHours,dateSelection:r[n]||null,eventStore:d,eventUiBases:u(e.eventUiBases[""],c.ui,i[n]),eventSelection:d.instances[e.eventSelection]?e.eventSelection:"",eventDrag:o[n]||null,eventResize:a[n]||null}}return l}_splitDateSpan(e){let t={};if(e){let n=this.getKeysForDateSpan(e);for(let r of n)t[r]=e}return t}_getKeysForEventDefs(e){return yt(e.defs,(e=>this.getKeysForEventDef(e)))}_splitEventStore(e,t){let{defs:n,instances:r}=e,i={};for(let e in n)for(let r of t[e])i[r]||(i[r]={defs:{},instances:{}}),i[r].defs[e]=n[e];for(let e in r){let n=r[e];for(let r of t[n.defId])i[r]&&(i[r].instances[e]=n)}return i}_splitIndividualUi(e,t){let n={};for(let r in e)if(r)for(let i of t[r])n[i]||(n[i]={}),n[i][r]=e[r];return n}_splitInteraction(e){let t={};if(e){let n=this._splitEventStore(e.affectedEvents,this._getKeysForEventDefs(e.affectedEvents)),r=this._getKeysForEventDefs(e.mutatedEvents),i=this._splitEventStore(e.mutatedEvents,r),s=r=>{t[r]||(t[r]={affectedEvents:n[r]||$r,mutatedEvents:i[r]||$r,isEvent:e.isEvent})};for(let e in n)s(e);for(let e in i)s(e)}return t}}function Kr(e,t,n){let r=[];e&&r.push(e),t&&r.push(t);let i={"":Rn(r)};return n&&me(i,n),i}function ei(e,t,n,r){return{dow:e.getUTCDay(),isDisabled:Boolean(r&&!Qn(r.activeRange,e)),isOther:Boolean(r&&!Qn(r.currentRange,e)),isToday:Boolean(t&&Qn(t,e)),isPast:Boolean(n?e<n:!!t&&e<t.start),isFuture:Boolean(n?e>n:!!t&&e>=t.end)}}function ti(e,t){let n=["fc-day",`fc-day-${$e[e.dow]}`];return e.isDisabled?n.push("fc-day-disabled"):(e.isToday&&(n.push("fc-day-today"),n.push(t.getClass("today"))),e.isPast&&n.push("fc-day-past"),e.isFuture&&n.push("fc-day-future"),e.isOther&&n.push("fc-day-other")),n}const ni=on({year:"numeric",month:"long",day:"numeric"}),ri=on({week:"long"});function ii(e,t,n="day",r=!0){const{dateEnv:i,options:s,calendarApi:o}=e;let a=i.format(t,"week"===n?ri:ni);if(s.navLinks){let e=i.toDate(t);const l=e=>{let r="day"===n?s.navLinkDayClick:"week"===n?s.navLinkWeekClick:null;"function"==typeof r?r.call(o,i.toDate(t),e):("string"==typeof r&&(n=r),o.zoomTo(t,n))};return Object.assign({title:Ye(s.navLinkHint,[a,e],a),"data-navlink":""},r?Ie(l):{onClick:l})}return{"aria-label":a}}let si,oi=null;function ai(){return null===oi&&(oi=function(){let e=document.createElement("div");we(e,{position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}),e.innerHTML="<div></div>",document.body.appendChild(e);let t=e.firstChild.getBoundingClientRect().left>e.getBoundingClientRect().left;return ve(e),t}()),oi}function li(){return si||(si=function(){let e=document.createElement("div");e.style.overflow="scroll",e.style.position="absolute",e.style.top="-9999px",e.style.left="-9999px",document.body.appendChild(e);let t=ci(e);return document.body.removeChild(e),t}()),si}function ci(e){return{x:e.offsetHeight-e.clientHeight,y:e.offsetWidth-e.clientWidth}}function di(e,t=!1){let n=window.getComputedStyle(e),r=parseInt(n.borderLeftWidth,10)||0,i=parseInt(n.borderRightWidth,10)||0,s=parseInt(n.borderTopWidth,10)||0,o=parseInt(n.borderBottomWidth,10)||0,a=ci(e),l=a.y-r-i,c={borderLeft:r,borderRight:i,borderTop:s,borderBottom:o,scrollbarBottom:a.x-s-o,scrollbarLeft:0,scrollbarRight:0};return ai()&&"rtl"===n.direction?c.scrollbarLeft=l:c.scrollbarRight=l,t&&(c.paddingLeft=parseInt(n.paddingLeft,10)||0,c.paddingRight=parseInt(n.paddingRight,10)||0,c.paddingTop=parseInt(n.paddingTop,10)||0,c.paddingBottom=parseInt(n.paddingBottom,10)||0),c}function ui(e,t=!1,n){let r=n?e.getBoundingClientRect():hi(e),i=di(e,t),s={left:r.left+i.borderLeft+i.scrollbarLeft,right:r.right-i.borderRight-i.scrollbarRight,top:r.top+i.borderTop,bottom:r.bottom-i.borderBottom-i.scrollbarBottom};return t&&(s.left+=i.paddingLeft,s.right-=i.paddingRight,s.top+=i.paddingTop,s.bottom-=i.paddingBottom),s}function hi(e){let t=e.getBoundingClientRect();return{left:t.left+window.pageXOffset,top:t.top+window.pageYOffset,right:t.right+window.pageXOffset,bottom:t.bottom+window.pageYOffset}}function fi(e){let t=[];for(;e instanceof HTMLElement;){let n=window.getComputedStyle(e);if("fixed"===n.position)break;/(auto|scroll)/.test(n.overflow+n.overflowY+n.overflowX)&&t.push(e),e=e.parentNode}return t}function pi(e,t,n){let r=!1,i=function(){r||(r=!0,t.apply(this,arguments))},s=function(){r||(r=!0,n&&n.apply(this,arguments))},o=e(i,s);o&&"function"==typeof o.then&&o.then(i,s)}class gi{constructor(){this.handlers={},this.thisContext=null}setThisContext(e){this.thisContext=e}setOptions(e){this.options=e}on(e,t){!function(e,t,n){(e[t]||(e[t]=[])).push(n)}(this.handlers,e,t)}off(e,t){!function(e,t,n){n?e[t]&&(e[t]=e[t].filter((e=>e!==n))):delete e[t]}(this.handlers,e,t)}trigger(e,...t){let n=this.handlers[e]||[],r=this.options&&this.options[e],i=[].concat(r||[],n);for(let e of i)e.apply(this.thisContext,t)}hasHandlers(e){return Boolean(this.handlers[e]&&this.handlers[e].length||this.options&&this.options[e])}}class mi{constructor(e,t,n,r){this.els=t;let i=this.originClientRect=e.getBoundingClientRect();n&&this.buildElHorizontals(i.left),r&&this.buildElVerticals(i.top)}buildElHorizontals(e){let t=[],n=[];for(let r of this.els){let i=r.getBoundingClientRect();t.push(i.left-e),n.push(i.right-e)}this.lefts=t,this.rights=n}buildElVerticals(e){let t=[],n=[];for(let r of this.els){let i=r.getBoundingClientRect();t.push(i.top-e),n.push(i.bottom-e)}this.tops=t,this.bottoms=n}leftToIndex(e){let t,{lefts:n,rights:r}=this,i=n.length;for(t=0;t<i;t+=1)if(e>=n[t]&&e<r[t])return t}topToIndex(e){let t,{tops:n,bottoms:r}=this,i=n.length;for(t=0;t<i;t+=1)if(e>=n[t]&&e<r[t])return t}getWidth(e){return this.rights[e]-this.lefts[e]}getHeight(e){return this.bottoms[e]-this.tops[e]}}class vi{getMaxScrollTop(){return this.getScrollHeight()-this.getClientHeight()}getMaxScrollLeft(){return this.getScrollWidth()-this.getClientWidth()}canScrollVertically(){return this.getMaxScrollTop()>0}canScrollHorizontally(){return this.getMaxScrollLeft()>0}canScrollUp(){return this.getScrollTop()>0}canScrollDown(){return this.getScrollTop()<this.getMaxScrollTop()}canScrollLeft(){return this.getScrollLeft()>0}canScrollRight(){return this.getScrollLeft()<this.getMaxScrollLeft()}}class bi extends vi{constructor(e){super(),this.el=e}getScrollTop(){return this.el.scrollTop}getScrollLeft(){return this.el.scrollLeft}setScrollTop(e){this.el.scrollTop=e}setScrollLeft(e){this.el.scrollLeft=e}getScrollWidth(){return this.el.scrollWidth}getScrollHeight(){return this.el.scrollHeight}getClientHeight(){return this.el.clientHeight}getClientWidth(){return this.el.clientWidth}}class yi extends vi{getScrollTop(){return window.pageYOffset}getScrollLeft(){return window.pageXOffset}setScrollTop(e){window.scroll(window.pageXOffset,e)}setScrollLeft(e){window.scroll(e,window.pageYOffset)}getScrollWidth(){return document.documentElement.scrollWidth}getScrollHeight(){return document.documentElement.scrollHeight}getClientHeight(){return document.documentElement.clientHeight}getClientWidth(){return document.documentElement.clientWidth}}class Ei{constructor(e){this.iconOverrideOption&&this.setIconOverride(e[this.iconOverrideOption])}setIconOverride(e){let t,n;if("object"==typeof e&&e){for(n in t=Object.assign({},this.iconClasses),e)t[n]=this.applyIconOverridePrefix(e[n]);this.iconClasses=t}else!1===e&&(this.iconClasses={})}applyIconOverridePrefix(e){let t=this.iconOverridePrefix;return t&&0!==e.indexOf(t)&&(e=t+e),e}getClass(e){return this.classes[e]||""}getIconClass(e,t){let n;return n=t&&this.rtlIconClasses&&this.rtlIconClasses[e]||this.iconClasses[e],n?`${this.baseIconClass} ${n}`:""}getCustomButtonIconClass(e){let t;return this.iconOverrideCustomButtonOption&&(t=e[this.iconOverrideCustomButtonOption],t)?`${this.baseIconClass} ${this.applyIconOverridePrefix(t)}`:""}}if(Ei.prototype.classes={},Ei.prototype.iconClasses={},Ei.prototype.baseIconClass="",Ei.prototype.iconOverridePrefix="","undefined"==typeof FullCalendarVDom)throw new Error("Please import the top-level fullcalendar lib before attempting to import a plugin.");var Di=FullCalendarVDom.Component,wi=FullCalendarVDom.createElement,Ai=FullCalendarVDom.render,Si=FullCalendarVDom.createRef,Ci=FullCalendarVDom.Fragment,xi=FullCalendarVDom.createContext,Ri=FullCalendarVDom.createPortal,ki=FullCalendarVDom.flushSync,Ti=FullCalendarVDom.unmountComponentAtNode;class _i{constructor(e,t,n,r){this.execFunc=e,this.emitter=t,this.scrollTime=n,this.scrollTimeReset=r,this.handleScrollRequest=e=>{this.queuedRequest=me({},this.queuedRequest||{},e),this.drain()},t.on("_scrollRequest",this.handleScrollRequest),this.fireInitialScroll()}detach(){this.emitter.off("_scrollRequest",this.handleScrollRequest)}update(e){e&&this.scrollTimeReset?this.fireInitialScroll():this.drain()}fireInitialScroll(){this.handleScrollRequest({time:this.scrollTime})}drain(){this.queuedRequest&&this.execFunc(this.queuedRequest)&&(this.queuedRequest=null)}}const Mi=xi({});function Ii(e,t,n,r,i,s,o,a,l,c,d,u,h){return{dateEnv:i,options:n,pluginHooks:o,emitter:c,dispatch:a,getCurrentData:l,calendarApi:d,viewSpec:e,viewApi:t,dateProfileGenerator:r,theme:s,isRtl:"rtl"===n.direction,addResizeHandler(e){c.on("_resize",e)},removeResizeHandler(e){c.off("_resize",e)},createScrollResponder:e=>new _i(e,c,Mt(n.scrollTime),n.scrollTimeReset),registerInteractiveComponent:u,unregisterInteractiveComponent:h}}class Oi extends Di{shouldComponentUpdate(e,t){return this.debug&&console.log(At(e,this.props),At(t,this.state)),!St(this.props,e,this.propEquality)||!St(this.state,t,this.stateEquality)}safeSetState(e){St(this.state,Object.assign(Object.assign({},this.state),e),this.stateEquality)||this.setState(e)}}Oi.addPropsEquality=function(e){let t=Object.create(this.prototype.propEquality);me(t,e),this.prototype.propEquality=t},Oi.addStateEquality=function(e){let t=Object.create(this.prototype.stateEquality);me(t,e),this.prototype.stateEquality=t},Oi.contextType=Mi,Oi.prototype.propEquality={},Oi.prototype.stateEquality={};class Ni extends Oi{}function Pi(e,t){"function"==typeof e?e(t):e&&(e.current=t)}Ni.contextType=Mi;class Hi extends Ni{constructor(){super(...arguments),this.uid=Pe()}prepareHits(){}queryHit(e,t,n,r){return null}isValidSegDownEl(e){return!this.props.eventDrag&&!this.props.eventResize&&!be(e,".fc-event-mirror")}isValidDateDownEl(e){return!(be(e,".fc-event:not(.fc-bg-event)")||be(e,".fc-more-link")||be(e,"a[data-navlink]")||be(e,".fc-popover"))}}function Bi(e){return{id:Pe(),deps:e.deps||[],reducers:e.reducers||[],isLoadingFuncs:e.isLoadingFuncs||[],contextInit:[].concat(e.contextInit||[]),eventRefiners:e.eventRefiners||{},eventDefMemberAdders:e.eventDefMemberAdders||[],eventSourceRefiners:e.eventSourceRefiners||{},isDraggableTransformers:e.isDraggableTransformers||[],eventDragMutationMassagers:e.eventDragMutationMassagers||[],eventDefMutationAppliers:e.eventDefMutationAppliers||[],dateSelectionTransformers:e.dateSelectionTransformers||[],datePointTransforms:e.datePointTransforms||[],dateSpanTransforms:e.dateSpanTransforms||[],views:e.views||{},viewPropsTransformers:e.viewPropsTransformers||[],isPropsValid:e.isPropsValid||null,externalDefTransforms:e.externalDefTransforms||[],viewContainerAppends:e.viewContainerAppends||[],eventDropTransformers:e.eventDropTransformers||[],componentInteractions:e.componentInteractions||[],calendarInteractions:e.calendarInteractions||[],themeClasses:e.themeClasses||{},eventSourceDefs:e.eventSourceDefs||[],cmdFormatter:e.cmdFormatter,recurringTypes:e.recurringTypes||[],namedTimeZonedImpl:e.namedTimeZonedImpl,initialView:e.initialView||"",elementDraggingImpl:e.elementDraggingImpl,optionChangeHandlers:e.optionChangeHandlers||{},scrollGridImpl:e.scrollGridImpl||null,contentTypeHandlers:e.contentTypeHandlers||{},listenerRefiners:e.listenerRefiners||{},optionRefiners:e.optionRefiners||{},propSetHandlers:e.propSetHandlers||{}}}class ji extends Ei{}function zi(e,t,n,r){if(t[e])return t[e];let i=function(e,t,n,r){let i=n[e],s=r[e],o=e=>i&&null!==i[e]?i[e]:s&&null!==s[e]?s[e]:null,a=o("component"),l=o("superType"),c=null;if(l){if(l===e)throw new Error("Can't have a custom view type that references itself");c=zi(l,t,n,r)}!a&&c&&(a=c.component);if(!a)return null;return{type:e,component:a,defaults:Object.assign(Object.assign({},c?c.defaults:{}),i?i.rawOptions:{}),overrides:Object.assign(Object.assign({},c?c.overrides:{}),s?s.rawOptions:{})}}(e,t,n,r);return i&&(t[e]=i),i}ji.prototype.classes={root:"fc-theme-standard",tableCellShaded:"fc-cell-shaded",buttonGroup:"fc-button-group",button:"fc-button fc-button-primary",buttonActive:"fc-button-active"},ji.prototype.baseIconClass="fc-icon",ji.prototype.iconClasses={close:"fc-icon-x",prev:"fc-icon-chevron-left",next:"fc-icon-chevron-right",prevYear:"fc-icon-chevrons-left",nextYear:"fc-icon-chevrons-right"},ji.prototype.rtlIconClasses={prev:"fc-icon-chevron-right",next:"fc-icon-chevron-left",prevYear:"fc-icon-chevrons-right",nextYear:"fc-icon-chevrons-left"},ji.prototype.iconOverrideOption="buttonIcons",ji.prototype.iconOverrideCustomButtonOption="icon",ji.prototype.iconOverridePrefix="fc-icon-";class Ui extends Ni{constructor(){super(...arguments),this.rootElRef=Si(),this.handleRootEl=e=>{Pi(this.rootElRef,e),this.props.elRef&&Pi(this.props.elRef,e)}}render(){let{props:e}=this,{hookProps:t}=e;return wi(Vi,{hookProps:t,didMount:e.didMount,willUnmount:e.willUnmount,elRef:this.handleRootEl},(n=>wi(Fi,{hookProps:t,content:e.content,defaultContent:e.defaultContent,backupElRef:this.rootElRef},((r,i)=>e.children(n,Qi(e.classNames,t),r,i)))))}}const Li=xi(0);function Fi(e){return wi(Li.Consumer,null,(t=>wi(Wi,Object.assign({renderId:t},e))))}class Wi extends Ni{constructor(){super(...arguments),this.innerElRef=Si()}render(){return this.props.children(this.innerElRef,this.renderInnerContent())}componentDidMount(){this.updateCustomContent()}componentDidUpdate(){this.updateCustomContent()}componentWillUnmount(){this.customContentInfo&&this.customContentInfo.destroy&&this.customContentInfo.destroy()}renderInnerContent(){let{customContentInfo:e}=this,t=this.getInnerContent(),n=this.getContentMeta(t);return e&&e.contentKey===n.contentKey?e&&(e.contentVal=t[n.contentKey]):(e&&(e.destroy&&e.destroy(),e=this.customContentInfo=null),n.contentKey&&(e=this.customContentInfo=Object.assign({contentKey:n.contentKey,contentVal:t[n.contentKey]},n.buildLifecycleFuncs()))),e?[]:t}getInnerContent(){let{props:e}=this,t=Yi(e.content,e.hookProps);return void 0===t&&(t=Yi(e.defaultContent,e.hookProps)),null==t?null:t}getContentMeta(e){let{contentTypeHandlers:t}=this.context.pluginHooks,n="",r=null;if(e)for(let i in t)if(void 0!==e[i]){n=i,r=t[i];break}return{contentKey:n,buildLifecycleFuncs:r}}updateCustomContent(){this.customContentInfo&&this.customContentInfo.render(this.innerElRef.current||this.props.backupElRef.current,this.customContentInfo.contentVal)}}class Vi extends Ni{constructor(){super(...arguments),this.handleRootEl=e=>{this.rootEl=e,this.props.elRef&&Pi(this.props.elRef,e)}}render(){return this.props.children(this.handleRootEl)}componentDidMount(){let e=this.props.didMount;e&&e(Object.assign(Object.assign({},this.props.hookProps),{el:this.rootEl}))}componentWillUnmount(){let e=this.props.willUnmount;e&&e(Object.assign(Object.assign({},this.props.hookProps),{el:this.rootEl}))}}function Gi(){let e,t,n=[];return(r,i)=>(t&&wt(t,i)&&r===e||(e=r,t=i,n=Qi(r,i)),n)}function Qi(e,t){return"function"==typeof e&&(e=e(t)),An(e)}function Yi(e,t){return"function"==typeof e?e(t,wi):e}class qi extends Ni{constructor(){super(...arguments),this.normalizeClassNames=Gi()}render(){let{props:e,context:t}=this,{options:n}=t,r={view:t.viewApi},i=this.normalizeClassNames(n.viewClassNames,r);return wi(Vi,{hookProps:r,didMount:n.viewDidMount,willUnmount:n.viewWillUnmount,elRef:e.elRef},(t=>e.children(t,[`fc-${e.viewSpec.type}-view`,"fc-view"].concat(i))))}}function Zi(e){return yt(e,Xi)}function Xi(e){let t="function"==typeof e?{component:e}:e,{component:n}=t;var r;return t.content&&(r=t,n=e=>wi(Mi.Consumer,null,(t=>wi(qi,{viewSpec:t.viewSpec},((n,i)=>{let s=Object.assign(Object.assign({},e),{nextDayThreshold:t.options.nextDayThreshold});return wi(Ui,{hookProps:s,classNames:r.classNames,content:r.content,didMount:r.didMount,willUnmount:r.willUnmount,elRef:n},((e,t,n,r)=>wi("div",{className:i.concat(t).join(" "),ref:e},r)))}))))),{superType:t.type,component:n,rawOptions:t}}function $i(e,t,n,r){let i=Zi(e),s=Zi(t.views);return yt(function(e,t){let n,r={};for(n in e)zi(n,r,e,t);for(n in t)zi(n,r,e,t);return r}(i,s),(e=>function(e,t,n,r,i){let s=e.overrides.duration||e.defaults.duration||r.duration||n.duration,o=null,a="",l="",c={};if(s&&(o=function(e){let t=JSON.stringify(e),n=Ji[t];void 0===n&&(n=Mt(e),Ji[t]=n);return n}(s),o)){let e=jt(o);a=e.unit,1===e.value&&(l=a,c=t[a]?t[a].rawOptions:{})}let d=t=>{let n=t.buttonText||{},r=e.defaults.buttonTextKey;return null!=r&&null!=n[r]?n[r]:null!=n[e.type]?n[e.type]:null!=n[l]?n[l]:null},u=t=>{let n=t.buttonHints||{},r=e.defaults.buttonTextKey;return null!=r&&null!=n[r]?n[r]:null!=n[e.type]?n[e.type]:null!=n[l]?n[l]:null};return{type:e.type,component:e.component,duration:o,durationUnit:a,singleUnit:l,optionDefaults:e.defaults,optionOverrides:Object.assign(Object.assign({},c),e.overrides),buttonTextOverride:d(r)||d(n)||e.overrides.buttonText,buttonTextDefault:d(i)||e.defaults.buttonText||d(ln)||e.type,buttonTitleOverride:u(r)||u(n)||e.overrides.buttonHint,buttonTitleDefault:u(i)||e.defaults.buttonHint||u(ln)}}(e,s,t,n,r)))}let Ji={};class Ki{constructor(e){this.props=e,this.nowDate=Sr(e.nowInput,e.dateEnv),this.initHiddenDays()}buildPrev(e,t,n){let{dateEnv:r}=this.props,i=r.subtract(r.startOf(t,e.currentRangeUnit),e.dateIncrement);return this.build(i,-1,n)}buildNext(e,t,n){let{dateEnv:r}=this.props,i=r.add(r.startOf(t,e.currentRangeUnit),e.dateIncrement);return this.build(i,1,n)}build(e,t,n=!0){let r,i,s,o,a,l,{props:c}=this;var d,u;return r=this.buildValidRange(),r=this.trimHiddenDays(r),n&&(d=e,e=null!=(u=r).start&&d<u.start?u.start:null!=u.end&&d>=u.end?new Date(u.end.valueOf()-1):d),i=this.buildCurrentRangeInfo(e,t),s=/^(year|month|week|day)$/.test(i.unit),o=this.buildRenderRange(this.trimHiddenDays(i.range),i.unit,s),o=this.trimHiddenDays(o),a=o,c.showNonCurrentDates||(a=Fn(a,i.range)),a=this.adjustActiveRange(a),a=Fn(a,r),l=Vn(i.range,r),{validRange:r,currentRange:i.range,currentRangeUnit:i.unit,isRangeAllDay:s,activeRange:a,renderRange:o,slotMinTime:c.slotMinTime,slotMaxTime:c.slotMaxTime,isValid:l,dateIncrement:this.buildDateIncrement(i.duration)}}buildValidRange(){let e=this.props.validRangeInput,t="function"==typeof e?e.call(this.props.calendarApi,this.nowDate):e;return this.refineRange(t)||{start:null,end:null}}buildCurrentRangeInfo(e,t){let n,{props:r}=this,i=null,s=null,o=null;return r.duration?(i=r.duration,s=r.durationUnit,o=this.buildRangeFromDuration(e,t,i,s)):(n=this.props.dayCount)?(s="day",o=this.buildRangeFromDayCount(e,t,n)):(o=this.buildCustomVisibleRange(e))?s=r.dateEnv.greatestWholeUnit(o.start,o.end).unit:(i=this.getFallbackDuration(),s=jt(i).unit,o=this.buildRangeFromDuration(e,t,i,s)),{duration:i,unit:s,range:o}}getFallbackDuration(){return Mt({day:1})}adjustActiveRange(e){let{dateEnv:t,usesMinMaxTime:n,slotMinTime:r,slotMaxTime:i}=this.props,{start:s,end:o}=e;return n&&(Pt(r)<0&&(s=ot(s),s=t.add(s,r)),Pt(i)>1&&(o=ot(o),o=Ke(o,-1),o=t.add(o,i))),{start:s,end:o}}buildRangeFromDuration(e,t,n,r){let i,s,o,{dateEnv:a,dateAlignment:l}=this.props;if(!l){let{dateIncrement:e}=this.props;l=e&&Ht(e)<Ht(n)?jt(e).unit:r}function c(){i=a.startOf(e,l),s=a.add(i,n),o={start:i,end:s}}return Pt(n)<=1&&this.isHiddenDay(i)&&(i=this.skipHiddenDays(i,t),i=ot(i)),c(),this.trimHiddenDays(o)||(e=this.skipHiddenDays(e,t),c()),o}buildRangeFromDayCount(e,t,n){let r,{dateEnv:i,dateAlignment:s}=this.props,o=0,a=e;s&&(a=i.startOf(a,s)),a=ot(a),a=this.skipHiddenDays(a,t),r=a;do{r=Ke(r,1),this.isHiddenDay(r)||(o+=1)}while(o<n);return{start:a,end:r}}buildCustomVisibleRange(e){let{props:t}=this,n=t.visibleRangeInput,r="function"==typeof n?n.call(t.calendarApi,t.dateEnv.toDate(e)):n,i=this.refineRange(r);return!i||null!=i.start&&null!=i.end?i:null}buildRenderRange(e,t,n){return e}buildDateIncrement(e){let t,{dateIncrement:n}=this.props;return n||((t=this.props.dateAlignment)?Mt(1,t):e||Mt({days:1}))}refineRange(e){if(e){let t=function(e,t){let n=null,r=null;return e.start&&(n=t.createMarker(e.start)),e.end&&(r=t.createMarker(e.end)),n||r?n&&r&&r<n?null:{start:n,end:r}:null}(e,this.props.dateEnv);return t&&(t=Bn(t)),t}return null}initHiddenDays(){let e,t=this.props.hiddenDays||[],n=[],r=0;for(!1===this.props.weekends&&t.push(0,6),e=0;e<7;e+=1)(n[e]=-1!==t.indexOf(e))||(r+=1);if(!r)throw new Error("invalid hiddenDays");this.isHiddenDayHash=n}trimHiddenDays(e){let{start:t,end:n}=e;return t&&(t=this.skipHiddenDays(t)),n&&(n=this.skipHiddenDays(n,-1,!0)),null==t||null==n||t<n?{start:t,end:n}:null}isHiddenDay(e){return e instanceof Date&&(e=e.getUTCDay()),this.isHiddenDayHash[e]}skipHiddenDays(e,t=1,n=!1){for(;this.isHiddenDayHash[(e.getUTCDay()+(n?t:0)+7)%7];)e=Ke(e,t);return e}}function es(e,t,n){let r=t?t.activeRange:null;return rs({},function(e,t){let n=Ar(t),r=[].concat(e.eventSources||[]),i=[];e.initialEvents&&r.unshift(e.initialEvents);e.events&&r.unshift(e.events);for(let e of r){let r=wr(e,t,n);r&&i.push(r)}return i}(e,n),r,n)}function ts(e,t,n,r){let i=n?n.activeRange:null;switch(t.type){case"ADD_EVENT_SOURCES":return rs(e,t.sources,i,r);case"REMOVE_EVENT_SOURCE":return s=e,o=t.sourceId,bt(s,(e=>e.sourceId!==o));case"PREV":case"NEXT":case"CHANGE_DATE":case"CHANGE_VIEW_TYPE":return n?is(e,i,r):e;case"FETCH_EVENT_SOURCES":return ss(e,t.sourceIds?Et(t.sourceIds):as(e,r),i,t.isRefetch||!1,r);case"RECEIVE_EVENTS":case"RECEIVE_EVENT_ERROR":return function(e,t,n,r){let i=e[t];if(i&&n===i.latestFetchId)return Object.assign(Object.assign({},e),{[t]:Object.assign(Object.assign({},i),{isFetching:!1,fetchRange:r})});return e}(e,t.sourceId,t.fetchId,t.fetchRange);case"REMOVE_ALL_EVENT_SOURCES":return{};default:return e}var s,o}function ns(e){for(let t in e)if(e[t].isFetching)return!0;return!1}function rs(e,t,n,r){let i={};for(let e of t)i[e.sourceId]=e;return n&&(i=is(i,n,r)),Object.assign(Object.assign({},e),i)}function is(e,t,n){return ss(e,bt(e,(e=>function(e,t,n){if(!ls(e,n))return!e.latestFetchId;return!n.options.lazyFetching||!e.fetchRange||e.isFetching||t.start<e.fetchRange.start||t.end>e.fetchRange.end}(e,t,n))),t,!1,n)}function ss(e,t,n,r,i){let s={};for(let o in e){let a=e[o];t[o]?s[o]=os(a,n,r,i):s[o]=a}return s}function os(e,t,n,r){let{options:i,calendarApi:s}=r,o=r.pluginHooks.eventSourceDefs[e.sourceDefId],a=Pe();return o.fetch({eventSource:e,range:t,isRefetch:n,context:r},(n=>{let{rawEvents:o}=n;i.eventSourceSuccess&&(o=i.eventSourceSuccess.call(s,o,n.xhr)||o),e.success&&(o=e.success.call(s,o,n.xhr)||o),r.dispatch({type:"RECEIVE_EVENTS",sourceId:e.sourceId,fetchId:a,fetchRange:t,rawEvents:o})}),(n=>{console.warn(n.message,n),i.eventSourceFailure&&i.eventSourceFailure.call(s,n),e.failure&&e.failure(n),r.dispatch({type:"RECEIVE_EVENT_ERROR",sourceId:e.sourceId,fetchId:a,fetchRange:t,error:n})})),Object.assign(Object.assign({},e),{isFetching:!0,latestFetchId:a})}function as(e,t){return bt(e,(e=>ls(e,t)))}function ls(e,t){return!t.pluginHooks.eventSourceDefs[e.sourceDefId].ignoreRange}function cs(e,t,n,r,i){switch(t.type){case"RECEIVE_EVENTS":return function(e,t,n,r,i,s){if(t&&n===t.latestFetchId){let n=vn(function(e,t,n){let r=n.options.eventDataTransform,i=t?t.eventDataTransform:null;i&&(e=ds(e,i));r&&(e=ds(e,r));return e}(i,t,s),t,s);return r&&(n=Rt(n,r,s)),Dn(us(e,t.sourceId),n)}return e}(e,n[t.sourceId],t.fetchId,t.fetchRange,t.rawEvents,i);case"ADD_EVENTS":return function(e,t,n,r){n&&(t=Rt(t,n,r));return Dn(e,t)}(e,t.eventStore,r?r.activeRange:null,i);case"RESET_EVENTS":return t.eventStore;case"MERGE_EVENTS":return Dn(e,t.eventStore);case"PREV":case"NEXT":case"CHANGE_DATE":case"CHANGE_VIEW_TYPE":return r?Rt(e,r.activeRange,i):e;case"REMOVE_EVENTS":return function(e,t){let{defs:n,instances:r}=e,i={},s={};for(let e in n)t.defs[e]||(i[e]=n[e]);for(let e in r)!t.instances[e]&&i[r[e].defId]&&(s[e]=r[e]);return{defs:i,instances:s}}(e,t.eventStore);case"REMOVE_EVENT_SOURCE":return us(e,t.sourceId);case"REMOVE_ALL_EVENT_SOURCES":return wn(e,(e=>!e.sourceId));case"REMOVE_ALL_EVENTS":return{defs:{},instances:{}};default:return e}}function ds(e,t){let n;if(t){n=[];for(let r of e){let e=t(r);e?n.push(e):null==e&&n.push(r)}}else n=e;return n}function us(e,t){return wn(e,(e=>e.sourceId!==t))}function hs(e,t){switch(t.type){case"UNSELECT_DATES":return null;case"SELECT_DATES":return t.selection;default:return e}}function fs(e,t){switch(t.type){case"UNSELECT_EVENT":return"";case"SELECT_EVENT":return t.eventInstanceId;default:return e}}function ps(e,t){let n;switch(t.type){case"UNSET_EVENT_DRAG":return null;case"SET_EVENT_DRAG":return n=t.state,{affectedEvents:n.affectedEvents,mutatedEvents:n.mutatedEvents,isEvent:n.isEvent};default:return e}}function gs(e,t){let n;switch(t.type){case"UNSET_EVENT_RESIZE":return null;case"SET_EVENT_RESIZE":return n=t.state,{affectedEvents:n.affectedEvents,mutatedEvents:n.mutatedEvents,isEvent:n.isEvent};default:return e}}function ms(e,t,n,r,i){return{header:e.headerToolbar?vs(e.headerToolbar,e,t,n,r,i):null,footer:e.footerToolbar?vs(e.footerToolbar,e,t,n,r,i):null}}function vs(e,t,n,r,i,s){let o={},a=[],l=!1;for(let c in e){let d=bs(e[c],t,n,r,i,s);o[c]=d.widgets,a.push(...d.viewsWithButtons),l=l||d.hasTitle}return{sectionWidgets:o,viewsWithButtons:a,hasTitle:l}}function bs(e,t,n,r,i,s){let o="rtl"===t.direction,a=t.customButtons||{},l=n.buttonText||{},c=t.buttonText||{},d=n.buttonHints||{},u=t.buttonHints||{},h=e?e.split(" "):[],f=[],p=!1;return{widgets:h.map((e=>e.split(",").map((e=>{if("title"===e)return p=!0,{buttonName:e};let n,h,g,m,v,b;if(n=a[e])g=e=>{n.click&&n.click.call(e.target,e,e.target)},(m=r.getCustomButtonIconClass(n))||(m=r.getIconClass(e,o))||(v=n.text),b=n.hint||n.text;else if(h=i[e]){f.push(e),g=()=>{s.changeView(e)},(v=h.buttonTextOverride)||(m=r.getIconClass(e,o))||(v=h.buttonTextDefault);let n=h.buttonTextOverride||h.buttonTextDefault;b=Ye(h.buttonTitleOverride||h.buttonTitleDefault||t.viewHint,[n,e],n)}else if(s[e])if(g=()=>{s[e]()},(v=l[e])||(m=r.getIconClass(e,o))||(v=c[e]),"prevYear"===e||"nextYear"===e){let t="prevYear"===e?"prev":"next";b=Ye(d[t]||u[t],[c.year||"year","year"],c[e])}else b=t=>Ye(d[e]||u[e],[c[t]||t,t],c[e]);return{buttonName:e,buttonClick:g,buttonIcon:m,buttonText:v,buttonHint:b}})))),viewsWithButtons:f,hasTitle:p}}function ys(e,t,n,r,i){let s=null;"GET"===(e=e.toUpperCase())?t=function(e,t){return e+(-1===e.indexOf("?")?"?":"&")+Es(t)}(t,n):s=Es(n);let o=new XMLHttpRequest;o.open(e,t,!0),"GET"!==e&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.onload=()=>{if(o.status>=200&&o.status<400){let e,t=!1;try{e=JSON.parse(o.responseText),t=!0}catch(e){}t?r(e,o):i("Failure parsing JSON",o)}else i("Request failed",o)},o.onerror=()=>{i("Request failed",o)},o.send(s)}function Es(e){let t=[];for(let n in e)t.push(`${encodeURIComponent(n)}=${encodeURIComponent(e[n])}`);return t.join("&")}function Ds(e,t){let n=Dt(t.getCurrentData().eventSources),r=[];for(let t of e){let e=!1;for(let r=0;r<n.length;r+=1)if(n[r]._raw===t){n.splice(r,1),e=!0;break}e||r.push(t)}for(let e of n)t.dispatch({type:"REMOVE_EVENT_SOURCE",sourceId:e.sourceId});for(let e of r)t.calendarApi.addEventSource(e)}const ws=[Bi({eventSourceDefs:[{ignoreRange:!0,parseMeta:e=>Array.isArray(e.events)?e.events:null,fetch(e,t){t({rawEvents:e.eventSource.meta})}}]}),Bi({eventSourceDefs:[{parseMeta:e=>"function"==typeof e.events?e.events:null,fetch(e,t,n){let{dateEnv:r}=e.context;pi(e.eventSource.meta.bind(null,hr(e.range,r)),(e=>{t({rawEvents:e})}),n)}}]}),Bi({eventSourceRefiners:{method:String,extraParams:mn,startParam:String,endParam:String,timeZoneParam:String},eventSourceDefs:[{parseMeta:e=>!e.url||"json"!==e.format&&e.format?null:{url:e.url,format:"json",method:(e.method||"GET").toUpperCase(),extraParams:e.extraParams,startParam:e.startParam,endParam:e.endParam,timeZoneParam:e.timeZoneParam},fetch(e,t,n){let{meta:r}=e.eventSource,i=function(e,t,n){let r,i,s,o,{dateEnv:a,options:l}=n,c={};r=e.startParam,null==r&&(r=l.startParam);i=e.endParam,null==i&&(i=l.endParam);s=e.timeZoneParam,null==s&&(s=l.timeZoneParam);o="function"==typeof e.extraParams?e.extraParams():e.extraParams||{};me(c,o),c[r]=a.formatIso(t.start),c[i]=a.formatIso(t.end),"local"!==a.timeZone&&(c[s]=a.timeZone);return c}(r,e.range,e.context);ys(r.method,r.url,i,((e,n)=>{t({rawEvents:e,xhr:n})}),((e,t)=>{n({message:e,xhr:t})}))}}]}),Bi({recurringTypes:[{parse(e,t){if(e.daysOfWeek||e.startTime||e.endTime||e.startRecur||e.endRecur){let i,s={daysOfWeek:e.daysOfWeek||null,startTime:e.startTime||null,endTime:e.endTime||null,startRecur:e.startRecur?t.createMarker(e.startRecur):null,endRecur:e.endRecur?t.createMarker(e.endRecur):null};return e.duration&&(i=e.duration),!i&&e.startTime&&e.endTime&&(n=e.endTime,r=e.startTime,i={years:n.years-r.years,months:n.months-r.months,days:n.days-r.days,milliseconds:n.milliseconds-r.milliseconds}),{allDayGuess:Boolean(!e.startTime&&!e.endTime),duration:i,typeData:s}}var n,r;return null},expand(e,t,n){let r=Fn(t,{start:e.startRecur,end:e.endRecur});return r?function(e,t,n,r){let i=e?Et(e):null,s=ot(n.start),o=n.end,a=[];for(;s<o;){let e;i&&!i[s.getUTCDay()]||(e=t?r.add(s,t):s,a.push(e)),s=Ke(s,1)}return a}(e.daysOfWeek,e.startTime,r,n):[]}}],eventRefiners:{daysOfWeek:mn,startTime:Mt,endTime:Mt,duration:Mt,startRecur:mn,endRecur:mn}}),Bi({optionChangeHandlers:{events(e,t){Ds([e],t)},eventSources:Ds}}),Bi({isLoadingFuncs:[e=>ns(e.eventSources)],contentTypeHandlers:{html:function(){let e=null,t="";return{render:function(n,r){n===e&&r===t||(n.innerHTML=r),e=n,t=r},destroy:function(){e.innerHTML="",e=null,t=""}}},domNodes:function(){let e=null,t=[];function n(){t.forEach(ve),t=[],e=null}return{render:function(r,i){let s=Array.prototype.slice.call(i);if(r!==e||!Wt(t,s)){for(let e of s)r.appendChild(e);n()}e=r,t=s},destroy:n}}},propSetHandlers:{dateProfile:function(e,t){t.emitter.trigger("datesSet",Object.assign(Object.assign({},hr(e.activeRange,t.dateEnv)),{view:t.viewApi}))},eventStore:function(e,t){let{emitter:n}=t;n.hasHandlers("eventsSet")&&n.trigger("eventsSet",kr(e,t))}}})];class As{constructor(e){this.drainedOption=e,this.isRunning=!1,this.isDirty=!1,this.pauseDepths={},this.timeoutId=0}request(e){this.isDirty=!0,this.isPaused()||(this.clearTimeout(),null==e?this.tryDrain():this.timeoutId=setTimeout(this.tryDrain.bind(this),e))}pause(e=""){let{pauseDepths:t}=this;t[e]=(t[e]||0)+1,this.clearTimeout()}resume(e="",t){let{pauseDepths:n}=this;if(e in n){if(t)delete n[e];else{n[e]-=1,n[e]<=0&&delete n[e]}this.tryDrain()}}isPaused(){return Object.keys(this.pauseDepths).length}tryDrain(){if(!this.isRunning&&!this.isPaused()){for(this.isRunning=!0;this.isDirty;)this.isDirty=!1,this.drained();this.isRunning=!1}}clear(){this.clearTimeout(),this.isDirty=!1,this.pauseDepths={}}clearTimeout(){this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=0)}drained(){this.drainedOption&&this.drainedOption()}}class Ss{constructor(e,t){this.runTaskOption=e,this.drainedOption=t,this.queue=[],this.delayedRunner=new As(this.drain.bind(this))}request(e,t){this.queue.push(e),this.delayedRunner.request(t)}pause(e){this.delayedRunner.pause(e)}resume(e,t){this.delayedRunner.resume(e,t)}drain(){let{queue:e}=this;for(;e.length;){let t,n=[];for(;t=e.shift();)this.runTask(t),n.push(t);this.drained(n)}}runTask(e){this.runTaskOption&&this.runTaskOption(e)}drained(e){this.drainedOption&&this.drainedOption(e)}}function Cs(e,t,n){let r;return r=/^(year|month)$/.test(e.currentRangeUnit)?e.currentRange:e.activeRange,n.formatRange(r.start,r.end,on(t.titleFormat||function(e){let{currentRangeUnit:t}=e;if("year"===t)return{year:"numeric"};if("month"===t)return{year:"numeric",month:"long"};let n=st(e.currentRange.start,e.currentRange.end);if(null!==n&&n>1)return{year:"numeric",month:"short",day:"numeric"};return{year:"numeric",month:"long",day:"numeric"}}(e)),{isEndExclusive:e.isRangeAllDay,defaultSeparator:t.titleRangeSeparator})}class xs{constructor(e){this.computeOptionsData=Vt(this._computeOptionsData),this.computeCurrentViewData=Vt(this._computeCurrentViewData),this.organizeRawLocales=Vt(jr),this.buildLocale=Vt(zr),this.buildPluginHooks=function(){let e,t=[],n=[];return(r,i)=>(e&&Wt(r,t)&&Wt(i,n)||(e=function(e,t){let n={},r={reducers:[],isLoadingFuncs:[],contextInit:[],eventRefiners:{},eventDefMemberAdders:[],eventSourceRefiners:{},isDraggableTransformers:[],eventDragMutationMassagers:[],eventDefMutationAppliers:[],dateSelectionTransformers:[],datePointTransforms:[],dateSpanTransforms:[],views:{},viewPropsTransformers:[],isPropsValid:null,externalDefTransforms:[],viewContainerAppends:[],eventDropTransformers:[],componentInteractions:[],calendarInteractions:[],themeClasses:{},eventSourceDefs:[],cmdFormatter:null,recurringTypes:[],namedTimeZonedImpl:null,initialView:"",elementDraggingImpl:null,optionChangeHandlers:{},scrollGridImpl:null,contentTypeHandlers:{},listenerRefiners:{},optionRefiners:{},propSetHandlers:{}};function i(e){for(let o of e)n[o.id]||(n[o.id]=!0,i(o.deps),s=o,r={reducers:(t=r).reducers.concat(s.reducers),isLoadingFuncs:t.isLoadingFuncs.concat(s.isLoadingFuncs),contextInit:t.contextInit.concat(s.contextInit),eventRefiners:Object.assign(Object.assign({},t.eventRefiners),s.eventRefiners),eventDefMemberAdders:t.eventDefMemberAdders.concat(s.eventDefMemberAdders),eventSourceRefiners:Object.assign(Object.assign({},t.eventSourceRefiners),s.eventSourceRefiners),isDraggableTransformers:t.isDraggableTransformers.concat(s.isDraggableTransformers),eventDragMutationMassagers:t.eventDragMutationMassagers.concat(s.eventDragMutationMassagers),eventDefMutationAppliers:t.eventDefMutationAppliers.concat(s.eventDefMutationAppliers),dateSelectionTransformers:t.dateSelectionTransformers.concat(s.dateSelectionTransformers),datePointTransforms:t.datePointTransforms.concat(s.datePointTransforms),dateSpanTransforms:t.dateSpanTransforms.concat(s.dateSpanTransforms),views:Object.assign(Object.assign({},t.views),s.views),viewPropsTransformers:t.viewPropsTransformers.concat(s.viewPropsTransformers),isPropsValid:s.isPropsValid||t.isPropsValid,externalDefTransforms:t.externalDefTransforms.concat(s.externalDefTransforms),viewContainerAppends:t.viewContainerAppends.concat(s.viewContainerAppends),eventDropTransformers:t.eventDropTransformers.concat(s.eventDropTransformers),calendarInteractions:t.calendarInteractions.concat(s.calendarInteractions),componentInteractions:t.componentInteractions.concat(s.componentInteractions),themeClasses:Object.assign(Object.assign({},t.themeClasses),s.themeClasses),eventSourceDefs:t.eventSourceDefs.concat(s.eventSourceDefs),cmdFormatter:s.cmdFormatter||t.cmdFormatter,recurringTypes:t.recurringTypes.concat(s.recurringTypes),namedTimeZonedImpl:s.namedTimeZonedImpl||t.namedTimeZonedImpl,initialView:t.initialView||s.initialView,elementDraggingImpl:t.elementDraggingImpl||s.elementDraggingImpl,optionChangeHandlers:Object.assign(Object.assign({},t.optionChangeHandlers),s.optionChangeHandlers),scrollGridImpl:s.scrollGridImpl||t.scrollGridImpl,contentTypeHandlers:Object.assign(Object.assign({},t.contentTypeHandlers),s.contentTypeHandlers),listenerRefiners:Object.assign(Object.assign({},t.listenerRefiners),s.listenerRefiners),optionRefiners:Object.assign(Object.assign({},t.optionRefiners),s.optionRefiners),propSetHandlers:Object.assign(Object.assign({},t.propSetHandlers),s.propSetHandlers)});var t,s}return e&&i(e),i(t),r}(r,i)),t=r,n=i,e)}(),this.buildDateEnv=Vt(Rs),this.buildTheme=Vt(ks),this.parseToolbars=Vt(ms),this.buildViewSpecs=Vt($i),this.buildDateProfileGenerator=Gt(Ts),this.buildViewApi=Vt(_s),this.buildViewUiProps=Gt(Os),this.buildEventUiBySource=Vt(Ms,wt),this.buildEventUiBases=Vt(Is),this.parseContextBusinessHours=Gt(Ps),this.buildTitle=Vt(Cs),this.emitter=new gi,this.actionRunner=new Ss(this._handleAction.bind(this),this.updateData.bind(this)),this.currentCalendarOptionsInput={},this.currentCalendarOptionsRefined={},this.currentViewOptionsInput={},this.currentViewOptionsRefined={},this.currentCalendarOptionsRefiners={},this.getCurrentData=()=>this.data,this.dispatch=e=>{this.actionRunner.request(e)},this.props=e,this.actionRunner.pause();let t={},n=this.computeOptionsData(e.optionOverrides,t,e.calendarApi),r=n.calendarOptions.initialView||n.pluginHooks.initialView,i=this.computeCurrentViewData(r,n,e.optionOverrides,t);e.calendarApi.currentDataManager=this,this.emitter.setThisContext(e.calendarApi),this.emitter.setOptions(i.options);let s=function(e,t){let n=e.initialDate;return null!=n?t.createMarker(n):Sr(e.now,t)}(n.calendarOptions,n.dateEnv),o=i.dateProfileGenerator.build(s);Qn(o.activeRange,s)||(s=o.currentRange.start);let a={dateEnv:n.dateEnv,options:n.calendarOptions,pluginHooks:n.pluginHooks,calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData};for(let e of n.pluginHooks.contextInit)e(a);let l=es(n.calendarOptions,o,a),c={dynamicOptionOverrides:t,currentViewType:r,currentDate:s,dateProfile:o,businessHours:this.parseContextBusinessHours(a),eventSources:l,eventUiBases:{},eventStore:{defs:{},instances:{}},renderableEventStore:{defs:{},instances:{}},dateSelection:null,eventSelection:"",eventDrag:null,eventResize:null,selectionConfig:this.buildViewUiProps(a).selectionConfig},d=Object.assign(Object.assign({},a),c);for(let e of n.pluginHooks.reducers)me(c,e(null,null,d));Ns(c,a)&&this.emitter.trigger("loading",!0),this.state=c,this.updateData(),this.actionRunner.resume()}resetOptions(e,t){let{props:n}=this;n.optionOverrides=t?Object.assign(Object.assign({},n.optionOverrides),e):e,this.actionRunner.request({type:"NOTHING"})}_handleAction(e){let{props:t,state:n,emitter:r}=this,i=function(e,t){switch(t.type){case"SET_OPTION":return Object.assign(Object.assign({},e),{[t.optionName]:t.rawOptionValue});default:return e}}(n.dynamicOptionOverrides,e),s=this.computeOptionsData(t.optionOverrides,i,t.calendarApi),o=function(e,t){switch(t.type){case"CHANGE_VIEW_TYPE":e=t.viewType}return e}(n.currentViewType,e),a=this.computeCurrentViewData(o,s,t.optionOverrides,i);t.calendarApi.currentDataManager=this,r.setThisContext(t.calendarApi),r.setOptions(a.options);let l={dateEnv:s.dateEnv,options:s.calendarOptions,pluginHooks:s.pluginHooks,calendarApi:t.calendarApi,dispatch:this.dispatch,emitter:r,getCurrentData:this.getCurrentData},{currentDate:c,dateProfile:d}=n;this.data&&this.data.dateProfileGenerator!==a.dateProfileGenerator&&(d=a.dateProfileGenerator.build(c)),c=function(e,t){switch(t.type){case"CHANGE_DATE":return t.dateMarker;default:return e}}(c,e),d=function(e,t,n,r){let i;switch(t.type){case"CHANGE_VIEW_TYPE":return r.build(t.dateMarker||n);case"CHANGE_DATE":return r.build(t.dateMarker);case"PREV":if(i=r.buildPrev(e,n),i.isValid)return i;break;case"NEXT":if(i=r.buildNext(e,n),i.isValid)return i}return e}(d,e,c,a.dateProfileGenerator),"PREV"!==e.type&&"NEXT"!==e.type&&Qn(d.currentRange,c)||(c=d.currentRange.start);let u=ts(n.eventSources,e,d,l),h=cs(n.eventStore,e,u,d,l),f=ns(u)&&!a.options.progressiveEventRendering&&n.renderableEventStore||h,{eventUiSingleBase:p,selectionConfig:g}=this.buildViewUiProps(l),m=this.buildEventUiBySource(u),v={dynamicOptionOverrides:i,currentViewType:o,currentDate:c,dateProfile:d,eventSources:u,eventStore:h,renderableEventStore:f,selectionConfig:g,eventUiBases:this.buildEventUiBases(f.defs,p,m),businessHours:this.parseContextBusinessHours(l),dateSelection:hs(n.dateSelection,e),eventSelection:fs(n.eventSelection,e),eventDrag:ps(n.eventDrag,e),eventResize:gs(n.eventResize,e)},b=Object.assign(Object.assign({},l),v);for(let t of s.pluginHooks.reducers)me(v,t(n,e,b));let y=Ns(n,l),E=Ns(v,l);!y&&E?r.trigger("loading",!0):y&&!E&&r.trigger("loading",!1),this.state=v,t.onAction&&t.onAction(e)}updateData(){let{props:e,state:t}=this,n=this.data,r=this.computeOptionsData(e.optionOverrides,t.dynamicOptionOverrides,e.calendarApi),i=this.computeCurrentViewData(t.currentViewType,r,e.optionOverrides,t.dynamicOptionOverrides),s=this.data=Object.assign(Object.assign(Object.assign({viewTitle:this.buildTitle(t.dateProfile,i.options,r.dateEnv),calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData},r),i),t),o=r.pluginHooks.optionChangeHandlers,a=n&&n.calendarOptions,l=r.calendarOptions;if(a&&a!==l){a.timeZone!==l.timeZone&&(t.eventSources=s.eventSources=function(e,t,n){let r=t?t.activeRange:null;return ss(e,as(e,n),r,!0,n)}(s.eventSources,t.dateProfile,s),t.eventStore=s.eventStore=function(e,t,n){let{defs:r}=e,i=yt(e.instances,(e=>{let i=r[e.defId];return i.allDay||i.recurringDef?e:Object.assign(Object.assign({},e),{range:{start:n.createMarker(t.toDate(e.range.start,e.forcedStartTzo)),end:n.createMarker(t.toDate(e.range.end,e.forcedEndTzo))},forcedStartTzo:n.canComputeOffset?null:e.forcedStartTzo,forcedEndTzo:n.canComputeOffset?null:e.forcedEndTzo})}));return{defs:r,instances:i}}(s.eventStore,n.dateEnv,s.dateEnv));for(let e in o)a[e]!==l[e]&&o[e](l[e],s)}e.onData&&e.onData(s)}_computeOptionsData(e,t,n){let{refinedOptions:r,pluginHooks:i,localeDefaults:s,availableLocaleData:o,extra:a}=this.processRawCalendarOptions(e,t);Hs(a);let l=this.buildDateEnv(r.timeZone,r.locale,r.weekNumberCalculation,r.firstDay,r.weekText,i,o,r.defaultRangeSeparator),c=this.buildViewSpecs(i.views,e,t,s),d=this.buildTheme(r,i);return{calendarOptions:r,pluginHooks:i,dateEnv:l,viewSpecs:c,theme:d,toolbarConfig:this.parseToolbars(r,e,d,c,n),localeDefaults:s,availableRawLocales:o.map}}processRawCalendarOptions(e,t){let{locales:n,locale:r}=pn([ln,e,t]),i=this.organizeRawLocales(n),s=i.map,o=this.buildLocale(r||i.defaultCode,s).options,a=this.buildPluginHooks(e.plugins||[],ws),l=this.currentCalendarOptionsRefiners=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},an),cn),dn),a.listenerRefiners),a.optionRefiners),c={},d=pn([ln,o,e,t]),u={},h=this.currentCalendarOptionsInput,f=this.currentCalendarOptionsRefined,p=!1;for(let e in d)"plugins"!==e&&(d[e]===h[e]||un[e]&&e in h&&un[e](h[e],d[e])?u[e]=f[e]:l[e]?(u[e]=l[e](d[e]),p=!0):c[e]=h[e]);return p&&(this.currentCalendarOptionsInput=d,this.currentCalendarOptionsRefined=u),{rawOptions:this.currentCalendarOptionsInput,refinedOptions:this.currentCalendarOptionsRefined,pluginHooks:a,availableLocaleData:i,localeDefaults:o,extra:c}}_computeCurrentViewData(e,t,n,r){let i=t.viewSpecs[e];if(!i)throw new Error(`viewType "${e}" is not available. Please make sure you've loaded all neccessary plugins`);let{refinedOptions:s,extra:o}=this.processRawViewOptions(i,t.pluginHooks,t.localeDefaults,n,r);return Hs(o),{viewSpec:i,options:s,dateProfileGenerator:this.buildDateProfileGenerator({dateProfileGeneratorClass:i.optionDefaults.dateProfileGeneratorClass,duration:i.duration,durationUnit:i.durationUnit,usesMinMaxTime:i.optionDefaults.usesMinMaxTime,dateEnv:t.dateEnv,calendarApi:this.props.calendarApi,slotMinTime:s.slotMinTime,slotMaxTime:s.slotMaxTime,showNonCurrentDates:s.showNonCurrentDates,dayCount:s.dayCount,dateAlignment:s.dateAlignment,dateIncrement:s.dateIncrement,hiddenDays:s.hiddenDays,weekends:s.weekends,nowInput:s.now,validRangeInput:s.validRange,visibleRangeInput:s.visibleRange,monthMode:s.monthMode,fixedWeekCount:s.fixedWeekCount}),viewApi:this.buildViewApi(e,this.getCurrentData,t.dateEnv)}}processRawViewOptions(e,t,n,r,i){let s=pn([ln,e.optionDefaults,n,r,e.optionOverrides,i]),o=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},an),cn),dn),fn),t.listenerRefiners),t.optionRefiners),a={},l=this.currentViewOptionsInput,c=this.currentViewOptionsRefined,d=!1,u={};for(let e in s)s[e]===l[e]||un[e]&&un[e](s[e],l[e])?a[e]=c[e]:(s[e]===this.currentCalendarOptionsInput[e]||un[e]&&un[e](s[e],this.currentCalendarOptionsInput[e])?e in this.currentCalendarOptionsRefined&&(a[e]=this.currentCalendarOptionsRefined[e]):o[e]?a[e]=o[e](s[e]):u[e]=s[e],d=!0);return d&&(this.currentViewOptionsInput=s,this.currentViewOptionsRefined=a),{rawOptions:this.currentViewOptionsInput,refinedOptions:this.currentViewOptionsRefined,extra:u}}}function Rs(e,t,n,r,i,s,o,a){let l=zr(t||o.defaultCode,o.map);return new Nr({calendarSystem:"gregory",timeZone:e,namedTimeZoneImpl:s.namedTimeZonedImpl,locale:l,weekNumberCalculation:n,firstDay:r,weekText:i,cmdFormatter:s.cmdFormatter,defaultSeparator:a})}function ks(e,t){return new(t.themeClasses[e.themeSystem]||ji)(e)}function Ts(e){return new(e.dateProfileGeneratorClass||Ki)(e)}function _s(e,t,n){return new Er(e,t,n)}function Ms(e){return yt(e,(e=>e.ui))}function Is(e,t,n){let r={"":t};for(let t in e){let i=e[t];i.sourceId&&n[i.sourceId]&&(r[t]=n[i.sourceId])}return r}function Os(e){let{options:t}=e;return{eventUiSingleBase:xn({display:t.eventDisplay,editable:t.editable,startEditable:t.eventStartEditable,durationEditable:t.eventDurationEditable,constraint:t.eventConstraint,overlap:"boolean"==typeof t.eventOverlap?t.eventOverlap:void 0,allow:t.eventAllow,backgroundColor:t.eventBackgroundColor,borderColor:t.eventBorderColor,textColor:t.eventTextColor,color:t.eventColor},e),selectionConfig:xn({constraint:t.selectConstraint,overlap:"boolean"==typeof t.selectOverlap?t.selectOverlap:void 0,allow:t.selectAllow},e)}}function Ns(e,t){for(let n of t.pluginHooks.isLoadingFuncs)if(n(e))return!0;return!1}function Ps(e){return Wr(e.options.businessHours,e)}function Hs(e,t){for(let n in e)console.warn(`Unknown option '${n}'`+(t?` for view '${t}'`:""))}class Bs{constructor(){this.strictOrder=!1,this.allowReslicing=!1,this.maxCoord=-1,this.maxStackCnt=-1,this.levelCoords=[],this.entriesByLevel=[],this.stackCnts={}}addSegs(e){let t=[];for(let n of e)this.insertEntry(n,t);return t}insertEntry(e,t){let n=this.findInsertion(e);return this.isInsertionValid(n,e)?(this.insertEntryAt(e,n),1):this.handleInvalidInsertion(n,e,t)}isInsertionValid(e,t){return(-1===this.maxCoord||e.levelCoord+t.thickness<=this.maxCoord)&&(-1===this.maxStackCnt||e.stackCnt<this.maxStackCnt)}handleInvalidInsertion(e,t,n){return this.allowReslicing&&e.touchingEntry?this.splitEntry(t,e.touchingEntry,n):(n.push(t),0)}splitEntry(e,t,n){let r=0,i=[],s=e.span,o=t.span;return s.start<o.start&&(r+=this.insertEntry({index:e.index,thickness:e.thickness,span:{start:s.start,end:o.start}},i)),s.end>o.end&&(r+=this.insertEntry({index:e.index,thickness:e.thickness,span:{start:o.end,end:s.end}},i)),r?(n.push({index:e.index,thickness:e.thickness,span:Fs(o,s)},...i),r):(n.push(e),0)}insertEntryAt(e,t){let{entriesByLevel:n,levelCoords:r}=this;-1===t.lateral?(Ws(r,t.level,t.levelCoord),Ws(n,t.level,[e])):Ws(n[t.level],t.lateral,e),this.stackCnts[zs(e)]=t.stackCnt}findInsertion(e){let{levelCoords:t,entriesByLevel:n,strictOrder:r,stackCnts:i}=this,s=t.length,o=0,a=-1,l=-1,c=null,d=0;for(let u=0;u<s;u+=1){let s=t[u];if(!r&&s>=o+e.thickness)break;let h,f=n[u],p=Vs(f,e.span.start,js),g=p[0]+p[1];for(;(h=f[g])&&h.span.start<e.span.end;){let e=s+h.thickness;e>o&&(o=e,c=h,a=u,l=g),e===o&&(d=Math.max(d,i[zs(h)]+1)),g+=1}}let u=0;if(c)for(u=a+1;u<s&&t[u]<o;)u+=1;let h=-1;return u<s&&t[u]===o&&(h=Vs(n[u],e.span.end,js)[0]),{touchingLevel:a,touchingLateral:l,touchingEntry:c,stackCnt:d,levelCoord:o,level:u,lateral:h}}toRects(){let{entriesByLevel:e,levelCoords:t}=this,n=e.length,r=[];for(let i=0;i<n;i+=1){let n=e[i],s=t[i];for(let e of n)r.push(Object.assign(Object.assign({},e),{levelCoord:s}))}return r}}function js(e){return e.span.end}function zs(e){return e.index+":"+e.span.start}function Us(e){let t=[];for(let n of e){let e=[],r={span:n.span,entries:[n]};for(let n of t)Fs(n.span,r.span)?r={entries:n.entries.concat(r.entries),span:Ls(n.span,r.span)}:e.push(n);e.push(r),t=e}return t}function Ls(e,t){return{start:Math.min(e.start,t.start),end:Math.max(e.end,t.end)}}function Fs(e,t){let n=Math.max(e.start,t.start),r=Math.min(e.end,t.end);return n<r?{start:n,end:r}:null}function Ws(e,t,n){e.splice(t,0,n)}function Vs(e,t,n){let r=0,i=e.length;if(!i||t<n(e[r]))return[0,0];if(t>n(e[i-1]))return[i,0];for(;r<i;){let s=Math.floor(r+(i-r)/2),o=n(e[s]);if(t<o)i=s;else{if(!(t>o))return[s,1];r=s+1}}return[r,0]}class Gs{constructor(e){this.component=e.component,this.isHitComboAllowed=e.isHitComboAllowed||null}destroy(){}}function Qs(e){return{[e.component.uid]:e}}const Ys={};class qs{constructor(e,t){this.emitter=new gi}destroy(){}setMirrorIsVisible(e){}setMirrorNeedsRevert(e){}setAutoScrollEnabled(e){}}const Zs={},Xs={startTime:Mt,duration:Mt,create:Boolean,sourceId:String};function $s(e){let{refined:t,extra:n}=gn(e,Xs);return{startTime:t.startTime||null,duration:t.duration||null,create:null==t.create||t.create,sourceId:t.sourceId,leftoverProps:n}}class Js extends Ni{render(){let e=this.props.widgetGroups.map((e=>this.renderWidgetGroup(e)));return wi("div",{className:"fc-toolbar-chunk"},...e)}renderWidgetGroup(e){let{props:t}=this,{theme:n}=this.context,r=[],i=!0;for(let s of e){let{buttonName:e,buttonClick:o,buttonText:a,buttonIcon:l,buttonHint:c}=s;if("title"===e)i=!1,r.push(wi("h2",{className:"fc-toolbar-title",id:t.titleId},t.title));else{let i=e===t.activeButton,s=!t.isTodayEnabled&&"today"===e||!t.isPrevEnabled&&"prev"===e||!t.isNextEnabled&&"next"===e,d=[`fc-${e}-button`,n.getClass("button")];i&&d.push(n.getClass("buttonActive")),r.push(wi("button",{type:"button",title:"function"==typeof c?c(t.navUnit):c,disabled:s,"aria-pressed":i,className:d.join(" "),onClick:o},a||(l?wi("span",{className:l}):"")))}}if(r.length>1){let e=i&&n.getClass("buttonGroup")||"";return wi("div",{className:e},...r)}return r[0]}}class Ks extends Ni{render(){let e,t,{model:n,extraClassName:r}=this.props,i=!1,s=n.sectionWidgets,o=s.center;return s.left?(i=!0,e=s.left):e=s.start,s.right?(i=!0,t=s.right):t=s.end,wi("div",{className:[r||"","fc-toolbar",i?"fc-toolbar-ltr":""].join(" ")},this.renderSection("start",e||[]),this.renderSection("center",o||[]),this.renderSection("end",t||[]))}renderSection(e,t){let{props:n}=this;return wi(Js,{key:e,widgetGroups:t,title:n.title,navUnit:n.navUnit,activeButton:n.activeButton,isTodayEnabled:n.isTodayEnabled,isPrevEnabled:n.isPrevEnabled,isNextEnabled:n.isNextEnabled,titleId:n.titleId})}}class eo extends Ni{constructor(){super(...arguments),this.state={availableWidth:null},this.handleEl=e=>{this.el=e,Pi(this.props.elRef,e),this.updateAvailableWidth()},this.handleResize=()=>{this.updateAvailableWidth()}}render(){let{props:e,state:t}=this,{aspectRatio:n}=e,r=["fc-view-harness",n||e.liquid||e.height?"fc-view-harness-active":"fc-view-harness-passive"],i="",s="";return n?null!==t.availableWidth?i=t.availableWidth/n:s=1/n*100+"%":i=e.height||"",wi("div",{"aria-labelledby":e.labeledById,ref:this.handleEl,className:r.join(" "),style:{height:i,paddingBottom:s}},e.children)}componentDidMount(){this.context.addResizeHandler(this.handleResize)}componentWillUnmount(){this.context.removeResizeHandler(this.handleResize)}updateAvailableWidth(){this.el&&this.props.aspectRatio&&this.setState({availableWidth:this.el.offsetWidth})}}class to extends Gs{constructor(e){super(e),this.handleSegClick=(e,t)=>{let{component:n}=this,{context:r}=n,i=Xn(t);if(i&&n.isValidSegDownEl(e.target)){let s=be(e.target,".fc-event-forced-url"),o=s?s.querySelector("a[href]").href:"";r.emitter.trigger("eventClick",{el:t,event:new xr(n.context,i.eventRange.def,i.eventRange.instance),jsEvent:e,view:r.viewApi}),o&&!e.defaultPrevented&&(window.location.href=o)}},this.destroy=Te(e.el,"click",".fc-event",this.handleSegClick)}}class no extends Gs{constructor(e){super(e),this.handleEventElRemove=e=>{e===this.currentSegEl&&this.handleSegLeave(null,this.currentSegEl)},this.handleSegEnter=(e,t)=>{Xn(t)&&(this.currentSegEl=t,this.triggerEvent("eventMouseEnter",e,t))},this.handleSegLeave=(e,t)=>{this.currentSegEl&&(this.currentSegEl=null,this.triggerEvent("eventMouseLeave",e,t))},this.removeHoverListeners=function(e,t,n,r){let i;return Te(e,"mouseover",t,((e,t)=>{if(t!==i){i=t,n(e,t);let s=e=>{i=null,r(e,t),t.removeEventListener("mouseleave",s)};t.addEventListener("mouseleave",s)}}))}(e.el,".fc-event",this.handleSegEnter,this.handleSegLeave)}destroy(){this.removeHoverListeners()}triggerEvent(e,t,n){let{component:r}=this,{context:i}=r,s=Xn(n);t&&!r.isValidSegDownEl(t.target)||i.emitter.trigger(e,{el:n,event:new xr(i,s.eventRange.def,s.eventRange.instance),jsEvent:t,view:i.viewApi})}}class ro extends Oi{constructor(){super(...arguments),this.buildViewContext=Vt(Ii),this.buildViewPropTransformers=Vt(so),this.buildToolbarProps=Vt(io),this.headerRef=Si(),this.footerRef=Si(),this.interactionsStore={},this.state={viewLabelId:Re()},this.registerInteractiveComponent=(e,t)=>{let n=function(e,t){return{component:e,el:t.el,useEventCenter:null==t.useEventCenter||t.useEventCenter,isHitComboAllowed:t.isHitComboAllowed||null}}(e,t),r=[to,no].concat(this.props.pluginHooks.componentInteractions).map((e=>new e(n)));this.interactionsStore[e.uid]=r,Ys[e.uid]=n},this.unregisterInteractiveComponent=e=>{let t=this.interactionsStore[e.uid];if(t){for(let e of t)e.destroy();delete this.interactionsStore[e.uid]}delete Ys[e.uid]},this.resizeRunner=new As((()=>{this.props.emitter.trigger("_resize",!0),this.props.emitter.trigger("windowResize",{view:this.props.viewApi})})),this.handleWindowResize=e=>{let{options:t}=this.props;t.handleWindowResize&&e.target===window&&this.resizeRunner.request(t.windowResizeDelay)}}render(){let e,{props:t}=this,{toolbarConfig:n,options:r}=t,i=this.buildToolbarProps(t.viewSpec,t.dateProfile,t.dateProfileGenerator,t.currentDate,Sr(t.options.now,t.dateEnv),t.viewTitle),s=!1,o="";t.isHeightAuto||t.forPrint?o="":null!=r.height?s=!0:null!=r.contentHeight?o=r.contentHeight:e=Math.max(r.aspectRatio,.5);let a=this.buildViewContext(t.viewSpec,t.viewApi,t.options,t.dateProfileGenerator,t.dateEnv,t.theme,t.pluginHooks,t.dispatch,t.getCurrentData,t.emitter,t.calendarApi,this.registerInteractiveComponent,this.unregisterInteractiveComponent),l=n.header&&n.header.hasTitle?this.state.viewLabelId:"";return wi(Mi.Provider,{value:a},n.header&&wi(Ks,Object.assign({ref:this.headerRef,extraClassName:"fc-header-toolbar",model:n.header,titleId:l},i)),wi(eo,{liquid:s,height:o,aspectRatio:e,labeledById:l},this.renderView(t),this.buildAppendContent()),n.footer&&wi(Ks,Object.assign({ref:this.footerRef,extraClassName:"fc-footer-toolbar",model:n.footer,titleId:""},i)))}componentDidMount(){let{props:e}=this;this.calendarInteractions=e.pluginHooks.calendarInteractions.map((t=>new t(e))),window.addEventListener("resize",this.handleWindowResize);let{propSetHandlers:t}=e.pluginHooks;for(let n in t)t[n](e[n],e)}componentDidUpdate(e){let{props:t}=this,{propSetHandlers:n}=t.pluginHooks;for(let r in n)t[r]!==e[r]&&n[r](t[r],t)}componentWillUnmount(){window.removeEventListener("resize",this.handleWindowResize),this.resizeRunner.clear();for(let e of this.calendarInteractions)e.destroy();this.props.emitter.trigger("_unmount")}buildAppendContent(){let{props:e}=this,t=e.pluginHooks.viewContainerAppends.map((t=>t(e)));return wi(Ci,{},...t)}renderView(e){let{pluginHooks:t}=e,{viewSpec:n}=e,r={dateProfile:e.dateProfile,businessHours:e.businessHours,eventStore:e.renderableEventStore,eventUiBases:e.eventUiBases,dateSelection:e.dateSelection,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,isHeightAuto:e.isHeightAuto,forPrint:e.forPrint},i=this.buildViewPropTransformers(t.viewPropsTransformers);for(let t of i)me(r,t.transform(r,e));let s=n.component;return wi(s,Object.assign({},r))}}function io(e,t,n,r,i,s){let o=n.build(i,void 0,!1),a=n.buildPrev(t,r,!1),l=n.buildNext(t,r,!1);return{title:s,activeButton:e.type,navUnit:e.singleUnit,isTodayEnabled:o.isValid&&!Qn(t.currentRange,i),isPrevEnabled:a.isValid,isNextEnabled:l.isValid}}function so(e){return e.map((e=>new e))}class oo extends Ni{constructor(){super(...arguments),this.state={forPrint:!1},this.handleBeforePrint=()=>{this.setState({forPrint:!0})},this.handleAfterPrint=()=>{this.setState({forPrint:!1})}}render(){let{props:e}=this,{options:t}=e,{forPrint:n}=this.state,r=n||"auto"===t.height||"auto"===t.contentHeight,i=r||null==t.height?"":t.height,s=["fc",n?"fc-media-print":"fc-media-screen",`fc-direction-${t.direction}`,e.theme.getClass("root")];return Xr()||s.push("fc-liquid-hack"),e.children(s,i,r,n)}componentDidMount(){let{emitter:e}=this.props;e.on("_beforeprint",this.handleBeforePrint),e.on("_afterprint",this.handleAfterPrint)}componentWillUnmount(){let{emitter:e}=this.props;e.off("_beforeprint",this.handleBeforePrint),e.off("_afterprint",this.handleAfterPrint)}}function ao(e,t){return on(!e||t>10?{weekday:"short"}:t>1?{weekday:"short",month:"numeric",day:"numeric",omitCommas:!0}:{weekday:"long"})}const lo="fc-col-header-cell";function co(e){return e.text}class uo extends Ni{render(){let{dateEnv:e,options:t,theme:n,viewApi:r}=this.context,{props:i}=this,{date:s,dateProfile:o}=i,a=ei(s,i.todayRange,null,o),l=[lo].concat(ti(a,n)),c=e.format(s,i.dayHeaderFormat),d=!a.isDisabled&&i.colCnt>1?ii(this.context,s):{},u=Object.assign(Object.assign(Object.assign({date:e.toDate(s),view:r},i.extraHookProps),{text:c}),a);return wi(Ui,{hookProps:u,classNames:t.dayHeaderClassNames,content:t.dayHeaderContent,defaultContent:co,didMount:t.dayHeaderDidMount,willUnmount:t.dayHeaderWillUnmount},((e,t,n,r)=>wi("th",Object.assign({ref:e,role:"columnheader",className:l.concat(t).join(" "),"data-date":a.isDisabled?void 0:Ut(s),colSpan:i.colSpan},i.extraDataAttrs),wi("div",{className:"fc-scrollgrid-sync-inner"},!a.isDisabled&&wi("a",Object.assign({ref:n,className:["fc-col-header-cell-cushion",i.isSticky?"fc-sticky":""].join(" ")},d),r)))))}}const ho=on({weekday:"long"});class fo extends Ni{render(){let{props:e}=this,{dateEnv:t,theme:n,viewApi:r,options:i}=this.context,s=Ke(new Date(2592e5),e.dow),o={dow:e.dow,isDisabled:!1,isFuture:!1,isPast:!1,isToday:!1,isOther:!1},a=[lo].concat(ti(o,n),e.extraClassNames||[]),l=t.format(s,e.dayHeaderFormat),c=Object.assign(Object.assign(Object.assign(Object.assign({date:s},o),{view:r}),e.extraHookProps),{text:l});return wi(Ui,{hookProps:c,classNames:i.dayHeaderClassNames,content:i.dayHeaderContent,defaultContent:co,didMount:i.dayHeaderDidMount,willUnmount:i.dayHeaderWillUnmount},((n,r,i,o)=>wi("th",Object.assign({ref:n,role:"columnheader",className:a.concat(r).join(" "),colSpan:e.colSpan},e.extraDataAttrs),wi("div",{className:"fc-scrollgrid-sync-inner"},wi("a",{"aria-label":t.format(s,ho),className:["fc-col-header-cell-cushion",e.isSticky?"fc-sticky":""].join(" "),ref:i},o)))))}}class po extends Di{constructor(e,t){super(e,t),this.initialNowDate=Sr(t.options.now,t.dateEnv),this.initialNowQueriedMs=(new Date).valueOf(),this.state=this.computeTiming().currentState}render(){let{props:e,state:t}=this;return e.children(t.nowDate,t.todayRange)}componentDidMount(){this.setTimeout()}componentDidUpdate(e){e.unit!==this.props.unit&&(this.clearTimeout(),this.setTimeout())}componentWillUnmount(){this.clearTimeout()}computeTiming(){let{props:e,context:t}=this,n=et(this.initialNowDate,(new Date).valueOf()-this.initialNowQueriedMs),r=t.dateEnv.startOf(n,e.unit),i=t.dateEnv.add(r,Mt(1,e.unit)),s=i.valueOf()-n.valueOf();return s=Math.min(864e5,s),{currentState:{nowDate:r,todayRange:go(r)},nextState:{nowDate:i,todayRange:go(i)},waitMs:s}}setTimeout(){let{nextState:e,waitMs:t}=this.computeTiming();this.timeoutId=setTimeout((()=>{this.setState(e,(()=>{this.setTimeout()}))}),t)}clearTimeout(){this.timeoutId&&clearTimeout(this.timeoutId)}}function go(e){let t=ot(e);return{start:t,end:Ke(t,1)}}po.contextType=Mi;class mo extends Ni{constructor(){super(...arguments),this.createDayHeaderFormatter=Vt(vo)}render(){let{context:e}=this,{dates:t,dateProfile:n,datesRepDistinctDays:r,renderIntro:i}=this.props,s=this.createDayHeaderFormatter(e.options.dayHeaderFormat,r,t.length);return wi(po,{unit:"day"},((e,o)=>wi("tr",{role:"row"},i&&i("day"),t.map((e=>r?wi(uo,{key:e.toISOString(),date:e,dateProfile:n,todayRange:o,colCnt:t.length,dayHeaderFormat:s}):wi(fo,{key:e.getUTCDay(),dow:e.getUTCDay(),dayHeaderFormat:s}))))))}}function vo(e,t,n){return e||ao(t,n)}class bo{constructor(e,t){let n=e.start,{end:r}=e,i=[],s=[],o=-1;for(;n<r;)t.isHiddenDay(n)?i.push(o+.5):(o+=1,i.push(o),s.push(n)),n=Ke(n,1);this.dates=s,this.indices=i,this.cnt=s.length}sliceRange(e){let t=this.getDateDayIndex(e.start),n=this.getDateDayIndex(Ke(e.end,-1)),r=Math.max(0,t),i=Math.min(this.cnt-1,n);return r=Math.ceil(r),i=Math.floor(i),r<=i?{firstIndex:r,lastIndex:i,isStart:t===r,isEnd:n===i}:null}getDateDayIndex(e){let{indices:t}=this,n=Math.floor(nt(this.dates[0],e));return n<0?t[0]-1:n>=t.length?t[t.length-1]+1:t[n]}}class yo{constructor(e,t){let n,r,i,{dates:s}=e;if(t){for(r=s[0].getUTCDay(),n=1;n<s.length&&s[n].getUTCDay()!==r;n+=1);i=Math.ceil(s.length/n)}else i=1,n=s.length;this.rowCnt=i,this.colCnt=n,this.daySeries=e,this.cells=this.buildCells(),this.headerDates=this.buildHeaderDates()}buildCells(){let e=[];for(let t=0;t<this.rowCnt;t+=1){let n=[];for(let e=0;e<this.colCnt;e+=1)n.push(this.buildCell(t,e));e.push(n)}return e}buildCell(e,t){let n=this.daySeries.dates[e*this.colCnt+t];return{key:n.toISOString(),date:n}}buildHeaderDates(){let e=[];for(let t=0;t<this.colCnt;t+=1)e.push(this.cells[0][t].date);return e}sliceRange(e){let{colCnt:t}=this,n=this.daySeries.sliceRange(e),r=[];if(n){let{firstIndex:e,lastIndex:i}=n,s=e;for(;s<=i;){let o=Math.floor(s/t),a=Math.min((o+1)*t,i+1);r.push({row:o,firstCol:s%t,lastCol:(a-1)%t,isStart:n.isStart&&s===e,isEnd:n.isEnd&&a-1===i}),s=a}}return r}}class Eo{constructor(){this.sliceBusinessHours=Vt(this._sliceBusinessHours),this.sliceDateSelection=Vt(this._sliceDateSpan),this.sliceEventStore=Vt(this._sliceEventStore),this.sliceEventDrag=Vt(this._sliceInteraction),this.sliceEventResize=Vt(this._sliceInteraction),this.forceDayIfListItem=!1}sliceProps(e,t,n,r,...i){let{eventUiBases:s}=e,o=this.sliceEventStore(e.eventStore,s,t,n,...i);return{dateSelectionSegs:this.sliceDateSelection(e.dateSelection,s,r,...i),businessHourSegs:this.sliceBusinessHours(e.businessHours,t,n,r,...i),fgEventSegs:o.fg,bgEventSegs:o.bg,eventDrag:this.sliceEventDrag(e.eventDrag,s,t,n,...i),eventResize:this.sliceEventResize(e.eventResize,s,t,n,...i),eventSelection:e.eventSelection}}sliceNowDate(e,t,...n){return this._sliceDateSpan({range:{start:e,end:et(e,1)},allDay:!1},{},t,...n)}_sliceBusinessHours(e,t,n,r,...i){return e?this._sliceEventStore(Rt(e,Do(t,Boolean(n)),r),{},t,n,...i).bg:[]}_sliceEventStore(e,t,n,r,...i){if(e){let s=Yn(e,t,Do(n,Boolean(r)),r);return{bg:this.sliceEventRanges(s.bg,i),fg:this.sliceEventRanges(s.fg,i)}}return{bg:[],fg:[]}}_sliceInteraction(e,t,n,r,...i){if(!e)return null;let s=Yn(e.mutatedEvents,t,Do(n,Boolean(r)),r);return{segs:this.sliceEventRanges(s.fg,i),affectedInstances:e.affectedEvents.instances,isEvent:e.isEvent}}_sliceDateSpan(e,t,n,...r){if(!e)return[];let i=function(e,t,n){let r=On({editable:!1},n),i=Pn(r.refined,r.extra,"",e.allDay,!0,n);return{def:i,ui:Jn(i,t),instance:gt(i.defId,e.range),range:e.range,isStart:!0,isEnd:!0}}(e,t,n),s=this.sliceRange(e.range,...r);for(let e of s)e.eventRange=i;return s}sliceEventRanges(e,t){let n=[];for(let r of e)n.push(...this.sliceEventRange(r,t));return n}sliceEventRange(e,t){let n=e.range;this.forceDayIfListItem&&"list-item"===e.ui.display&&(n={start:n.start,end:Ke(n.start,1)});let r=this.sliceRange(n,...t);for(let t of r)t.eventRange=e,t.isStart=e.isStart&&t.isStart,t.isEnd=e.isEnd&&t.isEnd;return r}}function Do(e,t){let n=e.activeRange;return t?n:{start:et(n.start,e.slotMinTime.milliseconds),end:et(n.end,e.slotMaxTime.milliseconds-864e5)}}function wo(e,t,n){let{instances:r}=e.mutatedEvents;for(let e in r)if(!Gn(t.validRange,r[e].range))return!1;return So({eventDrag:e},n)}function Ao(e,t,n){return!!Gn(t.validRange,e.range)&&So({dateSelection:e},n)}function So(e,t){let n=t.getCurrentData(),r=Object.assign({businessHours:n.businessHours,dateSelection:"",eventStore:n.eventStore,eventUiBases:n.eventUiBases,eventSelection:"",eventDrag:null,eventResize:null},e);return(t.pluginHooks.isPropsValid||Co)(r,t)}function Co(e,t,n={},r){return!(e.eventDrag&&!function(e,t,n,r){let i=t.getCurrentData(),s=e.eventDrag,o=s.mutatedEvents,a=o.defs,l=o.instances,c=$n(a,s.isEvent?e.eventUiBases:{"":i.selectionConfig});r&&(c=yt(c,r));let d=(p=e.eventStore,g=s.affectedEvents.instances,{defs:p.defs,instances:bt(p.instances,(e=>!g[e.instanceId]))}),u=d.defs,h=d.instances,f=$n(u,e.eventUiBases);var p,g;for(let r in l){let o=l[r],p=o.range,g=c[o.defId],m=a[o.defId];if(!xo(g.constraints,p,d,e.businessHours,t))return!1;let{eventOverlap:v}=t.options,b="function"==typeof v?v:null;for(let e in h){let n=h[e];if(Vn(p,n.range)){if(!1===f[n.defId].overlap&&s.isEvent)return!1;if(!1===g.overlap)return!1;if(b&&!b(new xr(t,u[n.defId],n),new xr(t,m,o)))return!1}}let y=i.eventStore;for(let e of g.allows){let i,s=Object.assign(Object.assign({},n),{range:o.range,allDay:m.allDay}),a=y.defs[m.defId],l=y.instances[r];if(i=a?new xr(t,a,l):new xr(t,m),!e(gr(s,t),i))return!1}}return!0}(e,t,n,r))&&!(e.dateSelection&&!function(e,t,n,r){let i=e.eventStore,s=i.defs,o=i.instances,a=e.dateSelection,l=a.range,{selectionConfig:c}=t.getCurrentData();r&&(c=r(c));if(!xo(c.constraints,l,i,e.businessHours,t))return!1;let{selectOverlap:d}=t.options,u="function"==typeof d?d:null;for(let e in o){let n=o[e];if(Vn(l,n.range)){if(!1===c.overlap)return!1;if(u&&!u(new xr(t,s[n.defId],n),null))return!1}}for(let e of c.allows){if(!e(gr(Object.assign(Object.assign({},n),a),t),null))return!1}return!0}(e,t,n,r))}function xo(e,t,n,r,i){for(let s of e)if(!To(Ro(s,t,n,r,i),t))return!1;return!0}function Ro(e,t,n,r,i){return"businessHours"===e?ko(Rt(r,t,i)):"string"==typeof e?ko(wn(n,(t=>t.groupId===e))):"object"==typeof e&&e?ko(Rt(e,t,i)):[]}function ko(e){let{instances:t}=e,n=[];for(let e in t)n.push(t[e].range);return n}function To(e,t){for(let n of e)if(Gn(n,t))return!0;return!1}const _o=/^(visible|hidden)$/;class Mo extends Ni{constructor(){super(...arguments),this.handleEl=e=>{this.el=e,Pi(this.props.elRef,e)}}render(){let{props:e}=this,{liquid:t,liquidIsAbsolute:n}=e,r=t&&n,i=["fc-scroller"];return t&&(n?i.push("fc-scroller-liquid-absolute"):i.push("fc-scroller-liquid")),wi("div",{ref:this.handleEl,className:i.join(" "),style:{overflowX:e.overflowX,overflowY:e.overflowY,left:r&&-(e.overcomeLeft||0)||"",right:r&&-(e.overcomeRight||0)||"",bottom:r&&-(e.overcomeBottom||0)||"",marginLeft:!r&&-(e.overcomeLeft||0)||"",marginRight:!r&&-(e.overcomeRight||0)||"",marginBottom:!r&&-(e.overcomeBottom||0)||"",maxHeight:e.maxHeight||""}},e.children)}needsXScrolling(){if(_o.test(this.props.overflowX))return!1;let{el:e}=this,t=this.el.getBoundingClientRect().width-this.getYScrollbarWidth(),{children:n}=e;for(let e=0;e<n.length;e+=1){if(n[e].getBoundingClientRect().width>t)return!0}return!1}needsYScrolling(){if(_o.test(this.props.overflowY))return!1;let{el:e}=this,t=this.el.getBoundingClientRect().height-this.getXScrollbarWidth(),{children:n}=e;for(let e=0;e<n.length;e+=1){if(n[e].getBoundingClientRect().height>t)return!0}return!1}getXScrollbarWidth(){return _o.test(this.props.overflowX)?0:this.el.offsetHeight-this.el.clientHeight}getYScrollbarWidth(){return _o.test(this.props.overflowY)?0:this.el.offsetWidth-this.el.clientWidth}}class Io{constructor(e){this.masterCallback=e,this.currentMap={},this.depths={},this.callbackMap={},this.handleValue=(e,t)=>{let{depths:n,currentMap:r}=this,i=!1,s=!1;null!==e?(i=t in r,r[t]=e,n[t]=(n[t]||0)+1,s=!0):(n[t]-=1,n[t]||(delete r[t],delete this.callbackMap[t],i=!0)),this.masterCallback&&(i&&this.masterCallback(null,String(t)),s&&this.masterCallback(e,String(t)))}}createRef(e){let t=this.callbackMap[e];return t||(t=this.callbackMap[e]=t=>{this.handleValue(t,String(e))}),t}collect(e,t,n){return xt(this.currentMap,e,t,n)}getAll(){return Dt(this.currentMap)}}function Oo(e){let t=Ee(e,".fc-scrollgrid-shrink"),n=0;for(let e of t)n=Math.max(n,Xe(e));return Math.ceil(n)}function No(e,t){return e.liquid&&t.liquid}function Po(e,t){return null!=t.maxHeight||No(e,t)}function Ho(e,t,n,r){let{expandRows:i}=n;return"function"==typeof t.content?t.content(n):wi("table",{role:"presentation",className:[t.tableClassName,e.syncRowHeights?"fc-scrollgrid-sync-table":""].join(" "),style:{minWidth:n.tableMinWidth,width:n.clientWidth,height:i?n.clientHeight:""}},n.tableColGroupNode,wi(r?"thead":"tbody",{role:"presentation"},"function"==typeof t.rowContent?t.rowContent(n):t.rowContent))}function Bo(e,t){return Wt(e,t,wt)}function jo(e,t){let n=[];for(let r of e){let e=r.span||1;for(let i=0;i<e;i+=1)n.push(wi("col",{style:{width:"shrink"===r.width?zo(t):r.width||"",minWidth:r.minWidth||""}}))}return wi("colgroup",{},...n)}function zo(e){return null==e?4:e}function Uo(e){for(let t of e)if("shrink"===t.width)return!0;return!1}function Lo(e,t){let n=["fc-scrollgrid",t.theme.getClass("table")];return e&&n.push("fc-scrollgrid-liquid"),n}function Fo(e,t){let n=["fc-scrollgrid-section",`fc-scrollgrid-section-${e.type}`,e.className];return t&&e.liquid&&null==e.maxHeight&&n.push("fc-scrollgrid-section-liquid"),e.isSticky&&n.push("fc-scrollgrid-section-sticky"),n}function Wo(e){return wi("div",{className:"fc-scrollgrid-sticky-shim",style:{width:e.clientWidth,minWidth:e.tableMinWidth}})}function Vo(e){let{stickyHeaderDates:t}=e;return null!=t&&"auto"!==t||(t="auto"===e.height||"auto"===e.viewHeight),t}function Go(e){let{stickyFooterScrollbar:t}=e;return null!=t&&"auto"!==t||(t="auto"===e.height||"auto"===e.viewHeight),t}class Qo extends Ni{constructor(){super(...arguments),this.processCols=Vt((e=>e),Bo),this.renderMicroColGroup=Vt(jo),this.scrollerRefs=new Io,this.scrollerElRefs=new Io(this._handleScrollerEl.bind(this)),this.state={shrinkWidth:null,forceYScrollbars:!1,scrollerClientWidths:{},scrollerClientHeights:{}},this.handleSizing=()=>{this.safeSetState(Object.assign({shrinkWidth:this.computeShrinkWidth()},this.computeScrollerDims()))}}render(){let{props:e,state:t,context:n}=this,r=e.sections||[],i=this.processCols(e.cols),s=this.renderMicroColGroup(i,t.shrinkWidth),o=Lo(e.liquid,n);e.collapsibleWidth&&o.push("fc-scrollgrid-collapsible");let a,l=r.length,c=0,d=[],u=[],h=[];for(;c<l&&"header"===(a=r[c]).type;)d.push(this.renderSection(a,s,!0)),c+=1;for(;c<l&&"body"===(a=r[c]).type;)u.push(this.renderSection(a,s,!1)),c+=1;for(;c<l&&"footer"===(a=r[c]).type;)h.push(this.renderSection(a,s,!0)),c+=1;let f=!Xr();const p={role:"rowgroup"};return wi("table",{role:"grid",className:o.join(" "),style:{height:e.height}},Boolean(!f&&d.length)&&wi("thead",p,...d),Boolean(!f&&u.length)&&wi("tbody",p,...u),Boolean(!f&&h.length)&&wi("tfoot",p,...h),f&&wi("tbody",p,...d,...u,...h))}renderSection(e,t,n){return"outerContent"in e?wi(Ci,{key:e.key},e.outerContent):wi("tr",{key:e.key,role:"presentation",className:Fo(e,this.props.liquid).join(" ")},this.renderChunkTd(e,t,e.chunk,n))}renderChunkTd(e,t,n,r){if("outerContent"in n)return n.outerContent;let{props:i}=this,{forceYScrollbars:s,scrollerClientWidths:o,scrollerClientHeights:a}=this.state,l=Po(i,e),c=No(i,e),d=i.liquid?s?"scroll":l?"auto":"hidden":"visible",u=e.key,h=Ho(e,n,{tableColGroupNode:t,tableMinWidth:"",clientWidth:i.collapsibleWidth||void 0===o[u]?null:o[u],clientHeight:void 0!==a[u]?a[u]:null,expandRows:e.expandRows,syncRowHeights:!1,rowSyncHeights:[],reportRowHeightChange:()=>{}},r);return wi(r?"th":"td",{ref:n.elRef,role:"presentation"},wi("div",{className:"fc-scroller-harness"+(c?" fc-scroller-harness-liquid":"")},wi(Mo,{ref:this.scrollerRefs.createRef(u),elRef:this.scrollerElRefs.createRef(u),overflowY:d,overflowX:i.liquid?"hidden":"visible",maxHeight:e.maxHeight,liquid:c,liquidIsAbsolute:!0},h)))}_handleScrollerEl(e,t){let n=function(e,t){for(let n of e)if(n.key===t)return n;return null}(this.props.sections,t);n&&Pi(n.chunk.scrollerElRef,e)}componentDidMount(){this.handleSizing(),this.context.addResizeHandler(this.handleSizing)}componentDidUpdate(){this.handleSizing()}componentWillUnmount(){this.context.removeResizeHandler(this.handleSizing)}computeShrinkWidth(){return Uo(this.props.cols)?Oo(this.scrollerElRefs.getAll()):0}computeScrollerDims(){let e=li(),{scrollerRefs:t,scrollerElRefs:n}=this,r=!1,i={},s={};for(let e in t.currentMap){let n=t.currentMap[e];if(n&&n.needsYScrolling()){r=!0;break}}for(let t of this.props.sections){let o=t.key,a=n.currentMap[o];if(a){let t=a.parentNode;i[o]=Math.floor(t.getBoundingClientRect().width-(r?e.y:0)),s[o]=Math.floor(t.getBoundingClientRect().height)}}return{forceYScrollbars:r,scrollerClientWidths:i,scrollerClientHeights:s}}}Qo.addStateEquality({scrollerClientWidths:wt,scrollerClientHeights:wt});class Yo extends Ni{constructor(){super(...arguments),this.elRef=Si()}render(){let{props:e,context:t}=this,{options:n}=t,{seg:r}=e,{eventRange:i}=r,{ui:s}=i,o={event:new xr(t,i.def,i.instance),view:t.viewApi,timeText:e.timeText,textColor:s.textColor,backgroundColor:s.backgroundColor,borderColor:s.borderColor,isDraggable:!e.disableDragging&&tr(r,t),isStartResizable:!e.disableResizing&&nr(r,t),isEndResizable:!e.disableResizing&&rr(r),isMirror:Boolean(e.isDragging||e.isResizing||e.isDateSelecting),isStart:Boolean(r.isStart),isEnd:Boolean(r.isEnd),isPast:Boolean(e.isPast),isFuture:Boolean(e.isFuture),isToday:Boolean(e.isToday),isSelected:Boolean(e.isSelected),isDragging:Boolean(e.isDragging),isResizing:Boolean(e.isResizing)},a=or(o).concat(s.classNames);return wi(Ui,{hookProps:o,classNames:n.eventClassNames,content:n.eventContent,defaultContent:e.defaultContent,didMount:n.eventDidMount,willUnmount:n.eventWillUnmount,elRef:this.elRef},((t,n,r,i)=>e.children(t,a.concat(n),r,i,o)))}componentDidMount(){Zn(this.elRef.current,this.props.seg)}componentDidUpdate(e){let{seg:t}=this.props;t!==e.seg&&Zn(this.elRef.current,t)}}class qo extends Ni{render(){let{props:e,context:t}=this,{seg:n}=e,r=t.options.eventTimeFormat||e.defaultTimeFormat,i=ir(n,r,t,e.defaultDisplayEventTime,e.defaultDisplayEventEnd);return wi(Yo,{seg:n,timeText:i,disableDragging:e.disableDragging,disableResizing:e.disableResizing,defaultContent:e.defaultContent||Zo,isDragging:e.isDragging,isResizing:e.isResizing,isDateSelecting:e.isDateSelecting,isSelected:e.isSelected,isPast:e.isPast,isFuture:e.isFuture,isToday:e.isToday},((r,i,s,o,a)=>wi("a",Object.assign({className:e.extraClassNames.concat(i).join(" "),style:{borderColor:a.borderColor,backgroundColor:a.backgroundColor},ref:r},lr(n,t)),wi("div",{className:"fc-event-main",ref:s,style:{color:a.textColor}},o),a.isStartResizable&&wi("div",{className:"fc-event-resizer fc-event-resizer-start"}),a.isEndResizable&&wi("div",{className:"fc-event-resizer fc-event-resizer-end"}))))}}function Zo(e){return wi("div",{className:"fc-event-main-frame"},e.timeText&&wi("div",{className:"fc-event-time"},e.timeText),wi("div",{className:"fc-event-title-container"},wi("div",{className:"fc-event-title fc-sticky"},e.event.title||wi(Ci,null," "))))}const Xo=e=>wi(Mi.Consumer,null,(t=>{let{options:n}=t,r={isAxis:e.isAxis,date:t.dateEnv.toDate(e.date),view:t.viewApi};return wi(Ui,{hookProps:r,classNames:n.nowIndicatorClassNames,content:n.nowIndicatorContent,didMount:n.nowIndicatorDidMount,willUnmount:n.nowIndicatorWillUnmount},e.children)})),$o=on({day:"numeric"});class Jo extends Ni{render(){let{props:e,context:t}=this,{options:n}=t,r=Ko({date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,showDayNumber:e.showDayNumber,extraProps:e.extraHookProps,viewApi:t.viewApi,dateEnv:t.dateEnv});return wi(Fi,{hookProps:r,content:n.dayCellContent,defaultContent:e.defaultContent},e.children)}}function Ko(e){let{date:t,dateEnv:n}=e,r=ei(t,e.todayRange,null,e.dateProfile);return Object.assign(Object.assign(Object.assign({date:n.toDate(t),view:e.viewApi},r),{dayNumberText:e.showDayNumber?n.format(t,$o):""}),e.extraProps)}class ea extends Ni{constructor(){super(...arguments),this.refineHookProps=Gt(Ko),this.normalizeClassNames=Gi()}render(){let{props:e,context:t}=this,{options:n}=t,r=this.refineHookProps({date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,showDayNumber:e.showDayNumber,extraProps:e.extraHookProps,viewApi:t.viewApi,dateEnv:t.dateEnv}),i=ti(r,t.theme).concat(r.isDisabled?[]:this.normalizeClassNames(n.dayCellClassNames,r)),s=r.isDisabled?{}:{"data-date":Ut(e.date)};return wi(Vi,{hookProps:r,didMount:n.dayCellDidMount,willUnmount:n.dayCellWillUnmount,elRef:e.elRef},(t=>e.children(t,i,s,r.isDisabled)))}}function ta(e){return wi("div",{className:`fc-${e}`})}const na=e=>wi(Yo,{defaultContent:ra,seg:e.seg,timeText:"",disableDragging:!0,disableResizing:!0,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:!1,isPast:e.isPast,isFuture:e.isFuture,isToday:e.isToday},((e,t,n,r,i)=>wi("div",{ref:e,className:["fc-bg-event"].concat(t).join(" "),style:{backgroundColor:i.backgroundColor}},r)));function ra(e){let{title:t}=e.event;return t&&wi("div",{className:"fc-event-title"},e.event.title)}const ia=e=>wi(Mi.Consumer,null,(t=>{let{dateEnv:n,options:r}=t,{date:i}=e,s=r.weekNumberFormat||e.defaultFormat,o=n.computeWeekNumber(i),a=n.format(i,s);return wi(Ui,{hookProps:{num:o,text:a,date:i},classNames:r.weekNumberClassNames,content:r.weekNumberContent,defaultContent:sa,didMount:r.weekNumberDidMount,willUnmount:r.weekNumberWillUnmount},e.children)}));function sa(e){return e.text}class oa extends Ni{constructor(){super(...arguments),this.state={titleId:Re()},this.handleRootEl=e=>{this.rootEl=e,this.props.elRef&&Pi(this.props.elRef,e)},this.handleDocumentMouseDown=e=>{const t=Se(e);this.rootEl.contains(t)||this.handleCloseClick()},this.handleDocumentKeyDown=e=>{"Escape"===e.key&&this.handleCloseClick()},this.handleCloseClick=()=>{let{onClose:e}=this.props;e&&e()}}render(){let{theme:e,options:t}=this.context,{props:n,state:r}=this,i=["fc-popover",e.getClass("popover")].concat(n.extraClassNames||[]);return Ri(wi("div",Object.assign({id:n.id,className:i.join(" "),"aria-labelledby":r.titleId},n.extraAttrs,{ref:this.handleRootEl}),wi("div",{className:"fc-popover-header "+e.getClass("popoverHeader")},wi("span",{className:"fc-popover-title",id:r.titleId},n.title),wi("span",{className:"fc-popover-close "+e.getIconClass("close"),title:t.closeHint,onClick:this.handleCloseClick})),wi("div",{className:"fc-popover-body "+e.getClass("popoverContent")},n.children)),n.parentEl)}componentDidMount(){document.addEventListener("mousedown",this.handleDocumentMouseDown),document.addEventListener("keydown",this.handleDocumentKeyDown),this.updateSize()}componentWillUnmount(){document.removeEventListener("mousedown",this.handleDocumentMouseDown),document.removeEventListener("keydown",this.handleDocumentKeyDown)}updateSize(){let{isRtl:e}=this.context,{alignmentEl:t,alignGridTop:n}=this.props,{rootEl:r}=this,i=function(e){let t=fi(e),n=e.getBoundingClientRect();for(let e of t){let t=Gr(n,e.getBoundingClientRect());if(!t)return null;n=t}return n}(t);if(i){let s=r.getBoundingClientRect(),o=n?be(t,".fc-scrollgrid").getBoundingClientRect().top:i.top,a=e?i.right-s.width:i.left;o=Math.max(o,10),a=Math.min(a,document.documentElement.clientWidth-10-s.width),a=Math.max(a,10);let l=r.offsetParent.getBoundingClientRect();we(r,{top:o-l.top,left:a-l.left})}}}class aa extends Hi{constructor(){super(...arguments),this.handleRootEl=e=>{this.rootEl=e,e?this.context.registerInteractiveComponent(this,{el:e,useEventCenter:!1}):this.context.unregisterInteractiveComponent(this)}}render(){let{options:e,dateEnv:t}=this.context,{props:n}=this,{startDate:r,todayRange:i,dateProfile:s}=n,o=t.format(r,e.dayPopoverFormat);return wi(ea,{date:r,dateProfile:s,todayRange:i,elRef:this.handleRootEl},((e,t,a)=>wi(oa,{elRef:e,id:n.id,title:o,extraClassNames:["fc-more-popover"].concat(t),extraAttrs:a,parentEl:n.parentEl,alignmentEl:n.alignmentEl,alignGridTop:n.alignGridTop,onClose:n.onClose},wi(Jo,{date:r,dateProfile:s,todayRange:i},((e,t)=>t&&wi("div",{className:"fc-more-popover-misc",ref:e},t))),n.children)))}queryHit(e,t,n,r){let{rootEl:i,props:s}=this;return e>=0&&e<n&&t>=0&&t<r?{dateProfile:s.dateProfile,dateSpan:Object.assign({allDay:!0,range:{start:s.startDate,end:s.endDate}},s.extraDateSpan),dayEl:i,rect:{left:0,top:0,right:n,bottom:r},layer:1}:null}}class la extends Ni{constructor(){super(...arguments),this.linkElRef=Si(),this.state={isPopoverOpen:!1,popoverId:Re()},this.handleClick=e=>{let{props:t,context:n}=this,{moreLinkClick:r}=n.options,i=da(t).start;function s(e){let{def:t,instance:r,range:i}=e.eventRange;return{event:new xr(n,t,r),start:n.dateEnv.toDate(i.start),end:n.dateEnv.toDate(i.end),isStart:e.isStart,isEnd:e.isEnd}}"function"==typeof r&&(r=r({date:i,allDay:Boolean(t.allDayDate),allSegs:t.allSegs.map(s),hiddenSegs:t.hiddenSegs.map(s),jsEvent:e,view:n.viewApi})),r&&"popover"!==r?"string"==typeof r&&n.calendarApi.zoomTo(i,r):this.setState({isPopoverOpen:!0})},this.handlePopoverClose=()=>{this.setState({isPopoverOpen:!1})}}render(){let{props:e,state:t}=this;return wi(Mi.Consumer,null,(n=>{let{viewApi:r,options:i,calendarApi:s}=n,{moreLinkText:o}=i,{moreCnt:a}=e,l=da(e),c="function"==typeof o?o.call(s,a):`+${a} ${o}`,d=Ye(i.moreLinkHint,[a],c),u={num:a,shortText:`+${a}`,text:c,view:r};return wi(Ci,null,Boolean(e.moreCnt)&&wi(Ui,{elRef:this.linkElRef,hookProps:u,classNames:i.moreLinkClassNames,content:i.moreLinkContent,defaultContent:e.defaultContent||ca,didMount:i.moreLinkDidMount,willUnmount:i.moreLinkWillUnmount},((n,r,i,s)=>e.children(n,["fc-more-link"].concat(r),i,s,this.handleClick,d,t.isPopoverOpen,t.isPopoverOpen?t.popoverId:""))),t.isPopoverOpen&&wi(aa,{id:t.popoverId,startDate:l.start,endDate:l.end,dateProfile:e.dateProfile,todayRange:e.todayRange,extraDateSpan:e.extraDateSpan,parentEl:this.parentEl,alignmentEl:e.alignmentElRef.current,alignGridTop:e.alignGridTop,onClose:this.handlePopoverClose},e.popoverContent()))}))}componentDidMount(){this.updateParentEl()}componentDidUpdate(){this.updateParentEl()}updateParentEl(){this.linkElRef.current&&(this.parentEl=be(this.linkElRef.current,".fc-view-harness"))}}function ca(e){return e.text}function da(e){if(e.allDayDate)return{start:e.allDayDate,end:Ke(e.allDayDate,1)};let{hiddenSegs:t}=e;return{start:ua(t),end:(n=t,n.reduce(fa).eventRange.range.end)};var n}function ua(e){return e.reduce(ha).eventRange.range.start}function ha(e,t){return e.eventRange.range.start<t.eventRange.range.start?e:t}function fa(e,t){return e.eventRange.range.end>t.eventRange.range.end?e:t}Zs.touchMouseIgnoreWait=500;let pa=0,ga=0,ma=!1;class va{constructor(e){this.subjectEl=null,this.selector="",this.handleSelector="",this.shouldIgnoreMove=!1,this.shouldWatchScroll=!0,this.isDragging=!1,this.isTouchDragging=!1,this.wasTouchScroll=!1,this.handleMouseDown=e=>{if(!this.shouldIgnoreMouse()&&function(e){return 0===e.button&&!e.ctrlKey}(e)&&this.tryStart(e)){let t=this.createEventFromMouse(e,!0);this.emitter.trigger("pointerdown",t),this.initScrollWatch(t),this.shouldIgnoreMove||document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("mouseup",this.handleMouseUp)}},this.handleMouseMove=e=>{let t=this.createEventFromMouse(e);this.recordCoords(t),this.emitter.trigger("pointermove",t)},this.handleMouseUp=e=>{document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),this.emitter.trigger("pointerup",this.createEventFromMouse(e)),this.cleanup()},this.handleTouchStart=e=>{if(this.tryStart(e)){this.isTouchDragging=!0;let t=this.createEventFromTouch(e,!0);this.emitter.trigger("pointerdown",t),this.initScrollWatch(t);let n=e.target;this.shouldIgnoreMove||n.addEventListener("touchmove",this.handleTouchMove),n.addEventListener("touchend",this.handleTouchEnd),n.addEventListener("touchcancel",this.handleTouchEnd),window.addEventListener("scroll",this.handleTouchScroll,!0)}},this.handleTouchMove=e=>{let t=this.createEventFromTouch(e);this.recordCoords(t),this.emitter.trigger("pointermove",t)},this.handleTouchEnd=e=>{if(this.isDragging){let t=e.target;t.removeEventListener("touchmove",this.handleTouchMove),t.removeEventListener("touchend",this.handleTouchEnd),t.removeEventListener("touchcancel",this.handleTouchEnd),window.removeEventListener("scroll",this.handleTouchScroll,!0),this.emitter.trigger("pointerup",this.createEventFromTouch(e)),this.cleanup(),this.isTouchDragging=!1,pa+=1,setTimeout((()=>{pa-=1}),Zs.touchMouseIgnoreWait)}},this.handleTouchScroll=()=>{this.wasTouchScroll=!0},this.handleScroll=e=>{if(!this.shouldIgnoreMove){let t=window.pageXOffset-this.prevScrollX+this.prevPageX,n=window.pageYOffset-this.prevScrollY+this.prevPageY;this.emitter.trigger("pointermove",{origEvent:e,isTouch:this.isTouchDragging,subjectEl:this.subjectEl,pageX:t,pageY:n,deltaX:t-this.origPageX,deltaY:n-this.origPageY})}},this.containerEl=e,this.emitter=new gi,e.addEventListener("mousedown",this.handleMouseDown),e.addEventListener("touchstart",this.handleTouchStart,{passive:!0}),ga+=1,1===ga&&window.addEventListener("touchmove",ba,{passive:!1})}destroy(){this.containerEl.removeEventListener("mousedown",this.handleMouseDown),this.containerEl.removeEventListener("touchstart",this.handleTouchStart,{passive:!0}),ga-=1,ga||window.removeEventListener("touchmove",ba,{passive:!1})}tryStart(e){let t=this.querySubjectEl(e),n=e.target;return!(!t||this.handleSelector&&!be(n,this.handleSelector))&&(this.subjectEl=t,this.isDragging=!0,this.wasTouchScroll=!1,!0)}cleanup(){ma=!1,this.isDragging=!1,this.subjectEl=null,this.destroyScrollWatch()}querySubjectEl(e){return this.selector?be(e.target,this.selector):this.containerEl}shouldIgnoreMouse(){return pa||this.isTouchDragging}cancelTouchScroll(){this.isDragging&&(ma=!0)}initScrollWatch(e){this.shouldWatchScroll&&(this.recordCoords(e),window.addEventListener("scroll",this.handleScroll,!0))}recordCoords(e){this.shouldWatchScroll&&(this.prevPageX=e.pageX,this.prevPageY=e.pageY,this.prevScrollX=window.pageXOffset,this.prevScrollY=window.pageYOffset)}destroyScrollWatch(){this.shouldWatchScroll&&window.removeEventListener("scroll",this.handleScroll,!0)}createEventFromMouse(e,t){let n=0,r=0;return t?(this.origPageX=e.pageX,this.origPageY=e.pageY):(n=e.pageX-this.origPageX,r=e.pageY-this.origPageY),{origEvent:e,isTouch:!1,subjectEl:this.subjectEl,pageX:e.pageX,pageY:e.pageY,deltaX:n,deltaY:r}}createEventFromTouch(e,t){let n,r,i=e.touches,s=0,o=0;return i&&i.length?(n=i[0].pageX,r=i[0].pageY):(n=e.pageX,r=e.pageY),t?(this.origPageX=n,this.origPageY=r):(s=n-this.origPageX,o=r-this.origPageY),{origEvent:e,isTouch:!0,subjectEl:this.subjectEl,pageX:n,pageY:r,deltaX:s,deltaY:o}}}function ba(e){ma&&e.preventDefault()}class ya{constructor(){this.isVisible=!1,this.sourceEl=null,this.mirrorEl=null,this.sourceElRect=null,this.parentNode=document.body,this.zIndex=9999,this.revertDuration=0}start(e,t,n){this.sourceEl=e,this.sourceElRect=this.sourceEl.getBoundingClientRect(),this.origScreenX=t-window.pageXOffset,this.origScreenY=n-window.pageYOffset,this.deltaX=0,this.deltaY=0,this.updateElPosition()}handleMove(e,t){this.deltaX=e-window.pageXOffset-this.origScreenX,this.deltaY=t-window.pageYOffset-this.origScreenY,this.updateElPosition()}setIsVisible(e){e?this.isVisible||(this.mirrorEl&&(this.mirrorEl.style.display=""),this.isVisible=e,this.updateElPosition()):this.isVisible&&(this.mirrorEl&&(this.mirrorEl.style.display="none"),this.isVisible=e)}stop(e,t){let n=()=>{this.cleanup(),t()};e&&this.mirrorEl&&this.isVisible&&this.revertDuration&&(this.deltaX||this.deltaY)?this.doRevertAnimation(n,this.revertDuration):setTimeout(n,0)}doRevertAnimation(e,t){let n=this.mirrorEl,r=this.sourceEl.getBoundingClientRect();n.style.transition="top "+t+"ms,left "+t+"ms",we(n,{left:r.left,top:r.top}),Me(n,(()=>{n.style.transition="",e()}))}cleanup(){this.mirrorEl&&(ve(this.mirrorEl),this.mirrorEl=null),this.sourceEl=null}updateElPosition(){this.sourceEl&&this.isVisible&&we(this.getMirrorEl(),{left:this.sourceElRect.left+this.deltaX,top:this.sourceElRect.top+this.deltaY})}getMirrorEl(){let e=this.sourceElRect,t=this.mirrorEl;return t||(t=this.mirrorEl=this.sourceEl.cloneNode(!0),t.classList.add("fc-unselectable"),t.classList.add("fc-event-dragging"),we(t,{position:"fixed",zIndex:this.zIndex,visibility:"",boxSizing:"border-box",width:e.right-e.left,height:e.bottom-e.top,right:"auto",bottom:"auto",margin:0}),this.parentNode.appendChild(t)),t}}class Ea extends vi{constructor(e,t){super(),this.handleScroll=()=>{this.scrollTop=this.scrollController.getScrollTop(),this.scrollLeft=this.scrollController.getScrollLeft(),this.handleScrollChange()},this.scrollController=e,this.doesListening=t,this.scrollTop=this.origScrollTop=e.getScrollTop(),this.scrollLeft=this.origScrollLeft=e.getScrollLeft(),this.scrollWidth=e.getScrollWidth(),this.scrollHeight=e.getScrollHeight(),this.clientWidth=e.getClientWidth(),this.clientHeight=e.getClientHeight(),this.clientRect=this.computeClientRect(),this.doesListening&&this.getEventTarget().addEventListener("scroll",this.handleScroll)}destroy(){this.doesListening&&this.getEventTarget().removeEventListener("scroll",this.handleScroll)}getScrollTop(){return this.scrollTop}getScrollLeft(){return this.scrollLeft}setScrollTop(e){this.scrollController.setScrollTop(e),this.doesListening||(this.scrollTop=Math.max(Math.min(e,this.getMaxScrollTop()),0),this.handleScrollChange())}setScrollLeft(e){this.scrollController.setScrollLeft(e),this.doesListening||(this.scrollLeft=Math.max(Math.min(e,this.getMaxScrollLeft()),0),this.handleScrollChange())}getClientWidth(){return this.clientWidth}getClientHeight(){return this.clientHeight}getScrollWidth(){return this.scrollWidth}getScrollHeight(){return this.scrollHeight}handleScrollChange(){}}class Da extends Ea{constructor(e,t){super(new bi(e),t)}getEventTarget(){return this.scrollController.el}computeClientRect(){return ui(this.scrollController.el)}}class wa extends Ea{constructor(e){super(new yi,e)}getEventTarget(){return window}computeClientRect(){return{left:this.scrollLeft,right:this.scrollLeft+this.clientWidth,top:this.scrollTop,bottom:this.scrollTop+this.clientHeight}}handleScrollChange(){this.clientRect=this.computeClientRect()}}const Aa="function"==typeof performance?performance.now:Date.now;class Sa{constructor(){this.isEnabled=!0,this.scrollQuery=[window,".fc-scroller"],this.edgeThreshold=50,this.maxVelocity=300,this.pointerScreenX=null,this.pointerScreenY=null,this.isAnimating=!1,this.scrollCaches=null,this.everMovedUp=!1,this.everMovedDown=!1,this.everMovedLeft=!1,this.everMovedRight=!1,this.animate=()=>{if(this.isAnimating){let e=this.computeBestEdge(this.pointerScreenX+window.pageXOffset,this.pointerScreenY+window.pageYOffset);if(e){let t=Aa();this.handleSide(e,(t-this.msSinceRequest)/1e3),this.requestAnimation(t)}else this.isAnimating=!1}}}start(e,t,n){this.isEnabled&&(this.scrollCaches=this.buildCaches(n),this.pointerScreenX=null,this.pointerScreenY=null,this.everMovedUp=!1,this.everMovedDown=!1,this.everMovedLeft=!1,this.everMovedRight=!1,this.handleMove(e,t))}handleMove(e,t){if(this.isEnabled){let n=e-window.pageXOffset,r=t-window.pageYOffset,i=null===this.pointerScreenY?0:r-this.pointerScreenY,s=null===this.pointerScreenX?0:n-this.pointerScreenX;i<0?this.everMovedUp=!0:i>0&&(this.everMovedDown=!0),s<0?this.everMovedLeft=!0:s>0&&(this.everMovedRight=!0),this.pointerScreenX=n,this.pointerScreenY=r,this.isAnimating||(this.isAnimating=!0,this.requestAnimation(Aa()))}}stop(){if(this.isEnabled){this.isAnimating=!1;for(let e of this.scrollCaches)e.destroy();this.scrollCaches=null}}requestAnimation(e){this.msSinceRequest=e,requestAnimationFrame(this.animate)}handleSide(e,t){let{scrollCache:n}=e,{edgeThreshold:r}=this,i=r-e.distance,s=i*i/(r*r)*this.maxVelocity*t,o=1;switch(e.name){case"left":o=-1;case"right":n.setScrollLeft(n.getScrollLeft()+s*o);break;case"top":o=-1;case"bottom":n.setScrollTop(n.getScrollTop()+s*o)}}computeBestEdge(e,t){let{edgeThreshold:n}=this,r=null,i=this.scrollCaches||[];for(let s of i){let i=s.clientRect,o=e-i.left,a=i.right-e,l=t-i.top,c=i.bottom-t;o>=0&&a>=0&&l>=0&&c>=0&&(l<=n&&this.everMovedUp&&s.canScrollUp()&&(!r||r.distance>l)&&(r={scrollCache:s,name:"top",distance:l}),c<=n&&this.everMovedDown&&s.canScrollDown()&&(!r||r.distance>c)&&(r={scrollCache:s,name:"bottom",distance:c}),o<=n&&this.everMovedLeft&&s.canScrollLeft()&&(!r||r.distance>o)&&(r={scrollCache:s,name:"left",distance:o}),a<=n&&this.everMovedRight&&s.canScrollRight()&&(!r||r.distance>a)&&(r={scrollCache:s,name:"right",distance:a}))}return r}buildCaches(e){return this.queryScrollEls(e).map((e=>e===window?new wa(!1):new Da(e,!1)))}queryScrollEls(e){let t=[];for(let n of this.scrollQuery)"object"==typeof n?t.push(n):t.push(...Array.prototype.slice.call(Ce(e).querySelectorAll(n)));return t}}class Ca extends qs{constructor(e,t){super(e),this.containerEl=e,this.delay=null,this.minDistance=0,this.touchScrollAllowed=!0,this.mirrorNeedsRevert=!1,this.isInteracting=!1,this.isDragging=!1,this.isDelayEnded=!1,this.isDistanceSurpassed=!1,this.delayTimeoutId=null,this.onPointerDown=e=>{this.isDragging||(this.isInteracting=!0,this.isDelayEnded=!1,this.isDistanceSurpassed=!1,je(document.body),Ue(document.body),e.isTouch||e.origEvent.preventDefault(),this.emitter.trigger("pointerdown",e),this.isInteracting&&!this.pointer.shouldIgnoreMove&&(this.mirror.setIsVisible(!1),this.mirror.start(e.subjectEl,e.pageX,e.pageY),this.startDelay(e),this.minDistance||this.handleDistanceSurpassed(e)))},this.onPointerMove=e=>{if(this.isInteracting){if(this.emitter.trigger("pointermove",e),!this.isDistanceSurpassed){let t,n=this.minDistance,{deltaX:r,deltaY:i}=e;t=r*r+i*i,t>=n*n&&this.handleDistanceSurpassed(e)}this.isDragging&&("scroll"!==e.origEvent.type&&(this.mirror.handleMove(e.pageX,e.pageY),this.autoScroller.handleMove(e.pageX,e.pageY)),this.emitter.trigger("dragmove",e))}},this.onPointerUp=e=>{this.isInteracting&&(this.isInteracting=!1,ze(document.body),Le(document.body),this.emitter.trigger("pointerup",e),this.isDragging&&(this.autoScroller.stop(),this.tryStopDrag(e)),this.delayTimeoutId&&(clearTimeout(this.delayTimeoutId),this.delayTimeoutId=null))};let n=this.pointer=new va(e);n.emitter.on("pointerdown",this.onPointerDown),n.emitter.on("pointermove",this.onPointerMove),n.emitter.on("pointerup",this.onPointerUp),t&&(n.selector=t),this.mirror=new ya,this.autoScroller=new Sa}destroy(){this.pointer.destroy(),this.onPointerUp({})}startDelay(e){"number"==typeof this.delay?this.delayTimeoutId=setTimeout((()=>{this.delayTimeoutId=null,this.handleDelayEnd(e)}),this.delay):this.handleDelayEnd(e)}handleDelayEnd(e){this.isDelayEnded=!0,this.tryStartDrag(e)}handleDistanceSurpassed(e){this.isDistanceSurpassed=!0,this.tryStartDrag(e)}tryStartDrag(e){this.isDelayEnded&&this.isDistanceSurpassed&&(this.pointer.wasTouchScroll&&!this.touchScrollAllowed||(this.isDragging=!0,this.mirrorNeedsRevert=!1,this.autoScroller.start(e.pageX,e.pageY,this.containerEl),this.emitter.trigger("dragstart",e),!1===this.touchScrollAllowed&&this.pointer.cancelTouchScroll()))}tryStopDrag(e){this.mirror.stop(this.mirrorNeedsRevert,this.stopDrag.bind(this,e))}stopDrag(e){this.isDragging=!1,this.emitter.trigger("dragend",e)}setIgnoreMove(e){this.pointer.shouldIgnoreMove=e}setMirrorIsVisible(e){this.mirror.setIsVisible(e)}setMirrorNeedsRevert(e){this.mirrorNeedsRevert=e}setAutoScrollEnabled(e){this.autoScroller.isEnabled=e}}class xa{constructor(e){this.origRect=hi(e),this.scrollCaches=fi(e).map((e=>new Da(e,!0)))}destroy(){for(let e of this.scrollCaches)e.destroy()}computeLeft(){let e=this.origRect.left;for(let t of this.scrollCaches)e+=t.origScrollLeft-t.getScrollLeft();return e}computeTop(){let e=this.origRect.top;for(let t of this.scrollCaches)e+=t.origScrollTop-t.getScrollTop();return e}isWithinClipping(e,t){let n={left:e,top:t};for(let e of this.scrollCaches)if(!Ra(e.getEventTarget())&&!Vr(n,e.clientRect))return!1;return!0}}function Ra(e){let t=e.tagName;return"HTML"===t||"BODY"===t}class ka{constructor(e,t){this.useSubjectCenter=!1,this.requireInitial=!0,this.initialHit=null,this.movingHit=null,this.finalHit=null,this.handlePointerDown=e=>{let{dragging:t}=this;this.initialHit=null,this.movingHit=null,this.finalHit=null,this.prepareHits(),this.processFirstCoord(e),this.initialHit||!this.requireInitial?(t.setIgnoreMove(!1),this.emitter.trigger("pointerdown",e)):t.setIgnoreMove(!0)},this.handleDragStart=e=>{this.emitter.trigger("dragstart",e),this.handleMove(e,!0)},this.handleDragMove=e=>{this.emitter.trigger("dragmove",e),this.handleMove(e)},this.handlePointerUp=e=>{this.releaseHits(),this.emitter.trigger("pointerup",e)},this.handleDragEnd=e=>{this.movingHit&&this.emitter.trigger("hitupdate",null,!0,e),this.finalHit=this.movingHit,this.movingHit=null,this.emitter.trigger("dragend",e)},this.droppableStore=t,e.emitter.on("pointerdown",this.handlePointerDown),e.emitter.on("dragstart",this.handleDragStart),e.emitter.on("dragmove",this.handleDragMove),e.emitter.on("pointerup",this.handlePointerUp),e.emitter.on("dragend",this.handleDragEnd),this.dragging=e,this.emitter=new gi}processFirstCoord(e){let t,n={left:e.pageX,top:e.pageY},r=n,i=e.subjectEl;i instanceof HTMLElement&&(t=hi(i),r=Qr(r,t));let s=this.initialHit=this.queryHitForOffset(r.left,r.top);if(s){if(this.useSubjectCenter&&t){let e=Gr(t,s.rect);e&&(r=Yr(e))}this.coordAdjust=qr(r,n)}else this.coordAdjust={left:0,top:0}}handleMove(e,t){let n=this.queryHitForOffset(e.pageX+this.coordAdjust.left,e.pageY+this.coordAdjust.top);!t&&Ta(this.movingHit,n)||(this.movingHit=n,this.emitter.trigger("hitupdate",n,!1,e))}prepareHits(){this.offsetTrackers=yt(this.droppableStore,(e=>(e.component.prepareHits(),new xa(e.el))))}releaseHits(){let{offsetTrackers:e}=this;for(let t in e)e[t].destroy();this.offsetTrackers={}}queryHitForOffset(e,t){let{droppableStore:n,offsetTrackers:r}=this,i=null;for(let s in n){let o=n[s].component,a=r[s];if(a&&a.isWithinClipping(e,t)){let n=a.computeLeft(),r=a.computeTop(),l=e-n,c=t-r,{origRect:d}=a,u=d.right-d.left,h=d.bottom-d.top;if(l>=0&&l<u&&c>=0&&c<h){let e=o.queryHit(l,c,u,h);e&&Gn(e.dateProfile.activeRange,e.dateSpan.range)&&(!i||e.layer>i.layer)&&(e.componentId=s,e.context=o.context,e.rect.left+=n,e.rect.right+=n,e.rect.top+=r,e.rect.bottom+=r,i=e)}}}return i}}function Ta(e,t){return!e&&!t||Boolean(e)===Boolean(t)&&ur(e.dateSpan,t.dateSpan)}function _a(e,t){let n={};for(let r of t.pluginHooks.datePointTransforms)me(n,r(e,t));var r,i;return me(n,(r=e,{date:(i=t.dateEnv).toDate(r.range.start),dateStr:i.formatIso(r.range.start,{omitTime:r.allDay}),allDay:r.allDay})),n}class Ma extends Gs{constructor(e){super(e),this.subjectEl=null,this.subjectSeg=null,this.isDragging=!1,this.eventRange=null,this.relevantEvents=null,this.receivingContext=null,this.validMutation=null,this.mutatedRelevantEvents=null,this.handlePointerDown=e=>{let t=e.origEvent.target,{component:n,dragging:r}=this,{mirror:i}=r,{options:s}=n.context,o=n.context;this.subjectEl=e.subjectEl;let a=this.subjectSeg=Xn(e.subjectEl),l=(this.eventRange=a.eventRange).instance.instanceId;this.relevantEvents=yn(o.getCurrentData().eventStore,l),r.minDistance=e.isTouch?0:s.eventDragMinDistance,r.delay=e.isTouch&&l!==n.props.eventSelection?function(e){let{options:t}=e.context,n=t.eventLongPressDelay;null==n&&(n=t.longPressDelay);return n}(n):null,s.fixedMirrorParent?i.parentNode=s.fixedMirrorParent:i.parentNode=be(t,".fc"),i.revertDuration=s.dragRevertDuration;let c=n.isValidSegDownEl(t)&&!be(t,".fc-event-resizer");r.setIgnoreMove(!c),this.isDragging=c&&e.subjectEl.classList.contains("fc-event-draggable")},this.handleDragStart=e=>{let t=this.component.context,n=this.eventRange,r=n.instance.instanceId;e.isTouch?r!==this.component.props.eventSelection&&t.dispatch({type:"SELECT_EVENT",eventInstanceId:r}):t.dispatch({type:"UNSELECT_EVENT"}),this.isDragging&&(t.calendarApi.unselect(e),t.emitter.trigger("eventDragStart",{el:this.subjectEl,event:new xr(t,n.def,n.instance),jsEvent:e.origEvent,view:t.viewApi}))},this.handleHitUpdate=(e,t)=>{if(!this.isDragging)return;let n=this.relevantEvents,r=this.hitDragging.initialHit,i=this.component.context,s=null,o=null,a=null,l=!1,c={affectedEvents:n,mutatedEvents:{defs:{},instances:{}},isEvent:!0};if(e){s=e.context;let t=s.options;i===s||t.editable&&t.droppable?(o=function(e,t,n){let r=e.dateSpan,i=t.dateSpan,s=r.range.start,o=i.range.start,a={};r.allDay!==i.allDay&&(a.allDay=i.allDay,a.hasEnd=t.context.options.allDayMaintainDuration,i.allDay&&(s=ot(s)));let l=zn(s,o,e.context.dateEnv,e.componentId===t.componentId?e.largeUnit:null);l.milliseconds&&(a.allDay=!1);let c={datesDelta:l,standardProps:a};for(let r of n)r(c,e,t);return c}(r,e,s.getCurrentData().pluginHooks.eventDragMutationMassagers),o&&(a=vr(n,s.getCurrentData().eventUiBases,o,s),c.mutatedEvents=a,wo(c,e.dateProfile,s)||(l=!0,o=null,a=null,c.mutatedEvents={defs:{},instances:{}}))):s=null}this.displayDrag(s,c),l?He():Be(),t||(i===s&&Ta(r,e)&&(o=null),this.dragging.setMirrorNeedsRevert(!o),this.dragging.setMirrorIsVisible(!e||!Ce(this.subjectEl).querySelector(".fc-event-mirror")),this.receivingContext=s,this.validMutation=o,this.mutatedRelevantEvents=a)},this.handlePointerUp=()=>{this.isDragging||this.cleanup()},this.handleDragEnd=e=>{if(this.isDragging){let t=this.component.context,n=t.viewApi,{receivingContext:r,validMutation:i}=this,s=this.eventRange.def,o=this.eventRange.instance,a=new xr(t,s,o),l=this.relevantEvents,c=this.mutatedRelevantEvents,{finalHit:d}=this.hitDragging;if(this.clearDrag(),t.emitter.trigger("eventDragStop",{el:this.subjectEl,event:a,jsEvent:e.origEvent,view:n}),i){if(r===t){let r=new xr(t,c.defs[s.defId],o?c.instances[o.instanceId]:null);t.dispatch({type:"MERGE_EVENTS",eventStore:c});let d={oldEvent:a,event:r,relatedEvents:kr(c,t,o),revert(){t.dispatch({type:"MERGE_EVENTS",eventStore:l})}},u={};for(let e of t.getCurrentData().pluginHooks.eventDropTransformers)me(u,e(i,t));t.emitter.trigger("eventDrop",Object.assign(Object.assign(Object.assign({},d),u),{el:e.subjectEl,delta:i.datesDelta,jsEvent:e.origEvent,view:n})),t.emitter.trigger("eventChange",d)}else if(r){let i={event:a,relatedEvents:kr(l,t,o),revert(){t.dispatch({type:"MERGE_EVENTS",eventStore:l})}};t.emitter.trigger("eventLeave",Object.assign(Object.assign({},i),{draggedEl:e.subjectEl,view:n})),t.dispatch({type:"REMOVE_EVENTS",eventStore:l}),t.emitter.trigger("eventRemove",i);let u=c.defs[s.defId],h=c.instances[o.instanceId],f=new xr(r,u,h);r.dispatch({type:"MERGE_EVENTS",eventStore:c});let p={event:f,relatedEvents:kr(c,r,h),revert(){r.dispatch({type:"REMOVE_EVENTS",eventStore:c})}};r.emitter.trigger("eventAdd",p),e.isTouch&&r.dispatch({type:"SELECT_EVENT",eventInstanceId:o.instanceId}),r.emitter.trigger("drop",Object.assign(Object.assign({},_a(d.dateSpan,r)),{draggedEl:e.subjectEl,jsEvent:e.origEvent,view:d.context.viewApi})),r.emitter.trigger("eventReceive",Object.assign(Object.assign({},p),{draggedEl:e.subjectEl,view:d.context.viewApi}))}}else t.emitter.trigger("_noEventDrop")}this.cleanup()};let{component:t}=this,{options:n}=t.context,r=this.dragging=new Ca(e.el);r.pointer.selector=Ma.SELECTOR,r.touchScrollAllowed=!1,r.autoScroller.isEnabled=n.dragScroll;let i=this.hitDragging=new ka(this.dragging,Ys);i.useSubjectCenter=e.useEventCenter,i.emitter.on("pointerdown",this.handlePointerDown),i.emitter.on("dragstart",this.handleDragStart),i.emitter.on("hitupdate",this.handleHitUpdate),i.emitter.on("pointerup",this.handlePointerUp),i.emitter.on("dragend",this.handleDragEnd)}destroy(){this.dragging.destroy()}displayDrag(e,t){let n=this.component.context,r=this.receivingContext;r&&r!==e&&(r===n?r.dispatch({type:"SET_EVENT_DRAG",state:{affectedEvents:t.affectedEvents,mutatedEvents:{defs:{},instances:{}},isEvent:!0}}):r.dispatch({type:"UNSET_EVENT_DRAG"})),e&&e.dispatch({type:"SET_EVENT_DRAG",state:t})}clearDrag(){let e=this.component.context,{receivingContext:t}=this;t&&t.dispatch({type:"UNSET_EVENT_DRAG"}),e!==t&&e.dispatch({type:"UNSET_EVENT_DRAG"})}cleanup(){this.subjectSeg=null,this.isDragging=!1,this.eventRange=null,this.relevantEvents=null,this.receivingContext=null,this.validMutation=null,this.mutatedRelevantEvents=null}}Ma.SELECTOR=".fc-event-draggable, .fc-event-resizable";const Ia={fixedMirrorParent:mn},Oa={dateClick:mn,eventDragStart:mn,eventDragStop:mn,eventDrop:mn,eventResizeStart:mn,eventResizeStop:mn,eventResize:mn,drop:mn,eventReceive:mn,eventLeave:mn};class Na{constructor(e,t){this.receivingContext=null,this.droppableEvent=null,this.suppliedDragMeta=null,this.dragMeta=null,this.handleDragStart=e=>{this.dragMeta=this.buildDragMeta(e.subjectEl)},this.handleHitUpdate=(e,t,n)=>{let{dragging:r}=this.hitDragging,i=null,s=null,o=!1,a={affectedEvents:{defs:{},instances:{}},mutatedEvents:{defs:{},instances:{}},isEvent:this.dragMeta.create};e&&(i=e.context,this.canDropElOnCalendar(n.subjectEl,i)&&(s=function(e,t,n){let r=Object.assign({},t.leftoverProps);for(let i of n.pluginHooks.externalDefTransforms)me(r,i(e,t));let{refined:i,extra:s}=On(r,n),o=Pn(i,s,t.sourceId,e.allDay,n.options.forceEventDuration||Boolean(t.duration),n),a=e.range.start;e.allDay&&t.startTime&&(a=n.dateEnv.add(a,t.startTime));let l=t.duration?n.dateEnv.add(a,t.duration):mr(e.allDay,a,n),c=gt(o.defId,{start:a,end:l});return{def:o,instance:c}}(e.dateSpan,this.dragMeta,i),a.mutatedEvents=bn(s),o=!wo(a,e.dateProfile,i),o&&(a.mutatedEvents={defs:{},instances:{}},s=null))),this.displayDrag(i,a),r.setMirrorIsVisible(t||!s||!document.querySelector(".fc-event-mirror")),o?He():Be(),t||(r.setMirrorNeedsRevert(!s),this.receivingContext=i,this.droppableEvent=s)},this.handleDragEnd=e=>{let{receivingContext:t,droppableEvent:n}=this;if(this.clearDrag(),t&&n){let r=this.hitDragging.finalHit,i=r.context.viewApi,s=this.dragMeta;if(t.emitter.trigger("drop",Object.assign(Object.assign({},_a(r.dateSpan,t)),{draggedEl:e.subjectEl,jsEvent:e.origEvent,view:i})),s.create){let r=bn(n);t.dispatch({type:"MERGE_EVENTS",eventStore:r}),e.isTouch&&t.dispatch({type:"SELECT_EVENT",eventInstanceId:n.instance.instanceId}),t.emitter.trigger("eventReceive",{event:new xr(t,n.def,n.instance),relatedEvents:[],revert(){t.dispatch({type:"REMOVE_EVENTS",eventStore:r})},draggedEl:e.subjectEl,view:i})}}this.receivingContext=null,this.droppableEvent=null};let n=this.hitDragging=new ka(e,Ys);n.requireInitial=!1,n.emitter.on("dragstart",this.handleDragStart),n.emitter.on("hitupdate",this.handleHitUpdate),n.emitter.on("dragend",this.handleDragEnd),this.suppliedDragMeta=t}buildDragMeta(e){return"object"==typeof this.suppliedDragMeta?$s(this.suppliedDragMeta):"function"==typeof this.suppliedDragMeta?$s(this.suppliedDragMeta(e)):function(e){let t=function(e,t){let n=Zs.dataAttrPrefix,r=(n?n+"-":"")+t;return e.getAttribute("data-"+r)||""}(e,"event");return $s(t?JSON.parse(t):{create:!1})}(e)}displayDrag(e,t){let n=this.receivingContext;n&&n!==e&&n.dispatch({type:"UNSET_EVENT_DRAG"}),e&&e.dispatch({type:"SET_EVENT_DRAG",state:t})}clearDrag(){this.receivingContext&&this.receivingContext.dispatch({type:"UNSET_EVENT_DRAG"})}canDropElOnCalendar(e,t){let n=t.options.dropAccept;return"function"==typeof n?n.call(t.calendarApi,e):"string"!=typeof n||!n||Boolean(ye(e,n))}}Zs.dataAttrPrefix="";class Pa extends qs{constructor(e){super(e),this.shouldIgnoreMove=!1,this.mirrorSelector="",this.currentMirrorEl=null,this.handlePointerDown=e=>{this.emitter.trigger("pointerdown",e),this.shouldIgnoreMove||this.emitter.trigger("dragstart",e)},this.handlePointerMove=e=>{this.shouldIgnoreMove||this.emitter.trigger("dragmove",e)},this.handlePointerUp=e=>{this.emitter.trigger("pointerup",e),this.shouldIgnoreMove||this.emitter.trigger("dragend",e)};let t=this.pointer=new va(e);t.emitter.on("pointerdown",this.handlePointerDown),t.emitter.on("pointermove",this.handlePointerMove),t.emitter.on("pointerup",this.handlePointerUp)}destroy(){this.pointer.destroy()}setIgnoreMove(e){this.shouldIgnoreMove=e}setMirrorIsVisible(e){if(e)this.currentMirrorEl&&(this.currentMirrorEl.style.visibility="",this.currentMirrorEl=null);else{let e=this.mirrorSelector?document.querySelector(this.mirrorSelector):null;e&&(this.currentMirrorEl=e,e.style.visibility="hidden")}}}var Ha=Bi({componentInteractions:[class extends Gs{constructor(e){super(e),this.handlePointerDown=e=>{let{dragging:t}=this,n=e.origEvent.target;t.setIgnoreMove(!this.component.isValidDateDownEl(n))},this.handleDragEnd=e=>{let{component:t}=this,{pointer:n}=this.dragging;if(!n.wasTouchScroll){let{initialHit:n,finalHit:r}=this.hitDragging;if(n&&r&&Ta(n,r)){let{context:r}=t,i=Object.assign(Object.assign({},_a(n.dateSpan,r)),{dayEl:n.dayEl,jsEvent:e.origEvent,view:r.viewApi||r.calendarApi.view});r.emitter.trigger("dateClick",i)}}},this.dragging=new Ca(e.el),this.dragging.autoScroller.isEnabled=!1;let t=this.hitDragging=new ka(this.dragging,Qs(e));t.emitter.on("pointerdown",this.handlePointerDown),t.emitter.on("dragend",this.handleDragEnd)}destroy(){this.dragging.destroy()}},class extends Gs{constructor(e){super(e),this.dragSelection=null,this.handlePointerDown=e=>{let{component:t,dragging:n}=this,{options:r}=t.context,i=r.selectable&&t.isValidDateDownEl(e.origEvent.target);n.setIgnoreMove(!i),n.delay=e.isTouch?function(e){let{options:t}=e.context,n=t.selectLongPressDelay;null==n&&(n=t.longPressDelay);return n}(t):null},this.handleDragStart=e=>{this.component.context.calendarApi.unselect(e)},this.handleHitUpdate=(e,t)=>{let{context:n}=this.component,r=null,i=!1;if(e){let t=this.hitDragging.initialHit;e.componentId===t.componentId&&this.isHitComboAllowed&&!this.isHitComboAllowed(t,e)||(r=function(e,t,n){let r=e.dateSpan,i=t.dateSpan,s=[r.range.start,r.range.end,i.range.start,i.range.end];s.sort(qe);let o={};for(let r of n){let n=r(e,t);if(!1===n)return null;n&&me(o,n)}return o.range={start:s[0],end:s[3]},o.allDay=r.allDay,o}(t,e,n.pluginHooks.dateSelectionTransformers)),r&&Ao(r,e.dateProfile,n)||(i=!0,r=null)}r?n.dispatch({type:"SELECT_DATES",selection:r}):t||n.dispatch({type:"UNSELECT_DATES"}),i?He():Be(),t||(this.dragSelection=r)},this.handlePointerUp=e=>{this.dragSelection&&(pr(this.dragSelection,e,this.component.context),this.dragSelection=null)};let{component:t}=e,{options:n}=t.context,r=this.dragging=new Ca(e.el);r.touchScrollAllowed=!1,r.minDistance=n.selectMinDistance||0,r.autoScroller.isEnabled=n.dragScroll;let i=this.hitDragging=new ka(this.dragging,Qs(e));i.emitter.on("pointerdown",this.handlePointerDown),i.emitter.on("dragstart",this.handleDragStart),i.emitter.on("hitupdate",this.handleHitUpdate),i.emitter.on("pointerup",this.handlePointerUp)}destroy(){this.dragging.destroy()}},Ma,class extends Gs{constructor(e){super(e),this.draggingSegEl=null,this.draggingSeg=null,this.eventRange=null,this.relevantEvents=null,this.validMutation=null,this.mutatedRelevantEvents=null,this.handlePointerDown=e=>{let{component:t}=this,n=Xn(this.querySegEl(e)),r=this.eventRange=n.eventRange;this.dragging.minDistance=t.context.options.eventDragMinDistance,this.dragging.setIgnoreMove(!this.component.isValidSegDownEl(e.origEvent.target)||e.isTouch&&this.component.props.eventSelection!==r.instance.instanceId)},this.handleDragStart=e=>{let{context:t}=this.component,n=this.eventRange;this.relevantEvents=yn(t.getCurrentData().eventStore,this.eventRange.instance.instanceId);let r=this.querySegEl(e);this.draggingSegEl=r,this.draggingSeg=Xn(r),t.calendarApi.unselect(),t.emitter.trigger("eventResizeStart",{el:r,event:new xr(t,n.def,n.instance),jsEvent:e.origEvent,view:t.viewApi})},this.handleHitUpdate=(e,t,n)=>{let{context:r}=this.component,i=this.relevantEvents,s=this.hitDragging.initialHit,o=this.eventRange.instance,a=null,l=null,c=!1,d={affectedEvents:i,mutatedEvents:{defs:{},instances:{}},isEvent:!0};if(e){e.componentId===s.componentId&&this.isHitComboAllowed&&!this.isHitComboAllowed(s,e)||(a=function(e,t,n,r){let i=e.context.dateEnv,s=e.dateSpan.range.start,o=t.dateSpan.range.start,a=zn(s,o,i,e.largeUnit);if(n){if(i.add(r.start,a)<r.end)return{startDelta:a}}else if(i.add(r.end,a)>r.start)return{endDelta:a};return null}(s,e,n.subjectEl.classList.contains("fc-event-resizer-start"),o.range))}a&&(l=vr(i,r.getCurrentData().eventUiBases,a,r),d.mutatedEvents=l,wo(d,e.dateProfile,r)||(c=!0,a=null,l=null,d.mutatedEvents=null)),l?r.dispatch({type:"SET_EVENT_RESIZE",state:d}):r.dispatch({type:"UNSET_EVENT_RESIZE"}),c?He():Be(),t||(a&&Ta(s,e)&&(a=null),this.validMutation=a,this.mutatedRelevantEvents=l)},this.handleDragEnd=e=>{let{context:t}=this.component,n=this.eventRange.def,r=this.eventRange.instance,i=new xr(t,n,r),s=this.relevantEvents,o=this.mutatedRelevantEvents;if(t.emitter.trigger("eventResizeStop",{el:this.draggingSegEl,event:i,jsEvent:e.origEvent,view:t.viewApi}),this.validMutation){let a=new xr(t,o.defs[n.defId],r?o.instances[r.instanceId]:null);t.dispatch({type:"MERGE_EVENTS",eventStore:o});let l={oldEvent:i,event:a,relatedEvents:kr(o,t,r),revert(){t.dispatch({type:"MERGE_EVENTS",eventStore:s})}};t.emitter.trigger("eventResize",Object.assign(Object.assign({},l),{el:this.draggingSegEl,startDelta:this.validMutation.startDelta||Mt(0),endDelta:this.validMutation.endDelta||Mt(0),jsEvent:e.origEvent,view:t.viewApi})),t.emitter.trigger("eventChange",l)}else t.emitter.trigger("_noEventResize");this.draggingSeg=null,this.relevantEvents=null,this.validMutation=null};let{component:t}=e,n=this.dragging=new Ca(e.el);n.pointer.selector=".fc-event-resizer",n.touchScrollAllowed=!1,n.autoScroller.isEnabled=t.context.options.dragScroll;let r=this.hitDragging=new ka(this.dragging,Qs(e));r.emitter.on("pointerdown",this.handlePointerDown),r.emitter.on("dragstart",this.handleDragStart),r.emitter.on("hitupdate",this.handleHitUpdate),r.emitter.on("dragend",this.handleDragEnd)}destroy(){this.dragging.destroy()}querySegEl(e){return be(e.subjectEl,".fc-event")}}],calendarInteractions:[class{constructor(e){this.context=e,this.isRecentPointerDateSelect=!1,this.matchesCancel=!1,this.matchesEvent=!1,this.onSelect=e=>{e.jsEvent&&(this.isRecentPointerDateSelect=!0)},this.onDocumentPointerDown=e=>{let t=this.context.options.unselectCancel,n=Se(e.origEvent);this.matchesCancel=!!be(n,t),this.matchesEvent=!!be(n,Ma.SELECTOR)},this.onDocumentPointerUp=e=>{let{context:t}=this,{documentPointer:n}=this,r=t.getCurrentData();if(!n.wasTouchScroll){if(r.dateSelection&&!this.isRecentPointerDateSelect){let n=t.options.unselectAuto;!n||n&&this.matchesCancel||t.calendarApi.unselect(e)}r.eventSelection&&!this.matchesEvent&&t.dispatch({type:"UNSELECT_EVENT"})}this.isRecentPointerDateSelect=!1};let t=this.documentPointer=new va(document);t.shouldIgnoreMove=!0,t.shouldWatchScroll=!1,t.emitter.on("pointerdown",this.onDocumentPointerDown),t.emitter.on("pointerup",this.onDocumentPointerUp),e.emitter.on("select",this.onSelect)}destroy(){this.context.emitter.off("select",this.onSelect),this.documentPointer.destroy()}}],elementDraggingImpl:Ca,optionRefiners:Ia,listenerRefiners:Oa});class Ba extends Hi{constructor(){super(...arguments),this.headerElRef=Si()}renderSimpleLayout(e,t){let{props:n,context:r}=this,i=[],s=Vo(r.options);return e&&i.push({type:"header",key:"header",isSticky:s,chunk:{elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}}),i.push({type:"body",key:"body",liquid:!0,chunk:{content:t}}),wi(qi,{viewSpec:r.viewSpec},((e,t)=>wi("div",{ref:e,className:["fc-daygrid"].concat(t).join(" ")},wi(Qo,{liquid:!n.isHeightAuto&&!n.forPrint,collapsibleWidth:n.forPrint,cols:[],sections:i}))))}renderHScrollLayout(e,t,n,r){let i=this.context.pluginHooks.scrollGridImpl;if(!i)throw new Error("No ScrollGrid implementation");let{props:s,context:o}=this,a=!s.forPrint&&Vo(o.options),l=!s.forPrint&&Go(o.options),c=[];return e&&c.push({type:"header",key:"header",isSticky:a,chunks:[{key:"main",elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}]}),c.push({type:"body",key:"body",liquid:!0,chunks:[{key:"main",content:t}]}),l&&c.push({type:"footer",key:"footer",isSticky:!0,chunks:[{key:"main",content:Wo}]}),wi(qi,{viewSpec:o.viewSpec},((e,t)=>wi("div",{ref:e,className:["fc-daygrid"].concat(t).join(" ")},wi(i,{liquid:!s.isHeightAuto&&!s.forPrint,collapsibleWidth:s.forPrint,colGroups:[{cols:[{span:n,minWidth:r}]}],sections:c}))))}}function ja(e,t){let n=[];for(let e=0;e<t;e+=1)n[e]=[];for(let t of e)n[t.row].push(t);return n}function za(e,t){let n=[];for(let e=0;e<t;e+=1)n[e]=[];for(let t of e)n[t.firstCol].push(t);return n}function Ua(e,t){let n=[];if(e){for(let r=0;r<t;r+=1)n[r]={affectedInstances:e.affectedInstances,isEvent:e.isEvent,segs:[]};for(let t of e.segs)n[t.row].segs.push(t)}else for(let e=0;e<t;e+=1)n[e]=null;return n}class La extends Ni{render(){let{props:e}=this,t=ii(this.context,e.date);return wi(Jo,{date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,showDayNumber:e.showDayNumber,extraHookProps:e.extraHookProps,defaultContent:Fa},((n,r)=>(r||e.forceDayTop)&&wi("div",{className:"fc-daygrid-day-top",ref:n},wi("a",Object.assign({id:e.dayNumberId,className:"fc-daygrid-day-number"},t),r||wi(Ci,null," ")))))}}function Fa(e){return e.dayNumberText}const Wa=on({hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"narrow"});function Va(e){let{display:t}=e.eventRange.ui;return"list-item"===t||"auto"===t&&!e.eventRange.def.allDay&&e.firstCol===e.lastCol&&e.isStart&&e.isEnd}class Ga extends Ni{render(){let{props:e}=this;return wi(qo,Object.assign({},e,{extraClassNames:["fc-daygrid-event","fc-daygrid-block-event","fc-h-event"],defaultTimeFormat:Wa,defaultDisplayEventEnd:e.defaultDisplayEventEnd,disableResizing:!e.seg.eventRange.def.allDay}))}}class Qa extends Ni{render(){let{props:e,context:t}=this,n=t.options.eventTimeFormat||Wa,r=ir(e.seg,n,t,!0,e.defaultDisplayEventEnd);return wi(Yo,{seg:e.seg,timeText:r,defaultContent:Ya,isDragging:e.isDragging,isResizing:!1,isDateSelecting:!1,isSelected:e.isSelected,isPast:e.isPast,isFuture:e.isFuture,isToday:e.isToday},((n,r,i,s)=>wi("a",Object.assign({className:["fc-daygrid-event","fc-daygrid-dot-event"].concat(r).join(" "),ref:n},lr(e.seg,t)),s)))}}function Ya(e){return wi(Ci,null,wi("div",{className:"fc-daygrid-event-dot",style:{borderColor:e.borderColor||e.backgroundColor}}),e.timeText&&wi("div",{className:"fc-event-time"},e.timeText),wi("div",{className:"fc-event-title"},e.event.title||wi(Ci,null," ")))}class qa extends Ni{constructor(){super(...arguments),this.compileSegs=Vt(Za)}render(){let{props:e}=this,{allSegs:t,invisibleSegs:n}=this.compileSegs(e.singlePlacements);return wi(la,{dateProfile:e.dateProfile,todayRange:e.todayRange,allDayDate:e.allDayDate,moreCnt:e.moreCnt,allSegs:t,hiddenSegs:n,alignmentElRef:e.alignmentElRef,alignGridTop:e.alignGridTop,extraDateSpan:e.extraDateSpan,popoverContent:()=>{let n=(e.eventDrag?e.eventDrag.affectedInstances:null)||(e.eventResize?e.eventResize.affectedInstances:null)||{};return wi(Ci,null,t.map((t=>{let r=t.eventRange.instance.instanceId;return wi("div",{className:"fc-daygrid-event-harness",key:r,style:{visibility:n[r]?"hidden":""}},Va(t)?wi(Qa,Object.assign({seg:t,isDragging:!1,isSelected:r===e.eventSelection,defaultDisplayEventEnd:!1},sr(t,e.todayRange))):wi(Ga,Object.assign({seg:t,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:r===e.eventSelection,defaultDisplayEventEnd:!1},sr(t,e.todayRange))))})))}},((e,t,n,r,i,s,o,a)=>wi("a",Object.assign({ref:e,className:["fc-daygrid-more-link"].concat(t).join(" "),title:s,"aria-expanded":o,"aria-controls":a},Ie(i)),r)))}}function Za(e){let t=[],n=[];for(let r of e)t.push(r.seg),r.isVisible||n.push(r.seg);return{allSegs:t,invisibleSegs:n}}const Xa=on({week:"narrow"});class $a extends Hi{constructor(){super(...arguments),this.rootElRef=Si(),this.state={dayNumberId:Re()},this.handleRootEl=e=>{Pi(this.rootElRef,e),Pi(this.props.elRef,e)}}render(){let{context:e,props:t,state:n,rootElRef:r}=this,{date:i,dateProfile:s}=t,o=ii(e,i,"week");return wi(ea,{date:i,dateProfile:s,todayRange:t.todayRange,showDayNumber:t.showDayNumber,extraHookProps:t.extraHookProps,elRef:this.handleRootEl},((e,a,l,c)=>wi("td",Object.assign({ref:e,role:"gridcell",className:["fc-daygrid-day"].concat(a,t.extraClassNames||[]).join(" ")},l,t.extraDataAttrs,t.showDayNumber?{"aria-labelledby":n.dayNumberId}:{}),wi("div",{className:"fc-daygrid-day-frame fc-scrollgrid-sync-inner",ref:t.innerElRef},t.showWeekNumber&&wi(ia,{date:i,defaultFormat:Xa},((e,t,n,r)=>wi("a",Object.assign({ref:e,className:["fc-daygrid-week-number"].concat(t).join(" ")},o),r))),!c&&wi(La,{date:i,dateProfile:s,showDayNumber:t.showDayNumber,dayNumberId:n.dayNumberId,forceDayTop:t.forceDayTop,todayRange:t.todayRange,extraHookProps:t.extraHookProps}),wi("div",{className:"fc-daygrid-day-events",ref:t.fgContentElRef},t.fgContent,wi("div",{className:"fc-daygrid-day-bottom",style:{marginTop:t.moreMarginTop}},wi(qa,{allDayDate:i,singlePlacements:t.singlePlacements,moreCnt:t.moreCnt,alignmentElRef:r,alignGridTop:!t.showDayNumber,extraDateSpan:t.extraDateSpan,dateProfile:t.dateProfile,eventSelection:t.eventSelection,eventDrag:t.eventDrag,eventResize:t.eventResize,todayRange:t.todayRange}))),wi("div",{className:"fc-daygrid-day-bg"},t.bgContent)))))}}function Ja(e,t,n,r,i,s,o){let a=new el;a.allowReslicing=!0,a.strictOrder=r,!0===t||!0===n?(a.maxCoord=s,a.hiddenConsumes=!0):"number"==typeof t?a.maxStackCnt=t:"number"==typeof n&&(a.maxStackCnt=n,a.hiddenConsumes=!0);let l=[],c=[];for(let t=0;t<e.length;t+=1){let n=e[t],{instanceId:r}=n.eventRange.instance,s=i[r];null!=s?l.push({index:t,thickness:s,span:{start:n.firstCol,end:n.lastCol+1}}):c.push(n)}let d=a.addSegs(l),u=a.toRects(),{singleColPlacements:h,multiColPlacements:f,leftoverMargins:p}=function(e,t,n){let r=function(e,t){let n=[];for(let e=0;e<t;e+=1)n.push([]);for(let t of e)for(let e=t.span.start;e<t.span.end;e+=1)n[e].push(t);return n}(e,n.length),i=[],s=[],o=[];for(let e=0;e<n.length;e+=1){let a=r[e],l=[],c=0,d=0;for(let r of a){let i=t[r.index];l.push({seg:Ka(i,e,e+1,n),isVisible:!0,isAbsolute:!1,absoluteTop:r.levelCoord,marginTop:r.levelCoord-c}),c=r.levelCoord+r.thickness}let u=[];c=0,d=0;for(let r of a){let i=t[r.index],s=r.span.end-r.span.start>1,o=r.span.start===e;d+=r.levelCoord-c,c=r.levelCoord+r.thickness,s?(d+=r.thickness,o&&u.push({seg:Ka(i,r.span.start,r.span.end,n),isVisible:!0,isAbsolute:!0,absoluteTop:r.levelCoord,marginTop:0})):o&&(u.push({seg:Ka(i,r.span.start,r.span.end,n),isVisible:!0,isAbsolute:!1,absoluteTop:r.levelCoord,marginTop:d}),d=0)}i.push(l),s.push(u),o.push(d)}return{singleColPlacements:i,multiColPlacements:s,leftoverMargins:o}}(u,e,o),g=[],m=[];for(let e of c){f[e.firstCol].push({seg:e,isVisible:!1,isAbsolute:!0,absoluteTop:0,marginTop:0});for(let t=e.firstCol;t<=e.lastCol;t+=1)h[t].push({seg:Ka(e,t,t+1,o),isVisible:!1,isAbsolute:!1,absoluteTop:0,marginTop:0})}for(let e=0;e<o.length;e+=1)g.push(0);for(let t of d){let n=e[t.index],r=t.span;f[r.start].push({seg:Ka(n,r.start,r.end,o),isVisible:!1,isAbsolute:!0,absoluteTop:0,marginTop:0});for(let e=r.start;e<r.end;e+=1)g[e]+=1,h[e].push({seg:Ka(n,e,e+1,o),isVisible:!1,isAbsolute:!1,absoluteTop:0,marginTop:0})}for(let e=0;e<o.length;e+=1)m.push(p[e]);return{singleColPlacements:h,multiColPlacements:f,moreCnts:g,moreMarginTops:m}}function Ka(e,t,n,r){if(e.firstCol===t&&e.lastCol===n-1)return e;let i=e.eventRange,s=i.range,o=Fn(s,{start:r[t].date,end:Ke(r[n-1].date,1)});return Object.assign(Object.assign({},e),{firstCol:t,lastCol:n-1,eventRange:{def:i.def,ui:Object.assign(Object.assign({},i.ui),{durationEditable:!1}),instance:i.instance,range:o},isStart:e.isStart&&o.start.valueOf()===s.start.valueOf(),isEnd:e.isEnd&&o.end.valueOf()===s.end.valueOf()})}class el extends Bs{constructor(){super(...arguments),this.hiddenConsumes=!1,this.forceHidden={}}addSegs(e){const t=super.addSegs(e),{entriesByLevel:n}=this,r=e=>!this.forceHidden[zs(e)];for(let e=0;e<n.length;e+=1)n[e]=n[e].filter(r);return t}handleInvalidInsertion(e,t,n){const{entriesByLevel:r,forceHidden:i}=this,{touchingEntry:s,touchingLevel:o,touchingLateral:a}=e;if(this.hiddenConsumes&&s){const e=zs(s);if(!i[e])if(this.allowReslicing){const e=Object.assign(Object.assign({},s),{span:Fs(s.span,t.span)});i[zs(e)]=!0,r[o][a]=e,this.splitEntry(s,t,n)}else i[e]=!0,n.push(s)}return super.handleInvalidInsertion(e,t,n)}}class tl extends Hi{constructor(){super(...arguments),this.cellElRefs=new Io,this.frameElRefs=new Io,this.fgElRefs=new Io,this.segHarnessRefs=new Io,this.rootElRef=Si(),this.state={framePositions:null,maxContentHeight:null,eventInstanceHeights:{}}}render(){let{props:e,state:t,context:n}=this,{options:r}=n,i=e.cells.length,s=za(e.businessHourSegs,i),o=za(e.bgEventSegs,i),a=za(this.getHighlightSegs(),i),l=za(this.getMirrorSegs(),i),{singleColPlacements:c,multiColPlacements:d,moreCnts:u,moreMarginTops:h}=Ja(Kn(e.fgEventSegs,r.eventOrder),e.dayMaxEvents,e.dayMaxEventRows,r.eventOrderStrict,t.eventInstanceHeights,t.maxContentHeight,e.cells),f=e.eventDrag&&e.eventDrag.affectedInstances||e.eventResize&&e.eventResize.affectedInstances||{};return wi("tr",{ref:this.rootElRef,role:"row"},e.renderIntro&&e.renderIntro(),e.cells.map(((t,n)=>{let r=this.renderFgSegs(n,e.forPrint?c[n]:d[n],e.todayRange,f),i=this.renderFgSegs(n,function(e,t){if(!e.length)return[];let n=function(e){let t={};for(let n of e)for(let e of n)t[e.seg.eventRange.instance.instanceId]=e.absoluteTop;return t}(t);return e.map((e=>({seg:e,isVisible:!0,isAbsolute:!0,absoluteTop:n[e.eventRange.instance.instanceId],marginTop:0})))}(l[n],d),e.todayRange,{},Boolean(e.eventDrag),Boolean(e.eventResize),!1);return wi($a,{key:t.key,elRef:this.cellElRefs.createRef(t.key),innerElRef:this.frameElRefs.createRef(t.key),dateProfile:e.dateProfile,date:t.date,showDayNumber:e.showDayNumbers,showWeekNumber:e.showWeekNumbers&&0===n,forceDayTop:e.showWeekNumbers,todayRange:e.todayRange,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,extraHookProps:t.extraHookProps,extraDataAttrs:t.extraDataAttrs,extraClassNames:t.extraClassNames,extraDateSpan:t.extraDateSpan,moreCnt:u[n],moreMarginTop:h[n],singlePlacements:c[n],fgContentElRef:this.fgElRefs.createRef(t.key),fgContent:wi(Ci,null,wi(Ci,null,r),wi(Ci,null,i)),bgContent:wi(Ci,null,this.renderFillSegs(a[n],"highlight"),this.renderFillSegs(s[n],"non-business"),this.renderFillSegs(o[n],"bg-event"))})})))}componentDidMount(){this.updateSizing(!0)}componentDidUpdate(e,t){let n=this.props;this.updateSizing(!wt(e,n))}getHighlightSegs(){let{props:e}=this;return e.eventDrag&&e.eventDrag.segs.length?e.eventDrag.segs:e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:e.dateSelectionSegs}getMirrorSegs(){let{props:e}=this;return e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:[]}renderFgSegs(e,t,n,r,i,s,o){let{context:a}=this,{eventSelection:l}=this.props,{framePositions:c}=this.state,d=1===this.props.cells.length,u=i||s||o,h=[];if(c)for(let f of t){let{seg:t}=f,{instanceId:p}=t.eventRange.instance,g=p+":"+e,m=f.isVisible&&!r[p],v=f.isAbsolute,b="",y="";v&&(a.isRtl?(y=0,b=c.lefts[t.lastCol]-c.lefts[t.firstCol]):(b=0,y=c.rights[t.firstCol]-c.rights[t.lastCol])),h.push(wi("div",{className:"fc-daygrid-event-harness"+(v?" fc-daygrid-event-harness-abs":""),key:g,ref:u?null:this.segHarnessRefs.createRef(g),style:{visibility:m?"":"hidden",marginTop:v?"":f.marginTop,top:v?f.absoluteTop:"",left:b,right:y}},Va(t)?wi(Qa,Object.assign({seg:t,isDragging:i,isSelected:p===l,defaultDisplayEventEnd:d},sr(t,n))):wi(Ga,Object.assign({seg:t,isDragging:i,isResizing:s,isDateSelecting:o,isSelected:p===l,defaultDisplayEventEnd:d},sr(t,n)))))}return h}renderFillSegs(e,t){let{isRtl:n}=this.context,{todayRange:r}=this.props,{framePositions:i}=this.state,s=[];if(i)for(let o of e){let e=n?{right:0,left:i.lefts[o.lastCol]-i.lefts[o.firstCol]}:{left:0,right:i.rights[o.firstCol]-i.rights[o.lastCol]};s.push(wi("div",{key:ar(o.eventRange),className:"fc-daygrid-bg-harness",style:e},"bg-event"===t?wi(na,Object.assign({seg:o},sr(o,r))):ta(t)))}return wi(Ci,{},...s)}updateSizing(e){let{props:t,frameElRefs:n}=this;if(!t.forPrint&&null!==t.clientWidth){if(e){let e=t.cells.map((e=>n.currentMap[e.key]));if(e.length){let t=this.rootElRef.current;this.setState({framePositions:new mi(t,e,!0,!1)})}}const r=this.state.eventInstanceHeights,i=this.queryEventInstanceHeights(),s=!0===t.dayMaxEvents||!0===t.dayMaxEventRows;this.safeSetState({eventInstanceHeights:Object.assign(Object.assign({},r),i),maxContentHeight:s?this.computeMaxContentHeight():null})}}queryEventInstanceHeights(){let e=this.segHarnessRefs.currentMap,t={};for(let n in e){let r=Math.round(e[n].getBoundingClientRect().height),i=n.split(":")[0];t[i]=Math.max(t[i]||0,r)}return t}computeMaxContentHeight(){let e=this.props.cells[0].key,t=this.cellElRefs.currentMap[e],n=this.fgElRefs.currentMap[e];return t.getBoundingClientRect().bottom-n.getBoundingClientRect().top}getCellEls(){let e=this.cellElRefs.currentMap;return this.props.cells.map((t=>e[t.key]))}}tl.addStateEquality({eventInstanceHeights:wt});class nl extends Hi{constructor(){super(...arguments),this.splitBusinessHourSegs=Vt(ja),this.splitBgEventSegs=Vt(ja),this.splitFgEventSegs=Vt(ja),this.splitDateSelectionSegs=Vt(ja),this.splitEventDrag=Vt(Ua),this.splitEventResize=Vt(Ua),this.rowRefs=new Io,this.handleRootEl=e=>{this.rootEl=e,e?this.context.registerInteractiveComponent(this,{el:e,isHitComboAllowed:this.props.isHitComboAllowed}):this.context.unregisterInteractiveComponent(this)}}render(){let{props:e}=this,{dateProfile:t,dayMaxEventRows:n,dayMaxEvents:r,expandRows:i}=e,s=e.cells.length,o=this.splitBusinessHourSegs(e.businessHourSegs,s),a=this.splitBgEventSegs(e.bgEventSegs,s),l=this.splitFgEventSegs(e.fgEventSegs,s),c=this.splitDateSelectionSegs(e.dateSelectionSegs,s),d=this.splitEventDrag(e.eventDrag,s),u=this.splitEventResize(e.eventResize,s),h=!0===r||!0===n;return h&&!i&&(h=!1,n=null,r=null),wi("div",{className:["fc-daygrid-body",h?"fc-daygrid-body-balanced":"fc-daygrid-body-unbalanced",i?"":"fc-daygrid-body-natural"].join(" "),ref:this.handleRootEl,style:{width:e.clientWidth,minWidth:e.tableMinWidth}},wi(po,{unit:"day"},((h,f)=>wi(Ci,null,wi("table",{role:"presentation",className:"fc-scrollgrid-sync-table",style:{width:e.clientWidth,minWidth:e.tableMinWidth,height:i?e.clientHeight:""}},e.colGroupNode,wi("tbody",{role:"presentation"},e.cells.map(((i,h)=>wi(tl,{ref:this.rowRefs.createRef(h),key:i.length?i[0].date.toISOString():h,showDayNumbers:s>1,showWeekNumbers:e.showWeekNumbers,todayRange:f,dateProfile:t,cells:i,renderIntro:e.renderRowIntro,businessHourSegs:o[h],eventSelection:e.eventSelection,bgEventSegs:a[h].filter(rl),fgEventSegs:l[h],dateSelectionSegs:c[h],eventDrag:d[h],eventResize:u[h],dayMaxEvents:r,dayMaxEventRows:n,clientWidth:e.clientWidth,clientHeight:e.clientHeight,forPrint:e.forPrint})))))))))}prepareHits(){this.rowPositions=new mi(this.rootEl,this.rowRefs.collect().map((e=>e.getCellEls()[0])),!1,!0),this.colPositions=new mi(this.rootEl,this.rowRefs.currentMap[0].getCellEls(),!0,!1)}queryHit(e,t){let{colPositions:n,rowPositions:r}=this,i=n.leftToIndex(e),s=r.topToIndex(t);if(null!=s&&null!=i){let e=this.props.cells[s][i];return{dateProfile:this.props.dateProfile,dateSpan:Object.assign({range:this.getCellRange(s,i),allDay:!0},e.extraDateSpan),dayEl:this.getCellEl(s,i),rect:{left:n.lefts[i],right:n.rights[i],top:r.tops[s],bottom:r.bottoms[s]},layer:0}}return null}getCellEl(e,t){return this.rowRefs.currentMap[e].getCellEls()[t]}getCellRange(e,t){let n=this.props.cells[e][t].date;return{start:n,end:Ke(n,1)}}}function rl(e){return e.eventRange.def.allDay}class il extends Eo{constructor(){super(...arguments),this.forceDayIfListItem=!0}sliceRange(e,t){return t.sliceRange(e)}}class sl extends Hi{constructor(){super(...arguments),this.slicer=new il,this.tableRef=Si()}render(){let{props:e,context:t}=this;return wi(nl,Object.assign({ref:this.tableRef},this.slicer.sliceProps(e,e.dateProfile,e.nextDayThreshold,t,e.dayTableModel),{dateProfile:e.dateProfile,cells:e.dayTableModel.cells,colGroupNode:e.colGroupNode,tableMinWidth:e.tableMinWidth,renderRowIntro:e.renderRowIntro,dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,showWeekNumbers:e.showWeekNumbers,expandRows:e.expandRows,headerAlignElRef:e.headerAlignElRef,clientWidth:e.clientWidth,clientHeight:e.clientHeight,forPrint:e.forPrint}))}}class ol extends Ba{constructor(){super(...arguments),this.buildDayTableModel=Vt(al),this.headerRef=Si(),this.tableRef=Si()}render(){let{options:e,dateProfileGenerator:t}=this.context,{props:n}=this,r=this.buildDayTableModel(n.dateProfile,t),i=e.dayHeaders&&wi(mo,{ref:this.headerRef,dateProfile:n.dateProfile,dates:r.headerDates,datesRepDistinctDays:1===r.rowCnt}),s=t=>wi(sl,{ref:this.tableRef,dateProfile:n.dateProfile,dayTableModel:r,businessHours:n.businessHours,dateSelection:n.dateSelection,eventStore:n.eventStore,eventUiBases:n.eventUiBases,eventSelection:n.eventSelection,eventDrag:n.eventDrag,eventResize:n.eventResize,nextDayThreshold:e.nextDayThreshold,colGroupNode:t.tableColGroupNode,tableMinWidth:t.tableMinWidth,dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,showWeekNumbers:e.weekNumbers,expandRows:!n.isHeightAuto,headerAlignElRef:this.headerElRef,clientWidth:t.clientWidth,clientHeight:t.clientHeight,forPrint:n.forPrint});return e.dayMinWidth?this.renderHScrollLayout(i,s,r.colCnt,e.dayMinWidth):this.renderSimpleLayout(i,s)}}function al(e,t){let n=new bo(e.renderRange,t);return new yo(n,/year|month|week/.test(e.currentRangeUnit))}pe('\n:root {\n --fc-daygrid-event-dot-width: 8px;\n}\n/* help things clear margins of inner content */\n.fc-daygrid-day-frame,\n.fc-daygrid-day-events,\n.fc-daygrid-event-harness { /* for event top/bottom margins */\n}\n.fc-daygrid-day-frame:before, .fc-daygrid-day-events:before, .fc-daygrid-event-harness:before {\n content: "";\n clear: both;\n display: table; }\n.fc-daygrid-day-frame:after, .fc-daygrid-day-events:after, .fc-daygrid-event-harness:after {\n content: "";\n clear: both;\n display: table; }\n.fc .fc-daygrid-body { /* a <div> that wraps the table */\n position: relative;\n z-index: 1; /* container inner z-index\'s because <tr>s can\'t do it */\n }\n.fc .fc-daygrid-day.fc-day-today {\n background-color: rgba(255, 220, 40, 0.15);\n background-color: var(--fc-today-bg-color, rgba(255, 220, 40, 0.15));\n }\n.fc .fc-daygrid-day-frame {\n position: relative;\n min-height: 100%; /* seems to work better than `height` because sets height after rows/cells naturally do it */\n }\n.fc {\n\n /* cell top */\n\n}\n.fc .fc-daygrid-day-top {\n display: flex;\n flex-direction: row-reverse;\n }\n.fc .fc-day-other .fc-daygrid-day-top {\n opacity: 0.3;\n }\n.fc {\n\n /* day number (within cell top) */\n\n}\n.fc .fc-daygrid-day-number {\n position: relative;\n z-index: 4;\n padding: 4px;\n }\n.fc {\n\n /* event container */\n\n}\n.fc .fc-daygrid-day-events {\n margin-top: 1px; /* needs to be margin, not padding, so that available cell height can be computed */\n }\n.fc {\n\n /* positioning for balanced vs natural */\n\n}\n.fc .fc-daygrid-body-balanced .fc-daygrid-day-events {\n position: absolute;\n left: 0;\n right: 0;\n }\n.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events {\n position: relative; /* for containing abs positioned event harnesses */\n min-height: 2em; /* in addition to being a min-height during natural height, equalizes the heights a little bit */\n }\n.fc .fc-daygrid-body-natural { /* can coexist with -unbalanced */\n }\n.fc .fc-daygrid-body-natural .fc-daygrid-day-events {\n margin-bottom: 1em;\n }\n.fc {\n\n /* event harness */\n\n}\n.fc .fc-daygrid-event-harness {\n position: relative;\n }\n.fc .fc-daygrid-event-harness-abs {\n position: absolute;\n top: 0; /* fallback coords for when cannot yet be computed */\n left: 0; /* */\n right: 0; /* */\n }\n.fc .fc-daygrid-bg-harness {\n position: absolute;\n top: 0;\n bottom: 0;\n }\n.fc {\n\n /* bg content */\n\n}\n.fc .fc-daygrid-day-bg .fc-non-business { z-index: 1 }\n.fc .fc-daygrid-day-bg .fc-bg-event { z-index: 2 }\n.fc .fc-daygrid-day-bg .fc-highlight { z-index: 3 }\n.fc {\n\n /* events */\n\n}\n.fc .fc-daygrid-event {\n z-index: 6;\n margin-top: 1px;\n }\n.fc .fc-daygrid-event.fc-event-mirror {\n z-index: 7;\n }\n.fc {\n\n /* cell bottom (within day-events) */\n\n}\n.fc .fc-daygrid-day-bottom {\n font-size: .85em;\n padding: 2px 3px 0\n }\n.fc .fc-daygrid-day-bottom:before {\n content: "";\n clear: both;\n display: table; }\n.fc .fc-daygrid-more-link {\n position: relative;\n z-index: 4;\n cursor: pointer;\n }\n.fc {\n\n /* week number (within frame) */\n\n}\n.fc .fc-daygrid-week-number {\n position: absolute;\n z-index: 5;\n top: 0;\n padding: 2px;\n min-width: 1.5em;\n text-align: center;\n background-color: rgba(208, 208, 208, 0.3);\n background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));\n color: #808080;\n color: var(--fc-neutral-text-color, #808080);\n }\n.fc {\n\n /* popover */\n\n}\n.fc .fc-more-popover .fc-popover-body {\n min-width: 220px;\n padding: 10px;\n }\n.fc-direction-ltr .fc-daygrid-event.fc-event-start,\n.fc-direction-rtl .fc-daygrid-event.fc-event-end {\n margin-left: 2px;\n}\n.fc-direction-ltr .fc-daygrid-event.fc-event-end,\n.fc-direction-rtl .fc-daygrid-event.fc-event-start {\n margin-right: 2px;\n}\n.fc-direction-ltr .fc-daygrid-week-number {\n left: 0;\n border-radius: 0 0 3px 0;\n }\n.fc-direction-rtl .fc-daygrid-week-number {\n right: 0;\n border-radius: 0 0 0 3px;\n }\n.fc-liquid-hack .fc-daygrid-day-frame {\n position: static; /* will cause inner absolute stuff to expand to <td> */\n }\n.fc-daygrid-event { /* make root-level, because will be dragged-and-dropped outside of a component root */\n position: relative; /* for z-indexes assigned later */\n white-space: nowrap;\n border-radius: 3px; /* dot event needs this to when selected */\n font-size: .85em;\n font-size: var(--fc-small-font-size, .85em);\n}\n/* --- the rectangle ("block") style of event --- */\n.fc-daygrid-block-event .fc-event-time {\n font-weight: bold;\n }\n.fc-daygrid-block-event .fc-event-time,\n .fc-daygrid-block-event .fc-event-title {\n padding: 1px;\n }\n/* --- the dot style of event --- */\n.fc-daygrid-dot-event {\n display: flex;\n align-items: center;\n padding: 2px 0\n\n}\n.fc-daygrid-dot-event .fc-event-title {\n flex-grow: 1;\n flex-shrink: 1;\n min-width: 0; /* important for allowing to shrink all the way */\n overflow: hidden;\n font-weight: bold;\n }\n.fc-daygrid-dot-event:hover,\n .fc-daygrid-dot-event.fc-event-mirror {\n background: rgba(0, 0, 0, 0.1);\n }\n.fc-daygrid-dot-event.fc-event-selected:before {\n /* expand hit area */\n top: -10px;\n bottom: -10px;\n }\n.fc-daygrid-event-dot { /* the actual dot */\n margin: 0 4px;\n box-sizing: content-box;\n width: 0;\n height: 0;\n border: 4px solid #3788d8;\n border: calc(var(--fc-daygrid-event-dot-width, 8px) / 2) solid var(--fc-event-border-color, #3788d8);\n border-radius: 4px;\n border-radius: calc(var(--fc-daygrid-event-dot-width, 8px) / 2);\n}\n/* --- spacing between time and title --- */\n.fc-direction-ltr .fc-daygrid-event .fc-event-time {\n margin-right: 3px;\n }\n.fc-direction-rtl .fc-daygrid-event .fc-event-time {\n margin-left: 3px;\n }\n');var ll=Bi({initialView:"dayGridMonth",views:{dayGrid:{component:ol,dateProfileGeneratorClass:class extends Ki{buildRenderRange(e,t,n){let r,{dateEnv:i}=this.props,s=super.buildRenderRange(e,t,n),o=s.start,a=s.end;if(/^(year|month)$/.test(t)&&(o=i.startOfWeek(o),r=i.startOfWeek(a),r.valueOf()!==a.valueOf()&&(a=Je(r,1))),this.props.monthMode&&this.props.fixedWeekCount){a=Je(a,6-Math.ceil(tt(o,a)))}return{start:o,end:a}}}},dayGridDay:{type:"dayGrid",duration:{days:1}},dayGridWeek:{type:"dayGrid",duration:{weeks:1}},dayGridMonth:{type:"dayGrid",duration:{months:1},monthMode:!0,fixedWeekCount:!0}}});class cl extends Jr{getKeyInfo(){return{allDay:{},timed:{}}}getKeysForDateSpan(e){return e.allDay?["allDay"]:["timed"]}getKeysForEventDef(e){return e.allDay?qn(e)?["timed","allDay"]:["allDay"]:["timed"]}}const dl=on({hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"short"});function ul(e){let t=["fc-timegrid-slot","fc-timegrid-slot-label",e.isLabeled?"fc-scrollgrid-shrink":"fc-timegrid-slot-minor"];return wi(Mi.Consumer,null,(n=>{if(!e.isLabeled)return wi("td",{className:t.join(" "),"data-time":e.isoTimeStr});let{dateEnv:r,options:i,viewApi:s}=n,o=null==i.slotLabelFormat?dl:Array.isArray(i.slotLabelFormat)?on(i.slotLabelFormat[0]):on(i.slotLabelFormat),a={level:0,time:e.time,date:r.toDate(e.date),view:s,text:r.format(e.date,o)};return wi(Ui,{hookProps:a,classNames:i.slotLabelClassNames,content:i.slotLabelContent,defaultContent:hl,didMount:i.slotLabelDidMount,willUnmount:i.slotLabelWillUnmount},((n,r,i,s)=>wi("td",{ref:n,className:t.concat(r).join(" "),"data-time":e.isoTimeStr},wi("div",{className:"fc-timegrid-slot-label-frame fc-scrollgrid-shrink-frame"},wi("div",{className:"fc-timegrid-slot-label-cushion fc-scrollgrid-shrink-cushion",ref:i},s)))))}))}function hl(e){return e.text}class fl extends Ni{render(){return this.props.slatMetas.map((e=>wi("tr",{key:e.key},wi(ul,Object.assign({},e)))))}}const pl=on({week:"short"});class gl extends Hi{constructor(){super(...arguments),this.allDaySplitter=new cl,this.headerElRef=Si(),this.rootElRef=Si(),this.scrollerElRef=Si(),this.state={slatCoords:null},this.handleScrollTopRequest=e=>{let t=this.scrollerElRef.current;t&&(t.scrollTop=e)},this.renderHeadAxis=(e,t="")=>{let{options:n}=this.context,{dateProfile:r}=this.props,i=r.renderRange,s=1===nt(i.start,i.end)?ii(this.context,i.start,"week"):{};return n.weekNumbers&&"day"===e?wi(ia,{date:i.start,defaultFormat:pl},((e,n,r,i)=>wi("th",{ref:e,"aria-hidden":!0,className:["fc-timegrid-axis","fc-scrollgrid-shrink"].concat(n).join(" ")},wi("div",{className:"fc-timegrid-axis-frame fc-scrollgrid-shrink-frame fc-timegrid-axis-frame-liquid",style:{height:t}},wi("a",Object.assign({ref:r,className:"fc-timegrid-axis-cushion fc-scrollgrid-shrink-cushion fc-scrollgrid-sync-inner"},s),i))))):wi("th",{"aria-hidden":!0,className:"fc-timegrid-axis"},wi("div",{className:"fc-timegrid-axis-frame",style:{height:t}}))},this.renderTableRowAxis=e=>{let{options:t,viewApi:n}=this.context,r={text:t.allDayText,view:n};return wi(Ui,{hookProps:r,classNames:t.allDayClassNames,content:t.allDayContent,defaultContent:ml,didMount:t.allDayDidMount,willUnmount:t.allDayWillUnmount},((t,n,r,i)=>wi("td",{ref:t,"aria-hidden":!0,className:["fc-timegrid-axis","fc-scrollgrid-shrink"].concat(n).join(" ")},wi("div",{className:"fc-timegrid-axis-frame fc-scrollgrid-shrink-frame"+(null==e?" fc-timegrid-axis-frame-liquid":""),style:{height:e}},wi("span",{className:"fc-timegrid-axis-cushion fc-scrollgrid-shrink-cushion fc-scrollgrid-sync-inner",ref:r},i)))))},this.handleSlatCoords=e=>{this.setState({slatCoords:e})}}renderSimpleLayout(e,t,n){let{context:r,props:i}=this,s=[],o=Vo(r.options);return e&&s.push({type:"header",key:"header",isSticky:o,chunk:{elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}}),t&&(s.push({type:"body",key:"all-day",chunk:{content:t}}),s.push({type:"body",key:"all-day-divider",outerContent:wi("tr",{role:"presentation",className:"fc-scrollgrid-section"},wi("td",{className:"fc-timegrid-divider "+r.theme.getClass("tableCellShaded")}))})),s.push({type:"body",key:"body",liquid:!0,expandRows:Boolean(r.options.expandRows),chunk:{scrollerElRef:this.scrollerElRef,content:n}}),wi(qi,{viewSpec:r.viewSpec,elRef:this.rootElRef},((e,t)=>wi("div",{className:["fc-timegrid"].concat(t).join(" "),ref:e},wi(Qo,{liquid:!i.isHeightAuto&&!i.forPrint,collapsibleWidth:i.forPrint,cols:[{width:"shrink"}],sections:s}))))}renderHScrollLayout(e,t,n,r,i,s,o){let a=this.context.pluginHooks.scrollGridImpl;if(!a)throw new Error("No ScrollGrid implementation");let{context:l,props:c}=this,d=!c.forPrint&&Vo(l.options),u=!c.forPrint&&Go(l.options),h=[];e&&h.push({type:"header",key:"header",isSticky:d,syncRowHeights:!0,chunks:[{key:"axis",rowContent:e=>wi("tr",{role:"presentation"},this.renderHeadAxis("day",e.rowSyncHeights[0]))},{key:"cols",elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}]}),t&&(h.push({type:"body",key:"all-day",syncRowHeights:!0,chunks:[{key:"axis",rowContent:e=>wi("tr",{role:"presentation"},this.renderTableRowAxis(e.rowSyncHeights[0]))},{key:"cols",content:t}]}),h.push({key:"all-day-divider",type:"body",outerContent:wi("tr",{role:"presentation",className:"fc-scrollgrid-section"},wi("td",{colSpan:2,className:"fc-timegrid-divider "+l.theme.getClass("tableCellShaded")}))}));let f=l.options.nowIndicator;return h.push({type:"body",key:"body",liquid:!0,expandRows:Boolean(l.options.expandRows),chunks:[{key:"axis",content:e=>wi("div",{className:"fc-timegrid-axis-chunk"},wi("table",{"aria-hidden":!0,style:{height:e.expandRows?e.clientHeight:""}},e.tableColGroupNode,wi("tbody",null,wi(fl,{slatMetas:s}))),wi("div",{className:"fc-timegrid-now-indicator-container"},wi(po,{unit:f?"minute":"day"},(e=>{let t=f&&o&&o.safeComputeTop(e);return"number"==typeof t?wi(Xo,{isAxis:!0,date:e},((e,n,r,i)=>wi("div",{ref:e,className:["fc-timegrid-now-indicator-arrow"].concat(n).join(" "),style:{top:t}},i))):null}))))},{key:"cols",scrollerElRef:this.scrollerElRef,content:n}]}),u&&h.push({key:"footer",type:"footer",isSticky:!0,chunks:[{key:"axis",content:Wo},{key:"cols",content:Wo}]}),wi(qi,{viewSpec:l.viewSpec,elRef:this.rootElRef},((e,t)=>wi("div",{className:["fc-timegrid"].concat(t).join(" "),ref:e},wi(a,{liquid:!c.isHeightAuto&&!c.forPrint,collapsibleWidth:!1,colGroups:[{width:"shrink",cols:[{width:"shrink"}]},{cols:[{span:r,minWidth:i}]}],sections:h}))))}getAllDayMaxEventProps(){let{dayMaxEvents:e,dayMaxEventRows:t}=this.context.options;return!0!==e&&!0!==t||(e=void 0,t=5),{dayMaxEvents:e,dayMaxEventRows:t}}}function ml(e){return e.text}class vl{constructor(e,t,n){this.positions=e,this.dateProfile=t,this.slotDuration=n}safeComputeTop(e){let{dateProfile:t}=this;if(Qn(t.currentRange,e)){let n=ot(e),r=e.valueOf()-n.valueOf();if(r>=Ht(t.slotMinTime)&&r<Ht(t.slotMaxTime))return this.computeTimeTop(Mt(r))}return null}computeDateTop(e,t){return t||(t=ot(e)),this.computeTimeTop(Mt(e.valueOf()-t.valueOf()))}computeTimeTop(e){let t,n,{positions:r,dateProfile:i}=this,s=r.els.length,o=(e.milliseconds-Ht(i.slotMinTime))/Ht(this.slotDuration);return o=Math.max(0,o),o=Math.min(s,o),t=Math.floor(o),t=Math.min(t,s-1),n=o-t,r.tops[t]+r.getHeight(t)*n}}class bl extends Ni{render(){let{props:e,context:t}=this,{options:n}=t,{slatElRefs:r}=e;return wi("tbody",null,e.slatMetas.map(((i,s)=>{let o={time:i.time,date:t.dateEnv.toDate(i.date),view:t.viewApi},a=["fc-timegrid-slot","fc-timegrid-slot-lane",i.isLabeled?"":"fc-timegrid-slot-minor"];return wi("tr",{key:i.key,ref:r.createRef(i.key)},e.axis&&wi(ul,Object.assign({},i)),wi(Ui,{hookProps:o,classNames:n.slotLaneClassNames,content:n.slotLaneContent,didMount:n.slotLaneDidMount,willUnmount:n.slotLaneWillUnmount},((e,t,n,r)=>wi("td",{ref:e,className:a.concat(t).join(" "),"data-time":i.isoTimeStr},r))))})))}}class yl extends Ni{constructor(){super(...arguments),this.rootElRef=Si(),this.slatElRefs=new Io}render(){let{props:e,context:t}=this;return wi("div",{ref:this.rootElRef,className:"fc-timegrid-slots"},wi("table",{"aria-hidden":!0,className:t.theme.getClass("table"),style:{minWidth:e.tableMinWidth,width:e.clientWidth,height:e.minHeight}},e.tableColGroupNode,wi(bl,{slatElRefs:this.slatElRefs,axis:e.axis,slatMetas:e.slatMetas})))}componentDidMount(){this.updateSizing()}componentDidUpdate(){this.updateSizing()}componentWillUnmount(){this.props.onCoords&&this.props.onCoords(null)}updateSizing(){let{context:e,props:t}=this;if(t.onCoords&&null!==t.clientWidth){this.rootElRef.current.offsetHeight&&t.onCoords(new vl(new mi(this.rootElRef.current,(n=this.slatElRefs.currentMap,t.slatMetas.map((e=>n[e.key]))),!1,!0),this.props.dateProfile,e.options.slotDuration))}var n}}function El(e,t){let n,r=[];for(n=0;n<t;n+=1)r.push([]);if(e)for(n=0;n<e.length;n+=1)r[e[n].col].push(e[n]);return r}function Dl(e,t){let n=[];if(e){for(let r=0;r<t;r+=1)n[r]={affectedInstances:e.affectedInstances,isEvent:e.isEvent,segs:[]};for(let t of e.segs)n[t.col].segs.push(t)}else for(let e=0;e<t;e+=1)n[e]=null;return n}class wl extends Ni{constructor(){super(...arguments),this.rootElRef=Si()}render(){let{props:e}=this;return wi(la,{allDayDate:null,moreCnt:e.hiddenSegs.length,allSegs:e.hiddenSegs,hiddenSegs:e.hiddenSegs,alignmentElRef:this.rootElRef,defaultContent:Al,extraDateSpan:e.extraDateSpan,dateProfile:e.dateProfile,todayRange:e.todayRange,popoverContent:()=>Nl(e.hiddenSegs,e)},((t,n,r,i,s,o,a,l)=>wi("a",{ref:e=>{Pi(t,e),Pi(this.rootElRef,e)},className:["fc-timegrid-more-link"].concat(n).join(" "),style:{top:e.top,bottom:e.bottom},onClick:s,title:o,"aria-expanded":a,"aria-controls":l},wi("div",{ref:r,className:"fc-timegrid-more-link-inner fc-sticky"},i))))}}function Al(e){return e.shortText}function Sl(e,t,n){let r=new Bs;null!=t&&(r.strictOrder=t),null!=n&&(r.maxStackCnt=n);let i=Us(r.addSegs(e)),s=function(e){const{entriesByLevel:t}=e,n=kl(((e,t)=>e+":"+t),((r,i)=>{let s=Cl(function(e,t,n){let{levelCoords:r,entriesByLevel:i}=e,s=i[t][n],o=r[t]+s.thickness,a=r.length,l=t;for(;l<a&&r[l]<o;l+=1);for(;l<a;l+=1){let e,t=i[l],n=Vs(t,s.span.start,js),r=n[0]+n[1],o=r;for(;(e=t[o])&&e.span.start<s.span.end;)o+=1;if(r<o)return{level:l,lateralStart:r,lateralEnd:o}}return null}(e,r,i),n),o=t[r][i];return[Object.assign(Object.assign({},o),{nextLevelNodes:s[0]}),o.thickness+s[1]]}));return Cl(t.length?{level:0,lateralStart:0,lateralEnd:t[0].length}:null,n)[0]}(r);return s=function(e,t){const n=kl(((e,t,n)=>zs(e)),((e,r,i)=>{let s,{nextLevelNodes:o,thickness:a}=e,l=a+i,c=a/l,d=[];if(o.length)for(let e of o)if(void 0===s){let t=n(e,r,l);s=t[0],d.push(t[1])}else{let t=n(e,s,0);d.push(t[1])}else s=t;let u=(s-r)*c;return[s-u,Object.assign(Object.assign({},e),{thickness:u,nextLevelNodes:d})]}));return e.map((e=>n(e,0,0)[1]))}(s,1),{segRects:function(e){let t=[];const n=kl(((e,t,n)=>zs(e)),((e,n,i)=>{let s=Object.assign(Object.assign({},e),{levelCoord:n,stackDepth:i,stackForward:0});return t.push(s),s.stackForward=r(e.nextLevelNodes,n+e.thickness,i+1)+1}));function r(e,t,r){let i=0;for(let s of e)i=Math.max(n(s,t,r),i);return i}return r(e,0,0),t}(s),hiddenGroups:i}}function Cl(e,t){if(!e)return[[],0];let{level:n,lateralStart:r,lateralEnd:i}=e,s=r,o=[];for(;s<i;)o.push(t(n,s)),s+=1;return o.sort(xl),[o.map(Rl),o[0][1]]}function xl(e,t){return t[1]-e[1]}function Rl(e){return e[0]}function kl(e,t){const n={};return(...r)=>{let i=e(...r);return i in n?n[i]:n[i]=t(...r)}}function Tl(e,t,n=null,r=0){let i=[];if(n)for(let s=0;s<e.length;s+=1){let o=e[s],a=n.computeDateTop(o.start,t),l=Math.max(a+(r||0),n.computeDateTop(o.end,t));i.push({start:Math.round(a),end:Math.round(l)})}return i}const _l=on({hour:"numeric",minute:"2-digit",meridiem:!1});class Ml extends Ni{render(){let e=["fc-timegrid-event","fc-v-event"];return this.props.isShort&&e.push("fc-timegrid-event-short"),wi(qo,Object.assign({},this.props,{defaultTimeFormat:_l,extraClassNames:e}))}}class Il extends Ni{render(){let{props:e}=this;return wi(Jo,{date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,extraHookProps:e.extraHookProps},((e,t)=>t&&wi("div",{className:"fc-timegrid-col-misc",ref:e},t)))}}class Ol extends Ni{constructor(){super(...arguments),this.sortEventSegs=Vt(Kn)}render(){let{props:e,context:t}=this,n=t.options.selectMirror,r=e.eventDrag&&e.eventDrag.segs||e.eventResize&&e.eventResize.segs||n&&e.dateSelectionSegs||[],i=e.eventDrag&&e.eventDrag.affectedInstances||e.eventResize&&e.eventResize.affectedInstances||{},s=this.sortEventSegs(e.fgEventSegs,t.options.eventOrder);return wi(ea,{elRef:e.elRef,date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,extraHookProps:e.extraHookProps},((t,o,a)=>wi("td",Object.assign({ref:t,role:"gridcell",className:["fc-timegrid-col"].concat(o,e.extraClassNames||[]).join(" ")},a,e.extraDataAttrs),wi("div",{className:"fc-timegrid-col-frame"},wi("div",{className:"fc-timegrid-col-bg"},this.renderFillSegs(e.businessHourSegs,"non-business"),this.renderFillSegs(e.bgEventSegs,"bg-event"),this.renderFillSegs(e.dateSelectionSegs,"highlight")),wi("div",{className:"fc-timegrid-col-events"},this.renderFgSegs(s,i,!1,!1,!1)),wi("div",{className:"fc-timegrid-col-events"},this.renderFgSegs(r,{},Boolean(e.eventDrag),Boolean(e.eventResize),Boolean(n))),wi("div",{className:"fc-timegrid-now-indicator-container"},this.renderNowIndicator(e.nowIndicatorSegs)),wi(Il,{date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,extraHookProps:e.extraHookProps})))))}renderFgSegs(e,t,n,r,i){let{props:s}=this;return s.forPrint?Nl(e,s):this.renderPositionedFgSegs(e,t,n,r,i)}renderPositionedFgSegs(e,t,n,r,i){let{eventMaxStack:s,eventShortHeight:o,eventOrderStrict:a,eventMinHeight:l}=this.context.options,{date:c,slatCoords:d,eventSelection:u,todayRange:h,nowDate:f}=this.props,p=n||r||i,g=Tl(e,c,d,l),{segPlacements:m,hiddenGroups:v}=function(e,t,n,r){let i=[],s=[];for(let n=0;n<e.length;n+=1){let r=t[n];r?i.push({index:n,thickness:1,span:r}):s.push(e[n])}let{segRects:o,hiddenGroups:a}=Sl(i,n,r),l=[];for(let t of o)l.push({seg:e[t.index],rect:t});for(let e of s)l.push({seg:e,rect:null});return{segPlacements:l,hiddenGroups:a}}(e,g,a,s);return wi(Ci,null,this.renderHiddenGroups(v,e),m.map((e=>{let{seg:s,rect:a}=e,l=s.eventRange.instance.instanceId,c=p||Boolean(!t[l]&&a),d=Pl(a&&a.span),g=!p&&a?this.computeSegHStyle(a):{left:0,right:0},m=Boolean(a)&&a.stackForward>0,v=Boolean(a)&&a.span.end-a.span.start<o;return wi("div",{className:"fc-timegrid-event-harness"+(m?" fc-timegrid-event-harness-inset":""),key:l,style:Object.assign(Object.assign({visibility:c?"":"hidden"},d),g)},wi(Ml,Object.assign({seg:s,isDragging:n,isResizing:r,isDateSelecting:i,isSelected:l===u,isShort:v},sr(s,h,f))))})))}renderHiddenGroups(e,t){let{extraDateSpan:n,dateProfile:r,todayRange:i,nowDate:s,eventSelection:o,eventDrag:a,eventResize:l}=this.props;return wi(Ci,null,e.map((e=>{let c=Pl(e.span),d=(u=e.entries,h=t,u.map((e=>h[e.index])));var u,h;return wi(wl,{key:zt(ua(d)),hiddenSegs:d,top:c.top,bottom:c.bottom,extraDateSpan:n,dateProfile:r,todayRange:i,nowDate:s,eventSelection:o,eventDrag:a,eventResize:l})})))}renderFillSegs(e,t){let{props:n,context:r}=this,i=Tl(e,n.date,n.slatCoords,r.options.eventMinHeight).map(((r,i)=>{let s=e[i];return wi("div",{key:ar(s.eventRange),className:"fc-timegrid-bg-harness",style:Pl(r)},"bg-event"===t?wi(na,Object.assign({seg:s},sr(s,n.todayRange,n.nowDate))):ta(t))}));return wi(Ci,null,i)}renderNowIndicator(e){let{slatCoords:t,date:n}=this.props;return t?e.map(((e,r)=>wi(Xo,{isAxis:!1,date:n,key:r},((r,i,s,o)=>wi("div",{ref:r,className:["fc-timegrid-now-indicator-line"].concat(i).join(" "),style:{top:t.computeDateTop(e.start,n)}},o))))):null}computeSegHStyle(e){let t,n,{isRtl:r,options:i}=this.context,s=i.slotEventOverlap,o=e.levelCoord,a=e.levelCoord+e.thickness;s&&(a=Math.min(1,o+2*(a-o))),r?(t=1-a,n=o):(t=o,n=1-a);let l={zIndex:e.stackDepth+1,left:100*t+"%",right:100*n+"%"};return s&&!e.stackForward&&(l[r?"marginLeft":"marginRight"]=20),l}}function Nl(e,{todayRange:t,nowDate:n,eventSelection:r,eventDrag:i,eventResize:s}){let o=(i?i.affectedInstances:null)||(s?s.affectedInstances:null)||{};return wi(Ci,null,e.map((e=>{let i=e.eventRange.instance.instanceId;return wi("div",{key:i,style:{visibility:o[i]?"hidden":""}},wi(Ml,Object.assign({seg:e,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:i===r,isShort:!1},sr(e,t,n))))})))}function Pl(e){return e?{top:e.start,bottom:-e.end}:{top:"",bottom:""}}class Hl extends Ni{constructor(){super(...arguments),this.splitFgEventSegs=Vt(El),this.splitBgEventSegs=Vt(El),this.splitBusinessHourSegs=Vt(El),this.splitNowIndicatorSegs=Vt(El),this.splitDateSelectionSegs=Vt(El),this.splitEventDrag=Vt(Dl),this.splitEventResize=Vt(Dl),this.rootElRef=Si(),this.cellElRefs=new Io}render(){let{props:e,context:t}=this,n=t.options.nowIndicator&&e.slatCoords&&e.slatCoords.safeComputeTop(e.nowDate),r=e.cells.length,i=this.splitFgEventSegs(e.fgEventSegs,r),s=this.splitBgEventSegs(e.bgEventSegs,r),o=this.splitBusinessHourSegs(e.businessHourSegs,r),a=this.splitNowIndicatorSegs(e.nowIndicatorSegs,r),l=this.splitDateSelectionSegs(e.dateSelectionSegs,r),c=this.splitEventDrag(e.eventDrag,r),d=this.splitEventResize(e.eventResize,r);return wi("div",{className:"fc-timegrid-cols",ref:this.rootElRef},wi("table",{role:"presentation",style:{minWidth:e.tableMinWidth,width:e.clientWidth}},e.tableColGroupNode,wi("tbody",{role:"presentation"},wi("tr",{role:"row"},e.axis&&wi("td",{"aria-hidden":!0,className:"fc-timegrid-col fc-timegrid-axis"},wi("div",{className:"fc-timegrid-col-frame"},wi("div",{className:"fc-timegrid-now-indicator-container"},"number"==typeof n&&wi(Xo,{isAxis:!0,date:e.nowDate},((e,t,r,i)=>wi("div",{ref:e,className:["fc-timegrid-now-indicator-arrow"].concat(t).join(" "),style:{top:n}},i)))))),e.cells.map(((t,n)=>wi(Ol,{key:t.key,elRef:this.cellElRefs.createRef(t.key),dateProfile:e.dateProfile,date:t.date,nowDate:e.nowDate,todayRange:e.todayRange,extraHookProps:t.extraHookProps,extraDataAttrs:t.extraDataAttrs,extraClassNames:t.extraClassNames,extraDateSpan:t.extraDateSpan,fgEventSegs:i[n],bgEventSegs:s[n],businessHourSegs:o[n],nowIndicatorSegs:a[n],dateSelectionSegs:l[n],eventDrag:c[n],eventResize:d[n],slatCoords:e.slatCoords,eventSelection:e.eventSelection,forPrint:e.forPrint})))))))}componentDidMount(){this.updateCoords()}componentDidUpdate(){this.updateCoords()}updateCoords(){let{props:e}=this;var t;e.onColCoords&&null!==e.clientWidth&&e.onColCoords(new mi(this.rootElRef.current,(t=this.cellElRefs.currentMap,e.cells.map((e=>t[e.key]))),!0,!1))}}class Bl extends Hi{constructor(){super(...arguments),this.processSlotOptions=Vt(jl),this.state={slatCoords:null},this.handleRootEl=e=>{e?this.context.registerInteractiveComponent(this,{el:e,isHitComboAllowed:this.props.isHitComboAllowed}):this.context.unregisterInteractiveComponent(this)},this.handleScrollRequest=e=>{let{onScrollTopRequest:t}=this.props,{slatCoords:n}=this.state;if(t&&n){if(e.time){let r=n.computeTimeTop(e.time);r=Math.ceil(r),r&&(r+=1),t(r)}return!0}return!1},this.handleColCoords=e=>{this.colCoords=e},this.handleSlatCoords=e=>{this.setState({slatCoords:e}),this.props.onSlatCoords&&this.props.onSlatCoords(e)}}render(){let{props:e,state:t}=this;return wi("div",{className:"fc-timegrid-body",ref:this.handleRootEl,style:{width:e.clientWidth,minWidth:e.tableMinWidth}},wi(yl,{axis:e.axis,dateProfile:e.dateProfile,slatMetas:e.slatMetas,clientWidth:e.clientWidth,minHeight:e.expandRows?e.clientHeight:"",tableMinWidth:e.tableMinWidth,tableColGroupNode:e.axis?e.tableColGroupNode:null,onCoords:this.handleSlatCoords}),wi(Hl,{cells:e.cells,axis:e.axis,dateProfile:e.dateProfile,businessHourSegs:e.businessHourSegs,bgEventSegs:e.bgEventSegs,fgEventSegs:e.fgEventSegs,dateSelectionSegs:e.dateSelectionSegs,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,todayRange:e.todayRange,nowDate:e.nowDate,nowIndicatorSegs:e.nowIndicatorSegs,clientWidth:e.clientWidth,tableMinWidth:e.tableMinWidth,tableColGroupNode:e.tableColGroupNode,slatCoords:t.slatCoords,onColCoords:this.handleColCoords,forPrint:e.forPrint}))}componentDidMount(){this.scrollResponder=this.context.createScrollResponder(this.handleScrollRequest)}componentDidUpdate(e){this.scrollResponder.update(e.dateProfile!==this.props.dateProfile)}componentWillUnmount(){this.scrollResponder.detach()}queryHit(e,t){let{dateEnv:n,options:r}=this.context,{colCoords:i}=this,{dateProfile:s}=this.props,{slatCoords:o}=this.state,{snapDuration:a,snapsPerSlot:l}=this.processSlotOptions(this.props.slotDuration,r.snapDuration),c=i.leftToIndex(e),d=o.positions.topToIndex(t);if(null!=c&&null!=d){let e=this.props.cells[c],r=o.positions.tops[d],u=o.positions.getHeight(d),h=(t-r)/u,f=d*l+Math.floor(h*l),p=this.props.cells[c].date,g=Ot(s.slotMinTime,Nt(a,f)),m=n.add(p,g),v=n.add(m,a);return{dateProfile:s,dateSpan:Object.assign({range:{start:m,end:v},allDay:!1},e.extraDateSpan),dayEl:i.els[c],rect:{left:i.lefts[c],right:i.rights[c],top:r,bottom:r+u},layer:0}}return null}}function jl(e,t){let n=t||e,r=Bt(e,n);return null===r&&(n=e,r=1),{snapDuration:n,snapsPerSlot:r}}class zl extends Eo{sliceRange(e,t){let n=[];for(let r=0;r<t.length;r+=1){let i=Fn(e,t[r]);i&&n.push({start:i.start,end:i.end,isStart:i.start.valueOf()===e.start.valueOf(),isEnd:i.end.valueOf()===e.end.valueOf(),col:r})}return n}}class Ul extends Hi{constructor(){super(...arguments),this.buildDayRanges=Vt(Ll),this.slicer=new zl,this.timeColsRef=Si()}render(){let{props:e,context:t}=this,{dateProfile:n,dayTableModel:r}=e,i=t.options.nowIndicator,s=this.buildDayRanges(r,n,t.dateEnv);return wi(po,{unit:i?"minute":"day"},((o,a)=>wi(Bl,Object.assign({ref:this.timeColsRef},this.slicer.sliceProps(e,n,null,t,s),{forPrint:e.forPrint,axis:e.axis,dateProfile:n,slatMetas:e.slatMetas,slotDuration:e.slotDuration,cells:r.cells[0],tableColGroupNode:e.tableColGroupNode,tableMinWidth:e.tableMinWidth,clientWidth:e.clientWidth,clientHeight:e.clientHeight,expandRows:e.expandRows,nowDate:o,nowIndicatorSegs:i&&this.slicer.sliceNowDate(o,t,s),todayRange:a,onScrollTopRequest:e.onScrollTopRequest,onSlatCoords:e.onSlatCoords}))))}}function Ll(e,t,n){let r=[];for(let i of e.headerDates)r.push({start:n.add(i,t.slotMinTime),end:n.add(i,t.slotMaxTime)});return r}const Fl=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}];function Wl(e,t,n,r,i){let s=new Date(0),o=e,a=Mt(0),l=n||function(e){let t,n,r;for(t=Fl.length-1;t>=0;t-=1)if(n=Mt(Fl[t]),r=Bt(n,e),null!==r&&r>1)return n;return e}(r),c=[];for(;Ht(o)<Ht(t);){let e=i.add(s,o),t=null!==Bt(a,l);c.push({date:e,time:o,key:e.toISOString(),isoTimeStr:Lt(e),isLabeled:t}),o=Ot(o,r),a=Ot(a,r)}return c}class Vl extends gl{constructor(){super(...arguments),this.buildTimeColsModel=Vt(Gl),this.buildSlatMetas=Vt(Wl)}render(){let{options:e,dateEnv:t,dateProfileGenerator:n}=this.context,{props:r}=this,{dateProfile:i}=r,s=this.buildTimeColsModel(i,n),o=this.allDaySplitter.splitProps(r),a=this.buildSlatMetas(i.slotMinTime,i.slotMaxTime,e.slotLabelInterval,e.slotDuration,t),{dayMinWidth:l}=e,c=!l,d=l,u=e.dayHeaders&&wi(mo,{dates:s.headerDates,dateProfile:i,datesRepDistinctDays:!0,renderIntro:c?this.renderHeadAxis:null}),h=!1!==e.allDaySlot&&(t=>wi(sl,Object.assign({},o.allDay,{dateProfile:i,dayTableModel:s,nextDayThreshold:e.nextDayThreshold,tableMinWidth:t.tableMinWidth,colGroupNode:t.tableColGroupNode,renderRowIntro:c?this.renderTableRowAxis:null,showWeekNumbers:!1,expandRows:!1,headerAlignElRef:this.headerElRef,clientWidth:t.clientWidth,clientHeight:t.clientHeight,forPrint:r.forPrint},this.getAllDayMaxEventProps()))),f=t=>wi(Ul,Object.assign({},o.timed,{dayTableModel:s,dateProfile:i,axis:c,slotDuration:e.slotDuration,slatMetas:a,forPrint:r.forPrint,tableColGroupNode:t.tableColGroupNode,tableMinWidth:t.tableMinWidth,clientWidth:t.clientWidth,clientHeight:t.clientHeight,onSlatCoords:this.handleSlatCoords,expandRows:t.expandRows,onScrollTopRequest:this.handleScrollTopRequest}));return d?this.renderHScrollLayout(u,h,f,s.colCnt,l,a,this.state.slatCoords):this.renderSimpleLayout(u,h,f)}}function Gl(e,t){let n=new bo(e.renderRange,t);return new yo(n,!1)}const Ql={allDaySlot:Boolean};pe('\n/*\nA VERTICAL event\n*/\n\n.fc-v-event { /* allowed to be top-level */\n display: block;\n border: 1px solid #3788d8;\n border: 1px solid var(--fc-event-border-color, #3788d8);\n background-color: #3788d8;\n background-color: var(--fc-event-bg-color, #3788d8)\n\n}\n\n.fc-v-event .fc-event-main {\n color: #fff;\n color: var(--fc-event-text-color, #fff);\n height: 100%;\n }\n\n.fc-v-event .fc-event-main-frame {\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n\n.fc-v-event .fc-event-time {\n flex-grow: 0;\n flex-shrink: 0;\n max-height: 100%;\n overflow: hidden;\n }\n\n.fc-v-event .fc-event-title-container { /* a container for the sticky cushion */\n flex-grow: 1;\n flex-shrink: 1;\n min-height: 0; /* important for allowing to shrink all the way */\n }\n\n.fc-v-event .fc-event-title { /* will have fc-sticky on it */\n top: 0;\n bottom: 0;\n max-height: 100%; /* clip overflow */\n overflow: hidden;\n }\n\n.fc-v-event:not(.fc-event-start) {\n border-top-width: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n\n.fc-v-event:not(.fc-event-end) {\n border-bottom-width: 0;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n.fc-v-event.fc-event-selected:before {\n /* expand hit area */\n left: -10px;\n right: -10px;\n }\n\n.fc-v-event {\n\n /* resizer (mouse AND touch) */\n\n}\n\n.fc-v-event .fc-event-resizer-start {\n cursor: n-resize;\n }\n\n.fc-v-event .fc-event-resizer-end {\n cursor: s-resize;\n }\n\n.fc-v-event {\n\n /* resizer for MOUSE */\n\n}\n\n.fc-v-event:not(.fc-event-selected) .fc-event-resizer {\n height: 8px;\n height: var(--fc-event-resizer-thickness, 8px);\n left: 0;\n right: 0;\n }\n\n.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start {\n top: -4px;\n top: calc(var(--fc-event-resizer-thickness, 8px) / -2);\n }\n\n.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end {\n bottom: -4px;\n bottom: calc(var(--fc-event-resizer-thickness, 8px) / -2);\n }\n\n.fc-v-event {\n\n /* resizer for TOUCH (when event is "selected") */\n\n}\n\n.fc-v-event.fc-event-selected .fc-event-resizer {\n left: 50%;\n margin-left: -4px;\n margin-left: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2);\n }\n\n.fc-v-event.fc-event-selected .fc-event-resizer-start {\n top: -4px;\n top: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2);\n }\n\n.fc-v-event.fc-event-selected .fc-event-resizer-end {\n bottom: -4px;\n bottom: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2);\n }\n.fc .fc-timegrid .fc-daygrid-body { /* the all-day daygrid within the timegrid view */\n z-index: 2; /* put above the timegrid-body so that more-popover is above everything. TODO: better solution */\n }\n.fc .fc-timegrid-divider {\n padding: 0 0 2px; /* browsers get confused when you set height. use padding instead */\n }\n.fc .fc-timegrid-body {\n position: relative;\n z-index: 1; /* scope the z-indexes of slots and cols */\n min-height: 100%; /* fill height always, even when slat table doesn\'t grow */\n }\n.fc .fc-timegrid-axis-chunk { /* for advanced ScrollGrid */\n position: relative /* offset parent for now-indicator-container */\n\n }\n.fc .fc-timegrid-axis-chunk > table {\n position: relative;\n z-index: 1; /* above the now-indicator-container */\n }\n.fc .fc-timegrid-slots {\n position: relative;\n z-index: 1;\n }\n.fc .fc-timegrid-slot { /* a <td> */\n height: 1.5em;\n border-bottom: 0 /* each cell owns its top border */\n }\n.fc .fc-timegrid-slot:empty:before {\n content: \'\\00a0\'; /* make sure there\'s at least an empty space to create height for height syncing */\n }\n.fc .fc-timegrid-slot-minor {\n border-top-style: dotted;\n }\n.fc .fc-timegrid-slot-label-cushion {\n display: inline-block;\n white-space: nowrap;\n }\n.fc .fc-timegrid-slot-label {\n vertical-align: middle; /* vertical align the slots */\n }\n.fc {\n\n\n /* slots AND axis cells (top-left corner of view including the "all-day" text) */\n\n}\n.fc .fc-timegrid-axis-cushion,\n .fc .fc-timegrid-slot-label-cushion {\n padding: 0 4px;\n }\n.fc {\n\n\n /* axis cells (top-left corner of view including the "all-day" text) */\n /* vertical align is more complicated, uses flexbox */\n\n}\n.fc .fc-timegrid-axis-frame-liquid {\n height: 100%; /* will need liquid-hack in FF */\n }\n.fc .fc-timegrid-axis-frame {\n overflow: hidden;\n display: flex;\n align-items: center; /* vertical align */\n justify-content: flex-end; /* horizontal align. matches text-align below */\n }\n.fc .fc-timegrid-axis-cushion {\n max-width: 60px; /* limits the width of the "all-day" text */\n flex-shrink: 0; /* allows text to expand how it normally would, regardless of constrained width */\n }\n.fc-direction-ltr .fc-timegrid-slot-label-frame {\n text-align: right;\n }\n.fc-direction-rtl .fc-timegrid-slot-label-frame {\n text-align: left;\n }\n.fc-liquid-hack .fc-timegrid-axis-frame-liquid {\n height: auto;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n.fc .fc-timegrid-col.fc-day-today {\n background-color: rgba(255, 220, 40, 0.15);\n background-color: var(--fc-today-bg-color, rgba(255, 220, 40, 0.15));\n }\n.fc .fc-timegrid-col-frame {\n min-height: 100%; /* liquid-hack is below */\n position: relative;\n }\n.fc-media-screen.fc-liquid-hack .fc-timegrid-col-frame {\n height: auto;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n.fc-media-screen .fc-timegrid-cols {\n position: absolute; /* no z-index. children will decide and go above slots */\n top: 0;\n left: 0;\n right: 0;\n bottom: 0\n }\n.fc-media-screen .fc-timegrid-cols > table {\n height: 100%;\n }\n.fc-media-screen .fc-timegrid-col-bg,\n .fc-media-screen .fc-timegrid-col-events,\n .fc-media-screen .fc-timegrid-now-indicator-container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n }\n.fc {\n\n /* bg */\n\n}\n.fc .fc-timegrid-col-bg {\n z-index: 2; /* TODO: kill */\n }\n.fc .fc-timegrid-col-bg .fc-non-business { z-index: 1 }\n.fc .fc-timegrid-col-bg .fc-bg-event { z-index: 2 }\n.fc .fc-timegrid-col-bg .fc-highlight { z-index: 3 }\n.fc .fc-timegrid-bg-harness {\n position: absolute; /* top/bottom will be set by JS */\n left: 0;\n right: 0;\n }\n.fc {\n\n /* fg events */\n /* (the mirror segs are put into a separate container with same classname, */\n /* and they must be after the normal seg container to appear at a higher z-index) */\n\n}\n.fc .fc-timegrid-col-events {\n z-index: 3;\n /* child event segs have z-indexes that are scoped within this div */\n }\n.fc {\n\n /* now indicator */\n\n}\n.fc .fc-timegrid-now-indicator-container {\n bottom: 0;\n overflow: hidden; /* don\'t let overflow of lines/arrows cause unnecessary scrolling */\n /* z-index is set on the individual elements */\n }\n.fc-direction-ltr .fc-timegrid-col-events {\n margin: 0 2.5% 0 2px;\n }\n.fc-direction-rtl .fc-timegrid-col-events {\n margin: 0 2px 0 2.5%;\n }\n.fc-timegrid-event-harness {\n position: absolute /* top/left/right/bottom will all be set by JS */\n}\n.fc-timegrid-event-harness > .fc-timegrid-event {\n position: absolute; /* absolute WITHIN the harness */\n top: 0; /* for when not yet positioned */\n bottom: 0; /* " */\n left: 0;\n right: 0;\n }\n.fc-timegrid-event-harness-inset .fc-timegrid-event,\n.fc-timegrid-event.fc-event-mirror,\n.fc-timegrid-more-link {\n box-shadow: 0px 0px 0px 1px #fff;\n box-shadow: 0px 0px 0px 1px var(--fc-page-bg-color, #fff);\n}\n.fc-timegrid-event,\n.fc-timegrid-more-link { /* events need to be root */\n font-size: .85em;\n font-size: var(--fc-small-font-size, .85em);\n border-radius: 3px;\n}\n.fc-timegrid-event { /* events need to be root */\n margin-bottom: 1px /* give some space from bottom */\n}\n.fc-timegrid-event .fc-event-main {\n padding: 1px 1px 0;\n }\n.fc-timegrid-event .fc-event-time {\n white-space: nowrap;\n font-size: .85em;\n font-size: var(--fc-small-font-size, .85em);\n margin-bottom: 1px;\n }\n.fc-timegrid-event-short .fc-event-main-frame {\n flex-direction: row;\n overflow: hidden;\n }\n.fc-timegrid-event-short .fc-event-time:after {\n content: \'\\00a0-\\00a0\'; /* dash surrounded by non-breaking spaces */\n }\n.fc-timegrid-event-short .fc-event-title {\n font-size: .85em;\n font-size: var(--fc-small-font-size, .85em)\n }\n.fc-timegrid-more-link { /* does NOT inherit from fc-timegrid-event */\n position: absolute;\n z-index: 9999; /* hack */\n color: inherit;\n color: var(--fc-more-link-text-color, inherit);\n background: #d0d0d0;\n background: var(--fc-more-link-bg-color, #d0d0d0);\n cursor: pointer;\n margin-bottom: 1px; /* match space below fc-timegrid-event */\n}\n.fc-timegrid-more-link-inner { /* has fc-sticky */\n padding: 3px 2px;\n top: 0;\n}\n.fc-direction-ltr .fc-timegrid-more-link {\n right: 0;\n }\n.fc-direction-rtl .fc-timegrid-more-link {\n left: 0;\n }\n.fc {\n\n /* line */\n\n}\n.fc .fc-timegrid-now-indicator-line {\n position: absolute;\n z-index: 4;\n left: 0;\n right: 0;\n border-style: solid;\n border-color: red;\n border-color: var(--fc-now-indicator-color, red);\n border-width: 1px 0 0;\n }\n.fc {\n\n /* arrow */\n\n}\n.fc .fc-timegrid-now-indicator-arrow {\n position: absolute;\n z-index: 4;\n margin-top: -5px; /* vertically center on top coordinate */\n border-style: solid;\n border-color: red;\n border-color: var(--fc-now-indicator-color, red);\n }\n.fc-direction-ltr .fc-timegrid-now-indicator-arrow {\n left: 0;\n\n /* triangle pointing right. TODO: mixin */\n border-width: 5px 0 5px 6px;\n border-top-color: transparent;\n border-bottom-color: transparent;\n }\n.fc-direction-rtl .fc-timegrid-now-indicator-arrow {\n right: 0;\n\n /* triangle pointing left. TODO: mixin */\n border-width: 5px 6px 5px 0;\n border-top-color: transparent;\n border-bottom-color: transparent;\n }\n');var Yl=Bi({initialView:"timeGridWeek",optionRefiners:Ql,views:{timeGrid:{component:Vl,usesMinMaxTime:!0,allDaySlot:!0,slotDuration:"00:30:00",slotEventOverlap:!0},timeGridDay:{type:"timeGrid",duration:{days:1}},timeGridWeek:{type:"timeGrid",duration:{weeks:1}}}});class ql extends Ni{constructor(){super(...arguments),this.state={textId:Re()}}render(){let{theme:e,dateEnv:t,options:n,viewApi:r}=this.context,{cellId:i,dayDate:s,todayRange:o}=this.props,{textId:a}=this.state,l=ei(s,o),c=n.listDayFormat?t.format(s,n.listDayFormat):"",d=n.listDaySideFormat?t.format(s,n.listDaySideFormat):"",u=Object.assign({date:t.toDate(s),view:r,textId:a,text:c,sideText:d,navLinkAttrs:ii(this.context,s),sideNavLinkAttrs:ii(this.context,s,"day",!1)},l),h=["fc-list-day"].concat(ti(l,e));return wi(Ui,{hookProps:u,classNames:n.dayHeaderClassNames,content:n.dayHeaderContent,defaultContent:Zl,didMount:n.dayHeaderDidMount,willUnmount:n.dayHeaderWillUnmount},((t,n,r,o)=>wi("tr",{ref:t,className:h.concat(n).join(" "),"data-date":Ut(s)},wi("th",{scope:"colgroup",colSpan:3,id:i,"aria-labelledby":a},wi("div",{className:"fc-list-day-cushion "+e.getClass("tableCellShaded"),ref:r},o)))))}}function Zl(e){return wi(Ci,null,e.text&&wi("a",Object.assign({id:e.textId,className:"fc-list-day-text"},e.navLinkAttrs),e.text),e.sideText&&wi("a",Object.assign({"aria-hidden":!0,className:"fc-list-day-side-text"},e.sideNavLinkAttrs),e.sideText))}const Xl=on({hour:"numeric",minute:"2-digit",meridiem:"short"});class $l extends Ni{render(){let{props:e,context:t}=this,{seg:n,timeHeaderId:r,eventHeaderId:i,dateHeaderId:s}=e,o=t.options.eventTimeFormat||Xl;return wi(Yo,{seg:n,timeText:"",disableDragging:!0,disableResizing:!0,defaultContent:()=>function(e,t){let n=lr(e,t);return wi("a",Object.assign({},n),e.eventRange.def.title)}(n,t),isPast:e.isPast,isFuture:e.isFuture,isToday:e.isToday,isSelected:e.isSelected,isDragging:e.isDragging,isResizing:e.isResizing,isDateSelecting:e.isDateSelecting},((e,a,l,c,d)=>wi("tr",{className:["fc-list-event",d.event.url?"fc-event-forced-url":""].concat(a).join(" "),ref:e},function(e,t,n,r,i){let{options:s}=n;if(!1!==s.displayEventTime){let o,a=e.eventRange.def,l=e.eventRange.instance,c=!1;if(a.allDay?c=!0:jn(e.eventRange.range)?e.isStart?o=ir(e,t,n,null,null,l.range.start,e.end):e.isEnd?o=ir(e,t,n,null,null,e.start,l.range.end):c=!0:o=ir(e,t,n),c){let e={text:n.options.allDayText,view:n.viewApi};return wi(Ui,{hookProps:e,classNames:s.allDayClassNames,content:s.allDayContent,defaultContent:Jl,didMount:s.allDayDidMount,willUnmount:s.allDayWillUnmount},((e,t,n,s)=>wi("td",{ref:e,headers:`${r} ${i}`,className:["fc-list-event-time"].concat(t).join(" ")},s)))}return wi("td",{className:"fc-list-event-time"},o)}return null}(n,o,t,r,s),wi("td",{"aria-hidden":!0,className:"fc-list-event-graphic"},wi("span",{className:"fc-list-event-dot",style:{borderColor:d.borderColor||d.backgroundColor}})),wi("td",{ref:l,headers:`${i} ${s}`,className:"fc-list-event-title"},c))))}}function Jl(e){return e.text}class Kl extends Hi{constructor(){super(...arguments),this.computeDateVars=Vt(tc),this.eventStoreToSegs=Vt(this._eventStoreToSegs),this.state={timeHeaderId:Re(),eventHeaderId:Re(),dateHeaderIdRoot:Re()},this.setRootEl=e=>{e?this.context.registerInteractiveComponent(this,{el:e}):this.context.unregisterInteractiveComponent(this)}}render(){let{props:e,context:t}=this,n=["fc-list",t.theme.getClass("table"),!1!==t.options.stickyHeaderDates?"fc-list-sticky":""],{dayDates:r,dayRanges:i}=this.computeDateVars(e.dateProfile),s=this.eventStoreToSegs(e.eventStore,e.eventUiBases,i);return wi(qi,{viewSpec:t.viewSpec,elRef:this.setRootEl},((t,i)=>wi("div",{ref:t,className:n.concat(i).join(" ")},wi(Mo,{liquid:!e.isHeightAuto,overflowX:e.isHeightAuto?"visible":"hidden",overflowY:e.isHeightAuto?"visible":"auto"},s.length>0?this.renderSegList(s,r):this.renderEmptyMessage()))))}renderEmptyMessage(){let{options:e,viewApi:t}=this.context,n={text:e.noEventsText,view:t};return wi(Ui,{hookProps:n,classNames:e.noEventsClassNames,content:e.noEventsContent,defaultContent:ec,didMount:e.noEventsDidMount,willUnmount:e.noEventsWillUnmount},((e,t,n,r)=>wi("div",{className:["fc-list-empty"].concat(t).join(" "),ref:e},wi("div",{className:"fc-list-empty-cushion",ref:n},r))))}renderSegList(e,t){let{theme:n,options:r}=this.context,{timeHeaderId:i,eventHeaderId:s,dateHeaderIdRoot:o}=this.state,a=function(e){let t,n,r=[];for(t=0;t<e.length;t+=1)n=e[t],(r[n.dayIndex]||(r[n.dayIndex]=[])).push(n);return r}(e);return wi(po,{unit:"day"},((e,l)=>{let c=[];for(let n=0;n<a.length;n+=1){let d=a[n];if(d){let a=Ut(t[n]),u=o+"-"+a;c.push(wi(ql,{key:a,cellId:u,dayDate:t[n],todayRange:l})),d=Kn(d,r.eventOrder);for(let t of d)c.push(wi($l,Object.assign({key:a+":"+t.eventRange.instance.instanceId,seg:t,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:!1,timeHeaderId:i,eventHeaderId:s,dateHeaderId:u},sr(t,l,e))))}}return wi("table",{className:"fc-list-table "+n.getClass("table")},wi("thead",null,wi("tr",null,wi("th",{scope:"col",id:i},r.timeHint),wi("th",{scope:"col","aria-hidden":!0}),wi("th",{scope:"col",id:s},r.eventHint))),wi("tbody",null,c))}))}_eventStoreToSegs(e,t,n){return this.eventRangesToSegs(Yn(e,t,this.props.dateProfile.activeRange,this.context.options.nextDayThreshold).fg,n)}eventRangesToSegs(e,t){let n=[];for(let r of e)n.push(...this.eventRangeToSegs(r,t));return n}eventRangeToSegs(e,t){let n,r,i,{dateEnv:s}=this.context,{nextDayThreshold:o}=this.context.options,a=e.range,l=e.def.allDay,c=[];for(n=0;n<t.length;n+=1)if(r=Fn(a,t[n]),r&&(i={component:this,eventRange:e,start:r.start,end:r.end,isStart:e.isStart&&r.start.valueOf()===a.start.valueOf(),isEnd:e.isEnd&&r.end.valueOf()===a.end.valueOf(),dayIndex:n},c.push(i),!i.isEnd&&!l&&n+1<t.length&&a.end<s.add(t[n+1].start,o))){i.end=a.end,i.isEnd=!0;break}return c}}function ec(e){return e.text}function tc(e){let t=ot(e.renderRange.start),n=e.renderRange.end,r=[],i=[];for(;t<n;)r.push(t),i.push({start:t,end:Ke(t,1)}),t=Ke(t,1);return{dayDates:r,dayRanges:i}}const nc={listDayFormat:rc,listDaySideFormat:rc,noEventsClassNames:mn,noEventsContent:mn,noEventsDidMount:mn,noEventsWillUnmount:mn};function rc(e){return!1===e?null:on(e)}pe('\n:root {\n --fc-list-event-dot-width: 10px;\n --fc-list-event-hover-bg-color: #f5f5f5;\n}\n.fc-theme-standard .fc-list {\n border: 1px solid #ddd;\n border: 1px solid var(--fc-border-color, #ddd);\n }\n.fc {\n\n /* message when no events */\n\n}\n.fc .fc-list-empty {\n background-color: rgba(208, 208, 208, 0.3);\n background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center; /* vertically aligns fc-list-empty-inner */\n }\n.fc .fc-list-empty-cushion {\n margin: 5em 0;\n }\n.fc {\n\n /* table within the scroller */\n /* ---------------------------------------------------------------------------------------------------- */\n\n}\n.fc .fc-list-table {\n width: 100%;\n border-style: hidden; /* kill outer border on theme */\n }\n.fc .fc-list-table tr > * {\n border-left: 0;\n border-right: 0;\n }\n.fc .fc-list-sticky .fc-list-day > * { /* the cells */\n position: sticky;\n top: 0;\n background: #fff;\n background: var(--fc-page-bg-color, #fff); /* for when headers are styled to be transparent and sticky */\n }\n.fc {\n\n /* only exists for aria reasons, hide for non-screen-readers */\n\n}\n.fc .fc-list-table thead {\n position: absolute;\n left: -10000px;\n }\n.fc {\n\n /* the table\'s border-style:hidden gets confused by hidden thead. force-hide top border of first cell */\n\n}\n.fc .fc-list-table tbody > tr:first-child th {\n border-top: 0;\n }\n.fc .fc-list-table th {\n padding: 0; /* uses an inner-wrapper instead... */\n }\n.fc .fc-list-table td,\n .fc .fc-list-day-cushion {\n padding: 8px 14px;\n }\n.fc {\n\n\n /* date heading rows */\n /* ---------------------------------------------------------------------------------------------------- */\n\n}\n.fc .fc-list-day-cushion:after {\n content: "";\n clear: both;\n display: table; /* clear floating */\n }\n.fc-theme-standard .fc-list-day-cushion {\n background-color: rgba(208, 208, 208, 0.3);\n background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));\n }\n.fc-direction-ltr .fc-list-day-text,\n.fc-direction-rtl .fc-list-day-side-text {\n float: left;\n}\n.fc-direction-ltr .fc-list-day-side-text,\n.fc-direction-rtl .fc-list-day-text {\n float: right;\n}\n/* make the dot closer to the event title */\n.fc-direction-ltr .fc-list-table .fc-list-event-graphic { padding-right: 0 }\n.fc-direction-rtl .fc-list-table .fc-list-event-graphic { padding-left: 0 }\n.fc .fc-list-event.fc-event-forced-url {\n cursor: pointer; /* whole row will seem clickable */\n }\n.fc .fc-list-event:hover td {\n background-color: #f5f5f5;\n background-color: var(--fc-list-event-hover-bg-color, #f5f5f5);\n }\n.fc {\n\n /* shrink certain cols */\n\n}\n.fc .fc-list-event-graphic,\n .fc .fc-list-event-time {\n white-space: nowrap;\n width: 1px;\n }\n.fc .fc-list-event-dot {\n display: inline-block;\n box-sizing: content-box;\n width: 0;\n height: 0;\n border: 5px solid #3788d8;\n border: calc(var(--fc-list-event-dot-width, 10px) / 2) solid var(--fc-event-border-color, #3788d8);\n border-radius: 5px;\n border-radius: calc(var(--fc-list-event-dot-width, 10px) / 2);\n }\n.fc {\n\n /* reset <a> styling */\n\n}\n.fc .fc-list-event-title a {\n color: inherit;\n text-decoration: none;\n }\n.fc {\n\n /* underline link when hovering over any part of row */\n\n}\n.fc .fc-list-event.fc-event-forced-url:hover a {\n text-decoration: underline;\n }\n');var ic=Bi({optionRefiners:nc,views:{list:{component:Kl,buttonTextKey:"list",listDayFormat:{month:"long",day:"numeric",year:"numeric"}},listDay:{type:"list",duration:{days:1},listDayFormat:{weekday:"long"}},listWeek:{type:"list",duration:{weeks:1},listDayFormat:{weekday:"long"},listDaySideFormat:{month:"long",day:"numeric",year:"numeric"}},listMonth:{type:"list",duration:{month:1},listDaySideFormat:{weekday:"long"}},listYear:{type:"list",duration:{year:1},listDaySideFormat:{weekday:"long"}}}});pe("\n\n .fc-theme-bootstrap a:not([href]) {\n color: inherit; /* natural color for navlinks */\n }\n");class sc extends Ei{}sc.prototype.classes={root:"fc-theme-bootstrap",table:"table-bordered",tableCellShaded:"table-active",buttonGroup:"btn-group",button:"btn btn-primary",buttonActive:"active",popover:"popover",popoverHeader:"popover-header",popoverContent:"popover-body"},sc.prototype.baseIconClass="fa",sc.prototype.iconClasses={close:"fa-times",prev:"fa-chevron-left",next:"fa-chevron-right",prevYear:"fa-angle-double-left",nextYear:"fa-angle-double-right"},sc.prototype.rtlIconClasses={prev:"fa-chevron-right",next:"fa-chevron-left",prevYear:"fa-angle-double-right",nextYear:"fa-angle-double-left"},sc.prototype.iconOverrideOption="bootstrapFontAwesome",sc.prototype.iconOverrideCustomButtonOption="bootstrapFontAwesome",sc.prototype.iconOverridePrefix="fa-";const oc=Bi({themeClasses:{bootstrap:sc}});pe("\n\n .fc-theme-bootstrap5 a:not([href]) {\n color: inherit;\n text-decoration: inherit;\n }\n\n.fc-theme-bootstrap5 .fc-list,\n .fc-theme-bootstrap5 .fc-scrollgrid,\n .fc-theme-bootstrap5 td,\n .fc-theme-bootstrap5 th {\n border: 1px solid var(--bs-gray-400);\n }\n\n.fc-theme-bootstrap5 {\n\n /* HACK: reapply core styles after highe-precedence border statement above */\n}\n\n.fc-theme-bootstrap5 .fc-scrollgrid {\n border-right-width: 0;\n border-bottom-width: 0;\n }\n\n.fc-theme-bootstrap5-shaded {\n background-color: var(--bs-gray-200);\n}\n");class ac extends Ei{}ac.prototype.classes={root:"fc-theme-bootstrap5",tableCellShaded:"fc-theme-bootstrap5-shaded",buttonGroup:"btn-group",button:"btn btn-primary",buttonActive:"active",popover:"popover",popoverHeader:"popover-header",popoverContent:"popover-body"},ac.prototype.baseIconClass="bi",ac.prototype.iconClasses={close:"bi-x-lg",prev:"bi-chevron-left",next:"bi-chevron-right",prevYear:"bi-chevron-double-left",nextYear:"bi-chevron-double-right"},ac.prototype.rtlIconClasses={prev:"bi-chevron-right",next:"bi-chevron-left",prevYear:"bi-chevron-double-right",nextYear:"bi-chevron-double-left"},ac.prototype.iconOverrideOption="buttonIcons",ac.prototype.iconOverrideCustomButtonOption="icon",ac.prototype.iconOverridePrefix="bi-";const lc=Bi({themeClasses:{bootstrap5:ac}}),cc="https://www.googleapis.com/calendar/v3/calendars";var dc=Bi({eventSourceDefs:[{parseMeta(e){let{googleCalendarId:t}=e;return!t&&e.url&&(t=function(e){let t;if(/^[^/]+@([^/.]+\.)*(google|googlemail|gmail)\.com$/.test(e))return e;if((t=/^https:\/\/www.googleapis.com\/calendar\/v3\/calendars\/([^/]*)/.exec(e))||(t=/^https?:\/\/www.google.com\/calendar\/feeds\/([^/]*)/.exec(e)))return decodeURIComponent(t[1]);return null}(e.url)),t?{googleCalendarId:t,googleCalendarApiKey:e.googleCalendarApiKey,googleCalendarApiBase:e.googleCalendarApiBase,extraParams:e.extraParams}:null},fetch(e,t,n){let{dateEnv:r,options:i}=e.context,s=e.eventSource.meta,o=s.googleCalendarApiKey||i.googleCalendarApiKey;if(o){let i=function(e){let t=e.googleCalendarApiBase;t||(t=cc);return t+"/"+encodeURIComponent(e.googleCalendarId)+"/events"}(s),{extraParams:a}=s,l="function"==typeof a?a():a,c=function(e,t,n,r){let i,s,o;r.canComputeOffset?(s=r.formatIso(e.start),o=r.formatIso(e.end)):(s=Ke(e.start,-1).toISOString(),o=Ke(e.end,1).toISOString());i=Object.assign(Object.assign({},n||{}),{key:t,timeMin:s,timeMax:o,singleEvents:!0,maxResults:9999}),"local"!==r.timeZone&&(i.timeZone=r.timeZone);return i}(e.range,o,l,r);ys("GET",i,c,((e,r)=>{var i,s;e.error?n({message:"Google Calendar API: "+e.error.message,errors:e.error.errors,xhr:r}):t({rawEvents:(i=e.items,s=c.timeZone,i.map((e=>function(e,t){let n=e.htmlLink||null;n&&t&&(n=function(e,t){return e.replace(/(\?.*?)?(#|$)/,((e,n,r)=>(n?n+"&":"?")+t+r))}(n,"ctz="+t));return{id:e.id,title:e.summary,start:e.start.dateTime||e.start.date,end:e.end.dateTime||e.end.date,url:n,location:e.location,description:e.description,attachments:e.attachments||[],extendedProps:(e.extendedProperties||{}).shared||{}}}(e,s)))),xhr:r})}),((e,t)=>{n({message:e,xhr:t})}))}else n({message:"Specify a googleCalendarApiKey. See http://fullcalendar.io/docs/google_calendar/"})}}],optionRefiners:{googleCalendarApiKey:String},eventSourceRefiners:{googleCalendarApiKey:String,googleCalendarId:String,googleCalendarApiBase:String,extraParams:mn}});return ws.push(Ha,ll,Yl,ic,oc,lc,dc),e.BASE_OPTION_DEFAULTS=ln,e.BASE_OPTION_REFINERS=an,e.BaseComponent=Ni,e.BgEvent=na,e.BootstrapTheme=sc,e.Calendar=class extends Cr{constructor(e,t={}){super(),this.isRendering=!1,this.isRendered=!1,this.currentClassNames=[],this.customContentRenderId=0,this.handleAction=e=>{switch(e.type){case"SET_EVENT_DRAG":case"SET_EVENT_RESIZE":this.renderRunner.tryDrain()}},this.handleData=e=>{this.currentData=e,this.renderRunner.request(e.calendarOptions.rerenderDelay)},this.handleRenderRequest=()=>{if(this.isRendering){this.isRendered=!0;let{currentData:e}=this;ki((()=>{Ai(wi(oo,{options:e.calendarOptions,theme:e.theme,emitter:e.emitter},((t,n,r,i)=>(this.setClassNames(t),this.setHeight(n),wi(Li.Provider,{value:this.customContentRenderId},wi(ro,Object.assign({isHeightAuto:r,forPrint:i},e)))))),this.el)}))}else this.isRendered&&(this.isRendered=!1,Ti(this.el),this.setClassNames([]),this.setHeight(""))},this.el=e,this.renderRunner=new As(this.handleRenderRequest),new xs({optionOverrides:t,calendarApi:this,onAction:this.handleAction,onData:this.handleData})}get view(){return this.currentData.viewApi}render(){let e=this.isRendering;e?this.customContentRenderId+=1:this.isRendering=!0,this.renderRunner.request(),e&&this.updateSize()}destroy(){this.isRendering&&(this.isRendering=!1,this.renderRunner.request())}updateSize(){ki((()=>{super.updateSize()}))}batchRendering(e){this.renderRunner.pause("batchRendering"),e(),this.renderRunner.resume("batchRendering")}pauseRendering(){this.renderRunner.pause("pauseRendering")}resumeRendering(){this.renderRunner.resume("pauseRendering",!0)}resetOptions(e,t){this.currentDataManager.resetOptions(e,t)}setClassNames(e){if(!Wt(e,this.currentClassNames)){let{classList:t}=this.el;for(let e of this.currentClassNames)t.remove(e);for(let n of e)t.add(n);this.currentClassNames=e}}setHeight(e){Ae(this.el,"height",e)}},e.CalendarApi=Cr,e.CalendarContent=ro,e.CalendarDataManager=xs,e.CalendarDataProvider=class extends Di{constructor(e){super(e),this.handleData=e=>{this.dataManager?this.setState(e):this.state=e},this.dataManager=new xs({optionOverrides:e.optionOverrides,calendarApi:e.calendarApi,onData:this.handleData})}render(){return this.props.children(this.state)}componentDidUpdate(e){let t=this.props.optionOverrides;t!==e.optionOverrides&&this.dataManager.resetOptions(t)}},e.CalendarRoot=oo,e.Component=Di,e.ContentHook=Fi,e.CustomContentRenderContext=Li,e.DateComponent=Hi,e.DateEnv=Nr,e.DateProfileGenerator=Ki,e.DayCellContent=Jo,e.DayCellRoot=ea,e.DayGridView=ol,e.DayHeader=mo,e.DaySeriesModel=bo,e.DayTable=sl,e.DayTableModel=yo,e.DayTableSlicer=il,e.DayTimeCols=Ul,e.DayTimeColsSlicer=zl,e.DayTimeColsView=Vl,e.DelayedRunner=As,e.Draggable=class{constructor(e,t={}){this.handlePointerDown=e=>{let{dragging:t}=this,{minDistance:n,longPressDelay:r}=this.settings;t.minDistance=null!=n?n:e.isTouch?0:ln.eventDragMinDistance,t.delay=e.isTouch?null!=r?r:ln.longPressDelay:0},this.handleDragStart=e=>{e.isTouch&&this.dragging.delay&&e.subjectEl.classList.contains("fc-event")&&this.dragging.mirror.getMirrorEl().classList.add("fc-event-selected")},this.settings=t;let n=this.dragging=new Ca(e);n.touchScrollAllowed=!1,null!=t.itemSelector&&(n.pointer.selector=t.itemSelector),null!=t.appendTo&&(n.mirror.parentNode=t.appendTo),n.emitter.on("pointerdown",this.handlePointerDown),n.emitter.on("dragstart",this.handleDragStart),new Na(n,t.eventData)}destroy(){this.dragging.destroy()}},e.ElementDragging=qs,e.ElementScrollController=bi,e.Emitter=gi,e.EventApi=xr,e.EventRoot=Yo,e.EventSourceApi=ge,e.FeaturefulElementDragging=Ca,e.Fragment=Ci,e.Interaction=Gs,e.ListView=Kl,e.MoreLinkRoot=la,e.MountHook=Vi,e.NamedTimeZoneImpl=class{constructor(e){this.timeZoneName=e}},e.NowIndicatorRoot=Xo,e.NowTimer=po,e.PointerDragging=va,e.PositionCache=mi,e.RefMap=Io,e.RenderHook=Ui,e.ScrollController=vi,e.ScrollResponder=_i,e.Scroller=Mo,e.SegHierarchy=Bs,e.SimpleScrollGrid=Qo,e.Slicer=Eo,e.Splitter=Jr,e.StandardEvent=qo,e.Table=nl,e.TableDateCell=uo,e.TableDowCell=fo,e.TableView=Ba,e.Theme=Ei,e.ThirdPartyDraggable=class{constructor(e,t){let n=document;e===document||e instanceof Element?(n=e,t=t||{}):t=e||{};let r=this.dragging=new Pa(n);"string"==typeof t.itemSelector?r.pointer.selector=t.itemSelector:n===document&&(r.pointer.selector="[data-event]"),"string"==typeof t.mirrorSelector&&(r.mirrorSelector=t.mirrorSelector),new Na(r,t.eventData)}destroy(){this.dragging.destroy()}},e.TimeCols=Bl,e.TimeColsSlatsCoords=vl,e.TimeColsView=gl,e.ViewApi=Er,e.ViewContextType=Mi,e.ViewRoot=qi,e.WeekNumberRoot=ia,e.WindowScrollController=yi,e.addDays=Ke,e.addDurations=Ot,e.addMs=et,e.addWeeks=Je,e.allowContextMenu=Le,e.allowSelection=ze,e.applyMutationToEventStore=vr,e.applyStyle=we,e.applyStyleProp=Ae,e.asCleanDays=function(e){return e.years||e.months||e.milliseconds?0:e.days},e.asRoughMinutes=function(e){return Ht(e)/6e4},e.asRoughMs=Ht,e.asRoughSeconds=function(e){return Ht(e)/1e3},e.binarySearch=Vs,e.buildClassNameNormalizer=Gi,e.buildDayRanges=Ll,e.buildDayTableModel=al,e.buildEntryKey=zs,e.buildEventApis=kr,e.buildEventRangeKey=ar,e.buildHashFromArray=function(e,t){let n={};for(let r=0;r<e.length;r+=1){let i=t(e[r],r);n[i[0]]=i[1]}return n},e.buildIsoString=zt,e.buildNavLinkAttrs=ii,e.buildSegCompareObj=er,e.buildSegTimeText=ir,e.buildSlatMetas=Wl,e.buildTimeColsModel=Gl,e.collectFromHash=xt,e.combineEventUis=Rn,e.compareByFieldSpec=Ve,e.compareByFieldSpecs=We,e.compareNumbers=qe,e.compareObjs=St,e.computeEarliestSegStart=ua,e.computeEdges=di,e.computeFallbackHeaderFormat=ao,e.computeHeightAndMargins=function(e){return e.getBoundingClientRect().height+function(e){let t=window.getComputedStyle(e);return parseInt(t.marginTop,10)+parseInt(t.marginBottom,10)}(e)},e.computeInnerRect=ui,e.computeRect=hi,e.computeSegDraggable=tr,e.computeSegEndResizable=rr,e.computeSegStartResizable=nr,e.computeShrinkWidth=Oo,e.computeSmallestCellWidth=Xe,e.computeVisibleDayRange=Bn,e.config=Zs,e.constrainPoint=Qr,e.createAriaClickAttrs=Ie,e.createContext=xi,e.createDuration=Mt,e.createElement=wi,e.createEmptyEventStore=En,e.createEventInstance=gt,e.createEventUi=xn,e.createFormatter=on,e.createPlugin=Bi,e.createPortal=Ri,e.createRef=Si,e.diffDates=zn,e.diffDayAndTime=rt,e.diffDays=nt,e.diffPoints=qr,e.diffWeeks=tt,e.diffWholeDays=st,e.diffWholeWeeks=it,e.disableCursor=He,e.elementClosest=be,e.elementMatches=ye,e.enableCursor=Be,e.eventTupleToStore=bn,e.filterEventStoreDefs=wn,e.filterHash=bt,e.findDirectChildren=function(e,t){let n=e instanceof HTMLElement?[e]:e,r=[];for(let e=0;e<n.length;e+=1){let i=n[e].children;for(let e=0;e<i.length;e+=1){let n=i[e];t&&!ye(n,t)||r.push(n)}}return r},e.findElements=Ee,e.flexibleCompare=Ge,e.flushSync=ki,e.formatDate=function(e,t={}){let n=Lr(t),r=on(t),i=n.createMarkerMeta(e);return i?n.format(i.marker,r,{forcedTzo:i.forcedTzo}):""},e.formatDayString=Ut,e.formatIsoTimeString=Lt,e.formatRange=function(e,t,n){let r=Lr("object"==typeof n&&n?n:{}),i=on(n),s=r.createMarkerMeta(e),o=r.createMarkerMeta(t);return s&&o?r.formatRange(s.marker,o.marker,i,{forcedStartTzo:s.forcedTzo,forcedEndTzo:o.forcedTzo,isEndExclusive:n.isEndExclusive,defaultSeparator:ln.defaultRangeSeparator}):""},e.getAllowYScrolling=Po,e.getCanVGrowWithinCell=Xr,e.getClippingParents=fi,e.getDateMeta=ei,e.getDayClassNames=ti,e.getDefaultEventEnd=mr,e.getElRoot=Ce,e.getElSeg=Xn,e.getEntrySpanEnd=js,e.getEventClassNames=or,e.getEventTargetViaRoot=Se,e.getIsRtlScrollbarOnLeft=ai,e.getRectCenter=Yr,e.getRelevantEvents=yn,e.getScrollGridClassNames=Lo,e.getScrollbarWidths=li,e.getSectionClassNames=Fo,e.getSectionHasLiquidHeight=No,e.getSegAnchorAttrs=lr,e.getSegMeta=sr,e.getSlotClassNames=function(e,t){let n=["fc-slot",`fc-slot-${$e[e.dow]}`];return e.isDisabled?n.push("fc-slot-disabled"):(e.isToday&&(n.push("fc-slot-today"),n.push(t.getClass("today"))),e.isPast&&n.push("fc-slot-past"),e.isFuture&&n.push("fc-slot-future")),n},e.getStickyFooterScrollbar=Go,e.getStickyHeaderDates=Vo,e.getUnequalProps=At,e.getUniqueDomId=Re,e.globalLocales=Pr,e.globalPlugins=ws,e.greatestDurationDenominator=jt,e.groupIntersectingEntries=Us,e.guid=Pe,e.hasBgRendering=qn,e.hasShrinkWidth=Uo,e.identity=mn,e.interactionSettingsStore=Ys,e.interactionSettingsToStore=Qs,e.intersectRanges=Fn,e.intersectRects=Gr,e.intersectSpans=Fs,e.isArraysEqual=Wt,e.isColPropsEqual=Bo,e.isDateSelectionValid=Ao,e.isDateSpansEqual=ur,e.isInt=Ze,e.isInteractionValid=wo,e.isMultiDayRange=jn,e.isPropsEqual=wt,e.isPropsValid=Co,e.isValidDate=ft,e.joinSpans=Ls,e.listenBySelector=Te,e.mapHash=yt,e.memoize=Vt,e.memoizeArraylike=function(e,t,n){let r=[],i=[];return s=>{let o=r.length,a=s.length,l=0;for(;l<o;l+=1)if(s[l]){if(!Wt(r[l],s[l])){n&&n(i[l]);let r=e.apply(this,s[l]);t&&t(r,i[l])||(i[l]=r)}}else n&&n(i[l]);for(;l<a;l+=1)i[l]=e.apply(this,s[l]);return r=s,i.splice(a),i}},e.memoizeHashlike=function(e,t,n){let r={},i={};return s=>{let o={};for(let a in s)if(i[a])if(Wt(r[a],s[a]))o[a]=i[a];else{n&&n(i[a]);let r=e.apply(this,s[a]);o[a]=t&&t(r,i[a])?i[a]:r}else o[a]=e.apply(this,s[a]);return r=s,i=o,o}},e.memoizeObjArg=Gt,e.mergeEventStores=Dn,e.multiplyDuration=Nt,e.padStart=Qe,e.parseBusinessHours=Wr,e.parseClassNames=An,e.parseDragMeta=$s,e.parseEventDef=Pn,e.parseFieldSpecs=Fe,e.parseMarker=Or,e.pointInsideRect=Vr,e.preventContextMenu=Ue,e.preventDefault=ke,e.preventSelection=je,e.rangeContainsMarker=Qn,e.rangeContainsRange=Gn,e.rangesEqual=Wn,e.rangesIntersect=Vn,e.refineEventDef=On,e.refineProps=gn,e.removeElement=ve,e.removeExact=function(e,t){let n=0,r=0;for(;r<e.length;)e[r]===t?(e.splice(r,1),n+=1):r+=1;return n},e.render=Ai,e.renderChunkContent=Ho,e.renderFill=ta,e.renderMicroColGroup=jo,e.renderScrollShim=Wo,e.requestJson=ys,e.sanitizeShrinkWidth=zo,e.setElSeg=Zn,e.setRef=Pi,e.sliceEventStore=Yn,e.sliceEvents=function(e,t){return Yn(e.eventStore,e.eventUiBases,e.dateProfile.activeRange,t?e.nextDayThreshold:null).fg},e.sortEventSegs=Kn,e.startOfDay=ot,e.translateRect=function(e,t,n){return{left:e.left+t,right:e.right+t,top:e.top+n,bottom:e.bottom+n}},e.triggerDateSelect=pr,e.unmountComponentAtNode=Ti,e.unpromisify=pi,e.version="6.0.0-beta.1",e.whenTransitionDone=Me,e.wholeDivideDurations=Bt,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
|