@toptal/picasso-table 1.1.21 → 2.0.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.
- package/dist-package/src/Table/Table.d.ts.map +1 -1
- package/dist-package/src/Table/Table.js +2 -8
- package/dist-package/src/Table/Table.js.map +1 -1
- package/dist-package/src/TableBody/TableBody.d.ts.map +1 -1
- package/dist-package/src/TableBody/TableBody.js +1 -6
- package/dist-package/src/TableBody/TableBody.js.map +1 -1
- package/dist-package/src/TableCell/TableCell.d.ts.map +1 -1
- package/dist-package/src/TableCell/TableCell.js +9 -13
- package/dist-package/src/TableCell/TableCell.js.map +1 -1
- package/dist-package/src/TableExpandableRow/TableExpandableRow.d.ts +1 -1
- package/dist-package/src/TableExpandableRow/TableExpandableRow.d.ts.map +1 -1
- package/dist-package/src/TableExpandableRow/TableExpandableRow.js +5 -13
- package/dist-package/src/TableExpandableRow/TableExpandableRow.js.map +1 -1
- package/dist-package/src/TableFooter/TableFooter.d.ts.map +1 -1
- package/dist-package/src/TableFooter/TableFooter.js +2 -8
- package/dist-package/src/TableFooter/TableFooter.js.map +1 -1
- package/dist-package/src/TableHead/TableHead.d.ts.map +1 -1
- package/dist-package/src/TableHead/TableHead.js +2 -6
- package/dist-package/src/TableHead/TableHead.js.map +1 -1
- package/dist-package/src/TableRow/TableRow.d.ts.map +1 -1
- package/dist-package/src/TableRow/TableRow.js +2 -10
- package/dist-package/src/TableRow/TableRow.js.map +1 -1
- package/dist-package/src/TableSectionHead/TableSectionHead.d.ts.map +1 -1
- package/dist-package/src/TableSectionHead/TableSectionHead.js +2 -8
- package/dist-package/src/TableSectionHead/TableSectionHead.js.map +1 -1
- package/package.json +10 -8
- package/src/Table/Table.tsx +7 -13
- package/src/Table/__snapshots__/test.tsx.snap +13 -16
- package/src/TableBody/TableBody.tsx +2 -15
- package/src/TableBody/__snapshots__/test.tsx.snap +5 -7
- package/src/TableCell/TableCell.tsx +24 -26
- package/src/TableCell/__snapshots__/test.tsx.snap +15 -21
- package/src/TableExpandableRow/TableExpandableRow.tsx +10 -17
- package/src/TableFooter/TableFooter.tsx +7 -13
- package/src/TableFooter/__snapshots__/test.tsx.snap +5 -5
- package/src/TableHead/TableHead.tsx +7 -11
- package/src/TableHead/__snapshots__/test.tsx.snap +5 -6
- package/src/TableRow/TableRow.tsx +11 -21
- package/src/TableRow/__snapshots__/test.tsx.snap +5 -7
- package/src/TableSectionHead/TableSectionHead.tsx +9 -11
- package/src/TableSectionHead/__snapshots__/test.tsx.snap +7 -9
- package/src/TableSortableCell/__snapshots__/test.tsx.snap +6 -6
- package/dist-package/src/Table/styles.d.ts +0 -3
- package/dist-package/src/Table/styles.d.ts.map +0 -1
- package/dist-package/src/Table/styles.js +0 -5
- package/dist-package/src/Table/styles.js.map +0 -1
- package/dist-package/src/TableBody/styles.d.ts +0 -3
- package/dist-package/src/TableBody/styles.d.ts.map +0 -1
- package/dist-package/src/TableBody/styles.js +0 -5
- package/dist-package/src/TableBody/styles.js.map +0 -1
- package/dist-package/src/TableCell/styles.d.ts +0 -3
- package/dist-package/src/TableCell/styles.d.ts.map +0 -1
- package/dist-package/src/TableCell/styles.js +0 -22
- package/dist-package/src/TableCell/styles.js.map +0 -1
- package/dist-package/src/TableExpandableRow/styles.d.ts +0 -4
- package/dist-package/src/TableExpandableRow/styles.d.ts.map +0 -1
- package/dist-package/src/TableExpandableRow/styles.js +0 -15
- package/dist-package/src/TableExpandableRow/styles.js.map +0 -1
- package/dist-package/src/TableFooter/styles.d.ts +0 -4
- package/dist-package/src/TableFooter/styles.d.ts.map +0 -1
- package/dist-package/src/TableFooter/styles.js +0 -7
- package/dist-package/src/TableFooter/styles.js.map +0 -1
- package/dist-package/src/TableHead/styles.d.ts +0 -4
- package/dist-package/src/TableHead/styles.d.ts.map +0 -1
- package/dist-package/src/TableHead/styles.js +0 -9
- package/dist-package/src/TableHead/styles.js.map +0 -1
- package/dist-package/src/TableRow/styles.d.ts +0 -4
- package/dist-package/src/TableRow/styles.d.ts.map +0 -1
- package/dist-package/src/TableRow/styles.js +0 -30
- package/dist-package/src/TableRow/styles.js.map +0 -1
- package/dist-package/src/TableSectionHead/styles.d.ts +0 -4
- package/dist-package/src/TableSectionHead/styles.d.ts.map +0 -1
- package/dist-package/src/TableSectionHead/styles.js +0 -16
- package/dist-package/src/TableSectionHead/styles.js.map +0 -1
- package/src/Table/styles.ts +0 -6
- package/src/TableBody/styles.ts +0 -6
- package/src/TableCell/styles.ts +0 -39
- package/src/TableExpandableRow/styles.ts +0 -17
- package/src/TableFooter/styles.ts +0 -9
- package/src/TableHead/styles.ts +0 -12
- package/src/TableRow/styles.ts +0 -35
- package/src/TableSectionHead/styles.ts +0 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/Table/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAA;AAC3D,OAAO,KAA8B,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/Table/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAA;AAC3D,OAAO,KAA8B,MAAM,OAAO,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAKvD,MAAM,WAAW,KACf,SAAQ,SAAS,EACf,mBAAmB,CAAC,gBAAgB,CAAC;IACvC,uEAAuE;IACvE,QAAQ,EAAE,SAAS,CAAA;IACnB,oBAAoB;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC1C,yBAAyB;IACzB,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;CAC3C;AAGD,eAAO,MAAM,KAAK,gFA8BhB,CAAA;AASF,eAAe,KAAK,CAAA"}
|
|
@@ -10,20 +10,14 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import React, { forwardRef, useMemo } from 'react';
|
|
13
|
-
import {
|
|
14
|
-
import { Table as MUITable } from '@material-ui/core';
|
|
13
|
+
import { twMerge } from '@toptal/picasso-tailwind-merge';
|
|
15
14
|
import TableContext from './TableContext';
|
|
16
|
-
import styles from './styles';
|
|
17
|
-
const useStyles = makeStyles(styles, {
|
|
18
|
-
name: 'Table',
|
|
19
|
-
});
|
|
20
15
|
// eslint-disable-next-line react/display-name
|
|
21
16
|
export const Table = forwardRef(function Table(props, ref) {
|
|
22
17
|
const { className, style, children, spacing = 'regular', variant = 'bordered' } = props, rest = __rest(props, ["className", "style", "children", "spacing", "variant"]);
|
|
23
|
-
const classes = useStyles();
|
|
24
18
|
const tableConfig = useMemo(() => ({ spacing, variant }), [spacing, variant]);
|
|
25
19
|
return (React.createElement(TableContext.Provider, { value: tableConfig },
|
|
26
|
-
React.createElement(
|
|
20
|
+
React.createElement("table", Object.assign({}, rest, { ref: ref, className: twMerge('w-full border-collapse border-spacing-0', className), style: style }), children)));
|
|
27
21
|
});
|
|
28
22
|
Table.defaultProps = {
|
|
29
23
|
spacing: 'regular',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/Table/Table.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAElD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/Table/Table.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAExD,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAazC,8CAA8C;AAC9C,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAA0B,SAAS,KAAK,CACrE,KAAK,EACL,GAAG;IAEH,MAAM,EACJ,SAAS,EACT,KAAK,EACL,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,OAAO,GAAG,UAAU,KAElB,KAAK,EADJ,IAAI,UACL,KAAK,EAPH,wDAOL,CAAQ,CAAA;IAET,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;IAE7E,OAAO,CACL,oBAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,WAAW;QACvC,+CACM,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,OAAO,CAChB,yCAAyC,EACzC,SAAS,CACV,EACD,KAAK,EAAE,KAAK,KAEX,QAAQ,CACH,CACc,CACzB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,KAAK,CAAC,YAAY,GAAG;IACnB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,UAAU;CACpB,CAAA;AAED,KAAK,CAAC,WAAW,GAAG,OAAO,CAAA;AAE3B,eAAe,KAAK,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../src/TableBody/TableBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,KAAiC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../src/TableBody/TableBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,KAAiC,MAAM,OAAO,CAAA;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAIvD,MAAM,WAAW,KACf,SAAQ,SAAS,EACf,cAAc,CAAC,uBAAuB,CAAC;IACzC,yDAAyD;IACzD,QAAQ,EAAE,SAAS,CAAA;CACpB;AAmBD,eAAO,MAAM,SAAS,uFAarB,CAAA;AAMD,eAAe,SAAS,CAAA"}
|
|
@@ -10,9 +10,6 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import React, { forwardRef, useContext } from 'react';
|
|
13
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
14
|
-
import { TableBody as MUITableBody } from '@material-ui/core';
|
|
15
|
-
import styles from './styles';
|
|
16
13
|
import { TableSectionContext, TableSection, TableContext } from '../Table';
|
|
17
14
|
const stripeRows = (children) => {
|
|
18
15
|
let stripeIndex = -1;
|
|
@@ -27,13 +24,11 @@ const stripeRows = (children) => {
|
|
|
27
24
|
return child;
|
|
28
25
|
});
|
|
29
26
|
};
|
|
30
|
-
const useStyles = makeStyles(styles, { name: 'PicassoTableBody' });
|
|
31
27
|
export const TableBody = forwardRef(function TableBody(props, ref) {
|
|
32
28
|
const { className, style, children } = props, rest = __rest(props, ["className", "style", "children"]);
|
|
33
|
-
const classes = useStyles();
|
|
34
29
|
const { variant } = useContext(TableContext);
|
|
35
30
|
return (React.createElement(TableSectionContext.Provider, { value: TableSection.BODY },
|
|
36
|
-
React.createElement(
|
|
31
|
+
React.createElement("tbody", Object.assign({}, rest, { ref: ref, className: className, style: style }), variant === 'striped' ? stripeRows(children) : children)));
|
|
37
32
|
});
|
|
38
33
|
TableBody.defaultProps = {};
|
|
39
34
|
TableBody.displayName = 'TableBody';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBody.js","sourceRoot":"","sources":["../../../src/TableBody/TableBody.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"TableBody.js","sourceRoot":"","sources":["../../../src/TableBody/TableBody.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGrD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAS1E,MAAM,UAAU,GAAG,CAAC,QAAyB,EAAE,EAAE;IAC/C,IAAI,WAAW,GAAG,CAAC,CAAC,CAAA;IAEpB,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;QAC1C,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YAChC,OAAO,KAAK,CAAA;SACb;QAED,WAAW,EAAE,CAAA;QACb,IAAI,WAAW,GAAG,CAAC,KAAK,CAAC,EAAE;YACzB,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAQ,CAAC,CAAA;SAC7D;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,SAAS,SAAS,CAAC,KAAK,EAAE,GAAG;IAC3B,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA/C,kCAAuC,CAAQ,CAAA;IACrD,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;IAE5C,OAAO,CACL,oBAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,CAAC,IAAI;QACpD,+CAAW,IAAI,IAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,KAC1D,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAClD,CACqB,CAChC,CAAA;AACH,CAAC,CACF,CAAA;AAED,SAAS,CAAC,YAAY,GAAG,EAAE,CAAA;AAE3B,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;AAEnC,eAAe,SAAS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableCell.d.ts","sourceRoot":"","sources":["../../../src/TableCell/TableCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,KAAiC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"TableCell.d.ts","sourceRoot":"","sources":["../../../src/TableCell/TableCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,KAAiC,MAAM,OAAO,CAAA;AACrD,OAAO,KAAK,EACV,SAAS,EAGT,cAAc,EACf,MAAM,wBAAwB,CAAA;AAO/B,aAAK,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAA;AAEpE,MAAM,WAAW,KACf,SAAQ,SAAS,EACf,cAAc,EACd,cAAc,CAAC,oBAAoB,CAAC;IACtC,mDAAmD;IACnD,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAgCD,eAAO,MAAM,SAAS,oFA+DrB,CAAA;AAQD,eAAe,SAAS,CAAA"}
|
|
@@ -10,15 +10,10 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import React, { forwardRef, useContext } from 'react';
|
|
13
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
14
|
-
import { TableCell as MUITableCell } from '@material-ui/core';
|
|
15
13
|
import { useTitleCase } from '@toptal/picasso-shared';
|
|
16
|
-
import cx from 'classnames';
|
|
17
|
-
import { toTitleCase } from '@toptal/picasso-utils';
|
|
18
14
|
import { Typography } from '@toptal/picasso-typography';
|
|
19
|
-
import
|
|
15
|
+
import { twMerge } from '@toptal/picasso-tailwind-merge';
|
|
20
16
|
import { TableContext, TableSectionContext, TableSection } from '../Table';
|
|
21
|
-
const useStyles = makeStyles(styles, { name: 'PicassoTableCell' });
|
|
22
17
|
const getTypographySettings = (tableSection) => {
|
|
23
18
|
switch (tableSection) {
|
|
24
19
|
case TableSection.HEAD:
|
|
@@ -43,17 +38,18 @@ const getTypographySettings = (tableSection) => {
|
|
|
43
38
|
};
|
|
44
39
|
export const TableCell = forwardRef(function TableCell(props, ref) {
|
|
45
40
|
const { align, className, style, children, colSpan, rowSpan, titleCase: propsTitleCase, adornment } = props, rest = __rest(props, ["align", "className", "style", "children", "colSpan", "rowSpan", "titleCase", "adornment"]);
|
|
46
|
-
const _a = useStyles(), { compact: compactClass, narrow: narrowClass } = _a, muiClasses = __rest(_a, ["compact", "narrow"]);
|
|
47
41
|
const { spacing } = useContext(TableContext);
|
|
48
42
|
const tableSection = useContext(TableSectionContext);
|
|
49
43
|
const isHead = tableSection === TableSection.HEAD;
|
|
50
44
|
const titleCase = useTitleCase(propsTitleCase);
|
|
51
|
-
const
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
45
|
+
const tooltipWithChildren = (React.createElement(Typography, Object.assign({ align: align, as: 'div', titleCase: isHead && titleCase }, getTypographySettings(tableSection)), children));
|
|
46
|
+
const Component = isHead ? 'th' : 'td';
|
|
47
|
+
const spacingClasses = {
|
|
48
|
+
narrow: '',
|
|
49
|
+
regular: 'px-4',
|
|
50
|
+
compact: 'h-6 py-[1px] last:pr-3',
|
|
51
|
+
};
|
|
52
|
+
return (React.createElement(Component, Object.assign({}, rest, { ref: ref, className: twMerge('h-10 px-2 py-2 border-none last:pr-6', spacingClasses[spacing], isHead && 'text-left', className), style: style, colSpan: colSpan, rowSpan: rowSpan }), adornment ? (React.createElement("div", { className: 'flex items-center' },
|
|
57
53
|
tooltipWithChildren,
|
|
58
54
|
adornment)) : (tooltipWithChildren)));
|
|
59
55
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableCell.js","sourceRoot":"","sources":["../../../src/TableCell/TableCell.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"TableCell.js","sourceRoot":"","sources":["../../../src/TableCell/TableCell.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAOrD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAExD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAsB1E,MAAM,qBAAqB,GAAG,CAC5B,YAAsC,EAClB,EAAE;IACtB,QAAQ,YAAY,EAAE;QACpB,KAAK,YAAY,CAAC,IAAI;YACpB,OAAO;gBACL,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,UAAU;aACnB,CAAA;QACH,KAAK,YAAY,CAAC,MAAM;YACtB,OAAO;gBACL,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,UAAU;aACnB,CAAA;QACH;YACE,OAAO;gBACL,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,SAAS;aAClB,CAAA;KACJ;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,SAAS,SAAS,CAAC,KAAK,EAAE,GAAG;IAC3B,MAAM,EACJ,KAAK,EACL,SAAS,EACT,KAAK,EACL,QAAQ,EACR,OAAO,EACP,OAAO,EACP,SAAS,EAAE,cAAc,EACzB,SAAS,KAEP,KAAK,EADJ,IAAI,UACL,KAAK,EAVH,2FAUL,CAAQ,CAAA;IAET,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;IAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAA;IACpD,MAAM,MAAM,GAAG,YAAY,KAAK,YAAY,CAAC,IAAI,CAAA;IACjD,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;IAE9C,MAAM,mBAAmB,GAAG,CAC1B,oBAAC,UAAU,kBACT,KAAK,EAAE,KAAK,EACZ,EAAE,EAAC,KAAK,EACR,SAAS,EAAE,MAAM,IAAI,SAAS,IAC1B,qBAAqB,CAAC,YAAY,CAAC,GAEtC,QAAQ,CACE,CACd,CAAA;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAEtC,MAAM,cAAc,GAAG;QACrB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,wBAAwB;KAClC,CAAA;IAED,OAAO,CACL,oBAAC,SAAS,oBACJ,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,OAAO,CAChB,sCAAsC,EACtC,cAAc,CAAC,OAAO,CAAC,EACvB,MAAM,IAAI,WAAW,EACrB,SAAS,CACV,EACD,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,KAEf,SAAS,CAAC,CAAC,CAAC,CACX,6BAAK,SAAS,EAAC,mBAAmB;QAC/B,mBAAmB;QACnB,SAAS,CACN,CACP,CAAC,CAAC,CAAC,CACF,mBAAmB,CACpB,CACS,CACb,CAAA;AACH,CAAC,CACF,CAAA;AAED,SAAS,CAAC,YAAY,GAAG;IACvB,KAAK,EAAE,SAAS;CACjB,CAAA;AAED,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;AAEnC,eAAe,SAAS,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactNode, HTMLAttributes } from 'react';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import type
|
|
3
|
+
import { type BaseProps } from '@toptal/picasso-shared';
|
|
4
4
|
export interface Props extends BaseProps, HTMLAttributes<HTMLTableRowElement> {
|
|
5
5
|
/** Should be valid `<tr>` children such as `Table.Cell`. */
|
|
6
6
|
children: ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableExpandableRow.d.ts","sourceRoot":"","sources":["../../../src/TableExpandableRow/TableExpandableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,KAAwC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"TableExpandableRow.d.ts","sourceRoot":"","sources":["../../../src/TableExpandableRow/TableExpandableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,KAAwC,MAAM,OAAO,CAAA;AAE5D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAQvD,MAAM,WAAW,KAAM,SAAQ,SAAS,EAAE,cAAc,CAAC,mBAAmB,CAAC;IAC3E,4DAA4D;IAC5D,QAAQ,EAAE,SAAS,CAAA;IACnB,kDAAkD;IAClD,OAAO,EAAE,SAAS,CAAA;IAClB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,sFAAsF;IACtF,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,kBAAkB,mFAuD9B,CAAA;AASD,eAAe,kBAAkB,CAAA"}
|
|
@@ -10,19 +10,13 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import React, { forwardRef, useRef, useEffect } from 'react';
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
15
|
-
import { Collapse as MUICollapse } from '@material-ui/core';
|
|
13
|
+
import { Collapse } from '@toptal/picasso-collapse';
|
|
14
|
+
import { twJoin } from '@toptal/picasso-tailwind-merge';
|
|
16
15
|
import { TableRow } from '../TableRow';
|
|
17
16
|
import { TableCell } from '../TableCell';
|
|
18
|
-
import styles from './styles';
|
|
19
17
|
const MAX_COL_SPAN = 100;
|
|
20
|
-
const useStyles = makeStyles(styles, {
|
|
21
|
-
name: 'PicassoTableExpandableRow',
|
|
22
|
-
});
|
|
23
18
|
export const TableExpandableRow = forwardRef(function TableExpandableRow(props, ref) {
|
|
24
19
|
const { children, content, expanded, defaultExpanded, stripeEven, className, style } = props, rest = __rest(props, ["children", "content", "expanded", "defaultExpanded", "stripeEven", "className", "style"]);
|
|
25
|
-
const classes = useStyles();
|
|
26
20
|
const wasExpandedOnce = useRef(false);
|
|
27
21
|
const shouldTransition = !defaultExpanded || wasExpandedOnce.current;
|
|
28
22
|
useEffect(() => {
|
|
@@ -33,11 +27,9 @@ export const TableExpandableRow = forwardRef(function TableExpandableRow(props,
|
|
|
33
27
|
const row = (React.createElement(TableRow, Object.assign({}, rest, { ref: ref, className: className, style: style, stripeEven: stripeEven }), children));
|
|
34
28
|
return (React.createElement(React.Fragment, null,
|
|
35
29
|
row,
|
|
36
|
-
expanded && (React.createElement(TableRow, { className:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
React.createElement(TableCell, { className: classes.noPadding, colSpan: MAX_COL_SPAN },
|
|
40
|
-
React.createElement(MUICollapse, { appear: shouldTransition, in: true }, content))))));
|
|
30
|
+
expanded && (React.createElement(TableRow, { className: twJoin(className, stripeEven && 'bg-gray-200 bg-opacity-[32]'), style: style },
|
|
31
|
+
React.createElement(TableCell, { className: 'p-0 last:pr-0', colSpan: MAX_COL_SPAN },
|
|
32
|
+
React.createElement(Collapse, { appear: shouldTransition, in: true }, content))))));
|
|
41
33
|
});
|
|
42
34
|
TableExpandableRow.defaultProps = {
|
|
43
35
|
expanded: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableExpandableRow.js","sourceRoot":"","sources":["../../../src/TableExpandableRow/TableExpandableRow.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TableExpandableRow.js","sourceRoot":"","sources":["../../../src/TableExpandableRow/TableExpandableRow.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,YAAY,GAAG,GAAG,CAAA;AAexB,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAC1C,SAAS,kBAAkB,CAAC,KAAK,EAAE,GAAG;IACpC,MAAM,EACJ,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,eAAe,EACf,UAAU,EACV,SAAS,EACT,KAAK,KAEH,KAAK,EADJ,IAAI,UACL,KAAK,EATH,0FASL,CAAQ,CAAA;IAET,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACrC,MAAM,gBAAgB,GAAG,CAAC,eAAe,IAAI,eAAe,CAAC,OAAO,CAAA;IAEpE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,QAAQ,EAAE;YACxC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAA;SAC/B;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,GAAG,GAAG,CACV,oBAAC,QAAQ,oBACH,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,KAErB,QAAQ,CACA,CACZ,CAAA;IAED,OAAO,CACL;QACG,GAAG;QACH,QAAQ,IAAI,CACX,oBAAC,QAAQ,IACP,SAAS,EAAE,MAAM,CACf,SAAS,EACT,UAAU,IAAI,6BAA6B,CAC5C,EACD,KAAK,EAAE,KAAK;YAEZ,oBAAC,SAAS,IAAC,SAAS,EAAC,eAAe,EAAC,OAAO,EAAE,YAAY;gBACxD,oBAAC,QAAQ,IAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,UACnC,OAAO,CACC,CACD,CACH,CACZ,CACA,CACJ,CAAA;AACH,CAAC,CACF,CAAA;AAED,kBAAkB,CAAC,YAAY,GAAG;IAChC,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;CAClB,CAAA;AAED,kBAAkB,CAAC,WAAW,GAAG,oBAAoB,CAAA;AAErD,eAAe,kBAAkB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableFooter.d.ts","sourceRoot":"","sources":["../../../src/TableFooter/TableFooter.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TableFooter.d.ts","sourceRoot":"","sources":["../../../src/TableFooter/TableFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,KAAqB,MAAM,OAAO,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAKvD,MAAM,WAAW,KACf,SAAQ,SAAS,EACf,cAAc,CAAC,uBAAuB,CAAC;IACzC,uCAAuC;IACvC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,WAAW,uFAoBvB,CAAA;AAMD,eAAe,WAAW,CAAA"}
|
|
@@ -9,19 +9,13 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
9
9
|
}
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
13
|
-
import { TableFooter as MUITableFooter } from '@material-ui/core';
|
|
14
12
|
import React, { forwardRef } from 'react';
|
|
15
|
-
import
|
|
13
|
+
import { twMerge } from '@toptal/picasso-tailwind-merge';
|
|
16
14
|
import { TableSection, TableSectionContext } from '../Table';
|
|
17
|
-
const useStyles = makeStyles(styles, {
|
|
18
|
-
name: 'PicassoTableFooter',
|
|
19
|
-
});
|
|
20
15
|
export const TableFooter = forwardRef(function TableFooter(props, ref) {
|
|
21
16
|
const { className, style, children } = props, rest = __rest(props, ["className", "style", "children"]);
|
|
22
|
-
const classes = useStyles();
|
|
23
17
|
return (React.createElement(TableSectionContext.Provider, { value: TableSection.FOOTER },
|
|
24
|
-
React.createElement(
|
|
18
|
+
React.createElement("tfoot", Object.assign({}, rest, { ref: ref, className: twMerge('border-0 border-solid border-t border-gray-200', className), style: style }), children)));
|
|
25
19
|
});
|
|
26
20
|
TableFooter.defaultProps = {};
|
|
27
21
|
TableFooter.displayName = 'TableFooter';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableFooter.js","sourceRoot":"","sources":["../../../src/TableFooter/TableFooter.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"TableFooter.js","sourceRoot":"","sources":["../../../src/TableFooter/TableFooter.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAExD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAS5D,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CACnC,SAAS,WAAW,CAAC,KAAK,EAAE,GAAG;IAC7B,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA/C,kCAAuC,CAAQ,CAAA;IAErD,OAAO,CACL,oBAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,CAAC,MAAM;QACtD,+CACM,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,OAAO,CAChB,gDAAgD,EAChD,SAAS,CACV,EACD,KAAK,EAAE,KAAK,KAEX,QAAQ,CACH,CACqB,CAChC,CAAA;AACH,CAAC,CACF,CAAA;AAED,WAAW,CAAC,YAAY,GAAG,EAAE,CAAA;AAE7B,WAAW,CAAC,WAAW,GAAG,aAAa,CAAA;AAEvC,eAAe,WAAW,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHead.d.ts","sourceRoot":"","sources":["../../../src/TableHead/TableHead.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,KAAqB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"TableHead.d.ts","sourceRoot":"","sources":["../../../src/TableHead/TableHead.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,KAAqB,MAAM,OAAO,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAKvD,MAAM,WAAW,KACf,SAAQ,SAAS,EACf,cAAc,CAAC,uBAAuB,CAAC;IACzC,yDAAyD;IACzD,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,SAAS,uFAoBrB,CAAA;AAMD,eAAe,SAAS,CAAA"}
|
|
@@ -10,16 +10,12 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import React, { forwardRef } from 'react';
|
|
13
|
-
import {
|
|
14
|
-
import { TableHead as MUITableHead } from '@material-ui/core';
|
|
15
|
-
import styles from './styles';
|
|
13
|
+
import { twMerge } from '@toptal/picasso-tailwind-merge';
|
|
16
14
|
import { TableSectionContext, TableSection } from '../Table';
|
|
17
|
-
const useStyles = makeStyles(styles, { name: 'PicassoTableHead' });
|
|
18
15
|
export const TableHead = forwardRef(function TableHead(props, ref) {
|
|
19
16
|
const { className, style, children } = props, rest = __rest(props, ["className", "style", "children"]);
|
|
20
|
-
const classes = useStyles();
|
|
21
17
|
return (React.createElement(TableSectionContext.Provider, { value: TableSection.HEAD },
|
|
22
|
-
React.createElement(
|
|
18
|
+
React.createElement("thead", Object.assign({}, rest, { ref: ref, className: twMerge('border-0 border-solid border-b border-gray-200', className), style: style }), children)));
|
|
23
19
|
});
|
|
24
20
|
TableHead.defaultProps = {};
|
|
25
21
|
TableHead.displayName = 'TableHead';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHead.js","sourceRoot":"","sources":["../../../src/TableHead/TableHead.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TableHead.js","sourceRoot":"","sources":["../../../src/TableHead/TableHead.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAExD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAS5D,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,SAAS,SAAS,CAAC,KAAK,EAAE,GAAG;IAC3B,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA/C,kCAAuC,CAAQ,CAAA;IAErD,OAAO,CACL,oBAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,CAAC,IAAI;QACpD,+CACM,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,OAAO,CAChB,gDAAgD,EAChD,SAAS,CACV,EACD,KAAK,EAAE,KAAK,KAEX,QAAQ,CACH,CACqB,CAChC,CAAA;AACH,CAAC,CACF,CAAA;AAED,SAAS,CAAC,YAAY,GAAG,EAAE,CAAA;AAE3B,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;AAEnC,eAAe,SAAS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../../src/TableRow/TableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAClE,OAAO,KAAiC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../../src/TableRow/TableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAClE,OAAO,KAAiC,MAAM,OAAO,CAAA;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAKvD,MAAM,WAAW,KAAM,SAAQ,SAAS,EAAE,cAAc,CAAC,mBAAmB,CAAC;IAC3E,4DAA4D;IAC5D,QAAQ,EAAE,SAAS,CAAA;IACnB,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,qDAAqD;IACrD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAA;IAC1D,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,eAAO,MAAM,QAAQ,mFAkCpB,CAAA;AAUD,eAAe,QAAQ,CAAA"}
|
|
@@ -10,21 +10,13 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import React, { forwardRef, useContext } from 'react';
|
|
13
|
-
import
|
|
14
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
15
|
-
import { TableRow as MUITableRow } from '@material-ui/core';
|
|
16
|
-
import styles from './styles';
|
|
13
|
+
import { twMerge } from '@toptal/picasso-tailwind-merge';
|
|
17
14
|
import { TableContext } from '../Table';
|
|
18
|
-
const useStyles = makeStyles(styles, { name: 'PicassoTableRow' });
|
|
19
15
|
export const TableRow = forwardRef(function TableRow(props, ref) {
|
|
20
16
|
const { className, style, children, hover, selected, stripeEven, onClick } = props, rest = __rest(props, ["className", "style", "children", "hover", "selected", "stripeEven", "onClick"]);
|
|
21
|
-
const _a = useStyles(), { stripeEven: stripeEvenClass, bordered: borderedClass } = _a, muiClasses = __rest(_a, ["stripeEven", "bordered"]);
|
|
22
17
|
const { variant } = useContext(TableContext);
|
|
23
18
|
const isBordered = variant === 'bordered' || variant === 'striped';
|
|
24
|
-
return (React.createElement(
|
|
25
|
-
[stripeEvenClass]: stripeEven,
|
|
26
|
-
[borderedClass]: isBordered,
|
|
27
|
-
}), style: style, hover: hover, selected: selected, onClick: onClick }), children));
|
|
19
|
+
return (React.createElement("tr", Object.assign({}, rest, { ref: ref, className: twMerge(isBordered && 'border-0 border-solid border-b border-gray-200', stripeEven && 'bg-gray-100', hover && 'hover:bg-blue-100 transition-colors', selected && 'bg-blue-100', className), style: style, onClick: onClick }), children));
|
|
28
20
|
});
|
|
29
21
|
TableRow.defaultProps = {
|
|
30
22
|
hover: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../../../src/TableRow/TableRow.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../../../src/TableRow/TableRow.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAevC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAChC,SAAS,QAAQ,CAAC,KAAK,EAAE,GAAG;IAC1B,MAAM,EACJ,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,UAAU,EACV,OAAO,KAEL,KAAK,EADJ,IAAI,UACL,KAAK,EATH,gFASL,CAAQ,CAAA;IAET,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;IAC5C,MAAM,UAAU,GAAG,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,SAAS,CAAA;IAElE,OAAO,CACL,4CACM,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,OAAO,CAChB,UAAU,IAAI,gDAAgD,EAC9D,UAAU,IAAI,aAAa,EAC3B,KAAK,IAAI,qCAAqC,EAC9C,QAAQ,IAAI,aAAa,EACzB,SAAS,CACV,EACD,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,KAEf,QAAQ,CACN,CACN,CAAA;AACH,CAAC,CACF,CAAA;AAED,QAAQ,CAAC,YAAY,GAAG;IACtB,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;CAClB,CAAA;AAED,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAA;AAEjC,eAAe,QAAQ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableSectionHead.d.ts","sourceRoot":"","sources":["../../../src/TableSectionHead/TableSectionHead.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAE5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"TableSectionHead.d.ts","sourceRoot":"","sources":["../../../src/TableSectionHead/TableSectionHead.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAE5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AASvD,MAAM,WAAW,KACf,SAAQ,SAAS,EACf,cAAc,CAAC,uBAAuB,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB;AAED,eAAO,MAAM,gBAAgB,EAAE,iBAAiB,CAAC,KAAK,CAyBpD,CAAA;AAQF,eAAe,gBAAgB,CAAA"}
|
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
3
2
|
import { TableSection, TableSectionContext } from '../Table';
|
|
4
3
|
import { TableCell } from '../TableCell';
|
|
5
4
|
import { TableRow } from '../TableRow';
|
|
6
5
|
import { TableBody } from '../TableBody';
|
|
7
|
-
import styles from './styles';
|
|
8
6
|
const MAX_COL_SPAN = 100;
|
|
9
|
-
const useStyles = makeStyles(styles, {
|
|
10
|
-
name: 'PicassoTableSectionHead',
|
|
11
|
-
});
|
|
12
7
|
export const TableSectionHead = forwardRef(function TableSectionHead(props, ref) {
|
|
13
8
|
const { colSpan, icon, children, style } = props;
|
|
14
|
-
const classes = useStyles();
|
|
15
9
|
return (React.createElement(TableBody, { ref: ref },
|
|
16
|
-
React.createElement(TableRow, { className:
|
|
10
|
+
React.createElement(TableRow, { className: 'min-h-10 border-y border-solid border-gray-200', style: style },
|
|
17
11
|
React.createElement(TableSectionContext.Provider, { value: TableSection.HEAD },
|
|
18
12
|
React.createElement(TableCell, { colSpan: colSpan },
|
|
19
|
-
icon && React.createElement("span", { className:
|
|
13
|
+
icon && (React.createElement("span", { className: 'inline-block align-middle mr-3 -mt-[1px]' }, icon)),
|
|
20
14
|
children)))));
|
|
21
15
|
});
|
|
22
16
|
TableSectionHead.defaultProps = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableSectionHead.js","sourceRoot":"","sources":["../../../src/TableSectionHead/TableSectionHead.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TableSectionHead.js","sourceRoot":"","sources":["../../../src/TableSectionHead/TableSectionHead.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGzC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,YAAY,GAAG,GAAG,CAAA;AASxB,MAAM,CAAC,MAAM,gBAAgB,GAA6B,UAAU,CAGlE,SAAS,gBAAgB,CAAC,KAAK,EAAE,GAAG;IACpC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAEhD,OAAO,CACL,oBAAC,SAAS,IAAC,GAAG,EAAE,GAAG;QACjB,oBAAC,QAAQ,IACP,SAAS,EAAC,gDAAgD,EAC1D,KAAK,EAAE,KAAK;YAEZ,oBAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,CAAC,IAAI;gBACpD,oBAAC,SAAS,IAAC,OAAO,EAAE,OAAO;oBACxB,IAAI,IAAI,CACP,8BAAM,SAAS,EAAC,0CAA0C,IACvD,IAAI,CACA,CACR;oBACA,QAAQ,CACC,CACiB,CACtB,CACD,CACb,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,gBAAgB,CAAC,YAAY,GAAG;IAC9B,OAAO,EAAE,YAAY;CACtB,CAAA;AAED,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAA;AAEjD,eAAe,gBAAgB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toptal/picasso-table",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Toptal UI components library - Table",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -22,25 +22,27 @@
|
|
|
22
22
|
},
|
|
23
23
|
"homepage": "https://github.com/toptal/picasso/tree/master/packages/picasso#readme",
|
|
24
24
|
"dependencies": {
|
|
25
|
+
"@toptal/picasso-collapse": "2.0.0",
|
|
25
26
|
"@toptal/picasso-shared": "15.0.0",
|
|
26
|
-
"@toptal/picasso-typography": "
|
|
27
|
-
"@toptal/picasso-button": "
|
|
27
|
+
"@toptal/picasso-typography": "3.0.0",
|
|
28
|
+
"@toptal/picasso-button": "3.0.0",
|
|
28
29
|
"@toptal/picasso-icons": "1.5.0",
|
|
29
30
|
"@toptal/picasso-utils": "1.0.3",
|
|
30
|
-
"ap-style-title-case": "^1.1.2"
|
|
31
|
-
"classnames": "^2.5.1"
|
|
31
|
+
"ap-style-title-case": "^1.1.2"
|
|
32
32
|
},
|
|
33
33
|
"sideEffects": [
|
|
34
34
|
"**/styles.ts",
|
|
35
35
|
"**/styles.js"
|
|
36
36
|
],
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@material-ui/core": "4.12.4",
|
|
39
38
|
"@toptal/picasso-provider": "*",
|
|
40
|
-
"
|
|
39
|
+
"@toptal/picasso-tailwind-merge": "^1.0.1",
|
|
40
|
+
"react": ">=16.12.0 < 19.0.0",
|
|
41
|
+
"@toptal/picasso-tailwind": ">=2.5.0"
|
|
41
42
|
},
|
|
42
43
|
"devDependencies": {
|
|
43
|
-
"@toptal/picasso-provider": "
|
|
44
|
+
"@toptal/picasso-provider": "5.0.0",
|
|
45
|
+
"@toptal/picasso-tailwind-merge": "1.2.0",
|
|
44
46
|
"@toptal/picasso-test-utils": "1.1.1",
|
|
45
47
|
"styled-components": "^6.1.1"
|
|
46
48
|
},
|
package/src/Table/Table.tsx
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import type { ReactNode, TableHTMLAttributes } from 'react'
|
|
2
2
|
import React, { forwardRef, useMemo } from 'react'
|
|
3
|
-
import type { Theme } from '@material-ui/core/styles'
|
|
4
|
-
import { makeStyles } from '@material-ui/core/styles'
|
|
5
|
-
import { Table as MUITable } from '@material-ui/core'
|
|
6
3
|
import type { BaseProps } from '@toptal/picasso-shared'
|
|
4
|
+
import { twMerge } from '@toptal/picasso-tailwind-merge'
|
|
7
5
|
|
|
8
6
|
import TableContext from './TableContext'
|
|
9
|
-
import styles from './styles'
|
|
10
7
|
|
|
11
8
|
export interface Props
|
|
12
9
|
extends BaseProps,
|
|
@@ -19,10 +16,6 @@ export interface Props
|
|
|
19
16
|
variant?: 'clear' | 'bordered' | 'striped'
|
|
20
17
|
}
|
|
21
18
|
|
|
22
|
-
const useStyles = makeStyles<Theme>(styles, {
|
|
23
|
-
name: 'Table',
|
|
24
|
-
})
|
|
25
|
-
|
|
26
19
|
// eslint-disable-next-line react/display-name
|
|
27
20
|
export const Table = forwardRef<HTMLTableElement, Props>(function Table(
|
|
28
21
|
props,
|
|
@@ -36,21 +29,22 @@ export const Table = forwardRef<HTMLTableElement, Props>(function Table(
|
|
|
36
29
|
variant = 'bordered',
|
|
37
30
|
...rest
|
|
38
31
|
} = props
|
|
39
|
-
const classes = useStyles()
|
|
40
32
|
|
|
41
33
|
const tableConfig = useMemo(() => ({ spacing, variant }), [spacing, variant])
|
|
42
34
|
|
|
43
35
|
return (
|
|
44
36
|
<TableContext.Provider value={tableConfig}>
|
|
45
|
-
<
|
|
37
|
+
<table
|
|
46
38
|
{...rest}
|
|
47
39
|
ref={ref}
|
|
48
|
-
|
|
49
|
-
|
|
40
|
+
className={twMerge(
|
|
41
|
+
'w-full border-collapse border-spacing-0',
|
|
42
|
+
className
|
|
43
|
+
)}
|
|
50
44
|
style={style}
|
|
51
45
|
>
|
|
52
46
|
{children}
|
|
53
|
-
</
|
|
47
|
+
</table>
|
|
54
48
|
</TableContext.Provider>
|
|
55
49
|
)
|
|
56
50
|
})
|
|
@@ -6,37 +6,34 @@ exports[`Table renders 1`] = `
|
|
|
6
6
|
class="Picasso-root"
|
|
7
7
|
>
|
|
8
8
|
<table
|
|
9
|
-
class="
|
|
9
|
+
class="w-full border-collapse border-spacing"
|
|
10
10
|
>
|
|
11
11
|
<thead
|
|
12
|
-
class="
|
|
12
|
+
class="border-0 border-solid border-b border-gray"
|
|
13
13
|
>
|
|
14
14
|
<tr
|
|
15
|
-
class="
|
|
15
|
+
class="border-0 border-solid border-b border-gray"
|
|
16
16
|
>
|
|
17
17
|
<th
|
|
18
|
-
class="
|
|
19
|
-
scope="col"
|
|
18
|
+
class="h-10 py-2 border-none last:pr-6 px-4 text-left"
|
|
20
19
|
>
|
|
21
20
|
<div
|
|
22
|
-
class="m-0 text-xxs text-graphite font-semibold"
|
|
21
|
+
class="m-0 text-xxs text-graphite font-semibold text-align"
|
|
23
22
|
>
|
|
24
23
|
Table test
|
|
25
24
|
</div>
|
|
26
25
|
</th>
|
|
27
26
|
</tr>
|
|
28
27
|
</thead>
|
|
29
|
-
<tbody
|
|
30
|
-
class="MuiTableBody-root"
|
|
31
|
-
>
|
|
28
|
+
<tbody>
|
|
32
29
|
<tr
|
|
33
|
-
class="
|
|
30
|
+
class="border-0 border-solid border-b border-gray"
|
|
34
31
|
>
|
|
35
32
|
<td
|
|
36
|
-
class="
|
|
33
|
+
class="h-10 py-2 border-none last:pr-6 px-4"
|
|
37
34
|
>
|
|
38
35
|
<div
|
|
39
|
-
class="m-0 text-sm text-graphite font-inherit"
|
|
36
|
+
class="m-0 text-sm text-graphite font-inherit text-align"
|
|
40
37
|
>
|
|
41
38
|
Table test
|
|
42
39
|
</div>
|
|
@@ -44,16 +41,16 @@ exports[`Table renders 1`] = `
|
|
|
44
41
|
</tr>
|
|
45
42
|
</tbody>
|
|
46
43
|
<tfoot
|
|
47
|
-
class="
|
|
44
|
+
class="border-0 border-solid border-t border-gray"
|
|
48
45
|
>
|
|
49
46
|
<tr
|
|
50
|
-
class="
|
|
47
|
+
class="border-0 border-solid border-b border-gray"
|
|
51
48
|
>
|
|
52
49
|
<td
|
|
53
|
-
class="
|
|
50
|
+
class="h-10 py-2 border-none last:pr-6 px-4"
|
|
54
51
|
>
|
|
55
52
|
<div
|
|
56
|
-
class="m-0 text-sm text-black font-semibold"
|
|
53
|
+
class="m-0 text-sm text-black font-semibold text-align"
|
|
57
54
|
>
|
|
58
55
|
Table test
|
|
59
56
|
</div>
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import type { ReactNode, HTMLAttributes } from 'react'
|
|
2
2
|
import React, { forwardRef, useContext } from 'react'
|
|
3
|
-
import type { Theme } from '@material-ui/core/styles'
|
|
4
|
-
import { makeStyles } from '@material-ui/core/styles'
|
|
5
|
-
import { TableBody as MUITableBody } from '@material-ui/core'
|
|
6
3
|
import type { BaseProps } from '@toptal/picasso-shared'
|
|
7
4
|
|
|
8
|
-
import styles from './styles'
|
|
9
5
|
import { TableSectionContext, TableSection, TableContext } from '../Table'
|
|
10
6
|
|
|
11
7
|
export interface Props
|
|
@@ -32,25 +28,16 @@ const stripeRows = (children: React.ReactNode) => {
|
|
|
32
28
|
})
|
|
33
29
|
}
|
|
34
30
|
|
|
35
|
-
const useStyles = makeStyles<Theme>(styles, { name: 'PicassoTableBody' })
|
|
36
|
-
|
|
37
31
|
export const TableBody = forwardRef<HTMLTableSectionElement, Props>(
|
|
38
32
|
function TableBody(props, ref) {
|
|
39
33
|
const { className, style, children, ...rest } = props
|
|
40
|
-
const classes = useStyles()
|
|
41
34
|
const { variant } = useContext(TableContext)
|
|
42
35
|
|
|
43
36
|
return (
|
|
44
37
|
<TableSectionContext.Provider value={TableSection.BODY}>
|
|
45
|
-
<
|
|
46
|
-
{...rest}
|
|
47
|
-
ref={ref}
|
|
48
|
-
classes={classes}
|
|
49
|
-
className={className}
|
|
50
|
-
style={style}
|
|
51
|
-
>
|
|
38
|
+
<tbody {...rest} ref={ref} className={className} style={style}>
|
|
52
39
|
{variant === 'striped' ? stripeRows(children) : children}
|
|
53
|
-
</
|
|
40
|
+
</tbody>
|
|
54
41
|
</TableSectionContext.Provider>
|
|
55
42
|
)
|
|
56
43
|
}
|
|
@@ -6,19 +6,17 @@ exports[`TableCell renders 1`] = `
|
|
|
6
6
|
class="Picasso-root"
|
|
7
7
|
>
|
|
8
8
|
<table
|
|
9
|
-
class="
|
|
9
|
+
class="w-full border-collapse border-spacing"
|
|
10
10
|
>
|
|
11
|
-
<tbody
|
|
12
|
-
class="MuiTableBody-root"
|
|
13
|
-
>
|
|
11
|
+
<tbody>
|
|
14
12
|
<tr
|
|
15
|
-
class="
|
|
13
|
+
class="border-0 border-solid border-b border-gray"
|
|
16
14
|
>
|
|
17
15
|
<td
|
|
18
|
-
class="
|
|
16
|
+
class="h-10 py-2 border-none last:pr-6 px-4"
|
|
19
17
|
>
|
|
20
18
|
<div
|
|
21
|
-
class="m-0 text-sm text-graphite font-inherit"
|
|
19
|
+
class="m-0 text-sm text-graphite font-inherit text-align"
|
|
22
20
|
>
|
|
23
21
|
Body test
|
|
24
22
|
</div>
|