@luxonis/visualizer-protobuf 2.67.1 → 2.68.0
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/{depth-CvvVVEb7.js → depth-CFY2W_Vf.js} +35 -18
- package/dist/depth-coloring.worker-DR5moFai.js +120 -0
- package/dist/{deserialization.worker-hk5-vVek.js → deserialization.worker-BRNDCptR.js} +2 -2
- package/dist/{index-OiUy81OG.js → index-7BbbXb7C.js} +2 -2
- package/dist/{index-DyET9xdh.js → index-B5d7u70w.js} +2 -2
- package/dist/{index-BTT4oTs5.js → index-BGrghyc8.js} +2 -2
- package/dist/{index-DzJhlBTx.js → index-BSEL9eaF.js} +2 -2
- package/dist/{index-B0BQ4Fwh.js → index-Bjwf7lc9.js} +2 -2
- package/dist/{index-DpVmn8Eo.js → index-Bndiqw1t.js} +2 -2
- package/dist/{index-DGb5vWhb.js → index-BzPticWU.js} +2 -2
- package/dist/{index-BUWAj7RO.js → index-C99kj7Bj.js} +2 -2
- package/dist/{index-DuHHWrO3.js → index-CO2KzlVr.js} +2 -2
- package/dist/{index-Cnigfgu_.js → index-CYJDY0hm.js} +1 -1
- package/dist/{index-BTaQS6zc.js → index-CfGQhG__.js} +2 -2
- package/dist/{index-BlAepdJg.js → index-CwMsPSeQ.js} +4 -4
- package/dist/{index-BzLeaN56.js → index-D5xb8lsX.js} +916 -488
- package/dist/{index-CYlHxiz2.js → index-D9b6Lu-5.js} +2 -2
- package/dist/{index-ewsVm4VI.js → index-DEr2t1uV.js} +2 -2
- package/dist/{index-CpDOxFKV.js → index-DXgxTZSz.js} +2 -2
- package/dist/{index-bi1RxT1w.js → index-DoCri7UR.js} +2 -2
- package/dist/{index-CTU14EGn.js → index-DtErPDFb.js} +2 -2
- package/dist/{index-CrukQeVA.js → index-DycPqoQx.js} +61 -33
- package/dist/{index-BGsMOjjC.js → index-pfvcsvrO.js} +2 -2
- package/dist/index.js +2 -2
- package/dist/lib/src/components/Panel.d.ts +1 -0
- package/dist/lib/src/components/Panel.d.ts.map +1 -1
- package/dist/lib/src/components/Panel.js +2 -2
- package/dist/lib/src/components/Panel.js.map +1 -1
- package/dist/lib/src/components/PanelToolbar.d.ts +1 -0
- package/dist/lib/src/components/PanelToolbar.d.ts.map +1 -1
- package/dist/lib/src/components/PanelToolbar.js +18 -6
- package/dist/lib/src/components/PanelToolbar.js.map +1 -1
- package/dist/lib/src/connection/connection.d.ts +3 -1
- package/dist/lib/src/connection/connection.d.ts.map +1 -1
- package/dist/lib/src/connection/connection.js +3 -2
- package/dist/lib/src/connection/connection.js.map +1 -1
- package/dist/lib/src/messaging/deserialization/pointcloud/poitcloudPoolManager.js +1 -1
- package/dist/lib/src/messaging/deserialization/pointcloud/poitcloudPoolManager.js.map +1 -1
- package/dist/lib/src/messaging/deserialization/video/depth-coloring.worker.d.ts.map +1 -1
- package/dist/lib/src/messaging/deserialization/video/depth-coloring.worker.js +65 -33
- package/dist/lib/src/messaging/deserialization/video/depth-coloring.worker.js.map +1 -1
- package/dist/lib/src/messaging/deserialization/video/depth.d.ts.map +1 -1
- package/dist/lib/src/messaging/deserialization/video/depth.js +33 -13
- package/dist/lib/src/messaging/deserialization/video/depth.js.map +1 -1
- package/dist/lib/src/messaging/message-handler.js +1 -1
- package/dist/lib/src/messaging/message-handler.js.map +1 -1
- package/dist/lib/src/output.css +4 -2
- package/dist/lib/src/panels/ImagePanel.d.ts +1 -0
- package/dist/lib/src/panels/ImagePanel.d.ts.map +1 -1
- package/dist/lib/src/panels/ImagePanel.js.map +1 -1
- package/dist/lib/src/utils/config-store.d.ts +3 -0
- package/dist/lib/src/utils/config-store.d.ts.map +1 -1
- package/dist/lib/src/utils/config-store.js +8 -0
- package/dist/lib/src/utils/config-store.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/index.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/index.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.js +2 -2
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.d.ts +3 -3
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.js +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandlerFactory.d.ts +11 -0
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandlerFactory.d.ts.map +1 -0
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandlerFactory.js +24 -0
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandlerFactory.js.map +1 -0
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandlerV2.d.ts +94 -0
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandlerV2.d.ts.map +1 -0
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandlerV2.js +410 -0
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandlerV2.js.map +1 -0
- package/package.json +1 -1
- package/dist/depth-coloring.worker-BfrTf5yN.js +0 -86
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Y as styleTags, Z as tags, ak as javascriptLanguage, $ as LRLanguage, a0 as LanguageSupport, a2 as LRParser, ah as html, ai as parseMixed, a1 as ExternalTokenizer } from './index-
|
|
2
|
-
import './depth-
|
|
1
|
+
import { Y as styleTags, Z as tags, ak as javascriptLanguage, $ as LRLanguage, a0 as LanguageSupport, a2 as LRParser, ah as html, ai as parseMixed, a1 as ExternalTokenizer } from './index-DycPqoQx.js';
|
|
2
|
+
import './depth-CFY2W_Vf.js';
|
|
3
3
|
import './comlink-CsH1ih07.js';
|
|
4
4
|
import 'react';
|
|
5
5
|
import 'zustand';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-
|
|
2
|
-
import './depth-
|
|
1
|
+
import { Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-DycPqoQx.js';
|
|
2
|
+
import './depth-CFY2W_Vf.js';
|
|
3
3
|
import './comlink-CsH1ih07.js';
|
|
4
4
|
import 'react';
|
|
5
5
|
import 'zustand';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, ah as html, a0 as LanguageSupport, ai as parseMixed } from './index-
|
|
2
|
-
import './depth-
|
|
1
|
+
import { a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, ah as html, a0 as LanguageSupport, ai as parseMixed } from './index-DycPqoQx.js';
|
|
2
|
+
import './depth-CFY2W_Vf.js';
|
|
3
3
|
import './comlink-CsH1ih07.js';
|
|
4
4
|
import 'react';
|
|
5
5
|
import 'zustand';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Y as styleTags, Z as tags, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, ae as defineCSSCompletionSource, a0 as LanguageSupport, a2 as LRParser, a1 as ExternalTokenizer } from './index-
|
|
2
|
-
import './depth-
|
|
1
|
+
import { Y as styleTags, Z as tags, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, ae as defineCSSCompletionSource, a0 as LanguageSupport, a2 as LRParser, a1 as ExternalTokenizer } from './index-DycPqoQx.js';
|
|
2
|
+
import './depth-CFY2W_Vf.js';
|
|
3
3
|
import './comlink-CsH1ih07.js';
|
|
4
4
|
import 'react';
|
|
5
5
|
import 'zustand';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Y as styleTags, Z as tags, $ as LRLanguage, a0 as LanguageSupport, a2 as LRParser, aa as LocalTokenGroup, ah as html, ai as parseMixed, ak as javascriptLanguage } from './index-
|
|
2
|
-
import './depth-
|
|
1
|
+
import { Y as styleTags, Z as tags, $ as LRLanguage, a0 as LanguageSupport, a2 as LRParser, aa as LocalTokenGroup, ah as html, ai as parseMixed, ak as javascriptLanguage } from './index-DycPqoQx.js';
|
|
2
|
+
import './depth-CFY2W_Vf.js';
|
|
3
3
|
import './comlink-CsH1ih07.js';
|
|
4
4
|
import 'react';
|
|
5
5
|
import 'zustand';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as dist$1, e as estimateObjectSize, r as reportError, A as AppError, b as baseFlatten, a as baseEach, c as baseIteratee, f as baseDifference, g as getTag, h as baseKeys, i as baseIsEqual, j as castPath, t as toKey, k as baseGet, l as hasIn, s as sendNotification, m as shallowequal, u as useGuaranteedContext, n as getPanelIdsInsideTabPanels, o as getPanelTypeFromId, T as TAB_PANEL_TYPE, p as removePanelFromTabPanel, q as getPanelIdForType, v as getPathFromNode, w as updateTabPanelLayout, x as getSaveConfigsPayloadForAddedPanel, y as replaceAndRemovePanels, z as inlineTabPanelLayouts, B as getAllPanelIds, C as getConfigsForNestedPanelsInsideTab, D as reorderTabWithinTabPanel, E as moveTabBetweenTabPanels, F as isTabPanelConfig, G as DEFAULT_TAB_PANEL_CONFIG, H as addPanelToTab, I as createAddUpdates, J as filterMap, L as Logger, K as uniq$2, M as useShallowMemo, N as CurrentLayoutContext, O as MessageOrderTracker, P as AppConfigurationContext, _ as __assign$8, Q as __rest$5, R as __spreadArray$5 } from './depth-
|
|
1
|
+
import { d as dist$1, e as estimateObjectSize, r as reportError, A as AppError, b as baseFlatten, a as baseEach, c as baseIteratee, f as baseDifference, g as getTag, h as baseKeys, i as baseIsEqual, j as castPath, t as toKey, k as baseGet, l as hasIn, s as sendNotification, m as shallowequal, u as useGuaranteedContext, n as getPanelIdsInsideTabPanels, o as getPanelTypeFromId, T as TAB_PANEL_TYPE, p as removePanelFromTabPanel, q as getPanelIdForType, v as getPathFromNode, w as updateTabPanelLayout, x as getSaveConfigsPayloadForAddedPanel, y as replaceAndRemovePanels, z as inlineTabPanelLayouts, B as getAllPanelIds, C as getConfigsForNestedPanelsInsideTab, D as reorderTabWithinTabPanel, E as moveTabBetweenTabPanels, F as isTabPanelConfig, G as DEFAULT_TAB_PANEL_CONFIG, H as addPanelToTab, I as createAddUpdates, J as filterMap, L as Logger, K as uniq$2, M as useShallowMemo, N as CurrentLayoutContext, O as MessageOrderTracker, P as AppConfigurationContext, _ as __assign$8, Q as __rest$5, R as __spreadArray$5 } from './depth-CFY2W_Vf.js';
|
|
2
2
|
import { w as wrap$3, p as proxy } from './comlink-CsH1ih07.js';
|
|
3
3
|
import { u as uint8ArrayToUint16Array } from './utils-Hzt3wxhG.js';
|
|
4
4
|
import { p as protobufsBySchema, a as protobufSchemaNameToType, g as getDefaultExportFromCjs, c as commonjsGlobal } from './protobuf-BFCtaU7c.js';
|
|
@@ -26,7 +26,7 @@ import { defineGlobalStyles, defineTokens as defineTokens$1, defineKeyframes, de
|
|
|
26
26
|
|
|
27
27
|
var e=[],t$1=[];function n$1(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t$1[u]={}),a=t$1[u]&&t$1[u][s]?t$1[u][s]:t$1[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
28
28
|
|
|
29
|
-
var css$b = "/*! tailwindcss v4.1.
|
|
29
|
+
var css$b = "/*! tailwindcss v4.1.15 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-gray-700: oklch(0.373 0.034 259.733);\n --color-white: #fff;\n --spacing: 0.25rem;\n --font-weight-semibold: 600;\n --radius-lg: 0.5rem;\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n 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\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentColor;\n @supports (color: color-mix(in lab, red, red)) {\n & {\n color: color-mix(in oklab, currentColor 50%, transparent);\n }\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .visible {\n visibility: visible;\n }\n .fixed {\n position: fixed;\n }\n .static {\n position: static;\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .w-full {\n width: 100%;\n }\n .grow {\n flex-grow: 1;\n }\n .flex-col {\n flex-direction: column;\n }\n .items-start {\n align-items: flex-start;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-\\[\\#d3d3d3d9\\] {\n border-color: #d3d3d3d9;\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .text-\\[14px\\]\\/\\[14px\\] {\n font-size: 14px;\n line-height: 14px;\n }\n .text-\\[20px\\]\\/\\[20px\\] {\n font-size: 20px;\n line-height: 20px;\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .xl\\:flex-row {\n @media (width >= 80rem) {\n flex-direction: row;\n }\n }\n .xl\\:items-end {\n @media (width >= 80rem) {\n align-items: flex-end;\n }\n }\n .xl\\:pb-\\[2px\\] {\n @media (width >= 80rem) {\n padding-bottom: 2px;\n }\n }\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-font-weight: initial;\n --tw-outline-style: solid;\n }\n }\n}\n";
|
|
30
30
|
n$1(css$b,{});
|
|
31
31
|
|
|
32
32
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -653,7 +653,7 @@ class DepthToPointcloudWorkerPool {
|
|
|
653
653
|
// biome-ignore lint/style/noNonNullAssertion: <explanation>
|
|
654
654
|
const workerApi = this.workerApis[workerIndex];
|
|
655
655
|
this.lastUsedWorkerIndex = (this.lastUsedWorkerIndex + 1) % WORKER_COUNT;
|
|
656
|
-
workerApi.depthToPointcloudGPU(depthDataArray, width, height, fx, fy, cx, cy, i420DataArray, i420Width, i420Height, Number(localStorage.getItem("stereoDepthMaxValue") ?? "
|
|
656
|
+
workerApi.depthToPointcloudGPU(depthDataArray, width, height, fx, fy, cx, cy, i420DataArray, i420Width, i420Height, Number(localStorage.getItem("stereoDepthMaxValue") ?? "8000"), {
|
|
657
657
|
hasGPU: this.#isWebGpuSupported
|
|
658
658
|
}).then(results => {
|
|
659
659
|
if (results.length === batchToProcess.length) {
|
|
@@ -771,8 +771,13 @@ class DepthToPointcloudWorkerPool {
|
|
|
771
771
|
}
|
|
772
772
|
}
|
|
773
773
|
|
|
774
|
+
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
775
|
+
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
776
|
+
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
777
|
+
|
|
774
778
|
const DEFAULT_CONNECTION_CONFIG = {
|
|
775
|
-
debugLogs: false
|
|
779
|
+
debugLogs: false,
|
|
780
|
+
messageHandlerVersion: "v1"
|
|
776
781
|
};
|
|
777
782
|
class ConfigStore {
|
|
778
783
|
connectionConfigValue = DEFAULT_CONNECTION_CONFIG;
|
|
@@ -783,6 +788,10 @@ class ConfigStore {
|
|
|
783
788
|
}
|
|
784
789
|
return ConfigStore.instance;
|
|
785
790
|
}
|
|
791
|
+
static writeToLocalStorage() {
|
|
792
|
+
const instance = ConfigStore.getInstance();
|
|
793
|
+
localStorage.setItem("connectionConfig", JSON.stringify(instance.connectionConfigValue) ?? 'undefined');
|
|
794
|
+
}
|
|
786
795
|
}
|
|
787
796
|
|
|
788
797
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -790,7 +799,7 @@ class ConfigStore {
|
|
|
790
799
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
791
800
|
|
|
792
801
|
function initWorker(callback) {
|
|
793
|
-
const workerWrap = wrap$3(new Worker(new URL("deserialization.worker-
|
|
802
|
+
const workerWrap = wrap$3(new Worker(new URL("deserialization.worker-BRNDCptR.js", import.meta.url), {
|
|
794
803
|
type: "module",
|
|
795
804
|
name: `message-decoder`
|
|
796
805
|
}));
|
|
@@ -818,7 +827,7 @@ function createMessageHandler(callback) {
|
|
|
818
827
|
buffer,
|
|
819
828
|
topic,
|
|
820
829
|
neuralCameraIntrinsics,
|
|
821
|
-
stereoDepthMaxValue: Number(localStorage.getItem("stereoDepthMaxValue") ?? "
|
|
830
|
+
stereoDepthMaxValue: Number(localStorage.getItem("stereoDepthMaxValue") ?? "8000")
|
|
822
831
|
}, ConfigStore.getInstance(), proxiedCallback);
|
|
823
832
|
}
|
|
824
833
|
};
|
|
@@ -20416,7 +20425,8 @@ class VisualizerConnection extends FoxgloveConnection {
|
|
|
20416
20425
|
type,
|
|
20417
20426
|
data,
|
|
20418
20427
|
errorCallback,
|
|
20419
|
-
debugLogs
|
|
20428
|
+
debugLogs,
|
|
20429
|
+
messageHandlerVersion
|
|
20420
20430
|
}) {
|
|
20421
20431
|
super(type === "ws" ? data.connectionUrl : data.config.clientId);
|
|
20422
20432
|
let worker;
|
|
@@ -20430,8 +20440,11 @@ class VisualizerConnection extends FoxgloveConnection {
|
|
|
20430
20440
|
worker = new WebRtcBridge(data.automaticTokenRefresh);
|
|
20431
20441
|
}
|
|
20432
20442
|
ConfigStore.getInstance().connectionConfigValue = {
|
|
20433
|
-
debugLogs: debugLogs ?? false
|
|
20443
|
+
debugLogs: debugLogs ?? false,
|
|
20444
|
+
messageHandlerVersion: messageHandlerVersion ?? 'v1'
|
|
20434
20445
|
};
|
|
20446
|
+
ConfigStore.writeToLocalStorage(); // We need this to propagate the config to non-lib code
|
|
20447
|
+
|
|
20435
20448
|
console.info("[VisualizerConnection] - Opening connection with following configuration", ConfigStore.getInstance().connectionConfigValue);
|
|
20436
20449
|
this.#open(worker, errorCallback);
|
|
20437
20450
|
}
|
|
@@ -86841,7 +86854,7 @@ function legacy(parser) {
|
|
|
86841
86854
|
return new LanguageSupport(StreamLanguage.define(parser));
|
|
86842
86855
|
}
|
|
86843
86856
|
function sql$1(dialectName) {
|
|
86844
|
-
return import('./index-
|
|
86857
|
+
return import('./index-Bndiqw1t.js').then(m => m.sql({ dialect: m[dialectName] }));
|
|
86845
86858
|
}
|
|
86846
86859
|
/**
|
|
86847
86860
|
An array of language descriptions for known language packages.
|
|
@@ -86852,7 +86865,7 @@ const languages = [
|
|
|
86852
86865
|
name: "C",
|
|
86853
86866
|
extensions: ["c", "h", "ino"],
|
|
86854
86867
|
load() {
|
|
86855
|
-
return import('./index-
|
|
86868
|
+
return import('./index-CfGQhG__.js').then(m => m.cpp());
|
|
86856
86869
|
}
|
|
86857
86870
|
}),
|
|
86858
86871
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86860,7 +86873,7 @@ const languages = [
|
|
|
86860
86873
|
alias: ["cpp"],
|
|
86861
86874
|
extensions: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"],
|
|
86862
86875
|
load() {
|
|
86863
|
-
return import('./index-
|
|
86876
|
+
return import('./index-CfGQhG__.js').then(m => m.cpp());
|
|
86864
86877
|
}
|
|
86865
86878
|
}),
|
|
86866
86879
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86880,7 +86893,7 @@ const languages = [
|
|
|
86880
86893
|
name: "Go",
|
|
86881
86894
|
extensions: ["go"],
|
|
86882
86895
|
load() {
|
|
86883
|
-
return import('./index-
|
|
86896
|
+
return import('./index-C99kj7Bj.js').then(m => m.go());
|
|
86884
86897
|
}
|
|
86885
86898
|
}),
|
|
86886
86899
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86895,7 +86908,7 @@ const languages = [
|
|
|
86895
86908
|
name: "Java",
|
|
86896
86909
|
extensions: ["java"],
|
|
86897
86910
|
load() {
|
|
86898
|
-
return import('./index-
|
|
86911
|
+
return import('./index-BSEL9eaF.js').then(m => m.java());
|
|
86899
86912
|
}
|
|
86900
86913
|
}),
|
|
86901
86914
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86911,7 +86924,7 @@ const languages = [
|
|
|
86911
86924
|
alias: ["json5"],
|
|
86912
86925
|
extensions: ["json", "map"],
|
|
86913
86926
|
load() {
|
|
86914
|
-
return import('./index-
|
|
86927
|
+
return import('./index-DEr2t1uV.js').then(m => m.json());
|
|
86915
86928
|
}
|
|
86916
86929
|
}),
|
|
86917
86930
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86925,14 +86938,14 @@ const languages = [
|
|
|
86925
86938
|
name: "LESS",
|
|
86926
86939
|
extensions: ["less"],
|
|
86927
86940
|
load() {
|
|
86928
|
-
return import('./index-
|
|
86941
|
+
return import('./index-DoCri7UR.js').then(m => m.less());
|
|
86929
86942
|
}
|
|
86930
86943
|
}),
|
|
86931
86944
|
/*@__PURE__*/LanguageDescription.of({
|
|
86932
86945
|
name: "Liquid",
|
|
86933
86946
|
extensions: ["liquid"],
|
|
86934
86947
|
load() {
|
|
86935
|
-
return import('./index-
|
|
86948
|
+
return import('./index-7BbbXb7C.js').then(m => m.liquid());
|
|
86936
86949
|
}
|
|
86937
86950
|
}),
|
|
86938
86951
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86958,7 +86971,7 @@ const languages = [
|
|
|
86958
86971
|
name: "PHP",
|
|
86959
86972
|
extensions: ["php", "php3", "php4", "php5", "php7", "phtml"],
|
|
86960
86973
|
load() {
|
|
86961
|
-
return import('./index-
|
|
86974
|
+
return import('./index-DXgxTZSz.js').then(m => m.php());
|
|
86962
86975
|
}
|
|
86963
86976
|
}),
|
|
86964
86977
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86975,28 +86988,28 @@ const languages = [
|
|
|
86975
86988
|
extensions: ["BUILD", "bzl", "py", "pyw"],
|
|
86976
86989
|
filename: /^(BUCK|BUILD)$/,
|
|
86977
86990
|
load() {
|
|
86978
|
-
return import('./index-
|
|
86991
|
+
return import('./index-pfvcsvrO.js').then(m => m.python());
|
|
86979
86992
|
}
|
|
86980
86993
|
}),
|
|
86981
86994
|
/*@__PURE__*/LanguageDescription.of({
|
|
86982
86995
|
name: "Rust",
|
|
86983
86996
|
extensions: ["rs"],
|
|
86984
86997
|
load() {
|
|
86985
|
-
return import('./index-
|
|
86998
|
+
return import('./index-CO2KzlVr.js').then(m => m.rust());
|
|
86986
86999
|
}
|
|
86987
87000
|
}),
|
|
86988
87001
|
/*@__PURE__*/LanguageDescription.of({
|
|
86989
87002
|
name: "Sass",
|
|
86990
87003
|
extensions: ["sass"],
|
|
86991
87004
|
load() {
|
|
86992
|
-
return import('./index-
|
|
87005
|
+
return import('./index-Bjwf7lc9.js').then(m => m.sass({ indented: true }));
|
|
86993
87006
|
}
|
|
86994
87007
|
}),
|
|
86995
87008
|
/*@__PURE__*/LanguageDescription.of({
|
|
86996
87009
|
name: "SCSS",
|
|
86997
87010
|
extensions: ["scss"],
|
|
86998
87011
|
load() {
|
|
86999
|
-
return import('./index-
|
|
87012
|
+
return import('./index-Bjwf7lc9.js').then(m => m.sass());
|
|
87000
87013
|
}
|
|
87001
87014
|
}),
|
|
87002
87015
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -87027,7 +87040,7 @@ const languages = [
|
|
|
87027
87040
|
name: "WebAssembly",
|
|
87028
87041
|
extensions: ["wat", "wast"],
|
|
87029
87042
|
load() {
|
|
87030
|
-
return import('./index-
|
|
87043
|
+
return import('./index-BGrghyc8.js').then(m => m.wast());
|
|
87031
87044
|
}
|
|
87032
87045
|
}),
|
|
87033
87046
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -87035,7 +87048,7 @@ const languages = [
|
|
|
87035
87048
|
alias: ["rss", "wsdl", "xsd"],
|
|
87036
87049
|
extensions: ["xml", "xsl", "xsd", "svg"],
|
|
87037
87050
|
load() {
|
|
87038
|
-
return import('./index-
|
|
87051
|
+
return import('./index-B5d7u70w.js').then(m => m.xml());
|
|
87039
87052
|
}
|
|
87040
87053
|
}),
|
|
87041
87054
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -87043,7 +87056,7 @@ const languages = [
|
|
|
87043
87056
|
alias: ["yml"],
|
|
87044
87057
|
extensions: ["yaml", "yml"],
|
|
87045
87058
|
load() {
|
|
87046
|
-
return import('./index-
|
|
87059
|
+
return import('./index-BzPticWU.js').then(m => m.yaml());
|
|
87047
87060
|
}
|
|
87048
87061
|
}),
|
|
87049
87062
|
// Legacy modes ported from CodeMirror 5
|
|
@@ -87839,13 +87852,13 @@ const languages = [
|
|
|
87839
87852
|
name: "Vue",
|
|
87840
87853
|
extensions: ["vue"],
|
|
87841
87854
|
load() {
|
|
87842
|
-
return import('./index-
|
|
87855
|
+
return import('./index-DtErPDFb.js').then(m => m.vue());
|
|
87843
87856
|
}
|
|
87844
87857
|
}),
|
|
87845
87858
|
/*@__PURE__*/LanguageDescription.of({
|
|
87846
87859
|
name: "Angular Template",
|
|
87847
87860
|
load() {
|
|
87848
|
-
return import('./index-
|
|
87861
|
+
return import('./index-D9b6Lu-5.js').then(m => m.angular());
|
|
87849
87862
|
}
|
|
87850
87863
|
})
|
|
87851
87864
|
];
|
|
@@ -166179,6 +166192,7 @@ const PanelAnnotationButton = ({
|
|
|
166179
166192
|
};
|
|
166180
166193
|
const PanelToolbar = ({
|
|
166181
166194
|
topic,
|
|
166195
|
+
fakedAs,
|
|
166182
166196
|
kind,
|
|
166183
166197
|
setDetections,
|
|
166184
166198
|
disableAnnotations = false,
|
|
@@ -166195,6 +166209,7 @@ const PanelToolbar = ({
|
|
|
166195
166209
|
actions
|
|
166196
166210
|
}) => {
|
|
166197
166211
|
const [metrics, setMetrics] = React__default.useState();
|
|
166212
|
+
const [fakedMetrics, setFakedMetrics] = React__default.useState();
|
|
166198
166213
|
const [showResolution, setShowResolution] = React__default.useState(false);
|
|
166199
166214
|
const {
|
|
166200
166215
|
detections
|
|
@@ -166205,18 +166220,29 @@ const PanelToolbar = ({
|
|
|
166205
166220
|
const wrapperBreakpointRef = React__default.useRef(null);
|
|
166206
166221
|
const parentContainer = wrapperBreakpointRef.current ?? wrapperRef.current ?? document.body;
|
|
166207
166222
|
React__default.useEffect(() => {
|
|
166208
|
-
// Initial set
|
|
166209
166223
|
if (!metrics) {
|
|
166210
166224
|
setMetrics(connections.at(0)?.getTopicMetrics(topic));
|
|
166211
166225
|
}
|
|
166212
166226
|
const interval = setInterval(() => {
|
|
166213
|
-
|
|
166227
|
+
const m = connections[0]?.getTopicMetrics(topic);
|
|
166228
|
+
setMetrics(m);
|
|
166229
|
+
if (fakedAs) {
|
|
166230
|
+
const mFakedAs = connections[0]?.getTopicMetrics(fakedAs);
|
|
166231
|
+
if (mFakedAs) {
|
|
166232
|
+
setFakedMetrics({
|
|
166233
|
+
resolutions: m?.resolutions ?? new Map(),
|
|
166234
|
+
incomingMessagesFps: mFakedAs.incomingMessagesFps,
|
|
166235
|
+
decodedMessagesFps: mFakedAs.decodedMessagesFps,
|
|
166236
|
+
messageThroughput: mFakedAs.messageThroughput
|
|
166237
|
+
});
|
|
166238
|
+
}
|
|
166239
|
+
}
|
|
166214
166240
|
}, 500);
|
|
166215
166241
|
return () => {
|
|
166216
166242
|
clearInterval(interval);
|
|
166217
166243
|
};
|
|
166218
166244
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
166219
|
-
}, []);
|
|
166245
|
+
}, [connections, topic, fakedAs]);
|
|
166220
166246
|
React__default.useEffect(() => {
|
|
166221
166247
|
if (wrapperWidth && wrapperWidth < 600) {
|
|
166222
166248
|
setShowResolution(false);
|
|
@@ -166301,7 +166327,7 @@ const PanelToolbar = ({
|
|
|
166301
166327
|
ref: wrapperBreakpointRef
|
|
166302
166328
|
}, /*#__PURE__*/React__default.createElement(PanelToolbarMetrics, {
|
|
166303
166329
|
targetFps: targetFps,
|
|
166304
|
-
metrics: metrics,
|
|
166330
|
+
metrics: fakedMetrics ?? metrics,
|
|
166305
166331
|
topic: topic,
|
|
166306
166332
|
inDropdown: true,
|
|
166307
166333
|
isPointcloud: kind === "pointCloud"
|
|
@@ -166354,7 +166380,7 @@ const PanelToolbar = ({
|
|
|
166354
166380
|
icon: MdClose
|
|
166355
166381
|
}, "Close Stream")))) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(PanelToolbarMetrics, {
|
|
166356
166382
|
targetFps: targetFps,
|
|
166357
|
-
metrics: metrics,
|
|
166383
|
+
metrics: fakedMetrics ?? metrics,
|
|
166358
166384
|
topic: topic,
|
|
166359
166385
|
isPointcloud: isPointcloud
|
|
166360
166386
|
}), /*#__PURE__*/React__default.createElement(Flex, {
|
|
@@ -166479,6 +166505,7 @@ const Panel = ({
|
|
|
166479
166505
|
canMoveDown,
|
|
166480
166506
|
moveDown,
|
|
166481
166507
|
panelOverlay,
|
|
166508
|
+
fakedAs,
|
|
166482
166509
|
panelToolbarActions
|
|
166483
166510
|
}) => {
|
|
166484
166511
|
const [detections, setDetections] = React__default.useState([]);
|
|
@@ -166505,6 +166532,7 @@ const Panel = ({
|
|
|
166505
166532
|
className: "flex flex-col grow border border-solid border-[#d3d3d3d9] overflow-hidden rounded-lg",
|
|
166506
166533
|
ref: sectionRef
|
|
166507
166534
|
}, panelOverlay, !hideToolbar && /*#__PURE__*/React__default.createElement(PanelToolbar, {
|
|
166535
|
+
fakedAs: fakedAs,
|
|
166508
166536
|
kind: kind,
|
|
166509
166537
|
topic: topic,
|
|
166510
166538
|
setDetections: setDetections,
|
|
@@ -166554,7 +166582,7 @@ function createRenderDelaySampler() {
|
|
|
166554
166582
|
};
|
|
166555
166583
|
}
|
|
166556
166584
|
|
|
166557
|
-
const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-
|
|
166585
|
+
const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-CwMsPSeQ.js'));
|
|
166558
166586
|
const ImagePanelBody = ({
|
|
166559
166587
|
topic,
|
|
166560
166588
|
frameRenderedEvent,
|
|
@@ -166649,7 +166677,7 @@ const DEFAULT_CAMERA_STATE = {
|
|
|
166649
166677
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
166650
166678
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
166651
166679
|
|
|
166652
|
-
const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-
|
|
166680
|
+
const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-D5xb8lsX.js'));
|
|
166653
166681
|
const PointCloudPanelBody = ({
|
|
166654
166682
|
topic,
|
|
166655
166683
|
frameRenderedEvent,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a1 as ExternalTokenizer, a9 as ContextTracker, Y as styleTags, Z as tags, a2 as LRParser, a5 as syntaxTree, a3 as ifNotIn, $ as LRLanguage, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport, ac as IterMode, a4 as completeFromList, ad as NodeWeakMap, ab as snippetCompletion } from './index-
|
|
2
|
-
import './depth-
|
|
1
|
+
import { a1 as ExternalTokenizer, a9 as ContextTracker, Y as styleTags, Z as tags, a2 as LRParser, a5 as syntaxTree, a3 as ifNotIn, $ as LRLanguage, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport, ac as IterMode, a4 as completeFromList, ad as NodeWeakMap, ab as snippetCompletion } from './index-DycPqoQx.js';
|
|
2
|
+
import './depth-CFY2W_Vf.js';
|
|
3
3
|
import './comlink-CsH1ih07.js';
|
|
4
4
|
import 'react';
|
|
5
5
|
import 'zustand';
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { av as FrameStore, ao as ImagePanel, an as PanelLayout, ap as PointCloudPanel, al as VisualizerConnection, am as VisualizerContext, aq as constructKeyForTopicRenderMetrics, aw as getIMUEventEmitter, as as globalDecodeMetricsManager, ar as globalInputEventMetricsManager, at as globalRenderMetricsManager, au as globalThroughputMetricsManager } from './index-
|
|
2
|
-
export { S as getDistanceFromDepthDataForOffset } from './depth-
|
|
1
|
+
export { av as FrameStore, ao as ImagePanel, an as PanelLayout, ap as PointCloudPanel, al as VisualizerConnection, am as VisualizerContext, aq as constructKeyForTopicRenderMetrics, aw as getIMUEventEmitter, as as globalDecodeMetricsManager, ar as globalInputEventMetricsManager, at as globalRenderMetricsManager, au as globalThroughputMetricsManager } from './index-DycPqoQx.js';
|
|
2
|
+
export { S as getDistanceFromDepthDataForOffset } from './depth-CFY2W_Vf.js';
|
|
3
3
|
import './comlink-CsH1ih07.js';
|
|
4
4
|
import './utils-Hzt3wxhG.js';
|
|
5
5
|
import './protobuf-BFCtaU7c.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../../../src/components/Panel.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAoB,MAAM,OAAO,CAAC;AAO3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,sDAAsD,CAAC;AAEhF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,mBAAmB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,UAAU,EAAE,CAAC;CAC1B,CAAC;AAIF,eAAO,MAAM,aAAa,QAAO,aAEhC,CAAC;AAaF,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../../../src/components/Panel.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAoB,MAAM,OAAO,CAAC;AAO3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,sDAAsD,CAAC;AAEhF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAC,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,mBAAmB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,UAAU,EAAE,CAAC;CAC1B,CAAC;AAIF,eAAO,MAAM,aAAa,QAAO,aAEhC,CAAC;AAaF,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAyFtC,CAAC"}
|
|
@@ -17,7 +17,7 @@ const rawToAnnotations = (rawAnnotations, kind, current) => rawAnnotations.map((
|
|
|
17
17
|
extra: kind === "extra",
|
|
18
18
|
enabled: current.find(({ name }) => name === annotationTopic)?.enabled ?? kind === "main",
|
|
19
19
|
}));
|
|
20
|
-
export const Panel = ({ children, kind, topic, disableAnnotations = false, annotationTopics = [], extraAnnotationTopics = [], targetFps, renderDelay, toggleTopic, triggerToast, hideToolbar = false, toggleFullscreen, canMoveUp, moveUp, canMoveDown, moveDown, panelOverlay, panelToolbarActions, }) => {
|
|
20
|
+
export const Panel = ({ children, kind, topic, disableAnnotations = false, annotationTopics = [], extraAnnotationTopics = [], targetFps, renderDelay, toggleTopic, triggerToast, hideToolbar = false, toggleFullscreen, canMoveUp, moveUp, canMoveDown, moveDown, panelOverlay, fakedAs, panelToolbarActions, }) => {
|
|
21
21
|
const [detections, setDetections] = React.useState([]);
|
|
22
22
|
const sectionRef = useRef(null);
|
|
23
23
|
React.useEffect(() => {
|
|
@@ -35,6 +35,6 @@ export const Panel = ({ children, kind, topic, disableAnnotations = false, annot
|
|
|
35
35
|
}
|
|
36
36
|
toggleFullscreen(sectionRef);
|
|
37
37
|
};
|
|
38
|
-
return (_jsx(RemountOnValueChange, { value: "internal-player", children: _jsx(ErrorBoundary, { children: _jsx(DetectionContext.Provider, { value: { detections }, children: _jsxs("section", { className: "flex flex-col grow border border-solid border-[#d3d3d3d9] overflow-hidden rounded-lg", ref: sectionRef, children: [panelOverlay, !hideToolbar && (_jsx(PanelToolbar, { kind: kind, topic: topic, setDetections: setDetections, disableAnnotations: disableAnnotations, targetFps: targetFps, renderDelay: renderDelay, toggleTopic: toggleTopic, toggleFullscreen: toggleFullscreenForThisPanel, triggerToast: triggerToast, canMoveUp: canMoveUp, moveUp: moveUp, canMoveDown: canMoveDown, moveDown: moveDown, touchesBreakpoint: sectionRef.current?.clientWidth ? sectionRef.current.clientWidth <= 550 : false, isPointcloud: kind === "pointCloud", actions: panelToolbarActions })), _jsx(Suspense, { fallback: _jsx(EmptyState, { children: _jsx("div", { children: "Loading..." }) }), children: _jsx(RemountOnValueChange, { value: detections, children: children }) })] }) }) }) }));
|
|
38
|
+
return (_jsx(RemountOnValueChange, { value: "internal-player", children: _jsx(ErrorBoundary, { children: _jsx(DetectionContext.Provider, { value: { detections }, children: _jsxs("section", { className: "flex flex-col grow border border-solid border-[#d3d3d3d9] overflow-hidden rounded-lg", ref: sectionRef, children: [panelOverlay, !hideToolbar && (_jsx(PanelToolbar, { fakedAs: fakedAs, kind: kind, topic: topic, setDetections: setDetections, disableAnnotations: disableAnnotations, targetFps: targetFps, renderDelay: renderDelay, toggleTopic: toggleTopic, toggleFullscreen: toggleFullscreenForThisPanel, triggerToast: triggerToast, canMoveUp: canMoveUp, moveUp: moveUp, canMoveDown: canMoveDown, moveDown: moveDown, touchesBreakpoint: sectionRef.current?.clientWidth ? sectionRef.current.clientWidth <= 550 : false, isPointcloud: kind === "pointCloud", actions: panelToolbarActions })), _jsx(Suspense, { fallback: _jsx(EmptyState, { children: _jsx("div", { children: "Loading..." }) }), children: _jsx(RemountOnValueChange, { value: detections, children: children }) })] }) }) }) }));
|
|
39
39
|
};
|
|
40
40
|
//# sourceMappingURL=Panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.js","sourceRoot":"","sources":["../../../../src/components/Panel.tsx"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAoB,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,UAAU,MAAM,gDAAgD,CAAC;AACxE,OAAO,aAAa,MAAM,mDAAmD,CAAC;AAC9E,OAAO,oBAAoB,MAAM,0DAA0D,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"Panel.js","sourceRoot":"","sources":["../../../../src/components/Panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanelToolbar.d.ts","sourceRoot":"","sources":["../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":"AAGA,OAAO,eAAe,CAAC;AA6BvB,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,YAAY,CAAC;AAI5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,sCAAsC,CAAC;AA0N9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,CAAC;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"PanelToolbar.d.ts","sourceRoot":"","sources":["../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":"AAGA,OAAO,eAAe,CAAC;AA6BvB,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,YAAY,CAAC;AAI5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,sCAAsC,CAAC;AA0N9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,CAAC;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACtB,OAAO,CAAC,EAAC,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA0WpD,CAAC"}
|
|
@@ -92,8 +92,9 @@ const PanelAnnotationButton = ({ topic, onClick }) => {
|
|
|
92
92
|
}, [onClick]);
|
|
93
93
|
return (_jsx(DropdownMenuItem, { onClick: handleClick, children: _jsxs(Flex, { align: "center", gap: "sm", children: [_jsx(Icon, { color: "active", icon: topic.enabled ? ImCheckboxChecked : ImCheckboxUnchecked }), _jsx(NormalText, { text: topic.name })] }) }));
|
|
94
94
|
};
|
|
95
|
-
export const PanelToolbar = ({ topic, kind, setDetections, disableAnnotations = false, targetFps, triggerToast, toggleTopic, toggleFullscreen, canMoveUp, moveUp, canMoveDown, moveDown, touchesBreakpoint, isPointcloud, actions, }) => {
|
|
95
|
+
export const PanelToolbar = ({ topic, fakedAs, kind, setDetections, disableAnnotations = false, targetFps, triggerToast, toggleTopic, toggleFullscreen, canMoveUp, moveUp, canMoveDown, moveDown, touchesBreakpoint, isPointcloud, actions, }) => {
|
|
96
96
|
const [metrics, setMetrics] = React.useState();
|
|
97
|
+
const [fakedMetrics, setFakedMetrics] = React.useState();
|
|
97
98
|
const [showResolution, setShowResolution] = React.useState(false);
|
|
98
99
|
const { detections } = useDetections();
|
|
99
100
|
const connections = useConnections();
|
|
@@ -102,18 +103,29 @@ export const PanelToolbar = ({ topic, kind, setDetections, disableAnnotations =
|
|
|
102
103
|
const wrapperBreakpointRef = React.useRef(null);
|
|
103
104
|
const parentContainer = wrapperBreakpointRef.current ?? wrapperRef.current ?? document.body;
|
|
104
105
|
React.useEffect(() => {
|
|
105
|
-
// Initial set
|
|
106
106
|
if (!metrics) {
|
|
107
107
|
setMetrics(connections.at(0)?.getTopicMetrics(topic));
|
|
108
108
|
}
|
|
109
109
|
const interval = setInterval(() => {
|
|
110
|
-
|
|
110
|
+
const m = connections[0]?.getTopicMetrics(topic);
|
|
111
|
+
setMetrics(m);
|
|
112
|
+
if (fakedAs) {
|
|
113
|
+
const mFakedAs = connections[0]?.getTopicMetrics(fakedAs);
|
|
114
|
+
if (mFakedAs) {
|
|
115
|
+
setFakedMetrics({
|
|
116
|
+
resolutions: m?.resolutions ?? new Map(),
|
|
117
|
+
incomingMessagesFps: mFakedAs.incomingMessagesFps,
|
|
118
|
+
decodedMessagesFps: mFakedAs.decodedMessagesFps,
|
|
119
|
+
messageThroughput: mFakedAs.messageThroughput,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
111
123
|
}, 500);
|
|
112
124
|
return () => {
|
|
113
125
|
clearInterval(interval);
|
|
114
126
|
};
|
|
115
127
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
116
|
-
}, []);
|
|
128
|
+
}, [connections, topic, fakedAs]);
|
|
117
129
|
React.useEffect(() => {
|
|
118
130
|
if (wrapperWidth && wrapperWidth < 600) {
|
|
119
131
|
setShowResolution(false);
|
|
@@ -152,7 +164,7 @@ export const PanelToolbar = ({ topic, kind, setDetections, disableAnnotations =
|
|
|
152
164
|
const makeDetection = React.useCallback((detection, { extra }) => (extra ? detection.extra && !detection.enabled : !detection.extra || detection.enabled) && (_jsx(PanelAnnotationButton, { topic: detection, onClick: () => {
|
|
153
165
|
onToggleTopic(detection.name);
|
|
154
166
|
} }, detection.name)), [onToggleTopic]);
|
|
155
|
-
return (_jsx(Flex, { direction: "row", gap: "xs", align: "center", justify: "space-between", className: "px-4 bg-white", ref: wrapperRef, children: _jsxs(Flex, { direction: "row", gap: "xs", align: "center", justify: touchesBreakpoint ? "space-between" : "start", width: "full", paddingY: "xs", children: [_jsxs(Flex, { width: "fit", gap: "xxs", className: "flex-col xl:flex-row items-start xl:items-end", children: [_jsx(Tooltip, { content: resolution, children: _jsx(SubHeader, { text: name, className: "whitespace-nowrap text-[20px]/[20px]" }) }), showResolution && resolution && (_jsx(Label, { text: `(${resolution})`, className: "text-[14px]/[14px] xl:pb-[2px]" }))] }), touchesBreakpoint ? (_jsxs(Flex, { direction: "row", gap: "xs", align: "center", children: [actions, _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { icon: MoreMenuIcon, variant: "outline", colorVariant: "white", size: "sm" }) }), _jsxs(DropdownMenuContent, { ref: wrapperBreakpointRef, children: [_jsx(PanelToolbarMetrics, { targetFps: targetFps, metrics: metrics, topic: topic, inDropdown: true, isPointcloud: kind === "pointCloud" }), kind === "pointCloud" && (_jsx(Tooltip, { parentContainer: parentContainer, side: "bottom", content: _jsx(PointCloudPanelInstructions, {}), children: _jsx(DropdownMenuItem, { icon: HelpIcon, onClick: (e) => {
|
|
167
|
+
return (_jsx(Flex, { direction: "row", gap: "xs", align: "center", justify: "space-between", className: "px-4 bg-white", ref: wrapperRef, children: _jsxs(Flex, { direction: "row", gap: "xs", align: "center", justify: touchesBreakpoint ? "space-between" : "start", width: "full", paddingY: "xs", children: [_jsxs(Flex, { width: "fit", gap: "xxs", className: "flex-col xl:flex-row items-start xl:items-end", children: [_jsx(Tooltip, { content: resolution, children: _jsx(SubHeader, { text: name, className: "whitespace-nowrap text-[20px]/[20px]" }) }), showResolution && resolution && (_jsx(Label, { text: `(${resolution})`, className: "text-[14px]/[14px] xl:pb-[2px]" }))] }), touchesBreakpoint ? (_jsxs(Flex, { direction: "row", gap: "xs", align: "center", children: [actions, _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { icon: MoreMenuIcon, variant: "outline", colorVariant: "white", size: "sm" }) }), _jsxs(DropdownMenuContent, { ref: wrapperBreakpointRef, children: [_jsx(PanelToolbarMetrics, { targetFps: targetFps, metrics: fakedMetrics ?? metrics, topic: topic, inDropdown: true, isPointcloud: kind === "pointCloud" }), kind === "pointCloud" && (_jsx(Tooltip, { parentContainer: parentContainer, side: "bottom", content: _jsx(PointCloudPanelInstructions, {}), children: _jsx(DropdownMenuItem, { icon: HelpIcon, onClick: (e) => {
|
|
156
168
|
e.stopPropagation();
|
|
157
169
|
e.preventDefault();
|
|
158
170
|
}, cursor: "help", children: "Point Cloud Details" }) })), !disableAnnotations && kind === "image" && (_jsxs(DropdownMenuSub, { children: [_jsx(DropdownMenuSubTrigger, { disabled: detections.length === 0, style: { opacity: detections.length === 0 ? 0.5 : 1 }, children: "Annotations" }), _jsxs(DropdownMenuSubContent, { children: [detections.map((detection) => makeDetection(detection, { extra: false })), hasExtra && (_jsx(Button, { width: "full", paddingY: "xs", variant: "ghost", "aria-expanded": extraVisible ? "true" : undefined, onClick: () => {
|
|
@@ -160,7 +172,7 @@ export const PanelToolbar = ({ topic, kind, setDetections, disableAnnotations =
|
|
|
160
172
|
}, icon: extraVisible ? ArrowUpIcon : ArrowDownIcon, style: {
|
|
161
173
|
borderRadius: 4,
|
|
162
174
|
}, children: extraVisible ? "Less" : "More" })), extraVisible &&
|
|
163
|
-
detections.map((detection) => makeDetection(detection, { extra: true }))] })] })), _jsx(DropdownMenuItem, { onClick: moveUp, disabled: !canMoveUp, icon: FaCaretUp, children: "Move Panel Up" }), _jsx(DropdownMenuItem, { onClick: moveDown, disabled: !canMoveDown, icon: FaCaretDown, children: "Move Panel Down" }), toggleFullscreen && (_jsx(DropdownMenuItem, { onClick: toggleFullscreen, icon: FullscreenIcon, children: "Fullscreen" })), _jsx(DropdownMenuItem, { onClick: () => toggleTopic?.(name), disabled: !canMoveDown, icon: CrossIcon, children: "Close Stream" })] })] })] })) : (_jsxs(_Fragment, { children: [_jsx(PanelToolbarMetrics, { targetFps: targetFps, metrics: metrics, topic: topic, isPointcloud: isPointcloud }), _jsxs(Flex, { direction: "row", gap: "xs", align: "center", justify: "start", marginLeft: "auto", width: "fit", children: [!disableAnnotations && kind === "image" && (_jsxs(DropdownMenu, { children: [_jsx(Tooltip, { content: "Annotations", parentContainer: parentContainer, children: _jsx(DropdownMenuTrigger, { asChild: true, disabled: detections.length === 0, children: _jsx(Button, { variant: "outline", colorVariant: "white", size: "sm", icon: CiFilter, disabled: detections.length === 0 }) }) }), _jsxs(DropdownMenuContent, { parentContainer: parentContainer, children: [detections.map((detection) => makeDetection(detection, { extra: false })), hasExtra && (_jsx(Button, { width: "full", paddingY: "xs", variant: "ghost", "aria-expanded": extraVisible ? "true" : undefined, onClick: () => {
|
|
175
|
+
detections.map((detection) => makeDetection(detection, { extra: true }))] })] })), _jsx(DropdownMenuItem, { onClick: moveUp, disabled: !canMoveUp, icon: FaCaretUp, children: "Move Panel Up" }), _jsx(DropdownMenuItem, { onClick: moveDown, disabled: !canMoveDown, icon: FaCaretDown, children: "Move Panel Down" }), toggleFullscreen && (_jsx(DropdownMenuItem, { onClick: toggleFullscreen, icon: FullscreenIcon, children: "Fullscreen" })), _jsx(DropdownMenuItem, { onClick: () => toggleTopic?.(name), disabled: !canMoveDown, icon: CrossIcon, children: "Close Stream" })] })] })] })) : (_jsxs(_Fragment, { children: [_jsx(PanelToolbarMetrics, { targetFps: targetFps, metrics: fakedMetrics ?? metrics, topic: topic, isPointcloud: isPointcloud }), _jsxs(Flex, { direction: "row", gap: "xs", align: "center", justify: "start", marginLeft: "auto", width: "fit", children: [!disableAnnotations && kind === "image" && (_jsxs(DropdownMenu, { children: [_jsx(Tooltip, { content: "Annotations", parentContainer: parentContainer, children: _jsx(DropdownMenuTrigger, { asChild: true, disabled: detections.length === 0, children: _jsx(Button, { variant: "outline", colorVariant: "white", size: "sm", icon: CiFilter, disabled: detections.length === 0 }) }) }), _jsxs(DropdownMenuContent, { parentContainer: parentContainer, children: [detections.map((detection) => makeDetection(detection, { extra: false })), hasExtra && (_jsx(Button, { width: "full", paddingY: "xs", variant: "ghost", "aria-expanded": extraVisible ? "true" : undefined, onClick: () => {
|
|
164
176
|
setExtraVisible((current) => !current);
|
|
165
177
|
}, icon: extraVisible ? ArrowUpIcon : ArrowDownIcon, style: {
|
|
166
178
|
borderRadius: 4,
|