@kizenapps/cli 1.7.0-3667650 → 1.8.0-5359c23
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/dist/viewer/assets/AppDetailPage-B4lZl1Nu.js +1 -0
- package/dist/viewer/assets/{CodeStepsPage-C6gfmJey.js → CodeStepsPage-DGeG_PIE.js} +1 -1
- package/dist/viewer/assets/{ConfigurationPage-BPe2YfgC.js → ConfigurationPage-P12z6vGj.js} +1 -1
- package/dist/viewer/assets/{DevSidebar-BRP2rhyU.js → DevSidebar-zX-4CWYv.js} +1 -1
- package/dist/viewer/assets/SandboxPage-BUdgHfUU.js +1 -0
- package/dist/viewer/assets/{SecretsPage-B74hR1Yn.js → SecretsPage-CeSIhKDx.js} +1 -1
- package/dist/viewer/assets/{SourceBrowserPage-BM7YULjl.js → SourceBrowserPage-DluS8U4q.js} +1 -1
- package/dist/viewer/assets/WhenBadge-xRYajcDX.js +1 -0
- package/dist/viewer/assets/api-DwPVK6u4.js +11 -0
- package/dist/viewer/assets/blockDimensions-XngD6WWh.js +1 -0
- package/dist/viewer/assets/{bootstrapQuery-qFpHSWE9.js → bootstrapQuery-CbwKDhqe.js} +1 -1
- package/dist/viewer/assets/{calendarSource.worker-D3Z5_7_3.js → calendarSource.worker-ChbwoBdD.js} +5 -5
- package/dist/viewer/assets/{configStorage-Bmswf3bC.js → configStorage-DoMfqInd.js} +1 -1
- package/dist/viewer/assets/{floatingFrame.worker-Cehe8grH.js → floatingFrame.worker-ObFUZfkb.js} +6 -6
- package/dist/viewer/assets/{generic.worker-XzKOvCnC.js → generic.worker-TTxPXEzW.js} +5 -5
- package/dist/viewer/assets/index-CnQPaS6I.css +2 -0
- package/dist/viewer/assets/index-IPap1aum.js +5 -0
- package/dist/viewer/assets/{recordDetail.worker-Cbp2XubL.js → recordDetail.worker-ClqoFFJe.js} +6 -6
- package/dist/viewer/assets/{storageKeys-IkM_u7nJ.js → storageKeys-DPq6kaaE.js} +1 -1
- package/dist/viewer/assets/useCriticalExceptionDialog-Dxoa5oCH.js +40 -0
- package/dist/viewer/index.html +5 -5
- package/package.json +2 -2
- package/dist/viewer/assets/AppDetailPage-C0sXm8BK.js +0 -1
- package/dist/viewer/assets/SandboxPage-C1g2AVsQ.js +0 -1
- package/dist/viewer/assets/WhenBadge-2kXXp2JS.js +0 -1
- package/dist/viewer/assets/api-Z7hihohh.js +0 -11
- package/dist/viewer/assets/index-CjFi83Rf.js +0 -5
- package/dist/viewer/assets/index-Ty4403F6.css +0 -2
- package/dist/viewer/assets/useCriticalExceptionDialog-C60A18a6.js +0 -40
- /package/dist/viewer/assets/{CodeViewer-270Os8MC.js → CodeViewer-CVECJY4e.js} +0 -0
- /package/dist/viewer/assets/{IconReferencePage-DhoHxEaW.js → IconReferencePage-DxhBoReE.js} +0 -0
- /package/dist/viewer/assets/{VersionsPage-RisNLZx3.js → VersionsPage-yNilRkEf.js} +0 -0
- /package/dist/viewer/assets/{formatBytes-CrFJUAnr.js → formatBytes-BXYIMbyB.js} +0 -0
- /package/dist/viewer/assets/{useLocalStorage-CeqPEGCc.js → useLocalStorage-wp83IS34.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{A as t,D as n,F as r,I as i,M as a,N as o,P as s,T as c,c as l,i as u,l as d,m as f,o as p,s as m,t as h}from"./fa-core-BSqLAjHu.js";import{n as g}from"./react-C5hrIo29.js";import{t as _}from"./useParams-D3awshYI.js";import{t as v}from"./useQuery-JKMI40WO.js";import{n as y,r as b}from"./BootstrapContext-CS2e3X9Y.js";import{a as x,c as S,d as C,f as w,g as T,h as E,i as D,l as ee,m as O,n as te,o as k,p as ne,r as re,s as ie,t as ae,u as oe}from"./useCriticalExceptionDialog-C60A18a6.js";import{t as se}from"./bundleQuery-BE1Gb8Ii.js";import{n as ce}from"./CredentialsContext-Cwl_xyt_.js";import{a as le,d as ue,i as de,k as fe,n as pe,r as me}from"./api-Z7hihohh.js";import{n as he}from"./SidebarContext-q5sbcZXM.js";import{n as ge,t as _e}from"./Dialog-C3QoiHOt.js";import{c as ve,l as ye,n as be,o as xe,r as Se,s as Ce,t as we}from"./storageKeys-IkM_u7nJ.js";import{t as A}from"./Card-Sa52PGkn.js";import{t as Te}from"./Tooltip-JYkgiL8J.js";import{n as Ee,r as De,t as Oe}from"./iconMap-B-cS2yrx.js";import{t as ke}from"./useLocalStorage-CeqPEGCc.js";import{a as Ae,i as je,r as Me}from"./configStorage-Bmswf3bC.js";import{t as Ne}from"./WhenBadge-2kXXp2JS.js";var j=e(i(),1),Pe=g(),M=r(),Fe=36,Ie=20,Le=9e3,Re=({frameId:e,side:t,color:n,zIndex:r,onClick:i,CustomIcon:a,circleIcon:o,when:c,whenEnabled:l})=>{let u=document.getElementById(`${e}-trigger-${t}`);if(!u)return null;let d=!a&&o?Oe[o]:void 0;return(0,Pe.createPortal)((0,M.jsxs)(`button`,{className:`relative pointer-events-auto flex h-10 w-10 items-center justify-center rounded-full border border-black/10 shadow-lg`,style:{backgroundColor:n,zIndex:r},onClick:i,onPointerDown:e=>{e.stopPropagation()},title:`Open frame`,children:[a?(0,M.jsx)(a,{className:`h-6 w-6 rounded-full object-cover`}):d?(0,M.jsx)(s,{icon:d,className:`text-[16px] text-white`}):(0,M.jsx)(`span`,{className:`font-mono text-[11px] text-white`,children:`▲`}),c&&l!=null?(0,M.jsx)(Te,{text:c,children:(0,M.jsx)(`span`,{className:`absolute -top-0.5 -right-0.5 h-2.5 w-2.5 rounded-full border-2 border-white ${l?`bg-green-500`:`bg-amber-500`}`})}):null]}),u)},ze=({frame:e,framesEnabled:t,whenState:n})=>{let r=`${e.plugin_api_name}-${e.api_name}`,i=e.when,[a,o]=(0,j.useState)(null);(0,j.useEffect)(()=>{i&&le(i,n??{}).then(o).catch(()=>{o(null)})},[i,n]);let s=he(),[c,l]=(0,j.useState)(window.innerHeight);(0,j.useEffect)(()=>{let e=new ResizeObserver(()=>{l(window.innerHeight)});return e.observe(document.body),()=>{e.disconnect()}},[]);let{circleProps:u,parentProps:d,draggableProps:f,pending:p,indicator:m,outputUIRef:h,scopedCss:g,sanitizedHtml:_,interactableScriptRef:v,hideHeader:y,setMinimized:b,dragHandleClassName:x,isFixed:S,isCircle:C,minimized:T,height:E,dragging:D,frameOffset:ee,scriptUIRef:O}=w({currentWindow:e,pathname:`/sandbox`,id:r,frameHeaderSize:Fe,defaultPositionGap:Ie,viewportHeight:c,hiddenByModal:!1}),te=Le+Math.max(0,ee),k=Se(r),ne=(()=>{try{let e=localStorage.getItem(k);return e?JSON.parse(e):null}catch{return null}})(),re=(0,j.useRef)(null),[ie,ae]=(0,j.useState)(ne??f.position),oe=(0,j.useRef)(ne!==null),se=f.position;(0,j.useEffect)(()=>{oe.current||ae({x:se.x,y:se.y})},[se.x,se.y]);let ce=(0,j.useCallback)(e=>{if(f.disabled||!e.target.closest(`.${x}`))return;e.preventDefault(),f.onStart();let t=e.clientX,n=e.clientY,r=ie.x,i=ie.y,a=e=>{ae({x:r+e.clientX-t,y:i+e.clientY-n})},o=e=>{document.removeEventListener(`pointermove`,a),document.removeEventListener(`pointerup`,o);let s={x:r+e.clientX-t,y:i+e.clientY-n};localStorage.setItem(k,JSON.stringify(s)),oe.current=!0,f.onStop(e,{node:re.current})};document.addEventListener(`pointermove`,a),document.addEventListener(`pointerup`,o)},[f,x,ie,k]);return(0,M.jsxs)(M.Fragment,{children:[C&&!u.hidden&&(0,M.jsx)(Re,{frameId:r,side:u.side,color:u.circleColor,zIndex:te,onClick:u.onClick,CustomIcon:u.CustomIcon,circleIcon:u.circleIcon,...i?{when:i,whenEnabled:a}:{}}),(0,M.jsxs)(`div`,{ref:re,className:d.className,style:{position:`fixed`,left:Math.min(ie.x,window.innerWidth-s-(e.width??300)),top:ie.y,width:e.width??300,zIndex:te,borderRadius:6,overflow:`hidden`,border:`1px solid rgba(0,0,0,0.1)`,boxShadow:`0 4px 20px rgba(0,0,0,0.1)`,backgroundColor:`white`,opacity:d.hidden||!t?0:1,pointerEvents:d.hidden||!t?`none`:`auto`},onPointerDown:ce,children:[(p||m===`block`)&&(0,M.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-white/80 font-mono text-[11px] text-neutral-400`,children:`loading…`}),!y&&(0,M.jsxs)(`div`,{className:`flex select-none items-center border-b border-black/8`,style:{height:Fe,backgroundColor:e.header_color??`#fafafa`,color:e.header_text_color??`#1a1a1a`},children:[(0,M.jsxs)(`div`,{className:`${x} flex h-full flex-1 items-center gap-2 overflow-hidden px-3 ${S?``:`cursor-grab active:cursor-grabbing`}`,children:[!S&&(0,M.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] opacity-30`,children:`⠿`}),(0,M.jsx)(`span`,{className:`truncate font-mono text-[12px] font-medium`,children:e.title})]}),(0,M.jsx)(`button`,{className:`flex h-full shrink-0 items-center px-3 font-mono text-[11px] transition-colors hover:bg-black/5`,onClick:()=>{b(!T)},onMouseDown:e=>{e.stopPropagation()},onPointerDown:e=>{e.stopPropagation()},title:T?`Expand`:`Collapse`,children:T?`↑`:`↓`})]}),(0,M.jsxs)(`div`,{style:{height:T?0:E,overflow:`hidden`,transition:`height ${String(E*5e-4)}s ease`},children:[e.type===`script`&&(0,M.jsxs)(`div`,{className:`h-full w-full`,style:{pointerEvents:D||d.hidden||!t?`none`:`auto`},children:[(0,M.jsx)(`div`,{className:`h-full w-full`,ref:O}),(0,M.jsx)(`style`,{children:g})]}),e.type===`html`&&_&&(0,M.jsxs)(`div`,{ref:v,className:`overflow-auto bg-white`,style:{height:E,pointerEvents:D||d.hidden||!t?`none`:`auto`},children:[(0,M.jsx)(`div`,{dangerouslySetInnerHTML:{__html:_}}),(0,M.jsx)(`div`,{ref:h}),(0,M.jsx)(`style`,{children:g})]}),e.type===`iframe`&&(0,M.jsx)(`div`,{className:`h-full w-full`,style:{pointerEvents:D||d.hidden||!t?`none`:`auto`},children:(0,M.jsx)(`div`,{className:`h-full w-full`,ref:O})})]})]})]})},Be=({visible:e})=>e?(0,M.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center rounded bg-white/70`,children:(0,M.jsx)(s,{icon:t,spin:!0,className:`text-[11px] text-neutral-400`})}):null;function Ve(e){let t=de(),{apiKey:n,businessId:r}=ce(),i=y(),[a,o]=ke(e,null),[s,c]=(0,j.useState)(()=>a?.name??``),[l,u]=(0,j.useState)(``),d=(0,j.useRef)(null);(0,j.useEffect)(()=>(d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{u(s)},300),()=>{d.current&&clearTimeout(d.current)}),[s]);let f=v({queryKey:[`custom-objects`,r,l],queryFn:async()=>{let e=new URLSearchParams({page_size:`20`});return l&&e.set(`search`,l),await(await t(`/custom-objects?${e.toString()}`)).json()},enabled:n!==``&&l.length>=1,staleTime:3e4});return{selectedObject:a,setSelectedObject:o,objectSearch:s,setObjectSearch:c,objectsQuery:f,objectOptions:(()=>{let e=f.data?.results.map(e=>({id:e.id,label:e.object_name}))??[],t=i?.business.client_object;return t?.access&&(!l||t.object_name.toLowerCase().includes(l.toLowerCase()))&&e.unshift({id:t.id,label:t.object_name}),e})()}}function He(e,t){let n=Object.values(e).find(e=>e.name===t);return typeof n?.value==`string`?n.value:``}function Ue(e,t){if(t){let t=He(e.fields,`first_name`),n=He(e.fields,`last_name`),r=He(e.fields,`email`),i=[t,n].filter(Boolean).join(` `);return i?`${i} (${r})`:r||e.id}let n=Object.values(e.fields).find(e=>e.name===`display_name`);return typeof n?.value==`string`?n.value:e.id}function We(e,t=``){let n=Ve(ve(e,t)),{selectedObject:r}=n,i=de(),{apiKey:a}=ce(),o=y(),[s,c]=ke(Ce(e,t),null),[l,u]=(0,j.useState)(()=>s?.label??``),[d,f]=(0,j.useState)(``),p=(0,j.useRef)(null);(0,j.useEffect)(()=>(p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{f(l)},300),()=>{p.current&&clearTimeout(p.current)}),[l]);let m=v({queryKey:[`entity-records`,r?.id,d],queryFn:async()=>{let e=new URLSearchParams({page_size:`20`});return d&&e.set(`search`,d),await(await i(`/records/${r?.id??``}/search?${e.toString()}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`})).json()},enabled:a!==``&&r!==null,staleTime:3e4}),h=r?.id===o?.business.client_object?.id,g=m.data?.results.map(e=>({id:e.id,label:Ue(e,h)}))??[];return{...n,selectedEntity:s,setSelectedEntity:c,entitySearch:l,setEntitySearch:u,entitiesQuery:m,entityOptions:g}}var Ge=120,Ke=e=>e instanceof Error?e.message:typeof e==`object`&&e&&`message`in e?String(e.message):String(e),qe=e=>{if(e===void 0)return{compact:`no return value`,full:`undefined`,empty:!0};if(typeof e==`string`)return{compact:e===``?`""`:e,full:e,empty:e===``};if(typeof e==`number`||typeof e==`boolean`||e===null){let t=String(e);return{compact:t,full:t,empty:!1}}try{return{compact:JSON.stringify(e),full:JSON.stringify(e,null,2),empty:!1}}catch{return{compact:`[unserializable value]`,full:`[unserializable value]`,empty:!1}}},Je=e=>e.length>Ge?`${e.slice(0,Ge)}…`:e,Ye=({result:e})=>{let[t,n]=(0,j.useState)(!1),r=(0,j.useRef)(null),i=x();(0,j.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]);let a=e.kind===`error`,{compact:c,full:l,empty:d}=a?{compact:e.message,full:e.message,empty:!1}:qe(e.value);return(0,M.jsx)(Te,{text:t?`Copied!`:l,children:(0,M.jsxs)(`span`,{role:`button`,tabIndex:-1,title:`Click to copy`,onClick:e=>{e.stopPropagation(),navigator.clipboard.writeText(l).then(()=>{n(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>{n(!1)},1200)}).catch(e=>{console.error(`Failed to copy to clipboard:`,e),i({message:`Could not copy to clipboard`,variant:`failure`})})},className:`inline-flex max-w-[240px] cursor-pointer items-center gap-1 rounded-full border px-2 py-0.5 font-mono text-[10px] transition-colors ${t?`border-emerald-300 bg-emerald-100 text-emerald-800`:a?`border-red-200 bg-red-50 text-red-700 hover:bg-red-100`:d?`border-black/8 bg-neutral-50 text-neutral-400 hover:bg-neutral-100`:`border-emerald-200 bg-emerald-50 text-emerald-700 hover:bg-emerald-100`}`,children:[(0,M.jsx)(s,{icon:t?u:a?o:h,className:`shrink-0 text-[9px] opacity-70`}),(0,M.jsx)(`span`,{className:`min-w-0 truncate`,children:t?`Copied!`:Je(c)})]})})},Xe=({action:e,objectId:t,entityId:n,actionObjectId:r,actionEntityId:i,pluginApiName:a,configArgs:o,disabled:s})=>{let[c,l]=(0,j.useState)(null),[u,{pending:d}]=O({objectId:t,entityId:n,onError:t=>{console.error(`[js-action] ${e.api_name}:`,t),l({kind:`error`,message:Ke(t)})}}),f={id:e.api_name,api_name:e.api_name,plugin_api_name:a};return(0,M.jsxs)(`button`,{onClick:()=>{let a={objectId:t,entityId:n};r&&i&&(a.actionObjectId=r,a.actionEntityId=i),l(null),u(e.script,o,f,a).then(e=>{l({kind:`value`,value:e})})},disabled:s===!0||d,className:`relative flex flex-col items-start rounded border border-black/8 bg-white px-3 py-1.5 text-left transition-colors hover:bg-black/5 disabled:opacity-50`,children:[(0,M.jsx)(`span`,{className:`font-mono text-[12px] text-neutral-800`,children:e.name}),e.hint_object_name&&(0,M.jsxs)(`span`,{className:`font-mono text-[10px] text-neutral-400`,children:[`for: `,e.hint_object_name]}),c&&(0,M.jsx)(Ye,{result:c}),(0,M.jsx)(Be,{visible:d})]})},Ze=({actions:e,pluginApiName:t,configArgs:n})=>{let{apiKey:r}=ce(),{selectedObject:i,setSelectedObject:a,objectSearch:o,setObjectSearch:s,objectsQuery:c,objectOptions:l,selectedEntity:u,setSelectedEntity:d,entitySearch:f,setEntitySearch:p,entitiesQuery:m,entityOptions:h}=We(t),{selectedObject:g,setSelectedObject:_,objectSearch:v,setObjectSearch:y,objectsQuery:b,objectOptions:x,selectedEntity:S,setSelectedEntity:C,entitySearch:w,setEntitySearch:T,entitiesQuery:E,entityOptions:D}=We(t,`action`);if(!r)return(0,M.jsx)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:`Configure API credentials in Dev Tools to use JS action templates.`});let ee=i!==null&&u!==null,O=g!==null&&S!==null;return(0,M.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,M.jsxs)(`div`,{className:`flex gap-3`,children:[(0,M.jsx)(`div`,{className:`flex-1`,children:(0,M.jsx)(k,{label:`Custom Object`,value:o,onChange:e=>{s(e),i&&(a(null),d(null),p(``))},onSelect:(e,t)=>{a({id:e,name:t}),s(t),d(null),p(``)},options:l,loading:c.isFetching,placeholder:`Search custom objects…`})}),(0,M.jsx)(`div`,{className:`flex-1`,children:(0,M.jsx)(k,{label:`Record`,value:f,onChange:e=>{p(e),u&&d(null)},onSelect:(e,t)=>{d({id:e,label:t}),p(t)},options:h,loading:m.isFetching,placeholder:`Search records…`,disabled:i===null})})]}),(0,M.jsxs)(`div`,{className:`flex gap-3`,children:[(0,M.jsx)(`div`,{className:`flex-1`,children:(0,M.jsx)(k,{label:`Related Object (optional)`,value:v,onChange:e=>{y(e),g&&(_(null),C(null),T(``))},onSelect:(e,t)=>{_({id:e,name:t}),y(t),C(null),T(``)},options:x,loading:b.isFetching,placeholder:`Search custom objects…`})}),(0,M.jsx)(`div`,{className:`flex-1`,children:(0,M.jsx)(k,{label:`Action Record (optional)`,value:w,onChange:e=>{T(e),S&&C(null)},onSelect:(e,t)=>{C({id:e,label:t}),T(t)},options:D,loading:E.isFetching,placeholder:`Search records…`,disabled:g===null})})]}),(0,M.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:e.map(e=>(0,M.jsx)(Xe,{action:e,objectId:i?.id??``,entityId:u?.id??``,actionObjectId:g?.id,actionEntityId:S?.id,pluginApiName:t,configArgs:n,disabled:!ee},e.api_name))},ee?`${i.id}-${u.id}-${O?`${g.id}-${S.id}`:`-`}`:`no-selection`)]})},Qe=({adornment:e,objectId:t,entityId:n,pluginApiName:r,fieldValue:i,configArgs:a,disabled:o,whenState:c})=>{let[l,u]=(0,j.useState)(null),[d,{pending:f}]=O({objectId:t,entityId:n,onError:t=>{console.error(`[data-adornment] ${e.field_type}:`,t),u({kind:`error`,message:Ke(t)})}}),p={id:e.config.tooltip||e.field_type,api_name:e.field_type,plugin_api_name:r};return(0,M.jsxs)(`button`,{onClick:()=>{let r={value:i,fieldId:``,fieldType:e.field_type,objectId:t,entityId:n,...a};u(null),d(e.script,r,p).then(e=>{u({kind:`value`,value:e})})},disabled:o===!0||f,className:`relative flex flex-col items-start rounded border border-black/8 bg-white px-3 py-1.5 text-left transition-colors hover:bg-black/5 disabled:opacity-50`,children:[(0,M.jsxs)(`span`,{className:`flex items-center gap-1.5 font-mono text-[12px] text-neutral-800`,children:[e.config.color&&(0,M.jsx)(`span`,{className:`h-3 w-4 shrink-0 rounded-sm border border-black/10`,style:{backgroundColor:e.config.color}}),e.config.icon&&(Oe[e.config.icon]?(0,M.jsx)(s,{icon:Oe[e.config.icon],className:`text-[12px] text-neutral-500`}):(0,M.jsx)(`span`,{className:`rounded px-1 font-mono text-[10px] ${De.has(e.config.icon)||Ee.has(e.config.icon)?`bg-neutral-100 text-neutral-400`:`bg-amber-100 text-amber-600`}`,children:e.config.icon})),e.config.tooltip||e.field_type]}),(0,M.jsx)(`span`,{className:`font-mono text-[10px] text-neutral-400`,children:e.field_type}),e.when&&c&&(0,M.jsx)(Ne,{when:e.when,whenState:c}),l&&(0,M.jsx)(Ye,{result:l}),(0,M.jsx)(Be,{visible:f})]})},$e=({adornments:e,pluginApiName:t,configArgs:n,whenState:r})=>{let{apiKey:i}=ce(),{selectedObject:a,setSelectedObject:o,objectSearch:s,setObjectSearch:c,objectsQuery:l,objectOptions:u,selectedEntity:d,setSelectedEntity:f,entitySearch:p,setEntitySearch:m,entitiesQuery:h,entityOptions:g}=We(t),[_,v]=(0,j.useState)({});if(!i)return(0,M.jsx)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:`Configure API credentials in Dev Tools to use data adornments.`});let y=a!==null&&d!==null,b=e.reduce((e,t)=>{let n=t.field_type;return e[n]??=[],e[n].push(t),e},{});return(0,M.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,M.jsxs)(`div`,{className:`flex gap-3`,children:[(0,M.jsx)(`div`,{className:`flex-1`,children:(0,M.jsx)(k,{label:`Custom Object`,value:s,onChange:e=>{c(e),a&&(o(null),f(null),m(``))},onSelect:(e,t)=>{o({id:e,name:t}),c(t),f(null),m(``)},options:u,loading:l.isFetching,placeholder:`Search custom objects…`})}),(0,M.jsx)(`div`,{className:`flex-1`,children:(0,M.jsx)(k,{label:`Record`,value:p,onChange:e=>{m(e),d&&f(null)},onSelect:(e,t)=>{f({id:e,label:t}),m(t)},options:g,loading:h.isFetching,placeholder:`Search records…`,disabled:a===null})})]}),(0,M.jsx)(`div`,{className:`flex flex-col gap-3`,children:Object.entries(b).map(([e,i])=>(0,M.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,M.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,M.jsx)(`label`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-500`,children:e}),(0,M.jsx)(`input`,{type:`text`,className:`w-full rounded border border-black/10 bg-white px-2.5 py-1.5 font-mono text-[12px] text-neutral-800 focus:border-neutral-400 focus:outline-none`,placeholder:`${e} value…`,value:_[e]??``,onChange:t=>{v(n=>({...n,[e]:t.target.value}))}})]}),(0,M.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:i.map((i,o)=>(0,M.jsx)(Qe,{adornment:i,objectId:a?.id??``,entityId:d?.id??``,pluginApiName:t,fieldValue:_[e]??``,configArgs:n,disabled:!y,...r?{whenState:r}:{}},o))})]},e))},y?`${a.id}-${d.id}`:`no-selection`)]})},et=`microphone; speaker-selection; autoplay; camera; display-capture; hid`,tt=({page:e,isActive:t})=>{let{scriptUIRef:n,outputUIRef:r,scopedCss:i,sanitizedHtml:a,interactableScriptRef:o,iframeURL:s,pending:c}=ee(e);return(0,M.jsxs)(`div`,{style:{display:t?`block`:`none`},className:`relative h-full w-full`,children:[c&&(0,M.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-white/80 font-mono text-[11px] text-neutral-400`,children:`loading…`}),e.type===`script`&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`div`,{ref:n,className:`h-full w-full overflow-auto p-3`}),(0,M.jsx)(`style`,{children:i})]}),e.type===`html`&&(0,M.jsxs)(`div`,{ref:o,className:`h-full overflow-auto p-3`,children:[a&&(0,M.jsx)(`div`,{className:`h-full`,dangerouslySetInnerHTML:{__html:a}}),(0,M.jsx)(`div`,{ref:r}),(0,M.jsx)(`style`,{children:i})]}),e.type===`iframe`&&s&&(0,M.jsx)(`iframe`,{src:s,className:`h-full w-full border-0`,title:e.name,allow:et})]})},nt=`integration:route-change`;function rt(e,t){return e.find(e=>e.api_name===t||t.endsWith(`${e.plugin_api_name}/${e.api_name}`))}function it(e){try{let t=new URL(e);return t.hostname===``?t.pathname.split(`/`).filter(Boolean).pop()??e:t.hostname}catch{return e.split(`/`).filter(Boolean).pop()??e}}var at=(0,j.forwardRef)(({pages:e},t)=>{let[n,r]=(0,j.useState)(`home`),[i,a]=(0,j.useState)({entries:[``],index:0}),[o,c]=(0,j.useState)([]),[l,u]=(0,j.useState)({}),d=(0,j.useRef)(0),f=(0,j.useRef)(null),[p,m]=(0,j.useState)(!1),[h,g]=(0,j.useState)(!1),_=(0,j.useCallback)(()=>{let e=f.current;e&&(m(e.scrollLeft>0),g(e.scrollLeft+e.clientWidth<e.scrollWidth-1))},[]);(0,j.useEffect)(()=>{let e=f.current;if(!e)return;_(),e.addEventListener(`scroll`,_);let t=new ResizeObserver(_);return t.observe(e),()=>{e.removeEventListener(`scroll`,_),t.disconnect()}},[_]);let v=i.entries[i.index]??``,y=n===`home`?v:n,b=(0,j.useRef)(!0);(0,j.useEffect)(()=>{if(b.current){b.current=!1;return}let e=`/${y}`;window.dispatchEvent(new CustomEvent(nt,{detail:{location:{host:window.location.host,origin:window.location.origin,port:window.location.port,protocol:window.location.protocol,pathname:e,search:``,hash:``,href:`${window.location.origin}${e}`}}}))},[y]);let x=n===`home`&&i.index>0,S=n===`home`&&i.index<i.entries.length-1,C=(0,j.useCallback)((t,n)=>{let i=t.replace(/^\/+/,``),o=rt(e,i);o?(r(o.api_name),u(e=>({...e,[o.api_name]:(e[o.api_name]??0)+1}))):(r(`home`),a(e=>{if(!n?.replace&&e.entries[e.index]===i)return e;if(n?.replace){let t=[...e.entries];return t[e.index]=i,{entries:t,index:e.index}}let t=[...e.entries.slice(0,e.index+1),i];return{entries:t,index:t.length-1}}))},[e]),w=(0,j.useCallback)(t=>{let n=rt(e,t.replace(/^\/+/,``));if(n){r(n.api_name),u(e=>({...e,[n.api_name]:(e[n.api_name]??0)+1}));return}d.current+=1;let i=`__tab_${String(d.current)}`;c(e=>[...e,{id:i,url:t,title:it(t)}]),r(i)},[e]),T=(0,j.useCallback)(e=>{c(t=>t.filter(t=>t.id!==e)),n===e&&r(`home`)},[n]);(0,j.useImperativeHandle)(t,()=>({navigate:C,openNewTab:w}),[C,w]);let E=o.find(e=>e.id===n)??null;return(0,M.jsxs)(`div`,{className:`mt-1.5 overflow-hidden rounded border border-black/10 bg-white`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-black/8 bg-neutral-50 px-3 py-1.5`,children:[(0,M.jsxs)(`div`,{className:`flex shrink-0 gap-1`,children:[(0,M.jsx)(`div`,{className:`h-3 w-3 rounded-full bg-red-400/60`}),(0,M.jsx)(`div`,{className:`h-3 w-3 rounded-full bg-yellow-400/60`}),(0,M.jsx)(`div`,{className:`h-3 w-3 rounded-full bg-green-400/60`})]}),(0,M.jsx)(`button`,{onClick:()=>{a(e=>({...e,index:e.index-1}))},disabled:!x,className:`px-0.5 font-mono text-[15px] leading-none transition-colors ${x?`text-neutral-600 hover:text-neutral-900`:`cursor-default text-neutral-300`}`,children:`‹`}),(0,M.jsx)(`button`,{onClick:()=>{a(e=>({...e,index:e.index+1}))},disabled:!S,className:`px-0.5 font-mono text-[15px] leading-none transition-colors ${S?`text-neutral-600 hover:text-neutral-900`:`cursor-default text-neutral-300`}`,children:`›`}),(0,M.jsx)(`div`,{className:`min-w-0 flex-1 truncate rounded border border-black/8 bg-white px-2 py-0.5 font-mono text-[11px] text-neutral-400`,children:E?E.url:`app://sandbox/${y}`})]}),(0,M.jsxs)(`div`,{className:`relative border-b border-black/8 bg-neutral-50`,children:[p&&(0,M.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 left-0 z-10 flex items-center pl-1 pr-6 bg-gradient-to-r from-neutral-50 to-transparent`,children:(0,M.jsx)(`span`,{className:`font-mono text-[13px] leading-none text-neutral-400`,children:`‹`})}),h&&(0,M.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 right-0 z-10 flex items-center pl-6 pr-1 bg-gradient-to-l from-neutral-50 to-transparent`,children:(0,M.jsx)(`span`,{className:`font-mono text-[13px] leading-none text-neutral-400`,children:`›`})}),(0,M.jsx)(`div`,{ref:f,className:`overflow-x-auto`,children:(0,M.jsxs)(`div`,{className:`flex min-w-max`,children:[(0,M.jsx)(`button`,{onClick:()=>{r(`home`)},className:`border-r border-black/8 px-3 py-1.5 font-mono text-[11px] transition-colors ${n===`home`?`bg-white font-medium text-neutral-900`:`text-neutral-500 hover:bg-black/5`}`,children:`home`}),e.map(e=>(0,M.jsxs)(`button`,{onClick:()=>{r(e.api_name)},className:`border-r border-black/8 px-3 py-1.5 font-mono text-[11px] transition-colors ${n===e.api_name?`bg-white font-medium text-neutral-900`:`text-neutral-500 hover:bg-black/5`}`,children:[e.toolbar_icon&&(Oe[e.toolbar_icon]?(0,M.jsx)(s,{icon:Oe[e.toolbar_icon],className:`mr-1 text-[10px] text-neutral-400`}):(0,M.jsx)(`span`,{className:`mr-1 rounded px-1 font-mono text-[9px] ${De.has(e.toolbar_icon)||Ee.has(e.toolbar_icon)?`bg-neutral-100 text-neutral-400`:`bg-amber-100 text-amber-600`}`,children:e.toolbar_icon})),e.name]},e.api_name)),o.map(e=>(0,M.jsxs)(`div`,{className:`flex items-center border-r border-black/8 ${n===e.id?`bg-white`:`hover:bg-black/5`}`,children:[(0,M.jsx)(`button`,{onClick:()=>{r(e.id)},className:`py-1.5 pl-3 pr-1 font-mono text-[11px] transition-colors ${n===e.id?`font-medium text-neutral-900`:`text-neutral-500`}`,children:e.title}),(0,M.jsx)(`button`,{onClick:()=>{T(e.id)},className:`px-1.5 py-1.5 font-mono text-[11px] text-neutral-300 transition-colors hover:text-neutral-600`,children:`×`})]},e.id))]})})]}),(0,M.jsxs)(`div`,{className:`h-[500px]`,children:[n===`home`&&v===``&&(0,M.jsxs)(`div`,{className:`flex flex-col gap-2 p-6 font-mono text-[11px]`,children:[(0,M.jsx)(`div`,{className:`text-neutral-400`,children:`app://sandbox/`}),(0,M.jsx)(`div`,{className:`mt-1 text-[13px] font-medium text-neutral-700`,children:`App Homepage`}),(0,M.jsx)(`div`,{className:`text-neutral-400`,children:e.length>0?`This is the index page of your app. Navigate to a routable page using the tabs above.`:`This app has no routable pages defined. Add a routable_page artifact to your plugin to see it here.`})]}),n===`home`&&v!==``&&(0,M.jsxs)(`div`,{className:`flex flex-col gap-2 p-6 font-mono text-[11px]`,children:[(0,M.jsxs)(`div`,{className:`text-neutral-400`,children:[`app://sandbox/`,v]}),(0,M.jsx)(`div`,{className:`mt-1 text-[13px] font-medium text-neutral-500`,children:`Page not found`}),(0,M.jsxs)(`div`,{className:`text-neutral-400`,children:[`No routable page with api_name`,` `,(0,M.jsx)(`code`,{className:`rounded bg-neutral-100 px-1`,children:v}),` is defined in this plugin.`]})]}),e.map(e=>(0,M.jsx)(tt,{page:e,isActive:n===e.api_name},`${e.api_name}-${String(l[e.api_name]??0)}`)),o.map(e=>(0,M.jsx)(`div`,{style:{display:n===e.id?`block`:`none`},className:`h-full w-full`,children:/^https?:\/\//i.test(e.url)?(0,M.jsx)(`iframe`,{src:e.url,className:`h-full w-full border-0`,title:e.title,allow:et}):(0,M.jsxs)(`div`,{className:`flex flex-col gap-2 p-6 font-mono text-[11px]`,children:[(0,M.jsx)(`div`,{className:`text-neutral-400`,children:e.url}),(0,M.jsx)(`div`,{className:`mt-1 text-[13px] font-medium text-neutral-500`,children:`Page not found`}),(0,M.jsxs)(`div`,{className:`text-neutral-400`,children:[`No routable page with path`,` `,(0,M.jsx)(`code`,{className:`rounded bg-neutral-100 px-1`,children:e.url}),` is defined in this plugin.`]})]})},e.id))]})]})});at.displayName=`RoutablePageBrowser`;var ot=({item:e,whenState:t})=>{let n={...e,name:e.label,type:`script`},[r,i]=(0,j.useState)(null),[a,{pending:o}]=ne({onError:t=>{console.error(`[toolbar] ${e.api_name}:`,t),i({kind:`error`,message:Ke(t)})},plugin:n}),c=e.when;return(0,M.jsxs)(`button`,{onClick:()=>{i(null),a(e.script,e.args).then(e=>{i({kind:`value`,value:e})})},disabled:o,className:`relative flex flex-col items-start rounded border border-black/8 bg-white px-3 py-1.5 font-mono text-[12px] text-neutral-800 transition-colors hover:bg-black/5 disabled:opacity-50`,children:[(0,M.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[e.color&&(0,M.jsx)(`span`,{className:`h-3 w-4 shrink-0 rounded-sm border border-black/10`,style:{backgroundColor:e.color}}),e.icon&&(Oe[e.icon]?(0,M.jsx)(s,{icon:Oe[e.icon],className:`text-[12px] text-neutral-500`}):(0,M.jsx)(`span`,{className:`rounded px-1 font-mono text-[10px] ${De.has(e.icon)||Ee.has(e.icon)?`bg-neutral-100 text-neutral-400`:`bg-amber-100 text-amber-600`}`,children:e.icon})),(0,M.jsx)(`span`,{children:e.label})]}),c&&t&&(0,M.jsx)(Ne,{when:c,whenState:t}),r&&(0,M.jsx)(Ye,{result:r}),(0,M.jsx)(Be,{visible:o})]})},st=({item:e,objectId:t,pluginApiName:n,configArgs:r,disabled:i,whenState:a})=>{let[o,{pending:s}]=O({objectId:t,entityId:``,onError:t=>{console.error(`[object-settings] ${e.api_name}:`,t)}}),c={id:e.api_name,api_name:e.api_name,plugin_api_name:n};return(0,M.jsxs)(`button`,{onClick:()=>{o(e.script,r,c)},disabled:i===!0||s,className:`relative flex flex-col items-start rounded border border-black/8 bg-white px-3 py-1.5 text-left transition-colors hover:bg-black/5 disabled:opacity-50`,children:[(0,M.jsx)(`span`,{className:`font-mono text-[12px] text-neutral-800`,children:e.label}),e.when&&a&&(0,M.jsx)(Ne,{when:e.when,whenState:a}),(0,M.jsx)(Be,{visible:s})]})},ct=({items:e,pluginApiName:t,configArgs:n,whenState:r})=>{let{apiKey:i}=ce(),{selectedObject:a,setSelectedObject:o,objectSearch:s,setObjectSearch:c,objectsQuery:l,objectOptions:u}=Ve(xe(t));return i?(0,M.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,M.jsx)(`div`,{className:`w-64`,children:(0,M.jsx)(k,{label:`Custom Object`,value:s,onChange:e=>{c(e),a&&o(null)},onSelect:(e,t)=>{o({id:e,name:t}),c(t)},options:u,loading:l.isFetching,placeholder:`Search custom objects…`})}),(0,M.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:e.map(e=>(0,M.jsx)(st,{item:e,objectId:a?.id??``,pluginApiName:t,configArgs:n,disabled:a===null,...r?{whenState:r}:{}},e.api_name))},a?.id??`no-selection`)]}):(0,M.jsx)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:`Configure API credentials in Dev Tools to use object settings menu items.`})},lt=`h-8 rounded border border-black/10 bg-white px-2.5 font-mono text-[12px] text-neutral-800 focus:border-neutral-400 focus:outline-none w-full`,ut=`block text-[11px] font-semibold uppercase tracking-widest text-neutral-600 mb-1`,dt=e=>e===`GET`?`bg-green-50 text-green-700`:e===`DELETE`?`bg-red-50 text-red-700`:e===`POST`?`bg-blue-50 text-blue-700`:`bg-amber-50 text-amber-700`;function ft(e,t){try{let n=localStorage.getItem(ye(e,t));return n?JSON.parse(n):[]}catch{return[]}}function pt(e,t,n,r){let i=n.path===``||n.path.startsWith(`/`)?n.path:`/${n.path}`,a=`${n.method}:${i}`,o=r.filter(e=>`${e.method}:${e.path}`!==a),s=[{...n,path:i,id:String(Date.now())},...o].slice(0,10);try{localStorage.setItem(ye(e,t),JSON.stringify(s))}catch{}return s}var mt=({response:e})=>{let{status:t,elapsedMs:n,contentType:r,body:i}=e,a=t===0?`bg-neutral-100 text-neutral-500`:t<300?`bg-green-50 text-green-700`:t<400?`bg-yellow-50 text-yellow-700`:`bg-red-50 text-red-700`,o=i;if(r.includes(`application/json`))try{o=JSON.stringify(JSON.parse(i),null,2)}catch{}return(0,M.jsxs)(`div`,{className:`mt-3 flex flex-col gap-2`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsx)(`span`,{className:`rounded px-2 py-0.5 text-[11px] font-semibold ${a}`,children:t===0?`Error`:t}),n>0&&(0,M.jsxs)(`span`,{className:`rounded bg-neutral-100 px-2 py-0.5 text-[11px] text-neutral-500`,children:[n,`ms`]})]}),(0,M.jsx)(`pre`,{className:`max-h-72 overflow-auto rounded border border-black/5 bg-neutral-50 p-3 font-mono text-[11px] leading-relaxed text-neutral-700 whitespace-pre-wrap break-all`,children:o||`(empty response)`})]})},ht=({headers:e,onChange:t})=>{let r=()=>{t([...e,{id:String(Date.now()),key:``,value:``}])},i=n=>{t(e.filter(e=>e.id!==n))},a=(n,r,i)=>{t(e.map(e=>e.id===n?{...e,[r]:i}:e))};return(0,M.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,M.jsx)(`label`,{className:ut,children:`Custom Headers`}),e.length>0&&(0,M.jsx)(`div`,{className:`grid grid-cols-[1fr_1fr_auto] gap-1 mb-1`,children:e.map(e=>(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`input`,{className:lt,placeholder:`Header name`,value:e.key,onChange:t=>{a(e.id,`key`,t.target.value)}},`${e.id}-key`),(0,M.jsx)(`input`,{className:lt,placeholder:`Value`,value:e.value,onChange:t=>{a(e.id,`value`,t.target.value)}},`${e.id}-val`),(0,M.jsx)(`button`,{type:`button`,className:`px-1.5 text-neutral-400 hover:text-red-500`,onClick:()=>{i(e.id)},children:(0,M.jsx)(s,{icon:o,className:`text-[11px]`})},`${e.id}-rm`)]}))}),(0,M.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 text-[11px] text-neutral-400 hover:text-neutral-700 self-start`,onClick:r,children:[(0,M.jsx)(s,{icon:n,className:`text-[10px]`}),`Add header`]})]})},gt=({service:e,pluginApiName:n})=>{let r=de(),{environment:i}=ce(),a=pe[i],[o,l]=(0,j.useState)(`GET`),[u,f]=(0,j.useState)(``),[p,m]=(0,j.useState)([]),[h,g]=(0,j.useState)(``),[_,v]=(0,j.useState)(!1),[y,x]=(0,j.useState)(null),[S,C]=(0,j.useState)(()=>ft(n,e.service_name)),[w,T]=(0,j.useState)(!1),E=(0,j.useRef)(null);(0,j.useEffect)(()=>{if(!w)return;let e=e=>{E.current&&!E.current.contains(e.target)&&T(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[w]);let D=[`POST`,`PUT`,`PATCH`].includes(o),ee=u===``||u.startsWith(`/`)?u:`/${u}`,O=`/external-integrations/proxy/${n}/${e.service_name}${ee||`/`}`,te=`${a}${O}`,k=e=>{l(e.method),f(e.path),m(e.headers),g(e.body),T(!1)},ne=()=>{localStorage.removeItem(ye(n,e.service_name)),C([]),T(!1)},re=async()=>{if(!_){C(pt(n,e.service_name,{method:o,path:u,headers:p,body:h},S)),v(!0),x(null);try{let e=Object.fromEntries(p.filter(e=>e.key.trim()).map(e=>[e.key.trim(),e.value])),t=performance.now(),n=await r(O,{method:o,headers:{...D&&h.trim()?{"Content-Type":`application/json`}:{},...e},...D&&h.trim()?{body:h}:{}}),i=Math.round(performance.now()-t),a=n.headers.get(`content-type`)??``,s=await n.text();x({status:n.status,elapsedMs:i,contentType:a,body:s})}catch(e){x({status:0,elapsedMs:0,contentType:``,body:String(e)})}finally{v(!1)}}};return(0,M.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,M.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,M.jsxs)(`div`,{className:`flex flex-col gap-1 shrink-0`,children:[(0,M.jsx)(`label`,{className:ut,children:`Method`}),(0,M.jsx)(`select`,{className:`h-8 w-28 rounded border border-black/10 bg-white px-2 font-mono text-[12px] text-neutral-800 focus:border-neutral-400 focus:outline-none`,value:o,onChange:e=>{l(e.target.value)},children:[`GET`,`POST`,`PUT`,`PATCH`,`DELETE`].map(e=>(0,M.jsx)(`option`,{value:e,children:e},e))})]}),(0,M.jsxs)(`div`,{className:`relative flex flex-col gap-1 flex-1 min-w-0`,ref:E,children:[(0,M.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsx)(`label`,{className:ut,children:`Path`}),S.length>0&&(0,M.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 text-[11px] text-neutral-400 hover:text-neutral-700`,onClick:()=>{T(e=>!e)},title:`Request history`,children:[(0,M.jsx)(s,{icon:d,className:`text-[10px]`}),(0,M.jsx)(`span`,{children:S.length})]})]}),(0,M.jsx)(`input`,{className:lt,placeholder:`/path/to/endpoint`,value:u,onChange:e=>{f(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&re()}}),(0,M.jsx)(`span`,{className:`font-mono text-[10px] text-neutral-400 truncate`,children:te}),(0,M.jsxs)(b,{anchorRef:E,open:w&&S.length>0,children:[S.map(e=>(0,M.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left hover:bg-neutral-50`,onClick:()=>{k(e)},children:[(0,M.jsx)(`span`,{className:`shrink-0 rounded px-1.5 py-0.5 font-mono text-[10px] font-semibold ${dt(e.method)}`,children:e.method}),(0,M.jsx)(`span`,{className:`flex-1 truncate font-mono text-[11px] text-neutral-700`,children:e.path||`/`}),e.headers.filter(e=>e.key.trim()).length>0&&(0,M.jsxs)(`span`,{className:`shrink-0 text-[10px] text-neutral-400`,children:[e.headers.filter(e=>e.key.trim()).length,`h`]}),e.body.trim()&&(0,M.jsx)(`span`,{className:`shrink-0 text-[10px] text-neutral-400`,children:`body`})]},e.id)),(0,M.jsx)(`div`,{className:`border-t border-black/5 px-3 py-1.5 text-right`,children:(0,M.jsx)(`button`,{type:`button`,className:`text-[11px] text-neutral-400 hover:text-neutral-700`,onClick:ne,children:`clear history`})})]})]}),(0,M.jsxs)(`div`,{className:`flex flex-col gap-1 shrink-0`,children:[(0,M.jsx)(`span`,{className:`invisible ${ut}`,children:`\xA0`}),(0,M.jsxs)(`button`,{type:`button`,disabled:_,className:`h-8 flex items-center gap-1.5 rounded bg-neutral-800 px-3 text-[12px] font-medium text-white hover:bg-neutral-700 disabled:opacity-50`,onClick:()=>{re()},children:[_?(0,M.jsx)(s,{icon:t,className:`animate-spin text-[11px]`}):(0,M.jsx)(s,{icon:c,className:`text-[11px]`}),`Send`]})]})]}),(0,M.jsx)(ht,{headers:p,onChange:m}),D&&(0,M.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,M.jsx)(`label`,{className:ut,children:`Request Body`}),(0,M.jsx)(`textarea`,{className:`rounded border border-black/10 bg-white px-2.5 py-1.5 font-mono text-[12px] text-neutral-800 focus:border-neutral-400 focus:outline-none w-full resize-y`,rows:5,placeholder:`{"key": "value"}`,value:h,onChange:e=>{g(e.target.value)}})]}),y!==null&&(0,M.jsx)(mt,{response:y})]})},_t=e=>e===`oauth`?`rounded bg-blue-50 px-1.5 py-0.5 text-[11px] font-mono text-blue-700`:e===`no_auth`?`rounded bg-neutral-100 px-1.5 py-0.5 text-[11px] font-mono text-neutral-500`:`rounded bg-amber-50 px-1.5 py-0.5 text-[11px] font-mono text-amber-700`,vt=({label:e,children:t})=>(0,M.jsxs)(`div`,{className:`flex items-baseline gap-2 text-[12px]`,children:[(0,M.jsx)(`span`,{className:`w-28 shrink-0 text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:e}),t]}),yt=({service:e})=>(0,M.jsxs)(`div`,{className:`flex flex-col gap-1.5 pb-4 mb-4 border-b border-black/5`,children:[(0,M.jsxs)(vt,{label:`Name`,children:[(0,M.jsx)(`span`,{className:`text-neutral-800 font-medium`,children:e.display_name}),(0,M.jsx)(`span`,{className:`rounded bg-neutral-100 px-1.5 py-0.5 font-mono text-[11px] text-neutral-500`,children:e.service_name})]}),(0,M.jsxs)(vt,{label:`Auth`,children:[(0,M.jsx)(`span`,{className:_t(e.auth_type),children:e.auth_type}),e.auth_level&&(0,M.jsx)(`span`,{className:`text-[11px] text-neutral-400`,children:e.auth_level})]}),(0,M.jsx)(vt,{label:`Base URL`,children:(0,M.jsx)(`span`,{className:`font-mono text-[11px] text-neutral-600 break-all`,children:e.base_service_url||(0,M.jsx)(`em`,{className:`text-neutral-400`,children:`none`})})}),e.auth_credentials?.scopes&&(0,M.jsx)(vt,{label:`Scopes`,children:(0,M.jsx)(`span`,{className:`font-mono text-[11px] text-neutral-600 break-all leading-relaxed`,children:e.auth_credentials.scopes})}),e.auth_credentials?.authorize_url&&(0,M.jsx)(vt,{label:`Auth URL`,children:(0,M.jsx)(`span`,{className:`font-mono text-[11px] text-neutral-600 break-all`,children:e.auth_credentials.authorize_url})}),e.required_entitlement?(0,M.jsx)(vt,{label:`Entitlement`,children:(0,M.jsx)(`span`,{className:`font-mono text-[11px] text-neutral-500`,children:e.required_entitlement})}):null]}),bt=({services:e,pluginApiName:t,isInstalled:n})=>{let[r,i]=(0,j.useState)(0),a=e[r]??e[0];return a?(0,M.jsxs)(A,{className:`!p-0 overflow-hidden`,children:[(0,M.jsxs)(`div`,{className:`border-b border-black/10 px-5 py-3`,children:[(0,M.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:`Services`}),(0,M.jsx)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:`Make proxied requests to external services through Kizen's integration layer.`})]}),(0,M.jsx)(`div`,{className:`flex border-b border-black/10 overflow-x-auto`,children:e.map((e,t)=>(0,M.jsx)(`button`,{type:`button`,onClick:()=>{i(t)},className:`shrink-0 px-4 py-2.5 text-[12px] font-medium border-b-2 transition-colors ${t===r?`border-neutral-800 text-neutral-900`:`border-transparent text-neutral-400 hover:text-neutral-700`}`,children:e.display_name},e.service_name))}),(0,M.jsxs)(`div`,{className:`p-5 flex flex-col gap-4`,children:[(0,M.jsx)(yt,{service:a}),n?(0,M.jsx)(gt,{service:a,pluginApiName:t},a.service_name):(0,M.jsxs)(`div`,{className:`flex items-start gap-2 rounded border border-amber-200/60 bg-amber-50 px-3 py-2.5 text-[12px] text-amber-800`,children:[(0,M.jsx)(s,{icon:l,className:`mt-0.5 text-[11px]`}),(0,M.jsx)(`span`,{children:`Please install the plugin in order to test.`})]})]})]}):null},xt,N,St,Ct,wt,Tt,Et,Dt,Ot,kt={},At=[],jt=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function Mt(e,t){for(var n in t)e[n]=t[n];return e}function Nt(e){var t=e.parentNode;t&&t.removeChild(e)}function P(e,t,n){var r,i,a,o={};for(a in t)a==`key`?r=t[a]:a==`ref`?i=t[a]:o[a]=t[a];if(arguments.length>2&&(o.children=arguments.length>3?xt.call(arguments,2):n),typeof e==`function`&&e.defaultProps!=null)for(a in e.defaultProps)o[a]===void 0&&(o[a]=e.defaultProps[a]);return Pt(e,o,r,i,null)}function Pt(e,t,n,r,i){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:i??++St};return i==null&&N.vnode!=null&&N.vnode(a),a}function F(){return{current:null}}function I(e){return e.children}function Ft(e,t,n,r,i){for(var a in n)a===`children`||a===`key`||a in t||Lt(e,a,null,n[a],r);for(a in t)i&&typeof t[a]!=`function`||a===`children`||a===`key`||a===`value`||a===`checked`||n[a]===t[a]||Lt(e,a,t[a],n[a],r)}function It(e,t,n){t[0]===`-`?e.setProperty(t,n??``):e[t]=n==null?``:typeof n!=`number`||jt.test(t)?n:n+`px`}function Lt(e,t,n,r,i){var a;n:if(t===`style`)if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||It(e.style,t,``);if(n)for(t in n)r&&n[t]===r[t]||It(e.style,t,n[t])}else if(t[0]===`o`&&t[1]===`n`)a=t!==(t=t.replace(/Capture$/,``)),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||={},e.l[t+a]=n,n?r||e.addEventListener(t,a?zt:Rt,a):e.removeEventListener(t,a?zt:Rt,a);else if(t!==`dangerouslySetInnerHTML`){if(i)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!==`width`&&t!==`height`&&t!==`href`&&t!==`list`&&t!==`form`&&t!==`tabIndex`&&t!==`download`&&t in e)try{e[t]=n??``;break n}catch{}typeof n==`function`||(n==null||!1===n&&t.indexOf(`-`)==-1?e.removeAttribute(t):e.setAttribute(t,n))}}function Rt(e){wt=!0;try{return this.l[e.type+!1](N.event?N.event(e):e)}finally{wt=!1}}function zt(e){wt=!0;try{return this.l[e.type+!0](N.event?N.event(e):e)}finally{wt=!1}}function L(e,t){this.props=e,this.context=t}function Bt(e,t){if(t==null)return e.__?Bt(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type==`function`?Bt(e):null}function Vt(e){var t,n;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null){e.__e=e.__c.base=n.__e;break}return Vt(e)}}function Ht(e){wt?setTimeout(e):Dt(e)}function Ut(e){(!e.__d&&(e.__d=!0)&&Tt.push(e)&&!Wt.__r++||Et!==N.debounceRendering)&&((Et=N.debounceRendering)||Ht)(Wt)}function Wt(){var e,t,n,r,i,a,o,s;for(Tt.sort(function(e,t){return e.__v.__b-t.__v.__b});e=Tt.shift();)e.__d&&(t=Tt.length,r=void 0,i=void 0,o=(a=(n=e).__v).__e,(s=n.__P)&&(r=[],(i=Mt({},a)).__v=a.__v+1,Xt(s,a,i,n.__n,s.ownerSVGElement!==void 0,a.__h==null?null:[o],r,o??Bt(a),a.__h),Zt(r,a),a.__e!=o&&Vt(a)),Tt.length>t&&Tt.sort(function(e,t){return e.__v.__b-t.__v.__b}));Wt.__r=0}function Gt(e,t,n,r,i,a,o,s,c,l){var u,d,f,p,m,h,g,_=r&&r.__k||At,v=_.length;for(n.__k=[],u=0;u<t.length;u++)if((p=n.__k[u]=(p=t[u])==null||typeof p==`boolean`?null:typeof p==`string`||typeof p==`number`||typeof p==`bigint`?Pt(null,p,null,null,p):Array.isArray(p)?Pt(I,{children:p},null,null,null):p.__b>0?Pt(p.type,p.props,p.key,p.ref?p.ref:null,p.__v):p)!=null){if(p.__=n,p.__b=n.__b+1,(f=_[u])===null||f&&p.key==f.key&&p.type===f.type)_[u]=void 0;else for(d=0;d<v;d++){if((f=_[d])&&p.key==f.key&&p.type===f.type){_[d]=void 0;break}f=null}Xt(e,p,f||=kt,i,a,o,s,c,l),m=p.__e,(d=p.ref)&&f.ref!=d&&(g||=[],f.ref&&g.push(f.ref,null,p),g.push(d,p.__c||m,p)),m==null?c&&f.__e==c&&c.parentNode!=e&&(c=Bt(f)):(h??=m,typeof p.type==`function`&&p.__k===f.__k?p.__d=c=Kt(p,c,e):c=Jt(e,p,f,_,m,c),typeof n.type==`function`&&(n.__d=c))}for(n.__e=h,u=v;u--;)_[u]!=null&&(typeof n.type==`function`&&_[u].__e!=null&&_[u].__e==n.__d&&(n.__d=Yt(r).nextSibling),en(_[u],_[u]));if(g)for(u=0;u<g.length;u++)$t(g[u],g[++u],g[++u])}function Kt(e,t,n){for(var r,i=e.__k,a=0;i&&a<i.length;a++)(r=i[a])&&(r.__=e,t=typeof r.type==`function`?Kt(r,t,n):Jt(n,r,r,i,r.__e,t));return t}function qt(e,t){return t||=[],e==null||typeof e==`boolean`||(Array.isArray(e)?e.some(function(e){qt(e,t)}):t.push(e)),t}function Jt(e,t,n,r,i,a){var o,s,c;if(t.__d!==void 0)o=t.__d,t.__d=void 0;else if(n==null||i!=a||i.parentNode==null)n:if(a==null||a.parentNode!==e)e.appendChild(i),o=null;else{for(s=a,c=0;(s=s.nextSibling)&&c<r.length;c+=1)if(s==i)break n;e.insertBefore(i,a),o=a}return o===void 0?i.nextSibling:o}function Yt(e){var t,n,r;if(e.type==null||typeof e.type==`string`)return e.__e;if(e.__k){for(t=e.__k.length-1;t>=0;t--)if((n=e.__k[t])&&(r=Yt(n)))return r}return null}function Xt(e,t,n,r,i,a,o,s,c){var l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w=t.type;if(t.constructor!==void 0)return null;n.__h!=null&&(c=n.__h,s=t.__e=n.__e,t.__h=null,a=[s]),(l=N.__b)&&l(t);try{n:if(typeof w==`function`){if(g=t.props,_=(l=w.contextType)&&r[l.__c],v=l?_?_.props.value:l.__:r,n.__c?h=(u=t.__c=n.__c).__=u.__E:(`prototype`in w&&w.prototype.render?t.__c=u=new w(g,v):(t.__c=u=new L(g,v),u.constructor=w,u.render=tn),_&&_.sub(u),u.props=g,u.state||={},u.context=v,u.__n=r,d=u.__d=!0,u.__h=[],u._sb=[]),u.__s??=u.state,w.getDerivedStateFromProps!=null&&(u.__s==u.state&&(u.__s=Mt({},u.__s)),Mt(u.__s,w.getDerivedStateFromProps(g,u.__s))),f=u.props,p=u.state,u.__v=t,d)w.getDerivedStateFromProps==null&&u.componentWillMount!=null&&u.componentWillMount(),u.componentDidMount!=null&&u.__h.push(u.componentDidMount);else{if(w.getDerivedStateFromProps==null&&g!==f&&u.componentWillReceiveProps!=null&&u.componentWillReceiveProps(g,v),!u.__e&&u.shouldComponentUpdate!=null&&!1===u.shouldComponentUpdate(g,u.__s,v)||t.__v===n.__v){for(t.__v!==n.__v&&(u.props=g,u.state=u.__s,u.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.forEach(function(e){e&&(e.__=t)}),y=0;y<u._sb.length;y++)u.__h.push(u._sb[y]);u._sb=[],u.__h.length&&o.push(u);break n}u.componentWillUpdate!=null&&u.componentWillUpdate(g,u.__s,v),u.componentDidUpdate!=null&&u.__h.push(function(){u.componentDidUpdate(f,p,m)})}if(u.context=v,u.props=g,u.__P=e,b=N.__r,x=0,`prototype`in w&&w.prototype.render){for(u.state=u.__s,u.__d=!1,b&&b(t),l=u.render(u.props,u.state,u.context),S=0;S<u._sb.length;S++)u.__h.push(u._sb[S]);u._sb=[]}else do u.__d=!1,b&&b(t),l=u.render(u.props,u.state,u.context),u.state=u.__s;while(u.__d&&++x<25);u.state=u.__s,u.getChildContext!=null&&(r=Mt(Mt({},r),u.getChildContext())),d||u.getSnapshotBeforeUpdate==null||(m=u.getSnapshotBeforeUpdate(f,p)),C=l!=null&&l.type===I&&l.key==null?l.props.children:l,Gt(e,Array.isArray(C)?C:[C],t,n,r,i,a,o,s,c),u.base=t.__e,t.__h=null,u.__h.length&&o.push(u),h&&(u.__E=u.__=null),u.__e=!1}else a==null&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=Qt(n.__e,t,n,r,i,a,o,c);(l=N.diffed)&&l(t)}catch(e){t.__v=null,(c||a!=null)&&(t.__e=s,t.__h=!!c,a[a.indexOf(s)]=null),N.__e(e,t,n)}}function Zt(e,t){N.__c&&N.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){N.__e(e,t.__v)}})}function Qt(e,t,n,r,i,a,o,s){var c,l,u,d=n.props,f=t.props,p=t.type,m=0;if(p===`svg`&&(i=!0),a!=null){for(;m<a.length;m++)if((c=a[m])&&`setAttribute`in c==!!p&&(p?c.localName===p:c.nodeType===3)){e=c,a[m]=null;break}}if(e==null){if(p===null)return document.createTextNode(f);e=i?document.createElementNS(`http://www.w3.org/2000/svg`,p):document.createElement(p,f.is&&f),a=null,s=!1}if(p===null)d===f||s&&e.data===f||(e.data=f);else{if(a&&=xt.call(e.childNodes),l=(d=n.props||kt).dangerouslySetInnerHTML,u=f.dangerouslySetInnerHTML,!s){if(a!=null)for(d={},m=0;m<e.attributes.length;m++)d[e.attributes[m].name]=e.attributes[m].value;(u||l)&&(u&&(l&&u.__html==l.__html||u.__html===e.innerHTML)||(e.innerHTML=u&&u.__html||``))}if(Ft(e,f,d,i,s),u)t.__k=[];else if(m=t.props.children,Gt(e,Array.isArray(m)?m:[m],t,n,r,i&&p!==`foreignObject`,a,o,a?a[0]:n.__k&&Bt(n,0),s),a!=null)for(m=a.length;m--;)a[m]!=null&&Nt(a[m]);s||(`value`in f&&(m=f.value)!==void 0&&(m!==e.value||p===`progress`&&!m||p===`option`&&m!==d.value)&&Lt(e,`value`,m,d.value,!1),`checked`in f&&(m=f.checked)!==void 0&&m!==e.checked&&Lt(e,`checked`,m,d.checked,!1))}return e}function $t(e,t,n){try{typeof e==`function`?e(t):e.current=t}catch(e){N.__e(e,n)}}function en(e,t,n){var r,i;if(N.unmount&&N.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||$t(r,null,t)),(r=e.__c)!=null){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){N.__e(e,t)}r.base=r.__P=null,e.__c=void 0}if(r=e.__k)for(i=0;i<r.length;i++)r[i]&&en(r[i],t,n||typeof e.type!=`function`);n||e.__e==null||Nt(e.__e),e.__=e.__e=e.__d=void 0}function tn(e,t,n){return this.constructor(e,n)}function nn(e,t,n){var r,i,a;N.__&&N.__(e,t),i=(r=typeof n==`function`)?null:n&&n.__k||t.__k,a=[],Xt(t,e=(!r&&n||t).__k=P(I,null,[e]),i||kt,kt,t.ownerSVGElement!==void 0,!r&&n?[n]:i?null:t.firstChild?xt.call(t.childNodes):null,a,!r&&n?n:i?i.__e:t.firstChild,r),Zt(a,e)}function rn(e,t){var n={__c:t=`__cC`+ Ot++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=[],(r={})[t]=this,this.getChildContext=function(){return r},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.some(function(e){e.__e=!0,Ut(e)})},this.sub=function(e){n.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n.splice(n.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n}xt=At.slice,N={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(e)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(e,r||{}),o=i.__d),o)return i.__E=i}catch(t){e=t}throw e}},St=0,Ct=function(e){return e!=null&&e.constructor===void 0},wt=!1,L.prototype.setState=function(e,t){var n=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=Mt({},this.state);typeof e==`function`&&(e=e(Mt({},n),this.props)),e&&Mt(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),Ut(this))},L.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Ut(this))},L.prototype.render=I,Tt=[],Dt=typeof Promise==`function`?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Wt.__r=0,Ot=0;var R,an,on,sn=[],cn=[],ln=N.__b,un=N.__r,dn=N.diffed,fn=N.__c,pn=N.unmount;function mn(){for(var e;e=sn.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(_n),e.__H.__h.forEach(vn),e.__H.__h=[]}catch(t){e.__H.__h=[],N.__e(t,e.__v)}}N.__b=function(e){R=null,ln&&ln(e)},N.__r=function(e){un&&un(e);var t=(R=e.__c).__H;t&&(an===R?(t.__h=[],R.__h=[],t.__.forEach(function(e){e.__N&&(e.__=e.__N),e.__V=cn,e.__N=e.i=void 0})):(t.__h.forEach(_n),t.__h.forEach(vn),t.__h=[])),an=R},N.diffed=function(e){dn&&dn(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(sn.push(t)!==1&&on===N.requestAnimationFrame||((on=N.requestAnimationFrame)||gn)(mn)),t.__H.__.forEach(function(e){e.i&&(e.__H=e.i),e.__V!==cn&&(e.__=e.__V),e.i=void 0,e.__V=cn})),an=R=null},N.__c=function(e,t){t.some(function(e){try{e.__h.forEach(_n),e.__h=e.__h.filter(function(e){return!e.__||vn(e)})}catch(n){t.some(function(e){e.__h&&=[]}),t=[],N.__e(n,e.__v)}}),fn&&fn(e,t)},N.unmount=function(e){pn&&pn(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(e){try{_n(e)}catch(e){t=e}}),n.__H=void 0,t&&N.__e(t,n.__v))};var hn=typeof requestAnimationFrame==`function`;function gn(e){var t,n=function(){clearTimeout(r),hn&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);hn&&(t=requestAnimationFrame(n))}function _n(e){var t=R,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),R=t}function vn(e){var t=R;e.__c=e.__(),R=t}function yn(e,t){for(var n in t)e[n]=t[n];return e}function bn(e,t){for(var n in e)if(n!==`__source`&&!(n in t))return!0;for(var r in t)if(r!==`__source`&&e[r]!==t[r])return!0;return!1}function xn(e){this.props=e}(xn.prototype=new L).isPureReactComponent=!0,xn.prototype.shouldComponentUpdate=function(e,t){return bn(this.props,e)||bn(this.state,t)};var Sn=N.__b;N.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Sn&&Sn(e)},typeof Symbol<`u`&&Symbol.for;var Cn=N.__e;N.__e=function(e,t,n,r){if(e.then){for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return t.__e??(t.__e=n.__e,t.__k=n.__k),i.__c(e,t)}Cn(e,t,n,r)};var wn=N.unmount;function Tn(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(e){typeof e.__c==`function`&&e.__c()}),e.__c.__H=null),(e=yn({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map(function(e){return Tn(e,t,n)})),e}function En(e,t,n){return e&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return En(e,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.insertBefore(e.__e,e.__d),e.__c.__e=!0,e.__c.__P=n)),e}function Dn(){this.__u=0,this.t=null,this.__b=null}function On(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function kn(){this.u=null,this.o=null}N.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&!0===e.__h&&(e.type=null),wn&&wn(e)},(Dn.prototype=new L).__c=function(e,t){var n=t.__c,r=this;r.t??=[],r.t.push(n);var i=On(r.__v),a=!1,o=function(){a||(a=!0,n.__R=null,i?i(s):s())};n.__R=o;var s=function(){if(!--r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=En(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}},c=!0===t.__h;r.__u++||c||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(o,o)},Dn.prototype.componentWillUnmount=function(){this.t=[]},Dn.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement(`div`),r=this.__v.__k[0].__c;this.__v.__k[0]=Tn(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&P(I,null,e.fallback);return i&&(i.__h=null),[P(I,null,t.__a?null:e.children),i]};var An=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!==`t`||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.u=n=n[2]}};function jn(e){return this.getChildContext=function(){return e.context},e.children}function Mn(e){var t=this,n=e.i;t.componentWillUnmount=function(){nn(null,t.l),t.l=null,t.i=null},t.i&&t.i!==n&&t.componentWillUnmount(),e.__v?(t.l||=(t.i=n,{nodeType:1,parentNode:n,childNodes:[],appendChild:function(e){this.childNodes.push(e),t.i.appendChild(e)},insertBefore:function(e,n){this.childNodes.push(e),t.i.appendChild(e)},removeChild:function(e){this.childNodes.splice(this.childNodes.indexOf(e)>>>1,1),t.i.removeChild(e)}}),nn(P(jn,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function Nn(e,t){var n=P(Mn,{__v:e,i:t});return n.containerInfo=t,n}(kn.prototype=new L).__a=function(e){var t=this,n=On(t.__v),r=t.o.get(e);return r[0]++,function(i){var a=function(){t.props.revealOrder?(r.push(i),An(t,e,r)):i()};n?n(a):a()}},kn.prototype.render=function(e){this.u=null,this.o=new Map;var t=qt(e.children);e.revealOrder&&e.revealOrder[0]===`b`&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},kn.prototype.componentDidUpdate=kn.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,n){An(e,n,t)})};var Pn=typeof Symbol<`u`&&Symbol.for&&Symbol.for(`react.element`)||60103,Fn=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,In=typeof document<`u`,Ln=function(e){return(typeof Symbol<`u`&&typeof Symbol()==`symbol`?/fil|che|rad/i:/fil|che|ra/i).test(e)};L.prototype.isReactComponent={},[`componentWillMount`,`componentWillReceiveProps`,`componentWillUpdate`].forEach(function(e){Object.defineProperty(L.prototype,e,{configurable:!0,get:function(){return this[`UNSAFE_`+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var Rn=N.event;function zn(){}function Bn(){return this.cancelBubble}function Vn(){return this.defaultPrevented}N.event=function(e){return Rn&&(e=Rn(e)),e.persist=zn,e.isPropagationStopped=Bn,e.isDefaultPrevented=Vn,e.nativeEvent=e};var Hn={configurable:!0,get:function(){return this.class}},Un=N.vnode;N.vnode=function(e){var t=e.type,n=e.props,r=n;if(typeof t==`string`){var i=t.indexOf(`-`)===-1;for(var a in r={},n){var o=n[a];In&&a===`children`&&t===`noscript`||a===`value`&&`defaultValue`in n&&o==null||(a===`defaultValue`&&`value`in n&&n.value==null?a=`value`:a===`download`&&!0===o?o=``:/ondoubleclick/i.test(a)?a=`ondblclick`:/^onchange(textarea|input)/i.test(a+t)&&!Ln(n.type)?a=`oninput`:/^onfocus$/i.test(a)?a=`onfocusin`:/^onblur$/i.test(a)?a=`onfocusout`:/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(a)?a=a.toLowerCase():i&&Fn.test(a)?a=a.replace(/[A-Z0-9]/g,`-$&`).toLowerCase():o===null&&(o=void 0),/^oninput$/i.test(a)&&(a=a.toLowerCase(),r[a]&&(a=`oninputCapture`)),r[a]=o)}t==`select`&&r.multiple&&Array.isArray(r.value)&&(r.value=qt(n.children).forEach(function(e){e.props.selected=r.value.indexOf(e.props.value)!=-1})),t==`select`&&r.defaultValue!=null&&(r.value=qt(n.children).forEach(function(e){e.props.selected=r.multiple?r.defaultValue.indexOf(e.props.value)!=-1:r.defaultValue==e.props.value})),e.props=r,n.class!=n.className&&(Hn.enumerable=`className`in n,n.className!=null&&(r.class=n.className),Object.defineProperty(r,`className`,Hn))}e.$$typeof=Pn,Un&&Un(e)};var Wn=N.__r;N.__r=function(e){Wn&&Wn(e),e.__c};var Gn=[],Kn=new Map;function qn(e){Gn.push(e),Kn.forEach(t=>{Zn(t,e)})}function Jn(e){e.isConnected&&e.getRootNode&&Yn(e.getRootNode())}function Yn(e){let t=Kn.get(e);if(!t||!t.isConnected){if(t=e.querySelector(`style[data-fullcalendar]`),!t){t=document.createElement(`style`),t.setAttribute(`data-fullcalendar`,``);let n=$n();n&&(t.nonce=n);let r=e===document?document.head:e,i=e===document?r.querySelector(`script,link[rel=stylesheet],link[as=style],style`):r.firstChild;r.insertBefore(t,i)}Kn.set(e,t),Xn(t)}}function Xn(e){for(let t of Gn)Zn(e,t)}function Zn(e,t){let{sheet:n}=e,r=n.cssRules.length;t.split(`}`).forEach((e,t)=>{e=e.trim(),e&&n.insertRule(e+`}`,r+t)})}var Qn;function $n(){return Qn===void 0&&(Qn=er()),Qn}function er(){let e=document.querySelector(`meta[name="csp-nonce"]`);if(e&&e.hasAttribute(`content`))return e.getAttribute(`content`);let t=document.querySelector(`script[nonce]`);return t&&t.nonce||``}typeof document<`u`&&Yn(document),qn(`:root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:"\\e900"}.fc-icon-chevron-right:before{content:"\\e901"}.fc-icon-chevrons-left:before{content:"\\e902"}.fc-icon-chevrons-right:before{content:"\\e903"}.fc-icon-minus-square:before{content:"\\e904"}.fc-icon-plus-square:before{content:"\\e905"}.fc-icon-x:before{content:"\\e906"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:"";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:"";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.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-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}`);var tr=class{constructor(e){this.drainedOption=e,this.isRunning=!1,this.isDirty=!1,this.pauseDepths={},this.timeoutId=0}request(e){this.isDirty=!0,this.isPaused()||(this.clearTimeout(),e==null?this.tryDrain():this.timeoutId=setTimeout(this.tryDrain.bind(this),e))}pause(e=``){let{pauseDepths:t}=this;t[e]=(t[e]||0)+1,this.clearTimeout()}resume(e=``,t){let{pauseDepths:n}=this;e in n&&(t?delete n[e]:(--n[e],n[e]<=0&&delete n[e]),this.tryDrain())}isPaused(){return Object.keys(this.pauseDepths).length}tryDrain(){if(!this.isRunning&&!this.isPaused()){for(this.isRunning=!0;this.isDirty;)this.isDirty=!1,this.drained();this.isRunning=!1}}clear(){this.clearTimeout(),this.isDirty=!1,this.pauseDepths={}}clearTimeout(){this.timeoutId&&=(clearTimeout(this.timeoutId),0)}drained(){this.drainedOption&&this.drainedOption()}};function nr(e){e.parentNode&&e.parentNode.removeChild(e)}function z(e,t){if(e.closest)return e.closest(t);if(!document.documentElement.contains(e))return null;do{if(rr(e,t))return e;e=e.parentElement||e.parentNode}while(e!==null&&e.nodeType===1);return null}function rr(e,t){return(e.matches||e.matchesSelector||e.msMatchesSelector).call(e,t)}function ir(e,t){let n=e instanceof HTMLElement?[e]:e,r=[];for(let e=0;e<n.length;e+=1){let i=n[e].querySelectorAll(t);for(let e=0;e<i.length;e+=1)r.push(i[e])}return r}var ar=/(top|left|right|bottom|width|height)$/i;function or(e,t){for(let n in t)sr(e,n,t[n])}function sr(e,t,n){n==null?e.style[t]=``:typeof n==`number`&&ar.test(t)?e.style[t]=`${n}px`:e.style[t]=n}function cr(e){return e.composedPath?.call(e)[0]??e.target}var lr=0;function ur(){return lr+=1,`fc-dom-`+lr}function dr(e,t){return n=>{let r=z(n.target,e);r&&t.call(r,n,r)}}function fr(e,t,n,r){let i=dr(n,r);return e.addEventListener(t,i),()=>{e.removeEventListener(t,i)}}function pr(e,t,n,r){let i;return fr(e,`mouseover`,t,(e,t)=>{if(t!==i){i=t,n(e,t);let a=e=>{i=null,r(e,t),t.removeEventListener(`mouseleave`,a)};t.addEventListener(`mouseleave`,a)}})}function mr(e){return Object.assign({onClick:e},hr(e))}function hr(e){return{tabIndex:0,onKeyDown(t){(t.key===`Enter`||t.key===` `)&&(e(t),t.preventDefault())}}}var gr=0;function _r(){return gr+=1,String(gr)}function vr(e){let t=[],n=[],r,i;for(typeof e==`string`?n=e.split(/\s*,\s*/):typeof e==`function`?n=[e]:Array.isArray(e)&&(n=e),r=0;r<n.length;r+=1)i=n[r],typeof i==`string`?t.push(i.charAt(0)===`-`?{field:i.substring(1),order:-1}:{field:i,order:1}):typeof i==`function`&&t.push({func:i});return t}function yr(e,t,n){let r,i;for(r=0;r<n.length;r+=1)if(i=br(e,t,n[r]),i)return i;return 0}function br(e,t,n){return n.func?n.func(e,t):xr(e[n.field],t[n.field])*(n.order||1)}function xr(e,t){return!e&&!t?0:t==null?-1:e==null?1:typeof e==`string`||typeof t==`string`?String(e).localeCompare(String(t)):e-t}function Sr(e,t){let n=String(e);return`000`.substr(0,t-n.length)+n}function Cr(e,t,n){return typeof e==`function`?e(...t):typeof e==`string`?t.reduce((e,t,n)=>e.replace(`$`+n,t||``),e):n}function wr(e){return e%1==0}function Tr(e){let t=e.querySelector(`.fc-scrollgrid-shrink-frame`),n=e.querySelector(`.fc-scrollgrid-shrink-cushion`);if(!t)throw Error(`needs fc-scrollgrid-shrink-frame className`);if(!n)throw Error(`needs fc-scrollgrid-shrink-cushion className`);return e.getBoundingClientRect().width-t.getBoundingClientRect().width+n.getBoundingClientRect().width}var Er=[`years`,`months`,`days`,`milliseconds`],Dr=/^(-?)(?:(\d+)\.)?(\d+):(\d\d)(?::(\d\d)(?:\.(\d\d\d))?)?/;function B(e,t){return typeof e==`string`?Or(e):typeof e==`object`&&e?kr(e):typeof e==`number`?kr({[t||`milliseconds`]:e}):null}function Or(e){let t=Dr.exec(e);if(t){let e=t[1]?-1:1;return{years:0,months:0,days:e*(t[2]?parseInt(t[2],10):0),milliseconds:e*((t[3]?parseInt(t[3],10):0)*60*60*1e3+(t[4]?parseInt(t[4],10):0)*60*1e3+(t[5]?parseInt(t[5],10):0)*1e3+(t[6]?parseInt(t[6],10):0))}}return null}function kr(e){let t={years:e.years||e.year||0,months:e.months||e.month||0,days:e.days||e.day||0,milliseconds:(e.hours||e.hour||0)*60*60*1e3+(e.minutes||e.minute||0)*60*1e3+(e.seconds||e.second||0)*1e3+(e.milliseconds||e.millisecond||e.ms||0)},n=e.weeks||e.week;return n&&(t.days+=n*7,t.specifiedWeeks=!0),t}function Ar(e,t){return e.years===t.years&&e.months===t.months&&e.days===t.days&&e.milliseconds===t.milliseconds}function jr(e,t){return{years:e.years+t.years,months:e.months+t.months,days:e.days+t.days,milliseconds:e.milliseconds+t.milliseconds}}function Mr(e,t){return{years:e.years-t.years,months:e.months-t.months,days:e.days-t.days,milliseconds:e.milliseconds-t.milliseconds}}function Nr(e,t){return{years:e.years*t,months:e.months*t,days:e.days*t,milliseconds:e.milliseconds*t}}function Pr(e){return Ir(e)/365}function Fr(e){return Ir(e)/30}function Ir(e){return V(e)/864e5}function V(e){return e.years*(365*864e5)+e.months*(30*864e5)+e.days*864e5+e.milliseconds}function Lr(e,t){let n=null;for(let r=0;r<Er.length;r+=1){let i=Er[r];if(t[i]){let r=e[i]/t[i];if(!wr(r)||n!==null&&n!==r)return null;n=r}else if(e[i])return null}return n}function Rr(e){let t=e.milliseconds;if(t){if(t%1e3!=0)return{unit:`millisecond`,value:t};if(t%(1e3*60)!=0)return{unit:`second`,value:t/1e3};if(t%(1e3*60*60)!=0)return{unit:`minute`,value:t/(1e3*60)};if(t)return{unit:`hour`,value:t/(1e3*60*60)}}return e.days?e.specifiedWeeks&&e.days%7==0?{unit:`week`,value:e.days/7}:{unit:`day`,value:e.days}:e.months?{unit:`month`,value:e.months}:e.years?{unit:`year`,value:e.years}:{unit:`millisecond`,value:0}}function zr(e,t,n){if(e===t)return!0;let r=e.length,i;if(r!==t.length)return!1;for(i=0;i<r;i+=1)if(!(n?n(e[i],t[i]):e[i]===t[i]))return!1;return!0}var Br=[`sun`,`mon`,`tue`,`wed`,`thu`,`fri`,`sat`];function Vr(e,t){let n=ai(e);return n[2]+=t*7,W(n)}function H(e,t){let n=ai(e);return n[2]+=t,W(n)}function Hr(e,t){let n=ai(e);return n[6]+=t,W(n)}function Ur(e,t){return Wr(e,t)/7}function Wr(e,t){return(t.valueOf()-e.valueOf())/(1e3*60*60*24)}function Gr(e,t){return(t.valueOf()-e.valueOf())/(1e3*60*60)}function Kr(e,t){return(t.valueOf()-e.valueOf())/(1e3*60)}function qr(e,t){return(t.valueOf()-e.valueOf())/1e3}function Jr(e,t){let n=U(e),r=U(t);return{years:0,months:0,days:Math.round(Wr(n,r)),milliseconds:t.valueOf()-r.valueOf()-(e.valueOf()-n.valueOf())}}function Yr(e,t){let n=Xr(e,t);return n!==null&&n%7==0?n/7:null}function Xr(e,t){return si(e)===si(t)?Math.round(Wr(e,t)):null}function U(e){return W([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()])}function Zr(e){return W([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours()])}function Qr(e){return W([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes()])}function $r(e){return W([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds()])}function ei(e,t,n){let r=e.getUTCFullYear(),i=ti(e,r,t,n);if(i<1)return ti(e,r-1,t,n);let a=ti(e,r+1,t,n);return a>=1?Math.min(i,a):i}function ti(e,t,n,r){let i=W([t,0,1+ni(t,n,r)]),a=U(e),o=Math.round(Wr(i,a));return Math.floor(o/7)+1}function ni(e,t,n){let r=7+t-n;return-((7+W([e,0,r]).getUTCDay()-t)%7)+r-1}function ri(e){return[e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()]}function ii(e){return new Date(e[0],e[1]||0,e[2]==null?1:e[2],e[3]||0,e[4]||0,e[5]||0)}function ai(e){return[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()]}function W(e){return e.length===1&&(e=e.concat([0])),new Date(Date.UTC(...e))}function oi(e){return!isNaN(e.valueOf())}function si(e){return e.getUTCHours()*1e3*60*60+e.getUTCMinutes()*1e3*60+e.getUTCSeconds()*1e3+e.getUTCMilliseconds()}function ci(e,t,n=!1){let r=e.toISOString();return r=r.replace(`.000`,``),n&&(r=r.replace(`T00:00:00Z`,``)),r.length>10&&(t==null?r=r.replace(`Z`,``):t!==0&&(r=r.replace(`Z`,fi(t,!0)))),r}function li(e){return e.toISOString().replace(/T.*$/,``)}function ui(e){return e.toISOString().match(/^\d{4}-\d{2}/)[0]}function di(e){return Sr(e.getUTCHours(),2)+`:`+Sr(e.getUTCMinutes(),2)+`:`+Sr(e.getUTCSeconds(),2)}function fi(e,t=!1){let n=e<0?`-`:`+`,r=Math.abs(e),i=Math.floor(r/60),a=Math.round(r%60);return t?`${n+Sr(i,2)}:${Sr(a,2)}`:`GMT${n}${i}${a?`:${Sr(a,2)}`:``}`}function G(e,t,n){let r,i;return function(...a){if(!r)i=e.apply(this,a);else if(!zr(r,a)){n&&n(i);let r=e.apply(this,a);(!t||!t(r,i))&&(i=r)}return r=a,i}}function pi(e,t,n){let r,i;return a=>{if(!r)i=e.call(this,a);else if(!J(r,a)){n&&n(i);let r=e.call(this,a);(!t||!t(r,i))&&(i=r)}return r=a,i}}var mi={week:3,separator:9,omitZeroMinute:9,meridiem:9,omitCommas:9},hi={timeZoneName:7,era:6,year:5,month:4,day:2,weekday:2,hour:1,minute:1,second:1},gi=/\s*([ap])\.?m\.?/i,_i=/,/g,vi=/\s+/g,yi=/\u200e/g,bi=/UTC|GMT/,xi=class{constructor(e){let t={},n={},r=9;for(let i in e)i in mi?(n[i]=e[i],mi[i]<9&&(r=Math.min(mi[i],r))):(t[i]=e[i],i in hi&&(r=Math.min(hi[i],r)));this.standardDateProps=t,this.extendedSettings=n,this.smallestUnitNum=r,this.buildFormattingFunc=G(Si)}format(e,t){return this.buildFormattingFunc(this.standardDateProps,this.extendedSettings,t)(e)}formatRange(e,t,n,r){let{standardDateProps:i,extendedSettings:a}=this,o=Oi(e.marker,t.marker,n.calendarSystem);if(!o)return this.format(e,n);let s=o;s>1&&(i.year===`numeric`||i.year===`2-digit`)&&(i.month===`numeric`||i.month===`2-digit`)&&(i.day===`numeric`||i.day===`2-digit`)&&(s=1);let c=this.format(e,n),l=this.format(t,n);if(c===l)return c;let u=Si(ki(i,s),a,n),d=u(e),f=u(t),p=Ai(c,d,l,f),m=a.separator||r||n.defaultSeparator||``;return p?p.before+d+m+f+p.after:c+m+l}getSmallestUnit(){switch(this.smallestUnitNum){case 7:case 6:case 5:return`year`;case 4:return`month`;case 3:return`week`;case 2:return`day`;default:return`time`}}};function Si(e,t,n){let r=Object.keys(e).length;return r===1&&e.timeZoneName===`short`?e=>fi(e.timeZoneOffset):r===0&&t.week?e=>Di(n.computeWeekNumber(e.marker),n.weekText,n.weekTextLong,n.locale,t.week):Ci(e,t,n)}function Ci(e,t,n){e=Object.assign({},e),t=Object.assign({},t),wi(e,t),e.timeZone=`UTC`;let r=new Intl.DateTimeFormat(n.locale.codes,e),i;if(t.omitZeroMinute){let t=Object.assign({},e);delete t.minute,i=new Intl.DateTimeFormat(n.locale.codes,t)}return a=>{let{marker:o}=a,s;return s=i&&!o.getUTCMinutes()?i:r,Ti(s.format(o),a,e,t,n)}}function wi(e,t){e.timeZoneName&&(e.hour||=`2-digit`,e.minute||=`2-digit`),e.timeZoneName===`long`&&(e.timeZoneName=`short`),t.omitZeroMinute&&(e.second||e.millisecond)&&delete t.omitZeroMinute}function Ti(e,t,n,r,i){return e=e.replace(yi,``),n.timeZoneName===`short`&&(e=Ei(e,i.timeZone===`UTC`||t.timeZoneOffset==null?`UTC`:fi(t.timeZoneOffset))),r.omitCommas&&(e=e.replace(_i,``).trim()),r.omitZeroMinute&&(e=e.replace(`:00`,``)),r.meridiem===!1?e=e.replace(gi,``).trim():r.meridiem===`narrow`?e=e.replace(gi,(e,t)=>t.toLocaleLowerCase()):r.meridiem===`short`?e=e.replace(gi,(e,t)=>`${t.toLocaleLowerCase()}m`):r.meridiem===`lowercase`&&(e=e.replace(gi,e=>e.toLocaleLowerCase())),e=e.replace(vi,` `),e=e.trim(),e}function Ei(e,t){let n=!1;return e=e.replace(bi,()=>(n=!0,t)),n||(e+=` ${t}`),e}function Di(e,t,n,r,i){let a=[];return i===`long`?a.push(n):(i===`short`||i===`narrow`)&&a.push(t),(i===`long`||i===`short`)&&a.push(` `),a.push(r.simpleNumberFormat.format(e)),r.options.direction===`rtl`&&a.reverse(),a.join(``)}function Oi(e,t,n){return n.getMarkerYear(e)===n.getMarkerYear(t)?n.getMarkerMonth(e)===n.getMarkerMonth(t)?n.getMarkerDay(e)===n.getMarkerDay(t)?si(e)===si(t)?0:1:2:4:5}function ki(e,t){let n={};for(let r in e)(!(r in hi)||hi[r]<=t)&&(n[r]=e[r]);return n}function Ai(e,t,n,r){let i=0;for(;i<e.length;){let a=e.indexOf(t,i);if(a===-1)break;let o=e.substr(0,a);i=a+t.length;let s=e.substr(i),c=0;for(;c<n.length;){let e=n.indexOf(r,c);if(e===-1)break;let t=n.substr(0,e);c=e+r.length;let i=n.substr(c);if(o===t&&s===i)return{before:o,after:s}}}return null}function ji(e,t){let n=t.markerToArray(e.marker);return{marker:e.marker,timeZoneOffset:e.timeZoneOffset,array:n,year:n[0],month:n[1],day:n[2],hour:n[3],minute:n[4],second:n[5],millisecond:n[6]}}function Mi(e,t,n,r){let i=ji(e,n.calendarSystem);return{date:i,start:i,end:t?ji(t,n.calendarSystem):null,timeZone:n.timeZone,localeCodes:n.locale.codes,defaultSeparator:r||n.defaultSeparator}}var Ni=class{constructor(e){this.cmdStr=e}format(e,t,n){return t.cmdFormatter(this.cmdStr,Mi(e,null,t,n))}formatRange(e,t,n,r){return n.cmdFormatter(this.cmdStr,Mi(e,t,n,r))}},Pi=class{constructor(e){this.func=e}format(e,t,n){return this.func(Mi(e,null,t,n))}formatRange(e,t,n,r){return this.func(Mi(e,t,n,r))}};function K(e){return typeof e==`object`&&e?new xi(e):typeof e==`string`?new Ni(e):typeof e==`function`?new Pi(e):null}var Fi={navLinkDayClick:q,navLinkWeekClick:q,duration:B,bootstrapFontAwesome:q,buttonIcons:q,customButtons:q,defaultAllDayEventDuration:B,defaultTimedEventDuration:B,nextDayThreshold:B,scrollTime:B,scrollTimeReset:Boolean,slotMinTime:B,slotMaxTime:B,dayPopoverFormat:K,slotDuration:B,snapDuration:B,headerToolbar:q,footerToolbar:q,defaultRangeSeparator:String,titleRangeSeparator:String,forceEventDuration:Boolean,dayHeaders:Boolean,dayHeaderFormat:K,dayHeaderClassNames:q,dayHeaderContent:q,dayHeaderDidMount:q,dayHeaderWillUnmount:q,dayCellClassNames:q,dayCellContent:q,dayCellDidMount:q,dayCellWillUnmount:q,initialView:String,aspectRatio:Number,weekends:Boolean,weekNumberCalculation:q,weekNumbers:Boolean,weekNumberClassNames:q,weekNumberContent:q,weekNumberDidMount:q,weekNumberWillUnmount:q,editable:Boolean,viewClassNames:q,viewDidMount:q,viewWillUnmount:q,nowIndicator:Boolean,nowIndicatorSnap:q,nowIndicatorClassNames:q,nowIndicatorContent:q,nowIndicatorDidMount:q,nowIndicatorWillUnmount:q,showNonCurrentDates:Boolean,lazyFetching:Boolean,startParam:String,endParam:String,timeZoneParam:String,timeZone:String,locales:q,locale:q,themeSystem:String,dragRevertDuration:Number,dragScroll:Boolean,allDayMaintainDuration:Boolean,unselectAuto:Boolean,dropAccept:q,eventOrder:vr,eventOrderStrict:Boolean,handleWindowResize:Boolean,windowResizeDelay:Number,longPressDelay:Number,eventDragMinDistance:Number,expandRows:Boolean,height:q,contentHeight:q,direction:String,weekNumberFormat:K,eventResizableFromStart:Boolean,displayEventTime:Boolean,displayEventEnd:Boolean,weekText:String,weekTextLong:String,progressiveEventRendering:Boolean,businessHours:q,initialDate:q,now:q,eventDataTransform:q,stickyHeaderDates:q,stickyFooterScrollbar:q,viewHeight:q,defaultAllDay:Boolean,eventSourceFailure:q,eventSourceSuccess:q,eventDisplay:String,eventStartEditable:Boolean,eventDurationEditable:Boolean,eventOverlap:q,eventConstraint:q,eventAllow:q,eventBackgroundColor:String,eventBorderColor:String,eventTextColor:String,eventColor:String,eventClassNames:q,eventContent:q,eventDidMount:q,eventWillUnmount:q,selectConstraint:q,selectOverlap:q,selectAllow:q,droppable:Boolean,unselectCancel:String,slotLabelFormat:q,slotLaneClassNames:q,slotLaneContent:q,slotLaneDidMount:q,slotLaneWillUnmount:q,slotLabelClassNames:q,slotLabelContent:q,slotLabelDidMount:q,slotLabelWillUnmount:q,dayMaxEvents:q,dayMaxEventRows:q,dayMinWidth:Number,slotLabelInterval:B,allDayText:String,allDayClassNames:q,allDayContent:q,allDayDidMount:q,allDayWillUnmount:q,slotMinWidth:Number,navLinks:Boolean,eventTimeFormat:K,rerenderDelay:Number,moreLinkText:q,moreLinkHint:q,selectMinDistance:Number,selectable:Boolean,selectLongPressDelay:Number,eventLongPressDelay:Number,selectMirror:Boolean,eventMaxStack:Number,eventMinHeight:Number,eventMinWidth:Number,eventShortHeight:Number,slotEventOverlap:Boolean,plugins:q,firstDay:Number,dayCount:Number,dateAlignment:String,dateIncrement:B,hiddenDays:q,fixedWeekCount:Boolean,validRange:q,visibleRange:q,titleFormat:q,eventInteractive:Boolean,noEventsText:String,viewHint:q,navLinkHint:q,closeHint:String,timeHint:String,eventHint:String,moreLinkClick:q,moreLinkClassNames:q,moreLinkContent:q,moreLinkDidMount:q,moreLinkWillUnmount:q,monthStartFormat:K,handleCustomRendering:q,customRenderingMetaMap:q,customRenderingReplaces:Boolean},Ii={eventDisplay:`auto`,defaultRangeSeparator:` - `,titleRangeSeparator:` – `,defaultTimedEventDuration:`01:00:00`,defaultAllDayEventDuration:{day:1},forceEventDuration:!1,nextDayThreshold:`00:00:00`,dayHeaders:!0,initialView:``,aspectRatio:1.35,headerToolbar:{start:`title`,center:``,end:`today prev,next`},weekends:!0,weekNumbers:!1,weekNumberCalculation:`local`,editable:!1,nowIndicator:!1,scrollTime:`06:00:00`,scrollTimeReset:!0,slotMinTime:`00:00:00`,slotMaxTime:`24:00:00`,showNonCurrentDates:!0,lazyFetching:!0,startParam:`start`,endParam:`end`,timeZoneParam:`timeZone`,timeZone:`local`,locales:[],locale:``,themeSystem:`standard`,dragRevertDuration:500,dragScroll:!0,allDayMaintainDuration:!1,unselectAuto:!0,dropAccept:`*`,eventOrder:`start,-duration,allDay,title`,dayPopoverFormat:{month:`long`,day:`numeric`,year:`numeric`},handleWindowResize:!0,windowResizeDelay:100,longPressDelay:1e3,eventDragMinDistance:5,expandRows:!1,navLinks:!1,selectable:!1,eventMinHeight:15,eventMinWidth:30,eventShortHeight:30,monthStartFormat:{month:`long`,day:`numeric`},nowIndicatorSnap:`auto`},Li={datesSet:q,eventsSet:q,eventAdd:q,eventChange:q,eventRemove:q,windowResize:q,eventClick:q,eventMouseEnter:q,eventMouseLeave:q,select:q,unselect:q,loading:q,_unmount:q,_beforeprint:q,_afterprint:q,_noEventDrop:q,_noEventResize:q,_resize:q,_scrollRequest:q},Ri={buttonText:q,buttonHints:q,views:q,plugins:q,initialEvents:q,events:q,eventSources:q},zi={headerToolbar:Bi,footerToolbar:Bi,buttonText:Bi,buttonHints:Bi,buttonIcons:Bi,dateIncrement:Bi,plugins:Vi,events:Vi,eventSources:Vi,resources:Vi};function Bi(e,t){return typeof e==`object`&&typeof t==`object`&&e&&t?J(e,t):e===t}function Vi(e,t){return Array.isArray(e)&&Array.isArray(t)?zr(e,t):e===t}var Hi={type:String,component:q,buttonText:String,buttonTextKey:String,dateProfileGeneratorClass:q,usesMinMaxTime:Boolean,classNames:q,content:q,didMount:q,willUnmount:q};function Ui(e){return Ki(e,zi)}function Wi(e,t){let n={},r={};for(let r in t)r in e&&(n[r]=t[r](e[r]));for(let n in e)n in t||(r[n]=e[n]);return{refined:n,extra:r}}function q(e){return e}var{hasOwnProperty:Gi}=Object.prototype;function Ki(e,t){let n={};if(t){for(let r in t)if(t[r]===Bi){let t=[];for(let i=e.length-1;i>=0;--i){let a=e[i][r];if(typeof a==`object`&&a)t.unshift(a);else if(a!==void 0){n[r]=a;break}}t.length&&(n[r]=Ki(t))}}for(let t=e.length-1;t>=0;--t){let r=e[t];for(let e in r)e in n||(n[e]=r[e])}return n}function qi(e,t){let n={};for(let r in e)t(e[r],r)&&(n[r]=e[r]);return n}function Ji(e,t){let n={};for(let r in e)n[r]=t(e[r],r);return n}function Yi(e){let t={};for(let n of e)t[n]=!0;return t}function Xi(e){let t=[];for(let n in e)t.push(e[n]);return t}function J(e,t){if(e===t)return!0;for(let n in e)if(Gi.call(e,n)&&!(n in t))return!1;for(let n in t)if(Gi.call(t,n)&&e[n]!==t[n])return!1;return!0}var Zi=/^on[A-Z]/;function Qi(e,t){let n=$i(e,t);for(let e of n)if(!Zi.test(e))return!1;return!0}function $i(e,t){let n=[];for(let r in e)Gi.call(e,r)&&(r in t||n.push(r));for(let r in t)Gi.call(t,r)&&e[r]!==t[r]&&n.push(r);return n}function ea(e,t,n={}){if(e===t)return!0;for(let r in t)if(!(r in e&&ta(e[r],t[r],n[r])))return!1;for(let n in e)if(!(n in t))return!1;return!0}function ta(e,t,n){return e===t||n===!0?!0:n?n(e,t):!1}function na(e,t=0,n,r=1){let i=[];n??=Object.keys(e).length;for(let a=t;a<n;a+=r){let t=e[a];t!==void 0&&i.push(t)}return i}var ra={};function ia(e,t){ra[e]=t}function aa(e){return new ra[e]}ia(`gregory`,class{getMarkerYear(e){return e.getUTCFullYear()}getMarkerMonth(e){return e.getUTCMonth()}getMarkerDay(e){return e.getUTCDate()}arrayToMarker(e){return W(e)}markerToArray(e){return ai(e)}});var oa=/^\s*(\d{4})(-?(\d{2})(-?(\d{2})([T ](\d{2}):?(\d{2})(:?(\d{2})(\.(\d+))?)?(Z|(([-+])(\d{2})(:?(\d{2}))?))?)?)?)?$/;function sa(e){let t=oa.exec(e);if(t){let e=new Date(Date.UTC(Number(t[1]),t[3]?Number(t[3])-1:0,Number(t[5]||1),Number(t[7]||0),Number(t[8]||0),Number(t[10]||0),t[12]?Number(`0.${t[12]}`)*1e3:0));if(oi(e)){let n=null;return t[13]&&(n=(t[15]===`-`?-1:1)*(Number(t[16]||0)*60+Number(t[18]||0))),{marker:e,isTimeUnspecified:!t[6],timeZoneOffset:n}}}return null}var ca=class{constructor(e){let t=this.timeZone=e.timeZone,n=t!==`local`&&t!==`UTC`;e.namedTimeZoneImpl&&n&&(this.namedTimeZoneImpl=new e.namedTimeZoneImpl(t)),this.canComputeOffset=!!(!n||this.namedTimeZoneImpl),this.calendarSystem=aa(e.calendarSystem),this.locale=e.locale,this.weekDow=e.locale.week.dow,this.weekDoy=e.locale.week.doy,e.weekNumberCalculation===`ISO`&&(this.weekDow=1,this.weekDoy=4),typeof e.firstDay==`number`&&(this.weekDow=e.firstDay),typeof e.weekNumberCalculation==`function`&&(this.weekNumberFunc=e.weekNumberCalculation),this.weekText=e.weekText==null?e.locale.options.weekText:e.weekText,this.weekTextLong=(e.weekTextLong==null?e.locale.options.weekTextLong:e.weekTextLong)||this.weekText,this.cmdFormatter=e.cmdFormatter,this.defaultSeparator=e.defaultSeparator}createMarker(e){let t=this.createMarkerMeta(e);return t===null?null:t.marker}createNowMarker(){return this.canComputeOffset?this.timestampToMarker(new Date().valueOf()):W(ri(new Date))}createMarkerMeta(e){if(typeof e==`string`)return this.parse(e);let t=null;return typeof e==`number`?t=this.timestampToMarker(e):e instanceof Date?(e=e.valueOf(),isNaN(e)||(t=this.timestampToMarker(e))):Array.isArray(e)&&(t=W(e)),t===null||!oi(t)?null:{marker:t,isTimeUnspecified:!1,forcedTzo:null}}parse(e){let t=sa(e);if(t===null)return null;let{marker:n}=t,r=null;return t.timeZoneOffset!==null&&(this.canComputeOffset?n=this.timestampToMarker(n.valueOf()-t.timeZoneOffset*60*1e3):r=t.timeZoneOffset),{marker:n,isTimeUnspecified:t.isTimeUnspecified,forcedTzo:r}}getYear(e){return this.calendarSystem.getMarkerYear(e)}getMonth(e){return this.calendarSystem.getMarkerMonth(e)}getDay(e){return this.calendarSystem.getMarkerDay(e)}add(e,t){let n=this.calendarSystem.markerToArray(e);return n[0]+=t.years,n[1]+=t.months,n[2]+=t.days,n[6]+=t.milliseconds,this.calendarSystem.arrayToMarker(n)}subtract(e,t){let n=this.calendarSystem.markerToArray(e);return n[0]-=t.years,n[1]-=t.months,n[2]-=t.days,n[6]-=t.milliseconds,this.calendarSystem.arrayToMarker(n)}addYears(e,t){let n=this.calendarSystem.markerToArray(e);return n[0]+=t,this.calendarSystem.arrayToMarker(n)}addMonths(e,t){let n=this.calendarSystem.markerToArray(e);return n[1]+=t,this.calendarSystem.arrayToMarker(n)}diffWholeYears(e,t){let{calendarSystem:n}=this;return si(e)===si(t)&&n.getMarkerDay(e)===n.getMarkerDay(t)&&n.getMarkerMonth(e)===n.getMarkerMonth(t)?n.getMarkerYear(t)-n.getMarkerYear(e):null}diffWholeMonths(e,t){let{calendarSystem:n}=this;return si(e)===si(t)&&n.getMarkerDay(e)===n.getMarkerDay(t)?n.getMarkerMonth(t)-n.getMarkerMonth(e)+(n.getMarkerYear(t)-n.getMarkerYear(e))*12:null}greatestWholeUnit(e,t){let n=this.diffWholeYears(e,t);return n===null?(n=this.diffWholeMonths(e,t),n===null?(n=Yr(e,t),n===null?(n=Xr(e,t),n===null?(n=Gr(e,t),wr(n)?{unit:`hour`,value:n}:(n=Kr(e,t),wr(n)?{unit:`minute`,value:n}:(n=qr(e,t),wr(n)?{unit:`second`,value:n}:{unit:`millisecond`,value:t.valueOf()-e.valueOf()}))):{unit:`day`,value:n}):{unit:`week`,value:n}):{unit:`month`,value:n}):{unit:`year`,value:n}}countDurationsBetween(e,t,n){let r;return n.years&&(r=this.diffWholeYears(e,t),r!==null)?r/Pr(n):n.months&&(r=this.diffWholeMonths(e,t),r!==null)?r/Fr(n):n.days&&(r=Xr(e,t),r!==null)?r/Ir(n):(t.valueOf()-e.valueOf())/V(n)}startOf(e,t){return t===`year`?this.startOfYear(e):t===`month`?this.startOfMonth(e):t===`week`?this.startOfWeek(e):t===`day`?U(e):t===`hour`?Zr(e):t===`minute`?Qr(e):t===`second`?$r(e):null}startOfYear(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e)])}startOfMonth(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e)])}startOfWeek(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e),e.getUTCDate()-(e.getUTCDay()-this.weekDow+7)%7])}computeWeekNumber(e){return this.weekNumberFunc?this.weekNumberFunc(this.toDate(e)):ei(e,this.weekDow,this.weekDoy)}format(e,t,n={}){return t.format({marker:e,timeZoneOffset:n.forcedTzo==null?this.offsetForMarker(e):n.forcedTzo},this)}formatRange(e,t,n,r={}){return r.isEndExclusive&&(t=Hr(t,-1)),n.formatRange({marker:e,timeZoneOffset:r.forcedStartTzo==null?this.offsetForMarker(e):r.forcedStartTzo},{marker:t,timeZoneOffset:r.forcedEndTzo==null?this.offsetForMarker(t):r.forcedEndTzo},this,r.defaultSeparator)}formatIso(e,t={}){let n=null;return t.omitTimeZoneOffset||(n=t.forcedTzo==null?this.offsetForMarker(e):t.forcedTzo),ci(e,n,t.omitTime)}timestampToMarker(e){return this.timeZone===`local`?W(ri(new Date(e))):this.timeZone===`UTC`||!this.namedTimeZoneImpl?new Date(e):W(this.namedTimeZoneImpl.timestampToArray(e))}offsetForMarker(e){return this.timeZone===`local`?-ii(ai(e)).getTimezoneOffset():this.timeZone===`UTC`?0:this.namedTimeZoneImpl?this.namedTimeZoneImpl.offsetForArray(ai(e)):null}toDate(e,t){return this.timeZone===`local`?ii(ai(e)):this.timeZone===`UTC`?new Date(e.valueOf()):this.namedTimeZoneImpl?new Date(e.valueOf()-this.namedTimeZoneImpl.offsetForArray(ai(e))*1e3*60):new Date(e.valueOf()-(t||0))}},la=class{constructor(e){this.iconOverrideOption&&this.setIconOverride(e[this.iconOverrideOption])}setIconOverride(e){let t,n;if(typeof e==`object`&&e){for(n in t=Object.assign({},this.iconClasses),e)t[n]=this.applyIconOverridePrefix(e[n]);this.iconClasses=t}else e===!1&&(this.iconClasses={})}applyIconOverridePrefix(e){let t=this.iconOverridePrefix;return t&&e.indexOf(t)!==0&&(e=t+e),e}getClass(e){return this.classes[e]||``}getIconClass(e,t){let n;return n=t&&this.rtlIconClasses&&this.rtlIconClasses[e]||this.iconClasses[e],n?`${this.baseIconClass} ${n}`:``}getCustomButtonIconClass(e){let t;return this.iconOverrideCustomButtonOption&&(t=e[this.iconOverrideCustomButtonOption],t)?`${this.baseIconClass} ${this.applyIconOverridePrefix(t)}`:``}};la.prototype.classes={},la.prototype.iconClasses={},la.prototype.baseIconClass=``,la.prototype.iconOverridePrefix=``;function ua(e){e();let t=N.debounceRendering,n=[];function r(e){n.push(e)}for(N.debounceRendering=r,nn(P(da,{}),document.createElement(`div`));n.length;)n.shift()();N.debounceRendering=t}var da=class extends L{render(){return P(`div`,{})}componentDidMount(){this.setState({})}};function fa(e){let t=rn(e),n=t.Provider;return t.Provider=function(){let e=!this.getChildContext,t=n.apply(this,arguments);if(e){let e=[];this.shouldComponentUpdate=t=>{this.props.value!==t.value&&e.forEach(e=>{e.context=t.value,e.forceUpdate()})},this.sub=t=>{e.push(t);let n=t.componentWillUnmount;t.componentWillUnmount=()=>{e.splice(e.indexOf(t),1),n&&n.call(t)}}}return t},t}var pa=class{constructor(e,t,n,r){this.execFunc=e,this.emitter=t,this.scrollTime=n,this.scrollTimeReset=r,this.handleScrollRequest=e=>{this.queuedRequest=Object.assign({},this.queuedRequest||{},e),this.drain()},t.on(`_scrollRequest`,this.handleScrollRequest),this.fireInitialScroll()}detach(){this.emitter.off(`_scrollRequest`,this.handleScrollRequest)}update(e){e&&this.scrollTimeReset?this.fireInitialScroll():this.drain()}fireInitialScroll(){this.handleScrollRequest({time:this.scrollTime})}drain(){this.queuedRequest&&this.execFunc(this.queuedRequest)&&(this.queuedRequest=null)}},ma=fa({});function ha(e,t,n,r,i,a,o,s,c,l,u,d,f,p){return{dateEnv:i,nowManager:a,options:n,pluginHooks:s,emitter:u,dispatch:c,getCurrentData:l,calendarApi:d,viewSpec:e,viewApi:t,dateProfileGenerator:r,theme:o,isRtl:n.direction===`rtl`,addResizeHandler(e){u.on(`_resize`,e)},removeResizeHandler(e){u.off(`_resize`,e)},createScrollResponder(e){return new pa(e,u,B(n.scrollTime),n.scrollTimeReset)},registerInteractiveComponent:f,unregisterInteractiveComponent:p}}var ga=class extends L{shouldComponentUpdate(e,t){return!ea(this.props,e,this.propEquality)||!ea(this.state,t,this.stateEquality)}safeSetState(e){ea(this.state,Object.assign(Object.assign({},this.state),e),this.stateEquality)||this.setState(e)}};ga.addPropsEquality=_a,ga.addStateEquality=va,ga.contextType=ma,ga.prototype.propEquality={},ga.prototype.stateEquality={};var Y=class extends ga{};Y.contextType=ma;function _a(e){let t=Object.create(this.prototype.propEquality);Object.assign(t,e),this.prototype.propEquality=t}function va(e){let t=Object.create(this.prototype.stateEquality);Object.assign(t,e),this.prototype.stateEquality=t}function X(e,t){typeof e==`function`?e(t):e&&(e.current=t)}var ya=class extends Y{constructor(){super(...arguments),this.id=_r(),this.queuedDomNodes=[],this.currentDomNodes=[],this.handleEl=e=>{let{options:t}=this.context,{generatorName:n}=this.props;(!t.customRenderingReplaces||!ba(n,t))&&this.updateElRef(e)},this.updateElRef=e=>{this.props.elRef&&X(this.props.elRef,e)}}render(){let{props:e,context:t}=this,{options:n}=t,{customGenerator:r,defaultGenerator:i,renderProps:a}=e,o=xa(e,[],this.handleEl),s=!1,c,l=[],u;if(r!=null){let e=typeof r==`function`?r(a,P):r;if(e===!0)s=!0;else{let t=e&&typeof e==`object`;t&&`html`in e?o.dangerouslySetInnerHTML={__html:e.html}:t&&`domNodes`in e?l=Array.prototype.slice.call(e.domNodes):(t?Ct(e):typeof e!=`function`)?c=e:u=e}}else s=!ba(e.generatorName,n);return s&&i&&(c=i(a)),this.queuedDomNodes=l,this.currentGeneratorMeta=u,P(e.elTag,o,c)}componentDidMount(){this.applyQueueudDomNodes(),this.triggerCustomRendering(!0)}componentDidUpdate(){this.applyQueueudDomNodes(),this.triggerCustomRendering(!0)}componentWillUnmount(){this.triggerCustomRendering(!1)}triggerCustomRendering(e){let{props:t,context:n}=this,{handleCustomRendering:r,customRenderingMetaMap:i}=n.options;if(r){let n=this.currentGeneratorMeta??i?.[t.generatorName];n&&r(Object.assign(Object.assign({id:this.id,isActive:e,containerEl:this.base,reportNewContainerEl:this.updateElRef,generatorMeta:n},t),{elClasses:(t.elClasses||[]).filter(Sa)}))}}applyQueueudDomNodes(){let{queuedDomNodes:e,currentDomNodes:t}=this,n=this.base;if(!zr(e,t)){t.forEach(nr);for(let t of e)n.appendChild(t);this.currentDomNodes=e}}};ya.addPropsEquality({elClasses:zr,elStyle:J,elAttrs:Qi,renderProps:J});function ba(e,t){return!!(t.handleCustomRendering&&e&&t.customRenderingMetaMap?.[e])}function xa(e,t,n){let r=Object.assign(Object.assign({},e.elAttrs),{ref:n});return(e.elClasses||t)&&(r.className=(e.elClasses||[]).concat(t||[]).concat(r.className||[]).filter(Boolean).join(` `)),e.elStyle&&(r.style=e.elStyle),r}function Sa(e){return!!e}var Ca=fa(0),Z=class extends L{constructor(){super(...arguments),this.InnerContent=wa.bind(void 0,this),this.handleEl=e=>{this.el=e,this.props.elRef&&(X(this.props.elRef,e),e&&this.didMountMisfire&&this.componentDidMount())}}render(){let{props:e}=this,t=Ta(e.classNameGenerator,e.renderProps);if(e.children){let n=xa(e,t,this.handleEl),r=e.children(this.InnerContent,e.renderProps,n);return e.elTag?P(e.elTag,n,r):r}else return P(ya,Object.assign(Object.assign({},e),{elRef:this.handleEl,elTag:e.elTag||`div`,elClasses:(e.elClasses||[]).concat(t),renderId:this.context}))}componentDidMount(){var e,t;this.el?(t=(e=this.props).didMount)==null||t.call(e,Object.assign(Object.assign({},this.props.renderProps),{el:this.el})):this.didMountMisfire=!0}componentWillUnmount(){var e,t;(t=(e=this.props).willUnmount)==null||t.call(e,Object.assign(Object.assign({},this.props.renderProps),{el:this.el}))}};Z.contextType=Ca;function wa(e,t){let n=e.props;return P(ya,Object.assign({renderProps:n.renderProps,generatorName:n.generatorName,customGenerator:n.customGenerator,defaultGenerator:n.defaultGenerator,renderId:e.context},t))}function Ta(e,t){let n=typeof e==`function`?e(t):e||[];return typeof n==`string`?[n]:n}var Ea=class extends Y{render(){let{props:e,context:t}=this,{options:n}=t,r={view:t.viewApi};return P(Z,{elRef:e.elRef,elTag:e.elTag||`div`,elAttrs:e.elAttrs,elClasses:[...Da(e.viewSpec),...e.elClasses||[]],elStyle:e.elStyle,renderProps:r,classNameGenerator:n.viewClassNames,generatorName:void 0,didMount:n.viewDidMount,willUnmount:n.viewWillUnmount},()=>e.children)}};function Da(e){return[`fc-${e.type}-view`,`fc-view`]}function Oa(e,t){let n=null,r=null;return e.start&&(n=t.createMarker(e.start)),e.end&&(r=t.createMarker(e.end)),!n&&!r||n&&r&&r<n?null:{start:n,end:r}}function ka(e,t){let n=[],{start:r}=t,i,a;for(e.sort(Aa),i=0;i<e.length;i+=1)a=e[i],a.start>r&&n.push({start:r,end:a.start}),a.end>r&&(r=a.end);return r<t.end&&n.push({start:r,end:t.end}),n}function Aa(e,t){return e.start.valueOf()-t.start.valueOf()}function ja(e,t){let{start:n,end:r}=e,i=null;return t.start!==null&&(n=n===null?t.start:new Date(Math.max(n.valueOf(),t.start.valueOf()))),t.end!=null&&(r=r===null?t.end:new Date(Math.min(r.valueOf(),t.end.valueOf()))),(n===null||r===null||n<r)&&(i={start:n,end:r}),i}function Ma(e,t){return(e.end===null||t.start===null||e.end>t.start)&&(e.start===null||t.end===null||e.start<t.end)}function Na(e,t){return(e.start===null||t>=e.start)&&(e.end===null||t<e.end)}function Pa(e,t){return t.start!=null&&e<t.start?t.start:t.end!=null&&e>=t.end?new Date(t.end.valueOf()-1):e}function Fa(e){let t=Math.floor(Wr(e.start,e.end))||1,n=U(e.start);return{start:n,end:H(n,t)}}function Ia(e,t=B(0)){let n=null,r=null;if(e.end){r=U(e.end);let n=e.end.valueOf()-r.valueOf();n&&n>=V(t)&&(r=H(r,1))}return e.start&&(n=U(e.start),r&&r<=n&&(r=H(n,1))),{start:n,end:r}}function La(e,t,n,r){return r===`year`?B(n.diffWholeYears(e,t),`year`):r===`month`?B(n.diffWholeMonths(e,t),`month`):Jr(e,t)}var Ra=class{constructor(e){this.props=e,this.initHiddenDays()}buildPrev(e,t,n){let{dateEnv:r}=this.props,i=r.subtract(r.startOf(t,e.currentRangeUnit),e.dateIncrement);return this.build(i,-1,n)}buildNext(e,t,n){let{dateEnv:r}=this.props,i=r.add(r.startOf(t,e.currentRangeUnit),e.dateIncrement);return this.build(i,1,n)}build(e,t,n=!0){let{props:r}=this,i,a,o,s,c,l;return i=this.buildValidRange(),i=this.trimHiddenDays(i),n&&(e=Pa(e,i)),a=this.buildCurrentRangeInfo(e,t),o=/^(year|month|week|day)$/.test(a.unit),s=this.buildRenderRange(this.trimHiddenDays(a.range),a.unit,o),s=this.trimHiddenDays(s),c=s,r.showNonCurrentDates||(c=ja(c,a.range)),c=this.adjustActiveRange(c),c=ja(c,i),l=Ma(a.range,i),Na(s,e)||(e=s.start),{currentDate:e,validRange:i,currentRange:a.range,currentRangeUnit:a.unit,isRangeAllDay:o,activeRange:c,renderRange:s,slotMinTime:r.slotMinTime,slotMaxTime:r.slotMaxTime,isValid:l,dateIncrement:this.buildDateIncrement(a.duration)}}buildValidRange(){let e=this.props.validRangeInput,t=typeof e==`function`?e.call(this.props.calendarApi,this.props.dateEnv.toDate(this.props.nowManager.getDateMarker())):e;return this.refineRange(t)||{start:null,end:null}}buildCurrentRangeInfo(e,t){let{props:n}=this,r=null,i=null,a=null,o;return n.duration?(r=n.duration,i=n.durationUnit,a=this.buildRangeFromDuration(e,t,r,i)):(o=this.props.dayCount)?(i=`day`,a=this.buildRangeFromDayCount(e,t,o)):(a=this.buildCustomVisibleRange(e))?i=n.dateEnv.greatestWholeUnit(a.start,a.end).unit:(r=this.getFallbackDuration(),i=Rr(r).unit,a=this.buildRangeFromDuration(e,t,r,i)),{duration:r,unit:i,range:a}}getFallbackDuration(){return B({day:1})}adjustActiveRange(e){let{dateEnv:t,usesMinMaxTime:n,slotMinTime:r,slotMaxTime:i}=this.props,{start:a,end:o}=e;return n&&(Ir(r)<0&&(a=U(a),a=t.add(a,r)),Ir(i)>1&&(o=U(o),o=H(o,-1),o=t.add(o,i))),{start:a,end:o}}buildRangeFromDuration(e,t,n,r){let{dateEnv:i,dateAlignment:a}=this.props,o,s,c;if(!a){let{dateIncrement:e}=this.props;a=e&&V(e)<V(n)?Rr(e).unit:r}Ir(n)<=1&&this.isHiddenDay(o)&&(o=this.skipHiddenDays(o,t),o=U(o));function l(){o=i.startOf(e,a),s=i.add(o,n),c={start:o,end:s}}return l(),this.trimHiddenDays(c)||(e=this.skipHiddenDays(e,t),l()),c}buildRangeFromDayCount(e,t,n){let{dateEnv:r,dateAlignment:i}=this.props,a=0,o=e,s;i&&(o=r.startOf(o,i)),o=U(o),o=this.skipHiddenDays(o,t),s=o;do s=H(s,1),this.isHiddenDay(s)||(a+=1);while(a<n);return{start:o,end:s}}buildCustomVisibleRange(e){let{props:t}=this,n=t.visibleRangeInput,r=typeof n==`function`?n.call(t.calendarApi,t.dateEnv.toDate(e)):n,i=this.refineRange(r);return i&&(i.start==null||i.end==null)?null:i}buildRenderRange(e,t,n){return e}buildDateIncrement(e){let{dateIncrement:t}=this.props,n;return t||((n=this.props.dateAlignment)?B(1,n):e||B({days:1}))}refineRange(e){if(e){let t=Oa(e,this.props.dateEnv);return t&&=Ia(t),t}return null}initHiddenDays(){let e=this.props.hiddenDays||[],t=[],n=0,r;for(this.props.weekends===!1&&e.push(0,6),r=0;r<7;r+=1)(t[r]=e.indexOf(r)!==-1)||(n+=1);if(!n)throw Error(`invalid hiddenDays`);this.isHiddenDayHash=t}trimHiddenDays(e){let{start:t,end:n}=e;return t&&=this.skipHiddenDays(t),n&&=this.skipHiddenDays(n,-1,!0),t==null||n==null||t<n?{start:t,end:n}:null}isHiddenDay(e){return e instanceof Date&&(e=e.getUTCDay()),this.isHiddenDayHash[e]}skipHiddenDays(e,t=1,n=!1){for(;this.isHiddenDayHash[(e.getUTCDay()+(n?t:0)+7)%7];)e=H(e,t);return e}};function za(e,t,n,r){return{instanceId:_r(),defId:e,range:t,forcedStartTzo:n??null,forcedEndTzo:r??null}}function Ba(e,t,n,r){for(let i=0;i<r.length;i+=1){let a=r[i].parse(e,n);if(a){let{allDay:n}=e;return n??(n=t,n??(n=a.allDayGuess,n??=!1)),{allDay:n,duration:a.duration,typeData:a.typeData,typeId:i}}}return null}function Va(e,t,n){let{dateEnv:r,pluginHooks:i,options:a}=n,{defs:o,instances:s}=e;s=qi(s,e=>!o[e.defId].recurringDef);for(let e in o){let n=o[e];if(n.recurringDef){let{duration:o}=n.recurringDef;o||=n.allDay?a.defaultAllDayEventDuration:a.defaultTimedEventDuration;let c=Ha(n,o,t,r,i.recurringTypes);for(let t of c){let n=za(e,{start:t,end:r.add(t,o)});s[n.instanceId]=n}}}return{defs:o,instances:s}}function Ha(e,t,n,r,i){let a=i[e.recurringDef.typeId].expand(e.recurringDef.typeData,{start:r.subtract(n.start,t),end:n.end},r);return e.allDay&&(a=a.map(U)),a}var Ua={id:String,groupId:String,title:String,url:String,interactive:Boolean},Wa={start:q,end:q,date:q,allDay:Boolean},Ga=Object.assign(Object.assign(Object.assign({},Ua),Wa),{extendedProps:q});function Ka(e,t,n,r,i=Ja(n),a,o){let{refined:s,extra:c}=qa(e,n,i),l=Za(t,n),u=Ba(s,l,n.dateEnv,n.pluginHooks.recurringTypes);if(u){let e=Ya(s,c,t?t.sourceId:``,u.allDay,!!u.duration,n,a);return e.recurringDef={typeId:u.typeId,typeData:u.typeData,duration:u.duration},{def:e,instance:null}}let d=Xa(s,l,n,r);if(d){let e=Ya(s,c,t?t.sourceId:``,d.allDay,d.hasEnd,n,a),r=za(e.defId,d.range,d.forcedStartTzo,d.forcedEndTzo);return o&&e.publicId&&o[e.publicId]&&(r.instanceId=o[e.publicId]),{def:e,instance:r}}return null}function qa(e,t,n=Ja(t)){return Wi(e,n)}function Ja(e){return Object.assign(Object.assign(Object.assign({},co),Ga),e.pluginHooks.eventRefiners)}function Ya(e,t,n,r,i,a,o){let s={title:e.title||``,groupId:e.groupId||``,publicId:e.id||``,url:e.url||``,recurringDef:null,defId:(o&&e.id?o[e.id]:``)||_r(),sourceId:n,allDay:r,hasEnd:i,interactive:e.interactive,ui:uo(e,a),extendedProps:Object.assign(Object.assign({},e.extendedProps||{}),t)};for(let t of a.pluginHooks.eventDefMemberAdders)Object.assign(s,t(e));return Object.freeze(s.ui.classNames),Object.freeze(s.extendedProps),s}function Xa(e,t,n,r){let{allDay:i}=e,a,o=null,s=!1,c,l=null,u=e.start==null?e.date:e.start;if(a=n.dateEnv.createMarkerMeta(u),a)o=a.marker;else if(!r)return null;return e.end!=null&&(c=n.dateEnv.createMarkerMeta(e.end)),i??=t??((!a||a.isTimeUnspecified)&&(!c||c.isTimeUnspecified)),i&&o&&(o=U(o)),c&&(l=c.marker,i&&(l=U(l)),o&&l<=o&&(l=null)),l?s=!0:r||(s=n.options.forceEventDuration||!1,l=n.dateEnv.add(o,i?n.options.defaultAllDayEventDuration:n.options.defaultTimedEventDuration)),{allDay:i,hasEnd:s,range:{start:o,end:l},forcedStartTzo:a?a.forcedTzo:null,forcedEndTzo:c?c.forcedTzo:null}}function Za(e,t){let n=null;return e&&(n=e.defaultAllDay),n??=t.options.defaultAllDay,n}function Qa(e,t,n,r,i,a){let o=no(),s=Ja(n);for(let c of e){let e=Ka(c,t,n,r,s,i,a);e&&$a(e,o)}return o}function $a(e,t=no()){return t.defs[e.def.defId]=e.def,e.instance&&(t.instances[e.instance.instanceId]=e.instance),t}function eo(e,t){let n=e.instances[t];if(n){let t=e.defs[n.defId],r=io(e,e=>to(t,e));return r.defs[t.defId]=t,r.instances[n.instanceId]=n,r}return no()}function to(e,t){return!!(e.groupId&&e.groupId===t.groupId)}function no(){return{defs:{},instances:{}}}function ro(e,t){return{defs:Object.assign(Object.assign({},e.defs),t.defs),instances:Object.assign(Object.assign({},e.instances),t.instances)}}function io(e,t){let n=qi(e.defs,t);return{defs:n,instances:qi(e.instances,e=>n[e.defId])}}function ao(e,t){let{defs:n,instances:r}=e,i={},a={};for(let e in n)t.defs[e]||(i[e]=n[e]);for(let e in r)!t.instances[e]&&i[r[e].defId]&&(a[e]=r[e]);return{defs:i,instances:a}}function oo(e,t){return Array.isArray(e)?Qa(e,null,t,!0):typeof e==`object`&&e?Qa([e],null,t,!0):e==null?null:String(e)}function so(e){return Array.isArray(e)?e:typeof e==`string`?e.split(/\s+/):[]}var co={display:String,editable:Boolean,startEditable:Boolean,durationEditable:Boolean,constraint:q,overlap:q,allow:q,className:so,classNames:so,color:String,backgroundColor:String,borderColor:String,textColor:String},lo={display:null,startEditable:null,durationEditable:null,constraints:[],overlap:null,allows:[],backgroundColor:``,borderColor:``,textColor:``,classNames:[]};function uo(e,t){let n=oo(e.constraint,t);return{display:e.display||null,startEditable:e.startEditable==null?e.editable:e.startEditable,durationEditable:e.durationEditable==null?e.editable:e.durationEditable,constraints:n==null?[]:[n],overlap:e.overlap==null?null:e.overlap,allows:e.allow==null?[]:[e.allow],backgroundColor:e.backgroundColor||e.color||``,borderColor:e.borderColor||e.color||``,textColor:e.textColor||``,classNames:(e.className||[]).concat(e.classNames||[])}}function fo(e){return e.reduce(po,lo)}function po(e,t){return{display:t.display==null?e.display:t.display,startEditable:t.startEditable==null?e.startEditable:t.startEditable,durationEditable:t.durationEditable==null?e.durationEditable:t.durationEditable,constraints:e.constraints.concat(t.constraints),overlap:typeof t.overlap==`boolean`?t.overlap:e.overlap,allows:e.allows.concat(t.allows),backgroundColor:t.backgroundColor||e.backgroundColor,borderColor:t.borderColor||e.borderColor,textColor:t.textColor||e.textColor,classNames:e.classNames.concat(t.classNames)}}var mo={id:String,defaultAllDay:Boolean,url:String,format:String,events:q,eventDataTransform:q,success:q,failure:q};function ho(e,t,n=go(t)){let r;if(typeof e==`string`?r={url:e}:typeof e==`function`||Array.isArray(e)?r={events:e}:typeof e==`object`&&e&&(r=e),r){let{refined:i,extra:a}=Wi(r,n),o=_o(i,t);if(o)return{_raw:e,isFetching:!1,latestFetchId:``,fetchRange:null,defaultAllDay:i.defaultAllDay,eventDataTransform:i.eventDataTransform,success:i.success,failure:i.failure,publicId:i.id||``,sourceId:_r(),sourceDefId:o.sourceDefId,meta:o.meta,ui:uo(i,t),extendedProps:a}}return null}function go(e){return Object.assign(Object.assign(Object.assign({},co),mo),e.pluginHooks.eventSourceRefiners)}function _o(e,t){let n=t.pluginHooks.eventSourceDefs;for(let t=n.length-1;t>=0;--t){let r=n[t].parseMeta(e);if(r)return{sourceDefId:t,meta:r}}return null}function vo(e,t,n,r,i){switch(t.type){case`RECEIVE_EVENTS`:return yo(e,n[t.sourceId],t.fetchId,t.fetchRange,t.rawEvents,i);case`RESET_RAW_EVENTS`:return bo(e,n[t.sourceId],t.rawEvents,r.activeRange,i);case`ADD_EVENTS`:return Co(e,t.eventStore,r?r.activeRange:null,i);case`RESET_EVENTS`:return t.eventStore;case`MERGE_EVENTS`:return ro(e,t.eventStore);case`PREV`:case`NEXT`:case`CHANGE_DATE`:case`CHANGE_VIEW_TYPE`:return r?Va(e,r.activeRange,i):e;case`REMOVE_EVENTS`:return ao(e,t.eventStore);case`REMOVE_EVENT_SOURCE`:return To(e,t.sourceId);case`REMOVE_ALL_EVENT_SOURCES`:return io(e,e=>!e.sourceId);case`REMOVE_ALL_EVENTS`:return no();default:return e}}function yo(e,t,n,r,i,a){if(t&&n===t.latestFetchId){let n=Qa(xo(i,t,a),t,a);return r&&(n=Va(n,r,a)),ro(To(e,t.sourceId),n)}return e}function bo(e,t,n,r,i){let{defIdMap:a,instanceIdMap:o}=Eo(e);return Va(Qa(xo(n,t,i),t,i,!1,a,o),r,i)}function xo(e,t,n){let r=n.options.eventDataTransform,i=t?t.eventDataTransform:null;return i&&(e=So(e,i)),r&&(e=So(e,r)),e}function So(e,t){let n;if(!t)n=e;else{n=[];for(let r of e){let e=t(r);e?n.push(e):e??n.push(r)}}return n}function Co(e,t,n,r){return n&&(t=Va(t,n,r)),ro(e,t)}function wo(e,t,n){let{defs:r}=e;return{defs:r,instances:Ji(e.instances,e=>r[e.defId].allDay?e:Object.assign(Object.assign({},e),{range:{start:n.createMarker(t.toDate(e.range.start,e.forcedStartTzo)),end:n.createMarker(t.toDate(e.range.end,e.forcedEndTzo))},forcedStartTzo:n.canComputeOffset?null:e.forcedStartTzo,forcedEndTzo:n.canComputeOffset?null:e.forcedEndTzo}))}}function To(e,t){return io(e,e=>e.sourceId!==t)}function Eo(e){let{defs:t,instances:n}=e,r={},i={};for(let e in t){let{publicId:n}=t[e];n&&(r[n]=e)}for(let e in n){let{publicId:r}=t[n[e].defId];r&&(i[r]=e)}return{defIdMap:r,instanceIdMap:i}}var Do=class{constructor(){this.handlers={},this.thisContext=null}setThisContext(e){this.thisContext=e}setOptions(e){this.options=e}on(e,t){Oo(this.handlers,e,t)}off(e,t){ko(this.handlers,e,t)}trigger(e,...t){let n=this.handlers[e]||[],r=this.options&&this.options[e],i=[].concat(r||[],n);for(let e of i)e.apply(this.thisContext,t)}hasHandlers(e){return!!(this.handlers[e]&&this.handlers[e].length||this.options&&this.options[e])}};function Oo(e,t,n){(e[t]||(e[t]=[])).push(n)}function ko(e,t,n){n?e[t]&&(e[t]=e[t].filter(e=>e!==n)):delete e[t]}var Ao={startTime:`09:00`,endTime:`17:00`,daysOfWeek:[1,2,3,4,5],display:`inverse-background`,classNames:`fc-non-business`,groupId:`_businessHours`};function jo(e,t){return Qa(Mo(e),null,t)}function Mo(e){let t;return t=e===!0?[{}]:Array.isArray(e)?e.filter(e=>e.daysOfWeek):typeof e==`object`&&e?[e]:[],t=t.map(e=>Object.assign(Object.assign({},Ao),e)),t}function No(e,t,n){n.emitter.trigger(`select`,Object.assign(Object.assign({},Fo(e,n)),{jsEvent:t?t.origEvent:null,view:n.viewApi||n.calendarApi.view}))}function Po(e,t){t.emitter.trigger(`unselect`,{jsEvent:e?e.origEvent:null,view:t.viewApi||t.calendarApi.view})}function Fo(e,t){let n={};for(let r of t.pluginHooks.dateSpanTransforms)Object.assign(n,r(e,t));return Object.assign(n,cs(e,t.dateEnv)),n}function Io(e,t,n){let{dateEnv:r,options:i}=n,a=t;return e?(a=U(a),a=r.add(a,i.defaultAllDayEventDuration)):a=r.add(a,i.defaultTimedEventDuration),a}function Lo(e,t,n,r){let i=qo(e.defs,t),a=no();for(let t in e.defs){let o=e.defs[t];a.defs[t]=Ro(o,i[t],n,r)}for(let t in e.instances){let o=e.instances[t],s=a.defs[o.defId];a.instances[t]=zo(o,s,i[o.defId],n,r)}return a}function Ro(e,t,n,r){let i=n.standardProps||{};i.hasEnd==null&&t.durationEditable&&(n.startDelta||n.endDelta)&&(i.hasEnd=!0);let a=Object.assign(Object.assign(Object.assign({},e),i),{ui:Object.assign(Object.assign({},e.ui),i.ui)});n.extendedProps&&(a.extendedProps=Object.assign(Object.assign({},a.extendedProps),n.extendedProps));for(let e of r.pluginHooks.eventDefMutationAppliers)e(a,n,r);return!a.hasEnd&&r.options.forceEventDuration&&(a.hasEnd=!0),a}function zo(e,t,n,r,i){let{dateEnv:a}=i,o=r.standardProps&&r.standardProps.allDay===!0,s=r.standardProps&&r.standardProps.hasEnd===!1,c=Object.assign({},e);return o&&(c.range=Fa(c.range)),r.datesDelta&&n.startEditable&&(c.range={start:a.add(c.range.start,r.datesDelta),end:a.add(c.range.end,r.datesDelta)}),r.startDelta&&n.durationEditable&&(c.range={start:a.add(c.range.start,r.startDelta),end:c.range.end}),r.endDelta&&n.durationEditable&&(c.range={start:c.range.start,end:a.add(c.range.end,r.endDelta)}),s&&(c.range={start:c.range.start,end:Io(t.allDay,c.range.start,i)}),t.allDay&&(c.range={start:U(c.range.start),end:U(c.range.end)}),c.range.end<c.range.start&&(c.range.end=Io(t.allDay,c.range.start,i)),c}var Bo=class{constructor(e,t){this.context=e,this.internalEventSource=t}remove(){this.context.dispatch({type:`REMOVE_EVENT_SOURCE`,sourceId:this.internalEventSource.sourceId})}refetch(){this.context.dispatch({type:`FETCH_EVENT_SOURCES`,sourceIds:[this.internalEventSource.sourceId],isRefetch:!0})}get id(){return this.internalEventSource.publicId}get url(){return this.internalEventSource.meta.url}get format(){return this.internalEventSource.meta.format}},Q=class e{constructor(e,t,n){this._context=e,this._def=t,this._instance=n||null}setProp(e,t){if(e in Wa)console.warn(`Could not set date-related prop 'name'. Use one of the date-related methods instead.`);else if(e===`id`)t=Ua[e](t),this.mutate({standardProps:{publicId:t}});else if(e in Ua)t=Ua[e](t),this.mutate({standardProps:{[e]:t}});else if(e in co){let n=co[e](t);n=e===`color`?{backgroundColor:t,borderColor:t}:e===`editable`?{startEditable:t,durationEditable:t}:{[e]:t},this.mutate({standardProps:{ui:n}})}else console.warn(`Could not set prop '${e}'. Use setExtendedProp instead.`)}setExtendedProp(e,t){this.mutate({extendedProps:{[e]:t}})}setStart(e,t={}){let{dateEnv:n}=this._context,r=n.createMarker(e);if(r&&this._instance){let e=this._instance.range,i=La(e.start,r,n,t.granularity);t.maintainDuration?this.mutate({datesDelta:i}):this.mutate({startDelta:i})}}setEnd(e,t={}){let{dateEnv:n}=this._context,r;if(!(e!=null&&(r=n.createMarker(e),!r))&&this._instance)if(r){let e=La(this._instance.range.end,r,n,t.granularity);this.mutate({endDelta:e})}else this.mutate({standardProps:{hasEnd:!1}})}setDates(e,t,n={}){let{dateEnv:r}=this._context,i={allDay:n.allDay},a=r.createMarker(e),o;if(a&&!(t!=null&&(o=r.createMarker(t),!o))&&this._instance){let e=this._instance.range;n.allDay===!0&&(e=Fa(e));let t=La(e.start,a,r,n.granularity);if(o){let a=La(e.end,o,r,n.granularity);Ar(t,a)?this.mutate({datesDelta:t,standardProps:i}):this.mutate({startDelta:t,endDelta:a,standardProps:i})}else i.hasEnd=!1,this.mutate({datesDelta:t,standardProps:i})}}moveStart(e){let t=B(e);t&&this.mutate({startDelta:t})}moveEnd(e){let t=B(e);t&&this.mutate({endDelta:t})}moveDates(e){let t=B(e);t&&this.mutate({datesDelta:t})}setAllDay(e,t={}){let n={allDay:e},{maintainDuration:r}=t;r??=this._context.options.allDayMaintainDuration,this._def.allDay!==e&&(n.hasEnd=r),this.mutate({standardProps:n})}formatRange(e){let{dateEnv:t}=this._context,n=this._instance,r=K(e);return this._def.hasEnd?t.formatRange(n.range.start,n.range.end,r,{forcedStartTzo:n.forcedStartTzo,forcedEndTzo:n.forcedEndTzo}):t.format(n.range.start,r,{forcedTzo:n.forcedStartTzo})}mutate(t){let n=this._instance;if(n){let r=this._def,i=this._context,{eventStore:a}=i.getCurrentData(),o=eo(a,n.instanceId);o=Lo(o,{"":{display:``,startEditable:!0,durationEditable:!0,constraints:[],overlap:null,allows:[],backgroundColor:``,borderColor:``,textColor:``,classNames:[]}},t,i);let s=new e(i,r,n);this._def=o.defs[r.defId],this._instance=o.instances[n.instanceId],i.dispatch({type:`MERGE_EVENTS`,eventStore:o}),i.emitter.trigger(`eventChange`,{oldEvent:s,event:this,relatedEvents:Ho(o,i,n),revert(){i.dispatch({type:`RESET_EVENTS`,eventStore:a})}})}}remove(){let e=this._context,t=Vo(this);e.dispatch({type:`REMOVE_EVENTS`,eventStore:t}),e.emitter.trigger(`eventRemove`,{event:this,relatedEvents:[],revert(){e.dispatch({type:`MERGE_EVENTS`,eventStore:t})}})}get source(){let{sourceId:e}=this._def;return e?new Bo(this._context,this._context.getCurrentData().eventSources[e]):null}get start(){return this._instance?this._context.dateEnv.toDate(this._instance.range.start):null}get end(){return this._instance&&this._def.hasEnd?this._context.dateEnv.toDate(this._instance.range.end):null}get startStr(){let e=this._instance;return e?this._context.dateEnv.formatIso(e.range.start,{omitTime:this._def.allDay,forcedTzo:e.forcedStartTzo}):``}get endStr(){let e=this._instance;return e&&this._def.hasEnd?this._context.dateEnv.formatIso(e.range.end,{omitTime:this._def.allDay,forcedTzo:e.forcedEndTzo}):``}get id(){return this._def.publicId}get groupId(){return this._def.groupId}get allDay(){return this._def.allDay}get title(){return this._def.title}get url(){return this._def.url}get display(){return this._def.ui.display||`auto`}get startEditable(){return this._def.ui.startEditable}get durationEditable(){return this._def.ui.durationEditable}get constraint(){return this._def.ui.constraints[0]||null}get overlap(){return this._def.ui.overlap}get allow(){return this._def.ui.allows[0]||null}get backgroundColor(){return this._def.ui.backgroundColor}get borderColor(){return this._def.ui.borderColor}get textColor(){return this._def.ui.textColor}get classNames(){return this._def.ui.classNames}get extendedProps(){return this._def.extendedProps}toPlainObject(e={}){let t=this._def,{ui:n}=t,{startStr:r,endStr:i}=this,a={allDay:t.allDay};return t.title&&(a.title=t.title),r&&(a.start=r),i&&(a.end=i),t.publicId&&(a.id=t.publicId),t.groupId&&(a.groupId=t.groupId),t.url&&(a.url=t.url),n.display&&n.display!==`auto`&&(a.display=n.display),e.collapseColor&&n.backgroundColor&&n.backgroundColor===n.borderColor?a.color=n.backgroundColor:(n.backgroundColor&&(a.backgroundColor=n.backgroundColor),n.borderColor&&(a.borderColor=n.borderColor)),n.textColor&&(a.textColor=n.textColor),n.classNames.length&&(a.classNames=n.classNames),Object.keys(t.extendedProps).length&&(e.collapseExtendedProps?Object.assign(a,t.extendedProps):a.extendedProps=t.extendedProps),a}toJSON(){return this.toPlainObject()}};function Vo(e){let t=e._def,n=e._instance;return{defs:{[t.defId]:t},instances:n?{[n.instanceId]:n}:{}}}function Ho(e,t,n){let{defs:r,instances:i}=e,a=[],o=n?n.instanceId:``;for(let e in i){let n=i[e],s=r[n.defId];n.instanceId!==o&&a.push(new Q(t,s,n))}return a}function Uo(e,t,n,r){let i={},a={},o={},s=[],c=[],l=qo(e.defs,t);for(let t in e.defs){let n=e.defs[t];l[n.defId].display===`inverse-background`&&(n.groupId?(i[n.groupId]=[],o[n.groupId]||(o[n.groupId]=n)):a[t]=[])}for(let t in e.instances){let o=e.instances[t],u=e.defs[o.defId],d=l[u.defId],f=o.range,p=!u.allDay&&r?Ia(f,r):f,m=ja(p,n);m&&(d.display===`inverse-background`?u.groupId?i[u.groupId].push(m):a[o.defId].push(m):d.display!==`none`&&(d.display===`background`?s:c).push({def:u,ui:d,instance:o,range:m,isStart:p.start&&p.start.valueOf()===m.start.valueOf(),isEnd:p.end&&p.end.valueOf()===m.end.valueOf()}))}for(let e in i){let t=i[e],r=ka(t,n);for(let t of r){let n=o[e],r=l[n.defId];s.push({def:n,ui:r,instance:null,range:t,isStart:!1,isEnd:!1})}}for(let t in a){let r=a[t],i=ka(r,n);for(let n of i)s.push({def:e.defs[t],ui:l[t],instance:null,range:n,isStart:!1,isEnd:!1})}return{bg:s,fg:c}}function Wo(e){return e.ui.display===`background`||e.ui.display===`inverse-background`}function Go(e,t){e.fcSeg=t}function Ko(e){return e.fcSeg||e.parentNode.fcSeg||null}function qo(e,t){return Ji(e,e=>Jo(e,t))}function Jo(e,t){let n=[];return t[``]&&n.push(t[``]),t[e.defId]&&n.push(t[e.defId]),n.push(e.ui),fo(n)}function Yo(e,t){let n=e.map(Xo);return n.sort((e,n)=>yr(e,n,t)),n.map(e=>e._seg)}function Xo(e){let{eventRange:t}=e,n=t.def,r=t.instance?t.instance.range:t.range,i=r.start?r.start.valueOf():0,a=r.end?r.end.valueOf():0;return Object.assign(Object.assign(Object.assign({},n.extendedProps),n),{id:n.publicId,start:i,end:a,duration:a-i,allDay:Number(n.allDay),_seg:e})}function Zo(e,t){let{pluginHooks:n}=t,r=n.isDraggableTransformers,{def:i,ui:a}=e.eventRange,o=a.startEditable;for(let e of r)o=e(o,i,a,t);return o}function Qo(e,t){return e.isStart&&e.eventRange.ui.durationEditable&&t.options.eventResizableFromStart}function $o(e,t){return e.isEnd&&e.eventRange.ui.durationEditable}function es(e,t,n,r,i,a,o){let{dateEnv:s,options:c}=n,{displayEventTime:l,displayEventEnd:u}=c,d=e.eventRange.def,f=e.eventRange.instance;l??=r!==!1,u??=i!==!1;let p=f.range.start,m=f.range.end,h=a||e.start||e.eventRange.range.start,g=o||e.end||e.eventRange.range.end,_=U(p).valueOf()===U(h).valueOf(),v=U(Hr(m,-1)).valueOf()===U(Hr(g,-1)).valueOf();return l&&!d.allDay&&(_||v)?(h=_?p:h,g=v?m:g,u&&d.hasEnd?s.formatRange(h,g,t,{forcedStartTzo:a?null:f.forcedStartTzo,forcedEndTzo:o?null:f.forcedEndTzo}):s.format(h,t,{forcedTzo:a?null:f.forcedStartTzo})):``}function ts(e,t,n){let r=e.eventRange.range;return{isPast:r.end<=(n||t.start),isFuture:r.start>=(n||t.end),isToday:t&&Na(t,r.start)}}function ns(e){let t=[`fc-event`];return e.isMirror&&t.push(`fc-event-mirror`),e.isDraggable&&t.push(`fc-event-draggable`),(e.isStartResizable||e.isEndResizable)&&t.push(`fc-event-resizable`),e.isDragging&&t.push(`fc-event-dragging`),e.isResizing&&t.push(`fc-event-resizing`),e.isSelected&&t.push(`fc-event-selected`),e.isStart&&t.push(`fc-event-start`),e.isEnd&&t.push(`fc-event-end`),e.isPast&&t.push(`fc-event-past`),e.isToday&&t.push(`fc-event-today`),e.isFuture&&t.push(`fc-event-future`),t}function rs(e){return e.instance?e.instance.instanceId:`${e.def.defId}:${e.range.start.toISOString()}`}function is(e,t){let{def:n,instance:r}=e.eventRange,{url:i}=n;if(i)return{href:i};let{emitter:a,options:o}=t,{eventInteractive:s}=o;return s??(s=n.interactive,s??=!!a.hasHandlers(`eventClick`)),s?hr(e=>{a.trigger(`eventClick`,{el:e.target,event:new Q(t,n,r),jsEvent:e,view:t.viewApi})}):{}}var as={start:q,end:q,allDay:Boolean};function os(e,t,n){let r=ss(e,t),{range:i}=r;if(!i.start)return null;if(!i.end){if(n==null)return null;i.end=t.add(i.start,n)}return r}function ss(e,t){let{refined:n,extra:r}=Wi(e,as),i=n.start?t.createMarkerMeta(n.start):null,a=n.end?t.createMarkerMeta(n.end):null,{allDay:o}=n;return o??=i&&i.isTimeUnspecified&&(!a||a.isTimeUnspecified),Object.assign({range:{start:i?i.marker:null,end:a?a.marker:null},allDay:o},r)}function cs(e,t){return Object.assign(Object.assign({},us(e.range,t,e.allDay)),{allDay:e.allDay})}function ls(e,t,n){return Object.assign(Object.assign({},us(e,t,n)),{timeZone:t.timeZone})}function us(e,t,n){return{start:t.toDate(e.start),end:t.toDate(e.end),startStr:t.formatIso(e.start,{omitTime:n}),endStr:t.formatIso(e.end,{omitTime:n})}}function ds(e,t,n){let r=qa({editable:!1},n),i=Ya(r.refined,r.extra,``,e.allDay,!0,n);return{def:i,ui:Jo(i,t),instance:za(i.defId,e.range),range:e.range,isStart:!0,isEnd:!0}}function fs(e,t,n){let r=!1,i=function(e){r||(r=!0,t(e))},a=function(e){r||(r=!0,n(e))},o=e(i,a);o&&typeof o.then==`function`&&o.then(i,a)}var ps=class extends Error{constructor(e,t){super(e),this.response=t}};function ms(e,t,n){e=e.toUpperCase();let r={method:e};return e===`GET`?t+=(t.indexOf(`?`)===-1?`?`:`&`)+new URLSearchParams(n):(r.body=new URLSearchParams(n),r.headers={"Content-Type":`application/x-www-form-urlencoded`}),fetch(t,r).then(e=>{if(e.ok)return e.json().then(t=>[t,e],()=>{throw new ps(`Failure parsing JSON`,e)});throw new ps(`Request failed`,e)})}var hs;function gs(){return hs??=_s(),hs}function _s(){if(typeof document>`u`)return!0;let e=document.createElement(`div`);e.style.position=`absolute`,e.style.top=`0px`,e.style.left=`0px`,e.innerHTML=`<table><tr><td><div></div></td></tr></table>`,e.querySelector(`table`).style.height=`100px`,e.querySelector(`div`).style.height=`100%`,document.body.appendChild(e);let t=e.querySelector(`div`).offsetHeight>0;return document.body.removeChild(e),t}var vs=class extends Y{constructor(){super(...arguments),this.state={forPrint:!1},this.handleBeforePrint=()=>{ua(()=>{this.setState({forPrint:!0})})},this.handleAfterPrint=()=>{ua(()=>{this.setState({forPrint:!1})})}}render(){let{props:e}=this,{options:t}=e,{forPrint:n}=this.state,r=n||t.height===`auto`||t.contentHeight===`auto`,i=!r&&t.height!=null?t.height:``,a=[`fc`,n?`fc-media-print`:`fc-media-screen`,`fc-direction-${t.direction}`,e.theme.getClass(`root`)];return gs()||a.push(`fc-liquid-hack`),e.children(a,i,r,n)}componentDidMount(){let{emitter:e}=this.props;e.on(`_beforeprint`,this.handleBeforePrint),e.on(`_afterprint`,this.handleAfterPrint)}componentWillUnmount(){let{emitter:e}=this.props;e.off(`_beforeprint`,this.handleBeforePrint),e.off(`_afterprint`,this.handleAfterPrint)}},ys=class{constructor(e){this.component=e.component,this.isHitComboAllowed=e.isHitComboAllowed||null}destroy(){}};function bs(e,t){return{component:e,el:t.el,useEventCenter:t.useEventCenter==null?!0:t.useEventCenter,isHitComboAllowed:t.isHitComboAllowed||null}}var xs={},Ss=class extends L{constructor(e,t){super(e,t),this.handleRefresh=()=>{let e=this.computeTiming();e.state.nowDate.valueOf()!==this.state.nowDate.valueOf()&&this.setState(e.state),this.clearTimeout(),this.setTimeout(e.waitMs)},this.handleVisibilityChange=()=>{document.hidden||this.handleRefresh()},this.state=this.computeTiming().state}render(){let{props:e,state:t}=this;return e.children(t.nowDate,t.todayRange)}componentDidMount(){this.setTimeout(),this.context.nowManager.addResetListener(this.handleRefresh),document.addEventListener(`visibilitychange`,this.handleVisibilityChange)}componentDidUpdate(e){e.unit!==this.props.unit&&(this.clearTimeout(),this.setTimeout())}componentWillUnmount(){this.clearTimeout(),this.context.nowManager.removeResetListener(this.handleRefresh),document.removeEventListener(`visibilitychange`,this.handleVisibilityChange)}computeTiming(){let{props:e,context:t}=this,n=t.nowManager.getDateMarker(),{nowIndicatorSnap:r}=t.options;r===`auto`&&(r=/year|month|week|day/.test(e.unit)||(e.unitValue||1)===1);let i,a;return r?(i=t.dateEnv.startOf(n,e.unit),a=t.dateEnv.add(i,B(1,e.unit)).valueOf()-n.valueOf()):(i=n,a=1e3*60),a=Math.min(1e3*60*60*24,a),{state:{nowDate:i,todayRange:Cs(i)},waitMs:a}}setTimeout(e=this.computeTiming().waitMs){this.timeoutId=setTimeout(()=>{let e=this.computeTiming();this.setState(e.state,()=>{this.setTimeout(e.waitMs)})},e)}clearTimeout(){this.timeoutId&&clearTimeout(this.timeoutId)}};Ss.contextType=ma;function Cs(e){let t=U(e);return{start:t,end:H(t,1)}}var ws=class{getCurrentData(){return this.currentDataManager.getCurrentData()}dispatch(e){this.currentDataManager.dispatch(e)}get view(){return this.getCurrentData().viewApi}batchRendering(e){e()}updateSize(){this.trigger(`_resize`,!0)}setOption(e,t){this.dispatch({type:`SET_OPTION`,optionName:e,rawOptionValue:t})}getOption(e){return this.currentDataManager.currentCalendarOptionsInput[e]}getAvailableLocaleCodes(){return Object.keys(this.getCurrentData().availableRawLocales)}on(e,t){let{currentDataManager:n}=this;n.currentCalendarOptionsRefiners[e]?n.emitter.on(e,t):console.warn(`Unknown listener name '${e}'`)}off(e,t){this.currentDataManager.emitter.off(e,t)}trigger(e,...t){this.currentDataManager.emitter.trigger(e,...t)}changeView(e,t){this.batchRendering(()=>{if(this.unselect(),t)if(t.start&&t.end)this.dispatch({type:`CHANGE_VIEW_TYPE`,viewType:e}),this.dispatch({type:`SET_OPTION`,optionName:`visibleRange`,rawOptionValue:t});else{let{dateEnv:n}=this.getCurrentData();this.dispatch({type:`CHANGE_VIEW_TYPE`,viewType:e,dateMarker:n.createMarker(t)})}else this.dispatch({type:`CHANGE_VIEW_TYPE`,viewType:e})})}zoomTo(e,t){let n=this.getCurrentData(),r;t||=`day`,r=n.viewSpecs[t]||this.getUnitViewSpec(t),this.unselect(),r?this.dispatch({type:`CHANGE_VIEW_TYPE`,viewType:r.type,dateMarker:e}):this.dispatch({type:`CHANGE_DATE`,dateMarker:e})}getUnitViewSpec(e){let{viewSpecs:t,toolbarConfig:n}=this.getCurrentData(),r=[].concat(n.header?n.header.viewsWithButtons:[],n.footer?n.footer.viewsWithButtons:[]),i,a;for(let e in t)r.push(e);for(i=0;i<r.length;i+=1)if(a=t[r[i]],a&&a.singleUnit===e)return a;return null}prev(){this.unselect(),this.dispatch({type:`PREV`})}next(){this.unselect(),this.dispatch({type:`NEXT`})}prevYear(){let e=this.getCurrentData();this.unselect(),this.dispatch({type:`CHANGE_DATE`,dateMarker:e.dateEnv.addYears(e.currentDate,-1)})}nextYear(){let e=this.getCurrentData();this.unselect(),this.dispatch({type:`CHANGE_DATE`,dateMarker:e.dateEnv.addYears(e.currentDate,1)})}today(){let e=this.getCurrentData();this.unselect(),this.dispatch({type:`CHANGE_DATE`,dateMarker:e.nowManager.getDateMarker()})}gotoDate(e){let t=this.getCurrentData();this.unselect(),this.dispatch({type:`CHANGE_DATE`,dateMarker:t.dateEnv.createMarker(e)})}incrementDate(e){let t=this.getCurrentData(),n=B(e);n&&(this.unselect(),this.dispatch({type:`CHANGE_DATE`,dateMarker:t.dateEnv.add(t.currentDate,n)}))}getDate(){let e=this.getCurrentData();return e.dateEnv.toDate(e.currentDate)}formatDate(e,t){let{dateEnv:n}=this.getCurrentData();return n.format(n.createMarker(e),K(t))}formatRange(e,t,n){let{dateEnv:r}=this.getCurrentData();return r.formatRange(r.createMarker(e),r.createMarker(t),K(n),n)}formatIso(e,t){let{dateEnv:n}=this.getCurrentData();return n.formatIso(n.createMarker(e),{omitTime:t})}select(e,t){let n;n=t==null?e.start==null?{start:e,end:null}:e:{start:e,end:t};let r=this.getCurrentData(),i=os(n,r.dateEnv,B({days:1}));i&&(this.dispatch({type:`SELECT_DATES`,selection:i}),No(i,null,r))}unselect(e){let t=this.getCurrentData();t.dateSelection&&(this.dispatch({type:`UNSELECT_DATES`}),Po(e,t))}addEvent(e,t){if(e instanceof Q){let t=e._def,n=e._instance;return this.getCurrentData().eventStore.defs[t.defId]||(this.dispatch({type:`ADD_EVENTS`,eventStore:$a({def:t,instance:n})}),this.triggerEventAdd(e)),e}let n=this.getCurrentData(),r;if(t instanceof Bo)r=t.internalEventSource;else if(typeof t==`boolean`)t&&([r]=Xi(n.eventSources));else if(t!=null){let e=this.getEventSourceById(t);if(!e)return console.warn(`Could not find an event source with ID "${t}"`),null;r=e.internalEventSource}let i=Ka(e,r,n,!1);if(i){let e=new Q(n,i.def,i.def.recurringDef?null:i.instance);return this.dispatch({type:`ADD_EVENTS`,eventStore:$a(i)}),this.triggerEventAdd(e),e}return null}triggerEventAdd(e){let{emitter:t}=this.getCurrentData();t.trigger(`eventAdd`,{event:e,relatedEvents:[],revert:()=>{this.dispatch({type:`REMOVE_EVENTS`,eventStore:Vo(e)})}})}getEventById(e){let t=this.getCurrentData(),{defs:n,instances:r}=t.eventStore;e=String(e);for(let i in n){let a=n[i];if(a.publicId===e){if(a.recurringDef)return new Q(t,a,null);for(let e in r){let n=r[e];if(n.defId===a.defId)return new Q(t,a,n)}}}return null}getEvents(){let e=this.getCurrentData();return Ho(e.eventStore,e)}removeAllEvents(){this.dispatch({type:`REMOVE_ALL_EVENTS`})}getEventSources(){let e=this.getCurrentData(),t=e.eventSources,n=[];for(let r in t)n.push(new Bo(e,t[r]));return n}getEventSourceById(e){let t=this.getCurrentData(),n=t.eventSources;e=String(e);for(let r in n)if(n[r].publicId===e)return new Bo(t,n[r]);return null}addEventSource(e){let t=this.getCurrentData();if(e instanceof Bo)return t.eventSources[e.internalEventSource.sourceId]||this.dispatch({type:`ADD_EVENT_SOURCES`,sources:[e.internalEventSource]}),e;let n=ho(e,t);return n?(this.dispatch({type:`ADD_EVENT_SOURCES`,sources:[n]}),new Bo(t,n)):null}removeAllEventSources(){this.dispatch({type:`REMOVE_ALL_EVENT_SOURCES`})}refetchEvents(){this.dispatch({type:`FETCH_EVENT_SOURCES`,isRefetch:!0})}scrollToTime(e){let t=B(e);t&&this.trigger(`_scrollRequest`,{time:t})}};function Ts(e,t){let n={left:Math.max(e.left,t.left),right:Math.min(e.right,t.right),top:Math.max(e.top,t.top),bottom:Math.min(e.bottom,t.bottom)};return n.left<n.right&&n.top<n.bottom?n:!1}var Es=no(),Ds=class{constructor(){this.getKeysForEventDefs=G(this._getKeysForEventDefs),this.splitDateSelection=G(this._splitDateSpan),this.splitEventStore=G(this._splitEventStore),this.splitIndividualUi=G(this._splitIndividualUi),this.splitEventDrag=G(this._splitInteraction),this.splitEventResize=G(this._splitInteraction),this.eventUiBuilders={}}splitProps(e){let t=this.getKeyInfo(e),n=this.getKeysForEventDefs(e.eventStore),r=this.splitDateSelection(e.dateSelection),i=this.splitIndividualUi(e.eventUiBases,n),a=this.splitEventStore(e.eventStore,n),o=this.splitEventDrag(e.eventDrag),s=this.splitEventResize(e.eventResize),c={};this.eventUiBuilders=Ji(t,(e,t)=>this.eventUiBuilders[t]||G(Os));for(let n in t){let l=t[n],u=a[n]||Es,d=this.eventUiBuilders[n];c[n]={businessHours:l.businessHours||e.businessHours,dateSelection:r[n]||null,eventStore:u,eventUiBases:d(e.eventUiBases[``],l.ui,i[n]),eventSelection:u.instances[e.eventSelection]?e.eventSelection:``,eventDrag:o[n]||null,eventResize:s[n]||null}}return c}_splitDateSpan(e){let t={};if(e){let n=this.getKeysForDateSpan(e);for(let r of n)t[r]=e}return t}_getKeysForEventDefs(e){return Ji(e.defs,e=>this.getKeysForEventDef(e))}_splitEventStore(e,t){let{defs:n,instances:r}=e,i={};for(let e in n)for(let r of t[e])i[r]||(i[r]=no()),i[r].defs[e]=n[e];for(let e in r){let n=r[e];for(let r of t[n.defId])i[r]&&(i[r].instances[e]=n)}return i}_splitIndividualUi(e,t){let n={};for(let r in e)if(r)for(let i of t[r])n[i]||(n[i]={}),n[i][r]=e[r];return n}_splitInteraction(e){let t={};if(e){let n=this._splitEventStore(e.affectedEvents,this._getKeysForEventDefs(e.affectedEvents)),r=this._getKeysForEventDefs(e.mutatedEvents),i=this._splitEventStore(e.mutatedEvents,r),a=r=>{t[r]||(t[r]={affectedEvents:n[r]||Es,mutatedEvents:i[r]||Es,isEvent:e.isEvent})};for(let e in n)a(e);for(let e in i)a(e)}return t}};function Os(e,t,n){let r=[];e&&r.push(e),t&&r.push(t);let i={"":fo(r)};return n&&Object.assign(i,n),i}function ks(e,t,n,r){return{dow:e.getUTCDay(),isDisabled:!!(r&&(!r.activeRange||!Na(r.activeRange,e))),isOther:!!(r&&!Na(r.currentRange,e)),isToday:!!(t&&Na(t,e)),isPast:!!(n?e<n:t&&e<t.start),isFuture:!!(n?e>n:t&&e>=t.end)}}function As(e,t){let n=[`fc-day`,`fc-day-${Br[e.dow]}`];return e.isDisabled?n.push(`fc-day-disabled`):(e.isToday&&(n.push(`fc-day-today`),n.push(t.getClass(`today`))),e.isPast&&n.push(`fc-day-past`),e.isFuture&&n.push(`fc-day-future`),e.isOther&&n.push(`fc-day-other`)),n}var js=K({year:`numeric`,month:`long`,day:`numeric`}),Ms=K({week:`long`});function Ns(e,t,n=`day`,r=!0){let{dateEnv:i,options:a,calendarApi:o}=e,s=i.format(t,n===`week`?Ms:js);if(a.navLinks){let e=i.toDate(t),c=e=>{let r=n===`day`?a.navLinkDayClick:n===`week`?a.navLinkWeekClick:null;typeof r==`function`?r.call(o,i.toDate(t),e):(typeof r==`string`&&(n=r),o.zoomTo(t,n))};return Object.assign({title:Cr(a.navLinkHint,[s,e],s),"data-navlink":``},r?mr(c):{onClick:c})}return{"aria-label":s}}var Ps;function Fs(){return Ps||=Is(),Ps}function Is(){let e=document.createElement(`div`);e.style.overflow=`scroll`,e.style.position=`absolute`,e.style.top=`-9999px`,e.style.left=`-9999px`,document.body.appendChild(e);let t=Ls(e);return document.body.removeChild(e),t}function Ls(e){return{x:e.offsetHeight-e.clientHeight,y:e.offsetWidth-e.clientWidth}}function Rs(e){let t=zs(e),n=e.getBoundingClientRect();for(let e of t){let t=Ts(n,e.getBoundingClientRect());if(t)n=t;else return null}return n}function zs(e){let t=[];for(;e instanceof HTMLElement;){let n=window.getComputedStyle(e);if(n.position===`fixed`)break;/(auto|scroll)/.test(n.overflow+n.overflowY+n.overflowX)&&t.push(e),e=e.parentNode}return t}var Bs=class{constructor(e,t,n,r){this.els=t;let i=this.originClientRect=e.getBoundingClientRect();n&&this.buildElHorizontals(i.left),r&&this.buildElVerticals(i.top)}buildElHorizontals(e){let t=[],n=[];for(let r of this.els){let i=r.getBoundingClientRect();t.push(i.left-e),n.push(i.right-e)}this.lefts=t,this.rights=n}buildElVerticals(e){let t=[],n=[];for(let r of this.els){let i=r.getBoundingClientRect();t.push(i.top-e),n.push(i.bottom-e)}this.tops=t,this.bottoms=n}leftToIndex(e){let{lefts:t,rights:n}=this,r=t.length,i;for(i=0;i<r;i+=1)if(e>=t[i]&&e<n[i])return i}topToIndex(e){let{tops:t,bottoms:n}=this,r=t.length,i;for(i=0;i<r;i+=1)if(e>=t[i]&&e<n[i])return i}getWidth(e){return this.rights[e]-this.lefts[e]}getHeight(e){return this.bottoms[e]-this.tops[e]}similarTo(e){return Vs(this.tops||[],e.tops||[])&&Vs(this.bottoms||[],e.bottoms||[])&&Vs(this.lefts||[],e.lefts||[])&&Vs(this.rights||[],e.rights||[])}};function Vs(e,t){let n=e.length;if(n!==t.length)return!1;for(let r=0;r<n;r++)if(Math.round(e[r])!==Math.round(t[r]))return!1;return!0}var $=class extends Y{constructor(){super(...arguments),this.uid=_r()}prepareHits(){}queryHit(e,t,n,r){return null}isValidSegDownEl(e){return!this.props.eventDrag&&!this.props.eventResize&&!z(e,`.fc-event-mirror`)}isValidDateDownEl(e){return!z(e,`.fc-event:not(.fc-bg-event)`)&&!z(e,`.fc-more-link`)&&!z(e,`a[data-navlink]`)&&!z(e,`.fc-popover`)}},Hs=class{constructor(e=e=>e.thickness||1){this.getEntryThickness=e,this.strictOrder=!1,this.allowReslicing=!1,this.maxCoord=-1,this.maxStackCnt=-1,this.levelCoords=[],this.entriesByLevel=[],this.stackCnts={}}addSegs(e){let t=[];for(let n of e)this.insertEntry(n,t);return t}insertEntry(e,t){let n=this.findInsertion(e);this.isInsertionValid(n,e)?this.insertEntryAt(e,n):this.handleInvalidInsertion(n,e,t)}isInsertionValid(e,t){return(this.maxCoord===-1||e.levelCoord+this.getEntryThickness(t)<=this.maxCoord)&&(this.maxStackCnt===-1||e.stackCnt<this.maxStackCnt)}handleInvalidInsertion(e,t,n){if(this.allowReslicing&&e.touchingEntry){let r=Object.assign(Object.assign({},t),{span:qs(t.span,e.touchingEntry.span)});n.push(r),this.splitEntry(t,e.touchingEntry,n)}else n.push(t)}splitEntry(e,t,n){let r=e.span,i=t.span;r.start<i.start&&this.insertEntry({index:e.index,thickness:e.thickness,span:{start:r.start,end:i.start}},n),r.end>i.end&&this.insertEntry({index:e.index,thickness:e.thickness,span:{start:i.end,end:r.end}},n)}insertEntryAt(e,t){let{entriesByLevel:n,levelCoords:r}=this;t.lateral===-1?(Js(r,t.level,t.levelCoord),Js(n,t.level,[e])):Js(n[t.level],t.lateral,e),this.stackCnts[Ws(e)]=t.stackCnt}findInsertion(e){let{levelCoords:t,entriesByLevel:n,strictOrder:r,stackCnts:i}=this,a=t.length,o=0,s=-1,c=-1,l=null,u=0;for(let d=0;d<a;d+=1){let a=t[d];if(!r&&a>=o+this.getEntryThickness(e))break;let f=n[d],p,m=Ys(f,e.span.start,Us),h=m[0]+m[1];for(;(p=f[h])&&p.span.start<e.span.end;){let e=a+this.getEntryThickness(p);e>o&&(o=e,l=p,s=d,c=h),e===o&&(u=Math.max(u,i[Ws(p)]+1)),h+=1}}let d=0;if(l)for(d=s+1;d<a&&t[d]<o;)d+=1;let f=-1;return d<a&&t[d]===o&&(f=Ys(n[d],e.span.end,Us)[0]),{touchingLevel:s,touchingLateral:c,touchingEntry:l,stackCnt:u,levelCoord:o,level:d,lateral:f}}toRects(){let{entriesByLevel:e,levelCoords:t}=this,n=e.length,r=[];for(let i=0;i<n;i+=1){let n=e[i],a=t[i];for(let e of n)r.push(Object.assign(Object.assign({},e),{thickness:this.getEntryThickness(e),levelCoord:a}))}return r}};function Us(e){return e.span.end}function Ws(e){return e.index+`:`+e.span.start}function Gs(e){let t=[];for(let n of e){let e=[],r={span:n.span,entries:[n]};for(let n of t)qs(n.span,r.span)?r={entries:n.entries.concat(r.entries),span:Ks(n.span,r.span)}:e.push(n);e.push(r),t=e}return t}function Ks(e,t){return{start:Math.min(e.start,t.start),end:Math.max(e.end,t.end)}}function qs(e,t){let n=Math.max(e.start,t.start),r=Math.min(e.end,t.end);return n<r?{start:n,end:r}:null}function Js(e,t,n){e.splice(t,0,n)}function Ys(e,t,n){let r=0,i=e.length;if(!i||t<n(e[r]))return[0,0];if(t>n(e[i-1]))return[i,0];for(;r<i;){let a=Math.floor(r+(i-r)/2),o=n(e[a]);if(t<o)i=a;else if(t>o)r=a+1;else return[a,1]}return[r,0]}function Xs(e,t){return K(!e||t>10?{weekday:`short`}:t>1?{weekday:`short`,month:`numeric`,day:`numeric`,omitCommas:!0}:{weekday:`long`})}var Zs=`fc-col-header-cell`;function Qs(e){return e.text}var $s=class extends Y{render(){let{dateEnv:e,options:t,theme:n,viewApi:r}=this.context,{props:i}=this,{date:a,dateProfile:o}=i,s=ks(a,i.todayRange,null,o),c=[Zs].concat(As(s,n)),l=e.format(a,i.dayHeaderFormat),u=!s.isDisabled&&i.colCnt>1?Ns(this.context,a):{},d=e.toDate(a);e.namedTimeZoneImpl&&(d=Hr(d,36e5));let f=Object.assign(Object.assign(Object.assign({date:d,view:r},i.extraRenderProps),{text:l}),s);return P(Z,{elTag:`th`,elClasses:c,elAttrs:Object.assign({role:`columnheader`,colSpan:i.colSpan,"data-date":s.isDisabled?void 0:li(a)},i.extraDataAttrs),renderProps:f,generatorName:`dayHeaderContent`,customGenerator:t.dayHeaderContent,defaultGenerator:Qs,classNameGenerator:t.dayHeaderClassNames,didMount:t.dayHeaderDidMount,willUnmount:t.dayHeaderWillUnmount},e=>P(`div`,{className:`fc-scrollgrid-sync-inner`},!s.isDisabled&&P(e,{elTag:`a`,elAttrs:u,elClasses:[`fc-col-header-cell-cushion`,i.isSticky&&`fc-sticky`]})))}},ec=K({weekday:`long`}),tc=class extends Y{render(){let{props:e}=this,{dateEnv:t,theme:n,viewApi:r,options:i}=this.context,a=H(new Date(2592e5),e.dow),o={dow:e.dow,isDisabled:!1,isFuture:!1,isPast:!1,isToday:!1,isOther:!1},s=t.format(a,e.dayHeaderFormat),c=Object.assign(Object.assign(Object.assign(Object.assign({date:a},o),{view:r}),e.extraRenderProps),{text:s});return P(Z,{elTag:`th`,elClasses:[Zs,...As(o,n),...e.extraClassNames||[]],elAttrs:Object.assign({role:`columnheader`,colSpan:e.colSpan},e.extraDataAttrs),renderProps:c,generatorName:`dayHeaderContent`,customGenerator:i.dayHeaderContent,defaultGenerator:Qs,classNameGenerator:i.dayHeaderClassNames,didMount:i.dayHeaderDidMount,willUnmount:i.dayHeaderWillUnmount},n=>P(`div`,{className:`fc-scrollgrid-sync-inner`},P(n,{elTag:`a`,elClasses:[`fc-col-header-cell-cushion`,e.isSticky&&`fc-sticky`],elAttrs:{"aria-label":t.format(a,ec)}})))}},nc=class extends Y{constructor(){super(...arguments),this.createDayHeaderFormatter=G(rc)}render(){let{context:e}=this,{dates:t,dateProfile:n,datesRepDistinctDays:r,renderIntro:i}=this.props,a=this.createDayHeaderFormatter(e.options.dayHeaderFormat,r,t.length);return P(Ss,{unit:`day`},(e,o)=>P(`tr`,{role:`row`},i&&i(`day`),t.map(e=>r?P($s,{key:e.toISOString(),date:e,dateProfile:n,todayRange:o,colCnt:t.length,dayHeaderFormat:a}):P(tc,{key:e.getUTCDay(),dow:e.getUTCDay(),dayHeaderFormat:a}))))}};function rc(e,t,n){return e||Xs(t,n)}var ic=class{constructor(e,t){let n=e.start,{end:r}=e,i=[],a=[],o=-1;for(;n<r;)t.isHiddenDay(n)?i.push(o+.5):(o+=1,i.push(o),a.push(n)),n=H(n,1);this.dates=a,this.indices=i,this.cnt=a.length}sliceRange(e){let t=this.getDateDayIndex(e.start),n=this.getDateDayIndex(H(e.end,-1)),r=Math.max(0,t),i=Math.min(this.cnt-1,n);return r=Math.ceil(r),i=Math.floor(i),r<=i?{firstIndex:r,lastIndex:i,isStart:t===r,isEnd:n===i}:null}getDateDayIndex(e){let{indices:t}=this,n=Math.floor(Wr(this.dates[0],e));return n<0?t[0]-1:n>=t.length?t[t.length-1]+1:t[n]}},ac=class{constructor(e,t){let{dates:n}=e,r,i,a;if(t){for(i=n[0].getUTCDay(),r=1;r<n.length&&n[r].getUTCDay()!==i;r+=1);a=Math.ceil(n.length/r)}else a=1,r=n.length;this.rowCnt=a,this.colCnt=r,this.daySeries=e,this.cells=this.buildCells(),this.headerDates=this.buildHeaderDates()}buildCells(){let e=[];for(let t=0;t<this.rowCnt;t+=1){let n=[];for(let e=0;e<this.colCnt;e+=1)n.push(this.buildCell(t,e));e.push(n)}return e}buildCell(e,t){let n=this.daySeries.dates[e*this.colCnt+t];return{key:n.toISOString(),date:n}}buildHeaderDates(){let e=[];for(let t=0;t<this.colCnt;t+=1)e.push(this.cells[0][t].date);return e}sliceRange(e){let{colCnt:t}=this,n=this.daySeries.sliceRange(e),r=[];if(n){let{firstIndex:e,lastIndex:i}=n,a=e;for(;a<=i;){let o=Math.floor(a/t),s=Math.min((o+1)*t,i+1);r.push({row:o,firstCol:a%t,lastCol:(s-1)%t,isStart:n.isStart&&a===e,isEnd:n.isEnd&&s-1===i}),a=s}}return r}},oc=class{constructor(){this.sliceBusinessHours=G(this._sliceBusinessHours),this.sliceDateSelection=G(this._sliceDateSpan),this.sliceEventStore=G(this._sliceEventStore),this.sliceEventDrag=G(this._sliceInteraction),this.sliceEventResize=G(this._sliceInteraction),this.forceDayIfListItem=!1}sliceProps(e,t,n,r,...i){let{eventUiBases:a}=e,o=this.sliceEventStore(e.eventStore,a,t,n,...i);return{dateSelectionSegs:this.sliceDateSelection(e.dateSelection,t,n,a,r,...i),businessHourSegs:this.sliceBusinessHours(e.businessHours,t,n,r,...i),fgEventSegs:o.fg,bgEventSegs:o.bg,eventDrag:this.sliceEventDrag(e.eventDrag,a,t,n,...i),eventResize:this.sliceEventResize(e.eventResize,a,t,n,...i),eventSelection:e.eventSelection}}sliceNowDate(e,t,n,r,...i){return this._sliceDateSpan({range:{start:e,end:Hr(e,1)},allDay:!1},t,n,{},r,...i)}_sliceBusinessHours(e,t,n,r,...i){return e?this._sliceEventStore(Va(e,sc(t,!!n),r),{},t,n,...i).bg:[]}_sliceEventStore(e,t,n,r,...i){if(e){let a=Uo(e,t,sc(n,!!r),r);return{bg:this.sliceEventRanges(a.bg,i),fg:this.sliceEventRanges(a.fg,i)}}return{bg:[],fg:[]}}_sliceInteraction(e,t,n,r,...i){if(!e)return null;let a=Uo(e.mutatedEvents,t,sc(n,!!r),r);return{segs:this.sliceEventRanges(a.fg,i),affectedInstances:e.affectedEvents.instances,isEvent:e.isEvent}}_sliceDateSpan(e,t,n,r,i,...a){if(!e)return[];let o=sc(t,!!n),s=ja(e.range,o);if(s){e=Object.assign(Object.assign({},e),{range:s});let t=ds(e,r,i),n=this.sliceRange(e.range,...a);for(let e of n)e.eventRange=t;return n}return[]}sliceEventRanges(e,t){let n=[];for(let r of e)n.push(...this.sliceEventRange(r,t));return n}sliceEventRange(e,t){let n=e.range;this.forceDayIfListItem&&e.ui.display===`list-item`&&(n={start:n.start,end:H(n.start,1)});let r=this.sliceRange(n,...t);for(let t of r)t.eventRange=e,t.isStart=e.isStart&&t.isStart,t.isEnd=e.isEnd&&t.isEnd;return r}};function sc(e,t){let n=e.activeRange;return t?n:{start:Hr(n.start,e.slotMinTime.milliseconds),end:Hr(n.end,e.slotMaxTime.milliseconds-864e5)}}var cc=/^(visible|hidden)$/,lc=class extends Y{constructor(){super(...arguments),this.handleEl=e=>{this.el=e,X(this.props.elRef,e)}}render(){let{props:e}=this,{liquid:t,liquidIsAbsolute:n}=e,r=t&&n,i=[`fc-scroller`];return t&&(n?i.push(`fc-scroller-liquid-absolute`):i.push(`fc-scroller-liquid`)),P(`div`,{ref:this.handleEl,className:i.join(` `),style:{overflowX:e.overflowX,overflowY:e.overflowY,left:r&&-(e.overcomeLeft||0)||``,right:r&&-(e.overcomeRight||0)||``,bottom:r&&-(e.overcomeBottom||0)||``,marginLeft:!r&&-(e.overcomeLeft||0)||``,marginRight:!r&&-(e.overcomeRight||0)||``,marginBottom:!r&&-(e.overcomeBottom||0)||``,maxHeight:e.maxHeight||``}},e.children)}needsXScrolling(){if(cc.test(this.props.overflowX))return!1;let{el:e}=this,t=this.el.getBoundingClientRect().width-this.getYScrollbarWidth(),{children:n}=e;for(let e=0;e<n.length;e+=1)if(n[e].getBoundingClientRect().width>t)return!0;return!1}needsYScrolling(){if(cc.test(this.props.overflowY))return!1;let{el:e}=this,t=this.el.getBoundingClientRect().height-this.getXScrollbarWidth(),{children:n}=e;for(let e=0;e<n.length;e+=1)if(n[e].getBoundingClientRect().height>t)return!0;return!1}getXScrollbarWidth(){return cc.test(this.props.overflowX)?0:this.el.offsetHeight-this.el.clientHeight}getYScrollbarWidth(){return cc.test(this.props.overflowY)?0:this.el.offsetWidth-this.el.clientWidth}},uc=class{constructor(e){this.masterCallback=e,this.currentMap={},this.depths={},this.callbackMap={},this.handleValue=(e,t)=>{let{depths:n,currentMap:r}=this,i=!1,a=!1;e===null?(--n[t],n[t]||(delete r[t],delete this.callbackMap[t],i=!0)):(i=t in r,r[t]=e,n[t]=(n[t]||0)+1,a=!0),this.masterCallback&&(i&&this.masterCallback(null,String(t)),a&&this.masterCallback(e,String(t)))}}createRef(e){let t=this.callbackMap[e];return t||=this.callbackMap[e]=t=>{this.handleValue(t,String(e))},t}collect(e,t,n){return na(this.currentMap,e,t,n)}getAll(){return Xi(this.currentMap)}};function dc(e){let t=ir(e,`.fc-scrollgrid-shrink`),n=0;for(let e of t)n=Math.max(n,Tr(e));return Math.ceil(n)}function fc(e,t){return e.liquid&&t.liquid}function pc(e,t){return t.maxHeight!=null||fc(e,t)}function mc(e,t,n,r){let{expandRows:i}=n;return typeof t.content==`function`?t.content(n):P(`table`,{role:`presentation`,className:[t.tableClassName,e.syncRowHeights?`fc-scrollgrid-sync-table`:``].join(` `),style:{minWidth:n.tableMinWidth,width:n.clientWidth,height:i?n.clientHeight:``}},n.tableColGroupNode,P(r?`thead`:`tbody`,{role:`presentation`},typeof t.rowContent==`function`?t.rowContent(n):t.rowContent))}function hc(e,t){return zr(e,t,J)}function gc(e,t){let n=[];for(let r of e){let e=r.span||1;for(let i=0;i<e;i+=1)n.push(P(`col`,{style:{width:r.width===`shrink`?_c(t):r.width||``,minWidth:r.minWidth||``}}))}return P(`colgroup`,{},...n)}function _c(e){return e??4}function vc(e){for(let t of e)if(t.width===`shrink`)return!0;return!1}function yc(e,t){let n=[`fc-scrollgrid`,t.theme.getClass(`table`)];return e&&n.push(`fc-scrollgrid-liquid`),n}function bc(e,t){let n=[`fc-scrollgrid-section`,`fc-scrollgrid-section-${e.type}`,e.className];return t&&e.liquid&&e.maxHeight==null&&n.push(`fc-scrollgrid-section-liquid`),e.isSticky&&n.push(`fc-scrollgrid-section-sticky`),n}function xc(e){return P(`div`,{className:`fc-scrollgrid-sticky-shim`,style:{width:e.clientWidth,minWidth:e.tableMinWidth}})}function Sc(e){let{stickyHeaderDates:t}=e;return(t==null||t===`auto`)&&(t=e.height===`auto`||e.viewHeight===`auto`),t}function Cc(e){let{stickyFooterScrollbar:t}=e;return(t==null||t===`auto`)&&(t=e.height===`auto`||e.viewHeight===`auto`),t}var wc=class extends Y{constructor(){super(...arguments),this.processCols=G(e=>e,hc),this.renderMicroColGroup=G(gc),this.scrollerRefs=new uc,this.scrollerElRefs=new uc(this._handleScrollerEl.bind(this)),this.state={shrinkWidth:null,forceYScrollbars:!1,scrollerClientWidths:{},scrollerClientHeights:{}},this.handleSizing=()=>{this.safeSetState(Object.assign({shrinkWidth:this.computeShrinkWidth()},this.computeScrollerDims()))}}render(){let{props:e,state:t,context:n}=this,r=e.sections||[],i=this.processCols(e.cols),a=this.renderMicroColGroup(i,t.shrinkWidth),o=yc(e.liquid,n);e.collapsibleWidth&&o.push(`fc-scrollgrid-collapsible`);let s=r.length,c=0,l,u=[],d=[],f=[];for(;c<s&&(l=r[c]).type===`header`;)u.push(this.renderSection(l,a,!0)),c+=1;for(;c<s&&(l=r[c]).type===`body`;)d.push(this.renderSection(l,a,!1)),c+=1;for(;c<s&&(l=r[c]).type===`footer`;)f.push(this.renderSection(l,a,!0)),c+=1;let p=!gs(),m={role:`rowgroup`};return P(`table`,{role:`grid`,className:o.join(` `),style:{height:e.height}},!!(!p&&u.length)&&P(`thead`,m,...u),!!(!p&&d.length)&&P(`tbody`,m,...d),!!(!p&&f.length)&&P(`tfoot`,m,...f),p&&P(`tbody`,m,...u,...d,...f))}renderSection(e,t,n){return`outerContent`in e?P(I,{key:e.key},e.outerContent):P(`tr`,{key:e.key,role:`presentation`,className:bc(e,this.props.liquid).join(` `)},this.renderChunkTd(e,t,e.chunk,n))}renderChunkTd(e,t,n,r){if(`outerContent`in n)return n.outerContent;let{props:i}=this,{forceYScrollbars:a,scrollerClientWidths:o,scrollerClientHeights:s}=this.state,c=pc(i,e),l=fc(i,e),u=i.liquid?a?`scroll`:c?`auto`:`hidden`:`visible`,d=e.key,f=mc(e,n,{tableColGroupNode:t,tableMinWidth:``,clientWidth:!i.collapsibleWidth&&o[d]!==void 0?o[d]:null,clientHeight:s[d]===void 0?null:s[d],expandRows:e.expandRows,syncRowHeights:!1,rowSyncHeights:[],reportRowHeightChange:()=>{}},r);return P(r?`th`:`td`,{ref:n.elRef,role:`presentation`},P(`div`,{className:`fc-scroller-harness${l?` fc-scroller-harness-liquid`:``}`},P(lc,{ref:this.scrollerRefs.createRef(d),elRef:this.scrollerElRefs.createRef(d),overflowY:u,overflowX:i.liquid?`hidden`:`visible`,maxHeight:e.maxHeight,liquid:l,liquidIsAbsolute:!0},f)))}_handleScrollerEl(e,t){let n=Tc(this.props.sections,t);n&&X(n.chunk.scrollerElRef,e)}componentDidMount(){this.handleSizing(),this.context.addResizeHandler(this.handleSizing)}componentDidUpdate(){this.handleSizing()}componentWillUnmount(){this.context.removeResizeHandler(this.handleSizing)}computeShrinkWidth(){return vc(this.props.cols)?dc(this.scrollerElRefs.getAll()):0}computeScrollerDims(){let e=Fs(),{scrollerRefs:t,scrollerElRefs:n}=this,r=!1,i={},a={};for(let e in t.currentMap){let n=t.currentMap[e];if(n&&n.needsYScrolling()){r=!0;break}}for(let t of this.props.sections){let o=t.key,s=n.currentMap[o];if(s){let t=s.parentNode;i[o]=Math.floor(t.getBoundingClientRect().width-(r?e.y:0)),a[o]=Math.floor(t.getBoundingClientRect().height)}}return{forceYScrollbars:r,scrollerClientWidths:i,scrollerClientHeights:a}}};wc.addStateEquality({scrollerClientWidths:J,scrollerClientHeights:J});function Tc(e,t){for(let n of e)if(n.key===t)return n;return null}var Ec=class extends Y{constructor(){super(...arguments),this.buildPublicEvent=G((e,t,n)=>new Q(e,t,n)),this.handleEl=e=>{this.el=e,X(this.props.elRef,e),e&&Go(e,this.props.seg)}}render(){let{props:e,context:t}=this,{options:n}=t,{seg:r}=e,{eventRange:i}=r,{ui:a}=i,o={event:this.buildPublicEvent(t,i.def,i.instance),view:t.viewApi,timeText:e.timeText,textColor:a.textColor,backgroundColor:a.backgroundColor,borderColor:a.borderColor,isDraggable:!e.disableDragging&&Zo(r,t),isStartResizable:!e.disableResizing&&Qo(r,t),isEndResizable:!e.disableResizing&&$o(r),isMirror:!!(e.isDragging||e.isResizing||e.isDateSelecting),isStart:!!r.isStart,isEnd:!!r.isEnd,isPast:!!e.isPast,isFuture:!!e.isFuture,isToday:!!e.isToday,isSelected:!!e.isSelected,isDragging:!!e.isDragging,isResizing:!!e.isResizing};return P(Z,{elRef:this.handleEl,elTag:e.elTag,elAttrs:e.elAttrs,elClasses:[...ns(o),...r.eventRange.ui.classNames,...e.elClasses||[]],elStyle:e.elStyle,renderProps:o,generatorName:`eventContent`,customGenerator:n.eventContent,defaultGenerator:e.defaultGenerator,classNameGenerator:n.eventClassNames,didMount:n.eventDidMount,willUnmount:n.eventWillUnmount},e.children)}componentDidUpdate(e){this.el&&this.props.seg!==e.seg&&Go(this.el,this.props.seg)}},Dc=class extends Y{render(){let{props:e,context:t}=this,{options:n}=t,{seg:r}=e,{ui:i}=r.eventRange,a=es(r,n.eventTimeFormat||e.defaultTimeFormat,t,e.defaultDisplayEventTime,e.defaultDisplayEventEnd);return P(Ec,Object.assign({},e,{elTag:`a`,elStyle:{borderColor:i.borderColor,backgroundColor:i.backgroundColor},elAttrs:is(r,t),defaultGenerator:Oc,timeText:a}),(e,t)=>P(I,null,P(e,{elTag:`div`,elClasses:[`fc-event-main`],elStyle:{color:t.textColor}}),!!t.isStartResizable&&P(`div`,{className:`fc-event-resizer fc-event-resizer-start`}),!!t.isEndResizable&&P(`div`,{className:`fc-event-resizer fc-event-resizer-end`})))}};Dc.addPropsEquality({seg:J});function Oc(e){return P(`div`,{className:`fc-event-main-frame`},e.timeText&&P(`div`,{className:`fc-event-time`},e.timeText),P(`div`,{className:`fc-event-title-container`},P(`div`,{className:`fc-event-title fc-sticky`},e.event.title||P(I,null,`\xA0`))))}var kc=e=>P(ma.Consumer,null,t=>{let{options:n}=t,r={isAxis:e.isAxis,date:t.dateEnv.toDate(e.date),view:t.viewApi};return P(Z,{elRef:e.elRef,elTag:e.elTag||`div`,elAttrs:e.elAttrs,elClasses:e.elClasses,elStyle:e.elStyle,renderProps:r,generatorName:`nowIndicatorContent`,customGenerator:n.nowIndicatorContent,classNameGenerator:n.nowIndicatorClassNames,didMount:n.nowIndicatorDidMount,willUnmount:n.nowIndicatorWillUnmount},e.children)}),Ac=K({day:`numeric`}),jc=class extends Y{constructor(){super(...arguments),this.refineRenderProps=pi(Nc)}render(){let{props:e,context:t}=this,{options:n}=t,r=this.refineRenderProps({date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,isMonthStart:e.isMonthStart||!1,showDayNumber:e.showDayNumber,extraRenderProps:e.extraRenderProps,viewApi:t.viewApi,dateEnv:t.dateEnv,monthStartFormat:n.monthStartFormat});return P(Z,{elRef:e.elRef,elTag:e.elTag,elAttrs:Object.assign(Object.assign({},e.elAttrs),r.isDisabled?{}:{"data-date":li(e.date)}),elClasses:[...As(r,t.theme),...e.elClasses||[]],elStyle:e.elStyle,renderProps:r,generatorName:`dayCellContent`,customGenerator:n.dayCellContent,defaultGenerator:e.defaultGenerator,classNameGenerator:r.isDisabled?void 0:n.dayCellClassNames,didMount:n.dayCellDidMount,willUnmount:n.dayCellWillUnmount},e.children)}};function Mc(e){return!!(e.dayCellContent||ba(`dayCellContent`,e))}function Nc(e){let{date:t,dateEnv:n,dateProfile:r,isMonthStart:i}=e,a=ks(t,e.todayRange,null,r),o=e.showDayNumber?n.format(t,i?e.monthStartFormat:Ac):``;return Object.assign(Object.assign(Object.assign({date:n.toDate(t),view:e.viewApi},a),{isMonthStart:i,dayNumberText:o}),e.extraRenderProps)}var Pc=class extends Y{render(){let{props:e}=this,{seg:t}=e;return P(Ec,{elTag:`div`,elClasses:[`fc-bg-event`],elStyle:{backgroundColor:t.eventRange.ui.backgroundColor},defaultGenerator:Fc,seg:t,timeText:``,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:!1,isPast:e.isPast,isFuture:e.isFuture,isToday:e.isToday,disableDragging:!0,disableResizing:!0})}};function Fc(e){let{title:t}=e.event;return t&&P(`div`,{className:`fc-event-title`},e.event.title)}function Ic(e){return P(`div`,{className:`fc-${e}`})}var Lc=e=>P(ma.Consumer,null,t=>{let{dateEnv:n,options:r}=t,{date:i}=e,a=r.weekNumberFormat||e.defaultFormat,o={num:n.computeWeekNumber(i),text:n.format(i,a),date:i};return P(Z,{elRef:e.elRef,elTag:e.elTag,elAttrs:e.elAttrs,elClasses:e.elClasses,elStyle:e.elStyle,renderProps:o,generatorName:`weekNumberContent`,customGenerator:r.weekNumberContent,defaultGenerator:Rc,classNameGenerator:r.weekNumberClassNames,didMount:r.weekNumberDidMount,willUnmount:r.weekNumberWillUnmount},e.children)});function Rc(e){return e.text}var zc=10,Bc=class extends Y{constructor(){super(...arguments),this.state={titleId:ur()},this.handleRootEl=e=>{this.rootEl=e,this.props.elRef&&X(this.props.elRef,e)},this.handleDocumentMouseDown=e=>{let t=cr(e);this.rootEl.contains(t)||this.handleCloseClick()},this.handleDocumentKeyDown=e=>{e.key===`Escape`&&this.handleCloseClick()},this.handleCloseClick=()=>{let{onClose:e}=this.props;e&&e()}}render(){let{theme:e,options:t}=this.context,{props:n,state:r}=this,i=[`fc-popover`,e.getClass(`popover`)].concat(n.extraClassNames||[]);return Nn(P(`div`,Object.assign({},n.extraAttrs,{id:n.id,className:i.join(` `),"aria-labelledby":r.titleId,ref:this.handleRootEl}),P(`div`,{className:`fc-popover-header `+e.getClass(`popoverHeader`)},P(`span`,{className:`fc-popover-title`,id:r.titleId},n.title),P(`span`,{className:`fc-popover-close `+e.getIconClass(`close`),title:t.closeHint,onClick:this.handleCloseClick})),P(`div`,{className:`fc-popover-body `+e.getClass(`popoverContent`)},n.children)),n.parentEl)}componentDidMount(){document.addEventListener(`mousedown`,this.handleDocumentMouseDown),document.addEventListener(`keydown`,this.handleDocumentKeyDown),this.updateSize()}componentWillUnmount(){document.removeEventListener(`mousedown`,this.handleDocumentMouseDown),document.removeEventListener(`keydown`,this.handleDocumentKeyDown)}updateSize(){let{isRtl:e}=this.context,{alignmentEl:t,alignGridTop:n}=this.props,{rootEl:r}=this,i=Rs(t);if(i){let a=r.getBoundingClientRect(),o=n?z(t,`.fc-scrollgrid`).getBoundingClientRect().top:i.top,s=e?i.right-a.width:i.left;o=Math.max(o,zc),s=Math.min(s,document.documentElement.clientWidth-zc-a.width),s=Math.max(s,zc);let c=r.offsetParent.getBoundingClientRect();or(r,{top:o-c.top,left:s-c.left})}}},Vc=class extends ${constructor(){super(...arguments),this.handleRootEl=e=>{this.rootEl=e,e?this.context.registerInteractiveComponent(this,{el:e,useEventCenter:!1}):this.context.unregisterInteractiveComponent(this)}}render(){let{options:e,dateEnv:t}=this.context,{props:n}=this,{startDate:r,todayRange:i,dateProfile:a}=n,o=t.format(r,e.dayPopoverFormat);return P(jc,{elRef:this.handleRootEl,date:r,dateProfile:a,todayRange:i},(t,r,i)=>P(Bc,{elRef:i.ref,id:n.id,title:o,extraClassNames:[`fc-more-popover`].concat(i.className||[]),extraAttrs:i,parentEl:n.parentEl,alignmentEl:n.alignmentEl,alignGridTop:n.alignGridTop,onClose:n.onClose},Mc(e)&&P(t,{elTag:`div`,elClasses:[`fc-more-popover-misc`]}),n.children))}queryHit(e,t,n,r){let{rootEl:i,props:a}=this;return e>=0&&e<n&&t>=0&&t<r?{dateProfile:a.dateProfile,dateSpan:Object.assign({allDay:!a.forceTimed,range:{start:a.startDate,end:a.endDate}},a.extraDateSpan),dayEl:i,rect:{left:0,top:0,right:n,bottom:r},layer:1}:null}},Hc=class extends Y{constructor(){super(...arguments),this.state={isPopoverOpen:!1,popoverId:ur()},this.handleLinkEl=e=>{this.linkEl=e,this.props.elRef&&X(this.props.elRef,e)},this.handleClick=e=>{let{props:t,context:n}=this,{moreLinkClick:r}=n.options,i=Wc(t).start;function a(e){let{def:t,instance:r,range:i}=e.eventRange;return{event:new Q(n,t,r),start:n.dateEnv.toDate(i.start),end:n.dateEnv.toDate(i.end),isStart:e.isStart,isEnd:e.isEnd}}typeof r==`function`&&(r=r({date:i,allDay:!!t.allDayDate,allSegs:t.allSegs.map(a),hiddenSegs:t.hiddenSegs.map(a),jsEvent:e,view:n.viewApi})),!r||r===`popover`?this.setState({isPopoverOpen:!0}):typeof r==`string`&&n.calendarApi.zoomTo(i,r)},this.handlePopoverClose=()=>{this.setState({isPopoverOpen:!1})}}render(){let{props:e,state:t}=this;return P(ma.Consumer,null,n=>{let{viewApi:r,options:i,calendarApi:a}=n,{moreLinkText:o}=i,{moreCnt:s}=e,c=Wc(e),l=typeof o==`function`?o.call(a,s):`+${s} ${o}`,u=Cr(i.moreLinkHint,[s],l),d={num:s,shortText:`+${s}`,text:l,view:r};return P(I,null,!!e.moreCnt&&P(Z,{elTag:e.elTag||`a`,elRef:this.handleLinkEl,elClasses:[...e.elClasses||[],`fc-more-link`],elStyle:e.elStyle,elAttrs:Object.assign(Object.assign(Object.assign({},e.elAttrs),mr(this.handleClick)),{title:u,"aria-expanded":t.isPopoverOpen,"aria-controls":t.isPopoverOpen?t.popoverId:``}),renderProps:d,generatorName:`moreLinkContent`,customGenerator:i.moreLinkContent,defaultGenerator:e.defaultGenerator||Uc,classNameGenerator:i.moreLinkClassNames,didMount:i.moreLinkDidMount,willUnmount:i.moreLinkWillUnmount},e.children),t.isPopoverOpen&&P(Vc,{id:t.popoverId,startDate:c.start,endDate:c.end,dateProfile:e.dateProfile,todayRange:e.todayRange,extraDateSpan:e.extraDateSpan,parentEl:this.parentEl,alignmentEl:e.alignmentElRef?e.alignmentElRef.current:this.linkEl,alignGridTop:e.alignGridTop,forceTimed:e.forceTimed,onClose:this.handlePopoverClose},e.popoverContent()))})}componentDidMount(){this.updateParentEl()}componentDidUpdate(){this.updateParentEl()}updateParentEl(){this.linkEl&&(this.parentEl=z(this.linkEl,`.fc-view-harness`))}};function Uc(e){return e.text}function Wc(e){if(e.allDayDate)return{start:e.allDayDate,end:H(e.allDayDate,1)};let{hiddenSegs:t}=e;return{start:Gc(t),end:qc(t)}}function Gc(e){return e.reduce(Kc).eventRange.range.start}function Kc(e,t){return e.eventRange.range.start<t.eventRange.range.start?e:t}function qc(e){return e.reduce(Jc).eventRange.range.end}function Jc(e,t){return e.eventRange.range.end>t.eventRange.range.end?e:t}var Yc=class{constructor(){this.handlers=[]}set(e){this.currentValue=e;for(let t of this.handlers)t(e)}subscribe(e){this.handlers.push(e),this.currentValue!==void 0&&e(this.currentValue)}},Xc=class extends Yc{constructor(){super(...arguments),this.map=new Map}handle(e){let{map:t}=this,n=!1;e.isActive?(t.set(e.id,e),n=!0):t.has(e.id)&&(t.delete(e.id),n=!0),n&&this.set(t)}},Zc=[],Qc={code:`en`,week:{dow:0,doy:4},direction:`ltr`,buttonText:{prev:`prev`,next:`next`,prevYear:`prev year`,nextYear:`next year`,year:`year`,today:`today`,month:`month`,week:`week`,day:`day`,list:`list`},weekText:`W`,weekTextLong:`Week`,closeHint:`Close`,timeHint:`Time`,eventHint:`Event`,allDayText:`all-day`,moreLinkText:`more`,noEventsText:`No events to display`},$c=Object.assign(Object.assign({},Qc),{buttonHints:{prev:`Previous $0`,next:`Next $0`,today(e,t){return t===`day`?`Today`:`This ${e}`}},viewHint:`$0 view`,navLinkHint:`Go to $0`,moreLinkHint(e){return`Show ${e} more event${e===1?``:`s`}`}});function el(e){let t=e.length>0?e[0].code:`en`,n=Zc.concat(e),r={en:$c};for(let e of n)r[e.code]=e;return{map:r,defaultCode:t}}function tl(e,t){return typeof e==`object`&&!Array.isArray(e)?il(e.code,[e.code],e):nl(e,t)}function nl(e,t){let n=[].concat(e||[]);return il(e,n,rl(n,t)||$c)}function rl(e,t){for(let n=0;n<e.length;n+=1){let r=e[n].toLocaleLowerCase().split(`-`);for(let e=r.length;e>0;--e){let n=r.slice(0,e).join(`-`);if(t[n])return t[n]}}return null}function il(e,t,n){let r=Ki([Qc,n],[`buttonText`]);delete r.code;let{week:i}=r;return delete r.week,{codeArg:e,codes:t,week:i,simpleNumberFormat:new Intl.NumberFormat(e),options:r}}function al(e){return{id:_r(),name:e.name,premiumReleaseDate:e.premiumReleaseDate?new Date(e.premiumReleaseDate):void 0,deps:e.deps||[],reducers:e.reducers||[],isLoadingFuncs:e.isLoadingFuncs||[],contextInit:[].concat(e.contextInit||[]),eventRefiners:e.eventRefiners||{},eventDefMemberAdders:e.eventDefMemberAdders||[],eventSourceRefiners:e.eventSourceRefiners||{},isDraggableTransformers:e.isDraggableTransformers||[],eventDragMutationMassagers:e.eventDragMutationMassagers||[],eventDefMutationAppliers:e.eventDefMutationAppliers||[],dateSelectionTransformers:e.dateSelectionTransformers||[],datePointTransforms:e.datePointTransforms||[],dateSpanTransforms:e.dateSpanTransforms||[],views:e.views||{},viewPropsTransformers:e.viewPropsTransformers||[],isPropsValid:e.isPropsValid||null,externalDefTransforms:e.externalDefTransforms||[],viewContainerAppends:e.viewContainerAppends||[],eventDropTransformers:e.eventDropTransformers||[],componentInteractions:e.componentInteractions||[],calendarInteractions:e.calendarInteractions||[],themeClasses:e.themeClasses||{},eventSourceDefs:e.eventSourceDefs||[],cmdFormatter:e.cmdFormatter,recurringTypes:e.recurringTypes||[],namedTimeZonedImpl:e.namedTimeZonedImpl,initialView:e.initialView||``,elementDraggingImpl:e.elementDraggingImpl,optionChangeHandlers:e.optionChangeHandlers||{},scrollGridImpl:e.scrollGridImpl||null,listenerRefiners:e.listenerRefiners||{},optionRefiners:e.optionRefiners||{},propSetHandlers:e.propSetHandlers||{}}}function ol(e,t){let n={},r={premiumReleaseDate:void 0,reducers:[],isLoadingFuncs:[],contextInit:[],eventRefiners:{},eventDefMemberAdders:[],eventSourceRefiners:{},isDraggableTransformers:[],eventDragMutationMassagers:[],eventDefMutationAppliers:[],dateSelectionTransformers:[],datePointTransforms:[],dateSpanTransforms:[],views:{},viewPropsTransformers:[],isPropsValid:null,externalDefTransforms:[],viewContainerAppends:[],eventDropTransformers:[],componentInteractions:[],calendarInteractions:[],themeClasses:{},eventSourceDefs:[],cmdFormatter:null,recurringTypes:[],namedTimeZonedImpl:null,initialView:``,elementDraggingImpl:null,optionChangeHandlers:{},scrollGridImpl:null,listenerRefiners:{},optionRefiners:{},propSetHandlers:{}};function i(e){for(let t of e){let e=t.name,a=n[e];a===void 0?(n[e]=t.id,i(t.deps),r=cl(r,t)):a!==t.id&&console.warn(`Duplicate plugin '${e}'`)}}return e&&i(e),i(t),r}function sl(){let e=[],t=[],n;return(r,i)=>((!n||!zr(r,e)||!zr(i,t))&&(n=ol(r,i)),e=r,t=i,n)}function cl(e,t){return{premiumReleaseDate:ll(e.premiumReleaseDate,t.premiumReleaseDate),reducers:e.reducers.concat(t.reducers),isLoadingFuncs:e.isLoadingFuncs.concat(t.isLoadingFuncs),contextInit:e.contextInit.concat(t.contextInit),eventRefiners:Object.assign(Object.assign({},e.eventRefiners),t.eventRefiners),eventDefMemberAdders:e.eventDefMemberAdders.concat(t.eventDefMemberAdders),eventSourceRefiners:Object.assign(Object.assign({},e.eventSourceRefiners),t.eventSourceRefiners),isDraggableTransformers:e.isDraggableTransformers.concat(t.isDraggableTransformers),eventDragMutationMassagers:e.eventDragMutationMassagers.concat(t.eventDragMutationMassagers),eventDefMutationAppliers:e.eventDefMutationAppliers.concat(t.eventDefMutationAppliers),dateSelectionTransformers:e.dateSelectionTransformers.concat(t.dateSelectionTransformers),datePointTransforms:e.datePointTransforms.concat(t.datePointTransforms),dateSpanTransforms:e.dateSpanTransforms.concat(t.dateSpanTransforms),views:Object.assign(Object.assign({},e.views),t.views),viewPropsTransformers:e.viewPropsTransformers.concat(t.viewPropsTransformers),isPropsValid:t.isPropsValid||e.isPropsValid,externalDefTransforms:e.externalDefTransforms.concat(t.externalDefTransforms),viewContainerAppends:e.viewContainerAppends.concat(t.viewContainerAppends),eventDropTransformers:e.eventDropTransformers.concat(t.eventDropTransformers),calendarInteractions:e.calendarInteractions.concat(t.calendarInteractions),componentInteractions:e.componentInteractions.concat(t.componentInteractions),themeClasses:Object.assign(Object.assign({},e.themeClasses),t.themeClasses),eventSourceDefs:e.eventSourceDefs.concat(t.eventSourceDefs),cmdFormatter:t.cmdFormatter||e.cmdFormatter,recurringTypes:e.recurringTypes.concat(t.recurringTypes),namedTimeZonedImpl:t.namedTimeZonedImpl||e.namedTimeZonedImpl,initialView:e.initialView||t.initialView,elementDraggingImpl:e.elementDraggingImpl||t.elementDraggingImpl,optionChangeHandlers:Object.assign(Object.assign({},e.optionChangeHandlers),t.optionChangeHandlers),scrollGridImpl:t.scrollGridImpl||e.scrollGridImpl,listenerRefiners:Object.assign(Object.assign({},e.listenerRefiners),t.listenerRefiners),optionRefiners:Object.assign(Object.assign({},e.optionRefiners),t.optionRefiners),propSetHandlers:Object.assign(Object.assign({},e.propSetHandlers),t.propSetHandlers)}}function ll(e,t){return e===void 0?t:t===void 0?e:new Date(Math.max(e.valueOf(),t.valueOf()))}var ul=class extends la{};ul.prototype.classes={root:`fc-theme-standard`,tableCellShaded:`fc-cell-shaded`,buttonGroup:`fc-button-group`,button:`fc-button fc-button-primary`,buttonActive:`fc-button-active`},ul.prototype.baseIconClass=`fc-icon`,ul.prototype.iconClasses={close:`fc-icon-x`,prev:`fc-icon-chevron-left`,next:`fc-icon-chevron-right`,prevYear:`fc-icon-chevrons-left`,nextYear:`fc-icon-chevrons-right`},ul.prototype.rtlIconClasses={prev:`fc-icon-chevron-right`,next:`fc-icon-chevron-left`,prevYear:`fc-icon-chevrons-right`,nextYear:`fc-icon-chevrons-left`},ul.prototype.iconOverrideOption=`buttonIcons`,ul.prototype.iconOverrideCustomButtonOption=`icon`,ul.prototype.iconOverridePrefix=`fc-icon-`;function dl(e,t){let n={},r;for(r in e)fl(r,n,e,t);for(r in t)fl(r,n,e,t);return n}function fl(e,t,n,r){if(t[e])return t[e];let i=pl(e,t,n,r);return i&&(t[e]=i),i}function pl(e,t,n,r){let i=n[e],a=r[e],o=e=>i&&i[e]!==null?i[e]:a&&a[e]!==null?a[e]:null,s=o(`component`),c=o(`superType`),l=null;if(c){if(c===e)throw Error(`Can't have a custom view type that references itself`);l=fl(c,t,n,r)}return!s&&l&&(s=l.component),s?{type:e,component:s,defaults:Object.assign(Object.assign({},l?l.defaults:{}),i?i.rawOptions:{}),overrides:Object.assign(Object.assign({},l?l.overrides:{}),a?a.rawOptions:{})}:null}function ml(e){return Ji(e,hl)}function hl(e){let t=typeof e==`function`?{component:e}:e,{component:n}=t;return t.content?n=gl(t):n&&!(n.prototype instanceof Y)&&(n=gl(Object.assign(Object.assign({},t),{content:n}))),{superType:t.type,component:n,rawOptions:t}}function gl(e){return t=>P(ma.Consumer,null,n=>P(Z,{elTag:`div`,elClasses:Da(n.viewSpec),renderProps:Object.assign(Object.assign({},t),{nextDayThreshold:n.options.nextDayThreshold}),generatorName:void 0,customGenerator:e.content,classNameGenerator:e.classNames,didMount:e.didMount,willUnmount:e.willUnmount}))}function _l(e,t,n,r){let i=ml(e),a=ml(t.views);return Ji(dl(i,a),e=>vl(e,a,t,n,r))}function vl(e,t,n,r,i){let a=e.overrides.duration||e.defaults.duration||r.duration||n.duration,o=null,s=``,c=``,l={};if(a&&(o=bl(a),o)){let e=Rr(o);s=e.unit,e.value===1&&(c=s,l=t[s]?t[s].rawOptions:{})}let u=t=>{let n=t.buttonText||{},r=e.defaults.buttonTextKey;return r!=null&&n[r]!=null?n[r]:n[e.type]==null?n[c]==null?null:n[c]:n[e.type]},d=t=>{let n=t.buttonHints||{},r=e.defaults.buttonTextKey;return r!=null&&n[r]!=null?n[r]:n[e.type]==null?n[c]==null?null:n[c]:n[e.type]};return{type:e.type,component:e.component,duration:o,durationUnit:s,singleUnit:c,optionDefaults:e.defaults,optionOverrides:Object.assign(Object.assign({},l),e.overrides),buttonTextOverride:u(r)||u(n)||e.overrides.buttonText,buttonTextDefault:u(i)||e.defaults.buttonText||u(Ii)||e.type,buttonTitleOverride:d(r)||d(n)||e.overrides.buttonHint,buttonTitleDefault:d(i)||e.defaults.buttonHint||d(Ii)}}var yl={};function bl(e){let t=JSON.stringify(e),n=yl[t];return n===void 0&&(n=B(e),yl[t]=n),n}function xl(e,t){switch(t.type){case`CHANGE_VIEW_TYPE`:e=t.viewType}return e}function Sl(e,t){switch(t.type){case`CHANGE_DATE`:return t.dateMarker;default:return e}}function Cl(e,t,n){let r=e.initialDate;return r==null?n.getDateMarker():t.createMarker(r)}function wl(e,t){switch(t.type){case`SET_OPTION`:return Object.assign(Object.assign({},e),{[t.optionName]:t.rawOptionValue});default:return e}}function Tl(e,t,n,r){let i;switch(t.type){case`CHANGE_VIEW_TYPE`:return r.build(t.dateMarker||n);case`CHANGE_DATE`:return r.build(t.dateMarker);case`PREV`:if(i=r.buildPrev(e,n),i.isValid)return i;break;case`NEXT`:if(i=r.buildNext(e,n),i.isValid)return i;break}return e}function El(e,t,n){let r=t?t.activeRange:null;return Al({},Rl(e,n),r,n)}function Dl(e,t,n,r){let i=n?n.activeRange:null;switch(t.type){case`ADD_EVENT_SOURCES`:return Al(e,t.sources,i,r);case`REMOVE_EVENT_SOURCE`:return jl(e,t.sourceId);case`PREV`:case`NEXT`:case`CHANGE_DATE`:case`CHANGE_VIEW_TYPE`:return n?Ml(e,i,r):e;case`FETCH_EVENT_SOURCES`:return Pl(e,t.sourceIds?Yi(t.sourceIds):Ll(e,r),i,t.isRefetch||!1,r);case`RECEIVE_EVENTS`:case`RECEIVE_EVENT_ERROR`:return Il(e,t.sourceId,t.fetchId,t.fetchRange);case`REMOVE_ALL_EVENT_SOURCES`:return{};default:return e}}function Ol(e,t,n){let r=t?t.activeRange:null;return Pl(e,Ll(e,n),r,!0,n)}function kl(e){for(let t in e)if(e[t].isFetching)return!0;return!1}function Al(e,t,n,r){let i={};for(let e of t)i[e.sourceId]=e;return n&&(i=Ml(i,n,r)),Object.assign(Object.assign({},e),i)}function jl(e,t){return qi(e,e=>e.sourceId!==t)}function Ml(e,t,n){return Pl(e,qi(e,e=>Nl(e,t,n)),t,!1,n)}function Nl(e,t,n){return zl(e,n)?!n.options.lazyFetching||!e.fetchRange||e.isFetching||t.start<e.fetchRange.start||t.end>e.fetchRange.end:!e.latestFetchId}function Pl(e,t,n,r,i){let a={};for(let o in e){let s=e[o];t[o]?a[o]=Fl(s,n,r,i):a[o]=s}return a}function Fl(e,t,n,r){let{options:i,calendarApi:a}=r,o=r.pluginHooks.eventSourceDefs[e.sourceDefId],s=_r();return o.fetch({eventSource:e,range:t,isRefetch:n,context:r},n=>{let{rawEvents:o}=n;i.eventSourceSuccess&&(o=i.eventSourceSuccess.call(a,o,n.response)||o),e.success&&(o=e.success.call(a,o,n.response)||o),r.dispatch({type:`RECEIVE_EVENTS`,sourceId:e.sourceId,fetchId:s,fetchRange:t,rawEvents:o})},n=>{let o=!1;i.eventSourceFailure&&(i.eventSourceFailure.call(a,n),o=!0),e.failure&&(e.failure(n),o=!0),o||console.warn(n.message,n),r.dispatch({type:`RECEIVE_EVENT_ERROR`,sourceId:e.sourceId,fetchId:s,fetchRange:t,error:n})}),Object.assign(Object.assign({},e),{isFetching:!0,latestFetchId:s})}function Il(e,t,n,r){let i=e[t];return i&&n===i.latestFetchId?Object.assign(Object.assign({},e),{[t]:Object.assign(Object.assign({},i),{isFetching:!1,fetchRange:r})}):e}function Ll(e,t){return qi(e,e=>zl(e,t))}function Rl(e,t){let n=go(t),r=[].concat(e.eventSources||[]),i=[];e.initialEvents&&r.unshift(e.initialEvents),e.events&&r.unshift(e.events);for(let e of r){let r=ho(e,t,n);r&&i.push(r)}return i}function zl(e,t){return!t.pluginHooks.eventSourceDefs[e.sourceDefId].ignoreRange}function Bl(e,t){switch(t.type){case`UNSELECT_DATES`:return null;case`SELECT_DATES`:return t.selection;default:return e}}function Vl(e,t){switch(t.type){case`UNSELECT_EVENT`:return``;case`SELECT_EVENT`:return t.eventInstanceId;default:return e}}function Hl(e,t){let n;switch(t.type){case`UNSET_EVENT_DRAG`:return null;case`SET_EVENT_DRAG`:return n=t.state,{affectedEvents:n.affectedEvents,mutatedEvents:n.mutatedEvents,isEvent:n.isEvent};default:return e}}function Ul(e,t){let n;switch(t.type){case`UNSET_EVENT_RESIZE`:return null;case`SET_EVENT_RESIZE`:return n=t.state,{affectedEvents:n.affectedEvents,mutatedEvents:n.mutatedEvents,isEvent:n.isEvent};default:return e}}function Wl(e,t,n,r,i){return{header:e.headerToolbar?Gl(e.headerToolbar,e,t,n,r,i):null,footer:e.footerToolbar?Gl(e.footerToolbar,e,t,n,r,i):null}}function Gl(e,t,n,r,i,a){let o={},s=[],c=!1;for(let l in e){let u=e[l],d=Kl(u,t,n,r,i,a);o[l]=d.widgets,s.push(...d.viewsWithButtons),c||=d.hasTitle}return{sectionWidgets:o,viewsWithButtons:s,hasTitle:c}}function Kl(e,t,n,r,i,a){let o=t.direction===`rtl`,s=t.customButtons||{},c=n.buttonText||{},l=t.buttonText||{},u=n.buttonHints||{},d=t.buttonHints||{},f=e?e.split(` `):[],p=[],m=!1;return{widgets:f.map(e=>e.split(`,`).map(e=>{if(e===`title`)return m=!0,{buttonName:e};let n,f,h,g,_,v;if(n=s[e])h=e=>{n.click&&n.click.call(e.target,e,e.target)},(g=r.getCustomButtonIconClass(n))||(g=r.getIconClass(e,o))||(_=n.text),v=n.hint||n.text;else if(f=i[e]){p.push(e),h=()=>{a.changeView(e)},(_=f.buttonTextOverride)||(g=r.getIconClass(e,o))||(_=f.buttonTextDefault);let n=f.buttonTextOverride||f.buttonTextDefault;v=Cr(f.buttonTitleOverride||f.buttonTitleDefault||t.viewHint,[n,e],n)}else if(a[e])if(h=()=>{a[e]()},(_=c[e])||(g=r.getIconClass(e,o))||(_=l[e]),e===`prevYear`||e===`nextYear`){let t=e===`prevYear`?`prev`:`next`;v=Cr(u[t]||d[t],[l.year||`year`,`year`],l[e])}else v=t=>Cr(u[e]||d[e],[l[t]||t,t],l[e]);return{buttonName:e,buttonClick:h,buttonIcon:g,buttonText:_,buttonHint:v}})),viewsWithButtons:p,hasTitle:m}}var ql=class{constructor(e,t,n){this.type=e,this.getCurrentData=t,this.dateEnv=n}get calendar(){return this.getCurrentData().calendarApi}get title(){return this.getCurrentData().viewTitle}get activeStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.start)}get activeEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.end)}get currentStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.start)}get currentEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.end)}getOption(e){return this.getCurrentData().options[e]}},Jl=al({name:`array-event-source`,eventSourceDefs:[{ignoreRange:!0,parseMeta(e){return Array.isArray(e.events)?e.events:null},fetch(e,t){t({rawEvents:e.eventSource.meta})}}]}),Yl=al({name:`func-event-source`,eventSourceDefs:[{parseMeta(e){return typeof e.events==`function`?e.events:null},fetch(e,t,n){let{dateEnv:r}=e.context,i=e.eventSource.meta;fs(i.bind(null,ls(e.range,r)),e=>t({rawEvents:e}),n)}}]}),Xl=al({name:`json-event-source`,eventSourceRefiners:{method:String,extraParams:q,startParam:String,endParam:String,timeZoneParam:String},eventSourceDefs:[{parseMeta(e){return e.url&&(e.format===`json`||!e.format)?{url:e.url,format:`json`,method:(e.method||`GET`).toUpperCase(),extraParams:e.extraParams,startParam:e.startParam,endParam:e.endParam,timeZoneParam:e.timeZoneParam}:null},fetch(e,t,n){let{meta:r}=e.eventSource,i=Zl(r,e.range,e.context);ms(r.method,r.url,i).then(([e,n])=>{t({rawEvents:e,response:n})},n)}}]});function Zl(e,t,n){let{dateEnv:r,options:i}=n,a,o,s,c,l={};return a=e.startParam,a??=i.startParam,o=e.endParam,o??=i.endParam,s=e.timeZoneParam,s??=i.timeZoneParam,c=typeof e.extraParams==`function`?e.extraParams():e.extraParams||{},Object.assign(l,c),l[a]=r.formatIso(t.start),l[o]=r.formatIso(t.end),r.timeZone!==`local`&&(l[s]=r.timeZone),l}var Ql=al({name:`simple-recurring-event`,recurringTypes:[{parse(e,t){if(e.daysOfWeek||e.startTime||e.endTime||e.startRecur||e.endRecur){let n={daysOfWeek:e.daysOfWeek||null,startTime:e.startTime||null,endTime:e.endTime||null,startRecur:e.startRecur?t.createMarker(e.startRecur):null,endRecur:e.endRecur?t.createMarker(e.endRecur):null,dateEnv:t},r;return e.duration&&(r=e.duration),!r&&e.startTime&&e.endTime&&(r=Mr(e.endTime,e.startTime)),{allDayGuess:!e.startTime&&!e.endTime,duration:r,typeData:n}}return null},expand(e,t,n){let r=ja(t,{start:e.startRecur,end:e.endRecur});return r?$l(e.daysOfWeek,e.startTime,e.dateEnv,n,r):[]}}],eventRefiners:{daysOfWeek:q,startTime:B,endTime:B,duration:B,startRecur:q,endRecur:q}});function $l(e,t,n,r,i){let a=e?Yi(e):null,o=U(i.start),s=i.end,c=[];for(t&&(t.milliseconds<0?s=H(s,1):t.milliseconds>=1e3*60*60*24&&(o=H(o,-1)));o<s;){let e;(!a||a[o.getUTCDay()])&&(e=t?r.add(o,t):o,c.push(r.createMarker(n.toDate(e)))),o=H(o,1)}return c}var eu=al({name:`change-handler`,optionChangeHandlers:{events(e,t){tu([e],t)},eventSources:tu}});function tu(e,t){let n=Xi(t.getCurrentData().eventSources);if(n.length===1&&e.length===1&&Array.isArray(n[0]._raw)&&Array.isArray(e[0])){t.dispatch({type:`RESET_RAW_EVENTS`,sourceId:n[0].sourceId,rawEvents:e[0]});return}let r=[];for(let t of e){let e=!1;for(let r=0;r<n.length;r+=1)if(n[r]._raw===t){n.splice(r,1),e=!0;break}e||r.push(t)}for(let e of n)t.dispatch({type:`REMOVE_EVENT_SOURCE`,sourceId:e.sourceId});for(let e of r)t.calendarApi.addEventSource(e)}function nu(e,t){t.emitter.trigger(`datesSet`,Object.assign(Object.assign({},ls(e.activeRange,t.dateEnv)),{view:t.viewApi}))}function ru(e,t){let{emitter:n}=t;n.hasHandlers(`eventsSet`)&&n.trigger(`eventsSet`,Ho(e,t))}var iu=[Jl,Yl,Xl,Ql,eu,al({name:`misc`,isLoadingFuncs:[e=>kl(e.eventSources)],propSetHandlers:{dateProfile:nu,eventStore:ru}})],au=class{constructor(e,t){this.runTaskOption=e,this.drainedOption=t,this.queue=[],this.delayedRunner=new tr(this.drain.bind(this))}request(e,t){this.queue.push(e),this.delayedRunner.request(t)}pause(e){this.delayedRunner.pause(e)}resume(e,t){this.delayedRunner.resume(e,t)}drain(){let{queue:e}=this;for(;e.length;){let t=[],n;for(;n=e.shift();)this.runTask(n),t.push(n);this.drained(t)}}runTask(e){this.runTaskOption&&this.runTaskOption(e)}drained(e){this.drainedOption&&this.drainedOption(e)}};function ou(e,t,n){let r;return r=/^(year|month)$/.test(e.currentRangeUnit)?e.currentRange:e.activeRange,n.formatRange(r.start,r.end,K(t.titleFormat||su(e)),{isEndExclusive:e.isRangeAllDay,defaultSeparator:t.titleRangeSeparator})}function su(e){let{currentRangeUnit:t}=e;if(t===`year`)return{year:`numeric`};if(t===`month`)return{year:`numeric`,month:`long`};let n=Xr(e.currentRange.start,e.currentRange.end);return n!==null&&n>1?{year:`numeric`,month:`short`,day:`numeric`}:{year:`numeric`,month:`long`,day:`numeric`}}var cu=class{constructor(){this.resetListeners=new Set}handleInput(e,t){let n=this.dateEnv;if(e!==n&&(typeof t==`function`?this.nowFn=t:n||(this.nowAnchorDate=e.toDate(t?e.createMarker(t):e.createNowMarker()),this.nowAnchorQueried=Date.now()),this.dateEnv=e,n))for(let e of this.resetListeners.values())e()}getDateMarker(){return this.nowAnchorDate?this.dateEnv.timestampToMarker(this.nowAnchorDate.valueOf()+(Date.now()-this.nowAnchorQueried)):this.dateEnv.createMarker(this.nowFn())}addResetListener(e){this.resetListeners.add(e)}removeResetListener(e){this.resetListeners.delete(e)}},lu=class{constructor(e){this.computeCurrentViewData=G(this._computeCurrentViewData),this.organizeRawLocales=G(el),this.buildLocale=G(tl),this.buildPluginHooks=sl(),this.buildDateEnv=G(uu),this.buildTheme=G(du),this.parseToolbars=G(Wl),this.buildViewSpecs=G(_l),this.buildDateProfileGenerator=pi(fu),this.buildViewApi=G(pu),this.buildViewUiProps=pi(gu),this.buildEventUiBySource=G(mu,J),this.buildEventUiBases=G(hu),this.parseContextBusinessHours=pi(vu),this.buildTitle=G(ou),this.nowManager=new cu,this.emitter=new Do,this.actionRunner=new au(this._handleAction.bind(this),this.updateData.bind(this)),this.currentCalendarOptionsInput={},this.currentCalendarOptionsRefined={},this.currentViewOptionsInput={},this.currentViewOptionsRefined={},this.currentCalendarOptionsRefiners={},this.optionsForRefining=[],this.optionsForHandling=[],this.getCurrentData=()=>this.data,this.dispatch=e=>{this.actionRunner.request(e)},this.props=e,this.actionRunner.pause(),this.nowManager=new cu;let t={},n=this.computeOptionsData(e.optionOverrides,t,e.calendarApi),r=n.calendarOptions.initialView||n.pluginHooks.initialView,i=this.computeCurrentViewData(r,n,e.optionOverrides,t);e.calendarApi.currentDataManager=this,this.emitter.setThisContext(e.calendarApi),this.emitter.setOptions(i.options);let a={nowManager:this.nowManager,dateEnv:n.dateEnv,options:n.calendarOptions,pluginHooks:n.pluginHooks,calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData},o=Cl(n.calendarOptions,n.dateEnv,this.nowManager),s=i.dateProfileGenerator.build(o);Na(s.activeRange,o)||(o=s.currentRange.start);for(let e of n.pluginHooks.contextInit)e(a);let c=El(n.calendarOptions,s,a),l={dynamicOptionOverrides:t,currentViewType:r,currentDate:o,dateProfile:s,businessHours:this.parseContextBusinessHours(a),eventSources:c,eventUiBases:{},eventStore:no(),renderableEventStore:no(),dateSelection:null,eventSelection:``,eventDrag:null,eventResize:null,selectionConfig:this.buildViewUiProps(a).selectionConfig},u=Object.assign(Object.assign({},a),l);for(let e of n.pluginHooks.reducers)Object.assign(l,e(null,null,u));_u(l,a)&&this.emitter.trigger(`loading`,!0),this.state=l,this.updateData(),this.actionRunner.resume()}resetOptions(e,t){let{props:n}=this;t===void 0?n.optionOverrides=e:(n.optionOverrides=Object.assign(Object.assign({},n.optionOverrides||{}),e),this.optionsForRefining.push(...t)),(t===void 0||t.length)&&this.actionRunner.request({type:`NOTHING`})}_handleAction(e){let{props:t,state:n,emitter:r}=this,i=wl(n.dynamicOptionOverrides,e),a=this.computeOptionsData(t.optionOverrides,i,t.calendarApi),o=xl(n.currentViewType,e),s=this.computeCurrentViewData(o,a,t.optionOverrides,i);t.calendarApi.currentDataManager=this,r.setThisContext(t.calendarApi),r.setOptions(s.options);let c={nowManager:this.nowManager,dateEnv:a.dateEnv,options:a.calendarOptions,pluginHooks:a.pluginHooks,calendarApi:t.calendarApi,dispatch:this.dispatch,emitter:r,getCurrentData:this.getCurrentData},{currentDate:l,dateProfile:u}=n;this.data&&this.data.dateProfileGenerator!==s.dateProfileGenerator&&(u=s.dateProfileGenerator.build(l)),l=Sl(l,e),u=Tl(u,e,l,s.dateProfileGenerator),(e.type===`PREV`||e.type===`NEXT`||!Na(u.currentRange,l))&&(l=u.currentRange.start);let d=Dl(n.eventSources,e,u,c),f=vo(n.eventStore,e,d,u,c),p=kl(d)&&!s.options.progressiveEventRendering&&n.renderableEventStore||f,{eventUiSingleBase:m,selectionConfig:h}=this.buildViewUiProps(c),g=this.buildEventUiBySource(d),_=this.buildEventUiBases(p.defs,m,g),v={dynamicOptionOverrides:i,currentViewType:o,currentDate:l,dateProfile:u,eventSources:d,eventStore:f,renderableEventStore:p,selectionConfig:h,eventUiBases:_,businessHours:this.parseContextBusinessHours(c),dateSelection:Bl(n.dateSelection,e),eventSelection:Vl(n.eventSelection,e),eventDrag:Hl(n.eventDrag,e),eventResize:Ul(n.eventResize,e)},y=Object.assign(Object.assign({},c),v);for(let t of a.pluginHooks.reducers)Object.assign(v,t(n,e,y));let b=_u(n,c),x=_u(v,c);!b&&x?r.trigger(`loading`,!0):b&&!x&&r.trigger(`loading`,!1),this.state=v,t.onAction&&t.onAction(e)}updateData(){let{props:e,state:t}=this,n=this.data,r=this.computeOptionsData(e.optionOverrides,t.dynamicOptionOverrides,e.calendarApi),i=this.computeCurrentViewData(t.currentViewType,r,e.optionOverrides,t.dynamicOptionOverrides),a=this.data=Object.assign(Object.assign(Object.assign({nowManager:this.nowManager,viewTitle:this.buildTitle(t.dateProfile,i.options,r.dateEnv),calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData},r),i),t),o=r.pluginHooks.optionChangeHandlers,s=n&&n.calendarOptions,c=r.calendarOptions;if(s&&s!==c){s.timeZone!==c.timeZone&&(t.eventSources=a.eventSources=Ol(a.eventSources,t.dateProfile,a),t.eventStore=a.eventStore=wo(a.eventStore,n.dateEnv,a.dateEnv),t.renderableEventStore=a.renderableEventStore=wo(a.renderableEventStore,n.dateEnv,a.dateEnv));for(let e in o)(this.optionsForHandling.indexOf(e)!==-1||s[e]!==c[e])&&o[e](c[e],a)}this.optionsForHandling=[],e.onData&&e.onData(a)}computeOptionsData(e,t,n){if(!this.optionsForRefining.length&&e===this.stableOptionOverrides&&t===this.stableDynamicOptionOverrides)return this.stableCalendarOptionsData;let{refinedOptions:r,pluginHooks:i,localeDefaults:a,availableLocaleData:o,extra:s}=this.processRawCalendarOptions(e,t);yu(s);let c=this.buildDateEnv(r.timeZone,r.locale,r.weekNumberCalculation,r.firstDay,r.weekText,i,o,r.defaultRangeSeparator),l=this.buildViewSpecs(i.views,this.stableOptionOverrides,this.stableDynamicOptionOverrides,a),u=this.buildTheme(r,i);return this.stableCalendarOptionsData={calendarOptions:r,pluginHooks:i,dateEnv:c,viewSpecs:l,theme:u,toolbarConfig:this.parseToolbars(r,this.stableOptionOverrides,u,l,n),localeDefaults:a,availableRawLocales:o.map}}processRawCalendarOptions(e,t){let{locales:n,locale:r}=Ui([Ii,e,t]),i=this.organizeRawLocales(n),a=i.map,o=this.buildLocale(r||i.defaultCode,a).options,s=this.buildPluginHooks(e.plugins||[],iu),c=this.currentCalendarOptionsRefiners=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Fi),Li),Ri),s.listenerRefiners),s.optionRefiners),l={},u=Ui([Ii,o,e,t]),d={},f=this.currentCalendarOptionsInput,p=this.currentCalendarOptionsRefined,m=!1;for(let e in u)this.optionsForRefining.indexOf(e)===-1&&(u[e]===f[e]||zi[e]&&e in f&&zi[e](f[e],u[e]))?d[e]=p[e]:c[e]?(d[e]=c[e](u[e]),m=!0):l[e]=f[e];return m&&(this.currentCalendarOptionsInput=u,this.currentCalendarOptionsRefined=d,this.stableOptionOverrides=e,this.stableDynamicOptionOverrides=t),this.optionsForHandling.push(...this.optionsForRefining),this.optionsForRefining=[],{rawOptions:this.currentCalendarOptionsInput,refinedOptions:this.currentCalendarOptionsRefined,pluginHooks:s,availableLocaleData:i,localeDefaults:o,extra:l}}_computeCurrentViewData(e,t,n,r){let i=t.viewSpecs[e];if(!i)throw Error(`viewType "${e}" is not available. Please make sure you've loaded all neccessary plugins`);let{refinedOptions:a,extra:o}=this.processRawViewOptions(i,t.pluginHooks,t.localeDefaults,n,r);return yu(o),this.nowManager.handleInput(t.dateEnv,a.now),{viewSpec:i,options:a,dateProfileGenerator:this.buildDateProfileGenerator({dateProfileGeneratorClass:i.optionDefaults.dateProfileGeneratorClass,nowManager:this.nowManager,duration:i.duration,durationUnit:i.durationUnit,usesMinMaxTime:i.optionDefaults.usesMinMaxTime,dateEnv:t.dateEnv,calendarApi:this.props.calendarApi,slotMinTime:a.slotMinTime,slotMaxTime:a.slotMaxTime,showNonCurrentDates:a.showNonCurrentDates,dayCount:a.dayCount,dateAlignment:a.dateAlignment,dateIncrement:a.dateIncrement,hiddenDays:a.hiddenDays,weekends:a.weekends,validRangeInput:a.validRange,visibleRangeInput:a.visibleRange,fixedWeekCount:a.fixedWeekCount}),viewApi:this.buildViewApi(e,this.getCurrentData,t.dateEnv)}}processRawViewOptions(e,t,n,r,i){let a=Ui([Ii,e.optionDefaults,n,r,e.optionOverrides,i]),o=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Fi),Li),Ri),Hi),t.listenerRefiners),t.optionRefiners),s={},c=this.currentViewOptionsInput,l=this.currentViewOptionsRefined,u=!1,d={};for(let e in a)a[e]===c[e]||zi[e]&&zi[e](a[e],c[e])?s[e]=l[e]:(a[e]===this.currentCalendarOptionsInput[e]||zi[e]&&zi[e](a[e],this.currentCalendarOptionsInput[e])?e in this.currentCalendarOptionsRefined&&(s[e]=this.currentCalendarOptionsRefined[e]):o[e]?s[e]=o[e](a[e]):d[e]=a[e],u=!0);return u&&(this.currentViewOptionsInput=a,this.currentViewOptionsRefined=s),{rawOptions:this.currentViewOptionsInput,refinedOptions:this.currentViewOptionsRefined,extra:d}}};function uu(e,t,n,r,i,a,o,s){let c=tl(t||o.defaultCode,o.map);return new ca({calendarSystem:`gregory`,timeZone:e,namedTimeZoneImpl:a.namedTimeZonedImpl,locale:c,weekNumberCalculation:n,firstDay:r,weekText:i,cmdFormatter:a.cmdFormatter,defaultSeparator:s})}function du(e,t){return new(t.themeClasses[e.themeSystem]||ul)(e)}function fu(e){return new(e.dateProfileGeneratorClass||Ra)(e)}function pu(e,t,n){return new ql(e,t,n)}function mu(e){return Ji(e,e=>e.ui)}function hu(e,t,n){let r={"":t};for(let t in e){let i=e[t];i.sourceId&&n[i.sourceId]&&(r[t]=n[i.sourceId])}return r}function gu(e){let{options:t}=e;return{eventUiSingleBase:uo({display:t.eventDisplay,editable:t.editable,startEditable:t.eventStartEditable,durationEditable:t.eventDurationEditable,constraint:t.eventConstraint,overlap:typeof t.eventOverlap==`boolean`?t.eventOverlap:void 0,allow:t.eventAllow,backgroundColor:t.eventBackgroundColor,borderColor:t.eventBorderColor,textColor:t.eventTextColor,color:t.eventColor},e),selectionConfig:uo({constraint:t.selectConstraint,overlap:typeof t.selectOverlap==`boolean`?t.selectOverlap:void 0,allow:t.selectAllow},e)}}function _u(e,t){for(let n of t.pluginHooks.isLoadingFuncs)if(n(e))return!0;return!1}function vu(e){return jo(e.options.businessHours,e)}function yu(e,t){for(let n in e)console.warn(`Unknown option '${n}'`+(t?` for view '${t}'`:``))}var bu=class extends Y{render(){return P(`div`,{className:`fc-toolbar-chunk`},...this.props.widgetGroups.map(e=>this.renderWidgetGroup(e)))}renderWidgetGroup(e){let{props:t}=this,{theme:n}=this.context,r=[],i=!0;for(let a of e){let{buttonName:e,buttonClick:o,buttonText:s,buttonIcon:c,buttonHint:l}=a;if(e===`title`)i=!1,r.push(P(`h2`,{className:`fc-toolbar-title`,id:t.titleId},t.title));else{let i=e===t.activeButton,a=!t.isTodayEnabled&&e===`today`||!t.isPrevEnabled&&e===`prev`||!t.isNextEnabled&&e===`next`,u=[`fc-${e}-button`,n.getClass(`button`)];i&&u.push(n.getClass(`buttonActive`)),r.push(P(`button`,{type:`button`,title:typeof l==`function`?l(t.navUnit):l,disabled:a,"aria-pressed":i,className:u.join(` `),onClick:o},s||(c?P(`span`,{className:c,role:`img`}):``)))}}return r.length>1?P(`div`,{className:i&&n.getClass(`buttonGroup`)||``},...r):r[0]}},xu=class extends Y{render(){let{model:e,extraClassName:t}=this.props,n=!1,r,i,a=e.sectionWidgets,o=a.center;return a.left?(n=!0,r=a.left):r=a.start,a.right?(n=!0,i=a.right):i=a.end,P(`div`,{className:[t||``,`fc-toolbar`,n?`fc-toolbar-ltr`:``].join(` `)},this.renderSection(`start`,r||[]),this.renderSection(`center`,o||[]),this.renderSection(`end`,i||[]))}renderSection(e,t){let{props:n}=this;return P(bu,{key:e,widgetGroups:t,title:n.title,navUnit:n.navUnit,activeButton:n.activeButton,isTodayEnabled:n.isTodayEnabled,isPrevEnabled:n.isPrevEnabled,isNextEnabled:n.isNextEnabled,titleId:n.titleId})}},Su=class extends Y{constructor(){super(...arguments),this.state={availableWidth:null},this.handleEl=e=>{this.el=e,X(this.props.elRef,e),this.updateAvailableWidth()},this.handleResize=()=>{this.updateAvailableWidth()}}render(){let{props:e,state:t}=this,{aspectRatio:n}=e,r=[`fc-view-harness`,n||e.liquid||e.height?`fc-view-harness-active`:`fc-view-harness-passive`],i=``,a=``;return n?t.availableWidth===null?a=`${1/n*100}%`:i=t.availableWidth/n:i=e.height||``,P(`div`,{"aria-labelledby":e.labeledById,ref:this.handleEl,className:r.join(` `),style:{height:i,paddingBottom:a}},e.children)}componentDidMount(){this.context.addResizeHandler(this.handleResize)}componentWillUnmount(){this.context.removeResizeHandler(this.handleResize)}updateAvailableWidth(){this.el&&this.props.aspectRatio&&this.setState({availableWidth:this.el.offsetWidth})}},Cu=class extends ys{constructor(e){super(e),this.handleSegClick=(e,t)=>{let{component:n}=this,{context:r}=n,i=Ko(t);if(i&&n.isValidSegDownEl(e.target)){let a=z(e.target,`.fc-event-forced-url`),o=a?a.querySelector(`a[href]`).href:``;r.emitter.trigger(`eventClick`,{el:t,event:new Q(n.context,i.eventRange.def,i.eventRange.instance),jsEvent:e,view:r.viewApi}),o&&!e.defaultPrevented&&(window.location.href=o)}},this.destroy=fr(e.el,`click`,`.fc-event`,this.handleSegClick)}},wu=class extends ys{constructor(e){super(e),this.handleEventElRemove=e=>{e===this.currentSegEl&&this.handleSegLeave(null,this.currentSegEl)},this.handleSegEnter=(e,t)=>{Ko(t)&&(this.currentSegEl=t,this.triggerEvent(`eventMouseEnter`,e,t))},this.handleSegLeave=(e,t)=>{this.currentSegEl&&(this.currentSegEl=null,this.triggerEvent(`eventMouseLeave`,e,t))},this.removeHoverListeners=pr(e.el,`.fc-event`,this.handleSegEnter,this.handleSegLeave)}destroy(){this.removeHoverListeners()}triggerEvent(e,t,n){let{component:r}=this,{context:i}=r,a=Ko(n);(!t||r.isValidSegDownEl(t.target))&&i.emitter.trigger(e,{el:n,event:new Q(i,a.eventRange.def,a.eventRange.instance),jsEvent:t,view:i.viewApi})}},Tu=class extends ga{constructor(){super(...arguments),this.buildViewContext=G(ha),this.buildViewPropTransformers=G(Du),this.buildToolbarProps=G(Eu),this.headerRef=F(),this.footerRef=F(),this.interactionsStore={},this.state={viewLabelId:ur()},this.registerInteractiveComponent=(e,t)=>{let n=bs(e,t),r=[Cu,wu].concat(this.props.pluginHooks.componentInteractions).map(e=>new e(n));this.interactionsStore[e.uid]=r,xs[e.uid]=n},this.unregisterInteractiveComponent=e=>{let t=this.interactionsStore[e.uid];if(t){for(let e of t)e.destroy();delete this.interactionsStore[e.uid]}delete xs[e.uid]},this.resizeRunner=new tr(()=>{this.props.emitter.trigger(`_resize`,!0),this.props.emitter.trigger(`windowResize`,{view:this.props.viewApi})}),this.handleWindowResize=e=>{let{options:t}=this.props;t.handleWindowResize&&e.target===window&&this.resizeRunner.request(t.windowResizeDelay)}}render(){let{props:e}=this,{toolbarConfig:t,options:n}=e,r=!1,i=``,a;e.isHeightAuto||e.forPrint?i=``:n.height==null?n.contentHeight==null?a=Math.max(n.aspectRatio,.5):i=n.contentHeight:r=!0;let o=this.buildViewContext(e.viewSpec,e.viewApi,e.options,e.dateProfileGenerator,e.dateEnv,e.nowManager,e.theme,e.pluginHooks,e.dispatch,e.getCurrentData,e.emitter,e.calendarApi,this.registerInteractiveComponent,this.unregisterInteractiveComponent),s=t.header&&t.header.hasTitle?this.state.viewLabelId:void 0;return P(ma.Provider,{value:o},P(Ss,{unit:`day`},n=>{let o=this.buildToolbarProps(e.viewSpec,e.dateProfile,e.dateProfileGenerator,e.currentDate,n,e.viewTitle);return P(I,null,t.header&&P(xu,Object.assign({ref:this.headerRef,extraClassName:`fc-header-toolbar`,model:t.header,titleId:s},o)),P(Su,{liquid:r,height:i,aspectRatio:a,labeledById:s},this.renderView(e),this.buildAppendContent()),t.footer&&P(xu,Object.assign({ref:this.footerRef,extraClassName:`fc-footer-toolbar`,model:t.footer,titleId:``},o)))}))}componentDidMount(){let{props:e}=this;this.calendarInteractions=e.pluginHooks.calendarInteractions.map(t=>new t(e)),window.addEventListener(`resize`,this.handleWindowResize);let{propSetHandlers:t}=e.pluginHooks;for(let n in t)t[n](e[n],e)}componentDidUpdate(e){let{props:t}=this,{propSetHandlers:n}=t.pluginHooks;for(let r in n)t[r]!==e[r]&&n[r](t[r],t)}componentWillUnmount(){window.removeEventListener(`resize`,this.handleWindowResize),this.resizeRunner.clear();for(let e of this.calendarInteractions)e.destroy();this.props.emitter.trigger(`_unmount`)}buildAppendContent(){let{props:e}=this;return P(I,{},...e.pluginHooks.viewContainerAppends.map(t=>t(e)))}renderView(e){let{pluginHooks:t}=e,{viewSpec:n}=e,r={dateProfile:e.dateProfile,businessHours:e.businessHours,eventStore:e.renderableEventStore,eventUiBases:e.eventUiBases,dateSelection:e.dateSelection,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,isHeightAuto:e.isHeightAuto,forPrint:e.forPrint},i=this.buildViewPropTransformers(t.viewPropsTransformers);for(let t of i)Object.assign(r,t.transform(r,e));let a=n.component;return P(a,Object.assign({},r))}};function Eu(e,t,n,r,i,a){let o=n.build(i,void 0,!1),s=n.buildPrev(t,r,!1),c=n.buildNext(t,r,!1);return{title:a,activeButton:e.type,navUnit:e.singleUnit,isTodayEnabled:o.isValid&&!Na(t.currentRange,i),isPrevEnabled:s.isValid,isNextEnabled:c.isValid}}function Du(e){return e.map(e=>new e)}var Ou=class extends ws{constructor(e,t={}){super(),this.isRendering=!1,this.isRendered=!1,this.currentClassNames=[],this.customContentRenderId=0,this.handleAction=e=>{switch(e.type){case`SET_EVENT_DRAG`:case`SET_EVENT_RESIZE`:this.renderRunner.tryDrain()}},this.handleData=e=>{this.currentData=e,this.renderRunner.request(e.calendarOptions.rerenderDelay)},this.handleRenderRequest=()=>{if(this.isRendering){this.isRendered=!0;let{currentData:e}=this;ua(()=>{nn(P(vs,{options:e.calendarOptions,theme:e.theme,emitter:e.emitter},(t,n,r,i)=>(this.setClassNames(t),this.setHeight(n),P(Ca.Provider,{value:this.customContentRenderId},P(Tu,Object.assign({isHeightAuto:r,forPrint:i},e))))),this.el)})}else this.isRendered&&(this.isRendered=!1,nn(null,this.el),this.setClassNames([]),this.setHeight(``))},Jn(e),this.el=e,this.renderRunner=new tr(this.handleRenderRequest),new lu({optionOverrides:t,calendarApi:this,onAction:this.handleAction,onData:this.handleData})}render(){let e=this.isRendering;e?this.customContentRenderId+=1:this.isRendering=!0,this.renderRunner.request(),e&&this.updateSize()}destroy(){this.isRendering&&(this.isRendering=!1,this.renderRunner.request())}updateSize(){ua(()=>{super.updateSize()})}batchRendering(e){this.renderRunner.pause(`batchRendering`),e(),this.renderRunner.resume(`batchRendering`)}pauseRendering(){this.renderRunner.pause(`pauseRendering`)}resumeRendering(){this.renderRunner.resume(`pauseRendering`,!0)}resetOptions(e,t){this.currentDataManager.resetOptions(e,t)}setClassNames(e){if(!zr(e,this.currentClassNames)){let{classList:t}=this.el;for(let e of this.currentClassNames)t.remove(e);for(let n of e)t.add(n);this.currentClassNames=e}}setHeight(e){sr(this.el,`height`,e)}},ku=parseInt(`19.2.5`.split(`.`)[0])<18,Au=class extends j.Component{constructor(){super(...arguments),this.elRef=(0,j.createRef)(),this.isUpdating=!1,this.isUnmounting=!1,this.state={customRenderingMap:new Map},this.requestResize=()=>{this.isUnmounting||(this.cancelResize(),this.resizeId=requestAnimationFrame(()=>{this.doResize()}))}}render(){let e=[];for(let t of this.state.customRenderingMap.values())e.push(j.createElement(ju,{key:t.id,customRendering:t}));return j.createElement(`div`,{ref:this.elRef},e)}componentDidMount(){this.isUnmounting=!1;let e=new Xc;this.handleCustomRendering=e.handle.bind(e),this.calendar=new Ou(this.elRef.current,Object.assign(Object.assign({},this.props),{handleCustomRendering:this.handleCustomRendering})),this.calendar.render(),this.calendar.on(`_beforeprint`,()=>{(0,Pe.flushSync)(()=>{})});let t;e.subscribe(e=>{let n=Date.now(),r=!t;(ku||r||this.isUpdating||this.isUnmounting||n-t<100?Mu:Pe.flushSync)(()=>{this.setState({customRenderingMap:e},()=>{t=n,r?this.doResize():this.requestResize()})})})}componentDidUpdate(){this.isUpdating=!0,this.calendar.resetOptions(Object.assign(Object.assign({},this.props),{handleCustomRendering:this.handleCustomRendering})),this.isUpdating=!1}componentWillUnmount(){this.isUnmounting=!0,this.cancelResize(),this.calendar.destroy()}doResize(){this.calendar.updateSize()}cancelResize(){this.resizeId!==void 0&&(cancelAnimationFrame(this.resizeId),this.resizeId=void 0)}getApi(){return this.calendar}};Au.act=Mu;var ju=class extends j.PureComponent{render(){let{customRendering:e}=this.props,{generatorMeta:t}=e;return(0,Pe.createPortal)(typeof t==`function`?t(e.renderProps):t,e.containerEl)}};function Mu(e){e()}var Nu=class extends ${constructor(){super(...arguments),this.headerElRef=F()}renderSimpleLayout(e,t){let{props:n,context:r}=this,i=[],a=Sc(r.options);return e&&i.push({type:`header`,key:`header`,isSticky:a,chunk:{elRef:this.headerElRef,tableClassName:`fc-col-header`,rowContent:e}}),i.push({type:`body`,key:`body`,liquid:!0,chunk:{content:t}}),P(Ea,{elClasses:[`fc-daygrid`],viewSpec:r.viewSpec},P(wc,{liquid:!n.isHeightAuto&&!n.forPrint,collapsibleWidth:n.forPrint,cols:[],sections:i}))}renderHScrollLayout(e,t,n,r){let i=this.context.pluginHooks.scrollGridImpl;if(!i)throw Error(`No ScrollGrid implementation`);let{props:a,context:o}=this,s=!a.forPrint&&Sc(o.options),c=!a.forPrint&&Cc(o.options),l=[];return e&&l.push({type:`header`,key:`header`,isSticky:s,chunks:[{key:`main`,elRef:this.headerElRef,tableClassName:`fc-col-header`,rowContent:e}]}),l.push({type:`body`,key:`body`,liquid:!0,chunks:[{key:`main`,content:t}]}),c&&l.push({type:`footer`,key:`footer`,isSticky:!0,chunks:[{key:`main`,content:xc}]}),P(Ea,{elClasses:[`fc-daygrid`],viewSpec:o.viewSpec},P(i,{liquid:!a.isHeightAuto&&!a.forPrint,forPrint:a.forPrint,collapsibleWidth:a.forPrint,colGroups:[{cols:[{span:n,minWidth:r}]}],sections:l}))}};function Pu(e,t){let n=[];for(let e=0;e<t;e+=1)n[e]=[];for(let t of e)n[t.row].push(t);return n}function Fu(e,t){let n=[];for(let e=0;e<t;e+=1)n[e]=[];for(let t of e)n[t.firstCol].push(t);return n}function Iu(e,t){let n=[];if(e){for(let r=0;r<t;r+=1)n[r]={affectedInstances:e.affectedInstances,isEvent:e.isEvent,segs:[]};for(let t of e.segs)n[t.row].segs.push(t)}else for(let e=0;e<t;e+=1)n[e]=null;return n}var Lu=K({hour:`numeric`,minute:`2-digit`,omitZeroMinute:!0,meridiem:`narrow`});function Ru(e){let{display:t}=e.eventRange.ui;return t===`list-item`||t===`auto`&&!e.eventRange.def.allDay&&e.firstCol===e.lastCol&&e.isStart&&e.isEnd}var zu=class extends Y{render(){let{props:e}=this;return P(Dc,Object.assign({},e,{elClasses:[`fc-daygrid-event`,`fc-daygrid-block-event`,`fc-h-event`],defaultTimeFormat:Lu,defaultDisplayEventEnd:e.defaultDisplayEventEnd,disableResizing:!e.seg.eventRange.def.allDay}))}},Bu=class extends Y{render(){let{props:e,context:t}=this,{options:n}=t,{seg:r}=e,i=es(r,n.eventTimeFormat||Lu,t,!0,e.defaultDisplayEventEnd);return P(Ec,Object.assign({},e,{elTag:`a`,elClasses:[`fc-daygrid-event`,`fc-daygrid-dot-event`],elAttrs:is(e.seg,t),defaultGenerator:Vu,timeText:i,isResizing:!1,isDateSelecting:!1}))}};function Vu(e){return P(I,null,P(`div`,{className:`fc-daygrid-event-dot`,style:{borderColor:e.borderColor||e.backgroundColor}}),e.timeText&&P(`div`,{className:`fc-event-time`},e.timeText),P(`div`,{className:`fc-event-title`},e.event.title||P(I,null,`\xA0`)))}var Hu=class extends Y{constructor(){super(...arguments),this.compileSegs=G(Uu)}render(){let{props:e}=this,{allSegs:t,invisibleSegs:n}=this.compileSegs(e.singlePlacements);return P(Hc,{elClasses:[`fc-daygrid-more-link`],dateProfile:e.dateProfile,todayRange:e.todayRange,allDayDate:e.allDayDate,moreCnt:e.moreCnt,allSegs:t,hiddenSegs:n,alignmentElRef:e.alignmentElRef,alignGridTop:e.alignGridTop,extraDateSpan:e.extraDateSpan,popoverContent:()=>{let n=(e.eventDrag?e.eventDrag.affectedInstances:null)||(e.eventResize?e.eventResize.affectedInstances:null)||{};return P(I,null,t.map(t=>{let r=t.eventRange.instance.instanceId;return P(`div`,{className:`fc-daygrid-event-harness`,key:r,style:{visibility:n[r]?`hidden`:``}},Ru(t)?P(Bu,Object.assign({seg:t,isDragging:!1,isSelected:r===e.eventSelection,defaultDisplayEventEnd:!1},ts(t,e.todayRange))):P(zu,Object.assign({seg:t,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:r===e.eventSelection,defaultDisplayEventEnd:!1},ts(t,e.todayRange))))}))}})}};function Uu(e){let t=[],n=[];for(let r of e)t.push(r.seg),r.isVisible||n.push(r.seg);return{allSegs:t,invisibleSegs:n}}var Wu=K({week:`narrow`}),Gu=class extends ${constructor(){super(...arguments),this.rootElRef=F(),this.state={dayNumberId:ur()},this.handleRootEl=e=>{X(this.rootElRef,e),X(this.props.elRef,e)}}render(){let{context:e,props:t,state:n,rootElRef:r}=this,{options:i,dateEnv:a}=e,{date:o,dateProfile:s}=t,c=t.showDayNumber&&qu(o,s.currentRange,a);return P(jc,{elTag:`td`,elRef:this.handleRootEl,elClasses:[`fc-daygrid-day`,...t.extraClassNames||[]],elAttrs:Object.assign(Object.assign(Object.assign({},t.extraDataAttrs),t.showDayNumber?{"aria-labelledby":n.dayNumberId}:{}),{role:`gridcell`}),defaultGenerator:Ku,date:o,dateProfile:s,todayRange:t.todayRange,showDayNumber:t.showDayNumber,isMonthStart:c,extraRenderProps:t.extraRenderProps},(a,s)=>P(`div`,{ref:t.innerElRef,className:`fc-daygrid-day-frame fc-scrollgrid-sync-inner`,style:{minHeight:t.minHeight}},t.showWeekNumber&&P(Lc,{elTag:`a`,elClasses:[`fc-daygrid-week-number`],elAttrs:Ns(e,o,`week`),date:o,defaultFormat:Wu}),!s.isDisabled&&(t.showDayNumber||Mc(i)||t.forceDayTop)?P(`div`,{className:`fc-daygrid-day-top`},P(a,{elTag:`a`,elClasses:[`fc-daygrid-day-number`,c&&`fc-daygrid-month-start`],elAttrs:Object.assign(Object.assign({},Ns(e,o)),{id:n.dayNumberId})})):t.showDayNumber?P(`div`,{className:`fc-daygrid-day-top`,style:{visibility:`hidden`}},P(`a`,{className:`fc-daygrid-day-number`},`\xA0`)):void 0,P(`div`,{className:`fc-daygrid-day-events`,ref:t.fgContentElRef},t.fgContent,P(`div`,{className:`fc-daygrid-day-bottom`,style:{marginTop:t.moreMarginTop}},P(Hu,{allDayDate:o,singlePlacements:t.singlePlacements,moreCnt:t.moreCnt,alignmentElRef:r,alignGridTop:!t.showDayNumber,extraDateSpan:t.extraDateSpan,dateProfile:t.dateProfile,eventSelection:t.eventSelection,eventDrag:t.eventDrag,eventResize:t.eventResize,todayRange:t.todayRange}))),P(`div`,{className:`fc-daygrid-day-bg`},t.bgContent)))}};function Ku(e){return e.dayNumberText||P(I,null,`\xA0`)}function qu(e,t,n){let{start:r,end:i}=t,a=Hr(i,-1),o=n.getYear(r),s=n.getMonth(r),c=n.getYear(a),l=n.getMonth(a);return!(o===c&&s===l)&&(e.valueOf()===r.valueOf()||n.getDay(e)===1&&e.valueOf()<i.valueOf())}function Ju(e){return e.eventRange.instance.instanceId+`:`+e.firstCol}function Yu(e){return Ju(e)+`:`+e.lastCol}function Xu(e,t,n,r,i,a,o){let s=new ed(t=>i[e[t.index].eventRange.instance.instanceId+`:`+t.span.start+`:`+(t.span.end-1)]||1);s.allowReslicing=!0,s.strictOrder=r,t===!0||n===!0?(s.maxCoord=a,s.hiddenConsumes=!0):typeof t==`number`?s.maxStackCnt=t:typeof n==`number`&&(s.maxStackCnt=n,s.hiddenConsumes=!0);let c=[],l=[];for(let t=0;t<e.length;t+=1){let n=e[t];i[Yu(n)]==null?l.push(n):c.push({index:t,span:{start:n.firstCol,end:n.lastCol+1}})}let u=s.addSegs(c),{singleColPlacements:d,multiColPlacements:f,leftoverMargins:p}=Zu(s.toRects(),e,o),m=[],h=[];for(let e of l){f[e.firstCol].push({seg:e,isVisible:!1,isAbsolute:!0,absoluteTop:0,marginTop:0});for(let t=e.firstCol;t<=e.lastCol;t+=1)d[t].push({seg:$u(e,t,t+1,o),isVisible:!1,isAbsolute:!1,absoluteTop:0,marginTop:0})}for(let e=0;e<o.length;e+=1)m.push(0);for(let t of u){let n=e[t.index],r=t.span;f[r.start].push({seg:$u(n,r.start,r.end,o),isVisible:!1,isAbsolute:!0,absoluteTop:0,marginTop:0});for(let e=r.start;e<r.end;e+=1)m[e]+=1,d[e].push({seg:$u(n,e,e+1,o),isVisible:!1,isAbsolute:!1,absoluteTop:0,marginTop:0})}for(let e=0;e<o.length;e+=1)h.push(p[e]);return{singleColPlacements:d,multiColPlacements:f,moreCnts:m,moreMarginTops:h}}function Zu(e,t,n){let r=Qu(e,n.length),i=[],a=[],o=[];for(let e=0;e<n.length;e+=1){let s=r[e],c=[],l=0,u=0;for(let r of s){let i=t[r.index];c.push({seg:$u(i,e,e+1,n),isVisible:!0,isAbsolute:!1,absoluteTop:r.levelCoord,marginTop:r.levelCoord-l}),l=r.levelCoord+r.thickness}let d=[];l=0,u=0;for(let r of s){let i=t[r.index],a=r.span.end-r.span.start>1,o=r.span.start===e;u+=r.levelCoord-l,l=r.levelCoord+r.thickness,a?(u+=r.thickness,o&&d.push({seg:$u(i,r.span.start,r.span.end,n),isVisible:!0,isAbsolute:!0,absoluteTop:r.levelCoord,marginTop:0})):o&&(d.push({seg:$u(i,r.span.start,r.span.end,n),isVisible:!0,isAbsolute:!1,absoluteTop:r.levelCoord,marginTop:u}),u=0)}i.push(c),a.push(d),o.push(u)}return{singleColPlacements:i,multiColPlacements:a,leftoverMargins:o}}function Qu(e,t){let n=[];for(let e=0;e<t;e+=1)n.push([]);for(let t of e)for(let e=t.span.start;e<t.span.end;e+=1)n[e].push(t);return n}function $u(e,t,n,r){if(e.firstCol===t&&e.lastCol===n-1)return e;let i=e.eventRange,a=i.range,o=ja(a,{start:r[t].date,end:H(r[n-1].date,1)});return Object.assign(Object.assign({},e),{firstCol:t,lastCol:n-1,eventRange:{def:i.def,ui:Object.assign(Object.assign({},i.ui),{durationEditable:!1}),instance:i.instance,range:o},isStart:e.isStart&&o.start.valueOf()===a.start.valueOf(),isEnd:e.isEnd&&o.end.valueOf()===a.end.valueOf()})}var ed=class extends Hs{constructor(){super(...arguments),this.hiddenConsumes=!1,this.forceHidden={}}addSegs(e){let t=super.addSegs(e),{entriesByLevel:n}=this,r=e=>!this.forceHidden[Ws(e)];for(let e=0;e<n.length;e+=1)n[e]=n[e].filter(r);return t}handleInvalidInsertion(e,t,n){let{entriesByLevel:r,forceHidden:i}=this,{touchingEntry:a,touchingLevel:o,touchingLateral:s}=e;if(this.hiddenConsumes&&a){let e=Ws(a);if(!i[e])if(this.allowReslicing){let e=Object.assign(Object.assign({},a),{span:qs(a.span,t.span)}),c=Ws(e);i[c]=!0,r[o][s]=e,n.push(e),this.splitEntry(a,t,n)}else i[e]=!0,n.push(a)}super.handleInvalidInsertion(e,t,n)}},td=class extends ${constructor(){super(...arguments),this.cellElRefs=new uc,this.frameElRefs=new uc,this.fgElRefs=new uc,this.segHarnessRefs=new uc,this.rootElRef=F(),this.state={framePositions:null,maxContentHeight:null,segHeights:{}},this.handleResize=e=>{e&&this.updateSizing(!0)}}render(){let{props:e,state:t,context:n}=this,{options:r}=n,i=e.cells.length,a=Fu(e.businessHourSegs,i),o=Fu(e.bgEventSegs,i),s=Fu(this.getHighlightSegs(),i),c=Fu(this.getMirrorSegs(),i),{singleColPlacements:l,multiColPlacements:u,moreCnts:d,moreMarginTops:f}=Xu(Yo(e.fgEventSegs,r.eventOrder),e.dayMaxEvents,e.dayMaxEventRows,r.eventOrderStrict,t.segHeights,t.maxContentHeight,e.cells),p=e.eventDrag&&e.eventDrag.affectedInstances||e.eventResize&&e.eventResize.affectedInstances||{};return P(`tr`,{ref:this.rootElRef,role:`row`},e.renderIntro&&e.renderIntro(),e.cells.map((t,n)=>{let r=this.renderFgSegs(n,e.forPrint?l[n]:u[n],e.todayRange,p),i=this.renderFgSegs(n,nd(c[n],u),e.todayRange,{},!!e.eventDrag,!!e.eventResize,!1);return P(Gu,{key:t.key,elRef:this.cellElRefs.createRef(t.key),innerElRef:this.frameElRefs.createRef(t.key),dateProfile:e.dateProfile,date:t.date,showDayNumber:e.showDayNumbers,showWeekNumber:e.showWeekNumbers&&n===0,forceDayTop:e.showWeekNumbers,todayRange:e.todayRange,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,extraRenderProps:t.extraRenderProps,extraDataAttrs:t.extraDataAttrs,extraClassNames:t.extraClassNames,extraDateSpan:t.extraDateSpan,moreCnt:d[n],moreMarginTop:f[n],singlePlacements:l[n],fgContentElRef:this.fgElRefs.createRef(t.key),fgContent:P(I,null,P(I,null,r),P(I,null,i)),bgContent:P(I,null,this.renderFillSegs(s[n],`highlight`),this.renderFillSegs(a[n],`non-business`),this.renderFillSegs(o[n],`bg-event`)),minHeight:e.cellMinHeight})}))}componentDidMount(){this.updateSizing(!0),this.context.addResizeHandler(this.handleResize)}componentDidUpdate(e,t){let n=this.props;this.updateSizing(!J(e,n))}componentWillUnmount(){this.context.removeResizeHandler(this.handleResize)}getHighlightSegs(){let{props:e}=this;return e.eventDrag&&e.eventDrag.segs.length?e.eventDrag.segs:e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:e.dateSelectionSegs}getMirrorSegs(){let{props:e}=this;return e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:[]}renderFgSegs(e,t,n,r,i,a,o){let{context:s}=this,{eventSelection:c}=this.props,{framePositions:l}=this.state,u=this.props.cells.length===1,d=i||a||o,f=[];if(l)for(let e of t){let{seg:t}=e,{instanceId:p}=t.eventRange.instance,m=e.isVisible&&!r[p],h=e.isAbsolute,g=``,_=``;h&&(s.isRtl?(_=0,g=l.lefts[t.lastCol]-l.lefts[t.firstCol]):(g=0,_=l.rights[t.firstCol]-l.rights[t.lastCol])),f.push(P(`div`,{className:`fc-daygrid-event-harness`+(h?` fc-daygrid-event-harness-abs`:``),key:Ju(t),ref:d?null:this.segHarnessRefs.createRef(Yu(t)),style:{visibility:m?``:`hidden`,marginTop:h?``:e.marginTop,top:h?e.absoluteTop:``,left:g,right:_}},Ru(t)?P(Bu,Object.assign({seg:t,isDragging:i,isSelected:p===c,defaultDisplayEventEnd:u},ts(t,n))):P(zu,Object.assign({seg:t,isDragging:i,isResizing:a,isDateSelecting:o,isSelected:p===c,defaultDisplayEventEnd:u},ts(t,n)))))}return f}renderFillSegs(e,t){let{isRtl:n}=this.context,{todayRange:r}=this.props,{framePositions:i}=this.state,a=[];if(i)for(let o of e){let e=n?{right:0,left:i.lefts[o.lastCol]-i.lefts[o.firstCol]}:{left:0,right:i.rights[o.firstCol]-i.rights[o.lastCol]};a.push(P(`div`,{key:rs(o.eventRange),className:`fc-daygrid-bg-harness`,style:e},t===`bg-event`?P(Pc,Object.assign({seg:o},ts(o,r))):Ic(t)))}return P(I,{},...a)}updateSizing(e){let{props:t,state:n,frameElRefs:r}=this;if(!t.forPrint&&t.clientWidth!==null){if(e){let e=t.cells.map(e=>r.currentMap[e.key]);if(e.length){let t=this.rootElRef.current,r=new Bs(t,e,!0,!1);(!n.framePositions||!n.framePositions.similarTo(r))&&this.setState({framePositions:new Bs(t,e,!0,!1)})}}let i=this.state.segHeights,a=this.querySegHeights(),o=t.dayMaxEvents===!0||t.dayMaxEventRows===!0;this.safeSetState({segHeights:Object.assign(Object.assign({},i),a),maxContentHeight:o?this.computeMaxContentHeight():null})}}querySegHeights(){let e=this.segHarnessRefs.currentMap,t={};for(let n in e){let r=Math.round(e[n].getBoundingClientRect().height);t[n]=Math.max(t[n]||0,r)}return t}computeMaxContentHeight(){let e=this.props.cells[0].key,t=this.cellElRefs.currentMap[e],n=this.fgElRefs.currentMap[e];return t.getBoundingClientRect().bottom-n.getBoundingClientRect().top}getCellEls(){let e=this.cellElRefs.currentMap;return this.props.cells.map(t=>e[t.key])}};td.addStateEquality({segHeights:J});function nd(e,t){if(!e.length)return[];let n=rd(t);return e.map(e=>({seg:e,isVisible:!0,isAbsolute:!0,absoluteTop:n[e.eventRange.instance.instanceId],marginTop:0}))}function rd(e){let t={};for(let n of e)for(let e of n)t[e.seg.eventRange.instance.instanceId]=e.absoluteTop;return t}var id=class extends ${constructor(){super(...arguments),this.splitBusinessHourSegs=G(Pu),this.splitBgEventSegs=G(ad),this.splitFgEventSegs=G(Pu),this.splitDateSelectionSegs=G(Pu),this.splitEventDrag=G(Iu),this.splitEventResize=G(Iu),this.rowRefs=new uc}render(){let{props:e,context:t}=this,n=e.cells.length,r=this.splitBusinessHourSegs(e.businessHourSegs,n),i=this.splitBgEventSegs(e.bgEventSegs,n),a=this.splitFgEventSegs(e.fgEventSegs,n),o=this.splitDateSelectionSegs(e.dateSelectionSegs,n),s=this.splitEventDrag(e.eventDrag,n),c=this.splitEventResize(e.eventResize,n),l=n>=7&&e.clientWidth?e.clientWidth/t.options.aspectRatio/6:null;return P(Ss,{unit:`day`},(t,u)=>P(I,null,e.cells.map((t,d)=>P(td,{ref:this.rowRefs.createRef(d),key:t.length?t[0].date.toISOString():d,showDayNumbers:n>1,showWeekNumbers:e.showWeekNumbers,todayRange:u,dateProfile:e.dateProfile,cells:t,renderIntro:e.renderRowIntro,businessHourSegs:r[d],eventSelection:e.eventSelection,bgEventSegs:i[d],fgEventSegs:a[d],dateSelectionSegs:o[d],eventDrag:s[d],eventResize:c[d],dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,clientWidth:e.clientWidth,clientHeight:e.clientHeight,cellMinHeight:l,forPrint:e.forPrint}))))}componentDidMount(){this.registerInteractiveComponent()}componentDidUpdate(){this.registerInteractiveComponent()}registerInteractiveComponent(){if(!this.rootEl){let e=this.rowRefs.currentMap[0].getCellEls()[0],t=e?e.closest(`.fc-daygrid-body`):null;t&&(this.rootEl=t,this.context.registerInteractiveComponent(this,{el:t,isHitComboAllowed:this.props.isHitComboAllowed}))}}componentWillUnmount(){this.rootEl&&=(this.context.unregisterInteractiveComponent(this),null)}prepareHits(){this.rowPositions=new Bs(this.rootEl,this.rowRefs.collect().map(e=>e.getCellEls()[0]),!1,!0),this.colPositions=new Bs(this.rootEl,this.rowRefs.currentMap[0].getCellEls(),!0,!1)}queryHit(e,t){let{colPositions:n,rowPositions:r}=this,i=n.leftToIndex(e),a=r.topToIndex(t);if(a!=null&&i!=null){let e=this.props.cells[a][i];return{dateProfile:this.props.dateProfile,dateSpan:Object.assign({range:this.getCellRange(a,i),allDay:!0},e.extraDateSpan),dayEl:this.getCellEl(a,i),rect:{left:n.lefts[i],right:n.rights[i],top:r.tops[a],bottom:r.bottoms[a]},layer:0}}return null}getCellEl(e,t){return this.rowRefs.currentMap[e].getCellEls()[t]}getCellRange(e,t){let n=this.props.cells[e][t].date;return{start:n,end:H(n,1)}}};function ad(e,t){return Pu(e.filter(od),t)}function od(e){return e.eventRange.def.allDay}var sd=class extends ${constructor(){super(...arguments),this.elRef=F(),this.needsScrollReset=!1}render(){let{props:e}=this,{dayMaxEventRows:t,dayMaxEvents:n,expandRows:r}=e,i=n===!0||t===!0;i&&!r&&(i=!1,t=null,n=null);let a=[`fc-daygrid-body`,i?`fc-daygrid-body-balanced`:`fc-daygrid-body-unbalanced`,r?``:`fc-daygrid-body-natural`];return P(`div`,{ref:this.elRef,className:a.join(` `),style:{width:e.clientWidth,minWidth:e.tableMinWidth}},P(`table`,{role:`presentation`,className:`fc-scrollgrid-sync-table`,style:{width:e.clientWidth,minWidth:e.tableMinWidth,height:r?e.clientHeight:``}},e.colGroupNode,P(`tbody`,{role:`presentation`},P(id,{dateProfile:e.dateProfile,cells:e.cells,renderRowIntro:e.renderRowIntro,showWeekNumbers:e.showWeekNumbers,clientWidth:e.clientWidth,clientHeight:e.clientHeight,businessHourSegs:e.businessHourSegs,bgEventSegs:e.bgEventSegs,fgEventSegs:e.fgEventSegs,dateSelectionSegs:e.dateSelectionSegs,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,dayMaxEvents:n,dayMaxEventRows:t,forPrint:e.forPrint,isHitComboAllowed:e.isHitComboAllowed}))))}componentDidMount(){this.requestScrollReset()}componentDidUpdate(e){e.dateProfile===this.props.dateProfile?this.flushScrollReset():this.requestScrollReset()}requestScrollReset(){this.needsScrollReset=!0,this.flushScrollReset()}flushScrollReset(){if(this.needsScrollReset&&this.props.clientWidth){let e=cd(this.elRef.current,this.props.dateProfile);if(e){let t=e.closest(`.fc-daygrid-body`),n=t.closest(`.fc-scroller`),r=e.getBoundingClientRect().top-t.getBoundingClientRect().top;n.scrollTop=r?r+1:0}this.needsScrollReset=!1}}};function cd(e,t){let n;return t.currentRangeUnit.match(/year|month/)&&(n=e.querySelector(`[data-date="${ui(t.currentDate)}-01"]`)),n||=e.querySelector(`[data-date="${li(t.currentDate)}"]`),n}var ld=class extends oc{constructor(){super(...arguments),this.forceDayIfListItem=!0}sliceRange(e,t){return t.sliceRange(e)}},ud=class extends ${constructor(){super(...arguments),this.slicer=new ld,this.tableRef=F()}render(){let{props:e,context:t}=this;return P(sd,Object.assign({ref:this.tableRef},this.slicer.sliceProps(e,e.dateProfile,e.nextDayThreshold,t,e.dayTableModel),{dateProfile:e.dateProfile,cells:e.dayTableModel.cells,colGroupNode:e.colGroupNode,tableMinWidth:e.tableMinWidth,renderRowIntro:e.renderRowIntro,dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,showWeekNumbers:e.showWeekNumbers,expandRows:e.expandRows,headerAlignElRef:e.headerAlignElRef,clientWidth:e.clientWidth,clientHeight:e.clientHeight,forPrint:e.forPrint}))}},dd=class extends Nu{constructor(){super(...arguments),this.buildDayTableModel=G(fd),this.headerRef=F(),this.tableRef=F()}render(){let{options:e,dateProfileGenerator:t}=this.context,{props:n}=this,r=this.buildDayTableModel(n.dateProfile,t),i=e.dayHeaders&&P(nc,{ref:this.headerRef,dateProfile:n.dateProfile,dates:r.headerDates,datesRepDistinctDays:r.rowCnt===1}),a=t=>P(ud,{ref:this.tableRef,dateProfile:n.dateProfile,dayTableModel:r,businessHours:n.businessHours,dateSelection:n.dateSelection,eventStore:n.eventStore,eventUiBases:n.eventUiBases,eventSelection:n.eventSelection,eventDrag:n.eventDrag,eventResize:n.eventResize,nextDayThreshold:e.nextDayThreshold,colGroupNode:t.tableColGroupNode,tableMinWidth:t.tableMinWidth,dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,showWeekNumbers:e.weekNumbers,expandRows:!n.isHeightAuto,headerAlignElRef:this.headerElRef,clientWidth:t.clientWidth,clientHeight:t.clientHeight,forPrint:n.forPrint});return e.dayMinWidth?this.renderHScrollLayout(i,a,r.colCnt,e.dayMinWidth):this.renderSimpleLayout(i,a)}};function fd(e,t){return new ac(new ic(e.renderRange,t),/year|month|week/.test(e.currentRangeUnit))}var pd=class extends Ra{buildRenderRange(e,t,n){let r=super.buildRenderRange(e,t,n),{props:i}=this;return md({currentRange:r,snapToWeek:/^(year|month)$/.test(t),fixedWeekCount:i.fixedWeekCount,dateEnv:i.dateEnv})}};function md(e){let{dateEnv:t,currentRange:n}=e,{start:r,end:i}=n,a;if(e.snapToWeek&&(r=t.startOfWeek(r),a=t.startOfWeek(i),a.valueOf()!==i.valueOf()&&(i=Vr(a,1))),e.fixedWeekCount){let e=t.startOfWeek(t.startOfMonth(H(n.end,-1))),r=Math.ceil(Ur(e,i));i=Vr(i,6-r)}return{start:r,end:i}}qn(`:root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{clear:both;content:"";display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-daygrid-day-frame{min-height:100%;position:relative}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{padding:4px;position:relative;z-index:4}.fc .fc-daygrid-month-start{font-size:1.1em;font-weight:700}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{left:0;position:absolute;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{min-height:2em;position:relative}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{left:0;position:absolute;right:0;top:0}.fc .fc-daygrid-bg-harness{bottom:0;position:absolute;top:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{margin-top:1px;z-index:6}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;margin:0 2px}.fc .fc-daygrid-day-bottom:after,.fc .fc-daygrid-day-bottom:before{clear:both;content:"";display:table}.fc .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 .fc-daygrid-more-link:hover{background-color:rgba(0,0,0,.1)}.fc .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 .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.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-more-link{float:left}.fc-direction-ltr .fc-daygrid-week-number{border-radius:0 0 3px 0;left:0}.fc-direction-rtl .fc-daygrid-more-link{float:right}.fc-direction-rtl .fc-daygrid-week-number{border-radius:0 0 0 3px;right:0}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{border-radius:3px;font-size:var(--fc-small-font-size);position:relative;white-space:nowrap}.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;display:flex;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;font-weight:700;min-width:0;overflow:hidden}.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-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}`);var hd=al({name:`@fullcalendar/daygrid`,initialView:`dayGridMonth`,views:{dayGrid:{component:dd,dateProfileGeneratorClass:pd},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}}}}),gd=class extends Ds{getKeyInfo(){return{allDay:{},timed:{}}}getKeysForDateSpan(e){return e.allDay?[`allDay`]:[`timed`]}getKeysForEventDef(e){return e.allDay?Wo(e)?[`timed`,`allDay`]:[`allDay`]:[`timed`]}},_d=K({hour:`numeric`,minute:`2-digit`,omitZeroMinute:!0,meridiem:`short`});function vd(e){let t=[`fc-timegrid-slot`,`fc-timegrid-slot-label`,e.isLabeled?`fc-scrollgrid-shrink`:`fc-timegrid-slot-minor`];return P(ma.Consumer,null,n=>{if(!e.isLabeled)return P(`td`,{className:t.join(` `),"data-time":e.isoTimeStr});let{dateEnv:r,options:i,viewApi:a}=n,o=i.slotLabelFormat==null?_d:Array.isArray(i.slotLabelFormat)?K(i.slotLabelFormat[0]):K(i.slotLabelFormat),s={level:0,time:e.time,date:r.toDate(e.date),view:a,text:r.format(e.date,o)};return P(Z,{elTag:`td`,elClasses:t,elAttrs:{"data-time":e.isoTimeStr},renderProps:s,generatorName:`slotLabelContent`,customGenerator:i.slotLabelContent,defaultGenerator:yd,classNameGenerator:i.slotLabelClassNames,didMount:i.slotLabelDidMount,willUnmount:i.slotLabelWillUnmount},e=>P(`div`,{className:`fc-timegrid-slot-label-frame fc-scrollgrid-shrink-frame`},P(e,{elTag:`div`,elClasses:[`fc-timegrid-slot-label-cushion`,`fc-scrollgrid-shrink-cushion`]})))})}function yd(e){return e.text}var bd=class extends Y{render(){return this.props.slatMetas.map(e=>P(`tr`,{key:e.key},P(vd,Object.assign({},e))))}},xd=K({week:`short`}),Sd=5,Cd=class extends ${constructor(){super(...arguments),this.allDaySplitter=new gd,this.headerElRef=F(),this.rootElRef=F(),this.scrollerElRef=F(),this.state={slatCoords:null},this.handleScrollTopRequest=e=>{let t=this.scrollerElRef.current;t&&(t.scrollTop=e)},this.renderHeadAxis=(e,t=``)=>{let{options:n}=this.context,{dateProfile:r}=this.props,i=r.renderRange,a=Wr(i.start,i.end)===1?Ns(this.context,i.start,`week`):{};return n.weekNumbers&&e===`day`?P(Lc,{elTag:`th`,elClasses:[`fc-timegrid-axis`,`fc-scrollgrid-shrink`],elAttrs:{"aria-hidden":!0},date:i.start,defaultFormat:xd},e=>P(`div`,{className:[`fc-timegrid-axis-frame`,`fc-scrollgrid-shrink-frame`,`fc-timegrid-axis-frame-liquid`].join(` `),style:{height:t}},P(e,{elTag:`a`,elClasses:[`fc-timegrid-axis-cushion`,`fc-scrollgrid-shrink-cushion`,`fc-scrollgrid-sync-inner`],elAttrs:a}))):P(`th`,{"aria-hidden":!0,className:`fc-timegrid-axis`},P(`div`,{className:`fc-timegrid-axis-frame`,style:{height:t}}))},this.renderTableRowAxis=e=>{let{options:t,viewApi:n}=this.context;return P(Z,{elTag:`td`,elClasses:[`fc-timegrid-axis`,`fc-scrollgrid-shrink`],elAttrs:{"aria-hidden":!0},renderProps:{text:t.allDayText,view:n},generatorName:`allDayContent`,customGenerator:t.allDayContent,defaultGenerator:wd,classNameGenerator:t.allDayClassNames,didMount:t.allDayDidMount,willUnmount:t.allDayWillUnmount},t=>P(`div`,{className:[`fc-timegrid-axis-frame`,`fc-scrollgrid-shrink-frame`,e==null?` fc-timegrid-axis-frame-liquid`:``].join(` `),style:{height:e}},P(t,{elTag:`span`,elClasses:[`fc-timegrid-axis-cushion`,`fc-scrollgrid-shrink-cushion`,`fc-scrollgrid-sync-inner`]})))},this.handleSlatCoords=e=>{this.setState({slatCoords:e})}}renderSimpleLayout(e,t,n){let{context:r,props:i}=this,a=[],o=Sc(r.options);return e&&a.push({type:`header`,key:`header`,isSticky:o,chunk:{elRef:this.headerElRef,tableClassName:`fc-col-header`,rowContent:e}}),t&&(a.push({type:`body`,key:`all-day`,chunk:{content:t}}),a.push({type:`body`,key:`all-day-divider`,outerContent:P(`tr`,{role:`presentation`,className:`fc-scrollgrid-section`},P(`td`,{className:`fc-timegrid-divider `+r.theme.getClass(`tableCellShaded`)}))})),a.push({type:`body`,key:`body`,liquid:!0,expandRows:!!r.options.expandRows,chunk:{scrollerElRef:this.scrollerElRef,content:n}}),P(Ea,{elRef:this.rootElRef,elClasses:[`fc-timegrid`],viewSpec:r.viewSpec},P(wc,{liquid:!i.isHeightAuto&&!i.forPrint,collapsibleWidth:i.forPrint,cols:[{width:`shrink`}],sections:a}))}renderHScrollLayout(e,t,n,r,i,a,o){let s=this.context.pluginHooks.scrollGridImpl;if(!s)throw Error(`No ScrollGrid implementation`);let{context:c,props:l}=this,u=!l.forPrint&&Sc(c.options),d=!l.forPrint&&Cc(c.options),f=[];e&&f.push({type:`header`,key:`header`,isSticky:u,syncRowHeights:!0,chunks:[{key:`axis`,rowContent:e=>P(`tr`,{role:`presentation`},this.renderHeadAxis(`day`,e.rowSyncHeights[0]))},{key:`cols`,elRef:this.headerElRef,tableClassName:`fc-col-header`,rowContent:e}]}),t&&(f.push({type:`body`,key:`all-day`,syncRowHeights:!0,chunks:[{key:`axis`,rowContent:e=>P(`tr`,{role:`presentation`},this.renderTableRowAxis(e.rowSyncHeights[0]))},{key:`cols`,content:t}]}),f.push({key:`all-day-divider`,type:`body`,outerContent:P(`tr`,{role:`presentation`,className:`fc-scrollgrid-section`},P(`td`,{colSpan:2,className:`fc-timegrid-divider `+c.theme.getClass(`tableCellShaded`)}))}));let p=c.options.nowIndicator;return f.push({type:`body`,key:`body`,liquid:!0,expandRows:!!c.options.expandRows,chunks:[{key:`axis`,content:e=>P(`div`,{className:`fc-timegrid-axis-chunk`},P(`table`,{"aria-hidden":!0,style:{height:e.expandRows?e.clientHeight:``}},e.tableColGroupNode,P(`tbody`,null,P(bd,{slatMetas:a}))),P(`div`,{className:`fc-timegrid-now-indicator-container`},P(Ss,{unit:p?`minute`:`day`},e=>{let t=p&&o&&o.safeComputeTop(e);return typeof t==`number`?P(kc,{elClasses:[`fc-timegrid-now-indicator-arrow`],elStyle:{top:t},isAxis:!0,date:e}):null})))},{key:`cols`,scrollerElRef:this.scrollerElRef,content:n}]}),d&&f.push({key:`footer`,type:`footer`,isSticky:!0,chunks:[{key:`axis`,content:xc},{key:`cols`,content:xc}]}),P(Ea,{elRef:this.rootElRef,elClasses:[`fc-timegrid`],viewSpec:c.viewSpec},P(s,{liquid:!l.isHeightAuto&&!l.forPrint,forPrint:l.forPrint,collapsibleWidth:!1,colGroups:[{width:`shrink`,cols:[{width:`shrink`}]},{cols:[{span:r,minWidth:i}]}],sections:f}))}getAllDayMaxEventProps(){let{dayMaxEvents:e,dayMaxEventRows:t}=this.context.options;return(e===!0||t===!0)&&(e=void 0,t=Sd),{dayMaxEvents:e,dayMaxEventRows:t}}};function wd(e){return e.text}var Td=class{constructor(e,t,n){this.positions=e,this.dateProfile=t,this.slotDuration=n}safeComputeTop(e){let{dateProfile:t}=this;if(Na(t.currentRange,e)){let n=U(e),r=e.valueOf()-n.valueOf();if(r>=V(t.slotMinTime)&&r<V(t.slotMaxTime))return this.computeTimeTop(B(r))}return null}computeDateTop(e,t){return t||=U(e),this.computeTimeTop(B(e.valueOf()-t.valueOf()))}computeTimeTop(e){let{positions:t,dateProfile:n}=this,r=t.els.length,i=(e.milliseconds-V(n.slotMinTime))/V(this.slotDuration),a,o;return i=Math.max(0,i),i=Math.min(r,i),a=Math.floor(i),a=Math.min(a,r-1),o=i-a,t.tops[a]+t.getHeight(a)*o}},Ed=class extends Y{render(){let{props:e,context:t}=this,{options:n}=t,{slatElRefs:r}=e;return P(`tbody`,null,e.slatMetas.map((i,a)=>{let o={time:i.time,date:t.dateEnv.toDate(i.date),view:t.viewApi};return P(`tr`,{key:i.key,ref:r.createRef(i.key)},e.axis&&P(vd,Object.assign({},i)),P(Z,{elTag:`td`,elClasses:[`fc-timegrid-slot`,`fc-timegrid-slot-lane`,!i.isLabeled&&`fc-timegrid-slot-minor`],elAttrs:{"data-time":i.isoTimeStr},renderProps:o,generatorName:`slotLaneContent`,customGenerator:n.slotLaneContent,classNameGenerator:n.slotLaneClassNames,didMount:n.slotLaneDidMount,willUnmount:n.slotLaneWillUnmount}))}))}},Dd=class extends Y{constructor(){super(...arguments),this.rootElRef=F(),this.slatElRefs=new uc}render(){let{props:e,context:t}=this;return P(`div`,{ref:this.rootElRef,className:`fc-timegrid-slots`},P(`table`,{"aria-hidden":!0,className:t.theme.getClass(`table`),style:{minWidth:e.tableMinWidth,width:e.clientWidth,height:e.minHeight}},e.tableColGroupNode,P(Ed,{slatElRefs:this.slatElRefs,axis:e.axis,slatMetas:e.slatMetas})))}componentDidMount(){this.updateSizing()}componentDidUpdate(){this.updateSizing()}componentWillUnmount(){this.props.onCoords&&this.props.onCoords(null)}updateSizing(){let{context:e,props:t}=this;t.onCoords&&t.clientWidth!==null&&this.rootElRef.current.offsetHeight&&t.onCoords(new Td(new Bs(this.rootElRef.current,Od(this.slatElRefs.currentMap,t.slatMetas),!1,!0),this.props.dateProfile,e.options.slotDuration))}};function Od(e,t){return t.map(t=>e[t.key])}function kd(e,t){let n=[],r;for(r=0;r<t;r+=1)n.push([]);if(e)for(r=0;r<e.length;r+=1)n[e[r].col].push(e[r]);return n}function Ad(e,t){let n=[];if(e){for(let r=0;r<t;r+=1)n[r]={affectedInstances:e.affectedInstances,isEvent:e.isEvent,segs:[]};for(let t of e.segs)n[t.col].segs.push(t)}else for(let e=0;e<t;e+=1)n[e]=null;return n}var jd=class extends Y{render(){let{props:e}=this;return P(Hc,{elClasses:[`fc-timegrid-more-link`],elStyle:{top:e.top,bottom:e.bottom},allDayDate:null,moreCnt:e.hiddenSegs.length,allSegs:e.hiddenSegs,hiddenSegs:e.hiddenSegs,extraDateSpan:e.extraDateSpan,dateProfile:e.dateProfile,todayRange:e.todayRange,popoverContent:()=>qd(e.hiddenSegs,e),defaultGenerator:Md,forceTimed:!0},e=>P(e,{elTag:`div`,elClasses:[`fc-timegrid-more-link-inner`,`fc-sticky`]}))}};function Md(e){return e.shortText}function Nd(e,t,n){let r=new Hs;t!=null&&(r.strictOrder=t),n!=null&&(r.maxStackCnt=n);let i=Gs(r.addSegs(e)),a=Pd(r);return a=zd(a,1),{segRects:Bd(a),hiddenGroups:i}}function Pd(e){let{entriesByLevel:t}=e,n=Vd((e,t)=>e+`:`+t,(r,i)=>{let a=Fd(Rd(e,r,i),n),o=t[r][i];return[Object.assign(Object.assign({},o),{nextLevelNodes:a[0]}),o.thickness+a[1]]});return Fd(t.length?{level:0,lateralStart:0,lateralEnd:t[0].length}:null,n)[0]}function Fd(e,t){if(!e)return[[],0];let{level:n,lateralStart:r,lateralEnd:i}=e,a=r,o=[];for(;a<i;)o.push(t(n,a)),a+=1;return o.sort(Id),[o.map(Ld),o[0][1]]}function Id(e,t){return t[1]-e[1]}function Ld(e){return e[0]}function Rd(e,t,n){let{levelCoords:r,entriesByLevel:i}=e,a=i[t][n],o=r[t]+a.thickness,s=r.length,c=t;for(;c<s&&r[c]<o;c+=1);for(;c<s;c+=1){let e=i[c],t,n=Ys(e,a.span.start,Us),r=n[0]+n[1],o=r;for(;(t=e[o])&&t.span.start<a.span.end;)o+=1;if(r<o)return{level:c,lateralStart:r,lateralEnd:o}}return null}function zd(e,t){let n=Vd((e,t,n)=>Ws(e),(e,r,i)=>{let{nextLevelNodes:a,thickness:o}=e,s=o+i,c=o/s,l,u=[];if(!a.length)l=t;else for(let e of a)if(l===void 0){let t=n(e,r,s);l=t[0],u.push(t[1])}else{let t=n(e,l,0);u.push(t[1])}let d=(l-r)*c;return[l-d,Object.assign(Object.assign({},e),{thickness:d,nextLevelNodes:u})]});return e.map(e=>n(e,0,0)[1])}function Bd(e){let t=[],n=Vd((e,t,n)=>Ws(e),(e,n,i)=>{let a=Object.assign(Object.assign({},e),{levelCoord:n,stackDepth:i,stackForward:0});return t.push(a),a.stackForward=r(e.nextLevelNodes,n+e.thickness,i+1)+1});function r(e,t,r){let i=0;for(let a of e)i=Math.max(n(a,t,r),i);return i}return r(e,0,0),t}function Vd(e,t){let n={};return(...r)=>{let i=e(...r);return i in n?n[i]:n[i]=t(...r)}}function Hd(e,t,n=null,r=0){let i=[];if(n)for(let a=0;a<e.length;a+=1){let o=e[a],s=n.computeDateTop(o.start,t),c=Math.max(s+(r||0),n.computeDateTop(o.end,t));i.push({start:Math.round(s),end:Math.round(c)})}return i}function Ud(e,t,n,r){let i=[],a=[];for(let n=0;n<e.length;n+=1){let r=t[n];r?i.push({index:n,thickness:1,span:r}):a.push(e[n])}let{segRects:o,hiddenGroups:s}=Nd(i,n,r),c=[];for(let t of o)c.push({seg:e[t.index],rect:t});for(let e of a)c.push({seg:e,rect:null});return{segPlacements:c,hiddenGroups:s}}var Wd=K({hour:`numeric`,minute:`2-digit`,meridiem:!1}),Gd=class extends Y{render(){return P(Dc,Object.assign({},this.props,{elClasses:[`fc-timegrid-event`,`fc-v-event`,this.props.isShort&&`fc-timegrid-event-short`],defaultTimeFormat:Wd}))}},Kd=class extends Y{constructor(){super(...arguments),this.sortEventSegs=G(Yo)}render(){let{props:e,context:t}=this,{options:n}=t,r=n.selectMirror,i=e.eventDrag&&e.eventDrag.segs||e.eventResize&&e.eventResize.segs||r&&e.dateSelectionSegs||[],a=e.eventDrag&&e.eventDrag.affectedInstances||e.eventResize&&e.eventResize.affectedInstances||{},o=this.sortEventSegs(e.fgEventSegs,n.eventOrder);return P(jc,{elTag:`td`,elRef:e.elRef,elClasses:[`fc-timegrid-col`,...e.extraClassNames||[]],elAttrs:Object.assign({role:`gridcell`},e.extraDataAttrs),date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,extraRenderProps:e.extraRenderProps},t=>P(`div`,{className:`fc-timegrid-col-frame`},P(`div`,{className:`fc-timegrid-col-bg`},this.renderFillSegs(e.businessHourSegs,`non-business`),this.renderFillSegs(e.bgEventSegs,`bg-event`),this.renderFillSegs(e.dateSelectionSegs,`highlight`)),P(`div`,{className:`fc-timegrid-col-events`},this.renderFgSegs(o,a,!1,!1,!1)),P(`div`,{className:`fc-timegrid-col-events`},this.renderFgSegs(i,{},!!e.eventDrag,!!e.eventResize,!!r,`mirror`)),P(`div`,{className:`fc-timegrid-now-indicator-container`},this.renderNowIndicator(e.nowIndicatorSegs)),Mc(n)&&P(t,{elTag:`div`,elClasses:[`fc-timegrid-col-misc`]})))}renderFgSegs(e,t,n,r,i,a){let{props:o}=this;return o.forPrint?qd(e,o):this.renderPositionedFgSegs(e,t,n,r,i,a)}renderPositionedFgSegs(e,t,n,r,i,a){let{eventMaxStack:o,eventShortHeight:s,eventOrderStrict:c,eventMinHeight:l}=this.context.options,{date:u,slatCoords:d,eventSelection:f,todayRange:p,nowDate:m}=this.props,h=n||r||i,{segPlacements:g,hiddenGroups:_}=Ud(e,Hd(e,u,d,l),c,o);return P(I,null,this.renderHiddenGroups(_,e),g.map(e=>{let{seg:o,rect:c}=e,l=o.eventRange.instance.instanceId,u=h||!!(!t[l]&&c),d=Jd(c&&c.span),g=!h&&c?this.computeSegHStyle(c):{left:0,right:0},_=!!c&&c.stackForward>0,v=!!c&&c.span.end-c.span.start<s;return P(`div`,{className:`fc-timegrid-event-harness`+(_?` fc-timegrid-event-harness-inset`:``),key:a||l,style:Object.assign(Object.assign({visibility:u?``:`hidden`},d),g)},P(Gd,Object.assign({seg:o,isDragging:n,isResizing:r,isDateSelecting:i,isSelected:l===f,isShort:v},ts(o,p,m))))}))}renderHiddenGroups(e,t){let{extraDateSpan:n,dateProfile:r,todayRange:i,nowDate:a,eventSelection:o,eventDrag:s,eventResize:c}=this.props;return P(I,null,e.map(e=>{let l=Jd(e.span),u=Yd(e.entries,t);return P(jd,{key:ci(Gc(u)),hiddenSegs:u,top:l.top,bottom:l.bottom,extraDateSpan:n,dateProfile:r,todayRange:i,nowDate:a,eventSelection:o,eventDrag:s,eventResize:c})}))}renderFillSegs(e,t){let{props:n,context:r}=this;return P(I,null,Hd(e,n.date,n.slatCoords,r.options.eventMinHeight).map((r,i)=>{let a=e[i];return P(`div`,{key:rs(a.eventRange),className:`fc-timegrid-bg-harness`,style:Jd(r)},t===`bg-event`?P(Pc,Object.assign({seg:a},ts(a,n.todayRange,n.nowDate))):Ic(t))}))}renderNowIndicator(e){let{slatCoords:t,date:n}=this.props;return t?e.map((e,r)=>P(kc,{key:r,elClasses:[`fc-timegrid-now-indicator-line`],elStyle:{top:t.computeDateTop(e.start,n)},isAxis:!1,date:n})):null}computeSegHStyle(e){let{isRtl:t,options:n}=this.context,r=n.slotEventOverlap,i=e.levelCoord,a=e.levelCoord+e.thickness,o,s;r&&(a=Math.min(1,i+(a-i)*2)),t?(o=1-a,s=i):(o=i,s=1-a);let c={zIndex:e.stackDepth+1,left:o*100+`%`,right:s*100+`%`};return r&&!e.stackForward&&(c[t?`marginLeft`:`marginRight`]=20),c}};function qd(e,{todayRange:t,nowDate:n,eventSelection:r,eventDrag:i,eventResize:a}){let o=(i?i.affectedInstances:null)||(a?a.affectedInstances:null)||{};return P(I,null,e.map(e=>{let i=e.eventRange.instance.instanceId;return P(`div`,{key:i,style:{visibility:o[i]?`hidden`:``}},P(Gd,Object.assign({seg:e,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:i===r,isShort:!1},ts(e,t,n))))}))}function Jd(e){return e?{top:e.start,bottom:-e.end}:{top:``,bottom:``}}function Yd(e,t){return e.map(e=>t[e.index])}var Xd=class extends Y{constructor(){super(...arguments),this.splitFgEventSegs=G(kd),this.splitBgEventSegs=G(kd),this.splitBusinessHourSegs=G(kd),this.splitNowIndicatorSegs=G(kd),this.splitDateSelectionSegs=G(kd),this.splitEventDrag=G(Ad),this.splitEventResize=G(Ad),this.rootElRef=F(),this.cellElRefs=new uc}render(){let{props:e,context:t}=this,n=t.options.nowIndicator&&e.slatCoords&&e.slatCoords.safeComputeTop(e.nowDate),r=e.cells.length,i=this.splitFgEventSegs(e.fgEventSegs,r),a=this.splitBgEventSegs(e.bgEventSegs,r),o=this.splitBusinessHourSegs(e.businessHourSegs,r),s=this.splitNowIndicatorSegs(e.nowIndicatorSegs,r),c=this.splitDateSelectionSegs(e.dateSelectionSegs,r),l=this.splitEventDrag(e.eventDrag,r),u=this.splitEventResize(e.eventResize,r);return P(`div`,{className:`fc-timegrid-cols`,ref:this.rootElRef},P(`table`,{role:`presentation`,style:{minWidth:e.tableMinWidth,width:e.clientWidth}},e.tableColGroupNode,P(`tbody`,{role:`presentation`},P(`tr`,{role:`row`},e.axis&&P(`td`,{"aria-hidden":!0,className:`fc-timegrid-col fc-timegrid-axis`},P(`div`,{className:`fc-timegrid-col-frame`},P(`div`,{className:`fc-timegrid-now-indicator-container`},typeof n==`number`&&P(kc,{elClasses:[`fc-timegrid-now-indicator-arrow`],elStyle:{top:n},isAxis:!0,date:e.nowDate})))),e.cells.map((t,n)=>P(Kd,{key:t.key,elRef:this.cellElRefs.createRef(t.key),dateProfile:e.dateProfile,date:t.date,nowDate:e.nowDate,todayRange:e.todayRange,extraRenderProps:t.extraRenderProps,extraDataAttrs:t.extraDataAttrs,extraClassNames:t.extraClassNames,extraDateSpan:t.extraDateSpan,fgEventSegs:i[n],bgEventSegs:a[n],businessHourSegs:o[n],nowIndicatorSegs:s[n],dateSelectionSegs:c[n],eventDrag:l[n],eventResize:u[n],slatCoords:e.slatCoords,eventSelection:e.eventSelection,forPrint:e.forPrint}))))))}componentDidMount(){this.updateCoords()}componentDidUpdate(){this.updateCoords()}updateCoords(){let{props:e}=this;e.onColCoords&&e.clientWidth!==null&&e.onColCoords(new Bs(this.rootElRef.current,Zd(this.cellElRefs.currentMap,e.cells),!0,!1))}};function Zd(e,t){return t.map(t=>e[t.key])}var Qd=class extends ${constructor(){super(...arguments),this.processSlotOptions=G($d),this.state={slatCoords:null},this.handleRootEl=e=>{e?this.context.registerInteractiveComponent(this,{el:e,isHitComboAllowed:this.props.isHitComboAllowed}):this.context.unregisterInteractiveComponent(this)},this.handleScrollRequest=e=>{let{onScrollTopRequest:t}=this.props,{slatCoords:n}=this.state;if(t&&n){if(e.time){let r=n.computeTimeTop(e.time);r=Math.ceil(r),r&&(r+=1),t(r)}return!0}return!1},this.handleColCoords=e=>{this.colCoords=e},this.handleSlatCoords=e=>{this.setState({slatCoords:e}),this.props.onSlatCoords&&this.props.onSlatCoords(e)}}render(){let{props:e,state:t}=this;return P(`div`,{className:`fc-timegrid-body`,ref:this.handleRootEl,style:{width:e.clientWidth,minWidth:e.tableMinWidth}},P(Dd,{axis:e.axis,dateProfile:e.dateProfile,slatMetas:e.slatMetas,clientWidth:e.clientWidth,minHeight:e.expandRows?e.clientHeight:``,tableMinWidth:e.tableMinWidth,tableColGroupNode:e.axis?e.tableColGroupNode:null,onCoords:this.handleSlatCoords}),P(Xd,{cells:e.cells,axis:e.axis,dateProfile:e.dateProfile,businessHourSegs:e.businessHourSegs,bgEventSegs:e.bgEventSegs,fgEventSegs:e.fgEventSegs,dateSelectionSegs:e.dateSelectionSegs,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,todayRange:e.todayRange,nowDate:e.nowDate,nowIndicatorSegs:e.nowIndicatorSegs,clientWidth:e.clientWidth,tableMinWidth:e.tableMinWidth,tableColGroupNode:e.tableColGroupNode,slatCoords:t.slatCoords,onColCoords:this.handleColCoords,forPrint:e.forPrint}))}componentDidMount(){this.scrollResponder=this.context.createScrollResponder(this.handleScrollRequest)}componentDidUpdate(e){this.scrollResponder.update(e.dateProfile!==this.props.dateProfile)}componentWillUnmount(){this.scrollResponder.detach()}queryHit(e,t){let{dateEnv:n,options:r}=this.context,{colCoords:i}=this,{dateProfile:a}=this.props,{slatCoords:o}=this.state,{snapDuration:s,snapsPerSlot:c}=this.processSlotOptions(this.props.slotDuration,r.snapDuration),l=i.leftToIndex(e),u=o.positions.topToIndex(t);if(l!=null&&u!=null){let e=this.props.cells[l],r=o.positions.tops[u],d=o.positions.getHeight(u),f=(t-r)/d,p=Math.floor(f*c),m=u*c+p,h=this.props.cells[l].date,g=jr(a.slotMinTime,Nr(s,m)),_=n.add(h,g),v=n.add(_,s);return{dateProfile:a,dateSpan:Object.assign({range:{start:_,end:v},allDay:!1},e.extraDateSpan),dayEl:i.els[l],rect:{left:i.lefts[l],right:i.rights[l],top:r,bottom:r+d},layer:0}}return null}};function $d(e,t){let n=t||e,r=Lr(e,n);return r===null&&(n=e,r=1),{snapDuration:n,snapsPerSlot:r}}var ef=class extends oc{sliceRange(e,t){let n=[];for(let r=0;r<t.length;r+=1){let i=ja(e,t[r]);i&&n.push({start:i.start,end:i.end,isStart:i.start.valueOf()===e.start.valueOf(),isEnd:i.end.valueOf()===e.end.valueOf(),col:r})}return n}},tf=class extends ${constructor(){super(...arguments),this.buildDayRanges=G(nf),this.slicer=new ef,this.timeColsRef=F()}render(){let{props:e,context:t}=this,{dateProfile:n,dayTableModel:r}=e,{nowIndicator:i,nextDayThreshold:a}=t.options,o=this.buildDayRanges(r,n,t.dateEnv);return P(Ss,{unit:i?`minute`:`day`},(s,c)=>P(Qd,Object.assign({ref:this.timeColsRef},this.slicer.sliceProps(e,n,null,t,o),{forPrint:e.forPrint,axis:e.axis,dateProfile:n,slatMetas:e.slatMetas,slotDuration:e.slotDuration,cells:r.cells[0],tableColGroupNode:e.tableColGroupNode,tableMinWidth:e.tableMinWidth,clientWidth:e.clientWidth,clientHeight:e.clientHeight,expandRows:e.expandRows,nowDate:s,nowIndicatorSegs:i&&this.slicer.sliceNowDate(s,n,a,t,o),todayRange:c,onScrollTopRequest:e.onScrollTopRequest,onSlatCoords:e.onSlatCoords})))}};function nf(e,t,n){let r=[];for(let i of e.headerDates)r.push({start:n.add(i,t.slotMinTime),end:n.add(i,t.slotMaxTime)});return r}var rf=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}];function af(e,t,n,r,i){let a=new Date(0),o=e,s=B(0),c=n||of(r),l=[];for(;V(o)<V(t);){let e=i.add(a,o),t=Lr(s,c)!==null;l.push({date:e,time:o,key:e.toISOString(),isoTimeStr:di(e),isLabeled:t}),o=jr(o,r),s=jr(s,r)}return l}function of(e){let t,n,r;for(t=rf.length-1;t>=0;--t)if(n=B(rf[t]),r=Lr(n,e),r!==null&&r>1)return n;return e}var sf=class extends Cd{constructor(){super(...arguments),this.buildTimeColsModel=G(cf),this.buildSlatMetas=G(af)}render(){let{options:e,dateEnv:t,dateProfileGenerator:n}=this.context,{props:r}=this,{dateProfile:i}=r,a=this.buildTimeColsModel(i,n),o=this.allDaySplitter.splitProps(r),s=this.buildSlatMetas(i.slotMinTime,i.slotMaxTime,e.slotLabelInterval,e.slotDuration,t),{dayMinWidth:c}=e,l=!c,u=c,d=e.dayHeaders&&P(nc,{dates:a.headerDates,dateProfile:i,datesRepDistinctDays:!0,renderIntro:l?this.renderHeadAxis:null}),f=e.allDaySlot!==!1&&(t=>P(ud,Object.assign({},o.allDay,{dateProfile:i,dayTableModel:a,nextDayThreshold:e.nextDayThreshold,tableMinWidth:t.tableMinWidth,colGroupNode:t.tableColGroupNode,renderRowIntro:l?this.renderTableRowAxis:null,showWeekNumbers:!1,expandRows:!1,headerAlignElRef:this.headerElRef,clientWidth:t.clientWidth,clientHeight:t.clientHeight,forPrint:r.forPrint},this.getAllDayMaxEventProps()))),p=t=>P(tf,Object.assign({},o.timed,{dayTableModel:a,dateProfile:i,axis:l,slotDuration:e.slotDuration,slatMetas:s,forPrint:r.forPrint,tableColGroupNode:t.tableColGroupNode,tableMinWidth:t.tableMinWidth,clientWidth:t.clientWidth,clientHeight:t.clientHeight,onSlatCoords:this.handleSlatCoords,expandRows:t.expandRows,onScrollTopRequest:this.handleScrollTopRequest}));return u?this.renderHScrollLayout(d,f,p,a.colCnt,c,s,this.state.slatCoords):this.renderSimpleLayout(d,f,p)}};function cf(e,t){return new ac(new ic(e.renderRange,t),!1)}qn(`.fc-v-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-v-event .fc-event-main{color:var(--fc-event-text-color);height:100%}.fc-v-event .fc-event-main-frame{display:flex;flex-direction:column;height:100%}.fc-v-event .fc-event-time{flex-grow:0;flex-shrink:0;max-height:100%;overflow:hidden}.fc-v-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-height:0}.fc-v-event .fc-event-title{bottom:0;max-height:100%;overflow:hidden;top:0}.fc-v-event:not(.fc-event-start){border-top-left-radius:0;border-top-right-radius:0;border-top-width:0}.fc-v-event:not(.fc-event-end){border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-width:0}.fc-v-event.fc-event-selected:before{left:-10px;right:-10px}.fc-v-event .fc-event-resizer-start{cursor:n-resize}.fc-v-event .fc-event-resizer-end{cursor:s-resize}.fc-v-event:not(.fc-event-selected) .fc-event-resizer{height:var(--fc-event-resizer-thickness);left:0;right:0}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start{top:calc(var(--fc-event-resizer-thickness)/-2)}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end{bottom:calc(var(--fc-event-resizer-thickness)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer{left:50%;margin-left:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-start{top:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-end{bottom:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc .fc-timegrid .fc-daygrid-body{z-index:2}.fc .fc-timegrid-divider{padding:0 0 2px}.fc .fc-timegrid-body{min-height:100%;position:relative;z-index:1}.fc .fc-timegrid-axis-chunk{position:relative}.fc .fc-timegrid-axis-chunk>table,.fc .fc-timegrid-slots{position:relative;z-index:1}.fc .fc-timegrid-slot{border-bottom:0;height:1.5em}.fc .fc-timegrid-slot:empty:before{content:"\\00a0"}.fc .fc-timegrid-slot-minor{border-top-style:dotted}.fc .fc-timegrid-slot-label-cushion{display:inline-block;white-space:nowrap}.fc .fc-timegrid-slot-label{vertical-align:middle}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{padding:0 4px}.fc .fc-timegrid-axis-frame-liquid{height:100%}.fc .fc-timegrid-axis-frame{align-items:center;display:flex;justify-content:flex-end;overflow:hidden}.fc .fc-timegrid-axis-cushion{flex-shrink:0;max-width:60px}.fc-direction-ltr .fc-timegrid-slot-label-frame{text-align:right}.fc-direction-rtl .fc-timegrid-slot-label-frame{text-align:left}.fc-liquid-hack .fc-timegrid-axis-frame-liquid{bottom:0;height:auto;left:0;position:absolute;right:0;top:0}.fc .fc-timegrid-col.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-timegrid-col-frame{min-height:100%;position:relative}.fc-media-screen.fc-liquid-hack .fc-timegrid-col-frame{bottom:0;height:auto;left:0;position:absolute;right:0;top:0}.fc-media-screen .fc-timegrid-cols{bottom:0;left:0;position:absolute;right:0;top:0}.fc-media-screen .fc-timegrid-cols>table{height:100%}.fc-media-screen .fc-timegrid-col-bg,.fc-media-screen .fc-timegrid-col-events,.fc-media-screen .fc-timegrid-now-indicator-container{left:0;position:absolute;right:0;top:0}.fc .fc-timegrid-col-bg{z-index:2}.fc .fc-timegrid-col-bg .fc-non-business{z-index:1}.fc .fc-timegrid-col-bg .fc-bg-event{z-index:2}.fc .fc-timegrid-col-bg .fc-highlight{z-index:3}.fc .fc-timegrid-bg-harness{left:0;position:absolute;right:0}.fc .fc-timegrid-col-events{z-index:3}.fc .fc-timegrid-now-indicator-container{bottom:0;overflow:hidden}.fc-direction-ltr .fc-timegrid-col-events{margin:0 2.5% 0 2px}.fc-direction-rtl .fc-timegrid-col-events{margin:0 2px 0 2.5%}.fc-timegrid-event-harness{position:absolute}.fc-timegrid-event-harness>.fc-timegrid-event{bottom:0;left:0;position:absolute;right:0;top:0}.fc-timegrid-event-harness-inset .fc-timegrid-event,.fc-timegrid-event.fc-event-mirror,.fc-timegrid-more-link{box-shadow:0 0 0 1px var(--fc-page-bg-color)}.fc-timegrid-event,.fc-timegrid-more-link{border-radius:3px;font-size:var(--fc-small-font-size)}.fc-timegrid-event{margin-bottom:1px}.fc-timegrid-event .fc-event-main{padding:1px 1px 0}.fc-timegrid-event .fc-event-time{font-size:var(--fc-small-font-size);margin-bottom:1px;white-space:nowrap}.fc-timegrid-event-short .fc-event-main-frame{flex-direction:row;overflow:hidden}.fc-timegrid-event-short .fc-event-time:after{content:"\\00a0-\\00a0"}.fc-timegrid-event-short .fc-event-title{font-size:var(--fc-small-font-size)}.fc-timegrid-more-link{background:var(--fc-more-link-bg-color);color:var(--fc-more-link-text-color);cursor:pointer;margin-bottom:1px;position:absolute;z-index:9999}.fc-timegrid-more-link-inner{padding:3px 2px;top:0}.fc-direction-ltr .fc-timegrid-more-link{right:0}.fc-direction-rtl .fc-timegrid-more-link{left:0}.fc .fc-timegrid-now-indicator-arrow,.fc .fc-timegrid-now-indicator-line{pointer-events:none}.fc .fc-timegrid-now-indicator-line{border-color:var(--fc-now-indicator-color);border-style:solid;border-width:1px 0 0;left:0;position:absolute;right:0;z-index:4}.fc .fc-timegrid-now-indicator-arrow{border-color:var(--fc-now-indicator-color);border-style:solid;margin-top:-5px;position:absolute;z-index:4}.fc-direction-ltr .fc-timegrid-now-indicator-arrow{border-bottom-color:transparent;border-top-color:transparent;border-width:5px 0 5px 6px;left:0}.fc-direction-rtl .fc-timegrid-now-indicator-arrow{border-bottom-color:transparent;border-top-color:transparent;border-width:5px 6px 5px 0;right:0}`);var lf=al({name:`@fullcalendar/timegrid`,initialView:`timeGridWeek`,optionRefiners:{allDaySlot:Boolean},views:{timeGrid:{component:sf,usesMinMaxTime:!0,allDaySlot:!0,slotDuration:`00:30:00`,slotEventOverlap:!0},timeGridDay:{type:`timeGrid`,duration:{days:1}},timeGridWeek:{type:`timeGrid`,duration:{weeks:1}}}}),uf=e=>`${String(e.getFullYear())}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,df=e=>{let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return Math.abs(t)%360},ff=e=>`hsl(${String(df(e))}, 65%, 45%)`,pf=(e,t,n)=>`${e}::${t}::${n}`,mf=be,hf=(e,t)=>{let n=new Date(e);return t?n.toLocaleDateString():`${n.toLocaleDateString()} ${n.toLocaleTimeString()}`},gf=({event:e,sourceName:t,sourceApiName:n,calendarName:r,onClose:i})=>(0,M.jsx)(_e,{open:!0,size:`lg`,onBackdropClick:i,header:(0,M.jsx)(ge,{title:e.title,onClose:i}),children:(0,M.jsxs)(`div`,{className:`max-h-[70vh] space-y-3 overflow-y-auto px-5 py-4 text-[12px] text-neutral-700`,children:[(0,M.jsxs)(`div`,{className:`grid grid-cols-[100px_1fr] gap-y-1.5`,children:[(0,M.jsx)(`span`,{className:`text-neutral-400`,children:`Start`}),(0,M.jsx)(`span`,{children:hf(e.start_time,e.all_day??!1)}),(0,M.jsx)(`span`,{className:`text-neutral-400`,children:`End`}),(0,M.jsx)(`span`,{children:hf(e.end_time,e.all_day??!1)}),(0,M.jsx)(`span`,{className:`text-neutral-400`,children:`All day`}),(0,M.jsx)(`span`,{children:e.all_day===!0?`yes`:`no`}),e.busy!==void 0&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`span`,{className:`text-neutral-400`,children:`Busy`}),(0,M.jsx)(`span`,{children:e.busy?`yes`:`no`})]}),(0,M.jsx)(`span`,{className:`text-neutral-400`,children:`Calendar`}),(0,M.jsx)(`span`,{children:r}),(0,M.jsx)(`span`,{className:`text-neutral-400`,children:`Source`}),(0,M.jsxs)(`span`,{children:[t,` `,(0,M.jsxs)(`span`,{className:`text-neutral-400`,children:[`(`,n,`)`]})]}),(0,M.jsx)(`span`,{className:`text-neutral-400`,children:`Event id`}),(0,M.jsx)(`span`,{className:`truncate`,children:e.id}),e.activity_id!==void 0&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`span`,{className:`text-neutral-400`,children:`Activity id`}),(0,M.jsx)(`span`,{className:`truncate`,children:e.activity_id})]}),e.url!==void 0&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`span`,{className:`text-neutral-400`,children:`URL`}),(0,M.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,className:`flex items-center gap-1 truncate text-blue-600 hover:underline`,children:[e.url,(0,M.jsx)(s,{icon:f,className:`text-[10px]`})]})]})]}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`div`,{className:`mb-1 text-[11px] font-semibold uppercase tracking-widest text-neutral-400`,children:`Raw payload`}),(0,M.jsx)(`pre`,{className:`max-h-[40vh] overflow-auto rounded bg-neutral-50 p-3 text-[11px] leading-relaxed text-neutral-800`,children:JSON.stringify(e,null,2)})]})]})}),_f=({calendarSources:e,pluginApiName:n,whenState:r})=>{let i=(0,j.useRef)(null),[o,c]=(0,j.useState)(`dayGridMonth`),[l,u]=(0,j.useState)(``),{calendars:d,errorServices:f,isLoading:h}=C(!0,e),g=(0,j.useMemo)(()=>{let t=new Map;for(let e of Object.values(d))for(let n of e){let e=t.get(n.source.api_name);e?e.calendars.push(n.calendar):t.set(n.source.api_name,{source:n.source,calendars:[n.calendar]})}for(let n of e)t.has(n.api_name)||t.set(n.api_name,{source:n,calendars:[]});return Array.from(t.values())},[d,e]),[_,v]=(0,j.useState)(()=>{try{let e=localStorage.getItem(mf(n));if(e)return new Set(JSON.parse(e))}catch{}return new Set}),y=(0,j.useRef)(!1);(0,j.useEffect)(()=>{if(y.current||h)return;if(localStorage.getItem(mf(n))!==null){y.current=!0;return}let e=new Set;for(let{source:t,calendars:n}of g)for(let r of n)r.default===!0&&e.add(pf(t.plugin_api_name,t.api_name,r.id));e.size>0&&v(e),y.current=!0},[h,g,n]),(0,j.useEffect)(()=>{localStorage.setItem(mf(n),JSON.stringify(Array.from(_)))},[_,n]);let b=(0,j.useCallback)((e,t,n)=>{v(r=>{let i=pf(e,t,n),a=new Set(r);return a.has(i)?a.delete(i):a.add(i),a})},[]),x=(0,j.useMemo)(()=>{let e=[];for(let{source:t,calendars:n}of g)for(let r of n)_.has(pf(t.plugin_api_name,t.api_name,r.id))&&e.push({source:t,calendar:r});return e},[g,_]),[S,w]=(0,j.useState)(()=>{let e=new Date,t=new Date(e.getFullYear(),e.getMonth(),1),n=new Date(e.getFullYear(),e.getMonth()+1,0);return{rangeStart:uf(t),rangeEnd:uf(n)}}),T=(0,j.useCallback)(e=>{let t=new Date(e.end.getTime()-1);w({rangeStart:uf(e.start),rangeEnd:uf(t)}),u(e.view.title),c(e.view.type)},[]),{events:E,sources:D,isLoading:ee}=oe(x,S),O=(0,j.useMemo)(()=>{if(!E||typeof E!=`object`)return[];let e=E,t=[];for(let[n,r]of Object.entries(e)){let e=D[n];if(!e)continue;let i=ff(e.source.api_name);for(let a of r??[])t.push({id:`${e.source.api_name}::${n}::${a.id}`,title:a.title,start:new Date(a.start_time),end:new Date(a.end_time),allDay:a.all_day??!1,backgroundColor:i,borderColor:i,extendedProps:{raw:a,sourceName:e.source.name,sourceApiName:e.source.api_name,calendarName:e.calendar.name}})}return t},[E,D]),[te,k]=(0,j.useState)(null),ne=(0,j.useCallback)(e=>{let t=e.event.extendedProps;k({event:t.raw,sourceName:t.sourceName,sourceApiName:t.sourceApiName,calendarName:t.calendarName})},[]),re=h||ee,ie=(0,j.useCallback)(e=>(0,M.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1 overflow-hidden px-1 py-px`,children:[e.timeText&&(0,M.jsx)(`span`,{className:`shrink-0 font-mono text-[9px] opacity-70`,children:e.timeText}),(0,M.jsx)(`span`,{className:`truncate font-mono text-[10px] font-medium leading-none`,children:e.event.title})]}),[]),ae=(0,j.useMemo)(()=>new Set(f.filter(e=>!!e)),[f]);return(0,M.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,M.jsx)(`div`,{className:`flex flex-col gap-3`,children:g.map(({source:e,calendars:t})=>{let n=ae.has(e.plugin_api_name);return(0,M.jsxs)(`div`,{className:`rounded border border-black/8 bg-neutral-50/60`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-black/5 px-3 py-2`,children:[(0,M.jsx)(`span`,{className:`h-3 w-3 shrink-0 rounded-full`,style:{backgroundColor:ff(e.api_name)}}),(0,M.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,M.jsx)(`div`,{className:`truncate text-[12px] font-semibold text-neutral-800`,children:e.name}),(0,M.jsx)(`div`,{className:`truncate font-mono text-[10px] text-neutral-400`,children:e.api_name}),(()=>{let t=e.when;return t&&r?(0,M.jsx)(Ne,{when:t,whenState:r}):null})()]})]}),n&&(0,M.jsxs)(`div`,{className:`flex items-start gap-2 border-b border-amber-200/60 bg-amber-50 px-3 py-2 text-[11px] text-amber-800`,children:[(0,M.jsx)(s,{icon:a,className:`mt-0.5 text-[10px]`}),(0,M.jsx)(`span`,{children:`Auth error — the calendar script returned an authError flag. Check bundle config / credentials.`})]}),(0,M.jsx)(`div`,{className:`divide-y divide-black/5`,children:t.length===0?(0,M.jsx)(`div`,{className:`px-3 py-2 text-[11px] italic text-neutral-400`,children:h?`Loading calendars…`:`No calendars returned.`}):t.map(t=>{let n=pf(e.plugin_api_name,e.api_name,t.id);return(0,M.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 px-3 py-1.5 hover:bg-black/5`,children:[(0,M.jsx)(`input`,{type:`checkbox`,checked:_.has(n),onChange:()=>{b(e.plugin_api_name,e.api_name,t.id)},className:`mt-0.5 h-3.5 w-3.5 accent-neutral-800`}),(0,M.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,M.jsxs)(`div`,{className:`truncate text-[12px] text-neutral-800`,children:[t.name,t.default===!0&&(0,M.jsx)(`span`,{className:`ml-1.5 rounded bg-neutral-200 px-1 py-0.5 text-[9px] uppercase tracking-wider text-neutral-500`,children:`default`})]}),t.description!==void 0&&t.description!==``&&(0,M.jsx)(`div`,{className:`truncate text-[10px] text-neutral-400`,children:t.description}),(0,M.jsx)(`div`,{className:`truncate font-mono text-[10px] text-neutral-400`,children:t.id})]})]},t.id)})})]},`${e.plugin_api_name}::${e.api_name}`)})}),(0,M.jsxs)(`div`,{className:`relative`,children:[(0,M.jsxs)(`div`,{className:`mb-2 flex items-center justify-between font-mono`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,M.jsx)(`button`,{onClick:()=>{i.current?.getApi().prev()},className:`rounded border border-black/10 bg-white px-2 py-1 text-[11px] text-neutral-600 hover:bg-black/5`,"aria-label":`Previous`,children:(0,M.jsx)(s,{icon:p})}),(0,M.jsx)(`button`,{onClick:()=>{i.current?.getApi().next()},className:`rounded border border-black/10 bg-white px-2 py-1 text-[11px] text-neutral-600 hover:bg-black/5`,"aria-label":`Next`,children:(0,M.jsx)(s,{icon:m})}),(0,M.jsx)(`button`,{onClick:()=>{i.current?.getApi().today()},className:`ml-1 rounded border border-black/10 bg-white px-2.5 py-1 text-[11px] text-neutral-600 hover:bg-black/5`,children:`Today`})]}),(0,M.jsx)(`span`,{className:`text-[13px] font-semibold text-neutral-800`,children:l}),(0,M.jsx)(`div`,{className:`flex items-center gap-0.5 rounded border border-black/10 bg-white p-0.5`,children:[{view:`dayGridMonth`,label:`Month`},{view:`timeGridWeek`,label:`Week`},{view:`timeGridDay`,label:`Day`}].map(({view:e,label:t})=>(0,M.jsx)(`button`,{onClick:()=>{i.current?.getApi().changeView(e)},className:`rounded px-2.5 py-0.5 text-[11px] transition-colors ${o===e?`bg-neutral-900 text-white`:`text-neutral-500 hover:text-neutral-800`}`,children:t},e))})]}),re&&(0,M.jsxs)(`div`,{className:`pointer-events-none absolute right-0 top-0 z-10 flex items-center gap-1.5 rounded bg-white/90 px-2 py-1 text-[10px] text-neutral-500 shadow-sm`,children:[(0,M.jsx)(s,{icon:t,spin:!0}),`Loading…`]}),(0,M.jsx)(`div`,{className:`fc-kizen`,children:(0,M.jsx)(Au,{ref:i,plugins:[hd,lf],initialView:`dayGridMonth`,headerToolbar:!1,datesSet:T,events:O,eventContent:ie,eventClick:ne,height:800,nowIndicator:!0,dayMaxEvents:4,weekends:!0,firstDay:0})})]}),te&&(0,M.jsx)(gf,{event:te.event,sourceName:te.sourceName,sourceApiName:te.sourceApiName,calendarName:te.calendarName,onClose:()=>{k(null)}})]})},vf=({fields:e,pluginApiName:t,onLoadingChange:n,handleRef:r})=>{let{validateForm:i,inferencePending:a,expressionsIdle:o,initialExpressionsPending:s,state:c}=T(),l=a||!o||s;return(0,j.useEffect)(()=>{n(l)},[l,n]),(0,j.useImperativeHandle)(r,()=>({validateAndGetValues:async()=>{let{isValid:e}=await i();return{isValid:e,values:c}}}),[i,c]),(0,M.jsx)(`div`,{className:`flex flex-col gap-3`,children:e.map(e=>(0,M.jsx)(re,{field:e,pluginApiName:t},e.key))})},yf=(0,j.forwardRef)(({fields:e,pluginApiName:t,onLoadingChange:n},r)=>{let{getObjectByAPIName:i,getCustomObjectDetails:a}=te(),o=(0,j.useRef)({}),s=(0,j.useCallback)(e=>{o.current=e},[]);return(0,M.jsx)(S,{config:{fields:e},value:{},onStateChange:s,disabledKeys:[],getObjectByAPIName:i,getCustomObjectDetails:a,children:(0,M.jsx)(vf,{fields:e,pluginApiName:t,onLoadingChange:n,handleRef:r})})});yf.displayName=`DynamicModalContent`;var bf=new Set([`custom_object`,`description`,`container`,`field`,`text`,`number`,`select`,`boolean`]),xf=e=>e.flatMap(e=>{let t=e.key??e.id;return t===void 0||t===``||!bf.has(e.type)?[]:[{...e,key:t,type:e.type,...e.fields!==void 0&&{fields:xf(e.fields)}}]}),Sf=e=>e.id??e.key??``,Cf=(e,t)=>{let n={},r=e=>{let i=Sf(e);if(i)if(e.type===`text`)n[i]={value:t[i]??e.defaultValue??``};else if(e.type===`number`){let r=t[i];n[i]={value:r!==void 0&&r!==``?Number(r):e.default??null}}else if(e.type===`boolean`){let r=t[i];n[i]={value:r===void 0?!!e.default:!!r}}else if(e.type===`select`){let r=t[i]??``;n[i]={value:e.options?.find(e=>e.value===r)??(r?{value:r,label:r}:null)}}else if(e.type===`dropdown`){let r=t[i]??e.defaultValue??``;n[i]={value:e.options?.find(e=>e.value===r)??(r?{value:r,label:r}:null)}}else e.type===`container`&&e.fields?.forEach(r)};return e.forEach(r),n},wf=({label:e,required:t,tooltip:n})=>(0,M.jsxs)(`span`,{className:`flex items-center gap-1 text-[11px] font-medium text-neutral-500`,children:[e,t&&(0,M.jsx)(`span`,{className:`text-red-500`,children:`*`}),n&&(0,M.jsx)(`span`,{className:`cursor-help rounded-full border border-neutral-300 px-1 text-[10px] text-neutral-400`,title:n,children:`i`})]}),Tf=({block:e,values:t,onChange:n})=>{let r=Sf(e);return e.type===`description`?(0,M.jsx)(`p`,{className:`m-0 text-[13px] text-neutral-700`,children:e.content}):e.type===`spacer`?(0,M.jsx)(`div`,{style:{height:e.height??8}}):e.type===`text`?(0,M.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,M.jsx)(wf,{label:e.label,required:e.required,tooltip:e.tooltip}),(0,M.jsx)(`input`,{type:`text`,value:t[r]??e.defaultValue??``,placeholder:e.placeholder,onChange:e=>{n(r,e.target.value)},className:`rounded border border-black/10 px-2 py-1.5 font-mono text-[12px] focus:outline-none focus:ring-1 focus:ring-neutral-400`})]}):e.type===`number`?(0,M.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,M.jsx)(wf,{label:e.label,required:e.required,tooltip:e.tooltip}),(0,M.jsx)(`input`,{type:`number`,value:t[r]??``,placeholder:e.placeholder,onChange:e=>{n(r,e.target.value)},className:`rounded border border-black/10 px-2 py-1.5 font-mono text-[12px] focus:outline-none focus:ring-1 focus:ring-neutral-400`})]}):e.type===`boolean`?(0,M.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2`,children:[(0,M.jsx)(`input`,{type:`checkbox`,checked:t[r]===void 0?!!e.default:!!t[r],onChange:e=>{n(r,e.target.checked)},className:`h-3.5 w-3.5 rounded border-black/20 accent-neutral-800`}),(0,M.jsxs)(`span`,{className:`flex items-center gap-1 text-[12px] text-neutral-700`,children:[e.label,e.required&&(0,M.jsx)(`span`,{className:`text-red-500`,children:`*`}),e.tooltip&&(0,M.jsx)(`span`,{className:`cursor-help rounded-full border border-neutral-300 px-1 text-[10px] text-neutral-400`,title:e.tooltip,children:`i`})]})]}):e.type===`select`||e.type===`dropdown`?(0,M.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,M.jsx)(wf,{label:e.label,required:e.required,tooltip:e.tooltip}),(0,M.jsxs)(`select`,{value:t[r]??e.defaultValue??``,onChange:e=>{n(r,e.target.value)},className:`rounded border border-black/10 bg-white px-2 py-1.5 font-mono text-[12px] focus:outline-none`,children:[(e.placeholder!=null||!e.required)&&(0,M.jsx)(`option`,{value:``,children:e.placeholder??`—`}),(e.options??[]).map(e=>(0,M.jsx)(`option`,{value:e.value,children:e.label},e.value))]})]}):e.type===`container`?(0,M.jsx)(`div`,{className:`flex flex-wrap gap-3`,children:(e.fields??[]).map(e=>(0,M.jsx)(`div`,{style:{width:e.widthPercent===50?`calc(50% - 6px)`:`100%`},children:(0,M.jsx)(Tf,{block:e,values:t,onChange:n})},Sf(e)||e.type))}):null},Ef=(0,j.forwardRef)(({pages:e,viewId:t,args:n},r)=>{let i=(0,j.useMemo)(()=>{if(!e||!t)return;let r=e.find(e=>e.api_name===t);if(r)return n?{...r,args:n}:r},[e,t,n]),{scriptUIRef:a,outputUIRef:o,scopedCss:s,sanitizedHtml:c,interactableScriptRef:l,iframeURL:u,pending:d,collectFormData:f}=ee(i);return E(r,f),(0,M.jsxs)(`div`,{className:`relative h-full w-full overflow-hidden rounded-lg`,children:[d&&(0,M.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-white/80 font-mono text-[11px] text-neutral-400`,children:`loading…`}),i?.type===`script`&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`div`,{ref:a,className:`h-full w-full overflow-y-auto`}),(0,M.jsx)(`style`,{children:s})]}),i?.type===`html`&&(0,M.jsxs)(`div`,{ref:l,className:`h-full overflow-auto`,children:[c&&(0,M.jsx)(`div`,{className:`h-full`,dangerouslySetInnerHTML:{__html:c}}),(0,M.jsx)(`div`,{ref:o}),(0,M.jsx)(`style`,{children:s})]}),i?.type===`iframe`&&u&&(0,M.jsx)(`iframe`,{src:u,className:`h-full w-full border-0`,title:i.name})]})}),Df={small:400,medium:900,large:1200},Of=({show:e,config:t,pluginApiName:n,onConfirm:r,onHide:i,pages:a})=>{let o=t,s=o.content??[],c=!!o.dynamic,[l,u]=(0,j.useState)({}),[d,f]=(0,j.useState)(!1),p=(0,j.useRef)(null),m=(0,j.useRef)(null),h=!!t.viewId,g=(0,j.useCallback)((e,t)=>{u(n=>({...n,[e]:t}))},[]),_=async()=>{if(h){let{ready:e,data:t}=m.current?.collectFormData()??{};if(!e)return;r({formData:t})}else if(c&&p.current){let{isValid:e,values:t}=await p.current.validateAndGetValues();if(!e)return;r(t)}else{let e=Cf(s,l);u({}),r(e)}},v=e=>{u({}),f(!1),i(e)},y=t.confirmButton?.label??`Confirm`,b=t.cancelButton?.label??`Cancel`,x=Df[o.size??`medium`];return(0,M.jsx)(_e,{open:e,maxWidth:x,height:`75vh`,onBackdropClick:()=>{v(`close`)},header:!t.frameless&&t.title?(0,M.jsx)(ge,{title:t.title}):void 0,footer:t.frameless?void 0:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`button`,{onClick:()=>{v(`button`)},className:`rounded border border-black/10 px-3 py-1.5 text-[12px] text-neutral-600 transition-colors hover:bg-black/5`,children:b}),(0,M.jsx)(`button`,{onClick:()=>void _(),disabled:c&&d,className:`rounded px-3 py-1.5 text-[12px] text-white transition-colors ${c&&d?`cursor-not-allowed bg-neutral-400`:`bg-neutral-900 hover:bg-neutral-700`}`,children:y})]}),children:h?(0,M.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,M.jsx)(Ef,{ref:m,pages:a,viewId:t.viewId,args:t.args})}):c?(0,M.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,M.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-5 py-4`,children:(0,M.jsx)(yf,{ref:p,fields:xf(s),pluginApiName:n??o.pluginApiName??``,onLoadingChange:f})}),(0,M.jsx)(Be,{visible:d})]}):s.length>0&&(0,M.jsx)(`div`,{className:`min-h-0 flex-1 space-y-3 overflow-y-auto px-5 py-4`,children:s.map((e,t)=>(0,M.jsx)(Tf,{block:e,values:l,onChange:g},Sf(e)||`${e.type}-${String(t)}`))})})},kf=56,Af=()=>(0,M.jsxs)(`div`,{className:`flex items-start gap-2 rounded border border-amber-200/60 bg-amber-50 px-3 py-2.5 text-[12px] text-amber-800`,children:[(0,M.jsx)(s,{icon:l,className:`mt-0.5 text-[11px]`}),(0,M.jsx)(`span`,{children:`Please install the plugin in order to test.`})]}),jf=({showingToast:e,browserRef:t,routablePages:n})=>{let{apiName:r}=_({strict:!1}),i=he(),[a,o]=ke(we.sandboxFramesEnabled,!1),s=o,{data:c,isLoading:l,isError:u}=v(se),d=y(),f=(0,j.useMemo)(()=>!r||!c?null:Ae(r,c.find(e=>e.api_name===r)?.config_template),[r,c]),p=(0,j.useMemo)(()=>{if(!r||!c)return{};let e=c.find(e=>e.api_name===r);if(!e)return{};let t=e.base_config,n=Me(r),i=je(r),a=ue(n?.__kizen_clean_config??{},[],n?.__kizen_setup_assistant_values??{},t?.setup_assistant?.fields),o=ue(i?.__kizen_clean_config??{},[],i?.__kizen_setup_assistant_values??{},t?.user_setup_assistant?.fields),s={};for(let[e,t]of Object.entries(a))s[`config__${e}`]=t;for(let[e,t]of Object.entries(o))s[`userConfig__${e}`]=t;return s},[r,c]);if(l)return(0,M.jsx)(A,{children:(0,M.jsx)(`p`,{className:`m-0 text-[13px] text-neutral-400`,children:`Fetching bundle.json…`})});if(u)return(0,M.jsx)(A,{children:(0,M.jsx)(`p`,{className:`m-0 text-[13px] text-red-700`,children:`Could not load bundle.json.`})});let m=c?.find(e=>e.api_name===r);if(!m)return(0,M.jsx)(A,{children:(0,M.jsxs)(`p`,{className:`m-0 text-[13px] text-neutral-500`,children:[`No app found with api_name`,` `,(0,M.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 py-0.5`,children:r}),`.`]})});let h=m.base_config,g=(h?.setup_assistant?.fields?.length??0)>0||(h?.user_setup_assistant?.fields?.length??0)>0,b=f?g?{__kizen_clean_config:f}:{...f}:{},x=m.artifacts.floating_frames.map(e=>({...e,plugin_api_name:m.api_name,args:b})),S=m.artifacts.toolbar_items.map(e=>({...e,plugin_api_name:m.api_name,args:b})),C=m.artifacts.js_action_templates.map(e=>({...e,plugin_api_name:m.api_name,args:b})),w=m.artifacts.object_settings_menu_items.map(e=>({...e,plugin_api_name:m.api_name,args:b})),T=m.artifacts.data_adornments.map(e=>({...e,plugin_api_name:m.api_name,args:b})),E=m.artifacts.calendar_sources.map(e=>({...e,plugin_api_name:m.api_name,args:b})),D=S.length>0||C.length>0||w.length>0||T.length>0,ee=d?.enabled_plugin_apps.some(e=>e.api_name===m.api_name)??!1;return(0,M.jsxs)(M.Fragment,{children:[e&&(0,M.jsx)(`div`,{className:`fixed top-4 left-1/2 -translate-x-1/2 z-20 rounded px-4 py-2 text-sm font-medium ${{success:`bg-green-100 text-green-700`,error:`bg-red-100 text-red-700`,failure:`bg-red-100 text-red-700`,alert:`bg-amber-100 text-amber-700`}[e.variant??`success`]??`bg-green-100 text-green-700`}`,children:e.message}),(0,M.jsx)(`div`,{style:{paddingRight:x.length>0?kf:0},children:(0,M.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,M.jsxs)(`div`,{className:`flex flex-col gap-6 xl:flex-row xl:items-start`,children:[D&&(0,M.jsxs)(`div`,{className:`flex flex-col gap-4 xl:flex-1 xl:min-w-0`,children:[S.length>0&&(0,M.jsxs)(A,{children:[(0,M.jsxs)(`div`,{className:`mb-3`,children:[(0,M.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:`Toolbar Items`}),(0,M.jsx)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:`Click a button to run its script in the context of a generic app view.`})]}),(0,M.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:S.map(e=>(0,M.jsx)(ot,{item:e,whenState:p},e.api_name))})]}),C.length>0&&(0,M.jsxs)(A,{children:[(0,M.jsxs)(`div`,{className:`mb-3`,children:[(0,M.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:`JS Action Templates`}),(0,M.jsx)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:`Select a record and trigger a JS action to test its script with real data.`})]}),(0,M.jsx)(Ze,{actions:C,pluginApiName:m.api_name,configArgs:b})]}),w.length>0&&(0,M.jsxs)(A,{children:[(0,M.jsxs)(`div`,{className:`mb-3`,children:[(0,M.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:`Object Settings Menu Items`}),(0,M.jsx)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:`Select a custom object and click an item to run its script against that object.`})]}),(0,M.jsx)(ct,{items:w,pluginApiName:m.api_name,configArgs:b,whenState:p})]}),T.length>0&&(0,M.jsxs)(A,{children:[(0,M.jsxs)(`div`,{className:`mb-3`,children:[(0,M.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:`Data Adornments`}),(0,M.jsx)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:`Select an object and record, then click an adornment to run its script against a specific field value.`})]}),(0,M.jsx)($e,{adornments:T,pluginApiName:m.api_name,configArgs:b,whenState:p})]})]}),(0,M.jsxs)(`div`,{className:`min-w-0 flex-1 flex flex-col gap-4`,children:[(0,M.jsxs)(A,{children:[(0,M.jsxs)(`div`,{className:`mb-3`,children:[(0,M.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:`Routable Pages`}),(0,M.jsx)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:n.length>0?`Navigate between pages as they would appear when embedded in Kizen.`:`No routable pages are defined in this plugin.`})]}),(0,M.jsx)(at,{ref:t,pages:n})]}),E.length>0&&(0,M.jsxs)(A,{children:[(0,M.jsxs)(`div`,{className:`mb-3`,children:[(0,M.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:`Calendar Sources`}),(0,M.jsxs)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:[`Pick calendars from each source and navigate the grid to run its`,` `,(0,M.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 font-mono text-[11px]`,children:`calendars_script`}),` `,`and`,` `,(0,M.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 font-mono text-[11px]`,children:`events_script`}),`. Click an event to inspect the raw payload.`]})]}),ee?(0,M.jsx)(_f,{calendarSources:E,pluginApiName:m.api_name,whenState:p}):(0,M.jsx)(Af,{})]})]})]}),(m.services?.length??0)>0&&(0,M.jsx)(bt,{services:m.services??[],pluginApiName:m.api_name,isInstalled:ee})]})}),x.length>0&&(0,M.jsxs)(`div`,{className:`pointer-events-none fixed inset-0`,children:[(0,M.jsxs)(`div`,{className:`absolute inset-y-0 flex w-14 flex-col-reverse items-center gap-2 border-l border-black/8 bg-white/60 pb-4 backdrop-blur-sm`,style:{right:i},children:[x.map(e=>(0,M.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,M.jsx)(`div`,{id:`${e.plugin_api_name}-${e.api_name}-trigger-left`}),(0,M.jsx)(`div`,{id:`${e.plugin_api_name}-${e.api_name}-trigger-right`})]},e.api_name)),(0,M.jsx)(`strong`,{className:`text-[9px] uppercase tracking-widest text-neutral-400`,children:`Frames`}),(0,M.jsxs)(`label`,{className:`flex flex-col items-center gap-0.5 cursor-pointer pointer-events-auto`,children:[(0,M.jsx)(`input`,{type:`checkbox`,className:`h-3 w-3 cursor-pointer accent-neutral-600`,checked:a,onChange:e=>{s(e.target.checked)}}),(0,M.jsxs)(`span`,{className:`text-[8px] uppercase tracking-widest text-neutral-400 text-center leading-tight`,children:[`enable`,(0,M.jsx)(`br`,{}),`frames`]})]})]}),x.map(e=>(0,M.jsx)(ze,{frame:e,framesEnabled:a,whenState:p},e.api_name))]})]})},Mf=()=>{let[e,n]=(0,j.useState)(null),[r,i]=(0,j.useState)(!1),[a,o]=(0,j.useState)(!1),c=(0,j.useRef)(null);(0,j.useEffect)(()=>{let e=window.open;return window.open=e=>(c.current?.openNewTab(String(e??``)),null),()=>{window.open=e}},[]),(0,j.useEffect)(()=>{if(!e)return;let t=setTimeout(()=>{n(null)},5e3);return()=>{clearTimeout(t)}},[e]);let{apiName:l}=_({strict:!1}),{data:u}=v(se),d=y(),f=de(),p=(0,j.useMemo)(()=>fe(f),[f]),{environment:m}=ce(),h=pe[m],g=(0,j.useMemo)(()=>{if(!l)return[];let e=je(l);return e?.__kizen_clean_config?[{api_name:l,config:{__kizen_clean_config:e.__kizen_clean_config}}]:[]},[l]),b=(0,j.useMemo)(()=>{if(!u||!l)return[];let e=u.find(e=>e.api_name===l);if(!e)return[];let t=e.base_config,n=(t?.setup_assistant?.fields?.length??0)>0||(t?.user_setup_assistant?.fields?.length??0)>0,r=Ae(l,e.config_template),i=r?n?{__kizen_clean_config:r}:{...r}:{};return e.artifacts.routable_pages.map(t=>({...t,plugin_api_name:e.api_name,args:i}))},[u,l]),x=()=>{i(!0),o(!0)},S=()=>{i(!1),o(!1)},C=()=>{i(!1),o(!1)},{onMonitoringException:w,dialog:T}=ae(),E=({message:e,variant:t})=>{n({message:e,variant:t??`success`})};return d?(0,M.jsx)(ie,{appPath:h,user:{id:d.team.user,crm_client_id:``},business:d.business,userConfigs:g,clientObject:d.business.client_object?{id:d.business.client_object.id,objectName:d.business.client_object.object_name}:void 0,teamMember:d.team,onNavigate:(e,t)=>{c.current?.navigate(e,t)},performFileUpload:({file:e})=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{t({url:r.result})},r.onerror=n,r.readAsDataURL(e)}),monitoringExceptionHelper:w,performRequest:me(p),modal:{showing:r,show:a,showPrompt:x,onConfirm:S,onHide:C},showToast:E,clearToasts:()=>{n(null)},children:({showPluginModal:t,derivedModalState:n,pluginApiName:r})=>(0,M.jsxs)(D.Provider,{value:E,children:[(0,M.jsx)(jf,{showingToast:e,browserRef:c,routablePages:b}),(0,M.jsx)(Of,{show:t,config:n.config,pluginApiName:r,onConfirm:n.props.onConfirm,onHide:n.props.onHide,pages:b}),T]})}):(0,M.jsx)(s,{icon:t,className:`animate-spin text-neutral-400`,size:`2x`})};export{Mf as SandboxPage};
|