@imj_media/ui 1.2.59 → 1.2.61

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.js CHANGED
@@ -34,5 +34,5 @@ ${u}
34
34
  tr[data-editing="true"] td {
35
35
  box-shadow: inset 0 1px 0 0 var(--ui-color-border-brand), inset 0 -1px 0 0 var(--ui-color-border-brand) !important;
36
36
  }
37
- `]}),!B&&r.jsxs("table",{className:$,style:W>0?{minWidth:`${W}px`}:void 0,children:[(t.length>0||i)&&r.jsx(Ho,{columns:e,sortConfig:o,filters:a,showSelection:n==null?void 0:n.enabled,showExpand:l,allSelected:j,someSelected:x,resizable:u,stickyHeader:p,stickyCheckbox:g,stickyActions:b,onSelectAll:T,onSort:C,onFilter:k,onLock:S,onResize:I,onResizeDoubleClick:E,onResizeHover:w}),r.jsx(qo,{rows:t,columns:e,loading:i,empty:s,selectedIds:y,expandable:l,showSelection:n==null?void 0:n.enabled,showExpand:l,stickyCheckbox:g,stickyActions:b,onRowClick:D,onRowExpand:R,onRowSelect:N,onCellFocus:z,isCellFocused:P,onCellChange:F})]}),B&&s&&r.jsx(tr,{...s})]})},Go=({selectedCount:e,selectedIds:t,actions:i=[],onClearSelection:s,selectionText:n="Seleccionados",className:o})=>{if(e===0)return null;const a=M("ui-inline-flex ui-items-center ui-gap-16","ui-bg-fill-brand","ui-px-16 ui-py-8","ui-rounded-surface-modal","ui-shadow-03",o);return r.jsxs("div",{className:a,children:[r.jsxs("span",{className:"ui-whitespace-nowrap ui-text-body-sm-regular ui-font-body-sm-regular ui-text-on-color",children:["(",e,") ",n]}),i.length>0&&r.jsx(qe,{vertical:!0,className:"ui-h-8 ui-border-on-color ui-opacity-30"}),r.jsx("div",{className:"ui-flex ui-items-center ui-gap-16",children:i.map((l,u)=>r.jsx(Ce,{theme:l.label?"solid":"icon",color:l.color||"secondary",size:"xs",icon:l.label?void 0:l.icon,leftSlot:l.label&&l.icon?l.icon:void 0,disabled:l.disabled,onClick:()=>l.onClick(t),children:l.label},`action-${u}-${l.label||l.icon}`))}),s&&r.jsxs(r.Fragment,{children:[r.jsx(qe,{vertical:!0,className:"ui-h-8 ui-border-on-color ui-opacity-30"}),r.jsx(me,{theme:"solid",color:"secondary",size:"xs",pill:"pill",iconProps:{icon:V.faXmark},onClick:s})]})]})},Uo=(e,t,i,s)=>{if(!i)return e;const n=s.find(a=>a.id===t);return n?[...e].sort((a,l)=>{const u=n.accessor?typeof n.accessor=="function"?n.accessor(a):a[n.accessor]:null,h=n.accessor?typeof n.accessor=="function"?n.accessor(l):l[n.accessor]:null;if(u==null)return 1;if(h==null)return-1;let m;return typeof u=="string"&&typeof h=="string"?m=u.localeCompare(h):typeof u=="number"&&typeof h=="number"?m=u-h:u instanceof Date&&h instanceof Date?m=u.getTime()-h.getTime():m=String(u).localeCompare(String(h)),i==="asc"?m:-m}):e},ir=e=>e===null?"asc":e==="asc"?"desc":null,Ko=(e,t)=>{if((e==null?void 0:e.columnId)===t){const i=ir(e.direction);return i?{columnId:t,direction:i}:void 0}return{columnId:t,direction:"asc"}},Xo=e=>{const[t,i]=c.useState(e),s=c.useCallback(a=>{i(l=>{if((l==null?void 0:l.columnId)===a){const u=ir(l.direction);return u?{columnId:a,direction:u}:void 0}return{columnId:a,direction:"asc"}})},[]),n=c.useCallback(()=>{i(void 0)},[]),o=c.useCallback((a,l)=>{i(l?{columnId:a,direction:l}:void 0)},[]);return{sortConfig:t,handleSort:s,clearSort:n,setSort:o}},Qo=(e,t)=>e.includes(t)?e.filter(s=>s!==t):[...e,t],wd=(e,t)=>{const i=e.map(n=>n.id);return i.every(n=>t.includes(n))?[]:i},jd=(e,t,i,s)=>{const n=t.indexOf(i),o=t.indexOf(s);if(n===-1||o===-1)return e;const a=Math.min(n,o),l=Math.max(n,o),u=t.slice(a,l+1),h=new Set([...e,...u]);return Array.from(h)},sr=(e,t)=>e.length===0?!1:e.every(i=>t.includes(i.id)),Zo=(e,t)=>t.length===0?!1:e.some(i=>t.includes(i.id))&&!sr(e,t),Jo=(e,t=!0)=>{const[i,s]=c.useState([]),n=c.useMemo(()=>sr(e,i),[e,i]),o=c.useMemo(()=>Zo(e,i),[e,i]),a=c.useCallback(d=>{if(!t){s([d.id]);return}s(f=>Qo(f,d.id))},[t]),l=c.useCallback(d=>{s(d?e.map(f=>f.id):[])},[e]),u=c.useCallback(()=>{s([])},[]),h=c.useCallback(d=>{s(d)},[]),m=c.useCallback(d=>i.includes(d),[i]);return{selectedIds:i,selectedCount:i.length,allSelected:n,someSelected:o,handleRowSelect:a,handleSelectAll:l,clearSelection:u,selectRows:h,isSelected:m}},ea=(e,t,i)=>{const s=[...e],[n]=s.splice(t,1);return s.splice(i,0,n),s},ta=(e,t)=>e.map(i=>i.id===t?{...i,visible:!i.visible}:i),ia=(e,t,i)=>e.map(s=>s.id===t?{...s,visible:i}:s),sa=(e,t)=>e.map(i=>i.id===t?{...i,locked:!i.locked}:i),ra=(e,t,i)=>e.map(s=>s.id===t?{...s,width:i}:s),Sd=e=>e.map(t=>({...t,visible:!0,locked:!1,width:t.width})),Cd=e=>e.filter(t=>t.visible!==!1),kd=e=>e.filter(t=>t.locked===!0),na=e=>{const[t,i]=c.useState(e);c.useEffect(()=>{i(m=>{const d=new Map(e.map(y=>[y.id,y])),f=new Set(m.map(y=>y.id)),p=new Set(e.map(y=>y.id)),g=f.size===p.size&&[...f].every(y=>p.has(y)),b=(y,j)=>{if(!j){const N=typeof y.width=="number"?y.width:void 0;return{...y,originalWidth:N??y.originalWidth}}const x=j.width??y.width,T=j.originalWidth??(typeof y.width=="number"?y.width:y.originalWidth);return{...y,width:x,originalWidth:T,visible:j.visible!==void 0?j.visible:y.visible,locked:j.locked??y.locked}};let v;return g?v=m.map(y=>{const j=d.get(y.id);return j?b(j,y):y}):v=e.map(y=>b(y,m.find(j=>j.id===y.id))),v.length===m.length&&v.every((y,j)=>{const x=m[j];return y.id===x.id&&y.width===x.width&&y.originalWidth===x.originalWidth&&y.visible===x.visible&&y.locked===x.locked&&y.columnOptions===x.columnOptions&&y.columnOptionsLoading===x.columnOptionsLoading&&y.editable===x.editable&&y.header===x.header})?m:v})},[e]);const s=c.useCallback(m=>{i(d=>ta(d,m))},[]),n=c.useCallback((m,d)=>{i(f=>ia(f,m,d))},[]),o=c.useCallback(m=>{i(d=>sa(d,m))},[]),a=c.useCallback((m,d)=>{i(f=>ra(f,m,d))},[]),l=c.useCallback((m,d)=>{i(f=>ea(f,m,d))},[]),u=c.useCallback(m=>{i(d=>{const f=new Map(d.map(v=>[v.id,v])),p=m.map(v=>f.get(v)).filter(v=>v!==void 0),g=new Set(m),b=d.filter(v=>!g.has(v.id));return[...p,...b]})},[]),h=c.useCallback(()=>{i(e)},[e]);return{columns:t,handleToggleVisibility:s,handleSetVisibility:n,handleToggleLock:o,handleResize:a,handleReorder:l,setColumnsOrder:u,resetColumns:h}},oa=(e=[])=>{const[t,i]=c.useState(new Set(e)),s=c.useCallback(d=>{i(f=>{const p=new Set(f);return p.has(d.id)?p.delete(d.id):p.add(d.id),p})},[]),n=c.useCallback(d=>{i(f=>new Set(f).add(d))},[]),o=c.useCallback(d=>{i(f=>{const p=new Set(f);return p.delete(d),p})},[]),a=c.useCallback(d=>{i(f=>{const p=new Set(f);return p.has(d)?p.delete(d):p.add(d),p})},[]),l=c.useCallback(d=>{const f=d.filter(p=>p.isParent).map(p=>p.id);i(new Set(f))},[]),u=c.useCallback(()=>{i(new Set)},[]),h=c.useCallback(d=>t.has(d),[t]),m=c.useCallback(d=>d.map(f=>({...f,expanded:t.has(f.id)})),[t]);return{expandedIds:Array.from(t),expandedCount:t.size,handleRowExpand:s,expandRow:n,collapseRow:o,toggleRow:a,expandAll:l,collapseAll:u,isExpanded:h,applyExpandedState:m}},aa=()=>{const[e,t]=c.useState(null),i=c.useCallback((o,a)=>{t({rowId:o,columnId:a})},[]),s=c.useCallback(()=>{t(null)},[]),n=c.useCallback((o,a)=>e?e.rowId===o&&e.columnId===a:!1,[e]);return{focusedCell:e,handleCellFocus:i,handleCellBlur:s,isCellFocused:n}},pi=e=>({columnId:e.columnId,operator:e.operator,value:e.value,value2:e.value2}),Nd=({initialFilters:e=[],onFiltersChange:t}={})=>{const[i,s]=c.useState(()=>e.map((h,m)=>({id:`filter-${m}`,columnId:h.columnId,columnLabel:h.columnId,operator:h.operator,value:h.value,value2:h.value2}))),n=c.useCallback(h=>{const m={...h,id:`filter-${Date.now()}-${Math.random()}`};s(d=>{const f=[...d,m];return t==null||t(f.map(pi)),f})},[t]),o=c.useCallback((h,m)=>{s(d=>{const f=d.map(p=>p.id===h?{...p,...m}:p);return t==null||t(f.map(pi)),f})},[t]),a=c.useCallback(h=>{s(m=>{const d=m.filter(f=>f.id!==h);return t==null||t(d.map(pi)),d})},[t]),l=c.useCallback(()=>{s([]),t==null||t([])},[t]),u=c.useCallback(h=>{s(h),t==null||t(h.map(pi))},[t]);return{filters:i,addFilter:n,updateFilter:o,removeFilter:a,clearFilters:l,setAllFilters:u}},la=(e={})=>{const{externalEditingRowIds:t,onEditingRowIdsChange:i,onEditModeChange:s}=e,[n,o]=c.useState(new Set);c.useEffect(()=>{t!==void 0&&o(new Set(t))},[t]);const a=c.useMemo(()=>t!==void 0?new Set(t):n,[t,n]),l=c.useCallback(g=>{i&&i(Array.from(g))},[i]),u=c.useCallback(g=>{const b=new Set(a),v=b.has(g);v?b.delete(g):b.add(g),s&&s(g,!v),t!==void 0?l(b):o(b)},[a,t,l,s]),h=c.useCallback(g=>{const b=new Set(a),v=b.has(g);b.add(g),!v&&s&&s(g,!0),t!==void 0?l(b):o(b)},[a,t,l,s]),m=c.useCallback(g=>{const b=new Set(a),v=b.has(g);b.delete(g),v&&s&&s(g,!1),t!==void 0?l(b):o(b)},[a,t,l,s]),d=c.useCallback(()=>{t!==void 0?l(new Set):o(new Set)},[t,l]),f=c.useCallback(g=>a.has(g),[a]),p=c.useCallback(g=>g.map(b=>({...b,_isEditing:a.has(b.id)})),[a]);return{editingRowIds:a,toggleRowEdit:u,startEdit:h,stopEdit:m,stopAllEdits:d,isRowEditing:f,applyEditState:p}},on=1,Td="table-config-",Dd=({configKey:e,persistConfig:t=!1,initialColumns:i,initialSort:s,initialFilters:n=[],onConfigChange:o})=>{const a=e?`${Td}${e}`:null,l=c.useCallback(()=>({version:on,updatedAt:new Date().toISOString(),columns:i.map((k,S)=>({id:k.id,order:S,visible:k.visible!==!1,locked:k.locked||!1,width:k.width})),sort:s,filters:n}),[i,s,n]),u=c.useCallback(()=>{if(!a||!t)return null;try{const k=localStorage.getItem(a);if(!k)return null;const S=JSON.parse(k);return S.version!==on?(process.env.NODE_ENV!=="production"&&console.warn(`[useTableConfig] Config version mismatch, resetting config for ${e}`),null):S}catch(k){return process.env.NODE_ENV!=="production"&&console.error(`[useTableConfig] Error loading config for ${e}:`,k),null}},[a,t,e]),h=c.useCallback(k=>{if(!(!a||!t))try{localStorage.setItem(a,JSON.stringify(k))}catch(S){process.env.NODE_ENV!=="production"&&console.error(`[useTableConfig] Error saving config for ${e}:`,S)}},[a,t,e]),[m,d]=c.useState(()=>u()||l());c.useEffect(()=>{u()||d(l())},[i.length]);const f=c.useCallback((k,S)=>{d(I=>{const E={...I,...k,updatedAt:new Date().toISOString()};return h(E),o==null||o(E,S),E})},[h,o]),p=c.useCallback(()=>{const k=new Map(i.map(E=>[E.id,E])),S=[],I=new Set(m.columns.map(E=>E.id));return m.columns.sort((E,w)=>E.order-w.order).forEach(E=>{const w=k.get(E.id);w&&S.push({...w,visible:E.visible,locked:E.locked,width:E.width??w.width})}),i.forEach(E=>{I.has(E.id)||S.push(E)}),S},[i,m.columns]),g=c.useCallback(k=>{const S=k.map((I,E)=>{const w=m.columns.find(D=>D.id===I.id);return{id:I.id,order:E,visible:(w==null?void 0:w.visible)??I.visible!==!1,locked:I.locked||(w==null?void 0:w.locked)||!1,width:I.width??(w==null?void 0:w.width)}});f({columns:S},"column-reorder")},[m.columns,f]),b=c.useCallback((k,S)=>{const I=m.columns.map(E=>E.id===k?{...E,visible:S}:E);f({columns:I},"column-visibility")},[m.columns,f]),v=c.useCallback(k=>{const S=new Map(k.map(E=>[E.columnId,E.visible])),I=m.columns.map(E=>S.has(E.id)?{...E,visible:S.get(E.id)}:E);f({columns:I},"column-visibility")},[m.columns,f]),y=c.useCallback((k,S)=>{const I=m.columns.map(E=>E.id===k?{...E,locked:S}:E);if(S){const E=I.filter(R=>R.locked),w=I.filter(R=>!R.locked),D=[...E,...w].map((R,z)=>({...R,order:z}));f({columns:D},"column-lock")}else f({columns:I},"column-lock")},[m.columns,f]),j=c.useCallback((k,S)=>{const I=m.columns.map(E=>E.id===k?{...E,width:S}:E);f({columns:I},"column-resize")},[m.columns,f]),x=c.useCallback(k=>{f({sort:k},"sort")},[f]),T=c.useCallback(k=>{f({filters:k},"filter")},[f]),N=c.useCallback(()=>{const k=l();d(k),a&&t&&localStorage.removeItem(a),o==null||o(k,"reset")},[l,a,t,o]);return{columns:c.useMemo(()=>p(),[p]),sort:m.sort,filters:m.filters||[],updateColumnOrder:g,updateColumnVisibility:b,updateMultipleColumnVisibility:v,updateColumnLock:y,updateColumnWidth:j,updateSort:x,updateFilters:T,resetConfig:N,currentConfig:m}},Fe=e=>!e||typeof e!="string"?!1:/^\d{4}-\d{2}-\d{2}/.test(e),Gt=e=>{const[t,i,s]=e.split("T")[0].split("-").map(Number);return new Date(t,i-1,s)},Dt=(e,t,i)=>{const s=Gt(String(e)),n=Gt(String(t)),o=s.getTime(),a=n.getTime();switch(i){case"equals":return o===a;case"notEquals":return o!==a;case"gt":case"afterDate":return o>a;case"gte":return o>=a;case"lt":case"beforeDate":return o<a;case"lte":return o<=a;default:return!1}},Ed=e=>{const t=new Date,i=new Date(t.getFullYear(),t.getMonth(),t.getDate());switch(e){case"thisMonth":{const s=new Date(t.getFullYear(),t.getMonth(),1),n=new Date(t.getFullYear(),t.getMonth()+1,0);return{start:s,end:n}}case"lastMonth":{const s=new Date(t.getFullYear(),t.getMonth()-1,1),n=new Date(t.getFullYear(),t.getMonth(),0);return{start:s,end:n}}case"thisYear":{const s=new Date(t.getFullYear(),0,1),n=new Date(t.getFullYear(),11,31);return{start:s,end:n}}case"lastYear":{const s=new Date(t.getFullYear()-1,0,1),n=new Date(t.getFullYear()-1,11,31);return{start:s,end:n}}default:return{start:i,end:i}}},Id=(e,t)=>{if(!Fe(e))return!1;const i=Gt(String(e)),{start:s,end:n}=Ed(t),o=i.getTime(),a=s.getTime(),l=n.getTime();return o>=a&&o<=l},an=(e,t,i,s)=>{const n=e==null||e==="";switch(t){case"isEmpty":return n;case"isNotEmpty":return!n;case"equals":return n&&(i==null||i==="")?!0:Fe(e)&&Fe(i)?Dt(e,i,"equals"):String(e).toLowerCase()===String(i).toLowerCase();case"notEquals":return n&&(i==null||i==="")?!1:Fe(e)&&Fe(i)?Dt(e,i,"notEquals"):String(e).toLowerCase()!==String(i).toLowerCase();case"in":if(n||!Array.isArray(i))return!1;if(Array.isArray(e))return e.some(u=>{const h=typeof u=="object"&&u!==null?u.name||u.label||u.value||u.id||JSON.stringify(u):String(u);return i.some(m=>String(m).toLowerCase()===String(h).toLowerCase())});if(typeof e=="object"&&e!==null&&!Array.isArray(e)){const u=e,h=u.name&&String(u.name)||u.label&&String(u.label)||u.value&&String(u.value)||u.id&&String(u.id)||JSON.stringify(e);return i.some(m=>String(m).toLowerCase()===String(h).toLowerCase())}return i.some(u=>String(u).toLowerCase()===String(e).toLowerCase());case"contains":return n?!1:String(e).toLowerCase().includes(String(i).toLowerCase());case"notContains":return n?!0:!String(e).toLowerCase().includes(String(i).toLowerCase());case"startsWith":return n?!1:String(e).toLowerCase().startsWith(String(i).toLowerCase());case"endsWith":return n?!1:String(e).toLowerCase().endsWith(String(i).toLowerCase());case"gt":return n?!1:Fe(e)&&Fe(i)?Dt(e,i,"gt"):Number(e)>Number(i);case"gte":return n?!1:Fe(e)&&Fe(i)?Dt(e,i,"gte"):Number(e)>=Number(i);case"lt":return n?!1:Fe(e)&&Fe(i)?Dt(e,i,"lt"):Number(e)<Number(i);case"lte":return n?!1:Fe(e)&&Fe(i)?Dt(e,i,"lte"):Number(e)<=Number(i);case"between":if(n)return!1;if(Fe(e)&&Fe(i)&&Fe(s)){const u=Gt(String(e)),h=Gt(String(i)),m=Gt(String(s)),d=u.getTime(),f=Math.min(h.getTime(),m.getTime()),p=Math.max(h.getTime(),m.getTime());return d>=f&&d<=p}const o=Number(e),a=Math.min(Number(i),Number(s)),l=Math.max(Number(i),Number(s));return o>=a&&o<=l;case"afterDate":return n||!Fe(e)||!Fe(i)?!1:Dt(e,i,"afterDate");case"beforeDate":return n||!Fe(e)||!Fe(i)?!1:Dt(e,i,"beforeDate");case"thisMonth":case"lastMonth":case"thisYear":case"lastYear":return n?!1:Id(e,t);default:return!0}},ln=(e,t,i)=>{const s=i.find(n=>n.id===t);if(s)return s.accessor?typeof s.accessor=="function"?s.accessor(e):e[s.accessor]:e[t]},Md=(e,t,i)=>t.length===0?e:e.filter(s=>{if(t.length===1){const o=ln(s,t[0].columnId,i);return an(o,t[0].operator,t[0].value,t[0].value2)}let n=!1;for(let o=0;o<t.length;o++){const a=t[o],l=ln(s,a.columnId,i),u=an(l,a.operator,a.value,a.value2);if(o===0)n=u;else{const m=t[o-1].logicOperator||"and";m==="and"?n=n&&u:m==="or"&&(n=n||u)}}return n}),Rd=({columns:e,rows:t,loading:i=!1,empty:s={title:"Aun no hay nada aquí...",description:"Aun no hay contenido disponible por aquí para mostrar."},selection:n,pagination:o,toolbar:a,sort:l,filters:u=[],expandable:h=!1,resizable:m=!1,striped:d=!1,bordered:f=!1,borderable:p=!1,hoverable:g=!0,dense:b=!1,stickyHeader:v=!0,stickyCheckbox:y=!0,stickyActions:j=!0,showEditActions:x,configKey:T,persistConfig:N=!1,onConfigChange:C,className:k,onSort:S,onFilter:I,onColumnResize:E,onColumnReorder:w,onColumnVisibilityChange:D,onRowClick:R,onRowExpand:z,onHandleChange:P,editingRowIds:F,onEditingRowIdsChange:W,onEditModeChange:$,onSuccessComplete:O})=>{const B=c.useRef(null),[_,Q]=c.useState(null),ie=c.useRef(new Set),Z=c.useRef(new Set),L=Dd({configKey:T,persistConfig:N,initialColumns:e,initialSort:l,initialFilters:u,onConfigChange:C}),A=N&&T?L.columns:e,q=c.useMemo(()=>A.some(X=>X.editable&&X.editable!=="none"),[A]),se=c.useMemo(()=>{if(x===!1||!q)return A;const X=A.findIndex(be=>be.type==="actions"&&be.id!=="_editActions");if(X!==-1){const be=A[X],ye=be.render,Ne={...be,render:(Ue,dt,$t)=>{const Pt=ye?ye(Ue,dt,$t):[],Ki=Array.isArray(Pt)?Pt:[];return[{icon:dt._isEditing?V.faCheck:V.faPen,tooltip:dt._isEditing?"Guardar":"Editar",color:dt._isEditing?"secondary":"tertiary",onClick:()=>{dt._toggleEdit&&dt._toggleEdit()}},...Ki]}},tt=[...A];return tt[X]=Ne,tt}const ae={id:"_editActions",header:"Acciones",type:"actions",width:120,sortable:!1,filterable:!1,lockable:!1,resizable:!1,editable:"none",render:(be,ye)=>[{icon:ye._isEditing?V.faCheck:V.faPen,tooltip:ye._isEditing?"Guardar ":"Editar",onClick:()=>{ye._toggleEdit&&ye._toggleEdit()}}]};return[...A,ae]},[A,q,x]),ce=c.useMemo(()=>se.map(X=>X.width===void 0&&X.resizable!==!1?{...X,resizable:!0}:X),[se]),{columns:le,handleSetVisibility:pe,handleToggleLock:ge,handleResize:ve,setColumnsOrder:U}=na(ce),{sortConfig:Y,handleSort:K}=Xo(l),{selectedIds:te,selectedCount:H,allSelected:J,someSelected:ee,handleRowSelect:ne,handleSelectAll:re,clearSelection:de}=Jo(t,n==null?void 0:n.multiple),{handleRowExpand:Te,applyExpandedState:je}=oa(),{handleCellFocus:ze,handleCellBlur:Se,isCellFocused:Le}=aa(),{filters:Re,setAllFilters:Ve}=Nd({initialFilters:u,onFiltersChange:I}),{toggleRowEdit:ke,applyEditState:et}=la({externalEditingRowIds:F,onEditingRowIdsChange:W,onEditModeChange:$}),[De,zt]=c.useState("");c.useEffect(()=>{const X=ae=>{B.current&&!B.current.contains(ae.target)&&Se()};return document.addEventListener("mousedown",X),()=>{document.removeEventListener("mousedown",X)}},[Se]);const Ct=c.useRef(Re.length),ht=c.useRef(De);c.useEffect(()=>{var be;const X=Ct.current!==Re.length,ae=ht.current!==De;o!=null&&o.enabled&&(X||ae)&&o.currentPage!==1&&((be=o==null?void 0:o.onPageChange)==null||be.call(o,1)),Ct.current=Re.length,ht.current=De},[Re.length,De,o]);const ut=c.useMemo(()=>{if(!De.trim()||!((a==null?void 0:a.internalSearch)??!1))return t;const ae=De.toLowerCase().trim();return t.filter(be=>le.some(ye=>{if(ye.visible===!1)return!1;let Ne;return typeof ye.accessor=="function"?Ne=ye.accessor(be):ye.accessor&&(Ne=be[ye.accessor]),Ne!==null?String(Ne).toLowerCase().includes(ae):!1}))},[t,De,le,a==null?void 0:a.internalSearch]),rt=c.useMemo(()=>Re.length===0||!((a==null?void 0:a.internalFilters)??!1)?ut:Md(ut,Re,le),[ut,Re,le,a==null?void 0:a.internalFilters]),nt=c.useMemo(()=>!Y||!Y.direction?rt:[...rt].sort((X,ae)=>{const be=le.find(Pt=>Pt.id===Y.columnId);if(!be)return 0;let ye,Ne;if(typeof be.accessor=="function")ye=be.accessor(X),Ne=be.accessor(ae);else if(be.accessor)ye=X[be.accessor],Ne=ae[be.accessor];else return 0;const tt=ye==null,Ue=Ne==null;if(tt&&Ue)return 0;if(tt)return Y.direction==="asc"?1:-1;if(Ue)return Y.direction==="asc"?-1:1;const dt=ye,$t=Ne;return dt<$t?Y.direction==="asc"?-1:1:dt>$t?Y.direction==="asc"?1:-1:0}),[rt,Y,le]),ct=nt.length,vt=c.useMemo(()=>{if(!(o!=null&&o.enabled))return nt;const X=o.currentPage||1,ae=o.pageSize||10,be=!((a==null?void 0:a.internalSearch)??!1),ye=!((a==null?void 0:a.internalFilters)??!1);if(o.total!==void 0&&o.total!==ct||be&&ye)return nt;const tt=(X-1)*ae,Ue=tt+ae;return nt.slice(tt,Ue)},[nt,o,ct,a==null?void 0:a.internalSearch,a==null?void 0:a.internalFilters]),Lt=je(vt),pt=c.useMemo(()=>et(Lt).map(ae=>({...ae,_toggleEdit:()=>ke(ae.id)})),[Lt,et,ke]),Xt=c.useMemo(()=>{if(pt.length>0)return s;const X=De.trim().length>0,ae=Re.length>0;return t.length===0&&!X&&!ae?{...s,type:s.type||"empty"}:X&&(ut.length===0||pt.length===0)?{type:"no-results",title:`No hay resultados para "${De}"`,description:void 0,action:s.action}:ae&&rt.length===0?{type:"no-filters",title:void 0,description:void 0,action:s.action}:s},[s,pt.length,De,Re.length,t.length,ut.length,rt.length]),kt=X=>{const ae=Ko(Y,X);K(X),S==null||S(ae),N&&T&&ae&&L.updateSort(ae)},oe=X=>{},we=X=>{ge(X);const ae=le.find(be=>be.id===X);N&&T&&ae&&L.updateColumnLock(X,!ae.locked)},Pe=(X,ae)=>{ve(X,ae),E==null||E(X,ae),N&&T&&L.updateColumnWidth(X,ae)},G=X=>{if(le.find(be=>be.id===X)&&B.current){const be=B.current.querySelector(`th[data-column-id="${X}"]`),ye=B.current.querySelectorAll(`td[data-column-id="${X}"]`);if(be||ye.length>0){let Ne=0;if(be){const Ue=be.querySelector(".ui-truncate");Ue&&(Ne=Math.max(Ne,Ue.scrollWidth+80))}ye.forEach(Ue=>{Ne=Math.max(Ne,Ue.scrollWidth+32)});const tt=Math.min(Math.max(Ne,100),500);ve(X,tt),E==null||E(X,tt)}}},Ee=(X,ae)=>{Q(ae?X:null)},ot=X=>{var ae;zt(X),(ae=a==null?void 0:a.onSearch)==null||ae.call(a,X)},ue=(X,ae)=>{pe(X,ae),D==null||D(X,ae),N&&T&&L.updateColumnVisibility(X,ae)},fe=X=>{X.forEach(({columnId:ae,visible:be})=>{pe(ae,be),D==null||D(ae,be)}),N&&T&&L.updateMultipleColumnVisibility(X)},Ie=X=>{const ae=X.map(be=>be.id);U(ae),w==null||w(X),N&&T&&L.updateColumnOrder(X)},Me=X=>{Te(X),z==null||z(X)},Oe=(X,ae,be)=>{ie.current.add(X);const ye=t.find(Ne=>Ne.id===X);P&&P(X,ae,be,ye)};c.useEffect(()=>{if(!O)return;const X=new Set(F||[]),ae=Z.current,be=[];if(ae.forEach(ye=>{X.has(ye)||be.push(ye)}),be.length>0){const ye=be.filter(Ne=>ie.current.has(Ne));ye.length>0&&(O(ye),ye.forEach(Ne=>{ie.current.delete(Ne)}))}Z.current=new Set(X)},[F,O]);const _t=X=>{var ae;(ae=o==null?void 0:o.onPageChange)==null||ae.call(o,X)},qt=X=>{var ae;(ae=o==null?void 0:o.onPageSizeChange)==null||ae.call(o,X)},Qt=M("ui-imj ui-relative ui-flex ui-h-full ui-w-full ui-max-w-full ui-flex-col ui-overflow-hidden ui-bg-fill ui-rounded-surface-sheet ui-p-16",p&&"ui-border ui-border-default",k),fi=X=>{Ve(X),!((a==null?void 0:a.internalFilters)??!1)&&I&&I(X)};return r.jsxs("div",{ref:B,className:Qt,children:[a&&r.jsx(Eo,{...a,showFilters:a.showFilters??!0,selectedCount:H,selectedIds:te,columns:le,rows:t,filters:Re,onSearch:ot,onColumnVisibilityChange:ue,onMultipleColumnVisibilityChange:fe,onColumnReorder:Ie,onFiltersApply:fi}),r.jsx("div",{className:"ui-flex-1 ui-min-h-0 ui-min-w-0 ui-overflow-hidden",children:r.jsx(Yo,{columns:le,rows:pt,loading:i,empty:Xt,selection:n,sort:Y,filters:Re,expandable:h,resizable:m,resizeHoverColumnId:_,striped:d,bordered:f,hoverable:g,dense:b,stickyHeader:v,stickyCheckbox:y,stickyActions:j,selectedIds:te,allSelected:J,someSelected:ee,onSelectAll:re,onRowSelect:ne,onSort:kt,onFilter:oe,onLock:we,onResize:Pe,onResizeDoubleClick:G,onResizeHover:Ee,onRowClick:R,onRowExpand:Me,onCellFocus:ze,isCellFocused:Le,onCellChange:Oe})}),(n==null?void 0:n.showSelectionBar)&&H>0&&r.jsx("div",{className:M("ui-pointer-events-none ui-absolute ui-left-0 ui-right-0 ui-z-50 ui-flex ui-justify-center",o!=null&&o.enabled?"ui-bottom-20":"ui-bottom-8"),children:r.jsx(Go,{selectedCount:H,selectedIds:te,actions:n.actions,selectionText:n.selectionText,onClearSelection:n.showClearSelection?de:void 0,className:"ui-pointer-events-auto"})}),(o==null?void 0:o.enabled)&&pt.length>0&&r.jsx(go,{currentPage:o.currentPage||1,pageCount:Math.ceil((o.total!==void 0?o.total:ct)/(o.pageSize||10)),pageSize:o.pageSize||10,total:o.total!==void 0?o.total:ct,onPageChange:_t,handlePageSize:qt,showVisiblePages:!0,showPagesSelector:!0})]})},zd=(e=[])=>{const[t,i]=c.useState(e),[s,n]=c.useState(""),o=c.useCallback(m=>{i(d=>{const f=d.findIndex(p=>p.columnId===m.columnId);if(f>=0){const p=[...d];return p[f]=m,p}return[...d,m]})},[]),a=c.useCallback(m=>{i(d=>d.filter(f=>f.columnId!==m))},[]),l=c.useCallback(()=>{i([]),n("")},[]),u=c.useCallback((m,d)=>{i(f=>f.map(p=>p.columnId===m?{...p,...d}:p))},[]),h=t.length>0||s.length>0;return{filters:t,searchQuery:s,setSearchQuery:n,addFilter:o,removeFilter:a,clearFilters:l,updateFilter:u,hasActiveFilters:h}},Ld=(e,t=10,i=1)=>{const[s,n]=c.useState(i),[o,a]=c.useState(t),l=c.useMemo(()=>Math.ceil(e/o),[e,o]),u=c.useCallback(v=>{v>=1&&v<=l&&n(v)},[l]),h=c.useCallback(v=>{a(v),n(1)},[]),m=c.useCallback(()=>{u(s+1)},[s,u]),d=c.useCallback(()=>{u(s-1)},[s,u]),f=c.useCallback(()=>{n(1)},[]),p=c.useCallback(()=>{n(l)},[l]),g=(s-1)*o,b=Math.min(g+o,e);return{currentPage:s,pageSize:o,pageCount:l,startIndex:g,endIndex:b,handlePageChange:u,handlePageSizeChange:h,nextPage:m,previousPage:d,firstPage:f,lastPage:p,hasNextPage:s<l,hasPreviousPage:s>1}},Ae=e=>!e||typeof e!="string"?!1:/^\d{4}-\d{2}-\d{2}/.test(e),$e=e=>{const[t,i,s]=e.split("T")[0].split("-").map(Number);return new Date(t,i-1,s)},$d=e=>{const t=new Date,i=new Date(t.getFullYear(),t.getMonth(),t.getDate());switch(e){case"thisMonth":{const s=new Date(t.getFullYear(),t.getMonth(),1),n=new Date(t.getFullYear(),t.getMonth()+1,0);return{start:s,end:n}}case"lastMonth":{const s=new Date(t.getFullYear(),t.getMonth()-1,1),n=new Date(t.getFullYear(),t.getMonth(),0);return{start:s,end:n}}case"thisYear":{const s=new Date(t.getFullYear(),0,1),n=new Date(t.getFullYear(),11,31);return{start:s,end:n}}case"lastYear":{const s=new Date(t.getFullYear()-1,0,1),n=new Date(t.getFullYear()-1,11,31);return{start:s,end:n}}default:return{start:i,end:i}}},ua=(e,t,i)=>t.length===0?e:e.filter(s=>t.every(n=>{const o=i.find(l=>l.id===n.columnId);if(!o)return!0;const a=o.accessor?typeof o.accessor=="function"?o.accessor(s):s[o.accessor]:null;return Pd(a,n)})),Pd=(e,t)=>{const i=t.value,s=e==null||e==="";switch(t.operator){case"isEmpty":return s;case"isNotEmpty":return!s}if(s)return!1;const n=String(e).toLowerCase(),o=String(i).toLowerCase();switch(t.operator){case"equals":return Ae(e)&&Ae(i)?$e(e).getTime()===$e(i).getTime():n===o;case"notEquals":return Ae(e)&&Ae(i)?$e(e).getTime()!==$e(i).getTime():n!==o;case"contains":return n.includes(o);case"notContains":return!n.includes(o);case"startsWith":return n.startsWith(o);case"endsWith":return n.endsWith(o);case"gt":return Ae(e)&&Ae(i)?$e(e).getTime()>$e(i).getTime():Number(e)>Number(i);case"gte":return Ae(e)&&Ae(i)?$e(e).getTime()>=$e(i).getTime():Number(e)>=Number(i);case"lt":return Ae(e)&&Ae(i)?$e(e).getTime()<$e(i).getTime():Number(e)<Number(i);case"lte":return Ae(e)&&Ae(i)?$e(e).getTime()<=$e(i).getTime():Number(e)<=Number(i);case"between":if(!t.value2)return!1;if(Ae(e)&&Ae(i)&&Ae(t.value2)){const h=$e(e).getTime(),m=Math.min($e(i).getTime(),$e(t.value2).getTime()),d=Math.max($e(i).getTime(),$e(t.value2).getTime());return h>=m&&h<=d}const a=Number(e),l=Math.min(Number(i),Number(t.value2)),u=Math.max(Number(i),Number(t.value2));return a>=l&&a<=u;case"in":return Array.isArray(i)?Array.isArray(e)?e.some(h=>i.some(m=>String(m).toLowerCase()===String(h).toLowerCase())):i.some(h=>String(h).toLowerCase()===n):!1;case"afterDate":return!Ae(e)||!Ae(i)?!1:$e(e).getTime()>$e(i).getTime();case"beforeDate":return!Ae(e)||!Ae(i)?!1:$e(e).getTime()<$e(i).getTime();case"thisMonth":case"lastMonth":case"thisYear":case"lastYear":{if(!Ae(e))return!1;const h=$e(e),{start:m,end:d}=$d(t.operator),f=h.getTime();return f>=m.getTime()&&f<=d.getTime()}default:return!0}},ca=(e,t,i)=>{if(!t.trim())return e;const s=t.toLowerCase();return e.filter(n=>i.some(o=>{const a=o.accessor?typeof o.accessor=="function"?o.accessor(n):n[o.accessor]:null;return a==null?!1:String(a).toLowerCase().includes(s)}))},Od=({rows:e,columns:t,sortConfig:i,filters:s=[],searchQuery:n="",currentPage:o=1,pageSize:a})=>{const l=c.useMemo(()=>{let h=[...e];return n&&(h=ca(h,n,t)),s.length>0&&(h=ua(h,s,t)),i&&(h=Uo(h,i.columnId,i.direction,t)),h},[e,t,i,s,n]),u=c.useMemo(()=>{if(!a)return l;const h=(o-1)*a,m=h+a;return l.slice(h,m)},[l,o,a]);return{processedRows:l,paginatedRows:u,totalRows:l.length}};function da(e,t){return t(e.id,e.attributes)}function rr(e,t){return e.data.map(i=>da(i,t))}function nr(e,t){return{id:e,nombre:t.nombre,color:t.color,createdAt:new Date(t.createdAt),updatedAt:new Date(t.updatedAt)}}function or(e){return{data:rr(e,nr),pagination:{page:e.meta.pagination.page,pageSize:e.meta.pagination.pageSize,pageCount:e.meta.pagination.pageCount,total:e.meta.pagination.total}}}function Ad(e){return t=>({data:rr(t,e),pagination:{page:t.meta.pagination.page,pageSize:t.meta.pagination.pageSize,pageCount:t.meta.pagination.pageCount,total:t.meta.pagination.total}})}const Fd={equals:"$eq",notEquals:"$ne",contains:"$containsi",notContains:"$notContainsi",startsWith:"$startsWithi",endsWith:"$endsWithi",gt:"$gt",gte:"$gte",lt:"$lt",lte:"$lte",between:"$between",in:"$in",isEmpty:"$null",isNotEmpty:"$notNull",afterDate:"$gt",beforeDate:"$lt",thisMonth:"$gte",lastMonth:"$gte",thisYear:"$gte",lastYear:"$gte"};function Wd(){const e=new Date,t=new Date(e.getFullYear(),e.getMonth(),1),i=new Date(e.getFullYear(),e.getMonth()+1,0);return{start:t.toISOString().split("T")[0],end:i.toISOString().split("T")[0]}}function Bd(){const e=new Date,t=new Date(e.getFullYear(),e.getMonth()-1,1),i=new Date(e.getFullYear(),e.getMonth(),0);return{start:t.toISOString().split("T")[0],end:i.toISOString().split("T")[0]}}function Vd(){const e=new Date;return{start:`${e.getFullYear()}-01-01`,end:`${e.getFullYear()}-12-31`}}function Hd(){const t=new Date().getFullYear()-1;return{start:`${t}-01-01`,end:`${t}-12-31`}}function ds(e){const{field:t,operator:i,value:s,value2:n}=e,o=Fd[i];if(i==="thisMonth"){const a=Wd();return{[t]:{$gte:a.start,$lte:a.end}}}if(i==="lastMonth"){const a=Bd();return{[t]:{$gte:a.start,$lte:a.end}}}if(i==="thisYear"){const a=Vd();return{[t]:{$gte:a.start,$lte:a.end}}}if(i==="lastYear"){const a=Hd();return{[t]:{$gte:a.start,$lte:a.end}}}return i==="between"&&n!==void 0?{[t]:{$gte:s,$lte:n}}:i==="isEmpty"?{[t]:{$null:!0}}:i==="isNotEmpty"?{[t]:{$notNull:!0}}:{[t]:{[o]:s}}}function fa(e){return{field:e.columnId,operator:e.operator,value:e.value,value2:e.value2,logicOperator:e.logicOperator}}function ar(e){if(e.length===0)return{};if(e.length===1)return ds(e[0]);const t=[];let i=[];return e.forEach((s,n)=>{const o=ds(s);i.push(o),s.logicOperator==="or"&&n<e.length-1&&(t.push([...i]),i=[])}),i.length>0&&t.push(i),t.length===1?Object.assign({},...t[0]):{$or:t.map(s=>s.length===1?s[0]:{$and:s})}}function ma(e){const t=e.map(fa);return ar(t)}function lr(e){const t=new URLSearchParams;if(e.page!==void 0&&t.append("pagination[page]",e.page.toString()),e.pageSize!==void 0&&t.append("pagination[pageSize]",e.pageSize.toString()),e.sort){const i=e.sortDirection==="desc"?":desc":":asc";t.append("sort",`${e.sort}${i}`)}return e.filters&&Object.keys(e.filters).length>0&&ha(t,e.filters,"filters"),t.toString()}function ha(e,t,i){Object.entries(t).forEach(([s,n])=>{const o=`${i}[${s}]`;n!=null&&(Array.isArray(n)?n.forEach((a,l)=>{e.append(`${o}[${l}]`,String(a))}):typeof n=="object"?ha(e,n,o):e.append(o,String(n)))})}let Ci=null;class pa extends Error{constructor(t,i,s,n){super(t),this.status=i,this.statusText=s,this.data=n,this.name="StrapiApiError"}}function _d(e){Ci=e}function ga(){if(!Ci)throw new Error("Strapi client not configured. Call configureStrapiClient() first.");return Ci}function qd(){return Ci!==null}async function ui(e,t={}){const i=ga(),s=e.startsWith("http")?e:`${i.baseUrl}${e.startsWith("/")?e:`/${e}`}`,n={"Content-Type":"application/json",Authorization:`Bearer ${i.token}`,...t.headers},o=await fetch(s,{...t,headers:n});if(!o.ok){let a;try{a=await o.json()}catch{a=await o.text()}throw new pa(`API Error: ${o.status} ${o.statusText}`,o.status,o.statusText,a)}return o.json()}async function ur(e,t){const i=t?`${e}?${t}`:e;return ui(i,{method:"GET"})}async function Yd(e,t){return ui(e,{method:"POST",body:JSON.stringify(t)})}async function ba(e,t){return ui(e,{method:"PUT",body:JSON.stringify(t)})}async function Gd(e){return ui(e,{method:"DELETE"})}const cr="/api/equipos";async function xa(e){const t=Ud(e);return ur(cr,t)}async function ki(e){const t=await xa(e);return or(t)}async function Ni(e,t){const i=ma(e),s=lr({filters:i,sort:t==null?void 0:t.sortField,sortDirection:t==null?void 0:t.sortDirection,page:t==null?void 0:t.page,pageSize:t==null?void 0:t.pageSize}),n=await ur(cr,s);return or(n)}function Ud(e){if(!e)return"";const{page:t,pageSize:i,sortField:s,sortDirection:n,filters:o,search:a}=e;let l={};return o&&o.length>0&&(l=ar(o)),a&&a.trim()&&(l={...l,nombre:{$containsi:a.trim()}}),lr({filters:l,sort:s,sortDirection:n,page:t,pageSize:i})}async function dr(e,t){const i=await ba(`${cr}/${e}`,{data:t});return nr(i.data.id,i.data.attributes)}async function ya(e,t){return dr(e,{nombre:t})}const Be={all:["teams"],lists:()=>[...Be.all,"list"],list:e=>[...Be.lists(),e],details:()=>[...Be.all,"detail"],detail:e=>[...Be.details(),e]};function Kd(e,t){return at.useQuery({queryKey:Be.list(e),queryFn:()=>ki(e),staleTime:1e3*60*5,...t})}function Xd(e,t,i){return at.useQuery({queryKey:[...Be.lists(),"filtered",{advancedFilters:e,params:t}],queryFn:()=>Ni(e,t),staleTime:1e3*60*5,...i})}function Qd(e={}){var p,g;const{page:t=1,pageSize:i=10,sortField:s,sortDirection:n="asc",filters:o=[],search:a,enabled:l=!0}=e,u=at.useQueryClient(),h=at.useQuery({queryKey:[...Be.lists(),"table",{page:t,pageSize:i,sortField:s,sortDirection:n,filters:o,search:a}],queryFn:async()=>o.length>0?Ni(o,{page:t,pageSize:i,sortField:s,sortDirection:n}):ki({page:t,pageSize:i,sortField:s,sortDirection:n,search:a}),staleTime:1e3*60*5,placeholderData:at.keepPreviousData,enabled:l}),m=()=>{h.data&&t<h.data.pagination.pageCount&&u.prefetchQuery({queryKey:[...Be.lists(),"table",{page:t+1,pageSize:i,sortField:s,sortDirection:n,filters:o,search:a}],queryFn:()=>o.length>0?Ni(o,{page:t+1,pageSize:i,sortField:s,sortDirection:n}):ki({page:t+1,pageSize:i,sortField:s,sortDirection:n,search:a})})},d=()=>u.invalidateQueries({queryKey:Be.lists()}),f=(p=h.data)==null?void 0:p.pagination;return{data:((g=h.data)==null?void 0:g.data)??[],pagination:f??null,isLoading:h.isLoading,isFetching:h.isFetching,isError:h.isError,error:h.error,isSuccess:h.isSuccess,isPlaceholderData:h.isPlaceholderData,refetch:d,prefetchNextPage:m,query:h}}function Zd(){const e=at.useQueryClient();return{invalidateAll:()=>e.invalidateQueries({queryKey:Be.all}),invalidateLists:()=>e.invalidateQueries({queryKey:Be.lists()})}}function Jd(){const e=at.useQueryClient();return at.useMutation({mutationFn:({id:t,data:i})=>dr(t,i),onMutate:async({id:t,data:i})=>{await e.cancelQueries({queryKey:Be.all});const s=e.getQueriesData({queryKey:Be.all});return e.setQueriesData({queryKey:Be.all},n=>n!=null&&n.data?{...n,data:n.data.map(o=>o.id===t?{...o,...i}:o)}:n),{previousData:s}},onError:(t,i,s)=>{s!=null&&s.previousData&&s.previousData.forEach(([n,o])=>{e.setQueryData(n,o)})},onSettled:async()=>{await e.invalidateQueries({queryKey:Be.all})}})}function ef(){const e=at.useQueryClient();return at.useMutation({mutationFn:({id:t,nombre:i})=>ya(t,i),onMutate:async({id:t,nombre:i})=>{await e.cancelQueries({queryKey:Be.all});const s=e.getQueriesData({queryKey:Be.all});return e.setQueriesData({queryKey:Be.all},n=>n!=null&&n.data?{...n,data:n.data.map(o=>o.id===t?{...o,nombre:i}:o)}:n),{previousData:s}},onError:(t,i,s)=>{s!=null&&s.previousData&&s.previousData.forEach(([n,o])=>{e.setQueryData(n,o)})},onSettled:async()=>{await e.invalidateQueries({queryKey:Be.all})}})}function tf(e={}){const{initialPage:t=1,initialPageSize:i=10,initialSortField:s,initialSortDirection:n="asc",initialFilters:o=[],initialSearch:a=""}=e,[l,u]=c.useState(t),[h,m]=c.useState(i),[d,f]=c.useState(s),[p,g]=c.useState(n),[b,v]=c.useState(o),[y,j]=c.useState(a),x=c.useCallback(D=>{u(D)},[]),T=c.useCallback(D=>{m(D),u(1)},[]),N=c.useCallback((D,R="asc")=>{f(D),g(R),u(1)},[]),C=c.useCallback(D=>{v(D),u(1)},[]),k=c.useCallback(D=>{v(R=>[...R,D]),u(1)},[]),S=c.useCallback(D=>{v(R=>R.filter(z=>z.id!==D)),u(1)},[]),I=c.useCallback(()=>{v([]),u(1)},[]),E=c.useCallback(D=>{j(D),u(1)},[]),w=c.useCallback(()=>{u(t),m(i),f(s),g(n),v(o),j(a)},[t,i,s,n,o,a]);return{page:l,pageSize:h,sortField:d,sortDirection:p,filters:b,search:y,setPage:x,setPageSize:T,setSort:N,setFilters:C,addFilter:k,removeFilter:S,clearFilters:I,setSearch:E,reset:w}}function sf(e,t){return c.useMemo(()=>e.map(i=>{const s=t.sortField===i.id,n=t.filters.some(o=>o.columnId===i.id);return{...i,sortDirection:s?t.sortDirection:null,filterActive:n}}),[e,t.sortField,t.sortDirection,t.filters])}function rf(e,t=300){const[i,s]=c.useState(e);return c.useEffect(()=>{const n=setTimeout(()=>{s(e)},t);return()=>{clearTimeout(n)}},[e,t]),i}function nf(e,t=300){const[i,s]=c.useState(null),n=((...o)=>{i&&clearTimeout(i);const a=setTimeout(()=>{e(...o)},t);s(a)});return c.useEffect(()=>()=>{i&&clearTimeout(i)},[i]),n}function of({children:e,staleTime:t=1e3*60*5,gcTime:i=1e3*60*30,retry:s=3,refetchOnWindowFocus:n=!0}){const[o]=c.useState(()=>new at.QueryClient({defaultOptions:{queries:{staleTime:t,gcTime:i,retry:s,refetchOnWindowFocus:n}}}));return r.jsx(at.QueryClientProvider,{client:o,children:e})}function af(e={}){const{staleTime:t=1e3*60*5,gcTime:i=1e3*60*30,retry:s=3,refetchOnWindowFocus:n=!0}=e;return new at.QueryClient({defaultOptions:{queries:{staleTime:t,gcTime:i,retry:s,refetchOnWindowFocus:n}}})}const ci=["primary","secondary","tertiary","disabled","on-color","on-canvas-inverse","brand","brand-hover","brand-pressed","brand-selected","success","success-hover","success-pressed","success-selected","warning","warning-hover","warning-pressed","warning-selected","danger","danger-hover","danger-pressed","danger-selected","info","info-hover","info-pressed","info-selected","link","link-hover","link-pressed","link-visited","all-colors-red","all-colors-orange","all-colors-yellow","all-colors-lime","all-colors-green","all-colors-cyan","all-colors-azure","all-colors-blue","all-colors-violet","all-colors-magenta","all-colors-rose"],fr=({size:e="h3",weight:t="regular",children:i,className:s,as:n,color:o,textColor:a,...l})=>{const h=n||(e&&["h1","h2","h3","h4","h5","h6"].includes(e)?e:"h3"),d=(()=>{const v=[];return e&&["h1","h2","h3","h4","h5","h6"].includes(e)?(v.push(`ui-text-heading-${e}`),v.push(`ui-font-heading-${e}`),v.push(`ui-leading-tracking-${e}`)):e&&(v.push(`ui-text-${e}`),t!=="regular"&&v.push(`ui-font-${t}`)),v.join(" ")})(),f=o&&ci.includes(o),p=o&&!f?{color:o}:void 0,b=f?`ui-text-${o}`:o?"":a?`ui-text-${a}`:"ui-text-primary";return r.jsx(h,{className:M("ui-imj",d,b,s),style:p,...l,children:i})};fr.displayName="Title";const Ti=({size:e="xs",weight:t="regular",children:i,className:s,as:n="span",color:o,textColor:a,...l})=>{const u=n,m=(()=>{const b=[];return e&&["xs","sm","md","lg"].includes(e)?(b.push(`ui-text-body-${e}-${t}`),b.push(`ui-font-body-${e}-${t}`),b.push(`ui-leading-body-${e}-${t}`),b.push(`ui-tracking-body-${e}`)):e&&(b.push(`ui-text-${e}`),t!=="regular"&&b.push(`ui-font-${t}`)),b.join(" ")})(),d=o&&ci.includes(o),f=o&&!d?{color:o}:void 0,g=d?`ui-text-${o}`:o?"":a?`ui-text-${a}`:"ui-text-secondary";return r.jsx(u,{className:M("ui-imj",m,g,s),style:f,...l,children:i})};Ti.displayName="Body";const mr=({size:e="xs",weight:t="regular",children:i,className:s,as:n="span",color:o,textColor:a,...l})=>{const u=n,m=(()=>{const b=[];return e&&["xs","md"].includes(e)?(b.push(`ui-text-caption-${e}`),b.push(`ui-font-caption-${e}`),b.push(`ui-leading-caption-${e}`),b.push(`ui-tracking-caption-${e}`)):e&&(b.push(`ui-text-${e}`),t!=="regular"&&b.push(`ui-font-${t}`)),b.join(" ")})(),d=o&&ci.includes(o),f=o&&!d?{color:o}:void 0,g=d?`ui-text-${o}`:o?"":a?`ui-text-${a}`:"ui-text-tertiary";return r.jsx(u,{className:M("ui-imj",m,g,s),style:f,...l,children:i})};mr.displayName="Caption";const hr=({size:e="md",weight:t="regular",children:i,className:s,as:n="code",color:o,textColor:a,...l})=>{const u=n,m=(()=>{const b=[];return e==="md"?(b.push("ui-text-code-md"),b.push("ui-font-code-md"),b.push("ui-leading-code-md"),b.push("ui-tracking-code-md")):e&&(b.push(`ui-text-${e}`),t!=="regular"&&b.push(`ui-font-${t}`)),b.join(" ")})(),d=o&&ci.includes(o),f=o&&!d?{color:o}:void 0,g=d?`ui-text-${o}`:o?"":a?`ui-text-${a}`:"ui-text-tertiary";return r.jsx(u,{className:M("ui-imj",m,g,s),style:f,...l,children:i})};hr.displayName="Code";const pr=({size:e,weight:t="regular",children:i,className:s,as:n="span",color:o,textColor:a,...l})=>{const u=n,m=(()=>{const b=[];return b.push(`ui-text-${e}`),t!=="regular"&&b.push(`ui-font-${t}`),b.join(" ")})(),d=o&&ci.includes(o),f=o&&!d?{color:o}:void 0,g=d?`ui-text-${o}`:o?"":a?`ui-text-${a}`:"";return r.jsx(u,{className:M("ui-imj",m,g,s),style:f,...l,children:i})};pr.displayName="CustomText";const gr=({type:e="body",size:t,weight:i="regular",children:s,className:n,as:o,color:a,textColor:l,...u})=>{if(t&&["2xs","xs","sm","md","lg","xl","2xl","3xl","4xl","5xl"].includes(t))return r.jsx(pr,{size:t,weight:i,className:n,as:o,color:a,textColor:l,...u,children:s});switch(e){case"title":return r.jsx(fr,{size:t,weight:i,className:n,as:o,color:a,textColor:l,...u,children:s});case"body":return r.jsx(Ti,{size:t,weight:i,className:n,as:o,color:a,textColor:l,...u,children:s});case"caption":return r.jsx(mr,{size:t,weight:i,className:n,as:o,color:a,textColor:l,...u,children:s});case"code":return r.jsx(hr,{size:t,weight:i,className:n,as:o,color:a,textColor:l,...u,children:s});default:return r.jsx(Ti,{size:t,weight:i,className:n,as:o,color:a,textColor:l,...u,children:s})}};gr.displayName="Text";const lf={duration:5e3,maxMessages:5,position:"bottom-right",variant:"outlined",primaryButtonText:"Aceptar",secondaryButtonText:"Cancelar",animationDuration:300,size:"sm"};let Ke={...lf};const uf=e=>{Ke={...Ke,...e}};class cf{constructor(){this.listeners=[],this.idCounter=0,this.recentMessages=new Map}show(t,i="success",s={}){const n=Date.now()+ ++this.idCounter;let o,a;typeof t=="string"?(o="",a={...s,title:t}):(o=t.message??"",a={...s,...t});const l=`${o||a.title||""}-${i}`,u=Date.now(),h=this.recentMessages.get(l);if(h&&u-h<100)return n;if(this.recentMessages.set(l,u),this.recentMessages.size>50)for(const[d,f]of this.recentMessages.entries())u-f>1e3&&this.recentMessages.delete(d);const m={id:n,message:o,title:a.title,description:a.description,color:i,onClick:a.onClick,onClose:a.onClose,onPrimaryClick:a.onPrimaryClick,onSecondaryClick:a.onSecondaryClick,showCloseButton:a.showCloseButton??!0,isLeaving:!1,position:a.position??Ke.position,variant:a.variant??Ke.variant,primaryButtonText:a.primaryButtonText??Ke.primaryButtonText,secondaryButtonText:a.secondaryButtonText??Ke.secondaryButtonText,size:a.size??Ke.size,duration:a.duration!==void 0?a.duration:Ke.duration,animation:a.animation};return process.env.NODE_ENV!=="production"&&(m.duration!==void 0&&(isNaN(m.duration)||!isFinite(m.duration)||m.duration<0)&&(console.warn(`[MessageService] Invalid duration "${m.duration}". Using default.`),m.duration=Ke.duration),m.position&&!["top-left","top-center","top-right","center-left","center","center-right","bottom-left","bottom-center","bottom-right"].includes(m.position)&&(console.warn(`[MessageService] Invalid position "${m.position}". Using default.`),m.position=Ke.position),m.color&&!["success","danger","info","warning","neutral","brand"].includes(m.color)&&console.warn(`[MessageService] Invalid color "${m.color}".`)),this.listeners.forEach(d=>d(m)),n}success(t,i){return this.show(t,"success",i)}error(t,i){return this.show(t,"danger",i)}info(t,i){return this.show(t,"info",i)}warning(t,i){return this.show(t,"warning",i)}neutral(t,i){return this.show(t,"neutral",i)}brand(t,i){return this.show(t,"brand",i)}dismiss(t){this.listeners.forEach(i=>i({id:t,message:"",title:"",color:"success",position:Ke.position,showCloseButton:!0,isLeaving:!0,variant:Ke.variant}))}configure(t){Object.assign(Ke,t)}getListeners(){return this.listeners}subscribe(t){return this.listeners.push(t),()=>{const i=this.listeners.indexOf(t);i>-1&&this.listeners.splice(i,1)}}}const We=new cf,df=()=>We,br=()=>{const[e,t]=c.useState([]),i=c.useRef(new Map),s=c.useRef(null);return c.useEffect(()=>{const o=We.getListeners();if(s.current){const l=o.indexOf(s.current);l>-1&&o.splice(l,1)}const a=l=>{if(l.isLeaving){t(m=>m.map(d=>d.id===l.id?{...d,isLeaving:!0}:d));const u=i.current.get(l.id);u&&(clearTimeout(u),i.current.delete(l.id));const h=setTimeout(()=>{t(m=>m.filter(d=>d.id!==l.id))},Ke.animationDuration);i.current.set(l.id,h);return}t(u=>{if(u.some(g=>g.id===l.id))return u;const m={...l,isLeaving:!1},d=[...u,m],f=m.duration!==void 0?m.duration:Ke.duration,p=f>0&&isFinite(f)&&!isNaN(f)?f:0;if(p>0){const g=setTimeout(()=>{We.dismiss(m.id)},p);i.current.set(m.id,g)}return d.slice(-Ke.maxMessages)})};return s.current=a,o.push(a),()=>{const l=o.indexOf(a);l>-1&&o.splice(l,1);const u=i.current;u.forEach(h=>clearTimeout(h)),u.clear(),s.current=null}},[]),{messagesByPosition:c.useMemo(()=>e.reduce((o,a)=>{const l=["top-left","top-center","top-right","center-left","center","center-right","bottom-left","bottom-center","bottom-right"],u=a.position&&l.includes(a.position)?a.position:"top-right";return o[u]||(o[u]=[]),o[u].push(a),o},{}),[e]),messages:e}},xr=()=>({getPositionClasses:t=>{const i={"top-left":"ui-fixed ui-top-5 ui-left-5","top-center":"ui-fixed ui-top-5 ui-left-1/2 ui--translate-x-1/2","top-right":"ui-fixed ui-top-5 ui-right-5","center-left":"ui-fixed ui-top-1/2 ui-left-5 ui--translate-y-1/2",center:"ui-fixed ui-top-1/2 ui-left-1/2 ui--translate-x-1/2 ui--translate-y-1/2","center-right":"ui-fixed ui-top-1/2 ui-right-5 ui--translate-y-1/2","bottom-left":"ui-fixed ui-bottom-5 ui-left-5","bottom-center":"ui-fixed ui-bottom-5 ui-left-1/2 ui--translate-x-1/2","bottom-right":"ui-fixed ui-bottom-5 ui-right-5"},s=i[t];return process.env.NODE_ENV!=="production"&&!s?(console.warn(`[useMessageStyles] Invalid position "${t}". Using "top-right" as fallback.`),i["top-right"]):s||i["top-right"]}}),ff={position:"top-right",duration:5e3,animationDuration:300,size:"sm",showTimer:!0},gt={...ff};class mf{constructor(){this.listeners=[],this.idCounter=0,this.groups={brand:null,neutral:null},this.timers={brand:null,neutral:null},this.progressIntervals={brand:null,neutral:null},this.removeTimers={brand:null,neutral:null}}show(t,i="brand",s={}){const n=Date.now()+ ++this.idCounter;let o,a,l;typeof t=="string"?(o="",a=t,l={...s}):(o=t.message??"",a=t.title,l={...s,...t});const u={id:n,message:o,title:a,subtitle:l.subtitle,description:l.description,color:i,avatar:l.avatar,icon:l.icon,position:l.position??gt.position,duration:l.duration??gt.duration,showCloseButton:l.showCloseButton??!0,isLeaving:!1,showTimer:gt.showTimer,onClick:l.onClick,onClose:l.onClose,onPrimaryClick:l.onPrimaryClick,onSecondaryClick:l.onSecondaryClick,primaryButtonText:l.primaryButtonText,secondaryButtonText:l.secondaryButtonText,size:l.size??(gt.size==="lg"?"md":gt.size),variant:l.variant??"outlined",animation:l.animation??"fade"};return process.env.NODE_ENV!=="production"&&(u.duration!==void 0&&(isNaN(u.duration)||!isFinite(u.duration)||u.duration<0)&&(console.warn(`[NotificationService] Invalid duration "${u.duration}". Using default.`),u.duration=gt.duration),u.position&&!["top-left","top-center","top-right","center-left","center","center-right","bottom-left","bottom-center","bottom-right"].includes(u.position)&&(console.warn(`[NotificationService] Invalid position "${u.position}". Using default.`),u.position=gt.position),["brand","neutral"].includes(i)||console.warn(`[NotificationService] Invalid color "${i}".`)),this.addToGroup(i,u),n}addToGroup(t,i){const s=this.groups[t];s?(s.queue.push(i),s.count=s.queue.length,this.resetTimer(t)):(this.groups[t]={color:t,notification:i,queue:[i],count:1,timerProgress:100,isLeaving:!1},this.startTimer(t)),this.notifyListeners()}startTimer(t){const i=this.groups[t];if(!i)return;const s=i.notification.duration??gt.duration;if(s<=0)return;this.clearTimer(t);const n=Date.now();i.timerProgress=100,this.progressIntervals[t]=setInterval(()=>{const o=Date.now()-n,a=Math.max(0,100-o/s*100);this.groups[t]&&(this.groups[t].timerProgress=a,this.notifyListeners())},50),this.timers[t]=setTimeout(()=>{this.dismissGroup(t)},s)}resetTimer(t){this.clearTimer(t),this.startTimer(t)}clearTimer(t){this.timers[t]&&(clearTimeout(this.timers[t]),this.timers[t]=null),this.progressIntervals[t]&&(clearInterval(this.progressIntervals[t]),this.progressIntervals[t]=null),this.removeTimers[t]&&(clearTimeout(this.removeTimers[t]),this.removeTimers[t]=null)}dismissGroup(t){const i=this.groups[t];i&&(i.isLeaving=!0,this.notifyListeners(),this.clearTimer(t),this.removeTimers[t]=setTimeout(()=>{this.groups[t]=null,this.removeTimers[t]=null,this.notifyListeners()},gt.animationDuration))}dismiss(t){for(const i of["brand","neutral"]){const s=this.groups[i];if(s&&s.queue.some(n=>n.id===t)){this.dismissGroup(i);return}}}brand(t,i){return this.show(t,"brand",i)}neutral(t,i){return this.show(t,"neutral",i)}configure(t){Object.assign(gt,t)}getGroups(){return{...this.groups}}subscribe(t){return this.listeners.push(t),()=>{const i=this.listeners.indexOf(t);i>-1&&this.listeners.splice(i,1)}}notifyListeners(){const t=this.getGroups();this.listeners.forEach(i=>i(t))}getConfig(){return{...gt}}}const Xe=new mf,hf=()=>Xe,yr=()=>{const[e,t]=c.useState({brand:null,neutral:null});c.useEffect(()=>{t(Xe.getGroups());const n=Xe.subscribe(o=>{t({...o})});return()=>{n()}},[]);const i=Object.values(e).filter(n=>n!==null&&!n.isLeaving),s=Object.values(e).filter(n=>n!==null&&n.isLeaving);return{groups:e,activeGroups:i,leavingGroups:s,dismissGroup:n=>Xe.dismissGroup(n)}},vr=c.memo(({message:e})=>{const[t,i]=c.useState(!0),s=c.useRef(null);c.useEffect(()=>(e.isLeaving&&(s.current=setTimeout(()=>{i(!1)},300)),()=>{s.current&&(clearTimeout(s.current),s.current=null)}),[e.isLeaving]);const n=a=>{a.stopPropagation();const l=e.id??0;process.env.NODE_ENV!=="production"&&!e.id&&console.warn("[MessageItem] message.id is undefined. Using fallback value 0."),We.dismiss(l),e.onClose&&e.onClose()};if(!t)return null;const o=e.color==="brand"?"info":e.color;return process.env.NODE_ENV!=="production"&&!["success","danger","info","warning","neutral","brand"].includes(e.color)&&console.warn(`[MessageItem] Invalid color "${e.color}". Using fallback.`),r.jsx(Es,{color:o,variant:e.variant||"outlined",message:e.message,title:e.title,description:e.description,showCloseButton:e.showCloseButton,open:!0,onClose:n,onPrimaryClick:e.onPrimaryClick,onSecondaryClick:e.onSecondaryClick,primaryButtonText:e.primaryButtonText,secondaryButtonText:e.secondaryButtonText,isLeaving:e.isLeaving,onClick:e.onClick,animation:e.animation||"fade",size:e.size||"sm",duration:e.duration})});vr.displayName="MessageItem";const _i=c.memo(({messages:e})=>{const{getPositionClasses:t}=xr();return Object.keys(e).length===0?null:r.jsx(r.Fragment,{children:Object.entries(e).map(([i,s])=>{const n=i;return process.env.NODE_ENV!=="production"&&!["top-left","top-center","top-right","center-left","center","center-right","bottom-left","bottom-center","bottom-right"].includes(i)&&console.warn(`[MessagePositions] Invalid position "${i}". Using as-is.`),!s||s.length===0?null:r.jsx("div",{className:`${t(n)} ui-z-50 ui-max-w-[350px] ui-space-y-2`,children:s.map(o=>o.id?r.jsx(vr,{message:o},o.id):(process.env.NODE_ENV!=="production"&&console.warn("[MessagePositions] Message without id. Skipping."),null))},i)})})});_i.displayName="MessagePositions";const pf=()=>{const{messagesByPosition:e}=br();return st.createPortal(r.jsx(_i,{messages:e}),document.body)},wr=c.memo(({group:e})=>{const{notification:t,count:i,isLeaving:s,color:n}=e,[o,a]=c.useState(!0),l=c.useRef(null);c.useEffect(()=>(s&&(l.current=setTimeout(()=>{a(!1)},300)),()=>{l.current&&(clearTimeout(l.current),l.current=null)}),[s]);const u=d=>{var f;d.stopPropagation(),Xe.dismissGroup(n),(f=t.onClose)==null||f.call(t)};if(!o)return null;const m={brand:"brand",neutral:"neutral"}[n];return r.jsx(Es,{color:m,variant:t.variant||"outlined",message:t.message,title:t.title,description:t.description,showCloseButton:t.showCloseButton,open:!0,onClose:u,onPrimaryClick:t.onPrimaryClick,onSecondaryClick:t.onSecondaryClick,primaryButtonText:t.primaryButtonText,secondaryButtonText:t.secondaryButtonText,isLeaving:s,onClick:t.onClick,animation:t.animation||"fade",size:t.size||"sm",duration:t.duration,avatar:t.avatar,children:i>1&&r.jsxs("div",{className:"ui-mb-2 ui-flex ui-items-center ui-justify-center ui-gap-1 ui-py-2",children:[r.jsx(he,{name:V.faPaperPlane,size:"xs",color:"tertiary"}),r.jsxs("span",{className:"ui-text-xs ui-text-tertiary",children:["Tienes ",i," mensajes nuevos"]})]})})});wr.displayName="NotificationItem";const qi=c.memo(({groups:e})=>{const{getPositionClasses:t}=xr(),i=Xe.getConfig(),s=Object.values(e).filter(o=>o!==null);if(s.length===0)return null;const n=i.position;return process.env.NODE_ENV!=="production"&&!["top-left","top-center","top-right","center-left","center","center-right","bottom-left","bottom-center","bottom-right"].includes(n)&&console.warn(`[NotificationPositions] Invalid position "${n}" from config. Using as-is.`),r.jsx("div",{className:`${t(n)} ui-z-50 ui-space-y-2`,children:s.map(o=>o.notification.id?r.jsx(wr,{group:o},`${o.color}-${o.count}`):(process.env.NODE_ENV!=="production"&&console.warn("[NotificationPositions] Group notification without id. Skipping."),null))})});qi.displayName="NotificationPositions";const gf=()=>{const{groups:e}=yr();return st.createPortal(r.jsx(qi,{groups:e}),document.body)},bf=()=>{const{messagesByPosition:e}=br(),{groups:t}=yr();return st.createPortal(r.jsxs(r.Fragment,{children:[r.jsx(_i,{messages:e}),r.jsx(qi,{groups:t})]}),document.body)},xf=We,yf=Xe,vf={success:We.success.bind(We),error:We.error.bind(We),info:We.info.bind(We),warning:We.warning.bind(We),show:We.show.bind(We),dismiss:We.dismiss.bind(We),configure:We.configure.bind(We),brand:Xe.brand.bind(Xe),neutral:Xe.neutral.bind(Xe),dismissNotification:Xe.dismissGroup.bind(Xe),configureNotification:Xe.configure.bind(Xe)},wf=({text:e,count:t,buttons:i=[],onClose:s,className:n,visible:o=!0,activeButtonId:a,onActiveButtonIdChange:l,onBackClick:u})=>{var E;const h=a!==void 0,[m,d]=c.useState(-1),[f,p]=c.useState(!1);if(c.useEffect(()=>{p(!0)},[]),!o)return null;const g=i.filter(w=>w.show!==!1);if(g.length===0)return null;let b=null;h?a!==null&&(b=g.find(w=>w.id===a)||null):b=m>=0?g[m]:null;const v=((E=b==null?void 0:b.addons)==null?void 0:E.filter(w=>w.show!==!1))||[],y=M("ui-flex ui-items-center ui-gap-8 sm:ui-gap-16","ui-bg-fill-brand","ui-px-12 ui-py-8 sm:ui-px-16","ui-rounded-surface-modal","ui-shadow-03","ui-border-1 ui-border-default",n),j=M("ui-fixed ui-bottom-6 ui-left-1/2 ui--translate-x-1/2","ui-z-[1000]","ui-max-w-[calc(100vw-48px)]","ui-flex ui-justify-center"),x=(w,D)=>{var z;if(w.onClick&&w.onClick(),(((z=w.addons)==null?void 0:z.filter(P=>P.show!==!1))||[]).length>0){const P=w.id??D.toString();h?l==null||l(P):d(D)}},T=()=>{u==null||u(),h?l==null||l(null):d(-1)},N=(w,D)=>{w.onChange&&w.onChange(D)},C=()=>r.jsxs("div",{className:y,children:[r.jsx(Ce,{color:"secondary",size:"xs",pill:"pill",icon:V.faArrowTurnLeft,onClick:T}),(e||t!==void 0)&&r.jsxs("span",{className:"ui-whitespace-nowrap ui-text-body-sm-regular ui-font-body-sm-regular ui-text-on-color",children:[t!==void 0?`(${t}) `:"",e]}),v.length>0&&r.jsx(qe,{vertical:!0,className:"ui-h-8 ui-border-on-color ui-opacity-30"}),r.jsx("div",{className:"ui-flex ui-min-w-max ui-items-center ui-gap-16",children:v.map((w,D)=>{var R,z,P,F,W;if(w.type==="input")return r.jsx("div",{className:"ui-w-[160px]",children:r.jsx(Ge,{size:"xs",leftSlot:w.leftSlot,fullWidth:!0,rightSlot:w.rightSlot,disabled:w.disabled,value:w.value,placeholder:w.placeholder,type:w.type,name:w.name,onValueChange:$=>N(w,$)})},`addon-${D}`);if(w.type==="date")return r.jsx("div",{className:"ui-w-[160px]",children:r.jsx(Ut,{size:"xs",mode:((R=w.datePickerProps)==null?void 0:R.mode)||"single",selectedDate:w.selectedDate,selectedRange:w.selectedRange,minDate:(z=w.datePickerProps)==null?void 0:z.minDate,maxDate:(P=w.datePickerProps)==null?void 0:P.maxDate,autoCloseRange:!1,format:((F=w.datePickerProps)==null?void 0:F.format)||"dd/MM/yyyy",placeholder:((W=w.datePickerProps)==null?void 0:W.placeholder)||w.placeholder||"Seleccionar fecha",onDateChange:$=>{var O;((O=w.datePickerProps)==null?void 0:O.mode)==="range"?N(w,{start:null,end:null}):N(w,$)},onRangeChange:$=>{N(w,$)}})},`addon-${D}`);if(w.type==="button"){const $=w.label?void 0:w.icon,O=w.label&&w.icon?w.icon:void 0;return r.jsx(Ce,{color:w.color||"secondary",size:"xs",icon:$,leftSlot:O,disabled:w.disabled,pill:w.pill,tooltip:w.tooltip,tooltipPosition:w.tooltipPosition,tooltipAlignment:w.tooltipAlignment,tooltipDelay:w.tooltipDelay,onClick:()=>{w.onClick&&w.onClick()},children:w.label},`addon-${D}`)}return null})}),s&&r.jsxs(r.Fragment,{children:[r.jsx(qe,{vertical:!0,className:"ui-h-8 ui-border-on-color ui-opacity-30"}),r.jsx(Ce,{color:"secondary",size:"xs",pill:"pill",icon:V.faXmark,onClick:s})]})]}),k=()=>r.jsxs("div",{className:y,children:[r.jsx("div",{className:"ui-flex ui-min-w-max ui-items-center ui-gap-16",children:g.map((w,D)=>{const R=w.label?void 0:w.icon,z=w.label&&w.icon?w.icon:void 0;return r.jsx(Ce,{color:w.color||"secondary",size:"xs",icon:R,leftSlot:z,disabled:w.disabled,pill:w.pill,tooltip:w.tooltip,tooltipPosition:w.tooltipPosition,tooltipAlignment:w.tooltipAlignment,tooltipDelay:w.tooltipDelay,onClick:()=>x(w,D),children:w.label},`button-${D}-${w.label||w.icon}`)})}),s&&r.jsxs(r.Fragment,{children:[r.jsx(qe,{vertical:!0,className:"ui-h-8 ui-border-on-color ui-opacity-30"}),r.jsx(Ce,{color:"secondary",size:"xs",pill:"pill",icon:V.faXmark,onClick:s})]})]}),I=(h?a!==null&&b!==null&&v.length>0:m>=0&&b!==null&&v.length>0)?C():k();return f?st.createPortal(r.jsx("div",{className:M("ui-imj",j),children:I}),document.body):null},va=({id:e,label:t,icon:i,badge:s,active:n=!1,disabled:o=!1,hasSubmenu:a=!1,onClick:l,className:u})=>{const h=m=>{o||l==null||l(e)};return r.jsxs(xt,{icon:i,current:n,disabled:o,onClick:h,className:M("ui-h-32",u),children:[r.jsx("span",{className:"ui-flex-1 ui-truncate",children:t}),s&&r.jsx(Kt,{label:String(s.label),color:s.color||"accent",theme:s.theme||"solid",size:"sm"}),a&&r.jsx(he,{name:V.faChevronRight,size:"md",color:"tertiary",className:"ui-shrink-0"})]})},di=({className:e,withText:t=!1,text:i})=>t&&i?r.jsxs("div",{className:M("ui-flex ui-w-full ui-items-center ui-gap-8",e),children:[r.jsx("span",{className:"ui-shrink-0 ui-whitespace-nowrap ui-text-body-xs-regular ui-font-body-xs-regular ui-text-tertiary",children:i}),r.jsx("div",{className:"ui-flex-1 ui-border-t-1 ui-border-default"})]}):r.jsx("div",{className:M("ui-w-full ui-py-4",e),children:r.jsx("div",{className:"ui-border-t-1 ui-border-default"})}),jf=({title:e,className:t})=>r.jsx("span",{className:M("ui-text-body-xs-regular ui-font-body-xs-regular","ui-uppercase ui-text-tertiary",t),children:e}),wa=({title:e,items:t,className:i})=>r.jsxs("div",{className:M("ui-flex ui-w-full ui-flex-col ui-gap-16",i),children:[e&&r.jsx(di,{withText:!0,text:e}),r.jsx("div",{className:"ui-flex ui-w-full ui-flex-col ui-gap-4",children:t.map(s=>r.jsx(va,{...s},s.id))})]}),ja=({name:e,role:t,avatarProps:i,onLogout:s,className:n})=>{const o=()=>{const a=(i==null?void 0:i.type)||"people",{type:l,...u}=i||{};return r.jsx(yt,{type:a,size:"md",...u})};return r.jsxs("div",{className:M("ui-flex ui-w-full ui-flex-col ui-gap-8",n),children:[r.jsx(ai,{name:e,subtitle:t,avatar:o(),className:"ui-h-auto ui-px-0 ui-py-0"}),r.jsx(di,{}),r.jsx(Ce,{theme:"solid",color:"tertiary",size:"sm",fullWidth:!0,leftSlot:V.faArrowRightToBracket,onClick:s,children:"Cerrar sesión"})]})},Sa=({icon:e=V.faTableLayout,title:t="Mesa de trabajo",badge:i,projectId:s,clientName:n,status:o,showActions:a=!1,onOpen:l,onClose:u,className:h})=>{const[m,d]=c.useState(!1),f=m||a,p={success:"ui-bg-surface-success-hover ui-text-success",warning:"ui-bg-surface-warning-hover ui-text-warning",danger:"ui-bg-surface-danger ui-text-danger",info:"ui-bg-surface-info-hover ui-text-info"},g={success:it.faArrowUpRight,warning:it.faArrowUpRight,danger:it.faArrowUpRight,info:it.faArrowUpRight};return r.jsxs("div",{className:M("ui-flex ui-flex-col ui-gap-8 ui-p-16","ui-border-1 ui-border-default ui-bg-surface-default","ui-w-full ui-rounded-control-sm ui-transition-all",h),onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:[r.jsxs("div",{className:"ui-flex ui-w-full ui-items-center ui-gap-8",children:[r.jsx("div",{className:"ui-flex ui-shrink-0 ui-items-center ui-justify-center ui-rounded-control-pill ui-bg-surface-brand-hover ui-p-8",children:r.jsx(he,{name:e,size:"md",color:"info"})}),r.jsx("span",{className:"ui-flex-1 ui-truncate ui-text-body-sm-regular ui-font-body-sm-regular ui-text-primary",children:t}),i&&r.jsx(Kt,{label:String(i.label),color:i.color||"accent",theme:i.theme||"solid",size:"sm"})]}),r.jsx(di,{}),r.jsxs("div",{className:"ui-flex ui-w-full ui-flex-col ui-items-center ui-text-center",children:[s&&r.jsx("span",{className:"ui-w-full ui-truncate ui-text-body-xs-regular ui-font-body-xs-medium ui-text-brand",children:s}),n&&r.jsxs("span",{className:"ui-w-full ui-text-body-xs-regular ui-font-body-xs-regular ui-text-tertiary",children:["Cliente: ",n]})]}),o&&r.jsx("div",{className:"ui-w-full",children:r.jsxs("div",{className:M("ui-flex ui-items-center ui-justify-center ui-gap-4","ui-h-16 ui-w-full ui-rounded-control-xs ui-px-8 ui-py-2",p[o.color]),children:[r.jsx(he,{name:g[o.color],size:"xs",color:"current"}),r.jsx("span",{className:"ui-text-body-xs-regular ui-font-body-xs-regular",children:o.label})]})}),f&&r.jsxs("div",{className:"ui-flex ui-w-full ui-items-center ui-gap-8",children:[r.jsx(Ce,{theme:"solid",color:"tertiary",size:"xxs",fullWidth:!0,leftSlot:V.faFolderOpen,onClick:l,children:"Abrir"}),r.jsx(Ce,{theme:"solid",color:"tertiary",size:"xxs",fullWidth:!0,leftSlot:V.faXmark,onClick:u,children:"Concluir"})]})]})},Sf=({logo:e,onLogoClick:t,workspace:i,menuGroups:s=[],userProfile:n,collapsed:o=!1,onToggleCollapse:a,className:l,width:u=248})=>{const h=o?64:u;return r.jsxs("aside",{className:M("ui-imj","ui-flex ui-flex-col ui-justify-between","ui-h-full ui-bg-surface-secondary","ui-border-r-1 ui-border-default","ui-relative ui-p-16 ui-transition-all ui-duration-300",l),style:{width:h},children:[r.jsxs("div",{className:"ui-flex ui-w-full ui-flex-col ui-items-center ui-gap-8 ui-overflow-y-auto",children:[e&&r.jsx("div",{className:M("ui-flex ui-items-center ui-justify-center ui-py-8","ui-cursor-pointer"),onClick:t,children:typeof e=="string"?r.jsx("img",{src:e,alt:"Logo",className:"ui-h-40 ui-w-40 ui-rounded-control-pill ui-object-cover"}):e}),e&&r.jsx(di,{}),i&&!o&&r.jsx(Sa,{...i}),s.map((m,d)=>r.jsx(wa,{...m},m.title||`group-${d}`))]}),n&&!o&&r.jsx(ja,{...n}),a&&r.jsx("button",{className:M("ui-absolute ui-flex ui-items-center ui-justify-center","ui-size-32 ui-rounded-control-pill ui-bg-fill-brand","ui-cursor-pointer ui-transition-all ui-duration-200","hover:ui-bg-fill-brand-hover",o?"ui-right-[-16px]":"-ui-right-16"),style:{top:68,right:-16},onClick:a,children:r.jsx(he,{name:V.faChevronLeft,size:"md",color:"white",className:M("ui-transition-transform ui-duration-300",o&&"ui-rotate-180")})})]})},fs={brand:"var(--ui-color-blue-500)",success:"var(--ui-color-green-500)",warning:"var(--ui-color-orange-500)",danger:"var(--ui-color-red-500)",info:"var(--ui-color-cyan-500)",neutral:"var(--ui-color-light-gray-500)",yellow:"var(--ui-color-yellow-500)"},Cf=["brand","success","warning","danger","info"],kf=e=>fs[e]||fs.neutral,Nf=e=>typeof e=="string"&&e in fs?e:"neutral",jr=c.memo(({data:e,index:t,width:i,color:s,isFirst:n,isLast:o,height:a,transitionDuration:l,showTooltip:u,onHover:h,onLeave:m})=>{const[d,f]=c.useState(!1),p=Math.max(0,Math.min(100,i)),g=M(n&&"ui-rounded-l-control-pill",o&&"ui-rounded-r-control-pill",!n&&!o&&"ui-rounded-none"),b=kf(s),v={flex:`0 0 ${p}%`,width:`${p}%`,minWidth:p>0&&p<.5?"1px":void 0,height:`${a}px`,maxHeight:`${a}px`,transition:`flex-basis ${l}ms ease-in-out, width ${l}ms ease-in-out`,backgroundColor:b},y=`${e.name}: ${e.percent}%`,j=()=>{f(!0),h==null||h(e,t)},x=()=>{f(!1),m==null||m(e,t)};return r.jsx("div",{className:M("ui-relative ui-h-full ui-flex-shrink-0",g),style:v,onMouseEnter:j,onMouseLeave:x,role:"progressbar","aria-valuenow":e.percent,"aria-valuemin":0,"aria-valuemax":100,"aria-label":y,children:u&&r.jsx($i,{label:y,isVisible:d,position:"bottom"})})});jr.displayName="LinearGraphicSegment";const ms={brand:"var(--ui-color-blue-500)",success:"var(--ui-color-green-500)",warning:"var(--ui-color-orange-500)",danger:"var(--ui-color-red-500)",info:"var(--ui-color-cyan-500)",neutral:"var(--ui-color-light-gray-500)",yellow:"var(--ui-color-yellow-500)"},Tf=["brand","success","warning","danger","info"],Df=e=>ms[e]||ms.neutral,Ef=e=>typeof e=="string"&&e in ms?e:"neutral",Ca=c.memo(({item:e,index:t,color:i,indicatorSize:s,gap:n,showTooltip:o,showPercent:a,tooltipPosition:l,onHover:u,onLeave:h})=>{const[m,d]=c.useState(!1),f=e.name!==null?String(e.name):"",p=Math.max(0,Math.min(100,Number(e.percent)||0)),g=Df(i),b=()=>{d(!0),u==null||u(e,t)},v=()=>{d(!1),h==null||h(e,t)};return r.jsxs("div",{className:"ui-relative ui-flex ui-cursor-default ui-items-center",onMouseEnter:b,onMouseLeave:v,style:{gap:`${n}px`},children:[r.jsx("span",{className:"ui-block ui-flex-shrink-0 ui-rounded-full",style:{width:`${s}px`,height:`${s}px`,backgroundColor:g}}),r.jsx("span",{className:"ui-text-body-sm-regular ui-text-primary",children:f}),a&&r.jsxs("span",{className:"ui-text-body-md-bold ui-font-body-md-bold ui-text-primary",children:[p,"%"]}),o&&r.jsx($i,{label:`${p}%`,isVisible:m,position:l})]})});Ca.displayName="ListWithDataInHoverItem";const Sr=c.memo(({data:e,colors:t,className:i,disabled:s=!1,indicatorSize:n=8,gap:o=4,showTooltips:a=!0,showPercent:l=!0,tooltipPosition:u="over",onItemHover:h,onItemLeave:m})=>{const d=c.useMemo(()=>!Array.isArray(e)||e.length===0?[]:e.filter(y=>y!==null&&typeof y=="object").map(y=>({name:String(y.name??""),percent:Math.max(0,Math.min(100,Number(y.percent)||0))})),[e]),f=c.useMemo(()=>!Array.isArray(t)||t.length===0?Tf:t.map(y=>Ef(y)),[t]),p=Math.max(4,Math.min(32,Number(n)||8)),g=Math.max(0,Math.min(32,Number(o)||4)),b=M("ui-flex ui-flex-wrap ui-justify-around ui-w-full",s&&"ui-opacity-50 ui-pointer-events-none",i),v={gap:`${g}px`,marginTop:"8px"};return d.length===0?r.jsx("div",{className:b,style:v,role:"list","aria-label":"Lista vacía"}):r.jsx("div",{className:M("ui-imj",b),style:v,role:"list","aria-label":"Lista con datos en hover",children:d.map((y,j)=>{const x=f[j%f.length];return r.jsx(Ca,{item:y,index:j,color:x,indicatorSize:p,gap:g,showTooltip:a,showPercent:l,tooltipPosition:u,onHover:h,onLeave:m},`list-item-${j}-${y.name}`)})})});Sr.displayName="ListWithDataInHover";const ka=c.memo(({data:e,colors:t,className:i,height:s=8,showTooltips:n=!0,showLegend:o=!1,showLegendPercent:a=!1,legendGap:l=8,transitionDuration:u=500,disabled:h=!1,onSegmentHover:m,onSegmentLeave:d})=>{const f=c.useMemo(()=>!Array.isArray(e)||e.length===0?[]:e.filter(j=>j!==null&&typeof j=="object").map(j=>({name:String(j.name??""),percent:Math.max(0,Math.min(100,Number(j.percent)||0))})).filter(j=>j.percent>0),[e]),p=c.useMemo(()=>!Array.isArray(t)||t.length===0?Cf:t.map(j=>Nf(j)),[t]),g=c.useMemo(()=>f.reduce((j,x)=>j+x.percent,0),[f]),b=c.useMemo(()=>g===0?f.map(()=>0):g>100?f.map(j=>j.percent/g*100):f.map(j=>j.percent),[f,g]),v=M("ui-relative ui-w-full",h&&"ui-opacity-50 ui-pointer-events-none",i),y={height:`${s}px`,borderRadius:"8px",backgroundColor:"var(--ui-color-neutral-200-legacy, #D9D9D9)",display:"flex",alignItems:"stretch"};return f.length===0?r.jsx("div",{className:"ui-imj ui-flex ui-w-full ui-flex-col ui-gap-8",children:r.jsx("div",{className:v,style:y,role:"progressbar","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,"aria-label":"Gráfica lineal vacía"})}):r.jsxs("div",{className:"ui-flex ui-w-full ui-flex-col ui-gap-8",children:[r.jsx("div",{className:v,style:y,role:"progressbar","aria-valuenow":g,"aria-valuemin":0,"aria-valuemax":100,"aria-label":"Gráfica lineal de progreso",children:f.map((j,x)=>{const T=p[x%p.length],N=b[x];return r.jsx(jr,{data:j,index:x,width:N,color:T,isFirst:x===0,isLast:x===f.length-1,height:s,transitionDuration:u,showTooltip:n,onHover:m,onLeave:d},`linear-graphic-segment-${x}-${j.name}`)})}),o&&r.jsx(Sr,{data:f,colors:p,gap:l,showTooltips:!0,showPercent:a,tooltipPosition:"over"})]})});ka.displayName="LinearGraphic";const Cr=c.memo(({color:e,size:t,className:i})=>{const s={width:`${t}px`,height:`${t}px`,borderRadius:"50%",backgroundColor:e,flexShrink:0};return r.jsx("div",{className:M("ui-flex-shrink-0",i),style:s,role:"presentation","aria-hidden":"true"})});Cr.displayName="TextListIndicator";const un={brand:"var(--ui-color-blue-500)",success:"var(--ui-color-green-500)",warning:"var(--ui-color-orange-500)",danger:"var(--ui-color-red-500)",info:"var(--ui-color-cyan-500)",neutral:"var(--ui-color-light-gray-500)",yellow:"var(--ui-color-yellow-500)"},If=e=>un[e]||un.neutral,Na=c.memo(({title:e,color:t,data:i,className:s,disabled:n=!1,indicatorSize:o=8,showIndicator:a=!0})=>{const l=e!==null?String(e):"",u=i!==null?String(i):"",h=If(t),m=Math.max(4,Math.min(32,Number(o)||8)),d=M("ui-flex ui-flex-wrap ui-items-center ui-justify-between ui-w-full ui-gap-4",n&&"ui-opacity-50 ui-pointer-events-none",s);return r.jsxs("div",{className:M("ui-imj",d),role:"listitem",children:[r.jsxs("div",{className:"ui-flex ui-items-center ui-gap-4",children:[a&&r.jsx(Cr,{color:h,size:m}),l&&r.jsx(gr,{type:"body",size:"sm",color:"primary",children:l})]}),u&&r.jsx(oi,{className:"ui-text-heading-h6 ui-font-heading-h6 ui-leading-heading-h6 ui-tracking-heading-h6 ui-text-primary",children:u})]})});Na.displayName="TextListWithData";function xe(e,t){return typeof e.get=="function"?e.get(t):e[t]}function cn(e){return typeof e.count=="function"?e.count():e.length}function rs(e,t){return cn(e)===cn(t)&&e.every((i,s)=>i===xe(t,s.toString()))}function Mf(e,t){const i={};return e.forEach(s=>{i[s[t]]=s}),i}function ns(){}function Wt(...e){return(t,...i)=>{t.preventDefault(),e.forEach(s=>s&&s(t,...i))}}function Rf({item:e,itemContext:t,getItemProps:i,getResizeProps:s}){const{left:n,right:o}=s();return r.jsxs("div",{...i(e.itemProps),children:[t.useResizeHandle?r.jsx("div",{...n}):"",r.jsx("div",{className:"rct-item-content",style:{maxHeight:`${t.dimensions.height}`},children:t.title}),t.useResizeHandle?r.jsx("div",{...o}):""]})}function hs(e,t,i){return(t-e)/i}function Di(e,t,i,s){const n=i/(t-e);return(s-e)*n}function kr(e,t,i,s){return(t-e)/i*s+e}function Nr(e,t,i,s,n){let o=jt(e).startOf(i);if(s[i]&&s[i]>1){const a=o.get(i);o.set(i,a-a%s[i])}for(;o.valueOf()<t;){const a=jt(o).add(s[i]||1,i);n(o,a),o=a}}const ps=17;function xi(e,t,i){const s={second:1e3,minute:60,hour:60,day:24,month:30,year:12};let n="year",o=e;return Object.keys(s).some(a=>{const l=a;o=o/s[l];const u=o/i[l],h=i[l]&&i[l]>1?3*ps:ps,m=t/h;if(u<m)return n=a,!0}),n}const gs={second:"minute",minute:"hour",hour:"day",day:"month",month:"year",year:"year"};function Tr(e){if(!gs[e])throw new Error(`unit ${e} is not acceptable`);return gs[e]}function Ta({itemTimeStart:e,itemTimeEnd:t,dragTime:i,isDragging:s,isResizing:n,resizingEdge:o,resizeTime:a}){const l=t-e;return[s&&i?i:n&&o==="left"&&a?a:e,s&&i?i+l:n&&o==="right"&&a?a:t]}function Da({itemTimeStart:e,itemTimeEnd:t,canvasTimeStart:i,canvasTimeEnd:s,canvasWidth:n}){const o=t-e,a=Math.max(e,i),l=Math.min(t,s),u=Di(i,s,n,a),m=Di(i,s,n,l)-u;return{left:u,width:Math.max(m,3),collisionLeft:e,collisionWidth:o}}function Dr(e,t){const{groupIdKey:i}=t,s={};for(let n=0;n<e.length;n++)s[xe(e[n],i)]={index:n,group:e[n]};return s}function Ea(e,t){var n,o;const i={},s=Object.keys(t);for(let a=0;a<s.length;a++){const l=t[s[a]];i[a]={index:l.index,group:l.group,items:[]}}for(let a=0;a<e.length;a++)if(e[a].dimensions!==void 0&&((n=e[a].dimensions)==null?void 0:n.order)!==void 0){const l=i[((o=e[a].dimensions)==null?void 0:o.order.index)??0];l&&l.items.push(e[a])}return i}function Er(e,t,i,s){const{itemTimeStartKey:n,itemTimeEndKey:o}=s;return e.filter(a=>{const l=jt(xe(a,n)).valueOf()<=i,u=jt(xe(a,o)).valueOf()>=t;return l&&u})}const zf=.001;function Ia(e,t,i=zf){return e.collisionLeft+i<t.collisionLeft+t.collisionWidth&&e.collisionLeft+e.collisionWidth-i>t.collisionLeft&&e.top-0+i<t.top+t.height&&e.top+e.height+0-i>t.top}function Ma(e,t,i,s,n,o){let a=s;const l=(e-t.dimensions.height)/2;if(t.dimensions.stack&&t.dimensions.top===null){t.dimensions.top=n+l,a=Math.max(a,e);do{var u=null;for(let h=o-1,m=0;h>=m;h--){const d=i[h];if(d.dimensions.top!==null&&d.dimensions.stack&&Ia(t.dimensions,d.dimensions)){u=d;break}}u!=null&&(t.dimensions.top=u.dimensions.top+e,a=Math.max(a,t.dimensions.top+t.dimensions.height+l-n))}while(u)}return{groupHeight:a,verticalMargin:l,itemTop:t.dimensions.top}}function Ra(e,t,i,s){var o,a;const n=(e-(((o=t.dimensions)==null?void 0:o.height)??1))/2;return t.dimensions&&t.dimensions.top===null&&(t.dimensions.top=s+n,i=Math.max(i,e)),{groupHeight:i,verticalMargin:0,itemTop:((a=t.dimensions)==null?void 0:a.top)??0}}function dn(e=[]){return e.reduce((t,i)=>t+i,0)}function za(e,t,i,s){const n=[],o=[],a=Ea(e,t);for(const l in a){const u=a[l],{items:h,group:m}=u,d=dn(n),f=m.stackItems!==void 0?m.stackItems:s,{groupHeight:p}=La(h,f,i,d);o.push(d),m.height?n.push(m.height):n.push(Math.max(p,i))}return{height:dn(n),groupHeights:n,groupTops:o}}function La(e,t,i,s){let n=0,o=0;for(let a=0;a<e.length;a++){const l=t?Ma(i,e[a],e,n,s,a):Ra(i,e[a],n,s);n=l.groupHeight,o=l.verticalMargin}return{groupHeight:n,verticalMargin:o}}function Yt(e,t,i,s,n,o,a,l,u,h,m,d,f,p,g){const v=Er(e,s,n,o).map(C=>Pa({item:C,keys:o,draggingItem:h,resizingItem:m,dragTime:d,resizingEdge:f,resizeTime:p,groups:t,newGroupOrder:g}));if(t.length===0)return{dimensionItems:[],height:0,groupHeights:[],groupTops:[]};const y=Dr(t,o),j=v.map(C=>$a({item:C,keys:o,canvasTimeStart:s,canvasTimeEnd:n,canvasWidth:i,groupOrders:y,lineHeight:a,itemHeightRatio:l})).filter(C=>!!C),{height:x,groupHeights:T,groupTops:N}=za(j,y,a,u);return{dimensionItems:j,height:x,groupHeights:T,groupTops:N}}function Et(e,t){return e*t}function $a({item:e,keys:t,canvasTimeStart:i,canvasTimeEnd:s,canvasWidth:n,groupOrders:o,lineHeight:a,itemHeightRatio:l}){const u=xe(e,t.itemIdKey),h=Da({itemTimeStart:xe(e,t.itemTimeStartKey),itemTimeEnd:xe(e,t.itemTimeEndKey),canvasTimeStart:i,canvasTimeEnd:s,canvasWidth:n});if(h)return h.top=null,h.order=o[xe(e,t.itemGroupKey)],h.stack=!e.isOverlay,h.height=a*l,{id:u,dimensions:h}}function Pa({item:e,keys:t,draggingItem:i,resizingItem:s,dragTime:n,resizingEdge:o,resizeTime:a,groups:l,newGroupOrder:u}){if(!s&&!i)return e;const h=xe(e,t.itemIdKey),m=h===i,d=h===s,[f,p]=Ta({itemTimeStart:xe(e,t.itemTimeStartKey),itemTimeEnd:xe(e,t.itemTimeEndKey),isDragging:m,isResizing:d,dragTime:n,resizingEdge:o,resizeTime:a});return{...e,[t.itemTimeStartKey]:f,[t.itemTimeEndKey]:p,[t.itemGroupKey]:m?xe(l[u],t.groupIdKey):xe(e,t.itemGroupKey)}}function Ir(e,t,i){const s=t-e,n=e-s*(i-1)/2,o=n+s*i;return[n,o]}function bs(e,t,i,s,n,o,a){const l=o.buffer,u=a.canvasTimeStart,h=a.canvasTimeEnd,m=a.visibleTimeEnd-a.visibleTimeStart,d=t-e,f={...a,visibleTimeStart:e,visibleTimeEnd:t};if(!(d===m&&e>=u+m*.5&&e<=h-m*1.5&&t>=u+m*1.5&&t<=h-m*.5)||i){const[g,b]=Ir(e,t,l);f.canvasTimeStart=g,f.canvasTimeEnd=b;const v={...a,...f},y=Et(v.width,o.buffer);Object.assign(f,Yt(s,n,y,v.canvasTimeStart,v.canvasTimeEnd,o.keys,o.lineHeight,o.itemHeightRatio,o.stackItems,v.draggingItem,v.resizingItem,v.dragTime,v.resizingEdge,v.resizeTime,v.newGroupOrder))}return f}const Lf=Object.freeze(Object.defineProperty({__proto__:null,NEXT_UNITS:gs,calculateDimensions:Da,calculateInteractionNewTimes:Ta,calculateScrollCanvas:bs,calculateTimeForXPosition:kr,calculateXPositionForTime:Di,collision:Ia,coordinateToTimeRatio:hs,getCanvasBoundariesFromVisibleTime:Ir,getCanvasWidth:Et,getGroupOrders:Dr,getGroupedItems:Ea,getItemDimensions:$a,getItemWithInteractions:Pa,getMinUnit:xi,getNextUnit:Tr,getVisibleItems:Er,groupNoStack:Ra,groupStack:Ma,iterateTimes:Nr,minCellWidth:ps,stackAll:za,stackGroup:La,stackTimelineItems:Yt},Symbol.toStringTag,{value:"Module"}));function fn(e){let t=0,i=0,s=!0;for(;e;)!e.offsetParent&&e.tagName==="BODY"&&e.scrollLeft===0&&e.scrollTop===0&&(e=document.scrollingElement||e),t+=e.offsetLeft-(s?0:e.scrollLeft)+e.clientLeft,i+=e.offsetTop-(s?0:e.scrollTop)+e.clientTop,e=e.offsetParent,s=!1;return{x:t,y:i}}function xs(e){if(e===document.body)return{scrollLeft:0,scrollTop:0};{const t=xs(e.parentNode);return{scrollLeft:e.scrollLeft+t.scrollLeft,scrollTop:e.scrollTop+t.scrollTop}}}function ys(e){if(e===document.body||!e.offsetParent)return{offsetLeft:0,offsetTop:0};{const t=ys(e.offsetParent);return{offsetLeft:e.offsetLeft+t.offsetLeft,offsetTop:e.offsetTop+t.offsetTop}}}const $f={fontSize:12,color:"white",cursor:"pointer",background:"#2196f3",border:"1px solid #1a6fb3",zIndex:10},Pf={background:"#ffc107",border:"1px solid #ff9800",zIndex:10},Of={willChange:"left, top, width",cursor:"move"},Af={borderLeftWidth:3},Ff={cursor:"w-resize"},Wf={borderRightWidth:3},Bf={cursor:"e-resize"},Vf={position:"absolute",width:24,maxWidth:"20%",minWidth:2,height:"100%",top:0,left:0,cursor:"pointer",zIndex:88},Hf={position:"absolute",width:24,maxWidth:"20%",minWidth:2,height:"100%",top:0,right:0,cursor:"pointer",zIndex:88},_f={getTimelineState:()=>(console.warn('"getTimelineState" default func is being used'),{}),getLeftOffsetFromDate:()=>(console.warn('"getLeftOffsetFromDate" default func is being used'),0),getDateFromLeftOffsetPosition:()=>(console.warn('"getDateFromLeftOffsetPosition" default func is being used'),0),showPeriod:()=>{console.warn('"showPeriod" default func is being used')}},Yi=c.createContext(_f);function Oa(e){const{visibleTimeStart:t,visibleTimeEnd:i,canvasTimeStart:s,canvasTimeEnd:n,canvasWidth:o,showPeriod:a,timelineUnit:l,timelineWidth:u}=e,h=c.useMemo(()=>({getTimelineState:()=>({visibleTimeStart:t,visibleTimeEnd:i,canvasTimeStart:s,canvasTimeEnd:n,canvasWidth:o,timelineUnit:l,timelineWidth:u}),getLeftOffsetFromDate:m=>Di(s,n,o,m),getDateFromLeftOffsetPosition:m=>kr(s,n,o,m),showPeriod:a}),[t,i,s,n,o,l,u,a]);return r.jsx(Yi.Provider,{value:h,children:e.children})}Oa.displayName="TimelineStateProvider";const Gi=Yi.Consumer,qf=()=>c.useContext(Yi);jt.extend(pl);const Ri=class Ri extends c.Component{constructor(t){super(t),this.state={interactMounted:!1,dragging:!1,dragStart:null,preDragPosition:null,dragTime:null,dragGroupDelta:null,resizing:!1,resizeEdge:null,resizeStart:null,resizeTime:null},this.itemId="",this.itemTitle="",this.startedClicking=!1,this.startedTouching=!1,this.dragInProgress=!1,this.fireInteractEvent=i=>{if(this.item){const s=new CustomEvent("itemInteraction",{bubbles:!0,detail:{itemInteraction:i}});this.item.dispatchEvent(s)}},this.onMouseDown=i=>{this.state.interactMounted||(i.preventDefault(),this.startedClicking=!0)},this.onMouseUp=i=>{!this.state.interactMounted&&this.startedClicking&&(this.startedClicking=!1,this.actualClick(i,"click"))},this.onTouchStart=i=>{this.state.interactMounted||(i.preventDefault(),this.startedTouching=!0)},this.onTouchEnd=i=>{!this.state.interactMounted&&this.startedTouching&&(this.startedTouching=!1,this.actualClick(i,"touch"))},this.handleDoubleClick=i=>{i.stopPropagation(),this.props.onItemDoubleClick&&this.props.onItemDoubleClick(this.itemId,i)},this.handleContextMenu=i=>{this.props.onContextMenu&&(i.preventDefault(),i.stopPropagation(),this.props.onContextMenu(this.itemId,i))},this.getItemRef=i=>this.item=i,this.getDragLeftRef=i=>this.dragLeft=i,this.getDragRightRef=i=>this.dragRight=i,this.getItemProps=(i={})=>{const s="rct-item"+(this.props.item.className?` ${this.props.item.className}`:"");return{key:this.itemId,ref:this.getItemRef,title:this.itemDivTitle,className:s+` ${i.className?i.className:""}`,onMouseDown:Wt(this.onMouseDown,i.onMouseDown),onMouseUp:Wt(this.onMouseUp,i.onMouseUp),onTouchStart:Wt(this.onTouchStart,i.onTouchStart),onTouchEnd:Wt(this.onTouchEnd,i.onTouchEnd),onDoubleClick:Wt(this.handleDoubleClick,i.onDoubleClick),onContextMenu:Wt(this.handleContextMenu,i.onContextMenu),style:Object.assign({},this.getItemStyle(i))}},this.getResizeProps=(i={})=>{let s="rct-item-handler rct-item-handler-left rct-item-handler-resize-left";i.leftClassName&&(s+=` ${i.leftClassName}`);let n="rct-item-handler rct-item-handler-right rct-item-handler-resize-right";return i.rightClassName&&(n+=` ${i.rightClassName}`),{left:{ref:this.getDragLeftRef,className:s,style:Object.assign({},Vf,i.leftStyle)},right:{ref:this.getDragRightRef,className:n,style:Object.assign({},Hf,i.rightStyle)}}},this.cacheDataFromProps(t)}shouldComponentUpdate(t,i){return!_r(this.props,t)||!_r(this.state,i)}cacheDataFromProps(t){this.itemId=xe(t.item,t.keys.itemIdKey),this.itemTitle=xe(t.item,t.keys.itemTitleKey),this.itemDivTitle=t.keys.itemDivTitleKey?xe(t.item,t.keys.itemDivTitleKey):this.itemTitle,this.itemTimeStart=xe(t.item,t.keys.itemTimeStartKey),this.itemTimeEnd=xe(t.item,t.keys.itemTimeEndKey)}getTimeRatio(){const{canvasTimeStart:t,canvasTimeEnd:i,canvasWidth:s}=this.props;return hs(t,i,s)}dragTimeSnap(t,i){const{dragSnap:s}=this.props;if(s){const n=i?jt().utcOffset()*60*1e3:0;return Math.round(t/s)*s-n%s}else return t}resizeTimeSnap(t){const{dragSnap:i}=this.props;if(i){const s=this.itemTimeEnd%i;return Math.round((t-s)/i)*i+s}else return t}dragTime(t){const i=jt(this.itemTimeStart);return this.state.dragging?this.dragTimeSnap(this.timeFor(t)+this.state.dragStart.offset,!0):i.valueOf()}timeFor(t){const i=hs(this.props.canvasTimeStart,this.props.canvasTimeEnd,this.props.canvasWidth),s=ys(this.props.scrollRef).offsetLeft,n=xs(this.props.scrollRef);return(t.pageX-s+n.scrollLeft)*i+this.props.canvasTimeStart}dragGroupDelta(t){const{groupTops:i,order:s}=this.props;if(this.state.dragging){if(!this.props.canChangeGroup)return 0;let n=0;const o=ys(this.props.scrollRef).offsetTop,a=xs(this.props.scrollRef);for(const l of Object.keys(i)){const u=i[l];if(t.pageY-o+a.scrollTop>u)n=parseInt(l,10)-s.index;else break}return this.props.order.index+n<0?0-this.props.order.index:n}else return 0}resizeTimeDelta(t,i){const s=this.itemTimeEnd-this.itemTimeStart,n=this.dragTimeSnap((t.pageX-this.state.resizeStart)*this.getTimeRatio());return s+(i==="left"?-n:n)<(this.props.dragSnap||1e3)?i==="left"?s-(this.props.dragSnap||1e3):(this.props.dragSnap||1e3)-s:n}mountInteract(){const t=this.props.useResizeHandle?".rct-item-handler-resize-left":!0,i=this.props.useResizeHandle?".rct-item-handler-resize-right":!0;is(this.item).resizable({edges:{left:this.canResizeLeft()&&t,right:this.canResizeRight()&&i,top:!1,bottom:!1},enabled:this.props.selected&&(this.canResizeLeft()||this.canResizeRight())}).draggable({enabled:this.props.selected&&this.canMove()}).styleCursor(!1).on("dragstart",s=>{if(this.props.selected){this.dragInProgress=!0,this.fireInteractEvent(!0);const n=this.timeFor(s);this.setState({dragging:!0,dragStart:{x:s.pageX,y:s.pageY,offset:this.itemTimeStart-n},preDragPosition:{x:s.target.offsetLeft,y:s.target.offsetTop},dragTime:this.itemTimeStart,dragGroupDelta:0})}else return!1}).on("dragmove",s=>{this.state.dragging&&this.setState(n=>{if(!this.dragInProgress)return{...n};let o=this.dragTime(s);const a=this.dragGroupDelta(s);return this.props.moveResizeValidator&&(o=this.props.moveResizeValidator("move",this.props.item,o)),this.props.onDrag&&this.props.onDrag(this.itemId,o,this.props.order.index+a),{dragTime:o,dragGroupDelta:a}})}).on("dragend",s=>{if(this.state.dragging){if(this.props.onDrop){this.dragInProgress=!1,this.fireInteractEvent(!1);let n=this.dragTime(s);this.props.moveResizeValidator&&(n=this.props.moveResizeValidator("move",this.props.item,n)),this.props.onDrop(this.itemId,n,this.props.order.index+this.dragGroupDelta(s))}this.setState({dragging:!1,dragStart:null,preDragPosition:null,dragTime:null,dragGroupDelta:null})}}).on("resizestart",s=>{if(this.props.selected)this.fireInteractEvent(!0),this.setState({resizing:!0,resizeEdge:null,resizeStart:s.pageX,resizeTime:0});else return!1}).on("resizemove",s=>{if(this.state.resizing){let n=this.state.resizeEdge;n||(n=s.deltaRect.left!==0?"left":"right",this.setState({resizeEdge:n}));let o=this.resizeTimeSnap(this.timeFor(s));this.props.moveResizeValidator&&(o=this.props.moveResizeValidator("resize",this.props.item,o,n)),this.props.onResizing&&this.props.onResizing(this.itemId,o,n),this.setState({resizeTime:o})}}).on("resizeend",s=>{if(this.state.resizing){this.fireInteractEvent(!1);const{resizeEdge:n}=this.state;let o=this.resizeTimeSnap(this.timeFor(s));this.props.moveResizeValidator&&(o=this.props.moveResizeValidator("resize",this.props.item,o,n)),this.props.onResized&&this.props.onResized(this.itemId,o,n,this.resizeTimeDelta(s,n)),this.setState({resizing:!1,resizeStart:null,resizeEdge:null,resizeTime:null})}}).on("tap",s=>{this.actualClick(s,s.pointerType==="mouse"?"click":"touch")}),this.setState({interactMounted:!0})}canResizeLeft(t=this.props){var s;return!t.canResizeLeft||t.minResizeWidth===void 0?!1:parseInt((s=t.dimensions.width)==null?void 0:s.toString(),10)>=t.minResizeWidth}canResizeRight(t=this.props){var s;return!t.canResizeRight||t.minResizeWidth===void 0?!1:parseInt((s=t.dimensions.width)==null?void 0:s.toString(),10)>=t.minResizeWidth}canMove(t=this.props){return!!t.canMove}componentDidUpdate(t){this.cacheDataFromProps(this.props);let{interactMounted:i}=this.state;const s=t.selected&&this.canMove(t),n=t.selected&&this.canResizeLeft(t),o=t.selected&&this.canResizeRight(t),a=this.props.selected&&this.canMove(this.props),l=this.props.selected&&this.canResizeLeft(this.props),u=this.props.selected&&this.canResizeRight(this.props);if(this.item){if(this.props.selected&&!i&&(this.mountInteract(),i=!0),i&&(n!==l||o!==u)){const h=this.props.useResizeHandle?this.dragLeft:!0,m=this.props.useResizeHandle?this.dragRight:!0;is(this.item).resizable({enabled:l||u,edges:{top:!1,bottom:!1,left:l&&h,right:u&&m}})}i&&s!==a&&is(this.item).draggable({enabled:a})}else i=!1;i!==this.state.interactMounted&&this.setState({interactMounted:i})}actualClick(t,i){this.props.canSelect&&this.props.onSelect&&this.props.onSelect(this.itemId,i,t)}getItemStyle(t){const i=this.props.dimensions,s={position:"absolute",boxSizing:"border-box",left:`${i.left}px`,top:`${i.top}px`,width:`${i.width}px`,height:`${i.height}px`,lineHeight:`${i.height}px`};return Object.assign({},$f,this.props.selected?Pf:{},this.props.selected&&this.canMove(this.props)?Of:{},this.props.selected&&this.canResizeLeft(this.props)?Af:{},this.props.selected&&this.canResizeLeft(this.props)&&this.state.dragging?Ff:{},this.props.selected&&this.canResizeRight(this.props)?Wf:{},this.props.selected&&this.canResizeRight(this.props)&&this.state.dragging?Bf:{},t.style,s)}render(){var s,n;if(typeof this.props.order>"u"||this.props.order===null)return null;const t=this.context,i={dimensions:this.props.dimensions,useResizeHandle:!!this.props.useResizeHandle,title:this.itemTitle,canMove:this.canMove(this.props),canResizeLeft:this.canResizeLeft(this.props),canResizeRight:this.canResizeRight(this.props),selected:this.props.selected,dragging:this.state.dragging,dragStart:this.state.dragStart,dragTime:this.state.dragTime,dragGroupDelta:this.state.dragGroupDelta,resizing:this.state.resizing,resizeEdge:this.state.resizeEdge,resizeStart:this.state.resizeStart,resizeTime:this.state.resizeTime};return(n=(s=this.props)==null?void 0:s.itemRenderer)==null?void 0:n.call(s,{item:this.props.item,timelineContext:t,itemContext:i,getItemProps:this.getItemProps,getResizeProps:this.getResizeProps})}};Ri.defaultProps={selected:!1,itemRenderer:Rf},Ri.contextType=Yi;let vs=Ri;function Yf(e,t){const i=xe(e,"canResize")!==void 0?xe(e,"canResize"):t;return i==="left"||i==="both"}function Gf(e,t){const i=xe(e,"canResize")!==void 0?xe(e,"canResize"):t;return i==="right"||i==="both"||i===!0}class Aa extends c.Component{shouldComponentUpdate(t){return!(rs(t.groups,this.props.groups)&&rs(t.items,this.props.items)&&rs(t.dimensionItems,this.props.dimensionItems)&&t.keys===this.props.keys&&t.canvasTimeStart===this.props.canvasTimeStart&&t.canvasTimeEnd===this.props.canvasTimeEnd&&t.canvasWidth===this.props.canvasWidth&&t.selectedItem===this.props.selectedItem&&t.selected===this.props.selected&&t.dragSnap===this.props.dragSnap&&t.minResizeWidth===this.props.minResizeWidth&&t.canChangeGroup===this.props.canChangeGroup&&t.canMove===this.props.canMove&&t.canResize===this.props.canResize&&t.canSelect===this.props.canSelect)}isSelected(t,i){if(this.props.selected){const s=xe(t,i);return this.props.selected.includes(s)}else return this.props.selectedItem===xe(t,i)}getVisibleItems(t,i){const{keys:s,items:n}=this.props;return Er(n,t,i,s)}render(){const{canvasTimeStart:t,canvasTimeEnd:i,dimensionItems:s,keys:n,groups:o}=this.props,{itemIdKey:a,itemGroupKey:l}=n,u=Dr(o,n),h=this.getVisibleItems(t,i),m=Mf(s,"id");return r.jsx("div",{className:"rct-items",children:h.filter(d=>m[xe(d,a)]).map(d=>r.jsx(vs,{itemProps:d.itemProps,item:d,keys:this.props.keys,order:u[xe(d,l)],dimensions:m[xe(d,a)].dimensions,selected:this.isSelected(d,a),canChangeGroup:xe(d,"canChangeGroup")!==void 0?xe(d,"canChangeGroup"):this.props.canChangeGroup,canMove:xe(d,"canMove")!==void 0?xe(d,"canMove"):this.props.canMove,canResizeLeft:Yf(d,this.props.canResize),canResizeRight:Gf(d,this.props.canResize),canSelect:xe(d,"canSelect")!==void 0?xe(d,"canSelect"):this.props.canSelect,useResizeHandle:this.props.useResizeHandle,groupTops:this.props.groupTops,canvasTimeStart:this.props.canvasTimeStart,canvasTimeEnd:this.props.canvasTimeEnd,canvasWidth:this.props.canvasWidth,dragSnap:this.props.dragSnap,minResizeWidth:this.props.minResizeWidth,onResizing:this.props.itemResizing,onResized:this.props.itemResized,moveResizeValidator:this.props.moveResizeValidator,onDrag:this.props.itemDrag,onDrop:this.props.itemDrop,onItemDoubleClick:this.props.onItemDoubleClick,onContextMenu:this.props.onItemContextMenu,onSelect:this.props.itemSelect,itemRenderer:this.props.itemRenderer,scrollRef:this.props.scrollRef},xe(d,a)))})}}function Uf(e,t,i,s,n){return n?n({group:e,isRightSidebar:t}):xe(e,t?s:i)}function ws({groups:e,width:t,height:i,groupHeights:s,keys:n,groupRenderer:o,isRightSidebar:a=!1}){const{groupIdKey:l,groupTitleKey:u,groupRightTitleKey:h}=n,m={width:`${t}px`,height:`${i}px`},d={width:`${t}px`},f=e.map((p,g)=>{const b={height:`${s[g]}px`,lineHeight:`${s[g]}px`};return r.jsx("div",{className:"rct-sidebar-row rct-sidebar-row-"+(g%2===0?"even":"odd"),style:b,children:Uf(p,a,u,h,o)},String(xe(p,l)))});return r.jsx("div",{className:"rct-sidebar"+(a?" rct-sidebar-right":""),style:m,children:r.jsx("div",{style:d,children:f})})}ws.displayName="Sidebar";function Kf({canvasTimeStart:e,canvasTimeEnd:t,minUnit:i,timeSteps:s,height:n,verticalLineClassNamesForTime:o,getLeftOffsetFromDate:a}){const l=[];return Nr(e,t,i,s,(u,h)=>{const d=u.get(i==="day"?"date":i)===(i==="day"?1:0);let f=[];o&&(f=o(u.unix()*1e3,h.unix()*1e3-1));const p="rct-vl"+(d?" rct-vl-first":"")+(i==="day"||i==="hour"||i==="minute"?` rct-day-${u.day()} `:" ")+f.join(" "),g=a(u.valueOf()),b=a(h.valueOf());l.push(r.jsx("div",{className:p,style:{pointerEvents:"none",top:"0px",left:`${g}px`,width:`${b-g}px`,height:`${n}px`}},`line-${u.valueOf()}`))}),r.jsx("div",{className:"rct-vertical-lines",children:l})}function Fa(e){return r.jsx(Gi,{children:({getLeftOffsetFromDate:t})=>r.jsx(Kf,{getLeftOffsetFromDate:t,...e})})}Fa.displayName="ColumnsWrapper";function Wa({children:e,onClick:t,clickTolerance:i}){const s=c.useRef(null),n=c.useRef(!1),o=c.useCallback(h=>{s.current=h.clientX},[]),a=c.useCallback(h=>{i!==void 0&&s.current!==null&&Math.abs(s.current-h.clientX)>i&&(n.current=!0)},[i]),l=c.useCallback(h=>{n.current||t(h),n.current=!1,s.current=null},[t]),u=c.Children.only(e);return c.cloneElement(u,{onMouseDown:o,onMouseUp:a,onClick:l})}Wa.displayName="PreventClickOnDrag";function Mr({onContextMenu:e,onDoubleClick:t,isEvenRow:i,style:s,onClick:n,clickTolerance:o,horizontalLineClassNamesForGroup:a,group:l}){let u=[];return a&&(u=a(l)),r.jsx(Wa,{clickTolerance:o,onClick:n,children:r.jsx("div",{onContextMenu:e,onDoubleClick:t,className:(i?"rct-hl-even ":"rct-hl-odd ")+(u?u.join(" "):""),style:s})})}Mr.displayName="GroupRow";function Ba({canvasWidth:e,lineCount:t,groupHeights:i,onRowClick:s,onRowDoubleClick:n,clickTolerance:o,groups:a,horizontalLineClassNamesForGroup:l,onRowContextClick:u}){const h=[];for(let m=0;m<t;m+=1)h.push(r.jsx(Mr,{clickTolerance:o,onContextMenu:d=>u(d,m),onClick:d=>s(d,m),onDoubleClick:d=>n(d,m),isEvenRow:m%2===0,group:a[m],horizontalLineClassNamesForGroup:l,style:{width:`${e}px`,height:`${i[m]}px`}},`horizontal-line-${m}`));return r.jsx("div",{className:"rct-horizontal-lines",children:h})}Ba.displayName="GroupRows";function Va({width:e,height:t,scrollRef:i,onZoom:s,onWheelZoom:n,onScroll:o,children:a}){const l=c.useRef(null),[u,h]=c.useState(!1),m=c.useRef(null),d=c.useRef(null),f=c.useRef(null),p=c.useRef(null),g=c.useRef(!1),b=c.useCallback(()=>{l.current&&o(l.current.scrollLeft)},[o]),v=c.useCallback(w=>{const D=w.currentTarget;if(w.ctrlKey||w.metaKey||w.altKey){w.preventDefault();const R=fn(D),z=w.clientX-R.x,P=w.ctrlKey?10:w.metaKey?3:1;n(P,z,w.deltaY)}else w.shiftKey&&(w.preventDefault(),l.current&&o(l.current.scrollLeft+(w.deltaY||w.deltaX)))},[n,o]),y=c.useCallback(w=>{g.current=w.detail.itemInteraction},[]),j=c.useCallback(w=>{l.current&&(l.current.removeEventListener("wheel",v),l.current.removeEventListener("itemInteraction",y)),l.current=w,i(w),w&&(w.addEventListener("wheel",v,{passive:!1}),w.addEventListener("itemInteraction",y))},[i,v,y]);c.useEffect(()=>()=>{l.current&&(l.current.removeEventListener("wheel",v),l.current.removeEventListener("itemInteraction",y))},[v]);const x=c.useCallback(w=>{w.button===0&&(m.current=w.pageX,h(!0))},[]),T=c.useCallback(w=>{u&&!g.current&&m.current!==null&&(l.current&&o(l.current.scrollLeft+m.current-w.pageX),m.current=w.pageX)},[u,o]),N=c.useCallback(()=>{m.current=null,h(!1)},[]),C=c.useCallback(()=>{m.current=null,h(!1)},[]),k=c.useCallback(w=>{if(w.touches.length===2)w.preventDefault(),d.current=Math.abs(w.touches[0].screenX-w.touches[1].screenX),f.current=null,p.current=null;else if(w.touches.length===1){w.preventDefault();const D=w.touches[0].clientX,R=w.touches[0].clientY;d.current=null,f.current={x:D,y:R,screenY:window.pageYOffset},p.current={x:D,y:R,screenY:window.pageYOffset}}},[]),S=c.useCallback(w=>{if(g.current){w.preventDefault();return}if(d.current!==null&&w.touches.length===2){w.preventDefault();const D=Math.abs(w.touches[0].screenX-w.touches[1].screenX),R=fn(w.currentTarget),z=(w.touches[0].screenX+w.touches[1].screenX)/2-R.x;D!==0&&d.current!==0&&(s(d.current/D,z/e),d.current=D)}else if(p.current!==null&&f.current!==null&&w.touches.length===1){w.preventDefault();const D=w.touches[0].clientX,R=w.touches[0].clientY,z=D-p.current.x,P=D-f.current.x,F=R-f.current.y;p.current={x:D,y:R,screenY:window.pageYOffset};const W=Math.abs(P)*3>Math.abs(F),$=Math.abs(F)*3>Math.abs(P);z!==0&&W&&l.current&&o(l.current.scrollLeft-z),$&&window.scrollTo(window.pageXOffset,f.current.screenY-F)}},[s,o,e]),I=c.useCallback(()=>{d.current=null,p.current=null,f.current=null},[]),E={width:`${e}px`,height:`${t+20}px`,cursor:u?"move":"default",position:"relative"};return r.jsx("div",{ref:j,"data-testid":"scroll-element",className:"rct-scroll",style:E,onMouseDown:x,onMouseMove:T,onMouseUp:N,onMouseLeave:C,onTouchStart:k,onTouchMove:S,onTouchEnd:I,onScroll:b,children:a})}Va.displayName="ScrollElement";const Xf={subscribeToMouseOver:()=>(console.warn('"subscribeToMouseOver" default func is being used'),()=>{})},{Consumer:Qf,Provider:Zf}=c.createContext(Xf),Jf=Zf,em=Qf,tm={markers:[],subscribeMarker:()=>(console.warn("default subscribe marker used"),{unsubscribe:ns,getMarker:ns}),updateMarker:()=>(console.warn("default subscribe marker used"),ns)},Ha=c.createContext(tm);let mn=0;const im=()=>(mn+=1,mn+1);function _a(e){const[t,i]=c.useState([]),s=c.useCallback(a=>{const l={...a,id:im()};return i(u=>[...u,l]),{unsubscribe:()=>{i(u=>u.filter(h=>h.id!==l.id))},getMarker:()=>l}},[]),n=c.useCallback(a=>{i(l=>{const u=l.findIndex(h=>h.id===a.id);return u<0?l:[...l.slice(0,u),a,...l.slice(u+1)]})},[]),o={markers:t,subscribeMarker:s,updateMarker:n};return r.jsx(Ha.Provider,{value:o,children:e.children})}_a.displayName="TimelineMarkersProvider";const Ui=Ha.Consumer;var Bt=(e=>(e.Today="Today",e.Custom="Custom",e.Cursor="Cursor",e))(Bt||{});const sm={position:"absolute",top:0,bottom:0,width:"2px",backgroundColor:"black",pointerEvents:"none"},Rr=e=>({...sm,left:e}),zr=e=>function({styles:i}){return r.jsx("div",{style:i,"data-testid":e})},rm=zr("default-today-line"),Or=class Or extends c.Component{constructor(){super(...arguments),this.state={date:Date.now()}}componentDidMount(){this.intervalToken=this.createIntervalUpdater(this.props.interval)}componentDidUpdate(t){t.interval!==this.props.interval&&(clearInterval(this.intervalToken),this.intervalToken=this.createIntervalUpdater(this.props.interval))}createIntervalUpdater(t){return setInterval(()=>{this.setState({date:Date.now()})},t)}componentWillUnmount(){clearInterval(this.intervalToken)}render(){const{date:t}=this.state,i=this.props.getLeftOffsetFromDate(t),s=Rr(i);return this.props.renderer({styles:s,date:t})}};Or.defaultProps={renderer:rm};let js=Or;const nm=zr("default-customer-marker-id"),Ar=class Ar extends c.Component{render(){const{date:t}=this.props,i=this.props.getLeftOffsetFromDate(t),s=Rr(i);return this.props.renderer({styles:s,date:t})}};Ar.defaultProps={renderer:nm};let Ss=Ar;const om=zr("default-cursor-marker"),Fr=class Fr extends c.Component{constructor(t){super(t),this.handleCanvasMouseOver=({leftOffset:i,date:s,isCursorOverCanvas:n})=>{this.setState({leftOffset:i,date:s,isShowingCursor:n})},this.state={leftOffset:0,date:0,isShowingCursor:!1}}componentDidMount(){this.unsubscribe=this.props.subscribeToCanvasMouseOver(this.handleCanvasMouseOver)}componentWillUnmount(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}render(){const{isShowingCursor:t,leftOffset:i,date:s}=this.state;if(!t)return null;const n=Rr(i);return this.props.renderer?this.props.renderer({styles:n,date:s}):null}};Fr.defaultProps={renderer:om};let Cs=Fr;const qa=e=>r.jsx(em,{children:({subscribeToMouseOver:t})=>r.jsx(Cs,{subscribeToCanvasMouseOver:t,...e})});qa.displayName="CursorMarkerWrapper";const am=()=>r.jsx(Gi,{children:({getLeftOffsetFromDate:e,getTimelineState:t})=>r.jsx(Ui,{children:({markers:i})=>{const s=t();return i.map(n=>{switch(n.type){case Bt.Today:return new Date().valueOf()>=s.canvasTimeStart&&new Date().valueOf()<=s.canvasTimeEnd?r.jsx(js,{getLeftOffsetFromDate:e,renderer:n.renderer,interval:n.interval},n.id):null;case Bt.Custom:return n.date>=s.canvasTimeStart&&n.date<=s.canvasTimeEnd?r.jsx(Ss,{renderer:n.renderer,date:n.date,getLeftOffsetFromDate:e},n.id):null;case Bt.Cursor:return r.jsx(qa,{renderer:n.renderer,getLeftOffsetFromDate:e},n.id);default:return null}})}})}),lm={position:"absolute",left:0,right:0,top:0,bottom:0};function um({getDateFromLeftOffsetPosition:e,children:t}){const i=c.useRef(null),s=c.useRef(null),n=c.useCallback(u=>{if(s.current!==null&&i.current){const{pageX:h}=u,{left:m=0}=i.current.getBoundingClientRect(),d=h-m,f=e(d);s.current({leftOffset:d,date:f,isCursorOverCanvas:!0})}},[e]),o=c.useCallback(()=>{s.current!==null&&s.current({leftOffset:0,date:0,isCursorOverCanvas:!1})},[]),a=c.useCallback(u=>(s.current=u,()=>{s.current=null}),[]),l=c.useMemo(()=>({subscribeToMouseOver:a}),[a]);return r.jsx(Jf,{value:l,children:r.jsxs("div",{style:lm,onMouseMove:n,onMouseLeave:o,ref:i,children:[r.jsx(am,{}),t]})})}function Ya(e){return r.jsx(Gi,{children:({getDateFromLeftOffsetPosition:t})=>r.jsx(um,{getDateFromLeftOffsetPosition:t,...e})})}Ya.displayName="MarkerCanvas";function cm(e){e._resizeEventListener=()=>e.resize(),window.addEventListener("resize",e._resizeEventListener)}function dm(e){window.removeEventListener("resize",e._resizeEventListener)}const hn={addListener:cm,removeListener:dm},fm={groupIdKey:"id",groupTitleKey:"title",groupRightTitleKey:"rightTitle",groupLabelKey:"title",itemIdKey:"id",itemTitleKey:"title",itemDivTitleKey:"title",itemGroupKey:"group",itemTimeStartKey:"start_time",itemTimeEndKey:"end_time"},mm={second:1,minute:1,hour:1,day:1,month:1,year:1},hm={year:{long:"YYYY",mediumLong:"YYYY",medium:"YYYY",short:"YY"},month:{long:"MMMM YYYY",mediumLong:"MMMM",medium:"MMMM",short:"MM/YY"},week:{long:"w",mediumLong:"w",medium:"w",short:"w"},day:{long:"dddd, LL",mediumLong:"dddd, LL",medium:"dd D",short:"D"},hour:{long:"dddd, LL, HH:00",mediumLong:"L, HH:00",medium:"HH:00",short:"HH"},minute:{long:"HH:mm",mediumLong:"HH:mm",medium:"HH:mm",short:"mm"},second:{long:"mm:ss",mediumLong:"mm:ss",medium:"mm:ss",short:"ss"}},pm={registerScroll:()=>{console.warn("default registerScroll header used")},rightSidebarWidth:0,leftSidebarWidth:150,timeSteps:{}},Ga=c.createContext(pm);function Ua({children:e,rightSidebarWidth:t=0,leftSidebarWidth:i,timeSteps:s,registerScroll:n}){const o={rightSidebarWidth:t,leftSidebarWidth:i,timeSteps:s,registerScroll:n};return r.jsx(Ga.Provider,{value:o,children:e})}Ua.displayName="TimelineHeadersProvider";const gm=Ga,Lr=()=>c.useContext(gm),bm="left",Ka="right";function Xa({children:e,rightSidebarWidth:t=0,leftSidebarWidth:i,variant:s,headerData:n}){const o=c.useCallback((a={})=>{const{style:l={}}=a;return{style:{...l,width:s===Ka?t:i}}},[s,t,i]);return r.jsx(e,{getRootProps:o,data:n})}const xm=({getRootProps:e})=>r.jsx("div",{"data-testid":"sidebarHeader",...e()});function Ei(e){const{children:t,variant:i=bm,headerData:s}=e,{leftSidebarWidth:n,rightSidebarWidth:o}=Lr();return r.jsx(Xa,{leftSidebarWidth:n,rightSidebarWidth:o,variant:i,headerData:s,children:t||xm})}Ei.secretKey="SidebarHeader";Xa.displayName="SidebarHeader";const ym="SidebarHeader";function vm(e){return(e==null?void 0:e.type)===void 0?!1:e.type.secretKey===ym}function Qa({registerScroll:e,leftSidebarWidth:t,rightSidebarWidth:i,style:s,children:n,className:o,calendarHeaderStyle:a,calendarHeaderClassName:l}){const u=()=>({...s,display:"flex",width:"100%"}),h=()=>({...a,overflow:"hidden",width:`calc(100% - ${t+i}px)`}),m=Array.isArray(n)?n.filter(Boolean):n?[n]:[];let d=null,f=null;const p=[];return c.Children.map(m,g=>{var b;vm(g)?((b=g==null?void 0:g.props)==null?void 0:b.variant)===Ka?d=g:f=g:p.push(g)}),f||(f=r.jsx(Ei,{})),!d&&i&&(d=r.jsx(Ei,{variant:"right"})),r.jsxs("div",{"data-testid":"headerRootDiv",style:u(),className:qr("rct-header-root",o),children:[f,r.jsx("div",{ref:e,style:h(),className:qr("rct-calendar-header",l),"data-testid":"headerContainer",children:p}),d]})}Qa.secretKey="TimelineHeaders";function $r({children:e,style:t,className:i,calendarHeaderStyle:s,calendarHeaderClassName:n}){const{leftSidebarWidth:o,rightSidebarWidth:a,registerScroll:l}=Lr();return r.jsx(Qa,{leftSidebarWidth:o,rightSidebarWidth:a,registerScroll:l,style:t,className:i,calendarHeaderStyle:s,calendarHeaderClassName:n,children:e})}const Za="TimelineHeaders";$r.secretKey=Za;function wm({canvasTimeStart:e,canvasTimeEnd:t,unit:i,timeSteps:s,getLeftOffsetFromDate:n}){const o=[];return Nr(e,t,i,s,(a,l)=>{const u=n(a.valueOf()),h=n(l.valueOf());o.push({startTime:a,endTime:l,labelWidth:h-u,left:u})}),o}function jm({children:e,unit:t,timeSteps:i,visibleTimeStart:s,visibleTimeEnd:n,canvasTimeStart:o,canvasTimeEnd:a,canvasWidth:l,showPeriod:u,headerData:h,getLeftOffsetFromDate:m,height:d=30,timelineWidth:f}){const p=c.useMemo(()=>wm({canvasTimeStart:o,canvasTimeEnd:a,unit:t,timeSteps:i,getLeftOffsetFromDate:m}),[o,a,t,i,m]),g=c.useCallback((y={})=>({style:{...y.style??{},position:"relative",width:l,height:d}}),[l,d]),b=c.useCallback(y=>{const{interval:j,style:x}=y??{};if(!j)throw new Error("you should provide interval to the prop getter");const{startTime:T,labelWidth:N,left:C}=j;return{style:{...x,left:C,width:N,position:"absolute"},key:`label-${T.valueOf()}`}},[]),v=c.useMemo(()=>({headerContext:{unit:t,intervals:p},getRootProps:g,getIntervalProps:b,showPeriod:u,data:h}),[t,p,g,b,u,h]);return r.jsx(e,{...v})}function Pr({children:e,unit:t,headerData:i,height:s}){const{getTimelineState:n,showPeriod:o,getLeftOffsetFromDate:a}=qf(),l=n(),{timeSteps:u}=Lr();return r.jsx(jm,{children:e,timeSteps:u,showPeriod:o,unit:t??l.timelineUnit,visibleTimeStart:l.visibleTimeStart,visibleTimeEnd:l.visibleTimeEnd,canvasTimeStart:l.canvasTimeStart,canvasTimeEnd:l.canvasTimeEnd,canvasWidth:l.canvasWidth,timelineWidth:l.timelineWidth,headerData:i,getLeftOffsetFromDate:a,height:s??30})}Pr.displayName="CustomHeaderWrapper";class Sm extends c.PureComponent{constructor(){super(...arguments),this.onIntervalClick=()=>{const{primaryHeader:t,interval:i,unit:s,showPeriod:n}=this.props;if(t){const o=Tr(s),a=i.startTime.clone().startOf(o),l=i.startTime.clone().endOf(o);n(a,l)}else n(i.startTime,i.endTime)},this.getIntervalProps=(t={})=>({...this.props.getIntervalProps({interval:this.props.interval,...t}),onClick:Wt(this.onIntervalClick,t.onClick)})}render(){const{intervalText:t,interval:i,intervalRenderer:s,headerData:n}=this.props,o=s;if(o)return r.jsx(o,{getIntervalProps:this.getIntervalProps,intervalContext:{interval:i,intervalText:t},data:n});const{key:a,...l}=this.getIntervalProps();return c.createElement("div",{"data-testid":"dateHeaderInterval",...l,key:a,className:`rct-dateHeader ${this.props.primaryHeader?"rct-dateHeader-primary":""}`},r.jsx("span",{children:t}))}}function Cm({headerContext:{intervals:e,unit:t},getRootProps:i,getIntervalProps:s,showPeriod:n,data:{style:o,intervalRenderer:a,className:l,getLabelFormat:u,unitProp:h,headerData:m}}){return r.jsx("div",{"data-testid":"dateHeader",className:l,...i({style:o}),children:e.map(d=>{const f=u([d.startTime,d.endTime],t,d.labelWidth);return r.jsx(Sm,{unit:t,interval:d,showPeriod:n,intervalText:f,primaryHeader:h==="primaryHeader",getIntervalProps:s,intervalRenderer:a,headerData:m},`label-${d.startTime.valueOf()}`)})})}const km=pn(e=>({height:30,...e})),Nm=pn((e,t,i,s,n,o)=>({intervalRenderer:e,style:t,className:i??"",getLabelFormat:s,unitProp:n,headerData:o}));function Tm({unit:e,timelineUnit:t,labelFormat:i,style:s,className:n,intervalRenderer:o,headerData:a,height:l}){const u=e==="primaryHeader"?Tr(t):e??t,h=c.useMemo(()=>(d,f,p)=>{if(typeof i=="string")return d[0].format(i);if(typeof i=="function")return i(d,f,p);throw new Error("labelFormat should be function or string")},[i]),m=c.useMemo(()=>o?Nm(o,km(s),n,h,e,a):null,[o,s,n,h,e,a]);return m?r.jsx(Pr,{children:Cm,unit:u,height:l,headerData:m}):null}function Ii({labelFormat:e,unit:t,style:i,className:s,intervalRenderer:n,headerData:o,height:a}){return r.jsx(Gi,{children:({getTimelineState:l})=>{const u=l();return r.jsx(Tm,{timelineUnit:u.timelineUnit,unit:t,labelFormat:e??Dm,style:i,className:s,intervalRenderer:n,headerData:o,height:a})}})}function Dm([e],t,i,s=hm){let n;return i>=150?n=s[t].long:i>=100?n=s[t].mediumLong:i>=50?n=s[t].medium:n=s[t].short,e.format(n)}Ii.displayName="DateHeader";jt.extend(gl);const zi=class zi extends c.Component{constructor(t){super(t),this.getTimelineContext=()=>{const{width:f,visibleTimeStart:p,visibleTimeEnd:g,canvasTimeStart:b,canvasTimeEnd:v}=this.state,y=g-p,j=Et(f,this.props.buffer),x=xi(y,f,this.props.timeSteps);return{canvasWidth:j,timelineUnit:x,timelineWidth:f,visibleTimeStart:p,visibleTimeEnd:g,canvasTimeStart:b,canvasTimeEnd:v}},this.getTimelineUnit=()=>{const{width:f,visibleTimeStart:p,visibleTimeEnd:g}=this.state,{timeSteps:b}=this.props,v=g-p;return xi(v,f,b)},this.scrollComponent=null,this.scrollHeaderRef=null,this.resize=(f=this.props)=>{var N;const{width:p}=((N=this.container.current)==null?void 0:N.getBoundingClientRect())??{width:0},g=p-f.sidebarWidth-f.rightSidebarWidth,b=Et(g,f.buffer),{dimensionItems:v,height:y,groupHeights:j,groupTops:x}=Yt(f.items,f.groups,b,this.state.canvasTimeStart,this.state.canvasTimeEnd,f.keys,f.lineHeight,f.itemHeightRatio,f.stackItems,this.state.draggingItem,this.state.resizingItem,this.state.dragTime,this.state.resizingEdge,this.state.resizeTime,this.state.newGroupOrder);this.setState({width:g,dimensionItems:v,height:y,groupHeights:j,groupTops:x});const T=g*((f.buffer-1)/2);this.scrollComponent&&(this.scrollComponent.scrollLeft=T),this.scrollHeaderRef&&(this.scrollHeaderRef.scrollLeft=T)},this.onScroll=f=>{var y,j;const p=this.state.width,g=this.state.canvasTimeStart,b=this.state.visibleTimeEnd-this.state.visibleTimeStart,v=g+b*f/p;(this.state.visibleTimeStart!==v||this.state.visibleTimeEnd!==v+b)&&((j=(y=this.props).onTimeChange)==null||j.call(y,v,v+b,this.updateScrollCanvas,this.getTimelineUnit()))},this.updateScrollCanvas=(f,p,g=!1,b=this.props.items,v=this.props.groups)=>{this.setState(bs(f,p,g,b,v,this.props,this.state))},this.handleWheelZoom=(f,p,g)=>{this.changeZoom(1+f*g/500,p/this.state.width)},this.changeZoom=(f,p=.5)=>{const{minZoom:g,maxZoom:b}=this.props,v=this.state.visibleTimeEnd-this.state.visibleTimeStart,y=Math.min(Math.max(Math.round(v*f),g),b),j=Math.round(this.state.visibleTimeStart+(v-y)*p);this.props.onTimeChange&&this.props.onTimeChange(j,j+y,this.updateScrollCanvas,this.getTimelineUnit())},this.showPeriod=(f,p)=>{var y,j;const g=f.valueOf(),v=p.valueOf()-g;v<this.props.minZoom||(j=(y=this.props).onTimeChange)==null||j.call(y,g,g+v,this.updateScrollCanvas,this.getTimelineUnit())},this.selectItem=(f,p,g)=>{if(this.isItemSelected(f)||this.props.itemTouchSendsClick&&p==="touch"){if(f&&this.props.onItemClick){const b=this.timeFromItemEvent(g);this.props.onItemClick(f,g,b)}}else if(this.setState({selectedItem:f}),f&&this.props.onItemSelect){const b=this.timeFromItemEvent(g);this.props.onItemSelect(f,g,b)}else f===null&&this.props.onItemDeselect&&this.props.onItemDeselect(g)},this.doubleClickItem=(f,p)=>{if(this.props.onItemDoubleClick){const g=this.timeFromItemEvent(p);this.props.onItemDoubleClick(f,p,g)}},this.contextMenuClickItem=(f,p)=>{if(this.props.onItemContextMenu){const g=this.timeFromItemEvent(p);this.props.onItemContextMenu(f,p,g)}},this.getTimeFromRowClickEvent=f=>{const{dragSnap:p,buffer:g}=this.props,{width:b,canvasTimeStart:v,canvasTimeEnd:y}=this.state,{offsetX:j}=f.nativeEvent;let x=kr(v,y,Et(b,g),j);return x=Math.floor(x/p)*p,x},this.timeFromItemEvent=f=>{const{width:p,visibleTimeStart:g,visibleTimeEnd:b}=this.state,v=this.props.dragSnap,y=this.scrollComponent,{left:j}=y.getBoundingClientRect(),T=(f.clientX-j)/p,N=b-g,C=T*N;let k=Math.round(g+C);return k=Math.floor(k/v)*v,k},this.dragItem=(f,p,g)=>{const b=this.props.groups[g],v=this.props.keys;this.setState({draggingItem:f,dragTime:p,newGroupOrder:g,dragGroupTitle:b?xe(b,v.groupLabelKey):""}),this.updatingItem({eventType:"move",itemId:f,time:p,newGroupOrder:g})},this.dropItem=(f,p,g)=>{this.setState({draggingItem:null,dragTime:null,dragGroupTitle:null}),this.props.onItemMove&&this.props.onItemMove(f,p,g)},this.resizingItem=(f,p,g)=>{this.setState({resizingItem:f,resizingEdge:g,resizeTime:p}),this.updatingItem({eventType:"resize",itemId:f,time:p,edge:g||void 0})},this.resizedItem=(f,p,g,b)=>{this.setState({resizingItem:null,resizingEdge:null,resizeTime:null}),this.props.onItemResize&&b!==0&&this.props.onItemResize(f,p,g)},this.updatingItem=({eventType:f,itemId:p,time:g,edge:b,newGroupOrder:v})=>{this.props.onItemDrag&&(f==="move"?this.props.onItemDrag({eventType:f,itemId:p,time:g,newGroupOrder:v}):this.props.onItemDrag({eventType:f,itemId:p,time:g,edge:b}))},this.handleRowClick=(f,p)=>{if(this.hasSelectedItem()&&this.selectItem(null,"click",f),this.props.onCanvasClick==null)return;const g=this.getTimeFromRowClickEvent(f),b=xe(this.props.groups[p],this.props.keys.groupIdKey);this.props.onCanvasClick(b,g,f)},this.handleRowDoubleClick=(f,p)=>{if(this.props.onCanvasDoubleClick==null)return;const g=this.getTimeFromRowClickEvent(f),b=xe(this.props.groups[p],this.props.keys.groupIdKey);this.props.onCanvasDoubleClick(b,g,f)},this.handleScrollContextMenu=(f,p)=>{if(this.props.onCanvasContextMenu==null)return;const g=this.getTimeFromRowClickEvent(f),b=xe(this.props.groups[p],this.props.keys.groupIdKey);this.props.onCanvasContextMenu&&(f.preventDefault(),this.props.onCanvasContextMenu(b,g,f))},this.handleHeaderRef=f=>{this.scrollHeaderRef=f,this.props.headerRef&&this.props.headerRef(f)},this.isTimelineHeader=f=>f.type===void 0?!1:f.type.secretKey===Za,this.renderHeaders=()=>{if(this.props.children){let f;if(c.Children.map(this.props.children,p=>{this.isTimelineHeader(p)&&(f=p)}),f)return f}return r.jsxs($r,{children:[r.jsx(Ii,{unit:"primaryHeader"}),r.jsx(Ii,{})]})},this.getScrollElementRef=f=>{this.props.scrollRef&&this.props.scrollRef(f),this.scrollComponent=f},this.container=c.createRef(),this.getSelected=this.getSelected.bind(this),this.hasSelectedItem=this.hasSelectedItem.bind(this),this.isItemSelected=this.isItemSelected.bind(this);let i=null,s=null;if(this.props.defaultTimeStart&&this.props.defaultTimeEnd)i=this.props.defaultTimeStart,s=this.props.defaultTimeEnd;else if(this.props.visibleTimeStart&&this.props.visibleTimeEnd)i=this.props.visibleTimeStart,s=this.props.visibleTimeEnd;else throw new Error('You must provide either "defaultTimeStart" and "defaultTimeEnd" or "visibleTimeStart" and "visibleTimeEnd" to initialize the Timeline');const[n,o]=Ir(i,s,t.buffer),a={width:1e3,visibleTimeStart:i,visibleTimeEnd:s,canvasTimeStart:n,canvasTimeEnd:o,selectedItem:null,dragTime:null,dragGroupTitle:null,resizeTime:null,resizingItem:null,resizingEdge:null,newGroupOrder:0},l=Et(a.width,t.buffer),{dimensionItems:u,height:h,groupHeights:m,groupTops:d}=Yt(t.items,t.groups,l,a.canvasTimeStart,a.canvasTimeEnd,t.keys,t.lineHeight,t.itemHeightRatio,t.stackItems,a.draggingItem,a.resizingItem,a.dragTime,a.resizingEdge,a.resizeTime,a.newGroupOrder);a.dimensionItems=u,a.height=h,a.groupHeights=m,a.groupTops=d,this.state=a}componentDidMount(){this.resize(this.props),this.props.resizeDetector&&this.props.resizeDetector.addListener&&this.props.resizeDetector.addListener(this),hn.addListener(this)}componentWillUnmount(){this.props.resizeDetector&&this.props.resizeDetector.addListener&&this.props.resizeDetector.removeListener(this),hn.removeListener(this)}static getDerivedStateFromProps(t,i){const{visibleTimeStart:s,visibleTimeEnd:n,items:o,groups:a}=t,l={items:o,groups:a},u=o!==i.items||a!==i.groups;if(s&&n)Object.assign(l,bs(s,n,u,o,a,t,i));else if(u){const h=Et(i.width,t.buffer);Object.assign(l,Yt(o,a,h,i.canvasTimeStart,i.canvasTimeEnd,t.keys,t.lineHeight,t.itemHeightRatio,t.stackItems,i.draggingItem,i.resizingItem,i.dragTime,i.resizingEdge,i.resizeTime,i.newGroupOrder))}return l}componentDidUpdate(t,i){const s=this.state.visibleTimeEnd-this.state.visibleTimeStart,n=i.visibleTimeEnd-i.visibleTimeStart;this.props.onZoom&&s!==n&&this.props.onZoom(this.getTimelineContext(),this.getTimelineUnit()),this.props.onBoundsChange&&this.state.canvasTimeStart!==i.canvasTimeStart&&this.props.onBoundsChange(this.state.canvasTimeStart,this.state.canvasTimeStart+s*3);const o=Math.round(this.state.width*(this.state.visibleTimeStart-this.state.canvasTimeStart)/s);Math.round(i.width*(i.visibleTimeStart-i.canvasTimeStart)/n)!==o&&(this.scrollComponent.scrollLeft=o,this.scrollHeaderRef.scrollLeft=o)}columns(t,i,s,n,o,a){var l;return r.jsx(Fa,{canvasTimeStart:t,canvasTimeEnd:i,canvasWidth:s,lineCount:((l=this.props.groups)==null?void 0:l.length)||0,minUnit:n,timeSteps:o,height:a,verticalLineClassNamesForTime:this.props.verticalLineClassNamesForTime})}rows(t,i,s){var n;return r.jsx(Ba,{groups:s,canvasWidth:t,lineCount:((n=this.props.groups)==null?void 0:n.length)||0,groupHeights:i,clickTolerance:this.props.clickTolerance,onRowClick:this.handleRowClick,onRowDoubleClick:this.handleRowDoubleClick,horizontalLineClassNamesForGroup:this.props.horizontalLineClassNamesForGroup,onRowContextClick:this.handleScrollContextMenu})}items({canvasTimeStart:t,canvasTimeEnd:i,canvasWidth:s,dimensionItems:n,groupTops:o}){return r.jsx(Aa,{canvasTimeStart:t,canvasTimeEnd:i,canvasWidth:s,dimensionItems:n,groupTops:o,items:this.props.items,groups:this.props.groups,keys:this.props.keys,selectedItem:this.state.selectedItem||void 0,dragSnap:this.props.dragSnap,minResizeWidth:this.props.minResizeWidth,canChangeGroup:this.props.canChangeGroup,canMove:this.props.canMove,canResize:this.props.canResize,useResizeHandle:this.props.useResizeHandle,canSelect:this.props.canSelect,moveResizeValidator:this.props.moveResizeValidator,itemSelect:this.selectItem,itemDrag:this.dragItem,itemDrop:this.dropItem,onItemDoubleClick:this.doubleClickItem,onItemContextMenu:this.props.onItemContextMenu?this.contextMenuClickItem:void 0,itemResizing:this.resizingItem,itemResized:this.resizedItem,itemRenderer:this.props.itemRenderer,selected:this.props.selected,scrollRef:this.scrollComponent})}sidebar(t,i){const{sidebarWidth:s}=this.props;return s&&r.jsx(ws,{groups:this.props.groups,groupRenderer:this.props.groupRenderer,keys:this.props.keys,width:s,groupHeights:i,height:t})}rightSidebar(t,i){const{rightSidebarWidth:s}=this.props;return s&&r.jsx(ws,{groups:this.props.groups,keys:this.props.keys,groupRenderer:this.props.groupRenderer,isRightSidebar:!0,width:s,groupHeights:i,height:t})}childrenWithProps(t,i,s,n,o,a,l,u,h,m,d){if(!this.props.children)return null;const f=Array.isArray(this.props.children)?this.props.children.filter(g=>g):[this.props.children],p={canvasTimeStart:t,canvasTimeEnd:i,canvasWidth:s,visibleTimeStart:u,visibleTimeEnd:h,dimensionItems:n,items:this.props.items,groups:this.props.groups,keys:this.props.keys,groupHeights:o,groupTops:a,selected:this.getSelected(),height:l,minUnit:m,timeSteps:d};return c.Children.map(f,g=>this.isTimelineHeader(g)?null:c.cloneElement(g,p))}getSelected(){return this.state.selectedItem&&!this.props.selected?[this.state.selectedItem]:this.props.selected||[]}hasSelectedItem(){return Array.isArray(this.props.selected)?this.props.selected.length>0:!!this.state.selectedItem}isItemSelected(t){return this.getSelected().some(s=>s===t)}render(){const{items:t,groups:i,sidebarWidth:s,rightSidebarWidth:n,timeSteps:o,traditionalZoom:a,buffer:l}=this.props,{draggingItem:u,resizingItem:h,width:m,visibleTimeStart:d,visibleTimeEnd:f,canvasTimeStart:p,canvasTimeEnd:g}=this.state;let{dimensionItems:b,height:v,groupHeights:y,groupTops:j}=this.state;const x=f-d,T=Et(m,l),N=xi(x,m,o);if(!!u||!!h){const S=Yt(t,i,T,this.state.canvasTimeStart,this.state.canvasTimeEnd,this.props.keys,this.props.lineHeight,this.props.itemHeightRatio,this.props.stackItems,this.state.draggingItem,this.state.resizingItem,this.state.dragTime,this.state.resizingEdge,this.state.resizeTime,this.state.newGroupOrder);b=S.dimensionItems,v=S.height,y=S.groupHeights,j=S.groupTops}const k={height:`${v}px`};return r.jsx(Oa,{visibleTimeStart:d,visibleTimeEnd:f,canvasTimeStart:p,canvasTimeEnd:g,canvasWidth:T,showPeriod:this.showPeriod,timelineUnit:N,timelineWidth:this.state.width,children:r.jsx(_a,{children:r.jsx(Ua,{registerScroll:this.handleHeaderRef,timeSteps:o,leftSidebarWidth:this.props.sidebarWidth,rightSidebarWidth:this.props.rightSidebarWidth,children:r.jsxs("div",{style:this.props.style,ref:this.container,className:`react-calendar-timeline ${this.props.className}`,children:[this.renderHeaders(),r.jsxs("div",{style:k,className:"rct-outer",children:[s>0?this.sidebar(v,y):null,r.jsx(Va,{scrollRef:this.getScrollElementRef,width:m,height:v,onZoom:this.changeZoom,onWheelZoom:this.handleWheelZoom,traditionalZoom:!!a,onScroll:this.onScroll,children:r.jsxs(Ya,{children:[this.columns(p,g,T,N,o,v),this.rows(T,y,i),this.items({canvasTimeStart:p,canvasTimeEnd:g,canvasWidth:T,dimensionItems:b,groupTops:j}),this.childrenWithProps(p,g,T,b,y,j,v,d,f,N,o)]})}),n>0?this.rightSidebar(v,y):null]})]})})})})}};zi.setDayjsLocale=jt.locale,zi.defaultProps={sidebarWidth:150,rightSidebarWidth:0,dragSnap:1e3*60*15,minResizeWidth:20,lineHeight:30,itemHeightRatio:.65,buffer:3,minZoom:3600*1e3,maxZoom:5*365.24*86400*1e3,clickTolerance:3,canChangeGroup:!0,canMove:!0,canResize:"right",useResizeHandle:!1,canSelect:!0,stackItems:!1,traditionalZoom:!1,horizontalLineClassNamesForGroup:null,onItemMove:null,onItemResize:null,onItemClick:null,onItemSelect:null,onItemDeselect:null,onItemDrag:null,onCanvasClick:null,onItemDoubleClick:null,onItemContextMenu:null,onZoom:null,verticalLineClassNamesForTime:null,moveResizeValidator:null,dayBackground:null,defaultTimeStart:null,defaultTimeEnd:null,itemTouchSendsClick:!1,style:{},className:"",keys:fm,timeSteps:mm,headerRef:()=>{},scrollRef:()=>{},visibleTimeStart:null,visibleTimeEnd:null,onTimeChange:function(t,i,s){s(t,i)},onBoundsChange:null,children:null,selected:null};let Mi=zi;const Em=e=>e.children||null,Im=1e3*10;function Mm({interval:e=Im,updateMarker:t,subscribeMarker:i,children:s}){const n=c.useRef(null),o=c.useRef(null);return c.useEffect(()=>{const{unsubscribe:a,getMarker:l}=i({type:Bt.Today,renderer:s,interval:e});return n.current=a,o.current=l,()=>{n.current&&(n.current(),n.current=null)}},[i,e,s]),c.useEffect(()=>{if(o.current){const a=o.current();t({...a,interval:e})}},[e,t]),null}function Ja(e){return r.jsx(Ui,{children:({subscribeMarker:t,updateMarker:i})=>r.jsx(Mm,{subscribeMarker:t,updateMarker:i,...e})})}Ja.displayName="TodayMarker";function Rm({date:e,children:t,updateMarker:i,subscribeMarker:s}){const n=c.useRef(null);return c.useEffect(()=>{const{unsubscribe:o,getMarker:a}=s({type:Bt.Custom,renderer:t,date:e});return n.current=a,()=>{o&&o()}},[s,e,t]),c.useEffect(()=>{if(n.current){const o=n.current();i({...o,date:e})}},[e,i]),null}function el(e){return r.jsx(Ui,{children:({subscribeMarker:t,updateMarker:i})=>r.jsx(Rm,{subscribeMarker:t,updateMarker:i,...e})})}el.displayName="CustomMarker";function zm({subscribeMarker:e,children:t}){return c.useEffect(()=>{const{unsubscribe:i}=e({type:Bt.Cursor,renderer:t});return()=>{i&&i()}},[e,t]),null}function tl(e){return r.jsx(Ui,{children:({subscribeMarker:t})=>r.jsx(zm,{subscribeMarker:t,...e})})}tl.displayName="CursorMarker";exports.Accordion=mu;exports.ActionsCell=Xs;exports.Alert=Es;exports.AlertDialog=qu;exports.Avatar=yt;exports.AvatarsCell=Mo;exports.Badge=Kt;exports.Badges=Fn;exports.BarProgress=Jt;exports.Body=Ti;exports.Button=Ce;exports.ButtonCell=Lo;exports.ButtonGroup=Uu;exports.Calendar=Zn;exports.CalendarContent=Qn;exports.CalendarGrid=As;exports.CalendarHeader=Un;exports.Caption=mr;exports.Card=ft;exports.CardsWithAside=Bn;exports.CellRenderer=Bo;exports.Checkbox=Rt;exports.CheckboxCell=Po;exports.Code=hr;exports.ColorInput=qs;exports.ColorPalette=ho;exports.ColorPicker=Ys;exports.ColorPickerContent=po;exports.ColorSwatch=co;exports.CursorMarker=tl;exports.CustomHeader=Pr;exports.CustomMarker=el;exports.CustomText=pr;exports.DateCell=Js;exports.DateHeader=Ii;exports.DateInput=Kn;exports.DatePicker=Ut;exports.DatePickerPortal=Jn;exports.Day=_n;exports.Drawer=to;exports.Dropdown=lt;exports.DropdownCell=zo;exports.Emoji=xc;exports.EmojiPicker=no;exports.EmptyTableState=tr;exports.FilterCard=To;exports.FilterForm=yd;exports.FilterList=vd;exports.Filters=Sc;exports.GroupRow=Mr;exports.HeaderCell=Vo;exports.HelperText=Ts;exports.Icon=he;exports.IconCell=Oo;exports.InlineTooltip=$i;exports.InnerButton=me;exports.Input=Ge;exports.LabelProgress=ji;exports.Lightbox=uo;exports.LinearGraphic=ka;exports.LinearGraphicSegment=jr;exports.LinkCell=Io;exports.List=tc;exports.ListAlphabetic=dc;exports.ListBase=ro;exports.ListDefault=ic;exports.ListEmpty=so;exports.ListFilters=fc;exports.ListFiltersCheckbox=mc;exports.ListHeader=_s;exports.ListItem=Bs;exports.ListItemCheckbox=Hi;exports.ListItemDefault=xt;exports.ListItemRadio=Wi;exports.ListItemToggle=Vi;exports.ListItemUser=ai;exports.ListItemWithCheckbox=Vs;exports.ListSearchInput=Hs;exports.ListSeparator=bt;exports.ListUserList=lc;exports.ListUserProfile=cc;exports.ListUsersSelect=nc;exports.ListWithCheckbox=uc;exports.ListWithDataInHover=Sr;exports.ListWithRadio=rc;exports.ListWithSeparator=sc;exports.ListWithToggle=ac;exports.Logo=Nc;exports.MessageItem=vr;exports.MessagePositions=_i;exports.Messaging=bf;exports.Modal=ls;exports.ModalProvider=$n;exports.Month=qn;exports.MonthGrid=Fs;exports.MultipleCalendarsHeader=Xn;exports.NavigationButton=ei;exports.NotificationItem=wr;exports.NotificationPositions=qi;exports.Notifier=gf;exports.PROGRESS_COLOR_MAP=En;exports.Pagination=go;exports.PickerColor=Ys;exports.Popup=Ht;exports.PrimaryCell=Us;exports.ProgressBar=Ds;exports.ProgressBarCell=$o;exports.RadioButton=vo;exports.RadioButtonGroup=Jc;exports.Rating=ed;exports.ReactCalendarTimeline=Mi;exports.RowItems=Aa;exports.SelectionCheckbox=ti;exports.Separator=qe;exports.Sidebar=Sf;exports.SidebarDivider=di;exports.SidebarHeader=Ei;exports.SidebarMenuGroup=wa;exports.SidebarMenuItem=va;exports.SidebarSectionTitle=jf;exports.SidebarUserProfile=ja;exports.SidebarWorkspaceCard=Sa;exports.Skeleton=td;exports.SkeletonCell=Qs;exports.SkeletonRow=_o;exports.Spinner=Qc;exports.StarsCell=Ao;exports.StatusCell=Ks;exports.StepConnector=ko;exports.StepIcon=So;exports.StepItem=No;exports.StepLabel=Co;exports.Stepper=sd;exports.StoryBox=li;exports.StrapiApiError=pa;exports.Switch=Si;exports.TOGGLE_DESIGN_TOKENS=oc;exports.TabContent=Vn;exports.Table=Rd;exports.TableBody=qo;exports.TableCell=Gs;exports.TableContent=Yo;exports.TableHeader=Ho;exports.TableQueryProvider=of;exports.TableRow=er;exports.TableSelectionBar=Go;exports.TableToolbar=Eo;exports.Tag=Vt;exports.TagsCell=Zs;exports.Text=gr;exports.TextFieldCell=Ro;exports.TextListIndicator=Cr;exports.TextListWithData=Na;exports.Textarea=oo;exports.Timeline=Mi;exports.TimelineHeaders=$r;exports.TimelineMarkers=Em;exports.Title=oi;exports.TitleText=fr;exports.Toaster=pf;exports.TodayMarker=Ja;exports.Toggle=Bi;exports.Toolbar=wf;exports.Tooltip=Mt;exports.Visual=St;exports.WeekDay=Gn;exports.Wysiwyg=Cc;exports.Year=Yn;exports.YearGrid=Ws;exports.advancedFilterToTeamFilter=fa;exports.buildStrapiQueryString=lr;exports.calendarUtils=Lf;exports.cn=M;exports.configureMessage=uf;exports.configureStrapiClient=_d;exports.convertAdvancedFiltersToStrapi=ma;exports.convertFilterToStrapi=ds;exports.convertFiltersToStrapiQuery=ar;exports.createNormalizer=Ad;exports.createTableQueryClient=af;exports.fetchTeams=ki;exports.fetchTeamsRaw=xa;exports.fetchTeamsWithAdvancedFilters=Ni;exports.filterRows=ua;exports.findItemIndex=xl;exports.formatDate=Wo;exports.getLockedColumns=kd;exports.getNextSortConfig=Ko;exports.getStrapiConfig=ga;exports.getVisibleColumns=Cd;exports.isAllSelected=sr;exports.isSomeSelected=Zo;exports.isStrapiConfigured=qd;exports.labelVariants=xo;exports.messageService=We;exports.moveItem=bl;exports.normalizeStrapiList=rr;exports.normalizeStrаpiItem=da;exports.normalizeTeamsResponse=or;exports.notification=yf;exports.notificationService=Xe;exports.notify=vf;exports.parseDate=Fo;exports.radioButtonVariants=bo;exports.reorder=Li;exports.reorderColumns=ea;exports.resetColumns=Sd;exports.resizeColumn=ra;exports.searchRows=ca;exports.selectAllRows=wd;exports.selectRange=jd;exports.setColumnVisibility=ia;exports.sortRows=Uo;exports.strapiClient=ui;exports.strapiDelete=Gd;exports.strapiGet=ur;exports.strapiPost=Yd;exports.strapiPut=ba;exports.teamsQueryKeys=Be;exports.throttle=yl;exports.throttleWithTrailing=vl;exports.toast=xf;exports.toggleColumnLock=sa;exports.toggleColumnVisibility=ta;exports.toggleRowSelection=Qo;exports.toggleSortDirection=ir;exports.transformTeamAttributes=nr;exports.updateTeam=dr;exports.updateTeamName=ya;exports.useAnimationState=Is;exports.useBadges=An;exports.useBodyScrollLock=Ms;exports.useCalendar=ni;exports.useClickOutside=Mn;exports.useColumnsWithQueryState=sf;exports.useDateInput=Xu;exports.useDatePicker=Hn;exports.useDateRange=Os;exports.useDebouncedCallback=nf;exports.useDebouncedValue=rf;exports.useDragAndDrop=Rs;exports.useEscapeKey=Ai;exports.useFocusTrap=zs;exports.useGetElementOnClick=Tu;exports.useInitialFocus=zn;exports.useInvalidateTeams=Zd;exports.useLightbox=lo;exports.useMessage=br;exports.useMessageService=df;exports.useMessageStyles=xr;exports.useModalContext=ri;exports.useNotification=yr;exports.useNotificationService=hf;exports.usePortal=Ls;exports.useRadioButton=yo;exports.useRadioButtonGroup=wo;exports.useResizeAndScroll=Du;exports.useStepper=jo;exports.useTableColumns=na;exports.useTableData=Od;exports.useTableEdit=la;exports.useTableExpand=oa;exports.useTableFilter=zd;exports.useTableFocus=aa;exports.useTablePagination=Ld;exports.useTableQueryState=tf;exports.useTableSelection=Jo;exports.useTableSort=Xo;exports.useTeams=Kd;exports.useTeamsTable=Qd;exports.useTeamsWithFilters=Xd;exports.useToggle=io;exports.useUpdateTeam=Jd;exports.useUpdateTeamName=ef;exports.useWysiwyg=ao;
37
+ `]}),!B&&r.jsxs("table",{className:$,style:W>0?{minWidth:`${W}px`}:void 0,children:[(t.length>0||i)&&r.jsx(Ho,{columns:e,sortConfig:o,filters:a,showSelection:n==null?void 0:n.enabled,showExpand:l,allSelected:j,someSelected:x,resizable:u,stickyHeader:p,stickyCheckbox:g,stickyActions:b,onSelectAll:T,onSort:C,onFilter:k,onLock:S,onResize:I,onResizeDoubleClick:E,onResizeHover:w}),r.jsx(qo,{rows:t,columns:e,loading:i,empty:s,selectedIds:y,expandable:l,showSelection:n==null?void 0:n.enabled,showExpand:l,stickyCheckbox:g,stickyActions:b,onRowClick:D,onRowExpand:R,onRowSelect:N,onCellFocus:z,isCellFocused:P,onCellChange:F})]}),B&&s&&r.jsx(tr,{...s})]})},Go=({selectedCount:e,selectedIds:t,actions:i=[],onClearSelection:s,selectionText:n="Seleccionados",className:o})=>{if(e===0)return null;const a=M("ui-inline-flex ui-items-center ui-gap-16","ui-bg-fill-brand","ui-px-16 ui-py-8","ui-rounded-surface-modal","ui-shadow-03",o);return r.jsxs("div",{className:a,children:[r.jsxs("span",{className:"ui-whitespace-nowrap ui-text-body-sm-regular ui-font-body-sm-regular ui-text-on-color",children:["(",e,") ",n]}),i.length>0&&r.jsx(qe,{vertical:!0,className:"ui-h-8 ui-border-on-color ui-opacity-30"}),r.jsx("div",{className:"ui-flex ui-items-center ui-gap-16",children:i.map((l,u)=>r.jsx(Ce,{theme:l.label?"solid":"icon",color:l.color||"secondary",size:"xs",icon:l.label?void 0:l.icon,leftSlot:l.label&&l.icon?l.icon:void 0,disabled:l.disabled,onClick:()=>l.onClick(t),children:l.label},`action-${u}-${l.label||l.icon}`))}),s&&r.jsxs(r.Fragment,{children:[r.jsx(qe,{vertical:!0,className:"ui-h-8 ui-border-on-color ui-opacity-30"}),r.jsx(me,{theme:"solid",color:"secondary",size:"xs",pill:"pill",iconProps:{icon:V.faXmark},onClick:s})]})]})},Uo=(e,t,i,s)=>{if(!i)return e;const n=s.find(a=>a.id===t);return n?[...e].sort((a,l)=>{const u=n.accessor?typeof n.accessor=="function"?n.accessor(a):a[n.accessor]:null,h=n.accessor?typeof n.accessor=="function"?n.accessor(l):l[n.accessor]:null;if(u==null)return 1;if(h==null)return-1;let m;return typeof u=="string"&&typeof h=="string"?m=u.localeCompare(h):typeof u=="number"&&typeof h=="number"?m=u-h:u instanceof Date&&h instanceof Date?m=u.getTime()-h.getTime():m=String(u).localeCompare(String(h)),i==="asc"?m:-m}):e},ir=e=>e===null?"asc":e==="asc"?"desc":null,Ko=(e,t)=>{if((e==null?void 0:e.columnId)===t){const i=ir(e.direction);return i?{columnId:t,direction:i}:void 0}return{columnId:t,direction:"asc"}},Xo=e=>{const[t,i]=c.useState(e),s=c.useCallback(a=>{i(l=>{if((l==null?void 0:l.columnId)===a){const u=ir(l.direction);return u?{columnId:a,direction:u}:void 0}return{columnId:a,direction:"asc"}})},[]),n=c.useCallback(()=>{i(void 0)},[]),o=c.useCallback((a,l)=>{i(l?{columnId:a,direction:l}:void 0)},[]);return{sortConfig:t,handleSort:s,clearSort:n,setSort:o}},Qo=(e,t)=>e.includes(t)?e.filter(s=>s!==t):[...e,t],wd=(e,t)=>{const i=e.map(n=>n.id);return i.every(n=>t.includes(n))?[]:i},jd=(e,t,i,s)=>{const n=t.indexOf(i),o=t.indexOf(s);if(n===-1||o===-1)return e;const a=Math.min(n,o),l=Math.max(n,o),u=t.slice(a,l+1),h=new Set([...e,...u]);return Array.from(h)},sr=(e,t)=>e.length===0?!1:e.every(i=>t.includes(i.id)),Zo=(e,t)=>t.length===0?!1:e.some(i=>t.includes(i.id))&&!sr(e,t),Jo=(e,t=!0)=>{const[i,s]=c.useState([]),n=c.useMemo(()=>sr(e,i),[e,i]),o=c.useMemo(()=>Zo(e,i),[e,i]),a=c.useCallback(d=>{if(!t){s([d.id]);return}s(f=>Qo(f,d.id))},[t]),l=c.useCallback(d=>{s(d?e.map(f=>f.id):[])},[e]),u=c.useCallback(()=>{s([])},[]),h=c.useCallback(d=>{s(d)},[]),m=c.useCallback(d=>i.includes(d),[i]);return{selectedIds:i,selectedCount:i.length,allSelected:n,someSelected:o,handleRowSelect:a,handleSelectAll:l,clearSelection:u,selectRows:h,isSelected:m}},ea=(e,t,i)=>{const s=[...e],[n]=s.splice(t,1);return s.splice(i,0,n),s},ta=(e,t)=>e.map(i=>i.id===t?{...i,visible:!i.visible}:i),ia=(e,t,i)=>e.map(s=>s.id===t?{...s,visible:i}:s),sa=(e,t)=>e.map(i=>i.id===t?{...i,locked:!i.locked}:i),ra=(e,t,i)=>e.map(s=>s.id===t?{...s,width:i}:s),Sd=e=>e.map(t=>({...t,visible:!0,locked:!1,width:t.width})),Cd=e=>e.filter(t=>t.visible!==!1),kd=e=>e.filter(t=>t.locked===!0),na=e=>{const[t,i]=c.useState(e);c.useEffect(()=>{i(m=>{const d=new Map(e.map(y=>[y.id,y])),f=new Set(m.map(y=>y.id)),p=new Set(e.map(y=>y.id)),g=f.size===p.size&&[...f].every(y=>p.has(y)),b=(y,j)=>{if(!j){const N=typeof y.width=="number"?y.width:void 0;return{...y,originalWidth:N??y.originalWidth}}const x=j.width??y.width,T=j.originalWidth??(typeof y.width=="number"?y.width:y.originalWidth);return{...y,width:x,originalWidth:T,visible:j.visible!==void 0?j.visible:y.visible,locked:j.locked??y.locked}};let v;return g?v=m.map(y=>{const j=d.get(y.id);return j?b(j,y):y}):v=e.map(y=>b(y,m.find(j=>j.id===y.id))),v.length===m.length&&v.every((y,j)=>{const x=m[j];return y.id===x.id&&y.width===x.width&&y.originalWidth===x.originalWidth&&y.visible===x.visible&&y.locked===x.locked&&y.columnOptions===x.columnOptions&&y.columnOptionsLoading===x.columnOptionsLoading&&y.editable===x.editable&&y.header===x.header})?m:v})},[e]);const s=c.useCallback(m=>{i(d=>ta(d,m))},[]),n=c.useCallback((m,d)=>{i(f=>ia(f,m,d))},[]),o=c.useCallback(m=>{i(d=>sa(d,m))},[]),a=c.useCallback((m,d)=>{i(f=>ra(f,m,d))},[]),l=c.useCallback((m,d)=>{i(f=>ea(f,m,d))},[]),u=c.useCallback(m=>{i(d=>{const f=new Map(d.map(v=>[v.id,v])),p=m.map(v=>f.get(v)).filter(v=>v!==void 0),g=new Set(m),b=d.filter(v=>!g.has(v.id));return[...p,...b]})},[]),h=c.useCallback(()=>{i(e)},[e]);return{columns:t,handleToggleVisibility:s,handleSetVisibility:n,handleToggleLock:o,handleResize:a,handleReorder:l,setColumnsOrder:u,resetColumns:h}},oa=(e=[])=>{const[t,i]=c.useState(new Set(e)),s=c.useCallback(d=>{i(f=>{const p=new Set(f);return p.has(d.id)?p.delete(d.id):p.add(d.id),p})},[]),n=c.useCallback(d=>{i(f=>new Set(f).add(d))},[]),o=c.useCallback(d=>{i(f=>{const p=new Set(f);return p.delete(d),p})},[]),a=c.useCallback(d=>{i(f=>{const p=new Set(f);return p.has(d)?p.delete(d):p.add(d),p})},[]),l=c.useCallback(d=>{const f=d.filter(p=>p.isParent).map(p=>p.id);i(new Set(f))},[]),u=c.useCallback(()=>{i(new Set)},[]),h=c.useCallback(d=>t.has(d),[t]),m=c.useCallback(d=>d.map(f=>({...f,expanded:t.has(f.id)})),[t]);return{expandedIds:Array.from(t),expandedCount:t.size,handleRowExpand:s,expandRow:n,collapseRow:o,toggleRow:a,expandAll:l,collapseAll:u,isExpanded:h,applyExpandedState:m}},aa=()=>{const[e,t]=c.useState(null),i=c.useCallback((o,a)=>{t({rowId:o,columnId:a})},[]),s=c.useCallback(()=>{t(null)},[]),n=c.useCallback((o,a)=>e?e.rowId===o&&e.columnId===a:!1,[e]);return{focusedCell:e,handleCellFocus:i,handleCellBlur:s,isCellFocused:n}},pi=e=>({columnId:e.columnId,operator:e.operator,value:e.value,value2:e.value2}),Nd=({initialFilters:e=[],onFiltersChange:t}={})=>{const[i,s]=c.useState(()=>e.map((h,m)=>({id:`filter-${m}`,columnId:h.columnId,columnLabel:h.columnId,operator:h.operator,value:h.value,value2:h.value2}))),n=c.useCallback(h=>{const m={...h,id:`filter-${Date.now()}-${Math.random()}`};s(d=>{const f=[...d,m];return t==null||t(f.map(pi)),f})},[t]),o=c.useCallback((h,m)=>{s(d=>{const f=d.map(p=>p.id===h?{...p,...m}:p);return t==null||t(f.map(pi)),f})},[t]),a=c.useCallback(h=>{s(m=>{const d=m.filter(f=>f.id!==h);return t==null||t(d.map(pi)),d})},[t]),l=c.useCallback(()=>{s([]),t==null||t([])},[t]),u=c.useCallback(h=>{s(h),t==null||t(h.map(pi))},[t]);return{filters:i,addFilter:n,updateFilter:o,removeFilter:a,clearFilters:l,setAllFilters:u}},la=(e={})=>{const{externalEditingRowIds:t,onEditingRowIdsChange:i,onEditModeChange:s}=e,[n,o]=c.useState(new Set);c.useEffect(()=>{t!==void 0&&o(new Set(t))},[t]);const a=c.useMemo(()=>t!==void 0?new Set(t):n,[t,n]),l=c.useCallback(g=>{i&&i(Array.from(g))},[i]),u=c.useCallback(g=>{const b=new Set(a),v=b.has(g);v?b.delete(g):b.add(g),s&&s(g,!v),t!==void 0?l(b):o(b)},[a,t,l,s]),h=c.useCallback(g=>{const b=new Set(a),v=b.has(g);b.add(g),!v&&s&&s(g,!0),t!==void 0?l(b):o(b)},[a,t,l,s]),m=c.useCallback(g=>{const b=new Set(a),v=b.has(g);b.delete(g),v&&s&&s(g,!1),t!==void 0?l(b):o(b)},[a,t,l,s]),d=c.useCallback(()=>{t!==void 0?l(new Set):o(new Set)},[t,l]),f=c.useCallback(g=>a.has(g),[a]),p=c.useCallback(g=>g.map(b=>({...b,_isEditing:a.has(b.id)})),[a]);return{editingRowIds:a,toggleRowEdit:u,startEdit:h,stopEdit:m,stopAllEdits:d,isRowEditing:f,applyEditState:p}},on=1,Td="table-config-",Dd=({configKey:e,persistConfig:t=!1,initialColumns:i,initialSort:s,initialFilters:n=[],onConfigChange:o})=>{const a=e?`${Td}${e}`:null,l=c.useCallback(()=>({version:on,updatedAt:new Date().toISOString(),columns:i.map((k,S)=>({id:k.id,order:S,visible:k.visible!==!1,locked:k.locked||!1,width:k.width})),sort:s,filters:n}),[i,s,n]),u=c.useCallback(()=>{if(!a||!t)return null;try{const k=localStorage.getItem(a);if(!k)return null;const S=JSON.parse(k);return S.version!==on?(process.env.NODE_ENV!=="production"&&console.warn(`[useTableConfig] Config version mismatch, resetting config for ${e}`),null):S}catch(k){return process.env.NODE_ENV!=="production"&&console.error(`[useTableConfig] Error loading config for ${e}:`,k),null}},[a,t,e]),h=c.useCallback(k=>{if(!(!a||!t))try{localStorage.setItem(a,JSON.stringify(k))}catch(S){process.env.NODE_ENV!=="production"&&console.error(`[useTableConfig] Error saving config for ${e}:`,S)}},[a,t,e]),[m,d]=c.useState(()=>u()||l());c.useEffect(()=>{u()||d(l())},[i.length]);const f=c.useCallback((k,S)=>{d(I=>{const E={...I,...k,updatedAt:new Date().toISOString()};return h(E),o==null||o(E,S),E})},[h,o]),p=c.useCallback(()=>{const k=new Map(i.map(E=>[E.id,E])),S=[],I=new Set(m.columns.map(E=>E.id));return m.columns.sort((E,w)=>E.order-w.order).forEach(E=>{const w=k.get(E.id);w&&S.push({...w,visible:E.visible,locked:E.locked,width:E.width??w.width})}),i.forEach(E=>{I.has(E.id)||S.push(E)}),S},[i,m.columns]),g=c.useCallback(k=>{const S=k.map((I,E)=>{const w=m.columns.find(D=>D.id===I.id);return{id:I.id,order:E,visible:(w==null?void 0:w.visible)??I.visible!==!1,locked:I.locked||(w==null?void 0:w.locked)||!1,width:I.width??(w==null?void 0:w.width)}});f({columns:S},"column-reorder")},[m.columns,f]),b=c.useCallback((k,S)=>{const I=m.columns.map(E=>E.id===k?{...E,visible:S}:E);f({columns:I},"column-visibility")},[m.columns,f]),v=c.useCallback(k=>{const S=new Map(k.map(E=>[E.columnId,E.visible])),I=m.columns.map(E=>S.has(E.id)?{...E,visible:S.get(E.id)}:E);f({columns:I},"column-visibility")},[m.columns,f]),y=c.useCallback((k,S)=>{const I=m.columns.map(E=>E.id===k?{...E,locked:S}:E);if(S){const E=I.filter(R=>R.locked),w=I.filter(R=>!R.locked),D=[...E,...w].map((R,z)=>({...R,order:z}));f({columns:D},"column-lock")}else f({columns:I},"column-lock")},[m.columns,f]),j=c.useCallback((k,S)=>{const I=m.columns.map(E=>E.id===k?{...E,width:S}:E);f({columns:I},"column-resize")},[m.columns,f]),x=c.useCallback(k=>{f({sort:k},"sort")},[f]),T=c.useCallback(k=>{f({filters:k},"filter")},[f]),N=c.useCallback(()=>{const k=l();d(k),a&&t&&localStorage.removeItem(a),o==null||o(k,"reset")},[l,a,t,o]);return{columns:c.useMemo(()=>p(),[p]),sort:m.sort,filters:m.filters||[],updateColumnOrder:g,updateColumnVisibility:b,updateMultipleColumnVisibility:v,updateColumnLock:y,updateColumnWidth:j,updateSort:x,updateFilters:T,resetConfig:N,currentConfig:m}},Fe=e=>!e||typeof e!="string"?!1:/^\d{4}-\d{2}-\d{2}/.test(e),Gt=e=>{const[t,i,s]=e.split("T")[0].split("-").map(Number);return new Date(t,i-1,s)},Dt=(e,t,i)=>{const s=Gt(String(e)),n=Gt(String(t)),o=s.getTime(),a=n.getTime();switch(i){case"equals":return o===a;case"notEquals":return o!==a;case"gt":case"afterDate":return o>a;case"gte":return o>=a;case"lt":case"beforeDate":return o<a;case"lte":return o<=a;default:return!1}},Ed=e=>{const t=new Date,i=new Date(t.getFullYear(),t.getMonth(),t.getDate());switch(e){case"thisMonth":{const s=new Date(t.getFullYear(),t.getMonth(),1),n=new Date(t.getFullYear(),t.getMonth()+1,0);return{start:s,end:n}}case"lastMonth":{const s=new Date(t.getFullYear(),t.getMonth()-1,1),n=new Date(t.getFullYear(),t.getMonth(),0);return{start:s,end:n}}case"thisYear":{const s=new Date(t.getFullYear(),0,1),n=new Date(t.getFullYear(),11,31);return{start:s,end:n}}case"lastYear":{const s=new Date(t.getFullYear()-1,0,1),n=new Date(t.getFullYear()-1,11,31);return{start:s,end:n}}default:return{start:i,end:i}}},Id=(e,t)=>{if(!Fe(e))return!1;const i=Gt(String(e)),{start:s,end:n}=Ed(t),o=i.getTime(),a=s.getTime(),l=n.getTime();return o>=a&&o<=l},an=(e,t,i,s)=>{const n=e==null||e==="";switch(t){case"isEmpty":return n;case"isNotEmpty":return!n;case"equals":return n&&(i==null||i==="")?!0:Fe(e)&&Fe(i)?Dt(e,i,"equals"):String(e).toLowerCase()===String(i).toLowerCase();case"notEquals":return n&&(i==null||i==="")?!1:Fe(e)&&Fe(i)?Dt(e,i,"notEquals"):String(e).toLowerCase()!==String(i).toLowerCase();case"in":if(n||!Array.isArray(i))return!1;if(Array.isArray(e))return e.some(u=>{const h=typeof u=="object"&&u!==null?u.name||u.label||u.value||u.id||JSON.stringify(u):String(u);return i.some(m=>String(m).toLowerCase()===String(h).toLowerCase())});if(typeof e=="object"&&e!==null&&!Array.isArray(e)){const u=e,h=u.name&&String(u.name)||u.label&&String(u.label)||u.value&&String(u.value)||u.id&&String(u.id)||JSON.stringify(e);return i.some(m=>String(m).toLowerCase()===String(h).toLowerCase())}return i.some(u=>String(u).toLowerCase()===String(e).toLowerCase());case"contains":return n?!1:String(e).toLowerCase().includes(String(i).toLowerCase());case"notContains":return n?!0:!String(e).toLowerCase().includes(String(i).toLowerCase());case"startsWith":return n?!1:String(e).toLowerCase().startsWith(String(i).toLowerCase());case"endsWith":return n?!1:String(e).toLowerCase().endsWith(String(i).toLowerCase());case"gt":return n?!1:Fe(e)&&Fe(i)?Dt(e,i,"gt"):Number(e)>Number(i);case"gte":return n?!1:Fe(e)&&Fe(i)?Dt(e,i,"gte"):Number(e)>=Number(i);case"lt":return n?!1:Fe(e)&&Fe(i)?Dt(e,i,"lt"):Number(e)<Number(i);case"lte":return n?!1:Fe(e)&&Fe(i)?Dt(e,i,"lte"):Number(e)<=Number(i);case"between":if(n)return!1;if(Fe(e)&&Fe(i)&&Fe(s)){const u=Gt(String(e)),h=Gt(String(i)),m=Gt(String(s)),d=u.getTime(),f=Math.min(h.getTime(),m.getTime()),p=Math.max(h.getTime(),m.getTime());return d>=f&&d<=p}const o=Number(e),a=Math.min(Number(i),Number(s)),l=Math.max(Number(i),Number(s));return o>=a&&o<=l;case"afterDate":return n||!Fe(e)||!Fe(i)?!1:Dt(e,i,"afterDate");case"beforeDate":return n||!Fe(e)||!Fe(i)?!1:Dt(e,i,"beforeDate");case"thisMonth":case"lastMonth":case"thisYear":case"lastYear":return n?!1:Id(e,t);default:return!0}},ln=(e,t,i)=>{const s=i.find(n=>n.id===t);if(s)return s.accessor?typeof s.accessor=="function"?s.accessor(e):e[s.accessor]:e[t]},Md=(e,t,i)=>t.length===0?e:e.filter(s=>{if(t.length===1){const o=ln(s,t[0].columnId,i);return an(o,t[0].operator,t[0].value,t[0].value2)}let n=!1;for(let o=0;o<t.length;o++){const a=t[o],l=ln(s,a.columnId,i),u=an(l,a.operator,a.value,a.value2);if(o===0)n=u;else{const m=t[o-1].logicOperator||"and";m==="and"?n=n&&u:m==="or"&&(n=n||u)}}return n}),Rd=({columns:e,rows:t,loading:i=!1,empty:s={title:"Aun no hay nada aquí...",description:"Aun no hay contenido disponible por aquí para mostrar."},selection:n,pagination:o,toolbar:a,sort:l,filters:u=[],expandable:h=!1,resizable:m=!1,striped:d=!1,bordered:f=!1,borderable:p=!1,hoverable:g=!0,dense:b=!1,stickyHeader:v=!0,stickyCheckbox:y=!0,stickyActions:j=!0,showEditActions:x,configKey:T,persistConfig:N=!1,onConfigChange:C,className:k,onSort:S,onFilter:I,onColumnResize:E,onColumnReorder:w,onColumnVisibilityChange:D,onRowClick:R,onRowExpand:z,onHandleChange:P,editingRowIds:F,onEditingRowIdsChange:W,onEditModeChange:$,onSuccessComplete:O})=>{const B=c.useRef(null),[_,Q]=c.useState(null),ie=c.useRef(new Set),Z=c.useRef(new Set),L=Dd({configKey:T,persistConfig:N,initialColumns:e,initialSort:l,initialFilters:u,onConfigChange:C}),A=N&&T?L.columns:e,q=c.useMemo(()=>A.some(X=>X.editable&&X.editable!=="none"),[A]),se=c.useMemo(()=>{if(x===!1||!q)return A;const X=A.findIndex(be=>be.type==="actions"&&be.id!=="_editActions");if(X!==-1){const be=A[X],ye=be.render,Ne={...be,render:(Ue,dt,$t)=>{const Pt=ye?ye(Ue,dt,$t):[],Ki=Array.isArray(Pt)?Pt:[];return[{icon:dt._isEditing?V.faCheck:V.faPen,tooltip:dt._isEditing?"Guardar":"Editar",color:dt._isEditing?"secondary":"tertiary",onClick:()=>{dt._toggleEdit&&dt._toggleEdit()}},...Ki]}},tt=[...A];return tt[X]=Ne,tt}const ae={id:"_editActions",header:"Acciones",type:"actions",width:120,sortable:!1,filterable:!1,lockable:!1,resizable:!1,editable:"none",render:(be,ye)=>[{icon:ye._isEditing?V.faCheck:V.faPen,tooltip:ye._isEditing?"Guardar ":"Editar",onClick:()=>{ye._toggleEdit&&ye._toggleEdit()}}]};return[...A,ae]},[A,q,x]),ce=c.useMemo(()=>se.map(X=>X.width===void 0&&X.resizable!==!1?{...X,resizable:!0}:X),[se]),{columns:le,handleSetVisibility:pe,handleToggleLock:ge,handleResize:ve,setColumnsOrder:U}=na(ce),{sortConfig:Y,handleSort:K}=Xo(l),{selectedIds:te,selectedCount:H,allSelected:J,someSelected:ee,handleRowSelect:ne,handleSelectAll:re,clearSelection:de}=Jo(t,n==null?void 0:n.multiple),{handleRowExpand:Te,applyExpandedState:je}=oa(),{handleCellFocus:ze,handleCellBlur:Se,isCellFocused:Le}=aa(),{filters:Re,setAllFilters:Ve}=Nd({initialFilters:u,onFiltersChange:I}),{toggleRowEdit:ke,applyEditState:et}=la({externalEditingRowIds:F,onEditingRowIdsChange:W,onEditModeChange:$}),[De,zt]=c.useState("");c.useEffect(()=>{const X=ae=>{B.current&&!B.current.contains(ae.target)&&Se()};return document.addEventListener("mousedown",X),()=>{document.removeEventListener("mousedown",X)}},[Se]);const Ct=c.useRef(Re.length),ht=c.useRef(De);c.useEffect(()=>{var be;const X=Ct.current!==Re.length,ae=ht.current!==De;o!=null&&o.enabled&&(X||ae)&&o.currentPage!==1&&((be=o==null?void 0:o.onPageChange)==null||be.call(o,1)),Ct.current=Re.length,ht.current=De},[Re.length,De,o]);const ut=c.useMemo(()=>{if(!De.trim()||!((a==null?void 0:a.internalSearch)??!1))return t;const ae=De.toLowerCase().trim();return t.filter(be=>le.some(ye=>{if(ye.visible===!1)return!1;let Ne;return typeof ye.accessor=="function"?Ne=ye.accessor(be):ye.accessor&&(Ne=be[ye.accessor]),Ne!==null?String(Ne).toLowerCase().includes(ae):!1}))},[t,De,le,a==null?void 0:a.internalSearch]),rt=c.useMemo(()=>Re.length===0||!((a==null?void 0:a.internalFilters)??!1)?ut:Md(ut,Re,le),[ut,Re,le,a==null?void 0:a.internalFilters]),nt=c.useMemo(()=>!Y||!Y.direction?rt:[...rt].sort((X,ae)=>{const be=le.find(Pt=>Pt.id===Y.columnId);if(!be)return 0;let ye,Ne;if(typeof be.accessor=="function")ye=be.accessor(X),Ne=be.accessor(ae);else if(be.accessor)ye=X[be.accessor],Ne=ae[be.accessor];else return 0;const tt=ye==null,Ue=Ne==null;if(tt&&Ue)return 0;if(tt)return Y.direction==="asc"?1:-1;if(Ue)return Y.direction==="asc"?-1:1;const dt=ye,$t=Ne;return dt<$t?Y.direction==="asc"?-1:1:dt>$t?Y.direction==="asc"?1:-1:0}),[rt,Y,le]),ct=nt.length,vt=c.useMemo(()=>{if(!(o!=null&&o.enabled))return nt;const X=o.currentPage||1,ae=o.pageSize||10,be=!((a==null?void 0:a.internalSearch)??!1),ye=!((a==null?void 0:a.internalFilters)??!1);if(o.total!==void 0&&o.total!==ct||be&&ye)return nt;const tt=(X-1)*ae,Ue=tt+ae;return nt.slice(tt,Ue)},[nt,o,ct,a==null?void 0:a.internalSearch,a==null?void 0:a.internalFilters]),Lt=je(vt),pt=c.useMemo(()=>et(Lt).map(ae=>({...ae,_toggleEdit:()=>ke(ae.id)})),[Lt,et,ke]),Xt=c.useMemo(()=>{if(pt.length>0)return s;const X=De.trim().length>0,ae=Re.length>0;return t.length===0&&!X&&!ae?{...s,type:s.type||"empty"}:X&&(ut.length===0||pt.length===0)?{type:"no-results",title:`No hay resultados para "${De}"`,description:void 0,action:s.action}:ae&&rt.length===0?{type:"no-filters",title:void 0,description:void 0,action:s.action}:s},[s,pt.length,De,Re.length,t.length,ut.length,rt.length]),kt=X=>{const ae=Ko(Y,X);K(X),S==null||S(ae),N&&T&&ae&&L.updateSort(ae)},oe=X=>{},we=X=>{ge(X);const ae=le.find(be=>be.id===X);N&&T&&ae&&L.updateColumnLock(X,!ae.locked)},Pe=(X,ae)=>{ve(X,ae),E==null||E(X,ae),N&&T&&L.updateColumnWidth(X,ae)},G=X=>{if(le.find(be=>be.id===X)&&B.current){const be=B.current.querySelector(`th[data-column-id="${X}"]`),ye=B.current.querySelectorAll(`td[data-column-id="${X}"]`);if(be||ye.length>0){let Ne=0;if(be){const Ue=be.querySelector(".ui-truncate");Ue&&(Ne=Math.max(Ne,Ue.scrollWidth+80))}ye.forEach(Ue=>{Ne=Math.max(Ne,Ue.scrollWidth+32)});const tt=Math.min(Math.max(Ne,100),500);ve(X,tt),E==null||E(X,tt)}}},Ee=(X,ae)=>{Q(ae?X:null)},ot=X=>{var ae;zt(X),(ae=a==null?void 0:a.onSearch)==null||ae.call(a,X)},ue=(X,ae)=>{pe(X,ae),D==null||D(X,ae),N&&T&&L.updateColumnVisibility(X,ae)},fe=X=>{X.forEach(({columnId:ae,visible:be})=>{pe(ae,be),D==null||D(ae,be)}),N&&T&&L.updateMultipleColumnVisibility(X)},Ie=X=>{const ae=X.map(be=>be.id);U(ae),w==null||w(X),N&&T&&L.updateColumnOrder(X)},Me=X=>{Te(X),z==null||z(X)},Oe=(X,ae,be)=>{ie.current.add(X);const ye=t.find(Ne=>Ne.id===X);P&&P(X,ae,be,ye)};c.useEffect(()=>{if(!O)return;const X=new Set(F||[]),ae=Z.current,be=[];if(ae.forEach(ye=>{X.has(ye)||be.push(ye)}),be.length>0){const ye=be.filter(Ne=>ie.current.has(Ne));ye.length>0&&(O(ye),ye.forEach(Ne=>{ie.current.delete(Ne)}))}Z.current=new Set(X)},[F,O]);const _t=X=>{var ae;(ae=o==null?void 0:o.onPageChange)==null||ae.call(o,X)},qt=X=>{var ae;(ae=o==null?void 0:o.onPageSizeChange)==null||ae.call(o,X)},Qt=M("ui-imj ui-relative ui-flex ui-h-full ui-w-full ui-max-w-full ui-flex-col ui-overflow-hidden ui-bg-fill ui-rounded-surface-sheet ui-p-16",p&&"ui-border ui-border-default",k),fi=X=>{Ve(X),!((a==null?void 0:a.internalFilters)??!1)&&I&&I(X)};return r.jsxs("div",{ref:B,className:Qt,children:[a&&r.jsx(Eo,{...a,showFilters:a.showFilters??!0,selectedCount:H,selectedIds:te,columns:le,rows:t,filters:Re,onSearch:ot,onColumnVisibilityChange:ue,onMultipleColumnVisibilityChange:fe,onColumnReorder:Ie,onFiltersApply:fi}),r.jsx("div",{className:"ui-flex-1 ui-min-h-0 ui-min-w-0 ui-overflow-hidden",children:r.jsx(Yo,{columns:le,rows:pt,loading:i,empty:Xt,selection:n,sort:Y,filters:Re,expandable:h,resizable:m,resizeHoverColumnId:_,striped:d,bordered:f,hoverable:g,dense:b,stickyHeader:v,stickyCheckbox:y,stickyActions:j,selectedIds:te,allSelected:J,someSelected:ee,onSelectAll:re,onRowSelect:ne,onSort:kt,onFilter:oe,onLock:we,onResize:Pe,onResizeDoubleClick:G,onResizeHover:Ee,onRowClick:R,onRowExpand:Me,onCellFocus:ze,isCellFocused:Le,onCellChange:Oe})}),(n==null?void 0:n.showSelectionBar)&&H>0&&r.jsx("div",{className:M("ui-pointer-events-none ui-absolute ui-left-0 ui-right-0 ui-z-50 ui-flex ui-justify-center",o!=null&&o.enabled?"ui-bottom-20":"ui-bottom-8"),children:r.jsx(Go,{selectedCount:H,selectedIds:te,actions:n.actions,selectionText:n.selectionText,onClearSelection:n.showClearSelection?de:void 0,className:"ui-pointer-events-auto"})}),(o==null?void 0:o.enabled)&&pt.length>0&&r.jsx(go,{currentPage:o.currentPage||1,pageCount:Math.ceil((o.total!==void 0?o.total:ct)/(o.pageSize||10)),pageSize:o.pageSize||10,total:o.total!==void 0?o.total:ct,onPageChange:_t,handlePageSize:qt,showVisiblePages:!0,showPagesSelector:!0})]})},zd=(e=[])=>{const[t,i]=c.useState(e),[s,n]=c.useState(""),o=c.useCallback(m=>{i(d=>{const f=d.findIndex(p=>p.columnId===m.columnId);if(f>=0){const p=[...d];return p[f]=m,p}return[...d,m]})},[]),a=c.useCallback(m=>{i(d=>d.filter(f=>f.columnId!==m))},[]),l=c.useCallback(()=>{i([]),n("")},[]),u=c.useCallback((m,d)=>{i(f=>f.map(p=>p.columnId===m?{...p,...d}:p))},[]),h=t.length>0||s.length>0;return{filters:t,searchQuery:s,setSearchQuery:n,addFilter:o,removeFilter:a,clearFilters:l,updateFilter:u,hasActiveFilters:h}},Ld=(e,t=10,i=1)=>{const[s,n]=c.useState(i),[o,a]=c.useState(t),l=c.useMemo(()=>Math.ceil(e/o),[e,o]),u=c.useCallback(v=>{v>=1&&v<=l&&n(v)},[l]),h=c.useCallback(v=>{a(v),n(1)},[]),m=c.useCallback(()=>{u(s+1)},[s,u]),d=c.useCallback(()=>{u(s-1)},[s,u]),f=c.useCallback(()=>{n(1)},[]),p=c.useCallback(()=>{n(l)},[l]),g=(s-1)*o,b=Math.min(g+o,e);return{currentPage:s,pageSize:o,pageCount:l,startIndex:g,endIndex:b,handlePageChange:u,handlePageSizeChange:h,nextPage:m,previousPage:d,firstPage:f,lastPage:p,hasNextPage:s<l,hasPreviousPage:s>1}},Ae=e=>!e||typeof e!="string"?!1:/^\d{4}-\d{2}-\d{2}/.test(e),$e=e=>{const[t,i,s]=e.split("T")[0].split("-").map(Number);return new Date(t,i-1,s)},$d=e=>{const t=new Date,i=new Date(t.getFullYear(),t.getMonth(),t.getDate());switch(e){case"thisMonth":{const s=new Date(t.getFullYear(),t.getMonth(),1),n=new Date(t.getFullYear(),t.getMonth()+1,0);return{start:s,end:n}}case"lastMonth":{const s=new Date(t.getFullYear(),t.getMonth()-1,1),n=new Date(t.getFullYear(),t.getMonth(),0);return{start:s,end:n}}case"thisYear":{const s=new Date(t.getFullYear(),0,1),n=new Date(t.getFullYear(),11,31);return{start:s,end:n}}case"lastYear":{const s=new Date(t.getFullYear()-1,0,1),n=new Date(t.getFullYear()-1,11,31);return{start:s,end:n}}default:return{start:i,end:i}}},ua=(e,t,i)=>t.length===0?e:e.filter(s=>t.every(n=>{const o=i.find(l=>l.id===n.columnId);if(!o)return!0;const a=o.accessor?typeof o.accessor=="function"?o.accessor(s):s[o.accessor]:null;return Pd(a,n)})),Pd=(e,t)=>{const i=t.value,s=e==null||e==="";switch(t.operator){case"isEmpty":return s;case"isNotEmpty":return!s}if(s)return!1;const n=String(e).toLowerCase(),o=String(i).toLowerCase();switch(t.operator){case"equals":return Ae(e)&&Ae(i)?$e(e).getTime()===$e(i).getTime():n===o;case"notEquals":return Ae(e)&&Ae(i)?$e(e).getTime()!==$e(i).getTime():n!==o;case"contains":return n.includes(o);case"notContains":return!n.includes(o);case"startsWith":return n.startsWith(o);case"endsWith":return n.endsWith(o);case"gt":return Ae(e)&&Ae(i)?$e(e).getTime()>$e(i).getTime():Number(e)>Number(i);case"gte":return Ae(e)&&Ae(i)?$e(e).getTime()>=$e(i).getTime():Number(e)>=Number(i);case"lt":return Ae(e)&&Ae(i)?$e(e).getTime()<$e(i).getTime():Number(e)<Number(i);case"lte":return Ae(e)&&Ae(i)?$e(e).getTime()<=$e(i).getTime():Number(e)<=Number(i);case"between":if(!t.value2)return!1;if(Ae(e)&&Ae(i)&&Ae(t.value2)){const h=$e(e).getTime(),m=Math.min($e(i).getTime(),$e(t.value2).getTime()),d=Math.max($e(i).getTime(),$e(t.value2).getTime());return h>=m&&h<=d}const a=Number(e),l=Math.min(Number(i),Number(t.value2)),u=Math.max(Number(i),Number(t.value2));return a>=l&&a<=u;case"in":return Array.isArray(i)?Array.isArray(e)?e.some(h=>i.some(m=>String(m).toLowerCase()===String(h).toLowerCase())):i.some(h=>String(h).toLowerCase()===n):!1;case"afterDate":return!Ae(e)||!Ae(i)?!1:$e(e).getTime()>$e(i).getTime();case"beforeDate":return!Ae(e)||!Ae(i)?!1:$e(e).getTime()<$e(i).getTime();case"thisMonth":case"lastMonth":case"thisYear":case"lastYear":{if(!Ae(e))return!1;const h=$e(e),{start:m,end:d}=$d(t.operator),f=h.getTime();return f>=m.getTime()&&f<=d.getTime()}default:return!0}},ca=(e,t,i)=>{if(!t.trim())return e;const s=t.toLowerCase();return e.filter(n=>i.some(o=>{const a=o.accessor?typeof o.accessor=="function"?o.accessor(n):n[o.accessor]:null;return a==null?!1:String(a).toLowerCase().includes(s)}))},Od=({rows:e,columns:t,sortConfig:i,filters:s=[],searchQuery:n="",currentPage:o=1,pageSize:a})=>{const l=c.useMemo(()=>{let h=[...e];return n&&(h=ca(h,n,t)),s.length>0&&(h=ua(h,s,t)),i&&(h=Uo(h,i.columnId,i.direction,t)),h},[e,t,i,s,n]),u=c.useMemo(()=>{if(!a)return l;const h=(o-1)*a,m=h+a;return l.slice(h,m)},[l,o,a]);return{processedRows:l,paginatedRows:u,totalRows:l.length}};function da(e,t){return t(e.id,e.attributes)}function rr(e,t){return e.data.map(i=>da(i,t))}function nr(e,t){return{id:e,nombre:t.nombre,color:t.color,createdAt:new Date(t.createdAt),updatedAt:new Date(t.updatedAt)}}function or(e){return{data:rr(e,nr),pagination:{page:e.meta.pagination.page,pageSize:e.meta.pagination.pageSize,pageCount:e.meta.pagination.pageCount,total:e.meta.pagination.total}}}function Ad(e){return t=>({data:rr(t,e),pagination:{page:t.meta.pagination.page,pageSize:t.meta.pagination.pageSize,pageCount:t.meta.pagination.pageCount,total:t.meta.pagination.total}})}const Fd={equals:"$eq",notEquals:"$ne",contains:"$containsi",notContains:"$notContainsi",startsWith:"$startsWithi",endsWith:"$endsWithi",gt:"$gt",gte:"$gte",lt:"$lt",lte:"$lte",between:"$between",in:"$in",isEmpty:"$null",isNotEmpty:"$notNull",afterDate:"$gt",beforeDate:"$lt",thisMonth:"$gte",lastMonth:"$gte",thisYear:"$gte",lastYear:"$gte"};function Wd(){const e=new Date,t=new Date(e.getFullYear(),e.getMonth(),1),i=new Date(e.getFullYear(),e.getMonth()+1,0);return{start:t.toISOString().split("T")[0],end:i.toISOString().split("T")[0]}}function Bd(){const e=new Date,t=new Date(e.getFullYear(),e.getMonth()-1,1),i=new Date(e.getFullYear(),e.getMonth(),0);return{start:t.toISOString().split("T")[0],end:i.toISOString().split("T")[0]}}function Vd(){const e=new Date;return{start:`${e.getFullYear()}-01-01`,end:`${e.getFullYear()}-12-31`}}function Hd(){const t=new Date().getFullYear()-1;return{start:`${t}-01-01`,end:`${t}-12-31`}}function ds(e){const{field:t,operator:i,value:s,value2:n}=e,o=Fd[i];if(i==="thisMonth"){const a=Wd();return{[t]:{$gte:a.start,$lte:a.end}}}if(i==="lastMonth"){const a=Bd();return{[t]:{$gte:a.start,$lte:a.end}}}if(i==="thisYear"){const a=Vd();return{[t]:{$gte:a.start,$lte:a.end}}}if(i==="lastYear"){const a=Hd();return{[t]:{$gte:a.start,$lte:a.end}}}return i==="between"&&n!==void 0?{[t]:{$gte:s,$lte:n}}:i==="isEmpty"?{[t]:{$null:!0}}:i==="isNotEmpty"?{[t]:{$notNull:!0}}:{[t]:{[o]:s}}}function fa(e){return{field:e.columnId,operator:e.operator,value:e.value,value2:e.value2,logicOperator:e.logicOperator}}function ar(e){if(e.length===0)return{};if(e.length===1)return ds(e[0]);const t=[];let i=[];return e.forEach((s,n)=>{const o=ds(s);i.push(o),s.logicOperator==="or"&&n<e.length-1&&(t.push([...i]),i=[])}),i.length>0&&t.push(i),t.length===1?Object.assign({},...t[0]):{$or:t.map(s=>s.length===1?s[0]:{$and:s})}}function ma(e){const t=e.map(fa);return ar(t)}function lr(e){const t=new URLSearchParams;if(e.page!==void 0&&t.append("pagination[page]",e.page.toString()),e.pageSize!==void 0&&t.append("pagination[pageSize]",e.pageSize.toString()),e.sort){const i=e.sortDirection==="desc"?":desc":":asc";t.append("sort",`${e.sort}${i}`)}return e.filters&&Object.keys(e.filters).length>0&&ha(t,e.filters,"filters"),t.toString()}function ha(e,t,i){Object.entries(t).forEach(([s,n])=>{const o=`${i}[${s}]`;n!=null&&(Array.isArray(n)?n.forEach((a,l)=>{e.append(`${o}[${l}]`,String(a))}):typeof n=="object"?ha(e,n,o):e.append(o,String(n)))})}let Ci=null;class pa extends Error{constructor(t,i,s,n){super(t),this.status=i,this.statusText=s,this.data=n,this.name="StrapiApiError"}}function _d(e){Ci=e}function ga(){if(!Ci)throw new Error("Strapi client not configured. Call configureStrapiClient() first.");return Ci}function qd(){return Ci!==null}async function ui(e,t={}){const i=ga(),s=e.startsWith("http")?e:`${i.baseUrl}${e.startsWith("/")?e:`/${e}`}`,n={"Content-Type":"application/json",Authorization:`Bearer ${i.token}`,...t.headers},o=await fetch(s,{...t,headers:n});if(!o.ok){let a;try{a=await o.json()}catch{a=await o.text()}throw new pa(`API Error: ${o.status} ${o.statusText}`,o.status,o.statusText,a)}return o.json()}async function ur(e,t){const i=t?`${e}?${t}`:e;return ui(i,{method:"GET"})}async function Yd(e,t){return ui(e,{method:"POST",body:JSON.stringify(t)})}async function ba(e,t){return ui(e,{method:"PUT",body:JSON.stringify(t)})}async function Gd(e){return ui(e,{method:"DELETE"})}const cr="/api/equipos";async function xa(e){const t=Ud(e);return ur(cr,t)}async function ki(e){const t=await xa(e);return or(t)}async function Ni(e,t){const i=ma(e),s=lr({filters:i,sort:t==null?void 0:t.sortField,sortDirection:t==null?void 0:t.sortDirection,page:t==null?void 0:t.page,pageSize:t==null?void 0:t.pageSize}),n=await ur(cr,s);return or(n)}function Ud(e){if(!e)return"";const{page:t,pageSize:i,sortField:s,sortDirection:n,filters:o,search:a}=e;let l={};return o&&o.length>0&&(l=ar(o)),a&&a.trim()&&(l={...l,nombre:{$containsi:a.trim()}}),lr({filters:l,sort:s,sortDirection:n,page:t,pageSize:i})}async function dr(e,t){const i=await ba(`${cr}/${e}`,{data:t});return nr(i.data.id,i.data.attributes)}async function ya(e,t){return dr(e,{nombre:t})}const Be={all:["teams"],lists:()=>[...Be.all,"list"],list:e=>[...Be.lists(),e],details:()=>[...Be.all,"detail"],detail:e=>[...Be.details(),e]};function Kd(e,t){return at.useQuery({queryKey:Be.list(e),queryFn:()=>ki(e),staleTime:1e3*60*5,...t})}function Xd(e,t,i){return at.useQuery({queryKey:[...Be.lists(),"filtered",{advancedFilters:e,params:t}],queryFn:()=>Ni(e,t),staleTime:1e3*60*5,...i})}function Qd(e={}){var p,g;const{page:t=1,pageSize:i=10,sortField:s,sortDirection:n="asc",filters:o=[],search:a,enabled:l=!0}=e,u=at.useQueryClient(),h=at.useQuery({queryKey:[...Be.lists(),"table",{page:t,pageSize:i,sortField:s,sortDirection:n,filters:o,search:a}],queryFn:async()=>o.length>0?Ni(o,{page:t,pageSize:i,sortField:s,sortDirection:n}):ki({page:t,pageSize:i,sortField:s,sortDirection:n,search:a}),staleTime:1e3*60*5,placeholderData:at.keepPreviousData,enabled:l}),m=()=>{h.data&&t<h.data.pagination.pageCount&&u.prefetchQuery({queryKey:[...Be.lists(),"table",{page:t+1,pageSize:i,sortField:s,sortDirection:n,filters:o,search:a}],queryFn:()=>o.length>0?Ni(o,{page:t+1,pageSize:i,sortField:s,sortDirection:n}):ki({page:t+1,pageSize:i,sortField:s,sortDirection:n,search:a})})},d=()=>u.invalidateQueries({queryKey:Be.lists()}),f=(p=h.data)==null?void 0:p.pagination;return{data:((g=h.data)==null?void 0:g.data)??[],pagination:f??null,isLoading:h.isLoading,isFetching:h.isFetching,isError:h.isError,error:h.error,isSuccess:h.isSuccess,isPlaceholderData:h.isPlaceholderData,refetch:d,prefetchNextPage:m,query:h}}function Zd(){const e=at.useQueryClient();return{invalidateAll:()=>e.invalidateQueries({queryKey:Be.all}),invalidateLists:()=>e.invalidateQueries({queryKey:Be.lists()})}}function Jd(){const e=at.useQueryClient();return at.useMutation({mutationFn:({id:t,data:i})=>dr(t,i),onMutate:async({id:t,data:i})=>{await e.cancelQueries({queryKey:Be.all});const s=e.getQueriesData({queryKey:Be.all});return e.setQueriesData({queryKey:Be.all},n=>n!=null&&n.data?{...n,data:n.data.map(o=>o.id===t?{...o,...i}:o)}:n),{previousData:s}},onError:(t,i,s)=>{s!=null&&s.previousData&&s.previousData.forEach(([n,o])=>{e.setQueryData(n,o)})},onSettled:async()=>{await e.invalidateQueries({queryKey:Be.all})}})}function ef(){const e=at.useQueryClient();return at.useMutation({mutationFn:({id:t,nombre:i})=>ya(t,i),onMutate:async({id:t,nombre:i})=>{await e.cancelQueries({queryKey:Be.all});const s=e.getQueriesData({queryKey:Be.all});return e.setQueriesData({queryKey:Be.all},n=>n!=null&&n.data?{...n,data:n.data.map(o=>o.id===t?{...o,nombre:i}:o)}:n),{previousData:s}},onError:(t,i,s)=>{s!=null&&s.previousData&&s.previousData.forEach(([n,o])=>{e.setQueryData(n,o)})},onSettled:async()=>{await e.invalidateQueries({queryKey:Be.all})}})}function tf(e={}){const{initialPage:t=1,initialPageSize:i=10,initialSortField:s,initialSortDirection:n="asc",initialFilters:o=[],initialSearch:a=""}=e,[l,u]=c.useState(t),[h,m]=c.useState(i),[d,f]=c.useState(s),[p,g]=c.useState(n),[b,v]=c.useState(o),[y,j]=c.useState(a),x=c.useCallback(D=>{u(D)},[]),T=c.useCallback(D=>{m(D),u(1)},[]),N=c.useCallback((D,R="asc")=>{f(D),g(R),u(1)},[]),C=c.useCallback(D=>{v(D),u(1)},[]),k=c.useCallback(D=>{v(R=>[...R,D]),u(1)},[]),S=c.useCallback(D=>{v(R=>R.filter(z=>z.id!==D)),u(1)},[]),I=c.useCallback(()=>{v([]),u(1)},[]),E=c.useCallback(D=>{j(D),u(1)},[]),w=c.useCallback(()=>{u(t),m(i),f(s),g(n),v(o),j(a)},[t,i,s,n,o,a]);return{page:l,pageSize:h,sortField:d,sortDirection:p,filters:b,search:y,setPage:x,setPageSize:T,setSort:N,setFilters:C,addFilter:k,removeFilter:S,clearFilters:I,setSearch:E,reset:w}}function sf(e,t){return c.useMemo(()=>e.map(i=>{const s=t.sortField===i.id,n=t.filters.some(o=>o.columnId===i.id);return{...i,sortDirection:s?t.sortDirection:null,filterActive:n}}),[e,t.sortField,t.sortDirection,t.filters])}function rf(e,t=300){const[i,s]=c.useState(e);return c.useEffect(()=>{const n=setTimeout(()=>{s(e)},t);return()=>{clearTimeout(n)}},[e,t]),i}function nf(e,t=300){const[i,s]=c.useState(null),n=((...o)=>{i&&clearTimeout(i);const a=setTimeout(()=>{e(...o)},t);s(a)});return c.useEffect(()=>()=>{i&&clearTimeout(i)},[i]),n}function of({children:e,staleTime:t=1e3*60*5,gcTime:i=1e3*60*30,retry:s=3,refetchOnWindowFocus:n=!0}){const[o]=c.useState(()=>new at.QueryClient({defaultOptions:{queries:{staleTime:t,gcTime:i,retry:s,refetchOnWindowFocus:n}}}));return r.jsx(at.QueryClientProvider,{client:o,children:e})}function af(e={}){const{staleTime:t=1e3*60*5,gcTime:i=1e3*60*30,retry:s=3,refetchOnWindowFocus:n=!0}=e;return new at.QueryClient({defaultOptions:{queries:{staleTime:t,gcTime:i,retry:s,refetchOnWindowFocus:n}}})}const ci=["primary","secondary","tertiary","disabled","on-color","on-canvas-inverse","brand","brand-hover","brand-pressed","brand-selected","success","success-hover","success-pressed","success-selected","warning","warning-hover","warning-pressed","warning-selected","danger","danger-hover","danger-pressed","danger-selected","info","info-hover","info-pressed","info-selected","link","link-hover","link-pressed","link-visited","all-colors-red","all-colors-orange","all-colors-yellow","all-colors-lime","all-colors-green","all-colors-cyan","all-colors-azure","all-colors-blue","all-colors-violet","all-colors-magenta","all-colors-rose"],fr=({size:e="h3",weight:t="regular",children:i,className:s,as:n,color:o,textColor:a,...l})=>{const h=n||(e&&["h1","h2","h3","h4","h5","h6"].includes(e)?e:"h3"),d=(()=>{const v=[];return e&&["h1","h2","h3","h4","h5","h6"].includes(e)?(v.push(`ui-text-heading-${e}`),v.push(`ui-font-heading-${e}`),v.push(`ui-leading-tracking-${e}`)):e&&(v.push(`ui-text-${e}`),t!=="regular"&&v.push(`ui-font-${t}`)),v.join(" ")})(),f=o&&ci.includes(o),p=o&&!f?{color:o}:void 0,b=f?`ui-text-${o}`:o?"":a?`ui-text-${a}`:"ui-text-primary";return r.jsx(h,{className:M("ui-imj",d,b,s),style:p,...l,children:i})};fr.displayName="Title";const Ti=({size:e="xs",weight:t="regular",children:i,className:s,as:n="span",color:o,textColor:a,...l})=>{const u=n,m=(()=>{const b=[];return e&&["xs","sm","md","lg"].includes(e)?(b.push(`ui-text-body-${e}-${t}`),b.push(`ui-font-body-${e}-${t}`),b.push(`ui-leading-body-${e}-${t}`),b.push(`ui-tracking-body-${e}`)):e&&(b.push(`ui-text-${e}`),t!=="regular"&&b.push(`ui-font-${t}`)),b.join(" ")})(),d=o&&ci.includes(o),f=o&&!d?{color:o}:void 0,g=d?`ui-text-${o}`:o?"":a?`ui-text-${a}`:"ui-text-secondary";return r.jsx(u,{className:M("ui-imj",m,g,s),style:f,...l,children:i})};Ti.displayName="Body";const mr=({size:e="xs",weight:t="regular",children:i,className:s,as:n="span",color:o,textColor:a,...l})=>{const u=n,m=(()=>{const b=[];return e&&["xs","md"].includes(e)?(b.push(`ui-text-caption-${e}`),b.push(`ui-font-caption-${e}`),b.push(`ui-leading-caption-${e}`),b.push(`ui-tracking-caption-${e}`)):e&&(b.push(`ui-text-${e}`),t!=="regular"&&b.push(`ui-font-${t}`)),b.join(" ")})(),d=o&&ci.includes(o),f=o&&!d?{color:o}:void 0,g=d?`ui-text-${o}`:o?"":a?`ui-text-${a}`:"ui-text-tertiary";return r.jsx(u,{className:M("ui-imj",m,g,s),style:f,...l,children:i})};mr.displayName="Caption";const hr=({size:e="md",weight:t="regular",children:i,className:s,as:n="code",color:o,textColor:a,...l})=>{const u=n,m=(()=>{const b=[];return e==="md"?(b.push("ui-text-code-md"),b.push("ui-font-code-md"),b.push("ui-leading-code-md"),b.push("ui-tracking-code-md")):e&&(b.push(`ui-text-${e}`),t!=="regular"&&b.push(`ui-font-${t}`)),b.join(" ")})(),d=o&&ci.includes(o),f=o&&!d?{color:o}:void 0,g=d?`ui-text-${o}`:o?"":a?`ui-text-${a}`:"ui-text-tertiary";return r.jsx(u,{className:M("ui-imj",m,g,s),style:f,...l,children:i})};hr.displayName="Code";const pr=({size:e,weight:t="regular",children:i,className:s,as:n="span",color:o,textColor:a,...l})=>{const u=n,m=(()=>{const b=[];return b.push(`ui-text-${e}`),t!=="regular"&&b.push(`ui-font-${t}`),b.join(" ")})(),d=o&&ci.includes(o),f=o&&!d?{color:o}:void 0,g=d?`ui-text-${o}`:o?"":a?`ui-text-${a}`:"";return r.jsx(u,{className:M("ui-imj",m,g,s),style:f,...l,children:i})};pr.displayName="CustomText";const gr=({type:e="body",size:t,weight:i="regular",children:s,className:n,as:o,color:a,textColor:l,...u})=>{if(t&&["2xs","xs","sm","md","lg","xl","2xl","3xl","4xl","5xl"].includes(t))return r.jsx(pr,{size:t,weight:i,className:n,as:o,color:a,textColor:l,...u,children:s});switch(e){case"title":return r.jsx(fr,{size:t,weight:i,className:n,as:o,color:a,textColor:l,...u,children:s});case"body":return r.jsx(Ti,{size:t,weight:i,className:n,as:o,color:a,textColor:l,...u,children:s});case"caption":return r.jsx(mr,{size:t,weight:i,className:n,as:o,color:a,textColor:l,...u,children:s});case"code":return r.jsx(hr,{size:t,weight:i,className:n,as:o,color:a,textColor:l,...u,children:s});default:return r.jsx(Ti,{size:t,weight:i,className:n,as:o,color:a,textColor:l,...u,children:s})}};gr.displayName="Text";const lf={duration:5e3,maxMessages:5,position:"bottom-right",variant:"outlined",primaryButtonText:"Aceptar",secondaryButtonText:"Cancelar",animationDuration:300,size:"sm"};let Ke={...lf};const uf=e=>{Ke={...Ke,...e}};class cf{constructor(){this.listeners=[],this.idCounter=0,this.recentMessages=new Map}show(t,i="success",s={}){const n=Date.now()+ ++this.idCounter;let o,a;typeof t=="string"?(o="",a={...s,title:t}):(o=t.message??"",a={...s,...t});const l=`${o||a.title||""}-${i}`,u=Date.now(),h=this.recentMessages.get(l);if(h&&u-h<100)return n;if(this.recentMessages.set(l,u),this.recentMessages.size>50)for(const[d,f]of this.recentMessages.entries())u-f>1e3&&this.recentMessages.delete(d);const m={id:n,message:o,title:a.title,description:a.description,color:i,onClick:a.onClick,onClose:a.onClose,onPrimaryClick:a.onPrimaryClick,onSecondaryClick:a.onSecondaryClick,showCloseButton:a.showCloseButton??!0,isLeaving:!1,position:a.position??Ke.position,variant:a.variant??Ke.variant,primaryButtonText:a.primaryButtonText??Ke.primaryButtonText,secondaryButtonText:a.secondaryButtonText??Ke.secondaryButtonText,size:a.size??Ke.size,duration:a.duration!==void 0?a.duration:Ke.duration,animation:a.animation};return process.env.NODE_ENV!=="production"&&(m.duration!==void 0&&(isNaN(m.duration)||!isFinite(m.duration)||m.duration<0)&&(console.warn(`[MessageService] Invalid duration "${m.duration}". Using default.`),m.duration=Ke.duration),m.position&&!["top-left","top-center","top-right","center-left","center","center-right","bottom-left","bottom-center","bottom-right"].includes(m.position)&&(console.warn(`[MessageService] Invalid position "${m.position}". Using default.`),m.position=Ke.position),m.color&&!["success","danger","info","warning","neutral","brand"].includes(m.color)&&console.warn(`[MessageService] Invalid color "${m.color}".`)),this.listeners.forEach(d=>d(m)),n}success(t,i){return this.show(t,"success",i)}error(t,i){return this.show(t,"danger",i)}info(t,i){return this.show(t,"info",i)}warning(t,i){return this.show(t,"warning",i)}neutral(t,i){return this.show(t,"neutral",i)}brand(t,i){return this.show(t,"brand",i)}dismiss(t){this.listeners.forEach(i=>i({id:t,message:"",title:"",color:"success",position:Ke.position,showCloseButton:!0,isLeaving:!0,variant:Ke.variant}))}configure(t){Object.assign(Ke,t)}getListeners(){return this.listeners}subscribe(t){return this.listeners.push(t),()=>{const i=this.listeners.indexOf(t);i>-1&&this.listeners.splice(i,1)}}}const We=new cf,df=()=>We,br=()=>{const[e,t]=c.useState([]),i=c.useRef(new Map),s=c.useRef(null);return c.useEffect(()=>{const o=We.getListeners();if(s.current){const l=o.indexOf(s.current);l>-1&&o.splice(l,1)}const a=l=>{if(l.isLeaving){t(m=>m.map(d=>d.id===l.id?{...d,isLeaving:!0}:d));const u=i.current.get(l.id);u&&(clearTimeout(u),i.current.delete(l.id));const h=setTimeout(()=>{t(m=>m.filter(d=>d.id!==l.id))},Ke.animationDuration);i.current.set(l.id,h);return}t(u=>{if(u.some(g=>g.id===l.id))return u;const m={...l,isLeaving:!1},d=[...u,m],f=m.duration!==void 0?m.duration:Ke.duration,p=f>0&&isFinite(f)&&!isNaN(f)?f:0;if(p>0){const g=setTimeout(()=>{We.dismiss(m.id)},p);i.current.set(m.id,g)}return d.slice(-Ke.maxMessages)})};return s.current=a,o.push(a),()=>{const l=o.indexOf(a);l>-1&&o.splice(l,1);const u=i.current;u.forEach(h=>clearTimeout(h)),u.clear(),s.current=null}},[]),{messagesByPosition:c.useMemo(()=>e.reduce((o,a)=>{const l=["top-left","top-center","top-right","center-left","center","center-right","bottom-left","bottom-center","bottom-right"],u=a.position&&l.includes(a.position)?a.position:"top-right";return o[u]||(o[u]=[]),o[u].push(a),o},{}),[e]),messages:e}},xr=()=>({getPositionClasses:t=>{const i={"top-left":"ui-fixed ui-top-5 ui-left-5","top-center":"ui-fixed ui-top-5 ui-left-1/2 ui--translate-x-1/2","top-right":"ui-fixed ui-top-5 ui-right-5","center-left":"ui-fixed ui-top-1/2 ui-left-5 ui--translate-y-1/2",center:"ui-fixed ui-top-1/2 ui-left-1/2 ui--translate-x-1/2 ui--translate-y-1/2","center-right":"ui-fixed ui-top-1/2 ui-right-5 ui--translate-y-1/2","bottom-left":"ui-fixed ui-bottom-5 ui-left-5","bottom-center":"ui-fixed ui-bottom-5 ui-left-1/2 ui--translate-x-1/2","bottom-right":"ui-fixed ui-bottom-5 ui-right-5"},s=i[t];return process.env.NODE_ENV!=="production"&&!s?(console.warn(`[useMessageStyles] Invalid position "${t}". Using "top-right" as fallback.`),i["top-right"]):s||i["top-right"]}}),ff={position:"top-right",duration:5e3,animationDuration:300,size:"sm",showTimer:!0},gt={...ff};class mf{constructor(){this.listeners=[],this.idCounter=0,this.groups={brand:null,neutral:null},this.timers={brand:null,neutral:null},this.progressIntervals={brand:null,neutral:null},this.removeTimers={brand:null,neutral:null}}show(t,i="brand",s={}){const n=Date.now()+ ++this.idCounter;let o,a,l;typeof t=="string"?(o="",a=t,l={...s}):(o=t.message??"",a=t.title,l={...s,...t});const u={id:n,message:o,title:a,subtitle:l.subtitle,description:l.description,color:i,avatar:l.avatar,icon:l.icon,position:l.position??gt.position,duration:l.duration??gt.duration,showCloseButton:l.showCloseButton??!0,isLeaving:!1,showTimer:gt.showTimer,onClick:l.onClick,onClose:l.onClose,onPrimaryClick:l.onPrimaryClick,onSecondaryClick:l.onSecondaryClick,primaryButtonText:l.primaryButtonText,secondaryButtonText:l.secondaryButtonText,size:l.size??(gt.size==="lg"?"md":gt.size),variant:l.variant??"outlined",animation:l.animation??"fade"};return process.env.NODE_ENV!=="production"&&(u.duration!==void 0&&(isNaN(u.duration)||!isFinite(u.duration)||u.duration<0)&&(console.warn(`[NotificationService] Invalid duration "${u.duration}". Using default.`),u.duration=gt.duration),u.position&&!["top-left","top-center","top-right","center-left","center","center-right","bottom-left","bottom-center","bottom-right"].includes(u.position)&&(console.warn(`[NotificationService] Invalid position "${u.position}". Using default.`),u.position=gt.position),["brand","neutral"].includes(i)||console.warn(`[NotificationService] Invalid color "${i}".`)),this.addToGroup(i,u),n}addToGroup(t,i){const s=this.groups[t];s?(s.queue.push(i),s.count=s.queue.length,this.resetTimer(t)):(this.groups[t]={color:t,notification:i,queue:[i],count:1,timerProgress:100,isLeaving:!1},this.startTimer(t)),this.notifyListeners()}startTimer(t){const i=this.groups[t];if(!i)return;const s=i.notification.duration??gt.duration;if(s<=0)return;this.clearTimer(t);const n=Date.now();i.timerProgress=100,this.progressIntervals[t]=setInterval(()=>{const o=Date.now()-n,a=Math.max(0,100-o/s*100);this.groups[t]&&(this.groups[t].timerProgress=a,this.notifyListeners())},50),this.timers[t]=setTimeout(()=>{this.dismissGroup(t)},s)}resetTimer(t){this.clearTimer(t),this.startTimer(t)}clearTimer(t){this.timers[t]&&(clearTimeout(this.timers[t]),this.timers[t]=null),this.progressIntervals[t]&&(clearInterval(this.progressIntervals[t]),this.progressIntervals[t]=null),this.removeTimers[t]&&(clearTimeout(this.removeTimers[t]),this.removeTimers[t]=null)}dismissGroup(t){const i=this.groups[t];i&&(i.isLeaving=!0,this.notifyListeners(),this.clearTimer(t),this.removeTimers[t]=setTimeout(()=>{this.groups[t]=null,this.removeTimers[t]=null,this.notifyListeners()},gt.animationDuration))}dismiss(t){for(const i of["brand","neutral"]){const s=this.groups[i];if(s&&s.queue.some(n=>n.id===t)){this.dismissGroup(i);return}}}brand(t,i){return this.show(t,"brand",i)}neutral(t,i){return this.show(t,"neutral",i)}configure(t){Object.assign(gt,t)}getGroups(){return{...this.groups}}subscribe(t){return this.listeners.push(t),()=>{const i=this.listeners.indexOf(t);i>-1&&this.listeners.splice(i,1)}}notifyListeners(){const t=this.getGroups();this.listeners.forEach(i=>i(t))}getConfig(){return{...gt}}}const Xe=new mf,hf=()=>Xe,yr=()=>{const[e,t]=c.useState({brand:null,neutral:null});c.useEffect(()=>{t(Xe.getGroups());const n=Xe.subscribe(o=>{t({...o})});return()=>{n()}},[]);const i=Object.values(e).filter(n=>n!==null&&!n.isLeaving),s=Object.values(e).filter(n=>n!==null&&n.isLeaving);return{groups:e,activeGroups:i,leavingGroups:s,dismissGroup:n=>Xe.dismissGroup(n)}},vr=c.memo(({message:e})=>{const[t,i]=c.useState(!0),s=c.useRef(null);c.useEffect(()=>(e.isLeaving&&(s.current=setTimeout(()=>{i(!1)},300)),()=>{s.current&&(clearTimeout(s.current),s.current=null)}),[e.isLeaving]);const n=a=>{a.stopPropagation();const l=e.id??0;process.env.NODE_ENV!=="production"&&!e.id&&console.warn("[MessageItem] message.id is undefined. Using fallback value 0."),We.dismiss(l),e.onClose&&e.onClose()};if(!t)return null;const o=e.color==="brand"?"info":e.color;return process.env.NODE_ENV!=="production"&&!["success","danger","info","warning","neutral","brand"].includes(e.color)&&console.warn(`[MessageItem] Invalid color "${e.color}". Using fallback.`),r.jsx(Es,{color:o,variant:e.variant||"outlined",message:e.message,title:e.title,description:e.description,showCloseButton:e.showCloseButton,open:!0,onClose:n,onPrimaryClick:e.onPrimaryClick,onSecondaryClick:e.onSecondaryClick,primaryButtonText:e.primaryButtonText,secondaryButtonText:e.secondaryButtonText,isLeaving:e.isLeaving,onClick:e.onClick,animation:e.animation||"fade",size:e.size||"sm",duration:e.duration})});vr.displayName="MessageItem";const _i=c.memo(({messages:e})=>{const{getPositionClasses:t}=xr();return Object.keys(e).length===0?null:r.jsx(r.Fragment,{children:Object.entries(e).map(([i,s])=>{const n=i;return process.env.NODE_ENV!=="production"&&!["top-left","top-center","top-right","center-left","center","center-right","bottom-left","bottom-center","bottom-right"].includes(i)&&console.warn(`[MessagePositions] Invalid position "${i}". Using as-is.`),!s||s.length===0?null:r.jsx("div",{className:`${t(n)} ui-z-50 ui-max-w-[350px] ui-space-y-2`,children:s.map(o=>o.id?r.jsx(vr,{message:o},o.id):(process.env.NODE_ENV!=="production"&&console.warn("[MessagePositions] Message without id. Skipping."),null))},i)})})});_i.displayName="MessagePositions";const pf=()=>{const{messagesByPosition:e}=br();return st.createPortal(r.jsx(_i,{messages:e}),document.body)},wr=c.memo(({group:e})=>{const{notification:t,count:i,isLeaving:s,color:n}=e,[o,a]=c.useState(!0),l=c.useRef(null);c.useEffect(()=>(s&&(l.current=setTimeout(()=>{a(!1)},300)),()=>{l.current&&(clearTimeout(l.current),l.current=null)}),[s]);const u=d=>{var f;d.stopPropagation(),Xe.dismissGroup(n),(f=t.onClose)==null||f.call(t)};if(!o)return null;const m={brand:"brand",neutral:"neutral"}[n];return r.jsx(Es,{color:m,variant:t.variant||"outlined",message:t.message,title:t.title,description:t.description,showCloseButton:t.showCloseButton,open:!0,onClose:u,onPrimaryClick:t.onPrimaryClick,onSecondaryClick:t.onSecondaryClick,primaryButtonText:t.primaryButtonText,secondaryButtonText:t.secondaryButtonText,isLeaving:s,onClick:t.onClick,animation:t.animation||"fade",size:t.size||"sm",duration:t.duration,avatar:t.avatar,children:i>1&&r.jsxs("div",{className:"ui-mb-2 ui-flex ui-items-center ui-justify-center ui-gap-1 ui-py-2",children:[r.jsx(he,{name:V.faPaperPlane,size:"xs",color:"tertiary"}),r.jsxs("span",{className:"ui-text-xs ui-text-tertiary",children:["Tienes ",i," mensajes nuevos"]})]})})});wr.displayName="NotificationItem";const qi=c.memo(({groups:e})=>{const{getPositionClasses:t}=xr(),i=Xe.getConfig(),s=Object.values(e).filter(o=>o!==null);if(s.length===0)return null;const n=i.position;return process.env.NODE_ENV!=="production"&&!["top-left","top-center","top-right","center-left","center","center-right","bottom-left","bottom-center","bottom-right"].includes(n)&&console.warn(`[NotificationPositions] Invalid position "${n}" from config. Using as-is.`),r.jsx("div",{className:`${t(n)} ui-z-50 ui-space-y-2`,children:s.map(o=>o.notification.id?r.jsx(wr,{group:o},`${o.color}-${o.count}`):(process.env.NODE_ENV!=="production"&&console.warn("[NotificationPositions] Group notification without id. Skipping."),null))})});qi.displayName="NotificationPositions";const gf=()=>{const{groups:e}=yr();return st.createPortal(r.jsx(qi,{groups:e}),document.body)},bf=()=>{const{messagesByPosition:e}=br(),{groups:t}=yr();return st.createPortal(r.jsxs(r.Fragment,{children:[r.jsx(_i,{messages:e}),r.jsx(qi,{groups:t})]}),document.body)},xf=We,yf=Xe,vf={success:We.success.bind(We),error:We.error.bind(We),info:We.info.bind(We),warning:We.warning.bind(We),show:We.show.bind(We),dismiss:We.dismiss.bind(We),configure:We.configure.bind(We),brand:Xe.brand.bind(Xe),neutral:Xe.neutral.bind(Xe),dismissNotification:Xe.dismissGroup.bind(Xe),configureNotification:Xe.configure.bind(Xe)},wf=({text:e,count:t,buttons:i=[],onClose:s,className:n,visible:o=!0,activeButtonId:a,onActiveButtonIdChange:l,onBackClick:u})=>{var E;const h=a!==void 0,[m,d]=c.useState(-1),[f,p]=c.useState(!1);if(c.useEffect(()=>{p(!0)},[]),!o)return null;const g=i.filter(w=>w.show!==!1);if(g.length===0)return null;let b=null;h?a!==null&&(b=g.find(w=>w.id===a)||null):b=m>=0?g[m]:null;const v=((E=b==null?void 0:b.addons)==null?void 0:E.filter(w=>w.show!==!1))||[],y=M("ui-flex ui-items-center ui-gap-8 sm:ui-gap-16","ui-bg-fill-brand","ui-px-12 ui-py-8 sm:ui-px-16","ui-rounded-surface-modal","ui-shadow-03","ui-border-1 ui-border-default",n),j=M("ui-fixed ui-bottom-6 ui-left-1/2 ui--translate-x-1/2","ui-z-[1000]","ui-max-w-[calc(100vw-48px)]","ui-flex ui-justify-center"),x=(w,D)=>{var z;if(w.onClick&&w.onClick(),(((z=w.addons)==null?void 0:z.filter(P=>P.show!==!1))||[]).length>0){const P=w.id??D.toString();h?l==null||l(P):d(D)}},T=()=>{u==null||u(),h?l==null||l(null):d(-1)},N=(w,D)=>{w.onChange&&w.onChange(D)},C=()=>r.jsxs("div",{className:y,children:[r.jsx(Ce,{color:"secondary",size:"xs",pill:"pill",icon:V.faArrowTurnLeft,onClick:T}),(e||t!==void 0)&&r.jsxs("span",{className:"ui-whitespace-nowrap ui-text-body-sm-regular ui-font-body-sm-regular ui-text-on-color",children:[t!==void 0?`(${t}) `:"",e]}),v.length>0&&r.jsx(qe,{vertical:!0,className:"ui-h-8 ui-border-on-color ui-opacity-30"}),r.jsx("div",{className:"ui-flex ui-min-w-max ui-items-center ui-gap-16",children:v.map((w,D)=>{var R,z,P,F,W;if(w.type==="input")return r.jsx("div",{className:"ui-w-[160px]",children:r.jsx(Ge,{size:"xs",leftSlot:w.leftSlot,fullWidth:!0,rightSlot:w.rightSlot,disabled:w.disabled,value:w.value,placeholder:w.placeholder,type:w.type,name:w.name,onValueChange:$=>N(w,$)})},`addon-${D}`);if(w.type==="date")return r.jsx("div",{className:"ui-w-[160px]",children:r.jsx(Ut,{size:"xs",mode:((R=w.datePickerProps)==null?void 0:R.mode)||"single",selectedDate:w.selectedDate,selectedRange:w.selectedRange,minDate:(z=w.datePickerProps)==null?void 0:z.minDate,maxDate:(P=w.datePickerProps)==null?void 0:P.maxDate,autoCloseRange:!1,format:((F=w.datePickerProps)==null?void 0:F.format)||"dd/MM/yyyy",placeholder:((W=w.datePickerProps)==null?void 0:W.placeholder)||w.placeholder||"Seleccionar fecha",onDateChange:$=>{var O;((O=w.datePickerProps)==null?void 0:O.mode)==="range"?N(w,{start:null,end:null}):N(w,$)},onRangeChange:$=>{N(w,$)}})},`addon-${D}`);if(w.type==="button"){const $=w.label?void 0:w.icon,O=w.label&&w.icon?w.icon:void 0;return r.jsx(Ce,{color:w.color||"secondary",size:"xs",icon:$,leftSlot:O,disabled:w.disabled,pill:w.pill,tooltip:w.tooltip,tooltipPosition:w.tooltipPosition,tooltipAlignment:w.tooltipAlignment,tooltipDelay:w.tooltipDelay,onClick:()=>{w.onClick&&w.onClick()},children:w.label},`addon-${D}`)}return null})}),s&&r.jsxs(r.Fragment,{children:[r.jsx(qe,{vertical:!0,className:"ui-h-8 ui-border-on-color ui-opacity-30"}),r.jsx(Ce,{color:"secondary",size:"xs",pill:"pill",icon:V.faXmark,onClick:s})]})]}),k=()=>r.jsxs("div",{className:y,children:[r.jsx("div",{className:"ui-flex ui-min-w-max ui-items-center ui-gap-16",children:g.map((w,D)=>{const R=w.label?void 0:w.icon,z=w.label&&w.icon?w.icon:void 0;return r.jsx(Ce,{color:w.color||"secondary",size:"xs",icon:R,leftSlot:z,disabled:w.disabled,pill:w.pill,tooltip:w.tooltip,tooltipPosition:w.tooltipPosition,tooltipAlignment:w.tooltipAlignment,tooltipDelay:w.tooltipDelay,onClick:()=>x(w,D),children:w.label},`button-${D}-${w.label||w.icon}`)})}),s&&r.jsxs(r.Fragment,{children:[r.jsx(qe,{vertical:!0,className:"ui-h-8 ui-border-on-color ui-opacity-30"}),r.jsx(Ce,{color:"secondary",size:"xs",pill:"pill",icon:V.faXmark,onClick:s})]})]}),I=(h?a!==null&&b!==null&&v.length>0:m>=0&&b!==null&&v.length>0)?C():k();return f?st.createPortal(r.jsx("div",{className:M("ui-imj",j),children:I}),document.body):null},va=({id:e,label:t,icon:i,badge:s,active:n=!1,disabled:o=!1,hasSubmenu:a=!1,onClick:l,className:u})=>{const h=m=>{o||l==null||l(e)};return r.jsxs(xt,{icon:i,current:n,disabled:o,onClick:h,className:M("ui-h-32",u),children:[r.jsx("span",{className:"ui-flex-1 ui-truncate",children:t}),s&&r.jsx(Kt,{label:String(s.label),color:s.color||"accent",theme:s.theme||"solid",size:"sm"}),a&&r.jsx(he,{name:V.faChevronRight,size:"md",color:"tertiary",className:"ui-shrink-0"})]})},di=({className:e,withText:t=!1,text:i})=>t&&i?r.jsxs("div",{className:M("ui-flex ui-w-full ui-items-center ui-gap-8",e),children:[r.jsx("span",{className:"ui-shrink-0 ui-whitespace-nowrap ui-text-body-xs-regular ui-font-body-xs-regular ui-text-tertiary",children:i}),r.jsx("div",{className:"ui-flex-1 ui-border-t-1 ui-border-default"})]}):r.jsx("div",{className:M("ui-w-full ui-py-4",e),children:r.jsx("div",{className:"ui-border-t-1 ui-border-default"})}),jf=({title:e,className:t})=>r.jsx("span",{className:M("ui-text-body-xs-regular ui-font-body-xs-regular","ui-uppercase ui-text-tertiary",t),children:e}),wa=({title:e,items:t,className:i})=>r.jsxs("div",{className:M("ui-flex ui-w-full ui-flex-col ui-gap-16",i),children:[e&&r.jsx(di,{withText:!0,text:e}),r.jsx("div",{className:"ui-flex ui-w-full ui-flex-col ui-gap-4",children:t.map(s=>r.jsx(va,{...s},s.id))})]}),ja=({name:e,role:t,avatarProps:i,onLogout:s,className:n})=>{const o=()=>{const a=(i==null?void 0:i.type)||"people",{type:l,...u}=i||{};return r.jsx(yt,{type:a,size:"md",...u})};return r.jsxs("div",{className:M("ui-flex ui-w-full ui-flex-col ui-gap-8",n),children:[r.jsx(ai,{name:e,subtitle:t,avatar:o(),className:"ui-h-auto ui-px-0 ui-py-0"}),r.jsx(di,{}),r.jsx(Ce,{theme:"solid",color:"tertiary",size:"sm",fullWidth:!0,leftSlot:V.faArrowRightToBracket,onClick:s,children:"Cerrar sesión"})]})},Sa=({icon:e=V.faTableLayout,title:t="Mesa de trabajo",badge:i,projectId:s,clientName:n,status:o,showActions:a=!1,onOpen:l,onClose:u,className:h})=>{const[m,d]=c.useState(!1),f=m||a,p={success:"ui-bg-surface-success-hover ui-text-success",warning:"ui-bg-surface-warning-hover ui-text-warning",danger:"ui-bg-surface-danger ui-text-danger",info:"ui-bg-surface-info-hover ui-text-info"},g={success:it.faArrowUpRight,warning:it.faArrowUpRight,danger:it.faArrowUpRight,info:it.faArrowUpRight};return r.jsxs("div",{className:M("ui-flex ui-flex-col ui-gap-8 ui-p-16","ui-border-1 ui-border-default ui-bg-surface-default","ui-w-full ui-rounded-control-sm ui-transition-all",h),onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:[r.jsxs("div",{className:"ui-flex ui-w-full ui-items-center ui-gap-8",children:[r.jsx("div",{className:"ui-flex ui-shrink-0 ui-items-center ui-justify-center ui-rounded-control-pill ui-bg-surface-brand-hover ui-p-8",children:r.jsx(he,{name:e,size:"md",color:"info"})}),r.jsx("span",{className:"ui-flex-1 ui-truncate ui-text-body-sm-regular ui-font-body-sm-regular ui-text-primary",children:t}),i&&r.jsx(Kt,{label:String(i.label),color:i.color||"accent",theme:i.theme||"solid",size:"sm"})]}),r.jsx(di,{}),r.jsxs("div",{className:"ui-flex ui-w-full ui-flex-col ui-items-center ui-text-center",children:[s&&r.jsx("span",{className:"ui-w-full ui-truncate ui-text-body-xs-regular ui-font-body-xs-medium ui-text-brand",children:s}),n&&r.jsxs("span",{className:"ui-w-full ui-text-body-xs-regular ui-font-body-xs-regular ui-text-tertiary",children:["Cliente: ",n]})]}),o&&r.jsx("div",{className:"ui-w-full",children:r.jsxs("div",{className:M("ui-flex ui-items-center ui-justify-center ui-gap-4","ui-h-16 ui-w-full ui-rounded-control-xs ui-px-8 ui-py-2",p[o.color]),children:[r.jsx(he,{name:g[o.color],size:"xs",color:"current"}),r.jsx("span",{className:"ui-text-body-xs-regular ui-font-body-xs-regular",children:o.label})]})}),f&&r.jsxs("div",{className:"ui-flex ui-w-full ui-items-center ui-gap-8",children:[r.jsx(Ce,{theme:"solid",color:"tertiary",size:"xxs",fullWidth:!0,leftSlot:V.faFolderOpen,onClick:l,children:"Abrir"}),r.jsx(Ce,{theme:"solid",color:"tertiary",size:"xxs",fullWidth:!0,leftSlot:V.faXmark,onClick:u,children:"Concluir"})]})]})},Sf=({logo:e,onLogoClick:t,workspace:i,menuGroups:s=[],userProfile:n,collapsed:o=!1,onToggleCollapse:a,className:l,width:u=248})=>{const h=o?64:u;return r.jsxs("aside",{className:M("ui-imj","ui-flex ui-flex-col ui-justify-between","ui-h-full ui-bg-surface-secondary","ui-border-r-1 ui-border-default","ui-relative ui-p-16 ui-transition-all ui-duration-300",l),style:{width:h},children:[r.jsxs("div",{className:"ui-flex ui-w-full ui-flex-col ui-items-center ui-gap-8 ui-overflow-y-auto",children:[e&&r.jsx("div",{className:M("ui-flex ui-items-center ui-justify-center ui-py-8","ui-cursor-pointer"),onClick:t,children:typeof e=="string"?r.jsx("img",{src:e,alt:"Logo",className:"ui-h-40 ui-w-40 ui-rounded-control-pill ui-object-cover"}):e}),e&&r.jsx(di,{}),i&&!o&&r.jsx(Sa,{...i}),s.map((m,d)=>r.jsx(wa,{...m},m.title||`group-${d}`))]}),n&&!o&&r.jsx(ja,{...n}),a&&r.jsx("button",{className:M("ui-absolute ui-flex ui-items-center ui-justify-center","ui-size-32 ui-rounded-control-pill ui-bg-fill-brand","ui-cursor-pointer ui-transition-all ui-duration-200","hover:ui-bg-fill-brand-hover",o?"ui-right-[-16px]":"-ui-right-16"),style:{top:68,right:-16},onClick:a,children:r.jsx(he,{name:V.faChevronLeft,size:"md",color:"white",className:M("ui-transition-transform ui-duration-300",o&&"ui-rotate-180")})})]})},fs={brand:"var(--ui-color-blue-500)",success:"var(--ui-color-green-500)",warning:"var(--ui-color-orange-500)",danger:"var(--ui-color-red-500)",info:"var(--ui-color-cyan-500)",neutral:"var(--ui-color-light-gray-500)",yellow:"var(--ui-color-yellow-500)"},Cf=["brand","success","warning","danger","info"],kf=e=>fs[e]||fs.neutral,Nf=e=>typeof e=="string"&&e in fs?e:"neutral",jr=c.memo(({data:e,index:t,width:i,color:s,isFirst:n,isLast:o,height:a,transitionDuration:l,showTooltip:u,onHover:h,onLeave:m})=>{const[d,f]=c.useState(!1),p=Math.max(0,Math.min(100,i)),g=M(n&&"ui-rounded-l-control-pill",o&&"ui-rounded-r-control-pill",!n&&!o&&"ui-rounded-none"),b=kf(s),v={flex:`0 0 ${p}%`,width:`${p}%`,minWidth:p>0&&p<.5?"1px":void 0,height:`${a}px`,maxHeight:`${a}px`,transition:`flex-basis ${l}ms ease-in-out, width ${l}ms ease-in-out`,backgroundColor:b},y=`${e.name}: ${e.percent}%`,j=()=>{f(!0),h==null||h(e,t)},x=()=>{f(!1),m==null||m(e,t)};return r.jsx("div",{className:M("ui-relative ui-h-full ui-flex-shrink-0",g),style:v,onMouseEnter:j,onMouseLeave:x,role:"progressbar","aria-valuenow":e.percent,"aria-valuemin":0,"aria-valuemax":100,"aria-label":y,children:u&&r.jsx($i,{label:y,isVisible:d,position:"bottom"})})});jr.displayName="LinearGraphicSegment";const ms={brand:"var(--ui-color-blue-500)",success:"var(--ui-color-green-500)",warning:"var(--ui-color-orange-500)",danger:"var(--ui-color-red-500)",info:"var(--ui-color-cyan-500)",neutral:"var(--ui-color-light-gray-500)",yellow:"var(--ui-color-yellow-500)"},Tf=["brand","success","warning","danger","info"],Df=e=>ms[e]||ms.neutral,Ef=e=>typeof e=="string"&&e in ms?e:"neutral",Ca=c.memo(({item:e,index:t,color:i,indicatorSize:s,gap:n,showTooltip:o,showPercent:a,tooltipPosition:l,onHover:u,onLeave:h})=>{const[m,d]=c.useState(!1),f=e.name!==null?String(e.name):"",p=Math.max(0,Math.min(100,Number(e.percent)||0)),g=Df(i),b=()=>{d(!0),u==null||u(e,t)},v=()=>{d(!1),h==null||h(e,t)};return r.jsxs("div",{className:"ui-relative ui-flex ui-cursor-default ui-items-center",onMouseEnter:b,onMouseLeave:v,style:{gap:`${n}px`},children:[r.jsx("span",{className:"ui-block ui-flex-shrink-0 ui-rounded-full",style:{width:`${s}px`,height:`${s}px`,backgroundColor:g}}),r.jsx("span",{className:"ui-text-body-sm-regular ui-text-primary",children:f}),a&&r.jsxs("span",{className:"ui-text-body-md-bold ui-font-body-md-bold ui-text-primary",children:[p,"%"]}),o&&r.jsx($i,{label:`${p}%`,isVisible:m,position:l})]})});Ca.displayName="ListWithDataInHoverItem";const Sr=c.memo(({data:e,colors:t,className:i,disabled:s=!1,indicatorSize:n=8,gap:o=4,showTooltips:a=!0,showPercent:l=!0,tooltipPosition:u="over",onItemHover:h,onItemLeave:m})=>{const d=c.useMemo(()=>!Array.isArray(e)||e.length===0?[]:e.filter(y=>y!==null&&typeof y=="object").map(y=>({name:String(y.name??""),percent:Math.max(0,Math.min(100,Number(y.percent)||0))})),[e]),f=c.useMemo(()=>!Array.isArray(t)||t.length===0?Tf:t.map(y=>Ef(y)),[t]),p=Math.max(4,Math.min(32,Number(n)||8)),g=Math.max(0,Math.min(32,Number(o)||4)),b=M("ui-flex ui-flex-wrap ui-justify-around ui-w-full",s&&"ui-opacity-50 ui-pointer-events-none",i),v={gap:`${g}px`,marginTop:"8px"};return d.length===0?r.jsx("div",{className:b,style:v,role:"list","aria-label":"Lista vacía"}):r.jsx("div",{className:M("ui-imj",b),style:v,role:"list","aria-label":"Lista con datos en hover",children:d.map((y,j)=>{const x=f[j%f.length];return r.jsx(Ca,{item:y,index:j,color:x,indicatorSize:p,gap:g,showTooltip:a,showPercent:l,tooltipPosition:u,onHover:h,onLeave:m},`list-item-${j}-${y.name}`)})})});Sr.displayName="ListWithDataInHover";const ka=c.memo(({data:e,colors:t,className:i,height:s=8,showTooltips:n=!0,showLegend:o=!1,showLegendPercent:a=!1,legendGap:l=8,transitionDuration:u=500,disabled:h=!1,onSegmentHover:m,onSegmentLeave:d})=>{const f=c.useMemo(()=>!Array.isArray(e)||e.length===0?[]:e.filter(j=>j!==null&&typeof j=="object").map(j=>({name:String(j.name??""),percent:Math.max(0,Math.min(100,Number(j.percent)||0))})).filter(j=>j.percent>0),[e]),p=c.useMemo(()=>!Array.isArray(t)||t.length===0?Cf:t.map(j=>Nf(j)),[t]),g=c.useMemo(()=>f.reduce((j,x)=>j+x.percent,0),[f]),b=c.useMemo(()=>g===0?f.map(()=>0):g>100?f.map(j=>j.percent/g*100):f.map(j=>j.percent),[f,g]),v=M("ui-relative ui-w-full",h&&"ui-opacity-50 ui-pointer-events-none",i),y={height:`${s}px`,borderRadius:"8px",backgroundColor:"var(--ui-color-neutral-200-legacy, #D9D9D9)",display:"flex",alignItems:"stretch"};return f.length===0?r.jsx("div",{className:"ui-imj ui-flex ui-w-full ui-flex-col ui-gap-8",children:r.jsx("div",{className:v,style:y,role:"progressbar","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,"aria-label":"Gráfica lineal vacía"})}):r.jsxs("div",{className:"ui-flex ui-w-full ui-flex-col ui-gap-8",children:[r.jsx("div",{className:v,style:y,role:"progressbar","aria-valuenow":g,"aria-valuemin":0,"aria-valuemax":100,"aria-label":"Gráfica lineal de progreso",children:f.map((j,x)=>{const T=p[x%p.length],N=b[x];return r.jsx(jr,{data:j,index:x,width:N,color:T,isFirst:x===0,isLast:x===f.length-1,height:s,transitionDuration:u,showTooltip:n,onHover:m,onLeave:d},`linear-graphic-segment-${x}-${j.name}`)})}),o&&r.jsx(Sr,{data:f,colors:p,gap:l,showTooltips:!0,showPercent:a,tooltipPosition:"over"})]})});ka.displayName="LinearGraphic";const Cr=c.memo(({color:e,size:t,className:i})=>{const s={width:`${t}px`,height:`${t}px`,borderRadius:"50%",backgroundColor:e,flexShrink:0};return r.jsx("div",{className:M("ui-flex-shrink-0",i),style:s,role:"presentation","aria-hidden":"true"})});Cr.displayName="TextListIndicator";const un={brand:"var(--ui-color-blue-500)",success:"var(--ui-color-green-500)",warning:"var(--ui-color-orange-500)",danger:"var(--ui-color-red-500)",info:"var(--ui-color-cyan-500)",neutral:"var(--ui-color-light-gray-500)",yellow:"var(--ui-color-yellow-500)"},If=e=>un[e]||un.neutral,Na=c.memo(({title:e,color:t,data:i,className:s,disabled:n=!1,indicatorSize:o=8,showIndicator:a=!0})=>{const l=e!==null?String(e):"",u=i!==null?String(i):"",h=If(t),m=Math.max(4,Math.min(32,Number(o)||8)),d=M("ui-flex ui-flex-wrap ui-items-center ui-justify-between ui-w-full ui-gap-4",n&&"ui-opacity-50 ui-pointer-events-none",s);return r.jsxs("div",{className:M("ui-imj",d),role:"listitem",children:[r.jsxs("div",{className:"ui-flex ui-items-center ui-gap-4",children:[a&&r.jsx(Cr,{color:h,size:m}),l&&r.jsx(gr,{type:"body",size:"sm",color:"primary",children:l})]}),u&&r.jsx(oi,{className:"ui-text-heading-h6 ui-font-heading-h6 ui-leading-heading-h6 ui-tracking-heading-h6 ui-text-primary",children:u})]})});Na.displayName="TextListWithData";function xe(e,t){return typeof e.get=="function"?e.get(t):e[t]}function cn(e){return typeof e.count=="function"?e.count():e.length}function rs(e,t){return cn(e)===cn(t)&&e.every((i,s)=>i===xe(t,s.toString()))}function Mf(e,t){const i={};return e.forEach(s=>{i[s[t]]=s}),i}function ns(){}function Wt(...e){return(t,...i)=>{t.preventDefault(),e.forEach(s=>s&&s(t,...i))}}function Rf({item:e,itemContext:t,getItemProps:i,getResizeProps:s}){const{left:n,right:o}=s();return r.jsxs("div",{...i(e.itemProps),children:[t.useResizeHandle?r.jsx("div",{...n}):"",r.jsx("div",{className:"rct-item-content",style:{maxHeight:`${t.dimensions.height}`},children:t.title}),t.useResizeHandle?r.jsx("div",{...o}):""]})}function hs(e,t,i){return(t-e)/i}function Di(e,t,i,s){const n=i/(t-e);return(s-e)*n}function kr(e,t,i,s){return(t-e)/i*s+e}function Nr(e,t,i,s,n){let o=jt(e).startOf(i);if(s[i]&&s[i]>1){const a=o.get(i);o.set(i,a-a%s[i])}for(;o.valueOf()<t;){const a=jt(o).add(s[i]||1,i);n(o,a),o=a}}const ps=17;function xi(e,t,i){const s={second:1e3,minute:60,hour:60,day:24,month:30,year:12};let n="year",o=e;return Object.keys(s).some(a=>{const l=a;o=o/s[l];const u=o/i[l],h=i[l]&&i[l]>1?3*ps:ps,m=t/h;if(u<m)return n=a,!0}),n}const gs={second:"minute",minute:"hour",hour:"day",day:"month",month:"year",year:"year"};function Tr(e){if(!gs[e])throw new Error(`unit ${e} is not acceptable`);return gs[e]}function Ta({itemTimeStart:e,itemTimeEnd:t,dragTime:i,isDragging:s,isResizing:n,resizingEdge:o,resizeTime:a}){const l=t-e;return[s&&i?i:n&&o==="left"&&a?a:e,s&&i?i+l:n&&o==="right"&&a?a:t]}function Da({itemTimeStart:e,itemTimeEnd:t,canvasTimeStart:i,canvasTimeEnd:s,canvasWidth:n}){const o=t-e,a=Math.max(e,i),l=Math.min(t,s),u=Di(i,s,n,a),m=Di(i,s,n,l)-u;return{left:u,width:Math.max(m,3),collisionLeft:e,collisionWidth:o}}function Dr(e,t){const{groupIdKey:i}=t,s={};for(let n=0;n<e.length;n++)s[xe(e[n],i)]={index:n,group:e[n]};return s}function Ea(e,t){var n,o;const i={},s=Object.keys(t);for(let a=0;a<s.length;a++){const l=t[s[a]];i[a]={index:l.index,group:l.group,items:[]}}for(let a=0;a<e.length;a++)if(e[a].dimensions!==void 0&&((n=e[a].dimensions)==null?void 0:n.order)!==void 0){const l=i[((o=e[a].dimensions)==null?void 0:o.order.index)??0];l&&l.items.push(e[a])}return i}function Er(e,t,i,s){const{itemTimeStartKey:n,itemTimeEndKey:o}=s;return e.filter(a=>{const l=jt(xe(a,n)).valueOf()<=i,u=jt(xe(a,o)).valueOf()>=t;return l&&u})}const zf=.001;function Ia(e,t,i=zf){return e.collisionLeft+i<t.collisionLeft+t.collisionWidth&&e.collisionLeft+e.collisionWidth-i>t.collisionLeft&&e.top-0+i<t.top+t.height&&e.top+e.height+0-i>t.top}function Ma(e,t,i,s,n,o){let a=s;const l=(e-t.dimensions.height)/2;if(t.dimensions.stack&&t.dimensions.top===null){t.dimensions.top=n+l,a=Math.max(a,e);do{var u=null;for(let h=o-1,m=0;h>=m;h--){const d=i[h];if(d.dimensions.top!==null&&d.dimensions.stack&&Ia(t.dimensions,d.dimensions)){u=d;break}}u!=null&&(t.dimensions.top=u.dimensions.top+e,a=Math.max(a,t.dimensions.top+t.dimensions.height+l-n))}while(u)}return{groupHeight:a,verticalMargin:l,itemTop:t.dimensions.top}}function Ra(e,t,i,s){var o,a;const n=(e-(((o=t.dimensions)==null?void 0:o.height)??1))/2;return t.dimensions&&t.dimensions.top===null&&(t.dimensions.top=s+n,i=Math.max(i,e)),{groupHeight:i,verticalMargin:0,itemTop:((a=t.dimensions)==null?void 0:a.top)??0}}function dn(e=[]){return e.reduce((t,i)=>t+i,0)}function za(e,t,i,s){const n=[],o=[],a=Ea(e,t);for(const l in a){const u=a[l],{items:h,group:m}=u,d=dn(n),f=m.stackItems!==void 0?m.stackItems:s,{groupHeight:p}=La(h,f,i,d);o.push(d),m.height?n.push(m.height):n.push(Math.max(p,i))}return{height:dn(n),groupHeights:n,groupTops:o}}function La(e,t,i,s){let n=0,o=0;for(let a=0;a<e.length;a++){const l=t?Ma(i,e[a],e,n,s,a):Ra(i,e[a],n,s);n=l.groupHeight,o=l.verticalMargin}return{groupHeight:n,verticalMargin:o}}function Yt(e,t,i,s,n,o,a,l,u,h,m,d,f,p,g){const v=Er(e,s,n,o).map(C=>Pa({item:C,keys:o,draggingItem:h,resizingItem:m,dragTime:d,resizingEdge:f,resizeTime:p,groups:t,newGroupOrder:g}));if(t.length===0)return{dimensionItems:[],height:0,groupHeights:[],groupTops:[]};const y=Dr(t,o),j=v.map(C=>$a({item:C,keys:o,canvasTimeStart:s,canvasTimeEnd:n,canvasWidth:i,groupOrders:y,lineHeight:a,itemHeightRatio:l})).filter(C=>!!C),{height:x,groupHeights:T,groupTops:N}=za(j,y,a,u);return{dimensionItems:j,height:x,groupHeights:T,groupTops:N}}function Et(e,t){return e*t}function $a({item:e,keys:t,canvasTimeStart:i,canvasTimeEnd:s,canvasWidth:n,groupOrders:o,lineHeight:a,itemHeightRatio:l}){const u=xe(e,t.itemIdKey),h=Da({itemTimeStart:xe(e,t.itemTimeStartKey),itemTimeEnd:xe(e,t.itemTimeEndKey),canvasTimeStart:i,canvasTimeEnd:s,canvasWidth:n});if(h)return h.top=null,h.order=o[xe(e,t.itemGroupKey)],h.stack=!e.isOverlay,h.height=a*l,{id:u,dimensions:h}}function Pa({item:e,keys:t,draggingItem:i,resizingItem:s,dragTime:n,resizingEdge:o,resizeTime:a,groups:l,newGroupOrder:u}){if(!s&&!i)return e;const h=xe(e,t.itemIdKey),m=h===i,d=h===s,[f,p]=Ta({itemTimeStart:xe(e,t.itemTimeStartKey),itemTimeEnd:xe(e,t.itemTimeEndKey),isDragging:m,isResizing:d,dragTime:n,resizingEdge:o,resizeTime:a});return{...e,[t.itemTimeStartKey]:f,[t.itemTimeEndKey]:p,[t.itemGroupKey]:m?xe(l[u],t.groupIdKey):xe(e,t.itemGroupKey)}}function Ir(e,t,i){const s=t-e,n=e-s*(i-1)/2,o=n+s*i;return[n,o]}function bs(e,t,i,s,n,o,a){const l=o.buffer,u=a.canvasTimeStart,h=a.canvasTimeEnd,m=a.visibleTimeEnd-a.visibleTimeStart,d=t-e,f={...a,visibleTimeStart:e,visibleTimeEnd:t};if(!(d===m&&e>=u+m*.5&&e<=h-m*1.5&&t>=u+m*1.5&&t<=h-m*.5)||i){const[g,b]=Ir(e,t,l);f.canvasTimeStart=g,f.canvasTimeEnd=b;const v={...a,...f},y=Et(v.width,o.buffer);Object.assign(f,Yt(s,n,y,v.canvasTimeStart,v.canvasTimeEnd,o.keys,o.lineHeight,o.itemHeightRatio,o.stackItems,v.draggingItem,v.resizingItem,v.dragTime,v.resizingEdge,v.resizeTime,v.newGroupOrder))}return f}const Lf=Object.freeze(Object.defineProperty({__proto__:null,NEXT_UNITS:gs,calculateDimensions:Da,calculateInteractionNewTimes:Ta,calculateScrollCanvas:bs,calculateTimeForXPosition:kr,calculateXPositionForTime:Di,collision:Ia,coordinateToTimeRatio:hs,getCanvasBoundariesFromVisibleTime:Ir,getCanvasWidth:Et,getGroupOrders:Dr,getGroupedItems:Ea,getItemDimensions:$a,getItemWithInteractions:Pa,getMinUnit:xi,getNextUnit:Tr,getVisibleItems:Er,groupNoStack:Ra,groupStack:Ma,iterateTimes:Nr,minCellWidth:ps,stackAll:za,stackGroup:La,stackTimelineItems:Yt},Symbol.toStringTag,{value:"Module"}));function fn(e){let t=0,i=0,s=!0;for(;e;)!e.offsetParent&&e.tagName==="BODY"&&e.scrollLeft===0&&e.scrollTop===0&&(e=document.scrollingElement||e),t+=e.offsetLeft-(s?0:e.scrollLeft)+e.clientLeft,i+=e.offsetTop-(s?0:e.scrollTop)+e.clientTop,e=e.offsetParent,s=!1;return{x:t,y:i}}function xs(e){if(e===document.body)return{scrollLeft:0,scrollTop:0};{const t=xs(e.parentNode);return{scrollLeft:e.scrollLeft+t.scrollLeft,scrollTop:e.scrollTop+t.scrollTop}}}function ys(e){if(e===document.body||!e.offsetParent)return{offsetLeft:0,offsetTop:0};{const t=ys(e.offsetParent);return{offsetLeft:e.offsetLeft+t.offsetLeft,offsetTop:e.offsetTop+t.offsetTop}}}const $f={fontSize:12,color:"white",cursor:"pointer",background:"#2196f3",border:"1px solid #1a6fb3",zIndex:10},Pf={background:"#ffc107",border:"1px solid #ff9800",zIndex:10},Of={willChange:"left, top, width",cursor:"move"},Af={borderLeftWidth:3},Ff={cursor:"w-resize"},Wf={borderRightWidth:3},Bf={cursor:"e-resize"},Vf={position:"absolute",width:24,maxWidth:"20%",minWidth:2,height:"100%",top:0,left:0,cursor:"pointer",zIndex:88},Hf={position:"absolute",width:24,maxWidth:"20%",minWidth:2,height:"100%",top:0,right:0,cursor:"pointer",zIndex:88},_f={getTimelineState:()=>(console.warn('"getTimelineState" default func is being used'),{}),getLeftOffsetFromDate:()=>(console.warn('"getLeftOffsetFromDate" default func is being used'),0),getDateFromLeftOffsetPosition:()=>(console.warn('"getDateFromLeftOffsetPosition" default func is being used'),0),showPeriod:()=>{console.warn('"showPeriod" default func is being used')}},Yi=c.createContext(_f);function Oa(e){const{visibleTimeStart:t,visibleTimeEnd:i,canvasTimeStart:s,canvasTimeEnd:n,canvasWidth:o,showPeriod:a,timelineUnit:l,timelineWidth:u}=e,h=c.useMemo(()=>({getTimelineState:()=>({visibleTimeStart:t,visibleTimeEnd:i,canvasTimeStart:s,canvasTimeEnd:n,canvasWidth:o,timelineUnit:l,timelineWidth:u}),getLeftOffsetFromDate:m=>Di(s,n,o,m),getDateFromLeftOffsetPosition:m=>kr(s,n,o,m),showPeriod:a}),[t,i,s,n,o,l,u,a]);return r.jsx(Yi.Provider,{value:h,children:e.children})}Oa.displayName="TimelineStateProvider";const Gi=Yi.Consumer,qf=()=>c.useContext(Yi);jt.extend(pl);const Ri=class Ri extends c.Component{constructor(t){super(t),this.state={interactMounted:!1,dragging:!1,dragStart:null,preDragPosition:null,dragTime:null,dragGroupDelta:null,resizing:!1,resizeEdge:null,resizeStart:null,resizeTime:null},this.itemId="",this.itemTitle="",this.startedClicking=!1,this.startedTouching=!1,this.dragInProgress=!1,this.fireInteractEvent=i=>{if(this.item){const s=new CustomEvent("itemInteraction",{bubbles:!0,detail:{itemInteraction:i}});this.item.dispatchEvent(s)}},this.onMouseDown=i=>{this.state.interactMounted||(i.preventDefault(),this.startedClicking=!0)},this.onMouseUp=i=>{!this.state.interactMounted&&this.startedClicking&&(this.startedClicking=!1,this.actualClick(i,"click"))},this.onTouchStart=i=>{this.state.interactMounted||(i.preventDefault(),this.startedTouching=!0)},this.onTouchEnd=i=>{!this.state.interactMounted&&this.startedTouching&&(this.startedTouching=!1,this.actualClick(i,"touch"))},this.handleDoubleClick=i=>{i.stopPropagation(),this.props.onItemDoubleClick&&this.props.onItemDoubleClick(this.itemId,i)},this.handleContextMenu=i=>{this.props.onContextMenu&&(i.preventDefault(),i.stopPropagation(),this.props.onContextMenu(this.itemId,i))},this.getItemRef=i=>this.item=i,this.getDragLeftRef=i=>this.dragLeft=i,this.getDragRightRef=i=>this.dragRight=i,this.getItemProps=(i={})=>{const s="rct-item"+(this.props.item.className?` ${this.props.item.className}`:"");return{key:this.itemId,ref:this.getItemRef,title:this.itemDivTitle,className:s+` ${i.className?i.className:""}`,onMouseDown:Wt(this.onMouseDown,i.onMouseDown),onMouseUp:Wt(this.onMouseUp,i.onMouseUp),onTouchStart:Wt(this.onTouchStart,i.onTouchStart),onTouchEnd:Wt(this.onTouchEnd,i.onTouchEnd),onDoubleClick:Wt(this.handleDoubleClick,i.onDoubleClick),onContextMenu:Wt(this.handleContextMenu,i.onContextMenu),style:Object.assign({},this.getItemStyle(i))}},this.getResizeProps=(i={})=>{let s="rct-item-handler rct-item-handler-left rct-item-handler-resize-left";i.leftClassName&&(s+=` ${i.leftClassName}`);let n="rct-item-handler rct-item-handler-right rct-item-handler-resize-right";return i.rightClassName&&(n+=` ${i.rightClassName}`),{left:{ref:this.getDragLeftRef,className:s,style:Object.assign({},Vf,i.leftStyle)},right:{ref:this.getDragRightRef,className:n,style:Object.assign({},Hf,i.rightStyle)}}},this.cacheDataFromProps(t)}shouldComponentUpdate(t,i){return!_r(this.props,t)||!_r(this.state,i)}cacheDataFromProps(t){this.itemId=xe(t.item,t.keys.itemIdKey),this.itemTitle=xe(t.item,t.keys.itemTitleKey),this.itemDivTitle=t.keys.itemDivTitleKey?xe(t.item,t.keys.itemDivTitleKey):this.itemTitle,this.itemTimeStart=xe(t.item,t.keys.itemTimeStartKey),this.itemTimeEnd=xe(t.item,t.keys.itemTimeEndKey)}getTimeRatio(){const{canvasTimeStart:t,canvasTimeEnd:i,canvasWidth:s}=this.props;return hs(t,i,s)}dragTimeSnap(t,i){const{dragSnap:s}=this.props;if(s){const n=i?jt().utcOffset()*60*1e3:0;return Math.round(t/s)*s-n%s}else return t}resizeTimeSnap(t){const{dragSnap:i}=this.props;if(i){const s=this.itemTimeEnd%i;return Math.round((t-s)/i)*i+s}else return t}dragTime(t){const i=jt(this.itemTimeStart);return this.state.dragging?this.dragTimeSnap(this.timeFor(t)+this.state.dragStart.offset,!0):i.valueOf()}timeFor(t){const i=hs(this.props.canvasTimeStart,this.props.canvasTimeEnd,this.props.canvasWidth),s=ys(this.props.scrollRef).offsetLeft,n=xs(this.props.scrollRef);return(t.pageX-s+n.scrollLeft)*i+this.props.canvasTimeStart}dragGroupDelta(t){const{groupTops:i,order:s}=this.props;if(this.state.dragging){if(!this.props.canChangeGroup)return 0;let n=0;const o=ys(this.props.scrollRef).offsetTop,a=xs(this.props.scrollRef);for(const l of Object.keys(i)){const u=i[l];if(t.pageY-o+a.scrollTop>u)n=parseInt(l,10)-s.index;else break}return this.props.order.index+n<0?0-this.props.order.index:n}else return 0}resizeTimeDelta(t,i){const s=this.itemTimeEnd-this.itemTimeStart,n=this.dragTimeSnap((t.pageX-this.state.resizeStart)*this.getTimeRatio());return s+(i==="left"?-n:n)<(this.props.dragSnap||1e3)?i==="left"?s-(this.props.dragSnap||1e3):(this.props.dragSnap||1e3)-s:n}mountInteract(){const t=this.props.useResizeHandle?".rct-item-handler-resize-left":!0,i=this.props.useResizeHandle?".rct-item-handler-resize-right":!0;is(this.item).resizable({edges:{left:this.canResizeLeft()&&t,right:this.canResizeRight()&&i,top:!1,bottom:!1},enabled:this.props.selected&&(this.canResizeLeft()||this.canResizeRight())}).draggable({enabled:this.props.selected&&this.canMove()}).styleCursor(!1).on("dragstart",s=>{if(this.props.selected){this.dragInProgress=!0,this.fireInteractEvent(!0);const n=this.timeFor(s);this.setState({dragging:!0,dragStart:{x:s.pageX,y:s.pageY,offset:this.itemTimeStart-n},preDragPosition:{x:s.target.offsetLeft,y:s.target.offsetTop},dragTime:this.itemTimeStart,dragGroupDelta:0})}else return!1}).on("dragmove",s=>{this.state.dragging&&this.setState(n=>{if(!this.dragInProgress)return{...n};let o=this.dragTime(s);const a=this.dragGroupDelta(s);return this.props.moveResizeValidator&&(o=this.props.moveResizeValidator("move",this.props.item,o)),this.props.onDrag&&this.props.onDrag(this.itemId,o,this.props.order.index+a),{dragTime:o,dragGroupDelta:a}})}).on("dragend",s=>{if(this.state.dragging){if(this.props.onDrop){this.dragInProgress=!1,this.fireInteractEvent(!1);let n=this.dragTime(s);this.props.moveResizeValidator&&(n=this.props.moveResizeValidator("move",this.props.item,n)),this.props.onDrop(this.itemId,n,this.props.order.index+this.dragGroupDelta(s))}this.setState({dragging:!1,dragStart:null,preDragPosition:null,dragTime:null,dragGroupDelta:null})}}).on("resizestart",s=>{if(this.props.selected)this.fireInteractEvent(!0),this.setState({resizing:!0,resizeEdge:null,resizeStart:s.pageX,resizeTime:0});else return!1}).on("resizemove",s=>{if(this.state.resizing){let n=this.state.resizeEdge;n||(n=s.deltaRect.left!==0?"left":"right",this.setState({resizeEdge:n}));let o=this.resizeTimeSnap(this.timeFor(s));this.props.moveResizeValidator&&(o=this.props.moveResizeValidator("resize",this.props.item,o,n)),this.props.onResizing&&this.props.onResizing(this.itemId,o,n),this.setState({resizeTime:o})}}).on("resizeend",s=>{if(this.state.resizing){this.fireInteractEvent(!1);const{resizeEdge:n}=this.state;let o=this.resizeTimeSnap(this.timeFor(s));this.props.moveResizeValidator&&(o=this.props.moveResizeValidator("resize",this.props.item,o,n)),this.props.onResized&&this.props.onResized(this.itemId,o,n,this.resizeTimeDelta(s,n)),this.setState({resizing:!1,resizeStart:null,resizeEdge:null,resizeTime:null})}}).on("tap",s=>{this.actualClick(s,s.pointerType==="mouse"?"click":"touch")}),this.setState({interactMounted:!0})}canResizeLeft(t=this.props){var s;return!t.canResizeLeft||t.minResizeWidth===void 0?!1:parseInt((s=t.dimensions.width)==null?void 0:s.toString(),10)>=t.minResizeWidth}canResizeRight(t=this.props){var s;return!t.canResizeRight||t.minResizeWidth===void 0?!1:parseInt((s=t.dimensions.width)==null?void 0:s.toString(),10)>=t.minResizeWidth}canMove(t=this.props){return!!t.canMove}componentDidUpdate(t){this.cacheDataFromProps(this.props);let{interactMounted:i}=this.state;const s=t.selected&&this.canMove(t),n=t.selected&&this.canResizeLeft(t),o=t.selected&&this.canResizeRight(t),a=this.props.selected&&this.canMove(this.props),l=this.props.selected&&this.canResizeLeft(this.props),u=this.props.selected&&this.canResizeRight(this.props);if(this.item){if(this.props.selected&&!i&&(this.mountInteract(),i=!0),i&&(n!==l||o!==u)){const h=this.props.useResizeHandle?this.dragLeft:!0,m=this.props.useResizeHandle?this.dragRight:!0;is(this.item).resizable({enabled:l||u,edges:{top:!1,bottom:!1,left:l&&h,right:u&&m}})}i&&s!==a&&is(this.item).draggable({enabled:a})}else i=!1;i!==this.state.interactMounted&&this.setState({interactMounted:i})}actualClick(t,i){this.props.canSelect&&this.props.onSelect&&this.props.onSelect(this.itemId,i,t)}getItemStyle(t){const i=this.props.dimensions,s={position:"absolute",boxSizing:"border-box",left:`${i.left}px`,top:`${i.top}px`,width:`${i.width}px`,height:`${i.height}px`,lineHeight:`${i.height}px`};return Object.assign({},$f,this.props.selected?Pf:{},this.props.selected&&this.canMove(this.props)?Of:{},this.props.selected&&this.canResizeLeft(this.props)?Af:{},this.props.selected&&this.canResizeLeft(this.props)&&this.state.dragging?Ff:{},this.props.selected&&this.canResizeRight(this.props)?Wf:{},this.props.selected&&this.canResizeRight(this.props)&&this.state.dragging?Bf:{},t.style,s)}render(){var s,n;if(typeof this.props.order>"u"||this.props.order===null)return null;const t=this.context,i={dimensions:this.props.dimensions,useResizeHandle:!!this.props.useResizeHandle,title:this.itemTitle,canMove:this.canMove(this.props),canResizeLeft:this.canResizeLeft(this.props),canResizeRight:this.canResizeRight(this.props),selected:this.props.selected,dragging:this.state.dragging,dragStart:this.state.dragStart,dragTime:this.state.dragTime,dragGroupDelta:this.state.dragGroupDelta,resizing:this.state.resizing,resizeEdge:this.state.resizeEdge,resizeStart:this.state.resizeStart,resizeTime:this.state.resizeTime};return(n=(s=this.props)==null?void 0:s.itemRenderer)==null?void 0:n.call(s,{item:this.props.item,timelineContext:t,itemContext:i,getItemProps:this.getItemProps,getResizeProps:this.getResizeProps})}};Ri.defaultProps={selected:!1,itemRenderer:Rf},Ri.contextType=Yi;let vs=Ri;function Yf(e,t){const i=xe(e,"canResize")!==void 0?xe(e,"canResize"):t;return i==="left"||i==="both"}function Gf(e,t){const i=xe(e,"canResize")!==void 0?xe(e,"canResize"):t;return i==="right"||i==="both"||i===!0}class Aa extends c.Component{shouldComponentUpdate(t){return!(rs(t.groups,this.props.groups)&&rs(t.items,this.props.items)&&rs(t.dimensionItems,this.props.dimensionItems)&&t.keys===this.props.keys&&t.canvasTimeStart===this.props.canvasTimeStart&&t.canvasTimeEnd===this.props.canvasTimeEnd&&t.canvasWidth===this.props.canvasWidth&&t.selectedItem===this.props.selectedItem&&t.selected===this.props.selected&&t.dragSnap===this.props.dragSnap&&t.minResizeWidth===this.props.minResizeWidth&&t.canChangeGroup===this.props.canChangeGroup&&t.canMove===this.props.canMove&&t.canResize===this.props.canResize&&t.canSelect===this.props.canSelect)}isSelected(t,i){if(this.props.selected){const s=xe(t,i);return this.props.selected.includes(s)}else return this.props.selectedItem===xe(t,i)}getVisibleItems(t,i){const{keys:s,items:n}=this.props;return Er(n,t,i,s)}render(){const{canvasTimeStart:t,canvasTimeEnd:i,dimensionItems:s,keys:n,groups:o}=this.props,{itemIdKey:a,itemGroupKey:l}=n,u=Dr(o,n),h=this.getVisibleItems(t,i),m=Mf(s,"id");return r.jsx("div",{className:"rct-items",children:h.filter(d=>m[xe(d,a)]).map(d=>r.jsx(vs,{itemProps:d.itemProps,item:d,keys:this.props.keys,order:u[xe(d,l)],dimensions:m[xe(d,a)].dimensions,selected:this.isSelected(d,a),canChangeGroup:xe(d,"canChangeGroup")!==void 0?xe(d,"canChangeGroup"):this.props.canChangeGroup,canMove:xe(d,"canMove")!==void 0?xe(d,"canMove"):this.props.canMove,canResizeLeft:Yf(d,this.props.canResize),canResizeRight:Gf(d,this.props.canResize),canSelect:xe(d,"canSelect")!==void 0?xe(d,"canSelect"):this.props.canSelect,useResizeHandle:this.props.useResizeHandle,groupTops:this.props.groupTops,canvasTimeStart:this.props.canvasTimeStart,canvasTimeEnd:this.props.canvasTimeEnd,canvasWidth:this.props.canvasWidth,dragSnap:this.props.dragSnap,minResizeWidth:this.props.minResizeWidth,onResizing:this.props.itemResizing,onResized:this.props.itemResized,moveResizeValidator:this.props.moveResizeValidator,onDrag:this.props.itemDrag,onDrop:this.props.itemDrop,onItemDoubleClick:this.props.onItemDoubleClick,onContextMenu:this.props.onItemContextMenu,onSelect:this.props.itemSelect,itemRenderer:this.props.itemRenderer,scrollRef:this.props.scrollRef},xe(d,a)))})}}function Uf(e,t,i,s,n){return n?n({group:e,isRightSidebar:t}):xe(e,t?s:i)}function ws({groups:e,width:t,height:i,groupHeights:s,keys:n,groupRenderer:o,isRightSidebar:a=!1}){const{groupIdKey:l,groupTitleKey:u,groupRightTitleKey:h}=n,m={width:`${t}px`,height:`${i}px`},d={width:`${t}px`},f=e.map((p,g)=>{const b={height:`${s[g]}px`,lineHeight:`${s[g]}px`};return r.jsx("div",{className:"rct-sidebar-row rct-sidebar-row-"+(g%2===0?"even":"odd"),style:b,children:Uf(p,a,u,h,o)},String(xe(p,l)))});return r.jsx("div",{className:"rct-sidebar"+(a?" rct-sidebar-right":""),style:m,children:r.jsx("div",{style:d,children:f})})}ws.displayName="Sidebar";function Kf({canvasTimeStart:e,canvasTimeEnd:t,minUnit:i,timeSteps:s,height:n,verticalLineClassNamesForTime:o,getLeftOffsetFromDate:a}){const l=[];return Nr(e,t,i,s,(u,h)=>{const d=u.get(i==="day"?"date":i)===(i==="day"?1:0);let f=[];o&&(f=o(u.unix()*1e3,h.unix()*1e3-1));const p="rct-vl"+(d?" rct-vl-first":"")+(i==="day"||i==="hour"||i==="minute"?` rct-day-${u.day()} `:" ")+f.join(" "),g=a(u.valueOf()),b=a(h.valueOf());l.push(r.jsx("div",{className:p,style:{pointerEvents:"none",top:"0px",left:`${g}px`,width:`${b-g}px`,height:`${n}px`}},`line-${u.valueOf()}`))}),r.jsx("div",{className:"rct-vertical-lines",children:l})}function Fa(e){return r.jsx(Gi,{children:({getLeftOffsetFromDate:t})=>r.jsx(Kf,{getLeftOffsetFromDate:t,...e})})}Fa.displayName="ColumnsWrapper";function Wa({children:e,onClick:t,clickTolerance:i}){const s=c.useRef(null),n=c.useRef(!1),o=c.useCallback(h=>{s.current=h.clientX},[]),a=c.useCallback(h=>{i!==void 0&&s.current!==null&&Math.abs(s.current-h.clientX)>i&&(n.current=!0)},[i]),l=c.useCallback(h=>{n.current||t(h),n.current=!1,s.current=null},[t]),u=c.Children.only(e);return c.cloneElement(u,{onMouseDown:o,onMouseUp:a,onClick:l})}Wa.displayName="PreventClickOnDrag";function Mr({onContextMenu:e,onDoubleClick:t,isEvenRow:i,style:s,onClick:n,clickTolerance:o,horizontalLineClassNamesForGroup:a,group:l}){let u=[];return a&&(u=a(l)),r.jsx(Wa,{clickTolerance:o,onClick:n,children:r.jsx("div",{onContextMenu:e,onDoubleClick:t,className:(i?"rct-hl-even ":"rct-hl-odd ")+(u?u.join(" "):""),style:s})})}Mr.displayName="GroupRow";function Ba({canvasWidth:e,lineCount:t,groupHeights:i,onRowClick:s,onRowDoubleClick:n,clickTolerance:o,groups:a,horizontalLineClassNamesForGroup:l,onRowContextClick:u}){const h=[];for(let m=0;m<t;m+=1)h.push(r.jsx(Mr,{clickTolerance:o,onContextMenu:d=>u(d,m),onClick:d=>s(d,m),onDoubleClick:d=>n(d,m),isEvenRow:m%2===0,group:a[m],horizontalLineClassNamesForGroup:l,style:{width:`${e}px`,height:`${i[m]}px`}},`horizontal-line-${m}`));return r.jsx("div",{className:"rct-horizontal-lines",children:h})}Ba.displayName="GroupRows";function Va({width:e,height:t,scrollRef:i,onZoom:s,onWheelZoom:n,onScroll:o,children:a}){const l=c.useRef(null),[u,h]=c.useState(!1),m=c.useRef(null),d=c.useRef(null),f=c.useRef(null),p=c.useRef(null),g=c.useRef(!1),b=c.useCallback(()=>{l.current&&o(l.current.scrollLeft)},[o]),v=c.useCallback(w=>{const D=w.currentTarget;if(w.ctrlKey||w.metaKey||w.altKey){w.preventDefault();const R=fn(D),z=w.clientX-R.x,P=w.ctrlKey?10:w.metaKey?3:1;n(P,z,w.deltaY)}else w.shiftKey&&(w.preventDefault(),l.current&&o(l.current.scrollLeft+(w.deltaY||w.deltaX)))},[n,o]),y=c.useCallback(w=>{g.current=w.detail.itemInteraction},[]),j=c.useCallback(w=>{l.current&&(l.current.removeEventListener("wheel",v),l.current.removeEventListener("itemInteraction",y)),l.current=w,i(w),w&&(w.addEventListener("wheel",v,{passive:!1}),w.addEventListener("itemInteraction",y))},[i,v,y]);c.useEffect(()=>()=>{l.current&&(l.current.removeEventListener("wheel",v),l.current.removeEventListener("itemInteraction",y))},[v]);const x=c.useCallback(w=>{w.button===0&&(m.current=w.pageX,h(!0))},[]),T=c.useCallback(w=>{u&&!g.current&&m.current!==null&&(l.current&&o(l.current.scrollLeft+m.current-w.pageX),m.current=w.pageX)},[u,o]),N=c.useCallback(()=>{m.current=null,h(!1)},[]),C=c.useCallback(()=>{m.current=null,h(!1)},[]),k=c.useCallback(w=>{if(w.touches.length===2)w.preventDefault(),d.current=Math.abs(w.touches[0].screenX-w.touches[1].screenX),f.current=null,p.current=null;else if(w.touches.length===1){w.preventDefault();const D=w.touches[0].clientX,R=w.touches[0].clientY;d.current=null,f.current={x:D,y:R,screenY:window.pageYOffset},p.current={x:D,y:R,screenY:window.pageYOffset}}},[]),S=c.useCallback(w=>{if(g.current){w.preventDefault();return}if(d.current!==null&&w.touches.length===2){w.preventDefault();const D=Math.abs(w.touches[0].screenX-w.touches[1].screenX),R=fn(w.currentTarget),z=(w.touches[0].screenX+w.touches[1].screenX)/2-R.x;D!==0&&d.current!==0&&(s(d.current/D,z/e),d.current=D)}else if(p.current!==null&&f.current!==null&&w.touches.length===1){w.preventDefault();const D=w.touches[0].clientX,R=w.touches[0].clientY,z=D-p.current.x,P=D-f.current.x,F=R-f.current.y;p.current={x:D,y:R,screenY:window.pageYOffset};const W=Math.abs(P)*3>Math.abs(F),$=Math.abs(F)*3>Math.abs(P);z!==0&&W&&l.current&&o(l.current.scrollLeft-z),$&&window.scrollTo(window.pageXOffset,f.current.screenY-F)}},[s,o,e]),I=c.useCallback(()=>{d.current=null,p.current=null,f.current=null},[]),E={width:`${e}px`,height:`${t+20}px`,cursor:u?"move":"default",position:"relative"};return r.jsx("div",{ref:j,"data-testid":"scroll-element",className:"rct-scroll",style:E,onMouseDown:x,onMouseMove:T,onMouseUp:N,onMouseLeave:C,onTouchStart:k,onTouchMove:S,onTouchEnd:I,onScroll:b,children:a})}Va.displayName="ScrollElement";const Xf={subscribeToMouseOver:()=>(console.warn('"subscribeToMouseOver" default func is being used'),()=>{})},{Consumer:Qf,Provider:Zf}=c.createContext(Xf),Jf=Zf,em=Qf,tm={markers:[],subscribeMarker:()=>(console.warn("default subscribe marker used"),{unsubscribe:ns,getMarker:ns}),updateMarker:()=>(console.warn("default subscribe marker used"),ns)},Ha=c.createContext(tm);let mn=0;const im=()=>(mn+=1,mn+1);function _a(e){const[t,i]=c.useState([]),s=c.useCallback(a=>{const l={...a,id:im()};return i(u=>[...u,l]),{unsubscribe:()=>{i(u=>u.filter(h=>h.id!==l.id))},getMarker:()=>l}},[]),n=c.useCallback(a=>{i(l=>{const u=l.findIndex(h=>h.id===a.id);return u<0?l:[...l.slice(0,u),a,...l.slice(u+1)]})},[]),o={markers:t,subscribeMarker:s,updateMarker:n};return r.jsx(Ha.Provider,{value:o,children:e.children})}_a.displayName="TimelineMarkersProvider";const Ui=Ha.Consumer;var Bt=(e=>(e.Today="Today",e.Custom="Custom",e.Cursor="Cursor",e))(Bt||{});const sm={position:"absolute",top:0,bottom:0,width:"2px",backgroundColor:"black",pointerEvents:"none"},Rr=e=>({...sm,left:e}),zr=e=>function({styles:i}){return r.jsx("div",{style:i,"data-testid":e})},rm=zr("default-today-line"),Or=class Or extends c.Component{constructor(){super(...arguments),this.state={date:Date.now()}}componentDidMount(){this.intervalToken=this.createIntervalUpdater(this.props.interval)}componentDidUpdate(t){t.interval!==this.props.interval&&(clearInterval(this.intervalToken),this.intervalToken=this.createIntervalUpdater(this.props.interval))}createIntervalUpdater(t){return setInterval(()=>{this.setState({date:Date.now()})},t)}componentWillUnmount(){clearInterval(this.intervalToken)}render(){const{date:t}=this.state,i=this.props.getLeftOffsetFromDate(t),s=Rr(i);return this.props.renderer({styles:s,date:t})}};Or.defaultProps={renderer:rm};let js=Or;const nm=zr("default-customer-marker-id"),Ar=class Ar extends c.Component{render(){const{date:t}=this.props,i=this.props.getLeftOffsetFromDate(t),s=Rr(i);return this.props.renderer({styles:s,date:t})}};Ar.defaultProps={renderer:nm};let Ss=Ar;const om=zr("default-cursor-marker"),Fr=class Fr extends c.Component{constructor(t){super(t),this.handleCanvasMouseOver=({leftOffset:i,date:s,isCursorOverCanvas:n})=>{this.setState({leftOffset:i,date:s,isShowingCursor:n})},this.state={leftOffset:0,date:0,isShowingCursor:!1}}componentDidMount(){this.unsubscribe=this.props.subscribeToCanvasMouseOver(this.handleCanvasMouseOver)}componentWillUnmount(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}render(){const{isShowingCursor:t,leftOffset:i,date:s}=this.state;if(!t)return null;const n=Rr(i);return this.props.renderer?this.props.renderer({styles:n,date:s}):null}};Fr.defaultProps={renderer:om};let Cs=Fr;const qa=e=>r.jsx(em,{children:({subscribeToMouseOver:t})=>r.jsx(Cs,{subscribeToCanvasMouseOver:t,...e})});qa.displayName="CursorMarkerWrapper";const am=()=>r.jsx(Gi,{children:({getLeftOffsetFromDate:e,getTimelineState:t})=>r.jsx(Ui,{children:({markers:i})=>{const s=t();return i.map(n=>{switch(n.type){case Bt.Today:return new Date().valueOf()>=s.canvasTimeStart&&new Date().valueOf()<=s.canvasTimeEnd?r.jsx(js,{getLeftOffsetFromDate:e,renderer:n.renderer,interval:n.interval},n.id):null;case Bt.Custom:return n.date>=s.canvasTimeStart&&n.date<=s.canvasTimeEnd?r.jsx(Ss,{renderer:n.renderer,date:n.date,getLeftOffsetFromDate:e},n.id):null;case Bt.Cursor:return r.jsx(qa,{renderer:n.renderer,getLeftOffsetFromDate:e},n.id);default:return null}})}})}),lm={position:"absolute",left:0,right:0,top:0,bottom:0};function um({getDateFromLeftOffsetPosition:e,children:t}){const i=c.useRef(null),s=c.useRef(null),n=c.useCallback(u=>{if(s.current!==null&&i.current){const{pageX:h}=u,{left:m=0}=i.current.getBoundingClientRect(),d=h-m,f=e(d);s.current({leftOffset:d,date:f,isCursorOverCanvas:!0})}},[e]),o=c.useCallback(()=>{s.current!==null&&s.current({leftOffset:0,date:0,isCursorOverCanvas:!1})},[]),a=c.useCallback(u=>(s.current=u,()=>{s.current=null}),[]),l=c.useMemo(()=>({subscribeToMouseOver:a}),[a]);return r.jsx(Jf,{value:l,children:r.jsxs("div",{style:lm,onMouseMove:n,onMouseLeave:o,ref:i,children:[r.jsx(am,{}),t]})})}function Ya(e){return r.jsx(Gi,{children:({getDateFromLeftOffsetPosition:t})=>r.jsx(um,{getDateFromLeftOffsetPosition:t,...e})})}Ya.displayName="MarkerCanvas";function cm(e){e._resizeEventListener=()=>e.resize(),window.addEventListener("resize",e._resizeEventListener)}function dm(e){window.removeEventListener("resize",e._resizeEventListener)}const hn={addListener:cm,removeListener:dm},fm={groupIdKey:"id",groupTitleKey:"title",groupRightTitleKey:"rightTitle",groupLabelKey:"title",itemIdKey:"id",itemTitleKey:"title",itemDivTitleKey:"title",itemGroupKey:"group",itemTimeStartKey:"start_time",itemTimeEndKey:"end_time"},mm={second:1,minute:1,hour:1,day:1,month:1,year:1},hm={year:{long:"YYYY",mediumLong:"YYYY",medium:"YYYY",short:"YY"},month:{long:"MMMM YYYY",mediumLong:"MMMM",medium:"MMMM",short:"MM/YY"},week:{long:"w",mediumLong:"w",medium:"w",short:"w"},day:{long:"dddd, LL",mediumLong:"dddd, LL",medium:"dd D",short:"D"},hour:{long:"dddd, LL, HH:00",mediumLong:"L, HH:00",medium:"HH:00",short:"HH"},minute:{long:"HH:mm",mediumLong:"HH:mm",medium:"HH:mm",short:"mm"},second:{long:"mm:ss",mediumLong:"mm:ss",medium:"mm:ss",short:"ss"}},pm={registerScroll:()=>{console.warn("default registerScroll header used")},rightSidebarWidth:0,leftSidebarWidth:150,timeSteps:{}},Ga=c.createContext(pm);function Ua({children:e,rightSidebarWidth:t=0,leftSidebarWidth:i,timeSteps:s,registerScroll:n}){const o={rightSidebarWidth:t,leftSidebarWidth:i,timeSteps:s,registerScroll:n};return r.jsx(Ga.Provider,{value:o,children:e})}Ua.displayName="TimelineHeadersProvider";const gm=Ga,Lr=()=>c.useContext(gm),bm="left",Ka="right";function Xa({children:e,rightSidebarWidth:t=0,leftSidebarWidth:i,variant:s,headerData:n}){const o=c.useCallback((a={})=>{const{style:l={}}=a;return{style:{...l,width:s===Ka?t:i}}},[s,t,i]);return r.jsx(e,{getRootProps:o,data:n})}const xm=({getRootProps:e})=>r.jsx("div",{"data-testid":"sidebarHeader",...e()});function Ei(e){const{children:t,variant:i=bm,headerData:s}=e,{leftSidebarWidth:n,rightSidebarWidth:o}=Lr();return r.jsx(Xa,{leftSidebarWidth:n,rightSidebarWidth:o,variant:i,headerData:s,children:t||xm})}Ei.secretKey="SidebarHeader";Xa.displayName="SidebarHeader";const ym="SidebarHeader";function vm(e){return(e==null?void 0:e.type)===void 0?!1:e.type.secretKey===ym}function Qa({registerScroll:e,leftSidebarWidth:t,rightSidebarWidth:i,style:s,children:n,className:o,calendarHeaderStyle:a,calendarHeaderClassName:l}){const u=()=>({...s,display:"flex",width:"100%"}),h=()=>({...a,overflow:"hidden",width:`calc(100% - ${t+i}px)`}),m=Array.isArray(n)?n.filter(Boolean):n?[n]:[];let d=null,f=null;const p=[];return c.Children.map(m,g=>{var b;vm(g)?((b=g==null?void 0:g.props)==null?void 0:b.variant)===Ka?d=g:f=g:p.push(g)}),f||(f=r.jsx(Ei,{})),!d&&i&&(d=r.jsx(Ei,{variant:"right"})),r.jsxs("div",{"data-testid":"headerRootDiv",style:u(),className:qr("rct-header-root",o),children:[f,r.jsx("div",{ref:e,style:h(),className:qr("rct-calendar-header",l),"data-testid":"headerContainer",children:p}),d]})}Qa.secretKey="TimelineHeaders";function $r({children:e,style:t,className:i,calendarHeaderStyle:s,calendarHeaderClassName:n}){const{leftSidebarWidth:o,rightSidebarWidth:a,registerScroll:l}=Lr();return r.jsx(Qa,{leftSidebarWidth:o,rightSidebarWidth:a,registerScroll:l,style:t,className:i,calendarHeaderStyle:s,calendarHeaderClassName:n,children:e})}const Za="TimelineHeaders";$r.secretKey=Za;function wm({canvasTimeStart:e,canvasTimeEnd:t,unit:i,timeSteps:s,getLeftOffsetFromDate:n}){const o=[];return Nr(e,t,i,s,(a,l)=>{const u=n(a.valueOf()),h=n(l.valueOf());o.push({startTime:a,endTime:l,labelWidth:h-u,left:u})}),o}function jm({children:e,unit:t,timeSteps:i,visibleTimeStart:s,visibleTimeEnd:n,canvasTimeStart:o,canvasTimeEnd:a,canvasWidth:l,showPeriod:u,headerData:h,getLeftOffsetFromDate:m,height:d=30,timelineWidth:f}){const p=c.useMemo(()=>wm({canvasTimeStart:o,canvasTimeEnd:a,unit:t,timeSteps:i,getLeftOffsetFromDate:m}),[o,a,t,i,m]),g=c.useCallback((y={})=>({style:{...y.style??{},position:"relative",width:l,height:d}}),[l,d]),b=c.useCallback(y=>{const{interval:j,style:x}=y??{};if(!j)throw new Error("you should provide interval to the prop getter");const{startTime:T,labelWidth:N,left:C}=j;return{style:{...x,left:C,width:N,position:"absolute"},key:`label-${T.valueOf()}`}},[]),v=c.useMemo(()=>({headerContext:{unit:t,intervals:p},getRootProps:g,getIntervalProps:b,showPeriod:u,data:h}),[t,p,g,b,u,h]);return r.jsx(e,{...v})}function Pr({children:e,unit:t,headerData:i,height:s}){const{getTimelineState:n,showPeriod:o,getLeftOffsetFromDate:a}=qf(),l=n(),{timeSteps:u}=Lr();return r.jsx(jm,{children:e,timeSteps:u,showPeriod:o,unit:t??l.timelineUnit,visibleTimeStart:l.visibleTimeStart,visibleTimeEnd:l.visibleTimeEnd,canvasTimeStart:l.canvasTimeStart,canvasTimeEnd:l.canvasTimeEnd,canvasWidth:l.canvasWidth,timelineWidth:l.timelineWidth,headerData:i,getLeftOffsetFromDate:a,height:s??30})}Pr.displayName="CustomHeaderWrapper";class Sm extends c.PureComponent{constructor(){super(...arguments),this.onIntervalClick=()=>{const{primaryHeader:t,interval:i,unit:s,showPeriod:n}=this.props;if(t){const o=Tr(s),a=i.startTime.clone().startOf(o),l=i.startTime.clone().endOf(o);n(a,l)}else n(i.startTime,i.endTime)},this.getIntervalProps=(t={})=>({...this.props.getIntervalProps({interval:this.props.interval,...t}),onClick:Wt(this.onIntervalClick,t.onClick)})}render(){const{intervalText:t,interval:i,intervalRenderer:s,headerData:n}=this.props,o=s;if(o)return r.jsx(o,{getIntervalProps:this.getIntervalProps,intervalContext:{interval:i,intervalText:t},data:n});const{key:a,...l}=this.getIntervalProps();return c.createElement("div",{"data-testid":"dateHeaderInterval",...l,key:a,className:`rct-dateHeader ${this.props.primaryHeader?"rct-dateHeader-primary":""}`},r.jsx("span",{children:t}))}}function Cm({headerContext:{intervals:e,unit:t},getRootProps:i,getIntervalProps:s,showPeriod:n,data:{style:o,intervalRenderer:a,className:l,getLabelFormat:u,unitProp:h,headerData:m}}){return r.jsx("div",{"data-testid":"dateHeader",className:l,...i({style:o}),children:e.map(d=>{const f=u([d.startTime,d.endTime],t,d.labelWidth);return r.jsx(Sm,{unit:t,interval:d,showPeriod:n,intervalText:f,primaryHeader:h==="primaryHeader",getIntervalProps:s,intervalRenderer:a,headerData:m},`label-${d.startTime.valueOf()}`)})})}const km=pn(e=>({height:30,...e})),Nm=pn((e,t,i,s,n,o)=>({intervalRenderer:e,style:t,className:i??"",getLabelFormat:s,unitProp:n,headerData:o}));function Tm({unit:e,timelineUnit:t,labelFormat:i,style:s,className:n,intervalRenderer:o,headerData:a,height:l}){const u=e==="primaryHeader"?Tr(t):e??t,h=c.useMemo(()=>(d,f,p)=>{if(typeof i=="string")return d[0].format(i);if(typeof i=="function")return i(d,f,p);throw new Error("labelFormat should be function or string")},[i]),m=c.useMemo(()=>Nm(o??(()=>null),km(s),n,h,e,a),[o,s,n,h,e,a]);return r.jsx(Pr,{children:Cm,unit:u,height:l,headerData:m})}function Ii({labelFormat:e,unit:t,style:i,className:s,intervalRenderer:n,headerData:o,height:a}){return r.jsx(Gi,{children:({getTimelineState:l})=>{const u=l();return r.jsx(Tm,{timelineUnit:u.timelineUnit,unit:t,labelFormat:e??Dm,style:i,className:s,intervalRenderer:n,headerData:o,height:a})}})}function Dm([e],t,i,s=hm){let n;return i>=150?n=s[t].long:i>=100?n=s[t].mediumLong:i>=50?n=s[t].medium:n=s[t].short,e.format(n)}Ii.displayName="DateHeader";jt.extend(gl);const zi=class zi extends c.Component{constructor(t){super(t),this.getTimelineContext=()=>{const{width:f,visibleTimeStart:p,visibleTimeEnd:g,canvasTimeStart:b,canvasTimeEnd:v}=this.state,y=g-p,j=Et(f,this.props.buffer),x=xi(y,f,this.props.timeSteps);return{canvasWidth:j,timelineUnit:x,timelineWidth:f,visibleTimeStart:p,visibleTimeEnd:g,canvasTimeStart:b,canvasTimeEnd:v}},this.getTimelineUnit=()=>{const{width:f,visibleTimeStart:p,visibleTimeEnd:g}=this.state,{timeSteps:b}=this.props,v=g-p;return xi(v,f,b)},this.scrollComponent=null,this.scrollHeaderRef=null,this.resize=(f=this.props)=>{var N;const{width:p}=((N=this.container.current)==null?void 0:N.getBoundingClientRect())??{width:0},g=p-f.sidebarWidth-f.rightSidebarWidth,b=Et(g,f.buffer),{dimensionItems:v,height:y,groupHeights:j,groupTops:x}=Yt(f.items,f.groups,b,this.state.canvasTimeStart,this.state.canvasTimeEnd,f.keys,f.lineHeight,f.itemHeightRatio,f.stackItems,this.state.draggingItem,this.state.resizingItem,this.state.dragTime,this.state.resizingEdge,this.state.resizeTime,this.state.newGroupOrder);this.setState({width:g,dimensionItems:v,height:y,groupHeights:j,groupTops:x});const T=g*((f.buffer-1)/2);this.scrollComponent&&(this.scrollComponent.scrollLeft=T),this.scrollHeaderRef&&(this.scrollHeaderRef.scrollLeft=T)},this.onScroll=f=>{var y,j;const p=this.state.width,g=this.state.canvasTimeStart,b=this.state.visibleTimeEnd-this.state.visibleTimeStart,v=g+b*f/p;(this.state.visibleTimeStart!==v||this.state.visibleTimeEnd!==v+b)&&((j=(y=this.props).onTimeChange)==null||j.call(y,v,v+b,this.updateScrollCanvas,this.getTimelineUnit()))},this.updateScrollCanvas=(f,p,g=!1,b=this.props.items,v=this.props.groups)=>{this.setState(bs(f,p,g,b,v,this.props,this.state))},this.handleWheelZoom=(f,p,g)=>{this.changeZoom(1+f*g/500,p/this.state.width)},this.changeZoom=(f,p=.5)=>{const{minZoom:g,maxZoom:b}=this.props,v=this.state.visibleTimeEnd-this.state.visibleTimeStart,y=Math.min(Math.max(Math.round(v*f),g),b),j=Math.round(this.state.visibleTimeStart+(v-y)*p);this.props.onTimeChange&&this.props.onTimeChange(j,j+y,this.updateScrollCanvas,this.getTimelineUnit())},this.showPeriod=(f,p)=>{var y,j;const g=f.valueOf(),v=p.valueOf()-g;v<this.props.minZoom||(j=(y=this.props).onTimeChange)==null||j.call(y,g,g+v,this.updateScrollCanvas,this.getTimelineUnit())},this.selectItem=(f,p,g)=>{if(this.isItemSelected(f)||this.props.itemTouchSendsClick&&p==="touch"){if(f&&this.props.onItemClick){const b=this.timeFromItemEvent(g);this.props.onItemClick(f,g,b)}}else if(this.setState({selectedItem:f}),f&&this.props.onItemSelect){const b=this.timeFromItemEvent(g);this.props.onItemSelect(f,g,b)}else f===null&&this.props.onItemDeselect&&this.props.onItemDeselect(g)},this.doubleClickItem=(f,p)=>{if(this.props.onItemDoubleClick){const g=this.timeFromItemEvent(p);this.props.onItemDoubleClick(f,p,g)}},this.contextMenuClickItem=(f,p)=>{if(this.props.onItemContextMenu){const g=this.timeFromItemEvent(p);this.props.onItemContextMenu(f,p,g)}},this.getTimeFromRowClickEvent=f=>{const{dragSnap:p,buffer:g}=this.props,{width:b,canvasTimeStart:v,canvasTimeEnd:y}=this.state,{offsetX:j}=f.nativeEvent;let x=kr(v,y,Et(b,g),j);return x=Math.floor(x/p)*p,x},this.timeFromItemEvent=f=>{const{width:p,visibleTimeStart:g,visibleTimeEnd:b}=this.state,v=this.props.dragSnap,y=this.scrollComponent,{left:j}=y.getBoundingClientRect(),T=(f.clientX-j)/p,N=b-g,C=T*N;let k=Math.round(g+C);return k=Math.floor(k/v)*v,k},this.dragItem=(f,p,g)=>{const b=this.props.groups[g],v=this.props.keys;this.setState({draggingItem:f,dragTime:p,newGroupOrder:g,dragGroupTitle:b?xe(b,v.groupLabelKey):""}),this.updatingItem({eventType:"move",itemId:f,time:p,newGroupOrder:g})},this.dropItem=(f,p,g)=>{this.setState({draggingItem:null,dragTime:null,dragGroupTitle:null}),this.props.onItemMove&&this.props.onItemMove(f,p,g)},this.resizingItem=(f,p,g)=>{this.setState({resizingItem:f,resizingEdge:g,resizeTime:p}),this.updatingItem({eventType:"resize",itemId:f,time:p,edge:g||void 0})},this.resizedItem=(f,p,g,b)=>{this.setState({resizingItem:null,resizingEdge:null,resizeTime:null}),this.props.onItemResize&&b!==0&&this.props.onItemResize(f,p,g)},this.updatingItem=({eventType:f,itemId:p,time:g,edge:b,newGroupOrder:v})=>{this.props.onItemDrag&&(f==="move"?this.props.onItemDrag({eventType:f,itemId:p,time:g,newGroupOrder:v}):this.props.onItemDrag({eventType:f,itemId:p,time:g,edge:b}))},this.handleRowClick=(f,p)=>{if(this.hasSelectedItem()&&this.selectItem(null,"click",f),this.props.onCanvasClick==null)return;const g=this.getTimeFromRowClickEvent(f),b=xe(this.props.groups[p],this.props.keys.groupIdKey);this.props.onCanvasClick(b,g,f)},this.handleRowDoubleClick=(f,p)=>{if(this.props.onCanvasDoubleClick==null)return;const g=this.getTimeFromRowClickEvent(f),b=xe(this.props.groups[p],this.props.keys.groupIdKey);this.props.onCanvasDoubleClick(b,g,f)},this.handleScrollContextMenu=(f,p)=>{if(this.props.onCanvasContextMenu==null)return;const g=this.getTimeFromRowClickEvent(f),b=xe(this.props.groups[p],this.props.keys.groupIdKey);this.props.onCanvasContextMenu&&(f.preventDefault(),this.props.onCanvasContextMenu(b,g,f))},this.handleHeaderRef=f=>{this.scrollHeaderRef=f,this.props.headerRef&&this.props.headerRef(f)},this.isTimelineHeader=f=>f.type===void 0?!1:f.type.secretKey===Za,this.renderHeaders=()=>{if(this.props.children){let f;if(c.Children.map(this.props.children,p=>{this.isTimelineHeader(p)&&(f=p)}),f)return f}return r.jsxs($r,{children:[r.jsx(Ii,{unit:"primaryHeader"}),r.jsx(Ii,{})]})},this.getScrollElementRef=f=>{this.props.scrollRef&&this.props.scrollRef(f),this.scrollComponent=f},this.container=c.createRef(),this.getSelected=this.getSelected.bind(this),this.hasSelectedItem=this.hasSelectedItem.bind(this),this.isItemSelected=this.isItemSelected.bind(this);let i=null,s=null;if(this.props.defaultTimeStart&&this.props.defaultTimeEnd)i=this.props.defaultTimeStart,s=this.props.defaultTimeEnd;else if(this.props.visibleTimeStart&&this.props.visibleTimeEnd)i=this.props.visibleTimeStart,s=this.props.visibleTimeEnd;else throw new Error('You must provide either "defaultTimeStart" and "defaultTimeEnd" or "visibleTimeStart" and "visibleTimeEnd" to initialize the Timeline');const[n,o]=Ir(i,s,t.buffer),a={width:1e3,visibleTimeStart:i,visibleTimeEnd:s,canvasTimeStart:n,canvasTimeEnd:o,selectedItem:null,dragTime:null,dragGroupTitle:null,resizeTime:null,resizingItem:null,resizingEdge:null,newGroupOrder:0},l=Et(a.width,t.buffer),{dimensionItems:u,height:h,groupHeights:m,groupTops:d}=Yt(t.items,t.groups,l,a.canvasTimeStart,a.canvasTimeEnd,t.keys,t.lineHeight,t.itemHeightRatio,t.stackItems,a.draggingItem,a.resizingItem,a.dragTime,a.resizingEdge,a.resizeTime,a.newGroupOrder);a.dimensionItems=u,a.height=h,a.groupHeights=m,a.groupTops=d,this.state=a}componentDidMount(){this.resize(this.props),this.props.resizeDetector&&this.props.resizeDetector.addListener&&this.props.resizeDetector.addListener(this),hn.addListener(this)}componentWillUnmount(){this.props.resizeDetector&&this.props.resizeDetector.addListener&&this.props.resizeDetector.removeListener(this),hn.removeListener(this)}static getDerivedStateFromProps(t,i){const{visibleTimeStart:s,visibleTimeEnd:n,items:o,groups:a}=t,l={items:o,groups:a},u=o!==i.items||a!==i.groups;if(s&&n)Object.assign(l,bs(s,n,u,o,a,t,i));else if(u){const h=Et(i.width,t.buffer);Object.assign(l,Yt(o,a,h,i.canvasTimeStart,i.canvasTimeEnd,t.keys,t.lineHeight,t.itemHeightRatio,t.stackItems,i.draggingItem,i.resizingItem,i.dragTime,i.resizingEdge,i.resizeTime,i.newGroupOrder))}return l}componentDidUpdate(t,i){const s=this.state.visibleTimeEnd-this.state.visibleTimeStart,n=i.visibleTimeEnd-i.visibleTimeStart;this.props.onZoom&&s!==n&&this.props.onZoom(this.getTimelineContext(),this.getTimelineUnit()),this.props.onBoundsChange&&this.state.canvasTimeStart!==i.canvasTimeStart&&this.props.onBoundsChange(this.state.canvasTimeStart,this.state.canvasTimeStart+s*3);const o=Math.round(this.state.width*(this.state.visibleTimeStart-this.state.canvasTimeStart)/s);Math.round(i.width*(i.visibleTimeStart-i.canvasTimeStart)/n)!==o&&(this.scrollComponent.scrollLeft=o,this.scrollHeaderRef.scrollLeft=o)}columns(t,i,s,n,o,a){var l;return r.jsx(Fa,{canvasTimeStart:t,canvasTimeEnd:i,canvasWidth:s,lineCount:((l=this.props.groups)==null?void 0:l.length)||0,minUnit:n,timeSteps:o,height:a,verticalLineClassNamesForTime:this.props.verticalLineClassNamesForTime})}rows(t,i,s){var n;return r.jsx(Ba,{groups:s,canvasWidth:t,lineCount:((n=this.props.groups)==null?void 0:n.length)||0,groupHeights:i,clickTolerance:this.props.clickTolerance,onRowClick:this.handleRowClick,onRowDoubleClick:this.handleRowDoubleClick,horizontalLineClassNamesForGroup:this.props.horizontalLineClassNamesForGroup,onRowContextClick:this.handleScrollContextMenu})}items({canvasTimeStart:t,canvasTimeEnd:i,canvasWidth:s,dimensionItems:n,groupTops:o}){return r.jsx(Aa,{canvasTimeStart:t,canvasTimeEnd:i,canvasWidth:s,dimensionItems:n,groupTops:o,items:this.props.items,groups:this.props.groups,keys:this.props.keys,selectedItem:this.state.selectedItem||void 0,dragSnap:this.props.dragSnap,minResizeWidth:this.props.minResizeWidth,canChangeGroup:this.props.canChangeGroup,canMove:this.props.canMove,canResize:this.props.canResize,useResizeHandle:this.props.useResizeHandle,canSelect:this.props.canSelect,moveResizeValidator:this.props.moveResizeValidator,itemSelect:this.selectItem,itemDrag:this.dragItem,itemDrop:this.dropItem,onItemDoubleClick:this.doubleClickItem,onItemContextMenu:this.props.onItemContextMenu?this.contextMenuClickItem:void 0,itemResizing:this.resizingItem,itemResized:this.resizedItem,itemRenderer:this.props.itemRenderer,selected:this.props.selected,scrollRef:this.scrollComponent})}sidebar(t,i){const{sidebarWidth:s}=this.props;return s&&r.jsx(ws,{groups:this.props.groups,groupRenderer:this.props.groupRenderer,keys:this.props.keys,width:s,groupHeights:i,height:t})}rightSidebar(t,i){const{rightSidebarWidth:s}=this.props;return s&&r.jsx(ws,{groups:this.props.groups,keys:this.props.keys,groupRenderer:this.props.groupRenderer,isRightSidebar:!0,width:s,groupHeights:i,height:t})}childrenWithProps(t,i,s,n,o,a,l,u,h,m,d){if(!this.props.children)return null;const f=Array.isArray(this.props.children)?this.props.children.filter(g=>g):[this.props.children],p={canvasTimeStart:t,canvasTimeEnd:i,canvasWidth:s,visibleTimeStart:u,visibleTimeEnd:h,dimensionItems:n,items:this.props.items,groups:this.props.groups,keys:this.props.keys,groupHeights:o,groupTops:a,selected:this.getSelected(),height:l,minUnit:m,timeSteps:d};return c.Children.map(f,g=>this.isTimelineHeader(g)?null:c.cloneElement(g,p))}getSelected(){return this.state.selectedItem&&!this.props.selected?[this.state.selectedItem]:this.props.selected||[]}hasSelectedItem(){return Array.isArray(this.props.selected)?this.props.selected.length>0:!!this.state.selectedItem}isItemSelected(t){return this.getSelected().some(s=>s===t)}render(){const{items:t,groups:i,sidebarWidth:s,rightSidebarWidth:n,timeSteps:o,traditionalZoom:a,buffer:l}=this.props,{draggingItem:u,resizingItem:h,width:m,visibleTimeStart:d,visibleTimeEnd:f,canvasTimeStart:p,canvasTimeEnd:g}=this.state;let{dimensionItems:b,height:v,groupHeights:y,groupTops:j}=this.state;const x=f-d,T=Et(m,l),N=xi(x,m,o);if(!!u||!!h){const S=Yt(t,i,T,this.state.canvasTimeStart,this.state.canvasTimeEnd,this.props.keys,this.props.lineHeight,this.props.itemHeightRatio,this.props.stackItems,this.state.draggingItem,this.state.resizingItem,this.state.dragTime,this.state.resizingEdge,this.state.resizeTime,this.state.newGroupOrder);b=S.dimensionItems,v=S.height,y=S.groupHeights,j=S.groupTops}const k={height:`${v}px`};return r.jsx(Oa,{visibleTimeStart:d,visibleTimeEnd:f,canvasTimeStart:p,canvasTimeEnd:g,canvasWidth:T,showPeriod:this.showPeriod,timelineUnit:N,timelineWidth:this.state.width,children:r.jsx(_a,{children:r.jsx(Ua,{registerScroll:this.handleHeaderRef,timeSteps:o,leftSidebarWidth:this.props.sidebarWidth,rightSidebarWidth:this.props.rightSidebarWidth,children:r.jsxs("div",{style:this.props.style,ref:this.container,className:`react-calendar-timeline ${this.props.className}`,children:[this.renderHeaders(),r.jsxs("div",{style:k,className:"rct-outer",children:[s>0?this.sidebar(v,y):null,r.jsx(Va,{scrollRef:this.getScrollElementRef,width:m,height:v,onZoom:this.changeZoom,onWheelZoom:this.handleWheelZoom,traditionalZoom:!!a,onScroll:this.onScroll,children:r.jsxs(Ya,{children:[this.columns(p,g,T,N,o,v),this.rows(T,y,i),this.items({canvasTimeStart:p,canvasTimeEnd:g,canvasWidth:T,dimensionItems:b,groupTops:j}),this.childrenWithProps(p,g,T,b,y,j,v,d,f,N,o)]})}),n>0?this.rightSidebar(v,y):null]})]})})})})}};zi.setDayjsLocale=jt.locale,zi.defaultProps={sidebarWidth:150,rightSidebarWidth:0,dragSnap:1e3*60*15,minResizeWidth:20,lineHeight:30,itemHeightRatio:.65,buffer:3,minZoom:3600*1e3,maxZoom:5*365.24*86400*1e3,clickTolerance:3,canChangeGroup:!0,canMove:!0,canResize:"right",useResizeHandle:!1,canSelect:!0,stackItems:!1,traditionalZoom:!1,horizontalLineClassNamesForGroup:null,onItemMove:null,onItemResize:null,onItemClick:null,onItemSelect:null,onItemDeselect:null,onItemDrag:null,onCanvasClick:null,onItemDoubleClick:null,onItemContextMenu:null,onZoom:null,verticalLineClassNamesForTime:null,moveResizeValidator:null,dayBackground:null,defaultTimeStart:null,defaultTimeEnd:null,itemTouchSendsClick:!1,style:{},className:"",keys:fm,timeSteps:mm,headerRef:()=>{},scrollRef:()=>{},visibleTimeStart:null,visibleTimeEnd:null,onTimeChange:function(t,i,s){s(t,i)},onBoundsChange:null,children:null,selected:null};let Mi=zi;const Em=e=>e.children||null,Im=1e3*10;function Mm({interval:e=Im,updateMarker:t,subscribeMarker:i,children:s}){const n=c.useRef(null),o=c.useRef(null);return c.useEffect(()=>{const{unsubscribe:a,getMarker:l}=i({type:Bt.Today,renderer:s,interval:e});return n.current=a,o.current=l,()=>{n.current&&(n.current(),n.current=null)}},[i,e,s]),c.useEffect(()=>{if(o.current){const a=o.current();t({...a,interval:e})}},[e,t]),null}function Ja(e){return r.jsx(Ui,{children:({subscribeMarker:t,updateMarker:i})=>r.jsx(Mm,{subscribeMarker:t,updateMarker:i,...e})})}Ja.displayName="TodayMarker";function Rm({date:e,children:t,updateMarker:i,subscribeMarker:s}){const n=c.useRef(null);return c.useEffect(()=>{const{unsubscribe:o,getMarker:a}=s({type:Bt.Custom,renderer:t,date:e});return n.current=a,()=>{o&&o()}},[s,e,t]),c.useEffect(()=>{if(n.current){const o=n.current();i({...o,date:e})}},[e,i]),null}function el(e){return r.jsx(Ui,{children:({subscribeMarker:t,updateMarker:i})=>r.jsx(Rm,{subscribeMarker:t,updateMarker:i,...e})})}el.displayName="CustomMarker";function zm({subscribeMarker:e,children:t}){return c.useEffect(()=>{const{unsubscribe:i}=e({type:Bt.Cursor,renderer:t});return()=>{i&&i()}},[e,t]),null}function tl(e){return r.jsx(Ui,{children:({subscribeMarker:t})=>r.jsx(zm,{subscribeMarker:t,...e})})}tl.displayName="CursorMarker";exports.Accordion=mu;exports.ActionsCell=Xs;exports.Alert=Es;exports.AlertDialog=qu;exports.Avatar=yt;exports.AvatarsCell=Mo;exports.Badge=Kt;exports.Badges=Fn;exports.BarProgress=Jt;exports.Body=Ti;exports.Button=Ce;exports.ButtonCell=Lo;exports.ButtonGroup=Uu;exports.Calendar=Zn;exports.CalendarContent=Qn;exports.CalendarGrid=As;exports.CalendarHeader=Un;exports.Caption=mr;exports.Card=ft;exports.CardsWithAside=Bn;exports.CellRenderer=Bo;exports.Checkbox=Rt;exports.CheckboxCell=Po;exports.Code=hr;exports.ColorInput=qs;exports.ColorPalette=ho;exports.ColorPicker=Ys;exports.ColorPickerContent=po;exports.ColorSwatch=co;exports.CursorMarker=tl;exports.CustomHeader=Pr;exports.CustomMarker=el;exports.CustomText=pr;exports.DateCell=Js;exports.DateHeader=Ii;exports.DateInput=Kn;exports.DatePicker=Ut;exports.DatePickerPortal=Jn;exports.Day=_n;exports.Drawer=to;exports.Dropdown=lt;exports.DropdownCell=zo;exports.Emoji=xc;exports.EmojiPicker=no;exports.EmptyTableState=tr;exports.FilterCard=To;exports.FilterForm=yd;exports.FilterList=vd;exports.Filters=Sc;exports.GroupRow=Mr;exports.HeaderCell=Vo;exports.HelperText=Ts;exports.Icon=he;exports.IconCell=Oo;exports.InlineTooltip=$i;exports.InnerButton=me;exports.Input=Ge;exports.LabelProgress=ji;exports.Lightbox=uo;exports.LinearGraphic=ka;exports.LinearGraphicSegment=jr;exports.LinkCell=Io;exports.List=tc;exports.ListAlphabetic=dc;exports.ListBase=ro;exports.ListDefault=ic;exports.ListEmpty=so;exports.ListFilters=fc;exports.ListFiltersCheckbox=mc;exports.ListHeader=_s;exports.ListItem=Bs;exports.ListItemCheckbox=Hi;exports.ListItemDefault=xt;exports.ListItemRadio=Wi;exports.ListItemToggle=Vi;exports.ListItemUser=ai;exports.ListItemWithCheckbox=Vs;exports.ListSearchInput=Hs;exports.ListSeparator=bt;exports.ListUserList=lc;exports.ListUserProfile=cc;exports.ListUsersSelect=nc;exports.ListWithCheckbox=uc;exports.ListWithDataInHover=Sr;exports.ListWithRadio=rc;exports.ListWithSeparator=sc;exports.ListWithToggle=ac;exports.Logo=Nc;exports.MessageItem=vr;exports.MessagePositions=_i;exports.Messaging=bf;exports.Modal=ls;exports.ModalProvider=$n;exports.Month=qn;exports.MonthGrid=Fs;exports.MultipleCalendarsHeader=Xn;exports.NavigationButton=ei;exports.NotificationItem=wr;exports.NotificationPositions=qi;exports.Notifier=gf;exports.PROGRESS_COLOR_MAP=En;exports.Pagination=go;exports.PickerColor=Ys;exports.Popup=Ht;exports.PrimaryCell=Us;exports.ProgressBar=Ds;exports.ProgressBarCell=$o;exports.RadioButton=vo;exports.RadioButtonGroup=Jc;exports.Rating=ed;exports.ReactCalendarTimeline=Mi;exports.RowItems=Aa;exports.SelectionCheckbox=ti;exports.Separator=qe;exports.Sidebar=Sf;exports.SidebarDivider=di;exports.SidebarHeader=Ei;exports.SidebarMenuGroup=wa;exports.SidebarMenuItem=va;exports.SidebarSectionTitle=jf;exports.SidebarUserProfile=ja;exports.SidebarWorkspaceCard=Sa;exports.Skeleton=td;exports.SkeletonCell=Qs;exports.SkeletonRow=_o;exports.Spinner=Qc;exports.StarsCell=Ao;exports.StatusCell=Ks;exports.StepConnector=ko;exports.StepIcon=So;exports.StepItem=No;exports.StepLabel=Co;exports.Stepper=sd;exports.StoryBox=li;exports.StrapiApiError=pa;exports.Switch=Si;exports.TOGGLE_DESIGN_TOKENS=oc;exports.TabContent=Vn;exports.Table=Rd;exports.TableBody=qo;exports.TableCell=Gs;exports.TableContent=Yo;exports.TableHeader=Ho;exports.TableQueryProvider=of;exports.TableRow=er;exports.TableSelectionBar=Go;exports.TableToolbar=Eo;exports.Tag=Vt;exports.TagsCell=Zs;exports.Text=gr;exports.TextFieldCell=Ro;exports.TextListIndicator=Cr;exports.TextListWithData=Na;exports.Textarea=oo;exports.Timeline=Mi;exports.TimelineHeaders=$r;exports.TimelineMarkers=Em;exports.Title=oi;exports.TitleText=fr;exports.Toaster=pf;exports.TodayMarker=Ja;exports.Toggle=Bi;exports.Toolbar=wf;exports.Tooltip=Mt;exports.Visual=St;exports.WeekDay=Gn;exports.Wysiwyg=Cc;exports.Year=Yn;exports.YearGrid=Ws;exports.advancedFilterToTeamFilter=fa;exports.buildStrapiQueryString=lr;exports.calendarUtils=Lf;exports.cn=M;exports.configureMessage=uf;exports.configureStrapiClient=_d;exports.convertAdvancedFiltersToStrapi=ma;exports.convertFilterToStrapi=ds;exports.convertFiltersToStrapiQuery=ar;exports.createNormalizer=Ad;exports.createTableQueryClient=af;exports.fetchTeams=ki;exports.fetchTeamsRaw=xa;exports.fetchTeamsWithAdvancedFilters=Ni;exports.filterRows=ua;exports.findItemIndex=xl;exports.formatDate=Wo;exports.getLockedColumns=kd;exports.getNextSortConfig=Ko;exports.getStrapiConfig=ga;exports.getVisibleColumns=Cd;exports.isAllSelected=sr;exports.isSomeSelected=Zo;exports.isStrapiConfigured=qd;exports.labelVariants=xo;exports.messageService=We;exports.moveItem=bl;exports.normalizeStrapiList=rr;exports.normalizeStrаpiItem=da;exports.normalizeTeamsResponse=or;exports.notification=yf;exports.notificationService=Xe;exports.notify=vf;exports.parseDate=Fo;exports.radioButtonVariants=bo;exports.reorder=Li;exports.reorderColumns=ea;exports.resetColumns=Sd;exports.resizeColumn=ra;exports.searchRows=ca;exports.selectAllRows=wd;exports.selectRange=jd;exports.setColumnVisibility=ia;exports.sortRows=Uo;exports.strapiClient=ui;exports.strapiDelete=Gd;exports.strapiGet=ur;exports.strapiPost=Yd;exports.strapiPut=ba;exports.teamsQueryKeys=Be;exports.throttle=yl;exports.throttleWithTrailing=vl;exports.toast=xf;exports.toggleColumnLock=sa;exports.toggleColumnVisibility=ta;exports.toggleRowSelection=Qo;exports.toggleSortDirection=ir;exports.transformTeamAttributes=nr;exports.updateTeam=dr;exports.updateTeamName=ya;exports.useAnimationState=Is;exports.useBadges=An;exports.useBodyScrollLock=Ms;exports.useCalendar=ni;exports.useClickOutside=Mn;exports.useColumnsWithQueryState=sf;exports.useDateInput=Xu;exports.useDatePicker=Hn;exports.useDateRange=Os;exports.useDebouncedCallback=nf;exports.useDebouncedValue=rf;exports.useDragAndDrop=Rs;exports.useEscapeKey=Ai;exports.useFocusTrap=zs;exports.useGetElementOnClick=Tu;exports.useInitialFocus=zn;exports.useInvalidateTeams=Zd;exports.useLightbox=lo;exports.useMessage=br;exports.useMessageService=df;exports.useMessageStyles=xr;exports.useModalContext=ri;exports.useNotification=yr;exports.useNotificationService=hf;exports.usePortal=Ls;exports.useRadioButton=yo;exports.useRadioButtonGroup=wo;exports.useResizeAndScroll=Du;exports.useStepper=jo;exports.useTableColumns=na;exports.useTableData=Od;exports.useTableEdit=la;exports.useTableExpand=oa;exports.useTableFilter=zd;exports.useTableFocus=aa;exports.useTablePagination=Ld;exports.useTableQueryState=tf;exports.useTableSelection=Jo;exports.useTableSort=Xo;exports.useTeams=Kd;exports.useTeamsTable=Qd;exports.useTeamsWithFilters=Xd;exports.useToggle=io;exports.useUpdateTeam=Jd;exports.useUpdateTeamName=ef;exports.useWysiwyg=ao;
38
38
  //# sourceMappingURL=index.js.map