@agent-native/toolkit 0.214.0 → 0.216.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.
Files changed (128) hide show
  1. package/dist/app/agentkit/react/chat.d.ts.map +1 -1
  2. package/dist/app/agentkit/react/chat.js +2 -2
  3. package/dist/app/agentkit/react/chat.js.map +1 -1
  4. package/dist/app/agentkit/react/components.d.ts +4 -1
  5. package/dist/app/agentkit/react/components.d.ts.map +1 -1
  6. package/dist/app/agentkit/react/components.js +69 -15
  7. package/dist/app/agentkit/react/components.js.map +1 -1
  8. package/dist/app/agentkit/react/context.d.ts +7 -1
  9. package/dist/app/agentkit/react/context.d.ts.map +1 -1
  10. package/dist/app/agentkit/react/context.js +5 -1
  11. package/dist/app/agentkit/react/context.js.map +1 -1
  12. package/dist/app/agentkit/react/index.d.ts +1 -0
  13. package/dist/app/agentkit/react/index.d.ts.map +1 -1
  14. package/dist/app/agentkit/react/index.js +1 -0
  15. package/dist/app/agentkit/react/index.js.map +1 -1
  16. package/dist/app/agentkit/react/root.d.ts +4 -1
  17. package/dist/app/agentkit/react/root.d.ts.map +1 -1
  18. package/dist/app/agentkit/react/root.js +2 -2
  19. package/dist/app/agentkit/react/root.js.map +1 -1
  20. package/dist/app/agentkit/react/styles.css +43 -6
  21. package/dist/app/agentkit/react/transcript-layout.d.ts +51 -0
  22. package/dist/app/agentkit/react/transcript-layout.d.ts.map +1 -0
  23. package/dist/app/agentkit/react/transcript-layout.js +34 -0
  24. package/dist/app/agentkit/react/transcript-layout.js.map +1 -0
  25. package/dist/app/chat/AgentKitAssistantChat.d.ts.map +1 -1
  26. package/dist/app/chat/AgentKitAssistantChat.js +3 -3
  27. package/dist/app/chat/AgentKitAssistantChat.js.map +1 -1
  28. package/dist/app/chat/AgentPanel.d.ts +2 -0
  29. package/dist/app/chat/AgentPanel.d.ts.map +1 -1
  30. package/dist/app/chat/AgentPanel.js +6 -2
  31. package/dist/app/chat/AgentPanel.js.map +1 -1
  32. package/dist/app/chat/chat/index.d.ts +2 -0
  33. package/dist/app/chat/chat/index.d.ts.map +1 -1
  34. package/dist/app/chat/chat/index.js.map +1 -1
  35. package/dist/app/chat/chat/surface-types.d.ts +7 -0
  36. package/dist/app/chat/chat/surface-types.d.ts.map +1 -1
  37. package/dist/app/chat/chat/surface-types.js.map +1 -1
  38. package/dist/app/chat/chat/tool-call-display.d.ts +7 -2
  39. package/dist/app/chat/chat/tool-call-display.d.ts.map +1 -1
  40. package/dist/app/chat/chat/tool-call-display.js +10 -9
  41. package/dist/app/chat/chat/tool-call-display.js.map +1 -1
  42. package/dist/app/chat/chat/widgets/DataChartRenderer.d.ts.map +1 -1
  43. package/dist/app/chat/chat/widgets/DataChartRenderer.js +196 -26
  44. package/dist/app/chat/chat/widgets/DataChartRenderer.js.map +1 -1
  45. package/dist/app/chat/chat/widgets/DataChartWidget.d.ts.map +1 -1
  46. package/dist/app/chat/chat/widgets/DataChartWidget.js +5 -1
  47. package/dist/app/chat/chat/widgets/DataChartWidget.js.map +1 -1
  48. package/dist/app/chat/chat/widgets/DataWidgetDisplayControls.d.ts +2 -2
  49. package/dist/app/chat/chat/widgets/DataWidgetDisplayControls.d.ts.map +1 -1
  50. package/dist/app/chat/chat/widgets/DataWidgetDisplayControls.js +6 -4
  51. package/dist/app/chat/chat/widgets/DataWidgetDisplayControls.js.map +1 -1
  52. package/dist/app/i18n/catalogs/ar-SA.d.ts.map +1 -1
  53. package/dist/app/i18n/catalogs/ar-SA.js +1 -0
  54. package/dist/app/i18n/catalogs/ar-SA.js.map +1 -1
  55. package/dist/app/i18n/catalogs/de-DE.d.ts.map +1 -1
  56. package/dist/app/i18n/catalogs/de-DE.js +1 -0
  57. package/dist/app/i18n/catalogs/de-DE.js.map +1 -1
  58. package/dist/app/i18n/catalogs/en-US.d.ts +1 -0
  59. package/dist/app/i18n/catalogs/en-US.d.ts.map +1 -1
  60. package/dist/app/i18n/catalogs/en-US.js +1 -0
  61. package/dist/app/i18n/catalogs/en-US.js.map +1 -1
  62. package/dist/app/i18n/catalogs/es-ES.d.ts.map +1 -1
  63. package/dist/app/i18n/catalogs/es-ES.js +1 -0
  64. package/dist/app/i18n/catalogs/es-ES.js.map +1 -1
  65. package/dist/app/i18n/catalogs/fr-FR.d.ts.map +1 -1
  66. package/dist/app/i18n/catalogs/fr-FR.js +1 -0
  67. package/dist/app/i18n/catalogs/fr-FR.js.map +1 -1
  68. package/dist/app/i18n/catalogs/hi-IN.d.ts.map +1 -1
  69. package/dist/app/i18n/catalogs/hi-IN.js +1 -0
  70. package/dist/app/i18n/catalogs/hi-IN.js.map +1 -1
  71. package/dist/app/i18n/catalogs/ja-JP.d.ts.map +1 -1
  72. package/dist/app/i18n/catalogs/ja-JP.js +1 -0
  73. package/dist/app/i18n/catalogs/ja-JP.js.map +1 -1
  74. package/dist/app/i18n/catalogs/ko-KR.d.ts.map +1 -1
  75. package/dist/app/i18n/catalogs/ko-KR.js +1 -0
  76. package/dist/app/i18n/catalogs/ko-KR.js.map +1 -1
  77. package/dist/app/i18n/catalogs/pt-BR.d.ts.map +1 -1
  78. package/dist/app/i18n/catalogs/pt-BR.js +1 -0
  79. package/dist/app/i18n/catalogs/pt-BR.js.map +1 -1
  80. package/dist/app/i18n/catalogs/zh-CN.d.ts.map +1 -1
  81. package/dist/app/i18n/catalogs/zh-CN.js +1 -0
  82. package/dist/app/i18n/catalogs/zh-CN.js.map +1 -1
  83. package/dist/app/i18n/catalogs/zh-TW.d.ts.map +1 -1
  84. package/dist/app/i18n/catalogs/zh-TW.js +1 -0
  85. package/dist/app/i18n/catalogs/zh-TW.js.map +1 -1
  86. package/dist/composer/ComposerContextBanner.d.ts +3 -1
  87. package/dist/composer/ComposerContextBanner.d.ts.map +1 -1
  88. package/dist/composer/ComposerContextBanner.js +2 -2
  89. package/dist/composer/ComposerContextBanner.js.map +1 -1
  90. package/package.json +3 -3
  91. package/src/app/agentkit/react/chat.tsx +2 -0
  92. package/src/app/agentkit/react/components.interaction.spec.tsx +107 -0
  93. package/src/app/agentkit/react/components.spec.tsx +28 -1
  94. package/src/app/agentkit/react/components.tsx +153 -17
  95. package/src/app/agentkit/react/context.tsx +12 -0
  96. package/src/app/agentkit/react/index.ts +1 -0
  97. package/src/app/agentkit/react/lifecycle.spec.tsx +186 -16
  98. package/src/app/agentkit/react/root.tsx +7 -0
  99. package/src/app/agentkit/react/styles.css +43 -6
  100. package/src/app/agentkit/react/transcript-layout.spec.ts +72 -0
  101. package/src/app/agentkit/react/transcript-layout.ts +97 -0
  102. package/src/app/auth/AuthPage.attribution.spec.tsx +6 -0
  103. package/src/app/chat/AgentKitAssistantChat.spec.tsx +39 -0
  104. package/src/app/chat/AgentKitAssistantChat.tsx +5 -0
  105. package/src/app/chat/AgentPanel.page-header-share.spec.tsx +101 -0
  106. package/src/app/chat/AgentPanel.tsx +14 -2
  107. package/src/app/chat/chat/index.ts +2 -0
  108. package/src/app/chat/chat/surface-types.ts +10 -0
  109. package/src/app/chat/chat/tool-call-display.spec.tsx +83 -0
  110. package/src/app/chat/chat/tool-call-display.tsx +40 -8
  111. package/src/app/chat/chat/widgets/DataChartRenderer.spec.tsx +632 -0
  112. package/src/app/chat/chat/widgets/DataChartRenderer.tsx +308 -51
  113. package/src/app/chat/chat/widgets/DataChartWidget.spec.tsx +126 -23
  114. package/src/app/chat/chat/widgets/DataChartWidget.tsx +10 -0
  115. package/src/app/chat/chat/widgets/DataWidgetDisplayControls.tsx +26 -6
  116. package/src/app/i18n/catalogs/ar-SA.ts +1 -0
  117. package/src/app/i18n/catalogs/de-DE.ts +2 -0
  118. package/src/app/i18n/catalogs/en-US.ts +2 -0
  119. package/src/app/i18n/catalogs/es-ES.ts +2 -0
  120. package/src/app/i18n/catalogs/fr-FR.ts +2 -0
  121. package/src/app/i18n/catalogs/hi-IN.ts +1 -0
  122. package/src/app/i18n/catalogs/ja-JP.ts +2 -0
  123. package/src/app/i18n/catalogs/ko-KR.ts +1 -0
  124. package/src/app/i18n/catalogs/pt-BR.ts +2 -0
  125. package/src/app/i18n/catalogs/zh-CN.ts +1 -0
  126. package/src/app/i18n/catalogs/zh-TW.ts +1 -0
  127. package/src/composer/ComposerContextBanner.spec.tsx +31 -5
  128. package/src/composer/ComposerContextBanner.tsx +7 -2
