@yuno-payments/dashboard-design-system 2.2.0 → 2.2.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/atoms/checkbox/checkbox.js +16 -16
- package/dist/components/atoms/filter/filter-date-range.d.ts +31 -1
- package/dist/components/atoms/filter/filter-date-range.js +140 -144
- package/dist/components/atoms/filter/filter-multi-input.d.ts +11 -0
- package/dist/components/atoms/filter/filter-multi-input.js +42 -36
- package/dist/components/atoms/filter/filter-translations.d.ts +75 -0
- package/dist/components/atoms/filter/filter-translations.js +450 -0
- package/dist/components/atoms/filter/filter.d.ts +30 -0
- package/dist/components/atoms/filter/filter.js +191 -171
- package/dist/components/atoms/filter/index.d.ts +2 -2
- package/dist/components/atoms/filter-dropdown/filter-dropdown.d.ts +17 -2
- package/dist/components/atoms/filter-dropdown/filter-dropdown.js +160 -151
- package/dist/components/atoms/icon/directional-icons.d.ts +12 -0
- package/dist/components/atoms/icon/directional-icons.js +38 -0
- package/dist/components/atoms/icon/icon.d.ts +6 -0
- package/dist/components/atoms/icon/icon.js +27 -21
- package/dist/components/atoms/icon/index.d.ts +1 -0
- package/dist/components/atoms/index.d.ts +1 -1
- package/dist/components/atoms/radio-group/radio-group-option.js +2 -2
- package/dist/components/atoms/select/select.js +2 -2
- package/dist/components/molecules/dialog-header/dialog-header.d.ts +1 -1
- package/dist/components/molecules/pagination/index.d.ts +1 -0
- package/dist/components/molecules/pagination/page-numbers.d.ts +3 -1
- package/dist/components/molecules/pagination/page-numbers.js +10 -9
- package/dist/components/molecules/pagination/pagination-translations.d.ts +33 -0
- package/dist/components/molecules/pagination/pagination-translations.js +82 -0
- package/dist/components/molecules/pagination/pagination.d.ts +9 -0
- package/dist/components/molecules/pagination/pagination.js +46 -38
- package/dist/components/organisms/data-table/components/column-header/data-table-column-header-menu.d.ts +3 -1
- package/dist/components/organisms/data-table/components/column-header/data-table-column-header-menu.js +28 -27
- package/dist/components/organisms/data-table/components/column-header/data-table-column-header.js +44 -41
- package/dist/components/organisms/data-table/components/data-table-header.js +11 -12
- package/dist/components/organisms/data-table/components/dialogs/data-table-manage-columns-dialog.d.ts +3 -1
- package/dist/components/organisms/data-table/components/dialogs/data-table-manage-columns-dialog.js +45 -44
- package/dist/components/organisms/data-table/data-table.d.ts +27 -2
- package/dist/components/organisms/data-table/data-table.js +146 -134
- package/dist/components/organisms/data-table/data-table.types.d.ts +68 -0
- package/dist/components/organisms/data-table/data-table.types.js +252 -0
- package/dist/components/organisms/data-table/index.d.ts +2 -1
- package/dist/components/organisms/data-table/utils/data-table-utils.js +11 -8
- package/dist/dashboard-design-system.css +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.esm.min.js +9394 -8512
- package/dist/index.js +208 -202
- package/dist/index.umd.min.js +25 -25
- package/dist/lib/utils.d.ts +13 -0
- package/dist/lib/utils.js +34 -10
- package/dist/vendor/shadcn/pagination.d.ts +19 -3
- package/dist/vendor/shadcn/pagination.js +41 -37
- package/dist/vendor/shadcn/select.js +33 -33
- package/dist/vendor/shadcn/switch.js +1 -1
- package/package.json +4 -2
- package/registry/components-registry.json +38 -12
package/dist/components/organisms/data-table/components/column-header/data-table-column-header.js
CHANGED
|
@@ -1,37 +1,38 @@
|
|
|
1
1
|
import { j as e } from "../../../../../_virtual/jsx-runtime.js";
|
|
2
|
-
import { Icon as
|
|
3
|
-
import { cn as
|
|
4
|
-
import { useColumnHeader as
|
|
5
|
-
import { DataTableColumnHeaderMenu as
|
|
2
|
+
import { Icon as h } from "../../../../atoms/icon/icon.js";
|
|
3
|
+
import { cn as u } from "../../../../../lib/utils.js";
|
|
4
|
+
import { useColumnHeader as O } from "../../hooks/use-column-header.js";
|
|
5
|
+
import { DataTableColumnHeaderMenu as b } from "./data-table-column-header-menu.js";
|
|
6
6
|
import { DataTableManageColumnsDialog as v } from "../dialogs/data-table-manage-columns-dialog.js";
|
|
7
|
-
import { DataTableColumnHeaderContent as
|
|
7
|
+
import { DataTableColumnHeaderContent as A } from "./data-table-column-header-content.js";
|
|
8
|
+
import { DEFAULT_DATA_TABLE_TRANSLATIONS as H } from "../../data-table.types.js";
|
|
8
9
|
import { DropdownMenu as I } from "../../../../atoms/dropdown-menu/dropdown-menu.js";
|
|
9
|
-
function
|
|
10
|
+
function w({
|
|
10
11
|
column: o,
|
|
11
|
-
table:
|
|
12
|
-
title:
|
|
13
|
-
className:
|
|
12
|
+
table: s,
|
|
13
|
+
title: a,
|
|
14
|
+
className: r,
|
|
14
15
|
info: n
|
|
15
16
|
}) {
|
|
16
17
|
const {
|
|
17
|
-
isHovered:
|
|
18
|
-
setIsHovered:
|
|
19
|
-
isMenuOpen:
|
|
20
|
-
setIsMenuOpen:
|
|
21
|
-
isManageColumnsOpen:
|
|
18
|
+
isHovered: p,
|
|
19
|
+
setIsHovered: t,
|
|
20
|
+
isMenuOpen: i,
|
|
21
|
+
setIsMenuOpen: d,
|
|
22
|
+
isManageColumnsOpen: c,
|
|
22
23
|
setIsManageColumnsOpen: C,
|
|
23
|
-
isPinned:
|
|
24
|
-
canPin:
|
|
25
|
-
canSort:
|
|
24
|
+
isPinned: x,
|
|
25
|
+
canPin: f,
|
|
26
|
+
canSort: m,
|
|
26
27
|
isSorted: g,
|
|
27
|
-
toggleableColumns:
|
|
28
|
-
visibleColumnsCount:
|
|
29
|
-
isLastVisibleColumn:
|
|
30
|
-
handleManageColumnsClick:
|
|
31
|
-
} =
|
|
32
|
-
return !
|
|
28
|
+
toggleableColumns: j,
|
|
29
|
+
visibleColumnsCount: M,
|
|
30
|
+
isLastVisibleColumn: D,
|
|
31
|
+
handleManageColumnsClick: T
|
|
32
|
+
} = O(o, s), l = s.options.meta?.translations ?? H;
|
|
33
|
+
return !m && !f ? /* @__PURE__ */ e.jsxs("div", { className: u("flex items-center gap-2", r), children: [
|
|
33
34
|
n && /* @__PURE__ */ e.jsx(
|
|
34
|
-
|
|
35
|
+
h,
|
|
35
36
|
{
|
|
36
37
|
name: "Info",
|
|
37
38
|
size: "sm",
|
|
@@ -39,43 +40,45 @@ function z({
|
|
|
39
40
|
tooltip: n
|
|
40
41
|
}
|
|
41
42
|
),
|
|
42
|
-
/* @__PURE__ */ e.jsx("span", { children:
|
|
43
|
+
/* @__PURE__ */ e.jsx("span", { children: a })
|
|
43
44
|
] }) : /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
44
|
-
/* @__PURE__ */ e.jsx("div", { className:
|
|
45
|
+
/* @__PURE__ */ e.jsx("div", { className: u("flex items-center gap-2", r), children: /* @__PURE__ */ e.jsxs(I, { open: i, onOpenChange: d, children: [
|
|
45
46
|
/* @__PURE__ */ e.jsx(
|
|
46
|
-
|
|
47
|
+
A,
|
|
47
48
|
{
|
|
48
|
-
title:
|
|
49
|
+
title: a,
|
|
49
50
|
info: n,
|
|
50
|
-
isPinned:
|
|
51
|
-
canSort:
|
|
51
|
+
isPinned: x,
|
|
52
|
+
canSort: m,
|
|
52
53
|
sortDirection: g,
|
|
53
|
-
isHovered:
|
|
54
|
-
isMenuOpen:
|
|
55
|
-
onMouseEnter: () =>
|
|
56
|
-
onMouseLeave: () =>
|
|
54
|
+
isHovered: p,
|
|
55
|
+
isMenuOpen: i,
|
|
56
|
+
onMouseEnter: () => t(!0),
|
|
57
|
+
onMouseLeave: () => t(!1)
|
|
57
58
|
}
|
|
58
59
|
),
|
|
59
60
|
/* @__PURE__ */ e.jsx(
|
|
60
|
-
|
|
61
|
+
b,
|
|
61
62
|
{
|
|
62
63
|
column: o,
|
|
63
|
-
isLastVisibleColumn:
|
|
64
|
-
onManageColumnsClick:
|
|
64
|
+
isLastVisibleColumn: D,
|
|
65
|
+
onManageColumnsClick: T,
|
|
66
|
+
translations: l
|
|
65
67
|
}
|
|
66
68
|
)
|
|
67
69
|
] }) }),
|
|
68
70
|
/* @__PURE__ */ e.jsx(
|
|
69
71
|
v,
|
|
70
72
|
{
|
|
71
|
-
isOpen:
|
|
73
|
+
isOpen: c,
|
|
72
74
|
onOpenChange: C,
|
|
73
|
-
toggleableColumns:
|
|
74
|
-
visibleColumnsCount:
|
|
75
|
+
toggleableColumns: j,
|
|
76
|
+
visibleColumnsCount: M,
|
|
77
|
+
translations: l
|
|
75
78
|
}
|
|
76
79
|
)
|
|
77
80
|
] });
|
|
78
81
|
}
|
|
79
82
|
export {
|
|
80
|
-
|
|
83
|
+
w as DataTableColumnHeader
|
|
81
84
|
};
|
|
@@ -1,37 +1,36 @@
|
|
|
1
1
|
import { j as a } from "../../../../_virtual/jsx-runtime.js";
|
|
2
|
-
import "react";
|
|
3
2
|
import { TableHeader as r, TableRow as m } from "../../../../vendor/shadcn/table.js";
|
|
4
3
|
import { DataTableHeaderCell as o } from "./cells/data-table-header-cell.js";
|
|
5
4
|
import { DataTableDraggableHeaderCell as d } from "./cells/data-table-draggable-header-cell.js";
|
|
6
|
-
function
|
|
7
|
-
table:
|
|
8
|
-
enableColumnResizing:
|
|
9
|
-
enableColumnDragDrop:
|
|
5
|
+
function j({
|
|
6
|
+
table: i,
|
|
7
|
+
enableColumnResizing: l,
|
|
8
|
+
enableColumnDragDrop: n = !1
|
|
10
9
|
}) {
|
|
11
|
-
return
|
|
10
|
+
return n ? /* @__PURE__ */ a.jsx(r, { children: i.getHeaderGroups().map((s) => /* @__PURE__ */ a.jsx(m, { className: "bg-muted", children: s.headers.map((e, t) => e.column.id === "select" || e.column.id === "actions" || e.column.id === "_spacer" ? /* @__PURE__ */ a.jsx(
|
|
12
11
|
o,
|
|
13
12
|
{
|
|
14
13
|
header: e,
|
|
15
|
-
enableColumnResizing:
|
|
14
|
+
enableColumnResizing: l ?? !1
|
|
16
15
|
},
|
|
17
16
|
e.id
|
|
18
17
|
) : /* @__PURE__ */ a.jsx(
|
|
19
18
|
d,
|
|
20
19
|
{
|
|
21
20
|
header: e,
|
|
22
|
-
index:
|
|
23
|
-
enableColumnResizing:
|
|
21
|
+
index: t,
|
|
22
|
+
enableColumnResizing: l ?? !1
|
|
24
23
|
},
|
|
25
24
|
e.id
|
|
26
|
-
)) }, s.id)) }) : /* @__PURE__ */ a.jsx(r, { children:
|
|
25
|
+
)) }, s.id)) }) : /* @__PURE__ */ a.jsx(r, { children: i.getHeaderGroups().map((s) => /* @__PURE__ */ a.jsx(m, { className: "bg-muted", children: s.headers.map((e) => /* @__PURE__ */ a.jsx(
|
|
27
26
|
o,
|
|
28
27
|
{
|
|
29
28
|
header: e,
|
|
30
|
-
enableColumnResizing:
|
|
29
|
+
enableColumnResizing: l ?? !1
|
|
31
30
|
},
|
|
32
31
|
e.id
|
|
33
32
|
)) }, s.id)) });
|
|
34
33
|
}
|
|
35
34
|
export {
|
|
36
|
-
|
|
35
|
+
j as DataTableHeader
|
|
37
36
|
};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Column } from '@tanstack/react-table';
|
|
2
|
+
import { DataTableTranslations } from '../../data-table.types';
|
|
2
3
|
interface DataTableManageColumnsDialogProps<TData> {
|
|
3
4
|
isOpen: boolean;
|
|
4
5
|
onOpenChange: (open: boolean) => void;
|
|
5
6
|
toggleableColumns: Column<TData, unknown>[];
|
|
6
7
|
visibleColumnsCount: number;
|
|
8
|
+
translations: Required<DataTableTranslations>;
|
|
7
9
|
}
|
|
8
|
-
export declare function DataTableManageColumnsDialog<TData>({ isOpen, onOpenChange, toggleableColumns, visibleColumnsCount, }: DataTableManageColumnsDialogProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function DataTableManageColumnsDialog<TData>({ isOpen, onOpenChange, toggleableColumns, visibleColumnsCount, translations, }: DataTableManageColumnsDialogProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
9
11
|
export {};
|
package/dist/components/organisms/data-table/components/dialogs/data-table-manage-columns-dialog.js
CHANGED
|
@@ -1,68 +1,69 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { getColumnDisplayName as
|
|
4
|
-
import { Dialog as
|
|
5
|
-
import { SearchField as
|
|
6
|
-
import { Switch as
|
|
1
|
+
import { j as l } from "../../../../../_virtual/jsx-runtime.js";
|
|
2
|
+
import { useState as y } from "react";
|
|
3
|
+
import { getColumnDisplayName as d } from "../../utils/data-table-utils.js";
|
|
4
|
+
import { Dialog as C } from "../../../dialog/dialog.js";
|
|
5
|
+
import { SearchField as V } from "../../../../atoms/search-field/search-field.js";
|
|
6
|
+
import { Switch as j } from "../../../../atoms/switch/switch.js";
|
|
7
7
|
function D({
|
|
8
|
-
isOpen:
|
|
9
|
-
onOpenChange:
|
|
10
|
-
toggleableColumns:
|
|
11
|
-
visibleColumnsCount:
|
|
8
|
+
isOpen: m,
|
|
9
|
+
onOpenChange: h,
|
|
10
|
+
toggleableColumns: t,
|
|
11
|
+
visibleColumnsCount: a,
|
|
12
|
+
translations: i
|
|
12
13
|
}) {
|
|
13
|
-
const [
|
|
14
|
-
|
|
15
|
-
},
|
|
16
|
-
|
|
17
|
-
},
|
|
18
|
-
const e =
|
|
19
|
-
(
|
|
14
|
+
const [o, r] = y(""), u = () => {
|
|
15
|
+
r(""), h(!1);
|
|
16
|
+
}, n = t.filter((e) => d(e).toLowerCase().includes(o.toLowerCase())), p = () => {
|
|
17
|
+
t.forEach((e) => e.toggleVisibility(!0));
|
|
18
|
+
}, f = () => {
|
|
19
|
+
const e = t.filter(
|
|
20
|
+
(s) => s.getIsVisible()
|
|
20
21
|
);
|
|
21
|
-
e.length <= 1 || e.slice(1).forEach((
|
|
22
|
-
},
|
|
22
|
+
e.length <= 1 || e.slice(1).forEach((s) => s.toggleVisibility(!1));
|
|
23
|
+
}, b = t.every(
|
|
23
24
|
(e) => e.getIsVisible()
|
|
24
|
-
),
|
|
25
|
-
return /* @__PURE__ */
|
|
26
|
-
|
|
25
|
+
), g = a <= 1;
|
|
26
|
+
return /* @__PURE__ */ l.jsx(
|
|
27
|
+
C,
|
|
27
28
|
{
|
|
28
|
-
open:
|
|
29
|
-
closeIcon:
|
|
30
|
-
title:
|
|
29
|
+
open: m,
|
|
30
|
+
closeIcon: u,
|
|
31
|
+
title: i.manageColumns,
|
|
31
32
|
widthContainer: 400,
|
|
32
33
|
buttons: [
|
|
33
34
|
{
|
|
34
|
-
children:
|
|
35
|
+
children: i.hideAll,
|
|
35
36
|
variant: "link",
|
|
36
|
-
onClick:
|
|
37
|
-
disabled:
|
|
37
|
+
onClick: f,
|
|
38
|
+
disabled: g
|
|
38
39
|
},
|
|
39
40
|
{
|
|
40
|
-
children:
|
|
41
|
+
children: i.showAll,
|
|
41
42
|
variant: "link",
|
|
42
|
-
onClick:
|
|
43
|
-
disabled:
|
|
43
|
+
onClick: p,
|
|
44
|
+
disabled: b
|
|
44
45
|
}
|
|
45
46
|
],
|
|
46
|
-
children: /* @__PURE__ */
|
|
47
|
-
/* @__PURE__ */
|
|
48
|
-
|
|
47
|
+
children: /* @__PURE__ */ l.jsxs("div", { className: "space-y-4", children: [
|
|
48
|
+
/* @__PURE__ */ l.jsx(
|
|
49
|
+
V,
|
|
49
50
|
{
|
|
50
|
-
placeholder:
|
|
51
|
-
value:
|
|
52
|
-
onSearch:
|
|
51
|
+
placeholder: i.searchColumns,
|
|
52
|
+
value: o,
|
|
53
|
+
onSearch: r,
|
|
53
54
|
className: "mb-6"
|
|
54
55
|
}
|
|
55
56
|
),
|
|
56
|
-
/* @__PURE__ */
|
|
57
|
-
const
|
|
58
|
-
return /* @__PURE__ */
|
|
59
|
-
|
|
57
|
+
/* @__PURE__ */ l.jsx("div", { className: "space-y-4 max-h-[300px] overflow-y-auto", children: n.length === 0 ? /* @__PURE__ */ l.jsx("p", { className: "text-sm text-muted-foreground text-center py-4", children: i.noColumnsFound }) : n.map((e) => {
|
|
58
|
+
const s = d(e), c = a === 1 && e.getIsVisible();
|
|
59
|
+
return /* @__PURE__ */ l.jsx(
|
|
60
|
+
j,
|
|
60
61
|
{
|
|
61
62
|
id: `column-${e.id}`,
|
|
62
63
|
checked: e.getIsVisible(),
|
|
63
|
-
disabled:
|
|
64
|
-
label: `${
|
|
65
|
-
onChange: (
|
|
64
|
+
disabled: c,
|
|
65
|
+
label: `${s}${c ? ` ${i.lastColumn}` : ""}`,
|
|
66
|
+
onChange: (x) => e.toggleVisibility(x.target.checked)
|
|
66
67
|
},
|
|
67
68
|
e.id
|
|
68
69
|
);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ColumnResizeMode } from '@tanstack/react-table';
|
|
2
|
-
import { DataTableActionsConfig, DataTableColumnDef } from './data-table.types';
|
|
2
|
+
import { DataTableActionsConfig, DataTableColumnDef, DataTableTranslations, DataTableLanguage } from './data-table.types';
|
|
3
3
|
import { EmptyProps } from '../../molecules';
|
|
4
4
|
/**
|
|
5
5
|
* Props for the DataTable component
|
|
@@ -117,6 +117,31 @@ export interface DataTableProps<TData, TValue> {
|
|
|
117
117
|
* @default false
|
|
118
118
|
*/
|
|
119
119
|
enableColumnDragDrop?: boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Language code for translations.
|
|
122
|
+
* When provided, uses built-in translations for the specified language.
|
|
123
|
+
* @default "en"
|
|
124
|
+
*/
|
|
125
|
+
lang?: DataTableLanguage;
|
|
126
|
+
/**
|
|
127
|
+
* Translation strings for the column menu and dialogs.
|
|
128
|
+
* All fields are optional with English defaults.
|
|
129
|
+
* Overrides lang-based translations if both are provided.
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```tsx
|
|
133
|
+
* <DataTable
|
|
134
|
+
* lang="es"
|
|
135
|
+
* translations={{
|
|
136
|
+
* ascending: t('table.ascending'),
|
|
137
|
+
* descending: t('table.descending'),
|
|
138
|
+
* clearSorting: t('table.clearSorting'),
|
|
139
|
+
* // ...
|
|
140
|
+
* }}
|
|
141
|
+
* />
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
translations?: DataTableTranslations;
|
|
120
145
|
}
|
|
121
146
|
/**
|
|
122
147
|
* Advanced data table component built on TanStack Table.
|
|
@@ -134,4 +159,4 @@ export interface DataTableProps<TData, TValue> {
|
|
|
134
159
|
* />
|
|
135
160
|
* ```
|
|
136
161
|
*/
|
|
137
|
-
export declare function DataTable<TData, TValue>({ columns, data, isLoading, empty, checkboxSelection, rowSelection: externalRowSelection, onRowSelectionChange, enableSorting, manualSorting, sorting: externalSorting, onSortingChange: externalOnSortingChange, enableColumnFilters, enableColumnResizing, columnResizeMode, enableColumnPinning, onRowClick, actions, height, rowHeight, className, persistKey, initialSettings, onUpdate, enableColumnDragDrop, }: DataTableProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
|
|
162
|
+
export declare function DataTable<TData, TValue>({ columns, data, isLoading, empty, checkboxSelection, rowSelection: externalRowSelection, onRowSelectionChange, enableSorting, manualSorting, sorting: externalSorting, onSortingChange: externalOnSortingChange, enableColumnFilters, enableColumnResizing, columnResizeMode, enableColumnPinning, onRowClick, actions, height, rowHeight, className, persistKey, initialSettings, onUpdate, enableColumnDragDrop, lang, translations, }: DataTableProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
|