@luxonis/depthai-viewer-common 3.8.2 → 3.8.3

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 (123) hide show
  1. package/README.md +104 -11
  2. package/dist/components/CTASubLabel.d.ts +10 -2
  3. package/dist/components/CTASubLabel.d.ts.map +1 -1
  4. package/dist/components/CTASubLabel.js +3 -0
  5. package/dist/components/CTASubLabel.js.map +1 -1
  6. package/dist/components/DepthAIContext.d.ts +25 -2
  7. package/dist/components/DepthAIContext.d.ts.map +1 -1
  8. package/dist/components/DepthAIContext.js +3 -0
  9. package/dist/components/DepthAIContext.js.map +1 -1
  10. package/dist/components/Pipeline.d.ts +19 -2
  11. package/dist/components/Pipeline.d.ts.map +1 -1
  12. package/dist/components/Pipeline.js +12 -0
  13. package/dist/components/Pipeline.js.map +1 -1
  14. package/dist/components/Resizable.d.ts +20 -0
  15. package/dist/components/Resizable.d.ts.map +1 -1
  16. package/dist/components/Resizable.js +8 -0
  17. package/dist/components/Resizable.js.map +1 -1
  18. package/dist/components/Streams.d.ts +98 -4
  19. package/dist/components/Streams.d.ts.map +1 -1
  20. package/dist/components/Streams.js +8 -0
  21. package/dist/components/Streams.js.map +1 -1
  22. package/dist/components/ThemeToggle.d.ts +8 -0
  23. package/dist/components/ThemeToggle.d.ts.map +1 -1
  24. package/dist/components/ThemeToggle.js +8 -0
  25. package/dist/components/ThemeToggle.js.map +1 -1
  26. package/dist/constants/connection.d.ts +27 -0
  27. package/dist/constants/connection.d.ts.map +1 -1
  28. package/dist/constants/connection.js +12 -0
  29. package/dist/constants/connection.js.map +1 -1
  30. package/dist/constants/streams.d.ts +9 -0
  31. package/dist/constants/streams.d.ts.map +1 -1
  32. package/dist/constants/streams.js +6 -0
  33. package/dist/constants/streams.js.map +1 -1
  34. package/dist/constants/url.d.ts +12 -0
  35. package/dist/constants/url.d.ts.map +1 -1
  36. package/dist/constants/url.js +12 -0
  37. package/dist/constants/url.js.map +1 -1
  38. package/dist/dai-connection/connection.d.ts +189 -2
  39. package/dist/dai-connection/connection.d.ts.map +1 -1
  40. package/dist/dai-connection/connection.js +121 -5
  41. package/dist/dai-connection/connection.js.map +1 -1
  42. package/dist/dai-connection/decoder.worker.d.ts +21 -0
  43. package/dist/dai-connection/decoder.worker.d.ts.map +1 -1
  44. package/dist/dai-connection/decoder.worker.js +6 -0
  45. package/dist/dai-connection/decoder.worker.js.map +1 -1
  46. package/dist/hooks/connection.d.ts +206 -0
  47. package/dist/hooks/connection.d.ts.map +1 -1
  48. package/dist/hooks/connection.js +22 -0
  49. package/dist/hooks/connection.js.map +1 -1
  50. package/dist/hooks/navigation.d.ts +5 -0
  51. package/dist/hooks/navigation.d.ts.map +1 -1
  52. package/dist/hooks/navigation.js +5 -0
  53. package/dist/hooks/navigation.js.map +1 -1
  54. package/dist/hooks/search.d.ts +12 -0
  55. package/dist/hooks/search.d.ts.map +1 -1
  56. package/dist/hooks/search.js +3 -0
  57. package/dist/hooks/search.js.map +1 -1
  58. package/dist/hooks/useFullScreen.d.ts +8 -0
  59. package/dist/hooks/useFullScreen.d.ts.map +1 -1
  60. package/dist/hooks/useFullScreen.js +8 -0
  61. package/dist/hooks/useFullScreen.js.map +1 -1
  62. package/dist/index.d.ts +5 -2
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +5 -2
  65. package/dist/index.js.map +1 -1
  66. package/dist/models/device-configuration.d.ts +69 -0
  67. package/dist/models/device-configuration.d.ts.map +1 -1
  68. package/dist/models/device-configuration.js +21 -0
  69. package/dist/models/device-configuration.js.map +1 -1
  70. package/dist/providers/ConnectionProvider.d.ts +56 -2
  71. package/dist/providers/ConnectionProvider.d.ts.map +1 -1
  72. package/dist/providers/ConnectionProvider.js +26 -0
  73. package/dist/providers/ConnectionProvider.js.map +1 -1
  74. package/dist/providers/DataProvider.d.ts +129 -0
  75. package/dist/providers/DataProvider.d.ts.map +1 -1
  76. package/dist/providers/DataProvider.js +21 -0
  77. package/dist/providers/DataProvider.js.map +1 -1
  78. package/dist/providers/ThemeProvider.d.ts +67 -7
  79. package/dist/providers/ThemeProvider.d.ts.map +1 -1
  80. package/dist/providers/ThemeProvider.js +39 -2
  81. package/dist/providers/ThemeProvider.js.map +1 -1
  82. package/dist/providers/VisualizerRuntimeConfigProvider.d.ts +43 -3
  83. package/dist/providers/VisualizerRuntimeConfigProvider.d.ts.map +1 -1
  84. package/dist/providers/VisualizerRuntimeConfigProvider.js +20 -3
  85. package/dist/providers/VisualizerRuntimeConfigProvider.js.map +1 -1
  86. package/dist/utils/arrays.d.ts +7 -0
  87. package/dist/utils/arrays.d.ts.map +1 -1
  88. package/dist/utils/arrays.js +7 -0
  89. package/dist/utils/arrays.js.map +1 -1
  90. package/dist/utils/functions.d.ts +3 -0
  91. package/dist/utils/functions.d.ts.map +1 -1
  92. package/dist/utils/functions.js +3 -0
  93. package/dist/utils/functions.js.map +1 -1
  94. package/dist/utils/local-storage.d.ts +20 -0
  95. package/dist/utils/local-storage.d.ts.map +1 -1
  96. package/dist/utils/local-storage.js +17 -0
  97. package/dist/utils/local-storage.js.map +1 -1
  98. package/dist/utils/logger.d.ts +31 -0
  99. package/dist/utils/logger.d.ts.map +1 -1
  100. package/dist/utils/logger.js +36 -7
  101. package/dist/utils/logger.js.map +1 -1
  102. package/dist/utils/sorting.d.ts +6 -0
  103. package/dist/utils/sorting.d.ts.map +1 -1
  104. package/dist/utils/sorting.js +6 -0
  105. package/dist/utils/sorting.js.map +1 -1
  106. package/dist/utils/topic.d.ts +6 -0
  107. package/dist/utils/topic.d.ts.map +1 -1
  108. package/dist/utils/topic.js +3 -0
  109. package/dist/utils/topic.js.map +1 -1
  110. package/dist/utils/units.d.ts +24 -0
  111. package/dist/utils/units.d.ts.map +1 -1
  112. package/dist/utils/units.js +24 -0
  113. package/dist/utils/units.js.map +1 -1
  114. package/dist/utils/url.d.ts +9 -0
  115. package/dist/utils/url.d.ts.map +1 -1
  116. package/dist/utils/url.js +10 -1
  117. package/dist/utils/url.js.map +1 -1
  118. package/dist/utils/vite-dev-fix.d.ts +13 -0
  119. package/dist/utils/vite-dev-fix.d.ts.map +1 -1
  120. package/dist/utils/vite-dev-fix.js +13 -0
  121. package/dist/utils/vite-dev-fix.js.map +1 -1
  122. package/package.json +2 -2
  123. package/protobuf-gen.sh +60 -3
