@redi.run/redi-components 0.0.59 → 0.0.60

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.
@@ -13018,26 +13018,26 @@ var buildThemePalette$1 = (e) => {
13018
13018
  children: e.count
13019
13019
  })
13020
13020
  ]
13021
- }, e.value), AdvancedFilter_default = ({ label: e, options: t, textValue: n, selectedValues: i, onTextChange: a, onSelectionChange: s, onClose: u, loading: p = !1 }) => {
13022
- let [m, h] = useState(""), g = useRef(null), _ = t.filter((e) => e.value.toLowerCase().includes(m.toLowerCase()) || e.label.toLowerCase().includes(m.toLowerCase())), v = (e) => {
13021
+ }, e.value), AdvancedFilter_default = ({ label: e, options: t, textValue: n, selectedValues: i, onTextChange: a, onSelectionChange: s, onClose: u, loading: p = !1, isServerRefetch: m = !1 }) => {
13022
+ let [h, g] = useState(""), _ = useRef(null), v = t.filter((e) => e.value.toLowerCase().includes(h.toLowerCase()) || e.label.toLowerCase().includes(h.toLowerCase())), y = (e) => {
13023
13023
  let t = i.includes(e.value) ? i.filter((t) => t !== e.value) : [...i, e.value];
13024
13024
  s(t);
13025
- }, y = () => {
13026
- let e = _.map((e) => e.value);
13027
- s(e);
13028
13025
  }, b = () => {
13026
+ let e = v.map((e) => e.value);
13027
+ s(e);
13028
+ }, x = () => {
13029
13029
  s([]), a("");
13030
13030
  };
13031
13031
  return useEffect(() => {
13032
13032
  let e = (e) => {
13033
- g.current && !g.current.contains(e.target) && u();
13033
+ _.current && !_.current.contains(e.target) && u();
13034
13034
  };
13035
13035
  return document.addEventListener("mousedown", e), () => {
13036
13036
  document.removeEventListener("mousedown", e);
13037
13037
  };
13038
13038
  }, [u]), /* @__PURE__ */ jsxs("div", {
13039
13039
  className: AdvancedTable_module_default.filterModal,
13040
- ref: g,
13040
+ ref: _,
13041
13041
  children: [
13042
13042
  /* @__PURE__ */ jsx("div", {
13043
13043
  className: AdvancedTable_module_default.filterModalHeader,
@@ -13045,8 +13045,8 @@ var buildThemePalette$1 = (e) => {
13045
13045
  type: "text",
13046
13046
  className: AdvancedTable_module_default.filterSearchInput,
13047
13047
  placeholder: `Buscar texto en ${e.toLowerCase()}...`,
13048
- value: m,
13049
- onChange: (e) => h(e.target.value),
13048
+ value: h,
13049
+ onChange: (e) => g(e.target.value),
13050
13050
  style: { marginTop: "8px" }
13051
13051
  })
13052
13052
  }),
@@ -13060,12 +13060,12 @@ var buildThemePalette$1 = (e) => {
13060
13060
  paddingBottom: "8px"
13061
13061
  },
13062
13062
  children: [/* @__PURE__ */ jsx(Button_default, {
13063
- onClick: y,
13063
+ onClick: b,
13064
13064
  size: "small",
13065
13065
  level: "tertiary",
13066
13066
  children: "Seleccionar todo"
13067
13067
  }), /* @__PURE__ */ jsx(Button_default, {
13068
- onClick: b,
13068
+ onClick: x,
13069
13069
  size: "small",
13070
13070
  level: "tertiary",
13071
13071
  children: "Limpiar todo"
@@ -13076,15 +13076,15 @@ var buildThemePalette$1 = (e) => {
13076
13076
  className: AdvancedTable_module_default.filterOptionLabel,
13077
13077
  children: "Cargando opciones..."
13078
13078
  })
13079
- }) : _.length > 0 ? _.map((e, t) => {
13080
- let n = _[t - 1], a = e.group && (!n || n.group !== e.group);
13079
+ }) : v.length > 0 ? v.map((e, t) => {
13080
+ let n = v[t - 1], a = e.group && (!n || n.group !== e.group);
13081
13081
  return /* @__PURE__ */ jsxs("div", { children: [a && /* @__PURE__ */ jsx("div", {
13082
13082
  className: "px-3 py-1 text-xs font-bold text-gray-500 bg-gray-50 uppercase tracking-wider",
13083
13083
  children: e.group
13084
13084
  }), /* @__PURE__ */ jsx(FilterOption, {
13085
13085
  option: e,
13086
13086
  selectedValues: i,
13087
- handleOptionToggle: v
13087
+ handleOptionToggle: y
13088
13088
  })] }, e.value);
13089
13089
  }) : /* @__PURE__ */ jsx("div", {
13090
13090
  className: AdvancedTable_module_default.filterOption,
@@ -13097,10 +13097,20 @@ var buildThemePalette$1 = (e) => {
13097
13097
  /* @__PURE__ */ jsxs("div", {
13098
13098
  className: AdvancedTable_module_default.filterModalActions,
13099
13099
  children: [/* @__PURE__ */ jsx(Button_default, {
13100
- onClick: b,
13100
+ onClick: x,
13101
13101
  level: "tertiary",
13102
13102
  children: "Limpiar todo"
13103
- }), /* @__PURE__ */ jsxs(Button_default, {
13103
+ }), m ? /* @__PURE__ */ jsx(Button_default, {
13104
+ onClick: () => {
13105
+ if (h.trim()) {
13106
+ let e = h.trim();
13107
+ i.includes(e) || s([...i, e]);
13108
+ }
13109
+ u();
13110
+ },
13111
+ level: "primary",
13112
+ children: "Buscar Avanzado"
13113
+ }) : /* @__PURE__ */ jsxs(Button_default, {
13104
13114
  onClick: u,
13105
13115
  level: "primary",
13106
13116
  children: [
@@ -13943,7 +13953,8 @@ var AdvancedTable_default = ({ data: e, columns: t, defaultSort: n, defaultFilte
13943
13953
  onTextChange: (t) => Lh(e.id, t, "text"),
13944
13954
  onSelectionChange: (t) => Lh(e.id, t, "multiselect"),
13945
13955
  onClose: () => Ah(null),
13946
- loading: Mh[e.id] || !1
13956
+ loading: Mh[e.id] || !1,
13957
+ isServerRefetch: !!bh && !!e.shouldBeRefetch
13947
13958
  })]
13948
13959
  })
13949
13960
  })]
@@ -104,13 +104,13 @@ function Xd(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function
104
104
  ${e===`icon`?w[r]:C[r]}
105
105
  ${S?`cursor-pointer`:`cursor-not-allowed opacity-60`}
106
106
  ${m||``}
107
- `,...h,children:[s&&(0,n.jsxs)(`svg`,{className:`animate-spin -ml-1 mr-1 h-4 w-4 text-current`,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,children:[(0,n.jsx)(`circle`,{className:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`4`}),(0,n.jsx)(`path`,{className:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z`})]}),u||(0,n.jsxs)(n.Fragment,{children:[l&&a===`left`&&!s&&l,c&&e!==`icon`&&(0,n.jsx)(`span`,{children:c}),l&&a===`right`&&!s&&l]})]})},lp={controls:`_controls_1pwn9_1`,leftControls:`_leftControls_1pwn9_10`,rightControls:`_rightControls_1pwn9_16`,configButton:`_configButton_1pwn9_23`,configIcon:`_configIcon_1pwn9_42`,configSection:`_configSection_1pwn9_49`,configSectionTitle:`_configSectionTitle_1pwn9_57`,configOptions:`_configOptions_1pwn9_66`,configOption:`_configOption_1pwn9_66`,actionButton:`_actionButton_1pwn9_91`,export:`_export_1pwn9_110`,reset:`_reset_1pwn9_120`,buttonIcon:`_buttonIcon_1pwn9_130`,filtersContainer:`_filtersContainer_1pwn9_137`,active:`_active_1pwn9_145`,filtersRow:`_filtersRow_1pwn9_149`,filterGroup:`_filterGroup_1pwn9_156`,filterLabel:`_filterLabel_1pwn9_162`,filterDropdown:`_filterDropdown_1pwn9_172`,filterDropdownButton:`_filterDropdownButton_1pwn9_177`,filterDropdownIcon:`_filterDropdownIcon_1pwn9_200`,filterModalHeader:`_filterModalHeader_1pwn9_212`,filterSearchInput:`_filterSearchInput_1pwn9_217`,filterOptions:`_filterOptions_1pwn9_231`,filterOption:`_filterOption_1pwn9_231`,selected:`_selected_1pwn9_250`,filterOptionCheckbox:`_filterOptionCheckbox_1pwn9_254`,filterOptionLabel:`_filterOptionLabel_1pwn9_260`,filterOptionCount:`_filterOptionCount_1pwn9_266`,filterModalActions:`_filterModalActions_1pwn9_275`,filterClearButton:`_filterClearButton_1pwn9_284`,filterApplyButton:`_filterApplyButton_1pwn9_285`,tableWrapper:`_tableWrapper_1pwn9_315`,table:`_table_1pwn9_315`,header:`_header_1pwn9_332`,dragging:`_dragging_1pwn9_349`,dragOver:`_dragOver_1pwn9_354`,headerContent:`_headerContent_1pwn9_359`,dragHandle:`_dragHandle_1pwn9_367`,columnTitle:`_columnTitle_1pwn9_384`,sortable:`_sortable_1pwn9_391`,sortIcon:`_sortIcon_1pwn9_408`,filterButton:`_filterButton_1pwn9_415`,filterButtonIcon:`_filterButtonIcon_1pwn9_451`,filterModal:`_filterModal_1pwn9_212`,row:`_row_1pwn9_474`,cell:`_cell_1pwn9_486`,statusBadge:`_statusBadge_1pwn9_507`,statusActive:`_statusActive_1pwn9_517`,statusInactive:`_statusInactive_1pwn9_522`,statusPending:`_statusPending_1pwn9_527`,statusCompleted:`_statusCompleted_1pwn9_532`,statusDraft:`_statusDraft_1pwn9_537`,pagination:`_pagination_1pwn9_543`,paginationInfo:`_paginationInfo_1pwn9_553`,paginationControls:`_paginationControls_1pwn9_560`,pageSizeSelect:`_pageSizeSelect_1pwn9_575`,pageButtons:`_pageButtons_1pwn9_591`,pageButton:`_pageButton_1pwn9_591`,exportButton:`_exportButton_1pwn9_659`,resetButton:`_resetButton_1pwn9_660`,filterModalSlideIn:`_filterModalSlideIn_1pwn9_1`,shimmer:`_shimmer_1pwn9_1`,columnCheckboxes:`_columnCheckboxes_1pwn9_1195`},up=({option:e,selectedValues:t,handleOptionToggle:r})=>(0,n.jsxs)(`div`,{className:`${lp.filterOption} ${t.includes(e.value)?lp.selected:``}`,onClick:()=>r(e),children:[(0,n.jsx)(`input`,{type:`checkbox`,className:lp.filterOptionCheckbox,checked:t.includes(e.value),onChange:()=>r(e),onClick:e=>e.stopPropagation()}),(0,n.jsx)(`span`,{className:lp.filterOptionLabel,children:e.value}),(0,n.jsx)(`span`,{className:lp.filterOptionCount,children:e.count})]},e.value),dp=({label:e,options:r,textValue:i,selectedValues:a,onTextChange:o,onSelectionChange:s,onClose:c,loading:l=!1})=>{let[u,d]=(0,t.useState)(``),f=(0,t.useRef)(null),p=r.filter(e=>e.value.toLowerCase().includes(u.toLowerCase())||e.label.toLowerCase().includes(u.toLowerCase())),m=e=>{let t=a.includes(e.value)?a.filter(t=>t!==e.value):[...a,e.value];s(t)},h=()=>{let e=p.map(e=>e.value);s(e)},g=()=>{s([]),o(``)};return(0,t.useEffect)(()=>{let e=e=>{f.current&&!f.current.contains(e.target)&&c()};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[c]),(0,n.jsxs)(`div`,{className:lp.filterModal,ref:f,children:[(0,n.jsx)(`div`,{className:lp.filterModalHeader,children:(0,n.jsx)(`input`,{type:`text`,className:lp.filterSearchInput,placeholder:`Buscar texto en ${e.toLowerCase()}...`,value:u,onChange:e=>d(e.target.value),style:{marginTop:`8px`}})}),(0,n.jsxs)(`div`,{className:lp.filterOptions,children:[(0,n.jsxs)(`div`,{className:lp.filterOption,style:{borderBottom:`1px solid #e5e7eb`,marginBottom:`4px`,paddingBottom:`8px`},children:[(0,n.jsx)(cp,{onClick:h,size:`small`,level:`tertiary`,children:`Seleccionar todo`}),(0,n.jsx)(cp,{onClick:g,size:`small`,level:`tertiary`,children:`Limpiar todo`})]}),l?(0,n.jsx)(`div`,{className:lp.filterOption,children:(0,n.jsx)(`span`,{className:lp.filterOptionLabel,children:`Cargando opciones...`})}):p.length>0?p.map((e,t)=>{let r=p[t-1],i=e.group&&(!r||r.group!==e.group);return(0,n.jsxs)(`div`,{children:[i&&(0,n.jsx)(`div`,{className:`px-3 py-1 text-xs font-bold text-gray-500 bg-gray-50 uppercase tracking-wider`,children:e.group}),(0,n.jsx)(up,{option:e,selectedValues:a,handleOptionToggle:m})]},e.value)}):(0,n.jsx)(`div`,{className:lp.filterOption,children:(0,n.jsx)(`span`,{className:lp.filterOptionLabel,children:`No se encontraron opciones`})})]}),(0,n.jsxs)(`div`,{className:lp.filterModalActions,children:[(0,n.jsx)(cp,{onClick:g,level:`tertiary`,children:`Limpiar todo`}),(0,n.jsxs)(cp,{onClick:c,level:`primary`,children:[`Aplicar (`,a.length+(i?1:0),`)`]})]})]})};let fp=e=>{let{data:n,columns:r,defaultSort:i,defaultFilters:a={},defaultPageSize:o=10,pageSizeOptions:s=[10,25,50,100,200,300,400,500],initialConfig:c,onConfigChange:l,onPaginationChange:u,onFiltersChange:d,fetchData:f,rowKey:p=`id`,onRowSelectionChange:m,syncFiltersWithUrl:h=!1,enablePagination:g=!0}=e,[_,v]=(0,t.useState)(c?.sort||i||void 0),[y,b]=(0,t.useState)(()=>{let e=c?.filters||a;if(h&&typeof window<`u`){let t=new URLSearchParams(window.location.search),n={...e};return t.forEach((e,i)=>{if(!r.find(e=>e.id===i))return;let a=n[i];if(a)Array.isArray(a.value)?n[i]={...a,value:[...a.value,e],type:`multiselect`}:n[i]={...a,value:[a.value,e],type:`multiselect`};else{let r=t.getAll(i);r.length>1?n[i]={type:`multiselect`,value:r}:n[i]={type:`text`,value:e}}}),n}return e}),[x,S]=(0,t.useState)(c?.columnOrder||r.map(e=>e.id)),[C,w]=(0,t.useState)(c?.hiddenColumns||[]),[T,E]=(0,t.useState)(c?.pinnedColumns||[]),[D,O]=(0,t.useState)([]),[k,A]=(0,t.useState)({}),[ee,te]=(0,t.useState)({page:1,pageSize:c?.pagination?.pageSize||o}),[j,M]=(0,t.useState)([]),[ne,re]=(0,t.useState)(0),[ie,ae]=(0,t.useState)(0),[N,oe]=(0,t.useState)(!1),[se,ce]=(0,t.useState)(0);(0,t.useEffect)(()=>{let e=r.map(e=>e.id);S(t=>{let n=t.filter(t=>e.includes(t)),r=e.filter(e=>!n.includes(e));return[...n,...r]}),w(t=>t.filter(t=>e.includes(t))),E(t=>t.filter(t=>e.includes(t)))},[r]);let le=(0,t.useMemo)(()=>{let e=[];return e=f?[...j]:[...n],Object.entries(y).forEach(([t,n])=>{let i=r.find(e=>e.id===t);i&&(f&&i.shouldBeRefetch||(e=e.filter(e=>{let t=typeof i.accessor==`function`?i.accessor(e):e[i.accessor],r=String(t||``).toLowerCase(),a=!0;return n.type===`text`&&n.value&&(a&&=r.includes(String(n.value).toLowerCase())),n.type===`select`&&n.value&&(a&&=r===String(n.value).toLowerCase()),n.type===`multiselect`&&Array.isArray(n.value)&&n.value.length>0&&(a&&=n.value.some(e=>r===String(e).toLowerCase())),a})))}),e},[n,y,r,f,j]),ue=f?ne:le.length,de=f?ie:n.length,P=(0,t.useMemo)(()=>({page:ee.page,pageSize:ee.pageSize,total:ue}),[ee.page,ee.pageSize,ue]),F=(0,t.useMemo)(()=>{if(f||!_)return le;let e=r.find(e=>e.id===_.column);return e?[...le].sort((t,n)=>{let r=typeof e.accessor==`function`?e.accessor(t):t[e.accessor],i=typeof e.accessor==`function`?e.accessor(n):n[e.accessor];if(r==null)return 1;if(i==null)return-1;let a=0;if(typeof r==`number`&&typeof i==`number`)a=r-i;else if(typeof r==`boolean`&&typeof i==`boolean`)a=r===i?0:r?1:-1;else if(r instanceof Date&&i instanceof Date)a=r.getTime()-i.getTime();else{let e=String(r).toLowerCase(),t=String(i).toLowerCase();a=e.localeCompare(t)}return _.direction===`desc`?a*-1:a}):le},[le,_,r,f]),fe=(0,t.useMemo)(()=>{if(f||!g)return F;let e=(P.page-1)*P.pageSize,t=e+P.pageSize;return F.slice(e,t)},[F,P.page,P.pageSize,f,g]),pe=(0,t.useCallback)(async()=>{if(f){oe(!0);try{let e={page_number:P.page,page_size:P.pageSize};_&&(e.order_by=`${_.direction===`desc`?`-`:``}${_.column}`),Object.entries(y).forEach(([t,n])=>{n.value&&r.find(e=>e.id===t)?.shouldBeRefetch&&(e[t]=n.value)});let t=await f(e);M(t.items),re(t.total_items),t.total_unfiltered_items===void 0?Object.entries(y).some(([e,t])=>r.find(t=>t.id===e)?.shouldBeRefetch&&t.value&&(Array.isArray(t.value)?t.value.length>0:!0))||ae(t.total_items):ae(t.total_unfiltered_items)}catch(e){console.error(`Failed to fetch data:`,e)}finally{oe(!1)}}},[f,P.page,P.pageSize,_,y,r]),me=(0,t.useRef)(!0),he=(0,t.useRef)(y),I=(0,t.useRef)(_),ge=(0,t.useRef)(P.page),L=(0,t.useRef)(P.pageSize),_e=(0,t.useRef)(se);(0,t.useEffect)(()=>{if(f){let e=!1,t=JSON.stringify(y)!==JSON.stringify(he.current);if(me.current)e=!0,me.current=!1;else if(se!==_e.current)e=!0,_e.current=se;else if(P.page!==ge.current||P.pageSize!==L.current)e=!0;else if(JSON.stringify(_)!==JSON.stringify(I.current))e=!0;else if(t){let t=Object.keys(he.current),n=Object.keys(y),i=Array.from(new Set([...t,...n]));for(let t of i)if(JSON.stringify(he.current[t])!==JSON.stringify(y[t])&&r.find(e=>e.id===t)?.shouldBeRefetch===!0){e=!0;break}}ge.current=P.page,L.current=P.pageSize,I.current=_,he.current=y,e&&pe()}},[pe,se,f,P.page,P.pageSize,_,y,r]),(0,t.useEffect)(()=>{if(!f){let e=Math.ceil(ue/P.pageSize)||1;P.page>e&&te(t=>({...t,page:e}))}},[ue,P.pageSize,f,P.page]),(0,t.useEffect)(()=>{l?.({columns:r,sort:_,filters:y,pagination:P,columnOrder:x,hiddenColumns:C,pinnedColumns:T})},[_,y,x,C,T,P.pageSize,l,P,r]),(0,t.useEffect)(()=>{u?.(P)},[P,u]),(0,t.useEffect)(()=>{d?.(y)},[y,d]),(0,t.useEffect)(()=>{if(h&&typeof window<`u`){let e=new URLSearchParams(window.location.search);r.forEach(t=>{e.delete(t.id)}),Object.entries(y).forEach(([t,n])=>{n.value&&(Array.isArray(n.value)?n.value.forEach(n=>e.append(t,String(n))):e.set(t,String(n.value)))});let t=`${window.location.pathname}?${e.toString()}`;window.history.replaceState({},``,t)}},[y,h,r,f]);let ve=(0,t.useCallback)(e=>{v(t=>t?.column===e?t.direction===`asc`?{column:e,direction:`desc`}:void 0:{column:e,direction:`asc`})},[]),ye=(0,t.useCallback)((e,t,n=`text`)=>{b(r=>({...r,[e]:{type:n,value:t,options:r[e]?.options}})),te(e=>({...e,page:1}))},[]),be=(0,t.useCallback)(e=>{b(t=>{let n={...t};return delete n[e],n})},[]),xe=(0,t.useCallback)(()=>{b({})},[]),Se=(0,t.useCallback)(e=>{te(t=>({...t,page:e}))},[]),Ce=(0,t.useCallback)(e=>{te(t=>({...t,pageSize:e,page:1}))},[]),we=(0,t.useCallback)(e=>{S(e)},[]),R=(0,t.useCallback)(e=>{w(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),Te=(0,t.useCallback)(e=>{E(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),Ee=(0,t.useCallback)(e=>{O(t=>{let n=t.includes(e)?t.filter(t=>t!==e):[...t,e];return m?.(n),n})},[m]),De=(0,t.useCallback)(e=>{O(t=>{let n=e.map(e=>typeof p==`function`?p(e):e[p]),r=n.every(e=>t.includes(e)),i;if(r)i=t.filter(e=>!n.includes(e));else{let e=n.filter(e=>!t.includes(e));i=[...t,...e]}return m?.(i),i})},[p,m]),Oe=(0,t.useCallback)((e,t)=>{A(n=>({...n,[e]:Math.max(50,t)}))},[]),ke=(0,t.useMemo)(()=>{let e=new Map(r.map(e=>[e.id,e])),t=x.map(t=>e.get(t)).filter(Boolean),n=new Set(t.map(e=>e.id)),i=r.filter(e=>!n.has(e.id));return[...t,...i].filter(e=>!C.includes(e.id))},[x,r,C]),Ae=(0,t.useCallback)(()=>{ce(e=>e+1)},[]);return{state:{data:n,filteredData:le,paginatedData:fe,sortConfig:_,filters:y,pagination:P,columnOrder:x,hiddenColumns:C,pinnedColumns:T,selectedRows:D,columnWidths:k,loading:N,totalUnfiltered:de},orderedColumns:ke,pageSizeOptions:s,handleSort:ve,handleFilter:ye,clearFilter:be,clearAllFilters:xe,handlePageChange:Se,handlePageSizeChange:Ce,handleColumnReorder:we,handleToggleColumn:R,handleTogglePin:Te,handleRowSelect:Ee,handleSelectAll:De,handleColumnResize:Oe,allColumns:r,refresh:Ae}};var pp=({data:e,columns:r,defaultSort:i,defaultFilters:a={},defaultPageSize:o=10,pageSizeOptions:s=[10,25,50,100,200,300,400,500],enableSorting:c=!0,enableFiltering:l=!0,enablePagination:u=!0,enableExport:p=!0,initialConfig:x,onConfigChange:S,className:C=``,labels:w={configuration:`Configuración`,columnVisibility:`Columnas visibles`,pagination:{showingItems:`Mostrando`,to:`a`,of:`de`,items:`elementos`,showPerPage:`Mostrar`,perPageItems:`elementos`},clearAllFilters:`Limpiar todos los filtros`,noData:`No hay datos disponibles`},enableColumnReordering:T=!0,enableColumnPinning:E=!1,enableColumnResizing:D=!1,enableRowSelection:O=!1,stickyActionsColumn:k=!1,rowKey:A=`id`,onRowSelectionChange:ee,renderActions:te,actionsColumnLabel:j,loading:M=!1,fetchData:ne,onRefresh:re,onPaginationChange:ie,onFiltersChange:ae,syncFiltersWithUrl:N=!1,enableColumnConfig:oe=!0})=>{let[se,ce]=(0,t.useState)(null),[le,ue]=(0,t.useState)(null),[de,P]=(0,t.useState)(!1),[F,fe]=(0,t.useState)(null),pe=(0,t.useRef)(null),[me,he]=(0,t.useState)(r),[I,ge]=(0,t.useState)({}),[L,_e]=(0,t.useState)({}),{state:ve,orderedColumns:ye,handleSort:be,handleFilter:xe,clearAllFilters:Se,handlePageChange:Ce,handlePageSizeChange:we,handleColumnReorder:R,handleToggleColumn:Te,handleTogglePin:Ee,handleRowSelect:De,handleSelectAll:Oe,handleColumnResize:ke,refresh:Ae}=fp({data:e,columns:me,defaultSort:i,defaultFilters:a,defaultPageSize:o,pageSizeOptions:s,initialConfig:x,onConfigChange:S,fetchData:ne,onPaginationChange:ie,onFiltersChange:ae,rowKey:A,onRowSelectionChange:ee,syncFiltersWithUrl:N,enablePagination:u}),{paginatedData:je,sortConfig:Me,filters:Ne,pagination:z,hiddenColumns:Pe,pinnedColumns:Fe,selectedRows:Ie,columnWidths:Le,loading:Re,totalUnfiltered:ze}=ve,Be=M||Re;(0,t.useEffect)(()=>he(r),[r]);let Ve=(0,t.useRef)(null),He=(0,t.useRef)(null),[Ue,We]=(0,t.useState)(0);(0,t.useEffect)(()=>{let e=()=>{Ve.current&&We(Ve.current.scrollWidth)};e();let t=new ResizeObserver(e);return Ve.current&&t.observe(Ve.current),()=>t.disconnect()},[je,me]);let Ge=e=>{Ve.current&&(Ve.current.scrollLeft=e.currentTarget.scrollLeft)},Ke=e=>{He.current&&(He.current.scrollLeft=e.currentTarget.scrollLeft)},qe=(0,t.useMemo)(()=>{let e=[...ye],t=e.filter(e=>e.isAction),r=[...e.filter(e=>!e.isAction),...t];return O&&r.unshift({id:`selection-synthetic`,label:``,accessor:e=>e[A],width:50,minWidth:50,render:({row:e})=>{let t=e[A];return(0,n.jsx)(`input`,{type:`checkbox`,className:`w-4 h-4 accent-redi-primary cursor-pointer`,checked:Ie.includes(t),onChange:e=>{e.stopPropagation(),De(t)},onClick:e=>e.stopPropagation()})},isAction:!1,filterable:!1,sortable:!1,draggable:!1}),te&&r.push({id:`actions-synthetic`,label:j||``,accessor:e=>e[A],render:({row:e,column:t,index:n})=>te({row:e,index:n,column:t}),width:100,isAction:!0,filterable:!1,sortable:!1,draggable:!1}),r},[ye,te,j,O,Ie,A,De]),Je=(0,t.useRef)(null);(0,t.useEffect)(()=>{let e=e=>{if(!Je.current)return;let{columnId:t,startX:n,startWidth:r}=Je.current,i=e.clientX-n;ke(t,r+i)},t=()=>{Je.current=null,document.body.style.cursor=`default`,document.body.style.userSelect=`auto`};if(D)return document.addEventListener(`mousemove`,e),document.addEventListener(`mouseup`,t),()=>{document.removeEventListener(`mousemove`,e),document.removeEventListener(`mouseup`,t)}},[D,ke]);let Ye=(e,t,n)=>{e.preventDefault(),e.stopPropagation(),Je.current={columnId:t,startX:e.clientX,startWidth:n},document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},Xe=(e,t)=>{ce(t),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/html`,``)},Ze=(e,t)=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`,ue(t)},Qe=()=>{ue(null)},$e=(e,t)=>{if(e.preventDefault(),se===null)return;let n=qe[se].id,r=qe[t].id;if(n===r){ce(null),ue(null);return}let i=e.currentTarget.getBoundingClientRect(),a=e.clientX-i.left>i.width/2,o=[...ve.columnOrder],s=o.indexOf(n),c=o.indexOf(r);s===-1||c===-1||(o.splice(s,1),c=o.indexOf(r),a?o.splice(c+1,0,n):o.splice(c,0,n),R(o),ce(null),ue(null))},et=()=>{ce(null),ue(null)},tt=()=>{if(!p)return;let e=qe.filter(e=>!e.isAction);$f(ve.filteredData,e,`table-data.xlsx`)},nt=(0,t.useCallback)(async e=>{let t=me.find(t=>t.id===e);if(t?.fetchColumn&&!I[e]){_e(t=>({...t,[e]:!0}));try{let n=await t.fetchColumn();ge(t=>({...t,[e]:n}))}catch(t){console.error(`Failed to load options for column ${e}:`,t)}finally{_e(t=>({...t,[e]:!1}))}}},[me,I]),rt=e=>{let t=F!==e;fe(t?e:null),t&&nt(e)},it=(0,t.useCallback)(t=>{let n=me.find(e=>e.id===t);if(!n)return[];if(n.fetchColumn&&I[t])return I[t];if(n.fetchColumn&&!I[t])return[];let r=e.filter(e=>Object.entries(Ne).every(([n,r])=>{if(n===t||!r.value)return!0;let i=me.find(e=>e.id===n);if(!i)return!0;let a=typeof i.accessor==`function`?i.accessor(e):e[i.accessor],o=String(a||``).toLowerCase(),s=!0;return r.type===`text`&&(s=o.includes(String(r.value).toLowerCase())),r.type===`select`&&(s=o===String(r.value).toLowerCase()),r.type===`multiselect`&&Array.isArray(r.value)&&(s=r.value.some(e=>o===String(e).toLowerCase())),s})),i=new Map;r.forEach(e=>{let t=typeof n.accessor==`function`?n.accessor(e):e[n.accessor],r=ep(t);i.set(r,(i.get(r)||0)+1)});let a=new Map;e.forEach(e=>{let t=typeof n.accessor==`function`?n.accessor(e):e[n.accessor],r=ep(t);a.set(r,(a.get(r)||0)+1)});let o=[],s=[];return a.forEach((e,t)=>{let n=i.get(t);n!==void 0&&n>0?o.push({value:t,count:n,label:`${t} (${n})`,group:`Disponibles`}):s.push({value:t,count:e,label:`${t} (0)`,group:`Otros`})}),o.sort((e,t)=>e.value.localeCompare(t.value)),s.sort((e,t)=>e.value.localeCompare(t.value)),s.length===0?o.map(e=>({...e,group:void 0})):[...o,...s]},[e,Ne,me,I]),at=Object.values(Ne).some(e=>e.type===`text`&&e.value||e.type===`select`&&e.value||e.type===`multiselect`&&Array.isArray(e.value)&&e.value.length>0),ot=(0,t.useMemo)(()=>{let e=[];return Object.entries(Ne).forEach(([t,n])=>{let r=me.find(e=>e.id===t);r&&(n.type===`text`&&n.value?e.push({columnId:t,columnLabel:r.label,value:String(n.value),displayValue:String(n.value)}):n.type===`multiselect`&&Array.isArray(n.value)&&n.value.length>0&&n.value.forEach(n=>{e.push({columnId:t,columnLabel:r.label,value:n,displayValue:n})}))}),e},[Ne,me]),st=(e,t)=>{let n=Ne[e];if(n.type===`text`)xe(e,``,`text`);else if(n.type===`multiselect`&&Array.isArray(n.value)){let r=n.value.filter(e=>e!==t);xe(e,r,`multiselect`)}};(0,t.useEffect)(()=>{let e=e=>{pe.current&&!pe.current.contains(e.target)&&P(!1)};return de&&document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[de]);let ct=Math.ceil(z.total/z.pageSize),lt=e=>Le[e.id]?Le[e.id]:e.width?e.width:e.isAction?100:150+(e.filterable?50:0),ut=()=>{Ae(),re?.()},dt=({columnLabel:e,value:t,onRemove:r})=>(0,n.jsxs)(`div`,{className:`inline-flex items-center gap-1 bg-blue-100 text-blue-800 font-medium px-4 py-1 rounded-full border border-blue-300 hover:bg-blue-200 transition-colors`,children:[(0,n.jsxs)(`span`,{className:`font-semibold`,children:[e,`:`]}),(0,n.jsx)(`span`,{className:`max-w-50 truncate`,children:t}),(0,n.jsx)(`button`,{onClick:r,className:`ml-1 hover:bg-blue-300 rounded-full transition-colors cursor-pointer`,"aria-label":`Remove filter ${e}: ${t}`,children:(0,n.jsx)(d,{size:22})})]});return(0,n.jsxs)(`div`,{className:`w-full bg-redi-background border border-solid border-gray-500 rounded-xl overflow-hidden font-family-base shadow ${C}`,children:[(0,n.jsxs)(`div`,{className:`flex items-center justify-between p-2 bg-transparent border-b border-solid border-gray-400`,children:[(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(ne||re)&&(0,n.jsx)(cp,{level:`secondary`,onClick:ut,loading:Be,children:(0,n.jsx)(b,{size:18})}),oe&&(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsxs)(cp,{level:`secondary`,onClick:()=>P(!de),className:`p-1 px-2`,children:[(0,n.jsx)(h,{}),(0,n.jsx)(`span`,{className:`hidden md:block`,children:w.configuration})]}),de&&(0,n.jsx)(`div`,{className:`absolute top-full left-0 bg-white border border-solid border-gray-300 rounded-md shadow-lg z-1000 mt-2 min-w-2xs max-w-xs opacity-100 visible p-4`,ref:pe,children:(0,n.jsxs)(`div`,{className:`mb-4 last:mb-0`,children:[(0,n.jsx)(`div`,{className:`text-sm font-semibold text-redi-text mb-2 uppercase`,children:w.columnVisibility}),(0,n.jsx)(`div`,{className:`flex flex-col gap-2`,children:me.filter(e=>!e.isAction).map(e=>{let t=!Pe.includes(e.id);return(0,n.jsxs)(`div`,{className:`flex items-center justify-between gap-2 hover:bg-gray-50 p-1 rounded`,children:[(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,n.jsx)(`input`,{type:`checkbox`,className:`w-4 h-4 accent-redi-primary cursor-pointer`,checked:t,onChange:()=>Te(e.id),id:`col-visibility-${e.id}`}),(0,n.jsx)(`label`,{htmlFor:`col-visibility-${e.id}`,className:`text-sm text-redi-text cursor-pointer select-none`,children:e.label})]}),t&&(0,n.jsxs)(`div`,{className:`flex items-center gap-1`,children:[E&&(0,n.jsx)(cp,{level:`icon`,onClick:t=>{t.stopPropagation(),Ee(e.id)},"aria-label":Fe.includes(e.id)?`Unpin column`:`Pin column`,className:`p-1 hover:bg-gray-200 rounded-full`,children:Fe.includes(e.id)?(0,n.jsx)(v,{size:14,className:`text-redi-primary`}):(0,n.jsx)(y,{size:14,className:`text-gray-400`})}),(0,n.jsx)(cp,{level:`icon`,onClick:t=>{t.stopPropagation();let n=me.map(t=>t.id===e.id?{...t,draggable:!t.draggable}:t);he(n)},"aria-label":e.draggable?`Disable drag`:`Enable drag`,className:`p-1 hover:bg-gray-200 rounded-full`,children:(0,n.jsx)(m,{active:!!e.draggable,size:14,label:`Draggable`})}),(0,n.jsx)(cp,{level:`icon`,onClick:t=>{t.stopPropagation();let n=me.map(t=>t.id===e.id?{...t,filterable:!t.filterable}:t);he(n)},"aria-label":e.filterable?`Disable filter`:`Enable filter`,className:`p-1 hover:bg-gray-200 rounded-full`,children:e.filterable?(0,n.jsx)(g,{size:14,color:`#fa8c16`}):(0,n.jsx)(_,{size:14,color:`#9ca3af`})})]})]},e.id)})})]})})]}),l&&at&&(0,n.jsx)(cp,{level:`icon`,onClick:Se,label:w.clearAllFilters,children:(0,n.jsx)(d,{color:`white`})}),ot.length>0&&(0,n.jsx)(`div`,{className:`flex items-center gap-2 flex-wrap ml-2`,children:ot.map((e,t)=>(0,n.jsx)(dt,{columnLabel:e.columnLabel,value:e.displayValue,onRemove:()=>st(e.columnId,e.value)},`${e.columnId}-${e.value}-${t}`))})]}),(0,n.jsx)(`div`,{className:`flex items-center gap-2`,children:p&&(0,n.jsx)(cp,{level:`secondary`,onClick:tt,children:(0,n.jsx)(f,{size:18})})})]}),(0,n.jsx)(`div`,{ref:He,className:`overflow-x-auto bg-gray-50 border-b border-gray-200 ${u?`md:overflow-y-hidden`:``}`,onScroll:Ge,style:{height:`12px`},children:(0,n.jsx)(`div`,{style:{width:Ue,height:`1px`}})}),(0,n.jsx)(`div`,{ref:Ve,onScroll:Ke,className:`overflow-x-auto bg-white relative ${u?`max-h-150 md:max-h-none min-h-125 overflow-y-auto md:overflow-y-visible`:`max-h-125 overflow-y-auto`}`,children:(0,n.jsxs)(`table`,{className:`w-full border-separate border-spacing-0 table-auto text-sm relative`,"aria-label":`Data Table`,children:[(0,n.jsx)(`thead`,{children:(0,n.jsx)(`tr`,{children:qe.map((e,t)=>{let r=lt(e),i=Fe.includes(e.id),a=e.isAction&&k,o=0;if(i)for(let e=0;e<t;e++)Fe.includes(qe[e].id)&&(o+=lt(qe[e]));let s={width:r,minWidth:r,maxWidth:r,...a?{position:`sticky`,right:0,zIndex:25,backgroundColor:`#f9fafb`}:i?{position:`sticky`,left:o,zIndex:20,backgroundColor:`#f9fafb`}:{}};return(0,n.jsx)(`th`,{className:`bg-gray-50 border-b border-solid border-gray-200 text-left font-semibold text-redi-text p-0 sticky top-0 z-10 select-none hover:bg-gray-200
107
+ `,...h,children:[s&&(0,n.jsxs)(`svg`,{className:`animate-spin -ml-1 mr-1 h-4 w-4 text-current`,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,children:[(0,n.jsx)(`circle`,{className:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`4`}),(0,n.jsx)(`path`,{className:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z`})]}),u||(0,n.jsxs)(n.Fragment,{children:[l&&a===`left`&&!s&&l,c&&e!==`icon`&&(0,n.jsx)(`span`,{children:c}),l&&a===`right`&&!s&&l]})]})},lp={controls:`_controls_1pwn9_1`,leftControls:`_leftControls_1pwn9_10`,rightControls:`_rightControls_1pwn9_16`,configButton:`_configButton_1pwn9_23`,configIcon:`_configIcon_1pwn9_42`,configSection:`_configSection_1pwn9_49`,configSectionTitle:`_configSectionTitle_1pwn9_57`,configOptions:`_configOptions_1pwn9_66`,configOption:`_configOption_1pwn9_66`,actionButton:`_actionButton_1pwn9_91`,export:`_export_1pwn9_110`,reset:`_reset_1pwn9_120`,buttonIcon:`_buttonIcon_1pwn9_130`,filtersContainer:`_filtersContainer_1pwn9_137`,active:`_active_1pwn9_145`,filtersRow:`_filtersRow_1pwn9_149`,filterGroup:`_filterGroup_1pwn9_156`,filterLabel:`_filterLabel_1pwn9_162`,filterDropdown:`_filterDropdown_1pwn9_172`,filterDropdownButton:`_filterDropdownButton_1pwn9_177`,filterDropdownIcon:`_filterDropdownIcon_1pwn9_200`,filterModalHeader:`_filterModalHeader_1pwn9_212`,filterSearchInput:`_filterSearchInput_1pwn9_217`,filterOptions:`_filterOptions_1pwn9_231`,filterOption:`_filterOption_1pwn9_231`,selected:`_selected_1pwn9_250`,filterOptionCheckbox:`_filterOptionCheckbox_1pwn9_254`,filterOptionLabel:`_filterOptionLabel_1pwn9_260`,filterOptionCount:`_filterOptionCount_1pwn9_266`,filterModalActions:`_filterModalActions_1pwn9_275`,filterClearButton:`_filterClearButton_1pwn9_284`,filterApplyButton:`_filterApplyButton_1pwn9_285`,tableWrapper:`_tableWrapper_1pwn9_315`,table:`_table_1pwn9_315`,header:`_header_1pwn9_332`,dragging:`_dragging_1pwn9_349`,dragOver:`_dragOver_1pwn9_354`,headerContent:`_headerContent_1pwn9_359`,dragHandle:`_dragHandle_1pwn9_367`,columnTitle:`_columnTitle_1pwn9_384`,sortable:`_sortable_1pwn9_391`,sortIcon:`_sortIcon_1pwn9_408`,filterButton:`_filterButton_1pwn9_415`,filterButtonIcon:`_filterButtonIcon_1pwn9_451`,filterModal:`_filterModal_1pwn9_212`,row:`_row_1pwn9_474`,cell:`_cell_1pwn9_486`,statusBadge:`_statusBadge_1pwn9_507`,statusActive:`_statusActive_1pwn9_517`,statusInactive:`_statusInactive_1pwn9_522`,statusPending:`_statusPending_1pwn9_527`,statusCompleted:`_statusCompleted_1pwn9_532`,statusDraft:`_statusDraft_1pwn9_537`,pagination:`_pagination_1pwn9_543`,paginationInfo:`_paginationInfo_1pwn9_553`,paginationControls:`_paginationControls_1pwn9_560`,pageSizeSelect:`_pageSizeSelect_1pwn9_575`,pageButtons:`_pageButtons_1pwn9_591`,pageButton:`_pageButton_1pwn9_591`,exportButton:`_exportButton_1pwn9_659`,resetButton:`_resetButton_1pwn9_660`,filterModalSlideIn:`_filterModalSlideIn_1pwn9_1`,shimmer:`_shimmer_1pwn9_1`,columnCheckboxes:`_columnCheckboxes_1pwn9_1195`},up=({option:e,selectedValues:t,handleOptionToggle:r})=>(0,n.jsxs)(`div`,{className:`${lp.filterOption} ${t.includes(e.value)?lp.selected:``}`,onClick:()=>r(e),children:[(0,n.jsx)(`input`,{type:`checkbox`,className:lp.filterOptionCheckbox,checked:t.includes(e.value),onChange:()=>r(e),onClick:e=>e.stopPropagation()}),(0,n.jsx)(`span`,{className:lp.filterOptionLabel,children:e.value}),(0,n.jsx)(`span`,{className:lp.filterOptionCount,children:e.count})]},e.value),dp=({label:e,options:r,textValue:i,selectedValues:a,onTextChange:o,onSelectionChange:s,onClose:c,loading:l=!1,isServerRefetch:u=!1})=>{let[d,f]=(0,t.useState)(``),p=(0,t.useRef)(null),m=r.filter(e=>e.value.toLowerCase().includes(d.toLowerCase())||e.label.toLowerCase().includes(d.toLowerCase())),h=e=>{let t=a.includes(e.value)?a.filter(t=>t!==e.value):[...a,e.value];s(t)},g=()=>{let e=m.map(e=>e.value);s(e)},_=()=>{s([]),o(``)};return(0,t.useEffect)(()=>{let e=e=>{p.current&&!p.current.contains(e.target)&&c()};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[c]),(0,n.jsxs)(`div`,{className:lp.filterModal,ref:p,children:[(0,n.jsx)(`div`,{className:lp.filterModalHeader,children:(0,n.jsx)(`input`,{type:`text`,className:lp.filterSearchInput,placeholder:`Buscar texto en ${e.toLowerCase()}...`,value:d,onChange:e=>f(e.target.value),style:{marginTop:`8px`}})}),(0,n.jsxs)(`div`,{className:lp.filterOptions,children:[(0,n.jsxs)(`div`,{className:lp.filterOption,style:{borderBottom:`1px solid #e5e7eb`,marginBottom:`4px`,paddingBottom:`8px`},children:[(0,n.jsx)(cp,{onClick:g,size:`small`,level:`tertiary`,children:`Seleccionar todo`}),(0,n.jsx)(cp,{onClick:_,size:`small`,level:`tertiary`,children:`Limpiar todo`})]}),l?(0,n.jsx)(`div`,{className:lp.filterOption,children:(0,n.jsx)(`span`,{className:lp.filterOptionLabel,children:`Cargando opciones...`})}):m.length>0?m.map((e,t)=>{let r=m[t-1],i=e.group&&(!r||r.group!==e.group);return(0,n.jsxs)(`div`,{children:[i&&(0,n.jsx)(`div`,{className:`px-3 py-1 text-xs font-bold text-gray-500 bg-gray-50 uppercase tracking-wider`,children:e.group}),(0,n.jsx)(up,{option:e,selectedValues:a,handleOptionToggle:h})]},e.value)}):(0,n.jsx)(`div`,{className:lp.filterOption,children:(0,n.jsx)(`span`,{className:lp.filterOptionLabel,children:`No se encontraron opciones`})})]}),(0,n.jsxs)(`div`,{className:lp.filterModalActions,children:[(0,n.jsx)(cp,{onClick:_,level:`tertiary`,children:`Limpiar todo`}),u?(0,n.jsx)(cp,{onClick:()=>{if(d.trim()){let e=d.trim();a.includes(e)||s([...a,e])}c()},level:`primary`,children:`Buscar Avanzado`}):(0,n.jsxs)(cp,{onClick:c,level:`primary`,children:[`Aplicar (`,a.length+(i?1:0),`)`]})]})]})};let fp=e=>{let{data:n,columns:r,defaultSort:i,defaultFilters:a={},defaultPageSize:o=10,pageSizeOptions:s=[10,25,50,100,200,300,400,500],initialConfig:c,onConfigChange:l,onPaginationChange:u,onFiltersChange:d,fetchData:f,rowKey:p=`id`,onRowSelectionChange:m,syncFiltersWithUrl:h=!1,enablePagination:g=!0}=e,[_,v]=(0,t.useState)(c?.sort||i||void 0),[y,b]=(0,t.useState)(()=>{let e=c?.filters||a;if(h&&typeof window<`u`){let t=new URLSearchParams(window.location.search),n={...e};return t.forEach((e,i)=>{if(!r.find(e=>e.id===i))return;let a=n[i];if(a)Array.isArray(a.value)?n[i]={...a,value:[...a.value,e],type:`multiselect`}:n[i]={...a,value:[a.value,e],type:`multiselect`};else{let r=t.getAll(i);r.length>1?n[i]={type:`multiselect`,value:r}:n[i]={type:`text`,value:e}}}),n}return e}),[x,S]=(0,t.useState)(c?.columnOrder||r.map(e=>e.id)),[C,w]=(0,t.useState)(c?.hiddenColumns||[]),[T,E]=(0,t.useState)(c?.pinnedColumns||[]),[D,O]=(0,t.useState)([]),[k,A]=(0,t.useState)({}),[ee,te]=(0,t.useState)({page:1,pageSize:c?.pagination?.pageSize||o}),[j,M]=(0,t.useState)([]),[ne,re]=(0,t.useState)(0),[ie,ae]=(0,t.useState)(0),[N,oe]=(0,t.useState)(!1),[se,ce]=(0,t.useState)(0);(0,t.useEffect)(()=>{let e=r.map(e=>e.id);S(t=>{let n=t.filter(t=>e.includes(t)),r=e.filter(e=>!n.includes(e));return[...n,...r]}),w(t=>t.filter(t=>e.includes(t))),E(t=>t.filter(t=>e.includes(t)))},[r]);let le=(0,t.useMemo)(()=>{let e=[];return e=f?[...j]:[...n],Object.entries(y).forEach(([t,n])=>{let i=r.find(e=>e.id===t);i&&(f&&i.shouldBeRefetch||(e=e.filter(e=>{let t=typeof i.accessor==`function`?i.accessor(e):e[i.accessor],r=String(t||``).toLowerCase(),a=!0;return n.type===`text`&&n.value&&(a&&=r.includes(String(n.value).toLowerCase())),n.type===`select`&&n.value&&(a&&=r===String(n.value).toLowerCase()),n.type===`multiselect`&&Array.isArray(n.value)&&n.value.length>0&&(a&&=n.value.some(e=>r===String(e).toLowerCase())),a})))}),e},[n,y,r,f,j]),ue=f?ne:le.length,de=f?ie:n.length,P=(0,t.useMemo)(()=>({page:ee.page,pageSize:ee.pageSize,total:ue}),[ee.page,ee.pageSize,ue]),F=(0,t.useMemo)(()=>{if(f||!_)return le;let e=r.find(e=>e.id===_.column);return e?[...le].sort((t,n)=>{let r=typeof e.accessor==`function`?e.accessor(t):t[e.accessor],i=typeof e.accessor==`function`?e.accessor(n):n[e.accessor];if(r==null)return 1;if(i==null)return-1;let a=0;if(typeof r==`number`&&typeof i==`number`)a=r-i;else if(typeof r==`boolean`&&typeof i==`boolean`)a=r===i?0:r?1:-1;else if(r instanceof Date&&i instanceof Date)a=r.getTime()-i.getTime();else{let e=String(r).toLowerCase(),t=String(i).toLowerCase();a=e.localeCompare(t)}return _.direction===`desc`?a*-1:a}):le},[le,_,r,f]),fe=(0,t.useMemo)(()=>{if(f||!g)return F;let e=(P.page-1)*P.pageSize,t=e+P.pageSize;return F.slice(e,t)},[F,P.page,P.pageSize,f,g]),pe=(0,t.useCallback)(async()=>{if(f){oe(!0);try{let e={page_number:P.page,page_size:P.pageSize};_&&(e.order_by=`${_.direction===`desc`?`-`:``}${_.column}`),Object.entries(y).forEach(([t,n])=>{n.value&&r.find(e=>e.id===t)?.shouldBeRefetch&&(e[t]=n.value)});let t=await f(e);M(t.items),re(t.total_items),t.total_unfiltered_items===void 0?Object.entries(y).some(([e,t])=>r.find(t=>t.id===e)?.shouldBeRefetch&&t.value&&(Array.isArray(t.value)?t.value.length>0:!0))||ae(t.total_items):ae(t.total_unfiltered_items)}catch(e){console.error(`Failed to fetch data:`,e)}finally{oe(!1)}}},[f,P.page,P.pageSize,_,y,r]),me=(0,t.useRef)(!0),he=(0,t.useRef)(y),I=(0,t.useRef)(_),ge=(0,t.useRef)(P.page),L=(0,t.useRef)(P.pageSize),_e=(0,t.useRef)(se);(0,t.useEffect)(()=>{if(f){let e=!1,t=JSON.stringify(y)!==JSON.stringify(he.current);if(me.current)e=!0,me.current=!1;else if(se!==_e.current)e=!0,_e.current=se;else if(P.page!==ge.current||P.pageSize!==L.current)e=!0;else if(JSON.stringify(_)!==JSON.stringify(I.current))e=!0;else if(t){let t=Object.keys(he.current),n=Object.keys(y),i=Array.from(new Set([...t,...n]));for(let t of i)if(JSON.stringify(he.current[t])!==JSON.stringify(y[t])&&r.find(e=>e.id===t)?.shouldBeRefetch===!0){e=!0;break}}ge.current=P.page,L.current=P.pageSize,I.current=_,he.current=y,e&&pe()}},[pe,se,f,P.page,P.pageSize,_,y,r]),(0,t.useEffect)(()=>{if(!f){let e=Math.ceil(ue/P.pageSize)||1;P.page>e&&te(t=>({...t,page:e}))}},[ue,P.pageSize,f,P.page]),(0,t.useEffect)(()=>{l?.({columns:r,sort:_,filters:y,pagination:P,columnOrder:x,hiddenColumns:C,pinnedColumns:T})},[_,y,x,C,T,P.pageSize,l,P,r]),(0,t.useEffect)(()=>{u?.(P)},[P,u]),(0,t.useEffect)(()=>{d?.(y)},[y,d]),(0,t.useEffect)(()=>{if(h&&typeof window<`u`){let e=new URLSearchParams(window.location.search);r.forEach(t=>{e.delete(t.id)}),Object.entries(y).forEach(([t,n])=>{n.value&&(Array.isArray(n.value)?n.value.forEach(n=>e.append(t,String(n))):e.set(t,String(n.value)))});let t=`${window.location.pathname}?${e.toString()}`;window.history.replaceState({},``,t)}},[y,h,r,f]);let ve=(0,t.useCallback)(e=>{v(t=>t?.column===e?t.direction===`asc`?{column:e,direction:`desc`}:void 0:{column:e,direction:`asc`})},[]),ye=(0,t.useCallback)((e,t,n=`text`)=>{b(r=>({...r,[e]:{type:n,value:t,options:r[e]?.options}})),te(e=>({...e,page:1}))},[]),be=(0,t.useCallback)(e=>{b(t=>{let n={...t};return delete n[e],n})},[]),xe=(0,t.useCallback)(()=>{b({})},[]),Se=(0,t.useCallback)(e=>{te(t=>({...t,page:e}))},[]),Ce=(0,t.useCallback)(e=>{te(t=>({...t,pageSize:e,page:1}))},[]),we=(0,t.useCallback)(e=>{S(e)},[]),R=(0,t.useCallback)(e=>{w(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),Te=(0,t.useCallback)(e=>{E(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),Ee=(0,t.useCallback)(e=>{O(t=>{let n=t.includes(e)?t.filter(t=>t!==e):[...t,e];return m?.(n),n})},[m]),De=(0,t.useCallback)(e=>{O(t=>{let n=e.map(e=>typeof p==`function`?p(e):e[p]),r=n.every(e=>t.includes(e)),i;if(r)i=t.filter(e=>!n.includes(e));else{let e=n.filter(e=>!t.includes(e));i=[...t,...e]}return m?.(i),i})},[p,m]),Oe=(0,t.useCallback)((e,t)=>{A(n=>({...n,[e]:Math.max(50,t)}))},[]),ke=(0,t.useMemo)(()=>{let e=new Map(r.map(e=>[e.id,e])),t=x.map(t=>e.get(t)).filter(Boolean),n=new Set(t.map(e=>e.id)),i=r.filter(e=>!n.has(e.id));return[...t,...i].filter(e=>!C.includes(e.id))},[x,r,C]),Ae=(0,t.useCallback)(()=>{ce(e=>e+1)},[]);return{state:{data:n,filteredData:le,paginatedData:fe,sortConfig:_,filters:y,pagination:P,columnOrder:x,hiddenColumns:C,pinnedColumns:T,selectedRows:D,columnWidths:k,loading:N,totalUnfiltered:de},orderedColumns:ke,pageSizeOptions:s,handleSort:ve,handleFilter:ye,clearFilter:be,clearAllFilters:xe,handlePageChange:Se,handlePageSizeChange:Ce,handleColumnReorder:we,handleToggleColumn:R,handleTogglePin:Te,handleRowSelect:Ee,handleSelectAll:De,handleColumnResize:Oe,allColumns:r,refresh:Ae}};var pp=({data:e,columns:r,defaultSort:i,defaultFilters:a={},defaultPageSize:o=10,pageSizeOptions:s=[10,25,50,100,200,300,400,500],enableSorting:c=!0,enableFiltering:l=!0,enablePagination:u=!0,enableExport:p=!0,initialConfig:x,onConfigChange:S,className:C=``,labels:w={configuration:`Configuración`,columnVisibility:`Columnas visibles`,pagination:{showingItems:`Mostrando`,to:`a`,of:`de`,items:`elementos`,showPerPage:`Mostrar`,perPageItems:`elementos`},clearAllFilters:`Limpiar todos los filtros`,noData:`No hay datos disponibles`},enableColumnReordering:T=!0,enableColumnPinning:E=!1,enableColumnResizing:D=!1,enableRowSelection:O=!1,stickyActionsColumn:k=!1,rowKey:A=`id`,onRowSelectionChange:ee,renderActions:te,actionsColumnLabel:j,loading:M=!1,fetchData:ne,onRefresh:re,onPaginationChange:ie,onFiltersChange:ae,syncFiltersWithUrl:N=!1,enableColumnConfig:oe=!0})=>{let[se,ce]=(0,t.useState)(null),[le,ue]=(0,t.useState)(null),[de,P]=(0,t.useState)(!1),[F,fe]=(0,t.useState)(null),pe=(0,t.useRef)(null),[me,he]=(0,t.useState)(r),[I,ge]=(0,t.useState)({}),[L,_e]=(0,t.useState)({}),{state:ve,orderedColumns:ye,handleSort:be,handleFilter:xe,clearAllFilters:Se,handlePageChange:Ce,handlePageSizeChange:we,handleColumnReorder:R,handleToggleColumn:Te,handleTogglePin:Ee,handleRowSelect:De,handleSelectAll:Oe,handleColumnResize:ke,refresh:Ae}=fp({data:e,columns:me,defaultSort:i,defaultFilters:a,defaultPageSize:o,pageSizeOptions:s,initialConfig:x,onConfigChange:S,fetchData:ne,onPaginationChange:ie,onFiltersChange:ae,rowKey:A,onRowSelectionChange:ee,syncFiltersWithUrl:N,enablePagination:u}),{paginatedData:je,sortConfig:Me,filters:Ne,pagination:z,hiddenColumns:Pe,pinnedColumns:Fe,selectedRows:Ie,columnWidths:Le,loading:Re,totalUnfiltered:ze}=ve,Be=M||Re;(0,t.useEffect)(()=>he(r),[r]);let Ve=(0,t.useRef)(null),He=(0,t.useRef)(null),[Ue,We]=(0,t.useState)(0);(0,t.useEffect)(()=>{let e=()=>{Ve.current&&We(Ve.current.scrollWidth)};e();let t=new ResizeObserver(e);return Ve.current&&t.observe(Ve.current),()=>t.disconnect()},[je,me]);let Ge=e=>{Ve.current&&(Ve.current.scrollLeft=e.currentTarget.scrollLeft)},Ke=e=>{He.current&&(He.current.scrollLeft=e.currentTarget.scrollLeft)},qe=(0,t.useMemo)(()=>{let e=[...ye],t=e.filter(e=>e.isAction),r=[...e.filter(e=>!e.isAction),...t];return O&&r.unshift({id:`selection-synthetic`,label:``,accessor:e=>e[A],width:50,minWidth:50,render:({row:e})=>{let t=e[A];return(0,n.jsx)(`input`,{type:`checkbox`,className:`w-4 h-4 accent-redi-primary cursor-pointer`,checked:Ie.includes(t),onChange:e=>{e.stopPropagation(),De(t)},onClick:e=>e.stopPropagation()})},isAction:!1,filterable:!1,sortable:!1,draggable:!1}),te&&r.push({id:`actions-synthetic`,label:j||``,accessor:e=>e[A],render:({row:e,column:t,index:n})=>te({row:e,index:n,column:t}),width:100,isAction:!0,filterable:!1,sortable:!1,draggable:!1}),r},[ye,te,j,O,Ie,A,De]),Je=(0,t.useRef)(null);(0,t.useEffect)(()=>{let e=e=>{if(!Je.current)return;let{columnId:t,startX:n,startWidth:r}=Je.current,i=e.clientX-n;ke(t,r+i)},t=()=>{Je.current=null,document.body.style.cursor=`default`,document.body.style.userSelect=`auto`};if(D)return document.addEventListener(`mousemove`,e),document.addEventListener(`mouseup`,t),()=>{document.removeEventListener(`mousemove`,e),document.removeEventListener(`mouseup`,t)}},[D,ke]);let Ye=(e,t,n)=>{e.preventDefault(),e.stopPropagation(),Je.current={columnId:t,startX:e.clientX,startWidth:n},document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},Xe=(e,t)=>{ce(t),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/html`,``)},Ze=(e,t)=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`,ue(t)},Qe=()=>{ue(null)},$e=(e,t)=>{if(e.preventDefault(),se===null)return;let n=qe[se].id,r=qe[t].id;if(n===r){ce(null),ue(null);return}let i=e.currentTarget.getBoundingClientRect(),a=e.clientX-i.left>i.width/2,o=[...ve.columnOrder],s=o.indexOf(n),c=o.indexOf(r);s===-1||c===-1||(o.splice(s,1),c=o.indexOf(r),a?o.splice(c+1,0,n):o.splice(c,0,n),R(o),ce(null),ue(null))},et=()=>{ce(null),ue(null)},tt=()=>{if(!p)return;let e=qe.filter(e=>!e.isAction);$f(ve.filteredData,e,`table-data.xlsx`)},nt=(0,t.useCallback)(async e=>{let t=me.find(t=>t.id===e);if(t?.fetchColumn&&!I[e]){_e(t=>({...t,[e]:!0}));try{let n=await t.fetchColumn();ge(t=>({...t,[e]:n}))}catch(t){console.error(`Failed to load options for column ${e}:`,t)}finally{_e(t=>({...t,[e]:!1}))}}},[me,I]),rt=e=>{let t=F!==e;fe(t?e:null),t&&nt(e)},it=(0,t.useCallback)(t=>{let n=me.find(e=>e.id===t);if(!n)return[];if(n.fetchColumn&&I[t])return I[t];if(n.fetchColumn&&!I[t])return[];let r=e.filter(e=>Object.entries(Ne).every(([n,r])=>{if(n===t||!r.value)return!0;let i=me.find(e=>e.id===n);if(!i)return!0;let a=typeof i.accessor==`function`?i.accessor(e):e[i.accessor],o=String(a||``).toLowerCase(),s=!0;return r.type===`text`&&(s=o.includes(String(r.value).toLowerCase())),r.type===`select`&&(s=o===String(r.value).toLowerCase()),r.type===`multiselect`&&Array.isArray(r.value)&&(s=r.value.some(e=>o===String(e).toLowerCase())),s})),i=new Map;r.forEach(e=>{let t=typeof n.accessor==`function`?n.accessor(e):e[n.accessor],r=ep(t);i.set(r,(i.get(r)||0)+1)});let a=new Map;e.forEach(e=>{let t=typeof n.accessor==`function`?n.accessor(e):e[n.accessor],r=ep(t);a.set(r,(a.get(r)||0)+1)});let o=[],s=[];return a.forEach((e,t)=>{let n=i.get(t);n!==void 0&&n>0?o.push({value:t,count:n,label:`${t} (${n})`,group:`Disponibles`}):s.push({value:t,count:e,label:`${t} (0)`,group:`Otros`})}),o.sort((e,t)=>e.value.localeCompare(t.value)),s.sort((e,t)=>e.value.localeCompare(t.value)),s.length===0?o.map(e=>({...e,group:void 0})):[...o,...s]},[e,Ne,me,I]),at=Object.values(Ne).some(e=>e.type===`text`&&e.value||e.type===`select`&&e.value||e.type===`multiselect`&&Array.isArray(e.value)&&e.value.length>0),ot=(0,t.useMemo)(()=>{let e=[];return Object.entries(Ne).forEach(([t,n])=>{let r=me.find(e=>e.id===t);r&&(n.type===`text`&&n.value?e.push({columnId:t,columnLabel:r.label,value:String(n.value),displayValue:String(n.value)}):n.type===`multiselect`&&Array.isArray(n.value)&&n.value.length>0&&n.value.forEach(n=>{e.push({columnId:t,columnLabel:r.label,value:n,displayValue:n})}))}),e},[Ne,me]),st=(e,t)=>{let n=Ne[e];if(n.type===`text`)xe(e,``,`text`);else if(n.type===`multiselect`&&Array.isArray(n.value)){let r=n.value.filter(e=>e!==t);xe(e,r,`multiselect`)}};(0,t.useEffect)(()=>{let e=e=>{pe.current&&!pe.current.contains(e.target)&&P(!1)};return de&&document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[de]);let ct=Math.ceil(z.total/z.pageSize),lt=e=>Le[e.id]?Le[e.id]:e.width?e.width:e.isAction?100:150+(e.filterable?50:0),ut=()=>{Ae(),re?.()},dt=({columnLabel:e,value:t,onRemove:r})=>(0,n.jsxs)(`div`,{className:`inline-flex items-center gap-1 bg-blue-100 text-blue-800 font-medium px-4 py-1 rounded-full border border-blue-300 hover:bg-blue-200 transition-colors`,children:[(0,n.jsxs)(`span`,{className:`font-semibold`,children:[e,`:`]}),(0,n.jsx)(`span`,{className:`max-w-50 truncate`,children:t}),(0,n.jsx)(`button`,{onClick:r,className:`ml-1 hover:bg-blue-300 rounded-full transition-colors cursor-pointer`,"aria-label":`Remove filter ${e}: ${t}`,children:(0,n.jsx)(d,{size:22})})]});return(0,n.jsxs)(`div`,{className:`w-full bg-redi-background border border-solid border-gray-500 rounded-xl overflow-hidden font-family-base shadow ${C}`,children:[(0,n.jsxs)(`div`,{className:`flex items-center justify-between p-2 bg-transparent border-b border-solid border-gray-400`,children:[(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(ne||re)&&(0,n.jsx)(cp,{level:`secondary`,onClick:ut,loading:Be,children:(0,n.jsx)(b,{size:18})}),oe&&(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsxs)(cp,{level:`secondary`,onClick:()=>P(!de),className:`p-1 px-2`,children:[(0,n.jsx)(h,{}),(0,n.jsx)(`span`,{className:`hidden md:block`,children:w.configuration})]}),de&&(0,n.jsx)(`div`,{className:`absolute top-full left-0 bg-white border border-solid border-gray-300 rounded-md shadow-lg z-1000 mt-2 min-w-2xs max-w-xs opacity-100 visible p-4`,ref:pe,children:(0,n.jsxs)(`div`,{className:`mb-4 last:mb-0`,children:[(0,n.jsx)(`div`,{className:`text-sm font-semibold text-redi-text mb-2 uppercase`,children:w.columnVisibility}),(0,n.jsx)(`div`,{className:`flex flex-col gap-2`,children:me.filter(e=>!e.isAction).map(e=>{let t=!Pe.includes(e.id);return(0,n.jsxs)(`div`,{className:`flex items-center justify-between gap-2 hover:bg-gray-50 p-1 rounded`,children:[(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,n.jsx)(`input`,{type:`checkbox`,className:`w-4 h-4 accent-redi-primary cursor-pointer`,checked:t,onChange:()=>Te(e.id),id:`col-visibility-${e.id}`}),(0,n.jsx)(`label`,{htmlFor:`col-visibility-${e.id}`,className:`text-sm text-redi-text cursor-pointer select-none`,children:e.label})]}),t&&(0,n.jsxs)(`div`,{className:`flex items-center gap-1`,children:[E&&(0,n.jsx)(cp,{level:`icon`,onClick:t=>{t.stopPropagation(),Ee(e.id)},"aria-label":Fe.includes(e.id)?`Unpin column`:`Pin column`,className:`p-1 hover:bg-gray-200 rounded-full`,children:Fe.includes(e.id)?(0,n.jsx)(v,{size:14,className:`text-redi-primary`}):(0,n.jsx)(y,{size:14,className:`text-gray-400`})}),(0,n.jsx)(cp,{level:`icon`,onClick:t=>{t.stopPropagation();let n=me.map(t=>t.id===e.id?{...t,draggable:!t.draggable}:t);he(n)},"aria-label":e.draggable?`Disable drag`:`Enable drag`,className:`p-1 hover:bg-gray-200 rounded-full`,children:(0,n.jsx)(m,{active:!!e.draggable,size:14,label:`Draggable`})}),(0,n.jsx)(cp,{level:`icon`,onClick:t=>{t.stopPropagation();let n=me.map(t=>t.id===e.id?{...t,filterable:!t.filterable}:t);he(n)},"aria-label":e.filterable?`Disable filter`:`Enable filter`,className:`p-1 hover:bg-gray-200 rounded-full`,children:e.filterable?(0,n.jsx)(g,{size:14,color:`#fa8c16`}):(0,n.jsx)(_,{size:14,color:`#9ca3af`})})]})]},e.id)})})]})})]}),l&&at&&(0,n.jsx)(cp,{level:`icon`,onClick:Se,label:w.clearAllFilters,children:(0,n.jsx)(d,{color:`white`})}),ot.length>0&&(0,n.jsx)(`div`,{className:`flex items-center gap-2 flex-wrap ml-2`,children:ot.map((e,t)=>(0,n.jsx)(dt,{columnLabel:e.columnLabel,value:e.displayValue,onRemove:()=>st(e.columnId,e.value)},`${e.columnId}-${e.value}-${t}`))})]}),(0,n.jsx)(`div`,{className:`flex items-center gap-2`,children:p&&(0,n.jsx)(cp,{level:`secondary`,onClick:tt,children:(0,n.jsx)(f,{size:18})})})]}),(0,n.jsx)(`div`,{ref:He,className:`overflow-x-auto bg-gray-50 border-b border-gray-200 ${u?`md:overflow-y-hidden`:``}`,onScroll:Ge,style:{height:`12px`},children:(0,n.jsx)(`div`,{style:{width:Ue,height:`1px`}})}),(0,n.jsx)(`div`,{ref:Ve,onScroll:Ke,className:`overflow-x-auto bg-white relative ${u?`max-h-150 md:max-h-none min-h-125 overflow-y-auto md:overflow-y-visible`:`max-h-125 overflow-y-auto`}`,children:(0,n.jsxs)(`table`,{className:`w-full border-separate border-spacing-0 table-auto text-sm relative`,"aria-label":`Data Table`,children:[(0,n.jsx)(`thead`,{children:(0,n.jsx)(`tr`,{children:qe.map((e,t)=>{let r=lt(e),i=Fe.includes(e.id),a=e.isAction&&k,o=0;if(i)for(let e=0;e<t;e++)Fe.includes(qe[e].id)&&(o+=lt(qe[e]));let s={width:r,minWidth:r,maxWidth:r,...a?{position:`sticky`,right:0,zIndex:25,backgroundColor:`#f9fafb`}:i?{position:`sticky`,left:o,zIndex:20,backgroundColor:`#f9fafb`}:{}};return(0,n.jsx)(`th`,{className:`bg-gray-50 border-b border-solid border-gray-200 text-left font-semibold text-redi-text p-0 sticky top-0 z-10 select-none hover:bg-gray-200
108
108
  ${se===t?`opacity-50 bg-gray-300`:``}
109
109
  ${le===t?`bg-redi-primary-bg border-l border-solid border-redi-primary`:``}
110
110
  ${le===t?`bg-redi-primary-bg border-l border-solid border-redi-primary`:``}
111
111
  ${i&&!a?`shadow-[2px_0_5px_-2px_rgba(0,0,0,0.1)]`:``}
112
112
  ${a?`shadow-[-2px_0_5px_-2px_rgba(0,0,0,0.1)]`:``}
113
- `,style:s,draggable:!e.isAction&&T&&(e.draggable??!1),onDragStart:n=>!e.isAction&&T&&(e.draggable??!1)&&Xe(n,t),onDragOver:n=>!e.isAction&&T&&Ze(n,t),onDragLeave:Qe,onDrop:n=>!e.isAction&&T&&$e(n,t),onDragEnd:et,"aria-sort":Me?.column===e.id?Me.direction===`asc`?`ascending`:`descending`:`none`,children:(0,n.jsxs)(`div`,{className:`flex items-center py-2 px-3 gap-2 min-h-10`,children:[!e.isAction&&T&&(e.draggable??!1)&&(0,n.jsx)(`div`,{className:`text-gray-600 cursor-grab opacity-70 hover:opacity-100 text-base`,"aria-hidden":`true`,children:`⋮⋮`}),e.id===`selection-synthetic`&&(0,n.jsx)(`input`,{type:`checkbox`,className:`w-4 h-4 accent-redi-primary cursor-pointer mr-2`,checked:je.length>0&&je.every(e=>{let t=typeof A==`function`?A(e):e[A];return Ie.includes(t)}),onChange:e=>{e.stopPropagation(),Oe(je)}}),(0,n.jsxs)(`div`,{className:`flex flex-1 items-center gap-2`,children:[(0,n.jsxs)(`span`,{className:c?`cursor-pointer py-1 px-1.5 rounded-sm flex items-center gap-1.5 text-sm font-semibold text-redi-text uppercase hover:bg-redi-background hover:text-redi-link-text`:``,onClick:t=>{t.stopPropagation(),e.sortable&&be(e.id)},role:`button`,tabIndex:0,onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e.sortable&&be(e.id))},children:[e.label,e.sortable&&Me?.column===e.id&&(0,n.jsx)(`span`,{className:`font-bold text-redi-link-text text-base`,children:Me.direction===`asc`?` ↑`:` ↓`})]}),(0,n.jsx)(`div`,{className:`flex items-center gap-1`,children:e.filterable&&(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(cp,{level:`icon`,onClick:t=>{t.stopPropagation(),rt(e.id)},"aria-label":`Filter by ${e.label}`,children:(0,n.jsx)(g,{size:16})}),F===e.id&&(0,n.jsx)(dp,{columnId:e.id,label:e.label,options:it(e.id),textValue:Ne[e.id]?.type===`text`?String(Ne[e.id].value||``):``,selectedValues:Ne[e.id]?.value?Array.isArray(Ne[e.id].value)?Ne[e.id].value:[String(Ne[e.id].value)]:[],onTextChange:t=>xe(e.id,t,`text`),onSelectionChange:t=>xe(e.id,t,`multiselect`),onClose:()=>fe(null),loading:L[e.id]||!1})]})})]}),D&&!e.isAction&&e.id!==`selection-synthetic`&&(0,n.jsx)(`div`,{className:`absolute right-0 top-0 bottom-0 w-1 cursor-col-resize hover:bg-redi-primary z-20`,onMouseDown:t=>Ye(t,e.id,r)})]})},e.id)})})}),(0,n.jsx)(`tbody`,{children:M?Array.from({length:5}).map((e,t)=>(0,n.jsx)(`tr`,{className:`border-b border-solid border-gray-100`,children:qe.map((e,t)=>{let r=lt(e),i=Fe.includes(e.id),a=e.isAction&&k,o=0;if(i)for(let e=0;e<t;e++)Fe.includes(qe[e].id)&&(o+=lt(qe[e]));let s={width:r,minWidth:r,maxWidth:r,...a?{position:`sticky`,right:0,zIndex:10,backgroundColor:`white`}:i?{position:`sticky`,left:o,zIndex:10,backgroundColor:`white`}:{}};return(0,n.jsx)(`td`,{className:`py-2 px-3 ${e.isAction?`bg-white border-l border-gray-200`:``} ${i&&!a?`shadow-[2px_0_5px_-2px_rgba(0,0,0,0.1)]`:``} ${a?`shadow-[-2px_0_5px_-2px_rgba(0,0,0,0.1)]`:``}`,style:s,children:(0,n.jsx)(`div`,{className:`h-4 bg-gray-200 rounded animate-pulse w-3/4`})},`skeleton-cell-${t}`)})},`skeleton-${t}`)):je.length>0?je.map((e,t)=>(0,n.jsx)(`tr`,{className:`even:bg-gray-50 hover:bg-gray-100 border-b border-solid border-b-gray-100 odd:bg-white`,children:qe.map((r,i)=>{let a=typeof r.accessor==`function`?r.accessor(e):e[r.accessor],o=r.isAction,s=lt(r),c=Fe.includes(r.id),l=o&&k,u=0;if(c)for(let e=0;e<i;e++)Fe.includes(qe[e].id)&&(u+=lt(qe[e]));let d=`py-2 px-3 text-redi-text font-normal leading-6 align-middle border-r border-solid border-r-gray-300 static table-cell last:border-r-0 first:font-medium
113
+ `,style:s,draggable:!e.isAction&&T&&(e.draggable??!1),onDragStart:n=>!e.isAction&&T&&(e.draggable??!1)&&Xe(n,t),onDragOver:n=>!e.isAction&&T&&Ze(n,t),onDragLeave:Qe,onDrop:n=>!e.isAction&&T&&$e(n,t),onDragEnd:et,"aria-sort":Me?.column===e.id?Me.direction===`asc`?`ascending`:`descending`:`none`,children:(0,n.jsxs)(`div`,{className:`flex items-center py-2 px-3 gap-2 min-h-10`,children:[!e.isAction&&T&&(e.draggable??!1)&&(0,n.jsx)(`div`,{className:`text-gray-600 cursor-grab opacity-70 hover:opacity-100 text-base`,"aria-hidden":`true`,children:`⋮⋮`}),e.id===`selection-synthetic`&&(0,n.jsx)(`input`,{type:`checkbox`,className:`w-4 h-4 accent-redi-primary cursor-pointer mr-2`,checked:je.length>0&&je.every(e=>{let t=typeof A==`function`?A(e):e[A];return Ie.includes(t)}),onChange:e=>{e.stopPropagation(),Oe(je)}}),(0,n.jsxs)(`div`,{className:`flex flex-1 items-center gap-2`,children:[(0,n.jsxs)(`span`,{className:c?`cursor-pointer py-1 px-1.5 rounded-sm flex items-center gap-1.5 text-sm font-semibold text-redi-text uppercase hover:bg-redi-background hover:text-redi-link-text`:``,onClick:t=>{t.stopPropagation(),e.sortable&&be(e.id)},role:`button`,tabIndex:0,onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e.sortable&&be(e.id))},children:[e.label,e.sortable&&Me?.column===e.id&&(0,n.jsx)(`span`,{className:`font-bold text-redi-link-text text-base`,children:Me.direction===`asc`?` ↑`:` ↓`})]}),(0,n.jsx)(`div`,{className:`flex items-center gap-1`,children:e.filterable&&(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(cp,{level:`icon`,onClick:t=>{t.stopPropagation(),rt(e.id)},"aria-label":`Filter by ${e.label}`,children:(0,n.jsx)(g,{size:16})}),F===e.id&&(0,n.jsx)(dp,{columnId:e.id,label:e.label,options:it(e.id),textValue:Ne[e.id]?.type===`text`?String(Ne[e.id].value||``):``,selectedValues:Ne[e.id]?.value?Array.isArray(Ne[e.id].value)?Ne[e.id].value:[String(Ne[e.id].value)]:[],onTextChange:t=>xe(e.id,t,`text`),onSelectionChange:t=>xe(e.id,t,`multiselect`),onClose:()=>fe(null),loading:L[e.id]||!1,isServerRefetch:!!ne&&!!e.shouldBeRefetch})]})})]}),D&&!e.isAction&&e.id!==`selection-synthetic`&&(0,n.jsx)(`div`,{className:`absolute right-0 top-0 bottom-0 w-1 cursor-col-resize hover:bg-redi-primary z-20`,onMouseDown:t=>Ye(t,e.id,r)})]})},e.id)})})}),(0,n.jsx)(`tbody`,{children:M?Array.from({length:5}).map((e,t)=>(0,n.jsx)(`tr`,{className:`border-b border-solid border-gray-100`,children:qe.map((e,t)=>{let r=lt(e),i=Fe.includes(e.id),a=e.isAction&&k,o=0;if(i)for(let e=0;e<t;e++)Fe.includes(qe[e].id)&&(o+=lt(qe[e]));let s={width:r,minWidth:r,maxWidth:r,...a?{position:`sticky`,right:0,zIndex:10,backgroundColor:`white`}:i?{position:`sticky`,left:o,zIndex:10,backgroundColor:`white`}:{}};return(0,n.jsx)(`td`,{className:`py-2 px-3 ${e.isAction?`bg-white border-l border-gray-200`:``} ${i&&!a?`shadow-[2px_0_5px_-2px_rgba(0,0,0,0.1)]`:``} ${a?`shadow-[-2px_0_5px_-2px_rgba(0,0,0,0.1)]`:``}`,style:s,children:(0,n.jsx)(`div`,{className:`h-4 bg-gray-200 rounded animate-pulse w-3/4`})},`skeleton-cell-${t}`)})},`skeleton-${t}`)):je.length>0?je.map((e,t)=>(0,n.jsx)(`tr`,{className:`even:bg-gray-50 hover:bg-gray-100 border-b border-solid border-b-gray-100 odd:bg-white`,children:qe.map((r,i)=>{let a=typeof r.accessor==`function`?r.accessor(e):e[r.accessor],o=r.isAction,s=lt(r),c=Fe.includes(r.id),l=o&&k,u=0;if(c)for(let e=0;e<i;e++)Fe.includes(qe[e].id)&&(u+=lt(qe[e]));let d=`py-2 px-3 text-redi-text font-normal leading-6 align-middle border-r border-solid border-r-gray-300 static table-cell last:border-r-0 first:font-medium
114
114
  ${o?`border-l border-gray-300`:``}
115
115
  ${c&&!l?`shadow-[2px_0_5px_-2px_rgba(0,0,0,0.1)]`:``}
116
116
  ${l?`shadow-[-2px_0_5px_-2px_rgba(0,0,0,0.1)]`:``}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@redi.run/redi-components",
3
3
  "description": "This project was created to define the style of the UI and improve the UX in all projects from REDI",
4
- "version": "0.0.59",
4
+ "version": "0.0.60",
5
5
  "type": "module",
6
6
  "author": {
7
7
  "name": "Jonathan Manchego Sosa",