@pezeshk-book/modules 0.1.7 → 0.1.9

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.
Files changed (121) hide show
  1. package/dist/index.d.ts +2 -1
  2. package/dist/index.js +2 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/modules/calendar/calendar.d.ts +1 -2
  5. package/dist/modules/calendar/calendar.js +3 -3
  6. package/dist/modules/calendar/calendar.js.map +1 -1
  7. package/dist/modules/calendar/icons/arrow-left-icon.d.ts +1 -2
  8. package/dist/modules/calendar/icons/arrow-left-icon.js +3 -3
  9. package/dist/modules/calendar/icons/arrow-left-icon.js.map +1 -1
  10. package/dist/modules/calendar/icons/arrow-right-icon.d.ts +1 -2
  11. package/dist/modules/calendar/icons/arrow-right-icon.js +3 -3
  12. package/dist/modules/calendar/icons/arrow-right-icon.js.map +1 -1
  13. package/dist/modules/calendar/sub-components/day/day.d.ts +1 -2
  14. package/dist/modules/calendar/sub-components/day/day.js +3 -3
  15. package/dist/modules/calendar/sub-components/day/day.js.map +1 -1
  16. package/dist/modules/calendar/sub-components/days/days.d.ts +1 -2
  17. package/dist/modules/calendar/sub-components/days/days.js +13 -18
  18. package/dist/modules/calendar/sub-components/days/days.js.map +1 -1
  19. package/dist/modules/calendar/sub-components/days-head/days-head.d.ts +1 -2
  20. package/dist/modules/calendar/sub-components/days-head/days-head.js +3 -22
  21. package/dist/modules/calendar/sub-components/days-head/days-head.js.map +1 -1
  22. package/dist/modules/countdown-timer/countdown.d.ts +1 -2
  23. package/dist/modules/countdown-timer/countdown.js +4 -9
  24. package/dist/modules/countdown-timer/countdown.js.map +1 -1
  25. package/dist/modules/data-table/complex/complex-data-table.d.ts +9 -0
  26. package/dist/modules/data-table/complex/complex-data-table.js +158 -0
  27. package/dist/modules/data-table/complex/complex-data-table.js.map +1 -0
  28. package/dist/modules/data-table/complex/complex-data-table.props.d.ts +23 -0
  29. package/dist/modules/data-table/complex/complex-data-table.props.js +2 -0
  30. package/dist/modules/data-table/complex/complex-data-table.props.js.map +1 -0
  31. package/dist/modules/data-table/complex/index.d.ts +2 -0
  32. package/dist/modules/data-table/complex/index.js +3 -0
  33. package/dist/modules/data-table/complex/index.js.map +1 -0
  34. package/dist/modules/data-table/data-table.d.ts +3 -0
  35. package/dist/modules/data-table/data-table.js +13 -0
  36. package/dist/modules/data-table/data-table.js.map +1 -0
  37. package/dist/modules/data-table/data-table.props.d.ts +5 -0
  38. package/dist/modules/data-table/data-table.props.js +2 -0
  39. package/dist/modules/data-table/data-table.props.js.map +1 -0
  40. package/dist/modules/data-table/hooks/use-window-dimensions.d.ts +5 -0
  41. package/dist/modules/data-table/hooks/use-window-dimensions.js +28 -0
  42. package/dist/modules/data-table/hooks/use-window-dimensions.js.map +1 -0
  43. package/dist/modules/data-table/icons/add.d.ts +4 -0
  44. package/dist/modules/data-table/icons/add.js +8 -0
  45. package/dist/modules/data-table/icons/add.js.map +1 -0
  46. package/dist/modules/data-table/icons/arrow-down.d.ts +2 -0
  47. package/dist/modules/data-table/icons/arrow-down.js +8 -0
  48. package/dist/modules/data-table/icons/arrow-down.js.map +1 -0
  49. package/dist/modules/data-table/icons/index.d.ts +4 -0
  50. package/dist/modules/data-table/icons/index.js +5 -0
  51. package/dist/modules/data-table/icons/index.js.map +1 -0
  52. package/dist/modules/data-table/icons/sort.d.ts +4 -0
  53. package/dist/modules/data-table/icons/sort.js +8 -0
  54. package/dist/modules/data-table/icons/sort.js.map +1 -0
  55. package/dist/modules/data-table/images/index.d.ts +2 -0
  56. package/dist/modules/data-table/images/index.js +3 -0
  57. package/dist/modules/data-table/images/index.js.map +1 -0
  58. package/dist/modules/data-table/index.d.ts +2 -0
  59. package/dist/modules/data-table/index.js +3 -0
  60. package/dist/modules/data-table/index.js.map +1 -0
  61. package/dist/modules/data-table/simple/index.d.ts +2 -0
  62. package/dist/modules/data-table/simple/index.js +3 -0
  63. package/dist/modules/data-table/simple/index.js.map +1 -0
  64. package/dist/modules/data-table/simple/simple-data-table.d.ts +9 -0
  65. package/dist/modules/data-table/simple/simple-data-table.js +108 -0
  66. package/dist/modules/data-table/simple/simple-data-table.js.map +1 -0
  67. package/dist/modules/data-table/simple/simple-data-table.props.d.ts +11 -0
  68. package/dist/modules/data-table/simple/simple-data-table.props.js +2 -0
  69. package/dist/modules/data-table/simple/simple-data-table.props.js.map +1 -0
  70. package/dist/modules/pagination/icons/arrow-Right.d.ts +1 -2
  71. package/dist/modules/pagination/icons/arrow-Right.js +3 -3
  72. package/dist/modules/pagination/icons/arrow-Right.js.map +1 -1
  73. package/dist/modules/pagination/icons/arrow-left.d.ts +1 -2
  74. package/dist/modules/pagination/icons/arrow-left.js +3 -3
  75. package/dist/modules/pagination/icons/arrow-left.js.map +1 -1
  76. package/dist/modules/pagination/pagination.d.ts +1 -2
  77. package/dist/modules/pagination/pagination.js +6 -24
  78. package/dist/modules/pagination/pagination.js.map +1 -1
  79. package/dist/modules/slider/slider.d.ts +1 -2
  80. package/dist/modules/slider/slider.js +14 -23
  81. package/dist/modules/slider/slider.js.map +1 -1
  82. package/dist/stories/calendar/calendar.d.ts +1 -2
  83. package/dist/stories/calendar/calendar.js +2 -2
  84. package/dist/stories/calendar/calendar.js.map +1 -1
  85. package/dist/stories/calendar/calendar.stories.d.ts +6 -6
  86. package/dist/stories/calendar/calendar.stories.js +12 -9
  87. package/dist/stories/calendar/calendar.stories.js.map +1 -1
  88. package/dist/stories/count-down/count-down.d.ts +1 -2
  89. package/dist/stories/count-down/count-down.js +2 -2
  90. package/dist/stories/count-down/count-down.js.map +1 -1
  91. package/dist/stories/count-down/count-down.stories.d.ts +6 -6
  92. package/dist/stories/count-down/count-down.stories.js +10 -8
  93. package/dist/stories/count-down/count-down.stories.js.map +1 -1
  94. package/dist/stories/data-table/data-table-columns.d.ts +12 -0
  95. package/dist/stories/data-table/data-table-columns.js +70 -0
  96. package/dist/stories/data-table/data-table-columns.js.map +1 -0
  97. package/dist/stories/data-table/data-table.d.ts +5 -0
  98. package/dist/stories/data-table/data-table.js +13 -0
  99. package/dist/stories/data-table/data-table.js.map +1 -0
  100. package/dist/stories/data-table/data-table.stories.d.ts +6 -0
  101. package/dist/stories/data-table/data-table.stories.js +15 -0
  102. package/dist/stories/data-table/data-table.stories.js.map +1 -0
  103. package/dist/stories/data-table/dummy-data.d.ts +11 -0
  104. package/dist/stories/data-table/dummy-data.js +204 -0
  105. package/dist/stories/data-table/dummy-data.js.map +1 -0
  106. package/dist/stories/pagination/pagination.d.ts +1 -2
  107. package/dist/stories/pagination/pagination.js +2 -2
  108. package/dist/stories/pagination/pagination.js.map +1 -1
  109. package/dist/stories/pagination/pagination.stories.d.ts +6 -6
  110. package/dist/stories/pagination/pagination.stories.js +15 -12
  111. package/dist/stories/pagination/pagination.stories.js.map +1 -1
  112. package/dist/stories/slider/slider.d.ts +1 -2
  113. package/dist/stories/slider/slider.js +2 -13
  114. package/dist/stories/slider/slider.js.map +1 -1
  115. package/dist/stories/slider/slider.stories.d.ts +6 -6
  116. package/dist/stories/slider/slider.stories.js +10 -8
  117. package/dist/stories/slider/slider.stories.js.map +1 -1
  118. package/dist/stories/wrapper.d.ts +1 -1
  119. package/dist/stories/wrapper.js +3 -6
  120. package/dist/stories/wrapper.js.map +1 -1
  121. package/package.json +7 -4
