@7shifts/sous-chef 4.2.0 → 4.3.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/dist/assets/SevenShiftsLogo/SevenShiftsLogo.d.ts +3 -0
- package/dist/assets/SevenShiftsLogo/index.d.ts +1 -0
- package/dist/assets/SevenShiftsShortLogo/SevenShiftsShortLogo.d.ts +3 -0
- package/dist/assets/SevenShiftsShortLogo/index.d.ts +1 -0
- package/dist/foundation/tokens/color/color-constants.d.ts +1 -0
- package/dist/foundation/tokens/color/color-types.d.ts +1 -1
- package/dist/hooks/useScrollDetector.d.ts +5 -0
- package/dist/index.css +253 -1
- package/dist/index.css.map +1 -1
- package/dist/index.js +2553 -2160
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +2748 -2348
- package/dist/index.modern.js.map +1 -1
- package/dist/navigation/PrimaryNav/PrimaryNav.d.ts +13 -0
- package/dist/navigation/PrimaryNav/PrimaryNavContext.d.ts +16 -0
- package/dist/navigation/PrimaryNav/PrimaryNavHeader/PrimaryNavHeader.d.ts +8 -0
- package/dist/navigation/PrimaryNav/PrimaryNavHeader/index.d.ts +1 -0
- package/dist/navigation/PrimaryNav/index.d.ts +1 -0
- package/dist/navigation/PrimaryNavDivider/PrimaryNavDivider.d.ts +3 -0
- package/dist/navigation/PrimaryNavDivider/index.d.ts +1 -0
- package/dist/navigation/PrimaryNavFooter/PrimaryNavFooter.d.ts +6 -0
- package/dist/navigation/PrimaryNavFooter/index.d.ts +1 -0
- package/dist/navigation/PrimaryNavItem/PrimaryNavItem.d.ts +12 -0
- package/dist/navigation/PrimaryNavItem/PrimaryNavItemBadge/PrimaryNavItemBadge.d.ts +9 -0
- package/dist/navigation/PrimaryNavItem/PrimaryNavItemBadge/index.d.ts +1 -0
- package/dist/navigation/PrimaryNavItem/index.d.ts +1 -0
- package/dist/navigation/PrimaryNavSubItem/PrimaryNavSubItem.d.ts +11 -0
- package/dist/navigation/PrimaryNavSubItem/index.d.ts +1 -0
- package/dist/navigation/index.d.ts +6 -1
- package/dist/utils/actions.d.ts +1 -1
- package/llms-instructions/llms-components.md +425 -0
- package/llms-instructions/llms-composing-components.md +502 -0
- package/llms-instructions/llms-icons-and-illustrations.md +1039 -0
- package/llms-instructions/llms-tokens.md +397 -0
- package/llms-instructions/llms.md +78 -0
- package/package.json +3 -2
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
# Sous Chef Design System Tokens
|
|
2
|
+
|
|
3
|
+
Design tokens are the single source of truth to name and store design decisions, including colors, typography, spacing, and other design primitives. Tokens are available as CSS custom properties and as JavaScript constants.
|
|
4
|
+
|
|
5
|
+
**You must ONLY use tokens listed in this document, do not make up values.**
|
|
6
|
+
|
|
7
|
+
Example:
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
import { COLORS, ZINDEX } from '@7shifts/sous-chef';
|
|
11
|
+
|
|
12
|
+
<Text color={COLORS['color-primary-color']}>Text example</Text>;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
CSS custom properties are applied globally when you import:
|
|
16
|
+
`import '@7shifts/sous-chef/dist/index.css';`
|
|
17
|
+
|
|
18
|
+
Example:
|
|
19
|
+
|
|
20
|
+
```css
|
|
21
|
+
color: var(--color-primary-color);
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Colors
|
|
25
|
+
|
|
26
|
+
### Primitive colors
|
|
27
|
+
|
|
28
|
+
The primitive colors are documented just for reference. AVOID using them as much as you can as they are not compatible with dark mode.
|
|
29
|
+
Instead, try to use a semantic color token instead.
|
|
30
|
+
|
|
31
|
+
| Token Name | Color Hash |
|
|
32
|
+
| ---------------------- | ---------- |
|
|
33
|
+
| --color-white | #fff |
|
|
34
|
+
| --color-eggshell | #fafafa |
|
|
35
|
+
| --color-coal | #252525 |
|
|
36
|
+
| --color-black | #000 |
|
|
37
|
+
| --color-tangerine-100 | #fef1ed |
|
|
38
|
+
| --color-tangerine-200 | #fdd5c8 |
|
|
39
|
+
| --color-tangerine-300 | #fcab91 |
|
|
40
|
+
| --color-tangerine-400 | #ff6808 |
|
|
41
|
+
| --color-tangerine-500 | #cf5406 |
|
|
42
|
+
| --color-tangerine-600 | #95400a |
|
|
43
|
+
| --color-eggplant-100 | #f8f3ff |
|
|
44
|
+
| --color-eggplant-200 | #ebdcff |
|
|
45
|
+
| --color-eggplant-300 | #d9bff4 |
|
|
46
|
+
| --color-eggplant-400 | #c293f1 |
|
|
47
|
+
| --color-eggplant-500 | #846db3 |
|
|
48
|
+
| --color-eggplant-600 | #453e75 |
|
|
49
|
+
| --color-mint-100 | #ecfaf8 |
|
|
50
|
+
| --color-mint-200 | #c6f1eb |
|
|
51
|
+
| --color-mint-300 | #8de4d7 |
|
|
52
|
+
| --color-mint-400 | #3abda9 |
|
|
53
|
+
| --color-mint-500 | #35ac9a |
|
|
54
|
+
| --color-mint-600 | #1d5e54 |
|
|
55
|
+
| --color-radish-100 | #fcf0f0 |
|
|
56
|
+
| --color-radish-200 | #f7d1d1 |
|
|
57
|
+
| --color-radish-300 | #f0a3a3 |
|
|
58
|
+
| --color-radish-400 | #e76767 |
|
|
59
|
+
| --color-radish-500 | #d33434 |
|
|
60
|
+
| --color-radish-600 | #793133 |
|
|
61
|
+
| --color-blueberry-100 | #f6fdff |
|
|
62
|
+
| --color-blueberry-200 | #ceecf5 |
|
|
63
|
+
| --color-blueberry-300 | #9cd9eb |
|
|
64
|
+
| --color-blueberry-400 | #5bc0de |
|
|
65
|
+
| --color-blueberry-500 | #51acc7 |
|
|
66
|
+
| --color-blueberry-600 | #2c5d6b |
|
|
67
|
+
| --color-banana-100 | #fff9ed |
|
|
68
|
+
| --color-banana-200 | #ffeec9 |
|
|
69
|
+
| --color-banana-300 | #ffdd92 |
|
|
70
|
+
| --color-banana-400 | #f7ba11 |
|
|
71
|
+
| --color-banana-500 | #bf9436 |
|
|
72
|
+
| --color-banana-600 | #765f2c |
|
|
73
|
+
| --color-grey-100 | #f3f3f3 |
|
|
74
|
+
| --color-grey-200 | #d5d5d5 |
|
|
75
|
+
| --color-grey-300 | #949494 |
|
|
76
|
+
| --color-grey-400 | #767676 |
|
|
77
|
+
| --color-grey-500 | #464646 |
|
|
78
|
+
| --color-grey-600 | #323232 |
|
|
79
|
+
| --color-oat-100 | #f1f0ec |
|
|
80
|
+
| --color-oat-200 | #e2ded6 |
|
|
81
|
+
| --color-oat-300 | #c7c0b2 |
|
|
82
|
+
| --color-oat-400 | #6e6d6c |
|
|
83
|
+
| --color-oat-500 | #4c4b49 |
|
|
84
|
+
| --color-oat-600 | #383430 |
|
|
85
|
+
| --color-lime-100 | #efffe0 |
|
|
86
|
+
| --color-lime-200 | #c6ff94 |
|
|
87
|
+
| --color-lime-300 | #81ffac |
|
|
88
|
+
| --color-lime-400 | #00feb2 |
|
|
89
|
+
| --color-lime-500 | #3fb994 |
|
|
90
|
+
| --color-lime-600 | #244f47 |
|
|
91
|
+
| --color-blackberry-100 | #ecf0ff |
|
|
92
|
+
| --color-blackberry-200 | #d6e0ff |
|
|
93
|
+
| --color-blackberry-300 | #a0bbff |
|
|
94
|
+
| --color-blackberry-400 | #4570ff |
|
|
95
|
+
| --color-blackberry-500 | #1c5cbb |
|
|
96
|
+
| --color-blackberry-600 | #193f78 |
|
|
97
|
+
|
|
98
|
+
### Transparent colors
|
|
99
|
+
|
|
100
|
+
These are fixed-opacity overlays built on top of pure black or pure white.
|
|
101
|
+
|
|
102
|
+
| Token Name | Value |
|
|
103
|
+
| ------------------------------------ | ---------------------- |
|
|
104
|
+
| --color-neutral-black-transparent-05 | rgba(0,0,0,0.05) |
|
|
105
|
+
| --color-neutral-black-transparent-10 | rgba(0,0,0,0.1) |
|
|
106
|
+
| --color-neutral-black-transparent-15 | rgba(0,0,0,0.15) |
|
|
107
|
+
| --color-neutral-black-transparent-20 | rgba(0,0,0,0.2) |
|
|
108
|
+
| --color-neutral-black-transparent-30 | rgba(0,0,0,0.3) |
|
|
109
|
+
| --color-neutral-black-transparent-40 | rgba(0,0,0,0.4) |
|
|
110
|
+
| --color-neutral-black-transparent-50 | rgba(0,0,0,0.5) |
|
|
111
|
+
| --color-neutral-black-transparent-60 | rgba(0,0,0,0.6) |
|
|
112
|
+
| --color-neutral-black-transparent-70 | rgba(0,0,0,0.7) |
|
|
113
|
+
| --color-neutral-black-transparent-80 | rgba(0,0,0,0.8) |
|
|
114
|
+
| --color-neutral-black-transparent-90 | rgba(0,0,0,0.9) |
|
|
115
|
+
| --color-neutral-white-transparent-05 | rgba(255,255,255,0.05) |
|
|
116
|
+
| --color-neutral-white-transparent-10 | rgba(255,255,255,0.1) |
|
|
117
|
+
| --color-neutral-white-transparent-15 | rgba(255,255,255,0.15) |
|
|
118
|
+
| --color-neutral-white-transparent-20 | rgba(255,255,255,0.2) |
|
|
119
|
+
| --color-neutral-white-transparent-30 | rgba(255,255,255,0.3) |
|
|
120
|
+
| --color-neutral-white-transparent-40 | rgba(255,255,255,0.4) |
|
|
121
|
+
| --color-neutral-white-transparent-50 | rgba(255,255,255,0.5) |
|
|
122
|
+
| --color-neutral-white-transparent-60 | rgba(255,255,255,0.6) |
|
|
123
|
+
| --color-neutral-white-transparent-70 | rgba(255,255,255,0.7) |
|
|
124
|
+
| --color-neutral-white-transparent-80 | rgba(255,255,255,0.8) |
|
|
125
|
+
| --color-neutral-white-transparent-90 | rgba(255,255,255,0.9) |
|
|
126
|
+
|
|
127
|
+
### Semantic colors
|
|
128
|
+
|
|
129
|
+
Use these for status, feedback, and brand meaning. Each semantic role has color, on-color, container, and on-container variants.
|
|
130
|
+
|
|
131
|
+
Here is some information about common words you'll see across our color roles:
|
|
132
|
+
|
|
133
|
+
- Primary, Secondary, & Tertiary: Accent color roles used to emphasize or de-emphasize foreground elements.
|
|
134
|
+
- On: Colours starting with this term indicate a colour for text or icons on top of its paired parent colour. For example, primary on color is used for text and icons on top of the primary color.
|
|
135
|
+
- Surface: Used for backgrounds and large, low-emphasis areas of the screen.
|
|
136
|
+
- Container: Used as a fill colour for foreground elements like buttons. They should not be used for text or icons.
|
|
137
|
+
- Variant: Roles ending with this term offer a lower emphasis alternative to its non-variant pair. For example, outline variant is a less emphasized version of the outline color.
|
|
138
|
+
- Inverse: Inverse roles are used for colours that are the reverse of those in the surrounding UI, creating a contrasting effect.
|
|
139
|
+
- Outline: Used for border or line colours.
|
|
140
|
+
- Sequential: Used for data visualization such as charts and graphs.
|
|
141
|
+
|
|
142
|
+
#### Surface
|
|
143
|
+
|
|
144
|
+
| Token | Light | Dark |
|
|
145
|
+
| ------------------------------------------ | ------------------------------------ | ------------------------------------ |
|
|
146
|
+
| --color-surface-color | --color-white | --color-grey-600 |
|
|
147
|
+
| --color-surface-color-dim | --color-eggshell | --color-coal |
|
|
148
|
+
| --color-surface-color-overlay | --color-neutral-black-transparent-20 | rgba(0,0,0,0.5) |
|
|
149
|
+
| --color-surface-on-color | --color-grey-500 | --color-grey-100 |
|
|
150
|
+
| --color-surface-on-color-bold | --color-grey-600 | --color-white |
|
|
151
|
+
| --color-surface-on-color-subtle | --color-grey-400 | --color-grey-300 |
|
|
152
|
+
| --color-surface-on-color-disabled | --color-neutral-black-transparent-20 | --color-neutral-white-transparent-30 |
|
|
153
|
+
| --color-surface-container | --color-white | --color-grey-600 |
|
|
154
|
+
| --color-surface-container-high | --color-grey-100 | --color-grey-500 |
|
|
155
|
+
| --color-surface-container-highest | --color-grey-200 | --color-grey-400 |
|
|
156
|
+
| --color-surface-container-disabled | --color-neutral-black-transparent-05 | --color-neutral-white-transparent-10 |
|
|
157
|
+
| --color-surface-container-disabled-variant | --color-neutral-black-transparent-20 | --color-neutral-white-transparent-10 |
|
|
158
|
+
| --color-surface-on-container-disabled | --color-neutral-black-transparent-40 | --color-neutral-white-transparent-50 |
|
|
159
|
+
| --color-surface-inverse | --color-grey-600 | --color-grey-100 |
|
|
160
|
+
| --color-surface-on-inverse | --color-white | --color-grey-600 |
|
|
161
|
+
| --color-surface-on-inverse-disabled | --color-neutral-white-transparent-50 | --color-neutral-black-transparent-50 |
|
|
162
|
+
|
|
163
|
+
#### Outline
|
|
164
|
+
|
|
165
|
+
Outline color tokens are used for borders.
|
|
166
|
+
|
|
167
|
+
| Token | Light | Dark |
|
|
168
|
+
| ----------------------- | ------------------------------------ | ------------------------------------ |
|
|
169
|
+
| --color-outline | --color-neutral-black-transparent-20 | --color-neutral-white-transparent-15 |
|
|
170
|
+
| --color-outline-variant | --color-grey-200 | --color-grey-500 |
|
|
171
|
+
| --color-outline-inverse | --color-white | --color-grey-600 |
|
|
172
|
+
|
|
173
|
+
#### Neutral
|
|
174
|
+
|
|
175
|
+
| Token | Light | Dark |
|
|
176
|
+
| ------------------------------------ | ---------------- | ---------------- |
|
|
177
|
+
| --color-neutral-color | --color-oat-400 | --color-oat-300 |
|
|
178
|
+
| --color-neutral-on-color | --color-white | --color-grey-600 |
|
|
179
|
+
| --color-neutral-container | --color-oat-200 | --color-oat-500 |
|
|
180
|
+
| --color-neutral-on-container | --color-grey-600 | --color-white |
|
|
181
|
+
| --color-neutral-container-variant | --color-oat-100 | --color-oat-600 |
|
|
182
|
+
| --color-neutral-on-container-variant | --color-oat-600 | --color-oat-300 |
|
|
183
|
+
|
|
184
|
+
#### Primary
|
|
185
|
+
|
|
186
|
+
| Token | Light | Dark |
|
|
187
|
+
| ------------------------------------ | ---------------------- | ---------------------- |
|
|
188
|
+
| --color-primary-color | --color-blackberry-400 | --color-blackberry-400 |
|
|
189
|
+
| --color-primary-on-color | --color-white | --color-white |
|
|
190
|
+
| --color-primary-color-variant | --color-blackberry-600 | --color-blackberry-300 |
|
|
191
|
+
| --color-primary-on-color-variant | --color-white | --color-white |
|
|
192
|
+
| --color-primary-container | --color-blackberry-200 | --color-blackberry-500 |
|
|
193
|
+
| --color-primary-on-container | --color-grey-600 | --color-white |
|
|
194
|
+
| --color-primary-container-variant | --color-blackberry-100 | --color-blackberry-600 |
|
|
195
|
+
| --color-primary-on-container-variant | --color-blackberry-600 | --color-blackberry-300 |
|
|
196
|
+
|
|
197
|
+
#### Secondary
|
|
198
|
+
|
|
199
|
+
| Token | Light | Dark |
|
|
200
|
+
| -------------------------------------- | --------------------- | --------------------- |
|
|
201
|
+
| --color-secondary-color | --color-tangerine-400 | --color-tangerine-400 |
|
|
202
|
+
| --color-secondary-on-color | --color-white | --color-white |
|
|
203
|
+
| --color-secondary-container | --color-tangerine-200 | --color-tangerine-500 |
|
|
204
|
+
| --color-secondary-on-container | --color-grey-600 | --color-white |
|
|
205
|
+
| --color-secondary-container-variant | --color-tangerine-100 | --color-tangerine-600 |
|
|
206
|
+
| --color-secondary-on-container-variant | --color-tangerine-600 | --color-tangerine-300 |
|
|
207
|
+
|
|
208
|
+
#### Tertiary
|
|
209
|
+
|
|
210
|
+
| Token | Light | Dark |
|
|
211
|
+
| ------------------------------------- | ---------------- | ---------------- |
|
|
212
|
+
| --color-tertiary-color | --color-lime-600 | --color-lime-600 |
|
|
213
|
+
| --color-tertiary-on-color | --color-white | --color-white |
|
|
214
|
+
| --color-tertiary-container | --color-lime-200 | --color-lime-200 |
|
|
215
|
+
| --color-tertiary-on-container | --color-grey-600 | --color-grey-600 |
|
|
216
|
+
| --color-tertiary-container-variant | --color-lime-400 | --color-lime-400 |
|
|
217
|
+
| --color-tertiary-on-container-variant | --color-grey-600 | --color-grey-600 |
|
|
218
|
+
|
|
219
|
+
#### Success
|
|
220
|
+
|
|
221
|
+
| Token | Light | Dark |
|
|
222
|
+
| ------------------------------------ | ---------------- | ---------------- |
|
|
223
|
+
| --color-success-color | --color-mint-400 | --color-mint-300 |
|
|
224
|
+
| --color-success-on-color | --color-white | --color-grey-600 |
|
|
225
|
+
| --color-success-container | --color-mint-200 | --color-mint-500 |
|
|
226
|
+
| --color-success-on-container | --color-grey-600 | --color-white |
|
|
227
|
+
| --color-success-container-variant | --color-mint-100 | --color-mint-600 |
|
|
228
|
+
| --color-success-on-container-variant | --color-mint-600 | --color-mint-300 |
|
|
229
|
+
|
|
230
|
+
#### Danger
|
|
231
|
+
|
|
232
|
+
| Token | Light | Dark |
|
|
233
|
+
| ----------------------------------- | ------------------ | ------------------ |
|
|
234
|
+
| --color-danger-color | --color-radish-400 | --color-radish-400 |
|
|
235
|
+
| --color-danger-on-color | --color-white | --color-grey-600 |
|
|
236
|
+
| --color-danger-container | --color-radish-200 | --color-radish-500 |
|
|
237
|
+
| --color-danger-on-container | --color-grey-600 | --color-white |
|
|
238
|
+
| --color-danger-container-variant | --color-radish-100 | --color-radish-600 |
|
|
239
|
+
| --color-danger-on-container-variant | --color-radish-600 | --color-radish-300 |
|
|
240
|
+
|
|
241
|
+
#### Warning
|
|
242
|
+
|
|
243
|
+
| Token | Light | Dark |
|
|
244
|
+
| ------------------------------------ | ------------------ | ------------------ |
|
|
245
|
+
| --color-warning-color | --color-banana-400 | --color-banana-300 |
|
|
246
|
+
| --color-warning-on-color | --color-white | --color-grey-600 |
|
|
247
|
+
| --color-warning-container | --color-banana-200 | --color-banana-500 |
|
|
248
|
+
| --color-warning-on-container | --color-grey-600 | --color-white |
|
|
249
|
+
| --color-warning-container-variant | --color-banana-100 | --color-banana-600 |
|
|
250
|
+
| --color-warning-on-container-variant | --color-banana-600 | --color-banana-300 |
|
|
251
|
+
|
|
252
|
+
#### Info
|
|
253
|
+
|
|
254
|
+
| Token | Light | Dark |
|
|
255
|
+
| --------------------------------- | --------------------- | --------------------- |
|
|
256
|
+
| --color-info-color | --color-blueberry-400 | --color-blueberry-300 |
|
|
257
|
+
| --color-info-on-color | --color-white | --color-grey-600 |
|
|
258
|
+
| --color-info-container | --color-blueberry-200 | --color-blueberry-500 |
|
|
259
|
+
| --color-info-on-container | --color-grey-600 | --color-white |
|
|
260
|
+
| --color-info-container-variant | --color-blueberry-100 | --color-blueberry-600 |
|
|
261
|
+
| --color-info-on-container-variant | --color-blueberry-600 | --color-blueberry-300 |
|
|
262
|
+
|
|
263
|
+
#### Upsell
|
|
264
|
+
|
|
265
|
+
| Token | Light | Dark |
|
|
266
|
+
| ----------------------------------- | -------------------- | -------------------- |
|
|
267
|
+
| --color-upsell-color | --color-eggplant-400 | --color-eggplant-300 |
|
|
268
|
+
| --color-upsell-on-color | --color-white | --color-grey-600 |
|
|
269
|
+
| --color-upsell-color-variant | --color-eggplant-300 | --color-eggplant-300 |
|
|
270
|
+
| --color-upsell-on-color-variant | --color-grey-600 | --color-grey-600 |
|
|
271
|
+
| --color-upsell-container | --color-eggplant-200 | --color-eggplant-500 |
|
|
272
|
+
| --color-upsell-on-container | --color-grey-600 | --color-white |
|
|
273
|
+
| --color-upsell-container-variant | --color-eggplant-100 | --color-eggplant-600 |
|
|
274
|
+
| --color-upsell-on-container-variant | --color-eggplant-600 | --color-eggplant-300 |
|
|
275
|
+
|
|
276
|
+
#### Shadow
|
|
277
|
+
|
|
278
|
+
| Token | Light | Dark |
|
|
279
|
+
| ---------------------- | ------------------------------------ | ------------------------------------ |
|
|
280
|
+
| --color-shadow-overlay | --color-neutral-black-transparent-20 | --color-neutral-black-transparent-40 |
|
|
281
|
+
| --color-shadow-active | --color-blackberry-400 | --color-blackberry-400 |
|
|
282
|
+
|
|
283
|
+
#### Hover
|
|
284
|
+
|
|
285
|
+
| Token | Light | Dark |
|
|
286
|
+
| --------------------- | ------------------------------------ | ------------------------------------ |
|
|
287
|
+
| --color-hover-darken | --color-neutral-black-transparent-05 | --color-neutral-white-transparent-05 |
|
|
288
|
+
| --color-hover-lighten | --color-neutral-white-transparent-20 | --color-neutral-black-transparent-20 |
|
|
289
|
+
| --color-hover-inverse | --color-neutral-white-transparent-05 | --color-neutral-black-transparent-05 |
|
|
290
|
+
|
|
291
|
+
#### Brand & Graphic
|
|
292
|
+
|
|
293
|
+
| Token | Light | Dark |
|
|
294
|
+
| ---------------------------------------- | ------------- | ------------- |
|
|
295
|
+
| --color-brand-neutrals-caviar-dynamic | --color-black | --color-white |
|
|
296
|
+
| --color-brand-neutrals-chefscoat-dynamic | --color-white | --color-black |
|
|
297
|
+
| --color-on-graphic-black | --color-black | --color-black |
|
|
298
|
+
| --color-on-graphic-white | --color-white | --color-white |
|
|
299
|
+
|
|
300
|
+
## Typography
|
|
301
|
+
|
|
302
|
+
Ideally, you won't need to use the typography tokens, as you will be using the Sous Chef `<Text>` component in most cases. However, if there is a specific place where you need to style a component and need to set a typography token, then you can see the following values:
|
|
303
|
+
|
|
304
|
+
### Font family
|
|
305
|
+
|
|
306
|
+
| Token | Value |
|
|
307
|
+
| --------------------- | -------------------- |
|
|
308
|
+
| --font-family-heading | 'SF Pro', sans-serif |
|
|
309
|
+
| --font-family-body | 'SF Pro', sans-serif |
|
|
310
|
+
|
|
311
|
+
### Font size
|
|
312
|
+
|
|
313
|
+
| Token | Value |
|
|
314
|
+
| --------------- | -------- |
|
|
315
|
+
| --font-size-100 | 0.75rem |
|
|
316
|
+
| --font-size-200 | 0.875rem |
|
|
317
|
+
| --font-size-300 | 1rem |
|
|
318
|
+
| --font-size-400 | 1.25rem |
|
|
319
|
+
| --font-size-500 | 1.5rem |
|
|
320
|
+
| --font-size-600 | 1.75rem |
|
|
321
|
+
| --font-size-700 | 2.5rem |
|
|
322
|
+
|
|
323
|
+
### Line Height
|
|
324
|
+
|
|
325
|
+
| Token | Value |
|
|
326
|
+
| ---------------------- | -------- |
|
|
327
|
+
| --font-line-height-100 | 1rem |
|
|
328
|
+
| --font-line-height-200 | 1.125rem |
|
|
329
|
+
| --font-line-height-300 | 1.25rem |
|
|
330
|
+
| --font-line-height-400 | 1.5rem |
|
|
331
|
+
| --font-line-height-500 | 1.75rem |
|
|
332
|
+
| --font-line-height-600 | 2rem |
|
|
333
|
+
| --font-line-height-700 | 2.75rem |
|
|
334
|
+
|
|
335
|
+
### Font Weight
|
|
336
|
+
|
|
337
|
+
| Token | Value |
|
|
338
|
+
| ------------------------ | ----- |
|
|
339
|
+
| --p-font-weight-light | 300 |
|
|
340
|
+
| --p-font-weight-normal | 400 |
|
|
341
|
+
| --p-font-weight-semibold | 500 |
|
|
342
|
+
| --p-font-weight-bold | 600 |
|
|
343
|
+
|
|
344
|
+
## Border radius
|
|
345
|
+
|
|
346
|
+
Most of the time you won't need to use these tokens because it is baked into Sous Chef components (for example, Buttons, Cards, Data Tables, and others). However, if you need to create a custom experience and need to add border radius, then you can use the following tokens:
|
|
347
|
+
|
|
348
|
+
| Token | Value |
|
|
349
|
+
| ------------------- | ----- |
|
|
350
|
+
| --border-radius-300 | 4px |
|
|
351
|
+
| --border-radius-400 | 8px |
|
|
352
|
+
| --border-radius-600 | 20px |
|
|
353
|
+
|
|
354
|
+
## Spacing
|
|
355
|
+
|
|
356
|
+
We don't have defined tokens for spacing, such as padding, margin, gap, and others. However, always use a spacing unit of `4px`, for example:
|
|
357
|
+
|
|
358
|
+
```
|
|
359
|
+
margin: 4px;
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
In Sous Chef, we have the `Stack` and `Inline` components that are responsible for putting elements in a stack or side by side, and they have a `space` prop. The default is `20px` if not passed. For example:
|
|
363
|
+
|
|
364
|
+
```
|
|
365
|
+
<Stack space={12}>
|
|
366
|
+
<Card>Card 1</Card>
|
|
367
|
+
<Card>Card 2</Card>
|
|
368
|
+
<Stack>
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
In the application level, it might be available a SCSS variable for spacing:
|
|
372
|
+
|
|
373
|
+
```
|
|
374
|
+
// Space based on a 4px multiplier.
|
|
375
|
+
$space-1x: 4px;
|
|
376
|
+
$space-2x: $space-1x * 2;
|
|
377
|
+
$space-3x: $space-1x * 3;
|
|
378
|
+
$space-4x: $space-1x * 4;
|
|
379
|
+
$space-5x: $space-1x * 5;
|
|
380
|
+
$space-6x: $space-1x * 6;
|
|
381
|
+
$space-7x: $space-1x * 7;
|
|
382
|
+
$space-8x: $space-1x * 8;
|
|
383
|
+
$space-9x: $space-1x * 9;
|
|
384
|
+
$space-10x: $space-1x * 10;
|
|
385
|
+
$space-11x: $space-1x * 11;
|
|
386
|
+
$space-12x: $space-1x * 12;
|
|
387
|
+
$space-13x: $space-1x * 13;
|
|
388
|
+
$space-14x: $space-1x * 14;
|
|
389
|
+
$space-15x: $space-1x * 15;
|
|
390
|
+
$space-16x: $space-1x * 16;
|
|
391
|
+
$space-17x: $space-1x * 17;
|
|
392
|
+
$space-18x: $space-1x * 18;
|
|
393
|
+
$space-19x: $space-1x * 19;
|
|
394
|
+
$space-20x: $space-1x * 20;
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
If there is a spacing variable available, then prefer using it instead of a hardcoded value.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Sous Chef Design System
|
|
2
|
+
|
|
3
|
+
> A comprehensive design system that provides a unified set of components, tokens, and guidelines for building consistent, accessible, and responsive user interfaces across 7shifts apps.
|
|
4
|
+
|
|
5
|
+
## Design Tokens
|
|
6
|
+
|
|
7
|
+
The foundational design decisions and values that ensure consistency across the design system.
|
|
8
|
+
|
|
9
|
+
- [Design Tokens Documentation](llms-tokens.md)
|
|
10
|
+
- Purpose: Single source of truth for design decisions
|
|
11
|
+
- Key features:
|
|
12
|
+
- Color tokens (background, text, border, etc.)
|
|
13
|
+
- Typography tokens (font size, line height, font weight)
|
|
14
|
+
- Border radius tokens
|
|
15
|
+
- Spacing tokens
|
|
16
|
+
|
|
17
|
+
## Components
|
|
18
|
+
|
|
19
|
+
Building block components made in React for creating consistent user interfaces.
|
|
20
|
+
|
|
21
|
+
- [Components Documentation](llms-components.md)
|
|
22
|
+
- Purpose: Ready-to-use UI components
|
|
23
|
+
- Categories:
|
|
24
|
+
- Actions (Button, Link, PaginationControls, Toggle)
|
|
25
|
+
- Controls (DateFilter, SegmentedControl, ToolbarSelect)
|
|
26
|
+
- Empty States (EmptyState, Paywall)
|
|
27
|
+
- Feedback (CircularProgress, InlineBanner, MicroBanner, PersistentBanner, ProgressBar, Skeleton, Spinner, Toast)
|
|
28
|
+
- Forms (AsyncSelectField, CheckboxField, ColorField, CurrencyField, DateField, DateRangeField, SelectField, TextField, and others)
|
|
29
|
+
- Media (Avatar, Badge, Chip, Pill)
|
|
30
|
+
- Layout (CalloutCard, Card, Inline, Page, PageLayout, Stack)
|
|
31
|
+
- Lists (Accordion, ActionList, DataTable)
|
|
32
|
+
- Navigation (Breadcrumbs)
|
|
33
|
+
- Overlay (Calendar, Dropdown, HintModal, Modal, Popover, Tooltip)
|
|
34
|
+
- Typography (Text)
|
|
35
|
+
|
|
36
|
+
## Icons and Illustrations
|
|
37
|
+
|
|
38
|
+
Media components to be used alongside other components.
|
|
39
|
+
|
|
40
|
+
- [Icons and Illustrations Documentation](llms-icons-and-illustrations.md)
|
|
41
|
+
- Purpose: Dictionary of all the icons and illustrations available to use
|
|
42
|
+
- Categories:
|
|
43
|
+
- Icons
|
|
44
|
+
- Illustrations
|
|
45
|
+
|
|
46
|
+
## Composing components
|
|
47
|
+
|
|
48
|
+
Practical examples with code snippets on how to compose some common interfaces.
|
|
49
|
+
|
|
50
|
+
- [Composing components](llms-composing-components.md)
|
|
51
|
+
- Purpose: Examples of how to compose common UI
|
|
52
|
+
- Examples:
|
|
53
|
+
- Pages
|
|
54
|
+
- Forms
|
|
55
|
+
- Data Tables (list of data)
|
|
56
|
+
|
|
57
|
+
## Missing components
|
|
58
|
+
|
|
59
|
+
There is a few missing components in the library. When you need something that does not exist in the library, first check if there is something available in the shared components in the application, if nothing was found, then you are free to create your own but, using the Sous Chef tokens.
|
|
60
|
+
|
|
61
|
+
Here are the missing components:
|
|
62
|
+
|
|
63
|
+
- Tab
|
|
64
|
+
- Full screen modals
|
|
65
|
+
- File upload form field
|
|
66
|
+
- Grid system
|
|
67
|
+
- App layout structure (something with slots for top bar, left nav and content)
|
|
68
|
+
|
|
69
|
+
## Constraints
|
|
70
|
+
|
|
71
|
+
To ensure the generated code is consistent, follow these rules:
|
|
72
|
+
|
|
73
|
+
- Don't use hardcoded color hashes. Always use a semantic color token ([reference to color tokens](llms-tokens.md)).
|
|
74
|
+
- Not everything needs to use a Sous Chef component. If you notice something is missing in Sous Chef, you can treat that as custom UI to solve a specific problem. In this case:
|
|
75
|
+
- Structure the component in isolation (separate folder, with its own style file, and tests)
|
|
76
|
+
- Make sure it uses the Sous Chef design tokens
|
|
77
|
+
- For text, always try to use the props for the component, for example, the `TextField` component takes a `label` prop for the text, the same goes for other components.
|
|
78
|
+
- If there is no prop for the text, DON'T use `p`, `h1`, `h2`, `h3`, and others. Instead, use the `<Text>` component, which exposes the `as` prop, for example `<Text as="h1">Title</Text>`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@7shifts/sous-chef",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"description": "7shifts component library",
|
|
5
5
|
"author": "7shifts",
|
|
6
6
|
"license": "MIT",
|
|
@@ -105,7 +105,8 @@
|
|
|
105
105
|
"yup": "^0.32.9"
|
|
106
106
|
},
|
|
107
107
|
"files": [
|
|
108
|
-
"dist"
|
|
108
|
+
"dist",
|
|
109
|
+
"llms-instructions"
|
|
109
110
|
],
|
|
110
111
|
"dependencies": {
|
|
111
112
|
"classnames": "^2.3.2",
|