@@ -1,43 +1,249 @@
1
1
  import type { Pipeline, PipelineState } from '@luxonis/depthai-pipeline-lib';
2
2
  import { DAIConnection, type DAIService, type MessageHandlerVersion } from '../dai-connection/connection.js';
3
3
  import type { VisualizerConnection } from '../visualizer/index.js';
4
+ /**
5
+ * Token refresh behavior used by WebRTC connections.
6
+ *
7
+ * @remarks
8
+ * Pass `true` to write refreshed tokens back to the URL, pass a callback to handle them in the
9
+ * host application, or pass `false` to disable automatic propagation.
10
+ */
4
11
  export type TokenRefreshHandler = ((newToken: string) => void) | boolean;
12
+ /**
13
+ * Stream topic advertised by a DepthAI pipeline and shown in stream controls.
14
+ */
5
15
  export type Topic = {
16
+ /**
17
+ * Backend topic name used for subscribe/unsubscribe calls.
18
+ */
6
19
  name: string;
20
+ /**
21
+ * Whether the stream is currently subscribed in the active connection.
22
+ *
23
+ * @remarks
24
+ * Fake topics update this flag locally; backend topics are toggled through the connection.
25
+ */
7
26
  enabled: boolean;
27
+ /**
28
+ * Stream payload kind used by the visualizer renderer.
29
+ */
8
30
  kind: 'pointCloud' | 'image' | 'imu' | 'rgbd';
31
+ /**
32
+ * Annotation topics rendered together with this topic.
33
+ *
34
+ * @defaultValue `[]`
35
+ */
9
36
  annotations: string[];
37
+ /**
38
+ * Annotation topics from sibling groups that can be attached to this topic.
39
+ *
40
+ * @defaultValue `[]`
41
+ */
10
42
  extraAnnotations: string[];
43
+ /**
44
+ * Parent topic used when this synthetic topic is derived from another stream.
45
+ *
46
+ * @remarks
47
+ * `undefined` means the topic is a backend topic or a standalone fake topic.
48
+ */
11
49
  parent?: string;
12
50
  };
