@xylabs/sdk-react 2.9.13 → 2.9.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 (154) 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/PixelDebuggerProvider.d.ts +2 -0
  4. package/dist/cjs5/components/Pixel/PixelDebuggerToggle.d.ts +3 -0
  5. package/dist/cjs5/components/Pixel/hooks/index.d.ts +1 -0
  6. package/dist/cjs5/components/Pixel/index.d.ts +3 -0
  7. package/dist/cjs5/components/Pixel/models/index.d.ts +4 -0
  8. package/dist/cjs5/components/Portal/Portal.d.ts +3 -0
  9. package/dist/cjs5/components/Portal/PortalProps.d.ts +7 -0
  10. package/dist/cjs5/components/Portal/index.d.ts +2 -0
  11. package/dist/cjs5/components/index.d.ts +2 -0
  12. package/dist/cjs5/contexts/UserEvents/Context.d.ts +6 -1
  13. package/dist/cjs5/contexts/UserEvents/index.d.ts +1 -2
  14. package/dist/cjs5/index.js +87 -2
  15. package/dist/cjs5/index.js.map +1 -1
  16. package/dist/components/Pixel/PixelDebugger.d.ts +2 -0
  17. package/dist/components/Pixel/PixelDebugger.js +32 -0
  18. package/dist/components/Pixel/PixelDebugger.js.map +1 -0
  19. package/dist/components/Pixel/PixelDebugger.stories.d.ts +6 -0
  20. package/dist/components/Pixel/PixelDebugger.stories.js +28 -0
  21. package/dist/components/Pixel/PixelDebugger.stories.js.map +1 -0
  22. package/dist/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  23. package/dist/components/Pixel/PixelDebuggerProvider.js +8 -0
  24. package/dist/components/Pixel/PixelDebuggerProvider.js.map +1 -0
  25. package/dist/components/Pixel/PixelDebuggerToggle.d.ts +3 -0
  26. package/dist/components/Pixel/PixelDebuggerToggle.js +12 -0
  27. package/dist/components/Pixel/PixelDebuggerToggle.js.map +1 -0
  28. package/dist/components/Pixel/hooks/index.d.ts +1 -0
  29. package/dist/components/Pixel/hooks/index.js +25 -0
  30. package/dist/components/Pixel/hooks/index.js.map +1 -0
  31. package/dist/components/Pixel/index.d.ts +3 -0
  32. package/dist/components/Pixel/index.js +4 -0
  33. package/dist/components/Pixel/index.js.map +1 -0
  34. package/dist/components/Pixel/models/index.d.ts +4 -0
  35. package/dist/components/Pixel/models/index.js +2 -0
  36. package/dist/components/Pixel/models/index.js.map +1 -0
  37. package/dist/components/Portal/Portal.d.ts +3 -0
  38. package/dist/components/{Portal.js → Portal/Portal.js} +1 -2
  39. package/dist/components/Portal/Portal.js.map +1 -0
  40. package/dist/components/Portal/PortalProps.d.ts +7 -0
  41. package/dist/components/Portal/PortalProps.js +2 -0
  42. package/dist/components/Portal/PortalProps.js.map +1 -0
  43. package/dist/components/Portal/index.d.ts +2 -0
  44. package/dist/components/Portal/index.js +3 -0
  45. package/dist/components/Portal/index.js.map +1 -0
  46. package/dist/components/index.d.ts +2 -0
  47. package/dist/components/index.js +2 -0
  48. package/dist/components/index.js.map +1 -1
  49. package/dist/contexts/UserEvents/Context.d.ts +6 -1
  50. package/dist/contexts/UserEvents/Context.js +7 -1
  51. package/dist/contexts/UserEvents/Context.js.map +1 -1
  52. package/dist/contexts/UserEvents/index.d.ts +1 -2
  53. package/dist/contexts/UserEvents/index.js +1 -2
  54. package/dist/contexts/UserEvents/index.js.map +1 -1
  55. package/dist/esm2015/components/Pixel/PixelDebugger.d.ts +2 -0
  56. package/dist/esm2015/components/Pixel/PixelDebugger.stories.d.ts +6 -0
  57. package/dist/esm2015/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  58. package/dist/esm2015/components/Pixel/PixelDebuggerToggle.d.ts +3 -0
  59. package/dist/esm2015/components/Pixel/hooks/index.d.ts +1 -0
  60. package/dist/esm2015/components/Pixel/index.d.ts +3 -0
  61. package/dist/esm2015/components/Pixel/models/index.d.ts +4 -0
  62. package/dist/esm2015/components/Portal/Portal.d.ts +3 -0
  63. package/dist/esm2015/components/Portal/PortalProps.d.ts +7 -0
  64. package/dist/esm2015/components/Portal/index.d.ts +2 -0
  65. package/dist/esm2015/components/index.d.ts +2 -0
  66. package/dist/esm2015/contexts/UserEvents/Context.d.ts +6 -1
  67. package/dist/esm2015/contexts/UserEvents/index.d.ts +1 -2
  68. package/dist/esm2015/index.js +84 -4
  69. package/dist/esm2015/index.js.map +1 -1
  70. package/dist/esm2017/components/Pixel/PixelDebugger.d.ts +2 -0
  71. package/dist/esm2017/components/Pixel/PixelDebugger.stories.d.ts +6 -0
  72. package/dist/esm2017/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  73. package/dist/esm2017/components/Pixel/PixelDebuggerToggle.d.ts +3 -0
  74. package/dist/esm2017/components/Pixel/hooks/index.d.ts +1 -0
  75. package/dist/esm2017/components/Pixel/index.d.ts +3 -0
  76. package/dist/esm2017/components/Pixel/models/index.d.ts +4 -0
  77. package/dist/esm2017/components/Portal/Portal.d.ts +3 -0
  78. package/dist/esm2017/components/Portal/PortalProps.d.ts +7 -0
  79. package/dist/esm2017/components/Portal/index.d.ts +2 -0
  80. package/dist/esm2017/components/index.d.ts +2 -0
  81. package/dist/esm2017/contexts/UserEvents/Context.d.ts +6 -1
  82. package/dist/esm2017/contexts/UserEvents/index.d.ts +1 -2
  83. package/dist/esm2017/index.js +84 -4
  84. package/dist/esm2017/index.js.map +1 -1
  85. package/dist/esm5/components/Pixel/PixelDebugger.d.ts +2 -0
  86. package/dist/esm5/components/Pixel/PixelDebugger.stories.d.ts +6 -0
  87. package/dist/esm5/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  88. package/dist/esm5/components/Pixel/PixelDebuggerToggle.d.ts +3 -0
  89. package/dist/esm5/components/Pixel/hooks/index.d.ts +1 -0
  90. package/dist/esm5/components/Pixel/index.d.ts +3 -0
  91. package/dist/esm5/components/Pixel/models/index.d.ts +4 -0
  92. package/dist/esm5/components/Portal/Portal.d.ts +3 -0
  93. package/dist/esm5/components/Portal/PortalProps.d.ts +7 -0
  94. package/dist/esm5/components/Portal/index.d.ts +2 -0
  95. package/dist/esm5/components/index.d.ts +2 -0
  96. package/dist/esm5/contexts/UserEvents/Context.d.ts +6 -1
  97. package/dist/esm5/contexts/UserEvents/index.d.ts +1 -2
  98. package/dist/esm5/index.js +84 -4
  99. package/dist/esm5/index.js.map +1 -1
  100. package/dist/hooks/useLocalStorage.js +0 -2
  101. package/dist/hooks/useLocalStorage.js.map +1 -1
  102. package/dist/node/components/Pixel/PixelDebugger.d.ts +2 -0
  103. package/dist/node/components/Pixel/PixelDebugger.stories.d.ts +6 -0
  104. package/dist/node/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  105. package/dist/node/components/Pixel/PixelDebuggerToggle.d.ts +3 -0
  106. package/dist/node/components/Pixel/hooks/index.d.ts +1 -0
  107. package/dist/node/components/Pixel/index.d.ts +3 -0
  108. package/dist/node/components/Pixel/models/index.d.ts +4 -0
  109. package/dist/node/components/Portal/Portal.d.ts +3 -0
  110. package/dist/node/components/Portal/PortalProps.d.ts +7 -0
  111. package/dist/node/components/Portal/index.d.ts +2 -0
  112. package/dist/node/components/index.d.ts +2 -0
  113. package/dist/node/contexts/UserEvents/Context.d.ts +6 -1
  114. package/dist/node/contexts/UserEvents/index.d.ts +1 -2
  115. package/dist/node/index.js +87 -2
  116. package/dist/node/index.js.map +1 -1
  117. package/dist/node-esm/components/Pixel/PixelDebugger.d.ts +2 -0
  118. package/dist/node-esm/components/Pixel/PixelDebugger.stories.d.ts +6 -0
  119. package/dist/node-esm/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  120. package/dist/node-esm/components/Pixel/PixelDebuggerToggle.d.ts +3 -0
  121. package/dist/node-esm/components/Pixel/hooks/index.d.ts +1 -0
  122. package/dist/node-esm/components/Pixel/index.d.ts +3 -0
  123. package/dist/node-esm/components/Pixel/models/index.d.ts +4 -0
  124. package/dist/node-esm/components/Portal/Portal.d.ts +3 -0
  125. package/dist/node-esm/components/Portal/PortalProps.d.ts +7 -0
  126. package/dist/node-esm/components/Portal/index.d.ts +2 -0
  127. package/dist/node-esm/components/index.d.ts +2 -0
  128. package/dist/node-esm/contexts/UserEvents/Context.d.ts +6 -1
  129. package/dist/node-esm/contexts/UserEvents/index.d.ts +1 -2
  130. package/dist/node-esm/index.js +84 -4
  131. package/dist/node-esm/index.js.map +1 -1
  132. package/package.json +1 -1
  133. package/src/components/Pixel/PixelDebugger.stories.tsx +38 -0
  134. package/src/components/Pixel/PixelDebugger.tsx +85 -0
  135. package/src/components/Pixel/PixelDebuggerProvider.tsx +11 -0
  136. package/src/components/Pixel/PixelDebuggerToggle.tsx +18 -0
  137. package/src/components/Pixel/hooks/index.ts +23 -0
  138. package/src/components/Pixel/index.ts +3 -0
  139. package/src/components/Pixel/models/index.ts +4 -0
  140. package/src/components/{Portal.tsx → Portal/Portal.tsx} +2 -7
  141. package/src/components/Portal/PortalProps.ts +6 -0
  142. package/src/components/Portal/index.ts +2 -0
  143. package/src/components/index.ts +2 -1
  144. package/src/contexts/UserEvents/Context.ts +14 -2
  145. package/src/contexts/UserEvents/index.ts +1 -2
  146. package/src/hooks/useLocalStorage.ts +0 -2
  147. package/dist/cjs5/components/Portal.d.ts +0 -1
  148. package/dist/components/Portal.d.ts +0 -1
  149. package/dist/components/Portal.js.map +0 -1
  150. package/dist/esm2015/components/Portal.d.ts +0 -1
  151. package/dist/esm2017/components/Portal.d.ts +0 -1
  152. package/dist/esm5/components/Portal.d.ts +0 -1
  153. package/dist/node/components/Portal.d.ts +0 -1
  154. package/dist/node-esm/components/Portal.d.ts +0 -1
