@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.
- package/README.md +2 -1
- package/package.json +5 -5
- package/src/audit/index.ts +19 -0
- package/src/audit/themeMatrix.spec.ts +274 -0
- package/src/audit/themeMatrix.ts +630 -0
- package/src/figma/figmaTokens.spec.ts +25 -21
- package/src/figma/figmaTokens.ts +2 -2
- package/src/font.ts +37 -25
- package/src/index.ts +12 -0
- package/src/keyboardFocusRing.ts +12 -6
- package/src/theme/FontKnobStyles.tsx +14 -31
- package/src/theme/Tint.tsx +3 -2
- package/src/theme/animations/css.ts +14 -1
- package/src/theme/colorRules.spec.ts +306 -2
- package/src/theme/colorRules.ts +118 -0
- package/src/theme/cornerSmoothing.native.ts +39 -2
- package/src/theme/cornerSmoothing.spec.ts +270 -3
- package/src/theme/cornerSmoothing.ts +147 -10
- package/src/theme/createDefaultThemeConfig.spec.ts +107 -1
- package/src/theme/createDefaultThemeConfig.ts +27 -8
- package/src/theme/defaults/builderOptions.ts +23 -10
- package/src/theme/defaults/categoryFonts.ts +24 -0
- package/src/theme/defaults/fonts.spec.ts +163 -10
- package/src/theme/defaults/fonts.theme.spec.tsx +139 -0
- package/src/theme/defaults/fonts.ts +214 -50
- package/src/theme/defaults/index.ts +1 -0
- package/src/theme/devtools/ThemeDevtoolsPanel.tsx +0 -11
- package/src/theme/focusState.spec.ts +119 -1
- package/src/theme/focusState.ts +32 -7
- package/src/theme/fontCategoryMetrics.ts +57 -0
- package/src/theme/fontCategoryStacks.ts +37 -0
- package/src/theme/fontKnobStyles.spec.ts +15 -2
- package/src/theme/glyphPaint.spec.ts +26 -0
- package/src/theme/glyphPaint.ts +46 -0
- package/src/theme/index.ts +4 -0
- package/src/theme/knobs.ts +18 -2
- package/src/theme/layoutTokens.spec.ts +3 -1
- package/src/theme/layoutTokens.ts +47 -4
- package/src/theme/mpo13Proof.spec.ts +3 -3
- package/src/theme/mpo19Proof.spec.ts +285 -0
- package/src/theme/presets.ts +1 -1
- package/src/theme/radiusClass.spec.ts +394 -0
- package/src/theme/radiusClass.ts +203 -4
- package/src/theme/radiusClassTable.generated.ts +121 -0
- package/src/theme/recipeInputs.ts +223 -36
- package/src/theme/recipes.ts +68 -4
- package/src/theme/resolveKnobs.spec.ts +155 -13
- package/src/theme/resolveKnobs.ts +193 -27
- package/src/theme/sizeLadder.spec.ts +84 -0
- package/src/theme/sizeRecipes.spec.ts +19 -6
- package/src/theme/sizeRecipes.ts +43 -13
- package/src/theme/theme.native.tsx +2 -0
- package/src/theme/theme.provider.spec.ts +9 -0
- package/src/theme/theme.tsx +6 -3
- package/src/theme/tint.spec.tsx +36 -35
- package/src/theme/useResolvedKnobs.ts +6 -3
- package/types/audit/index.d.ts +2 -0
- package/types/audit/index.d.ts.map +1 -1
- package/types/audit/themeMatrix.d.ts +172 -0
- package/types/audit/themeMatrix.d.ts.map +1 -0
- package/types/figma/figmaTokens.d.ts +1 -1
- package/types/figma/figmaTokens.d.ts.map +1 -1
- package/types/font.d.ts.map +1 -1
- package/types/index.d.ts +2 -0
- package/types/index.d.ts.map +1 -1
- package/types/keyboardFocusRing.d.ts +11 -5
- package/types/keyboardFocusRing.d.ts.map +1 -1
- package/types/theme/FontKnobStyles.d.ts +8 -12
- package/types/theme/FontKnobStyles.d.ts.map +1 -1
- package/types/theme/Tint.d.ts +2 -1
- package/types/theme/Tint.d.ts.map +1 -1
- package/types/theme/animations/css.d.ts +15 -2
- package/types/theme/animations/css.d.ts.map +1 -1
- package/types/theme/colorRules.d.ts +59 -1
- package/types/theme/colorRules.d.ts.map +1 -1
- package/types/theme/cornerSmoothing.d.ts +42 -20
- package/types/theme/cornerSmoothing.d.ts.map +1 -1
- package/types/theme/cornerSmoothing.native.d.ts +22 -2
- package/types/theme/cornerSmoothing.native.d.ts.map +1 -1
- package/types/theme/createDefaultThemeConfig.d.ts +21 -3
- package/types/theme/createDefaultThemeConfig.d.ts.map +1 -1
- package/types/theme/defaults/builderOptions.d.ts.map +1 -1
- package/types/theme/defaults/categoryFonts.d.ts +23 -0
- package/types/theme/defaults/categoryFonts.d.ts.map +1 -0
- package/types/theme/defaults/fonts.d.ts +140 -2
- package/types/theme/defaults/fonts.d.ts.map +1 -1
- package/types/theme/defaults/index.d.ts +1 -0
- package/types/theme/defaults/index.d.ts.map +1 -1
- package/types/theme/devtools/ThemeDevtoolsPanel.d.ts.map +1 -1
- package/types/theme/focusState.d.ts +32 -6
- package/types/theme/focusState.d.ts.map +1 -1
- package/types/theme/fontCategoryMetrics.d.ts +36 -0
- package/types/theme/fontCategoryMetrics.d.ts.map +1 -0
- package/types/theme/fontCategoryStacks.d.ts +24 -0
- package/types/theme/fontCategoryStacks.d.ts.map +1 -0
- package/types/theme/glyphPaint.d.ts +16 -0
- package/types/theme/glyphPaint.d.ts.map +1 -0
- package/types/theme/index.d.ts +4 -0
- package/types/theme/index.d.ts.map +1 -1
- package/types/theme/knobs.d.ts +10 -2
- package/types/theme/knobs.d.ts.map +1 -1
- package/types/theme/layoutTokens.d.ts +46 -4
- package/types/theme/layoutTokens.d.ts.map +1 -1
- package/types/theme/radiusClass.d.ts +96 -4
- package/types/theme/radiusClass.d.ts.map +1 -1
- package/types/theme/radiusClassTable.generated.d.ts +146 -0
- package/types/theme/radiusClassTable.generated.d.ts.map +1 -0
- package/types/theme/recipeInputs.d.ts +85 -14
- package/types/theme/recipeInputs.d.ts.map +1 -1
- package/types/theme/recipes.d.ts +78 -4
- package/types/theme/recipes.d.ts.map +1 -1
- package/types/theme/resolveKnobs.d.ts +12 -1
- package/types/theme/resolveKnobs.d.ts.map +1 -1
- package/types/theme/sizeRecipes.d.ts +27 -14
- package/types/theme/sizeRecipes.d.ts.map +1 -1
- package/types/theme/theme.d.ts.map +1 -1
- package/types/theme/theme.native.d.ts.map +1 -1
- package/types/theme/useResolvedKnobs.d.ts +2 -2
- 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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAQH,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,gBAAgB,CAAC;AAK1D;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,gGAUpB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGzD,CAAC;AAEF,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAElE;AAID,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,
|
|
1
|
+
{"version":3,"file":"figmaTokens.d.ts","sourceRoot":"","sources":["../../src/figma/figmaTokens.ts"],"names":[],"mappings":"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"}
|
package/types/font.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
package/types/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
27
|
-
* (2px solid `$outlineColor`,
|
|
28
|
-
*
|
|
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:
|
|
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
|
|
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
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* `
|
|
6
|
-
*
|
|
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
|
|
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
|
|
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,
|
|
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"}
|
package/types/theme/Tint.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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" | "$
|
|
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;
|
|
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;AAWvC,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAelE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,cAAc,EAAE,CAcrF;AAED,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,EAC1D,IAAI,EAAE,iBAAiB,GACtB,YAAY,CAad;AAED;;;;;;;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,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":"
|
|
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`
|
|
6
|
-
*
|
|
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;
|
|
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
|
|
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":"
|
|
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;
|
|
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"}
|