51
+ /**
52
+ * State and actions exposed by the DepthAI connection hook and provider.
53
+ */
13
54
  export type ConnectionData = {
55
+ /**
56
+ * Whether the underlying DepthAI connection is currently open.
57
+ *
58
+ * @remarks
59
+ * This becomes `false` during reconnect, close, or disconnect handling before
60
+ * derived state such as topics and pipeline data is requested again.
61
+ */
14
62
  connected: boolean;
63
+ /**
64
+ * Active DepthAI connection instance, or `null` before connection or after cleanup.
65
+ */
15
66
  daiConnection: DAIConnection | null;
67
+ /**
68
+ * Visualizer connections consumed by Foxglove-derived panels.
69
+ *
70
+ * @remarks
71
+ * The array is empty until the underlying connection exposes a visualizer connection.
72
+ */
16
73
  connections: VisualizerConnection[];
74
+ /**
75
+ * Parsed default pipeline graph.
76
+ *
77
+ * @remarks
78
+ * `undefined` means the pipeline has not been requested or was reset during reconnect.
79
+ * `null` means the backend returned no default pipeline.
80
+ */
17
81
  pipeline: Pipeline | null | undefined;
82
+ /**
83
+ * Parsed full pipeline graph.
84
+ *
85
+ * @remarks
86
+ * `undefined` means the full pipeline has not been requested or was reset during
87
+ * reconnect. `null` means the backend returned no full pipeline.
88
+ */
18
89
  fullPipeline: Pipeline | null | undefined;
90
+ /**
91
+ * Live pipeline node state.
92
+ *
93
+ * @remarks
94
+ * `undefined` is the initial provider placeholder value. The hook resets this to
95
+ * `null` during reconnect, close, and disconnect, and later replaces it when live
96
+ * state arrives from the backend.
97
+ */
19
98
  pipelineState: PipelineState[] | null | undefined;
99
+ /**
100
+ * Whether pipeline data is currently loading.
101
+ */
20
102
  isPipelineLoading: boolean;
103
+ /**
104
+ * Updates the pipeline loading state.
105
+ */
21
106
  setIsPipelineLoading: (isLoading: boolean) => void;
107
+ /**
108
+ * Stream topics currently reported by the backend plus any configured fake topics.
109
+ *
110
+ * @remarks
111
+ * The list is cleared when the connection reconnects, closes, or disconnects.
112
+ */
22
113
  topics: Topic[];
114
+ /**
115
+ * Whether stream topics are currently loading.
116
+ */
23
117
  topicsLoading: boolean;
118
+ /**
119
+ * Topic names that the visualizer cannot render.
120
+ *
121
+ * @remarks
122
+ * Values are appended after deserialization reports unsupported encoded streams.
123
+ */
24
124
  unsupportedTopics: string[];
125
+ /**
126
+ * Toggles subscription for a stream topic.
127
+ *
128
+ * @remarks
129
+ * Fake topics are toggled locally. Point cloud topics also toggle the shared point
130
+ * cloud color topic so image data is available for coloring.
131
+ */
25
132
  toggleTopic: (topic: string) => void;
133
+ /**
134
+ * Whether the connection failed in a Viewer-specific flow.
135
+ */
26
136
  isConnectionError: boolean;
27
137
  };
138
+ /**
139
+ * Arguments for creating and maintaining a DepthAI connection from React state.
140
+ */
28
141
  export type UseCreateConnectionArgs = {
142
+ /**
143
+ * Connection transport used by the DepthAI backend.
144
+ */
29
145
  type: 'webrtc' | 'ws';
146
+ /**
147
+ * WebSocket URL or signaling endpoint used by the connection.
148
+ *
149
+ * @remarks
150
+ * For `ws`, this is the backend WebSocket URL. For `webrtc`, it is passed to the
151
+ * connection initializer together with `token` and `clientId`.
152
+ */
30
153
  connectionUrl: string;
154
+ /**
155
+ * WebRTC auth token.
156
+ *
157
+ * @remarks
158
+ * Use an empty string for WebSocket connections.
159
+ */
31
160
  token: string;
161
+ /**
162
+ * WebRTC client id.
163
+ *
164
+ * @remarks
165
+ * Use an empty string for WebSocket connections.
166
+ */
32
167
  clientId: string;
168
+ /**
169
+ * DepthAI service names to poll while connected.
170
+ *
171
+ * @defaultValue `[]`
172
+ */
33
173
  activeServices: DAIService[];
174
+ /**
175
+ * Called after a new `DAIConnection` instance is created and before it is initialized.
176
+ *
177
+ * @remarks
178
+ * The callback can attach host-specific listeners. It may run more than once when
179
+ * connection parameters change or the hook reconnects.
180
+ */
34
181
  onNewConnection?: (connection: DAIConnection) => void;
182
+ /**
183
+ * Enables verbose connection logging.
184
+ *
185
+ * @defaultValue `false`
186
+ */
35
187
  withDebugLogs?: boolean;
188
+ /**
189
+ * Backend message handling protocol expected by the visualizer connection.
190
+ */
36
191
  messageHandlerVersion?: MessageHandlerVersion;
192
+ /**
193
+ * Stream topics opened automatically after connection.
194
+ *
195
+ * @remarks
196
+ * `undefined` leaves topic selection to the backend/default connection behavior.
197
+ */
37
198
  defaultTopics?: string[];
199
+ /**
200
+ * Enables Viewer-specific error handling and default stream behavior.
201
+ *
202
+ * @remarks
203
+ * When enabled, disconnects show the Viewer-specific toast and set
204
+ * `isConnectionError` to `true`.
205
+ *
206
+ * @defaultValue `false`
207
+ */
38
208
  isViewer?: boolean;
209
+ /**
210
+ * Synthetic topics merged into the backend topic list.
211
+ *
212
+ * @remarks
213
+ * Fake topics are useful when the host wants to expose derived views that are not
214
+ * directly advertised by the backend.
215
+ *
216
+ * @defaultValue `[]`
217
+ */
39
218
  fakeTopics?: Topic[];
219
+ /**
220
+ * Controls WebRTC token refresh propagation.
221
+ *
222
+ * @defaultValue `false`
223
+ */
40
224
  tokenRefresh?: TokenRefreshHandler;
41
225
  };
