@xyo-network/react-shared 2.38.15 → 2.38.17

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 (52) hide show
  1. package/dist/cjs/components/Ellipsize.js +3 -3
  2. package/dist/cjs/components/Ellipsize.js.map +1 -1
  3. package/dist/cjs/contexts/diviner/Context.d.ts +3 -0
  4. package/dist/cjs/contexts/diviner/Context.d.ts.map +1 -0
  5. package/dist/cjs/contexts/diviner/Context.js +7 -0
  6. package/dist/cjs/contexts/diviner/Context.js.map +1 -0
  7. package/dist/cjs/contexts/diviner/Provider.d.ts +11 -0
  8. package/dist/cjs/contexts/diviner/Provider.d.ts.map +1 -0
  9. package/dist/cjs/contexts/diviner/Provider.js +29 -0
  10. package/dist/cjs/contexts/diviner/Provider.js.map +1 -0
  11. package/dist/cjs/contexts/diviner/State.d.ts +7 -0
  12. package/dist/cjs/contexts/diviner/State.d.ts.map +1 -0
  13. package/dist/cjs/contexts/diviner/State.js +3 -0
  14. package/dist/cjs/contexts/diviner/State.js.map +1 -0
  15. package/dist/cjs/contexts/diviner/index.d.ts +4 -0
  16. package/dist/cjs/contexts/diviner/index.d.ts.map +1 -0
  17. package/dist/cjs/contexts/diviner/index.js +7 -0
  18. package/dist/cjs/contexts/diviner/index.js.map +1 -0
  19. package/dist/cjs/contexts/index.d.ts +1 -0
  20. package/dist/cjs/contexts/index.d.ts.map +1 -1
  21. package/dist/cjs/contexts/index.js +1 -0
  22. package/dist/cjs/contexts/index.js.map +1 -1
  23. package/dist/docs.json +896 -489
  24. package/dist/esm/components/Ellipsize.js +3 -3
  25. package/dist/esm/components/Ellipsize.js.map +1 -1
  26. package/dist/esm/contexts/diviner/Context.d.ts +3 -0
  27. package/dist/esm/contexts/diviner/Context.d.ts.map +1 -0
  28. package/dist/esm/contexts/diviner/Context.js +3 -0
  29. package/dist/esm/contexts/diviner/Context.js.map +1 -0
  30. package/dist/esm/contexts/diviner/Provider.d.ts +11 -0
  31. package/dist/esm/contexts/diviner/Provider.d.ts.map +1 -0
  32. package/dist/esm/contexts/diviner/Provider.js +25 -0
  33. package/dist/esm/contexts/diviner/Provider.js.map +1 -0
  34. package/dist/esm/contexts/diviner/State.d.ts +7 -0
  35. package/dist/esm/contexts/diviner/State.d.ts.map +1 -0
  36. package/dist/esm/contexts/diviner/State.js +2 -0
  37. package/dist/esm/contexts/diviner/State.js.map +1 -0
  38. package/dist/esm/contexts/diviner/index.d.ts +4 -0
  39. package/dist/esm/contexts/diviner/index.d.ts.map +1 -0
  40. package/dist/esm/contexts/diviner/index.js +4 -0
  41. package/dist/esm/contexts/diviner/index.js.map +1 -0
  42. package/dist/esm/contexts/index.d.ts +1 -0
  43. package/dist/esm/contexts/index.d.ts.map +1 -1
  44. package/dist/esm/contexts/index.js +1 -0
  45. package/dist/esm/contexts/index.js.map +1 -1
  46. package/package.json +1 -1
  47. package/src/components/Ellipsize.tsx +3 -3
  48. package/src/contexts/diviner/Context.tsx +3 -0
  49. package/src/contexts/diviner/Provider.tsx +41 -0
  50. package/src/contexts/diviner/State.ts +8 -0
  51. package/src/contexts/diviner/index.ts +3 -0
  52. package/src/contexts/index.ts +1 -0
