react-flexi-datatable 1.0.2 → 1.0.5

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/README.md CHANGED
@@ -131,13 +131,160 @@ export default function App() {
131
131
 
132
132
  ---
133
133
 
134
- ## Install the package from NPM:
135
- npm install react-flexi-datatable
134
+ ## 🎨 Theme & Layout Configuration Scenarios
135
+
136
+ The table supports flexible configurations for dimensions (`tableWidth`, `tableHeight`), scrolling (`tabledatavertivallscroll`, `tabledatahorizontalscroll`), themes (`theme`, `headerTheme`, `footerTheme`), top pagination (`topPagination`), and component controls (`searchable`, `checkbox`, `columnwidth`).
137
+
138
+ ### 🛠️ Complete Configuration Reference Table
139
+
140
+ #### 🔹 General & Theme Properties
141
+ | Option | Type | Default | Description |
142
+ | :--- | :--- | :--- | :--- |
143
+ | `title` | `string` | `""` | Table title text in top toolbar |
144
+ | `theme` | `string` / `Object` | `"default"` | Preset (`"default"`, `"dark"`, `"indigo"`, `"emerald"`, `"slate"`, `"blue"`) or custom `{ header, footer, toolbar }` |
145
+ | `headerTheme` | `string` | `undefined` | Custom Tailwind classes for table header `<thead>` |
146
+ | `footerTheme` | `string` | `undefined` | Custom Tailwind classes for footer pagination bar |
147
+ | `toolbarTheme` | `string` | `undefined` | Custom Tailwind classes for top toolbar container |
148
+
149
+ #### 🔹 Layout Dimensions & Scrolling
150
+ | Option | Type | Default | Description |
151
+ | :--- | :--- | :--- | :--- |
152
+ | `tableWidth` | `string` / `number` | `"100%"` | Custom table width (e.g., `"100%"`, `"900px"`, `900`) |
153
+ | `tableHeight` | `string` / `number` | `"auto"` | Custom table viewport height (e.g., `"350px"`, `350`, `"auto"`) |
154
+ | `tabledatavertivallscroll` | `boolean` | `true` | Enable vertical scrolling with sticky header inside height window |
155
+ | `tabledatahorizontalscroll` | `boolean` | `true` | Enable horizontal scrolling for wide columns |
156
+
157
+ #### 🔹 Search, Filtering & Sorting
158
+ | Option | Type | Default | Description |
159
+ | :--- | :--- | :--- | :--- |
160
+ | `searchable` | `boolean` | `true` | Show / hide global search input box |
161
+ | `filterable` | `boolean` | `true` | Show / hide Filter button menu |
162
+ | `filters` | `Array` | `undefined` | Filter array (`[{ key, label, type, options }]`). If commented out/undefined, Filter button is hidden |
163
+ | `sortable` | `boolean` | `true` | Enable / disable column header sorting |
164
+
165
+ #### 🔹 Pagination Controls
166
+ | Option | Type | Default | Description |
167
+ | :--- | :--- | :--- | :--- |
168
+ | `pagination` | `boolean` | `true` | Enable / disable table pagination |
169
+ | `topPagination` | `boolean` | `false` | Show top pagination bar in addition to bottom pagination |
170
+ | `bottomPagination` | `boolean` | `true` | Show bottom pagination bar |
171
+ | `pageSize` | `number` | `10` | Initial number of records shown per page |
172
+ | `pageSizeOptions` | `Array` | `[5, 10, 20]` | Page size select dropdown options |
173
+
174
+ #### 🔹 Selection, Bulk Actions & Export
175
+ | Option | Type | Default | Description |
176
+ | :--- | :--- | :--- | :--- |
177
+ | `checkbox` / `selectable` | `boolean` | `true` | Show / hide row selection checkboxes column |
178
+ | `bulkEditable` | `boolean` | `true` | Enable / disable Bulk Edit mode button and selection toolbar |
179
+ | `keyboardNavigation` | `boolean` | `true` | Enable grid navigation with `↑` `↓` `←` `→` arrow keys |
180
+ | `exportable` | `boolean` | `true` | Enable / disable CSV export button |
181
+
182
+ #### 🔹 Column Drag, Order & Resizing
183
+ | Option | Type | Default | Description |
184
+ | :--- | :--- | :--- | :--- |
185
+ | `columnVisibility` | `boolean` | `true` | Show / hide Columns dropdown menu (visibility & reorder controls) |
186
+ | `columnordering` | `boolean` | `true` | Enable / disable drag & drop column header reordering |
187
+ | `dropcolumn` | `boolean` | `true` | Enable / disable dropzone to hide dragged columns |
188
+ | `columnwidth` | `boolean` | `true` | Enable / disable column header width drag resizers |
189
+
190
+ #### 🔹 Column Definition Schema (`columns[]`)
191
+ | Field | Type | Description |
192
+ | :--- | :--- | :--- |
193
+ | `key` | `string` | Data field key in row object |
194
+ | `label` | `string` | Display column header text |
195
+ | `visible` | `boolean` | Show or hide column initially |
196
+ | `sortable` | `boolean` | Enable sorting for this specific column |
197
+ | `searchable` | `boolean` | Include this column in global search |
198
+ | `editable` | `boolean` | Allow inline and bulk editing for this column |
199
+ | `width` | `number` | Initial default column width in pixels (e.g. `200`) |
200
+ | `type` | `string` | Form input type (`"text"`, `"select"`) |
201
+ | `options` | `Array` | Options array for select input type |
202
+ | `render` | `Function` | Custom cell render function `(val, row, index) => ReactNode` |
203
+
204
+ #### 🔹 Actions Column (`actions`)
205
+ | Field | Type | Description |
206
+ | :--- | :--- | :--- |
207
+ | `view` | `boolean` | Show View button (`Eye` icon) in actions column |
208
+ | `edit` | `boolean` | Show Inline Edit button (`Pencil` icon) in actions column |
209
+ | `delete` | `boolean` | Show Delete button (`Trash2` icon) in actions column |
136
210
 
211
+ ---
137
212
 
138
- ## Install the package from Yarn:
139
- yarn add react-flexi-datatable
213
+ ### 📋 4 Configuration Scenario Examples
140
214
 
215
+ #### 1️⃣ Scenario 1: Fixed Height with Vertical Scroll & Sticky Header (Recommended for 10/20 Page Sizes)
216
+ Use this when you want a fixed container height (e.g. `350px`). When increasing page size, the table header stays pinned at the top while data rows scroll vertically inside.
141
217
 
142
- ## Install the package from pnpm:
143
- pnpm add react-flexi-datatable
218
+ ```javascript
219
+ const config = {
220
+ title: "Users",
221
+ theme: "default",
222
+ tableWidth: "100%",
223
+ tableHeight: "350px", // Fixed viewport height
224
+ tabledatavertivallscroll: true, // Vertical scroll inside 350px
225
+ tabledatahorizontalscroll: true, // Horizontal scroll
226
+ pageSize: 5,
227
+ pageSizeOptions: [5, 10, 20],
228
+ // ...
229
+ };
230
+ ```
231
+
232
+ #### 2️⃣ Scenario 2: Auto Height (Table Expands Naturally with Data)
233
+ Use this when you want the table height to grow dynamically with the number of rows (no vertical scrollbar inside card).
234
+
235
+ ```javascript
236
+ const config = {
237
+ title: "Users",
238
+ theme: "default",
239
+ tableWidth: "100%",
240
+ tableHeight: "auto", // Grows automatically with rows
241
+ tabledatavertivallscroll: false, // Disables inner vertical scroll
242
+ tabledatahorizontalscroll: true,
243
+ pageSize: 5,
244
+ pageSizeOptions: [5, 10, 20],
245
+ // ...
246
+ };
247
+ ```
248
+
249
+ #### 3️⃣ Scenario 3: Fixed Width & Fixed Height Container
250
+ Use this when you want to restrict both width and height (e.g. `800px` width and `300px` height).
251
+
252
+ ```javascript
253
+ const config = {
254
+ title: "Users",
255
+ theme: "indigo", // Preset theme
256
+ tableWidth: "800px", // Fixed width
257
+ tableHeight: "300px", // Fixed height
258
+ tabledatavertivallscroll: true, // Vertical scroll inside 300px
259
+ tabledatahorizontalscroll: true, // Horizontal scroll inside 800px
260
+ pageSize: 5,
261
+ pageSizeOptions: [5, 10, 20],
262
+ // ...
263
+ };
264
+ ```
265
+
266
+ #### 4️⃣ Scenario 4: Dark Mode / Custom Theme with Top & Bottom Pagination
267
+ Use this for dark mode styling with dual top and bottom pagination controls.
268
+
269
+ ```javascript
270
+ const config = {
271
+ title: "Users",
272
+ theme: "dark", // Dark mode preset
273
+ topPagination: true, // Enable both top & bottom pagination
274
+ tableWidth: "100%",
275
+ tableHeight: "350px",
276
+ tabledatavertivallscroll: true,
277
+ tabledatahorizontalscroll: true,
278
+ pageSize: 5,
279
+ pageSizeOptions: [5, 10, 20],
280
+ // ...
281
+ };
282
+ ```
283
+
284
+ ---
285
+
286
+ ## Install the package:
287
+
288
+ ```bash
289
+ npm install react-flexi-datatable
290
+ ```
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));let c=require("react");c=s(c,1);let l=require("lucide-react"),u=require("react/jsx-runtime");var d=`border border-slate-200 rounded-lg bg-white`,ee={Active:`bg-emerald-50 text-emerald-700`,Inactive:`bg-slate-100 text-slate-600`,Pending:`bg-amber-50 text-amber-700`};function f({config:e,data:t=[],onView:n,onEdit:r,onDelete:i,onBulkEdit:a}){let o=`table_cols_${e.id||e.title||`default`}`,[s,f]=(0,c.useState)(t),[p,m]=(0,c.useState)(``),[h,te]=(0,c.useState)({}),[g,_]=(0,c.useState)({key:null,dir:null}),[ne,v]=(0,c.useState)(1),[y,re]=(0,c.useState)(e.pageSize||10),[b,x]=(0,c.useState)(()=>{try{let e=localStorage.getItem(`${o}_visible`);if(e)return JSON.parse(e)}catch{}return Object.fromEntries(e.columns.map(e=>[e.key,e.visible!==!1]))}),[S,ie]=(0,c.useState)(()=>{try{let e=localStorage.getItem(`${o}_order`);if(e)return JSON.parse(e)}catch{}return e.columns.map(e=>e.key)}),[C,ae]=(0,c.useState)(()=>{try{let e=localStorage.getItem(`${o}_widths`);if(e)return JSON.parse(e)}catch{}return Object.fromEntries(e.columns.map(e=>[e.key,e.width||160]))}),[oe,se]=(0,c.useState)(null),[w,T]=(0,c.useState)(null),[E,D]=(0,c.useState)(null),[O,k]=(0,c.useState)([]),[A,j]=(0,c.useState)(null),[ce,le]=(0,c.useState)(!1),[ue,de]=(0,c.useState)(!1),[M,N]=(0,c.useState)({row:0,col:0}),[fe,P]=(0,c.useState)(null),[F,I]=(0,c.useState)({}),[L,R]=(0,c.useState)(!1),[pe,z]=(0,c.useState)([]),[B,V]=(0,c.useState)({}),[H,U]=(0,c.useState)(1),W=(0,c.useRef)(null),G=(0,c.useRef)(null),me=(0,c.useRef)(null),K=(0,c.useRef)(null);(0,c.useEffect)(()=>{e.searchable&&K.current&&K.current.focus()},[e.searchable]),(0,c.useEffect)(()=>{let e=e=>{G.current&&!G.current.contains(e.target)&&de(!1),me.current&&!me.current.contains(e.target)&&le(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]),(0,c.useEffect)(()=>f(t),[t]),(0,c.useEffect)(()=>v(1),[p,h,y]),(0,c.useEffect)(()=>{try{localStorage.setItem(`${o}_order`,JSON.stringify(S))}catch{}},[S,o]),(0,c.useEffect)(()=>{try{localStorage.setItem(`${o}_visible`,JSON.stringify(b))}catch{}},[b,o]),(0,c.useEffect)(()=>{try{localStorage.setItem(`${o}_widths`,JSON.stringify(C))}catch{}},[C,o]);let he=()=>{let t=e.columns.map(e=>e.key),n=Object.fromEntries(e.columns.map(e=>[e.key,e.visible!==!1])),r=Object.fromEntries(e.columns.map(e=>[e.key,e.width||160]));ie(t),x(n),ae(r);try{localStorage.removeItem(`${o}_order`),localStorage.removeItem(`${o}_visible`),localStorage.removeItem(`${o}_widths`)}catch{}},ge=(e,t)=>{e.preventDefault(),e.stopPropagation();let n=e.clientX,r=C[t]||160,i=e=>{let i=e.clientX-n,a=Math.max(70,r+i);ae(e=>({...e,[t]:a}))},a=()=>{document.removeEventListener(`mousemove`,i),document.removeEventListener(`mouseup`,a),se(null)};se(t),document.addEventListener(`mousemove`,i),document.addEventListener(`mouseup`,a)},q=(0,c.useMemo)(()=>{let t=Object.fromEntries(e.columns.map(e=>[e.key,e]));return S.map(e=>t[e]).filter(e=>e&&b[e.key])},[e.columns,S,b]),J=(0,c.useMemo)(()=>e.columns.filter(e=>e.editable!==!1),[e.columns]),_e=t=>{if(t.options)return t.options;let n=e.filters?.find(e=>e.key===t.key);return n?.options?n.options.filter(e=>e.value!==`all`).map(e=>e.value):null},Y=e.columnordering!==!1&&e.columnOrdering!==!1,ve=Y&&e.dropcolumn!==!1&&e.dropColumn!==!1,ye=(e,t)=>{Y&&(T(t),e.dataTransfer.setData(`text/plain`,t),e.dataTransfer.effectAllowed=`move`)},be=(e,t)=>{e.preventDefault(),ve&&(e.dataTransfer.dropEffect=`move`,E!==t&&D(t))},xe=(e,t)=>{e.preventDefault(),e.stopPropagation();let n=e.dataTransfer.getData(`text/plain`)||w;n&&n!==t&&ie(e=>{let r=[...e],i=r.indexOf(n),a=r.indexOf(t);return i!==-1&&a!==-1&&(r.splice(i,1),r.splice(a,0,n)),r}),T(null),D(null)},Se=e=>{e&&(x(t=>Object.values(t).filter(Boolean).length<=1?t:{...t,[e]:!1}),T(null),D(null))},X=(0,c.useMemo)(()=>{let t=[...s];if(p.trim()){let n=p.toLowerCase(),r=e.columns.filter(e=>e.searchable!==!1).map(e=>e.key);t=t.filter(e=>r.some(t=>String(e[t]??``).toLowerCase().includes(n)))}return Object.entries(h).forEach(([e,n])=>{n&&n!==`all`&&(t=t.filter(t=>String(t[e])===String(n)))}),g.key&&t.sort((e,t)=>{let n=String(e[g.key]??``).toLowerCase(),r=String(t[g.key]??``).toLowerCase(),i=n.localeCompare(r,void 0,{numeric:!0});return g.dir===`asc`?i:-i}),t},[s,p,h,g,e.columns]),Z=Math.max(1,Math.ceil(X.length/y)),Q=Math.min(ne,Z),$=X.slice((Q-1)*y,Q*y),Ce=(0,c.useMemo)(()=>O.length>0?O:$.map(e=>e.id),[O,$]),we=e=>{if(g.key!==e)return _({key:e,dir:`asc`});if(g.dir===`asc`)return _({key:e,dir:`desc`});_({key:null,dir:null})},Te=e=>k(e?$.map(e=>e.id):[]),Ee=e=>k(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),De=e=>{P(e.id),I({...e})},Oe=()=>{P(null),I({})},ke=()=>{f(e=>e.map(e=>e.id===fe?F:e)),r?.(F),P(null),I({})},Ae=()=>{let e={},t=O.length>0?O:$.map(e=>e.id);s.forEach(n=>{t.includes(n.id)&&(e[n.id]={...n})}),V(e),z(J.map(e=>e.key)),R(!0)},je=()=>{R(!1),V({}),z([])},Me=()=>{let e=O.length>0?O:$.map(e=>e.id);f(t=>t.map(t=>e.includes(t.id)&&B[t.id]||t)),a?.(e,B),R(!1),V({}),z([])};return(0,c.useEffect)(()=>{let t=t=>{if(!e.keyboardNavigation||!$.length)return;let r=document.activeElement;if(r&&([`TEXTAREA`].includes(r.tagName)||r.tagName===`INPUT`&&r.type!==`checkbox`||r.tagName===`SELECT`))return;let i=!!(e.actions?.view||e.actions?.edit||e.actions?.delete),a=q.length+ +!!e.selectable,o=q.length+ +!!e.selectable+ +!!i,s=r?.closest(`[data-cell]`),c=M.row,l=M.col;if(s){let e=s.getAttribute(`data-cell`);if(e){let t=e.split(`-`).map(Number);t.length===2&&!isNaN(t[0])&&!isNaN(t[1])&&(c=t[0],l=t[1])}}if(t.key===`ArrowDown`){t.preventDefault();let e=Math.min($.length-1,c+1);N({row:e,col:l})}else if(t.key===`ArrowUp`){t.preventDefault();let e=Math.max(-1,c-1);N({row:e,col:l})}else if(t.key===`ArrowRight`){if(t.preventDefault(),i&&l===a){let e=W.current?.querySelector(`[data-cell="${c}-${l}"]`),t=e?Array.from(e.querySelectorAll(`button`)):[];if(H<t.length-1){U(e=>e+1);return}}let e=Math.min(o-1,l+1);N({row:c,col:e})}else if(t.key===`ArrowLeft`){if(t.preventDefault(),i&&l===a&&H>0){U(e=>e-1);return}let e=Math.max(0,l-1);N({row:c,col:e})}else if(t.key===`Enter`||t.key===` `){if(c===-1){if(e.selectable&&l===0)t.preventDefault(),Te($.length>0&&!$.every(e=>O.includes(e.id)));else{let n=e.selectable?l-1:l,r=q[n];r&&r.sortable&&(t.preventDefault(),we(r.key))}}else{let o=$[c];r&&(r.type===`checkbox`||r.tagName===`BUTTON`)?(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),r.click()):o&&(e.selectable&&l===0?(t.preventDefault(),Ee(o.id)):i&&l===a?(t.preventDefault(),De(o)):t.key===`Enter`&&(t.preventDefault(),n?.(o)))}}};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e.keyboardNavigation,$,q,M,H,Ee,Te,we,n,e.selectable,O]),(0,c.useEffect)(()=>{if(!e.keyboardNavigation||!W.current||document.activeElement===K.current)return;let t=W.current.querySelector(`[data-cell="${M.row}-${M.col}"]`);if(t){let e=Array.from(t.querySelectorAll(`input, button, select`));e.length>0?(e[Math.min(H,e.length-1)]||e[0]).focus():t.focus()}},[M,H,e.keyboardNavigation,$]),(0,u.jsxs)(`div`,{className:`space-y-3`,children:[(0,u.jsx)(`div`,{className:`${d} p-4`,children:(0,u.jsxs)(`div`,{className:`flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between`,children:[(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`h2`,{className:`text-lg font-semibold`,children:e.title}),(0,u.jsxs)(`p`,{className:`text-sm text-slate-500`,children:[X.length,` records`]})]}),(0,u.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[e.searchable&&(0,u.jsxs)(`div`,{className:`relative`,children:[(0,u.jsx)(l.Search,{size:16,className:`absolute left-3 top-1/2 -translate-y-1/2 text-slate-400`}),(0,u.jsx)(`input`,{ref:K,autoFocus:!0,value:p,onChange:e=>m(e.target.value),placeholder:`Search...`,className:`w-56 rounded-lg border border-slate-200 py-2 pl-9 pr-8 text-sm outline-none focus:border-indigo-500 focus:ring-2 focus:ring-indigo-500/20`}),p&&(0,u.jsx)(`button`,{onClick:()=>{m(``),K.current?.focus()},className:`absolute right-2 top-1/2 -translate-y-1/2 text-slate-400 hover:text-slate-600`,children:(0,u.jsx)(l.X,{size:15})})]}),e.filterable&&(0,u.jsxs)(`div`,{ref:G,className:`relative`,children:[(0,u.jsxs)(`button`,{onClick:()=>de(e=>!e),className:`flex items-center gap-2 rounded-lg border border-slate-200 px-3 py-2 text-sm`,children:[(0,u.jsx)(l.SlidersHorizontal,{size:16}),`Filter`]}),ue&&(0,u.jsxs)(`div`,{className:`absolute right-0 z-30 mt-2 w-64 rounded-xl border bg-white p-4 shadow-xl`,children:[e.filters?.map(e=>(0,u.jsxs)(`label`,{className:`mb-3 block text-sm`,children:[(0,u.jsx)(`span`,{className:`mb-1 block font-medium`,children:e.label}),(0,u.jsx)(`select`,{value:h[e.key]||`all`,onChange:t=>te(n=>({...n,[e.key]:t.target.value})),className:`w-full rounded-lg border p-2`,children:e.options.map(e=>(0,u.jsx)(`option`,{value:e.value,children:e.label},e.value))})]},e.key)),(0,u.jsx)(`button`,{onClick:()=>te({}),className:`text-sm font-medium text-slate-600`,children:`Clear filters`})]})]}),e.columnVisibility&&(0,u.jsxs)(`div`,{ref:me,className:`relative`,children:[(0,u.jsxs)(`button`,{onClick:()=>le(e=>!e),className:`flex items-center gap-2 rounded-lg border border-slate-200 px-3 py-2 text-sm`,children:[(0,u.jsx)(l.Columns3,{size:16}),`Columns`]}),ce&&(0,u.jsxs)(`div`,{className:`absolute right-0 z-30 mt-2 w-64 rounded-xl border bg-white p-3.5 shadow-xl`,children:[(0,u.jsxs)(`div`,{className:`flex items-center justify-between pb-2 mb-2 border-b`,children:[(0,u.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wider text-slate-500`,children:`Columns & Layout`}),(0,u.jsxs)(`button`,{onClick:he,className:`flex items-center gap-1 text-xs text-indigo-600 hover:text-indigo-800 font-medium`,title:`Reset default layout`,children:[(0,u.jsx)(l.RotateCcw,{size:12}),`Reset`]})]}),(0,u.jsx)(`div`,{className:`space-y-1 max-h-64 overflow-y-auto`,children:S.map(t=>{let n=e.columns.find(e=>e.key===t);if(!n)return null;let r=b[t]!==!1;return(0,u.jsxs)(`div`,{draggable:!0,onDragStart:e=>ye(e,n.key),onDragOver:e=>be(e,n.key),onDrop:e=>xe(e,n.key),className:`flex items-center justify-between p-2 text-sm rounded-lg hover:bg-slate-50 cursor-grab active:cursor-grabbing transition-colors ${w===n.key?`opacity-30 bg-slate-100`:``} ${E===n.key&&w!==n.key?`border-l-4 border-l-indigo-600 bg-indigo-50/60`:``}`,children:[(0,u.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,u.jsx)(`span`,{title:`Drag to reorder`,className:`text-slate-300 hover:text-slate-500 cursor-grab`,children:(0,u.jsx)(l.GripVertical,{size:14})}),(0,u.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer select-none`,children:[(0,u.jsx)(`input`,{type:`checkbox`,checked:r,onChange:()=>x(e=>{let t=Object.values(e).filter(Boolean).length;return e[n.key]&&t===1?e:{...e,[n.key]:!e[n.key]}}),className:`rounded text-indigo-600 focus:ring-indigo-500`}),(0,u.jsx)(`span`,{className:r?`font-medium text-slate-800`:`text-slate-400 line-through`,children:n.label})]})]}),(0,u.jsxs)(`span`,{className:`text-xs text-slate-400 font-mono`,children:[C[n.key]||160,`px`]})]},n.key)})}),(0,u.jsx)(`p`,{className:`mt-2.5 pt-2 border-t text-[11px] text-slate-400 text-center`,children:`Drag handles to reorder | Drag column edge to resize`})]})]}),e.bulkEditable!==!1&&J.length>0&&(0,u.jsxs)(`button`,{onClick:Ae,className:`flex items-center gap-2 rounded-lg border px-3 py-2 text-sm font-medium transition-colors ${L?`border-indigo-500 bg-indigo-600 text-white`:O.length>0?`border-indigo-300 bg-indigo-50 text-indigo-700 hover:bg-indigo-100`:`border-slate-200 bg-white text-slate-700 hover:bg-slate-50`}`,children:[(0,u.jsx)(l.Edit3,{size:16}),`Bulk Edit`,O.length>0?` (${O.length})`:``]}),e.exportable&&(0,u.jsxs)(`button`,{onClick:()=>{let e=q.map(e=>e.label).join(`,`),t=X.map(e=>q.map(t=>`"${String(e[t.key]??``).replaceAll(`"`,`""`)}"`).join(`,`)).join(`
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));let c=require("react");c=s(c,1);let l=require("lucide-react"),u=require("react/jsx-runtime");var d=`border border-slate-200 rounded-lg bg-white`,ee={Active:`bg-emerald-50 text-emerald-700`,Inactive:`bg-slate-100 text-slate-600`,Pending:`bg-amber-50 text-amber-700`},f={default:{header:`bg-slate-50 text-slate-600`,footer:`bg-white text-slate-500`,toolbar:`bg-white text-slate-900`},dark:{header:`bg-slate-900 text-slate-100`,footer:`bg-slate-900 text-slate-300`,toolbar:`bg-slate-900 text-slate-100`},indigo:{header:`bg-indigo-900 text-indigo-100`,footer:`bg-indigo-50 text-indigo-800`,toolbar:`bg-indigo-50/50 text-indigo-900`},emerald:{header:`bg-emerald-900 text-emerald-100`,footer:`bg-emerald-50 text-emerald-800`,toolbar:`bg-emerald-50/50 text-emerald-900`},slate:{header:`bg-slate-800 text-slate-100`,footer:`bg-slate-100 text-slate-700`,toolbar:`bg-slate-100 text-slate-800`},blue:{header:`bg-blue-900 text-blue-100`,footer:`bg-blue-50 text-blue-800`,toolbar:`bg-blue-50/50 text-blue-900`}};function p({config:e,data:t=[],onView:n,onEdit:r,onDelete:i,onBulkEdit:a}){let o=`table_cols_${e.id||e.title||`default`}`,[s,p]=(0,c.useState)(t),[m,te]=(0,c.useState)(``),[h,ne]=(0,c.useState)({}),[g,re]=(0,c.useState)({key:null,dir:null}),[ie,_]=(0,c.useState)(1),[v,ae]=(0,c.useState)(e.pageSize||10),[y,oe]=(0,c.useState)(()=>{try{let e=localStorage.getItem(`${o}_visible`);if(e)return JSON.parse(e)}catch{}return Object.fromEntries(e.columns.map(e=>[e.key,e.visible!==!1]))}),[b,se]=(0,c.useState)(()=>{try{let e=localStorage.getItem(`${o}_order`);if(e)return JSON.parse(e)}catch{}return e.columns.map(e=>e.key)}),[x,ce]=(0,c.useState)(()=>{try{let e=localStorage.getItem(`${o}_widths`);if(e)return JSON.parse(e)}catch{}return Object.fromEntries(e.columns.map(e=>[e.key,e.width||160]))}),[le,ue]=(0,c.useState)(null),[S,C]=(0,c.useState)(null),[de,w]=(0,c.useState)(null),[T,E]=(0,c.useState)([]),[D,O]=(0,c.useState)(null),[fe,pe]=(0,c.useState)(!1),[me,he]=(0,c.useState)(!1),[k,A]=(0,c.useState)({row:0,col:0}),[ge,_e]=(0,c.useState)(null),[j,M]=(0,c.useState)({}),[N,ve]=(0,c.useState)(!1),[ye,P]=(0,c.useState)([]),[F,I]=(0,c.useState)({}),[L,R]=(0,c.useState)(1),z=(0,c.useRef)(null),be=(0,c.useRef)(null),xe=(0,c.useRef)(null),B=(0,c.useRef)(null);(0,c.useEffect)(()=>{e.searchable&&B.current&&B.current.focus()},[e.searchable]),(0,c.useEffect)(()=>{let e=e=>{be.current&&!be.current.contains(e.target)&&he(!1),xe.current&&!xe.current.contains(e.target)&&pe(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]),(0,c.useEffect)(()=>p(t),[t]),(0,c.useEffect)(()=>_(1),[m,h,v]),(0,c.useEffect)(()=>{try{localStorage.setItem(`${o}_order`,JSON.stringify(b))}catch{}},[b,o]),(0,c.useEffect)(()=>{try{localStorage.setItem(`${o}_visible`,JSON.stringify(y))}catch{}},[y,o]),(0,c.useEffect)(()=>{try{localStorage.setItem(`${o}_widths`,JSON.stringify(x))}catch{}},[x,o]);let Se=()=>{let t=e.columns.map(e=>e.key),n=Object.fromEntries(e.columns.map(e=>[e.key,e.visible!==!1])),r=Object.fromEntries(e.columns.map(e=>[e.key,e.width||160]));se(t),oe(n),ce(r);try{localStorage.removeItem(`${o}_order`),localStorage.removeItem(`${o}_visible`),localStorage.removeItem(`${o}_widths`)}catch{}},Ce=(e,t)=>{e.preventDefault(),e.stopPropagation();let n=e.clientX,r=x[t]||160,i=e=>{let i=e.clientX-n,a=Math.max(70,r+i);ce(e=>({...e,[t]:a}))},a=()=>{document.removeEventListener(`mousemove`,i),document.removeEventListener(`mouseup`,a),ue(null)};ue(t),document.addEventListener(`mousemove`,i),document.addEventListener(`mouseup`,a)},V=(0,c.useMemo)(()=>{let t=Object.fromEntries(e.columns.map(e=>[e.key,e]));return b.map(e=>t[e]).filter(e=>e&&y[e.key])},[e.columns,b,y]),H=(0,c.useMemo)(()=>e.columns.filter(e=>e.editable!==!1),[e.columns]),we=t=>{if(t.options)return t.options;let n=e.filters?.find(e=>e.key===t.key);return n?.options?n.options.filter(e=>e.value!==`all`).map(e=>e.value):null},U=e.columnordering!==!1&&e.columnOrdering!==!1,Te=U&&e.dropcolumn!==!1&&e.dropColumn!==!1,W=e.columnwidth!==!1&&e.columnWidth!==!1&&e.resizable!==!1&&e.columnResizing!==!1,G=e.selectable!==!1&&e.checkbox!==!1&&e.checkboxes!==!1&&e.selection!==!1&&(e.selectable||e.checkbox||e.checkboxes||e.selection||!1),Ee=e.pagination!==!1,De=Ee&&!!(e.topPagination||e.toppagination||e.paginationTop),Oe=Ee&&e.bottomPagination!==!1,K=e.theme,q=typeof K==`string`&&f[K],ke=e.headerTheme||(typeof K==`object`?K.header:null)||(q?f[K].header:`bg-slate-50 text-slate-600`),Ae=e.footerTheme||(typeof K==`object`?K.footer:null)||(q?f[K].footer:`bg-white text-slate-500`),je=e.toolbarTheme||(typeof K==`object`?K.toolbar:null)||(q?f[K].toolbar:`bg-white`),J=e.tableWidth??e.tablewidth??e.width,Y=e.tableHeight??e.tableheight??e.height,Me=J&&J!==`auto`&&J!==!0?typeof J==`number`?`${J}px`:J:`100%`,Ne=!!(e.tabledatavertivallscroll||e.tableDataVerticalScroll||e.verticalScroll),Pe=Y&&Y!==`auto`&&Y!==!0?typeof Y==`number`?`${Y}px`:Y:Ne?`320px`:null,Fe=e.tabledatavertivallscroll!==!1&&e.tableDataVerticalScroll!==!1&&e.verticalScroll!==!1&&!!(Ne||Pe),Ie=e.tabledatahorizontalscroll!==!1&&e.tableDataHorizontalScroll!==!1&&e.horizontalScroll!==!1,Le=(e,t)=>{U&&(C(t),e.dataTransfer.setData(`text/plain`,t),e.dataTransfer.effectAllowed=`move`)},Re=(e,t)=>{e.preventDefault(),Te&&(e.dataTransfer.dropEffect=`move`,de!==t&&w(t))},ze=(e,t)=>{e.preventDefault(),e.stopPropagation();let n=e.dataTransfer.getData(`text/plain`)||S;n&&n!==t&&se(e=>{let r=[...e],i=r.indexOf(n),a=r.indexOf(t);return i!==-1&&a!==-1&&(r.splice(i,1),r.splice(a,0,n)),r}),C(null),w(null)},Be=e=>{e&&(oe(t=>Object.values(t).filter(Boolean).length<=1?t:{...t,[e]:!1}),C(null),w(null))},X=(0,c.useMemo)(()=>{let t=[...s];if(m.trim()){let n=m.toLowerCase(),r=e.columns.filter(e=>e.searchable!==!1).map(e=>e.key);t=t.filter(e=>r.some(t=>String(e[t]??``).toLowerCase().includes(n)))}return Object.entries(h).forEach(([e,n])=>{n&&n!==`all`&&(t=t.filter(t=>String(t[e])===String(n)))}),g.key&&t.sort((e,t)=>{let n=String(e[g.key]??``).toLowerCase(),r=String(t[g.key]??``).toLowerCase(),i=n.localeCompare(r,void 0,{numeric:!0});return g.dir===`asc`?i:-i}),t},[s,m,h,g,e.columns]),Z=Math.max(1,Math.ceil(X.length/v)),Q=Math.min(ie,Z),$=X.slice((Q-1)*v,Q*v),Ve=(0,c.useMemo)(()=>T.length>0?T:$.map(e=>e.id),[T,$]),He=e=>{if(g.key!==e)return re({key:e,dir:`asc`});if(g.dir===`asc`)return re({key:e,dir:`desc`});re({key:null,dir:null})},Ue=e=>E(e?$.map(e=>e.id):[]),We=e=>E(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),Ge=e=>{_e(e.id),M({...e})},Ke=()=>{_e(null),M({})},qe=()=>{p(e=>e.map(e=>e.id===ge?j:e)),r?.(j),_e(null),M({})},Je=()=>{let e={},t=T.length>0?T:$.map(e=>e.id);s.forEach(n=>{t.includes(n.id)&&(e[n.id]={...n})}),I(e),P(H.map(e=>e.key)),ve(!0)},Ye=()=>{ve(!1),I({}),P([])},Xe=()=>{let e=T.length>0?T:$.map(e=>e.id);p(t=>t.map(t=>e.includes(t.id)&&F[t.id]||t)),a?.(e,F),ve(!1),I({}),P([])},Ze=()=>{p(e=>e.filter(e=>e.id!==D.id)),E(e=>e.filter(e=>e!==D.id)),O(null),i?.(D)},Qe=()=>{let e=V.map(e=>e.label).join(`,`),t=X.map(e=>V.map(t=>`"${String(e[t.key]??``).replaceAll(`"`,`""`)}"`).join(`,`)).join(`
2
2
  `),n=new Blob([e+`
3
- `+t],{type:`text/csv`}),r=document.createElement(`a`);r.href=URL.createObjectURL(n),r.download=`table-export.csv`,r.click(),URL.revokeObjectURL(r.href)},className:`flex items-center gap-2 rounded-lg border border-slate-200 px-3 py-2 text-sm`,children:[(0,u.jsx)(l.Download,{size:16}),`Export`]})]})]})}),ve&&(0,u.jsx)(`div`,{onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},onDrop:e=>{e.preventDefault();let t=e.dataTransfer.getData(`text/plain`)||w;t&&Se(t)},className:`transition-all duration-200 overflow-hidden ${w?`max-h-24 opacity-100 my-2`:`max-h-0 opacity-0 my-0 pointer-events-none`}`,children:(0,u.jsxs)(`div`,{className:`flex items-center justify-center gap-2 rounded-xl border-2 border-dashed border-rose-400 bg-rose-50 p-3 text-sm font-semibold text-rose-700 shadow-sm`,children:[(0,u.jsx)(l.Trash2,{size:20,className:`text-rose-600 animate-bounce`}),(0,u.jsxs)(`span`,{children:[`Drop column header here to hide column `,(0,u.jsx)(`b`,{children:e.columns.find(e=>e.key===w)?.label})]})]})}),L&&(0,u.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-xl border border-indigo-200 bg-indigo-50/80 p-3.5 shadow-sm`,children:[(0,u.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,u.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,u.jsx)(l.Edit3,{size:18,className:`text-indigo-600`}),(0,u.jsxs)(`span`,{className:`font-semibold text-slate-900 text-sm`,children:[`Bulk Edit Mode (`,Ce.length,` records):`]})]}),(0,u.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,u.jsx)(`span`,{className:`text-xs font-medium text-slate-600`,children:`Select columns to edit:`}),J.map(e=>{let t=pe.includes(e.key);return(0,u.jsxs)(`button`,{type:`button`,onClick:()=>{z(t?t=>t.filter(t=>t!==e.key):t=>[...t,e.key])},className:`flex items-center gap-1.5 rounded-lg px-2.5 py-1 text-xs font-medium border transition-all ${t?`border-indigo-500 bg-indigo-600 text-white shadow-xs`:`border-slate-200 bg-white text-slate-700 hover:border-slate-300 hover:bg-slate-50`}`,children:[(0,u.jsx)(`span`,{className:`flex h-3.5 w-3.5 items-center justify-center rounded border ${t?`border-white bg-white text-indigo-600`:`border-slate-300 bg-white`}`,children:t&&(0,u.jsx)(l.Check,{size:10,strokeWidth:3})}),(0,u.jsx)(`span`,{children:e.label})]},e.key)})]})]}),(0,u.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,u.jsxs)(`button`,{onClick:je,className:`flex items-center gap-1.5 rounded-lg border border-slate-200 bg-white px-3 py-1.5 text-xs font-medium text-slate-700 hover:bg-slate-50 transition-colors`,children:[(0,u.jsx)(l.X,{size:14,className:`text-rose-500`}),`Cancel`]}),(0,u.jsxs)(`button`,{onClick:Me,className:`flex items-center gap-1.5 rounded-lg bg-emerald-600 px-3.5 py-1.5 text-xs font-medium text-white hover:bg-emerald-700 shadow-sm transition-colors`,children:[(0,u.jsx)(l.Check,{size:14}),`Save`]})]})]}),(0,u.jsxs)(`div`,{className:`${d} overflow-hidden`,children:[(0,u.jsx)(`div`,{className:`overflow-x-auto`,children:(0,u.jsxs)(`table`,{ref:W,className:`min-w-full text-sm table-fixed`,children:[(0,u.jsx)(`thead`,{className:`border-b bg-slate-50`,children:(0,u.jsxs)(`tr`,{children:[e.selectable&&(0,u.jsx)(`th`,{"data-cell":`-1-0`,className:`w-12 px-4 py-3`,children:(0,u.jsx)(`input`,{type:`checkbox`,checked:$.length>0&&$.every(e=>O.includes(e.id)),onChange:e=>Te(e.target.checked),onFocus:()=>N({row:-1,col:0})})}),q.map((t,n)=>{let r=e.selectable?n+1:n,i=w===t.key,a=E===t.key&&w!==t.key,o=C[t.key]||t.width||160;return(0,u.jsxs)(`th`,{"data-cell":`-1-${r}`,style:{width:`${o}px`,minWidth:`${o}px`},draggable:Y,onDragStart:e=>ye(e,t.key),onDragOver:e=>be(e,t.key),onDragLeave:()=>D(null),onDrop:e=>xe(e,t.key),onDragEnd:()=>{T(null),D(null)},"aria-sort":g.key===t.key?g.dir:`none`,className:`group relative whitespace-nowrap px-4 py-3 text-left font-semibold text-slate-600 ${Y?`cursor-grab active:cursor-grabbing`:``} transition-colors select-none ${i?`opacity-30 bg-slate-100`:``} ${a?`border-l-4 border-l-indigo-600 bg-indigo-50/60`:``}`,children:[(0,u.jsxs)(`div`,{className:`flex items-center justify-between gap-1.5 pr-2`,children:[(0,u.jsxs)(`div`,{className:`flex items-center gap-1.5 overflow-hidden`,children:[Y&&(0,u.jsx)(`span`,{title:`Drag header to reorder`,className:`text-slate-300 group-hover:text-slate-500 cursor-grab shrink-0`,children:(0,u.jsx)(l.GripVertical,{size:14})}),(0,u.jsxs)(`button`,{disabled:!t.sortable,onClick:()=>t.sortable&&we(t.key),className:`flex items-center gap-1 truncate ${t.sortable?`hover:text-slate-900`:``}`,children:[(0,u.jsx)(`span`,{className:`truncate`,children:t.label}),t.sortable&&(g.key===t.key?g.dir===`asc`?(0,u.jsx)(l.ChevronUp,{size:15,className:`shrink-0`}):(0,u.jsx)(l.ChevronDown,{size:15,className:`shrink-0`}):(0,u.jsx)(l.ChevronsUpDown,{size:15,className:`text-slate-400 shrink-0`}))]})]}),(0,u.jsx)(`button`,{type:`button`,title:`Hide column`,onClick:e=>{e.stopPropagation(),Se(t.key)},className:`opacity-0 group-hover:opacity-100 transition-opacity p-0.5 text-slate-400 hover:text-rose-600 rounded shrink-0`,children:(0,u.jsx)(l.EyeOff,{size:13})})]}),(0,u.jsx)(`div`,{draggable:!1,onMouseDown:e=>ge(e,t.key),onDoubleClick:e=>{e.stopPropagation(),ae(e=>({...e,[t.key]:t.width||160}))},title:`Drag to resize column width`,className:`absolute right-0 top-0 bottom-0 w-2.5 cursor-col-resize group-hover:bg-indigo-300/50 hover:!bg-indigo-500 transition-colors z-10 ${oe===t.key?`bg-indigo-600 w-1`:``}`})]},t.key)}),(e.actions?.view||e.actions?.edit||e.actions?.delete)&&(0,u.jsx)(`th`,{className:`sticky right-0 bg-slate-50 px-4 py-3 text-right font-semibold text-slate-600 w-32`,children:`Actions`})]})}),(0,u.jsxs)(`tbody`,{children:[$.map((t,r)=>{let i=fe===t.id,a=L&&Ce.includes(t.id);return(0,u.jsxs)(`tr`,{className:`border-b last:border-0 ${i||a?`bg-indigo-50/20`:`hover:bg-slate-50`}`,children:[e.selectable&&(0,u.jsx)(`td`,{"data-cell":`${r}-0`,className:`px-4 py-3`,children:(0,u.jsx)(`input`,{type:`checkbox`,checked:O.includes(t.id),onChange:()=>Ee(t.id),onFocus:()=>N({row:r,col:0})})}),q.map((n,o)=>{let s=e.selectable?o+1:o,c=a&&pe.includes(n.key)&&n.editable!==!1,l=_e(n),d=C[n.key]||n.width||160,f=t[n.key],p=f==null?``:String(f),m=p.length>25;return(0,u.jsx)(`td`,{"data-cell":`${r}-${s}`,style:{width:`${d}px`,minWidth:`${d}px`},className:`px-4 py-3 truncate`,tabIndex:-1,title:m?p:void 0,children:i&&n.editable!==!1?l?(0,u.jsx)(`select`,{value:F[n.key]??``,onChange:e=>I({...F,[n.key]:e.target.value}),onKeyDown:e=>{e.key===`Enter`&&ke(),e.key===`Escape`&&Oe()},className:`w-full rounded-md border border-indigo-300 bg-white px-2 py-1 text-sm outline-none focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500`,children:l.map(e=>{let t=typeof e==`object`?e.value:e,n=typeof e==`object`?e.label:e;return(0,u.jsx)(`option`,{value:t,children:n},t)})}):(0,u.jsx)(`input`,{type:`text`,value:F[n.key]??``,onChange:e=>I({...F,[n.key]:e.target.value}),onKeyDown:e=>{e.key===`Enter`&&ke(),e.key===`Escape`&&Oe()},className:`w-full rounded-md border border-indigo-300 bg-white px-2 py-1 text-sm outline-none focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500`}):c?l?(0,u.jsx)(`select`,{value:B[t.id]?.[n.key]??t[n.key]??``,onChange:e=>V(r=>({...r,[t.id]:{...r[t.id]||t,[n.key]:e.target.value}})),onKeyDown:e=>{e.key===`Enter`&&Me(),e.key===`Escape`&&je()},className:`w-full rounded-md border border-indigo-400 bg-white px-2 py-1 text-sm outline-none focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500`,children:l.map(e=>{let t=typeof e==`object`?e.value:e,n=typeof e==`object`?e.label:e;return(0,u.jsx)(`option`,{value:t,children:n},t)})}):(0,u.jsx)(`input`,{type:`text`,value:B[t.id]?.[n.key]??t[n.key]??``,onChange:e=>V(r=>({...r,[t.id]:{...r[t.id]||t,[n.key]:e.target.value}})),onKeyDown:e=>{e.key===`Enter`&&Me(),e.key===`Escape`&&je()},className:`w-full rounded-md border border-indigo-400 bg-white px-2 py-1 text-sm outline-none focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500`}):n.render?n.render(f,t,r):n.key===`status`?(0,u.jsx)(`span`,{className:`rounded-full px-2.5 py-1 text-xs font-medium ${ee[f]||`bg-slate-100 text-slate-600`}`,children:f}):m?(0,u.jsxs)(`span`,{title:p,children:[p.slice(0,25),`...`]}):p},n.key)}),(e.actions?.view||e.actions?.edit||e.actions?.delete)&&(0,u.jsx)(`td`,{"data-cell":`${r}-${q.length+ +!!e.selectable}`,className:`sticky right-0 bg-white px-4 py-3 w-32`,children:i?(0,u.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[(0,u.jsx)(`button`,{title:`Save`,onClick:ke,className:`rounded-md bg-emerald-100 p-2 text-emerald-700 hover:bg-emerald-200`,children:(0,u.jsx)(l.Check,{size:16})}),(0,u.jsx)(`button`,{title:`Cancel`,onClick:Oe,className:`rounded-md bg-rose-100 p-2 text-rose-700 hover:bg-rose-200`,children:(0,u.jsx)(l.X,{size:16})})]}):(0,u.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[e.actions.view&&(0,u.jsx)(`button`,{title:`View`,onClick:()=>n?.(t),onFocus:()=>{N({row:r,col:q.length+ +!!e.selectable}),U(0)},className:`rounded-md p-2 hover:bg-slate-100 focus:outline-none focus:ring-2 focus:ring-slate-400`,children:(0,u.jsx)(l.Eye,{size:16})}),e.actions.edit&&(0,u.jsx)(`button`,{title:`Edit`,onClick:()=>De(t),onFocus:()=>{N({row:r,col:q.length+ +!!e.selectable}),U(1)},className:`rounded-md p-2 hover:bg-slate-100 focus:outline-none focus:ring-2 focus:ring-slate-400`,children:(0,u.jsx)(l.Pencil,{size:16})}),e.actions.delete&&(0,u.jsx)(`button`,{title:`Delete`,onClick:()=>j(t),onFocus:()=>{N({row:r,col:q.length+ +!!e.selectable}),U(2)},className:`rounded-md p-2 text-red-600 hover:bg-red-50 focus:outline-none focus:ring-2 focus:ring-red-400`,children:(0,u.jsx)(l.Trash2,{size:16})})]})})]},t.id)}),!$.length&&(0,u.jsx)(`tr`,{children:(0,u.jsxs)(`td`,{colSpan:q.length+ +!!e.selectable+1,className:`px-6 py-16 text-center`,children:[(0,u.jsx)(`div`,{className:`font-medium`,children:`No records found`}),(0,u.jsx)(`div`,{className:`mt-1 text-sm text-slate-500`,children:`Try changing your search or filters.`})]})})]})]})}),(0,u.jsxs)(`div`,{className:`flex flex-col gap-3 border-t bg-white px-4 py-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,u.jsxs)(`div`,{className:`text-sm text-slate-500`,children:[`Showing `,X.length?(Q-1)*y+1:0,`–`,Math.min(Q*y,X.length),` of `,X.length]}),(0,u.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,u.jsx)(`select`,{value:y,onChange:e=>re(Number(e.target.value)),className:`rounded-lg border border-slate-200 px-2 py-1.5 text-sm`,children:e.pageSizeOptions.map(e=>(0,u.jsxs)(`option`,{value:e,children:[e,`/page`]},e))}),(0,u.jsx)(`button`,{disabled:Q===1,onClick:()=>v(1),className:`rounded-md border p-1.5 disabled:opacity-40`,children:(0,u.jsx)(l.ChevronsLeft,{size:16})}),(0,u.jsx)(`button`,{disabled:Q===1,onClick:()=>v(e=>e-1),className:`rounded-md border p-1.5 disabled:opacity-40`,children:(0,u.jsx)(l.ChevronLeft,{size:16})}),(0,u.jsxs)(`span`,{className:`px-2 text-sm`,children:[`Page `,Q,` of `,Z]}),(0,u.jsx)(`button`,{disabled:Q===Z,onClick:()=>v(e=>e+1),className:`rounded-md border p-1.5 disabled:opacity-40`,children:(0,u.jsx)(l.ChevronRight,{size:16})}),(0,u.jsx)(`button`,{disabled:Q===Z,onClick:()=>v(Z),className:`rounded-md border p-1.5 disabled:opacity-40`,children:(0,u.jsx)(l.ChevronsRight,{size:16})})]})]})]}),O.length>0&&!L&&(0,u.jsxs)(`div`,{className:`fixed bottom-5 left-1/2 z-40 flex -translate-x-1/2 items-center gap-3 rounded-xl bg-slate-900 px-4 py-2.5 text-sm text-white shadow-xl`,children:[(0,u.jsxs)(`span`,{className:`font-medium pl-1`,children:[O.length,` selected`]}),e.bulkEditable!==!1&&J.length>0&&(0,u.jsxs)(`button`,{onClick:Ae,className:`flex items-center gap-1.5 rounded-lg bg-indigo-600 px-3 py-1.5 text-xs font-semibold text-white hover:bg-indigo-500 transition-colors shadow-sm`,children:[(0,u.jsx)(l.Edit3,{size:14}),`Bulk Edit`]}),(0,u.jsx)(`button`,{onClick:()=>k([]),className:`text-xs text-slate-400 hover:text-white underline pr-1`,children:`Clear`})]}),A&&(0,u.jsx)(`div`,{onClick:e=>{e.target===e.currentTarget&&j(null)},className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4`,children:(0,u.jsxs)(`div`,{className:`w-full max-w-sm rounded-2xl bg-white p-6 shadow-2xl`,children:[(0,u.jsx)(`h3`,{className:`text-lg font-semibold`,children:`Delete record?`}),(0,u.jsxs)(`p`,{className:`mt-2 text-sm text-slate-500`,children:[`Are you sure you want to delete `,(0,u.jsx)(`b`,{children:A.name}),`? This action cannot be undone.`]}),(0,u.jsxs)(`div`,{className:`mt-6 flex justify-end gap-2`,children:[(0,u.jsx)(`button`,{onClick:()=>j(null),className:`rounded-lg border px-4 py-2 text-sm`,children:`Cancel`}),(0,u.jsx)(`button`,{onClick:()=>{f(e=>e.filter(e=>e.id!==A.id)),k(e=>e.filter(e=>e!==A.id)),j(null),i?.(A)},className:`rounded-lg bg-red-600 px-4 py-2 text-sm font-medium text-white`,children:`Delete`})]})]})})]})}var p=`/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
4
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-400:oklch(70.4% .191 22.216);--color-red-600:oklch(57.7% .245 27.325);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-bounce:bounce 1s infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.visible\\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.bottom-0{bottom:0}.bottom-5{bottom:calc(var(--spacing) * 5)}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.table{display:table}.h-3{height:calc(var(--spacing) * 3)}.h-3\\.5{height:calc(var(--spacing) * 3.5)}.max-h-0{max-height:0}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-64{max-height:calc(var(--spacing) * 64)}.min-h-screen{min-height:100vh}.w-1{width:var(--spacing)}.w-2{width:calc(var(--spacing) * 2)}.w-2\\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\\.5{width:calc(var(--spacing) * 3.5)}.w-12{width:calc(var(--spacing) * 12)}.w-32{width:calc(var(--spacing) * 32)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-full{width:100%}.max-w-7xl{max-width:var(--container-7xl)}.max-w-sm{max-width:var(--container-sm)}.min-w-full{min-width:100%}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.-translate-x-1{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-bounce{animation:var(--animate-bounce)}.cursor-col-resize{cursor:col-resize}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-emerald-200{border-color:var(--color-emerald-200)}.border-indigo-200{border-color:var(--color-indigo-200)}.border-indigo-300{border-color:var(--color-indigo-300)}.border-indigo-400{border-color:var(--color-indigo-400)}.border-indigo-500{border-color:var(--color-indigo-500)}.border-rose-400{border-color:var(--color-rose-400)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-white{border-color:var(--color-white)}.border-l-indigo-600{border-left-color:var(--color-indigo-600)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-black{background-color:var(--color-black)}.bg-black\\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-50\\/20{background-color:#eef2ff33}@supports (color:color-mix(in lab, red, red)){.bg-indigo-50\\/20{background-color:color-mix(in oklab, var(--color-indigo-50) 20%, transparent)}}.bg-indigo-50\\/60{background-color:#eef2ff99}@supports (color:color-mix(in lab, red, red)){.bg-indigo-50\\/60{background-color:color-mix(in oklab, var(--color-indigo-50) 60%, transparent)}}.bg-indigo-50\\/80{background-color:#eef2ffcc}@supports (color:color-mix(in lab, red, red)){.bg-indigo-50\\/80{background-color:color-mix(in oklab, var(--color-indigo-50) 80%, transparent)}}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-100{background-color:var(--color-rose-100)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-white{background-color:var(--color-white)}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-1{padding-left:var(--spacing)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[11px\\]{font-size:11px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-amber-700{color:var(--color-amber-700)}.text-emerald-700{color:var(--color-emerald-700)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-red-600{color:var(--color-red-600)}.text-rose-500{color:var(--color-rose-500)}.text-rose-600{color:var(--color-rose-600)}.text-rose-700{color:var(--color-rose-700)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\\:bg-indigo-300\\/50:is(:where(.group):hover *){background-color:#a4b3ff80}@supports (color:color-mix(in lab, red, red)){.group-hover\\:bg-indigo-300\\/50:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--color-indigo-300) 50%, transparent)}}.group-hover\\:text-slate-500:is(:where(.group):hover *){color:var(--color-slate-500)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media (hover:hover){.hover\\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\\:\\!bg-indigo-500:hover{background-color:var(--color-indigo-500)!important}.hover\\:bg-emerald-200:hover{background-color:var(--color-emerald-200)}.hover\\:bg-emerald-700:hover{background-color:var(--color-emerald-700)}.hover\\:bg-indigo-100:hover{background-color:var(--color-indigo-100)}.hover\\:bg-indigo-500:hover{background-color:var(--color-indigo-500)}.hover\\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\\:bg-rose-200:hover{background-color:var(--color-rose-200)}.hover\\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\\:text-indigo-800:hover{color:var(--color-indigo-800)}.hover\\:text-rose-600:hover{color:var(--color-rose-600)}.hover\\:text-slate-500:hover{color:var(--color-slate-500)}.hover\\:text-slate-600:hover{color:var(--color-slate-600)}.hover\\:text-slate-900:hover{color:var(--color-slate-900)}.hover\\:text-white:hover{color:var(--color-white)}}.focus\\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\\:ring-indigo-500:focus{--tw-ring-color:var(--color-indigo-500)}.focus\\:ring-indigo-500\\/20:focus{--tw-ring-color:#625fff33}@supports (color:color-mix(in lab, red, red)){.focus\\:ring-indigo-500\\/20:focus{--tw-ring-color:color-mix(in oklab, var(--color-indigo-500) 20%, transparent)}}.focus\\:ring-red-400:focus{--tw-ring-color:var(--color-red-400)}.focus\\:ring-slate-400:focus{--tw-ring-color:var(--color-slate-400)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\\:cursor-grabbing:active{cursor:grabbing}.disabled\\:opacity-40:disabled{opacity:.4}@media (width>=40rem){.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}.sm\\:justify-between{justify-content:space-between}.sm\\:p-6{padding:calc(var(--spacing) * 6)}}@media (width>=64rem){.lg\\:flex-row{flex-direction:row}.lg\\:items-center{align-items:center}.lg\\:justify-between{justify-content:space-between}.lg\\:p-10{padding:calc(var(--spacing) * 10)}}}*{box-sizing:border-box}body{color:#0f172a;background:#f8fafc;margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}`;if(typeof document<`u`){let e=`react-flexi-datatable-styles`;if(!document.getElementById(e)){let t=document.createElement(`style`);t.id=e,t.textContent=p,document.head.appendChild(t)}}var m=f;exports.DataTable=f,exports.default=m;
3
+ `+t],{type:`text/csv`}),r=document.createElement(`a`);r.href=URL.createObjectURL(n),r.download=`table-export.csv`,r.click(),URL.revokeObjectURL(r.href)};(0,c.useEffect)(()=>{let t=t=>{if(!e.keyboardNavigation||!$.length)return;let r=document.activeElement;if(r&&([`TEXTAREA`].includes(r.tagName)||r.tagName===`INPUT`&&r.type!==`checkbox`||r.tagName===`SELECT`))return;let i=!!(e.actions?.view||e.actions?.edit||e.actions?.delete),a=V.length+ +!!G,o=V.length+ +!!G+ +!!i,s=r?.closest(`[data-cell]`),c=k.row,l=k.col;if(s){let e=s.getAttribute(`data-cell`);if(e){let t=e.split(`-`).map(Number);t.length===2&&!isNaN(t[0])&&!isNaN(t[1])&&(c=t[0],l=t[1])}}if(t.key===`ArrowDown`){t.preventDefault();let e=Math.min($.length-1,c+1);A({row:e,col:l})}else if(t.key===`ArrowUp`){t.preventDefault();let e=Math.max(-1,c-1);A({row:e,col:l})}else if(t.key===`ArrowRight`){if(t.preventDefault(),i&&l===a){let e=z.current?.querySelector(`[data-cell="${c}-${l}"]`),t=e?Array.from(e.querySelectorAll(`button`)):[];if(L<t.length-1){R(e=>e+1);return}}let e=Math.min(o-1,l+1);A({row:c,col:e})}else if(t.key===`ArrowLeft`){if(t.preventDefault(),i&&l===a&&L>0){R(e=>e-1);return}let e=Math.max(0,l-1);A({row:c,col:e})}else if(t.key===`Enter`||t.key===` `){if(c===-1){if(G&&l===0)t.preventDefault(),Ue($.length>0&&!$.every(e=>T.includes(e.id)));else{let e=G?l-1:l,n=V[e];n&&n.sortable&&(t.preventDefault(),He(n.key))}}else{let e=$[c];r&&(r.type===`checkbox`||r.tagName===`BUTTON`)?(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),r.click()):e&&(G&&l===0?(t.preventDefault(),We(e.id)):i&&l===a?(t.preventDefault(),Ge(e)):t.key===`Enter`&&(t.preventDefault(),n?.(e)))}}};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e.keyboardNavigation,$,V,k,L,We,Ue,He,n,G,T]),(0,c.useEffect)(()=>{if(!e.keyboardNavigation||!z.current||document.activeElement===B.current)return;let t=z.current.querySelector(`[data-cell="${k.row}-${k.col}"]`);if(t){let e=Array.from(t.querySelectorAll(`input, button, select`));e.length>0?(e[Math.min(L,e.length-1)]||e[0]).focus():t.focus()}},[k,L,e.keyboardNavigation,$]);let $e=(t=`bottom`)=>!Ee||t===`top`&&!De||t===`bottom`&&!Oe?null:(0,u.jsxs)(`div`,{className:`flex flex-col gap-3 ${t===`top`?`border-b`:`border-t`} border-slate-200 px-4 py-3 sm:flex-row sm:items-center sm:justify-between ${Ae}`,children:[(0,u.jsxs)(`div`,{className:`text-sm opacity-85`,children:[`Showing `,X.length?(Q-1)*v+1:0,`–`,Math.min(Q*v,X.length),` of `,X.length]}),(0,u.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.pageSizeOptions&&e.pageSizeOptions.length>0&&(0,u.jsx)(`select`,{value:v,onChange:e=>ae(Number(e.target.value)),className:`rounded-lg border border-slate-200/80 bg-white/95 text-slate-800 px-2 py-1.5 text-sm outline-none focus:border-indigo-500`,children:e.pageSizeOptions.map(e=>(0,u.jsxs)(`option`,{value:e,children:[e,`/page`]},e))}),(0,u.jsx)(`button`,{disabled:Q===1,onClick:()=>_(1),className:`rounded-md border border-slate-200/80 bg-white/90 p-1.5 text-slate-700 hover:bg-slate-100 disabled:opacity-40 disabled:hover:bg-transparent`,title:`First page`,children:(0,u.jsx)(l.ChevronsLeft,{size:16})}),(0,u.jsx)(`button`,{disabled:Q===1,onClick:()=>_(e=>Math.max(1,e-1)),className:`rounded-md border border-slate-200/80 bg-white/90 p-1.5 text-slate-700 hover:bg-slate-100 disabled:opacity-40 disabled:hover:bg-transparent`,title:`Previous page`,children:(0,u.jsx)(l.ChevronLeft,{size:16})}),(0,u.jsxs)(`span`,{className:`px-2 text-sm opacity-90`,children:[`Page `,Q,` of `,Z]}),(0,u.jsx)(`button`,{disabled:Q===Z,onClick:()=>_(e=>Math.min(Z,e+1)),className:`rounded-md border border-slate-200/80 bg-white/90 p-1.5 text-slate-700 hover:bg-slate-100 disabled:opacity-40 disabled:hover:bg-transparent`,title:`Next page`,children:(0,u.jsx)(l.ChevronRight,{size:16})}),(0,u.jsx)(`button`,{disabled:Q===Z,onClick:()=>_(Z),className:`rounded-md border border-slate-200/80 bg-white/90 p-1.5 text-slate-700 hover:bg-slate-100 disabled:opacity-40 disabled:hover:bg-transparent`,title:`Last page`,children:(0,u.jsx)(l.ChevronsRight,{size:16})})]})]},t);return(0,u.jsxs)(`div`,{className:`space-y-3`,style:{width:Me,maxWidth:`100%`},children:[(0,u.jsx)(`div`,{className:`${d} p-4 ${je}`,children:(0,u.jsxs)(`div`,{className:`flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between`,children:[(0,u.jsxs)(`div`,{children:[(0,u.jsx)(`h2`,{className:`text-lg font-semibold`,children:e.title}),(0,u.jsxs)(`p`,{className:`text-sm text-slate-500`,children:[X.length,` records`]})]}),(0,u.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[!!e.searchable&&(0,u.jsxs)(`div`,{className:`relative`,children:[(0,u.jsx)(l.Search,{size:16,className:`absolute left-3 top-1/2 -translate-y-1/2 text-slate-400`}),(0,u.jsx)(`input`,{ref:B,autoFocus:!0,value:m,onChange:e=>te(e.target.value),placeholder:`Search...`,className:`w-56 rounded-lg border border-slate-200 py-2 pl-9 pr-8 text-sm outline-none focus:border-indigo-500 focus:ring-2 focus:ring-indigo-500/20`}),m&&(0,u.jsx)(`button`,{onClick:()=>{te(``),B.current?.focus()},className:`absolute right-2 top-1/2 -translate-y-1/2 text-slate-400 hover:text-slate-600`,children:(0,u.jsx)(l.X,{size:15})})]}),!!(e.filterable!==!1&&e.filters&&e.filters.length>0)&&(0,u.jsxs)(`div`,{ref:be,className:`relative`,children:[(0,u.jsxs)(`button`,{onClick:()=>he(e=>!e),className:`flex items-center gap-2 rounded-lg border border-slate-200 px-3 py-2 text-sm`,children:[(0,u.jsx)(l.SlidersHorizontal,{size:16}),`Filter`]}),me&&(0,u.jsxs)(`div`,{className:`absolute right-0 z-30 mt-2 w-64 rounded-xl border bg-white p-4 shadow-xl`,children:[e.filters?.map(e=>(0,u.jsxs)(`label`,{className:`mb-3 block text-sm`,children:[(0,u.jsx)(`span`,{className:`mb-1 block font-medium`,children:e.label}),(0,u.jsx)(`select`,{value:h[e.key]||`all`,onChange:t=>ne(n=>({...n,[e.key]:t.target.value})),className:`w-full rounded-lg border p-2`,children:e.options.map(e=>(0,u.jsx)(`option`,{value:e.value,children:e.label},e.value))})]},e.key)),(0,u.jsx)(`button`,{onClick:()=>ne({}),className:`text-sm font-medium text-slate-600`,children:`Clear filters`})]})]}),!!e.columnVisibility&&(0,u.jsxs)(`div`,{ref:xe,className:`relative`,children:[(0,u.jsxs)(`button`,{onClick:()=>pe(e=>!e),className:`flex items-center gap-2 rounded-lg border border-slate-200 px-3 py-2 text-sm`,children:[(0,u.jsx)(l.Columns3,{size:16}),`Columns`]}),fe&&(0,u.jsxs)(`div`,{className:`absolute right-0 z-30 mt-2 w-64 rounded-xl border bg-white p-3.5 shadow-xl`,children:[(0,u.jsxs)(`div`,{className:`flex items-center justify-between pb-2 mb-2 border-b`,children:[(0,u.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wider text-slate-500`,children:`Columns & Layout`}),(0,u.jsxs)(`button`,{onClick:Se,className:`flex items-center gap-1 text-xs text-indigo-600 hover:text-indigo-800 font-medium`,title:`Reset default layout`,children:[(0,u.jsx)(l.RotateCcw,{size:12}),`Reset`]})]}),(0,u.jsx)(`div`,{className:`space-y-1 max-h-64 overflow-y-auto`,children:b.map(t=>{let n=e.columns.find(e=>e.key===t);if(!n)return null;let r=y[t]!==!1;return(0,u.jsxs)(`div`,{draggable:!0,onDragStart:e=>Le(e,n.key),onDragOver:e=>Re(e,n.key),onDrop:e=>ze(e,n.key),className:`flex items-center justify-between p-2 text-sm rounded-lg hover:bg-slate-50 cursor-grab active:cursor-grabbing transition-colors ${S===n.key?`opacity-30 bg-slate-100`:``} ${de===n.key&&S!==n.key?`border-l-4 border-l-indigo-600 bg-indigo-50/60`:``}`,children:[(0,u.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,u.jsx)(`span`,{title:`Drag to reorder`,className:`text-slate-300 hover:text-slate-500 cursor-grab`,children:(0,u.jsx)(l.GripVertical,{size:14})}),(0,u.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer select-none`,children:[(0,u.jsx)(`input`,{type:`checkbox`,checked:r,onChange:()=>oe(e=>{let t=Object.values(e).filter(Boolean).length;return e[n.key]&&t===1?e:{...e,[n.key]:!e[n.key]}}),className:`rounded text-indigo-600 focus:ring-indigo-500`}),(0,u.jsx)(`span`,{className:r?`font-medium text-slate-800`:`text-slate-400 line-through`,children:n.label})]})]}),W&&(0,u.jsxs)(`span`,{className:`text-xs text-slate-400 font-mono`,children:[x[n.key]||160,`px`]})]},n.key)})}),(0,u.jsx)(`p`,{className:`mt-2.5 pt-2 border-t text-[11px] text-slate-400 text-center`,children:U&&W?`Drag handles to reorder | Drag column edge to resize`:U?`Drag handles to reorder`:W?`Drag column edge to resize`:`Column layout options`})]})]}),e.bulkEditable!==!1&&H.length>0&&(0,u.jsxs)(`button`,{onClick:Je,className:`flex items-center gap-2 rounded-lg border px-3 py-2 text-sm font-medium transition-colors ${N?`border-indigo-500 bg-indigo-600 text-white`:T.length>0?`border-indigo-300 bg-indigo-50 text-indigo-700 hover:bg-indigo-100`:`border-slate-200 bg-white text-slate-700 hover:bg-slate-50`}`,children:[(0,u.jsx)(l.Edit3,{size:16}),`Bulk Edit`,T.length>0?` (${T.length})`:``]}),e.exportable&&(0,u.jsxs)(`button`,{onClick:Qe,className:`flex items-center gap-2 rounded-lg border border-slate-200 px-3 py-2 text-sm`,children:[(0,u.jsx)(l.Download,{size:16}),`Export`]})]})]})}),Te&&(0,u.jsx)(`div`,{onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},onDrop:e=>{e.preventDefault();let t=e.dataTransfer.getData(`text/plain`)||S;t&&Be(t)},className:`transition-all duration-200 overflow-hidden ${S?`max-h-24 opacity-100 my-2`:`max-h-0 opacity-0 my-0 pointer-events-none`}`,children:(0,u.jsxs)(`div`,{className:`flex items-center justify-center gap-2 rounded-xl border-2 border-dashed border-rose-400 bg-rose-50 p-3 text-sm font-semibold text-rose-700 shadow-sm`,children:[(0,u.jsx)(l.Trash2,{size:20,className:`text-rose-600 animate-bounce`}),(0,u.jsxs)(`span`,{children:[`Drop column header here to hide column `,(0,u.jsx)(`b`,{children:e.columns.find(e=>e.key===S)?.label})]})]})}),N&&(0,u.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-xl border border-indigo-200 bg-indigo-50/80 p-3.5 shadow-sm`,children:[(0,u.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,u.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,u.jsx)(l.Edit3,{size:18,className:`text-indigo-600`}),(0,u.jsxs)(`span`,{className:`font-semibold text-slate-900 text-sm`,children:[`Bulk Edit Mode (`,Ve.length,` records):`]})]}),(0,u.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,u.jsx)(`span`,{className:`text-xs font-medium text-slate-600`,children:`Select columns to edit:`}),H.map(e=>{let t=ye.includes(e.key);return(0,u.jsxs)(`button`,{type:`button`,onClick:()=>{P(t?t=>t.filter(t=>t!==e.key):t=>[...t,e.key])},className:`flex items-center gap-1.5 rounded-lg px-2.5 py-1 text-xs font-medium border transition-all ${t?`border-indigo-500 bg-indigo-600 text-white shadow-xs`:`border-slate-200 bg-white text-slate-700 hover:border-slate-300 hover:bg-slate-50`}`,children:[(0,u.jsx)(`span`,{className:`flex h-3.5 w-3.5 items-center justify-center rounded border ${t?`border-white bg-white text-indigo-600`:`border-slate-300 bg-white`}`,children:t&&(0,u.jsx)(l.Check,{size:10,strokeWidth:3})}),(0,u.jsx)(`span`,{children:e.label})]},e.key)})]})]}),(0,u.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,u.jsxs)(`button`,{onClick:Ye,className:`flex items-center gap-1.5 rounded-lg border border-slate-200 bg-white px-3 py-1.5 text-xs font-medium text-slate-700 hover:bg-slate-50 transition-colors`,children:[(0,u.jsx)(l.X,{size:14,className:`text-rose-500`}),`Cancel`]}),(0,u.jsxs)(`button`,{onClick:Xe,className:`flex items-center gap-1.5 rounded-lg bg-emerald-600 px-3.5 py-1.5 text-xs font-medium text-white hover:bg-emerald-700 shadow-sm transition-colors`,children:[(0,u.jsx)(l.Check,{size:14}),`Save`]})]})]}),(0,u.jsxs)(`div`,{className:`${d} overflow-hidden`,children:[$e(`top`),(0,u.jsx)(`div`,{style:{maxHeight:Pe||void 0},className:`${Ie?`overflow-x-auto`:``} ${Fe?`overflow-y-auto`:``}`,children:(0,u.jsxs)(`table`,{ref:z,className:`min-w-full text-sm table-fixed`,children:[(0,u.jsx)(`thead`,{className:`sticky top-0 z-20 border-b border-slate-200 ${ke}`,children:(0,u.jsxs)(`tr`,{children:[G&&(0,u.jsx)(`th`,{"data-cell":`-1-0`,className:`w-12 px-4 py-3`,children:(0,u.jsx)(`input`,{type:`checkbox`,checked:$.length>0&&$.every(e=>T.includes(e.id)),onChange:e=>Ue(e.target.checked),onFocus:()=>A({row:-1,col:0})})}),V.map((e,t)=>{let n=G?t+1:t,r=S===e.key,i=de===e.key&&S!==e.key,a=x[e.key]||e.width||160;return(0,u.jsxs)(`th`,{"data-cell":`-1-${n}`,style:{width:`${a}px`,minWidth:`${a}px`},draggable:U,onDragStart:t=>Le(t,e.key),onDragOver:t=>Re(t,e.key),onDragLeave:()=>w(null),onDrop:t=>ze(t,e.key),onDragEnd:()=>{C(null),w(null)},"aria-sort":g.key===e.key?g.dir:`none`,className:`group relative whitespace-nowrap px-4 py-3 text-left font-semibold ${U?`cursor-grab active:cursor-grabbing`:``} transition-colors select-none ${r?`opacity-30 bg-slate-100`:``} ${i?`border-l-4 border-l-indigo-600 bg-indigo-50/60`:``}`,children:[(0,u.jsxs)(`div`,{className:`flex items-center justify-between gap-1.5 pr-2`,children:[(0,u.jsxs)(`div`,{className:`flex items-center gap-1.5 overflow-hidden`,children:[U&&(0,u.jsx)(`span`,{title:`Drag header to reorder`,className:`opacity-60 group-hover:opacity-100 cursor-grab shrink-0`,children:(0,u.jsx)(l.GripVertical,{size:14})}),(0,u.jsxs)(`button`,{disabled:!e.sortable,onClick:()=>e.sortable&&He(e.key),className:`flex items-center gap-1 truncate ${e.sortable?`hover:opacity-80`:``}`,children:[(0,u.jsx)(`span`,{className:`truncate`,children:e.label}),e.sortable&&(g.key===e.key?g.dir===`asc`?(0,u.jsx)(l.ChevronUp,{size:15,className:`shrink-0`}):(0,u.jsx)(l.ChevronDown,{size:15,className:`shrink-0`}):(0,u.jsx)(l.ChevronsUpDown,{size:15,className:`opacity-50 shrink-0`}))]})]}),(0,u.jsx)(`button`,{type:`button`,title:`Hide column`,onClick:t=>{t.stopPropagation(),Be(e.key)},className:`opacity-0 group-hover:opacity-100 transition-opacity p-0.5 hover:text-rose-400 rounded shrink-0`,children:(0,u.jsx)(l.EyeOff,{size:13})})]}),W&&(0,u.jsx)(`div`,{draggable:!1,onMouseDown:t=>Ce(t,e.key),onDoubleClick:t=>{t.stopPropagation(),ce(t=>({...t,[e.key]:e.width||160}))},title:`Drag to resize column width`,className:`absolute right-0 top-0 bottom-0 w-2.5 cursor-col-resize group-hover:bg-indigo-300/50 hover:!bg-indigo-500 transition-colors z-10 ${le===e.key?`bg-indigo-600 w-1`:``}`})]},e.key)}),(e.actions?.view||e.actions?.edit||e.actions?.delete)&&(0,u.jsx)(`th`,{className:`sticky right-0 top-0 z-30 px-4 py-3 text-right font-semibold w-32 ${ke}`,children:`Actions`})]})}),(0,u.jsxs)(`tbody`,{children:[$.map((t,r)=>{let i=ge===t.id,a=N&&Ve.includes(t.id);return(0,u.jsxs)(`tr`,{className:`border-b last:border-0 ${i||a?`bg-indigo-50/20`:`hover:bg-slate-50`}`,children:[G&&(0,u.jsx)(`td`,{"data-cell":`${r}-0`,className:`px-4 py-3`,children:(0,u.jsx)(`input`,{type:`checkbox`,checked:T.includes(t.id),onChange:()=>We(t.id),onFocus:()=>A({row:r,col:0})})}),V.map((e,n)=>{let o=G?n+1:n,s=a&&ye.includes(e.key)&&e.editable!==!1,c=we(e),l=x[e.key]||e.width||160,d=t[e.key],f=d==null?``:String(d),p=f.length>25;return(0,u.jsx)(`td`,{"data-cell":`${r}-${o}`,style:{width:`${l}px`,minWidth:`${l}px`},className:`px-4 py-3 truncate`,tabIndex:-1,title:p?f:void 0,children:i&&e.editable!==!1?c?(0,u.jsx)(`select`,{value:j[e.key]??``,onChange:t=>M({...j,[e.key]:t.target.value}),onKeyDown:e=>{e.key===`Enter`&&qe(),e.key===`Escape`&&Ke()},className:`w-full rounded-md border border-indigo-300 bg-white px-2 py-1 text-sm outline-none focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500`,children:c.map(e=>{let t=typeof e==`object`?e.value:e,n=typeof e==`object`?e.label:e;return(0,u.jsx)(`option`,{value:t,children:n},t)})}):(0,u.jsx)(`input`,{type:`text`,value:j[e.key]??``,onChange:t=>M({...j,[e.key]:t.target.value}),onKeyDown:e=>{e.key===`Enter`&&qe(),e.key===`Escape`&&Ke()},className:`w-full rounded-md border border-indigo-300 bg-white px-2 py-1 text-sm outline-none focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500`}):s?c?(0,u.jsx)(`select`,{value:F[t.id]?.[e.key]??t[e.key]??``,onChange:n=>I(r=>({...r,[t.id]:{...r[t.id]||t,[e.key]:n.target.value}})),onKeyDown:e=>{e.key===`Enter`&&Xe(),e.key===`Escape`&&Ye()},className:`w-full rounded-md border border-indigo-400 bg-white px-2 py-1 text-sm outline-none focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500`,children:c.map(e=>{let t=typeof e==`object`?e.value:e,n=typeof e==`object`?e.label:e;return(0,u.jsx)(`option`,{value:t,children:n},t)})}):(0,u.jsx)(`input`,{type:`text`,value:F[t.id]?.[e.key]??t[e.key]??``,onChange:n=>I(r=>({...r,[t.id]:{...r[t.id]||t,[e.key]:n.target.value}})),onKeyDown:e=>{e.key===`Enter`&&Xe(),e.key===`Escape`&&Ye()},className:`w-full rounded-md border border-indigo-400 bg-white px-2 py-1 text-sm outline-none focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500`}):e.render?e.render(d,t,r):e.key===`status`?(0,u.jsx)(`span`,{className:`rounded-full px-2.5 py-1 text-xs font-medium ${ee[d]||`bg-slate-100 text-slate-600`}`,children:d}):p?(0,u.jsxs)(`span`,{title:f,children:[f.slice(0,25),`...`]}):f},e.key)}),(e.actions?.view||e.actions?.edit||e.actions?.delete)&&(0,u.jsx)(`td`,{"data-cell":`${r}-${V.length+ +!!G}`,className:`sticky right-0 bg-white px-4 py-3 w-32 z-10`,children:i?(0,u.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[(0,u.jsx)(`button`,{title:`Save`,onClick:qe,className:`rounded-md bg-emerald-100 p-2 text-emerald-700 hover:bg-emerald-200`,children:(0,u.jsx)(l.Check,{size:16})}),(0,u.jsx)(`button`,{title:`Cancel`,onClick:Ke,className:`rounded-md bg-rose-100 p-2 text-rose-700 hover:bg-rose-200`,children:(0,u.jsx)(l.X,{size:16})})]}):(0,u.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[e.actions.view&&(0,u.jsx)(`button`,{title:`View`,onClick:()=>n?.(t),onFocus:()=>{A({row:r,col:V.length+ +!!G}),R(0)},className:`rounded-md p-2 hover:bg-slate-100 focus:outline-none focus:ring-2 focus:ring-slate-400`,children:(0,u.jsx)(l.Eye,{size:16})}),e.actions.edit&&(0,u.jsx)(`button`,{title:`Edit`,onClick:()=>Ge(t),onFocus:()=>{A({row:r,col:V.length+ +!!G}),R(1)},className:`rounded-md p-2 hover:bg-slate-100 focus:outline-none focus:ring-2 focus:ring-slate-400`,children:(0,u.jsx)(l.Pencil,{size:16})}),e.actions.delete&&(0,u.jsx)(`button`,{title:`Delete`,onClick:()=>O(t),onFocus:()=>{A({row:r,col:V.length+ +!!G}),R(2)},className:`rounded-md p-2 text-red-600 hover:bg-red-50 focus:outline-none focus:ring-2 focus:ring-red-400`,children:(0,u.jsx)(l.Trash2,{size:16})})]})})]},t.id)}),!$.length&&(0,u.jsx)(`tr`,{children:(0,u.jsxs)(`td`,{colSpan:V.length+ +!!G+1,className:`px-6 py-16 text-center`,children:[(0,u.jsx)(`div`,{className:`font-medium`,children:`No records found`}),(0,u.jsx)(`div`,{className:`mt-1 text-sm text-slate-500`,children:`Try changing your search or filters.`})]})})]})]})}),$e(`bottom`)]}),T.length>0&&!N&&(0,u.jsxs)(`div`,{className:`fixed bottom-5 left-1/2 z-40 flex -translate-x-1/2 items-center gap-3 rounded-xl bg-slate-900 px-4 py-2.5 text-sm text-white shadow-xl`,children:[(0,u.jsxs)(`span`,{className:`font-medium pl-1`,children:[T.length,` selected`]}),e.bulkEditable!==!1&&H.length>0&&(0,u.jsxs)(`button`,{onClick:Je,className:`flex items-center gap-1.5 rounded-lg bg-indigo-600 px-3 py-1.5 text-xs font-semibold text-white hover:bg-indigo-500 transition-colors shadow-sm`,children:[(0,u.jsx)(l.Edit3,{size:14}),`Bulk Edit`]}),(0,u.jsx)(`button`,{onClick:()=>E([]),className:`text-xs text-slate-400 hover:text-white underline pr-1`,children:`Clear`})]}),D&&(0,u.jsx)(`div`,{onClick:e=>{e.target===e.currentTarget&&O(null)},className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4`,children:(0,u.jsxs)(`div`,{className:`w-full max-w-sm rounded-2xl bg-white p-6 shadow-2xl`,children:[(0,u.jsx)(`h3`,{className:`text-lg font-semibold`,children:`Delete record?`}),(0,u.jsxs)(`p`,{className:`mt-2 text-sm text-slate-500`,children:[`Are you sure you want to delete `,(0,u.jsx)(`b`,{children:D.name}),`? This action cannot be undone.`]}),(0,u.jsxs)(`div`,{className:`mt-6 flex justify-end gap-2`,children:[(0,u.jsx)(`button`,{onClick:()=>O(null),className:`rounded-lg border px-4 py-2 text-sm`,children:`Cancel`}),(0,u.jsx)(`button`,{onClick:Ze,className:`rounded-lg bg-red-600 px-4 py-2 text-sm font-medium text-white`,children:`Delete`})]})]})})]})}var m=`/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
4
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-400:oklch(70.4% .191 22.216);--color-red-600:oklch(57.7% .245 27.325);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-indigo-900:oklch(35.9% .144 278.697);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-bounce:bounce 1s infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-1\\/2{top:50%}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.bottom-0{bottom:0}.bottom-5{bottom:calc(var(--spacing) * 5)}.left-1\\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-3\\.5{height:calc(var(--spacing) * 3.5)}.max-h-0{max-height:0}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-64{max-height:calc(var(--spacing) * 64)}.min-h-screen{min-height:100vh}.w-1{width:var(--spacing)}.w-2\\.5{width:calc(var(--spacing) * 2.5)}.w-3\\.5{width:calc(var(--spacing) * 3.5)}.w-12{width:calc(var(--spacing) * 12)}.w-32{width:calc(var(--spacing) * 32)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-full{width:100%}.max-w-7xl{max-width:var(--container-7xl)}.max-w-sm{max-width:var(--container-sm)}.min-w-full{min-width:100%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.table-fixed{table-layout:fixed}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-bounce{animation:var(--animate-bounce)}.cursor-col-resize{cursor:col-resize}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-emerald-200{border-color:var(--color-emerald-200)}.border-indigo-200{border-color:var(--color-indigo-200)}.border-indigo-300{border-color:var(--color-indigo-300)}.border-indigo-400{border-color:var(--color-indigo-400)}.border-indigo-500{border-color:var(--color-indigo-500)}.border-rose-400{border-color:var(--color-rose-400)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\\/80{border-color:#e2e8f0cc}@supports (color:color-mix(in lab, red, red)){.border-slate-200\\/80{border-color:color-mix(in oklab, var(--color-slate-200) 80%, transparent)}}.border-slate-300{border-color:var(--color-slate-300)}.border-white{border-color:var(--color-white)}.border-l-indigo-600{border-left-color:var(--color-indigo-600)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-black\\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-50\\/50{background-color:#eff6ff80}@supports (color:color-mix(in lab, red, red)){.bg-blue-50\\/50{background-color:color-mix(in oklab, var(--color-blue-50) 50%, transparent)}}.bg-blue-900{background-color:var(--color-blue-900)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\\/50{background-color:#ecfdf580}@supports (color:color-mix(in lab, red, red)){.bg-emerald-50\\/50{background-color:color-mix(in oklab, var(--color-emerald-50) 50%, transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-emerald-900{background-color:var(--color-emerald-900)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-50\\/20{background-color:#eef2ff33}@supports (color:color-mix(in lab, red, red)){.bg-indigo-50\\/20{background-color:color-mix(in oklab, var(--color-indigo-50) 20%, transparent)}}.bg-indigo-50\\/50{background-color:#eef2ff80}@supports (color:color-mix(in lab, red, red)){.bg-indigo-50\\/50{background-color:color-mix(in oklab, var(--color-indigo-50) 50%, transparent)}}.bg-indigo-50\\/60{background-color:#eef2ff99}@supports (color:color-mix(in lab, red, red)){.bg-indigo-50\\/60{background-color:color-mix(in oklab, var(--color-indigo-50) 60%, transparent)}}.bg-indigo-50\\/80{background-color:#eef2ffcc}@supports (color:color-mix(in lab, red, red)){.bg-indigo-50\\/80{background-color:color-mix(in oklab, var(--color-indigo-50) 80%, transparent)}}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-indigo-900{background-color:var(--color-indigo-900)}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-100{background-color:var(--color-rose-100)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-white{background-color:var(--color-white)}.bg-white\\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.bg-white\\/90{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.bg-white\\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\\/95{background-color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-1{padding-left:var(--spacing)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[11px\\]{font-size:11px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-amber-700{color:var(--color-amber-700)}.text-blue-100{color:var(--color-blue-100)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-emerald-100{color:var(--color-emerald-100)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-900{color:var(--color-emerald-900)}.text-indigo-100{color:var(--color-indigo-100)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-indigo-800{color:var(--color-indigo-800)}.text-indigo-900{color:var(--color-indigo-900)}.text-red-600{color:var(--color-red-600)}.text-rose-500{color:var(--color-rose-500)}.text-rose-600{color:var(--color-rose-600)}.text-rose-700{color:var(--color-rose-700)}.text-slate-100{color:var(--color-slate-100)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\\:bg-indigo-300\\/50:is(:where(.group):hover *){background-color:#a4b3ff80}@supports (color:color-mix(in lab, red, red)){.group-hover\\:bg-indigo-300\\/50:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--color-indigo-300) 50%, transparent)}}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media (hover:hover){.hover\\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\\:\\!bg-indigo-500:hover{background-color:var(--color-indigo-500)!important}.hover\\:bg-emerald-200:hover{background-color:var(--color-emerald-200)}.hover\\:bg-emerald-700:hover{background-color:var(--color-emerald-700)}.hover\\:bg-indigo-100:hover{background-color:var(--color-indigo-100)}.hover\\:bg-indigo-500:hover{background-color:var(--color-indigo-500)}.hover\\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\\:bg-rose-200:hover{background-color:var(--color-rose-200)}.hover\\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\\:text-indigo-800:hover{color:var(--color-indigo-800)}.hover\\:text-rose-400:hover{color:var(--color-rose-400)}.hover\\:text-slate-500:hover{color:var(--color-slate-500)}.hover\\:text-slate-600:hover{color:var(--color-slate-600)}.hover\\:text-white:hover{color:var(--color-white)}.hover\\:opacity-80:hover{opacity:.8}}.focus\\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\\:ring-indigo-500:focus{--tw-ring-color:var(--color-indigo-500)}.focus\\:ring-indigo-500\\/20:focus{--tw-ring-color:#625fff33}@supports (color:color-mix(in lab, red, red)){.focus\\:ring-indigo-500\\/20:focus{--tw-ring-color:color-mix(in oklab, var(--color-indigo-500) 20%, transparent)}}.focus\\:ring-red-400:focus{--tw-ring-color:var(--color-red-400)}.focus\\:ring-slate-400:focus{--tw-ring-color:var(--color-slate-400)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\\:cursor-grabbing:active{cursor:grabbing}.disabled\\:opacity-40:disabled{opacity:.4}@media (hover:hover){.disabled\\:hover\\:bg-transparent:disabled:hover{background-color:#0000}}@media (width>=40rem){.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}.sm\\:justify-between{justify-content:space-between}.sm\\:p-6{padding:calc(var(--spacing) * 6)}}@media (width>=64rem){.lg\\:flex-row{flex-direction:row}.lg\\:items-center{align-items:center}.lg\\:justify-between{justify-content:space-between}.lg\\:p-10{padding:calc(var(--spacing) * 10)}}}*{box-sizing:border-box}body{color:#0f172a;background:#f8fafc;margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}`;if(typeof document<`u`){let e=`react-flexi-datatable-styles`;if(!document.getElementById(e)){let t=document.createElement(`style`);t.id=e,t.textContent=m,document.head.appendChild(t)}}var te=p;exports.DataTable=p,exports.default=te;