@sito/dashboard 0.0.16 → 0.0.18
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 +153 -2
- package/dist/components/Table/hooks/types.d.ts +2 -0
- package/dist/components/Table/index.d.ts +1 -0
- package/dist/dashboard.cjs +1 -1
- package/dist/dashboard.js +17 -15
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,2 +1,153 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
1
|
+
# @sito/dashboard
|
|
2
|
+
|
|
3
|
+
A React library for building customizable and responsive dashboards with ease.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Table Component**: A powerful table component with support for sorting, pagination, and customizable columns.
|
|
8
|
+
- **Translation Support**: Built-in translation support using a `TranslationProvider`.
|
|
9
|
+
- **Customizable**: Easily style and configure components to fit your needs.
|
|
10
|
+
- **Lightweight**: Optimized for performance and usability.
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
To install the library, use npm or yarn:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Using npm
|
|
18
|
+
npm install @sito/dashboard
|
|
19
|
+
|
|
20
|
+
# Using yarn
|
|
21
|
+
yarn add @sito/dashboard
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Table
|
|
25
|
+
|
|
26
|
+
Here’s how you can use the Table component in your project:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
import React from "react";
|
|
30
|
+
import { Table } from "sito-dashboard";
|
|
31
|
+
|
|
32
|
+
const App = () => {
|
|
33
|
+
const rows = [
|
|
34
|
+
{ id: 1, name: "John Doe", age: 30 },
|
|
35
|
+
{ id: 2, name: "Jane Smith", age: 25 },
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const parseRows = (row) => ({
|
|
39
|
+
id: row.id,
|
|
40
|
+
name: row.name,
|
|
41
|
+
age: row.age,
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
const columns = [
|
|
45
|
+
{ key: "name", label: "Name" },
|
|
46
|
+
{ key: "age", label: "Age" },
|
|
47
|
+
];
|
|
48
|
+
|
|
49
|
+
return (
|
|
50
|
+
<Table
|
|
51
|
+
title="User Table"
|
|
52
|
+
rows={rows}
|
|
53
|
+
parseRows={parseRows}
|
|
54
|
+
columns={columns}
|
|
55
|
+
/>
|
|
56
|
+
);
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export default App;
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Translation for its components
|
|
63
|
+
|
|
64
|
+
Wrap your application with the TranslationProvider to enable translations:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
import React from "react";
|
|
68
|
+
import { TranslationProvider } from "@sito/dashboard";
|
|
69
|
+
|
|
70
|
+
const translations = {
|
|
71
|
+
en: { hello: "Hello" },
|
|
72
|
+
es: { hello: "Hola" },
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const App = () => {
|
|
76
|
+
const t = (key) => translations["en"][key]; // Example translation function
|
|
77
|
+
|
|
78
|
+
return (
|
|
79
|
+
<TranslationProvider t={t}>
|
|
80
|
+
<h1>{t("hello")}</h1>
|
|
81
|
+
</TranslationProvider>
|
|
82
|
+
);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export default App;
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Components
|
|
89
|
+
|
|
90
|
+
### Table
|
|
91
|
+
|
|
92
|
+
The Table component is a flexible and feature-rich table for displaying data.
|
|
93
|
+
|
|
94
|
+
#### Props
|
|
95
|
+
- `title` (string): The title of the table.
|
|
96
|
+
- `rows` (array): The data to display in the table.
|
|
97
|
+
- `parseRows` (function): A function to parse rows for rendering.
|
|
98
|
+
- `columns` (array): Column definitions, including keys and labels.
|
|
99
|
+
- `isLoading` (boolean): Whether the table is in a loading state.
|
|
100
|
+
- `actions` (function): A function to render actions for each row.
|
|
101
|
+
- `className` (string): Custom class for the table container.
|
|
102
|
+
|
|
103
|
+
### TranslationProvider
|
|
104
|
+
|
|
105
|
+
Provides translation support for your application.
|
|
106
|
+
|
|
107
|
+
#### Props
|
|
108
|
+
- `t` (function): A translation function that takes a key and returns the translated string.
|
|
109
|
+
|
|
110
|
+
## Development
|
|
111
|
+
|
|
112
|
+
Running Locally
|
|
113
|
+
|
|
114
|
+
To run the project locally:
|
|
115
|
+
|
|
116
|
+
1. Clone the repository:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
git clone https://github.com/your-repo/sito-dashboard.git
|
|
120
|
+
|
|
121
|
+
cd sito-dashboard
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
2. Install dependencies:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
npm install
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
3. Start the development server
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
npm start
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Building the Library
|
|
137
|
+
|
|
138
|
+
To build the library for production
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
npm run build
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Contributing
|
|
145
|
+
|
|
146
|
+
Contributions are welcome! Please follow these steps:
|
|
147
|
+
1. Fork the repository.
|
|
148
|
+
2. Create a new branch for your feature or bugfix.
|
|
149
|
+
3. Submit a pull request with a detailed description of your changes.
|
|
150
|
+
|
|
151
|
+
## License
|
|
152
|
+
|
|
153
|
+
This project is licensed under the MIT License.
|
|
@@ -4,7 +4,9 @@ export type TableOptionsContextType = {
|
|
|
4
4
|
total: number;
|
|
5
5
|
setTotal: (total: number) => void;
|
|
6
6
|
sortingBy: string;
|
|
7
|
+
setSortingBy: (property: string) => void;
|
|
7
8
|
sortingOrder: SortOrder;
|
|
9
|
+
setSortingOrder: (sortOrder: SortOrder) => void;
|
|
8
10
|
pageSize: number;
|
|
9
11
|
pageSizes: number[];
|
|
10
12
|
setPageSize: (pageSize: number) => void;
|
package/dist/dashboard.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var H=require("./main.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react");var y=(t=>(t.ASC="ASC",t.DESC="DESC",t))(y||{});const _=[20,50,100],w=d.createContext({}),A=t=>{const{children:s}=t,[l,n]=d.useState(0),[r,a]=d.useState(20),[p,b]=d.useState(0),[u,
|
|
1
|
+
var H=require("./main.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react");var y=(t=>(t.ASC="ASC",t.DESC="DESC",t))(y||{});const _=[20,50,100],w=d.createContext({}),A=t=>{const{children:s}=t,[l,n]=d.useState(0),[r,a]=d.useState(20),[p,b]=d.useState(0),[u,g]=d.useState("id"),[o,i]=d.useState(y.ASC),m={onSort:d.useCallback(c=>{let j=o;if(u===c)switch(o){case y.ASC:j=y.DESC;break;default:j=y.ASC;break}g(c),i(j)},[u,o]),total:l,setTotal:n,sortingBy:u,setSortingBy:g,sortingOrder:o,setSortingOrder:i,pageSize:r,pageSizes:_,setPageSize:a,currentPage:p,setCurrentPage:b};return e.jsx(w.Provider,{value:m,children:s})},N=()=>{const t=d.useContext(w);if(t===void 0)throw new Error("tableOptionsContext must be used within a Provider");return t},S=d.createContext({});function M(t){const{children:s,t:l}=t;return e.jsx(S.Provider,{value:{t:l},children:s})}const v=()=>{const t=d.useContext(S);if(t===void 0)throw new Error("translationContext must be used within a Provider");return t};function E(t){const{content:s,children:l}=t;return e.jsxs("div",{className:"tooltip-container",children:[l,e.jsx("div",{className:"tooltip-text",children:s})]})}function k(t){const{color:s="stroke-blue-800",loaderClass:l,strokeWidth:n="4",...r}=t;return e.jsx("div",{...r,className:`loading ${r.className}`,children:e.jsx("div",{className:"loader-container",children:e.jsx("div",{className:`loader ${l}`,children:e.jsx("svg",{className:"circular",viewBox:"25 25 50 50",children:e.jsx("circle",{className:`path ${s}`,cx:"50",cy:"50",r:"20",fill:"none",strokeWidth:n,strokeMiterlimit:"10"})})})})})}function B(){const{t}=v();return e.jsx("div",{className:"w-full flex items-center justify-center py-2 border-t-[1px]",children:e.jsx("p",{children:t("_accessibility:components.table.empty")})})}function T(t){const{className:s}=t;return e.jsx("svg",{className:s,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:e.jsx("path",{d:"M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"})})}function $(t){const{className:s}=t;return e.jsx("svg",{className:s,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:e.jsx("path",{d:"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"})})}function D(t){const{t:s}=v(),{entity:l="",columns:n=[],hasAction:r=!0,columnsOptions:a}=t,{onSort:p,sortingOrder:b,sortingBy:u}=N(),g=d.useMemo(()=>{const{noSortableColumns:o={},columnClassNames:i={}}=a??{};return n==null?void 0:n.map(x=>({id:x.key,label:x.label,className:i[x.key]??"",sortable:!o[x.key]}))},[n,a,l,s]);return e.jsx("thead",{className:"text-xs text-gray-700 bg-gray-50",children:e.jsxs("tr",{children:[g.map(o=>{var i,x,m,c;return e.jsx("th",{scope:"col",className:`px-6 py-3 ${o.className}`,children:e.jsxs("button",{disabled:!o.sortable,onClick:()=>p(o.id),className:"flex items-center gap-2",children:[e.jsx("span",{className:"whitespace-nowrap",children:o.label}),o.sortable&&e.jsx("span",{className:`${u===o.id?"opacity-100":"opacity-0"}`,children:b===y.ASC?((i=a==null?void 0:a.icons)==null?void 0:i.asc)??e.jsx(T,{className:((x=a==null?void 0:a.icons)==null?void 0:x.className)??"w-3"}):((m=a==null?void 0:a.icons)==null?void 0:m.desc)??e.jsx($,{className:((c=a==null?void 0:a.icons)==null?void 0:c.className)??"w-3"})})]})},o.id)}),r&&e.jsx("th",{scope:"col",className:"px-6 py-3 text-center",children:s("_accessibility:labels.actions")})]})})}var P=(t=>(t.error="error",t.good="good",t.default="default",t))(P||{});const L=t=>{switch(t){case"error":return"border-red-500 text-red-900 placeholder-red-700 focus:ring-red-500 focus:border-red-500";case"good":return"border-green-500 text-green-900 placeholder-green-700 focus:ring-green-500 focus:border-green-500";default:return"text-gray-900 border-gray-300 focus:border-blue-600"}},F=t=>{switch(t){case"error":return"peer-focus:text-red-700 text-red-700";case"good":return"peer-focus:text-green-700 text-green-700";default:return"peer-focus:text-blue-600 text-gray-500"}},q=t=>{switch(t){case"error":return"text-red-600";case"good":return"text-green-600";default:return"text-gray-500"}},I=d.forwardRef(function(t,s){const{value:l,onChange:n,options:r,containerClassName:a="",inputClassName:p="",labelClassName:b="",helperText:u="",helperTextClassName:g="",placeholder:o="",label:i="",name:x="",id:m="",state:c=P.default,...j}=t;return d.useEffect(()=>{var f;(!l||l==="")&&(r!=null&&r.length)&&n({target:{value:(f=r[0])==null?void 0:f.id}})},[n,r,l]),e.jsxs("div",{className:`relative z-0 w-full mb-5 group ${a}`,children:[e.jsx("select",{...j,id:m,ref:s,name:x,value:l,onChange:n,className:`block py-2.5 px-0 w-full text-sm bg-transparent border-0 border-b-2 appearance-none focus:outline-none focus:ring-0 disabled:text-[#6b7280] ${L(c)} peer ${p}`,children:r==null?void 0:r.map(f=>e.jsx("option",{value:f.id,children:f.value},f.id))}),e.jsx("label",{htmlFor:x,className:`peer-focus:font-medium absolute text-sm duration-300 transform -translate-y-6 scale-75 top-3 -z-10 origin-[0] peer-focus:start-0 rtl:peer-focus:translate-x-1/4 rtl:peer-focus:left-auto peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-6 ${F(c)} ${b}`,children:i}),e.jsx("p",{className:`mt-2 text-sm ${q(c)} ${g}`,children:c!=="error"&&c!=="good"?o:u})]})}),R=I;function U(){const{t}=v(),{pageSizes:s,pageSize:l,setPageSize:n}=N(),r=d.useMemo(()=>s==null?void 0:s.map(a=>({id:a,value:a})),[s]);return e.jsxs("div",{className:"flex gap-2 items-center justify-start px-5",children:[e.jsx("p",{children:t("_accessibility:components.table.pageSizes")}),e.jsx(R,{value:l,options:r,inputClassName:"!py-0 !pl-2 !pr-7 !border-none font-bold",containerClassName:"!w-auto !mb-0 !border-none",helperTextClassName:"hidden",onChange:a=>n(a.target.value)})]})}function W(){const{t}=v(),{total:s,pageSize:l,pageSizes:n,currentPage:r,setCurrentPage:a}=N(),p=(r+1)*l>s?s:(r+1)*l;return e.jsxs("div",{className:"flex w-full items-center justify-between mt-5 px-5",children:[e.jsxs("div",{className:"flex w-full items-center justify-start gap-1",children:[e.jsx("p",{children:t("_accessibility:components.table.pageSizes")}),n[0]<s&&e.jsx(e.Fragment,{children:e.jsxs("p",{children:[t("_accessibility:components.table.from")," ",r*l+1," ",t("_accessibility:components.table.to")," ",p," ",t("_accessibility:components.table.of")]})}),e.jsxs("p",{children:[s," ",t("_accessibility:components.table.results")]})]}),e.jsxs("div",{className:"flex gap-5 items-center justify-end",children:[e.jsx("button",{className:"disabled:text-light-primary/40",disabled:r===0,onClick:()=>a(r-1),children:t("_accessibility:buttons.previous")}),e.jsx("button",{disabled:Math.floor(s/((r+1)*l))===0,className:"disabled:text-light-primary/40",onClick:()=>a(r+1),children:t("_accessibility:buttons.next")})]})]})}function G(t){const{t:s}=v(),{title:l="",rows:n,parseRows:r,entity:a="",isLoading:p=!1,actions:b,columns:u=[],contentClassName:g="h-[calc(100vh-280px)]",className:o="bg-gray-50",columnsOptions:i,softDeleteProperty:x="deleted"}=t,m=d.useMemo(()=>(n==null?void 0:n.map(c=>r(c)))??[],[r,n,s]);return e.jsxs("div",{className:`${o} relative overflow-x-auto w-full h-full`,children:[e.jsx("div",{className:"mb-5 flex w-full items-center justify-between",children:e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl md:text-3xl font-bold mx-5",children:l}),n!=null&&n.length&&!p?e.jsx(U,{}):null]})}),p?e.jsx(k,{className:"bg-white top-0 left-0 w-full h-full"}):e.jsx("div",{className:`${g} overflow-auto`,children:n!=null&&n.length?e.jsxs(e.Fragment,{children:[e.jsxs("table",{className:"w-full text-sm text-left text-gray-500",children:[e.jsx(D,{entity:a,columns:u,columnsOptions:i,hasAction:!!b}),e.jsx("tbody",{children:m==null?void 0:m.map(c=>{var j,f;return e.jsxs("tr",{className:`border-b ${(j=c[x])!=null&&j.value?"deleted-class":"bg-white"}`,children:[u==null?void 0:u.map((h,z)=>{var C;return e.jsx("td",{className:`px-6 py-4 font-medium ${z===0?"text-gray-900 whitespace-nowrap":""} ${i!=null&&i.columnClassNames?i==null?void 0:i.columnClassNames[h.key]:""}`,children:((C=c[h.key])==null?void 0:C.render)??c[h.key]},h.key)}),b?e.jsx("td",{children:e.jsx("div",{className:"flex items-center gap-3 w-full justify-center",children:(f=b(c).filter(h=>!h.hidden))==null?void 0:f.map(h=>e.jsx(E,{content:h.tooltip,children:e.jsx("button",{onClick:h.onClick,children:h.icon})},h.id))})}):null]},c.id)})})]}),e.jsx(W,{})]}):e.jsx(B,{})})]})}exports.ChevronDown=$;exports.ChevronUp=T;exports.Loading=k;exports.Table=G;exports.TableOptionsProvider=A;exports.TranslationProvider=M;exports.useTableOptions=N;exports.useTranslation=v;
|
package/dist/dashboard.js
CHANGED
|
@@ -3,27 +3,29 @@ import { jsx as t, jsxs as d, Fragment as $ } from "react/jsx-runtime";
|
|
|
3
3
|
import { createContext as P, useState as v, useCallback as E, useContext as z, useMemo as w, forwardRef as B, useEffect as D } from "react";
|
|
4
4
|
var N = /* @__PURE__ */ ((e) => (e.ASC = "ASC", e.DESC = "DESC", e))(N || {});
|
|
5
5
|
const M = [20, 50, 100], T = P({}), O = (e) => {
|
|
6
|
-
const { children: r } = e, [n, l] = v(0), [s, a] = v(20), [m, b] = v(0), [p,
|
|
6
|
+
const { children: r } = e, [n, l] = v(0), [s, a] = v(20), [m, b] = v(0), [p, x] = v("id"), [i, o] = v(N.ASC), f = {
|
|
7
7
|
onSort: E(
|
|
8
8
|
(c) => {
|
|
9
|
-
let
|
|
9
|
+
let y = i;
|
|
10
10
|
if (p === c)
|
|
11
11
|
switch (i) {
|
|
12
12
|
case N.ASC:
|
|
13
|
-
|
|
13
|
+
y = N.DESC;
|
|
14
14
|
break;
|
|
15
15
|
default:
|
|
16
|
-
|
|
16
|
+
y = N.ASC;
|
|
17
17
|
break;
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
x(c), o(y);
|
|
20
20
|
},
|
|
21
21
|
[p, i]
|
|
22
22
|
),
|
|
23
23
|
total: n,
|
|
24
24
|
setTotal: l,
|
|
25
25
|
sortingBy: p,
|
|
26
|
+
setSortingBy: x,
|
|
26
27
|
sortingOrder: i,
|
|
28
|
+
setSortingOrder: o,
|
|
27
29
|
pageSize: s,
|
|
28
30
|
pageSizes: M,
|
|
29
31
|
setPageSize: a,
|
|
@@ -103,7 +105,7 @@ function U(e) {
|
|
|
103
105
|
);
|
|
104
106
|
}
|
|
105
107
|
function W(e) {
|
|
106
|
-
const { t: r } = C(), { entity: n = "", columns: l = [], hasAction: s = !0, columnsOptions: a } = e, { onSort: m, sortingOrder: b, sortingBy: p } = S(),
|
|
108
|
+
const { t: r } = C(), { entity: n = "", columns: l = [], hasAction: s = !0, columnsOptions: a } = e, { onSort: m, sortingOrder: b, sortingBy: p } = S(), x = w(() => {
|
|
107
109
|
const { noSortableColumns: i = {}, columnClassNames: o = {} } = a ?? {};
|
|
108
110
|
return l == null ? void 0 : l.map((u) => ({
|
|
109
111
|
id: u.key,
|
|
@@ -113,7 +115,7 @@ function W(e) {
|
|
|
113
115
|
}));
|
|
114
116
|
}, [l, a, n, r]);
|
|
115
117
|
return /* @__PURE__ */ t("thead", { className: "text-xs text-gray-700 bg-gray-50", children: /* @__PURE__ */ d("tr", { children: [
|
|
116
|
-
|
|
118
|
+
x.map((i) => {
|
|
117
119
|
var o, u, f, c;
|
|
118
120
|
return /* @__PURE__ */ t(
|
|
119
121
|
"th",
|
|
@@ -192,13 +194,13 @@ const q = (e) => {
|
|
|
192
194
|
inputClassName: m = "",
|
|
193
195
|
labelClassName: b = "",
|
|
194
196
|
helperText: p = "",
|
|
195
|
-
helperTextClassName:
|
|
197
|
+
helperTextClassName: x = "",
|
|
196
198
|
placeholder: i = "",
|
|
197
199
|
label: o = "",
|
|
198
200
|
name: u = "",
|
|
199
201
|
id: f = "",
|
|
200
202
|
state: c = j.default,
|
|
201
|
-
...
|
|
203
|
+
...y
|
|
202
204
|
} = e;
|
|
203
205
|
return D(() => {
|
|
204
206
|
var g;
|
|
@@ -207,7 +209,7 @@ const q = (e) => {
|
|
|
207
209
|
/* @__PURE__ */ t(
|
|
208
210
|
"select",
|
|
209
211
|
{
|
|
210
|
-
...
|
|
212
|
+
...y,
|
|
211
213
|
id: f,
|
|
212
214
|
ref: r,
|
|
213
215
|
name: u,
|
|
@@ -228,7 +230,7 @@ const q = (e) => {
|
|
|
228
230
|
/* @__PURE__ */ t(
|
|
229
231
|
"p",
|
|
230
232
|
{
|
|
231
|
-
className: `mt-2 text-sm ${H(c)} ${
|
|
233
|
+
className: `mt-2 text-sm ${H(c)} ${x}`,
|
|
232
234
|
children: c !== "error" && c !== "good" ? i : p
|
|
233
235
|
}
|
|
234
236
|
)
|
|
@@ -307,7 +309,7 @@ function te(e) {
|
|
|
307
309
|
isLoading: m = !1,
|
|
308
310
|
actions: b,
|
|
309
311
|
columns: p = [],
|
|
310
|
-
contentClassName:
|
|
312
|
+
contentClassName: x = "h-[calc(100vh-280px)]",
|
|
311
313
|
className: i = "bg-gray-50",
|
|
312
314
|
columnsOptions: o,
|
|
313
315
|
softDeleteProperty: u = "deleted"
|
|
@@ -320,7 +322,7 @@ function te(e) {
|
|
|
320
322
|
/* @__PURE__ */ t("h1", { className: "text-2xl md:text-3xl font-bold mx-5", children: n }),
|
|
321
323
|
l != null && l.length && !m ? /* @__PURE__ */ t(Q, {}) : null
|
|
322
324
|
] }) }),
|
|
323
|
-
m ? /* @__PURE__ */ t(F, { className: "bg-white top-0 left-0 w-full h-full" }) : /* @__PURE__ */ t("div", { className: `${
|
|
325
|
+
m ? /* @__PURE__ */ t(F, { className: "bg-white top-0 left-0 w-full h-full" }) : /* @__PURE__ */ t("div", { className: `${x} overflow-auto`, children: l != null && l.length ? /* @__PURE__ */ d($, { children: [
|
|
324
326
|
/* @__PURE__ */ d("table", { className: "w-full text-sm text-left text-gray-500", children: [
|
|
325
327
|
/* @__PURE__ */ t(
|
|
326
328
|
W,
|
|
@@ -332,11 +334,11 @@ function te(e) {
|
|
|
332
334
|
}
|
|
333
335
|
),
|
|
334
336
|
/* @__PURE__ */ t("tbody", { children: f == null ? void 0 : f.map((c) => {
|
|
335
|
-
var
|
|
337
|
+
var y, g;
|
|
336
338
|
return /* @__PURE__ */ d(
|
|
337
339
|
"tr",
|
|
338
340
|
{
|
|
339
|
-
className: `border-b ${(
|
|
341
|
+
className: `border-b ${(y = c[u]) != null && y.value ? "deleted-class" : "bg-white"}`,
|
|
340
342
|
children: [
|
|
341
343
|
p == null ? void 0 : p.map((h, A) => {
|
|
342
344
|
var k;
|