@agent-native/core 0.76.10 → 0.76.12

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 (130) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +13 -0
  3. package/corpus/core/docs/content/locales/ar-SA/actions.md +7 -7
  4. package/corpus/core/docs/content/locales/ar-SA/template-plan.md +6 -4
  5. package/corpus/core/docs/content/locales/de-DE/actions.md +9 -9
  6. package/corpus/core/docs/content/locales/de-DE/template-plan.md +6 -4
  7. package/corpus/core/docs/content/locales/es-ES/actions.md +9 -9
  8. package/corpus/core/docs/content/locales/es-ES/template-plan.md +6 -4
  9. package/corpus/core/docs/content/locales/fr-FR/actions.md +9 -9
  10. package/corpus/core/docs/content/locales/fr-FR/template-plan.md +6 -4
  11. package/corpus/core/docs/content/locales/hi-IN/actions.md +9 -9
  12. package/corpus/core/docs/content/locales/hi-IN/template-plan.md +4 -4
  13. package/corpus/core/docs/content/locales/ja-JP/actions.md +9 -9
  14. package/corpus/core/docs/content/locales/ja-JP/template-plan.md +4 -4
  15. package/corpus/core/docs/content/locales/ko-KR/actions.md +9 -9
  16. package/corpus/core/docs/content/locales/ko-KR/template-plan.md +4 -4
  17. package/corpus/core/docs/content/locales/pt-BR/actions.md +9 -9
  18. package/corpus/core/docs/content/locales/pt-BR/template-plan.md +6 -4
  19. package/corpus/core/docs/content/locales/zh-CN/actions.md +9 -9
  20. package/corpus/core/docs/content/locales/zh-CN/template-plan.md +4 -4
  21. package/corpus/core/package.json +1 -1
  22. package/corpus/core/src/client/ErrorBoundary.tsx +151 -10
  23. package/corpus/core/src/client/FeedbackButton.tsx +162 -18
  24. package/corpus/core/src/client/blocks/library/AnnotatedCodeBlock.tsx +11 -2
  25. package/corpus/core/src/client/blocks/library/ApiEndpointBlock.tsx +46 -19
  26. package/corpus/core/src/client/blocks/library/MermaidBlock.tsx +7 -5
  27. package/corpus/core/src/client/blocks/library/block-copy.ts +367 -0
  28. package/corpus/core/src/client/blocks/library/diagram.tsx +8 -6
  29. package/corpus/core/src/client/blocks/library/wireframe.tsx +7 -2
  30. package/corpus/core/src/client/i18n.tsx +4 -0
  31. package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +51 -31
  32. package/corpus/templates/analytics/app/components/layout/DashboardHeader.tsx +26 -16
  33. package/corpus/templates/analytics/app/components/layout/Header.tsx +1 -2
  34. package/corpus/templates/analytics/app/components/layout/HeaderActions.tsx +8 -1
  35. package/corpus/templates/analytics/app/components/layout/Layout.tsx +2 -5
  36. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +172 -107
  37. package/corpus/templates/analytics/app/i18n-data.ts +1076 -5
  38. package/corpus/templates/analytics/app/pages/Settings.tsx +2 -2
  39. package/corpus/templates/analytics/changelog/2026-06-24-analytics-navigation-command-palette-and-settings-now-honor-.md +6 -0
  40. package/corpus/templates/assets/app/components/layout/Header.tsx +0 -2
  41. package/corpus/templates/calendar/app/components/layout/AppLayout.tsx +0 -2
  42. package/corpus/templates/calendar/app/pages/CalendarView.tsx +0 -2
  43. package/corpus/templates/chat/app/components/layout/Header.tsx +1 -6
  44. package/corpus/templates/clips/app/components/layout/Header.tsx +1 -6
  45. package/corpus/templates/clips/app/hooks/use-library.ts +2 -0
  46. package/corpus/templates/clips/app/routes/_app.settings._index.tsx +3 -1
  47. package/corpus/templates/clips/changelog/2026-06-24-archive-and-spaces-navigation-is-more-resilient-when-sidebar.md +6 -0
  48. package/corpus/templates/content/app/components/layout/Header.tsx +0 -2
  49. package/corpus/templates/design/app/components/layout/Header.tsx +1 -6
  50. package/corpus/templates/forms/app/components/layout/Header.tsx +1 -6
  51. package/corpus/templates/macros/app/components/layout/Header.tsx +1 -6
  52. package/corpus/templates/mail/app/components/email/CodeBlockLangPicker.tsx +4 -2
  53. package/corpus/templates/mail/app/components/email/ComposeBubbleToolbar.tsx +18 -12
  54. package/corpus/templates/mail/app/components/email/ComposeEditor.tsx +9 -5
  55. package/corpus/templates/mail/app/components/email/ComposeModal.tsx +36 -19
  56. package/corpus/templates/mail/app/components/email/EmailList.tsx +59 -55
  57. package/corpus/templates/mail/app/components/email/EmailListItem.tsx +7 -3
  58. package/corpus/templates/mail/app/components/email/EmailThread.tsx +25 -16
  59. package/corpus/templates/mail/app/components/email/InlineReplyComposer.tsx +25 -19
  60. package/corpus/templates/mail/app/components/email/IntegrationsSidebar.tsx +32 -17
  61. package/corpus/templates/mail/app/components/email/RecipientInput.tsx +26 -10
  62. package/corpus/templates/mail/app/components/email/SendLaterButton.tsx +5 -3
  63. package/corpus/templates/mail/app/components/email/SnoozeModal.tsx +4 -2
  64. package/corpus/templates/mail/app/components/email/SnoozePopover.tsx +9 -5
  65. package/corpus/templates/mail/app/components/email/extensions/ComposeImageBlock.tsx +4 -2
  66. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +168 -86
  67. package/corpus/templates/mail/app/components/layout/SearchBar.tsx +4 -2
  68. package/corpus/templates/mail/app/i18n/ar-SA.ts +212 -0
  69. package/corpus/templates/mail/app/i18n/de-DE.ts +212 -0
  70. package/corpus/templates/mail/app/i18n/en-US.ts +212 -0
  71. package/corpus/templates/mail/app/i18n/es-ES.ts +212 -0
  72. package/corpus/templates/mail/app/i18n/fr-FR.ts +212 -0
  73. package/corpus/templates/mail/app/i18n/hi-IN.ts +212 -0
  74. package/corpus/templates/mail/app/i18n/ja-JP.ts +212 -0
  75. package/corpus/templates/mail/app/i18n/ko-KR.ts +212 -0
  76. package/corpus/templates/mail/app/i18n/pt-BR.ts +212 -0
  77. package/corpus/templates/mail/app/i18n/zh-CN.ts +211 -0
  78. package/corpus/templates/mail/app/root.tsx +90 -6
  79. package/corpus/templates/mail/changelog/2026-06-24-interface-language-support-now-covers-more-mail-controls-and.md +6 -0
  80. package/corpus/templates/plan/app/components/layout/Header.tsx +1 -6
  81. package/corpus/templates/slides/app/components/layout/Header.tsx +1 -6
  82. package/corpus/templates/videos/app/components/layout/Header.tsx +1 -6
  83. package/dist/client/ErrorBoundary.d.ts.map +1 -1
  84. package/dist/client/ErrorBoundary.js +128 -7
  85. package/dist/client/ErrorBoundary.js.map +1 -1
  86. package/dist/client/FeedbackButton.d.ts.map +1 -1
  87. package/dist/client/FeedbackButton.js +142 -14
  88. package/dist/client/FeedbackButton.js.map +1 -1
  89. package/dist/client/blocks/library/AnnotatedCodeBlock.d.ts.map +1 -1
  90. package/dist/client/blocks/library/AnnotatedCodeBlock.js +6 -2
  91. package/dist/client/blocks/library/AnnotatedCodeBlock.js.map +1 -1
  92. package/dist/client/blocks/library/ApiEndpointBlock.d.ts.map +1 -1
  93. package/dist/client/blocks/library/ApiEndpointBlock.js +14 -6
  94. package/dist/client/blocks/library/ApiEndpointBlock.js.map +1 -1
  95. package/dist/client/blocks/library/MermaidBlock.d.ts.map +1 -1
  96. package/dist/client/blocks/library/MermaidBlock.js +6 -4
  97. package/dist/client/blocks/library/MermaidBlock.js.map +1 -1
  98. package/dist/client/blocks/library/block-copy.d.ts +33 -0
  99. package/dist/client/blocks/library/block-copy.d.ts.map +1 -0
  100. package/dist/client/blocks/library/block-copy.js +329 -0
  101. package/dist/client/blocks/library/block-copy.js.map +1 -0
  102. package/dist/client/blocks/library/diagram.d.ts.map +1 -1
  103. package/dist/client/blocks/library/diagram.js +7 -5
  104. package/dist/client/blocks/library/diagram.js.map +1 -1
  105. package/dist/client/blocks/library/wireframe.d.ts.map +1 -1
  106. package/dist/client/blocks/library/wireframe.js +4 -2
  107. package/dist/client/blocks/library/wireframe.js.map +1 -1
  108. package/dist/client/i18n.d.ts +1 -0
  109. package/dist/client/i18n.d.ts.map +1 -1
  110. package/dist/client/i18n.js +3 -0
  111. package/dist/client/i18n.js.map +1 -1
  112. package/docs/content/locales/ar-SA/actions.md +7 -7
  113. package/docs/content/locales/ar-SA/template-plan.md +6 -4
  114. package/docs/content/locales/de-DE/actions.md +9 -9
  115. package/docs/content/locales/de-DE/template-plan.md +6 -4
  116. package/docs/content/locales/es-ES/actions.md +9 -9
  117. package/docs/content/locales/es-ES/template-plan.md +6 -4
  118. package/docs/content/locales/fr-FR/actions.md +9 -9
  119. package/docs/content/locales/fr-FR/template-plan.md +6 -4
  120. package/docs/content/locales/hi-IN/actions.md +9 -9
  121. package/docs/content/locales/hi-IN/template-plan.md +4 -4
  122. package/docs/content/locales/ja-JP/actions.md +9 -9
  123. package/docs/content/locales/ja-JP/template-plan.md +4 -4
  124. package/docs/content/locales/ko-KR/actions.md +9 -9
  125. package/docs/content/locales/ko-KR/template-plan.md +4 -4
  126. package/docs/content/locales/pt-BR/actions.md +9 -9
  127. package/docs/content/locales/pt-BR/template-plan.md +6 -4
  128. package/docs/content/locales/zh-CN/actions.md +9 -9
  129. package/docs/content/locales/zh-CN/template-plan.md +4 -4
  130. package/package.json +1 -1
