@mastra/playground-ui 66.0.0-alpha.6 → 66.0.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/AttachmentCard-CciBqu7E.cjs +66 -0
- package/dist/AttachmentCard-CciBqu7E.cjs.map +1 -0
- package/dist/AttachmentCard-DbGp7TYl.js +61 -0
- package/dist/AttachmentCard-DbGp7TYl.js.map +1 -0
- package/dist/{DataList-CYjnJkNE.js → DataList-Bg533xtT.js} +2 -2
- package/dist/{DataList-CYjnJkNE.js.map → DataList-Bg533xtT.js.map} +1 -1
- package/dist/{DataList-D7bShtPK.cjs → DataList-DlmchFgW.cjs} +2 -2
- package/dist/{DataList-D7bShtPK.cjs.map → DataList-DlmchFgW.cjs.map} +1 -1
- package/dist/{LogsDataList-ia_C-bSJ.cjs → LogsDataList-DQ-3y06q.cjs} +2 -2
- package/dist/{LogsDataList-ia_C-bSJ.cjs.map → LogsDataList-DQ-3y06q.cjs.map} +1 -1
- package/dist/{LogsDataList-FQ921Sml.js → LogsDataList-DyVM83Rx.js} +2 -2
- package/dist/{LogsDataList-FQ921Sml.js.map → LogsDataList-DyVM83Rx.js.map} +1 -1
- package/dist/components/AttachmentCard.cjs.js +1 -1
- package/dist/components/AttachmentCard.es.js +1 -1
- package/dist/components/DataList.cjs.js +3 -3
- package/dist/components/DataList.es.js +3 -3
- package/dist/components/EnvironmentVariablesEditor.cjs.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.es.js +1 -1
- package/dist/components/LogsDataList.cjs.js +2 -2
- package/dist/components/LogsDataList.es.js +2 -2
- package/dist/components/MetricsTable.cjs.js +1 -1
- package/dist/components/MetricsTable.cjs.js.map +1 -1
- package/dist/components/MetricsTable.es.js +1 -1
- package/dist/components/MetricsTable.es.js.map +1 -1
- package/dist/{data-list-YfADUlqZ.js → data-list-DjSo5V1C.js} +2 -2
- package/dist/{data-list-YfADUlqZ.js.map → data-list-DjSo5V1C.js.map} +1 -1
- package/dist/{data-list-jF9pJ7HH.cjs → data-list-v93EXSHc.cjs} +2 -2
- package/dist/{data-list-jF9pJ7HH.cjs.map → data-list-v93EXSHc.cjs.map} +1 -1
- package/dist/domains/chat/attachments/message-attachment.cjs.js +1 -1
- package/dist/domains/chat/attachments/message-attachment.es.js +1 -1
- package/dist/domains/chat/attachments/message-image-attachment.cjs.js +1 -1
- package/dist/domains/chat/attachments/message-image-attachment.es.js +1 -1
- package/dist/domains/chat/tools/connect-prompt-tool.cjs.js +1 -1
- package/dist/domains/chat/tools/connect-prompt-tool.es.js +1 -1
- package/dist/domains/llm/provider-logo.cjs.js +3 -1
- package/dist/domains/llm/provider-logo.cjs.js.map +1 -1
- package/dist/domains/llm/provider-logo.es.js +3 -1
- package/dist/domains/llm/provider-logo.es.js.map +1 -1
- package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
- package/dist/domains/logs/components/logs-list-view.es.js +2 -2
- package/dist/domains/metrics/drilldown.cjs.js +1 -1
- package/dist/domains/metrics/drilldown.es.js +1 -1
- package/dist/domains/metrics/metrics-filters.cjs.js +1 -1
- package/dist/domains/metrics/metrics-filters.es.js +1 -1
- package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js +1 -1
- package/dist/domains/observability/hooks/use-observability-list-filters.es.js +1 -1
- package/dist/domains/scores/components/trace-scores-list.cjs.js +1 -1
- package/dist/domains/scores/components/trace-scores-list.es.js +1 -1
- package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
- package/dist/domains/spans/components/spans-filter-bar.cjs.js +1 -1
- package/dist/domains/spans/components/spans-filter-bar.es.js +1 -1
- package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js +1 -1
- package/dist/domains/spans/hooks/use-spans-filter-bar.es.js +1 -1
- package/dist/domains/spans/span-filters.cjs.js +1 -1
- package/dist/domains/spans/span-filters.es.js +1 -1
- package/dist/domains/threads/components/threads-filter-bar.cjs.js +1 -1
- package/dist/domains/threads/components/threads-filter-bar.es.js +1 -1
- package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js +1 -1
- package/dist/domains/threads/hooks/use-threads-filter-bar.es.js +1 -1
- package/dist/domains/threads/thread-filters.cjs.js +1 -1
- package/dist/domains/threads/thread-filters.es.js +1 -1
- package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js +1 -1
- package/dist/domains/traces/components/columns-menu/columns-menu.es.js +1 -1
- package/dist/domains/traces/components/trace-error-cell.cjs.js +1 -1
- package/dist/domains/traces/components/trace-error-cell.es.js +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +1 -1
- package/dist/domains/traces/components/traces-list-view.cjs.js +2 -2
- package/dist/domains/traces/components/traces-list-view.es.js +2 -2
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -1
- package/dist/domains/traces/trace-filters.cjs.js +1 -1
- package/dist/domains/traces/trace-filters.es.js +1 -1
- package/dist/domains/traces/trace-query-filters.cjs.js +1 -1
- package/dist/domains/traces/trace-query-filters.es.js +1 -1
- package/dist/domains/traces.cjs.js +1 -1
- package/dist/domains/traces.es.js +1 -1
- package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
- package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
- package/dist/ee/signals/components/entity-index-list.es.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +1 -1
- package/dist/icons/TypesafeIcon.cjs.js +19 -0
- package/dist/icons/TypesafeIcon.cjs.js.map +1 -0
- package/dist/icons/TypesafeIcon.d.ts +1 -0
- package/dist/icons/TypesafeIcon.es.js +16 -0
- package/dist/icons/TypesafeIcon.es.js.map +1 -0
- package/dist/layout/tabbed-container.cjs.js +1 -1
- package/dist/layout/tabbed-container.es.js +1 -1
- package/dist/src/ds/icons/TypesafeIcon.d.ts +2 -0
- package/dist/src/ds/icons/index.d.ts +1 -0
- package/dist/style.css +4 -103
- package/dist/{tabbed-container-Bkqv61EW.js → tabbed-container-DHmygeKi.js} +2 -2
- package/dist/{tabbed-container-Bkqv61EW.js.map → tabbed-container-DHmygeKi.js.map} +1 -1
- package/dist/{tabbed-container-DKFLulGV.cjs → tabbed-container-Dt9F_Lb5.cjs} +2 -2
- package/dist/{tabbed-container-DKFLulGV.cjs.map → tabbed-container-Dt9F_Lb5.cjs.map} +1 -1
- package/dist/{trace-filters-HWOGfVqx.cjs → trace-filters-BpeBUjCb.cjs} +2 -2
- package/dist/trace-filters-BpeBUjCb.cjs.map +1 -0
- package/dist/{trace-filters-BpIMoLTk.js → trace-filters-C27yWcan.js} +2 -2
- package/dist/trace-filters-C27yWcan.js.map +1 -0
- package/package.json +9 -9
- package/dist/AttachmentCard-B1fhYov_.cjs +0 -81
- package/dist/AttachmentCard-B1fhYov_.cjs.map +0 -1
- package/dist/AttachmentCard-lKP83CZ-.js +0 -76
- package/dist/AttachmentCard-lKP83CZ-.js.map +0 -1
- package/dist/src/ds/components/AttachmentCard/attachment-preview.d.ts +0 -5
- package/dist/trace-filters-BpIMoLTk.js.map +0 -1
- package/dist/trace-filters-HWOGfVqx.cjs.map +0 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
const require_utils = require("./utils-uDc1ofX1.cjs");
|
|
2
|
+
const require_Txt = require("./Txt-BnoSqxKE.cjs");
|
|
3
|
+
const require_primitives_message_surface = require("./primitives/message-surface.cjs.js");
|
|
4
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
|
+
// src/ds/components/AttachmentCard/attachment-card.tsx
|
|
6
|
+
/** Sent-file presentation. Upload state and removal controls belong to the composer. */
|
|
7
|
+
function AttachmentCard({ name, typeLabel, icon, preview, onClick, href, buttonRef }) {
|
|
8
|
+
const className = require_utils.cn(require_primitives_message_surface.messageSurfaceStyle, "relative isolate block w-64 max-w-full min-w-0 overflow-hidden text-left", (onClick || href) && "cursor-pointer hover:bg-fill-hover focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus motion-safe:transition-colors");
|
|
9
|
+
const content = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [preview && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
10
|
+
className: "block h-44 overflow-hidden border-b border-border bg-fill",
|
|
11
|
+
children: preview
|
|
12
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
13
|
+
className: "flex min-w-0 items-center gap-2.5 px-3 py-2.5",
|
|
14
|
+
children: [!preview && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
15
|
+
className: "flex size-5 shrink-0 items-center justify-center text-muted-foreground",
|
|
16
|
+
"aria-hidden": "true",
|
|
17
|
+
children: icon
|
|
18
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
19
|
+
className: "min-w-0 flex-1",
|
|
20
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Txt.Txt, {
|
|
21
|
+
as: "span",
|
|
22
|
+
variant: "body-sm",
|
|
23
|
+
className: "block truncate",
|
|
24
|
+
title: name,
|
|
25
|
+
children: name
|
|
26
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Txt.Txt, {
|
|
27
|
+
as: "span",
|
|
28
|
+
variant: "meta",
|
|
29
|
+
tone: "muted",
|
|
30
|
+
className: "block truncate",
|
|
31
|
+
children: typeLabel
|
|
32
|
+
})]
|
|
33
|
+
})]
|
|
34
|
+
})] });
|
|
35
|
+
if (onClick) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
36
|
+
ref: buttonRef,
|
|
37
|
+
type: "button",
|
|
38
|
+
className,
|
|
39
|
+
onClick,
|
|
40
|
+
"aria-label": `Preview ${name}`,
|
|
41
|
+
title: name,
|
|
42
|
+
children: content
|
|
43
|
+
});
|
|
44
|
+
if (href) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
|
|
45
|
+
className,
|
|
46
|
+
href,
|
|
47
|
+
target: "_blank",
|
|
48
|
+
rel: "noreferrer noopener",
|
|
49
|
+
"aria-label": `Open ${name}`,
|
|
50
|
+
title: name,
|
|
51
|
+
children: content
|
|
52
|
+
});
|
|
53
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
54
|
+
className,
|
|
55
|
+
title: name,
|
|
56
|
+
children: content
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
Object.defineProperty(exports, "AttachmentCard", {
|
|
60
|
+
enumerable: true,
|
|
61
|
+
get: function() {
|
|
62
|
+
return AttachmentCard;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=AttachmentCard-CciBqu7E.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttachmentCard-CciBqu7E.cjs","names":["cn","messageSurfaceStyle","_Fragment","Txt"],"sources":["../src/ds/components/AttachmentCard/attachment-card.tsx"],"sourcesContent":["import type { ReactNode, Ref } from 'react';\nimport { Txt } from '../Txt';\nimport { messageSurfaceStyle } from '@/ds/primitives/message-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface AttachmentCardProps {\n name: string;\n buttonRef?: Ref<HTMLButtonElement>;\n typeLabel: string;\n icon: ReactNode;\n preview?: ReactNode;\n onClick?: () => void;\n href?: string;\n}\n\n/** Sent-file presentation. Upload state and removal controls belong to the composer. */\nexport function AttachmentCard({ name, typeLabel, icon, preview, onClick, href, buttonRef }: AttachmentCardProps) {\n const className = cn(\n messageSurfaceStyle,\n 'relative isolate block w-64 max-w-full min-w-0 overflow-hidden text-left',\n (onClick || href) &&\n 'cursor-pointer hover:bg-fill-hover focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus motion-safe:transition-colors',\n );\n const content = (\n <>\n {preview && <span className=\"block h-44 overflow-hidden border-b border-border bg-fill\">{preview}</span>}\n <span className=\"flex min-w-0 items-center gap-2.5 px-3 py-2.5\">\n {!preview && (\n <span className=\"flex size-5 shrink-0 items-center justify-center text-muted-foreground\" aria-hidden=\"true\">\n {icon}\n </span>\n )}\n <span className=\"min-w-0 flex-1\">\n <Txt as=\"span\" variant=\"body-sm\" className=\"block truncate\" title={name}>\n {name}\n </Txt>\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" className=\"block truncate\">\n {typeLabel}\n </Txt>\n </span>\n </span>\n </>\n );\n\n if (onClick) {\n return (\n <button\n ref={buttonRef}\n type=\"button\"\n className={className}\n onClick={onClick}\n aria-label={`Preview ${name}`}\n title={name}\n >\n {content}\n </button>\n );\n }\n if (href) {\n return (\n <a\n className={className}\n href={href}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n aria-label={`Open ${name}`}\n title={name}\n >\n {content}\n </a>\n );\n }\n return (\n <div className={className} title={name}>\n {content}\n </div>\n );\n}\n"],"mappings":";;;;;;AAgBA,SAAgB,eAAe,EAAE,MAAM,WAAW,MAAM,SAAS,SAAS,MAAM,aAAkC;CAChH,MAAM,YAAYA,cAAAA,GAChBC,mCAAAA,qBACA,6EACC,WAAW,SACV,4JACJ;CACA,MAAM,UACJ,iBAAA,GAAA,kBAAA,KAAA,CAAAC,kBAAAA,UAAA,EAAA,UAAA,CACG,WAAW,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EAAM,WAAU;EAA6D,UAAA;CAAc,CAAA,GACvG,iBAAA,GAAA,kBAAA,KAAA,CAAC,QAAD;EAAM,WAAU;EAAhB,UAAA,CACG,CAAC,WACA,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,WAAU;GAAyE,eAAY;GAClG,UAAA;EACG,CAAA,GAER,iBAAA,GAAA,kBAAA,KAAA,CAAC,QAAD;GAAM,WAAU;GAAhB,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;IAAK,IAAG;IAAO,SAAQ;IAAU,WAAU;IAAiB,OAAO;IAChE,UAAA;GACE,CAAA,GACL,iBAAA,GAAA,kBAAA,IAAA,CAACA,YAAAA,KAAD;IAAK,IAAG;IAAO,SAAQ;IAAO,MAAK;IAAQ,WAAU;IAClD,UAAA;GACE,CAAA,CACD;EACF,CAAA,CAAA;CACN,CAAA,CAAA,EAAA,CAAA;CAGJ,IAAI,SACF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;EACE,KAAK;EACL,MAAK;EACM;EACF;EACT,cAAY,WAAW;EACvB,OAAO;EAEN,UAAA;CACK,CAAA;CAGZ,IAAI,MACF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,KAAD;EACa;EACL;EACN,QAAO;EACP,KAAI;EACJ,cAAY,QAAQ;EACpB,OAAO;EAEN,UAAA;CACA,CAAA;CAGP,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EAAgB;EAAW,OAAO;EAC/B,UAAA;CACE,CAAA;AAET"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { t as cn } from "./utils-DQx8TpNT.js";
|
|
2
|
+
import { t as Txt } from "./Txt-BM6TVV_c.js";
|
|
3
|
+
import { messageSurfaceStyle } from "./primitives/message-surface.es.js";
|
|
4
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
// src/ds/components/AttachmentCard/attachment-card.tsx
|
|
6
|
+
/** Sent-file presentation. Upload state and removal controls belong to the composer. */
|
|
7
|
+
function AttachmentCard({ name, typeLabel, icon, preview, onClick, href, buttonRef }) {
|
|
8
|
+
const className = cn(messageSurfaceStyle, "relative isolate block w-64 max-w-full min-w-0 overflow-hidden text-left", (onClick || href) && "cursor-pointer hover:bg-fill-hover focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus motion-safe:transition-colors");
|
|
9
|
+
const content = /* @__PURE__ */ jsxs(Fragment, { children: [preview && /* @__PURE__ */ jsx("span", {
|
|
10
|
+
className: "block h-44 overflow-hidden border-b border-border bg-fill",
|
|
11
|
+
children: preview
|
|
12
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
13
|
+
className: "flex min-w-0 items-center gap-2.5 px-3 py-2.5",
|
|
14
|
+
children: [!preview && /* @__PURE__ */ jsx("span", {
|
|
15
|
+
className: "flex size-5 shrink-0 items-center justify-center text-muted-foreground",
|
|
16
|
+
"aria-hidden": "true",
|
|
17
|
+
children: icon
|
|
18
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
19
|
+
className: "min-w-0 flex-1",
|
|
20
|
+
children: [/* @__PURE__ */ jsx(Txt, {
|
|
21
|
+
as: "span",
|
|
22
|
+
variant: "body-sm",
|
|
23
|
+
className: "block truncate",
|
|
24
|
+
title: name,
|
|
25
|
+
children: name
|
|
26
|
+
}), /* @__PURE__ */ jsx(Txt, {
|
|
27
|
+
as: "span",
|
|
28
|
+
variant: "meta",
|
|
29
|
+
tone: "muted",
|
|
30
|
+
className: "block truncate",
|
|
31
|
+
children: typeLabel
|
|
32
|
+
})]
|
|
33
|
+
})]
|
|
34
|
+
})] });
|
|
35
|
+
if (onClick) return /* @__PURE__ */ jsx("button", {
|
|
36
|
+
ref: buttonRef,
|
|
37
|
+
type: "button",
|
|
38
|
+
className,
|
|
39
|
+
onClick,
|
|
40
|
+
"aria-label": `Preview ${name}`,
|
|
41
|
+
title: name,
|
|
42
|
+
children: content
|
|
43
|
+
});
|
|
44
|
+
if (href) return /* @__PURE__ */ jsx("a", {
|
|
45
|
+
className,
|
|
46
|
+
href,
|
|
47
|
+
target: "_blank",
|
|
48
|
+
rel: "noreferrer noopener",
|
|
49
|
+
"aria-label": `Open ${name}`,
|
|
50
|
+
title: name,
|
|
51
|
+
children: content
|
|
52
|
+
});
|
|
53
|
+
return /* @__PURE__ */ jsx("div", {
|
|
54
|
+
className,
|
|
55
|
+
title: name,
|
|
56
|
+
children: content
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
export { AttachmentCard as t };
|
|
60
|
+
|
|
61
|
+
//# sourceMappingURL=AttachmentCard-DbGp7TYl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttachmentCard-DbGp7TYl.js","names":["_Fragment"],"sources":["../src/ds/components/AttachmentCard/attachment-card.tsx"],"sourcesContent":["import type { ReactNode, Ref } from 'react';\nimport { Txt } from '../Txt';\nimport { messageSurfaceStyle } from '@/ds/primitives/message-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface AttachmentCardProps {\n name: string;\n buttonRef?: Ref<HTMLButtonElement>;\n typeLabel: string;\n icon: ReactNode;\n preview?: ReactNode;\n onClick?: () => void;\n href?: string;\n}\n\n/** Sent-file presentation. Upload state and removal controls belong to the composer. */\nexport function AttachmentCard({ name, typeLabel, icon, preview, onClick, href, buttonRef }: AttachmentCardProps) {\n const className = cn(\n messageSurfaceStyle,\n 'relative isolate block w-64 max-w-full min-w-0 overflow-hidden text-left',\n (onClick || href) &&\n 'cursor-pointer hover:bg-fill-hover focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus motion-safe:transition-colors',\n );\n const content = (\n <>\n {preview && <span className=\"block h-44 overflow-hidden border-b border-border bg-fill\">{preview}</span>}\n <span className=\"flex min-w-0 items-center gap-2.5 px-3 py-2.5\">\n {!preview && (\n <span className=\"flex size-5 shrink-0 items-center justify-center text-muted-foreground\" aria-hidden=\"true\">\n {icon}\n </span>\n )}\n <span className=\"min-w-0 flex-1\">\n <Txt as=\"span\" variant=\"body-sm\" className=\"block truncate\" title={name}>\n {name}\n </Txt>\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" className=\"block truncate\">\n {typeLabel}\n </Txt>\n </span>\n </span>\n </>\n );\n\n if (onClick) {\n return (\n <button\n ref={buttonRef}\n type=\"button\"\n className={className}\n onClick={onClick}\n aria-label={`Preview ${name}`}\n title={name}\n >\n {content}\n </button>\n );\n }\n if (href) {\n return (\n <a\n className={className}\n href={href}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n aria-label={`Open ${name}`}\n title={name}\n >\n {content}\n </a>\n );\n }\n return (\n <div className={className} title={name}>\n {content}\n </div>\n );\n}\n"],"mappings":";;;;;;AAgBA,SAAgB,eAAe,EAAE,MAAM,WAAW,MAAM,SAAS,SAAS,MAAM,aAAkC;CAChH,MAAM,YAAY,GAChB,qBACA,6EACC,WAAW,SACV,4JACJ;CACA,MAAM,UACJ,qBAAAA,UAAA,EAAA,UAAA,CACG,WAAW,oBAAC,QAAD;EAAM,WAAU;EAA6D,UAAA;CAAc,CAAA,GACvG,qBAAC,QAAD;EAAM,WAAU;EAAhB,UAAA,CACG,CAAC,WACA,oBAAC,QAAD;GAAM,WAAU;GAAyE,eAAY;GAClG,UAAA;EACG,CAAA,GAER,qBAAC,QAAD;GAAM,WAAU;GAAhB,UAAA,CACE,oBAAC,KAAD;IAAK,IAAG;IAAO,SAAQ;IAAU,WAAU;IAAiB,OAAO;IAChE,UAAA;GACE,CAAA,GACL,oBAAC,KAAD;IAAK,IAAG;IAAO,SAAQ;IAAO,MAAK;IAAQ,WAAU;IAClD,UAAA;GACE,CAAA,CACD;EACF,CAAA,CAAA;CACN,CAAA,CAAA,EAAA,CAAA;CAGJ,IAAI,SACF,OACE,oBAAC,UAAD;EACE,KAAK;EACL,MAAK;EACM;EACF;EACT,cAAY,WAAW;EACvB,OAAO;EAEN,UAAA;CACK,CAAA;CAGZ,IAAI,MACF,OACE,oBAAC,KAAD;EACa;EACL;EACN,QAAO;EACP,KAAI;EACJ,cAAY,QAAQ;EACpB,OAAO;EAEN,UAAA;CACA,CAAA;CAGP,OACE,oBAAC,OAAD;EAAgB;EAAW,OAAO;EAC/B,UAAA;CACE,CAAA;AAET"}
|
|
@@ -10,7 +10,7 @@ import { McpServerIcon } from "./icons/McpServerIcon.es.js";
|
|
|
10
10
|
import { ProcessorIcon } from "./icons/ProcessorIcon.es.js";
|
|
11
11
|
import { ScorersIcon } from "./icons/ScorersIcon.es.js";
|
|
12
12
|
import { t as Badge } from "./Badge-aVu5iGAF.js";
|
|
13
|
-
import { C as splitColumns, S as dataListRowOuterStyles, _ as DataListCreatedCell, a as DataListSpacer, b as DataListTextCell, f as DataListRowButton, g as DataListCell, h as DataListNextPageLoading, i as DataListSubheader, l as DataListTopCellWithTooltip, m as DataListNoMatch, n as DataListTop, o as DataListSortableTopCell, p as DataListRoot, r as DataListSubHeading, s as DataListTopCell, y as DataListIdCell } from "./data-list-
|
|
13
|
+
import { C as splitColumns, S as dataListRowOuterStyles, _ as DataListCreatedCell, a as DataListSpacer, b as DataListTextCell, f as DataListRowButton, g as DataListCell, h as DataListNextPageLoading, i as DataListSubheader, l as DataListTopCellWithTooltip, m as DataListNoMatch, n as DataListTop, o as DataListSortableTopCell, p as DataListRoot, r as DataListSubHeading, s as DataListTopCell, y as DataListIdCell } from "./data-list-DjSo5V1C.js";
|
|
14
14
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
15
15
|
import { CornerDownRightIcon, DatabaseIcon, ListTreeIcon, RouteIcon, SplitIcon } from "lucide-react";
|
|
16
16
|
// src/ds/components/DataList/data-list-skeleton.tsx
|
|
@@ -313,4 +313,4 @@ var TracesDataList = Object.assign(TracesDataListRoot, {
|
|
|
313
313
|
});
|
|
314
314
|
export { DataListSkeletonRows as i, ScoresDataList as n, DataListSkeleton as r, TracesDataList as t };
|
|
315
315
|
|
|
316
|
-
//# sourceMappingURL=DataList-
|
|
316
|
+
//# sourceMappingURL=DataList-Bg533xtT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataList-CYjnJkNE.js","names":["WorkflowIcon","_Fragment"],"sources":["../src/ds/components/DataList/data-list-skeleton.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list-cells.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list-cells.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list.tsx"],"sourcesContent":["import { DataListCell } from './data-list-cells';\nimport { DataListRoot } from './data-list-root';\nimport type { DataListFit, DataListVariant } from './data-list-root';\nimport { DataListTop } from './data-list-top';\nimport { DataListTopCell } from './data-list-top-cell';\nimport { dataListRowOuterStyles, splitColumns } from './shared';\nimport { cn } from '@/lib/utils';\n\nconst widths = ['75%', '50%', '65%', '90%', '60%', '80%'] as const;\nconst headerWidths = ['3rem', '5rem', '4rem', '3.5rem', '4.5rem', '3rem'] as const;\n\nexport type DataListSkeletonProps = {\n columns?: string;\n numberOfRows?: number;\n fit?: DataListFit;\n variant?: DataListVariant;\n};\n\nfunction SkeletonBar({ width, className }: { width: string; className?: string }) {\n return (\n <div\n className={cn('h-4 animate-pulse rounded-lg bg-(--data-list-background) text-transparent select-none', className)}\n style={{ width }}\n />\n );\n}\n\nexport type DataListSkeletonRowsProps = {\n columnCount: number;\n numberOfRows?: number;\n};\n\n/**\n * Placeholder rows only, for lists that keep their real root and header while\n * loading (e.g. virtualized lists that must keep the same scroll container).\n */\nexport function DataListSkeletonRows({ columnCount, numberOfRows = 3 }: DataListSkeletonRowsProps) {\n const getPseudoRandomWidth = (rowIdx: number, colIdx: number) => {\n const index = (rowIdx + colIdx + columnCount + numberOfRows) % widths.length;\n return widths[index] ?? widths[0];\n };\n\n return Array.from({ length: numberOfRows }).map((_, rowIdx) => (\n <div key={rowIdx} className={cn('data-list-cells grid grid-cols-subgrid gap-4 px-3', ...dataListRowOuterStyles)}>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListCell key={colIdx}>\n <SkeletonBar width={getPseudoRandomWidth(rowIdx, colIdx)} />\n </DataListCell>\n ))}\n </div>\n ));\n}\n\n/**\n * Loading placeholder mirroring the real list: same root, a sticky header\n * band with one placeholder label per column, then rows of placeholder cells.\n */\nexport function DataListSkeleton({\n columns = 'auto 1fr auto auto',\n numberOfRows = 3,\n fit,\n variant,\n}: DataListSkeletonProps) {\n const columnParts = splitColumns(columns);\n const columnCount = columnParts.length;\n const skeletonColumns = columnParts.map(col => (col === 'auto' ? 'minmax(6rem, auto)' : col)).join(' ');\n\n return (\n <DataListRoot columns={skeletonColumns} fit={fit} variant={variant}>\n <DataListTop>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListTopCell key={colIdx}>\n <SkeletonBar width={headerWidths[colIdx % headerWidths.length] ?? headerWidths[0]} className=\"h-3\" />\n </DataListTopCell>\n ))}\n </DataListTop>\n <DataListSkeletonRows columnCount={columnCount} numberOfRows={numberOfRows} />\n </DataListRoot>\n );\n}\n","import { DataListCell } from '../data-list-cells';\nimport { Txt } from '@/ds/components/Txt';\nimport { formatDate } from '@/utils/date-format';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\n// ---------------------------------------------------------------------------\n// DateCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListDateCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListDateCell({ timestamp }: ScoresDataListDateCellProps) {\n return <DataListCell className=\"text-muted-foreground\">{formatDate(timestamp, 'date') ?? '-'}</DataListCell>;\n}\n\n// ---------------------------------------------------------------------------\n// TimeCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListTimeCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListTimeCell({ timestamp }: ScoresDataListTimeCellProps) {\n return (\n <DataListCell className=\"text-body-sm text-muted-foreground\">{formatDate(timestamp, 'time') ?? '-'}</DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListInputCellProps {\n input?: unknown;\n}\n\nexport function ScoresDataListInputCell({ input }: ScoresDataListInputCellProps) {\n const display = input != null ? JSON.stringify(input) : '-';\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListEntityCellProps {\n entityId?: string | null;\n}\n\nexport function ScoresDataListEntityCell({ entityId }: ScoresDataListEntityCellProps) {\n const display = entityId || '-';\n return (\n <DataListCell>\n <Txt as=\"span\" variant=\"body-sm\" className=\"block max-w-full min-w-0 truncate\" title={display}>\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// ScoreCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListScoreCellProps {\n score?: unknown;\n}\n\nexport function ScoresDataListScoreCell({ score }: ScoresDataListScoreCellProps) {\n const display = score == null ? '-' : typeof score === 'object' ? JSON.stringify(score) : String(score);\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell } from '../data-list-top-cell';\nimport {\n ScoresDataListDateCell,\n ScoresDataListTimeCell,\n ScoresDataListInputCell,\n ScoresDataListEntityCell,\n ScoresDataListScoreCell,\n} from './scores-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as TracesDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as TracesDataList\nfunction ScoresDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const ScoresDataList = Object.assign(ScoresDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n NextPageLoading: DataListNextPageLoading,\n DateCell: ScoresDataListDateCell,\n TimeCell: ScoresDataListTimeCell,\n InputCell: ScoresDataListInputCell,\n EntityCell: ScoresDataListEntityCell,\n ScoreCell: ScoresDataListScoreCell,\n});\n","import { CornerDownRightIcon, DatabaseIcon, ListTreeIcon, RouteIcon, SplitIcon } from 'lucide-react';\nimport type { ComponentType, SVGProps } from 'react';\nimport { DataListCell, DataListTextCell } from '../data-list-cells';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\nimport { McpServerIcon } from '@/ds/icons/McpServerIcon';\nimport { MemoryIcon } from '@/ds/icons/MemoryIcon';\nimport { ProcessorIcon } from '@/ds/icons/ProcessorIcon';\nimport { ScorersIcon } from '@/ds/icons/ScorersIcon';\nimport { ToolsIcon } from '@/ds/icons/ToolsIcon';\nimport { WorkflowIcon } from '@/ds/icons/WorkflowIcon';\nimport { cn } from '@/lib/utils';\n\n// ---------------------------------------------------------------------------\n// NameCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListNameCellProps {\n name?: string | null;\n /** `null`/missing → root span (Trace). Set → nested span (Subtrace). Drives the leading level icon. */\n parentSpanId?: string | null;\n /** When true, the leading level icon is wrapped in a Trace/Subtrace tooltip. Off by default —\n * only meaningful in branches mode, where rows mix root traces and subtraces. */\n showLevelTooltip?: boolean;\n}\n\nexport function TracesDataListNameCell({ name, parentSpanId, showLevelTooltip }: TracesDataListNameCellProps) {\n const isRoot = parentSpanId == null;\n const Icon = isRoot ? ListTreeIcon : CornerDownRightIcon;\n const label = isRoot ? 'Trace' : 'Subtrace';\n const icon = (\n <span aria-label={label} className=\"inline-flex shrink-0\">\n <Icon className={cn('size-4 shrink-0', isRoot ? 'text-muted-foreground' : 'text-placeholder')} aria-hidden />\n </span>\n );\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2 text-body-sm text-muted-foreground\">\n {showLevelTooltip ? (\n <Tooltip>\n <TooltipTrigger asChild>{icon}</TooltipTrigger>\n <TooltipContent>{label}</TooltipContent>\n </Tooltip>\n ) : (\n icon\n )}\n <span className=\"min-w-0 truncate\">{name || '-'}</span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListInputCellProps {\n input?: string | null;\n}\n\nexport function TracesDataListInputCell({ input }: TracesDataListInputCellProps) {\n return <DataListTextCell font=\"mono\">{input || '-'}</DataListTextCell>;\n}\n\n// ---------------------------------------------------------------------------\n// OutputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListOutputCellProps {\n output?: string;\n /** Shown instead of `output`, in the error color, when `status` is `'error'`. */\n error?: string;\n status?: string | null;\n}\n\nexport function TracesDataListOutputCell({ output, error, status }: TracesDataListOutputCellProps) {\n const failed = status === 'error';\n const errorColor = failed ? 'text-destructive-foreground' : undefined;\n return (\n <DataListTextCell font=\"mono\" className={errorColor}>\n {(failed ? error : output) || '-'}\n </DataListTextCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// TypeCell\n// ---------------------------------------------------------------------------\n\ntype EntityTypeDisplay = { label: string; Icon: ComponentType<SVGProps<SVGSVGElement>> };\n\n// Keys are lowercase `EntityType` enum values (plus legacy `workflow`).\nconst ENTITY_TYPE_DISPLAY: Record<string, EntityTypeDisplay> = {\n agent: { label: 'Agent', Icon: AgentIcon },\n workflow: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_run: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_step: { label: 'Step', Icon: WorkflowIcon },\n tool: { label: 'Tool', Icon: ToolsIcon },\n scorer: { label: 'Scorer', Icon: ScorersIcon },\n classifier: { label: 'Classifier', Icon: SplitIcon },\n memory: { label: 'Memory', Icon: MemoryIcon },\n mcp_server: { label: 'MCP Server', Icon: McpServerIcon },\n input_processor: { label: 'Processor', Icon: ProcessorIcon },\n input_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n tool_result_processor: { label: 'Processor', Icon: ProcessorIcon },\n rag_ingestion: { label: 'RAG', Icon: DatabaseIcon },\n trajectory: { label: 'Trajectory', Icon: RouteIcon },\n};\n\nexport interface TracesDataListTypeCellProps {\n entityType?: string | null;\n}\n\nexport function TracesDataListTypeCell({ entityType }: TracesDataListTypeCellProps) {\n const display = entityType ? ENTITY_TYPE_DISPLAY[entityType.toLowerCase()] : undefined;\n\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2\">\n {display ? (\n <>\n <display.Icon className=\"size-3.5 shrink-0 text-placeholder\" aria-hidden />\n <Txt as=\"span\" variant=\"body-sm\" className=\"min-w-0 truncate\">\n {display.label}\n </Txt>\n </>\n ) : (\n '-'\n )}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// StatusCell\n// ---------------------------------------------------------------------------\n\nconst UNSET_STATUS_CONFIG: { label: string; variant: BadgeVariant } = { label: '-', variant: 'neutral' };\n\nconst STATUS_CONFIG: Record<string, { label: string; variant: BadgeVariant }> = {\n completed: { label: 'OK', variant: 'success' },\n ok: { label: 'OK', variant: 'success' },\n success: { label: 'OK', variant: 'success' },\n error: { label: 'ERR', variant: 'destructive' },\n running: { label: 'RUN', variant: 'neutral' },\n unset: UNSET_STATUS_CONFIG,\n};\n\nexport interface TracesDataListStatusCellProps {\n status?: string | null;\n}\n\nexport function TracesDataListStatusCell({ status }: TracesDataListStatusCellProps) {\n const key = (status ?? 'unset').toLowerCase();\n const config = STATUS_CONFIG[key] ?? UNSET_STATUS_CONFIG;\n\n return (\n <DataListCell>\n <Badge size=\"xs\" variant={config.variant}>\n {config.label}\n </Badge>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListCreatedCell, DataListIdCell } from '../data-list-cells';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListSpacer } from '../data-list-spacer';\nimport { DataListSubheader } from '../data-list-subheader';\nimport { DataListSubHeading } from '../data-list-subheading';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell, DataListTopCellWithTooltip } from '../data-list-top-cell';\nimport {\n TracesDataListNameCell,\n TracesDataListInputCell,\n TracesDataListOutputCell,\n TracesDataListTypeCell,\n TracesDataListStatusCell,\n} from './traces-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as ScoresDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as ScoresDataList\nfunction TracesDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const TracesDataList = Object.assign(TracesDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n IdCell: DataListIdCell,\n CreatedCell: DataListCreatedCell,\n NameCell: TracesDataListNameCell,\n InputCell: TracesDataListInputCell,\n OutputCell: TracesDataListOutputCell,\n TypeCell: TracesDataListTypeCell,\n StatusCell: TracesDataListStatusCell,\n NextPageLoading: DataListNextPageLoading,\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataList-Bg533xtT.js","names":["WorkflowIcon","_Fragment"],"sources":["../src/ds/components/DataList/data-list-skeleton.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list-cells.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list-cells.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list.tsx"],"sourcesContent":["import { DataListCell } from './data-list-cells';\nimport { DataListRoot } from './data-list-root';\nimport type { DataListFit, DataListVariant } from './data-list-root';\nimport { DataListTop } from './data-list-top';\nimport { DataListTopCell } from './data-list-top-cell';\nimport { dataListRowOuterStyles, splitColumns } from './shared';\nimport { cn } from '@/lib/utils';\n\nconst widths = ['75%', '50%', '65%', '90%', '60%', '80%'] as const;\nconst headerWidths = ['3rem', '5rem', '4rem', '3.5rem', '4.5rem', '3rem'] as const;\n\nexport type DataListSkeletonProps = {\n columns?: string;\n numberOfRows?: number;\n fit?: DataListFit;\n variant?: DataListVariant;\n};\n\nfunction SkeletonBar({ width, className }: { width: string; className?: string }) {\n return (\n <div\n className={cn('h-4 animate-pulse rounded-lg bg-(--data-list-background) text-transparent select-none', className)}\n style={{ width }}\n />\n );\n}\n\nexport type DataListSkeletonRowsProps = {\n columnCount: number;\n numberOfRows?: number;\n};\n\n/**\n * Placeholder rows only, for lists that keep their real root and header while\n * loading (e.g. virtualized lists that must keep the same scroll container).\n */\nexport function DataListSkeletonRows({ columnCount, numberOfRows = 3 }: DataListSkeletonRowsProps) {\n const getPseudoRandomWidth = (rowIdx: number, colIdx: number) => {\n const index = (rowIdx + colIdx + columnCount + numberOfRows) % widths.length;\n return widths[index] ?? widths[0];\n };\n\n return Array.from({ length: numberOfRows }).map((_, rowIdx) => (\n <div key={rowIdx} className={cn('data-list-cells grid grid-cols-subgrid gap-4 px-3', ...dataListRowOuterStyles)}>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListCell key={colIdx}>\n <SkeletonBar width={getPseudoRandomWidth(rowIdx, colIdx)} />\n </DataListCell>\n ))}\n </div>\n ));\n}\n\n/**\n * Loading placeholder mirroring the real list: same root, a sticky header\n * band with one placeholder label per column, then rows of placeholder cells.\n */\nexport function DataListSkeleton({\n columns = 'auto 1fr auto auto',\n numberOfRows = 3,\n fit,\n variant,\n}: DataListSkeletonProps) {\n const columnParts = splitColumns(columns);\n const columnCount = columnParts.length;\n const skeletonColumns = columnParts.map(col => (col === 'auto' ? 'minmax(6rem, auto)' : col)).join(' ');\n\n return (\n <DataListRoot columns={skeletonColumns} fit={fit} variant={variant}>\n <DataListTop>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListTopCell key={colIdx}>\n <SkeletonBar width={headerWidths[colIdx % headerWidths.length] ?? headerWidths[0]} className=\"h-3\" />\n </DataListTopCell>\n ))}\n </DataListTop>\n <DataListSkeletonRows columnCount={columnCount} numberOfRows={numberOfRows} />\n </DataListRoot>\n );\n}\n","import { DataListCell } from '../data-list-cells';\nimport { Txt } from '@/ds/components/Txt';\nimport { formatDate } from '@/utils/date-format';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\n// ---------------------------------------------------------------------------\n// DateCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListDateCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListDateCell({ timestamp }: ScoresDataListDateCellProps) {\n return <DataListCell className=\"text-muted-foreground\">{formatDate(timestamp, 'date') ?? '-'}</DataListCell>;\n}\n\n// ---------------------------------------------------------------------------\n// TimeCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListTimeCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListTimeCell({ timestamp }: ScoresDataListTimeCellProps) {\n return (\n <DataListCell className=\"text-body-sm text-muted-foreground\">{formatDate(timestamp, 'time') ?? '-'}</DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListInputCellProps {\n input?: unknown;\n}\n\nexport function ScoresDataListInputCell({ input }: ScoresDataListInputCellProps) {\n const display = input != null ? JSON.stringify(input) : '-';\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListEntityCellProps {\n entityId?: string | null;\n}\n\nexport function ScoresDataListEntityCell({ entityId }: ScoresDataListEntityCellProps) {\n const display = entityId || '-';\n return (\n <DataListCell>\n <Txt as=\"span\" variant=\"body-sm\" className=\"block max-w-full min-w-0 truncate\" title={display}>\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// ScoreCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListScoreCellProps {\n score?: unknown;\n}\n\nexport function ScoresDataListScoreCell({ score }: ScoresDataListScoreCellProps) {\n const display = score == null ? '-' : typeof score === 'object' ? JSON.stringify(score) : String(score);\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell } from '../data-list-top-cell';\nimport {\n ScoresDataListDateCell,\n ScoresDataListTimeCell,\n ScoresDataListInputCell,\n ScoresDataListEntityCell,\n ScoresDataListScoreCell,\n} from './scores-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as TracesDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as TracesDataList\nfunction ScoresDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const ScoresDataList = Object.assign(ScoresDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n NextPageLoading: DataListNextPageLoading,\n DateCell: ScoresDataListDateCell,\n TimeCell: ScoresDataListTimeCell,\n InputCell: ScoresDataListInputCell,\n EntityCell: ScoresDataListEntityCell,\n ScoreCell: ScoresDataListScoreCell,\n});\n","import { CornerDownRightIcon, DatabaseIcon, ListTreeIcon, RouteIcon, SplitIcon } from 'lucide-react';\nimport type { ComponentType, SVGProps } from 'react';\nimport { DataListCell, DataListTextCell } from '../data-list-cells';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\nimport { McpServerIcon } from '@/ds/icons/McpServerIcon';\nimport { MemoryIcon } from '@/ds/icons/MemoryIcon';\nimport { ProcessorIcon } from '@/ds/icons/ProcessorIcon';\nimport { ScorersIcon } from '@/ds/icons/ScorersIcon';\nimport { ToolsIcon } from '@/ds/icons/ToolsIcon';\nimport { WorkflowIcon } from '@/ds/icons/WorkflowIcon';\nimport { cn } from '@/lib/utils';\n\n// ---------------------------------------------------------------------------\n// NameCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListNameCellProps {\n name?: string | null;\n /** `null`/missing → root span (Trace). Set → nested span (Subtrace). Drives the leading level icon. */\n parentSpanId?: string | null;\n /** When true, the leading level icon is wrapped in a Trace/Subtrace tooltip. Off by default —\n * only meaningful in branches mode, where rows mix root traces and subtraces. */\n showLevelTooltip?: boolean;\n}\n\nexport function TracesDataListNameCell({ name, parentSpanId, showLevelTooltip }: TracesDataListNameCellProps) {\n const isRoot = parentSpanId == null;\n const Icon = isRoot ? ListTreeIcon : CornerDownRightIcon;\n const label = isRoot ? 'Trace' : 'Subtrace';\n const icon = (\n <span aria-label={label} className=\"inline-flex shrink-0\">\n <Icon className={cn('size-4 shrink-0', isRoot ? 'text-muted-foreground' : 'text-placeholder')} aria-hidden />\n </span>\n );\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2 text-body-sm text-muted-foreground\">\n {showLevelTooltip ? (\n <Tooltip>\n <TooltipTrigger asChild>{icon}</TooltipTrigger>\n <TooltipContent>{label}</TooltipContent>\n </Tooltip>\n ) : (\n icon\n )}\n <span className=\"min-w-0 truncate\">{name || '-'}</span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListInputCellProps {\n input?: string | null;\n}\n\nexport function TracesDataListInputCell({ input }: TracesDataListInputCellProps) {\n return <DataListTextCell font=\"mono\">{input || '-'}</DataListTextCell>;\n}\n\n// ---------------------------------------------------------------------------\n// OutputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListOutputCellProps {\n output?: string;\n /** Shown instead of `output`, in the error color, when `status` is `'error'`. */\n error?: string;\n status?: string | null;\n}\n\nexport function TracesDataListOutputCell({ output, error, status }: TracesDataListOutputCellProps) {\n const failed = status === 'error';\n const errorColor = failed ? 'text-destructive-foreground' : undefined;\n return (\n <DataListTextCell font=\"mono\" className={errorColor}>\n {(failed ? error : output) || '-'}\n </DataListTextCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// TypeCell\n// ---------------------------------------------------------------------------\n\ntype EntityTypeDisplay = { label: string; Icon: ComponentType<SVGProps<SVGSVGElement>> };\n\n// Keys are lowercase `EntityType` enum values (plus legacy `workflow`).\nconst ENTITY_TYPE_DISPLAY: Record<string, EntityTypeDisplay> = {\n agent: { label: 'Agent', Icon: AgentIcon },\n workflow: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_run: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_step: { label: 'Step', Icon: WorkflowIcon },\n tool: { label: 'Tool', Icon: ToolsIcon },\n scorer: { label: 'Scorer', Icon: ScorersIcon },\n classifier: { label: 'Classifier', Icon: SplitIcon },\n memory: { label: 'Memory', Icon: MemoryIcon },\n mcp_server: { label: 'MCP Server', Icon: McpServerIcon },\n input_processor: { label: 'Processor', Icon: ProcessorIcon },\n input_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n tool_result_processor: { label: 'Processor', Icon: ProcessorIcon },\n rag_ingestion: { label: 'RAG', Icon: DatabaseIcon },\n trajectory: { label: 'Trajectory', Icon: RouteIcon },\n};\n\nexport interface TracesDataListTypeCellProps {\n entityType?: string | null;\n}\n\nexport function TracesDataListTypeCell({ entityType }: TracesDataListTypeCellProps) {\n const display = entityType ? ENTITY_TYPE_DISPLAY[entityType.toLowerCase()] : undefined;\n\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2\">\n {display ? (\n <>\n <display.Icon className=\"size-3.5 shrink-0 text-placeholder\" aria-hidden />\n <Txt as=\"span\" variant=\"body-sm\" className=\"min-w-0 truncate\">\n {display.label}\n </Txt>\n </>\n ) : (\n '-'\n )}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// StatusCell\n// ---------------------------------------------------------------------------\n\nconst UNSET_STATUS_CONFIG: { label: string; variant: BadgeVariant } = { label: '-', variant: 'neutral' };\n\nconst STATUS_CONFIG: Record<string, { label: string; variant: BadgeVariant }> = {\n completed: { label: 'OK', variant: 'success' },\n ok: { label: 'OK', variant: 'success' },\n success: { label: 'OK', variant: 'success' },\n error: { label: 'ERR', variant: 'destructive' },\n running: { label: 'RUN', variant: 'neutral' },\n unset: UNSET_STATUS_CONFIG,\n};\n\nexport interface TracesDataListStatusCellProps {\n status?: string | null;\n}\n\nexport function TracesDataListStatusCell({ status }: TracesDataListStatusCellProps) {\n const key = (status ?? 'unset').toLowerCase();\n const config = STATUS_CONFIG[key] ?? UNSET_STATUS_CONFIG;\n\n return (\n <DataListCell>\n <Badge size=\"xs\" variant={config.variant}>\n {config.label}\n </Badge>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListCreatedCell, DataListIdCell } from '../data-list-cells';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListSpacer } from '../data-list-spacer';\nimport { DataListSubheader } from '../data-list-subheader';\nimport { DataListSubHeading } from '../data-list-subheading';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell, DataListTopCellWithTooltip } from '../data-list-top-cell';\nimport {\n TracesDataListNameCell,\n TracesDataListInputCell,\n TracesDataListOutputCell,\n TracesDataListTypeCell,\n TracesDataListStatusCell,\n} from './traces-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as ScoresDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as ScoresDataList\nfunction TracesDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const TracesDataList = Object.assign(TracesDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n IdCell: DataListIdCell,\n CreatedCell: DataListCreatedCell,\n NameCell: TracesDataListNameCell,\n InputCell: TracesDataListInputCell,\n OutputCell: TracesDataListOutputCell,\n TypeCell: TracesDataListTypeCell,\n StatusCell: TracesDataListStatusCell,\n NextPageLoading: DataListNextPageLoading,\n});\n"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ const require_icons_McpServerIcon = require("./icons/McpServerIcon.cjs.js");
|
|
|
10
10
|
const require_icons_ProcessorIcon = require("./icons/ProcessorIcon.cjs.js");
|
|
11
11
|
const require_icons_ScorersIcon = require("./icons/ScorersIcon.cjs.js");
|
|
12
12
|
const require_Badge = require("./Badge-DZ6r6bcw.cjs");
|
|
13
|
-
const require_data_list = require("./data-list-
|
|
13
|
+
const require_data_list = require("./data-list-v93EXSHc.cjs");
|
|
14
14
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
15
15
|
let lucide_react = require("lucide-react");
|
|
16
16
|
// src/ds/components/DataList/data-list-skeleton.tsx
|
|
@@ -336,4 +336,4 @@ Object.defineProperty(exports, "TracesDataList", {
|
|
|
336
336
|
}
|
|
337
337
|
});
|
|
338
338
|
|
|
339
|
-
//# sourceMappingURL=DataList-
|
|
339
|
+
//# sourceMappingURL=DataList-DlmchFgW.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataList-D7bShtPK.cjs","names":["cn","dataListRowOuterStyles","DataListCell","splitColumns","DataListRoot","DataListTop","DataListTopCell","DataListCell","formatDate","Txt","DataListRoot","DataListTop","DataListTopCell","DataListSortableTopCell","DataListRowButton","DataListNoMatch","DataListNextPageLoading","ListTreeIcon","CornerDownRightIcon","cn","DataListCell","Tooltip","TooltipTrigger","TooltipContent","DataListTextCell","AgentIcon","WorkflowIcon","ToolsIcon","ScorersIcon","SplitIcon","MemoryIcon","McpServerIcon","ProcessorIcon","DatabaseIcon","RouteIcon","_Fragment","Txt","Badge","DataListRoot","DataListTop","DataListTopCell","DataListSortableTopCell","DataListTopCellWithTooltip","DataListRowButton","DataListNoMatch","DataListSubheader","DataListSubHeading","DataListSpacer","DataListIdCell","DataListCreatedCell","DataListNextPageLoading"],"sources":["../src/ds/components/DataList/data-list-skeleton.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list-cells.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list-cells.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list.tsx"],"sourcesContent":["import { DataListCell } from './data-list-cells';\nimport { DataListRoot } from './data-list-root';\nimport type { DataListFit, DataListVariant } from './data-list-root';\nimport { DataListTop } from './data-list-top';\nimport { DataListTopCell } from './data-list-top-cell';\nimport { dataListRowOuterStyles, splitColumns } from './shared';\nimport { cn } from '@/lib/utils';\n\nconst widths = ['75%', '50%', '65%', '90%', '60%', '80%'] as const;\nconst headerWidths = ['3rem', '5rem', '4rem', '3.5rem', '4.5rem', '3rem'] as const;\n\nexport type DataListSkeletonProps = {\n columns?: string;\n numberOfRows?: number;\n fit?: DataListFit;\n variant?: DataListVariant;\n};\n\nfunction SkeletonBar({ width, className }: { width: string; className?: string }) {\n return (\n <div\n className={cn('h-4 animate-pulse rounded-lg bg-(--data-list-background) text-transparent select-none', className)}\n style={{ width }}\n />\n );\n}\n\nexport type DataListSkeletonRowsProps = {\n columnCount: number;\n numberOfRows?: number;\n};\n\n/**\n * Placeholder rows only, for lists that keep their real root and header while\n * loading (e.g. virtualized lists that must keep the same scroll container).\n */\nexport function DataListSkeletonRows({ columnCount, numberOfRows = 3 }: DataListSkeletonRowsProps) {\n const getPseudoRandomWidth = (rowIdx: number, colIdx: number) => {\n const index = (rowIdx + colIdx + columnCount + numberOfRows) % widths.length;\n return widths[index] ?? widths[0];\n };\n\n return Array.from({ length: numberOfRows }).map((_, rowIdx) => (\n <div key={rowIdx} className={cn('data-list-cells grid grid-cols-subgrid gap-4 px-3', ...dataListRowOuterStyles)}>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListCell key={colIdx}>\n <SkeletonBar width={getPseudoRandomWidth(rowIdx, colIdx)} />\n </DataListCell>\n ))}\n </div>\n ));\n}\n\n/**\n * Loading placeholder mirroring the real list: same root, a sticky header\n * band with one placeholder label per column, then rows of placeholder cells.\n */\nexport function DataListSkeleton({\n columns = 'auto 1fr auto auto',\n numberOfRows = 3,\n fit,\n variant,\n}: DataListSkeletonProps) {\n const columnParts = splitColumns(columns);\n const columnCount = columnParts.length;\n const skeletonColumns = columnParts.map(col => (col === 'auto' ? 'minmax(6rem, auto)' : col)).join(' ');\n\n return (\n <DataListRoot columns={skeletonColumns} fit={fit} variant={variant}>\n <DataListTop>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListTopCell key={colIdx}>\n <SkeletonBar width={headerWidths[colIdx % headerWidths.length] ?? headerWidths[0]} className=\"h-3\" />\n </DataListTopCell>\n ))}\n </DataListTop>\n <DataListSkeletonRows columnCount={columnCount} numberOfRows={numberOfRows} />\n </DataListRoot>\n );\n}\n","import { DataListCell } from '../data-list-cells';\nimport { Txt } from '@/ds/components/Txt';\nimport { formatDate } from '@/utils/date-format';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\n// ---------------------------------------------------------------------------\n// DateCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListDateCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListDateCell({ timestamp }: ScoresDataListDateCellProps) {\n return <DataListCell className=\"text-muted-foreground\">{formatDate(timestamp, 'date') ?? '-'}</DataListCell>;\n}\n\n// ---------------------------------------------------------------------------\n// TimeCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListTimeCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListTimeCell({ timestamp }: ScoresDataListTimeCellProps) {\n return (\n <DataListCell className=\"text-body-sm text-muted-foreground\">{formatDate(timestamp, 'time') ?? '-'}</DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListInputCellProps {\n input?: unknown;\n}\n\nexport function ScoresDataListInputCell({ input }: ScoresDataListInputCellProps) {\n const display = input != null ? JSON.stringify(input) : '-';\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListEntityCellProps {\n entityId?: string | null;\n}\n\nexport function ScoresDataListEntityCell({ entityId }: ScoresDataListEntityCellProps) {\n const display = entityId || '-';\n return (\n <DataListCell>\n <Txt as=\"span\" variant=\"body-sm\" className=\"block max-w-full min-w-0 truncate\" title={display}>\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// ScoreCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListScoreCellProps {\n score?: unknown;\n}\n\nexport function ScoresDataListScoreCell({ score }: ScoresDataListScoreCellProps) {\n const display = score == null ? '-' : typeof score === 'object' ? JSON.stringify(score) : String(score);\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell } from '../data-list-top-cell';\nimport {\n ScoresDataListDateCell,\n ScoresDataListTimeCell,\n ScoresDataListInputCell,\n ScoresDataListEntityCell,\n ScoresDataListScoreCell,\n} from './scores-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as TracesDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as TracesDataList\nfunction ScoresDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const ScoresDataList = Object.assign(ScoresDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n NextPageLoading: DataListNextPageLoading,\n DateCell: ScoresDataListDateCell,\n TimeCell: ScoresDataListTimeCell,\n InputCell: ScoresDataListInputCell,\n EntityCell: ScoresDataListEntityCell,\n ScoreCell: ScoresDataListScoreCell,\n});\n","import { CornerDownRightIcon, DatabaseIcon, ListTreeIcon, RouteIcon, SplitIcon } from 'lucide-react';\nimport type { ComponentType, SVGProps } from 'react';\nimport { DataListCell, DataListTextCell } from '../data-list-cells';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\nimport { McpServerIcon } from '@/ds/icons/McpServerIcon';\nimport { MemoryIcon } from '@/ds/icons/MemoryIcon';\nimport { ProcessorIcon } from '@/ds/icons/ProcessorIcon';\nimport { ScorersIcon } from '@/ds/icons/ScorersIcon';\nimport { ToolsIcon } from '@/ds/icons/ToolsIcon';\nimport { WorkflowIcon } from '@/ds/icons/WorkflowIcon';\nimport { cn } from '@/lib/utils';\n\n// ---------------------------------------------------------------------------\n// NameCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListNameCellProps {\n name?: string | null;\n /** `null`/missing → root span (Trace). Set → nested span (Subtrace). Drives the leading level icon. */\n parentSpanId?: string | null;\n /** When true, the leading level icon is wrapped in a Trace/Subtrace tooltip. Off by default —\n * only meaningful in branches mode, where rows mix root traces and subtraces. */\n showLevelTooltip?: boolean;\n}\n\nexport function TracesDataListNameCell({ name, parentSpanId, showLevelTooltip }: TracesDataListNameCellProps) {\n const isRoot = parentSpanId == null;\n const Icon = isRoot ? ListTreeIcon : CornerDownRightIcon;\n const label = isRoot ? 'Trace' : 'Subtrace';\n const icon = (\n <span aria-label={label} className=\"inline-flex shrink-0\">\n <Icon className={cn('size-4 shrink-0', isRoot ? 'text-muted-foreground' : 'text-placeholder')} aria-hidden />\n </span>\n );\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2 text-body-sm text-muted-foreground\">\n {showLevelTooltip ? (\n <Tooltip>\n <TooltipTrigger asChild>{icon}</TooltipTrigger>\n <TooltipContent>{label}</TooltipContent>\n </Tooltip>\n ) : (\n icon\n )}\n <span className=\"min-w-0 truncate\">{name || '-'}</span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListInputCellProps {\n input?: string | null;\n}\n\nexport function TracesDataListInputCell({ input }: TracesDataListInputCellProps) {\n return <DataListTextCell font=\"mono\">{input || '-'}</DataListTextCell>;\n}\n\n// ---------------------------------------------------------------------------\n// OutputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListOutputCellProps {\n output?: string;\n /** Shown instead of `output`, in the error color, when `status` is `'error'`. */\n error?: string;\n status?: string | null;\n}\n\nexport function TracesDataListOutputCell({ output, error, status }: TracesDataListOutputCellProps) {\n const failed = status === 'error';\n const errorColor = failed ? 'text-destructive-foreground' : undefined;\n return (\n <DataListTextCell font=\"mono\" className={errorColor}>\n {(failed ? error : output) || '-'}\n </DataListTextCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// TypeCell\n// ---------------------------------------------------------------------------\n\ntype EntityTypeDisplay = { label: string; Icon: ComponentType<SVGProps<SVGSVGElement>> };\n\n// Keys are lowercase `EntityType` enum values (plus legacy `workflow`).\nconst ENTITY_TYPE_DISPLAY: Record<string, EntityTypeDisplay> = {\n agent: { label: 'Agent', Icon: AgentIcon },\n workflow: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_run: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_step: { label: 'Step', Icon: WorkflowIcon },\n tool: { label: 'Tool', Icon: ToolsIcon },\n scorer: { label: 'Scorer', Icon: ScorersIcon },\n classifier: { label: 'Classifier', Icon: SplitIcon },\n memory: { label: 'Memory', Icon: MemoryIcon },\n mcp_server: { label: 'MCP Server', Icon: McpServerIcon },\n input_processor: { label: 'Processor', Icon: ProcessorIcon },\n input_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n tool_result_processor: { label: 'Processor', Icon: ProcessorIcon },\n rag_ingestion: { label: 'RAG', Icon: DatabaseIcon },\n trajectory: { label: 'Trajectory', Icon: RouteIcon },\n};\n\nexport interface TracesDataListTypeCellProps {\n entityType?: string | null;\n}\n\nexport function TracesDataListTypeCell({ entityType }: TracesDataListTypeCellProps) {\n const display = entityType ? ENTITY_TYPE_DISPLAY[entityType.toLowerCase()] : undefined;\n\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2\">\n {display ? (\n <>\n <display.Icon className=\"size-3.5 shrink-0 text-placeholder\" aria-hidden />\n <Txt as=\"span\" variant=\"body-sm\" className=\"min-w-0 truncate\">\n {display.label}\n </Txt>\n </>\n ) : (\n '-'\n )}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// StatusCell\n// ---------------------------------------------------------------------------\n\nconst UNSET_STATUS_CONFIG: { label: string; variant: BadgeVariant } = { label: '-', variant: 'neutral' };\n\nconst STATUS_CONFIG: Record<string, { label: string; variant: BadgeVariant }> = {\n completed: { label: 'OK', variant: 'success' },\n ok: { label: 'OK', variant: 'success' },\n success: { label: 'OK', variant: 'success' },\n error: { label: 'ERR', variant: 'destructive' },\n running: { label: 'RUN', variant: 'neutral' },\n unset: UNSET_STATUS_CONFIG,\n};\n\nexport interface TracesDataListStatusCellProps {\n status?: string | null;\n}\n\nexport function TracesDataListStatusCell({ status }: TracesDataListStatusCellProps) {\n const key = (status ?? 'unset').toLowerCase();\n const config = STATUS_CONFIG[key] ?? UNSET_STATUS_CONFIG;\n\n return (\n <DataListCell>\n <Badge size=\"xs\" variant={config.variant}>\n {config.label}\n </Badge>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListCreatedCell, DataListIdCell } from '../data-list-cells';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListSpacer } from '../data-list-spacer';\nimport { DataListSubheader } from '../data-list-subheader';\nimport { DataListSubHeading } from '../data-list-subheading';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell, DataListTopCellWithTooltip } from '../data-list-top-cell';\nimport {\n TracesDataListNameCell,\n TracesDataListInputCell,\n TracesDataListOutputCell,\n TracesDataListTypeCell,\n TracesDataListStatusCell,\n} from './traces-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as ScoresDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as ScoresDataList\nfunction TracesDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const TracesDataList = Object.assign(TracesDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n IdCell: DataListIdCell,\n CreatedCell: DataListCreatedCell,\n NameCell: TracesDataListNameCell,\n InputCell: TracesDataListInputCell,\n OutputCell: TracesDataListOutputCell,\n TypeCell: TracesDataListTypeCell,\n StatusCell: TracesDataListStatusCell,\n NextPageLoading: DataListNextPageLoading,\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataList-DlmchFgW.cjs","names":["cn","dataListRowOuterStyles","DataListCell","splitColumns","DataListRoot","DataListTop","DataListTopCell","DataListCell","formatDate","Txt","DataListRoot","DataListTop","DataListTopCell","DataListSortableTopCell","DataListRowButton","DataListNoMatch","DataListNextPageLoading","ListTreeIcon","CornerDownRightIcon","cn","DataListCell","Tooltip","TooltipTrigger","TooltipContent","DataListTextCell","AgentIcon","WorkflowIcon","ToolsIcon","ScorersIcon","SplitIcon","MemoryIcon","McpServerIcon","ProcessorIcon","DatabaseIcon","RouteIcon","_Fragment","Txt","Badge","DataListRoot","DataListTop","DataListTopCell","DataListSortableTopCell","DataListTopCellWithTooltip","DataListRowButton","DataListNoMatch","DataListSubheader","DataListSubHeading","DataListSpacer","DataListIdCell","DataListCreatedCell","DataListNextPageLoading"],"sources":["../src/ds/components/DataList/data-list-skeleton.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list-cells.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list-cells.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list.tsx"],"sourcesContent":["import { DataListCell } from './data-list-cells';\nimport { DataListRoot } from './data-list-root';\nimport type { DataListFit, DataListVariant } from './data-list-root';\nimport { DataListTop } from './data-list-top';\nimport { DataListTopCell } from './data-list-top-cell';\nimport { dataListRowOuterStyles, splitColumns } from './shared';\nimport { cn } from '@/lib/utils';\n\nconst widths = ['75%', '50%', '65%', '90%', '60%', '80%'] as const;\nconst headerWidths = ['3rem', '5rem', '4rem', '3.5rem', '4.5rem', '3rem'] as const;\n\nexport type DataListSkeletonProps = {\n columns?: string;\n numberOfRows?: number;\n fit?: DataListFit;\n variant?: DataListVariant;\n};\n\nfunction SkeletonBar({ width, className }: { width: string; className?: string }) {\n return (\n <div\n className={cn('h-4 animate-pulse rounded-lg bg-(--data-list-background) text-transparent select-none', className)}\n style={{ width }}\n />\n );\n}\n\nexport type DataListSkeletonRowsProps = {\n columnCount: number;\n numberOfRows?: number;\n};\n\n/**\n * Placeholder rows only, for lists that keep their real root and header while\n * loading (e.g. virtualized lists that must keep the same scroll container).\n */\nexport function DataListSkeletonRows({ columnCount, numberOfRows = 3 }: DataListSkeletonRowsProps) {\n const getPseudoRandomWidth = (rowIdx: number, colIdx: number) => {\n const index = (rowIdx + colIdx + columnCount + numberOfRows) % widths.length;\n return widths[index] ?? widths[0];\n };\n\n return Array.from({ length: numberOfRows }).map((_, rowIdx) => (\n <div key={rowIdx} className={cn('data-list-cells grid grid-cols-subgrid gap-4 px-3', ...dataListRowOuterStyles)}>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListCell key={colIdx}>\n <SkeletonBar width={getPseudoRandomWidth(rowIdx, colIdx)} />\n </DataListCell>\n ))}\n </div>\n ));\n}\n\n/**\n * Loading placeholder mirroring the real list: same root, a sticky header\n * band with one placeholder label per column, then rows of placeholder cells.\n */\nexport function DataListSkeleton({\n columns = 'auto 1fr auto auto',\n numberOfRows = 3,\n fit,\n variant,\n}: DataListSkeletonProps) {\n const columnParts = splitColumns(columns);\n const columnCount = columnParts.length;\n const skeletonColumns = columnParts.map(col => (col === 'auto' ? 'minmax(6rem, auto)' : col)).join(' ');\n\n return (\n <DataListRoot columns={skeletonColumns} fit={fit} variant={variant}>\n <DataListTop>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListTopCell key={colIdx}>\n <SkeletonBar width={headerWidths[colIdx % headerWidths.length] ?? headerWidths[0]} className=\"h-3\" />\n </DataListTopCell>\n ))}\n </DataListTop>\n <DataListSkeletonRows columnCount={columnCount} numberOfRows={numberOfRows} />\n </DataListRoot>\n );\n}\n","import { DataListCell } from '../data-list-cells';\nimport { Txt } from '@/ds/components/Txt';\nimport { formatDate } from '@/utils/date-format';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\n// ---------------------------------------------------------------------------\n// DateCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListDateCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListDateCell({ timestamp }: ScoresDataListDateCellProps) {\n return <DataListCell className=\"text-muted-foreground\">{formatDate(timestamp, 'date') ?? '-'}</DataListCell>;\n}\n\n// ---------------------------------------------------------------------------\n// TimeCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListTimeCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListTimeCell({ timestamp }: ScoresDataListTimeCellProps) {\n return (\n <DataListCell className=\"text-body-sm text-muted-foreground\">{formatDate(timestamp, 'time') ?? '-'}</DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListInputCellProps {\n input?: unknown;\n}\n\nexport function ScoresDataListInputCell({ input }: ScoresDataListInputCellProps) {\n const display = input != null ? JSON.stringify(input) : '-';\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListEntityCellProps {\n entityId?: string | null;\n}\n\nexport function ScoresDataListEntityCell({ entityId }: ScoresDataListEntityCellProps) {\n const display = entityId || '-';\n return (\n <DataListCell>\n <Txt as=\"span\" variant=\"body-sm\" className=\"block max-w-full min-w-0 truncate\" title={display}>\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// ScoreCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListScoreCellProps {\n score?: unknown;\n}\n\nexport function ScoresDataListScoreCell({ score }: ScoresDataListScoreCellProps) {\n const display = score == null ? '-' : typeof score === 'object' ? JSON.stringify(score) : String(score);\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell } from '../data-list-top-cell';\nimport {\n ScoresDataListDateCell,\n ScoresDataListTimeCell,\n ScoresDataListInputCell,\n ScoresDataListEntityCell,\n ScoresDataListScoreCell,\n} from './scores-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as TracesDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as TracesDataList\nfunction ScoresDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const ScoresDataList = Object.assign(ScoresDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n NextPageLoading: DataListNextPageLoading,\n DateCell: ScoresDataListDateCell,\n TimeCell: ScoresDataListTimeCell,\n InputCell: ScoresDataListInputCell,\n EntityCell: ScoresDataListEntityCell,\n ScoreCell: ScoresDataListScoreCell,\n});\n","import { CornerDownRightIcon, DatabaseIcon, ListTreeIcon, RouteIcon, SplitIcon } from 'lucide-react';\nimport type { ComponentType, SVGProps } from 'react';\nimport { DataListCell, DataListTextCell } from '../data-list-cells';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\nimport { McpServerIcon } from '@/ds/icons/McpServerIcon';\nimport { MemoryIcon } from '@/ds/icons/MemoryIcon';\nimport { ProcessorIcon } from '@/ds/icons/ProcessorIcon';\nimport { ScorersIcon } from '@/ds/icons/ScorersIcon';\nimport { ToolsIcon } from '@/ds/icons/ToolsIcon';\nimport { WorkflowIcon } from '@/ds/icons/WorkflowIcon';\nimport { cn } from '@/lib/utils';\n\n// ---------------------------------------------------------------------------\n// NameCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListNameCellProps {\n name?: string | null;\n /** `null`/missing → root span (Trace). Set → nested span (Subtrace). Drives the leading level icon. */\n parentSpanId?: string | null;\n /** When true, the leading level icon is wrapped in a Trace/Subtrace tooltip. Off by default —\n * only meaningful in branches mode, where rows mix root traces and subtraces. */\n showLevelTooltip?: boolean;\n}\n\nexport function TracesDataListNameCell({ name, parentSpanId, showLevelTooltip }: TracesDataListNameCellProps) {\n const isRoot = parentSpanId == null;\n const Icon = isRoot ? ListTreeIcon : CornerDownRightIcon;\n const label = isRoot ? 'Trace' : 'Subtrace';\n const icon = (\n <span aria-label={label} className=\"inline-flex shrink-0\">\n <Icon className={cn('size-4 shrink-0', isRoot ? 'text-muted-foreground' : 'text-placeholder')} aria-hidden />\n </span>\n );\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2 text-body-sm text-muted-foreground\">\n {showLevelTooltip ? (\n <Tooltip>\n <TooltipTrigger asChild>{icon}</TooltipTrigger>\n <TooltipContent>{label}</TooltipContent>\n </Tooltip>\n ) : (\n icon\n )}\n <span className=\"min-w-0 truncate\">{name || '-'}</span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListInputCellProps {\n input?: string | null;\n}\n\nexport function TracesDataListInputCell({ input }: TracesDataListInputCellProps) {\n return <DataListTextCell font=\"mono\">{input || '-'}</DataListTextCell>;\n}\n\n// ---------------------------------------------------------------------------\n// OutputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListOutputCellProps {\n output?: string;\n /** Shown instead of `output`, in the error color, when `status` is `'error'`. */\n error?: string;\n status?: string | null;\n}\n\nexport function TracesDataListOutputCell({ output, error, status }: TracesDataListOutputCellProps) {\n const failed = status === 'error';\n const errorColor = failed ? 'text-destructive-foreground' : undefined;\n return (\n <DataListTextCell font=\"mono\" className={errorColor}>\n {(failed ? error : output) || '-'}\n </DataListTextCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// TypeCell\n// ---------------------------------------------------------------------------\n\ntype EntityTypeDisplay = { label: string; Icon: ComponentType<SVGProps<SVGSVGElement>> };\n\n// Keys are lowercase `EntityType` enum values (plus legacy `workflow`).\nconst ENTITY_TYPE_DISPLAY: Record<string, EntityTypeDisplay> = {\n agent: { label: 'Agent', Icon: AgentIcon },\n workflow: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_run: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_step: { label: 'Step', Icon: WorkflowIcon },\n tool: { label: 'Tool', Icon: ToolsIcon },\n scorer: { label: 'Scorer', Icon: ScorersIcon },\n classifier: { label: 'Classifier', Icon: SplitIcon },\n memory: { label: 'Memory', Icon: MemoryIcon },\n mcp_server: { label: 'MCP Server', Icon: McpServerIcon },\n input_processor: { label: 'Processor', Icon: ProcessorIcon },\n input_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n tool_result_processor: { label: 'Processor', Icon: ProcessorIcon },\n rag_ingestion: { label: 'RAG', Icon: DatabaseIcon },\n trajectory: { label: 'Trajectory', Icon: RouteIcon },\n};\n\nexport interface TracesDataListTypeCellProps {\n entityType?: string | null;\n}\n\nexport function TracesDataListTypeCell({ entityType }: TracesDataListTypeCellProps) {\n const display = entityType ? ENTITY_TYPE_DISPLAY[entityType.toLowerCase()] : undefined;\n\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2\">\n {display ? (\n <>\n <display.Icon className=\"size-3.5 shrink-0 text-placeholder\" aria-hidden />\n <Txt as=\"span\" variant=\"body-sm\" className=\"min-w-0 truncate\">\n {display.label}\n </Txt>\n </>\n ) : (\n '-'\n )}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// StatusCell\n// ---------------------------------------------------------------------------\n\nconst UNSET_STATUS_CONFIG: { label: string; variant: BadgeVariant } = { label: '-', variant: 'neutral' };\n\nconst STATUS_CONFIG: Record<string, { label: string; variant: BadgeVariant }> = {\n completed: { label: 'OK', variant: 'success' },\n ok: { label: 'OK', variant: 'success' },\n success: { label: 'OK', variant: 'success' },\n error: { label: 'ERR', variant: 'destructive' },\n running: { label: 'RUN', variant: 'neutral' },\n unset: UNSET_STATUS_CONFIG,\n};\n\nexport interface TracesDataListStatusCellProps {\n status?: string | null;\n}\n\nexport function TracesDataListStatusCell({ status }: TracesDataListStatusCellProps) {\n const key = (status ?? 'unset').toLowerCase();\n const config = STATUS_CONFIG[key] ?? UNSET_STATUS_CONFIG;\n\n return (\n <DataListCell>\n <Badge size=\"xs\" variant={config.variant}>\n {config.label}\n </Badge>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListCreatedCell, DataListIdCell } from '../data-list-cells';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListSpacer } from '../data-list-spacer';\nimport { DataListSubheader } from '../data-list-subheader';\nimport { DataListSubHeading } from '../data-list-subheading';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell, DataListTopCellWithTooltip } from '../data-list-top-cell';\nimport {\n TracesDataListNameCell,\n TracesDataListInputCell,\n TracesDataListOutputCell,\n TracesDataListTypeCell,\n TracesDataListStatusCell,\n} from './traces-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as ScoresDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as ScoresDataList\nfunction TracesDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const TracesDataList = Object.assign(TracesDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n IdCell: DataListIdCell,\n CreatedCell: DataListCreatedCell,\n NameCell: TracesDataListNameCell,\n InputCell: TracesDataListInputCell,\n OutputCell: TracesDataListOutputCell,\n TypeCell: TracesDataListTypeCell,\n StatusCell: TracesDataListStatusCell,\n NextPageLoading: DataListNextPageLoading,\n});\n"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ const require_icons_AgentIcon = require("./icons/AgentIcon.cjs.js");
|
|
|
4
4
|
const require_icons_ToolsIcon = require("./icons/ToolsIcon.cjs.js");
|
|
5
5
|
const require_icons_WorkflowIcon = require("./icons/WorkflowIcon.cjs.js");
|
|
6
6
|
const require_Badge = require("./Badge-DZ6r6bcw.cjs");
|
|
7
|
-
const require_data_list = require("./data-list-
|
|
7
|
+
const require_data_list = require("./data-list-v93EXSHc.cjs");
|
|
8
8
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
9
9
|
// src/ds/components/LogsDataList/logs-data-list-cells.tsx
|
|
10
10
|
var LEVEL_VARIANT = {
|
|
@@ -98,4 +98,4 @@ Object.defineProperty(exports, "LogsDataList", {
|
|
|
98
98
|
}
|
|
99
99
|
});
|
|
100
100
|
|
|
101
|
-
//# sourceMappingURL=LogsDataList-
|
|
101
|
+
//# sourceMappingURL=LogsDataList-DQ-3y06q.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogsDataList-
|
|
1
|
+
{"version":3,"file":"LogsDataList-DQ-3y06q.cjs","names":["DataListCell","Badge","cn","AgentIcon","WorkflowIcon","ToolsIcon","Txt","DataListTextCell","DataListRoot","DataListTop","DataListTopCell","DataListSortableTopCell","DataListTopCellWithTooltip","DataListTopCellSmart","DataListRowWrapper","DataListRowButton","DataListRowLink","DataListSpacer","DataListNoMatch","DataListDateCell","DataListTimeCell","DataListNextPageLoading"],"sources":["../src/ds/components/LogsDataList/logs-data-list-cells.tsx","../src/ds/components/LogsDataList/logs-data-list.tsx"],"sourcesContent":["import { Badge } from '../Badge';\nimport type { BadgeVariant } from '../Badge';\nimport { DataListCell, DataListTextCell } from '../DataList/data-list-cells';\nimport { Txt } from '@/ds/components/Txt';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\nimport { ToolsIcon } from '@/ds/icons/ToolsIcon';\nimport { WorkflowIcon } from '@/ds/icons/WorkflowIcon';\nimport { cn } from '@/lib/utils';\n\ntype LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal';\n\nconst LEVEL_VARIANT: Record<LogLevel, BadgeVariant> = {\n debug: 'neutral',\n info: 'info',\n warn: 'warning',\n error: 'destructive',\n fatal: 'destructive',\n};\n\n// ---------------------------------------------------------------------------\n// LevelCell\n// ---------------------------------------------------------------------------\n\nexport interface LogsDataListLevelCellProps {\n level: LogLevel;\n}\n\nexport function LogsDataListLevelCell({ level }: LogsDataListLevelCellProps) {\n return (\n <DataListCell>\n <Badge variant={LEVEL_VARIANT[level]}>{level}</Badge>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nfunction EntityTypeIcon({ entityType, className }: { entityType: string; className?: string }) {\n const iconClass = cn('size-3.5 shrink-0 text-placeholder', className);\n const normalizedEntityType = entityType.toLowerCase();\n\n switch (normalizedEntityType) {\n case 'agent':\n return <AgentIcon className={iconClass} aria-hidden />;\n case 'workflow':\n case 'workflow_run':\n return <WorkflowIcon className={iconClass} aria-hidden />;\n case 'tool':\n return <ToolsIcon className={iconClass} aria-hidden />;\n default:\n return null;\n }\n}\n\nexport interface LogsDataListEntityCellProps {\n entityType?: string | null;\n entityName?: string | null;\n}\n\nexport function LogsDataListEntityCell({ entityType, entityName }: LogsDataListEntityCellProps) {\n const type = entityType ?? '';\n\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2\">\n <EntityTypeIcon entityType={type} />\n {entityName ? (\n <Txt as=\"span\" variant=\"body-sm\" className=\"min-w-0 truncate\">\n {entityName}\n </Txt>\n ) : (\n '-'\n )}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// MessageCell\n// ---------------------------------------------------------------------------\n\nexport interface LogsDataListMessageCellProps {\n message: string;\n}\n\nexport function LogsDataListMessageCell({ message }: LogsDataListMessageCellProps) {\n return (\n <DataListCell className=\"min-w-0 truncate font-mono text-body-sm text-muted-foreground\">{message}</DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// DataCell\n// ---------------------------------------------------------------------------\n\nexport interface LogsDataListDataCellProps {\n data?: Record<string, unknown> | null;\n}\n\nexport function LogsDataListDataCell({ data }: LogsDataListDataCellProps) {\n if (!data || Object.keys(data).length === 0) {\n return <DataListCell>{null}</DataListCell>;\n }\n\n const summary = Object.entries(data)\n .map(([k, v]) => {\n if (typeof v === 'string') return `${k}: ${v}`;\n try {\n return `${k}: ${JSON.stringify(v)}`;\n } catch {\n return `${k}: <unserializable>`;\n }\n })\n .join(', ');\n\n return <DataListTextCell font=\"mono\">{summary}</DataListTextCell>;\n}\n","import { DataListDateCell, DataListTimeCell } from '../DataList/data-list-cells';\nimport { DataListNextPageLoading } from '../DataList/data-list-next-page-loading';\nimport { DataListNoMatch } from '../DataList/data-list-no-match';\nimport { DataListRoot } from '../DataList/data-list-root';\nimport { DataListRowButton } from '../DataList/data-list-row-button';\nimport { DataListRowLink } from '../DataList/data-list-row-link';\nimport { DataListRowWrapper } from '../DataList/data-list-row-wrapper';\nimport { DataListSortableTopCell } from '../DataList/data-list-sortable-top-cell';\nimport { DataListSpacer } from '../DataList/data-list-spacer';\nimport { DataListTop } from '../DataList/data-list-top';\nimport { DataListTopCell, DataListTopCellWithTooltip, DataListTopCellSmart } from '../DataList/data-list-top-cell';\nimport {\n LogsDataListLevelCell,\n LogsDataListEntityCell,\n LogsDataListMessageCell,\n LogsDataListDataCell,\n} from './logs-data-list-cells';\n\nexport const LogsDataList = Object.assign(DataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n TopCellSmart: DataListTopCellSmart,\n RowWrapper: DataListRowWrapper,\n RowButton: DataListRowButton,\n RowLink: DataListRowLink,\n Spacer: DataListSpacer,\n NoMatch: DataListNoMatch,\n DateCell: DataListDateCell,\n TimeCell: DataListTimeCell,\n LevelCell: LogsDataListLevelCell,\n EntityCell: LogsDataListEntityCell,\n MessageCell: LogsDataListMessageCell,\n DataCell: LogsDataListDataCell,\n NextPageLoading: DataListNextPageLoading,\n});\n"],"mappings":";;;;;;;;;AAWA,IAAM,gBAAgD;CACpD,OAAO;CACP,MAAM;CACN,MAAM;CACN,OAAO;CACP,OAAO;AACT;AAUA,SAAgB,sBAAsB,EAAE,SAAqC;CAC3E,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,kBAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,OAAD;EAAO,SAAS,cAAc;EAAS,UAAA;CAAa,CAAA,EACxC,CAAA;AAElB;AAMA,SAAS,eAAe,EAAE,YAAY,aAAyD;CAC7F,MAAM,YAAYC,cAAAA,GAAG,sCAAsC,SAAS;CAGpE,QAF6B,WAAW,YAEhC,GAAR;EACE,KAAK,SACH,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,WAAD;GAAW,WAAW;GAAW,eAAA;EAAa,CAAA;EACvD,KAAK;EACL,KAAK,gBACH,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,2BAAAA,cAAD;GAAc,WAAW;GAAW,eAAA;EAAa,CAAA;EAC1D,KAAK,QACH,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,WAAD;GAAW,WAAW;GAAW,eAAA;EAAa,CAAA;EACvD,SACE,OAAO;CACX;AACF;AAOA,SAAgB,uBAAuB,EAAE,YAAY,cAA2C;CAG9F,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACL,kBAAAA,cAAD;EAAc,WAAU;EAAxB,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD,EAAgB,YAJP,cAAc,GAIY,CAAA,GAClC,aACC,iBAAA,GAAA,kBAAA,IAAA,CAACM,YAAAA,KAAD;GAAK,IAAG;GAAO,SAAQ;GAAU,WAAU;GACxC,UAAA;EACE,CAAA,IAEL,GAEU;;AAElB;AAUA,SAAgB,wBAAwB,EAAE,WAAyC;CACjF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACN,kBAAAA,cAAD;EAAc,WAAU;EAAiE,UAAA;CAAsB,CAAA;AAEnH;AAUA,SAAgB,qBAAqB,EAAE,QAAmC;CACxE,IAAI,CAAC,QAAQ,OAAO,KAAK,IAAI,CAAC,CAAC,WAAW,GACxC,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACA,kBAAAA,cAAD,EAAA,UAAe,KAAmB,CAAA;CAG3C,MAAM,UAAU,OAAO,QAAQ,IAAI,CAAC,CACjC,KAAK,CAAC,GAAG,OAAO;EACf,IAAI,OAAO,MAAM,UAAU,OAAO,GAAG,EAAE,IAAI;EAC3C,IAAI;GACF,OAAO,GAAG,EAAE,IAAI,KAAK,UAAU,CAAC;EAClC,QAAQ;GACN,OAAO,GAAG,EAAE;EACd;CACF,CAAC,CAAC,CACD,KAAK,IAAI;CAEZ,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACO,kBAAAA,kBAAD;EAAkB,MAAK;EAAQ,UAAA;CAA0B,CAAA;AAClE;;ACnGA,IAAa,eAAe,OAAO,OAAOC,kBAAAA,cAAc;CACtD,KAAKC,kBAAAA;CACL,SAASC,kBAAAA;CACT,iBAAiBC,kBAAAA;CACjB,oBAAoBC,kBAAAA;CACpB,cAAcC,kBAAAA;CACd,YAAYC,kBAAAA;CACZ,WAAWC,kBAAAA;CACX,SAASC,kBAAAA;CACT,QAAQC,kBAAAA;CACR,SAASC,kBAAAA;CACT,UAAUC,kBAAAA;CACV,UAAUC,kBAAAA;CACV,WAAW;CACX,YAAY;CACZ,aAAa;CACb,UAAU;CACV,iBAAiBC,kBAAAA;AACnB,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { AgentIcon } from "./icons/AgentIcon.es.js";
|
|
|
4
4
|
import { ToolsIcon } from "./icons/ToolsIcon.es.js";
|
|
5
5
|
import { WorkflowIcon } from "./icons/WorkflowIcon.es.js";
|
|
6
6
|
import { t as Badge } from "./Badge-aVu5iGAF.js";
|
|
7
|
-
import { a as DataListSpacer, b as DataListTextCell, c as DataListTopCellSmart, d as DataListRowLink, f as DataListRowButton, g as DataListCell, h as DataListNextPageLoading, l as DataListTopCellWithTooltip, m as DataListNoMatch, n as DataListTop, o as DataListSortableTopCell, p as DataListRoot, s as DataListTopCell, u as DataListRowWrapper, v as DataListDateCell, x as DataListTimeCell } from "./data-list-
|
|
7
|
+
import { a as DataListSpacer, b as DataListTextCell, c as DataListTopCellSmart, d as DataListRowLink, f as DataListRowButton, g as DataListCell, h as DataListNextPageLoading, l as DataListTopCellWithTooltip, m as DataListNoMatch, n as DataListTop, o as DataListSortableTopCell, p as DataListRoot, s as DataListTopCell, u as DataListRowWrapper, v as DataListDateCell, x as DataListTimeCell } from "./data-list-DjSo5V1C.js";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
// src/ds/components/LogsDataList/logs-data-list-cells.tsx
|
|
10
10
|
var LEVEL_VARIANT = {
|
|
@@ -93,4 +93,4 @@ var LogsDataList = Object.assign(DataListRoot, {
|
|
|
93
93
|
});
|
|
94
94
|
export { LogsDataList as t };
|
|
95
95
|
|
|
96
|
-
//# sourceMappingURL=LogsDataList-
|
|
96
|
+
//# sourceMappingURL=LogsDataList-DyVM83Rx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogsDataList-
|
|
1
|
+
{"version":3,"file":"LogsDataList-DyVM83Rx.js","names":[],"sources":["../src/ds/components/LogsDataList/logs-data-list-cells.tsx","../src/ds/components/LogsDataList/logs-data-list.tsx"],"sourcesContent":["import { Badge } from '../Badge';\nimport type { BadgeVariant } from '../Badge';\nimport { DataListCell, DataListTextCell } from '../DataList/data-list-cells';\nimport { Txt } from '@/ds/components/Txt';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\nimport { ToolsIcon } from '@/ds/icons/ToolsIcon';\nimport { WorkflowIcon } from '@/ds/icons/WorkflowIcon';\nimport { cn } from '@/lib/utils';\n\ntype LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal';\n\nconst LEVEL_VARIANT: Record<LogLevel, BadgeVariant> = {\n debug: 'neutral',\n info: 'info',\n warn: 'warning',\n error: 'destructive',\n fatal: 'destructive',\n};\n\n// ---------------------------------------------------------------------------\n// LevelCell\n// ---------------------------------------------------------------------------\n\nexport interface LogsDataListLevelCellProps {\n level: LogLevel;\n}\n\nexport function LogsDataListLevelCell({ level }: LogsDataListLevelCellProps) {\n return (\n <DataListCell>\n <Badge variant={LEVEL_VARIANT[level]}>{level}</Badge>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nfunction EntityTypeIcon({ entityType, className }: { entityType: string; className?: string }) {\n const iconClass = cn('size-3.5 shrink-0 text-placeholder', className);\n const normalizedEntityType = entityType.toLowerCase();\n\n switch (normalizedEntityType) {\n case 'agent':\n return <AgentIcon className={iconClass} aria-hidden />;\n case 'workflow':\n case 'workflow_run':\n return <WorkflowIcon className={iconClass} aria-hidden />;\n case 'tool':\n return <ToolsIcon className={iconClass} aria-hidden />;\n default:\n return null;\n }\n}\n\nexport interface LogsDataListEntityCellProps {\n entityType?: string | null;\n entityName?: string | null;\n}\n\nexport function LogsDataListEntityCell({ entityType, entityName }: LogsDataListEntityCellProps) {\n const type = entityType ?? '';\n\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2\">\n <EntityTypeIcon entityType={type} />\n {entityName ? (\n <Txt as=\"span\" variant=\"body-sm\" className=\"min-w-0 truncate\">\n {entityName}\n </Txt>\n ) : (\n '-'\n )}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// MessageCell\n// ---------------------------------------------------------------------------\n\nexport interface LogsDataListMessageCellProps {\n message: string;\n}\n\nexport function LogsDataListMessageCell({ message }: LogsDataListMessageCellProps) {\n return (\n <DataListCell className=\"min-w-0 truncate font-mono text-body-sm text-muted-foreground\">{message}</DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// DataCell\n// ---------------------------------------------------------------------------\n\nexport interface LogsDataListDataCellProps {\n data?: Record<string, unknown> | null;\n}\n\nexport function LogsDataListDataCell({ data }: LogsDataListDataCellProps) {\n if (!data || Object.keys(data).length === 0) {\n return <DataListCell>{null}</DataListCell>;\n }\n\n const summary = Object.entries(data)\n .map(([k, v]) => {\n if (typeof v === 'string') return `${k}: ${v}`;\n try {\n return `${k}: ${JSON.stringify(v)}`;\n } catch {\n return `${k}: <unserializable>`;\n }\n })\n .join(', ');\n\n return <DataListTextCell font=\"mono\">{summary}</DataListTextCell>;\n}\n","import { DataListDateCell, DataListTimeCell } from '../DataList/data-list-cells';\nimport { DataListNextPageLoading } from '../DataList/data-list-next-page-loading';\nimport { DataListNoMatch } from '../DataList/data-list-no-match';\nimport { DataListRoot } from '../DataList/data-list-root';\nimport { DataListRowButton } from '../DataList/data-list-row-button';\nimport { DataListRowLink } from '../DataList/data-list-row-link';\nimport { DataListRowWrapper } from '../DataList/data-list-row-wrapper';\nimport { DataListSortableTopCell } from '../DataList/data-list-sortable-top-cell';\nimport { DataListSpacer } from '../DataList/data-list-spacer';\nimport { DataListTop } from '../DataList/data-list-top';\nimport { DataListTopCell, DataListTopCellWithTooltip, DataListTopCellSmart } from '../DataList/data-list-top-cell';\nimport {\n LogsDataListLevelCell,\n LogsDataListEntityCell,\n LogsDataListMessageCell,\n LogsDataListDataCell,\n} from './logs-data-list-cells';\n\nexport const LogsDataList = Object.assign(DataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n TopCellSmart: DataListTopCellSmart,\n RowWrapper: DataListRowWrapper,\n RowButton: DataListRowButton,\n RowLink: DataListRowLink,\n Spacer: DataListSpacer,\n NoMatch: DataListNoMatch,\n DateCell: DataListDateCell,\n TimeCell: DataListTimeCell,\n LevelCell: LogsDataListLevelCell,\n EntityCell: LogsDataListEntityCell,\n MessageCell: LogsDataListMessageCell,\n DataCell: LogsDataListDataCell,\n NextPageLoading: DataListNextPageLoading,\n});\n"],"mappings":";;;;;;;;;AAWA,IAAM,gBAAgD;CACpD,OAAO;CACP,MAAM;CACN,MAAM;CACN,OAAO;CACP,OAAO;AACT;AAUA,SAAgB,sBAAsB,EAAE,SAAqC;CAC3E,OACE,oBAAC,cAAD,EAAA,UACE,oBAAC,OAAD;EAAO,SAAS,cAAc;EAAS,UAAA;CAAa,CAAA,EACxC,CAAA;AAElB;AAMA,SAAS,eAAe,EAAE,YAAY,aAAyD;CAC7F,MAAM,YAAY,GAAG,sCAAsC,SAAS;CAGpE,QAF6B,WAAW,YAEhC,GAAR;EACE,KAAK,SACH,OAAO,oBAAC,WAAD;GAAW,WAAW;GAAW,eAAA;EAAa,CAAA;EACvD,KAAK;EACL,KAAK,gBACH,OAAO,oBAAC,cAAD;GAAc,WAAW;GAAW,eAAA;EAAa,CAAA;EAC1D,KAAK,QACH,OAAO,oBAAC,WAAD;GAAW,WAAW;GAAW,eAAA;EAAa,CAAA;EACvD,SACE,OAAO;CACX;AACF;AAOA,SAAgB,uBAAuB,EAAE,YAAY,cAA2C;CAG9F,OACE,qBAAC,cAAD;EAAc,WAAU;EAAxB,UAAA,CACE,oBAAC,gBAAD,EAAgB,YAJP,cAAc,GAIY,CAAA,GAClC,aACC,oBAAC,KAAD;GAAK,IAAG;GAAO,SAAQ;GAAU,WAAU;GACxC,UAAA;EACE,CAAA,IAEL,GAEU;;AAElB;AAUA,SAAgB,wBAAwB,EAAE,WAAyC;CACjF,OACE,oBAAC,cAAD;EAAc,WAAU;EAAiE,UAAA;CAAsB,CAAA;AAEnH;AAUA,SAAgB,qBAAqB,EAAE,QAAmC;CACxE,IAAI,CAAC,QAAQ,OAAO,KAAK,IAAI,CAAC,CAAC,WAAW,GACxC,OAAO,oBAAC,cAAD,EAAA,UAAe,KAAmB,CAAA;CAG3C,MAAM,UAAU,OAAO,QAAQ,IAAI,CAAC,CACjC,KAAK,CAAC,GAAG,OAAO;EACf,IAAI,OAAO,MAAM,UAAU,OAAO,GAAG,EAAE,IAAI;EAC3C,IAAI;GACF,OAAO,GAAG,EAAE,IAAI,KAAK,UAAU,CAAC;EAClC,QAAQ;GACN,OAAO,GAAG,EAAE;EACd;CACF,CAAC,CAAC,CACD,KAAK,IAAI;CAEZ,OAAO,oBAAC,kBAAD;EAAkB,MAAK;EAAQ,UAAA;CAA0B,CAAA;AAClE;;ACnGA,IAAa,eAAe,OAAO,OAAO,cAAc;CACtD,KAAK;CACL,SAAS;CACT,iBAAiB;CACjB,oBAAoB;CACpB,cAAc;CACd,YAAY;CACZ,WAAW;CACX,SAAS;CACT,QAAQ;CACR,SAAS;CACT,UAAU;CACV,UAAU;CACV,WAAW;CACX,YAAY;CACZ,aAAa;CACb,UAAU;CACV,iBAAiB;AACnB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_AttachmentCard = require("../AttachmentCard-
|
|
2
|
+
const require_AttachmentCard = require("../AttachmentCard-CciBqu7E.cjs");
|
|
3
3
|
exports.AttachmentCard = require_AttachmentCard.AttachmentCard;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as AttachmentCard } from "../AttachmentCard-
|
|
1
|
+
export { t as AttachmentCard } from "../AttachmentCard-DbGp7TYl.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_data_list = require("../data-list-
|
|
3
|
-
const require_DataList = require("../DataList-
|
|
4
|
-
const require_tabbed_container = require("../tabbed-container-
|
|
2
|
+
const require_data_list = require("../data-list-v93EXSHc.cjs");
|
|
3
|
+
const require_DataList = require("../DataList-DlmchFgW.cjs");
|
|
4
|
+
const require_tabbed_container = require("../tabbed-container-Dt9F_Lb5.cjs");
|
|
5
5
|
const require_use_data_list_keyboard = require("../use-data-list-keyboard-BCLBdaWR.cjs");
|
|
6
6
|
exports.DataList = require_data_list.DataList;
|
|
7
7
|
exports.DataListSkeleton = require_DataList.DataListSkeleton;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as DataList } from "../data-list-
|
|
2
|
-
import { i as DataListSkeletonRows, n as ScoresDataList, r as DataListSkeleton, t as TracesDataList } from "../DataList-
|
|
3
|
-
import { t as TabbedContainer } from "../tabbed-container-
|
|
1
|
+
import { t as DataList } from "../data-list-DjSo5V1C.js";
|
|
2
|
+
import { i as DataListSkeletonRows, n as ScoresDataList, r as DataListSkeleton, t as TracesDataList } from "../DataList-Bg533xtT.js";
|
|
3
|
+
import { t as TabbedContainer } from "../tabbed-container-DHmygeKi.js";
|
|
4
4
|
import { t as useDataListKeyboard } from "../use-data-list-keyboard-fJXq2T3y.js";
|
|
5
5
|
export { DataList, DataListSkeleton, DataListSkeletonRows, ScoresDataList, TabbedContainer, TracesDataList, useDataListKeyboard };
|
|
@@ -6,7 +6,7 @@ const require_hooks_use_copy_to_clipboard = require("../hooks/use-copy-to-clipbo
|
|
|
6
6
|
const require_Notice = require("../Notice-DWNeCe-t.cjs");
|
|
7
7
|
const require_components_Field = require("./Field.cjs.js");
|
|
8
8
|
const require_input_group = require("../input-group-uDpFNnSW.cjs");
|
|
9
|
-
const require_data_list = require("../data-list-
|
|
9
|
+
const require_data_list = require("../data-list-v93EXSHc.cjs");
|
|
10
10
|
const require_env_file = require("../env-file-CuxvmI0O.cjs");
|
|
11
11
|
let react = require("react");
|
|
12
12
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -5,7 +5,7 @@ import { useCopyToClipboard } from "../hooks/use-copy-to-clipboard.es.js";
|
|
|
5
5
|
import { t as Notice } from "../Notice-CyKngbbv.js";
|
|
6
6
|
import { Field, FieldError, FieldLabel } from "./Field.es.js";
|
|
7
7
|
import { i as InputGroupInput, n as InputGroupAddon, r as InputGroupButton, t as InputGroup } from "../input-group-g85FYfze.js";
|
|
8
|
-
import { t as DataList } from "../data-list-
|
|
8
|
+
import { t as DataList } from "../data-list-DjSo5V1C.js";
|
|
9
9
|
import { t as DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE } from "../env-file-Dla5M95q.js";
|
|
10
10
|
import { createContext, use, useMemo, useState } from "react";
|
|
11
11
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|