@multiplatform.one/theme 7.11.0 → 7.16.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 +22 -2
- package/package.json +6 -6
- package/src/audit/constraintAudit.spec.ts +180 -0
- package/src/audit/constraintAudit.ts +116 -37
- package/src/audit/themeMatrix.ts +4 -1
- package/src/figma/figmaTokens.spec.ts +1 -2
- package/src/numbers.spec.ts +27 -1
- package/src/numbers.ts +40 -0
- package/src/theme/Surface.spec.tsx +9 -4
- package/src/theme/createDefaultThemeConfig.ts +8 -1
- package/src/theme/createThemes.ts +43 -6
- package/src/theme/index.ts +3 -0
- package/src/theme/intent.spec.tsx +9 -7
- package/src/theme/layoutTokensHooks.spec.tsx +3 -2
- package/src/theme/radiusClass.ts +18 -0
- package/src/theme/resolveKnobs.spec.ts +73 -7
- package/src/theme/resolveKnobs.ts +99 -25
- package/src/theme/semanticEntryText.spec.ts +85 -0
- package/src/theme/sizeRecipes.ts +8 -5
- package/src/theme/subsetThemes.spec.ts +102 -0
- package/src/theme/subsetThemes.ts +56 -0
- package/src/theme/theme.tsx +15 -5
- package/src/theme/transitionProps.native.ts +15 -0
- package/src/theme/transitionProps.spec.ts +14 -0
- package/src/theme/transitionProps.ts +16 -0
- package/src/theme/useResolvedKnobs.hydration.spec.tsx +141 -0
- package/src/theme/useResolvedKnobs.ts +28 -22
- package/src/theme/useResolvedKnobsBehavior.spec.tsx +15 -1
- package/src/theme/useTouchSurface.ts +8 -0
- package/types/audit/constraintAudit.d.ts.map +1 -1
- package/types/audit/themeMatrix.d.ts.map +1 -1
- package/types/numbers.d.ts +12 -0
- package/types/numbers.d.ts.map +1 -1
- package/types/theme/createDefaultThemeConfig.d.ts +7 -0
- package/types/theme/createDefaultThemeConfig.d.ts.map +1 -1
- package/types/theme/createThemes.d.ts.map +1 -1
- package/types/theme/index.d.ts +3 -0
- package/types/theme/index.d.ts.map +1 -1
- package/types/theme/radiusClass.d.ts +14 -0
- package/types/theme/radiusClass.d.ts.map +1 -1
- package/types/theme/resolveKnobs.d.ts +35 -1
- package/types/theme/resolveKnobs.d.ts.map +1 -1
- package/types/theme/sizeRecipes.d.ts +8 -5
- package/types/theme/sizeRecipes.d.ts.map +1 -1
- package/types/theme/subsetThemes.d.ts +39 -0
- package/types/theme/subsetThemes.d.ts.map +1 -0
- package/types/theme/theme.d.ts.map +1 -1
- package/types/theme/transitionProps.d.ts +14 -0
- package/types/theme/transitionProps.d.ts.map +1 -0
- package/types/theme/transitionProps.native.d.ts +13 -0
- package/types/theme/transitionProps.native.d.ts.map +1 -0
- package/types/theme/useResolvedKnobs.d.ts.map +1 -1
- package/types/theme/useTouchSurface.d.ts +3 -0
- package/types/theme/useTouchSurface.d.ts.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,MAAM,IAAI,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjF,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,MAAM,IAAI,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjF,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAElC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
|
|
@@ -64,6 +64,20 @@ export interface RadiusClassDeclaration {
|
|
|
64
64
|
* <Frame {...radiusClassProps("R-IDENTITY", "Avatar")} circular />
|
|
65
65
|
*/
|
|
66
66
|
export declare function radiusClassProps(radiusClass: KnobImmuneRadiusClass, part: string): RadiusClassDeclaration;
|
|
67
|
+
export interface RadiusResolutionDeclaration {
|
|
68
|
+
"data-radius-resolution": "BINARY";
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Declare that a part resolves through the BINARY row (DG-RAD-03), so the
|
|
72
|
+
* constraint audit measures it as 0 or half its own shorter edge. The token
|
|
73
|
+
* scale has no h/2 value, so an undeclared thumb or track reads off-scale at
|
|
74
|
+
* every stop. Spread it only where the painted radius IS the resolved one: a
|
|
75
|
+
* consumer radius override ejects the part from the class.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* <StyledSwitch.Thumb {...radiusResolutionProps("BINARY")} borderRadius={thumbRadius} />
|
|
79
|
+
*/
|
|
80
|
+
export declare function radiusResolutionProps(radiusClass: "BINARY"): RadiusResolutionDeclaration;
|
|
67
81
|
/**
|
|
68
82
|
* The geometry a doctrine cell may need. `h/2` cells need the part's own
|
|
69
83
|
* painted height (shorter edge); CONTAINER-CAP cells need the container's own
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radiusClass.d.ts","sourceRoot":"","sources":["../../src/theme/radiusClass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAEL,6BAA6B,EAE7B,KAAK,mBAAmB,EAExB,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE5D,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,qBAAqB,EAClC,IAAI,EAAE,MAAM,GACX,sBAAsB,CAExB;AAID;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqCD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,qBAAqB,EAClC,IAAI,EAAE,YAAY,EAClB,QAAQ,GAAE,mBAAwB,GACjC,MAAM,CAcR;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAG/E;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,mCAAmC;IACnC,IAAI,EAAE,YAAY,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,MAAM,EAAE,oBAAoB,CAAC;IAC7B,uEAAuE;IACvE,WAAW,EAAE,qBAAqB,CAAC;IACnC,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,kBAAkB,CAkC7F"}
|
|
1
|
+
{"version":3,"file":"radiusClass.d.ts","sourceRoot":"","sources":["../../src/theme/radiusClass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAEL,6BAA6B,EAE7B,KAAK,mBAAmB,EAExB,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE5D,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,qBAAqB,EAClC,IAAI,EAAE,MAAM,GACX,sBAAsB,CAExB;AAED,MAAM,WAAW,2BAA2B;IAC1C,wBAAwB,EAAE,QAAQ,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,QAAQ,GAAG,2BAA2B,CAExF;AAID;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqCD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,qBAAqB,EAClC,IAAI,EAAE,YAAY,EAClB,QAAQ,GAAE,mBAAwB,GACjC,MAAM,CAcR;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAG/E;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,mCAAmC;IACnC,IAAI,EAAE,YAAY,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,MAAM,EAAE,oBAAoB,CAAC;IAC7B,uEAAuE;IACvE,WAAW,EAAE,qBAAqB,CAAC;IACnC,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,kBAAkB,CAkC7F"}
|
|
@@ -40,9 +40,43 @@ export declare function resolvePageTitleScale(scale: PageTitleScale): {
|
|
|
40
40
|
* while it fits, or the padding px number once the token would exceed it.
|
|
41
41
|
*/
|
|
42
42
|
export declare function capContainerRadius(borderRadius: Knobs["borderRadius"], space: Knobs["space"]): string | number;
|
|
43
|
+
/**
|
|
44
|
+
* The borderRadius knob stop a `borderRadiusMap` token came from, so a part
|
|
45
|
+
* can resolve its DG-RAD class at that stop. Undefined for any value the
|
|
46
|
+
* knob did not produce.
|
|
47
|
+
*/
|
|
48
|
+
export declare function radiusStopFromToken(token: unknown): Knobs["borderRadius"] | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Containers the constraint audit measures against the cap (DG-RAD-04).
|
|
51
|
+
* `StackedRow` is one row of a vertical stack: it also carries
|
|
52
|
+
* `data-stack-position`, and only its outer corners take the cap.
|
|
53
|
+
* `OwnInset` pads with a fixed token instead of panelPadding, so the audit
|
|
54
|
+
* caps it at its measured padding and ignores the space stop.
|
|
55
|
+
*/
|
|
56
|
+
export type CappedContainer = "PageSection" | "TextArea" | "StackedRow" | "OwnInset";
|
|
57
|
+
export interface ContainerCapDeclaration {
|
|
58
|
+
"data-constraint-container": CappedContainer;
|
|
59
|
+
"data-radius-knob": Knobs["borderRadius"];
|
|
60
|
+
"data-space-knob": Knobs["space"];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Declare a container that spreads `containerRadius`, with the knob stops it
|
|
64
|
+
* resolved, so the constraint audit checks its painted corners against
|
|
65
|
+
* `capContainerRadius` for those stops. The cap is a padding px value, not a
|
|
66
|
+
* radius token, so an undeclared capped container reads off-scale at `full`.
|
|
67
|
+
* Returns nothing when `radiusToken` is not a `borderRadiusMap` token or
|
|
68
|
+
* `space` is not a space stop: a part whose radius did not come from the knob
|
|
69
|
+
* makes no claim.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* <YStack {...knobProps.containerRadius} {...containerCapProps("PageSection", knobProps.borderRadius.borderRadius, knobProps.space)} />
|
|
73
|
+
*/
|
|
74
|
+
export declare function containerCapProps(container: CappedContainer, radiusToken: unknown, space: string): ContainerCapDeclaration | undefined;
|
|
43
75
|
export declare const elevationMap: Record<string, string | number | undefined>;
|
|
44
76
|
export declare const overlayElevationMap: Record<string, string | number | undefined>;
|
|
45
77
|
/** Scheme the resolver was invoked with. Defaults light so unit tests stay stable. */
|
|
46
78
|
export type ColorScheme = "light" | "dark";
|
|
47
|
-
export declare function resolveKnobs(knobs: Knobs, override?: KnobPropsOverride, scheme?: ColorScheme
|
|
79
|
+
export declare function resolveKnobs(knobs: Knobs, override?: KnobPropsOverride, scheme?: ColorScheme, environment?: {
|
|
80
|
+
touch?: boolean;
|
|
81
|
+
}): ResolvedKnobs;
|
|
48
82
|
//# sourceMappingURL=resolveKnobs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveKnobs.d.ts","sourceRoot":"","sources":["../../src/theme/resolveKnobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,SAAS,CAAC;AAU9D,OAAO,KAAK,EAA8B,KAAK,EAAE,cAAc,EAAc,MAAM,SAAS,CAAC;AAE7F,OAAO,KAAK,EAOV,iBAAiB,EAEjB,aAAa,EAEd,MAAM,WAAW,CAAC;AAKnB;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAI/D,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAIlE,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,KAAK,CAU3E;AAID,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAqDX;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAErF;AA0BD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,EACnC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GACpB,MAAM,GAAG,MAAM,CAIjB;
|
|
1
|
+
{"version":3,"file":"resolveKnobs.d.ts","sourceRoot":"","sources":["../../src/theme/resolveKnobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,SAAS,CAAC;AAU9D,OAAO,KAAK,EAA8B,KAAK,EAAE,cAAc,EAAc,MAAM,SAAS,CAAC;AAE7F,OAAO,KAAK,EAOV,iBAAiB,EAEjB,aAAa,EAEd,MAAM,WAAW,CAAC;AAKnB;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAI/D,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAIlE,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,KAAK,CAU3E;AAID,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAqDX;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAErF;AA0BD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,EACnC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GACpB,MAAM,GAAG,MAAM,CAIjB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,SAAS,CAIrF;AAED;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;AAErF,MAAM,WAAW,uBAAuB;IACtC,2BAA2B,EAAE,eAAe,CAAC;IAC7C,kBAAkB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1C,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,MAAM,GACZ,uBAAuB,GAAG,SAAS,CAQrC;AAuFD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEL,CAAC;AAEjE,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEnB,CAAC;AAE1D,sFAAsF;AACtF,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AA8O3C,wBAAgB,YAAY,CAC1B,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,iBAAiB,EAC5B,MAAM,GAAE,WAAqB,EAC7B,WAAW,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,aAAa,CAyNf"}
|
|
@@ -68,14 +68,17 @@ export declare function sizeRecipeForToken(token: string, options?: {
|
|
|
68
68
|
/**
|
|
69
69
|
* Identity helper for the LC-65 SIZE-RECIPE ESCAPE lint
|
|
70
70
|
* (`scripts/lint-conventions.mjs`). Wrap a numeric height / minHeight /
|
|
71
|
-
* paddingHorizontal / fontSize that must stay a literal:
|
|
71
|
+
* paddingHorizontal / fontSize that must stay a literal, and say why:
|
|
72
72
|
*
|
|
73
|
-
* height={sizeRecipeEscape(20)}
|
|
73
|
+
* height={sizeRecipeEscape(20, "toolbar chrome match")}
|
|
74
74
|
*
|
|
75
|
-
* Or
|
|
76
|
-
* statement. Pilot: Button/, InputParts/,
|
|
75
|
+
* Or write the same reason in a `size-recipe-escape:` line comment on the
|
|
76
|
+
* previous line or same statement. Pilot: Button/, InputParts/,
|
|
77
|
+
* fields/Select/. Either way the file and the reason must be a row in
|
|
78
|
+
* `docs/theme-propagation-spec.md` `## Size-recipe escapes` (MPO-23, `00` L8
|
|
79
|
+
* E8); an undeclared escape fails `lint-conventions`.
|
|
77
80
|
*/
|
|
78
|
-
export declare function sizeRecipeEscape<T>(value: T): T;
|
|
81
|
+
export declare function sizeRecipeEscape<T>(value: T, _reason?: string): T;
|
|
79
82
|
/**
|
|
80
83
|
* LC-84 TEXT-INSET — optical vertical inset of a text field, never larger
|
|
81
84
|
* than the recipe padX. Extra horizontal space is legal only when an icon
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sizeRecipes.d.ts","sourceRoot":"","sources":["../../src/theme/sizeRecipes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,gCAAgC,EAChC,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAKL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,gBAAgB,EAEtB,MAAM,gBAAgB,CAAC;AA0BxB;;;GAGG;AACH,eAAO,MAAM,cAAc,yCAAmB,CAAC;AAE/C,oFAAoF;AACpF,eAAO,MAAM,WAAW,4BAAiC,CAAC;AAC1D,eAAO,MAAM,qBAAqB,+DAAqC,CAAC;AACxE,eAAO,MAAM,sBAAsB,gEAAsC,CAAC;AAC1E,eAAO,MAAM,sBAAsB,gEAAsC,CAAC;AAC1E,eAAO,MAAM,mBAAmB,wBAAiC,CAAC;AAClE,eAAO,MAAM,yBAAyB,wBAAsC,CAAC;AAC7E,eAAO,MAAM,iBAAiB,wBAA+B,CAAC;AAC9D,eAAO,MAAM,kBAAkB,2CAAgC,CAAC;AAChE,eAAO,MAAM,0BAA0B,2CAAuC,CAAC;AAE/E,eAAO,MAAM,wBAAwB,wCAAyC,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,cAAc,sCAAgB,CAAC;AAE5C,wBAAgB,iBAAiB,IAAI,OAAO,cAAc,CAEzD;AAyBD,oGAAoG;AACpG,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,oBAAoB,CAE7F;AAED,wBAAgB,mBAAmB,IAAI,YAAY,CAElD;AAED,wBAAgB,uBAAuB,IAAI,oBAAoB,CAE9D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,gBAA4B,GAAG,gBAAgB,CAExF;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,YAAY,CAAC,QAAQ,CAAyB,GACrD,UAAU,CAEZ;AAOD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,GAC3C,UAAU,CAQZ;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAAA;CAAE,GAC1E,UAAU,CAKZ;AAED
|
|
1
|
+
{"version":3,"file":"sizeRecipes.d.ts","sourceRoot":"","sources":["../../src/theme/sizeRecipes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,gCAAgC,EAChC,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAKL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,gBAAgB,EAEtB,MAAM,gBAAgB,CAAC;AA0BxB;;;GAGG;AACH,eAAO,MAAM,cAAc,yCAAmB,CAAC;AAE/C,oFAAoF;AACpF,eAAO,MAAM,WAAW,4BAAiC,CAAC;AAC1D,eAAO,MAAM,qBAAqB,+DAAqC,CAAC;AACxE,eAAO,MAAM,sBAAsB,gEAAsC,CAAC;AAC1E,eAAO,MAAM,sBAAsB,gEAAsC,CAAC;AAC1E,eAAO,MAAM,mBAAmB,wBAAiC,CAAC;AAClE,eAAO,MAAM,yBAAyB,wBAAsC,CAAC;AAC7E,eAAO,MAAM,iBAAiB,wBAA+B,CAAC;AAC9D,eAAO,MAAM,kBAAkB,2CAAgC,CAAC;AAChE,eAAO,MAAM,0BAA0B,2CAAuC,CAAC;AAE/E,eAAO,MAAM,wBAAwB,wCAAyC,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,cAAc,sCAAgB,CAAC;AAE5C,wBAAgB,iBAAiB,IAAI,OAAO,cAAc,CAEzD;AAyBD,oGAAoG;AACpG,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,oBAAoB,CAE7F;AAED,wBAAgB,mBAAmB,IAAI,YAAY,CAElD;AAED,wBAAgB,uBAAuB,IAAI,oBAAoB,CAE9D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,gBAA4B,GAAG,gBAAgB,CAExF;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,YAAY,CAAC,QAAQ,CAAyB,GACrD,UAAU,CAEZ;AAOD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,GAC3C,UAAU,CAQZ;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAAA;CAAE,GAC1E,UAAU,CAKZ;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,CAEjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,mBAAmB,GAAG,UAAU,CAAC,GACpE,MAAM,CAER"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The themes one surface can reach (`10` AC-6, MPO-23).
|
|
3
|
+
*
|
|
4
|
+
* Themes are emitted into the served document as CSS, so a surface pays for
|
|
5
|
+
* every theme it will never enter. shc measured it on the live storefront:
|
|
6
|
+
* 721,818 of 1,232,058 decompressed bytes were the theme sheet, 921 classes of
|
|
7
|
+
* which the rendered routes asked for seven, and building the same house
|
|
8
|
+
* config over a named subset cut the sheet from 697,788 to 186,158 bytes
|
|
9
|
+
* (`shc/packages/themes/storefront.ts`). This is that subset as a pure
|
|
10
|
+
* function over the built matrix, so every app can do it the same way.
|
|
11
|
+
*
|
|
12
|
+
* It filters WHICH themes exist, never what a theme contains: `$color5` means
|
|
13
|
+
* the same thing in every theme that survives. A subset is a loaded gun, all
|
|
14
|
+
* the same. A component whose sub-theme was dropped does not crash, it renders
|
|
15
|
+
* in its parent's colours, so list everything the surface renders.
|
|
16
|
+
*/
|
|
17
|
+
export interface ThemeSubset {
|
|
18
|
+
/**
|
|
19
|
+
* Component sub-themes the surface renders, by Tamagui componentName
|
|
20
|
+
* (`Button`, `Input`, `ListItem`, `SelectTrigger`, …). Tamagui enters one
|
|
21
|
+
* by rendering the component, so this is "which components exist on this
|
|
22
|
+
* surface", not a style choice.
|
|
23
|
+
*/
|
|
24
|
+
components: readonly string[];
|
|
25
|
+
/**
|
|
26
|
+
* Named themes the surface can enter beside the bare `light`/`dark`
|
|
27
|
+
* schemes: `accent`, the semantic children (`error`, `success`,
|
|
28
|
+
* `warning`), Tamagui's state children (`active`, `alt1`, `alt2`), and any
|
|
29
|
+
* decorative hue a `theme="…"` or `<Theme name="…">` on the surface names.
|
|
30
|
+
*/
|
|
31
|
+
tints: readonly string[];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Keep a theme when its component suffix (if any) is in `components` and
|
|
35
|
+
* every other non-scheme segment of its name is in `tints`. Names are
|
|
36
|
+
* `[light|dark_]<tint>*[_Component]`, so `light` and `dark` always survive.
|
|
37
|
+
*/
|
|
38
|
+
export declare function subsetThemes<T>(themes: Record<string, T>, subset: ThemeSubset): Record<string, T>;
|
|
39
|
+
//# sourceMappingURL=subsetThemes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subsetThemes.d.ts","sourceRoot":"","sources":["../../src/theme/subsetThemes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B;;;;;OAKG;IACH,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAID;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAejG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/theme/theme.tsx"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/theme/theme.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,kBAAkB,EAEvB,KAAK,oBAAoB,EAE1B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAS/C;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI,CAkB5D;AAMD,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,CACjD,SAAQ,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,cAAc,CAAC,CAAC;IAChF,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,UAAU,CAAC,cAAc,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;KAChE,CAAC;IACF,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAChC;AAMD,wBAAgB,aAAa,CAAC,CAAC,SAAS,kBAAkB,EAAE,EAC1D,QAAQ,EACR,MAAM,EACN,WAAqB,EACrB,GAAG,YAAY,EAChB,EAAE,kBAAkB,CAAC,CAAC,CAAC,2CAsFvB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TransitionProp } from "tamagui";
|
|
2
|
+
/**
|
|
3
|
+
* Spreadable `transition` for a part that rides the animation knob.
|
|
4
|
+
*
|
|
5
|
+
* Tamagui decides whether a component runs its animation hooks from
|
|
6
|
+
* `"transition" in props`, so a part that drops the key at animation `none`
|
|
7
|
+
* throws "Rendered more hooks than during the previous render" the moment the
|
|
8
|
+
* knob flips to any other stop (MPO-327). On web the key therefore stays, and
|
|
9
|
+
* an undefined value paints no CSS transition. The native twin differs.
|
|
10
|
+
*/
|
|
11
|
+
export declare function transitionProps(transition: TransitionProp | undefined): {
|
|
12
|
+
transition?: TransitionProp;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=transitionProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transitionProps.d.ts","sourceRoot":"","sources":["../../src/theme/transitionProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,cAAc,GAAG,SAAS,GAAG;IACvE,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,CAEA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { TransitionProp } from "tamagui";
|
|
2
|
+
/**
|
|
3
|
+
* Native twin of `transitionProps.ts`.
|
|
4
|
+
*
|
|
5
|
+
* The React Native driver resolves an undefined `transition` to an empty
|
|
6
|
+
* config and animates with a default spring (LC-59), so keeping the key at
|
|
7
|
+
* animation `none` would put motion on every part that is meant to be still.
|
|
8
|
+
* Native keeps omitting it until the driver has an instant token to pass.
|
|
9
|
+
*/
|
|
10
|
+
export declare function transitionProps(transition: TransitionProp | undefined): {
|
|
11
|
+
transition?: TransitionProp;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=transitionProps.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transitionProps.native.d.ts","sourceRoot":"","sources":["../../src/theme/transitionProps.native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,cAAc,GAAG,SAAS,GAAG;IACvE,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,CAEA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResolvedKnobs.d.ts","sourceRoot":"","sources":["../../src/theme/useResolvedKnobs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"useResolvedKnobs.d.ts","sourceRoot":"","sources":["../../src/theme/useResolvedKnobs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,SAAS,CAAC;AAIxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAWlE,eAAO,MAAM,aAAa,wCAAqC,CAAC;AAEhE,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAEhD;AAyDD,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,mCAAmC;IACnC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAYD,eAAO,MAAM,kBAAkB,aAA2C,CAAC;AAE3E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAuGjF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTouchSurface.d.ts","sourceRoot":"","sources":["../../src/theme/useTouchSurface.ts"],"names":[],"mappings":"AAGA,0FAA0F;AAC1F,wBAAgB,eAAe,IAAI,OAAO,CAGzC"}
|