@chumsinc/sortable-tables 2.0.13 → 2.1.0

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 (67) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/dist/DataTable.d.ts +1 -1
  3. package/dist/DataTableCell.d.ts +2 -2
  4. package/dist/DataTableHead.d.ts +1 -1
  5. package/dist/DataTableRow.d.ts +1 -1
  6. package/dist/DataTableTBody.d.ts +1 -1
  7. package/dist/DataTableTH.d.ts +1 -1
  8. package/dist/RowsPerPage.d.ts +1 -1
  9. package/dist/SortableTable.d.ts +1 -1
  10. package/dist/SortableTableHead.d.ts +1 -1
  11. package/dist/SortableTableTH.d.ts +1 -1
  12. package/dist/Table.d.ts +2 -2
  13. package/dist/TablePagination.d.ts +1 -1
  14. package/dist/index.cjs.js +28 -0
  15. package/dist/index.cjs.js.map +1 -0
  16. package/dist/index.es.js +388 -0
  17. package/dist/index.es.js.map +1 -0
  18. package/dist/types.d.ts +5 -5
  19. package/eslint.config.mjs +22 -13
  20. package/{public/index.html → index.html} +2 -5
  21. package/package.json +20 -20
  22. package/src/DataTable.tsx +1 -1
  23. package/src/DataTableCell.tsx +1 -1
  24. package/src/DataTableHead.tsx +1 -1
  25. package/src/DataTableRow.tsx +1 -1
  26. package/src/DataTableTBody.tsx +1 -1
  27. package/src/DataTableTH.tsx +1 -1
  28. package/src/RowsPerPage.tsx +1 -1
  29. package/src/SortableTable.tsx +1 -1
  30. package/src/SortableTableHead.tsx +1 -1
  31. package/src/SortableTableTH.tsx +1 -1
  32. package/src/Table.tsx +6 -5
  33. package/src/TablePagination.tsx +1 -1
  34. package/src/types.ts +17 -17
  35. package/tsconfig.json +8 -6
  36. package/vite.config.ts +33 -0
  37. package/babel.config.mjs +0 -13
  38. package/dist/DataTable.js +0 -14
  39. package/dist/DataTable.js.map +0 -1
  40. package/dist/DataTableCell.js +0 -17
  41. package/dist/DataTableCell.js.map +0 -1
  42. package/dist/DataTableHead.js +0 -11
  43. package/dist/DataTableHead.js.map +0 -1
  44. package/dist/DataTableRow.js +0 -16
  45. package/dist/DataTableRow.js.map +0 -1
  46. package/dist/DataTableTBody.js +0 -15
  47. package/dist/DataTableTBody.js.map +0 -1
  48. package/dist/DataTableTH.js +0 -9
  49. package/dist/DataTableTH.js.map +0 -1
  50. package/dist/RowsPerPage.js +0 -16
  51. package/dist/RowsPerPage.js.map +0 -1
  52. package/dist/SortableTable.js +0 -14
  53. package/dist/SortableTable.js.map +0 -1
  54. package/dist/SortableTableHead.js +0 -12
  55. package/dist/SortableTableHead.js.map +0 -1
  56. package/dist/SortableTableTH.js +0 -48
  57. package/dist/SortableTableTH.js.map +0 -1
  58. package/dist/Table.js +0 -28
  59. package/dist/Table.js.map +0 -1
  60. package/dist/TablePagination.js +0 -13
  61. package/dist/TablePagination.js.map +0 -1
  62. package/dist/index.js +0 -10
  63. package/dist/index.js.map +0 -1
  64. package/dist/types.js +0 -2
  65. package/dist/types.js.map +0 -1
  66. package/webpack.common.mjs +0 -72
  67. package/webpack.dev.mjs +0 -35
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import classNames from "classnames";
3
- import DataTableCell from "./DataTableCell";
4
- function DataTableRow({ className, rowClassName, selected, fields, row, trRef, onClick, ...rest }) {
5
- const clickHandler = (ev) => {
6
- onClick?.(row, ev);
7
- };
8
- const _className = typeof rowClassName === 'function' ? rowClassName(row) : rowClassName;
9
- if (!row) {
10
- return null;
11
- }
12
- return (_jsx("tr", { ref: trRef, className: classNames({ 'table-active': selected }, className, _className), onClick: clickHandler, ...rest, children: fields.map((field, index) => (_jsx(DataTableCell, { field: field, row: row }, index))) }));
13
- }
14
- DataTableRow.displayName = 'DataTableRow';
15
- export default DataTableRow;
16
- //# sourceMappingURL=DataTableRow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataTableRow.js","sourceRoot":"","sources":["../src/DataTableRow.tsx"],"names":[],"mappings":";AACA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,SAAS,YAAY,CAAc,EACI,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,GAAG,EACH,KAAK,EACL,OAAO,EACP,GAAG,IAAI,EACY;IACtD,MAAM,YAAY,GAAG,CAAC,EAAmC,EAAE,EAAE;QACzD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,OAAO,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACzF,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CACH,aAAI,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,UAAU,CAAC,EAAC,cAAc,EAAE,QAAQ,EAAC,EAAE,SAAS,EAAE,UAAU,CAAC,EACxE,OAAO,EAAE,YAAY,KACjB,IAAI,YACP,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAC,aAAa,IAAa,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAA7B,KAAK,CAA2B,CAAC,CAAC,GACpF,CACR,CAAA;AACL,CAAC;AAED,YAAY,CAAC,WAAW,GAAG,cAAc,CAAC;AAC1C,eAAe,YAAY,CAAC"}
@@ -1,15 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import DataTableRow from "./DataTableRow";
3
- function DataTableTBody({ fields, data, keyField, rowClassName, renderRow, onSelectRow, selected = '', children, ...rest }) {
4
- return (_jsxs("tbody", { ...rest, children: [data.map(row => {
5
- const keyValue = String(typeof keyField === "function" ? keyField(row) : row[keyField]);
6
- const isSelected = typeof selected === 'function' ? selected(row) : keyValue === selected;
7
- if (renderRow) {
8
- return renderRow(row);
9
- }
10
- return (_jsx(DataTableRow, { onClick: onSelectRow, rowClassName: rowClassName, fields: fields, row: row, selected: isSelected }, keyValue));
11
- }), children] }));
12
- }
13
- DataTableTBody.displayName = 'DataTableTBody';
14
- export default DataTableTBody;
15
- //# sourceMappingURL=DataTableTBody.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataTableTBody.js","sourceRoot":"","sources":["../src/DataTableTBody.tsx"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAI1C,SAAS,cAAc,CAAc,EACI,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,GAAG,EAAE,EACb,QAAQ,EACR,GAAG,IAAI,EACc;IAC1D,OAAO,CACH,oBAAW,IAAI,aACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACZ,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxF,MAAM,UAAU,GAAG,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;gBAC1F,IAAI,SAAS,EAAE,CAAC;oBACZ,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC1B,CAAC;gBACD,OAAO,CACH,KAAC,YAAY,IAAgB,OAAO,EAAE,WAAW,EACnC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,IAHzB,QAAQ,CAGoB,CAClD,CAAA;YACL,CAAC,CAAC,EACD,QAAQ,IACD,CACX,CAAA;AACL,CAAC;AAED,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAC;AAC9C,eAAe,cAAc,CAAA"}
@@ -1,9 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import classNames from "classnames";
3
- function DataTableTH({ field, className, children, ...rest }) {
4
- const thClassName = classNames({ [`text-${field.align}`]: !!field.align }, className);
5
- return (_jsx("th", { className: thClassName, scope: "col", ...rest, children: children ?? field.title }));
6
- }
7
- DataTableTH.displayName = 'DataTableTH';
8
- export default DataTableTH;
9
- //# sourceMappingURL=DataTableTH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataTableTH.js","sourceRoot":"","sources":["../src/DataTableTH.tsx"],"names":[],"mappings":";AACA,OAAO,UAAU,MAAM,YAAY,CAAC;AAIpC,SAAS,WAAW,CAAc,EACmB,KAAK,EACL,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACW;IACnE,MAAM,WAAW,GAAG,UAAU,CAAC,EAAC,CAAC,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAC,EAAE,SAAS,CAAC,CAAC;IACpF,OAAO,CACH,aAAI,SAAS,EAAE,WAAW,EAAE,KAAK,EAAC,KAAK,KAAK,IAAI,YAC3C,QAAQ,IAAI,KAAK,CAAC,KAAK,GACvB,CACR,CAAA;AACL,CAAC;AACD,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AACxC,eAAe,WAAW,CAAC"}
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useId } from 'react';
3
- import classNames from "classnames";
4
- export const defaultRowsPerPageValues = [10, 25, 50, 100, 250, 500, 1000];
5
- function RowsPerPage({ value, pageValues = defaultRowsPerPageValues, size, label, className, onChange, ...rest }) {
6
- const id = useId();
7
- const changeHandler = (ev) => onChange(Number(ev.target.value));
8
- const selectClassName = className ?? classNames('form-select', { [`form-select-${size}`]: !!size });
9
- const inputGroupClassName = classNames('input-group', {
10
- [`input-group-${size}`]: !!size,
11
- });
12
- return (_jsxs("div", { className: inputGroupClassName, children: [_jsx("label", { className: "input-group-text", htmlFor: id, children: label ?? 'Rows' }), _jsx("select", { className: selectClassName, id: id, value: value, onChange: changeHandler, ...rest, children: pageValues.map(value => (_jsx("option", { value: value, children: value }, value))) })] }, value));
13
- }
14
- RowsPerPage.displayName = 'RowsPerPage';
15
- export default RowsPerPage;
16
- //# sourceMappingURL=RowsPerPage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RowsPerPage.js","sourceRoot":"","sources":["../src/RowsPerPage.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAc,KAAK,EAAC,MAAM,OAAO,CAAC;AAChD,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,MAAM,CAAC,MAAM,wBAAwB,GAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAGpF,SAAS,WAAW,CAAC,EACI,KAAK,EACL,UAAU,GAAG,wBAAwB,EACrC,IAAI,EACJ,KAAK,EACL,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACQ;IACpC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,aAAa,GAAG,CAAC,EAAkC,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAChG,MAAM,eAAe,GAAG,SAAS,IAAI,UAAU,CAAC,aAAa,EAAE,EAAC,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAC,CAAC,CAAC;IAClG,MAAM,mBAAmB,GAAG,UAAU,CAAC,aAAa,EAAE;QAClD,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI;KAClC,CAAC,CAAA;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,mBAAmB,aAC/B,gBAAO,SAAS,EAAC,kBAAkB,EAAC,OAAO,EAAE,EAAE,YAAG,KAAK,IAAI,MAAM,GAAS,EAC1E,iBAAQ,SAAS,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAClC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,KAAM,IAAI,YAClD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACrB,iBAAoB,KAAK,EAAE,KAAK,YAAG,KAAK,IAA3B,KAAK,CAAgC,CACrD,CAAC,GACG,KAP6B,KAAK,CAQzC,CACT,CAAA;AACL,CAAC;AAED,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AACxC,eAAe,WAAW,CAAC"}
@@ -1,14 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import classNames from "classnames";
3
- import SortableTableHead from "./SortableTableHead";
4
- import DataTableTBody from "./DataTableTBody";
5
- import Table from "./Table";
6
- function SortableTable({ fields, data, currentSort, onChangeSort, keyField, size = '', sticky, rowClassName, renderRow, onSelectRow, selected = '', className = '', tfoot, children, ...rest }) {
7
- const tableClassName = classNames('table', className, {
8
- [`table-${size}`]: !!size,
9
- });
10
- return (_jsxs(Table, { className: tableClassName, sticky: sticky, ...rest, children: [_jsx(SortableTableHead, { currentSort: currentSort, fields: fields, onChangeSort: onChangeSort }), !!data.length && (_jsx(DataTableTBody, { fields: fields, data: data, keyField: keyField, rowClassName: rowClassName, renderRow: renderRow, onSelectRow: onSelectRow, selected: selected })), children, tfoot] }));
11
- }
12
- SortableTable.displayName = 'SortableTable';
13
- export default SortableTable;
14
- //# sourceMappingURL=SortableTable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SortableTable.js","sourceRoot":"","sources":["../src/SortableTable.tsx"],"names":[],"mappings":";AACA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,MAAM,SAAS,CAAC;AAG5B,SAAS,aAAa,CAAc,EACI,MAAM,EACN,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,IAAI,GAAG,EAAE,EACT,MAAM,EACN,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,GAAG,EAAE,EACb,SAAS,GAAG,EAAE,EACd,KAAK,EACL,QAAQ,EACR,GAAG,IAAI,EACa;IACxD,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE;QAClD,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI;KAC5B,CAAC,CAAA;IAEF,OAAO,CACH,MAAC,KAAK,IAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,KAAM,IAAI,aACtD,KAAC,iBAAiB,IAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,EACzF,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CACd,KAAC,cAAc,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAC1E,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,CAClE,EACA,QAAQ,EACR,KAAK,IACF,CACX,CAAA;AACL,CAAC;AAED,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC;AAC5C,eAAe,aAAa,CAAC"}
@@ -1,12 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import SortableTableTH from "./SortableTableTH";
3
- import classNames from "classnames";
4
- function SortableTableHead({ currentSort, fields, onChangeSort, }) {
5
- const { field, ascending } = currentSort;
6
- return (_jsx("thead", { children: _jsx("tr", { children: fields.map((tableField, index) => (_jsx(SortableTableTH, { field: tableField, sorted: field === tableField.field, ascending: ascending, className: classNames(typeof tableField.className === 'function'
7
- ? { [`text-${tableField.align}`]: !!tableField.align }
8
- : tableField.className), onClick: onChangeSort }, index))) }) }));
9
- }
10
- SortableTableHead.displayName = 'SortableTableHead';
11
- export default SortableTableHead;
12
- //# sourceMappingURL=SortableTableHead.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SortableTableHead.js","sourceRoot":"","sources":["../src/SortableTableHead.tsx"],"names":[],"mappings":";AACA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,UAAU,MAAM,YAAY,CAAC;AAIpC,SAAS,iBAAiB,CAAc,EACmB,WAAW,EACX,MAAM,EACN,YAAY,GACY;IAC/E,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,WAAW,CAAC;IACvC,OAAO,CACH,0BACA,uBACK,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAC/B,KAAC,eAAe,IAAgB,KAAK,EAAE,UAAU,EAChC,MAAM,EAAE,KAAK,KAAK,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EACxD,SAAS,EAAE,UAAU,CACtB,OAAO,UAAU,CAAC,SAAS,KAAK,UAAU;oBACtC,CAAC,CAAC,EAAC,CAAC,QAAQ,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,EAAC;oBACpD,CAAC,CAAC,UAAU,CAAC,SAAS,CAC7B,EAAE,OAAO,EAAE,YAAY,IANX,KAAK,CAMS,CAC1C,CAAC,GACD,GACG,CACX,CAAA;AACL,CAAC;AAED,iBAAiB,CAAC,WAAW,GAAG,mBAAmB,CAAC;AACpD,eAAe,iBAAiB,CAAC"}
@@ -1,48 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import classNames from "classnames";
3
- import DataTableTH from "./DataTableTH";
4
- import styled from '@emotion/styled';
5
- const flexJustifyContent = (align) => {
6
- if (!align) {
7
- return 'flex-start';
8
- }
9
- switch (align) {
10
- case 'end':
11
- return 'flex-end';
12
- default:
13
- return 'center';
14
- }
15
- };
16
- const FieldTitle = styled.div `
17
- display: flex;
18
- width: 100%;
19
- flex-direction: ${props => props.align === 'end' ? 'row-reverse' : 'row'};
20
- justify-content: ${props => flexJustifyContent(props.align)};
21
- .sort-icon {
22
- flex-grow: ${props => props.align === 'end' ? '1' : '0'};
23
- opacity: ${props => props.sorted ? 1 : 0};
24
- }
25
- &:hover .sort-icon {
26
- color: ${props => props.sorted ? 'unset' : 'var(--bs-primary)'} ;
27
- opacity: 0.75;
28
- transition: opacity 0.2s;
29
- }
30
- `;
31
- function SortableTableTH({ field, sorted, ascending, className, onClick }) {
32
- if (!field.sortable) {
33
- return (_jsx(DataTableTH, { field: field, className: className }));
34
- }
35
- const { className: _thClassName, ...thProps } = field.thProps ?? {};
36
- const thClassName = classNames(className, _thClassName, { [`text-${field.align}`]: !!field.align });
37
- const clickHandler = () => {
38
- onClick({ field: field.field, ascending: !sorted ? true : !ascending });
39
- };
40
- const iconClassName = {
41
- 'bi-arrow-down': ascending,
42
- 'bi-arrow-up': !ascending,
43
- };
44
- return (_jsx("th", { ...thProps, className: classNames("sortable", thClassName), scope: "col", onClick: clickHandler, children: _jsxs(FieldTitle, { sorted: sorted, align: field.align, children: [_jsx("div", { className: "field-title", children: field.title }), _jsx("div", { className: classNames('me-1 sort-icon', iconClassName) })] }) }));
45
- }
46
- SortableTableTH.displayName = 'SortableTableTH';
47
- export default SortableTableTH;
48
- //# sourceMappingURL=SortableTableTH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SortableTableTH.js","sourceRoot":"","sources":["../src/SortableTableTH.tsx"],"names":[],"mappings":";AACA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,kBAAkB,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,KAAK;YACN,OAAO,UAAU,CAAC;QACtB;YACI,OAAO,QAAQ,CAAC;IACxB,CAAC;AACL,CAAC,CAAA;AAMD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAiB;;;sBAGxB,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK;uBACrD,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC;;qBAE1C,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;mBAC5C,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;iBAG/B,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;;;;CAIrE,CAAA;AAED,SAAS,eAAe,CAAc,EACI,KAAK,EACL,MAAM,EACN,SAAS,EACT,SAAS,EACT,OAAO,EACe;IAC5D,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,GAAG,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,EAAC,SAAS,EAAE,YAAY,EAAE,GAAG,OAAO,EAAC,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IAClE,MAAM,WAAW,GAAG,UAAU,CAC1B,SAAS,EACT,YAAY,EACZ,EAAC,CAAC,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAC,CAC3C,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,OAAO,CAAC,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAC,CAAC,CAAC;IAC1E,CAAC,CAAA;IAED,MAAM,aAAa,GAAG;QAClB,eAAe,EAAE,SAAS;QAC1B,aAAa,EAAE,CAAC,SAAS;KAC5B,CAAA;IAED,OAAO,CACH,gBAAQ,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,KAAK,EAAC,KAAK,EAAC,OAAO,EAAE,YAAY,YAC9F,MAAC,UAAU,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,aAC1C,cAAK,SAAS,EAAC,aAAa,YAAE,KAAK,CAAC,KAAK,GAAO,EAChD,cAAK,SAAS,EAAE,UAAU,CAAC,gBAAgB,EAAE,aAAa,CAAC,GAAG,IACrD,GACZ,CACR,CAAA;AACL,CAAC;AAED,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC;AAChD,eAAe,eAAe,CAAC"}
package/dist/Table.js DELETED
@@ -1,28 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import React from 'react';
3
- import styled from "@emotion/styled";
4
- import classNames from "classnames";
5
- const StyledTable = styled.table `
6
- --table-sticky-top: ${props => props.sticky ? '0' : undefined};
7
-
8
- thead {
9
- tr:nth-of-type(1) td,
10
- tr:nth-of-type(1) th {
11
- top: var(--table-sticky-top, unset);
12
- position: ${props => props.sticky ? "sticky" : "unset"};
13
- z-index: ${props => props.sticky ? 10 : "unset"};
14
- background: ${props => props.sticky ? "linear-gradient(var(--bs-table-bg) 75%, rgba(var(--bs-secondary-bg-rgb), 0.9))" : "unset"};
15
- }
16
- }
17
- `;
18
- export default React.forwardRef(function Table({ sticky, responsive, children, ...rest }, ref) {
19
- if (responsive) {
20
- const className = classNames({
21
- 'table-responsive': responsive === true,
22
- [`table-responsive-${responsive}`]: responsive !== true,
23
- });
24
- return (_jsx("div", { className: className, children: _jsx(StyledTable, { ref: ref, ...rest, children: children }) }));
25
- }
26
- return (_jsx(StyledTable, { sticky: sticky, ref: ref, ...rest, children: children }));
27
- });
28
- //# sourceMappingURL=Table.js.map
package/dist/Table.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Table.js","sourceRoot":"","sources":["../src/Table.tsx"],"names":[],"mappings":";AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,OAAO,UAAU,MAAM,YAAY,CAAC;AAIpC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAkB;0BACxB,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;;;;;;wBAMzC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;uBAC3C,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;0BACjC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,gFAAgF,CAAC,CAAC,CAAC,OAAO;;;CAG3I,CAAA;AAED,eAAe,KAAK,CAAC,UAAU,CAC3B,SAAS,KAAK,CAAC,EACI,MAAM,EACN,UAAU,EACV,QAAQ,EACR,GAAG,IAAI,EACV,EAAE,GAAG;IACjB,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,UAAU,CAAC;YACzB,kBAAkB,EAAE,UAAU,KAAK,IAAI;YACvC,CAAC,oBAAoB,UAAU,EAAE,CAAC,EAAE,UAAU,KAAK,IAAI;SAC1D,CAAC,CAAA;QACF,OAAO,CACH,cAAK,SAAS,EAAE,SAAS,YACrB,KAAC,WAAW,IAAC,GAAG,EAAE,GAAG,KAAM,IAAI,YAAG,QAAQ,GAAe,GACvD,CACT,CAAA;IACL,CAAC;IACD,OAAO,CACH,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAM,IAAI,YAAG,QAAQ,GAAe,CAC5E,CAAA;AACL,CAAC,CAAC,CAAA"}
@@ -1,13 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import RowsPerPage from "./RowsPerPage";
3
- import classNames from "classnames";
4
- function TablePagination({ page, rowsPerPage, onChangePage, count, size, showFirst, showLast, className, rowsPerPageProps, ...rest }) {
5
- const first = count === 0 ? 0 : (page * rowsPerPage) + 1;
6
- const last = Math.min(page * rowsPerPage + rowsPerPage, count);
7
- const lastPage = rowsPerPage === 0 ? 0 : Math.floor((count - 1) / rowsPerPage);
8
- const buttonClassName = classNames("btn btn-link", { [`btn-${size}`]: !!size });
9
- return (_jsxs("div", { className: classNames("row g-3 justify-content-end", className), ...rest, children: [!!rowsPerPageProps && (_jsx("div", { className: "col-auto", children: _jsx(RowsPerPage, { ...rowsPerPageProps, value: rowsPerPage, size: size }) })), _jsx("div", { className: "col-auto", children: _jsxs("div", { className: "row g-3 flex-nowrap align-items-baseline", children: [_jsxs("div", { className: "col-auto", children: [first, "-", last, " of ", count] }), showFirst && (_jsx("div", { className: "col-auto", children: _jsx("button", { className: buttonClassName, disabled: page === 0, onClick: () => onChangePage(0), "aria-label": "First page", children: _jsx("span", { className: "bi-chevron-bar-left", "aria-hidden": "true" }) }) })), _jsx("div", { className: "col-auto", children: _jsx("button", { className: buttonClassName, disabled: page === 0, onClick: () => onChangePage(page - 1), "aria-label": "Previous page", children: _jsx("span", { className: "bi-chevron-left", "aria-hidden": "true" }) }) }), _jsx("div", { className: "col-auto", children: _jsx("button", { className: buttonClassName, disabled: page >= lastPage, onClick: () => onChangePage(page + 1), "aria-label": "Next page", children: _jsx("span", { className: "bi-chevron-right", "aria-hidden": "true" }) }) }), showLast && (_jsx("div", { className: "col-auto", children: _jsx("button", { className: buttonClassName, disabled: page >= lastPage, onClick: () => onChangePage(lastPage), "aria-label": "Last page", children: _jsx("span", { className: "bi-chevron-bar-right", "aria-hidden": "true" }) }) }))] }) })] }));
10
- }
11
- TablePagination.displayname = 'TablePagination';
12
- export default TablePagination;
13
- //# sourceMappingURL=TablePagination.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TablePagination.js","sourceRoot":"","sources":["../src/TablePagination.tsx"],"names":[],"mappings":";AACA,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,SAAS,eAAe,CAAC,EACI,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,KAAK,EACL,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,GAAG,IAAI,EACY;IAE5C,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,WAAW,GAAG,WAAW,EAAE,KAAK,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;IAE/E,MAAM,eAAe,GAAG,UAAU,CAAC,cAAc,EAAE,EAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAC,CAAC,CAAC;IAE9E,OAAO,CACH,eAAK,SAAS,EAAE,UAAU,CAAC,6BAA6B,EAAE,SAAS,CAAC,KAAM,IAAI,aACzE,CAAC,CAAC,gBAAgB,IAAI,CACnB,cAAK,SAAS,EAAC,UAAU,YACrB,KAAC,WAAW,OAAK,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,GAClE,CACT,EACD,cAAK,SAAS,EAAC,UAAU,YACrB,eAAK,SAAS,EAAC,0CAA0C,aACrD,eAAK,SAAS,EAAC,UAAU,aACpB,KAAK,OAAG,IAAI,UAAM,KAAK,IACtB,EACL,SAAS,IAAI,CACV,cAAK,SAAS,EAAC,UAAU,YACrB,iBAAQ,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,EAChD,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAa,YAAY,YAC3D,eAAM,SAAS,EAAC,qBAAqB,iBAAa,MAAM,GAAE,GACrD,GACP,CACT,EACD,cAAK,SAAS,EAAC,UAAU,YACrB,iBAAQ,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,EAChD,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,gBAAa,eAAe,YACrE,eAAM,SAAS,EAAC,iBAAiB,iBAAa,MAAM,GAAE,GACjD,GACP,EACN,cAAK,SAAS,EAAC,UAAU,YACrB,iBAAQ,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,IAAI,QAAQ,EACtD,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,gBAAa,WAAW,YACjE,eAAM,SAAS,EAAC,kBAAkB,iBAAa,MAAM,GAAE,GAClD,GACP,EACL,QAAQ,IAAI,CACT,cAAK,SAAS,EAAC,UAAU,YACrB,iBAAQ,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,IAAI,QAAQ,EACtD,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAa,WAAW,YACjE,eAAM,SAAS,EAAC,sBAAsB,iBAAa,MAAM,GAAE,GACtD,GACP,CACT,IACC,GACJ,IACJ,CACT,CAAA;AACL,CAAC;AAED,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC;AAChD,eAAe,eAAe,CAAA"}
package/dist/index.js DELETED
@@ -1,10 +0,0 @@
1
- export { default as DataTable } from './DataTable';
2
- export { default as DataTableRow } from './DataTableRow';
3
- export { default as DataTableTBody } from './DataTableTBody';
4
- export { default as DataTableTH } from './DataTableTH';
5
- export { default as SortableTable } from './SortableTable';
6
- export { default as SortableTableHead } from './SortableTableHead';
7
- export { default as SortableTableTH } from './SortableTableTH';
8
- export { default as RowsPerPage, defaultRowsPerPageValues } from './RowsPerPage';
9
- export { default as TablePagination } from './TablePagination';
10
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,aAAa,CAAC;AACjD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,eAAe,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAC,OAAO,IAAI,WAAW,EAAE,wBAAwB,EAAC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mBAAmB,CAAC"}
package/dist/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -1,72 +0,0 @@
1
- import path from 'node:path';
2
- import process from "node:process";
3
-
4
- export default {
5
- entry: './src/index.tsx',
6
- module: {
7
- rules: [
8
- {
9
- test: /\.tsx?$/,
10
- use: 'ts-loader',
11
- exclude: /node_modules/,
12
- },
13
- {
14
- test: /\.css$/,
15
- use: [
16
- {loader: 'style-loader'},
17
- {loader: 'css-loader'},
18
- ],
19
- },
20
- {
21
- test: /\.s[ac]ss$/i,
22
- use: [
23
- 'style-loader',
24
- 'css-loader',
25
- 'sass-loader',
26
- ],
27
- }
28
- ]
29
- },
30
- resolve: {
31
- extensions: ['.tsx', '.ts', '.js'],
32
- },
33
- plugins: [
34
- ],
35
- optimization: {
36
- splitChunks: {
37
- chunks: 'async',
38
- minSize: 20000,
39
- minRemainingSize: 0,
40
- minChunks: 1,
41
- maxAsyncRequests: 30,
42
- maxInitialRequests: 30,
43
- enforceSizeThreshold: 50000,
44
- cacheGroups: {
45
- react: {
46
- test: /[\\/]node_modules[\\/](react|react-dom)[\\/]/,
47
- name: 'vendors-react',
48
- chunks: 'all',
49
- priority: 10,
50
- },
51
- defaultVendors: {
52
- test: /[\\/]node_modules[\\/]/,
53
- name: 'vendors',
54
- chunks: 'all',
55
- priority: 0,
56
- },
57
- default: {
58
- minChunks: 2,
59
- priority: -10,
60
- reuseExistingChunk: true,
61
- }
62
- }
63
- }
64
- },
65
- output: {
66
- path: path.join(process.cwd(), 'public/js'),
67
- filename: "[name].js",
68
- sourceMapFilename: '[file].map',
69
- publicPath: '/',
70
- },
71
- target: 'web',
72
- }
package/webpack.dev.mjs DELETED
@@ -1,35 +0,0 @@
1
- import {merge} from 'webpack-merge';
2
- import common from './webpack.common.mjs';
3
- import path from 'node:path';
4
- import process from 'node:process';
5
-
6
- const localProxy = {
7
- target: 'http://localhost:8081',
8
- ignorePath: false,
9
- changeOrigin: true,
10
- secure: false,
11
- };
12
-
13
- export default merge(common, {
14
- entry: './test/index.tsx',
15
- mode: 'development',
16
- devServer: {
17
- allowedHosts: 'auto',
18
- static: {
19
- directory: path.join(process.cwd(), 'public'),
20
- serveIndex: true,
21
- watch: false,
22
- },
23
- hot: true,
24
- port: 3000,
25
- proxy: [
26
- {context: ['/api'], ...localProxy},
27
- ],
28
- watchFiles: [
29
- path.join(process.cwd(), 'src/**/*'),
30
- path.join(process.cwd(), 'test/**/*')
31
- ]
32
- },
33
- devtool: 'inline-source-map',
34
- plugins: []
35
- });