ape-calendar 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var ea=Object.create;var Ce=Object.defineProperty;var ta=Object.getOwnPropertyDescriptor;var aa=Object.getOwnPropertyNames;var oa=Object.getPrototypeOf,na=Object.prototype.hasOwnProperty;var sa=(e,t)=>{for(var a in t)Ce(e,a,{get:t[a],enumerable:!0})},Xe=(e,t,a,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of aa(t))!na.call(e,n)&&n!==a&&Ce(e,n,{get:()=>t[n],enumerable:!(o=ta(t,n))||o.enumerable});return e};var _=(e,t,a)=>(a=e!=null?ea(oa(e)):{},Xe(t||!e||!e.__esModule?Ce(a,"default",{value:e,enumerable:!0}):a,e)),ra=e=>Xe(Ce({},"__esModule",{value:!0}),e);var Na={};sa(Na,{APE_CALENDAR_ROOT_CLASS:()=>O,Button:()=>ee,CalendarToolbar:()=>At,DayEventDot:()=>ke,EmptyEventsState:()=>Pe,EventAgendaList:()=>Ne,EventBlockContent:()=>Ae,EventChipMonth:()=>we,EventChipPopover:()=>Me,EventListRow:()=>xe,EventStatusBadge:()=>Z,EventTypeChip:()=>It,EventTypeFilterList:()=>wt,MacroCalendar:()=>Ct,MiniMonthCalendar:()=>_t,MoreEventsPopover:()=>Te,Popover:()=>U,PopoverAnchor:()=>de,PopoverClose:()=>ct,PopoverContent:()=>$,PopoverPortal:()=>lt,PopoverTrigger:()=>ce,Select:()=>Fe,SlotContextActions:()=>Bt,StatusFilterSelect:()=>Lt,formatDurationLabel:()=>Ze,formatHourLabel:()=>A,getEventDayKeys:()=>Qe,getEventDayStatuses:()=>Je,getWeekRange:()=>K,isSameDay:()=>Ee,mapAvailabilityToBackgroundEvents:()=>be,mapAvailabilityToBusinessHours:()=>je,mapEventToCalendarInput:()=>Se,shiftDate:()=>De,toDayKey:()=>V,useCalendarController:()=>zt});module.exports=ra(Na);var P=require("react"),mt=_(require("@fullcalendar/react"),1),ut=_(require("@fullcalendar/daygrid"),1),vt=_(require("@fullcalendar/timegrid"),1),gt=_(require("@fullcalendar/interaction"),1),yt=_(require("@fullcalendar/core/locales/es"),1),Et=require("motion/react"),ft=require("lucide-react"),ht=_(require("clsx"),1);var V=e=>{let t=e.getFullYear(),a=`${e.getMonth()+1}`.padStart(2,"0"),o=`${e.getDate()}`.padStart(2,"0");return`${t}-${a}-${o}`},Ee=(e,t)=>V(e)===V(t),Qe=e=>new Set(e.map(t=>V(t.startDate))),Je=e=>e.reduce((t,a)=>{if(!a.status)return t;let o=V(a.startDate),n=t.get(o)??[];return n.includes(a.status)||t.set(o,[...n,a.status]),t},new Map),Se=e=>({id:e.id,title:e.title,start:e.startAt,end:e.endAt,allDay:e.isAllDay??!1,extendedProps:{status:e.status,location:e.location,description:e.description,durationMinutes:e.durationMinutes}}),A=(e,t="es-CO",a={hour:"2-digit",minute:"2-digit",hour12:!1})=>e.toLocaleTimeString(t,a),Ze=(e,t={})=>{let a=t.min??"min",o=t.h??"h";if(e<60)return`${e} ${a}`;let n=Math.floor(e/60),r=e%60;return r===0?`${n} ${o}`:`${n} ${o} ${r} ${a}`},je=e=>e.map(t=>({daysOfWeek:t.daysOfWeek,startTime:t.startTime,endTime:t.endTime})),be=e=>e.map((t,a)=>({id:`cal-availability-${a}`,daysOfWeek:t.daysOfWeek,startTime:t.startTime,endTime:t.endTime,display:"background",classNames:["cal-availability-band"],editable:!1})),K=(e,t=1)=>{let a=new Date(e);a.setHours(0,0,0,0);let o=(a.getDay()-t+7)%7;a.setDate(a.getDate()-o);let n=new Date(a);return n.setDate(n.getDate()+7),{start:a,end:n}},De=(e,t,a)=>{if(a==="today")return new Date;let o=new Date(e),n=a==="next"?1:-1;switch(t){case"month":o.setMonth(o.getMonth()+n);break;case"week":case"list":o.setDate(o.getDate()+n*7);break;case"day":o.setDate(o.getDate()+n);break}return o};var O="ape-calendar";var Q=require("react");var at=require("react/jsx-runtime"),et=(0,Q.createContext)(null),tt=()=>(0,Q.useContext)(et);function _e({children:e}){let[t,a]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{if(typeof document>"u")return;let o=document.createElement("div");return o.className=O,o.dataset.apeCalendarPortalRoot="true",document.body.appendChild(o),a(o),()=>{o.parentNode&&o.parentNode.removeChild(o)}},[]),(0,at.jsx)(et.Provider,{value:t,children:e})}var ie=require("react"),$e=_(require("clsx"),1);var ot=require("lucide-react"),nt=_(require("clsx"),1),oe=require("react/jsx-runtime"),Pe=({title:e="No events to display",description:t="Adjust filters or create a new event to populate the calendar.",icon:a,className:o})=>(0,oe.jsxs)("div",{className:(0,nt.default)("cal-empty-state",o),children:[(0,oe.jsx)("span",{className:"cal-empty-state__icon","aria-hidden":!0,children:a??(0,oe.jsx)(ot.CalendarDays,{size:20})}),(0,oe.jsx)("p",{className:"cal-empty-state__title",children:e}),(0,oe.jsx)("p",{className:"cal-empty-state__description",children:t})]});var re=require("lucide-react");var J=require("lucide-react"),st=_(require("clsx"),1),q=require("react/jsx-runtime"),ia={draft:(0,q.jsx)("span",{className:"cal-status-badge__dot","data-status":"draft"}),published:(0,q.jsx)(J.Rocket,{size:11,"aria-hidden":!0}),scheduled:(0,q.jsx)(J.CalendarClock,{size:11,"aria-hidden":!0}),archived:(0,q.jsx)("span",{className:"cal-status-badge__dot","data-status":"archived"}),cancelled:(0,q.jsx)(J.Ban,{size:11,"aria-hidden":!0}),finalizado:(0,q.jsx)(J.CircleCheck,{size:11,"aria-hidden":!0})},la=e=>e.charAt(0).toUpperCase()+e.slice(1),Z=({status:e,labels:t,icons:a,className:o})=>{let n=t?.[e]??la(e),r=a?.[e]??ia[e];return(0,q.jsxs)("span",{className:(0,st.default)("cal-status-badge",o),"data-status":e,children:[r,n]})};var M=require("react/jsx-runtime"),ca={edit:e=>`Edit event ${e}`,delete:e=>`Delete event ${e}`},xe=({event:e,onEdit:t,onDelete:a,locale:o="es-CO",statusLabels:n,renderEventMeta:r,messages:i})=>{let d={...ca,...i},l=e.status??"";return(0,M.jsxs)("div",{className:"cal-list-row","data-status":l,children:[(0,M.jsxs)("span",{className:"cal-list-row__time-chip","aria-label":"event time",children:[(0,M.jsx)(re.Clock,{size:12,"aria-hidden":!0}),(0,M.jsxs)("span",{children:[A(e.startDate,o)," - ",A(e.endDate,o)]})]}),(0,M.jsxs)("div",{className:"cal-list-row__body",children:[(0,M.jsx)("p",{className:"cal-list-row__title",children:e.title}),r&&(0,M.jsx)("div",{className:"cal-list-row__meta",children:r(e)})]}),(0,M.jsxs)("div",{className:"cal-list-row__aside",children:[e.status&&(0,M.jsx)(Z,{status:e.status,labels:n}),(0,M.jsxs)("div",{className:"cal-list-row__actions",children:[(0,M.jsx)("button",{type:"button","aria-label":d.edit(e.title),onClick:p=>{p.stopPropagation(),t(e)},className:"cal-list-row__action-button",children:(0,M.jsx)(re.SquarePen,{size:13})}),(0,M.jsx)("button",{type:"button","aria-label":d.delete(e.title),onClick:p=>{p.stopPropagation(),a(e)},className:"cal-list-row__action-button cal-list-row__action-button--danger",children:(0,M.jsx)(re.Trash2,{size:13})})]})]})]})};var w=require("react/jsx-runtime"),da={noEvents:"No events to display",noEventsForDay:"No events"},pa=e=>{let t=[],a=new Date(e.start);a.setHours(0,0,0,0);let o=new Date(e.end);for(o.setHours(0,0,0,0);a<o;)t.push(new Date(a)),a.setDate(a.getDate()+1);return t},Ne=({events:e,range:t,locale:a="es-CO",statusLabels:o,renderEventMeta:n,renderDayHeader:r,onEditEvent:i,onDeleteEvent:d,messages:l,className:p})=>{let h=(0,ie.useMemo)(()=>pa(t),[t]),c=(0,ie.useMemo)(()=>{let y=new Map;for(let v of e){let b=V(v.startDate),F=y.get(b)??[];F.push(v),y.set(b,F)}for(let v of y.values())v.sort((b,F)=>b.startDate.getTime()-F.startDate.getTime());return y},[e]),D=(0,ie.useMemo)(()=>new Intl.DateTimeFormat(a,{day:"2-digit"}),[a]),m=(0,ie.useMemo)(()=>new Intl.DateTimeFormat(a,{month:"short"}),[a]),x=(0,ie.useMemo)(()=>new Intl.DateTimeFormat(a,{weekday:"short"}),[a]),N={...da,...l};return e.length===0&&!r?(0,w.jsx)("div",{className:(0,$e.default)(O,"cal-agenda",p),children:(0,w.jsx)(Pe,{title:N.noEvents})}):(0,w.jsx)("div",{className:(0,$e.default)(O,"cal-agenda",p),children:h.map(y=>{let v=V(y),b=c.get(v)??[],F=b.length>0,Y=r?.(y,{hasEvents:F,events:b});return!F&&!Y?null:(0,w.jsxs)("section",{className:"cal-agenda-day",children:[(0,w.jsxs)("aside",{className:"cal-agenda-day__anchor",children:[(0,w.jsx)("span",{className:"cal-agenda-day__month",children:m.format(y).replace(".","")}),(0,w.jsx)("span",{className:"cal-agenda-day__number",children:D.format(y)}),(0,w.jsx)("span",{className:"cal-agenda-day__weekday",children:x.format(y).replace(".","")})]}),(0,w.jsxs)("div",{className:"cal-agenda-day__body",children:[Y&&(0,w.jsx)("div",{className:"cal-agenda-day__header",children:Y}),F?(0,w.jsx)("ul",{className:"cal-agenda-day__events",children:b.map(g=>(0,w.jsx)("li",{className:"cal-agenda-day__event-item",children:(0,w.jsx)(xe,{event:g,onEdit:i,onDelete:d,locale:a,statusLabels:o,renderEventMeta:n,messages:l})},g.id))}):(0,w.jsx)("p",{className:"cal-agenda-day__empty",children:N.noEventsForDay})]})]},v)})})};var le=require("lucide-react");var R=require("react/jsx-runtime"),ma={edit:e=>`Edit event ${e}`,delete:e=>`Delete event ${e}`},Ae=({event:e,onEdit:t,onDelete:a,locale:o="es-CO",statusLabels:n,messages:r})=>{let i={...ma,...r},d=e.status??"";return(0,R.jsxs)("article",{className:"cal-event-block","data-status":d,children:[(0,R.jsx)("div",{className:"cal-event-block__header",children:e.status&&(0,R.jsx)(Z,{status:e.status,labels:n})}),(0,R.jsx)("p",{className:"cal-event-block__title",children:e.title}),(0,R.jsxs)("p",{className:"cal-event-block__time",children:[(0,R.jsx)(le.Clock,{size:10,"aria-hidden":!0}),(0,R.jsxs)("span",{children:[A(e.startDate,o)," - ",A(e.endDate,o)]})]}),(0,R.jsxs)("div",{className:"cal-event-block__actions",children:[(0,R.jsx)("button",{type:"button","aria-label":i.edit(e.title),onClick:l=>{l.stopPropagation(),t(e)},className:"cal-event-block__action-button",children:(0,R.jsx)(le.SquarePen,{size:11})}),(0,R.jsx)("button",{type:"button","aria-label":i.delete(e.title),onClick:l=>{l.stopPropagation(),a(e)},className:"cal-event-block__action-button cal-event-block__action-button--danger",children:(0,R.jsx)(le.Trash2,{size:11})})]})]})};var j=require("lucide-react");var I=_(require("@radix-ui/react-popover"),1),rt=require("react"),it=_(require("clsx"),1);var Ue=require("react/jsx-runtime"),U=I.Root,ce=I.Trigger,de=I.Anchor,lt=I.Portal,ct=I.Close,$=(0,rt.forwardRef)(({className:e,align:t="center",sideOffset:a=4,...o},n)=>{let r=tt();return(0,Ue.jsx)(I.Portal,{container:r??void 0,children:(0,Ue.jsx)(I.Content,{ref:n,align:t,sideOffset:a,className:(0,it.default)("cal-popover-content",e),...o})})});$.displayName="PopoverContent";var E=require("react/jsx-runtime"),ua={weekday:"long",day:"2-digit",month:"long"},va={edit:"Edit",delete:"Delete",editAria:e=>`Edit event ${e}`,deleteAria:e=>`Delete event ${e}`},Me=({event:e,onEdit:t,onDelete:a,children:o,locale:n="es-CO",statusLabels:r,renderEventMeta:i,messages:d,dayHeaderOptions:l})=>{let p={...va,...d},c=new Intl.DateTimeFormat(n,l??ua).format(e.startDate),D=`${A(e.startDate,n)} \u2013 ${A(e.endDate,n)}`;return(0,E.jsxs)(U,{children:[(0,E.jsx)(ce,{asChild:!0,children:o}),(0,E.jsxs)($,{align:"start",sideOffset:6,collisionPadding:12,className:"cal-chip-popover",onClick:m=>m.stopPropagation(),children:[(0,E.jsxs)("header",{className:"cal-chip-popover__header",children:[(0,E.jsxs)("div",{className:"cal-chip-popover__header-info",children:[(0,E.jsx)("p",{className:"cal-chip-popover__day",children:c}),(0,E.jsx)("h3",{className:"cal-chip-popover__title",children:e.title})]}),e.status&&(0,E.jsx)(Z,{status:e.status,labels:r})]}),(0,E.jsxs)("dl",{className:"cal-chip-popover__meta",children:[(0,E.jsxs)("div",{className:"cal-chip-popover__meta-row",children:[(0,E.jsx)(j.Clock,{size:12,"aria-hidden":!0}),(0,E.jsx)("span",{children:D})]}),i&&(0,E.jsx)("div",{className:"cal-chip-popover__meta-row cal-chip-popover__meta-row--wrap",children:i(e)}),e.location&&(0,E.jsxs)("div",{className:"cal-chip-popover__meta-row cal-chip-popover__meta-row--start",children:[(0,E.jsx)(j.MapPin,{size:12,"aria-hidden":!0}),(0,E.jsx)("span",{className:"cal-chip-popover__clamp-2",children:e.location})]})]}),e.description&&(0,E.jsx)("p",{className:"cal-chip-popover__description",children:e.description}),(0,E.jsxs)("footer",{className:"cal-chip-popover__footer",children:[(0,E.jsxs)("button",{type:"button","aria-label":p.editAria(e.title),onClick:m=>{m.stopPropagation(),t(e)},className:"cal-chip-popover__action",children:[(0,E.jsx)(j.SquarePen,{size:12}),p.edit]}),(0,E.jsxs)("button",{type:"button","aria-label":p.deleteAria(e.title),onClick:m=>{m.stopPropagation(),a(e)},className:"cal-chip-popover__action cal-chip-popover__action--danger",children:[(0,E.jsx)(j.Trash2,{size:12}),p.delete]})]})]})]})};var ne=require("react/jsx-runtime"),we=({event:e,onEdit:t,onDelete:a,locale:o="es-CO",statusLabels:n,renderEventMeta:r,messages:i,triggerAria:d=l=>`Show event details ${l}`})=>{let l=A(e.startDate,o),p=e.status??"";return(0,ne.jsx)(Me,{event:e,onEdit:t,onDelete:a,locale:o,statusLabels:n,renderEventMeta:r,messages:i,children:(0,ne.jsxs)("button",{type:"button","aria-label":d(e.title),onClick:h=>h.stopPropagation(),className:"cal-chip-month","data-status":p,children:[(0,ne.jsx)("span",{className:"cal-chip-month__dot","aria-hidden":!0}),(0,ne.jsx)("span",{className:"cal-chip-month__time",children:l}),(0,ne.jsx)("span",{className:"cal-chip-month__title",children:e.title})]})})};var dt=require("react"),pe=require("lucide-react");var S=require("react/jsx-runtime"),ga={weekday:"long",day:"2-digit",month:"long"},ya={header:e=>`${e} events in this slot`,editAria:e=>`Edit event ${e}`,deleteAria:e=>`Delete event ${e}`},Ea=({events:e,anchor:t,open:a,onOpenChange:o,onEdit:n,onDelete:r,locale:i="es-CO",messages:d,dayHeaderOptions:l})=>{let p=(0,dt.useMemo)(()=>({current:t}),[t]),h={...ya,...d},D=new Intl.DateTimeFormat(i,l??ga).format(e[0].startDate);return(0,S.jsxs)(U,{open:a,onOpenChange:o,children:[(0,S.jsx)(de,{virtualRef:p}),(0,S.jsxs)($,{align:"start",sideOffset:6,collisionPadding:12,className:"cal-more-popover",onClick:m=>m.stopPropagation(),children:[(0,S.jsxs)("header",{className:"cal-more-popover__header",children:[(0,S.jsx)("p",{className:"cal-more-popover__day",children:D}),(0,S.jsx)("h3",{className:"cal-more-popover__title",children:h.header(e.length)})]}),(0,S.jsx)("ul",{className:"cal-more-popover__list",children:e.map(m=>(0,S.jsxs)("li",{className:"cal-more-popover__item",children:[(0,S.jsx)("span",{className:"cal-more-popover__dot","data-status":m.status??"","aria-hidden":!0}),(0,S.jsxs)("div",{className:"cal-more-popover__item-body",children:[(0,S.jsx)("p",{className:"cal-more-popover__item-title",children:m.title}),(0,S.jsxs)("p",{className:"cal-more-popover__item-time",children:[(0,S.jsx)(pe.Clock,{size:10,"aria-hidden":!0}),A(m.startDate,i)," \u2013"," ",A(m.endDate,i)]})]}),(0,S.jsxs)("div",{className:"cal-more-popover__item-actions",children:[(0,S.jsx)("button",{type:"button","aria-label":h.editAria(m.title),onClick:x=>{x.stopPropagation(),o(!1),n(m)},className:"cal-more-popover__action",children:(0,S.jsx)(pe.SquarePen,{size:12})}),(0,S.jsx)("button",{type:"button","aria-label":h.deleteAria(m.title),onClick:x=>{x.stopPropagation(),o(!1),r(m)},className:"cal-more-popover__action cal-more-popover__action--danger",children:(0,S.jsx)(pe.Trash2,{size:12})})]})]},m.id))})]})]})},Te=e=>!e.anchor||e.events.length===0?null:(0,S.jsx)(Ea,{...e,anchor:e.anchor});var T=require("react/jsx-runtime"),pt={day:"timeGridDay",week:"timeGridWeek",month:"dayGridMonth"},fa=220,ha={moreLink:e=>`+${e} more`,allDayText:"All day",todayHeaderAria:"Today",noEvents:"No events to display"},Ct=({events:e,activeView:t,selectedDate:a,highlightEventIds:o=[],onDeleteEvent:n,onEditEvent:r,onEventTimeChange:i,onDateClick:d,onDateSelected:l,onVisibleRangeChange:p,onSwitchToDay:h,locale:c="es-CO",fullCalendarLocale:D=yt.default,firstDay:m=1,availability:x,statusLabels:N,renderEventMeta:y,renderDayHeader:v,renderAgendaDayHeader:b,messages:F,immutableStatuses:ge,eventAllow:Y,height:g="100%",highlightDurationMs:G=650,slotDuration:W="00:30:00",snapDuration:Oe="00:15:00",className:Ie})=>{let Ke=(0,P.useRef)(null),ze=(0,P.useRef)(null),qe=(0,P.useRef)(!0),[Ve,He]=(0,P.useState)(null),Ye=(0,Et.useReducedMotion)(),se=(0,P.useMemo)(()=>({...ha,...F}),[F]),Vt=s=>typeof se.moreLink=="function"?se.moreLink(s):se.moreLink.replace("{count}",String(s)),Ht=(0,P.useMemo)(()=>new Set(o),[o]),ye=(0,P.useMemo)(()=>new Map(e.map(s=>[s.id,s])),[e]),$t=(0,P.useMemo)(()=>{let s=e.map(Se);return x&&(t==="week"||t==="day")?[...s,...be(x)]:s},[e,x,t]),Ut=(0,P.useMemo)(()=>new Intl.DateTimeFormat(c,{weekday:"short"}),[c]),Gt=(0,P.useMemo)(()=>new Set(ge??["archived"]),[ge]);(0,P.useEffect)(()=>{if(He(null),t==="list")return;let s=Ke.current?.getApi();if(!s)return;let u=!1;return queueMicrotask(()=>{if(u)return;let C=pt[t];s.view.type!==C&&s.changeView(C),s.getDate().toDateString()!==a.toDateString()&&s.gotoDate(a)}),()=>{u=!0}},[t,a]);let he=(0,P.useMemo)(()=>K(a,m),[a,m]);(0,P.useEffect)(()=>{t==="list"&&p(he.start,he.end)},[t,he]),(0,P.useEffect)(()=>{if(qe.current){qe.current=!1;return}Ye||!ze.current||ze.current.animate([{opacity:.88,transform:"translateY(5px)"},{opacity:1,transform:"translateY(0)"}],{duration:fa,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"both"})},[t,Ye]);let Wt=s=>p(s.start,s.end),Kt=s=>{l(s.date),d(s.date,{x:s.jsEvent.clientX,y:s.jsEvent.clientY})},qt=s=>{let u=s.jsEvent?{x:s.jsEvent.clientX,y:s.jsEvent.clientY}:{x:window.innerWidth/2,y:window.innerHeight/2};l(s.start),d(s.start,u)},Yt=s=>{let u=ye.get(s.event.id);return u?s.view.type==="dayGridMonth"||s.event.allDay?(0,T.jsx)(we,{event:u,onEdit:r,onDelete:n,locale:c,statusLabels:N,renderEventMeta:y}):(0,T.jsx)(Ae,{event:u,onEdit:r,onDelete:n,locale:c,statusLabels:N}):(0,T.jsx)("p",{className:"cal-event-fallback",children:s.event.title})},Xt=s=>{Ht.has(s.event.id)&&(s.el.style.setProperty("--cal-highlight-duration",`${G}ms`),s.el.classList.add("cal-event-highlight-enter"),window.setTimeout(()=>s.el.classList.remove("cal-event-highlight-enter"),G))},Qt=(s,u,C)=>{if(C)return C.toISOString();let L=new Date(u),X=s.durationMinutes??60;return L.setMinutes(L.getMinutes()+X),L.toISOString()},Jt=s=>{let u=ye.get(s.event.id),C=s.event.start;if(!u||!C){s.revert();return}i({event:u,startAt:C.toISOString(),endAt:Qt(u,C,s.event.end),revert:s.revert})},Zt=s=>{let u=ye.get(s.event.id),C=s.event.start,L=s.event.end;if(!u||!C||!L){s.revert();return}if(L<=C){s.revert();return}i({event:u,startAt:C.toISOString(),endAt:L.toISOString(),revert:s.revert})},jt=({date:s,isToday:u})=>{if(v)return v(s,{isToday:u});let C=Ut.format(s).replace(".","");return(0,T.jsxs)("div",{className:"cal-day-header",children:[(0,T.jsx)("span",{className:"cal-day-header__number","data-today":u,"aria-label":u?se.todayHeaderAria:void 0,children:s.getDate()}),(0,T.jsx)("span",{className:"cal-day-header__weekday",children:C})]})};return(0,T.jsx)(_e,{children:(0,T.jsx)("div",{className:(0,ht.default)(O,"cal-macro-root",Ie),children:(0,T.jsxs)("div",{ref:ze,className:"cal-macro-surface",children:[(0,T.jsx)(ft.CalendarDays,{className:"cal-macro-corner-icon",size:20,"aria-hidden":!0}),t==="list"?(0,T.jsx)(Ne,{events:e,range:he,locale:c,statusLabels:N,renderEventMeta:y,renderDayHeader:b,onEditEvent:r,onDeleteEvent:n,messages:{noEvents:se.noEvents}}):(0,T.jsx)(mt.default,{ref:Ke,plugins:[ut.default,vt.default,gt.default],locale:D,initialView:pt[t],height:g,expandRows:!0,firstDay:m,allDaySlot:!1,allDayText:se.allDayText,selectable:!0,selectMirror:!0,editable:!0,eventStartEditable:!0,eventDurationEditable:!0,eventResizableFromStart:!0,dayMaxEvents:!0,eventMaxStack:3,moreLinkContent:s=>(0,T.jsx)("span",{className:"cal-more-link",children:Vt(s.num)}),moreLinkClick:s=>{if(s.view.type==="dayGridMonth")return h(s.date),"none";let u=s.allSegs.map(X=>ye.get(X.event.id)).filter(X=>!!X),C=s.jsEvent.target,L=C instanceof Element?C.closest(".fc-more-link"):null;return L&&u.length>0&&He({events:u,anchor:L}),"none"},nowIndicator:!0,slotDuration:W,snapDuration:Oe,slotLabelInterval:"01:00:00",slotLabelFormat:{hour:"2-digit",minute:"2-digit",hour12:!1},slotMinTime:"00:00:00",slotMaxTime:"24:00:00",slotEventOverlap:!1,eventMinHeight:28,eventShortHeight:48,headerToolbar:!1,events:$t,eventDrop:Jt,eventResize:Zt,eventDidMount:Xt,dragScroll:!0,eventDragMinDistance:8,dragRevertDuration:420,longPressDelay:380,selectLongPressDelay:380,eventAllow:(s,u)=>{if(!u)return!1;let C=u.extendedProps.status,L=typeof C=="string"?!Gt.has(C):!0;if(!L||!Y)return L;let X=ye.get(u.id);return X?Y(X,s.startStr,s.endStr):!0},datesSet:Wt,dateClick:Kt,select:qt,dayHeaderContent:jt,eventContent:Yt}),(0,T.jsx)(Te,{events:Ve?.events??[],anchor:Ve?.anchor??null,open:!!Ve,onOpenChange:s=>{s||He(null)},onEdit:r,onDelete:n,locale:c})]})})})};var We=require("react"),St=require("react-day-picker"),bt=require("react-day-picker/locale"),Le=require("lucide-react"),Dt=_(require("clsx"),1);var Ge=_(require("clsx"),1),me=require("react/jsx-runtime"),ke=({statuses:e,isSelected:t=!1,statusColors:a,className:o,maxDots:n=2})=>e.length===0&&!t?(0,me.jsx)("span",{className:(0,Ge.default)("cal-day-dot-empty",o),"aria-hidden":!0}):(0,me.jsxs)("span",{className:(0,Ge.default)("cal-day-dot-row",o),"aria-hidden":!0,children:[t&&(0,me.jsx)("span",{className:"cal-day-dot cal-day-dot--selected"}),e.slice(0,n).map(r=>{let i=a?.[r];return(0,me.jsx)("span",{className:"cal-day-dot","data-status":r,style:i?{backgroundColor:i}:void 0},r)})]});var B=require("react/jsx-runtime"),Ca={previousMonth:"Previous month",nextMonth:"Next month"},_t=({selectedDate:e,visibleMonth:t,eventDayStatuses:a,onSelectDate:o,onMonthChange:n,locale:r="es-CO",pickerLocale:i=bt.es,messages:d,statusColors:l,variant:p="card",highlightWeekOf:h,firstDay:c=1,showOutsideDays:D=!1,className:m})=>{let x={...Ca,...d},N=(0,We.useMemo)(()=>{if(!h)return;let{start:g,end:G}=K(h,c),W=new Date(G);return W.setDate(W.getDate()-1),{start:g,last:W}},[h,c]),{monthNameFormat:y,yearFormat:v,weekdayFormat:b}=(0,We.useMemo)(()=>({monthNameFormat:new Intl.DateTimeFormat(r,{month:"long"}),yearFormat:new Intl.DateTimeFormat(r,{year:"numeric"}),weekdayFormat:new Intl.DateTimeFormat(r,{weekday:"short"})}),[r]),F=g=>{let G=y.format(g);return`${G.charAt(0).toUpperCase()+G.slice(1)} ${v.format(g)}`},ge=()=>{let g=new Date(t);g.setMonth(g.getMonth()-1),n(g)},Y=()=>{let g=new Date(t);g.setMonth(g.getMonth()+1),n(g)};return(0,B.jsx)(_e,{children:(0,B.jsxs)("div",{className:(0,Dt.default)(O,"cal-mini-root",m),"data-variant":p,children:[(0,B.jsxs)("div",{className:"cal-mini-header",children:[(0,B.jsx)("button",{type:"button","aria-label":x.previousMonth,onClick:ge,className:"cal-mini-nav-button",children:(0,B.jsx)(Le.ChevronLeft,{size:14,"aria-hidden":!0})}),(0,B.jsx)("h2",{className:"cal-mini-caption",children:F(t)}),(0,B.jsx)("button",{type:"button","aria-label":x.nextMonth,onClick:Y,className:"cal-mini-nav-button",children:(0,B.jsx)(Le.ChevronRight,{size:14,"aria-hidden":!0})})]}),(0,B.jsx)(St.DayPicker,{mode:"single",locale:i,selected:e,month:t,onMonthChange:n,formatters:{formatWeekdayName:g=>b.format(g).charAt(0).toUpperCase()},onSelect:g=>{g&&o(g)},hideNavigation:!0,captionLayout:"label",showOutsideDays:D,modifiers:N?{"in-week":{from:N.start,to:N.last},"week-start":N.start,"week-end":N.last}:void 0,modifiersClassNames:{"in-week":"cal-mini-day--in-week","week-start":"cal-mini-day--week-start","week-end":"cal-mini-day--week-end"},className:"cal-mini-grid",classNames:{months:"cal-mini-months",month:"cal-mini-month",month_caption:"cal-mini-month-caption",caption_label:"cal-mini-caption-label",month_grid:"cal-mini-month-grid",weekdays:"cal-mini-weekdays",weekday:"cal-mini-weekday",week:"cal-mini-week",day:"cal-mini-day",day_button:"cal-mini-day-button",outside:"cal-mini-day--outside",today:"cal-mini-day--today"},components:{DayButton:({day:g,...G})=>{let W=V(g.date),Oe=a.get(W)??[],Ie=V(e)===W;return(0,B.jsxs)("button",{...G,children:[(0,B.jsx)("span",{children:g.date.getDate()}),(0,B.jsx)(ke,{statuses:Oe,isSelected:Ie,statusColors:l})]})}}})]})})};var Re=require("motion/react"),z=require("lucide-react"),Nt=_(require("clsx"),1);var Pt=require("react"),xt=_(require("clsx"),1),ue=require("react/jsx-runtime"),ee=(0,Pt.forwardRef)(({variant:e="primary",size:t="md",rounded:a="md",leftIcon:o,rightIcon:n,className:r,children:i,type:d="button",...l},p)=>(0,ue.jsxs)("button",{ref:p,type:d,"data-variant":e,"data-size":t,"data-rounded":a,className:(0,xt.default)("cal-button",r),...l,children:[o&&(0,ue.jsx)("span",{className:"cal-button__icon",children:o}),i&&(0,ue.jsx)("span",{className:"cal-button__label",children:i}),n&&(0,ue.jsx)("span",{className:"cal-button__icon",children:n})]}));ee.displayName="Button";var f=require("react/jsx-runtime"),Sa={list:"List",day:"Day",week:"Week",month:"Month"},ba={list:(0,f.jsx)(z.List,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0}),day:(0,f.jsx)(z.CalendarDays,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0}),week:(0,f.jsx)(z.Columns3,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0}),month:(0,f.jsx)(z.LayoutGrid,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0})},fe={groupAriaLabel:"Calendar view",newEvent:"New event",today:"Today",previous:"Previous",next:"Next"},Da=["month","week","list"],_a=(e,t)=>e===t||e==="week"&&t==="day",At=({activeView:e,onChangeView:t,views:a=Da,onNavigate:o,todayActive:n=!1,periodLabel:r,filtersSlot:i,onNewEvent:d,messages:l,className:p})=>{let h={...Sa,...l?.views},c=l?.groupAriaLabel??fe.groupAriaLabel,D=l?.newEvent??fe.newEvent,m=l?.today??fe.today,x=l?.previous??fe.previous,N=l?.next??fe.next;return(0,f.jsxs)("div",{className:(0,Nt.default)(O,"cal-toolbar",p),children:[o&&(0,f.jsxs)("div",{className:"cal-toolbar__nav",children:[(0,f.jsx)(ee,{variant:"outline",size:"sm",rounded:"full","data-active":n,"aria-pressed":n,onClick:()=>o("today"),children:m}),(0,f.jsx)("button",{type:"button",className:"cal-toolbar__nav-button","aria-label":x,onClick:()=>o("prev"),children:(0,f.jsx)(z.ChevronLeft,{size:18,"aria-hidden":!0})}),(0,f.jsx)("button",{type:"button",className:"cal-toolbar__nav-button","aria-label":N,onClick:()=>o("next"),children:(0,f.jsx)(z.ChevronRight,{size:18,"aria-hidden":!0})}),r&&(0,f.jsx)("span",{className:"cal-toolbar__period",children:r})]}),i&&(0,f.jsx)("div",{className:"cal-toolbar__filters",children:i}),(0,f.jsx)(Re.LayoutGroup,{id:"cal-toolbar-view-tabs",children:(0,f.jsx)("div",{className:"cal-toolbar__tabs",role:"group","aria-label":c,children:a.map(y=>{let v=_a(y,e);return(0,f.jsxs)("button",{type:"button",onClick:()=>t(y),className:"cal-toolbar__tab","data-active":v,"aria-label":h[y],"aria-pressed":v,title:h[y],children:[v&&(0,f.jsx)(Re.motion.span,{layoutId:"cal-toolbar-indicator",className:"cal-toolbar__indicator",transition:{type:"spring",stiffness:380,damping:34}}),(0,f.jsx)("span",{className:"cal-toolbar__tab-label",children:ba[y]})]},y)})})}),d&&(0,f.jsx)(ee,{variant:"primary",size:"md",rounded:"full",onClick:d,leftIcon:(0,f.jsx)(z.CalendarDays,{size:18,"aria-hidden":!0}),children:D})]})};var Mt=_(require("clsx"),1),te=require("react/jsx-runtime"),wt=({items:e,selectedIds:t,onToggle:a,className:o})=>{let n=new Set(t);return(0,te.jsx)("div",{className:(0,Mt.default)("cal-type-filter",o),role:"group",children:e.map(r=>{let i=n.has(r.id);return(0,te.jsxs)("button",{type:"button",className:"cal-type-filter__item","data-selected":i,"aria-pressed":i,onClick:()=>a(r.id),children:[r.icon?(0,te.jsx)("span",{className:"cal-type-filter__icon",children:r.icon}):(0,te.jsx)("span",{className:"cal-type-filter__dot",style:r.color?{backgroundColor:r.color}:void 0}),(0,te.jsx)("span",{className:"cal-type-filter__label",children:r.label}),typeof r.count=="number"&&(0,te.jsx)("span",{className:"cal-type-filter__count",children:r.count})]},r.id)})})};var Tt=require("react"),Be=require("lucide-react"),kt=_(require("clsx"),1);var k=require("react/jsx-runtime"),Fe=e=>{let{placeholder:t,options:a,align:o="start",className:n}=e,[r,i]=(0,Tt.useState)(!1),d=e.multiple?new Set(e.value):new Set(e.value?[e.value]:[]),l=d.size,p=!e.multiple&&e.value?a.find(c=>c.value===e.value)?.label:void 0,h=c=>{if(e.multiple){e.onToggle(c);return}let D=e.clearable!==!1&&e.value===c?null:c;e.onChange(D),i(!1)};return(0,k.jsxs)(U,{open:r,onOpenChange:i,children:[(0,k.jsx)(ce,{asChild:!0,children:(0,k.jsxs)("button",{type:"button",className:(0,kt.default)("cal-select__trigger",n),"data-open":r,"data-active":l>0,"aria-label":e["aria-label"]??t,children:[(0,k.jsx)("span",{className:"cal-select__placeholder",children:t}),p&&(0,k.jsx)("span",{className:"cal-select__value",children:p}),e.multiple&&l>0&&(0,k.jsx)("span",{className:"cal-select__badge",children:l}),(0,k.jsx)(Be.ChevronDown,{size:14,className:"cal-select__chevron","aria-hidden":!0})]})}),(0,k.jsx)($,{className:"cal-select__panel",align:o,role:"listbox","aria-multiselectable":e.multiple??!1,children:a.map(c=>{let D=d.has(c.value);return(0,k.jsxs)("button",{type:"button",role:"option","aria-selected":D,className:"cal-select__option","data-selected":D,onClick:()=>h(c.value),children:[c.icon?(0,k.jsx)("span",{className:"cal-select__option-icon",children:c.icon}):c.color?(0,k.jsx)("span",{className:"cal-select__dot",style:{backgroundColor:c.color}}):null,(0,k.jsx)("span",{className:"cal-select__option-label",children:c.label}),D&&(0,k.jsx)(Be.Check,{size:14,className:"cal-select__check","aria-hidden":!0})]},c.value)})})]})};var Rt=require("react/jsx-runtime"),Lt=({options:e,selected:t,onToggle:a,placeholder:o="Estado del evento",className:n})=>{let r=e.map(i=>({value:i.status,label:i.label,color:i.color}));return(0,Rt.jsx)(Fe,{multiple:!0,placeholder:o,options:r,value:t,onToggle:a,className:n})};var ae=require("react/jsx-runtime"),Pa={heading:"Event actions"},Bt=({state:e,actions:t,onClose:a,onSelectAction:o,messages:n})=>{if(!e.point||!e.date)return null;let r={...Pa,...n};return(0,ae.jsxs)(U,{open:e.isOpen,onOpenChange:i=>!i&&a(),children:[(0,ae.jsx)(de,{asChild:!0,children:(0,ae.jsx)("span",{className:"cal-slot-anchor",style:{left:e.point.x,top:e.point.y},"aria-hidden":!0})}),(0,ae.jsxs)($,{align:"start",sideOffset:8,className:"cal-slot-popover",onEscapeKeyDown:a,children:[(0,ae.jsx)("p",{className:"cal-slot-popover__heading",children:r.heading}),t.map(i=>(0,ae.jsx)(ee,{type:"button",variant:"ghost",size:"sm",leftIcon:i.icon,className:"cal-slot-popover__action",onClick:()=>o({type:i.type,date:e.date}),children:i.label},i.type))]})]})};var Ft=require("lucide-react"),Ot=_(require("clsx"),1),ve=require("react/jsx-runtime"),It=({label:e,icon:t,onRemove:a,removeLabel:o="Remove",className:n})=>(0,ve.jsxs)("span",{className:(0,Ot.default)("cal-type-chip",a&&"cal-type-chip--removable",n),children:[t&&(0,ve.jsx)("span",{className:"cal-type-chip__icon",children:t}),e,a&&(0,ve.jsx)("button",{type:"button",className:"cal-type-chip__remove","aria-label":`${o} ${e}`,onClick:a,children:(0,ve.jsx)(Ft.X,{size:12,"aria-hidden":!0})})]});var H=require("react");var zt=({initialView:e="week",initialDate:t,firstDay:a=1,locale:o="es-CO"}={})=>{let[n,r]=(0,H.useState)(e),[i,d]=(0,H.useState)(()=>t??new Date),[l,p]=(0,H.useState)(()=>K(t??new Date,a)),h=n==="day"&&Ee(i,new Date),c=(0,H.useCallback)(()=>{r(v=>v==="day"&&Ee(i,new Date)?"week":"day"),d(new Date)},[i]),D=(0,H.useCallback)(v=>{if(v==="today"){c();return}d(b=>De(b,n,v))},[n,c]),m=(0,H.useCallback)(v=>{r(v)},[]),x=(0,H.useCallback)(v=>{d(v),r(b=>b==="month"||b==="list"?"week":b)},[]),N=(0,H.useCallback)((v,b)=>{p({start:v,end:b})},[]),y=(0,H.useMemo)(()=>xa(n,i,a,o),[n,i,a,o]);return{activeView:n,selectedDate:i,visibleRange:l,periodLabel:y,todayActive:h,onChangeView:m,onNavigate:D,onSelectDate:x,onVisibleRangeChange:N,onToday:c,setActiveView:r,setSelectedDate:d}},xa=(e,t,a,o)=>{if(e==="day")return new Intl.DateTimeFormat(o,{weekday:"long",day:"numeric",month:"long"}).format(t);if(e==="month")return new Intl.DateTimeFormat(o,{month:"long",year:"numeric"}).format(t);let{start:n,end:r}=K(t,a),i=new Date(r);return i.setDate(i.getDate()-1),`${new Intl.DateTimeFormat(o,{day:"numeric",month:"short"}).formatRange(n,i)} ${n.getFullYear()}`};0&&(module.exports={APE_CALENDAR_ROOT_CLASS,Button,CalendarToolbar,DayEventDot,EmptyEventsState,EventAgendaList,EventBlockContent,EventChipMonth,EventChipPopover,EventListRow,EventStatusBadge,EventTypeChip,EventTypeFilterList,MacroCalendar,MiniMonthCalendar,MoreEventsPopover,Popover,PopoverAnchor,PopoverClose,PopoverContent,PopoverPortal,PopoverTrigger,Select,SlotContextActions,StatusFilterSelect,formatDurationLabel,formatHourLabel,getEventDayKeys,getEventDayStatuses,getWeekRange,isSameDay,mapAvailabilityToBackgroundEvents,mapAvailabilityToBusinessHours,mapEventToCalendarInput,shiftDate,toDayKey,useCalendarController});
1
+ "use strict";var ea=Object.create;var Ce=Object.defineProperty;var ta=Object.getOwnPropertyDescriptor;var aa=Object.getOwnPropertyNames;var oa=Object.getPrototypeOf,na=Object.prototype.hasOwnProperty;var sa=(e,t)=>{for(var a in t)Ce(e,a,{get:t[a],enumerable:!0})},Xe=(e,t,a,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of aa(t))!na.call(e,n)&&n!==a&&Ce(e,n,{get:()=>t[n],enumerable:!(o=ta(t,n))||o.enumerable});return e};var _=(e,t,a)=>(a=e!=null?ea(oa(e)):{},Xe(t||!e||!e.__esModule?Ce(a,"default",{value:e,enumerable:!0}):a,e)),ra=e=>Xe(Ce({},"__esModule",{value:!0}),e);var Na={};sa(Na,{APE_CALENDAR_ROOT_CLASS:()=>O,Button:()=>ee,CalendarToolbar:()=>At,DayEventDot:()=>ke,EmptyEventsState:()=>Pe,EventAgendaList:()=>Ne,EventBlockContent:()=>Ae,EventChipMonth:()=>we,EventChipPopover:()=>Me,EventListRow:()=>xe,EventStatusBadge:()=>Z,EventTypeChip:()=>It,EventTypeFilterList:()=>wt,MacroCalendar:()=>Ct,MiniMonthCalendar:()=>_t,MoreEventsPopover:()=>Te,Popover:()=>U,PopoverAnchor:()=>de,PopoverClose:()=>ct,PopoverContent:()=>$,PopoverPortal:()=>lt,PopoverTrigger:()=>ce,Select:()=>Fe,SlotContextActions:()=>Bt,StatusFilterSelect:()=>Lt,formatDurationLabel:()=>Ze,formatHourLabel:()=>A,getEventDayKeys:()=>Qe,getEventDayStatuses:()=>Je,getWeekRange:()=>K,isSameDay:()=>Ee,mapAvailabilityToBackgroundEvents:()=>be,mapAvailabilityToBusinessHours:()=>je,mapEventToCalendarInput:()=>Se,shiftDate:()=>De,toDayKey:()=>V,useCalendarController:()=>zt});module.exports=ra(Na);var P=require("react"),mt=_(require("@fullcalendar/react"),1),ut=_(require("@fullcalendar/daygrid"),1),vt=_(require("@fullcalendar/timegrid"),1),gt=_(require("@fullcalendar/interaction"),1),yt=_(require("@fullcalendar/core/locales/es"),1),Et=require("motion/react"),ft=require("lucide-react"),ht=_(require("clsx"),1);var V=e=>{let t=e.getFullYear(),a=`${e.getMonth()+1}`.padStart(2,"0"),o=`${e.getDate()}`.padStart(2,"0");return`${t}-${a}-${o}`},Ee=(e,t)=>V(e)===V(t),Qe=e=>new Set(e.map(t=>V(t.startDate))),Je=e=>e.reduce((t,a)=>{if(!a.status)return t;let o=V(a.startDate),n=t.get(o)??[];return n.includes(a.status)||t.set(o,[...n,a.status]),t},new Map),Se=e=>({id:e.id,title:e.title,start:e.startAt,end:e.endAt,allDay:e.isAllDay??!1,extendedProps:{status:e.status,location:e.location,description:e.description,durationMinutes:e.durationMinutes}}),A=(e,t="es-CO",a={hour:"2-digit",minute:"2-digit",hour12:!1})=>e.toLocaleTimeString(t,a),Ze=(e,t={})=>{let a=t.min??"min",o=t.h??"h";if(e<60)return`${e} ${a}`;let n=Math.floor(e/60),i=e%60;return i===0?`${n} ${o}`:`${n} ${o} ${i} ${a}`},je=e=>e.map(t=>({daysOfWeek:t.daysOfWeek,startTime:t.startTime,endTime:t.endTime})),be=e=>e.map((t,a)=>({id:`cal-availability-${a}`,daysOfWeek:t.daysOfWeek,startTime:t.startTime,endTime:t.endTime,display:"background",classNames:["cal-availability-band"],editable:!1})),K=(e,t=1)=>{let a=new Date(e);a.setHours(0,0,0,0);let o=(a.getDay()-t+7)%7;a.setDate(a.getDate()-o);let n=new Date(a);return n.setDate(n.getDate()+7),{start:a,end:n}},De=(e,t,a)=>{if(a==="today")return new Date;let o=new Date(e),n=a==="next"?1:-1;switch(t){case"month":o.setMonth(o.getMonth()+n);break;case"week":case"list":o.setDate(o.getDate()+n*7);break;case"day":o.setDate(o.getDate()+n);break}return o};var O="ape-calendar";var Q=require("react");var at=require("react/jsx-runtime"),et=(0,Q.createContext)(null),tt=()=>(0,Q.useContext)(et);function _e({children:e}){let[t,a]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{if(typeof document>"u")return;let o=document.createElement("div");return o.className=O,o.dataset.apeCalendarPortalRoot="true",document.body.appendChild(o),a(o),()=>{o.parentNode&&o.parentNode.removeChild(o)}},[]),(0,at.jsx)(et.Provider,{value:t,children:e})}var ie=require("react"),$e=_(require("clsx"),1);var ot=require("lucide-react"),nt=_(require("clsx"),1),oe=require("react/jsx-runtime"),Pe=({title:e="No events to display",description:t="Adjust filters or create a new event to populate the calendar.",icon:a,className:o})=>(0,oe.jsxs)("div",{className:(0,nt.default)("cal-empty-state",o),children:[(0,oe.jsx)("span",{className:"cal-empty-state__icon","aria-hidden":!0,children:a??(0,oe.jsx)(ot.CalendarDays,{size:20})}),(0,oe.jsx)("p",{className:"cal-empty-state__title",children:e}),(0,oe.jsx)("p",{className:"cal-empty-state__description",children:t})]});var re=require("lucide-react");var J=require("lucide-react"),st=_(require("clsx"),1),q=require("react/jsx-runtime"),ia={draft:(0,q.jsx)("span",{className:"cal-status-badge__dot","data-status":"draft"}),published:(0,q.jsx)(J.Rocket,{size:11,"aria-hidden":!0}),scheduled:(0,q.jsx)(J.CalendarClock,{size:11,"aria-hidden":!0}),archived:(0,q.jsx)("span",{className:"cal-status-badge__dot","data-status":"archived"}),cancelled:(0,q.jsx)(J.Ban,{size:11,"aria-hidden":!0}),finalizado:(0,q.jsx)(J.CircleCheck,{size:11,"aria-hidden":!0})},la=e=>e.charAt(0).toUpperCase()+e.slice(1),Z=({status:e,labels:t,icons:a,className:o})=>{let n=t?.[e]??la(e),i=a?.[e]??ia[e];return(0,q.jsxs)("span",{className:(0,st.default)("cal-status-badge",o),"data-status":e,children:[i,n]})};var M=require("react/jsx-runtime"),ca={edit:e=>`Edit event ${e}`,delete:e=>`Delete event ${e}`},xe=({event:e,onEdit:t,onDelete:a,locale:o="es-CO",statusLabels:n,renderEventMeta:i,messages:r})=>{let d={...ca,...r},l=e.status??"";return(0,M.jsxs)("div",{className:"cal-list-row","data-status":l,children:[(0,M.jsxs)("span",{className:"cal-list-row__time-chip","aria-label":"event time",children:[(0,M.jsx)(re.Clock,{size:12,"aria-hidden":!0}),(0,M.jsxs)("span",{children:[A(e.startDate,o)," - ",A(e.endDate,o)]})]}),(0,M.jsxs)("div",{className:"cal-list-row__body",children:[(0,M.jsx)("p",{className:"cal-list-row__title",children:e.title}),i&&(0,M.jsx)("div",{className:"cal-list-row__meta",children:i(e)})]}),(0,M.jsxs)("div",{className:"cal-list-row__aside",children:[e.status&&(0,M.jsx)(Z,{status:e.status,labels:n}),(0,M.jsxs)("div",{className:"cal-list-row__actions",children:[(0,M.jsx)("button",{type:"button","aria-label":d.edit(e.title),onClick:p=>{p.stopPropagation(),t(e)},className:"cal-list-row__action-button",children:(0,M.jsx)(re.SquarePen,{size:13})}),(0,M.jsx)("button",{type:"button","aria-label":d.delete(e.title),onClick:p=>{p.stopPropagation(),a(e)},className:"cal-list-row__action-button cal-list-row__action-button--danger",children:(0,M.jsx)(re.Trash2,{size:13})})]})]})]})};var w=require("react/jsx-runtime"),da={noEvents:"No events to display",noEventsForDay:"No events"},pa=e=>{let t=[],a=new Date(e.start);a.setHours(0,0,0,0);let o=new Date(e.end);for(o.setHours(0,0,0,0);a<o;)t.push(new Date(a)),a.setDate(a.getDate()+1);return t},Ne=({events:e,range:t,locale:a="es-CO",statusLabels:o,renderEventMeta:n,renderDayHeader:i,onEditEvent:r,onDeleteEvent:d,messages:l,className:p})=>{let h=(0,ie.useMemo)(()=>pa(t),[t]),c=(0,ie.useMemo)(()=>{let y=new Map;for(let v of e){let b=V(v.startDate),F=y.get(b)??[];F.push(v),y.set(b,F)}for(let v of y.values())v.sort((b,F)=>b.startDate.getTime()-F.startDate.getTime());return y},[e]),D=(0,ie.useMemo)(()=>new Intl.DateTimeFormat(a,{day:"2-digit"}),[a]),m=(0,ie.useMemo)(()=>new Intl.DateTimeFormat(a,{month:"short"}),[a]),x=(0,ie.useMemo)(()=>new Intl.DateTimeFormat(a,{weekday:"short"}),[a]),N={...da,...l};return e.length===0&&!i?(0,w.jsx)("div",{className:(0,$e.default)(O,"cal-agenda",p),children:(0,w.jsx)(Pe,{title:N.noEvents})}):(0,w.jsx)("div",{className:(0,$e.default)(O,"cal-agenda",p),children:h.map(y=>{let v=V(y),b=c.get(v)??[],F=b.length>0,Y=i?.(y,{hasEvents:F,events:b});return!F&&!Y?null:(0,w.jsxs)("section",{className:"cal-agenda-day",children:[(0,w.jsxs)("aside",{className:"cal-agenda-day__anchor",children:[(0,w.jsx)("span",{className:"cal-agenda-day__month",children:m.format(y).replace(".","")}),(0,w.jsx)("span",{className:"cal-agenda-day__number",children:D.format(y)}),(0,w.jsx)("span",{className:"cal-agenda-day__weekday",children:x.format(y).replace(".","")})]}),(0,w.jsxs)("div",{className:"cal-agenda-day__body",children:[Y&&(0,w.jsx)("div",{className:"cal-agenda-day__header",children:Y}),F?(0,w.jsx)("ul",{className:"cal-agenda-day__events",children:b.map(g=>(0,w.jsx)("li",{className:"cal-agenda-day__event-item",children:(0,w.jsx)(xe,{event:g,onEdit:r,onDelete:d,locale:a,statusLabels:o,renderEventMeta:n,messages:l})},g.id))}):(0,w.jsx)("p",{className:"cal-agenda-day__empty",children:N.noEventsForDay})]})]},v)})})};var le=require("lucide-react");var R=require("react/jsx-runtime"),ma={edit:e=>`Edit event ${e}`,delete:e=>`Delete event ${e}`},Ae=({event:e,onEdit:t,onDelete:a,locale:o="es-CO",statusLabels:n,messages:i})=>{let r={...ma,...i},d=e.status??"";return(0,R.jsxs)("article",{className:"cal-event-block","data-status":d,children:[(0,R.jsx)("div",{className:"cal-event-block__header",children:e.status&&(0,R.jsx)(Z,{status:e.status,labels:n})}),(0,R.jsx)("p",{className:"cal-event-block__title",children:e.title}),(0,R.jsxs)("p",{className:"cal-event-block__time",children:[(0,R.jsx)(le.Clock,{size:10,"aria-hidden":!0}),(0,R.jsxs)("span",{children:[A(e.startDate,o)," - ",A(e.endDate,o)]})]}),(0,R.jsxs)("div",{className:"cal-event-block__actions",children:[(0,R.jsx)("button",{type:"button","aria-label":r.edit(e.title),onClick:l=>{l.stopPropagation(),t(e)},className:"cal-event-block__action-button",children:(0,R.jsx)(le.SquarePen,{size:11})}),(0,R.jsx)("button",{type:"button","aria-label":r.delete(e.title),onClick:l=>{l.stopPropagation(),a(e)},className:"cal-event-block__action-button cal-event-block__action-button--danger",children:(0,R.jsx)(le.Trash2,{size:11})})]})]})};var j=require("lucide-react");var I=_(require("@radix-ui/react-popover"),1),rt=require("react"),it=_(require("clsx"),1);var Ue=require("react/jsx-runtime"),U=I.Root,ce=I.Trigger,de=I.Anchor,lt=I.Portal,ct=I.Close,$=(0,rt.forwardRef)(({className:e,align:t="center",sideOffset:a=4,...o},n)=>{let i=tt();return(0,Ue.jsx)(I.Portal,{container:i??void 0,children:(0,Ue.jsx)(I.Content,{ref:n,align:t,sideOffset:a,className:(0,it.default)("cal-popover-content",e),...o})})});$.displayName="PopoverContent";var E=require("react/jsx-runtime"),ua={weekday:"long",day:"2-digit",month:"long"},va={edit:"Edit",delete:"Delete",editAria:e=>`Edit event ${e}`,deleteAria:e=>`Delete event ${e}`},Me=({event:e,onEdit:t,onDelete:a,children:o,locale:n="es-CO",statusLabels:i,renderEventMeta:r,messages:d,dayHeaderOptions:l})=>{let p={...va,...d},c=new Intl.DateTimeFormat(n,l??ua).format(e.startDate),D=`${A(e.startDate,n)} \u2013 ${A(e.endDate,n)}`;return(0,E.jsxs)(U,{children:[(0,E.jsx)(ce,{asChild:!0,children:o}),(0,E.jsxs)($,{align:"start",sideOffset:6,collisionPadding:12,className:"cal-chip-popover",onClick:m=>m.stopPropagation(),children:[(0,E.jsxs)("header",{className:"cal-chip-popover__header",children:[(0,E.jsxs)("div",{className:"cal-chip-popover__header-info",children:[(0,E.jsx)("p",{className:"cal-chip-popover__day",children:c}),(0,E.jsx)("h3",{className:"cal-chip-popover__title",children:e.title})]}),e.status&&(0,E.jsx)(Z,{status:e.status,labels:i})]}),(0,E.jsxs)("dl",{className:"cal-chip-popover__meta",children:[(0,E.jsxs)("div",{className:"cal-chip-popover__meta-row",children:[(0,E.jsx)(j.Clock,{size:12,"aria-hidden":!0}),(0,E.jsx)("span",{children:D})]}),r&&(0,E.jsx)("div",{className:"cal-chip-popover__meta-row cal-chip-popover__meta-row--wrap",children:r(e)}),e.location&&(0,E.jsxs)("div",{className:"cal-chip-popover__meta-row cal-chip-popover__meta-row--start",children:[(0,E.jsx)(j.MapPin,{size:12,"aria-hidden":!0}),(0,E.jsx)("span",{className:"cal-chip-popover__clamp-2",children:e.location})]})]}),e.description&&(0,E.jsx)("p",{className:"cal-chip-popover__description",children:e.description}),(0,E.jsxs)("footer",{className:"cal-chip-popover__footer",children:[(0,E.jsxs)("button",{type:"button","aria-label":p.editAria(e.title),onClick:m=>{m.stopPropagation(),t(e)},className:"cal-chip-popover__action",children:[(0,E.jsx)(j.SquarePen,{size:12}),p.edit]}),(0,E.jsxs)("button",{type:"button","aria-label":p.deleteAria(e.title),onClick:m=>{m.stopPropagation(),a(e)},className:"cal-chip-popover__action cal-chip-popover__action--danger",children:[(0,E.jsx)(j.Trash2,{size:12}),p.delete]})]})]})]})};var ne=require("react/jsx-runtime"),we=({event:e,onEdit:t,onDelete:a,locale:o="es-CO",statusLabels:n,renderEventMeta:i,messages:r,triggerAria:d=l=>`Show event details ${l}`})=>{let l=A(e.startDate,o),p=e.status??"";return(0,ne.jsx)(Me,{event:e,onEdit:t,onDelete:a,locale:o,statusLabels:n,renderEventMeta:i,messages:r,children:(0,ne.jsxs)("button",{type:"button","aria-label":d(e.title),onClick:h=>h.stopPropagation(),className:"cal-chip-month","data-status":p,children:[(0,ne.jsx)("span",{className:"cal-chip-month__dot","aria-hidden":!0}),(0,ne.jsx)("span",{className:"cal-chip-month__time",children:l}),(0,ne.jsx)("span",{className:"cal-chip-month__title",children:e.title})]})})};var dt=require("react"),pe=require("lucide-react");var S=require("react/jsx-runtime"),ga={weekday:"long",day:"2-digit",month:"long"},ya={header:e=>`${e} events in this slot`,editAria:e=>`Edit event ${e}`,deleteAria:e=>`Delete event ${e}`},Ea=({events:e,anchor:t,open:a,onOpenChange:o,onEdit:n,onDelete:i,locale:r="es-CO",messages:d,dayHeaderOptions:l})=>{let p=(0,dt.useMemo)(()=>({current:t}),[t]),h={...ya,...d},D=new Intl.DateTimeFormat(r,l??ga).format(e[0].startDate);return(0,S.jsxs)(U,{open:a,onOpenChange:o,children:[(0,S.jsx)(de,{virtualRef:p}),(0,S.jsxs)($,{align:"start",sideOffset:6,collisionPadding:12,className:"cal-more-popover",onClick:m=>m.stopPropagation(),children:[(0,S.jsxs)("header",{className:"cal-more-popover__header",children:[(0,S.jsx)("p",{className:"cal-more-popover__day",children:D}),(0,S.jsx)("h3",{className:"cal-more-popover__title",children:h.header(e.length)})]}),(0,S.jsx)("ul",{className:"cal-more-popover__list",children:e.map(m=>(0,S.jsxs)("li",{className:"cal-more-popover__item",children:[(0,S.jsx)("span",{className:"cal-more-popover__dot","data-status":m.status??"","aria-hidden":!0}),(0,S.jsxs)("div",{className:"cal-more-popover__item-body",children:[(0,S.jsx)("p",{className:"cal-more-popover__item-title",children:m.title}),(0,S.jsxs)("p",{className:"cal-more-popover__item-time",children:[(0,S.jsx)(pe.Clock,{size:10,"aria-hidden":!0}),A(m.startDate,r)," \u2013"," ",A(m.endDate,r)]})]}),(0,S.jsxs)("div",{className:"cal-more-popover__item-actions",children:[(0,S.jsx)("button",{type:"button","aria-label":h.editAria(m.title),onClick:x=>{x.stopPropagation(),o(!1),n(m)},className:"cal-more-popover__action",children:(0,S.jsx)(pe.SquarePen,{size:12})}),(0,S.jsx)("button",{type:"button","aria-label":h.deleteAria(m.title),onClick:x=>{x.stopPropagation(),o(!1),i(m)},className:"cal-more-popover__action cal-more-popover__action--danger",children:(0,S.jsx)(pe.Trash2,{size:12})})]})]},m.id))})]})]})},Te=e=>!e.anchor||e.events.length===0?null:(0,S.jsx)(Ea,{...e,anchor:e.anchor});var T=require("react/jsx-runtime"),pt={day:"timeGridDay",week:"timeGridWeek",month:"dayGridMonth"},fa=220,ha={moreLink:e=>`+${e} more`,allDayText:"All day",todayHeaderAria:"Today",noEvents:"No events to display"},Ct=({events:e,activeView:t,selectedDate:a,highlightEventIds:o=[],onDeleteEvent:n,onEditEvent:i,onEventTimeChange:r,onDateClick:d,onDateSelected:l,onVisibleRangeChange:p,onSwitchToDay:h,locale:c="es-CO",fullCalendarLocale:D=yt.default,firstDay:m=1,availability:x,statusLabels:N,renderEventMeta:y,renderDayHeader:v,renderAgendaDayHeader:b,messages:F,immutableStatuses:ge,eventAllow:Y,height:g="100%",highlightDurationMs:G=650,slotDuration:W="00:30:00",snapDuration:Oe="00:15:00",className:Ie})=>{let Ke=(0,P.useRef)(null),ze=(0,P.useRef)(null),qe=(0,P.useRef)(!0),[Ve,He]=(0,P.useState)(null),Ye=(0,Et.useReducedMotion)(),se=(0,P.useMemo)(()=>({...ha,...F}),[F]),Vt=s=>typeof se.moreLink=="function"?se.moreLink(s):se.moreLink.replace("{count}",String(s)),Ht=(0,P.useMemo)(()=>new Set(o),[o]),ye=(0,P.useMemo)(()=>new Map(e.map(s=>[s.id,s])),[e]),$t=(0,P.useMemo)(()=>{let s=e.map(Se);return x&&(t==="week"||t==="day")?[...s,...be(x)]:s},[e,x,t]),Ut=(0,P.useMemo)(()=>new Intl.DateTimeFormat(c,{weekday:"short"}),[c]),Gt=(0,P.useMemo)(()=>new Set(ge??["archived"]),[ge]);(0,P.useEffect)(()=>{if(He(null),t==="list")return;let s=Ke.current?.getApi();if(!s)return;let u=!1;return queueMicrotask(()=>{if(u)return;let C=pt[t];s.view.type!==C&&s.changeView(C),s.getDate().toDateString()!==a.toDateString()&&s.gotoDate(a)}),()=>{u=!0}},[t,a]);let he=(0,P.useMemo)(()=>K(a,m),[a,m]);(0,P.useEffect)(()=>{t==="list"&&p(he.start,he.end)},[t,he]),(0,P.useEffect)(()=>{if(qe.current){qe.current=!1;return}Ye||!ze.current||ze.current.animate([{opacity:.88,transform:"translateY(5px)"},{opacity:1,transform:"translateY(0)"}],{duration:fa,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"both"})},[t,Ye]);let Wt=s=>p(s.start,s.end),Kt=s=>{l(s.date),d(s.date,{x:s.jsEvent.clientX,y:s.jsEvent.clientY})},qt=s=>{let u=s.jsEvent?{x:s.jsEvent.clientX,y:s.jsEvent.clientY}:{x:window.innerWidth/2,y:window.innerHeight/2};l(s.start),d(s.start,u)},Yt=s=>{let u=ye.get(s.event.id);return u?s.view.type==="dayGridMonth"||s.event.allDay?(0,T.jsx)(we,{event:u,onEdit:i,onDelete:n,locale:c,statusLabels:N,renderEventMeta:y}):(0,T.jsx)(Ae,{event:u,onEdit:i,onDelete:n,locale:c,statusLabels:N}):(0,T.jsx)("p",{className:"cal-event-fallback",children:s.event.title})},Xt=s=>{Ht.has(s.event.id)&&(s.el.style.setProperty("--cal-highlight-duration",`${G}ms`),s.el.classList.add("cal-event-highlight-enter"),window.setTimeout(()=>s.el.classList.remove("cal-event-highlight-enter"),G))},Qt=(s,u,C)=>{if(C)return C.toISOString();let L=new Date(u),X=s.durationMinutes??60;return L.setMinutes(L.getMinutes()+X),L.toISOString()},Jt=s=>{let u=ye.get(s.event.id),C=s.event.start;if(!u||!C){s.revert();return}r({event:u,startAt:C.toISOString(),endAt:Qt(u,C,s.event.end),revert:s.revert})},Zt=s=>{let u=ye.get(s.event.id),C=s.event.start,L=s.event.end;if(!u||!C||!L){s.revert();return}if(L<=C){s.revert();return}r({event:u,startAt:C.toISOString(),endAt:L.toISOString(),revert:s.revert})},jt=({date:s,isToday:u})=>{if(v)return v(s,{isToday:u});let C=Ut.format(s).replace(".","");return(0,T.jsxs)("div",{className:"cal-day-header",children:[(0,T.jsx)("span",{className:"cal-day-header__number","data-today":u,"aria-label":u?se.todayHeaderAria:void 0,children:s.getDate()}),(0,T.jsx)("span",{className:"cal-day-header__weekday",children:C})]})};return(0,T.jsx)(_e,{children:(0,T.jsx)("div",{className:(0,ht.default)(O,"cal-macro-root",Ie),children:(0,T.jsxs)("div",{ref:ze,className:"cal-macro-surface",children:[(0,T.jsx)(ft.CalendarDays,{className:"cal-macro-corner-icon",size:20,"aria-hidden":!0}),t==="list"?(0,T.jsx)(Ne,{events:e,range:he,locale:c,statusLabels:N,renderEventMeta:y,renderDayHeader:b,onEditEvent:i,onDeleteEvent:n,messages:{noEvents:se.noEvents}}):(0,T.jsx)(mt.default,{ref:Ke,plugins:[ut.default,vt.default,gt.default],locale:D,initialView:pt[t],height:g,expandRows:!0,firstDay:m,allDaySlot:!1,allDayText:se.allDayText,selectable:!0,selectMirror:!0,editable:!0,eventStartEditable:!0,eventDurationEditable:!0,eventResizableFromStart:!0,dayMaxEvents:!0,eventMaxStack:3,moreLinkContent:s=>(0,T.jsx)("span",{className:"cal-more-link",children:Vt(s.num)}),moreLinkClick:s=>{if(s.view.type==="dayGridMonth")return h(s.date),"none";let u=s.allSegs.map(X=>ye.get(X.event.id)).filter(X=>!!X),C=s.jsEvent.target,L=C instanceof Element?C.closest(".fc-more-link"):null;return L&&u.length>0&&He({events:u,anchor:L}),"none"},nowIndicator:!0,slotDuration:W,snapDuration:Oe,slotLabelInterval:"01:00:00",slotLabelFormat:{hour:"2-digit",minute:"2-digit",hour12:!1},slotMinTime:"00:00:00",slotMaxTime:"24:00:00",slotEventOverlap:!1,eventMinHeight:28,eventShortHeight:48,headerToolbar:!1,events:$t,eventDrop:Jt,eventResize:Zt,eventDidMount:Xt,dragScroll:!0,eventDragMinDistance:8,dragRevertDuration:420,longPressDelay:380,selectLongPressDelay:380,eventAllow:(s,u)=>{if(!u)return!1;let C=u.extendedProps.status,L=typeof C=="string"?!Gt.has(C):!0;if(!L||!Y)return L;let X=ye.get(u.id);return X?Y(X,s.startStr,s.endStr):!0},datesSet:Wt,dateClick:Kt,select:qt,dayHeaderContent:jt,eventContent:Yt}),(0,T.jsx)(Te,{events:Ve?.events??[],anchor:Ve?.anchor??null,open:!!Ve,onOpenChange:s=>{s||He(null)},onEdit:i,onDelete:n,locale:c})]})})})};var We=require("react"),St=require("react-day-picker"),bt=require("react-day-picker/locale"),Le=require("lucide-react"),Dt=_(require("clsx"),1);var Ge=_(require("clsx"),1),me=require("react/jsx-runtime"),ke=({statuses:e,isSelected:t=!1,statusColors:a,className:o,maxDots:n=2})=>e.length===0&&!t?(0,me.jsx)("span",{className:(0,Ge.default)("cal-day-dot-empty",o),"aria-hidden":!0}):(0,me.jsxs)("span",{className:(0,Ge.default)("cal-day-dot-row",o),"aria-hidden":!0,children:[t&&(0,me.jsx)("span",{className:"cal-day-dot cal-day-dot--selected"}),e.slice(0,n).map(i=>{let r=a?.[i];return(0,me.jsx)("span",{className:"cal-day-dot","data-status":i,style:r?{backgroundColor:r}:void 0},i)})]});var B=require("react/jsx-runtime"),Ca={previousMonth:"Previous month",nextMonth:"Next month"},_t=({selectedDate:e,visibleMonth:t,eventDayStatuses:a,onSelectDate:o,onMonthChange:n,locale:i="es-CO",pickerLocale:r=bt.es,messages:d,statusColors:l,variant:p="card",highlightWeekOf:h,firstDay:c=1,showOutsideDays:D=!1,className:m})=>{let x={...Ca,...d},N=(0,We.useMemo)(()=>{if(!h)return;let{start:g,end:G}=K(h,c),W=new Date(G);return W.setDate(W.getDate()-1),{start:g,last:W}},[h,c]),{monthNameFormat:y,yearFormat:v,weekdayFormat:b}=(0,We.useMemo)(()=>({monthNameFormat:new Intl.DateTimeFormat(i,{month:"long"}),yearFormat:new Intl.DateTimeFormat(i,{year:"numeric"}),weekdayFormat:new Intl.DateTimeFormat(i,{weekday:"short"})}),[i]),F=g=>{let G=y.format(g);return`${G.charAt(0).toUpperCase()+G.slice(1)} ${v.format(g)}`},ge=()=>{let g=new Date(t);g.setMonth(g.getMonth()-1),n(g)},Y=()=>{let g=new Date(t);g.setMonth(g.getMonth()+1),n(g)};return(0,B.jsx)(_e,{children:(0,B.jsxs)("div",{className:(0,Dt.default)(O,"cal-mini-root",m),"data-variant":p,children:[(0,B.jsxs)("div",{className:"cal-mini-header",children:[(0,B.jsx)("button",{type:"button","aria-label":x.previousMonth,onClick:ge,className:"cal-mini-nav-button",children:(0,B.jsx)(Le.ChevronLeft,{size:14,"aria-hidden":!0})}),(0,B.jsx)("h2",{className:"cal-mini-caption",children:F(t)}),(0,B.jsx)("button",{type:"button","aria-label":x.nextMonth,onClick:Y,className:"cal-mini-nav-button",children:(0,B.jsx)(Le.ChevronRight,{size:14,"aria-hidden":!0})})]}),(0,B.jsx)(St.DayPicker,{mode:"single",locale:r,selected:e,month:t,onMonthChange:n,formatters:{formatWeekdayName:g=>b.format(g).charAt(0).toUpperCase()},onSelect:g=>{g&&o(g)},hideNavigation:!0,captionLayout:"label",showOutsideDays:D,modifiers:N?{"in-week":{from:N.start,to:N.last},"week-start":N.start,"week-end":N.last}:void 0,modifiersClassNames:{"in-week":"cal-mini-day--in-week","week-start":"cal-mini-day--week-start","week-end":"cal-mini-day--week-end"},className:"cal-mini-grid",classNames:{months:"cal-mini-months",month:"cal-mini-month",month_caption:"cal-mini-month-caption",caption_label:"cal-mini-caption-label",month_grid:"cal-mini-month-grid",weekdays:"cal-mini-weekdays",weekday:"cal-mini-weekday",week:"cal-mini-week",day:"cal-mini-day",day_button:"cal-mini-day-button",outside:"cal-mini-day--outside",today:"cal-mini-day--today"},components:{DayButton:({day:g,...G})=>{let W=V(g.date),Oe=a.get(W)??[],Ie=V(e)===W;return(0,B.jsxs)("button",{...G,children:[(0,B.jsx)("span",{children:g.date.getDate()}),(0,B.jsx)(ke,{statuses:Oe,isSelected:Ie,statusColors:l})]})}}})]})})};var Re=require("motion/react"),z=require("lucide-react"),Nt=_(require("clsx"),1);var Pt=require("react"),xt=_(require("clsx"),1),ue=require("react/jsx-runtime"),ee=(0,Pt.forwardRef)(({variant:e="primary",size:t="md",rounded:a="md",leftIcon:o,rightIcon:n,className:i,children:r,type:d="button",...l},p)=>(0,ue.jsxs)("button",{ref:p,type:d,"data-variant":e,"data-size":t,"data-rounded":a,className:(0,xt.default)("cal-button",i),...l,children:[o&&(0,ue.jsx)("span",{className:"cal-button__icon",children:o}),r&&(0,ue.jsx)("span",{className:"cal-button__label",children:r}),n&&(0,ue.jsx)("span",{className:"cal-button__icon",children:n})]}));ee.displayName="Button";var f=require("react/jsx-runtime"),Sa={list:"List",day:"Day",week:"Week",month:"Month"},ba={list:(0,f.jsx)(z.List,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0}),day:(0,f.jsx)(z.CalendarDays,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0}),week:(0,f.jsx)(z.Columns3,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0}),month:(0,f.jsx)(z.LayoutGrid,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0})},fe={groupAriaLabel:"Calendar view",newEvent:"New event",today:"Today",previous:"Previous",next:"Next"},Da=["month","week","list"],_a=(e,t)=>e===t||e==="week"&&t==="day",At=({activeView:e,onChangeView:t,views:a=Da,onNavigate:o,todayActive:n=!1,periodLabel:i,filtersSlot:r,onNewEvent:d,messages:l,className:p})=>{let h={...Sa,...l?.views},c=l?.groupAriaLabel??fe.groupAriaLabel,D=l?.newEvent??fe.newEvent,m=l?.today??fe.today,x=l?.previous??fe.previous,N=l?.next??fe.next;return(0,f.jsxs)("div",{className:(0,Nt.default)(O,"cal-toolbar",p),children:[o&&(0,f.jsxs)("div",{className:"cal-toolbar__nav",children:[(0,f.jsx)(ee,{variant:"outline",size:"sm",rounded:"full","data-active":n,"aria-pressed":n,onClick:()=>o("today"),children:m}),(0,f.jsx)("button",{type:"button",className:"cal-toolbar__nav-button","aria-label":x,onClick:()=>o("prev"),children:(0,f.jsx)(z.ChevronLeft,{size:18,"aria-hidden":!0})}),(0,f.jsx)("button",{type:"button",className:"cal-toolbar__nav-button","aria-label":N,onClick:()=>o("next"),children:(0,f.jsx)(z.ChevronRight,{size:18,"aria-hidden":!0})}),i&&(0,f.jsx)("span",{className:"cal-toolbar__period",children:i})]}),r&&(0,f.jsx)("div",{className:"cal-toolbar__filters",children:r}),(0,f.jsx)(Re.LayoutGroup,{id:"cal-toolbar-view-tabs",children:(0,f.jsx)("div",{className:"cal-toolbar__tabs",role:"group","aria-label":c,children:a.map(y=>{let v=_a(y,e);return(0,f.jsxs)("button",{type:"button",onClick:()=>t(y),className:"cal-toolbar__tab","data-active":v,"aria-label":h[y],"aria-pressed":v,title:h[y],children:[v&&(0,f.jsx)(Re.motion.span,{layoutId:"cal-toolbar-indicator",className:"cal-toolbar__indicator",transition:{type:"spring",stiffness:380,damping:34}}),(0,f.jsx)("span",{className:"cal-toolbar__tab-label",children:ba[y]})]},y)})})}),d&&(0,f.jsx)(ee,{variant:"primary",size:"md",rounded:"full",onClick:d,leftIcon:(0,f.jsx)(z.CalendarDays,{size:18,"aria-hidden":!0}),children:D})]})};var Mt=_(require("clsx"),1),te=require("react/jsx-runtime"),wt=({items:e,selectedIds:t,onToggle:a,variant:o="list",className:n})=>{let i=new Set(t);return(0,te.jsx)("div",{className:(0,Mt.default)("cal-type-filter",n),role:"group","data-variant":o,children:e.map(r=>{let d=i.has(r.id);return(0,te.jsxs)("button",{type:"button",className:"cal-type-filter__item","data-selected":d,"aria-pressed":d,onClick:()=>a(r.id),children:[r.icon?(0,te.jsx)("span",{className:"cal-type-filter__icon",children:r.icon}):(0,te.jsx)("span",{className:"cal-type-filter__dot",style:r.color?{backgroundColor:r.color}:void 0}),(0,te.jsx)("span",{className:"cal-type-filter__label",children:r.label}),typeof r.count=="number"&&(0,te.jsx)("span",{className:"cal-type-filter__count",children:r.count})]},r.id)})})};var Tt=require("react"),Be=require("lucide-react"),kt=_(require("clsx"),1);var k=require("react/jsx-runtime"),Fe=e=>{let{placeholder:t,options:a,align:o="start",className:n}=e,[i,r]=(0,Tt.useState)(!1),d=e.multiple?new Set(e.value):new Set(e.value?[e.value]:[]),l=d.size,p=!e.multiple&&e.value?a.find(c=>c.value===e.value)?.label:void 0,h=c=>{if(e.multiple){e.onToggle(c);return}let D=e.clearable!==!1&&e.value===c?null:c;e.onChange(D),r(!1)};return(0,k.jsxs)(U,{open:i,onOpenChange:r,children:[(0,k.jsx)(ce,{asChild:!0,children:(0,k.jsxs)("button",{type:"button",className:(0,kt.default)("cal-select__trigger",n),"data-open":i,"data-active":l>0,"aria-label":e["aria-label"]??t,children:[(0,k.jsx)("span",{className:"cal-select__placeholder",children:t}),p&&(0,k.jsx)("span",{className:"cal-select__value",children:p}),e.multiple&&l>0&&(0,k.jsx)("span",{className:"cal-select__badge",children:l}),(0,k.jsx)(Be.ChevronDown,{size:14,className:"cal-select__chevron","aria-hidden":!0})]})}),(0,k.jsx)($,{className:"cal-select__panel",align:o,role:"listbox","aria-multiselectable":e.multiple??!1,children:a.map(c=>{let D=d.has(c.value);return(0,k.jsxs)("button",{type:"button",role:"option","aria-selected":D,className:"cal-select__option","data-selected":D,onClick:()=>h(c.value),children:[c.icon?(0,k.jsx)("span",{className:"cal-select__option-icon",children:c.icon}):c.color?(0,k.jsx)("span",{className:"cal-select__dot",style:{backgroundColor:c.color}}):null,(0,k.jsx)("span",{className:"cal-select__option-label",children:c.label}),D&&(0,k.jsx)(Be.Check,{size:14,className:"cal-select__check","aria-hidden":!0})]},c.value)})})]})};var Rt=require("react/jsx-runtime"),Lt=({options:e,selected:t,onToggle:a,placeholder:o="Estado del evento",className:n})=>{let i=e.map(r=>({value:r.status,label:r.label,color:r.color}));return(0,Rt.jsx)(Fe,{multiple:!0,placeholder:o,options:i,value:t,onToggle:a,className:n})};var ae=require("react/jsx-runtime"),Pa={heading:"Event actions"},Bt=({state:e,actions:t,onClose:a,onSelectAction:o,messages:n})=>{if(!e.point||!e.date)return null;let i={...Pa,...n};return(0,ae.jsxs)(U,{open:e.isOpen,onOpenChange:r=>!r&&a(),children:[(0,ae.jsx)(de,{asChild:!0,children:(0,ae.jsx)("span",{className:"cal-slot-anchor",style:{left:e.point.x,top:e.point.y},"aria-hidden":!0})}),(0,ae.jsxs)($,{align:"start",sideOffset:8,className:"cal-slot-popover",onEscapeKeyDown:a,children:[(0,ae.jsx)("p",{className:"cal-slot-popover__heading",children:i.heading}),t.map(r=>(0,ae.jsx)(ee,{type:"button",variant:"ghost",size:"sm",leftIcon:r.icon,className:"cal-slot-popover__action",onClick:()=>o({type:r.type,date:e.date}),children:r.label},r.type))]})]})};var Ft=require("lucide-react"),Ot=_(require("clsx"),1),ve=require("react/jsx-runtime"),It=({label:e,icon:t,onRemove:a,removeLabel:o="Remove",className:n})=>(0,ve.jsxs)("span",{className:(0,Ot.default)("cal-type-chip",a&&"cal-type-chip--removable",n),children:[t&&(0,ve.jsx)("span",{className:"cal-type-chip__icon",children:t}),e,a&&(0,ve.jsx)("button",{type:"button",className:"cal-type-chip__remove","aria-label":`${o} ${e}`,onClick:a,children:(0,ve.jsx)(Ft.X,{size:12,"aria-hidden":!0})})]});var H=require("react");var zt=({initialView:e="week",initialDate:t,firstDay:a=1,locale:o="es-CO"}={})=>{let[n,i]=(0,H.useState)(e),[r,d]=(0,H.useState)(()=>t??new Date),[l,p]=(0,H.useState)(()=>K(t??new Date,a)),h=n==="day"&&Ee(r,new Date),c=(0,H.useCallback)(()=>{i(v=>v==="day"&&Ee(r,new Date)?"week":"day"),d(new Date)},[r]),D=(0,H.useCallback)(v=>{if(v==="today"){c();return}d(b=>De(b,n,v))},[n,c]),m=(0,H.useCallback)(v=>{i(v)},[]),x=(0,H.useCallback)(v=>{d(v),i(b=>b==="month"||b==="list"?"week":b)},[]),N=(0,H.useCallback)((v,b)=>{p({start:v,end:b})},[]),y=(0,H.useMemo)(()=>xa(n,r,a,o),[n,r,a,o]);return{activeView:n,selectedDate:r,visibleRange:l,periodLabel:y,todayActive:h,onChangeView:m,onNavigate:D,onSelectDate:x,onVisibleRangeChange:N,onToday:c,setActiveView:i,setSelectedDate:d}},xa=(e,t,a,o)=>{if(e==="day")return new Intl.DateTimeFormat(o,{weekday:"long",day:"numeric",month:"long"}).format(t);if(e==="month")return new Intl.DateTimeFormat(o,{month:"long",year:"numeric"}).format(t);let{start:n,end:i}=K(t,a),r=new Date(i);return r.setDate(r.getDate()-1),`${new Intl.DateTimeFormat(o,{day:"numeric",month:"short"}).formatRange(n,r)} ${n.getFullYear()}`};0&&(module.exports={APE_CALENDAR_ROOT_CLASS,Button,CalendarToolbar,DayEventDot,EmptyEventsState,EventAgendaList,EventBlockContent,EventChipMonth,EventChipPopover,EventListRow,EventStatusBadge,EventTypeChip,EventTypeFilterList,MacroCalendar,MiniMonthCalendar,MoreEventsPopover,Popover,PopoverAnchor,PopoverClose,PopoverContent,PopoverPortal,PopoverTrigger,Select,SlotContextActions,StatusFilterSelect,formatDurationLabel,formatHourLabel,getEventDayKeys,getEventDayStatuses,getWeekRange,isSameDay,mapAvailabilityToBackgroundEvents,mapAvailabilityToBusinessHours,mapEventToCalendarInput,shiftDate,toDayKey,useCalendarController});
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.cts CHANGED
@@ -364,6 +364,12 @@ interface EventTypeFilterListProps {
364
364
  /** Currently selected item ids. An empty array means "all". */
365
365
  selectedIds: string[];
366
366
  onToggle: (id: string) => void;
367
+ /**
368
+ * Visual variant. `'list'` (default) renders plain rows — the original look.
369
+ * `'pill'` renders rounded full-width chips with a count dot on the right
370
+ * (agenda sidebar design). Opt-in: existing consumers are unaffected.
371
+ */
372
+ variant?: 'list' | 'pill';
367
373
  className?: string;
368
374
  }
