@xyo-network/react-shared 2.36.3 → 2.37.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,18 @@
1
1
  /// <reference types="react" />
2
2
  import { TableCellProps } from '@mui/material';
3
+ import { WithChildren } from '@xylabs/react-shared';
3
4
  import { To } from 'react-router-dom';
4
5
  export interface EllipsisTableCellProps extends TableCellProps {
6
+ /**
7
+ * Width of the table cell.
8
+ *
9
+ * Note: When using percentages, this value can be different than what you expect
10
+ * if used on a cell that is not the first cell in the first row.
11
+ */
12
+ width?: string | number;
13
+ href?: string;
14
+ to?: To;
5
15
  value?: string;
6
- to?: To | undefined;
7
- href?: string | undefined;
8
16
  }
9
- export declare const EllipsisTableCell: React.FC<EllipsisTableCellProps>;
17
+ export declare const EllipsisTableCell: React.FC<WithChildren<EllipsisTableCellProps>>;
10
18
  //# sourceMappingURL=EllipsisTableCell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EllipsisTableCell.d.ts","sourceRoot":"","sources":["../../../../src/components/TableCell/EllipsisTableCell.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,cAAc,EAAE,MAAM,eAAe,CAAA;AAGzD,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAOrC,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,EAAE,CAAC,EAAE,EAAE,GAAG,SAAS,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAmF9D,CAAA"}
