@sanity/ailf-studio 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -113,8 +113,8 @@ interface SyncStatusBadgeProps {
113
113
  lastSyncedAt: string;
114
114
  /** Optional: show the commit SHA alongside the badge */
115
115
  commitSha?: string;
116
- /** Font size (default: 0 for compact list view) */
117
- fontSize?: 0 | 1;
116
+ /** Font size (default: 1 for compact list view) */
117
+ fontSize?: 1 | 2;
118
118
  }
119
119
  declare function SyncStatusBadge({ lastSyncedAt, commitSha, fontSize, }: SyncStatusBadgeProps): react_jsx_runtime.JSX.Element;
120
120
 
package/dist/index.js CHANGED
@@ -1647,22 +1647,22 @@ var TEMPLATE_HELP = {
1647
1647
  function TypeHelpCard({ help }) {
1648
1648
  return /* @__PURE__ */ jsx2(Card, { padding: 3, radius: 2, tone: "transparent", border: true, children: /* @__PURE__ */ jsxs2(Stack2, { space: 3, children: [
1649
1649
  /* @__PURE__ */ jsxs2(Flex, { align: "flex-start", gap: 2, children: [
1650
- /* @__PURE__ */ jsx2(Box2, { style: { flexShrink: 0, marginTop: 1 }, children: /* @__PURE__ */ jsx2(Text2, { size: 1, muted: true, children: /* @__PURE__ */ jsx2(HelpCircleIcon, {}) }) }),
1651
- /* @__PURE__ */ jsx2(Text2, { size: 1, muted: true, children: help.description })
1650
+ /* @__PURE__ */ jsx2(Box2, { style: { flexShrink: 0, marginTop: 1 }, children: /* @__PURE__ */ jsx2(Text2, { size: 2, muted: true, children: /* @__PURE__ */ jsx2(HelpCircleIcon, {}) }) }),
1651
+ /* @__PURE__ */ jsx2(Text2, { size: 2, muted: true, children: help.description })
1652
1652
  ] }),
1653
1653
  (help.valueHint || help.thresholdHint || help.example) && /* @__PURE__ */ jsxs2(Stack2, { space: 2, paddingLeft: 4, children: [
1654
- help.valueHint && /* @__PURE__ */ jsxs2(Text2, { size: 0, muted: true, children: [
1654
+ help.valueHint && /* @__PURE__ */ jsxs2(Text2, { size: 1, muted: true, children: [
1655
1655
  /* @__PURE__ */ jsx2("strong", { children: "Value:" }),
1656
1656
  " ",
1657
1657
  help.valueHint
1658
1658
  ] }),
1659
- help.thresholdHint && /* @__PURE__ */ jsxs2(Text2, { size: 0, muted: true, children: [
1659
+ help.thresholdHint && /* @__PURE__ */ jsxs2(Text2, { size: 1, muted: true, children: [
1660
1660
  /* @__PURE__ */ jsx2("strong", { children: "Threshold:" }),
1661
1661
  " ",
1662
1662
  help.thresholdHint
1663
1663
  ] }),
1664
1664
  help.example && /* @__PURE__ */ jsxs2(Box2, { marginTop: 1, children: [
1665
- /* @__PURE__ */ jsx2(Text2, { size: 0, muted: true, children: /* @__PURE__ */ jsx2("strong", { children: "Example:" }) }),
1665
+ /* @__PURE__ */ jsx2(Text2, { size: 1, muted: true, children: /* @__PURE__ */ jsx2("strong", { children: "Example:" }) }),
1666
1666
  /* @__PURE__ */ jsx2(
1667
1667
  Box2,
1668
1668
  {
@@ -1687,16 +1687,16 @@ function TypeHelpCard({ help }) {
1687
1687
  function TemplateHelpCard({ help }) {
1688
1688
  return /* @__PURE__ */ jsx2(Card, { padding: 3, radius: 2, tone: "transparent", border: true, children: /* @__PURE__ */ jsxs2(Stack2, { space: 2, children: [
1689
1689
  /* @__PURE__ */ jsxs2(Flex, { align: "flex-start", gap: 2, children: [
1690
- /* @__PURE__ */ jsx2(Box2, { style: { flexShrink: 0, marginTop: 1 }, children: /* @__PURE__ */ jsx2(Text2, { size: 1, muted: true, children: /* @__PURE__ */ jsx2(HelpCircleIcon, {}) }) }),
1691
- /* @__PURE__ */ jsx2(Text2, { size: 1, muted: true, children: help.description })
1690
+ /* @__PURE__ */ jsx2(Box2, { style: { flexShrink: 0, marginTop: 1 }, children: /* @__PURE__ */ jsx2(Text2, { size: 2, muted: true, children: /* @__PURE__ */ jsx2(HelpCircleIcon, {}) }) }),
1691
+ /* @__PURE__ */ jsx2(Text2, { size: 2, muted: true, children: help.description })
1692
1692
  ] }),
1693
1693
  /* @__PURE__ */ jsxs2(Stack2, { space: 1, paddingLeft: 4, children: [
1694
- /* @__PURE__ */ jsxs2(Text2, { size: 0, muted: true, children: [
1694
+ /* @__PURE__ */ jsxs2(Text2, { size: 1, muted: true, children: [
1695
1695
  /* @__PURE__ */ jsx2("strong", { children: "Weight:" }),
1696
1696
  " ",
1697
1697
  help.weight
1698
1698
  ] }),
1699
- /* @__PURE__ */ jsxs2(Text2, { size: 0, muted: true, children: [
1699
+ /* @__PURE__ */ jsxs2(Text2, { size: 1, muted: true, children: [
1700
1700
  /* @__PURE__ */ jsx2("strong", { children: "Scale:" }),
1701
1701
  " ",
1702
1702
  help.scaleHint
@@ -1754,8 +1754,8 @@ var REF_TYPE_HELP = {
1754
1754
  };
1755
1755
  function RefTypeHelpCard({ help }) {
1756
1756
  return /* @__PURE__ */ jsx3(Card2, { padding: 3, radius: 2, tone: "transparent", border: true, children: /* @__PURE__ */ jsxs3(Flex2, { align: "flex-start", gap: 2, children: [
1757
- /* @__PURE__ */ jsx3(Box3, { style: { flexShrink: 0, marginTop: 1 }, children: /* @__PURE__ */ jsx3(Text3, { size: 1, muted: true, children: /* @__PURE__ */ jsx3(HelpCircleIcon2, {}) }) }),
1758
- /* @__PURE__ */ jsx3(Text3, { size: 1, muted: true, children: help.description })
1757
+ /* @__PURE__ */ jsx3(Box3, { style: { flexShrink: 0, marginTop: 1 }, children: /* @__PURE__ */ jsx3(Text3, { size: 2, muted: true, children: /* @__PURE__ */ jsx3(HelpCircleIcon2, {}) }) }),
1758
+ /* @__PURE__ */ jsx3(Text3, { size: 2, muted: true, children: help.description })
1759
1759
  ] }) });
1760
1760
  }
1761
1761
  function CanonicalDocInput(props) {
@@ -1835,10 +1835,10 @@ function CanonicalDocPreview(props) {
1835
1835
  subtitle = "";
1836
1836
  }
1837
1837
  return /* @__PURE__ */ jsxs4(Flex3, { align: "center", gap: 2, padding: 2, children: [
1838
- /* @__PURE__ */ jsx4(Text4, { size: 1, children: icon }),
1838
+ /* @__PURE__ */ jsx4(Text4, { size: 2, children: icon }),
1839
1839
  /* @__PURE__ */ jsxs4(Flex3, { direction: "column", gap: 1, flex: 1, children: [
1840
- /* @__PURE__ */ jsx4(Text4, { size: 1, weight: "semibold", children: resolvedTitle }),
1841
- subtitle && /* @__PURE__ */ jsx4(Text4, { muted: true, size: 0, children: subtitle })
1840
+ /* @__PURE__ */ jsx4(Text4, { size: 2, weight: "semibold", children: resolvedTitle }),
1841
+ subtitle && /* @__PURE__ */ jsx4(Text4, { muted: true, size: 1, children: subtitle })
1842
1842
  ] })
1843
1843
  ] });
1844
1844
  }
@@ -1868,7 +1868,7 @@ function formatAge(ms) {
1868
1868
  function SyncStatusBadge({
1869
1869
  lastSyncedAt,
1870
1870
  commitSha,
1871
- fontSize = 0
1871
+ fontSize = 1
1872
1872
  }) {
1873
1873
  const syncedAt = new Date(lastSyncedAt);
1874
1874
  const ageMs = Date.now() - syncedAt.getTime();
@@ -1879,7 +1879,7 @@ function SyncStatusBadge({
1879
1879
  return /* @__PURE__ */ jsx5(
1880
1880
  Tooltip,
1881
1881
  {
1882
- content: /* @__PURE__ */ jsx5(Box4, { padding: 2, children: /* @__PURE__ */ jsxs5(Text5, { size: 1, children: [
1882
+ content: /* @__PURE__ */ jsx5(Box4, { padding: 2, children: /* @__PURE__ */ jsxs5(Text5, { size: 2, children: [
1883
1883
  "Last synced ",
1884
1884
  ageStr,
1885
1885
  shaStr
@@ -1898,8 +1898,8 @@ function MirrorBanner({ origin }) {
1898
1898
  const repoDisplay = repo ?? "an external repository";
1899
1899
  return /* @__PURE__ */ jsx6(Card3, { padding: 3, radius: 2, tone: "transparent", border: true, children: /* @__PURE__ */ jsxs6(Stack4, { space: 3, children: [
1900
1900
  /* @__PURE__ */ jsxs6(Flex4, { align: "center", gap: 2, children: [
1901
- /* @__PURE__ */ jsx6(Text6, { size: 1, children: /* @__PURE__ */ jsx6(LinkIcon, {}) }),
1902
- /* @__PURE__ */ jsxs6(Text6, { size: 1, children: [
1901
+ /* @__PURE__ */ jsx6(Text6, { size: 2, children: /* @__PURE__ */ jsx6(LinkIcon, {}) }),
1902
+ /* @__PURE__ */ jsxs6(Text6, { size: 2, children: [
1903
1903
  "This task is managed in",
1904
1904
  " ",
1905
1905
  repoUrl ? /* @__PURE__ */ jsx6(
@@ -1921,14 +1921,14 @@ function MirrorBanner({ origin }) {
1921
1921
  {
1922
1922
  lastSyncedAt,
1923
1923
  commitSha,
1924
- fontSize: 0
1924
+ fontSize: 1
1925
1925
  }
1926
1926
  ),
1927
- branch && /* @__PURE__ */ jsxs6(Text6, { size: 0, muted: true, children: [
1927
+ branch && /* @__PURE__ */ jsxs6(Text6, { size: 1, muted: true, children: [
1928
1928
  branch,
1929
1929
  commitSha ? ` @ ${commitSha.slice(0, 7)}` : ""
1930
1930
  ] }),
1931
- path && /* @__PURE__ */ jsx6(Text6, { size: 0, muted: true, children: path })
1931
+ path && /* @__PURE__ */ jsx6(Text6, { size: 1, muted: true, children: path })
1932
1932
  ] })
1933
1933
  ] }) });
1934
1934
  }
@@ -1969,7 +1969,7 @@ import {
1969
1969
  import { jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
1970
1970
  function StateBadge({ state }) {
1971
1971
  const tone = state === "active" ? "positive" : state === "published" ? "primary" : "default";
1972
- return /* @__PURE__ */ jsx8(Badge2, { fontSize: 0, tone, children: state });
1972
+ return /* @__PURE__ */ jsx8(Badge2, { fontSize: 1, tone, children: state });
1973
1973
  }
1974
1974
  function ReleasePicker(props) {
1975
1975
  const { onChange, path, value = "" } = props;
@@ -2044,8 +2044,8 @@ function ReleasePicker(props) {
2044
2044
  const opt = option;
2045
2045
  return /* @__PURE__ */ jsx8(Card4, { as: "button", padding: 3, children: /* @__PURE__ */ jsxs8(Flex5, { align: "center", gap: 2, children: [
2046
2046
  /* @__PURE__ */ jsxs8(Stack6, { flex: 1, space: 1, children: [
2047
- /* @__PURE__ */ jsx8(Text7, { size: 1, weight: "semibold", children: opt.payload.title }),
2048
- opt.payload.title !== opt.value && /* @__PURE__ */ jsx8(Text7, { muted: true, size: 1, children: opt.value })
2047
+ /* @__PURE__ */ jsx8(Text7, { size: 2, weight: "semibold", children: opt.payload.title }),
2048
+ opt.payload.title !== opt.value && /* @__PURE__ */ jsx8(Text7, { muted: true, size: 2, children: opt.value })
2049
2049
  ] }),
2050
2050
  /* @__PURE__ */ jsx8(StateBadge, { state: opt.payload.state })
2051
2051
  ] }) });
@@ -2057,7 +2057,7 @@ function ReleasePicker(props) {
2057
2057
  value
2058
2058
  }
2059
2059
  ),
2060
- value && /* @__PURE__ */ jsxs8(Text7, { muted: true, size: 0, children: [
2060
+ value && /* @__PURE__ */ jsxs8(Text7, { muted: true, size: 1, children: [
2061
2061
  "Release ID: ",
2062
2062
  /* @__PURE__ */ jsx8("code", { children: value })
2063
2063
  ] })
@@ -3175,7 +3175,7 @@ function computeDimensionDeltas(baseline, experiment) {
3175
3175
  import { Card as Card5, Stack as Stack7, Text as Text8 } from "@sanity/ui";
3176
3176
  import { jsx as jsx9 } from "react/jsx-runtime";
3177
3177
  function PageBlurb({ text }) {
3178
- return /* @__PURE__ */ jsx9(Card5, { padding: 3, radius: 2, tone: "transparent", children: /* @__PURE__ */ jsx9(Stack7, { space: 2, children: /* @__PURE__ */ jsx9(Text8, { size: 1, children: text }) }) });
3178
+ return /* @__PURE__ */ jsx9(Card5, { padding: 3, radius: 2, tone: "transparent", children: /* @__PURE__ */ jsx9(Stack7, { space: 2, children: /* @__PURE__ */ jsx9(Text8, { size: 2, children: text }) }) });
3179
3179
  }
3180
3180
 
3181
3181
  // src/components/primitives/ColumnHeader.tsx
@@ -3196,7 +3196,7 @@ function ColumnHeader({
3196
3196
  Text9,
3197
3197
  {
3198
3198
  muted: true,
3199
- size: 1,
3199
+ size: 2,
3200
3200
  style: { letterSpacing: "0.05em", textTransform: "uppercase" },
3201
3201
  weight: "semibold",
3202
3202
  children: label
@@ -3205,9 +3205,9 @@ function ColumnHeader({
3205
3205
  tooltip && /* @__PURE__ */ jsx10(
3206
3206
  Tooltip2,
3207
3207
  {
3208
- content: /* @__PURE__ */ jsx10(Box5, { padding: 2, children: /* @__PURE__ */ jsx10(Text9, { size: 1, children: tooltip }) }),
3208
+ content: /* @__PURE__ */ jsx10(Box5, { padding: 2, children: /* @__PURE__ */ jsx10(Text9, { size: 2, children: tooltip }) }),
3209
3209
  portal: true,
3210
- children: /* @__PURE__ */ jsx10(Text9, { muted: true, size: 0, children: /* @__PURE__ */ jsx10(HelpCircleIcon3, {}) })
3210
+ children: /* @__PURE__ */ jsx10(Text9, { muted: true, size: 1, children: /* @__PURE__ */ jsx10(HelpCircleIcon3, {}) })
3211
3211
  }
3212
3212
  )
3213
3213
  ] });
@@ -3303,14 +3303,14 @@ function ComparisonView() {
3303
3303
  /* @__PURE__ */ jsx12(PageBlurb, { text: "Select two reports to compare." }),
3304
3304
  /* @__PURE__ */ jsxs10(Flex7, { gap: 3, children: [
3305
3305
  /* @__PURE__ */ jsx12(Box7, { flex: 1, children: /* @__PURE__ */ jsxs10(Stack8, { space: 2, children: [
3306
- /* @__PURE__ */ jsx12(Text11, { size: 1, weight: "semibold", children: "Baseline (before)" }),
3306
+ /* @__PURE__ */ jsx12(Text11, { size: 2, weight: "semibold", children: "Baseline (before)" }),
3307
3307
  /* @__PURE__ */ jsxs10(Select, { onChange: onBaseline, value: baselineId ?? "", children: [
3308
3308
  /* @__PURE__ */ jsx12("option", { value: "", children: "Select baseline\u2026" }),
3309
3309
  baselineOptions.map((r) => /* @__PURE__ */ jsx12("option", { value: r.reportId, children: formatOption(r) }, r.reportId))
3310
3310
  ] })
3311
3311
  ] }) }),
3312
3312
  /* @__PURE__ */ jsx12(Box7, { flex: 1, children: /* @__PURE__ */ jsxs10(Stack8, { space: 2, children: [
3313
- /* @__PURE__ */ jsx12(Text11, { size: 1, weight: "semibold", children: "Experiment (after)" }),
3313
+ /* @__PURE__ */ jsx12(Text11, { size: 2, weight: "semibold", children: "Experiment (after)" }),
3314
3314
  /* @__PURE__ */ jsxs10(Select, { onChange: onExperiment, value: experimentId ?? "", children: [
3315
3315
  /* @__PURE__ */ jsx12("option", { value: "", children: "Select experiment\u2026" }),
3316
3316
  experimentOptions.map((r) => /* @__PURE__ */ jsx12("option", { value: r.reportId, children: formatOption(r) }, r.reportId))
@@ -3318,7 +3318,7 @@ function ComparisonView() {
3318
3318
  ] }) })
3319
3319
  ] }),
3320
3320
  hasBoth && loading && /* @__PURE__ */ jsx12(LoadingState, { message: "Loading comparison\u2026" }),
3321
- hasBoth && !loading && !hasData && /* @__PURE__ */ jsx12(Card6, { padding: 4, tone: "caution", children: /* @__PURE__ */ jsx12(Text11, { size: 1, children: "Report not found." }) }),
3321
+ hasBoth && !loading && !hasData && /* @__PURE__ */ jsx12(Card6, { padding: 4, tone: "caution", children: /* @__PURE__ */ jsx12(Text11, { size: 2, children: "Report not found." }) }),
3322
3322
  hasBoth && !loading && hasData && /* @__PURE__ */ jsxs10(Fragment3, { children: [
3323
3323
  /* @__PURE__ */ jsx12(
3324
3324
  AreaComparisonTable,
@@ -3337,7 +3337,7 @@ function AreaComparisonTable({
3337
3337
  overallDelta
3338
3338
  }) {
3339
3339
  return /* @__PURE__ */ jsx12(Card6, { overflow: "auto", padding: 3, radius: 2, shadow: 1, children: /* @__PURE__ */ jsxs10(Stack8, { space: 3, children: [
3340
- /* @__PURE__ */ jsx12(Text11, { size: 1, weight: "semibold", children: "Per-area comparison" }),
3340
+ /* @__PURE__ */ jsx12(Text11, { size: 2, weight: "semibold", children: "Per-area comparison" }),
3341
3341
  /* @__PURE__ */ jsxs10(Grid, { columns: 5, gap: 2, children: [
3342
3342
  /* @__PURE__ */ jsx12(ColumnHeader, { label: "Area" }),
3343
3343
  /* @__PURE__ */ jsx12(ColumnHeader, { label: "Baseline", tooltip: GLOSSARY.baseline }),
@@ -3346,10 +3346,10 @@ function AreaComparisonTable({
3346
3346
  /* @__PURE__ */ jsx12(ColumnHeader, { label: "Change", tooltip: GLOSSARY.change })
3347
3347
  ] }),
3348
3348
  areaDeltas.map((row) => /* @__PURE__ */ jsxs10(Grid, { columns: 5, gap: 2, children: [
3349
- /* @__PURE__ */ jsx12(Text11, { size: 1, children: row.area }),
3350
- /* @__PURE__ */ jsx12(Text11, { size: 1, children: row.baseline.toFixed(1) }),
3351
- /* @__PURE__ */ jsx12(Text11, { size: 1, children: row.experiment.toFixed(1) }),
3352
- /* @__PURE__ */ jsx12(Text11, { size: 1, children: formatDelta(row.delta) }),
3349
+ /* @__PURE__ */ jsx12(Text11, { size: 2, children: row.area }),
3350
+ /* @__PURE__ */ jsx12(Text11, { size: 2, children: row.baseline.toFixed(1) }),
3351
+ /* @__PURE__ */ jsx12(Text11, { size: 2, children: row.experiment.toFixed(1) }),
3352
+ /* @__PURE__ */ jsx12(Text11, { size: 2, children: formatDelta(row.delta) }),
3353
3353
  /* @__PURE__ */ jsx12(Box7, { children: /* @__PURE__ */ jsx12(Badge3, { tone: changeTone(row.change), children: row.change }) })
3354
3354
  ] }, row.area)),
3355
3355
  overallDelta && /* @__PURE__ */ jsxs10(
@@ -3362,10 +3362,10 @@ function AreaComparisonTable({
3362
3362
  paddingTop: 8
3363
3363
  },
3364
3364
  children: [
3365
- /* @__PURE__ */ jsx12(Text11, { size: 1, weight: "semibold", children: "Overall" }),
3366
- /* @__PURE__ */ jsx12(Text11, { size: 1, weight: "semibold", children: overallDelta.baseline.toFixed(1) }),
3367
- /* @__PURE__ */ jsx12(Text11, { size: 1, weight: "semibold", children: overallDelta.experiment.toFixed(1) }),
3368
- /* @__PURE__ */ jsx12(Text11, { size: 1, weight: "semibold", children: formatDelta(overallDelta.delta) }),
3365
+ /* @__PURE__ */ jsx12(Text11, { size: 2, weight: "semibold", children: "Overall" }),
3366
+ /* @__PURE__ */ jsx12(Text11, { size: 2, weight: "semibold", children: overallDelta.baseline.toFixed(1) }),
3367
+ /* @__PURE__ */ jsx12(Text11, { size: 2, weight: "semibold", children: overallDelta.experiment.toFixed(1) }),
3368
+ /* @__PURE__ */ jsx12(Text11, { size: 2, weight: "semibold", children: formatDelta(overallDelta.delta) }),
3369
3369
  /* @__PURE__ */ jsx12(Box7, { children: /* @__PURE__ */ jsx12(Badge3, { tone: changeTone(classify(overallDelta.delta)), children: classify(overallDelta.delta) }) })
3370
3370
  ]
3371
3371
  }
@@ -3374,7 +3374,7 @@ function AreaComparisonTable({
3374
3374
  }
3375
3375
  function DimensionDeltasTable({ dimDeltas }) {
3376
3376
  return /* @__PURE__ */ jsx12(Card6, { overflow: "auto", padding: 3, radius: 2, shadow: 1, children: /* @__PURE__ */ jsxs10(Stack8, { space: 3, children: [
3377
- /* @__PURE__ */ jsx12(Text11, { size: 1, weight: "semibold", children: "Dimension deltas" }),
3377
+ /* @__PURE__ */ jsx12(Text11, { size: 2, weight: "semibold", children: "Dimension deltas" }),
3378
3378
  /* @__PURE__ */ jsxs10(Grid, { columns: 4, gap: 2, children: [
3379
3379
  /* @__PURE__ */ jsx12(ColumnHeader, { label: "Area" }),
3380
3380
  /* @__PURE__ */ jsx12(
@@ -3400,10 +3400,10 @@ function DimensionDeltasTable({ dimDeltas }) {
3400
3400
  )
3401
3401
  ] }),
3402
3402
  dimDeltas.map((row) => /* @__PURE__ */ jsxs10(Grid, { columns: 4, gap: 2, children: [
3403
- /* @__PURE__ */ jsx12(Text11, { size: 1, children: row.area }),
3404
- /* @__PURE__ */ jsx12(Text11, { size: 1, children: formatDelta(row.taskDelta) }),
3405
- /* @__PURE__ */ jsx12(Text11, { size: 1, children: formatDelta(row.codeDelta) }),
3406
- /* @__PURE__ */ jsx12(Text11, { size: 1, children: formatDelta(row.docDelta) })
3403
+ /* @__PURE__ */ jsx12(Text11, { size: 2, children: row.area }),
3404
+ /* @__PURE__ */ jsx12(Text11, { size: 2, children: formatDelta(row.taskDelta) }),
3405
+ /* @__PURE__ */ jsx12(Text11, { size: 2, children: formatDelta(row.codeDelta) }),
3406
+ /* @__PURE__ */ jsx12(Text11, { size: 2, children: formatDelta(row.docDelta) })
3407
3407
  ] }, row.area))
3408
3408
  ] }) });
3409
3409
  }
@@ -3415,8 +3415,8 @@ function ThreeLayerDeltasTable({
3415
3415
  );
3416
3416
  return /* @__PURE__ */ jsx12(Card6, { overflow: "auto", padding: 3, radius: 2, shadow: 1, children: /* @__PURE__ */ jsxs10(Stack8, { space: 3, children: [
3417
3417
  /* @__PURE__ */ jsxs10(Flex7, { align: "center", gap: 2, children: [
3418
- /* @__PURE__ */ jsx12(Text11, { size: 1, weight: "semibold", children: "Three-layer decomposition deltas" }),
3419
- /* @__PURE__ */ jsx12(Badge3, { fontSize: 0, tone: "primary", children: "full mode" })
3418
+ /* @__PURE__ */ jsx12(Text11, { size: 2, weight: "semibold", children: "Three-layer decomposition deltas" }),
3419
+ /* @__PURE__ */ jsx12(Badge3, { fontSize: 1, tone: "primary", children: "full mode" })
3420
3420
  ] }),
3421
3421
  /* @__PURE__ */ jsxs10(Grid, { columns: 7, gap: 2, children: [
3422
3422
  /* @__PURE__ */ jsx12(ColumnHeader, { label: "Area" }),
@@ -3428,22 +3428,22 @@ function ThreeLayerDeltasTable({
3428
3428
  /* @__PURE__ */ jsx12(ColumnHeader, { label: "Eff. (E)", tooltip: GLOSSARY.efficiency })
3429
3429
  ] }),
3430
3430
  filtered.map((row) => /* @__PURE__ */ jsxs10(Grid, { columns: 7, gap: 2, children: [
3431
- /* @__PURE__ */ jsx12(Text11, { size: 1, children: row.area }),
3432
- /* @__PURE__ */ jsx12(Text11, { size: 1, children: row.baseActual != null ? row.baseActual.toFixed(1) : "\u2014" }),
3433
- /* @__PURE__ */ jsx12(Text11, { size: 1, children: row.expActual != null ? row.expActual.toFixed(1) : "\u2014" }),
3434
- /* @__PURE__ */ jsx12(Text11, { size: 1, children: row.actualDelta != null ? formatDelta(row.actualDelta) : "\u2014" }),
3431
+ /* @__PURE__ */ jsx12(Text11, { size: 2, children: row.area }),
3432
+ /* @__PURE__ */ jsx12(Text11, { size: 2, children: row.baseActual != null ? row.baseActual.toFixed(1) : "\u2014" }),
3433
+ /* @__PURE__ */ jsx12(Text11, { size: 2, children: row.expActual != null ? row.expActual.toFixed(1) : "\u2014" }),
3434
+ /* @__PURE__ */ jsx12(Text11, { size: 2, children: row.actualDelta != null ? formatDelta(row.actualDelta) : "\u2014" }),
3435
3435
  /* @__PURE__ */ jsx12(
3436
3436
  Text11,
3437
3437
  {
3438
- size: 1,
3438
+ size: 2,
3439
3439
  style: {
3440
3440
  color: row.retGapDelta != null ? row.retGapDelta < -NOISE_THRESHOLD ? "var(--card-badge-positive-dot-color)" : row.retGapDelta > NOISE_THRESHOLD ? "var(--card-badge-critical-dot-color)" : void 0 : void 0
3441
3441
  },
3442
3442
  children: row.retGapDelta != null ? formatDelta(row.retGapDelta) : "\u2014"
3443
3443
  }
3444
3444
  ),
3445
- /* @__PURE__ */ jsx12(Text11, { size: 1, children: formatPercent(row.baseEfficiency) }),
3446
- /* @__PURE__ */ jsx12(Text11, { size: 1, children: formatPercent(row.expEfficiency) })
3445
+ /* @__PURE__ */ jsx12(Text11, { size: 2, children: formatPercent(row.baseEfficiency) }),
3446
+ /* @__PURE__ */ jsx12(Text11, { size: 2, children: formatPercent(row.expEfficiency) })
3447
3447
  ] }, `tl-${row.area}`))
3448
3448
  ] }) });
3449
3449
  }
@@ -3551,10 +3551,10 @@ function DocumentFilter({
3551
3551
  const badgeLabel = provenance === "published" ? "Published" : provenance === "release" ? releaseId ?? "Release" : "Draft";
3552
3552
  return /* @__PURE__ */ jsx13(Card7, { as: "button", padding: 3, children: /* @__PURE__ */ jsxs11(Flex8, { align: "center", gap: 2, children: [
3553
3553
  /* @__PURE__ */ jsxs11(Stack9, { flex: 1, space: 1, children: [
3554
- /* @__PURE__ */ jsx13(Text12, { size: 1, weight: "semibold", children: option.payload.title }),
3555
- /* @__PURE__ */ jsx13(Text12, { muted: true, size: 1, children: option.payload.path })
3554
+ /* @__PURE__ */ jsx13(Text12, { size: 2, weight: "semibold", children: option.payload.title }),
3555
+ /* @__PURE__ */ jsx13(Text12, { muted: true, size: 2, children: option.payload.path })
3556
3556
  ] }),
3557
- /* @__PURE__ */ jsx13(Badge4, { fontSize: 0, tone: badgeTone, children: badgeLabel })
3557
+ /* @__PURE__ */ jsx13(Badge4, { fontSize: 1, tone: badgeTone, children: badgeLabel })
3558
3558
  ] }) });
3559
3559
  }, []);
3560
3560
  const renderValue = useCallback7((_value, option) => {
@@ -3656,10 +3656,10 @@ function PerspectiveFilter({ value, onChange }) {
3656
3656
  const opt = option;
3657
3657
  return /* @__PURE__ */ jsx14(Card8, { as: "button", padding: 3, children: /* @__PURE__ */ jsxs12(Flex9, { align: "center", gap: 2, children: [
3658
3658
  /* @__PURE__ */ jsxs12(Stack10, { flex: 1, space: 1, children: [
3659
- /* @__PURE__ */ jsx14(Text13, { size: 1, weight: "semibold", children: opt.payload.title }),
3660
- opt.payload.title !== opt.value && /* @__PURE__ */ jsx14(Text13, { muted: true, size: 1, children: opt.value })
3659
+ /* @__PURE__ */ jsx14(Text13, { size: 2, weight: "semibold", children: opt.payload.title }),
3660
+ opt.payload.title !== opt.value && /* @__PURE__ */ jsx14(Text13, { muted: true, size: 2, children: opt.value })
3661
3661
  ] }),
3662
- opt.payload.hasReport && /* @__PURE__ */ jsx14(Badge5, { fontSize: 0, tone: "positive", children: "Has reports" })
3662
+ opt.payload.hasReport && /* @__PURE__ */ jsx14(Badge5, { fontSize: 1, tone: "positive", children: "Has reports" })
3663
3663
  ] }) });
3664
3664
  },
3665
3665
  renderValue: (v, option) => {
@@ -3681,7 +3681,7 @@ import { useCallback as useCallback8 } from "react";
3681
3681
  // src/components/primitives/DeltaIndicator.tsx
3682
3682
  import { Text as Text14 } from "@sanity/ui";
3683
3683
  import { jsx as jsx15 } from "react/jsx-runtime";
3684
- function DeltaIndicator({ delta, size = 1 }) {
3684
+ function DeltaIndicator({ delta, size = 2 }) {
3685
3685
  return /* @__PURE__ */ jsx15(
3686
3686
  Text14,
3687
3687
  {
@@ -3704,7 +3704,7 @@ function GitOrigin({ git }) {
3704
3704
  Text15,
3705
3705
  {
3706
3706
  muted: true,
3707
- size: 0,
3707
+ size: 1,
3708
3708
  style: { fontFamily: "monospace", whiteSpace: "nowrap" },
3709
3709
  title: `${git.repo} @ ${git.sha.slice(0, 7)} (${git.branch})`,
3710
3710
  children: git.repo
@@ -3718,7 +3718,7 @@ function GitOrigin({ git }) {
3718
3718
  rel: "noopener noreferrer",
3719
3719
  style: { textDecoration: "none" },
3720
3720
  target: "_blank",
3721
- children: /* @__PURE__ */ jsxs13(Badge6, { fontSize: 0, mode: "outline", tone: "primary", children: [
3721
+ children: /* @__PURE__ */ jsxs13(Badge6, { fontSize: 1, mode: "outline", tone: "primary", children: [
3722
3722
  "#",
3723
3723
  git.prNumber
3724
3724
  ] })
@@ -3741,7 +3741,7 @@ var modeTone = {
3741
3741
  };
3742
3742
  function ModeBadge({ mode }) {
3743
3743
  const tone = modeTone[mode] ?? "default";
3744
- return /* @__PURE__ */ jsx17(Badge7, { fontSize: 0, tone, children: mode });
3744
+ return /* @__PURE__ */ jsx17(Badge7, { fontSize: 1, tone, children: mode });
3745
3745
  }
3746
3746
 
3747
3747
  // src/components/report-card/ReportMeta.tsx
@@ -3758,14 +3758,14 @@ function AreaTags({ areas, targetDocuments }) {
3758
3758
  hasAreas && areas.map((area) => /* @__PURE__ */ jsx18(
3759
3759
  Badge8,
3760
3760
  {
3761
- fontSize: 0,
3761
+ fontSize: 1,
3762
3762
  mode: "outline",
3763
3763
  tone: "default",
3764
3764
  children: area
3765
3765
  },
3766
3766
  `area-${area}`
3767
3767
  )),
3768
- hasDocs && targetDocuments.map((doc) => /* @__PURE__ */ jsx18(Badge8, { fontSize: 0, mode: "outline", tone: "primary", children: doc }, `doc-${doc}`))
3768
+ hasDocs && targetDocuments.map((doc) => /* @__PURE__ */ jsx18(Badge8, { fontSize: 1, mode: "outline", tone: "primary", children: doc }, `doc-${doc}`))
3769
3769
  ] });
3770
3770
  }
3771
3771
 
@@ -3822,8 +3822,8 @@ function ReportMeta({ data }) {
3822
3822
  segments.push(formatDuration(data.durationMs));
3823
3823
  }
3824
3824
  return /* @__PURE__ */ jsxs15(Stack11, { flex: 1, space: 1, children: [
3825
- /* @__PURE__ */ jsx19(Text16, { weight: "semibold", children: data.tag ?? formatCardDate(data.completedAt) }),
3826
- segments.length > 0 && /* @__PURE__ */ jsx19(Text16, { muted: true, size: 1, children: segments.join(" \xB7 ") }),
3825
+ /* @__PURE__ */ jsx19(Text16, { size: 3, weight: "semibold", children: data.tag ?? formatCardDate(data.completedAt) }),
3826
+ segments.length > 0 && /* @__PURE__ */ jsx19(Text16, { muted: true, size: 2, children: segments.join(" \xB7 ") }),
3827
3827
  /* @__PURE__ */ jsx19(AreaTags, { areas: data.areas, targetDocuments: data.targetDocuments })
3828
3828
  ] });
3829
3829
  }
@@ -3862,7 +3862,7 @@ function rowBackground(index) {
3862
3862
 
3863
3863
  // src/components/primitives/ScoreBadge.tsx
3864
3864
  import { jsx as jsx20 } from "react/jsx-runtime";
3865
- function ScoreBadge({ score, fontSize = 1 }) {
3865
+ function ScoreBadge({ score, fontSize = 2 }) {
3866
3866
  const rounded = Math.round(score);
3867
3867
  return /* @__PURE__ */ jsx20(
3868
3868
  Badge9,
@@ -3885,7 +3885,7 @@ var sourceTone = {
3885
3885
  };
3886
3886
  function SourceBadge({ source }) {
3887
3887
  const tone = sourceTone[source] ?? "default";
3888
- return /* @__PURE__ */ jsx21(Badge10, { fontSize: 0, mode: "outline", tone, children: source });
3888
+ return /* @__PURE__ */ jsx21(Badge10, { fontSize: 1, mode: "outline", tone, children: source });
3889
3889
  }
3890
3890
 
3891
3891
  // src/components/primitives/StatusBadges.tsx
@@ -3896,11 +3896,11 @@ function StatusBadges({ regressed, improved }) {
3896
3896
  const hasImproved = improved && improved.length > 0;
3897
3897
  if (!hasRegressed && !hasImproved) return null;
3898
3898
  return /* @__PURE__ */ jsxs16(Flex12, { gap: 1, children: [
3899
- hasRegressed && /* @__PURE__ */ jsxs16(Badge11, { fontSize: 0, tone: "critical", children: [
3899
+ hasRegressed && /* @__PURE__ */ jsxs16(Badge11, { fontSize: 1, tone: "critical", children: [
3900
3900
  regressed.length,
3901
3901
  " regressed"
3902
3902
  ] }),
3903
- hasImproved && /* @__PURE__ */ jsxs16(Badge11, { fontSize: 0, tone: "positive", children: [
3903
+ hasImproved && /* @__PURE__ */ jsxs16(Badge11, { fontSize: 1, tone: "positive", children: [
3904
3904
  improved.length,
3905
3905
  " improved"
3906
3906
  ] })
@@ -3936,12 +3936,12 @@ function ReportCard({ data, onSelectReport }) {
3936
3936
  Text17,
3937
3937
  {
3938
3938
  muted: true,
3939
- size: 0,
3939
+ size: 1,
3940
3940
  title: new Date(data.completedAt).toISOString(),
3941
3941
  children: formatRelativeTime(data.completedAt)
3942
3942
  }
3943
3943
  ),
3944
- data.trigger && /* @__PURE__ */ jsx22(Badge12, { fontSize: 0, tone: "default", children: data.trigger })
3944
+ data.trigger && /* @__PURE__ */ jsx22(Badge12, { fontSize: 1, tone: "default", children: data.trigger })
3945
3945
  ] }),
3946
3946
  data.git && /* @__PURE__ */ jsx22(GitOrigin, { git: data.git })
3947
3947
  ] })
@@ -4113,7 +4113,7 @@ function FilterBadge({ token, onRemove }) {
4113
4113
  return /* @__PURE__ */ jsx23(
4114
4114
  Badge13,
4115
4115
  {
4116
- fontSize: 0,
4116
+ fontSize: 1,
4117
4117
  style: {
4118
4118
  cursor: "default",
4119
4119
  flexShrink: 0,
@@ -4121,7 +4121,7 @@ function FilterBadge({ token, onRemove }) {
4121
4121
  },
4122
4122
  tone,
4123
4123
  children: /* @__PURE__ */ jsxs18(Flex14, { align: "center", gap: 1, children: [
4124
- /* @__PURE__ */ jsxs18(Text18, { size: 0, children: [
4124
+ /* @__PURE__ */ jsxs18(Text18, { size: 1, children: [
4125
4125
  token.dimension,
4126
4126
  ":",
4127
4127
  token.label
@@ -4131,7 +4131,7 @@ function FilterBadge({ token, onRemove }) {
4131
4131
  {
4132
4132
  muted: true,
4133
4133
  onClick: handleRemove,
4134
- size: 0,
4134
+ size: 1,
4135
4135
  style: { cursor: "pointer", lineHeight: 1 },
4136
4136
  children: /* @__PURE__ */ jsx23(CloseIcon, {})
4137
4137
  }
@@ -4172,7 +4172,7 @@ function SuggestionList({
4172
4172
  Text19,
4173
4173
  {
4174
4174
  muted: true,
4175
- size: 0,
4175
+ size: 1,
4176
4176
  style: {
4177
4177
  letterSpacing: "0.05em",
4178
4178
  padding: "6px 8px 2px",
@@ -4219,8 +4219,8 @@ function SuggestionItem({
4219
4219
  style: { cursor: "pointer" },
4220
4220
  tone: active ? "primary" : "default",
4221
4221
  children: /* @__PURE__ */ jsxs19(Flex15, { align: "center", gap: 2, children: [
4222
- !isHint && /* @__PURE__ */ jsx24(Badge14, { fontSize: 0, tone, children: suggestion.dimension }),
4223
- /* @__PURE__ */ jsx24(Text19, { size: 1, children: suggestion.label })
4222
+ !isHint && /* @__PURE__ */ jsx24(Badge14, { fontSize: 1, tone, children: suggestion.dimension }),
4223
+ /* @__PURE__ */ jsx24(Text19, { size: 2, children: suggestion.label })
4224
4224
  ] })
4225
4225
  }
4226
4226
  );
@@ -4349,7 +4349,7 @@ function SearchBar({
4349
4349
  radius: 2,
4350
4350
  style: { cursor: "text" },
4351
4351
  children: /* @__PURE__ */ jsxs20(Flex16, { align: "center", gap: 1, wrap: "wrap", children: [
4352
- /* @__PURE__ */ jsx25(Text20, { muted: true, size: 1, style: { flexShrink: 0, padding: "0 4px" }, children: /* @__PURE__ */ jsx25(SearchIcon4, {}) }),
4352
+ /* @__PURE__ */ jsx25(Text20, { muted: true, size: 2, style: { flexShrink: 0, padding: "0 4px" }, children: /* @__PURE__ */ jsx25(SearchIcon4, {}) }),
4353
4353
  tokens.map((token) => /* @__PURE__ */ jsx25(
4354
4354
  FilterBadge,
4355
4355
  {
@@ -4583,7 +4583,7 @@ function LatestReports({
4583
4583
  return /* @__PURE__ */ jsxs21(Stack13, { space: 3, children: [
4584
4584
  /* @__PURE__ */ jsx26(Card12, { padding: 3, radius: 2, shadow: 1, children: /* @__PURE__ */ jsxs21(Stack13, { space: 3, children: [
4585
4585
  /* @__PURE__ */ jsxs21(Stack13, { space: 1, children: [
4586
- /* @__PURE__ */ jsx26(Text21, { muted: true, size: 0, children: "Search & filter" }),
4586
+ /* @__PURE__ */ jsx26(Text21, { muted: true, size: 1, children: "Search & filter" }),
4587
4587
  /* @__PURE__ */ jsx26(
4588
4588
  SearchBar,
4589
4589
  {
@@ -4599,7 +4599,7 @@ function LatestReports({
4599
4599
  ] }),
4600
4600
  /* @__PURE__ */ jsxs21(Flex17, { gap: 2, children: [
4601
4601
  /* @__PURE__ */ jsx26(Box8, { flex: 1, children: /* @__PURE__ */ jsxs21(Stack13, { space: 1, children: [
4602
- /* @__PURE__ */ jsx26(Text21, { muted: true, size: 0, children: "Document" }),
4602
+ /* @__PURE__ */ jsx26(Text21, { muted: true, size: 1, children: "Document" }),
4603
4603
  /* @__PURE__ */ jsx26(
4604
4604
  DocumentFilter,
4605
4605
  {
@@ -4610,7 +4610,7 @@ function LatestReports({
4610
4610
  )
4611
4611
  ] }) }),
4612
4612
  /* @__PURE__ */ jsx26(Box8, { flex: 1, children: /* @__PURE__ */ jsxs21(Stack13, { space: 1, children: [
4613
- /* @__PURE__ */ jsx26(Text21, { muted: true, size: 0, children: "Content release" }),
4613
+ /* @__PURE__ */ jsx26(Text21, { muted: true, size: 1, children: "Content release" }),
4614
4614
  /* @__PURE__ */ jsx26(
4615
4615
  PerspectiveFilter,
4616
4616
  {
@@ -4621,22 +4621,22 @@ function LatestReports({
4621
4621
  ] }) })
4622
4622
  ] }),
4623
4623
  (documentSlug.trim() || perspective.trim()) && /* @__PURE__ */ jsxs21(Flex17, { align: "center", gap: 1, children: [
4624
- documentSlug.trim() && /* @__PURE__ */ jsxs21(Badge15, { fontSize: 0, tone: "primary", children: [
4624
+ documentSlug.trim() && /* @__PURE__ */ jsxs21(Badge15, { fontSize: 1, tone: "primary", children: [
4625
4625
  "Document: ",
4626
4626
  documentSlug.trim()
4627
4627
  ] }),
4628
- perspective.trim() && /* @__PURE__ */ jsxs21(Badge15, { fontSize: 0, tone: "primary", children: [
4628
+ perspective.trim() && /* @__PURE__ */ jsxs21(Badge15, { fontSize: 1, tone: "primary", children: [
4629
4629
  "Perspective: ",
4630
4630
  perspective.trim()
4631
4631
  ] })
4632
4632
  ] })
4633
4633
  ] }) }),
4634
4634
  /* @__PURE__ */ jsxs21(Flex17, { align: "center", gap: 2, paddingX: 1, wrap: "wrap", children: [
4635
- /* @__PURE__ */ jsx26(Text21, { muted: true, size: 1, children: filteredReports.length === reports.length ? `${reports.length} reports` : `${filteredReports.length} of ${reports.length} reports` }),
4635
+ /* @__PURE__ */ jsx26(Text21, { muted: true, size: 2, children: filteredReports.length === reports.length ? `${reports.length} reports` : `${filteredReports.length} of ${reports.length} reports` }),
4636
4636
  hasActiveFilters && /* @__PURE__ */ jsx26(
4637
4637
  Button,
4638
4638
  {
4639
- fontSize: 0,
4639
+ fontSize: 1,
4640
4640
  mode: "bleed",
4641
4641
  onClick: handleClearFilters,
4642
4642
  text: "Clear all filters",
@@ -4650,7 +4650,7 @@ function LatestReports({
4650
4650
  button: /* @__PURE__ */ jsx26(
4651
4651
  Button,
4652
4652
  {
4653
- fontSize: 1,
4653
+ fontSize: 2,
4654
4654
  icon: SortIcon,
4655
4655
  mode: "bleed",
4656
4656
  text: `Sort: ${SORT_LABELS[sort.field]}`
@@ -4689,7 +4689,7 @@ function LatestReports({
4689
4689
  /* @__PURE__ */ jsx26(
4690
4690
  Button,
4691
4691
  {
4692
- fontSize: 1,
4692
+ fontSize: 2,
4693
4693
  mode: "bleed",
4694
4694
  onClick: toggleSortDirection,
4695
4695
  text: sort.direction === "asc" ? "\u2191" : "\u2193",
@@ -4699,11 +4699,11 @@ function LatestReports({
4699
4699
  ] })
4700
4700
  ] }),
4701
4701
  filteredReports.length === 0 ? /* @__PURE__ */ jsx26(Card12, { padding: 4, radius: 2, shadow: 1, children: /* @__PURE__ */ jsxs21(Stack13, { space: 3, children: [
4702
- /* @__PURE__ */ jsx26(Text21, { align: "center", muted: true, size: 2, children: "No reports match the current filters." }),
4702
+ /* @__PURE__ */ jsx26(Text21, { align: "center", muted: true, size: 3, children: "No reports match the current filters." }),
4703
4703
  /* @__PURE__ */ jsx26(Flex17, { justify: "center", children: /* @__PURE__ */ jsx26(
4704
4704
  Button,
4705
4705
  {
4706
- fontSize: 1,
4706
+ fontSize: 2,
4707
4707
  mode: "ghost",
4708
4708
  onClick: handleClearFilters,
4709
4709
  text: "Clear all filters"
@@ -4721,7 +4721,7 @@ function LatestReports({
4721
4721
  Button,
4722
4722
  {
4723
4723
  disabled: loadingMore,
4724
- fontSize: 1,
4724
+ fontSize: 2,
4725
4725
  mode: "ghost",
4726
4726
  onClick: handleLoadMore,
4727
4727
  text: loadingMore ? "Loading\u2026" : "Load more reports"
@@ -4810,21 +4810,21 @@ function StatCard({
4810
4810
  tone = "default"
4811
4811
  }) {
4812
4812
  return /* @__PURE__ */ jsx27(Card13, { padding: 3, radius: 2, shadow: 1, tone, children: /* @__PURE__ */ jsxs22(Stack14, { space: 2, children: [
4813
- /* @__PURE__ */ jsxs22(Text22, { muted: true, size: 1, children: [
4813
+ /* @__PURE__ */ jsxs22(Text22, { muted: true, size: 2, children: [
4814
4814
  label,
4815
4815
  tooltip && /* @__PURE__ */ jsxs22(Fragment4, { children: [
4816
4816
  " ",
4817
4817
  /* @__PURE__ */ jsx27(
4818
4818
  Tooltip3,
4819
4819
  {
4820
- content: /* @__PURE__ */ jsx27(Box9, { padding: 2, children: /* @__PURE__ */ jsx27(Text22, { size: 1, children: tooltip }) }),
4820
+ content: /* @__PURE__ */ jsx27(Box9, { padding: 2, children: /* @__PURE__ */ jsx27(Text22, { size: 2, children: tooltip }) }),
4821
4821
  portal: true,
4822
4822
  children: /* @__PURE__ */ jsx27("span", { style: { cursor: "help" }, children: /* @__PURE__ */ jsx27(HelpCircleIcon4, {}) })
4823
4823
  }
4824
4824
  )
4825
4825
  ] })
4826
4826
  ] }),
4827
- /* @__PURE__ */ jsxs22(Text22, { size: 3, weight: "bold", children: [
4827
+ /* @__PURE__ */ jsxs22(Text22, { size: 4, weight: "bold", children: [
4828
4828
  value,
4829
4829
  suffix && /* @__PURE__ */ jsxs22("span", { style: { fontSize: "0.6em", fontWeight: 400 }, children: [
4830
4830
  " ",
@@ -4848,7 +4848,7 @@ function AgentActivitySection({
4848
4848
  function OverviewGrid({ overall }) {
4849
4849
  return /* @__PURE__ */ jsx28(Card14, { padding: 4, radius: 2, shadow: 1, children: /* @__PURE__ */ jsxs23(Stack15, { space: 4, children: [
4850
4850
  /* @__PURE__ */ jsxs23(Flex18, { align: "center", gap: 3, children: [
4851
- /* @__PURE__ */ jsx28(Text23, { size: 2, weight: "semibold", children: "Agent Activity Overview" }),
4851
+ /* @__PURE__ */ jsx28(Text23, { size: 3, weight: "semibold", children: "Agent Activity Overview" }),
4852
4852
  /* @__PURE__ */ jsx28(GlossaryTip, { text: GLOSSARY.agentBehaviorOverview })
4853
4853
  ] }),
4854
4854
  /* @__PURE__ */ jsxs23(Grid2, { columns: [1, 2, 3], gap: 3, children: [
@@ -4907,7 +4907,7 @@ function FeatureActivityCard({
4907
4907
  }) {
4908
4908
  return /* @__PURE__ */ jsx28(Card14, { padding: 4, radius: 2, shadow: 1, children: /* @__PURE__ */ jsxs23(Stack15, { space: 4, children: [
4909
4909
  /* @__PURE__ */ jsxs23(Flex18, { align: "center", gap: 3, wrap: "wrap", children: [
4910
- /* @__PURE__ */ jsx28(Text23, { size: 2, weight: "semibold", children: behavior.feature }),
4910
+ /* @__PURE__ */ jsx28(Text23, { size: 3, weight: "semibold", children: behavior.feature }),
4911
4911
  /* @__PURE__ */ jsxs23(Badge16, { tone: "primary", children: [
4912
4912
  behavior.tasksWithBehaviorData,
4913
4913
  " test",
@@ -4967,14 +4967,14 @@ function SearchQueryList({ queries }) {
4967
4967
  }, [queries, filter]);
4968
4968
  return /* @__PURE__ */ jsxs23(Stack15, { space: 3, children: [
4969
4969
  /* @__PURE__ */ jsxs23(Flex18, { align: "center", gap: 3, wrap: "wrap", children: [
4970
- /* @__PURE__ */ jsx28(Text23, { size: 1, weight: "semibold", children: "Search Queries" }),
4970
+ /* @__PURE__ */ jsx28(Text23, { size: 2, weight: "semibold", children: "Search Queries" }),
4971
4971
  /* @__PURE__ */ jsx28(GlossaryTip, { text: GLOSSARY.searchQueries }),
4972
4972
  /* @__PURE__ */ jsx28(Badge16, { tone: "default", children: queries.length })
4973
4973
  ] }),
4974
4974
  queries.length > 5 && /* @__PURE__ */ jsx28(
4975
4975
  TextInput,
4976
4976
  {
4977
- fontSize: 1,
4977
+ fontSize: 2,
4978
4978
  icon: SearchIcon5,
4979
4979
  onChange: (e) => setFilter(e.target.value),
4980
4980
  placeholder: "Filter queries\u2026",
@@ -4990,12 +4990,12 @@ function SearchQueryList({ queries }) {
4990
4990
  style: { maxHeight: 300 },
4991
4991
  tone: "transparent",
4992
4992
  children: /* @__PURE__ */ jsxs23(Stack15, { space: 2, children: [
4993
- filtered.length === 0 && /* @__PURE__ */ jsx28(Text23, { muted: true, size: 1, children: "No matching queries" }),
4993
+ filtered.length === 0 && /* @__PURE__ */ jsx28(Text23, { muted: true, size: 2, children: "No matching queries" }),
4994
4994
  filtered.map((query, i) => /* @__PURE__ */ jsx28(
4995
4995
  Text23,
4996
4996
  {
4997
4997
  muted: true,
4998
- size: 1,
4998
+ size: 2,
4999
4999
  style: {
5000
5000
  fontFamily: "monospace",
5001
5001
  lineHeight: 1.5,
@@ -5018,7 +5018,7 @@ function BadgeList({
5018
5018
  }) {
5019
5019
  return /* @__PURE__ */ jsxs23(Stack15, { space: 3, children: [
5020
5020
  /* @__PURE__ */ jsxs23(Flex18, { align: "center", gap: 3, wrap: "wrap", children: [
5021
- /* @__PURE__ */ jsx28(Text23, { size: 1, weight: "semibold", children: label }),
5021
+ /* @__PURE__ */ jsx28(Text23, { size: 2, weight: "semibold", children: label }),
5022
5022
  tooltip && /* @__PURE__ */ jsx28(GlossaryTip, { text: tooltip }),
5023
5023
  /* @__PURE__ */ jsx28(Badge16, { tone: "default", children: items.length })
5024
5024
  ] }),
@@ -5031,23 +5031,23 @@ function MiniStat({ label, value }) {
5031
5031
  Text23,
5032
5032
  {
5033
5033
  muted: true,
5034
- size: 0,
5034
+ size: 1,
5035
5035
  style: { letterSpacing: "0.05em", textTransform: "uppercase" },
5036
5036
  weight: "semibold",
5037
5037
  children: label
5038
5038
  }
5039
5039
  ),
5040
- /* @__PURE__ */ jsx28(Text23, { size: 2, weight: "bold", children: value })
5040
+ /* @__PURE__ */ jsx28(Text23, { size: 3, weight: "bold", children: value })
5041
5041
  ] });
5042
5042
  }
5043
5043
  function GlossaryTip({ text }) {
5044
5044
  return /* @__PURE__ */ jsx28(
5045
5045
  Tooltip4,
5046
5046
  {
5047
- content: /* @__PURE__ */ jsx28(Box10, { padding: 2, style: { maxWidth: 260 }, children: /* @__PURE__ */ jsx28(Text23, { size: 1, children: text }) }),
5047
+ content: /* @__PURE__ */ jsx28(Box10, { padding: 2, style: { maxWidth: 260 }, children: /* @__PURE__ */ jsx28(Text23, { size: 2, children: text }) }),
5048
5048
  placement: "bottom",
5049
5049
  portal: true,
5050
- children: /* @__PURE__ */ jsx28(Text23, { muted: true, size: 0, children: /* @__PURE__ */ jsx28(HelpCircleIcon5, {}) })
5050
+ children: /* @__PURE__ */ jsx28(Text23, { muted: true, size: 1, children: /* @__PURE__ */ jsx28(HelpCircleIcon5, {}) })
5051
5051
  }
5052
5052
  );
5053
5053
  }
@@ -5059,7 +5059,7 @@ import { Card as Card16, Stack as Stack16, Text as Text25 } from "@sanity/ui";
5059
5059
  // src/components/primitives/ScoreCell.tsx
5060
5060
  import { Card as Card15, Text as Text24 } from "@sanity/ui";
5061
5061
  import { jsx as jsx29 } from "react/jsx-runtime";
5062
- function ScoreCell({ score, size = 1 }) {
5062
+ function ScoreCell({ score, size = 2 }) {
5063
5063
  const rounded = Math.round(score);
5064
5064
  return /* @__PURE__ */ jsx29(Card15, { padding: 1, radius: 2, tone: scoreTone(rounded), children: /* @__PURE__ */ jsx29(Text24, { align: "center", size, weight: "medium", children: rounded }) });
5065
5065
  }
@@ -5068,7 +5068,7 @@ function ScoreCell({ score, size = 1 }) {
5068
5068
  import { jsx as jsx30, jsxs as jsxs24 } from "react/jsx-runtime";
5069
5069
  function AreaScoreTable({ scores }) {
5070
5070
  return /* @__PURE__ */ jsx30(Card16, { overflow: "auto", padding: 4, radius: 2, shadow: 1, children: /* @__PURE__ */ jsxs24(Stack16, { space: 4, children: [
5071
- /* @__PURE__ */ jsx30(Text25, { size: 2, weight: "semibold", children: "Per-Area Scores" }),
5071
+ /* @__PURE__ */ jsx30(Text25, { size: 3, weight: "semibold", children: "Per-Area Scores" }),
5072
5072
  /* @__PURE__ */ jsxs24(
5073
5073
  "div",
5074
5074
  {
@@ -5115,7 +5115,7 @@ function AreaScoreTable({ scores }) {
5115
5115
  borderRadius: 4,
5116
5116
  padding: "8px 0 8px 4px"
5117
5117
  },
5118
- children: /* @__PURE__ */ jsx30(Text25, { size: 1, weight: "medium", children: score.feature })
5118
+ children: /* @__PURE__ */ jsx30(Text25, { size: 2, weight: "medium", children: score.feature })
5119
5119
  }
5120
5120
  ),
5121
5121
  /* @__PURE__ */ jsx30("div", { style: { background: rowBackground(i), padding: "6px 0" }, children: /* @__PURE__ */ jsx30(ScoreCell, { score: score.totalScore }) }),
@@ -5130,7 +5130,7 @@ function AreaScoreTable({ scores }) {
5130
5130
  background: rowBackground(i),
5131
5131
  display: "flex"
5132
5132
  },
5133
- children: /* @__PURE__ */ jsx30(Text25, { size: 1, children: formatDelta(score.docLift) })
5133
+ children: /* @__PURE__ */ jsx30(Text25, { size: 2, children: formatDelta(score.docLift) })
5134
5134
  }
5135
5135
  ),
5136
5136
  /* @__PURE__ */ jsx30(
@@ -5141,7 +5141,7 @@ function AreaScoreTable({ scores }) {
5141
5141
  background: rowBackground(i),
5142
5142
  display: "flex"
5143
5143
  },
5144
- children: /* @__PURE__ */ jsx30(Text25, { muted: true, size: 1, children: score.testCount })
5144
+ children: /* @__PURE__ */ jsx30(Text25, { muted: true, size: 2, children: score.testCount })
5145
5145
  }
5146
5146
  )
5147
5147
  ] }, score.feature))
@@ -5157,7 +5157,7 @@ import { jsx as jsx31, jsxs as jsxs25 } from "react/jsx-runtime";
5157
5157
  function ComparisonSummary({ comparison }) {
5158
5158
  return /* @__PURE__ */ jsx31(Card17, { padding: 4, radius: 2, shadow: 1, children: /* @__PURE__ */ jsxs25(Stack17, { space: 4, children: [
5159
5159
  /* @__PURE__ */ jsxs25(Flex19, { align: "center", gap: 3, wrap: "wrap", children: [
5160
- /* @__PURE__ */ jsx31(Text26, { size: 2, weight: "semibold", children: "Comparison" }),
5160
+ /* @__PURE__ */ jsx31(Text26, { size: 3, weight: "semibold", children: "Comparison" }),
5161
5161
  /* @__PURE__ */ jsx31(
5162
5162
  DeltaCard,
5163
5163
  {
@@ -5223,7 +5223,7 @@ function DeltaCard({
5223
5223
  return /* @__PURE__ */ jsx31(
5224
5224
  Tooltip5,
5225
5225
  {
5226
- content: /* @__PURE__ */ jsx31(Box11, { padding: 2, style: { maxWidth: 260 }, children: /* @__PURE__ */ jsx31(Text26, { size: 1, children: tooltip }) }),
5226
+ content: /* @__PURE__ */ jsx31(Box11, { padding: 2, style: { maxWidth: 260 }, children: /* @__PURE__ */ jsx31(Text26, { size: 2, children: tooltip }) }),
5227
5227
  placement: "bottom",
5228
5228
  portal: true,
5229
5229
  children: /* @__PURE__ */ jsx31(
@@ -5232,7 +5232,7 @@ function DeltaCard({
5232
5232
  padding: 2,
5233
5233
  radius: 2,
5234
5234
  tone: isPositive ? "positive" : isNegative ? "critical" : "default",
5235
- children: /* @__PURE__ */ jsxs25(Text26, { size: 1, weight: "bold", children: [
5235
+ children: /* @__PURE__ */ jsxs25(Text26, { size: 2, weight: "bold", children: [
5236
5236
  formatDelta(delta),
5237
5237
  " ",
5238
5238
  label
@@ -5252,7 +5252,7 @@ function AreaBadgeGroup({
5252
5252
  Text26,
5253
5253
  {
5254
5254
  muted: true,
5255
- size: 0,
5255
+ size: 1,
5256
5256
  style: { letterSpacing: "0.05em", textTransform: "uppercase" },
5257
5257
  weight: "semibold",
5258
5258
  children: label
@@ -5306,17 +5306,17 @@ function JudgmentList({ judgments }) {
5306
5306
  const grouped = groupByArea(judgments);
5307
5307
  return /* @__PURE__ */ jsx33(Card18, { padding: 4, radius: 2, shadow: 1, children: /* @__PURE__ */ jsxs26(Stack18, { space: 4, children: [
5308
5308
  /* @__PURE__ */ jsxs26(Flex20, { align: "center", gap: 3, wrap: "wrap", children: [
5309
- /* @__PURE__ */ jsx33(Text27, { size: 2, weight: "semibold", children: "Low-Scoring Judgments" }),
5309
+ /* @__PURE__ */ jsx33(Text27, { size: 3, weight: "semibold", children: "Low-Scoring Judgments" }),
5310
5310
  /* @__PURE__ */ jsx33(
5311
5311
  Tooltip6,
5312
5312
  {
5313
- content: /* @__PURE__ */ jsx33(Box12, { padding: 2, style: { maxWidth: 260 }, children: /* @__PURE__ */ jsx33(Text27, { size: 1, children: GLOSSARY.lowScoringJudgments }) }),
5313
+ content: /* @__PURE__ */ jsx33(Box12, { padding: 2, style: { maxWidth: 260 }, children: /* @__PURE__ */ jsx33(Text27, { size: 2, children: GLOSSARY.lowScoringJudgments }) }),
5314
5314
  placement: "bottom",
5315
5315
  portal: true,
5316
- children: /* @__PURE__ */ jsx33(Text27, { muted: true, size: 0, children: /* @__PURE__ */ jsx33(HelpCircleIcon6, {}) })
5316
+ children: /* @__PURE__ */ jsx33(Text27, { muted: true, size: 1, children: /* @__PURE__ */ jsx33(HelpCircleIcon6, {}) })
5317
5317
  }
5318
5318
  ),
5319
- /* @__PURE__ */ jsx33(Card18, { padding: 2, radius: 2, tone: "critical", children: /* @__PURE__ */ jsxs26(Text27, { size: 1, weight: "bold", children: [
5319
+ /* @__PURE__ */ jsx33(Card18, { padding: 2, radius: 2, tone: "critical", children: /* @__PURE__ */ jsxs26(Text27, { size: 2, weight: "bold", children: [
5320
5320
  judgments.length,
5321
5321
  " judgment",
5322
5322
  judgments.length === 1 ? "" : "s",
@@ -5324,10 +5324,10 @@ function JudgmentList({ judgments }) {
5324
5324
  ] }) })
5325
5325
  ] }),
5326
5326
  grouped.map(([area, areaJudgments]) => /* @__PURE__ */ jsx33(Card18, { padding: 3, radius: 2, tone: "transparent", children: /* @__PURE__ */ jsxs26(Stack18, { space: 3, children: [
5327
- /* @__PURE__ */ jsxs26(Text27, { size: 1, weight: "semibold", children: [
5327
+ /* @__PURE__ */ jsxs26(Text27, { size: 2, weight: "semibold", children: [
5328
5328
  area,
5329
5329
  " ",
5330
- /* @__PURE__ */ jsxs26(Text27, { muted: true, size: 1, weight: "regular", as: "span", children: [
5330
+ /* @__PURE__ */ jsxs26(Text27, { muted: true, size: 2, weight: "regular", as: "span", children: [
5331
5331
  "(",
5332
5332
  areaJudgments.length,
5333
5333
  ")"
@@ -5356,29 +5356,29 @@ function JudgmentCard({ judgment }) {
5356
5356
  Text27,
5357
5357
  {
5358
5358
  align: "center",
5359
- size: 1,
5359
+ size: 2,
5360
5360
  style: { minWidth: 28 },
5361
5361
  weight: "bold",
5362
5362
  children: judgment.score
5363
5363
  }
5364
5364
  ) }),
5365
5365
  /* @__PURE__ */ jsx33(Badge18, { tone: "default", children: dimLabel }),
5366
- /* @__PURE__ */ jsx33(Text27, { size: 1, weight: "medium", children: taskName }),
5367
- /* @__PURE__ */ jsx33(Text27, { muted: true, size: 0, children: judgment.modelId }),
5368
- /* @__PURE__ */ jsx33(Text27, { muted: true, size: 0, style: { marginLeft: "auto" }, children: expanded ? "\u25B2" : "\u25BC" })
5366
+ /* @__PURE__ */ jsx33(Text27, { size: 2, weight: "medium", children: taskName }),
5367
+ /* @__PURE__ */ jsx33(Text27, { muted: true, size: 1, children: judgment.modelId }),
5368
+ /* @__PURE__ */ jsx33(Text27, { muted: true, size: 1, style: { marginLeft: "auto" }, children: expanded ? "\u25B2" : "\u25BC" })
5369
5369
  ] }),
5370
5370
  expanded && /* @__PURE__ */ jsxs26(Stack18, { space: 3, children: [
5371
5371
  /* @__PURE__ */ jsx33(Card18, { padding: 3, radius: 2, tone: "transparent", children: /* @__PURE__ */ jsx33(
5372
5372
  Text27,
5373
5373
  {
5374
5374
  muted: true,
5375
- size: 1,
5375
+ size: 2,
5376
5376
  style: { lineHeight: 1.6, whiteSpace: "pre-wrap" },
5377
5377
  children: /* @__PURE__ */ jsx33(InlineCode, { text: judgment.reason })
5378
5378
  }
5379
5379
  ) }),
5380
5380
  judgment.canonicalDocs && judgment.canonicalDocs.length > 0 && /* @__PURE__ */ jsxs26(Flex20, { align: "center", gap: 2, wrap: "wrap", children: [
5381
- /* @__PURE__ */ jsx33(Text27, { muted: true, size: 0, children: "Docs:" }),
5381
+ /* @__PURE__ */ jsx33(Text27, { muted: true, size: 1, children: "Docs:" }),
5382
5382
  judgment.canonicalDocs.map((doc) => /* @__PURE__ */ jsx33(DocBadge, { doc }, doc.slug))
5383
5383
  ] })
5384
5384
  ] })
@@ -5402,7 +5402,7 @@ function DocBadge({
5402
5402
  return /* @__PURE__ */ jsx33(
5403
5403
  Tooltip6,
5404
5404
  {
5405
- content: /* @__PURE__ */ jsx33(Box12, { padding: 2, children: /* @__PURE__ */ jsx33(Text27, { size: 1, children: tooltipLabel }) }),
5405
+ content: /* @__PURE__ */ jsx33(Box12, { padding: 2, children: /* @__PURE__ */ jsx33(Text27, { size: 2, children: tooltipLabel }) }),
5406
5406
  placement: "bottom",
5407
5407
  portal: true,
5408
5408
  children: isLinked ? /* @__PURE__ */ jsx33(
@@ -5497,7 +5497,7 @@ import { jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
5497
5497
  var VIEWABLE_PROMPTFOO_MODES = /* @__PURE__ */ new Set(["agentic", "observed"]);
5498
5498
  function ProvenanceCard({ provenance }) {
5499
5499
  return /* @__PURE__ */ jsx35(Card19, { padding: 4, radius: 2, shadow: 1, children: /* @__PURE__ */ jsxs28(Stack19, { space: 4, children: [
5500
- /* @__PURE__ */ jsx35(Text28, { size: 2, weight: "semibold", children: "Provenance" }),
5500
+ /* @__PURE__ */ jsx35(Text28, { size: 3, weight: "semibold", children: "Provenance" }),
5501
5501
  /* @__PURE__ */ jsxs28(Grid5, { columns: [1, 2, 3], gap: 4, children: [
5502
5502
  /* @__PURE__ */ jsx35(Field, { label: "Mode", value: provenance.mode }),
5503
5503
  /* @__PURE__ */ jsx35(Field, { label: "Source", value: provenance.source.name }),
@@ -5539,13 +5539,13 @@ function Field({
5539
5539
  Text28,
5540
5540
  {
5541
5541
  muted: true,
5542
- size: 0,
5542
+ size: 1,
5543
5543
  style: { letterSpacing: "0.05em", textTransform: "uppercase" },
5544
5544
  weight: "semibold",
5545
5545
  children: label
5546
5546
  }
5547
5547
  ),
5548
- /* @__PURE__ */ jsx35(Text28, { size: 1, style: mono ? { fontFamily: "monospace" } : void 0, children: value })
5548
+ /* @__PURE__ */ jsx35(Text28, { size: 2, style: mono ? { fontFamily: "monospace" } : void 0, children: value })
5549
5549
  ] });
5550
5550
  }
5551
5551
  function GitInfo({ git }) {
@@ -5554,14 +5554,14 @@ function GitInfo({ git }) {
5554
5554
  const commitUrl = `${repoUrl}/commit/${git.sha}`;
5555
5555
  const prUrl = git.prNumber ? `${repoUrl}/pull/${git.prNumber}` : null;
5556
5556
  return /* @__PURE__ */ jsx35(Card19, { border: true, padding: 3, radius: 2, tone: "transparent", children: /* @__PURE__ */ jsxs28(Flex21, { align: "center", gap: 3, wrap: "wrap", children: [
5557
- /* @__PURE__ */ jsx35(Text28, { muted: true, size: 1, weight: "semibold", children: "Git" }),
5558
- /* @__PURE__ */ jsxs28(Text28, { size: 1, children: [
5557
+ /* @__PURE__ */ jsx35(Text28, { muted: true, size: 2, weight: "semibold", children: "Git" }),
5558
+ /* @__PURE__ */ jsxs28(Text28, { size: 2, children: [
5559
5559
  /* @__PURE__ */ jsx35("a", { href: repoUrl, rel: "noopener noreferrer", target: "_blank", children: git.repo }),
5560
5560
  " / ",
5561
5561
  /* @__PURE__ */ jsx35("a", { href: branchUrl, rel: "noopener noreferrer", target: "_blank", children: git.branch })
5562
5562
  ] }),
5563
- /* @__PURE__ */ jsx35(Text28, { muted: true, size: 1, style: { fontFamily: "monospace" }, children: /* @__PURE__ */ jsx35("a", { href: commitUrl, rel: "noopener noreferrer", target: "_blank", children: git.sha.slice(0, 12) }) }),
5564
- prUrl && /* @__PURE__ */ jsx35(Text28, { size: 1, children: /* @__PURE__ */ jsxs28("a", { href: prUrl, rel: "noopener noreferrer", target: "_blank", children: [
5563
+ /* @__PURE__ */ jsx35(Text28, { muted: true, size: 2, style: { fontFamily: "monospace" }, children: /* @__PURE__ */ jsx35("a", { href: commitUrl, rel: "noopener noreferrer", target: "_blank", children: git.sha.slice(0, 12) }) }),
5564
+ prUrl && /* @__PURE__ */ jsx35(Text28, { size: 2, children: /* @__PURE__ */ jsxs28("a", { href: prUrl, rel: "noopener noreferrer", target: "_blank", children: [
5565
5565
  "PR #",
5566
5566
  git.prNumber,
5567
5567
  " \u2192"
@@ -5576,14 +5576,14 @@ function PromptfooLinks({
5576
5576
  (e) => VIEWABLE_PROMPTFOO_MODES.has(e.mode)
5577
5577
  );
5578
5578
  if (viewable.length === 0) return null;
5579
- return /* @__PURE__ */ jsx35(Flex21, { gap: 3, wrap: "wrap", children: viewable.map((entry) => /* @__PURE__ */ jsx35(Text28, { size: 1, children: /* @__PURE__ */ jsxs28("a", { href: entry.url, rel: "noopener noreferrer", target: "_blank", children: [
5579
+ return /* @__PURE__ */ jsx35(Flex21, { gap: 3, wrap: "wrap", children: viewable.map((entry) => /* @__PURE__ */ jsx35(Text28, { size: 2, children: /* @__PURE__ */ jsxs28("a", { href: entry.url, rel: "noopener noreferrer", target: "_blank", children: [
5580
5580
  "View in Promptfoo (",
5581
5581
  entry.mode,
5582
5582
  ") \u2192"
5583
5583
  ] }) }, entry.mode)) });
5584
5584
  }
5585
5585
  if (provenance.promptfooUrl && VIEWABLE_PROMPTFOO_MODES.has(provenance.mode)) {
5586
- return /* @__PURE__ */ jsx35(Text28, { size: 1, children: /* @__PURE__ */ jsx35(
5586
+ return /* @__PURE__ */ jsx35(Text28, { size: 2, children: /* @__PURE__ */ jsx35(
5587
5587
  "a",
5588
5588
  {
5589
5589
  href: provenance.promptfooUrl,
@@ -5607,23 +5607,23 @@ function RecommendationsSection({
5607
5607
  if (recommendations.gaps.length === 0) return null;
5608
5608
  return /* @__PURE__ */ jsx36(Card20, { padding: 4, radius: 2, shadow: 1, children: /* @__PURE__ */ jsxs29(Stack20, { space: 4, children: [
5609
5609
  /* @__PURE__ */ jsxs29(Flex22, { align: "center", gap: 3, wrap: "wrap", children: [
5610
- /* @__PURE__ */ jsx36(Text29, { size: 2, weight: "semibold", children: "Recommendations" }),
5610
+ /* @__PURE__ */ jsx36(Text29, { size: 3, weight: "semibold", children: "Recommendations" }),
5611
5611
  /* @__PURE__ */ jsx36(
5612
5612
  Tooltip7,
5613
5613
  {
5614
- content: /* @__PURE__ */ jsx36(Box13, { padding: 2, style: { maxWidth: 260 }, children: /* @__PURE__ */ jsx36(Text29, { size: 1, children: GLOSSARY.recommendations }) }),
5614
+ content: /* @__PURE__ */ jsx36(Box13, { padding: 2, style: { maxWidth: 260 }, children: /* @__PURE__ */ jsx36(Text29, { size: 2, children: GLOSSARY.recommendations }) }),
5615
5615
  placement: "bottom",
5616
5616
  portal: true,
5617
- children: /* @__PURE__ */ jsx36(Text29, { muted: true, size: 0, children: /* @__PURE__ */ jsx36(HelpCircleIcon7, {}) })
5617
+ children: /* @__PURE__ */ jsx36(Text29, { muted: true, size: 1, children: /* @__PURE__ */ jsx36(HelpCircleIcon7, {}) })
5618
5618
  }
5619
5619
  ),
5620
5620
  /* @__PURE__ */ jsx36(
5621
5621
  Tooltip7,
5622
5622
  {
5623
- content: /* @__PURE__ */ jsx36(Box13, { padding: 2, style: { maxWidth: 260 }, children: /* @__PURE__ */ jsx36(Text29, { size: 1, children: GLOSSARY.totalPotentialLift }) }),
5623
+ content: /* @__PURE__ */ jsx36(Box13, { padding: 2, style: { maxWidth: 260 }, children: /* @__PURE__ */ jsx36(Text29, { size: 2, children: GLOSSARY.totalPotentialLift }) }),
5624
5624
  placement: "bottom",
5625
5625
  portal: true,
5626
- children: /* @__PURE__ */ jsx36(Card20, { padding: 2, radius: 2, tone: "positive", children: /* @__PURE__ */ jsxs29(Text29, { size: 1, weight: "bold", children: [
5626
+ children: /* @__PURE__ */ jsx36(Card20, { padding: 2, radius: 2, tone: "positive", children: /* @__PURE__ */ jsxs29(Text29, { size: 2, weight: "bold", children: [
5627
5627
  "+",
5628
5628
  recommendations.totalPotentialLift.toFixed(1),
5629
5629
  " pts potential lift"
@@ -5690,7 +5690,7 @@ function RecommendationRow({
5690
5690
  display: "flex",
5691
5691
  padding: "8px 4px"
5692
5692
  },
5693
- children: /* @__PURE__ */ jsx36(Text29, { muted: true, size: 1, children: index + 1 })
5693
+ children: /* @__PURE__ */ jsx36(Text29, { muted: true, size: 2, children: index + 1 })
5694
5694
  }
5695
5695
  ),
5696
5696
  /* @__PURE__ */ jsx36(
@@ -5702,7 +5702,7 @@ function RecommendationRow({
5702
5702
  display: "flex",
5703
5703
  padding: "8px 0"
5704
5704
  },
5705
- children: /* @__PURE__ */ jsx36(Text29, { size: 1, weight: "medium", children: gap.area })
5705
+ children: /* @__PURE__ */ jsx36(Text29, { size: 2, weight: "medium", children: gap.area })
5706
5706
  }
5707
5707
  ),
5708
5708
  /* @__PURE__ */ jsx36(
@@ -5732,7 +5732,7 @@ function RecommendationRow({
5732
5732
  display: "flex",
5733
5733
  padding: "8px 0"
5734
5734
  },
5735
- children: /* @__PURE__ */ jsx36(Text29, { muted: true, size: 1, children: gap.remediation })
5735
+ children: /* @__PURE__ */ jsx36(Text29, { muted: true, size: 2, children: gap.remediation })
5736
5736
  }
5737
5737
  ),
5738
5738
  /* @__PURE__ */ jsx36(
@@ -5744,7 +5744,7 @@ function RecommendationRow({
5744
5744
  display: "flex",
5745
5745
  padding: "8px 0"
5746
5746
  },
5747
- children: /* @__PURE__ */ jsx36(Card20, { padding: 2, radius: 2, tone: "positive", children: /* @__PURE__ */ jsxs29(Text29, { align: "center", size: 1, weight: "medium", children: [
5747
+ children: /* @__PURE__ */ jsx36(Card20, { padding: 2, radius: 2, tone: "positive", children: /* @__PURE__ */ jsxs29(Text29, { align: "center", size: 2, weight: "medium", children: [
5748
5748
  "+",
5749
5749
  gap.estimatedLift.toFixed(1)
5750
5750
  ] }) })
@@ -5759,7 +5759,7 @@ function RecommendationRow({
5759
5759
  display: "flex",
5760
5760
  padding: "8px 0"
5761
5761
  },
5762
- children: /* @__PURE__ */ jsxs29(Text29, { size: 1, children: [
5762
+ children: /* @__PURE__ */ jsxs29(Text29, { size: 2, children: [
5763
5763
  confIcon,
5764
5764
  " ",
5765
5765
  gap.confidence
@@ -5806,8 +5806,8 @@ function ReportHeader({
5806
5806
  }
5807
5807
  ),
5808
5808
  /* @__PURE__ */ jsxs30(Stack21, { flex: 1, space: 1, children: [
5809
- /* @__PURE__ */ jsx37(Text30, { size: 3, weight: "bold", children: title }),
5810
- hasTag && /* @__PURE__ */ jsx37(Text30, { muted: true, size: 1, children: dateLabel })
5809
+ /* @__PURE__ */ jsx37(Text30, { size: 4, weight: "bold", children: title }),
5810
+ hasTag && /* @__PURE__ */ jsx37(Text30, { muted: true, size: 2, children: dateLabel })
5811
5811
  ] }),
5812
5812
  /* @__PURE__ */ jsxs30(Flex23, { gap: 2, children: [
5813
5813
  /* @__PURE__ */ jsx37(Badge20, { mode: "outline", tone: "default", children: sourceName }),
@@ -5817,7 +5817,7 @@ function ReportHeader({
5817
5817
  /* @__PURE__ */ jsx37(
5818
5818
  Tooltip8,
5819
5819
  {
5820
- content: /* @__PURE__ */ jsx37(Box14, { padding: 2, children: /* @__PURE__ */ jsx37(Text30, { size: 1, children: "Click to copy report ID" }) }),
5820
+ content: /* @__PURE__ */ jsx37(Box14, { padding: 2, children: /* @__PURE__ */ jsx37(Text30, { size: 2, children: "Click to copy report ID" }) }),
5821
5821
  placement: "bottom",
5822
5822
  portal: true,
5823
5823
  children: /* @__PURE__ */ jsx37(
@@ -5834,7 +5834,7 @@ function ReportHeader({
5834
5834
  Text30,
5835
5835
  {
5836
5836
  muted: true,
5837
- size: 0,
5837
+ size: 1,
5838
5838
  style: {
5839
5839
  letterSpacing: "0.05em",
5840
5840
  textTransform: "uppercase"
@@ -5846,7 +5846,7 @@ function ReportHeader({
5846
5846
  /* @__PURE__ */ jsx37(
5847
5847
  Text30,
5848
5848
  {
5849
- size: 1,
5849
+ size: 2,
5850
5850
  style: {
5851
5851
  fontFamily: "monospace",
5852
5852
  userSelect: "all"
@@ -5854,7 +5854,7 @@ function ReportHeader({
5854
5854
  children: reportId
5855
5855
  }
5856
5856
  ),
5857
- /* @__PURE__ */ jsx37(Box14, { style: { marginLeft: "auto" }, children: /* @__PURE__ */ jsx37(Text30, { muted: true, size: 1, children: /* @__PURE__ */ jsx37(ClipboardIcon, {}) }) })
5857
+ /* @__PURE__ */ jsx37(Box14, { style: { marginLeft: "auto" }, children: /* @__PURE__ */ jsx37(Text30, { muted: true, size: 2, children: /* @__PURE__ */ jsx37(ClipboardIcon, {}) }) })
5858
5858
  ] })
5859
5859
  }
5860
5860
  )
@@ -5873,7 +5873,7 @@ function ThreeLayerTable({ scores }) {
5873
5873
  const hasInverted = filtered.some((s) => s.invertedRetrievalGap);
5874
5874
  return /* @__PURE__ */ jsx38(Card22, { overflow: "auto", padding: 4, radius: 2, shadow: 1, children: /* @__PURE__ */ jsxs31(Stack22, { space: 4, children: [
5875
5875
  /* @__PURE__ */ jsxs31(Flex24, { align: "center", gap: 3, children: [
5876
- /* @__PURE__ */ jsx38(Text31, { size: 2, weight: "semibold", children: "Three-Layer Decomposition" }),
5876
+ /* @__PURE__ */ jsx38(Text31, { size: 3, weight: "semibold", children: "Three-Layer Decomposition" }),
5877
5877
  /* @__PURE__ */ jsx38(Badge21, { tone: "primary", children: "full mode" })
5878
5878
  ] }),
5879
5879
  /* @__PURE__ */ jsxs31(
@@ -5921,7 +5921,7 @@ function ThreeLayerTable({ scores }) {
5921
5921
  borderRadius: 4,
5922
5922
  padding: "8px 0 8px 4px"
5923
5923
  },
5924
- children: /* @__PURE__ */ jsx38(Text31, { size: 1, weight: "medium", children: score.feature })
5924
+ children: /* @__PURE__ */ jsx38(Text31, { size: 2, weight: "medium", children: score.feature })
5925
5925
  }
5926
5926
  ),
5927
5927
  /* @__PURE__ */ jsx38("div", { style: { background: rowBackground(i), padding: "6px 0" }, children: /* @__PURE__ */ jsx38(ScoreCell, { score: score.floorScore ?? 0 }) }),
@@ -5936,7 +5936,7 @@ function ThreeLayerTable({ scores }) {
5936
5936
  display: "flex",
5937
5937
  padding: "6px 0"
5938
5938
  },
5939
- children: /* @__PURE__ */ jsx38(Text31, { size: 1, children: score.retrievalGap != null ? score.retrievalGap.toFixed(1) : "\u2014" })
5939
+ children: /* @__PURE__ */ jsx38(Text31, { size: 2, children: score.retrievalGap != null ? score.retrievalGap.toFixed(1) : "\u2014" })
5940
5940
  }
5941
5941
  ),
5942
5942
  /* @__PURE__ */ jsx38(
@@ -5948,7 +5948,7 @@ function ThreeLayerTable({ scores }) {
5948
5948
  display: "flex",
5949
5949
  padding: "6px 0"
5950
5950
  },
5951
- children: /* @__PURE__ */ jsxs31(Text31, { size: 1, children: [
5951
+ children: /* @__PURE__ */ jsxs31(Text31, { size: 2, children: [
5952
5952
  formatPercent(score.infrastructureEfficiency),
5953
5953
  score.invertedRetrievalGap && " \u26A0\uFE0F"
5954
5954
  ] })
@@ -5958,7 +5958,7 @@ function ThreeLayerTable({ scores }) {
5958
5958
  ]
5959
5959
  }
5960
5960
  ),
5961
- hasInverted && /* @__PURE__ */ jsx38(Text31, { muted: true, size: 0, children: GLOSSARY.invertedRetGap })
5961
+ hasInverted && /* @__PURE__ */ jsx38(Text31, { muted: true, size: 1, children: GLOSSARY.invertedRetGap })
5962
5962
  ] }) });
5963
5963
  }
5964
5964
 
@@ -6042,7 +6042,7 @@ function ReportDetail({
6042
6042
  text: "Back"
6043
6043
  }
6044
6044
  ),
6045
- /* @__PURE__ */ jsx39(Text32, { align: "center", muted: true, size: 2, children: "Report not found" })
6045
+ /* @__PURE__ */ jsx39(Text32, { align: "center", muted: true, size: 3, children: "Report not found" })
6046
6046
  ] }) });
6047
6047
  }
6048
6048
  const { comparison, provenance } = report;
@@ -6154,9 +6154,9 @@ function getDisabledTabTooltip(tabId, summary) {
6154
6154
  if (!summary) return null;
6155
6155
  switch (tabId) {
6156
6156
  case "diagnostics":
6157
- return /* @__PURE__ */ jsx39(Text32, { muted: true, size: 1, children: "No diagnostic data available. Diagnostics require low-scoring judgments or gap analysis recommendations." });
6157
+ return /* @__PURE__ */ jsx39(Text32, { muted: true, size: 2, children: "No diagnostic data available. Diagnostics require low-scoring judgments or gap analysis recommendations." });
6158
6158
  case "activity":
6159
- return summary.evaluationMode === "baseline" ? /* @__PURE__ */ jsxs32(Text32, { muted: true, size: 1, children: [
6159
+ return summary.evaluationMode === "baseline" ? /* @__PURE__ */ jsxs32(Text32, { muted: true, size: 2, children: [
6160
6160
  "Not available for baseline-only evaluations. Run with",
6161
6161
  " ",
6162
6162
  /* @__PURE__ */ jsx39("code", { style: inlineCodeStyle, children: "--mode full" }),
@@ -6164,7 +6164,7 @@ function getDisabledTabTooltip(tabId, summary) {
6164
6164
  " ",
6165
6165
  /* @__PURE__ */ jsx39("code", { style: inlineCodeStyle, children: "--mode agentic" }),
6166
6166
  " to capture agent browsing behavior."
6167
- ] }) : /* @__PURE__ */ jsx39(Text32, { muted: true, size: 1, children: "No agent activity data was recorded for this evaluation." });
6167
+ ] }) : /* @__PURE__ */ jsx39(Text32, { muted: true, size: 2, children: "No agent activity data was recorded for this evaluation." });
6168
6168
  default:
6169
6169
  return null;
6170
6170
  }
@@ -6288,7 +6288,7 @@ function ScoreTimeline({ mode = null, source = null }) {
6288
6288
  areaNames.map((name) => /* @__PURE__ */ jsx40("option", { value: name, children: name }, name))
6289
6289
  ] })
6290
6290
  ] }),
6291
- /* @__PURE__ */ jsx40(Card23, { padding: 3, radius: 2, shadow: 1, children: loading ? /* @__PURE__ */ jsx40(Flex25, { align: "center", justify: "center", style: { height: 200 }, children: /* @__PURE__ */ jsx40(Text33, { muted: true, size: 1, children: "Loading\u2026" }) }) : chartPoints.length === 0 ? /* @__PURE__ */ jsx40(Flex25, { align: "center", justify: "center", style: { height: 200 }, children: /* @__PURE__ */ jsx40(Text33, { muted: true, size: 1, children: "No reports found for this time range" }) }) : /* @__PURE__ */ jsxs33(
6291
+ /* @__PURE__ */ jsx40(Card23, { padding: 3, radius: 2, shadow: 1, children: loading ? /* @__PURE__ */ jsx40(Flex25, { align: "center", justify: "center", style: { height: 200 }, children: /* @__PURE__ */ jsx40(Text33, { muted: true, size: 2, children: "Loading\u2026" }) }) : chartPoints.length === 0 ? /* @__PURE__ */ jsx40(Flex25, { align: "center", justify: "center", style: { height: 200 }, children: /* @__PURE__ */ jsx40(Text33, { muted: true, size: 2, children: "No reports found for this time range" }) }) : /* @__PURE__ */ jsxs33(
6292
6292
  "svg",
6293
6293
  {
6294
6294
  style: { display: "block", width: "100%" },
@@ -6382,7 +6382,7 @@ function ScoreTimeline({ mode = null, source = null }) {
6382
6382
  ]
6383
6383
  }
6384
6384
  ) }),
6385
- /* @__PURE__ */ jsxs33(Text33, { muted: true, size: 1, children: [
6385
+ /* @__PURE__ */ jsxs33(Text33, { muted: true, size: 2, children: [
6386
6386
  chartPoints.length,
6387
6387
  " data point",
6388
6388
  chartPoints.length !== 1 ? "s" : ""
@@ -6445,14 +6445,14 @@ function Dashboard() {
6445
6445
  return /* @__PURE__ */ jsx41(Container, { width: 2, children: /* @__PURE__ */ jsxs34(Stack25, { padding: 4, space: 4, children: [
6446
6446
  /* @__PURE__ */ jsxs34(Flex26, { align: "center", gap: 3, children: [
6447
6447
  /* @__PURE__ */ jsxs34(Stack25, { flex: 1, space: 1, children: [
6448
- /* @__PURE__ */ jsx41(Text34, { size: 3, weight: "bold", children: "AI Literacy Framework" }),
6449
- /* @__PURE__ */ jsx41(Text34, { muted: true, size: 1, children: "Evaluation reports and score trends" })
6448
+ /* @__PURE__ */ jsx41(Text34, { size: 4, weight: "bold", children: "AI Literacy Framework" }),
6449
+ /* @__PURE__ */ jsx41(Text34, { muted: true, size: 2, children: "Evaluation reports and score trends" })
6450
6450
  ] }),
6451
6451
  !isDetail && /* @__PURE__ */ jsxs34(Flex26, { gap: 2, children: [
6452
6452
  /* @__PURE__ */ jsxs34(
6453
6453
  Select3,
6454
6454
  {
6455
- fontSize: 1,
6455
+ fontSize: 2,
6456
6456
  onChange: (e) => setSource(e.currentTarget.value || null),
6457
6457
  value: source ?? "",
6458
6458
  children: [
@@ -6464,7 +6464,7 @@ function Dashboard() {
6464
6464
  /* @__PURE__ */ jsxs34(
6465
6465
  Select3,
6466
6466
  {
6467
- fontSize: 1,
6467
+ fontSize: 2,
6468
6468
  onChange: (e) => setMode(e.currentTarget.value || null),
6469
6469
  value: mode ?? "",
6470
6470
  children: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/ailf-studio",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "description": "AI Literacy Framework — Sanity Studio dashboard plugin",
5
5
  "type": "module",
6
6
  "license": "MIT",