@xylabs/sdk-react 2.9.16 → 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 (62) hide show
  1. package/dist/cjs5/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  2. package/dist/cjs5/components/Pixel/index.d.ts +1 -0
  3. package/dist/cjs5/contexts/UserEvents/Context.d.ts +6 -1
  4. package/dist/cjs5/contexts/UserEvents/index.d.ts +1 -2
  5. package/dist/cjs5/index.js +41 -24
  6. package/dist/cjs5/index.js.map +1 -1
  7. package/dist/components/Pixel/PixelDebugger.js +13 -7
  8. package/dist/components/Pixel/PixelDebugger.js.map +1 -1
  9. package/dist/components/Pixel/PixelDebugger.stories.js +3 -2
  10. package/dist/components/Pixel/PixelDebugger.stories.js.map +1 -1
  11. package/dist/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  12. package/dist/components/Pixel/PixelDebuggerProvider.js +8 -0
  13. package/dist/components/Pixel/PixelDebuggerProvider.js.map +1 -0
  14. package/dist/components/Pixel/PixelDebuggerToggle.js +4 -5
  15. package/dist/components/Pixel/PixelDebuggerToggle.js.map +1 -1
  16. package/dist/components/Pixel/index.d.ts +1 -0
  17. package/dist/components/Pixel/index.js +1 -0
  18. package/dist/components/Pixel/index.js.map +1 -1
  19. package/dist/contexts/UserEvents/Context.d.ts +6 -1
  20. package/dist/contexts/UserEvents/Context.js +7 -1
  21. package/dist/contexts/UserEvents/Context.js.map +1 -1
  22. package/dist/contexts/UserEvents/index.d.ts +1 -2
  23. package/dist/contexts/UserEvents/index.js +1 -2
  24. package/dist/contexts/UserEvents/index.js.map +1 -1
  25. package/dist/esm2015/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  26. package/dist/esm2015/components/Pixel/index.d.ts +1 -0
  27. package/dist/esm2015/contexts/UserEvents/Context.d.ts +6 -1
  28. package/dist/esm2015/contexts/UserEvents/index.d.ts +1 -2
  29. package/dist/esm2015/index.js +40 -25
  30. package/dist/esm2015/index.js.map +1 -1
  31. package/dist/esm2017/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  32. package/dist/esm2017/components/Pixel/index.d.ts +1 -0
  33. package/dist/esm2017/contexts/UserEvents/Context.d.ts +6 -1
  34. package/dist/esm2017/contexts/UserEvents/index.d.ts +1 -2
  35. package/dist/esm2017/index.js +40 -25
  36. package/dist/esm2017/index.js.map +1 -1
  37. package/dist/esm5/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  38. package/dist/esm5/components/Pixel/index.d.ts +1 -0
  39. package/dist/esm5/contexts/UserEvents/Context.d.ts +6 -1
  40. package/dist/esm5/contexts/UserEvents/index.d.ts +1 -2
  41. package/dist/esm5/index.js +40 -25
  42. package/dist/esm5/index.js.map +1 -1
  43. package/dist/node/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  44. package/dist/node/components/Pixel/index.d.ts +1 -0
  45. package/dist/node/contexts/UserEvents/Context.d.ts +6 -1
  46. package/dist/node/contexts/UserEvents/index.d.ts +1 -2
  47. package/dist/node/index.js +41 -24
  48. package/dist/node/index.js.map +1 -1
  49. package/dist/node-esm/components/Pixel/PixelDebuggerProvider.d.ts +2 -0
  50. package/dist/node-esm/components/Pixel/index.d.ts +1 -0
  51. package/dist/node-esm/contexts/UserEvents/Context.d.ts +6 -1
  52. package/dist/node-esm/contexts/UserEvents/index.d.ts +1 -2
  53. package/dist/node-esm/index.js +40 -25
  54. package/dist/node-esm/index.js.map +1 -1
  55. package/package.json +1 -1
  56. package/src/components/Pixel/PixelDebugger.stories.tsx +5 -4
  57. package/src/components/Pixel/PixelDebugger.tsx +44 -35
  58. package/src/components/Pixel/PixelDebuggerProvider.tsx +11 -0
  59. package/src/components/Pixel/PixelDebuggerToggle.tsx +4 -10
  60. package/src/components/Pixel/index.ts +1 -0
  61. package/src/contexts/UserEvents/Context.ts +14 -2
  62. package/src/contexts/UserEvents/index.ts +1 -2
