@orange-halo/tokens 2.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 +1 -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 +11 -0
- package/dist/themes/dark.json +112 -42
- package/dist/tokens.css +88 -38
- package/dist/tokens.js +96 -30
- package/dist/tokens.json +112 -42
- package/package.json +2 -1
- 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/{themes → brands/orange-halo}/dark.tokens.json +14 -3
- package/tokens/{semantic.tokens.json → brands/orange-halo/light.tokens.json} +95 -0
- package/tokens/{global.tokens.json → brands/orange-halo/palette.tokens.json} +58 -168
- package/tokens/{component.tokens.json → core/component.tokens.json} +16 -12
- package/tokens/core/scales.tokens.json +170 -0
- package/dist/themes/light.css +0 -47
package/dist/tokens.js
CHANGED
|
@@ -115,6 +115,11 @@ export const OhColorSurfaceOverlay = "#3d322966"; // Modal backdrop — warm
|
|
|
115
115
|
export const OhColorSurfaceDisabled = "#e2dcd2"; // Quiet disabled
|
|
116
116
|
export const OhColorSurfaceHover = "#fff4e6"; // Warm hover tint
|
|
117
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
|
|
118
123
|
export const OhColorBorderDefault = "#e2dcd2"; // Standard border
|
|
119
124
|
export const OhColorBorderSubtle = "#ede8df"; // Subtle dividers
|
|
120
125
|
export const OhColorBorderEmphasis = "#6b5d4d"; // Strong border for form elements
|
|
@@ -122,6 +127,8 @@ export const OhColorBorderStrong = "#c9c1b4"; // Neutral edge between default an
|
|
|
122
127
|
export const OhColorBorderHover = "#8b4726"; // Hover border — darker for feedback
|
|
123
128
|
export const OhColorBorderDisabled = "#ede8df";
|
|
124
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
|
|
125
132
|
export const OhColorTextPrimary = "#3d3229"; // Primary text — warm brown
|
|
126
133
|
export const OhColorTextSecondary = "#6b5d4d"; // Secondary text
|
|
127
134
|
export const OhColorTextDisabled = "#c9c1b4"; // Disabled text
|
|
@@ -167,33 +174,6 @@ export const OhFontLetterSpacingNormal = "0";
|
|
|
167
174
|
export const OhFontLetterSpacingWide = "0.01em";
|
|
168
175
|
export const OhFontLetterSpacingWider = "0.02em";
|
|
169
176
|
export const OhFontLetterSpacingWidest = "0.05em"; // Uppercase labels: hero eyebrows, footer headings
|
|
170
|
-
export const OhSpacing0 = "0";
|
|
171
|
-
export const OhSpacing1 = "0.25rem"; // 4px
|
|
172
|
-
export const OhSpacing2 = "0.5rem"; // 8px
|
|
173
|
-
export const OhSpacing3 = "0.75rem"; // 12px
|
|
174
|
-
export const OhSpacing4 = "1rem"; // 16px
|
|
175
|
-
export const OhSpacing5 = "1.25rem"; // 20px
|
|
176
|
-
export const OhSpacing6 = "1.5rem"; // 24px
|
|
177
|
-
export const OhSpacing7 = "1.75rem"; // 28px
|
|
178
|
-
export const OhSpacing8 = "2rem"; // 32px
|
|
179
|
-
export const OhSpacing10 = "2.5rem"; // 40px
|
|
180
|
-
export const OhSpacing12 = "3rem"; // 48px
|
|
181
|
-
export const OhSpacing16 = "4rem"; // 64px
|
|
182
|
-
export const OhSpacing20 = "5rem"; // 80px
|
|
183
|
-
export const OhSpacingPx = "1px";
|
|
184
|
-
export const OhSpacing05 = "0.125rem"; // 2px
|
|
185
|
-
export const OhSpacing15 = "0.375rem"; // 6px
|
|
186
|
-
export const OhSpacing25 = "0.625rem"; // 10px
|
|
187
|
-
export const OhSpacing35 = "0.875rem"; // 14px
|
|
188
|
-
export const OhSpacingLayoutPage = "1.5rem";
|
|
189
|
-
export const OhSpacingLayoutSection = "3rem";
|
|
190
|
-
export const OhSpacingLayoutStack = "1.25rem";
|
|
191
|
-
export const OhSpacingLayoutInline = "1rem";
|
|
192
|
-
export const OhSpacingComponentXs = "0.375rem";
|
|
193
|
-
export const OhSpacingComponentSm = "0.625rem";
|
|
194
|
-
export const OhSpacingComponentMd = "0.875rem";
|
|
195
|
-
export const OhSpacingComponentLg = "1.25rem";
|
|
196
|
-
export const OhSpacingComponentXl = "1.75rem";
|
|
197
177
|
export const OhRadiusNone = "0";
|
|
198
178
|
export const OhRadiusXs = "4px"; // Small details, chips
|
|
199
179
|
export const OhRadiusSm = "6px"; // Buttons, inputs
|
|
@@ -215,10 +195,34 @@ export const OhShadowChunkyPrimary = "#e8c4a0"; // Warm peach for primary button
|
|
|
215
195
|
export const OhShadowChunkySecondary = "#d4c4b0"; // Neutral tan for secondary/form elements
|
|
216
196
|
export const OhShadowChunkyAccent = "#a0b4c8"; // Blue offset shadow for accent buttons — decorative
|
|
217
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
|
|
218
218
|
export const OhShadowPrimary = "#e8c4a0"; // Primary buttons
|
|
219
219
|
export const OhShadowSecondary = "#d4c4b0"; // Secondary/form elements
|
|
220
220
|
export const OhShadowAccent = "#a0b4c8"; // Accent buttons
|
|
221
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
|
|
222
226
|
export const OhGradientSunlit =
|
|
223
227
|
"linear-gradient(180deg, #fffbf5 0%, #fdf6ee 30%, #f8efe4 100%)"; // Gentle warmth for surfaces — same stops as the sunlit card
|
|
224
228
|
export const OhGradientWarm =
|
|
@@ -246,6 +250,33 @@ export const OhBorderWidth0 = "0";
|
|
|
246
250
|
export const OhBorderWidth1 = "1px";
|
|
247
251
|
export const OhBorderWidth2 = "2px";
|
|
248
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";
|
|
249
280
|
export const OhSizeContainerSm = "640px";
|
|
250
281
|
export const OhSizeContainerMd = "768px";
|
|
251
282
|
export const OhSizeContainerLg = "1024px";
|
|
@@ -352,6 +383,39 @@ export const OhElevationStrong =
|
|
|
352
383
|
export const OhElevationGlow =
|
|
353
384
|
"0 0 0 3px rgba(197, 67, 0, 0.2), 0 0 12px rgba(197, 67, 0, 0.1)"; // Focus ring
|
|
354
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";
|
|
355
419
|
export const OhFocusRingWidth = "3px";
|
|
356
420
|
export const OhFocusRingOffset = "2px";
|
|
357
421
|
export const OhFocusRingColor = "#c54300"; // The focus colour: outlines, focused control borders. Must stay opaque (4.7:1 on cream, WCAG 1.4.11)
|
|
@@ -448,12 +512,13 @@ export const OhCardSunlitGradientStart = "#fffbf5";
|
|
|
448
512
|
export const OhCardSunlitGradientMid = "#fdf6ee";
|
|
449
513
|
export const OhCardSunlitGradientEnd = "#f8efe4";
|
|
450
514
|
export const OhCardSunlitBorderColor = "#c5430040";
|
|
451
|
-
export const OhCardSunlitBorderColorHover = "#c5430059";
|
|
515
|
+
export const OhCardSunlitBorderColorHover = "#c5430059";
|
|
452
516
|
export const OhCardSunlitShadow =
|
|
453
517
|
"0 4px 16px rgba(61, 50, 41, 0.08), 0 2px 6px rgba(61, 50, 41, 0.06)";
|
|
454
|
-
export const OhCardSectionDividerColor = "#e2d5c899";
|
|
518
|
+
export const OhCardSectionDividerColor = "#e2d5c899";
|
|
455
519
|
export const OhCardSectionHeaderGradientStart = "#ffffff80";
|
|
456
520
|
export const OhCardSectionHeaderGradientEnd = "#ffffff00";
|
|
521
|
+
export const OhProgressTrackInsetShadow = "#0000000f"; // Neutral, so it works on every track colour
|
|
457
522
|
export const OhProgressInverseTrackBackground = "#ffffff26";
|
|
458
523
|
export const OhProgressInverseTrackBorder = "#ffffff4d";
|
|
459
524
|
export const OhProgressInverseFill = "#faf7f2";
|
|
@@ -482,5 +547,6 @@ export const OhLinkColorHover = "#9e3500";
|
|
|
482
547
|
export const OhLinkTextDecoration = "underline";
|
|
483
548
|
export const OhLinkTextDecorationHover = "none";
|
|
484
549
|
export const OhLinkInverseFocusBackground = "#0000001a"; // Focus tint — paired with the underline, which is the indicator
|
|
485
|
-
export const OhModalOverlay = "#3d322999";
|
|
550
|
+
export const OhModalOverlay = "#3d322999";
|
|
486
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
|
package/dist/tokens.json
CHANGED
|
@@ -149,7 +149,12 @@
|
|
|
149
149
|
"overlay": "#3d322966",
|
|
150
150
|
"disabled": "#e2dcd2",
|
|
151
151
|
"hover": "#fff4e6",
|
|
152
|
-
"activePressed": "#f0ebe3"
|
|
152
|
+
"activePressed": "#f0ebe3",
|
|
153
|
+
"featuredStart": "#fffbf5",
|
|
154
|
+
"featuredMid": "#fdf6ee",
|
|
155
|
+
"featuredEnd": "#f8efe4",
|
|
156
|
+
"sheen": "#ffffff80",
|
|
157
|
+
"backdrop": "#3d322999"
|
|
153
158
|
},
|
|
154
159
|
"border": {
|
|
155
160
|
"$description": "Border colors — visible and intentional",
|
|
@@ -159,7 +164,9 @@
|
|
|
159
164
|
"strong": "#c9c1b4",
|
|
160
165
|
"hover": "#8b4726",
|
|
161
166
|
"disabled": "#ede8df",
|
|
162
|
-
"brand": "#c5430040"
|
|
167
|
+
"brand": "#c5430040",
|
|
168
|
+
"brandHover": "#c5430059",
|
|
169
|
+
"divider": "#e2d5c899"
|
|
163
170
|
},
|
|
164
171
|
"text": {
|
|
165
172
|
"$description": "Text colors — calm and readable, not stark",
|
|
@@ -224,42 +231,6 @@
|
|
|
224
231
|
"widest": "0.05em"
|
|
225
232
|
}
|
|
226
233
|
},
|
|
227
|
-
"spacing": {
|
|
228
|
-
"0": "0",
|
|
229
|
-
"1": "0.25rem",
|
|
230
|
-
"2": "0.5rem",
|
|
231
|
-
"3": "0.75rem",
|
|
232
|
-
"4": "1rem",
|
|
233
|
-
"5": "1.25rem",
|
|
234
|
-
"6": "1.5rem",
|
|
235
|
-
"7": "1.75rem",
|
|
236
|
-
"8": "2rem",
|
|
237
|
-
"10": "2.5rem",
|
|
238
|
-
"12": "3rem",
|
|
239
|
-
"16": "4rem",
|
|
240
|
-
"20": "5rem",
|
|
241
|
-
"$description": "Generous spacing — breathing room, not dense",
|
|
242
|
-
"px": "1px",
|
|
243
|
-
"0-5": "0.125rem",
|
|
244
|
-
"1-5": "0.375rem",
|
|
245
|
-
"2-5": "0.625rem",
|
|
246
|
-
"3-5": "0.875rem",
|
|
247
|
-
"layout": {
|
|
248
|
-
"$description": "Generous layout spacing",
|
|
249
|
-
"page": "1.5rem",
|
|
250
|
-
"section": "3rem",
|
|
251
|
-
"stack": "1.25rem",
|
|
252
|
-
"inline": "1rem"
|
|
253
|
-
},
|
|
254
|
-
"component": {
|
|
255
|
-
"$description": "Component-level spacing",
|
|
256
|
-
"xs": "0.375rem",
|
|
257
|
-
"sm": "0.625rem",
|
|
258
|
-
"md": "0.875rem",
|
|
259
|
-
"lg": "1.25rem",
|
|
260
|
-
"xl": "1.75rem"
|
|
261
|
-
}
|
|
262
|
-
},
|
|
263
234
|
"radius": {
|
|
264
235
|
"$description": "Friendly and soft — not sharp, not overly pill-shaped",
|
|
265
236
|
"none": "0",
|
|
@@ -283,12 +254,31 @@
|
|
|
283
254
|
"primary": "#e8c4a0",
|
|
284
255
|
"secondary": "#d4c4b0",
|
|
285
256
|
"accent": "#a0b4c8",
|
|
286
|
-
"error": "#b545404d"
|
|
257
|
+
"error": "#b545404d",
|
|
258
|
+
"driftwood": "#6b5d4d26",
|
|
259
|
+
"driftwoodHover": "#6b5d4d33",
|
|
260
|
+
"driftwoodDeep": "#6b5d4d40",
|
|
261
|
+
"walnut": "#3d322926"
|
|
262
|
+
},
|
|
263
|
+
"layered": {
|
|
264
|
+
"$description": "Layered surface shadows: soft drop shadows with a top highlight, so cards feel like physical objects",
|
|
265
|
+
"flat": "0 1px 2px rgba(61, 50, 41, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.6)",
|
|
266
|
+
"raised": "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)",
|
|
267
|
+
"lifted": "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)",
|
|
268
|
+
"pressed": "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)",
|
|
269
|
+
"focused": "0 2px 6px rgba(61, 50, 41, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.8)",
|
|
270
|
+
"sunlit": "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)",
|
|
271
|
+
"sunlitLifted": "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)",
|
|
272
|
+
"sunlitFocused": "0 2px 8px rgba(139, 69, 19, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9)"
|
|
287
273
|
},
|
|
288
274
|
"primary": "#e8c4a0",
|
|
289
275
|
"secondary": "#d4c4b0",
|
|
290
276
|
"accent": "#a0b4c8",
|
|
291
|
-
"error": "#b545404d"
|
|
277
|
+
"error": "#b545404d",
|
|
278
|
+
"neutral": "#6b5d4d26",
|
|
279
|
+
"neutralHover": "#6b5d4d33",
|
|
280
|
+
"overlay": "#6b5d4d40",
|
|
281
|
+
"field": "#3d322926"
|
|
292
282
|
},
|
|
293
283
|
"gradient": {
|
|
294
284
|
"$description": "Soft, nostalgic gradients — never high-contrast or flashy",
|
|
@@ -364,6 +354,42 @@
|
|
|
364
354
|
"chunky": "2.5px"
|
|
365
355
|
}
|
|
366
356
|
},
|
|
357
|
+
"spacing": {
|
|
358
|
+
"0": "0",
|
|
359
|
+
"1": "0.25rem",
|
|
360
|
+
"2": "0.5rem",
|
|
361
|
+
"3": "0.75rem",
|
|
362
|
+
"4": "1rem",
|
|
363
|
+
"5": "1.25rem",
|
|
364
|
+
"6": "1.5rem",
|
|
365
|
+
"7": "1.75rem",
|
|
366
|
+
"8": "2rem",
|
|
367
|
+
"10": "2.5rem",
|
|
368
|
+
"12": "3rem",
|
|
369
|
+
"16": "4rem",
|
|
370
|
+
"20": "5rem",
|
|
371
|
+
"$description": "Generous spacing — breathing room, not dense",
|
|
372
|
+
"px": "1px",
|
|
373
|
+
"0-5": "0.125rem",
|
|
374
|
+
"1-5": "0.375rem",
|
|
375
|
+
"2-5": "0.625rem",
|
|
376
|
+
"3-5": "0.875rem",
|
|
377
|
+
"layout": {
|
|
378
|
+
"$description": "Generous layout spacing",
|
|
379
|
+
"page": "1.5rem",
|
|
380
|
+
"section": "3rem",
|
|
381
|
+
"stack": "1.25rem",
|
|
382
|
+
"inline": "1rem"
|
|
383
|
+
},
|
|
384
|
+
"component": {
|
|
385
|
+
"$description": "Component-level spacing",
|
|
386
|
+
"xs": "0.375rem",
|
|
387
|
+
"sm": "0.625rem",
|
|
388
|
+
"md": "0.875rem",
|
|
389
|
+
"lg": "1.25rem",
|
|
390
|
+
"xl": "1.75rem"
|
|
391
|
+
}
|
|
392
|
+
},
|
|
367
393
|
"size": {
|
|
368
394
|
"$description": "Fixed layout sizes: content widths and viewport breakpoints",
|
|
369
395
|
"container": {
|
|
@@ -531,7 +557,47 @@
|
|
|
531
557
|
"medium": "0 4px 16px rgba(61, 50, 41, 0.08), 0 2px 6px rgba(61, 50, 41, 0.06)",
|
|
532
558
|
"strong": "0 8px 24px rgba(61, 50, 41, 0.10), 0 4px 8px rgba(61, 50, 41, 0.06)",
|
|
533
559
|
"glow": "0 0 0 3px rgba(197, 67, 0, 0.2), 0 0 12px rgba(197, 67, 0, 0.1)",
|
|
534
|
-
"inset": "inset 0 1px 3px rgba(61, 50, 41, 0.08)"
|
|
560
|
+
"inset": "inset 0 1px 3px rgba(61, 50, 41, 0.08)",
|
|
561
|
+
"surface": {
|
|
562
|
+
"$description": "Card surfaces, by state. Featured is the sunlit card",
|
|
563
|
+
"flat": "0 1px 2px rgba(61, 50, 41, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.6)",
|
|
564
|
+
"raised": "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)",
|
|
565
|
+
"lifted": "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)",
|
|
566
|
+
"pressed": "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)",
|
|
567
|
+
"focused": "0 2px 6px rgba(61, 50, 41, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.8)",
|
|
568
|
+
"featured": "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)",
|
|
569
|
+
"featuredLifted": "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)",
|
|
570
|
+
"featuredFocused": "0 2px 8px rgba(139, 69, 19, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9)"
|
|
571
|
+
},
|
|
572
|
+
"offset": {
|
|
573
|
+
"$description": "How far solid offset shadows sit from the element, from pressed (xs) to dialogs (2xl). The colour comes from shadow.*. A flat brand sets every step to 0",
|
|
574
|
+
"xs": "1px",
|
|
575
|
+
"sm": "2px",
|
|
576
|
+
"md": "3px",
|
|
577
|
+
"lg": "4px",
|
|
578
|
+
"xl": "5px",
|
|
579
|
+
"2xl": "6px"
|
|
580
|
+
}
|
|
581
|
+
},
|
|
582
|
+
"lift": {
|
|
583
|
+
"$description": "How far elements move on hover (negative: up and left, towards the viewer) and when pressed (positive: into the page). A still brand sets every step to 0",
|
|
584
|
+
"hoverSm": "-1px",
|
|
585
|
+
"hoverMd": "-2px",
|
|
586
|
+
"pressSm": "1px",
|
|
587
|
+
"pressMd": "2px"
|
|
588
|
+
},
|
|
589
|
+
"stroke": {
|
|
590
|
+
"$description": "Border widths by role",
|
|
591
|
+
"control": "2.5px",
|
|
592
|
+
"surface": "1px",
|
|
593
|
+
"divider": "1px"
|
|
594
|
+
},
|
|
595
|
+
"decoration": {
|
|
596
|
+
"$description": "Link underlines. Orange Halo's are dashed: a dash, then a gap, repeating every period. A solid underline sets dash and period to the same value",
|
|
597
|
+
"underlineThickness": "2px",
|
|
598
|
+
"underlineFocusThickness": "3px",
|
|
599
|
+
"underlineDash": "4px",
|
|
600
|
+
"underlinePeriod": "8px"
|
|
535
601
|
},
|
|
536
602
|
"focus": {
|
|
537
603
|
"$description": "Warm, friendly focus ring",
|
|
@@ -716,6 +782,9 @@
|
|
|
716
782
|
},
|
|
717
783
|
"progress": {
|
|
718
784
|
"$description": "Progress — chunky pill track",
|
|
785
|
+
"track": {
|
|
786
|
+
"insetShadow": "#0000000f"
|
|
787
|
+
},
|
|
719
788
|
"inverse": {
|
|
720
789
|
"$description": "On brand/accent backgrounds (e.g. journey hero). Fill is cream so it reads at 3.7:1 against the track.",
|
|
721
790
|
"trackBackground": "#ffffff26",
|
|
@@ -778,6 +847,7 @@
|
|
|
778
847
|
},
|
|
779
848
|
"closeButton": {
|
|
780
849
|
"$description": "Icon-only close buttons in alerts and modals",
|
|
781
|
-
"backgroundHover": "#00000014"
|
|
850
|
+
"backgroundHover": "#00000014",
|
|
851
|
+
"shadowHover": "#00000026"
|
|
782
852
|
}
|
|
783
853
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orange-halo/tokens",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Design tokens for Orange Halo Design System (W3C Design Token Format)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/tokens.js",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"./themes/dark": "./dist/themes/dark.css",
|
|
13
13
|
"./themes/dark.json": "./dist/themes/dark.json",
|
|
14
14
|
"./json": "./dist/tokens.json",
|
|
15
|
+
"./brands/*": "./dist/brands/*",
|
|
15
16
|
"./contrast": "./contrast.js",
|
|
16
17
|
"./contrast-pairs": "./contrast-pairs.json"
|
|
17
18
|
},
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$description": "About the brand, for tools that show it (Storybook's Brand control): its name, and the stylesheets that load its fonts. Hood is dark by default: sites set data-theme=\"dark\".",
|
|
3
|
+
"name": "Hood",
|
|
4
|
+
"fonts": ["https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap"]
|
|
5
|
+
}
|