369
375
  /**
@@ -371,7 +377,7 @@ interface EventTypeFilterListProps {
371
377
  * agenda designs). A building block — not a layout wrapper. The consumer owns
372
378
  * the actual filtering and the surrounding sidebar.
373
379
  */
374
- declare const EventTypeFilterList: ({ items, selectedIds, onToggle, className, }: EventTypeFilterListProps) => react_jsx_runtime.JSX.Element;
380
+ declare const EventTypeFilterList: ({ items, selectedIds, onToggle, variant, className, }: EventTypeFilterListProps) => react_jsx_runtime.JSX.Element;
375
381
 
376
382
  interface StatusFilterOption<Status extends string> {
377
383
  status: Status;
package/dist/index.d.ts CHANGED
@@ -364,6 +364,12 @@ interface EventTypeFilterListProps {
364
364
  /** Currently selected item ids. An empty array means "all". */
365
365
  selectedIds: string[];
366
366
  onToggle: (id: string) => void;
367
+ /**
368
+ * Visual variant. `'list'` (default) renders plain rows — the original look.
369
+ * `'pill'` renders rounded full-width chips with a count dot on the right
370
+ * (agenda sidebar design). Opt-in: existing consumers are unaffected.
371
+ */
372
+ variant?: 'list' | 'pill';
367
373
  className?: string;
368
374
  }
369
375
  /**
@@ -371,7 +377,7 @@ interface EventTypeFilterListProps {
371
377
  * agenda designs). A building block — not a layout wrapper. The consumer owns
372
378
  * the actual filtering and the surrounding sidebar.
373
379
  */
374
- declare const EventTypeFilterList: ({ items, selectedIds, onToggle, className, }: EventTypeFilterListProps) => react_jsx_runtime.JSX.Element;
380
+ declare const EventTypeFilterList: ({ items, selectedIds, onToggle, variant, className, }: EventTypeFilterListProps) => react_jsx_runtime.JSX.Element;
375
381
 
376
382
  interface StatusFilterOption<Status extends string> {
377
383
  status: Status;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{useEffect as we,useMemo as Y,useRef as Te,useState as la}from"react";import ca from"@fullcalendar/react";import da from"@fullcalendar/daygrid";import pa from"@fullcalendar/timegrid";import ma from"@fullcalendar/interaction";import ua from"@fullcalendar/core/locales/es";import{useReducedMotion as va}from"motion/react";import{CalendarDays as ga}from"lucide-react";import ya from"clsx";var k=e=>{let t=e.getFullYear(),a=`${e.getMonth()+1}`.padStart(2,"0"),o=`${e.getDate()}`.padStart(2,"0");return`${t}-${a}-${o}`},le=(e,t)=>k(e)===k(t),vt=e=>new Set(e.map(t=>k(t.startDate))),gt=e=>e.reduce((t,a)=>{if(!a.status)return t;let o=k(a.startDate),s=t.get(o)??[];return s.includes(a.status)||t.set(o,[...s,a.status]),t},new Map),he=e=>({id:e.id,title:e.title,start:e.startAt,end:e.endAt,allDay:e.isAllDay??!1,extendedProps:{status:e.status,location:e.location,description:e.description,durationMinutes:e.durationMinutes}}),_=(e,t="es-CO",a={hour:"2-digit",minute:"2-digit",hour12:!1})=>e.toLocaleTimeString(t,a),yt=(e,t={})=>{let a=t.min??"min",o=t.h??"h";if(e<60)return`${e} ${a}`;let s=Math.floor(e/60),r=e%60;return r===0?`${s} ${o}`:`${s} ${o} ${r} ${a}`},Et=e=>e.map(t=>({daysOfWeek:t.daysOfWeek,startTime:t.startTime,endTime:t.endTime})),Ce=e=>e.map((t,a)=>({id:`cal-availability-${a}`,daysOfWeek:t.daysOfWeek,startTime:t.startTime,endTime:t.endTime,display:"background",classNames:["cal-availability-band"],editable:!1})),U=(e,t=1)=>{let a=new Date(e);a.setHours(0,0,0,0);let o=(a.getDay()-t+7)%7;a.setDate(a.getDate()-o);let s=new Date(a);return s.setDate(s.getDate()+7),{start:a,end:s}},Se=(e,t,a)=>{if(a==="today")return new Date;let o=new Date(e),s=a==="next"?1:-1;switch(t){case"month":o.setMonth(o.getMonth()+s);break;case"week":case"list":o.setDate(o.getDate()+s*7);break;case"day":o.setDate(o.getDate()+s);break}return o};var A="ape-calendar";import{createContext as ft,useContext as ht,useEffect as Ct,useState as St}from"react";import{jsx as bt}from"react/jsx-runtime";var Ge=ft(null),We=()=>ht(Ge);function ce({children:e}){let[t,a]=St(null);return Ct(()=>{if(typeof document>"u")return;let o=document.createElement("div");return o.className=A,o.dataset.apeCalendarPortalRoot="true",document.body.appendChild(o),a(o),()=>{o.parentNode&&o.parentNode.removeChild(o)}},[]),bt(Ge.Provider,{value:t,children:e})}import{useMemo as te}from"react";import Ke from"clsx";import{CalendarDays as Dt}from"lucide-react";import _t from"clsx";import{jsx as de,jsxs as Pt}from"react/jsx-runtime";var be=({title:e="No events to display",description:t="Adjust filters or create a new event to populate the calendar.",icon:a,className:o})=>Pt("div",{className:_t("cal-empty-state",o),children:[de("span",{className:"cal-empty-state__icon","aria-hidden":!0,children:a??de(Dt,{size:20})}),de("p",{className:"cal-empty-state__title",children:e}),de("p",{className:"cal-empty-state__description",children:t})]});import{Clock as Rt,SquarePen as Bt,Trash2 as Ft}from"lucide-react";import{Ban as xt,CalendarClock as Nt,CircleCheck as At,Rocket as Mt}from"lucide-react";import wt from"clsx";import{jsx as J,jsxs as Lt}from"react/jsx-runtime";var Tt={draft:J("span",{className:"cal-status-badge__dot","data-status":"draft"}),published:J(Mt,{size:11,"aria-hidden":!0}),scheduled:J(Nt,{size:11,"aria-hidden":!0}),archived:J("span",{className:"cal-status-badge__dot","data-status":"archived"}),cancelled:J(xt,{size:11,"aria-hidden":!0}),finalizado:J(At,{size:11,"aria-hidden":!0})},kt=e=>e.charAt(0).toUpperCase()+e.slice(1),K=({status:e,labels:t,icons:a,className:o})=>{let s=t?.[e]??kt(e),r=a?.[e]??Tt[e];return Lt("span",{className:wt("cal-status-badge",o),"data-status":e,children:[r,s]})};import{jsx as G,jsxs as Z}from"react/jsx-runtime";var Ot={edit:e=>`Edit event ${e}`,delete:e=>`Delete event ${e}`},De=({event:e,onEdit:t,onDelete:a,locale:o="es-CO",statusLabels:s,renderEventMeta:r,messages:i})=>{let d={...Ot,...i},l=e.status??"";return Z("div",{className:"cal-list-row","data-status":l,children:[Z("span",{className:"cal-list-row__time-chip","aria-label":"event time",children:[G(Rt,{size:12,"aria-hidden":!0}),Z("span",{children:[_(e.startDate,o)," - ",_(e.endDate,o)]})]}),Z("div",{className:"cal-list-row__body",children:[G("p",{className:"cal-list-row__title",children:e.title}),r&&G("div",{className:"cal-list-row__meta",children:r(e)})]}),Z("div",{className:"cal-list-row__aside",children:[e.status&&G(K,{status:e.status,labels:s}),Z("div",{className:"cal-list-row__actions",children:[G("button",{type:"button","aria-label":d.edit(e.title),onClick:p=>{p.stopPropagation(),t(e)},className:"cal-list-row__action-button",children:G(Bt,{size:13})}),G("button",{type:"button","aria-label":d.delete(e.title),onClick:p=>{p.stopPropagation(),a(e)},className:"cal-list-row__action-button cal-list-row__action-button--danger",children:G(Ft,{size:13})})]})]})]})};import{jsx as L,jsxs as _e}from"react/jsx-runtime";var It={noEvents:"No events to display",noEventsForDay:"No events"},zt=e=>{let t=[],a=new Date(e.start);a.setHours(0,0,0,0);let o=new Date(e.end);for(o.setHours(0,0,0,0);a<o;)t.push(new Date(a)),a.setDate(a.getDate()+1);return t},Pe=({events:e,range:t,locale:a="es-CO",statusLabels:o,renderEventMeta:s,renderDayHeader:r,onEditEvent:i,onDeleteEvent:d,messages:l,className:p})=>{let E=te(()=>zt(t),[t]),c=te(()=>{let y=new Map;for(let v of e){let h=k(v.startDate),x=y.get(h)??[];x.push(v),y.set(h,x)}for(let v of y.values())v.sort((h,x)=>h.startDate.getTime()-x.startDate.getTime());return y},[e]),C=te(()=>new Intl.DateTimeFormat(a,{day:"2-digit"}),[a]),m=te(()=>new Intl.DateTimeFormat(a,{month:"short"}),[a]),b=te(()=>new Intl.DateTimeFormat(a,{weekday:"short"}),[a]),D={...It,...l};return e.length===0&&!r?L("div",{className:Ke(A,"cal-agenda",p),children:L(be,{title:D.noEvents})}):L("div",{className:Ke(A,"cal-agenda",p),children:E.map(y=>{let v=k(y),h=c.get(v)??[],x=h.length>0,H=r?.(y,{hasEvents:x,events:h});return!x&&!H?null:_e("section",{className:"cal-agenda-day",children:[_e("aside",{className:"cal-agenda-day__anchor",children:[L("span",{className:"cal-agenda-day__month",children:m.format(y).replace(".","")}),L("span",{className:"cal-agenda-day__number",children:C.format(y)}),L("span",{className:"cal-agenda-day__weekday",children:b.format(y).replace(".","")})]}),_e("div",{className:"cal-agenda-day__body",children:[H&&L("div",{className:"cal-agenda-day__header",children:H}),x?L("ul",{className:"cal-agenda-day__events",children:h.map(g=>L("li",{className:"cal-agenda-day__event-item",children:L(De,{event:g,onEdit:i,onDelete:d,locale:a,statusLabels:o,renderEventMeta:s,messages:l})},g.id))}):L("p",{className:"cal-agenda-day__empty",children:D.noEventsForDay})]})]},v)})})};import{Clock as Vt,SquarePen as Ht,Trash2 as $t}from"lucide-react";import{jsx as W,jsxs as pe}from"react/jsx-runtime";var Ut={edit:e=>`Edit event ${e}`,delete:e=>`Delete event ${e}`},xe=({event:e,onEdit:t,onDelete:a,locale:o="es-CO",statusLabels:s,messages:r})=>{let i={...Ut,...r},d=e.status??"";return pe("article",{className:"cal-event-block","data-status":d,children:[W("div",{className:"cal-event-block__header",children:e.status&&W(K,{status:e.status,labels:s})}),W("p",{className:"cal-event-block__title",children:e.title}),pe("p",{className:"cal-event-block__time",children:[W(Vt,{size:10,"aria-hidden":!0}),pe("span",{children:[_(e.startDate,o)," - ",_(e.endDate,o)]})]}),pe("div",{className:"cal-event-block__actions",children:[W("button",{type:"button","aria-label":i.edit(e.title),onClick:l=>{l.stopPropagation(),t(e)},className:"cal-event-block__action-button",children:W(Ht,{size:11})}),W("button",{type:"button","aria-label":i.delete(e.title),onClick:l=>{l.stopPropagation(),a(e)},className:"cal-event-block__action-button cal-event-block__action-button--danger",children:W($t,{size:11})})]})]})};import{Clock as Yt,MapPin as Xt,SquarePen as Qt,Trash2 as Jt}from"lucide-react";import*as N from"@radix-ui/react-popover";import{forwardRef as Gt}from"react";import Wt from"clsx";import{jsx as qe}from"react/jsx-runtime";var z=N.Root,ae=N.Trigger,oe=N.Anchor,Kt=N.Portal,qt=N.Close,R=Gt(({className:e,align:t="center",sideOffset:a=4,...o},s)=>{let r=We();return qe(N.Portal,{container:r??void 0,children:qe(N.Content,{ref:s,align:t,sideOffset:a,className:Wt("cal-popover-content",e),...o})})});R.displayName="PopoverContent";import{jsx as M,jsxs as B}from"react/jsx-runtime";var Zt={weekday:"long",day:"2-digit",month:"long"},jt={edit:"Edit",delete:"Delete",editAria:e=>`Edit event ${e}`,deleteAria:e=>`Delete event ${e}`},Ne=({event:e,onEdit:t,onDelete:a,children:o,locale:s="es-CO",statusLabels:r,renderEventMeta:i,messages:d,dayHeaderOptions:l})=>{let p={...jt,...d},c=new Intl.DateTimeFormat(s,l??Zt).format(e.startDate),C=`${_(e.startDate,s)} \u2013 ${_(e.endDate,s)}`;return B(z,{children:[M(ae,{asChild:!0,children:o}),B(R,{align:"start",sideOffset:6,collisionPadding:12,className:"cal-chip-popover",onClick:m=>m.stopPropagation(),children:[B("header",{className:"cal-chip-popover__header",children:[B("div",{className:"cal-chip-popover__header-info",children:[M("p",{className:"cal-chip-popover__day",children:c}),M("h3",{className:"cal-chip-popover__title",children:e.title})]}),e.status&&M(K,{status:e.status,labels:r})]}),B("dl",{className:"cal-chip-popover__meta",children:[B("div",{className:"cal-chip-popover__meta-row",children:[M(Yt,{size:12,"aria-hidden":!0}),M("span",{children:C})]}),i&&M("div",{className:"cal-chip-popover__meta-row cal-chip-popover__meta-row--wrap",children:i(e)}),e.location&&B("div",{className:"cal-chip-popover__meta-row cal-chip-popover__meta-row--start",children:[M(Xt,{size:12,"aria-hidden":!0}),M("span",{className:"cal-chip-popover__clamp-2",children:e.location})]})]}),e.description&&M("p",{className:"cal-chip-popover__description",children:e.description}),B("footer",{className:"cal-chip-popover__footer",children:[B("button",{type:"button","aria-label":p.editAria(e.title),onClick:m=>{m.stopPropagation(),t(e)},className:"cal-chip-popover__action",children:[M(Qt,{size:12}),p.edit]}),B("button",{type:"button","aria-label":p.deleteAria(e.title),onClick:m=>{m.stopPropagation(),a(e)},className:"cal-chip-popover__action cal-chip-popover__action--danger",children:[M(Jt,{size:12}),p.delete]})]})]})]})};import{jsx as me,jsxs as ea}from"react/jsx-runtime";var Ae=({event:e,onEdit:t,onDelete:a,locale:o="es-CO",statusLabels:s,renderEventMeta:r,messages:i,triggerAria:d=l=>`Show event details ${l}`})=>{let l=_(e.startDate,o),p=e.status??"";return me(Ne,{event:e,onEdit:t,onDelete:a,locale:o,statusLabels:s,renderEventMeta:r,messages:i,children:ea("button",{type:"button","aria-label":d(e.title),onClick:E=>E.stopPropagation(),className:"cal-chip-month","data-status":p,children:[me("span",{className:"cal-chip-month__dot","aria-hidden":!0}),me("span",{className:"cal-chip-month__time",children:l}),me("span",{className:"cal-chip-month__title",children:e.title})]})})};import{useMemo as ta}from"react";import{Clock as aa,SquarePen as oa,Trash2 as na}from"lucide-react";import{jsx as w,jsxs as q}from"react/jsx-runtime";var sa={weekday:"long",day:"2-digit",month:"long"},ra={header:e=>`${e} events in this slot`,editAria:e=>`Edit event ${e}`,deleteAria:e=>`Delete event ${e}`},ia=({events:e,anchor:t,open:a,onOpenChange:o,onEdit:s,onDelete:r,locale:i="es-CO",messages:d,dayHeaderOptions:l})=>{let p=ta(()=>({current:t}),[t]),E={...ra,...d},C=new Intl.DateTimeFormat(i,l??sa).format(e[0].startDate);return q(z,{open:a,onOpenChange:o,children:[w(oe,{virtualRef:p}),q(R,{align:"start",sideOffset:6,collisionPadding:12,className:"cal-more-popover",onClick:m=>m.stopPropagation(),children:[q("header",{className:"cal-more-popover__header",children:[w("p",{className:"cal-more-popover__day",children:C}),w("h3",{className:"cal-more-popover__title",children:E.header(e.length)})]}),w("ul",{className:"cal-more-popover__list",children:e.map(m=>q("li",{className:"cal-more-popover__item",children:[w("span",{className:"cal-more-popover__dot","data-status":m.status??"","aria-hidden":!0}),q("div",{className:"cal-more-popover__item-body",children:[w("p",{className:"cal-more-popover__item-title",children:m.title}),q("p",{className:"cal-more-popover__item-time",children:[w(aa,{size:10,"aria-hidden":!0}),_(m.startDate,i)," \u2013"," ",_(m.endDate,i)]})]}),q("div",{className:"cal-more-popover__item-actions",children:[w("button",{type:"button","aria-label":E.editAria(m.title),onClick:b=>{b.stopPropagation(),o(!1),s(m)},className:"cal-more-popover__action",children:w(oa,{size:12})}),w("button",{type:"button","aria-label":E.deleteAria(m.title),onClick:b=>{b.stopPropagation(),o(!1),r(m)},className:"cal-more-popover__action cal-more-popover__action--danger",children:w(na,{size:12})})]})]},m.id))})]})]})},Me=e=>!e.anchor||e.events.length===0?null:w(ia,{...e,anchor:e.anchor});import{jsx as T,jsxs as Xe}from"react/jsx-runtime";var Ye={day:"timeGridDay",week:"timeGridWeek",month:"dayGridMonth"},Ea=220,fa={moreLink:e=>`+${e} more`,allDayText:"All day",todayHeaderAria:"Today",noEvents:"No events to display"},ha=({events:e,activeView:t,selectedDate:a,highlightEventIds:o=[],onDeleteEvent:s,onEditEvent:r,onEventTimeChange:i,onDateClick:d,onDateSelected:l,onVisibleRangeChange:p,onSwitchToDay:E,locale:c="es-CO",fullCalendarLocale:C=ua,firstDay:m=1,availability:b,statusLabels:D,renderEventMeta:y,renderDayHeader:v,renderAgendaDayHeader:h,messages:x,immutableStatuses:j,eventAllow:H,height:g="100%",highlightDurationMs:O=650,slotDuration:I="00:30:00",snapDuration:ve="00:15:00",className:ge})=>{let He=Te(null),ye=Te(null),$e=Te(!0),[Ee,fe]=la(null),Ue=va(),Q=Y(()=>({...fa,...x}),[x]),et=n=>typeof Q.moreLink=="function"?Q.moreLink(n):Q.moreLink.replace("{count}",String(n)),tt=Y(()=>new Set(o),[o]),ee=Y(()=>new Map(e.map(n=>[n.id,n])),[e]),at=Y(()=>{let n=e.map(he);return b&&(t==="week"||t==="day")?[...n,...Ce(b)]:n},[e,b,t]),ot=Y(()=>new Intl.DateTimeFormat(c,{weekday:"short"}),[c]),nt=Y(()=>new Set(j??["archived"]),[j]);we(()=>{if(fe(null),t==="list")return;let n=He.current?.getApi();if(!n)return;let u=!1;return queueMicrotask(()=>{if(u)return;let f=Ye[t];n.view.type!==f&&n.changeView(f),n.getDate().toDateString()!==a.toDateString()&&n.gotoDate(a)}),()=>{u=!0}},[t,a]);let ie=Y(()=>U(a,m),[a,m]);we(()=>{t==="list"&&p(ie.start,ie.end)},[t,ie]),we(()=>{if($e.current){$e.current=!1;return}Ue||!ye.current||ye.current.animate([{opacity:.88,transform:"translateY(5px)"},{opacity:1,transform:"translateY(0)"}],{duration:Ea,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"both"})},[t,Ue]);let st=n=>p(n.start,n.end),rt=n=>{l(n.date),d(n.date,{x:n.jsEvent.clientX,y:n.jsEvent.clientY})},it=n=>{let u=n.jsEvent?{x:n.jsEvent.clientX,y:n.jsEvent.clientY}:{x:window.innerWidth/2,y:window.innerHeight/2};l(n.start),d(n.start,u)},lt=n=>{let u=ee.get(n.event.id);return u?n.view.type==="dayGridMonth"||n.event.allDay?T(Ae,{event:u,onEdit:r,onDelete:s,locale:c,statusLabels:D,renderEventMeta:y}):T(xe,{event:u,onEdit:r,onDelete:s,locale:c,statusLabels:D}):T("p",{className:"cal-event-fallback",children:n.event.title})},ct=n=>{tt.has(n.event.id)&&(n.el.style.setProperty("--cal-highlight-duration",`${O}ms`),n.el.classList.add("cal-event-highlight-enter"),window.setTimeout(()=>n.el.classList.remove("cal-event-highlight-enter"),O))},dt=(n,u,f)=>{if(f)return f.toISOString();let P=new Date(u),$=n.durationMinutes??60;return P.setMinutes(P.getMinutes()+$),P.toISOString()},pt=n=>{let u=ee.get(n.event.id),f=n.event.start;if(!u||!f){n.revert();return}i({event:u,startAt:f.toISOString(),endAt:dt(u,f,n.event.end),revert:n.revert})},mt=n=>{let u=ee.get(n.event.id),f=n.event.start,P=n.event.end;if(!u||!f||!P){n.revert();return}if(P<=f){n.revert();return}i({event:u,startAt:f.toISOString(),endAt:P.toISOString(),revert:n.revert})},ut=({date:n,isToday:u})=>{if(v)return v(n,{isToday:u});let f=ot.format(n).replace(".","");return Xe("div",{className:"cal-day-header",children:[T("span",{className:"cal-day-header__number","data-today":u,"aria-label":u?Q.todayHeaderAria:void 0,children:n.getDate()}),T("span",{className:"cal-day-header__weekday",children:f})]})};return T(ce,{children:T("div",{className:ya(A,"cal-macro-root",ge),children:Xe("div",{ref:ye,className:"cal-macro-surface",children:[T(ga,{className:"cal-macro-corner-icon",size:20,"aria-hidden":!0}),t==="list"?T(Pe,{events:e,range:ie,locale:c,statusLabels:D,renderEventMeta:y,renderDayHeader:h,onEditEvent:r,onDeleteEvent:s,messages:{noEvents:Q.noEvents}}):T(ca,{ref:He,plugins:[da,pa,ma],locale:C,initialView:Ye[t],height:g,expandRows:!0,firstDay:m,allDaySlot:!1,allDayText:Q.allDayText,selectable:!0,selectMirror:!0,editable:!0,eventStartEditable:!0,eventDurationEditable:!0,eventResizableFromStart:!0,dayMaxEvents:!0,eventMaxStack:3,moreLinkContent:n=>T("span",{className:"cal-more-link",children:et(n.num)}),moreLinkClick:n=>{if(n.view.type==="dayGridMonth")return E(n.date),"none";let u=n.allSegs.map($=>ee.get($.event.id)).filter($=>!!$),f=n.jsEvent.target,P=f instanceof Element?f.closest(".fc-more-link"):null;return P&&u.length>0&&fe({events:u,anchor:P}),"none"},nowIndicator:!0,slotDuration:I,snapDuration:ve,slotLabelInterval:"01:00:00",slotLabelFormat:{hour:"2-digit",minute:"2-digit",hour12:!1},slotMinTime:"00:00:00",slotMaxTime:"24:00:00",slotEventOverlap:!1,eventMinHeight:28,eventShortHeight:48,headerToolbar:!1,events:at,eventDrop:pt,eventResize:mt,eventDidMount:ct,dragScroll:!0,eventDragMinDistance:8,dragRevertDuration:420,longPressDelay:380,selectLongPressDelay:380,eventAllow:(n,u)=>{if(!u)return!1;let f=u.extendedProps.status,P=typeof f=="string"?!nt.has(f):!0;if(!P||!H)return P;let $=ee.get(u.id);return $?H($,n.startStr,n.endStr):!0},datesSet:st,dateClick:rt,select:it,dayHeaderContent:ut,eventContent:lt}),T(Me,{events:Ee?.events??[],anchor:Ee?.anchor??null,open:!!Ee,onOpenChange:n=>{n||fe(null)},onEdit:r,onDelete:s,locale:c})]})})})};import{useMemo as Je}from"react";import{DayPicker as Sa}from"react-day-picker";import{es as ba}from"react-day-picker/locale";import{ChevronLeft as Da,ChevronRight as _a}from"lucide-react";import Pa from"clsx";import Qe from"clsx";import{jsx as ke,jsxs as Ca}from"react/jsx-runtime";var Le=({statuses:e,isSelected:t=!1,statusColors:a,className:o,maxDots:s=2})=>e.length===0&&!t?ke("span",{className:Qe("cal-day-dot-empty",o),"aria-hidden":!0}):Ca("span",{className:Qe("cal-day-dot-row",o),"aria-hidden":!0,children:[t&&ke("span",{className:"cal-day-dot cal-day-dot--selected"}),e.slice(0,s).map(r=>{let i=a?.[r];return ke("span",{className:"cal-day-dot","data-status":r,style:i?{backgroundColor:i}:void 0},r)})]});import{jsx as V,jsxs as Re}from"react/jsx-runtime";var xa={previousMonth:"Previous month",nextMonth:"Next month"},Na=({selectedDate:e,visibleMonth:t,eventDayStatuses:a,onSelectDate:o,onMonthChange:s,locale:r="es-CO",pickerLocale:i=ba,messages:d,statusColors:l,variant:p="card",highlightWeekOf:E,firstDay:c=1,showOutsideDays:C=!1,className:m})=>{let b={...xa,...d},D=Je(()=>{if(!E)return;let{start:g,end:O}=U(E,c),I=new Date(O);return I.setDate(I.getDate()-1),{start:g,last:I}},[E,c]),{monthNameFormat:y,yearFormat:v,weekdayFormat:h}=Je(()=>({monthNameFormat:new Intl.DateTimeFormat(r,{month:"long"}),yearFormat:new Intl.DateTimeFormat(r,{year:"numeric"}),weekdayFormat:new Intl.DateTimeFormat(r,{weekday:"short"})}),[r]),x=g=>{let O=y.format(g);return`${O.charAt(0).toUpperCase()+O.slice(1)} ${v.format(g)}`},j=()=>{let g=new Date(t);g.setMonth(g.getMonth()-1),s(g)},H=()=>{let g=new Date(t);g.setMonth(g.getMonth()+1),s(g)};return V(ce,{children:Re("div",{className:Pa(A,"cal-mini-root",m),"data-variant":p,children:[Re("div",{className:"cal-mini-header",children:[V("button",{type:"button","aria-label":b.previousMonth,onClick:j,className:"cal-mini-nav-button",children:V(Da,{size:14,"aria-hidden":!0})}),V("h2",{className:"cal-mini-caption",children:x(t)}),V("button",{type:"button","aria-label":b.nextMonth,onClick:H,className:"cal-mini-nav-button",children:V(_a,{size:14,"aria-hidden":!0})})]}),V(Sa,{mode:"single",locale:i,selected:e,month:t,onMonthChange:s,formatters:{formatWeekdayName:g=>h.format(g).charAt(0).toUpperCase()},onSelect:g=>{g&&o(g)},hideNavigation:!0,captionLayout:"label",showOutsideDays:C,modifiers:D?{"in-week":{from:D.start,to:D.last},"week-start":D.start,"week-end":D.last}:void 0,modifiersClassNames:{"in-week":"cal-mini-day--in-week","week-start":"cal-mini-day--week-start","week-end":"cal-mini-day--week-end"},className:"cal-mini-grid",classNames:{months:"cal-mini-months",month:"cal-mini-month",month_caption:"cal-mini-month-caption",caption_label:"cal-mini-caption-label",month_grid:"cal-mini-month-grid",weekdays:"cal-mini-weekdays",weekday:"cal-mini-weekday",week:"cal-mini-week",day:"cal-mini-day",day_button:"cal-mini-day-button",outside:"cal-mini-day--outside",today:"cal-mini-day--today"},components:{DayButton:({day:g,...O})=>{let I=k(g.date),ve=a.get(I)??[],ge=k(e)===I;return Re("button",{...O,children:[V("span",{children:g.date.getDate()}),V(Le,{statuses:ve,isSelected:ge,statusColors:l})]})}}})]})})};import{LayoutGroup as Ta,motion as ka}from"motion/react";import{CalendarDays as Ze,ChevronLeft as La,ChevronRight as Ra,Columns3 as Ba,LayoutGrid as Fa,List as Oa}from"lucide-react";import Ia from"clsx";import{forwardRef as Aa}from"react";import Ma from"clsx";import{jsx as Be,jsxs as wa}from"react/jsx-runtime";var X=Aa(({variant:e="primary",size:t="md",rounded:a="md",leftIcon:o,rightIcon:s,className:r,children:i,type:d="button",...l},p)=>wa("button",{ref:p,type:d,"data-variant":e,"data-size":t,"data-rounded":a,className:Ma("cal-button",r),...l,children:[o&&Be("span",{className:"cal-button__icon",children:o}),i&&Be("span",{className:"cal-button__label",children:i}),s&&Be("span",{className:"cal-button__icon",children:s})]}));X.displayName="Button";import{jsx as S,jsxs as Fe}from"react/jsx-runtime";var za={list:"List",day:"Day",week:"Week",month:"Month"},Va={list:S(Oa,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0}),day:S(Ze,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0}),week:S(Ba,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0}),month:S(Fa,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0})},ne={groupAriaLabel:"Calendar view",newEvent:"New event",today:"Today",previous:"Previous",next:"Next"},Ha=["month","week","list"],$a=(e,t)=>e===t||e==="week"&&t==="day",Ua=({activeView:e,onChangeView:t,views:a=Ha,onNavigate:o,todayActive:s=!1,periodLabel:r,filtersSlot:i,onNewEvent:d,messages:l,className:p})=>{let E={...za,...l?.views},c=l?.groupAriaLabel??ne.groupAriaLabel,C=l?.newEvent??ne.newEvent,m=l?.today??ne.today,b=l?.previous??ne.previous,D=l?.next??ne.next;return Fe("div",{className:Ia(A,"cal-toolbar",p),children:[o&&Fe("div",{className:"cal-toolbar__nav",children:[S(X,{variant:"outline",size:"sm",rounded:"full","data-active":s,"aria-pressed":s,onClick:()=>o("today"),children:m}),S("button",{type:"button",className:"cal-toolbar__nav-button","aria-label":b,onClick:()=>o("prev"),children:S(La,{size:18,"aria-hidden":!0})}),S("button",{type:"button",className:"cal-toolbar__nav-button","aria-label":D,onClick:()=>o("next"),children:S(Ra,{size:18,"aria-hidden":!0})}),r&&S("span",{className:"cal-toolbar__period",children:r})]}),i&&S("div",{className:"cal-toolbar__filters",children:i}),S(Ta,{id:"cal-toolbar-view-tabs",children:S("div",{className:"cal-toolbar__tabs",role:"group","aria-label":c,children:a.map(y=>{let v=$a(y,e);return Fe("button",{type:"button",onClick:()=>t(y),className:"cal-toolbar__tab","data-active":v,"aria-label":E[y],"aria-pressed":v,title:E[y],children:[v&&S(ka.span,{layoutId:"cal-toolbar-indicator",className:"cal-toolbar__indicator",transition:{type:"spring",stiffness:380,damping:34}}),S("span",{className:"cal-toolbar__tab-label",children:Va[y]})]},y)})})}),d&&S(X,{variant:"primary",size:"md",rounded:"full",onClick:d,leftIcon:S(Ze,{size:18,"aria-hidden":!0}),children:C})]})};import Ga from"clsx";import{jsx as se,jsxs as Ka}from"react/jsx-runtime";var Wa=({items:e,selectedIds:t,onToggle:a,className:o})=>{let s=new Set(t);return se("div",{className:Ga("cal-type-filter",o),role:"group",children:e.map(r=>{let i=s.has(r.id);return Ka("button",{type:"button",className:"cal-type-filter__item","data-selected":i,"aria-pressed":i,onClick:()=>a(r.id),children:[r.icon?se("span",{className:"cal-type-filter__icon",children:r.icon}):se("span",{className:"cal-type-filter__dot",style:r.color?{backgroundColor:r.color}:void 0}),se("span",{className:"cal-type-filter__label",children:r.label}),typeof r.count=="number"&&se("span",{className:"cal-type-filter__count",children:r.count})]},r.id)})})};import{useState as qa}from"react";import{Check as Ya,ChevronDown as Xa}from"lucide-react";import Qa from"clsx";import{jsx as F,jsxs as Oe}from"react/jsx-runtime";var Ie=e=>{let{placeholder:t,options:a,align:o="start",className:s}=e,[r,i]=qa(!1),d=e.multiple?new Set(e.value):new Set(e.value?[e.value]:[]),l=d.size,p=!e.multiple&&e.value?a.find(c=>c.value===e.value)?.label:void 0,E=c=>{if(e.multiple){e.onToggle(c);return}let C=e.clearable!==!1&&e.value===c?null:c;e.onChange(C),i(!1)};return Oe(z,{open:r,onOpenChange:i,children:[F(ae,{asChild:!0,children:Oe("button",{type:"button",className:Qa("cal-select__trigger",s),"data-open":r,"data-active":l>0,"aria-label":e["aria-label"]??t,children:[F("span",{className:"cal-select__placeholder",children:t}),p&&F("span",{className:"cal-select__value",children:p}),e.multiple&&l>0&&F("span",{className:"cal-select__badge",children:l}),F(Xa,{size:14,className:"cal-select__chevron","aria-hidden":!0})]})}),F(R,{className:"cal-select__panel",align:o,role:"listbox","aria-multiselectable":e.multiple??!1,children:a.map(c=>{let C=d.has(c.value);return Oe("button",{type:"button",role:"option","aria-selected":C,className:"cal-select__option","data-selected":C,onClick:()=>E(c.value),children:[c.icon?F("span",{className:"cal-select__option-icon",children:c.icon}):c.color?F("span",{className:"cal-select__dot",style:{backgroundColor:c.color}}):null,F("span",{className:"cal-select__option-label",children:c.label}),C&&F(Ya,{size:14,className:"cal-select__check","aria-hidden":!0})]},c.value)})})]})};import{jsx as Za}from"react/jsx-runtime";var Ja=({options:e,selected:t,onToggle:a,placeholder:o="Estado del evento",className:s})=>{let r=e.map(i=>({value:i.status,label:i.label,color:i.color}));return Za(Ie,{multiple:!0,placeholder:o,options:r,value:t,onToggle:a,className:s})};import{jsx as ue,jsxs as je}from"react/jsx-runtime";var ja={heading:"Event actions"},eo=({state:e,actions:t,onClose:a,onSelectAction:o,messages:s})=>{if(!e.point||!e.date)return null;let r={...ja,...s};return je(z,{open:e.isOpen,onOpenChange:i=>!i&&a(),children:[ue(oe,{asChild:!0,children:ue("span",{className:"cal-slot-anchor",style:{left:e.point.x,top:e.point.y},"aria-hidden":!0})}),je(R,{align:"start",sideOffset:8,className:"cal-slot-popover",onEscapeKeyDown:a,children:[ue("p",{className:"cal-slot-popover__heading",children:r.heading}),t.map(i=>ue(X,{type:"button",variant:"ghost",size:"sm",leftIcon:i.icon,className:"cal-slot-popover__action",onClick:()=>o({type:i.type,date:e.date}),children:i.label},i.type))]})]})};import{X as to}from"lucide-react";import ao from"clsx";import{jsx as ze,jsxs as no}from"react/jsx-runtime";var oo=({label:e,icon:t,onRemove:a,removeLabel:o="Remove",className:s})=>no("span",{className:ao("cal-type-chip",a&&"cal-type-chip--removable",s),children:[t&&ze("span",{className:"cal-type-chip__icon",children:t}),e,a&&ze("button",{type:"button",className:"cal-type-chip__remove","aria-label":`${o} ${e}`,onClick:a,children:ze(to,{size:12,"aria-hidden":!0})})]});import{useCallback as re,useMemo as so,useState as Ve}from"react";var ro=({initialView:e="week",initialDate:t,firstDay:a=1,locale:o="es-CO"}={})=>{let[s,r]=Ve(e),[i,d]=Ve(()=>t??new Date),[l,p]=Ve(()=>U(t??new Date,a)),E=s==="day"&&le(i,new Date),c=re(()=>{r(v=>v==="day"&&le(i,new Date)?"week":"day"),d(new Date)},[i]),C=re(v=>{if(v==="today"){c();return}d(h=>Se(h,s,v))},[s,c]),m=re(v=>{r(v)},[]),b=re(v=>{d(v),r(h=>h==="month"||h==="list"?"week":h)},[]),D=re((v,h)=>{p({start:v,end:h})},[]),y=so(()=>io(s,i,a,o),[s,i,a,o]);return{activeView:s,selectedDate:i,visibleRange:l,periodLabel:y,todayActive:E,onChangeView:m,onNavigate:C,onSelectDate:b,onVisibleRangeChange:D,onToday:c,setActiveView:r,setSelectedDate:d}},io=(e,t,a,o)=>{if(e==="day")return new Intl.DateTimeFormat(o,{weekday:"long",day:"numeric",month:"long"}).format(t);if(e==="month")return new Intl.DateTimeFormat(o,{month:"long",year:"numeric"}).format(t);let{start:s,end:r}=U(t,a),i=new Date(r);return i.setDate(i.getDate()-1),`${new Intl.DateTimeFormat(o,{day:"numeric",month:"short"}).formatRange(s,i)} ${s.getFullYear()}`};export{A as APE_CALENDAR_ROOT_CLASS,X as Button,Ua as CalendarToolbar,Le as DayEventDot,be as EmptyEventsState,Pe as EventAgendaList,xe as EventBlockContent,Ae as EventChipMonth,Ne as EventChipPopover,De as EventListRow,K as EventStatusBadge,oo as EventTypeChip,Wa as EventTypeFilterList,ha as MacroCalendar,Na as MiniMonthCalendar,Me as MoreEventsPopover,z as Popover,oe as PopoverAnchor,qt as PopoverClose,R as PopoverContent,Kt as PopoverPortal,ae as PopoverTrigger,Ie as Select,eo as SlotContextActions,Ja as StatusFilterSelect,yt as formatDurationLabel,_ as formatHourLabel,vt as getEventDayKeys,gt as getEventDayStatuses,U as getWeekRange,le as isSameDay,Ce as mapAvailabilityToBackgroundEvents,Et as mapAvailabilityToBusinessHours,he as mapEventToCalendarInput,Se as shiftDate,k as toDayKey,ro as useCalendarController};