1
+ {"version":3,"file":"EllipsisTableCell.d.ts","sourceRoot":"","sources":["../../../../src/components/TableCell/EllipsisTableCell.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAqB,cAAc,EAAE,MAAM,eAAe,CAAA;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AA8CrC,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,EAAE,CAAA;IACP,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAkB5E,CAAA"}
@@ -5,64 +5,48 @@ const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const material_1 = require("@mui/material");
7
7
  const react_link_1 = require("@xylabs/react-link");
8
- const react_1 = require("react");
9
- const lib_1 = require("../../lib");
10
- const findParent_1 = require("./findParent");
11
- const getRemainingRowWidth_1 = require("./getRemainingRowWidth");
12
- const getSmallestParentWidth_1 = require("./getSmallestParentWidth");
8
+ /**
9
+ * Heavily inspired by - https://stackoverflow.com/a/30362531/2803259
10
+ */
11
+ const ComponentName = 'EllipsisTableCell';
12
+ const EllipsisTableCellRoot = (0, material_1.styled)(material_1.TableCell, {
13
+ name: ComponentName,
14
+ shouldForwardProp: (prop) => prop !== 'width',
15
+ slot: 'Root',
16
+ })(({ width = '100%' }) => ({
17
+ '&': {
18
+ // because the cell content ends up absolutely positioned, the cell doesn't know the content height.
19
+ // the pseudo element with a hidden character establishes the proper height of the content and hides it
20
+ ':before': {
21
+ content: "'nbsp;'",
22
+ display: 'block',
23
+ // take the pseudo element out of the `display: block` flow so it won't push against our actual content
24
+ float: 'left',
25
+ visibility: 'hidden',
26
+ },
27
+ width,
28
+ },
29
+ }));
30
+ const EllipsisTableCellInnerWrap = (0, material_1.styled)('div', {
31
+ name: ComponentName,
32
+ slot: 'innerWrap',
33
+ })(() => ({
34
+ position: 'relative',
35
+ }));
36
+ const EllipsisTableCellContentWrap = (0, material_1.styled)('span', {
37
+ name: ComponentName,
38
+ slot: 'contentWrap',
39
+ })(() => ({
40
+ left: 0,
41
+ overflow: 'hidden',
42
+ position: 'absolute',
43
+ right: 0,
44
+ textOverflow: 'ellipsis',
45
+ whiteSpace: 'nowrap',
46
+ }));
13
47
  const EllipsisTableCell = (_a) => {
14
- var { children, value, to, href } = _a, props = tslib_1.__rest(_a, ["children", "value", "to", "href"]);
15
- const [calcCellWidth, setCalcCellWidth] = (0, react_1.useState)(0);
16
- const hashDivRef = (0, react_1.useRef)(null);
17
- (0, react_1.useEffect)(() => {
18
- var _a;
19
- const currentElement = (_a = hashDivRef.current) === null || _a === void 0 ? void 0 : _a.parentElement;
20
- const cell = (0, findParent_1.findParent)('td', currentElement);
21
- const row = (0, findParent_1.findParent)('tr', currentElement);
22
- const checkWidth = (cell) => {
23
- const smallestParentWidth = (0, getSmallestParentWidth_1.getSmallestParentWidth)(cell);
24
- if (smallestParentWidth && row) {
25
- const remainingWidth = (0, getRemainingRowWidth_1.getRemainingRowWidth)(row);
26
- const actualPaddingX = (0, lib_1.getActualPaddingX)(cell);
27
- const remainderWidth = smallestParentWidth - remainingWidth - actualPaddingX;
28
- cell.style.width = `${remainderWidth}`;
29
- setCalcCellWidth(remainderWidth);
30
- }
31
- };
32
- const onResize = () => {
33
- if (cell) {
34
- checkWidth(cell);
35
- }
36
- };
37
- if (cell) {
38
- checkWidth(cell);
39
- window.addEventListener('resize', onResize);
40
- row === null || row === void 0 ? void 0 : row.addEventListener('resize', onResize);
41
- }
42
- return () => {
43
- window.removeEventListener('resize', onResize);
44
- row === null || row === void 0 ? void 0 : row.removeEventListener('resize', onResize);
45
- };
46
- }, [hashDivRef]);
47
- return ((0, jsx_runtime_1.jsx)(material_1.TableCell, Object.assign({}, props, { children: (0, jsx_runtime_1.jsx)("div", Object.assign({ ref: hashDivRef }, { children: children ? ((0, jsx_runtime_1.jsx)("span", Object.assign({ style: {
48
- display: 'block',
49
- maxWidth: calcCellWidth,
50
- overflow: 'hidden',
51
- textOverflow: 'ellipsis',
52
- whiteSpace: 'nowrap',
53
- } }, { children: children }))) : href || to ? ((0, jsx_runtime_1.jsx)(react_link_1.LinkEx, Object.assign({ style: {
54
- display: 'block',
55
- maxWidth: calcCellWidth,
56
- overflow: 'hidden',
57
- textOverflow: 'ellipsis',
58
- whiteSpace: 'nowrap',
59
- }, to: to, href: href, target: href ? '_blank' : undefined }, { children: value }))) : ((0, jsx_runtime_1.jsx)("span", Object.assign({ style: {
60
- display: 'block',
61
- maxWidth: calcCellWidth,
62
- overflow: 'hidden',
63
- textOverflow: 'ellipsis',
64
- whiteSpace: 'nowrap',
65
- } }, { children: value }))) })) })));
48
+ var { children, href, to, value } = _a, props = tslib_1.__rest(_a, ["children", "href", "to", "value"]);
49
+ return ((0, jsx_runtime_1.jsx)(EllipsisTableCellRoot, Object.assign({}, props, { children: (0, jsx_runtime_1.jsx)(EllipsisTableCellInnerWrap, { children: (0, jsx_runtime_1.jsx)(EllipsisTableCellContentWrap, { children: children ? (children) : href || to ? ((0, jsx_runtime_1.jsx)(react_link_1.LinkEx, Object.assign({ to: to, href: href, target: href ? '_blank' : undefined }, { children: value }))) : (value) }) }) })));
66
50
  };
67
51
  exports.EllipsisTableCell = EllipsisTableCell;
68
52
  //# sourceMappingURL=EllipsisTableCell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EllipsisTableCell.js","sourceRoot":"","sources":["../../../../src/components/TableCell/EllipsisTableCell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EllipsisTableCell.js","sourceRoot":"","sources":["../../../../src/components/TableCell/EllipsisTableCell.tsx"],"names":[],"mappings":";;;;;AAAA,4CAAiE;AACjE,mDAA2C;AAI3C;;GAEG;AAEH,MAAM,aAAa,GAAG,mBAAmB,CAAA;AAEzC,MAAM,qBAAqB,GAAG,IAAA,iBAAM,EAAC,oBAAS,EAAE;IAC9C,IAAI,EAAE,aAAa;IACnB,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO;IAC7C,IAAI,EAAE,MAAM;CACb,CAAC,CAAyB,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAClD,GAAG,EAAE;QACH,oGAAoG;QACpG,uGAAuG;QACvG,SAAS,EAAE;YACT,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,OAAO;YAChB,uGAAuG;YACvG,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,QAAQ;SACrB;QACD,KAAK;KACN;CACF,CAAC,CAAC,CAAA;AAEH,MAAM,0BAA0B,GAAG,IAAA,iBAAM,EAAC,KAAK,EAAE;IAC/C,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,WAAW;CAClB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,UAAU;CACrB,CAAC,CAAC,CAAA;AAEH,MAAM,4BAA4B,GAAG,IAAA,iBAAM,EAAC,MAAM,EAAE;IAClD,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;CACpB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,UAAU;IACxB,UAAU,EAAE,QAAQ;CACrB,CAAC,CAAC,CAAA;AAeI,MAAM,iBAAiB,GAAmD,CAAC,EAAuC,EAAE,EAAE;QAA3C,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,OAAY,EAAP,KAAK,sBAArC,mCAAuC,CAAF;IACrH,OAAO,CACL,uBAAC,qBAAqB,oBAAK,KAAK,cAC9B,uBAAC,0BAA0B,cACzB,uBAAC,4BAA4B,cAC1B,QAAQ,CAAC,CAAC,CAAC,CACV,QAAQ,CACT,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CACf,uBAAC,mBAAM,kBAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,gBAC5D,KAAK,IACC,CACV,CAAC,CAAC,CAAC,CACF,KAAK,CACN,GAC4B,GACJ,IACP,CACzB,CAAA;AACH,CAAC,CAAA;AAlBY,QAAA,iBAAiB,qBAkB7B"}
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { TableCellProps } from '@mui/material';
3
+ import { To } from 'react-router-dom';
4
+ export interface EllipsisTableCellProps extends TableCellProps {
5
+ value?: string;
6
+ to?: To | undefined;
7
+ href?: string | undefined;
8
+ forCell?: number;
9
+ }
10
+ /** @deprecated - use new EllipsisTableCell */
11
+ export declare const EllipsisTableCellDeprecated: React.FC<EllipsisTableCellProps>;
12
+ //# sourceMappingURL=EllipsisTableCellDeprecated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EllipsisTableCellDeprecated.d.ts","sourceRoot":"","sources":["../../../../src/components/TableCell/EllipsisTableCellDeprecated.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,cAAc,EAAY,MAAM,eAAe,CAAA;AAGnE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAOrC,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,EAAE,CAAC,EAAE,EAAE,GAAG,SAAS,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,8CAA8C;AAC9C,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAuFxE,CAAA"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EllipsisTableCellDeprecated = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const material_1 = require("@mui/material");
7
+ const react_link_1 = require("@xylabs/react-link");
8
+ const react_1 = require("react");
9
+ const lib_1 = require("../../lib");
10
+ const findParent_1 = require("./findParent");
11
+ const getRemainingRowWidth_1 = require("./getRemainingRowWidth");
12
+ const getSmallestParentWidth_1 = require("./getSmallestParentWidth");
13
+ /** @deprecated - use new EllipsisTableCell */
14
+ const EllipsisTableCellDeprecated = (_a) => {
15
+ var { children, value, to, forCell, href } = _a, props = tslib_1.__rest(_a, ["children", "value", "to", "forCell", "href"]);
16
+ const [calcCellWidth, setCalcCellWidth] = (0, react_1.useState)(0);
17
+ const hashDivRef = (0, react_1.useRef)(null);
18
+ const theme = (0, material_1.useTheme)();
19
+ (0, react_1.useEffect)(() => {
20
+ var _a;
21
+ const currentElement = (_a = hashDivRef.current) === null || _a === void 0 ? void 0 : _a.parentElement;
22
+ const cell = (0, findParent_1.findParent)('td', currentElement);
23
+ const row = (0, findParent_1.findParent)('tr', currentElement);
24
+ const checkWidth = (cell) => {
25
+ const smallestParentWidth = (0, getSmallestParentWidth_1.getSmallestParentWidth)(cell);
26
+ if (smallestParentWidth && row) {
27
+ const remainingWidth = (0, getRemainingRowWidth_1.getRemainingRowWidth)(row, forCell);
28
+ const actualPaddingX = (0, lib_1.getActualPaddingX)(cell);
29
+ const remainderWidth = smallestParentWidth - remainingWidth - actualPaddingX;
30
+ cell.style.width = `${remainderWidth}`;
31
+ setCalcCellWidth(remainderWidth);
32
+ }
33
+ };
34
+ const onResize = () => {
35
+ if (cell) {
36
+ checkWidth(cell);
37
+ }
38
+ };
39
+ if (cell) {
40
+ checkWidth(cell);
41
+ window.addEventListener('resize', onResize);
42
+ row === null || row === void 0 ? void 0 : row.addEventListener('resize', onResize);
43
+ }
44
+ return () => {
45
+ window.removeEventListener('resize', onResize);
46
+ row === null || row === void 0 ? void 0 : row.removeEventListener('resize', onResize);
47
+ };
48
+ }, [forCell, hashDivRef]);
49
+ return ((0, jsx_runtime_1.jsx)(material_1.TableCell, Object.assign({}, props, { children: (0, jsx_runtime_1.jsx)("div", Object.assign({ ref: hashDivRef }, { children: children ? ((0, jsx_runtime_1.jsx)("span", Object.assign({ style: {
50
+ display: 'block',
51
+ maxWidth: calcCellWidth,
52
+ minWidth: theme.spacing(10),
53
+ overflow: 'hidden',
54
+ textOverflow: 'ellipsis',
55
+ whiteSpace: 'nowrap',
56
+ } }, { children: children }))) : href || to ? ((0, jsx_runtime_1.jsx)(react_link_1.LinkEx, Object.assign({ style: {
57
+ display: 'block',
58
+ maxWidth: calcCellWidth,
59
+ minWidth: theme.spacing(10),
60
+ overflow: 'hidden',
61
+ textOverflow: 'ellipsis',
62
+ whiteSpace: 'nowrap',
63
+ }, to: to, href: href, target: href ? '_blank' : undefined }, { children: value }))) : ((0, jsx_runtime_1.jsx)("span", Object.assign({ style: {
64
+ display: 'block',
65
+ maxWidth: calcCellWidth,
66
+ minWidth: theme.spacing(10),
67
+ overflow: 'hidden',
68
+ textOverflow: 'ellipsis',
69
+ whiteSpace: 'nowrap',
70
+ } }, { children: value }))) })) })));
71
+ };
72
+ exports.EllipsisTableCellDeprecated = EllipsisTableCellDeprecated;
73
+ //# sourceMappingURL=EllipsisTableCellDeprecated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EllipsisTableCellDeprecated.js","sourceRoot":"","sources":["../../../../src/components/TableCell/EllipsisTableCellDeprecated.tsx"],"names":[],"mappings":"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"}