@multiplatform.one/theme 7.45.1 → 7.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +33 -0
  2. package/expo.cjs +3 -0
  3. package/package.json +22 -6
  4. package/src/audit/constraintAudit.ts +2 -1
  5. package/src/audit/themeMatrix.ts +1 -0
  6. package/src/expo.spec.ts +83 -0
  7. package/src/expo.ts +57 -0
  8. package/src/expoConfig.spec.ts +67 -0
  9. package/src/figma/figmaTokens.spec.ts +4 -3
  10. package/src/theme/FontKnobStyles.tsx +13 -1
  11. package/src/theme/Heading.tsx +70 -0
  12. package/src/theme/Intent.stories.tsx +2 -2
  13. package/src/theme/Preset.stories.tsx +2 -2
  14. package/src/theme/Preset.tsx +4 -2
  15. package/src/theme/Surface.stories.tsx +2 -1
  16. package/src/theme/Surface.tsx +4 -2
  17. package/src/theme/Text.tsx +152 -0
  18. package/src/theme/ThemeProvider.stories.tsx +2 -1
  19. package/src/theme/Tint.stories.tsx +2 -1
  20. package/src/theme/accentFloor.spec.ts +5 -3
  21. package/src/theme/accentOnSurface.palette.spec.tsx +75 -0
  22. package/src/theme/accentOnSurface.spec.tsx +149 -0
  23. package/src/theme/colorThemeAccent.spec.ts +5 -2
  24. package/src/theme/cookies.spec.ts +2 -2
  25. package/src/theme/createDefaultThemeConfig.spec.ts +2 -2
  26. package/src/theme/createThemes.ts +91 -11
  27. package/src/theme/defaults/builderOptions.ts +18 -0
  28. package/src/theme/devtools/ColorLineVisualizer.tsx +3 -0
  29. package/src/theme/devtools/ThemeDevtoolsPanel.tsx +2 -0
  30. package/src/theme/hairline.native.ts +3 -0
  31. package/src/theme/hairline.ts +9 -0
  32. package/src/theme/hairlineToken.spec.ts +110 -0
  33. package/src/theme/index.ts +4 -0
  34. package/src/theme/knobs.ts +2 -2
  35. package/src/theme/mpo19Proof.spec.ts +4 -1
  36. package/src/theme/overlaySurfaces.tsx +9 -3
  37. package/src/theme/pageGutter.tsx +61 -0
  38. package/src/theme/preset.spec.tsx +29 -1
  39. package/src/theme/presets.spec.ts +1 -1
  40. package/src/theme/presets.ts +2 -2
  41. package/src/theme/ramps.spec.ts +53 -0
  42. package/src/theme/ramps.ts +75 -0
  43. package/src/theme/readableColor.ts +111 -70
  44. package/src/theme/recipes.ts +51 -2
  45. package/src/theme/resolveFontTokenFamily.spec.ts +44 -0
  46. package/src/theme/resolveKnobs.spec.ts +30 -20
  47. package/src/theme/resolveKnobs.ts +87 -20
  48. package/src/theme/selectedState.spec.ts +127 -0
  49. package/types/audit/constraintAudit.d.ts.map +1 -1
  50. package/types/audit/themeMatrix.d.ts.map +1 -1
  51. package/types/expo.d.ts +29 -0
  52. package/types/expo.d.ts.map +1 -0
  53. package/types/theme/FontKnobStyles.d.ts +7 -0
  54. package/types/theme/FontKnobStyles.d.ts.map +1 -1
  55. package/types/theme/Heading.d.ts +10 -0
  56. package/types/theme/Heading.d.ts.map +1 -0
  57. package/types/theme/Preset.d.ts.map +1 -1
  58. package/types/theme/Surface.d.ts +2 -1
  59. package/types/theme/Surface.d.ts.map +1 -1
  60. package/types/theme/Text.d.ts +13 -0
  61. package/types/theme/Text.d.ts.map +1 -0
  62. package/types/theme/colorRules.d.ts +1 -1
  63. package/types/theme/createThemes.d.ts.map +1 -1
  64. package/types/theme/defaults/builderOptions.d.ts.map +1 -1
  65. package/types/theme/defaults/fonts.d.ts +30 -30
  66. package/types/theme/devtools/ColorLineVisualizer.d.ts.map +1 -1
  67. package/types/theme/devtools/ThemeDevtoolsPanel.d.ts.map +1 -1
  68. package/types/theme/hairline.d.ts +8 -0
  69. package/types/theme/hairline.d.ts.map +1 -1
  70. package/types/theme/hairline.native.d.ts +2 -0
  71. package/types/theme/hairline.native.d.ts.map +1 -1
  72. package/types/theme/index.d.ts +4 -0
  73. package/types/theme/index.d.ts.map +1 -1
  74. package/types/theme/knobs.d.ts +1 -1
  75. package/types/theme/knobs.d.ts.map +1 -1
  76. package/types/theme/overlaySurfaces.d.ts.map +1 -1
  77. package/types/theme/pageGutter.d.ts +41 -0
  78. package/types/theme/pageGutter.d.ts.map +1 -0
  79. package/types/theme/ramps.d.ts +20 -0
  80. package/types/theme/ramps.d.ts.map +1 -0
  81. package/types/theme/readableColor.d.ts +24 -12
  82. package/types/theme/readableColor.d.ts.map +1 -1
  83. package/types/theme/recipes.d.ts +44 -4
  84. package/types/theme/recipes.d.ts.map +1 -1
  85. package/types/theme/resolveKnobs.d.ts +10 -4
  86. package/types/theme/resolveKnobs.d.ts.map +1 -1
