@hjmds/design-contracts 0.9.4 → 0.9.6
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/dist/base-recipes.d.ts +51 -2
- package/dist/base-recipes.d.ts.map +1 -1
- package/dist/base-recipes.js +38 -7
- package/dist/base-recipes.js.map +1 -1
- package/dist/catalog.d.ts +41 -2
- package/dist/catalog.d.ts.map +1 -1
- package/dist/colors.d.ts +8 -0
- package/dist/colors.d.ts.map +1 -1
- package/dist/colors.js +3 -0
- package/dist/colors.js.map +1 -1
- package/dist/component-recipes.d.ts +11 -0
- package/dist/component-recipes.d.ts.map +1 -1
- package/dist/component-recipes.js +6 -0
- package/dist/component-recipes.js.map +1 -1
- package/dist/design-system-provider.d.ts +19 -0
- package/dist/design-system-provider.d.ts.map +1 -1
- package/dist/design-system-provider.js +22 -0
- package/dist/design-system-provider.js.map +1 -1
- package/dist/icon-button-recipe.d.ts +1 -1
- package/dist/semantic-colors.d.ts +7 -1
- package/dist/semantic-colors.d.ts.map +1 -1
- package/dist/semantic-colors.js +5 -1
- package/dist/semantic-colors.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/docs/consumer-policy.md +18 -0
- package/docs/design-system-provider.md +8 -2
- package/docs/generated/component-maturity.md +1 -1
- package/docs/generated/renderer-evidence.json +3 -3
- package/docs/generated/renderer-evidence.md +1 -1
- package/docs/generated/showcase-manifest.json +1 -1
- package/package.json +1 -1
package/dist/base-recipes.d.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { control, radius, spacing } from "./foundations.js";
|
|
2
2
|
export type ButtonTone = "primary" | "secondary" | "ghost" | "danger" | "link";
|
|
3
|
+
/** Corner geometry of the control frame. Mirrors `IconButtonShape`. */
|
|
4
|
+
export type ButtonShape = "rounded" | "pill";
|
|
5
|
+
/**
|
|
6
|
+
* Where the label sits inside the frame. `center` is the action default;
|
|
7
|
+
* `leading` is for a full-width row action whose label reads as list copy.
|
|
8
|
+
*/
|
|
9
|
+
export type ButtonAlign = "center" | "leading";
|
|
3
10
|
export type ButtonSize = keyof typeof control.buttonHeight;
|
|
4
|
-
export type SurfaceTone = "default" | "raised" | "accent" | "subtle";
|
|
11
|
+
export type SurfaceTone = "default" | "raised" | "accent" | "sunken" | "subtle";
|
|
5
12
|
export type SurfacePadding = "none" | keyof typeof spacing;
|
|
6
13
|
export type SurfaceRadius = keyof typeof radius;
|
|
7
14
|
export type FieldVariant = "surface" | "inset";
|
|
@@ -12,32 +19,51 @@ export declare const buttonRecipe: {
|
|
|
12
19
|
readonly defaults: {
|
|
13
20
|
readonly tone: "primary";
|
|
14
21
|
readonly size: "medium";
|
|
22
|
+
readonly shape: "rounded";
|
|
23
|
+
readonly align: "center";
|
|
15
24
|
};
|
|
16
25
|
readonly tones: {
|
|
17
26
|
readonly primary: {
|
|
18
27
|
readonly background: "primary";
|
|
19
28
|
readonly content: "onPrimary";
|
|
20
29
|
readonly border: null;
|
|
30
|
+
readonly paddingHorizontal: null;
|
|
21
31
|
};
|
|
22
32
|
readonly secondary: {
|
|
23
33
|
readonly background: "surfaceAlt";
|
|
24
34
|
readonly content: "text";
|
|
25
|
-
readonly border: "
|
|
35
|
+
readonly border: "borderControl";
|
|
36
|
+
readonly paddingHorizontal: null;
|
|
26
37
|
};
|
|
27
38
|
readonly ghost: {
|
|
28
39
|
readonly background: null;
|
|
29
40
|
readonly content: "textMuted";
|
|
30
41
|
readonly border: null;
|
|
42
|
+
readonly paddingHorizontal: null;
|
|
31
43
|
};
|
|
32
44
|
readonly danger: {
|
|
33
45
|
readonly background: "dangerFill";
|
|
34
46
|
readonly content: "onDanger";
|
|
35
47
|
readonly border: null;
|
|
48
|
+
readonly paddingHorizontal: null;
|
|
36
49
|
};
|
|
37
50
|
readonly link: {
|
|
38
51
|
readonly background: null;
|
|
39
52
|
readonly content: "contentBrand";
|
|
40
53
|
readonly border: null;
|
|
54
|
+
readonly paddingHorizontal: 0;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Visual treatment for a control that is also a toggle. `accessibilityState`
|
|
59
|
+
* / `aria-pressed` already expressed the state; without a paired visual every
|
|
60
|
+
* consumer painted the selected background in product styles.
|
|
61
|
+
*/
|
|
62
|
+
readonly states: {
|
|
63
|
+
readonly selected: {
|
|
64
|
+
readonly background: "surfaceAccent";
|
|
65
|
+
readonly content: "contentBrand";
|
|
66
|
+
readonly border: "contentBrand";
|
|
41
67
|
};
|
|
42
68
|
};
|
|
43
69
|
readonly sizes: {
|
|
@@ -60,6 +86,14 @@ export declare const buttonRecipe: {
|
|
|
60
86
|
readonly textVariant: "bodyLarge";
|
|
61
87
|
};
|
|
62
88
|
};
|
|
89
|
+
readonly shapes: {
|
|
90
|
+
readonly rounded: "md";
|
|
91
|
+
readonly pill: "full";
|
|
92
|
+
};
|
|
93
|
+
readonly aligns: {
|
|
94
|
+
readonly center: "center";
|
|
95
|
+
readonly leading: "flex-start";
|
|
96
|
+
};
|
|
63
97
|
readonly opacity: {
|
|
64
98
|
readonly disabled: 0.5;
|
|
65
99
|
readonly pressed: 0.86;
|
|
@@ -72,6 +106,7 @@ export declare const surfaceRecipe: {
|
|
|
72
106
|
readonly borderAlpha: 1;
|
|
73
107
|
readonly elevated: false;
|
|
74
108
|
readonly borderAlways: false;
|
|
109
|
+
readonly clipsContent: true;
|
|
75
110
|
};
|
|
76
111
|
readonly raised: {
|
|
77
112
|
readonly background: "bg";
|
|
@@ -79,6 +114,15 @@ export declare const surfaceRecipe: {
|
|
|
79
114
|
readonly borderAlpha: 1;
|
|
80
115
|
readonly elevated: true;
|
|
81
116
|
readonly borderAlways: false;
|
|
117
|
+
readonly clipsContent: false;
|
|
118
|
+
};
|
|
119
|
+
readonly sunken: {
|
|
120
|
+
readonly background: "surfaceAlt";
|
|
121
|
+
readonly border: "border";
|
|
122
|
+
readonly borderAlpha: 1;
|
|
123
|
+
readonly elevated: false;
|
|
124
|
+
readonly borderAlways: false;
|
|
125
|
+
readonly clipsContent: true;
|
|
82
126
|
};
|
|
83
127
|
readonly accent: {
|
|
84
128
|
readonly background: "surfaceAccent";
|
|
@@ -86,6 +130,7 @@ export declare const surfaceRecipe: {
|
|
|
86
130
|
readonly borderAlpha: 0.3;
|
|
87
131
|
readonly elevated: false;
|
|
88
132
|
readonly borderAlways: false;
|
|
133
|
+
readonly clipsContent: true;
|
|
89
134
|
};
|
|
90
135
|
readonly subtle: {
|
|
91
136
|
readonly background: "bg";
|
|
@@ -93,13 +138,17 @@ export declare const surfaceRecipe: {
|
|
|
93
138
|
readonly borderAlpha: 1;
|
|
94
139
|
readonly elevated: false;
|
|
95
140
|
readonly borderAlways: true;
|
|
141
|
+
readonly clipsContent: true;
|
|
96
142
|
};
|
|
97
143
|
};
|
|
144
|
+
/** Text placement inside a field control. */
|
|
145
|
+
export type FieldAlign = "start" | "center";
|
|
98
146
|
export declare const fieldRecipe: {
|
|
99
147
|
readonly slots: readonly ["root", "label", "control", "leading", "input", "trailing", "hint", "error"];
|
|
100
148
|
readonly defaults: {
|
|
101
149
|
readonly variant: "surface";
|
|
102
150
|
readonly shape: "medium";
|
|
151
|
+
readonly align: "start";
|
|
103
152
|
};
|
|
104
153
|
readonly variants: {
|
|
105
154
|
readonly surface: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-recipes.d.ts","sourceRoot":"","sources":["../src/base-recipes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAc,MAAM,EAAE,OAAO,EAAc,MAAM,kBAAkB,CAAC;AAGpF,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC/E,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAC,YAAY,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"base-recipes.d.ts","sourceRoot":"","sources":["../src/base-recipes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAc,MAAM,EAAE,OAAO,EAAc,MAAM,kBAAkB,CAAC;AAGpF,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC/E,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAC7C;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC/C,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAC,YAAY,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAChF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,OAAO,OAAO,CAAC;AAC3D,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,MAAM,CAAC;AAChD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;AAC/C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAErD,4EAA4E;AAC5E,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAcvB;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DJ,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDzB,CAAC;AAEF,6CAA6C;AAC7C,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5C,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4BtB;;;;OAIG;uCAC+B,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;CAqDhD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;CAU3B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;CAM3B,CAAC"}
|
package/dist/base-recipes.js
CHANGED
|
@@ -2,13 +2,25 @@ import { control, fontWeight, radius, spacing, typography } from "./foundations.
|
|
|
2
2
|
/** Small renderer entry point for the three foundational visual recipes. */
|
|
3
3
|
export const buttonRecipe = {
|
|
4
4
|
slots: ["root", "leading", "label", "trailing", "spinner"],
|
|
5
|
-
defaults: { tone: "primary", size: "medium" },
|
|
5
|
+
defaults: { tone: "primary", size: "medium", shape: "rounded", align: "center" },
|
|
6
6
|
tones: {
|
|
7
|
-
primary: { background: "primary", content: "onPrimary", border: null },
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
primary: { background: "primary", content: "onPrimary", border: null, paddingHorizontal: null },
|
|
8
|
+
// The outline is a border role, not a text color. Drawing it in `textSub`
|
|
9
|
+
// made a resting control read heavier than the selected one beside it.
|
|
10
|
+
secondary: { background: "surfaceAlt", content: "text", border: "borderControl", paddingHorizontal: null },
|
|
11
|
+
ghost: { background: null, content: "textMuted", border: null, paddingHorizontal: null },
|
|
12
|
+
danger: { background: "dangerFill", content: "onDanger", border: null, paddingHorizontal: null },
|
|
13
|
+
// A link-tone control is inline copy, so the size axis' horizontal padding
|
|
14
|
+
// would push it out of alignment with the text around it.
|
|
15
|
+
link: { background: null, content: "contentBrand", border: null, paddingHorizontal: 0 },
|
|
16
|
+
},
|
|
17
|
+
/**
|
|
18
|
+
* Visual treatment for a control that is also a toggle. `accessibilityState`
|
|
19
|
+
* / `aria-pressed` already expressed the state; without a paired visual every
|
|
20
|
+
* consumer painted the selected background in product styles.
|
|
21
|
+
*/
|
|
22
|
+
states: {
|
|
23
|
+
selected: { background: "surfaceAccent", content: "contentBrand", border: "contentBrand" },
|
|
12
24
|
},
|
|
13
25
|
sizes: {
|
|
14
26
|
small: {
|
|
@@ -30,6 +42,8 @@ export const buttonRecipe = {
|
|
|
30
42
|
textVariant: "bodyLarge",
|
|
31
43
|
},
|
|
32
44
|
},
|
|
45
|
+
shapes: { rounded: "md", pill: "full" },
|
|
46
|
+
aligns: { center: "center", leading: "flex-start" },
|
|
33
47
|
opacity: { disabled: 0.5, pressed: 0.86 },
|
|
34
48
|
};
|
|
35
49
|
export const surfaceRecipe = {
|
|
@@ -39,6 +53,7 @@ export const surfaceRecipe = {
|
|
|
39
53
|
borderAlpha: 1,
|
|
40
54
|
elevated: false,
|
|
41
55
|
borderAlways: false,
|
|
56
|
+
clipsContent: true,
|
|
42
57
|
},
|
|
43
58
|
raised: {
|
|
44
59
|
background: "bg",
|
|
@@ -46,6 +61,20 @@ export const surfaceRecipe = {
|
|
|
46
61
|
borderAlpha: 1,
|
|
47
62
|
elevated: true,
|
|
48
63
|
borderAlways: false,
|
|
64
|
+
// An elevated surface must not clip: `overflow: hidden` cuts off its own
|
|
65
|
+
// shadow. Every other tone clips so a child image cannot spill past the
|
|
66
|
+
// rounded corner, which consumers were fixing in product styles.
|
|
67
|
+
clipsContent: false,
|
|
68
|
+
},
|
|
69
|
+
// `semanticColors.surface.sunken` already named this role; without a paired
|
|
70
|
+
// tone a consumer had to paint `surfaceAlt` in its own product styles.
|
|
71
|
+
sunken: {
|
|
72
|
+
background: "surfaceAlt",
|
|
73
|
+
border: "border",
|
|
74
|
+
borderAlpha: 1,
|
|
75
|
+
elevated: false,
|
|
76
|
+
borderAlways: false,
|
|
77
|
+
clipsContent: true,
|
|
49
78
|
},
|
|
50
79
|
accent: {
|
|
51
80
|
background: "surfaceAccent",
|
|
@@ -53,6 +82,7 @@ export const surfaceRecipe = {
|
|
|
53
82
|
borderAlpha: 0.3,
|
|
54
83
|
elevated: false,
|
|
55
84
|
borderAlways: false,
|
|
85
|
+
clipsContent: true,
|
|
56
86
|
},
|
|
57
87
|
subtle: {
|
|
58
88
|
background: "bg",
|
|
@@ -60,6 +90,7 @@ export const surfaceRecipe = {
|
|
|
60
90
|
borderAlpha: 1,
|
|
61
91
|
elevated: false,
|
|
62
92
|
borderAlways: true,
|
|
93
|
+
clipsContent: true,
|
|
63
94
|
},
|
|
64
95
|
};
|
|
65
96
|
export const fieldRecipe = {
|
|
@@ -73,7 +104,7 @@ export const fieldRecipe = {
|
|
|
73
104
|
"hint",
|
|
74
105
|
"error",
|
|
75
106
|
],
|
|
76
|
-
defaults: { variant: "surface", shape: "medium" },
|
|
107
|
+
defaults: { variant: "surface", shape: "medium", align: "start" },
|
|
77
108
|
variants: {
|
|
78
109
|
surface: { background: "surface" },
|
|
79
110
|
inset: { background: "bg" },
|
package/dist/base-recipes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-recipes.js","sourceRoot":"","sources":["../src/base-recipes.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ThemeColors } from \"./colors.js\";\nimport { control, fontWeight, radius, spacing, typography } from \"./foundations.js\";\nimport type { FontWeightValue, TextVariant } from \"./foundations.js\";\n\nexport type ButtonTone = \"primary\" | \"secondary\" | \"ghost\" | \"danger\" | \"link\";\nexport type ButtonSize = keyof typeof control.buttonHeight;\nexport type SurfaceTone = \"default\" | \"raised\" | \"accent\" | \"subtle\";\nexport type SurfacePadding = \"none\" | keyof typeof spacing;\nexport type SurfaceRadius = keyof typeof radius;\nexport type FieldVariant = \"surface\" | \"inset\";\nexport type FieldShape = \"medium\" | \"large\" | \"full\";\n\n/** Small renderer entry point for the three foundational visual recipes. */\nexport const buttonRecipe = {\n slots: [\"root\", \"leading\", \"label\", \"trailing\", \"spinner\"] as const,\n defaults: { tone: \"primary\", size: \"medium\" } as const,\n tones: {\n primary: { background: \"primary\", content: \"onPrimary\", border: null },\n secondary: { background: \"surfaceAlt\", content: \"text\", border: \"textSub\" },\n ghost: { background: null, content: \"textMuted\", border: null },\n danger: { background: \"dangerFill\", content: \"onDanger\", border: null },\n link: { background: null, content: \"contentBrand\", border: null },\n },\n sizes: {\n small: {\n height: control.buttonHeight.small,\n hitSlop: control.buttonHitSlop.small,\n paddingHorizontal: spacing.sm,\n textVariant: \"label\",\n },\n medium: {\n height: control.buttonHeight.medium,\n hitSlop: control.buttonHitSlop.medium,\n paddingHorizontal: spacing.md,\n textVariant: \"body\",\n },\n large: {\n height: control.buttonHeight.large,\n hitSlop: control.buttonHitSlop.large,\n paddingHorizontal: spacing.lg,\n textVariant: \"bodyLarge\",\n },\n },\n opacity: { disabled: 0.5, pressed: 0.86 },\n} as const satisfies {\n slots: readonly string[];\n defaults: { tone: ButtonTone; size: ButtonSize };\n tones: Record<\n ButtonTone,\n {\n background: keyof ThemeColors | null;\n content: keyof ThemeColors;\n border: keyof ThemeColors | null;\n }\n >;\n sizes: Record<\n ButtonSize,\n {\n height: number;\n hitSlop: number;\n paddingHorizontal: number;\n textVariant: TextVariant;\n }\n >;\n opacity: { disabled: number; pressed: number };\n};\n\nexport const surfaceRecipe = {\n default: {\n background: \"surface\",\n border: \"border\",\n borderAlpha: 1,\n elevated: false,\n borderAlways: false,\n },\n raised: {\n background: \"bg\",\n border: \"border\",\n borderAlpha: 1,\n elevated: true,\n borderAlways: false,\n },\n accent: {\n background: \"surfaceAccent\",\n border: \"primary\",\n borderAlpha: 0.3,\n elevated: false,\n borderAlways: false,\n },\n subtle: {\n background: \"bg\",\n border: \"border\",\n borderAlpha: 1,\n elevated: false,\n borderAlways: true,\n },\n} as const satisfies Record<\n SurfaceTone,\n {\n background: keyof ThemeColors;\n border: keyof ThemeColors;\n borderAlpha: number;\n elevated: boolean;\n borderAlways: boolean;\n }\n>;\n\nexport const fieldRecipe = {\n slots: [\n \"root\",\n \"label\",\n \"control\",\n \"leading\",\n \"input\",\n \"trailing\",\n \"hint\",\n \"error\",\n ] as const,\n defaults: { variant: \"surface\", shape: \"medium\" } as const,\n variants: {\n surface: { background: \"surface\" },\n inset: { background: \"bg\" },\n },\n shapes: {\n medium: \"md\",\n large: \"lg\",\n full: \"full\",\n },\n states: {\n idle: { border: \"textMuted\" },\n focused: { border: \"contentBrand\" },\n invalid: { border: \"danger\" },\n },\n minHeight: control.minTouchTarget,\n multilineMinHeight: 80,\n /**\n * Upper bound for a growing multiline field, expressed in visible lines. A\n * consumer otherwise reaches for `inputStyle={{ maxHeight }}`, which moves a\n * recipe-owned dimension into product code. `null` keeps unbounded growth.\n */\n multilineMaxVisibleLines: null as number | null,\n borderWidth: 1,\n focusRingWidth: 2,\n focusRingOffset: 2,\n paddingHorizontal: spacing.md,\n paddingVertical: spacing.sm,\n textVariant: \"body\",\n label: {\n color: \"textBody\",\n textVariant: \"body\",\n fontWeight: fontWeight.semibold,\n gap: spacing.xs,\n },\n support: {\n hintColor: \"textMuted\",\n errorColor: \"danger\",\n textVariant: \"label\",\n gap: 6,\n },\n placeholder: { color: \"textMuted\" },\n disabledOpacity: 0.6,\n} as const satisfies {\n slots: readonly string[];\n defaults: { variant: FieldVariant; shape: FieldShape };\n variants: Record<FieldVariant, { background: keyof ThemeColors }>;\n shapes: Record<FieldShape, keyof typeof radius>;\n states: Record<\n \"idle\" | \"focused\" | \"invalid\",\n { border: keyof ThemeColors }\n >;\n minHeight: number;\n multilineMinHeight: number;\n multilineMaxVisibleLines: number | null;\n borderWidth: number;\n focusRingWidth: number;\n focusRingOffset: number;\n paddingHorizontal: number;\n paddingVertical: number;\n textVariant: keyof typeof typography;\n label: {\n color: keyof ThemeColors;\n textVariant: keyof typeof typography;\n fontWeight: FontWeightValue;\n gap: number;\n };\n support: {\n hintColor: keyof ThemeColors;\n errorColor: keyof ThemeColors;\n textVariant: keyof typeof typography;\n gap: number;\n };\n placeholder: { color: keyof ThemeColors };\n disabledOpacity: number;\n};\n\n/**\n * Renderer-neutral Surface geometry. Tone colors stay in `surfaceRecipe` for\n * compatibility; these axes make the previously implicit Web/Native defaults\n * explicit without changing that public recipe shape.\n */\nexport const surfaceDefaults = {\n tone: \"default\",\n padding: \"none\",\n radius: \"lg\",\n bordered: false,\n} as const satisfies {\n tone: SurfaceTone;\n padding: SurfacePadding;\n radius: SurfaceRadius;\n bordered: boolean;\n};\n\nexport const surfaceGeometry = {\n paddings: { none: 0, ...spacing },\n radii: radius,\n} as const satisfies {\n paddings: Record<SurfacePadding, number>;\n radii: Record<SurfaceRadius, number>;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"base-recipes.js","sourceRoot":"","sources":["../src/base-recipes.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ThemeColors } from \"./colors.js\";\nimport { control, fontWeight, radius, spacing, typography } from \"./foundations.js\";\nimport type { FontWeightValue, TextVariant } from \"./foundations.js\";\n\nexport type ButtonTone = \"primary\" | \"secondary\" | \"ghost\" | \"danger\" | \"link\";\n/** Corner geometry of the control frame. Mirrors `IconButtonShape`. */\nexport type ButtonShape = \"rounded\" | \"pill\";\n/**\n * Where the label sits inside the frame. `center` is the action default;\n * `leading` is for a full-width row action whose label reads as list copy.\n */\nexport type ButtonAlign = \"center\" | \"leading\";\nexport type ButtonSize = keyof typeof control.buttonHeight;\nexport type SurfaceTone = \"default\" | \"raised\" | \"accent\" | \"sunken\" | \"subtle\";\nexport type SurfacePadding = \"none\" | keyof typeof spacing;\nexport type SurfaceRadius = keyof typeof radius;\nexport type FieldVariant = \"surface\" | \"inset\";\nexport type FieldShape = \"medium\" | \"large\" | \"full\";\n\n/** Small renderer entry point for the three foundational visual recipes. */\nexport const buttonRecipe = {\n slots: [\"root\", \"leading\", \"label\", \"trailing\", \"spinner\"] as const,\n defaults: { tone: \"primary\", size: \"medium\", shape: \"rounded\", align: \"center\" } as const,\n tones: {\n primary: { background: \"primary\", content: \"onPrimary\", border: null, paddingHorizontal: null },\n // The outline is a border role, not a text color. Drawing it in `textSub`\n // made a resting control read heavier than the selected one beside it.\n secondary: { background: \"surfaceAlt\", content: \"text\", border: \"borderControl\", paddingHorizontal: null },\n ghost: { background: null, content: \"textMuted\", border: null, paddingHorizontal: null },\n danger: { background: \"dangerFill\", content: \"onDanger\", border: null, paddingHorizontal: null },\n // A link-tone control is inline copy, so the size axis' horizontal padding\n // would push it out of alignment with the text around it.\n link: { background: null, content: \"contentBrand\", border: null, paddingHorizontal: 0 },\n },\n /**\n * Visual treatment for a control that is also a toggle. `accessibilityState`\n * / `aria-pressed` already expressed the state; without a paired visual every\n * consumer painted the selected background in product styles.\n */\n states: {\n selected: { background: \"surfaceAccent\", content: \"contentBrand\", border: \"contentBrand\" },\n },\n sizes: {\n small: {\n height: control.buttonHeight.small,\n hitSlop: control.buttonHitSlop.small,\n paddingHorizontal: spacing.sm,\n textVariant: \"label\",\n },\n medium: {\n height: control.buttonHeight.medium,\n hitSlop: control.buttonHitSlop.medium,\n paddingHorizontal: spacing.md,\n textVariant: \"body\",\n },\n large: {\n height: control.buttonHeight.large,\n hitSlop: control.buttonHitSlop.large,\n paddingHorizontal: spacing.lg,\n textVariant: \"bodyLarge\",\n },\n },\n shapes: { rounded: \"md\", pill: \"full\" },\n aligns: { center: \"center\", leading: \"flex-start\" },\n opacity: { disabled: 0.5, pressed: 0.86 },\n} as const satisfies {\n slots: readonly string[];\n defaults: { tone: ButtonTone; size: ButtonSize; shape: ButtonShape; align: ButtonAlign };\n tones: Record<\n ButtonTone,\n {\n background: keyof ThemeColors | null;\n content: keyof ThemeColors;\n border: keyof ThemeColors | null;\n /** `null` keeps the size axis' padding. */\n paddingHorizontal: number | null;\n }\n >;\n states: {\n selected: {\n background: keyof ThemeColors;\n content: keyof ThemeColors;\n border: keyof ThemeColors;\n };\n };\n sizes: Record<\n ButtonSize,\n {\n height: number;\n hitSlop: number;\n paddingHorizontal: number;\n textVariant: TextVariant;\n }\n >;\n shapes: Record<ButtonShape, keyof typeof radius>;\n aligns: Record<ButtonAlign, \"center\" | \"flex-start\">;\n opacity: { disabled: number; pressed: number };\n};\n\nexport const surfaceRecipe = {\n default: {\n background: \"surface\",\n border: \"border\",\n borderAlpha: 1,\n elevated: false,\n borderAlways: false,\n clipsContent: true,\n },\n raised: {\n background: \"bg\",\n border: \"border\",\n borderAlpha: 1,\n elevated: true,\n borderAlways: false,\n // An elevated surface must not clip: `overflow: hidden` cuts off its own\n // shadow. Every other tone clips so a child image cannot spill past the\n // rounded corner, which consumers were fixing in product styles.\n clipsContent: false,\n },\n // `semanticColors.surface.sunken` already named this role; without a paired\n // tone a consumer had to paint `surfaceAlt` in its own product styles.\n sunken: {\n background: \"surfaceAlt\",\n border: \"border\",\n borderAlpha: 1,\n elevated: false,\n borderAlways: false,\n clipsContent: true,\n },\n accent: {\n background: \"surfaceAccent\",\n border: \"primary\",\n borderAlpha: 0.3,\n elevated: false,\n borderAlways: false,\n clipsContent: true,\n },\n subtle: {\n background: \"bg\",\n border: \"border\",\n borderAlpha: 1,\n elevated: false,\n borderAlways: true,\n clipsContent: true,\n },\n} as const satisfies Record<\n SurfaceTone,\n {\n background: keyof ThemeColors;\n border: keyof ThemeColors;\n borderAlpha: number;\n elevated: boolean;\n clipsContent: boolean;\n borderAlways: boolean;\n }\n>;\n\n/** Text placement inside a field control. */\nexport type FieldAlign = \"start\" | \"center\";\n\nexport const fieldRecipe = {\n slots: [\n \"root\",\n \"label\",\n \"control\",\n \"leading\",\n \"input\",\n \"trailing\",\n \"hint\",\n \"error\",\n ] as const,\n defaults: { variant: \"surface\", shape: \"medium\", align: \"start\" } as const,\n variants: {\n surface: { background: \"surface\" },\n inset: { background: \"bg\" },\n },\n shapes: {\n medium: \"md\",\n large: \"lg\",\n full: \"full\",\n },\n states: {\n idle: { border: \"textMuted\" },\n focused: { border: \"contentBrand\" },\n invalid: { border: \"danger\" },\n },\n minHeight: control.minTouchTarget,\n multilineMinHeight: 80,\n /**\n * Upper bound for a growing multiline field, expressed in visible lines. A\n * consumer otherwise reaches for `inputStyle={{ maxHeight }}`, which moves a\n * recipe-owned dimension into product code. `null` keeps unbounded growth.\n */\n multilineMaxVisibleLines: null as number | null,\n borderWidth: 1,\n focusRingWidth: 2,\n focusRingOffset: 2,\n paddingHorizontal: spacing.md,\n paddingVertical: spacing.sm,\n textVariant: \"body\",\n label: {\n color: \"textBody\",\n textVariant: \"body\",\n fontWeight: fontWeight.semibold,\n gap: spacing.xs,\n },\n support: {\n hintColor: \"textMuted\",\n errorColor: \"danger\",\n textVariant: \"label\",\n gap: 6,\n },\n placeholder: { color: \"textMuted\" },\n disabledOpacity: 0.6,\n} as const satisfies {\n slots: readonly string[];\n defaults: { variant: FieldVariant; shape: FieldShape; align: FieldAlign };\n variants: Record<FieldVariant, { background: keyof ThemeColors }>;\n shapes: Record<FieldShape, keyof typeof radius>;\n states: Record<\n \"idle\" | \"focused\" | \"invalid\",\n { border: keyof ThemeColors }\n >;\n minHeight: number;\n multilineMinHeight: number;\n multilineMaxVisibleLines: number | null;\n borderWidth: number;\n focusRingWidth: number;\n focusRingOffset: number;\n paddingHorizontal: number;\n paddingVertical: number;\n textVariant: keyof typeof typography;\n label: {\n color: keyof ThemeColors;\n textVariant: keyof typeof typography;\n fontWeight: FontWeightValue;\n gap: number;\n };\n support: {\n hintColor: keyof ThemeColors;\n errorColor: keyof ThemeColors;\n textVariant: keyof typeof typography;\n gap: number;\n };\n placeholder: { color: keyof ThemeColors };\n disabledOpacity: number;\n};\n\n/**\n * Renderer-neutral Surface geometry. Tone colors stay in `surfaceRecipe` for\n * compatibility; these axes make the previously implicit Web/Native defaults\n * explicit without changing that public recipe shape.\n */\nexport const surfaceDefaults = {\n tone: \"default\",\n padding: \"none\",\n radius: \"lg\",\n bordered: false,\n} as const satisfies {\n tone: SurfaceTone;\n padding: SurfacePadding;\n radius: SurfaceRadius;\n bordered: boolean;\n};\n\nexport const surfaceGeometry = {\n paddings: { none: 0, ...spacing },\n radii: radius,\n} as const satisfies {\n paddings: Record<SurfacePadding, number>;\n radii: Record<SurfaceRadius, number>;\n};\n"]}
|
package/dist/catalog.d.ts
CHANGED
|
@@ -2130,32 +2130,46 @@ export declare const recipeRegistry: {
|
|
|
2130
2130
|
readonly defaults: {
|
|
2131
2131
|
readonly tone: "primary";
|
|
2132
2132
|
readonly size: "medium";
|
|
2133
|
+
readonly shape: "rounded";
|
|
2134
|
+
readonly align: "center";
|
|
2133
2135
|
};
|
|
2134
2136
|
readonly tones: {
|
|
2135
2137
|
readonly primary: {
|
|
2136
2138
|
readonly background: "primary";
|
|
2137
2139
|
readonly content: "onPrimary";
|
|
2138
2140
|
readonly border: null;
|
|
2141
|
+
readonly paddingHorizontal: null;
|
|
2139
2142
|
};
|
|
2140
2143
|
readonly secondary: {
|
|
2141
2144
|
readonly background: "surfaceAlt";
|
|
2142
2145
|
readonly content: "text";
|
|
2143
|
-
readonly border: "
|
|
2146
|
+
readonly border: "borderControl";
|
|
2147
|
+
readonly paddingHorizontal: null;
|
|
2144
2148
|
};
|
|
2145
2149
|
readonly ghost: {
|
|
2146
2150
|
readonly background: null;
|
|
2147
2151
|
readonly content: "textMuted";
|
|
2148
2152
|
readonly border: null;
|
|
2153
|
+
readonly paddingHorizontal: null;
|
|
2149
2154
|
};
|
|
2150
2155
|
readonly danger: {
|
|
2151
2156
|
readonly background: "dangerFill";
|
|
2152
2157
|
readonly content: "onDanger";
|
|
2153
2158
|
readonly border: null;
|
|
2159
|
+
readonly paddingHorizontal: null;
|
|
2154
2160
|
};
|
|
2155
2161
|
readonly link: {
|
|
2156
2162
|
readonly background: null;
|
|
2157
2163
|
readonly content: "contentBrand";
|
|
2158
2164
|
readonly border: null;
|
|
2165
|
+
readonly paddingHorizontal: 0;
|
|
2166
|
+
};
|
|
2167
|
+
};
|
|
2168
|
+
readonly states: {
|
|
2169
|
+
readonly selected: {
|
|
2170
|
+
readonly background: "surfaceAccent";
|
|
2171
|
+
readonly content: "contentBrand";
|
|
2172
|
+
readonly border: "contentBrand";
|
|
2159
2173
|
};
|
|
2160
2174
|
};
|
|
2161
2175
|
readonly sizes: {
|
|
@@ -2178,6 +2192,14 @@ export declare const recipeRegistry: {
|
|
|
2178
2192
|
readonly textVariant: "bodyLarge";
|
|
2179
2193
|
};
|
|
2180
2194
|
};
|
|
2195
|
+
readonly shapes: {
|
|
2196
|
+
readonly rounded: "md";
|
|
2197
|
+
readonly pill: "full";
|
|
2198
|
+
};
|
|
2199
|
+
readonly aligns: {
|
|
2200
|
+
readonly center: "center";
|
|
2201
|
+
readonly leading: "flex-start";
|
|
2202
|
+
};
|
|
2181
2203
|
readonly opacity: {
|
|
2182
2204
|
readonly disabled: 0.5;
|
|
2183
2205
|
readonly pressed: 0.86;
|
|
@@ -3192,6 +3214,7 @@ export declare const recipeRegistry: {
|
|
|
3192
3214
|
readonly defaults: {
|
|
3193
3215
|
readonly variant: "surface";
|
|
3194
3216
|
readonly shape: "medium";
|
|
3217
|
+
readonly align: "start";
|
|
3195
3218
|
};
|
|
3196
3219
|
readonly variants: {
|
|
3197
3220
|
readonly surface: {
|
|
@@ -3344,7 +3367,7 @@ export declare const recipeRegistry: {
|
|
|
3344
3367
|
}>;
|
|
3345
3368
|
readonly border: Readonly<{
|
|
3346
3369
|
source: "theme";
|
|
3347
|
-
key: "
|
|
3370
|
+
key: "borderControl";
|
|
3348
3371
|
alpha?: number;
|
|
3349
3372
|
}>;
|
|
3350
3373
|
};
|
|
@@ -3587,6 +3610,10 @@ export declare const recipeRegistry: {
|
|
|
3587
3610
|
};
|
|
3588
3611
|
readonly gap: 12;
|
|
3589
3612
|
readonly leadingSize: 40;
|
|
3613
|
+
readonly leadingShapes: {
|
|
3614
|
+
readonly square: null;
|
|
3615
|
+
readonly circle: "full";
|
|
3616
|
+
};
|
|
3590
3617
|
readonly title: {
|
|
3591
3618
|
readonly color: Readonly<{
|
|
3592
3619
|
source: "theme";
|
|
@@ -6310,6 +6337,7 @@ export declare const recipeRegistry: {
|
|
|
6310
6337
|
readonly borderAlpha: 1;
|
|
6311
6338
|
readonly elevated: false;
|
|
6312
6339
|
readonly borderAlways: false;
|
|
6340
|
+
readonly clipsContent: true;
|
|
6313
6341
|
};
|
|
6314
6342
|
readonly raised: {
|
|
6315
6343
|
readonly background: "bg";
|
|
@@ -6317,6 +6345,15 @@ export declare const recipeRegistry: {
|
|
|
6317
6345
|
readonly borderAlpha: 1;
|
|
6318
6346
|
readonly elevated: true;
|
|
6319
6347
|
readonly borderAlways: false;
|
|
6348
|
+
readonly clipsContent: false;
|
|
6349
|
+
};
|
|
6350
|
+
readonly sunken: {
|
|
6351
|
+
readonly background: "surfaceAlt";
|
|
6352
|
+
readonly border: "border";
|
|
6353
|
+
readonly borderAlpha: 1;
|
|
6354
|
+
readonly elevated: false;
|
|
6355
|
+
readonly borderAlways: false;
|
|
6356
|
+
readonly clipsContent: true;
|
|
6320
6357
|
};
|
|
6321
6358
|
readonly accent: {
|
|
6322
6359
|
readonly background: "surfaceAccent";
|
|
@@ -6324,6 +6361,7 @@ export declare const recipeRegistry: {
|
|
|
6324
6361
|
readonly borderAlpha: 0.3;
|
|
6325
6362
|
readonly elevated: false;
|
|
6326
6363
|
readonly borderAlways: false;
|
|
6364
|
+
readonly clipsContent: true;
|
|
6327
6365
|
};
|
|
6328
6366
|
readonly subtle: {
|
|
6329
6367
|
readonly background: "bg";
|
|
@@ -6331,6 +6369,7 @@ export declare const recipeRegistry: {
|
|
|
6331
6369
|
readonly borderAlpha: 1;
|
|
6332
6370
|
readonly elevated: false;
|
|
6333
6371
|
readonly borderAlways: true;
|
|
6372
|
+
readonly clipsContent: true;
|
|
6334
6373
|
};
|
|
6335
6374
|
};
|
|
6336
6375
|
readonly switchRecipe: {
|
package/dist/catalog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2EjB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,cAAc,CAAC"}
|
package/dist/colors.d.ts
CHANGED
|
@@ -12,6 +12,14 @@ export type ThemeColors = {
|
|
|
12
12
|
surfaceAlt: string;
|
|
13
13
|
surfaceAccent: string;
|
|
14
14
|
border: string;
|
|
15
|
+
/**
|
|
16
|
+
* Outline of an interactive control that must read stronger than the shared
|
|
17
|
+
* hairline. Separate from `border` because a resting control needs to be
|
|
18
|
+
* findable while a surface edge should stay quiet, and separate from
|
|
19
|
+
* `textSub` because a text-strength outline makes an unselected control read
|
|
20
|
+
* heavier than the selected one beside it.
|
|
21
|
+
*/
|
|
22
|
+
borderControl: string;
|
|
15
23
|
text: string;
|
|
16
24
|
textBody: string;
|
|
17
25
|
textMuted: string;
|
package/dist/colors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAE/D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAE/D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AA2CF,eAAO,MAAM,MAAM,EAAE,QAAQ,CAC3B,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAC3B,CAAC;AAEpB,qFAAqF;AACrF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAEtE,eAAO,MAAM,OAAO,EAAE,QAAQ,CAC5B,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAc5D,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAK3D,CAAC;AAEF,eAAO,MAAM,YAAY,YAAY,CAAC;AAEtC,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;CAKhB,CAAC;AAEX,eAAO,MAAM,eAAe,YAAY,CAAC;AAEzC,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAc5D"}
|
package/dist/colors.js
CHANGED
|
@@ -7,6 +7,8 @@ const light = {
|
|
|
7
7
|
surfaceAlt: "#e5e8eb",
|
|
8
8
|
surfaceAccent: "#c9e2ff",
|
|
9
9
|
border: "#e5e8eb",
|
|
10
|
+
// Keeps the value the secondary control outline already resolved to.
|
|
11
|
+
borderControl: "#6b7684",
|
|
10
12
|
text: "#191f28",
|
|
11
13
|
textBody: "#333d4b",
|
|
12
14
|
textMuted: "#4e5968",
|
|
@@ -25,6 +27,7 @@ const dark = {
|
|
|
25
27
|
surfaceAlt: "#1e293b",
|
|
26
28
|
surfaceAccent: "#1e3a5f",
|
|
27
29
|
border: "#64748b",
|
|
30
|
+
borderControl: "#94a3b8",
|
|
28
31
|
text: "#f1f5f9",
|
|
29
32
|
textBody: "#e2e8f0",
|
|
30
33
|
textMuted: "#cbd5e1",
|
package/dist/colors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,CAAC;AACrE,CAAC;
|
|
1
|
+
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"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","sourcesContent":["/** A persisted preference is an application concern; this package only defines valid values. */\nexport type ThemePreference = \"system\" | \"light\" | \"dark\";\nexport type ResolvedTheme = Exclude<ThemePreference, \"system\">;\n\nexport function isThemePreference(value: unknown): value is ThemePreference {\n return value === \"system\" || value === \"light\" || value === \"dark\";\n}\n\n/**\n * Product code chooses colors by meaning, never by a raw palette name.\n * Both themes deliberately expose exactly the same keys.\n */\nexport type ThemeColors = {\n bg: string;\n surface: string;\n surfaceAlt: string;\n surfaceAccent: string;\n border: string;\n /**\n * Outline of an interactive control that must read stronger than the shared\n * hairline. Separate from `border` because a resting control needs to be\n * findable while a surface edge should stay quiet, and separate from\n * `textSub` because a text-strength outline makes an unselected control read\n * heavier than the selected one beside it.\n */\n borderControl: string;\n text: string;\n textBody: string;\n textMuted: string;\n textSub: string;\n textWeak: string;\n primary: string;\n contentBrand: string;\n danger: string;\n onPrimary: string;\n dangerFill: string;\n onDanger: string;\n};\n\nconst light = {\n bg: \"#ffffff\",\n surface: \"#f2f4f6\",\n surfaceAlt: \"#e5e8eb\",\n surfaceAccent: \"#c9e2ff\",\n border: \"#e5e8eb\",\n // Keeps the value the secondary control outline already resolved to.\n borderControl: \"#6b7684\",\n text: \"#191f28\",\n textBody: \"#333d4b\",\n textMuted: \"#4e5968\",\n textSub: \"#6b7684\",\n textWeak: \"#8b95a1\",\n primary: \"#0369a1\",\n contentBrand: \"#075985\",\n danger: \"#b71919\",\n onPrimary: \"#ffffff\",\n dangerFill: \"#b91c1c\",\n onDanger: \"#ffffff\",\n} as const satisfies ThemeColors;\n\nconst dark = {\n bg: \"#0b1026\",\n surface: \"#131a36\",\n surfaceAlt: \"#1e293b\",\n surfaceAccent: \"#1e3a5f\",\n border: \"#64748b\",\n borderControl: \"#94a3b8\",\n text: \"#f1f5f9\",\n textBody: \"#e2e8f0\",\n textMuted: \"#cbd5e1\",\n textSub: \"#94a3b8\",\n textWeak: \"#8292a9\",\n primary: \"#075985\",\n contentBrand: \"#38bdf8\",\n danger: \"#f87171\",\n onPrimary: \"#ffffff\",\n dangerFill: \"#b91c1c\",\n onDanger: \"#ffffff\",\n} as const satisfies ThemeColors;\n\nexport const THEMES: Readonly<\n Record<ResolvedTheme, Readonly<ThemeColors>>\n> = { light, dark };\n\n/** Generic emphasis roles. Product-specific meanings are mapped by each consumer. */\nexport type AccentTone = \"info\" | \"success\" | \"warning\" | \"attention\";\n\nexport const ACCENTS: Readonly<\n Record<ResolvedTheme, Readonly<Record<AccentTone, string>>>\n> = {\n light: {\n info: \"#6d28d9\",\n success: \"#065f46\",\n warning: \"#92400e\",\n attention: \"#9a3412\",\n },\n dark: {\n info: \"#a78bfa\",\n success: \"#34d399\",\n warning: \"#fbbf24\",\n attention: \"#fb923c\",\n },\n};\n\n/** Solid emphasis fills always pair with `onAccentFill`. */\nexport const accentFill: Readonly<Record<AccentTone, string>> = {\n info: \"#6d28d9\",\n success: \"#065f46\",\n warning: \"#92400e\",\n attention: \"#9a3412\",\n};\n\nexport const onAccentFill = \"#ffffff\";\n\nexport const accentTint = {\n weak: 0.1,\n base: 0.15,\n strong: 0.2,\n border: 0.3,\n} as const;\n\n/**\n * HJM organization surfaces' default signature. Renderers translate the\n * normalized coordinates. Product identity is owned by each product adapter;\n * consumers must not treat this value as every product's automatic brand.\n */\nexport const brandGradient = {\n from: \"#0369a1\",\n to: \"#155dfc\",\n start: { x: 0, y: 0 },\n end: { x: 1, y: 1 },\n} as const;\n\nexport const onBrandGradient = \"#ffffff\";\n\n/** Add an alpha channel without coupling callers to a CSS or React Native helper. */\nexport function withAlpha(hex: string, alpha: number): string {\n const match = /^#([0-9a-fA-F]{6})$/.exec(hex);\n if (!match) {\n throw new TypeError(\"A six-digit hex color is required\");\n }\n if (!Number.isFinite(alpha) || alpha < 0 || alpha > 1) {\n throw new RangeError(\"Alpha must be a finite number between 0 and 1\");\n }\n\n const source = match[1]!;\n const channels = [0, 2, 4].map((offset) =>\n Number.parseInt(source.slice(offset, offset + 2), 16),\n );\n return `rgba(${channels[0]}, ${channels[1]}, ${channels[2]}, ${alpha})`;\n}\n"]}
|
|
@@ -717,6 +717,8 @@ export declare const listRecipe: {
|
|
|
717
717
|
readonly background: null;
|
|
718
718
|
};
|
|
719
719
|
export type ListRowDensity = "comfortable" | "compact";
|
|
720
|
+
/** Frame geometry the ListRow paints around its leading slot. */
|
|
721
|
+
export type ListRowLeadingShape = "square" | "circle";
|
|
720
722
|
export declare const listRowRecipe: {
|
|
721
723
|
readonly slots: readonly ["root", "leading", "content", "title", "description", "trailing"];
|
|
722
724
|
readonly defaults: {
|
|
@@ -739,6 +741,15 @@ export declare const listRowRecipe: {
|
|
|
739
741
|
};
|
|
740
742
|
readonly gap: 12;
|
|
741
743
|
readonly leadingSize: 40;
|
|
744
|
+
/**
|
|
745
|
+
* Frame geometry for the leading slot. The size was already declared here but
|
|
746
|
+
* no renderer bound it, so every consumer re-derived the avatar box (radius,
|
|
747
|
+
* clipping, centering) in product styles.
|
|
748
|
+
*/
|
|
749
|
+
readonly leadingShapes: {
|
|
750
|
+
readonly square: null;
|
|
751
|
+
readonly circle: "full";
|
|
752
|
+
};
|
|
742
753
|
readonly title: {
|
|
743
754
|
readonly color: Readonly<{
|
|
744
755
|
source: "theme";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-recipes.d.ts","sourceRoot":"","sources":["../src/component-recipes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"component-recipes.d.ts","sourceRoot":"","sources":["../src/component-recipes.ts"],"names":[],"mappings":"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"}
|
|
@@ -341,6 +341,12 @@ export const listRowRecipe = {
|
|
|
341
341
|
},
|
|
342
342
|
gap: spacing.sm,
|
|
343
343
|
leadingSize: 40,
|
|
344
|
+
/**
|
|
345
|
+
* Frame geometry for the leading slot. The size was already declared here but
|
|
346
|
+
* no renderer bound it, so every consumer re-derived the avatar box (radius,
|
|
347
|
+
* clipping, centering) in product styles.
|
|
348
|
+
*/
|
|
349
|
+
leadingShapes: { square: null, circle: "full" },
|
|
344
350
|
title: { color: semanticColors.content.body, textVariant: "bodyLarge", fontWeight: fontWeight.bold },
|
|
345
351
|
description: { color: semanticColors.content.secondary, textVariant: "body" },
|
|
346
352
|
trailing: {
|