@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
@@ -1527,6 +1527,12 @@ const NetworkSettingsLoader = (props) => {
1527
1527
  };
1528
1528
 
1529
1529
  const UserEventsContext = createContext({});
1530
+ const DebugUserEventsContext = createContext({
1531
+ isDebugging: false,
1532
+ setIsDebugging: (value) => {
1533
+ console.warn('set is debugging is not set', value);
1534
+ },
1535
+ });
1530
1536
 
1531
1537
  const UserEventsLoader = ({ userEvents, children }) => {
1532
1538
  return jsx(UserEventsContext.Provider, Object.assign({ value: { userEvents } }, { children: children }), void 0);
@@ -1653,8 +1659,9 @@ const InvertableThemeContext = createContext({
1653
1659
  options: {},
1654
1660
  });
1655
1661
 
1656
- const InvertableThemeProvider = ({ options, children, dark, scoped = false, invert = false, noResponsiveFonts, }) => {
1662
+ const InvertableThemeProvider = ({ options, children, dark, scoped = false, invert = false, noResponsiveFonts, darkTheme, }) => {
1657
1663
  var _a, _b;
1664
+ let internalDarkTheme = {};
1658
1665
  const contextInvertableTheme = useContext(InvertableThemeContext);
1659
1666
  const clonedOptions = clone((_a = options !== null && options !== void 0 ? options : contextInvertableTheme.options) !== null && _a !== void 0 ? _a : {});
1660
1667
  clonedOptions.palette = (_b = clonedOptions.palette) !== null && _b !== void 0 ? _b : {};
@@ -1664,7 +1671,10 @@ const InvertableThemeProvider = ({ options, children, dark, scoped = false, inve
1664
1671
  if (dark !== undefined) {
1665
1672
  clonedOptions.palette.mode = dark ? 'dark' : 'light';
1666
1673
  }
1667
- let theme = createTheme(clonedOptions);
1674
+ if (clonedOptions.palette.mode === 'dark' && (darkTheme === null || darkTheme === void 0 ? void 0 : darkTheme.palette)) {
1675
+ internalDarkTheme = darkTheme;
1676
+ }
1677
+ let theme = createTheme(clonedOptions, internalDarkTheme);
1668
1678
  if (!noResponsiveFonts) {
1669
1679
  theme = responsiveFontSizes(theme);
1670
1680
  }
@@ -1768,7 +1778,7 @@ const useLocalStorage = (key, defaultValue) => {
1768
1778
  const [storedValue, setStoredValue] = useState(() => {
1769
1779
  try {
1770
1780
  const item = getLocalStorageObject(key);
1771
- return item || defaultValue;
1781
+ return Object.keys(item).length ? item : defaultValue;
1772
1782
  }
1773
1783
  catch (ex) {
1774
1784
  //Error is already logged
@@ -2036,6 +2046,24 @@ const NumberStatus = (_a) => {
2036
2046
  return (jsx(ButtonEx, Object.assign({ size: size, padding: 0, style: Object.assign({ borderRadius: rounded ? theme.shape.borderRadius : 0, overflow: rounded ? 'hidden' : undefined }, style) }, props, { children: jsxs(FlexCol, Object.assign({ alignItems: "stretch", height: sizePixels, width: autoWidth ? '100%' : sizePixels, busy: value === undefined && !error }, { children: [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(value).format(format) }), void 0), 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));
2037
2047
  };
2038
2048
 
2049
+ const Portal = ({ children, className, el = 'div', target = 'body' }) => {
2050
+ const [container] = useState(document.createElement(el));
2051
+ if (className) {
2052
+ container.classList.add(className);
2053
+ }
2054
+ useEffect(() => {
2055
+ const targetElement = document.querySelector(target);
2056
+ if (!targetElement) {
2057
+ console.warn(`Unable to find target element: ${target}`);
2058
+ }
2059
+ targetElement === null || targetElement === void 0 ? void 0 : targetElement.appendChild(container);
2060
+ return () => {
2061
+ targetElement === null || targetElement === void 0 ? void 0 : targetElement.removeChild(container);
2062
+ };
2063
+ }, [container, target]);
2064
+ return createPortal(children, container);
2065
+ };
2066
+
2039
2067
  const usePixelAltSendHandler = (altHandler) => {
2040
2068
  const [pixelSend, setPixelSend] = useState();
2041
2069
  useEffect(() => {
@@ -2059,6 +2087,7 @@ const usePixelAltSendHandler = (altHandler) => {
2059
2087
  };
2060
2088
 
2061
2089
  const PixelDebugger = () => {
2090
+ const { isDebugging } = useContext(DebugUserEventsContext);
2062
2091
  //TODO - when adding in the location hook to detect location change, was dropping the setEvents in usePixelAltSendHand
2063
2092
  const theme = useTheme();
2064
2093
  const [displayEvents, setDisplayEvents] = useState(false);
@@ -2066,40 +2095,30 @@ const PixelDebugger = () => {
2066
2095
  usePixelAltSendHandler((event, fields) => {
2067
2096
  setEvents((events) => [{ event, fields }, ...events]);
2068
2097
  });
2069
- return (jsx("div", Object.assign({ style: { bottom: 0, left: 0, position: 'fixed', width: 350 } }, { children: jsx(Badge, Object.assign({ badgeContent: events.length, color: "primary", sx: { width: '100%' } }, { children: jsx(Card, Object.assign({ variant: "outlined", sx: {
2070
- backdropFilter: 'blur(16px) saturate(180%)',
2071
- backgroundColor: 'rgba(18, 18, 18, .70)',
2072
- overflowY: 'auto',
2073
- width: '100%',
2074
- }, color: theme.palette.primary.main }, { children: jsxs(FlexCol, Object.assign({ alignItems: "stretch", sx: { flexFlow: 'column', maxHeight: 400 } }, { children: [jsx(FlexCol, Object.assign({ alignItems: "stretch", sx: { flex: '0 1 auto' } }, { children: jsx(ButtonEx, Object.assign({ variant: "text", onClick: () => setDisplayEvents(!displayEvents) }, { children: "XY Pixel Debugger" }), void 0) }), void 0), displayEvents && !!events.length && (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) => (jsx(PixelEventDetails, Object.assign({ events: events, index: index }, e), `${e.event}-${index}`))) }), void 0)), displayEvents && !events.length && jsx(Typography, Object.assign({ variant: "subtitle2" }, { children: "No Events" }), void 0)] }), void 0) }), void 0) }), void 0) }), void 0));
2098
+ if (!isDebugging) {
2099
+ return null;
2100
+ }
2101
+ return (jsx(Portal, { children: jsx("div", Object.assign({ style: { bottom: 0, left: 0, position: 'fixed', width: 350 } }, { children: jsx(Badge, Object.assign({ badgeContent: events.length, color: "primary", sx: { width: '100%' } }, { children: jsx(Card, Object.assign({ variant: "outlined", sx: {
2102
+ backdropFilter: 'blur(16px) saturate(180%)',
2103
+ backgroundColor: 'rgba(18, 18, 18, .70)',
2104
+ overflowY: 'auto',
2105
+ width: '100%',
2106
+ }, color: theme.palette.primary.main }, { children: jsxs(FlexCol, Object.assign({ alignItems: "stretch", sx: { flexFlow: 'column', maxHeight: 400 } }, { children: [jsx(FlexCol, Object.assign({ alignItems: "stretch", sx: { flex: '0 1 auto' } }, { children: jsx(ButtonEx, Object.assign({ variant: "text", onClick: () => setDisplayEvents(!displayEvents) }, { children: "XY Pixel Debugger" }), void 0) }), void 0), displayEvents && !!events.length && (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) => (jsx(PixelEventDetails, Object.assign({ events: events, index: index }, e), `${e.event}-${index}`))) }), void 0)), displayEvents && !events.length && jsx(Typography, Object.assign({ variant: "subtitle2" }, { children: "No Events" }), void 0)] }), void 0) }), void 0) }), void 0) }), void 0) }, void 0));
2075
2107
  };
2076
2108
  const PixelEventDetails = ({ event, fields, index, events, }) => {
2077
2109
  const [isOpen, setIsOpen] = useState(false);
2078
2110
  return (jsxs(FlexCol, Object.assign({ alignItems: "stretch", marginBottom: 0.5, onClick: () => setIsOpen(!isOpen) }, { children: [jsx(Typography, Object.assign({ variant: "subtitle2" }, { children: event }), void 0), isOpen && (jsx(Typography, Object.assign({ marginBottom: 0.5, variant: "caption" }, { children: JSON.stringify(fields, null, 2) }), void 0)), events[index + 1] && jsx(Divider, {}, void 0)] }), void 0));
2079
2111
  };
2080
2112
 
2081
- const Portal = ({ children, className, el = 'div', target = 'body' }) => {
2082
- const [container] = useState(document.createElement(el));
2083
- if (className) {
2084
- container.classList.add(className);
2085
- }
2086
- useEffect(() => {
2087
- const targetElement = document.querySelector(target);
2088
- if (!targetElement) {
2089
- console.warn(`Unable to find target element: ${target}`);
2090
- }
2091
- targetElement === null || targetElement === void 0 ? void 0 : targetElement.appendChild(container);
2092
- return () => {
2093
- targetElement === null || targetElement === void 0 ? void 0 : targetElement.removeChild(container);
2094
- };
2095
- }, [container, target]);
2096
- return createPortal(children, container);
2113
+ const PixelDebuggerProvider = ({ children }) => {
2114
+ const [isDebugging, setIsDebugging] = useLocalStorage('isDebuggingPixel', false);
2115
+ return (jsx(DebugUserEventsContext.Provider, Object.assign({ value: { isDebugging, setIsDebugging } }, { children: children }), void 0));
2097
2116
  };
2098
2117
 
2099
2118
  const PixelDebuggerToggle = (_a) => {
2100
2119
  var props = __rest(_a, []);
2101
- const [showDebugger, setDebugger] = useLocalStorage('isDebuggingPixel', false);
2102
- return (jsxs(FlexRow, Object.assign({}, props, { children: [jsxs(FormControl, { children: [jsx(FormLabel, { children: "Enable Debugger" }, void 0), jsx(Switch, { checked: showDebugger, onClick: () => setDebugger(!showDebugger) }, void 0)] }, void 0), showDebugger && (jsx(Portal, Object.assign({ target: "#pixelPortal" }, { children: jsx(PixelDebugger, {}, void 0) }), void 0))] }), void 0));
2120
+ const { setIsDebugging, isDebugging } = useContext(DebugUserEventsContext);
2121
+ return (jsx(FlexRow, Object.assign({}, props, { children: jsxs(FormControl, { children: [jsx(FormLabel, { children: "Enable Debugger" }, void 0), jsx(Switch, { checked: isDebugging, onClick: () => setIsDebugging(!isDebugging) }, void 0)] }, void 0) }), void 0));
2103
2122
  };
2104
2123
 
2105
2124
  const QuickTipButton = (_a) => {
@@ -2177,5 +2196,5 @@ const TokenAmount = (_a) => {
2177
2196
  return (jsx(ButtonEx, Object.assign({ style: Object.assign({ backgroundColor: statusColor }, style), variant: "outlined", onClick: onButtonClick }, props, { children: jsxs(FlexRow, Object.assign({ justifyContent: "space-between", width: "100%", busy: amount === undefined, busySize: 16 }, { children: [jsxs(FlexRow, { children: [logo ? jsx("img", { src: img, height: 24 }, void 0) : null, label ? (jsx(Typography, Object.assign({ marginRight: 1, marginLeft: logo ? 1 : 0, noWrap: true, fontFamily: textFontFamily, variant: "caption" }, { children: label }), void 0)) : null] }, void 0), jsx(Typography, Object.assign({ color: textColor, noWrap: true, fontFamily: textFontFamily, variant: "body1", style: { textTransform: 'none' } }, { children: amountString }), void 0)] }), void 0) }), void 0));
2178
2197
  };
2179
2198
 
2180
- export { ActionStatusType, AppBarEx, Background, BasePage, BreadcrumbsEx, BusyBox, ButtonEx, ContactPointOption, CookieConsent, CookieConsentBody, CookieConsentContext, CookieConsentLoader, CoverProgress, DripCustomEvent, DripStandardEvents, ErrorDialog, EthAccount, EthersContext, EthersLoader, Experiment, Experiments, ExperimentsDebugger, FacebookCustomEvent, FacebookStandardEvents, Fbq, FlexCol, FlexGrowCol, FlexGrowRow, FlexRow, GoogleBaseEvent, GoogleCustomEvent, GoogleStandardEvents, GoogleUserEventHandler, Gtag, Gtm, HoverScale, Identicon, InvertableThemeProvider, ItemAvailability, LinkToEx, MapCategoryType, MessageDialog, NetworkSettingsContext, NetworkSettingsLoader, NumberStatus, PixelDebugger, PixelDebuggerToggle, Portal, QuickTipButton, Rdt, RedditCustomEvent, RedditStandardEvents, RedirectWithQuery, Referrer, RichResult, ScrollToTop, ScrollToTopButton, SnapTr, SnapchatStandardEvents, TiktokCustomEvent, TiktokStandardEvents, TokenAmount, Ttq, UserEventsContext, UserEventsLoader, XyBaseEvent, XyCustomEvent, XyUserEventHandler, XyoUserEventHandler, enableProfileLogging, getApiStage, getLocalStorageObject, getSessionStorageObject, isLocalhost, profileBlock, profileResults, setLocalStorageObject, setSessionStorageObject, useAsyncEffect, useBreakpoint, useCookieConsent, useLocalStorage, useMounted, useNavigateToEthAddress, useSpacing, useUserEvents, useWebP, useWindowSize };
2199
+ export { ActionStatusType, AppBarEx, Background, BasePage, BreadcrumbsEx, BusyBox, ButtonEx, ContactPointOption, CookieConsent, CookieConsentBody, CookieConsentContext, CookieConsentLoader, CoverProgress, DebugUserEventsContext, DripCustomEvent, DripStandardEvents, ErrorDialog, EthAccount, EthersContext, EthersLoader, Experiment, Experiments, ExperimentsDebugger, FacebookCustomEvent, FacebookStandardEvents, Fbq, FlexCol, FlexGrowCol, FlexGrowRow, FlexRow, GoogleBaseEvent, GoogleCustomEvent, GoogleStandardEvents, GoogleUserEventHandler, Gtag, Gtm, HoverScale, Identicon, InvertableThemeProvider, ItemAvailability, LinkToEx, MapCategoryType, MessageDialog, NetworkSettingsContext, NetworkSettingsLoader, NumberStatus, PixelDebugger, PixelDebuggerProvider, PixelDebuggerToggle, Portal, QuickTipButton, Rdt, RedditCustomEvent, RedditStandardEvents, RedirectWithQuery, Referrer, RichResult, ScrollToTop, ScrollToTopButton, SnapTr, SnapchatStandardEvents, TiktokCustomEvent, TiktokStandardEvents, TokenAmount, Ttq, UserEventsContext, UserEventsLoader, XyBaseEvent, XyCustomEvent, XyUserEventHandler, XyoUserEventHandler, enableProfileLogging, getApiStage, getLocalStorageObject, getSessionStorageObject, isLocalhost, profileBlock, profileResults, setLocalStorageObject, setSessionStorageObject, useAsyncEffect, useBreakpoint, useCookieConsent, useLocalStorage, useMounted, useNavigateToEthAddress, useSpacing, useUserEvents, useWebP, useWindowSize };
2181
2200
  //# sourceMappingURL=index.js.map