@@ -1,7 +1,7 @@
1
1
  import { motionFor } from "./motion";
2
2
  import { isTouchable, isWeb, isWebTouchable } from "@multiplatform.one/platform";
3
3
  import { getConfig } from "@tamagui/web";
4
- import type { FontSizeTokens } from "tamagui";
4
+ import type { FontLetterSpacingTokens, FontLineHeightTokens, FontSizeTokens } from "tamagui";
5
5
  // Importing the class constant also mounts the corner-shape stylesheet at
6
6
  // theme load (web only, idempotent) — see cornerSmoothing.ts.
7
7
  import { cornerSmoothClassName } from "./cornerSmoothing";
@@ -14,6 +14,7 @@ import {
14
14
  } from "./focusState";
15
15
  import { fontCategoryStacks } from "./fontCategoryStacks";
16
16
  import type { CornerSmoothing, Elevation, Knobs, PageTitleScale, StateKnobs } from "./knobs";
17
+ import { hairlineBorderWidth } from "./hairline";
17
18
  import { pressTargetHitSlop } from "./layoutTokens";
18
19
  import { getActiveScaleTokens } from "./scale/activeScale";
19
20
  import { SIZE_KEYS, type SizeKey } from "./scale/scaleInputs";
@@ -26,7 +27,9 @@ import type {
26
27
  KnobProps,
27
28
  KnobPropsOverride,
28
29
  KnobRecipe,
30
+ PageTitleFragment,
29
31
  ResolvedKnobs,
32
+ StateRecipes,
30
33
  TextStateProps,
31
34
  } from "./recipes";
32
35
  import { sizeRecipeForToken } from "./sizeRecipes";
