@mindlogic-ai/logician-ui 4.0.0-alpha.21 → 4.0.0-alpha.23
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/components/ErrorFallback/ErrorFallback.d.ts.map +1 -1
- package/dist/components/ErrorFallback/ErrorFallback.js +13 -2
- package/dist/components/ErrorFallback/ErrorFallback.js.map +1 -1
- package/dist/components/ErrorFallback/ErrorFallback.mjs +13 -2
- package/dist/components/ErrorFallback/ErrorFallback.mjs.map +1 -1
- package/dist/components/FileInput/FileInput.d.ts.map +1 -1
- package/dist/components/FileInput/FileInput.js +7 -1
- package/dist/components/FileInput/FileInput.js.map +1 -1
- package/dist/components/FileInput/FileInput.mjs +7 -1
- package/dist/components/FileInput/FileInput.mjs.map +1 -1
- package/dist/components/Markdown/Markdown.d.ts.map +1 -1
- package/dist/components/Markdown/Markdown.js +6 -1
- package/dist/components/Markdown/Markdown.js.map +1 -1
- package/dist/components/Markdown/Markdown.mjs +6 -1
- package/dist/components/Markdown/Markdown.mjs.map +1 -1
- package/dist/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/Pagination.js +6 -1
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Pagination/Pagination.mjs +6 -1
- package/dist/components/Pagination/Pagination.mjs.map +1 -1
- package/dist/components/Radio/RadioControl.d.ts.map +1 -1
- package/dist/components/Radio/RadioControl.js +14 -1
- package/dist/components/Radio/RadioControl.js.map +1 -1
- package/dist/components/Radio/RadioControl.mjs +15 -2
- package/dist/components/Radio/RadioControl.mjs.map +1 -1
- package/dist/components/Select/ComboboxField.d.ts +1 -1
- package/dist/components/Select/ComboboxField.d.ts.map +1 -1
- package/dist/components/Select/ComboboxField.js +2 -2
- package/dist/components/Select/ComboboxField.js.map +1 -1
- package/dist/components/Select/ComboboxField.mjs +2 -2
- package/dist/components/Select/ComboboxField.mjs.map +1 -1
- package/dist/components/Select/Select.types.d.ts +16 -0
- package/dist/components/Select/Select.types.d.ts.map +1 -1
- package/dist/components/Select/SelectField.d.ts +1 -1
- package/dist/components/Select/SelectField.d.ts.map +1 -1
- package/dist/components/Select/SelectField.js +2 -2
- package/dist/components/Select/SelectField.js.map +1 -1
- package/dist/components/Select/SelectField.mjs +2 -2
- package/dist/components/Select/SelectField.mjs.map +1 -1
- package/dist/components/Slider/Slider.d.ts.map +1 -1
- package/dist/components/Slider/Slider.js +2 -2
- package/dist/components/Slider/Slider.js.map +1 -1
- package/dist/components/Slider/Slider.mjs +3 -3
- package/dist/components/Slider/Slider.mjs.map +1 -1
- package/dist/components/Slider/Slider.types.d.ts +15 -0
- package/dist/components/Slider/Slider.types.d.ts.map +1 -1
- package/dist/components/Typography/Link.d.ts +25 -0
- package/dist/components/Typography/Link.d.ts.map +1 -1
- package/dist/components/Typography/Link.js +44 -7
- package/dist/components/Typography/Link.js.map +1 -1
- package/dist/components/Typography/Link.mjs +44 -8
- package/dist/components/Typography/Link.mjs.map +1 -1
- package/dist/components/Typography/Subtitle.d.ts +17 -0
- package/dist/components/Typography/Subtitle.d.ts.map +1 -1
- package/dist/components/Typography/Subtitle.js +18 -1
- package/dist/components/Typography/Subtitle.js.map +1 -1
- package/dist/components/Typography/Subtitle.mjs +18 -1
- package/dist/components/Typography/Subtitle.mjs.map +1 -1
- package/dist/components/Typography/index.d.ts +1 -1
- package/dist/components/Typography/index.d.ts.map +1 -1
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.d.ts.map +1 -1
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.js +19 -2
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.js.map +1 -1
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.mjs +19 -2
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.mjs.map +1 -1
- package/dist/theme/colors.d.ts +145 -37
- package/dist/theme/colors.d.ts.map +1 -1
- package/dist/theme/colors.js +98 -68
- package/dist/theme/colors.js.map +1 -1
- package/dist/theme/colors.mjs +98 -68
- package/dist/theme/colors.mjs.map +1 -1
- package/package.json +2 -1
- package/src/components/ErrorFallback/ErrorFallback.tsx +30 -3
- package/src/components/FileInput/FileInput.tsx +11 -2
- package/src/components/Markdown/Markdown.tsx +6 -1
- package/src/components/Pagination/Pagination.tsx +5 -0
- package/src/components/Radio/RadioControl.tsx +20 -6
- package/src/components/Select/ComboboxField.tsx +11 -1
- package/src/components/Select/Select.types.ts +16 -0
- package/src/components/Select/SelectField.tsx +14 -1
- package/src/components/Slider/Slider.tsx +16 -1
- package/src/components/Slider/Slider.types.ts +15 -0
- package/src/components/Typography/Link.tsx +44 -7
- package/src/components/Typography/Subtitle.tsx +17 -1
- package/src/components/Typography/index.ts +1 -1
- package/src/components/Workflow/canvas/NodePalette/NodePalette.tsx +12 -2
- package/src/components/a11y.kwcag.test.tsx +412 -0
- package/src/theme/colors.ts +99 -69
package/dist/theme/colors.mjs
CHANGED
|
@@ -60,35 +60,11 @@
|
|
|
60
60
|
* <Badge bgColor="success.lightest" color="success.dark" />
|
|
61
61
|
* ```
|
|
62
62
|
*/
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
* dark-mode neutral below (`slate.*`, and the `_dark` of `bg`/`fg`/`border`)
|
|
69
|
-
* resolves to this desaturated mirror instead of the raw `gray` step. Light
|
|
70
|
-
* mode is untouched — it keeps referencing `{colors.gray.*}` verbatim.
|
|
71
|
-
*
|
|
72
|
-
* Single source of truth: change a dark neutral here, not at each token.
|
|
73
|
-
*/
|
|
74
|
-
const desaturatedGray = {
|
|
75
|
-
0: '#FEFEFF',
|
|
76
|
-
50: '#F8F9FB',
|
|
77
|
-
100: '#F2F4F7',
|
|
78
|
-
200: '#E5E8EC',
|
|
79
|
-
300: '#D2D5DB',
|
|
80
|
-
400: '#B6BAC3',
|
|
81
|
-
500: '#A2A6B1',
|
|
82
|
-
600: '#8E939F',
|
|
83
|
-
800: '#6A6F7C',
|
|
84
|
-
900: '#595E6B',
|
|
85
|
-
1000: '#4A4E5A',
|
|
86
|
-
1100: '#3C404B',
|
|
87
|
-
1200: '#30343C',
|
|
88
|
-
1300: '#23262E',
|
|
89
|
-
1400: '#181A20',
|
|
90
|
-
1500: '#0E1014',
|
|
91
|
-
};
|
|
63
|
+
// The dark-mode neutral family now lives in `colors.grayDark` (see below) so
|
|
64
|
+
// consumers can retint dark surfaces by overriding a primitive scale — exactly
|
|
65
|
+
// like `blue.*` for the brand ramp — instead of these values being unreachable
|
|
66
|
+
// hex literals. Every dark-mode neutral in the semantic tokens (`slate.*`, and
|
|
67
|
+
// the `_dark` of `bg`/`fg`/`border`) references `{colors.grayDark.N}`.
|
|
92
68
|
const semanticTokens = {
|
|
93
69
|
colors: {
|
|
94
70
|
/**
|
|
@@ -296,48 +272,56 @@ const semanticTokens = {
|
|
|
296
272
|
* dark canvas/surface — the straight mirrors measured ~3.0–3.9 there.
|
|
297
273
|
*/
|
|
298
274
|
slate: {
|
|
299
|
-
0: {
|
|
300
|
-
|
|
275
|
+
0: {
|
|
276
|
+
value: { base: '{colors.gray.0}', _dark: '{colors.grayDark.1500}' },
|
|
277
|
+
},
|
|
278
|
+
50: {
|
|
279
|
+
value: { base: '{colors.gray.50}', _dark: '{colors.grayDark.1400}' },
|
|
280
|
+
},
|
|
301
281
|
100: {
|
|
302
|
-
value: { base: '{colors.gray.100}', _dark:
|
|
282
|
+
value: { base: '{colors.gray.100}', _dark: '{colors.grayDark.1300}' },
|
|
303
283
|
},
|
|
304
284
|
200: {
|
|
305
|
-
value: { base: '{colors.gray.200}', _dark:
|
|
285
|
+
value: { base: '{colors.gray.200}', _dark: '{colors.grayDark.1200}' },
|
|
306
286
|
},
|
|
307
287
|
300: {
|
|
308
|
-
value: { base: '{colors.gray.300}', _dark:
|
|
288
|
+
value: { base: '{colors.gray.300}', _dark: '{colors.grayDark.1100}' },
|
|
309
289
|
},
|
|
310
290
|
400: {
|
|
311
|
-
value: { base: '{colors.gray.400}', _dark:
|
|
291
|
+
value: { base: '{colors.gray.400}', _dark: '{colors.grayDark.1000}' },
|
|
312
292
|
},
|
|
313
293
|
500: {
|
|
314
|
-
value: { base: '{colors.gray.500}', _dark:
|
|
294
|
+
value: { base: '{colors.gray.500}', _dark: '{colors.grayDark.900}' },
|
|
295
|
+
},
|
|
296
|
+
600: {
|
|
297
|
+
value: { base: '{colors.gray.600}', _dark: '{colors.grayDark.fg600}' },
|
|
298
|
+
},
|
|
299
|
+
700: {
|
|
300
|
+
value: { base: '{colors.gray.700}', _dark: '{colors.grayDark.fg700}' },
|
|
315
301
|
},
|
|
316
|
-
600: { value: { base: '{colors.gray.600}', _dark: '#898E99' } },
|
|
317
|
-
700: { value: { base: '{colors.gray.700}', _dark: '#8D919D' } },
|
|
318
302
|
800: {
|
|
319
|
-
value: { base: '{colors.gray.800}', _dark:
|
|
303
|
+
value: { base: '{colors.gray.800}', _dark: '{colors.grayDark.600}' },
|
|
320
304
|
},
|
|
321
305
|
900: {
|
|
322
|
-
value: { base: '{colors.gray.900}', _dark:
|
|
306
|
+
value: { base: '{colors.gray.900}', _dark: '{colors.grayDark.500}' },
|
|
323
307
|
},
|
|
324
308
|
1000: {
|
|
325
|
-
value: { base: '{colors.gray.1000}', _dark:
|
|
309
|
+
value: { base: '{colors.gray.1000}', _dark: '{colors.grayDark.400}' },
|
|
326
310
|
},
|
|
327
311
|
1100: {
|
|
328
|
-
value: { base: '{colors.gray.1100}', _dark:
|
|
312
|
+
value: { base: '{colors.gray.1100}', _dark: '{colors.grayDark.300}' },
|
|
329
313
|
},
|
|
330
314
|
1200: {
|
|
331
|
-
value: { base: '{colors.gray.1200}', _dark:
|
|
315
|
+
value: { base: '{colors.gray.1200}', _dark: '{colors.grayDark.200}' },
|
|
332
316
|
},
|
|
333
317
|
1300: {
|
|
334
|
-
value: { base: '{colors.gray.1300}', _dark:
|
|
318
|
+
value: { base: '{colors.gray.1300}', _dark: '{colors.grayDark.100}' },
|
|
335
319
|
},
|
|
336
320
|
1400: {
|
|
337
|
-
value: { base: '{colors.gray.1400}', _dark:
|
|
321
|
+
value: { base: '{colors.gray.1400}', _dark: '{colors.grayDark.50}' },
|
|
338
322
|
},
|
|
339
323
|
1500: {
|
|
340
|
-
value: { base: '{colors.gray.1500}', _dark:
|
|
324
|
+
value: { base: '{colors.gray.1500}', _dark: '{colors.grayDark.0}' },
|
|
341
325
|
},
|
|
342
326
|
},
|
|
343
327
|
/**
|
|
@@ -358,13 +342,13 @@ const semanticTokens = {
|
|
|
358
342
|
// value, so light is untouched); `_dark` rejoins our neutral floor instead
|
|
359
343
|
// of Chakra's off-palette black.
|
|
360
344
|
DEFAULT: {
|
|
361
|
-
value: { _light: '{colors.white}', _dark:
|
|
345
|
+
value: { _light: '{colors.white}', _dark: '{colors.grayDark.1500}' },
|
|
362
346
|
},
|
|
363
347
|
canvas: {
|
|
364
|
-
value: { base: '{colors.gray.0}', _dark:
|
|
348
|
+
value: { base: '{colors.gray.0}', _dark: '{colors.grayDark.1500}' },
|
|
365
349
|
},
|
|
366
350
|
surface: {
|
|
367
|
-
value: { base: '{colors.white}', _dark:
|
|
351
|
+
value: { base: '{colors.white}', _dark: '{colors.grayDark.1400}' },
|
|
368
352
|
},
|
|
369
353
|
// Strongly-raised neutral surface — one level above `surface` (e.g. the
|
|
370
354
|
// selected thumb of a SegmentedControl). In dark this is the *lightest*
|
|
@@ -376,7 +360,7 @@ const semanticTokens = {
|
|
|
376
360
|
// cannot be overridden via semanticTokens in this setup (it keeps
|
|
377
361
|
// resolving to Chakra's own gray.200), whereas a fresh name is honoured.
|
|
378
362
|
raised: {
|
|
379
|
-
value: { base: '{colors.white}', _dark:
|
|
363
|
+
value: { base: '{colors.white}', _dark: '{colors.grayDark.1100}' },
|
|
380
364
|
},
|
|
381
365
|
// `_light` (not `base`): Chakra's defaults for `bg.subtle`/`bg.muted` are
|
|
382
366
|
// `{ _light: gray.50 }` / `{ _light: gray.100 }`, which outrank `base` in
|
|
@@ -385,13 +369,13 @@ const semanticTokens = {
|
|
|
385
369
|
// either value ever diverges (as `border.subtle`/`fg.muted`/`fg.subtle`
|
|
386
370
|
// already did). No visible change.
|
|
387
371
|
subtle: {
|
|
388
|
-
value: { _light: '{colors.gray.50}', _dark:
|
|
372
|
+
value: { _light: '{colors.gray.50}', _dark: '{colors.grayDark.1300}' },
|
|
389
373
|
},
|
|
390
374
|
muted: {
|
|
391
|
-
value: { _light: '{colors.gray.100}', _dark:
|
|
375
|
+
value: { _light: '{colors.gray.100}', _dark: '{colors.grayDark.1200}' },
|
|
392
376
|
},
|
|
393
377
|
inverse: {
|
|
394
|
-
value: { base: '{colors.gray.1300}', _dark:
|
|
378
|
+
value: { base: '{colors.gray.1300}', _dark: '{colors.grayDark.50}' },
|
|
395
379
|
},
|
|
396
380
|
// Sunken page wash for list/overview surfaces: a gray floor in light so
|
|
397
381
|
// `bg.surface` cards read as raised above it. In dark the `bg.*` ramp is
|
|
@@ -399,7 +383,7 @@ const semanticTokens = {
|
|
|
399
383
|
// that elevation — so the dark value drops to the canvas floor instead.
|
|
400
384
|
// Component-level fills (hover, chips, inner blocks) keep using `bg.subtle`.
|
|
401
385
|
sunken: {
|
|
402
|
-
value: { base: '{colors.gray.50}', _dark:
|
|
386
|
+
value: { base: '{colors.gray.50}', _dark: '{colors.grayDark.1500}' },
|
|
403
387
|
},
|
|
404
388
|
// Recessed control-track surface for "meter"-style components whose
|
|
405
389
|
// unfilled track carries meaning (Switch off-state, Slider rail,
|
|
@@ -407,11 +391,11 @@ const semanticTokens = {
|
|
|
407
391
|
// `bg.muted` (gray.50 / gray.100), which collapse into the `bg.sunken`
|
|
408
392
|
// page wash in light mode, this sits at gray.300 so the track reads as a
|
|
409
393
|
// filled surface on any background. Dark keeps the `bg.muted` value
|
|
410
|
-
// (
|
|
394
|
+
// (grayDark.1200) — already lighter than the dark canvas/surface,
|
|
411
395
|
// so it reads there without change. Use this only for control tracks, not
|
|
412
396
|
// as a general fill (that stays `bg.subtle` / `bg.muted`).
|
|
413
397
|
track: {
|
|
414
|
-
value: { base: '{colors.gray.300}', _dark:
|
|
398
|
+
value: { base: '{colors.gray.300}', _dark: '{colors.grayDark.1200}' },
|
|
415
399
|
},
|
|
416
400
|
// Override Chakra's default `bg.panel` (whose `_dark` resolves to Chakra's
|
|
417
401
|
// own gray.950 = #111111, off our slate palette). Light value is white —
|
|
@@ -420,7 +404,7 @@ const semanticTokens = {
|
|
|
420
404
|
// (not `base`) for the same reason as `bg.subtle`/`bg.muted`: Chakra's
|
|
421
405
|
// default `bg.panel` is `{ _light: white }`, which would outrank `base`.
|
|
422
406
|
panel: {
|
|
423
|
-
value: { _light: '{colors.white}', _dark:
|
|
407
|
+
value: { _light: '{colors.white}', _dark: '{colors.grayDark.1400}' },
|
|
424
408
|
},
|
|
425
409
|
/**
|
|
426
410
|
* Row/selection state tints. Use these for selected rows,
|
|
@@ -457,14 +441,14 @@ const semanticTokens = {
|
|
|
457
441
|
// `_light` repeats Chakra's value (black); `_dark` rejoins our desaturated
|
|
458
442
|
// neutral so legacy html-level text tracks `fg.default`.
|
|
459
443
|
DEFAULT: {
|
|
460
|
-
value: { _light: '{colors.black}', _dark:
|
|
444
|
+
value: { _light: '{colors.black}', _dark: '{colors.grayDark.50}' },
|
|
461
445
|
},
|
|
462
446
|
// Strongest text — headings, titles, key figures, emphasis. This is the
|
|
463
447
|
// near-black step that `fg.default` used to be; `default` is now re-pegged
|
|
464
448
|
// to a lighter body weight (see below), so reach for `emphasized` when you
|
|
465
449
|
// specifically want maximum contrast.
|
|
466
450
|
emphasized: {
|
|
467
|
-
value: { base: '{colors.gray.1300}', _dark:
|
|
451
|
+
value: { base: '{colors.gray.1300}', _dark: '{colors.grayDark.200}' },
|
|
468
452
|
},
|
|
469
453
|
default: {
|
|
470
454
|
// Primary *body* text. Re-pegged from gray.1300 → gray.1000: near-black
|
|
@@ -472,7 +456,7 @@ const semanticTokens = {
|
|
|
472
456
|
// real product usage clustered well below it. gray.1000 (~9:1) is a
|
|
473
457
|
// comfortable AAA body weight; the old near-black step lives on as
|
|
474
458
|
// `fg.emphasized`. _dark drops one step from emphasized for hierarchy.
|
|
475
|
-
value: { base: '{colors.gray.1000}', _dark:
|
|
459
|
+
value: { base: '{colors.gray.1000}', _dark: '{colors.grayDark.300}' },
|
|
476
460
|
},
|
|
477
461
|
muted: {
|
|
478
462
|
// Secondary text. `_light` (not `base`): Chakra's default `fg.muted` is
|
|
@@ -480,19 +464,22 @@ const semanticTokens = {
|
|
|
480
464
|
// was shadowed and secondary text rendered gray.600, lighter than our
|
|
481
465
|
// intended gray.900. _dark sits one step below `default` (~9.5:1 on the
|
|
482
466
|
// dark canvas) to keep the default→muted hierarchy gap.
|
|
483
|
-
value: { _light: '{colors.gray.900}', _dark:
|
|
467
|
+
value: { _light: '{colors.gray.900}', _dark: '{colors.grayDark.400}' },
|
|
484
468
|
},
|
|
485
469
|
subtle: {
|
|
486
470
|
// Tertiary / placeholder / icon text. `_light` (not `base`): Chakra's
|
|
487
471
|
// default `fg.subtle` is `{ _light: gray.400 }`, which outranks `base` in
|
|
488
472
|
// light mode — so `base` was shadowed and this rendered gray.400, much
|
|
489
473
|
// lighter than our intended gray.700. _dark a11y-bumped from the straight
|
|
490
|
-
// mirror (
|
|
474
|
+
// mirror (grayDark.600 #8E939F, ~4.06:1 on bg.muted) to #989DA9
|
|
491
475
|
// (~4.6:1) so it clears AA while staying below fg.muted.
|
|
492
|
-
value: {
|
|
476
|
+
value: {
|
|
477
|
+
_light: '{colors.gray.700}',
|
|
478
|
+
_dark: '{colors.grayDark.fgSubtle}',
|
|
479
|
+
},
|
|
493
480
|
},
|
|
494
481
|
inverse: {
|
|
495
|
-
value: { base: '{colors.gray.0}', _dark:
|
|
482
|
+
value: { base: '{colors.gray.0}', _dark: '{colors.grayDark.1400}' },
|
|
496
483
|
},
|
|
497
484
|
},
|
|
498
485
|
/**
|
|
@@ -508,10 +495,10 @@ const semanticTokens = {
|
|
|
508
495
|
// straight halved-saturation mirror (no a11y bump). `_light` repeats
|
|
509
496
|
// Chakra's value so light is untouched.
|
|
510
497
|
DEFAULT: {
|
|
511
|
-
value: { _light: '{colors.gray.200}', _dark:
|
|
498
|
+
value: { _light: '{colors.gray.200}', _dark: '{colors.grayDark.800}' },
|
|
512
499
|
},
|
|
513
500
|
default: {
|
|
514
|
-
value: { base: '{colors.gray.300}', _dark:
|
|
501
|
+
value: { base: '{colors.gray.300}', _dark: '{colors.grayDark.1100}' },
|
|
515
502
|
},
|
|
516
503
|
subtle: {
|
|
517
504
|
// `_light` (not `base`): Chakra's default `border.subtle` is
|
|
@@ -520,10 +507,10 @@ const semanticTokens = {
|
|
|
520
507
|
// Chakra's near-white gray.50 (dividers/frames vanish). Pin `_light` so
|
|
521
508
|
// our gray.200 wins. (`border.default`/`strong` are safe: Chakra has no
|
|
522
509
|
// default for those names, so `base` is honoured.)
|
|
523
|
-
value: { _light: '{colors.gray.200}', _dark:
|
|
510
|
+
value: { _light: '{colors.gray.200}', _dark: '{colors.grayDark.1300}' },
|
|
524
511
|
},
|
|
525
512
|
strong: {
|
|
526
|
-
value: { base: '{colors.gray.500}', _dark:
|
|
513
|
+
value: { base: '{colors.gray.500}', _dark: '{colors.grayDark.900}' },
|
|
527
514
|
},
|
|
528
515
|
},
|
|
529
516
|
},
|
|
@@ -672,6 +659,49 @@ const colors = {
|
|
|
672
659
|
1400: { value: '#141924' }, // Dark backgrounds
|
|
673
660
|
1500: { value: '#0B0E17' }, // Darkest background
|
|
674
661
|
},
|
|
662
|
+
/**
|
|
663
|
+
* Dark-mode neutral palette — the halved-saturation counterpart of each
|
|
664
|
+
* primitive `gray.N` (same hue and lightness, HSL saturation cut by ~50%,
|
|
665
|
+
* e.g. `gray.1300` #1E2433 @ 26% → #23262E @ 13%). The blue-tinted `gray`
|
|
666
|
+
* ramp reads as the right neutral in light mode but turns muddy/
|
|
667
|
+
* over-chromatic as a dark surface, so every dark-mode neutral in the
|
|
668
|
+
* semantic layer (`slate.*`, and the `_dark` of `bg`/`fg`/`border`) resolves
|
|
669
|
+
* to a step of this scale instead of a raw `gray` step. Light mode is
|
|
670
|
+
* untouched — it keeps referencing `{colors.gray.*}` verbatim.
|
|
671
|
+
*
|
|
672
|
+
* Exposed as a primitive scale (rather than the previous inlined hex
|
|
673
|
+
* literals) so a consumer theme — e.g. FactChat's per-tenant
|
|
674
|
+
* `theme_color_overrides` — can rebrand dark mode by overriding these
|
|
675
|
+
* tokens, the same way overriding `blue.*` retints the `primary.*` ramp.
|
|
676
|
+
*
|
|
677
|
+
* The three `fg*` steps are the hand-tuned a11y lifts documented at their
|
|
678
|
+
* consuming tokens (`slate.600`/`slate.700`/`fg.subtle` in dark mode): the
|
|
679
|
+
* straight mirrors measured under WCAG AA 4.5:1 on the dark canvas/surface,
|
|
680
|
+
* so these sit slightly lighter than their scale neighbours.
|
|
681
|
+
*/
|
|
682
|
+
grayDark: {
|
|
683
|
+
0: { value: '#FEFEFF' },
|
|
684
|
+
50: { value: '#F8F9FB' },
|
|
685
|
+
100: { value: '#F2F4F7' },
|
|
686
|
+
200: { value: '#E5E8EC' },
|
|
687
|
+
300: { value: '#D2D5DB' },
|
|
688
|
+
400: { value: '#B6BAC3' },
|
|
689
|
+
500: { value: '#A2A6B1' },
|
|
690
|
+
600: { value: '#8E939F' },
|
|
691
|
+
700: { value: '#7C818D' },
|
|
692
|
+
800: { value: '#6A6F7C' },
|
|
693
|
+
900: { value: '#595E6B' },
|
|
694
|
+
1000: { value: '#4A4E5A' },
|
|
695
|
+
1100: { value: '#3C404B' },
|
|
696
|
+
1200: { value: '#30343C' },
|
|
697
|
+
1300: { value: '#23262E' },
|
|
698
|
+
1400: { value: '#181A20' },
|
|
699
|
+
1500: { value: '#0E1014' },
|
|
700
|
+
// A11y-lifted foreground steps (see scale doc above).
|
|
701
|
+
fg600: { value: '#898E99' },
|
|
702
|
+
fg700: { value: '#8D919D' },
|
|
703
|
+
fgSubtle: { value: '#989DA9' },
|
|
704
|
+
},
|
|
675
705
|
/**
|
|
676
706
|
* Legacy purple palette (aliased to violet for backwards compatibility)
|
|
677
707
|
* @deprecated Use `violet` instead
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.mjs","sources":["../../src/theme/colors.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"colors.mjs","sources":["../../src/theme/colors.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mindlogic-ai/logician-ui",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.23",
|
|
4
4
|
"description": "A comprehensive React design system built on Chakra UI",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -104,6 +104,7 @@
|
|
|
104
104
|
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
105
105
|
"@typescript-eslint/parser": "^6.0.0",
|
|
106
106
|
"@vitejs/plugin-react": "^4.0.0",
|
|
107
|
+
"axe-core": "^4.13.0",
|
|
107
108
|
"eslint": "^8.45.0",
|
|
108
109
|
"eslint-config-prettier": "^10.1.8",
|
|
109
110
|
"eslint-plugin-import": "^2.32.0",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { useId } from 'react';
|
|
1
2
|
import { Box, Flex, VStack } from '@chakra-ui/react';
|
|
2
3
|
|
|
3
4
|
import { useTranslate } from '@/hooks/useTranslate';
|
|
@@ -20,6 +21,8 @@ export function ErrorFallback({
|
|
|
20
21
|
}: ErrorFallbackProps) {
|
|
21
22
|
const translate = useTranslate();
|
|
22
23
|
const showToast = useToast();
|
|
24
|
+
// Names the landmark below with the same words the card shows as its title.
|
|
25
|
+
const titleId = useId();
|
|
23
26
|
|
|
24
27
|
const errorInfo = {
|
|
25
28
|
errorId:
|
|
@@ -61,7 +64,22 @@ User Agent: ${errorInfo.userAgent}`;
|
|
|
61
64
|
};
|
|
62
65
|
|
|
63
66
|
return (
|
|
64
|
-
|
|
67
|
+
// A landmark, and a named one. This card replaces whatever failed — often
|
|
68
|
+
// the whole page, so the host's `<main>` goes with it — and a screen-reader
|
|
69
|
+
// user then has nothing to navigate by: axe reports every node under
|
|
70
|
+
// `region`, and there is no landmark to jump to (KWCAG 2.1 5.2.4.1 반복
|
|
71
|
+
// 영역 건너뛰기). A `<section>` labelled by the error title is a region
|
|
72
|
+
// landmark wherever it renders, which `<main>` would not be — a segment-level
|
|
73
|
+
// boundary leaves the host's `<main>` in place, and two of those is its own
|
|
74
|
+
// failure.
|
|
75
|
+
<Flex
|
|
76
|
+
as="section"
|
|
77
|
+
aria-labelledby={titleId}
|
|
78
|
+
minH="100vh"
|
|
79
|
+
align="center"
|
|
80
|
+
justify="center"
|
|
81
|
+
p={8}
|
|
82
|
+
>
|
|
65
83
|
<Container disableResponsive maxW="container.sm">
|
|
66
84
|
<Card
|
|
67
85
|
p={12}
|
|
@@ -83,7 +101,12 @@ User Agent: ${errorInfo.userAgent}`;
|
|
|
83
101
|
|
|
84
102
|
{/* Error Title */}
|
|
85
103
|
<VStack gap={3} align="center" w="full">
|
|
86
|
-
<H1
|
|
104
|
+
<H1
|
|
105
|
+
id={titleId}
|
|
106
|
+
color="fg.default"
|
|
107
|
+
textStyle="h2"
|
|
108
|
+
fontWeight="bold"
|
|
109
|
+
>
|
|
87
110
|
{translate('error_boundary_title')}
|
|
88
111
|
</H1>
|
|
89
112
|
<Subtitle color="fg.muted" textStyle="h5" maxW="md">
|
|
@@ -115,7 +138,11 @@ User Agent: ${errorInfo.userAgent}`;
|
|
|
115
138
|
p={6}
|
|
116
139
|
w="full"
|
|
117
140
|
>
|
|
118
|
-
|
|
141
|
+
{/* `as="h2"`: `H4` is the type size wanted here, but this block
|
|
142
|
+
sits directly under the card's `<h1>` — an `<h4>` there skips
|
|
143
|
+
two levels and tells a screen-reader user there are sections
|
|
144
|
+
they missed (KWCAG 5.2.4.2 제목 제공). */}
|
|
145
|
+
<H4 as="h2" color="primary.dark" mb={4} textAlign="center">
|
|
119
146
|
{translate('support_information')}
|
|
120
147
|
</H4>
|
|
121
148
|
<VStack gap={2} align="stretch" mb={4}>
|
|
@@ -27,8 +27,12 @@ export const FileInput = forwardRef<HTMLInputElement, FileInputProps>(
|
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
return (
|
|
30
|
+
// No `role="button"` on this wrapper. It is not a button — the `<label>`
|
|
31
|
+
// inside is what activates the file input — and claiming the role put an
|
|
32
|
+
// interactive element inside another (axe `nested-interactive`), which is
|
|
33
|
+
// a state screen readers have no sensible way to announce
|
|
34
|
+
// (KWCAG 2.1 5.4.2.1 웹 애플리케이션 접근성 준수).
|
|
30
35
|
<Flex
|
|
31
|
-
role="button"
|
|
32
36
|
w="100%"
|
|
33
37
|
h="100%"
|
|
34
38
|
maxH={32}
|
|
@@ -42,8 +46,13 @@ export const FileInput = forwardRef<HTMLInputElement, FileInputProps>(
|
|
|
42
46
|
borderRadius="md"
|
|
43
47
|
{...containerStyle}
|
|
44
48
|
>
|
|
49
|
+
{/* `className="group"`, not `role="group"`. The role was doing nothing for
|
|
50
|
+
assistive tech (a `<label>` may not be a group — axe
|
|
51
|
+
`aria-allowed-role`) and nothing for the hover effect either: Chakra's
|
|
52
|
+
`_groupHover` compiles to `.group:hover &`, so it needs the CLASS.
|
|
53
|
+
The reveal-on-hover below has therefore never fired. */}
|
|
45
54
|
<label
|
|
46
|
-
|
|
55
|
+
className="group"
|
|
47
56
|
style={{ width: '100%', height: '100%', cursor: 'pointer' }}
|
|
48
57
|
>
|
|
49
58
|
{bgImage && (
|
|
@@ -22,7 +22,12 @@ const H2Wrapper = (props: any) => <H2 {...props} />;
|
|
|
22
22
|
const H3Wrapper = (props: any) => <H3 {...props} />;
|
|
23
23
|
const H4Wrapper = (props: any) => <H4 {...props} />;
|
|
24
24
|
const H5Wrapper = (props: any) => <H5 {...props} />;
|
|
25
|
-
|
|
25
|
+
// `as="h6"` explicitly. `Subtitle` renders a paragraph by default now (its call
|
|
26
|
+
// sites are overwhelmingly helper copy that was never a heading), but this
|
|
27
|
+
// wrapper is markdown's `h6` — a heading the author actually wrote. Inheriting
|
|
28
|
+
// the new default here would silently drop `###### 제목` out of the document
|
|
29
|
+
// outline, which is the same KWCAG 5.2.4.2 (제목 제공) defect inverted.
|
|
30
|
+
const SubtitleWrapper = (props: any) => <Subtitle as="h6" {...props} />;
|
|
26
31
|
const TheadWrapper = (props: any) => <Thead {...props} />;
|
|
27
32
|
const TbodyWrapper = (props: any) => <Tbody {...props} />;
|
|
28
33
|
const TrWrapper = (props: any) => <Tr {...props} />;
|
|
@@ -81,6 +81,11 @@ export const Pagination = ({
|
|
|
81
81
|
<SelectField<number>
|
|
82
82
|
size="sm"
|
|
83
83
|
width="5.5rem"
|
|
84
|
+
// The visible label for this control is the "개씩 보기" text beside
|
|
85
|
+
// it, which the select itself cannot claim — so it carries the
|
|
86
|
+
// same words as its own hidden label rather than shipping
|
|
87
|
+
// nameless (KWCAG 5.3.4.1 레이블 제공).
|
|
88
|
+
ariaLabel={translate('pagination_items_per_page') as string}
|
|
84
89
|
options={itemsPerPageOptions.map((option) => ({
|
|
85
90
|
label: option.toString(),
|
|
86
91
|
value: option,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { forwardRef } from 'react';
|
|
1
|
+
import { forwardRef, useId } from 'react';
|
|
2
2
|
import { RadioGroup, RadioGroupItemControlProps } from '@chakra-ui/react';
|
|
3
3
|
|
|
4
4
|
import { focusRing } from '@/utils/focusRing';
|
|
@@ -6,9 +6,23 @@ import { focusRing } from '@/utils/focusRing';
|
|
|
6
6
|
export const RadioControl = forwardRef<
|
|
7
7
|
HTMLDivElement,
|
|
8
8
|
RadioGroupItemControlProps
|
|
9
|
-
>((props, ref) =>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
>((props, ref) => {
|
|
10
|
+
// Chakra derives the indicator's id from the same `ids.itemControl` it gives
|
|
11
|
+
// the control it sits inside, so every radio on the page shipped TWO elements
|
|
12
|
+
// with one id — a markup error under KWCAG 2.1 5.4.1.1 마크업 오류 방지, which
|
|
13
|
+
// Korean evaluators still count even though WCAG 2.2 dropped SC 4.1.1. It also
|
|
14
|
+
// breaks anything that resolves the control by id, since `getElementById`
|
|
15
|
+
// returns whichever came first.
|
|
16
|
+
//
|
|
17
|
+
// Nothing references the indicator — it is the dot inside the control — so any
|
|
18
|
+
// unique value fixes it, and `useId` is the one that stays stable across
|
|
19
|
+
// server and client render.
|
|
20
|
+
const indicatorId = useId();
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<RadioGroup.ItemControl ref={ref} {...focusRing} {...props}>
|
|
24
|
+
<RadioGroup.ItemIndicator id={indicatorId} />
|
|
25
|
+
</RadioGroup.ItemControl>
|
|
26
|
+
);
|
|
27
|
+
});
|
|
14
28
|
RadioControl.displayName = 'Radio.Control';
|
|
@@ -19,6 +19,7 @@ export function ComboboxField<T = string>({
|
|
|
19
19
|
onChange,
|
|
20
20
|
placeholder,
|
|
21
21
|
label,
|
|
22
|
+
ariaLabel,
|
|
22
23
|
size = 'md',
|
|
23
24
|
invalid,
|
|
24
25
|
disabled,
|
|
@@ -60,7 +61,16 @@ export function ComboboxField<T = string>({
|
|
|
60
61
|
}}
|
|
61
62
|
onInputValueChange={(details) => filter(details.inputValue)}
|
|
62
63
|
>
|
|
63
|
-
{label
|
|
64
|
+
{/* Same as `SelectField`: the label part is the target of the input's
|
|
65
|
+
`aria-labelledby`, so omitting it leaves the control unnamed rather
|
|
66
|
+
than unlabelled (KWCAG 5.3.4.1 레이블 제공). */}
|
|
67
|
+
{label != null ? (
|
|
68
|
+
<Combobox.Label>{label}</Combobox.Label>
|
|
69
|
+
) : (
|
|
70
|
+
(ariaLabel ?? placeholder) && (
|
|
71
|
+
<Combobox.Label srOnly>{ariaLabel ?? placeholder}</Combobox.Label>
|
|
72
|
+
)
|
|
73
|
+
)}
|
|
64
74
|
<Combobox.Control>
|
|
65
75
|
<Combobox.Input placeholder={placeholder} />
|
|
66
76
|
<Combobox.IndicatorGroup>
|
|
@@ -20,6 +20,22 @@ interface FieldBaseProps<T> {
|
|
|
20
20
|
placeholder?: string;
|
|
21
21
|
/** Optional label rendered above the control. */
|
|
22
22
|
label?: ReactNode;
|
|
23
|
+
/**
|
|
24
|
+
* Accessible name for the trigger when no visible `label` is rendered — a
|
|
25
|
+
* field labelled by a table column header, a `FieldRow`, or the sentence
|
|
26
|
+
* around it.
|
|
27
|
+
*
|
|
28
|
+
* Without one of `label` / `ariaLabel` / `placeholder` the trigger has **no
|
|
29
|
+
* accessible name at all**: the composition points `aria-labelledby` at a
|
|
30
|
+
* label part that is not rendered, the reference dangles, and the control
|
|
31
|
+
* announces as a bare "button" however much text it shows (KWCAG 2.1
|
|
32
|
+
* 5.3.4.1 레이블 제공, axe `button-name`).
|
|
33
|
+
*
|
|
34
|
+
* Rendered as a visually hidden label rather than an `aria-label` so the name
|
|
35
|
+
* is in the server-rendered markup — an attribute applied after hydration
|
|
36
|
+
* leaves a window in which the control is nameless.
|
|
37
|
+
*/
|
|
38
|
+
ariaLabel?: string;
|
|
23
39
|
size?: SelectSize;
|
|
24
40
|
invalid?: boolean;
|
|
25
41
|
disabled?: boolean;
|
|
@@ -19,6 +19,7 @@ export function SelectField<T = string>({
|
|
|
19
19
|
onChange,
|
|
20
20
|
placeholder,
|
|
21
21
|
label,
|
|
22
|
+
ariaLabel,
|
|
22
23
|
size = 'md',
|
|
23
24
|
invalid,
|
|
24
25
|
disabled,
|
|
@@ -61,7 +62,19 @@ export function SelectField<T = string>({
|
|
|
61
62
|
}}
|
|
62
63
|
>
|
|
63
64
|
<Select.HiddenSelect />
|
|
64
|
-
{label
|
|
65
|
+
{/* The label part is what the trigger's `aria-labelledby` points at, and
|
|
66
|
+
Chakra emits that reference whether or not the part is rendered. Leave
|
|
67
|
+
it out and the reference dangles, so the trigger resolves to no name —
|
|
68
|
+
a "button" to a screen reader, whatever the selected option says
|
|
69
|
+
(KWCAG 5.3.4.1 레이블 제공). So it is always rendered: visibly when the
|
|
70
|
+
field has a label, hidden when the name lives elsewhere on screen. */}
|
|
71
|
+
{label != null ? (
|
|
72
|
+
<Select.Label>{label}</Select.Label>
|
|
73
|
+
) : (
|
|
74
|
+
(ariaLabel ?? placeholder) && (
|
|
75
|
+
<Select.Label srOnly>{ariaLabel ?? placeholder}</Select.Label>
|
|
76
|
+
)
|
|
77
|
+
)}
|
|
65
78
|
<Select.Control>
|
|
66
79
|
<Select.Trigger>
|
|
67
80
|
<Select.ValueText placeholder={placeholder} />
|