@agent-native/toolkit 0.213.1 → 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 (222) hide show
  1. package/agent-native.eject.json +9 -0
  2. package/dist/app/agentkit/react/chat.d.ts.map +1 -1
  3. package/dist/app/agentkit/react/chat.js +2 -2
  4. package/dist/app/agentkit/react/chat.js.map +1 -1
  5. package/dist/app/agentkit/react/components.d.ts +4 -1
  6. package/dist/app/agentkit/react/components.d.ts.map +1 -1
  7. package/dist/app/agentkit/react/components.js +73 -13
  8. package/dist/app/agentkit/react/components.js.map +1 -1
  9. package/dist/app/agentkit/react/context.d.ts +19 -1
  10. package/dist/app/agentkit/react/context.d.ts.map +1 -1
  11. package/dist/app/agentkit/react/context.js +7 -1
  12. package/dist/app/agentkit/react/context.js.map +1 -1
  13. package/dist/app/agentkit/react/index.d.ts +2 -0
  14. package/dist/app/agentkit/react/index.d.ts.map +1 -1
  15. package/dist/app/agentkit/react/index.js +2 -0
  16. package/dist/app/agentkit/react/index.js.map +1 -1
  17. package/dist/app/agentkit/react/message-content-order.d.ts +21 -0
  18. package/dist/app/agentkit/react/message-content-order.d.ts.map +1 -0
  19. package/dist/app/agentkit/react/message-content-order.js +173 -0
  20. package/dist/app/agentkit/react/message-content-order.js.map +1 -0
  21. package/dist/app/agentkit/react/root.d.ts +6 -1
  22. package/dist/app/agentkit/react/root.d.ts.map +1 -1
  23. package/dist/app/agentkit/react/root.js +2 -2
  24. package/dist/app/agentkit/react/root.js.map +1 -1
  25. package/dist/app/agentkit/react/styles.css +45 -8
  26. package/dist/app/agentkit/react/transcript-layout.d.ts +51 -0
  27. package/dist/app/agentkit/react/transcript-layout.d.ts.map +1 -0
  28. package/dist/app/agentkit/react/transcript-layout.js +34 -0
  29. package/dist/app/agentkit/react/transcript-layout.js.map +1 -0
  30. package/dist/app/chat/AgentKitAssistantChat.d.ts.map +1 -1
  31. package/dist/app/chat/AgentKitAssistantChat.js +9 -4
  32. package/dist/app/chat/AgentKitAssistantChat.js.map +1 -1
  33. package/dist/app/chat/AgentPanel.d.ts +16 -2
  34. package/dist/app/chat/AgentPanel.d.ts.map +1 -1
  35. package/dist/app/chat/AgentPanel.js +26 -5
  36. package/dist/app/chat/AgentPanel.js.map +1 -1
  37. package/dist/app/chat/chat/index.d.ts +2 -0
  38. package/dist/app/chat/chat/index.d.ts.map +1 -1
  39. package/dist/app/chat/chat/index.js.map +1 -1
  40. package/dist/app/chat/chat/surface-types.d.ts +15 -0
  41. package/dist/app/chat/chat/surface-types.d.ts.map +1 -1
  42. package/dist/app/chat/chat/surface-types.js.map +1 -1
  43. package/dist/app/chat/chat/tool-call-display.d.ts +7 -2
  44. package/dist/app/chat/chat/tool-call-display.d.ts.map +1 -1
  45. package/dist/app/chat/chat/tool-call-display.js +10 -9
  46. package/dist/app/chat/chat/tool-call-display.js.map +1 -1
  47. package/dist/app/chat/chat/widgets/DataChartRenderer.d.ts.map +1 -1
  48. package/dist/app/chat/chat/widgets/DataChartRenderer.js +300 -33
  49. package/dist/app/chat/chat/widgets/DataChartRenderer.js.map +1 -1
  50. package/dist/app/chat/chat/widgets/DataChartWidget.d.ts +3 -2
  51. package/dist/app/chat/chat/widgets/DataChartWidget.d.ts.map +1 -1
  52. package/dist/app/chat/chat/widgets/DataChartWidget.js +18 -9
  53. package/dist/app/chat/chat/widgets/DataChartWidget.js.map +1 -1
  54. package/dist/app/chat/chat/widgets/DataInsightsWidget.js +1 -1
  55. package/dist/app/chat/chat/widgets/DataInsightsWidget.js.map +1 -1
  56. package/dist/app/chat/chat/widgets/DataTableWidget.d.ts +3 -2
  57. package/dist/app/chat/chat/widgets/DataTableWidget.d.ts.map +1 -1
  58. package/dist/app/chat/chat/widgets/DataTableWidget.js +10 -66
  59. package/dist/app/chat/chat/widgets/DataTableWidget.js.map +1 -1
  60. package/dist/app/chat/chat/widgets/DataWidgetDisplayControls.d.ts +11 -0
  61. package/dist/app/chat/chat/widgets/DataWidgetDisplayControls.d.ts.map +1 -0
  62. package/dist/app/chat/chat/widgets/DataWidgetDisplayControls.js +133 -0
  63. package/dist/app/chat/chat/widgets/DataWidgetDisplayControls.js.map +1 -0
  64. package/dist/app/chat/chat/widgets/builtin-tool-renderers.js +2 -2
  65. package/dist/app/chat/chat/widgets/builtin-tool-renderers.js.map +1 -1
  66. package/dist/app/chat/mcp-apps/McpAppRenderer.d.ts.map +1 -1
  67. package/dist/app/chat/mcp-apps/McpAppRenderer.js +6 -5
  68. package/dist/app/chat/mcp-apps/McpAppRenderer.js.map +1 -1
  69. package/dist/app/chat/mcp-apps/mcp-app-theme.d.ts +2 -0
  70. package/dist/app/chat/mcp-apps/mcp-app-theme.d.ts.map +1 -0
  71. package/dist/app/chat/mcp-apps/mcp-app-theme.js +11 -0
  72. package/dist/app/chat/mcp-apps/mcp-app-theme.js.map +1 -0
  73. package/dist/app/i18n/catalogs/ar-SA.d.ts.map +1 -1
  74. package/dist/app/i18n/catalogs/ar-SA.js +9 -0
  75. package/dist/app/i18n/catalogs/ar-SA.js.map +1 -1
  76. package/dist/app/i18n/catalogs/de-DE.d.ts.map +1 -1
  77. package/dist/app/i18n/catalogs/de-DE.js +9 -0
  78. package/dist/app/i18n/catalogs/de-DE.js.map +1 -1
  79. package/dist/app/i18n/catalogs/en-US.d.ts +9 -0
  80. package/dist/app/i18n/catalogs/en-US.d.ts.map +1 -1
  81. package/dist/app/i18n/catalogs/en-US.js +9 -0
  82. package/dist/app/i18n/catalogs/en-US.js.map +1 -1
  83. package/dist/app/i18n/catalogs/es-ES.d.ts.map +1 -1
  84. package/dist/app/i18n/catalogs/es-ES.js +9 -0
  85. package/dist/app/i18n/catalogs/es-ES.js.map +1 -1
  86. package/dist/app/i18n/catalogs/fr-FR.d.ts.map +1 -1
  87. package/dist/app/i18n/catalogs/fr-FR.js +9 -0
  88. package/dist/app/i18n/catalogs/fr-FR.js.map +1 -1
  89. package/dist/app/i18n/catalogs/hi-IN.d.ts.map +1 -1
  90. package/dist/app/i18n/catalogs/hi-IN.js +9 -0
  91. package/dist/app/i18n/catalogs/hi-IN.js.map +1 -1
  92. package/dist/app/i18n/catalogs/ja-JP.d.ts.map +1 -1
  93. package/dist/app/i18n/catalogs/ja-JP.js +9 -0
  94. package/dist/app/i18n/catalogs/ja-JP.js.map +1 -1
  95. package/dist/app/i18n/catalogs/ko-KR.d.ts.map +1 -1
  96. package/dist/app/i18n/catalogs/ko-KR.js +9 -0
  97. package/dist/app/i18n/catalogs/ko-KR.js.map +1 -1
  98. package/dist/app/i18n/catalogs/pt-BR.d.ts.map +1 -1
  99. package/dist/app/i18n/catalogs/pt-BR.js +9 -0
  100. package/dist/app/i18n/catalogs/pt-BR.js.map +1 -1
  101. package/dist/app/i18n/catalogs/zh-CN.d.ts.map +1 -1
  102. package/dist/app/i18n/catalogs/zh-CN.js +9 -0
  103. package/dist/app/i18n/catalogs/zh-CN.js.map +1 -1
  104. package/dist/app/i18n/catalogs/zh-TW.d.ts.map +1 -1
  105. package/dist/app/i18n/catalogs/zh-TW.js +9 -0
  106. package/dist/app/i18n/catalogs/zh-TW.js.map +1 -1
  107. package/dist/app/providers/AppProviders.d.ts +2 -1
  108. package/dist/app/providers/AppProviders.d.ts.map +1 -1
  109. package/dist/app/providers/AppProviders.js +4 -3
  110. package/dist/app/providers/AppProviders.js.map +1 -1
  111. package/dist/app/providers/ThemeFamilySync.d.ts +2 -0
  112. package/dist/app/providers/ThemeFamilySync.d.ts.map +1 -0
  113. package/dist/app/providers/ThemeFamilySync.js +6 -0
  114. package/dist/app/providers/ThemeFamilySync.js.map +1 -0
  115. package/dist/app/settings/account/PreferencesSettings.d.ts.map +1 -1
  116. package/dist/app/settings/account/PreferencesSettings.js +2 -1
  117. package/dist/app/settings/account/PreferencesSettings.js.map +1 -1
  118. package/dist/app/settings/account/ThemeFamilySettings.d.ts +2 -0
  119. package/dist/app/settings/account/ThemeFamilySettings.d.ts.map +1 -0
  120. package/dist/app/settings/account/ThemeFamilySettings.js +31 -0
  121. package/dist/app/settings/account/ThemeFamilySettings.js.map +1 -0
  122. package/dist/app/settings/account/search-entries.d.ts.map +1 -1
  123. package/dist/app/settings/account/search-entries.js +6 -0
  124. package/dist/app/settings/account/search-entries.js.map +1 -1
  125. package/dist/app/shared/DefaultSpinner.d.ts.map +1 -1
  126. package/dist/app/shared/DefaultSpinner.js +4 -5
  127. package/dist/app/shared/DefaultSpinner.js.map +1 -1
  128. package/dist/app/shared/ErrorBoundary.d.ts +1 -0
  129. package/dist/app/shared/ErrorBoundary.d.ts.map +1 -1
  130. package/dist/app/shared/ErrorBoundary.js +27 -12
  131. package/dist/app/shared/ErrorBoundary.js.map +1 -1
  132. package/dist/app/shared/PoweredByBadge.d.ts.map +1 -1
  133. package/dist/app/shared/PoweredByBadge.js +8 -49
  134. package/dist/app/shared/PoweredByBadge.js.map +1 -1
  135. package/dist/app/styles/agent-conversation.css +0 -23
  136. package/dist/app/styles/agent-native.css +1 -1
  137. package/dist/app/styles/theme-families.css +66 -0
  138. package/dist/composer/ComposerContextBanner.d.ts +24 -0
  139. package/dist/composer/ComposerContextBanner.d.ts.map +1 -0
  140. package/dist/composer/ComposerContextBanner.js +9 -0
  141. package/dist/composer/ComposerContextBanner.js.map +1 -0
  142. package/dist/composer/ComposerModePicker.d.ts +26 -0
  143. package/dist/composer/ComposerModePicker.d.ts.map +1 -0
  144. package/dist/composer/ComposerModePicker.js +14 -0
  145. package/dist/composer/ComposerModePicker.js.map +1 -0
  146. package/dist/composer/index.d.ts +2 -0
  147. package/dist/composer/index.d.ts.map +1 -1
  148. package/dist/composer/index.js +2 -0
  149. package/dist/composer/index.js.map +1 -1
  150. package/dist/styles.css +1 -0
  151. package/package.json +3 -3
  152. package/src/app/agentkit/react/chat.tsx +2 -0
  153. package/src/app/agentkit/react/components.interaction.spec.tsx +107 -0
  154. package/src/app/agentkit/react/components.spec.tsx +40 -1
  155. package/src/app/agentkit/react/components.tsx +186 -31
  156. package/src/app/agentkit/react/context.tsx +29 -0
  157. package/src/app/agentkit/react/index.ts +2 -0
  158. package/src/app/agentkit/react/lifecycle.spec.tsx +289 -4
  159. package/src/app/agentkit/react/message-content-order.spec.ts +190 -0
  160. package/src/app/agentkit/react/message-content-order.ts +246 -0
  161. package/src/app/agentkit/react/root.tsx +11 -0
  162. package/src/app/agentkit/react/styles.css +45 -8
  163. package/src/app/agentkit/react/transcript-layout.spec.ts +72 -0
  164. package/src/app/agentkit/react/transcript-layout.ts +97 -0
  165. package/src/app/auth/AuthPage.attribution.spec.tsx +6 -0
  166. package/src/app/chat/AgentKitAssistantChat.spec.tsx +58 -0
  167. package/src/app/chat/AgentKitAssistantChat.tsx +15 -1
  168. package/src/app/chat/AgentPanel.header.spec.ts +72 -14
  169. package/src/app/chat/AgentPanel.page-header-share.spec.tsx +101 -0
  170. package/src/app/chat/AgentPanel.tsx +111 -55
  171. package/src/app/chat/chat/index.ts +2 -0
  172. package/src/app/chat/chat/surface-types.ts +18 -0
  173. package/src/app/chat/chat/tool-call-display.spec.tsx +83 -0
  174. package/src/app/chat/chat/tool-call-display.tsx +40 -8
  175. package/src/app/chat/chat/widgets/DataChartRenderer.spec.tsx +849 -0
  176. package/src/app/chat/chat/widgets/DataChartRenderer.tsx +567 -72
  177. package/src/app/chat/chat/widgets/DataChartWidget.spec.tsx +432 -0
  178. package/src/app/chat/chat/widgets/DataChartWidget.ssr.spec.tsx +25 -0
  179. package/src/app/chat/chat/widgets/DataChartWidget.tsx +58 -33
  180. package/src/app/chat/chat/widgets/DataInsightsWidget.tsx +2 -2
  181. package/src/app/chat/chat/widgets/DataTableWidget.spec.tsx +37 -3
  182. package/src/app/chat/chat/widgets/DataTableWidget.tsx +22 -86
  183. package/src/app/chat/chat/widgets/DataWidgetDisplayControls.tsx +321 -0
  184. package/src/app/chat/chat/widgets/builtin-tool-renderers.tsx +5 -5
  185. package/src/app/chat/mcp-apps/McpAppRenderer.tsx +10 -5
  186. package/src/app/chat/mcp-apps/mcp-app-theme.spec.ts +30 -0
  187. package/src/app/chat/mcp-apps/mcp-app-theme.ts +11 -0
  188. package/src/app/i18n/catalogs/ar-SA.ts +10 -0
  189. package/src/app/i18n/catalogs/de-DE.ts +11 -0
  190. package/src/app/i18n/catalogs/en-US.ts +11 -0
  191. package/src/app/i18n/catalogs/es-ES.ts +12 -0
  192. package/src/app/i18n/catalogs/fr-FR.ts +12 -0
  193. package/src/app/i18n/catalogs/hi-IN.ts +10 -0
  194. package/src/app/i18n/catalogs/ja-JP.ts +11 -0
  195. package/src/app/i18n/catalogs/ko-KR.ts +10 -0
  196. package/src/app/i18n/catalogs/pt-BR.ts +11 -0
  197. package/src/app/i18n/catalogs/zh-CN.ts +9 -0
  198. package/src/app/i18n/catalogs/zh-TW.ts +10 -0
  199. package/src/app/providers/AppProviders.spec.tsx +71 -0
  200. package/src/app/providers/AppProviders.tsx +10 -0
  201. package/src/app/providers/ThemeFamilySync.tsx +6 -0
  202. package/src/app/settings/account/PreferencesSettings.spec.tsx +13 -2
  203. package/src/app/settings/account/PreferencesSettings.tsx +8 -0
  204. package/src/app/settings/account/ThemeFamilySettings.tsx +61 -0
  205. package/src/app/settings/account/search-entries.ts +6 -0
  206. package/src/app/shared/DefaultSpinner.spec.tsx +14 -0
  207. package/src/app/shared/DefaultSpinner.tsx +4 -5
  208. package/src/app/shared/ErrorBoundary.spec.tsx +45 -2
  209. package/src/app/shared/ErrorBoundary.tsx +37 -12
  210. package/src/app/shared/PoweredByBadge.spec.tsx +16 -0
  211. package/src/app/shared/PoweredByBadge.tsx +8 -50
  212. package/src/app/styles/agent-conversation.css +0 -23
  213. package/src/app/styles/agent-native.css +1 -1
  214. package/src/app/styles/agent-native.spec.ts +18 -0
  215. package/src/app/styles/theme-families.css +66 -0
  216. package/src/app/styles/theme-families.spec.ts +29 -0
  217. package/src/composer/ComposerContextBanner.spec.tsx +100 -0
  218. package/src/composer/ComposerContextBanner.tsx +77 -0
  219. package/src/composer/ComposerModePicker.spec.tsx +101 -0
  220. package/src/composer/ComposerModePicker.tsx +98 -0
  221. package/src/composer/index.ts +9 -0
  222. package/src/styles.css +1 -0
