@metaboliccode-dev/widget 0.2.5 → 0.2.7

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 (42) hide show
  1. package/dist/MetabolicDashboard/api/fetchFullReport.d.ts +6 -1
  2. package/dist/MetabolicDashboard/api/mappers/mapAlertLabSummaryPage.d.ts +2 -2
  3. package/dist/MetabolicDashboard/api/mappers/mapDashboardPage.d.ts +2 -2
  4. package/dist/MetabolicDashboard/api/mappers/mapLabResultsPage.d.ts +2 -2
  5. package/dist/MetabolicDashboard/api/mappers/mapTotalPredictiveIndexPage.d.ts +2 -2
  6. package/dist/MetabolicDashboard/api/reportPageTypes.d.ts +108 -0
  7. package/dist/components/DashboardTab/AlertLabSummarySection.d.ts +3 -1
  8. package/dist/components/DashboardTab/CategoryTableRow.d.ts +6 -1
  9. package/dist/components/DashboardTab/DashboardLabSectionHeader.d.ts +2 -1
  10. package/dist/components/DashboardTab/TotalPredictiveTrendSnapshotSection.d.ts +3 -1
  11. package/dist/components/DashboardTab/TotalPredictiveTrendsSection.d.ts +3 -1
  12. package/dist/components/DashboardTab/TrendRowStatusButton.d.ts +16 -0
  13. package/dist/components/DashboardTab/TrendStatusExplanationPanel/EduTextCard.d.ts +7 -0
  14. package/dist/components/DashboardTab/TrendStatusExplanationPanel/OrganContentSections.d.ts +6 -0
  15. package/dist/components/DashboardTab/TrendStatusExplanationPanel/StressStageCard.d.ts +10 -0
  16. package/dist/components/DashboardTab/TrendStatusExplanationPanel/TrendPanelAnatomyIllustration.d.ts +7 -0
  17. package/dist/components/DashboardTab/TrendStatusExplanationPanel/TrendStatusExplanationPanel.d.ts +2 -0
  18. package/dist/components/DashboardTab/TrendStatusExplanationPanel/index.d.ts +2 -0
  19. package/dist/components/DashboardTab/TrendStatusExplanationPanel/panelUtils.d.ts +6 -0
  20. package/dist/components/DashboardTab/TrendStatusExplanationPanel/types.d.ts +26 -0
  21. package/dist/components/DashboardTab/TrendStatusExplanationPanel/useTrendPanelBrandingStyles.d.ts +2 -0
  22. package/dist/components/DashboardTab/totalPredictiveTriad1SummaryConstant.d.ts +2 -0
  23. package/dist/components/OrganDetailPage/ContentBlocks.d.ts +4 -0
  24. package/dist/components/OrganDetailPage/OrganDetailCortisol.d.ts +5 -0
  25. package/dist/components/OrganDetailPage/OrganDetailHero.d.ts +4 -0
  26. package/dist/components/OrganDetailPage/OrganDetailPage.d.ts +2 -0
  27. package/dist/components/OrganDetailPage/OrganDetailStages.d.ts +4 -0
  28. package/dist/components/OrganDetailPage/imageUrl.d.ts +1 -0
  29. package/dist/components/OrganDetailPage/index.d.ts +2 -0
  30. package/dist/components/OrganDetailPage/types.d.ts +16 -0
  31. package/dist/components/dashboard/components/sections/MetabolicTriadCategoryPanel/primitives.d.ts +2 -1
  32. package/dist/components/dashboard/components/sections/MetabolicTriadCategoryPanel/types.d.ts +2 -0
  33. package/dist/components/dashboard/components/sections/MetabolicTriadSectionCard.d.ts +2 -1
  34. package/dist/components/dashboard/data/contentTypes.d.ts +15 -0
  35. package/dist/components/dashboard/data/index.d.ts +1 -1
  36. package/dist/components/icons/CloseIcon.d.ts +3 -0
  37. package/dist/components/icons/index.d.ts +1 -0
  38. package/dist/components/index.d.ts +2 -1
  39. package/dist/index.css +1 -1
  40. package/dist/index.d.ts +2 -2
  41. package/dist/index.js +2598 -1745
  42. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import type { FetchReportPageOptions } from "./fetchReportPage";
