@xylabs/sdk-react 2.9.16 → 2.9.21

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 (94) hide show
  1. package/dist/cjs5/components/InvertableThemeProvider/InvertableThemeProvider.stories.d.ts +2 -1
  2. package/dist/cjs5/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  3. package/dist/cjs5/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  4. package/dist/cjs5/components/Pixel/index.d.ts +1 -0
  5. package/dist/cjs5/components/TokenAmount/TokenAmountProps.d.ts +1 -0
  6. package/dist/cjs5/contexts/UserEvents/Context.d.ts +6 -1
  7. package/dist/cjs5/contexts/UserEvents/index.d.ts +1 -2
  8. package/dist/cjs5/index.js +48 -27
  9. package/dist/cjs5/index.js.map +1 -1
  10. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.js +6 -2
  11. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.js.map +1 -1
  12. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.stories.d.ts +2 -1
  13. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.stories.js +33 -3
  14. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.stories.js.map +1 -1
  15. package/dist/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  16. package/dist/components/Pixel/PixelDebugger.js +13 -7
  17. package/dist/components/Pixel/PixelDebugger.js.map +1 -1
  18. package/dist/components/Pixel/PixelDebugger.stories.js +3 -2
  19. package/dist/components/Pixel/PixelDebugger.stories.js.map +1 -1
  20. package/dist/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  21. package/dist/components/Pixel/PixelDebuggerProvider.js +8 -0
  22. package/dist/components/Pixel/PixelDebuggerProvider.js.map +1 -0
  23. package/dist/components/Pixel/PixelDebuggerToggle.js +4 -5
  24. package/dist/components/Pixel/PixelDebuggerToggle.js.map +1 -1
  25. package/dist/components/Pixel/index.d.ts +1 -0
  26. package/dist/components/Pixel/index.js +1 -0
  27. package/dist/components/Pixel/index.js.map +1 -1
  28. package/dist/components/TokenAmount/TokenAmountProps.d.ts +1 -0
  29. package/dist/contexts/UserEvents/Context.d.ts +6 -1
  30. package/dist/contexts/UserEvents/Context.js +7 -1
  31. package/dist/contexts/UserEvents/Context.js.map +1 -1
  32. package/dist/contexts/UserEvents/index.d.ts +1 -2
  33. package/dist/contexts/UserEvents/index.js +1 -2
  34. package/dist/contexts/UserEvents/index.js.map +1 -1
  35. package/dist/esm2015/components/InvertableThemeProvider/InvertableThemeProvider.stories.d.ts +2 -1
  36. package/dist/esm2015/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  37. package/dist/esm2015/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  38. package/dist/esm2015/components/Pixel/index.d.ts +1 -0
  39. package/dist/esm2015/components/TokenAmount/TokenAmountProps.d.ts +1 -0
  40. package/dist/esm2015/contexts/UserEvents/Context.d.ts +6 -1
  41. package/dist/esm2015/contexts/UserEvents/index.d.ts +1 -2
  42. package/dist/esm2015/index.js +47 -28
  43. package/dist/esm2015/index.js.map +1 -1
  44. package/dist/esm2017/components/InvertableThemeProvider/InvertableThemeProvider.stories.d.ts +2 -1
  45. package/dist/esm2017/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  46. package/dist/esm2017/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  47. package/dist/esm2017/components/Pixel/index.d.ts +1 -0
  48. package/dist/esm2017/components/TokenAmount/TokenAmountProps.d.ts +1 -0
  49. package/dist/esm2017/contexts/UserEvents/Context.d.ts +6 -1
  50. package/dist/esm2017/contexts/UserEvents/index.d.ts +1 -2
  51. package/dist/esm2017/index.js +47 -28
  52. package/dist/esm2017/index.js.map +1 -1
  53. package/dist/esm5/components/InvertableThemeProvider/InvertableThemeProvider.stories.d.ts +2 -1
  54. package/dist/esm5/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  55. package/dist/esm5/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  56. package/dist/esm5/components/Pixel/index.d.ts +1 -0
  57. package/dist/esm5/components/TokenAmount/TokenAmountProps.d.ts +1 -0
  58. package/dist/esm5/contexts/UserEvents/Context.d.ts +6 -1
  59. package/dist/esm5/contexts/UserEvents/index.d.ts +1 -2
  60. package/dist/esm5/index.js +47 -28
  61. package/dist/esm5/index.js.map +1 -1
  62. package/dist/hooks/useLocalStorage.js +1 -1
  63. package/dist/hooks/useLocalStorage.js.map +1 -1
  64. package/dist/node/components/InvertableThemeProvider/InvertableThemeProvider.stories.d.ts +2 -1
  65. package/dist/node/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  66. package/dist/node/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  67. package/dist/node/components/Pixel/index.d.ts +1 -0
  68. package/dist/node/components/TokenAmount/TokenAmountProps.d.ts +1 -0
  69. package/dist/node/contexts/UserEvents/Context.d.ts +6 -1
  70. package/dist/node/contexts/UserEvents/index.d.ts +1 -2
  71. package/dist/node/index.js +48 -27
  72. package/dist/node/index.js.map +1 -1
  73. package/dist/node-esm/components/InvertableThemeProvider/InvertableThemeProvider.stories.d.ts +2 -1
  74. package/dist/node-esm/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  75. package/dist/node-esm/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  76. package/dist/node-esm/components/Pixel/index.d.ts +1 -0
  77. package/dist/node-esm/components/TokenAmount/TokenAmountProps.d.ts +1 -0
  78. package/dist/node-esm/contexts/UserEvents/Context.d.ts +6 -1
  79. package/dist/node-esm/contexts/UserEvents/index.d.ts +1 -2
  80. package/dist/node-esm/index.js +47 -28
  81. package/dist/node-esm/index.js.map +1 -1
  82. package/package.json +1 -1
  83. package/src/components/InvertableThemeProvider/InvertableThemeProvider.stories.tsx +49 -2
  84. package/src/components/InvertableThemeProvider/InvertableThemeProvider.tsx +7 -1
  85. package/src/components/InvertableThemeProvider/InvertableThemeProviderProps.ts +1 -0
  86. package/src/components/Pixel/PixelDebugger.stories.tsx +5 -4
  87. package/src/components/Pixel/PixelDebugger.tsx +44 -35
  88. package/src/components/Pixel/PixelDebuggerProvider.tsx +11 -0
  89. package/src/components/Pixel/PixelDebuggerToggle.tsx +4 -10
  90. package/src/components/Pixel/index.ts +1 -0
  91. package/src/contexts/UserEvents/Context.ts +14 -2
  92. package/src/contexts/UserEvents/index.ts +1 -2
  93. package/src/hooks/useLocalStorage.ts +1 -1
  94. package/xylabs-sdk-react-v2.8.2.tgz +0 -0