@@ -0,0 +1,25 @@
1
+ import { __awaiter } from "tslib";
2
+ import { XyPixel } from '@xylabs/pixel';
3
+ import { useEffect, useState } from 'react';
4
+ export const usePixelAltSendHandler = (altHandler) => {
5
+ const [pixelSend, setPixelSend] = useState();
6
+ useEffect(() => {
7
+ if (!pixelSend && XyPixel.instance.send) {
8
+ const oldHandler = XyPixel.instance.send.bind(XyPixel.instance);
9
+ setPixelSend(oldHandler);
10
+ }
11
+ else {
12
+ XyPixel.instance.send = (event, fields) => __awaiter(void 0, void 0, void 0, function* () {
13
+ altHandler(event, fields);
14
+ return yield (pixelSend === null || pixelSend === void 0 ? void 0 : pixelSend(event, fields));
15
+ });
16
+ }
17
+ return () => {
18
+ //restore send on unmount
19
+ if (pixelSend) {
20
+ XyPixel.instance.send = pixelSend;
21
+ }
22
+ };
23
+ }, [pixelSend, altHandler]);
24
+ };
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Pixel/hooks/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAAqE,EAAE,EAAE;IAC9G,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAgC,CAAA;IAC1E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;YACvC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YAC/D,YAAY,CAAC,UAAU,CAAC,CAAA;SACzB;aAAM;YACL,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAO,KAAa,EAAE,MAAgC,EAAE,EAAE;gBAChF,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;gBACzB,OAAO,MAAM,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,KAAK,EAAE,MAAM,CAAC,CAAA,CAAA;YACzC,CAAC,CAAA,CAAA;SACF;QACD,OAAO,GAAG,EAAE;YACV,yBAAyB;YACzB,IAAI,SAAS,EAAE;gBACb,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAA;aAClC;QACH,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAA;AAC7B,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './PixelDebugger';
2
+ export * from './PixelDebuggerProvider';
3
+ export * from './PixelDebuggerToggle';
@@ -0,0 +1,4 @@
1
+ export * from './PixelDebugger';
2
+ export * from './PixelDebuggerProvider';
3
+ export * from './PixelDebuggerToggle';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Pixel/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,4 @@
1
+ export interface PixelEvent {
2
+ event: string;
3
+ fields?: unknown;
4
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Pixel/models/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { PortalProps } from './PortalProps';
3
+ export declare const Portal: React.FC<PortalProps>;
@@ -1,7 +1,6 @@
1
1
  import { useEffect, useState } from 'react';
2
2
  import { createPortal } from 'react-dom';
3
- //TODO - Move into SDK
4
- const Portal = ({ children, className, el = 'div', target = 'body' }) => {
3
+ export const Portal = ({ children, className, el = 'div', target = 'body' }) => {
5
4
  const [container] = useState(document.createElement(el));
6
5
  if (className) {
7
6
  container.classList.add(className);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Portal.js","sourceRoot":"","sources":["../../../src/components/Portal/Portal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAIxC,MAAM,CAAC,MAAM,MAAM,GAA0B,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,GAAG,MAAM,EAAe,EAAE,EAAE;IACjH,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAA;IACxD,IAAI,SAAS,EAAE;QACb,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;KACnC;IACD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QACpD,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAA;SACzD;QACD,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,CAAC,SAAS,CAAC,CAAA;QACrC,OAAO,GAAG,EAAE;YACV,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,CAAC,SAAS,CAAC,CAAA;QACvC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;IAEvB,OAAO,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;AAC1C,CAAC,CAAA"}
@@ -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 {};
2
+ //# sourceMappingURL=PortalProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PortalProps.js","sourceRoot":"","sources":["../../../src/components/Portal/PortalProps.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './Portal';
2
+ export * from './PortalProps';
@@ -0,0 +1,3 @@
1
+ export * from './Portal';
2
+ export * from './PortalProps';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Portal/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA"}
@@ -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';
@@ -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';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,2BAA2B,CAAA;AACzC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAE7B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,2BAA2B,CAAA;AACzC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAE7B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAA"}
@@ -4,4 +4,9 @@ interface Props {
4
4
  userEvents?: UserEventHandler<unknown>;
5
5
  }
6
6
  declare const UserEventsContext: import("react").Context<Props>;
7
- export { UserEventsContext };
7
+ interface DebuggingProps {
8
+ isDebugging: boolean;
9
+ setIsDebugging: (value: boolean) => void;
10
+ }
11
+ declare const DebugUserEventsContext: import("react").Context<DebuggingProps>;
12
+ export { DebugUserEventsContext, UserEventsContext };
@@ -1,4 +1,10 @@
1
1
  import { createContext } from 'react';
2
2
  const UserEventsContext = createContext({});
3
- export { UserEventsContext };
3
+ const DebugUserEventsContext = createContext({
4
+ isDebugging: false,
5
+ setIsDebugging: (value) => {
6
+ console.warn('set is debugging is not set', value);
7
+ },
8
+ });
9
+ export { DebugUserEventsContext, UserEventsContext };
4
10
  //# sourceMappingURL=Context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../src/contexts/UserEvents/Context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAMrC,MAAM,iBAAiB,GAAG,aAAa,CAAQ,EAAE,CAAC,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../src/contexts/UserEvents/Context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAKrC,MAAM,iBAAiB,GAAG,aAAa,CAAQ,EAAE,CAAC,CAAA;AAMlD,MAAM,sBAAsB,GAAG,aAAa,CAAiB;IAC3D,WAAW,EAAE,KAAK;IAClB,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC;CACF,CAAC,CAAA;AAEF,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,CAAA"}
@@ -1,3 +1,2 @@
1
- import { UserEventsContext } from './Context';
1
+ export * from './Context';
2
2
  export * from './Loader';
3
- export { UserEventsContext };
@@ -1,4 +1,3 @@
1
- import { UserEventsContext } from './Context';
1
+ export * from './Context';
2
2
  export * from './Loader';
3
- export { UserEventsContext };
4
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/UserEvents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/UserEvents/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA"}
@@ -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,2 @@
1
+ /// <reference types="react" />
2
+ export declare const PixelDebuggerProvider: React.FC;
@@ -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,3 @@
1
+ export * from './PixelDebugger';
2
+ export * from './PixelDebuggerProvider';
3
+ 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';
@@ -4,4 +4,9 @@ interface Props {
4
4
  userEvents?: UserEventHandler<unknown>;
5
5
  }
6
6
  declare const UserEventsContext: import("react").Context<Props>;
7
- export { UserEventsContext };
7
+ interface DebuggingProps {
8
+ isDebugging: boolean;
9
+ setIsDebugging: (value: boolean) => void;
10
+ }
11
+ declare const DebugUserEventsContext: import("react").Context<DebuggingProps>;
12
+ export { DebugUserEventsContext, UserEventsContext };
@@ -1,3 +1,2 @@
1
- import { UserEventsContext } from './Context';
1
+ export * from './Context';
2
2
  export * from './Loader';
3
- export { UserEventsContext };
@@ -1,5 +1,5 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import { useTheme, Box, alpha, CircularProgress, LinearProgress, Paper, Typography, IconButton, useScrollTrigger, Zoom, AppBar, Container, Toolbar, Button, Link, responsiveFontSizes, ScopedCssBaseline, ThemeProvider, Fab, Breadcrumbs, Dialog, DialogTitle, DialogContent, DialogActions, useMediaQuery, Slider } from '@mui/material';
2
+ import { useTheme, Box, alpha, CircularProgress, LinearProgress, Paper, Typography, IconButton, useScrollTrigger, Zoom, AppBar, Container, Toolbar, Button, Link, responsiveFontSizes, ScopedCssBaseline, ThemeProvider, Fab, Breadcrumbs, Dialog, DialogTitle, DialogContent, DialogActions, useMediaQuery, Slider, Badge, Card, Divider, FormControl, FormLabel, Switch } from '@mui/material';
3
3
  export { useMediaQuery } from '@mui/material';
4
4
  import { AiOutlineReload, AiOutlineQuestionCircle } from 'react-icons/ai';
5
5
  import { makeStyles, createStyles } from '@mui/styles';
@@ -15,6 +15,7 @@ import { parse, stringify } from 'query-string';
15
15
  import { createTheme } from '@mui/material/styles';
16
16
  import clone from 'lodash/clone';
17
17
  import numeral from 'numeral';
18
+ import { createPortal } from 'react-dom';
18
19
 
19
20
  /*! *****************************************************************************
20
21
  Copyright (c) Microsoft Corporation.
@@ -1526,6 +1527,12 @@ const NetworkSettingsLoader = (props) => {
1526
1527
  };
1527
1528
 
1528
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
+ });
1529
1536
 
1530
1537
  const UserEventsLoader = ({ userEvents, children }) => {
1531
1538
  return jsx(UserEventsContext.Provider, Object.assign({ value: { userEvents } }, { children: children }), void 0);
@@ -1775,10 +1782,8 @@ const useLocalStorage = (key, defaultValue) => {
1775
1782
  }
1776
1783
  });
1777
1784
  const setValue = (value) => {
1778
- console.log('setValue', value);
1779
1785
  setStoredValue(value);
1780
1786
  setLocalStorageObject(key, value);
1781
- console.log('getValue from ls', getLocalStorageObject(key));
1782
1787
  };
1783
1788
  return [storedValue, setValue];
1784
1789
  };
@@ -2037,6 +2042,81 @@ const NumberStatus = (_a) => {
2037
2042
  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));
2038
2043
  };
2039
2044
 
2045
+ const Portal = ({ children, className, el = 'div', target = 'body' }) => {
2046
+ const [container] = useState(document.createElement(el));
2047
+ if (className) {
2048
+ container.classList.add(className);
2049
+ }
2050
+ useEffect(() => {
2051
+ const targetElement = document.querySelector(target);
2052
+ if (!targetElement) {
2053
+ console.warn(`Unable to find target element: ${target}`);
2054
+ }
2055
+ targetElement === null || targetElement === void 0 ? void 0 : targetElement.appendChild(container);
2056
+ return () => {
2057
+ targetElement === null || targetElement === void 0 ? void 0 : targetElement.removeChild(container);
2058
+ };
2059
+ }, [container, target]);
2060
+ return createPortal(children, container);
2061
+ };
2062
+
2063
+ const usePixelAltSendHandler = (altHandler) => {
2064
+ const [pixelSend, setPixelSend] = useState();
2065
+ useEffect(() => {
2066
+ if (!pixelSend && XyPixel.instance.send) {
2067
+ const oldHandler = XyPixel.instance.send.bind(XyPixel.instance);
2068
+ setPixelSend(oldHandler);
2069
+ }
2070
+ else {
2071
+ XyPixel.instance.send = (event, fields) => __awaiter(void 0, void 0, void 0, function* () {
2072
+ altHandler(event, fields);
2073
+ return yield (pixelSend === null || pixelSend === void 0 ? void 0 : pixelSend(event, fields));
2074
+ });
2075
+ }
2076
+ return () => {
2077
+ //restore send on unmount
2078
+ if (pixelSend) {
2079
+ XyPixel.instance.send = pixelSend;
2080
+ }
2081
+ };
2082
+ }, [pixelSend, altHandler]);
2083
+ };
2084
+
2085
+ const PixelDebugger = () => {
2086
+ const { isDebugging } = useContext(DebugUserEventsContext);
2087
+ //TODO - when adding in the location hook to detect location change, was dropping the setEvents in usePixelAltSendHand
2088
+ const theme = useTheme();
2089
+ const [displayEvents, setDisplayEvents] = useState(false);
2090
+ const [events, setEvents] = useState([]);
2091
+ usePixelAltSendHandler((event, fields) => {
2092
+ setEvents((events) => [{ event, fields }, ...events]);
2093
+ });
2094
+ if (!isDebugging) {
2095
+ return null;
2096
+ }
2097
+ 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: {
2098
+ backdropFilter: 'blur(16px) saturate(180%)',
2099
+ backgroundColor: 'rgba(18, 18, 18, .70)',
2100
+ overflowY: 'auto',
2101
+ width: '100%',
2102
+ }, 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));
2103
+ };
2104
+ const PixelEventDetails = ({ event, fields, index, events, }) => {
2105
+ const [isOpen, setIsOpen] = useState(false);
2106
+ 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));
2107
+ };
2108
+
2109
+ const PixelDebuggerProvider = ({ children }) => {
2110
+ const [isDebugging, setIsDebugging] = useLocalStorage('isDebuggingPixel', false);
2111
+ return (jsx(DebugUserEventsContext.Provider, Object.assign({ value: { isDebugging, setIsDebugging } }, { children: children }), void 0));
2112
+ };
2113
+
2114
+ const PixelDebuggerToggle = (_a) => {
2115
+ var props = __rest(_a, []);
2116
+ const { setIsDebugging, isDebugging } = useContext(DebugUserEventsContext);
2117
+ 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));
2118
+ };
2119
+
2040
2120
  const QuickTipButton = (_a) => {
2041
2121
  var { title, children } = _a, props = __rest(_a, ["title", "children"]);
2042
2122
  const [messageOpen, setMessageOpen] = useState(false);
@@ -2112,5 +2192,5 @@ const TokenAmount = (_a) => {
2112
2192
  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));
2113
2193
  };
2114
2194
 
2115
- 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, 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 };
2195
+ 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 };
2116
2196
  //# sourceMappingURL=index.js.map