@xylabs/sdk-react 2.9.12 → 2.9.16

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 (116) hide show
  1. package/dist/cjs5/components/Pixel/PixelDebugger.d.ts +2 -0
  2. package/dist/cjs5/components/Pixel/PixelDebugger.stories.d.ts +6 -0
  3. package/dist/cjs5/components/Pixel/PixelDebuggerToggle.d.ts +3 -0
  4. package/dist/cjs5/components/Pixel/hooks/index.d.ts +1 -0
  5. package/dist/cjs5/components/Pixel/index.d.ts +2 -0
  6. package/dist/cjs5/components/Pixel/models/index.d.ts +4 -0
  7. package/dist/cjs5/components/Portal/Portal.d.ts +3 -0
  8. package/dist/cjs5/components/Portal/PortalProps.d.ts +7 -0
  9. package/dist/cjs5/components/Portal/index.d.ts +2 -0
  10. package/dist/cjs5/components/index.d.ts +2 -0
  11. package/dist/cjs5/index.js +70 -2
  12. package/dist/cjs5/index.js.map +1 -1
  13. package/dist/components/Pixel/PixelDebugger.d.ts +2 -0
  14. package/dist/components/Pixel/PixelDebugger.js +26 -0
  15. package/dist/components/Pixel/PixelDebugger.js.map +1 -0
  16. package/dist/components/Pixel/PixelDebugger.stories.d.ts +6 -0
  17. package/dist/components/Pixel/PixelDebugger.stories.js +27 -0
  18. package/dist/components/Pixel/PixelDebugger.stories.js.map +1 -0
  19. package/dist/components/Pixel/PixelDebuggerToggle.d.ts +3 -0
  20. package/dist/components/Pixel/PixelDebuggerToggle.js +13 -0
  21. package/dist/components/Pixel/PixelDebuggerToggle.js.map +1 -0
  22. package/dist/components/Pixel/hooks/index.d.ts +1 -0
  23. package/dist/components/Pixel/hooks/index.js +25 -0
  24. package/dist/components/Pixel/hooks/index.js.map +1 -0
  25. package/dist/components/Pixel/index.d.ts +2 -0
  26. package/dist/components/Pixel/index.js +3 -0
  27. package/dist/components/Pixel/index.js.map +1 -0
  28. package/dist/components/Pixel/models/index.d.ts +4 -0
  29. package/dist/components/Pixel/models/index.js +2 -0
  30. package/dist/components/Pixel/models/index.js.map +1 -0
  31. package/dist/components/Portal/Portal.d.ts +3 -0
  32. package/dist/components/Portal/Portal.js +20 -0
  33. package/dist/components/Portal/Portal.js.map +1 -0
  34. package/dist/components/Portal/PortalProps.d.ts +7 -0
  35. package/dist/components/Portal/PortalProps.js +2 -0
  36. package/dist/components/Portal/PortalProps.js.map +1 -0
  37. package/dist/components/Portal/index.d.ts +2 -0
  38. package/dist/components/Portal/index.js +3 -0
  39. package/dist/components/Portal/index.js.map +1 -0
  40. package/dist/components/index.d.ts +2 -0
  41. package/dist/components/index.js +2 -0
  42. package/dist/components/index.js.map +1 -1
  43. package/dist/esm2015/components/Pixel/PixelDebugger.d.ts +2 -0
  44. package/dist/esm2015/components/Pixel/PixelDebugger.stories.d.ts +6 -0
  45. package/dist/esm2015/components/Pixel/PixelDebuggerToggle.d.ts +3 -0
  46. package/dist/esm2015/components/Pixel/hooks/index.d.ts +1 -0
  47. package/dist/esm2015/components/Pixel/index.d.ts +2 -0
  48. package/dist/esm2015/components/Pixel/models/index.d.ts +4 -0
  49. package/dist/esm2015/components/Portal/Portal.d.ts +3 -0
  50. package/dist/esm2015/components/Portal/PortalProps.d.ts +7 -0
  51. package/dist/esm2015/components/Portal/index.d.ts +2 -0
  52. package/dist/esm2015/components/index.d.ts +2 -0
  53. package/dist/esm2015/index.js +69 -4
  54. package/dist/esm2015/index.js.map +1 -1
  55. package/dist/esm2017/components/Pixel/PixelDebugger.d.ts +2 -0
  56. package/dist/esm2017/components/Pixel/PixelDebugger.stories.d.ts +6 -0
  57. package/dist/esm2017/components/Pixel/PixelDebuggerToggle.d.ts +3 -0
  58. package/dist/esm2017/components/Pixel/hooks/index.d.ts +1 -0
  59. package/dist/esm2017/components/Pixel/index.d.ts +2 -0
  60. package/dist/esm2017/components/Pixel/models/index.d.ts +4 -0
  61. package/dist/esm2017/components/Portal/Portal.d.ts +3 -0
  62. package/dist/esm2017/components/Portal/PortalProps.d.ts +7 -0
  63. package/dist/esm2017/components/Portal/index.d.ts +2 -0
  64. package/dist/esm2017/components/index.d.ts +2 -0
  65. package/dist/esm2017/index.js +69 -4
  66. package/dist/esm2017/index.js.map +1 -1
  67. package/dist/esm5/components/Pixel/PixelDebugger.d.ts +2 -0
  68. package/dist/esm5/components/Pixel/PixelDebugger.stories.d.ts +6 -0
  69. package/dist/esm5/components/Pixel/PixelDebuggerToggle.d.ts +3 -0
  70. package/dist/esm5/components/Pixel/hooks/index.d.ts +1 -0
  71. package/dist/esm5/components/Pixel/index.d.ts +2 -0
  72. package/dist/esm5/components/Pixel/models/index.d.ts +4 -0
  73. package/dist/esm5/components/Portal/Portal.d.ts +3 -0
  74. package/dist/esm5/components/Portal/PortalProps.d.ts +7 -0
  75. package/dist/esm5/components/Portal/index.d.ts +2 -0
  76. package/dist/esm5/components/index.d.ts +2 -0
  77. package/dist/esm5/index.js +69 -4
  78. package/dist/esm5/index.js.map +1 -1
  79. package/dist/hooks/useLocalStorage.js +0 -2
  80. package/dist/hooks/useLocalStorage.js.map +1 -1
  81. package/dist/node/components/Pixel/PixelDebugger.d.ts +2 -0
  82. package/dist/node/components/Pixel/PixelDebugger.stories.d.ts +6 -0
  83. package/dist/node/components/Pixel/PixelDebuggerToggle.d.ts +3 -0
  84. package/dist/node/components/Pixel/hooks/index.d.ts +1 -0
  85. package/dist/node/components/Pixel/index.d.ts +2 -0
  86. package/dist/node/components/Pixel/models/index.d.ts +4 -0
  87. package/dist/node/components/Portal/Portal.d.ts +3 -0
  88. package/dist/node/components/Portal/PortalProps.d.ts +7 -0
  89. package/dist/node/components/Portal/index.d.ts +2 -0
  90. package/dist/node/components/index.d.ts +2 -0
  91. package/dist/node/index.js +70 -2
  92. package/dist/node/index.js.map +1 -1
  93. package/dist/node-esm/components/Pixel/PixelDebugger.d.ts +2 -0
  94. package/dist/node-esm/components/Pixel/PixelDebugger.stories.d.ts +6 -0
  95. package/dist/node-esm/components/Pixel/PixelDebuggerToggle.d.ts +3 -0
  96. package/dist/node-esm/components/Pixel/hooks/index.d.ts +1 -0
  97. package/dist/node-esm/components/Pixel/index.d.ts +2 -0
  98. package/dist/node-esm/components/Pixel/models/index.d.ts +4 -0
  99. package/dist/node-esm/components/Portal/Portal.d.ts +3 -0
  100. package/dist/node-esm/components/Portal/PortalProps.d.ts +7 -0
  101. package/dist/node-esm/components/Portal/index.d.ts +2 -0
  102. package/dist/node-esm/components/index.d.ts +2 -0
  103. package/dist/node-esm/index.js +69 -4
  104. package/dist/node-esm/index.js.map +1 -1
  105. package/package.json +2 -1
  106. package/src/components/Pixel/PixelDebugger.stories.tsx +37 -0
  107. package/src/components/Pixel/PixelDebugger.tsx +76 -0
  108. package/src/components/Pixel/PixelDebuggerToggle.tsx +24 -0
  109. package/src/components/Pixel/hooks/index.ts +23 -0
  110. package/src/components/Pixel/index.ts +2 -0
  111. package/src/components/Pixel/models/index.ts +4 -0
  112. package/src/components/Portal/Portal.tsx +23 -0
  113. package/src/components/Portal/PortalProps.ts +6 -0
  114. package/src/components/Portal/index.ts +2 -0
  115. package/src/components/index.ts +2 -0
  116. package/src/hooks/useLocalStorage.ts +0 -2
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const PixelDebugger: React.FC;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { ComponentMeta, ComponentStory } from '@storybook/react';
3
+ declare const StorybookEntry: ComponentMeta<import("react").FC<import("../FlexBox/BusyBox").BusyBoxProps>>;
4
+ declare const Default: ComponentStory<import("react").FC<import("../FlexBox/BusyBox").BusyBoxProps>>;
5
+ export { Default };
6
+ export default StorybookEntry;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { BusyBoxProps } from '../FlexBox';
3
+ export declare const PixelDebuggerToggle: React.FC<BusyBoxProps>;
@@ -0,0 +1 @@
1
+ export declare const usePixelAltSendHandler: (altHandler: (event: string, fields?: Record<string, unknown> | undefined) => void) => void;
@@ -0,0 +1,2 @@
1
+ export * from './PixelDebugger';
2
+ export * from './PixelDebuggerToggle';
@@ -0,0 +1,4 @@
1
+ export interface PixelEvent {
2
+ event: string;
3
+ fields?: unknown;
4
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { PortalProps } from './PortalProps';
3
+ export declare const Portal: React.FC<PortalProps>;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ export interface PortalProps {
3
+ children: React.ReactNode;
4
+ className?: string;
5
+ el?: string;
6
+ target?: string;
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './Portal';
2
+ export * from './PortalProps';
@@ -16,6 +16,8 @@ export * from './FlexBox';
16
16
  export * from './InvertableThemeProvider';
17
17
  export * from './LinkEx';
18
18
  export * from './NumberStatus';
19
+ export * from './Pixel';
20
+ export * from './Portal';
19
21
  export * from './QuickTipButton';
20
22
  export * from './RichResult';
21
23
  export * from './ScrollToTop';
@@ -18,6 +18,7 @@ var queryString = require('query-string');
18
18
  var styles$1 = require('@mui/material/styles');
19
19
  var clone = require('lodash/clone');
20
20
  var numeral = require('numeral');
21
+ var reactDom = require('react-dom');
21
22
 
22
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
24
 
@@ -1784,10 +1785,8 @@ const useLocalStorage = (key, defaultValue) => {
1784
1785
  }
1785
1786
  });