1
+ import{useEffect as we,useMemo as Y,useRef as Te,useState as la}from"react";import ca from"@fullcalendar/react";import da from"@fullcalendar/daygrid";import pa from"@fullcalendar/timegrid";import ma from"@fullcalendar/interaction";import ua from"@fullcalendar/core/locales/es";import{useReducedMotion as va}from"motion/react";import{CalendarDays as ga}from"lucide-react";import ya from"clsx";var k=e=>{let t=e.getFullYear(),a=`${e.getMonth()+1}`.padStart(2,"0"),o=`${e.getDate()}`.padStart(2,"0");return`${t}-${a}-${o}`},le=(e,t)=>k(e)===k(t),vt=e=>new Set(e.map(t=>k(t.startDate))),gt=e=>e.reduce((t,a)=>{if(!a.status)return t;let o=k(a.startDate),s=t.get(o)??[];return s.includes(a.status)||t.set(o,[...s,a.status]),t},new Map),he=e=>({id:e.id,title:e.title,start:e.startAt,end:e.endAt,allDay:e.isAllDay??!1,extendedProps:{status:e.status,location:e.location,description:e.description,durationMinutes:e.durationMinutes}}),_=(e,t="es-CO",a={hour:"2-digit",minute:"2-digit",hour12:!1})=>e.toLocaleTimeString(t,a),yt=(e,t={})=>{let a=t.min??"min",o=t.h??"h";if(e<60)return`${e} ${a}`;let s=Math.floor(e/60),i=e%60;return i===0?`${s} ${o}`:`${s} ${o} ${i} ${a}`},Et=e=>e.map(t=>({daysOfWeek:t.daysOfWeek,startTime:t.startTime,endTime:t.endTime})),Ce=e=>e.map((t,a)=>({id:`cal-availability-${a}`,daysOfWeek:t.daysOfWeek,startTime:t.startTime,endTime:t.endTime,display:"background",classNames:["cal-availability-band"],editable:!1})),U=(e,t=1)=>{let a=new Date(e);a.setHours(0,0,0,0);let o=(a.getDay()-t+7)%7;a.setDate(a.getDate()-o);let s=new Date(a);return s.setDate(s.getDate()+7),{start:a,end:s}},Se=(e,t,a)=>{if(a==="today")return new Date;let o=new Date(e),s=a==="next"?1:-1;switch(t){case"month":o.setMonth(o.getMonth()+s);break;case"week":case"list":o.setDate(o.getDate()+s*7);break;case"day":o.setDate(o.getDate()+s);break}return o};var A="ape-calendar";import{createContext as ft,useContext as ht,useEffect as Ct,useState as St}from"react";import{jsx as bt}from"react/jsx-runtime";var Ge=ft(null),We=()=>ht(Ge);function ce({children:e}){let[t,a]=St(null);return Ct(()=>{if(typeof document>"u")return;let o=document.createElement("div");return o.className=A,o.dataset.apeCalendarPortalRoot="true",document.body.appendChild(o),a(o),()=>{o.parentNode&&o.parentNode.removeChild(o)}},[]),bt(Ge.Provider,{value:t,children:e})}import{useMemo as te}from"react";import Ke from"clsx";import{CalendarDays as Dt}from"lucide-react";import _t from"clsx";import{jsx as de,jsxs as Pt}from"react/jsx-runtime";var be=({title:e="No events to display",description:t="Adjust filters or create a new event to populate the calendar.",icon:a,className:o})=>Pt("div",{className:_t("cal-empty-state",o),children:[de("span",{className:"cal-empty-state__icon","aria-hidden":!0,children:a??de(Dt,{size:20})}),de("p",{className:"cal-empty-state__title",children:e}),de("p",{className:"cal-empty-state__description",children:t})]});import{Clock as Rt,SquarePen as Bt,Trash2 as Ft}from"lucide-react";import{Ban as xt,CalendarClock as Nt,CircleCheck as At,Rocket as Mt}from"lucide-react";import wt from"clsx";import{jsx as J,jsxs as Lt}from"react/jsx-runtime";var Tt={draft:J("span",{className:"cal-status-badge__dot","data-status":"draft"}),published:J(Mt,{size:11,"aria-hidden":!0}),scheduled:J(Nt,{size:11,"aria-hidden":!0}),archived:J("span",{className:"cal-status-badge__dot","data-status":"archived"}),cancelled:J(xt,{size:11,"aria-hidden":!0}),finalizado:J(At,{size:11,"aria-hidden":!0})},kt=e=>e.charAt(0).toUpperCase()+e.slice(1),K=({status:e,labels:t,icons:a,className:o})=>{let s=t?.[e]??kt(e),i=a?.[e]??Tt[e];return Lt("span",{className:wt("cal-status-badge",o),"data-status":e,children:[i,s]})};import{jsx as G,jsxs as Z}from"react/jsx-runtime";var Ot={edit:e=>`Edit event ${e}`,delete:e=>`Delete event ${e}`},De=({event:e,onEdit:t,onDelete:a,locale:o="es-CO",statusLabels:s,renderEventMeta:i,messages:r})=>{let d={...Ot,...r},l=e.status??"";return Z("div",{className:"cal-list-row","data-status":l,children:[Z("span",{className:"cal-list-row__time-chip","aria-label":"event time",children:[G(Rt,{size:12,"aria-hidden":!0}),Z("span",{children:[_(e.startDate,o)," - ",_(e.endDate,o)]})]}),Z("div",{className:"cal-list-row__body",children:[G("p",{className:"cal-list-row__title",children:e.title}),i&&G("div",{className:"cal-list-row__meta",children:i(e)})]}),Z("div",{className:"cal-list-row__aside",children:[e.status&&G(K,{status:e.status,labels:s}),Z("div",{className:"cal-list-row__actions",children:[G("button",{type:"button","aria-label":d.edit(e.title),onClick:p=>{p.stopPropagation(),t(e)},className:"cal-list-row__action-button",children:G(Bt,{size:13})}),G("button",{type:"button","aria-label":d.delete(e.title),onClick:p=>{p.stopPropagation(),a(e)},className:"cal-list-row__action-button cal-list-row__action-button--danger",children:G(Ft,{size:13})})]})]})]})};import{jsx as L,jsxs as _e}from"react/jsx-runtime";var It={noEvents:"No events to display",noEventsForDay:"No events"},zt=e=>{let t=[],a=new Date(e.start);a.setHours(0,0,0,0);let o=new Date(e.end);for(o.setHours(0,0,0,0);a<o;)t.push(new Date(a)),a.setDate(a.getDate()+1);return t},Pe=({events:e,range:t,locale:a="es-CO",statusLabels:o,renderEventMeta:s,renderDayHeader:i,onEditEvent:r,onDeleteEvent:d,messages:l,className:p})=>{let E=te(()=>zt(t),[t]),c=te(()=>{let y=new Map;for(let v of e){let h=k(v.startDate),x=y.get(h)??[];x.push(v),y.set(h,x)}for(let v of y.values())v.sort((h,x)=>h.startDate.getTime()-x.startDate.getTime());return y},[e]),C=te(()=>new Intl.DateTimeFormat(a,{day:"2-digit"}),[a]),m=te(()=>new Intl.DateTimeFormat(a,{month:"short"}),[a]),b=te(()=>new Intl.DateTimeFormat(a,{weekday:"short"}),[a]),D={...It,...l};return e.length===0&&!i?L("div",{className:Ke(A,"cal-agenda",p),children:L(be,{title:D.noEvents})}):L("div",{className:Ke(A,"cal-agenda",p),children:E.map(y=>{let v=k(y),h=c.get(v)??[],x=h.length>0,H=i?.(y,{hasEvents:x,events:h});return!x&&!H?null:_e("section",{className:"cal-agenda-day",children:[_e("aside",{className:"cal-agenda-day__anchor",children:[L("span",{className:"cal-agenda-day__month",children:m.format(y).replace(".","")}),L("span",{className:"cal-agenda-day__number",children:C.format(y)}),L("span",{className:"cal-agenda-day__weekday",children:b.format(y).replace(".","")})]}),_e("div",{className:"cal-agenda-day__body",children:[H&&L("div",{className:"cal-agenda-day__header",children:H}),x?L("ul",{className:"cal-agenda-day__events",children:h.map(g=>L("li",{className:"cal-agenda-day__event-item",children:L(De,{event:g,onEdit:r,onDelete:d,locale:a,statusLabels:o,renderEventMeta:s,messages:l})},g.id))}):L("p",{className:"cal-agenda-day__empty",children:D.noEventsForDay})]})]},v)})})};import{Clock as Vt,SquarePen as Ht,Trash2 as $t}from"lucide-react";import{jsx as W,jsxs as pe}from"react/jsx-runtime";var Ut={edit:e=>`Edit event ${e}`,delete:e=>`Delete event ${e}`},xe=({event:e,onEdit:t,onDelete:a,locale:o="es-CO",statusLabels:s,messages:i})=>{let r={...Ut,...i},d=e.status??"";return pe("article",{className:"cal-event-block","data-status":d,children:[W("div",{className:"cal-event-block__header",children:e.status&&W(K,{status:e.status,labels:s})}),W("p",{className:"cal-event-block__title",children:e.title}),pe("p",{className:"cal-event-block__time",children:[W(Vt,{size:10,"aria-hidden":!0}),pe("span",{children:[_(e.startDate,o)," - ",_(e.endDate,o)]})]}),pe("div",{className:"cal-event-block__actions",children:[W("button",{type:"button","aria-label":r.edit(e.title),onClick:l=>{l.stopPropagation(),t(e)},className:"cal-event-block__action-button",children:W(Ht,{size:11})}),W("button",{type:"button","aria-label":r.delete(e.title),onClick:l=>{l.stopPropagation(),a(e)},className:"cal-event-block__action-button cal-event-block__action-button--danger",children:W($t,{size:11})})]})]})};import{Clock as Yt,MapPin as Xt,SquarePen as Qt,Trash2 as Jt}from"lucide-react";import*as N from"@radix-ui/react-popover";import{forwardRef as Gt}from"react";import Wt from"clsx";import{jsx as qe}from"react/jsx-runtime";var z=N.Root,ae=N.Trigger,oe=N.Anchor,Kt=N.Portal,qt=N.Close,R=Gt(({className:e,align:t="center",sideOffset:a=4,...o},s)=>{let i=We();return qe(N.Portal,{container:i??void 0,children:qe(N.Content,{ref:s,align:t,sideOffset:a,className:Wt("cal-popover-content",e),...o})})});R.displayName="PopoverContent";import{jsx as M,jsxs as B}from"react/jsx-runtime";var Zt={weekday:"long",day:"2-digit",month:"long"},jt={edit:"Edit",delete:"Delete",editAria:e=>`Edit event ${e}`,deleteAria:e=>`Delete event ${e}`},Ne=({event:e,onEdit:t,onDelete:a,children:o,locale:s="es-CO",statusLabels:i,renderEventMeta:r,messages:d,dayHeaderOptions:l})=>{let p={...jt,...d},c=new Intl.DateTimeFormat(s,l??Zt).format(e.startDate),C=`${_(e.startDate,s)} \u2013 ${_(e.endDate,s)}`;return B(z,{children:[M(ae,{asChild:!0,children:o}),B(R,{align:"start",sideOffset:6,collisionPadding:12,className:"cal-chip-popover",onClick:m=>m.stopPropagation(),children:[B("header",{className:"cal-chip-popover__header",children:[B("div",{className:"cal-chip-popover__header-info",children:[M("p",{className:"cal-chip-popover__day",children:c}),M("h3",{className:"cal-chip-popover__title",children:e.title})]}),e.status&&M(K,{status:e.status,labels:i})]}),B("dl",{className:"cal-chip-popover__meta",children:[B("div",{className:"cal-chip-popover__meta-row",children:[M(Yt,{size:12,"aria-hidden":!0}),M("span",{children:C})]}),r&&M("div",{className:"cal-chip-popover__meta-row cal-chip-popover__meta-row--wrap",children:r(e)}),e.location&&B("div",{className:"cal-chip-popover__meta-row cal-chip-popover__meta-row--start",children:[M(Xt,{size:12,"aria-hidden":!0}),M("span",{className:"cal-chip-popover__clamp-2",children:e.location})]})]}),e.description&&M("p",{className:"cal-chip-popover__description",children:e.description}),B("footer",{className:"cal-chip-popover__footer",children:[B("button",{type:"button","aria-label":p.editAria(e.title),onClick:m=>{m.stopPropagation(),t(e)},className:"cal-chip-popover__action",children:[M(Qt,{size:12}),p.edit]}),B("button",{type:"button","aria-label":p.deleteAria(e.title),onClick:m=>{m.stopPropagation(),a(e)},className:"cal-chip-popover__action cal-chip-popover__action--danger",children:[M(Jt,{size:12}),p.delete]})]})]})]})};import{jsx as me,jsxs as ea}from"react/jsx-runtime";var Ae=({event:e,onEdit:t,onDelete:a,locale:o="es-CO",statusLabels:s,renderEventMeta:i,messages:r,triggerAria:d=l=>`Show event details ${l}`})=>{let l=_(e.startDate,o),p=e.status??"";return me(Ne,{event:e,onEdit:t,onDelete:a,locale:o,statusLabels:s,renderEventMeta:i,messages:r,children:ea("button",{type:"button","aria-label":d(e.title),onClick:E=>E.stopPropagation(),className:"cal-chip-month","data-status":p,children:[me("span",{className:"cal-chip-month__dot","aria-hidden":!0}),me("span",{className:"cal-chip-month__time",children:l}),me("span",{className:"cal-chip-month__title",children:e.title})]})})};import{useMemo as ta}from"react";import{Clock as aa,SquarePen as oa,Trash2 as na}from"lucide-react";import{jsx as w,jsxs as q}from"react/jsx-runtime";var sa={weekday:"long",day:"2-digit",month:"long"},ra={header:e=>`${e} events in this slot`,editAria:e=>`Edit event ${e}`,deleteAria:e=>`Delete event ${e}`},ia=({events:e,anchor:t,open:a,onOpenChange:o,onEdit:s,onDelete:i,locale:r="es-CO",messages:d,dayHeaderOptions:l})=>{let p=ta(()=>({current:t}),[t]),E={...ra,...d},C=new Intl.DateTimeFormat(r,l??sa).format(e[0].startDate);return q(z,{open:a,onOpenChange:o,children:[w(oe,{virtualRef:p}),q(R,{align:"start",sideOffset:6,collisionPadding:12,className:"cal-more-popover",onClick:m=>m.stopPropagation(),children:[q("header",{className:"cal-more-popover__header",children:[w("p",{className:"cal-more-popover__day",children:C}),w("h3",{className:"cal-more-popover__title",children:E.header(e.length)})]}),w("ul",{className:"cal-more-popover__list",children:e.map(m=>q("li",{className:"cal-more-popover__item",children:[w("span",{className:"cal-more-popover__dot","data-status":m.status??"","aria-hidden":!0}),q("div",{className:"cal-more-popover__item-body",children:[w("p",{className:"cal-more-popover__item-title",children:m.title}),q("p",{className:"cal-more-popover__item-time",children:[w(aa,{size:10,"aria-hidden":!0}),_(m.startDate,r)," \u2013"," ",_(m.endDate,r)]})]}),q("div",{className:"cal-more-popover__item-actions",children:[w("button",{type:"button","aria-label":E.editAria(m.title),onClick:b=>{b.stopPropagation(),o(!1),s(m)},className:"cal-more-popover__action",children:w(oa,{size:12})}),w("button",{type:"button","aria-label":E.deleteAria(m.title),onClick:b=>{b.stopPropagation(),o(!1),i(m)},className:"cal-more-popover__action cal-more-popover__action--danger",children:w(na,{size:12})})]})]},m.id))})]})]})},Me=e=>!e.anchor||e.events.length===0?null:w(ia,{...e,anchor:e.anchor});import{jsx as T,jsxs as Xe}from"react/jsx-runtime";var Ye={day:"timeGridDay",week:"timeGridWeek",month:"dayGridMonth"},Ea=220,fa={moreLink:e=>`+${e} more`,allDayText:"All day",todayHeaderAria:"Today",noEvents:"No events to display"},ha=({events:e,activeView:t,selectedDate:a,highlightEventIds:o=[],onDeleteEvent:s,onEditEvent:i,onEventTimeChange:r,onDateClick:d,onDateSelected:l,onVisibleRangeChange:p,onSwitchToDay:E,locale:c="es-CO",fullCalendarLocale:C=ua,firstDay:m=1,availability:b,statusLabels:D,renderEventMeta:y,renderDayHeader:v,renderAgendaDayHeader:h,messages:x,immutableStatuses:j,eventAllow:H,height:g="100%",highlightDurationMs:O=650,slotDuration:I="00:30:00",snapDuration:ve="00:15:00",className:ge})=>{let He=Te(null),ye=Te(null),$e=Te(!0),[Ee,fe]=la(null),Ue=va(),Q=Y(()=>({...fa,...x}),[x]),et=n=>typeof Q.moreLink=="function"?Q.moreLink(n):Q.moreLink.replace("{count}",String(n)),tt=Y(()=>new Set(o),[o]),ee=Y(()=>new Map(e.map(n=>[n.id,n])),[e]),at=Y(()=>{let n=e.map(he);return b&&(t==="week"||t==="day")?[...n,...Ce(b)]:n},[e,b,t]),ot=Y(()=>new Intl.DateTimeFormat(c,{weekday:"short"}),[c]),nt=Y(()=>new Set(j??["archived"]),[j]);we(()=>{if(fe(null),t==="list")return;let n=He.current?.getApi();if(!n)return;let u=!1;return queueMicrotask(()=>{if(u)return;let f=Ye[t];n.view.type!==f&&n.changeView(f),n.getDate().toDateString()!==a.toDateString()&&n.gotoDate(a)}),()=>{u=!0}},[t,a]);let ie=Y(()=>U(a,m),[a,m]);we(()=>{t==="list"&&p(ie.start,ie.end)},[t,ie]),we(()=>{if($e.current){$e.current=!1;return}Ue||!ye.current||ye.current.animate([{opacity:.88,transform:"translateY(5px)"},{opacity:1,transform:"translateY(0)"}],{duration:Ea,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"both"})},[t,Ue]);let st=n=>p(n.start,n.end),rt=n=>{l(n.date),d(n.date,{x:n.jsEvent.clientX,y:n.jsEvent.clientY})},it=n=>{let u=n.jsEvent?{x:n.jsEvent.clientX,y:n.jsEvent.clientY}:{x:window.innerWidth/2,y:window.innerHeight/2};l(n.start),d(n.start,u)},lt=n=>{let u=ee.get(n.event.id);return u?n.view.type==="dayGridMonth"||n.event.allDay?T(Ae,{event:u,onEdit:i,onDelete:s,locale:c,statusLabels:D,renderEventMeta:y}):T(xe,{event:u,onEdit:i,onDelete:s,locale:c,statusLabels:D}):T("p",{className:"cal-event-fallback",children:n.event.title})},ct=n=>{tt.has(n.event.id)&&(n.el.style.setProperty("--cal-highlight-duration",`${O}ms`),n.el.classList.add("cal-event-highlight-enter"),window.setTimeout(()=>n.el.classList.remove("cal-event-highlight-enter"),O))},dt=(n,u,f)=>{if(f)return f.toISOString();let P=new Date(u),$=n.durationMinutes??60;return P.setMinutes(P.getMinutes()+$),P.toISOString()},pt=n=>{let u=ee.get(n.event.id),f=n.event.start;if(!u||!f){n.revert();return}r({event:u,startAt:f.toISOString(),endAt:dt(u,f,n.event.end),revert:n.revert})},mt=n=>{let u=ee.get(n.event.id),f=n.event.start,P=n.event.end;if(!u||!f||!P){n.revert();return}if(P<=f){n.revert();return}r({event:u,startAt:f.toISOString(),endAt:P.toISOString(),revert:n.revert})},ut=({date:n,isToday:u})=>{if(v)return v(n,{isToday:u});let f=ot.format(n).replace(".","");return Xe("div",{className:"cal-day-header",children:[T("span",{className:"cal-day-header__number","data-today":u,"aria-label":u?Q.todayHeaderAria:void 0,children:n.getDate()}),T("span",{className:"cal-day-header__weekday",children:f})]})};return T(ce,{children:T("div",{className:ya(A,"cal-macro-root",ge),children:Xe("div",{ref:ye,className:"cal-macro-surface",children:[T(ga,{className:"cal-macro-corner-icon",size:20,"aria-hidden":!0}),t==="list"?T(Pe,{events:e,range:ie,locale:c,statusLabels:D,renderEventMeta:y,renderDayHeader:h,onEditEvent:i,onDeleteEvent:s,messages:{noEvents:Q.noEvents}}):T(ca,{ref:He,plugins:[da,pa,ma],locale:C,initialView:Ye[t],height:g,expandRows:!0,firstDay:m,allDaySlot:!1,allDayText:Q.allDayText,selectable:!0,selectMirror:!0,editable:!0,eventStartEditable:!0,eventDurationEditable:!0,eventResizableFromStart:!0,dayMaxEvents:!0,eventMaxStack:3,moreLinkContent:n=>T("span",{className:"cal-more-link",children:et(n.num)}),moreLinkClick:n=>{if(n.view.type==="dayGridMonth")return E(n.date),"none";let u=n.allSegs.map($=>ee.get($.event.id)).filter($=>!!$),f=n.jsEvent.target,P=f instanceof Element?f.closest(".fc-more-link"):null;return P&&u.length>0&&fe({events:u,anchor:P}),"none"},nowIndicator:!0,slotDuration:I,snapDuration:ve,slotLabelInterval:"01:00:00",slotLabelFormat:{hour:"2-digit",minute:"2-digit",hour12:!1},slotMinTime:"00:00:00",slotMaxTime:"24:00:00",slotEventOverlap:!1,eventMinHeight:28,eventShortHeight:48,headerToolbar:!1,events:at,eventDrop:pt,eventResize:mt,eventDidMount:ct,dragScroll:!0,eventDragMinDistance:8,dragRevertDuration:420,longPressDelay:380,selectLongPressDelay:380,eventAllow:(n,u)=>{if(!u)return!1;let f=u.extendedProps.status,P=typeof f=="string"?!nt.has(f):!0;if(!P||!H)return P;let $=ee.get(u.id);return $?H($,n.startStr,n.endStr):!0},datesSet:st,dateClick:rt,select:it,dayHeaderContent:ut,eventContent:lt}),T(Me,{events:Ee?.events??[],anchor:Ee?.anchor??null,open:!!Ee,onOpenChange:n=>{n||fe(null)},onEdit:i,onDelete:s,locale:c})]})})})};import{useMemo as Je}from"react";import{DayPicker as Sa}from"react-day-picker";import{es as ba}from"react-day-picker/locale";import{ChevronLeft as Da,ChevronRight as _a}from"lucide-react";import Pa from"clsx";import Qe from"clsx";import{jsx as ke,jsxs as Ca}from"react/jsx-runtime";var Le=({statuses:e,isSelected:t=!1,statusColors:a,className:o,maxDots:s=2})=>e.length===0&&!t?ke("span",{className:Qe("cal-day-dot-empty",o),"aria-hidden":!0}):Ca("span",{className:Qe("cal-day-dot-row",o),"aria-hidden":!0,children:[t&&ke("span",{className:"cal-day-dot cal-day-dot--selected"}),e.slice(0,s).map(i=>{let r=a?.[i];return ke("span",{className:"cal-day-dot","data-status":i,style:r?{backgroundColor:r}:void 0},i)})]});import{jsx as V,jsxs as Re}from"react/jsx-runtime";var xa={previousMonth:"Previous month",nextMonth:"Next month"},Na=({selectedDate:e,visibleMonth:t,eventDayStatuses:a,onSelectDate:o,onMonthChange:s,locale:i="es-CO",pickerLocale:r=ba,messages:d,statusColors:l,variant:p="card",highlightWeekOf:E,firstDay:c=1,showOutsideDays:C=!1,className:m})=>{let b={...xa,...d},D=Je(()=>{if(!E)return;let{start:g,end:O}=U(E,c),I=new Date(O);return I.setDate(I.getDate()-1),{start:g,last:I}},[E,c]),{monthNameFormat:y,yearFormat:v,weekdayFormat:h}=Je(()=>({monthNameFormat:new Intl.DateTimeFormat(i,{month:"long"}),yearFormat:new Intl.DateTimeFormat(i,{year:"numeric"}),weekdayFormat:new Intl.DateTimeFormat(i,{weekday:"short"})}),[i]),x=g=>{let O=y.format(g);return`${O.charAt(0).toUpperCase()+O.slice(1)} ${v.format(g)}`},j=()=>{let g=new Date(t);g.setMonth(g.getMonth()-1),s(g)},H=()=>{let g=new Date(t);g.setMonth(g.getMonth()+1),s(g)};return V(ce,{children:Re("div",{className:Pa(A,"cal-mini-root",m),"data-variant":p,children:[Re("div",{className:"cal-mini-header",children:[V("button",{type:"button","aria-label":b.previousMonth,onClick:j,className:"cal-mini-nav-button",children:V(Da,{size:14,"aria-hidden":!0})}),V("h2",{className:"cal-mini-caption",children:x(t)}),V("button",{type:"button","aria-label":b.nextMonth,onClick:H,className:"cal-mini-nav-button",children:V(_a,{size:14,"aria-hidden":!0})})]}),V(Sa,{mode:"single",locale:r,selected:e,month:t,onMonthChange:s,formatters:{formatWeekdayName:g=>h.format(g).charAt(0).toUpperCase()},onSelect:g=>{g&&o(g)},hideNavigation:!0,captionLayout:"label",showOutsideDays:C,modifiers:D?{"in-week":{from:D.start,to:D.last},"week-start":D.start,"week-end":D.last}:void 0,modifiersClassNames:{"in-week":"cal-mini-day--in-week","week-start":"cal-mini-day--week-start","week-end":"cal-mini-day--week-end"},className:"cal-mini-grid",classNames:{months:"cal-mini-months",month:"cal-mini-month",month_caption:"cal-mini-month-caption",caption_label:"cal-mini-caption-label",month_grid:"cal-mini-month-grid",weekdays:"cal-mini-weekdays",weekday:"cal-mini-weekday",week:"cal-mini-week",day:"cal-mini-day",day_button:"cal-mini-day-button",outside:"cal-mini-day--outside",today:"cal-mini-day--today"},components:{DayButton:({day:g,...O})=>{let I=k(g.date),ve=a.get(I)??[],ge=k(e)===I;return Re("button",{...O,children:[V("span",{children:g.date.getDate()}),V(Le,{statuses:ve,isSelected:ge,statusColors:l})]})}}})]})})};import{LayoutGroup as Ta,motion as ka}from"motion/react";import{CalendarDays as Ze,ChevronLeft as La,ChevronRight as Ra,Columns3 as Ba,LayoutGrid as Fa,List as Oa}from"lucide-react";import Ia from"clsx";import{forwardRef as Aa}from"react";import Ma from"clsx";import{jsx as Be,jsxs as wa}from"react/jsx-runtime";var X=Aa(({variant:e="primary",size:t="md",rounded:a="md",leftIcon:o,rightIcon:s,className:i,children:r,type:d="button",...l},p)=>wa("button",{ref:p,type:d,"data-variant":e,"data-size":t,"data-rounded":a,className:Ma("cal-button",i),...l,children:[o&&Be("span",{className:"cal-button__icon",children:o}),r&&Be("span",{className:"cal-button__label",children:r}),s&&Be("span",{className:"cal-button__icon",children:s})]}));X.displayName="Button";import{jsx as S,jsxs as Fe}from"react/jsx-runtime";var za={list:"List",day:"Day",week:"Week",month:"Month"},Va={list:S(Oa,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0}),day:S(Ze,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0}),week:S(Ba,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0}),month:S(Fa,{size:14,className:"cal-toolbar__tab-icon","aria-hidden":!0})},ne={groupAriaLabel:"Calendar view",newEvent:"New event",today:"Today",previous:"Previous",next:"Next"},Ha=["month","week","list"],$a=(e,t)=>e===t||e==="week"&&t==="day",Ua=({activeView:e,onChangeView:t,views:a=Ha,onNavigate:o,todayActive:s=!1,periodLabel:i,filtersSlot:r,onNewEvent:d,messages:l,className:p})=>{let E={...za,...l?.views},c=l?.groupAriaLabel??ne.groupAriaLabel,C=l?.newEvent??ne.newEvent,m=l?.today??ne.today,b=l?.previous??ne.previous,D=l?.next??ne.next;return Fe("div",{className:Ia(A,"cal-toolbar",p),children:[o&&Fe("div",{className:"cal-toolbar__nav",children:[S(X,{variant:"outline",size:"sm",rounded:"full","data-active":s,"aria-pressed":s,onClick:()=>o("today"),children:m}),S("button",{type:"button",className:"cal-toolbar__nav-button","aria-label":b,onClick:()=>o("prev"),children:S(La,{size:18,"aria-hidden":!0})}),S("button",{type:"button",className:"cal-toolbar__nav-button","aria-label":D,onClick:()=>o("next"),children:S(Ra,{size:18,"aria-hidden":!0})}),i&&S("span",{className:"cal-toolbar__period",children:i})]}),r&&S("div",{className:"cal-toolbar__filters",children:r}),S(Ta,{id:"cal-toolbar-view-tabs",children:S("div",{className:"cal-toolbar__tabs",role:"group","aria-label":c,children:a.map(y=>{let v=$a(y,e);return Fe("button",{type:"button",onClick:()=>t(y),className:"cal-toolbar__tab","data-active":v,"aria-label":E[y],"aria-pressed":v,title:E[y],children:[v&&S(ka.span,{layoutId:"cal-toolbar-indicator",className:"cal-toolbar__indicator",transition:{type:"spring",stiffness:380,damping:34}}),S("span",{className:"cal-toolbar__tab-label",children:Va[y]})]},y)})})}),d&&S(X,{variant:"primary",size:"md",rounded:"full",onClick:d,leftIcon:S(Ze,{size:18,"aria-hidden":!0}),children:C})]})};import Ga from"clsx";import{jsx as se,jsxs as Ka}from"react/jsx-runtime";var Wa=({items:e,selectedIds:t,onToggle:a,variant:o="list",className:s})=>{let i=new Set(t);return se("div",{className:Ga("cal-type-filter",s),role:"group","data-variant":o,children:e.map(r=>{let d=i.has(r.id);return Ka("button",{type:"button",className:"cal-type-filter__item","data-selected":d,"aria-pressed":d,onClick:()=>a(r.id),children:[r.icon?se("span",{className:"cal-type-filter__icon",children:r.icon}):se("span",{className:"cal-type-filter__dot",style:r.color?{backgroundColor:r.color}:void 0}),se("span",{className:"cal-type-filter__label",children:r.label}),typeof r.count=="number"&&se("span",{className:"cal-type-filter__count",children:r.count})]},r.id)})})};import{useState as qa}from"react";import{Check as Ya,ChevronDown as Xa}from"lucide-react";import Qa from"clsx";import{jsx as F,jsxs as Oe}from"react/jsx-runtime";var Ie=e=>{let{placeholder:t,options:a,align:o="start",className:s}=e,[i,r]=qa(!1),d=e.multiple?new Set(e.value):new Set(e.value?[e.value]:[]),l=d.size,p=!e.multiple&&e.value?a.find(c=>c.value===e.value)?.label:void 0,E=c=>{if(e.multiple){e.onToggle(c);return}let C=e.clearable!==!1&&e.value===c?null:c;e.onChange(C),r(!1)};return Oe(z,{open:i,onOpenChange:r,children:[F(ae,{asChild:!0,children:Oe("button",{type:"button",className:Qa("cal-select__trigger",s),"data-open":i,"data-active":l>0,"aria-label":e["aria-label"]??t,children:[F("span",{className:"cal-select__placeholder",children:t}),p&&F("span",{className:"cal-select__value",children:p}),e.multiple&&l>0&&F("span",{className:"cal-select__badge",children:l}),F(Xa,{size:14,className:"cal-select__chevron","aria-hidden":!0})]})}),F(R,{className:"cal-select__panel",align:o,role:"listbox","aria-multiselectable":e.multiple??!1,children:a.map(c=>{let C=d.has(c.value);return Oe("button",{type:"button",role:"option","aria-selected":C,className:"cal-select__option","data-selected":C,onClick:()=>E(c.value),children:[c.icon?F("span",{className:"cal-select__option-icon",children:c.icon}):c.color?F("span",{className:"cal-select__dot",style:{backgroundColor:c.color}}):null,F("span",{className:"cal-select__option-label",children:c.label}),C&&F(Ya,{size:14,className:"cal-select__check","aria-hidden":!0})]},c.value)})})]})};import{jsx as Za}from"react/jsx-runtime";var Ja=({options:e,selected:t,onToggle:a,placeholder:o="Estado del evento",className:s})=>{let i=e.map(r=>({value:r.status,label:r.label,color:r.color}));return Za(Ie,{multiple:!0,placeholder:o,options:i,value:t,onToggle:a,className:s})};import{jsx as ue,jsxs as je}from"react/jsx-runtime";var ja={heading:"Event actions"},eo=({state:e,actions:t,onClose:a,onSelectAction:o,messages:s})=>{if(!e.point||!e.date)return null;let i={...ja,...s};return je(z,{open:e.isOpen,onOpenChange:r=>!r&&a(),children:[ue(oe,{asChild:!0,children:ue("span",{className:"cal-slot-anchor",style:{left:e.point.x,top:e.point.y},"aria-hidden":!0})}),je(R,{align:"start",sideOffset:8,className:"cal-slot-popover",onEscapeKeyDown:a,children:[ue("p",{className:"cal-slot-popover__heading",children:i.heading}),t.map(r=>ue(X,{type:"button",variant:"ghost",size:"sm",leftIcon:r.icon,className:"cal-slot-popover__action",onClick:()=>o({type:r.type,date:e.date}),children:r.label},r.type))]})]})};import{X as to}from"lucide-react";import ao from"clsx";import{jsx as ze,jsxs as no}from"react/jsx-runtime";var oo=({label:e,icon:t,onRemove:a,removeLabel:o="Remove",className:s})=>no("span",{className:ao("cal-type-chip",a&&"cal-type-chip--removable",s),children:[t&&ze("span",{className:"cal-type-chip__icon",children:t}),e,a&&ze("button",{type:"button",className:"cal-type-chip__remove","aria-label":`${o} ${e}`,onClick:a,children:ze(to,{size:12,"aria-hidden":!0})})]});import{useCallback as re,useMemo as so,useState as Ve}from"react";var ro=({initialView:e="week",initialDate:t,firstDay:a=1,locale:o="es-CO"}={})=>{let[s,i]=Ve(e),[r,d]=Ve(()=>t??new Date),[l,p]=Ve(()=>U(t??new Date,a)),E=s==="day"&&le(r,new Date),c=re(()=>{i(v=>v==="day"&&le(r,new Date)?"week":"day"),d(new Date)},[r]),C=re(v=>{if(v==="today"){c();return}d(h=>Se(h,s,v))},[s,c]),m=re(v=>{i(v)},[]),b=re(v=>{d(v),i(h=>h==="month"||h==="list"?"week":h)},[]),D=re((v,h)=>{p({start:v,end:h})},[]),y=so(()=>io(s,r,a,o),[s,r,a,o]);return{activeView:s,selectedDate:r,visibleRange:l,periodLabel:y,todayActive:E,onChangeView:m,onNavigate:C,onSelectDate:b,onVisibleRangeChange:D,onToday:c,setActiveView:i,setSelectedDate:d}},io=(e,t,a,o)=>{if(e==="day")return new Intl.DateTimeFormat(o,{weekday:"long",day:"numeric",month:"long"}).format(t);if(e==="month")return new Intl.DateTimeFormat(o,{month:"long",year:"numeric"}).format(t);let{start:s,end:i}=U(t,a),r=new Date(i);return r.setDate(r.getDate()-1),`${new Intl.DateTimeFormat(o,{day:"numeric",month:"short"}).formatRange(s,r)} ${s.getFullYear()}`};export{A as APE_CALENDAR_ROOT_CLASS,X as Button,Ua as CalendarToolbar,Le as DayEventDot,be as EmptyEventsState,Pe as EventAgendaList,xe as EventBlockContent,Ae as EventChipMonth,Ne as EventChipPopover,De as EventListRow,K as EventStatusBadge,oo as EventTypeChip,Wa as EventTypeFilterList,ha as MacroCalendar,Na as MiniMonthCalendar,Me as MoreEventsPopover,z as Popover,oe as PopoverAnchor,qt as PopoverClose,R as PopoverContent,Kt as PopoverPortal,ae as PopoverTrigger,Ie as Select,eo as SlotContextActions,Ja as StatusFilterSelect,yt as formatDurationLabel,_ as formatHourLabel,vt as getEventDayKeys,gt as getEventDayStatuses,U as getWeekRange,le as isSameDay,Ce as mapAvailabilityToBackgroundEvents,Et as mapAvailabilityToBusinessHours,he as mapEventToCalendarInput,Se as shiftDate,k as toDayKey,ro as useCalendarController};
2
2
  //# sourceMappingURL=index.js.map
