feat(studio): expand manual typography controls and theme recipes
Quality / quality (ubuntu-latest) (push) Failing after 6m43s
Quality / quality (windows-latest) (push) Canceled after 0s

This commit is contained in:
Clintchiz committed 2026-10-19 21:17:50 +05:30
1 parent e0298ac471
commit 7ef475119a
10 files changed
+392 -13

No files matched your search

@@ -1,6 +1,6 @@
/** Shared immutable property profiles keep catalog metadata small and explicit. */
export const CATALOG_PART_PROPERTIES = {
text: ["color", "fontFamily", "fontSize", "fontWeight", "letterSpacing"],
text: ["color", "fontFamily", "fontSize", "fontWeight", "lineHeight", "letterSpacing"],
layout: ["color", "fontFamily", "gap", "paddingBlock", "paddingInline"],
surface: [
"backgroundColor",
@@ -25,6 +25,7 @@ export const CATALOG_PART_PROPERTIES = {
"fontFamily",
"fontSize",
"fontWeight",
"lineHeight",
"letterSpacing",
"outlineColor",
"paddingBlock",
File diff suppressed because it is too large. Load diff
+2
View File
@@ -57,6 +57,7 @@ export const RECIPE_PROPERTIES: Record<string, TokenType | "borderStyle" | "angl
fontFamily: "fontFamily",
fontSize: "dimension",
fontWeight: "fontWeight",
lineHeight: "number",
letterSpacing: "dimension",
outlineColor: "color",
opacity: "number",
@@ -74,6 +75,7 @@ function literal(property: string, value: unknown): boolean {
Math.abs(parseFloat(value)) <= 8
);
if (!type || !validTokenValue(type, value) || isRecord(value)) return false;
if (property === "lineHeight") return Number(value) >= 1 && Number(value) <= 3;
if (property === "opacity") return Number(value) >= 0 && Number(value) <= 1;
if (
[