@@ -2,6 +2,7 @@ import { IconUser, IconCalendar } from "@tabler/icons-react";
2
2
  import { useMemo } from "react";
3
3
  import { useParams } from "react-router";
4
4
  import { dashboards } from "@/pages/adhoc/registry";
5
+ import { useFormatters, useT } from "@agent-native/core/client";
5
6
 
6
7
  interface DashboardHeaderProps {
7
8
  title?: string;
@@ -15,12 +16,26 @@ export function DashboardHeader({
15
16
  actions,
16
17
  }: DashboardHeaderProps) {
17
18
  const { id } = useParams<{ id: string }>();
19
+ const t = useT();
20
+ const { formatDate } = useFormatters();
18
21
 
19
22
  const metadata = useMemo(() => {
20
23
  return dashboards.find((d) => d.id === id);
21
24
  }, [id]);
22
25
 
23
- const displayTitle = title || metadata?.name || "Dashboard";
26
+ const displayTitle = title || metadata?.name || t("navigation.dashboard");
27
+ const dateFormat: Intl.DateTimeFormatOptions = {
28
+ year: "numeric",
29
+ month: "short",
30
+ day: "numeric",
31
+ };
32
+ function formatMetadataDate(value: string): string {
33
+ try {
34
+ return formatDate(value, dateFormat);
35
+ } catch {
36
+ return value;
37
+ }
38
+ }
24
39
 
25
40
  return (
26
41
  <div className="mb-6 space-y-3">
@@ -51,13 +66,21 @@ export function DashboardHeader({
51
66
  {metadata.lastUpdated && (
52
67
  <div className="flex items-center gap-1.5">
53
68
  <IconCalendar className="h-3.5 w-3.5" />
54
- <span>Updated {formatDate(metadata.lastUpdated)}</span>
69
+ <span>
70
+ {t("dashboardHeader.updated", {
71
+ date: formatMetadataDate(metadata.lastUpdated),
72
+ })}
73
+ </span>
55
74
  </div>
56
75
  )}
57
76
  {metadata.dateCreated && (
58
77
  <div className="flex items-center gap-1.5">
59
78
  <IconCalendar className="h-3.5 w-3.5" />
60
- <span>Created {formatDate(metadata.dateCreated)}</span>
79
+ <span>
80
+ {t("dashboardHeader.created", {
81
+ date: formatMetadataDate(metadata.dateCreated),
82
+ })}
83
+ </span>
61
84
  </div>
62
85
  )}
63
86
  </div>
@@ -65,16 +88,3 @@ export function DashboardHeader({
65
88
  </div>
66
89
  );
67
90
  }
68
-
69
- function formatDate(dateStr: string): string {
70
- try {
71
- const date = new Date(dateStr);
72
- return date.toLocaleDateString("en-US", {
73
- year: "numeric",
74
- month: "short",
75
- day: "numeric",
76
- });
77
- } catch {
78
- return dateStr;
79
- }
80
- }
@@ -6,7 +6,7 @@ import {
6
6
  useHeaderTitle,
7
7
  useHeaderActions,
8
8
  } from "./HeaderActions";
9
- import { AgentToggleButton, LanguagePicker } from "@agent-native/core/client";
9
+ import { AgentToggleButton } from "@agent-native/core/client";
10
10
  import { RunsTray } from "@agent-native/core/client/progress";
11
11
  import { useT } from "@agent-native/core/client";
12
12
 
@@ -57,7 +57,6 @@ export function Header() {
57
57
  </div>
58
58
  <div className="flex items-center gap-2 shrink-0">
59
59
  {actions}
60
- <LanguagePicker variant="icon" />
61
60
  <RunsTray pollMs={1500} />
62
61
  <AgentToggleButton />
63
62
  </div>
@@ -4,6 +4,7 @@ import {
4
4
  type ReactNode,
5
5
  type FC,
6
6
  } from "react";
7
+ import { useT } from "@agent-native/core/client";
7
8
  import { Skeleton } from "@/components/ui/skeleton";
8
9
 
9
10
  /**
@@ -85,5 +86,11 @@ export function useSetHeaderActions(node: ReactNode) {
85
86
  }
86
87
 
87
88
  export function DashboardTitleSkeleton() {
88
- return <Skeleton className="h-6 w-56" aria-label="Loading dashboard title" />;
89
+ const t = useT();
90
+ return (
91
+ <Skeleton
92
+ className="h-6 w-56"
93
+ aria-label={t("navigation.loadingDashboardTitle")}
94
+ />
95
+ );
89
96
  }
@@ -121,11 +121,8 @@ export function Layout({ children }: LayoutProps) {
121
121
  questions={guidedQuestions}
122
122
  onSubmit={handleGuidedSubmit}
123
123
  onSkip={handleGuidedSkip}
124
- title={guidedTitle ?? "Clarify the dashboard"}
125
- description={
126
- guidedDescription ??
127
- "A few choices help the agent pick the right source, metrics, cuts, and layout before it writes SQL."
128
- }
124
+ title={guidedTitle ?? t("guidedQuestions.title")}
125
+ description={guidedDescription ?? t("guidedQuestions.description")}
129
126
  skipLabel={guidedSkipLabel}
130
127
  submitLabel={guidedSubmitLabel}
131
128
  />