2
- import type { ReportPageDtoByNavId } from "./reportPageTypes";
2
+ import type { AlertLabContentMap, CortisolContentDto, IntroductionContentDto, OrganContentMap, ReportPageDtoByNavId, TriadContentDto } from "./reportPageTypes";
3
3
  export type FullReportDto = {
4
4
  report: {
5
5
  id: string;
@@ -12,6 +12,11 @@ export type FullReportDto = {
12
12
  observations: readonly unknown[];
13
13
  };
14
14
  pages: ReportPageDtoByNavId;
15
+ organ_content?: OrganContentMap;
16
+ triad_content?: readonly TriadContentDto[];
17
+ introduction_content?: IntroductionContentDto;
18
+ cortisol_content?: CortisolContentDto;
19
+ alert_lab_content?: AlertLabContentMap;
15
20
  };
16
21
  export type FetchFullReportOptions = FetchReportPageOptions;
17
22
  export declare function buildFullReportUrl(baseUrl: string, reportId?: string): string;
@@ -1,3 +1,3 @@
1
1
  import type { AlertLabSummaryTabContent } from "../../../components/dashboard/data/contentTypes";
2
- import type { AlertLabSummaryPageDto } from "../reportPageTypes";
3
- export declare function mapAlertLabSummaryDtoToTabContent(dto: AlertLabSummaryPageDto): AlertLabSummaryTabContent;
2
+ import type { AlertLabContentMap, AlertLabSummaryPageDto } from "../reportPageTypes";
3
+ export declare function mapAlertLabSummaryDtoToTabContent(dto: AlertLabSummaryPageDto, alertLabContent?: AlertLabContentMap): AlertLabSummaryTabContent;
@@ -1,3 +1,3 @@
1
1
  import type { DashboardTabContent } from "../../../components/dashboard/data/contentTypes";
2
- import type { DashboardPageDto } from "../reportPageTypes";
3
- export declare function mapDashboardPageDtoToTabContent(dto: DashboardPageDto): DashboardTabContent;
2
+ import type { DashboardPageDto, OrganContentMap } from "../reportPageTypes";
3
+ export declare function mapDashboardPageDtoToTabContent(dto: DashboardPageDto, organContent?: OrganContentMap): DashboardTabContent;
@@ -1,3 +1,3 @@
1
1
  import type { LabResultsTabContent } from "../../../components/dashboard/data/contentTypes";
2
- import type { LabResultsPageDto } from "../reportPageTypes";
3
- export declare function mapLabResultsDtoToTabContent(dto: LabResultsPageDto): LabResultsTabContent;
2
+ import type { LabResultsPageDto, TriadContentDto } from "../reportPageTypes";
3
+ export declare function mapLabResultsDtoToTabContent(dto: LabResultsPageDto, triadContent?: readonly TriadContentDto[]): LabResultsTabContent;
@@ -1,3 +1,3 @@
1
1
  import type { TotalPredictiveIndexTabContent } from "../../../components/dashboard/data/contentTypes";
2
- import type { TotalPredictiveIndexPageDto } from "../reportPageTypes";
3
- export declare function mapTotalPredictiveIndexDtoToTabContent(dto: TotalPredictiveIndexPageDto): TotalPredictiveIndexTabContent;
2
+ import type { CortisolContentDto, OrganContentMap, TotalPredictiveIndexPageDto } from "../reportPageTypes";
3
+ export declare function mapTotalPredictiveIndexDtoToTabContent(dto: TotalPredictiveIndexPageDto, organContent?: OrganContentMap, cortisolContent?: CortisolContentDto): TotalPredictiveIndexTabContent;
@@ -177,6 +177,7 @@ export type AlertLabSummaryPageDto = {
177
177
  }[];
178
178
  };