@@ -11,6 +11,7 @@ import { Popover, PopoverContent, PopoverTrigger, } from "@agent-native/toolkit/
11
11
  import { cn } from "@agent-native/toolkit/utils";
12
12
  import { IconAlertTriangle, IconCheck, IconChevronRight, IconCopy, IconCode, IconTerminal2, IconDatabase, IconSearch, IconFileCode, } from "@tabler/icons-react";
13
13
  import React, { useState, useEffect, useCallback, useLayoutEffect, useRef, } from "react";
14
+ import { workedForRowChevronStyle, workedForRowSummaryStyle, } from "../../agentkit/react/transcript-layout.js";
14
15
  import { AgentTaskCard } from "../AgentTaskCard.js";
15
16
  import { ConnectBuilderCard } from "../ConnectBuilderCard.js";
16
17
  import { FileStorageSetupPopover } from "../FileStorageSetupPopover.js";
@@ -280,7 +281,7 @@ function ApprovalAffordance({ toolName, toolCallId, approval, }) {
280
281
  ctx?.onDeny?.(approval.approvalKey);
281
282
  }, onAlwaysAllow: onAlwaysAllow ? handleAlwaysAllow : undefined }));
282
283
  }
283
- export function ToolCallDisplay({ toolName, toolCallId, argsText, args, result, mcpApp, chatUI, isRunning, isError, outcome, structuredMeta, activity, approval, repeatCount, isLatestRunning = isRunning, isActiveTail, }) {
284
+ export function ToolCallDisplay({ toolName, toolCallId, argsText, args, result, mcpApp, chatUI, isRunning, isError, outcome, structuredMeta, activity, approval, repeatCount, isLatestRunning = isRunning, isActiveTail, workedForRowLayout, formatWorkedForDuration, }) {
284
285
  const { items: agentChatContextItems } = useAgentChatContext(toolName === "connect-builder");
285
286
  const builderContext = toolName === "connect-builder"
286
287
  ? formatAgentChatContextItemsForPrompt(agentChatContextItems)
@@ -309,10 +310,10 @@ export function ToolCallDisplay({ toolName, toolCallId, argsText, args, result,
309
310
  if (!isError && toolKind === "write") {
310
311
  return wrapToolDisplay(_jsx(WriteCell, { meta: structuredMeta, isRunning: effectiveIsRunning }));
311
312
  }
312
- return wrapToolDisplay(_jsx(ToolCallDisplayGeneric, { toolName: toolName, toolCallId: toolCallId, argsText: argsText, args: args, result: result, mcpApp: mcpApp, chatUI: chatUI, isRunning: effectiveIsRunning, isError: isError, outcome: outcome, isActiveTail: showActiveTail, structuredMeta: structuredMeta, approval: approval, repeatCount: repeatCount, context: builderContext }));
313
+ return wrapToolDisplay(_jsx(ToolCallDisplayGeneric, { toolName: toolName, toolCallId: toolCallId, argsText: argsText, args: args, result: result, mcpApp: mcpApp, chatUI: chatUI, isRunning: effectiveIsRunning, isError: isError, outcome: outcome, isActiveTail: showActiveTail, structuredMeta: structuredMeta, approval: approval, repeatCount: repeatCount, context: builderContext, workedForRowLayout: workedForRowLayout, formatWorkedForDuration: formatWorkedForDuration }));
313
314
  }
314
315
  const WorkSummaryContentContext = React.createContext(false);
315
- function ToolCallDisplayGeneric({ toolName, toolCallId, argsText, args, result, mcpApp, chatUI, isRunning, isError = false, outcome, isActiveTail, structuredMeta, approval, repeatCount, context, }) {
316
+ function ToolCallDisplayGeneric({ toolName, toolCallId, argsText, args, result, mcpApp, chatUI, isRunning, isError = false, outcome, isActiveTail, structuredMeta, approval, repeatCount, context, workedForRowLayout, formatWorkedForDuration, }) {
316
317
  const t = useT();
317
318
  const embeddedInWorkSummary = React.useContext(WorkSummaryContentContext);
318
319
  const suppressInlineOpenApp = React.useContext(SuppressInlineOpenAppContext);
@@ -435,7 +436,7 @@ function ToolCallDisplayGeneric({ toolName, toolCallId, argsText, args, result,
435
436
  ? result || t("agentChat.tool.failedWithoutDetails")
436
437
  : undefined, durationMs: typeof structuredMeta?.agentDurationMs === "number"
437
438
  ? structuredMeta.agentDurationMs
438
- : agentActivity?.durationMs }));
439
+ : agentActivity?.durationMs, workedForRowLayout: workedForRowLayout, formatWorkedForDuration: formatWorkedForDuration }));
439
440
  }
