@kizenapps/cli 0.12.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +674 -0
- package/README.md +42 -0
- package/dist/index.js +89 -1986
- package/dist/index.js.map +1 -1
- package/dist/viewer/assets/AppDetailPage-D4r3W5v5.js +1 -0
- package/dist/viewer/assets/BootstrapContext-D5ZnMrOp.js +1 -0
- package/dist/viewer/assets/Card-BpDJPrPZ.js +1 -0
- package/dist/viewer/assets/CodeStepsPage-BzaaN9Kb.js +1 -0
- package/dist/viewer/assets/CodeViewer-Ce2qKSWi.js +4 -0
- package/dist/viewer/assets/ConfigurationPage-DyGQQTe-.js +1 -0
- package/dist/viewer/assets/DevSidebar-h9gYdctz.js +1 -0
- package/dist/viewer/assets/IconReferencePage-BLciUKH9.js +1 -0
- package/dist/viewer/assets/SandboxPage-IYn-KIbv.js +1 -0
- package/dist/viewer/assets/SidebarContext-Cn8QRb77.js +1 -0
- package/dist/viewer/assets/SourceBrowserPage-BOlm36Dg.js +1 -0
- package/dist/viewer/assets/Tooltip-tpqNw0op.js +1 -0
- package/dist/viewer/assets/VersionsPage-C02dpN3Y.js +1 -0
- package/dist/viewer/assets/WhenBadge-GxhTQKsq.js +1 -0
- package/dist/viewer/assets/api-C5Iu-4AS.js +1 -0
- package/dist/viewer/assets/bundleQuery-CjbA01rb.js +1 -0
- package/dist/viewer/assets/configStorage-BnMh081m.js +10 -0
- package/dist/viewer/assets/{fa-core-wsCxaNB7.js → fa-core-BoBqCOD3.js} +1 -1
- package/dist/viewer/assets/index-CjU7OUke.js +5 -0
- package/dist/viewer/assets/index-dW-Omils.css +2 -0
- package/dist/viewer/assets/{react-CkuOm_dq.js → react-csXWLXSE.js} +1 -1
- package/dist/viewer/assets/{recordDetail.worker-BIHPFt8Y.js → recordDetail.worker-C0-mQTaj.js} +1 -1
- package/dist/viewer/assets/storageKeys-ClzdCxlg.js +1 -0
- package/dist/viewer/assets/useCriticalExceptionDialog-DK8ufamu.js +5 -0
- package/dist/viewer/assets/{useLocalStorage-BWwvt0nG.js → useLocalStorage-B73GyZbK.js} +1 -1
- package/dist/viewer/assets/{useNavigate-9J1ZzN1J.js → useNavigate-BblEmQ3O.js} +1 -1
- package/dist/viewer/assets/useQuery-5OkVbV1s.js +1 -0
- package/dist/viewer/assets/{validIcons-UmfwFGTT.js → validIcons-BzGQ4tWD.js} +1 -1
- package/dist/viewer/index.html +12 -10
- package/package.json +5 -7
- package/dist/chunk-4Z6S6LWP.js +0 -6134
- package/dist/chunk-4Z6S6LWP.js.map +0 -1
- package/dist/chunk-HJPLDI45.js +0 -6134
- package/dist/chunk-HJPLDI45.js.map +0 -1
- package/dist/chunk-LSHHXCC6.js +0 -3639
- package/dist/chunk-LSHHXCC6.js.map +0 -1
- package/dist/chunk-SEGVTWSK.js +0 -44
- package/dist/chunk-SEGVTWSK.js.map +0 -1
- package/dist/chunk-ZWE3DS7E.js +0 -39
- package/dist/chunk-ZWE3DS7E.js.map +0 -1
- package/dist/devtools-LZRAH4XS.js +0 -90
- package/dist/devtools-LZRAH4XS.js.map +0 -1
- package/dist/dist-C3F6UOWF.js +0 -8472
- package/dist/dist-C3F6UOWF.js.map +0 -1
- package/dist/dist-NUJOSN7W.js +0 -8472
- package/dist/dist-NUJOSN7W.js.map +0 -1
- package/dist/dist-QHDMIBVE.js +0 -135
- package/dist/dist-QHDMIBVE.js.map +0 -1
- package/dist/dist-ZIZQOSY3.js +0 -135
- package/dist/dist-ZIZQOSY3.js.map +0 -1
- package/dist/gzip-size-K37OQCQ2.js +0 -137
- package/dist/gzip-size-K37OQCQ2.js.map +0 -1
- package/dist/gzip-size-QRGIYYEQ.js +0 -137
- package/dist/gzip-size-QRGIYYEQ.js.map +0 -1
- package/dist/viewer/assets/AppDetailPage-BPvWscWJ.js +0 -1
- package/dist/viewer/assets/AppDetailPage-DIuYKCTQ.js +0 -1
- package/dist/viewer/assets/AppDetailPage-r3jzO9Kf.js +0 -1
- package/dist/viewer/assets/BootstrapContext-CExPp3R2.js +0 -1
- package/dist/viewer/assets/BootstrapContext-CTQMWXf-.js +0 -1
- package/dist/viewer/assets/BootstrapContext-DbnbWmQT.js +0 -1
- package/dist/viewer/assets/Card-Bmn1HMWl.js +0 -1
- package/dist/viewer/assets/Card-DMz6T3VL.js +0 -1
- package/dist/viewer/assets/Card-DsqKctyM.js +0 -1
- package/dist/viewer/assets/CodeStepsPage-BHqLfCdV.js +0 -4
- package/dist/viewer/assets/CodeStepsPage-BymhEfzO.js +0 -4
- package/dist/viewer/assets/CodeStepsPage-CD_MhDwY.js +0 -4
- package/dist/viewer/assets/CodeStepsPage-CgI-LqEx.js +0 -4
- package/dist/viewer/assets/CodeStepsPage-Dak3saZE.js +0 -5
- package/dist/viewer/assets/CodeStepsPage-Zj6DscGd.js +0 -4
- package/dist/viewer/assets/ConfigurationPage-Cjy9TH3N.js +0 -1
- package/dist/viewer/assets/ConfigurationPage-DmX-6MM-.js +0 -1
- package/dist/viewer/assets/ConfigurationPage-J56kCD_e.js +0 -1
- package/dist/viewer/assets/CredentialsContext-Xbse1T0q.js +0 -1
- package/dist/viewer/assets/CredentialsContext-zl2e9kpM.js +0 -1
- package/dist/viewer/assets/DevSidebar-B30mgxSn.js +0 -1
- package/dist/viewer/assets/DevSidebar-BhTD2bBO.js +0 -1
- package/dist/viewer/assets/DevSidebar-CsEdCTej.js +0 -1
- package/dist/viewer/assets/IconReferencePage-B6j9wlte.js +0 -1
- package/dist/viewer/assets/IconReferencePage-CJa9yg9Z.js +0 -1
- package/dist/viewer/assets/IconReferencePage-Q5I-lMFQ.js +0 -1
- package/dist/viewer/assets/SandboxPage-C0h7GUkw.js +0 -1
- package/dist/viewer/assets/SandboxPage-GDcydJnJ.js +0 -1
- package/dist/viewer/assets/SandboxPage-JREBQ4id.js +0 -1
- package/dist/viewer/assets/SidebarContext-BPkYyxET.js +0 -1
- package/dist/viewer/assets/SidebarContext-DVDXFWJI.js +0 -1
- package/dist/viewer/assets/SidebarContext-HucmR353.js +0 -1
- package/dist/viewer/assets/VersionsPage-B76eugMm.js +0 -1
- package/dist/viewer/assets/VersionsPage-BIpB0iBz.js +0 -1
- package/dist/viewer/assets/VersionsPage-D0qenxK5.js +0 -1
- package/dist/viewer/assets/api-BOqcXygX.js +0 -1
- package/dist/viewer/assets/api-DqAiw0w9.js +0 -1
- package/dist/viewer/assets/bundleQuery-206rQR6g.js +0 -1
- package/dist/viewer/assets/bundleQuery-L4H4wq5q.js +0 -1
- package/dist/viewer/assets/fa-core-DaD7O-yO.js +0 -558
- package/dist/viewer/assets/fa-pro-icons-Dzkwxnip.js +0 -1
- package/dist/viewer/assets/index-BPiwld5D.js +0 -5
- package/dist/viewer/assets/index-BiyeMU_r.css +0 -2
- package/dist/viewer/assets/index-BlJv_543.js +0 -5
- package/dist/viewer/assets/index-CAYNux5J.js +0 -5
- package/dist/viewer/assets/index-D4AnoAXz.js +0 -5
- package/dist/viewer/assets/index-D8Koqlb-.js +0 -5
- package/dist/viewer/assets/index-DKrC0qkC.js +0 -5
- package/dist/viewer/assets/react-CyWK9rg5.js +0 -9
- package/dist/viewer/assets/useLocalStorage-BlZWItfY.js +0 -1
- package/dist/viewer/assets/useLocalStorage-CQO0VGQ6.js +0 -1
- package/dist/viewer/assets/useNavigate-V8wjv5GQ.js +0 -1
- package/dist/viewer/assets/useObjectLookups-BAqe9wvu.js +0 -14
- package/dist/viewer/assets/useObjectLookups-C65zm-bM.js +0 -14
- package/dist/viewer/assets/useObjectLookups-CslM2vSA.js +0 -14
- package/dist/viewer/assets/validIcons-Dqgxgpv-.js +0 -1
- /package/dist/viewer/assets/{CodeStepsPage-DdKuH37F.css → CodeViewer-DdKuH37F.css} +0 -0
- /package/dist/viewer/assets/{fa-pro-icons-CiTC899m.js → fa-pro-icons-j8-_MCQ7.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DF2fYuay.js";import{_ as t,a as n,b as r,f as i,h as a,i as o,o as s,r as c,s as l,u,v as d,x as f,y as p}from"./fa-core-wsCxaNB7.js";import{n as m}from"./react-CyWK9rg5.js";import{R as h,n as g,t as _}from"./bundleQuery-L4H4wq5q.js";import{a as v,i as y,n as b}from"./BootstrapContext-DbnbWmQT.js";import{_ as x,a as S,b as C,d as w,f as ee,g as te,h as ne,i as re,l as ie,m as T,p as ae,t as oe,u as E,v as se,y as ce}from"./useObjectLookups-CslM2vSA.js";import{r as le}from"./CredentialsContext-zl2e9kpM.js";import{n as ue}from"./SidebarContext-DVDXFWJI.js";import{t as D}from"./Card-DMz6T3VL.js";import{i as de,r as fe,t as pe}from"./validIcons-UmfwFGTT.js";import{t as me}from"./useLocalStorage-BlZWItfY.js";var O=e(f(),1),he=m(),k=r(),ge=36,_e=20,ve=9e3,ye=({frameId:e,side:t,color:n,zIndex:r,onClick:i,CustomIcon:a})=>{let o=document.getElementById(`${e}-trigger-${t}`);return o?(0,he.createPortal)((0,k.jsx)(`button`,{className:`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,k.jsx)(a,{className:`h-6 w-6 rounded-full object-cover`}):(0,k.jsx)(`span`,{className:`font-mono text-[11px] text-white`,children:`▲`})}),o):null},be=({frame:e,framesEnabled:t})=>{let n=`${e.plugin_api_name}-${e.api_name}`,r=ue(),[i,a]=(0,O.useState)(window.innerHeight);(0,O.useEffect)(()=>{let e=new ResizeObserver(()=>{a(window.innerHeight)});return e.observe(document.body),()=>{e.disconnect()}},[]);let{circleProps:o,parentProps:s,draggableProps:c,pending:l,indicator:u,outputUIRef:d,scopedCss:f,sanitizedHtml:p,interactableScriptRef:m,hideHeader:h,setMinimized:g,dragHandleClassName:_,isFixed:v,isCircle:y,minimized:b,height:S,dragging:C,frameOffset:w,scriptUIRef:ee}=x({currentWindow:e,pathname:`/sandbox`,id:n,frameHeaderSize:ge,defaultPositionGap:_e,viewportHeight:i,hiddenByModal:!1}),te=ve+Math.max(0,w),ne=`floating-frame-pos-${n}`,re=(()=>{try{let e=localStorage.getItem(ne);return e?JSON.parse(e):null}catch{return null}})(),ie=(0,O.useRef)(null),[T,ae]=(0,O.useState)(re??c.position),oe=(0,O.useRef)(re!==null),E=c.position;(0,O.useEffect)(()=>{oe.current||ae({x:E.x,y:E.y})},[E.x,E.y]);let se=(0,O.useCallback)(e=>{if(c.disabled||!e.target.closest(`.${_}`))return;e.preventDefault(),c.onStart();let t=e.clientX,n=e.clientY,r=T.x,i=T.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(ne,JSON.stringify(s)),oe.current=!0,c.onStop(e,{node:ie.current})};document.addEventListener(`pointermove`,a),document.addEventListener(`pointerup`,o)},[c,_,T,ne]);return(0,k.jsxs)(k.Fragment,{children:[y&&!o.hidden&&(0,k.jsx)(ye,{frameId:n,side:o.side,color:o.circleColor,zIndex:te,onClick:o.onClick,CustomIcon:o.CustomIcon}),(0,k.jsxs)(`div`,{ref:ie,className:s.className,style:{position:`fixed`,left:Math.min(T.x,window.innerWidth-r-(e.width??300)),top:T.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:s.hidden||!t?0:1,pointerEvents:s.hidden||!t?`none`:`auto`},onPointerDown:se,children:[(l||u===`block`)&&(0,k.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…`}),!h&&(0,k.jsxs)(`div`,{className:`flex select-none items-center border-b border-black/8`,style:{height:ge,backgroundColor:e.header_color??`#fafafa`,color:e.header_text_color??`#1a1a1a`},children:[(0,k.jsxs)(`div`,{className:`${_} flex h-full flex-1 items-center gap-2 overflow-hidden px-3 ${v?``:`cursor-grab active:cursor-grabbing`}`,children:[!v&&(0,k.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] opacity-30`,children:`⠿`}),(0,k.jsx)(`span`,{className:`truncate font-mono text-[12px] font-medium`,children:e.title})]}),(0,k.jsx)(`button`,{className:`flex h-full shrink-0 items-center px-3 font-mono text-[11px] transition-colors hover:bg-black/5`,onClick:()=>{g(!b)},onMouseDown:e=>{e.stopPropagation()},onPointerDown:e=>{e.stopPropagation()},title:b?`Expand`:`Collapse`,children:b?`↑`:`↓`})]}),(0,k.jsxs)(`div`,{style:{height:b?0:S,overflow:`hidden`,transition:`height ${String(S*5e-4)}s ease`},children:[e.type===`script`&&(0,k.jsxs)(`div`,{className:`h-full w-full`,style:{pointerEvents:C||s.hidden||!t?`none`:`auto`},children:[(0,k.jsx)(`div`,{className:`h-full w-full`,ref:ee}),(0,k.jsx)(`style`,{children:f})]}),e.type===`html`&&p&&(0,k.jsxs)(`div`,{ref:m,className:`overflow-auto bg-white`,style:{height:S,pointerEvents:C||s.hidden||!t?`none`:`auto`},children:[(0,k.jsx)(`div`,{dangerouslySetInnerHTML:{__html:p}}),(0,k.jsx)(`div`,{ref:d}),(0,k.jsx)(`style`,{children:f})]})]})]})]})},xe=({visible:e})=>e?(0,k.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center rounded bg-white/70`,children:(0,k.jsx)(p,{icon:a,spin:!0,className:`text-[11px] text-neutral-400`})}):null;function Se(e){let t=v(),{apiKey:n,businessId:r}=le(),i=b(),[a,o]=me(e,null),[s,c]=(0,O.useState)(()=>a?.name??``),[l,u]=(0,O.useState)(``),d=(0,O.useRef)(null);(0,O.useEffect)(()=>(d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{u(s)},300),()=>{d.current&&clearTimeout(d.current)}),[s]);let f=g({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 Ce(e,t){let n=Object.values(e).find(e=>e.name===t);return typeof n?.value==`string`?n.value:``}function we(e,t){if(t){let t=Ce(e.fields,`first_name`),n=Ce(e.fields,`last_name`),r=Ce(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 Te(e){let t=Se(`kizen-sandbox:${e}:selectedObject`),{selectedObject:n}=t,r=v(),{apiKey:i}=le(),a=b(),[o,s]=me(`kizen-sandbox:${e}:selectedEntity`,null),[c,l]=(0,O.useState)(()=>o?.label??``),[u,d]=(0,O.useState)(``),f=(0,O.useRef)(null);(0,O.useEffect)(()=>(f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{d(c)},300),()=>{f.current&&clearTimeout(f.current)}),[c]);let p=g({queryKey:[`entity-records`,n?.id,u],queryFn:async()=>{let e=new URLSearchParams({page_size:`20`});return u&&e.set(`search`,u),await(await r(`/records/${n?.id??``}/search?${e.toString()}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`})).json()},enabled:i!==``&&n!==null,staleTime:3e4}),m=n?.id===a?.business.client_object?.id,h=p.data?.results.map(e=>({id:e.id,label:we(e,m)}))??[];return{...t,selectedEntity:o,setSelectedEntity:s,entitySearch:c,setEntitySearch:l,entitiesQuery:p,entityOptions:h}}var Ee=({action:e,objectId:t,entityId:n,pluginApiName:r,configArgs:i,disabled:a})=>{let[o,{pending:s}]=ce({objectId:t,entityId:n,onError:t=>{console.error(`[js-action] ${e.api_name}:`,t)}}),c={id:e.api_name,api_name:e.api_name,plugin_api_name:r};return(0,k.jsxs)(`button`,{onClick:()=>{o(e.script,i,c)},disabled:a===!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,k.jsx)(`span`,{className:`font-mono text-[12px] text-neutral-800`,children:e.name}),e.hint_object_name&&(0,k.jsxs)(`span`,{className:`font-mono text-[10px] text-neutral-400`,children:[`for: `,e.hint_object_name]}),(0,k.jsx)(xe,{visible:s})]})},De=({actions:e,pluginApiName:t,configArgs:n})=>{let{apiKey:r}=le(),{selectedObject:i,setSelectedObject:a,objectSearch:o,setObjectSearch:s,objectsQuery:c,objectOptions:l,selectedEntity:u,setSelectedEntity:d,entitySearch:f,setEntitySearch:p,entitiesQuery:m,entityOptions:h}=Te(t);if(!r)return(0,k.jsx)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:`Configure API credentials in Dev Tools to use JS action templates.`});let g=i!==null&&u!==null;return(0,k.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,k.jsxs)(`div`,{className:`flex gap-3`,children:[(0,k.jsx)(`div`,{className:`flex-1`,children:(0,k.jsx)(E,{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,k.jsx)(`div`,{className:`flex-1`,children:(0,k.jsx)(E,{label:`Entity`,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 entities…`,disabled:i===null})})]}),(0,k.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:e.map(e=>(0,k.jsx)(Ee,{action:e,objectId:i?.id??``,entityId:u?.id??``,pluginApiName:t,configArgs:n,disabled:!g},e.api_name))},g?`${i.id}-${u.id}`:`no-selection`)]})},Oe=({adornment:e,objectId:t,entityId:n,pluginApiName:r,fieldValue:i,configArgs:a,disabled:o})=>{let[s,{pending:c}]=ce({objectId:t,entityId:n,onError:t=>{console.error(`[data-adornment] ${e.field_type}:`,t)}}),l={id:e.config.tooltip||e.field_type,api_name:e.field_type,plugin_api_name:r};return(0,k.jsxs)(`button`,{onClick:()=>{let r={value:i,fieldId:``,fieldType:e.field_type,objectId:t,entityId:n,...a};s(e.script,r,l)},disabled:o===!0||c,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,k.jsxs)(`span`,{className:`flex items-center gap-1.5 font-mono text-[12px] text-neutral-800`,children:[e.config.color&&(0,k.jsx)(`span`,{className:`h-3 w-4 shrink-0 rounded-sm border border-black/10`,style:{backgroundColor:e.config.color}}),e.config.icon&&(de[e.config.icon]?(0,k.jsx)(p,{icon:de[e.config.icon],className:`text-[12px] text-neutral-500`}):(0,k.jsx)(`span`,{className:`rounded px-1 font-mono text-[10px] ${pe.has(e.config.icon)||fe.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,k.jsx)(`span`,{className:`font-mono text-[10px] text-neutral-400`,children:e.field_type}),(0,k.jsx)(xe,{visible:c})]})},ke=({adornments:e,pluginApiName:t,configArgs:n})=>{let{apiKey:r}=le(),{selectedObject:i,setSelectedObject:a,objectSearch:o,setObjectSearch:s,objectsQuery:c,objectOptions:l,selectedEntity:u,setSelectedEntity:d,entitySearch:f,setEntitySearch:p,entitiesQuery:m,entityOptions:h}=Te(t),[g,_]=(0,O.useState)({});if(!r)return(0,k.jsx)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:`Configure API credentials in Dev Tools to use data adornments.`});let v=i!==null&&u!==null,y=e.reduce((e,t)=>{let n=t.field_type;return e[n]??=[],e[n].push(t),e},{});return(0,k.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,k.jsxs)(`div`,{className:`flex gap-3`,children:[(0,k.jsx)(`div`,{className:`flex-1`,children:(0,k.jsx)(E,{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,k.jsx)(`div`,{className:`flex-1`,children:(0,k.jsx)(E,{label:`Entity`,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 entities…`,disabled:i===null})})]}),(0,k.jsx)(`div`,{className:`flex flex-col gap-3`,children:Object.entries(y).map(([e,r])=>(0,k.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,k.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,k.jsx)(`label`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-500`,children:e}),(0,k.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:g[e]??``,onChange:t=>{_(n=>({...n,[e]:t.target.value}))}})]}),(0,k.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:r.map((r,a)=>(0,k.jsx)(Oe,{adornment:r,objectId:i?.id??``,entityId:u?.id??``,pluginApiName:t,fieldValue:g[e]??``,configArgs:n,disabled:!v},a))})]},e))},v?`${i.id}-${u.id}`:`no-selection`)]})},Ae=({page:e,isActive:t})=>{let{scriptUIRef:n,outputUIRef:r,scopedCss:i,sanitizedHtml:a,interactableScriptRef:o,iframeURL:s,pending:c}=T(e);return(0,k.jsxs)(`div`,{style:{display:t?`block`:`none`},className:`relative h-full w-full`,children:[c&&(0,k.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,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`div`,{ref:n,className:`h-full w-full p-3`}),(0,k.jsx)(`style`,{children:i})]}),e.type===`html`&&(0,k.jsxs)(`div`,{ref:o,className:`overflow-auto p-3`,children:[a&&(0,k.jsx)(`div`,{dangerouslySetInnerHTML:{__html:a}}),(0,k.jsx)(`div`,{ref:r}),(0,k.jsx)(`style`,{children:i})]}),e.type===`iframe`&&s&&(0,k.jsx)(`iframe`,{src:s,className:`h-full w-full border-0`,title:e.name})]})},je=`integration:route-change`;function Me(e,t){return e.find(e=>e.api_name===t||t.endsWith(`${e.plugin_api_name}/${e.api_name}`))}function Ne(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 Pe=(0,O.forwardRef)(({pages:e},t)=>{let[n,r]=(0,O.useState)(`home`),[i,a]=(0,O.useState)({entries:[``],index:0}),[o,s]=(0,O.useState)([]),[c,l]=(0,O.useState)({}),u=(0,O.useRef)(0),d=i.entries[i.index]??``,f=n===`home`?d:n,m=(0,O.useRef)(!0);(0,O.useEffect)(()=>{if(m.current){m.current=!1;return}let e=`/${f}`;window.dispatchEvent(new CustomEvent(je,{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}`}}}))},[f]);let h=n===`home`&&i.index>0,g=n===`home`&&i.index<i.entries.length-1,_=(0,O.useCallback)((t,n)=>{let i=t.replace(/^\/+/,``),o=Me(e,i);o?(r(o.api_name),l(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]),v=(0,O.useCallback)(t=>{let n=Me(e,t.replace(/^\/+/,``));if(n){r(n.api_name),l(e=>({...e,[n.api_name]:(e[n.api_name]??0)+1}));return}u.current+=1;let i=`__tab_${String(u.current)}`;s(e=>[...e,{id:i,url:t,title:Ne(t)}]),r(i)},[e]),y=(0,O.useCallback)(e=>{s(t=>t.filter(t=>t.id!==e)),n===e&&r(`home`)},[n]);(0,O.useImperativeHandle)(t,()=>({navigate:_,openNewTab:v}),[_,v]);let b=o.find(e=>e.id===n)??null;return(0,k.jsxs)(`div`,{className:`mt-1.5 overflow-hidden rounded border border-black/10 bg-white`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-black/8 bg-neutral-50 px-3 py-1.5`,children:[(0,k.jsxs)(`div`,{className:`flex shrink-0 gap-1`,children:[(0,k.jsx)(`div`,{className:`h-3 w-3 rounded-full bg-red-400/60`}),(0,k.jsx)(`div`,{className:`h-3 w-3 rounded-full bg-yellow-400/60`}),(0,k.jsx)(`div`,{className:`h-3 w-3 rounded-full bg-green-400/60`})]}),(0,k.jsx)(`button`,{onClick:()=>{a(e=>({...e,index:e.index-1}))},disabled:!h,className:`px-0.5 font-mono text-[15px] leading-none transition-colors ${h?`text-neutral-600 hover:text-neutral-900`:`cursor-default text-neutral-300`}`,children:`‹`}),(0,k.jsx)(`button`,{onClick:()=>{a(e=>({...e,index:e.index+1}))},disabled:!g,className:`px-0.5 font-mono text-[15px] leading-none transition-colors ${g?`text-neutral-600 hover:text-neutral-900`:`cursor-default text-neutral-300`}`,children:`›`}),(0,k.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:b?b.url:`app://sandbox/${f}`})]}),(0,k.jsxs)(`div`,{className:`flex border-b border-black/8 bg-neutral-50`,children:[(0,k.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,k.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&&(de[e.toolbar_icon]?(0,k.jsx)(p,{icon:de[e.toolbar_icon],className:`mr-1 text-[10px] text-neutral-400`}):(0,k.jsx)(`span`,{className:`mr-1 rounded px-1 font-mono text-[9px] ${pe.has(e.toolbar_icon)||fe.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,k.jsxs)(`div`,{className:`flex items-center border-r border-black/8 ${n===e.id?`bg-white`:`hover:bg-black/5`}`,children:[(0,k.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,k.jsx)(`button`,{onClick:()=>{y(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,k.jsxs)(`div`,{className:`h-[500px]`,children:[n===`home`&&d===``&&(0,k.jsxs)(`div`,{className:`flex flex-col gap-2 p-6 font-mono text-[11px]`,children:[(0,k.jsx)(`div`,{className:`text-neutral-400`,children:`app://sandbox/`}),(0,k.jsx)(`div`,{className:`mt-1 text-[13px] font-medium text-neutral-700`,children:`App Homepage`}),(0,k.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`&&d!==``&&(0,k.jsxs)(`div`,{className:`flex flex-col gap-2 p-6 font-mono text-[11px]`,children:[(0,k.jsxs)(`div`,{className:`text-neutral-400`,children:[`app://sandbox/`,d]}),(0,k.jsx)(`div`,{className:`mt-1 text-[13px] font-medium text-neutral-500`,children:`Page not found`}),(0,k.jsxs)(`div`,{className:`text-neutral-400`,children:[`No routable page with api_name`,` `,(0,k.jsx)(`code`,{className:`rounded bg-neutral-100 px-1`,children:d}),` is defined in this plugin.`]})]}),e.map(e=>(0,k.jsx)(Ae,{page:e,isActive:n===e.api_name},`${e.api_name}-${String(c[e.api_name]??0)}`)),o.map(e=>(0,k.jsx)(`div`,{style:{display:n===e.id?`block`:`none`},className:`h-full w-full`,children:/^https?:\/\//i.test(e.url)?(0,k.jsx)(`iframe`,{src:e.url,className:`h-full w-full border-0`,title:e.title}):(0,k.jsxs)(`div`,{className:`flex flex-col gap-2 p-6 font-mono text-[11px]`,children:[(0,k.jsx)(`div`,{className:`text-neutral-400`,children:e.url}),(0,k.jsx)(`div`,{className:`mt-1 text-[13px] font-medium text-neutral-500`,children:`Page not found`}),(0,k.jsxs)(`div`,{className:`text-neutral-400`,children:[`No routable page with path`,` `,(0,k.jsx)(`code`,{className:`rounded bg-neutral-100 px-1`,children:e.url}),` is defined in this plugin.`]})]})},e.id))]})]})});Pe.displayName=`RoutablePageBrowser`;var Fe=({item:e})=>{let[t,{pending:n}]=se({onError:t=>{console.error(`[toolbar] ${e.api_name}:`,t)},plugin:e});return(0,k.jsxs)(`button`,{onClick:()=>void t(e.script,e.args),disabled:n,className:`relative flex items-center gap-1.5 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:[e.color&&(0,k.jsx)(`span`,{className:`h-3 w-4 shrink-0 rounded-sm border border-black/10`,style:{backgroundColor:e.color}}),e.icon&&(de[e.icon]?(0,k.jsx)(p,{icon:de[e.icon],className:`text-[12px] text-neutral-500`}):(0,k.jsx)(`span`,{className:`rounded px-1 font-mono text-[10px] ${pe.has(e.icon)||fe.has(e.icon)?`bg-neutral-100 text-neutral-400`:`bg-amber-100 text-amber-600`}`,children:e.icon})),(0,k.jsx)(`span`,{children:e.label}),(0,k.jsx)(xe,{visible:n})]})},Ie=({item:e,objectId:t,pluginApiName:n,configArgs:r,disabled:i})=>{let[a,{pending:o}]=ce({objectId:t,entityId:``,onError:t=>{console.error(`[object-settings] ${e.api_name}:`,t)}}),s={id:e.api_name,api_name:e.api_name,plugin_api_name:n};return(0,k.jsxs)(`button`,{onClick:()=>{a(e.script,r,s)},disabled:i===!0||o,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,k.jsx)(`span`,{className:`font-mono text-[12px] text-neutral-800`,children:e.label}),e.when&&(0,k.jsxs)(`span`,{className:`font-mono text-[10px] text-neutral-400`,children:[`when: `,e.when]}),(0,k.jsx)(xe,{visible:o})]})},Le=({items:e,pluginApiName:t,configArgs:n})=>{let{apiKey:r}=le(),{selectedObject:i,setSelectedObject:a,objectSearch:o,setObjectSearch:s,objectsQuery:c,objectOptions:l}=Se(`kizen-sandbox:${t}:objectSettings:selectedObject`);return r?(0,k.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,k.jsx)(`div`,{className:`w-64`,children:(0,k.jsx)(E,{label:`Custom Object`,value:o,onChange:e=>{s(e),i&&a(null)},onSelect:(e,t)=>{a({id:e,name:t}),s(t)},options:l,loading:c.isFetching,placeholder:`Search custom objects…`})}),(0,k.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:e.map(e=>(0,k.jsx)(Ie,{item:e,objectId:i?.id??``,pluginApiName:t,configArgs:n,disabled:i===null},e.api_name))},i?.id??`no-selection`)]}):(0,k.jsx)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:`Configure API credentials in Dev Tools to use object settings menu items.`})},Re=`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`,ze=`block text-[11px] font-semibold uppercase tracking-widest text-neutral-600 mb-1`,Be=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 Ve(e,t){try{let n=localStorage.getItem(`kizen-sandbox:${e}:service:${t}:requestHistory`);return n?JSON.parse(n):[]}catch{return[]}}function He(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(`kizen-sandbox:${e}:service:${t}:requestHistory`,JSON.stringify(s))}catch{}return s}var Ue=({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,k.jsxs)(`div`,{className:`mt-3 flex flex-col gap-2`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,k.jsx)(`span`,{className:`rounded px-2 py-0.5 text-[11px] font-semibold ${a}`,children:t===0?`Error`:t}),n>0&&(0,k.jsxs)(`span`,{className:`rounded bg-neutral-100 px-2 py-0.5 text-[11px] text-neutral-500`,children:[n,`ms`]})]}),(0,k.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)`})]})},We=({headers:e,onChange:t})=>{let n=()=>{t([...e,{id:String(Date.now()),key:``,value:``}])},r=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,k.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,k.jsx)(`label`,{className:ze,children:`Custom Headers`}),e.length>0&&(0,k.jsx)(`div`,{className:`grid grid-cols-[1fr_1fr_auto] gap-1 mb-1`,children:e.map(e=>(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`input`,{className:Re,placeholder:`Header name`,value:e.key,onChange:t=>{a(e.id,`key`,t.target.value)}},`${e.id}-key`),(0,k.jsx)(`input`,{className:Re,placeholder:`Value`,value:e.value,onChange:t=>{a(e.id,`value`,t.target.value)}},`${e.id}-val`),(0,k.jsx)(`button`,{type:`button`,className:`px-1.5 text-neutral-400 hover:text-red-500`,onClick:()=>{r(e.id)},children:(0,k.jsx)(p,{icon:d,className:`text-[11px]`})},`${e.id}-rm`)]}))}),(0,k.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 text-[11px] text-neutral-400 hover:text-neutral-700 self-start`,onClick:n,children:[(0,k.jsx)(p,{icon:i,className:`text-[10px]`}),`Add header`]})]})},Ge=({service:e,pluginApiName:t})=>{let n=v(),{environment:r}=le(),i=y[r],[o,c]=(0,O.useState)(`GET`),[l,d]=(0,O.useState)(``),[f,m]=(0,O.useState)([]),[h,g]=(0,O.useState)(``),[_,b]=(0,O.useState)(!1),[x,S]=(0,O.useState)(null),[C,ee]=(0,O.useState)(()=>Ve(t,e.service_name)),[te,ne]=(0,O.useState)(!1),re=(0,O.useRef)(null);(0,O.useEffect)(()=>{if(!te)return;let e=e=>{re.current&&!re.current.contains(e.target)&&ne(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[te]);let ie=[`POST`,`PUT`,`PATCH`].includes(o),T=l===``||l.startsWith(`/`)?l:`/${l}`,ae=`/external-integrations/proxy/${t}/${e.service_name}${T||`/`}`,oe=`${i}${ae}`,E=e=>{c(e.method),d(e.path),m(e.headers),g(e.body),ne(!1)},se=()=>{localStorage.removeItem(`kizen-sandbox:${t}:service:${e.service_name}:requestHistory`),ee([]),ne(!1)},ce=async()=>{if(!_){ee(He(t,e.service_name,{method:o,path:l,headers:f,body:h},C)),b(!0),S(null);try{let e=Object.fromEntries(f.filter(e=>e.key.trim()).map(e=>[e.key.trim(),e.value])),t=performance.now(),r=await n(ae,{method:o,headers:{...ie&&h.trim()?{"Content-Type":`application/json`}:{},...e},...ie&&h.trim()?{body:h}:{}}),i=Math.round(performance.now()-t),a=r.headers.get(`content-type`)??``,s=await r.text();S({status:r.status,elapsedMs:i,contentType:a,body:s})}catch(e){S({status:0,elapsedMs:0,contentType:``,body:String(e)})}finally{b(!1)}}};return(0,k.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,k.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,k.jsxs)(`div`,{className:`flex flex-col gap-1 shrink-0`,children:[(0,k.jsx)(`label`,{className:ze,children:`Method`}),(0,k.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=>{c(e.target.value)},children:[`GET`,`POST`,`PUT`,`PATCH`,`DELETE`].map(e=>(0,k.jsx)(`option`,{value:e,children:e},e))})]}),(0,k.jsxs)(`div`,{className:`relative flex flex-col gap-1 flex-1 min-w-0`,ref:re,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,k.jsx)(`label`,{className:ze,children:`Path`}),C.length>0&&(0,k.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 text-[11px] text-neutral-400 hover:text-neutral-700`,onClick:()=>{ne(e=>!e)},title:`Request history`,children:[(0,k.jsx)(p,{icon:s,className:`text-[10px]`}),(0,k.jsx)(`span`,{children:C.length})]})]}),(0,k.jsx)(`input`,{className:Re,placeholder:`/path/to/endpoint`,value:l,onChange:e=>{d(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&ce()}}),(0,k.jsx)(`span`,{className:`font-mono text-[10px] text-neutral-400 truncate`,children:oe}),(0,k.jsxs)(w,{anchorRef:re,open:te&&C.length>0,children:[C.map(e=>(0,k.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left hover:bg-neutral-50`,onClick:()=>{E(e)},children:[(0,k.jsx)(`span`,{className:`shrink-0 rounded px-1.5 py-0.5 font-mono text-[10px] font-semibold ${Be(e.method)}`,children:e.method}),(0,k.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,k.jsxs)(`span`,{className:`shrink-0 text-[10px] text-neutral-400`,children:[e.headers.filter(e=>e.key.trim()).length,`h`]}),e.body.trim()&&(0,k.jsx)(`span`,{className:`shrink-0 text-[10px] text-neutral-400`,children:`body`})]},e.id)),(0,k.jsx)(`div`,{className:`border-t border-black/5 px-3 py-1.5 text-right`,children:(0,k.jsx)(`button`,{type:`button`,className:`text-[11px] text-neutral-400 hover:text-neutral-700`,onClick:se,children:`clear history`})})]})]}),(0,k.jsxs)(`div`,{className:`flex flex-col gap-1 shrink-0`,children:[(0,k.jsx)(`span`,{className:`invisible ${ze}`,children:`\xA0`}),(0,k.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:()=>{ce()},children:[_?(0,k.jsx)(p,{icon:a,className:`animate-spin text-[11px]`}):(0,k.jsx)(p,{icon:u,className:`text-[11px]`}),`Send`]})]})]}),(0,k.jsx)(We,{headers:f,onChange:m}),ie&&(0,k.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,k.jsx)(`label`,{className:ze,children:`Request Body`}),(0,k.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)}})]}),x!==null&&(0,k.jsx)(Ue,{response:x})]})},Ke=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`,qe=({label:e,children:t})=>(0,k.jsxs)(`div`,{className:`flex items-baseline gap-2 text-[12px]`,children:[(0,k.jsx)(`span`,{className:`w-28 shrink-0 text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:e}),t]}),Je=({service:e})=>(0,k.jsxs)(`div`,{className:`flex flex-col gap-1.5 pb-4 mb-4 border-b border-black/5`,children:[(0,k.jsxs)(qe,{label:`Name`,children:[(0,k.jsx)(`span`,{className:`text-neutral-800 font-medium`,children:e.display_name}),(0,k.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,k.jsxs)(qe,{label:`Auth`,children:[(0,k.jsx)(`span`,{className:Ke(e.auth_type),children:e.auth_type}),e.auth_level&&(0,k.jsx)(`span`,{className:`text-[11px] text-neutral-400`,children:e.auth_level})]}),(0,k.jsx)(qe,{label:`Base URL`,children:(0,k.jsx)(`span`,{className:`font-mono text-[11px] text-neutral-600 break-all`,children:e.base_service_url||(0,k.jsx)(`em`,{className:`text-neutral-400`,children:`none`})})}),e.auth_credentials?.scopes&&(0,k.jsx)(qe,{label:`Scopes`,children:(0,k.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,k.jsx)(qe,{label:`Auth URL`,children:(0,k.jsx)(`span`,{className:`font-mono text-[11px] text-neutral-600 break-all`,children:e.auth_credentials.authorize_url})}),e.required_entitlement?(0,k.jsx)(qe,{label:`Entitlement`,children:(0,k.jsx)(`span`,{className:`font-mono text-[11px] text-neutral-500`,children:e.required_entitlement})}):null]}),Ye=({services:e,pluginApiName:t,isInstalled:r})=>{let i=e.map(e=>e),[a,o]=(0,O.useState)(0),s=i[a]??i[0];return s?(0,k.jsxs)(D,{className:`!p-0 overflow-hidden`,children:[(0,k.jsxs)(`div`,{className:`border-b border-black/10 px-5 py-3`,children:[(0,k.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:`Services`}),(0,k.jsx)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:`Make proxied requests to external services through Kizen's integration layer.`})]}),(0,k.jsx)(`div`,{className:`flex border-b border-black/10 overflow-x-auto`,children:i.map((e,t)=>(0,k.jsx)(`button`,{type:`button`,onClick:()=>{o(t)},className:`shrink-0 px-4 py-2.5 text-[12px] font-medium border-b-2 transition-colors ${t===a?`border-neutral-800 text-neutral-900`:`border-transparent text-neutral-400 hover:text-neutral-700`}`,children:e.display_name},e.service_name))}),(0,k.jsxs)(`div`,{className:`p-5 flex flex-col gap-4`,children:[(0,k.jsx)(Je,{service:s}),r?(0,k.jsx)(Ge,{service:s,pluginApiName:t},s.service_name):(0,k.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,k.jsx)(p,{icon:n,className:`mt-0.5 text-[11px]`}),(0,k.jsx)(`span`,{children:`Please install the plugin in order to test.`})]})]})]}):null},Xe,A,Ze,Qe,$e,et,tt,nt,rt,it={},at=[],ot=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function st(e,t){for(var n in t)e[n]=t[n];return e}function ct(e){var t=e.parentNode;t&&t.removeChild(e)}function j(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?Xe.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 lt(e,o,r,i,null)}function lt(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??++Ze};return i==null&&A.vnode!=null&&A.vnode(a),a}function M(){return{current:null}}function N(e){return e.children}function ut(e,t,n,r,i){for(var a in n)a===`children`||a===`key`||a in t||ft(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]||ft(e,a,t[a],n[a],r)}function dt(e,t,n){t[0]===`-`?e.setProperty(t,n??``):e[t]=n==null?``:typeof n!=`number`||ot.test(t)?n:n+`px`}function ft(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||dt(e.style,t,``);if(n)for(t in n)r&&n[t]===r[t]||dt(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?mt:pt,a):e.removeEventListener(t,a?mt:pt,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 pt(e){$e=!0;try{return this.l[e.type+!1](A.event?A.event(e):e)}finally{$e=!1}}function mt(e){$e=!0;try{return this.l[e.type+!0](A.event?A.event(e):e)}finally{$e=!1}}function P(e,t){this.props=e,this.context=t}function ht(e,t){if(t==null)return e.__?ht(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`?ht(e):null}function gt(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 gt(e)}}function _t(e){$e?setTimeout(e):nt(e)}function vt(e){(!e.__d&&(e.__d=!0)&&et.push(e)&&!yt.__r++||tt!==A.debounceRendering)&&((tt=A.debounceRendering)||_t)(yt)}function yt(){var e,t,n,r,i,a,o,s;for(et.sort(function(e,t){return e.__v.__b-t.__v.__b});e=et.shift();)e.__d&&(t=et.length,r=void 0,i=void 0,o=(a=(n=e).__v).__e,(s=n.__P)&&(r=[],(i=st({},a)).__v=a.__v+1,Tt(s,a,i,n.__n,s.ownerSVGElement!==void 0,a.__h==null?null:[o],r,o??ht(a),a.__h),Et(r,a),a.__e!=o&>(a)),et.length>t&&et.sort(function(e,t){return e.__v.__b-t.__v.__b}));yt.__r=0}function bt(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`?lt(null,p,null,null,p):Array.isArray(p)?lt(N,{children:p},null,null,null):p.__b>0?lt(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}Tt(e,p,f||=it,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=ht(f)):(h??=m,typeof p.type==`function`&&p.__k===f.__k?p.__d=c=xt(p,c,e):c=Ct(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=wt(r).nextSibling),kt(_[u],_[u]));if(g)for(u=0;u<g.length;u++)Ot(g[u],g[++u],g[++u])}function xt(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`?xt(r,t,n):Ct(n,r,r,i,r.__e,t));return t}function St(e,t){return t||=[],e==null||typeof e==`boolean`||(Array.isArray(e)?e.some(function(e){St(e,t)}):t.push(e)),t}function Ct(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 wt(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=wt(n)))return r}return null}function Tt(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=A.__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 P(g,v),u.constructor=w,u.render=At),_&&_.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=st({},u.__s)),st(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=A.__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=st(st({},r),u.getChildContext())),d||u.getSnapshotBeforeUpdate==null||(m=u.getSnapshotBeforeUpdate(f,p)),C=l!=null&&l.type===N&&l.key==null?l.props.children:l,bt(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=Dt(n.__e,t,n,r,i,a,o,c);(l=A.diffed)&&l(t)}catch(e){t.__v=null,(c||a!=null)&&(t.__e=s,t.__h=!!c,a[a.indexOf(s)]=null),A.__e(e,t,n)}}function Et(e,t){A.__c&&A.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){A.__e(e,t.__v)}})}function Dt(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&&=Xe.call(e.childNodes),l=(d=n.props||it).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(ut(e,f,d,i,s),u)t.__k=[];else if(m=t.props.children,bt(e,Array.isArray(m)?m:[m],t,n,r,i&&p!==`foreignObject`,a,o,a?a[0]:n.__k&&ht(n,0),s),a!=null)for(m=a.length;m--;)a[m]!=null&&ct(a[m]);s||(`value`in f&&(m=f.value)!==void 0&&(m!==e.value||p===`progress`&&!m||p===`option`&&m!==d.value)&&ft(e,`value`,m,d.value,!1),`checked`in f&&(m=f.checked)!==void 0&&m!==e.checked&&ft(e,`checked`,m,d.checked,!1))}return e}function Ot(e,t,n){try{typeof e==`function`?e(t):e.current=t}catch(e){A.__e(e,n)}}function kt(e,t,n){var r,i;if(A.unmount&&A.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||Ot(r,null,t)),(r=e.__c)!=null){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){A.__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]&&kt(r[i],t,n||typeof e.type!=`function`);n||e.__e==null||ct(e.__e),e.__=e.__e=e.__d=void 0}function At(e,t,n){return this.constructor(e,n)}function jt(e,t,n){var r,i,a;A.__&&A.__(e,t),i=(r=typeof n==`function`)?null:n&&n.__k||t.__k,a=[],Tt(t,e=(!r&&n||t).__k=j(N,null,[e]),i||it,it,t.ownerSVGElement!==void 0,!r&&n?[n]:i?null:t.firstChild?Xe.call(t.childNodes):null,a,!r&&n?n:i?i.__e:t.firstChild,r),Et(a,e)}function Mt(e,t){var n={__c:t=`__cC`+ rt++,__: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,vt(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}Xe=at.slice,A={__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}},Ze=0,Qe=function(e){return e!=null&&e.constructor===void 0},$e=!1,P.prototype.setState=function(e,t){var n=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=st({},this.state);typeof e==`function`&&(e=e(st({},n),this.props)),e&&st(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),vt(this))},P.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),vt(this))},P.prototype.render=N,et=[],nt=typeof Promise==`function`?Promise.prototype.then.bind(Promise.resolve()):setTimeout,yt.__r=0,rt=0;var F,Nt,Pt,Ft=[],It=[],Lt=A.__b,Rt=A.__r,zt=A.diffed,Bt=A.__c,Vt=A.unmount;function Ht(){for(var e;e=Ft.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(Gt),e.__H.__h.forEach(Kt),e.__H.__h=[]}catch(t){e.__H.__h=[],A.__e(t,e.__v)}}A.__b=function(e){F=null,Lt&&Lt(e)},A.__r=function(e){Rt&&Rt(e);var t=(F=e.__c).__H;t&&(Nt===F?(t.__h=[],F.__h=[],t.__.forEach(function(e){e.__N&&(e.__=e.__N),e.__V=It,e.__N=e.i=void 0})):(t.__h.forEach(Gt),t.__h.forEach(Kt),t.__h=[])),Nt=F},A.diffed=function(e){zt&&zt(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Ft.push(t)!==1&&Pt===A.requestAnimationFrame||((Pt=A.requestAnimationFrame)||Wt)(Ht)),t.__H.__.forEach(function(e){e.i&&(e.__H=e.i),e.__V!==It&&(e.__=e.__V),e.i=void 0,e.__V=It})),Nt=F=null},A.__c=function(e,t){t.some(function(e){try{e.__h.forEach(Gt),e.__h=e.__h.filter(function(e){return!e.__||Kt(e)})}catch(n){t.some(function(e){e.__h&&=[]}),t=[],A.__e(n,e.__v)}}),Bt&&Bt(e,t)},A.unmount=function(e){Vt&&Vt(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(e){try{Gt(e)}catch(e){t=e}}),n.__H=void 0,t&&A.__e(t,n.__v))};var Ut=typeof requestAnimationFrame==`function`;function Wt(e){var t,n=function(){clearTimeout(r),Ut&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);Ut&&(t=requestAnimationFrame(n))}function Gt(e){var t=F,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),F=t}function Kt(e){var t=F;e.__c=e.__(),F=t}function qt(e,t){for(var n in t)e[n]=t[n];return e}function Jt(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 Yt(e){this.props=e}(Yt.prototype=new P).isPureReactComponent=!0,Yt.prototype.shouldComponentUpdate=function(e,t){return Jt(this.props,e)||Jt(this.state,t)};var Xt=A.__b;A.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Xt&&Xt(e)},typeof Symbol<`u`&&Symbol.for;var Zt=A.__e;A.__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)}Zt(e,t,n,r)};var Qt=A.unmount;function $t(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=qt({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map(function(e){return $t(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 tn(){this.__u=0,this.t=null,this.__b=null}function nn(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function rn(){this.u=null,this.o=null}A.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&!0===e.__h&&(e.type=null),Qt&&Qt(e)},(tn.prototype=new P).__c=function(e,t){var n=t.__c,r=this;r.t??=[],r.t.push(n);var i=nn(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)},tn.prototype.componentWillUnmount=function(){this.t=[]},tn.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]=$t(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&j(N,null,e.fallback);return i&&(i.__h=null),[j(N,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 on(e){return this.getChildContext=function(){return e.context},e.children}function sn(e){var t=this,n=e.i;t.componentWillUnmount=function(){jt(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)}}),jt(j(on,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function cn(e,t){var n=j(sn,{__v:e,i:t});return n.containerInfo=t,n}(rn.prototype=new P).__a=function(e){var t=this,n=nn(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()}},rn.prototype.render=function(e){this.u=null,this.o=new Map;var t=St(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},rn.prototype.componentDidUpdate=rn.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,n){an(e,n,t)})};var ln=typeof Symbol<`u`&&Symbol.for&&Symbol.for(`react.element`)||60103,un=/^(?: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]/,dn=typeof document<`u`,fn=function(e){return(typeof Symbol<`u`&&typeof Symbol()==`symbol`?/fil|che|rad/i:/fil|che|ra/i).test(e)};P.prototype.isReactComponent={},[`componentWillMount`,`componentWillReceiveProps`,`componentWillUpdate`].forEach(function(e){Object.defineProperty(P.prototype,e,{configurable:!0,get:function(){return this[`UNSAFE_`+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var pn=A.event;function mn(){}function hn(){return this.cancelBubble}function gn(){return this.defaultPrevented}A.event=function(e){return pn&&(e=pn(e)),e.persist=mn,e.isPropagationStopped=hn,e.isDefaultPrevented=gn,e.nativeEvent=e};var _n={configurable:!0,get:function(){return this.class}},vn=A.vnode;A.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];dn&&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)&&!fn(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&&un.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=St(n.children).forEach(function(e){e.props.selected=r.value.indexOf(e.props.value)!=-1})),t==`select`&&r.defaultValue!=null&&(r.value=St(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&&(_n.enumerable=`className`in n,n.className!=null&&(r.class=n.className),Object.defineProperty(r,`className`,_n))}e.$$typeof=ln,vn&&vn(e)};var yn=A.__r;A.__r=function(e){yn&&yn(e),e.__c};var bn=[],xn=new Map;function Sn(e){bn.push(e),xn.forEach(t=>{En(t,e)})}function Cn(e){e.isConnected&&e.getRootNode&&wn(e.getRootNode())}function wn(e){let t=xn.get(e);if(!t||!t.isConnected){if(t=e.querySelector(`style[data-fullcalendar]`),!t){t=document.createElement(`style`),t.setAttribute(`data-fullcalendar`,``);let n=On();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)}xn.set(e,t),Tn(t)}}function Tn(e){for(let t of bn)En(e,t)}function En(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 Dn;function On(){return Dn===void 0&&(Dn=kn()),Dn}function kn(){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`&&wn(document),Sn(`: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 An=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 jn(e){e.parentNode&&e.parentNode.removeChild(e)}function Mn(e,t){if(e.closest)return e.closest(t);if(!document.documentElement.contains(e))return null;do{if(Nn(e,t))return e;e=e.parentElement||e.parentNode}while(e!==null&&e.nodeType===1);return null}function Nn(e,t){return(e.matches||e.matchesSelector||e.msMatchesSelector).call(e,t)}function Pn(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 Fn=/(top|left|right|bottom|width|height)$/i;function In(e,t){for(let n in t)Ln(e,n,t[n])}function Ln(e,t,n){n==null?e.style[t]=``:typeof n==`number`&&Fn.test(t)?e.style[t]=`${n}px`:e.style[t]=n}function Rn(e){return e.composedPath?.call(e)[0]??e.target}var zn=0;function Bn(){return zn+=1,`fc-dom-`+zn}function Vn(e,t){return n=>{let r=Mn(n.target,e);r&&t.call(r,n,r)}}function Hn(e,t,n,r){let i=Vn(n,r);return e.addEventListener(t,i),()=>{e.removeEventListener(t,i)}}function Un(e,t,n,r){let i;return Hn(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 Wn(e){return Object.assign({onClick:e},Gn(e))}function Gn(e){return{tabIndex:0,onKeyDown(t){(t.key===`Enter`||t.key===` `)&&(e(t),t.preventDefault())}}}var Kn=0;function qn(){return Kn+=1,String(Kn)}function Jn(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 Yn(e,t,n){let r,i;for(r=0;r<n.length;r+=1)if(i=Xn(e,t,n[r]),i)return i;return 0}function Xn(e,t,n){return n.func?n.func(e,t):Zn(e[n.field],t[n.field])*(n.order||1)}function Zn(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 Qn(e,t){let n=String(e);return`000`.substr(0,t-n.length)+n}function $n(e,t,n){return typeof e==`function`?e(...t):typeof e==`string`?t.reduce((e,t,n)=>e.replace(`$`+n,t||``),e):n}function er(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 nr=[`years`,`months`,`days`,`milliseconds`],rr=/^(-?)(?:(\d+)\.)?(\d+):(\d\d)(?::(\d\d)(?:\.(\d\d\d))?)?/;function I(e,t){return typeof e==`string`?ir(e):typeof e==`object`&&e?ar(e):typeof e==`number`?ar({[t||`milliseconds`]:e}):null}function ir(e){let t=rr.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 ar(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 or(e,t){return e.years===t.years&&e.months===t.months&&e.days===t.days&&e.milliseconds===t.milliseconds}function sr(e,t){return{years:e.years+t.years,months:e.months+t.months,days:e.days+t.days,milliseconds:e.milliseconds+t.milliseconds}}function cr(e,t){return{years:e.years-t.years,months:e.months-t.months,days:e.days-t.days,milliseconds:e.milliseconds-t.milliseconds}}function lr(e,t){return{years:e.years*t,months:e.months*t,days:e.days*t,milliseconds:e.milliseconds*t}}function ur(e){return fr(e)/365}function dr(e){return fr(e)/30}function fr(e){return L(e)/864e5}function L(e){return e.years*(365*864e5)+e.months*(30*864e5)+e.days*864e5+e.milliseconds}function pr(e,t){let n=null;for(let r=0;r<nr.length;r+=1){let i=nr[r];if(t[i]){let r=e[i]/t[i];if(!er(r)||n!==null&&n!==r)return null;n=r}else if(e[i])return null}return n}function mr(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 hr(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 gr=[`sun`,`mon`,`tue`,`wed`,`thu`,`fri`,`sat`];function _r(e,t){let n=Fr(e);return n[2]+=t*7,B(n)}function R(e,t){let n=Fr(e);return n[2]+=t,B(n)}function vr(e,t){let n=Fr(e);return n[6]+=t,B(n)}function yr(e,t){return br(e,t)/7}function br(e,t){return(t.valueOf()-e.valueOf())/(1e3*60*60*24)}function xr(e,t){return(t.valueOf()-e.valueOf())/(1e3*60*60)}function Sr(e,t){return(t.valueOf()-e.valueOf())/(1e3*60)}function Cr(e,t){return(t.valueOf()-e.valueOf())/1e3}function wr(e,t){let n=z(e),r=z(t);return{years:0,months:0,days:Math.round(br(n,r)),milliseconds:t.valueOf()-r.valueOf()-(e.valueOf()-n.valueOf())}}function Tr(e,t){let n=Er(e,t);return n!==null&&n%7==0?n/7:null}function Er(e,t){return Lr(e)===Lr(t)?Math.round(br(e,t)):null}function z(e){return B([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()])}function Dr(e){return B([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours()])}function Or(e){return B([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes()])}function kr(e){return B([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds()])}function Ar(e,t,n){let r=e.getUTCFullYear(),i=jr(e,r,t,n);if(i<1)return jr(e,r-1,t,n);let a=jr(e,r+1,t,n);return a>=1?Math.min(i,a):i}function jr(e,t,n,r){let i=B([t,0,1+Mr(t,n,r)]),a=z(e),o=Math.round(br(i,a));return Math.floor(o/7)+1}function Mr(e,t,n){let r=7+t-n;return-((7+B([e,0,r]).getUTCDay()-t)%7)+r-1}function Nr(e){return[e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()]}function Pr(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 Fr(e){return[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()]}function B(e){return e.length===1&&(e=e.concat([0])),new Date(Date.UTC(...e))}function Ir(e){return!isNaN(e.valueOf())}function Lr(e){return e.getUTCHours()*1e3*60*60+e.getUTCMinutes()*1e3*60+e.getUTCSeconds()*1e3+e.getUTCMilliseconds()}function Rr(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`,Hr(t,!0)))),r}function zr(e){return e.toISOString().replace(/T.*$/,``)}function Br(e){return e.toISOString().match(/^\d{4}-\d{2}/)[0]}function Vr(e){return Qn(e.getUTCHours(),2)+`:`+Qn(e.getUTCMinutes(),2)+`:`+Qn(e.getUTCSeconds(),2)}function Hr(e,t=!1){let n=e<0?`-`:`+`,r=Math.abs(e),i=Math.floor(r/60),a=Math.round(r%60);return t?`${n+Qn(i,2)}:${Qn(a,2)}`:`GMT${n}${i}${a?`:${Qn(a,2)}`:``}`}function V(e,t,n){let r,i;return function(...a){if(!r)i=e.apply(this,a);else if(!hr(r,a)){n&&n(i);let r=e.apply(this,a);(!t||!t(r,i))&&(i=r)}return r=a,i}}function Ur(e,t,n){let r,i;return a=>{if(!r)i=e.call(this,a);else if(!W(r,a)){n&&n(i);let r=e.call(this,a);(!t||!t(r,i))&&(i=r)}return r=a,i}}var Wr={week:3,separator:9,omitZeroMinute:9,meridiem:9,omitCommas:9},Gr={timeZoneName:7,era:6,year:5,month:4,day:2,weekday:2,hour:1,minute:1,second:1},Kr=/\s*([ap])\.?m\.?/i,qr=/,/g,Jr=/\s+/g,Yr=/\u200e/g,Xr=/UTC|GMT/,Zr=class{constructor(e){let t={},n={},r=9;for(let i in e)i in Wr?(n[i]=e[i],Wr[i]<9&&(r=Math.min(Wr[i],r))):(t[i]=e[i],i in Gr&&(r=Math.min(Gr[i],r)));this.standardDateProps=t,this.extendedSettings=n,this.smallestUnitNum=r,this.buildFormattingFunc=V(Qr)}format(e,t){return this.buildFormattingFunc(this.standardDateProps,this.extendedSettings,t)(e)}formatRange(e,t,n,r){let{standardDateProps:i,extendedSettings:a}=this,o=ii(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=Qr(ai(i,s),a,n),d=u(e),f=u(t),p=oi(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 Qr(e,t,n){let r=Object.keys(e).length;return r===1&&e.timeZoneName===`short`?e=>Hr(e.timeZoneOffset):r===0&&t.week?e=>ri(n.computeWeekNumber(e.marker),n.weekText,n.weekTextLong,n.locale,t.week):$r(e,t,n)}function $r(e,t,n){e=Object.assign({},e),t=Object.assign({},t),ei(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 ei(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(Yr,``),n.timeZoneName===`short`&&(e=ni(e,i.timeZone===`UTC`||t.timeZoneOffset==null?`UTC`:Hr(t.timeZoneOffset))),r.omitCommas&&(e=e.replace(qr,``).trim()),r.omitZeroMinute&&(e=e.replace(`:00`,``)),r.meridiem===!1?e=e.replace(Kr,``).trim():r.meridiem===`narrow`?e=e.replace(Kr,(e,t)=>t.toLocaleLowerCase()):r.meridiem===`short`?e=e.replace(Kr,(e,t)=>`${t.toLocaleLowerCase()}m`):r.meridiem===`lowercase`&&(e=e.replace(Kr,e=>e.toLocaleLowerCase())),e=e.replace(Jr,` `),e=e.trim(),e}function ni(e,t){let n=!1;return e=e.replace(Xr,()=>(n=!0,t)),n||(e+=` ${t}`),e}function ri(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 ii(e,t,n){return n.getMarkerYear(e)===n.getMarkerYear(t)?n.getMarkerMonth(e)===n.getMarkerMonth(t)?n.getMarkerDay(e)===n.getMarkerDay(t)?Lr(e)===Lr(t)?0:1:2:4:5}function ai(e,t){let n={};for(let r in e)(!(r in Gr)||Gr[r]<=t)&&(n[r]=e[r]);return n}function oi(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 si(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 ci(e,t,n,r){let i=si(e,n.calendarSystem);return{date:i,start:i,end:t?si(t,n.calendarSystem):null,timeZone:n.timeZone,localeCodes:n.locale.codes,defaultSeparator:r||n.defaultSeparator}}var li=class{constructor(e){this.cmdStr=e}format(e,t,n){return t.cmdFormatter(this.cmdStr,ci(e,null,t,n))}formatRange(e,t,n,r){return n.cmdFormatter(this.cmdStr,ci(e,t,n,r))}},ui=class{constructor(e){this.func=e}format(e,t,n){return this.func(ci(e,null,t,n))}formatRange(e,t,n,r){return this.func(ci(e,t,n,r))}};function H(e){return typeof e==`object`&&e?new Zr(e):typeof e==`string`?new li(e):typeof e==`function`?new ui(e):null}var di={navLinkDayClick:U,navLinkWeekClick:U,duration:I,bootstrapFontAwesome:U,buttonIcons:U,customButtons:U,defaultAllDayEventDuration:I,defaultTimedEventDuration:I,nextDayThreshold:I,scrollTime:I,scrollTimeReset:Boolean,slotMinTime:I,slotMaxTime:I,dayPopoverFormat:H,slotDuration:I,snapDuration:I,headerToolbar:U,footerToolbar:U,defaultRangeSeparator:String,titleRangeSeparator:String,forceEventDuration:Boolean,dayHeaders:Boolean,dayHeaderFormat:H,dayHeaderClassNames:U,dayHeaderContent:U,dayHeaderDidMount:U,dayHeaderWillUnmount:U,dayCellClassNames:U,dayCellContent:U,dayCellDidMount:U,dayCellWillUnmount:U,initialView:String,aspectRatio:Number,weekends:Boolean,weekNumberCalculation:U,weekNumbers:Boolean,weekNumberClassNames:U,weekNumberContent:U,weekNumberDidMount:U,weekNumberWillUnmount:U,editable:Boolean,viewClassNames:U,viewDidMount:U,viewWillUnmount:U,nowIndicator:Boolean,nowIndicatorSnap:U,nowIndicatorClassNames:U,nowIndicatorContent:U,nowIndicatorDidMount:U,nowIndicatorWillUnmount:U,showNonCurrentDates:Boolean,lazyFetching:Boolean,startParam:String,endParam:String,timeZoneParam:String,timeZone:String,locales:U,locale:U,themeSystem:String,dragRevertDuration:Number,dragScroll:Boolean,allDayMaintainDuration:Boolean,unselectAuto:Boolean,dropAccept:U,eventOrder:Jn,eventOrderStrict:Boolean,handleWindowResize:Boolean,windowResizeDelay:Number,longPressDelay:Number,eventDragMinDistance:Number,expandRows:Boolean,height:U,contentHeight:U,direction:String,weekNumberFormat:H,eventResizableFromStart:Boolean,displayEventTime:Boolean,displayEventEnd:Boolean,weekText:String,weekTextLong:String,progressiveEventRendering:Boolean,businessHours:U,initialDate:U,now:U,eventDataTransform:U,stickyHeaderDates:U,stickyFooterScrollbar:U,viewHeight:U,defaultAllDay:Boolean,eventSourceFailure:U,eventSourceSuccess:U,eventDisplay:String,eventStartEditable:Boolean,eventDurationEditable:Boolean,eventOverlap:U,eventConstraint:U,eventAllow:U,eventBackgroundColor:String,eventBorderColor:String,eventTextColor:String,eventColor:String,eventClassNames:U,eventContent:U,eventDidMount:U,eventWillUnmount:U,selectConstraint:U,selectOverlap:U,selectAllow:U,droppable:Boolean,unselectCancel:String,slotLabelFormat:U,slotLaneClassNames:U,slotLaneContent:U,slotLaneDidMount:U,slotLaneWillUnmount:U,slotLabelClassNames:U,slotLabelContent:U,slotLabelDidMount:U,slotLabelWillUnmount:U,dayMaxEvents:U,dayMaxEventRows:U,dayMinWidth:Number,slotLabelInterval:I,allDayText:String,allDayClassNames:U,allDayContent:U,allDayDidMount:U,allDayWillUnmount:U,slotMinWidth:Number,navLinks:Boolean,eventTimeFormat:H,rerenderDelay:Number,moreLinkText:U,moreLinkHint:U,selectMinDistance:Number,selectable:Boolean,selectLongPressDelay:Number,eventLongPressDelay:Number,selectMirror:Boolean,eventMaxStack:Number,eventMinHeight:Number,eventMinWidth:Number,eventShortHeight:Number,slotEventOverlap:Boolean,plugins:U,firstDay:Number,dayCount:Number,dateAlignment:String,dateIncrement:I,hiddenDays:U,fixedWeekCount:Boolean,validRange:U,visibleRange:U,titleFormat:U,eventInteractive:Boolean,noEventsText:String,viewHint:U,navLinkHint:U,closeHint:String,timeHint:String,eventHint:String,moreLinkClick:U,moreLinkClassNames:U,moreLinkContent:U,moreLinkDidMount:U,moreLinkWillUnmount:U,monthStartFormat:H,handleCustomRendering:U,customRenderingMetaMap:U,customRenderingReplaces:Boolean},fi={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`},pi={datesSet:U,eventsSet:U,eventAdd:U,eventChange:U,eventRemove:U,windowResize:U,eventClick:U,eventMouseEnter:U,eventMouseLeave:U,select:U,unselect:U,loading:U,_unmount:U,_beforeprint:U,_afterprint:U,_noEventDrop:U,_noEventResize:U,_resize:U,_scrollRequest:U},mi={buttonText:U,buttonHints:U,views:U,plugins:U,initialEvents:U,events:U,eventSources:U},hi={headerToolbar:gi,footerToolbar:gi,buttonText:gi,buttonHints:gi,buttonIcons:gi,dateIncrement:gi,plugins:_i,events:_i,eventSources:_i,resources:_i};function gi(e,t){return typeof e==`object`&&typeof t==`object`&&e&&t?W(e,t):e===t}function _i(e,t){return Array.isArray(e)&&Array.isArray(t)?hr(e,t):e===t}var vi={type:String,component:U,buttonText:String,buttonTextKey:String,dateProfileGeneratorClass:U,usesMinMaxTime:Boolean,classNames:U,content:U,didMount:U,willUnmount:U};function yi(e){return Si(e,hi)}function bi(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 U(e){return e}var{hasOwnProperty:xi}=Object.prototype;function Si(e,t){let n={};if(t){for(let r in t)if(t[r]===gi){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]=Si(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 Ci(e,t){let n={};for(let r in e)t(e[r],r)&&(n[r]=e[r]);return n}function wi(e,t){let n={};for(let r in e)n[r]=t(e[r],r);return n}function Ti(e){let t={};for(let n of e)t[n]=!0;return t}function Ei(e){let t=[];for(let n in e)t.push(e[n]);return t}function W(e,t){if(e===t)return!0;for(let n in e)if(xi.call(e,n)&&!(n in t))return!1;for(let n in t)if(xi.call(t,n)&&e[n]!==t[n])return!1;return!0}var Di=/^on[A-Z]/;function Oi(e,t){let n=ki(e,t);for(let e of n)if(!Di.test(e))return!1;return!0}function ki(e,t){let n=[];for(let r in e)xi.call(e,r)&&(r in t||n.push(r));for(let r in t)xi.call(t,r)&&e[r]!==t[r]&&n.push(r);return n}function Ai(e,t,n={}){if(e===t)return!0;for(let r in t)if(!(r in e&&ji(e[r],t[r],n[r])))return!1;for(let n in e)if(!(n in t))return!1;return!0}function ji(e,t,n){return e===t||n===!0?!0:n?n(e,t):!1}function Mi(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 Ni={};function Pi(e,t){Ni[e]=t}function Fi(e){return new Ni[e]}Pi(`gregory`,class{getMarkerYear(e){return e.getUTCFullYear()}getMarkerMonth(e){return e.getUTCMonth()}getMarkerDay(e){return e.getUTCDate()}arrayToMarker(e){return B(e)}markerToArray(e){return Fr(e)}});var Ii=/^\s*(\d{4})(-?(\d{2})(-?(\d{2})([T ](\d{2}):?(\d{2})(:?(\d{2})(\.(\d+))?)?(Z|(([-+])(\d{2})(:?(\d{2}))?))?)?)?)?$/;function Li(e){let t=Ii.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(Ir(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 Ri=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=Fi(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()):B(Nr(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=B(e)),t===null||!Ir(t)?null:{marker:t,isTimeUnspecified:!1,forcedTzo:null}}parse(e){let t=Li(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 Lr(e)===Lr(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 Lr(e)===Lr(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=Tr(e,t),n===null?(n=Er(e,t),n===null?(n=xr(e,t),er(n)?{unit:`hour`,value:n}:(n=Sr(e,t),er(n)?{unit:`minute`,value:n}:(n=Cr(e,t),er(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/ur(n):n.months&&(r=this.diffWholeMonths(e,t),r!==null)?r/dr(n):n.days&&(r=Er(e,t),r!==null)?r/fr(n):(t.valueOf()-e.valueOf())/L(n)}startOf(e,t){return t===`year`?this.startOfYear(e):t===`month`?this.startOfMonth(e):t===`week`?this.startOfWeek(e):t===`day`?z(e):t===`hour`?Dr(e):t===`minute`?Or(e):t===`second`?kr(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)):Ar(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=vr(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),Rr(e,n,t.omitTime)}timestampToMarker(e){return this.timeZone===`local`?B(Nr(new Date(e))):this.timeZone===`UTC`||!this.namedTimeZoneImpl?new Date(e):B(this.namedTimeZoneImpl.timestampToArray(e))}offsetForMarker(e){return this.timeZone===`local`?-Pr(Fr(e)).getTimezoneOffset():this.timeZone===`UTC`?0:this.namedTimeZoneImpl?this.namedTimeZoneImpl.offsetForArray(Fr(e)):null}toDate(e,t){return this.timeZone===`local`?Pr(Fr(e)):this.timeZone===`UTC`?new Date(e.valueOf()):this.namedTimeZoneImpl?new Date(e.valueOf()-this.namedTimeZoneImpl.offsetForArray(Fr(e))*1e3*60):new Date(e.valueOf()-(t||0))}},zi=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)}`:``}};zi.prototype.classes={},zi.prototype.iconClasses={},zi.prototype.baseIconClass=``,zi.prototype.iconOverridePrefix=``;function Bi(e){e();let t=A.debounceRendering,n=[];function r(e){n.push(e)}for(A.debounceRendering=r,jt(j(Vi,{}),document.createElement(`div`));n.length;)n.shift()();A.debounceRendering=t}var Vi=class extends P{render(){return j(`div`,{})}componentDidMount(){this.setState({})}};function Hi(e){let t=Mt(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 Ui=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)}},G=Hi({});function Wi(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 Ui(e,u,I(n.scrollTime),n.scrollTimeReset)},registerInteractiveComponent:f,unregisterInteractiveComponent:p}}var Gi=class extends P{shouldComponentUpdate(e,t){return!Ai(this.props,e,this.propEquality)||!Ai(this.state,t,this.stateEquality)}safeSetState(e){Ai(this.state,Object.assign(Object.assign({},this.state),e),this.stateEquality)||this.setState(e)}};Gi.addPropsEquality=Ki,Gi.addStateEquality=qi,Gi.contextType=G,Gi.prototype.propEquality={},Gi.prototype.stateEquality={};var K=class extends Gi{};K.contextType=G;function Ki(e){let t=Object.create(this.prototype.propEquality);Object.assign(t,e),this.prototype.propEquality=t}function qi(e){let t=Object.create(this.prototype.stateEquality);Object.assign(t,e),this.prototype.stateEquality=t}function q(e,t){typeof e==`function`?e(t):e&&(e.current=t)}var Ji=class extends K{constructor(){super(...arguments),this.id=qn(),this.queuedDomNodes=[],this.currentDomNodes=[],this.handleEl=e=>{let{options:t}=this.context,{generatorName:n}=this.props;(!t.customRenderingReplaces||!Yi(n,t))&&this.updateElRef(e)},this.updateElRef=e=>{this.props.elRef&&q(this.props.elRef,e)}}render(){let{props:e,context:t}=this,{options:n}=t,{customGenerator:r,defaultGenerator:i,renderProps:a}=e,o=Xi(e,[],this.handleEl),s=!1,c,l=[],u;if(r!=null){let e=typeof r==`function`?r(a,j):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?Qe(e):typeof e!=`function`)?c=e:u=e}}else s=!Yi(e.generatorName,n);return s&&i&&(c=i(a)),this.queuedDomNodes=l,this.currentGeneratorMeta=u,j(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(Zi)}))}}applyQueueudDomNodes(){let{queuedDomNodes:e,currentDomNodes:t}=this,n=this.base;if(!hr(e,t)){t.forEach(jn);for(let t of e)n.appendChild(t);this.currentDomNodes=e}}};Ji.addPropsEquality({elClasses:hr,elStyle:W,elAttrs:Oi,renderProps:W});function Yi(e,t){return!!(t.handleCustomRendering&&e&&t.customRenderingMetaMap?.[e])}function Xi(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 Zi(e){return!!e}var Qi=Hi(0),J=class extends P{constructor(){super(...arguments),this.InnerContent=$i.bind(void 0,this),this.handleEl=e=>{this.el=e,this.props.elRef&&(q(this.props.elRef,e),e&&this.didMountMisfire&&this.componentDidMount())}}render(){let{props:e}=this,t=ea(e.classNameGenerator,e.renderProps);if(e.children){let n=Xi(e,t,this.handleEl),r=e.children(this.InnerContent,e.renderProps,n);return e.elTag?j(e.elTag,n,r):r}else return j(Ji,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}))}};J.contextType=Qi;function $i(e,t){let n=e.props;return j(Ji,Object.assign({renderProps:n.renderProps,generatorName:n.generatorName,customGenerator:n.customGenerator,defaultGenerator:n.defaultGenerator,renderId:e.context},t))}function ea(e,t){let n=typeof e==`function`?e(t):e||[];return typeof n==`string`?[n]:n}var ta=class extends K{render(){let{props:e,context:t}=this,{options:n}=t,r={view:t.viewApi};return j(J,{elRef:e.elRef,elTag:e.elTag||`div`,elAttrs:e.elAttrs,elClasses:[...na(e.viewSpec),...e.elClasses||[]],elStyle:e.elStyle,renderProps:r,classNameGenerator:n.viewClassNames,generatorName:void 0,didMount:n.viewDidMount,willUnmount:n.viewWillUnmount},()=>e.children)}};function na(e){return[`fc-${e.type}-view`,`fc-view`]}function ra(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 ia(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 oa(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 sa(e,t){return(e.end===null||t.start===null||e.end>t.start)&&(e.start===null||t.end===null||e.start<t.end)}function Y(e,t){return(e.start===null||t>=e.start)&&(e.end===null||t<e.end)}function ca(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 la(e){let t=Math.floor(br(e.start,e.end))||1,n=z(e.start);return{start:n,end:R(n,t)}}function ua(e,t=I(0)){let n=null,r=null;if(e.end){r=z(e.end);let n=e.end.valueOf()-r.valueOf();n&&n>=L(t)&&(r=R(r,1))}return e.start&&(n=z(e.start),r&&r<=n&&(r=R(n,1))),{start:n,end:r}}function da(e,t,n,r){return r===`year`?I(n.diffWholeYears(e,t),`year`):r===`month`?I(n.diffWholeMonths(e,t),`month`):wr(e,t)}var fa=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=ca(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=oa(c,a.range)),c=this.adjustActiveRange(c),c=oa(c,i),l=sa(a.range,i),Y(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=mr(r).unit,a=this.buildRangeFromDuration(e,t,r,i)),{duration:r,unit:i,range:a}}getFallbackDuration(){return I({day:1})}adjustActiveRange(e){let{dateEnv:t,usesMinMaxTime:n,slotMinTime:r,slotMaxTime:i}=this.props,{start:a,end:o}=e;return n&&(fr(r)<0&&(a=z(a),a=t.add(a,r)),fr(i)>1&&(o=z(o),o=R(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&&L(e)<L(n)?mr(e).unit:r}fr(n)<=1&&this.isHiddenDay(o)&&(o=this.skipHiddenDays(o,t),o=z(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=z(o),o=this.skipHiddenDays(o,t),s=o;do s=R(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)?I(1,n):e||I({days:1}))}refineRange(e){if(e){let t=ra(e,this.props.dateEnv);return t&&=ua(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=R(e,t);return e}};function pa(e,t,n,r){return{instanceId:qn(),defId:e,range:t,forcedStartTzo:n??null,forcedEndTzo:r??null}}function ma(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 ha(e,t,n){let{dateEnv:r,pluginHooks:i,options:a}=n,{defs:o,instances:s}=e;s=Ci(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=ga(n,o,t,r,i.recurringTypes);for(let t of c){let n=pa(e,{start:t,end:r.add(t,o)});s[n.instanceId]=n}}}return{defs:o,instances:s}}function ga(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(z)),a}var _a={id:String,groupId:String,title:String,url:String,interactive:Boolean},va={start:U,end:U,date:U,allDay:Boolean},ya=Object.assign(Object.assign(Object.assign({},_a),va),{extendedProps:U});function ba(e,t,n,r,i=Sa(n),a,o){let{refined:s,extra:c}=xa(e,n,i),l=Ta(t,n),u=ma(s,l,n.dateEnv,n.pluginHooks.recurringTypes);if(u){let e=Ca(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=wa(s,l,n,r);if(d){let e=Ca(s,c,t?t.sourceId:``,d.allDay,d.hasEnd,n,a),r=pa(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 xa(e,t,n=Sa(t)){return bi(e,n)}function Sa(e){return Object.assign(Object.assign(Object.assign({},Fa),ya),e.pluginHooks.eventRefiners)}function Ca(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]:``)||qn(),sourceId:n,allDay:r,hasEnd:i,interactive:e.interactive,ui:La(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 wa(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=z(o)),c&&(l=c.marker,i&&(l=z(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 Ta(e,t){let n=null;return e&&(n=e.defaultAllDay),n??=t.options.defaultAllDay,n}function Ea(e,t,n,r,i,a){let o=X(),s=Sa(n);for(let c of e){let e=ba(c,t,n,r,s,i,a);e&&Da(e,o)}return o}function Da(e,t=X()){return t.defs[e.def.defId]=e.def,e.instance&&(t.instances[e.instance.instanceId]=e.instance),t}function Oa(e,t){let n=e.instances[t];if(n){let t=e.defs[n.defId],r=ja(e,e=>ka(t,e));return r.defs[t.defId]=t,r.instances[n.instanceId]=n,r}return X()}function ka(e,t){return!!(e.groupId&&e.groupId===t.groupId)}function X(){return{defs:{},instances:{}}}function Aa(e,t){return{defs:Object.assign(Object.assign({},e.defs),t.defs),instances:Object.assign(Object.assign({},e.instances),t.instances)}}function ja(e,t){let n=Ci(e.defs,t);return{defs:n,instances:Ci(e.instances,e=>n[e.defId])}}function Ma(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 Na(e,t){return Array.isArray(e)?Ea(e,null,t,!0):typeof e==`object`&&e?Ea([e],null,t,!0):e==null?null:String(e)}function Pa(e){return Array.isArray(e)?e:typeof e==`string`?e.split(/\s+/):[]}var Fa={display:String,editable:Boolean,startEditable:Boolean,durationEditable:Boolean,constraint:U,overlap:U,allow:U,className:Pa,classNames:Pa,color:String,backgroundColor:String,borderColor:String,textColor:String},Ia={display:null,startEditable:null,durationEditable:null,constraints:[],overlap:null,allows:[],backgroundColor:``,borderColor:``,textColor:``,classNames:[]};function La(e,t){let n=Na(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 Ra(e){return e.reduce(za,Ia)}function za(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 Ba={id:String,defaultAllDay:Boolean,url:String,format:String,events:U,eventDataTransform:U,success:U,failure:U};function Va(e,t,n=Ha(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}=bi(r,n),o=Ua(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:qn(),sourceDefId:o.sourceDefId,meta:o.meta,ui:La(i,t),extendedProps:a}}return null}function Ha(e){return Object.assign(Object.assign(Object.assign({},Fa),Ba),e.pluginHooks.eventSourceRefiners)}function Ua(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 Wa(e,t,n,r,i){switch(t.type){case`RECEIVE_EVENTS`:return Ga(e,n[t.sourceId],t.fetchId,t.fetchRange,t.rawEvents,i);case`RESET_RAW_EVENTS`:return Ka(e,n[t.sourceId],t.rawEvents,r.activeRange,i);case`ADD_EVENTS`:return Ya(e,t.eventStore,r?r.activeRange:null,i);case`RESET_EVENTS`:return t.eventStore;case`MERGE_EVENTS`:return Aa(e,t.eventStore);case`PREV`:case`NEXT`:case`CHANGE_DATE`:case`CHANGE_VIEW_TYPE`:return r?ha(e,r.activeRange,i):e;case`REMOVE_EVENTS`:return Ma(e,t.eventStore);case`REMOVE_EVENT_SOURCE`:return Za(e,t.sourceId);case`REMOVE_ALL_EVENT_SOURCES`:return ja(e,e=>!e.sourceId);case`REMOVE_ALL_EVENTS`:return X();default:return e}}function Ga(e,t,n,r,i,a){if(t&&n===t.latestFetchId){let n=Ea(qa(i,t,a),t,a);return r&&(n=ha(n,r,a)),Aa(Za(e,t.sourceId),n)}return e}function Ka(e,t,n,r,i){let{defIdMap:a,instanceIdMap:o}=Qa(e);return ha(Ea(qa(n,t,i),t,i,!1,a,o),r,i)}function qa(e,t,n){let r=n.options.eventDataTransform,i=t?t.eventDataTransform:null;return i&&(e=Ja(e,i)),r&&(e=Ja(e,r)),e}function Ja(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 Ya(e,t,n,r){return n&&(t=ha(t,n,r)),Aa(e,t)}function Xa(e,t,n){let{defs:r}=e;return{defs:r,instances:wi(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 Za(e,t){return ja(e,e=>e.sourceId!==t)}function Qa(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 $a=class{constructor(){this.handlers={},this.thisContext=null}setThisContext(e){this.thisContext=e}setOptions(e){this.options=e}on(e,t){eo(this.handlers,e,t)}off(e,t){to(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 eo(e,t,n){(e[t]||(e[t]=[])).push(n)}function to(e,t,n){n?e[t]&&(e[t]=e[t].filter(e=>e!==n)):delete e[t]}var no={startTime:`09:00`,endTime:`17:00`,daysOfWeek:[1,2,3,4,5],display:`inverse-background`,classNames:`fc-non-business`,groupId:`_businessHours`};function ro(e,t){return Ea(io(e),null,t)}function io(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({},no),e)),t}function ao(e,t,n){n.emitter.trigger(`select`,Object.assign(Object.assign({},so(e,n)),{jsEvent:t?t.origEvent:null,view:n.viewApi||n.calendarApi.view}))}function oo(e,t){t.emitter.trigger(`unselect`,{jsEvent:e?e.origEvent:null,view:t.viewApi||t.calendarApi.view})}function so(e,t){let n={};for(let r of t.pluginHooks.dateSpanTransforms)Object.assign(n,r(e,t));return Object.assign(n,Fo(e,t.dateEnv)),n}function co(e,t,n){let{dateEnv:r,options:i}=n,a=t;return e?(a=z(a),a=r.add(a,i.defaultAllDayEventDuration)):a=r.add(a,i.defaultTimedEventDuration),a}function lo(e,t,n,r){let i=bo(e.defs,t),a=X();for(let t in e.defs){let o=e.defs[t];a.defs[t]=uo(o,i[t],n,r)}for(let t in e.instances){let o=e.instances[t],s=a.defs[o.defId];a.instances[t]=fo(o,s,i[o.defId],n,r)}return a}function uo(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 fo(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=la(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:co(t.allDay,c.range.start,i)}),t.allDay&&(c.range={start:z(c.range.start),end:z(c.range.end)}),c.range.end<c.range.start&&(c.range.end=co(t.allDay,c.range.start,i)),c}var po=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}},Z=class e{constructor(e,t,n){this._context=e,this._def=t,this._instance=n||null}setProp(e,t){if(e in va)console.warn(`Could not set date-related prop 'name'. Use one of the date-related methods instead.`);else if(e===`id`)t=_a[e](t),this.mutate({standardProps:{publicId:t}});else if(e in _a)t=_a[e](t),this.mutate({standardProps:{[e]:t}});else if(e in Fa){let n=Fa[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=da(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=da(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=la(e));let t=da(e.start,a,r,n.granularity);if(o){let a=da(e.end,o,r,n.granularity);or(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=I(e);t&&this.mutate({startDelta:t})}moveEnd(e){let t=I(e);t&&this.mutate({endDelta:t})}moveDates(e){let t=I(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=H(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=Oa(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=mo(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 po(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 mo(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 Z(t,s,n))}return a}function go(e,t,n,r){let i={},a={},o={},s=[],c=[],l=bo(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?ua(f,r):f,m=oa(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=ia(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=ia(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 _o(e){return e.ui.display===`background`||e.ui.display===`inverse-background`}function vo(e,t){e.fcSeg=t}function yo(e){return e.fcSeg||e.parentNode.fcSeg||null}function bo(e,t){return wi(e,e=>xo(e,t))}function xo(e,t){let n=[];return t[``]&&n.push(t[``]),t[e.defId]&&n.push(t[e.defId]),n.push(e.ui),Ra(n)}function So(e,t){let n=e.map(Co);return n.sort((e,n)=>Yn(e,n,t)),n.map(e=>e._seg)}function Co(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 wo(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 To(e,t){return e.isStart&&e.eventRange.ui.durationEditable&&t.options.eventResizableFromStart}function Eo(e,t){return e.isEnd&&e.eventRange.ui.durationEditable}function Do(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,_=z(p).valueOf()===z(h).valueOf(),v=z(vr(m,-1)).valueOf()===z(vr(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 Oo(e,t,n){let r=e.eventRange.range;return{isPast:r.end<=(n||t.start),isFuture:r.start>=(n||t.end),isToday:t&&Y(t,r.start)}}function ko(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 Ao(e){return e.instance?e.instance.instanceId:`${e.def.defId}:${e.range.start.toISOString()}`}function jo(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?Gn(e=>{a.trigger(`eventClick`,{el:e.target,event:new Z(t,n,r),jsEvent:e,view:t.viewApi})}):{}}var Mo={start:U,end:U,allDay:Boolean};function No(e,t,n){let r=Po(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 Po(e,t){let{refined:n,extra:r}=bi(e,Mo),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 Fo(e,t){return Object.assign(Object.assign({},Lo(e.range,t,e.allDay)),{allDay:e.allDay})}function Io(e,t,n){return Object.assign(Object.assign({},Lo(e,t,n)),{timeZone:t.timeZone})}function Lo(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 Ro(e,t,n){let r=xa({editable:!1},n),i=Ca(r.refined,r.extra,``,e.allDay,!0,n);return{def:i,ui:xo(i,t),instance:pa(i.defId,e.range),range:e.range,isStart:!0,isEnd:!0}}function zo(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 Bo=class extends Error{constructor(e,t){super(e),this.response=t}};function Vo(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 Bo(`Failure parsing JSON`,e)});throw new Bo(`Request failed`,e)})}var Ho;function Uo(){return Ho??=Wo(),Ho}function Wo(){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 Go=class extends K{constructor(){super(...arguments),this.state={forPrint:!1},this.handleBeforePrint=()=>{Bi(()=>{this.setState({forPrint:!0})})},this.handleAfterPrint=()=>{Bi(()=>{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 Uo()||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)}},Ko=class{constructor(e){this.component=e.component,this.isHitComboAllowed=e.isHitComboAllowed||null}destroy(){}};function qo(e,t){return{component:e,el:t.el,useEventCenter:t.useEventCenter==null?!0:t.useEventCenter,isHitComboAllowed:t.isHitComboAllowed||null}}var Jo={},Yo=class extends P{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,I(1,e.unit)).valueOf()-n.valueOf()):(i=n,a=1e3*60),a=Math.min(1e3*60*60*24,a),{state:{nowDate:i,todayRange:Xo(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)}};Yo.contextType=G;function Xo(e){let t=z(e);return{start:t,end:R(t,1)}}var Zo=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=I(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),H(t))}formatRange(e,t,n){let{dateEnv:r}=this.getCurrentData();return r.formatRange(r.createMarker(e),r.createMarker(t),H(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=No(n,r.dateEnv,I({days:1}));i&&(this.dispatch({type:`SELECT_DATES`,selection:i}),ao(i,null,r))}unselect(e){let t=this.getCurrentData();t.dateSelection&&(this.dispatch({type:`UNSELECT_DATES`}),oo(e,t))}addEvent(e,t){if(e instanceof Z){let t=e._def,n=e._instance;return this.getCurrentData().eventStore.defs[t.defId]||(this.dispatch({type:`ADD_EVENTS`,eventStore:Da({def:t,instance:n})}),this.triggerEventAdd(e)),e}let n=this.getCurrentData(),r;if(t instanceof po)r=t.internalEventSource;else if(typeof t==`boolean`)t&&([r]=Ei(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=ba(e,r,n,!1);if(i){let e=new Z(n,i.def,i.def.recurringDef?null:i.instance);return this.dispatch({type:`ADD_EVENTS`,eventStore:Da(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:mo(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 Z(t,a,null);for(let e in r){let n=r[e];if(n.defId===a.defId)return new Z(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 po(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 po(t,n[r]);return null}addEventSource(e){let t=this.getCurrentData();if(e instanceof po)return t.eventSources[e.internalEventSource.sourceId]||this.dispatch({type:`ADD_EVENT_SOURCES`,sources:[e.internalEventSource]}),e;let n=Va(e,t);return n?(this.dispatch({type:`ADD_EVENT_SOURCES`,sources:[n]}),new po(t,n)):null}removeAllEventSources(){this.dispatch({type:`REMOVE_ALL_EVENT_SOURCES`})}refetchEvents(){this.dispatch({type:`FETCH_EVENT_SOURCES`,isRefetch:!0})}scrollToTime(e){let t=I(e);t&&this.trigger(`_scrollRequest`,{time:t})}};function Qo(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 $o=X(),es=class{constructor(){this.getKeysForEventDefs=V(this._getKeysForEventDefs),this.splitDateSelection=V(this._splitDateSpan),this.splitEventStore=V(this._splitEventStore),this.splitIndividualUi=V(this._splitIndividualUi),this.splitEventDrag=V(this._splitInteraction),this.splitEventResize=V(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=wi(t,(e,t)=>this.eventUiBuilders[t]||V(ts));for(let n in t){let l=t[n],u=a[n]||$o,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 wi(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]=X()),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]||$o,mutatedEvents:i[r]||$o,isEvent:e.isEvent})};for(let e in n)a(e);for(let e in i)a(e)}return t}};function ts(e,t,n){let r=[];e&&r.push(e),t&&r.push(t);let i={"":Ra(r)};return n&&Object.assign(i,n),i}function ns(e,t,n,r){return{dow:e.getUTCDay(),isDisabled:!!(r&&(!r.activeRange||!Y(r.activeRange,e))),isOther:!!(r&&!Y(r.currentRange,e)),isToday:!!(t&&Y(t,e)),isPast:!!(n?e<n:t&&e<t.start),isFuture:!!(n?e>n:t&&e>=t.end)}}function rs(e,t){let n=[`fc-day`,`fc-day-${gr[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 is=H({year:`numeric`,month:`long`,day:`numeric`}),as=H({week:`long`});function os(e,t,n=`day`,r=!0){let{dateEnv:i,options:a,calendarApi:o}=e,s=i.format(t,n===`week`?as:is);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:$n(a.navLinkHint,[s,e],s),"data-navlink":``},r?Wn(c):{onClick:c})}return{"aria-label":s}}var ss;function cs(){return ss||=ls(),ss}function ls(){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=us(e);return document.body.removeChild(e),t}function us(e){return{x:e.offsetHeight-e.clientHeight,y:e.offsetWidth-e.clientWidth}}function ds(e){let t=fs(e),n=e.getBoundingClientRect();for(let e of t){let t=Qo(n,e.getBoundingClientRect());if(t)n=t;else return null}return n}function fs(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 ps=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 ms(this.tops||[],e.tops||[])&&ms(this.bottoms||[],e.bottoms||[])&&ms(this.lefts||[],e.lefts||[])&&ms(this.rights||[],e.rights||[])}};function ms(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 Q=class extends K{constructor(){super(...arguments),this.uid=qn()}prepareHits(){}queryHit(e,t,n,r){return null}isValidSegDownEl(e){return!this.props.eventDrag&&!this.props.eventResize&&!Mn(e,`.fc-event-mirror`)}isValidDateDownEl(e){return!Mn(e,`.fc-event:not(.fc-bg-event)`)&&!Mn(e,`.fc-more-link`)&&!Mn(e,`a[data-navlink]`)&&!Mn(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:bs(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?(xs(r,t.level,t.levelCoord),xs(n,t.level,[e])):xs(n[t.level],t.lateral,e),this.stackCnts[_s(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=Ss(f,e.span.start,gs),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[_s(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=Ss(n[d],e.span.end,gs)[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 gs(e){return e.span.end}function _s(e){return e.index+`:`+e.span.start}function vs(e){let t=[];for(let n of e){let e=[],r={span:n.span,entries:[n]};for(let n of t)bs(n.span,r.span)?r={entries:n.entries.concat(r.entries),span:ys(n.span,r.span)}:e.push(n);e.push(r),t=e}return t}function ys(e,t){return{start:Math.min(e.start,t.start),end:Math.max(e.end,t.end)}}function bs(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 xs(e,t,n){e.splice(t,0,n)}function Ss(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 Cs(e,t){return H(!e||t>10?{weekday:`short`}:t>1?{weekday:`short`,month:`numeric`,day:`numeric`,omitCommas:!0}:{weekday:`long`})}var ws=`fc-col-header-cell`;function Ts(e){return e.text}var Es=class extends K{render(){let{dateEnv:e,options:t,theme:n,viewApi:r}=this.context,{props:i}=this,{date:a,dateProfile:o}=i,s=ns(a,i.todayRange,null,o),c=[ws].concat(rs(s,n)),l=e.format(a,i.dayHeaderFormat),u=!s.isDisabled&&i.colCnt>1?os(this.context,a):{},d=e.toDate(a);e.namedTimeZoneImpl&&(d=vr(d,36e5));let f=Object.assign(Object.assign(Object.assign({date:d,view:r},i.extraRenderProps),{text:l}),s);return j(J,{elTag:`th`,elClasses:c,elAttrs:Object.assign({role:`columnheader`,colSpan:i.colSpan,"data-date":s.isDisabled?void 0:zr(a)},i.extraDataAttrs),renderProps:f,generatorName:`dayHeaderContent`,customGenerator:t.dayHeaderContent,defaultGenerator:Ts,classNameGenerator:t.dayHeaderClassNames,didMount:t.dayHeaderDidMount,willUnmount:t.dayHeaderWillUnmount},e=>j(`div`,{className:`fc-scrollgrid-sync-inner`},!s.isDisabled&&j(e,{elTag:`a`,elAttrs:u,elClasses:[`fc-col-header-cell-cushion`,i.isSticky&&`fc-sticky`]})))}},Ds=H({weekday:`long`}),Os=class extends K{render(){let{props:e}=this,{dateEnv:t,theme:n,viewApi:r,options:i}=this.context,a=R(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 j(J,{elTag:`th`,elClasses:[ws,...rs(o,n),...e.extraClassNames||[]],elAttrs:Object.assign({role:`columnheader`,colSpan:e.colSpan},e.extraDataAttrs),renderProps:c,generatorName:`dayHeaderContent`,customGenerator:i.dayHeaderContent,defaultGenerator:Ts,classNameGenerator:i.dayHeaderClassNames,didMount:i.dayHeaderDidMount,willUnmount:i.dayHeaderWillUnmount},n=>j(`div`,{className:`fc-scrollgrid-sync-inner`},j(n,{elTag:`a`,elClasses:[`fc-col-header-cell-cushion`,e.isSticky&&`fc-sticky`],elAttrs:{"aria-label":t.format(a,Ds)}})))}},ks=class extends K{constructor(){super(...arguments),this.createDayHeaderFormatter=V(As)}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 j(Yo,{unit:`day`},(e,o)=>j(`tr`,{role:`row`},i&&i(`day`),t.map(e=>r?j(Es,{key:e.toISOString(),date:e,dateProfile:n,todayRange:o,colCnt:t.length,dayHeaderFormat:a}):j(Os,{key:e.getUTCDay(),dow:e.getUTCDay(),dayHeaderFormat:a}))))}};function As(e,t,n){return e||Cs(t,n)}var js=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=R(n,1);this.dates=a,this.indices=i,this.cnt=a.length}sliceRange(e){let t=this.getDateDayIndex(e.start),n=this.getDateDayIndex(R(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(br(this.dates[0],e));return n<0?t[0]-1:n>=t.length?t[t.length-1]+1:t[n]}},Ms=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}},Ns=class{constructor(){this.sliceBusinessHours=V(this._sliceBusinessHours),this.sliceDateSelection=V(this._sliceDateSpan),this.sliceEventStore=V(this._sliceEventStore),this.sliceEventDrag=V(this._sliceInteraction),this.sliceEventResize=V(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:vr(e,1)},allDay:!1},t,n,{},r,...i)}_sliceBusinessHours(e,t,n,r,...i){return e?this._sliceEventStore(ha(e,Ps(t,!!n),r),{},t,n,...i).bg:[]}_sliceEventStore(e,t,n,r,...i){if(e){let a=go(e,t,Ps(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=go(e.mutatedEvents,t,Ps(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=Ps(t,!!n),s=oa(e.range,o);if(s){e=Object.assign(Object.assign({},e),{range:s});let t=Ro(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:R(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 Ps(e,t){let n=e.activeRange;return t?n:{start:vr(n.start,e.slotMinTime.milliseconds),end:vr(n.end,e.slotMaxTime.milliseconds-864e5)}}var Fs=/^(visible|hidden)$/,Is=class extends K{constructor(){super(...arguments),this.handleEl=e=>{this.el=e,q(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`)),j(`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(Fs.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(Fs.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 Fs.test(this.props.overflowX)?0:this.el.offsetHeight-this.el.clientHeight}getYScrollbarWidth(){return Fs.test(this.props.overflowY)?0:this.el.offsetWidth-this.el.clientWidth}},$=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 Mi(this.currentMap,e,t,n)}getAll(){return Ei(this.currentMap)}};function Ls(e){let t=Pn(e,`.fc-scrollgrid-shrink`),n=0;for(let e of t)n=Math.max(n,tr(e));return Math.ceil(n)}function Rs(e,t){return e.liquid&&t.liquid}function zs(e,t){return t.maxHeight!=null||Rs(e,t)}function Bs(e,t,n,r){let{expandRows:i}=n;return typeof t.content==`function`?t.content(n):j(`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,j(r?`thead`:`tbody`,{role:`presentation`},typeof t.rowContent==`function`?t.rowContent(n):t.rowContent))}function Vs(e,t){return hr(e,t,W)}function Hs(e,t){let n=[];for(let r of e){let e=r.span||1;for(let i=0;i<e;i+=1)n.push(j(`col`,{style:{width:r.width===`shrink`?Us(t):r.width||``,minWidth:r.minWidth||``}}))}return j(`colgroup`,{},...n)}function Us(e){return e??4}function Ws(e){for(let t of e)if(t.width===`shrink`)return!0;return!1}function Gs(e,t){let n=[`fc-scrollgrid`,t.theme.getClass(`table`)];return e&&n.push(`fc-scrollgrid-liquid`),n}function Ks(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 qs(e){return j(`div`,{className:`fc-scrollgrid-sticky-shim`,style:{width:e.clientWidth,minWidth:e.tableMinWidth}})}function Js(e){let{stickyHeaderDates:t}=e;return(t==null||t===`auto`)&&(t=e.height===`auto`||e.viewHeight===`auto`),t}function Ys(e){let{stickyFooterScrollbar:t}=e;return(t==null||t===`auto`)&&(t=e.height===`auto`||e.viewHeight===`auto`),t}var Xs=class extends K{constructor(){super(...arguments),this.processCols=V(e=>e,Vs),this.renderMicroColGroup=V(Hs),this.scrollerRefs=new $,this.scrollerElRefs=new $(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=Gs(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=!Uo(),m={role:`rowgroup`};return j(`table`,{role:`grid`,className:o.join(` `),style:{height:e.height}},!!(!p&&u.length)&&j(`thead`,m,...u),!!(!p&&d.length)&&j(`tbody`,m,...d),!!(!p&&f.length)&&j(`tfoot`,m,...f),p&&j(`tbody`,m,...u,...d,...f))}renderSection(e,t,n){return`outerContent`in e?j(N,{key:e.key},e.outerContent):j(`tr`,{key:e.key,role:`presentation`,className:Ks(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=zs(i,e),l=Rs(i,e),u=i.liquid?a?`scroll`:c?`auto`:`hidden`:`visible`,d=e.key,f=Bs(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 j(r?`th`:`td`,{ref:n.elRef,role:`presentation`},j(`div`,{className:`fc-scroller-harness${l?` fc-scroller-harness-liquid`:``}`},j(Is,{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=Zs(this.props.sections,t);n&&q(n.chunk.scrollerElRef,e)}componentDidMount(){this.handleSizing(),this.context.addResizeHandler(this.handleSizing)}componentDidUpdate(){this.handleSizing()}componentWillUnmount(){this.context.removeResizeHandler(this.handleSizing)}computeShrinkWidth(){return Ws(this.props.cols)?Ls(this.scrollerElRefs.getAll()):0}computeScrollerDims(){let e=cs(),{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}}};Xs.addStateEquality({scrollerClientWidths:W,scrollerClientHeights:W});function Zs(e,t){for(let n of e)if(n.key===t)return n;return null}var Qs=class extends K{constructor(){super(...arguments),this.buildPublicEvent=V((e,t,n)=>new Z(e,t,n)),this.handleEl=e=>{this.el=e,q(this.props.elRef,e),e&&vo(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&&wo(r,t),isStartResizable:!e.disableResizing&&To(r,t),isEndResizable:!e.disableResizing&&Eo(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 j(J,{elRef:this.handleEl,elTag:e.elTag,elAttrs:e.elAttrs,elClasses:[...ko(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&&vo(this.el,this.props.seg)}},$s=class extends K{render(){let{props:e,context:t}=this,{options:n}=t,{seg:r}=e,{ui:i}=r.eventRange,a=Do(r,n.eventTimeFormat||e.defaultTimeFormat,t,e.defaultDisplayEventTime,e.defaultDisplayEventEnd);return j(Qs,Object.assign({},e,{elTag:`a`,elStyle:{borderColor:i.borderColor,backgroundColor:i.backgroundColor},elAttrs:jo(r,t),defaultGenerator:ec,timeText:a}),(e,t)=>j(N,null,j(e,{elTag:`div`,elClasses:[`fc-event-main`],elStyle:{color:t.textColor}}),!!t.isStartResizable&&j(`div`,{className:`fc-event-resizer fc-event-resizer-start`}),!!t.isEndResizable&&j(`div`,{className:`fc-event-resizer fc-event-resizer-end`})))}};$s.addPropsEquality({seg:W});function ec(e){return j(`div`,{className:`fc-event-main-frame`},e.timeText&&j(`div`,{className:`fc-event-time`},e.timeText),j(`div`,{className:`fc-event-title-container`},j(`div`,{className:`fc-event-title fc-sticky`},e.event.title||j(N,null,`\xA0`))))}var tc=e=>j(G.Consumer,null,t=>{let{options:n}=t,r={isAxis:e.isAxis,date:t.dateEnv.toDate(e.date),view:t.viewApi};return j(J,{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)}),nc=H({day:`numeric`}),rc=class extends K{constructor(){super(...arguments),this.refineRenderProps=Ur(ac)}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 j(J,{elRef:e.elRef,elTag:e.elTag,elAttrs:Object.assign(Object.assign({},e.elAttrs),r.isDisabled?{}:{"data-date":zr(e.date)}),elClasses:[...rs(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 ic(e){return!!(e.dayCellContent||Yi(`dayCellContent`,e))}function ac(e){let{date:t,dateEnv:n,dateProfile:r,isMonthStart:i}=e,a=ns(t,e.todayRange,null,r),o=e.showDayNumber?n.format(t,i?e.monthStartFormat:nc):``;return Object.assign(Object.assign(Object.assign({date:n.toDate(t),view:e.viewApi},a),{isMonthStart:i,dayNumberText:o}),e.extraRenderProps)}var oc=class extends K{render(){let{props:e}=this,{seg:t}=e;return j(Qs,{elTag:`div`,elClasses:[`fc-bg-event`],elStyle:{backgroundColor:t.eventRange.ui.backgroundColor},defaultGenerator:sc,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 sc(e){let{title:t}=e.event;return t&&j(`div`,{className:`fc-event-title`},e.event.title)}function cc(e){return j(`div`,{className:`fc-${e}`})}var lc=e=>j(G.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 j(J,{elRef:e.elRef,elTag:e.elTag,elAttrs:e.elAttrs,elClasses:e.elClasses,elStyle:e.elStyle,renderProps:o,generatorName:`weekNumberContent`,customGenerator:r.weekNumberContent,defaultGenerator:uc,classNameGenerator:r.weekNumberClassNames,didMount:r.weekNumberDidMount,willUnmount:r.weekNumberWillUnmount},e.children)});function uc(e){return e.text}var dc=10,fc=class extends K{constructor(){super(...arguments),this.state={titleId:Bn()},this.handleRootEl=e=>{this.rootEl=e,this.props.elRef&&q(this.props.elRef,e)},this.handleDocumentMouseDown=e=>{let t=Rn(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 cn(j(`div`,Object.assign({},n.extraAttrs,{id:n.id,className:i.join(` `),"aria-labelledby":r.titleId,ref:this.handleRootEl}),j(`div`,{className:`fc-popover-header `+e.getClass(`popoverHeader`)},j(`span`,{className:`fc-popover-title`,id:r.titleId},n.title),j(`span`,{className:`fc-popover-close `+e.getIconClass(`close`),title:t.closeHint,onClick:this.handleCloseClick})),j(`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=ds(t);if(i){let a=r.getBoundingClientRect(),o=n?Mn(t,`.fc-scrollgrid`).getBoundingClientRect().top:i.top,s=e?i.right-a.width:i.left;o=Math.max(o,dc),s=Math.min(s,document.documentElement.clientWidth-dc-a.width),s=Math.max(s,dc);let c=r.offsetParent.getBoundingClientRect();In(r,{top:o-c.top,left:s-c.left})}}},pc=class extends Q{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 j(rc,{elRef:this.handleRootEl,date:r,dateProfile:a,todayRange:i},(t,r,i)=>j(fc,{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},ic(e)&&j(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}},mc=class extends K{constructor(){super(...arguments),this.state={isPopoverOpen:!1,popoverId:Bn()},this.handleLinkEl=e=>{this.linkEl=e,this.props.elRef&&q(this.props.elRef,e)},this.handleClick=e=>{let{props:t,context:n}=this,{moreLinkClick:r}=n.options,i=gc(t).start;function a(e){let{def:t,instance:r,range:i}=e.eventRange;return{event:new Z(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 j(G.Consumer,null,n=>{let{viewApi:r,options:i,calendarApi:a}=n,{moreLinkText:o}=i,{moreCnt:s}=e,c=gc(e),l=typeof o==`function`?o.call(a,s):`+${s} ${o}`,u=$n(i.moreLinkHint,[s],l),d={num:s,shortText:`+${s}`,text:l,view:r};return j(N,null,!!e.moreCnt&&j(J,{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),Wn(this.handleClick)),{title:u,"aria-expanded":t.isPopoverOpen,"aria-controls":t.isPopoverOpen?t.popoverId:``}),renderProps:d,generatorName:`moreLinkContent`,customGenerator:i.moreLinkContent,defaultGenerator:e.defaultGenerator||hc,classNameGenerator:i.moreLinkClassNames,didMount:i.moreLinkDidMount,willUnmount:i.moreLinkWillUnmount},e.children),t.isPopoverOpen&&j(pc,{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=Mn(this.linkEl,`.fc-view-harness`))}};function hc(e){return e.text}function gc(e){if(e.allDayDate)return{start:e.allDayDate,end:R(e.allDayDate,1)};let{hiddenSegs:t}=e;return{start:_c(t),end:yc(t)}}function _c(e){return e.reduce(vc).eventRange.range.start}function vc(e,t){return e.eventRange.range.start<t.eventRange.range.start?e:t}function yc(e){return e.reduce(bc).eventRange.range.end}function bc(e,t){return e.eventRange.range.end>t.eventRange.range.end?e:t}var xc=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)}},Sc=class extends xc{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)}},Cc=[],wc={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`},Tc=Object.assign(Object.assign({},wc),{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 Ec(e){let t=e.length>0?e[0].code:`en`,n=Cc.concat(e),r={en:Tc};for(let e of n)r[e.code]=e;return{map:r,defaultCode:t}}function Dc(e,t){return typeof e==`object`&&!Array.isArray(e)?Ac(e.code,[e.code],e):Oc(e,t)}function Oc(e,t){let n=[].concat(e||[]);return Ac(e,n,kc(n,t)||Tc)}function kc(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 Ac(e,t,n){let r=Si([wc,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 jc(e){return{id:qn(),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 Mc(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=Pc(r,t)):a!==t.id&&console.warn(`Duplicate plugin '${e}'`)}}return e&&i(e),i(t),r}function Nc(){let e=[],t=[],n;return(r,i)=>((!n||!hr(r,e)||!hr(i,t))&&(n=Mc(r,i)),e=r,t=i,n)}function Pc(e,t){return{premiumReleaseDate:Fc(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 Fc(e,t){return e===void 0?t:t===void 0?e:new Date(Math.max(e.valueOf(),t.valueOf()))}var Ic=class extends zi{};Ic.prototype.classes={root:`fc-theme-standard`,tableCellShaded:`fc-cell-shaded`,buttonGroup:`fc-button-group`,button:`fc-button fc-button-primary`,buttonActive:`fc-button-active`},Ic.prototype.baseIconClass=`fc-icon`,Ic.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`},Ic.prototype.rtlIconClasses={prev:`fc-icon-chevron-right`,next:`fc-icon-chevron-left`,prevYear:`fc-icon-chevrons-right`,nextYear:`fc-icon-chevrons-left`},Ic.prototype.iconOverrideOption=`buttonIcons`,Ic.prototype.iconOverrideCustomButtonOption=`icon`,Ic.prototype.iconOverridePrefix=`fc-icon-`;function Lc(e,t){let n={},r;for(r in e)Rc(r,n,e,t);for(r in t)Rc(r,n,e,t);return n}function Rc(e,t,n,r){if(t[e])return t[e];let i=zc(e,t,n,r);return i&&(t[e]=i),i}function zc(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=Rc(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 Bc(e){return wi(e,Vc)}function Vc(e){let t=typeof e==`function`?{component:e}:e,{component:n}=t;return t.content?n=Hc(t):n&&!(n.prototype instanceof K)&&(n=Hc(Object.assign(Object.assign({},t),{content:n}))),{superType:t.type,component:n,rawOptions:t}}function Hc(e){return t=>j(G.Consumer,null,n=>j(J,{elTag:`div`,elClasses:na(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 Uc(e,t,n,r){let i=Bc(e),a=Bc(t.views);return wi(Lc(i,a),e=>Wc(e,a,t,n,r))}function Wc(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=Kc(a),o)){let e=mr(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(fi)||e.type,buttonTitleOverride:d(r)||d(n)||e.overrides.buttonHint,buttonTitleDefault:d(i)||e.defaults.buttonHint||d(fi)}}var Gc={};function Kc(e){let t=JSON.stringify(e),n=Gc[t];return n===void 0&&(n=I(e),Gc[t]=n),n}function qc(e,t){switch(t.type){case`CHANGE_VIEW_TYPE`:e=t.viewType}return e}function Jc(e,t){switch(t.type){case`CHANGE_DATE`:return t.dateMarker;default:return e}}function Yc(e,t,n){let r=e.initialDate;return r==null?n.getDateMarker():t.createMarker(r)}function Xc(e,t){switch(t.type){case`SET_OPTION`:return Object.assign(Object.assign({},e),{[t.optionName]:t.rawOptionValue});default:return e}}function Zc(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 Qc(e,t,n){let r=t?t.activeRange:null;return nl({},ul(e,n),r,n)}function $c(e,t,n,r){let i=n?n.activeRange:null;switch(t.type){case`ADD_EVENT_SOURCES`:return nl(e,t.sources,i,r);case`REMOVE_EVENT_SOURCE`:return rl(e,t.sourceId);case`PREV`:case`NEXT`:case`CHANGE_DATE`:case`CHANGE_VIEW_TYPE`:return n?il(e,i,r):e;case`FETCH_EVENT_SOURCES`:return ol(e,t.sourceIds?Ti(t.sourceIds):ll(e,r),i,t.isRefetch||!1,r);case`RECEIVE_EVENTS`:case`RECEIVE_EVENT_ERROR`:return cl(e,t.sourceId,t.fetchId,t.fetchRange);case`REMOVE_ALL_EVENT_SOURCES`:return{};default:return e}}function el(e,t,n){let r=t?t.activeRange:null;return ol(e,ll(e,n),r,!0,n)}function tl(e){for(let t in e)if(e[t].isFetching)return!0;return!1}function nl(e,t,n,r){let i={};for(let e of t)i[e.sourceId]=e;return n&&(i=il(i,n,r)),Object.assign(Object.assign({},e),i)}function rl(e,t){return Ci(e,e=>e.sourceId!==t)}function il(e,t,n){return ol(e,Ci(e,e=>al(e,t,n)),t,!1,n)}function al(e,t,n){return dl(e,n)?!n.options.lazyFetching||!e.fetchRange||e.isFetching||t.start<e.fetchRange.start||t.end>e.fetchRange.end:!e.latestFetchId}function ol(e,t,n,r,i){let a={};for(let o in e){let s=e[o];t[o]?a[o]=sl(s,n,r,i):a[o]=s}return a}function sl(e,t,n,r){let{options:i,calendarApi:a}=r,o=r.pluginHooks.eventSourceDefs[e.sourceDefId],s=qn();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 cl(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 Ci(e,e=>dl(e,t))}function ul(e,t){let n=Ha(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=Va(e,t,n);r&&i.push(r)}return i}function dl(e,t){return!t.pluginHooks.eventSourceDefs[e.sourceDefId].ignoreRange}function fl(e,t){switch(t.type){case`UNSELECT_DATES`:return null;case`SELECT_DATES`:return t.selection;default:return e}}function pl(e,t){switch(t.type){case`UNSELECT_EVENT`:return``;case`SELECT_EVENT`:return t.eventInstanceId;default:return e}}function ml(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 hl(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 gl(e,t,n,r,i){return{header:e.headerToolbar?_l(e.headerToolbar,e,t,n,r,i):null,footer:e.footerToolbar?_l(e.footerToolbar,e,t,n,r,i):null}}function _l(e,t,n,r,i,a){let o={},s=[],c=!1;for(let l in e){let u=e[l],d=vl(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 vl(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=$n(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=$n(u[t]||d[t],[l.year||`year`,`year`],l[e])}else v=t=>$n(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 yl=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]}},bl=jc({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})}}]}),xl=jc({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;zo(i.bind(null,Io(e.range,r)),e=>t({rawEvents:e}),n)}}]}),Sl=jc({name:`json-event-source`,eventSourceRefiners:{method:String,extraParams:U,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=Cl(r,e.range,e.context);Vo(r.method,r.url,i).then(([e,n])=>{t({rawEvents:e,response:n})},n)}}]});function Cl(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 wl=jc({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=cr(e.endTime,e.startTime)),{allDayGuess:!e.startTime&&!e.endTime,duration:r,typeData:n}}return null},expand(e,t,n){let r=oa(t,{start:e.startRecur,end:e.endRecur});return r?Tl(e.daysOfWeek,e.startTime,e.dateEnv,n,r):[]}}],eventRefiners:{daysOfWeek:U,startTime:I,endTime:I,duration:I,startRecur:U,endRecur:U}});function Tl(e,t,n,r,i){let a=e?Ti(e):null,o=z(i.start),s=i.end,c=[];for(t&&(t.milliseconds<0?s=R(s,1):t.milliseconds>=1e3*60*60*24&&(o=R(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=R(o,1)}return c}var El=jc({name:`change-handler`,optionChangeHandlers:{events(e,t){Dl([e],t)},eventSources:Dl}});function Dl(e,t){let n=Ei(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 Ol(e,t){t.emitter.trigger(`datesSet`,Object.assign(Object.assign({},Io(e.activeRange,t.dateEnv)),{view:t.viewApi}))}function kl(e,t){let{emitter:n}=t;n.hasHandlers(`eventsSet`)&&n.trigger(`eventsSet`,ho(e,t))}var Al=[bl,xl,Sl,wl,El,jc({name:`misc`,isLoadingFuncs:[e=>tl(e.eventSources)],propSetHandlers:{dateProfile:Ol,eventStore:kl}})],jl=class{constructor(e,t){this.runTaskOption=e,this.drainedOption=t,this.queue=[],this.delayedRunner=new An(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 Ml(e,t,n){let r;return r=/^(year|month)$/.test(e.currentRangeUnit)?e.currentRange:e.activeRange,n.formatRange(r.start,r.end,H(t.titleFormat||Nl(e)),{isEndExclusive:e.isRangeAllDay,defaultSeparator:t.titleRangeSeparator})}function Nl(e){let{currentRangeUnit:t}=e;if(t===`year`)return{year:`numeric`};if(t===`month`)return{year:`numeric`,month:`long`};let n=Er(e.currentRange.start,e.currentRange.end);return n!==null&&n>1?{year:`numeric`,month:`short`,day:`numeric`}:{year:`numeric`,month:`long`,day:`numeric`}}var Pl=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)}},Fl=class{constructor(e){this.computeCurrentViewData=V(this._computeCurrentViewData),this.organizeRawLocales=V(Ec),this.buildLocale=V(Dc),this.buildPluginHooks=Nc(),this.buildDateEnv=V(Il),this.buildTheme=V(Ll),this.parseToolbars=V(gl),this.buildViewSpecs=V(Uc),this.buildDateProfileGenerator=Ur(Rl),this.buildViewApi=V(zl),this.buildViewUiProps=Ur(Hl),this.buildEventUiBySource=V(Bl,W),this.buildEventUiBases=V(Vl),this.parseContextBusinessHours=Ur(Wl),this.buildTitle=V(Ml),this.nowManager=new Pl,this.emitter=new $a,this.actionRunner=new jl(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 Pl;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=Yc(n.calendarOptions,n.dateEnv,this.nowManager),s=i.dateProfileGenerator.build(o);Y(s.activeRange,o)||(o=s.currentRange.start);for(let e of n.pluginHooks.contextInit)e(a);let c=Qc(n.calendarOptions,s,a),l={dynamicOptionOverrides:t,currentViewType:r,currentDate:o,dateProfile:s,businessHours:this.parseContextBusinessHours(a),eventSources:c,eventUiBases:{},eventStore:X(),renderableEventStore:X(),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));Ul(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=Xc(n.dynamicOptionOverrides,e),a=this.computeOptionsData(t.optionOverrides,i,t.calendarApi),o=qc(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=Jc(l,e),u=Zc(u,e,l,s.dateProfileGenerator),(e.type===`PREV`||e.type===`NEXT`||!Y(u.currentRange,l))&&(l=u.currentRange.start);let d=$c(n.eventSources,e,u,c),f=Wa(n.eventStore,e,d,u,c),p=tl(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:fl(n.dateSelection,e),eventSelection:pl(n.eventSelection,e),eventDrag:ml(n.eventDrag,e),eventResize:hl(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=Ul(n,c),x=Ul(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=el(a.eventSources,t.dateProfile,a),t.eventStore=a.eventStore=Xa(a.eventStore,n.dateEnv,a.dateEnv),t.renderableEventStore=a.renderableEventStore=Xa(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);Gl(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}=yi([fi,e,t]),i=this.organizeRawLocales(n),a=i.map,o=this.buildLocale(r||i.defaultCode,a).options,s=this.buildPluginHooks(e.plugins||[],Al),c=this.currentCalendarOptionsRefiners=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},di),pi),mi),s.listenerRefiners),s.optionRefiners),l={},u=yi([fi,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]||hi[e]&&e in f&&hi[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 Gl(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=yi([fi,e.optionDefaults,n,r,e.optionOverrides,i]),o=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},di),pi),mi),vi),t.listenerRefiners),t.optionRefiners),s={},c=this.currentViewOptionsInput,l=this.currentViewOptionsRefined,u=!1,d={};for(let e in a)a[e]===c[e]||hi[e]&&hi[e](a[e],c[e])?s[e]=l[e]:(a[e]===this.currentCalendarOptionsInput[e]||hi[e]&&hi[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 Il(e,t,n,r,i,a,o,s){let c=Dc(t||o.defaultCode,o.map);return new Ri({calendarSystem:`gregory`,timeZone:e,namedTimeZoneImpl:a.namedTimeZonedImpl,locale:c,weekNumberCalculation:n,firstDay:r,weekText:i,cmdFormatter:a.cmdFormatter,defaultSeparator:s})}function Ll(e,t){return new(t.themeClasses[e.themeSystem]||Ic)(e)}function Rl(e){return new(e.dateProfileGeneratorClass||fa)(e)}function zl(e,t,n){return new yl(e,t,n)}function Bl(e){return wi(e,e=>e.ui)}function Vl(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 Hl(e){let{options:t}=e;return{eventUiSingleBase:La({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:La({constraint:t.selectConstraint,overlap:typeof t.selectOverlap==`boolean`?t.selectOverlap:void 0,allow:t.selectAllow},e)}}function Ul(e,t){for(let n of t.pluginHooks.isLoadingFuncs)if(n(e))return!0;return!1}function Wl(e){return ro(e.options.businessHours,e)}function Gl(e,t){for(let n in e)console.warn(`Unknown option '${n}'`+(t?` for view '${t}'`:``))}var Kl=class extends K{render(){return j(`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(j(`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(j(`button`,{type:`button`,title:typeof l==`function`?l(t.navUnit):l,disabled:a,"aria-pressed":i,className:u.join(` `),onClick:o},s||(c?j(`span`,{className:c,role:`img`}):``)))}}return r.length>1?j(`div`,{className:i&&n.getClass(`buttonGroup`)||``},...r):r[0]}},ql=class extends K{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,j(`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 j(Kl,{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})}},Jl=class extends K{constructor(){super(...arguments),this.state={availableWidth:null},this.handleEl=e=>{this.el=e,q(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||``,j(`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})}},Yl=class extends Ko{constructor(e){super(e),this.handleSegClick=(e,t)=>{let{component:n}=this,{context:r}=n,i=yo(t);if(i&&n.isValidSegDownEl(e.target)){let a=Mn(e.target,`.fc-event-forced-url`),o=a?a.querySelector(`a[href]`).href:``;r.emitter.trigger(`eventClick`,{el:t,event:new Z(n.context,i.eventRange.def,i.eventRange.instance),jsEvent:e,view:r.viewApi}),o&&!e.defaultPrevented&&(window.location.href=o)}},this.destroy=Hn(e.el,`click`,`.fc-event`,this.handleSegClick)}},Xl=class extends Ko{constructor(e){super(e),this.handleEventElRemove=e=>{e===this.currentSegEl&&this.handleSegLeave(null,this.currentSegEl)},this.handleSegEnter=(e,t)=>{yo(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=Un(e.el,`.fc-event`,this.handleSegEnter,this.handleSegLeave)}destroy(){this.removeHoverListeners()}triggerEvent(e,t,n){let{component:r}=this,{context:i}=r,a=yo(n);(!t||r.isValidSegDownEl(t.target))&&i.emitter.trigger(e,{el:n,event:new Z(i,a.eventRange.def,a.eventRange.instance),jsEvent:t,view:i.viewApi})}},Zl=class extends Gi{constructor(){super(...arguments),this.buildViewContext=V(Wi),this.buildViewPropTransformers=V($l),this.buildToolbarProps=V(Ql),this.headerRef=M(),this.footerRef=M(),this.interactionsStore={},this.state={viewLabelId:Bn()},this.registerInteractiveComponent=(e,t)=>{let n=qo(e,t),r=[Yl,Xl].concat(this.props.pluginHooks.componentInteractions).map(e=>new e(n));this.interactionsStore[e.uid]=r,Jo[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 Jo[e.uid]},this.resizeRunner=new An(()=>{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 j(G.Provider,{value:o},j(Yo,{unit:`day`},n=>{let o=this.buildToolbarProps(e.viewSpec,e.dateProfile,e.dateProfileGenerator,e.currentDate,n,e.viewTitle);return j(N,null,t.header&&j(ql,Object.assign({ref:this.headerRef,extraClassName:`fc-header-toolbar`,model:t.header,titleId:s},o)),j(Jl,{liquid:r,height:i,aspectRatio:a,labeledById:s},this.renderView(e),this.buildAppendContent()),t.footer&&j(ql,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 j(N,{},...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 j(a,Object.assign({},r))}};function Ql(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&&!Y(t.currentRange,i),isPrevEnabled:s.isValid,isNextEnabled:c.isValid}}function $l(e){return e.map(e=>new e)}var eu=class extends Zo{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;Bi(()=>{jt(j(Go,{options:e.calendarOptions,theme:e.theme,emitter:e.emitter},(t,n,r,i)=>(this.setClassNames(t),this.setHeight(n),j(Qi.Provider,{value:this.customContentRenderId},j(Zl,Object.assign({isHeightAuto:r,forPrint:i},e))))),this.el)})}else this.isRendered&&(this.isRendered=!1,jt(null,this.el),this.setClassNames([]),this.setHeight(``))},Cn(e),this.el=e,this.renderRunner=new An(this.handleRenderRequest),new Fl({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(){Bi(()=>{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(!hr(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){Ln(this.el,`height`,e)}},tu=parseInt(`19.2.5`.split(`.`)[0])<18,nu=class extends O.Component{constructor(){super(...arguments),this.elRef=(0,O.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(O.createElement(ru,{key:t.id,customRendering:t}));return O.createElement(`div`,{ref:this.elRef},e)}componentDidMount(){this.isUnmounting=!1;let e=new Sc;this.handleCustomRendering=e.handle.bind(e),this.calendar=new eu(this.elRef.current,Object.assign(Object.assign({},this.props),{handleCustomRendering:this.handleCustomRendering})),this.calendar.render(),this.calendar.on(`_beforeprint`,()=>{(0,he.flushSync)(()=>{})});let t;e.subscribe(e=>{let n=Date.now(),r=!t;(tu||r||this.isUpdating||this.isUnmounting||n-t<100?iu:he.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}};nu.act=iu;var ru=class extends O.PureComponent{render(){let{customRendering:e}=this.props,{generatorMeta:t}=e;return(0,he.createPortal)(typeof t==`function`?t(e.renderProps):t,e.containerEl)}};function iu(e){e()}var au=class extends Q{constructor(){super(...arguments),this.headerElRef=M()}renderSimpleLayout(e,t){let{props:n,context:r}=this,i=[],a=Js(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}}),j(ta,{elClasses:[`fc-daygrid`],viewSpec:r.viewSpec},j(Xs,{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&&Js(o.options),c=!a.forPrint&&Ys(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:qs}]}),j(ta,{elClasses:[`fc-daygrid`],viewSpec:o.viewSpec},j(i,{liquid:!a.isHeightAuto&&!a.forPrint,forPrint:a.forPrint,collapsibleWidth:a.forPrint,colGroups:[{cols:[{span:n,minWidth:r}]}],sections:l}))}};function ou(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 su(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 cu(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=H({hour:`numeric`,minute:`2-digit`,omitZeroMinute:!0,meridiem:`narrow`});function uu(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 du=class extends K{render(){let{props:e}=this;return j($s,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}))}},fu=class extends K{render(){let{props:e,context:t}=this,{options:n}=t,{seg:r}=e,i=Do(r,n.eventTimeFormat||lu,t,!0,e.defaultDisplayEventEnd);return j(Qs,Object.assign({},e,{elTag:`a`,elClasses:[`fc-daygrid-event`,`fc-daygrid-dot-event`],elAttrs:jo(e.seg,t),defaultGenerator:pu,timeText:i,isResizing:!1,isDateSelecting:!1}))}};function pu(e){return j(N,null,j(`div`,{className:`fc-daygrid-event-dot`,style:{borderColor:e.borderColor||e.backgroundColor}}),e.timeText&&j(`div`,{className:`fc-event-time`},e.timeText),j(`div`,{className:`fc-event-title`},e.event.title||j(N,null,`\xA0`)))}var mu=class extends K{constructor(){super(...arguments),this.compileSegs=V(hu)}render(){let{props:e}=this,{allSegs:t,invisibleSegs:n}=this.compileSegs(e.singlePlacements);return j(mc,{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 j(N,null,t.map(t=>{let r=t.eventRange.instance.instanceId;return j(`div`,{className:`fc-daygrid-event-harness`,key:r,style:{visibility:n[r]?`hidden`:``}},uu(t)?j(fu,Object.assign({seg:t,isDragging:!1,isSelected:r===e.eventSelection,defaultDisplayEventEnd:!1},Oo(t,e.todayRange))):j(du,Object.assign({seg:t,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:r===e.eventSelection,defaultDisplayEventEnd:!1},Oo(t,e.todayRange))))}))}})}};function hu(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 gu=H({week:`narrow`}),_u=class extends Q{constructor(){super(...arguments),this.rootElRef=M(),this.state={dayNumberId:Bn()},this.handleRootEl=e=>{q(this.rootElRef,e),q(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&&yu(o,s.currentRange,a);return j(rc,{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:vu,date:o,dateProfile:s,todayRange:t.todayRange,showDayNumber:t.showDayNumber,isMonthStart:c,extraRenderProps:t.extraRenderProps},(a,s)=>j(`div`,{ref:t.innerElRef,className:`fc-daygrid-day-frame fc-scrollgrid-sync-inner`,style:{minHeight:t.minHeight}},t.showWeekNumber&&j(lc,{elTag:`a`,elClasses:[`fc-daygrid-week-number`],elAttrs:os(e,o,`week`),date:o,defaultFormat:gu}),!s.isDisabled&&(t.showDayNumber||ic(i)||t.forceDayTop)?j(`div`,{className:`fc-daygrid-day-top`},j(a,{elTag:`a`,elClasses:[`fc-daygrid-day-number`,c&&`fc-daygrid-month-start`],elAttrs:Object.assign(Object.assign({},os(e,o)),{id:n.dayNumberId})})):t.showDayNumber?j(`div`,{className:`fc-daygrid-day-top`,style:{visibility:`hidden`}},j(`a`,{className:`fc-daygrid-day-number`},`\xA0`)):void 0,j(`div`,{className:`fc-daygrid-day-events`,ref:t.fgContentElRef},t.fgContent,j(`div`,{className:`fc-daygrid-day-bottom`,style:{marginTop:t.moreMarginTop}},j(mu,{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}))),j(`div`,{className:`fc-daygrid-day-bg`},t.bgContent)))}};function vu(e){return e.dayNumberText||j(N,null,`\xA0`)}function yu(e,t,n){let{start:r,end:i}=t,a=vr(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 bu(e){return e.eventRange.instance.instanceId+`:`+e.firstCol}function xu(e){return bu(e)+`:`+e.lastCol}function Su(e,t,n,r,i,a,o){let s=new Eu(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[xu(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}=Cu(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:Tu(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:Tu(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:Tu(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 Cu(e,t,n){let r=wu(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:Tu(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:Tu(i,r.span.start,r.span.end,n),isVisible:!0,isAbsolute:!0,absoluteTop:r.levelCoord,marginTop:0})):o&&(d.push({seg:Tu(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 wu(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 Tu(e,t,n,r){if(e.firstCol===t&&e.lastCol===n-1)return e;let i=e.eventRange,a=i.range,o=oa(a,{start:r[t].date,end:R(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 Eu=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[_s(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=_s(a);if(!i[e])if(this.allowReslicing){let e=Object.assign(Object.assign({},a),{span:bs(a.span,t.span)}),c=_s(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)}},Du=class extends Q{constructor(){super(...arguments),this.cellElRefs=new $,this.frameElRefs=new $,this.fgElRefs=new $,this.segHarnessRefs=new $,this.rootElRef=M(),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=su(e.businessHourSegs,i),o=su(e.bgEventSegs,i),s=su(this.getHighlightSegs(),i),c=su(this.getMirrorSegs(),i),{singleColPlacements:l,multiColPlacements:u,moreCnts:d,moreMarginTops:f}=Su(So(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 j(`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,Ou(c[n],u),e.todayRange,{},!!e.eventDrag,!!e.eventResize,!1);return j(_u,{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:j(N,null,j(N,null,r),j(N,null,i)),bgContent:j(N,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(!W(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(j(`div`,{className:`fc-daygrid-event-harness`+(h?` fc-daygrid-event-harness-abs`:``),key:bu(t),ref:d?null:this.segHarnessRefs.createRef(xu(t)),style:{visibility:m?``:`hidden`,marginTop:h?``:e.marginTop,top:h?e.absoluteTop:``,left:g,right:_}},uu(t)?j(fu,Object.assign({seg:t,isDragging:i,isSelected:p===c,defaultDisplayEventEnd:u},Oo(t,n))):j(du,Object.assign({seg:t,isDragging:i,isResizing:a,isDateSelecting:o,isSelected:p===c,defaultDisplayEventEnd:u},Oo(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(j(`div`,{key:Ao(o.eventRange),className:`fc-daygrid-bg-harness`,style:e},t===`bg-event`?j(oc,Object.assign({seg:o},Oo(o,r))):cc(t)))}return j(N,{},...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 ps(t,e,!0,!1);(!n.framePositions||!n.framePositions.similarTo(r))&&this.setState({framePositions:new ps(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])}};Du.addStateEquality({segHeights:W});function Ou(e,t){if(!e.length)return[];let n=ku(t);return e.map(e=>({seg:e,isVisible:!0,isAbsolute:!0,absoluteTop:n[e.eventRange.instance.instanceId],marginTop:0}))}function ku(e){let t={};for(let n of e)for(let e of n)t[e.seg.eventRange.instance.instanceId]=e.absoluteTop;return t}var Au=class extends Q{constructor(){super(...arguments),this.splitBusinessHourSegs=V(ou),this.splitBgEventSegs=V(ju),this.splitFgEventSegs=V(ou),this.splitDateSelectionSegs=V(ou),this.splitEventDrag=V(cu),this.splitEventResize=V(cu),this.rowRefs=new $}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 j(Yo,{unit:`day`},(t,u)=>j(N,null,e.cells.map((t,d)=>j(Du,{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 ps(this.rootEl,this.rowRefs.collect().map(e=>e.getCellEls()[0]),!1,!0),this.colPositions=new ps(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:R(n,1)}}};function ju(e,t){return ou(e.filter(Mu),t)}function Mu(e){return e.eventRange.def.allDay}var Nu=class extends Q{constructor(){super(...arguments),this.elRef=M(),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 j(`div`,{ref:this.elRef,className:a.join(` `),style:{width:e.clientWidth,minWidth:e.tableMinWidth}},j(`table`,{role:`presentation`,className:`fc-scrollgrid-sync-table`,style:{width:e.clientWidth,minWidth:e.tableMinWidth,height:r?e.clientHeight:``}},e.colGroupNode,j(`tbody`,{role:`presentation`},j(Au,{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=Pu(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 Pu(e,t){let n;return t.currentRangeUnit.match(/year|month/)&&(n=e.querySelector(`[data-date="${Br(t.currentDate)}-01"]`)),n||=e.querySelector(`[data-date="${zr(t.currentDate)}"]`),n}var Fu=class extends Ns{constructor(){super(...arguments),this.forceDayIfListItem=!0}sliceRange(e,t){return t.sliceRange(e)}},Iu=class extends Q{constructor(){super(...arguments),this.slicer=new Fu,this.tableRef=M()}render(){let{props:e,context:t}=this;return j(Nu,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}))}},Lu=class extends au{constructor(){super(...arguments),this.buildDayTableModel=V(Ru),this.headerRef=M(),this.tableRef=M()}render(){let{options:e,dateProfileGenerator:t}=this.context,{props:n}=this,r=this.buildDayTableModel(n.dateProfile,t),i=e.dayHeaders&&j(ks,{ref:this.headerRef,dateProfile:n.dateProfile,dates:r.headerDates,datesRepDistinctDays:r.rowCnt===1}),a=t=>j(Iu,{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 Ru(e,t){return new Ms(new js(e.renderRange,t),/year|month|week/.test(e.currentRangeUnit))}var zu=class extends fa{buildRenderRange(e,t,n){let r=super.buildRenderRange(e,t,n),{props:i}=this;return Bu({currentRange:r,snapToWeek:/^(year|month)$/.test(t),fixedWeekCount:i.fixedWeekCount,dateEnv:i.dateEnv})}};function Bu(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=_r(a,1))),e.fixedWeekCount){let e=t.startOfWeek(t.startOfMonth(R(n.end,-1))),r=Math.ceil(yr(e,i));i=_r(i,6-r)}return{start:r,end:i}}Sn(`: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 Vu=jc({name:`@fullcalendar/daygrid`,initialView:`dayGridMonth`,views:{dayGrid:{component:Lu,dateProfileGeneratorClass:zu},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}}}}),Hu=class extends es{getKeyInfo(){return{allDay:{},timed:{}}}getKeysForDateSpan(e){return e.allDay?[`allDay`]:[`timed`]}getKeysForEventDef(e){return e.allDay?_o(e)?[`timed`,`allDay`]:[`allDay`]:[`timed`]}},Uu=H({hour:`numeric`,minute:`2-digit`,omitZeroMinute:!0,meridiem:`short`});function Wu(e){let t=[`fc-timegrid-slot`,`fc-timegrid-slot-label`,e.isLabeled?`fc-scrollgrid-shrink`:`fc-timegrid-slot-minor`];return j(G.Consumer,null,n=>{if(!e.isLabeled)return j(`td`,{className:t.join(` `),"data-time":e.isoTimeStr});let{dateEnv:r,options:i,viewApi:a}=n,o=i.slotLabelFormat==null?Uu:Array.isArray(i.slotLabelFormat)?H(i.slotLabelFormat[0]):H(i.slotLabelFormat),s={level:0,time:e.time,date:r.toDate(e.date),view:a,text:r.format(e.date,o)};return j(J,{elTag:`td`,elClasses:t,elAttrs:{"data-time":e.isoTimeStr},renderProps:s,generatorName:`slotLabelContent`,customGenerator:i.slotLabelContent,defaultGenerator:Gu,classNameGenerator:i.slotLabelClassNames,didMount:i.slotLabelDidMount,willUnmount:i.slotLabelWillUnmount},e=>j(`div`,{className:`fc-timegrid-slot-label-frame fc-scrollgrid-shrink-frame`},j(e,{elTag:`div`,elClasses:[`fc-timegrid-slot-label-cushion`,`fc-scrollgrid-shrink-cushion`]})))})}function Gu(e){return e.text}var Ku=class extends K{render(){return this.props.slatMetas.map(e=>j(`tr`,{key:e.key},j(Wu,Object.assign({},e))))}},qu=H({week:`short`}),Ju=5,Yu=class extends Q{constructor(){super(...arguments),this.allDaySplitter=new Hu,this.headerElRef=M(),this.rootElRef=M(),this.scrollerElRef=M(),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=br(i.start,i.end)===1?os(this.context,i.start,`week`):{};return n.weekNumbers&&e===`day`?j(lc,{elTag:`th`,elClasses:[`fc-timegrid-axis`,`fc-scrollgrid-shrink`],elAttrs:{"aria-hidden":!0},date:i.start,defaultFormat:qu},e=>j(`div`,{className:[`fc-timegrid-axis-frame`,`fc-scrollgrid-shrink-frame`,`fc-timegrid-axis-frame-liquid`].join(` `),style:{height:t}},j(e,{elTag:`a`,elClasses:[`fc-timegrid-axis-cushion`,`fc-scrollgrid-shrink-cushion`,`fc-scrollgrid-sync-inner`],elAttrs:a}))):j(`th`,{"aria-hidden":!0,className:`fc-timegrid-axis`},j(`div`,{className:`fc-timegrid-axis-frame`,style:{height:t}}))},this.renderTableRowAxis=e=>{let{options:t,viewApi:n}=this.context;return j(J,{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:Xu,classNameGenerator:t.allDayClassNames,didMount:t.allDayDidMount,willUnmount:t.allDayWillUnmount},t=>j(`div`,{className:[`fc-timegrid-axis-frame`,`fc-scrollgrid-shrink-frame`,e==null?` fc-timegrid-axis-frame-liquid`:``].join(` `),style:{height:e}},j(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=Js(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:j(`tr`,{role:`presentation`,className:`fc-scrollgrid-section`},j(`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}}),j(ta,{elRef:this.rootElRef,elClasses:[`fc-timegrid`],viewSpec:r.viewSpec},j(Xs,{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&&Js(c.options),d=!l.forPrint&&Ys(c.options),f=[];e&&f.push({type:`header`,key:`header`,isSticky:u,syncRowHeights:!0,chunks:[{key:`axis`,rowContent:e=>j(`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=>j(`tr`,{role:`presentation`},this.renderTableRowAxis(e.rowSyncHeights[0]))},{key:`cols`,content:t}]}),f.push({key:`all-day-divider`,type:`body`,outerContent:j(`tr`,{role:`presentation`,className:`fc-scrollgrid-section`},j(`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=>j(`div`,{className:`fc-timegrid-axis-chunk`},j(`table`,{"aria-hidden":!0,style:{height:e.expandRows?e.clientHeight:``}},e.tableColGroupNode,j(`tbody`,null,j(Ku,{slatMetas:a}))),j(`div`,{className:`fc-timegrid-now-indicator-container`},j(Yo,{unit:p?`minute`:`day`},e=>{let t=p&&o&&o.safeComputeTop(e);return typeof t==`number`?j(tc,{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:qs},{key:`cols`,content:qs}]}),j(ta,{elRef:this.rootElRef,elClasses:[`fc-timegrid`],viewSpec:c.viewSpec},j(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=Ju),{dayMaxEvents:e,dayMaxEventRows:t}}};function Xu(e){return e.text}var Zu=class{constructor(e,t,n){this.positions=e,this.dateProfile=t,this.slotDuration=n}safeComputeTop(e){let{dateProfile:t}=this;if(Y(t.currentRange,e)){let n=z(e),r=e.valueOf()-n.valueOf();if(r>=L(t.slotMinTime)&&r<L(t.slotMaxTime))return this.computeTimeTop(I(r))}return null}computeDateTop(e,t){return t||=z(e),this.computeTimeTop(I(e.valueOf()-t.valueOf()))}computeTimeTop(e){let{positions:t,dateProfile:n}=this,r=t.els.length,i=(e.milliseconds-L(n.slotMinTime))/L(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}},Qu=class extends K{render(){let{props:e,context:t}=this,{options:n}=t,{slatElRefs:r}=e;return j(`tbody`,null,e.slatMetas.map((i,a)=>{let o={time:i.time,date:t.dateEnv.toDate(i.date),view:t.viewApi};return j(`tr`,{key:i.key,ref:r.createRef(i.key)},e.axis&&j(Wu,Object.assign({},i)),j(J,{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}))}))}},$u=class extends K{constructor(){super(...arguments),this.rootElRef=M(),this.slatElRefs=new $}render(){let{props:e,context:t}=this;return j(`div`,{ref:this.rootElRef,className:`fc-timegrid-slots`},j(`table`,{"aria-hidden":!0,className:t.theme.getClass(`table`),style:{minWidth:e.tableMinWidth,width:e.clientWidth,height:e.minHeight}},e.tableColGroupNode,j(Qu,{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 Zu(new ps(this.rootElRef.current,ed(this.slatElRefs.currentMap,t.slatMetas),!1,!0),this.props.dateProfile,e.options.slotDuration))}};function ed(e,t){return t.map(t=>e[t.key])}function td(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 nd(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 rd=class extends K{render(){let{props:e}=this;return j(mc,{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:()=>yd(e.hiddenSegs,e),defaultGenerator:id,forceTimed:!0},e=>j(e,{elTag:`div`,elClasses:[`fc-timegrid-more-link-inner`,`fc-sticky`]}))}};function id(e){return e.shortText}function ad(e,t,n){let r=new hs;t!=null&&(r.strictOrder=t),n!=null&&(r.maxStackCnt=n);let i=vs(r.addSegs(e)),a=od(r);return a=dd(a,1),{segRects:fd(a),hiddenGroups:i}}function od(e){let{entriesByLevel:t}=e,n=pd((e,t)=>e+`:`+t,(r,i)=>{let a=sd(ud(e,r,i),n),o=t[r][i];return[Object.assign(Object.assign({},o),{nextLevelNodes:a[0]}),o.thickness+a[1]]});return sd(t.length?{level:0,lateralStart:0,lateralEnd:t[0].length}:null,n)[0]}function sd(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(cd),[o.map(ld),o[0][1]]}function cd(e,t){return t[1]-e[1]}function ld(e){return e[0]}function ud(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=Ss(e,a.span.start,gs),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 dd(e,t){let n=pd((e,t,n)=>_s(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 fd(e){let t=[],n=pd((e,t,n)=>_s(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 pd(e,t){let n={};return(...r)=>{let i=e(...r);return i in n?n[i]:n[i]=t(...r)}}function md(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 hd(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}=ad(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 gd=H({hour:`numeric`,minute:`2-digit`,meridiem:!1}),_d=class extends K{render(){return j($s,Object.assign({},this.props,{elClasses:[`fc-timegrid-event`,`fc-v-event`,this.props.isShort&&`fc-timegrid-event-short`],defaultTimeFormat:gd}))}},vd=class extends K{constructor(){super(...arguments),this.sortEventSegs=V(So)}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 j(rc,{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=>j(`div`,{className:`fc-timegrid-col-frame`},j(`div`,{className:`fc-timegrid-col-bg`},this.renderFillSegs(e.businessHourSegs,`non-business`),this.renderFillSegs(e.bgEventSegs,`bg-event`),this.renderFillSegs(e.dateSelectionSegs,`highlight`)),j(`div`,{className:`fc-timegrid-col-events`},this.renderFgSegs(o,a,!1,!1,!1)),j(`div`,{className:`fc-timegrid-col-events`},this.renderFgSegs(i,{},!!e.eventDrag,!!e.eventResize,!!r,`mirror`)),j(`div`,{className:`fc-timegrid-now-indicator-container`},this.renderNowIndicator(e.nowIndicatorSegs)),ic(n)&&j(t,{elTag:`div`,elClasses:[`fc-timegrid-col-misc`]})))}renderFgSegs(e,t,n,r,i,a){let{props:o}=this;return o.forPrint?yd(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:_}=hd(e,md(e,u,d,l),c,o);return j(N,null,this.renderHiddenGroups(_,e),g.map(e=>{let{seg:o,rect:c}=e,l=o.eventRange.instance.instanceId,u=h||!!(!t[l]&&c),d=bd(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 j(`div`,{className:`fc-timegrid-event-harness`+(_?` fc-timegrid-event-harness-inset`:``),key:a||l,style:Object.assign(Object.assign({visibility:u?``:`hidden`},d),g)},j(_d,Object.assign({seg:o,isDragging:n,isResizing:r,isDateSelecting:i,isSelected:l===f,isShort:v},Oo(o,p,m))))}))}renderHiddenGroups(e,t){let{extraDateSpan:n,dateProfile:r,todayRange:i,nowDate:a,eventSelection:o,eventDrag:s,eventResize:c}=this.props;return j(N,null,e.map(e=>{let l=bd(e.span),u=xd(e.entries,t);return j(rd,{key:Rr(_c(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 j(N,null,md(e,n.date,n.slatCoords,r.options.eventMinHeight).map((r,i)=>{let a=e[i];return j(`div`,{key:Ao(a.eventRange),className:`fc-timegrid-bg-harness`,style:bd(r)},t===`bg-event`?j(oc,Object.assign({seg:a},Oo(a,n.todayRange,n.nowDate))):cc(t))}))}renderNowIndicator(e){let{slatCoords:t,date:n}=this.props;return t?e.map((e,r)=>j(tc,{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 yd(e,{todayRange:t,nowDate:n,eventSelection:r,eventDrag:i,eventResize:a}){let o=(i?i.affectedInstances:null)||(a?a.affectedInstances:null)||{};return j(N,null,e.map(e=>{let i=e.eventRange.instance.instanceId;return j(`div`,{key:i,style:{visibility:o[i]?`hidden`:``}},j(_d,Object.assign({seg:e,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:i===r,isShort:!1},Oo(e,t,n))))}))}function bd(e){return e?{top:e.start,bottom:-e.end}:{top:``,bottom:``}}function xd(e,t){return e.map(e=>t[e.index])}var Sd=class extends K{constructor(){super(...arguments),this.splitFgEventSegs=V(td),this.splitBgEventSegs=V(td),this.splitBusinessHourSegs=V(td),this.splitNowIndicatorSegs=V(td),this.splitDateSelectionSegs=V(td),this.splitEventDrag=V(nd),this.splitEventResize=V(nd),this.rootElRef=M(),this.cellElRefs=new $}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 j(`div`,{className:`fc-timegrid-cols`,ref:this.rootElRef},j(`table`,{role:`presentation`,style:{minWidth:e.tableMinWidth,width:e.clientWidth}},e.tableColGroupNode,j(`tbody`,{role:`presentation`},j(`tr`,{role:`row`},e.axis&&j(`td`,{"aria-hidden":!0,className:`fc-timegrid-col fc-timegrid-axis`},j(`div`,{className:`fc-timegrid-col-frame`},j(`div`,{className:`fc-timegrid-now-indicator-container`},typeof n==`number`&&j(tc,{elClasses:[`fc-timegrid-now-indicator-arrow`],elStyle:{top:n},isAxis:!0,date:e.nowDate})))),e.cells.map((t,n)=>j(vd,{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 ps(this.rootElRef.current,Cd(this.cellElRefs.currentMap,e.cells),!0,!1))}};function Cd(e,t){return t.map(t=>e[t.key])}var wd=class extends Q{constructor(){super(...arguments),this.processSlotOptions=V(Td),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 j(`div`,{className:`fc-timegrid-body`,ref:this.handleRootEl,style:{width:e.clientWidth,minWidth:e.tableMinWidth}},j($u,{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}),j(Sd,{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=sr(a.slotMinTime,lr(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 Td(e,t){let n=t||e,r=pr(e,n);return r===null&&(n=e,r=1),{snapDuration:n,snapsPerSlot:r}}var Ed=class extends Ns{sliceRange(e,t){let n=[];for(let r=0;r<t.length;r+=1){let i=oa(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}},Dd=class extends Q{constructor(){super(...arguments),this.buildDayRanges=V(Od),this.slicer=new Ed,this.timeColsRef=M()}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 j(Yo,{unit:i?`minute`:`day`},(s,c)=>j(wd,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 Od(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 kd=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}];function Ad(e,t,n,r,i){let a=new Date(0),o=e,s=I(0),c=n||jd(r),l=[];for(;L(o)<L(t);){let e=i.add(a,o),t=pr(s,c)!==null;l.push({date:e,time:o,key:e.toISOString(),isoTimeStr:Vr(e),isLabeled:t}),o=sr(o,r),s=sr(s,r)}return l}function jd(e){let t,n,r;for(t=kd.length-1;t>=0;--t)if(n=I(kd[t]),r=pr(n,e),r!==null&&r>1)return n;return e}var Md=class extends Yu{constructor(){super(...arguments),this.buildTimeColsModel=V(Nd),this.buildSlatMetas=V(Ad)}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&&j(ks,{dates:a.headerDates,dateProfile:i,datesRepDistinctDays:!0,renderIntro:l?this.renderHeadAxis:null}),f=e.allDaySlot!==!1&&(t=>j(Iu,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=>j(Dd,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 Nd(e,t){return new Ms(new js(e.renderRange,t),!1)}Sn(`.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 Pd=jc({name:`@fullcalendar/timegrid`,initialView:`timeGridWeek`,optionRefiners:{allDaySlot:Boolean},views:{timeGrid:{component:Md,usesMinMaxTime:!0,allDaySlot:!0,slotDuration:`00:30:00`,slotEventOverlap:!0},timeGridDay:{type:`timeGrid`,duration:{days:1}},timeGridWeek:{type:`timeGrid`,duration:{weeks:1}}}}),Fd=e=>`${String(e.getFullYear())}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,Id=e=>{let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return Math.abs(t)%360},Ld=e=>`hsl(${String(Id(e))}, 65%, 45%)`,Rd=(e,t,n)=>`${e}::${t}::${n}`,zd=e=>`calendar-harness-selection:${e}`,Bd=(e,t)=>{let n=new Date(e);return t?n.toLocaleDateString():`${n.toLocaleDateString()} ${n.toLocaleTimeString()}`},Vd=({event:e,sourceName:t,sourceApiName:n,calendarName:r,onClose:i})=>(0,k.jsx)(`div`,{role:`dialog`,className:`fixed inset-0 z-[99999] flex items-start justify-center overflow-y-auto bg-black/30 px-4 py-12`,onClick:i,children:(0,k.jsxs)(`div`,{className:`w-full max-w-xl rounded-lg border border-black/10 bg-white font-mono shadow-xl`,onClick:e=>{e.stopPropagation()},children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-b border-black/8 px-5 py-3`,children:[(0,k.jsx)(`span`,{className:`text-[13px] font-semibold text-neutral-900`,children:e.title}),(0,k.jsx)(`button`,{onClick:i,className:`text-[12px] text-neutral-400 hover:text-neutral-700`,"aria-label":`Close`,children:(0,k.jsx)(p,{icon:d})})]}),(0,k.jsxs)(`div`,{className:`max-h-[70vh] space-y-3 overflow-y-auto px-5 py-4 text-[12px] text-neutral-700`,children:[(0,k.jsxs)(`div`,{className:`grid grid-cols-[100px_1fr] gap-y-1.5`,children:[(0,k.jsx)(`span`,{className:`text-neutral-400`,children:`Start`}),(0,k.jsx)(`span`,{children:Bd(e.start_time,e.all_day??!1)}),(0,k.jsx)(`span`,{className:`text-neutral-400`,children:`End`}),(0,k.jsx)(`span`,{children:Bd(e.end_time,e.all_day??!1)}),(0,k.jsx)(`span`,{className:`text-neutral-400`,children:`All day`}),(0,k.jsx)(`span`,{children:e.all_day===!0?`yes`:`no`}),e.busy!==void 0&&(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`span`,{className:`text-neutral-400`,children:`Busy`}),(0,k.jsx)(`span`,{children:e.busy?`yes`:`no`})]}),(0,k.jsx)(`span`,{className:`text-neutral-400`,children:`Calendar`}),(0,k.jsx)(`span`,{children:r}),(0,k.jsx)(`span`,{className:`text-neutral-400`,children:`Source`}),(0,k.jsxs)(`span`,{children:[t,` `,(0,k.jsxs)(`span`,{className:`text-neutral-400`,children:[`(`,n,`)`]})]}),(0,k.jsx)(`span`,{className:`text-neutral-400`,children:`Event id`}),(0,k.jsx)(`span`,{className:`truncate`,children:e.id}),e.activity_id!==void 0&&(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`span`,{className:`text-neutral-400`,children:`Activity id`}),(0,k.jsx)(`span`,{className:`truncate`,children:e.activity_id})]}),e.url!==void 0&&(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`span`,{className:`text-neutral-400`,children:`URL`}),(0,k.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,k.jsx)(p,{icon:l,className:`text-[10px]`})]})]})]}),(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`div`,{className:`mb-1 text-[11px] font-semibold uppercase tracking-widest text-neutral-400`,children:`Raw payload`}),(0,k.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)})]})]})]})}),Hd=({calendarSources:e,pluginApiName:n})=>{let r=(0,O.useRef)(null),[i,s]=(0,O.useState)(`dayGridMonth`),[l,u]=(0,O.useState)(``),{calendars:d,errorServices:f,isLoading:m}=te(!0,e),h=(0,O.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]),[g,_]=(0,O.useState)(()=>{try{let e=localStorage.getItem(zd(n));if(e)return new Set(JSON.parse(e))}catch{}return new Set}),v=(0,O.useRef)(!1);(0,O.useEffect)(()=>{if(v.current||m)return;if(localStorage.getItem(zd(n))!==null){v.current=!0;return}let e=new Set;for(let{source:t,calendars:n}of h)for(let r of n)r.default===!0&&e.add(Rd(t.plugin_api_name,t.api_name,r.id));e.size>0&&_(e),v.current=!0},[m,h,n]),(0,O.useEffect)(()=>{localStorage.setItem(zd(n),JSON.stringify(Array.from(g)))},[g,n]);let y=(0,O.useCallback)((e,t,n)=>{_(r=>{let i=Rd(e,t,n),a=new Set(r);return a.has(i)?a.delete(i):a.add(i),a})},[]),b=(0,O.useMemo)(()=>{let e=[];for(let{source:t,calendars:n}of h)for(let r of n)g.has(Rd(t.plugin_api_name,t.api_name,r.id))&&e.push({source:t,calendar:r});return e},[h,g]),[x,S]=(0,O.useState)(()=>{let e=new Date,t=new Date(e.getFullYear(),e.getMonth(),1),n=new Date(e.getFullYear(),e.getMonth()+1,0);return{rangeStart:Fd(t),rangeEnd:Fd(n)}}),C=(0,O.useCallback)(e=>{let t=new Date(e.end.getTime()-1);S({rangeStart:Fd(e.start),rangeEnd:Fd(t)}),u(e.view.title),s(e.view.type)},[]),{events:w,sources:ee,isLoading:re}=ne(b,x),ie=(0,O.useMemo)(()=>{if(!w||typeof w!=`object`)return[];let e=w,t=[];for(let[n,r]of Object.entries(e)){let e=ee[n];if(!e)continue;let i=Ld(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},[w,ee]),[T,ae]=(0,O.useState)(null),oe=(0,O.useCallback)(e=>{let t=e.event.extendedProps;ae({event:t.raw,sourceName:t.sourceName,sourceApiName:t.sourceApiName,calendarName:t.calendarName})},[]),E=m||re,se=(0,O.useCallback)(e=>(0,k.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1 overflow-hidden px-1 py-px`,children:[e.timeText&&(0,k.jsx)(`span`,{className:`shrink-0 font-mono text-[9px] opacity-70`,children:e.timeText}),(0,k.jsx)(`span`,{className:`truncate font-mono text-[10px] font-medium leading-none`,children:e.event.title})]}),[]),ce=(0,O.useMemo)(()=>new Set(f.filter(e=>!!e)),[f]);return(0,k.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,k.jsx)(`div`,{className:`flex flex-col gap-3`,children:h.map(({source:e,calendars:n})=>{let r=ce.has(e.plugin_api_name);return(0,k.jsxs)(`div`,{className:`rounded border border-black/8 bg-neutral-50/60`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-black/5 px-3 py-2`,children:[(0,k.jsx)(`span`,{className:`h-3 w-3 shrink-0 rounded-full`,style:{backgroundColor:Ld(e.api_name)}}),(0,k.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,k.jsx)(`div`,{className:`truncate text-[12px] font-semibold text-neutral-800`,children:e.name}),(0,k.jsx)(`div`,{className:`truncate font-mono text-[10px] text-neutral-400`,children:e.api_name})]})]}),r&&(0,k.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,k.jsx)(p,{icon:t,className:`mt-0.5 text-[10px]`}),(0,k.jsx)(`span`,{children:`Auth error — the calendar script returned an authError flag. Check bundle config / credentials.`})]}),(0,k.jsx)(`div`,{className:`divide-y divide-black/5`,children:n.length===0?(0,k.jsx)(`div`,{className:`px-3 py-2 text-[11px] italic text-neutral-400`,children:m?`Loading calendars…`:`No calendars returned.`}):n.map(t=>{let n=Rd(e.plugin_api_name,e.api_name,t.id);return(0,k.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 px-3 py-1.5 hover:bg-black/5`,children:[(0,k.jsx)(`input`,{type:`checkbox`,checked:g.has(n),onChange:()=>{y(e.plugin_api_name,e.api_name,t.id)},className:`mt-0.5 h-3.5 w-3.5 accent-neutral-800`}),(0,k.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,k.jsxs)(`div`,{className:`truncate text-[12px] text-neutral-800`,children:[t.name,t.default===!0&&(0,k.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,k.jsx)(`div`,{className:`truncate text-[10px] text-neutral-400`,children:t.description}),(0,k.jsx)(`div`,{className:`truncate font-mono text-[10px] text-neutral-400`,children:t.id})]})]},t.id)})})]},`${e.plugin_api_name}::${e.api_name}`)})}),(0,k.jsxs)(`div`,{className:`relative`,children:[(0,k.jsxs)(`div`,{className:`mb-2 flex items-center justify-between font-mono`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,k.jsx)(`button`,{onClick:()=>{r.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,k.jsx)(p,{icon:c})}),(0,k.jsx)(`button`,{onClick:()=>{r.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,k.jsx)(p,{icon:o})}),(0,k.jsx)(`button`,{onClick:()=>{r.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,k.jsx)(`span`,{className:`text-[13px] font-semibold text-neutral-800`,children:l}),(0,k.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,k.jsx)(`button`,{onClick:()=>{r.current?.getApi().changeView(e)},className:`rounded px-2.5 py-0.5 text-[11px] transition-colors ${i===e?`bg-neutral-900 text-white`:`text-neutral-500 hover:text-neutral-800`}`,children:t},e))})]}),E&&(0,k.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,k.jsx)(p,{icon:a,spin:!0}),`Loading…`]}),(0,k.jsx)(`div`,{className:`fc-kizen`,children:(0,k.jsx)(nu,{ref:r,plugins:[Vu,Pd],initialView:`dayGridMonth`,headerToolbar:!1,datesSet:C,events:ie,eventContent:se,eventClick:oe,height:800,nowIndicator:!0,dayMaxEvents:4,weekends:!0,firstDay:0})})]}),T&&(0,k.jsx)(Vd,{event:T.event,sourceName:T.sourceName,sourceApiName:T.sourceApiName,calendarName:T.calendarName,onClose:()=>{ae(null)}})]})},Ud=({fields:e,pluginApiName:t,onLoadingChange:n,handleRef:r})=>{let{validateForm:i,inferencePending:a,expressionsIdle:o,initialExpressionsPending:s,state:c}=C(),l=a||!o||s;return(0,O.useEffect)(()=>{n(l)},[l,n]),(0,O.useImperativeHandle)(r,()=>({validateAndGetValues:async()=>{let{isValid:e}=await i();return{isValid:e,values:c}}}),[i,c]),(0,k.jsx)(`div`,{className:`flex flex-col gap-3`,children:e.map(e=>(0,k.jsx)(ie,{field:e,pluginApiName:t},e.key))})},Wd=(0,O.forwardRef)(({fields:e,pluginApiName:t,onLoadingChange:n},r)=>{let{getObjectByAPIName:i,getCustomObjectDetails:a}=oe(),o=(0,O.useRef)({}),s=(0,O.useCallback)(e=>{o.current=e},[]);return(0,k.jsx)(ae,{config:{fields:e},value:{},onStateChange:s,disabledKeys:[],getObjectByAPIName:i,getCustomObjectDetails:a,children:(0,k.jsx)(Ud,{fields:e,pluginApiName:t,onLoadingChange:n,handleRef:r})})});Wd.displayName=`DynamicModalContent`;var Gd=e=>e.id??e.key??``,Kd=(e,t)=>{let n={},r=e=>{let i=Gd(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},qd=({label:e,required:t,tooltip:n})=>(0,k.jsxs)(`span`,{className:`flex items-center gap-1 text-[11px] font-medium text-neutral-500`,children:[e,t&&(0,k.jsx)(`span`,{className:`text-red-500`,children:`*`}),n&&(0,k.jsx)(`span`,{className:`cursor-help rounded-full border border-neutral-300 px-1 text-[10px] text-neutral-400`,title:n,children:`i`})]}),Jd=({block:e,values:t,onChange:n})=>{let r=Gd(e);return e.type===`description`?(0,k.jsx)(`p`,{className:`m-0 text-[13px] text-neutral-700`,children:e.content}):e.type===`spacer`?(0,k.jsx)(`div`,{style:{height:e.height??8}}):e.type===`text`?(0,k.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,k.jsx)(qd,{label:e.label,required:e.required,tooltip:e.tooltip}),(0,k.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,k.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,k.jsx)(qd,{label:e.label,required:e.required,tooltip:e.tooltip}),(0,k.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,k.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2`,children:[(0,k.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,k.jsxs)(`span`,{className:`flex items-center gap-1 text-[12px] text-neutral-700`,children:[e.label,e.required&&(0,k.jsx)(`span`,{className:`text-red-500`,children:`*`}),e.tooltip&&(0,k.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,k.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,k.jsx)(qd,{label:e.label,required:e.required,tooltip:e.tooltip}),(0,k.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,k.jsx)(`option`,{value:``,children:e.placeholder??`—`}),(e.options??[]).map(e=>(0,k.jsx)(`option`,{value:e.value,children:e.label},e.value))]})]}):e.type===`container`?(0,k.jsx)(`div`,{className:`flex flex-wrap gap-3`,children:(e.fields??[]).map(e=>(0,k.jsx)(`div`,{style:{width:e.widthPercent===50?`calc(50% - 6px)`:`100%`},children:(0,k.jsx)(Jd,{block:e,values:t,onChange:n})},Gd(e)||e.type))}):null},Yd={small:`max-w-sm`,medium:`max-w-md`,large:`max-w-2xl`},Xd=({show:e,config:t,pluginApiName:n,onConfirm:r,onHide:i})=>{let a=t,o=a.content??[],s=!!a.dynamic,[c,l]=(0,O.useState)({}),[u,d]=(0,O.useState)(!1),f=(0,O.useRef)(null),p=(0,O.useCallback)((e,t)=>{l(n=>({...n,[e]:t}))},[]),m=async()=>{if(s&&f.current){let{isValid:e,values:t}=await f.current.validateAndGetValues();if(!e)return;r(t)}else{let e=Kd(o,c);l({}),r(e)}},h=e=>{l({}),d(!1),i(e)};if(!e)return null;let g=t.confirmButton?.label??`Confirm`,_=t.cancelButton?.label??`Cancel`;return(0,k.jsx)(`div`,{role:`dialog`,className:`fixed inset-0 z-[99999] flex items-start justify-center overflow-y-auto bg-black/30 px-4 py-12`,onClick:()=>{h(`close`)},children:(0,k.jsxs)(`div`,{className:`w-full ${Yd[a.size??`medium`]??Yd.medium??``} rounded-lg border border-black/10 bg-white font-mono shadow-xl`,onClick:e=>{e.stopPropagation()},children:[t.title&&(0,k.jsx)(`div`,{className:`border-b border-black/8 px-5 py-3`,children:(0,k.jsx)(`span`,{className:`text-[13px] font-semibold text-neutral-900`,children:t.title})}),s?(0,k.jsxs)(`div`,{className:`relative max-h-[60vh] overflow-y-auto px-5 py-4`,children:[(0,k.jsx)(Wd,{ref:f,fields:o,pluginApiName:n??a.pluginApiName??``,onLoadingChange:d}),(0,k.jsx)(xe,{visible:u})]}):o.length>0&&(0,k.jsx)(`div`,{className:`max-h-[60vh] space-y-3 overflow-y-auto px-5 py-4`,children:o.map((e,t)=>(0,k.jsx)(Jd,{block:e,values:c,onChange:p},Gd(e)||`${e.type}-${String(t)}`))}),(0,k.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-black/8 px-5 py-3`,children:[(0,k.jsx)(`button`,{onClick:()=>{h(`button`)},className:`rounded border border-black/10 px-3 py-1.5 text-[12px] text-neutral-600 transition-colors hover:bg-black/5`,children:_}),(0,k.jsx)(`button`,{onClick:()=>void m(),disabled:s&&u,className:`rounded px-3 py-1.5 text-[12px] text-white transition-colors ${s&&u?`cursor-not-allowed bg-neutral-400`:`bg-neutral-900 hover:bg-neutral-700`}`,children:g})]})]})})},Zd=56,Qd=()=>(0,k.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,k.jsx)(p,{icon:n,className:`mt-0.5 text-[11px]`}),(0,k.jsx)(`span`,{children:`Please install the plugin in order to test.`})]}),$d=({showingToast:e,browserRef:t})=>{let{apiName:n}=h({strict:!1}),r=ue(),[i,a]=me(`frames-enabled`,!1),o=a,{data:s,isLoading:c,isError:l}=g(_),u=b(),d=(0,O.useMemo)(()=>re(n??``),[n]);if(c)return(0,k.jsx)(D,{children:(0,k.jsx)(`p`,{className:`m-0 text-[13px] text-neutral-400`,children:`Fetching bundle.json…`})});if(l)return(0,k.jsx)(D,{children:(0,k.jsx)(`p`,{className:`m-0 text-[13px] text-red-700`,children:`Could not load bundle.json.`})});let f=s?.find(e=>e.api_name===n);if(!f)return(0,k.jsx)(D,{children:(0,k.jsxs)(`p`,{className:`m-0 text-[13px] text-neutral-500`,children:[`No app found with api_name`,` `,(0,k.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 py-0.5`,children:n}),`.`]})});let p=d?.__kizen_clean_config?{__kizen_clean_config:d.__kizen_clean_config}:{},m=f.artifacts.floating_frames.map(e=>({...e,plugin_api_name:f.api_name,args:p})),v=f.artifacts.toolbar_items.map(e=>({...e,plugin_api_name:f.api_name,args:p})),y=f.artifacts.js_action_templates.map(e=>({...e,plugin_api_name:f.api_name,args:p})),x=f.artifacts.object_settings_menu_items.map(e=>({...e,plugin_api_name:f.api_name,args:p})),S=f.artifacts.data_adornments.map(e=>({...e,plugin_api_name:f.api_name,args:p})),C=f.artifacts.routable_pages.map(e=>({...e,plugin_api_name:f.api_name,args:p})),w=f.artifacts.calendar_sources.map(e=>({...e,plugin_api_name:f.api_name,args:p})),ee=v.length>0||y.length>0||x.length>0||S.length>0,te=u?.enabled_plugin_apps.some(e=>e.api_name===f.api_name)??!1;return(0,k.jsxs)(k.Fragment,{children:[e&&(0,k.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,k.jsx)(`div`,{style:{paddingRight:m.length>0?Zd:0},children:(0,k.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,k.jsxs)(`div`,{className:`flex flex-col gap-6 xl:flex-row xl:items-start`,children:[ee&&(0,k.jsxs)(`div`,{className:`flex flex-col gap-4 xl:flex-1 xl:min-w-0`,children:[v.length>0&&(0,k.jsxs)(D,{children:[(0,k.jsxs)(`div`,{className:`mb-3`,children:[(0,k.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:`Toolbar Items`}),(0,k.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,k.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:v.map(e=>(0,k.jsx)(Fe,{item:e},e.api_name))})]}),y.length>0&&(0,k.jsxs)(D,{children:[(0,k.jsxs)(`div`,{className:`mb-3`,children:[(0,k.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:`JS Action Templates`}),(0,k.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,k.jsx)(De,{actions:y,pluginApiName:f.api_name,configArgs:p})]}),x.length>0&&(0,k.jsxs)(D,{children:[(0,k.jsxs)(`div`,{className:`mb-3`,children:[(0,k.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:`Object Settings Menu Items`}),(0,k.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,k.jsx)(Le,{items:x,pluginApiName:f.api_name,configArgs:p})]}),S.length>0&&(0,k.jsxs)(D,{children:[(0,k.jsxs)(`div`,{className:`mb-3`,children:[(0,k.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:`Data Adornments`}),(0,k.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,k.jsx)(ke,{adornments:S,pluginApiName:f.api_name,configArgs:p})]})]}),(0,k.jsxs)(`div`,{className:`min-w-0 flex-1 flex flex-col gap-4`,children:[(0,k.jsxs)(D,{children:[(0,k.jsxs)(`div`,{className:`mb-3`,children:[(0,k.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:`Routable Pages`}),(0,k.jsx)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:C.length>0?`Navigate between pages as they would appear when embedded in Kizen.`:`No routable pages are defined in this plugin.`})]}),(0,k.jsx)(Pe,{ref:t,pages:C})]}),w.length>0&&(0,k.jsxs)(D,{children:[(0,k.jsxs)(`div`,{className:`mb-3`,children:[(0,k.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-600`,children:`Calendar Sources`}),(0,k.jsxs)(`p`,{className:`mt-1 text-[12px] text-neutral-400`,children:[`Pick calendars from each source and navigate the grid to run its`,` `,(0,k.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 font-mono text-[11px]`,children:`calendars_script`}),` `,`and`,` `,(0,k.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 font-mono text-[11px]`,children:`events_script`}),`. Click an event to inspect the raw payload.`]})]}),te?(0,k.jsx)(Hd,{calendarSources:w,pluginApiName:f.api_name}):(0,k.jsx)(Qd,{})]})]})]}),(f.services?.length??0)>0&&(0,k.jsx)(Ye,{services:f.services??[],pluginApiName:f.api_name,isInstalled:te})]})}),m.length>0&&(0,k.jsxs)(`div`,{className:`pointer-events-none fixed inset-0`,children:[(0,k.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:r},children:[m.map(e=>(0,k.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,k.jsx)(`div`,{id:`${e.plugin_api_name}-${e.api_name}-trigger-left`}),(0,k.jsx)(`div`,{id:`${e.plugin_api_name}-${e.api_name}-trigger-right`})]},e.api_name)),(0,k.jsx)(`strong`,{className:`text-[9px] uppercase tracking-widest text-neutral-400`,children:`Frames`}),(0,k.jsxs)(`label`,{className:`flex flex-col items-center gap-0.5 cursor-pointer pointer-events-auto`,children:[(0,k.jsx)(`input`,{type:`checkbox`,className:`h-3 w-3 cursor-pointer accent-neutral-600`,checked:i,onChange:e=>{o(e.target.checked)}}),(0,k.jsxs)(`span`,{className:`text-[8px] uppercase tracking-widest text-neutral-400 text-center leading-tight`,children:[`enable`,(0,k.jsx)(`br`,{}),`frames`]})]})]}),m.map(e=>(0,k.jsx)(be,{frame:e,framesEnabled:i},e.api_name))]})]})},ef=()=>{let[e,t]=(0,O.useState)(null),[n,r]=(0,O.useState)(!1),[i,o]=(0,O.useState)(!1),s=(0,O.useRef)(null);(0,O.useEffect)(()=>{let e=window.open;return window.open=e=>(s.current?.openNewTab(String(e??``)),null),()=>{window.open=e}},[]),(0,O.useEffect)(()=>{if(!e)return;let n=setTimeout(()=>{t(null)},5e3);return()=>{clearTimeout(n)}},[e]);let{apiName:c}=h({strict:!1}),l=b(),u=v(),{environment:d}=le(),f=y[d],m=(0,O.useMemo)(()=>{if(!c)return[];let e=S(c);return e?.__kizen_clean_config?[{api_name:c,config:{__kizen_clean_config:e.__kizen_clean_config}}]:[]},[c]);return l?(0,k.jsx)(ee,{appPath:f,user:{id:l.team.user,crm_client_id:``},business:l.business,userConfigs:m,clientObject:l.business.client_object?{id:l.business.client_object.id,objectName:l.business.client_object.object_name}:void 0,teamMember:l.team,onNavigate:(e,t)=>{s.current?.navigate(e,t)},performFileUpload:({file:e,id:t,source:n,businessId:r,publicFile:i})=>(console.log(`File upload requested`,{file:e,id:t,source:n,businessId:r,publicFile:i}),new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{t({url:r.result})},r.onerror=n,r.readAsDataURL(e)})),monitoringExceptionHelper:()=>{},performRequest:async(e,t,n,r)=>{let i=n?.headers,a=r instanceof FormData||r instanceof Blob,o=r!=null&&!a?{"Content-Type":`application/json`,...i}:i,s=await u(t,{method:e.toUpperCase(),...r!=null&&{body:a?r:JSON.stringify(r)},...o!=null&&{headers:o}});return s.status===204||s.headers.get(`content-length`)===`0`?{data:{}}:{data:await s.json()}},modal:{showing:n,show:i,showPrompt:()=>{r(!0),o(!0)},onConfirm:()=>{r(!1),o(!1)},onHide:()=>{r(!1),o(!1)}},showToast:({message:e,variant:n})=>{t({message:e,variant:n??`success`})},clearToasts:()=>{t(null)},children:({showPluginModal:t,derivedModalState:n,pluginApiName:r})=>(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)($d,{showingToast:e,browserRef:s}),(0,k.jsx)(Xd,{show:t,config:n.config,pluginApiName:r,onConfirm:n.props.onConfirm,onHide:n.props.onHide})]})}):(0,k.jsx)(p,{icon:a,className:`animate-spin text-neutral-400`,size:`2x`})};export{ef as SandboxPage};
|