1786
1787
  const setValue = (value) => {
1787
- console.log('setValue', value);
1788
1788
  setStoredValue(value);
1789
1789
  setLocalStorageObject(key, value);
1790
- console.log('getValue from ls', getLocalStorageObject(key));
1791
1790
  };
1792
1791
  return [storedValue, setValue];
1793
1792
  };
@@ -2046,6 +2045,72 @@ const NumberStatus = (_a) => {
2046
2045
  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));
2047
2046
  };
2048
2047
 
2048
+ const usePixelAltSendHandler = (altHandler) => {
2049
+ const [pixelSend, setPixelSend] = react.useState();
2050
+ react.useEffect(() => {
2051
+ if (!pixelSend && pixel.XyPixel.instance.send) {
2052
+ const oldHandler = pixel.XyPixel.instance.send.bind(pixel.XyPixel.instance);
2053
+ setPixelSend(oldHandler);
2054
+ }
2055
+ else {
2056
+ pixel.XyPixel.instance.send = (event, fields) => __awaiter(void 0, void 0, void 0, function* () {
2057
+ altHandler(event, fields);
2058
+ return yield (pixelSend === null || pixelSend === void 0 ? void 0 : pixelSend(event, fields));
2059
+ });
2060
+ }
2061
+ return () => {
2062
+ //restore send on unmount
2063
+ if (pixelSend) {
2064
+ pixel.XyPixel.instance.send = pixelSend;
2065
+ }
2066
+ };
2067
+ }, [pixelSend, altHandler]);
2068
+ };
2069
+
2070
+ const PixelDebugger = () => {
2071
+ //TODO - when adding in the location hook to detect location change, was dropping the setEvents in usePixelAltSendHand
2072
+ const theme = material.useTheme();
2073
+ const [displayEvents, setDisplayEvents] = react.useState(false);
2074
+ const [events, setEvents] = react.useState([]);
2075
+ usePixelAltSendHandler((event, fields) => {
2076
+ setEvents((events) => [{ event, fields }, ...events]);
2077
+ });
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));
2084
+ };
2085
+ const PixelEventDetails = ({ event, fields, index, events, }) => {
2086
+ const [isOpen, setIsOpen] = react.useState(false);
2087
+ 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
+ };
2089
+
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);
2106
+ };
2107
+
2108
+ const PixelDebuggerToggle = (_a) => {
2109
+ 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));
2112
+ };
2113
+
2049
2114
  const QuickTipButton = (_a) => {
2050
2115
  var { title, children } = _a, props = __rest(_a, ["title", "children"]);
2051
2116
  const [messageOpen, setMessageOpen] = react.useState(false);
@@ -2166,6 +2231,9 @@ exports.MessageDialog = MessageDialog;
2166
2231
  exports.NetworkSettingsContext = NetworkSettingsContext;
2167
2232
  exports.NetworkSettingsLoader = NetworkSettingsLoader;
2168
2233
  exports.NumberStatus = NumberStatus;
2234
+ exports.PixelDebugger = PixelDebugger;
2235
+ exports.PixelDebuggerToggle = PixelDebuggerToggle;
2236
+ exports.Portal = Portal;
2169
2237
  exports.QuickTipButton = QuickTipButton;
2170
2238
  exports.Rdt = Rdt;
2171
2239
  exports.RedditCustomEvent = RedditCustomEvent;