@elaraai/e3-ui-components 1.0.60 → 1.0.62
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/components/DatasetKeySearch.d.ts +84 -0
- package/dist/components/DatasetKeySearch.d.ts.map +1 -0
- package/dist/components/DatasetPreview.d.ts.map +1 -1
- package/dist/components/PagedDatasetPreview.d.ts +3 -0
- package/dist/components/PagedDatasetPreview.d.ts.map +1 -1
- package/dist/index.cjs +443 -106
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +446 -109
- package/dist/index.js.map +1 -1
- package/dist/ontology/accents.d.ts +2 -2
- package/dist/ontology/index.d.ts.map +1 -1
- package/package.json +21 -15
package/dist/index.js
CHANGED
|
@@ -18,17 +18,17 @@ var __privateWrapper = (obj, member, setter, getter) => ({
|
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
var _focused, _cleanup, _setup, _a, _provider, _providerCalled, _b, _online, _cleanup2, _setup2, _c, _gcTimeout, _d, _initialState, _revertState, _cache, _client, _retryer, _defaultOptions, _abortSignalConsumed, _Query_instances, isInitialPausedFetch_fn, dispatch_fn, _e, _client2, _observers, _mutationCache, _retryer2, _Mutation_instances, dispatch_fn2, _f, _mutations, _scopes, _mutationId, _g, _queries, _h, _queryCache, _mutationCache2, _defaultOptions2, _queryDefaults, _mutationDefaults, _mountCount, _unsubscribeFocus, _unsubscribeOnline, _i, _j;
|
|
21
|
-
import { variant, SortedMap, compareFor, EastError, fromEastTypeValue, East, none as none$1, some, OptionType, BooleanType, NullType, ConflictError, equalFor, toEastTypeValue, PatchType, diffFor, applyFor, encodeBeast2For, decodeBeast2For, BlobType, StructType, StringType, walkPatch, pathToString, pathDisplay, printFor, isVariant, prunePatchFor, detectConflictsFor, mergeWithResolutionsFor, validatePatchFor, isEastSet, isEastDict, ArrayType } from "@elaraai/east";
|
|
21
|
+
import { variant, SortedMap, compareFor, EastError, fromEastTypeValue, East, none as none$1, some, OptionType, BooleanType, NullType, ConflictError, equalFor, toEastTypeValue, PatchType, diffFor, applyFor, encodeBeast2For, decodeBeast2For, BlobType, StructType, StringType, walkPatch, pathToString, pathDisplay, printFor, isVariant, prunePatchFor, detectConflictsFor, mergeWithResolutionsFor, validatePatchFor, isEastSet, isEastDict, ArrayType, parseFor } from "@elaraai/east";
|
|
22
22
|
import { EastTypeType } from "@elaraai/east/internal";
|
|
23
23
|
import { DataBindModeType, DataBindPrimitives, bindPlatformFn, FuncBindPrimitives, FuncErrorType, FuncStatusType, funcBindPlatformFn, RecordBindPrimitives, recordBindPlatformFn, Diff, Ontology, FuncBindHandleType, Experiment, decisionBindPlatformFn, DecisionBindPrimitives, DecisionConstraintType, DiffBindingType, CommitStateType, VerdictType, AnswerType, judgementInputType, DecisionType, DecisionQueue, DecisionJournal, decodeManifest } from "@elaraai/e3-ui/internal";
|
|
24
24
|
import { registerReactiveTracker, registerPlatformImplementation, StateRuntime, getRegisteredPlatformImplementations, boundSliceConfig } from "@elaraai/east-ui-components/platform";
|
|
25
25
|
import { TreePathType, DatasetStatusType } from "@elaraai/e3-types";
|
|
26
|
-
import { workspaceStatus, datasetListAt, datasetList, dataflowExecuteLaunch, datasetSet, datasetGet, ApiError, workspaceFunctionCall, workspaceFunctionList, workspaceRecordHistory, workspaceRecordMutate, workspaceRecordDescribe, repoCreate, repoGc, repoGcStart, repoGcStatus, repoList, repoRemove, repoStatus, packageExport, packageGet, packageImport, packageList, packageRemove, workspaceCreate, workspaceDeploy, workspaceExport, workspaceGet, workspaceList, workspaceRemove, datasetGetStatus, datasetListRecursive, datasetListRecursivePaths, datasetListWithStatus, taskExecutionList, taskGet, taskList, dataflowCancel, dataflowExecute, dataflowExecutePoll, dataflowGraph, taskLogs, datasetGetPage } from "@elaraai/e3-api-client";
|
|
26
|
+
import { workspaceStatus, datasetListAt, datasetList, dataflowExecuteLaunch, datasetSet, datasetGet, ApiError, workspaceFunctionCall, workspaceFunctionList, workspaceRecordHistory, workspaceRecordMutate, workspaceRecordDescribe, repoCreate, repoGc, repoGcStart, repoGcStatus, repoList, repoRemove, repoStatus, packageExport, packageGet, packageImport, packageList, packageRemove, workspaceCreate, workspaceDeploy, workspaceExport, workspaceGet, workspaceList, workspaceRemove, datasetGetStatus, datasetListRecursive, datasetListRecursivePaths, datasetListWithStatus, taskExecutionList, taskGet, taskList, dataflowCancel, dataflowExecute, dataflowExecutePoll, dataflowGraph, taskLogs, datasetGetPage, datasetFindKey } from "@elaraai/e3-api-client";
|
|
27
27
|
import { jsx as jsx$1, Fragment, jsxs } from "react/jsx-runtime";
|
|
28
28
|
import * as React from "react";
|
|
29
29
|
import React__default, { useId, useMemo, useContext, createContext, useRef, useEffect, useState, useCallback, useSyncExternalStore, memo, forwardRef, useLayoutEffect, Fragment as Fragment$1, Component } from "react";
|
|
30
30
|
import { Box, Flex, Text, HStack, Input, useSlotRecipe, useRecipe, VStack, useToken, Drawer, Portal, Field, NativeSelect, Textarea, chakra, Tooltip, SegmentGroup, Menu, HoverCard, useChakraContext, Spinner, Code, Clipboard, IconButton, Button, Tabs, Badge, useTabs } from "@chakra-ui/react";
|
|
31
|
-
import { implementUIComponent, getSomeorUndefined, formatPredicate, SliceEditPopover, SlicePredicateBuilder, EastChakraSelect, EastChakraStringInput, EastChakraDateTimeInput, EastChakraFloatInput, EastChakraIntegerInput, formatTick, useSliceReactivity, useContainerBelow, usePersistedState, SliceRailCluster, EastChakraComponent, ClauseChip, StateImpl, NavImpl, SliceImpl, SliceApplyImpl, OverlayImpl, ClipboardImpl, DownloadImpl, ShareImpl, LoadingIcon, EastChakraValueTree, createUIStore, UIStoreProvider } from "@elaraai/east-ui-components";
|
|
31
|
+
import { implementUIComponent, getSomeorUndefined, formatPredicate, SliceEditPopover, SlicePredicateBuilder, EastChakraSelect, EastChakraStringInput, EastChakraDateTimeInput, EastChakraFloatInput, EastChakraIntegerInput, formatTick, useSliceReactivity, useContainerBelow, usePersistedState, SliceRailCluster, EastChakraComponent, ClauseChip, StateImpl, NavImpl, SliceImpl, SliceApplyImpl, OverlayImpl, ClipboardImpl, DownloadImpl, ShareImpl, LoadingIcon, EastChakraCombobox, EastChakraValueTree, createUIStore, UIStoreProvider } from "@elaraai/east-ui-components";
|
|
32
32
|
import { createPortal } from "react-dom";
|
|
33
33
|
import { sliceMatches } from "@elaraai/east-ui/internal";
|
|
34
34
|
import { QueryClient as QueryClient$1, QueryClientProvider, useMutation, useQuery, keepPreviousData, useQueryClient } from "@tanstack/react-query";
|
|
@@ -8926,7 +8926,7 @@ const ConflictRow = memo(function ConflictRow2({ row, depth, bindingPathStr, ser
|
|
|
8926
8926
|
gap: "8px",
|
|
8927
8927
|
mt: "10px",
|
|
8928
8928
|
p: "12px",
|
|
8929
|
-
bg: "
|
|
8929
|
+
bg: "bg.surface",
|
|
8930
8930
|
border: "1px solid",
|
|
8931
8931
|
borderColor: "fg.warning",
|
|
8932
8932
|
borderRadius: "md",
|
|
@@ -20448,28 +20448,18 @@ function FiAlertTriangle(props) {
|
|
|
20448
20448
|
return GenIcon({ "attr": { "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "strokeWidth": "2", "strokeLinecap": "round", "strokeLinejoin": "round" }, "child": [{ "tag": "path", "attr": { "d": "M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" }, "child": [] }, { "tag": "line", "attr": { "x1": "12", "y1": "9", "x2": "12", "y2": "13" }, "child": [] }, { "tag": "line", "attr": { "x1": "12", "y1": "17", "x2": "12.01", "y2": "17" }, "child": [] }] })(props);
|
|
20449
20449
|
}
|
|
20450
20450
|
const NODE_KIND_ACCENT = {
|
|
20451
|
-
process: "
|
|
20452
|
-
|
|
20453
|
-
|
|
20454
|
-
|
|
20455
|
-
|
|
20456
|
-
|
|
20457
|
-
|
|
20458
|
-
|
|
20459
|
-
|
|
20460
|
-
|
|
20461
|
-
|
|
20462
|
-
|
|
20463
|
-
data: "#b8862d",
|
|
20464
|
-
// status.warn
|
|
20465
|
-
resource: "#56727a",
|
|
20466
|
-
// color-mix(brand.600 30%, gray.500)
|
|
20467
|
-
policy: "#8d7a5f",
|
|
20468
|
-
// color-mix(status.warn 50%, gray.600)
|
|
20469
|
-
document: "#bcd1d3",
|
|
20470
|
-
// color-mix(brand.600 30%, gray.100)
|
|
20471
|
-
group: "#4a5f5f"
|
|
20472
|
-
// gray.600
|
|
20451
|
+
process: "brand.600",
|
|
20452
|
+
computation: "color-mix(in srgb, var(--chakra-colors-brand-600) 60%, var(--chakra-colors-gray-500))",
|
|
20453
|
+
decision: "brand.700",
|
|
20454
|
+
objective: "gray.800",
|
|
20455
|
+
kpi: "status.pos",
|
|
20456
|
+
agent: "color-mix(in srgb, var(--chakra-colors-brand-700) 45%, color-mix(in srgb, var(--chakra-colors-status-warn) 15%, var(--chakra-colors-gray-500)))",
|
|
20457
|
+
// plum — people/role tone
|
|
20458
|
+
data: "status.warn",
|
|
20459
|
+
resource: "color-mix(in srgb, var(--chakra-colors-brand-600) 30%, var(--chakra-colors-gray-500))",
|
|
20460
|
+
policy: "color-mix(in srgb, var(--chakra-colors-status-warn) 50%, var(--chakra-colors-gray-600))",
|
|
20461
|
+
document: "color-mix(in srgb, var(--chakra-colors-brand-600) 30%, var(--chakra-colors-gray-100))",
|
|
20462
|
+
group: "gray.600"
|
|
20473
20463
|
};
|
|
20474
20464
|
const EDGE_DASH = {
|
|
20475
20465
|
// flow — solid
|
|
@@ -57154,20 +57144,7 @@ function OntologyEditorBody({
|
|
|
57154
57144
|
const proOptions = useMemo(() => ({ hideAttribution: true }), []);
|
|
57155
57145
|
const miniMapNodeColor = useCallback((node2) => {
|
|
57156
57146
|
const data4 = node2.data;
|
|
57157
|
-
|
|
57158
|
-
process: "#3a7780",
|
|
57159
|
-
computation: "#42757d",
|
|
57160
|
-
decision: "#2b4b55",
|
|
57161
|
-
objective: "#253333",
|
|
57162
|
-
kpi: "#2f7a5b",
|
|
57163
|
-
agent: "#6d5a7a",
|
|
57164
|
-
data: "#b8862d",
|
|
57165
|
-
resource: "#56727a",
|
|
57166
|
-
policy: "#8d7a5f",
|
|
57167
|
-
document: "#bcd1d3",
|
|
57168
|
-
group: "#4a5f5f"
|
|
57169
|
-
};
|
|
57170
|
-
return accent[data4.type] ?? "#6b8080";
|
|
57147
|
+
return NODE_KIND_ACCENT[data4.type] ?? "fg.muted";
|
|
57171
57148
|
}, []);
|
|
57172
57149
|
const getNode = useCallback(
|
|
57173
57150
|
(id3) => ontology.nodes.find((n2) => n2.id === id3),
|
|
@@ -64011,6 +63988,271 @@ class ErrorBoundary extends Component {
|
|
|
64011
63988
|
return this.props.children;
|
|
64012
63989
|
}
|
|
64013
63990
|
}
|
|
63991
|
+
const FIND_DEBOUNCE_MS = 250;
|
|
63992
|
+
const POPUP_LIMIT = 20;
|
|
63993
|
+
function structFields(keyType) {
|
|
63994
|
+
if (keyType.type !== "Struct") return null;
|
|
63995
|
+
const fields = keyType.value;
|
|
63996
|
+
return fields.length > 0 ? fields : null;
|
|
63997
|
+
}
|
|
63998
|
+
function splitTopLevel(text) {
|
|
63999
|
+
const parts = [];
|
|
64000
|
+
let current = "";
|
|
64001
|
+
let inString = false;
|
|
64002
|
+
let depth = 0;
|
|
64003
|
+
for (let i = 0; i < text.length; i++) {
|
|
64004
|
+
const ch = text[i];
|
|
64005
|
+
if (inString) {
|
|
64006
|
+
current += ch;
|
|
64007
|
+
if (ch === "\\" && i + 1 < text.length) {
|
|
64008
|
+
current += text[i + 1];
|
|
64009
|
+
i++;
|
|
64010
|
+
} else if (ch === '"') {
|
|
64011
|
+
inString = false;
|
|
64012
|
+
}
|
|
64013
|
+
continue;
|
|
64014
|
+
}
|
|
64015
|
+
if (ch === '"') {
|
|
64016
|
+
inString = true;
|
|
64017
|
+
current += ch;
|
|
64018
|
+
} else if (ch === "(" || ch === "[" || ch === "{") {
|
|
64019
|
+
depth++;
|
|
64020
|
+
current += ch;
|
|
64021
|
+
} else if (ch === ")" || ch === "]" || ch === "}") {
|
|
64022
|
+
depth--;
|
|
64023
|
+
current += ch;
|
|
64024
|
+
} else if (ch === "," && depth === 0) {
|
|
64025
|
+
parts.push(current);
|
|
64026
|
+
current = "";
|
|
64027
|
+
} else {
|
|
64028
|
+
current += ch;
|
|
64029
|
+
}
|
|
64030
|
+
}
|
|
64031
|
+
parts.push(current);
|
|
64032
|
+
return parts;
|
|
64033
|
+
}
|
|
64034
|
+
function keySignature(keyType) {
|
|
64035
|
+
const fields = structFields(keyType);
|
|
64036
|
+
if (fields === null) return keyType.type;
|
|
64037
|
+
return `(${fields.map((f2) => `${f2.name}: ${f2.type.type}`).join(", ")})`;
|
|
64038
|
+
}
|
|
64039
|
+
function parseKeyInput(keyType, text) {
|
|
64040
|
+
const fields = structFields(keyType);
|
|
64041
|
+
if (fields === null) {
|
|
64042
|
+
if (keyType.type === "String") return { kind: "query", query: { prefix: text } };
|
|
64043
|
+
const parsed = parseFor(keyType)(text);
|
|
64044
|
+
if (!parsed.success) return { kind: "hint", hint: `Key is ${keyType.type}` };
|
|
64045
|
+
return { kind: "query", query: { key: printFor(keyType)(parsed.value) } };
|
|
64046
|
+
}
|
|
64047
|
+
if (text.trimStart().startsWith("(")) {
|
|
64048
|
+
const parsed = parseFor(keyType)(text);
|
|
64049
|
+
if (!parsed.success) return { kind: "hint", hint: `Key is ${keySignature(keyType)}` };
|
|
64050
|
+
return { kind: "query", query: { key: printFor(keyType)(parsed.value) } };
|
|
64051
|
+
}
|
|
64052
|
+
const segments = splitTopLevel(text);
|
|
64053
|
+
if (segments.length > fields.length) {
|
|
64054
|
+
return { kind: "hint", hint: `Key is ${keySignature(keyType)}` };
|
|
64055
|
+
}
|
|
64056
|
+
const exact = [];
|
|
64057
|
+
for (let i = 0; i < segments.length; i++) {
|
|
64058
|
+
const field = fields[i];
|
|
64059
|
+
const raw = segments[i].trim();
|
|
64060
|
+
const isLast = i === segments.length - 1;
|
|
64061
|
+
if (isLast && raw === "" && i > 0) {
|
|
64062
|
+
return { kind: "query", query: { fields: exact } };
|
|
64063
|
+
}
|
|
64064
|
+
if (field.type.type === "String" && !raw.startsWith('"')) {
|
|
64065
|
+
if (isLast) {
|
|
64066
|
+
return exact.length === 0 ? { kind: "query", query: { prefix: raw } } : { kind: "query", query: { fields: exact, prefix: raw } };
|
|
64067
|
+
}
|
|
64068
|
+
exact.push(printFor(StringType)(raw));
|
|
64069
|
+
continue;
|
|
64070
|
+
}
|
|
64071
|
+
const parsed = parseFor(field.type)(raw);
|
|
64072
|
+
if (!parsed.success) {
|
|
64073
|
+
return { kind: "hint", hint: `${field.name} is ${field.type.type} — key is ${keySignature(keyType)}` };
|
|
64074
|
+
}
|
|
64075
|
+
exact.push(printFor(field.type)(parsed.value));
|
|
64076
|
+
}
|
|
64077
|
+
return { kind: "query", query: { fields: exact } };
|
|
64078
|
+
}
|
|
64079
|
+
const MATCH_NOTHING = { lower: () => false, upper: () => false };
|
|
64080
|
+
function keyRangePredicates(keyType, query) {
|
|
64081
|
+
if ("key" in query) return null;
|
|
64082
|
+
if (keyType.type === "Struct") {
|
|
64083
|
+
const meta3 = keyType.value;
|
|
64084
|
+
const literals = "fields" in query ? query.fields : [];
|
|
64085
|
+
if (literals.length > meta3.length) return MATCH_NOTHING;
|
|
64086
|
+
const values = [];
|
|
64087
|
+
for (let j2 = 0; j2 < literals.length; j2++) {
|
|
64088
|
+
const parsed = parseFor(meta3[j2].type)(literals[j2]);
|
|
64089
|
+
if (!parsed.success) return MATCH_NOTHING;
|
|
64090
|
+
values.push(parsed.value);
|
|
64091
|
+
}
|
|
64092
|
+
const cmps = meta3.map((f2) => compareFor(f2.type));
|
|
64093
|
+
const lead = (k2) => {
|
|
64094
|
+
for (let j2 = 0; j2 < values.length; j2++) {
|
|
64095
|
+
const c2 = cmps[j2](k2[meta3[j2].name], values[j2]);
|
|
64096
|
+
if (c2 !== 0) return c2;
|
|
64097
|
+
}
|
|
64098
|
+
return 0;
|
|
64099
|
+
};
|
|
64100
|
+
const prefix22 = query.prefix;
|
|
64101
|
+
if (prefix22 === void 0) {
|
|
64102
|
+
return { lower: (k2) => lead(k2) >= 0, upper: (k2) => lead(k2) > 0 };
|
|
64103
|
+
}
|
|
64104
|
+
const prefixIdx = values.length;
|
|
64105
|
+
if (prefixIdx >= meta3.length || meta3[prefixIdx].type.type !== "String") return MATCH_NOTHING;
|
|
64106
|
+
const prefixName = meta3[prefixIdx].name;
|
|
64107
|
+
const prefixCmp = cmps[prefixIdx];
|
|
64108
|
+
return {
|
|
64109
|
+
lower: (k2) => {
|
|
64110
|
+
const c2 = lead(k2);
|
|
64111
|
+
return c2 !== 0 ? c2 > 0 : prefixCmp(k2[prefixName], prefix22) >= 0;
|
|
64112
|
+
},
|
|
64113
|
+
upper: (k2) => {
|
|
64114
|
+
const c2 = lead(k2);
|
|
64115
|
+
if (c2 !== 0) return c2 > 0;
|
|
64116
|
+
const field = k2[prefixName];
|
|
64117
|
+
return prefixCmp(field, prefix22) > 0 && !field.startsWith(prefix22);
|
|
64118
|
+
}
|
|
64119
|
+
};
|
|
64120
|
+
}
|
|
64121
|
+
if (!("prefix" in query) || query.prefix === void 0 || keyType.type !== "String") return MATCH_NOTHING;
|
|
64122
|
+
const prefix2 = query.prefix;
|
|
64123
|
+
const cmp = compareFor(keyType);
|
|
64124
|
+
return {
|
|
64125
|
+
lower: (k2) => cmp(k2, prefix2) >= 0,
|
|
64126
|
+
upper: (k2) => cmp(k2, prefix2) > 0 && !k2.startsWith(prefix2)
|
|
64127
|
+
};
|
|
64128
|
+
}
|
|
64129
|
+
const DatasetKeySearch = memo(function DatasetKeySearch2({ keyType, onFind, onListRange, onJump, onClear }) {
|
|
64130
|
+
const [range, setRange] = useState(null);
|
|
64131
|
+
const [items, setItems] = useState([]);
|
|
64132
|
+
const [activeIdx, setActiveIdx] = useState(-1);
|
|
64133
|
+
const [hint, setHint] = useState(null);
|
|
64134
|
+
const [resetSeq, setResetSeq] = useState(0);
|
|
64135
|
+
const debounceRef = useRef(void 0);
|
|
64136
|
+
const findSeqRef = useRef(0);
|
|
64137
|
+
useEffect(() => () => clearTimeout(debounceRef.current), []);
|
|
64138
|
+
const runFind = useCallback((query) => {
|
|
64139
|
+
const seq = ++findSeqRef.current;
|
|
64140
|
+
void (async () => {
|
|
64141
|
+
try {
|
|
64142
|
+
const result = await onFind(query);
|
|
64143
|
+
if (seq !== findSeqRef.current) return;
|
|
64144
|
+
setRange(result);
|
|
64145
|
+
setActiveIdx(-1);
|
|
64146
|
+
if (result.found) {
|
|
64147
|
+
const labels = await onListRange(result.row, Math.min(POPUP_LIMIT, result.count));
|
|
64148
|
+
if (seq !== findSeqRef.current) return;
|
|
64149
|
+
setItems(labels.map((label, i) => ({ row: result.row + i, label })));
|
|
64150
|
+
} else {
|
|
64151
|
+
setItems([]);
|
|
64152
|
+
}
|
|
64153
|
+
} catch {
|
|
64154
|
+
if (seq !== findSeqRef.current) return;
|
|
64155
|
+
setRange(null);
|
|
64156
|
+
setItems([]);
|
|
64157
|
+
}
|
|
64158
|
+
})();
|
|
64159
|
+
}, [onFind, onListRange]);
|
|
64160
|
+
const resetQueryState = useCallback(() => {
|
|
64161
|
+
clearTimeout(debounceRef.current);
|
|
64162
|
+
findSeqRef.current++;
|
|
64163
|
+
setRange(null);
|
|
64164
|
+
setItems([]);
|
|
64165
|
+
setActiveIdx(-1);
|
|
64166
|
+
setHint(null);
|
|
64167
|
+
}, []);
|
|
64168
|
+
const handleInput = useCallback((text) => {
|
|
64169
|
+
clearTimeout(debounceRef.current);
|
|
64170
|
+
if (text === "") {
|
|
64171
|
+
resetQueryState();
|
|
64172
|
+
onClear == null ? void 0 : onClear();
|
|
64173
|
+
return;
|
|
64174
|
+
}
|
|
64175
|
+
const parsed = parseKeyInput(keyType, text);
|
|
64176
|
+
if (parsed.kind === "hint") {
|
|
64177
|
+
findSeqRef.current++;
|
|
64178
|
+
setRange(null);
|
|
64179
|
+
setItems([]);
|
|
64180
|
+
setActiveIdx(-1);
|
|
64181
|
+
setHint(parsed.hint);
|
|
64182
|
+
return;
|
|
64183
|
+
}
|
|
64184
|
+
setHint(null);
|
|
64185
|
+
debounceRef.current = setTimeout(() => runFind(parsed.query), FIND_DEBOUNCE_MS);
|
|
64186
|
+
}, [keyType, runFind, resetQueryState, onClear]);
|
|
64187
|
+
const clearSearch = useCallback(() => {
|
|
64188
|
+
resetQueryState();
|
|
64189
|
+
setResetSeq((s2) => s2 + 1);
|
|
64190
|
+
onClear == null ? void 0 : onClear();
|
|
64191
|
+
}, [resetQueryState, onClear]);
|
|
64192
|
+
const commit = useCallback((row) => {
|
|
64193
|
+
onJump(row);
|
|
64194
|
+
if (range !== null) setActiveIdx(row - range.row);
|
|
64195
|
+
}, [onJump, range]);
|
|
64196
|
+
const step3 = useCallback((delta) => {
|
|
64197
|
+
if (range === null || !range.found) return;
|
|
64198
|
+
const next2 = Math.max(0, Math.min(range.count - 1, (activeIdx === -1 ? 0 : activeIdx) + delta));
|
|
64199
|
+
commit(range.row + next2);
|
|
64200
|
+
}, [range, activeIdx, commit]);
|
|
64201
|
+
const onKeyDownCapture = useCallback((e3) => {
|
|
64202
|
+
if (e3.key !== "Enter" || range === null || !range.found) return;
|
|
64203
|
+
if (document.querySelector('[data-scope="combobox"][data-part="content"] [data-highlighted]') !== null) return;
|
|
64204
|
+
commit(range.row + Math.max(0, activeIdx));
|
|
64205
|
+
}, [range, activeIdx, commit]);
|
|
64206
|
+
const placeholder = useMemo(() => {
|
|
64207
|
+
const fields = structFields(keyType);
|
|
64208
|
+
if (fields !== null) return `Search keys (${fields.map((f2) => f2.name).join(", ")})`;
|
|
64209
|
+
return keyType.type === "String" ? "Search keys" : `Find key (${keyType.type})`;
|
|
64210
|
+
}, [keyType]);
|
|
64211
|
+
const payload = useMemo(() => ({
|
|
64212
|
+
value: none$1,
|
|
64213
|
+
items: items.map((it) => ({ value: String(it.row), label: it.label, disabled: none$1 })),
|
|
64214
|
+
placeholder: some(placeholder),
|
|
64215
|
+
multiple: none$1,
|
|
64216
|
+
disabled: none$1,
|
|
64217
|
+
allowCustomValue: some(true),
|
|
64218
|
+
onChange: some((v3) => commit(Number(v3))),
|
|
64219
|
+
onChangeMultiple: none$1,
|
|
64220
|
+
onInputValueChange: some(handleInput),
|
|
64221
|
+
onOpenChange: none$1,
|
|
64222
|
+
style: some({ size: some(variant("xs", null)), color: none$1, background: none$1, borderColor: none$1 })
|
|
64223
|
+
}), [items, placeholder, commit, handleInput]);
|
|
64224
|
+
const status = hint !== null ? hint : range === null ? null : !range.found ? "No matches" : activeIdx === -1 ? `${range.count.toLocaleString()} ${range.count === 1 ? "match" : "matches"}` : `${(activeIdx + 1).toLocaleString()} of ${range.count.toLocaleString()}`;
|
|
64225
|
+
const canStep = range !== null && range.found && range.count > 1;
|
|
64226
|
+
return /* @__PURE__ */ jsxs(Flex, { gap: 1, align: "center", minW: "0", onKeyDownCapture, "data-part": "dataset-key-search", children: [
|
|
64227
|
+
/* @__PURE__ */ jsx$1(Flex, { width: `min(${placeholder.length + 10}ch, 40rem)`, minW: "12rem", flexShrink: 1, children: /* @__PURE__ */ jsx$1(EastChakraCombobox, { value: payload, selectionBehavior: "preserve" }, resetSeq) }),
|
|
64228
|
+
status !== null && /* @__PURE__ */ jsx$1(Text, { fontSize: "xs", color: "fg.muted", whiteSpace: "nowrap", children: status }),
|
|
64229
|
+
canStep && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
64230
|
+
/* @__PURE__ */ jsx$1(
|
|
64231
|
+
IconButton,
|
|
64232
|
+
{
|
|
64233
|
+
"aria-label": "Previous match",
|
|
64234
|
+
size: "2xs",
|
|
64235
|
+
variant: "ghost",
|
|
64236
|
+
disabled: activeIdx <= 0,
|
|
64237
|
+
onClick: () => step3(-1),
|
|
64238
|
+
children: /* @__PURE__ */ jsx$1(FontAwesomeIcon, { icon: faChevronUp })
|
|
64239
|
+
}
|
|
64240
|
+
),
|
|
64241
|
+
/* @__PURE__ */ jsx$1(
|
|
64242
|
+
IconButton,
|
|
64243
|
+
{
|
|
64244
|
+
"aria-label": "Next match",
|
|
64245
|
+
size: "2xs",
|
|
64246
|
+
variant: "ghost",
|
|
64247
|
+
disabled: activeIdx >= range.count - 1,
|
|
64248
|
+
onClick: () => step3(1),
|
|
64249
|
+
children: /* @__PURE__ */ jsx$1(FontAwesomeIcon, { icon: faChevronDown })
|
|
64250
|
+
}
|
|
64251
|
+
)
|
|
64252
|
+
] }),
|
|
64253
|
+
(range !== null || hint !== null) && /* @__PURE__ */ jsx$1(IconButton, { "aria-label": "Clear search", size: "2xs", variant: "ghost", onClick: clearSearch, children: /* @__PURE__ */ jsx$1(FontAwesomeIcon, { icon: faXmark }) })
|
|
64254
|
+
] });
|
|
64255
|
+
});
|
|
64014
64256
|
function pagingDebug(...args) {
|
|
64015
64257
|
try {
|
|
64016
64258
|
if (typeof localStorage === "undefined") return;
|
|
@@ -64022,6 +64264,17 @@ function pagingDebug(...args) {
|
|
|
64022
64264
|
console.info("[e3-paging]", ...args);
|
|
64023
64265
|
}
|
|
64024
64266
|
const PAGE_SIZE = 500;
|
|
64267
|
+
const MAX_RETAINED_PAGES = 8;
|
|
64268
|
+
function pruneRetainedPages(pages, firstPage, lastPage, max5) {
|
|
64269
|
+
if (pages.size <= max5) return pages;
|
|
64270
|
+
const distance2 = (p2) => p2 < firstPage ? firstPage - p2 : p2 > lastPage ? p2 - lastPage : 0;
|
|
64271
|
+
const keep = [...pages.keys()].sort((a2, b2) => distance2(a2) - distance2(b2) || a2 - b2).slice(0, max5);
|
|
64272
|
+
const kept = /* @__PURE__ */ new Map();
|
|
64273
|
+
for (const p2 of keep.sort((a2, b2) => a2 - b2)) {
|
|
64274
|
+
kept.set(p2, pages.get(p2));
|
|
64275
|
+
}
|
|
64276
|
+
return kept;
|
|
64277
|
+
}
|
|
64025
64278
|
function pageRows(type, decoded, offset) {
|
|
64026
64279
|
if (type.type === "Array") {
|
|
64027
64280
|
const elemType2 = type.value;
|
|
@@ -64065,12 +64318,14 @@ const PagedDatasetPreview = memo(function PagedDatasetPreview2({
|
|
|
64065
64318
|
const [totals, setTotals] = useState(null);
|
|
64066
64319
|
const [loadingCount, setLoadingCount] = useState(0);
|
|
64067
64320
|
const [error3, setError] = useState(null);
|
|
64321
|
+
const [jumpRow, setJumpRow] = useState(void 0);
|
|
64068
64322
|
const inflightRef = useRef(/* @__PURE__ */ new Set());
|
|
64069
64323
|
useEffect(() => {
|
|
64070
64324
|
pagingDebug(`reset (path=${path2}, hash=${hash2.slice(0, 8)})`);
|
|
64071
64325
|
setPages(/* @__PURE__ */ new Map());
|
|
64072
64326
|
setTotals(null);
|
|
64073
64327
|
setError(null);
|
|
64328
|
+
setJumpRow(void 0);
|
|
64074
64329
|
inflightRef.current.clear();
|
|
64075
64330
|
}, [path2, hash2]);
|
|
64076
64331
|
const loadPage = useCallback((pageIdx) => {
|
|
@@ -64078,13 +64333,13 @@ const PagedDatasetPreview = memo(function PagedDatasetPreview2({
|
|
|
64078
64333
|
inflightRef.current.add(pageIdx);
|
|
64079
64334
|
setLoadingCount((n2) => n2 + 1);
|
|
64080
64335
|
pagingDebug(`fetch p${pageIdx} (offset=${pageIdx * PAGE_SIZE}, limit=${PAGE_SIZE}, hash=${hash2.slice(0, 8)})`);
|
|
64081
|
-
const
|
|
64336
|
+
const pathParts2 = path2.split(".").filter(Boolean).map((v3) => variant("field", v3));
|
|
64082
64337
|
const reqOpts = requestOptions ?? { token: null };
|
|
64083
64338
|
queryClient.fetchQuery({
|
|
64084
64339
|
queryKey: ["datasetPage", apiUrl, repo, workspace, path2, hash2, `p${pageIdx}`],
|
|
64085
64340
|
// Hash-pinned: the URL is a pure function of the bytes, so any
|
|
64086
64341
|
// HTTP cache between here and the server can hold it immutably.
|
|
64087
|
-
queryFn: () => datasetGetPage(apiUrl, repo, workspace,
|
|
64342
|
+
queryFn: () => datasetGetPage(apiUrl, repo, workspace, pathParts2, { offset: pageIdx * PAGE_SIZE, limit: PAGE_SIZE, hash: hash2 }, reqOpts),
|
|
64088
64343
|
staleTime: Infinity
|
|
64089
64344
|
// pages of one content hash are immutable
|
|
64090
64345
|
}).then((page) => {
|
|
@@ -64121,8 +64376,35 @@ const PagedDatasetPreview = memo(function PagedDatasetPreview2({
|
|
|
64121
64376
|
if (!pages.has(p2)) missing.push(p2);
|
|
64122
64377
|
}
|
|
64123
64378
|
pagingDebug(`need rows [${startRow}, ${endRow}) → pages ${first2}..${last2}, missing=[${missing.join(",")}], inflight=[${[...inflightRef.current].join(",")}]`);
|
|
64379
|
+
setPages((prev2) => pruneRetainedPages(prev2, first2, last2, MAX_RETAINED_PAGES));
|
|
64124
64380
|
for (const p2 of missing) loadPage(p2);
|
|
64125
64381
|
}, [pages, loadPage]);
|
|
64382
|
+
const keyType = useMemo(() => type.type === "Dict" ? type.value.key : type.type === "Set" ? type.value : null, [type]);
|
|
64383
|
+
const pathParts = useMemo(() => path2.split(".").filter(Boolean).map((v3) => variant("field", v3)), [path2]);
|
|
64384
|
+
const onFindKey = useCallback(async (query) => {
|
|
64385
|
+
const reqOpts = requestOptions ?? { token: null };
|
|
64386
|
+
const queryTag = JSON.stringify(query);
|
|
64387
|
+
const result = await queryClient.fetchQuery({
|
|
64388
|
+
queryKey: ["datasetFind", apiUrl, repo, workspace, path2, hash2, queryTag],
|
|
64389
|
+
queryFn: () => datasetFindKey(apiUrl, repo, workspace, pathParts, { ...query, hash: hash2 }, reqOpts),
|
|
64390
|
+
staleTime: Infinity
|
|
64391
|
+
// hash-pinned: one content hash, one answer
|
|
64392
|
+
});
|
|
64393
|
+
pagingDebug(`find ${queryTag}: found=${result.found} row=${result.row} count=${result.count}`);
|
|
64394
|
+
return result;
|
|
64395
|
+
}, [queryClient, apiUrl, repo, workspace, path2, hash2, pathParts, requestOptions]);
|
|
64396
|
+
const onListRange = useCallback(async (row, limit2) => {
|
|
64397
|
+
const reqOpts = requestOptions ?? { token: null };
|
|
64398
|
+
const page = await queryClient.fetchQuery({
|
|
64399
|
+
queryKey: ["datasetPage", apiUrl, repo, workspace, path2, hash2, `w${row}:${limit2}`],
|
|
64400
|
+
queryFn: () => datasetGetPage(apiUrl, repo, workspace, pathParts, { offset: row, limit: limit2, hash: hash2 }, reqOpts),
|
|
64401
|
+
staleTime: Infinity
|
|
64402
|
+
});
|
|
64403
|
+
const decoded = decodeBeast2For(type)(page.data);
|
|
64404
|
+
const stringKeys = keyType !== null && keyType.type === "String";
|
|
64405
|
+
const keys = type.type === "Dict" ? [...decoded.keys()] : [...decoded.values()];
|
|
64406
|
+
return keys.map((k2) => stringKeys ? k2 : ValueTree.keyLabel(keyType, k2));
|
|
64407
|
+
}, [queryClient, apiUrl, repo, workspace, path2, hash2, pathParts, requestOptions, type, keyType]);
|
|
64126
64408
|
const treeValue = useMemo(() => ({
|
|
64127
64409
|
root: ValueTree.materialize(type, emptyOf(type)),
|
|
64128
64410
|
onEdit: none$1,
|
|
@@ -64135,8 +64417,9 @@ const PagedDatasetPreview = memo(function PagedDatasetPreview2({
|
|
|
64135
64417
|
totalRows: totals.elements,
|
|
64136
64418
|
pageSize: PAGE_SIZE,
|
|
64137
64419
|
pages,
|
|
64138
|
-
onNeedRows
|
|
64139
|
-
|
|
64420
|
+
onNeedRows,
|
|
64421
|
+
scrollToRow: jumpRow
|
|
64422
|
+
}, [totals, pages, onNeedRows, jumpRow]);
|
|
64140
64423
|
if (error3 !== null) {
|
|
64141
64424
|
if (error3 instanceof ApiError && error3.code === "dataset_too_large") {
|
|
64142
64425
|
return /* @__PURE__ */ jsxs(Flex, { height: "100%", direction: "column", align: "center", justify: "center", gap: 3, p: 6, children: [
|
|
@@ -64161,6 +64444,16 @@ const PagedDatasetPreview = memo(function PagedDatasetPreview2({
|
|
|
64161
64444
|
formatSize(totals.bytes > 0 ? totals.bytes : sizeBytes)
|
|
64162
64445
|
] }),
|
|
64163
64446
|
loadingCount > 0 && /* @__PURE__ */ jsx$1(Text, { fontSize: "xs", color: "fg.muted", children: "Loading…" }),
|
|
64447
|
+
keyType !== null && /* @__PURE__ */ jsx$1(
|
|
64448
|
+
DatasetKeySearch,
|
|
64449
|
+
{
|
|
64450
|
+
keyType,
|
|
64451
|
+
onFind: onFindKey,
|
|
64452
|
+
onListRange,
|
|
64453
|
+
onJump: setJumpRow,
|
|
64454
|
+
onClear: () => setJumpRow(void 0)
|
|
64455
|
+
}
|
|
64456
|
+
),
|
|
64164
64457
|
/* @__PURE__ */ jsx$1(Flex, { flex: 1, justify: "flex-end", children: /* @__PURE__ */ jsx$1(DownloadButton, { onClick: onDownload }) })
|
|
64165
64458
|
] }),
|
|
64166
64459
|
/* @__PURE__ */ jsx$1(Box, { flex: 1, minHeight: 0, overflow: "hidden", children: /* @__PURE__ */ jsx$1(EastChakraValueTree, { value: treeValue, storageKey: `${path2}:page`, paging }) })
|
|
@@ -64232,6 +64525,37 @@ const DatasetPreview = memo(function DatasetPreview2({
|
|
|
64232
64525
|
await setMutation.mutateAsync({ path: treePath, data: data4 });
|
|
64233
64526
|
await queryClient.invalidateQueries({ queryKey: ["datasetStatus", apiUrl, repo, workspace, path2] });
|
|
64234
64527
|
}, [apiUrl, repo, workspace, path2, type, setMutation, queryClient]);
|
|
64528
|
+
const keyType = useMemo(() => type === void 0 ? null : type.type === "Dict" ? type.value.key : type.type === "Set" ? type.value : null, [type]);
|
|
64529
|
+
const inlineKeys = useMemo(() => decoded === void 0 || type === void 0 ? null : type.type === "Dict" ? [...decoded.keys()] : type.type === "Set" ? [...decoded.values()] : null, [type, decoded]);
|
|
64530
|
+
const [jumpRow, setJumpRow] = useState(void 0);
|
|
64531
|
+
useEffect(() => {
|
|
64532
|
+
setJumpRow(void 0);
|
|
64533
|
+
}, [decoded]);
|
|
64534
|
+
const onFindInline = useCallback(async (query) => {
|
|
64535
|
+
if (inlineKeys === null || keyType === null) return { found: false, row: 0, count: 0 };
|
|
64536
|
+
const range = keyRangePredicates(keyType, query);
|
|
64537
|
+
if (range === null) {
|
|
64538
|
+
const parsed = parseFor(keyType)(query.key);
|
|
64539
|
+
if (!parsed.success) return { found: false, row: 0, count: 0 };
|
|
64540
|
+
const cmp = compareFor(keyType);
|
|
64541
|
+
for (let i = 0; i < inlineKeys.length; i++) {
|
|
64542
|
+
const order = cmp(inlineKeys[i], parsed.value);
|
|
64543
|
+
if (order === 0) return { found: true, row: i, count: 1 };
|
|
64544
|
+
if (order > 0) return { found: false, row: i, count: 0 };
|
|
64545
|
+
}
|
|
64546
|
+
return { found: false, row: inlineKeys.length, count: 0 };
|
|
64547
|
+
}
|
|
64548
|
+
let row = inlineKeys.findIndex(range.lower);
|
|
64549
|
+
if (row === -1) row = inlineKeys.length;
|
|
64550
|
+
let count2 = 0;
|
|
64551
|
+
while (row + count2 < inlineKeys.length && !range.upper(inlineKeys[row + count2])) count2++;
|
|
64552
|
+
return { found: count2 > 0, row, count: count2 };
|
|
64553
|
+
}, [inlineKeys, keyType]);
|
|
64554
|
+
const onListInline = useCallback(async (row, limit2) => {
|
|
64555
|
+
if (inlineKeys === null || keyType === null) return [];
|
|
64556
|
+
const stringKeys = keyType.type === "String";
|
|
64557
|
+
return inlineKeys.slice(row, row + limit2).map((k2) => stringKeys ? k2 : ValueTree.keyLabel(keyType, k2));
|
|
64558
|
+
}, [inlineKeys, keyType]);
|
|
64235
64559
|
const treeValue = useMemo(() => {
|
|
64236
64560
|
if (type === void 0 || decoded === void 0) return null;
|
|
64237
64561
|
const root2 = ValueTree.materialize(type, decoded);
|
|
@@ -64286,14 +64610,26 @@ const DatasetPreview = memo(function DatasetPreview2({
|
|
|
64286
64610
|
const count = type === void 0 || decoded === void 0 ? null : type.type === "Array" ? decoded.length : type.type === "Set" || type.type === "Dict" ? decoded.size : null;
|
|
64287
64611
|
const countText = count === null ? "" : `${count.toLocaleString()} ${(type == null ? void 0 : type.type) === "Dict" ? "entries" : "items"} · `;
|
|
64288
64612
|
return /* @__PURE__ */ jsxs(Flex, { direction: "column", height: "100%", overflow: "hidden", children: [
|
|
64289
|
-
/* @__PURE__ */ jsxs(Flex, { px: 4, py: 2,
|
|
64290
|
-
|
|
64291
|
-
|
|
64292
|
-
|
|
64293
|
-
|
|
64294
|
-
|
|
64613
|
+
/* @__PURE__ */ jsxs(Flex, { px: 4, py: 2, gap: 2, align: "center", flexShrink: 0, borderBottom: "1px solid", borderColor: "border.subtle", children: [
|
|
64614
|
+
keyType !== null && inlineKeys !== null && /* @__PURE__ */ jsx$1(
|
|
64615
|
+
DatasetKeySearch,
|
|
64616
|
+
{
|
|
64617
|
+
keyType,
|
|
64618
|
+
onFind: onFindInline,
|
|
64619
|
+
onListRange: onListInline,
|
|
64620
|
+
onJump: setJumpRow,
|
|
64621
|
+
onClear: () => setJumpRow(void 0)
|
|
64622
|
+
}
|
|
64623
|
+
),
|
|
64624
|
+
/* @__PURE__ */ jsxs(Flex, { flex: 1, justify: "flex-end", align: "center", gap: 2, children: [
|
|
64625
|
+
/* @__PURE__ */ jsxs(Text, { fontSize: "xs", color: "fg.muted", children: [
|
|
64626
|
+
countText,
|
|
64627
|
+
formatSize(sizeBytes)
|
|
64628
|
+
] }),
|
|
64629
|
+
/* @__PURE__ */ jsx$1(DownloadButton, { onClick: download })
|
|
64630
|
+
] })
|
|
64295
64631
|
] }),
|
|
64296
|
-
/* @__PURE__ */ jsx$1(Box, { flex: 1, minHeight: 0, overflow: "hidden", children: treeValue !== null && /* @__PURE__ */ jsx$1(EastChakraValueTree, { value: treeValue, storageKey: path2 ?? "value" }) })
|
|
64632
|
+
/* @__PURE__ */ jsx$1(Box, { flex: 1, minHeight: 0, overflow: "hidden", children: treeValue !== null && /* @__PURE__ */ jsx$1(EastChakraValueTree, { value: treeValue, storageKey: path2 ?? "value", scrollToRow: jumpRow }) })
|
|
64297
64633
|
] });
|
|
64298
64634
|
});
|
|
64299
64635
|
const InputPreview = memo(function InputPreview2({
|
|
@@ -64439,10 +64775,10 @@ function HighlightedLine({
|
|
|
64439
64775
|
"span",
|
|
64440
64776
|
{
|
|
64441
64777
|
style: {
|
|
64442
|
-
backgroundColor: isCurrent ? "
|
|
64443
|
-
color: "
|
|
64778
|
+
backgroundColor: isCurrent ? "var(--chakra-colors-status-warn)" : "var(--chakra-colors-status-warn-subtle-strong)",
|
|
64779
|
+
color: "var(--chakra-colors-fg-default)",
|
|
64444
64780
|
borderRadius: "2px",
|
|
64445
|
-
outline: isCurrent ? "2px solid
|
|
64781
|
+
outline: isCurrent ? "2px solid var(--chakra-colors-status-warn)" : void 0
|
|
64446
64782
|
},
|
|
64447
64783
|
children: text.slice(match2.start, match2.end)
|
|
64448
64784
|
},
|
|
@@ -64595,7 +64931,7 @@ function VirtualizedLogViewer({ content, tabs }) {
|
|
|
64595
64931
|
{
|
|
64596
64932
|
px: 3,
|
|
64597
64933
|
py: 2,
|
|
64598
|
-
bg: "
|
|
64934
|
+
bg: "bg.inverse",
|
|
64599
64935
|
borderTopRadius: "md",
|
|
64600
64936
|
align: "center",
|
|
64601
64937
|
justify: "space-between",
|
|
@@ -64603,8 +64939,8 @@ function VirtualizedLogViewer({ content, tabs }) {
|
|
|
64603
64939
|
gap: 2,
|
|
64604
64940
|
children: [
|
|
64605
64941
|
/* @__PURE__ */ jsx$1(Tabs.RootProvider, { value: tabs, size: "sm", variant: "line", children: /* @__PURE__ */ jsxs(Tabs.List, { borderBottom: "none", children: [
|
|
64606
|
-
/* @__PURE__ */ jsx$1(Tabs.Trigger, { value: "stdout", color: "
|
|
64607
|
-
/* @__PURE__ */ jsx$1(Tabs.Trigger, { value: "stderr", color: "
|
|
64942
|
+
/* @__PURE__ */ jsx$1(Tabs.Trigger, { value: "stdout", color: "fg.subtle", _selected: { color: "fg.inverse" }, children: "stdout" }),
|
|
64943
|
+
/* @__PURE__ */ jsx$1(Tabs.Trigger, { value: "stderr", color: "fg.subtle", _selected: { color: "fg.inverse" }, children: "stderr" })
|
|
64608
64944
|
] }) }),
|
|
64609
64945
|
/* @__PURE__ */ jsxs(Flex, { align: "center", gap: 1, children: [
|
|
64610
64946
|
/* @__PURE__ */ jsx$1(
|
|
@@ -64615,22 +64951,22 @@ function VirtualizedLogViewer({ content, tabs }) {
|
|
|
64615
64951
|
value: searchQuery,
|
|
64616
64952
|
onChange: (e3) => setSearchQuery(e3.target.value),
|
|
64617
64953
|
onKeyDown: handleSearchKeyDown,
|
|
64618
|
-
bg: "
|
|
64954
|
+
bg: "bg.inverse",
|
|
64619
64955
|
border: "none",
|
|
64620
|
-
color: "
|
|
64621
|
-
_placeholder: { color: "
|
|
64956
|
+
color: "fg.inverse",
|
|
64957
|
+
_placeholder: { color: "fg.subtle" },
|
|
64622
64958
|
width: "min(150px, 40vw)"
|
|
64623
64959
|
}
|
|
64624
64960
|
),
|
|
64625
|
-
searchQuery && /* @__PURE__ */ jsx$1(Text, { fontSize: "xs", color: "
|
|
64961
|
+
searchQuery && /* @__PURE__ */ jsx$1(Text, { fontSize: "xs", color: "fg.subtle", minWidth: "50px", textAlign: "center", children: matches33.length > 0 ? `${currentMatchIndex + 1}/${matches33.length}` : "0/0" }),
|
|
64626
64962
|
/* @__PURE__ */ jsx$1(
|
|
64627
64963
|
IconButton,
|
|
64628
64964
|
{
|
|
64629
64965
|
variant: "ghost",
|
|
64630
64966
|
size: "xs",
|
|
64631
64967
|
onClick: handlePrevMatch,
|
|
64632
|
-
color: "
|
|
64633
|
-
_hover: { color: "
|
|
64968
|
+
color: "fg.subtle",
|
|
64969
|
+
_hover: { color: "fg.inverse" },
|
|
64634
64970
|
"aria-label": "Previous match",
|
|
64635
64971
|
disabled: matches33.length === 0,
|
|
64636
64972
|
children: /* @__PURE__ */ jsx$1(FontAwesomeIcon, { icon: faChevronUp })
|
|
@@ -64642,8 +64978,8 @@ function VirtualizedLogViewer({ content, tabs }) {
|
|
|
64642
64978
|
variant: "ghost",
|
|
64643
64979
|
size: "xs",
|
|
64644
64980
|
onClick: handleNextMatch,
|
|
64645
|
-
color: "
|
|
64646
|
-
_hover: { color: "
|
|
64981
|
+
color: "fg.subtle",
|
|
64982
|
+
_hover: { color: "fg.inverse" },
|
|
64647
64983
|
"aria-label": "Next match",
|
|
64648
64984
|
disabled: matches33.length === 0,
|
|
64649
64985
|
children: /* @__PURE__ */ jsx$1(FontAwesomeIcon, { icon: faChevronDown })
|
|
@@ -64655,8 +64991,8 @@ function VirtualizedLogViewer({ content, tabs }) {
|
|
|
64655
64991
|
variant: "ghost",
|
|
64656
64992
|
size: "xs",
|
|
64657
64993
|
onClick: handleCopy,
|
|
64658
|
-
color: "
|
|
64659
|
-
_hover: { color: "
|
|
64994
|
+
color: "fg.subtle",
|
|
64995
|
+
_hover: { color: "fg.inverse" },
|
|
64660
64996
|
"aria-label": "Copy logs",
|
|
64661
64997
|
children: /* @__PURE__ */ jsx$1(FontAwesomeIcon, { icon: copied ? faCheck : faCopy })
|
|
64662
64998
|
}
|
|
@@ -64677,7 +65013,7 @@ function VirtualizedLogViewer({ content, tabs }) {
|
|
|
64677
65013
|
borderTopWidth: "0",
|
|
64678
65014
|
fontFamily: "mono",
|
|
64679
65015
|
fontSize: "sm",
|
|
64680
|
-
color: "
|
|
65016
|
+
color: "fg.inverse",
|
|
64681
65017
|
onScroll: handleScroll,
|
|
64682
65018
|
children: /* @__PURE__ */ jsx$1(
|
|
64683
65019
|
"div",
|
|
@@ -64702,12 +65038,12 @@ function VirtualizedLogViewer({ content, tabs }) {
|
|
|
64702
65038
|
height: `${virtualItem.size}px`,
|
|
64703
65039
|
transform: `translateY(${virtualItem.start}px)`
|
|
64704
65040
|
},
|
|
64705
|
-
children: /* @__PURE__ */ jsxs(Flex, { px: 3, py: 0.5, _hover: { bg: "
|
|
65041
|
+
children: /* @__PURE__ */ jsxs(Flex, { px: 3, py: 0.5, _hover: { bg: "bg.inverse" }, children: [
|
|
64706
65042
|
/* @__PURE__ */ jsx$1(
|
|
64707
65043
|
Text,
|
|
64708
65044
|
{
|
|
64709
65045
|
as: "span",
|
|
64710
|
-
color: "
|
|
65046
|
+
color: "fg.muted",
|
|
64711
65047
|
minWidth: "50px",
|
|
64712
65048
|
textAlign: "right",
|
|
64713
65049
|
mr: 3,
|
|
@@ -65005,20 +65341,20 @@ function ValueNode({
|
|
|
65005
65341
|
}) {
|
|
65006
65342
|
if (depth > 20) {
|
|
65007
65343
|
return /* @__PURE__ */ jsxs(Box, { py: 0.5, display: "flex", alignItems: "center", gap: 2, children: [
|
|
65008
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65344
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65009
65345
|
label,
|
|
65010
65346
|
":"
|
|
65011
65347
|
] }),
|
|
65012
|
-
/* @__PURE__ */ jsx$1(Text, { as: "span", color: "
|
|
65348
|
+
/* @__PURE__ */ jsx$1(Text, { as: "span", color: "fg.muted", children: "[max depth reached]" })
|
|
65013
65349
|
] });
|
|
65014
65350
|
}
|
|
65015
65351
|
if (isPrimitive(type)) {
|
|
65016
65352
|
return /* @__PURE__ */ jsxs(Box, { py: 0.5, display: "flex", alignItems: "center", gap: 2, children: [
|
|
65017
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65353
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65018
65354
|
label,
|
|
65019
65355
|
":"
|
|
65020
65356
|
] }),
|
|
65021
|
-
/* @__PURE__ */ jsx$1(Text, { as: "span", color: type.type === "String" ? "
|
|
65357
|
+
/* @__PURE__ */ jsx$1(Text, { as: "span", color: type.type === "String" ? "fg.success" : type.type === "Integer" || type.type === "Float" ? "link" : "fg.muted", children: formatPrimitive(type, value) }),
|
|
65022
65358
|
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "gray", variant: "subtle", children: type.type })
|
|
65023
65359
|
] });
|
|
65024
65360
|
}
|
|
@@ -65028,28 +65364,28 @@ function ValueNode({
|
|
|
65028
65364
|
const elementType = type.value;
|
|
65029
65365
|
if (items.length === 0) {
|
|
65030
65366
|
return /* @__PURE__ */ jsxs(Box, { py: 0.5, display: "flex", alignItems: "center", gap: 2, children: [
|
|
65031
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65367
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65032
65368
|
label,
|
|
65033
65369
|
":"
|
|
65034
65370
|
] }),
|
|
65035
|
-
/* @__PURE__ */ jsx$1(Text, { as: "span", color: "
|
|
65036
|
-
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "
|
|
65371
|
+
/* @__PURE__ */ jsx$1(Text, { as: "span", color: "fg.muted", children: "[]" }),
|
|
65372
|
+
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "brand", variant: "subtle", children: "Array[0]" })
|
|
65037
65373
|
] });
|
|
65038
65374
|
}
|
|
65039
65375
|
return /* @__PURE__ */ jsx$1(Box, { children: /* @__PURE__ */ jsxs("details", { children: [
|
|
65040
65376
|
/* @__PURE__ */ jsxs("summary", { style: { cursor: "pointer", padding: "2px 0", display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
65041
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65377
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65042
65378
|
label,
|
|
65043
65379
|
":"
|
|
65044
65380
|
] }),
|
|
65045
|
-
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "
|
|
65381
|
+
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "brand", variant: "subtle", children: typeLabel })
|
|
65046
65382
|
] }),
|
|
65047
65383
|
/* @__PURE__ */ jsx$1(Box, { pl: 4, children: items.map((item, index2) => /* @__PURE__ */ jsx$1(
|
|
65048
65384
|
Box,
|
|
65049
65385
|
{
|
|
65050
65386
|
py: 1,
|
|
65051
65387
|
borderBottom: index2 < items.length - 1 ? "1px solid" : void 0,
|
|
65052
|
-
borderColor: "
|
|
65388
|
+
borderColor: "border.strong",
|
|
65053
65389
|
children: /* @__PURE__ */ jsx$1(
|
|
65054
65390
|
ValueNode,
|
|
65055
65391
|
{
|
|
@@ -65069,21 +65405,21 @@ function ValueNode({
|
|
|
65069
65405
|
const obj = value;
|
|
65070
65406
|
if (fields.length === 0) {
|
|
65071
65407
|
return /* @__PURE__ */ jsxs(Box, { py: 0.5, display: "flex", alignItems: "center", gap: 2, children: [
|
|
65072
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65408
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65073
65409
|
label,
|
|
65074
65410
|
":"
|
|
65075
65411
|
] }),
|
|
65076
|
-
/* @__PURE__ */ jsx$1(Text, { as: "span", color: "
|
|
65077
|
-
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "
|
|
65412
|
+
/* @__PURE__ */ jsx$1(Text, { as: "span", color: "fg.muted", children: "{}" }),
|
|
65413
|
+
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "warning", variant: "subtle", children: "Struct" })
|
|
65078
65414
|
] });
|
|
65079
65415
|
}
|
|
65080
65416
|
return /* @__PURE__ */ jsx$1(Box, { children: /* @__PURE__ */ jsxs("details", { children: [
|
|
65081
65417
|
/* @__PURE__ */ jsxs("summary", { style: { cursor: "pointer", padding: "2px 0", display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
65082
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65418
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65083
65419
|
label,
|
|
65084
65420
|
":"
|
|
65085
65421
|
] }),
|
|
65086
|
-
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "
|
|
65422
|
+
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "warning", variant: "subtle", children: typeLabel })
|
|
65087
65423
|
] }),
|
|
65088
65424
|
/* @__PURE__ */ jsx$1(Box, { pl: 4, children: fields.map((field) => /* @__PURE__ */ jsx$1(
|
|
65089
65425
|
ValueNode,
|
|
@@ -65103,11 +65439,11 @@ function ValueNode({
|
|
|
65103
65439
|
const activeCase = cases.find((c2) => c2.name === variant2.type);
|
|
65104
65440
|
if (!activeCase) {
|
|
65105
65441
|
return /* @__PURE__ */ jsxs(Box, { py: 0.5, display: "flex", alignItems: "center", gap: 2, children: [
|
|
65106
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65442
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65107
65443
|
label,
|
|
65108
65444
|
":"
|
|
65109
65445
|
] }),
|
|
65110
|
-
/* @__PURE__ */ jsxs(Text, { as: "span", color: "
|
|
65446
|
+
/* @__PURE__ */ jsxs(Text, { as: "span", color: "fg.danger", children: [
|
|
65111
65447
|
"Unknown variant: ",
|
|
65112
65448
|
variant2.type
|
|
65113
65449
|
] })
|
|
@@ -65115,11 +65451,11 @@ function ValueNode({
|
|
|
65115
65451
|
}
|
|
65116
65452
|
if (activeCase.type.type === "Null") {
|
|
65117
65453
|
return /* @__PURE__ */ jsxs(Box, { py: 0.5, display: "flex", alignItems: "center", gap: 2, children: [
|
|
65118
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65454
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65119
65455
|
label,
|
|
65120
65456
|
":"
|
|
65121
65457
|
] }),
|
|
65122
|
-
/* @__PURE__ */ jsxs(Badge, { size: "xs", colorPalette: "
|
|
65458
|
+
/* @__PURE__ */ jsxs(Badge, { size: "xs", colorPalette: "brand", variant: "subtle", children: [
|
|
65123
65459
|
".",
|
|
65124
65460
|
variant2.type
|
|
65125
65461
|
] })
|
|
@@ -65127,11 +65463,11 @@ function ValueNode({
|
|
|
65127
65463
|
}
|
|
65128
65464
|
return /* @__PURE__ */ jsx$1(Box, { children: /* @__PURE__ */ jsxs("details", { children: [
|
|
65129
65465
|
/* @__PURE__ */ jsxs("summary", { style: { cursor: "pointer", padding: "2px 0", display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
65130
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65466
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65131
65467
|
label,
|
|
65132
65468
|
":"
|
|
65133
65469
|
] }),
|
|
65134
|
-
/* @__PURE__ */ jsxs(Badge, { size: "xs", colorPalette: "
|
|
65470
|
+
/* @__PURE__ */ jsxs(Badge, { size: "xs", colorPalette: "brand", variant: "subtle", children: [
|
|
65135
65471
|
".",
|
|
65136
65472
|
variant2.type
|
|
65137
65473
|
] })
|
|
@@ -65152,29 +65488,29 @@ function ValueNode({
|
|
|
65152
65488
|
const valueType = type.value.value;
|
|
65153
65489
|
if (map3.size === 0) {
|
|
65154
65490
|
return /* @__PURE__ */ jsxs(Box, { py: 0.5, display: "flex", alignItems: "center", gap: 2, children: [
|
|
65155
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65491
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65156
65492
|
label,
|
|
65157
65493
|
":"
|
|
65158
65494
|
] }),
|
|
65159
|
-
/* @__PURE__ */ jsx$1(Text, { as: "span", color: "
|
|
65160
|
-
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "
|
|
65495
|
+
/* @__PURE__ */ jsx$1(Text, { as: "span", color: "fg.muted", children: "Map{}" }),
|
|
65496
|
+
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "info", variant: "subtle", children: "Dict[0]" })
|
|
65161
65497
|
] });
|
|
65162
65498
|
}
|
|
65163
65499
|
const entries = Array.from(map3.entries());
|
|
65164
65500
|
return /* @__PURE__ */ jsx$1(Box, { children: /* @__PURE__ */ jsxs("details", { children: [
|
|
65165
65501
|
/* @__PURE__ */ jsxs("summary", { style: { cursor: "pointer", padding: "2px 0", display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
65166
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65502
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65167
65503
|
label,
|
|
65168
65504
|
":"
|
|
65169
65505
|
] }),
|
|
65170
|
-
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "
|
|
65506
|
+
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "info", variant: "subtle", children: typeLabel })
|
|
65171
65507
|
] }),
|
|
65172
65508
|
/* @__PURE__ */ jsx$1(Box, { pl: 4, children: entries.map(([k2, v3], i) => /* @__PURE__ */ jsxs(
|
|
65173
65509
|
Box,
|
|
65174
65510
|
{
|
|
65175
65511
|
py: 2,
|
|
65176
65512
|
borderBottom: i < entries.length - 1 ? "1px solid" : void 0,
|
|
65177
|
-
borderColor: "
|
|
65513
|
+
borderColor: "border.strong",
|
|
65178
65514
|
children: [
|
|
65179
65515
|
/* @__PURE__ */ jsx$1(ValueNode, { type: keyType, value: k2, depth: depth + 1 }),
|
|
65180
65516
|
/* @__PURE__ */ jsx$1(ValueNode, { type: valueType, value: v3, depth: depth + 1 })
|
|
@@ -65189,29 +65525,29 @@ function ValueNode({
|
|
|
65189
65525
|
const elementType = type.value;
|
|
65190
65526
|
if (set3.size === 0) {
|
|
65191
65527
|
return /* @__PURE__ */ jsxs(Box, { py: 0.5, display: "flex", alignItems: "center", gap: 2, children: [
|
|
65192
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65528
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65193
65529
|
label,
|
|
65194
65530
|
":"
|
|
65195
65531
|
] }),
|
|
65196
|
-
/* @__PURE__ */ jsx$1(Text, { as: "span", color: "
|
|
65197
|
-
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "
|
|
65532
|
+
/* @__PURE__ */ jsx$1(Text, { as: "span", color: "fg.muted", children: "Set{}" }),
|
|
65533
|
+
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "brand", variant: "subtle", children: "Set[0]" })
|
|
65198
65534
|
] });
|
|
65199
65535
|
}
|
|
65200
65536
|
const items = Array.from(set3);
|
|
65201
65537
|
return /* @__PURE__ */ jsx$1(Box, { children: /* @__PURE__ */ jsxs("details", { children: [
|
|
65202
65538
|
/* @__PURE__ */ jsxs("summary", { style: { cursor: "pointer", padding: "2px 0", display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
65203
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65539
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65204
65540
|
label,
|
|
65205
65541
|
":"
|
|
65206
65542
|
] }),
|
|
65207
|
-
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "
|
|
65543
|
+
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "brand", variant: "subtle", children: typeLabel })
|
|
65208
65544
|
] }),
|
|
65209
65545
|
/* @__PURE__ */ jsx$1(Box, { pl: 4, children: items.map((item, i) => /* @__PURE__ */ jsx$1(
|
|
65210
65546
|
Box,
|
|
65211
65547
|
{
|
|
65212
65548
|
py: 1,
|
|
65213
65549
|
borderBottom: i < items.length - 1 ? "1px solid" : void 0,
|
|
65214
|
-
borderColor: "
|
|
65550
|
+
borderColor: "border.strong",
|
|
65215
65551
|
children: /* @__PURE__ */ jsx$1(
|
|
65216
65552
|
ValueNode,
|
|
65217
65553
|
{
|
|
@@ -65229,11 +65565,11 @@ function ValueNode({
|
|
|
65229
65565
|
const ref = value;
|
|
65230
65566
|
return /* @__PURE__ */ jsx$1(Box, { children: /* @__PURE__ */ jsxs("details", { children: [
|
|
65231
65567
|
/* @__PURE__ */ jsxs("summary", { style: { cursor: "pointer", padding: "2px 0", display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
65232
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65568
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65233
65569
|
label,
|
|
65234
65570
|
":"
|
|
65235
65571
|
] }),
|
|
65236
|
-
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "
|
|
65572
|
+
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "danger", variant: "subtle", children: "Ref" })
|
|
65237
65573
|
] }),
|
|
65238
65574
|
/* @__PURE__ */ jsx$1(Box, { pl: 4, children: /* @__PURE__ */ jsx$1(
|
|
65239
65575
|
ValueNode,
|
|
@@ -65247,20 +65583,20 @@ function ValueNode({
|
|
|
65247
65583
|
}
|
|
65248
65584
|
if (type.type === "Function" || type.type === "AsyncFunction") {
|
|
65249
65585
|
return /* @__PURE__ */ jsxs(Box, { py: 0.5, display: "flex", alignItems: "center", gap: 2, children: [
|
|
65250
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65586
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65251
65587
|
label,
|
|
65252
65588
|
":"
|
|
65253
65589
|
] }),
|
|
65254
|
-
/* @__PURE__ */ jsx$1(Text, { as: "span", color: "
|
|
65590
|
+
/* @__PURE__ */ jsx$1(Text, { as: "span", color: "fg.muted", children: "[function]" }),
|
|
65255
65591
|
/* @__PURE__ */ jsx$1(Badge, { size: "xs", colorPalette: "gray", variant: "subtle", children: type.type })
|
|
65256
65592
|
] });
|
|
65257
65593
|
}
|
|
65258
65594
|
return /* @__PURE__ */ jsxs(Box, { py: 0.5, display: "flex", alignItems: "center", gap: 2, children: [
|
|
65259
|
-
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "purple
|
|
65595
|
+
label && /* @__PURE__ */ jsxs(Text, { as: "span", color: "accent.purple", fontWeight: "medium", children: [
|
|
65260
65596
|
label,
|
|
65261
65597
|
":"
|
|
65262
65598
|
] }),
|
|
65263
|
-
/* @__PURE__ */ jsxs(Text, { as: "span", color: "
|
|
65599
|
+
/* @__PURE__ */ jsxs(Text, { as: "span", color: "fg.muted", children: [
|
|
65264
65600
|
"[",
|
|
65265
65601
|
type.type,
|
|
65266
65602
|
"]"
|
|
@@ -65285,6 +65621,7 @@ export {
|
|
|
65285
65621
|
BindPlatform,
|
|
65286
65622
|
BindRuntime,
|
|
65287
65623
|
DataTaskPreview,
|
|
65624
|
+
DatasetKeySearch,
|
|
65288
65625
|
DatasetPreview,
|
|
65289
65626
|
E3Provider,
|
|
65290
65627
|
EastChakraDecisionJournal,
|