@@ -0,0 +1,158 @@
1
+ import { __assign, __spreadArray } from "tslib";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Fragment, useEffect, useState } from 'react';
4
+ import { Button, Checkbox, classNames, Div, FormControlLabel, LoadingIndicator, Skeleton, Text } from '@pezeshk-book/ui-kit';
5
+ import Pagination from '../../pagination';
6
+ import { flexRender, getCoreRowModel, getExpandedRowModel, getSortedRowModel, useReactTable, } from '@tanstack/react-table';
7
+ import useWindowDimensions from '../hooks/use-window-dimensions';
8
+ import { ArrowDownIcon, AddIcon, SortIcon } from '../icons';
9
+ import { AnimatePresence, motion } from 'motion/react';
10
+ var ComplexDataTable = function (_a) {
11
+ var header = _a.header, data = _a.data, column = _a.column, mobileColumns = _a.mobileColumns, _b = _a.expandable, expandable = _b === void 0 ? false : _b, expandedComponent = _a.expandedComponent, serverSideSorting = _a.serverSideSorting, _c = _a.isLoading, isLoading = _c === void 0 ? false : _c, getCurrentPage = _a.getCurrentPage, lastPage = _a.lastPage, perPage = _a.perPage, currentPage = _a.currentPage, total = _a.total, previousPage = _a.previousPage, nextPage = _a.nextPage, getLimit = _a.getLimit, _d = _a.columnOrder, columnOrder = _d === void 0 ? false : _d, updateData = _a.updateData, select = _a.select, selectedRows = _a.selectedRows;
12
+ var _e = useState({}), rowSelection = _e[0], setRowSelection = _e[1];
13
+ var _f = useState([]), sorting = _f[0], setSorting = _f[1];
14
+ var _g = useState(0), scrollPosition = _g[0], setScrollPosition = _g[1];
15
+ var _h = useState(false), showGoTop = _h[0], setShowGoTop = _h[1];
16
+ var _j = useState({}), columnVisibility = _j[0], setColumnVisibility = _j[1];
17
+ var _k = useState([]), rowExpander = _k[0], setRowExpander = _k[1];
18
+ var dimensions = useWindowDimensions();
19
+ var handleMobileExpander = function (row) {
20
+ if (rowExpander.indexOf(row.index) === -1) {
21
+ setRowExpander(__spreadArray(__spreadArray([], rowExpander, true), [row.index], false));
22
+ }
23
+ else {
24
+ setRowExpander(function (value) { return value.filter(function (item) { return item !== row.index; }); });
25
+ }
26
+ };
27
+ var columns = __spreadArray(__spreadArray([
28
+ {
29
+ id: 'mobileExpander',
30
+ accessorKey: 'mobileExpander',
31
+ header: function () { return null; },
32
+ cell: function (_a) {
33
+ var row = _a.row;
34
+ return (_jsx(Button, { onClick: function () { return handleMobileExpander(row); }, startAdornment: _jsx(AddIcon, { className: classNames('absolute transition-all duration-500', rowExpander.indexOf(row.index) !== -1 ? 'rotate-[225deg]' : '') }), variant: 'text', size: 'tiny', className: '!p-0' }));
35
+ },
36
+ enableSorting: false
37
+ },
38
+ {
39
+ id: 'select',
40
+ accessorKey: 'select',
41
+ header: function (_a) {
42
+ var table = _a.table;
43
+ return select ? (_jsx(Checkbox, { size: 'small', indeterminate: table.getIsSomeRowsSelected(), checked: table.getIsAllRowsSelected(), onChange: table.getToggleAllRowsSelectedHandler() })) : null;
44
+ },
45
+ cell: function (_a) {
46
+ var row = _a.row;
47
+ return row.getCanSelect() && select ? (_jsx(Checkbox, { size: 'small', onChange: row.getToggleSelectedHandler(), checked: row.getIsSelected() })) : null;
48
+ },
49
+ enableSorting: false
50
+ }
51
+ ], column, true), [
52
+ {
53
+ id: 'expander',
54
+ accessorKey: 'expander',
55
+ header: function () { return null; },
56
+ cell: function (_a) {
57
+ var row = _a.row;
58
+ return row.getCanExpand() ? (_jsx(Button, __assign({ className: '!p-0', variant: 'text', size: 'tiny' }, {
59
+ onClick: row.getToggleExpandedHandler(),
60
+ style: { cursor: 'pointer' }
61
+ }, { children: _jsx(ArrowDownIcon, { className: classNames('transition-all duration-300', row.getIsExpanded() ? 'rotate-180' : '') }) }))) : null;
62
+ },
63
+ enableSorting: false
64
+ },
65
+ ], false);
66
+ var table = useReactTable({
67
+ data: data,
68
+ columns: columns,
69
+ getCoreRowModel: getCoreRowModel(),
70
+ getSortedRowModel: getSortedRowModel(),
71
+ getRowCanExpand: function () { return true; },
72
+ getExpandedRowModel: getExpandedRowModel(),
73
+ state: {
74
+ columnVisibility: columnVisibility,
75
+ rowSelection: rowSelection,
76
+ sorting: sorting
77
+ },
78
+ onColumnVisibilityChange: setColumnVisibility,
79
+ onRowSelectionChange: setRowSelection,
80
+ onSortingChange: setSorting,
81
+ manualSorting: !!serverSideSorting,
82
+ meta: {
83
+ updateData: function (value, info) {
84
+ if (updateData) {
85
+ updateData(value, info);
86
+ }
87
+ }
88
+ }
89
+ });
90
+ useEffect(function () {
91
+ if (selectedRows) {
92
+ selectedRows(table.getSelectedRowModel().rows.map(function (row) {
93
+ return row.original;
94
+ }));
95
+ }
96
+ }, [rowSelection]);
97
+ useEffect(function () {
98
+ window.addEventListener('scroll', handleVisibleButton);
99
+ });
100
+ useEffect(function () {
101
+ if (serverSideSorting && sorting.length > 0) {
102
+ serverSideSorting(sorting);
103
+ }
104
+ }, [sorting]);
105
+ useEffect(function () {
106
+ var obj = {};
107
+ if (dimensions.width < 640) {
108
+ columns.forEach(function (value) {
109
+ if (value.id) {
110
+ obj[value.id] = mobileColumns === null || mobileColumns === void 0 ? void 0 : mobileColumns.includes(value.id);
111
+ }
112
+ });
113
+ setColumnVisibility(__assign(__assign({}, obj), { mobileExpander: true, expander: expandable, select: select }));
114
+ }
115
+ else {
116
+ columns.forEach(function (value) {
117
+ if (value.id) {
118
+ obj[value.id] = true;
119
+ }
120
+ });
121
+ setColumnVisibility(__assign(__assign({}, obj), { mobileExpander: false, expander: expandable, select: select }));
122
+ }
123
+ }, [dimensions.width]);
124
+ var handleVisibleButton = function () {
125
+ var position = window.scrollY;
126
+ setScrollPosition(position);
127
+ if (scrollPosition > 150) {
128
+ return setShowGoTop(true);
129
+ }
130
+ else if (scrollPosition < 150) {
131
+ return setShowGoTop(false);
132
+ }
133
+ };
134
+ var handleScrollUp = function () {
135
+ window.scrollTo({ behavior: 'smooth', top: 0 });
136
+ };
137
+ return (_jsxs(Div, __assign({ className: 'w-full flex-col relative' }, { children: [isLoading && data.length > 0 ? (_jsx(Div, __assign({ className: 'absolute bg-control bg-opacity-25 w-full h-full items-center justify-center z-50 rounded-xl' }, { children: _jsx(LoadingIndicator, { size: 'huge', color: 'control' }) }))) : null, _jsx(Div, __assign({ className: 'gap-0 md:gap-4 flex-col md:flex-row' }, { children: columnOrder && table.getAllLeafColumns().map(function (column) {
138
+ if (column.id === 'mobileExpander' || column.id === 'expander') {
139
+ return null;
140
+ }
141
+ return (_jsx(FormControlLabel, __assign({ className: 'p-2', label: header[column.id] }, { children: _jsx(Checkbox, { checked: column.getIsVisible(), onChange: column.getToggleVisibilityHandler() }) }), column.id));
142
+ }) })), _jsxs(Div, __assign({ className: 'bg-white md:border w-full border-control-300 border-opacity-50 p-2 rounded-xl max-w-full flex-col relative' }, { children: [_jsxs("table", __assign({ className: 'w-full table-auto' }, { children: [_jsx("thead", __assign({ className: 'bg-control-50 h-14 sticky top-0 z-[9]' }, { children: table.getHeaderGroups().map(function (headerGroup) { return (_jsx("tr", { children: headerGroup.headers.map(function (header) { return (_jsx("th", __assign({ className: 'hover:cursor-pointer', onClick: header.column.getToggleSortingHandler() }, { children: _jsxs(Div, __assign({ className: 'justify-center items-center gap-1' }, { children: [header.column.getCanSort() ? (_jsx(Div, __assign({ className: 'text-control-800' }, { children: _jsx(SortIcon, { direction: header.column.getIsSorted() }) }))) : null, _jsx(Text, __assign({ color: header.column.getIsSorted() ? 'primary' : 'grey.800', typography: 'sm', type: 'bold' }, { children: header.isPlaceholder
143
+ ? null
144
+ : flexRender(header.column.columnDef.header, header.getContext()) }))] })) }), header.id)); }) }, headerGroup.id)); }) })), isLoading && !data.length ? (_jsx("tbody", { children: __spreadArray([], new Array(15), true).map(function (_, index) { return (_jsx("tr", __assign({ className: 'h-16 hover:bg-primary-50' }, { children: table.getFlatHeaders().map(function (cell) {
145
+ return (_jsx("td", __assign({ className: 'px-1' }, { children: _jsx(Skeleton, { color: 'control', className: '!max-w-full !min-w-full' }) }), cell.id));
146
+ }) }), "loadingItem_".concat(index))); }) })) : !isLoading && !data.length ? (_jsx("tbody", { children: _jsx("tr", __assign({ className: 'h-48' }, { children: _jsx("td", __assign({ colSpan: table.getFlatHeaders().length }, { children: _jsx(Text, __assign({ typography: 'lg', type: 'bold' }, { children: "\u0627\u0637\u0644\u0627\u0639\u0627\u062A\u06CC \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0648\u062C\u0648\u062F \u0646\u062F\u0627\u0631\u062F!" })) })) })) })) : (_jsx("tbody", { children: table.getRowModel().rows.map(function (row, index) {
147
+ return (_jsxs(Fragment, { children: [_jsx(AnimatePresence, __assign({ mode: "wait" }, { children: _jsx(motion.tr, __assign({ initial: { y: 100, opacity: 0 }, animate: { y: 0, opacity: 1 }, exit: { y: -100, opacity: 0 }, transition: { duration: 0.5, delay: index * 0.1 }, className: classNames('h-16 hover:bg-primary-50', row.getIsSelected() && 'bg-slate-200') }, { children: row.getVisibleCells().map(function (cell) {
148
+ return (_jsx("td", __assign({ className: 'px-1' }, { children: _jsx(Div, __assign({ className: 'flex-col items-center' }, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) })) }), cell.id));
149
+ }) }), row ? row.id : 'empty') })), _jsx(AnimatePresence, { children: row.getIsExpanded() && (_jsx(motion.tr, __assign({ initial: { height: 0, opacity: 0 }, animate: { height: 'auto', opacity: 1 }, exit: { height: 0, opacity: 0 }, transition: { duration: 0.5, ease: 'easeInOut' } }, { children: _jsx("td", __assign({ colSpan: row.getVisibleCells().length }, { children: _jsx(motion.div, __assign({ initial: { height: 0, opacity: 0 }, animate: { height: row.getIsExpanded() ? 'auto' : 0, opacity: 1 }, exit: { height: 0, opacity: 0 }, transition: { duration: 0.5, ease: 'easeInOut' }, className: 'flex flex-col overflow-hidden' }, { children: expandedComponent(row.original) })) })) }))) }), _jsx(AnimatePresence, { children: rowExpander.indexOf(row.index) !== -1 && (_jsx(motion.tr, __assign({ initial: { height: 0, opacity: 0 }, animate: { height: 'auto', opacity: 1 }, exit: { height: 0, opacity: 0 }, transition: { duration: 0.5, ease: 'easeInOut' }, className: classNames('bg-primary-50') }, { children: _jsx("td", __assign({ colSpan: row.getVisibleCells().length }, { children: _jsx(motion.div, __assign({ initial: { height: 0, opacity: 0 }, animate: { height: row.getVisibleCells().length ? 'auto' : 0, opacity: 1 }, exit: { height: 0, opacity: 0 }, transition: { duration: 0.5, ease: 'easeInOut' }, className: 'flex flex-col overflow-hidden' }, { children: row.getAllCells().map(function (mobileCell) {
150
+ if (!mobileCell.column.getIsVisible() && mobileCell.column.id !== 'expander') {
151
+ return (_jsxs(Div, __assign({ className: 'gap-2 p-2 items-start' }, { children: [_jsxs(Text, __assign({ typography: 'sm', type: 'bold' }, { children: [header[mobileCell.column.id], ":"] })), flexRender(mobileCell.column.columnDef.cell, mobileCell.getContext())] }), mobileCell.id));
152
+ }
153
+ return null;
154
+ }) })) })) }))) })] }, row.id));
155
+ }) }))] })), _jsx(Button, __assign({ onClick: handleScrollUp, shape: 'square', rounded: 'full', className: classNames('rotate-180 sticky !p-0 bottom-1 self-center duration-500 transition', showGoTop ? 'opacity-100 translate-y-0 !h-auto !min-h-12' : 'translate-y-full opacity-0 !h-0 !min-h-[0px]') }, { children: _jsx(ArrowDownIcon, {}) })), !isLoading && data.length ? (_jsx(Div, __assign({ className: 'mt-4 bg-control-50 md:h-14 py-2 md:py-0 justify-center items-center rounded-b-xl flex-col' }, { children: _jsx(Pagination, { color: 'primary', variant: 'filled', getCurrentPage: getCurrentPage, isLoading: isLoading, lastPage: lastPage, perPage: perPage, currentPage: currentPage, total: total, nextPage: nextPage, previousPage: previousPage, getLimit: getLimit }) }))) : null] }))] })));
156
+ };
157
+ export default ComplexDataTable;
158
+ //# sourceMappingURL=complex-data-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complex-data-table.js","sourceRoot":"","sources":["../../../../modules/data-table/complex/complex-data-table.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { ColumnDef } from '@tanstack/react-table';
2
+ export interface ComplexDataTableProps {
3
+ data: Array<any>;
4
+ header: any;
5
+ column: Array<ColumnDef<any>>;
6
+ mobileColumns?: Array<string>;
7
+ expandable?: boolean;
8
+ expandedComponent?: any;
9
+ serverSideSorting?: (sort: any) => void;
10
+ isLoading?: boolean;
11
+ getCurrentPage: (n: number) => void;
12
+ lastPage: number;
13
+ perPage: number;
14
+ currentPage: number;
15
+ total: number;
16
+ nextPage: any;
17
+ previousPage: any;
18
+ getLimit?: (event: string) => void;
19
+ columnOrder?: boolean;
20
+ updateData?: (value: string, info?: string | object) => void;
21
+ select?: boolean;
22
+ selectedRows?: (rows: Array<ColumnDef<any>>) => void;
23
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=complex-data-table.props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complex-data-table.props.js","sourceRoot":"","sources":["../../../../modules/data-table/complex/complex-data-table.props.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import ComplexDataTable from './complex-data-table';
2
+ export default ComplexDataTable;
@@ -0,0 +1,3 @@
1
+ import ComplexDataTable from './complex-data-table';
2
+ export default ComplexDataTable;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/data-table/complex/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AAEpD,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { DataTableProps } from './data-table.props';
2
+ declare const DataTable: ({ type, ...rest }: DataTableProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default DataTable;
@@ -0,0 +1,13 @@
1
+ import { __assign, __rest } from "tslib";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import ComplexDataTable from './complex';
4
+ import SimpleDataTable from './simple';
5
+ var DataTable = function (_a) {
6
+ var _b = _a.type, type = _b === void 0 ? 'complex' : _b, rest = __rest(_a, ["type"]);
7
+ if (type === 'complex') {
8
+ return _jsx(ComplexDataTable, __assign({}, rest));
9
+ }
10
+ return _jsx(SimpleDataTable, __assign({}, rest));
11
+ };
12
+ export default DataTable;
13
+ //# sourceMappingURL=data-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table.js","sourceRoot":"","sources":["../../../modules/data-table/data-table.tsx"],"names":[],"mappings":";;AACA,OAAO,gBAAgB,MAAM,WAAW,CAAC;AACzC,OAAO,eAAe,MAAM,UAAU,CAAC;AAEvC,IAAM,SAAS,GAAG,UAAC,EAA6C;IAA3C,IAAA,YAAgB,EAAhB,IAAI,mBAAG,SAAS,KAAA,EAAK,IAAI,cAA3B,QAA6B,CAAF;IAC5C,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,OAAO,KAAC,gBAAgB,eAAK,IAAI,EAAI,CAAC;KACvC;IAED,OAAO,KAAC,eAAe,eAAK,IAAI,EAAI,CAAC;AACvC,CAAC,CAAC;AACF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { ComplexDataTableProps } from './complex/complex-data-table.props';
2
+ import { SimpleDataTableProps } from './simple/simple-data-table.props';
3
+ export interface DataTableProps extends ComplexDataTableProps, SimpleDataTableProps {
4
+ type?: 'simple' | 'complex';
5
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data-table.props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table.props.js","sourceRoot":"","sources":["../../../modules/data-table/data-table.props.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ declare const useWindowDimensions: () => {
2
+ width: number;
3
+ height: number;
4
+ };
5
+ export default useWindowDimensions;
@@ -0,0 +1,28 @@
1
+ 'use clients';
2
+ import { useState, useEffect } from 'react';
3
+ import { useDebouncedCallback } from 'use-debounce';
4
+ var useWindowDimensions = function () {
5
+ var _a = useState({
6
+ width: window.innerWidth,
7
+ height: window.innerHeight
8
+ }), windowDimensions = _a[0], setWindowDimensions = _a[1];
9
+ useEffect(function () {
10
+ setWindowDimensions({
11
+ width: window.innerWidth,
12
+ height: window.innerHeight
13
+ });
14
+ }, []);
15
+ var handleResize = useDebouncedCallback(function () {
16
+ setWindowDimensions({
17
+ width: window.innerWidth,
18
+ height: window.innerHeight
19
+ });
20
+ }, 500);
21
+ useEffect(function () {
22
+ window.addEventListener('resize', handleResize);
23
+ return function () { return window.removeEventListener('resize', handleResize); };
24
+ }, []);
25
+ return windowDimensions;
26
+ };
27
+ export default useWindowDimensions;
28
+ //# sourceMappingURL=use-window-dimensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-window-dimensions.js","sourceRoot":"","sources":["../../../../modules/data-table/hooks/use-window-dimensions.tsx"],"names":[],"mappings":"AAAA,aAAa,CAAC;AACd,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,IAAM,mBAAmB,GAAG;IACpB,IAAA,KAA0C,QAAQ,CAAC;QACvD,KAAK,EAAE,MAAM,CAAC,UAAU;QACxB,MAAM,EAAE,MAAM,CAAC,WAAW;KAC3B,CAAC,EAHK,gBAAgB,QAAA,EAAE,mBAAmB,QAG1C,CAAC;IAEH,SAAS,CAAC;QACR,mBAAmB,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,MAAM,EAAE,MAAM,CAAC,WAAW;SAC3B,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,YAAY,GAAG,oBAAoB,CAAC;QACxC,mBAAmB,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,MAAM,EAAE,MAAM,CAAC,WAAW;SAC3B,CAAC,CAAC;IACL,CAAC,EAAE,GAAG,CAAC,CAAC;IAER,SAAS,CAAC;QACR,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEhD,OAAO,cAAM,OAAA,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAlD,CAAkD,CAAC;IAClE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ declare const AddIcon: ({ className }: {
2
+ className?: string | undefined;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
+ export default AddIcon;
@@ -0,0 +1,8 @@
1
+ import { __assign } from "tslib";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ var AddIcon = function (_a) {
4
+ var className = _a.className;
5
+ return (_jsxs("svg", __assign({ className: className, width: '24', height: '24', viewBox: '0 0 24 24', fill: 'none', xmlns: 'http://www.w3.org/2000/svg' }, { children: [_jsx("path", { d: 'M8 12H16', stroke: 'currentColor', strokeWidth: '1.5', strokeLinecap: 'round', strokeLinejoin: 'round' }), _jsx("path", { d: 'M12 16V8', stroke: 'currentColor', strokeWidth: '1.5', strokeLinecap: 'round', strokeLinejoin: 'round' })] })));
6
+ };
7
+ export default AddIcon;
8
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../modules/data-table/icons/add.tsx"],"names":[],"mappings":";;AAAA,IAAM,OAAO,GAAG,UAAC,EAAmC;QAAjC,SAAS,eAAA;IAC1B,OAAO,CACL,wBAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,iBAClH,eAAM,CAAC,EAAC,UAAU,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,EAC1G,eAAM,CAAC,EAAC,UAAU,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,KACtG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const ArrowDownIcon: ({ fill, className }: any) => import("react/jsx-runtime").JSX.Element;
2
+ export default ArrowDownIcon;
@@ -0,0 +1,8 @@
1
+ import { __assign } from "tslib";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ var ArrowDownIcon = function (_a) {
4
+ var _b = _a.fill, fill = _b === void 0 ? 'none' : _b, _c = _a.className, className = _c === void 0 ? 'h-6 w-6' : _c;
5
+ return (_jsx("svg", __assign({ width: "20", height: "20", viewBox: "0 0 20 20", fill: fill, className: className, xmlns: "http://www.w3.org/2000/svg" }, { children: _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.4107 6.91073C4.73614 6.5853 5.26378 6.5853 5.58922 6.91073L9.99996 11.3215L14.4107 6.91074C14.7361 6.5853 15.2638 6.5853 15.5892 6.91074C15.9147 7.23617 15.9147 7.76381 15.5892 8.08925L10.5892 13.0892C10.2638 13.4147 9.73614 13.4147 9.4107 13.0892L4.4107 8.08925C4.08527 7.76381 4.08527 7.23617 4.4107 6.91073Z", fill: "currentColor" }) })));
6
+ };
7
+ export default ArrowDownIcon;
8
+ //# sourceMappingURL=arrow-down.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrow-down.js","sourceRoot":"","sources":["../../../../modules/data-table/icons/arrow-down.tsx"],"names":[],"mappings":";;AAAA,IAAM,aAAa,GAAG,UAAC,EAA6C;QAA3C,YAAa,EAAb,IAAI,mBAAG,MAAM,KAAA,EAAE,iBAAqB,EAArB,SAAS,mBAAG,SAAS,KAAA;IAC3D,OAAO,CACL,uBAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAC,4BAA4B,gBAClH,eAAM,QAAQ,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EACzC,CAAC,EAAC,2TAA2T,EAC7T,IAAI,EAAC,cAAc,GAAE,IACnB,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ import AddIcon from './add';
2
+ import SortIcon from './sort';
3
+ import ArrowDownIcon from './arrow-down';
4
+ export { AddIcon, ArrowDownIcon, SortIcon, };
@@ -0,0 +1,5 @@
1
+ import AddIcon from './add';
2
+ import SortIcon from './sort';
3
+ import ArrowDownIcon from './arrow-down';
4
+ export { AddIcon, ArrowDownIcon, SortIcon, };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/data-table/icons/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,OAAO,CAAC;AAC5B,OAAO,QAAQ,MAAM,QAAQ,CAAC;AAC9B,OAAO,aAAa,MAAM,cAAc,CAAC;AAEzC,OAAO,EACL,OAAO,EACP,aAAa,EACb,QAAQ,GACT,CAAC"}
@@ -0,0 +1,4 @@
1
+ declare const SortIcon: ({ direction }: {
2
+ direction: string;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
+ export default SortIcon;
@@ -0,0 +1,8 @@
1
+ import { __assign } from "tslib";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ var SortIcon = function (_a) {
4
+ var direction = _a.direction;
5
+ return (_jsx("svg", __assign({ width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: _jsx("g", { children: _jsxs("g", { children: [_jsx("path", { d: "M9.00999 20.5L3.98999 15.49", stroke: direction === 'desc' ? 'currentColor' : '#A8A8A8', strokeWidth: "1.5", strokeMiterlimit: "10", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M9.01001 3.5V20.5", stroke: direction === 'desc' ? 'currentColor' : '#A8A8A8', strokeWidth: "1.5", strokeMiterlimit: "10", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M14.99 3.5L20.01 8.51", stroke: direction === 'asc' ? 'currentColor' : '#A8A8A8', strokeWidth: "1.5", strokeMiterlimit: "10", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M14.99 20.5V3.5", stroke: direction === 'asc' ? 'currentColor' : '#A8A8A8', strokeWidth: "1.5", strokeMiterlimit: "10", strokeLinecap: "round", strokeLinejoin: "round" })] }) }) })));
6
+ };
7
+ export default SortIcon;
8
+ //# sourceMappingURL=sort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../modules/data-table/icons/sort.tsx"],"names":[],"mappings":";;AAAA,IAAM,QAAQ,GAAG,UAAC,EAAqC;QAAnC,SAAS,eAAA;IAC3B,OAAO,CACL,uBAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,gBAC5F,sBACE,wBACE,eAAM,CAAC,EAAC,6BAA6B,EAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAC,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAE,EACvL,eAAM,CAAC,EAAC,mBAAmB,EAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAC,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAE,EAC7K,eAAM,CAAC,EAAC,uBAAuB,EAAC,MAAM,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAC,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAE,EAChL,eAAM,CAAC,EAAC,iBAAiB,EAAC,MAAM,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAC,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAE,IACxK,GACF,IACA,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import LogoImage from './logo.png';
2
+ export { LogoImage, };
@@ -0,0 +1,3 @@
1
+ import LogoImage from './logo.png';
2
+ export { LogoImage, };
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/data-table/images/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EACL,SAAS,GACV,CAAC"}
@@ -0,0 +1,2 @@
1
+ import DataTable from './data-table';
2
+ export default DataTable;
@@ -0,0 +1,3 @@
1
+ import DataTable from './data-table';
2
+ export default DataTable;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../modules/data-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,eAAe,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ import SimpleDataTable from './simple-data-table';
2
+ export default SimpleDataTable;
@@ -0,0 +1,3 @@
1
+ import SimpleDataTable from './simple-data-table';
2
+ export default SimpleDataTable;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/data-table/simple/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAElD,eAAe,eAAe,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { RowData } from '@tanstack/react-table';
2
+ import { SimpleDataTableProps } from './simple-data-table.props';
3
+ declare module '@tanstack/react-table' {
4
+ interface TableMeta<TData extends RowData> {
5
+ updateData: (value: string, info?: string | object) => void;
6
+ }
7
+ }
8
+ declare const SimpleDataTable: ({ header, data, column, mobileColumns, isLoading, updateData, select, selectedRows, }: SimpleDataTableProps) => import("react/jsx-runtime").JSX.Element;
9
+ export default SimpleDataTable;
@@ -0,0 +1,108 @@
1
+ import { __assign, __spreadArray } from "tslib";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Fragment, useEffect, useState } from 'react';
4
+ import { flexRender, getCoreRowModel, useReactTable } from '@tanstack/react-table';
5
+ import useWindowDimensions from '../hooks/use-window-dimensions';
6
+ import { Button, Checkbox, classNames, Div, Skeleton, Text } from '@pezeshk-book/ui-kit';
7
+ import { AddIcon } from '../icons';
8
+ import { LogoImage } from '../images';
9
+ var SimpleDataTable = function (_a) {
10
+ var header = _a.header, data = _a.data, column = _a.column, mobileColumns = _a.mobileColumns, _b = _a.isLoading, isLoading = _b === void 0 ? false : _b, updateData = _a.updateData, select = _a.select, selectedRows = _a.selectedRows;
11
+ var _c = useState({}), rowSelection = _c[0], setRowSelection = _c[1];
12
+ var _d = useState({}), columnVisibility = _d[0], setColumnVisibility = _d[1];
13
+ var _e = useState([]), rowExpander = _e[0], setRowExpander = _e[1];
14
+ var dimensions = useWindowDimensions();
15
+ var handleMobileExpander = function (row) {
16
+ if (rowExpander.indexOf(row.index) === -1) {
17
+ setRowExpander(__spreadArray(__spreadArray([], rowExpander, true), [row.index], false));
18
+ }
19
+ else {
20
+ setRowExpander(function (value) { return value.filter(function (item) { return item !== row.index; }); });
21
+ }
22
+ };
23
+ var columns = __spreadArray([
24
+ {
25
+ id: 'mobileExpander',
26
+ accessorKey: 'mobileExpander',
27
+ header: function () { return null; },
28
+ cell: function (_a) {
29
+ var row = _a.row;
30
+ return (_jsx(Button, { onClick: function () { return handleMobileExpander(row); }, startAdornment: _jsx(AddIcon, { className: classNames('absolute transition-all duration-500', rowExpander.indexOf(row.index) !== -1 ? 'rotate-[225deg]' : '') }), variant: 'text', size: 'tiny', className: '!p-0' }));
31
+ },
32
+ enableSorting: false
33
+ },
34
+ {
35
+ id: 'select',
36
+ accessorKey: 'select',
37
+ header: function (_a) {
38
+ var table = _a.table;
39
+ return select ? (_jsx(Checkbox, { size: 'small', indeterminate: table.getIsSomeRowsSelected(), checked: table.getIsAllRowsSelected(), onChange: table.getToggleAllRowsSelectedHandler() })) : null;
40
+ },
41
+ cell: function (_a) {
42
+ var row = _a.row;
43
+ return row.getCanSelect() && select ? (_jsx(Checkbox, { size: 'small', onChange: row.getToggleSelectedHandler(), checked: row.getIsSelected() })) : null;
44
+ },
45
+ enableSorting: false
46
+ }
47
+ ], column, true);
48
+ var table = useReactTable({
49
+ data: data,
50
+ columns: columns,
51
+ getCoreRowModel: getCoreRowModel(),
52
+ state: {
53
+ columnVisibility: columnVisibility,
54
+ rowSelection: rowSelection
55
+ },
56
+ onColumnVisibilityChange: setColumnVisibility,
57
+ onRowSelectionChange: setRowSelection,
58
+ meta: {
59
+ updateData: function (value, info) {
60
+ if (updateData) {
61
+ updateData(value, info);
62
+ }
63
+ }
64
+ }
65
+ });
66
+ useEffect(function () {
67
+ if (selectedRows) {
68
+ selectedRows(table.getSelectedRowModel().rows.map(function (row) {
69
+ return row.original;
70
+ }));
71
+ }
72
+ }, [rowSelection]);
73
+ useEffect(function () {
74
+ var obj = {};
75
+ if (dimensions.width < 640) {
76
+ columns.forEach(function (value) {
77
+ if (value.id) {
78
+ obj[value.id] = mobileColumns === null || mobileColumns === void 0 ? void 0 : mobileColumns.includes(value.id);
79
+ }
80
+ });
81
+ setColumnVisibility(__assign(__assign({}, obj), { mobileExpander: true, select: select }));
82
+ }
83
+ else {
84
+ columns.forEach(function (value) {
85
+ if (value.id) {
86
+ obj[value.id] = true;
87
+ }
88
+ });
89
+ setColumnVisibility(__assign(__assign({}, obj), { mobileExpander: false, select: select }));
90
+ }
91
+ }, [dimensions.width]);
92
+ return (_jsxs(Div, __assign({ className: 'w-full flex-col relative' }, { children: [isLoading && data.length > 0 ? (_jsx(Div, __assign({ className: 'absolute bg-control bg-opacity-25 w-full h-full items-center justify-center z-50 rounded-xl' }, { children: _jsx(Div, __assign({ className: 'w-14 h-14 relative' }, { children: _jsx("img", { className: 'animate-bounce', src: LogoImage, alt: 'پزشک بوک' }) })) }))) : null, _jsx(Div, __assign({ className: 'bg-white border w-full border-control-300 border-opacity-50 p-2 rounded-xl max-w-full flex-col relative' }, { children: _jsxs("table", __assign({ className: 'w-full table-auto' }, { children: [_jsx("thead", __assign({ className: 'bg-control-50 h-14 sticky top-0 z-10' }, { children: table.getHeaderGroups().map(function (headerGroup) { return (_jsx("tr", { children: headerGroup.headers.map(function (header) { return (_jsx("th", __assign({ className: 'hover:cursor-pointer' }, { children: _jsx(Div, __assign({ className: 'justify-center items-center gap-1' }, { children: _jsx(Text, __assign({ color: 'grey.800', typography: 'sm', type: 'bold' }, { children: header.isPlaceholder
93
+ ? null
94
+ : flexRender(header.column.columnDef.header, header.getContext()) })) })) }), header.id)); }) }, headerGroup.id)); }) })), isLoading && !data.length ? (_jsx("tbody", { children: __spreadArray([], new Array(5), true).map(function (_, index) { return (_jsx("tr", __assign({ className: 'h-16 hover:bg-primary-50' }, { children: table.getFlatHeaders().map(function (cell) {
95
+ return (_jsx("td", __assign({ className: 'px-1' }, { children: _jsx(Skeleton, { color: 'control', className: '!max-w-full !min-w-full' }) }), cell.id));
96
+ }) }), "loadingItem_".concat(index))); }) })) : !isLoading && !data.length ? (_jsx("tbody", { children: _jsx("tr", __assign({ className: 'h-48' }, { children: _jsx("td", __assign({ colSpan: table.getFlatHeaders().length }, { children: _jsx(Text, __assign({ typography: 'lg', type: 'bold' }, { children: "\u0627\u0637\u0644\u0627\u0639\u0627\u062A\u06CC \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0648\u062C\u0648\u062F \u0646\u062F\u0627\u0631\u062F!" })) })) })) })) : (_jsx("tbody", { children: table.getRowModel().rows.map(function (row) {
97
+ return (_jsxs(Fragment, { children: [_jsx("tr", __assign({ className: classNames('h-16 hover:bg-primary-50', row.getIsSelected() && 'bg-slate-200') }, { children: row.getVisibleCells().map(function (cell) {
98
+ return (_jsx("td", __assign({ className: 'px-1' }, { children: isLoading ? (_jsx(Skeleton, { color: 'control', className: '!max-w-full !min-w-full' })) : _jsx(Div, __assign({ className: 'flex-col items-center' }, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) })) }), cell.id));
99
+ }) })), rowExpander.indexOf(row.index) !== -1 && (_jsx("tr", __assign({ className: classNames('bg-primary-50') }, { children: _jsx("td", __assign({ colSpan: row.getVisibleCells().length }, { children: _jsx(Div, __assign({ className: 'flex-col' }, { children: row.getAllCells().map(function (mobileCell) {
100
+ if (mobileCell.column.getIsVisible() || mobileCell.column.id === 'expander') {
101
+ return null;
102
+ }
103
+ return (_jsxs(Div, __assign({ className: 'gap-2 p-2 items-start' }, { children: [_jsxs(Text, __assign({ typography: 'sm', type: 'bold' }, { children: [header[mobileCell.column.id], ":"] })), flexRender(mobileCell.column.columnDef.cell, mobileCell.getContext())] }), mobileCell.id));
104
+ }) })) })) })))] }, row.id));
105
+ }) }))] })) }))] })));
106
+ };
107
+ export default SimpleDataTable;
108
+ //# sourceMappingURL=simple-data-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-data-table.js","sourceRoot":"","sources":["../../../../modules/data-table/simple/simple-data-table.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ColumnDef } from '@tanstack/react-table';
2
+ export interface SimpleDataTableProps {
3
+ data: Array<any>;
4
+ header: any;
5
+ column: Array<ColumnDef<any>>;
6
+ mobileColumns?: Array<string>;
7
+ isLoading?: boolean;
8
+ updateData?: (value: string, info?: string | object) => void;
9
+ select?: boolean;
10
+ selectedRows?: (rows: Array<ColumnDef<any>>) => void;
11
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=simple-data-table.props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-data-table.props.js","sourceRoot":"","sources":["../../../../modules/data-table/simple/simple-data-table.props.ts"],"names":[],"mappings":""}
@@ -1,6 +1,5 @@
1
- /// <reference types="react" />
2
1
  declare const ArrowRight: ({ fill, className }: {
3
2
  fill?: string | undefined;
4
3
  className?: string | undefined;
5
- }) => JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default ArrowRight;