@luxonis/depthai-viewer-common 0.0.15 → 1.1.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 (50) hide show
  1. package/dist/components/Streams.d.ts +0 -2
  2. package/dist/components/Streams.d.ts.map +1 -1
  3. package/dist/components/Streams.js +141 -31
  4. package/dist/components/Streams.js.map +1 -1
  5. package/dist/constants/connection.d.ts +9 -2
  6. package/dist/constants/connection.d.ts.map +1 -1
  7. package/dist/constants/connection.js +10 -2
  8. package/dist/constants/connection.js.map +1 -1
  9. package/dist/constants/streams.d.ts +2 -0
  10. package/dist/constants/streams.d.ts.map +1 -1
  11. package/dist/constants/streams.js +6 -0
  12. package/dist/constants/streams.js.map +1 -1
  13. package/dist/constants/url.d.ts.map +1 -1
  14. package/dist/constants/url.js +1 -1
  15. package/dist/constants/url.js.map +1 -1
  16. package/dist/dai-connection/connection.d.ts +3 -1
  17. package/dist/dai-connection/connection.d.ts.map +1 -1
  18. package/dist/dai-connection/connection.js +25 -6
  19. package/dist/dai-connection/connection.js.map +1 -1
  20. package/dist/fonts/ubuntu-mono.css +6 -0
  21. package/dist/fonts/ubuntu-mono.ttf +0 -0
  22. package/dist/hooks/connection.d.ts +1 -0
  23. package/dist/hooks/connection.d.ts.map +1 -1
  24. package/dist/hooks/connection.js +14 -35
  25. package/dist/hooks/connection.js.map +1 -1
  26. package/dist/hooks/useFullScreen.d.ts +9 -0
  27. package/dist/hooks/useFullScreen.d.ts.map +1 -0
  28. package/dist/hooks/useFullScreen.js +52 -0
  29. package/dist/hooks/useFullScreen.js.map +1 -0
  30. package/dist/index.css +1 -0
  31. package/dist/index.d.ts +3 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +3 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/models/device-configuration.d.ts +51 -16
  36. package/dist/models/device-configuration.d.ts.map +1 -1
  37. package/dist/models/device-configuration.js +4 -2
  38. package/dist/models/device-configuration.js.map +1 -1
  39. package/dist/providers/ConnectionProvider.d.ts.map +1 -1
  40. package/dist/providers/ConnectionProvider.js +1 -0
  41. package/dist/providers/ConnectionProvider.js.map +1 -1
  42. package/dist/providers/DataProvider.d.ts +2 -0
  43. package/dist/providers/DataProvider.d.ts.map +1 -1
  44. package/dist/providers/DataProvider.js +11 -0
  45. package/dist/providers/DataProvider.js.map +1 -1
  46. package/dist/utils/network-information.d.ts +3 -0
  47. package/dist/utils/network-information.d.ts.map +1 -0
  48. package/dist/utils/network-information.js +24 -0
  49. package/dist/utils/network-information.js.map +1 -0
  50. package/package.json +7 -6
@@ -1,8 +1,8 @@
1
1
  import { useToast } from '@luxonis/common-fe-components';
2
2
  import React from 'react';
3
- import { StreamTypes } from '../constants/streams.js';
4
3
  import { DAIConnection } from '../dai-connection/connection.js';
5
4
  import { useFlatSearch } from './search.js';