package/dist/style.css CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){.ape-calendar *,.ape-calendar :before,.ape-calendar :after,.ape-calendar ::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.ape-calendar,.ape-calendar{--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}:where(.ape-calendar) .visible{visibility:visible}:where(.ape-calendar) .container{width:100%}@media (min-width:40rem){:where(.ape-calendar) .container{max-width:40rem}}@media (min-width:48rem){:where(.ape-calendar) .container{max-width:48rem}}@media (min-width:64rem){:where(.ape-calendar) .container{max-width:64rem}}@media (min-width:80rem){:where(.ape-calendar) .container{max-width:80rem}}@media (min-width:96rem){:where(.ape-calendar) .container{max-width:96rem}}:where(.ape-calendar) .block{display:block}:where(.ape-calendar) .grid{display:grid}:where(.ape-calendar) .inline{display:inline}:where(.ape-calendar) .table{display:table}:where(.ape-calendar) .transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}:where(.ape-calendar) .rounded{border-radius:.25rem}:where(.ape-calendar) .capitalize{text-transform:capitalize}:where(.ape-calendar) .ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:where(.ape-calendar) .outline{outline-style:var(--tw-outline-style);outline-width:1px}:where(.ape-calendar) .filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}:where(.ape-calendar) .transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ape-calendar{--cal-status-default:#cbd5e1;--cal-status-draft:#d4d4d4;--cal-status-published:#39a900;--cal-status-scheduled:#005dca;--cal-status-archived:#d4d4d4;--cal-status-cancelled:#8c1712;--cal-status-finalizado:#9747fc;--cal-status-selected:#005dca;--cal-status-draft-bg:#fafafa;--cal-status-draft-bg-hover:#f4f4f5;--cal-status-draft-text:#52525b;--cal-status-published-bg:#ecfdf3;--cal-status-published-bg-hover:#d1fadf;--cal-status-published-text:#1d6b00;--cal-status-scheduled-bg:#e8f1fd;--cal-status-scheduled-bg-hover:#cfe0fb;--cal-status-scheduled-text:#003a82;--cal-status-archived-bg:#fafafa;--cal-status-archived-bg-hover:#f4f4f5;--cal-status-archived-text:#52525b;--cal-status-cancelled-bg:#fdecec;--cal-status-cancelled-bg-hover:#fbd2d2;--cal-status-cancelled-text:#5c0f0c;--cal-status-finalizado-bg:#f4ebff;--cal-status-finalizado-bg-hover:#e6d3ff;--cal-status-finalizado-text:#4b1a8a;--cal-surface:#fff;--cal-surface-subtle:#f8fafc;--cal-mini-surface:#f1f5f9;--cal-macro-surface:var(--cal-surface);--cal-border:#e2e8f0;--cal-text:#0f172a;--cal-text-muted:#64748b;--cal-text-faint:#94a3b8;--cal-primary:#1d4ed8;--cal-primary-hover:#1e40af;--cal-danger:#dc2626;--cal-danger-bg:#fef2f2;--cal-focus-ring:#93c5fd;--cal-fc-border:#e6effa;--cal-fc-slot-height:52px;--cal-fc-text:#334155;--cal-fc-font-size:.75rem;--cal-fc-small-font-size:.7rem;--cal-fc-radius:16px;--cal-fc-shadow:0 0 10px 0 #0000001a;--cal-scrollbar-thumb:#0f6fc6;--cal-scrollbar-thumb-hover:#075ea8;--cal-availability-bg:#ecfdf3}:where(.ape-calendar) .cal-day-dot-empty{height:.375rem;margin-top:.125rem;display:block}:where(.ape-calendar) .cal-day-dot-row{justify-content:center;align-items:center;gap:.125rem;height:.375rem;margin-top:.125rem;display:flex}:where(.ape-calendar) .cal-day-dot{background-color:var(--cal-status-default,#cbd5e1);border-radius:9999px;width:.375rem;height:.375rem}:where(.ape-calendar) .cal-day-dot[data-status=draft]{background-color:var(--cal-status-draft)}:where(.ape-calendar) .cal-day-dot[data-status=published]{background-color:var(--cal-status-published)}:where(.ape-calendar) .cal-day-dot[data-status=scheduled]{background-color:var(--cal-status-scheduled)}:where(.ape-calendar) .cal-day-dot[data-status=archived]{background-color:var(--cal-status-archived)}:where(.ape-calendar) .cal-day-dot[data-status=cancelled]{background-color:var(--cal-status-cancelled)}:where(.ape-calendar) .cal-day-dot[data-status=finalizado]{background-color:var(--cal-status-finalizado)}:where(.ape-calendar) .cal-day-dot--selected{background-color:var(--cal-status-selected)}:where(.ape-calendar) .cal-mini-root{background-color:var(--cal-mini-surface);border-radius:1rem;padding:.75rem 1rem 1rem;box-shadow:0 1px 2px #0000000d}:where(.ape-calendar) .cal-mini-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}:where(.ape-calendar) .cal-mini-nav-button{cursor:pointer;width:2rem;height:2rem;color:var(--cal-primary);background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;transition:background-color .15s;display:inline-flex}:where(.ape-calendar) .cal-mini-nav-button:hover{background-color:#eff6ff}:where(.ape-calendar) .cal-mini-nav-button:focus{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-mini-caption{background-color:var(--cal-surface);text-transform:capitalize;color:#1e293b;border-radius:.375rem;margin:0;padding:.25rem .75rem;font-size:1rem;font-weight:600;box-shadow:0 1px 1px #0000000a}:where(.ape-calendar) .cal-mini-grid,:where(.ape-calendar) .cal-mini-months,:where(.ape-calendar) .cal-mini-month{width:100%}:where(.ape-calendar) .cal-mini-month-caption{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(.ape-calendar) .cal-mini-caption-label{text-transform:capitalize}:where(.ape-calendar) .cal-mini-month-grid{border-collapse:separate;border-spacing:.5rem;width:100%}:where(.ape-calendar) .cal-mini-weekday{text-align:center;text-transform:uppercase;letter-spacing:.025em;color:#334155;height:1.75rem;font-size:.875rem;font-weight:700}:where(.ape-calendar) .cal-mini-day{text-align:center;vertical-align:middle;width:2rem;height:2rem}:where(.ape-calendar) .cal-mini-day-button{cursor:pointer;background-color:var(--cal-surface);color:#334155;border:none;border-radius:.375rem;flex-direction:column;justify-content:center;align-items:center;width:2rem;height:2rem;margin:0 auto;font-size:.75rem;font-weight:600;transition:background-color .15s;display:flex;position:relative;box-shadow:0 1px 1px #0000000a}:where(.ape-calendar) .cal-mini-day-button:hover{background-color:var(--cal-surface-subtle)}:where(.ape-calendar) .cal-mini-day-button:focus-visible{outline:none;box-shadow:0 0 0 2px #0ea5e9}:where(.ape-calendar) .cal-mini-day-button[aria-selected=true]{background-color:var(--cal-surface-subtle);color:var(--cal-text)}:where(.ape-calendar) .cal-mini-day--outside{color:#cbd5e1}:where(.ape-calendar) .cal-mini-day--today{color:#0369a1}:where(.ape-calendar) .cal-mini-root[data-variant=flat]{background-color:var(--cal-mini-flat-surface,var(--cal-surface))}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-caption{box-shadow:none;background:0 0}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-month-grid{border-spacing:0 .375rem}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-day{width:auto}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-day-button{width:100%;box-shadow:none;background:0 0;border-radius:.375rem;margin:0}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-day-button:hover{background-color:var(--cal-surface-subtle)}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-day--outside .cal-mini-day-button{color:var(--cal-mini-outside-text,#aac4e4)}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-day--in-week .cal-mini-day-button{background-color:var(--cal-mini-week-band,#e8f1fd);color:var(--cal-mini-week-band-text,var(--cal-primary));border-radius:0}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-day--week-start .cal-mini-day-button{border-radius:9999px 0 0 9999px}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-day--week-end .cal-mini-day-button{border-radius:0 9999px 9999px 0}:where(.ape-calendar) .cal-popover-content{z-index:60;background-color:var(--cal-surface);border:1px solid var(--cal-border);border-radius:.5rem;outline:none;animation:.12s cubic-bezier(.16,1,.3,1) cal-popover-in;box-shadow:0 10px 25px -10px #0003,0 4px 6px -4px #0000001a}@keyframes cal-popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}:where(.ape-calendar) .cal-button{cursor:pointer;border:none;align-items:center;gap:.5rem;font-weight:600;transition:background-color .15s,transform .1s;display:inline-flex}:where(.ape-calendar) .cal-button:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-button[data-rounded=md]{border-radius:.5rem}:where(.ape-calendar) .cal-button[data-rounded=full]{border-radius:9999px}:where(.ape-calendar) .cal-button[data-size=sm]{padding:.375rem .75rem;font-size:.75rem}:where(.ape-calendar) .cal-button[data-size=md]{padding:.5rem 1rem;font-size:.875rem}:where(.ape-calendar) .cal-button[data-size=lg]{padding:.625rem 1.25rem;font-size:1rem}:where(.ape-calendar) .cal-button[data-variant=primary]{background-color:var(--cal-primary);color:#fff}:where(.ape-calendar) .cal-button[data-variant=primary]:hover{background-color:var(--cal-primary-hover)}:where(.ape-calendar) .cal-button[data-variant=secondary]{background-color:var(--cal-surface-subtle);color:var(--cal-text);border:1px solid var(--cal-border)}:where(.ape-calendar) .cal-button[data-variant=secondary]:hover{background-color:#e2e8f0}:where(.ape-calendar) .cal-button[data-variant=outline]{background-color:var(--cal-surface);color:var(--cal-text);border:1px solid var(--cal-border)}:where(.ape-calendar) .cal-button[data-variant=outline]:hover{background-color:var(--cal-surface-subtle)}:where(.ape-calendar) .cal-button[data-variant=ghost]{color:var(--cal-text);background:0 0}:where(.ape-calendar) .cal-button[data-variant=ghost]:hover{background-color:var(--cal-surface-subtle)}:where(.ape-calendar) .cal-button__icon{justify-content:center;align-items:center;display:inline-flex}:where(.ape-calendar) .cal-toolbar{background-color:var(--cal-surface);border-bottom:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}:where(.ape-calendar) .cal-toolbar__nav{align-items:center;gap:.375rem;display:inline-flex}:where(.ape-calendar) .cal-toolbar__nav-button{cursor:pointer;width:2rem;height:2rem;color:var(--cal-text-muted);background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}:where(.ape-calendar) .cal-toolbar__nav-button:hover{background-color:var(--cal-surface-subtle);color:var(--cal-text)}:where(.ape-calendar) .cal-toolbar__nav-button:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-toolbar__period{text-transform:capitalize;color:var(--cal-text);margin-left:.25rem;font-size:.875rem;font-weight:600}:where(.ape-calendar) .cal-toolbar__filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}:where(.ape-calendar) .cal-toolbar__tabs{border:1px solid var(--cal-border);background-color:#f8fafce6;border-radius:9999px;padding:.25rem;display:inline-flex;box-shadow:inset 0 2px 4px #0000000a}:where(.ape-calendar) .cal-toolbar__tab{cursor:pointer;color:var(--cal-text-muted);background:0 0;border:none;border-radius:9999px;padding:.375rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s cubic-bezier(0,0,.2,1);position:relative}:where(.ape-calendar) .cal-toolbar__tab:hover{color:var(--cal-text);transform:scale(1.05)}:where(.ape-calendar) .cal-toolbar__tab[data-active=true]{color:#fff}:where(.ape-calendar) .cal-toolbar__tab:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-toolbar__indicator{background-color:var(--cal-primary);border-radius:9999px;position:absolute;inset:0;box-shadow:0 1px 2px #0000000d}:where(.ape-calendar) .cal-toolbar__tab-label{z-index:10;align-items:center;gap:.375rem;display:inline-flex;position:relative}:where(.ape-calendar) .cal-toolbar__tab-icon{flex-shrink:0}:where(.ape-calendar) .cal-event-block{border:1px solid;border-radius:.5rem;flex-direction:column;gap:.125rem;width:100%;min-width:0;height:100%;padding:.375rem;transition:box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000d}:where(.ape-calendar) .cal-event-block:hover{box-shadow:0 2px 4px #0000001a}:where(.ape-calendar) .cal-event-block[data-status=draft]{background-color:#f8fafc1a;border-color:#cbd5e1}:where(.ape-calendar) .cal-event-block[data-status=published]{background-color:#f0fdf41a;border-color:#86efac}:where(.ape-calendar) .cal-event-block[data-status=scheduled]{background-color:#fffbeb1a;border-color:#fcd34d}:where(.ape-calendar) .cal-event-block[data-status=archived]{background-color:#fafafa1a;border-color:#d4d4d8}:where(.ape-calendar) .cal-event-block[data-status=cancelled]{background-color:#fdecec33;border-color:#f1a8a4}:where(.ape-calendar) .cal-event-block[data-finalizado=true].cal-event-block{background-color:#f4ebff40;border-color:#c7a0ff}:where(.ape-calendar) .cal-event-block__header{justify-content:flex-end;display:flex}:where(.ape-calendar) .cal-event-block__title{color:var(--cal-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.6875rem;font-weight:700;line-height:1.1;overflow:hidden}:where(.ape-calendar) .cal-event-block__time{color:var(--cal-text-muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.25rem;margin:0;font-size:.625rem;font-weight:600;display:flex;overflow:hidden}:where(.ape-calendar) .cal-event-block__time>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:where(.ape-calendar) .cal-event-block__actions{color:var(--cal-text-muted);justify-content:flex-end;align-items:center;gap:.5rem;margin-top:auto;padding-top:.25rem;display:flex}:where(.ape-calendar) .cal-event-block__action-button{cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;transition:background-color .15s,transform .1s;display:inline-flex}:where(.ape-calendar) .cal-event-block__action-button:hover{background-color:#ffffffb3;transform:scale(1.05)}:where(.ape-calendar) .cal-event-block__action-button:focus{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-event-block__action-button--danger:focus{box-shadow:0 0 0 2px #fca5a5}:where(.ape-calendar) .cal-event-block[data-status=draft] .cal-event-block__title{color:var(--cal-status-draft-text)}:where(.ape-calendar) .cal-event-block[data-status=published] .cal-event-block__title{color:var(--cal-status-published-text)}:where(.ape-calendar) .cal-event-block[data-status=scheduled] .cal-event-block__title{color:var(--cal-status-scheduled-text)}:where(.ape-calendar) .cal-event-block[data-status=archived] .cal-event-block__title{color:var(--cal-status-archived-text)}:where(.ape-calendar) .cal-event-block[data-status=cancelled] .cal-event-block__title{color:var(--cal-status-cancelled-text);text-decoration:line-through}:where(.ape-calendar) .cal-event-block[data-status=draft] .cal-event-block__time{color:var(--cal-status-draft-text)}:where(.ape-calendar) .cal-event-block[data-status=published] .cal-event-block__time{color:var(--cal-status-published-text)}:where(.ape-calendar) .cal-event-block[data-status=scheduled] .cal-event-block__time{color:var(--cal-status-scheduled-text)}:where(.ape-calendar) .cal-event-block[data-status=archived] .cal-event-block__time{color:var(--cal-status-archived-text)}:where(.ape-calendar) .cal-event-block[data-status=cancelled] .cal-event-block__time{color:var(--cal-status-cancelled-text)}:where(.ape-calendar) .cal-event-block[data-finalizado=true].cal-event-block .cal-event-block__title,:where(.ape-calendar) .cal-event-block[data-finalizado=true].cal-event-block .cal-event-block__time{color:var(--cal-status-finalizado-text)}:where(.ape-calendar) .cal-chip-month{cursor:pointer;text-align:left;background-color:var(--cal-surface-subtle);width:100%;height:1.5rem;color:var(--cal-text);border:none;border-radius:.25rem;align-items:center;gap:.375rem;padding:0 .375rem;font-size:.6875rem;line-height:1;transition:background-color .15s;display:flex;overflow:hidden}:where(.ape-calendar) .cal-chip-month:focus{box-shadow:0 0 0 1px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-chip-month[data-status=draft]{background-color:var(--cal-status-draft-bg);color:var(--cal-status-draft-text)}:where(.ape-calendar) .cal-chip-month[data-status=draft]:hover{background-color:var(--cal-status-draft-bg-hover)}:where(.ape-calendar) .cal-chip-month[data-status=published]{background-color:var(--cal-status-published-bg);color:var(--cal-status-published-text)}:where(.ape-calendar) .cal-chip-month[data-status=published]:hover{background-color:var(--cal-status-published-bg-hover)}:where(.ape-calendar) .cal-chip-month[data-status=scheduled]{background-color:var(--cal-status-scheduled-bg);color:var(--cal-status-scheduled-text)}:where(.ape-calendar) .cal-chip-month[data-status=scheduled]:hover{background-color:var(--cal-status-scheduled-bg-hover)}:where(.ape-calendar) .cal-chip-month[data-status=archived]{background-color:var(--cal-status-archived-bg);color:var(--cal-status-archived-text);text-decoration:line-through}:where(.ape-calendar) .cal-chip-month[data-status=archived]:hover{background-color:var(--cal-status-archived-bg-hover)}:where(.ape-calendar) .cal-chip-month[data-status=cancelled]{background-color:var(--cal-status-cancelled-bg);color:var(--cal-status-cancelled-text);text-decoration:line-through}:where(.ape-calendar) .cal-chip-month[data-status=cancelled]:hover{background-color:var(--cal-status-cancelled-bg-hover)}:where(.ape-calendar) .cal-chip-month[data-finalizado=true].cal-chip-month{background-color:var(--cal-status-finalizado-bg);color:var(--cal-status-finalizado-text)}:where(.ape-calendar) .cal-chip-month[data-finalizado=true].cal-chip-month:hover{background-color:var(--cal-status-finalizado-bg-hover)}:where(.ape-calendar) .cal-chip-month__dot{border-radius:9999px;flex-shrink:0;width:.375rem;height:.375rem}:where(.ape-calendar) .cal-chip-month[data-status=draft] .cal-chip-month__dot{background-color:var(--cal-status-draft)}:where(.ape-calendar) .cal-chip-month[data-status=published] .cal-chip-month__dot{background-color:var(--cal-status-published)}:where(.ape-calendar) .cal-chip-month[data-status=scheduled] .cal-chip-month__dot{background-color:var(--cal-status-scheduled)}:where(.ape-calendar) .cal-chip-month[data-status=archived] .cal-chip-month__dot{background-color:var(--cal-status-archived)}:where(.ape-calendar) .cal-chip-month[data-status=cancelled] .cal-chip-month__dot{background-color:var(--cal-status-cancelled)}:where(.ape-calendar) .cal-chip-month[data-finalizado=true].cal-chip-month .cal-chip-month__dot{background-color:var(--cal-status-finalizado)}:where(.ape-calendar) .cal-chip-month__time{flex-shrink:0;font-weight:600}:where(.ape-calendar) .cal-chip-month__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:where(.ape-calendar) .cal-chip-popover{flex-direction:column;gap:.75rem;width:18rem;padding:1rem;display:flex}:where(.ape-calendar) .cal-chip-popover__header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}:where(.ape-calendar) .cal-chip-popover__header-info{min-width:0}:where(.ape-calendar) .cal-chip-popover__day{text-transform:uppercase;letter-spacing:.025em;color:var(--cal-text-faint);margin:0;font-size:.625rem;font-weight:600}:where(.ape-calendar) .cal-chip-popover__title{color:#1e293b;margin:0;font-size:.875rem;font-weight:700;line-height:1.2}:where(.ape-calendar) .cal-chip-popover__meta{color:var(--cal-text-muted);flex-direction:column;gap:.375rem;margin:0;padding:0;font-size:.75rem;display:flex}:where(.ape-calendar) .cal-chip-popover__meta-row{align-items:center;gap:.375rem;display:flex}:where(.ape-calendar) .cal-chip-popover__meta-row--wrap{flex-wrap:wrap}:where(.ape-calendar) .cal-chip-popover__meta-row--start{align-items:flex-start}:where(.ape-calendar) .cal-chip-popover__clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:where(.ape-calendar) .cal-chip-popover__description{color:var(--cal-text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.75rem;line-height:1.6;display:-webkit-box;overflow:hidden}:where(.ape-calendar) .cal-chip-popover__footer{border-top:1px solid #f1f5f9;justify-content:flex-end;align-items:center;gap:.5rem;padding-top:.5rem;display:flex}:where(.ape-calendar) .cal-chip-popover__action{cursor:pointer;color:#334155;background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.25rem;height:1.75rem;padding:0 .5rem;font-size:.75rem;font-weight:600;transition:background-color .15s;display:inline-flex}:where(.ape-calendar) .cal-chip-popover__action:hover{background-color:#f1f5f9}:where(.ape-calendar) .cal-chip-popover__action:focus{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-chip-popover__action--danger{color:var(--cal-danger)}:where(.ape-calendar) .cal-chip-popover__action--danger:hover{background-color:var(--cal-danger-bg)}:where(.ape-calendar) .cal-more-popover{flex-direction:column;width:20rem;max-height:24rem;padding:0;display:flex;overflow:hidden}:where(.ape-calendar) .cal-more-popover__header{border-bottom:1px solid #f1f5f9;padding:1rem 1rem .5rem}:where(.ape-calendar) .cal-more-popover__day{text-transform:uppercase;letter-spacing:.025em;color:var(--cal-text-faint);margin:0;font-size:.625rem;font-weight:600}:where(.ape-calendar) .cal-more-popover__title{color:#1e293b;margin:0;font-size:.875rem;font-weight:700}:where(.ape-calendar) .cal-more-popover__list{flex-direction:column;flex:1;gap:.25rem;margin:0;padding:.5rem;list-style:none;display:flex;overflow-y:auto}:where(.ape-calendar) .cal-more-popover__item{border-radius:.375rem;align-items:center;gap:.5rem;padding:.375rem .5rem;display:flex}:where(.ape-calendar) .cal-more-popover__item:hover{background-color:var(--cal-surface-subtle)}:where(.ape-calendar) .cal-more-popover__dot{background-color:var(--cal-status-draft);border-radius:9999px;flex-shrink:0;width:.5rem;height:.5rem}:where(.ape-calendar) .cal-more-popover__dot[data-status=draft]{background-color:var(--cal-status-draft)}:where(.ape-calendar) .cal-more-popover__dot[data-status=published]{background-color:var(--cal-status-published)}:where(.ape-calendar) .cal-more-popover__dot[data-status=scheduled]{background-color:var(--cal-status-scheduled)}:where(.ape-calendar) .cal-more-popover__dot[data-status=archived]{background-color:var(--cal-status-archived)}:where(.ape-calendar) .cal-more-popover__dot[data-status=cancelled]{background-color:var(--cal-status-cancelled)}:where(.ape-calendar) .cal-more-popover__dot[data-status=finalizado],:where(.ape-calendar) .cal-more-popover__item[data-finalizado=true] .cal-more-popover__dot{background-color:var(--cal-status-finalizado)}:where(.ape-calendar) .cal-more-popover__item-body{flex:1;min-width:0}:where(.ape-calendar) .cal-more-popover__item-title{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.75rem;font-weight:600;overflow:hidden}:where(.ape-calendar) .cal-more-popover__item-time{color:var(--cal-text-muted);align-items:center;gap:.25rem;margin:0;font-size:.625rem;display:flex}:where(.ape-calendar) .cal-more-popover__item-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}:where(.ape-calendar) .cal-more-popover__action{cursor:pointer;width:1.5rem;height:1.5rem;color:var(--cal-text-muted);background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;transition:background-color .15s;display:inline-flex}:where(.ape-calendar) .cal-more-popover__action:hover{background-color:#f1f5f9}:where(.ape-calendar) .cal-more-popover__action--danger{color:var(--cal-danger)}:where(.ape-calendar) .cal-more-popover__action--danger:hover{background-color:var(--cal-danger-bg)}:where(.ape-calendar) .cal-slot-anchor{pointer-events:none;width:4px;height:4px;position:fixed}:where(.ape-calendar) .cal-slot-popover{flex-direction:column;gap:.5rem;width:14rem;padding:.5rem;display:flex}:where(.ape-calendar) .cal-slot-popover__heading{text-transform:uppercase;letter-spacing:.025em;color:var(--cal-text-faint);margin:0;padding:.25rem .5rem 0;font-size:.75rem;font-weight:600}:where(.ape-calendar) .cal-slot-popover__action{width:100%;border-radius:.375rem!important;justify-content:flex-start!important}:where(.ape-calendar) .cal-status-badge{border:1px solid;border-radius:9999px;flex-shrink:0;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.625rem;font-weight:700;line-height:1;display:inline-flex}:where(.ape-calendar) .cal-status-badge[data-status=draft]{color:#334155;background-color:#f1f5f9;border-color:#e2e8f0}:where(.ape-calendar) .cal-status-badge[data-status=published]{color:#15803d;background-color:#f0fdf4;border-color:#bbf7d0}:where(.ape-calendar) .cal-status-badge[data-status=scheduled]{color:#b45309;background-color:#fffbeb;border-color:#fde68a}:where(.ape-calendar) .cal-status-badge[data-status=archived]{background-color:var(--cal-status-archived-bg);color:var(--cal-status-archived-text);border-color:#e4e4e7}:where(.ape-calendar) .cal-status-badge[data-status=cancelled]{background-color:var(--cal-status-cancelled-bg);color:var(--cal-status-cancelled-text);border-color:#f5c5c3}:where(.ape-calendar) .cal-status-badge[data-status=finalizado]{background-color:var(--cal-status-finalizado-bg);color:var(--cal-status-finalizado-text);border-color:#d9bcff}:where(.ape-calendar) .cal-status-badge__dot{border-radius:9999px;width:.375rem;height:.375rem}:where(.ape-calendar) .cal-status-badge__dot[data-status=draft]{background-color:var(--cal-status-draft)}:where(.ape-calendar) .cal-status-badge__dot[data-status=archived]{background-color:var(--cal-status-archived)}:where(.ape-calendar) .cal-type-chip{height:1.5rem;color:var(--cal-text-muted);background-color:#f1f5f9;border-radius:9999px;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex}:where(.ape-calendar) .cal-type-chip__icon{flex-shrink:0;display:inline-flex}:where(.ape-calendar) .cal-type-chip--removable{padding-right:.25rem}:where(.ape-calendar) .cal-type-chip__remove{cursor:pointer;width:1rem;height:1rem;color:inherit;background:0 0;border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s;display:inline-flex}:where(.ape-calendar) .cal-type-chip__remove:hover{background-color:#00000014}:where(.ape-calendar) .cal-type-chip__remove:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-empty-state{background-color:var(--cal-surface);text-align:center;border:2px dashed #d1d5db;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:200px;padding:2.5rem 1.5rem;display:flex}:where(.ape-calendar) .cal-empty-state__icon{width:3rem;height:3rem;color:var(--cal-primary);background-color:#dbeafe;border-radius:9999px;justify-content:center;align-items:center;display:inline-flex}:where(.ape-calendar) .cal-empty-state__title{color:#111827;margin:0;font-size:1rem;font-weight:600}:where(.ape-calendar) .cal-empty-state__description{color:#6b7280;max-width:24rem;margin:0;font-size:.875rem}:where(.ape-calendar) .cal-macro-root{background-color:var(--cal-macro-surface);border-radius:1rem;height:100%;overflow:hidden}:where(.ape-calendar) .cal-macro-surface{height:100%;position:relative}:where(.ape-calendar) .cal-macro-corner-icon{pointer-events:none;z-index:10;color:var(--cal-text-faint);position:absolute;top:1.25rem;left:.75rem}:where(.ape-calendar) .cal-more-link{font-size:.625rem;font-weight:600}:where(.ape-calendar) .cal-event-fallback{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.75rem;overflow:hidden}:where(.ape-calendar) .cal-day-header{flex-direction:column;align-items:center;gap:.25rem;padding:.25rem 0;display:flex}:where(.ape-calendar) .cal-day-header__number{width:1.5rem;height:1.5rem;color:var(--cal-text-faint);background-color:#f1f5f9;border-radius:9999px;justify-content:center;align-items:center;font-size:.625rem;font-weight:700;display:flex}:where(.ape-calendar) .cal-day-header__number[data-today=true]{background-color:var(--cal-primary);color:#fff}:where(.ape-calendar) .cal-day-header__weekday{text-transform:lowercase;color:var(--cal-text-muted);font-size:.625rem;font-weight:600}:where(.ape-calendar) .cal-event-highlight-enter{animation:cal-event-highlight var(--cal-highlight-duration,.65s) cubic-bezier(.22, 1, .36, 1) forwards;z-index:5;border-radius:12px}@keyframes cal-event-highlight{0%{transform:scale(.985);box-shadow:0 0 #0ea5e98c}60%{transform:scale(1);box-shadow:0 0 0 6px #0ea5e926}to{transform:scale(1);box-shadow:0 0 #0ea5e900}}:where(.ape-calendar) .cal-macro-root .fc{--fc-border-color:var(--cal-fc-border);--fc-page-bg-color:var(--cal-macro-surface);--fc-small-font-size:var(--cal-fc-small-font-size);color:var(--cal-fc-text);font-size:var(--cal-fc-font-size)}:where(.ape-calendar) .cal-macro-root .fc .fc-scrollgrid{border-color:var(--cal-fc-border);border-radius:var(--cal-fc-radius);box-shadow:var(--cal-fc-shadow);overflow:hidden}:where(.ape-calendar) .cal-macro-root .fc .fc-scrollgrid-section>td,:where(.ape-calendar) .cal-macro-root .fc .fc-scrollgrid td,:where(.ape-calendar) .cal-macro-root .fc .fc-scrollgrid th{border-color:var(--cal-fc-border)}:where(.ape-calendar) .cal-macro-root .fc .fc-col-header-cell{background:var(--cal-macro-surface);border-bottom-color:var(--cal-fc-border)}:where(.ape-calendar) .cal-macro-root .fc .fc-col-header-cell-cushion{justify-content:center;padding:6px 4px;text-decoration:none;display:flex}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-axis,:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-slot-label{background:var(--cal-macro-surface)}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-slot{height:var(--cal-fc-slot-height);border-color:var(--cal-fc-border)}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-col{border-color:var(--cal-fc-border)}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-slot-label-cushion,:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-axis-cushion{color:var(--cal-text-faint);font-size:.68rem;font-weight:600}:where(.ape-calendar) .cal-macro-root .fc .fc-day-today{background-color:#0000!important}:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-day-number{color:var(--cal-fc-text);font-size:var(--cal-fc-font-size);font-weight:700;text-decoration:none}:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-day,:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-slot,:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-col-frame{cursor:pointer}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-event,:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-event{border-radius:var(--cal-fc-radius);box-shadow:none;z-index:1;background:0 0;border:none}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-event .fc-event-main,:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-event .fc-event-main{height:100%;padding:0}:where(.ape-calendar) .cal-macro-root .fc .fc-event-main-frame{height:100%}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-col-events{margin:0 2px}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-event-harness+.fc-timegrid-event-harness{margin-left:2px}:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-more-link{color:#475569;text-underline-offset:2px;background:0 0;border-radius:.25rem;align-items:center;padding:0 .375rem;font-size:.6875rem;font-weight:600;text-decoration:underline;transition:color .15s,background-color .15s;display:inline-flex}:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-more-link:hover{color:#0f172a;background-color:#f1f5f9}:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-more-link .fc-more-link-custom{pointer-events:none}@media (prefers-reduced-motion:no-preference){:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-event,:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-event{transition:box-shadow .18s}}:where(.ape-calendar) .cal-macro-root .fc .fc-scroller::-webkit-scrollbar{width:4px;height:4px}:where(.ape-calendar) .cal-macro-root .fc .fc-scroller::-webkit-scrollbar-track{background:0 0}:where(.ape-calendar) .cal-macro-root .fc .fc-scroller::-webkit-scrollbar-thumb{background-color:var(--cal-scrollbar-thumb);border-radius:9999px}:where(.ape-calendar) .cal-macro-root .fc .fc-scroller::-webkit-scrollbar-thumb:hover{background-color:var(--cal-scrollbar-thumb-hover)}:where(.ape-calendar) .cal-macro-root .fc .fc-bg-event.cal-availability-band{background-color:var(--cal-availability-bg);opacity:.6}:where(.ape-calendar) .cal-agenda{flex-direction:column;gap:1rem;height:100%;padding:1rem 1rem 2rem;display:flex;overflow-y:auto}:where(.ape-calendar) .cal-agenda::-webkit-scrollbar{width:4px}:where(.ape-calendar) .cal-agenda::-webkit-scrollbar-track{background:0 0}:where(.ape-calendar) .cal-agenda::-webkit-scrollbar-thumb{background-color:var(--cal-scrollbar-thumb);border-radius:9999px}:where(.ape-calendar) .cal-agenda::-webkit-scrollbar-thumb:hover{background-color:var(--cal-scrollbar-thumb-hover)}:where(.ape-calendar) .cal-agenda-day{grid-template-columns:5rem 1fr;align-items:flex-start;gap:1rem;display:grid}:where(.ape-calendar) .cal-agenda-day__anchor{border-right:1px solid var(--cal-border);flex-direction:column;justify-content:flex-start;align-items:center;gap:.125rem;padding-top:.25rem;padding-right:.75rem;display:flex}:where(.ape-calendar) .cal-agenda-day__month{text-transform:uppercase;letter-spacing:.05em;color:var(--cal-text-muted);font-size:.6875rem;font-weight:700}:where(.ape-calendar) .cal-agenda-day__number{color:var(--cal-text);font-size:1.75rem;font-weight:700;line-height:1}:where(.ape-calendar) .cal-agenda-day__weekday{text-transform:lowercase;color:var(--cal-text-faint);font-size:.625rem;font-weight:600}:where(.ape-calendar) .cal-agenda-day__body{flex-direction:column;gap:.5rem;min-width:0;display:flex}:where(.ape-calendar) .cal-agenda-day__header{display:flex}:where(.ape-calendar) .cal-agenda-day__events{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}:where(.ape-calendar) .cal-agenda-day__event-item{background-color:var(--cal-surface);border:1px solid var(--cal-border);border-radius:.625rem;padding:.625rem .75rem;transition:box-shadow .15s}:where(.ape-calendar) .cal-agenda-day__event-item:hover{box-shadow:0 1px 4px #0000000f}:where(.ape-calendar) .cal-agenda-day__empty{color:var(--cal-text-faint);margin:0;font-size:.75rem;font-style:italic}:where(.ape-calendar) .cal-list-row{align-items:center;gap:.75rem;width:100%;display:flex}:where(.ape-calendar) .cal-list-row__time-chip{background-color:var(--cal-status-scheduled-bg);color:var(--cal-status-scheduled-text);border-radius:9999px;flex-shrink:0;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.6875rem;font-weight:700;display:inline-flex}:where(.ape-calendar) .cal-list-row__body{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}:where(.ape-calendar) .cal-list-row__title{color:var(--cal-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8125rem;font-weight:700;overflow:hidden}:where(.ape-calendar) .cal-list-row[data-status=cancelled] .cal-list-row__title{color:var(--cal-status-cancelled-text);text-decoration:line-through}:where(.ape-calendar) .cal-list-row__meta{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}:where(.ape-calendar) .cal-list-row__aside{flex-shrink:0;align-items:center;gap:.5rem;display:flex}:where(.ape-calendar) .cal-list-row__actions{color:var(--cal-text-muted);align-items:center;gap:.25rem;display:flex}:where(.ape-calendar) .cal-list-row__action-button{cursor:pointer;width:1.75rem;height:1.75rem;color:inherit;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;transition:background-color .15s;display:inline-flex}:where(.ape-calendar) .cal-list-row__action-button:hover{background-color:var(--cal-surface-subtle)}:where(.ape-calendar) .cal-list-row__action-button:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-list-row__action-button--danger{color:var(--cal-danger)}:where(.ape-calendar) .cal-list-row__action-button--danger:hover{background-color:var(--cal-danger-bg)}:where(.ape-calendar) .cal-type-filter{flex-direction:column;gap:.25rem;display:flex}:where(.ape-calendar) .cal-type-filter__item{cursor:pointer;text-align:left;width:100%;color:var(--cal-text-muted);background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.625rem;padding:.5rem .625rem;font-size:.8125rem;font-weight:600;transition:background-color .15s,color .15s;display:flex}:where(.ape-calendar) .cal-type-filter__item:hover,:where(.ape-calendar) .cal-type-filter__item[data-selected=true]{background-color:var(--cal-surface-subtle);color:var(--cal-text)}:where(.ape-calendar) .cal-type-filter__item:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-type-filter__dot{background-color:var(--cal-status-default);border-radius:9999px;flex-shrink:0;width:.625rem;height:.625rem}:where(.ape-calendar) .cal-type-filter__icon{color:inherit;flex-shrink:0;display:inline-flex}:where(.ape-calendar) .cal-type-filter__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}:where(.ape-calendar) .cal-type-filter__count{color:var(--cal-text-faint);flex-shrink:0;font-size:.75rem;font-weight:700}:where(.ape-calendar) .cal-status-filter{flex-wrap:wrap;align-items:center;gap:.375rem;display:inline-flex}:where(.ape-calendar) .cal-status-filter__option{cursor:pointer;border:1px solid var(--cal-border);background-color:var(--cal-surface);color:var(--cal-text-muted);border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.ape-calendar) .cal-status-filter__option:hover{background-color:var(--cal-surface-subtle);color:var(--cal-text)}:where(.ape-calendar) .cal-status-filter__option[data-selected=true]{border-color:var(--cal-primary);background-color:var(--cal-status-scheduled-bg);color:var(--cal-status-scheduled-text)}:where(.ape-calendar) .cal-status-filter__option:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-status-filter__dot{background-color:var(--cal-status-default);border-radius:9999px;flex-shrink:0;width:.5rem;height:.5rem}:where(.ape-calendar) .cal-select__trigger{cursor:pointer;border:1px solid var(--cal-border);background-color:var(--cal-surface);height:2rem;color:var(--cal-text-muted);border-radius:9999px;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.75rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.ape-calendar) .cal-select__trigger:hover{background-color:var(--cal-surface-subtle);color:var(--cal-text)}:where(.ape-calendar) .cal-select__trigger:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-select__trigger[data-active=true]{border-color:var(--cal-primary);color:var(--cal-text)}:where(.ape-calendar) .cal-select__trigger[data-open=true]{border-color:var(--cal-primary)}:where(.ape-calendar) .cal-select__placeholder{white-space:nowrap}:where(.ape-calendar) .cal-select__value{color:var(--cal-text);white-space:nowrap;font-weight:700}:where(.ape-calendar) .cal-select__badge{background-color:var(--cal-primary);color:#fff;border-radius:9999px;justify-content:center;align-items:center;min-width:1.125rem;height:1.125rem;padding:0 .25rem;font-size:.625rem;font-weight:700;display:inline-flex}:where(.ape-calendar) .cal-select__chevron{color:var(--cal-text-faint);flex-shrink:0;transition:transform .15s}:where(.ape-calendar) .cal-select__trigger[data-open=true] .cal-select__chevron{transform:rotate(180deg)}:where(.ape-calendar) .cal-select__panel{flex-direction:column;gap:.125rem;min-width:12rem;max-height:18rem;padding:.25rem;display:flex;overflow-y:auto}:where(.ape-calendar) .cal-select__option{cursor:pointer;text-align:left;width:100%;color:var(--cal-text);background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8125rem;font-weight:500;transition:background-color .15s;display:flex}:where(.ape-calendar) .cal-select__option:hover{background-color:var(--cal-surface-subtle)}:where(.ape-calendar) .cal-select__option:focus-visible{box-shadow:inset 0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-select__option[data-selected=true]{background-color:var(--cal-surface-subtle);font-weight:600}:where(.ape-calendar) .cal-select__dot{background-color:var(--cal-status-default);border-radius:9999px;flex-shrink:0;width:.625rem;height:.625rem}:where(.ape-calendar) .cal-select__option-icon{color:inherit;flex-shrink:0;display:inline-flex}:where(.ape-calendar) .cal-select__option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}:where(.ape-calendar) .cal-select__check{color:var(--cal-primary);flex-shrink:0}:where(.ape-calendar) .cal-toolbar__tab{justify-content:center;align-items:center;min-width:2rem;padding:.375rem;display:inline-flex}:where(.ape-calendar) .cal-toolbar__tab-label{gap:0}:where(.ape-calendar) .cal-toolbar .cal-button[data-active=true][data-variant=outline]{border-color:var(--cal-primary);background-color:var(--cal-status-scheduled-bg);color:var(--cal-status-scheduled-text)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){.ape-calendar *,.ape-calendar :before,.ape-calendar :after,.ape-calendar ::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.ape-calendar,.ape-calendar{--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}:where(.ape-calendar) .visible{visibility:visible}:where(.ape-calendar) .container{width:100%}@media (min-width:40rem){:where(.ape-calendar) .container{max-width:40rem}}@media (min-width:48rem){:where(.ape-calendar) .container{max-width:48rem}}@media (min-width:64rem){:where(.ape-calendar) .container{max-width:64rem}}@media (min-width:80rem){:where(.ape-calendar) .container{max-width:80rem}}@media (min-width:96rem){:where(.ape-calendar) .container{max-width:96rem}}:where(.ape-calendar) .block{display:block}:where(.ape-calendar) .grid{display:grid}:where(.ape-calendar) .inline{display:inline}:where(.ape-calendar) .table{display:table}:where(.ape-calendar) .transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}:where(.ape-calendar) .rounded{border-radius:.25rem}:where(.ape-calendar) .capitalize{text-transform:capitalize}:where(.ape-calendar) .ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:where(.ape-calendar) .outline{outline-style:var(--tw-outline-style);outline-width:1px}:where(.ape-calendar) .filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}:where(.ape-calendar) .transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ape-calendar{--cal-status-default:#cbd5e1;--cal-status-draft:#d4d4d4;--cal-status-published:#39a900;--cal-status-scheduled:#005dca;--cal-status-archived:#d4d4d4;--cal-status-cancelled:#8c1712;--cal-status-finalizado:#9747fc;--cal-status-selected:#005dca;--cal-status-draft-bg:#fafafa;--cal-status-draft-bg-hover:#f4f4f5;--cal-status-draft-text:#52525b;--cal-status-published-bg:#ecfdf3;--cal-status-published-bg-hover:#d1fadf;--cal-status-published-text:#1d6b00;--cal-status-scheduled-bg:#e8f1fd;--cal-status-scheduled-bg-hover:#cfe0fb;--cal-status-scheduled-text:#003a82;--cal-status-archived-bg:#fafafa;--cal-status-archived-bg-hover:#f4f4f5;--cal-status-archived-text:#52525b;--cal-status-cancelled-bg:#fdecec;--cal-status-cancelled-bg-hover:#fbd2d2;--cal-status-cancelled-text:#5c0f0c;--cal-status-finalizado-bg:#f4ebff;--cal-status-finalizado-bg-hover:#e6d3ff;--cal-status-finalizado-text:#4b1a8a;--cal-surface:#fff;--cal-surface-subtle:#f8fafc;--cal-mini-surface:#f1f5f9;--cal-macro-surface:var(--cal-surface);--cal-border:#e2e8f0;--cal-text:#0f172a;--cal-text-muted:#64748b;--cal-text-faint:#94a3b8;--cal-primary:#1d4ed8;--cal-primary-hover:#1e40af;--cal-danger:#dc2626;--cal-danger-bg:#fef2f2;--cal-focus-ring:#93c5fd;--cal-fc-border:#e6effa;--cal-fc-slot-height:52px;--cal-fc-text:#334155;--cal-fc-font-size:.75rem;--cal-fc-small-font-size:.7rem;--cal-fc-radius:16px;--cal-fc-shadow:0 0 10px 0 #0000001a;--cal-scrollbar-thumb:#0f6fc6;--cal-scrollbar-thumb-hover:#075ea8;--cal-availability-bg:#ecfdf3}:where(.ape-calendar) .cal-day-dot-empty{height:.375rem;margin-top:.125rem;display:block}:where(.ape-calendar) .cal-day-dot-row{justify-content:center;align-items:center;gap:.125rem;height:.375rem;margin-top:.125rem;display:flex}:where(.ape-calendar) .cal-day-dot{background-color:var(--cal-status-default,#cbd5e1);border-radius:9999px;width:.375rem;height:.375rem}:where(.ape-calendar) .cal-day-dot[data-status=draft]{background-color:var(--cal-status-draft)}:where(.ape-calendar) .cal-day-dot[data-status=published]{background-color:var(--cal-status-published)}:where(.ape-calendar) .cal-day-dot[data-status=scheduled]{background-color:var(--cal-status-scheduled)}:where(.ape-calendar) .cal-day-dot[data-status=archived]{background-color:var(--cal-status-archived)}:where(.ape-calendar) .cal-day-dot[data-status=cancelled]{background-color:var(--cal-status-cancelled)}:where(.ape-calendar) .cal-day-dot[data-status=finalizado]{background-color:var(--cal-status-finalizado)}:where(.ape-calendar) .cal-day-dot--selected{background-color:var(--cal-status-selected)}:where(.ape-calendar) .cal-mini-root{background-color:var(--cal-mini-surface);border-radius:1rem;padding:.75rem 1rem 1rem;box-shadow:0 1px 2px #0000000d}:where(.ape-calendar) .cal-mini-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}:where(.ape-calendar) .cal-mini-nav-button{cursor:pointer;width:2rem;height:2rem;color:var(--cal-primary);background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;transition:background-color .15s;display:inline-flex}:where(.ape-calendar) .cal-mini-nav-button:hover{background-color:#eff6ff}:where(.ape-calendar) .cal-mini-nav-button:focus{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-mini-caption{background-color:var(--cal-surface);text-transform:capitalize;color:#1e293b;border-radius:.375rem;margin:0;padding:.25rem .75rem;font-size:1rem;font-weight:600;box-shadow:0 1px 1px #0000000a}:where(.ape-calendar) .cal-mini-grid,:where(.ape-calendar) .cal-mini-months,:where(.ape-calendar) .cal-mini-month{width:100%}:where(.ape-calendar) .cal-mini-month-caption{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(.ape-calendar) .cal-mini-caption-label{text-transform:capitalize}:where(.ape-calendar) .cal-mini-month-grid{border-collapse:separate;border-spacing:.5rem;width:100%}:where(.ape-calendar) .cal-mini-weekday{text-align:center;text-transform:uppercase;letter-spacing:.025em;color:#334155;height:1.75rem;font-size:.875rem;font-weight:700}:where(.ape-calendar) .cal-mini-day{text-align:center;vertical-align:middle;width:2rem;height:2rem}:where(.ape-calendar) .cal-mini-day-button{cursor:pointer;background-color:var(--cal-surface);color:#334155;border:none;border-radius:.375rem;flex-direction:column;justify-content:center;align-items:center;width:2rem;height:2rem;margin:0 auto;font-size:.75rem;font-weight:600;transition:background-color .15s;display:flex;position:relative;box-shadow:0 1px 1px #0000000a}:where(.ape-calendar) .cal-mini-day-button:hover{background-color:var(--cal-surface-subtle)}:where(.ape-calendar) .cal-mini-day-button:focus-visible{outline:none;box-shadow:0 0 0 2px #0ea5e9}:where(.ape-calendar) .cal-mini-day-button[aria-selected=true]{background-color:var(--cal-surface-subtle);color:var(--cal-text)}:where(.ape-calendar) .cal-mini-day--outside{color:#cbd5e1}:where(.ape-calendar) .cal-mini-day--today{color:#0369a1}:where(.ape-calendar) .cal-mini-root[data-variant=flat]{background-color:var(--cal-mini-flat-surface,var(--cal-surface))}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-caption{box-shadow:none;background:0 0}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-month-grid{border-spacing:0 .375rem}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-day{width:auto}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-day-button{width:100%;box-shadow:none;background:0 0;border-radius:.375rem;margin:0}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-day-button:hover{background-color:var(--cal-surface-subtle)}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-day--outside .cal-mini-day-button{color:var(--cal-mini-outside-text,#aac4e4)}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-day--in-week .cal-mini-day-button{background-color:var(--cal-mini-week-band,#e8f1fd);color:var(--cal-mini-week-band-text,var(--cal-primary));border-radius:0}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-day--week-start .cal-mini-day-button{border-radius:9999px 0 0 9999px}:where(.ape-calendar) .cal-mini-root[data-variant=flat] .cal-mini-day--week-end .cal-mini-day-button{border-radius:0 9999px 9999px 0}:where(.ape-calendar) .cal-popover-content{z-index:60;background-color:var(--cal-surface);border:1px solid var(--cal-border);border-radius:.5rem;outline:none;animation:.12s cubic-bezier(.16,1,.3,1) cal-popover-in;box-shadow:0 10px 25px -10px #0003,0 4px 6px -4px #0000001a}@keyframes cal-popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}:where(.ape-calendar) .cal-button{cursor:pointer;border:none;align-items:center;gap:.5rem;font-weight:600;transition:background-color .15s,transform .1s;display:inline-flex}:where(.ape-calendar) .cal-button:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-button[data-rounded=md]{border-radius:.5rem}:where(.ape-calendar) .cal-button[data-rounded=full]{border-radius:9999px}:where(.ape-calendar) .cal-button[data-size=sm]{padding:.375rem .75rem;font-size:.75rem}:where(.ape-calendar) .cal-button[data-size=md]{padding:.5rem 1rem;font-size:.875rem}:where(.ape-calendar) .cal-button[data-size=lg]{padding:.625rem 1.25rem;font-size:1rem}:where(.ape-calendar) .cal-button[data-variant=primary]{background-color:var(--cal-primary);color:#fff}:where(.ape-calendar) .cal-button[data-variant=primary]:hover{background-color:var(--cal-primary-hover)}:where(.ape-calendar) .cal-button[data-variant=secondary]{background-color:var(--cal-surface-subtle);color:var(--cal-text);border:1px solid var(--cal-border)}:where(.ape-calendar) .cal-button[data-variant=secondary]:hover{background-color:#e2e8f0}:where(.ape-calendar) .cal-button[data-variant=outline]{background-color:var(--cal-surface);color:var(--cal-text);border:1px solid var(--cal-border)}:where(.ape-calendar) .cal-button[data-variant=outline]:hover{background-color:var(--cal-surface-subtle)}:where(.ape-calendar) .cal-button[data-variant=ghost]{color:var(--cal-text);background:0 0}:where(.ape-calendar) .cal-button[data-variant=ghost]:hover{background-color:var(--cal-surface-subtle)}:where(.ape-calendar) .cal-button__icon{justify-content:center;align-items:center;display:inline-flex}:where(.ape-calendar) .cal-toolbar{background-color:var(--cal-surface);border-bottom:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}:where(.ape-calendar) .cal-toolbar__nav{align-items:center;gap:.375rem;display:inline-flex}:where(.ape-calendar) .cal-toolbar__nav-button{cursor:pointer;width:2rem;height:2rem;color:var(--cal-text-muted);background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}:where(.ape-calendar) .cal-toolbar__nav-button:hover{background-color:var(--cal-surface-subtle);color:var(--cal-text)}:where(.ape-calendar) .cal-toolbar__nav-button:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-toolbar__period{text-transform:capitalize;color:var(--cal-text);margin-left:.25rem;font-size:.875rem;font-weight:600}:where(.ape-calendar) .cal-toolbar__filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}:where(.ape-calendar) .cal-toolbar__tabs{border:1px solid var(--cal-border);background-color:#f8fafce6;border-radius:9999px;padding:.25rem;display:inline-flex;box-shadow:inset 0 2px 4px #0000000a}:where(.ape-calendar) .cal-toolbar__tab{cursor:pointer;color:var(--cal-text-muted);background:0 0;border:none;border-radius:9999px;padding:.375rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s cubic-bezier(0,0,.2,1);position:relative}:where(.ape-calendar) .cal-toolbar__tab:hover{color:var(--cal-text);transform:scale(1.05)}:where(.ape-calendar) .cal-toolbar__tab[data-active=true]{color:#fff}:where(.ape-calendar) .cal-toolbar__tab:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-toolbar__indicator{background-color:var(--cal-primary);border-radius:9999px;position:absolute;inset:0;box-shadow:0 1px 2px #0000000d}:where(.ape-calendar) .cal-toolbar__tab-label{z-index:10;align-items:center;gap:.375rem;display:inline-flex;position:relative}:where(.ape-calendar) .cal-toolbar__tab-icon{flex-shrink:0}:where(.ape-calendar) .cal-event-block{border:1px solid;border-radius:.5rem;flex-direction:column;gap:.125rem;width:100%;min-width:0;height:100%;padding:.375rem;transition:box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000d}:where(.ape-calendar) .cal-event-block:hover{box-shadow:0 2px 4px #0000001a}:where(.ape-calendar) .cal-event-block[data-status=draft]{background-color:#f8fafc1a;border-color:#cbd5e1}:where(.ape-calendar) .cal-event-block[data-status=published]{background-color:#f0fdf41a;border-color:#86efac}:where(.ape-calendar) .cal-event-block[data-status=scheduled]{background-color:#fffbeb1a;border-color:#fcd34d}:where(.ape-calendar) .cal-event-block[data-status=archived]{background-color:#fafafa1a;border-color:#d4d4d8}:where(.ape-calendar) .cal-event-block[data-status=cancelled]{background-color:#fdecec33;border-color:#f1a8a4}:where(.ape-calendar) .cal-event-block[data-finalizado=true].cal-event-block{background-color:#f4ebff40;border-color:#c7a0ff}:where(.ape-calendar) .cal-event-block__header{justify-content:flex-end;display:flex}:where(.ape-calendar) .cal-event-block__title{color:var(--cal-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.6875rem;font-weight:700;line-height:1.1;overflow:hidden}:where(.ape-calendar) .cal-event-block__time{color:var(--cal-text-muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.25rem;margin:0;font-size:.625rem;font-weight:600;display:flex;overflow:hidden}:where(.ape-calendar) .cal-event-block__time>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:where(.ape-calendar) .cal-event-block__actions{color:var(--cal-text-muted);justify-content:flex-end;align-items:center;gap:.5rem;margin-top:auto;padding-top:.25rem;display:flex}:where(.ape-calendar) .cal-event-block__action-button{cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;transition:background-color .15s,transform .1s;display:inline-flex}:where(.ape-calendar) .cal-event-block__action-button:hover{background-color:#ffffffb3;transform:scale(1.05)}:where(.ape-calendar) .cal-event-block__action-button:focus{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-event-block__action-button--danger:focus{box-shadow:0 0 0 2px #fca5a5}:where(.ape-calendar) .cal-event-block[data-status=draft] .cal-event-block__title{color:var(--cal-status-draft-text)}:where(.ape-calendar) .cal-event-block[data-status=published] .cal-event-block__title{color:var(--cal-status-published-text)}:where(.ape-calendar) .cal-event-block[data-status=scheduled] .cal-event-block__title{color:var(--cal-status-scheduled-text)}:where(.ape-calendar) .cal-event-block[data-status=archived] .cal-event-block__title{color:var(--cal-status-archived-text)}:where(.ape-calendar) .cal-event-block[data-status=cancelled] .cal-event-block__title{color:var(--cal-status-cancelled-text);text-decoration:line-through}:where(.ape-calendar) .cal-event-block[data-status=draft] .cal-event-block__time{color:var(--cal-status-draft-text)}:where(.ape-calendar) .cal-event-block[data-status=published] .cal-event-block__time{color:var(--cal-status-published-text)}:where(.ape-calendar) .cal-event-block[data-status=scheduled] .cal-event-block__time{color:var(--cal-status-scheduled-text)}:where(.ape-calendar) .cal-event-block[data-status=archived] .cal-event-block__time{color:var(--cal-status-archived-text)}:where(.ape-calendar) .cal-event-block[data-status=cancelled] .cal-event-block__time{color:var(--cal-status-cancelled-text)}:where(.ape-calendar) .cal-event-block[data-finalizado=true].cal-event-block .cal-event-block__title,:where(.ape-calendar) .cal-event-block[data-finalizado=true].cal-event-block .cal-event-block__time{color:var(--cal-status-finalizado-text)}:where(.ape-calendar) .cal-chip-month{cursor:pointer;text-align:left;background-color:var(--cal-surface-subtle);width:100%;height:1.5rem;color:var(--cal-text);border:none;border-radius:.25rem;align-items:center;gap:.375rem;padding:0 .375rem;font-size:.6875rem;line-height:1;transition:background-color .15s;display:flex;overflow:hidden}:where(.ape-calendar) .cal-chip-month:focus{box-shadow:0 0 0 1px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-chip-month[data-status=draft]{background-color:var(--cal-status-draft-bg);color:var(--cal-status-draft-text)}:where(.ape-calendar) .cal-chip-month[data-status=draft]:hover{background-color:var(--cal-status-draft-bg-hover)}:where(.ape-calendar) .cal-chip-month[data-status=published]{background-color:var(--cal-status-published-bg);color:var(--cal-status-published-text)}:where(.ape-calendar) .cal-chip-month[data-status=published]:hover{background-color:var(--cal-status-published-bg-hover)}:where(.ape-calendar) .cal-chip-month[data-status=scheduled]{background-color:var(--cal-status-scheduled-bg);color:var(--cal-status-scheduled-text)}:where(.ape-calendar) .cal-chip-month[data-status=scheduled]:hover{background-color:var(--cal-status-scheduled-bg-hover)}:where(.ape-calendar) .cal-chip-month[data-status=archived]{background-color:var(--cal-status-archived-bg);color:var(--cal-status-archived-text);text-decoration:line-through}:where(.ape-calendar) .cal-chip-month[data-status=archived]:hover{background-color:var(--cal-status-archived-bg-hover)}:where(.ape-calendar) .cal-chip-month[data-status=cancelled]{background-color:var(--cal-status-cancelled-bg);color:var(--cal-status-cancelled-text);text-decoration:line-through}:where(.ape-calendar) .cal-chip-month[data-status=cancelled]:hover{background-color:var(--cal-status-cancelled-bg-hover)}:where(.ape-calendar) .cal-chip-month[data-finalizado=true].cal-chip-month{background-color:var(--cal-status-finalizado-bg);color:var(--cal-status-finalizado-text)}:where(.ape-calendar) .cal-chip-month[data-finalizado=true].cal-chip-month:hover{background-color:var(--cal-status-finalizado-bg-hover)}:where(.ape-calendar) .cal-chip-month__dot{border-radius:9999px;flex-shrink:0;width:.375rem;height:.375rem}:where(.ape-calendar) .cal-chip-month[data-status=draft] .cal-chip-month__dot{background-color:var(--cal-status-draft)}:where(.ape-calendar) .cal-chip-month[data-status=published] .cal-chip-month__dot{background-color:var(--cal-status-published)}:where(.ape-calendar) .cal-chip-month[data-status=scheduled] .cal-chip-month__dot{background-color:var(--cal-status-scheduled)}:where(.ape-calendar) .cal-chip-month[data-status=archived] .cal-chip-month__dot{background-color:var(--cal-status-archived)}:where(.ape-calendar) .cal-chip-month[data-status=cancelled] .cal-chip-month__dot{background-color:var(--cal-status-cancelled)}:where(.ape-calendar) .cal-chip-month[data-finalizado=true].cal-chip-month .cal-chip-month__dot{background-color:var(--cal-status-finalizado)}:where(.ape-calendar) .cal-chip-month__time{flex-shrink:0;font-weight:600}:where(.ape-calendar) .cal-chip-month__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:where(.ape-calendar) .cal-chip-popover{flex-direction:column;gap:.75rem;width:18rem;padding:1rem;display:flex}:where(.ape-calendar) .cal-chip-popover__header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}:where(.ape-calendar) .cal-chip-popover__header-info{min-width:0}:where(.ape-calendar) .cal-chip-popover__day{text-transform:uppercase;letter-spacing:.025em;color:var(--cal-text-faint);margin:0;font-size:.625rem;font-weight:600}:where(.ape-calendar) .cal-chip-popover__title{color:#1e293b;margin:0;font-size:.875rem;font-weight:700;line-height:1.2}:where(.ape-calendar) .cal-chip-popover__meta{color:var(--cal-text-muted);flex-direction:column;gap:.375rem;margin:0;padding:0;font-size:.75rem;display:flex}:where(.ape-calendar) .cal-chip-popover__meta-row{align-items:center;gap:.375rem;display:flex}:where(.ape-calendar) .cal-chip-popover__meta-row--wrap{flex-wrap:wrap}:where(.ape-calendar) .cal-chip-popover__meta-row--start{align-items:flex-start}:where(.ape-calendar) .cal-chip-popover__clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:where(.ape-calendar) .cal-chip-popover__description{color:var(--cal-text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.75rem;line-height:1.6;display:-webkit-box;overflow:hidden}:where(.ape-calendar) .cal-chip-popover__footer{border-top:1px solid #f1f5f9;justify-content:flex-end;align-items:center;gap:.5rem;padding-top:.5rem;display:flex}:where(.ape-calendar) .cal-chip-popover__action{cursor:pointer;color:#334155;background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.25rem;height:1.75rem;padding:0 .5rem;font-size:.75rem;font-weight:600;transition:background-color .15s;display:inline-flex}:where(.ape-calendar) .cal-chip-popover__action:hover{background-color:#f1f5f9}:where(.ape-calendar) .cal-chip-popover__action:focus{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-chip-popover__action--danger{color:var(--cal-danger)}:where(.ape-calendar) .cal-chip-popover__action--danger:hover{background-color:var(--cal-danger-bg)}:where(.ape-calendar) .cal-more-popover{flex-direction:column;width:20rem;max-height:24rem;padding:0;display:flex;overflow:hidden}:where(.ape-calendar) .cal-more-popover__header{border-bottom:1px solid #f1f5f9;padding:1rem 1rem .5rem}:where(.ape-calendar) .cal-more-popover__day{text-transform:uppercase;letter-spacing:.025em;color:var(--cal-text-faint);margin:0;font-size:.625rem;font-weight:600}:where(.ape-calendar) .cal-more-popover__title{color:#1e293b;margin:0;font-size:.875rem;font-weight:700}:where(.ape-calendar) .cal-more-popover__list{flex-direction:column;flex:1;gap:.25rem;margin:0;padding:.5rem;list-style:none;display:flex;overflow-y:auto}:where(.ape-calendar) .cal-more-popover__item{border-radius:.375rem;align-items:center;gap:.5rem;padding:.375rem .5rem;display:flex}:where(.ape-calendar) .cal-more-popover__item:hover{background-color:var(--cal-surface-subtle)}:where(.ape-calendar) .cal-more-popover__dot{background-color:var(--cal-status-draft);border-radius:9999px;flex-shrink:0;width:.5rem;height:.5rem}:where(.ape-calendar) .cal-more-popover__dot[data-status=draft]{background-color:var(--cal-status-draft)}:where(.ape-calendar) .cal-more-popover__dot[data-status=published]{background-color:var(--cal-status-published)}:where(.ape-calendar) .cal-more-popover__dot[data-status=scheduled]{background-color:var(--cal-status-scheduled)}:where(.ape-calendar) .cal-more-popover__dot[data-status=archived]{background-color:var(--cal-status-archived)}:where(.ape-calendar) .cal-more-popover__dot[data-status=cancelled]{background-color:var(--cal-status-cancelled)}:where(.ape-calendar) .cal-more-popover__dot[data-status=finalizado],:where(.ape-calendar) .cal-more-popover__item[data-finalizado=true] .cal-more-popover__dot{background-color:var(--cal-status-finalizado)}:where(.ape-calendar) .cal-more-popover__item-body{flex:1;min-width:0}:where(.ape-calendar) .cal-more-popover__item-title{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.75rem;font-weight:600;overflow:hidden}:where(.ape-calendar) .cal-more-popover__item-time{color:var(--cal-text-muted);align-items:center;gap:.25rem;margin:0;font-size:.625rem;display:flex}:where(.ape-calendar) .cal-more-popover__item-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}:where(.ape-calendar) .cal-more-popover__action{cursor:pointer;width:1.5rem;height:1.5rem;color:var(--cal-text-muted);background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;transition:background-color .15s;display:inline-flex}:where(.ape-calendar) .cal-more-popover__action:hover{background-color:#f1f5f9}:where(.ape-calendar) .cal-more-popover__action--danger{color:var(--cal-danger)}:where(.ape-calendar) .cal-more-popover__action--danger:hover{background-color:var(--cal-danger-bg)}:where(.ape-calendar) .cal-slot-anchor{pointer-events:none;width:4px;height:4px;position:fixed}:where(.ape-calendar) .cal-slot-popover{flex-direction:column;gap:.5rem;width:14rem;padding:.5rem;display:flex}:where(.ape-calendar) .cal-slot-popover__heading{text-transform:uppercase;letter-spacing:.025em;color:var(--cal-text-faint);margin:0;padding:.25rem .5rem 0;font-size:.75rem;font-weight:600}:where(.ape-calendar) .cal-slot-popover__action{width:100%;border-radius:.375rem!important;justify-content:flex-start!important}:where(.ape-calendar) .cal-status-badge{border:1px solid;border-radius:9999px;flex-shrink:0;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.625rem;font-weight:700;line-height:1;display:inline-flex}:where(.ape-calendar) .cal-status-badge[data-status=draft]{color:#334155;background-color:#f1f5f9;border-color:#e2e8f0}:where(.ape-calendar) .cal-status-badge[data-status=published]{color:#15803d;background-color:#f0fdf4;border-color:#bbf7d0}:where(.ape-calendar) .cal-status-badge[data-status=scheduled]{color:#b45309;background-color:#fffbeb;border-color:#fde68a}:where(.ape-calendar) .cal-status-badge[data-status=archived]{background-color:var(--cal-status-archived-bg);color:var(--cal-status-archived-text);border-color:#e4e4e7}:where(.ape-calendar) .cal-status-badge[data-status=cancelled]{background-color:var(--cal-status-cancelled-bg);color:var(--cal-status-cancelled-text);border-color:#f5c5c3}:where(.ape-calendar) .cal-status-badge[data-status=finalizado]{background-color:var(--cal-status-finalizado-bg);color:var(--cal-status-finalizado-text);border-color:#d9bcff}:where(.ape-calendar) .cal-status-badge__dot{border-radius:9999px;width:.375rem;height:.375rem}:where(.ape-calendar) .cal-status-badge__dot[data-status=draft]{background-color:var(--cal-status-draft)}:where(.ape-calendar) .cal-status-badge__dot[data-status=archived]{background-color:var(--cal-status-archived)}:where(.ape-calendar) .cal-type-chip{height:1.5rem;color:var(--cal-text-muted);background-color:#f1f5f9;border-radius:9999px;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex}:where(.ape-calendar) .cal-type-chip__icon{flex-shrink:0;display:inline-flex}:where(.ape-calendar) .cal-type-chip--removable{padding-right:.25rem}:where(.ape-calendar) .cal-type-chip__remove{cursor:pointer;width:1rem;height:1rem;color:inherit;background:0 0;border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s;display:inline-flex}:where(.ape-calendar) .cal-type-chip__remove:hover{background-color:#00000014}:where(.ape-calendar) .cal-type-chip__remove:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-empty-state{background-color:var(--cal-surface);text-align:center;border:2px dashed #d1d5db;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:200px;padding:2.5rem 1.5rem;display:flex}:where(.ape-calendar) .cal-empty-state__icon{width:3rem;height:3rem;color:var(--cal-primary);background-color:#dbeafe;border-radius:9999px;justify-content:center;align-items:center;display:inline-flex}:where(.ape-calendar) .cal-empty-state__title{color:#111827;margin:0;font-size:1rem;font-weight:600}:where(.ape-calendar) .cal-empty-state__description{color:#6b7280;max-width:24rem;margin:0;font-size:.875rem}:where(.ape-calendar) .cal-macro-root{background-color:var(--cal-macro-surface);border-radius:1rem;height:100%;overflow:hidden}:where(.ape-calendar) .cal-macro-surface{height:100%;position:relative}:where(.ape-calendar) .cal-macro-corner-icon{pointer-events:none;z-index:10;color:var(--cal-text-faint);position:absolute;top:1.25rem;left:.75rem}:where(.ape-calendar) .cal-more-link{font-size:.625rem;font-weight:600}:where(.ape-calendar) .cal-event-fallback{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.75rem;overflow:hidden}:where(.ape-calendar) .cal-day-header{flex-direction:column;align-items:center;gap:.25rem;padding:.25rem 0;display:flex}:where(.ape-calendar) .cal-day-header__number{width:1.5rem;height:1.5rem;color:var(--cal-text-faint);background-color:#f1f5f9;border-radius:9999px;justify-content:center;align-items:center;font-size:.625rem;font-weight:700;display:flex}:where(.ape-calendar) .cal-day-header__number[data-today=true]{background-color:var(--cal-primary);color:#fff}:where(.ape-calendar) .cal-day-header__weekday{text-transform:lowercase;color:var(--cal-text-muted);font-size:.625rem;font-weight:600}:where(.ape-calendar) .cal-event-highlight-enter{animation:cal-event-highlight var(--cal-highlight-duration,.65s) cubic-bezier(.22, 1, .36, 1) forwards;z-index:5;border-radius:12px}@keyframes cal-event-highlight{0%{transform:scale(.985);box-shadow:0 0 #0ea5e98c}60%{transform:scale(1);box-shadow:0 0 0 6px #0ea5e926}to{transform:scale(1);box-shadow:0 0 #0ea5e900}}:where(.ape-calendar) .cal-macro-root .fc{--fc-border-color:var(--cal-fc-border);--fc-page-bg-color:var(--cal-macro-surface);--fc-small-font-size:var(--cal-fc-small-font-size);color:var(--cal-fc-text);font-size:var(--cal-fc-font-size)}:where(.ape-calendar) .cal-macro-root .fc .fc-scrollgrid{border-color:var(--cal-fc-border);border-radius:var(--cal-fc-radius);box-shadow:var(--cal-fc-shadow);overflow:hidden}:where(.ape-calendar) .cal-macro-root .fc .fc-scrollgrid-section>td,:where(.ape-calendar) .cal-macro-root .fc .fc-scrollgrid td,:where(.ape-calendar) .cal-macro-root .fc .fc-scrollgrid th{border-color:var(--cal-fc-border)}:where(.ape-calendar) .cal-macro-root .fc .fc-col-header-cell{background:var(--cal-macro-surface);border-bottom-color:var(--cal-fc-border)}:where(.ape-calendar) .cal-macro-root .fc .fc-col-header-cell-cushion{justify-content:center;padding:6px 4px;text-decoration:none;display:flex}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-axis,:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-slot-label{background:var(--cal-macro-surface)}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-slot{height:var(--cal-fc-slot-height);border-color:var(--cal-fc-border)}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-col{border-color:var(--cal-fc-border)}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-slot-label-cushion,:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-axis-cushion{color:var(--cal-text-faint);font-size:.68rem;font-weight:600}:where(.ape-calendar) .cal-macro-root .fc .fc-day-today{background-color:#0000!important}:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-day-number{color:var(--cal-fc-text);font-size:var(--cal-fc-font-size);font-weight:700;text-decoration:none}:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-day,:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-slot,:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-col-frame{cursor:pointer}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-event,:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-event{border-radius:var(--cal-fc-radius);box-shadow:none;z-index:1;background:0 0;border:none}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-event .fc-event-main,:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-event .fc-event-main{height:100%;padding:0}:where(.ape-calendar) .cal-macro-root .fc .fc-event-main-frame{height:100%}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-col-events{margin:0 2px}:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-event-harness+.fc-timegrid-event-harness{margin-left:2px}:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-more-link{color:#475569;text-underline-offset:2px;background:0 0;border-radius:.25rem;align-items:center;padding:0 .375rem;font-size:.6875rem;font-weight:600;text-decoration:underline;transition:color .15s,background-color .15s;display:inline-flex}:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-more-link:hover{color:#0f172a;background-color:#f1f5f9}:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-more-link .fc-more-link-custom{pointer-events:none}@media (prefers-reduced-motion:no-preference){:where(.ape-calendar) .cal-macro-root .fc .fc-timegrid-event,:where(.ape-calendar) .cal-macro-root .fc .fc-daygrid-event{transition:box-shadow .18s}}:where(.ape-calendar) .cal-macro-root .fc .fc-scroller::-webkit-scrollbar{width:4px;height:4px}:where(.ape-calendar) .cal-macro-root .fc .fc-scroller::-webkit-scrollbar-track{background:0 0}:where(.ape-calendar) .cal-macro-root .fc .fc-scroller::-webkit-scrollbar-thumb{background-color:var(--cal-scrollbar-thumb);border-radius:9999px}:where(.ape-calendar) .cal-macro-root .fc .fc-scroller::-webkit-scrollbar-thumb:hover{background-color:var(--cal-scrollbar-thumb-hover)}:where(.ape-calendar) .cal-macro-root .fc .fc-bg-event.cal-availability-band{background-color:var(--cal-availability-bg);opacity:.6}:where(.ape-calendar) .cal-agenda{flex-direction:column;gap:1rem;height:100%;padding:1rem 1rem 2rem;display:flex;overflow-y:auto}:where(.ape-calendar) .cal-agenda::-webkit-scrollbar{width:4px}:where(.ape-calendar) .cal-agenda::-webkit-scrollbar-track{background:0 0}:where(.ape-calendar) .cal-agenda::-webkit-scrollbar-thumb{background-color:var(--cal-scrollbar-thumb);border-radius:9999px}:where(.ape-calendar) .cal-agenda::-webkit-scrollbar-thumb:hover{background-color:var(--cal-scrollbar-thumb-hover)}:where(.ape-calendar) .cal-agenda-day{grid-template-columns:5rem 1fr;align-items:flex-start;gap:1rem;display:grid}:where(.ape-calendar) .cal-agenda-day__anchor{border-right:1px solid var(--cal-border);flex-direction:column;justify-content:flex-start;align-items:center;gap:.125rem;padding-top:.25rem;padding-right:.75rem;display:flex}:where(.ape-calendar) .cal-agenda-day__month{text-transform:uppercase;letter-spacing:.05em;color:var(--cal-text-muted);font-size:.6875rem;font-weight:700}:where(.ape-calendar) .cal-agenda-day__number{color:var(--cal-text);font-size:1.75rem;font-weight:700;line-height:1}:where(.ape-calendar) .cal-agenda-day__weekday{text-transform:lowercase;color:var(--cal-text-faint);font-size:.625rem;font-weight:600}:where(.ape-calendar) .cal-agenda-day__body{flex-direction:column;gap:.5rem;min-width:0;display:flex}:where(.ape-calendar) .cal-agenda-day__header{display:flex}:where(.ape-calendar) .cal-agenda-day__events{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}:where(.ape-calendar) .cal-agenda-day__event-item{background-color:var(--cal-surface);border:1px solid var(--cal-border);border-radius:.625rem;padding:.625rem .75rem;transition:box-shadow .15s}:where(.ape-calendar) .cal-agenda-day__event-item:hover{box-shadow:0 1px 4px #0000000f}:where(.ape-calendar) .cal-agenda-day__empty{color:var(--cal-text-faint);margin:0;font-size:.75rem;font-style:italic}:where(.ape-calendar) .cal-list-row{align-items:center;gap:.75rem;width:100%;display:flex}:where(.ape-calendar) .cal-list-row__time-chip{background-color:var(--cal-status-scheduled-bg);color:var(--cal-status-scheduled-text);border-radius:9999px;flex-shrink:0;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.6875rem;font-weight:700;display:inline-flex}:where(.ape-calendar) .cal-list-row__body{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}:where(.ape-calendar) .cal-list-row__title{color:var(--cal-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8125rem;font-weight:700;overflow:hidden}:where(.ape-calendar) .cal-list-row[data-status=cancelled] .cal-list-row__title{color:var(--cal-status-cancelled-text);text-decoration:line-through}:where(.ape-calendar) .cal-list-row__meta{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}:where(.ape-calendar) .cal-list-row__aside{flex-shrink:0;align-items:center;gap:.5rem;display:flex}:where(.ape-calendar) .cal-list-row__actions{color:var(--cal-text-muted);align-items:center;gap:.25rem;display:flex}:where(.ape-calendar) .cal-list-row__action-button{cursor:pointer;width:1.75rem;height:1.75rem;color:inherit;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;transition:background-color .15s;display:inline-flex}:where(.ape-calendar) .cal-list-row__action-button:hover{background-color:var(--cal-surface-subtle)}:where(.ape-calendar) .cal-list-row__action-button:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-list-row__action-button--danger{color:var(--cal-danger)}:where(.ape-calendar) .cal-list-row__action-button--danger:hover{background-color:var(--cal-danger-bg)}:where(.ape-calendar) .cal-type-filter{flex-direction:column;gap:.25rem;display:flex}:where(.ape-calendar) .cal-type-filter__item{cursor:pointer;text-align:left;width:100%;color:var(--cal-text-muted);background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.625rem;padding:.5rem .625rem;font-size:.8125rem;font-weight:600;transition:background-color .15s,color .15s;display:flex}:where(.ape-calendar) .cal-type-filter__item:hover,:where(.ape-calendar) .cal-type-filter__item[data-selected=true]{background-color:var(--cal-surface-subtle);color:var(--cal-text)}:where(.ape-calendar) .cal-type-filter__item:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-type-filter__dot{background-color:var(--cal-status-default);border-radius:9999px;flex-shrink:0;width:.625rem;height:.625rem}:where(.ape-calendar) .cal-type-filter__icon{color:inherit;flex-shrink:0;display:inline-flex}:where(.ape-calendar) .cal-type-filter__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}:where(.ape-calendar) .cal-type-filter__count{color:var(--cal-text-faint);flex-shrink:0;font-size:.75rem;font-weight:700}:where(.ape-calendar) .cal-type-filter[data-variant=pill]{gap:.625rem}:where(.ape-calendar) .cal-type-filter[data-variant=pill] .cal-type-filter__item{background-color:var(--cal-type-pill-bg,#e8f1fd);color:var(--cal-type-pill-text,var(--cal-primary));border-radius:9999px;padding:.625rem 1rem;font-weight:700}:where(.ape-calendar) .cal-type-filter[data-variant=pill] .cal-type-filter__item:hover{background-color:var(--cal-type-pill-bg-hover,#d7e7fb);color:var(--cal-type-pill-text,var(--cal-primary))}:where(.ape-calendar) .cal-type-filter[data-variant=pill] .cal-type-filter__item[data-selected=true]{background-color:var(--cal-type-pill-bg-active,#cfe0fb);color:var(--cal-type-pill-text,var(--cal-primary));box-shadow:inset 0 0 0 1.5px var(--cal-type-pill-text,var(--cal-primary))}:where(.ape-calendar) .cal-type-filter[data-variant=pill] .cal-type-filter__count{color:inherit;align-items:center;gap:.375rem;font-size:.8125rem;display:inline-flex}:where(.ape-calendar) .cal-type-filter[data-variant=pill] .cal-type-filter__count:after{content:"";background-color:var(--cal-type-pill-dot,var(--cal-primary));border-radius:9999px;width:.625rem;height:.625rem;display:inline-block}:where(.ape-calendar) .cal-status-filter{flex-wrap:wrap;align-items:center;gap:.375rem;display:inline-flex}:where(.ape-calendar) .cal-status-filter__option{cursor:pointer;border:1px solid var(--cal-border);background-color:var(--cal-surface);color:var(--cal-text-muted);border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.ape-calendar) .cal-status-filter__option:hover{background-color:var(--cal-surface-subtle);color:var(--cal-text)}:where(.ape-calendar) .cal-status-filter__option[data-selected=true]{border-color:var(--cal-primary);background-color:var(--cal-status-scheduled-bg);color:var(--cal-status-scheduled-text)}:where(.ape-calendar) .cal-status-filter__option:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-status-filter__dot{background-color:var(--cal-status-default);border-radius:9999px;flex-shrink:0;width:.5rem;height:.5rem}:where(.ape-calendar) .cal-select__trigger{cursor:pointer;border:1px solid var(--cal-border);background-color:var(--cal-surface);height:2rem;color:var(--cal-text-muted);border-radius:9999px;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.75rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.ape-calendar) .cal-select__trigger:hover{background-color:var(--cal-surface-subtle);color:var(--cal-text)}:where(.ape-calendar) .cal-select__trigger:focus-visible{box-shadow:0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-select__trigger[data-active=true]{border-color:var(--cal-primary);color:var(--cal-text)}:where(.ape-calendar) .cal-select__trigger[data-open=true]{border-color:var(--cal-primary)}:where(.ape-calendar) .cal-select__placeholder{white-space:nowrap}:where(.ape-calendar) .cal-select__value{color:var(--cal-text);white-space:nowrap;font-weight:700}:where(.ape-calendar) .cal-select__badge{background-color:var(--cal-primary);color:#fff;border-radius:9999px;justify-content:center;align-items:center;min-width:1.125rem;height:1.125rem;padding:0 .25rem;font-size:.625rem;font-weight:700;display:inline-flex}:where(.ape-calendar) .cal-select__chevron{color:var(--cal-text-faint);flex-shrink:0;transition:transform .15s}:where(.ape-calendar) .cal-select__trigger[data-open=true] .cal-select__chevron{transform:rotate(180deg)}:where(.ape-calendar) .cal-select__panel{flex-direction:column;gap:.125rem;min-width:12rem;max-height:18rem;padding:.25rem;display:flex;overflow-y:auto}:where(.ape-calendar) .cal-select__option{cursor:pointer;text-align:left;width:100%;color:var(--cal-text);background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8125rem;font-weight:500;transition:background-color .15s;display:flex}:where(.ape-calendar) .cal-select__option:hover{background-color:var(--cal-surface-subtle)}:where(.ape-calendar) .cal-select__option:focus-visible{box-shadow:inset 0 0 0 2px var(--cal-focus-ring);outline:none}:where(.ape-calendar) .cal-select__option[data-selected=true]{background-color:var(--cal-surface-subtle);font-weight:600}:where(.ape-calendar) .cal-select__dot{background-color:var(--cal-status-default);border-radius:9999px;flex-shrink:0;width:.625rem;height:.625rem}:where(.ape-calendar) .cal-select__option-icon{color:inherit;flex-shrink:0;display:inline-flex}:where(.ape-calendar) .cal-select__option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}:where(.ape-calendar) .cal-select__check{color:var(--cal-primary);flex-shrink:0}:where(.ape-calendar) .cal-toolbar__tab{justify-content:center;align-items:center;min-width:2rem;padding:.375rem;display:inline-flex}:where(.ape-calendar) .cal-toolbar__tab-label{gap:0}:where(.ape-calendar) .cal-toolbar .cal-button[data-active=true][data-variant=outline]{border-color:var(--cal-primary);background-color:var(--cal-status-scheduled-bg);color:var(--cal-status-scheduled-text)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ape-calendar",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "FullCalendar + react-day-picker based React calendar suite (macro + mini calendar, popovers, hooks). Self-contained with own Radix primitives.",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",