@orange-halo/tokens 1.0.0 → 2.1.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/contrast-pairs.json +36 -0
- package/contrast.js +59 -0
- package/dist/brands/hood-dark.css +74 -0
- package/dist/brands/hood-dark.json +719 -0
- package/dist/brands/hood.css +433 -0
- package/dist/brands/hood.json +719 -0
- package/dist/brands/orange-halo-dark.css +78 -0
- package/dist/brands/orange-halo-dark.json +853 -0
- package/dist/brands/orange-halo.css +511 -0
- package/dist/brands/orange-halo.json +853 -0
- package/dist/themes/dark.css +70 -119
- package/dist/themes/dark.json +853 -0
- package/dist/tokens.css +213 -101
- package/dist/tokens.js +212 -82
- package/dist/tokens.json +273 -87
- package/package.json +9 -4
- package/tokens/brands/hood/brand.json +5 -0
- package/tokens/brands/hood/dark.tokens.json +295 -0
- package/tokens/brands/hood/light.tokens.json +875 -0
- package/tokens/brands/hood/palette.tokens.json +130 -0
- package/tokens/brands/orange-halo/brand.json +5 -0
- package/tokens/brands/orange-halo/dark.tokens.json +99 -0
- package/tokens/brands/orange-halo/light.tokens.json +880 -0
- package/tokens/brands/orange-halo/palette.tokens.json +800 -0
- package/tokens/{component.tokens.json → core/component.tokens.json} +89 -41
- package/tokens/core/scales.tokens.json +170 -0
- package/dist/themes/light.css +0 -46
- package/tokens/global.tokens.json +0 -230
- package/tokens/semantic.tokens.json +0 -219
- package/tokens/themes/dark.tokens.json +0 -73
- package/tokens/themes/light.tokens.json +0 -57
package/dist/tokens.js
CHANGED
|
@@ -11,8 +11,8 @@ export const OhColorOrange500 = "#ff9800";
|
|
|
11
11
|
export const OhColorOrange600 = "#fb8c00";
|
|
12
12
|
export const OhColorOrange700 = "#f57c00";
|
|
13
13
|
export const OhColorOrange800 = "#ef6c00";
|
|
14
|
-
export const OhColorOrange900 = "#c54300"; // Primary brand —
|
|
15
|
-
export const OhColorOrange950 = "#9e3500"; // Hover/active
|
|
14
|
+
export const OhColorOrange900 = "#c54300"; // Primary brand — 5.0:1 with white text, 4.7:1 on cream. Chosen for contrast: do not lighten.
|
|
15
|
+
export const OhColorOrange950 = "#9e3500"; // Hover/active — 7.1:1 with white text, 6.6:1 on cream
|
|
16
16
|
export const OhColorHoney50 = "#fefaee";
|
|
17
17
|
export const OhColorHoney100 = "#fdf3d4";
|
|
18
18
|
export const OhColorHoney200 = "#fbe7a8";
|
|
@@ -20,8 +20,9 @@ export const OhColorHoney300 = "#f8d56f";
|
|
|
20
20
|
export const OhColorHoney400 = "#e8a838"; // Signature honey
|
|
21
21
|
export const OhColorHoney500 = "#d4922c";
|
|
22
22
|
export const OhColorHoney600 = "#b87a24";
|
|
23
|
-
export const OhColorHoney700 = "#8c5e1c"; //
|
|
23
|
+
export const OhColorHoney700 = "#8c5e1c"; // 5.3:1 on cream
|
|
24
24
|
export const OhColorHoney800 = "#6b4815";
|
|
25
|
+
export const OhColorHoney900 = "#3d3529"; // Dark theme warning tint
|
|
25
26
|
export const OhColorTerracotta50 = "#fbf5f0";
|
|
26
27
|
export const OhColorTerracotta100 = "#f5e8de";
|
|
27
28
|
export const OhColorTerracotta200 = "#e8cdbf";
|
|
@@ -37,35 +38,49 @@ export const OhColorEucalyptus100 = "#e0ebeb";
|
|
|
37
38
|
export const OhColorEucalyptus200 = "#c2d7d7";
|
|
38
39
|
export const OhColorEucalyptus300 = "#9ebebe";
|
|
39
40
|
export const OhColorEucalyptus400 = "#7aa3a4";
|
|
40
|
-
export const OhColorEucalyptus500 = "#5f8a8b"; //
|
|
41
|
+
export const OhColorEucalyptus500 = "#5f8a8b"; // 3.6:1 on cream — UI and large text only
|
|
41
42
|
export const OhColorEucalyptus600 = "#4d7172";
|
|
42
|
-
export const OhColorEucalyptus700 = "#3f5c5d"; //
|
|
43
|
+
export const OhColorEucalyptus700 = "#3f5c5d"; // 6.8:1 on cream
|
|
43
44
|
export const OhColorEucalyptus800 = "#344a4b";
|
|
44
45
|
export const OhColorEucalyptus900 = "#2a3c3d";
|
|
45
46
|
export const OhColorWarmCream = "#faf7f2"; // Base background — warm off-white
|
|
46
47
|
export const OhColorWarmLinen = "#f5f0e8"; // Raised surface
|
|
48
|
+
export const OhColorWarmDawn = "#fffbf5"; // Sunlit gradient — top
|
|
49
|
+
export const OhColorWarmShell = "#fdf6ee"; // Sunlit gradient — middle
|
|
50
|
+
export const OhColorWarmBiscuit = "#f8efe4"; // Sunlit gradient — bottom
|
|
47
51
|
export const OhColorWarmParchment = "#ede8df"; // Inset surface
|
|
48
52
|
export const OhColorWarmSand = "#e2dcd2"; // Borders, dividers
|
|
49
|
-
export const OhColorWarmDune = "#c9c1b4"; //
|
|
50
|
-
export const
|
|
51
|
-
export const
|
|
52
|
-
export const
|
|
53
|
+
export const OhColorWarmDune = "#c9c1b4"; // Decorative only — 1.7:1 on cream, never for control borders
|
|
54
|
+
export const OhColorWarmStone = "#a09080"; // Dark theme control borders — 4.9:1 on cocoa
|
|
55
|
+
export const OhColorWarmTaupe = "#8a7a68"; // Dark theme borders — 3.7:1 on cocoa, 3.0:1 on walnut
|
|
56
|
+
export const OhColorWarmDriftwood = "#6b5d4d"; // Secondary text — 6.0:1 on cream
|
|
57
|
+
export const OhColorWarmBark = "#52463a"; // Emphasis text — 8.6:1 on cream
|
|
58
|
+
export const OhColorWarmHickory = "#4a3f33"; // Dark theme hover and highlight surface
|
|
59
|
+
export const OhColorWarmChestnut = "#44382c"; // Dark theme sunlit surface
|
|
60
|
+
export const OhColorWarmWalnut = "#3d3229"; // Primary text — 11.7:1 on cream. Dark theme raised surface
|
|
61
|
+
export const OhColorWarmMocha = "#352e28"; // Dark theme pressed and disabled surface
|
|
62
|
+
export const OhColorWarmCocoa = "#2a2420"; // Dark theme page background
|
|
63
|
+
export const OhColorWarmEspresso = "#1f1a17"; // Dark theme inset surface
|
|
53
64
|
export const OhColorGreen50 = "#f0f7f1";
|
|
54
65
|
export const OhColorGreen100 = "#d9edd9";
|
|
66
|
+
export const OhColorGreen300 = "#7ab87c"; // Dark theme success — 6.5:1 with cocoa text
|
|
55
67
|
export const OhColorGreen500 = "#5a9a5c";
|
|
56
|
-
export const OhColorGreen600 = "#4a8a4c"; //
|
|
57
|
-
export const OhColorGreen700 = "#3d7340";
|
|
68
|
+
export const OhColorGreen600 = "#4a8a4c"; // 3.9:1 on cream — icons and UI only, not text
|
|
69
|
+
export const OhColorGreen700 = "#3d7340"; // Success text — 5.3:1 on cream, 5.2:1 on green.50
|
|
70
|
+
export const OhColorGreen900 = "#2a3629"; // Dark theme success tint
|
|
58
71
|
export const OhColorRed50 = "#fdf4f3";
|
|
59
72
|
export const OhColorRed100 = "#f9e0dc";
|
|
73
|
+
export const OhColorRed300 = "#e08f8d"; // Dark theme error — 6.2:1 with cocoa text
|
|
60
74
|
export const OhColorRed500 = "#c75450";
|
|
61
|
-
export const OhColorRed600 = "#b54540"; //
|
|
75
|
+
export const OhColorRed600 = "#b54540"; // 5.1:1 on cream
|
|
62
76
|
export const OhColorRed700 = "#943836"; // Hover/active state
|
|
77
|
+
export const OhColorRed900 = "#3d2a29"; // Dark theme error tint
|
|
63
78
|
export const OhColorBlue50 = "#eef4f9";
|
|
64
79
|
export const OhColorBlue100 = "#d6e4f0";
|
|
65
80
|
export const OhColorBlue200 = "#a0b4c8";
|
|
66
81
|
export const OhColorBlue300 = "#7a9ab8";
|
|
67
82
|
export const OhColorBlue400 = "#5a82a8";
|
|
68
|
-
export const OhColorBlue500 = "#3d5a80"; // Signature
|
|
83
|
+
export const OhColorBlue500 = "#3d5a80"; // Signature accent — 7.1:1 with white text, 6.6:1 on cream
|
|
69
84
|
export const OhColorBlue600 = "#354f70"; // Hover state
|
|
70
85
|
export const OhColorBlue700 = "#2e4460"; // Active state
|
|
71
86
|
export const OhColorBlue800 = "#253850";
|
|
@@ -74,55 +89,60 @@ export const OhColorBrandPrimary = "#c54300"; // Primary brand action — WCAG A
|
|
|
74
89
|
export const OhColorBrandPrimaryHover = "#9e3500"; // Hover state
|
|
75
90
|
export const OhColorBrandPrimaryActive = "#9e3500"; // Active/pressed state
|
|
76
91
|
export const OhColorBrandPrimarySubtle = "#fff3e0"; // Subtle tint
|
|
77
|
-
export const OhColorBrandPrimaryMuted = "#ffe0b2"; // Background tint
|
|
78
92
|
export const OhColorBrandHighlight = "#e8a838"; // Golden accent
|
|
79
93
|
export const OhColorBrandHighlightSubtle = "#fdf3d4";
|
|
80
94
|
export const OhColorAccentDefault = "#3d5a80"; // Signature blue accent
|
|
81
95
|
export const OhColorAccentHover = "#354f70";
|
|
82
96
|
export const OhColorAccentActive = "#2e4460";
|
|
83
97
|
export const OhColorAccentSubtle = "#eef4f9";
|
|
84
|
-
export const OhColorAccentMuted = "#d6e4f0";
|
|
85
98
|
export const OhColorAccentShadow = "#a0b4c8"; // Chunky shadow for accent
|
|
86
|
-
export const OhColorFeedbackSuccess = "#
|
|
99
|
+
export const OhColorFeedbackSuccess = "#3d7340"; // 5.2:1 on successSubtle — green.600 failed AA for text
|
|
87
100
|
export const OhColorFeedbackSuccessSubtle = "#f0f7f1";
|
|
88
|
-
export const OhColorFeedbackSuccessMuted = "#d9edd9";
|
|
89
101
|
export const OhColorFeedbackError = "#b54540";
|
|
90
102
|
export const OhColorFeedbackErrorHover = "#943836"; // Error hover/active state
|
|
91
103
|
export const OhColorFeedbackErrorSubtle = "#fdf4f3";
|
|
92
|
-
export const OhColorFeedbackErrorMuted = "#f9e0dc";
|
|
93
104
|
export const OhColorFeedbackErrorShadow = "#b545404d"; // Error shadow color
|
|
94
105
|
export const OhColorFeedbackWarning = "#8c5e1c";
|
|
95
106
|
export const OhColorFeedbackWarningSubtle = "#fefaee";
|
|
96
|
-
export const OhColorFeedbackWarningMuted = "#fdf3d4";
|
|
97
107
|
export const OhColorFeedbackInfo = "#3d5a80";
|
|
98
108
|
export const OhColorFeedbackInfoSubtle = "#eef4f9";
|
|
99
|
-
export const OhColorFeedbackInfoMuted = "#d6e4f0";
|
|
100
109
|
export const OhColorSurfaceBase = "#faf7f2"; // Page background — warm off-white
|
|
101
110
|
export const OhColorSurfaceRaised = "#f5f0e8"; // Cards, panels — slight lift
|
|
102
111
|
export const OhColorSurfaceSunlit = "#faf7f2"; // Featured — use with gradient
|
|
103
112
|
export const OhColorSurfaceInset = "#ede8df"; // Inputs, wells — pressed in
|
|
104
|
-
export const
|
|
113
|
+
export const OhColorSurfaceHighlight = "#ffffff"; // Brightest surface — focused inputs, top of raised gradients
|
|
105
114
|
export const OhColorSurfaceOverlay = "#3d322966"; // Modal backdrop — warm
|
|
106
115
|
export const OhColorSurfaceDisabled = "#e2dcd2"; // Quiet disabled
|
|
107
116
|
export const OhColorSurfaceHover = "#fff4e6"; // Warm hover tint
|
|
108
117
|
export const OhColorSurfaceActivePressed = "#f0ebe3"; // Active/pressed surface
|
|
118
|
+
export const OhColorSurfaceFeaturedStart = "#fffbf5"; // Featured (sunlit) card gradient: top
|
|
119
|
+
export const OhColorSurfaceFeaturedMid = "#fdf6ee"; // Featured (sunlit) card gradient: 30%
|
|
120
|
+
export const OhColorSurfaceFeaturedEnd = "#f8efe4"; // Featured (sunlit) card gradient: bottom
|
|
121
|
+
export const OhColorSurfaceSheen = "#ffffff80"; // Light glaze at the top of card headers, fading to transparent
|
|
122
|
+
export const OhColorSurfaceBackdrop = "#3d322999"; // Modal backdrop — darker than surface.overlay so the dialog stands out
|
|
109
123
|
export const OhColorBorderDefault = "#e2dcd2"; // Standard border
|
|
110
124
|
export const OhColorBorderSubtle = "#ede8df"; // Subtle dividers
|
|
111
125
|
export const OhColorBorderEmphasis = "#6b5d4d"; // Strong border for form elements
|
|
126
|
+
export const OhColorBorderStrong = "#c9c1b4"; // Neutral edge between default and emphasis — card hover, drawer edge. Decorative, not a 3:1 control border
|
|
112
127
|
export const OhColorBorderHover = "#8b4726"; // Hover border — darker for feedback
|
|
113
|
-
export const OhColorBorderFocus = "#c54300"; // Focus ring — warm orange
|
|
114
|
-
export const OhColorBorderFocusInner = "#c54300"; // Inner focus ring
|
|
115
128
|
export const OhColorBorderDisabled = "#ede8df";
|
|
116
129
|
export const OhColorBorderBrand = "#c5430040"; // Brand-tinted border
|
|
130
|
+
export const OhColorBorderBrandHover = "#c5430059"; // Brand-tinted border on hover. Decorative container edge — not a focus or control border
|
|
131
|
+
export const OhColorBorderDivider = "#e2d5c899"; // Decorative divider inside a container, such as a card's header and footer
|
|
117
132
|
export const OhColorTextPrimary = "#3d3229"; // Primary text — warm brown
|
|
118
133
|
export const OhColorTextSecondary = "#6b5d4d"; // Secondary text
|
|
119
134
|
export const OhColorTextDisabled = "#c9c1b4"; // Disabled text
|
|
120
135
|
export const OhColorTextInverse = "#faf7f2"; // On dark backgrounds
|
|
121
136
|
export const OhColorTextLink = "#c54300"; // Link text
|
|
122
137
|
export const OhColorTextLinkHover = "#9e3500"; // Link hover
|
|
138
|
+
export const OhColorTextLinkRaised = "#9e3500"; // Links on raised (linen) surfaces — text.link is only 4.4:1 on linen
|
|
123
139
|
export const OhColorTextBrand = "#c54300";
|
|
124
140
|
export const OhColorTextOnBrand = "#ffffff"; // Light text on dark brand bg
|
|
125
141
|
export const OhColorTextOnAccent = "#ffffff"; // Light text on dark accent bg
|
|
142
|
+
export const OhColorTextOnSuccess = "#ffffff"; // Text on filled color.feedback.success
|
|
143
|
+
export const OhColorTextOnError = "#ffffff"; // Text on filled color.feedback.error
|
|
144
|
+
export const OhColorTextOnWarning = "#ffffff"; // Text on filled color.feedback.warning
|
|
145
|
+
export const OhColorTextOnInfo = "#ffffff"; // Text on filled color.feedback.info
|
|
126
146
|
export const OhFontFamilySans =
|
|
127
147
|
"'Bricolage Grotesque', 'General Sans', -apple-system, BlinkMacSystemFont, sans-serif";
|
|
128
148
|
export const OhFontFamilyDisplay =
|
|
@@ -153,33 +173,7 @@ export const OhFontLetterSpacingTight = "-0.01em";
|
|
|
153
173
|
export const OhFontLetterSpacingNormal = "0";
|
|
154
174
|
export const OhFontLetterSpacingWide = "0.01em";
|
|
155
175
|
export const OhFontLetterSpacingWider = "0.02em";
|
|
156
|
-
export const
|
|
157
|
-
export const OhSpacing1 = "0.25rem"; // 4px
|
|
158
|
-
export const OhSpacing2 = "0.5rem"; // 8px
|
|
159
|
-
export const OhSpacing3 = "0.75rem"; // 12px
|
|
160
|
-
export const OhSpacing4 = "1rem"; // 16px
|
|
161
|
-
export const OhSpacing5 = "1.25rem"; // 20px
|
|
162
|
-
export const OhSpacing6 = "1.5rem"; // 24px
|
|
163
|
-
export const OhSpacing7 = "1.75rem"; // 28px
|
|
164
|
-
export const OhSpacing8 = "2rem"; // 32px
|
|
165
|
-
export const OhSpacing10 = "2.5rem"; // 40px
|
|
166
|
-
export const OhSpacing12 = "3rem"; // 48px
|
|
167
|
-
export const OhSpacing16 = "4rem"; // 64px
|
|
168
|
-
export const OhSpacing20 = "5rem"; // 80px
|
|
169
|
-
export const OhSpacingPx = "1px";
|
|
170
|
-
export const OhSpacing05 = "0.125rem"; // 2px
|
|
171
|
-
export const OhSpacing15 = "0.375rem"; // 6px
|
|
172
|
-
export const OhSpacing25 = "0.625rem"; // 10px
|
|
173
|
-
export const OhSpacing35 = "0.875rem"; // 14px
|
|
174
|
-
export const OhSpacingLayoutPage = "1.5rem";
|
|
175
|
-
export const OhSpacingLayoutSection = "3rem";
|
|
176
|
-
export const OhSpacingLayoutStack = "1.25rem";
|
|
177
|
-
export const OhSpacingLayoutInline = "1rem";
|
|
178
|
-
export const OhSpacingComponentXs = "0.375rem";
|
|
179
|
-
export const OhSpacingComponentSm = "0.625rem";
|
|
180
|
-
export const OhSpacingComponentMd = "0.875rem";
|
|
181
|
-
export const OhSpacingComponentLg = "1.25rem";
|
|
182
|
-
export const OhSpacingComponentXl = "1.75rem";
|
|
176
|
+
export const OhFontLetterSpacingWidest = "0.05em"; // Uppercase labels: hero eyebrows, footer headings
|
|
183
177
|
export const OhRadiusNone = "0";
|
|
184
178
|
export const OhRadiusXs = "4px"; // Small details, chips
|
|
185
179
|
export const OhRadiusSm = "6px"; // Buttons, inputs
|
|
@@ -199,14 +193,38 @@ export const OhShadowGlow =
|
|
|
199
193
|
export const OhShadowInset = "inset 0 1px 3px rgba(61, 50, 41, 0.08)"; // Inputs, wells
|
|
200
194
|
export const OhShadowChunkyPrimary = "#e8c4a0"; // Warm peach for primary buttons
|
|
201
195
|
export const OhShadowChunkySecondary = "#d4c4b0"; // Neutral tan for secondary/form elements
|
|
202
|
-
export const OhShadowChunkyAccent = "#a0b4c8"; //
|
|
196
|
+
export const OhShadowChunkyAccent = "#a0b4c8"; // Blue offset shadow for accent buttons — decorative
|
|
203
197
|
export const OhShadowChunkyError = "#b545404d"; // Error state shadow
|
|
198
|
+
export const OhShadowChunkyDriftwood = "#6b5d4d26"; // Translucent driftwood, for offset shadows on cream
|
|
199
|
+
export const OhShadowChunkyDriftwoodHover = "#6b5d4d33"; // A step darker, for the lifted state
|
|
200
|
+
export const OhShadowChunkyDriftwoodDeep = "#6b5d4d40"; // For dialogs, which sit above everything
|
|
201
|
+
export const OhShadowChunkyWalnut = "#3d322926"; // Translucent walnut, for the inset shadow inside fields
|
|
202
|
+
export const OhShadowLayeredFlat =
|
|
203
|
+
"0 1px 2px rgba(61, 50, 41, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.6)";
|
|
204
|
+
export const OhShadowLayeredRaised =
|
|
205
|
+
"0 2px 6px rgba(61, 50, 41, 0.08), 0 6px 16px rgba(61, 50, 41, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.8)";
|
|
206
|
+
export const OhShadowLayeredLifted =
|
|
207
|
+
"0 4px 12px rgba(61, 50, 41, 0.1), 0 12px 28px rgba(61, 50, 41, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9)";
|
|
208
|
+
export const OhShadowLayeredPressed =
|
|
209
|
+
"0 1px 3px rgba(61, 50, 41, 0.1), 0 3px 8px rgba(61, 50, 41, 0.06), inset 0 1px 2px rgba(61, 50, 41, 0.04)";
|
|
210
|
+
export const OhShadowLayeredFocused =
|
|
211
|
+
"0 2px 6px rgba(61, 50, 41, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.8)"; // Sits under the focus glow
|
|
212
|
+
export const OhShadowLayeredSunlit =
|
|
213
|
+
"0 2px 8px rgba(139, 69, 19, 0.08), 0 8px 24px rgba(139, 69, 19, 0.06), 0 0 20px rgba(197, 67, 0, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.9)";
|
|
214
|
+
export const OhShadowLayeredSunlitLifted =
|
|
215
|
+
"0 4px 12px rgba(139, 69, 19, 0.12), 0 12px 32px rgba(139, 69, 19, 0.08), 0 0 28px rgba(197, 67, 0, 0.06), inset 0 1px 0 rgba(255, 255, 255, 1)";
|
|
216
|
+
export const OhShadowLayeredSunlitFocused =
|
|
217
|
+
"0 2px 8px rgba(139, 69, 19, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9)"; // Sits under the focus glow
|
|
204
218
|
export const OhShadowPrimary = "#e8c4a0"; // Primary buttons
|
|
205
219
|
export const OhShadowSecondary = "#d4c4b0"; // Secondary/form elements
|
|
206
220
|
export const OhShadowAccent = "#a0b4c8"; // Accent buttons
|
|
207
221
|
export const OhShadowError = "#b545404d"; // Error state
|
|
222
|
+
export const OhShadowNeutral = "#6b5d4d26"; // Containers and the skip link
|
|
223
|
+
export const OhShadowNeutralHover = "#6b5d4d33"; // Lifted containers
|
|
224
|
+
export const OhShadowOverlay = "#6b5d4d40"; // Dialogs
|
|
225
|
+
export const OhShadowField = "#3d322926"; // The inset shadow inside text fields
|
|
208
226
|
export const OhGradientSunlit =
|
|
209
|
-
"linear-gradient(180deg, #
|
|
227
|
+
"linear-gradient(180deg, #fffbf5 0%, #fdf6ee 30%, #f8efe4 100%)"; // Gentle warmth for surfaces — same stops as the sunlit card
|
|
210
228
|
export const OhGradientWarm =
|
|
211
229
|
"linear-gradient(135deg, #C54300 0%, #FF9800 100%)"; // Brand emphasis
|
|
212
230
|
export const OhGradientNostalgic =
|
|
@@ -231,6 +249,42 @@ export const OhMotionEasePlayful = [0.34, 1.3, 0.64, 1];
|
|
|
231
249
|
export const OhBorderWidth0 = "0";
|
|
232
250
|
export const OhBorderWidth1 = "1px";
|
|
233
251
|
export const OhBorderWidth2 = "2px";
|
|
252
|
+
export const OhBorderWidthChunky = "2.5px"; // Signature chunky frame for controls and feedback
|
|
253
|
+
export const OhSpacing0 = "0";
|
|
254
|
+
export const OhSpacing1 = "0.25rem"; // 4px
|
|
255
|
+
export const OhSpacing2 = "0.5rem"; // 8px
|
|
256
|
+
export const OhSpacing3 = "0.75rem"; // 12px
|
|
257
|
+
export const OhSpacing4 = "1rem"; // 16px
|
|
258
|
+
export const OhSpacing5 = "1.25rem"; // 20px
|
|
259
|
+
export const OhSpacing6 = "1.5rem"; // 24px
|
|
260
|
+
export const OhSpacing7 = "1.75rem"; // 28px
|
|
261
|
+
export const OhSpacing8 = "2rem"; // 32px
|
|
262
|
+
export const OhSpacing10 = "2.5rem"; // 40px
|
|
263
|
+
export const OhSpacing12 = "3rem"; // 48px
|
|
264
|
+
export const OhSpacing16 = "4rem"; // 64px
|
|
265
|
+
export const OhSpacing20 = "5rem"; // 80px
|
|
266
|
+
export const OhSpacingPx = "1px";
|
|
267
|
+
export const OhSpacing05 = "0.125rem"; // 2px
|
|
268
|
+
export const OhSpacing15 = "0.375rem"; // 6px
|
|
269
|
+
export const OhSpacing25 = "0.625rem"; // 10px
|
|
270
|
+
export const OhSpacing35 = "0.875rem"; // 14px
|
|
271
|
+
export const OhSpacingLayoutPage = "1.5rem";
|
|
272
|
+
export const OhSpacingLayoutSection = "3rem";
|
|
273
|
+
export const OhSpacingLayoutStack = "1.25rem";
|
|
274
|
+
export const OhSpacingLayoutInline = "1rem";
|
|
275
|
+
export const OhSpacingComponentXs = "0.375rem";
|
|
276
|
+
export const OhSpacingComponentSm = "0.625rem";
|
|
277
|
+
export const OhSpacingComponentMd = "0.875rem";
|
|
278
|
+
export const OhSpacingComponentLg = "1.25rem";
|
|
279
|
+
export const OhSpacingComponentXl = "1.75rem";
|
|
280
|
+
export const OhSizeContainerSm = "640px";
|
|
281
|
+
export const OhSizeContainerMd = "768px";
|
|
282
|
+
export const OhSizeContainerLg = "1024px";
|
|
283
|
+
export const OhSizeContainerXl = "1280px";
|
|
284
|
+
export const OhSizeBreakpointXs = "480px";
|
|
285
|
+
export const OhSizeBreakpointSm = "640px";
|
|
286
|
+
export const OhSizeBreakpointMd = "768px";
|
|
287
|
+
export const OhSizeBreakpointLg = "1024px";
|
|
234
288
|
export const OhZIndex0 = 0;
|
|
235
289
|
export const OhZIndex10 = 10;
|
|
236
290
|
export const OhZIndex20 = 20;
|
|
@@ -246,7 +300,7 @@ export const OhTypographyHeadingH1FontWeight = "700";
|
|
|
246
300
|
export const OhTypographyHeadingH1LineHeight = 1.25;
|
|
247
301
|
export const OhTypographyHeadingH1LetterSpacing = "-0.02em";
|
|
248
302
|
export const OhTypographyHeadingH2FontSize = "2rem";
|
|
249
|
-
export const OhTypographyHeadingH2FontWeight = "
|
|
303
|
+
export const OhTypographyHeadingH2FontWeight = "700";
|
|
250
304
|
export const OhTypographyHeadingH2LineHeight = 1.25;
|
|
251
305
|
export const OhTypographyHeadingH2LetterSpacing = "-0.01em";
|
|
252
306
|
export const OhTypographyHeadingH3FontSize = "1.625rem";
|
|
@@ -254,7 +308,7 @@ export const OhTypographyHeadingH3FontWeight = "600";
|
|
|
254
308
|
export const OhTypographyHeadingH3LineHeight = 1.35;
|
|
255
309
|
export const OhTypographyHeadingH3LetterSpacing = "-0.01em";
|
|
256
310
|
export const OhTypographyHeadingH4FontSize = "1.25rem";
|
|
257
|
-
export const OhTypographyHeadingH4FontWeight = "
|
|
311
|
+
export const OhTypographyHeadingH4FontWeight = "600";
|
|
258
312
|
export const OhTypographyHeadingH4LineHeight = 1.35;
|
|
259
313
|
export const OhTypographyHeadingH4LetterSpacing = "0";
|
|
260
314
|
export const OhTypographyHeadingH5FontSize = "1.125rem";
|
|
@@ -265,6 +319,9 @@ export const OhTypographyHeadingH6FontWeight = "500";
|
|
|
265
319
|
export const OhTypographyHeadingH6LineHeight = 1.5;
|
|
266
320
|
export const OhTypographyBodyFontFamily =
|
|
267
321
|
"'Bricolage Grotesque', 'General Sans', -apple-system, BlinkMacSystemFont, sans-serif";
|
|
322
|
+
export const OhTypographyBodyXlFontSize = "1.25rem";
|
|
323
|
+
export const OhTypographyBodyXlFontWeight = "400";
|
|
324
|
+
export const OhTypographyBodyXlLineHeight = 1.5;
|
|
268
325
|
export const OhTypographyBodyLgFontSize = "1.125rem";
|
|
269
326
|
export const OhTypographyBodyLgFontWeight = "400";
|
|
270
327
|
export const OhTypographyBodyLgLineHeight = 1.65;
|
|
@@ -289,15 +346,33 @@ export const OhTypographyLabelSmFontSize = "0.75rem";
|
|
|
289
346
|
export const OhTypographyLabelSmFontWeight = "500";
|
|
290
347
|
export const OhTypographyLabelSmLineHeight = 1.5; // 1.5 for WCAG 1.4.12
|
|
291
348
|
export const OhTypographyLabelSmLetterSpacing = "0.01em";
|
|
349
|
+
export const OhTypographyEyebrowFontFamily =
|
|
350
|
+
"'Bricolage Grotesque', 'General Sans', -apple-system, BlinkMacSystemFont, sans-serif";
|
|
351
|
+
export const OhTypographyEyebrowFontSize = "1rem";
|
|
352
|
+
export const OhTypographyEyebrowFontWeight = "500";
|
|
353
|
+
export const OhTypographyEyebrowLetterSpacing = "0.05em";
|
|
354
|
+
export const OhTypographyControlFontFamily =
|
|
355
|
+
"'Bricolage Grotesque', 'General Sans', -apple-system, BlinkMacSystemFont, sans-serif";
|
|
356
|
+
export const OhTypographyControlFontWeight = "600";
|
|
357
|
+
export const OhTypographyControlLetterSpacing = "0.01em";
|
|
358
|
+
export const OhTypographyControlFontSizeSm = "1rem"; // Small buttons, field labels
|
|
359
|
+
export const OhTypographyControlFontSizeMd = "1.125rem"; // Default: input text, choices, buttons
|
|
360
|
+
export const OhTypographyControlFontSizeLg = "1.25rem"; // Large buttons
|
|
361
|
+
export const OhTypographyEmphasisFontWeight = "600";
|
|
292
362
|
export const OhTypographyCodeFontFamily =
|
|
293
363
|
"'JetBrains Mono', 'Fira Code', ui-monospace, monospace";
|
|
294
364
|
export const OhTypographyCodeFontSize = "0.875rem";
|
|
295
365
|
export const OhTypographyCodeLineHeight = 1.5;
|
|
296
|
-
export const
|
|
297
|
-
export const
|
|
298
|
-
export const
|
|
299
|
-
export const
|
|
300
|
-
export const
|
|
366
|
+
export const OhLayoutContainerSm = "640px";
|
|
367
|
+
export const OhLayoutContainerMd = "768px";
|
|
368
|
+
export const OhLayoutContainerLg = "1024px";
|
|
369
|
+
export const OhLayoutContainerXl = "1280px";
|
|
370
|
+
export const OhShapeControl = "10px"; // Buttons, inputs, selects, tabs
|
|
371
|
+
export const OhShapeContainer = "10px"; // Alerts, modals, dropdowns, accordion items, panels
|
|
372
|
+
export const OhShapeLarge = "14px"; // Cards
|
|
373
|
+
export const OhShapeCompact = "6px"; // Small controls and tags: close buttons, checkboxes, badges, code blocks
|
|
374
|
+
export const OhShapeTight = "4px"; // Focus outlines on text links, inline code
|
|
375
|
+
export const OhShapePill = "9999px"; // Pills, radios, toggles, progress bars
|
|
301
376
|
export const OhElevationNone = "none";
|
|
302
377
|
export const OhElevationSoft =
|
|
303
378
|
"0 2px 8px rgba(61, 50, 41, 0.06), 0 1px 3px rgba(61, 50, 41, 0.08)"; // Cards, raised elements
|
|
@@ -308,31 +383,65 @@ export const OhElevationStrong =
|
|
|
308
383
|
export const OhElevationGlow =
|
|
309
384
|
"0 0 0 3px rgba(197, 67, 0, 0.2), 0 0 12px rgba(197, 67, 0, 0.1)"; // Focus ring
|
|
310
385
|
export const OhElevationInset = "inset 0 1px 3px rgba(61, 50, 41, 0.08)"; // Inputs, wells
|
|
386
|
+
export const OhElevationSurfaceFlat =
|
|
387
|
+
"0 1px 2px rgba(61, 50, 41, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.6)";
|
|
388
|
+
export const OhElevationSurfaceRaised =
|
|
389
|
+
"0 2px 6px rgba(61, 50, 41, 0.08), 0 6px 16px rgba(61, 50, 41, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.8)";
|
|
390
|
+
export const OhElevationSurfaceLifted =
|
|
391
|
+
"0 4px 12px rgba(61, 50, 41, 0.1), 0 12px 28px rgba(61, 50, 41, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9)"; // Hovered
|
|
392
|
+
export const OhElevationSurfacePressed =
|
|
393
|
+
"0 1px 3px rgba(61, 50, 41, 0.1), 0 3px 8px rgba(61, 50, 41, 0.06), inset 0 1px 2px rgba(61, 50, 41, 0.04)";
|
|
394
|
+
export const OhElevationSurfaceFocused =
|
|
395
|
+
"0 2px 6px rgba(61, 50, 41, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.8)"; // Sits under the focus glow
|
|
396
|
+
export const OhElevationSurfaceFeatured =
|
|
397
|
+
"0 2px 8px rgba(139, 69, 19, 0.08), 0 8px 24px rgba(139, 69, 19, 0.06), 0 0 20px rgba(197, 67, 0, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.9)";
|
|
398
|
+
export const OhElevationSurfaceFeaturedLifted =
|
|
399
|
+
"0 4px 12px rgba(139, 69, 19, 0.12), 0 12px 32px rgba(139, 69, 19, 0.08), 0 0 28px rgba(197, 67, 0, 0.06), inset 0 1px 0 rgba(255, 255, 255, 1)";
|
|
400
|
+
export const OhElevationSurfaceFeaturedFocused =
|
|
401
|
+
"0 2px 8px rgba(139, 69, 19, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9)";
|
|
402
|
+
export const OhElevationOffsetXs = "1px";
|
|
403
|
+
export const OhElevationOffsetSm = "2px";
|
|
404
|
+
export const OhElevationOffsetMd = "3px";
|
|
405
|
+
export const OhElevationOffsetLg = "4px";
|
|
406
|
+
export const OhElevationOffsetXl = "5px";
|
|
407
|
+
export const OhElevationOffset2xl = "6px";
|
|
408
|
+
export const OhLiftHoverSm = "-1px";
|
|
409
|
+
export const OhLiftHoverMd = "-2px";
|
|
410
|
+
export const OhLiftPressSm = "1px";
|
|
411
|
+
export const OhLiftPressMd = "2px";
|
|
412
|
+
export const OhStrokeControl = "2.5px"; // Controls and framed containers: buttons, fields, checkboxes, alerts, dialogs
|
|
413
|
+
export const OhStrokeSurface = "1px"; // Card edges
|
|
414
|
+
export const OhStrokeDivider = "1px"; // Lines between sections
|
|
415
|
+
export const OhDecorationUnderlineThickness = "2px";
|
|
416
|
+
export const OhDecorationUnderlineFocusThickness = "3px"; // The solid underline that shows keyboard focus on inline links
|
|
417
|
+
export const OhDecorationUnderlineDash = "4px";
|
|
418
|
+
export const OhDecorationUnderlinePeriod = "8px";
|
|
311
419
|
export const OhFocusRingWidth = "3px";
|
|
312
|
-
export const
|
|
313
|
-
export const
|
|
420
|
+
export const OhFocusRingOffset = "2px";
|
|
421
|
+
export const OhFocusRingColor = "#c54300"; // The focus colour: outlines, focused control borders. Must stay opaque (4.7:1 on cream, WCAG 1.4.11)
|
|
422
|
+
export const OhFocusGlowColor = "#c5430026"; // Decorative glow only — never the sole focus indicator
|
|
314
423
|
export const OhButtonBaseFontFamily =
|
|
315
424
|
"'Bricolage Grotesque', 'General Sans', -apple-system, BlinkMacSystemFont, sans-serif";
|
|
316
|
-
export const OhButtonBaseFontWeight = "
|
|
425
|
+
export const OhButtonBaseFontWeight = "600";
|
|
317
426
|
export const OhButtonBaseLetterSpacing = "0.01em";
|
|
318
427
|
export const OhButtonBaseBorderRadius = "10px";
|
|
319
428
|
export const OhButtonBaseBorderWidth = "2.5px";
|
|
320
429
|
export const OhButtonBaseTransitionDuration = "150ms";
|
|
321
430
|
export const OhButtonBaseTransitionEasing = [0.34, 1.3, 0.64, 1];
|
|
322
|
-
export const OhButtonSizeSmFontSize = "
|
|
323
|
-
export const OhButtonSizeSmPaddingX = "
|
|
431
|
+
export const OhButtonSizeSmFontSize = "1rem";
|
|
432
|
+
export const OhButtonSizeSmPaddingX = "1rem";
|
|
324
433
|
export const OhButtonSizeSmPaddingY = "0.5rem";
|
|
325
|
-
export const OhButtonSizeSmMinHeight = "
|
|
326
|
-
export const OhButtonSizeSmGap = "0.
|
|
327
|
-
export const OhButtonSizeMdFontSize = "
|
|
328
|
-
export const OhButtonSizeMdPaddingX = "
|
|
329
|
-
export const OhButtonSizeMdPaddingY = "0.
|
|
330
|
-
export const OhButtonSizeMdMinHeight = "
|
|
434
|
+
export const OhButtonSizeSmMinHeight = "40px";
|
|
435
|
+
export const OhButtonSizeSmGap = "0.5rem";
|
|
436
|
+
export const OhButtonSizeMdFontSize = "1.125rem";
|
|
437
|
+
export const OhButtonSizeMdPaddingX = "1.5rem";
|
|
438
|
+
export const OhButtonSizeMdPaddingY = "0.75rem";
|
|
439
|
+
export const OhButtonSizeMdMinHeight = "48px";
|
|
331
440
|
export const OhButtonSizeMdGap = "0.5rem";
|
|
332
|
-
export const OhButtonSizeLgFontSize = "
|
|
333
|
-
export const OhButtonSizeLgPaddingX = "
|
|
334
|
-
export const OhButtonSizeLgPaddingY = "
|
|
335
|
-
export const OhButtonSizeLgMinHeight = "
|
|
441
|
+
export const OhButtonSizeLgFontSize = "1.25rem";
|
|
442
|
+
export const OhButtonSizeLgPaddingX = "2rem";
|
|
443
|
+
export const OhButtonSizeLgPaddingY = "1rem";
|
|
444
|
+
export const OhButtonSizeLgMinHeight = "56px";
|
|
336
445
|
export const OhButtonSizeLgGap = "0.625rem";
|
|
337
446
|
export const OhButtonVariantPrimaryBackground = "#c54300";
|
|
338
447
|
export const OhButtonVariantPrimaryBackgroundHover = "#9e3500";
|
|
@@ -341,7 +450,7 @@ export const OhButtonVariantPrimaryColor = "#ffffff";
|
|
|
341
450
|
export const OhButtonVariantPrimaryBorderColor = "#c54300";
|
|
342
451
|
export const OhButtonVariantPrimaryShadowColor = "#e8c4a0";
|
|
343
452
|
export const OhButtonVariantSecondaryBackground = "#faf7f2";
|
|
344
|
-
export const OhButtonVariantSecondaryBackgroundHover = "#
|
|
453
|
+
export const OhButtonVariantSecondaryBackgroundHover = "#fff4e6";
|
|
345
454
|
export const OhButtonVariantSecondaryBackgroundActive = "#f0ebe3";
|
|
346
455
|
export const OhButtonVariantSecondaryColor = "#3d3229";
|
|
347
456
|
export const OhButtonVariantSecondaryBorderColor = "#6b5d4d";
|
|
@@ -352,8 +461,7 @@ export const OhButtonVariantAccentBackgroundActive = "#2e4460";
|
|
|
352
461
|
export const OhButtonVariantAccentColor = "#ffffff";
|
|
353
462
|
export const OhButtonVariantAccentBorderColor = "#3d5a80";
|
|
354
463
|
export const OhButtonVariantAccentShadowColor = "#a0b4c8";
|
|
355
|
-
export const
|
|
356
|
-
export const OhButtonFocusRingColor = "#c5430059";
|
|
464
|
+
export const OhButtonFocusRingColor = "#c54300";
|
|
357
465
|
export const OhButtonFocusGlowColor = "#c5430026";
|
|
358
466
|
export const OhInputBaseFontFamily =
|
|
359
467
|
"'Bricolage Grotesque', 'General Sans', -apple-system, BlinkMacSystemFont, sans-serif";
|
|
@@ -379,7 +487,7 @@ export const OhInputStateErrorBorderColor = "#b54540";
|
|
|
379
487
|
export const OhInputStateErrorBackground = "#fdf4f3";
|
|
380
488
|
export const OhInputStateErrorShadowColor = "#b545404d";
|
|
381
489
|
export const OhCardBaseBackground = "#f5f0e8";
|
|
382
|
-
export const OhCardBaseBorderRadius = "
|
|
490
|
+
export const OhCardBaseBorderRadius = "14px";
|
|
383
491
|
export const OhCardBaseBorderWidth = "1px";
|
|
384
492
|
export const OhCardBaseBorderColor = "#e2dcd2";
|
|
385
493
|
export const OhCardBaseShadow =
|
|
@@ -391,17 +499,35 @@ export const OhCardInteractiveBackgroundHover = "#faf7f2";
|
|
|
391
499
|
export const OhCardInteractiveBorderColorHover = "#c5430040";
|
|
392
500
|
export const OhCardInteractiveShadowHover =
|
|
393
501
|
"0 4px 16px rgba(61, 50, 41, 0.08), 0 2px 6px rgba(61, 50, 41, 0.06)";
|
|
502
|
+
export const OhCardRaisedGradientStart = "#ffffff";
|
|
503
|
+
export const OhCardRaisedGradientMid = "#faf7f2";
|
|
504
|
+
export const OhCardRaisedGradientEnd = "#f5f0e8";
|
|
505
|
+
export const OhCardRaisedBorderColor = "#e2dcd2";
|
|
506
|
+
export const OhCardFlatGradientStart = "#faf7f2";
|
|
507
|
+
export const OhCardFlatGradientEnd = "#f5f0e8";
|
|
508
|
+
export const OhCardFlatBorderColor = "#e2dcd2";
|
|
394
509
|
export const OhCardSunlitBackground =
|
|
395
|
-
"linear-gradient(180deg, #
|
|
510
|
+
"linear-gradient(180deg, #fffbf5 0%, #fdf6ee 30%, #f8efe4 100%)";
|
|
511
|
+
export const OhCardSunlitGradientStart = "#fffbf5";
|
|
512
|
+
export const OhCardSunlitGradientMid = "#fdf6ee";
|
|
513
|
+
export const OhCardSunlitGradientEnd = "#f8efe4";
|
|
396
514
|
export const OhCardSunlitBorderColor = "#c5430040";
|
|
515
|
+
export const OhCardSunlitBorderColorHover = "#c5430059";
|
|
397
516
|
export const OhCardSunlitShadow =
|
|
398
517
|
"0 4px 16px rgba(61, 50, 41, 0.08), 0 2px 6px rgba(61, 50, 41, 0.06)";
|
|
518
|
+
export const OhCardSectionDividerColor = "#e2d5c899";
|
|
519
|
+
export const OhCardSectionHeaderGradientStart = "#ffffff80";
|
|
520
|
+
export const OhCardSectionHeaderGradientEnd = "#ffffff00";
|
|
521
|
+
export const OhProgressTrackInsetShadow = "#0000000f"; // Neutral, so it works on every track colour
|
|
522
|
+
export const OhProgressInverseTrackBackground = "#ffffff26";
|
|
523
|
+
export const OhProgressInverseTrackBorder = "#ffffff4d";
|
|
524
|
+
export const OhProgressInverseFill = "#faf7f2";
|
|
399
525
|
export const OhBadgeBaseFontFamily =
|
|
400
526
|
"'Bricolage Grotesque', 'General Sans', -apple-system, BlinkMacSystemFont, sans-serif";
|
|
401
|
-
export const OhBadgeBaseFontSize = "
|
|
527
|
+
export const OhBadgeBaseFontSize = "1rem";
|
|
402
528
|
export const OhBadgeBaseFontWeight = "500";
|
|
403
529
|
export const OhBadgeBaseLetterSpacing = "0.01em";
|
|
404
|
-
export const OhBadgeBaseBorderRadius = "
|
|
530
|
+
export const OhBadgeBaseBorderRadius = "6px";
|
|
405
531
|
export const OhBadgeBasePaddingX = "0.625rem";
|
|
406
532
|
export const OhBadgeBasePaddingY = "0.25rem";
|
|
407
533
|
export const OhBadgeVariantBrandBackground = "#fff3e0";
|
|
@@ -409,7 +535,7 @@ export const OhBadgeVariantBrandColor = "#c54300";
|
|
|
409
535
|
export const OhBadgeVariantAccentBackground = "#eef4f9";
|
|
410
536
|
export const OhBadgeVariantAccentColor = "#3d5a80";
|
|
411
537
|
export const OhBadgeVariantSuccessBackground = "#f0f7f1";
|
|
412
|
-
export const OhBadgeVariantSuccessColor = "#
|
|
538
|
+
export const OhBadgeVariantSuccessColor = "#3d7340";
|
|
413
539
|
export const OhBadgeVariantErrorBackground = "#fdf4f3";
|
|
414
540
|
export const OhBadgeVariantErrorColor = "#b54540";
|
|
415
541
|
export const OhBadgeVariantWarningBackground = "#fefaee";
|
|
@@ -420,3 +546,7 @@ export const OhLinkColor = "#c54300";
|
|
|
420
546
|
export const OhLinkColorHover = "#9e3500";
|
|
421
547
|
export const OhLinkTextDecoration = "underline";
|
|
422
548
|
export const OhLinkTextDecorationHover = "none";
|
|
549
|
+
export const OhLinkInverseFocusBackground = "#0000001a"; // Focus tint — paired with the underline, which is the indicator
|
|
550
|
+
export const OhModalOverlay = "#3d322999";
|
|
551
|
+
export const OhCloseButtonBackgroundHover = "#00000014"; // Neutral tint that works on every alert variant
|
|
552
|
+
export const OhCloseButtonShadowHover = "#00000026"; // Offset shadow colour on hover and press. Neutral, like the background, so it works on every alert variant
|