@fullcalendar/daygrid 7.0.0-beta.4 → 7.0.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -1
- package/README.md +6 -1
- package/{index.cjs → cjs/index.cjs} +15 -4
- package/cjs/internal.cjs +1339 -0
- package/esm/index.d.ts +23 -0
- package/{index.js → esm/index.js} +14 -3
- package/{internal.d.ts → esm/internal.d.ts} +49 -31
- package/{internal.js → esm/internal.js} +397 -272
- package/{index.global.js → global.js} +412 -273
- package/global.min.js +6 -0
- package/package.json +22 -19
- package/index.d.ts +0 -6
- package/index.global.min.js +0 -6
- package/internal.cjs +0 -1208
package/global.min.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
FullCalendar Day Grid Plugin v7.0.0-beta.6
|
|
3
|
+
Docs & License: https://fullcalendar.io/docs/month-view
|
|
4
|
+
(c) 2025 Adam Shaw
|
|
5
|
+
*/
|
|
6
|
+
FullCalendar.DayGrid=function(e,t,s,r,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}var i=a(FullCalendar.InternalClassNames);class o extends s.Slicer{constructor(){super(...arguments),this.forceDayIfListItem=!0}sliceRange(e,t){return t.sliceRange(e)}}const l=new Date(2592e5);function d(e,t,r,n,a,i){const o=c(e,t,r,n,a,i),l=s.computeMajorUnit(r,i.dateEnv);if(t)for(const e of o.dataConfigs)s.isMajorUnit(e.dateMarker,l,i.dateEnv)&&(e.renderProps.isMajor=!0);return[o]}function c(e,t,s,r,n,a,i,o){return{isDateRow:!0,renderConfig:h(a),dataConfigs:g(e,t,s,r,n,a,i,void 0,void 0,void 0,void 0,o)}}function h(e){const{options:t}=e;return{generatorName:"dayHeaderContent",customGenerator:t.dayHeaderContent,classNameGenerator:t.dayHeaderClass,innerClassNameGenerator:t.dayHeaderInnerClass,didMount:t.dayHeaderDidMount,willUnmount:t.dayHeaderWillUnmount,align:t.dayHeaderAlign,sticky:t.dayHeaderSticky}}const u=[];for(let e=0;e<7;e++)u.push(s.addDays(new Date(2592e5),e));function g(e,t,r,n,a,i,o=1,d="",c={},h={},g="",f){const{dateEnv:m,viewApi:p,options:y}=i;return t?e.map((l,u)=>{const v=s.getDateMeta(l,m,r,n),R=null!=f&&!(u%f),[S,b]=m.format(l,a),w=y.navLinks&&!v.isDisabled&&e.length>1,E=Object.assign(Object.assign(Object.assign({},v),c),{text:S,textParts:b,get weekdayText(){return s.findWeekdayText(b)},get dayNumberText(){return t?s.findDayNumberText(b):""},isMajor:R,isNarrow:!1,isSticky:!1,inPopover:!1,level:0,hasNavLink:w,view:p}),N=s.buildDateStr(i,l);return{key:d+l.toUTCString(),dateMarker:l,renderProps:E,attrs:Object.assign(Object.assign(Object.assign({"aria-label":N},v.isToday?{"aria-current":"date"}:{}),{"data-date":s.formatDayString(l)}),h),innerAttrs:w?s.buildNavLinkAttrs(i,l,void 0,N):{"aria-hidden":!0},colSpan:o,hasNavLink:w,className:g}}):e.map((e,r)=>{const n=e.getUTCDay(),i=s.addDays(l,n),y={date:m.toDate(e),dow:n,isDisabled:!1,isFuture:!1,isPast:!1,isToday:!1,isOther:!1},v=null!=f&&!(r%f),[R,S]=m.format(i,a),b=Object.assign(Object.assign(Object.assign({},y),{date:u[n],isMajor:v,isNarrow:!1,isSticky:!1,inPopover:!1,hasNavLink:!1,level:0,view:p,text:R,textParts:S,get weekdayText(){return s.findWeekdayText(S)},get dayNumberText(){return t?s.findDayNumberText(S):""}}),c),w=m.format(i,s.WEEKDAY_ONLY_FORMAT)[0];return{key:d+String(n),dateMarker:e,renderProps:b,attrs:Object.assign({"aria-label":w},h),innerAttrs:{"aria-hidden":!0},colSpan:o,className:g}})}function f(e){return s.getEventKey(e)+":"+e.start+(e.standinFor?":standin":e.isSlice?":slice":"")}function m(e,t){const s=[];for(let e=0;e<t;e++)s[e]=[];for(const t of e)s[t.row].push(t);return s}function p(e,t){const s=[];if(e){for(let r=0;r<t;r++)s[r]={affectedInstances:e.affectedInstances,isEvent:e.isEvent,segs:[]};for(const t of e.segs)s[t.row].segs.push(t)}else for(let e=0;e<t;e++)s[e]=null;return s}function y(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 v=s.createFormatter({hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"narrow"});function R(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 S extends s.BaseComponent{render(){let{props:e}=this;return r.createElement(s.MoreLinkContainer,{display:"row",className:e.className,isNarrow:e.isNarrow,isMicro:e.isMicro,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:()=>r.createElement(r.Fragment,null,e.segs.map(t=>{let{eventRange:n}=t,{instanceId:a}=n.instance,i=Boolean(e.eventDrag&&e.eventDrag.affectedInstances[a]),o=Boolean(e.eventResize&&e.eventResize.affectedInstances[a]),l=i||o;return r.createElement("div",{key:a,style:{visibility:l?"hidden":void 0}},r.createElement(s.StandardEvent,Object.assign({display:R(t)?"list-item":"row",eventRange:n,isStart:t.isStart,isEnd:t.isEnd,isDragging:i,isResizing:o,isMirror:!1,isSelected:a===e.eventSelection,defaultTimeFormat:v,defaultDisplayEventEnd:!1},s.getEventRangeMeta(n,e.todayRange))))}))})}}class b extends s.DateComponent{constructor(){super(...arguments),this.getDateMeta=s.memoize(s.getDateMeta),this.refineRenderProps=s.memoizeObjArg(E),this.rootElRef=r.createRef(),this.handleBodyEl=e=>{this.disconnectBodyHeight&&(this.disconnectBodyHeight(),this.disconnectBodyHeight=void 0,s.setRef(this.props.headerHeightRef,null),s.setRef(this.props.mainHeightRef,null)),e&&(this.disconnectBodyHeight=s.watchSize(e,(t,r)=>{const{props:n}=this,a=e.getBoundingClientRect(),i=this.rootElRef.current.getBoundingClientRect(),o=a.top-i.top;s.isDimsEqual(this.headerHeight,o)||(this.headerHeight=o,s.setRef(n.headerHeightRef,o)),n.fgLiquidHeight&&s.setRef(n.mainHeightRef,r)}))}}render(){let{props:e,context:n}=this,{options:a,dateEnv:o}=n;const l=e.showDayNumber&&function(e,t,r){const{start:n,end:a}=t,i=s.addMs(a,-1),o=r.getYear(n),l=r.getMonth(n),d=r.getYear(i),c=r.getMonth(i);return!(o===d&&l===c)&&Boolean(e.valueOf()===n.valueOf()||1===r.getDay(e)&&e.valueOf()<a.valueOf())}(e.date,e.dateProfile.currentRange,o),d=this.getDateMeta(e.date,o,e.dateProfile,e.todayRange),c=t.joinClassNames(e.borderStart?i.default.borderOnlyS:i.default.borderNone,null!=e.width?"":i.default.liquid,i.default.flexCol),h=a.navLinks,u=this.refineRenderProps({date:e.date,isMajor:e.isMajor,isNarrow:e.isNarrow,dateMeta:d,hasLabel:e.showDayNumber,hasMonthLabel:l,hasNavLink:h,renderProps:e.renderProps,viewApi:n.viewApi,dateEnv:n.dateEnv,monthStartFormat:a.monthStartFormat,dayCellFormat:a.dayCellFormat,businessHours:Boolean(a.businessHours)});if(d.isDisabled)return r.createElement("div",{role:"gridcell","aria-disabled":!0,className:s.joinArrayishClassNames(s.generateClassName(a.dayCellClass,u),e.className,c),style:{width:e.width}});const g=s.buildDateStr(n,e.date);return r.createElement(s.ContentContainer,{tag:"div",elRef:this.rootElRef,className:t.joinClassNames(e.className,c),attrs:Object.assign(Object.assign(Object.assign(Object.assign({},e.attrs),{role:"gridcell","aria-label":g}),u.isToday?{"aria-current":"date"}:{}),{"data-date":s.formatDayString(e.date)}),style:{width:e.width},renderProps:u,generatorName:"dayCellTopContent",customGenerator:a.dayCellTopContent,defaultGenerator:w,classNameGenerator:a.dayCellClass,didMount:a.dayCellDidMount,willUnmount:a.dayCellWillUnmount},o=>r.createElement(r.Fragment,null,r.createElement("div",{className:t.joinClassNames(i.default.rel,s.generateClassName(a.dayCellTopClass,u))},e.showDayNumber&&r.createElement(o,{tag:"div",attrs:h?s.buildNavLinkAttrs(n,e.date,void 0,g):{"aria-hidden":!0},className:s.generateClassName(a.dayCellTopInnerClass,u)})),r.createElement("div",{className:t.joinClassNames(i.default.flexCol,e.fgLiquidHeight?i.default.liquid:i.default.grow),ref:this.handleBodyEl},r.createElement("div",{className:s.generateClassName(a.dayCellInnerClass,u),style:{minHeight:e.fgHeight}},e.fg),r.createElement(S,{className:i.default.rel,allDayDate:e.date,segs:e.segs,hiddenSegs:e.hiddenSegs,alignElRef:this.rootElRef,alignParentTop:e.showDayNumber?"[role=row]":"."+i.default.internalView,dateSpanProps:e.dateSpanProps,dateProfile:e.dateProfile,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,todayRange:e.todayRange,isNarrow:e.isNarrow,isMicro:e.isMicro})),r.createElement("div",{className:t.joinClassNames(i.default.rel,s.generateClassName(a.dayCellBottomClass,u))})))}}function w(e){return e.text||r.createElement(r.Fragment,null," ")}function E(e){let{date:t,dateEnv:r,hasLabel:n,hasMonthLabel:a,hasNavLink:i,businessHours:o}=e,[l,d]=n?r.format(t,a?e.monthStartFormat:e.dayCellFormat):["",[]];return Object.assign(Object.assign(Object.assign({},e.dateMeta),e.renderProps),{text:l,textParts:d,isMajor:e.isMajor,isNarrow:e.isNarrow,inPopover:!1,hasNavLink:i,get dayNumberText(){return s.findDayNumberText(d)},get monthText(){return s.findMonthText(d)},options:{businessHours:o},view:e.viewApi})}function N(e,t){let s=e.get(t.eventRange);s||e.set(t.eventRange,s=[]),s.push(t)}function C(e,t,r){const n=new s.DaySeriesModel(e.renderRange,t),a=/year|month|week/.test(e.currentRangeUnit),i=!a&&s.computeMajorUnit(e,r);return new s.DayTableModel(n,a,r,i)}function M(e,t,s){if(null==s)return[void 0,void 0];return s/e<t?[t*e,t]:[s,void 0]}function D(e,t,r){let n,a;if(null!=t)n=e.start*t,a=(r-e.end)*t;else{const t=1/r;n=s.fracToCssDim(e.start*t),a=s.fracToCssDim(1-e.end*t)}return{insetInlineStart:n,insetInlineEnd:a}}function H(e,t,s,r,n){const a=null!=s?s:t/r,i=Math.floor(e/a),o=i*a;return{col:n?r-i-1:i,left:o,right:o+a}}function k(e,t){return e.querySelectorAll("[role=row]")[t]}function x(e,t){return e.querySelectorAll("[role=gridcell]")[t]}const P=s.createFormatter({weekday:"narrow"});function W(e,t,r){return e||function(e,t){if(!e)return s.createFormatter({weekday:"short"});if(t>1)return s.createFormatter({weekday:"short",weekdayJustify:"start",day:"numeric",omitCommas:!0});return s.createFormatter({weekday:"long",weekdayJustify:"start",day:"numeric",omitCommas:!0})}(t,r)}class I extends r.Component{constructor(){super(...arguments),this.rootElRef=r.createRef()}render(){const{props:e}=this;return r.createElement("div",{className:t.joinClassNames(e.className,i.default.abs),style:e.style,ref:this.rootElRef},e.children)}componentDidMount(){const e=this.rootElRef.current;this.disconnectHeight=s.watchHeight(e,e=>{s.setRef(this.props.heightRef,e)})}componentWillUnmount(){this.disconnectHeight(),s.setRef(this.props.heightRef,null)}}const j=s.createFormatter({week:"narrow"});class T extends s.BaseComponent{constructor(){super(...arguments),this.headerHeightRefMap=new s.RefMap(()=>{s.afterSize(this.handleSegPositioning)}),this.mainHeightRefMap=new s.RefMap(()=>{(!0===this.props.dayMaxEvents||!0===this.props.dayMaxEventRows)&&s.afterSize(this.handleSegPositioning)}),this.segHeightRefMap=new s.RefMap(()=>{s.afterSize(this.handleSegPositioning)}),this.buildWeekNumberRenderProps=s.memoize(O),this.handleRootEl=e=>{this.rootEl=e,s.setRef(this.props.rootElRef,e)},this.handleSegPositioning=()=>{this.forceUpdate()}}render(){const{props:e,context:t,headerHeightRefMap:n,mainHeightRefMap:a}=this,{cells:o}=e,{options:l}=t,d=e.cells[0].date,c=!0===e.dayMaxEvents||!0===e.dayMaxEventRows,h=s.sortEventSegs(e.fgEventSegs,l.eventOrder),[u,g]=this.computeFgDims(),[m,p,v,R,S]=function(e,t,r,n,a,i=!0,o,l){let d,c,h;!0===o||!0===l?(d=n,h=!0):"number"==typeof o?(c=o,h=!1):"number"==typeof l&&(c=l,h=!0);const u=new Map,g=new Map,m=new Map,p=new Map;let v=new s.SegHierarchy(e,e=>t.get(f(e)),a,d,c,h,i);v.traverseSegs((e,t)=>{N(u,e),m.set(f(e),t),e.isSlice&&p.set(e.eventRange,!0)});for(const e of v.hiddenSegs)N(g,e);if(p.size){m.clear(),v=new s.SegHierarchy(function(e,t){const s=[];for(const r of e)s.push(...t.get(r.eventRange)||[]);return s}(e,u),e=>t.get(f(e)),a,d,c,h),v.traverseSegs((e,t)=>{m.set(f(e),t)});for(const e of v.hiddenSegs)N(g,e)}const R=[],S=[],b=[],w=[];for(let e=0;e<r.length;e++)R.push([]),S.push([]),b.push([]),w.push(0);for(const s of e){const{eventRange:e}=s,r=u.get(e)||[],n=g.get(e)||[],a=p.get(e)||!1;if(b[s.start].push(s),a)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 s=y(e,t);R[t].push(s)}const s=f(e),r=m.get(s);if(null!=r){const n=t.get(s);for(let t=e.start;t<e.end;t++)w[t]=Math.max(w[t],r+n)}}for(const e of n)for(let t=e.start;t<e.end;t++){const s=y(e,t);R[t].push(s),S[t].push(s)}}return[R,S,b,m,w]}(h,this.segHeightRefMap.current,o,c?g:void 0,l.eventOrderStrict,l.eventSlicing,e.dayMaxEvents,e.dayMaxEventRows),w=[];if(null!=u){let e=0;for(const t of o){const s=n.current.get(t.key),r=u-s;w.push(S[e++]+r)}}const E=this.getHighlightSegs(),C=this.getMirrorSegs(),M=l.navLinks,D=s.buildDateStr(t,d,"week"),H=this.buildWeekNumberRenderProps(d,t,e.cellIsNarrow,M);return r.createElement("div",{role:e.role,"aria-label":"row"===e.role?D:void 0,className:s.joinArrayishClassNames(l.dayRowClass,e.className,i.default.flexRow,i.default.rel,i.default.isolate,e.forPrint&&void 0!==e.basis&&i.default.printSiblingRow),style:{"flex-basis":e.basis},ref:this.handleRootEl},e.showWeekNumbers&&!e.cellIsMicro&&r.createElement(s.ContentContainer,{tag:"div",attrs:Object.assign(Object.assign({},M?s.buildNavLinkAttrs(t,d,"week",D,!1):{}),{role:void 0,"aria-hidden":!0}),className:i.default.z1,renderProps:H,generatorName:"inlineWeekNumberContent",customGenerator:l.inlineWeekNumberContent,defaultGenerator:s.renderText,classNameGenerator:l.inlineWeekNumberClass,didMount:l.inlineWeekNumberDidMount,willUnmount:l.inlineWeekNumberWillUnmount}),this.renderFillSegs(e.businessHourSegs,"non-business"),this.renderFillSegs(e.bgEventSegs,"bg-event"),this.renderFillSegs(E,"highlight"),e.cells.map((t,s)=>{const i=this.renderFgSegs(u,v[s],R,e.todayRange,!1);return r.createElement(b,{key:t.key,dateProfile:e.dateProfile,todayRange:e.todayRange,date:t.date,isMajor:t.isMajor,showDayNumber:e.showDayNumbers,isNarrow:e.cellIsNarrow,isMicro:e.cellIsMicro,borderStart:Boolean(s),segs:m[s],hiddenSegs:p[s],fgLiquidHeight:c,fg:r.createElement(r.Fragment,null,i),eventDrag:e.eventDrag,eventResize:e.eventResize,eventSelection:e.eventSelection,renderProps:t.renderProps,dateSpanProps:t.dateSpanProps,attrs:t.attrs,className:t.className,fgHeight:w[s],width:e.colWidth,headerHeightRef:n.createRef(t.key),mainHeightRef:a.createRef(t.key)})}),this.renderFgSegs(u,C,R,e.todayRange,!0))}renderFgSegs(e,t,n,a,o){var l;const{props:d,segHeightRefMap:c}=this,{colWidth:h,eventSelection:u,cellIsMicro:g}=d,m=d.cells.length,p=1===d.cells.length,y=[];for(const S of t){const t=f(S),{standinFor:b,eventRange:w}=S,{instanceId:E}=w.instance;if(b)continue;const{insetInlineStart:N,insetInlineEnd:C}=D(S,h,m),M=null!==(l=n.get(b?f(b):t))&&void 0!==l?l:o?0:void 0,H=null!=e&&null!=M?e+M:void 0,k=Boolean(d.eventDrag&&d.eventDrag.affectedInstances[E]),x=Boolean(d.eventResize&&d.eventResize.affectedInstances[E]),P=!o&&(k||x||b||null==H),W=R(S);y.push(r.createElement(I,{key:t,className:S.start?i.default.fakeBorderS:"",style:{visibility:P?"hidden":void 0,top:H,insetInlineStart:N,insetInlineEnd:C,zIndex:0},heightRef:b||o?null:c.createRef(t)},r.createElement(s.StandardEvent,Object.assign({display:W?"list-item":"row",eventRange:w,isStart:S.isStart,isEnd:S.isEnd,isDragging:k,isResizing:x,isMirror:o,isSelected:E===u,isNarrow:d.cellIsNarrow,defaultTimeFormat:v,defaultDisplayEventEnd:p,disableResizing:W,forcedTimeText:g?"":void 0},s.getEventRangeMeta(w,a)))))}return y}renderFillSegs(e,t){const{props:n,context:a}=this,{todayRange:o,colWidth:l}=n,d=n.cells.length,c=[];for(const h of e){const e=s.buildEventRangeKey(h.eventRange),{insetInlineStart:u,insetInlineEnd:g}=D(h,l,d),f=!h.standinFor;c.push(r.createElement("div",{key:e,className:i.default.fillY,style:{visibility:f?"":"hidden",insetInlineStart:u,insetInlineEnd:g}},"bg-event"===t?r.createElement(s.BgEvent,Object.assign({eventRange:h.eventRange,isStart:h.isStart,isEnd:h.isEnd,isNarrow:n.cellIsNarrow,isVertical:!1},s.getEventRangeMeta(h.eventRange,o))):s.renderFill(t,a.options)))}return r.createElement(r.Fragment,{},...c)}componentDidMount(){const{rootEl:e}=this;this.disconnectHeight=s.watchHeight(e,e=>{s.setRef(this.props.heightRef,e)})}componentWillUnmount(){this.disconnectHeight(),s.setRef(this.props.heightRef,null)}computeFgDims(){const{cells:e}=this.props,t=this.headerHeightRefMap.current,s=this.mainHeightRefMap.current;let r,n;for(const a of e){const e=t.get(a.key),i=s.get(a.key);if(null!=e&&((void 0===r||e>r)&&(r=e),null!=i)){const t=e+i;(void 0===n||t<n)&&(n=t)}}return[r,null!=n&&null!=r?n-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}}function O(e,t,s,r){const{dateEnv:n,options:a}=t,i=n.computeWeekNumber(e),[o,l]=n.format(e,a.weekNumberFormat||j);return{num:i,text:o,textParts:l,date:n.toDate(e),isNarrow:s,hasNavLink:r}}class z extends s.DateComponent{constructor(){super(...arguments),this.splitBusinessHourSegs=s.memoize(m),this.splitBgEventSegs=s.memoize(m),this.splitFgEventSegs=s.memoize(m),this.splitDateSelectionSegs=s.memoize(m),this.splitEventDrag=s.memoize(p),this.splitEventResize=s.memoize(p),this.rowHeightRefMap=new s.RefMap((e,t)=>{const{rowHeightRefMap:s}=this.props;s&&s.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:n,rowHeightRefMap:a}=this,{options:o}=n,l=e.cellRows.length,d=this.splitFgEventSegs(e.fgEventSegs,l),c=this.splitBgEventSegs(e.bgEventSegs,l),h=this.splitBusinessHourSegs(e.businessHourSegs,l),u=this.splitDateSelectionSegs(e.dateSelectionSegs,l),g=this.splitEventDrag(e.eventDrag,l),f=this.splitEventResize(e.eventResize,l),m=s.getIsHeightAuto(o),p=!e.forPrint&&!m,y=B(e.visibleWidth,l,m,o);return r.createElement("div",{role:"rowgroup",className:t.joinClassNames(e.className,!e.forPrint&&i.default.flexCol),style:{width:e.width},ref:this.handleRootEl},e.cellRows.map((s,n)=>r.createElement(T,{key:s[0].key,role:"row",dateProfile:e.dateProfile,todayRange:e.todayRange,cells:s,cellIsNarrow:e.cellIsNarrow,cellIsMicro:e.cellIsMicro,showDayNumbers:l>1,showWeekNumbers:l>1&&o.weekNumbers,forPrint:e.forPrint,className:t.joinClassNames(p&&i.default.grow,l>1&&i.default.breakInsideAvoid,n<l-1?i.default.borderOnlyB:i.default.borderNone),fgEventSegs:d[n],bgEventSegs:c[n].filter(F),businessHourSegs:h[n],dateSelectionSegs:u[n],eventSelection:e.eventSelection,eventDrag:g[n],eventResize:f[n],dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,colWidth:e.colWidth,basis:y,heightRef:a.createRef(s[0].key)})))}queryHit(e,t,r,n){const{props:a}=this,i=a.cellRows[0].length,{col:o,left:l,right:d}=H(t,n,a.colWidth,i,e),{row:c,top:h,bottom:u}=function(e,t,s){let r=0,n=0,a=0;for(const i of t){const t=i[0].key;if(n=a,a=n+s.get(t),e<a)break;r++}return{row:r,top:n,bottom:a}}(r,a.cellRows,this.rowHeightRefMap.current),g=a.cellRows[c][o],f=g.date,m=s.addDays(f,1);return{dateProfile:a.dateProfile,dateSpan:Object.assign({range:{start:f,end:m},allDay:!0},g.dateSpanProps),getDayEl:()=>x(k(this.rootEl,c),o),rect:{left:l,right:d,top:h,bottom:u},layer:0}}}function F(e){return e.eventRange.def.allDay}function B(e,t,s,r){if(null!=e){const n=e/r.aspectRatio/6;return t>6||s?n:0}return 0}class G extends s.BaseComponent{constructor(){super(...arguments),this.handleInnerEl=e=>{this.disconnectSize&&(this.disconnectSize(),this.disconnectSize=void 0),e?this.disconnectSize=s.watchSize(e,(e,t)=>{s.setRef(this.props.innerHeightRef,t),"center"===this.align&&this.isSticky&&this.setState({innerWidth:e})}):s.setRef(this.props.innerHeightRef,null)}}render(){const{props:e,state:n,context:a}=this,{renderConfig:o,dataConfig:l}=e,d=l.renderProps.isDisabled,c=Object.assign(Object.assign({},l.renderProps),{isNarrow:e.cellIsNarrow,level:e.rowLevel});if(e.cellIsMicro){const[e,t]=a.dateEnv.format(l.dateMarker,P);c.text=c.weekdayText=e,c.textParts=t}const h=o.align,u=this.align="function"==typeof h?h({level:e.rowLevel,inPopover:l.renderProps.inPopover,isNarrow:e.cellIsNarrow}):h,g=o.sticky,f=this.isSticky=e.rowLevel&&!1!==g;let m;return f&&("center"===u?null!=n.innerWidth&&(m=`calc(50% - ${n.innerWidth/2}px)`):m="number"==typeof g||"string"==typeof g?g:0),r.createElement(s.ContentContainer,{tag:"div",attrs:Object.assign({role:"columnheader","aria-colspan":l.colSpan},l.attrs),className:t.joinClassNames(l.className,i.default.tight,i.default.flexCol,e.borderStart?i.default.borderOnlyS:i.default.borderNone,"center"===u?i.default.alignCenter:"end"===u?i.default.alignEnd:i.default.alignStart,null==e.colWidth&&i.default.liquid,!f&&i.default.crop),style:{width:null!=e.colWidth?e.colWidth*(l.colSpan||1):void 0},renderProps:c,generatorName:o.generatorName,customGenerator:o.customGenerator,defaultGenerator:s.renderText,classNameGenerator:d?void 0:o.classNameGenerator,didMount:o.didMount,willUnmount:o.willUnmount},e=>r.createElement("div",{ref:this.handleInnerEl,className:t.joinClassNames(i.default.flexCol,i.default.rigid,f&&i.default.sticky),style:{left:m,right:m}},r.createElement(e,{tag:"div",attrs:l.innerAttrs,className:s.generateClassName(o.innerClassNameGenerator,c)})))}}class A extends s.BaseComponent{constructor(){super(...arguments),this.innerHeightRefMap=new s.RefMap(()=>{s.afterSize(this.handleInnerHeights)}),this.handleInnerHeights=()=>{const e=this.innerHeightRefMap.current;let t=0;for(const s of e.values())t=Math.max(t,s);this.currentInnerHeight!==t&&(this.currentInnerHeight=t,s.setRef(this.props.innerHeightRef,t))}}render(){const{props:e,context:t}=this,{options:n}=t;return r.createElement("div",{role:e.role,"aria-rowindex":null!=e.rowIndex?1+e.rowIndex:void 0,className:s.joinArrayishClassNames(n.dayHeaderRowClass,e.className,i.default.flexRow,i.default.contentBox,e.borderBottom?i.default.borderOnlyB:i.default.borderNone),style:{height:e.height}},e.dataConfigs.map((t,s)=>r.createElement(G,{key:t.key,renderConfig:e.renderConfig,dataConfig:t,borderStart:Boolean(s),colWidth:e.colWidth,innerHeightRef:this.innerHeightRefMap.createRef(t.key),cellIsNarrow:e.cellIsNarrow,cellIsMicro:e.cellIsMicro,rowLevel:e.rowLevel})))}componentWillUnmount(){s.setRef(this.props.innerHeightRef,null)}}class L extends s.BaseComponent{render(){const{props:e}=this,{headerTiers:s}=e;return r.createElement("div",{role:"rowgroup",className:t.joinClassNames(e.className,i.default.flexCol,null==e.width&&i.default.liquid),style:{width:e.width}},s.map((t,n)=>r.createElement(A,Object.assign({},t,{key:n,role:"row",borderBottom:n<s.length-1,colWidth:e.colWidth,cellIsNarrow:e.cellIsNarrow,cellIsMicro:e.cellIsMicro,rowLevel:s.length-n-1}))))}}class U extends s.BaseComponent{constructor(){super(...arguments),this.handleScroller=e=>{s.setRef(this.props.scrollerRef,e)},this.handleTotalWidth=e=>{this.setState({totalWidth:e})},this.handleClientWidth=e=>{this.setState({clientWidth:e})}}render(){const{props:e,state:n,context:a}=this,{options:o}=a,{totalWidth:l,clientWidth:d}=n;let c=null!=l&&null!=d?l-d:void 0;c<3&&(c=0);const h=!e.forPrint&&!s.getIsHeightAuto(o),u=!e.forPrint&&s.getStickyHeaderDates(o),g=e.cellRows[0].length,f=null!=d?d/g:void 0,m=null!=f&&f<=50,p=m||null!=f&&f<=o.dayNarrowWidth;return r.createElement(r.Fragment,null,o.dayHeaders&&r.createElement("div",{className:t.joinClassNames(s.generateClassName(o.tableHeaderClass,{isSticky:u}),e.borderlessX&&i.default.borderlessX,i.default.printHeader,u&&i.default.tableHeaderSticky)},r.createElement("div",{className:i.default.flexRow},r.createElement(L,{headerTiers:e.headerTiers,cellIsNarrow:p,cellIsMicro:m}),Boolean(c)&&r.createElement("div",{className:s.joinArrayishClassNames(s.generateClassName(o.fillerClass,{isHeader:!0}),i.default.borderOnlyS),style:{minWidth:c}})),r.createElement("div",{className:s.generateClassName(o.dayHeaderDividerClass,{isSticky:u,options:{allDaySlot:Boolean(o.allDaySlot)}})})),r.createElement(s.Scroller,{vertical:h,className:s.joinArrayishClassNames(o.tableBodyClass,e.borderlessX&&i.default.borderlessX,u&&i.default.borderlessTop,(u||e.noEdgeEffects)&&i.default.noEdgeEffects,!e.forPrint&&i.default.flexCol,h&&i.default.liquid),ref:this.handleScroller,clientWidthRef:this.handleClientWidth},r.createElement(z,{dateProfile:e.dateProfile,todayRange:e.todayRange,cellRows:e.cellRows,forPrint:e.forPrint,isHitComboAllowed:e.isHitComboAllowed,className:i.default.grow,dayMaxEvents:e.forPrint?void 0:o.dayMaxEvents,dayMaxEventRows:o.dayMaxEventRows,fgEventSegs:e.fgEventSegs,bgEventSegs:e.bgEventSegs,businessHourSegs:e.businessHourSegs,dateSelectionSegs:e.dateSelectionSegs,eventDrag:e.eventDrag,eventResize:e.eventResize,eventSelection:e.eventSelection,visibleWidth:l,cellIsNarrow:p,cellIsMicro:m,rowHeightRefMap:e.rowHeightRefMap})),r.createElement(s.Ruler,{widthRef:this.handleTotalWidth}))}}class q extends s.BaseComponent{constructor(){super(...arguments),this.headerScrollerRef=r.createRef(),this.bodyScrollerRef=r.createRef(),this.footerScrollerRef=r.createRef(),this.handleTotalWidth=e=>{this.setState({totalWidth:e})},this.handleClientWidth=e=>{this.setState({clientWidth:e})}}render(){const{props:e,state:n,context:a}=this,{options:o}=a,{totalWidth:l,clientWidth:d}=n,c=null!=l&&null!=d?l-d:void 0,h=!e.forPrint&&!s.getIsHeightAuto(o),u=!e.forPrint&&s.getStickyHeaderDates(o),g=!e.forPrint&&s.getStickyFooterScrollbar(o),f=e.cellRows[0].length,[m,p]=M(f,e.dayMinWidth,d),y=null!=p&&p<=50,v=y||null!=p&&p<=o.dayNarrowWidth;return r.createElement(r.Fragment,null,o.dayHeaders&&r.createElement("div",{className:t.joinClassNames(s.generateClassName(o.tableHeaderClass,{isSticky:u}),e.borderlessX&&i.default.borderlessX,i.default.printHeader,u&&i.default.tableHeaderSticky)},r.createElement(s.Scroller,{horizontal:!0,hideScrollbars:!0,className:i.default.flexRow,ref:this.headerScrollerRef},r.createElement(L,{headerTiers:e.headerTiers,colWidth:p,width:m,cellIsNarrow:v,cellIsMicro:y}),Boolean(c)&&r.createElement("div",{className:s.joinArrayishClassNames(s.generateClassName(o.fillerClass,{isHeader:!0}),i.default.borderOnlyS),style:{minWidth:c}})),r.createElement("div",{className:s.generateClassName(o.dayHeaderDividerClass,{isSticky:u,options:{allDaySlot:Boolean(o.allDaySlot)}})})),r.createElement(s.Scroller,{vertical:h,horizontal:!0,hideScrollbars:g||e.forPrint,className:s.joinArrayishClassNames(o.tableBodyClass,e.borderlessX&&i.default.borderlessX,u&&i.default.borderlessTop,(u||e.noEdgeEffects)&&i.default.noEdgeEffects,!e.forPrint&&i.default.flexCol,h&&i.default.liquid),ref:this.bodyScrollerRef,clientWidthRef:this.handleClientWidth},r.createElement(z,{dateProfile:e.dateProfile,todayRange:e.todayRange,cellRows:e.cellRows,forPrint:e.forPrint,isHitComboAllowed:e.isHitComboAllowed,className:i.default.grow,dayMaxEvents:e.forPrint?void 0:o.dayMaxEvents,dayMaxEventRows:o.dayMaxEventRows,fgEventSegs:e.fgEventSegs,bgEventSegs:e.bgEventSegs,businessHourSegs:e.businessHourSegs,dateSelectionSegs:e.dateSelectionSegs,eventDrag:e.eventDrag,eventResize:e.eventResize,eventSelection:e.eventSelection,colWidth:p,width:m,visibleWidth:l,cellIsNarrow:v,cellIsMicro:y,rowHeightRefMap:e.rowHeightRefMap})),Boolean(g)&&r.createElement(s.FooterScrollbar,{isSticky:!0,canvasWidth:m,scrollerRef:this.footerScrollerRef}),r.createElement(s.Ruler,{widthRef:this.handleTotalWidth}))}componentDidMount(){const e=s.getScrollerSyncerClass(this.context.pluginHooks);this.syncedScroller=new e(!0),s.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 X extends s.BaseComponent{constructor(){super(...arguments),this.scrollerRef=r.createRef(),this.rowHeightRefMap=new s.RefMap(()=>{s.afterSize(this.updateScrollY)}),this.scrollDate=null,this.updateScrollY=()=>{const e=this.rowHeightRefMap.current,t=this.scrollerRef.current;if(t&&this.scrollDate){let s=function(e,t,s,r=0){let n=0;for(const a of t){const t=a[0].date,i=a[a.length-1].date,o=t.toISOString();if(e>=t&&e<=i)return n;const l=s.get(o);if(null==l)return;n+=l+r}return n}(this.scrollDate,this.props.cellRows,e,1);null!=s&&(s&&s++,t.scrollTo({y:s}))}},this.handleScrollEnd=e=>{e&&(this.scrollDate=null)}}render(){const{props:e,context:t}=this,{options:n}=t,a=Object.assign(Object.assign({},e),{scrollerRef:this.scrollerRef,rowHeightRefMap:this.rowHeightRefMap});return r.createElement(s.ViewContainer,{viewSpec:t.viewSpec,attrs:{role:"grid","aria-rowcount":e.headerTiers.length+e.cellRows.length,"aria-colcount":e.cellRows[0].length,"aria-labelledby":e.labelId,"aria-label":e.labelStr},className:s.joinArrayishClassNames(e.className,i.default.printRoot,n.tableClass),borderlessX:e.borderlessX,borderlessTop:e.borderlessTop,borderlessBottom:e.borderlessBottom,noEdgeEffects:e.noEdgeEffects},n.dayMinWidth?r.createElement(q,Object.assign({},a,{dayMinWidth:n.dayMinWidth})):r.createElement(U,Object.assign({},a)))}componentDidMount(){this.resetScroll(),this.scrollerRef.current.addScrollEndListener(this.handleScrollEnd)}componentDidUpdate(e){e.dateProfile!==this.props.dateProfile&&this.context.options.scrollTimeReset&&this.resetScroll()}componentWillUnmount(){this.scrollerRef.current.removeScrollEndListener(this.handleScrollEnd)}resetScroll(){this.scrollDate=this.props.dateProfile.currentDate,this.updateScrollY();this.scrollerRef.current.scrollTo({x:0})}}class _ extends s.BaseComponent{constructor(){super(...arguments),this.buildDayTableModel=s.memoize(C),this.buildDateRowConfigs=s.memoize(d),this.createDayHeaderFormatter=s.memoize(W),this.slicer=new o}render(){const{props:e,context:t}=this,{dateProfile:n}=e,{options:a,dateEnv:i}=t,o=this.buildDayTableModel(n,t.dateProfileGenerator,i),l=1===o.rowCount,d=this.createDayHeaderFormatter(t.options.dayHeaderFormat,l,o.colCount),c=this.slicer.sliceProps(e,n,a.nextDayThreshold,t,o);return r.createElement(s.NowTimer,{unit:"day"},(s,a)=>{const i=this.buildDateRowConfigs(o.headerDates,l,n,a,d,t);return r.createElement(X,{labelId:e.labelId,labelStr:e.labelStr,dateProfile:n,todayRange:a,cellRows:o.cellRows,forPrint:e.forPrint,className:e.className,headerTiers:i,fgEventSegs:c.fgEventSegs,bgEventSegs:c.bgEventSegs,businessHourSegs:c.businessHourSegs,dateSelectionSegs:c.dateSelectionSegs,eventDrag:c.eventDrag,eventResize:c.eventResize,eventSelection:c.eventSelection,borderlessX:e.borderlessX,borderlessTop:e.borderlessTop,borderlessBottom:e.borderlessBottom,noEdgeEffects:e.noEdgeEffects})})}}class Y extends s.DateProfileGenerator{buildRenderRange(e,t,s){let r=super.buildRenderRange(e,t,s),{props:n}=this;return V({currentRange:r,snapToWeek:/^(year|month)$/.test(t),fixedWeekCount:n.fixedWeekCount,dateEnv:n.dateEnv})}}function V(e){let t,{dateEnv:r,currentRange:n}=e,{start:a,end:i}=n;if(e.snapToWeek&&(a=r.startOfWeek(a),t=r.startOfWeek(i),t.valueOf()!==i.valueOf()&&(i=s.addWeeks(t,1))),e.fixedWeekCount){let e=r.startOfWeek(r.startOfMonth(s.addDays(n.end,-1))),t=Math.ceil(s.diffWeeks(e,i));i=s.addWeeks(i,6-t)}return{start:a,end:i}}const K={dayHeaders:Boolean,dayHeaderFormat:s.createFormatter};var J=t.createPlugin({name:"@fullcalendar/daygrid",initialView:"dayGridMonth",optionRefiners:K,optionDefaults:{dayHeaders:!0},views:{dayGrid:{component:_,dateProfileGeneratorClass:Y},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}}}}),$={__proto__:null,DayTableSlicer:o,TableDateProfileGenerator:Y,buildDayTableRenderRange:V,DayGridView:_,DayGridHeaderRow:A,buildDateRowConfigs:d,buildDateRowConfig:c,buildDateRenderConfig:h,buildDateDataConfigs:g,createDayHeaderFormatter:W,dayHeaderMicroFormat:P,dayMicroWidth:50,DayGridLayout:X,computeRowBasis:B,DayGridRow:T,DayGridRows:z,buildDayTableModel:C,computeColWidth:M,computeColFromPosition:H,getRowEl:k,getCellEl:x};return t.globalPlugins.push(J),e.Internal=$,e.default=J,Object.defineProperty(e,"__esModule",{value:!0}),e}({},FullCalendar,FullCalendar.Internal,FullCalendar.Preact);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fullcalendar/daygrid",
|
|
3
|
-
"version": "7.0.0-beta.
|
|
3
|
+
"version": "7.0.0-beta.6",
|
|
4
4
|
"title": "FullCalendar Day Grid Plugin",
|
|
5
5
|
"description": "Display events on a month view or \"day grid\" view",
|
|
6
6
|
"homepage": "https://fullcalendar.io/docs/month-view",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"month-view"
|
|
14
14
|
],
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"@fullcalendar/core": "7.0.0-beta.
|
|
16
|
+
"@fullcalendar/core": "7.0.0-beta.6"
|
|
17
17
|
},
|
|
18
18
|
"type": "module",
|
|
19
19
|
"bugs": "https://fullcalendar.io/reporting-bugs",
|
|
@@ -28,28 +28,31 @@
|
|
|
28
28
|
"email": "arshaw@arshaw.com",
|
|
29
29
|
"url": "http://arshaw.com/"
|
|
30
30
|
},
|
|
31
|
-
"copyright": "
|
|
32
|
-
"types": "./index.d.ts",
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"unpkg": "./
|
|
36
|
-
"jsdelivr": "./
|
|
31
|
+
"copyright": "2025 Adam Shaw",
|
|
32
|
+
"types": "./esm/index.d.ts",
|
|
33
|
+
"module": "./esm/index.js",
|
|
34
|
+
"main": "./cjs/index.cjs",
|
|
35
|
+
"unpkg": "./global.min.js",
|
|
36
|
+
"jsdelivr": "./global.min.js",
|
|
37
37
|
"exports": {
|
|
38
38
|
"./package.json": "./package.json",
|
|
39
|
-
"./index.cjs": "./index.cjs",
|
|
40
|
-
"./index.js": "./index.js",
|
|
41
39
|
".": {
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
"import": {
|
|
41
|
+
"types": "./esm/index.d.ts",
|
|
42
|
+
"default": "./esm/index.js"
|
|
43
|
+
},
|
|
44
|
+
"require": "./cjs/index.cjs"
|
|
45
45
|
},
|
|
46
|
-
"./internal.cjs": "./internal.cjs",
|
|
47
|
-
"./internal.js": "./internal.js",
|
|
48
46
|
"./internal": {
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
"import": {
|
|
48
|
+
"types": "./esm/internal.d.ts",
|
|
49
|
+
"default": "./esm/internal.js"
|
|
50
|
+
},
|
|
51
|
+
"require": "./cjs/internal.cjs"
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
|
-
"sideEffects":
|
|
54
|
+
"sideEffects": [
|
|
55
|
+
"./global.js",
|
|
56
|
+
"./global.min.js"
|
|
57
|
+
]
|
|
55
58
|
}
|
package/index.d.ts
DELETED
package/index.global.min.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
FullCalendar Day Grid Plugin v7.0.0-beta.4
|
|
3
|
-
Docs & License: https://fullcalendar.io/docs/month-view
|
|
4
|
-
(c) 2024 Adam Shaw
|
|
5
|
-
*/
|
|
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 a=n.createFormatter({weekday:"long"}),s=new Date(2592e5);function o(...e){return[l(...e)]}function l(e,t,n,r,i,a,s){return{renderConfig:d(a),dataConfigs:c(e,t,n,r,i,a,s)}}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),a=g.format(e,o),s=Object.assign(Object.assign({},t),{date:g.toDate(e),view:f,text:a}),u=h.navLinks&&!t.isDisabled,m=n.buildDateStr(l,e);return{key:c+e.toUTCString(),renderProps:s,attrs:Object.assign(Object.assign({"aria-label":m},t.isToday?{"aria-current":"date"}:{}),{"data-date":n.formatDayString(e)}),innerAttrs:u?n.buildNavLinkAttrs(l,e,void 0,m):{"aria-hidden":!0},colSpan:d,isNavLink:u,className:n.getDayClassName(t)}}):e.map(e=>{const t=e.getUTCDay(),r=n.addDays(s,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}),u=g.format(r,a);return{key:c+String(t),renderProps:h,attrs:{"aria-label":u},innerAttrs:{"aria-hidden":!0},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:a}=e,s=i.eventTimeFormat||m,o=n.buildEventRangeTimeText(s,a,void 0,void 0,e.isStart,e.isEnd,t,!0,e.defaultDisplayEventEnd),[l,d]=n.getEventTagAndAttrs(a,t);return r.createElement(n.EventContainer,Object.assign({},e,{tag:l,attrs:d,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:a}=i,{instanceId:s}=a.instance;return r.createElement("div",{key:s,style:{visibility:t[s]?"hidden":""}},p(i)?r.createElement(y,Object.assign({eventRange:a,isStart:i.isStart,isEnd:i.isEnd,isDragging:!1,isSelected:s===e.eventSelection,defaultDisplayEventEnd:!1},n.getEventRangeMeta(a,e.todayRange))):r.createElement(v,Object.assign({eventRange:a,isStart:i.isStart,isEnd:i.isEnd,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:s===e.eventSelection,defaultDisplayEventEnd:!1},n.getEventRangeMeta(a,e.todayRange))))}))}})}}class b extends n.DateComponent{constructor(){super(...arguments),this.rootElRef=r.createRef(),this.handleBodyEl=e=>{this.disconnectBodyHeight&&(this.disconnectBodyHeight(),this.disconnectBodyHeight=void 0,n.setRef(this.props.headerHeightRef,null),n.setRef(this.props.mainHeightRef,null)),e&&(this.disconnectBodyHeight=n.watchSize(e,(t,r)=>{const{props:i}=this,a=e.getBoundingClientRect(),s=this.rootElRef.current.getBoundingClientRect(),o=a.top-s.top;n.isDimsEqual(this.headerHeight,o)||(this.headerHeight=o,n.setRef(i.headerHeightRef,o)),i.fgLiquidHeight&&n.setRef(i.mainHeightRef,r)}))}}render(){let{props:e,context:t}=this,{options:i,dateEnv:a}=t;const s=e.showDayNumber&&function(e,t,r){const{start:i,end:a}=t,s=n.addMs(a,-1),o=r.getYear(i),l=r.getMonth(i),d=r.getYear(s),c=r.getMonth(s);return!(o===d&&l===c)&&Boolean(e.valueOf()===i.valueOf()||1===r.getDay(e)&&e.valueOf()<a.valueOf())}(e.date,e.dateProfile.currentRange,a),o=n.getDateMeta(e.date,e.todayRange,null,e.dateProfile),l=n.joinClassNames("fc-daygrid-day",e.borderStart&&"fc-border-s",null!=e.width?"":"fc-liquid","fc-flex-col");if(o.isDisabled)return r.createElement("div",{role:"gridcell","aria-disabled":!0,className:n.joinClassNames(l,"fc-day-disabled"),style:{width:e.width}});const d=e.showDayNumber||n.hasCustomDayCellContent(i),c=i.navLinks,g=n.buildDateStr(t,e.date);return r.createElement(n.DayCellContainer,{tag:"div",className:n.joinClassNames(l,e.className),attrs:Object.assign(Object.assign({},e.attrs),{role:"gridcell","aria-label":g}),style:{width:e.width},elRef:this.rootElRef,renderProps:e.renderProps,defaultGenerator:E,date:e.date,dateMeta:o,showDayNumber:e.showDayNumber,isMonthStart:s},i=>r.createElement(r.Fragment,null,d&&r.createElement("div",{className:"fc-daygrid-day-header"},r.createElement(i,{tag:"div",attrs:c?n.buildNavLinkAttrs(t,e.date,void 0,g):{"aria-hidden":!0},className:n.joinClassNames("fc-daygrid-day-number",s&&"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.handleBodyEl},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}))))}}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 a,s;if(null!=t)a=e.start*t,s=(r-e.end)*t;else{const t=1/r;a=n.fracToCssDim(e.start*t),s=n.fracToCssDim(1-e.end*t)}return i?{right:a,left:s}:{left:a,right:s}}function H(e,t,n,r,i){const a=null!=n?n:t/r,s=Math.floor(e/a),o=s*a;return{col:i?r-s-1:s,left:o,right:o+a}}function N(e,t){return e.querySelectorAll(":scope > [role=row]")[t]}function k(e,t){return e.querySelectorAll(":scope > [role=gridcell]")[t]}function M(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:a}=this,{cells:s}=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,a,s=!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)),a,d,c,f,s);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)),a,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)||[],a=v.get(e)||!1;if(b[n.start].push(n),a)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,s,d?h:void 0,o.eventOrderStrict,o.eventSlicing,e.dayMaxEvents,e.dayMaxEventRows),S=[];if(null!=f){let e=0;for(const t of s){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||{},C=o.navLinks,H=n.buildDateStr(t,l,"week");return r.createElement("div",{role:e.role,"aria-label":"row"===e.role?H:void 0,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 s=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,s),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:a.createRef(t.key)})})),e.showWeekNumbers&&r.createElement(n.WeekNumberContainer,{tag:"div",attrs:Object.assign(Object.assign({},C?n.buildNavLinkAttrs(t,l,"week",H,!1):{}),{role:void 0,"aria-hidden":!0}),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,a,s,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:k}=C(f,R,b,m),M=null!==(c=i.get(h?g(h):t))&&void 0!==c?c:w?0:void 0,W=null!=e&&null!=M?e+M:void 0,z=h||s[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:k},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,a))):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,a)))))}return D}renderFillSegs(e,t){const{props:i,context:a}=this,{isRtl:s}=a,{todayRange:o,colWidth:l}=i,d=i.cells.length,c=[];for(const i of e){const e=n.buildEventRangeKey(i.eventRange),{left:a,right:g}=C(i,l,d,s),f=!i.standinFor;c.push(r.createElement("div",{key:e,className:"fc-fill-y",style:{visibility:f?"":"hidden",left:a,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 a of e){const e=t.get(a.key),s=n.get(a.key);if(null!=e&&((void 0===r||e>r)&&(r=e),null!=s)){const t=e+s;(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 j 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:a}=t,s=e.cellRows.length,o=this.splitFgEventSegs(e.fgEventSegs,s),l=this.splitBgEventSegs(e.bgEventSegs,s),d=this.splitBusinessHourSegs(e.businessHourSegs,s),c=this.splitDateSelectionSegs(e.dateSelectionSegs,s),g=this.splitEventDrag(e.eventDrag,s),f=this.splitEventResize(e.eventResize,s),h=n.getIsHeightAuto(a),u=!e.forPrint&&!h,[m,p]=T(e.visibleWidth,s,h,e.forPrint,a);return r.createElement("div",{role:"rowgroup",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,role:"row",dateProfile:e.dateProfile,todayRange:e.todayRange,cells:t,showDayNumbers:s>1,showWeekNumbers:s>1&&a.weekNumbers,forPrint:e.forPrint,isCompact:p,className:n.joinClassNames(u&&"fc-grow fc-basis0",s>1&&"fc-break-inside-avoid",h<s-1&&"fc-border-b"),fgEventSegs:o[h],bgEventSegs:l[h].filter(F),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:a}=this,s=i.cellRows[0].length,{col:o,left:l,right:d}=H(e,r,i.colWidth,s,a.isRtl),{row:c,top:g,bottom:f}=function(e,t,n){let r=0,i=0,a=0;for(const s of t){const t=s[0].key;if(i=a,a=i+n.get(t),e<a)break;r++}return{row:r,top:i,bottom:a}}(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:k(N(this.rootEl,c),o),rect:{left:l,right:d,top:g,bottom:f},layer:0}}}function F(e){return e.eventRange.def.allDay}function T(e,t,n,r,i){if(null!=e){const a=e/i.aspectRatio/6;return[r?"6em":t>6||n?a:void 0,a<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,a=i.renderProps.isDisabled;return r.createElement(n.ContentContainer,{tag:"div",attrs:Object.assign({role:"columnheader","aria-colspan":i.colSpan},i.attrs),className:n.joinClassNames("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",i.className),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:a?void 0:t.classNameGenerator,didMount:t.didMount,willUnmount:t.willUnmount},t=>r.createElement(t,{tag:"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:e.role,"aria-rowindex":null!=e.rowIndex?1+e.rowIndex:void 0,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 I extends n.BaseComponent{render(){const{props:e}=this;return r.createElement("div",{role:"rowgroup",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,role:"row",className:n?"fc-border-t":"",colWidth:e.colWidth}))))}}class G 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:a}=i,s=!e.forPrint&&!n.getIsHeightAuto(a),o=!e.forPrint&&n.getStickyHeaderDates(a);return r.createElement(r.Fragment,null,a.dayHeaders&&r.createElement("div",{className:n.joinClassNames(e.forPrint?"fc-print-header":"fc-flex-row","fc-border-b")},r.createElement(I,{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:s,clientWidthRef:this.handleClientWidth,endScrollbarWidthRef:this.handleEndScrollbarWidth,className:n.joinClassNames("fc-daygrid-body",!e.forPrint&&"fc-flex-col",s&&"fc-liquid"),ref:this.handleScroller},r.createElement(j,{dateProfile:e.dateProfile,todayRange:e.todayRange,cellRows:e.cellRows,forPrint:e.forPrint,isHitComboAllowed:e.isHitComboAllowed,className:"fc-grow",dayMaxEvents:e.forPrint?void 0:a.dayMaxEvents,dayMaxEventRows:a.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:a}=i,s=!e.forPrint&&!n.getIsHeightAuto(a),o=!e.forPrint&&n.getStickyHeaderDates(a),l=!e.forPrint&&n.getStickyFooterScrollbar(a),d=e.cellRows[0].length,[c,g]=x(d,e.dayMinWidth,t.clientWidth);return r.createElement(r.Fragment,null,a.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(I,{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:s,horizontal:!0,hideScrollbars:l||e.forPrint,className:n.joinClassNames("fc-daygrid-body",!e.forPrint&&"fc-flex-col",s&&"fc-liquid"),ref:this.bodyScrollerRef,clientWidthRef:this.handleClientWidth,endScrollbarWidthRef:this.handleEndScrollbarWidth},r.createElement(j,{dateProfile:e.dateProfile,todayRange:e.todayRange,cellRows:e.cellRows,forPrint:e.forPrint,isHitComboAllowed:e.isHitComboAllowed,className:"fc-grow",dayMaxEvents:e.forPrint?void 0:a.dayMaxEvents,dayMaxEventRows:a.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 a of t){const t=a[0].date,s=a[a.length-1].date,o=t.toISOString();if(e>=t&&e<=s)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.handleScrollEnd=({isUser:e})=>{e&&(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 r.createElement(n.ViewContainer,{viewSpec:t.viewSpec,attrs:{role:"grid","aria-rowcount":e.headerTiers.length+e.cellRows.length,"aria-colcount":e.cellRows[0].length,"aria-labelledby":e.labelId,"aria-label":e.labelStr},className:n.joinClassNames(e.className,"fc-print-root fc-border")},i.dayMinWidth?r.createElement(A,Object.assign({},a,{dayMinWidth:i.dayMinWidth})):r.createElement(G,Object.assign({},a)))}componentDidMount(){this.resetScroll(),this.scrollerRef.current.addScrollEndListener(this.handleScrollEnd)}componentDidUpdate(e){e.dateProfile!==this.props.dateProfile&&this.context.options.scrollTimeReset&&this.resetScroll()}componentWillUnmount(){this.scrollerRef.current.removeScrollEndListener(this.handleScrollEnd)}resetScroll(){this.scrollDate=this.props.dateProfile.currentDate,this.updateScrollY();this.scrollerRef.current.scrollTo({x:0})}}class L extends n.BaseComponent{constructor(){super(...arguments),this.buildDayTableModel=n.memoize(D),this.buildDateRowConfigs=n.memoize(o),this.createDayHeaderFormatter=n.memoize(M),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,o=this.createDayHeaderFormatter(t.options.dayHeaderFormat,s,a.colCnt),l=this.slicer.sliceProps(e,e.dateProfile,i.nextDayThreshold,t,a);return r.createElement(n.NowTimer,{unit:"day"},(n,i)=>{const d=this.buildDateRowConfigs(a.headerDates,s,e.dateProfile,i,o,t);return r.createElement(U,{labelId:e.labelId,labelStr:e.labelStr,dateProfile:e.dateProfile,todayRange:i,cellRows:a.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 q 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:a,end:s}=i;if(e.snapToWeek&&(a=r.startOfWeek(a),t=r.startOfWeek(s),t.valueOf()!==s.valueOf()&&(s=n.addWeeks(t,1))),e.fixedWeekCount){let e=r.startOfWeek(r.startOfMonth(n.addDays(i.end,-1))),t=Math.ceil(n.diffWeeks(e,s));s=n.addWeeks(s,6-t)}return{start:a,end:s}}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:L,dateProfileGeneratorClass:q},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:q,buildDayTableRenderRange:Y,DayGridView:L,DayGridHeaderRow:B,buildDateRowConfigs:o,buildDateRowConfig:l,buildDateRenderConfig:d,buildDateDataConfigs:c,createDayHeaderFormatter:M,DayGridLayout:U,computeRowHeight:T,DayGridRow:z,DayGridRows:j,buildDayTableModel:D,computeColWidth:x,computeColFromPosition:H,getRowEl:N,getCellEl:k};return t.globalPlugins.push(_),e.Internal=V,e.default=_,Object.defineProperty(e,"__esModule",{value:!0}),e}({},FullCalendar,FullCalendar.Internal,FullCalendar.Preact);
|