@@ -43,7 +43,7 @@ const EllipsizeContentWrap = styled(Typography, {
43
43
  right: 0,
44
44
  textOverflow: 'ellipsis',
45
45
  whiteSpace: 'nowrap',
46
- ...(ellipsisPosition === 'end'
46
+ ...(ellipsisPosition === 'start'
47
47
  ? {
48
48
  direction: 'rtl',
49
49
  textAlign: 'left',
@@ -60,10 +60,10 @@ const useClientHeight = () => {
60
60
  }, []);
61
61
  return { contentWrapHeight, contentWrapRef };
62
62
  };
63
- export const EllipsizeBoxInner = forwardRef(({ children, ellipsisPosition = 'end', typographyProps, ...props }, ref) => {
63
+ export const EllipsizeBoxInner = forwardRef(({ children, ellipsisPosition = 'start', typographyProps, ...props }, ref) => {
64
64
  // Allow syncing of :before pseudo element height with contentWrapHeight
65
65
  const { contentWrapRef, contentWrapHeight } = useClientHeight();
66
- return (_jsx(EllipsizeRoot, { beforeLineHeight: contentWrapHeight, ref: ref, ...props, children: _jsx(EllipsizeInnerWrap, { children: _jsx(EllipsizeContentWrap, { ref: contentWrapRef, component: 'span', ellipsisPosition: ellipsisPosition, ...typographyProps, children: children }) }) }));
66
+ return (_jsx(EllipsizeRoot, { beforeLineHeight: ref ? contentWrapHeight : undefined, ref: ref, ...props, children: _jsx(EllipsizeInnerWrap, { children: _jsx(EllipsizeContentWrap, { ref: contentWrapRef, component: 'span', ellipsisPosition: ellipsisPosition, ...typographyProps, children: children }) }) }));
67
67
  });
68
68
  EllipsizeBoxInner.displayName = 'EllipsizeBox';
69
69
  export const EllipsizeBox = EllipsizeBoxInner;
@@ -1 +1 @@
1
- {"version":3,"file":"Ellipsize.js","sourceRoot":"","sources":["../../../src/components/Ellipsize.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Ellipsize.js","sourceRoot":"","sources":["../../../src/components/Ellipsize.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare const ResolvedDivinerContext: <T>() => import("react").Context<T & import("../contextEx").ContextExState>;
3
+ //# sourceMappingURL=Context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../../src/contexts/diviner/Context.tsx"],"names":[],"mappings":";AAEA,eAAO,MAAM,sBAAsB,6EAAiC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { createContextEx } from '../contextEx';
2
+ export const ResolvedDivinerContext = () => createContextEx();
3
+ //# sourceMappingURL=Context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../../src/contexts/diviner/Context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAO,EAAE,CAAC,eAAe,EAAK,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { WithChildren } from '@xylabs/react-shared';
2
+ import { Context } from 'react';
3
+ import { ContextExProviderProps } from '../contextEx';
4
+ import { ResolvedDivinerState } from './State';
5
+ export interface DivinerProviderProps<D> extends ContextExProviderProps, WithChildren {
6
+ diviner?: D;
7
+ context: Context<ResolvedDivinerState<D>>;
8
+ }
9
+ /** Exposes a resolved diviner */
10
+ export declare const ResolvedDivinerProvider: <D>({ diviner: divinerProp, required, children, context }: DivinerProviderProps<D>) => JSX.Element;
11
+ //# sourceMappingURL=Provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/diviner/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAuB,MAAM,OAAO,CAAA;AAEpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAE9C,MAAM,WAAW,oBAAoB,CAAC,CAAC,CAAE,SAAQ,sBAAsB,EAAE,YAAY;IACnF,OAAO,CAAC,EAAE,CAAC,CAAA;IACX,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAA;CAC1C;AAED,iCAAiC;AACjC,eAAO,MAAM,uBAAuB,oGA4BnC,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ /** Exposes a resolved diviner */
4
+ export const ResolvedDivinerProvider = ({ diviner: divinerProp, required = false, children, context }) => {
5
+ const [diviner, setDiviner] = useState(divinerProp);
6
+ useEffect(() => {
7
+ if (divinerProp) {
8
+ setDiviner(divinerProp);
9
+ }
10
+ }, [divinerProp, setDiviner]);
11
+ const resolveDiviner = () => {
12
+ if (divinerProp) {
13
+ return diviner === divinerProp ? diviner : undefined;
14
+ }
15
+ else {
16
+ return diviner;
17
+ }
18
+ };
19
+ return (_jsx(context.Provider, { value: {
20
+ diviner: resolveDiviner(),
21
+ provided: true,
22
+ setDiviner,
23
+ }, children: diviner ? children : required ? null : children }));
24
+ };
25
+ //# sourceMappingURL=Provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/diviner/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAW,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAUpD,iCAAiC;AACjC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,OAAO,EAA2B,EAAE,EAAE;IACpI,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,WAAW,CAAC,CAAA;IAElE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,EAAE;YACf,UAAU,CAAC,WAAW,CAAC,CAAA;SACxB;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;IAE7B,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,WAAW,EAAE;YACf,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;SACrD;aAAM;YACL,OAAO,OAAO,CAAA;SACf;IACH,CAAC,CAAA;IAED,OAAO,CACL,KAAC,OAAO,CAAC,QAAQ,IACf,KAAK,EAAE;YACL,OAAO,EAAE,cAAc,EAAE;YACzB,QAAQ,EAAE,IAAI;YACd,UAAU;SACX,YAEA,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAC/B,CACpB,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ import { ContextExState } from '../contextEx';
3
+ export interface ResolvedDivinerState<T> extends ContextExState {
4
+ diviner?: T;
5
+ setDiviner?: Dispatch<SetStateAction<T | undefined>>;
6
+ }
7
+ //# sourceMappingURL=State.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/diviner/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,WAAW,oBAAoB,CAAC,CAAC,CAAE,SAAQ,cAAc;IAC7D,OAAO,CAAC,EAAE,CAAC,CAAA;IACX,UAAU,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;CACrD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=State.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"State.js","sourceRoot":"","sources":["../../../../src/contexts/diviner/State.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './Context';
2
+ export * from './Provider';
3
+ export * from './State';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './Context';
2
+ export * from './Provider';
3
+ export * from './State';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './contextEx';
2
+ export * from './diviner';
2
3
  export * from './ListMode';
3
4
  export * from './Pixel';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './contextEx';
2
+ export * from './diviner';
2
3
  export * from './ListMode';
3
4
  export * from './Pixel';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
package/package.json CHANGED
@@ -69,5 +69,5 @@
69
69
  },
70
70
  "sideEffects": false,
71
71
  "types": "dist/esm/index.d.ts",
72
- "version": "2.38.15"
72
+ "version": "2.38.17"
73
73
  }
@@ -52,7 +52,7 @@ const EllipsizeContentWrap = styled(Typography, {
52
52
  right: 0,
53
53
  textOverflow: 'ellipsis',
54
54
  whiteSpace: 'nowrap',
55
- ...(ellipsisPosition === 'end'
55
+ ...(ellipsisPosition === 'start'
56
56
  ? {
57
57
  direction: 'rtl',
58
58
  textAlign: 'left',
@@ -85,12 +85,12 @@ export interface EllipsizeBoxProps extends BoxProps {
85
85
  }
86
86
 
87
87
  export const EllipsizeBoxInner: React.FC<WithChildren<EllipsizeBoxProps>> = forwardRef(
88
- ({ children, ellipsisPosition = 'end', typographyProps, ...props }, ref) => {
88
+ ({ children, ellipsisPosition = 'start', typographyProps, ...props }, ref) => {
89
89
  // Allow syncing of :before pseudo element height with contentWrapHeight
90
90
  const { contentWrapRef, contentWrapHeight } = useClientHeight()
91
91
 
92
92
  return (
93
- <EllipsizeRoot beforeLineHeight={contentWrapHeight} ref={ref} {...props}>
93
+ <EllipsizeRoot beforeLineHeight={ref ? contentWrapHeight : undefined} ref={ref} {...props}>
94
94
  <EllipsizeInnerWrap>
95
95
  <EllipsizeContentWrap ref={contentWrapRef} component={'span'} ellipsisPosition={ellipsisPosition} {...typographyProps}>
96
96
  {children}
@@ -0,0 +1,3 @@
1
+ import { createContextEx } from '../contextEx'
2
+
3
+ export const ResolvedDivinerContext = <T,>() => createContextEx<T>()
@@ -0,0 +1,41 @@
1
+ import { WithChildren } from '@xylabs/react-shared'
2
+ import { Context, useEffect, useState } from 'react'
3
+
4
+ import { ContextExProviderProps } from '../contextEx'
5
+ import { ResolvedDivinerState } from './State'
6
+
7
+ export interface DivinerProviderProps<D> extends ContextExProviderProps, WithChildren {
8
+ diviner?: D
9
+ context: Context<ResolvedDivinerState<D>>
10
+ }
11
+
12
+ /** Exposes a resolved diviner */
13
+ export const ResolvedDivinerProvider = <D,>({ diviner: divinerProp, required = false, children, context }: DivinerProviderProps<D>) => {
14
+ const [diviner, setDiviner] = useState<D | undefined>(divinerProp)
15
+
16
+ useEffect(() => {
17
+ if (divinerProp) {
18
+ setDiviner(divinerProp)
19
+ }
20
+ }, [divinerProp, setDiviner])
21
+
22
+ const resolveDiviner = () => {
23
+ if (divinerProp) {
24
+ return diviner === divinerProp ? diviner : undefined
25
+ } else {
26
+ return diviner
27
+ }
28
+ }
29
+
30
+ return (
31
+ <context.Provider
32
+ value={{
33
+ diviner: resolveDiviner(),
34
+ provided: true,
35
+ setDiviner,
36
+ }}
37
+ >
38
+ {diviner ? children : required ? null : children}
39
+ </context.Provider>
40
+ )
41
+ }
@@ -0,0 +1,8 @@
1
+ import { Dispatch, SetStateAction } from 'react'
2
+
3
+ import { ContextExState } from '../contextEx'
4
+
5
+ export interface ResolvedDivinerState<T> extends ContextExState {
6
+ diviner?: T
7
+ setDiviner?: Dispatch<SetStateAction<T | undefined>>
8
+ }
@@ -0,0 +1,3 @@
1
+ export * from './Context'
2
+ export * from './Provider'
3
+ export * from './State'
@@ -1,3 +1,4 @@
1
1
  export * from './contextEx'
2
+ export * from './diviner'
2
3
  export * from './ListMode'
3
4
  export * from './Pixel'