179
179
  export type AlertLabMetricDto = {
180
+ code?: string | null;
180
181
  name: string;
181
182
  value?: number | null;
182
183
  unit?: string | null;
@@ -184,6 +185,113 @@ export type AlertLabMetricDto = {
184
185
  normal_range: NumericRangeDto | null;
185
186
  indicator_percent?: number | null;
186
187
  };
188
+ export type OrganContentTriadDto = {
189
+ number: number;
190
+ name: string;
191
+ image_url: string;
192
+ };
193
+ export type OrganContentImagesDto = {
194
+ body_url: string;
195
+ organ_url: string;
196
+ };
197
+ export type OrganContentListItemDto = string | {
198
+ text: string;
199
+ children: readonly string[];
200
+ };
201
+ export type OrganContentBlockDto = {
202
+ type: "paragraph";
203
+ text: string;
204
+ } | {
205
+ type: "subheading";
206
+ text: string;
207
+ } | {
208
+ type: "list";
209
+ items: readonly OrganContentListItemDto[];
210
+ } | {
211
+ type: "table";
212
+ rows: readonly (readonly string[])[];
213
+ };
214
+ export type OrganContentSectionDto = {
215
+ title: string;
216
+ blocks: readonly OrganContentBlockDto[];
217
+ };
218
+ export type OrganContentStageDto = {
219
+ number: number;
220
+ title: string;
221
+ subtitle?: string | null;
222
+ image_url: string;
223
+ highlights: readonly string[];
224
+ symptoms: readonly string[];
225
+ };
226
+ export type OrganContentDto = {
227
+ key: string;
228
+ triad: OrganContentTriadDto;
229
+ images: OrganContentImagesDto;
230
+ sections: readonly OrganContentSectionDto[];
231
+ stages?: readonly OrganContentStageDto[];
232
+ };
233
+ export type OrganContentMap = {
234
+ readonly [organKey: string]: OrganContentDto;
235
+ };
236
+ export type TriadContentDto = {
237
+ number: number;
238
+ name: string;
239
+ image_url: string;
240
+ organ_keys: readonly string[];
241
+ explainer_paragraphs: readonly string[];
242
+ };
243
+ export type IntroductionTriadSummaryDto = {
244
+ number: number;
245
+ name: string;
246
+ image_url: string;
247
+ organs_line: string;
248
+ headline: string;
249
+ description: string;
250
+ };
251
+ export type IntroductionContentDto = {
252
+ sections: readonly OrganContentSectionDto[];
253
+ triad_summaries: readonly IntroductionTriadSummaryDto[];
254
+ quote: {
255
+ icon_url: string;
256
+ text: string;
257
+ signature: string;
258
+ };
259
+ lifestyle_image_url: string;
260
+ };
261
+ export type CortisolVariantDto = {
262
+ kind: string;
263
+ triad_image_url: string;
264
+ heading: string;
265
+ sub_heading: string;
266
+ lab_title: string;
267
+ ranges: ReadonlyArray<{
268
+ label: string;
269
+ tone: string;
270
+ }>;
271
+ blocks: readonly OrganContentBlockDto[];
272
+ };
273
+ export type CortisolContentDto = {
274
+ urinary: CortisolVariantDto;
275
+ salivary: CortisolVariantDto;
276
+ };
277
+ export type AlertLabContentItemDto = {
278
+ is_paragraph: boolean;
279
+ text: string;
280
+ };
281
+ export type AlertLabContentEntryDto = {
282
+ key: string;
283
+ sections: {
284
+ default?: readonly AlertLabContentItemDto[];
285
+ low?: readonly AlertLabContentItemDto[];
286
+ high?: readonly AlertLabContentItemDto[];
287
+ trend_low?: readonly AlertLabContentItemDto[];
288
+ trend_high?: readonly AlertLabContentItemDto[];
289
+ optimal?: readonly AlertLabContentItemDto[];
290
+ };
291
+ };
292
+ export type AlertLabContentMap = {
293
+ readonly [labKey: string]: AlertLabContentEntryDto;
294
+ };
187
295
  export type ReportPageDtoByNavId = {
188
296
  dashboard: DashboardPageDto;
189
297
  "total-predictive-index": TotalPredictiveIndexPageDto;
@@ -1,4 +1,6 @@
1
+ import type { OrganContentMap } from "../../MetabolicDashboard/api/reportPageTypes";
1
2
  import type { DashboardTabContent } from "../dashboard/data";
2
- export declare function AlertLabSummarySection({ data, }: {
3
+ export declare function AlertLabSummarySection({ data, organContent, }: {
3
4
  data: NonNullable<DashboardTabContent["alertLabSummaryTable"]>;
5
+ organContent?: OrganContentMap;
4
6
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,9 @@
1
+ import type { OrganContentMap } from "../../MetabolicDashboard/api/reportPageTypes";
1
2
  import type { DashboardAlertLabTableRowContent, DashboardTriadTrendCategoryRowContent } from "../dashboard/data";
2
- export declare function CategoryTableRow({ row, }: {
3
+ export declare function CategoryTableRow({ row, statusPanelIntroParagraphs, lastLabsLabel, triadNumber, organContent, }: {
3
4
  row: DashboardTriadTrendCategoryRowContent | DashboardAlertLabTableRowContent;
5
+ statusPanelIntroParagraphs?: readonly string[];
6
+ lastLabsLabel?: string;
7
+ triadNumber?: number;
8
+ organContent?: OrganContentMap;
4
9
  }): import("react/jsx-runtime").JSX.Element;
@@ -5,6 +5,7 @@ export type DashboardLabSectionHeaderProps = {
5
5
  lastLabsCaption?: string;
6
6
  lastLabsLabel: string;
7
7
  viewAllLabel: string;
8
+ viewAllLabelCompact?: string;
8
9
  onViewAllClick?: () => void;
9
10
  };
10
- export declare function DashboardLabSectionHeader({ sectionTitle, infoTooltip, infoAriaLabel, lastLabsCaption, lastLabsLabel, viewAllLabel, onViewAllClick, }: DashboardLabSectionHeaderProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function DashboardLabSectionHeader({ sectionTitle, infoTooltip, infoAriaLabel, lastLabsCaption, lastLabsLabel, viewAllLabel, viewAllLabelCompact, onViewAllClick, }: DashboardLabSectionHeaderProps): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,6 @@
1
+ import type { OrganContentMap } from "../../MetabolicDashboard/api/reportPageTypes";
1
2
  import type { DashboardTotalPredictiveTrendsContent } from "../dashboard/data";
2
- export declare function TotalPredictiveTrendSnapshotSection({ data, }: {
3
+ export declare function TotalPredictiveTrendSnapshotSection({ data, organContent, }: {
3
4
  data: DashboardTotalPredictiveTrendsContent;
5
+ organContent?: OrganContentMap;
4
6
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,6 @@
1
+ import type { OrganContentMap } from "../../MetabolicDashboard/api/reportPageTypes";
1
2
  import type { DashboardTotalPredictiveTrendsContent } from "../dashboard/data";
2
- export declare function TotalPredictiveTrendsSection({ data }: {
3
+ export declare function TotalPredictiveTrendsSection({ data, organContent }: {
3
4
  data: DashboardTotalPredictiveTrendsContent;
5
+ organContent?: OrganContentMap;
4
6
  }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import type { OrganContentMap } from "../../MetabolicDashboard/api/reportPageTypes";
2
+ import { type ButtonVariant } from "../Button";
3
+ import type { DashboardTrendStatus, DashboardTrendStatusExplanationPanelContent } from "../dashboard/data";
4
+ import { type TrendStatusExplanationPanelRowData } from "./TrendStatusExplanationPanel";
5
+ export declare function TrendRowStatusButton({ badgeLabel, trendStatus, trendStatusVariant, className, statusExplanationPanel, panelIntroParagraphs, rowData, panelLabsDateLabel, triadNumber, organContent, }: {
6
+ badgeLabel: string;
7
+ trendStatus: DashboardTrendStatus;
8
+ trendStatusVariant: ButtonVariant;
9
+ className?: string;
10
+ statusExplanationPanel?: DashboardTrendStatusExplanationPanelContent;
11
+ panelIntroParagraphs?: readonly string[];
12
+ rowData?: TrendStatusExplanationPanelRowData;
13
+ panelLabsDateLabel?: string;
14
+ triadNumber?: number;
15
+ organContent?: OrganContentMap;
16
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import type { ReactNode } from "react";
2
+ type EduTextCardProps = {
3
+ heading: string;
4
+ children: ReactNode;
5
+ };
6
+ export declare function EduTextCard({ heading, children }: EduTextCardProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,6 @@
1
+ import type { OrganContentSectionDto } from "../../../MetabolicDashboard/api/reportPageTypes";
2
+ type OrganContentSectionsProps = {
3
+ sections: readonly OrganContentSectionDto[];
4
+ };
5
+ export declare function OrganContentSections({ sections }: OrganContentSectionsProps): import("react/jsx-runtime").JSX.Element | null;
6
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from "react";
2
+ type StressStageCardProps = {
3
+ title: string;
4
+ subtitle?: string;
5
+ symptoms: readonly string[];
6
+ bullets?: readonly string[];
7
+ infoTooltip?: ReactNode;
8
+ };
9
+ export declare function StressStageCard({ title, subtitle, symptoms, bullets, infoTooltip, }: StressStageCardProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,7 @@
1
+ type TrendPanelAnatomyIllustrationProps = {
2
+ bodyImageUrl?: string;
3
+ organImageUrl?: string;
4
+ organName?: string;
5
+ };
6
+ export declare function TrendPanelAnatomyIllustration({ bodyImageUrl, organImageUrl, organName, }: TrendPanelAnatomyIllustrationProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { TrendStatusExplanationPanelProps } from "./types";
2
+ export declare function TrendStatusExplanationPanel({ open, onClose, title, trendStatus, introParagraphs, bodyParagraphs, rowData, labsDateLabel, triadNumber, organKey, organContent, }: TrendStatusExplanationPanelProps): import("react").ReactPortal | null;
@@ -0,0 +1,2 @@
1
+ export { TrendStatusExplanationPanel } from "./TrendStatusExplanationPanel";
2
+ export type { TrendStatusExplanationPanelProps, TrendStatusExplanationPanelRowData, } from "./types";
@@ -0,0 +1,6 @@
1
+ import type { DashboardTrendStatus } from "../../dashboard/data";
2
+ export declare function statusHeadline(status: DashboardTrendStatus, categoryLabel: string): {
3
+ text: string;
4
+ color: string;
5
+ };
6
+ export declare function trendStatusBarPointerPercent(status: DashboardTrendStatus): number;
@@ -0,0 +1,26 @@
1
+ import type { OrganContentMap } from "../../../MetabolicDashboard/api/reportPageTypes";
2
+ import type { DashboardTrendStatus } from "../../dashboard/data";
3
+ export type TrendStatusExplanationPanelRowData = {
4
+ name: string;
5
+ symptomScore: string;
6
+ labScore: string;
7
+ totalScore: string;
8
+ previousSymptomScore?: string;
9
+ previousLabScore?: string;
10
+ previousTotalScore?: string;
11
+ previousDateLabel?: string;
12
+ currentDateLabel?: string;
13
+ };
14
+ export type TrendStatusExplanationPanelProps = {
15
+ open: boolean;
16
+ onClose: () => void;
17
+ title: string;
18
+ trendStatus: DashboardTrendStatus;
19
+ introParagraphs?: readonly string[];
20
+ bodyParagraphs: readonly string[];
21
+ rowData?: TrendStatusExplanationPanelRowData;
22
+ labsDateLabel?: string;
23
+ triadNumber?: number;
24
+ organKey?: string;
25
+ organContent?: OrganContentMap;
26
+ };
@@ -0,0 +1,2 @@
1
+ import type { CSSProperties } from "react";
2
+ export declare function useTrendPanelBrandingStyles(): CSSProperties;
@@ -0,0 +1,2 @@
1
+ export declare const TOTAL_PREDICTIVE_TRIAD_1_SUMMARY = "Triad 1 is your body's Energy hub. The adrenals manage stress, the thyroid drives metabolism, and the pancreas regulates blood sugar. When in sync, you feel steady energy, focus, and balanced moods all day. Out of balance, you may wake up tired, crash mid-afternoon, crave sugar or caffeine, and find weight harder to control. Stress feels heavier, and motivation dips. Balancing Triad 1 restores your natural rhythm \u2014 smoother energy, sharper focus, calmer moods, and stronger resilience. It's the foundation for feeling refreshed in the morning and powered through the day.";
2
+ export declare const TOTAL_PREDICTIVE_TRIAD_1_SUMMARY_PARAGRAPHS: readonly ["Triad 1 is your body's Energy hub. The adrenals manage stress, the thyroid drives metabolism, and the pancreas regulates blood sugar. When in sync, you feel steady energy, focus, and balanced moods all day. Out of balance, you may wake up tired, crash mid-afternoon, crave sugar or caffeine, and find weight harder to control. Stress feels heavier, and motivation dips. Balancing Triad 1 restores your natural rhythm — smoother energy, sharper focus, calmer moods, and stronger resilience. It's the foundation for feeling refreshed in the morning and powered through the day."];
@@ -0,0 +1,4 @@
1
+ import type { OrganContentBlockDto } from "../../MetabolicDashboard/api/reportPageTypes";
2
+ export declare function ContentBlocks({ blocks }: {
3
+ blocks: readonly OrganContentBlockDto[];
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import type { CortisolVariantDto } from "../../MetabolicDashboard/api/reportPageTypes";
2
+ export declare function OrganDetailCortisol({ urinary, salivary, }: {
3
+ urinary: CortisolVariantDto;
4
+ salivary: CortisolVariantDto;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import type { OrganDetailPagePatientData } from "./types";
2
+ export declare function OrganDetailHero({ patient }: {
3
+ patient: OrganDetailPagePatientData;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { OrganDetailPageProps } from "./types";
2
+ export declare function OrganDetailPage({ patient, content, onBack, cortisolContent, }: OrganDetailPageProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import type { OrganContentStageDto } from "../../MetabolicDashboard/api/reportPageTypes";
2
+ export declare function OrganDetailStages({ stages }: {
3
+ stages: readonly OrganContentStageDto[];
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function resolveOrganImageUrl(path: string): string;
@@ -0,0 +1,2 @@
1
+ export { OrganDetailPage } from "./OrganDetailPage";
2
+ export type { OrganDetailPagePatientData, OrganDetailPageProps } from "./types";
@@ -0,0 +1,16 @@
1
+ import type { CortisolContentDto, OrganContentDto } from "../../MetabolicDashboard/api/reportPageTypes";
2
+ export type OrganDetailPagePatientData = {
3
+ triadHeading: string;
4
+ organDisplayName: string;
5
+ symptomScore: string;
6
+ labScore: string;
7
+ totalScore: string;
8
+ trendIndicatorPercent?: number;
9
+ interpretationLabel?: string;
10
+ };
11
+ export type OrganDetailPageProps = {
12
+ patient: OrganDetailPagePatientData;
13
+ content: OrganContentDto;
14
+ onBack: () => void;
15
+ cortisolContent?: CortisolContentDto;
16
+ };
@@ -1,8 +1,9 @@
1
1
  import type { ReactNode } from "react";
2
2
  import type { MetabolicTriadCategoryPanelRangeBarProps } from "./types";
3
- export declare function ValueBadge({ value, variant, }: {
3
+ export declare function ValueBadge({ value, variant, className, }: {
4
4
  value: string | undefined;
5
5
  variant?: "default" | "total";
6
+ className?: string;
6
7
  }): import("react/jsx-runtime").JSX.Element;
7
8
  export declare function CategoryPanelFrame({ children, trendColor, }: {
8
9
  children: ReactNode;
@@ -26,6 +26,7 @@ export type MetabolicTriadCategoryPanelProps = {
26
26
  previousRangeLabel: string;
27
27
  siblingTotals: readonly (number | null)[];
28
28
  trendBar?: TriadTrendBarConfig;
29
+ onCategoryClick?: (category: TriadResiliencyCategoryContent) => void;
29
30
  } | {
30
31
  layout: "questionnaire";
31
32
  category: QuestionnaireCategoryContent;
@@ -38,6 +39,7 @@ export type MetabolicTriadCategoryPanelProps = {
38
39
  infoAriaLabel: string;
39
40
  infoTooltip?: string;
40
41
  onInfoClick?: () => void;
42
+ showInfoButton?: boolean;
41
43
  rows: readonly MetabolicTriadCategoryPanelMetricRow[];
42
44
  indicatorPercent: number;
43
45
  indicatorPosition?: "continuous" | "segmentCenter";
@@ -1,7 +1,8 @@
1
- import type { QuestionnaireAnalysisSectionContent, TriadResiliencyCardContent } from "../../data";
1
+ import type { QuestionnaireAnalysisSectionContent, TriadResiliencyCardContent, TriadResiliencyCategoryContent } from "../../data";
2
2
  export type MetabolicTriadSectionCardProps = (TriadResiliencyCardContent & {
3
3
  variant?: "triadResiliency";
4
4
  onInfoClick?: () => void;
5
+ onCategoryClick?: (category: TriadResiliencyCategoryContent) => void;
5
6
  }) | (QuestionnaireAnalysisSectionContent & {
6
7
  variant: "questionnaire";
7
8
  currentRangeLabel?: string;
@@ -1,3 +1,4 @@
1
+ import type { CortisolContentDto, OrganContentMap } from "../../../MetabolicDashboard/api/reportPageTypes";
1
2
  import type { TriadTrendBarConfig } from "../triadTrendIndicator";
2
3
  export type WelcomeActionId = "schedule-labs" | "export-reports";
3
4
  export type DashboardWelcomeContent = {
@@ -53,6 +54,11 @@ export type LabMetricRangeCardContent = {
53
54
  downloadAriaLabel: string;
54
55
  };
55
56
  export type DashboardTrendStatus = "optimal" | "trending" | "high" | "low";
57
+ export type DashboardTrendStatusExplanationPanelContent = {
58
+ panelTitle?: string;
59
+ bodyParagraphs: readonly string[];
60
+ organKey?: string;
61
+ };
56
62
  export type DashboardTriadTrendChipContent = {
57
63
  triadNumber: number;
58
64
  name: string;
@@ -66,6 +72,7 @@ export type DashboardTriadTrendCategoryRowContent = {
66
72
  labScore: string;
67
73
  totalScore: string;
68
74
  status: DashboardTrendStatus;
75
+ statusExplanationPanel?: DashboardTrendStatusExplanationPanelContent;
69
76
  };
70
77
  export type DashboardTotalPredictiveTrendsContent = {
71
78
  sectionTitle: string;
@@ -74,6 +81,7 @@ export type DashboardTotalPredictiveTrendsContent = {
74
81
  lastLabsCaption?: string;
75
82
  lastLabsLabel: string;
76
83
  viewAllLabel: string;
84
+ viewAllLabelCompact?: string;
77
85
  triads: readonly DashboardTriadTrendChipContent[];
78
86
  categoriesByTriadIndex: readonly (readonly DashboardTriadTrendCategoryRowContent[])[];
79
87
  };
@@ -85,6 +93,7 @@ export type DashboardAlertLabTableRowContent = {
85
93
  labScore: string;
86
94
  totalScore: string;
87
95
  status: DashboardTrendStatus;
96
+ statusExplanationPanel?: DashboardTrendStatusExplanationPanelContent;
88
97
  };
89
98
  export type DashboardAlertLabSummaryTableContent = {
90
99
  sectionTitle: string;
@@ -93,6 +102,7 @@ export type DashboardAlertLabSummaryTableContent = {
93
102
  lastLabsCaption?: string;
94
103
  lastLabsLabel: string;
95
104
  viewAllLabel: string;
105
+ viewAllLabelCompact?: string;
96
106
  rows: readonly DashboardAlertLabTableRowContent[];
97
107
  };
98
108
  export type DashboardPatientSummaryRow = readonly [string, string];
@@ -112,6 +122,7 @@ export type DashboardTabContent = {
112
122
  metaflammation?: DashboardMetaflammationContent;
113
123
  totalPredictiveTrends?: DashboardTotalPredictiveTrendsContent;
114
124
  alertLabSummaryTable?: DashboardAlertLabSummaryTableContent;
125
+ organContent?: OrganContentMap;
115
126
  };
116
127
  export type TriadResiliencyCategoryContent = {
117
128
  title: string;
@@ -122,6 +133,7 @@ export type TriadResiliencyCategoryContent = {
122
133
  previousLab?: string;
123
134
  previousTotal?: string;
124
135
  trendIndicatorPercent?: number;
136
+ organKey?: string;
125
137
  };
126
138
  export type TriadResiliencyCardContent = {
127
139
  triadNumber: number;
@@ -140,6 +152,8 @@ export type TotalPredictiveIndexTabContent = {
140
152
  subtitle: string;
141
153
  };
142
154
  triadCards: readonly TriadResiliencyCardContent[];
155
+ organContent?: OrganContentMap;
156
+ cortisolContent?: CortisolContentDto;
143
157
  };
144
158
  export type WellnessIndicatorZoneBounds = {
145
159
  min: number;
@@ -291,6 +305,7 @@ export type AlertLabSummaryCardContent = {
291
305
  riskRows: readonly AlertLabSummaryPairRowContent[];
292
306
  nutrientsLeadParagraph: string;
293
307
  nutrientRows: readonly AlertLabSummaryPairRowContent[];
308
+ labCode?: string | null;
294
309
  };
295
310
  export type AlertLabSummaryTabContent = {
296
311
  pageHeader: {
@@ -1,2 +1,2 @@
1
1
  export type { TriadTrendBarConfig, TriadTrendBarMapping } from "../triadTrendIndicator";
2
- export type { AlertLabSummaryCardContent, AlertLabSummaryPairRowContent, AlertLabSummaryTabContent, DashboardAlertLabSummaryTableContent, DashboardAlertLabTableRowContent, DashboardMetaflammationContent, DashboardOverallScoreContent, DashboardPatientSummaryContent, DashboardPatientSummaryRow, DashboardTabContent, DashboardTotalPredictiveTrendsContent, DashboardTrendStatus, DashboardTriadTrendCategoryRowContent, DashboardTriadTrendChipContent, DashboardWelcomeContent, LabAnalysisMarkerRowContent, LabAnalysisSectionContent, LabAnalysisTabContent, LabMetricRangeCardContent, LabResultsGroupContent, LabResultsIntroContent, LabResultsMetricContent, LabResultsTabContent, PractitionerNotesContent, QuestionnaireAnalysisSectionContent, QuestionnaireAnalysisTabContent, QuestionnaireCategoryContent, QuestionnaireTrendZone, SuggestedProductItemContent, SuggestedProductsTabContent, SupplementScheduleCardContent, SupplementScheduleRowContent, SupplementScheduleTabContent, TotalPredictiveIndexTabContent, TriadRadarReportContent, TriadResiliencyCardContent, TriadResiliencyCategoryContent, WelcomeActionId, WellnessIndicatorCardContent, WellnessIndicatorsTabContent, WellnessIndicatorZoneBounds, WellnessIndicatorZones, } from "./contentTypes";
2
+ export type { AlertLabSummaryCardContent, AlertLabSummaryPairRowContent, AlertLabSummaryTabContent, DashboardAlertLabSummaryTableContent, DashboardAlertLabTableRowContent, DashboardMetaflammationContent, DashboardOverallScoreContent, DashboardPatientSummaryContent, DashboardPatientSummaryRow, DashboardTabContent, DashboardTotalPredictiveTrendsContent, DashboardTrendStatus, DashboardTrendStatusExplanationPanelContent, DashboardTriadTrendCategoryRowContent, DashboardTriadTrendChipContent, DashboardWelcomeContent, LabAnalysisMarkerRowContent, LabAnalysisSectionContent, LabAnalysisTabContent, LabMetricRangeCardContent, LabResultsGroupContent, LabResultsIntroContent, LabResultsMetricContent, LabResultsTabContent, PractitionerNotesContent, QuestionnaireAnalysisSectionContent, QuestionnaireAnalysisTabContent, QuestionnaireCategoryContent, QuestionnaireTrendZone, SuggestedProductItemContent, SuggestedProductsTabContent, SupplementScheduleCardContent, SupplementScheduleRowContent, SupplementScheduleTabContent, TotalPredictiveIndexTabContent, TriadRadarReportContent, TriadResiliencyCardContent, TriadResiliencyCategoryContent, WelcomeActionId, WellnessIndicatorCardContent, WellnessIndicatorsTabContent, WellnessIndicatorZoneBounds, WellnessIndicatorZones, } from "./contentTypes";
@@ -0,0 +1,3 @@
1
+ export declare function CloseIcon({ className }: {
2
+ className?: string;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,6 @@
1
1
  export { ArrowRightIcon } from "./ArrowRightIcon";
2
2
  export { ChevronRightIcon } from "./ChevronRightIcon";
3
+ export { CloseIcon } from "./CloseIcon";
3
4
  export { CalendarIcon } from "./CalendarIcon";
4
5
  export { ClockIcon } from "./ClockIcon";
5
6
  export { DownloadIcon } from "./DownloadIcon";
@@ -5,11 +5,12 @@ export { Button } from "./Button";
5
5
  export { DashboardTab } from "./DashboardTab";
6
6
  export { DashboardTabSkeleton } from "./DashboardTab/DashboardTabSkeleton";
7
7
  export { MetabolicTriadCategoryPanelSkeleton, type MetabolicTriadCategoryPanelSkeletonProps, } from "./dashboard/components/sections/MetabolicTriadCategoryPanelSkeleton";
8
- export type { AlertLabSummaryCardContent, AlertLabSummaryPairRowContent, DashboardAlertLabSummaryTableContent, DashboardAlertLabTableRowContent, DashboardMetaflammationContent, DashboardOverallScoreContent, DashboardPatientSummaryContent, DashboardPatientSummaryRow, DashboardTabContent, DashboardTotalPredictiveTrendsContent, DashboardTrendStatus, DashboardTriadTrendCategoryRowContent, DashboardTriadTrendChipContent, DashboardWelcomeContent, LabAnalysisMarkerRowContent, LabAnalysisSectionContent, LabMetricRangeCardContent, LabResultsGroupContent, LabResultsIntroContent, LabResultsMetricContent, PractitionerNotesContent, QuestionnaireAnalysisSectionContent, QuestionnaireCategoryContent, QuestionnaireTrendZone, SupplementScheduleCardContent, SupplementScheduleRowContent, TriadRadarReportContent, TriadResiliencyCardContent, TriadResiliencyCategoryContent, TriadTrendBarConfig, TriadTrendBarMapping, WelcomeActionId, WellnessIndicatorCardContent, WellnessIndicatorZoneBounds, WellnessIndicatorZones, } from "./dashboard/data";
8
+ export type { AlertLabSummaryCardContent, AlertLabSummaryPairRowContent, DashboardAlertLabSummaryTableContent, DashboardAlertLabTableRowContent, DashboardMetaflammationContent, DashboardOverallScoreContent, DashboardPatientSummaryContent, DashboardPatientSummaryRow, DashboardTabContent, DashboardTotalPredictiveTrendsContent, DashboardTrendStatus, DashboardTrendStatusExplanationPanelContent, DashboardTriadTrendCategoryRowContent, DashboardTriadTrendChipContent, DashboardWelcomeContent, LabAnalysisMarkerRowContent, LabAnalysisSectionContent, LabMetricRangeCardContent, LabResultsGroupContent, LabResultsIntroContent, LabResultsMetricContent, PractitionerNotesContent, QuestionnaireAnalysisSectionContent, QuestionnaireCategoryContent, QuestionnaireTrendZone, SupplementScheduleCardContent, SupplementScheduleRowContent, TriadRadarReportContent, TriadResiliencyCardContent, TriadResiliencyCategoryContent, TriadTrendBarConfig, TriadTrendBarMapping, WelcomeActionId, WellnessIndicatorCardContent, WellnessIndicatorZoneBounds, WellnessIndicatorZones, } from "./dashboard/data";
9
9
  export { LabAnalysisTab, type LabAnalysisTabContent, } from "./LabAnalysisTab";
10
10
  export { LabAnalysisTabSkeleton } from "./LabAnalysisTab/LabAnalysisTabSkeleton";
11
11
  export { LabResultsTab, type LabResultsTabContent, } from "./LabResultsTab";
12
12
  export { LabResultsTabSkeleton } from "./LabResultsTab/LabResultsTabSkeleton";
13
+ export { OrganDetailPage, type OrganDetailPagePatientData, type OrganDetailPageProps, } from "./OrganDetailPage";
13
14
  export type { PageHeaderProps } from "./PageHeader";
14
15
  export { PageHeader } from "./PageHeader";
15
16
  export { QuestionnaireAnalysisTab, type QuestionnaireAnalysisTabContent, } from "./QuestionnaireAnalysisTab";