@discourser/design-system 0.22.3 → 0.23.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/{chunk-WSJLKVXZ.cjs → chunk-AGZVRI36.cjs} +130 -2
- package/dist/chunk-AGZVRI36.cjs.map +1 -0
- package/dist/{chunk-GLPWI7OF.js → chunk-HN2IHIMR.js} +13 -7
- package/dist/chunk-HN2IHIMR.js.map +1 -0
- package/dist/{chunk-NN4YW27E.cjs → chunk-KIJKNZ73.cjs} +13 -7
- package/dist/chunk-KIJKNZ73.cjs.map +1 -0
- package/dist/{chunk-NU6GI57K.js → chunk-KQOHRIUP.js} +130 -3
- package/dist/chunk-KQOHRIUP.js.map +1 -0
- package/dist/components/Icons/AppleLoginIcon.d.ts +6 -0
- package/dist/components/Icons/AppleLoginIcon.d.ts.map +1 -0
- package/dist/components/Icons/GoogleLoginIcon.d.ts +6 -0
- package/dist/components/Icons/GoogleLoginIcon.d.ts.map +1 -0
- package/dist/components/Icons/index.d.ts +2 -0
- package/dist/components/Icons/index.d.ts.map +1 -1
- package/dist/components/divider/divider.d.ts +9 -0
- package/dist/components/divider/divider.d.ts.map +1 -0
- package/dist/components/divider/index.d.ts +2 -0
- package/dist/components/divider/index.d.ts.map +1 -0
- package/dist/components/index.cjs +73 -69
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/contracts/design-language.contract.d.ts +2 -0
- package/dist/contracts/design-language.contract.d.ts.map +1 -1
- package/dist/figma-codex.json +2 -2
- package/dist/index.cjs +77 -73
- package/dist/index.js +2 -2
- package/dist/languages/material3.language.d.ts.map +1 -1
- package/dist/languages/transform.d.ts +1 -0
- package/dist/languages/transform.d.ts.map +1 -1
- package/dist/preset/index.cjs +2 -2
- package/dist/preset/index.js +1 -1
- package/package.json +1 -1
- package/src/components/Icons/AppleLoginIcon.tsx +21 -0
- package/src/components/Icons/GoogleLoginIcon.tsx +36 -0
- package/src/components/Icons/index.ts +2 -0
- package/src/components/divider/divider.tsx +125 -0
- package/src/components/divider/index.ts +1 -0
- package/src/components/index.ts +3 -0
- package/src/contracts/design-language.contract.ts +3 -1
- package/src/languages/material3.language.ts +55 -45
- package/src/languages/transform.ts +3 -0
- package/src/stories/foundations/Typography.mdx +5 -2
- package/dist/chunk-GLPWI7OF.js.map +0 -1
- package/dist/chunk-NN4YW27E.cjs.map +0 -1
- package/dist/chunk-NU6GI57K.js.map +0 -1
- package/dist/chunk-WSJLKVXZ.cjs.map +0 -1
- package/docs/context-share/STORY-001-VALIDATION-PASSED.md +0 -192
- package/docs/context-share/STORY-002-IMPLEMENTATION-COMPLETE.md +0 -161
- package/docs/context-share/STORYBOOK_MCP_STRATEGY.md +0 -867
- package/docs/context-share/m3-token-pipeline-audit.md +0 -125
- package/docs/context-share/storybook-mcp-kai-agent-revised-summary.md +0 -211
|
@@ -25,7 +25,7 @@ export const material3Language: DesignLanguageContract = {
|
|
|
25
25
|
90: '#B2F65F',
|
|
26
26
|
95: '#D2FF9B',
|
|
27
27
|
99: '#F9FFE9',
|
|
28
|
-
100: '#FFFFFF'
|
|
28
|
+
100: '#FFFFFF',
|
|
29
29
|
},
|
|
30
30
|
secondary: {
|
|
31
31
|
0: '#000000',
|
|
@@ -40,7 +40,7 @@ export const material3Language: DesignLanguageContract = {
|
|
|
40
40
|
90: '#D7E9BB',
|
|
41
41
|
95: '#E5F7C9',
|
|
42
42
|
99: '#F9FFE9',
|
|
43
|
-
100: '#FFFFFF'
|
|
43
|
+
100: '#FFFFFF',
|
|
44
44
|
},
|
|
45
45
|
tertiary: {
|
|
46
46
|
0: '#000000',
|
|
@@ -55,7 +55,7 @@ export const material3Language: DesignLanguageContract = {
|
|
|
55
55
|
90: '#A1F1EB',
|
|
56
56
|
95: '#B0FFF9',
|
|
57
57
|
99: '#F2FFFD',
|
|
58
|
-
100: '#FFFFFF'
|
|
58
|
+
100: '#FFFFFF',
|
|
59
59
|
},
|
|
60
60
|
neutral: {
|
|
61
61
|
0: '#000000',
|
|
@@ -70,7 +70,7 @@ export const material3Language: DesignLanguageContract = {
|
|
|
70
70
|
90: '#E3E3DB',
|
|
71
71
|
95: '#F2F1E9',
|
|
72
72
|
99: '#FDFCF5',
|
|
73
|
-
100: '#FFFFFF'
|
|
73
|
+
100: '#FFFFFF',
|
|
74
74
|
},
|
|
75
75
|
neutralVariant: {
|
|
76
76
|
0: '#000000',
|
|
@@ -85,7 +85,7 @@ export const material3Language: DesignLanguageContract = {
|
|
|
85
85
|
90: '#E1E4D5',
|
|
86
86
|
95: '#EFF2E3',
|
|
87
87
|
99: '#FBFEEE',
|
|
88
|
-
100: '#FFFFFF'
|
|
88
|
+
100: '#FFFFFF',
|
|
89
89
|
},
|
|
90
90
|
error: {
|
|
91
91
|
0: '#000000',
|
|
@@ -100,8 +100,8 @@ export const material3Language: DesignLanguageContract = {
|
|
|
100
100
|
90: '#F9DEDC',
|
|
101
101
|
95: '#FCEEEE',
|
|
102
102
|
99: '#FFFBF9',
|
|
103
|
-
100: '#FFFFFF'
|
|
104
|
-
}
|
|
103
|
+
100: '#FFFFFF',
|
|
104
|
+
},
|
|
105
105
|
},
|
|
106
106
|
|
|
107
107
|
semantic: {
|
|
@@ -148,7 +148,7 @@ export const material3Language: DesignLanguageContract = {
|
|
|
148
148
|
onBackground: '#1A1C16',
|
|
149
149
|
|
|
150
150
|
scrim: '#000000',
|
|
151
|
-
shadow: '#000000'
|
|
151
|
+
shadow: '#000000',
|
|
152
152
|
},
|
|
153
153
|
|
|
154
154
|
// Dark theme semantic colors (for reference/dark mode implementation)
|
|
@@ -195,14 +195,14 @@ export const material3Language: DesignLanguageContract = {
|
|
|
195
195
|
onBackground: '#E2E3D8',
|
|
196
196
|
|
|
197
197
|
scrim: '#000000',
|
|
198
|
-
shadow: '#000000'
|
|
198
|
+
shadow: '#000000',
|
|
199
199
|
},
|
|
200
200
|
|
|
201
201
|
typography: {
|
|
202
202
|
fonts: {
|
|
203
203
|
display: '"Fraunces", Georgia, serif',
|
|
204
204
|
body: '"Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
|
|
205
|
-
mono: '"JetBrains Mono", "Fira Code", Consolas, monospace'
|
|
205
|
+
mono: '"JetBrains Mono", "Fira Code", Consolas, monospace',
|
|
206
206
|
},
|
|
207
207
|
scale: {
|
|
208
208
|
displayLarge: {
|
|
@@ -210,119 +210,124 @@ export const material3Language: DesignLanguageContract = {
|
|
|
210
210
|
lineHeight: '64px',
|
|
211
211
|
fontWeight: '400',
|
|
212
212
|
letterSpacing: '-0.25px',
|
|
213
|
-
fontFamily: 'display'
|
|
213
|
+
fontFamily: 'display',
|
|
214
|
+
fontVariationSettings: "'SOFT' 0, 'WONK' 1",
|
|
214
215
|
},
|
|
215
216
|
displayMedium: {
|
|
216
217
|
fontSize: '45px',
|
|
217
218
|
lineHeight: '52px',
|
|
218
219
|
fontWeight: '400',
|
|
219
220
|
letterSpacing: '0px',
|
|
220
|
-
fontFamily: 'display'
|
|
221
|
+
fontFamily: 'display',
|
|
221
222
|
},
|
|
222
223
|
displaySmall: {
|
|
223
224
|
fontSize: '36px',
|
|
224
225
|
lineHeight: '44px',
|
|
225
226
|
fontWeight: '400',
|
|
226
227
|
letterSpacing: '0px',
|
|
227
|
-
fontFamily: 'display'
|
|
228
|
+
fontFamily: 'display',
|
|
228
229
|
},
|
|
229
230
|
headlineLarge: {
|
|
230
231
|
fontSize: '32px',
|
|
231
232
|
lineHeight: '40px',
|
|
232
233
|
fontWeight: '400',
|
|
233
234
|
letterSpacing: '0px',
|
|
234
|
-
fontFamily: 'display'
|
|
235
|
+
fontFamily: 'display',
|
|
235
236
|
},
|
|
236
237
|
headlineMedium: {
|
|
237
238
|
fontSize: '28px',
|
|
238
239
|
lineHeight: '36px',
|
|
239
240
|
fontWeight: '400',
|
|
240
241
|
letterSpacing: '0px',
|
|
241
|
-
fontFamily: 'display'
|
|
242
|
+
fontFamily: 'display',
|
|
243
|
+
fontVariationSettings: "'SOFT' 0, 'WONK' 1",
|
|
242
244
|
},
|
|
243
245
|
headlineSmall: {
|
|
244
246
|
fontSize: '24px',
|
|
245
247
|
lineHeight: '32px',
|
|
246
248
|
fontWeight: '400',
|
|
247
249
|
letterSpacing: '0px',
|
|
248
|
-
fontFamily: 'display'
|
|
250
|
+
fontFamily: 'display',
|
|
249
251
|
},
|
|
250
252
|
titleLarge: {
|
|
251
253
|
fontSize: '22px',
|
|
252
254
|
lineHeight: '28px',
|
|
253
255
|
fontWeight: '500',
|
|
254
256
|
letterSpacing: '0px',
|
|
255
|
-
fontFamily: 'body'
|
|
257
|
+
fontFamily: 'body',
|
|
256
258
|
},
|
|
257
259
|
titleMedium: {
|
|
258
260
|
fontSize: '16px',
|
|
259
261
|
lineHeight: '24px',
|
|
260
262
|
fontWeight: '500',
|
|
261
263
|
letterSpacing: '0.15px',
|
|
262
|
-
fontFamily: 'body'
|
|
264
|
+
fontFamily: 'body',
|
|
263
265
|
},
|
|
264
266
|
titleSmall: {
|
|
265
267
|
fontSize: '14px',
|
|
266
268
|
lineHeight: '20px',
|
|
267
269
|
fontWeight: '500',
|
|
268
270
|
letterSpacing: '0.1px',
|
|
269
|
-
fontFamily: 'body'
|
|
271
|
+
fontFamily: 'body',
|
|
270
272
|
},
|
|
273
|
+
// Custom override: bodyLarge bumped to 18px/28px (was M3 default 16px/24px)
|
|
274
|
+
// Decision date: 2026-03-24
|
|
271
275
|
bodyLarge: {
|
|
272
|
-
fontSize: '
|
|
273
|
-
lineHeight: '
|
|
276
|
+
fontSize: '18px',
|
|
277
|
+
lineHeight: '28px',
|
|
274
278
|
fontWeight: '400',
|
|
275
279
|
letterSpacing: '0.5px',
|
|
276
|
-
fontFamily: 'body'
|
|
280
|
+
fontFamily: 'body',
|
|
277
281
|
},
|
|
278
282
|
bodyMedium: {
|
|
279
283
|
fontSize: '14px',
|
|
280
284
|
lineHeight: '20px',
|
|
281
285
|
fontWeight: '400',
|
|
282
286
|
letterSpacing: '0.25px',
|
|
283
|
-
fontFamily: 'body'
|
|
287
|
+
fontFamily: 'body',
|
|
284
288
|
},
|
|
285
289
|
bodySmall: {
|
|
286
290
|
fontSize: '12px',
|
|
287
291
|
lineHeight: '16px',
|
|
288
292
|
fontWeight: '400',
|
|
289
293
|
letterSpacing: '0.4px',
|
|
290
|
-
fontFamily: 'body'
|
|
294
|
+
fontFamily: 'body',
|
|
291
295
|
},
|
|
292
296
|
labelLarge: {
|
|
293
297
|
fontSize: '14px',
|
|
294
298
|
lineHeight: '20px',
|
|
295
299
|
fontWeight: '500',
|
|
296
300
|
letterSpacing: '0.1px',
|
|
297
|
-
fontFamily: 'body'
|
|
301
|
+
fontFamily: 'body',
|
|
298
302
|
},
|
|
299
303
|
labelMedium: {
|
|
300
304
|
fontSize: '12px',
|
|
301
305
|
lineHeight: '16px',
|
|
302
306
|
fontWeight: '500',
|
|
303
307
|
letterSpacing: '0.5px',
|
|
304
|
-
fontFamily: 'body'
|
|
308
|
+
fontFamily: 'body',
|
|
305
309
|
},
|
|
306
310
|
labelSmall: {
|
|
307
311
|
fontSize: '11px',
|
|
308
312
|
lineHeight: '16px',
|
|
309
313
|
fontWeight: '500',
|
|
310
314
|
letterSpacing: '0.5px',
|
|
311
|
-
fontFamily: 'body'
|
|
312
|
-
}
|
|
313
|
-
}
|
|
315
|
+
fontFamily: 'body',
|
|
316
|
+
},
|
|
317
|
+
},
|
|
314
318
|
},
|
|
315
319
|
|
|
316
320
|
spacing: {
|
|
317
321
|
none: '0px',
|
|
318
322
|
xxs: '2px',
|
|
319
323
|
xs: '4px',
|
|
324
|
+
'2xs': '12px',
|
|
320
325
|
sm: '8px',
|
|
321
326
|
md: '16px',
|
|
322
327
|
lg: '24px',
|
|
323
328
|
xl: '32px',
|
|
324
329
|
xxl: '48px',
|
|
325
|
-
xxxl: '64px'
|
|
330
|
+
xxxl: '64px',
|
|
326
331
|
},
|
|
327
332
|
|
|
328
333
|
shape: {
|
|
@@ -333,21 +338,26 @@ export const material3Language: DesignLanguageContract = {
|
|
|
333
338
|
medium: '12px',
|
|
334
339
|
large: '16px',
|
|
335
340
|
extraLarge: '28px',
|
|
336
|
-
full: '9999px'
|
|
341
|
+
full: '9999px',
|
|
337
342
|
},
|
|
338
|
-
style: 'rounded'
|
|
343
|
+
style: 'rounded',
|
|
339
344
|
},
|
|
340
345
|
|
|
341
346
|
elevation: {
|
|
342
347
|
levels: {
|
|
343
348
|
level0: 'none',
|
|
344
|
-
level1:
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
+
level1:
|
|
350
|
+
'0px 1px 2px rgba(0, 0, 0, 0.3), 0px 1px 3px 1px rgba(0, 0, 0, 0.15)',
|
|
351
|
+
level2:
|
|
352
|
+
'0px 1px 2px rgba(0, 0, 0, 0.3), 0px 2px 6px 2px rgba(0, 0, 0, 0.15)',
|
|
353
|
+
level3:
|
|
354
|
+
'0px 4px 8px 3px rgba(0, 0, 0, 0.15), 0px 1px 3px rgba(0, 0, 0, 0.3)',
|
|
355
|
+
level4:
|
|
356
|
+
'0px 6px 10px 4px rgba(0, 0, 0, 0.15), 0px 2px 3px rgba(0, 0, 0, 0.3)',
|
|
357
|
+
level5:
|
|
358
|
+
'0px 8px 12px 6px rgba(0, 0, 0, 0.15), 0px 4px 4px rgba(0, 0, 0, 0.3)',
|
|
349
359
|
},
|
|
350
|
-
style: 'shadow'
|
|
360
|
+
style: 'shadow',
|
|
351
361
|
},
|
|
352
362
|
|
|
353
363
|
motion: {
|
|
@@ -356,7 +366,7 @@ export const material3Language: DesignLanguageContract = {
|
|
|
356
366
|
fast: '100ms',
|
|
357
367
|
normal: '200ms',
|
|
358
368
|
slow: '300ms',
|
|
359
|
-
slower: '500ms'
|
|
369
|
+
slower: '500ms',
|
|
360
370
|
},
|
|
361
371
|
easings: {
|
|
362
372
|
standard: 'cubic-bezier(0.2, 0, 0, 1)',
|
|
@@ -364,16 +374,16 @@ export const material3Language: DesignLanguageContract = {
|
|
|
364
374
|
standardAccelerate: 'cubic-bezier(0.3, 0, 1, 1)',
|
|
365
375
|
emphasized: 'cubic-bezier(0.2, 0, 0, 1)',
|
|
366
376
|
emphasizedDecelerate: 'cubic-bezier(0.05, 0.7, 0.1, 1)',
|
|
367
|
-
emphasizedAccelerate: 'cubic-bezier(0.3, 0, 0.8, 0.15)'
|
|
377
|
+
emphasizedAccelerate: 'cubic-bezier(0.3, 0, 0.8, 0.15)',
|
|
368
378
|
},
|
|
369
|
-
style: 'expressive'
|
|
379
|
+
style: 'expressive',
|
|
370
380
|
},
|
|
371
381
|
|
|
372
382
|
border: {
|
|
373
383
|
widths: {
|
|
374
384
|
thin: '1px',
|
|
375
385
|
medium: '2px',
|
|
376
|
-
thick: '4px'
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
};
|
|
386
|
+
thick: '4px',
|
|
387
|
+
},
|
|
388
|
+
},
|
|
389
|
+
};
|
|
@@ -89,6 +89,9 @@ function transformTextStyles(language: DesignLanguageContract) {
|
|
|
89
89
|
lineHeight: style.lineHeight,
|
|
90
90
|
fontWeight: style.fontWeight,
|
|
91
91
|
letterSpacing: style.letterSpacing,
|
|
92
|
+
...(style.fontVariationSettings
|
|
93
|
+
? { fontVariationSettings: style.fontVariationSettings }
|
|
94
|
+
: {}),
|
|
92
95
|
},
|
|
93
96
|
},
|
|
94
97
|
]),
|
|
@@ -164,11 +164,14 @@ Titles are for medium-emphasis text that remains relatively short. Use titles fo
|
|
|
164
164
|
|
|
165
165
|
Body styles are used for longer passages of text in your app.
|
|
166
166
|
|
|
167
|
+
> **Note:** `bodyLarge` is a custom override from the M3 default (16px → 18px).
|
|
168
|
+
> This provides better readability for primary content at Discourser's reading densities.
|
|
169
|
+
|
|
167
170
|
<TypeSpecimen
|
|
168
171
|
styleName="bodyLarge"
|
|
169
172
|
name="Body Large"
|
|
170
|
-
fontSize="
|
|
171
|
-
lineHeight="
|
|
173
|
+
fontSize="18px"
|
|
174
|
+
lineHeight="28px"
|
|
172
175
|
fontWeight="400"
|
|
173
176
|
letterSpacing="0.5px"
|
|
174
177
|
fontFamily="body"
|