@@ -2,7 +2,8 @@ import { ComponentMeta, ComponentStory } from '@storybook/react'
2
2
  import { PixelApi, XyPixel } from '@xylabs/pixel'
3
3
  import { useEffect } from 'react'
4
4
 
5
- import { PixelDebuggerToggle } from './index'
5
+ import { PixelDebugger, PixelDebuggerToggle } from './index'
6
+ import { PixelDebuggerProvider } from './PixelDebuggerProvider'
6
7
 
7
8
  const StorybookEntry = {
8
9
  argTypes: {},
@@ -21,10 +22,10 @@ const Template: ComponentStory<typeof PixelDebuggerToggle> = (args) => {
21
22
  XyPixel.init('storybookPixel')
22
23
  }, [])
23
24
  return (
24
- <div>
25
+ <PixelDebuggerProvider>
25
26
  <PixelDebuggerToggle {...args} />
26
- <div id="pixelPortal" />
27
- </div>
27
+ <PixelDebugger />
28
+ </PixelDebuggerProvider>
28
29
  )
29
30
  }
30
31
 
@@ -1,12 +1,15 @@
1
1
  import { Badge, Card, Divider, Typography, useTheme } from '@mui/material'
2
- import { useState } from 'react'
2
+ import { useContext, useState } from 'react'
3
3
 
4
+ import { DebugUserEventsContext } from '../../contexts'
4
5
  import { ButtonEx } from '../ButtonEx'
5
6
  import { FlexCol } from '../FlexBox'
7
+ import { Portal } from '../Portal'
6
8
  import { usePixelAltSendHandler } from './hooks'
7
9
  import { PixelEvent } from './models'
8
10
 
9
11
  export const PixelDebugger: React.FC = () => {
12
+ const { isDebugging } = useContext(DebugUserEventsContext)
10
13
  //TODO - when adding in the location hook to detect location change, was dropping the setEvents in usePixelAltSendHand
11
14
  const theme = useTheme()
12
15
  const [displayEvents, setDisplayEvents] = useState(false)
@@ -16,42 +19,48 @@ export const PixelDebugger: React.FC = () => {
16
19
  setEvents((events) => [{ event, fields }, ...events])
17
20
  })
18
21
 
22
+ if (!isDebugging) {
23
+ return null
24
+ }
25
+
19
26
  return (
20
- <div style={{ bottom: 0, left: 0, position: 'fixed', width: 350 }}>
21
- <Badge badgeContent={events.length} color="primary" sx={{ width: '100%' }}>
22
- <Card
23
- variant="outlined"
24
- sx={{
25
- backdropFilter: 'blur(16px) saturate(180%)',
26
- backgroundColor: 'rgba(18, 18, 18, .70)',
27
- overflowY: 'auto',
28
- width: '100%',
29
- }}
30
- color={theme.palette.primary.main}
31
- >
32
- <FlexCol alignItems="stretch" sx={{ flexFlow: 'column', maxHeight: 400 }}>
33
- <FlexCol alignItems="stretch" sx={{ flex: '0 1 auto' }}>
34
- <ButtonEx variant="text" onClick={() => setDisplayEvents(!displayEvents)}>
35
- XY Pixel Debugger
36
- </ButtonEx>
37
- </FlexCol>
38
- {displayEvents && !!events.length && (
39
- <FlexCol
40
- alignItems="stretch"
41
- alignContent="start"
42
- padding={2}
43
- sx={{ cursor: 'pointer', flex: '1 1 auto', overflowY: 'auto', userSelect: 'none' }}
44
- >
45
- {events.map((e, index) => (
46
- <PixelEventDetails key={`${e.event}-${index}`} events={events} index={index} {...e} />
47
- ))}
27
+ <Portal>
28
+ <div style={{ bottom: 0, left: 0, position: 'fixed', width: 350 }}>
29
+ <Badge badgeContent={events.length} color="primary" sx={{ width: '100%' }}>
30
+ <Card
31
+ variant="outlined"
32
+ sx={{
33
+ backdropFilter: 'blur(16px) saturate(180%)',
34
+ backgroundColor: 'rgba(18, 18, 18, .70)',
35
+ overflowY: 'auto',
36
+ width: '100%',
37
+ }}
38
+ color={theme.palette.primary.main}
39
+ >
40
+ <FlexCol alignItems="stretch" sx={{ flexFlow: 'column', maxHeight: 400 }}>
41
+ <FlexCol alignItems="stretch" sx={{ flex: '0 1 auto' }}>
42
+ <ButtonEx variant="text" onClick={() => setDisplayEvents(!displayEvents)}>
43
+ XY Pixel Debugger
44
+ </ButtonEx>
48
45
  </FlexCol>
49
- )}
50
- {displayEvents && !events.length && <Typography variant="subtitle2">No Events</Typography>}
51
- </FlexCol>
52
- </Card>
53
- </Badge>
54
- </div>
46
+ {displayEvents && !!events.length && (
47
+ <FlexCol
48
+ alignItems="stretch"
49
+ alignContent="start"
50
+ padding={2}
51
+ sx={{ cursor: 'pointer', flex: '1 1 auto', overflowY: 'auto', userSelect: 'none' }}
52
+ >
53
+ {events.map((e, index) => (
54
+ <PixelEventDetails key={`${e.event}-${index}`} events={events} index={index} {...e} />
55
+ ))}
56
+ </FlexCol>
57
+ )}
58
+ {displayEvents && !events.length && <Typography variant="subtitle2">No Events</Typography>}
59
+ </FlexCol>
60
+ </Card>
61
+ </Badge>
62
+ </div>
63
+ </Portal>
55
64
  )
