@dgshahr/ui-kit 0.0.90 → 0.0.92

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.
@@ -1,31 +1,69 @@
1
- import { jsxs as u, jsx as e } from "react/jsx-runtime";
2
- import { c as a } from "../clsx-OuTLNxxd.js";
3
- import T from "../Badge/index.mjs";
4
- import B from "../Button/index.mjs";
5
- import K from "../Form/Checkbox/index.mjs";
6
- import v from "../Tooltip/index.mjs";
7
- import { I as R } from "../IconArrowDown2-7ddwV5IE.js";
8
- import { I as j } from "../IconInfoCircleOutline-aO1F3qnG.js";
9
- import p from "../Divider/index.mjs";
10
- import I from "../Pagination/index.mjs";
1
+ "use client";
2
+ import { jsx as s, jsxs as g } from "react/jsx-runtime";
3
+ import { c } from "../clsx-OuTLNxxd.js";
4
+ import { useState as K, useEffect as T, createContext as L, useContext as j, useRef as H } from "react";
5
+ import D from "../Badge/index.mjs";
6
+ import O from "../Form/Checkbox/index.mjs";
7
+ import A from "../Tooltip/index.mjs";
8
+ import { I as P } from "../IconArrowDown2-7ddwV5IE.js";
9
+ import { I as z } from "../IconInfoCircleOutline-aO1F3qnG.js";
10
+ import m from "../Divider/index.mjs";
11
+ import q from "../Pagination/index.mjs";
11
12
  import '../assets/styles.css';/* empty css */