@@ -64,11 +67,38 @@ const nestedRadiusMap = {
64
67
 
65
68
  const borderWidthMap = {
66
69
  none: 0,
67
- small: 0.5,
70
+ small: hairlineBorderWidth,
68
71
  medium: 1,
69
72
  large: 2,
70
73
  } as const;
71
74
 
75
+ /**
76
+ * LC-148: the edge colour one ramp step toward the page, for a `small` edge
77
+ * drawn no finer than `medium`. `$borderColor` steps to the theme's
78
+ * `$borderColorHairline`, a border step `$color2`..`$color8` to the one below;
79
+ * any other colour (the `$color9`+ solids and text steps, accent, intent,
80
+ * transparent, a state colour) is a signal, not a chrome step, and stays put.
81
+ */
82
+ function fainterEdge(color: string): string {
83
+ if (color === "$borderColor") return "$borderColorHairline";
84
+ const step = /^\$color(\d+)$/.exec(color);
85
+ const n = step ? Number(step[1]) : 0;
86
+ return n >= 2 && n <= 8 ? `$color${n - 1}` : color;
87
+ }
88
+
89
+ /**
90
+ * LC-148: the colour a component paints its own edge in at the resolved
91
+ * `borderWidth` stop (`knobProps.borderWidthStop`). Where `small` draws no
92
+ * finer than `medium` (web) the edge steps one ramp step toward the page, the
93
+ * same step the resolver's own fragments take, so a component that names its
94
+ * edge colour still lets `small` read finer than `medium`.
95
+ */
96
+ export function edgeColorAt(color: string, stop: Knobs["borderWidth"]): string {
97
+ return stop === "small" && borderWidthMap.small >= borderWidthMap.medium
98
+ ? fainterEdge(color)
99
+ : color;
100
+ }
101
+
72
102
  // ── Corner smoothing (Axiom 15 OPTICS) ────────────────────────
73
103
  // `smooth` upgrades circular-arc corners to continuous curvature —
74
104
  // `corner-shape: squircle` (≡ superellipse(2), ≈ Apple / Figma 0.6) — as a
@@ -107,11 +137,17 @@ const featureRadiusMap = {
107
137
  } as const;
108
138
 
109
139
  // ── Page-title step (D-11 hero-H1 dial) ───────────────────────
110
- // Default type 15: moderate is 40px; display is 52px.
140
+ // Default type 15: moderate is 40px; display is 52px. Below `$sm` (a phone)
141
+ // each step drops one token, as iOS large titles and Material's compact
142
+ // headline do: a 40px title crowds a 390pt column (FZ-7703).
111
143
  const pageTitleSizeMap: Record<PageTitleScale, FontSizeTokens> = {
112
144
  moderate: "$10",
113
145
  display: "$12",
114
146
  };
147
+ const compactPageTitleSizeMap: Record<PageTitleScale, FontSizeTokens> = {
148
+ moderate: "$9",
149
+ display: "$11",
150
+ };
115
151
 
116
152
  /**
117
153
  * Resolve a page-title scale to its complete size fragment (D-11).
@@ -120,8 +156,18 @@ const pageTitleSizeMap: Record<PageTitleScale, FontSizeTokens> = {
120
156
  * marketing hero) resolves through the same table as the knob — never a
121
157
  * second hardcoded step.
122
158
  */
123
- export function resolvePageTitleScale(scale: PageTitleScale): { size: FontSizeTokens } {
124
- return { size: pageTitleSizeMap[scale] };
159
+ export function resolvePageTitleScale(scale: PageTitleScale): PageTitleFragment {
160
+ const compact = compactPageTitleSizeMap[scale];
161
+ return {
162
+ size: pageTitleSizeMap[scale],
163
+ // Not a media `size`: the size variant also writes the font table's weight
164
+ // and colour, which would outrank the preset's and consumer's on a phone.
165
+ "$max-sm": {
166
+ fontSize: compact,
167
+ lineHeight: compact as FontLineHeightTokens,
168
+ letterSpacing: compact as FontLetterSpacingTokens,
169
+ },
170
+ };
125
171
  }
126
172
 
127
173
  // ── Container radius cap (Axiom 1 CLIP) ──────────────────────
@@ -387,11 +433,18 @@ const disabledSelectedSurface = {
387
433
  ...disabledCursor,
388
434
  };
389
435
 
390
- function resolveDisabled(disabledStyle: Knobs["disabledStyle"]): DisabledRecipe {
436
+ function resolveDisabled(
437
+ disabledStyle: Knobs["disabledStyle"],
438
+ edge: (color: string) => string,
439
+ ): DisabledRecipe {
440
+ const selectedSurfaceKnobProps = {
441
+ ...disabledSelectedSurface,
442
+ borderColor: edge(disabledSelectedSurface.borderColor),
443
+ };
391
444
  if (disabledStyle === "dimWhole") {
392
445
  return {
393
446
  surfaceKnobProps: { ...disabledCursor },
394
- selectedSurfaceKnobProps: { ...disabledSelectedSurface },
447
+ selectedSurfaceKnobProps,
395
448
  chromeKnobProps: { ...disabledCursor },
396
449
  textKnobProps: {},
397
450
  assemblyKnobProps: { opacity: DISABLED_ASSEMBLY_OPACITY },
@@ -401,10 +454,10 @@ function resolveDisabled(disabledStyle: Knobs["disabledStyle"]): DisabledRecipe
401
454
  return {
402
455
  surfaceKnobProps: {
403
456
  backgroundColor: "$color3",
404
- borderColor: "$color6",
457
+ borderColor: edge("$color6"),
405
458
  ...disabledCursor,
406
459
  },
407
- selectedSurfaceKnobProps: { ...disabledSelectedSurface },
460
+ selectedSurfaceKnobProps,
408
461
  chromeKnobProps: { opacity: DISABLED_CHROME_OPACITY, ...disabledCursor },
409
462
  textKnobProps: { color: "$color11" },
410
463
  assemblyKnobProps: {},
@@ -462,6 +515,18 @@ const barPaddingToken = "$2";
462
515
  */
463
516
  export const paintedCardFill = "$color2";
464
517
 
518
+ /**
519
+ * LC-131 SELECTED-STATE. `$selectedBackground` is the soft accent tint and
520
+ * `$selectedColor` the accent ink the build holds at 4.5:1 on it
521
+ * (`holdSelectedState` in createThemes.ts).
522
+ */
523
+ const stateRecipes: StateRecipes = {
524
+ selected: {
525
+ surfaceKnobProps: { backgroundColor: "$selectedBackground" },
526
+ textKnobProps: { color: "$selectedColor" },
527
+ },
528
+ };
529
+
465
530
  /** What the subtree supplies beyond knobs: the pointer surface and the control size token. */
466
531
  export interface ResolveKnobsEnvironment {
467
532
  touch?: boolean;
@@ -515,12 +580,12 @@ export function resolveKnobs(
515
580
 
516
581
  const outlined = knobs.fillStyle === "outlined";
517
582
  // LC-86 OUTLINED-HAIRLINE: outlined implies a minimum border. none on an
518
- // outlined control still draws the enumerated `small` stop (0.5). Chromeless
583
+ // outlined control still draws the enumerated `small` stop. Chromeless
519
584
  // is filled + none. Components must not add a second local floor.
520
- const borderWidthValue =
521
- outlined && knobs.borderWidth === "none"
522
- ? borderWidthMap.small
523
- : borderWidthMap[knobs.borderWidth];
585
+ const smallEdge = knobs.borderWidth === "small" || (outlined && knobs.borderWidth === "none");
586
+ const borderWidthValue = smallEdge ? borderWidthMap.small : borderWidthMap[knobs.borderWidth];
587
+ const edge = (color: string, width: number) =>
588
+ smallEdge && width >= borderWidthMap.medium ? fainterEdge(color) : color;
524
589
  const elevationToken = elevationMap[knobs.elevation];
525
590
  const overlayElevationToken = overlayElevationMap[knobs.elevation];
526
591
  const overlayPaintProps = elevationPaint(overlayElevationToken);
@@ -565,7 +630,7 @@ export function resolveKnobs(
565
630
  const knobProps: KnobProps = {
566
631
  borderRadius: {
567
632
  borderRadius: radiusToken,
568
- borderColor: "$borderColor",
633
+ borderColor: edge("$borderColor", borderWidthValue),
569
634
  borderWidth: borderWidthValue,
570
635
  ...scaleSmoothing,
571
636
  },
@@ -576,7 +641,7 @@ export function resolveKnobs(
576
641
  borderRadiusOuter: nestedRadius,
577
642
  controlBorderFilled: { borderColor: "transparent", borderWidth: borderWidthValue },
578
643
  controlBorderOutlined: {
579
- borderColor: "$borderColor",
644
+ borderColor: edge("$borderColor", Math.max(borderWidthValue, 1)),
580
645
  borderWidth: Math.max(borderWidthValue, 1),
581
646
  },
582
647
  // Axiom 1 child-clip cap: padded containers (Card/Panel/DialogContent)
@@ -591,7 +656,7 @@ export function resolveKnobs(
591
656
  scheme,
592
657
  surface: {
593
658
  backgroundColor: "$background",
594
- borderColor: "$borderColor",
659
+ borderColor: edge("$borderColor", borderWidthValue),
595
660
  borderWidth: borderWidthValue,
596
661
  },
597
662
  cardSurface: {
@@ -603,7 +668,7 @@ export function resolveKnobs(
603
668
  elevatedSurface: painted
604
669
  ? {
605
670
  backgroundColor: "$background",
606
- borderColor: "$borderColor",
671
+ borderColor: edge("$borderColor", Math.max(borderWidthValue, borderWidthMap.small)),
607
672
  borderWidth: Math.max(borderWidthValue, borderWidthMap.small),
608
673
  borderRadius: radiusToken,
609
674
  elevation: undefined,
@@ -611,7 +676,7 @@ export function resolveKnobs(
611
676
  }
612
677
  : {
613
678
  backgroundColor: scheme === "dark" ? surface2.fill : "$background",
614
- borderColor: scheme === "dark" ? surface2.edge : "$borderColor",
679
+ borderColor: edge(scheme === "dark" ? surface2.edge : "$borderColor", borderWidthValue),
615
680
  borderWidth: borderWidthValue,
616
681
  borderRadius: radiusToken,
617
682
  elevation: platformElevation(overlayElevationToken),
@@ -631,6 +696,7 @@ export function resolveKnobs(
631
696
  ...containerSmoothing,
632
697
  },
633
698
  inputSurface: { borderWidth: borderWidthValue },
699
+ borderWidthStop: smallEdge ? "small" : knobs.borderWidth,
634
700
  panelPadding: { padding: paddingToken },
635
701
  gapSm: { gap: spacingRoles.gapSm },
636
702
  gap: { gap: spacingRoles.gap },
@@ -720,6 +786,7 @@ export function resolveKnobs(
720
786
  control,
721
787
  text,
722
788
  elevation,
723
- disabledState: resolveDisabled(knobs.disabledStyle),
789
+ disabledState: resolveDisabled(knobs.disabledStyle, (color) => edge(color, borderWidthValue)),
790
+ state: stateRecipes,
724
791
  };
725
792
  }
@@ -0,0 +1,127 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { contrastRatio, normalizeToHex, relativeLuminance } from "./colorRules";
3
+ import { createDefaultThemeConfig } from "./createDefaultThemeConfig";
4
+ import { createThemesBuilder } from "./createThemes";
5
+ import { defaultBuilderOptions } from "./defaults/builderOptions";
6
+ import { houseAccentTheme, houseBaseTheme } from "./defaults/house";
7
+ import { defaultKnobs } from "./knobs";
8
+ import { boldPreset, defaultPreset, densePreset, heroPreset, roomyPreset } from "./presets";
9
+ import { resolveKnobs } from "./resolveKnobs";
10
+
11
+ const themes = createDefaultThemeConfig({}).tamagui.themes as unknown as Record<
12
+ string,
13
+ Record<string, { val: string } | undefined>
14
+ >;
15
+
16
+ const hex = (raw: string) => {
17
+ const value = normalizeToHex(raw);
18
+ if (!value) throw new Error(`not an opaque colour: ${raw}`);
19
+ return value;
20
+ };
21
+ const ratio = (a: string, b: string) =>
22
+ contrastRatio(relativeLuminance(hex(a)), relativeLuminance(hex(b)));
23
+
24
+ /** A `$token` as the subtree theme paints it: its own key, else the scheme root's. */
25
+ const paint = (scheme: "light" | "dark", name: string, token: string) => {
26
+ const key = token.replace(/^\$/, "");
27
+ const value = themes[name]?.[key]?.val ?? themes[scheme]?.[key]?.val;
28
+ if (!value) throw new Error(`${name} has no ${token}`);
29
+ return value;
30
+ };
31
+
32
+ const presets = {
33
+ default: defaultPreset,
34
+ bold: boldPreset,
35
+ hero: heroPreset,
36
+ dense: densePreset,
37
+ roomy: roomyPreset,
38
+ };
39
+ const colourThemes = ["blue", "gray", "green", "orange", "pink", "purple", "red", "yellow"];
40
+
41
+ describe("LC-131 SELECTED-STATE: one selected recipe in the theme", () => {
42
+ it("is the soft accent tint behind accent text", () => {
43
+ expect(resolveKnobs(defaultKnobs).state.selected).toEqual({
44
+ surfaceKnobProps: { backgroundColor: "$selectedBackground" },
45
+ textKnobProps: { color: "$selectedColor" },
46
+ });
47
+ });
48
+
49
+ it("is colour only: no border, width or weight, so focus keeps the accent border", () => {
50
+ const { selected } = resolveKnobs(defaultKnobs).state;
51
+ expect(Object.keys(selected.surfaceKnobProps)).toEqual(["backgroundColor"]);
52
+ expect(Object.keys(selected.textKnobProps)).toEqual(["color"]);
53
+ });
54
+
55
+ it("is one drawing under every preset and both schemes", () => {
56
+ const reference = resolveKnobs(defaultKnobs).state.selected;
57
+ for (const [name, preset] of Object.entries(presets))
58
+ for (const scheme of ["light", "dark"] as const)
59
+ expect(resolveKnobs(preset.knobs, undefined, scheme).state.selected, name).toEqual(
60
+ reference,
61
+ );
62
+ });
63
+
64
+ for (const scheme of ["light", "dark"] as const) {
65
+ it(`${scheme}: the tint and the ink are steps of the accent ramp`, () => {
66
+ const accent = Array.from({ length: 12 }, (_, i) => paint(scheme, scheme, `accent${i + 1}`));
67
+ expect(accent).toContain(paint(scheme, scheme, "$selectedBackground"));
68
+ expect(accent).toContain(paint(scheme, scheme, "$selectedColor"));
69
+ });
70
+
71
+ it(`${scheme}: the tint sits off the page and off the neutral selection surface`, () => {
72
+ const tint = paint(scheme, scheme, "$selectedBackground");
73
+ expect(ratio(tint, paint(scheme, scheme, "$color1"))).toBeGreaterThanOrEqual(1.1);
74
+ expect(ratio(tint, paint(scheme, scheme, "$color4"))).toBeGreaterThanOrEqual(1.1);
75
+ });
76
+
77
+ it(`${scheme}: a colour theme selects in its own hue, not the house grey (FZ-7713)`, () => {
78
+ const house = paint(scheme, scheme, "$selectedBackground");
79
+ for (const colour of colourThemes.filter((c) => c !== "gray")) {
80
+ const name = `${scheme}_${colour}`;
81
+ const ramp = Array.from({ length: 12 }, (_, i) =>
82
+ paint(scheme, scheme, `${colour}${i + 1}`),
83
+ );
84
+ const tint = paint(scheme, name, "$selectedBackground");
85
+ expect(ramp, name).toContain(tint);
86
+ expect(tint, name).not.toBe(house);
87
+ expect(ratio(tint, paint(scheme, name, "$color1")), name).toBeGreaterThanOrEqual(1.1);
88
+ expect(ratio(tint, paint(scheme, name, "$color4")), name).toBeGreaterThanOrEqual(1.1);
89
+ }
90
+ });
91
+
92
+ it(`${scheme}: the selected text reads at 4.5:1 on the tint under every preset and colour theme`, () => {
93
+ const cells: string[] = [];
94
+ for (const [presetName, preset] of Object.entries(presets)) {
95
+ const { selected } = resolveKnobs(preset.knobs, undefined, scheme).state;
96
+ const ground = preset.theme ? [preset.theme as string] : [];
97
+ for (const colour of ["", ...ground, ...colourThemes]) {
98
+ const name = colour ? `${scheme}_${colour}` : scheme;
99
+ expect(themes[name], name).toBeDefined();
100
+ const tint = paint(scheme, name, selected.surfaceKnobProps.backgroundColor);
101
+ const ink = paint(scheme, name, selected.textKnobProps.color);
102
+ const page = paint(scheme, name, "$color1");
103
+ expect(ratio(ink, tint), `${presetName} ${name}`).toBeGreaterThanOrEqual(4.5);
104
+ expect(tint, `${presetName} ${name}`).not.toBe(page);
105
+ cells.push(`${presetName}/${name}`);
106
+ }
107
+ }
108
+ expect(cells).toHaveLength(Object.keys(presets).length * 9 + 1);
109
+ });
110
+ }
111
+
112
+ it("follows the accent the theme defines, not a component constant", () => {
113
+ const house = createThemesBuilder(
114
+ houseBaseTheme,
115
+ houseAccentTheme,
116
+ defaultBuilderOptions,
117
+ ).themes() as Record<string, Record<string, string>>;
118
+ for (const scheme of ["light", "dark"] as const) {
119
+ const theme = house[scheme];
120
+ const accent = Array.from({ length: 12 }, (_, i) => theme[`accent${i + 1}`]);
121
+ expect(accent).toContain(theme.selectedBackground);
122
+ expect(theme.selectedBackground).not.toBe(paint(scheme, scheme, "$selectedBackground"));
123
+ expect(ratio(theme.selectedColor, theme.selectedBackground)).toBeGreaterThanOrEqual(4.5);
124
+ expect(ratio(theme.selectedBackground, theme.color1)).toBeGreaterThanOrEqual(1.1);
125
+ }
126
+ });
127
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"constraintAudit.d.ts","sourceRoot":"","sources":["../../src/audit/constraintAudit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC,oBAAoB,CAAC,EAAE,aAAa,CAAC;IACrC,uBAAuB,CAAC,EAAE,aAAa,CAAC;IACxC,sBAAsB,CAAC,EAAE,aAAa,CAAC;IACvC,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,uCAAuC;IACvC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AA+DD;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAE9C,CAAC;AAmJF;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,CA4vBrE"}
1
+ {"version":3,"file":"constraintAudit.d.ts","sourceRoot":"","sources":["../../src/audit/constraintAudit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC,oBAAoB,CAAC,EAAE,aAAa,CAAC;IACrC,uBAAuB,CAAC,EAAE,aAAa,CAAC;IACxC,sBAAsB,CAAC,EAAE,aAAa,CAAC;IACvC,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,uCAAuC;IACvC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AA+DD;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAE9C,CAAC;AAmJF;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,CA6vBrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"themeMatrix.d.ts","sourceRoot":"","sources":["../../src/audit/themeMatrix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"themeMatrix.d.ts","sourceRoot":"","sources":["../../src/audit/themeMatrix.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { createThemesBuilder } from "./theme/createThemes";
2
+ import { defaultAccentTheme } from "./theme/defaults/accent";
3
+ import { defaultBaseTheme } from "./theme/defaults/base";
4
+ import { defaultBuilderOptions } from "./theme/defaults/builderOptions";
5
+ export { createThemesBuilder, defaultBaseTheme, defaultAccentTheme, defaultBuilderOptions };
6
+ export interface ExpoThemeColorOptions {
7
+ preset?: string;
8
+ presets?: Record<string, {
9
+ theme: string;
10
+ }>;
11
+ themes?: Record<string, {
12
+ background?: string | {
13
+ val: string;
14
+ };
15
+ }>;
16
+ adaptiveIconScheme?: "light" | "dark";
17
+ }
18
+ export declare function createExpoThemeColors({ preset, presets, themes, adaptiveIconScheme, }?: ExpoThemeColorOptions): {
19
+ splash: {
20
+ backgroundColor: string;
21
+ dark: {
22
+ backgroundColor: string;
23
+ };
24
+ };
25
+ adaptiveIcon: {
26
+ backgroundColor: string;
27
+ };
28
+ };
29
+ //# sourceMappingURL=expo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expo.d.ts","sourceRoot":"","sources":["../src/expo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,CAAC;AAE5F,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,GAAG;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IACnE,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACvC;AAUD,wBAAgB,qBAAqB,CAAC,EACpC,MAAkB,EAClB,OAAwB,EACxB,MAIU,EACV,kBAA4B,GAC7B,GAAE,qBAA0B;;;;;;;;;;EAuB5B"}
@@ -20,6 +20,13 @@ export interface FontScopeTables {
20
20
  * `--f-family` — live SHC console had the style tag and skipped the family).
21
21
  */
22
22
  export declare function getConfiguredFontFamily(category: FontCategory): string | undefined;
23
+ /**
24
+ * The family stack a resolved font token names in the Tamagui config, for
25
+ * text no Tamagui font reaches: `resolveFontTokenFamily(knobProps.body.fontFamily)`
26
+ * hands a mermaid diagram's SVG labels the face the bodyFont knob picked.
27
+ * Undefined outside a configured runtime or for a token the config lacks.
28
+ */
29
+ export declare function resolveFontTokenFamily(token: unknown): string | undefined;
23
30
  /**
24
31
  * Read the numeric size/lineHeight/letterSpacing tables of the `$heading` /
25
32
  * `$body` purpose font from the Tamagui config, keys normalized without the
@@ -1 +1 @@
1
- {"version":3,"file":"FontKnobStyles.d.ts","sourceRoot":"","sources":["../../src/theme/FontKnobStyles.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAAE,mBAAmB,EAAqB,MAAM,uBAAuB,CAAC;AAE/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAM5C;;;;;GAKG;AACH,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAqB/B,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAelF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS,CAgC9F;AAkCD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,YAAY,EACzB,QAAQ,EAAE,YAAY,EACtB,aAAa,GAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,MAAM,GAAG,SAAmC,EACvF,aAAa,GAAE,CACb,KAAK,EAAE,SAAS,GAAG,MAAM,KACtB,eAAe,GAAG,SAAmC,GACzD,MAAM,CAkBR;AAED;;;;GAIG;AACH,wBAAgB,cAAc,SAiC7B"}
1
+ {"version":3,"file":"FontKnobStyles.d.ts","sourceRoot":"","sources":["../../src/theme/FontKnobStyles.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAAE,mBAAmB,EAAqB,MAAM,uBAAuB,CAAC;AAE/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAM5C;;;;;GAKG;AACH,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAqB/B,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAElF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAiBzE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS,CAgC9F;AAkCD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,YAAY,EACzB,QAAQ,EAAE,YAAY,EACtB,aAAa,GAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,MAAM,GAAG,SAAmC,EACvF,aAAa,GAAE,CACb,KAAK,EAAE,SAAS,GAAG,MAAM,KACtB,eAAe,GAAG,SAAmC,GACzD,MAAM,CAkBR;AAED;;;;GAIG;AACH,wBAAgB,cAAc,SAiC7B"}
@@ -0,0 +1,10 @@
1
+ import { type HeadingProps } from "tamagui";
2
+ export type { HeadingProps };
3
+ export declare function Heading({ fontWeight, ...props }: HeadingProps): import("react/jsx-runtime").JSX.Element;
4
+ export declare function H1({ fontWeight, ...props }: HeadingProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function H2({ fontWeight, ...props }: HeadingProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare function H3({ fontWeight, ...props }: HeadingProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function H4({ fontWeight, ...props }: HeadingProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function H5({ fontWeight, ...props }: HeadingProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function H6({ fontWeight, ...props }: HeadingProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=Heading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Heading.d.ts","sourceRoot":"","sources":["../../src/theme/Heading.tsx"],"names":[],"mappings":"AAOA,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,YAAY,EAAE,CAAC;AAe7B,wBAAgB,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAG7D;AAED,wBAAgB,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAMxD;AAED,wBAAgB,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAGxD;AAED,wBAAgB,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAGxD;AAED,wBAAgB,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAGxD;AAED,wBAAgB,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAGxD;AAED,wBAAgB,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAGxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"Preset.d.ts","sourceRoot":"","sources":["../../src/theme/Preset.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAEpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAgB,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG3D;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,GAAG,UAAU,CAGtF;AAED,MAAM,WAAW,WAAY,SAAQ,iBAAiB;IACpD,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3B,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,MAAM,EAAE,UAAU,EAClB,KAAK,EACL,SAAS,EACT,OAAc,GACf,EAAE,WAAW,2CAmFb"}
1
+ {"version":3,"file":"Preset.d.ts","sourceRoot":"","sources":["../../src/theme/Preset.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAEpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAgB,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG3D;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,GAAG,UAAU,CAGtF;AAED,MAAM,WAAW,WAAY,SAAQ,iBAAiB;IACpD,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3B,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,MAAM,EAAE,UAAU,EAClB,KAAK,EACL,SAAS,EACT,OAAc,GACf,EAAE,WAAW,2CAqFb"}
@@ -55,7 +55,8 @@ export declare function clampSurfaceSize(requested: SurfaceSize, parent: Surface
55
55
  * Forwards a size token to a subtree: every knob reader under it renders its
56
56
  * controls at `size` unless it asks for a smaller one (LC-78 ceiling).
57
57
  * `painted` marks (true) or resets (false) the painted-ancestor flag; omitted
58
- * inherits it.
58
+ * inherits it. Either way a painted value opens a new surface with its own
59
+ * inset, so the page gutter does not reach inside it (LC-146).
59
60
  *
60
61
  * @example A table cell's editors at the row's control height
61
62
  * <Surface size="$3">{cell}</Surface>
@@ -1 +1 @@
1
- {"version":3,"file":"Surface.d.ts","sourceRoot":"","sources":["../../src/theme/Surface.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAG/D,oEAAoE;AACpE,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AAC/C;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpE,eAAO,MAAM,cAAc,qDAGzB,CAAC;AAKH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAErE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAI1F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAG3F;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU,CAKpE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,WAAW,CAQzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,OAAO,EACP,QAAQ,GACT,EAAE;IACD,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,2CASA"}
1
+ {"version":3,"file":"Surface.d.ts","sourceRoot":"","sources":["../../src/theme/Surface.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAI/D,oEAAoE;AACpE,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AAC/C;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpE,eAAO,MAAM,cAAc,qDAGzB,CAAC;AAKH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAErE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAI1F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAG3F;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU,CAKpE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,WAAW,CAQzF;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,OAAO,EACP,QAAQ,GACT,EAAE;IACD,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,2CASA"}
@@ -0,0 +1,13 @@
1
+ import { type AnchorProps, type ParagraphProps as RawParagraphProps, type SizableTextProps, type TextProps as RawTextProps } from "tamagui";
2
+ export type { AnchorProps, SizableTextProps };
3
+ interface TypographyProps {
4
+ variant?: "body" | "mutedMono";
5
+ tabular?: boolean;
6
+ }
7
+ export type TextProps = RawTextProps & TypographyProps;
8
+ export type ParagraphProps = RawParagraphProps & TypographyProps;
9
+ export declare function Text({ fontWeight, variant, tabular, style, ...props }: TextProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function SizableText({ fontWeight, ...props }: SizableTextProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function Paragraph({ fontWeight, variant, tabular, style, ...props }: ParagraphProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function Anchor({ fontWeight, ...props }: AnchorProps): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=Text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../src/theme/Text.tsx"],"names":[],"mappings":"AA0DA,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,cAAc,IAAI,iBAAiB,EAExC,KAAK,gBAAgB,EAErB,KAAK,SAAS,IAAI,YAAY,EAC/B,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;AAE9C,UAAU,eAAe;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,eAAe,CAAC;AACvD,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAyBjE,wBAAgB,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,2CAkBhF;AAED,wBAAgB,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAGrE;AAED,wBAAgB,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,2CAkB1F;AAED,wBAAgB,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,2CAI3D"}
@@ -122,7 +122,7 @@ export interface ButtonColorConfig extends ComponentColorConfig {
122
122
  }
123
123
  export declare const buttonColors: ButtonColorConfig;
124
124
  export declare const inputColors: ComponentColorConfig;
125
- export declare function $color(step: ColorStep): "$color3" | "$color1" | "$color2" | "$color12" | "$color7" | "$color4" | "$color5" | "$color9" | "$color6" | "$color10" | "$color11" | "$color8";
125
+ export declare function $color(step: ColorStep): "$color3" | "$color1" | "$color2" | "$color12" | "$color7" | "$color4" | "$color5" | "$color9" | "$color8" | "$color11" | "$color6" | "$color10";
126
126
  export interface SemanticGroup {
127
127
  key: string;
128
128
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"createThemes.d.ts","sourceRoot":"","sources":["../../src/theme/createThemes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAwC7E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAevB,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;CAI3B,CAAC;AAEX,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB,CACrC,WAAW,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EACvC,YAAY,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE;IAExC,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,0BAA0B,CACzC,WAAW,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EACvC,YAAY,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EACxC,WAAW,SAAS,OAAO,GAAG,OAAO,EACrC,YAAY,SAAS,OAAO,GAAG,OAAO,CACtC,SAAQ,sBAAsB,CAAC,WAAW,EAAE,YAAY,CAAC;IACzD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/E,mBAAmB,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACvF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACzF;AA8BD,eAAO,MAAM,YAAY,aA6BvB,CAAC;AAuaH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,0BAA0B,EACrC,WAAW,EAAE,sBAAsB,EACnC,OAAO,CAAC,EAAE,0BAA0B;;aA+EzB,CAAC,SAAS,MAAM,QAAQ,CAAC,SAAS,sBAAsB,GAuB1D,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE;;+BAAkC;EAG7E"}
1
+ {"version":3,"file":"createThemes.d.ts","sourceRoot":"","sources":["../../src/theme/createThemes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAyC7E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAevB,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;CAI3B,CAAC;AAEX,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB,CACrC,WAAW,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EACvC,YAAY,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE;IAExC,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,0BAA0B,CACzC,WAAW,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EACvC,YAAY,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EACxC,WAAW,SAAS,OAAO,GAAG,OAAO,EACrC,YAAY,SAAS,OAAO,GAAG,OAAO,CACtC,SAAQ,sBAAsB,CAAC,WAAW,EAAE,YAAY,CAAC;IACzD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/E,mBAAmB,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACvF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACzF;AA8BD,eAAO,MAAM,YAAY,aA6BvB,CAAC;AAofH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,0BAA0B,EACrC,WAAW,EAAE,sBAAsB,EACnC,OAAO,CAAC,EAAE,0BAA0B;;aAiFzB,CAAC,SAAS,MAAM,QAAQ,CAAC,SAAS,sBAAsB,GAuB1D,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE;;+BAAkC;EAG7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"builderOptions.d.ts","sourceRoot":"","sources":["../../../src/theme/defaults/builderOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAiB,MAAM,iBAAiB,CAAC;AA0HjF,eAAO,MAAM,qBAAqB,EAAE,0BA+CnC,CAAC"}
1
+ {"version":3,"file":"builderOptions.d.ts","sourceRoot":"","sources":["../../../src/theme/defaults/builderOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAiB,MAAM,iBAAiB,CAAC;AA4IjF,eAAO,MAAM,qBAAqB,EAAE,0BA+CnC,CAAC"}