5
+ import { log } from '@luxonis/common-fe-utils';
6
6
  export function useCreateConnection({ type, activeServices, onNewConnection, ...params }) {
7
7
  const { updateSearch, search } = useFlatSearch({
8
8
  defaultInit: { streams: [], cid: '', t: '' },
@@ -10,6 +10,7 @@ export function useCreateConnection({ type, activeServices, onNewConnection, ...
10
10
  });
11
11
  const [connected, setConnected] = React.useState(false);
12
12
  const [topics, setTopics] = React.useState([]);
13
+ const [unsupportedTopics, setUnsupportedTopics] = React.useState([]);
13
14
  const [pipeline, setPipeline] = React.useState(undefined);
14
15
  const [isPipelineLoading, setIsPipelineLoading] = React.useState(false);
15
16
  const [connection, setConnection] = React.useState(null);
@@ -32,7 +33,7 @@ export function useCreateConnection({ type, activeServices, onNewConnection, ...
32
33
  handleGetCameraIntrinsics();
33
34
  const refreshConnection = () => {
34
35
  const newConnection = new DAIConnection();
35
- newConnection.on('error', console.error);
36
+ newConnection.on('error', handleError);
36
37
  newConnection.on('open', () => {
37
38
  setConnected(true);
38
39
  handleGetCameraIntrinsics();
@@ -49,7 +50,8 @@ export function useCreateConnection({ type, activeServices, onNewConnection, ...
49
50
  setPipeline(pipeline);
50
51
  setIsPipelineLoading(false);
51
52
  });
52
- newConnection.on('disconnect', (_error) => {
53
+ newConnection.on('disconnect', (error) => {
54
+ log.error({ error }, 'DepthAI Connection disconnected!');
53
55
  toast({
54
56
  description: 'The link to the application frontend is not valid. You need to open the frontend from Luxonis Hub again.',
55
57
  colorVariant: 'error',
@@ -95,42 +97,18 @@ export function useCreateConnection({ type, activeServices, onNewConnection, ...
95
97
  }, [connected, connection]);
96
98
  React.useEffect(() => {
97
99
  if (topics.length > 0) {
98
- if (topics.find((topic) => topic.name === StreamTypes.PointCloud)?.enabled) {
99
- const pcColor = topics.find((t) => t.name === StreamTypes._PointCloudColor);
100
- if (pcColor?.enabled === false) {
101
- connection?.toggleTopic(StreamTypes._PointCloudColor);
102
- }
103
- else if (!pcColor &&
104
- topics.find((t) => t.name === StreamTypes.Encoded)?.enabled === false) {
105
- connection?.toggleTopic(StreamTypes.Encoded);
106
- }
107
- }
108
100
  updateSearch('streams', topics.filter((topic) => topic.enabled).map((topic) => topic.name));
109
101
  }
110
- }, [topics, updateSearch]);
111
- const toggleTopic = React.useCallback((topicName, isRawSteamEnabledManually) => {
112
- if (topicName === StreamTypes.PointCloud &&
113
- topics.find((topic) => topic.name === topicName)?.enabled === false) {
114
- const pcColor = topics.find((t) => t.name === StreamTypes._PointCloudColor);
115
- if (!pcColor?.enabled) {
116
- connection?.toggleTopic(StreamTypes._PointCloudColor);
117
- }
118
- else if (!pcColor && topics.find((t) => t.name === StreamTypes.Encoded)) {
119
- connection?.toggleTopic(StreamTypes.Encoded);
120
- }
121
- }
122
- if (topicName === StreamTypes.PointCloud &&
123
- isRawSteamEnabledManually === false &&
124
- topics.find((n) => n.name === 'Point Cloud')?.enabled) {
125
- if (topics.find((n) => n.name === StreamTypes._PointCloudColor)) {
126
- connection?.toggleTopic(StreamTypes._PointCloudColor);
127
- }
128
- else if (topics.find((n) => n.name === StreamTypes.Encoded)) {
129
- connection?.toggleTopic(StreamTypes.Encoded);
130
- }
131
- }
102
+ }, [topics, updateSearch, type]);
103
+ const toggleTopic = React.useCallback((topicName) => {
132
104
  connection?.toggleTopic(topicName);
133
105
  }, [connection]);
106
+ const handleError = (errorCode, topic, errorData) => {
107
+ console.error('An error occurred in DepthAI Connection', { errorCode, topic, errorData });
108
+ if (errorCode === 'EncodedStreamNotSupported') {
109
+ setUnsupportedTopics((current) => [...current, topic]);
110
+ }
111
+ };
134
112
  return {
135
113
  connected,
136
114
  daiConnection: connection,
@@ -139,6 +117,7 @@ export function useCreateConnection({ type, activeServices, onNewConnection, ...
139
117
  isPipelineLoading,
140
118
  setIsPipelineLoading,
141
119
  topics,
120
+ unsupportedTopics,
142
121
  toggleTopic,
143
122
  };
144
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAGzD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAmB,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA8B5C,MAAM,UAAU,mBAAmB,CAAC,EACnC,IAAI,EACJ,cAAc,EACd,eAAe,EACf,GAAG,MAAM,EACgB;IACzB,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QAC9C,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QAC5C,WAAW,EAAE,CAAC,SAAS,CAAC;KACxB,CAAC,CAAC;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,EAAE,CAAC,CAAC;IACxD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAA8B,SAAS,CAAC,CAAC;IACvF,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAuB,IAAI,CAAC,CAAC;IAE/E,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,yBAAyB,GAAG,GAAG,EAAE;QACtC,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAC3E,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC1B,UAAU,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;oBACvD,yCAAyC;oBACzC,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3E,CAAC,CAAC,CAAC;gBACH,UAAU,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;YAChD,CAAC;QACF,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAChE,CAAC;IACF,CAAC,CAAC;IACF,yBAAyB,EAAE,CAAC;IAE5B,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC9B,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAE1C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YAC7B,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,yBAAyB,EAAE,CAAC;YAC5B,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC9B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,WAAW,CAAC,SAAS,CAAC,CAAC;YACvB,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACtC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;YACzC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACtB,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YACzC,KAAK,CAAC;gBACL,WAAW,EACV,0GAA0G;gBAC3G,YAAY,EAAE,OAAO;gBACrB,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,kBAAkB;aACxB,CAAC,CAAC;YACH,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,WAAW,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,eAAe,EAAE,CAAC,aAAa,CAAC,CAAC;QAEjC,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC;gBAClB,IAAI;gBACJ,GAAG,MAAM;gBACT,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE;oBAChC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC1B,CAAC;gBACD,cAAc,EAAE,MAAM,CAAC,OAAmB;aAC1C,CAAC,CAAC;YAEH,aAAa,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC,CAAC;IAEF,qGAAqG;IACrG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,iBAAiB,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACP,yBAAyB,EAAE,CAAC;QAC7B,CAAC;IACF,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;IAEtF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,UAAU,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IAEjC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7D,CAAC,UAAU,CAAC,CACZ,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC7C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;gBAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAC5E,IAAI,OAAO,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;oBAChC,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBACvD,CAAC;qBAAM,IACN,CAAC,OAAO;oBACR,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,KAAK,EACpE,CAAC;oBACF,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC9C,CAAC;YACF,CAAC;YACD,YAAY,CACX,SAAS,EACT,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAClE,CAAC;QACH,CAAC;IACF,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAE3B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACpC,CAAC,SAAiB,EAAE,yBAAmC,EAAQ,EAAE;QAChE,IACC,SAAS,KAAK,WAAW,CAAC,UAAU;YACpC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,OAAO,KAAK,KAAK,EAClE,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAC5E,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;gBACvB,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;YACvD,CAAC;iBAAM,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3E,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC9C,CAAC;QACF,CAAC;QACD,IACC,SAAS,KAAK,WAAW,CAAC,UAAU;YACpC,yBAAyB,KAAK,KAAK;YACnC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE,OAAO,EACpD,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACjE,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;YACvD,CAAC;iBAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/D,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC9C,CAAC;QACF,CAAC;QACD,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,EACD,CAAC,UAAU,CAAC,CACZ,CAAC;IAEF,OAAO;QACN,SAAS;QACT,aAAa,EAAE,UAAU;QACzB,WAAW;QACX,QAAQ;QACR,iBAAiB;QACjB,oBAAoB;QACpB,MAAM;QACN,WAAW;KACX,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAGzD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAmB,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AA+B/C,MAAM,UAAU,mBAAmB,CAAC,EACnC,IAAI,EACJ,cAAc,EACd,eAAe,EACf,GAAG,MAAM,EACgB;IACzB,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QAC9C,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QAC5C,WAAW,EAAE,CAAC,SAAS,CAAC;KACxB,CAAC,CAAC;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,EAAE,CAAC,CAAC;IACxD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;IAC/E,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAA8B,SAAS,CAAC,CAAC;IACvF,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAuB,IAAI,CAAC,CAAC;IAE/E,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,yBAAyB,GAAG,GAAG,EAAE;QACtC,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAC3E,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC1B,UAAU,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;oBACvD,yCAAyC;oBACzC,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3E,CAAC,CAAC,CAAC;gBACH,UAAU,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;YAChD,CAAC;QACF,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAChE,CAAC;IACF,CAAC,CAAC;IACF,yBAAyB,EAAE,CAAC;IAE5B,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC9B,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAE1C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACvC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YAC7B,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,yBAAyB,EAAE,CAAC;YAC5B,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC9B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,WAAW,CAAC,SAAS,CAAC,CAAC;YACvB,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACtC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;YACzC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACtB,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;YACxC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,kCAAkC,CAAC,CAAC;YAEzD,KAAK,CAAC;gBACL,WAAW,EACV,0GAA0G;gBAC3G,YAAY,EAAE,OAAO;gBACrB,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,kBAAkB;aACxB,CAAC,CAAC;YAEH,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,WAAW,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,eAAe,EAAE,CAAC,aAAa,CAAC,CAAC;QAEjC,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC;gBAClB,IAAI;gBACJ,GAAG,MAAM;gBACT,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE;oBAChC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC1B,CAAC;gBACD,cAAc,EAAE,MAAM,CAAC,OAAmB;aAC1C,CAAC,CAAC;YAEH,aAAa,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC,CAAC;IAEF,qGAAqG;IACrG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,iBAAiB,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACP,yBAAyB,EAAE,CAAC;QAC7B,CAAC;IACF,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;IAEtF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,UAAU,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IAEjC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7D,CAAC,UAAU,CAAC,CACZ,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC7C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,YAAY,CACX,SAAS,EACT,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAClE,CAAC;QACH,CAAC;IACF,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IAEjC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACpC,CAAC,SAAiB,EAAQ,EAAE;QAC3B,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,EACD,CAAC,UAAU,CAAC,CACZ,CAAC;IAEF,MAAM,WAAW,GAAiC,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;QACjF,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAE1F,IAAI,SAAS,KAAK,2BAA2B,EAAE,CAAC;YAC/C,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC;IACF,CAAC,CAAC;IAEF,OAAO;QACN,SAAS;QACT,aAAa,EAAE,UAAU;QACzB,WAAW;QACX,QAAQ;QACR,iBAAiB;QACjB,oBAAoB;QACpB,MAAM;QACN,iBAAiB;QACjB,WAAW;KACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React, { type MutableRefObject } from 'react';
2
+ export declare function useFullscreen(ref: React.MutableRefObject<HTMLElement | undefined | null>): {
3
+ expanded: boolean;
4
+ setExpanded: (newExpanded: boolean) => void;
5
+ };
6
+ export declare function useFullscreenDynamic(): {
7
+ toggleFullscreen: (ref: MutableRefObject<HTMLElement>) => void;
8
+ };
9
+ //# sourceMappingURL=useFullScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFullScreen.d.ts","sourceRoot":"","sources":["../../src/hooks/useFullScreen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAErD,wBAAgB,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;;+BAczE,OAAO;EAetB;AAED,wBAAgB,oBAAoB;4BAcJ,gBAAgB,CAAC,WAAW,CAAC;EAe5D"}
@@ -0,0 +1,52 @@
1
+ import React from 'react';
2
+ export function useFullscreen(ref) {
3
+ const [expanded, setExpanded] = React.useState(false);
4
+ React.useEffect(() => {
5
+ const syncFullscreen = () => {
6
+ if (expanded && !document.fullscreenElement) {
7
+ setExpanded(false);
8
+ }
9
+ };
10
+ document.addEventListener('fullscreenchange', syncFullscreen);
11
+ return () => document.removeEventListener('fullscreenchange', syncFullscreen);
12
+ }, [expanded]);
13
+ const setFullscreen = React.useCallback((newExpanded) => {
14
+ setExpanded(newExpanded);
15
+ if (ref.current) {
16
+ if (newExpanded) {
17
+ void ref.current.requestFullscreen();
18
+ }
19
+ else {
20
+ void document.exitFullscreen();
21
+ }
22
+ }
23
+ }, [ref]);
24
+ return { expanded, setExpanded: setFullscreen };
25
+ }
26
+ export function useFullscreenDynamic() {
27
+ const [expanded, setExpanded] = React.useState(false);
28
+ React.useEffect(() => {
29
+ const syncFullscreen = () => {
30
+ if (expanded && !document.fullscreenElement) {
31
+ setExpanded(false);
32
+ }
33
+ };
34
+ document.addEventListener('fullscreenchange', syncFullscreen);
35
+ return () => document.removeEventListener('fullscreenchange', syncFullscreen);
36
+ }, [expanded]);
37
+ const toggleFullscreen = (ref) => {
38
+ const newExpanded = !document.fullscreenElement;
39
+ if (ref.current) {
40
+ if (newExpanded) {
41
+ void ref.current.requestFullscreen();
42
+ setExpanded(true);
43
+ }
44
+ else {
45
+ void document.exitFullscreen();
46
+ setExpanded(false);
47
+ }
48
+ }
49
+ };
50
+ return { toggleFullscreen };
51
+ }
52
+ //# sourceMappingURL=useFullScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFullScreen.js","sourceRoot":"","sources":["../../src/hooks/useFullScreen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD,MAAM,UAAU,aAAa,CAAC,GAA2D;IACxF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,MAAM,cAAc,GAAG,GAAG,EAAE;YAC3B,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;gBAC7C,WAAW,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACF,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;QAC9D,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;IAC/E,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACtC,CAAC,WAAoB,EAAE,EAAE;QACxB,WAAW,CAAC,WAAW,CAAC,CAAC;QAEzB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,WAAW,EAAE,CAAC;gBACjB,KAAK,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACP,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;YAChC,CAAC;QACF,CAAC;IACF,CAAC,EACD,CAAC,GAAG,CAAC,CACL,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,oBAAoB;IACnC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,MAAM,cAAc,GAAG,GAAG,EAAE;YAC3B,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;gBAC7C,WAAW,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACF,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;QAE9D,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;IAC/E,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,gBAAgB,GAAG,CAAC,GAAkC,EAAE,EAAE;QAC/D,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAEhD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,WAAW,EAAE,CAAC;gBACjB,KAAK,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBACrC,WAAW,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACP,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC/B,WAAW,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC7B,CAAC"}
package/dist/index.css CHANGED
@@ -1,2 +1,3 @@
1
1
  @import url(./fonts/inter.css);
2
2
  @import url(./fonts/jetbrains-mono.css);
3
+ @import url(./fonts/ubuntu-mono.css);
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export * from './components/Resizable.js';
6
6
  export * from './components/Streams.js';
7
7
  export * from './components/CTASubLabel.js';
8
8
  export * from './components/DepthAIContext.js';
9
+ export * from './components/Resizable.js';
9
10
  export * from './constants/connection.js';
10
11
  export * from './constants/url.js';
11
12
  export * from './dai-connection/connection.js';
@@ -13,11 +14,13 @@ export * from './dai-connection/decoder.worker.js';
13
14
  export * from './hooks/connection.js';
14
15
  export * from './hooks/navigation.js';
15
16
  export * from './hooks/search.js';
17
+ export * from './hooks/useFullScreen.js';
16
18
  export * from './models/device-configuration.js';
17
19
  export * from './utils/dynamic-base-worker.js';
18
20
  export * from './utils/functions.js';
19
21
  export * from './utils/sorting.js';
20
22
  export * from './utils/url.js';
23
+ export * from './utils/network-information.js';
21
24
  export * from './providers/DataProvider.js';
22
25
  export * from './providers/ConnectionProvider.js';
23
26
  export * from './constants/streams.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AAErC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAE/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AAEnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AAEnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAElC,cAAc,kCAAkC,CAAC;AAEjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AAErC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AAEnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AAEnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,kCAAkC,CAAC;AAEjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAE/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ export * from './components/Resizable.js';
6
6
  export * from './components/Streams.js';
7
7
  export * from './components/CTASubLabel.js';
8
8
  export * from './components/DepthAIContext.js';
9
+ export * from './components/Resizable.js';
9
10
  export * from './constants/connection.js';
10
11
  export * from './constants/url.js';
11
12
  export * from './dai-connection/connection.js';
@@ -13,11 +14,13 @@ export * from './dai-connection/decoder.worker.js';
13
14
  export * from './hooks/connection.js';
14
15
  export * from './hooks/navigation.js';
15
16
  export * from './hooks/search.js';
17
+ export * from './hooks/useFullScreen.js';
16
18
  export * from './models/device-configuration.js';
17
19
  export * from './utils/dynamic-base-worker.js';
18
20
  export * from './utils/functions.js';
19
21
  export * from './utils/sorting.js';
20
22
  export * from './utils/url.js';
23
+ export * from './utils/network-information.js';
21
24
  export * from './providers/DataProvider.js';
22
25
  export * from './providers/ConnectionProvider.js';
23
26
  export * from './constants/streams.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AAErC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAE/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AAEnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AAEnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAElC,cAAc,kCAAkC,CAAC;AAEjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AAErC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AAEnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AAEnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,kCAAkC,CAAC;AAEjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAE/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC"}
@@ -1,25 +1,37 @@
1
1
  import { z } from 'zod';
2
2
  export declare const SensorSchema: z.ZodObject<{
3
3
  boardSocket: z.ZodString;
4
- height: z.ZodNumber;
5
4
  maxFps: z.ZodNumber;
6
5
  minFps: z.ZodNumber;
7
6
  type: z.ZodString;
8
- width: z.ZodNumber;
7
+ supportedResolutions: z.ZodArray<z.ZodObject<{
8
+ width: z.ZodNumber;
9
+ height: z.ZodNumber;
10
+ }, "strip", z.ZodTypeAny, {
11
+ width: number;
12
+ height: number;
13
+ }, {
14
+ width: number;
15
+ height: number;
16
+ }>, "many">;
9
17
  }, "strip", z.ZodTypeAny, {
10
18
  type: string;
11
- width: number;
12
- height: number;
13
19
  boardSocket: string;
14
20
  maxFps: number;
15
21
  minFps: number;
22
+ supportedResolutions: {
23
+ width: number;
24
+ height: number;
25
+ }[];
16
26
  }, {
17
27
  type: string;
18
- width: number;
19
- height: number;
20
28
  boardSocket: string;
21
29
  maxFps: number;
22
30
  minFps: number;
31
+ supportedResolutions: {
32
+ width: number;
33
+ height: number;
34
+ }[];
23
35
  }>;
24
36
  export type Sensor = z.infer<typeof SensorSchema>;
25
37
  export declare const IrSchema: z.ZodObject<{
@@ -33,28 +45,44 @@ export declare const IrSchema: z.ZodObject<{
33
45
  dotProjector: boolean;
34
46
  }>;
35
47
  export type Ir = z.infer<typeof IrSchema>;
48
+ export declare const PlatformSchema: z.ZodEnum<["RVC2", "RVC4"]>;
49
+ export type Platform = z.infer<typeof PlatformSchema>;
50
+ export declare const ConnectionTypeSchema: z.ZodEnum<["USB", "ETH", "UNKNOWN"]>;
51
+ export type ConnectionType = z.infer<typeof ConnectionTypeSchema>;
36
52
  export declare const DeviceConfigurationSchema: z.ZodObject<{
37
53
  cameraSensors: z.ZodArray<z.ZodObject<{
38
54
  boardSocket: z.ZodString;
39
- height: z.ZodNumber;
40
55
  maxFps: z.ZodNumber;
41
56
  minFps: z.ZodNumber;
42
57
  type: z.ZodString;
43
- width: z.ZodNumber;
58
+ supportedResolutions: z.ZodArray<z.ZodObject<{
59
+ width: z.ZodNumber;
60
+ height: z.ZodNumber;
61
+ }, "strip", z.ZodTypeAny, {
62
+ width: number;
63
+ height: number;
64
+ }, {
65
+ width: number;
66
+ height: number;
67
+ }>, "many">;
44
68
  }, "strip", z.ZodTypeAny, {
45
69
  type: string;
46
- width: number;
47
- height: number;
48
70
  boardSocket: string;
49
71
  maxFps: number;
50
72
  minFps: number;
73
+ supportedResolutions: {
74
+ width: number;
75
+ height: number;
76
+ }[];
51
77
  }, {
52
78
  type: string;
53
- width: number;
54
- height: number;
55
79
  boardSocket: string;
56
80
  maxFps: number;
57
81
  minFps: number;
82
+ supportedResolutions: {
83
+ width: number;
84
+ height: number;
85
+ }[];
58
86
  }>, "many">;
59
87
  ir: z.ZodObject<{
60
88
  floodLight: z.ZodBoolean;
@@ -69,14 +97,17 @@ export declare const DeviceConfigurationSchema: z.ZodObject<{
69
97
  stereo: z.ZodBoolean;
70
98
  thermal: z.ZodBoolean;
71
99
  productName: z.ZodEnum<["OAK-D S2 AF", "OAK-D S2 FF", "OAK-D-W", "OAK-D-W-97", "OAK-D Pro AF", "OAK-D Pro FF", "OAK-D Pro FF 97", "OAK-D Pro W", "OAK-D Pro W 97", "OAK-D-Lite AF", "OAK-D-Lite FF", "OAK-D", "OAK-D-S2 PoE AF", "OAK-D-S2 PoE FF", "OAK-D W PoE", "OAK-D-W PoE 97", "OAK-D-Pro PoE AF", "OAK-D-Pro PoE FF", "OAK-D-Pro PoE FF 97", "OAK-D-Pro W PoE", "OAK-D-Pro W PoE 97", "OAK-D-PoE", "OAK-1-PoE AF", "OAK-1-PoE FF", "OAK-1 W PoE", "OAK-1 W PoE 97", "OAK-1 AF", "OAK-1 FF", "OAK-1 FF 97", "OAK-1 W", "OAK-1 W 97", "OAK-1 MAX", "OAK-1-Lite AF", "OAK-1-Lite FF", "OAK-1-Lite W", "OAK-D CM4", "OAK-D CM4 PoE", "OAK-D LR", "OAK-D SR", "OAK-D SR PoE", "RAE", "OAK4-D", "OAK4-D-AF", "OAK4-D-FF", "OAK4-D-W", "OAK4-D-PRO", "OAK4-D-PRO-AF", "OAK4-D-PRO-FF", "OAK4-D-PRO-W", "OAK4-S", "OAK4-S-AF", "OAK4-S-FF", "OAK4-S-W", "OAK4-LR", "OAK4-SR"]>;
100
+ platform: z.ZodEnum<["RVC2", "RVC4"]>;
72
101
  }, "strip", z.ZodTypeAny, {
73
102
  cameraSensors: {
74
103
  type: string;
75
- width: number;
76
- height: number;
77
104
  boardSocket: string;
78
105
  maxFps: number;
79
106
  minFps: number;
107
+ supportedResolutions: {
108
+ width: number;
109
+ height: number;
110
+ }[];
80
111
  }[];
81
112
  ir: {
82
113
  floodLight: boolean;
@@ -85,14 +116,17 @@ export declare const DeviceConfigurationSchema: z.ZodObject<{
85
116
  stereo: boolean;
86
117
  thermal: boolean;
87
118
  productName: "OAK-D S2 AF" | "OAK-D S2 FF" | "OAK-D-W" | "OAK-D-W-97" | "OAK-D Pro AF" | "OAK-D Pro FF" | "OAK-D Pro FF 97" | "OAK-D Pro W" | "OAK-D Pro W 97" | "OAK-D-Lite AF" | "OAK-D-Lite FF" | "OAK-D" | "OAK-D-S2 PoE AF" | "OAK-D-S2 PoE FF" | "OAK-D W PoE" | "OAK-D-W PoE 97" | "OAK-D-Pro PoE AF" | "OAK-D-Pro PoE FF" | "OAK-D-Pro PoE FF 97" | "OAK-D-Pro W PoE" | "OAK-D-Pro W PoE 97" | "OAK-D-PoE" | "OAK-1-PoE AF" | "OAK-1-PoE FF" | "OAK-1 W PoE" | "OAK-1 W PoE 97" | "OAK-1 AF" | "OAK-1 FF" | "OAK-1 FF 97" | "OAK-1 W" | "OAK-1 W 97" | "OAK-1 MAX" | "OAK-1-Lite AF" | "OAK-1-Lite FF" | "OAK-1-Lite W" | "OAK-D CM4" | "OAK-D CM4 PoE" | "OAK-D LR" | "OAK-D SR" | "OAK-D SR PoE" | "RAE" | "OAK4-D" | "OAK4-D-AF" | "OAK4-D-FF" | "OAK4-D-W" | "OAK4-D-PRO" | "OAK4-D-PRO-AF" | "OAK4-D-PRO-FF" | "OAK4-D-PRO-W" | "OAK4-S" | "OAK4-S-AF" | "OAK4-S-FF" | "OAK4-S-W" | "OAK4-LR" | "OAK4-SR";
119
+ platform: "RVC2" | "RVC4";
88
120
  }, {
89
121
  cameraSensors: {
90
122
  type: string;
91
- width: number;
92
- height: number;
93
123
  boardSocket: string;
94
124
  maxFps: number;
95
125
  minFps: number;
126
+ supportedResolutions: {
127
+ width: number;
128
+ height: number;
129
+ }[];
96
130
  }[];
97
131
  ir: {
98
132
  floodLight: boolean;
@@ -101,6 +135,7 @@ export declare const DeviceConfigurationSchema: z.ZodObject<{
101
135
  stereo: boolean;
102
136
  thermal: boolean;
103
137
  productName: "OAK-D S2 AF" | "OAK-D S2 FF" | "OAK-D-W" | "OAK-D-W-97" | "OAK-D Pro AF" | "OAK-D Pro FF" | "OAK-D Pro FF 97" | "OAK-D Pro W" | "OAK-D Pro W 97" | "OAK-D-Lite AF" | "OAK-D-Lite FF" | "OAK-D" | "OAK-D-S2 PoE AF" | "OAK-D-S2 PoE FF" | "OAK-D W PoE" | "OAK-D-W PoE 97" | "OAK-D-Pro PoE AF" | "OAK-D-Pro PoE FF" | "OAK-D-Pro PoE FF 97" | "OAK-D-Pro W PoE" | "OAK-D-Pro W PoE 97" | "OAK-D-PoE" | "OAK-1-PoE AF" | "OAK-1-PoE FF" | "OAK-1 W PoE" | "OAK-1 W PoE 97" | "OAK-1 AF" | "OAK-1 FF" | "OAK-1 FF 97" | "OAK-1 W" | "OAK-1 W 97" | "OAK-1 MAX" | "OAK-1-Lite AF" | "OAK-1-Lite FF" | "OAK-1-Lite W" | "OAK-D CM4" | "OAK-D CM4 PoE" | "OAK-D LR" | "OAK-D SR" | "OAK-D SR PoE" | "RAE" | "OAK4-D" | "OAK4-D-AF" | "OAK4-D-FF" | "OAK4-D-W" | "OAK4-D-PRO" | "OAK4-D-PRO-AF" | "OAK4-D-PRO-FF" | "OAK4-D-PRO-W" | "OAK4-S" | "OAK4-S-AF" | "OAK4-S-FF" | "OAK4-S-W" | "OAK4-LR" | "OAK4-SR";
138
+ platform: "RVC2" | "RVC4";
104
139
  }>;
105
140
  export type DeviceConfiguration = z.infer<typeof DeviceConfigurationSchema>;
106
141
  //# sourceMappingURL=device-configuration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device-configuration.d.ts","sourceRoot":"","sources":["../../src/models/device-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;EAOvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,QAAQ;;;;;;;;;EAGnB,CAAC;AACH,MAAM,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE1C,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"device-configuration.d.ts","sourceRoot":"","sources":["../../src/models/device-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,QAAQ;;;;;;;;;EAGnB,CAAC;AACH,MAAM,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE1C,eAAO,MAAM,cAAc,6BAA2B,CAAC;AACvD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,oBAAoB,sCAAoC,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -2,21 +2,23 @@ import { z } from 'zod';
2
2
  import { DeviceListSchema } from '@luxonis/common-fe-components';
3
3
  export const SensorSchema = z.object({
4
4
  boardSocket: z.string(),
5
- height: z.number(),
6
5
  maxFps: z.number(),
7
6
  minFps: z.number(),
8
7
  type: z.string(),
9
- width: z.number(),
8
+ supportedResolutions: z.array(z.object({ width: z.number(), height: z.number() })),
10
9
  });
11
10
  export const IrSchema = z.object({
12
11
  floodLight: z.boolean(),
13
12
  dotProjector: z.boolean(),
14
13
  });
14
+ export const PlatformSchema = z.enum(['RVC2', 'RVC4']);
15
+ export const ConnectionTypeSchema = z.enum(['USB', 'ETH', 'UNKNOWN']);
15
16
  export const DeviceConfigurationSchema = z.object({
16
17
  cameraSensors: z.array(SensorSchema),
17
18
  ir: IrSchema,
18
19
  stereo: z.boolean(),
19
20
  thermal: z.boolean(),
20
21
  productName: DeviceListSchema,
22
+ platform: PlatformSchema,
21
23
  });
22
24
  //# sourceMappingURL=device-configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"device-configuration.js","sourceRoot":"","sources":["../../src/models/device-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IACpC,EAAE,EAAE,QAAQ;IACZ,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,WAAW,EAAE,gBAAgB;CAC7B,CAAC,CAAC"}
1
+ {"version":3,"file":"device-configuration.js","sourceRoot":"","sources":["../../src/models/device-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;CAClF,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAGvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAGtE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IACpC,EAAE,EAAE,QAAQ;IACZ,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,WAAW,EAAE,gBAAgB;IAC7B,QAAQ,EAAE,cAAc;CACxB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionProvider.d.ts","sourceRoot":"","sources":["../../src/providers/ConnectionProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAuB,MAAM,wBAAwB,CAAC;AAElF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,iBAAiB,+BAS5B,CAAC;AAEH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CACxC,KAAK,CAAC,iBAAiB,CAAC;IAAE,cAAc,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC,CAiBzD,CAAC;AAEF,eAAO,MAAM,aAAa,sBAA4C,CAAC"}
1
+ {"version":3,"file":"ConnectionProvider.d.ts","sourceRoot":"","sources":["../../src/providers/ConnectionProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAuB,MAAM,wBAAwB,CAAC;AAElF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,iBAAiB,+BAU5B,CAAC;AAEH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CACxC,KAAK,CAAC,iBAAiB,CAAC;IAAE,cAAc,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC,CAiBzD,CAAC;AAEF,eAAO,MAAM,aAAa,sBAA4C,CAAC"}
@@ -8,6 +8,7 @@ export const ConnectionContext = React.createContext({
8
8
  daiConnection: null,
9
9
  connected: false,
10
10
  topics: [],
11
+ unsupportedTopics: [],
11
12
  pipeline: undefined,
12
13
  isPipelineLoading: false,
13
14
  setIsPipelineLoading: noop,
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionProvider.js","sourceRoot":"","sources":["../../src/providers/ConnectionProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAuB,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAiB;IACpE,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,SAAS;IACnB,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,IAAI;IAC1B,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,IAAI;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAE3B,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE;IACpC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;IAE7D,MAAM,cAAc,GAAG,mBAAmB,CAAC;QAC1C,IAAI,EAAE,cAAc;QACpB,KAAK;QACL,QAAQ;QACR,aAAa,EAAE,KAAK;QACpB,cAAc;KACd,CAAC,CAAC;IAEH,OAAO,CACN,KAAC,iBAAiB,IAAC,WAAW,EAAE,cAAc,CAAC,WAAW,YACzD,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,cAAc,YAAG,QAAQ,GAA8B,GACvE,CACpB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"ConnectionProvider.js","sourceRoot":"","sources":["../../src/providers/ConnectionProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAuB,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAiB;IACpE,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,EAAE;IACV,iBAAiB,EAAE,EAAE;IACrB,QAAQ,EAAE,SAAS;IACnB,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,IAAI;IAC1B,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,IAAI;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAE3B,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE;IACpC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;IAE7D,MAAM,cAAc,GAAG,mBAAmB,CAAC;QAC1C,IAAI,EAAE,cAAc;QACpB,KAAK;QACL,QAAQ;QACR,aAAa,EAAE,KAAK;QACpB,cAAc;KACd,CAAC,CAAC;IAEH,OAAO,CACN,KAAC,iBAAiB,IAAC,WAAW,EAAE,cAAc,CAAC,WAAW,YACzD,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,cAAc,YAAG,QAAQ,GAA8B,GACvE,CACpB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import React from 'react';
2
2
  export type DataContext = {
3
3
  columns: number | null;
4
+ customLayout: boolean;
4
5
  changeColumns: (columns: number | null) => void;
6
+ changeCustomLayout: (value: boolean) => void;
5
7
  changeWsUrl: (url: string) => void;
6
8
  connectionType: 'ws' | 'webrtc';
7
9
  wsUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DataProvider.d.ts","sourceRoot":"","sources":["../../src/providers/DataProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,cAAc,EAAE,IAAI,GAAG,QAAQ,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAC;AAYF,eAAO,MAAM,OAAO,mBAAsC,CAAC;AAE3D,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAiD1D,CAAC"}
1
+ {"version":3,"file":"DataProvider.d.ts","sourceRoot":"","sources":["../../src/providers/DataProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,cAAc,EAAE,IAAI,GAAG,QAAQ,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAC;AAcF,eAAO,MAAM,OAAO,mBAAsC,CAAC;AAE3D,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CA8D1D,CAAC"}
@@ -6,9 +6,11 @@ import { noop } from '../utils/functions.js';
6
6
  import { IS_ELECTRON } from '@luxonis/depthai-viewer-common';
7
7
  const DataContext = React.createContext({
8
8
  columns: null,
9
+ customLayout: false,
9
10
  connectionType: 'ws',
10
11
  wsUrl: DEFAULT_WS_URL,
11
12
  changeColumns: noop,
13
+ changeCustomLayout: noop,
12
14
  changeWsUrl: noop,
13
15
  token: '',
14
16
  clientId: '',
@@ -21,6 +23,7 @@ export const DataProvider = ({ children }) => {
21
23
  const [columns, setColumns] = React.useState(() => {
22
24
  return search.layout === '0' ? null : Number(search.layout);
23
25
  });
26
+ const [customLayout, setCustomLayout] = React.useState(false);
24
27
  const [connectionUrl, setConnectionUrl] = React.useState(search.t && search.cid
25
28
  ? ''
26
29
  : search.ws_url
@@ -30,8 +33,14 @@ export const DataProvider = ({ children }) => {
30
33
  : DEFAULT_WS_URL);
31
34
  const changeColumns = React.useCallback((columns) => {
32
35
  setColumns(columns);
36
+ setCustomLayout(false);
33
37
  updateSearch('layout', columns ?? 0);
34
38
  }, [updateSearch]);
39
+ const changeCustomLayout = React.useCallback((value) => {
40
+ setCustomLayout(value);
41
+ setColumns(null);
42
+ updateSearch('layout', 0);
43
+ }, [updateSearch]);
35
44
  const changeWsUrl = React.useCallback((url) => {
36
45
  setConnectionUrl(url);
37
46
  updateSearch('t', null);
@@ -43,7 +52,9 @@ export const DataProvider = ({ children }) => {
43
52
  wsUrl: connectionUrl,
44
53
  connectionType: search.t && search.cid ? 'webrtc' : 'ws',
45
54
  columns,
55
+ customLayout,
46
56
  changeColumns,
57
+ changeCustomLayout,
47
58
  changeWsUrl,
48
59
  }, children: children }));
49
60
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DataProvider.js","sourceRoot":"","sources":["../../src/providers/DataProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAY7D,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAc;IACpD,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,IAAI;IACpB,KAAK,EAAE,cAAc;IACrB,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,EAAE;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,YAAY,GAAsC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/E,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;QAC9C,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;KAC5C,CAAC,CAAC;IACH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAgB,GAAG,EAAE;QAChE,OAAO,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CACvD,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG;QACrB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,MAAM,CAAC,MAAM;YACd,CAAC,CAAE,MAAM,CAAC,MAAiB;YAC3B,CAAC,CAAC,YAAY,IAAI,WAAW;gBAC5B,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,cAAc,CACnB,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACtC,CAAC,OAAsB,EAAE,EAAE;QAC1B,UAAU,CAAC,OAAO,CAAC,CAAC;QACpB,YAAY,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC,EACD,CAAC,YAAY,CAAC,CACd,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACpC,CAAC,GAAW,EAAE,EAAE;QACf,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtB,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxB,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC,EACD,CAAC,YAAY,CAAC,CACd,CAAC;IAEF,OAAO,CACN,KAAC,WAAW,CAAC,QAAQ,IACpB,KAAK,EAAE;YACN,KAAK,EAAE,MAAM,CAAC,CAAW;YACzB,QAAQ,EAAE,MAAM,CAAC,GAAa;YAC9B,KAAK,EAAE,aAAa;YACpB,cAAc,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YACxD,OAAO;YACP,aAAa;YACb,WAAW;SACX,YAEA,QAAQ,GACa,CACvB,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"DataProvider.js","sourceRoot":"","sources":["../../src/providers/DataProvider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ToastProps } from '@luxonis/common-fe-components';
2
+ export declare const checkInternetConnection: (toast: (props: ToastProps) => void) => void;
3
+ //# sourceMappingURL=network-information.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-information.d.ts","sourceRoot":"","sources":["../../src/utils/network-information.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AA0BhE,eAAO,MAAM,uBAAuB,GAAI,OAAO,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,SAkBzE,CAAC"}
@@ -0,0 +1,24 @@
1
+ const toastProps = {
2
+ colorVariant: 'warning',
3
+ name: 'internet-connection-error',
4
+ duration: 'long',
5
+ };
6
+ export const checkInternetConnection = (toast) => {
7
+ const connection = navigator.connection;
8
+ if (!connection) {
9
+ return;
10
+ }
11
+ if (connection) {
12
+ const type = connection.type;
13
+ const downlink = connection.downlink;
14
+ if ((type && type !== 'ethernet') || (downlink > 0 && downlink < 100)) {
15
+ toast({
16
+ ...toastProps,
17
+ description: 'For optimal performance, it is recommended to use a 1 Gbps or faster Ethernet connection.',
18
+ });
19
+ return;
20
+ }
21
+ return;
22
+ }
23
+ };
24
+ //# sourceMappingURL=network-information.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-information.js","sourceRoot":"","sources":["../../src/utils/network-information.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,GAAG;IAClB,YAAY,EAAE,SAAS;IACvB,IAAI,EAAE,2BAA2B;IACjC,QAAQ,EAAE,MAAM;CACF,CAAC;AAEhB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAkC,EAAE,EAAE;IAC7E,MAAM,UAAU,GAAI,SAA4D,CAAC,UAAU,CAAC;IAC5F,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO;IACR,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC;YACvE,KAAK,CAAC;gBACL,GAAG,UAAU;gBACb,WAAW,EACV,2FAA2F;aAC5F,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QACD,OAAO;IACR,CAAC;AACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luxonis/depthai-viewer-common",
3
- "version": "0.0.15",
3
+ "version": "1.1.17",
4
4
  "description": "Common utilities and components for building a frontend application for DepthAI projects",
5
5
  "license": "ISC",
6
6
  "author": "Luxonis Holding Corporation",
@@ -13,25 +13,26 @@
13
13
  "scripts": {
14
14
  "build": "tsc --build && cp src/index.css ./dist/ && cp -r ./src/fonts ./dist/fonts",
15
15
  "build:clean": "rm -fr ../../node_modules/.tmp/tsconfig-common.tsbuildinfo dist && npm run build",
16
- "prepublishOnly": "cd ../../ && npm run deps:check && cd packages/common && npm run build:clean"
16
+ "check-deps": "npm run deps:check -w @luxonis/depthai-web-viewer",
17
+ "prepublishOnly": "npm run check-deps && npm run build:clean"
17
18
  },
18
19
  "publishConfig": {
19
20
  "access": "public"
20
21
  },
21
22
  "dependencies": {
22
- "@luxonis/visualizer-protobuf": "2.32.1",
23
+ "@luxonis/visualizer-protobuf": "2.45.0",
23
24
  "@luxonis/depthai-pipeline-lib": "^1.4.8",
24
- "@luxonis/common-fe-components": "1.14.0",
25
+ "@luxonis/common-fe-components": "^1.21.2",
25
26
  "@luxonis/common-fe-utils": "1.20.0",
26
27
  "lodash": "^4.17.21",
27
28
  "zod": "^3.24.3",
28
29
  "react-resizable-panels": "^2.1.3"
29
30
  },
30
31
  "devDependencies": {
31
- "@shadow-panda/preset": "^0.7.1"
32
+ "@luxonis-public/shadow-panda-preset": "^0.7.2"
32
33
  },
33
34
  "peerDependencies": {
34
- "@pandacss/dev": "0.15.5",
35
+ "@pandacss/dev": "^0.53.0",
35
36
  "react": "^18.3.1",
36
37
  "react-dom": "^18.3.1"
37
38
  }