@osdk/react-devtools 0.12.0 → 0.12.1-main-e3a6fa4fb529f640175ebec3bec4c55bc8854f9c
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/CHANGELOG.md +7 -0
- package/build/esm/components/MonitoringPanel.js +51 -33
- package/build/esm/components/MonitoringPanel.js.map +1 -1
- package/build/esm/components/MonitoringPanel.module.scss.js +2 -4
- package/build/esm/fiber/DegradationNotice.js +7 -1
- package/build/esm/fiber/DegradationNotice.js.map +1 -1
- package/build/esm/hooks/useClientMetrics.js +34 -0
- package/build/esm/hooks/useClientMetrics.js.map +1 -0
- package/build/esm/hooks/usePersistedState.js +27 -1
- package/build/esm/hooks/usePersistedState.js.map +1 -1
- package/build/esm/index.js +2 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/metrics/clientMetrics.js +87 -0
- package/build/esm/metrics/clientMetrics.js.map +1 -0
- package/build/esm/styles.css +30 -45
- package/build/esm/styles.js +1 -1
- package/build/types/components/MonitoringPanel.d.ts.map +1 -1
- package/build/types/fiber/DegradationNotice.d.ts +1 -0
- package/build/types/fiber/DegradationNotice.d.ts.map +1 -1
- package/build/types/hooks/useClientMetrics.d.ts +11 -0
- package/build/types/hooks/useClientMetrics.d.ts.map +1 -0
- package/build/types/hooks/usePersistedState.d.ts +6 -1
- package/build/types/hooks/usePersistedState.d.ts.map +1 -1
- package/build/types/index.d.ts +3 -0
- package/build/types/index.d.ts.map +1 -1
- package/build/types/metrics/clientMetrics.d.ts +28 -0
- package/build/types/metrics/clientMetrics.d.ts.map +1 -0
- package/package.json +4 -4
package/build/esm/index.js
CHANGED
|
@@ -21,8 +21,10 @@ export { MonitoringPanel, SafeMonitoringPanel } from "./components/MonitoringPan
|
|
|
21
21
|
export { OsdkAppErrorBoundary } from "./components/OsdkAppErrorBoundary.js";
|
|
22
22
|
export { OsdkDevTools } from "./components/OsdkDevTools.js";
|
|
23
23
|
export { useComputeMetrics, useComputeRecording, useComputeRequests } from "./hooks/useComputeSelectors.js";
|
|
24
|
+
export { useClientMetrics } from "./hooks/useClientMetrics.js";
|
|
24
25
|
export { useMetrics } from "./hooks/useMetrics.js";
|
|
25
26
|
export { usePersistedState } from "./hooks/usePersistedState.js";
|
|
27
|
+
export { getClientMetrics, MIN_SAMPLES } from "./metrics/clientMetrics.js";
|
|
26
28
|
export { ComputeStore } from "./store/ComputeStore.js";
|
|
27
29
|
export { MonitorStore } from "./store/MonitorStore.js";
|
|
28
30
|
export { componentContextCapture } from "./utils/ComponentContextCapture.js";
|
package/build/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["BubbleChart","MonitorErrorBoundary","MonitoringPanel","SafeMonitoringPanel","OsdkAppErrorBoundary","OsdkDevTools","useComputeMetrics","useComputeRecording","useComputeRequests","useMetrics","usePersistedState","ComputeStore","MonitorStore","componentContextCapture","ComputeMonitor"],"sources":["index.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport \"./register.js\";\n\nexport { BubbleChart } from \"./components/BubbleChart.js\";\nexport { MonitorErrorBoundary } from \"./components/MonitorErrorBoundary.js\";\nexport type { MonitorErrorBoundaryProps } from \"./components/MonitorErrorBoundary.js\";\nexport {\n MonitoringPanel,\n SafeMonitoringPanel,\n} from \"./components/MonitoringPanel.js\";\nexport type { MonitoringPanelProps } from \"./components/MonitoringPanel.js\";\nexport { OsdkAppErrorBoundary } from \"./components/OsdkAppErrorBoundary.js\";\nexport type { OsdkAppErrorBoundaryProps } from \"./components/OsdkAppErrorBoundary.js\";\nexport { OsdkDevTools } from \"./components/OsdkDevTools.js\";\n\nexport {\n useComputeMetrics,\n useComputeRecording,\n useComputeRequests,\n} from \"./hooks/useComputeSelectors.js\";\nexport { useMetrics } from \"./hooks/useMetrics.js\";\nexport { usePersistedState } from \"./hooks/usePersistedState.js\";\n\nexport type { Fiber } from \"./fiber/types.js\";\nexport { ComputeStore } from \"./store/ComputeStore.js\";\nexport { MonitorStore } from \"./store/MonitorStore.js\";\nexport { componentContextCapture } from \"./utils/ComponentContextCapture.js\";\nexport type {\n ComponentContext,\n ComponentContextCapture,\n} from \"./utils/ComponentContextCapture.js\";\nexport type { ComponentQueryRegistry } from \"./utils/ComponentQueryRegistry.js\";\nexport { ComputeMonitor } from \"./utils/ComputeMonitor.js\";\n\nexport type {\n AggregateMetrics,\n MetricRates,\n MetricsSnapshot,\n Operation,\n OperationMetadata,\n OperationType,\n PanelPosition,\n TimeSeriesData,\n} from \"./types/index.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,eAAe;AAEtB,SAASA,WAAW,QAAQ,6BAA6B;AACzD,SAASC,oBAAoB,QAAQ,sCAAsC;AAE3E,SACEC,eAAe,EACfC,mBAAmB,QACd,iCAAiC;AAExC,SAASC,oBAAoB,QAAQ,sCAAsC;AAE3E,SAASC,YAAY,QAAQ,8BAA8B;AAE3D,SACEC,iBAAiB,EACjBC,mBAAmB,EACnBC,kBAAkB,QACb,gCAAgC;AACvC,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,iBAAiB,QAAQ,8BAA8B;
|
|
1
|
+
{"version":3,"file":"index.js","names":["BubbleChart","MonitorErrorBoundary","MonitoringPanel","SafeMonitoringPanel","OsdkAppErrorBoundary","OsdkDevTools","useComputeMetrics","useComputeRecording","useComputeRequests","useClientMetrics","useMetrics","usePersistedState","getClientMetrics","MIN_SAMPLES","ComputeStore","MonitorStore","componentContextCapture","ComputeMonitor"],"sources":["index.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport \"./register.js\";\n\nexport { BubbleChart } from \"./components/BubbleChart.js\";\nexport { MonitorErrorBoundary } from \"./components/MonitorErrorBoundary.js\";\nexport type { MonitorErrorBoundaryProps } from \"./components/MonitorErrorBoundary.js\";\nexport {\n MonitoringPanel,\n SafeMonitoringPanel,\n} from \"./components/MonitoringPanel.js\";\nexport type { MonitoringPanelProps } from \"./components/MonitoringPanel.js\";\nexport { OsdkAppErrorBoundary } from \"./components/OsdkAppErrorBoundary.js\";\nexport type { OsdkAppErrorBoundaryProps } from \"./components/OsdkAppErrorBoundary.js\";\nexport { OsdkDevTools } from \"./components/OsdkDevTools.js\";\n\nexport {\n useComputeMetrics,\n useComputeRecording,\n useComputeRequests,\n} from \"./hooks/useComputeSelectors.js\";\nexport { useClientMetrics } from \"./hooks/useClientMetrics.js\";\nexport { useMetrics } from \"./hooks/useMetrics.js\";\nexport { usePersistedState } from \"./hooks/usePersistedState.js\";\n\nexport { getClientMetrics, MIN_SAMPLES } from \"./metrics/clientMetrics.js\";\nexport type { ClientMetrics, Metric } from \"./metrics/clientMetrics.js\";\n\nexport type { Fiber } from \"./fiber/types.js\";\nexport { ComputeStore } from \"./store/ComputeStore.js\";\nexport { MonitorStore } from \"./store/MonitorStore.js\";\nexport { componentContextCapture } from \"./utils/ComponentContextCapture.js\";\nexport type {\n ComponentContext,\n ComponentContextCapture,\n} from \"./utils/ComponentContextCapture.js\";\nexport type { ComponentQueryRegistry } from \"./utils/ComponentQueryRegistry.js\";\nexport { ComputeMonitor } from \"./utils/ComputeMonitor.js\";\n\nexport type {\n AggregateMetrics,\n MetricRates,\n MetricsSnapshot,\n Operation,\n OperationMetadata,\n OperationType,\n PanelPosition,\n TimeSeriesData,\n} from \"./types/index.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,eAAe;AAEtB,SAASA,WAAW,QAAQ,6BAA6B;AACzD,SAASC,oBAAoB,QAAQ,sCAAsC;AAE3E,SACEC,eAAe,EACfC,mBAAmB,QACd,iCAAiC;AAExC,SAASC,oBAAoB,QAAQ,sCAAsC;AAE3E,SAASC,YAAY,QAAQ,8BAA8B;AAE3D,SACEC,iBAAiB,EACjBC,mBAAmB,EACnBC,kBAAkB,QACb,gCAAgC;AACvC,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,iBAAiB,QAAQ,8BAA8B;AAEhE,SAASC,gBAAgB,EAAEC,WAAW,QAAQ,4BAA4B;AAI1E,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SAASC,uBAAuB,QAAQ,oCAAoC;AAM5E,SAASC,cAAc,QAAQ,2BAA2B","ignoreList":[]}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
export const MIN_SAMPLES = {
|
|
18
|
+
cacheHitRate: 20,
|
|
19
|
+
latency: 5,
|
|
20
|
+
requestsSaved: 1,
|
|
21
|
+
optimisticCoverage: 3,
|
|
22
|
+
rollbackRate: 3
|
|
23
|
+
};
|
|
24
|
+
function metric(value, sampleCount, group, unit) {
|
|
25
|
+
const enough = sampleCount >= MIN_SAMPLES[group];
|
|
26
|
+
const safeValue = Number.isFinite(value) ? value : 0;
|
|
27
|
+
return {
|
|
28
|
+
value: enough ? safeValue : undefined,
|
|
29
|
+
sampleCount,
|
|
30
|
+
unit
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export function getClientMetrics(snapshot) {
|
|
34
|
+
const a = snapshot.aggregates;
|
|
35
|
+
const hits = a.cacheHits;
|
|
36
|
+
const misses = a.cacheMisses;
|
|
37
|
+
const revals = a.revalidations;
|
|
38
|
+
const dedups = a.deduplications;
|
|
39
|
+
const actions = a.actionCount;
|
|
40
|
+
const optimisticActions = a.optimisticActionCount;
|
|
41
|
+
const rollbacks = a.rollbackActionCount;
|
|
42
|
+
const requestTotal = hits + misses + revals;
|
|
43
|
+
const cacheHitRate = metric(requestTotal > 0 ? (hits + revals) / requestTotal : 0, requestTotal, "cacheHitRate");
|
|
44
|
+
const requestsSavedCount = hits + revals + dedups;
|
|
45
|
+
const requestsSaved = metric(requestsSavedCount, requestsSavedCount, "requestsSaved", "requests");
|
|
46
|
+
const avgNetworkMs = metric(a.networkResponseTime / Math.max(misses, 1), misses, "latency", "ms");
|
|
47
|
+
|
|
48
|
+
// Derived from two other metrics, so it stays undefined until both of those
|
|
49
|
+
// have enough samples to be meaningful.
|
|
50
|
+
const timeSaved = requestsSaved.value !== undefined && avgNetworkMs.value !== undefined ? requestsSaved.value * avgNetworkMs.value : undefined;
|
|
51
|
+
const estimatedTimeSavedMs = {
|
|
52
|
+
value: timeSaved !== undefined && Number.isFinite(timeSaved) ? timeSaved : undefined,
|
|
53
|
+
sampleCount: requestsSavedCount,
|
|
54
|
+
unit: "ms"
|
|
55
|
+
};
|
|
56
|
+
const avgResponseMs = metric(requestTotal > 0 ? a.totalResponseTime / requestTotal : 0, requestTotal, "latency", "ms");
|
|
57
|
+
const avgCachedMs = metric(a.cachedResponseTime / Math.max(hits, 1), hits, "latency", "ms");
|
|
58
|
+
const optimisticCoverage = metric(actions > 0 ? optimisticActions / actions : 0, actions, "optimisticCoverage");
|
|
59
|
+
const avgPerceivedSpeedupMs = metric(a.totalPerceivedSpeedup / Math.max(optimisticActions, 1), optimisticActions, "latency", "ms");
|
|
60
|
+
const rollbackRate = metric(actions > 0 ? rollbacks / actions : 0, actions, "rollbackRate");
|
|
61
|
+
return {
|
|
62
|
+
cacheHitRate,
|
|
63
|
+
requestsSaved,
|
|
64
|
+
estimatedTimeSavedMs,
|
|
65
|
+
avgResponseMs,
|
|
66
|
+
avgCachedMs,
|
|
67
|
+
avgNetworkMs,
|
|
68
|
+
optimisticCoverage,
|
|
69
|
+
avgPerceivedSpeedupMs,
|
|
70
|
+
rollbackRate
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/** Format a metric as a display string, or "N/A" until it has a value. */
|
|
75
|
+
export function formatMetric(m) {
|
|
76
|
+
if (m.value === undefined) {
|
|
77
|
+
return "N/A";
|
|
78
|
+
}
|
|
79
|
+
if (m.unit === "requests") {
|
|
80
|
+
return `${Math.round(m.value)}`;
|
|
81
|
+
}
|
|
82
|
+
if (m.unit === "ms") {
|
|
83
|
+
return `${Math.round(m.value)} ms`;
|
|
84
|
+
}
|
|
85
|
+
return `${Math.round(m.value * 100)}%`;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=clientMetrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientMetrics.js","names":["MIN_SAMPLES","cacheHitRate","latency","requestsSaved","optimisticCoverage","rollbackRate","metric","value","sampleCount","group","unit","enough","safeValue","Number","isFinite","undefined","getClientMetrics","snapshot","a","aggregates","hits","cacheHits","misses","cacheMisses","revals","revalidations","dedups","deduplications","actions","actionCount","optimisticActions","optimisticActionCount","rollbacks","rollbackActionCount","requestTotal","requestsSavedCount","avgNetworkMs","networkResponseTime","Math","max","timeSaved","estimatedTimeSavedMs","avgResponseMs","totalResponseTime","avgCachedMs","cachedResponseTime","avgPerceivedSpeedupMs","totalPerceivedSpeedup","formatMetric","m","round"],"sources":["clientMetrics.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { MetricsSnapshot } from \"../types/index.js\";\n\nexport interface Metric {\n /** The computed value, or undefined until enough samples have accrued. */\n value: number | undefined;\n sampleCount: number;\n unit?: string;\n}\n\nexport interface ClientMetrics {\n cacheHitRate: Metric;\n requestsSaved: Metric;\n estimatedTimeSavedMs: Metric;\n avgResponseMs: Metric;\n avgCachedMs: Metric;\n avgNetworkMs: Metric;\n optimisticCoverage: Metric;\n avgPerceivedSpeedupMs: Metric;\n rollbackRate: Metric;\n}\n\nexport const MIN_SAMPLES = {\n cacheHitRate: 20,\n latency: 5,\n requestsSaved: 1,\n optimisticCoverage: 3,\n rollbackRate: 3,\n} as const;\n\ntype MinSamplesGroup = keyof typeof MIN_SAMPLES;\n\nfunction metric(\n value: number,\n sampleCount: number,\n group: MinSamplesGroup,\n unit?: string\n): Metric {\n const enough = sampleCount >= MIN_SAMPLES[group];\n const safeValue = Number.isFinite(value) ? value : 0;\n return {\n value: enough ? safeValue : undefined,\n sampleCount,\n unit,\n };\n}\n\nexport function getClientMetrics(snapshot: MetricsSnapshot): ClientMetrics {\n const a = snapshot.aggregates;\n const hits = a.cacheHits;\n const misses = a.cacheMisses;\n const revals = a.revalidations;\n const dedups = a.deduplications;\n const actions = a.actionCount;\n const optimisticActions = a.optimisticActionCount;\n const rollbacks = a.rollbackActionCount;\n\n const requestTotal = hits + misses + revals;\n\n const cacheHitRate = metric(\n requestTotal > 0 ? (hits + revals) / requestTotal : 0,\n requestTotal,\n \"cacheHitRate\"\n );\n\n const requestsSavedCount = hits + revals + dedups;\n const requestsSaved = metric(\n requestsSavedCount,\n requestsSavedCount,\n \"requestsSaved\",\n \"requests\"\n );\n\n const avgNetworkMs = metric(\n a.networkResponseTime / Math.max(misses, 1),\n misses,\n \"latency\",\n \"ms\"\n );\n\n // Derived from two other metrics, so it stays undefined until both of those\n // have enough samples to be meaningful.\n const timeSaved =\n requestsSaved.value !== undefined && avgNetworkMs.value !== undefined\n ? requestsSaved.value * avgNetworkMs.value\n : undefined;\n const estimatedTimeSavedMs: Metric = {\n value:\n timeSaved !== undefined && Number.isFinite(timeSaved)\n ? timeSaved\n : undefined,\n sampleCount: requestsSavedCount,\n unit: \"ms\",\n };\n\n const avgResponseMs = metric(\n requestTotal > 0 ? a.totalResponseTime / requestTotal : 0,\n requestTotal,\n \"latency\",\n \"ms\"\n );\n\n const avgCachedMs = metric(\n a.cachedResponseTime / Math.max(hits, 1),\n hits,\n \"latency\",\n \"ms\"\n );\n\n const optimisticCoverage = metric(\n actions > 0 ? optimisticActions / actions : 0,\n actions,\n \"optimisticCoverage\"\n );\n\n const avgPerceivedSpeedupMs = metric(\n a.totalPerceivedSpeedup / Math.max(optimisticActions, 1),\n optimisticActions,\n \"latency\",\n \"ms\"\n );\n\n const rollbackRate = metric(\n actions > 0 ? rollbacks / actions : 0,\n actions,\n \"rollbackRate\"\n );\n\n return {\n cacheHitRate,\n requestsSaved,\n estimatedTimeSavedMs,\n avgResponseMs,\n avgCachedMs,\n avgNetworkMs,\n optimisticCoverage,\n avgPerceivedSpeedupMs,\n rollbackRate,\n };\n}\n\n/** Format a metric as a display string, or \"N/A\" until it has a value. */\nexport function formatMetric(m: Metric): string {\n if (m.value === undefined) {\n return \"N/A\";\n }\n if (m.unit === \"requests\") {\n return `${Math.round(m.value)}`;\n }\n if (m.unit === \"ms\") {\n return `${Math.round(m.value)} ms`;\n }\n return `${Math.round(m.value * 100)}%`;\n}\n"],"mappings":"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","ignoreList":[]}
|
package/build/esm/styles.css
CHANGED
|
@@ -18635,71 +18635,56 @@ a > .bp6-dark .bp6-tooltip .bp6-running-text code{
|
|
|
18635
18635
|
|
|
18636
18636
|
.MonitoringPanel-module__content___ZVPMCH4O {
|
|
18637
18637
|
flex: 1;
|
|
18638
|
-
|
|
18638
|
+
min-height: 0;
|
|
18639
18639
|
display: flex;
|
|
18640
18640
|
flex-direction: column;
|
|
18641
18641
|
pointer-events: auto;
|
|
18642
18642
|
}
|
|
18643
18643
|
|
|
18644
|
+
.MonitoringPanel-module__notice___W3C3JBnI {
|
|
18645
|
+
width: auto;
|
|
18646
|
+
}
|
|
18647
|
+
|
|
18644
18648
|
.MonitoringPanel-module__tabs___bqn6HDbz {
|
|
18649
|
+
flex: 1;
|
|
18650
|
+
min-width: 0;
|
|
18651
|
+
min-height: 0;
|
|
18645
18652
|
display: flex;
|
|
18646
|
-
|
|
18653
|
+
flex-direction: column;
|
|
18654
|
+
background: var(--dt-bg-elevated);
|
|
18655
|
+
}
|
|
18656
|
+
.MonitoringPanel-module__tabs___bqn6HDbz .bp6-tab-list {
|
|
18657
|
+
flex-shrink: 0;
|
|
18658
|
+
padding: 4px 12px 0;
|
|
18647
18659
|
border-bottom: 1px solid var(--dt-border-default);
|
|
18648
|
-
background: transparent;
|
|
18649
18660
|
overflow-x: auto;
|
|
18661
|
+
overflow-y: hidden;
|
|
18662
|
+
scrollbar-width: none;
|
|
18650
18663
|
}
|
|
18651
|
-
.MonitoringPanel-module__tabs___bqn6HDbz::-webkit-scrollbar {
|
|
18664
|
+
.MonitoringPanel-module__tabs___bqn6HDbz .bp6-tab-list::-webkit-scrollbar {
|
|
18665
|
+
display: none;
|
|
18666
|
+
}
|
|
18667
|
+
|
|
18668
|
+
.MonitoringPanel-module__tabPanel___fRtsspWk {
|
|
18669
|
+
flex: 1;
|
|
18670
|
+
min-height: 0;
|
|
18671
|
+
margin-top: 0;
|
|
18672
|
+
overflow: auto;
|
|
18673
|
+
}
|
|
18674
|
+
.MonitoringPanel-module__tabPanel___fRtsspWk::-webkit-scrollbar {
|
|
18652
18675
|
width: 6px;
|
|
18653
18676
|
}
|
|
18654
|
-
.MonitoringPanel-
|
|
18677
|
+
.MonitoringPanel-module__tabPanel___fRtsspWk::-webkit-scrollbar-track {
|
|
18655
18678
|
background: var(--dt-scrollbar-track);
|
|
18656
18679
|
border-radius: 3px;
|
|
18657
18680
|
}
|
|
18658
|
-
.MonitoringPanel-
|
|
18681
|
+
.MonitoringPanel-module__tabPanel___fRtsspWk::-webkit-scrollbar-thumb {
|
|
18659
18682
|
background: var(--dt-scrollbar-thumb);
|
|
18660
18683
|
border-radius: 3px;
|
|
18661
18684
|
}
|
|
18662
|
-
.MonitoringPanel-
|
|
18685
|
+
.MonitoringPanel-module__tabPanel___fRtsspWk::-webkit-scrollbar-thumb:hover {
|
|
18663
18686
|
background: var(--dt-scrollbar-thumb-hover);
|
|
18664
18687
|
}
|
|
18665
|
-
.MonitoringPanel-module__tabs___bqn6HDbz {
|
|
18666
|
-
padding: 0 12px;
|
|
18667
|
-
flex-shrink: 0;
|
|
18668
|
-
pointer-events: auto;
|
|
18669
|
-
}
|
|
18670
|
-
|
|
18671
|
-
.MonitoringPanel-module__tabButton___cjPGg0FS {
|
|
18672
|
-
background: transparent;
|
|
18673
|
-
border: none;
|
|
18674
|
-
border-bottom: 2px solid transparent;
|
|
18675
|
-
color: var(--dt-text-tertiary);
|
|
18676
|
-
font-size: 11px;
|
|
18677
|
-
font-weight: 600;
|
|
18678
|
-
letter-spacing: 0.05em;
|
|
18679
|
-
text-transform: uppercase;
|
|
18680
|
-
padding: 8px 12px 6px;
|
|
18681
|
-
margin-bottom: -1px;
|
|
18682
|
-
cursor: pointer;
|
|
18683
|
-
transition: color 0.12s ease-out, border-color 0.12s ease-out;
|
|
18684
|
-
white-space: nowrap;
|
|
18685
|
-
flex-shrink: 0;
|
|
18686
|
-
}
|
|
18687
|
-
.MonitoringPanel-module__tabButton___cjPGg0FS:hover {
|
|
18688
|
-
color: var(--dt-text-secondary);
|
|
18689
|
-
}
|
|
18690
|
-
|
|
18691
|
-
.MonitoringPanel-module__tabButtonActive___gEhlfE4y {
|
|
18692
|
-
color: var(--dt-blue);
|
|
18693
|
-
border-bottom-color: var(--dt-blue);
|
|
18694
|
-
}
|
|
18695
|
-
|
|
18696
|
-
.MonitoringPanel-module__tabContentVisible___llXLpVeb {
|
|
18697
|
-
display: contents;
|
|
18698
|
-
}
|
|
18699
|
-
|
|
18700
|
-
.MonitoringPanel-module__tabContentHidden___Hm4ckAQm {
|
|
18701
|
-
display: none;
|
|
18702
|
-
}
|
|
18703
18688
|
|
|
18704
18689
|
.MonitoringPanel-module__metricsGrid___Ui5kYWKE {
|
|
18705
18690
|
display: flex;
|