226
+ /**
227
+ * Creates a managed DepthAI connection and exposes connection state for React components.
228
+ *
229
+ * @remarks
230
+ * The hook creates and initializes `DAIConnection`, subscribes to connection events,
231
+ * resets topics/pipeline state during reconnect or disconnect, updates active service
232
+ * polling when `activeServices` changes, and forwards key presses to the active
233
+ * connection while connected. Viewer WebRTC connections also receive session recovery
234
+ * settings backed by the latest refreshed token. It also clears pending reconnect
235
+ * timers on unmount.
236
+ *
237
+ * @example
238
+ * ```ts
239
+ * const connection = useCreateConnection({
240
+ * type: 'ws',
241
+ * connectionUrl: 'ws://localhost:8765',
242
+ * token: '',
243
+ * clientId: '',
244
+ * activeServices: [],
245
+ * });
246
+ * ```
247
+ */
42
248
  export declare function useCreateConnection({ type, activeServices, onNewConnection, isViewer, fakeTopics, tokenRefresh, ...params }: UseCreateConnectionArgs): ConnectionData;
43
249
  //# sourceMappingURL=connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAM7E,OAAO,EACN,aAAa,EACb,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,MAAM,iCAAiC,CAAC;AAGzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAUnE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC;AAEzE,MAAM,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,YAAY,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,YAAY,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,aAAa,EAAE,aAAa,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAClD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,iBAAiB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,KAAK,IAAI,CAAC;IACtD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACnC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EACnC,IAAI,EACJ,cAAc,EACd,eAAe,EACf,QAAgB,EAChB,UAAe,EACf,YAAoB,EACpB,GAAG,MAAM,EACT,EAAE,uBAAuB,GAAG,cAAc,CA0P1C"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,28 @@ const logger = Logger.getLogger();
10
10
  const VISUALIZER_RECONNECT_DELAY_MS = 1_000;
11
11
  const BENCHMARK_RECONNECT_DELAY_MS = 5_000;
12
12
  const BENCHMARK_MODE_ENABLED = import.meta.env?.BENCHMARK === 'true';
