@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.
@@ -1,5 +1,12 @@
1
- /// <reference types="react" />
2
- import { BoxProps } from '@mui/material';
1
+ import { BoxProps, TypographyProps } from '@mui/material';
3
2
  import { WithChildren } from '@xylabs/react-shared';
4
- export declare const Ellipsize: React.FC<WithChildren<BoxProps>>;
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":";AAAA,OAAO,EAAO,QAAQ,EAAU,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AA6CnD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAQtD,CAAA"}
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.Ellipsize = void 0;
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)('span', {
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 Ellipsize = (_a) => {
46
- var { children } = _a, props = tslib_1.__rest(_a, ["children"]);
47
- return ((0, jsx_runtime_1.jsx)(EllipsizeRoot, Object.assign({}, props, { children: (0, jsx_runtime_1.jsx)(EllipsizeInnerWrap, { children: (0, jsx_runtime_1.jsx)(EllipsizeContentWrap, { children: children }) }) })));
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.Ellipsize = Ellipsize;
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,4CAAqD;AAGrD;;GAEG;AAEH,MAAM,aAAa,GAAG,WAAW,CAAA;AAEjC,MAAM,aAAa,GAAG,IAAA,iBAAM,EAAC,cAAG,EAAE;IAChC,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,MAAM;CACb,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACR,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;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,MAAM,EAAE;IAC1C,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;CACpB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACR,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;AAEI,MAAM,SAAS,GAAqC,CAAC,EAAsB,EAAE,EAAE;QAA1B,EAAE,QAAQ,OAAY,EAAP,KAAK,sBAApB,YAAsB,CAAF;IAC9E,OAAO,CACL,uBAAC,aAAa,oBAAK,KAAK,cACtB,uBAAC,kBAAkB,cACjB,uBAAC,oBAAoB,cAAE,QAAQ,GAAwB,GACpC,IACP,CACjB,CAAA;AACH,CAAC,CAAA;AARY,QAAA,SAAS,aAQrB"}
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.Ellipsize, { 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) }) })));
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,4CAAwC;AAExC,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,qBAAS,cACP,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,GACS,IACU,CACzB,CAAA;AACH,CAAC,CAAA;AAhBY,QAAA,iBAAiB,qBAgB7B"}
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,5 +1,6 @@
1
1
  export * from './Ampersand';
2
2
  export * from './BasicHero';
3
+ export * from './Ellipsize';
3
4
  export * from './ErrorBoundry';
4
5
  export * from './ListItemButtonEx';
5
6
  export * from './NotFound';
@@ -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"}