From f9ae7598ece0ad62bfdf96c08105f443203cbc0b Mon Sep 17 00:00:00 2001 From: johnnyq Date: Tue, 4 Aug 2026 12:39:04 -0400 Subject: [PATCH] Bump FullCalendar from 7.0.0 to 7.0.2 --- agent/css/ticket.css | 12 ++ agent/ticket.php | 8 +- agent/ticket_list.php | 8 +- libs/fullcalendar/fullcalendar.global.js | 17 +- libs/fullcalendar/locales-all/global.js | 2 +- libs/fullcalendar/skeleton.css | 208 ++++++++++----------- libs/fullcalendar/themes/breezy/global.js | 2 +- libs/fullcalendar/themes/classic/global.js | 4 +- libs/fullcalendar/themes/forma/global.js | 2 +- libs/fullcalendar/themes/monarch/global.js | 2 +- libs/fullcalendar/themes/pulse/global.js | 2 +- 11 files changed, 136 insertions(+), 131 deletions(-) diff --git a/agent/css/ticket.css b/agent/css/ticket.css index 2b88abfe5..2c8d5171c 100644 --- a/agent/css/ticket.css +++ b/agent/css/ticket.css @@ -37,6 +37,18 @@ line-height: 1.4; } +/* + * Task progress. A slim track sitting beside the count rather than a chart + * with text floating on top of it. The count is real text, so the flex cell + * can size itself - the old bar's only children were a percentage-width div + * and an absolutely-positioned label, neither of which contributes intrinsic + * width, so the Tasks cell was pinned at min-width whatever it contained. + */ +.ticket-task-progress { + flex: 0 0 56px; + height: 6px; +} + /* The subject is the page's real heading, so let it breathe */ .ticket-subject { font-weight: 600; diff --git a/agent/ticket.php b/agent/ticket.php index befbe0e4d..86605e00d 100644 --- a/agent/ticket.php +++ b/agent/ticket.php @@ -661,11 +661,11 @@ if (isset($_GET['ticket_id'])) {
Tasks
-
-
-
- +
+
+
+
diff --git a/agent/ticket_list.php b/agent/ticket_list.php index 6fdef9f01..1b8a1cb65 100644 --- a/agent/ticket_list.php +++ b/agent/ticket_list.php @@ -341,9 +341,11 @@ if ($tickets) { "> -
-
- / tasks +
+
+
+
+
diff --git a/libs/fullcalendar/fullcalendar.global.js b/libs/fullcalendar/fullcalendar.global.js index fb33746e4..a761f2c55 100644 --- a/libs/fullcalendar/fullcalendar.global.js +++ b/libs/fullcalendar/fullcalendar.global.js @@ -1,5 +1,5 @@ /*! -FullCalendar (Vanilla JS) v7.0.0 +FullCalendar (Vanilla JS) v7.0.2 Docs & License: https://fullcalendar.io (c) 2026 Adam Shaw */ @@ -2533,7 +2533,7 @@ var FullCalendar = (function (exports) { } } - var classNames = {"popoverZ":"fc-oH","isolate":"fc-XR","borderBoxRoot":"fc-7V","notAllowed":"fc-Ph","noScrollbars":"fc-ia","noShrink":"fc-zx","calendarScreenRoot":"fc-Qv","safeTiles":"fc-zg","calendarPrintRoot":"fc-SB","cursorPointer":"fc-oq","cursorResizeT":"fc-7Z","cursorResizeB":"fc-qE","cursorResizeS":"fc-FE","cursorResizeE":"fc-cf","cursorColResizer":"fc-zd","hit":"fc-OF","hitX":"fc-Vs","hitY":"fc-vB","hitXSkinny":"fc-Za","selectNone":"fc-5b","invisible":"fc-Ok","borderNone":"fc-4g","borderOnlyT":"fc-k2","borderOnlyB":"fc-5H","borderOnlyS":"fc-eu","borderOnlyE":"fc-Cu","borderlessX":"fc-k0","borderlessY":"fc-5s","fakeBorderS":"fc-qp","flexRow":"fc-iE","flexCol":"fc-Si","grow":"fc-lf","liquid":"fc-EI","minHeight0":"fc-At","liquidX":"fc-4T","printRoot":"fc-E1","printHeader":"fc-r7","noPadding":"fc-p2","noMargin":"fc-9j","noMarginY":"fc-gE","noMarginX":"fc-zo","whiteSpaceNoWrap":"fc-xd","whiteSpacePre":"fc-zK","overflowAnchorNone":"fc-4c","crop":"fc-d5","cropNowrap":"fc-lN","rel":"fc-RP","abs":"fc-d7","start0":"fc-mj","fill":"fc-7z","fillTop":"fc-88","fillX":"fc-cb","fillY":"fc-PG","fillStart":"fc-6E","sticky":"fc-Zx","stickyT":"fc-vZ","stickyS":"fc-ry","tableHeaderSticky":"fc-Uy","contentBox":"fc-Pv","offscreen":"fc-E4","alignCenter":"fc-dV","alignStart":"fc-Zt","alignEnd":"fc-fP","footerScrollbarSticky":"fc-sm","footerScrollbar":"fc-gr","breakInsideAvoid":"fc-V4","printSiblingRow":"fc-uo","z0":"fc-CX","z1":"fc-ts","focusZ2":"fc-cW","internalTimelineSlot":"fc-AW","internalEvent":"fc-So","internalEventMirror":"fc-Mr","internalEventDraggable":"fc-y7","internalEventSelected":"fc-eG","internalEventResizable":"fc-Mb","internalEventResizer":"fc-9u","internalEventResizerStart":"fc-BY","internalEventResizerEnd":"fc-iD","internalBgEvent":"fc-GL","internalMoreLink":"fc-QC","internalNavLink":"fc-hY","internalPopover":"fc-2y","internalView":"fc-kO","internalScroller":"fc-Pz"}; + var classNames = {"popoverZ":"fc-dp","isolate":"fc-6T","borderBoxRoot":"fc-BO","notAllowed":"fc-la","noScrollbars":"fc-mM","noShrink":"fc-yf","calendarScreenRoot":"fc-wS","safeTiles":"fc-mP","calendarPrintRoot":"fc-OB","cursorPointer":"fc-hH","cursorResizeT":"fc-wi","cursorResizeB":"fc-My","cursorResizeS":"fc-N8","cursorResizeE":"fc-Yv","cursorColResizer":"fc-DR","hit":"fc-Lp","hitX":"fc-YZ","hitY":"fc-RU","hitXSkinny":"fc-4P","selectNone":"fc-6M","invisible":"fc-Sy","borderNone":"fc-QX","borderOnlyT":"fc-3t","borderOnlyB":"fc-fo","borderOnlyS":"fc-wk","borderOnlyE":"fc-fx","borderlessX":"fc-8R","borderlessY":"fc-5a","fakeBorderS":"fc-hM","flexRow":"fc-ei","flexCol":"fc-Xt","grow":"fc-QU","liquid":"fc-J6","minHeight0":"fc-w9","liquidX":"fc-q3","printRoot":"fc-32","printHeader":"fc-IH","noPadding":"fc-Kk","noMargin":"fc-5M","noMarginY":"fc-G8","noMarginX":"fc-tR","whiteSpaceNoWrap":"fc-8y","whiteSpacePre":"fc-gR","overflowAnchorNone":"fc-eu","crop":"fc-75","cropNowrap":"fc-CJ","rel":"fc-xp","abs":"fc-So","start0":"fc-Q8","fill":"fc-TJ","fillTop":"fc-X3","fillX":"fc-O5","fillY":"fc-WS","fillStart":"fc-Ld","sticky":"fc-l5","stickyT":"fc-dl","stickyS":"fc-oh","tableHeaderSticky":"fc-3f","contentBox":"fc-wx","offscreen":"fc-pJ","alignCenter":"fc-xM","alignStart":"fc-RJ","alignEnd":"fc-x9","footerScrollbarSticky":"fc-10","footerScrollbar":"fc-rg","breakInsideAvoid":"fc-sv","printSiblingRow":"fc-Ph","z0":"fc-6d","z1":"fc-y0","focusZ2":"fc-5y","internalTimelineSlot":"fc-RK","internalEvent":"fc-vB","internalEventMirror":"fc-nH","internalEventDraggable":"fc-Be","internalEventSelected":"fc-w3","internalEventResizable":"fc-Kf","internalEventResizer":"fc-ve","internalEventResizerStart":"fc-Er","internalEventResizerEnd":"fc-ll","internalBgEvent":"fc-BR","internalMoreLink":"fc-GZ","internalNavLink":"fc-Z9","internalPopover":"fc-VO","internalView":"fc-rF","internalScroller":"fc-zT"}; function joinClassNames(...args) { return args.filter(Boolean).join(' '); @@ -3244,7 +3244,6 @@ var FullCalendar = (function (exports) { // (can't be part of plugin system b/c must be provided at runtime) handleCustomRendering: identity, customRenderingMetaMap: identity, - customRenderingReplaces: Boolean, popoverClass: refineClassName, popoverCloseClass: refineClassName, popoverCloseContent: identity, @@ -5659,13 +5658,6 @@ var FullCalendar = (function (exports) { this.currentDomNodes = []; this.handleEl = (el) => { this.el = el; - const { options } = this.context; - const { generatorName } = this.props; - if (!options.customRenderingReplaces || !hasCustomRenderingHandler(generatorName, options)) { - this.updateElRef(el); - } - }; - this.updateElRef = (el) => { if (this.props.elRef) { setRef(this.props.elRef, el); } @@ -5741,9 +5733,8 @@ var FullCalendar = (function (exports) { id: this.id, isActive, containerEl: this.el, - reportNewContainerEl: this.updateElRef, // front-end framework tells us about new container els generatorMeta, - ...props, + renderProps: props.renderProps, }); } } @@ -17276,7 +17267,7 @@ var FullCalendar = (function (exports) { return sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg; } - const version = '7.0.0'; + const version = '7.0.2'; var protectedStyles = /*#__PURE__*/Object.freeze({ __proto__: null, diff --git a/libs/fullcalendar/locales-all/global.js b/libs/fullcalendar/locales-all/global.js index 721c7c90d..a7ec0c49a 100644 --- a/libs/fullcalendar/locales-all/global.js +++ b/libs/fullcalendar/locales-all/global.js @@ -1,5 +1,5 @@ /*! -FullCalendar (Vanilla JS) v7.0.0 +FullCalendar (Vanilla JS) v7.0.2 Docs & License: https://fullcalendar.io (c) 2026 Adam Shaw */ diff --git a/libs/fullcalendar/skeleton.css b/libs/fullcalendar/skeleton.css index f49b7a3c1..38e4cac04 100644 --- a/libs/fullcalendar/skeleton.css +++ b/libs/fullcalendar/skeleton.css @@ -4,45 +4,45 @@ --fc-popover-z: 4; } -.fc-oH { +.fc-dp { z-index: var(--fc-popover-z) !important; } -.fc-XR { +.fc-6T { isolation: isolate; } /* This will prevent all ancestors from customizing their box size unless they use .contentBox */ -.fc-7V, -.fc-7V *, -.fc-7V *:before, -.fc-7V *:after { +.fc-BO, +.fc-BO *, +.fc-BO *:before, +.fc-BO *:after { box-sizing: border-box !important; } /* classes attached to */ -.fc-Ph, -.fc-Ph * { +.fc-la, +.fc-la * { cursor: not-allowed !important; } -.fc-ia { +.fc-mM { -ms-overflow-style: none !important; /* IE and Edge */ scrollbar-width: none !important; /* Firefox */ } /* Hide scrollbar for Chrome, Safari and Opera */ -.fc-ia::-webkit-scrollbar { +.fc-mM::-webkit-scrollbar { display: none !important; } -.fc-zx { +.fc-yf { flex-shrink: 0 !important; } -.fc-Qv .fc-zg { +.fc-wS .fc-mP { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; @@ -50,75 +50,75 @@ This will prevent all ancestors from customizing their box size unless they use /* HACK for Safari. Can't do break-inside:avoid with flexbox items, likely b/c it's not standard: https://stackoverflow.com/a/60256345 */ -.fc-SB .fc-zg > * { +.fc-OB .fc-mP > * { float: left !important; } -[dir=rtl] .fc-SB .fc-zg > *, -.fc-SB[dir=rtl] .fc-zg > * { +[dir=rtl] .fc-OB .fc-mP > *, +.fc-OB[dir=rtl] .fc-mP > * { float: right !important; } -.fc-SB .fc-zg::after { +.fc-OB .fc-mP::after { content: "" !important; display: block !important; clear: both !important; } -.fc-oq { +.fc-hH { cursor: pointer !important; } -.fc-7Z { +.fc-wi { cursor: n-resize !important; } -.fc-qE { +.fc-My { cursor: s-resize !important; } -.fc-FE { +.fc-N8 { cursor: w-resize !important; } -[dir=rtl] .fc-FE { +[dir=rtl] .fc-N8 { cursor: e-resize !important; } -.fc-cf { +.fc-Yv { cursor: e-resize !important; } -[dir=rtl] .fc-cf { +[dir=rtl] .fc-Yv { cursor: w-resize !important; } -.fc-zd { +.fc-DR { cursor: col-resize !important; } -.fc-OF, -.fc-Vs, -.fc-vB { +.fc-Lp, +.fc-YZ, +.fc-RU { position: absolute !important; box-sizing: content-box !important; width: 100% !important; height: 100% !important; } -.fc-OF { +.fc-Lp { padding: 10px !important; margin: -10px !important; } -.fc-Vs { +.fc-YZ { padding-left: 10px !important; padding-right: 10px !important; margin-left: -10px !important; margin-right: -10px !important; } -.fc-vB { +.fc-RU { padding-top: 10px !important; padding-bottom: 10px !important; margin-top: -10px !important; @@ -126,7 +126,7 @@ This will prevent all ancestors from customizing their box size unless they use } /* QUESTION: why not use -left -right instead of negative margins/padding for ALL? */ -.fc-Za { +.fc-4P { position: absolute; top: 0; bottom: 0; @@ -134,13 +134,13 @@ This will prevent all ancestors from customizing their box size unless they use right: -5px; } -.fc-5b { +.fc-6M { -webkit-user-select: none; -moz-user-select: none; user-select: none; } -.fc-Ok { +.fc-Sy { visibility: hidden; } @@ -150,83 +150,83 @@ This will prevent all ancestors from customizing their box size unless they use /* TODO: break-out to x and y. don't have "only" all */ /* TODO: instead of "border" utils, call them "borderless" to subtract? */ -.fc-4g { +.fc-QX { border: 0 !important; } -.fc-k2 { +.fc-3t { border-left: 0 !important; border-right: 0 !important; border-bottom: 0 !important; } -.fc-5H { +.fc-fo { border-top: 0 !important; border-left: 0 !important; border-right: 0 !important; } -.fc-eu, -.fc-Cu { +.fc-wk, +.fc-fx { border-top: 0 !important; border-bottom: 0 !important; } -.fc-eu { +.fc-wk { border-inline-end: 0 !important; } -.fc-Cu { +.fc-fx { border-inline-start: 0 !important; } -.fc-k0 { +.fc-8R { border-left: 0 !important; border-right: 0 !important; } -.fc-5s { +.fc-5a { border-top: 0 !important; border-bottom: 0 !important; } /* for matching cell start-border, assumed to be 1px, which can't be guaranteed */ -.fc-qp { +.fc-hM { border-inline-start: 1px solid transparent !important; } /* Flexbox Utils */ /* ------------------------------------------------------------------------------------------------- */ -.fc-iE { +.fc-ei { display: flex !important; flex-direction: row !important; } -.fc-Si { +.fc-Xt { display: flex !important; flex-direction: column !important; } -.fc-lf { +.fc-QU { flex-grow: 1 !important; } -.fc-EI { +.fc-J6 { flex-grow: 1 !important; flex-basis: 0 !important; min-width: 0 !important; min-height: 0 !important; } -.fc-At { +.fc-w9 { min-height: 0 !important; } /* TODO: use liquidX/Y elsewhere because frees up min other dimension; less collisions */ -.fc-4T { +.fc-q3 { flex-grow: 1 !important; flex-basis: 0 !important; min-width: 0 !important; @@ -235,8 +235,8 @@ TODO: use liquidX/Y elsewhere because frees up min other dimension; less collisi /* Print-Safe Utils (media:screen ONLY) */ /* ------------------------------------------------------------------------------------------------- */ -.fc-Qv .fc-E1, -.fc-Qv .fc-r7 { +.fc-wS .fc-32, +.fc-wS .fc-IH { display: flex !important; flex-direction: column !important; } @@ -244,40 +244,40 @@ TODO: use liquidX/Y elsewhere because frees up min other dimension; less collisi /* Table Utils */ /* ------------------------------------------------------------------------------------------------- */ -.fc-p2 { +.fc-Kk { padding: 0 !important; } -.fc-9j { +.fc-5M { margin: 0 !important; } -.fc-gE { +.fc-G8 { margin-top: 0 !important; margin-bottom: 0 !important; } -.fc-zo { +.fc-tR { margin-left: 0 !important; margin-right: 0 !important; } -.fc-xd { +.fc-8y { white-space: nowrap !important; } -.fc-zK { +.fc-gR { white-space: pre !important; } /* Misc Utils */ /* ------------------------------------------------------------------------------------------------- */ -.fc-4c { +.fc-eu { overflow-anchor: none; } -.fc-d5 { +.fc-75 { overflow: hidden !important; } @@ -286,24 +286,24 @@ TODO: eventually use this on daygrid/timegrid events' inner, time, and title, FO Needed to prevent wrapping to multiple lines, increasing height, throwing off print-positioning, which can't rely on dynamic height detection after print-flag activated. */ -.fc-lN { +.fc-CJ { white-space: nowrap !important; overflow: hidden !important; } -.fc-RP { +.fc-xp { position: relative !important; } -.fc-d7 { +.fc-So { position: absolute !important; } -.fc-mj { +.fc-Q8 { inset-inline-start: 0 !important; } -.fc-7z { +.fc-TJ { position: absolute !important; top: 0 !important; left: 0 !important; @@ -311,47 +311,47 @@ which can't rely on dynamic height detection after print-flag activated. bottom: 0 !important; } -.fc-88, -.fc-cb { +.fc-X3, +.fc-O5 { position: absolute !important; left: 0 !important; right: 0 !important; } -.fc-PG, -.fc-6E { +.fc-WS, +.fc-Ld { position: absolute !important; top: 0 !important; bottom: 0 !important; } -.fc-88 { +.fc-X3 { top: 0 !important; } -.fc-6E { +.fc-Ld { left: 0 !important; right: 0 !important; width: 0 !important; } @media not print { - .fc-Zx { + .fc-l5 { position: sticky !important; } - .fc-vZ { + .fc-dl { position: sticky !important; top: 0 !important; } /* Sticks to either left or right (the flex "start") depending on ltr/rtl */ - .fc-ry { + .fc-oh { position: sticky !important; inset-inline-start: 0 !important; } - .fc-Uy { + .fc-3f { position: sticky !important; top: 0 !important; z-index: var(--fc-sticky-header-footer-z) !important; @@ -359,53 +359,53 @@ which can't rely on dynamic height detection after print-flag activated. } /* Only needed when padding/border must be separate from width/height */ -.fc-Pv { +.fc-wx { box-sizing: content-box !important; } -.fc-E4 { +.fc-pJ { position: absolute !important; left: -10000px !important; } -.fc-dV { +.fc-xM { align-items: center !important; } -.fc-Zt { +.fc-RJ { align-items: flex-start !important; } -.fc-fP { +.fc-x9 { align-items: flex-end !important; } /* Footer Scrollbar */ /* ------------------------------------------------------------------------------------------------- */ -.fc-sm { +.fc-10 { position: sticky !important; bottom: 0 !important; z-index: var(--fc-sticky-header-footer-z) !important; } -.fc-gr > * { +.fc-rg > * { margin-top: -1px !important; } -.fc-gr > * > * { +.fc-rg > * > * { height: 1px !important; } /* Print-Safe Utils */ /* ------------------------------------------------------------------------------------------------- */ -.fc-SB .fc-V4 { +.fc-OB .fc-sv { -moz-column-break-inside: avoid !important; break-inside: avoid !important; } -.fc-SB .fc-E1 { +.fc-OB .fc-32 { display: table !important; table-layout: fixed !important; width: 100% !important; @@ -413,7 +413,7 @@ which can't rely on dynamic height detection after print-flag activated. border-collapse: separate !important; } -.fc-SB .fc-r7 { +.fc-OB .fc-IH { display: table-header-group !important; -moz-column-break-inside: avoid !important; break-inside: avoid !important; @@ -422,7 +422,7 @@ which can't rely on dynamic height detection after print-flag activated. position: relative !important; } -.fc-uo { +.fc-Ph { /* min-height when multiple rows coexist, provides sane aspect-ratio for cells */ min-height: 6em !important; } @@ -430,40 +430,40 @@ which can't rely on dynamic height detection after print-flag activated. /* Z-index */ /* ------------------------------------------------------------------------------------------------- */ -.fc-CX { +.fc-6d { z-index: 0; } -.fc-ts { +.fc-y0 { z-index: 1; } -.fc-cW:focus-visible { +.fc-5y:focus-visible { z-index: 2; } /* INTERNAL MARKER -- used to mark an element for internal significance */ /* ------------------------------------------------------------------------------------------------- */ -.fc-AW {} +.fc-RK {} -.fc-So {} -.fc-Mr {} -.fc-y7 {} -.fc-eG {} -.fc-Mb {} -.fc-9u {} -.fc-BY {} -.fc-iD {} +.fc-vB {} +.fc-nH {} +.fc-Be {} +.fc-w3 {} +.fc-Kf {} +.fc-ve {} +.fc-Er {} +.fc-ll {} -.fc-GL {} +.fc-BR {} -.fc-QC {} +.fc-GZ {} -.fc-hY {} +.fc-Z9 {} -.fc-2y {} +.fc-VO {} -.fc-kO {} +.fc-rF {} -.fc-Pz {} +.fc-zT {} diff --git a/libs/fullcalendar/themes/breezy/global.js b/libs/fullcalendar/themes/breezy/global.js index aeeea8454..277f17a96 100644 --- a/libs/fullcalendar/themes/breezy/global.js +++ b/libs/fullcalendar/themes/breezy/global.js @@ -1,5 +1,5 @@ /*! -FullCalendar (Vanilla JS) v7.0.0 +FullCalendar (Vanilla JS) v7.0.2 Docs & License: https://fullcalendar.io (c) 2026 Adam Shaw */ diff --git a/libs/fullcalendar/themes/classic/global.js b/libs/fullcalendar/themes/classic/global.js index c7f60122b..d6c77cf6c 100644 --- a/libs/fullcalendar/themes/classic/global.js +++ b/libs/fullcalendar/themes/classic/global.js @@ -1,5 +1,5 @@ /*! -FullCalendar (Vanilla JS) v7.0.0 +FullCalendar (Vanilla JS) v7.0.2 Docs & License: https://fullcalendar.io (c) 2026 Adam Shaw */ @@ -268,7 +268,7 @@ Docs & License: https://fullcalendar.io /* No-Events Screen ------------------------------------------------------------------------------------------- */ noEventsClass: "fc-classic-k3f fc-classic-dl1 fc-classic-sgX fc-classic-XpK fc-classic-E9P", - noEventsInnerClass: "sticky fc-classic-jGI fc-classic-P9h", + noEventsInnerClass: "fc-classic-OUe fc-classic-jGI fc-classic-P9h", }, timeline: { /* Timeline > Row Event diff --git a/libs/fullcalendar/themes/forma/global.js b/libs/fullcalendar/themes/forma/global.js index 792abc81c..b378745bf 100644 --- a/libs/fullcalendar/themes/forma/global.js +++ b/libs/fullcalendar/themes/forma/global.js @@ -1,5 +1,5 @@ /*! -FullCalendar (Vanilla JS) v7.0.0 +FullCalendar (Vanilla JS) v7.0.2 Docs & License: https://fullcalendar.io (c) 2026 Adam Shaw */ diff --git a/libs/fullcalendar/themes/monarch/global.js b/libs/fullcalendar/themes/monarch/global.js index 6844d18a7..55410ddd1 100644 --- a/libs/fullcalendar/themes/monarch/global.js +++ b/libs/fullcalendar/themes/monarch/global.js @@ -1,5 +1,5 @@ /*! -FullCalendar (Vanilla JS) v7.0.0 +FullCalendar (Vanilla JS) v7.0.2 Docs & License: https://fullcalendar.io (c) 2026 Adam Shaw */ diff --git a/libs/fullcalendar/themes/pulse/global.js b/libs/fullcalendar/themes/pulse/global.js index 43442372b..57994b440 100644 --- a/libs/fullcalendar/themes/pulse/global.js +++ b/libs/fullcalendar/themes/pulse/global.js @@ -1,5 +1,5 @@ /*! -FullCalendar (Vanilla JS) v7.0.0 +FullCalendar (Vanilla JS) v7.0.2 Docs & License: https://fullcalendar.io (c) 2026 Adam Shaw */