@fullcalendar/daygrid 7.0.0-beta.1 → 7.0.0-beta.3
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 +580 -621
- package/index.global.min.js +2 -2
- package/internal.cjs +614 -655
- package/internal.d.ts +130 -172
- package/internal.js +611 -653
- package/package.json +2 -2
package/index.global.min.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
FullCalendar Day Grid Plugin v7.0.0-beta.
|
|
2
|
+
FullCalendar Day Grid Plugin v7.0.0-beta.3
|
|
3
3
|
Docs & License: https://fullcalendar.io/docs/month-view
|
|
4
4
|
(c) 2024 Adam Shaw
|
|
5
5
|
*/
|
|
6
|
-
FullCalendar.DayGrid=function(e,t,r,n){"use strict";class i extends r.Slicer{constructor(){super(...arguments),this.forceDayIfListItem=!0}sliceRange(e,t){return t.sliceRange(e)}}function a(e){return e.text}function s(e,t){let n=new r.DaySeriesModel(e.renderRange,t);return new r.DayTableModel(n,/year|month|week/.test(e.currentRangeUnit))}function l(e,t,r){if(null==r)return[void 0,void 0];return r/e<t?[t*e,t]:[r,void 0]}function o(e,t){return[t?e.map(e=>({colSpan:1,date:e})):e.map(e=>({colSpan:1,dow:e.getUTCDay()}))]}function d(e,t,n,i){let a,s,l;if(null!=t)l=(e.lastCol-e.firstCol+1)*t,i?s=e.firstCol*t:a=e.firstCol*t;else{const t=1/n;l=r.fracToCssDim((e.lastCol-e.firstCol+1)*t),i?s=r.fracToCssDim(e.firstCol*t):a=r.fracToCssDim(e.firstCol*t)}return{left:a,right:s,width:l}}function c(e,t,r,n,i){const a=null!=r?r:t/n,s=Math.floor(e/a),l=s*a;return{col:i?n-s-1:s,left:l,right:l+a}}function h(e,t){return e.querySelectorAll(":scope > [role=row]")[t]}function g(e,t){return e.querySelectorAll(":scope > [role=gridcell]")[t]}class f extends r.BaseComponent{constructor(){super(...arguments),this.innerElRef=n.createRef()}render(){let{props:e,context:t}=this,{dateProfile:i,date:s,extraRenderProps:l,extraDataAttrs:o}=e,{dateEnv:d,options:c,theme:h,viewApi:g}=t,f=r.getDateMeta(s,e.todayRange,null,i),u=d.format(s,e.dayHeaderFormat),p=!f.isDisabled&&e.navLink?r.buildNavLinkAttrs(t,s):{},m=Object.assign(Object.assign(Object.assign({date:d.toDate(s),view:g},l),{text:u}),f);return n.createElement(r.ContentContainer,{elTag:"div",elClasses:[...r.getDayClassNames(f,h),...e.extraClassNames||[],"fc-header-cell","fc-cell",null!=e.colWidth?"":"fc-liquid","fc-flex-column","fc-align-center"],elAttrs:Object.assign({"data-date":f.isDisabled?void 0:r.formatDayString(s)},o),elStyle:{width:null!=e.colWidth?e.colWidth*(e.colSpan||1):void 0},renderProps:m,generatorName:"dayHeaderContent",customGenerator:c.dayHeaderContent,defaultGenerator:a,classNameGenerator:c.dayHeaderClassNames,didMount:c.dayHeaderDidMount,willUnmount:c.dayHeaderWillUnmount},t=>n.createElement("div",{ref:this.innerElRef,className:["fc-flex-column",e.isSticky?"fc-sticky-x":""].join(" ")},!f.isDisabled&&n.createElement(t,{elTag:"a",elAttrs:p,elClasses:["fc-cell-inner","fc-padding-sm"]})))}componentDidMount(){const e=this.innerElRef.current;this.disconectInnerHeight=r.watchHeight(e,e=>{r.setRef(this.props.innerHeightRef,e)})}componentWillUnmount(){this.disconectInnerHeight(),r.setRef(this.props.innerHeightRef,null)}}function u(e,t){const r=[];for(let e=0;e<t;e++)r[e]=[];for(const t of e)r[t.row].push(t);return r}function p(e,t){const r=[];if(e){for(let n=0;n<t;n++)r[n]={affectedInstances:e.affectedInstances,isEvent:e.isEvent,segs:[]};for(const t of e.segs)r[t.row].segs.push(t)}else for(let e=0;e<t;e++)r[e]=null;return r}function m(e,t){let r=[];for(let e=0;e<t;e++)r.push([]);for(let t of e)for(let e=t.firstCol;e<=t.lastCol;e++)t.firstCol!==e&&(t=Object.assign(Object.assign({},t),{firstCol:e,lastCol:e,isStart:!1,isEnd:t.isEnd&&t.lastCol===e,isStandin:!0})),r[e].push(t);return r}const y=r.createFormatter({hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"narrow"});function v(e){let{display:t}=e.eventRange.ui;return"list-item"===t||"auto"===t&&!e.eventRange.def.allDay&&e.firstCol===e.lastCol&&e.isStart&&e.isEnd}class R extends r.BaseComponent{render(){let{props:e}=this;return n.createElement(r.StandardEvent,Object.assign({},e,{elClasses:["fc-daygrid-event","fc-daygrid-block-event","fc-h-event"],defaultTimeFormat:y,defaultDisplayEventEnd:e.defaultDisplayEventEnd,disableResizing:!e.eventRange.def.allDay}))}}class S extends r.BaseComponent{render(){let{props:e,context:t}=this,{options:i}=t,{eventRange:a}=e,s=i.eventTimeFormat||y,l=r.buildEventRangeTimeText(a,s,t,!0,e.defaultDisplayEventEnd);return n.createElement(r.EventContainer,Object.assign({},e,{elTag:"a",elClasses:["fc-daygrid-event","fc-daygrid-dot-event"],elAttrs:r.getEventRangeAnchorAttrs(a,t),defaultGenerator:E,timeText:l,isResizing:!1,isDateSelecting:!1}))}}function E(e){return n.createElement(n.Fragment,null,n.createElement("div",{className:"fc-daygrid-event-dot",style:{borderColor:e.borderColor||e.backgroundColor}}),e.timeText&&n.createElement("div",{className:"fc-event-time"},e.timeText),n.createElement("div",{className:"fc-event-title"},e.event.title||n.createElement(n.Fragment,null," ")))}class b extends r.BaseComponent{render(){let{props:e}=this;return n.createElement(r.MoreLinkContainer,{elClasses:["fc-daygrid-more-link"],dateProfile:e.dateProfile,todayRange:e.todayRange,allDayDate:e.allDayDate,segs:e.segs,hiddenSegs:e.hiddenSegs,alignmentElRef:e.alignmentElRef,alignGridTop:e.alignGridTop,extraDateSpan:e.extraDateSpan,popoverContent:()=>{let t=(e.eventDrag?e.eventDrag.affectedInstances:null)||(e.eventResize?e.eventResize.affectedInstances:null)||{};return n.createElement(n.Fragment,null,e.segs.map(i=>{let{eventRange:a}=i,s=a.instance.instanceId;return n.createElement("div",{key:s,style:{visibility:t[s]?"hidden":""}},v(i)?n.createElement(S,Object.assign({eventRange:a,isStart:i.isStart,isEnd:i.isEnd,isDragging:!1,isSelected:s===e.eventSelection,defaultDisplayEventEnd:!1},r.getEventRangeMeta(a,e.todayRange))):n.createElement(R,Object.assign({eventRange:a,isStart:i.isStart,isEnd:i.isEnd,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:s===e.eventSelection,defaultDisplayEventEnd:!1},r.getEventRangeMeta(a,e.todayRange))))}))}})}}class w extends r.DateComponent{constructor(){super(...arguments),this.innerElRef=n.createRef(),this.headerWrapElRef=n.createRef()}render(){let{props:e,context:t}=this,{options:i,dateEnv:a}=t;const s=e.showDayNumber&&function(e,t,n){const{start:i,end:a}=t,s=r.addMs(a,-1),l=n.getYear(i),o=n.getMonth(i),d=n.getYear(s),c=n.getMonth(s);return!(l===d&&o===c)&&Boolean(e.valueOf()===i.valueOf()||1===n.getDay(e)&&e.valueOf()<a.valueOf())}(e.date,e.dateProfile.currentRange,a);return n.createElement(r.DayCellContainer,{elTag:"div",elClasses:["fc-daygrid-cell","fc-cell",null!=e.width?"":"fc-liquid","fc-flex-column",...e.extraClassNames||[]],elAttrs:Object.assign(Object.assign({},e.extraDataAttrs),{role:"gridcell"}),elStyle:{width:e.width},extraRenderProps:e.extraRenderProps,defaultGenerator:H,date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,showDayNumber:e.showDayNumber,isMonthStart:s},(a,l)=>n.createElement("div",{ref:this.innerElRef,className:["fc-daygrid-cell-inner",e.fgLiquidHeight?"fc-liquid":""].join(" ")},n.createElement("div",{ref:this.headerWrapElRef,className:"fc-flex-column"},!l.isDisabled&&(e.showDayNumber||r.hasCustomDayCellContent(i))&&n.createElement("div",{className:"fc-daygrid-cell-header"},n.createElement(a,{elTag:"a",elClasses:["fc-daygrid-cell-number",s&&"fc-daygrid-month-start"],elAttrs:r.buildNavLinkAttrs(t,e.date)}))),n.createElement("div",{className:"fc-daygrid-cell-main",style:{height:e.fgLiquidHeight?"":e.fgHeight}},e.fg),n.createElement("div",{className:"fc-daygrid-cell-footer",style:e.fgLiquidHeight?{position:"relative",top:e.fgHeight}:{}},n.createElement(b,{allDayDate:e.date,segs:e.segs,hiddenSegs:e.hiddenSegs,alignmentElRef:this.innerElRef,alignGridTop:!e.showDayNumber,extraDateSpan:e.extraDateSpan,dateProfile:e.dateProfile,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,todayRange:e.todayRange})),e.bg))}componentDidMount(){const e=this.innerElRef.current,t=this.headerWrapElRef.current;this.detachInnerHeight=r.watchHeight(e,e=>{r.setRef(this.props.innerHeightRef,e)}),this.detachHeaderHeight=r.watchHeight(t,e=>{r.setRef(this.props.headerHeightRef,e)})}componentWillUnmount(){this.detachInnerHeight(),this.detachHeaderHeight(),r.setRef(this.props.innerHeightRef,null),r.setRef(this.props.headerHeightRef,null)}}function H(e){return e.dayNumberText||n.createElement(n.Fragment,null," ")}function x(e){return e.eventRange.instance.instanceId+":"+e.firstCol}function C(e){return x(e)+":"+e.lastCol}class D extends r.SegHierarchy{constructor(){super(...arguments),this.hiddenConsumes=!1,this.forceHidden={}}addSegs(e){const t=super.addSegs(e),{entriesByLevel:n}=this,i=e=>!this.forceHidden[r.buildEntryKey(e)];for(let e=0;e<n.length;e+=1)n[e]=n[e].filter(i);return t}handleInvalidInsertion(e,t,n){const{entriesByLevel:i,forceHidden:a}=this,{touchingEntry:s,touchingLevel:l,touchingLateral:o}=e;if(this.hiddenConsumes&&s){const e=r.buildEntryKey(s);if(!a[e])if(this.allowReslicing){const e=Object.assign(Object.assign({},s),{span:r.intersectSpans(s.span,t.span)});a[r.buildEntryKey(e)]=!0,i[l][o]=e,n.push(e),this.splitEntry(s,t,n)}else a[e]=!0,n.push(s)}super.handleInvalidInsertion(e,t,n)}}class M extends n.Component{constructor(){super(...arguments),this.rootElRef=n.createRef()}render(){const{props:e}=this;return n.createElement("div",{className:"fc-abs",style:e.style,ref:this.rootElRef},e.children)}componentDidMount(){const e=this.rootElRef.current;this.detachHeight=r.watchHeight(e,e=>{r.setRef(this.props.heightRef,e)})}componentWillUnmount(){this.detachHeight(),r.setRef(this.props.heightRef,null)}}const W=r.createFormatter({week:"narrow"});class k extends r.BaseComponent{constructor(){super(...arguments),this.cellInnerHeightRefMap=new r.RefMap(()=>{r.afterSize(this.handleInnerHeights)}),this.cellHeaderHeightRefMap=new r.RefMap(()=>{r.afterSize(this.handleHeaderHeights)}),this.segHeightRefMap=new r.RefMap(()=>{r.afterSize(this.handleSegHeights)}),this.handleRootEl=e=>{this.rootEl=e,r.setRef(this.props.rootElRef,e)},this.handleHeaderHeights=()=>{const e=this.cellHeaderHeightRefMap.current;let t=0;for(const r of e.values())t=Math.max(t,r);this.state.headerHeight!==t&&this.setState({headerHeight:t})},this.handleInnerHeights=()=>{const{props:e}=this,t=!0===e.dayMaxEvents||!0===e.dayMaxEventRows,n=this.cellInnerHeightRefMap.current;let i=0;for(const e of n.values())i=Math.max(i,e);t?this.state.innerHeight!==i&&this.setState({innerHeight:i}):r.setRef(e.innerHeightRef,i)},this.handleSegHeights=()=>{this.setState({segHeightRev:this.segHeightRefMap.rev})}}render(){const{props:e,state:t,context:i,cellInnerHeightRefMap:a,cellHeaderHeightRefMap:s}=this,{cells:l}=e,{options:o}=i,d=e.cells[0].date,c=e.cells.length,h=!0===e.dayMaxEvents||!0===e.dayMaxEventRows,g=r.sortEventSegs(e.fgEventSegs,o.eventOrder),f=m(g,c),u=m(e.bgEventSegs,c),p=m(e.businessHourSegs,c),y=m(this.getHighlightSegs(),c),v=m(this.getMirrorSegs(),c),[R,S,E]=function(e,t,r,n,i,a,s,l){const o=r.length,d=[],c=[];for(let e=0;e<o;e++)d.push([]),c.push(0);const h=e.map((e,t)=>({index:t,seg:e,span:{start:e.firstCol,end:e.lastCol+1}}));let g=new D(r=>t.get(C(e[r.index])));g.allowReslicing=!1,g.strictOrder=a,!0===s||!0===l?(g.maxCoord=i,g.hiddenConsumes=!0):"number"==typeof s?g.maxStackCnt=s:"number"==typeof l&&(g.maxStackCnt=l,g.hiddenConsumes=!0);const f=g.addSegs(h),u=g.toRects(),p={};for(const t of u){p[x(e[t.index])]=n+t.levelCoord;let{start:r,end:i}=t.span;for(;r<i;r++)c[r]=Math.max(c[r],t.levelCoord+t.thickness)}for(const t of f){const{span:r}=t,n=e[t.index];for(let e=r.start;e<r.end;e++)d[e].push(n)}return[p,c,d]}(g,this.segHeightRefMap.current,l,t.headerHeight,h&&null!=t.innerHeight&&null!=t.headerHeight?t.innerHeight-t.headerHeight:void 0,o.eventOrderStrict,e.dayMaxEvents,e.dayMaxEventRows),b=e.eventDrag&&e.eventDrag.affectedInstances||e.eventResize&&e.eventResize.affectedInstances||{};return n.createElement("div",{role:e.cellGroup?void 0:"row",className:["fc-daygrid-row",e.forceVSpacing?"fc-daygrid-row-spacious":e.compact?"fc-daygrid-row-compact":"",e.cellGroup?"fc-flex-row":"fc-row","fc-rel",e.className||""].join(" "),style:{minHeight:e.minHeight},ref:this.handleRootEl},e.cells.map((t,r)=>{const i=this.renderFgSegs(f[r],R,e.todayRange,b),l=this.renderFgSegs(v[r],R,e.todayRange,{},Boolean(e.eventDrag),Boolean(e.eventResize),!1);return n.createElement(w,{key:t.key,dateProfile:e.dateProfile,todayRange:e.todayRange,date:t.date,showDayNumber:e.showDayNumbers,segs:f[r],hiddenSegs:E[r],fgLiquidHeight:h,fg:n.createElement(n.Fragment,null,n.createElement(n.Fragment,null,i),n.createElement(n.Fragment,null,l)),bg:n.createElement(n.Fragment,null,this.renderFillSegs(y[r],"highlight"),this.renderFillSegs(p[r],"non-business"),this.renderFillSegs(u[r],"bg-event")),eventDrag:e.eventDrag,eventResize:e.eventResize,eventSelection:e.eventSelection,extraRenderProps:t.extraRenderProps,extraDateSpan:t.extraDateSpan,extraDataAttrs:t.extraDataAttrs,extraClassNames:t.extraClassNames,fgHeight:S[r],width:e.colWidth,innerHeightRef:a.createRef(t.key),headerHeightRef:s.createRef(t.key)})}),e.showWeekNumbers&&n.createElement(r.WeekNumberContainer,{elTag:"a",elClasses:["fc-daygrid-week-number"],elAttrs:r.buildNavLinkAttrs(i,d,"week"),date:d,defaultFormat:W}))}renderFgSegs(e,t,i,a,s,l,o){const{props:c,context:h,segHeightRefMap:g}=this,{isRtl:f}=h,{colWidth:u,eventSelection:p}=c,m=c.cells.length,y=1===c.cells.length,E=s||l||o,b=[];for(const c of e){const{left:e,right:h,width:w}=d(c,u,m,f),{eventRange:H}=c,{instanceId:D}=H.instance,W=C(c),k=t[x(c)],N=!c.isStandin&&null!=k&&!a[D];b.push(n.createElement(M,{key:W,style:{visibility:N?"":"hidden",top:k,left:e,right:h,width:w},heightRef:E||c.isStandin?null:g.createRef(W)},v(c)?n.createElement(S,Object.assign({eventRange:H,isStart:c.isStart,isEnd:c.isEnd,isDragging:s,isSelected:D===p,defaultDisplayEventEnd:y},r.getEventRangeMeta(H,i))):n.createElement(R,Object.assign({eventRange:H,isStart:c.isStart,isEnd:c.isEnd,isDragging:s,isResizing:l,isDateSelecting:o,isSelected:D===p,defaultDisplayEventEnd:y},r.getEventRangeMeta(H,i)))))}return b}renderFillSegs(e,t){const{props:i,context:a}=this,{isRtl:s}=a,{todayRange:l,colWidth:o}=i,c=i.cells.length,h=[];for(const i of e){const{left:e,right:a,width:g}=d(i,o,c,s),f=!i.isStandin;h.push(n.createElement("div",{key:r.buildEventRangeKey(i.eventRange),className:"fc-fill-y",style:{visibility:f?"":"hidden",left:e,right:a,width:g}},"bg-event"===t?n.createElement(r.BgEvent,Object.assign({eventRange:i.eventRange,isStart:i.isStart,isEnd:i.isEnd},r.getEventRangeMeta(i.eventRange,l))):r.renderFill(t)))}return n.createElement(n.Fragment,{},...h)}componentDidMount(){const{rootEl:e}=this;this.disconnectHeight=r.watchHeight(e,e=>{r.setRef(this.props.heightRef,e)})}componentWillUnmount(){this.disconnectHeight(),r.setRef(this.props.heightRef,null),r.setRef(this.props.innerHeightRef,null)}getMirrorSegs(){let{props:e}=this;return e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:[]}getHighlightSegs(){let{props:e}=this;return e.eventDrag&&e.eventDrag.segs.length?e.eventDrag.segs:e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:e.dateSelectionSegs}}class N extends r.DateComponent{constructor(){super(...arguments),this.splitBusinessHourSegs=r.memoize(u),this.splitBgEventSegs=r.memoize(u),this.splitFgEventSegs=r.memoize(u),this.splitDateSelectionSegs=r.memoize(u),this.splitEventDrag=r.memoize(p),this.splitEventResize=r.memoize(p),this.rowHeightRefMap=new r.RefMap((e,t)=>{const{rowHeightRefMap:r}=this.props;r&&r.handleValue(e,t)}),this.handleRootEl=e=>{this.rootEl=e,e?this.context.registerInteractiveComponent(this,{el:e,isHitComboAllowed:this.props.isHitComboAllowed}):this.context.unregisterInteractiveComponent(this)}}render(){let{props:e,state:t,context:i,rowHeightRefMap:a}=this,{options:s}=i,l=e.cellRows.length,o=this.splitFgEventSegs(e.fgEventSegs,l),d=this.splitBgEventSegs(e.bgEventSegs,l),c=this.splitBusinessHourSegs(e.businessHourSegs,l),h=this.splitDateSelectionSegs(e.dateSelectionSegs,l),g=this.splitEventDrag(e.eventDrag,l),f=this.splitEventResize(e.eventResize,l),u=r.getIsHeightAuto(s),p=null!=t.width&&(l>=7||u)?t.width/i.options.aspectRatio/6:null;return n.createElement("div",{className:"fc-grow fc-flex-column",style:{width:e.width},ref:this.handleRootEl},e.cellRows.map((r,i)=>n.createElement(k,{key:r[0].key,dateProfile:e.dateProfile,todayRange:e.todayRange,cells:r,showDayNumbers:l>1,showWeekNumbers:s.weekNumbers,forPrint:e.forPrint,compact:null!=t.width&&t.width/r.length<80,className:u?"":"fc-grow fc-basis0",fgEventSegs:o[i],bgEventSegs:d[i].filter(P),businessHourSegs:c[i],dateSelectionSegs:h[i],eventSelection:e.eventSelection,eventDrag:g[i],eventResize:f[i],dayMaxEvents:s.dayMaxEvents,dayMaxEventRows:s.dayMaxEventRows,colWidth:e.colWidth,minHeight:p,heightRef:a.createRef(r[0].key)})))}componentDidMount(){this.detachWidth=r.watchWidth(this.rootEl,e=>{this.setState({width:e})})}componentWillUnmount(){this.detachWidth()}queryHit(e,t,n){const{props:i,context:a}=this,s=i.cellRows[0].length,{col:l,left:o,right:d}=c(e,n,i.colWidth,s,a.isRtl),{row:f,top:u,bottom:p}=function(e,t,r){let n=0,i=0,a=0;for(const s of t){const t=s[0].key;if(i=a,a=i+r.get(t),e<a)break;n++}return{row:n,top:i,bottom:a}}(t,i.cellRows,this.rowHeightRefMap.current),m=i.cellRows[f][l],y=m.date,v=r.addDays(y,1);return{dateProfile:i.dateProfile,dateSpan:Object.assign({range:{start:y,end:v},allDay:!0},m.extraDateSpan),dayEl:g(h(this.rootEl,f),l),rect:{left:o,right:d,top:u,bottom:p},layer:0}}}function P(e){return e.eventRange.def.allDay}class z extends r.BaseComponent{render(){const{props:e}=this;return n.createElement("div",{role:e.cellGroup?void 0:"row",className:[e.cellGroup?"fc-flex-row":"fc-row",e.className||""].join(" ")},e.cells.map(t=>n.createElement(n.Fragment,{key:e.getHeaderModelKey(t)},e.renderHeaderContent(t,e.tierNum,void 0,e.colWidth))))}}function T(e){return n.createElement("div",{className:["fc-rowgroup","fc-content-box",...e.extraClassNames||[]].join(" "),style:{width:e.width,paddingLeft:e.paddingLeft,paddingRight:e.paddingRight}},e.headerTiers.map((t,r)=>n.createElement(z,{key:r,tierNum:r,cells:t,renderHeaderContent:e.renderHeaderContent,getHeaderModelKey:e.getHeaderModelKey,colWidth:e.colWidth})))}class F extends r.BaseComponent{constructor(){super(...arguments),this.handleScroller=e=>{r.setRef(this.props.scrollerRef,e)},this.handleLeftScrollbarWidth=e=>{this.setState({leftScrollbarWidth:e})},this.handleRightScrollbarWidth=e=>{this.setState({rightScrollbarWidth:e})}}render(){const{props:e,state:t,context:i}=this,{options:a}=i,s=!e.forPrint&&!r.getIsHeightAuto(a),l=!e.forPrint&&r.getStickyHeaderDates(a);return n.createElement(n.Fragment,null,a.dayHeaders&&n.createElement(T,{headerTiers:e.headerTiers,renderHeaderContent:e.renderHeaderContent,getHeaderModelKey:e.getHeaderModelKey,extraClassNames:["fc-daygrid-header",l?"fc-sticky-header":""],paddingLeft:t.leftScrollbarWidth,paddingRight:t.rightScrollbarWidth}),n.createElement(r.Scroller,{vertical:s,leftScrollbarWidthRef:this.handleLeftScrollbarWidth,rightScrollbarWidthRef:this.handleRightScrollbarWidth,elClassNames:["fc-daygrid-body","fc-rowgroup","fc-flex-column",s?"fc-liquid":""],ref:this.handleScroller},n.createElement(N,{dateProfile:e.dateProfile,todayRange:e.todayRange,cellRows:e.cellRows,forPrint:e.forPrint,isHitComboAllowed:e.isHitComboAllowed,fgEventSegs:e.fgEventSegs,bgEventSegs:e.bgEventSegs,businessHourSegs:e.businessHourSegs,dateSelectionSegs:e.dateSelectionSegs,eventDrag:e.eventDrag,eventResize:e.eventResize,eventSelection:e.eventSelection,rowHeightRefMap:e.rowHeightRefMap})))}}class O extends r.BaseComponent{constructor(){super(...arguments),this.headerScrollerRef=n.createRef(),this.bodyScrollerRef=n.createRef(),this.footerScrollerRef=n.createRef(),this.handleWidth=e=>{this.setState({width:e})},this.handleLeftScrollbarWidth=e=>{this.setState({leftScrollbarWidth:e})},this.handleRightScrollbarWidth=e=>{this.setState({rightScrollbarWidth:e})}}render(){const{props:e,state:t,context:i}=this,{options:a}=i,s=!e.forPrint&&!r.getIsHeightAuto(a),o=!e.forPrint&&r.getStickyHeaderDates(a),d=!e.forPrint&&r.getStickyFooterScrollbar(a),c=e.cellRows[0].length,[h,g]=l(c,e.dayMinWidth,t.width);return n.createElement(n.Fragment,null,a.dayHeaders&&n.createElement(r.Scroller,{horizontal:!0,hideScrollbars:!0,elClassNames:["fc-daygrid-header","fc-rowgroup",o?"fc-sticky-header":""],ref:this.headerScrollerRef},n.createElement(T,{headerTiers:e.headerTiers,renderHeaderContent:e.renderHeaderContent,getHeaderModelKey:e.getHeaderModelKey,colWidth:g,width:h,paddingLeft:t.leftScrollbarWidth,paddingRight:t.rightScrollbarWidth})),n.createElement(r.Scroller,{vertical:s,horizontal:!0,hideScrollbars:d,widthRef:this.handleWidth,leftScrollbarWidthRef:this.handleLeftScrollbarWidth,rightScrollbarWidthRef:this.handleRightScrollbarWidth,elClassNames:["fc-daygrid-body","fc-rowgroup","fc-flex-column",s?"fc-liquid":""],ref:this.bodyScrollerRef},n.createElement(N,{dateProfile:e.dateProfile,todayRange:e.todayRange,cellRows:e.cellRows,forPrint:e.forPrint,isHitComboAllowed:e.isHitComboAllowed,fgEventSegs:e.fgEventSegs,bgEventSegs:e.bgEventSegs,businessHourSegs:e.businessHourSegs,dateSelectionSegs:e.dateSelectionSegs,eventDrag:e.eventDrag,eventResize:e.eventResize,eventSelection:e.eventSelection,colWidth:g,width:h,rowHeightRefMap:e.rowHeightRefMap})),Boolean(d)&&n.createElement(r.Scroller,{ref:this.footerScrollerRef,horizontal:!0,elClassNames:["fc-sticky-footer"],elStyle:{marginTop:"-1px"}},n.createElement("div",{style:{width:h,height:"1px"}})))}componentDidMount(){const e=r.getScrollerSyncerClass(this.context.pluginHooks);this.syncedScroller=new e(!0),r.setRef(this.props.scrollerRef,this.syncedScroller),this.updateSyncedScroller()}componentDidUpdate(){this.updateSyncedScroller()}componentWillUnmount(){this.syncedScroller.destroy()}updateSyncedScroller(){this.syncedScroller.handleChildren([this.headerScrollerRef.current,this.bodyScrollerRef.current,this.footerScrollerRef.current])}}class I extends r.BaseComponent{constructor(){super(...arguments),this.scrollerRef=n.createRef(),this.rowHeightRefMap=new r.RefMap(()=>{r.afterSize(this.updateScrollY)}),this.scrollDate=null,this.updateScrollY=()=>{const e=this.rowHeightRefMap.current,t=this.scrollerRef.current;if(t&&this.scrollDate){let r=function(e,t,r,n=0){let i=0;for(const a of t){const t=a[0].date,s=a[a.length-1].date,l=t.toISOString();if(e>=t&&e<=s)return i;const o=r.get(l);if(null==o)return;i+=o+n}return i}(this.scrollDate,this.props.cellRows,e,1);null!=r&&(r&&r++,t.scrollTo({y:r}))}},this.clearScroll=()=>{this.scrollDate=null}}render(){const{props:e,context:t}=this,{options:i}=t,a=Object.assign(Object.assign({},e),{scrollerRef:this.scrollerRef,rowHeightRefMap:this.rowHeightRefMap});return n.createElement(r.ViewContainer,{viewSpec:t.viewSpec,elClasses:[e.className,"fc-flex-column","fc-border"]},i.dayMinWidth?n.createElement(O,Object.assign({},a,{dayMinWidth:i.dayMinWidth})):n.createElement(F,Object.assign({},a)))}componentDidMount(){this.resetScroll(),this.scrollerRef.current.addScrollEndListener(this.clearScroll)}componentDidUpdate(e){e.dateProfile!==this.props.dateProfile&&this.context.options.scrollTimeReset&&this.resetScroll()}componentWillUnmount(){this.scrollerRef.current.removeScrollEndListener(this.clearScroll)}resetScroll(){this.scrollDate=this.props.dateProfile.currentDate,this.updateScrollY();this.scrollerRef.current.scrollTo({x:0})}}const j=r.createFormatter({weekday:"long"});class G extends r.BaseComponent{constructor(){super(...arguments),this.innerElRef=n.createRef()}render(){let{props:e,context:t}=this,{dateEnv:i,theme:s,viewApi:l,options:o}=t,d=r.addDays(new Date(2592e5),e.dow),c={dow:e.dow,isDisabled:!1,isFuture:!1,isPast:!1,isToday:!1,isOther:!1},h=i.format(d,e.dayHeaderFormat),g=Object.assign(Object.assign(Object.assign(Object.assign({date:d},c),{view:l}),e.extraRenderProps),{text:h});return n.createElement(r.ContentContainer,{elTag:"div",elClasses:[...r.getDayClassNames(c,s),...e.extraClassNames||[],"fc-header-cell","fc-cell",null!=e.colWidth?"":"fc-liquid","fc-flex-column","fc-align-center"],elAttrs:e.extraDataAttrs,elStyle:{width:null!=e.colWidth?e.colWidth*(e.colSpan||1):void 0},renderProps:g,generatorName:"dayHeaderContent",customGenerator:o.dayHeaderContent,defaultGenerator:a,classNameGenerator:o.dayHeaderClassNames,didMount:o.dayHeaderDidMount,willUnmount:o.dayHeaderWillUnmount},t=>n.createElement("div",{ref:this.innerElRef,className:["fc-flex-column",e.isSticky?"fc-sticky-x":""].join(" ")},n.createElement(t,{elTag:"a",elClasses:["fc-cell-inner","fc-padding-sm"],elAttrs:{"aria-label":i.format(d,j)}})))}componentDidMount(){const e=this.innerElRef.current;this.disconectInnerHeight=r.watchHeight(e,e=>{r.setRef(this.props.innerHeightRef,e)})}componentWillUnmount(){this.disconectInnerHeight(),r.setRef(this.props.innerHeightRef,null)}}function A(e,t,n){return e||function(e,t){if(!e||t>10)return r.createFormatter({weekday:"short"});if(t>1)return r.createFormatter({weekday:"short",month:"numeric",day:"numeric",omitCommas:!0});return r.createFormatter({weekday:"long"})}(t,n)}class L extends r.BaseComponent{constructor(){super(...arguments),this.buildDayTableModel=r.memoize(s),this.buildHeaderTiers=r.memoize(o),this.createDayHeaderFormatter=r.memoize(A),this.slicer=new i}render(){const{props:e,context:t}=this,{options:i}=t,a=this.buildDayTableModel(e.dateProfile,t.dateProfileGenerator),s=1===a.rowCnt,l=this.buildHeaderTiers(a.headerDates,s),o=this.slicer.sliceProps(e,e.dateProfile,i.nextDayThreshold,t,a),d=this.createDayHeaderFormatter(t.options.dayHeaderFormat,s,a.colCnt);return n.createElement(r.NowTimer,{unit:"day"},(t,r)=>n.createElement(I,{dateProfile:e.dateProfile,todayRange:r,cellRows:a.cellRows,forPrint:e.forPrint,className:"fc-daygrid-view",headerTiers:l,renderHeaderContent:(t,i,s,l)=>t.date?n.createElement(f,Object.assign({},t,{dateProfile:e.dateProfile,todayRange:r,navLink:a.colCnt>1,dayHeaderFormat:d,colSpan:t.colSpan,colWidth:l})):n.createElement(G,Object.assign({},t,{dayHeaderFormat:d,colSpan:t.colSpan,colWidth:l})),getHeaderModelKey:e=>e.date?e.date.toUTCString():e.dow,fgEventSegs:o.fgEventSegs,bgEventSegs:o.bgEventSegs,businessHourSegs:o.businessHourSegs,dateSelectionSegs:o.dateSelectionSegs,eventDrag:o.eventDrag,eventResize:o.eventResize,eventSelection:o.eventSelection}))}}class B extends r.DateProfileGenerator{buildRenderRange(e,t,r){let n=super.buildRenderRange(e,t,r),{props:i}=this;return U({currentRange:n,snapToWeek:/^(year|month)$/.test(t),fixedWeekCount:i.fixedWeekCount,dateEnv:i.dateEnv})}}function U(e){let t,{dateEnv:n,currentRange:i}=e,{start:a,end:s}=i;if(e.snapToWeek&&(a=n.startOfWeek(a),t=n.startOfWeek(s),t.valueOf()!==s.valueOf()&&(s=r.addWeeks(t,1))),e.fixedWeekCount){let e=n.startOfWeek(n.startOfMonth(r.addDays(i.end,-1))),t=Math.ceil(r.diffWeeks(e,s));s=r.addWeeks(s,6-t)}return{start:a,end:s}}r.injectStyles(":root{--fc-daygrid-event-dot-width:8px}.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:5}.fc-daygrid-cell.fc-day-today{background-color:var(--fc-today-bg-color)}.fc-daygrid-row-spacious .fc-daygrid-cell-inner{min-height:3em}.fc-daygrid-cell-header{display:flex;flex-direction:row-reverse}.fc-day-other .fc-daygrid-cell-header{opacity:.3}.fc-daygrid-cell-number{padding:4px;position:relative;z-index:4}.fc-daygrid-month-start{font-size:1.1em;font-weight:700}.fc-daygrid-cell-footer{align-items:flex-start;display:flex;flex-direction:column;font-size:.85em;margin:0 2px}.fc-daygrid-row-spacious .fc-daygrid-cell-footer{margin-bottom:1em!important}.fc-daygrid-row-compact .fc-daygrid-cell-footer{align-items:stretch}.fc-daygrid-more-link{border-radius:3px;cursor:pointer;line-height:1;margin-top:1px;max-width:100%;overflow:hidden;padding:2px;position:relative;white-space:nowrap;z-index:4}.fc-daygrid-more-link:hover{background-color:rgba(0,0,0,.1)}.fc-daygrid-row-compact .fc-daygrid-more-link{border:1px solid var(--fc-event-border-color);padding:1px}.fc-daygrid-cell .fc-non-business{z-index:1}.fc-daygrid-cell .fc-bg-event{z-index:2}.fc-daygrid-cell .fc-highlight{z-index:3}.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-top:1px;z-index:6}.fc-daygrid-event.fc-event-mirror{z-index:7}.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-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-daygrid-dot-event .fc-event-title{flex-basis:0;flex-grow:1;font-weight:700;min-width:0}");var K=t.createPlugin({name:"@fullcalendar/daygrid",initialView:"dayGridMonth",views:{dayGrid:{component:L,dateProfileGeneratorClass:B},dayGridDay:{type:"dayGrid",duration:{days:1}},dayGridWeek:{type:"dayGrid",duration:{weeks:1}},dayGridMonth:{type:"dayGrid",duration:{months:1},fixedWeekCount:!0},dayGridYear:{type:"dayGrid",duration:{years:1}}}});class q extends r.BaseComponent{constructor(){super(...arguments),this.innerHeightRefMap=new r.RefMap(()=>{r.afterSize(this.handleInnerHeights)}),this.handleInnerHeights=()=>{const e=this.innerHeightRefMap.current;let t=0;for(const r of e.values())t=Math.max(t,r);this.currentInnerHeight!==t&&(this.currentInnerHeight=t,r.setRef(this.props.innerHeightRef,t))}}render(){const{props:e}=this;return n.createElement("div",{role:"row",className:"fc-row",style:{height:e.height}},e.cells.map(t=>{const r=e.getHeaderModelKey(t);return n.createElement(n.Fragment,{key:e.getHeaderModelKey(t)},e.renderHeaderContent(t,e.tierNum,this.innerHeightRefMap.createRef(r),e.colWidth))}))}}var _={__proto__:null,DayTableSlicer:i,TableDateProfileGenerator:B,buildDayTableRenderRange:U,DayGridView:L,DateHeaderCell:f,DayOfWeekHeaderCell:G,HeaderRow:z,HeaderRowAdvanced:q,createDayHeaderFormatter:A,DayGridLayout:I,DayGridRow:k,COMPACT_CELL_WIDTH:80,DayGridRows:N,buildDayTableModel:s,computeColWidth:l,computeColFromPosition:c,getRowEl:h,getCellEl:g};return t.globalPlugins.push(K),e.Internal=_,e.default=K,Object.defineProperty(e,"__esModule",{value:!0}),e}({},FullCalendar,FullCalendar.Internal,FullCalendar.Preact);
|
|
6
|
+
FullCalendar.DayGrid=function(e,t,n,r){"use strict";class i extends n.Slicer{constructor(){super(...arguments),this.forceDayIfListItem=!0}sliceRange(e,t){return t.sliceRange(e)}}const s=n.createFormatter({weekday:"long"}),a=new Date(2592e5);function o(...e){return[l(...e)]}function l(e,t,n,r,i,s,a){return{renderConfig:d(s),dataConfigs:c(e,t,n,r,i,s,a)}}function d(e){const{options:t}=e;return{generatorName:"dayHeaderContent",customGenerator:t.dayHeaderContent,classNameGenerator:t.dayHeaderClassNames,didMount:t.dayHeaderDidMount,willUnmount:t.dayHeaderWillUnmount}}function c(e,t,r,i,o,l,d=1,c=""){const{dateEnv:g,viewApi:f,options:h}=l;return t?e.map(e=>{const t=n.getDateMeta(e,i,null,r),s=g.format(e,o),a=Object.assign(Object.assign({},t),{date:g.toDate(e),view:f,text:s}),u=h.navLinks&&!t.isDisabled;return{key:c+e.toUTCString(),renderProps:a,attrs:{"data-date":t.isDisabled?void 0:n.formatDayString(e)},innerAttrs:u?n.buildNavLinkAttrs(l,e):{},colSpan:d,isNavLink:u,className:n.getDayClassName(t)}}):e.map(e=>{const t=e.getUTCDay(),r=n.addDays(a,t),i={dow:t,isDisabled:!1,isFuture:!1,isPast:!1,isToday:!1,isOther:!1},l=g.format(r,o),h=Object.assign(Object.assign({},i),{date:e,view:f,text:l});return{key:c+String(t),renderProps:h,innerAttrs:{"aria-label":g.format(r,s)},colSpan:d,className:n.getDayClassName(i)}})}function g(e){return n.getEventKey(e)+":"+e.start+(e.standinFor?":standin":e.isSlice?":slice":"")}function f(e,t){const n=[];for(let e=0;e<t;e++)n[e]=[];for(const t of e)n[t.row].push(t);return n}function h(e,t){const n=[];if(e){for(let r=0;r<t;r++)n[r]={affectedInstances:e.affectedInstances,isEvent:e.isEvent,segs:[]};for(const t of e.segs)n[t.row].segs.push(t)}else for(let e=0;e<t;e++)n[e]=null;return n}function u(e,t){return Object.assign(Object.assign({},e),{start:t,end:t+1,isStart:e.isStart&&e.start===t,isEnd:e.isEnd&&e.end-1===t,standinFor:e})}const m=n.createFormatter({hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"narrow"});function p(e){let{display:t}=e.eventRange.ui;return"list-item"===t||"auto"===t&&!e.eventRange.def.allDay&&e.end-e.start==1&&e.isStart&&e.isEnd}class v extends n.BaseComponent{render(){let{props:e}=this;return r.createElement(n.StandardEvent,Object.assign({},e,{className:"fc-daygrid-block-event fc-daygrid-event fc-h-event",defaultTimeFormat:m,defaultDisplayEventEnd:e.defaultDisplayEventEnd,disableResizing:!e.eventRange.def.allDay}))}}class y extends n.BaseComponent{render(){let{props:e,context:t}=this,{options:i}=t,{eventRange:s}=e,a=i.eventTimeFormat||m,o=n.buildEventRangeTimeText(a,s,void 0,void 0,e.isStart,e.isEnd,t,!0,e.defaultDisplayEventEnd),l=n.getEventRangeAnchorAttrs(s,t);return r.createElement(n.EventContainer,Object.assign({},e,{tag:l?"a":"div",attrs:l,className:"fc-daygrid-dot-event fc-daygrid-event",defaultGenerator:R,timeText:o,isResizing:!1,isDateSelecting:!1}))}}function R(e){return r.createElement(r.Fragment,null,r.createElement("div",{className:"fc-daygrid-event-dot",style:{borderColor:e.borderColor||e.backgroundColor}}),e.timeText&&r.createElement("div",{className:"fc-event-time"},e.timeText),r.createElement("div",{className:"fc-event-title"},e.event.title||r.createElement(r.Fragment,null," ")))}class S extends n.BaseComponent{render(){let{props:e}=this;return r.createElement(n.MoreLinkContainer,{className:n.joinClassNames("fc-daygrid-more-link",e.isBlock?"fc-daygrid-more-link-block":"fc-daygrid-more-link-button"),dateProfile:e.dateProfile,todayRange:e.todayRange,allDayDate:e.allDayDate,segs:e.segs,hiddenSegs:e.hiddenSegs,alignElRef:e.alignElRef,alignParentTop:e.alignParentTop,dateSpanProps:e.dateSpanProps,popoverContent:()=>{let t=(e.eventDrag?e.eventDrag.affectedInstances:null)||(e.eventResize?e.eventResize.affectedInstances:null)||{};return r.createElement(r.Fragment,null,e.segs.map(i=>{let{eventRange:s}=i,{instanceId:a}=s.instance;return r.createElement("div",{key:a,style:{visibility:t[a]?"hidden":""}},p(i)?r.createElement(y,Object.assign({eventRange:s,isStart:i.isStart,isEnd:i.isEnd,isDragging:!1,isSelected:a===e.eventSelection,defaultDisplayEventEnd:!1},n.getEventRangeMeta(s,e.todayRange))):r.createElement(v,Object.assign({eventRange:s,isStart:i.isStart,isEnd:i.isEnd,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:a===e.eventSelection,defaultDisplayEventEnd:!1},n.getEventRangeMeta(s,e.todayRange))))}))}})}}class b extends n.DateComponent{constructor(){super(...arguments),this.rootElRef=r.createRef(),this.bodyElRef=r.createRef()}render(){let{props:e,context:t}=this,{options:i,dateEnv:s}=t;const a=e.showDayNumber&&function(e,t,r){const{start:i,end:s}=t,a=n.addMs(s,-1),o=r.getYear(i),l=r.getMonth(i),d=r.getYear(a),c=r.getMonth(a);return!(o===d&&l===c)&&Boolean(e.valueOf()===i.valueOf()||1===r.getDay(e)&&e.valueOf()<s.valueOf())}(e.date,e.dateProfile.currentRange,s);return r.createElement(n.DayCellContainer,{tag:"div",className:n.joinClassNames(e.className,"fc-daygrid-day fc-flex-col",e.borderStart&&"fc-border-s",null!=e.width?"":"fc-liquid"),attrs:Object.assign(Object.assign({},e.attrs),{role:"gridcell"}),style:{width:e.width},elRef:this.rootElRef,renderProps:e.renderProps,defaultGenerator:E,date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,showDayNumber:e.showDayNumber,isMonthStart:a},(s,o)=>r.createElement(r.Fragment,null,!o.isDisabled&&(e.showDayNumber||n.hasCustomDayCellContent(i))&&r.createElement("div",{className:"fc-daygrid-day-header"},r.createElement(s,{tag:"a",attrs:n.buildNavLinkAttrs(t,e.date),className:n.joinClassNames("fc-daygrid-day-number",a&&"fc-daygrid-month-start")})),r.createElement("div",{className:n.joinClassNames("fc-daygrid-day-body",e.isTall&&"fc-daygrid-day-body-tall",e.fgLiquidHeight?"fc-liquid":"fc-grow"),ref:this.bodyElRef},r.createElement("div",{className:"fc-daygrid-day-events",style:{height:e.fgHeight}},e.fg),r.createElement(S,{isBlock:e.isCompact,allDayDate:e.date,segs:e.segs,hiddenSegs:e.hiddenSegs,alignElRef:this.rootElRef,alignParentTop:e.showDayNumber?"[role=row]":".fc-view",dateSpanProps:e.dateSpanProps,dateProfile:e.dateProfile,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,todayRange:e.todayRange}))))}componentDidMount(){const e=this.bodyElRef.current;this.disconnectBodyHeight=n.watchSize(e,(t,r)=>{const{props:i}=this,s=e.getBoundingClientRect(),a=this.rootElRef.current.getBoundingClientRect(),o=s.top-a.top;n.isDimsEqual(this.headerHeight,o)||(this.headerHeight=o,n.setRef(i.headerHeightRef,o)),i.fgLiquidHeight&&n.setRef(i.mainHeightRef,r)})}componentWillUnmount(){this.disconnectBodyHeight();const{props:e}=this;n.setRef(e.headerHeightRef,null),n.setRef(e.mainHeightRef,null)}}function E(e){return e.dayNumberText||r.createElement(r.Fragment,null," ")}function w(e,t){let n=e.get(t.eventRange);n||e.set(t.eventRange,n=[]),n.push(t)}function D(e,t){let r=new n.DaySeriesModel(e.renderRange,t);return new n.DayTableModel(r,/year|month|week/.test(e.currentRangeUnit))}function x(e,t,n){if(null==n)return[void 0,void 0];return n/e<t?[t*e,t]:[n,void 0]}function C(e,t,r,i){let s,a;if(null!=t)s=e.start*t,a=(r-e.end)*t;else{const t=1/r;s=n.fracToCssDim(e.start*t),a=n.fracToCssDim(1-e.end*t)}return i?{right:s,left:a}:{left:s,right:a}}function H(e,t,n,r,i){const s=null!=n?n:t/r,a=Math.floor(e/s),o=a*s;return{col:i?r-a-1:a,left:o,right:o+s}}function N(e,t){return e.querySelectorAll(":scope > [role=row]")[t]}function M(e,t){return e.querySelectorAll(":scope > [role=gridcell]")[t]}function k(e,t,r){return e||function(e,t){if(!e||t>10)return n.createFormatter({weekday:"short"});if(t>1)return n.createFormatter({weekday:"short",month:"numeric",day:"numeric",omitCommas:!0});return n.createFormatter({weekday:"long"})}(t,r)}class P extends r.Component{constructor(){super(...arguments),this.rootElRef=r.createRef()}render(){const{props:e}=this;return r.createElement("div",{className:n.joinClassNames(e.className,"fc-abs"),style:e.style,ref:this.rootElRef},e.children)}componentDidMount(){const e=this.rootElRef.current;this.disconnectHeight=n.watchHeight(e,e=>{n.setRef(this.props.heightRef,e)})}componentWillUnmount(){this.disconnectHeight(),n.setRef(this.props.heightRef,null)}}const W=n.createFormatter({week:"narrow"});class z extends n.BaseComponent{constructor(){super(...arguments),this.headerHeightRefMap=new n.RefMap(()=>{n.afterSize(this.handleSegPositioning)}),this.mainHeightRefMap=new n.RefMap(()=>{(!0===this.props.dayMaxEvents||!0===this.props.dayMaxEventRows)&&n.afterSize(this.handleSegPositioning)}),this.segHeightRefMap=new n.RefMap(()=>{n.afterSize(this.handleSegPositioning)}),this.handleRootEl=e=>{this.rootEl=e,n.setRef(this.props.rootElRef,e)},this.handleSegPositioning=()=>{this.forceUpdate()}}render(){const{props:e,context:t,headerHeightRefMap:i,mainHeightRefMap:s}=this,{cells:a}=e,{options:o}=t,l=e.cells[0].date,d=!0===e.dayMaxEvents||!0===e.dayMaxEventRows,c=n.sortEventSegs(e.fgEventSegs,o.eventOrder),[f,h]=this.computeFgDims(),[m,p,v,y,R]=function(e,t,r,i,s,a=!0,o,l){let d,c,f;!0===o||!0===l?(d=i,f=!0):"number"==typeof o?(c=o,f=!1):"number"==typeof l&&(c=l,f=!0);const h=new Map,m=new Map,p=new Map,v=new Map;let y=new n.SegHierarchy(e,e=>t.get(g(e)),s,d,c,f,a);y.traverseSegs((e,t)=>{w(h,e),p.set(g(e),t),e.isSlice&&v.set(e.eventRange,!0)});for(const e of y.hiddenSegs)w(m,e);if(v.size){p.clear(),y=new n.SegHierarchy(function(e,t){const n=[];for(const r of e)n.push(...t.get(r.eventRange)||[]);return n}(e,h),e=>t.get(g(e)),s,d,c,f),y.traverseSegs((e,t)=>{p.set(g(e),t)});for(const e of y.hiddenSegs)w(m,e)}const R=[],S=[],b=[],E=[];for(let e=0;e<r.length;e++)R.push([]),S.push([]),b.push([]),E.push(0);for(const n of e){const{eventRange:e}=n,r=h.get(e)||[],i=m.get(e)||[],s=v.get(e)||!1;if(b[n.start].push(n),s)for(const e of r)b[e.start].push(e);for(const e of r){for(let t=e.start;t<e.end;t++){const n=u(e,t);R[t].push(n)}const n=g(e),r=p.get(n);if(null!=r){const i=t.get(n);for(let t=e.start;t<e.end;t++)E[t]=Math.max(E[t],r+i)}}for(const e of i)for(let t=e.start;t<e.end;t++){const n=u(e,t);R[t].push(n),S[t].push(n)}}return[R,S,b,p,E]}(c,this.segHeightRefMap.current,a,d?h:void 0,o.eventOrderStrict,o.eventSlicing,e.dayMaxEvents,e.dayMaxEventRows),S=[];if(null!=f){let e=0;for(const t of a){const n=i.current.get(t.key),r=f-n;S.push(R[e++]+r)}}const E=this.getHighlightSegs(),D=this.getMirrorSegs(),x=e.eventDrag&&e.eventDrag.affectedInstances||e.eventResize&&e.eventResize.affectedInstances||{};return r.createElement("div",{role:"row",className:n.joinClassNames("fc-flex-row fc-rel",e.className),style:{minHeight:e.minHeight},ref:this.handleRootEl},this.renderFillSegs(e.businessHourSegs,"non-business"),this.renderFillSegs(e.bgEventSegs,"bg-event"),this.renderFillSegs(E,"highlight"),r.createElement("div",{className:"fc-flex-row fc-liquid fc-rel"},e.cells.map((t,n)=>{const a=this.renderFgSegs(f,v[n],y,e.todayRange,x);return r.createElement(b,{key:t.key,dateProfile:e.dateProfile,todayRange:e.todayRange,date:t.date,showDayNumber:e.showDayNumbers,isCompact:e.isCompact,isTall:e.isTall,borderStart:Boolean(n),segs:m[n],hiddenSegs:p[n],fgLiquidHeight:d,fg:r.createElement(r.Fragment,null,a),eventDrag:e.eventDrag,eventResize:e.eventResize,eventSelection:e.eventSelection,renderProps:t.renderProps,dateSpanProps:t.dateSpanProps,attrs:t.attrs,className:t.className,fgHeight:S[n],width:e.colWidth,headerHeightRef:i.createRef(t.key),mainHeightRef:s.createRef(t.key)})})),e.showWeekNumbers&&r.createElement(n.WeekNumberContainer,{tag:"a",attrs:n.buildNavLinkAttrs(t,l,"week"),className:"fc-daygrid-week-number",date:l,defaultFormat:W}),this.renderFgSegs(f,D,y,e.todayRange,{},Boolean(e.eventDrag),Boolean(e.eventResize),!1))}renderFgSegs(e,t,i,s,a,o,l,d){var c;const{props:f,context:h,segHeightRefMap:u}=this,{isRtl:m}=h,{colWidth:R,eventSelection:S}=f,b=f.cells.length,E=1===f.cells.length,w=o||l||d,D=[];for(const f of t){const t=g(f),{standinFor:h,eventRange:x}=f,{instanceId:H}=x.instance;if(h)continue;const{left:N,right:M}=C(f,R,b,m),k=null!==(c=i.get(h?g(h):t))&&void 0!==c?c:w?0:void 0,W=null!=e&&null!=k?e+k:void 0,z=h||a[H]||null==W;D.push(r.createElement(P,{key:t,className:f.start?"fc-border-transparent fc-border-s":"",style:{visibility:z?"hidden":"",top:W,left:N,right:M},heightRef:h||w?null:u.createRef(t)},p(f)?r.createElement(y,Object.assign({eventRange:x,isStart:f.isStart,isEnd:f.isEnd,isDragging:o,isSelected:H===S,defaultDisplayEventEnd:E},n.getEventRangeMeta(x,s))):r.createElement(v,Object.assign({eventRange:x,isStart:f.isStart,isEnd:f.isEnd,isDragging:o,isResizing:l,isDateSelecting:d,isSelected:H===S,defaultDisplayEventEnd:E},n.getEventRangeMeta(x,s)))))}return D}renderFillSegs(e,t){const{props:i,context:s}=this,{isRtl:a}=s,{todayRange:o,colWidth:l}=i,d=i.cells.length,c=[];for(const i of e){const e=n.buildEventRangeKey(i.eventRange),{left:s,right:g}=C(i,l,d,a),f=!i.standinFor;c.push(r.createElement("div",{key:e,className:"fc-fill-y",style:{visibility:f?"":"hidden",left:s,right:g}},"bg-event"===t?r.createElement(n.BgEvent,Object.assign({eventRange:i.eventRange,isStart:i.isStart,isEnd:i.isEnd},n.getEventRangeMeta(i.eventRange,o))):n.renderFill(t)))}return r.createElement(r.Fragment,{},...c)}componentDidMount(){const{rootEl:e}=this;this.disconnectHeight=n.watchHeight(e,e=>{n.setRef(this.props.heightRef,e)})}componentWillUnmount(){this.disconnectHeight(),n.setRef(this.props.heightRef,null)}computeFgDims(){const{cells:e}=this.props,t=this.headerHeightRefMap.current,n=this.mainHeightRefMap.current;let r,i;for(const s of e){const e=t.get(s.key),a=n.get(s.key);if(null!=e&&((void 0===r||e>r)&&(r=e),null!=a)){const t=e+a;(void 0===i||t<i)&&(i=t)}}return[r,null!=i&&null!=r?i-r:void 0]}getMirrorSegs(){let{props:e}=this;return e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:[]}getHighlightSegs(){let{props:e}=this;return e.eventDrag&&e.eventDrag.segs.length?e.eventDrag.segs:e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:e.dateSelectionSegs}}class F extends n.DateComponent{constructor(){super(...arguments),this.splitBusinessHourSegs=n.memoize(f),this.splitBgEventSegs=n.memoize(f),this.splitFgEventSegs=n.memoize(f),this.splitDateSelectionSegs=n.memoize(f),this.splitEventDrag=n.memoize(h),this.splitEventResize=n.memoize(h),this.rowHeightRefMap=new n.RefMap((e,t)=>{const{rowHeightRefMap:n}=this.props;n&&n.handleValue(e,t)}),this.handleRootEl=e=>{this.rootEl=e,e?this.context.registerInteractiveComponent(this,{el:e,isHitComboAllowed:this.props.isHitComboAllowed}):this.context.unregisterInteractiveComponent(this)}}render(){let{props:e,context:t,rowHeightRefMap:i}=this,{options:s}=t,a=e.cellRows.length,o=this.splitFgEventSegs(e.fgEventSegs,a),l=this.splitBgEventSegs(e.bgEventSegs,a),d=this.splitBusinessHourSegs(e.businessHourSegs,a),c=this.splitDateSelectionSegs(e.dateSelectionSegs,a),g=this.splitEventDrag(e.eventDrag,a),f=this.splitEventResize(e.eventResize,a),h=n.getIsHeightAuto(s),u=!e.forPrint&&!h,[m,p]=T(e.visibleWidth,a,h,e.forPrint,s);return r.createElement("div",{className:n.joinClassNames(!e.forPrint&&"fc-flex-col",e.className),style:{width:e.width},ref:this.handleRootEl},e.cellRows.map((t,h)=>r.createElement(z,{key:t[0].key,dateProfile:e.dateProfile,todayRange:e.todayRange,cells:t,showDayNumbers:a>1,showWeekNumbers:s.weekNumbers,forPrint:e.forPrint,isCompact:p,className:n.joinClassNames(u&&"fc-grow fc-basis0",a>1&&"fc-break-inside-avoid",h<a-1&&"fc-border-b"),fgEventSegs:o[h],bgEventSegs:l[h].filter(j),businessHourSegs:d[h],dateSelectionSegs:c[h],eventSelection:e.eventSelection,eventDrag:g[h],eventResize:f[h],dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,colWidth:e.colWidth,minHeight:m,heightRef:i.createRef(t[0].key)})))}componentDidMount(){this.disconnectWidth=n.watchWidth(this.rootEl,e=>{this.setState({width:e})})}componentWillUnmount(){this.disconnectWidth()}queryHit(e,t,r){const{props:i,context:s}=this,a=i.cellRows[0].length,{col:o,left:l,right:d}=H(e,r,i.colWidth,a,s.isRtl),{row:c,top:g,bottom:f}=function(e,t,n){let r=0,i=0,s=0;for(const a of t){const t=a[0].key;if(i=s,s=i+n.get(t),e<s)break;r++}return{row:r,top:i,bottom:s}}(t,i.cellRows,this.rowHeightRefMap.current),h=i.cellRows[c][o],u=h.date,m=n.addDays(u,1);return{dateProfile:i.dateProfile,dateSpan:Object.assign({range:{start:u,end:m},allDay:!0},h.dateSpanProps),dayEl:M(N(this.rootEl,c),o),rect:{left:l,right:d,top:g,bottom:f},layer:0}}}function j(e){return e.eventRange.def.allDay}function T(e,t,n,r,i){if(null!=e){const s=e/i.aspectRatio/6;return[r?"6em":t>6||n?s:void 0,s<70]}return[void 0,!1]}class O extends n.BaseComponent{constructor(){super(...arguments),this.handleInnerEl=e=>{this.disconectInnerHeight&&(this.disconectInnerHeight(),this.disconectInnerHeight=void 0),e?this.disconectInnerHeight=n.watchHeight(e,e=>{n.setRef(this.props.innerHeightRef,e)}):n.setRef(this.props.innerHeightRef,null)}}render(){const{props:e}=this,{renderConfig:t,dataConfig:i}=e;return r.createElement(n.ContentContainer,{tag:"div",attrs:i.attrs,className:n.joinClassNames(i.className,"fc-header-cell fc-cell fc-flex-col fc-align-center",e.borderStart&&"fc-border-s",!e.isSticky&&"fc-crop",null==e.colWidth&&"fc-liquid"),style:{width:null!=e.colWidth?e.colWidth*(i.colSpan||1):void 0},renderProps:i.renderProps,generatorName:t.generatorName,customGenerator:t.customGenerator,defaultGenerator:n.renderText,classNameGenerator:i.renderProps.isDisabled?void 0:t.classNameGenerator,didMount:t.didMount,willUnmount:t.willUnmount},t=>!i.renderProps.isDisabled&&r.createElement(t,{tag:i.isNavLink?"a":"div",attrs:i.innerAttrs,className:n.joinClassNames("fc-cell-inner fc-flex-col fc-padding-sm",e.isSticky&&"fc-sticky-s"),elRef:this.handleInnerEl}))}}class B extends n.BaseComponent{constructor(){super(...arguments),this.innerHeightRefMap=new n.RefMap(()=>{n.afterSize(this.handleInnerHeights)}),this.handleInnerHeights=()=>{const e=this.innerHeightRefMap.current;let t=0;for(const n of e.values())t=Math.max(t,n);this.currentInnerHeight!==t&&(this.currentInnerHeight=t,n.setRef(this.props.innerHeightRef,t))}}render(){const{props:e}=this;return r.createElement("div",{role:"row",className:n.joinClassNames("fc-flex-row fc-content-box",e.className),style:{height:e.height}},e.dataConfigs.map((t,n)=>r.createElement(O,{key:t.key,renderConfig:e.renderConfig,dataConfig:t,isSticky:e.isSticky,borderStart:Boolean(n),colWidth:e.colWidth,innerHeightRef:e.innerHeightRef})))}}class G extends n.BaseComponent{render(){const{props:e}=this;return r.createElement("div",{className:n.joinClassNames(e.className,"fc-flex-col",null==e.width&&"fc-liquid"),style:{width:e.width}},e.headerTiers.map((t,n)=>r.createElement(B,Object.assign({},t,{key:n,className:n?"fc-border-t":"",colWidth:e.colWidth}))))}}class I extends n.BaseComponent{constructor(){super(...arguments),this.handleScroller=e=>{n.setRef(this.props.scrollerRef,e)},this.handleClientWidth=e=>{this.setState({clientWidth:e})},this.handleEndScrollbarWidth=e=>{this.setState({endScrollbarWidth:e})}}render(){const{props:e,state:t,context:i}=this,{options:s}=i,a=!e.forPrint&&!n.getIsHeightAuto(s),o=!e.forPrint&&n.getStickyHeaderDates(s);return r.createElement(r.Fragment,null,s.dayHeaders&&r.createElement("div",{className:n.joinClassNames(e.forPrint?"fc-print-header":"fc-flex-row","fc-border-b")},r.createElement(G,{headerTiers:e.headerTiers,className:n.joinClassNames("fc-daygrid-header",o&&"fc-table-header-sticky")}),Boolean(t.endScrollbarWidth)&&r.createElement("div",{className:"fc-border-s fc-filler",style:{minWidth:t.endScrollbarWidth}})),r.createElement(n.Scroller,{vertical:a,clientWidthRef:this.handleClientWidth,endScrollbarWidthRef:this.handleEndScrollbarWidth,className:n.joinClassNames("fc-daygrid-body",!e.forPrint&&"fc-flex-col",a&&"fc-liquid"),ref:this.handleScroller},r.createElement(F,{dateProfile:e.dateProfile,todayRange:e.todayRange,cellRows:e.cellRows,forPrint:e.forPrint,isHitComboAllowed:e.isHitComboAllowed,className:"fc-grow",dayMaxEvents:e.forPrint?void 0:s.dayMaxEvents,dayMaxEventRows:s.dayMaxEventRows,fgEventSegs:e.fgEventSegs,bgEventSegs:e.bgEventSegs,businessHourSegs:e.businessHourSegs,dateSelectionSegs:e.dateSelectionSegs,eventDrag:e.eventDrag,eventResize:e.eventResize,eventSelection:e.eventSelection,visibleWidth:null!=t.clientWidth&&null!=t.endScrollbarWidth?t.clientWidth+t.endScrollbarWidth:void 0,rowHeightRefMap:e.rowHeightRefMap})))}}class A extends n.BaseComponent{constructor(){super(...arguments),this.headerScrollerRef=r.createRef(),this.bodyScrollerRef=r.createRef(),this.footerScrollerRef=r.createRef(),this.handleClientWidth=e=>{this.setState({clientWidth:e})},this.handleEndScrollbarWidth=e=>{this.setState({endScrollbarWidth:e})}}render(){const{props:e,state:t,context:i}=this,{options:s}=i,a=!e.forPrint&&!n.getIsHeightAuto(s),o=!e.forPrint&&n.getStickyHeaderDates(s),l=!e.forPrint&&n.getStickyFooterScrollbar(s),d=e.cellRows[0].length,[c,g]=x(d,e.dayMinWidth,t.clientWidth);return r.createElement(r.Fragment,null,s.dayHeaders&&r.createElement("div",{className:"fc-print-header"},r.createElement(n.Scroller,{horizontal:!0,hideScrollbars:!0,className:n.joinClassNames("fc-daygrid-header fc-flex-row fc-border-b",o&&"fc-table-header-sticky"),ref:this.headerScrollerRef},r.createElement(G,{headerTiers:e.headerTiers,colWidth:g,width:c}),Boolean(t.endScrollbarWidth)&&r.createElement("div",{className:"fc-border-s fc-filler",style:{minWidth:t.endScrollbarWidth}}))),r.createElement(n.Scroller,{vertical:a,horizontal:!0,hideScrollbars:l||e.forPrint,className:n.joinClassNames("fc-daygrid-body",!e.forPrint&&"fc-flex-col",a&&"fc-liquid"),ref:this.bodyScrollerRef,clientWidthRef:this.handleClientWidth,endScrollbarWidthRef:this.handleEndScrollbarWidth},r.createElement(F,{dateProfile:e.dateProfile,todayRange:e.todayRange,cellRows:e.cellRows,forPrint:e.forPrint,isHitComboAllowed:e.isHitComboAllowed,className:"fc-grow",dayMaxEvents:e.forPrint?void 0:s.dayMaxEvents,dayMaxEventRows:s.dayMaxEventRows,fgEventSegs:e.fgEventSegs,bgEventSegs:e.bgEventSegs,businessHourSegs:e.businessHourSegs,dateSelectionSegs:e.dateSelectionSegs,eventDrag:e.eventDrag,eventResize:e.eventResize,eventSelection:e.eventSelection,colWidth:g,width:c,visibleWidth:null!=t.clientWidth&&null!=t.endScrollbarWidth?t.clientWidth+t.endScrollbarWidth:void 0,rowHeightRefMap:e.rowHeightRefMap})),Boolean(l)&&r.createElement(n.StickyFooterScrollbar,{canvasWidth:c,scrollerRef:this.footerScrollerRef}))}componentDidMount(){const e=n.getScrollerSyncerClass(this.context.pluginHooks);this.syncedScroller=new e(!0),n.setRef(this.props.scrollerRef,this.syncedScroller),this.updateSyncedScroller()}componentDidUpdate(){this.updateSyncedScroller()}componentWillUnmount(){this.syncedScroller.destroy()}updateSyncedScroller(){this.syncedScroller.handleChildren([this.headerScrollerRef.current,this.bodyScrollerRef.current,this.footerScrollerRef.current])}}class U extends n.BaseComponent{constructor(){super(...arguments),this.scrollerRef=r.createRef(),this.rowHeightRefMap=new n.RefMap(()=>{n.afterSize(this.updateScrollY)}),this.scrollDate=null,this.updateScrollY=()=>{const e=this.rowHeightRefMap.current,t=this.scrollerRef.current;if(t&&this.scrollDate){let n=function(e,t,n,r=0){let i=0;for(const s of t){const t=s[0].date,a=s[s.length-1].date,o=t.toISOString();if(e>=t&&e<=a)return i;const l=n.get(o);if(null==l)return;i+=l+r}return i}(this.scrollDate,this.props.cellRows,e,1);null!=n&&(n&&n++,t.scrollTo({y:n}))}},this.clearScroll=()=>{this.scrollDate=null}}render(){const{props:e,context:t}=this,{options:i}=t,s=Object.assign(Object.assign({},e),{scrollerRef:this.scrollerRef,rowHeightRefMap:this.rowHeightRefMap});return r.createElement(n.ViewContainer,{viewSpec:t.viewSpec,className:n.joinClassNames(e.className,"fc-print-root fc-border")},i.dayMinWidth?r.createElement(A,Object.assign({},s,{dayMinWidth:i.dayMinWidth})):r.createElement(I,Object.assign({},s)))}componentDidMount(){this.resetScroll(),this.scrollerRef.current.addScrollEndListener(this.clearScroll)}componentDidUpdate(e){e.dateProfile!==this.props.dateProfile&&this.context.options.scrollTimeReset&&this.resetScroll()}componentWillUnmount(){this.scrollerRef.current.removeScrollEndListener(this.clearScroll)}resetScroll(){this.scrollDate=this.props.dateProfile.currentDate,this.updateScrollY();this.scrollerRef.current.scrollTo({x:0})}}class q extends n.BaseComponent{constructor(){super(...arguments),this.buildDayTableModel=n.memoize(D),this.buildDateRowConfigs=n.memoize(o),this.createDayHeaderFormatter=n.memoize(k),this.slicer=new i}render(){const{props:e,context:t}=this,{options:i}=t,s=this.buildDayTableModel(e.dateProfile,t.dateProfileGenerator),a=1===s.rowCnt,o=this.createDayHeaderFormatter(t.options.dayHeaderFormat,a,s.colCnt),l=this.slicer.sliceProps(e,e.dateProfile,i.nextDayThreshold,t,s);return r.createElement(n.NowTimer,{unit:"day"},(n,i)=>{const d=this.buildDateRowConfigs(s.headerDates,a,e.dateProfile,i,o,t);return r.createElement(U,{dateProfile:e.dateProfile,todayRange:i,cellRows:s.cellRows,forPrint:e.forPrint,className:"fc-daygrid",headerTiers:d,fgEventSegs:l.fgEventSegs,bgEventSegs:l.bgEventSegs,businessHourSegs:l.businessHourSegs,dateSelectionSegs:l.dateSelectionSegs,eventDrag:l.eventDrag,eventResize:l.eventResize,eventSelection:l.eventSelection})})}}class L extends n.DateProfileGenerator{buildRenderRange(e,t,n){let r=super.buildRenderRange(e,t,n),{props:i}=this;return Y({currentRange:r,snapToWeek:/^(year|month)$/.test(t),fixedWeekCount:i.fixedWeekCount,dateEnv:i.dateEnv})}}function Y(e){let t,{dateEnv:r,currentRange:i}=e,{start:s,end:a}=i;if(e.snapToWeek&&(s=r.startOfWeek(s),t=r.startOfWeek(a),t.valueOf()!==a.valueOf()&&(a=n.addWeeks(t,1))),e.fixedWeekCount){let e=r.startOfWeek(r.startOfMonth(n.addDays(i.end,-1))),t=Math.ceil(n.diffWeeks(e,a));a=n.addWeeks(a,6-t)}return{start:s,end:a}}n.injectStyles(":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-media-print .fc-daygrid-event{overflow:hidden!important;white-space:nowrap!important}.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;z-index:2}.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-daygrid-dot-event .fc-event-title{flex-basis:0;flex-grow:1;font-weight:700;min-height:0;min-width:0}");var _=t.createPlugin({name:"@fullcalendar/daygrid",initialView:"dayGridMonth",views:{dayGrid:{component:q,dateProfileGeneratorClass:L},dayGridDay:{type:"dayGrid",duration:{days:1}},dayGridWeek:{type:"dayGrid",duration:{weeks:1}},dayGridMonth:{type:"dayGrid",duration:{months:1},fixedWeekCount:!0},dayGridYear:{type:"dayGrid",duration:{years:1}}}}),V={__proto__:null,DayTableSlicer:i,TableDateProfileGenerator:L,buildDayTableRenderRange:Y,DayGridView:q,DayGridHeaderRow:B,buildDateRowConfigs:o,buildDateRowConfig:l,buildDateRenderConfig:d,buildDateDataConfigs:c,createDayHeaderFormatter:k,DayGridLayout:U,computeRowHeight:T,DayGridRow:z,DayGridRows:F,buildDayTableModel:D,computeColWidth:x,computeColFromPosition:H,getRowEl:N,getCellEl:M};return t.globalPlugins.push(_),e.Internal=V,e.default=_,Object.defineProperty(e,"__esModule",{value:!0}),e}({},FullCalendar,FullCalendar.Internal,FullCalendar.Preact);
|