@xyo-network/react-shared 2.37.6 → 2.37.8
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/cjs/components/Ellipsize.d.ts +10 -3
- package/dist/cjs/components/Ellipsize.d.ts.map +1 -1
- package/dist/cjs/components/Ellipsize.js +22 -13
- package/dist/cjs/components/Ellipsize.js.map +1 -1
- package/dist/cjs/components/TableCell/EllipsisTableCell.js +1 -1
- package/dist/cjs/components/TableCell/EllipsisTableCell.js.map +1 -1
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.d.ts.map +1 -1
- package/dist/cjs/components/index.js +1 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/docs.json +19900 -1398
- package/dist/esm/components/Ellipsize.d.ts +10 -3
- package/dist/esm/components/Ellipsize.d.ts.map +1 -1
- package/dist/esm/components/Ellipsize.js +20 -5
- package/dist/esm/components/Ellipsize.js.map +1 -1
- package/dist/esm/components/TableCell/EllipsisTableCell.js +2 -2
- package/dist/esm/components/TableCell/EllipsisTableCell.js.map +1 -1
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Ellipsize.tsx +41 -7
- package/src/components/TableCell/EllipsisTableCell.tsx +3 -3
- package/src/components/index.ts +1 -0
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
import { BoxProps } from '@mui/material';
|
|
1
|
+
import { BoxProps, TypographyProps } from '@mui/material';
|
|
3
2
|
import { WithChildren } from '@xylabs/react-shared';
|
|
4
|
-
|
|
3
|
+
import React, { ElementType } from 'react';
|
|
4
|
+
interface TypographyWithComponentProps<Comp extends ElementType = ElementType> extends TypographyProps {
|
|
5
|
+
component?: Comp;
|
|
6
|
+
}
|
|
7
|
+
export interface EllipsizeBoxProps extends BoxProps {
|
|
8
|
+
typographyProps?: TypographyWithComponentProps;
|
|
9
|
+
}
|
|
10
|
+
export declare const EllipsizeBox: React.FC<WithChildren<EllipsizeBoxProps>>;
|
|
11
|
+
export {};
|
|
5
12
|
//# sourceMappingURL=Ellipsize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ellipsize.d.ts","sourceRoot":"","sources":["../../../src/components/Ellipsize.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Ellipsize.d.ts","sourceRoot":"","sources":["../../../src/components/Ellipsize.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,QAAQ,EAAsB,eAAe,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,EAAE,WAAW,EAAyB,MAAM,OAAO,CAAA;AAiEjE,UAAU,4BAA4B,CAAC,IAAI,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,eAAe;IACpG,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,eAAe,CAAC,EAAE,4BAA4B,CAAA;CAC/C;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAalE,CAAA"}
|
|
@@ -1,27 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.EllipsizeBox = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const material_1 = require("@mui/material");
|
|
7
|
+
const react_1 = require("react");
|
|
7
8
|
/**
|
|
8
9
|
* Heavily inspired by - https://stackoverflow.com/a/30362531/2803259
|
|
9
10
|
*/
|
|
10
11
|
const ComponentName = 'Ellipsize';
|
|
11
12
|
const EllipsizeRoot = (0, material_1.styled)(material_1.Box, {
|
|
12
13
|
name: ComponentName,
|
|
14
|
+
shouldForwardProp: (prop) => prop !== 'beforeLineHeight',
|
|
13
15
|
slot: 'Root',
|
|
14
|
-
})(() => ({
|
|
16
|
+
})(({ beforeLineHeight }) => ({
|
|
15
17
|
'&': {
|
|
16
18
|
// because the cell content ends up absolutely positioned, the cell doesn't know the content height.
|
|
17
19
|
// the pseudo element with a hidden character establishes the proper height of the content and hides it
|
|
18
|
-
':before': {
|
|
19
|
-
content: "'nbsp;'",
|
|
20
|
-
display: 'block',
|
|
20
|
+
':before': Object.assign({ content: "'nbsp;'", display: 'block',
|
|
21
21
|
// take the pseudo element out of the `display: block` flow so it won't push against our actual content
|
|
22
|
-
float: 'left',
|
|
23
|
-
visibility: 'hidden',
|
|
24
|
-
},
|
|
22
|
+
float: 'left', visibility: 'hidden' }, (beforeLineHeight && { lineHeight: beforeLineHeight })),
|
|
25
23
|
},
|
|
26
24
|
}));
|
|
27
25
|
const EllipsizeInnerWrap = (0, material_1.styled)(material_1.Box, {
|
|
@@ -30,7 +28,7 @@ const EllipsizeInnerWrap = (0, material_1.styled)(material_1.Box, {
|
|
|
30
28
|
})(() => ({
|
|
31
29
|
position: 'relative',
|
|
32
30
|
}));
|
|
33
|
-
const EllipsizeContentWrap = (0, material_1.styled)(
|
|
31
|
+
const EllipsizeContentWrap = (0, material_1.styled)(material_1.Typography, {
|
|
34
32
|
name: ComponentName,
|
|
35
33
|
slot: 'contentWrap',
|
|
36
34
|
})(() => ({
|
|
@@ -42,9 +40,20 @@ const EllipsizeContentWrap = (0, material_1.styled)('span', {
|
|
|
42
40
|
textOverflow: 'ellipsis',
|
|
43
41
|
whiteSpace: 'nowrap',
|
|
44
42
|
}));
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
const useClientHeight = () => {
|
|
44
|
+
const [contentWrapHeight, setContentWrapHeight] = (0, react_1.useState)();
|
|
45
|
+
const contentWrapRef = (0, react_1.useCallback)((node) => {
|
|
46
|
+
if (node !== null) {
|
|
47
|
+
setContentWrapHeight(node.clientHeight + 'px');
|
|
48
|
+
}
|
|
49
|
+
}, []);
|
|
50
|
+
return { contentWrapHeight, contentWrapRef };
|
|
51
|
+
};
|
|
52
|
+
const EllipsizeBox = (_a) => {
|
|
53
|
+
var { children, typographyProps } = _a, props = tslib_1.__rest(_a, ["children", "typographyProps"]);
|
|
54
|
+
// Allow syncing of :before pseudo element height with contentWrapHeight
|
|
55
|
+
const { contentWrapRef, contentWrapHeight } = useClientHeight();
|
|
56
|
+
return ((0, jsx_runtime_1.jsx)(EllipsizeRoot, Object.assign({ beforeLineHeight: contentWrapHeight }, props, { children: (0, jsx_runtime_1.jsx)(EllipsizeInnerWrap, { children: (0, jsx_runtime_1.jsx)(EllipsizeContentWrap, Object.assign({ ref: contentWrapRef, component: 'span' }, typographyProps, { children: children })) }) })));
|
|
48
57
|
};
|
|
49
|
-
exports.
|
|
58
|
+
exports.EllipsizeBox = EllipsizeBox;
|
|
50
59
|
//# sourceMappingURL=Ellipsize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ellipsize.js","sourceRoot":"","sources":["../../../src/components/Ellipsize.tsx"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"Ellipsize.js","sourceRoot":"","sources":["../../../src/components/Ellipsize.tsx"],"names":[],"mappings":";;;;;AAAA,4CAAkF;AAElF,iCAAiE;AAEjE;;GAEG;AAEH,MAAM,aAAa,GAAG,WAAW,CAAA;AAMjC,MAAM,aAAa,GAAG,IAAA,iBAAM,EAAC,cAAG,EAAE;IAChC,IAAI,EAAE,aAAa;IACnB,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,kBAAkB;IACxD,IAAI,EAAE,MAAM;CACb,CAAC,CAAqB,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD,GAAG,EAAE;QACH,oGAAoG;QACpG,uGAAuG;QACvG,SAAS,kBACP,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,OAAO;YAChB,uGAAuG;YACvG,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,QAAQ,IAEjB,CAAC,gBAAgB,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAC1D;KACF;CACF,CAAC,CAAC,CAAA;AAEH,MAAM,kBAAkB,GAAG,IAAA,iBAAM,EAAC,cAAG,EAAE;IACrC,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,WAAW;CAClB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,UAAU;CACrB,CAAC,CAAC,CAAA;AAEH,MAAM,oBAAoB,GAAG,IAAA,iBAAM,EAAC,qBAAU,EAAE;IAC9C,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;CACpB,CAAC,CAA+B,GAAG,EAAE,CAAC,CAAC;IACtC,UAAU,EAAE,WAAW;IACvB,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;AAEH,MAAM,eAAe,GAAG,GAAG,EAAE;IAC3B,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,IAAA,gBAAQ,GAAU,CAAA;IAEpE,MAAM,cAAc,GAAG,IAAA,mBAAW,EAAC,CAAC,IAAiB,EAAE,EAAE;QACvD,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,oBAAoB,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;SAC/C;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAA;AAC9C,CAAC,CAAA;AAWM,MAAM,YAAY,GAA8C,CAAC,EAAuC,EAAE,EAAE;QAA3C,EAAE,QAAQ,EAAE,eAAe,OAAY,EAAP,KAAK,sBAArC,+BAAuC,CAAF;IAC3G,wEAAwE;IACxE,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,eAAe,EAAE,CAAA;IAE/D,OAAO,CACL,uBAAC,aAAa,kBAAC,gBAAgB,EAAE,iBAAiB,IAAM,KAAK,cAC3D,uBAAC,kBAAkB,cACjB,uBAAC,oBAAoB,kBAAC,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,IAAM,eAAe,cAC9E,QAAQ,IACY,GACJ,IACP,CACjB,CAAA;AACH,CAAC,CAAA;AAbY,QAAA,YAAY,gBAaxB"}
|
|
@@ -15,7 +15,7 @@ const EllipsisTableCellRoot = (0, material_1.styled)(material_1.TableCell, {
|
|
|
15
15
|
}));
|
|
16
16
|
const EllipsisTableCell = (_a) => {
|
|
17
17
|
var { children, href, to, value } = _a, props = tslib_1.__rest(_a, ["children", "href", "to", "value"]);
|
|
18
|
-
return ((0, jsx_runtime_1.jsx)(EllipsisTableCellRoot, Object.assign({}, props, { children: (0, jsx_runtime_1.jsx)(Ellipsize_1.
|
|
18
|
+
return ((0, jsx_runtime_1.jsx)(EllipsisTableCellRoot, Object.assign({}, props, { children: (0, jsx_runtime_1.jsx)(Ellipsize_1.EllipsizeBox, { 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) }) })));
|
|
19
19
|
};
|
|
20
20
|
exports.EllipsisTableCell = EllipsisTableCell;
|
|
21
21
|
//# sourceMappingURL=EllipsisTableCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EllipsisTableCell.js","sourceRoot":"","sources":["../../../../src/components/TableCell/EllipsisTableCell.tsx"],"names":[],"mappings":";;;;;AAAA,4CAAiE;AACjE,mDAA2C;AAI3C,
|
|
1
|
+
{"version":3,"file":"EllipsisTableCell.js","sourceRoot":"","sources":["../../../../src/components/TableCell/EllipsisTableCell.tsx"],"names":[],"mappings":";;;;;AAAA,4CAAiE;AACjE,mDAA2C;AAI3C,4CAA2C;AAE3C,MAAM,qBAAqB,GAAG,IAAA,iBAAM,EAAC,oBAAS,EAAE;IAC9C,IAAI,EAAE,mBAAmB;IACzB,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO;IAC7C,IAAI,EAAE,MAAM;CACb,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1B,KAAK;CACN,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,wBAAY,cACV,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,GACY,IACO,CACzB,CAAA;AACH,CAAC,CAAA;AAhBY,QAAA,iBAAiB,qBAgB7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./Ampersand"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./BasicHero"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./Ellipsize"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./ErrorBoundry"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./ListItemButtonEx"), exports);
|
|
8
9
|
tslib_1.__exportStar(require("./NotFound"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,sDAA2B;AAC3B,yDAA8B;AAC9B,6DAAkC;AAClC,qDAA0B;AAC1B,iDAAsB;AACtB,6DAAkC;AAClC,4DAAiC;AACjC,8DAAmC;AACnC,sDAA2B;AAC3B,qDAA0B;AAC1B,sDAA2B;AAC3B,yDAA8B;AAC9B,yDAA8B;AAC9B,gEAAqC;AACrC,qEAA0C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,sDAA2B;AAC3B,sDAA2B;AAC3B,yDAA8B;AAC9B,6DAAkC;AAClC,qDAA0B;AAC1B,iDAAsB;AACtB,6DAAkC;AAClC,4DAAiC;AACjC,8DAAmC;AACnC,sDAA2B;AAC3B,qDAA0B;AAC1B,sDAA2B;AAC3B,yDAA8B;AAC9B,yDAA8B;AAC9B,gEAAqC;AACrC,qEAA0C"}
|