@@ -1536,6 +1536,12 @@ const NetworkSettingsLoader = (props) => {
1536
1536
  };
1537
1537
 
1538
1538
  const UserEventsContext = react.createContext({});
1539
+ const DebugUserEventsContext = react.createContext({
1540
+ isDebugging: false,
1541
+ setIsDebugging: (value) => {
1542
+ console.warn('set is debugging is not set', value);
1543
+ },
1544
+ });
1539
1545
 
1540
1546
  const UserEventsLoader = ({ userEvents, children }) => {
1541
1547
  return jsxRuntime.jsx(UserEventsContext.Provider, Object.assign({ value: { userEvents } }, { children: children }), void 0);
@@ -1662,8 +1668,9 @@ const InvertableThemeContext = react.createContext({
1662
1668
  options: {},
1663
1669
  });
1664
1670
 
1665
- const InvertableThemeProvider = ({ options, children, dark, scoped = false, invert = false, noResponsiveFonts, }) => {
1671
+ const InvertableThemeProvider = ({ options, children, dark, scoped = false, invert = false, noResponsiveFonts, darkTheme, }) => {
1666
1672
  var _a, _b;
1673
+ let internalDarkTheme = {};
1667
1674
  const contextInvertableTheme = react.useContext(InvertableThemeContext);
1668
1675
  const clonedOptions = clone__default["default"]((_a = options !== null && options !== void 0 ? options : contextInvertableTheme.options) !== null && _a !== void 0 ? _a : {});
1669
1676
  clonedOptions.palette = (_b = clonedOptions.palette) !== null && _b !== void 0 ? _b : {};
@@ -1673,7 +1680,10 @@ const InvertableThemeProvider = ({ options, children, dark, scoped = false, inve
1673
1680
  if (dark !== undefined) {
1674
1681
  clonedOptions.palette.mode = dark ? 'dark' : 'light';
1675
1682
  }
1676
- let theme = styles$1.createTheme(clonedOptions);
1683
+ if (clonedOptions.palette.mode === 'dark' && (darkTheme === null || darkTheme === void 0 ? void 0 : darkTheme.palette)) {
1684
+ internalDarkTheme = darkTheme;
1685
+ }
1686
+ let theme = styles$1.createTheme(clonedOptions, internalDarkTheme);
1677
1687
  if (!noResponsiveFonts) {
1678
1688
  theme = material.responsiveFontSizes(theme);
1679
1689
  }
@@ -1777,7 +1787,7 @@ const useLocalStorage = (key, defaultValue) => {
1777
1787
  const [storedValue, setStoredValue] = react.useState(() => {
1778
1788
  try {
1779
1789
  const item = getLocalStorageObject(key);
1780
- return item || defaultValue;
1790
+ return Object.keys(item).length ? item : defaultValue;
1781
1791
  }
1782
1792
  catch (ex) {
1783
1793
  //Error is already logged
@@ -2045,6 +2055,24 @@ const NumberStatus = (_a) => {
2045
2055
  return (jsxRuntime.jsx(ButtonEx, Object.assign({ size: size, padding: 0, style: Object.assign({ borderRadius: rounded ? theme.shape.borderRadius : 0, overflow: rounded ? 'hidden' : undefined }, style) }, props, { children: jsxRuntime.jsxs(FlexCol, Object.assign({ alignItems: "stretch", height: sizePixels, width: autoWidth ? '100%' : sizePixels, busy: value === undefined && !error }, { children: [jsxRuntime.jsx(FlexGrowRow, Object.assign({ bgcolor: bgColorTop, color: theme.palette.getContrastText(bgColorTop), fontSize: calcFontSize, fontFamily: "Source Code Pro,monospace", alignItems: "center", height: sizePixels * 0.75 }, { children: numeral__default["default"](value).format(format) }), void 0), jsxRuntime.jsx(FlexGrowRow, Object.assign({ bgcolor: bgColorBottom, borderTop: "1px", color: theme.palette.getContrastText(bgColorBottom), fontSize: sizePixels * 0.12, fontFamily: theme.typography.fontFamily, height: sizePixels * 0.25 }, { children: title }), void 0)] }), void 0) }), void 0));
2046
2056
  };
2047
2057
 
2058
+ const Portal = ({ children, className, el = 'div', target = 'body' }) => {
2059
+ const [container] = react.useState(document.createElement(el));
2060
+ if (className) {
2061
+ container.classList.add(className);
2062
+ }
2063
+ react.useEffect(() => {
2064
+ const targetElement = document.querySelector(target);
2065
+ if (!targetElement) {
2066
+ console.warn(`Unable to find target element: ${target}`);
2067
+ }
2068
+ targetElement === null || targetElement === void 0 ? void 0 : targetElement.appendChild(container);
2069
+ return () => {
2070
+ targetElement === null || targetElement === void 0 ? void 0 : targetElement.removeChild(container);
2071
+ };
2072
+ }, [container, target]);
2073
+ return reactDom.createPortal(children, container);
2074
+ };
2075
+
2048
2076
  const usePixelAltSendHandler = (altHandler) => {
2049
2077
  const [pixelSend, setPixelSend] = react.useState();
2050
2078
  react.useEffect(() => {
@@ -2068,6 +2096,7 @@ const usePixelAltSendHandler = (altHandler) => {
2068
2096
  };
2069
2097
 
2070
2098
  const PixelDebugger = () => {
2099
+ const { isDebugging } = react.useContext(DebugUserEventsContext);
2071
2100
  //TODO - when adding in the location hook to detect location change, was dropping the setEvents in usePixelAltSendHand
2072
2101
  const theme = material.useTheme();
2073
2102
  const [displayEvents, setDisplayEvents] = react.useState(false);
@@ -2075,40 +2104,30 @@ const PixelDebugger = () => {
2075
2104
  usePixelAltSendHandler((event, fields) => {
2076
2105
  setEvents((events) => [{ event, fields }, ...events]);
2077
2106
  });
2078
- return (jsxRuntime.jsx("div", Object.assign({ style: { bottom: 0, left: 0, position: 'fixed', width: 350 } }, { children: jsxRuntime.jsx(material.Badge, Object.assign({ badgeContent: events.length, color: "primary", sx: { width: '100%' } }, { children: jsxRuntime.jsx(material.Card, Object.assign({ variant: "outlined", sx: {
2079
- backdropFilter: 'blur(16px) saturate(180%)',
2080
- backgroundColor: 'rgba(18, 18, 18, .70)',
2081
- overflowY: 'auto',
2082
- width: '100%',
2083
- }, color: theme.palette.primary.main }, { children: jsxRuntime.jsxs(FlexCol, Object.assign({ alignItems: "stretch", sx: { flexFlow: 'column', maxHeight: 400 } }, { children: [jsxRuntime.jsx(FlexCol, Object.assign({ alignItems: "stretch", sx: { flex: '0 1 auto' } }, { children: jsxRuntime.jsx(ButtonEx, Object.assign({ variant: "text", onClick: () => setDisplayEvents(!displayEvents) }, { children: "XY Pixel Debugger" }), void 0) }), void 0), displayEvents && !!events.length && (jsxRuntime.jsx(FlexCol, Object.assign({ alignItems: "stretch", alignContent: "start", padding: 2, sx: { cursor: 'pointer', flex: '1 1 auto', overflowY: 'auto', userSelect: 'none' } }, { children: events.map((e, index) => (jsxRuntime.jsx(PixelEventDetails, Object.assign({ events: events, index: index }, e), `${e.event}-${index}`))) }), void 0)), displayEvents && !events.length && jsxRuntime.jsx(material.Typography, Object.assign({ variant: "subtitle2" }, { children: "No Events" }), void 0)] }), void 0) }), void 0) }), void 0) }), void 0));
2107
+ if (!isDebugging) {
2108
+ return null;
2109
+ }
2110
+ return (jsxRuntime.jsx(Portal, { children: jsxRuntime.jsx("div", Object.assign({ style: { bottom: 0, left: 0, position: 'fixed', width: 350 } }, { children: jsxRuntime.jsx(material.Badge, Object.assign({ badgeContent: events.length, color: "primary", sx: { width: '100%' } }, { children: jsxRuntime.jsx(material.Card, Object.assign({ variant: "outlined", sx: {
2111
+ backdropFilter: 'blur(16px) saturate(180%)',
2112
+ backgroundColor: 'rgba(18, 18, 18, .70)',
2113
+ overflowY: 'auto',
2114
+ width: '100%',
2115
+ }, color: theme.palette.primary.main }, { children: jsxRuntime.jsxs(FlexCol, Object.assign({ alignItems: "stretch", sx: { flexFlow: 'column', maxHeight: 400 } }, { children: [jsxRuntime.jsx(FlexCol, Object.assign({ alignItems: "stretch", sx: { flex: '0 1 auto' } }, { children: jsxRuntime.jsx(ButtonEx, Object.assign({ variant: "text", onClick: () => setDisplayEvents(!displayEvents) }, { children: "XY Pixel Debugger" }), void 0) }), void 0), displayEvents && !!events.length && (jsxRuntime.jsx(FlexCol, Object.assign({ alignItems: "stretch", alignContent: "start", padding: 2, sx: { cursor: 'pointer', flex: '1 1 auto', overflowY: 'auto', userSelect: 'none' } }, { children: events.map((e, index) => (jsxRuntime.jsx(PixelEventDetails, Object.assign({ events: events, index: index }, e), `${e.event}-${index}`))) }), void 0)), displayEvents && !events.length && jsxRuntime.jsx(material.Typography, Object.assign({ variant: "subtitle2" }, { children: "No Events" }), void 0)] }), void 0) }), void 0) }), void 0) }), void 0) }, void 0));
2084
2116
  };
2085
2117
  const PixelEventDetails = ({ event, fields, index, events, }) => {
2086
2118
  const [isOpen, setIsOpen] = react.useState(false);
2087
2119
  return (jsxRuntime.jsxs(FlexCol, Object.assign({ alignItems: "stretch", marginBottom: 0.5, onClick: () => setIsOpen(!isOpen) }, { children: [jsxRuntime.jsx(material.Typography, Object.assign({ variant: "subtitle2" }, { children: event }), void 0), isOpen && (jsxRuntime.jsx(material.Typography, Object.assign({ marginBottom: 0.5, variant: "caption" }, { children: JSON.stringify(fields, null, 2) }), void 0)), events[index + 1] && jsxRuntime.jsx(material.Divider, {}, void 0)] }), void 0));
2088
2120
  };
2089
2121
 
2090
- const Portal = ({ children, className, el = 'div', target = 'body' }) => {
2091
- const [container] = react.useState(document.createElement(el));
2092
- if (className) {
2093
- container.classList.add(className);
2094
- }
2095
- react.useEffect(() => {
2096
- const targetElement = document.querySelector(target);
2097
- if (!targetElement) {
2098
- console.warn(`Unable to find target element: ${target}`);
2099
- }
2100
- targetElement === null || targetElement === void 0 ? void 0 : targetElement.appendChild(container);
2101
- return () => {
2102
- targetElement === null || targetElement === void 0 ? void 0 : targetElement.removeChild(container);
2103
- };
2104
- }, [container, target]);
2105
- return reactDom.createPortal(children, container);
2122
+ const PixelDebuggerProvider = ({ children }) => {
2123
+ const [isDebugging, setIsDebugging] = useLocalStorage('isDebuggingPixel', false);
2124
+ return (jsxRuntime.jsx(DebugUserEventsContext.Provider, Object.assign({ value: { isDebugging, setIsDebugging } }, { children: children }), void 0));
2106
2125
  };
2107
2126
 
2108
2127
  const PixelDebuggerToggle = (_a) => {
2109
2128
  var props = __rest(_a, []);
2110
- const [showDebugger, setDebugger] = useLocalStorage('isDebuggingPixel', false);
2111
- return (jsxRuntime.jsxs(FlexRow, Object.assign({}, props, { children: [jsxRuntime.jsxs(material.FormControl, { children: [jsxRuntime.jsx(material.FormLabel, { children: "Enable Debugger" }, void 0), jsxRuntime.jsx(material.Switch, { checked: showDebugger, onClick: () => setDebugger(!showDebugger) }, void 0)] }, void 0), showDebugger && (jsxRuntime.jsx(Portal, Object.assign({ target: "#pixelPortal" }, { children: jsxRuntime.jsx(PixelDebugger, {}, void 0) }), void 0))] }), void 0));
2129
+ const { setIsDebugging, isDebugging } = react.useContext(DebugUserEventsContext);
2130
+ return (jsxRuntime.jsx(FlexRow, Object.assign({}, props, { children: jsxRuntime.jsxs(material.FormControl, { children: [jsxRuntime.jsx(material.FormLabel, { children: "Enable Debugger" }, void 0), jsxRuntime.jsx(material.Switch, { checked: isDebugging, onClick: () => setIsDebugging(!isDebugging) }, void 0)] }, void 0) }), void 0));
2112
2131
  };
2113
2132
 
2114
2133
  const QuickTipButton = (_a) => {
@@ -2201,6 +2220,7 @@ exports.CookieConsentBody = CookieConsentBody;
2201
2220
  exports.CookieConsentContext = CookieConsentContext;
2202
2221
  exports.CookieConsentLoader = CookieConsentLoader;
2203
2222
  exports.CoverProgress = CoverProgress;
2223
+ exports.DebugUserEventsContext = DebugUserEventsContext;
2204
2224
  exports.DripCustomEvent = DripCustomEvent;
2205
2225
  exports.DripStandardEvents = DripStandardEvents;
2206
2226
  exports.ErrorDialog = ErrorDialog;
@@ -2232,6 +2252,7 @@ exports.NetworkSettingsContext = NetworkSettingsContext;
2232
2252
  exports.NetworkSettingsLoader = NetworkSettingsLoader;
2233
2253
  exports.NumberStatus = NumberStatus;
2234
2254
  exports.PixelDebugger = PixelDebugger;
2255
+ exports.PixelDebuggerProvider = PixelDebuggerProvider;
2235
2256
  exports.PixelDebuggerToggle = PixelDebuggerToggle;
2236
2257
  exports.Portal = Portal;
2237
2258
  exports.QuickTipButton = QuickTipButton;