12
- const L = (t) => {
13
- const { title: i, actionButton: r, showTotal: d, total: n, className: o } = t;
14
- return /* @__PURE__ */ u(
13
+ const E = L({
14
+ observer: null,
15
+ columns: [],
16
+ data: [],
17
+ rowKey: ""
18
+ }), R = "after:!dgs-ui-kit-shadow-[rgba(0,0,0,0.06)]";
19
+ function y(e) {
20
+ e.classList.add(R);
21
+ }
22
+ function $(e) {
23
+ e.classList.remove(R);
24
+ }
25
+ function M(e) {
26
+ const { children: t, ...n } = e, { columns: o, rowSelection: r } = n, [d, a] = K(null);
27
+ return T(() => {
28
+ let i = o.some((u) => !!u.sticky);
29
+ return i || (i = !!r?.sticky), i && a(
30
+ new IntersectionObserver(
31
+ (u) => {
32
+ let l = !1;
33
+ for (const k of u)
34
+ if (k.boundingClientRect.right > k.intersectionRect.right) {
35
+ document.querySelectorAll("#sticky-cell-right").forEach(y), l = !0;
36
+ break;
37
+ } else if (k.boundingClientRect.left < k.intersectionRect.left) {
38
+ document.querySelectorAll("#sticky-cell-left").forEach(y), l = !0;
39
+ break;
40
+ }
41
+ l || document.querySelectorAll('[id^="sticky-cell-"]').forEach($);
42
+ },
43
+ { threshold: 1, rootMargin: "0% 100% 0% 100%" }
44
+ )
45
+ ), () => {
46
+ d && d.disconnect();
47
+ };
48
+ }, []), /* @__PURE__ */ s(E.Provider, { value: { observer: d, ...n }, children: t });
49
+ }
50
+ const b = () => j(E), F = (e) => {
51
+ const { title: t, extraElement: n, showTotal: o, total: r, className: d } = e;
52
+ return /* @__PURE__ */ g(
15
53
  "div",
16
54
  {
17
- className: a(
55
+ className: c(
18
56
  "dgs-ui-kit-p-4 dgs-ui-kit-flex dgs-ui-kit-items-center dgs-ui-kit-space-x-1 dgs-ui-kit-space-x-reverse dgs-ui-kit-border-b dgs-ui-kit-border-solid dgs-ui-kit-border-gray-200",
19
- o
57
+ d
20
58
  ),
21
59
  children: [
22
- /* @__PURE__ */ e("div", { className: "dgs-ui-kit-font-h4-bold dgs-ui-kit-text-gray-700 dgs-ui-kit-w-full", children: i }),
23
- d && /* @__PURE__ */ u("div", { className: "dgs-ui-kit-flex dgs-ui-kit-items-center dgs-ui-kit-shrink-0", children: [
24
- /* @__PURE__ */ e("span", { className: "dgs-ui-kit-font-p2-regular dgs-ui-kit-text-gray-700 dgs-ui-kit-ml-1", children: "تعداد نتایج:" }),
25
- /* @__PURE__ */ e(
26
- T,
60
+ /* @__PURE__ */ s("div", { className: "dgs-ui-kit-font-h4-bold dgs-ui-kit-text-gray-700 dgs-ui-kit-w-full", children: t }),
61
+ o && /* @__PURE__ */ g("div", { className: "dgs-ui-kit-flex dgs-ui-kit-items-center dgs-ui-kit-shrink-0", children: [
62
+ /* @__PURE__ */ s("span", { className: "dgs-ui-kit-font-p2-regular dgs-ui-kit-text-gray-700 dgs-ui-kit-ml-1", children: "تعداد نتایج:" }),
63
+ /* @__PURE__ */ s(
64
+ D,
27
65
  {
28
- value: n ?? 0,
66
+ value: r ?? 0,
29
67
  valueType: "number",
30
68
  size: "large",
31
69
  color: "primary",
@@ -33,20 +71,13 @@ const L = (t) => {
33
71
  }
34
72
  )
35
73
  ] }),
36
- r && /* @__PURE__ */ e(
37
- B,
38
- {
39
- className: a("dgs-ui-kit-shrink-0", r.className),
40
- ...r,
41
- children: r.children ?? null
42
- }
43
- )
74
+ n
44
75
  ]
45
76
  }
46
77
  );
47
78
  };
48
- function h(t) {
49
- switch (t) {
79
+ function p(e) {
80
+ switch (e) {
50
81
  case "center":
51
82
  return "dgs-ui-kit-justify-center";
52
83
  case "start":
@@ -57,100 +88,128 @@ function h(t) {
57
88
  return;
58
89
  }
59
90
  }
60
- function C(t, i) {
61
- return t || (Array.isArray(i) ? i[i.length - 1] : i);
91
+ function B(e, t) {
92
+ return e || (Array.isArray(t) ? t[t.length - 1] : t);
62
93
  }
63
- function S(t) {
64
- return !!(t && t.selectedRowKeys.length > 1 || typeof t?.onSelectRow == "function");
94
+ function _(e) {
95
+ return !!(e && e.selectedRowKeys.length > 1 || typeof e?.onSelectRow == "function");
65
96
  }
66
- function A(t, i) {
67
- return /* @__PURE__ */ e(
97
+ function I(e, t) {
98
+ return /* @__PURE__ */ s(
68
99
  "div",
69
100
  {
70
- className: a(
71
- "dgs-ui-kit-w-full dgs-ui-kit-flex dgs-ui-kit-items-center",
72
- h(t ?? "center")
101
+ className: c(
102
+ "dgs-ui-kit-w-full dgs-ui-kit-flex dgs-ui-kit-items-centerd",
103
+ p(e ?? "center")
73
104
  ),
74
- children: /* @__PURE__ */ e(K, { ...i })
105
+ children: /* @__PURE__ */ s(O, { ...t })
75
106
  }
76
107
  );
77
108
  }
78
- function k(t, i) {
79
- if (t)
80
- return a("dgs-ui-kit-sticky dgs-ui-kit-translate-y-[1px] dgs-ui-kit-z-10", {
81
- "dgs-ui-kit-right-0": t === "right",
82
- "dgs-ui-kit-left-0": t === "left",
83
- 'after:dgs-ui-kit-content-[""] after:dgs-ui-kit-absolute after:dgs-ui-kit-bottom-0 after:dgs-ui-kit-right-0 after:dgs-ui-kit-w-full after:dgs-ui-kit-border-b after:dgs-ui-kit-border-solid after:dgs-ui-kit-border-gray-200': i
84
- });
109
+ function U(e, t) {
110
+ if (e)
111
+ return c(
112
+ "dgs-ui-kit-sticky dgs-ui-kit-z-10",
113
+ 'after:dgs-ui-kit-content[""] after:dgs-ui-kit-absolute after:dgs-ui-kit-top-0 after:dgs-ui-kit-h-full after:dgs-ui-kit-w-[30px] after:dgs-ui-kit-transition-shadow',
114
+ // sticky shadow class
115
+ {
116
+ " dgs-ui-kit-right-[-1px] dgs-ui-kit-pr-[calc(1em+1px)] after:dgs-ui-kit-left-0 after:-dgs-ui-kit-translate-x-full after:dgs-ui-kit-shadow-[inset_-10px_0_8px_-8px] after:dgs-ui-kit-shadow-transparent": e === "right",
117
+ " dgs-ui-kit-left-[-1px] dgs-ui-kit-pl-[calc(1em+1px)] after:dgs-ui-kit-right-0 after:dgs-ui-kit-translate-x-full after:dgs-ui-kit-shadow-[inset_10px_0_8px_-8px] after:dgs-ui-kit-shadow-transparent": e === "left",
118
+ 'before:dgs-ui-kit-content-[""] before:dgs-ui-kit-absolute before:dgs-ui-kit-top-0 before:dgs-ui-kit-right-0 before:dgs-ui-kit-w-full before:dgs-ui-kit-border-t before:md:dgs-ui-kit-border-t-0 before:dgs-ui-kit-border-solid before:dgs-ui-kit-border-gray-200': t
119
+ }
120
+ );
85
121
  }
86
- const y = "dgs-ui-kit-p-4 dgs-ui-kit-pl-0 dgs-ui-kit-bg-white dgs-ui-kit-border-b dgs-ui-kit-border-solid dgs-ui-kit-border-gray-200";
87
- function D(t, i) {
88
- return t ? Array.isArray(t) ? t.reduce((r, d) => r?.[d] ?? null, i) : i[t] : null;
122
+ const f = (e) => {
123
+ const { children: t, className: n, type: o, sticky: r, addBorderToSticky: d, stuckToTop: a } = e, i = H(null), u = o, { observer: l } = b();
124
+ return T(() => {
125
+ if (!(!i.current || !l))
126
+ return r && l.observe(i.current), () => {
127
+ !i.current || !l || r && l.unobserve(i.current);
128
+ };
129
+ }, [i, l]), /* @__PURE__ */ s(
130
+ u,
131
+ {
132
+ ref: i,
133
+ className: c(n, U(r, d), {
134
+ 'dgs-ui-kit-border-b-0 before:dgs-ui-kit-content[""] before:dgs-ui-kit-absolute before:dgs-ui-kit-bottom-0 before:dgs-ui-kit-left-0 before:dgs-ui-kit-w-full before:dgs-ui-kit-border-b before:dgs-ui-kit-border-solid before:dgs-ui-kit-border-gray-200': a,
135
+ "dgs-ui-kit-top-0 dgs-ui-kit-z-20": a && r,
136
+ "dgs-ui-kit-sticky dgs-ui-kit-top-0 dgs-ui-kit-z-10": a && !r
137
+ }),
138
+ id: r && `sticky-cell-${r}`,
139
+ children: t
140
+ }
141
+ );
142
+ }, x = "dgs-ui-kit-p-4 dgs-ui-kit-pl-0 dgs-ui-kit-bg-white dgs-ui-kit-border-b dgs-ui-kit-border-solid dgs-ui-kit-border-gray-200";
143
+ function W(e, t) {
144
+ return e ? Array.isArray(e) ? e.reduce((n, o) => n?.[o] ?? null, t) : t[e] : null;
89
145
  }
90
- function E(t, i, r) {
91
- if (typeof t.render == "function") return t.render(i, r);
92
- const d = D(t.dataIndex, i);
93
- if (t.ellipsis) {
94
- const n = /* @__PURE__ */ e("div", { className: "!dgs-ui-kit-truncate", children: d });
95
- return typeof t.ellipsis != "boolean" && t.ellipsis.hideTooltip ? n : /* @__PURE__ */ e(
96
- v,
146
+ function Z(e, t, n) {
147
+ if (typeof e.render == "function") return e.render(t, n);
148
+ const o = W(e.dataIndex, t);
149
+ if (e.ellipsis) {
150
+ const r = /* @__PURE__ */ s("div", { className: "!dgs-ui-kit-truncate", children: o });
151
+ return typeof e.ellipsis != "boolean" && e.ellipsis.hideTooltip ? r : /* @__PURE__ */ s(
152
+ A,
97
153
  {
98
154
  wrapperClassName: "dgs-ui-kit-w-full",
99
- content: d,
100
- children: n
155
+ content: o,
156
+ children: r
101
157
  }
102
158
  );
103
159
  }
104
- return d;
160
+ return o;
105
161
  }
106
- function H(t) {
107
- const { data: i, columns: r, rowKey: d, rowSelection: n, havePagination: o } = t;
108
- return /* @__PURE__ */ e("tbody", { children: i.map((s, g) => /* @__PURE__ */ u("tr", { children: [
109
- S(n) && /* @__PURE__ */ e(
110
- "td",
162
+ const G = (e) => {
163
+ const { havePagination: t } = e, { columns: n, data: o, rowKey: r, rowSelection: d, stickyTableHeader: a } = b();
164
+ return /* @__PURE__ */ s("tbody", { children: o.map((i, u) => /* @__PURE__ */ g("tr", { children: [
165
+ _(d) && /* @__PURE__ */ s(
166
+ f,
111
167
  {
112
- className: a(
113
- y,
114
- n?.className,
168
+ type: "td",
169
+ className: c(
170
+ x,
171
+ d?.className,
115
172
  {
116
- "dgs-ui-kit-border-b-0 dgs-ui-kit-rounded-br-2xl": !o && g === i.length - 1
173
+ "dgs-ui-kit-border-b-0 dgs-ui-kit-rounded-br-2xl": !t && u === o.length - 1
117
174
  },
118
- k(n?.sticky),
119
- n?.className
175
+ d?.className
120
176
  ),
121
- children: A(n?.align, {
122
- onChange: (l) => n?.onSelectRow(l, s[d]),
123
- checked: !!n?.selectedRowKeys.find((l) => l === s[d])
177
+ sticky: d?.sticky,
178
+ addBorderToSticky: a ? u !== 0 : !0,
179
+ children: I(d?.align, {
180
+ onChange: (l) => d?.onSelectRow(l, i[r]),
181
+ checked: !!d?.selectedRowKeys.find((l) => l === i[r])
124
182
  })
125
183
  }
126
184
  ),
127
- r.map((l) => /* @__PURE__ */ e(
128
- "td",
185
+ n.map((l) => /* @__PURE__ */ s(
186
+ f,
129
187
  {
130
- className: a(
131
- y,
188
+ type: "td",
189
+ className: c(
190
+ x,
132
191
  {
133
- "dgs-ui-kit-border-b-0 first:dgs-ui-kit-rounded-br-2xl last:dgs-ui-kit-rounded-bl-2xl": !o && g === i.length - 1
192
+ "dgs-ui-kit-border-b-0 first:dgs-ui-kit-rounded-br-2xl last:dgs-ui-kit-rounded-bl-2xl": !t && u === o.length - 1
134
193
  },
135
- k(l?.sticky),
136
194
  l.className
137
195
  ),
138
- children: /* @__PURE__ */ e(
196
+ sticky: l.sticky,
197
+ addBorderToSticky: a ? u !== 0 : !0,
198
+ children: /* @__PURE__ */ s(
139
199
  "div",
140
200
  {
141
- className: a(
201
+ className: c(
142
202
  "dgs-ui-kit-flex dgs-ui-kit-items-center dgs-ui-kit-ml-2",
143
- h(l.align)
203
+ p(l.align)
144
204
  ),
145
- children: E(l, s, g)
205
+ children: Z(l, i, u)
146
206
  }
147
207
  )
148
208
  },
149
- `${s[d]}-${C(l.key, l.dataIndex)}`
209
+ `${i[r]}-${B(l.key, l.dataIndex)}`
150
210
  ))
151
- ] }, s[d])) });
152
- }
153
- const P = (t) => /* @__PURE__ */ e(
211
+ ] }, i[r])) });
212
+ }, J = (e) => /* @__PURE__ */ s(
154
213
  "svg",
155
214
  {
156
215
  xmlns: "http://www.w3.org/2000/svg",
@@ -158,8 +217,8 @@ const P = (t) => /* @__PURE__ */ e(
158
217
  height: "1em",
159
218
  fill: "none",
160
219
  viewBox: "0 0 24 24",
161
- ...t,
162
- children: /* @__PURE__ */ e(
220
+ ...e,
221
+ children: /* @__PURE__ */ s(
163
222
  "path",
164
223
  {
165
224
  fill: "currentColor",
@@ -168,51 +227,63 @@ const P = (t) => /* @__PURE__ */ e(
168
227
  )
169
228
  }
170
229
  );
171
- function _(t, i) {
172
- if (t.length !== i.length) return !1;
173
- t.sort(), i.sort();
174
- for (let r = 0; r < t.length; r++) if (t[r] !== i[r]) return !1;
230
+ function Q(e, t) {
231
+ if (e.length !== t.length) return !1;
232
+ e.sort(), t.sort();
233
+ for (let n = 0; n < e.length; n++) if (e[n] !== t[n]) return !1;
175
234
  return !0;
176
235
  }
177
- const c = 16, b = "dgs-ui-kit-p-4 dgs-ui-kit-pl-0 dgs-ui-kit-text-gray-500 dgs-ui-kit-bg-gray-50 dgs-ui-kit-border-b dgs-ui-kit-border-solid dgs-ui-kit-border-gray-200", w = "!dgs-ui-kit-h-8 dgs-ui-kit-shrink-0";
178
- function N(t, i) {
179
- return /* @__PURE__ */ u("div", { className: "dgs-ui-kit-font-p1-medium dgs-ui-kit-flex dgs-ui-kit-items-center dgs-ui-kit-space-x-1 dgs-ui-kit-space-x-reverse", children: [
180
- /* @__PURE__ */ e("span", { children: t }),
181
- i && (i.anchorIcon ?? /* @__PURE__ */ e(
182
- j,
236
+ const h = 16, v = "dgs-ui-kit-p-4 dgs-ui-kit-pl-0 dgs-ui-kit-text-gray-500 dgs-ui-kit-bg-gray-50 dgs-ui-kit-border-b dgs-ui-kit-border-solid dgs-ui-kit-border-gray-200", w = "!dgs-ui-kit-h-8 dgs-ui-kit-shrink-0";
237
+ function C(e, t) {
238
+ return /* @__PURE__ */ s("button", { onClick: () => t.onSort(e), children: /* @__PURE__ */ s(
239
+ e === "ascend" ? J : P,
240
+ {
241
+ width: h,
242
+ height: h,
243
+ className: t.active === e ? "dgs-ui-kit-text-primary-500" : "dgs-ui-kit-text-gray-500"
244
+ }
245
+ ) });
246
+ }
247
+ function N(e, t) {
248
+ return /* @__PURE__ */ g("div", { className: "dgs-ui-kit-font-p1-medium dgs-ui-kit-flex dgs-ui-kit-items-center dgs-ui-kit-space-x-1 dgs-ui-kit-space-x-reverse", children: [
249
+ /* @__PURE__ */ s("span", { children: e }),
250
+ t && (t.anchorIcon ?? /* @__PURE__ */ s(
251
+ z,
183
252
  {
184
- width: c,
185
- height: c
253
+ width: h,
254
+ height: h
186
255
  }
187
256
  ))
188
257
  ] });
189
258
  }
190
- function x(t, i) {
191
- return t.map((r) => r[i]);
259
+ function S(e, t) {
260
+ return e.map((n) => n[t]);
192
261
  }
193
- function z(t) {
194
- const { columns: i, haveHeader: r, rowSelection: d, rowKey: n, data: o } = t;
195
- return /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ u("tr", { children: [
196
- S(d) && /* @__PURE__ */ e(
197
- "th",
262
+ const X = (e) => {
263
+ const { haveHeader: t } = e, { columns: n, rowKey: o, rowSelection: r, data: d, stickyTableHeader: a } = b();
264
+ return /* @__PURE__ */ s("thead", { children: /* @__PURE__ */ g("tr", { children: [
265
+ _(r) && /* @__PURE__ */ s(
266
+ f,
198
267
  {
199
- className: a(
200
- b,
201
- { "dgs-ui-kit-rounded-tr-2xl": !r },
202
- k(d?.sticky, !0),
203
- d?.className
268
+ type: "th",
269
+ className: c(
270
+ v,
271
+ { "dgs-ui-kit-rounded-tr-2xl": !t },
272
+ r?.className
204
273
  ),
205
- children: /* @__PURE__ */ u("div", { className: "dgs-ui-kit-flex dgs-ui-kit-items-center dgs-ui-kit-justify-between", children: [
206
- A(d?.align, {
207
- checked: d.selectedRowKeys.length > 0,
208
- isIndeterminate: !_(
209
- x(o, n),
210
- d.selectedRowKeys
274
+ sticky: r?.sticky,
275
+ stuckToTop: a,
276
+ children: /* @__PURE__ */ g("div", { className: "dgs-ui-kit-flex dgs-ui-kit-items-center dgs-ui-kit-justify-between", children: [
277
+ I(r?.align, {
278
+ checked: r.selectedRowKeys.length > 0,
279
+ isIndeterminate: !Q(
280
+ S(d, o),
281
+ r.selectedRowKeys
211
282
  ),
212
- onChange: (s) => d?.onSelectRow(s, s.target.checked ? x(o, n) : [])
283
+ onChange: (i) => r?.onSelectRow(i, i.target.checked ? S(d, o) : [])
213
284
  }),
214
- /* @__PURE__ */ e(
215
- p,
285
+ /* @__PURE__ */ s(
286
+ m,
216
287
  {
217
288
  type: "vertical",
218
289
  className: w
@@ -221,48 +292,38 @@ function z(t) {
221
292
  ] })
222
293
  }
223
294
  ),
224
- i.map((s, g) => /* @__PURE__ */ e(
225
- "th",
295
+ n.map((i, u) => /* @__PURE__ */ s(
296
+ f,
226
297
  {
227
- className: a(
228
- b,
298
+ type: "th",
299
+ sticky: i.sticky,
300
+ className: c(
301
+ v,
229
302
  {
230
- "first:dgs-ui-kit-rounded-tr-2xl last:dgs-ui-kit-rounded-tl-2xl": !r
303
+ "first:dgs-ui-kit-rounded-tr-2xl last:dgs-ui-kit-rounded-tl-2xl": !t
231
304
  },
232
- k(s?.sticky, !0),
233
- s.className
305
+ i.className
234
306
  ),
235
- children: /* @__PURE__ */ u("div", { className: "dgs-ui-kit-flex dgs-ui-kit-justify-between dgs-ui-kit-items-center", children: [
236
- /* @__PURE__ */ u(
307
+ stuckToTop: a,
308
+ children: /* @__PURE__ */ g("div", { className: "dgs-ui-kit-flex dgs-ui-kit-justify-between dgs-ui-kit-items-center", children: [
309
+ /* @__PURE__ */ g(
237
310
  "div",
238
311
  {
239
- className: a(
312
+ className: c(
240
313
  "dgs-ui-kit-flex dgs-ui-kit-items-center dgs-ui-kit-space-x-2 dgs-ui-kit-space-x-reverse dgs-ui-kit-w-full dgs-ui-kit-ml-2",
241
- h(s.align)
314
+ p(i.align)
242
315
  ),
243
316
  children: [
244
- s.tooltip?.content ? /* @__PURE__ */ e(v, { ...s.tooltip, children: N(s.title, s.tooltip) }) : N(s.title),
245
- typeof s.onSort == "function" && /* @__PURE__ */ u("div", { className: "dgs-ui-kit-flex dgs-ui-kit-flex-col", children: [
246
- /* @__PURE__ */ e("button", { onClick: () => s.onSort("ascend"), children: /* @__PURE__ */ e(
247
- P,
248
- {
249
- width: c,
250
- height: c
251
- }
252
- ) }),
253
- /* @__PURE__ */ e("button", { onClick: () => s.onSort("descend"), children: /* @__PURE__ */ e(
254
- R,
255
- {
256
- width: c,
257
- height: c
258
- }
259
- ) })
317
+ i.tooltip?.content ? /* @__PURE__ */ s(A, { ...i.tooltip, children: N(i.title, i.tooltip) }) : N(i.title),
318
+ typeof i.sort?.onSort == "function" && /* @__PURE__ */ g("div", { className: "dgs-ui-kit-flex dgs-ui-kit-flex-col", children: [
319
+ C("ascend", i.sort),
320
+ C("descend", i.sort)
260
321
  ] })
261
322
  ]
262
323
  }
263
324
  ),
264
- g !== i.length - 1 && /* @__PURE__ */ e(
265
- p,
325
+ u !== n.length - 1 && /* @__PURE__ */ s(
326
+ m,
266
327
  {
267
328
  type: "vertical",
268
329
  className: w
@@ -270,54 +331,36 @@ function z(t) {
270
331
  )
271
332
  ] })
272
333
  },
273
- C(s.key, s.dataIndex)
334
+ B(i.key, i.dataIndex)
274
335
  ))
275
336
  ] }) });
276
- }
277
- function W(t) {
278
- const { header: i, wrapperClassName: r, className: d, columns: n, rowSelection: o, data: s, rowKey: g, pagination: l } = t, f = (i && Object.values(i).length > 0) ?? !1, m = !!(l?.totalCount && l?.pageSize);
279
- return /* @__PURE__ */ u(
337
+ };
338
+ function ae(e) {
339
+ const { header: t, wrapperClassName: n, className: o, data: r, pagination: d } = e, a = (t && Object.values(t).length > 0) ?? !1, i = !!(d?.totalCount && d?.pageSize);
340
+ return /* @__PURE__ */ g(
280
341
  "div",
281
342
  {
282
- className: a(
283
- "dgs-ui-kit-relative dgs-ui-kit-bg-white dgs-ui-kit-border dgs-ui-kit-border-gray-200 dgs-ui-kit-border-solid dgs-ui-kit-rounded-2xl",
284
- r
343
+ className: c(
344
+ "dgs-ui-kit-relative dgs-ui-kit-bg-white dgs-ui-kit-border dgs-ui-kit-border-gray-200 dgs-ui-kit-border-solid dgs-ui-kit-rounded-2xl ",
345
+ n
285
346
  ),
286
347
  children: [
287
- f && /* @__PURE__ */ e(
288
- L,
348
+ a && /* @__PURE__ */ s(
349
+ F,
289
350
  {
290
- ...i,
291
- total: l?.totalCount ?? s.length
351
+ ...t,
352
+ total: d?.totalCount ?? r.length
292
353
  }
293
354
  ),
294
- /* @__PURE__ */ u("table", { className: d, children: [
295
- /* @__PURE__ */ e(
296
- z,
297
- {
298
- columns: n,
299
- haveHeader: f,
300
- rowKey: g,
301
- rowSelection: o,
302
- data: s
303
- }
304
- ),
305
- /* @__PURE__ */ e(
306
- H,
307
- {
308
- columns: n,
309
- data: s,
310
- rowKey: g,
311
- rowSelection: o,
312
- havePagination: m
313
- }
314
- )
315
- ] }),
316
- m && /* @__PURE__ */ e(
317
- I,
355
+ /* @__PURE__ */ s("table", { className: o, children: /* @__PURE__ */ g(M, { ...e, children: [
356
+ /* @__PURE__ */ s(X, { haveHeader: a }),
357
+ /* @__PURE__ */ s(G, { havePagination: i })
358
+ ] }) }),
359
+ i && /* @__PURE__ */ s(
360
+ q,
318
361
  {
319
- className: a("dgs-ui-kit-py-4 !dgs-ui-kit-px-0", l?.className),
320
- ...l
362
+ className: c("dgs-ui-kit-py-4 !dgs-ui-kit-px-0", d?.className),
363
+ ...d
321
364
  }
322
365
  )
323
366
  ]
@@ -325,5 +368,5 @@ function W(t) {
325
368
  );
326
369
  }
327
370
  export {
328
- W as default
371
+ ae as default
329
372
  };
@@ -1,12 +1,12 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { DeepNamePath } from '../../utils/types/deepNamePath';
3
- import { ButtonProps } from '../Button';
4
3
  import { PaginationProps } from '../Pagination';
5
4
  import { TooltipProps } from '../Tooltip';
6
5
  type NonTypeSafeDataIndex = string | string[];
7
6
  type TypeSafeDataIndex<T> = keyof T | DeepNamePath<T>;
8
7
  type DataIndexPath<T> = [keyof T] extends [never] ? NonTypeSafeDataIndex : TypeSafeDataIndex<T>;
9
8
  export type UnknownRecord = Record<string, unknown>;
9
+ export type SortValues = 'ascend' | 'descend';
10
10
  interface ColumnsTypeBase<T> {
11
11
  title?: string;
12
12
  align?: 'start' | 'center' | 'end';
@@ -19,7 +19,10 @@ interface ColumnsTypeBase<T> {
19
19
  hideTooltip?: boolean;
20
20
  };
21
21
  render?: (record: T, index: number) => ReactNode;
22
- onSort?: (sortOrder: 'ascend' | 'descend') => void;
22
+ sort?: {
23
+ active?: SortValues;
24
+ onSort: (value: SortValues) => void;
25
+ };
23
26
  }
24
27
  interface ColumnsTypeWithKey<T> {
25
28
  key: string;
@@ -33,7 +36,7 @@ export type ColumnsType<T extends UnknownRecord = UnknownRecord> = ColumnsTypeBa
33
36
  export interface TableHeaderProps {
34
37
  title?: string;
35
38
  showTotal?: boolean;
36
- actionButton?: ButtonProps;
39
+ extraElement?: ReactNode;
37
40
  className?: string;
38
41
  }
39
42
  export interface RowSelectionProps<T> extends Pick<ColumnsType, 'align' | 'sticky' | 'className'> {
@@ -45,6 +48,7 @@ export interface TableProps<T extends UnknownRecord = UnknownRecord> {
45
48
  columns: ColumnsType<T>[];
46
49
  rowKey: [keyof T] extends [never] ? string : keyof T;
47
50
  header?: TableHeaderProps;
51
+ stickyTableHeader?: boolean;
48
52
  rowSelection?: RowSelectionProps<T>;
49
53
  pagination?: PaginationProps;
50
54
  wrapperClassName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/Table/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/Table/types.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ export declare function getAlingmentClass(align: ColumnsType['align']): "dgs-ui-
4
4
  export declare function getColumnKey(key: ColumnsType['key'], dataIndex: ColumnsType<UnknownRecord>['dataIndex']): string | undefined;
5
5
  export declare function isSelectionAvailable<T extends UnknownRecord>(rowSelection: TableProps<T>['rowSelection']): boolean;
6
6
  export declare function renderRowSelectCheckbox(alingment: ColumnsType['align'], checkboxProps?: CheckboxProps): import("react/jsx-runtime").JSX.Element;
7
- export declare function getStickyClass(sticky: ColumnsType['sticky'], addAfterBorderBottom?: boolean): string | undefined;
7
+ export declare function getStickyClass(sticky: ColumnsType['sticky'], addBeforeBorderTop?: boolean): string | undefined;
8
8
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/components/Table/utils.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,mGAW5D;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,EACvB,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,sBAQnD;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,aAAa,EAC1D,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAM5C;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,EAC/B,aAAa,CAAC,EAAE,aAAa,2CAY9B;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC,EAAE,OAAO,sBAS3F"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/components/Table/utils.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,mGAW5D;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,EACvB,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,sBAQnD;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,aAAa,EAC1D,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAM5C;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,EAC/B,aAAa,CAAC,EAAE,aAAa,2CAY9B;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,EAAE,OAAO,sBAezF"}