56
65
  }
57
66
 
@@ -0,0 +1,11 @@
1
+ import { DebugUserEventsContext } from '../../contexts'
2
+ import { useLocalStorage } from '../../hooks'
3
+
4
+ export const PixelDebuggerProvider: React.FC = ({ children }) => {
5
+ const [isDebugging, setIsDebugging] = useLocalStorage<boolean>('isDebuggingPixel', false)
6
+ return (
7
+ <DebugUserEventsContext.Provider value={{ isDebugging, setIsDebugging }}>
8
+ {children}
9
+ </DebugUserEventsContext.Provider>
10
+ )
11
+ }
@@ -1,24 +1,18 @@
1
1
  import { FormControl, FormLabel, Switch } from '@mui/material'
2
+ import { useContext } from 'react'
2
3
 
3
- import { useLocalStorage } from '../../hooks'
4
+ import { DebugUserEventsContext } from '../../contexts'
4
5
  import { BusyBoxProps, FlexRow } from '../FlexBox'
5
- import { Portal } from '../Portal'
6
- import { PixelDebugger } from './PixelDebugger'
7
6
 
8
7
  export const PixelDebuggerToggle: React.FC<BusyBoxProps> = ({ ...props }) => {
9
- const [showDebugger, setDebugger] = useLocalStorage<boolean>('isDebuggingPixel', false)
8
+ const { setIsDebugging, isDebugging } = useContext(DebugUserEventsContext)
10
9
 
11
10
  return (
12
11
  <FlexRow {...props}>
13
12
  <FormControl>
14
13
  <FormLabel>Enable Debugger</FormLabel>
15
- <Switch checked={showDebugger} onClick={() => setDebugger(!showDebugger)} />
14
+ <Switch checked={isDebugging} onClick={() => setIsDebugging(!isDebugging)} />
16
15
  </FormControl>
17
- {showDebugger && (
18
- <Portal target="#pixelPortal">
19
- <PixelDebugger />
20
- </Portal>
21
- )}
22
16
  </FlexRow>
23
17
  )
24
18
  }
@@ -1,2 +1,3 @@
1
1
  export * from './PixelDebugger'
2
+ export * from './PixelDebuggerProvider'
2
3
  export * from './PixelDebuggerToggle'
@@ -4,6 +4,18 @@ import { createContext } from 'react'
4
4
  interface Props {
5
5
  userEvents?: UserEventHandler<unknown>
6
6
  }
7
-
8
7
  const UserEventsContext = createContext<Props>({})
9
- export { UserEventsContext }
8
+
9
+ interface DebuggingProps {
10
+ isDebugging: boolean
11
+ setIsDebugging: (value: boolean) => void
12
+ }
13
+
14
+ const DebugUserEventsContext = createContext<DebuggingProps>({
15
+ isDebugging: false,
16
+ setIsDebugging: (value) => {
17
+ console.warn('set is debugging is not set', value)
18
+ },
19
+ })
20
+
21
+ export { DebugUserEventsContext, UserEventsContext }
@@ -1,3 +1,2 @@
1
- import { UserEventsContext } from './Context'
1
+ export * from './Context'
2
2
  export * from './Loader'
3
- export { UserEventsContext }