@sito/dashboard 0.0.16 → 0.0.17
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.
|
@@ -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;
|