@luxonis/depthai-viewer-common 3.5.2 → 3.7.1

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.
package/dist/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
2
  @import url(./fonts/inter.css);
3
3
  @import url(./fonts/jetbrains-mono.css);
4
4
  @import url(./fonts/ubuntu-mono.css);
@@ -8,8 +8,9 @@
8
8
  @layer theme, base, components, utilities;
9
9
  @layer theme {
10
10
  :root, :host {
11
- --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
12
- "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
11
+ --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
12
+ "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
13
+ "Segoe UI Symbol", "Noto Color Emoji";
13
14
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
14
15
  "Courier New", monospace;
15
16
  --color-black: #000;
@@ -61,7 +62,7 @@
61
62
  line-height: 1.5;
62
63
  -webkit-text-size-adjust: 100%;
63
64
  tab-size: 4;
64
- font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
65
+ font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
65
66
  font-feature-settings: var(--default-font-feature-settings, normal);
66
67
  font-variation-settings: var(--default-font-variation-settings, normal);
67
68
  -webkit-tap-highlight-color: transparent;
@@ -113,7 +114,7 @@
113
114
  border-color: inherit;
114
115
  border-collapse: collapse;
115
116
  }
116
- :-moz-focusring {
117
+ :-moz-focusring:where(:not(iframe)) {
117
118
  outline: auto;
118
119
  }
119
120
  progress {
@@ -224,10 +225,10 @@
224
225
  position: sticky;
225
226
  }
226
227
  .inset-0 {
227
- inset: calc(var(--spacing) * 0);
228
+ inset: 0px;
228
229
  }
229
230
  .top-0 {
230
- top: calc(var(--spacing) * 0);
231
+ top: 0px;
231
232
  }
232
233
  .top-1\/2 {
233
234
  top: calc(1 / 2 * 100%);
@@ -242,19 +243,19 @@
242
243
  top: 100%;
243
244
  }
244
245
  .right-0 {
245
- right: calc(var(--spacing) * 0);
246
+ right: 0px;
246
247
  }
247
248
  .right-2 {
248
249
  right: calc(var(--spacing) * 2);
249
250
  }
250
251
  .bottom-0 {
251
- bottom: calc(var(--spacing) * 0);
252
+ bottom: 0px;
252
253
  }
253
254
  .bottom-auto {
254
255
  bottom: auto;
255
256
  }
256
257
  .left-0 {
257
- left: calc(var(--spacing) * 0);
258
+ left: 0px;
258
259
  }
259
260
  .left-1\/2 {
260
261
  left: calc(1 / 2 * 100%);
@@ -332,10 +333,10 @@
332
333
  margin-inline: auto;
333
334
  }
334
335
  .my-1 {
335
- margin-block: calc(var(--spacing) * 1);
336
+ margin-block: var(--spacing);
336
337
  }
337
338
  .mt-1 {
338
- margin-top: calc(var(--spacing) * 1);
339
+ margin-top: var(--spacing);
339
340
  }
340
341
  .mt-2 {
341
342
  margin-top: calc(var(--spacing) * 2);
@@ -346,6 +347,9 @@
346
347
  .mb-6 {
347
348
  margin-bottom: calc(var(--spacing) * 6);
348
349
  }
350
+ .ml-1 {
351
+ margin-left: var(--spacing);
352
+ }
349
353
  .ml-2 {
350
354
  margin-left: calc(var(--spacing) * 2);
351
355
  }
@@ -364,6 +368,9 @@
364
368
  .hidden {
365
369
  display: none;
366
370
  }
371
+ .inline {
372
+ display: inline;
373
+ }
367
374
  .inline-block {
368
375
  display: inline-block;
369
376
  }
@@ -500,7 +507,7 @@
500
507
  max-width: var(--container-sm);
501
508
  }
502
509
  .min-w-0 {
503
- min-width: calc(var(--spacing) * 0);
510
+ min-width: 0px;
504
511
  }
505
512
  .min-w-9 {
506
513
  min-width: calc(var(--spacing) * 9);
@@ -567,6 +574,12 @@
567
574
  .cursor-pointer {
568
575
  cursor: pointer;
569
576
  }
577
+ .cursor-zoom-in {
578
+ cursor: zoom-in;
579
+ }
580
+ .cursor-zoom-out {
581
+ cursor: zoom-out;
582
+ }
570
583
  .touch-none {
571
584
  touch-action: none;
572
585
  }
@@ -748,10 +761,10 @@
748
761
  justify-items: stretch;
749
762
  }
750
763
  .gap-0 {
751
- gap: calc(var(--spacing) * 0);
764
+ gap: 0px;
752
765
  }
753
766
  .gap-1 {
754
- gap: calc(var(--spacing) * 1);
767
+ gap: var(--spacing);
755
768
  }
756
769
  .gap-2 {
757
770
  gap: calc(var(--spacing) * 2);
@@ -771,26 +784,20 @@
771
784
  .gap-16 {
772
785
  gap: calc(var(--spacing) * 16);
773
786
  }
774
- .space-y-1\.5 {
775
- :where(& > :not(:last-child)) {
776
- --tw-space-y-reverse: 0;
777
- margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
778
- margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
779
- }
787
+ :where(.space-y-1\.5 > :not(:last-child)) {
788
+ --tw-space-y-reverse: 0;
789
+ margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
790
+ margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
780
791
  }
781
- .space-y-2 {
782
- :where(& > :not(:last-child)) {
783
- --tw-space-y-reverse: 0;
784
- margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
785
- margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
786
- }
792
+ :where(.space-y-2 > :not(:last-child)) {
793
+ --tw-space-y-reverse: 0;
794
+ margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
795
+ margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
787
796
  }
788
- .space-y-4 {
789
- :where(& > :not(:last-child)) {
790
- --tw-space-y-reverse: 0;
791
- margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
792
- margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
793
- }
797
+ :where(.space-y-4 > :not(:last-child)) {
798
+ --tw-space-y-reverse: 0;
799
+ margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
800
+ margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
794
801
  }
795
802
  .self-auto {
796
803
  align-self: auto;
@@ -828,6 +835,9 @@
828
835
  .overflow-hidden {
829
836
  overflow: hidden;
830
837
  }
838
+ .overflow-x-auto {
839
+ overflow-x: auto;
840
+ }
831
841
  .overflow-y-auto {
832
842
  overflow-y: auto;
833
843
  }
@@ -872,6 +882,12 @@
872
882
  border-bottom-style: var(--tw-border-style);
873
883
  border-bottom-width: 1px;
874
884
  }
885
+ .border-\[color-mix\(in_srgb\,var\(--lux-muted-foreground\)_65\%\,var\(--lux-background\)\)\] {
886
+ border-color: var(--lux-muted-foreground);
887
+ @supports (color: color-mix(in lab, red, red)) {
888
+ border-color: color-mix(in srgb,var(--lux-muted-foreground) 65%,var(--lux-background));
889
+ }
890
+ }
875
891
  .border-\[var\(--lux-intent-active-text\)\]\/30 {
876
892
  border-color: var(--lux-intent-active-text);
877
893
  @supports (color: color-mix(in lab, red, red)) {
@@ -899,6 +915,12 @@
899
915
  .bg-\[\#808080\] {
900
916
  background-color: #808080;
901
917
  }
918
+ .bg-\[color-mix\(in_srgb\,var\(--lux-muted-foreground\)_65\%\,var\(--lux-background\)\)\] {
919
+ background-color: var(--lux-muted-foreground);
920
+ @supports (color: color-mix(in lab, red, red)) {
921
+ background-color: color-mix(in srgb,var(--lux-muted-foreground) 65%,var(--lux-background));
922
+ }
923
+ }
902
924
  .bg-\[var\(--lux-intent-active-text\)\]\/10 {
903
925
  background-color: var(--lux-intent-active-text);
904
926
  @supports (color: color-mix(in lab, red, red)) {
@@ -942,14 +964,17 @@
942
964
  background-color: var(--color-white);
943
965
  }
944
966
  .p-0 {
945
- padding: calc(var(--spacing) * 0);
967
+ padding: 0px;
946
968
  }
947
969
  .p-1 {
948
- padding: calc(var(--spacing) * 1);
970
+ padding: var(--spacing);
949
971
  }
950
972
  .p-1\.5 {
951
973
  padding: calc(var(--spacing) * 1.5);
952
974
  }
975
+ .p-3 {
976
+ padding: calc(var(--spacing) * 3);
977
+ }
953
978
  .p-4 {
954
979
  padding: calc(var(--spacing) * 4);
955
980
  }
@@ -957,7 +982,7 @@
957
982
  padding: calc(var(--spacing) * 6);
958
983
  }
959
984
  .px-0 {
960
- padding-inline: calc(var(--spacing) * 0);
985
+ padding-inline: 0px;
961
986
  }
962
987
  .px-2 {
963
988
  padding-inline: calc(var(--spacing) * 2);
@@ -978,13 +1003,13 @@
978
1003
  padding-inline: 6px;
979
1004
  }
980
1005
  .\!py-0 {
981
- padding-block: calc(var(--spacing) * 0) !important;
1006
+ padding-block: 0px !important;
982
1007
  }
983
1008
  .py-0\.5 {
984
1009
  padding-block: calc(var(--spacing) * 0.5);
985
1010
  }
986
1011
  .py-1 {
987
- padding-block: calc(var(--spacing) * 1);
1012
+ padding-block: var(--spacing);
988
1013
  }
989
1014
  .py-1\.5 {
990
1015
  padding-block: calc(var(--spacing) * 1.5);
@@ -999,13 +1024,13 @@
999
1024
  padding-block: calc(var(--spacing) * 6);
1000
1025
  }
1001
1026
  .pt-0 {
1002
- padding-top: calc(var(--spacing) * 0);
1027
+ padding-top: 0px;
1003
1028
  }
1004
1029
  .pt-2 {
1005
1030
  padding-top: calc(var(--spacing) * 2);
1006
1031
  }
1007
1032
  .\!pr-0 {
1008
- padding-right: calc(var(--spacing) * 0) !important;
1033
+ padding-right: 0px !important;
1009
1034
  }
1010
1035
  .pr-2 {
1011
1036
  padding-right: calc(var(--spacing) * 2);
@@ -1028,6 +1053,9 @@
1028
1053
  .text-right {
1029
1054
  text-align: right;
1030
1055
  }
1056
+ .align-middle {
1057
+ vertical-align: middle;
1058
+ }
1031
1059
  .font-mono {
1032
1060
  font-family: var(--font-mono);
1033
1061
  }
@@ -1185,6 +1213,10 @@
1185
1213
  --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1186
1214
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1187
1215
  }
1216
+ .shadow-none {
1217
+ --tw-shadow: 0 0 #0000;
1218
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1219
+ }
1188
1220
  .shadow-sm {
1189
1221
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1190
1222
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -1251,214 +1283,134 @@
1251
1283
  -webkit-user-select: none;
1252
1284
  user-select: none;
1253
1285
  }
1254
- .group-focus-within\:opacity-100 {
1255
- &:is(:where(.group):focus-within *) {
1256
- opacity: 100%;
1257
- }
1286
+ .group-focus-within\:opacity-100:is(:where(.group):focus-within *) {
1287
+ opacity: 100%;
1258
1288
  }
1259
- .group-hover\:opacity-100 {
1260
- &:is(:where(.group):hover *) {
1261
- @media (hover: hover) {
1262
- opacity: 100%;
1263
- }
1289
+ @media (hover: hover) {
1290
+ .group-hover\:opacity-100:is(:where(.group):hover *) {
1291
+ opacity: 100%;
1264
1292
  }
1265
- }
1266
- .hover\:border-\[var\(--ui-color-border-hover\)\] {
1267
- &:hover {
1268
- @media (hover: hover) {
1269
- border-color: var(--ui-color-border-hover);
1270
- }
1293
+ .hover\:border-\[var\(--ui-color-border-hover\)\]:hover {
1294
+ border-color: var(--ui-color-border-hover);
1271
1295
  }
1272
- }
1273
- .hover\:bg-\[var\(--ui-color-bg-hover\)\] {
1274
- &:hover {
1275
- @media (hover: hover) {
1276
- background-color: var(--ui-color-bg-hover);
1277
- }
1296
+ .hover\:bg-\[var\(--ui-color-bg-hover\)\]:hover {
1297
+ background-color: var(--ui-color-bg-hover);
1278
1298
  }
1279
- }
1280
- .hover\:text-\[var\(--ui-color-text-hover\)\] {
1281
- &:hover {
1282
- @media (hover: hover) {
1283
- color: var(--ui-color-text-hover);
1284
- }
1299
+ .hover\:text-\[var\(--ui-color-text-hover\)\]:hover {
1300
+ color: var(--ui-color-text-hover);
1285
1301
  }
1286
- }
1287
- .hover\:underline {
1288
- &:hover {
1289
- @media (hover: hover) {
1290
- text-decoration-line: underline;
1291
- }
1302
+ .hover\:underline:hover {
1303
+ text-decoration-line: underline;
1292
1304
  }
1293
- }
1294
- .hover\:opacity-100 {
1295
- &:hover {
1296
- @media (hover: hover) {
1297
- opacity: 100%;
1298
- }
1305
+ .hover\:opacity-100:hover {
1306
+ opacity: 100%;
1299
1307
  }
1300
- }
1301
- .hover\:shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.22\)\] {
1302
- &:hover {
1303
- @media (hover: hover) {
1304
- --tw-shadow: 0 10px 24px var(--tw-shadow-color, rgba(0,0,0,0.22));
1305
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1306
- }
1308
+ .hover\:shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.22\)\]:hover {
1309
+ --tw-shadow: 0 10px 24px var(--tw-shadow-color, rgba(0,0,0,0.22));
1310
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1307
1311
  }
1308
- }
1309
- .hover\:ring-4 {
1310
- &:hover {
1311
- @media (hover: hover) {
1312
- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1313
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1314
- }
1312
+ .hover\:ring-0:hover {
1313
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1314
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1315
1315
  }
1316
- }
1317
- .focus\:ring-2 {
1318
- &:focus {
1319
- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1316
+ .hover\:ring-4:hover {
1317
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1320
1318
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1321
1319
  }
1322
1320
  }
1323
- .focus\:ring-offset-2 {
1324
- &:focus {
1325
- --tw-ring-offset-width: 2px;
1326
- --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1327
- }
1321
+ .focus\:ring-2:focus {
1322
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1323
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1328
1324
  }
1329
- .focus\:outline-none {
1330
- &:focus {
1331
- --tw-outline-style: none;
1332
- outline-style: none;
1333
- }
1325
+ .focus\:ring-offset-2:focus {
1326
+ --tw-ring-offset-width: 2px;
1327
+ --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1334
1328
  }
1335
- .focus-visible\:\!ring-0 {
1336
- &:focus-visible {
1337
- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor) !important;
1338
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
1339
- }
1329
+ .focus\:outline-none:focus {
1330
+ --tw-outline-style: none;
1331
+ outline-style: none;
1340
1332
  }
1341
- .focus-visible\:ring-2 {
1342
- &:focus-visible {
1343
- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1344
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1345
- }
1333
+ .focus-visible\:\!ring-0:focus-visible {
1334
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor) !important;
1335
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
1346
1336
  }
1347
- .focus-visible\:\!ring-offset-0 {
1348
- &:focus-visible {
1349
- --tw-ring-offset-width: 0px !important;
1350
- --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
1351
- }
1337
+ .focus-visible\:ring-2:focus-visible {
1338
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1339
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1352
1340
  }
1353
- .focus-visible\:ring-offset-2 {
1354
- &:focus-visible {
1355
- --tw-ring-offset-width: 2px;
1356
- --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1357
- }
1341
+ .focus-visible\:\!ring-offset-0:focus-visible {
1342
+ --tw-ring-offset-width: 0px !important;
1343
+ --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
1358
1344
  }
1359
- .focus-visible\:outline-none {
1360
- &:focus-visible {
1361
- --tw-outline-style: none;
1362
- outline-style: none;
1363
- }
1345
+ .focus-visible\:ring-offset-2:focus-visible {
1346
+ --tw-ring-offset-width: 2px;
1347
+ --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1364
1348
  }
1365
- .disabled\:pointer-events-none {
1366
- &:disabled {
1367
- pointer-events: none;
1368
- }
1349
+ .focus-visible\:outline-none:focus-visible {
1350
+ --tw-outline-style: none;
1351
+ outline-style: none;
1369
1352
  }
1370
- .disabled\:cursor-default {
1371
- &:disabled {
1372
- cursor: default;
1373
- }
1353
+ .disabled\:pointer-events-none:disabled {
1354
+ pointer-events: none;
1374
1355
  }
1375
- .disabled\:cursor-not-allowed {
1376
- &:disabled {
1377
- cursor: not-allowed;
1378
- }
1356
+ .disabled\:cursor-default:disabled {
1357
+ cursor: default;
1379
1358
  }
1380
- .disabled\:opacity-50 {
1381
- &:disabled {
1382
- opacity: 50%;
1383
- }
1359
+ .disabled\:cursor-not-allowed:disabled {
1360
+ cursor: not-allowed;
1384
1361
  }
1385
- .data-\[disabled\]\:pointer-events-none {
1386
- &[data-disabled] {
1387
- pointer-events: none;
1388
- }
1362
+ .disabled\:opacity-50:disabled {
1363
+ opacity: 50%;
1389
1364
  }
1390
- .data-\[disabled\]\:opacity-50 {
1391
- &[data-disabled] {
1392
- opacity: 50%;
1393
- }
1365
+ .data-\[disabled\]\:pointer-events-none[data-disabled] {
1366
+ pointer-events: none;
1394
1367
  }
1395
- .data-\[state\=active\]\:shadow-sm {
1396
- &[data-state="active"] {
1397
- --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1398
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1399
- }
1368
+ .data-\[disabled\]\:opacity-50[data-disabled] {
1369
+ opacity: 50%;
1400
1370
  }
1401
- .data-\[state\=checked\]\:translate-x-5 {
1402
- &[data-state="checked"] {
1403
- --tw-translate-x: calc(var(--spacing) * 5);
1404
- translate: var(--tw-translate-x) var(--tw-translate-y);
1405
- }
1371
+ .data-\[state\=active\]\:shadow-sm[data-state="active"] {
1372
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1373
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1406
1374
  }
1407
- .data-\[state\=inactive\]\:hidden {
1408
- &[data-state="inactive"] {
1409
- display: none;
1410
- }
1375
+ .data-\[state\=checked\]\:translate-x-5[data-state="checked"] {
1376
+ --tw-translate-x: calc(var(--spacing) * 5);
1377
+ translate: var(--tw-translate-x) var(--tw-translate-y);
1411
1378
  }
1412
- .data-\[state\=unchecked\]\:translate-x-0 {
1413
- &[data-state="unchecked"] {
1414
- --tw-translate-x: calc(var(--spacing) * 0);
1415
- translate: var(--tw-translate-x) var(--tw-translate-y);
1416
- }
1379
+ .data-\[state\=inactive\]\:hidden[data-state="inactive"] {
1380
+ display: none;
1417
1381
  }
1418
- .sm\:max-w-\[420px\] {
1419
- @media (width >= 40rem) {
1382
+ .data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
1383
+ --tw-translate-x: 0px;
1384
+ translate: var(--tw-translate-x) var(--tw-translate-y);
1385
+ }
1386
+ @media (width >= 40rem) {
1387
+ .sm\:max-w-\[420px\] {
1420
1388
  max-width: 420px;
1421
1389
  }
1422
- }
1423
- .sm\:flex-row {
1424
- @media (width >= 40rem) {
1390
+ .sm\:flex-row {
1425
1391
  flex-direction: row;
1426
1392
  }
1427
- }
1428
- .sm\:justify-end {
1429
- @media (width >= 40rem) {
1393
+ .sm\:justify-end {
1430
1394
  justify-content: flex-end;
1431
1395
  }
1432
1396
  }
1433
- .\[\&\>svg\]\:absolute {
1434
- &>svg {
1435
- position: absolute;
1436
- }
1397
+ .\[\&\>svg\]\:absolute > svg {
1398
+ position: absolute;
1437
1399
  }
1438
- .\[\&\>svg\]\:top-4 {
1439
- &>svg {
1440
- top: calc(var(--spacing) * 4);
1441
- }
1400
+ .\[\&\>svg\]\:top-4 > svg {
1401
+ top: calc(var(--spacing) * 4);
1442
1402
  }
1443
- .\[\&\>svg\]\:left-4 {
1444
- &>svg {
1445
- left: calc(var(--spacing) * 4);
1446
- }
1403
+ .\[\&\>svg\]\:left-4 > svg {
1404
+ left: calc(var(--spacing) * 4);
1447
1405
  }
1448
- .\[\&\>svg\]\:text-current {
1449
- &>svg {
1450
- color: currentcolor;
1451
- }
1406
+ .\[\&\>svg\]\:text-current > svg {
1407
+ color: currentcolor;
1452
1408
  }
1453
- .\[\&\>svg\~\*\]\:pl-7 {
1454
- &>svg~* {
1455
- padding-left: calc(var(--spacing) * 7);
1456
- }
1409
+ .\[\&\>svg\~\*\]\:pl-7 > svg ~ * {
1410
+ padding-left: calc(var(--spacing) * 7);
1457
1411
  }
1458
- .\[\&\[data-state\=open\]\>svg\]\:rotate-180 {
1459
- &[data-state=open]>svg {
1460
- rotate: 180deg;
1461
- }
1412
+ .\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open] > svg {
1413
+ rotate: 180deg;
1462
1414
  }
1463
1415
  }
1464
1416
  @property --tw-translate-x {
@@ -1,3 +1,4 @@
1
+ import { DeviceListSchema } from '@luxonis/ui-components';
1
2
  import { z } from 'zod';
2
3
  export declare const SensorSchema: z.ZodObject<{
3
4
  boardSocket: z.ZodString;
@@ -37,34 +38,18 @@ export declare const ConnectionTypeSchema: z.ZodEnum<{
37
38
  ETH: "ETH";
38
39
  }>;
39
40
  export type ConnectionType = z.infer<typeof ConnectionTypeSchema>;
40
- export declare const DeviceConfigurationSchema: z.ZodObject<{
41
- cameraSensors: z.ZodArray<z.ZodObject<{
42
- boardSocket: z.ZodString;
43
- maxFps: z.ZodNumber;
44
- minFps: z.ZodNumber;
45
- type: z.ZodString;
46
- supportedResolutions: z.ZodArray<z.ZodObject<{
47
- width: z.ZodNumber;
48
- height: z.ZodNumber;
49
- }, z.core.$strip>>;
50
- }, z.core.$strip>>;
51
- ir: z.ZodObject<{
52
- floodLight: z.ZodBoolean;
53
- dotProjector: z.ZodBoolean;
54
- }, z.core.$strip>;
55
- stereo: z.ZodBoolean;
56
- thermal: z.ZodBoolean;
57
- productName: import("zod").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", "SELF_HOSTED"]>;
58
- platform: z.ZodEnum<{
59
- RVC2: "RVC2";
60
- RVC4: "RVC4";
61
- UNKNOWN: "UNKNOWN";
62
- }>;
63
- imu: z.ZodBoolean;
64
- calibrated: z.ZodBoolean;
65
- dynamicCalibration: z.ZodBoolean;
66
- fullyCompatible: z.ZodBoolean;
67
- oldUsbGeneration: z.ZodBoolean;
68
- }, z.core.$strip>;
69
- export type DeviceConfiguration = z.infer<typeof DeviceConfigurationSchema>;
41
+ export type DeviceConfiguration = {
42
+ cameraSensors: Sensor[];
43
+ ir: Ir;
44
+ stereo: boolean;
45
+ thermal: boolean;
46
+ productName: z.infer<typeof DeviceListSchema>;
47
+ platform: Platform;
48
+ imu: boolean;
49
+ calibrated: boolean;
50
+ dynamicCalibration: boolean;
51
+ fullyCompatible: boolean;
52
+ oldUsbGeneration: boolean;
53
+ };
54
+ export declare const DeviceConfigurationSchema: z.ZodType<DeviceConfiguration>;
70
55
  //# 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":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY;;;;;;;;;iBAMvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,QAAQ;;;iBAGnB,CAAC;AACH,MAAM,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE1C,eAAO,MAAM,cAAc;;;;EAAsC,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,eAAO,MAAM,cAAc;;;;CAI1B,CAAC;AACF,eAAO,MAAM,eAAe;;;;CAI3B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;EAAoC,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYpC,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,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY;;;;;;;;;iBAMvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,QAAQ;;;iBAGnB,CAAC;AACH,MAAM,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE1C,eAAO,MAAM,cAAc;;;;EAAsC,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,eAAO,MAAM,cAAc;;;;CAI1B,CAAC;AACF,eAAO,MAAM,eAAe;;;;CAI3B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;EAAoC,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG;IACjC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,EAAE,EAAE,EAAE,CAAC;IACP,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAYnE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"device-configuration.js","sourceRoot":"","sources":["../../src/models/device-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,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,EAAE,SAAS,CAAC,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;CAClB,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC9B,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,MAAM;CACf,CAAC;AAEF,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;IACxB,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC/B,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE;IAC5B,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE;CAC7B,CAAC,CAAC"}
1
+ {"version":3,"file":"device-configuration.js","sourceRoot":"","sources":["../../src/models/device-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,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,EAAE,SAAS,CAAC,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;CAClB,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC9B,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,MAAM;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAiBtE,MAAM,CAAC,MAAM,yBAAyB,GAAmC,CAAC,CAAC,MAAM,CAAC;IACjF,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;IACxB,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC/B,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE;IAC5B,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE;CAC7B,CAAC,CAAC"}
@@ -1,4 +1,16 @@
1
1
  export declare const DEBUG_LOGS_LOCAL_STORAGE_KEY: "viewer-debug-logs-enabled";
2
+ type ElectronLogLevel = 'TRACE' | 'DEBUG' | 'INFO' | 'WARN' | 'ERROR' | 'CRITICAL';
3
+ declare global {
4
+ interface Window {
5
+ viewerLogs?: {
6
+ append?: (entry: {
7
+ dt: string;
8
+ level: ElectronLogLevel;
9
+ message: string;
10
+ }) => Promise<unknown>;
11
+ };
12
+ }
13
+ }
2
14
  export declare class Logger {
3
15
  protected static instance: Logger | null;
4
16
  private static _debugLogsEnabled;
@@ -12,4 +24,5 @@ export declare class Logger {
12
24
  error(message?: any, ...optionalParams: any[]): void;
13
25
  static getLogger(): Logger;
14
26
  }
27
+ export {};
15
28
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,EAAG,2BAAoC,CAAC;AAIjF,qBAAa,MAAM;IAClB,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAwB;IAExD,SAAS;IAET,MAAM,KAAK,gBAAgB,IAAI,OAAO,CAOrC;IAED,MAAM,KAAK,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAGzC;IAGM,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAOlD,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAOnD,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAOpD,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAOnD,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;WAM7C,SAAS,IAAI,MAAM;CAOjC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,EAAG,2BAAoC,CAAC;AAEjF,KAAK,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;AAEnF,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,UAAU,CAAC,EAAE;YACZ,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;gBAChB,EAAE,EAAE,MAAM,CAAC;gBACX,KAAK,EAAE,gBAAgB,CAAC;gBACxB,OAAO,EAAE,MAAM,CAAC;aAChB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;SACvB,CAAC;KACF;CACD;AA6CD,qBAAa,MAAM;IAClB,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAwB;IAExD,SAAS;IAET,MAAM,KAAK,gBAAgB,IAAI,OAAO,CAOrC;IAED,MAAM,KAAK,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAGzC;IAGM,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAQlD,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAQnD,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAQpD,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAQnD,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;WAO7C,SAAS,IAAI,MAAM;CAOjC"}
@@ -1,4 +1,39 @@
1
1
  export const DEBUG_LOGS_LOCAL_STORAGE_KEY = 'viewer-debug-logs-enabled';
2
+ function stringifyLogPart(value) {
3
+ if (typeof value === 'string') {
4
+ return value;
5
+ }
6
+ if (value instanceof Error) {
7
+ return value.stack ?? value.message;
8
+ }
9
+ try {
10
+ return JSON.stringify(value);
11
+ }
12
+ catch {
13
+ return String(value);
14
+ }
15
+ }
16
+ function formatLogMessage(message, optionalParams) {
17
+ return [message, ...optionalParams].map(stringifyLogPart).join(' ');
18
+ }
19
+ function forwardToElectron(level, message, optionalParams) {
20
+ try {
21
+ const append = typeof window !== 'undefined' ? window.viewerLogs?.append : undefined;
22
+ if (!append) {
23
+ return;
24
+ }
25
+ void Promise.resolve(append({
26
+ dt: new Date().toISOString(),
27
+ level,
28
+ message: formatLogMessage(message, optionalParams),
29
+ })).catch(() => {
30
+ // Electron log forwarding is best-effort.
31
+ });
32
+ }
33
+ catch {
34
+ // Electron log forwarding is best-effort and must never affect consumers.
35
+ }
36
+ }
2
37
  // Singleton class used for logging across our apps
3
38
  // Is controlled by DEBUG_LOGS_LOCAL_STORAGE_KEY key
4
39
  export class Logger {
@@ -20,30 +55,35 @@ export class Logger {
20
55
  log(message, ...optionalParams) {
21
56
  if (Logger.debugLogsEnabled) {
22
57
  console.log(message, ...optionalParams);
58
+ forwardToElectron('INFO', message, optionalParams);
23
59
  }
24
60
  }
25
61
  // biome-ignore lint/suspicious/noExplicitAny: <explanation>
26
62
  info(message, ...optionalParams) {
27
63
  if (Logger.debugLogsEnabled) {
28
64
  console.log(message, ...optionalParams);
65
+ forwardToElectron('INFO', message, optionalParams);
29
66
  }
30
67
  }
31
68
  // biome-ignore lint/suspicious/noExplicitAny: <explanation>
32
69
  debug(message, ...optionalParams) {
33
70
  if (Logger.debugLogsEnabled) {
34
71
  console.debug(message, ...optionalParams);
72
+ forwardToElectron('DEBUG', message, optionalParams);
35
73
  }
36
74
  }
37
75
  // biome-ignore lint/suspicious/noExplicitAny: <explanation>
38
76
  warn(message, ...optionalParams) {
39
77
  if (Logger.debugLogsEnabled) {
40
78
  console.warn(message, ...optionalParams);
79
+ forwardToElectron('WARN', message, optionalParams);
41
80
  }
42
81
  }
43
82
  // biome-ignore lint/suspicious/noExplicitAny: <explanation>
44
83
  error(message, ...optionalParams) {
45
84
  if (Logger.debugLogsEnabled) {
46
85
  console.error(message, ...optionalParams);
86
+ forwardToElectron('ERROR', message, optionalParams);
47
87
  }
48
88
  }
49
89
  static getLogger() {
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG,2BAAoC,CAAC;AAEjF,mDAAmD;AACnD,oDAAoD;AACpD,MAAM,OAAO,MAAM;IACR,MAAM,CAAC,QAAQ,GAAkB,IAAI,CAAC;IACxC,MAAM,CAAC,iBAAiB,GAAmB,IAAI,CAAC;IAExD,gBAAyB,CAAC;IAE1B,MAAM,KAAK,gBAAgB;QAC1B,IAAI,MAAM,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;YACvE,MAAM,CAAC,iBAAiB,GAAG,WAAW,KAAK,MAAM,CAAC;QACnD,CAAC;QAED,OAAO,MAAM,CAAC,iBAAiB,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,gBAAgB,CAAC,KAAc;QACzC,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,YAAY,CAAC,OAAO,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,4DAA4D;IACrD,GAAG,CAAC,OAAa,EAAE,GAAG,cAAqB;QACjD,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED,4DAA4D;IACrD,IAAI,CAAC,OAAa,EAAE,GAAG,cAAqB;QAClD,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED,4DAA4D;IACrD,KAAK,CAAC,OAAa,EAAE,GAAG,cAAqB;QACnD,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAED,4DAA4D;IACrD,IAAI,CAAC,OAAa,EAAE,GAAG,cAAqB;QAClD,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;QAC1C,CAAC;IACF,CAAC;IAED,4DAA4D;IACrD,KAAK,CAAC,OAAa,EAAE,GAAG,cAAqB;QACnD,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAEM,MAAM,CAAC,SAAS;QACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC;IACxB,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luxonis/depthai-viewer-common",
3
- "version": "3.5.2",
3
+ "version": "3.7.1",
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",
@@ -29,10 +29,10 @@
29
29
  "access": "public"
30
30
  },
31
31
  "dependencies": {
32
- "@luxonis/ui-components": "^1.3.0",
32
+ "@luxonis/ui-components": "^1.3.2",
33
33
  "@luxonis/ui-utils": "^1.0.4",
34
- "@luxonis/depthai-pipeline-lib": "*",
35
- "@luxonis/visualizer-protobuf": "*",
34
+ "@luxonis/depthai-pipeline-lib": "^3.7.0",
35
+ "@luxonis/visualizer-protobuf": "^3.7.0",
36
36
  "lodash": "^4.18.1",
37
37
  "react-resizable-panels": "^2.1.3",
38
38
  "zod": "4.4.3"