@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.
- package/dist/redi-components.js +28 -17
- package/dist/redi-components.umd.cjs +2 -2
- package/package.json +1 -1
package/dist/redi-components.js
CHANGED
|
@@ -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 [
|
|
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
|
-
|
|
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:
|
|
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:
|
|
13049
|
-
onChange: (e) =>
|
|
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:
|
|
13063
|
+
onClick: b,
|
|
13064
13064
|
size: "small",
|
|
13065
13065
|
level: "tertiary",
|
|
13066
13066
|
children: "Seleccionar todo"
|
|
13067
13067
|
}), /* @__PURE__ */ jsx(Button_default, {
|
|
13068
|
-
onClick:
|
|
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
|
-
}) :
|
|
13080
|
-
let n =
|
|
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:
|
|
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:
|
|
13100
|
+
onClick: x,
|
|
13101
13101
|
level: "tertiary",
|
|
13102
13102
|
children: "Limpiar todo"
|
|
13103
|
-
}), /* @__PURE__ */
|
|
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.
|
|
4
|
+
"version": "0.0.60",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Jonathan Manchego Sosa",
|