13
+ /**
14
+ * Creates a managed DepthAI connection and exposes connection state for React components.
15
+ *
16
+ * @remarks
17
+ * The hook creates and initializes `DAIConnection`, subscribes to connection events,
18
+ * resets topics/pipeline state during reconnect or disconnect, updates active service
19
+ * polling when `activeServices` changes, and forwards key presses to the active
20
+ * connection while connected. Viewer WebRTC connections also receive session recovery
21
+ * settings backed by the latest refreshed token. It also clears pending reconnect
22
+ * timers on unmount.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const connection = useCreateConnection({
27
+ * type: 'ws',
28
+ * connectionUrl: 'ws://localhost:8765',
29
+ * token: '',
30
+ * clientId: '',
31
+ * activeServices: [],
32
+ * });
33
+ * ```
34
+ */
13
35
  export function useCreateConnection({ type, activeServices, onNewConnection, isViewer = false, fakeTopics = [], tokenRefresh = false, ...params }) {
14
36
  const { updateSearch, search } = useFlatSearch({
15
37
  defaultInit: { cid: '', t: '', preset: '' },
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/hooks/connection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EACN,aAAa,GAGb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAClC,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAC5C,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAC3C,MAAM,sBAAsB,GAC1B,MAAM,CAAC,IAAsD,CAAC,GAAG,EAAE,SAAS,KAAK,MAAM,CAAC;AAqO1F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CAAC,EACnC,IAAI,EACJ,cAAc,EACd,eAAe,EACf,QAAQ,GAAG,KAAK,EAChB,UAAU,GAAG,EAAE,EACf,YAAY,GAAG,KAAK,EACpB,GAAG,MAAM,EACgB;IACzB,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QAC9C,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;KAC3C,CAAC,CAAC;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,IAAI,CAAC,CAAC;IACxE,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,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAA8B,SAAS,CAAC,CAAC;IAC/F,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAyB,IAAI,CAAC,CAAC;IACvF,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxE,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;IAC/E,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IAE9D,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC;QACvC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,MAAM,CAAC,KAAK;KACzB,CAAC,CAAC;IACH,kBAAkB,CAAC,OAAO,GAAG;QAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,MAAM,CAAC,KAAK;KACzB,CAAC;IACF,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,EAAE;QAC7C,kBAAkB,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;QAC/C,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CACpC,GAAG,EAAE,CACJ,QAAQ,IAAI,IAAI,KAAK,QAAQ;QAC5B,CAAC,CAAC;YACA,oEAAoE;YACpE,oEAAoE;YACpE,qEAAqE;YACrE,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO;YACtD,WAAW,EAAE,CAAC;YACd,cAAc,EAAE,KAAK;YACrB,UAAU,EAAE,MAAM;SAClB;QACF,CAAC,CAAC,SAAS,EACb,CAAC,QAAQ,EAAE,IAAI,CAAC,CAChB,CAAC;IAEF,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpD,IAAI,mBAAmB,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACjD,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;QACpC,CAAC;IACF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAChD,IAAI,QAAQ,IAAI,CAAC,sBAAsB,IAAI,mBAAmB,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACjF,OAAO;QACR,CAAC;QAED,MAAM,cAAc,GAAG,sBAAsB;YAC5C,CAAC,CAAC,4BAA4B;YAC9B,CAAC,CAAC,6BAA6B,CAAC;QAEjC,mBAAmB,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACpD,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC,EAAE,cAAc,CAAC,CAAC;IACpB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC9B,qBAAqB,EAAE,CAAC;QACxB,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;QACpD,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAE5B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACvC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YAC7B,qBAAqB,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3B,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YAClC,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,WAAW,CAAC,SAAS,CAAC,CAAC;YACvB,eAAe,CAAC,SAAS,CAAC,CAAC;YAC3B,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC5B,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACxB,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,eAAe,CAAC,SAAS,CAAC,CAAC;YAC3B,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC5B,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAEvB,aAAa,CAAC,CAAC,iBAAiB,EAAE,EAAE,CACnC,iBAAiB,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAC9D,CAAC;YACF,iBAAiB,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YAChC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,SAAS,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,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,cAAc,EAAE,CAAC,YAAY,EAAE,EAAE;YACjD,eAAe,CAAC,YAAY,CAAC,CAAC;YAC9B,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,aAAa,EAAE,EAAE;YACnD,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACjC,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,IAAI,QAAQ,EAAE,CAAC;gBACd,KAAK,CAAC;oBACL,WAAW,EACV,0GAA0G;oBAC3G,YAAY,EAAE,OAAO;oBACrB,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,kBAAkB;iBACxB,CAAC,CAAC;YACJ,CAAC;YAED,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,WAAW,CAAC,SAAS,CAAC,CAAC;YACvB,eAAe,CAAC,SAAS,CAAC,CAAC;YAC3B,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC5B,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAC/B,aAAa,CAAC,CAAC,iBAAiB,EAAE,EAAE,CACnC,iBAAiB,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAC9D,CAAC;YACF,iBAAiB,EAAE,CAAC;QACrB,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,EACpB,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS;gBACxE,eAAe;gBACf,cAAc,EAAE,MAAM,CAAC,OAAmB;gBAC1C,SAAS,EAAE,MAAM,CAAC,aAAa;gBAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,QAAQ,EAAE,QAAQ;gBAClB,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;aACnD,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,IAAI,UAAU,KAAK,IAAI,IAAI,mBAAmB,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC/E,iBAAiB,EAAE,CAAC;QACrB,CAAC;IACF,CAAC,EAAE;QACF,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,aAAa;QACpB,MAAM,CAAC,KAAK;QACZ,eAAe;QACf,SAAS;QACT,UAAU;QACV,iBAAiB;KACjB,CAAC,CAAC;IAEH,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,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,OAAO,GAAG,EAAE;YACX,qBAAqB,EAAE,CAAC;QACzB,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5B,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,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAQ,EAAE;QAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,SAAS,CAAC;QAC/E,IAAI,WAAW,EAAE,CAAC;YACjB,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CACpB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7E,CAAC;QACH,CAAC;QACD,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QAEnC,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC5D,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACvD,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,WAAW,GAAiC,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;QACjF,QAAQ,SAAS,EAAE,CAAC;YACnB,KAAK,2BAA2B;gBAC/B,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBACvD,MAAM;YACP,KAAK,oBAAoB,CAAC;YAC1B,KAAK,kBAAkB;gBACtB,4BAA4B;gBAC5B,MAAM;YAEP;gBACC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBACzF,MAAM;QACR,CAAC;IACF,CAAC,CAAC;IAEF,OAAO;QACN,SAAS;QACT,aAAa,EAAE,UAAU;QACzB,WAAW;QACX,QAAQ;QACR,YAAY;QACZ,aAAa;QACb,iBAAiB;QACjB,oBAAoB;QACpB,MAAM;QACN,aAAa;QACb,iBAAiB;QACjB,WAAW;QACX,iBAAiB;KACjB,CAAC;AACH,CAAC"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Resolves the current viewer page and builds navigation paths that preserve search params.
3
+ *
4
+ * @param parseUrl - Optional custom parser for host applications with different routing.
5
+ */
1
6
  export declare function useNavigation(parseUrl?: (pathname: string) => {
2
7
  basePath: string;
3
8
  page: string;
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/hooks/navigation.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;;;qBAGxE,MAAM,YAAW;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;EAQlF"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/hooks/navigation.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;;;qBAGxE,MAAM,YAAW;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;EAQlF"}
@@ -1,4 +1,9 @@
1
1
  import { parseUrl as defaultParseUrl } from '../utils/url.js';
2
+ /**
3
+ * Resolves the current viewer page and builds navigation paths that preserve search params.
4
+ *
5
+ * @param parseUrl - Optional custom parser for host applications with different routing.
6
+ */
2
7
  export function useNavigation(parseUrl) {
3
8
  const { page, basePath } = (parseUrl ?? defaultParseUrl)(location.pathname);
4
9
  const makePath = (page, options = {}) => {
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/hooks/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,UAAU,aAAa,CAAC,QAAmE;IAChG,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,eAAe,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,UAAqD,EAAE,EAAE,EAAE;QAC1F,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7C,OAAO,IAAI,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACxF,CAAC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/hooks/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE9D;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,QAAmE;IAChG,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,eAAe,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,UAAqD,EAAE,EAAE,EAAE;QAC1F,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7C,OAAO,IAAI,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACxF,CAAC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACrC,CAAC"}
@@ -1,7 +1,19 @@
1
+ /**
2
+ * Options for reading and mutating flat URL search parameters.
3
+ */
1
4
  export type UseFlatSearchArgs = {
5
+ /**
6
+ * Default search values returned when the URL does not contain a key.
7
+ */
2
8
  defaultInit?: Record<string, string | string[]>;
9
+ /**
10
+ * Search keys that should be parsed as comma-separated arrays.
11
+ */
3
12
  arrayFields?: string[];
4
13
  };
14
+ /**
15
+ * Reads URL search params into a flat object and exposes a helper for updating one key at a time.
16
+ */
5
17
  export declare function useFlatSearch({ defaultInit, arrayFields }: UseFlatSearchArgs): {
6
18
  search: {
7
19
  [x: string]: string | string[];
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/hooks/search.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAcF,wBAAgB,aAAa,CAAC,EAAE,WAAgB,EAAE,WAAW,EAAE,EAAE,iBAAiB;;;;wBAwB1E,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI;EAqBlE"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/hooks/search.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAChD;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAcF;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,WAAgB,EAAE,WAAW,EAAE,EAAE,iBAAiB;;;;wBAwB1E,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI;EAqBlE"}
@@ -7,6 +7,9 @@ function setSearchParams(params) {
7
7
  const newUrl = window.location.pathname + (newSearch ? `?${newSearch}` : '') + window.location.hash;
8
8
  window.history.pushState(null, '', newUrl);
9
9
  }
10
+ /**
11
+ * Reads URL search params into a flat object and exposes a helper for updating one key at a time.
12
+ */
10
13
  export function useFlatSearch({ defaultInit = {}, arrayFields }) {
11
14
  const [version, setVersion] = React.useState(0);
12
15
  React.useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/hooks/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,SAAS,eAAe;IACvB,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,eAAe,CAAC,MAAuB;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACpC,MAAM,MAAM,GACX,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IAEtF,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAE,WAAW,GAAG,EAAE,EAAE,WAAW,EAAqB;IACjF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEhD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QAEjC,OAAO;YACN,GAAG,WAAW;YACd,GAAG,MAAM,CAAC,WAAW,CACpB,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;gBAC3C,GAAG;gBACH,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;aACjF,CAAC,CACF;SACD,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAExC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,GAAW,EAAE,KAAmD,EAAE,EAAE;QACpE,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAElC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,eAAe,CAAC,OAAO,CAAC,CAAC;QACzB,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,CAAC,EACD,EAAE,CACF,CAAC;IAEF,OAAO;QACN,MAAM,EAAE,UAAU;QAClB,YAAY;KACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/hooks/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,SAAS,eAAe;IACvB,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,eAAe,CAAC,MAAuB;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACpC,MAAM,MAAM,GACX,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IAEtF,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,WAAW,GAAG,EAAE,EAAE,WAAW,EAAqB;IACjF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEhD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QAEjC,OAAO;YACN,GAAG,WAAW;YACd,GAAG,MAAM,CAAC,WAAW,CACpB,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;gBAC3C,GAAG;gBACH,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;aACjF,CAAC,CACF;SACD,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAExC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,GAAW,EAAE,KAAmD,EAAE,EAAE;QACpE,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAElC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,eAAe,CAAC,OAAO,CAAC,CAAC;QACzB,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,CAAC,EACD,EAAE,CACF,CAAC;IAEF,OAAO;QACN,MAAM,EAAE,UAAU;QAClB,YAAY;KACZ,CAAC;AACH,CAAC"}
@@ -1,8 +1,16 @@
1
1
  import React, { type MutableRefObject } from 'react';
2
+ /**
3
+ * Tracks and controls fullscreen state for a fixed element ref.
4
+ *
5
+ * @param ref - Element ref that should enter fullscreen mode.
6
+ */
2
7
  export declare function useFullscreen(ref: React.MutableRefObject<HTMLElement | undefined | null>): {
3
8
  expanded: boolean;
4
9
  setExpanded: (newExpanded: boolean) => void;
5
10
  };
11
+ /**
12
+ * Returns a fullscreen toggle helper for refs that are chosen at call time.
13
+ */
6
14
  export declare function useFullscreenDynamic(): {
7
15
  toggleFullscreen: (ref: MutableRefObject<HTMLElement>) => void;
8
16
  };
@@ -1 +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"}
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;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;;+BAczE,OAAO;EAetB;AAED;;GAEG;AACH,wBAAgB,oBAAoB;4BAcJ,gBAAgB,CAAC,WAAW,CAAC;EAe5D"}
@@ -1,4 +1,9 @@
1
1
  import React from 'react';
2
+ /**
3
+ * Tracks and controls fullscreen state for a fixed element ref.
4
+ *
5
+ * @param ref - Element ref that should enter fullscreen mode.
6
+ */
2
7
  export function useFullscreen(ref) {
3
8
  const [expanded, setExpanded] = React.useState(false);
4
9
  React.useEffect(() => {
@@ -23,6 +28,9 @@ export function useFullscreen(ref) {
23
28
  }, [ref]);
24
29
  return { expanded, setExpanded: setFullscreen };
25
30
  }
31
+ /**
32
+ * Returns a fullscreen toggle helper for refs that are chosen at call time.
33
+ */
26
34
  export function useFullscreenDynamic() {
27
35
  const [expanded, setExpanded] = React.useState(false);
28
36
  React.useEffect(() => {
@@ -1 +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"}
1
+ {"version":3,"file":"useFullScreen.js","sourceRoot":"","sources":["../../src/hooks/useFullScreen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD;;;;GAIG;AACH,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;;GAEG;AACH,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.d.ts CHANGED
@@ -1,8 +1,12 @@
1
+ /**
2
+ * Shared React building blocks and connection utilities for Luxonis DepthAI frontend applications.
3
+ *
4
+ * @packageDocumentation
5
+ */
1
6
  export * from './components/CTASubLabel.js';
2
7
  export * from './components/DepthAIContext.js';
3
8
  export * from './components/Pipeline.js';
4
9
  export * from './components/Resizable.js';
5
- export * from './components/Resizable.js';
6
10
  export * from './components/Streams.js';
7
11
  export * from './components/ThemeToggle.js';
8
12
  export * from './constants/connection.js';
@@ -20,7 +24,6 @@ export * from './providers/DataProvider.js';
20
24
  export * from './providers/ThemeProvider.js';
21
25
  export * from './providers/VisualizerRuntimeConfigProvider.js';
22
26
  export * from './utils/functions.js';
23
- export * from './utils/functions.js';
24
27
  export * from './utils/local-storage.js';
25
28
  export * from './utils/logger.js';
26
29
  export * from './utils/sorting.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,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;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,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;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,12 @@
1
+ /**
2
+ * Shared React building blocks and connection utilities for Luxonis DepthAI frontend applications.
3
+ *
4
+ * @packageDocumentation
5
+ */
1
6
  export * from './components/CTASubLabel.js';
2
7
  export * from './components/DepthAIContext.js';
3
8
  export * from './components/Pipeline.js';
4
9
  export * from './components/Resizable.js';
5
- export * from './components/Resizable.js';
6
10
  export * from './components/Streams.js';
7
11
  export * from './components/ThemeToggle.js';
8
12
  export * from './constants/connection.js';
@@ -20,7 +24,6 @@ export * from './providers/DataProvider.js';
20
24
  export * from './providers/ThemeProvider.js';
21
25
  export * from './providers/VisualizerRuntimeConfigProvider.js';
22
26
  export * from './utils/functions.js';
23
- export * from './utils/functions.js';
24
27
  export * from './utils/local-storage.js';
25
28
  export * from './utils/logger.js';
26
29
  export * from './utils/sorting.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,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;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,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;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
@@ -1,5 +1,8 @@
1
1
  import { DeviceListSchema } from '@luxonis/ui-components';
2
2
  import { z } from 'zod';
3
+ /**
4
+ * Runtime validation schema for camera sensor metadata reported by a DepthAI device.
5
+ */
3
6
  export declare const SensorSchema: z.ZodObject<{
4
7
  boardSocket: z.ZodString;
5
8
  maxFps: z.ZodNumber;
@@ -10,46 +13,112 @@ export declare const SensorSchema: z.ZodObject<{
10
13
  height: z.ZodNumber;
11
14
  }, z.core.$strip>>;
12
15
  }, z.core.$strip>;
16
+ /**
17
+ * Camera sensor metadata reported by a DepthAI device.
18
+ */
13
19
  export type Sensor = z.infer<typeof SensorSchema>;
20
+ /**
21
+ * Runtime validation schema for infrared emitter availability.
22
+ */
14
23
  export declare const IrSchema: z.ZodObject<{
15
24
  floodLight: z.ZodBoolean;
16
25
  dotProjector: z.ZodBoolean;
17
26
  }, z.core.$strip>;
27
+ /**
28
+ * Infrared emitter capabilities reported by a DepthAI device.
29
+ */
18
30
  export type Ir = z.infer<typeof IrSchema>;
31
+ /**
32
+ * Runtime validation schema for supported DepthAI platform identifiers.
33
+ */
19
34
  export declare const PlatformSchema: z.ZodEnum<{
20
35
  UNKNOWN: "UNKNOWN";
21
36
  RVC2: "RVC2";
22
37
  RVC4: "RVC4";
23
38
  }>;
39
+ /**
40
+ * Supported DepthAI platform identifier.
41
+ */
24
42
  export type Platform = z.infer<typeof PlatformSchema>;
43
+ /**
44
+ * Human-readable labels for DepthAI platform identifiers.
45
+ */
25
46
  export declare const PLATFORM_NAMES: {
26
47
  RVC2: string;
27
48
  RVC4: string;
28
49
  UNKNOWN: string;
29
50
  };
51
+ /**
52
+ * UI color intents associated with DepthAI platform identifiers.
53
+ */
30
54
  export declare const PLATFORM_COLORS: {
31
55
  RVC2: string;
32
56
  RVC4: string;
33
57
  UNKNOWN: string;
34
58
  };
59
+ /**
60
+ * Runtime validation schema for device connection transport identifiers.
61
+ */
35
62
  export declare const ConnectionTypeSchema: z.ZodEnum<{
36
63
  UNKNOWN: "UNKNOWN";
37
64
  USB: "USB";
38
65
  ETH: "ETH";
39
66
  }>;
67
+ /**
68
+ * Device connection transport identifier.
69
+ */
40
70
  export type ConnectionType = z.infer<typeof ConnectionTypeSchema>;
71
+ /**
72
+ * Normalized device capability and compatibility data used by Viewer UI surfaces.
73
+ */
41
74
  export type DeviceConfiguration = {
75
+ /**
76
+ * Camera sensors present on the device.
77
+ */
42
78
  cameraSensors: Sensor[];
79
+ /**
80
+ * Infrared emitter capabilities.
81
+ */
43
82
  ir: Ir;
83
+ /**
84
+ * Whether the device has stereo depth support.
85
+ */
44
86
  stereo: boolean;
87
+ /**
88
+ * Whether the device has thermal sensing support.
89
+ */
45
90
  thermal: boolean;
91
+ /**
92
+ * Product identifier recognized by the shared UI device list schema.
93
+ */
46
94
  productName: z.infer<typeof DeviceListSchema>;
95
+ /**
96
+ * DepthAI processing platform.
97
+ */
47
98
  platform: Platform;
99
+ /**
100
+ * Whether the device exposes an IMU.
101
+ */
48
102
  imu: boolean;
103
+ /**
104
+ * Whether the device calibration is available and valid.
105
+ */
49
106
  calibrated: boolean;
107
+ /**
108
+ * Whether dynamic calibration is supported.
109
+ */
50
110
  dynamicCalibration: boolean;
111
+ /**
112
+ * Whether the device is fully compatible with the current application.
113
+ */
51
114
  fullyCompatible: boolean;
115
+ /**
116
+ * Whether the device is connected over an older USB generation.
117
+ */
52
118
  oldUsbGeneration: boolean;
53
119
  };
120
+ /**
121
+ * Runtime validation schema for normalized DepthAI device configuration.
122
+ */
54
123
  export declare const DeviceConfigurationSchema: z.ZodType<DeviceConfiguration>;
55
124
  //# sourceMappingURL=device-configuration.d.ts.map