440
441
  return (_jsxs("div", { className: "group/tool my-0.5 w-full overflow-hidden", children: [mcpApp &&
441
442
  !(suppressInlineOpenApp && toolName === "open_app") && (_jsx("div", { ...(isError ? SESSION_REPLAY_BLOCK_PROPS : {}), children: _jsx(McpAppRenderer, { app: mcpApp, className: "mb-1.5" }) })), _jsxs("button", { type: "button", onClick: () => canExpand && setExpanded(!isExpanded), "aria-expanded": canExpand ? isExpanded : undefined, className: cn("agent-kit-density flex w-full items-center gap-1.5 rounded-md py-0.5 text-left text-muted-foreground transition-colors", canExpand && "hover:text-foreground", isRunning && "text-muted-foreground"), children: [_jsx("span", { className: cn("relative flex shrink-0 items-center justify-center", integration ? "size-5" : "size-4"), children: integration ? (_jsx(IntegrationToolBadge, { integration: integration })) : isRunning ? (_jsx(CubeLoader, { "aria-hidden": "true", className: "size-3.5" })) : isUnknownOutcome ? (_jsx(IconAlertTriangle, { className: "size-3.5 text-muted-foreground" })) : (_jsxs(_Fragment, { children: [_jsx(ToolIcon, { className: cn("size-3.5 transition-opacity", canExpand && "group-hover/tool:opacity-0") }), canExpand && (_jsx(IconChevronRight, { className: cn("absolute size-3.5 opacity-0 transition-[opacity,transform] group-hover/tool:opacity-100", isExpanded && "rotate-90") }))] })) }), _jsx("span", { className: cn("min-w-0 truncate font-normal", (isActiveTail || (integration && isRunning)) &&
@@ -449,7 +450,7 @@ function ToolCallDisplayGeneric({ toolName, toolCallId, argsText, args, result,
449
450
  tool: toolName,
450
451
  }), className: "inline-flex size-6 items-center justify-center rounded-md text-muted-foreground/70 transition-colors hover:bg-accent hover:text-foreground", children: _jsx(IconCode, { className: "size-3.5" }) }) })) : null] }) }), isUnknownOutcome && (_jsx("p", { role: "status", className: cn("text-xs text-muted-foreground", !embeddedInWorkSummary && "ps-5"), children: t("agentChat.tool.interrupted") })), approval && (_jsx(ApprovalAffordance, { toolName: toolName, toolCallId: toolCallId, approval: approval }, approval.askId ?? approval.approvalKey))] }));
451
452
  }
452
- function AgentCallCell({ agentName, toolCallId, activity, progress, responseText, isRunning, isError, errorText, durationMs, }) {
453
+ function AgentCallCell({ agentName, toolCallId, activity, progress, responseText, isRunning, isError, errorText, durationMs, workedForRowLayout, formatWorkedForDuration, }) {
453
454
  const t = useT();
454
455
  const formatDuration = useLocalizedWorkedDuration();
455
456
  const [open, setOpen] = useState(!isError);
@@ -501,7 +502,7 @@ function AgentCallCell({ agentName, toolCallId, activity, progress, responseText
501
502
  .join(" · ")
502
503
  : null;
503
504
  return (_jsxs("div", { className: "group/tool my-0.5 w-full", children: [_jsxs("button", { type: "button", onClick: () => setOpen((value) => !value), "aria-expanded": open, className: "agent-kit-density flex w-full items-center gap-1.5 rounded-md py-0.5 text-left text-muted-foreground transition-colors hover:text-foreground", children: [isRunning ? (_jsx(CubeLoader, { "aria-hidden": "true", className: "size-3.5" })) : (_jsx(IconChevronRight, { className: cn("size-3.5 transition-transform", open && "rotate-90") })), _jsx("span", { className: cn("min-w-0 truncate font-normal", isRunning && "agent-running-shimmer"), children: label })] }), _jsx(AnimatedCollapse, { open: open, children: _jsxs("div", { className: "pt-1", children: [workContent &&
504
- (isRunning ? (workContent) : (_jsx(WorkedForSummary, { durationMs: durationMs, children: workContent }))), progressText && (_jsx("p", { className: "pb-1 text-xs text-muted-foreground", "data-testid": "agent-call-progress", "aria-live": "polite", children: progressText })), finalText && (_jsx("div", { className: "pb-1", children: _jsx(SmoothMarkdownText, { text: finalText, streaming: isRunning, resetKey: `agent-response-${responseKey}`, statusType: isRunning ? "running" : "complete" }) })), isError && errorText ? (_jsx("div", { ...SESSION_REPLAY_MASK_PROPS, className: "max-h-56 overflow-auto whitespace-pre-wrap break-words rounded-md bg-muted/70 px-2.5 py-1 text-xs text-muted-foreground", children: errorText })) : null] }) })] }));
505
+ (isRunning ? (workContent) : (_jsx(WorkedForSummary, { durationMs: durationMs, layout: workedForRowLayout, formatWorkedForDuration: formatWorkedForDuration, children: workContent }))), progressText && (_jsx("p", { className: "pb-1 text-xs text-muted-foreground", "data-testid": "agent-call-progress", "aria-live": "polite", children: progressText })), finalText && (_jsx("div", { className: "pb-1", children: _jsx(SmoothMarkdownText, { text: finalText, streaming: isRunning, resetKey: `agent-response-${responseKey}`, statusType: isRunning ? "running" : "complete" }) })), isError && errorText ? (_jsx("div", { ...SESSION_REPLAY_MASK_PROPS, className: "max-h-56 overflow-auto whitespace-pre-wrap break-words rounded-md bg-muted/70 px-2.5 py-1 text-xs text-muted-foreground", children: errorText })) : null] }) })] }));
505
506
  }
