@multiplatform.one/theme 7.4.1 → 7.6.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 (119) hide show
  1. package/README.md +2 -1
  2. package/package.json +5 -5
  3. package/src/audit/index.ts +19 -0
  4. package/src/audit/themeMatrix.spec.ts +274 -0
  5. package/src/audit/themeMatrix.ts +630 -0
  6. package/src/figma/figmaTokens.spec.ts +25 -21
  7. package/src/figma/figmaTokens.ts +2 -2
  8. package/src/font.ts +37 -25
  9. package/src/index.ts +12 -0
  10. package/src/keyboardFocusRing.ts +12 -6
  11. package/src/theme/FontKnobStyles.tsx +14 -31
  12. package/src/theme/Tint.tsx +3 -2
  13. package/src/theme/animations/css.ts +14 -1
  14. package/src/theme/colorRules.spec.ts +306 -2
  15. package/src/theme/colorRules.ts +118 -0
  16. package/src/theme/cornerSmoothing.native.ts +39 -2
  17. package/src/theme/cornerSmoothing.spec.ts +270 -3
  18. package/src/theme/cornerSmoothing.ts +147 -10
  19. package/src/theme/createDefaultThemeConfig.spec.ts +107 -1
  20. package/src/theme/createDefaultThemeConfig.ts +27 -8
  21. package/src/theme/defaults/builderOptions.ts +23 -10
  22. package/src/theme/defaults/categoryFonts.ts +24 -0
  23. package/src/theme/defaults/fonts.spec.ts +163 -10
  24. package/src/theme/defaults/fonts.theme.spec.tsx +139 -0
  25. package/src/theme/defaults/fonts.ts +214 -50
  26. package/src/theme/defaults/index.ts +1 -0
  27. package/src/theme/devtools/ThemeDevtoolsPanel.tsx +0 -11
  28. package/src/theme/focusState.spec.ts +119 -1
  29. package/src/theme/focusState.ts +32 -7
  30. package/src/theme/fontCategoryMetrics.ts +57 -0
  31. package/src/theme/fontCategoryStacks.ts +37 -0
  32. package/src/theme/fontKnobStyles.spec.ts +15 -2
  33. package/src/theme/glyphPaint.spec.ts +26 -0
  34. package/src/theme/glyphPaint.ts +46 -0
  35. package/src/theme/index.ts +4 -0
  36. package/src/theme/knobs.ts +18 -2
  37. package/src/theme/layoutTokens.spec.ts +3 -1
  38. package/src/theme/layoutTokens.ts +47 -4
  39. package/src/theme/mpo13Proof.spec.ts +3 -3
  40. package/src/theme/mpo19Proof.spec.ts +285 -0
  41. package/src/theme/presets.ts +1 -1
  42. package/src/theme/radiusClass.spec.ts +394 -0
  43. package/src/theme/radiusClass.ts +203 -4
  44. package/src/theme/radiusClassTable.generated.ts +121 -0
  45. package/src/theme/recipeInputs.ts +223 -36
  46. package/src/theme/recipes.ts +68 -4
  47. package/src/theme/resolveKnobs.spec.ts +155 -13
  48. package/src/theme/resolveKnobs.ts +193 -27
  49. package/src/theme/sizeLadder.spec.ts +84 -0
  50. package/src/theme/sizeRecipes.spec.ts +19 -6
  51. package/src/theme/sizeRecipes.ts +43 -13
  52. package/src/theme/theme.native.tsx +2 -0
  53. package/src/theme/theme.provider.spec.ts +9 -0
  54. package/src/theme/theme.tsx +6 -3
  55. package/src/theme/tint.spec.tsx +36 -35
  56. package/src/theme/useResolvedKnobs.ts +6 -3
  57. package/types/audit/index.d.ts +2 -0
  58. package/types/audit/index.d.ts.map +1 -1
  59. package/types/audit/themeMatrix.d.ts +172 -0
  60. package/types/audit/themeMatrix.d.ts.map +1 -0
  61. package/types/figma/figmaTokens.d.ts +1 -1
  62. package/types/figma/figmaTokens.d.ts.map +1 -1
  63. package/types/font.d.ts.map +1 -1
  64. package/types/index.d.ts +2 -0
  65. package/types/index.d.ts.map +1 -1
  66. package/types/keyboardFocusRing.d.ts +11 -5
  67. package/types/keyboardFocusRing.d.ts.map +1 -1
  68. package/types/theme/FontKnobStyles.d.ts +8 -12
  69. package/types/theme/FontKnobStyles.d.ts.map +1 -1
  70. package/types/theme/Tint.d.ts +2 -1
  71. package/types/theme/Tint.d.ts.map +1 -1
  72. package/types/theme/animations/css.d.ts +15 -2
  73. package/types/theme/animations/css.d.ts.map +1 -1
  74. package/types/theme/colorRules.d.ts +59 -1
  75. package/types/theme/colorRules.d.ts.map +1 -1
  76. package/types/theme/cornerSmoothing.d.ts +42 -20
  77. package/types/theme/cornerSmoothing.d.ts.map +1 -1
  78. package/types/theme/cornerSmoothing.native.d.ts +22 -2
  79. package/types/theme/cornerSmoothing.native.d.ts.map +1 -1
  80. package/types/theme/createDefaultThemeConfig.d.ts +21 -3
  81. package/types/theme/createDefaultThemeConfig.d.ts.map +1 -1
  82. package/types/theme/defaults/builderOptions.d.ts.map +1 -1
  83. package/types/theme/defaults/categoryFonts.d.ts +23 -0
  84. package/types/theme/defaults/categoryFonts.d.ts.map +1 -0
  85. package/types/theme/defaults/fonts.d.ts +140 -2
  86. package/types/theme/defaults/fonts.d.ts.map +1 -1
  87. package/types/theme/defaults/index.d.ts +1 -0
  88. package/types/theme/defaults/index.d.ts.map +1 -1
  89. package/types/theme/devtools/ThemeDevtoolsPanel.d.ts.map +1 -1
  90. package/types/theme/focusState.d.ts +32 -6
  91. package/types/theme/focusState.d.ts.map +1 -1
  92. package/types/theme/fontCategoryMetrics.d.ts +36 -0
  93. package/types/theme/fontCategoryMetrics.d.ts.map +1 -0
  94. package/types/theme/fontCategoryStacks.d.ts +24 -0
  95. package/types/theme/fontCategoryStacks.d.ts.map +1 -0
  96. package/types/theme/glyphPaint.d.ts +16 -0
  97. package/types/theme/glyphPaint.d.ts.map +1 -0
  98. package/types/theme/index.d.ts +4 -0
  99. package/types/theme/index.d.ts.map +1 -1
  100. package/types/theme/knobs.d.ts +10 -2
  101. package/types/theme/knobs.d.ts.map +1 -1
  102. package/types/theme/layoutTokens.d.ts +46 -4
  103. package/types/theme/layoutTokens.d.ts.map +1 -1
  104. package/types/theme/radiusClass.d.ts +96 -4
  105. package/types/theme/radiusClass.d.ts.map +1 -1
  106. package/types/theme/radiusClassTable.generated.d.ts +146 -0
  107. package/types/theme/radiusClassTable.generated.d.ts.map +1 -0
  108. package/types/theme/recipeInputs.d.ts +85 -14
  109. package/types/theme/recipeInputs.d.ts.map +1 -1
  110. package/types/theme/recipes.d.ts +78 -4
  111. package/types/theme/recipes.d.ts.map +1 -1
  112. package/types/theme/resolveKnobs.d.ts +12 -1
  113. package/types/theme/resolveKnobs.d.ts.map +1 -1
  114. package/types/theme/sizeRecipes.d.ts +27 -14
  115. package/types/theme/sizeRecipes.d.ts.map +1 -1
  116. package/types/theme/theme.d.ts.map +1 -1
  117. package/types/theme/theme.native.d.ts.map +1 -1
  118. package/types/theme/useResolvedKnobs.d.ts +2 -2
  119. package/types/theme/useResolvedKnobs.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"figmaTokens.d.ts","sourceRoot":"","sources":["../../src/figma/figmaTokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"figmaTokens.d.ts","sourceRoot":"","sources":["../../src/figma/figmaTokens.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"font.d.ts","sourceRoot":"","sources":["../src/font.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiChD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,EACrD,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;CAAE,GACzC,CAAC,CAWH"}
1
+ {"version":3,"file":"font.d.ts","sourceRoot":"","sources":["../src/font.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAsChD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,EACrD,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;CAAE,GACzC,CAAC,CAkBH"}
package/types/index.d.ts CHANGED
@@ -6,5 +6,7 @@ export * from "./keyboardFocusRing";
6
6
  export * from "./menuRow";
7
7
  export * from "./font";
8
8
  export * from "./fonts/index";
9
+ export { diffGeometry, evaluateNoBreakage, evaluateTextContrast } from "./audit";
10
+ export type { GeometryDiff, MatrixTextSample, NoBreakageInput, NoBreakageResult, TextContrastResult, TextContrastViolation, } from "./audit";
9
11
  export type { GenericFonts, MediaQueryKey, ThemeName } from "@tamagui/web";
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAG9B,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAI9B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACjF,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAGjB,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
@@ -23,15 +23,21 @@ export declare function ensureKeyboardModalityTracking(): void;
23
23
  */
24
24
  export declare function wasKeyboardFocus(): boolean;
25
25
  /**
26
- * Standard manual ring props — the SAME geometry as `FOCUS_VISIBLE_RING`
27
- * (2px solid `$outlineColor`, inset −2), spread here so manually-painted
28
- * rings and `focusVisibleStyle` rings can never drift apart.
26
+ * Standard manual ring props — the INSET ring geometry
27
+ * (`FOCUS_VISIBLE_RING_INSET`: 2px solid `$outlineColor`, offset −2), spread
28
+ * here so manually-painted rings can never drift from the theme contract.
29
+ * Manual painting exists for roving-focus / activedescendant composites
30
+ * (ToggleGroup segments inside a clipped Group, menu/listbox rows under a
31
+ * clipped overlay, table rows and cells) — items inside clipping ancestors,
32
+ * which is exactly the LC-71 §4 inset carve-out; an offset-0 band there
33
+ * would be severed by the clip. Standalone controls take the offset-0
34
+ * `FOCUS_VISIBLE_RING` via `focusVisibleStyle` / `ensureFocusVisibleRing()`.
29
35
  */
30
36
  export declare const keyboardFocusRingProps: {
37
+ readonly outlineOffset: number;
31
38
  readonly outlineWidth: number;
32
39
  readonly outlineStyle: "solid";
33
40
  readonly outlineColor: string;
34
- readonly outlineOffset: number;
35
41
  };
36
42
  /**
37
43
  * LC-71 RING-ANATOMY — CSS-synchronous ring on a composite's outer boundary.
@@ -41,7 +47,7 @@ export declare const keyboardFocusRingProps: {
41
47
  * spawned the inner-Area ring cascade). Inner targets suppress their own
42
48
  * outline so the box carries exactly one ring. Class: `mp-composite-ring`.
43
49
  */
44
- export declare const compositeFocusRingCss = "/* LC-71: ring on the composite outer box; never on the inner field.\n Inset (\u22122px): these frames use overflow:hidden to clip children to radius,\n which severs an outer ring. Do NOT use :has(:focus-visible) on every\n descendant \u2014 that would ring the whole SearchInput when the clear \u2715 is\n focused (two focusables \u2192 two rings, chip-dismiss rule). */\n.mp-composite-ring:focus-visible,\n.mp-composite-ring:has(input:focus),\n.mp-composite-ring:has(textarea:focus),\n.mp-composite-ring:has(.mp-input-area:focus) {\n outline: 2px solid var(--outlineColor, var(--c-outlineColor, CanvasText));\n outline-offset: -2px;\n}\n.mp-composite-ring-deep:has(:focus-visible) {\n outline: 2px solid var(--outlineColor, var(--c-outlineColor, CanvasText));\n outline-offset: -2px;\n}\n.mp-composite-ring input,\n.mp-composite-ring textarea,\n.mp-composite-ring [contenteditable],\n.mp-input-area,\n.mp-input-area:focus,\n.mp-input-area:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n}\n.mp-chip-dismiss:focus-visible {\n outline: none !important;\n}\n.mp-chip-dismiss:focus-visible .mp-chip-dismiss-ring {\n outline: 2px solid var(--outlineColor, var(--c-outlineColor, CanvasText));\n outline-offset: 2px;\n}";
50
+ export declare const compositeFocusRingCss = "/* LC-71: ring on the composite outer box; never on the inner field.\n Inset (\u22122px): these frames use overflow:hidden to clip children to radius,\n which severs an outer ring. Do NOT use :has(:focus-visible) on every\n descendant \u2014 that would ring the whole SearchInput when the clear \u2715 is\n focused (two focusables \u2192 two rings, chip-dismiss rule). */\n.mp-composite-ring:focus-visible,\n.mp-composite-ring:has(input:focus),\n.mp-composite-ring:has(textarea:focus),\n.mp-composite-ring:has(.mp-input-area:focus) {\n outline: 2px solid var(--outlineColor, var(--c-outlineColor, CanvasText));\n outline-offset: -2px;\n}\n.mp-composite-ring-deep:has(:focus-visible) {\n outline: 2px solid var(--outlineColor, var(--c-outlineColor, CanvasText));\n outline-offset: -2px;\n}\n.mp-composite-ring input,\n.mp-composite-ring textarea,\n.mp-composite-ring [contenteditable],\n.mp-input-area,\n.mp-input-area:focus,\n.mp-input-area:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n}\n.mp-chip-dismiss:focus-visible {\n outline: none !important;\n}\n.mp-chip-dismiss:focus-visible .mp-chip-dismiss-ring {\n outline: 2px solid var(--outlineColor, var(--c-outlineColor, CanvasText));\n outline-offset: 0;\n}";
45
51
  /** Idempotently mount the composite-boundary focus-ring stylesheet. */
46
52
  export declare function ensureCompositeFocusRing(): void;
47
53
  //# sourceMappingURL=keyboardFocusRing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboardFocusRing.d.ts","sourceRoot":"","sources":["../src/keyboardFocusRing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;;;GAIG;AACH,wBAAgB,8BAA8B,SAK7C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAG1C;AAID;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;CAEzB,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,gvCA+BhC,CAAC;AAIH,uEAAuE;AACvE,wBAAgB,wBAAwB,IAAI,IAAI,CAO/C"}
1
+ {"version":3,"file":"keyboardFocusRing.d.ts","sourceRoot":"","sources":["../src/keyboardFocusRing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;;;GAIG;AACH,wBAAgB,8BAA8B,SAK7C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAG1C;AAID;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB;;;;;CAEzB,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,8uCA+BhC,CAAC;AAIH,uEAAuE;AACvE,wBAAgB,wBAAwB,IAAI,IAAI,CAO/C"}
@@ -1,17 +1,12 @@
1
+ import { fontCategoryMetrics } from "./fontCategoryMetrics";
1
2
  import type { FontCategory } from "./knobs";
2
3
  /**
3
- * Per-category legibility floors, applied on top of the base (Inter-tuned)
4
- * lineHeight tables when the heading/body knob selects that category.
5
- * `heading`/`body` are minimum lineHeight:fontSize ratios; `letterSpacing:
6
- * "neutral"` zeroes Inter's tracking-by-size curve (wrong for fixed-pitch
7
- * and connected-script families). "sans-serif" is the default scope (never
8
- * overridden), listed for completeness.
4
+ * Re-exported so `@multiplatform.one/theme` consumers keep the historical
5
+ * import path. The table itself lives in `fontCategoryMetrics.ts` because
6
+ * `defaults/fonts.ts` bakes the same floors into the registered category
7
+ * fonts and the two must not drift (LC-11).
9
8
  */
10
- export declare const fontCategoryMetrics: Record<FontCategory, {
11
- heading: number;
12
- body: number;
13
- letterSpacing: "inherit" | "neutral";
14
- }>;
9
+ export { fontCategoryMetrics };
15
10
  /** Numeric font tables for a purpose font, keyed WITHOUT the `$` prefix. */
16
11
  export interface FontScopeTables {
17
12
  size: Record<string, number>;
@@ -21,7 +16,8 @@ export interface FontScopeTables {
21
16
  /**
22
17
  * Resolve the concrete font-family stack registered in the Tamagui config for
23
18
  * a font category. Returns undefined when the category font is not registered
24
- * (the caller then leaves the default family in place).
19
+ * (the caller then uses `fontCategoryStacks` so the knob still writes
20
+ * `--f-family` — live SHC console had the style tag and skipped the family).
25
21
  */
26
22
  export declare function getConfiguredFontFamily(category: FontCategory): string | undefined;
27
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FontKnobStyles.d.ts","sourceRoot":"","sources":["../../src/theme/FontKnobStyles.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAM5C;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,YAAY,EACZ;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,CAgBxE,CAAC;AAqBF,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;;;;GAIG;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,SAgC7B"}
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,SAgC7B"}
@@ -7,7 +7,8 @@ export interface TintProps extends PropsWithChildren {
7
7
  }
8
8
  /**
9
9
  * Depth-based tint component. Each nesting level increments the depth
10
- * and selects a tint from the preset's tints array via modulo.
10
+ * and selects a tint from the preset's tints array via
11
+ * `tints[(depth - 1) % length]` so the first Tint is `tints[0]`.
11
12
  *
12
13
  * Applies a tint sub-theme based on nesting depth.
13
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Tint.d.ts","sourceRoot":"","sources":["../../src/theme/Tint.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAA6B,MAAM,OAAO,CAAC;AAM1E,MAAM,WAAW,SAAU,SAAQ,iBAAiB;IAClD,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAO,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,2CAiBvE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
1
+ {"version":3,"file":"Tint.d.ts","sourceRoot":"","sources":["../../src/theme/Tint.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAA6B,MAAM,OAAO,CAAC;AAM1E,MAAM,WAAW,SAAU,SAAQ,iBAAiB;IAClD,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAO,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,2CAiBvE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
@@ -1,8 +1,21 @@
1
+ /**
2
+ * The CSS driver's named durations.
3
+ *
4
+ * `bouncy`, `lazy`, `slow`, `medium` and `quick` are Tamagui's own names and
5
+ * carry Tamagui's own values — a shared name that means something different
6
+ * here is worse than no name, because every consumer reading `animation="medium"`
7
+ * against the upstream docs gets a different answer than the one it renders.
8
+ * MPO-19 X10: `medium` was `ease-in-out 250ms` against stock `ease-in 300ms`,
9
+ * with no improvement argument written down anywhere.
10
+ *
11
+ * `tooltip`, `snappy` and `gentle` are additive — names Tamagui does not use,
12
+ * so they are ours to set and are not a contradiction.
13
+ */
1
14
  export declare const animationConfig: {
2
15
  readonly bouncy: "ease-in 200ms";
3
16
  readonly lazy: "ease-in 600ms";
4
17
  readonly slow: "ease-in 500ms";
5
- readonly medium: "ease-in-out 250ms";
18
+ readonly medium: "ease-in 300ms";
6
19
  readonly quick: "ease-in 100ms";
7
20
  readonly tooltip: "ease-in 400ms";
8
21
  readonly snappy: "ease-out 80ms";
@@ -14,7 +27,7 @@ export declare const animations: import("@tamagui/web").AnimationDriver<{
14
27
  readonly bouncy: "ease-in 200ms";
15
28
  readonly lazy: "ease-in 600ms";
16
29
  readonly slow: "ease-in 500ms";
17
- readonly medium: "ease-in-out 250ms";
30
+ readonly medium: "ease-in 300ms";
18
31
  readonly quick: "ease-in 100ms";
19
32
  readonly tooltip: "ease-in 400ms";
20
33
  readonly snappy: "ease-out 80ms";
@@ -1 +1 @@
1
- {"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../../../src/theme/animations/css.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;;;;;;;CASlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,eAAe,CAAC;AACzD,eAAO,MAAM,cAAc,EAAmC,aAAa,EAAE,CAAC;AAC9E,eAAO,MAAM,UAAU;;;;;;;;;EAAoC,CAAC;AAO5D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAE3B,CAAC"}
1
+ {"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../../../src/theme/animations/css.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe;;;;;;;;;CASlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,eAAe,CAAC;AACzD,eAAO,MAAM,cAAc,EAAmC,aAAa,EAAE,CAAC;AAC9E,eAAO,MAAM,UAAU;;;;;;;;;EAAoC,CAAC;AAO5D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAE3B,CAAC"}
@@ -23,6 +23,64 @@ export declare function contrastRatio(l1: number, l2: number): number;
23
23
  export declare const minContrastRatio = 3;
24
24
  /** WCAG AA contrast floor for normal-size body/label text. */
25
25
  export declare const aaTextContrastRatio = 4.5;
26
+ /** A foreground/background pair held to a WCAG contrast floor. */
27
+ export interface ContrastPair {
28
+ /** Text/glyph color, in any format `normalizeToHex` accepts. */
29
+ foreground: string;
30
+ /** The fill the foreground sits on. */
31
+ background: string;
32
+ /** Floor the pair owes. Defaults to `aaTextContrastRatio` (4.5). */
33
+ floor?: number;
34
+ /** Names the pair in reports, e.g. "light_accent: color on background". */
35
+ label?: string;
36
+ }
37
+ /** Measured outcome for one {@link ContrastPair}. */
38
+ export interface ContrastReport {
39
+ label: string;
40
+ /** The colors actually measured, as normalized 6-digit hex. */
41
+ foreground: string;
42
+ background: string;
43
+ /** WCAG 2.x ratio rounded to 2 decimals — the number a report reads. */
44
+ ratio: number;
45
+ floor: number;
46
+ pass: boolean;
47
+ }
48
+ /**
49
+ * Measure one pair against its floor. Throws when a color cannot be reduced
50
+ * to an opaque hex: an alpha color has no contrast of its own and the house
51
+ * ramps are fully opaque, so an unmeasurable pair is a genuine failure,
52
+ * never a skip. The verdict compares the REPORTED (2-decimal) ratio, so
53
+ * pass/fail always matches the printed number.
54
+ */
55
+ export declare function measureContrast(pair: ContrastPair): ContrastReport;
56
+ /**
57
+ * The contrast floor assertion. Measures every pair and throws ONE error
58
+ * naming every pair under its floor — a sweep reports the whole damage, not
59
+ * the first miss. Returns the reports when all pass, so callers can attach
60
+ * the measured numbers as proof.
61
+ */
62
+ export declare function assertContrast(pairs: ContrastPair | ContrastPair[]): ContrastReport[];
63
+ /** Addresses a {@link ContrastPair} inside built themes by name and keys. */
64
+ export interface ThemeContrastPair {
65
+ /** Theme name, e.g. "light_accent" or "dark". */
66
+ theme: string;
67
+ /** Theme key carrying the text/glyph color, e.g. "color" or "color11". */
68
+ foreground: string;
69
+ /** Theme key carrying the fill, e.g. "background" or "color2". */
70
+ background: string;
71
+ /** Floor the pair owes. Defaults to `aaTextContrastRatio` (4.5). */
72
+ floor?: number;
73
+ }
74
+ /**
75
+ * Resolve a pair out of BUILT themes — the record `createThemesBuilder`
76
+ * returns, the same objects handed to createTamagui. Asserting on built
77
+ * themes rather than source ramps is the point: the pairing that fails is
78
+ * produced layers away by the theme-builder template, so reading a palette
79
+ * file tells you nothing about what lands under a label. Addressed by theme
80
+ * name + key so a failure names the thing a designer would change; a missing
81
+ * theme or key throws rather than skips.
82
+ */
83
+ export declare function resolveThemeContrast(themes: Record<string, Record<string, string> | undefined>, pair: ThemeContrastPair): ContrastPair;
26
84
  /**
27
85
  * Axiom 15 OPTICS — pick whichever candidate foreground carries more WCAG
28
86
  * contrast on a given `fill`. The canonical "readable foreground on a fill"
@@ -55,7 +113,7 @@ export interface ButtonColorConfig extends ComponentColorConfig {
55
113
  }
56
114
  export declare const buttonColors: ButtonColorConfig;
57
115
  export declare const inputColors: ComponentColorConfig;
58
- export declare function $color(step: ColorStep): "$color3" | "$color1" | "$color2" | "$color12" | "$color7" | "$color4" | "$color5" | "$color11" | "$color6" | "$color8" | "$color9" | "$color10";
116
+ export declare function $color(step: ColorStep): "$color3" | "$color1" | "$color2" | "$color12" | "$color7" | "$color4" | "$color5" | "$color9" | "$color10" | "$color6" | "$color11" | "$color8";
59
117
  export interface SemanticGroup {
60
118
  key: string;
61
119
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"colorRules.d.ts","sourceRoot":"","sources":["../../src/theme/colorRules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAYH,2FAA2F;AAC3F,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA6BzD;AAED,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED,yCAAyC;AACzC,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM,CAUR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,GACnB,MAAM,CAkBR;AAID,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAEzE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,mDAAmD;IACnD,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,EAAE,iBAI1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,oBAGzB,CAAC;AAEF,wBAAgB,MAAM,CAAC,IAAI,EAAE,SAAS,oJAErC;AAID,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,cAAc,EAAE,aAAa,EAMzC,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CASlE"}
1
+ {"version":3,"file":"colorRules.d.ts","sourceRoot":"","sources":["../../src/theme/colorRules.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,53 @@
1
- /**
2
- * OPTICS corner smoothing (Axiom 15): `cornerSmoothing: "smooth"` upgrades
3
- * circular-arc corners to continuous curvature — CSS
4
- * `corner-shape: squircle` (≡ `superellipse(2)`, ≈ Apple's continuous
5
- * corners / Figma smoothing 0.6) — as a WEB PROGRESSIVE ENHANCEMENT.
6
- * Chromium 139+ paints it; every other engine drops the unknown declaration
7
- * and keeps today's plain `border-radius` arc, so no `@supports` gate is
8
- * needed for correctness.
9
- *
10
- * Delivery is a class + one mounted stylesheet (the hairline pattern):
11
- * Tamagui strips unknown keys from the `style` prop (`style` is in
12
- * skipProps and `cornerShape` is not a valid style key), but merges
13
- * `className` into its atomic classes — so `resolveKnobs` attaches
14
- * `className: cornerSmoothClassName` to every radius-bearing fragment when
15
- * the knob is `smooth`, and this module owns the CSS those classes resolve
16
- * against.
17
- *
18
- * Native twin: `cornerSmoothing.native.ts` (no CSS classes — native resolves
19
- * to `round` until a SquircleView adoption lands, phase 2).
20
- */
1
+ import type { CornerSmoothing } from "./knobs";
21
2
  /** Class attached to radius-bearing knob fragments at `cornerSmoothing: "smooth"`. */
22
3
  export declare const cornerSmoothClassName = "mp-corner-smooth";
4
+ export declare const CORNER_SMOOTHING_STYLE_TAG_ID = "mp-corner-smoothing-styles";
5
+ /** Live knob stop, published on `<html>` by `CornerSmoothingStyles`. */
6
+ export declare const CORNER_SMOOTHING_ROOT_ATTR = "data-mp-corner-smoothing";
7
+ /** Specified `corner-shape` for the live stop, also on `<html>`. */
8
+ export declare const CORNER_SHAPE_CSS_VAR = "--mp-corner-shape";
9
+ /** Specified CSS value for `round` (initial / house default). */
10
+ export declare const CORNER_SHAPE_ROUND = "round";
11
+ /** Specified CSS value for `smooth` — the keyword the AC names. */
12
+ export declare const CORNER_SHAPE_SMOOTH = "squircle";
13
+ /** Chrome 152+ computed form of `round`. */
14
+ export declare const CORNER_SHAPE_ROUND_COMPUTED = "superellipse(1)";
15
+ /** Chrome 152+ computed form of `squircle`. */
16
+ export declare const CORNER_SHAPE_SMOOTH_COMPUTED = "superellipse(2)";
23
17
  /**
24
18
  * The squircle declaration. `corner-shape` composes with the element's
25
19
  * existing `border-radius` (it reshapes the same corner box), so the
26
20
  * fallback in non-supporting engines is automatic. Exported for unit tests.
27
21
  */
28
22
  export declare const cornerSmoothingCss = ".mp-corner-smooth { corner-shape: squircle; }";
23
+ /**
24
+ * `CSS.supports("corner-shape","squircle")`. Pass `null` to probe a missing
25
+ * engine. Omit the arg to use the global `CSS` (happy-dom's `supports()`
26
+ * currently returns true — a lie; computed `corner-shape` stays empty).
27
+ */
28
+ export declare function cssSupportsCornerShape(supports?: {
29
+ supports?(property: string, value: string): boolean;
30
+ } | null): boolean;
31
+ /**
32
+ * Read the painted `corner-shape`. Prefer the CSS property channel over the
33
+ * camelCase IDL — some Chromium builds expose `css.cornerShape` as the
34
+ * initial `round` even when `getPropertyValue("corner-shape")` has moved.
35
+ */
36
+ export declare function readComputedCornerShape(style: Pick<CSSStyleDeclaration, "getPropertyValue"> & {
37
+ cornerShape?: string;
38
+ }): string;
39
+ /** True for specified `squircle` and the measured Chrome computed form `superellipse(2)`. */
40
+ export declare function isSmoothComputedCornerShape(value: string): boolean;
41
+ /** True for specified `round`, computed `superellipse(1)`, empty (unsupported), or `normal`. */
42
+ export declare function isRoundComputedCornerShape(value: string): boolean;
43
+ /** Publish the live stop on `<html>` so a probe can see the channel ran. */
44
+ export declare function applyRootCornerSmoothing(stop?: CornerSmoothing): void;
29
45
  /** Idempotently mount the corner-smoothing stylesheet (no-op off-DOM). */
30
46
  export declare function ensureCornerSmoothingStyles(): void;
47
+ /**
48
+ * Mount ONCE near the root (inside KnobBridge / PresetContext). Re-asserts
49
+ * the squircle stylesheet and mirrors the live `cornerSmoothing` stop onto
50
+ * `<html>`. Renders nothing.
51
+ */
52
+ export declare function CornerSmoothingStyles(): null;
31
53
  //# sourceMappingURL=cornerSmoothing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cornerSmoothing.d.ts","sourceRoot":"","sources":["../../src/theme/cornerSmoothing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,sFAAsF;AACtF,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAIxD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,kDAA0D,CAAC;AAE1F,0EAA0E;AAC1E,wBAAgB,2BAA2B,IAAI,IAAI,CAOlD"}
1
+ {"version":3,"file":"cornerSmoothing.d.ts","sourceRoot":"","sources":["../../src/theme/cornerSmoothing.ts"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI/C,sFAAsF;AACtF,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAExD,eAAO,MAAM,6BAA6B,+BAA+B,CAAC;AAE1E,wEAAwE;AACxE,eAAO,MAAM,0BAA0B,6BAA6B,CAAC;AAErE,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AAExD,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAE9C,4CAA4C;AAC5C,eAAO,MAAM,2BAA2B,oBAAoB,CAAC;AAE7D,+CAA+C;AAC/C,eAAO,MAAM,4BAA4B,oBAAoB,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,kDAAwE,CAAC;AAExG;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,CAAC,EAAE;IAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,IAAI,GACxE,OAAO,CAQT;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9E,MAAM,CAIR;AAMD,6FAA6F;AAC7F,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGlE;AAED,gGAAgG;AAChG,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKjE;AAED,4EAA4E;AAC5E,wBAAgB,wBAAwB,CAAC,IAAI,GAAE,eAAyB,GAAG,IAAI,CAQ9E;AAED,0EAA0E;AAC1E,wBAAgB,2BAA2B,IAAI,IAAI,CAOlD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAoB5C"}
@@ -2,13 +2,33 @@
2
2
  * OPTICS corner smoothing (Axiom 15) — native twin of `cornerSmoothing.ts`.
3
3
  *
4
4
  * React Native has no `corner-shape`; native resolves `cornerSmoothing` to
5
- * `round` (resolveKnobs emits no class on native) until a SquircleView
6
- * adoption lands (phase 2). Exports stay shape-compatible for shared code.
5
+ * `round` until a SquircleView adoption lands (phase 2). Exports stay
6
+ * shape-compatible so shared code and tests can import either file.
7
7
  */
8
+ import type { CornerSmoothing } from "./knobs";
8
9
  /** Class attached on web only — never emitted into native fragments. */
9
10
  export declare const cornerSmoothClassName = "mp-corner-smooth";
11
+ export declare const CORNER_SMOOTHING_STYLE_TAG_ID = "mp-corner-smoothing-styles";
12
+ export declare const CORNER_SMOOTHING_ROOT_ATTR = "data-mp-corner-smoothing";
13
+ export declare const CORNER_SHAPE_CSS_VAR = "--mp-corner-shape";
14
+ export declare const CORNER_SHAPE_ROUND = "round";
15
+ export declare const CORNER_SHAPE_SMOOTH = "squircle";
16
+ export declare const CORNER_SHAPE_ROUND_COMPUTED = "superellipse(1)";
17
+ export declare const CORNER_SHAPE_SMOOTH_COMPUTED = "superellipse(2)";
10
18
  /** Web-only stylesheet — empty on native. */
11
19
  export declare const cornerSmoothingCss = "";
20
+ /** Native has no CSS.supports corner-shape — measured no-op, not assumed. */
21
+ export declare function cssSupportsCornerShape(_supports?: {
22
+ supports?(property: string, value: string): boolean;
23
+ }): boolean;
24
+ export declare function readComputedCornerShape(_style?: Pick<CSSStyleDeclaration, "getPropertyValue"> & {
25
+ cornerShape?: string;
26
+ }): string;
27
+ export declare function isSmoothComputedCornerShape(_value: string): boolean;
28
+ export declare function isRoundComputedCornerShape(_value: string): boolean;
29
+ export declare function applyRootCornerSmoothing(_stop?: CornerSmoothing): void;
12
30
  /** Web-only stylesheet mount — no-op on native. */
13
31
  export declare function ensureCornerSmoothingStyles(): void;
32
+ /** Native no-op. Web mounts the squircle stylesheet from ThemeProvider. */
33
+ export declare function CornerSmoothingStyles(): null;
14
34
  //# sourceMappingURL=cornerSmoothing.native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cornerSmoothing.native.d.ts","sourceRoot":"","sources":["../../src/theme/cornerSmoothing.native.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wEAAwE;AACxE,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAExD,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,mDAAmD;AACnD,wBAAgB,2BAA2B,IAAI,IAAI,CAAG"}
1
+ {"version":3,"file":"cornerSmoothing.native.d.ts","sourceRoot":"","sources":["../../src/theme/cornerSmoothing.native.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,wEAAwE;AACxE,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAExD,eAAO,MAAM,6BAA6B,+BAA+B,CAAC;AAC1E,eAAO,MAAM,0BAA0B,6BAA6B,CAAC;AACrE,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AACxD,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,2BAA2B,oBAAoB,CAAC;AAC7D,eAAO,MAAM,4BAA4B,oBAAoB,CAAC;AAE9D,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,SAAS,CAAC,EAAE;IACjD,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACrD,GAAG,OAAO,CAEV;AAED,wBAAgB,uBAAuB,CACrC,MAAM,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAChF,MAAM,CAER;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI,CAAG;AAE1E,mDAAmD;AACnD,wBAAgB,2BAA2B,IAAI,IAAI,CAAG;AAEtD,2EAA2E;AAC3E,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
@@ -3,6 +3,23 @@ import { type BaseThemeBuilderDefinition, type CreateThemesBuilderOptions, type
3
3
  import type { Preset } from "./preset.types";
4
4
  import { type SizeRecipeInputs } from "./recipeInputs";
5
5
  import { type ThemeConfig } from "./shared";
6
+ /**
7
+ * The Tamagui era this theme config resolves against (MPO-19 X13; rendered
8
+ * reference §12.2 C9 "unpinned theme package"). Every era-bearing default in
9
+ * this file — the `@tamagui/config/v5` spread, its media map,
10
+ * `mediaQueryDefaultActive` and the non-color token values — resolves on the
11
+ * v5 branch, and the MPO-19 correction rows (X4 interaction ramp, X5/X6
12
+ * surface addressing, X8/X9 heading weight and body size/leading) re-derive
13
+ * against v5, never against v4 or the legacy root exports. Asserted by the
14
+ * era block in `createDefaultThemeConfig.spec.ts`.
15
+ *
16
+ * Tokens come from `defaultConfig` and from nothing else — the legacy
17
+ * `@tamagui/themes` override is gone (measured identical for size/space/
18
+ * radius/zIndex; its only addition was unused Radix color steps).
19
+ */
20
+ export declare const TAMAGUI_ERA: "v5";
21
+ /** MPO-19 proof alias — same pin as `TAMAGUI_ERA`. */
22
+ export declare const tamaguiEra: "v5";
6
23
  export interface CreateDefaultThemeConfigOptions {
7
24
  /** Base theme palette (dark/light with optional shadows; defaults to the built-in neutral ramps) */
8
25
  base?: BaseThemeBuilderDefinition;
@@ -10,7 +27,7 @@ export interface CreateDefaultThemeConfigOptions {
10
27
  accent?: ThemeBuilderDefinition;
11
28
  /** Map of extra named themes with their palettes */
12
29
  additionalThemes?: Record<string, ThemeBuilderDefinition>;
13
- /** Font definitions (merged over the default heading/body fonts) */
30
+ /** Font definitions (merged over the default heading/body and category fonts) */
14
31
  fonts?: Record<string, GenericFont>;
15
32
  /** Animation config (defaults to framework reanimated animations) */
16
33
  animations?: CreateTamaguiProps["animations"];
@@ -37,10 +54,11 @@ export interface CreateDefaultThemeConfigOptions {
37
54
  * Builds a complete Tamagui theme config with batteries included: calling it
38
55
  * with zero options yields the framework's polished defaults — the neutral
39
56
  * Radix-mauve-curve base ramps, the solid-surface brand accent ramps, Inter
40
- * heading/body fonts and the interaction-ramp `getTheme` theme builder.
57
+ * heading/body fonts, the category fonts the bodyFont knob resolves, and the
58
+ * interaction-ramp `getTheme` theme builder.
41
59
  * Every option overrides its piece independently: `base` and `accent` each
42
60
  * replace their default, `fonts` are spread OVER the defaults so a partial
43
- * font map keeps the default heading/body, and `builderOptions.getTheme`
61
+ * font map keeps the default heading/body and category faces, and `builderOptions.getTheme`
44
62
  * COMPOSES with the default (consumer keys win; framework derivations like
45
63
  * the solid `$outlineColor` focus ring survive partial overrides).
46
64
  */
@@ -1 +1 @@
1
- {"version":3,"file":"createDefaultThemeConfig.d.ts","sourceRoot":"","sources":["../../src/theme/createDefaultThemeConfig.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAE/B,KAAK,sBAAsB,EAE5B,MAAM,gBAAgB,CAAC;AAKxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,UAAU,CAAC;AAG/D,MAAM,WAAW,+BAA+B;IAC9C,oGAAoG;IACpG,IAAI,CAAC,EAAE,0BAA0B,CAAC;IAClC,mEAAmE;IACnE,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAC1D,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,qEAAqE;IACrE,UAAU,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC9C,oEAAoE;IACpE,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAC5C,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChE,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtC,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC1C;AA6BD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC,GAC5C,WAAW,CA6Db"}
1
+ {"version":3,"file":"createDefaultThemeConfig.d.ts","sourceRoot":"","sources":["../../src/theme/createDefaultThemeConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAE/B,KAAK,sBAAsB,EAE5B,MAAM,gBAAgB,CAAC;AAKxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,UAAU,CAAC;AAG/D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,EAAG,IAAa,CAAC;AACzC,sDAAsD;AACtD,eAAO,MAAM,UAAU,MAAc,CAAC;AAEtC,MAAM,WAAW,+BAA+B;IAC9C,oGAAoG;IACpG,IAAI,CAAC,EAAE,0BAA0B,CAAC;IAClC,mEAAmE;IACnE,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAC1D,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,qEAAqE;IACrE,UAAU,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC9C,oEAAoE;IACpE,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAC5C,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChE,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtC,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC1C;AA6BD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC,GAC5C,WAAW,CA8Db"}
@@ -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;AA+GjF,eAAO,MAAM,qBAAqB,EAAE,0BA8DnC,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;AA4HjF,eAAO,MAAM,qBAAqB,EAAE,0BA8DnC,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Category fonts merged into createDefaultThemeConfig UNDER consumer
3
+ * heading/body overrides. FontKnobStyles looks these up as `$serif` etc.
4
+ * so headingFont=serif writes `--f-family` even when the app only customizes
5
+ * heading/body (SHC console Operator).
6
+ *
7
+ * Picked out of `defaultFonts` rather than built a second time: two
8
+ * construction paths meant `$mono` could be registered from one stack here
9
+ * and another there, which is the same one-source failure MPO-44 was about.
10
+ */
11
+ export declare const defaultCategoryFonts: {
12
+ serif: import("tamagui").GenericFont;
13
+ mono: import("tamagui").GenericFont;
14
+ slab: import("tamagui").GenericFont;
15
+ rounded: import("tamagui").GenericFont;
16
+ condensed: import("tamagui").GenericFont;
17
+ cursive: import("tamagui").GenericFont;
18
+ handwriting: import("tamagui").GenericFont;
19
+ pixel: import("tamagui").GenericFont;
20
+ blackletter: import("tamagui").GenericFont;
21
+ geometric: import("tamagui").GenericFont;
22
+ };
23
+ //# sourceMappingURL=categoryFonts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"categoryFonts.d.ts","sourceRoot":"","sources":["../../../src/theme/defaults/categoryFonts.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;CAWhC,CAAC"}