fullcalendar 7.0.0-beta.4 → 7.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.global.js +374 -424
- package/index.global.min.js +2 -2
- package/package.json +7 -7
package/index.global.js
CHANGED
|
@@ -1,80 +1,16 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
FullCalendar Standard Bundle v7.0.0-
|
|
2
|
+
FullCalendar Standard Bundle v7.0.0-rc.0
|
|
3
3
|
Docs & License: https://fullcalendar.io/docs/initialize-globals
|
|
4
4
|
(c) 2024 Adam Shaw
|
|
5
5
|
*/
|
|
6
6
|
var FullCalendar = (function (exports) {
|
|
7
7
|
'use strict';
|
|
8
8
|
|
|
9
|
-
var n,l$1,u$1,t,i$1,o,r$1,f$1,e$1,c$1,s$1,a$1,h={},p=[],v$1=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function w$1(n){var l=n.parentNode;l&&l.removeChild(n);}function _(l,u,t){var i,o,r,f={};for(r in u)"key"==r?i=u[r]:"ref"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),"function"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return g$1(l,f,i,o,null)}function g$1(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u$1:r,__i:-1,__u:0};return null==r&&null!=l$1.vnode&&l$1.vnode(f),f}function m$1(){return {current:null}}function k$1(n){return n.children}function b(n,l){this.props=n,this.context=l;}function x(n,l){if(null==l)return n.__?x(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return "function"==typeof n.type?x(n):null}function C$1(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return C$1(n)}}function M$1(n){(!n.__d&&(n.__d=!0)&&i$1.push(n)&&!P$1.__r++||o!==l$1.debounceRendering)&&((o=l$1.debounceRendering)||r$1)(P$1);}function P$1(){var n,u,t,o,r,e,c,s;for(i$1.sort(f$1);n=i$1.shift();)n.__d&&(u=i$1.length,o=void 0,e=(r=(t=n).__v).__e,c=[],s=[],t.__P&&((o=d({},r)).__v=r.__v+1,l$1.vnode&&l$1.vnode(o),O$1(t.__P,o,r,t.__n,t.__P.namespaceURI,32&r.__u?[e]:null,c,null==e?x(r):e,!!(32&r.__u),s),o.__v=r.__v,o.__.__k[o.__i]=o,j$2(c,o,s),o.__e!=e&&C$1(o)),i$1.length>u&&i$1.sort(f$1));P$1.__r=0;}function S(n,l,u,t,i,o,r,f,e,c,s){var a,v,y,d,w,_=t&&t.__k||p,g=l.length;for(u.__d=e,$$1(u,l,_),e=u.__d,a=0;a<g;a++)null!=(y=u.__k[a])&&"boolean"!=typeof y&&"function"!=typeof y&&(v=-1===y.__i?h:_[y.__i]||h,y.__i=a,O$1(n,y,v,i,o,r,f,e,c,s),d=y.__e,y.ref&&v.ref!=y.ref&&(v.ref&&N(v.ref,null,y),s.push(y.ref,y.__c||d,y)),null==w&&null!=d&&(w=d),65536&y.__u||v.__k===y.__k?e=I(y,e,n):"function"==typeof y.type&&void 0!==y.__d?e=y.__d:d&&(e=d.nextSibling),y.__d=void 0,y.__u&=-196609);u.__d=e,u.__e=w;}function $$1(n,l,u){var t,i,o,r,f,e=l.length,c=u.length,s=c,a=0;for(n.__k=[],t=0;t<e;t++)r=t+a,null!=(i=n.__k[t]=null==(i=l[t])||"boolean"==typeof i||"function"==typeof i?null:"string"==typeof i||"number"==typeof i||"bigint"==typeof i||i.constructor==String?g$1(null,i,null,null,null):y(i)?g$1(k$1,{children:i},null,null,null):void 0===i.constructor&&i.__b>0?g$1(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)?(i.__=n,i.__b=n.__b+1,f=L$1(i,u,r,s),i.__i=f,o=null,-1!==f&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,"function"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f==r-1?a=f-r:f==r+1?a++:f>r?s>e-r?a+=f-r:a--:f<r&&a++,f!==t+a&&(i.__u|=65536))):(o=u[r])&&null==o.key&&o.__e&&0==(131072&o.__u)&&(o.__e==n.__d&&(n.__d=x(o)),V$1(o,o,!1),u[r]=null,s--);if(s)for(t=0;t<c;t++)null!=(o=u[t])&&0==(131072&o.__u)&&(o.__e==n.__d&&(n.__d=x(o)),V$1(o,o));}function I(n,l,u){var t,i;if("function"==typeof n.type){for(t=n.__k,i=0;t&&i<t.length;i++)t[i]&&(t[i].__=n,l=I(t[i],l,u));return l}n.__e!=l&&(l&&n.type&&!u.contains(l)&&(l=x(n)),u.insertBefore(n.__e,l||null),l=n.__e);do{l=l&&l.nextSibling;}while(null!=l&&8===l.nodeType);return l}function H$1(n,l){return l=l||[],null==n||"boolean"==typeof n||(y(n)?n.some(function(n){H$1(n,l);}):l.push(n)),l}function L$1(n,l,u,t){var i=n.key,o=n.type,r=u-1,f=u+1,e=l[u];if(null===e||e&&i==e.key&&o===e.type&&0==(131072&e.__u))return u;if(t>(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f<l.length;){if(r>=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--;}if(f<l.length){if((e=l[f])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return f;f++;}}return -1}function T$1(n,l,u){"-"===l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||v$1.test(l)?u:u+"px";}function A$1(n,l,u,t,i){var o;n:if("style"===l)if("string"==typeof u)n.style.cssText=u;else {if("string"==typeof t&&(n.style.cssText=t=""),t)for(l in t)u&&l in u||T$1(n.style,l,"");if(u)for(l in u)t&&u[l]===t[l]||T$1(n.style,l,u[l]);}else if("o"===l[0]&&"n"===l[1])o=l!==(l=l.replace(/(PointerCapture)$|Capture$/i,"$1")),l=l.toLowerCase()in n||"onFocusOut"===l||"onFocusIn"===l?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?t?u.u=t.u:(u.u=e$1,n.addEventListener(l,o?s$1:c$1,o)):n.removeEventListener(l,o?s$1:c$1,o);else {if("http://www.w3.org/2000/svg"==i)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=l&&"height"!=l&&"href"!=l&&"list"!=l&&"form"!=l&&"tabIndex"!=l&&"download"!=l&&"rowSpan"!=l&&"colSpan"!=l&&"role"!=l&&"popover"!=l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||!1===u&&"-"!==l[4]?n.removeAttribute(l):n.setAttribute(l,"popover"==l&&1==u?"":u));}}function F(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u.t)u.t=e$1++;else if(u.t<t.u)return;return t(l$1.event?l$1.event(u):u)}}}function O$1(n,u,t,i,o,r,f,e,c,s){var a,h,p,v,w,_,g,m,x,C,M,P,$,I,H,L,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),r=[e=u.__e=t.__e]),(a=l$1.__b)&&a(u);n:if("function"==typeof T)try{if(m=u.props,x="prototype"in T&&T.prototype.render,C=(a=T.contextType)&&i[a.__c],M=a?C?C.props.value:a.__:i,t.__c?g=(h=u.__c=t.__c).__=h.__E:(x?u.__c=h=new T(m,M):(u.__c=h=new b(m,M),h.constructor=T,h.render=q),C&&C.sub(h),h.props=m,h.state||(h.state={}),h.context=M,h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),x&&null==h.__s&&(h.__s=h.state),x&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=d({},h.__s)),d(h.__s,T.getDerivedStateFromProps(m,h.__s))),v=h.props,w=h.state,h.__v=u,p)x&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),x&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else {if(x&&null==T.getDerivedStateFromProps&&m!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,M),!h.__e&&(null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,M)||u.__v===t.__v)){for(u.__v!==t.__v&&(h.props=m,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.forEach(function(n){n&&(n.__=u);}),P=0;P<h._sb.length;P++)h.__h.push(h._sb[P]);h._sb=[],h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,M),x&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,w,_);});}if(h.context=M,h.props=m,h.__P=n,h.__e=!1,$=l$1.__r,I=0,x){for(h.state=h.__s,h.__d=!1,$&&$(u),a=h.render(h.props,h.state,h.context),H=0;H<h._sb.length;H++)h.__h.push(h._sb[H]);h._sb=[];}else do{h.__d=!1,$&&$(u),a=h.render(h.props,h.state,h.context),h.state=h.__s;}while(h.__d&&++I<25);h.state=h.__s,null!=h.getChildContext&&(i=d(d({},i),h.getChildContext())),x&&!p&&null!=h.getSnapshotBeforeUpdate&&(_=h.getSnapshotBeforeUpdate(v,w)),S(n,y(L=null!=a&&a.type===k$1&&null==a.key?a.props.children:a)?L:[L],u,t,i,o,r,f,e,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&f.push(h),g&&(h.__E=h.__=null);}catch(n){if(u.__v=null,c||null!=r){for(u.__u|=c?160:32;e&&8===e.nodeType&&e.nextSibling;)e=e.nextSibling;r[r.indexOf(e)]=null,u.__e=e;}else u.__e=t.__e,u.__k=t.__k;l$1.__e(n,u,t);}else null==r&&u.__v===t.__v?(u.__k=t.__k,u.__e=t.__e):u.__e=z$2(t.__e,u,t,i,o,r,f,c,s);(a=l$1.diffed)&&a(u);}function j$2(n,u,t){u.__d=void 0;for(var i=0;i<t.length;i++)N(t[i],t[++i],t[++i]);l$1.__c&&l$1.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u);});}catch(n){l$1.__e(n,u.__v);}});}function z$2(l,u,t,i,o,r,f,e,c){var s,a,p,v,d,_,g,m=t.props,k=u.props,b=u.type;if("svg"===b?o="http://www.w3.org/2000/svg":"math"===b?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),null!=r)for(s=0;s<r.length;s++)if((d=r[s])&&"setAttribute"in d==!!b&&(b?d.localName===b:3===d.nodeType)){l=d,r[s]=null;break}if(null==l){if(null===b)return document.createTextNode(k);l=document.createElementNS(o,b,k.is&&k),r=null,e=!1;}if(null===b)m===k||e&&l.data===k||(l.data=k);else {if(r=r&&n.call(l.childNodes),m=t.props||h,!e&&null!=r)for(m={},s=0;s<l.attributes.length;s++)m[(d=l.attributes[s]).name]=d.value;for(s in m)if(d=m[s],"children"==s);else if("dangerouslySetInnerHTML"==s)p=d;else if("key"!==s&&!(s in k)){if("value"==s&&"defaultValue"in k||"checked"==s&&"defaultChecked"in k)continue;A$1(l,s,null,d,o);}for(s in k)d=k[s],"children"==s?v=d:"dangerouslySetInnerHTML"==s?a=d:"value"==s?_=d:"checked"==s?g=d:"key"===s||e&&"function"!=typeof d||m[s]===d||A$1(l,s,d,m[s],o);if(a)e||p&&(a.__html===p.__html||a.__html===l.innerHTML)||(l.innerHTML=a.__html),u.__k=[];else if(p&&(l.innerHTML=""),S(l,y(v)?v:[v],u,t,i,"foreignObject"===b?"http://www.w3.org/1999/xhtml":o,r,f,r?r[0]:t.__k&&x(t,0),e,c),null!=r)for(s=r.length;s--;)null!=r[s]&&w$1(r[s]);e||(s="value",void 0!==_&&(_!==l[s]||"progress"===b&&!_||"option"===b&&_!==m[s])&&A$1(l,s,_,m[s],o),s="checked",void 0!==g&&g!==l[s]&&A$1(l,s,g,m[s],o));}return l}function N(n,u,t){try{if("function"==typeof n){var i="function"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u));}else n.current=u;}catch(n){l$1.__e(n,t);}}function V$1(n,u,t){var i,o;if(l$1.unmount&&l$1.unmount(n),(i=n.ref)&&(i.current&&i.current!==n.__e||N(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount();}catch(n){l$1.__e(n,u);}i.base=i.__P=null;}if(i=n.__k)for(o=0;o<i.length;o++)i[o]&&V$1(i[o],u,t||"function"!=typeof n.type);t||null==n.__e||w$1(n.__e),n.__c=n.__=n.__e=n.__d=void 0;}function q(n,l,u){return this.constructor(n,u)}function B$2(u,t,i){var o,r,f,e;l$1.__&&l$1.__(u,t),r=(o="function"==typeof i)?null:i&&i.__k||t.__k,f=[],e=[],O$1(t,u=(!o&&i||t).__k=_(k$1,null,[u]),r||h,h,t.namespaceURI,!o&&i?[i]:r?null:t.firstChild?n.call(t.childNodes):null,f,!o&&i?i:r?r.__e:t.firstChild,o,e),j$2(f,u,e);}function D$1(n,l){B$2(n,l,D$1);}function E$1(l,u,t){var i,o,r,f,e=d({},l.props);for(r in l.type&&l.type.defaultProps&&(f=l.type.defaultProps),u)"key"==r?i=u[r]:"ref"==r?o=u[r]:e[r]=void 0===u[r]&&void 0!==f?f[r]:u[r];return arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),g$1(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l="__cC"+a$1++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null;},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,M$1(n);});},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.splice(u.indexOf(n),1),l&&l.call(n);};}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=p.slice,l$1={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l;}throw n}},u$1=0,t=function(n){return null!=n&&null==n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M$1(this));},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M$1(this));},b.prototype.render=k$1,i$1=[],r$1="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f$1=function(n,l){return n.__v.__b-l.__v.__b},P$1.__r=0,e$1=0,c$1=F(!1),s$1=F(!0),a$1=0;
|
|
9
|
+
var n,l$1,u$1,t,i$1,o,r$1,f$1,e$1,c$1,s$1,a$1,h={},p=[],v$1=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function w$1(n){var l=n.parentNode;l&&l.removeChild(n);}function _(l,u,t){var i,o,r,f={};for(r in u)"key"==r?i=u[r]:"ref"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),"function"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return g$1(l,f,i,o,null)}function g$1(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u$1:r,__i:-1,__u:0};return null==r&&null!=l$1.vnode&&l$1.vnode(f),f}function m$1(){return {current:null}}function k$1(n){return n.children}function b(n,l){this.props=n,this.context=l;}function x(n,l){if(null==l)return n.__?x(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return "function"==typeof n.type?x(n):null}function C$1(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return C$1(n)}}function M$1(n){(!n.__d&&(n.__d=!0)&&i$1.push(n)&&!P$1.__r++||o!==l$1.debounceRendering)&&((o=l$1.debounceRendering)||r$1)(P$1);}function P$1(){var n,u,t,o,r,e,c,s;for(i$1.sort(f$1);n=i$1.shift();)n.__d&&(u=i$1.length,o=void 0,e=(r=(t=n).__v).__e,c=[],s=[],t.__P&&((o=d({},r)).__v=r.__v+1,l$1.vnode&&l$1.vnode(o),O$1(t.__P,o,r,t.__n,t.__P.namespaceURI,32&r.__u?[e]:null,c,null==e?x(r):e,!!(32&r.__u),s),o.__v=r.__v,o.__.__k[o.__i]=o,j$2(c,o,s),o.__e!=e&&C$1(o)),i$1.length>u&&i$1.sort(f$1));P$1.__r=0;}function S(n,l,u,t,i,o,r,f,e,c,s){var a,v,y,d,w,_=t&&t.__k||p,g=l.length;for(u.__d=e,$$1(u,l,_),e=u.__d,a=0;a<g;a++)null!=(y=u.__k[a])&&"boolean"!=typeof y&&"function"!=typeof y&&(v=-1===y.__i?h:_[y.__i]||h,y.__i=a,O$1(n,y,v,i,o,r,f,e,c,s),d=y.__e,y.ref&&v.ref!=y.ref&&(v.ref&&N(v.ref,null,y),s.push(y.ref,y.__c||d,y)),null==w&&null!=d&&(w=d),65536&y.__u||v.__k===y.__k?e=I(y,e,n):"function"==typeof y.type&&void 0!==y.__d?e=y.__d:d&&(e=d.nextSibling),y.__d=void 0,y.__u&=-196609);u.__d=e,u.__e=w;}function $$1(n,l,u){var t,i,o,r,f,e=l.length,c=u.length,s=c,a=0;for(n.__k=[],t=0;t<e;t++)r=t+a,null!=(i=n.__k[t]=null==(i=l[t])||"boolean"==typeof i||"function"==typeof i?null:"string"==typeof i||"number"==typeof i||"bigint"==typeof i||i.constructor==String?g$1(null,i,null,null,null):y(i)?g$1(k$1,{children:i},null,null,null):void 0===i.constructor&&i.__b>0?g$1(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)?(i.__=n,i.__b=n.__b+1,f=L$1(i,u,r,s),i.__i=f,o=null,-1!==f&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,"function"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f==r-1?a--:f==r+1?a++:f>r?s>e-r?a+=f-r:a--:f<r&&(f==r-a?a-=f-r:a++),f!==t+a&&(i.__u|=65536))):(o=u[r])&&null==o.key&&o.__e&&0==(131072&o.__u)&&(o.__e==n.__d&&(n.__d=x(o)),V$1(o,o,!1),u[r]=null,s--);if(s)for(t=0;t<c;t++)null!=(o=u[t])&&0==(131072&o.__u)&&(o.__e==n.__d&&(n.__d=x(o)),V$1(o,o));}function I(n,l,u){var t,i;if("function"==typeof n.type){for(t=n.__k,i=0;t&&i<t.length;i++)t[i]&&(t[i].__=n,l=I(t[i],l,u));return l}n.__e!=l&&(l&&n.type&&!u.contains(l)&&(l=x(n)),u.insertBefore(n.__e,l||null),l=n.__e);do{l=l&&l.nextSibling;}while(null!=l&&8===l.nodeType);return l}function H$1(n,l){return l=l||[],null==n||"boolean"==typeof n||(y(n)?n.some(function(n){H$1(n,l);}):l.push(n)),l}function L$1(n,l,u,t){var i=n.key,o=n.type,r=u-1,f=u+1,e=l[u];if(null===e||e&&i==e.key&&o===e.type&&0==(131072&e.__u))return u;if(t>(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f<l.length;){if(r>=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--;}if(f<l.length){if((e=l[f])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return f;f++;}}return -1}function T$1(n,l,u){"-"===l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||v$1.test(l)?u:u+"px";}function A$1(n,l,u,t,i){var o;n:if("style"===l)if("string"==typeof u)n.style.cssText=u;else {if("string"==typeof t&&(n.style.cssText=t=""),t)for(l in t)u&&l in u||T$1(n.style,l,"");if(u)for(l in u)t&&u[l]===t[l]||T$1(n.style,l,u[l]);}else if("o"===l[0]&&"n"===l[1])o=l!==(l=l.replace(/(PointerCapture)$|Capture$/i,"$1")),l=l.toLowerCase()in n||"onFocusOut"===l||"onFocusIn"===l?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?t?u.u=t.u:(u.u=e$1,n.addEventListener(l,o?s$1:c$1,o)):n.removeEventListener(l,o?s$1:c$1,o);else {if("http://www.w3.org/2000/svg"==i)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=l&&"height"!=l&&"href"!=l&&"list"!=l&&"form"!=l&&"tabIndex"!=l&&"download"!=l&&"rowSpan"!=l&&"colSpan"!=l&&"role"!=l&&"popover"!=l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||!1===u&&"-"!==l[4]?n.removeAttribute(l):n.setAttribute(l,"popover"==l&&1==u?"":u));}}function F(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u.t)u.t=e$1++;else if(u.t<t.u)return;return t(l$1.event?l$1.event(u):u)}}}function O$1(n,u,t,i,o,r,f,e,c,s){var a,h,p,v,w,_,g,m,x,C,M,P,$,I,H,L,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),r=[e=u.__e=t.__e]),(a=l$1.__b)&&a(u);n:if("function"==typeof T)try{if(m=u.props,x="prototype"in T&&T.prototype.render,C=(a=T.contextType)&&i[a.__c],M=a?C?C.props.value:a.__:i,t.__c?g=(h=u.__c=t.__c).__=h.__E:(x?u.__c=h=new T(m,M):(u.__c=h=new b(m,M),h.constructor=T,h.render=q),C&&C.sub(h),h.props=m,h.state||(h.state={}),h.context=M,h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),x&&null==h.__s&&(h.__s=h.state),x&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=d({},h.__s)),d(h.__s,T.getDerivedStateFromProps(m,h.__s))),v=h.props,w=h.state,h.__v=u,p)x&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),x&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else {if(x&&null==T.getDerivedStateFromProps&&m!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,M),!h.__e&&(null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,M)||u.__v===t.__v)){for(u.__v!==t.__v&&(h.props=m,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.forEach(function(n){n&&(n.__=u);}),P=0;P<h._sb.length;P++)h.__h.push(h._sb[P]);h._sb=[],h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,M),x&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,w,_);});}if(h.context=M,h.props=m,h.__P=n,h.__e=!1,$=l$1.__r,I=0,x){for(h.state=h.__s,h.__d=!1,$&&$(u),a=h.render(h.props,h.state,h.context),H=0;H<h._sb.length;H++)h.__h.push(h._sb[H]);h._sb=[];}else do{h.__d=!1,$&&$(u),a=h.render(h.props,h.state,h.context),h.state=h.__s;}while(h.__d&&++I<25);h.state=h.__s,null!=h.getChildContext&&(i=d(d({},i),h.getChildContext())),x&&!p&&null!=h.getSnapshotBeforeUpdate&&(_=h.getSnapshotBeforeUpdate(v,w)),S(n,y(L=null!=a&&a.type===k$1&&null==a.key?a.props.children:a)?L:[L],u,t,i,o,r,f,e,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&f.push(h),g&&(h.__E=h.__=null);}catch(n){if(u.__v=null,c||null!=r){for(u.__u|=c?160:32;e&&8===e.nodeType&&e.nextSibling;)e=e.nextSibling;r[r.indexOf(e)]=null,u.__e=e;}else u.__e=t.__e,u.__k=t.__k;l$1.__e(n,u,t);}else null==r&&u.__v===t.__v?(u.__k=t.__k,u.__e=t.__e):u.__e=z$2(t.__e,u,t,i,o,r,f,c,s);(a=l$1.diffed)&&a(u);}function j$2(n,u,t){u.__d=void 0;for(var i=0;i<t.length;i++)N(t[i],t[++i],t[++i]);l$1.__c&&l$1.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u);});}catch(n){l$1.__e(n,u.__v);}});}function z$2(l,u,t,i,o,r,f,e,c){var s,a,p,v,d,_,g,m=t.props,k=u.props,b=u.type;if("svg"===b?o="http://www.w3.org/2000/svg":"math"===b?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),null!=r)for(s=0;s<r.length;s++)if((d=r[s])&&"setAttribute"in d==!!b&&(b?d.localName===b:3===d.nodeType)){l=d,r[s]=null;break}if(null==l){if(null===b)return document.createTextNode(k);l=document.createElementNS(o,b,k.is&&k),r=null,e=!1;}if(null===b)m===k||e&&l.data===k||(l.data=k);else {if(r=r&&n.call(l.childNodes),m=t.props||h,!e&&null!=r)for(m={},s=0;s<l.attributes.length;s++)m[(d=l.attributes[s]).name]=d.value;for(s in m)if(d=m[s],"children"==s);else if("dangerouslySetInnerHTML"==s)p=d;else if("key"!==s&&!(s in k)){if("value"==s&&"defaultValue"in k||"checked"==s&&"defaultChecked"in k)continue;A$1(l,s,null,d,o);}for(s in k)d=k[s],"children"==s?v=d:"dangerouslySetInnerHTML"==s?a=d:"value"==s?_=d:"checked"==s?g=d:"key"===s||e&&"function"!=typeof d||m[s]===d||A$1(l,s,d,m[s],o);if(a)e||p&&(a.__html===p.__html||a.__html===l.innerHTML)||(l.innerHTML=a.__html),u.__k=[];else if(p&&(l.innerHTML=""),S(l,y(v)?v:[v],u,t,i,"foreignObject"===b?"http://www.w3.org/1999/xhtml":o,r,f,r?r[0]:t.__k&&x(t,0),e,c),null!=r)for(s=r.length;s--;)null!=r[s]&&w$1(r[s]);e||(s="value",void 0!==_&&(_!==l[s]||"progress"===b&&!_||"option"===b&&_!==m[s])&&A$1(l,s,_,m[s],o),s="checked",void 0!==g&&g!==l[s]&&A$1(l,s,g,m[s],o));}return l}function N(n,u,t){try{if("function"==typeof n){var i="function"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u));}else n.current=u;}catch(n){l$1.__e(n,t);}}function V$1(n,u,t){var i,o;if(l$1.unmount&&l$1.unmount(n),(i=n.ref)&&(i.current&&i.current!==n.__e||N(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount();}catch(n){l$1.__e(n,u);}i.base=i.__P=null;}if(i=n.__k)for(o=0;o<i.length;o++)i[o]&&V$1(i[o],u,t||"function"!=typeof n.type);t||null==n.__e||w$1(n.__e),n.__c=n.__=n.__e=n.__d=void 0;}function q(n,l,u){return this.constructor(n,u)}function B$2(u,t,i){var o,r,f,e;l$1.__&&l$1.__(u,t),r=(o="function"==typeof i)?null:i&&i.__k||t.__k,f=[],e=[],O$1(t,u=(!o&&i||t).__k=_(k$1,null,[u]),r||h,h,t.namespaceURI,!o&&i?[i]:r?null:t.firstChild?n.call(t.childNodes):null,f,!o&&i?i:r?r.__e:t.firstChild,o,e),j$2(f,u,e);}function D$1(n,l){B$2(n,l,D$1);}function E$1(l,u,t){var i,o,r,f,e=d({},l.props);for(r in l.type&&l.type.defaultProps&&(f=l.type.defaultProps),u)"key"==r?i=u[r]:"ref"==r?o=u[r]:e[r]=void 0===u[r]&&void 0!==f?f[r]:u[r];return arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),g$1(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l="__cC"+a$1++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null;},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,M$1(n);});},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.splice(u.indexOf(n),1),l&&l.call(n);};}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=p.slice,l$1={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l;}throw n}},u$1=0,t=function(n){return null!=n&&null==n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M$1(this));},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M$1(this));},b.prototype.render=k$1,i$1=[],r$1="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f$1=function(n,l){return n.__v.__b-l.__v.__b},P$1.__r=0,e$1=0,c$1=F(!1),s$1=F(!0),a$1=0;
|
|
10
10
|
|
|
11
11
|
var r,u,i,f=[],c=l$1,e=c.__b,a=c.__r,v=c.diffed,l=c.__c,m=c.unmount,s=c.__;function j$1(){for(var n;n=f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(z$1),n.__H.__h.forEach(B$1),n.__H.__h=[];}catch(t){n.__H.__h=[],c.__e(t,n.__v);}}c.__b=function(n){r=null,e&&e(n);},c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),s&&s(n,t);},c.__r=function(n){a&&a(n);var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.i=n.__N=void 0;})):(i.__h.forEach(z$1),i.__h.forEach(B$1),i.__h=[],0)),u=r;},c.diffed=function(n){v&&v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===c.requestAnimationFrame||((i=c.requestAnimationFrame)||w)(j$1)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.i=void 0;})),u=r=null;},c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(z$1),n.__h=n.__h.filter(function(n){return !n.__||B$1(n)});}catch(r){t.some(function(n){n.__h&&(n.__h=[]);}),t=[],c.__e(r,n.__v);}}),l&&l(n,t);},c.unmount=function(n){m&&m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{z$1(n);}catch(n){t=n;}}),r.__H=void 0,t&&c.__e(t,r.__v));};var k="function"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n);},u=setTimeout(r,100);k&&(t=requestAnimationFrame(r));}function z$1(n){var t=r,u=n.__c;"function"==typeof u&&(n.__c=void 0,u()),r=t;}function B$1(n){var t=r;n.__c=n.__(),r=t;}
|
|
12
12
|
|
|
13
|
-
function g(n,t){for(var e in t)n[e]=t[e];return n}function E(n,t){for(var e in n)if("__source"!==e&&!(e in t))return !0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return !0;return !1}function C(n,t){this.props=n,this.context=t;}(C.prototype=new b).isPureReactComponent=!0,C.prototype.shouldComponentUpdate=function(n,t){return E(this.props,n)||E(this.state,t)};var R=l$1.__b;l$1.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),R&&R(n);};var M=l$1.__e;l$1.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);M(n,t,e,r);};var T=l$1.unmount;function A(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c();}),n.__c.__H=null),null!=(n=g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return A(n,t,e)})),n}function D(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return D(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function L(){this.__u=0,this.t=null,this.__b=null;}function O(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function U(){this.u=null,this.o=null;}l$1.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),T&&T(n);},(L.prototype=new b).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=O(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(c):c());};e.__R=i;var c=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=D(n,n.__c.__P,n.__c.__O);}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate();}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i);},L.prototype.componentWillUnmount=function(){this.t=[];},L.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=A(this.__b,r,o.__O=o.__P);}this.__b=null;}var i=e.__a&&_(k$1,null,n.fallback);return i&&(i.__u&=-33),[_(k$1,null,e.__a?null:n.children),i]};var V=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2];}};function W(n){return this.getChildContext=function(){return n.context},n.children}function P(n){var e=this,r=n.i;e.componentWillUnmount=function(){B$2(null,e.l),e.l=null,e.i=null;},e.i&&e.i!==r&&e.componentWillUnmount(),e.l||(e.i=r,e.l={nodeType:1,parentNode:r,childNodes:[],contains:function(){return !0},appendChild:function(n){this.childNodes.push(n),e.i.appendChild(n);},insertBefore:function(n,t){this.childNodes.push(n),e.i.appendChild(n);},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.i.removeChild(n);}}),B$2(_(W,{context:e.context},n.__v),e.l);}function j(n,e){var r=_(P,{__v:n,i:e});return r.containerInfo=e,r}(U.prototype=new b).__a=function(n){var t=this,e=O(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),V(t,n,r)):u();};e?e(o):o();}},U.prototype.render=function(n){this.u=null,this.o=new Map;var t=H$1(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},U.prototype.componentDidUpdate=U.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){V(n,e,t);});};var z="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,B=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,H=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Z=/[A-Z0-9]/g,Y="undefined"!=typeof document,$=function(n){return ("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};b.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(b.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n});}});});var J=l$1.event;function K(){}function Q(){return this.cancelBubble}function X(){return this.defaultPrevented}l$1.event=function(n){return J&&(n=J(n)),n.persist=K,n.isPropagationStopped=Q,n.isDefaultPrevented=X,n.nativeEvent=n};var tn={enumerable:!1,configurable:!0,get:function(){return this.class}},en=l$1.vnode;l$1.vnode=function(n){"string"==typeof n.type&&function(n){var t=n.props,e=n.type,u={};for(var
|
|
14
|
-
|
|
15
|
-
/*
|
|
16
|
-
NOTE: this can be a public API, especially createElement for hooks.
|
|
17
|
-
See examples/typescript-scheduler/src/index.ts
|
|
18
|
-
*/
|
|
19
|
-
/*
|
|
20
|
-
HACK for flushSync being a noop:
|
|
21
|
-
https://github.com/preactjs/preact/issues/3929
|
|
22
|
-
*/
|
|
23
|
-
function flushSync(renderActionToFlush) {
|
|
24
|
-
renderActionToFlush();
|
|
25
|
-
let oldDebounceRendering = l$1.debounceRendering; // orig
|
|
26
|
-
let callbackQ = [];
|
|
27
|
-
function execCallbackSync(callback) {
|
|
28
|
-
callbackQ.push(callback);
|
|
29
|
-
}
|
|
30
|
-
l$1.debounceRendering = execCallbackSync;
|
|
31
|
-
B$2(_(FakeComponent, {}), document.createElement('div'));
|
|
32
|
-
while (callbackQ.length) {
|
|
33
|
-
callbackQ.shift()();
|
|
34
|
-
}
|
|
35
|
-
l$1.debounceRendering = oldDebounceRendering;
|
|
36
|
-
}
|
|
37
|
-
/*
|
|
38
|
-
Triggers a state-change which unclogs the render queue? Needed?
|
|
39
|
-
*/
|
|
40
|
-
class FakeComponent extends b {
|
|
41
|
-
render() { return _('div', {}); }
|
|
42
|
-
componentDidMount() { this.setState({}); }
|
|
43
|
-
}
|
|
44
|
-
/*
|
|
45
|
-
HACK for Preact wrongly calling shouldComponentUpdate during context changes:
|
|
46
|
-
https://github.com/preactjs/preact/issues/2510
|
|
47
|
-
*/
|
|
48
|
-
function createContext(defaultValue) {
|
|
49
|
-
let ContextType = G(defaultValue);
|
|
50
|
-
let origProvider = ContextType.Provider;
|
|
51
|
-
ContextType.Provider = function () {
|
|
52
|
-
let isNew = !this.getChildContext;
|
|
53
|
-
let children = origProvider.apply(this, arguments); // eslint-disable-line prefer-rest-params
|
|
54
|
-
if (isNew) {
|
|
55
|
-
let subs = [];
|
|
56
|
-
this.shouldComponentUpdate = (_props) => {
|
|
57
|
-
if (this.props.value !== _props.value) {
|
|
58
|
-
subs.forEach((c) => {
|
|
59
|
-
c.context = _props.value;
|
|
60
|
-
c.forceUpdate();
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
this.sub = (c) => {
|
|
65
|
-
subs.push(c);
|
|
66
|
-
let old = c.componentWillUnmount;
|
|
67
|
-
c.componentWillUnmount = () => {
|
|
68
|
-
subs.splice(subs.indexOf(c), 1);
|
|
69
|
-
old && old.call(c);
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
return children;
|
|
74
|
-
};
|
|
75
|
-
return ContextType;
|
|
76
|
-
}
|
|
77
|
-
const preactOptions = l$1;
|
|
13
|
+
function g(n,t){for(var e in t)n[e]=t[e];return n}function E(n,t){for(var e in n)if("__source"!==e&&!(e in t))return !0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return !0;return !1}function C(n,t){this.props=n,this.context=t;}(C.prototype=new b).isPureReactComponent=!0,C.prototype.shouldComponentUpdate=function(n,t){return E(this.props,n)||E(this.state,t)};var R=l$1.__b;l$1.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),R&&R(n);};var M=l$1.__e;l$1.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);M(n,t,e,r);};var T=l$1.unmount;function A(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c();}),n.__c.__H=null),null!=(n=g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return A(n,t,e)})),n}function D(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return D(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function L(){this.__u=0,this.t=null,this.__b=null;}function O(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function U(){this.u=null,this.o=null;}l$1.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),T&&T(n);},(L.prototype=new b).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=O(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(c):c());};e.__R=i;var c=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=D(n,n.__c.__P,n.__c.__O);}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate();}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i);},L.prototype.componentWillUnmount=function(){this.t=[];},L.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=A(this.__b,r,o.__O=o.__P);}this.__b=null;}var i=e.__a&&_(k$1,null,n.fallback);return i&&(i.__u&=-33),[_(k$1,null,e.__a?null:n.children),i]};var V=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2];}};function W(n){return this.getChildContext=function(){return n.context},n.children}function P(n){var e=this,r=n.i;e.componentWillUnmount=function(){B$2(null,e.l),e.l=null,e.i=null;},e.i&&e.i!==r&&e.componentWillUnmount(),e.l||(e.i=r,e.l={nodeType:1,parentNode:r,childNodes:[],contains:function(){return !0},appendChild:function(n){this.childNodes.push(n),e.i.appendChild(n);},insertBefore:function(n,t){this.childNodes.push(n),e.i.appendChild(n);},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.i.removeChild(n);}}),B$2(_(W,{context:e.context},n.__v),e.l);}function j(n,e){var r=_(P,{__v:n,i:e});return r.containerInfo=e,r}(U.prototype=new b).__a=function(n){var t=this,e=O(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),V(t,n,r)):u();};e?e(o):o();}},U.prototype.render=function(n){this.u=null,this.o=new Map;var t=H$1(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},U.prototype.componentDidUpdate=U.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){V(n,e,t);});};var z="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,B=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,H=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Z=/[A-Z0-9]/g,Y="undefined"!=typeof document,$=function(n){return ("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};b.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(b.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n});}});});var J=l$1.event;function K(){}function Q(){return this.cancelBubble}function X(){return this.defaultPrevented}l$1.event=function(n){return J&&(n=J(n)),n.persist=K,n.isPropagationStopped=Q,n.isDefaultPrevented=X,n.nativeEvent=n};var tn={enumerable:!1,configurable:!0,get:function(){return this.class}},en=l$1.vnode;l$1.vnode=function(n){"string"==typeof n.type&&function(n){var t=n.props,e=n.type,u={},o=-1===e.indexOf("-");for(var i in t){var c=t[i];if(!("value"===i&&"defaultValue"in t&&null==c||Y&&"children"===i&&"noscript"===e||"class"===i||"className"===i)){var l=i.toLowerCase();"defaultValue"===i&&"value"in t&&null==t.value?i="value":"download"===i&&!0===c?c="":"translate"===l&&"no"===c?c=!1:"o"===l[0]&&"n"===l[1]?"ondoubleclick"===l?i="ondblclick":"onchange"!==l||"input"!==e&&"textarea"!==e||$(t.type)?"onfocus"===l?i="onfocusin":"onblur"===l?i="onfocusout":H.test(i)&&(i=l):l=i="oninput":o&&B.test(i)?i=i.replace(Z,"-$&").toLowerCase():null===c&&(c=void 0),"oninput"===l&&u[i=l]&&(i="oninputCapture"),u[i]=c;}}"select"==e&&u.multiple&&Array.isArray(u.value)&&(u.value=H$1(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value);})),"select"==e&&null!=u.defaultValue&&(u.value=H$1(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value;})),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,"className",tn)):(t.className&&!t.class||t.class&&t.className)&&(u.class=u.className=t.className),n.props=u;}(n),n.$$typeof=z,en&&en(n);};var rn=l$1.__r;l$1.__r=function(n){rn&&rn(n),n.__c;};var un=l$1.diffed;l$1.diffed=function(n){un&&un(n);var t=n.props,e=n.__e;null!=e&&"textarea"===n.type&&"value"in t&&t.value!==e.value&&(e.value=null==t.value?"":t.value);};
|
|
78
14
|
|
|
79
15
|
const styleTexts = [];
|
|
80
16
|
const styleEls = new Map();
|
|
@@ -156,7 +92,7 @@ var FullCalendar = (function (exports) {
|
|
|
156
92
|
registerStylesRoot(document);
|
|
157
93
|
}
|
|
158
94
|
|
|
159
|
-
var css_248z$4 = ":root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc{display:flex;flex-direction:column;gap:1.5em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-border,.fc-border-b,.fc-border-e,.fc-border-s,.fc-border-t{border:0 solid var(--fc-border-color)}.fc-border-transparent{border-color:transparent}.fc-border{border-width:1px}.fc-border-t{border-top-width:1px}.fc-border-b{border-bottom-width:1px}.fc-direction-ltr .fc-border-s,.fc-direction-rtl .fc-border-e{border-left-width:1px}.fc-direction-ltr .fc-border-e,.fc-direction-rtl .fc-border-s{border-right-width:1px}.fc-flex-row{display:flex;flex-direction:row}.fc-flex-col{display:flex;flex-direction:column}.fc-grow{flex-grow:1}.fc-basis0,.fc-liquid{flex-basis:0}.fc-liquid{flex-grow:1;min-height:0;min-width:0}.fc-media-screen .fc-print-header,.fc-media-screen .fc-print-root{display:flex;flex-direction:column}.fc-cell{margin:0!important;padding:0!important}.fc-cell-inner{flex-shrink:0;overflow:hidden;white-space:nowrap}.fc-celldivider,.fc-rowdivider{border:0 solid var(--fc-border-color)}.fc-rowdivider{border-width:1px 0}.fc-celldivider{border-width:0 1px}.fc-celldivider,.fc-rowdivider{background:var(--fc-neutral-bg-color)}.fc-celldivider{padding-left:2px}.fc-rowdivider{padding-bottom:2px}.fc-crop{overflow:hidden}.fc-rel{position:relative}.fc-abs{position:absolute}.fc-fill{bottom:0;top:0}.fc-fill,.fc-fill-x{left:0;position:absolute;right:0}.fc-fill-y{bottom:0;position:absolute;top:0}.fc-sticky-t{position:sticky;top:0}.fc-sticky-s{left:0;position:sticky;right:0}.fc-table-header-sticky{background:var(--fc-page-bg-color);position:sticky;top:0;z-index:5}.fc-sticky-footer-scrollbar{bottom:0;position:sticky;z-index:5}.fc-sticky-footer-scrollbar>.fc-scroller{margin-top:-1px}.fc-sticky-footer-scrollbar>.fc-scroller>*{height:1px}.fc-content-box{box-sizing:content-box}.fc-offscreen{left:-10000px;position:absolute}.fc-shaded{background-color:var(--fc-neutral-bg-color)}.fc-filler{opacity:.5}.fc-padding-sm{padding:2px 4px}.fc-padding-md{padding:4px 5px}.fc-padding-lg{padding:8px}.fc-justify-center{justify-content:center}.fc-align-center{align-items:center}.fc-align-start{align-items:flex-start}.fc [data-navlink]{cursor:pointer}.fc [data-navlink]:hover{text-decoration:underline}.fc-view-outer{position:relative}.fc-view-outer-liquid,.fc-view-outer-static{display:flex;flex-direction:column}.fc-view-outer-liquid,.fc-view-outer-liquid>.fc-view,.fc-view-outer-static>.fc-view{flex-basis:0;flex-grow:1;min-height:0;min-width:0}.fc-view-outer-aspect-ratio>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event-selected:before{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:\"\";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-event-inner{position:relative;z-index:2}.fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:\"\";left:-20px;position:absolute;right:-20px;top:-20px}.fc-bg-event,.fc-highlight,.fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc-non-business{background:var(--fc-non-business-color)}.fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc-highlight{background:var(--fc-highlight-color)}.fc-day-disabled{background:var(--fc-neutral-bg-color)}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:flex;flex-direction:column;position:relative}.fc-h-event.fc-event-mirror{z-index:3}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-h-event .fc-event-inner{color:var(--fc-event-text-color);display:flex;flex-direction:row}.fc-h-event .fc-event-time,.fc-h-event .fc-event-title{overflow:hidden;white-space:nowrap}.fc-h-event .fc-event-title-outer{display:flex;flex-basis:0;flex-direction:row;flex-grow:1;min-height:0;min-width:0}.fc-h-event .fc-event-title{left:0;position:sticky;right:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:6}.fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc-popover-title{margin:0 2px}.fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}.fc-scroller{padding:0!important}.fc-scroller-no-bars{-ms-overflow-style:none;scrollbar-width:none}.fc-scroller-no-bars::-webkit-scrollbar{display:none}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}@font-face{font-family:fcicons;font-style:normal;font-weight:400;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\")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:\"\\e900\"}.fc-icon-chevron-right:before{content:\"\\e901\"}.fc-icon-chevrons-left:before{content:\"\\e902\"}.fc-icon-chevrons-right:before{content:\"\\e903\"}.fc-icon-minus-square:before{content:\"\\e904\"}.fc-icon-plus-square:before{content:\"\\e905\"}.fc-icon-x:before{content:\"\\e906\"}.fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc-button{-webkit-appearance:button}.fc-button:not(:disabled){cursor:pointer}.fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-moz-user-select:none;user-select:none;vertical-align:middle}.fc-button:hover{text-decoration:none}.fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc-button:disabled{opacity:.65}.fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button-primary:not(:disabled).fc-button-active,.fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc-button-primary:not(:disabled).fc-button-active:focus,.fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc-button-group>.fc-button.fc-button-active,.fc-button-group>.fc-button:active,.fc-button-group>.fc-button:focus,.fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc-toolbar{align-items:center;justify-content:space-between}.fc-toolbar,.fc-toolbar-section{display:flex;flex-direction:row;gap:.75em}.fc-toolbar-section{flex-shrink:0}.fc-toolbar-title{font-size:1.75em;font-weight:700;white-space:nowrap}";
|
|
95
|
+
var css_248z$4 = ":root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc{display:flex;flex-direction:column;gap:1.5em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-border,.fc-border-b,.fc-border-e,.fc-border-s,.fc-border-t{border:0 solid var(--fc-border-color)}.fc-border-transparent{border-color:transparent}.fc-border{border-width:1px}.fc-border-t{border-top-width:1px}.fc-border-b{border-bottom-width:1px}.fc-direction-ltr .fc-border-s,.fc-direction-rtl .fc-border-e{border-left-width:1px}.fc-direction-ltr .fc-border-e,.fc-direction-rtl .fc-border-s{border-right-width:1px}.fc-flex-row{display:flex;flex-direction:row}.fc-flex-col{display:flex;flex-direction:column}.fc-grow{flex-grow:1}.fc-basis0,.fc-liquid{flex-basis:0}.fc-liquid{flex-grow:1;min-height:0;min-width:0}.fc-media-screen .fc-print-header,.fc-media-screen .fc-print-root{display:flex;flex-direction:column}.fc-cell{margin:0!important;padding:0!important}.fc-cell-inner{flex-shrink:0;overflow:hidden;white-space:nowrap}.fc-celldivider,.fc-rowdivider{border:0 solid var(--fc-border-color)}.fc-rowdivider{border-width:1px 0}.fc-celldivider{border-width:0 1px}.fc-celldivider,.fc-rowdivider{background:var(--fc-neutral-bg-color)}.fc-celldivider{padding-left:2px}.fc-rowdivider{padding-bottom:2px}.fc-crop{overflow:hidden}.fc-rel{position:relative}.fc-abs{position:absolute}.fc-fill{bottom:0;top:0}.fc-fill,.fc-fill-top,.fc-fill-x{left:0;position:absolute;right:0}.fc-fill-start,.fc-fill-y{bottom:0;position:absolute;top:0}.fc-fill-top{top:0}.fc-fill-start{left:0;right:0;width:0}.fc-sticky-t{position:sticky;top:0}.fc-sticky-s{left:0;position:sticky;right:0}.fc-table-header-sticky{background:var(--fc-page-bg-color);position:sticky;top:0;z-index:3}.fc-content-box{box-sizing:content-box}.fc-offscreen{left:-10000px;position:absolute}.fc-shaded{background-color:var(--fc-neutral-bg-color)}.fc-filler{opacity:.5}.fc-padding-sm{padding:2px 4px}.fc-padding-md{padding:4px 5px}.fc-padding-lg{padding:8px}.fc-justify-center{justify-content:center}.fc-align-center{align-items:center}.fc-align-start{align-items:flex-start}.fc-footer-scrollbar-sticky{bottom:0;position:sticky;z-index:3}.fc-footer-scrollbar>.fc-scroller{margin-top:-1px}.fc-footer-scrollbar>.fc-scroller>*{height:1px}.fc-navlink{cursor:pointer}.fc-navlink:hover{text-decoration:underline}.fc-view-outer{position:relative}.fc-view-outer-liquid,.fc-view-outer-static{display:flex;flex-direction:column}.fc-view-outer-liquid,.fc-view-outer-liquid>.fc-view,.fc-view-outer-static>.fc-view{flex-basis:0;flex-grow:1;min-height:0;min-width:0}.fc-view-outer-aspect-ratio>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event-selected:before{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected,.fc-event:focus:not(.fc-list-event){box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:after,.fc-event:focus:not(.fc-list-event):after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:\"\";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-event-inner{position:relative;z-index:2}.fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:\"\";left:-20px;position:absolute;right:-20px;top:-20px}.fc-bg-event,.fc-highlight,.fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc-non-business{background:var(--fc-non-business-color)}.fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc-highlight{background:var(--fc-highlight-color)}.fc-day-disabled{background:var(--fc-neutral-bg-color)}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:flex;flex-direction:column;position:relative}.fc-h-event.fc-event-mirror{z-index:1}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-h-event .fc-event-inner{color:var(--fc-event-text-color);display:flex;flex-direction:row}.fc-h-event .fc-event-time,.fc-h-event .fc-event-title{overflow:hidden;white-space:nowrap}.fc-media-print .fc-h-event .fc-event-time,.fc-media-print .fc-h-event .fc-event-title{overflow:hidden!important;white-space:nowrap!important}.fc-h-event .fc-event-title-outer{display:flex;flex-basis:0;flex-direction:row;flex-grow:1;min-height:0;min-width:0}.fc-h-event .fc-event-title{left:0;position:sticky;right:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:4}.fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc-popover-title{margin:0 2px}.fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}.fc-scroller{padding:0!important}.fc-scroller-no-bars{-ms-overflow-style:none;scrollbar-width:none}.fc-scroller-no-bars::-webkit-scrollbar{display:none}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}@font-face{font-family:fcicons;font-style:normal;font-weight:400;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\")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:\"\\e900\"}.fc-icon-chevron-right:before{content:\"\\e901\"}.fc-icon-chevrons-left:before{content:\"\\e902\"}.fc-icon-chevrons-right:before{content:\"\\e903\"}.fc-icon-minus-square:before{content:\"\\e904\"}.fc-icon-plus-square:before{content:\"\\e905\"}.fc-icon-x:before{content:\"\\e906\"}.fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc-button{-webkit-appearance:button}.fc-button:not(:disabled){cursor:pointer}.fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.fc-button:hover{text-decoration:none}.fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc-button:disabled{opacity:.65}.fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button-primary:not(:disabled).fc-button-active,.fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc-button-primary:not(:disabled).fc-button-active:focus,.fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc-button-group>.fc-button.fc-button-active,.fc-button-group>.fc-button:active,.fc-button-group>.fc-button:focus,.fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc-toolbar{align-items:center;justify-content:space-between}.fc-toolbar,.fc-toolbar-section{display:flex;flex-direction:row;gap:.75em}.fc-toolbar-section{flex-shrink:0}.fc-toolbar-title{font-size:1.75em;font-weight:700;white-space:nowrap}";
|
|
160
96
|
injectStyles(css_248z$4);
|
|
161
97
|
|
|
162
98
|
class DelayedRunner {
|
|
@@ -868,65 +804,6 @@ var FullCalendar = (function (exports) {
|
|
|
868
804
|
return currentRes;
|
|
869
805
|
};
|
|
870
806
|
}
|
|
871
|
-
function memoizeArraylike(// used at all?
|
|
872
|
-
workerFunc, resEquality, teardownFunc) {
|
|
873
|
-
let currentArgSets = [];
|
|
874
|
-
let currentResults = [];
|
|
875
|
-
return (newArgSets) => {
|
|
876
|
-
let currentLen = currentArgSets.length;
|
|
877
|
-
let newLen = newArgSets.length;
|
|
878
|
-
let i = 0;
|
|
879
|
-
for (; i < currentLen; i += 1) {
|
|
880
|
-
if (!newArgSets[i]) { // one of the old sets no longer exists
|
|
881
|
-
if (teardownFunc) {
|
|
882
|
-
teardownFunc(currentResults[i]);
|
|
883
|
-
}
|
|
884
|
-
}
|
|
885
|
-
else if (!isArraysEqual(currentArgSets[i], newArgSets[i])) {
|
|
886
|
-
if (teardownFunc) {
|
|
887
|
-
teardownFunc(currentResults[i]);
|
|
888
|
-
}
|
|
889
|
-
let res = workerFunc.apply(this, newArgSets[i]);
|
|
890
|
-
if (!resEquality || !resEquality(res, currentResults[i])) {
|
|
891
|
-
currentResults[i] = res;
|
|
892
|
-
}
|
|
893
|
-
}
|
|
894
|
-
}
|
|
895
|
-
for (; i < newLen; i += 1) {
|
|
896
|
-
currentResults[i] = workerFunc.apply(this, newArgSets[i]);
|
|
897
|
-
}
|
|
898
|
-
currentArgSets = newArgSets;
|
|
899
|
-
currentResults.splice(newLen); // remove excess
|
|
900
|
-
return currentResults;
|
|
901
|
-
};
|
|
902
|
-
}
|
|
903
|
-
function memoizeHashlike(workerFunc, resEquality, teardownFunc) {
|
|
904
|
-
let currentArgHash = {};
|
|
905
|
-
let currentResHash = {};
|
|
906
|
-
return (newArgHash) => {
|
|
907
|
-
let newResHash = {};
|
|
908
|
-
for (let key in newArgHash) {
|
|
909
|
-
if (!currentResHash[key]) {
|
|
910
|
-
newResHash[key] = workerFunc.apply(this, newArgHash[key]);
|
|
911
|
-
}
|
|
912
|
-
else if (!isArraysEqual(currentArgHash[key], newArgHash[key])) {
|
|
913
|
-
if (teardownFunc) {
|
|
914
|
-
teardownFunc(currentResHash[key]);
|
|
915
|
-
}
|
|
916
|
-
let res = workerFunc.apply(this, newArgHash[key]);
|
|
917
|
-
newResHash[key] = (resEquality && resEquality(res, currentResHash[key]))
|
|
918
|
-
? currentResHash[key]
|
|
919
|
-
: res;
|
|
920
|
-
}
|
|
921
|
-
else {
|
|
922
|
-
newResHash[key] = currentResHash[key];
|
|
923
|
-
}
|
|
924
|
-
}
|
|
925
|
-
currentArgHash = newArgHash;
|
|
926
|
-
currentResHash = newResHash;
|
|
927
|
-
return newResHash;
|
|
928
|
-
};
|
|
929
|
-
}
|
|
930
807
|
|
|
931
808
|
const EXTENDED_SETTINGS_AND_SEVERITIES = {
|
|
932
809
|
week: 3,
|
|
@@ -1357,7 +1234,6 @@ var FullCalendar = (function (exports) {
|
|
|
1357
1234
|
eventDataTransform: identity,
|
|
1358
1235
|
stickyHeaderDates: identity,
|
|
1359
1236
|
stickyFooterScrollbar: identity,
|
|
1360
|
-
viewHeight: identity,
|
|
1361
1237
|
defaultAllDay: Boolean,
|
|
1362
1238
|
eventSourceFailure: identity,
|
|
1363
1239
|
eventSourceSuccess: identity,
|
|
@@ -2186,6 +2062,37 @@ var FullCalendar = (function (exports) {
|
|
|
2186
2062
|
Theme.prototype.baseIconClass = '';
|
|
2187
2063
|
Theme.prototype.iconOverridePrefix = '';
|
|
2188
2064
|
|
|
2065
|
+
/*
|
|
2066
|
+
Like flushSync, but flushes ALL pending updates, not only those initiated in a callback
|
|
2067
|
+
BTW, flushSync doesn't work in Preact: https://github.com/preactjs/preact/issues/3929
|
|
2068
|
+
*/
|
|
2069
|
+
function flushUpdates() {
|
|
2070
|
+
let oldDebounceRendering = l$1.debounceRendering; // orig
|
|
2071
|
+
let callbackQ = [];
|
|
2072
|
+
function execCallbackSync(callback) {
|
|
2073
|
+
callbackQ.push(callback);
|
|
2074
|
+
}
|
|
2075
|
+
l$1.debounceRendering = execCallbackSync;
|
|
2076
|
+
B$2(_(FakeComponent, {}), document.createElement('div'));
|
|
2077
|
+
while (callbackQ.length) {
|
|
2078
|
+
callbackQ.shift()();
|
|
2079
|
+
}
|
|
2080
|
+
l$1.debounceRendering = oldDebounceRendering;
|
|
2081
|
+
}
|
|
2082
|
+
function flushSync(f) {
|
|
2083
|
+
f();
|
|
2084
|
+
flushUpdates();
|
|
2085
|
+
}
|
|
2086
|
+
/*
|
|
2087
|
+
Triggers a state-change which unclogs the render queue? Needed?
|
|
2088
|
+
*/
|
|
2089
|
+
class FakeComponent extends b {
|
|
2090
|
+
render() { return _('div', {}); }
|
|
2091
|
+
componentDidMount() { this.setState({}); }
|
|
2092
|
+
}
|
|
2093
|
+
const createContext = G;
|
|
2094
|
+
const preactOptions = l$1;
|
|
2095
|
+
|
|
2189
2096
|
const ViewContextType = createContext({}); // for Components
|
|
2190
2097
|
function buildViewContext(viewSpec, viewApi, viewOptions, dateProfileGenerator, dateEnv, theme, pluginHooks, dispatch, getCurrentData, emitter, calendarApi, registerInteractiveComponent, unregisterInteractiveComponent) {
|
|
2191
2098
|
return {
|
|
@@ -4257,8 +4164,19 @@ var FullCalendar = (function (exports) {
|
|
|
4257
4164
|
if (displayEventEnd == null) {
|
|
4258
4165
|
displayEventEnd = defaultDisplayEventEnd !== false;
|
|
4259
4166
|
}
|
|
4260
|
-
const startDate = (!isStart &&
|
|
4261
|
-
|
|
4167
|
+
const startDate = (!isStart &&
|
|
4168
|
+
slicedStart &&
|
|
4169
|
+
// if seg is the first seg, but start-date cut-off by slotMinTime, (technically isStart=false)
|
|
4170
|
+
// we still want to display the original start-time
|
|
4171
|
+
startOfDay(slicedStart).valueOf() !== startOfDay(eventRange.instance.range.start).valueOf())
|
|
4172
|
+
? slicedStart
|
|
4173
|
+
: eventRange.instance.range.start;
|
|
4174
|
+
const endDate = (!isEnd &&
|
|
4175
|
+
slicedEnd &&
|
|
4176
|
+
// See above HACK, but for end-time
|
|
4177
|
+
startOfDay(addMs(slicedEnd, -1)).valueOf() !== startOfDay(addMs(eventRange.instance.range.end, -1)).valueOf())
|
|
4178
|
+
? slicedEnd
|
|
4179
|
+
: eventRange.instance.range.end;
|
|
4262
4180
|
if (displayEventTime && !def.allDay) {
|
|
4263
4181
|
if (displayEventEnd && (isStart || isEnd) && def.hasEnd) {
|
|
4264
4182
|
return dateEnv.formatRange(startDate, endDate, timeFormat, {
|
|
@@ -4539,21 +4457,15 @@ var FullCalendar = (function (exports) {
|
|
|
4539
4457
|
so we can skip this.
|
|
4540
4458
|
*/
|
|
4541
4459
|
function checkConfigMap() {
|
|
4460
|
+
let anyDirty = true;
|
|
4542
4461
|
if (!isHandling) {
|
|
4543
4462
|
isHandling = true;
|
|
4544
4463
|
const dirtyConfigs = [];
|
|
4545
4464
|
for (const [el, config] of configMap.entries()) {
|
|
4546
|
-
|
|
4547
|
-
let height;
|
|
4548
|
-
if (config.client) {
|
|
4549
|
-
width = el.clientWidth;
|
|
4550
|
-
height = el.clientHeight;
|
|
4551
|
-
}
|
|
4552
|
-
else {
|
|
4553
|
-
({ width, height } = el.getBoundingClientRect());
|
|
4554
|
-
}
|
|
4465
|
+
const { width, height } = el.getBoundingClientRect();
|
|
4555
4466
|
if (storeConfigDims(config, width, height)) {
|
|
4556
4467
|
dirtyConfigs.push(config);
|
|
4468
|
+
anyDirty = true;
|
|
4557
4469
|
}
|
|
4558
4470
|
}
|
|
4559
4471
|
for (const dirtyConfig of dirtyConfigs) {
|
|
@@ -4562,6 +4474,7 @@ var FullCalendar = (function (exports) {
|
|
|
4562
4474
|
flushAfterSize();
|
|
4563
4475
|
isHandling = false;
|
|
4564
4476
|
}
|
|
4477
|
+
return anyDirty;
|
|
4565
4478
|
}
|
|
4566
4479
|
function storeConfigDims(config, width, height) {
|
|
4567
4480
|
let shouldFire = false;
|
|
@@ -4589,11 +4502,7 @@ var FullCalendar = (function (exports) {
|
|
|
4589
4502
|
const config = configMap.get(el);
|
|
4590
4503
|
let width;
|
|
4591
4504
|
let height;
|
|
4592
|
-
if (
|
|
4593
|
-
width = el.clientWidth;
|
|
4594
|
-
height = el.clientHeight;
|
|
4595
|
-
}
|
|
4596
|
-
else if (entry.borderBoxSize && nativeBorderBoxEnabled) {
|
|
4505
|
+
if (entry.borderBoxSize && nativeBorderBoxEnabled) {
|
|
4597
4506
|
const borderBoxSize = entry.borderBoxSize[0] || entry.borderBoxSize; // HACK for Firefox
|
|
4598
4507
|
width = borderBoxSize.inlineSize;
|
|
4599
4508
|
height = borderBoxSize.blockSize;
|
|
@@ -4608,12 +4517,11 @@ var FullCalendar = (function (exports) {
|
|
|
4608
4517
|
flushAfterSize();
|
|
4609
4518
|
isHandling = false;
|
|
4610
4519
|
});
|
|
4611
|
-
function watchSize(el, callback,
|
|
4612
|
-
configMap.set(el, { callback,
|
|
4520
|
+
function watchSize(el, callback, watchWidth = true, watchHeight = true) {
|
|
4521
|
+
configMap.set(el, { callback, watchWidth, watchHeight });
|
|
4613
4522
|
globalResizeObserver.observe(el, {
|
|
4614
|
-
box:
|
|
4615
|
-
|
|
4616
|
-
: undefined // default is 'content-box'
|
|
4523
|
+
box: 'border-box'
|
|
4524
|
+
// default is 'content-box'
|
|
4617
4525
|
});
|
|
4618
4526
|
return () => {
|
|
4619
4527
|
configMap.delete(el);
|
|
@@ -4655,13 +4563,13 @@ var FullCalendar = (function (exports) {
|
|
|
4655
4563
|
const [requestCheckSizes, cancelCheckSizes] = debounce(checkConfigMap, fallbackTimeout);
|
|
4656
4564
|
function requestCheckSizesSync() {
|
|
4657
4565
|
cancelCheckSizes();
|
|
4658
|
-
checkConfigMap();
|
|
4566
|
+
return checkConfigMap();
|
|
4659
4567
|
}
|
|
4660
|
-
function watchSize(el, callback,
|
|
4568
|
+
function watchSize(el, callback, watchWidth = true, watchHeight = true) {
|
|
4661
4569
|
if (!configMap.size) {
|
|
4662
4570
|
addGlobalHandlers();
|
|
4663
4571
|
}
|
|
4664
|
-
configMap.set(el, { callback,
|
|
4572
|
+
configMap.set(el, { callback, watchWidth, watchHeight });
|
|
4665
4573
|
requestCheckSizes();
|
|
4666
4574
|
return () => {
|
|
4667
4575
|
configMap.delete(el);
|
|
@@ -4777,7 +4685,7 @@ var FullCalendar = (function (exports) {
|
|
|
4777
4685
|
PRECONDITION: element can only have one listener attached
|
|
4778
4686
|
|
|
4779
4687
|
NOTE: If we ever kill the fallback technique and use ResizeObserver unconditionally with full
|
|
4780
|
-
border-box support, we no longer need wrappers around the <
|
|
4688
|
+
border-box support, we no longer need wrappers around the <FooterScrollbar>'s <Scroller>
|
|
4781
4689
|
*/
|
|
4782
4690
|
const [watchSize, updateSizeSync] = typeof ResizeObserver !== 'undefined'
|
|
4783
4691
|
? initNative()
|
|
@@ -4800,13 +4708,13 @@ var FullCalendar = (function (exports) {
|
|
|
4800
4708
|
};
|
|
4801
4709
|
this.handleBeforePrint = () => {
|
|
4802
4710
|
this.setState({ forPrint: true });
|
|
4803
|
-
|
|
4711
|
+
flushUpdates();
|
|
4804
4712
|
updateSizeSync();
|
|
4805
|
-
|
|
4713
|
+
flushUpdates();
|
|
4806
4714
|
};
|
|
4807
4715
|
this.handleAfterPrint = () => {
|
|
4808
4716
|
this.setState({ forPrint: false });
|
|
4809
|
-
|
|
4717
|
+
flushUpdates();
|
|
4810
4718
|
};
|
|
4811
4719
|
}
|
|
4812
4720
|
render() {
|
|
@@ -4893,7 +4801,7 @@ var FullCalendar = (function (exports) {
|
|
|
4893
4801
|
}
|
|
4894
4802
|
|
|
4895
4803
|
function getIsHeightAuto(options) {
|
|
4896
|
-
return options.height === 'auto' || options.
|
|
4804
|
+
return options.height === 'auto' || options.contentHeight === 'auto';
|
|
4897
4805
|
}
|
|
4898
4806
|
function getStickyHeaderDates(options) {
|
|
4899
4807
|
let { stickyHeaderDates } = options;
|
|
@@ -4932,7 +4840,10 @@ var FullCalendar = (function (exports) {
|
|
|
4932
4840
|
callback();
|
|
4933
4841
|
}
|
|
4934
4842
|
updateSize() {
|
|
4935
|
-
|
|
4843
|
+
let cycleCount = 0;
|
|
4844
|
+
while (cycleCount++ < 3 && updateSizeSync()) {
|
|
4845
|
+
flushUpdates();
|
|
4846
|
+
}
|
|
4936
4847
|
}
|
|
4937
4848
|
// Options
|
|
4938
4849
|
// -----------------------------------------------------------------------------------------------------------------
|
|
@@ -5519,63 +5430,11 @@ var FullCalendar = (function (exports) {
|
|
|
5519
5430
|
calendarApi.zoomTo(dateMarker, viewType);
|
|
5520
5431
|
}
|
|
5521
5432
|
};
|
|
5522
|
-
return Object.assign({ 'role': 'link', 'aria-label': formatWithOrdinals(options.navLinkHint, [dateStr, zonedDate], dateStr), '
|
|
5433
|
+
return Object.assign({ 'role': 'link', 'aria-label': formatWithOrdinals(options.navLinkHint, [dateStr, zonedDate], dateStr), 'className': 'fc-navlink' }, (isTabbable
|
|
5523
5434
|
? createAriaClickAttrs(handleInteraction)
|
|
5524
5435
|
: { onClick: handleInteraction }));
|
|
5525
5436
|
}
|
|
5526
5437
|
|
|
5527
|
-
let _isRtlScrollbarOnLeft = null;
|
|
5528
|
-
function getIsRtlScrollbarOnLeft() {
|
|
5529
|
-
if (_isRtlScrollbarOnLeft === null) {
|
|
5530
|
-
_isRtlScrollbarOnLeft = computeIsRtlScrollbarOnLeft();
|
|
5531
|
-
}
|
|
5532
|
-
return _isRtlScrollbarOnLeft;
|
|
5533
|
-
}
|
|
5534
|
-
function computeIsRtlScrollbarOnLeft() {
|
|
5535
|
-
let outerEl = document.createElement('div');
|
|
5536
|
-
applyStyle(outerEl, {
|
|
5537
|
-
position: 'absolute',
|
|
5538
|
-
top: -1000,
|
|
5539
|
-
left: 0,
|
|
5540
|
-
border: 0,
|
|
5541
|
-
padding: 0,
|
|
5542
|
-
overflow: 'scroll',
|
|
5543
|
-
direction: 'rtl',
|
|
5544
|
-
});
|
|
5545
|
-
outerEl.innerHTML = '<div></div>';
|
|
5546
|
-
document.body.appendChild(outerEl);
|
|
5547
|
-
let innerEl = outerEl.firstChild;
|
|
5548
|
-
let res = innerEl.getBoundingClientRect().left > outerEl.getBoundingClientRect().left;
|
|
5549
|
-
outerEl.remove();
|
|
5550
|
-
return res;
|
|
5551
|
-
}
|
|
5552
|
-
|
|
5553
|
-
let _scrollbarWidths;
|
|
5554
|
-
function getScrollbarWidths() {
|
|
5555
|
-
if (!_scrollbarWidths) {
|
|
5556
|
-
_scrollbarWidths = computeScrollbarWidths();
|
|
5557
|
-
}
|
|
5558
|
-
return _scrollbarWidths;
|
|
5559
|
-
}
|
|
5560
|
-
function computeScrollbarWidths() {
|
|
5561
|
-
let el = document.createElement('div');
|
|
5562
|
-
el.style.overflow = 'scroll';
|
|
5563
|
-
el.style.position = 'absolute';
|
|
5564
|
-
el.style.top = '-9999px';
|
|
5565
|
-
el.style.left = '-9999px';
|
|
5566
|
-
document.body.appendChild(el);
|
|
5567
|
-
let res = computeScrollbarWidthsForEl(el);
|
|
5568
|
-
document.body.removeChild(el);
|
|
5569
|
-
return res;
|
|
5570
|
-
}
|
|
5571
|
-
// WARNING: will include border
|
|
5572
|
-
function computeScrollbarWidthsForEl(el) {
|
|
5573
|
-
return {
|
|
5574
|
-
x: el.offsetHeight - el.clientHeight,
|
|
5575
|
-
y: el.offsetWidth - el.clientWidth,
|
|
5576
|
-
};
|
|
5577
|
-
}
|
|
5578
|
-
|
|
5579
5438
|
function computeEdges(el, getPadding = false) {
|
|
5580
5439
|
let computedStyle = window.getComputedStyle(el);
|
|
5581
5440
|
let borderLeft = parseInt(computedStyle.borderLeftWidth, 10) || 0;
|
|
@@ -5594,7 +5453,7 @@ var FullCalendar = (function (exports) {
|
|
|
5594
5453
|
scrollbarLeft: 0,
|
|
5595
5454
|
scrollbarRight: 0,
|
|
5596
5455
|
};
|
|
5597
|
-
if (
|
|
5456
|
+
if (computedStyle.direction === 'rtl') {
|
|
5598
5457
|
res.scrollbarLeft = scrollbarLeftRight;
|
|
5599
5458
|
}
|
|
5600
5459
|
else {
|
|
@@ -5663,6 +5522,13 @@ var FullCalendar = (function (exports) {
|
|
|
5663
5522
|
}
|
|
5664
5523
|
return parents;
|
|
5665
5524
|
}
|
|
5525
|
+
// WARNING: will include border
|
|
5526
|
+
function computeScrollbarWidthsForEl(el) {
|
|
5527
|
+
return {
|
|
5528
|
+
x: el.offsetHeight - el.clientHeight,
|
|
5529
|
+
y: el.offsetWidth - el.clientWidth,
|
|
5530
|
+
};
|
|
5531
|
+
}
|
|
5666
5532
|
|
|
5667
5533
|
/*
|
|
5668
5534
|
Records offset information for a set of elements, relative to an origin element.
|
|
@@ -5876,7 +5742,7 @@ var FullCalendar = (function (exports) {
|
|
|
5876
5742
|
isValidDateDownEl(el) {
|
|
5877
5743
|
return !el.closest('.fc-event:not(.fc-bg-event)') &&
|
|
5878
5744
|
!el.closest('.fc-more-link') && // a "more.." link
|
|
5879
|
-
!el.closest('
|
|
5745
|
+
!el.closest('.fc-navlink') && // a clickable nav link
|
|
5880
5746
|
!el.closest('.fc-popover'); // hack
|
|
5881
5747
|
}
|
|
5882
5748
|
}
|
|
@@ -6473,37 +6339,54 @@ var FullCalendar = (function (exports) {
|
|
|
6473
6339
|
constructor() {
|
|
6474
6340
|
super(...arguments);
|
|
6475
6341
|
this.handleEl = (el) => {
|
|
6476
|
-
const { props } = this;
|
|
6477
6342
|
if (this.el) {
|
|
6478
6343
|
this.el = null;
|
|
6479
6344
|
this.listener.destroy();
|
|
6480
|
-
this.disconnectSize();
|
|
6481
|
-
setRef(props.clientWidthRef, null);
|
|
6482
|
-
setRef(props.clientHeightRef, null);
|
|
6483
|
-
setRef(props.endScrollbarWidthRef, null);
|
|
6484
|
-
setRef(props.bottomScrollbarWidthRef, null);
|
|
6485
6345
|
}
|
|
6486
6346
|
if (el) {
|
|
6487
6347
|
this.el = el;
|
|
6488
6348
|
this.listener = new ScrollListener(el);
|
|
6489
|
-
|
|
6490
|
-
|
|
6491
|
-
|
|
6492
|
-
|
|
6493
|
-
|
|
6494
|
-
|
|
6495
|
-
|
|
6496
|
-
|
|
6497
|
-
|
|
6349
|
+
}
|
|
6350
|
+
};
|
|
6351
|
+
this.handleHRuler = (el) => {
|
|
6352
|
+
if (this.disconnectHRuler) {
|
|
6353
|
+
this.disconnectHRuler();
|
|
6354
|
+
this.disconnectHRuler = undefined;
|
|
6355
|
+
if (this.clientWidth !== undefined) {
|
|
6356
|
+
this.clientWidth = undefined;
|
|
6357
|
+
setRef(this.props.clientWidthRef, null);
|
|
6358
|
+
}
|
|
6359
|
+
}
|
|
6360
|
+
if (el) {
|
|
6361
|
+
this.disconnectHRuler = watchWidth(el, (clientWidth) => {
|
|
6362
|
+
if (clientWidth !== this.clientWidth) {
|
|
6363
|
+
this.clientWidth = clientWidth;
|
|
6364
|
+
setRef(this.props.clientWidthRef, clientWidth);
|
|
6498
6365
|
}
|
|
6499
|
-
|
|
6500
|
-
|
|
6501
|
-
|
|
6366
|
+
});
|
|
6367
|
+
}
|
|
6368
|
+
};
|
|
6369
|
+
this.handleVRuler = (el) => {
|
|
6370
|
+
if (this.disconnectVRuler) {
|
|
6371
|
+
this.disconnectVRuler();
|
|
6372
|
+
this.disconnectVRuler = undefined;
|
|
6373
|
+
if (this.clientHeight !== undefined) {
|
|
6374
|
+
this.clientHeight = undefined;
|
|
6375
|
+
setRef(this.props.clientHeightRef, null);
|
|
6376
|
+
}
|
|
6377
|
+
}
|
|
6378
|
+
if (el) {
|
|
6379
|
+
this.disconnectVRuler = watchHeight(el, (clientHeight) => {
|
|
6380
|
+
if (clientHeight !== this.clientHeight) {
|
|
6381
|
+
this.clientHeight = clientHeight;
|
|
6382
|
+
setRef(this.props.clientHeightRef, clientHeight);
|
|
6502
6383
|
}
|
|
6503
|
-
|
|
6504
|
-
|
|
6384
|
+
const bottomScrollbarWidth = Math.round(this.el.getBoundingClientRect().height - clientHeight);
|
|
6385
|
+
if (bottomScrollbarWidth !== this.bottomScrollbarWidth) {
|
|
6386
|
+
this.bottomScrollbarWidth = bottomScrollbarWidth;
|
|
6387
|
+
setRef(this.props.bottomScrollbarWidthRef, bottomScrollbarWidth);
|
|
6505
6388
|
}
|
|
6506
|
-
}
|
|
6389
|
+
});
|
|
6507
6390
|
}
|
|
6508
6391
|
};
|
|
6509
6392
|
}
|
|
@@ -6512,7 +6395,11 @@ var FullCalendar = (function (exports) {
|
|
|
6512
6395
|
// if there's only one axis that needs scrolling, the other axis will unintentionally have
|
|
6513
6396
|
// scrollbars too if we don't force to 'hidden'
|
|
6514
6397
|
const fallbackOverflow = (props.horizontal || props.vertical) ? 'hidden' : '';
|
|
6515
|
-
return (_("div", { ref: this.handleEl, className: joinClassNames(props.className, 'fc-scroller
|
|
6398
|
+
return (_("div", { ref: this.handleEl, className: joinClassNames(props.className, 'fc-scroller fc-rel', // fc-rel for children fc-fill-top/start
|
|
6399
|
+
props.hideScrollbars && 'fc-scroller-no-bars'), style: Object.assign(Object.assign({}, props.style), { overflowX: props.horizontal ? 'auto' : fallbackOverflow, overflowY: props.vertical ? 'auto' : fallbackOverflow }) },
|
|
6400
|
+
props.children,
|
|
6401
|
+
Boolean(props.clientWidthRef) && (_("div", { ref: this.handleHRuler, className: 'fc-fill-top' })),
|
|
6402
|
+
Boolean(props.clientHeightRef || props.bottomScrollbarWidthRef) && (_("div", { ref: this.handleVRuler, className: 'fc-fill-start' }))));
|
|
6516
6403
|
}
|
|
6517
6404
|
endScroll() {
|
|
6518
6405
|
this.listener.endScroll();
|
|
@@ -6587,9 +6474,6 @@ var FullCalendar = (function (exports) {
|
|
|
6587
6474
|
function getRtlScrollerSystem() {
|
|
6588
6475
|
return _rtlScrollerSystem || (_rtlScrollerSystem = detectRtlScrollerSystem());
|
|
6589
6476
|
}
|
|
6590
|
-
/*
|
|
6591
|
-
TODO: make this more minimal now that scrollbar-side detection isn't needed?
|
|
6592
|
-
*/
|
|
6593
6477
|
function detectRtlScrollerSystem() {
|
|
6594
6478
|
let el = document.createElement('div');
|
|
6595
6479
|
el.style.position = 'absolute';
|
|
@@ -6922,6 +6806,30 @@ var FullCalendar = (function (exports) {
|
|
|
6922
6806
|
return false;
|
|
6923
6807
|
}
|
|
6924
6808
|
|
|
6809
|
+
class Ruler extends BaseComponent {
|
|
6810
|
+
constructor() {
|
|
6811
|
+
super(...arguments);
|
|
6812
|
+
this.elRef = m$1();
|
|
6813
|
+
}
|
|
6814
|
+
render() {
|
|
6815
|
+
return (_("div", { ref: this.elRef }));
|
|
6816
|
+
}
|
|
6817
|
+
componentDidMount() {
|
|
6818
|
+
const { props } = this;
|
|
6819
|
+
const el = this.elRef.current;
|
|
6820
|
+
this.disconnectWidth = watchWidth(el, (width) => {
|
|
6821
|
+
setRef(props.widthRef, width);
|
|
6822
|
+
});
|
|
6823
|
+
}
|
|
6824
|
+
componentWillUnmount() {
|
|
6825
|
+
this.disconnectWidth();
|
|
6826
|
+
const { props } = this;
|
|
6827
|
+
if (props.widthRef) {
|
|
6828
|
+
setRef(props.widthRef, null);
|
|
6829
|
+
}
|
|
6830
|
+
}
|
|
6831
|
+
}
|
|
6832
|
+
|
|
6925
6833
|
/*
|
|
6926
6834
|
TODO: make API where createRefMap() called
|
|
6927
6835
|
*/
|
|
@@ -7020,6 +6928,8 @@ var FullCalendar = (function (exports) {
|
|
|
7020
6928
|
class EventContainer extends BaseComponent {
|
|
7021
6929
|
constructor() {
|
|
7022
6930
|
super(...arguments);
|
|
6931
|
+
// memo
|
|
6932
|
+
this.buildPublicEvent = memoize((context, eventDef, eventInstance) => new EventImpl(context, eventDef, eventInstance));
|
|
7023
6933
|
this.handleEl = (el) => {
|
|
7024
6934
|
this.el = el;
|
|
7025
6935
|
if (el) {
|
|
@@ -7033,7 +6943,9 @@ var FullCalendar = (function (exports) {
|
|
|
7033
6943
|
const { eventRange } = props;
|
|
7034
6944
|
const { ui } = eventRange;
|
|
7035
6945
|
const renderProps = {
|
|
7036
|
-
|
|
6946
|
+
// make stable. everything else atomic
|
|
6947
|
+
// FYI, eventRange unfortunately gets reconstructed a lot, but def/instance is stable
|
|
6948
|
+
event: this.buildPublicEvent(context, eventRange.def, eventRange.instance),
|
|
7037
6949
|
view: context.viewApi,
|
|
7038
6950
|
timeText: props.timeText,
|
|
7039
6951
|
textColor: ui.textColor,
|
|
@@ -7052,7 +6964,7 @@ var FullCalendar = (function (exports) {
|
|
|
7052
6964
|
isDragging: Boolean(props.isDragging),
|
|
7053
6965
|
isResizing: Boolean(props.isResizing),
|
|
7054
6966
|
};
|
|
7055
|
-
return (_(ContentContainer,
|
|
6967
|
+
return (_(ContentContainer, { attrs: props.attrs, className: joinClassNames(props.className, ...getEventClassNames(renderProps), ...eventRange.ui.classNames), style: props.style, elRef: this.handleEl, renderProps: renderProps, generatorName: "eventContent", customGenerator: options.eventContent, defaultGenerator: props.defaultGenerator, tag: props.tag, classNameGenerator: options.eventClassNames, didMount: options.eventDidMount, willUnmount: options.eventWillUnmount }, props.children));
|
|
7056
6968
|
}
|
|
7057
6969
|
componentDidUpdate(prevProps) {
|
|
7058
6970
|
if (this.el && this.props.eventRange !== prevProps.eventRange) {
|
|
@@ -7156,6 +7068,7 @@ var FullCalendar = (function (exports) {
|
|
|
7156
7068
|
}));
|
|
7157
7069
|
|
|
7158
7070
|
const PADDING_FROM_VIEWPORT = 10;
|
|
7071
|
+
const ROW_BORDER_WIDTH = 1;
|
|
7159
7072
|
class Popover extends BaseComponent {
|
|
7160
7073
|
constructor() {
|
|
7161
7074
|
super(...arguments);
|
|
@@ -7197,8 +7110,8 @@ var FullCalendar = (function (exports) {
|
|
|
7197
7110
|
return j(_("div", Object.assign({}, props.attrs, { id: props.id, role: 'dialog', "aria-labelledby": this.titleId, className: joinClassNames(props.className, 'fc-popover', theme.getClassName('popover')), ref: this.handleRootEl }),
|
|
7198
7111
|
_("div", { tabIndex: 0, style: { outline: 'none' }, ref: this.focusStartRef }),
|
|
7199
7112
|
_("div", { className: 'fc-popover-header ' + theme.getClassName('popoverHeader') },
|
|
7200
|
-
_("
|
|
7201
|
-
_("
|
|
7113
|
+
_("div", { className: "fc-popover-title", id: this.titleId }, props.title),
|
|
7114
|
+
_("div", Object.assign({ role: 'button', "aria-label": options.closeHint, className: 'fc-popover-close ' + theme.getIconClass('close') }, createAriaClickAttrs(this.handleClose), { ref: this.closeRef }))),
|
|
7202
7115
|
_("div", { className: 'fc-popover-body ' + theme.getClassName('popoverContent') }, props.children),
|
|
7203
7116
|
_("div", { tabIndex: 0, style: { outline: 'none' }, ref: this.focusEndRef })), props.parentEl);
|
|
7204
7117
|
}
|
|
@@ -7225,7 +7138,8 @@ var FullCalendar = (function (exports) {
|
|
|
7225
7138
|
let popoverDims = rootEl.getBoundingClientRect();
|
|
7226
7139
|
// position relative to viewport
|
|
7227
7140
|
let popoverTop = alignParentTop
|
|
7228
|
-
|
|
7141
|
+
// HACK: subtract 1 for DayGrid, which has borders on row-bottom. Only view that uses alignParentTop
|
|
7142
|
+
? alignEl.closest(alignParentTop).getBoundingClientRect().top - ROW_BORDER_WIDTH
|
|
7229
7143
|
: alignmentRect.top;
|
|
7230
7144
|
let popoverLeft = isRtl ? alignmentRect.right - popoverDims.width : alignmentRect.left;
|
|
7231
7145
|
// constrain
|
|
@@ -7279,7 +7193,7 @@ var FullCalendar = (function (exports) {
|
|
|
7279
7193
|
start: props.startDate,
|
|
7280
7194
|
end: props.endDate,
|
|
7281
7195
|
} }, props.dateSpanProps),
|
|
7282
|
-
|
|
7196
|
+
getDayEl: () => rootEl,
|
|
7283
7197
|
rect: {
|
|
7284
7198
|
left: 0,
|
|
7285
7199
|
top: 0,
|
|
@@ -7308,21 +7222,22 @@ var FullCalendar = (function (exports) {
|
|
|
7308
7222
|
};
|
|
7309
7223
|
this.handleClick = (ev) => {
|
|
7310
7224
|
let { props, context } = this;
|
|
7311
|
-
let {
|
|
7225
|
+
let { dateEnv, options } = context;
|
|
7226
|
+
let { moreLinkClick } = options;
|
|
7312
7227
|
let date = computeRange(props).start;
|
|
7313
7228
|
function buildPublicSeg(seg) {
|
|
7314
7229
|
let { def, instance, range } = seg.eventRange;
|
|
7315
7230
|
return {
|
|
7316
7231
|
event: new EventImpl(context, def, instance),
|
|
7317
|
-
start:
|
|
7318
|
-
end:
|
|
7232
|
+
start: dateEnv.toDate(range.start),
|
|
7233
|
+
end: dateEnv.toDate(range.end),
|
|
7319
7234
|
isStart: seg.isStart,
|
|
7320
7235
|
isEnd: seg.isEnd,
|
|
7321
7236
|
};
|
|
7322
7237
|
}
|
|
7323
7238
|
if (typeof moreLinkClick === 'function') {
|
|
7324
7239
|
moreLinkClick = moreLinkClick({
|
|
7325
|
-
date,
|
|
7240
|
+
date: dateEnv.toDate(date),
|
|
7326
7241
|
allDay: Boolean(props.allDayDate),
|
|
7327
7242
|
allSegs: props.segs.map(buildPublicSeg),
|
|
7328
7243
|
hiddenSegs: props.hiddenSegs.map(buildPublicSeg),
|
|
@@ -7440,7 +7355,7 @@ var FullCalendar = (function (exports) {
|
|
|
7440
7355
|
}
|
|
7441
7356
|
}
|
|
7442
7357
|
|
|
7443
|
-
class
|
|
7358
|
+
class FooterScrollbar extends BaseComponent {
|
|
7444
7359
|
constructor() {
|
|
7445
7360
|
super(...arguments);
|
|
7446
7361
|
this.rootElRef = m$1();
|
|
@@ -7451,7 +7366,7 @@ var FullCalendar = (function (exports) {
|
|
|
7451
7366
|
// the outer dimensions change, but the inner dimensions do not. The Scroller's
|
|
7452
7367
|
// dimension-watching, when used in ponyfill-mode, can't fire on border-box change, so we
|
|
7453
7368
|
// workaround it by monitoring dimensions of a wrapper instead
|
|
7454
|
-
return (_("div", { ref: this.rootElRef, className: 'fc-
|
|
7369
|
+
return (_("div", { ref: this.rootElRef, className: joinClassNames('fc-footer-scrollbar', props.isSticky && 'fc-footer-scrollbar-sticky') },
|
|
7455
7370
|
_(Scroller, { horizontal: true, ref: props.scrollerRef },
|
|
7456
7371
|
_("div", { style: { minWidth: props.canvasWidth } }))));
|
|
7457
7372
|
}
|
|
@@ -7487,6 +7402,7 @@ var FullCalendar = (function (exports) {
|
|
|
7487
7402
|
Emitter: Emitter,
|
|
7488
7403
|
EventContainer: EventContainer,
|
|
7489
7404
|
EventImpl: EventImpl,
|
|
7405
|
+
FooterScrollbar: FooterScrollbar,
|
|
7490
7406
|
Interaction: Interaction,
|
|
7491
7407
|
MoreLinkContainer: MoreLinkContainer,
|
|
7492
7408
|
NamedTimeZoneImpl: NamedTimeZoneImpl,
|
|
@@ -7494,13 +7410,13 @@ var FullCalendar = (function (exports) {
|
|
|
7494
7410
|
NowTimer: NowTimer,
|
|
7495
7411
|
PositionCache: PositionCache,
|
|
7496
7412
|
RefMap: RefMap,
|
|
7413
|
+
Ruler: Ruler,
|
|
7497
7414
|
ScrollController: ScrollController,
|
|
7498
7415
|
Scroller: Scroller,
|
|
7499
7416
|
SegHierarchy: SegHierarchy,
|
|
7500
7417
|
Slicer: Slicer,
|
|
7501
7418
|
Splitter: Splitter,
|
|
7502
7419
|
StandardEvent: StandardEvent,
|
|
7503
|
-
StickyFooterScrollbar: StickyFooterScrollbar,
|
|
7504
7420
|
Theme: Theme,
|
|
7505
7421
|
ViewContainer: ViewContainer,
|
|
7506
7422
|
ViewContextType: ViewContextType,
|
|
@@ -7572,11 +7488,9 @@ var FullCalendar = (function (exports) {
|
|
|
7572
7488
|
getEventTagAndAttrs: getEventTagAndAttrs,
|
|
7573
7489
|
getEventTargetViaRoot: getEventTargetViaRoot,
|
|
7574
7490
|
getIsHeightAuto: getIsHeightAuto,
|
|
7575
|
-
getIsRtlScrollbarOnLeft: getIsRtlScrollbarOnLeft,
|
|
7576
7491
|
getNormalizedScrollX: getNormalizedScrollX,
|
|
7577
7492
|
getRectCenter: getRectCenter,
|
|
7578
7493
|
getRelevantEvents: getRelevantEvents,
|
|
7579
|
-
getScrollbarWidths: getScrollbarWidths,
|
|
7580
7494
|
getScrollerSyncerClass: getScrollerSyncerClass,
|
|
7581
7495
|
getSlotClassName: getSlotClassName,
|
|
7582
7496
|
getStickyFooterScrollbar: getStickyFooterScrollbar,
|
|
@@ -7605,8 +7519,6 @@ var FullCalendar = (function (exports) {
|
|
|
7605
7519
|
joinClassNames: joinClassNames,
|
|
7606
7520
|
mapHash: mapHash,
|
|
7607
7521
|
memoize: memoize,
|
|
7608
|
-
memoizeArraylike: memoizeArraylike,
|
|
7609
|
-
memoizeHashlike: memoizeHashlike,
|
|
7610
7522
|
memoizeObjArg: memoizeObjArg,
|
|
7611
7523
|
mergeEventStores: mergeEventStores,
|
|
7612
7524
|
multiplyDuration: multiplyDuration,
|
|
@@ -7651,6 +7563,7 @@ var FullCalendar = (function (exports) {
|
|
|
7651
7563
|
createPortal: j,
|
|
7652
7564
|
createContext: createContext,
|
|
7653
7565
|
flushSync: flushSync,
|
|
7566
|
+
flushUpdates: flushUpdates,
|
|
7654
7567
|
preactOptions: preactOptions,
|
|
7655
7568
|
Component: b,
|
|
7656
7569
|
Fragment: k$1,
|
|
@@ -9651,11 +9564,6 @@ var FullCalendar = (function (exports) {
|
|
|
9651
9564
|
this.renderRunner.request();
|
|
9652
9565
|
}
|
|
9653
9566
|
}
|
|
9654
|
-
updateSize() {
|
|
9655
|
-
flushSync(() => {
|
|
9656
|
-
super.updateSize();
|
|
9657
|
-
});
|
|
9658
|
-
}
|
|
9659
9567
|
batchRendering(func) {
|
|
9660
9568
|
this.renderRunner.pause('batchRendering');
|
|
9661
9569
|
func();
|
|
@@ -9728,7 +9636,7 @@ var FullCalendar = (function (exports) {
|
|
|
9728
9636
|
return sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg;
|
|
9729
9637
|
}
|
|
9730
9638
|
|
|
9731
|
-
const version = '7.0.0-
|
|
9639
|
+
const version = '7.0.0-rc.0';
|
|
9732
9640
|
|
|
9733
9641
|
config.touchMouseIgnoreWait = 500;
|
|
9734
9642
|
let ignoreMouseDepth = 0;
|
|
@@ -10825,6 +10733,9 @@ var FullCalendar = (function (exports) {
|
|
|
10825
10733
|
this.handlePointerDown = (pev) => {
|
|
10826
10734
|
let { dragging } = this;
|
|
10827
10735
|
let downEl = pev.origEvent.target;
|
|
10736
|
+
/*
|
|
10737
|
+
If no dateClick, allow text on dates to be text-selectable
|
|
10738
|
+
*/
|
|
10828
10739
|
const canDateClick = this.component.context.emitter.hasHandlers('dateClick') &&
|
|
10829
10740
|
this.component.isValidDateDownEl(downEl);
|
|
10830
10741
|
if (!canDateClick) {
|
|
@@ -10839,7 +10750,7 @@ var FullCalendar = (function (exports) {
|
|
|
10839
10750
|
let { initialHit, finalHit } = this.hitDragging;
|
|
10840
10751
|
if (initialHit && finalHit && isHitsEqual(initialHit, finalHit)) {
|
|
10841
10752
|
let { context } = component;
|
|
10842
|
-
let arg = Object.assign(Object.assign({}, buildDatePointApiWithContext(initialHit.dateSpan, context)), { dayEl: initialHit.
|
|
10753
|
+
let arg = Object.assign(Object.assign({}, buildDatePointApiWithContext(initialHit.dateSpan, context)), { dayEl: initialHit.getDayEl(), jsEvent: ev.origEvent, view: context.viewApi || context.calendarApi.view });
|
|
10843
10754
|
context.emitter.trigger('dateClick', arg);
|
|
10844
10755
|
}
|
|
10845
10756
|
}
|
|
@@ -11898,6 +11809,7 @@ var FullCalendar = (function (exports) {
|
|
|
11898
11809
|
function buildDateRowConfig(dates, datesRepDistinctDays, dateProfile, todayRange, dayHeaderFormat, // TODO: rename to dateHeaderFormat?
|
|
11899
11810
|
context, colSpan) {
|
|
11900
11811
|
return {
|
|
11812
|
+
isDateRow: true,
|
|
11901
11813
|
renderConfig: buildDateRenderConfig(context),
|
|
11902
11814
|
dataConfigs: buildDateDataConfigs(dates, datesRepDistinctDays, dateProfile, todayRange, dayHeaderFormat, context, colSpan)
|
|
11903
11815
|
};
|
|
@@ -11916,31 +11828,38 @@ var FullCalendar = (function (exports) {
|
|
|
11916
11828
|
willUnmount: options.dayHeaderWillUnmount,
|
|
11917
11829
|
};
|
|
11918
11830
|
}
|
|
11831
|
+
const dowDates = [];
|
|
11832
|
+
for (let dow = 0; dow < 7; dow++) {
|
|
11833
|
+
dowDates.push(addDays(new Date(259200000), dow)); // start with Sun, 04 Jan 1970 00:00:00 GMT)
|
|
11834
|
+
}
|
|
11919
11835
|
/*
|
|
11920
11836
|
For header cells: data
|
|
11921
11837
|
*/
|
|
11922
11838
|
function buildDateDataConfigs(dates, datesRepDistinctDays, dateProfile, todayRange, dayHeaderFormat, // TODO: rename to dateHeaderFormat?
|
|
11923
|
-
context, colSpan = 1, keyPrefix = ''
|
|
11839
|
+
context, colSpan = 1, keyPrefix = '', extraRenderProps = {}, // TODO
|
|
11840
|
+
extraAttrs = {}, // TODO
|
|
11841
|
+
className = '') {
|
|
11924
11842
|
const { dateEnv, viewApi, options } = context;
|
|
11925
11843
|
return datesRepDistinctDays
|
|
11926
11844
|
? dates.map((date) => {
|
|
11927
11845
|
const dateMeta = getDateMeta(date, todayRange, null, dateProfile);
|
|
11928
11846
|
const text = dateEnv.format(date, dayHeaderFormat);
|
|
11929
|
-
const renderProps = Object.assign(Object.assign({}, dateMeta), { date: dateEnv.toDate(date), view: viewApi, text });
|
|
11930
|
-
const isNavLink = options.navLinks && !dateMeta.isDisabled
|
|
11847
|
+
const renderProps = Object.assign(Object.assign(Object.assign({}, dateMeta), { date: dateEnv.toDate(date), view: viewApi, text }), extraRenderProps);
|
|
11848
|
+
const isNavLink = options.navLinks && !dateMeta.isDisabled &&
|
|
11849
|
+
dates.length > 1; // don't show navlink to day if only one day
|
|
11931
11850
|
const fullDateStr = buildDateStr(context, date);
|
|
11932
11851
|
// for DayGridHeaderCell
|
|
11933
11852
|
return {
|
|
11934
11853
|
key: keyPrefix + date.toUTCString(),
|
|
11935
11854
|
renderProps,
|
|
11936
|
-
attrs: Object.assign(Object.assign({ 'aria-label': fullDateStr }, (dateMeta.isToday ? { 'aria-current': 'date' } : {})), { 'data-date': formatDayString(date) }),
|
|
11855
|
+
attrs: Object.assign(Object.assign(Object.assign({ 'aria-label': fullDateStr }, (dateMeta.isToday ? { 'aria-current': 'date' } : {})), { 'data-date': formatDayString(date) }), extraAttrs),
|
|
11937
11856
|
// for navlink
|
|
11938
11857
|
innerAttrs: isNavLink
|
|
11939
11858
|
? buildNavLinkAttrs(context, date, undefined, fullDateStr)
|
|
11940
11859
|
: { 'aria-hidden': true },
|
|
11941
11860
|
colSpan,
|
|
11942
11861
|
isNavLink,
|
|
11943
|
-
className: getDayClassName(dateMeta),
|
|
11862
|
+
className: joinClassNames(className, getDayClassName(dateMeta)),
|
|
11944
11863
|
};
|
|
11945
11864
|
})
|
|
11946
11865
|
: dates.map((date) => {
|
|
@@ -11955,21 +11874,19 @@ var FullCalendar = (function (exports) {
|
|
|
11955
11874
|
isOther: false,
|
|
11956
11875
|
};
|
|
11957
11876
|
const text = dateEnv.format(normDate, dayHeaderFormat);
|
|
11958
|
-
const renderProps = Object.assign(Object.assign({}, dayMeta), { date, view: viewApi, text });
|
|
11877
|
+
const renderProps = Object.assign(Object.assign(Object.assign({}, dayMeta), { date: dowDates[dow], view: viewApi, text }), extraRenderProps);
|
|
11959
11878
|
const fullWeekDayStr = dateEnv.format(normDate, WEEKDAY_FORMAT);
|
|
11960
11879
|
// for DayGridHeaderCell
|
|
11961
11880
|
return {
|
|
11962
11881
|
key: keyPrefix + String(dow),
|
|
11963
11882
|
renderProps,
|
|
11964
|
-
attrs: {
|
|
11965
|
-
|
|
11966
|
-
},
|
|
11967
|
-
// for navlink
|
|
11883
|
+
attrs: Object.assign({ 'aria-label': fullWeekDayStr }, extraAttrs),
|
|
11884
|
+
// NOT a navlink
|
|
11968
11885
|
innerAttrs: {
|
|
11969
11886
|
'aria-hidden': true, // label already on cell
|
|
11970
11887
|
},
|
|
11971
11888
|
colSpan,
|
|
11972
|
-
className: getDayClassName(dayMeta),
|
|
11889
|
+
className: joinClassNames(className, getDayClassName(dayMeta)),
|
|
11973
11890
|
};
|
|
11974
11891
|
});
|
|
11975
11892
|
}
|
|
@@ -12088,6 +12005,8 @@ var FullCalendar = (function (exports) {
|
|
|
12088
12005
|
class DayGridCell extends DateComponent {
|
|
12089
12006
|
constructor() {
|
|
12090
12007
|
super(...arguments);
|
|
12008
|
+
// memo
|
|
12009
|
+
this.getDateMeta = memoize(getDateMeta);
|
|
12091
12010
|
// ref
|
|
12092
12011
|
this.rootElRef = m$1();
|
|
12093
12012
|
this.handleBodyEl = (bodyEl) => {
|
|
@@ -12121,8 +12040,7 @@ var FullCalendar = (function (exports) {
|
|
|
12121
12040
|
// TODO: memoize this
|
|
12122
12041
|
const isMonthStart = props.showDayNumber &&
|
|
12123
12042
|
shouldDisplayMonthStart(props.date, props.dateProfile.currentRange, dateEnv);
|
|
12124
|
-
|
|
12125
|
-
const dateMeta = getDateMeta(props.date, props.todayRange, null, props.dateProfile);
|
|
12043
|
+
const dateMeta = this.getDateMeta(props.date, props.todayRange, null, props.dateProfile);
|
|
12126
12044
|
const baseClassName = joinClassNames('fc-daygrid-day', props.borderStart && 'fc-border-s', props.width != null ? '' : 'fc-liquid', 'fc-flex-col');
|
|
12127
12045
|
if (dateMeta.isDisabled) {
|
|
12128
12046
|
return (_("div", { role: 'gridcell', "aria-disabled": true, className: joinClassNames(baseClassName, 'fc-day-disabled'), style: {
|
|
@@ -12371,10 +12289,10 @@ var FullCalendar = (function (exports) {
|
|
|
12371
12289
|
// Hit Element
|
|
12372
12290
|
// -------------------------------------------------------------------------------------------------
|
|
12373
12291
|
function getRowEl(rootEl, row) {
|
|
12374
|
-
return rootEl.querySelectorAll('
|
|
12292
|
+
return rootEl.querySelectorAll('[role=row]')[row];
|
|
12375
12293
|
}
|
|
12376
12294
|
function getCellEl(rowEl, col) {
|
|
12377
|
-
return rowEl.querySelectorAll('
|
|
12295
|
+
return rowEl.querySelectorAll('[role=gridcell]')[col];
|
|
12378
12296
|
}
|
|
12379
12297
|
// Header Formatting
|
|
12380
12298
|
// -------------------------------------------------------------------------------------------------
|
|
@@ -12472,13 +12390,16 @@ var FullCalendar = (function (exports) {
|
|
|
12472
12390
|
return (_("div", { role: props.role /* !!! */, "aria-label": props.role === 'row' // HACK
|
|
12473
12391
|
? fullWeekStr
|
|
12474
12392
|
: undefined // can't have label on non-role div
|
|
12475
|
-
, className: joinClassNames('fc-flex-row fc-rel', props.className), style: {
|
|
12476
|
-
|
|
12393
|
+
, className: joinClassNames('fc-daygrid-row', props.forPrint && 'fc-daygrid-row-print', 'fc-flex-row fc-rel', props.className), style: {
|
|
12394
|
+
'flex-basis': props.basis,
|
|
12477
12395
|
}, ref: this.handleRootEl },
|
|
12396
|
+
props.showWeekNumbers && (_(WeekNumberContainer, { tag: 'div', attrs: Object.assign(Object.assign({}, (isNavLink
|
|
12397
|
+
? buildNavLinkAttrs(context, weekDate, 'week', fullWeekStr, /* isTabbable = */ false)
|
|
12398
|
+
: {})), { 'role': undefined, 'aria-hidden': true }), className: 'fc-daygrid-week-number', date: weekDate, defaultFormat: DEFAULT_WEEK_NUM_FORMAT$1 })),
|
|
12478
12399
|
this.renderFillSegs(props.businessHourSegs, 'non-business'),
|
|
12479
12400
|
this.renderFillSegs(props.bgEventSegs, 'bg-event'),
|
|
12480
12401
|
this.renderFillSegs(highlightSegs, 'highlight'),
|
|
12481
|
-
|
|
12402
|
+
props.cells.map((cell, col) => {
|
|
12482
12403
|
const normalFgNodes = this.renderFgSegs(maxMainTop, renderableSegsByCol[col], segTops, props.todayRange, forcedInvisibleMap);
|
|
12483
12404
|
return (_(DayGridCell, { key: cell.key, dateProfile: props.dateProfile, todayRange: props.todayRange, date: cell.date, showDayNumber: props.showDayNumbers, isCompact: props.isCompact, isTall: props.isTall, borderStart: Boolean(col),
|
|
12484
12405
|
// content
|
|
@@ -12489,10 +12410,7 @@ var FullCalendar = (function (exports) {
|
|
|
12489
12410
|
fgHeight: heightsByCol[col], width: props.colWidth,
|
|
12490
12411
|
// refs
|
|
12491
12412
|
headerHeightRef: headerHeightRefMap.createRef(cell.key), mainHeightRef: mainHeightRefMap.createRef(cell.key) }));
|
|
12492
|
-
})
|
|
12493
|
-
props.showWeekNumbers && (_(WeekNumberContainer, { tag: 'div', attrs: Object.assign(Object.assign({}, (isNavLink
|
|
12494
|
-
? buildNavLinkAttrs(context, weekDate, 'week', fullWeekStr, /* isTabbable = */ false)
|
|
12495
|
-
: {})), { 'role': undefined, 'aria-hidden': true }), className: 'fc-daygrid-week-number', date: weekDate, defaultFormat: DEFAULT_WEEK_NUM_FORMAT$1 })),
|
|
12413
|
+
}),
|
|
12496
12414
|
this.renderFgSegs(maxMainTop, mirrorSegs, segTops, props.todayRange, {}, // forcedInvisibleMap
|
|
12497
12415
|
Boolean(props.eventDrag), Boolean(props.eventResize), false)));
|
|
12498
12416
|
}
|
|
@@ -12652,30 +12570,22 @@ var FullCalendar = (function (exports) {
|
|
|
12652
12570
|
let eventResizeByRow = this.splitEventResize(props.eventResize, rowCnt);
|
|
12653
12571
|
let isHeightAuto = getIsHeightAuto(options);
|
|
12654
12572
|
let rowHeightsRedistribute = !props.forPrint && !isHeightAuto;
|
|
12655
|
-
let
|
|
12573
|
+
let rowBasis = computeRowBasis(props.visibleWidth, rowCnt, isHeightAuto, options);
|
|
12574
|
+
let isCompact = computeRowIsCompact(props.visibleWidth, options);
|
|
12656
12575
|
return (_("div", { role: 'rowgroup', className: joinClassNames(
|
|
12657
12576
|
// HACK for Safari. Can't do break-inside:avoid with flexbox items, likely b/c it's not standard:
|
|
12658
12577
|
// https://stackoverflow.com/a/60256345
|
|
12659
12578
|
!props.forPrint && 'fc-flex-col', props.className), style: { width: props.width }, ref: this.handleRootEl }, props.cellRows.map((cells, row) => (_(DayGridRow, { key: cells[0].key, role: 'row', dateProfile: props.dateProfile, todayRange: props.todayRange, cells: cells, showDayNumbers: rowCnt > 1, showWeekNumbers: rowCnt > 1 && options.weekNumbers, forPrint: props.forPrint, isCompact: isCompact,
|
|
12660
12579
|
// if not auto-height, distribute height of container somewhat evently to rows
|
|
12661
|
-
|
|
12662
|
-
className: joinClassNames(rowHeightsRedistribute && 'fc-grow fc-basis0', rowCnt > 1 && 'fc-break-inside-avoid', // don't avoid breaks for single tall row
|
|
12580
|
+
className: joinClassNames(rowHeightsRedistribute && 'fc-grow', rowCnt > 1 && 'fc-break-inside-avoid', // don't avoid breaks for single tall row
|
|
12663
12581
|
row < rowCnt - 1 && 'fc-border-b'),
|
|
12664
12582
|
// content
|
|
12665
12583
|
fgEventSegs: fgEventSegsByRow[row], bgEventSegs: bgEventSegsByRow[row].filter(isSegAllDay) /* HACK */, businessHourSegs: businessHourSegsByRow[row], dateSelectionSegs: dateSelectionSegsByRow[row], eventSelection: props.eventSelection, eventDrag: eventDragByRow[row], eventResize: eventResizeByRow[row], dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows,
|
|
12666
12584
|
// dimensions
|
|
12667
|
-
colWidth: props.colWidth,
|
|
12585
|
+
colWidth: props.colWidth, basis: rowBasis,
|
|
12668
12586
|
// refs
|
|
12669
12587
|
heightRef: rowHeightRefMap.createRef(cells[0].key) })))));
|
|
12670
12588
|
}
|
|
12671
|
-
componentDidMount() {
|
|
12672
|
-
this.disconnectWidth = watchWidth(this.rootEl, (width) => {
|
|
12673
|
-
this.setState({ width });
|
|
12674
|
-
});
|
|
12675
|
-
}
|
|
12676
|
-
componentWillUnmount() {
|
|
12677
|
-
this.disconnectWidth();
|
|
12678
|
-
}
|
|
12679
12589
|
// Hit System
|
|
12680
12590
|
// -----------------------------------------------------------------------------------------------
|
|
12681
12591
|
queryHit(positionLeft, positionTop, elWidth) {
|
|
@@ -12692,8 +12602,7 @@ var FullCalendar = (function (exports) {
|
|
|
12692
12602
|
start: cellStartDate,
|
|
12693
12603
|
end: cellEndDate,
|
|
12694
12604
|
}, allDay: true }, cell.dateSpanProps),
|
|
12695
|
-
|
|
12696
|
-
dayEl: getCellEl(getRowEl(this.rootEl, row), col),
|
|
12605
|
+
getDayEl: () => getCellEl(getRowEl(this.rootEl, row), col),
|
|
12697
12606
|
rect: {
|
|
12698
12607
|
left,
|
|
12699
12608
|
right,
|
|
@@ -12709,27 +12618,35 @@ var FullCalendar = (function (exports) {
|
|
|
12709
12618
|
function isSegAllDay(seg) {
|
|
12710
12619
|
return seg.eventRange.def.allDay;
|
|
12711
12620
|
}
|
|
12712
|
-
|
|
12713
|
-
|
|
12621
|
+
/*
|
|
12622
|
+
Amount of height a row should consume prior to expanding
|
|
12623
|
+
We don't want to use min-height with flexbox because we leverage min-height:auto,
|
|
12624
|
+
which yields value based on natural height of events
|
|
12625
|
+
*/
|
|
12626
|
+
function computeRowBasis(visibleWidth, // should INCLUDE any scrollbar width to avoid oscillation
|
|
12627
|
+
rowCnt, isHeightAuto, options) {
|
|
12714
12628
|
if (visibleWidth != null) {
|
|
12715
12629
|
// ensure a consistent row min-height modelled after a month with 6 rows respecting aspectRatio
|
|
12716
12630
|
// will result in same minHeight regardless of weekends, dayMinWidth, height:auto
|
|
12717
|
-
const
|
|
12718
|
-
|
|
12719
|
-
|
|
12720
|
-
|
|
12721
|
-
// this is value that looks natural on paper for portrait/landscape
|
|
12722
|
-
? '6em'
|
|
12723
|
-
// don't give minHeight when single-month non-auto-height
|
|
12724
|
-
// TODO: better way to detect this with DateProfile?
|
|
12725
|
-
: (rowCnt > 6 || isHeightAuto)
|
|
12726
|
-
? rowMinHeight
|
|
12727
|
-
: undefined,
|
|
12728
|
-
// isCompact?: just before most lone +more links hit bottom of cell
|
|
12729
|
-
rowMinHeight < 70,
|
|
12730
|
-
];
|
|
12631
|
+
const rowBasis = visibleWidth / options.aspectRatio / 6;
|
|
12632
|
+
// don't give minHeight when single-month non-auto-height
|
|
12633
|
+
// TODO: better way to detect this with DateProfile?
|
|
12634
|
+
return (rowCnt > 6 || isHeightAuto) ? rowBasis : 0;
|
|
12731
12635
|
}
|
|
12732
|
-
return
|
|
12636
|
+
return 0;
|
|
12637
|
+
}
|
|
12638
|
+
/*
|
|
12639
|
+
Infers cell height based on overall width
|
|
12640
|
+
*/
|
|
12641
|
+
function computeRowIsCompact(visibleWidth, // should INCLUDE any scrollbar width to avoid oscillation
|
|
12642
|
+
options) {
|
|
12643
|
+
if (visibleWidth != null) {
|
|
12644
|
+
// ensure a consistent row min-height modelled after a month with 6 rows respecting aspectRatio
|
|
12645
|
+
// will result in same minHeight regardless of weekends, dayMinWidth, height:auto
|
|
12646
|
+
const rowBasis = visibleWidth / options.aspectRatio / 6;
|
|
12647
|
+
return rowBasis < 70;
|
|
12648
|
+
}
|
|
12649
|
+
return false;
|
|
12733
12650
|
}
|
|
12734
12651
|
|
|
12735
12652
|
class DayGridHeaderCell extends BaseComponent {
|
|
@@ -12789,6 +12706,9 @@ var FullCalendar = (function (exports) {
|
|
|
12789
12706
|
const { props } = this;
|
|
12790
12707
|
return (_("div", { role: props.role /* !!! */, "aria-rowindex": props.rowIndex != null ? 1 + props.rowIndex : undefined, className: joinClassNames('fc-flex-row fc-content-box', props.className), style: { height: props.height } }, props.dataConfigs.map((dataConfig, cellI) => (_(DayGridHeaderCell, { key: dataConfig.key, renderConfig: props.renderConfig, dataConfig: dataConfig, isSticky: props.isSticky, borderStart: Boolean(cellI), colWidth: props.colWidth, innerHeightRef: props.innerHeightRef })))));
|
|
12791
12708
|
}
|
|
12709
|
+
componentWillUnmount() {
|
|
12710
|
+
setRef(this.props.innerHeightRef, null);
|
|
12711
|
+
}
|
|
12792
12712
|
}
|
|
12793
12713
|
|
|
12794
12714
|
/*
|
|
@@ -12809,37 +12729,39 @@ var FullCalendar = (function (exports) {
|
|
|
12809
12729
|
this.handleScroller = (scroller) => {
|
|
12810
12730
|
setRef(this.props.scrollerRef, scroller);
|
|
12811
12731
|
};
|
|
12732
|
+
this.handleTotalWidth = (totalWidth) => {
|
|
12733
|
+
this.setState({ totalWidth });
|
|
12734
|
+
};
|
|
12812
12735
|
this.handleClientWidth = (clientWidth) => {
|
|
12813
12736
|
this.setState({ clientWidth });
|
|
12814
12737
|
};
|
|
12815
|
-
this.handleEndScrollbarWidth = (endScrollbarWidth) => {
|
|
12816
|
-
this.setState({ endScrollbarWidth });
|
|
12817
|
-
};
|
|
12818
12738
|
}
|
|
12819
12739
|
render() {
|
|
12820
12740
|
const { props, state, context } = this;
|
|
12821
12741
|
const { options } = context;
|
|
12742
|
+
const { totalWidth, clientWidth } = state;
|
|
12743
|
+
const endScrollbarWidth = (totalWidth != null && clientWidth != null)
|
|
12744
|
+
? totalWidth - clientWidth
|
|
12745
|
+
: undefined;
|
|
12822
12746
|
const verticalScrollbars = !props.forPrint && !getIsHeightAuto(options);
|
|
12823
12747
|
const stickyHeaderDates = !props.forPrint && getStickyHeaderDates(options);
|
|
12824
12748
|
return (_(k$1, null,
|
|
12825
12749
|
options.dayHeaders && (_("div", { className: joinClassNames(props.forPrint ? 'fc-print-header' : 'fc-flex-row', // col for print, row for screen
|
|
12826
|
-
'fc-border-b') },
|
|
12827
|
-
_(DayGridHeader, { headerTiers: props.headerTiers, className:
|
|
12828
|
-
Boolean(
|
|
12829
|
-
_(Scroller, { vertical: verticalScrollbars,
|
|
12750
|
+
stickyHeaderDates && 'fc-table-header-sticky', 'fc-border-b') },
|
|
12751
|
+
_(DayGridHeader, { headerTiers: props.headerTiers, className: 'fc-daygrid-header' }),
|
|
12752
|
+
Boolean(endScrollbarWidth) && (_("div", { className: 'fc-border-s fc-filler', style: { minWidth: endScrollbarWidth } })))),
|
|
12753
|
+
_(Scroller, { vertical: verticalScrollbars, className: joinClassNames('fc-daygrid-body',
|
|
12830
12754
|
// HACK for Safari. Can't do break-inside:avoid with flexbox items, likely b/c it's not standard:
|
|
12831
12755
|
// https://stackoverflow.com/a/60256345
|
|
12832
|
-
!props.forPrint && 'fc-flex-col', verticalScrollbars && 'fc-liquid'), ref: this.handleScroller },
|
|
12756
|
+
!props.forPrint && 'fc-flex-col', verticalScrollbars && 'fc-liquid'), ref: this.handleScroller, clientWidthRef: this.handleClientWidth },
|
|
12833
12757
|
_(DayGridRows, { dateProfile: props.dateProfile, todayRange: props.todayRange, cellRows: props.cellRows, forPrint: props.forPrint, isHitComboAllowed: props.isHitComboAllowed, className: 'fc-grow', dayMaxEvents: props.forPrint ? undefined : options.dayMaxEvents, dayMaxEventRows: options.dayMaxEventRows,
|
|
12834
12758
|
// content
|
|
12835
12759
|
fgEventSegs: props.fgEventSegs, bgEventSegs: props.bgEventSegs, businessHourSegs: props.businessHourSegs, dateSelectionSegs: props.dateSelectionSegs, eventDrag: props.eventDrag, eventResize: props.eventResize, eventSelection: props.eventSelection,
|
|
12836
12760
|
// dimensions
|
|
12837
|
-
visibleWidth:
|
|
12838
|
-
state.clientWidth != null && state.endScrollbarWidth != null
|
|
12839
|
-
? state.clientWidth + state.endScrollbarWidth
|
|
12840
|
-
: undefined,
|
|
12761
|
+
visibleWidth: totalWidth,
|
|
12841
12762
|
// refs
|
|
12842
|
-
rowHeightRefMap: props.rowHeightRefMap }))
|
|
12763
|
+
rowHeightRefMap: props.rowHeightRefMap })),
|
|
12764
|
+
_(Ruler, { widthRef: this.handleTotalWidth })));
|
|
12843
12765
|
}
|
|
12844
12766
|
}
|
|
12845
12767
|
|
|
@@ -12851,43 +12773,45 @@ var FullCalendar = (function (exports) {
|
|
|
12851
12773
|
this.footerScrollerRef = m$1();
|
|
12852
12774
|
// Sizing
|
|
12853
12775
|
// -----------------------------------------------------------------------------------------------
|
|
12776
|
+
this.handleTotalWidth = (totalWidth) => {
|
|
12777
|
+
this.setState({ totalWidth });
|
|
12778
|
+
};
|
|
12854
12779
|
this.handleClientWidth = (clientWidth) => {
|
|
12855
12780
|
this.setState({ clientWidth });
|
|
12856
12781
|
};
|
|
12857
|
-
this.handleEndScrollbarWidth = (endScrollbarWidth) => {
|
|
12858
|
-
this.setState({ endScrollbarWidth });
|
|
12859
|
-
};
|
|
12860
12782
|
}
|
|
12861
12783
|
render() {
|
|
12862
12784
|
const { props, state, context } = this;
|
|
12863
12785
|
const { options } = context;
|
|
12786
|
+
const { totalWidth, clientWidth } = state;
|
|
12787
|
+
const endScrollbarWidth = (totalWidth != null && clientWidth != null)
|
|
12788
|
+
? totalWidth - clientWidth
|
|
12789
|
+
: undefined;
|
|
12864
12790
|
const verticalScrollbars = !props.forPrint && !getIsHeightAuto(options);
|
|
12865
12791
|
const stickyHeaderDates = !props.forPrint && getStickyHeaderDates(options);
|
|
12866
12792
|
const stickyFooterScrollbar = !props.forPrint && getStickyFooterScrollbar(options);
|
|
12867
12793
|
const colCnt = props.cellRows[0].length;
|
|
12868
|
-
const [canvasWidth, colWidth] = computeColWidth(colCnt, props.dayMinWidth,
|
|
12794
|
+
const [canvasWidth, colWidth] = computeColWidth(colCnt, props.dayMinWidth, clientWidth);
|
|
12869
12795
|
return (_(k$1, null,
|
|
12870
|
-
options.dayHeaders && (_("div", { className: 'fc-print-header' },
|
|
12871
|
-
_(Scroller, { horizontal: true, hideScrollbars: true, className:
|
|
12796
|
+
options.dayHeaders && (_("div", { className: joinClassNames('fc-print-header', stickyHeaderDates && 'fc-table-header-sticky') },
|
|
12797
|
+
_(Scroller, { horizontal: true, hideScrollbars: true, className: 'fc-daygrid-header fc-flex-row fc-border-b', ref: this.headerScrollerRef },
|
|
12872
12798
|
_(DayGridHeader, { headerTiers: props.headerTiers, colWidth: colWidth, width: canvasWidth }),
|
|
12873
|
-
Boolean(
|
|
12799
|
+
Boolean(endScrollbarWidth) && (_("div", { className: 'fc-border-s fc-filler', style: { minWidth: endScrollbarWidth } }))))),
|
|
12874
12800
|
_(Scroller, { vertical: verticalScrollbars, horizontal: true, hideScrollbars: stickyFooterScrollbar ||
|
|
12875
12801
|
props.forPrint // prevents blank space in print-view on Safari
|
|
12876
12802
|
, className: joinClassNames('fc-daygrid-body',
|
|
12877
12803
|
// HACK for Safari. Can't do break-inside:avoid with flexbox items, likely b/c it's not standard:
|
|
12878
12804
|
// https://stackoverflow.com/a/60256345
|
|
12879
|
-
!props.forPrint && 'fc-flex-col', verticalScrollbars && 'fc-liquid'), ref: this.bodyScrollerRef, clientWidthRef: this.handleClientWidth
|
|
12805
|
+
!props.forPrint && 'fc-flex-col', verticalScrollbars && 'fc-liquid'), ref: this.bodyScrollerRef, clientWidthRef: this.handleClientWidth },
|
|
12880
12806
|
_(DayGridRows, { dateProfile: props.dateProfile, todayRange: props.todayRange, cellRows: props.cellRows, forPrint: props.forPrint, isHitComboAllowed: props.isHitComboAllowed, className: 'fc-grow', dayMaxEvents: props.forPrint ? undefined : options.dayMaxEvents, dayMaxEventRows: options.dayMaxEventRows,
|
|
12881
12807
|
// content
|
|
12882
12808
|
fgEventSegs: props.fgEventSegs, bgEventSegs: props.bgEventSegs, businessHourSegs: props.businessHourSegs, dateSelectionSegs: props.dateSelectionSegs, eventDrag: props.eventDrag, eventResize: props.eventResize, eventSelection: props.eventSelection,
|
|
12883
12809
|
// dimensions
|
|
12884
|
-
colWidth: colWidth, width: canvasWidth, visibleWidth:
|
|
12885
|
-
state.clientWidth != null && state.endScrollbarWidth != null
|
|
12886
|
-
? state.clientWidth + state.endScrollbarWidth
|
|
12887
|
-
: undefined,
|
|
12810
|
+
colWidth: colWidth, width: canvasWidth, visibleWidth: totalWidth,
|
|
12888
12811
|
// refs
|
|
12889
12812
|
rowHeightRefMap: props.rowHeightRefMap })),
|
|
12890
|
-
Boolean(stickyFooterScrollbar) && (_(
|
|
12813
|
+
Boolean(stickyFooterScrollbar) && (_(FooterScrollbar, { isSticky: true, canvasWidth: canvasWidth, scrollerRef: this.footerScrollerRef })),
|
|
12814
|
+
_(Ruler, { widthRef: this.handleTotalWidth })));
|
|
12891
12815
|
}
|
|
12892
12816
|
// Lifecycle
|
|
12893
12817
|
// -----------------------------------------------------------------------------------------------
|
|
@@ -12942,7 +12866,7 @@ var FullCalendar = (function (exports) {
|
|
|
12942
12866
|
}
|
|
12943
12867
|
}
|
|
12944
12868
|
};
|
|
12945
|
-
this.handleScrollEnd = (
|
|
12869
|
+
this.handleScrollEnd = (isUser) => {
|
|
12946
12870
|
if (isUser) {
|
|
12947
12871
|
this.scrollDate = null;
|
|
12948
12872
|
}
|
|
@@ -13050,7 +12974,7 @@ var FullCalendar = (function (exports) {
|
|
|
13050
12974
|
return { start, end };
|
|
13051
12975
|
}
|
|
13052
12976
|
|
|
13053
|
-
var css_248z$3 = ":root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day.fc-day-today{background-color:var(--fc-today-bg-color)}.fc-daygrid-day-header{display:flex;flex-direction:row-reverse}.fc-day-other .fc-daygrid-day-header{opacity:.3}.fc-daygrid-day-number{padding:4px;position:relative}.fc-daygrid-month-start{font-size:1.1em;font-weight:700}.fc-daygrid-day-body{display:flex;flex-direction:column;margin-bottom:1px}.fc-daygrid-day-body-tall{margin-bottom:1em;min-height:2em}.fc-daygrid-day-body:only-child{margin-top:2px}.fc-daygrid-more-link{border-radius:3px;cursor:pointer;font-size:var(--fc-small-font-size);margin:0 2px 1px;max-width:100%;overflow:hidden;padding:2px;position:relative;white-space:nowrap}.fc-daygrid-more-link:hover{background-color:rgba(0,0,0,.1)}.fc-daygrid-more-link-button{align-self:flex-start}.fc-daygrid-more-link-block{border:1px solid var(--fc-event-border-color);padding:1px}.fc-daygrid-week-number{background-color:var(--fc-neutral-bg-color);color:var(--fc-neutral-text-color);min-width:1.5em;padding:2px;position:absolute;text-align:center;top:0}.fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-daygrid-event{border-radius:3px;font-size:var(--fc-small-font-size);margin-bottom:1px}.fc-
|
|
12977
|
+
var css_248z$3 = ":root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-row-print{min-height:6em}.fc-daygrid-day.fc-day-today{background-color:var(--fc-today-bg-color)}.fc-daygrid-day-header{display:flex;flex-direction:row-reverse}.fc-day-other .fc-daygrid-day-header{opacity:.3}.fc-daygrid-day-number{padding:4px;position:relative}.fc-daygrid-month-start{font-size:1.1em;font-weight:700}.fc-daygrid-day-body{display:flex;flex-direction:column;margin-bottom:1px}.fc-daygrid-day-body-tall{margin-bottom:1em;min-height:2em}.fc-daygrid-day-body:only-child{margin-top:2px}.fc-daygrid-more-link{border-radius:3px;cursor:pointer;font-size:var(--fc-small-font-size);margin:0 2px 1px;max-width:100%;overflow:hidden;padding:2px;position:relative;white-space:nowrap}.fc-daygrid-more-link:hover{background-color:rgba(0,0,0,.1)}.fc-daygrid-more-link-button{align-self:flex-start}.fc-daygrid-more-link-block{border:1px solid var(--fc-event-border-color);padding:1px}.fc-daygrid-week-number{background-color:var(--fc-neutral-bg-color);color:var(--fc-neutral-text-color);min-width:1.5em;padding:2px;position:absolute;text-align:center;top:0;z-index:1}.fc-direction-ltr .fc-daygrid-week-number{border-radius:0 0 3px}.fc-direction-rtl .fc-daygrid-week-number{border-radius:0 0 0 3px}.fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-daygrid-event{border-radius:3px;font-size:var(--fc-small-font-size);margin-bottom:1px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{align-items:center;direction:row;display:flex;padding:2px 0;position:relative}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-daygrid-event-dot{border:calc(var(--fc-daygrid-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-daygrid-event-dot-width)/2);box-sizing:content-box;height:0;margin:0 4px;width:0}.fc-daygrid-dot-event .fc-event-time,.fc-daygrid-dot-event .fc-event-title{overflow:hidden;white-space:nowrap}.fc-media-print .fc-daygrid-dot-event .fc-event-time,.fc-media-print .fc-daygrid-dot-event .fc-event-title{overflow:hidden!important;white-space:nowrap!important}.fc-daygrid-dot-event .fc-event-title{flex-basis:0;flex-grow:1;font-weight:700;min-height:0;min-width:0}";
|
|
13054
12978
|
injectStyles(css_248z$3);
|
|
13055
12979
|
|
|
13056
12980
|
var index$3 = createPlugin({
|
|
@@ -13230,7 +13154,7 @@ var FullCalendar = (function (exports) {
|
|
|
13230
13154
|
role: 'rowheader',
|
|
13231
13155
|
}, className: 'fc-timegrid-allday-label fc-timegrid-axis fc-cell fc-content-box', style: {
|
|
13232
13156
|
width: props.width,
|
|
13233
|
-
}, renderProps: renderProps, generatorName: "allDayContent", customGenerator: options.allDayContent, defaultGenerator: renderAllDayInner$1, classNameGenerator: options.allDayClassNames, didMount: options.allDayDidMount, willUnmount: options.allDayWillUnmount }, (InnerContent) => (_(InnerContent, { tag: "span", className: 'fc-timegrid-axis-inner fc-cell-inner fc-padding-sm', elRef: this.innerElRef }))));
|
|
13157
|
+
}, renderProps: renderProps, generatorName: "allDayContent", customGenerator: options.allDayContent, defaultGenerator: renderAllDayInner$1, classNameGenerator: options.allDayClassNames, didMount: options.allDayDidMount, willUnmount: options.allDayWillUnmount }, (InnerContent) => (_(InnerContent, { tag: "span", className: 'fc-timegrid-allday-label-inner fc-timegrid-axis-inner fc-cell-inner fc-padding-sm', elRef: this.innerElRef }))));
|
|
13234
13158
|
}
|
|
13235
13159
|
componentDidMount() {
|
|
13236
13160
|
const { props } = this;
|
|
@@ -13281,8 +13205,7 @@ var FullCalendar = (function (exports) {
|
|
|
13281
13205
|
start: cellStartDate,
|
|
13282
13206
|
end: cellEndDate,
|
|
13283
13207
|
}, allDay: true }, cell.dateSpanProps),
|
|
13284
|
-
|
|
13285
|
-
dayEl: getCellEl(this.rootEl, col),
|
|
13208
|
+
getDayEl: () => getCellEl(this.rootEl, col),
|
|
13286
13209
|
rect: {
|
|
13287
13210
|
left,
|
|
13288
13211
|
right,
|
|
@@ -13298,9 +13221,6 @@ var FullCalendar = (function (exports) {
|
|
|
13298
13221
|
let daySeries = new DaySeriesModel(dateProfile.renderRange, dateProfileGenerator);
|
|
13299
13222
|
return new DayTableModel(daySeries, false);
|
|
13300
13223
|
}
|
|
13301
|
-
/*
|
|
13302
|
-
TODO: move this so @fullcalendar/daygrid
|
|
13303
|
-
*/
|
|
13304
13224
|
function buildDayRanges(dayTableModel, dateProfile, dateEnv) {
|
|
13305
13225
|
let ranges = [];
|
|
13306
13226
|
for (let date of dayTableModel.headerDates) {
|
|
@@ -13575,6 +13495,7 @@ var FullCalendar = (function (exports) {
|
|
|
13575
13495
|
constructor() {
|
|
13576
13496
|
super(...arguments);
|
|
13577
13497
|
this.sortEventSegs = memoize(sortEventSegs);
|
|
13498
|
+
this.getDateMeta = memoize(getDateMeta);
|
|
13578
13499
|
}
|
|
13579
13500
|
render() {
|
|
13580
13501
|
let { props, context } = this;
|
|
@@ -13589,27 +13510,26 @@ var FullCalendar = (function (exports) {
|
|
|
13589
13510
|
(props.eventDrag && props.eventDrag.affectedInstances) ||
|
|
13590
13511
|
(props.eventResize && props.eventResize.affectedInstances) ||
|
|
13591
13512
|
{};
|
|
13592
|
-
|
|
13593
|
-
let dateMeta = getDateMeta(props.date, props.todayRange, null, props.dateProfile);
|
|
13513
|
+
let dateMeta = this.getDateMeta(props.date, props.todayRange, null, props.dateProfile);
|
|
13594
13514
|
const baseClassName = joinClassNames('fc-timegrid-day', props.borderStart && 'fc-border-s', props.width == null && 'fc-liquid', 'fc-flex-col fc-rel');
|
|
13515
|
+
const baseStyle = {
|
|
13516
|
+
width: props.width,
|
|
13517
|
+
zIndex: 1, // get above slots
|
|
13518
|
+
};
|
|
13595
13519
|
if (dateMeta.isDisabled) {
|
|
13596
|
-
return (_("div", { role: 'gridcell', "aria-disabled": true, className: joinClassNames(baseClassName, 'fc-day-disabled'), style:
|
|
13597
|
-
width: props.width
|
|
13598
|
-
} }));
|
|
13520
|
+
return (_("div", { role: 'gridcell', "aria-disabled": true, className: joinClassNames(baseClassName, 'fc-day-disabled'), style: baseStyle }));
|
|
13599
13521
|
}
|
|
13600
13522
|
let sortedFgSegs = this.sortEventSegs(props.fgEventSegs, options.eventOrder);
|
|
13601
|
-
return (_(DayCellContainer, { tag: "div", attrs: Object.assign(Object.assign({}, props.attrs), { role: 'gridcell' }), className: baseClassName, style:
|
|
13602
|
-
width: props.width
|
|
13603
|
-
}, date: props.date, dateMeta: dateMeta, renderProps: props.renderProps }, (InnerContent) => (_(k$1, null,
|
|
13523
|
+
return (_(DayCellContainer, { tag: "div", attrs: Object.assign(Object.assign({}, props.attrs), { role: 'gridcell' }), className: baseClassName, style: baseStyle, date: props.date, dateMeta: dateMeta, renderProps: props.renderProps }, (InnerContent) => (_(k$1, null,
|
|
13604
13524
|
this.renderFillSegs(props.businessHourSegs, 'non-business'),
|
|
13605
13525
|
this.renderFillSegs(props.bgEventSegs, 'bg-event'),
|
|
13606
13526
|
this.renderFillSegs(props.dateSelectionSegs, 'highlight'),
|
|
13607
|
-
hasCustomDayCellContent(options) && (_(InnerContent, { tag: "div", className: 'fc-timegrid-day-misc fc-
|
|
13527
|
+
hasCustomDayCellContent(options) && (_(InnerContent, { tag: "div", className: 'fc-timegrid-day-misc fc-fill-top' })),
|
|
13608
13528
|
_("div", { className: joinClassNames('fc-timegrid-day-events', (props.forPrint && simplifiedTimeGridPrint)
|
|
13609
13529
|
? 'fc-timegrid-day-events-simple'
|
|
13610
13530
|
: 'fc-fill') }, this.renderFgSegs(sortedFgSegs, interactionAffectedInstances, false, false, false)),
|
|
13611
13531
|
Boolean(mirrorSegs.length) && (
|
|
13612
|
-
// has
|
|
13532
|
+
// has natural z-index to be above other fg container,
|
|
13613
13533
|
// but only show it when there are actual mirror events, to avoid blocking clicks
|
|
13614
13534
|
_("div", { className: 'fc-timegrid-day-events fc-fill' }, this.renderFgSegs(mirrorSegs, {}, Boolean(props.eventDrag), Boolean(props.eventResize), Boolean(isSelectMirror), 'mirror'))),
|
|
13615
13535
|
this.renderNowIndicator(props.nowIndicatorSegs)))));
|
|
@@ -13640,7 +13560,7 @@ var FullCalendar = (function (exports) {
|
|
|
13640
13560
|
? this.computeSegHStyle(segRect)
|
|
13641
13561
|
: { left: 0, right: 0 };
|
|
13642
13562
|
let isVisible = isMirror || (segRect && !segIsInvisible[instanceId]);
|
|
13643
|
-
let isInset = segRect
|
|
13563
|
+
let isInset = segRect ? Boolean(segRect.stackDepth) : false;
|
|
13644
13564
|
return (_("div", {
|
|
13645
13565
|
// we would have used fc-fill, but multi-page spanning breaks in Firefox
|
|
13646
13566
|
// we would have used height:100%, but multi-page spanning breaks in Safari
|
|
@@ -13770,8 +13690,7 @@ var FullCalendar = (function (exports) {
|
|
|
13770
13690
|
return {
|
|
13771
13691
|
dateProfile,
|
|
13772
13692
|
dateSpan: Object.assign({ range: { start, end }, allDay: false }, cell.dateSpanProps),
|
|
13773
|
-
|
|
13774
|
-
dayEl: getCellEl(this.rootEl, col),
|
|
13693
|
+
getDayEl: () => getCellEl(this.rootEl, col),
|
|
13775
13694
|
rect: {
|
|
13776
13695
|
left,
|
|
13777
13696
|
right,
|
|
@@ -13813,9 +13732,20 @@ var FullCalendar = (function (exports) {
|
|
|
13813
13732
|
omitZeroMinute: true,
|
|
13814
13733
|
meridiem: 'short',
|
|
13815
13734
|
});
|
|
13735
|
+
function createRenderProps(date, time, labelFormat, dateEnv, viewApi) {
|
|
13736
|
+
return {
|
|
13737
|
+
level: 0,
|
|
13738
|
+
time: time,
|
|
13739
|
+
date: dateEnv.toDate(date),
|
|
13740
|
+
view: viewApi,
|
|
13741
|
+
text: dateEnv.format(date, labelFormat),
|
|
13742
|
+
};
|
|
13743
|
+
}
|
|
13816
13744
|
class TimeGridSlatLabel extends BaseComponent {
|
|
13817
13745
|
constructor() {
|
|
13818
13746
|
super(...arguments);
|
|
13747
|
+
// memo
|
|
13748
|
+
this.createRenderProps = memoize(createRenderProps);
|
|
13819
13749
|
// ref
|
|
13820
13750
|
this.innerElRef = m$1();
|
|
13821
13751
|
}
|
|
@@ -13824,22 +13754,14 @@ var FullCalendar = (function (exports) {
|
|
|
13824
13754
|
let { dateEnv, options, viewApi } = context;
|
|
13825
13755
|
let className = joinClassNames('fc-timegrid-slot-label fc-timegrid-axis fc-header-cell fc-cell', props.isLiquid ? 'fc-liquid' : 'fc-content-box');
|
|
13826
13756
|
if (!props.isLabeled) {
|
|
13827
|
-
return (_("div", {
|
|
13757
|
+
return (_("div", { className: className, style: { width: props.width } }));
|
|
13828
13758
|
}
|
|
13829
13759
|
let labelFormat = // TODO: fully pre-parse
|
|
13830
13760
|
options.slotLabelFormat == null ? DEFAULT_SLAT_LABEL_FORMAT :
|
|
13831
13761
|
Array.isArray(options.slotLabelFormat) ? createFormatter(options.slotLabelFormat[0]) :
|
|
13832
13762
|
createFormatter(options.slotLabelFormat);
|
|
13833
|
-
let renderProps =
|
|
13834
|
-
|
|
13835
|
-
time: props.time,
|
|
13836
|
-
date: dateEnv.toDate(props.date),
|
|
13837
|
-
view: viewApi,
|
|
13838
|
-
text: dateEnv.format(props.date, labelFormat),
|
|
13839
|
-
};
|
|
13840
|
-
return (_(ContentContainer, { tag: "div", attrs: {
|
|
13841
|
-
'data-time': props.isoTimeStr,
|
|
13842
|
-
}, className: className, style: { width: props.width }, renderProps: renderProps, generatorName: "slotLabelContent", customGenerator: options.slotLabelContent, defaultGenerator: renderInnerContent$1, classNameGenerator: options.slotLabelClassNames, didMount: options.slotLabelDidMount, willUnmount: options.slotLabelWillUnmount }, (InnerContent) => (_(InnerContent, { tag: "div", className: 'fc-timegrid-axis-inner fc-cell-inner fc-padding-sm', elRef: this.innerElRef }))));
|
|
13763
|
+
let renderProps = this.createRenderProps(props.date, props.time, labelFormat, dateEnv, viewApi);
|
|
13764
|
+
return (_(ContentContainer, { tag: "div", className: className, style: { width: props.width }, renderProps: renderProps, generatorName: "slotLabelContent", customGenerator: options.slotLabelContent, defaultGenerator: renderInnerContent$1, classNameGenerator: options.slotLabelClassNames, didMount: options.slotLabelDidMount, willUnmount: options.slotLabelWillUnmount }, (InnerContent) => (_(InnerContent, { tag: "div", className: 'fc-timegrid-axis-inner fc-cell-inner fc-padding-sm', elRef: this.innerElRef }))));
|
|
13843
13765
|
}
|
|
13844
13766
|
componentDidMount() {
|
|
13845
13767
|
const { props } = this;
|
|
@@ -13882,9 +13804,7 @@ var FullCalendar = (function (exports) {
|
|
|
13882
13804
|
};
|
|
13883
13805
|
return (_(ContentContainer, { tag: "div",
|
|
13884
13806
|
// TODO: have lane classNames like 'fc-timegrid-lane'/'fc-timegrid-slot-lane'/'fc-timegrid-slat-lane'
|
|
13885
|
-
className: joinClassNames('fc-cell fc-liquid', props.borderStart && 'fc-border-s'),
|
|
13886
|
-
'data-time': props.isoTimeStr,
|
|
13887
|
-
}, renderProps: renderProps, generatorName: "slotLaneContent", customGenerator: options.slotLaneContent, classNameGenerator: options.slotLaneClassNames, didMount: options.slotLaneDidMount, willUnmount: options.slotLaneWillUnmount }, (InnerContent) => (_(InnerContent, { tag: "div", className: 'fc-cell-inner', elRef: this.innerElRef }))));
|
|
13807
|
+
className: joinClassNames('fc-timegrid-slot-lane fc-cell fc-liquid', props.borderStart && 'fc-border-s'), renderProps: renderProps, generatorName: "slotLaneContent", customGenerator: options.slotLaneContent, classNameGenerator: options.slotLaneClassNames, didMount: options.slotLaneDidMount, willUnmount: options.slotLaneWillUnmount }, (InnerContent) => (_(InnerContent, { tag: "div", className: 'fc-cell-inner', elRef: this.innerElRef }))));
|
|
13888
13808
|
}
|
|
13889
13809
|
componentDidMount() {
|
|
13890
13810
|
const innerEl = this.innerElRef.current; // TODO: make dynamic with useEffect
|
|
@@ -13979,15 +13899,15 @@ var FullCalendar = (function (exports) {
|
|
|
13979
13899
|
this.axisScrollerRef = m$1();
|
|
13980
13900
|
// Sizing
|
|
13981
13901
|
// -----------------------------------------------------------------------------------------------
|
|
13902
|
+
this.handleTotalWidth = (totalWidth) => {
|
|
13903
|
+
this.setState({ totalWidth });
|
|
13904
|
+
};
|
|
13982
13905
|
this.handleClientWidth = (clientWidth) => {
|
|
13983
13906
|
this.setState({ clientWidth });
|
|
13984
13907
|
};
|
|
13985
13908
|
this.handleClientHeight = (clientHeight) => {
|
|
13986
13909
|
this.setState({ clientHeight });
|
|
13987
13910
|
};
|
|
13988
|
-
this.handleEndScrollbarWidth = (endScrollbarWidth) => {
|
|
13989
|
-
this.setState({ endScrollbarWidth });
|
|
13990
|
-
};
|
|
13991
13911
|
this.handleBottomScrollbarWidth = (bottomScrollbarWidth) => {
|
|
13992
13912
|
this.setState({ bottomScrollbarWidth });
|
|
13993
13913
|
};
|
|
@@ -14036,8 +13956,11 @@ var FullCalendar = (function (exports) {
|
|
|
14036
13956
|
render() {
|
|
14037
13957
|
const { props, state, context, headerLabelInnerWidthRefMap, headerLabelInnerHeightRefMap, headerMainInnerHeightRefMap, slatLabelInnerWidthRefMap, slatLabelInnerHeightRefMap, slatMainInnerHeightRefMap, } = this;
|
|
14038
13958
|
const { nowDate, headerTiers, forPrint } = props;
|
|
14039
|
-
const { axisWidth } = state;
|
|
13959
|
+
const { axisWidth, totalWidth, clientWidth, clientHeight, bottomScrollbarWidth } = state;
|
|
14040
13960
|
const { options } = context;
|
|
13961
|
+
const endScrollbarWidth = (totalWidth != null && clientWidth != null)
|
|
13962
|
+
? totalWidth - clientWidth
|
|
13963
|
+
: undefined;
|
|
14041
13964
|
const verticalScrolling = !forPrint && !getIsHeightAuto(options);
|
|
14042
13965
|
const stickyHeaderDates = !forPrint && getStickyHeaderDates(options);
|
|
14043
13966
|
const stickyFooterScrollbar = !forPrint && getStickyFooterScrollbar(options);
|
|
@@ -14045,26 +13968,25 @@ var FullCalendar = (function (exports) {
|
|
|
14045
13968
|
const simplePrint = forPrint && simplifiedTimeGridPrint;
|
|
14046
13969
|
const colCnt = props.cells.length;
|
|
14047
13970
|
// TODO: memo?
|
|
14048
|
-
const [canvasWidth, colWidth] = computeColWidth(colCnt, props.dayMinWidth,
|
|
13971
|
+
const [canvasWidth, colWidth] = computeColWidth(colCnt, props.dayMinWidth, clientWidth);
|
|
14049
13972
|
const slatCnt = props.slatMetas.length;
|
|
14050
13973
|
const [slatHeight, slatLiquid] = computeSlatHeight(// TODO: memo?
|
|
14051
|
-
verticalScrolling && options.expandRows, slatCnt, state.slatInnerHeight,
|
|
13974
|
+
verticalScrolling && options.expandRows, slatCnt, state.slatInnerHeight, clientHeight);
|
|
14052
13975
|
this.slatHeight = slatHeight;
|
|
14053
13976
|
// TODO: have computeSlatHeight return?
|
|
14054
13977
|
const totalSlatHeight = (slatHeight || 0) * slatCnt;
|
|
14055
13978
|
const forcedBodyHeight = absPrint ? totalSlatHeight : undefined;
|
|
14056
13979
|
const rowsNotExpanding = verticalScrolling && !options.expandRows &&
|
|
14057
|
-
|
|
13980
|
+
clientHeight != null && clientHeight > totalSlatHeight;
|
|
14058
13981
|
const firstBodyRowIndex = options.dayHeaders ? headerTiers.length + 1 : 1;
|
|
14059
13982
|
return (_(k$1, null,
|
|
14060
13983
|
options.dayHeaders && (_("div", { className: joinClassNames(
|
|
14061
13984
|
// see note in TimeGridLayout about why we don't do fc-print-header
|
|
14062
13985
|
'fc-timegrid-header fc-flex-row fc-border-b', stickyHeaderDates && 'fc-table-header-sticky') },
|
|
14063
|
-
_("div", { role: 'rowgroup', className: 'fc-content-box', style: { width: axisWidth } }, headerTiers.map((
|
|
14064
|
-
_(TimeGridWeekNumber, { dateProfile: props.dateProfile, innerWidthRef: headerLabelInnerWidthRefMap.createRef(tierNum), innerHeightRef: headerLabelInnerHeightRefMap.createRef(tierNum), width: undefined, isLiquid: true })) : (_(TimeGridAxisEmpty, { width: undefined, isLiquid: true })))))),
|
|
13986
|
+
_("div", { role: 'rowgroup', className: 'fc-content-box', style: { width: axisWidth } }, headerTiers.map((rowConfig, tierNum) => (_("div", { key: tierNum, role: 'row', "aria-rowindex": tierNum + 1, className: joinClassNames('fc-flex-row fc-content-box', tierNum && 'fc-border-t'), style: { height: state.headerTierHeights[tierNum] } }, (options.weekNumbers && rowConfig.isDateRow) ? (_(TimeGridWeekNumber, { dateProfile: props.dateProfile, innerWidthRef: headerLabelInnerWidthRefMap.createRef(tierNum), innerHeightRef: headerLabelInnerHeightRefMap.createRef(tierNum), width: undefined, isLiquid: true })) : (_(TimeGridAxisEmpty, { width: undefined, isLiquid: true })))))),
|
|
14065
13987
|
_(Scroller, { horizontal: true, hideScrollbars: true, className: 'fc-flex-row fc-border-s fc-liquid', ref: this.headerScrollerRef },
|
|
14066
13988
|
_("div", { role: 'rowgroup', className: canvasWidth == null ? 'fc-liquid' : '', style: { width: canvasWidth } }, props.headerTiers.map((rowConfig, tierNum) => (_(DayGridHeaderRow, Object.assign({}, rowConfig, { key: tierNum, role: 'row', rowIndex: tierNum, className: tierNum ? 'fc-border-t' : '', height: state.headerTierHeights[tierNum], colWidth: colWidth, innerHeightRef: headerMainInnerHeightRefMap.createRef(tierNum) }))))),
|
|
14067
|
-
Boolean(
|
|
13989
|
+
Boolean(endScrollbarWidth) && (_("div", { className: 'fc-border-s fc-filler', style: { minWidth: endScrollbarWidth } }))))),
|
|
14068
13990
|
_("div", { role: 'rowgroup', className: joinClassNames('fc-flex-col', verticalScrolling && 'fc-liquid') },
|
|
14069
13991
|
options.allDaySlot && (_(k$1, null,
|
|
14070
13992
|
_("div", { role: 'row', "aria-rowindex": firstBodyRowIndex, className: 'fc-timegrid-allday fc-flex-row' },
|
|
@@ -14072,35 +13994,39 @@ var FullCalendar = (function (exports) {
|
|
|
14072
13994
|
_(Scroller, { horizontal: true, hideScrollbars: true, className: 'fc-border-s fc-flex-row fc-liquid' // fill remaining width
|
|
14073
13995
|
, ref: this.allDayScrollerRef },
|
|
14074
13996
|
_("div", { className: 'fc-flex-col', style: { width: canvasWidth } },
|
|
14075
|
-
_(TimeGridAllDayLane, { dateProfile: props.dateProfile, todayRange: props.todayRange, cells: props.cells, showDayNumbers: false, forPrint: forPrint, isHitComboAllowed: props.isHitComboAllowed, isCompact:
|
|
13997
|
+
_(TimeGridAllDayLane, { dateProfile: props.dateProfile, todayRange: props.todayRange, cells: props.cells, showDayNumbers: false, forPrint: forPrint, isHitComboAllowed: props.isHitComboAllowed, isCompact: computeRowIsCompact(clientWidth, options),
|
|
14076
13998
|
// content
|
|
14077
13999
|
fgEventSegs: props.fgEventSegs, bgEventSegs: props.bgEventSegs, businessHourSegs: props.businessHourSegs, dateSelectionSegs: props.dateSelectionSegs, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows,
|
|
14078
14000
|
// dimensions
|
|
14079
14001
|
colWidth: colWidth })),
|
|
14080
|
-
Boolean(
|
|
14002
|
+
Boolean(endScrollbarWidth) && (_("div", { className: 'fc-border-s fc-filler', style: { minWidth: endScrollbarWidth } })))),
|
|
14081
14003
|
_("div", { className: 'fc-rowdivider' }))),
|
|
14082
|
-
_("div", { role: 'row', "aria-rowindex": firstBodyRowIndex + (options.allDaySlot ? 1 : 0), className: joinClassNames('fc-timegrid-body fc-flex-row', // TODO: rename away from "body"? (because we have another "body" div above)
|
|
14004
|
+
_("div", { role: 'row', "aria-rowindex": firstBodyRowIndex + (options.allDaySlot ? 1 : 0), className: joinClassNames('fc-timegrid-body fc-flex-row fc-rel', // TODO: rename away from "body"? (because we have another "body" div above)
|
|
14005
|
+
// fc-rel for Ruler.fc-fill-start
|
|
14083
14006
|
verticalScrolling && 'fc-liquid') },
|
|
14084
14007
|
_(Scroller, { vertical: verticalScrolling, hideScrollbars: true, className: 'fc-flex-col fc-content-box', style: {
|
|
14085
14008
|
width: axisWidth,
|
|
14086
14009
|
}, ref: this.axisScrollerRef }, !simplePrint && (_(k$1, null,
|
|
14087
|
-
_("div", { role: 'rowheader', "aria-label": options.timedText,
|
|
14010
|
+
_("div", { role: 'rowheader', "aria-label": options.timedText,
|
|
14011
|
+
// fc-rel is for absPrint AND TimeGridNowIndicatorArrow
|
|
14012
|
+
className: 'fc-flex-col fc-grow fc-rel', style: {
|
|
14088
14013
|
height: forcedBodyHeight,
|
|
14089
14014
|
} },
|
|
14090
|
-
_("div", { "aria-hidden": true, className: joinClassNames('fc-timegrid-slots-axis fc-flex-col', (verticalScrolling && options.expandRows) && 'fc-grow', absPrint && 'fc-fill-x') }, props.slatMetas.map((slatMeta, slatI) => (_("div", { key: slatMeta.key, className: joinClassNames(...getSlatRowClassNames(slatMeta), slatI && 'fc-border-t', slatLiquid && 'fc-liquid'), style: {
|
|
14015
|
+
_("div", { "aria-hidden": true, className: joinClassNames('fc-timegrid-slots-axis fc-flex-col', (verticalScrolling && options.expandRows) && 'fc-grow', absPrint && 'fc-fill-x') }, props.slatMetas.map((slatMeta, slatI) => (_("div", { key: slatMeta.key, "data-time": slatMeta.isoTimeStr, className: joinClassNames(...getSlatRowClassNames(slatMeta), slatI && 'fc-border-t', slatLiquid && 'fc-liquid'), style: {
|
|
14091
14016
|
height: slatLiquid ? '' : slatHeight
|
|
14092
14017
|
} },
|
|
14093
|
-
_(TimeGridSlatLabel, Object.assign({}, slatMeta
|
|
14018
|
+
_(TimeGridSlatLabel, Object.assign({}, slatMeta /* FYI doesn't need isoTimeStr */, { isLiquid: true, innerWidthRef: slatLabelInnerWidthRefMap.createRef(slatMeta.key), innerHeightRef: slatLabelInnerHeightRefMap.createRef(slatMeta.key) })))))),
|
|
14094
14019
|
options.nowIndicator && rangeContainsMarker(props.dateProfile.currentRange, nowDate) && (_(TimeGridNowIndicatorArrow, { nowDate: nowDate, dateProfile: props.dateProfile, totalHeight: slatHeight != null ? slatHeight * slatCnt : undefined })),
|
|
14095
|
-
Boolean(rowsNotExpanding ||
|
|
14096
|
-
minHeight:
|
|
14020
|
+
Boolean(rowsNotExpanding || bottomScrollbarWidth) && (_("div", { class: joinClassNames('fc-border-t fc-filler', rowsNotExpanding && 'fc-liquid'), style: {
|
|
14021
|
+
minHeight: bottomScrollbarWidth
|
|
14097
14022
|
} })))))),
|
|
14098
14023
|
_("div", {
|
|
14099
14024
|
// we need this div because it's bad for Scroller to have left/right borders,
|
|
14100
|
-
// AND because we need to containt the
|
|
14025
|
+
// AND because we need to containt the FooterScrollbar
|
|
14101
14026
|
className: 'fc-border-s fc-flex-col fc-liquid' },
|
|
14102
14027
|
_(Scroller, { vertical: verticalScrolling, horizontal: true, hideScrollbars: stickyFooterScrollbar || // also means height:auto, so won't need vertical scrollbars anyway
|
|
14103
|
-
forPrint, className: joinClassNames('fc-flex-col
|
|
14028
|
+
forPrint, className: joinClassNames('fc-flex-col fc-rel', // fc-rel for Ruler.fc-fill-start
|
|
14029
|
+
verticalScrolling && 'fc-liquid'), ref: this.mainScrollerRef, clientWidthRef: this.handleClientWidth, clientHeightRef: this.handleClientHeight },
|
|
14104
14030
|
_("div", { className: 'fc-flex-col fc-grow fc-rel', style: {
|
|
14105
14031
|
width: canvasWidth,
|
|
14106
14032
|
height: forcedBodyHeight,
|
|
@@ -14111,12 +14037,13 @@ var FullCalendar = (function (exports) {
|
|
|
14111
14037
|
// dimensions
|
|
14112
14038
|
colWidth: colWidth, slatHeight: slatHeight }),
|
|
14113
14039
|
!simplePrint && (_(k$1, null,
|
|
14114
|
-
_("div", { "aria-hidden": true, className: joinClassNames('fc-timegrid-slots fc-flex-col', (verticalScrolling && options.expandRows) && 'fc-grow', absPrint ? 'fc-fill-x' : 'fc-rel') }, props.slatMetas.map((slatMeta, slatI) => (_("div", { key: slatMeta.key, className: joinClassNames(...getSlatRowClassNames(slatMeta), slatI && 'fc-border-t', slatLiquid && 'fc-liquid'), style: {
|
|
14040
|
+
_("div", { "aria-hidden": true, className: joinClassNames('fc-timegrid-slots fc-flex-col', (verticalScrolling && options.expandRows) && 'fc-grow', absPrint ? 'fc-fill-x' : 'fc-rel') }, props.slatMetas.map((slatMeta, slatI) => (_("div", { key: slatMeta.key, "data-time": slatMeta.isoTimeStr, className: joinClassNames(...getSlatRowClassNames(slatMeta), slatI && 'fc-border-t', slatLiquid && 'fc-liquid'), style: {
|
|
14115
14041
|
height: slatLiquid ? '' : slatHeight
|
|
14116
14042
|
} },
|
|
14117
|
-
_(TimeGridSlatLane, Object.assign({}, slatMeta
|
|
14043
|
+
_(TimeGridSlatLane, Object.assign({}, slatMeta /* FYI doesn't need isoTimeStr */, { innerHeightRef: slatMainInnerHeightRefMap.createRef(slatMeta.key) })))))),
|
|
14118
14044
|
rowsNotExpanding && (_("div", { class: 'fc-liquid fc-border-t fc-filler' })))))),
|
|
14119
|
-
Boolean(stickyFooterScrollbar) && (_(
|
|
14045
|
+
Boolean(stickyFooterScrollbar) && (_(FooterScrollbar, { isSticky: true, canvasWidth: canvasWidth, scrollerRef: this.footScrollerRef, scrollbarWidthRef: this.handleBottomScrollbarWidth }))))),
|
|
14046
|
+
_(Ruler, { widthRef: this.handleTotalWidth })));
|
|
14120
14047
|
}
|
|
14121
14048
|
// Lifecycle
|
|
14122
14049
|
// -----------------------------------------------------------------------------------------------
|
|
@@ -14130,6 +14057,7 @@ var FullCalendar = (function (exports) {
|
|
|
14130
14057
|
}
|
|
14131
14058
|
componentWillUnmount() {
|
|
14132
14059
|
this.destroyScrollers();
|
|
14060
|
+
setRef(this.props.slatHeightRef, null);
|
|
14133
14061
|
}
|
|
14134
14062
|
updateSlatHeight() {
|
|
14135
14063
|
if (this.prevSlatHeight !== this.slatHeight) {
|
|
@@ -14175,6 +14103,10 @@ var FullCalendar = (function (exports) {
|
|
|
14175
14103
|
this.allDayLabelInnerWidth = width;
|
|
14176
14104
|
afterSize(this.handleAxisInnerWidths);
|
|
14177
14105
|
};
|
|
14106
|
+
this.handleWeekNumberInnerWidth = (width) => {
|
|
14107
|
+
this.weekNumberInnerWidth = width;
|
|
14108
|
+
afterSize(this.handleAxisInnerWidths);
|
|
14109
|
+
};
|
|
14178
14110
|
this.slatLabelInnerWidthRefMap = new RefMap(() => {
|
|
14179
14111
|
afterSize(this.handleAxisInnerWidths);
|
|
14180
14112
|
});
|
|
@@ -14186,19 +14118,25 @@ var FullCalendar = (function (exports) {
|
|
|
14186
14118
|
});
|
|
14187
14119
|
// Sizing
|
|
14188
14120
|
// -----------------------------------------------------------------------------------------------
|
|
14121
|
+
this.handleTotalWidth = (totalWidth) => {
|
|
14122
|
+
// Must delay the rerender because might change the width of the all-day DayGridRow events,
|
|
14123
|
+
// which shows a ResizeObserver loop warning
|
|
14124
|
+
requestAnimationFrame(() => {
|
|
14125
|
+
this.setState({ totalWidth });
|
|
14126
|
+
});
|
|
14127
|
+
};
|
|
14189
14128
|
this.handleClientWidth = (clientWidth) => {
|
|
14190
14129
|
this.setState({ clientWidth });
|
|
14191
14130
|
};
|
|
14192
14131
|
this.handleClientHeight = (clientHeight) => {
|
|
14193
14132
|
this.setState({ clientHeight });
|
|
14194
14133
|
};
|
|
14195
|
-
this.handleEndScrollbarWidth = (endScrollbarWidth) => {
|
|
14196
|
-
this.setState({ endScrollbarWidth });
|
|
14197
|
-
};
|
|
14198
14134
|
this.handleAxisInnerWidths = () => {
|
|
14199
14135
|
const headerLabelInnerWidthMap = this.headerLabelInnerWidthRefMap.current;
|
|
14200
14136
|
const slatLabelInnerWidthMap = this.slatLabelInnerWidthRefMap.current;
|
|
14201
|
-
let max = this.
|
|
14137
|
+
let max = Math.max(this.weekNumberInnerWidth || 0, // might not exist
|
|
14138
|
+
this.allDayLabelInnerWidth || 0 // guard against all-day slot hidden
|
|
14139
|
+
);
|
|
14202
14140
|
for (const headerLabelInnerWidth of headerLabelInnerWidthMap.values()) {
|
|
14203
14141
|
max = Math.max(max, headerLabelInnerWidth);
|
|
14204
14142
|
}
|
|
@@ -14227,8 +14165,11 @@ var FullCalendar = (function (exports) {
|
|
|
14227
14165
|
render() {
|
|
14228
14166
|
const { props, state, context, slatLabelInnerWidthRefMap, slatLabelInnerHeightRefMap, slatInnerMainHeightRefMap, headerLabelInnerWidthRefMap } = this;
|
|
14229
14167
|
const { nowDate, forPrint } = props;
|
|
14230
|
-
const { axisWidth } = state;
|
|
14168
|
+
const { axisWidth, clientWidth, totalWidth } = state;
|
|
14231
14169
|
const { options } = context;
|
|
14170
|
+
const endScrollbarWidth = (totalWidth != null && clientWidth != null)
|
|
14171
|
+
? totalWidth - clientWidth
|
|
14172
|
+
: undefined;
|
|
14232
14173
|
const verticalScrolling = !forPrint && !getIsHeightAuto(options);
|
|
14233
14174
|
const stickyHeaderDates = !forPrint && getStickyHeaderDates(options);
|
|
14234
14175
|
const slatCnt = props.slatMetas.length;
|
|
@@ -14250,20 +14191,20 @@ var FullCalendar = (function (exports) {
|
|
|
14250
14191
|
options.dayHeaders && (_("div", { role: 'rowgroup', className: joinClassNames(
|
|
14251
14192
|
// see note in TimeGridLayout about why we don't do fc-print-header
|
|
14252
14193
|
'fc-timegrid-header fc-flex-col fc-border-b', stickyHeaderDates && 'fc-table-header-sticky') }, props.headerTiers.map((rowConfig, tierNum) => (_("div", { key: tierNum, role: 'row', className: joinClassNames('fc-flex-row', tierNum && 'fc-border-t') },
|
|
14253
|
-
(options.weekNumbers &&
|
|
14254
|
-
_(TimeGridWeekNumber, { dateProfile: props.dateProfile, innerHeightRef: headerLabelInnerWidthRefMap.createRef(tierNum), width: axisWidth, isLiquid: false })) : (_(TimeGridAxisEmpty, { width: axisWidth, isLiquid: false })),
|
|
14194
|
+
(options.weekNumbers && rowConfig.isDateRow) ? (_(TimeGridWeekNumber, { dateProfile: props.dateProfile, innerWidthRef: this.handleWeekNumberInnerWidth, innerHeightRef: headerLabelInnerWidthRefMap.createRef(tierNum), width: axisWidth, isLiquid: false })) : (_(TimeGridAxisEmpty, { width: axisWidth, isLiquid: false })),
|
|
14255
14195
|
_(DayGridHeaderRow, Object.assign({}, rowConfig, { className: 'fc-border-s fc-liquid' })),
|
|
14256
|
-
Boolean(
|
|
14196
|
+
Boolean(endScrollbarWidth) && (_("div", { className: 'fc-border-s fc-filler', style: { minWidth: endScrollbarWidth } }))))))),
|
|
14257
14197
|
_("div", { role: 'rowgroup', className: joinClassNames('fc-flex-col', verticalScrolling && 'fc-liquid') },
|
|
14258
14198
|
options.allDaySlot && (_(k$1, null,
|
|
14259
14199
|
_("div", { role: 'row', className: 'fc-timegrid-allday fc-flex-row' },
|
|
14260
14200
|
_(TimeGridAllDayLabel, { width: axisWidth, innerWidthRef: this.handleAllDayLabelInnerWidth }),
|
|
14261
|
-
_(TimeGridAllDayLane, { dateProfile: props.dateProfile, todayRange: props.todayRange, cells: props.cells, showDayNumbers: false, forPrint: forPrint, isHitComboAllowed: props.isHitComboAllowed, className: 'fc-border-s fc-liquid', isCompact:
|
|
14201
|
+
_(TimeGridAllDayLane, { dateProfile: props.dateProfile, todayRange: props.todayRange, cells: props.cells, showDayNumbers: false, forPrint: forPrint, isHitComboAllowed: props.isHitComboAllowed, className: 'fc-border-s fc-liquid', isCompact: computeRowIsCompact(clientWidth, options),
|
|
14262
14202
|
// content
|
|
14263
14203
|
fgEventSegs: props.fgEventSegs, bgEventSegs: props.bgEventSegs, businessHourSegs: props.businessHourSegs, dateSelectionSegs: props.dateSelectionSegs, eventDrag: props.eventDrag, eventResize: props.eventResize, eventSelection: props.eventSelection, dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows }),
|
|
14264
|
-
Boolean(
|
|
14204
|
+
Boolean(endScrollbarWidth) && (_("div", { className: 'fc-border-s fc-filler', style: { minWidth: endScrollbarWidth } }))),
|
|
14265
14205
|
_("div", { className: 'fc-rowdivider' }))),
|
|
14266
|
-
_(Scroller, { vertical: verticalScrolling, className: joinClassNames('fc-timegrid-body fc-flex-col
|
|
14206
|
+
_(Scroller, { vertical: verticalScrolling, className: joinClassNames('fc-timegrid-body fc-flex-col fc-rel', // fc-rel for Ruler.fc-fill-start
|
|
14207
|
+
verticalScrolling && 'fc-liquid'), ref: props.timeScrollerRef, clientWidthRef: this.handleClientWidth, clientHeightRef: this.handleClientHeight },
|
|
14267
14208
|
_("div", { className: 'fc-flex-col fc-grow fc-rel', style: {
|
|
14268
14209
|
// in print mode, this div creates the height and everything is absolutely positioned within
|
|
14269
14210
|
// we need to do this so that slats positioning synces with events's positioning
|
|
@@ -14280,13 +14221,14 @@ var FullCalendar = (function (exports) {
|
|
|
14280
14221
|
!simplePrint && (_(k$1, null,
|
|
14281
14222
|
_("div", { "aria-hidden": true, className: joinClassNames('fc-timegrid-slots fc-flex-col', (verticalScrolling && options.expandRows) && 'fc-grow', absPrint
|
|
14282
14223
|
? 'fc-fill-x' // will assume top:0, height will be decided naturally
|
|
14283
|
-
: 'fc-rel') }, props.slatMetas.map((slatMeta, slatI) => (_("div", { key: slatMeta.key, className: joinClassNames(...getSlatRowClassNames(slatMeta), slatI && 'fc-border-t', slatLiquid && 'fc-liquid'), style: {
|
|
14224
|
+
: 'fc-rel') }, props.slatMetas.map((slatMeta, slatI) => (_("div", { key: slatMeta.key, "data-time": slatMeta.isoTimeStr, className: joinClassNames(...getSlatRowClassNames(slatMeta), slatI && 'fc-border-t', slatLiquid && 'fc-liquid'), style: {
|
|
14284
14225
|
height: slatLiquid ? '' : slatHeight
|
|
14285
14226
|
} },
|
|
14286
|
-
_(TimeGridSlatLabel, Object.assign({}, slatMeta
|
|
14287
|
-
_(TimeGridSlatLane, Object.assign({}, slatMeta
|
|
14227
|
+
_(TimeGridSlatLabel, Object.assign({}, slatMeta /* FYI doesn't need isoTimeStr */, { innerWidthRef: slatLabelInnerWidthRefMap.createRef(slatMeta.key), innerHeightRef: slatLabelInnerHeightRefMap.createRef(slatMeta.key), width: axisWidth })),
|
|
14228
|
+
_(TimeGridSlatLane, Object.assign({}, slatMeta /* FYI doesn't need isoTimeStr */, { borderStart: true, innerHeightRef: slatInnerMainHeightRefMap.createRef(slatMeta.key) })))))),
|
|
14288
14229
|
rowsNotExpanding && (_("div", { class: 'fc-liquid fc-border-t fc-filler' })),
|
|
14289
|
-
options.nowIndicator && rangeContainsMarker(props.dateProfile.currentRange, nowDate) && (_(TimeGridNowIndicatorArrow, { nowDate: nowDate, dateProfile: props.dateProfile, totalHeight: slatHeight != null ? slatHeight * slatCnt : undefined })))))))
|
|
14230
|
+
options.nowIndicator && rangeContainsMarker(props.dateProfile.currentRange, nowDate) && (_(TimeGridNowIndicatorArrow, { nowDate: nowDate, dateProfile: props.dateProfile, totalHeight: slatHeight != null ? slatHeight * slatCnt : undefined }))))))),
|
|
14231
|
+
_(Ruler, { widthRef: this.handleTotalWidth })));
|
|
14290
14232
|
}
|
|
14291
14233
|
// Lifecycle
|
|
14292
14234
|
// -----------------------------------------------------------------------------------------------
|
|
@@ -14296,6 +14238,9 @@ var FullCalendar = (function (exports) {
|
|
|
14296
14238
|
componentDidUpdate() {
|
|
14297
14239
|
this.updateSlatHeight();
|
|
14298
14240
|
}
|
|
14241
|
+
componentWillUnmount() {
|
|
14242
|
+
setRef(this.props.slatHeightRef, null);
|
|
14243
|
+
}
|
|
14299
14244
|
updateSlatHeight() {
|
|
14300
14245
|
if (this.prevSlatHeight !== this.slatHeight) {
|
|
14301
14246
|
setRef(this.props.slatHeightRef, this.prevSlatHeight = this.slatHeight);
|
|
@@ -14316,7 +14261,9 @@ var FullCalendar = (function (exports) {
|
|
|
14316
14261
|
// -----------------------------------------------------------------------------------------------
|
|
14317
14262
|
this.handleSlatHeight = (slatHeight) => {
|
|
14318
14263
|
this.slatHeight = slatHeight;
|
|
14319
|
-
|
|
14264
|
+
if (slatHeight != null) {
|
|
14265
|
+
afterSize(this.applyTimeScroll);
|
|
14266
|
+
}
|
|
14320
14267
|
};
|
|
14321
14268
|
this.handleTimeScrollRequest = (scrollTime) => {
|
|
14322
14269
|
this.scrollState.time = scrollTime;
|
|
@@ -14326,8 +14273,9 @@ var FullCalendar = (function (exports) {
|
|
|
14326
14273
|
/*
|
|
14327
14274
|
Captures current values
|
|
14328
14275
|
*/
|
|
14329
|
-
this.handleTimeScrollEnd = (
|
|
14276
|
+
this.handleTimeScrollEnd = (isUser) => {
|
|
14330
14277
|
if (isUser) {
|
|
14278
|
+
const y = this.timeScrollerRef.current.y;
|
|
14331
14279
|
// record, but only if not forPrint, which could give bogus values in the case of
|
|
14332
14280
|
// TimeGridLayoutPannable, which kills y-scrolling, but retains x-scrolling,
|
|
14333
14281
|
// which reports as a 0 y-scroll.
|
|
@@ -14348,8 +14296,7 @@ var FullCalendar = (function (exports) {
|
|
|
14348
14296
|
// and the timeScroller might not exist
|
|
14349
14297
|
timeScroller) {
|
|
14350
14298
|
y = computeTimeTopFrac(time, this.props.dateProfile)
|
|
14351
|
-
* (slatHeight * this.currentSlatCnt)
|
|
14352
|
-
+ 1; // overcome border
|
|
14299
|
+
* (slatHeight * this.currentSlatCnt);
|
|
14353
14300
|
if (y) {
|
|
14354
14301
|
y++; // overcome top border
|
|
14355
14302
|
}
|
|
@@ -14486,7 +14433,7 @@ var FullCalendar = (function (exports) {
|
|
|
14486
14433
|
}
|
|
14487
14434
|
}
|
|
14488
14435
|
|
|
14489
|
-
var css_248z$2 = ".fc-v-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:flex;flex-direction:column}.fc-v-event.fc-event-mirror{z-index:
|
|
14436
|
+
var css_248z$2 = ".fc-v-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:flex;flex-direction:column}.fc-v-event.fc-event-mirror{z-index:1}.fc-v-event:not(.fc-event-start){border-top-left-radius:0;border-top-right-radius:0;border-top-width:0}.fc-v-event:not(.fc-event-end){border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-width:0}.fc-v-event.fc-event-selected:before{left:-10px;right:-10px}.fc-v-event .fc-event-inner{color:var(--fc-event-text-color);display:flex;flex-direction:column;flex-grow:1;min-height:0}.fc-v-event .fc-event-time{flex-shrink:0;white-space:nowrap}.fc-v-event .fc-event-time,.fc-v-event .fc-event-title{overflow:hidden}.fc-v-event .fc-event-title-outer{display:flex;flex-direction:column;flex-grow:1;min-height:0}.fc-v-event .fc-event-title{bottom:0;position:sticky;top:0}.fc-v-event .fc-event-resizer-start{cursor:n-resize}.fc-v-event .fc-event-resizer-end{cursor:s-resize}.fc-v-event:not(.fc-event-selected) .fc-event-resizer{height:var(--fc-event-resizer-thickness);left:0;right:0}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start{top:calc(var(--fc-event-resizer-thickness)/-2)}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end{bottom:calc(var(--fc-event-resizer-thickness)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer{left:50%;margin-left:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-start{top:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-end{bottom:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc-timegrid-slot-minor{border-style:dotted}.fc-timegrid-axis{align-items:flex-end}.fc-timegrid-axis,.fc-timegrid-axis-inner{display:flex;flex-direction:column;justify-content:center}.fc-timegrid-axis-inner{min-height:1.5em}.fc-direction-ltr .fc-timegrid-axis-inner{text-align:right}.fc-direction-rtl .fc-timegrid-axis-inner{text-align:left}.fc-timegrid-allday-label-inner{white-space:pre}.fc-timegrid-day.fc-day-today{background-color:var(--fc-today-bg-color)}.fc-direction-ltr .fc-timegrid-day-events{margin:0 2.5% 0 2px}.fc-direction-rtl .fc-timegrid-day-events{margin:0 2px 0 2.5%}.fc-timegrid-day-events.fc-timegrid-day-events-simple{margin:4px}.fc-timegrid-event{border-radius:3px;font-size:var(--fc-small-font-size);position:relative}.fc-timegrid-event-inset,.fc-timegrid-event.fc-event-mirror{box-shadow:0 0 0 1px var(--fc-page-bg-color)}.fc-timegrid-event.fc-event-end{margin-bottom:1px}.fc-timegrid-event .fc-event-inner{padding:1px 1px 0}.fc-timegrid-event-short .fc-event-inner{flex-direction:row;overflow:hidden}.fc-timegrid-event .fc-event-time{font-size:var(--fc-small-font-size);margin-bottom:1px;white-space:nowrap}.fc-timegrid-event-short .fc-event-time:after{content:\"\\00a0-\\00a0\"}.fc-timegrid-event-short .fc-event-title-outer{flex-basis:0;flex-grow:1;min-height:0;min-width:0}.fc-timegrid-event-short .fc-event-title,.fc-timegrid-more-link{font-size:var(--fc-small-font-size)}.fc-timegrid-more-link{background:var(--fc-more-link-bg-color);border-radius:3px;box-shadow:0 0 0 1px var(--fc-page-bg-color);color:var(--fc-more-link-text-color);cursor:pointer;margin-bottom:1px;z-index:9999}.fc-direction-ltr .fc-timegrid-more-link{right:0}.fc-direction-rtl .fc-timegrid-more-link{left:0}.fc-timegrid-more-link-inner{padding:3px 2px}.fc-timegrid-now-indicator-container{bottom:0;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;z-index:2}.fc-timegrid-now-indicator-arrow{border-color:var(--fc-now-indicator-color);border-bottom:5px solid transparent;border-left-style:solid;border-left-width:6px;border-right-style:solid;border-right-width:6px;border-top:5px solid transparent;height:0;margin-top:-5px;position:absolute;width:0}.fc-direction-ltr .fc-timegrid-now-indicator-arrow{border-right:0;left:0}.fc-direction-rtl .fc-timegrid-now-indicator-arrow{border-left:0;right:0}.fc-timegrid-now-indicator-line{border-top:1px solid var(--fc-now-indicator-color);left:0;position:absolute;right:0}";
|
|
14490
14437
|
injectStyles(css_248z$2);
|
|
14491
14438
|
|
|
14492
14439
|
const OPTION_REFINERS$2 = {
|
|
@@ -14570,7 +14517,7 @@ var FullCalendar = (function (exports) {
|
|
|
14570
14517
|
let { options } = context;
|
|
14571
14518
|
let timeFormat = options.eventTimeFormat || DEFAULT_TIME_FORMAT;
|
|
14572
14519
|
let [tag, attrs] = getEventTagAndAttrs(eventRange, context);
|
|
14573
|
-
return (_(EventContainer, Object.assign({}, props, { tag: tag, attrs: Object.assign({ role: 'listitem' }, attrs), className: 'fc-list-event', defaultGenerator: renderEventTitleOnly,
|
|
14520
|
+
return (_(EventContainer, Object.assign({}, props, { tag: tag, attrs: Object.assign({ role: 'listitem' }, attrs), className: 'fc-list-event', defaultGenerator: renderEventTitleOnly, timeText: "", disableDragging: true, disableResizing: true }), (InnerContent, eventContentArg) => (_(k$1, null,
|
|
14574
14521
|
_("div", { className: 'fc-list-event-time-outer', style: { width: props.timeOuterWidth } }, this.buildTimeContent(eventRange, props.slicedStart, props.slicedEnd, props.isStart, props.isEnd, timeFormat, context)),
|
|
14575
14522
|
_("div", { className: "fc-list-event-dot-outer" },
|
|
14576
14523
|
_("span", { className: "fc-list-event-dot", style: {
|
|
@@ -14778,7 +14725,7 @@ var FullCalendar = (function (exports) {
|
|
|
14778
14725
|
return segsByDay;
|
|
14779
14726
|
}
|
|
14780
14727
|
|
|
14781
|
-
var css_248z$1 = ":root{--fc-list-event-dot-width:10px;--fc-list-event-hover-bg-color:#f5f5f5}.fc-list-day,.fc-list-event-dot-outer,.fc-list-event-time,.fc-list-event-title{padding:8px 14px}.fc-direction-ltr .fc-list-event-dot-outer{padding-right:0}.fc-direction-rtl .fc-list-event-dot-outer{padding-left:0}.fc-list-empty{align-items:center;background-color:var(--fc-neutral-bg-color);display:flex;height:100%;justify-content:center}.fc-list-empty-inner{margin:5em 0}.fc-list-day,.fc-list-
|
|
14728
|
+
var css_248z$1 = ":root{--fc-list-event-dot-width:10px;--fc-list-event-hover-bg-color:#f5f5f5}.fc-list-day,.fc-list-event-dot-outer,.fc-list-event-time,.fc-list-event-title{padding:8px 14px}.fc-direction-ltr .fc-list-event-dot-outer{padding-right:0}.fc-direction-rtl .fc-list-event-dot-outer{padding-left:0}.fc-list-empty{align-items:center;background-color:var(--fc-neutral-bg-color);display:flex;height:100%;justify-content:center}.fc-list-empty-inner{margin:5em 0}.fc-list-day,.fc-list-day-and-events:not(:last-child),.fc-list-event:not(:last-child){border-bottom:1px solid var(--fc-border-color)}.fc-list-day-outer-sticky{background:var(--fc-page-bg-color);position:sticky;top:0}.fc-list-day{background:var(--fc-neutral-bg-color);display:flex;font-weight:700;justify-content:space-between}.fc-list-event{display:flex;flex-direction:row}a.fc-list-event{color:inherit;text-decoration:none}.fc-list-event:hover{background-color:var(--fc-list-event-hover-bg-color)}.fc-list-event-time-outer{display:flex;flex-direction:row}.fc-list-event-dot-outer,.fc-list-event-time{white-space:nowrap}.fc-list-event-dot{border:calc(var(--fc-list-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-list-event-dot-width)/2);box-sizing:content-box;display:inline-block;height:0;width:0}a.fc-list-event:hover .fc-list-event-title{text-decoration:underline}";
|
|
14782
14729
|
injectStyles(css_248z$1);
|
|
14783
14730
|
|
|
14784
14731
|
const OPTION_REFINERS$1 = {
|
|
@@ -14863,7 +14810,10 @@ var FullCalendar = (function (exports) {
|
|
|
14863
14810
|
marginTop: isHeaderSticky ? fracToCssDim(-invRowAspectRatio) : undefined,
|
|
14864
14811
|
paddingBottom: isAspectRatio ? fracToCssDim(invAspectRatio) : undefined,
|
|
14865
14812
|
} },
|
|
14866
|
-
_(DayGridRows, { dateProfile: props.dateProfile, todayRange: props.todayRange, cellRows: dayTableModel.cellRows, className: isAspectRatio ? 'fc-fill' : '', forPrint: forPrint && !props.hasLateralSiblings,
|
|
14813
|
+
_(DayGridRows, { dateProfile: props.dateProfile, todayRange: props.todayRange, cellRows: dayTableModel.cellRows, className: isAspectRatio ? 'fc-fill' : '', forPrint: forPrint && !props.hasLateralSiblings, dayMaxEventRows: (forPrint && props.hasLateralSiblings)
|
|
14814
|
+
? 1 // for side-by-side multimonths, limit to one row
|
|
14815
|
+
: true // otherwise, always do +more link, never expand rows
|
|
14816
|
+
,
|
|
14867
14817
|
// content
|
|
14868
14818
|
fgEventSegs: slicedProps.fgEventSegs, bgEventSegs: slicedProps.bgEventSegs, businessHourSegs: slicedProps.businessHourSegs, dateSelectionSegs: slicedProps.dateSelectionSegs, eventDrag: slicedProps.eventDrag, eventResize: slicedProps.eventResize, eventSelection: slicedProps.eventSelection,
|
|
14869
14819
|
// dimensions
|
|
@@ -14881,7 +14831,7 @@ var FullCalendar = (function (exports) {
|
|
|
14881
14831
|
this.scrollerRef = m$1();
|
|
14882
14832
|
this.innerElRef = m$1(); // .fc-multimonth-inner
|
|
14883
14833
|
this.scrollDate = null;
|
|
14884
|
-
this.handleScrollEnd = (
|
|
14834
|
+
this.handleScrollEnd = (isUser) => {
|
|
14885
14835
|
if (isUser) {
|
|
14886
14836
|
this.scrollDate = null;
|
|
14887
14837
|
}
|
|
@@ -15039,7 +14989,7 @@ var FullCalendar = (function (exports) {
|
|
|
15039
14989
|
multiMonth: {
|
|
15040
14990
|
component: MultiMonthView,
|
|
15041
14991
|
dateProfileGeneratorClass: TableDateProfileGenerator,
|
|
15042
|
-
multiMonthMinWidth:
|
|
14992
|
+
multiMonthMinWidth: 375,
|
|
15043
14993
|
multiMonthMaxColumns: 3,
|
|
15044
14994
|
},
|
|
15045
14995
|
multiMonthYear: {
|