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