506
507
  function AgentActivityToolCallRow({ tool, isActiveTail, }) {
507
508
  const [open, setOpen] = useState(false);
@@ -715,7 +716,7 @@ export function useLocalizedWorkedDuration() {
715
716
  second: t("agentChat.duration.secondShort"),
716
717
  }), [locale, t]);
717
718
  }
718
- export function WorkedForSummary({ durationMs, isRunning = false, defaultOpen = false, autoCollapse = false, children, }) {
719
+ export function WorkedForSummary({ durationMs, isRunning = false, defaultOpen = false, autoCollapse = false, children, layout, formatWorkedForDuration, }) {
719
720
  const t = useT();
720
721
  const formatDuration = useLocalizedWorkedDuration();
721
722
  const [open, setOpen] = useState(defaultOpen);
@@ -731,10 +732,10 @@ export function WorkedForSummary({ durationMs, isRunning = false, defaultOpen =
731
732
  ? t("agentChat.status.working")
732
733
  : durationMs != null && durationMs >= 1000
733
734
  ? t("agentChat.tool.workedFor", {
734
- duration: formatDuration(durationMs),
735
+ duration: (formatWorkedForDuration ?? formatDuration)(durationMs),
735
736
  })
736
737
  : t("agentChat.tool.worked");
737
- return (_jsxs("div", { className: "my-1 w-full", children: [_jsxs("button", { type: "button", onClick: () => setOpen((v) => !v), "aria-expanded": open, className: "agent-kit-density flex items-center gap-1.5 py-0.5 text-muted-foreground transition-colors hover:text-foreground", children: [_jsx("span", { className: cn(isRunning && "agent-running-shimmer"), children: label }), _jsx(IconChevronRight, { className: cn("size-3.5 shrink-0 transition-transform", open && "rotate-90") })] }), _jsx(AnimatedCollapse, { open: open, children: _jsx(WorkSummaryContentContext.Provider, { value: true, children: _jsx("div", { className: "pt-1", children: children }) }) })] }));
738
+ return (_jsxs("div", { className: "my-1 w-full", children: [_jsxs("button", { type: "button", onClick: () => setOpen((v) => !v), "aria-expanded": open, className: "agent-kit-density flex w-full items-center gap-1 rounded-lg p-3 text-start text-muted-foreground transition-colors hover:text-foreground", style: workedForRowSummaryStyle(layout), children: [_jsx(IconChevronRight, { "aria-hidden": "true", className: cn("size-4 shrink-0 transition-transform rtl:-scale-x-100", open && "rotate-90 rtl:-rotate-90"), style: workedForRowChevronStyle(layout) }), _jsx("span", { className: cn(isRunning && "agent-running-shimmer"), children: label })] }), _jsx(AnimatedCollapse, { open: open, children: _jsx(WorkSummaryContentContext.Provider, { value: true, children: _jsx("div", { className: "pt-1", children: children }) }) })] }));
738
739
  }
739
740
  export function RanToolsSummary({ toolCount, motionKey = "summary", children, }) {
740
741
  const t = useT();
@@ -1 +1 @@
1
- {"version":3,"file":"tool-call-display.js","sourceRoot":"","sources":["../../../../src/app/chat/chat/tool-call-display.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-call-display.js","sourceRoot":"","sources":["../../../../src/app/chat/chat/tool-call-display.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataChartRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/app/chat/chat/widgets/DataChartRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AA+brF,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,mBAAmB,CAAA;CAAE,+BAiC1E"}
1
+ {"version":3,"file":"DataChartRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/app/chat/chat/widgets/DataChartRenderer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAurBrF,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,mBAAmB,CAAA;CAAE,+BAyC1E"}
@@ -1,5 +1,6 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useT } from "@agent-native/core/client/i18n";
3
+ import { DATA_WIDGET_MAX_CHART_POINTS } from "@agent-native/core/data-widgets";
3
4
  const DEFAULT_COLORS = [
4
5
  "hsl(var(--chart-1, var(--primary)))",
5
6
  "hsl(var(--chart-2, 199 89% 48%))",
@@ -9,7 +10,11 @@ const DEFAULT_COLORS = [
9
10
  const WIDTH = 640;
10
11
  const HEIGHT = 360;
11
12
  const MARGIN = { top: 14, right: 18, bottom: 34, left: 46 };
13
+ const Y_AXIS_TITLE_X = 14;
14
+ const VALUE_AXIS_TICK_LABEL_INSET = 8;
15
+ const VALUE_AXIS_TITLE_TICK_GAP = 8;
12
16
  const MAX_LABEL_LENGTH = 16;
17
+ const MIN_PLOT_WIDTH = 32;
13
18
  const LABEL_FONT_FAMILIES = {
14
19
  sans: "var(--font-sans, ui-sans-serif, system-ui, sans-serif)",
15
20
  serif: "ui-serif, Georgia, Cambria, serif",
@@ -33,6 +38,20 @@ function formatTick(value) {
33
38
  return String(value);
34
39
  return value.toFixed(1);
35
40
  }
41
+ function formatAxisTick(value, interval) {
42
+ const [mantissa, exponent = "0"] = interval
43
+ .toString()
44
+ .toLowerCase()
45
+ .split("e");
46
+ const decimalPlaces = Math.max(0, (mantissa.split(".")[1]?.length ?? 0) - Number(exponent));
47
+ if (Math.abs(value) >= 1000) {
48
+ return value.toLocaleString(undefined, {
49
+ minimumFractionDigits: decimalPlaces,
50
+ maximumFractionDigits: decimalPlaces,
51
+ });
52
+ }
53
+ return value.toFixed(decimalPlaces);
54
+ }
36
55
  function labelFor(value) {
37
56
  const characters = Array.from(value == null ? "" : String(value));
38
57
  return characters.length > MAX_LABEL_LENGTH
@@ -45,6 +64,41 @@ function estimateTextWidth(text, fontSize) {
45
64
  return width + (codePoint >= 0x2e80 ? fontSize : fontSize * 0.65);
46
65
  }, 0);
47
66
  }
67
+ function formatCompactTick(value, fontSize, maxWidth) {
68
+ for (let fractionDigits = 15; fractionDigits >= 0; fractionDigits -= 1) {
69
+ const [mantissa = "0", exponent = "0"] = value
70
+ .toExponential(fractionDigits)
71
+ .split("e");
72
+ const label = `${mantissa.replace(/\.?0+$/, "")}e${exponent}`;
73
+ if (estimateTextWidth(label, fontSize) <= maxWidth)
74
+ return label;
75
+ }
76
+ return value.toExponential(0);
77
+ }
78
+ function maximumHorizontalLabelWidth(categoryMargin, includeValueLabels) {
79
+ let lower = 0;
80
+ let upper = WIDTH;
81
+ while (lower < upper) {
82
+ const candidate = Math.ceil((lower + upper) / 2);
83
+ const axisInset = Math.ceil(candidate / 2) + 2;
84
+ const valueLabelInset = includeValueLabels ? candidate + 13 : 0;
85
+ const leftMargin = Math.max(categoryMargin, axisInset) + valueLabelInset;
86
+ const rightMargin = Math.max(MARGIN.right, axisInset, valueLabelInset);
87
+ if (WIDTH - leftMargin - rightMargin >= MIN_PLOT_WIDTH) {
88
+ lower = candidate;
89
+ }
90
+ else {
91
+ upper = candidate - 1;
92
+ }
93
+ }
94
+ return lower;
95
+ }
96
+ function formatHorizontalValueLabel(value, fontSize, maxWidth) {
97
+ const label = formatTick(value);
98
+ return estimateTextWidth(label, fontSize) > maxWidth
99
+ ? formatCompactTick(value, fontSize, maxWidth)
100
+ : label;
101
+ }
48
102
  function rangeFor(chart) {
49
103
  const values = chart.data.flatMap((row) => chart.series
50
104
  .map((series) => numericValue(row, series.key))
@@ -65,33 +119,91 @@ function rangeFor(chart) {
65
119
  return { min, max };
66
120
  }
67
121
  function ChartBody({ chart, labelFontSize, }) {
122
+ const categoryGapRatio = chart.horizontalCategoryGapRatio;
123
+ if (categoryGapRatio !== undefined &&
124
+ (!Number.isFinite(categoryGapRatio) ||
125
+ categoryGapRatio < 0 ||
126
+ categoryGapRatio > 0.9)) {
127
+ throw new Error("Horizontal category gap ratio must be between 0 and 0.9");
128
+ }
68
129
  const { min, max } = rangeFor(chart);
69
130
  const isHorizontalBar = chart.type === "bar" && chart.layout === "horizontal";
131
+ const tickInterval = chart.valueAxisTickInterval;
132
+ const gridTickValues = tickInterval === undefined
133
+ ? Array.from({ length: 4 }, (_, index) => min + ((max - min) * index) / 3)
134
+ : (() => {
135
+ if (!Number.isFinite(tickInterval) || tickInterval < 1e-12) {
136
+ throw new Error("Chart value-axis interval must be finite and positive");
137
+ }
138
+ if (!Number.isFinite(max - min)) {
139
+ throw new Error("Chart value-axis range must be finite");
140
+ }
141
+ const firstTick = Math.ceil(min / tickInterval - 1e-9);
142
+ const lastTick = Math.floor(max / tickInterval + 1e-9);
143
+ const tickCount = lastTick - firstTick + 1;
144
+ if (!Number.isSafeInteger(firstTick) ||
145
+ !Number.isSafeInteger(lastTick) ||
146
+ !Number.isSafeInteger(tickCount) ||
147
+ tickCount <= 0 ||
148
+ tickCount > 100) {
149
+ throw new Error("Chart value-axis interval exceeds the tick limit");
150
+ }
151
+ return Array.from({ length: tickCount }, (_, index) => (firstTick + index) * tickInterval);
152
+ })();
153
+ const axisTitleFontSize = chart.axisTitleFontSize ?? 11;
70
154
  const horizontalCategoryWidth = isHorizontalBar
71
155
  ? Math.max(0, ...chart.data.map((row) => estimateTextWidth(labelFor(row[chart.xKey]), labelFontSize)))
72
156
  : 0;
157
+ const categoryMargin = Math.max(MARGIN.left, horizontalCategoryWidth + 14) +
158
+ (chart.yAxisTitle ? 20 : 0);
159
+ const categoryLabelX = categoryMargin - 8;
160
+ const horizontalTextWidthLimit = isHorizontalBar
161
+ ? maximumHorizontalLabelWidth(categoryMargin, Boolean(chart.showValueLabels))
162
+ : 0;
163
+ const verticalValueTickMargin = isHorizontalBar
164
+ ? 0
165
+ : chart.yAxisTitle
166
+ ? Y_AXIS_TITLE_X +
167
+ axisTitleFontSize / 2 +
168
+ VALUE_AXIS_TITLE_TICK_GAP +
169
+ VALUE_AXIS_TICK_LABEL_INSET
170
+ : VALUE_AXIS_TICK_LABEL_INSET * 2;
171
+ const valueTickLabels = gridTickValues.map((value) => {
172
+ const label = tickInterval === undefined
173
+ ? formatTick(value)
174
+ : formatAxisTick(value, tickInterval);
175
+ const maximumWidth = isHorizontalBar
176
+ ? horizontalTextWidthLimit
177
+ : WIDTH - MARGIN.right - MIN_PLOT_WIDTH - verticalValueTickMargin;
178
+ return estimateTextWidth(label, labelFontSize) > maximumWidth
179
+ ? formatCompactTick(value, labelFontSize, maximumWidth)
180
+ : label;
181
+ });
182
+ const valueTickLabelWidth = Math.max(0, ...valueTickLabels.map((label) => estimateTextWidth(label, labelFontSize)));
183
+ const customValueTickLabelWidth = isHorizontalBar ? 0 : valueTickLabelWidth;
184
+ const horizontalValueTickLabelInset = isHorizontalBar
185
+ ? Math.ceil(valueTickLabelWidth / 2) + 2
186
+ : 0;
187
+ const customValueTickWidth = isHorizontalBar ? 0 : customValueTickLabelWidth;
73
188
  const horizontalPositiveValueWidth = isHorizontalBar && chart.showValueLabels
74
189
  ? Math.max(0, ...chart.data.flatMap((row) => chart.series
75
190
  .map((series) => numericValue(row, series.key))
76
191
  .filter((value) => value !== null && value >= 0)
77
- .map((value) => estimateTextWidth(formatTick(value), chart.valueLabelFontSize ?? 11))))
192
+ .map((value) => estimateTextWidth(formatHorizontalValueLabel(value, chart.valueLabelFontSize ?? 11, horizontalTextWidthLimit), chart.valueLabelFontSize ?? 11))))
78
193
  : 0;
79
194
  const horizontalNegativeValueWidth = isHorizontalBar && chart.showValueLabels
80
195
  ? Math.max(0, ...chart.data.flatMap((row) => chart.series
81
196
  .map((series) => numericValue(row, series.key))
82
197
  .filter((value) => value !== null && value < 0)
83
- .map((value) => estimateTextWidth(formatTick(value), chart.valueLabelFontSize ?? 11))))
198
+ .map((value) => estimateTextWidth(formatHorizontalValueLabel(value, chart.valueLabelFontSize ?? 11, horizontalTextWidthLimit), chart.valueLabelFontSize ?? 11))))
84
199
  : 0;
85
- const categoryMargin = Math.max(MARGIN.left, horizontalCategoryWidth + 14) +
86
- (chart.yAxisTitle ? 20 : 0);
87
- const categoryLabelX = categoryMargin - 8;
88
200
  const margin = {
89
201
  ...MARGIN,
90
- left: categoryMargin +
202
+ left: Math.max(categoryMargin, customValueTickWidth + verticalValueTickMargin, horizontalValueTickLabelInset) +
91
203
  (horizontalNegativeValueWidth > 0
92
204
  ? horizontalNegativeValueWidth + 13
93
205
  : 0),
94
- right: Math.max(MARGIN.right, horizontalPositiveValueWidth + 13),
206
+ right: Math.max(MARGIN.right, horizontalPositiveValueWidth + 13, horizontalValueTickLabelInset),
95
207
  bottom: MARGIN.bottom + (chart.xAxisTitle ? 16 : 0),
96
208
  };
97
209
  const plotWidth = WIDTH - margin.left - margin.right;
@@ -102,29 +214,79 @@ function ChartBody({ chart, labelFontSize, }) {
102
214
  ? margin.left + plotWidth / 2
103
215
  : margin.left + (index / (chart.data.length - 1)) * plotWidth;
104
216
  const yForRow = (index) => margin.top + ((index + 0.5) * plotHeight) / Math.max(1, chart.data.length);
105
- const gridTicks = Array.from({ length: 4 }, (_, index) => {
106
- const value = min + ((max - min) * index) / 3;
107
- return {
108
- value,
109
- x: xForValue(value),
110
- y: yForValue(value),
111
- };
112
- });
217
+ const axisLabelMinSpacing = isHorizontalBar
218
+ ? valueTickLabelWidth + 8
219
+ : labelFontSize + 4;
220
+ const visibleAxisLabelCount = Math.max(1, Math.floor((isHorizontalBar ? plotWidth : plotHeight) / axisLabelMinSpacing) + 1);
221
+ const axisLabelStride = Math.max(1, Math.ceil((gridTickValues.length - 1) / Math.max(1, visibleAxisLabelCount - 1)));
222
+ const axisLabelIndexes = new Set(gridTickValues.flatMap((_, index) => index % axisLabelStride === 0 &&
223
+ (visibleAxisLabelCount > 1 || index === 0)
224
+ ? [index]
225
+ : []));
226
+ const finalAxisLabelIndex = gridTickValues.length - 1;
227
+ if (visibleAxisLabelCount > 1 &&
228
+ finalAxisLabelIndex >= 0 &&
229
+ !axisLabelIndexes.has(finalAxisLabelIndex)) {
230
+ if (isHorizontalBar) {
231
+ axisLabelIndexes.add(finalAxisLabelIndex);
232
+ }
233
+ else {
234
+ const precedingAxisLabelIndex = Math.floor(finalAxisLabelIndex / axisLabelStride) * axisLabelStride;
235
+ const tickSpacing = plotHeight / Math.max(1, finalAxisLabelIndex);
236
+ const finalLabelSpacing = (finalAxisLabelIndex - precedingAxisLabelIndex) * tickSpacing;
237
+ if (finalLabelSpacing < axisLabelMinSpacing) {
238
+ axisLabelIndexes.delete(precedingAxisLabelIndex);
239
+ }
240
+ axisLabelIndexes.add(finalAxisLabelIndex);
241
+ }
242
+ }
243
+ const axisLabelPosition = (index) => isHorizontalBar
244
+ ? xForValue(gridTickValues[index])
245
+ : yForValue(gridTickValues[index]);
246
+ while (true) {
247
+ const selectedAxisLabelIndexes = [...axisLabelIndexes].sort((first, second) => first - second);
248
+ const crowdedPair = selectedAxisLabelIndexes.findIndex((currentIndex, position) => {
249
+ if (position === 0)
250
+ return false;
251
+ const precedingIndex = selectedAxisLabelIndexes[position - 1];
252
+ const centerSpacing = Math.abs(axisLabelPosition(currentIndex) - axisLabelPosition(precedingIndex));
253
+ const requiredSpacing = isHorizontalBar
254
+ ? (estimateTextWidth(valueTickLabels[currentIndex], labelFontSize) +
255
+ estimateTextWidth(valueTickLabels[precedingIndex], labelFontSize)) /
256
+ 2 +
257
+ 8
258
+ : labelFontSize + 4;
259
+ return centerSpacing < requiredSpacing;
260
+ });
261
+ if (crowdedPair < 0)
262
+ break;
263
+ const precedingIndex = selectedAxisLabelIndexes[crowdedPair - 1];
264
+ const currentIndex = selectedAxisLabelIndexes[crowdedPair];
265
+ axisLabelIndexes.delete(currentIndex === finalAxisLabelIndex ? precedingIndex : currentIndex);
266
+ }
267
+ const gridTicks = gridTickValues.map((value, index) => ({
268
+ value,
269
+ index,
270
+ x: xForValue(value),
271
+ y: yForValue(value),
272
+ }));
113
273
  const xTickEvery = Math.max(1, Math.ceil(chart.data.length / 6));
114
274
  const zero = Math.max(min, Math.min(max, 0));
115
275
  const zeroX = xForValue(zero);
116
276
  const zeroY = yForValue(zero);
117
- const axisTitleFontSize = chart.axisTitleFontSize ?? 11;
118
277
  const axisTitleFontWeight = chart.axisTitleFontWeight ?? 500;
119
278
  const valueLabelFontSize = chart.valueLabelFontSize ?? 11;
120
279
  const valueLabelFontWeight = chart.valueLabelFontWeight ?? 400;
121
- const axes = (_jsxs("g", { "aria-hidden": "true", children: [gridTicks.map((tick) => isHorizontalBar ? (_jsxs("g", { children: [_jsx("line", { x1: tick.x, x2: tick.x, y1: margin.top, y2: HEIGHT - margin.bottom, stroke: "hsl(var(--border))", strokeDasharray: "3 3" }), _jsx("text", { x: tick.x, y: HEIGHT - margin.bottom + 14, fill: "hsl(var(--muted-foreground))", fontSize: labelFontSize, textAnchor: "middle", children: formatTick(tick.value) })] }, tick.x)) : (_jsxs("g", { children: [_jsx("line", { x1: margin.left, x2: WIDTH - margin.right, y1: tick.y, y2: tick.y, stroke: "hsl(var(--border))", strokeDasharray: "3 3" }), _jsx("text", { x: margin.left - 8, y: tick.y + 4, fill: "hsl(var(--muted-foreground))", fontSize: labelFontSize, textAnchor: "end", children: formatTick(tick.value) })] }, tick.y))), _jsx("line", { x1: isHorizontalBar ? zeroX : margin.left, x2: isHorizontalBar ? zeroX : WIDTH - margin.right, y1: isHorizontalBar ? margin.top : zeroY, y2: isHorizontalBar ? HEIGHT - margin.bottom : zeroY, stroke: "hsl(var(--border))" }), chart.data.map((row, index) => isHorizontalBar ? (_jsx("text", { x: categoryLabelX, y: yForRow(index) + labelFontSize * 0.35, fill: "hsl(var(--muted-foreground))", fontSize: labelFontSize, textAnchor: "end", children: labelFor(row[chart.xKey]) }, `${index}-${String(row[chart.xKey] ?? "")}`)) : index % xTickEvery === 0 || index === chart.data.length - 1 ? (_jsx("text", { x: chart.type === "bar"
280
+ const axes = (_jsxs("g", { "aria-hidden": "true", children: [gridTicks.map((tick) => isHorizontalBar ? (_jsxs("g", { children: [_jsx("line", { x1: tick.x, x2: tick.x, y1: margin.top, y2: HEIGHT - margin.bottom, stroke: "hsl(var(--chart-grid, var(--border)))", strokeDasharray: tickInterval === undefined ? "3 3" : undefined }), axisLabelIndexes.has(tick.index) ? (_jsx("text", { x: tick.x, y: HEIGHT - margin.bottom + 14, fill: "hsl(var(--muted-foreground))", fontSize: labelFontSize, textAnchor: "middle", children: valueTickLabels[tick.index] })) : null] }, tick.x)) : (_jsxs("g", { children: [_jsx("line", { x1: margin.left, x2: WIDTH - margin.right, y1: tick.y, y2: tick.y, stroke: "hsl(var(--chart-grid, var(--border)))", strokeDasharray: tickInterval === undefined ? "3 3" : undefined }), axisLabelIndexes.has(tick.index) ? (_jsx("text", { x: margin.left - VALUE_AXIS_TICK_LABEL_INSET, y: tick.y + 4, fill: "hsl(var(--muted-foreground))", fontSize: labelFontSize, textAnchor: "end", children: valueTickLabels[tick.index] })) : null] }, tick.y))), _jsx("line", { x1: isHorizontalBar ? zeroX : margin.left, x2: isHorizontalBar ? zeroX : WIDTH - margin.right, y1: isHorizontalBar ? margin.top : zeroY, y2: isHorizontalBar ? HEIGHT - margin.bottom : zeroY, stroke: "hsl(var(--chart-grid, var(--border)))" }), chart.data.map((row, index) => isHorizontalBar ? (_jsx("text", { x: categoryLabelX, y: yForRow(index) + labelFontSize * 0.35, fill: "hsl(var(--muted-foreground))", fontSize: labelFontSize, textAnchor: "end", children: labelFor(row[chart.xKey]) }, `${index}-${String(row[chart.xKey] ?? "")}`)) : index % xTickEvery === 0 || index === chart.data.length - 1 ? (_jsx("text", { x: chart.type === "bar"
122
281
  ? margin.left + (index + 0.5) * (plotWidth / chart.data.length)
123
- : xForPoint(index), y: HEIGHT - 12, fill: "hsl(var(--muted-foreground))", fontSize: labelFontSize, textAnchor: "middle", children: labelFor(row[chart.xKey]) }, `${index}-${String(row[chart.xKey] ?? "")}`)) : null), chart.xAxisTitle ? (_jsx("text", { x: margin.left + plotWidth / 2, y: HEIGHT - 4, fill: "hsl(var(--foreground))", fontSize: axisTitleFontSize, fontWeight: axisTitleFontWeight, textAnchor: "middle", children: chart.xAxisTitle })) : null, chart.yAxisTitle ? (_jsx("text", { x: 14, y: margin.top + plotHeight / 2, transform: `rotate(-90 14 ${margin.top + plotHeight / 2})`, fill: "hsl(var(--foreground))", fontSize: axisTitleFontSize, fontWeight: axisTitleFontWeight, textAnchor: "middle", children: chart.yAxisTitle })) : null] }));
282
+ : xForPoint(index), y: HEIGHT - 12, fill: "hsl(var(--muted-foreground))", fontSize: labelFontSize, textAnchor: "middle", children: labelFor(row[chart.xKey]) }, `${index}-${String(row[chart.xKey] ?? "")}`)) : null), chart.xAxisTitle ? (_jsx("text", { x: margin.left + plotWidth / 2, y: HEIGHT - 4, fill: "hsl(var(--foreground))", fontSize: axisTitleFontSize, fontWeight: axisTitleFontWeight, textAnchor: "middle", children: chart.xAxisTitle })) : null, chart.yAxisTitle ? (_jsx("text", { x: Y_AXIS_TITLE_X, y: margin.top + plotHeight / 2, transform: `rotate(-90 ${Y_AXIS_TITLE_X} ${margin.top + plotHeight / 2})`, fill: "hsl(var(--foreground))", fontSize: axisTitleFontSize, fontWeight: axisTitleFontWeight, textAnchor: "middle", children: chart.yAxisTitle })) : null] }));
124
283
  if (chart.type === "bar") {
125
284
  const slotSize = (isHorizontalBar ? plotHeight : plotWidth) /
126
285
  Math.max(1, chart.data.length);
127
- const groupSize = slotSize * 0.72;
286
+ const groupSize = slotSize *
287
+ (isHorizontalBar && categoryGapRatio !== undefined
288
+ ? 1 - categoryGapRatio
289
+ : 0.72);
128
290
  const barSize = groupSize / Math.max(1, chart.series.length);
129
291
  return (_jsxs(_Fragment, { children: [axes, chart.data.map((row, rowIndex) => chart.series.map((series, seriesIndex) => {
130
292
  const value = numericValue(row, series.key);
@@ -150,13 +312,15 @@ function ChartBody({ chart, labelFontSize, }) {
150
312
  ? Math.max(2, Math.abs(valueX - zeroX))
151
313
  : Math.max(2, barSize - 2);
152
314
  const height = isHorizontalBar
153
- ? Math.max(2, barSize - 2)
315
+ ? Math.max(0, barSize - Math.min(2, barSize * 0.1))
154
316
  : Math.max(1, Math.abs(zeroY - valueY));
155
317
  return (_jsxs("g", { children: [_jsx("rect", { x: x, y: y, width: width, height: height, rx: "3", fill: color }), chart.showValueLabels ? (_jsx("text", { x: isHorizontalBar
156
318
  ? valueX + (value < 0 ? -5 : 5)
157
319
  : x + width / 2, y: isHorizontalBar
158
320
  ? y + height / 2 + valueLabelFontSize * 0.35
159
- : y - 5, fill: "hsl(var(--muted-foreground))", fontSize: valueLabelFontSize, fontWeight: valueLabelFontWeight, textAnchor: isHorizontalBar ? (value < 0 ? "end" : "start") : "middle", children: formatTick(value) })) : null] }, `${rowIndex}-${series.key}`));
321
+ : y - 5, fill: "hsl(var(--muted-foreground))", fontSize: valueLabelFontSize, fontWeight: valueLabelFontWeight, textAnchor: isHorizontalBar ? (value < 0 ? "end" : "start") : "middle", children: isHorizontalBar
322
+ ? formatHorizontalValueLabel(value, valueLabelFontSize, horizontalTextWidthLimit)
323
+ : formatTick(value) })) : null] }, `${rowIndex}-${series.key}`));
160
324
  }))] }));
161
325
  }
162
326
  const paths = chart.series.map((series, seriesIndex) => {
@@ -192,11 +356,17 @@ function ChartBody({ chart, labelFontSize, }) {
192
356
  }
193
357
  export function DataChartRenderer({ chart }) {
194
358
  const t = useT();
195
- const contentHeight = chart.contentHeight;
196
- const contentPadding = chart.contentPadding ?? 0;
359
+ const renderedChart = chart.data.length > DATA_WIDGET_MAX_CHART_POINTS
360
+ ? {
361
+ ...chart,
362
+ data: chart.data.slice(0, DATA_WIDGET_MAX_CHART_POINTS),
363
+ }
364
+ : chart;
365
+ const contentHeight = renderedChart.contentHeight;
366
+ const contentPadding = renderedChart.contentPadding ?? 0;
197
367
  const hasContentBox = contentHeight !== undefined || contentPadding > 0;
198
- const labelFontFamily = LABEL_FONT_FAMILIES[chart.labelFontFamily ?? "sans"];
199
- const labelFontSize = chart.labelFontSize ?? 11;
368
+ const labelFontFamily = LABEL_FONT_FAMILIES[renderedChart.labelFontFamily ?? "sans"];
369
+ const labelFontSize = renderedChart.labelFontSize ?? 11;
200
370
  return (_jsx("div", { className: "box-border w-full min-w-0 overflow-hidden", style: hasContentBox
201
371
  ? {
202
372
  ...(contentHeight !== undefined
@@ -204,6 +374,6 @@ export function DataChartRenderer({ chart }) {
204
374
  : {}),
205
375
  padding: `${contentPadding}px`,
206
376
  }
207
- : undefined, children: _jsx("svg", { className: `agent-data-chart-renderer block w-full ${contentHeight !== undefined ? "h-full" : "h-auto"}`, viewBox: `0 0 ${WIDTH} ${HEIGHT}`, preserveAspectRatio: contentHeight !== undefined ? "none" : undefined, fontFamily: labelFontFamily, role: "img", "aria-label": chart.title ?? t("agentChat.widget.dataChart"), children: _jsx(ChartBody, { chart: chart, labelFontSize: labelFontSize }) }) }));
377
+ : undefined, children: _jsx("svg", { className: `agent-data-chart-renderer block w-full ${contentHeight !== undefined ? "h-full" : "h-auto"}`, viewBox: `0 0 ${WIDTH} ${HEIGHT}`, preserveAspectRatio: contentHeight !== undefined ? "none" : undefined, fontFamily: labelFontFamily, role: "img", "aria-label": renderedChart.title ?? t("agentChat.widget.dataChart"), children: _jsx(ChartBody, { chart: renderedChart, labelFontSize: labelFontSize }) }) }));
208
378
  }
209
379
  //# sourceMappingURL=DataChartRenderer.js.map