@@ -1,16 +1,25 @@
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
- "hsl(var(--primary))",
5
- "hsl(199 89% 48%)",
6
- "hsl(151 55% 42%)",
7
- "hsl(35 92% 50%)",
5
+ "hsl(var(--chart-1, var(--primary)))",
6
+ "hsl(var(--chart-2, 199 89% 48%))",
7
+ "hsl(var(--chart-3, 151 55% 42%))",
8
+ "hsl(var(--chart-4, 35 92% 50%))",
8
9
  ];
9
10
  const WIDTH = 640;
10
- const HEIGHT = 240;
11
+ const HEIGHT = 360;
11
12
  const MARGIN = { top: 14, right: 18, bottom: 34, left: 46 };
12
- const PLOT_WIDTH = WIDTH - MARGIN.left - MARGIN.right;
13
- const PLOT_HEIGHT = HEIGHT - MARGIN.top - MARGIN.bottom;
13
+ const Y_AXIS_TITLE_X = 14;
14
+ const VALUE_AXIS_TICK_LABEL_INSET = 8;
15
+ const VALUE_AXIS_TITLE_TICK_GAP = 8;
16
+ const MAX_LABEL_LENGTH = 16;
17
+ const MIN_PLOT_WIDTH = 32;
18
+ const LABEL_FONT_FAMILIES = {
19
+ sans: "var(--font-sans, ui-sans-serif, system-ui, sans-serif)",
20
+ serif: "ui-serif, Georgia, Cambria, serif",
21
+ mono: "ui-monospace, SFMono-Regular, Menlo, monospace",
22
+ };
14
23
  function numericValue(row, key) {
15
24
  const value = row[key];
16
25
  if (typeof value === "number" && Number.isFinite(value))
@@ -29,9 +38,66 @@ function formatTick(value) {
29
38
  return String(value);
30
39
  return value.toFixed(1);
31
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
+ }
32
55
  function labelFor(value) {
33
- const label = value == null ? "" : String(value);
34
- return label.length > 16 ? `${label.slice(0, 15)}...` : label;
56
+ const characters = Array.from(value == null ? "" : String(value));
57
+ return characters.length > MAX_LABEL_LENGTH
58
+ ? `${characters.slice(0, MAX_LABEL_LENGTH - 3).join("")}...`
59
+ : characters.join("");
60
+ }
61
+ function estimateTextWidth(text, fontSize) {
62
+ return Array.from(text).reduce((width, character) => {
63
+ const codePoint = character.codePointAt(0) ?? 0;
64
+ return width + (codePoint >= 0x2e80 ? fontSize : fontSize * 0.65);
65
+ }, 0);
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;
35
101
  }
36
102
  function rangeFor(chart) {
37
103
  const values = chart.data.flatMap((row) => chart.series
@@ -52,37 +118,209 @@ function rangeFor(chart) {
52
118
  }
53
119
  return { min, max };
54
120
  }
55
- function ChartBody({ chart }) {
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
+ }
56
129
  const { min, max } = rangeFor(chart);
57
- const yFor = (value) => MARGIN.top + ((max - value) / (max - min)) * PLOT_HEIGHT;
58
- const xForPoint = (index) => chart.data.length <= 1
59
- ? MARGIN.left + PLOT_WIDTH / 2
60
- : MARGIN.left + (index / (chart.data.length - 1)) * PLOT_WIDTH;
61
- const gridTicks = Array.from({ length: 4 }, (_, index) => {
62
- const value = min + ((max - min) * index) / 3;
63
- return { value, y: yFor(value) };
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;
154
+ const horizontalCategoryWidth = isHorizontalBar
155
+ ? Math.max(0, ...chart.data.map((row) => estimateTextWidth(labelFor(row[chart.xKey]), labelFontSize)))
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;
64
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;
188
+ const horizontalPositiveValueWidth = isHorizontalBar && chart.showValueLabels
189
+ ? Math.max(0, ...chart.data.flatMap((row) => chart.series
190
+ .map((series) => numericValue(row, series.key))
191
+ .filter((value) => value !== null && value >= 0)
192
+ .map((value) => estimateTextWidth(formatHorizontalValueLabel(value, chart.valueLabelFontSize ?? 11, horizontalTextWidthLimit), chart.valueLabelFontSize ?? 11))))
193
+ : 0;
194
+ const horizontalNegativeValueWidth = isHorizontalBar && chart.showValueLabels
195
+ ? Math.max(0, ...chart.data.flatMap((row) => chart.series
196
+ .map((series) => numericValue(row, series.key))
197
+ .filter((value) => value !== null && value < 0)
198
+ .map((value) => estimateTextWidth(formatHorizontalValueLabel(value, chart.valueLabelFontSize ?? 11, horizontalTextWidthLimit), chart.valueLabelFontSize ?? 11))))
199
+ : 0;
200
+ const margin = {
201
+ ...MARGIN,
202
+ left: Math.max(categoryMargin, customValueTickWidth + verticalValueTickMargin, horizontalValueTickLabelInset) +
203
+ (horizontalNegativeValueWidth > 0
204
+ ? horizontalNegativeValueWidth + 13
205
+ : 0),
206
+ right: Math.max(MARGIN.right, horizontalPositiveValueWidth + 13, horizontalValueTickLabelInset),
207
+ bottom: MARGIN.bottom + (chart.xAxisTitle ? 16 : 0),
208
+ };
209
+ const plotWidth = WIDTH - margin.left - margin.right;
210
+ const plotHeight = HEIGHT - margin.top - margin.bottom;
211
+ const xForValue = (value) => margin.left + ((value - min) / (max - min)) * plotWidth;
212
+ const yForValue = (value) => margin.top + ((max - value) / (max - min)) * plotHeight;
213
+ const xForPoint = (index) => chart.data.length <= 1
214
+ ? margin.left + plotWidth / 2
215
+ : margin.left + (index / (chart.data.length - 1)) * plotWidth;
216
+ const yForRow = (index) => margin.top + ((index + 0.5) * plotHeight) / Math.max(1, chart.data.length);
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
+ }));
65
273
  const xTickEvery = Math.max(1, Math.ceil(chart.data.length / 6));
66
- const zeroY = yFor(Math.max(min, Math.min(max, 0)));
67
- const axes = (_jsxs("g", { "aria-hidden": "true", children: [gridTicks.map((tick) => (_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: "11", textAnchor: "end", children: formatTick(tick.value) })] }, tick.y))), _jsx("line", { x1: MARGIN.left, x2: WIDTH - MARGIN.right, y1: zeroY, y2: zeroY, stroke: "hsl(var(--border))" }), chart.data.map((row, index) => index % xTickEvery === 0 || index === chart.data.length - 1 ? (_jsx("text", { x: chart.type === "bar"
68
- ? MARGIN.left + (index + 0.5) * (PLOT_WIDTH / chart.data.length)
69
- : xForPoint(index), y: HEIGHT - 12, fill: "hsl(var(--muted-foreground))", fontSize: "11", textAnchor: "middle", children: labelFor(row[chart.xKey]) }, `${index}-${String(row[chart.xKey] ?? "")}`)) : null)] }));
274
+ const zero = Math.max(min, Math.min(max, 0));
275
+ const zeroX = xForValue(zero);
276
+ const zeroY = yForValue(zero);
277
+ const axisTitleFontWeight = chart.axisTitleFontWeight ?? 500;
278
+ const valueLabelFontSize = chart.valueLabelFontSize ?? 11;
279
+ const valueLabelFontWeight = chart.valueLabelFontWeight ?? 400;
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"
281
+ ? margin.left + (index + 0.5) * (plotWidth / chart.data.length)
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] }));
70
283
  if (chart.type === "bar") {
71
- const slotWidth = PLOT_WIDTH / Math.max(1, chart.data.length);
72
- const groupWidth = slotWidth * 0.72;
73
- const barWidth = groupWidth / Math.max(1, chart.series.length);
284
+ const slotSize = (isHorizontalBar ? plotHeight : plotWidth) /
285
+ Math.max(1, chart.data.length);
286
+ const groupSize = slotSize *
287
+ (isHorizontalBar && categoryGapRatio !== undefined
288
+ ? 1 - categoryGapRatio
289
+ : 0.72);
290
+ const barSize = groupSize / Math.max(1, chart.series.length);
74
291
  return (_jsxs(_Fragment, { children: [axes, chart.data.map((row, rowIndex) => chart.series.map((series, seriesIndex) => {
75
292
  const value = numericValue(row, series.key);
76
293
  if (value === null)
77
294
  return null;
78
295
  const color = series.color ??
79
296
  DEFAULT_COLORS[seriesIndex % DEFAULT_COLORS.length];
80
- const y = yFor(Math.max(value, 0));
81
- const height = Math.max(1, Math.abs(zeroY - yFor(value)));
82
- return (_jsx("rect", { x: MARGIN.left +
83
- rowIndex * slotWidth +
84
- (slotWidth - groupWidth) / 2 +
85
- seriesIndex * barWidth, y: y, width: Math.max(2, barWidth - 2), height: height, rx: "3", fill: color }, `${rowIndex}-${series.key}`));
297
+ const valueX = xForValue(value);
298
+ const valueY = yForValue(value);
299
+ const x = isHorizontalBar
300
+ ? Math.min(zeroX, valueX)
301
+ : margin.left +
302
+ rowIndex * slotSize +
303
+ (slotSize - groupSize) / 2 +
304
+ seriesIndex * barSize;
305
+ const y = isHorizontalBar
306
+ ? margin.top +
307
+ rowIndex * slotSize +
308
+ (slotSize - groupSize) / 2 +
309
+ seriesIndex * barSize
310
+ : yForValue(Math.max(value, 0));
311
+ const width = isHorizontalBar
312
+ ? Math.max(2, Math.abs(valueX - zeroX))
313
+ : Math.max(2, barSize - 2);
314
+ const height = isHorizontalBar
315
+ ? Math.max(0, barSize - Math.min(2, barSize * 0.1))
316
+ : Math.max(1, Math.abs(zeroY - valueY));
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
318
+ ? valueX + (value < 0 ? -5 : 5)
319
+ : x + width / 2, y: isHorizontalBar
320
+ ? y + height / 2 + valueLabelFontSize * 0.35
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}`));
86
324
  }))] }));
87
325
  }
88
326
  const paths = chart.series.map((series, seriesIndex) => {
@@ -91,7 +329,7 @@ function ChartBody({ chart }) {
91
329
  const value = numericValue(row, series.key);
92
330
  return value === null
93
331
  ? null
94
- : { x: xForPoint(rowIndex), y: yFor(value) };
332
+ : { x: xForPoint(rowIndex), y: yForValue(value), value };
95
333
  })
96
334
  .filter((point) => point !== null);
97
335
  const color = series.color ?? DEFAULT_COLORS[seriesIndex % DEFAULT_COLORS.length];
@@ -103,10 +341,39 @@ function ChartBody({ chart }) {
103
341
  : "";
104
342
  return { series, color, linePath, areaPath, points };
105
343
  });
106
- return (_jsxs(_Fragment, { children: [axes, paths.map(({ series, color, areaPath }) => chart.type === "area" && areaPath ? (_jsx("path", { d: areaPath, fill: color, opacity: "0.18", stroke: "none" }, series.key)) : null), paths.map(({ series, color, linePath, points }) => (_jsxs("g", { children: [_jsx("path", { d: linePath, fill: "none", stroke: color, strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round" }), points.map((point, index) => (_jsx("circle", { cx: point.x, cy: point.y, r: "3", fill: "hsl(var(--background))", stroke: color, strokeWidth: "2" }, index)))] }, series.key)))] }));
344
+ return (_jsxs(_Fragment, { children: [axes, paths.map(({ series, color, areaPath }) => chart.type === "area" && areaPath ? (_jsx("path", { d: areaPath, fill: color, opacity: "0.18", stroke: "none" }, series.key)) : null), paths.map(({ series, color, linePath, points }) => (_jsxs("g", { children: [_jsx("path", { d: linePath, fill: "none", stroke: color, strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round" }), points.map((point, index) => (_jsx("circle", { cx: point.x, cy: point.y, r: "3", fill: "hsl(var(--background))", stroke: color, strokeWidth: "2" }, index))), chart.showValueLabels
345
+ ? points.map((point, index) => {
346
+ const abovePoint = point.y - valueLabelFontSize - 5 >= margin.top;
347
+ return (_jsx("text", { x: point.x, y: abovePoint
348
+ ? point.y - 5
349
+ : point.y + valueLabelFontSize + 5, fill: "hsl(var(--muted-foreground))", fontSize: valueLabelFontSize, fontWeight: valueLabelFontWeight, textAnchor: point.x <= margin.left
350
+ ? "start"
351
+ : point.x >= WIDTH - margin.right
352
+ ? "end"
353
+ : "middle", children: formatTick(point.value) }, `value-${index}`));
354
+ })
355
+ : null] }, series.key)))] }));
107
356
  }
108
357
  export function DataChartRenderer({ chart }) {
109
358
  const t = useT();
110
- return (_jsx("div", { className: "h-60 w-full min-w-0 overflow-hidden", children: _jsx("svg", { className: "agent-data-chart-renderer h-full w-full", viewBox: `0 0 ${WIDTH} ${HEIGHT}`, role: "img", "aria-label": chart.title ?? t("agentChat.widget.dataChart"), preserveAspectRatio: "none", children: _jsx(ChartBody, { chart: chart }) }) }));
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;
367
+ const hasContentBox = contentHeight !== undefined || contentPadding > 0;
368
+ const labelFontFamily = LABEL_FONT_FAMILIES[renderedChart.labelFontFamily ?? "sans"];
369
+ const labelFontSize = renderedChart.labelFontSize ?? 11;
370
+ return (_jsx("div", { className: "box-border w-full min-w-0 overflow-hidden", style: hasContentBox
371
+ ? {
372
+ ...(contentHeight !== undefined
373
+ ? { height: `${contentHeight}px` }
374
+ : {}),
375
+ padding: `${contentPadding}px`,
376
+ }
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 }) }) }));
111
378
  }
112
379
  //# sourceMappingURL=DataChartRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataChartRenderer.js","sourceRoot":"","sources":["../../../../../src/app/chat/chat/widgets/DataChartRenderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataChartRenderer.js","sourceRoot":"","sources":["../../../../../src/app/chat/chat/widgets/DataChartRenderer.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { DataChartWidget as DataChartWidgetData } from "./data-widget-types.js";
2
- export declare function DataChartWidget({ chart }: {
1
+ import type { DataChartWidget as DataChartWidgetData, DataWidgetDisplay } from "./data-widget-types.js";
2
+ export declare function DataChartWidget({ chart, display, }: {
3
3
  chart: DataChartWidgetData;
4
+ display?: DataWidgetDisplay;
4
5
  }): import("react").JSX.Element;
5
6
  //# sourceMappingURL=DataChartWidget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataChartWidget.d.ts","sourceRoot":"","sources":["../../../../../src/app/chat/chat/widgets/DataChartWidget.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAQrF,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,mBAAmB,CAAA;CAAE,+BA2CxE"}
1
+ {"version":3,"file":"DataChartWidget.d.ts","sourceRoot":"","sources":["../../../../../src/app/chat/chat/widgets/DataChartWidget.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,IAAI,mBAAmB,EACtC,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAYhC,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,OAAO,GACR,EAAE;IACD,KAAK,EAAE,mBAAmB,CAAC;IAC3B,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,+BA2DA"}
@@ -1,21 +1,30 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { DEFAULT_LOCALE, useOptionalLocale, useT, } from "@agent-native/core/client/i18n";
3
- import { IconChartBar } from "@tabler/icons-react";
2
+ import { useT } from "@agent-native/core/client/i18n";
3
+ import { DATA_WIDGET_MAX_CHART_POINTS } from "@agent-native/core/data-widgets";
4
4
  import { lazy, Suspense, useEffect, useState } from "react";
5
+ import { DataWidgetDisplayControls, DataWidgetSourceChips, } from "./DataWidgetDisplayControls.js";
5
6
  const LazyDataChartRenderer = lazy(() => import("./DataChartRenderer.js").then((module) => ({
6
7
  default: module.DataChartRenderer,
7
8
  })));
8
- export function DataChartWidget({ chart }) {
9
+ export function DataChartWidget({ chart, display, }) {
9
10
  const t = useT();
10
- const locale = useOptionalLocale()?.locale ?? DEFAULT_LOCALE;
11
11
  const [mounted, setMounted] = useState(false);
12
+ const contentHeight = chart.contentHeight;
13
+ const contentPadding = chart.contentPadding ?? 0;
14
+ const hasOmittedRows = chart.sampled === true ||
15
+ chart.truncated === true ||
16
+ chart.data.length > DATA_WIDGET_MAX_CHART_POINTS;
12
17
  useEffect(() => {
13
18
  setMounted(true);
14
19
  }, []);
15
- const fallback = (_jsx("div", { className: "flex h-60 items-center justify-center rounded-md bg-muted/30 text-xs text-muted-foreground", children: t("agentChat.widget.chart") }));
16
- return (_jsxs("div", { className: "my-1.5 overflow-hidden rounded-lg border border-border bg-background text-foreground shadow-sm", children: [_jsxs("div", { className: "flex items-center gap-2 border-b border-border px-3 py-2", children: [_jsx(IconChartBar, { className: "h-4 w-4 shrink-0 text-muted-foreground" }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-sm font-medium", children: chart.title ?? t("agentChat.widget.dataChart") }), _jsxs("div", { className: "text-[11px] text-muted-foreground", children: [t("agentChat.widget.points", {
17
- count: chart.data.length,
18
- formattedCount: chart.data.length.toLocaleString(locale),
19
- }), chart.sampled ? ` ${t("agentChat.widget.sampled")}` : ""] })] })] }), _jsx("div", { className: "p-3", children: !mounted ? (fallback) : (_jsx(Suspense, { fallback: fallback, children: _jsx(LazyDataChartRenderer, { chart: chart }) })) })] }));
20
+ const fallback = (_jsx("div", { className: `box-border flex w-full items-center justify-center rounded-md bg-muted/30 text-xs text-muted-foreground ${contentHeight ? "" : "aspect-[16/9]"}`, style: contentHeight !== undefined || contentPadding > 0
21
+ ? {
22
+ ...(contentHeight !== undefined
23
+ ? { height: `${contentHeight}px` }
24
+ : {}),
25
+ padding: `${contentPadding}px`,
26
+ }
27
+ : undefined, children: t("agentChat.widget.chart") }));
28
+ return (_jsxs("div", { className: "my-4 overflow-hidden rounded-[3px] border border-border bg-background text-foreground shadow-sm", children: [_jsxs("div", { className: "flex h-12 items-center gap-2 border-b border-border px-3", children: [_jsx("div", { className: "min-w-0 flex-1 truncate text-sm font-medium", children: chart.title ?? t("agentChat.widget.dataChart") }), _jsx(DataWidgetDisplayControls, { display: display, chartActions: chart.actions, variant: "secondary" })] }), !mounted ? (fallback) : (_jsx(Suspense, { fallback: fallback, children: _jsx(LazyDataChartRenderer, { chart: chart }) })), hasOmittedRows ? (_jsx("p", { className: "px-3 pb-3 text-xs text-muted-foreground", role: "status", children: t("agentChat.widget.chartRowsOmitted") })) : null, _jsx(DataWidgetSourceChips, { sources: display?.sources ?? [] })] }));
20
29
  }
21
30
  //# sourceMappingURL=DataChartWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataChartWidget.js","sourceRoot":"","sources":["../../../../../src/app/chat/chat/widgets/DataChartWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,IAAI,GACL,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAI5D,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CACtC,MAAM,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC,iBAAiB;CAClC,CAAC,CAAC,CACJ,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,EAAE,KAAK,EAAkC;IACvE,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,MAAM,MAAM,GAAG,iBAAiB,EAAE,EAAE,MAAM,IAAI,cAAc,CAAC;IAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,CACf,cAAK,SAAS,EAAC,4FAA4F,YACxG,CAAC,CAAC,wBAAwB,CAAC,GACxB,CACP,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,gGAAgG,aAC7G,eAAK,SAAS,EAAC,0DAA0D,aACvE,KAAC,YAAY,IAAC,SAAS,EAAC,wCAAwC,GAAG,EACnE,eAAK,SAAS,EAAC,gBAAgB,aAC7B,cAAK,SAAS,EAAC,8BAA8B,YAC1C,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,4BAA4B,CAAC,GAC3C,EACN,eAAK,SAAS,EAAC,mCAAmC,aAC/C,CAAC,CAAC,yBAAyB,EAAE;wCAC5B,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;wCACxB,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;qCACzD,CAAC,EACD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IACrD,IACF,IACF,EACN,cAAK,SAAS,EAAC,KAAK,YACjB,CAAC,OAAO,CAAC,CAAC,CAAC,CACV,QAAQ,CACT,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,YAC1B,KAAC,qBAAqB,IAAC,KAAK,EAAE,KAAK,GAAI,GAC9B,CACZ,GACG,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"DataChartWidget.js","sourceRoot":"","sources":["../../../../../src/app/chat/chat/widgets/DataChartWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAM5D,OAAO,EACL,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AAExC,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CACtC,MAAM,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC,iBAAiB;CAClC,CAAC,CAAC,CACJ,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,OAAO,GAIR;IACC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC1C,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC;IACjD,MAAM,cAAc,GAClB,KAAK,CAAC,OAAO,KAAK,IAAI;QACtB,KAAK,CAAC,SAAS,KAAK,IAAI;QACxB,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,4BAA4B,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,CACf,cACE,SAAS,EAAE,2GAA2G,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EAC5J,KAAK,EACH,aAAa,KAAK,SAAS,IAAI,cAAc,GAAG,CAAC;YAC/C,CAAC,CAAC;gBACE,GAAG,CAAC,aAAa,KAAK,SAAS;oBAC7B,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,aAAa,IAAI,EAAE;oBAClC,CAAC,CAAC,EAAE,CAAC;gBACP,OAAO,EAAE,GAAG,cAAc,IAAI;aAC/B;YACH,CAAC,CAAC,SAAS,YAGd,CAAC,CAAC,wBAAwB,CAAC,GACxB,CACP,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,iGAAiG,aAC9G,eAAK,SAAS,EAAC,0DAA0D,aACvE,cAAK,SAAS,EAAC,6CAA6C,YACzD,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,4BAA4B,CAAC,GAC3C,EACN,KAAC,yBAAyB,IACxB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,CAAC,OAAO,EAC3B,OAAO,EAAC,WAAW,GACnB,IACE,EACL,CAAC,OAAO,CAAC,CAAC,CAAC,CACV,QAAQ,CACT,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,YAC1B,KAAC,qBAAqB,IAAC,KAAK,EAAE,KAAK,GAAI,GAC9B,CACZ,EACA,cAAc,CAAC,CAAC,CAAC,CAChB,YAAG,SAAS,EAAC,yCAAyC,EAAC,IAAI,EAAC,QAAQ,YACjE,CAAC,CAAC,mCAAmC,CAAC,GACrC,CACL,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,qBAAqB,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,GAAI,IACtD,CACP,CAAC;AACJ,CAAC"}
@@ -15,6 +15,6 @@ export function DataInsightsWidget({ result }) {
15
15
  return (_jsxs("div", { className: "my-1.5 space-y-2", children: [_jsxs("div", { className: "rounded-lg border border-border bg-background p-3 text-foreground shadow-sm", children: [_jsxs("div", { className: "mb-2 flex items-center gap-2", children: [_jsx(IconDatabase, { className: "h-4 w-4 shrink-0 text-muted-foreground" }), _jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "truncate text-sm font-medium", children: title }), result.display?.description ? (_jsx("div", { className: "text-xs text-muted-foreground", children: result.display.description })) : null] })] }), _jsx("div", { className: "grid grid-cols-2 gap-2 sm:grid-cols-4", children: Object.entries(summary)
16
16
  .filter(([, value]) => typeof value !== "object")
17
17
  .slice(0, 4)
18
- .map(([key, value]) => (_jsx(SummaryPill, { label: key, value: value }, key))) })] }), result.chartSeries ? (_jsx(DataChartWidget, { chart: result.chartSeries })) : null, result.table ? (_jsx(DataTableWidget, { table: result.table, action: result.display?.primaryAction })) : null] }));
18
+ .map(([key, value]) => (_jsx(SummaryPill, { label: key, value: value }, key))) })] }), result.chartSeries ? (_jsx(DataChartWidget, { chart: result.chartSeries, display: result.display })) : null, result.table ? (_jsx(DataTableWidget, { table: result.table, display: result.chartSeries ? undefined : result.display })) : null] }));
19
19
  }
20
20
  //# sourceMappingURL=DataInsightsWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataInsightsWidget.js","sourceRoot":"","sources":["../../../../../src/app/chat/chat/widgets/DataInsightsWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,SAAS,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAqC;IACtE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACvE,OAAO,CACL,eAAK,SAAS,EAAC,uDAAuD,aACpE,cAAK,SAAS,EAAC,2DAA2D,YACvE,KAAK,GACF,EACN,cAAK,SAAS,EAAC,qCAAqC,YACjD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAC/D,IACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAE,MAAM,EAAgC;IACzE,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,MAAM,KAAK,GACT,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,+BAA+B,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAErC,OAAO,CACL,eAAK,SAAS,EAAC,kBAAkB,aAC/B,eAAK,SAAS,EAAC,6EAA6E,aAC1F,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,YAAY,IAAC,SAAS,EAAC,wCAAwC,GAAG,EACnE,eAAK,SAAS,EAAC,SAAS,aACtB,cAAK,SAAS,EAAC,8BAA8B,YAAE,KAAK,GAAO,EAC1D,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAC7B,cAAK,SAAS,EAAC,+BAA+B,YAC3C,MAAM,CAAC,OAAO,CAAC,WAAW,GACvB,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,IACF,EACN,cAAK,SAAS,EAAC,uCAAuC,YACnD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;6BACrB,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;6BAChD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;6BACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CACrB,KAAC,WAAW,IAAW,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,IAA7B,GAAG,CAA8B,CACpD,CAAC,GACA,IACF,EACL,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CACpB,KAAC,eAAe,IAAC,KAAK,EAAE,MAAM,CAAC,WAAW,GAAI,CAC/C,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACd,KAAC,eAAe,IACd,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,aAAa,GACrC,CACH,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"DataInsightsWidget.js","sourceRoot":"","sources":["../../../../../src/app/chat/chat/widgets/DataInsightsWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,SAAS,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAqC;IACtE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACvE,OAAO,CACL,eAAK,SAAS,EAAC,uDAAuD,aACpE,cAAK,SAAS,EAAC,2DAA2D,YACvE,KAAK,GACF,EACN,cAAK,SAAS,EAAC,qCAAqC,YACjD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAC/D,IACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAE,MAAM,EAAgC;IACzE,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,MAAM,KAAK,GACT,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,+BAA+B,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAErC,OAAO,CACL,eAAK,SAAS,EAAC,kBAAkB,aAC/B,eAAK,SAAS,EAAC,6EAA6E,aAC1F,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,YAAY,IAAC,SAAS,EAAC,wCAAwC,GAAG,EACnE,eAAK,SAAS,EAAC,SAAS,aACtB,cAAK,SAAS,EAAC,8BAA8B,YAAE,KAAK,GAAO,EAC1D,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAC7B,cAAK,SAAS,EAAC,+BAA+B,YAC3C,MAAM,CAAC,OAAO,CAAC,WAAW,GACvB,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,IACF,EACN,cAAK,SAAS,EAAC,uCAAuC,YACnD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;6BACrB,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;6BAChD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;6BACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CACrB,KAAC,WAAW,IAAW,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,IAA7B,GAAG,CAA8B,CACpD,CAAC,GACA,IACF,EACL,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CACpB,KAAC,eAAe,IAAC,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,GAAI,CACxE,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACd,KAAC,eAAe,IACd,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,GACxD,CACH,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
@@ -1,9 +1,10 @@
1
- import type { DataTableWidget as DataTableWidgetData } from "./data-widget-types.js";
2
- export declare function DataTableWidget({ table, action, }: {
1
+ import type { DataTableWidget as DataTableWidgetData, DataWidgetDisplay } from "./data-widget-types.js";
2
+ export declare function DataTableWidget({ table, action, display, }: {
3
3
  table: DataTableWidgetData;
4
4
  action?: {
5
5
  label: string;
6
6
  href: string;
7
7
  };
8
+ display?: DataWidgetDisplay;
8
9
  }): import("react").JSX.Element;
9
10
  //# sourceMappingURL=DataTableWidget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableWidget.d.ts","sourceRoot":"","sources":["../../../../../src/app/chat/chat/widgets/DataTableWidget.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AA+FrF,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,MAAM,GACP,EAAE;IACD,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,+BAmIA"}
1
+ {"version":3,"file":"DataTableWidget.d.ts","sourceRoot":"","sources":["../../../../../src/app/chat/chat/widgets/DataTableWidget.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,eAAe,IAAI,mBAAmB,EACtC,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AA2ChC,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,MAAM,EACN,OAAO,GACR,EAAE;IACD,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,+BAqHA"}