@matteoaliano/forest-ui 0.2.1 → 0.2.3

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.
@@ -194,10 +194,249 @@ var widths = {
194
194
  "5xl": 1600,
195
195
  "6xl": 1920
196
196
  };
197
+ var text = {
198
+ primary: colors.gray[900],
199
+ secondary: colors.gray[700],
200
+ secondaryHover: colors.gray[800],
201
+ tertiary: colors.gray[600],
202
+ tertiaryHover: colors.gray[700],
203
+ quaternary: colors.gray[500],
204
+ disabled: colors.gray[500],
205
+ placeholder: colors.gray[500],
206
+ placeholderSubtle: colors.gray[300],
207
+ white: colors.base.white,
208
+ brandPrimary: colors.brand[900],
209
+ brandSecondary: colors.brand[700],
210
+ brandTertiary: colors.brand[600],
211
+ brandTertiaryAlt: colors.brand[600],
212
+ primaryOnBrand: colors.base.white,
213
+ secondaryOnBrand: colors.brand[200],
214
+ tertiaryOnBrand: colors.brand[200],
215
+ quaternaryOnBrand: colors.brand[300],
216
+ errorPrimary: colors.error[600],
217
+ warningPrimary: colors.warning[600],
218
+ successPrimary: colors.success[600]
219
+ };
220
+ var bg = {
221
+ primary: colors.base.white,
222
+ primaryAlt: colors.base.white,
223
+ primaryHover: colors.gray[50],
224
+ primarySolid: colors.gray[950],
225
+ secondary: colors.gray[50],
226
+ secondaryAlt: colors.gray[50],
227
+ secondarySubtle: colors.gray[25],
228
+ secondaryHover: colors.gray[100],
229
+ secondarySolid: colors.gray[600],
230
+ tertiary: colors.gray[100],
231
+ quaternary: colors.gray[200],
232
+ active: colors.gray[50],
233
+ disabled: colors.gray[100],
234
+ disabledSubtle: colors.gray[50],
235
+ overlay: colors.gray[950],
236
+ brandPrimary: colors.brand[50],
237
+ brandPrimaryAlt: colors.brand[50],
238
+ brandSecondary: colors.brand[100],
239
+ brandSolid: colors.brand[600],
240
+ brandSolidHover: colors.brand[700],
241
+ brandSection: colors.brand[800],
242
+ brandSectionSubtle: colors.brand[700],
243
+ errorPrimary: colors.error[50],
244
+ errorSecondary: colors.error[100],
245
+ errorSolid: colors.error[600],
246
+ warningPrimary: colors.warning[50],
247
+ warningSecondary: colors.warning[100],
248
+ warningSolid: colors.warning[600],
249
+ successPrimary: colors.success[50],
250
+ successSecondary: colors.success[100],
251
+ successSolid: colors.success[600]
252
+ };
253
+ var fg = {
254
+ primary: colors.gray[900],
255
+ secondary: colors.gray[700],
256
+ secondaryHover: colors.gray[800],
257
+ tertiary: colors.gray[600],
258
+ tertiaryHover: colors.gray[700],
259
+ quaternary: colors.gray[500],
260
+ quaternaryHover: colors.gray[600],
261
+ quinary: colors.gray[400],
262
+ quinaryHover: colors.gray[500],
263
+ senary: colors.gray[300],
264
+ white: colors.base.white,
265
+ disabled: colors.gray[400],
266
+ disabledSubtle: colors.gray[300],
267
+ brandPrimary: colors.brand[600],
268
+ brandPrimaryAlt: colors.brand[600],
269
+ brandSecondary: colors.brand[500],
270
+ errorPrimary: colors.error[600],
271
+ errorSecondary: colors.error[500],
272
+ warningPrimary: colors.warning[600],
273
+ warningSecondary: colors.warning[500],
274
+ successPrimary: colors.success[600],
275
+ successSecondary: colors.success[500]
276
+ };
277
+ var border = {
278
+ primary: colors.gray[300],
279
+ secondary: colors.gray[200],
280
+ tertiary: colors.gray[100],
281
+ disabled: colors.gray[300],
282
+ disabledSubtle: colors.gray[200],
283
+ brand: colors.brand[300],
284
+ brandSolid: colors.brand[600],
285
+ brandSolidAlt: colors.brand[600],
286
+ error: colors.error[300],
287
+ errorSolid: colors.error[600]
288
+ };
289
+ var buttonColors = {
290
+ primary: {
291
+ bg: colors.brand[600],
292
+ bgHover: colors.brand[700],
293
+ fg: colors.base.white,
294
+ fgHover: colors.base.white,
295
+ border: colors.brand[600],
296
+ borderHover: colors.brand[700]
297
+ },
298
+ secondary: {
299
+ bg: colors.base.white,
300
+ bgHover: colors.gray[50],
301
+ fg: colors.gray[700],
302
+ fgHover: colors.gray[800],
303
+ border: colors.gray[300],
304
+ borderHover: colors.gray[300]
305
+ },
306
+ secondaryColor: {
307
+ bg: colors.base.white,
308
+ bgHover: colors.brand[50],
309
+ fg: colors.brand[700],
310
+ fgHover: colors.brand[800],
311
+ border: colors.brand[300],
312
+ borderHover: colors.brand[300]
313
+ },
314
+ tertiary: {
315
+ fg: colors.gray[600],
316
+ fgHover: colors.gray[700],
317
+ bgHover: colors.gray[50]
318
+ },
319
+ tertiaryColor: {
320
+ fg: colors.brand[700],
321
+ fgHover: colors.brand[800],
322
+ bgHover: colors.brand[50]
323
+ },
324
+ primaryError: {
325
+ bg: colors.error[600],
326
+ bgHover: colors.error[700],
327
+ fg: colors.base.white,
328
+ fgHover: colors.base.white,
329
+ border: colors.error[600],
330
+ borderHover: colors.error[700]
331
+ },
332
+ secondaryError: {
333
+ bg: colors.base.white,
334
+ bgHover: colors.error[50],
335
+ fg: colors.error[700],
336
+ fgHover: colors.error[800],
337
+ border: colors.error[300],
338
+ borderHover: colors.error[300]
339
+ },
340
+ tertiaryError: {
341
+ fg: colors.error[700],
342
+ fgHover: colors.error[800],
343
+ bgHover: colors.error[50]
344
+ }
345
+ };
346
+ var avatarColors = {
347
+ bg: colors.gray[100],
348
+ contrastBorder: "#00000014",
349
+ profilePhotoBorder: colors.base.white,
350
+ focusBorder: "#98a2b324"
351
+ };
352
+ var breadcrumbColors = {
353
+ fg: colors.gray[600],
354
+ fgHover: colors.gray[700],
355
+ bgHover: colors.gray[50],
356
+ brandBgHover: colors.brand[50],
357
+ brandFgHover: colors.brand[700],
358
+ iconFg: colors.gray[500],
359
+ iconFgHover: colors.gray[700],
360
+ brandIconFgHover: colors.brand[700]
361
+ };
362
+ var iconColors = {
363
+ fgBrand: colors.brand[600],
364
+ fgBrandOnBrand: colors.brand[200],
365
+ featuredModernBorder: colors.gray[200],
366
+ featuredLightFgBrand: colors.brand[600],
367
+ featuredLightFgGray: colors.gray[500],
368
+ featuredLightFgError: colors.error[600],
369
+ featuredLightFgWarning: colors.warning[600],
370
+ featuredLightFgSuccess: colors.success[600],
371
+ featuredDarkFgBrand: colors.base.white,
372
+ featuredDarkFgGray: colors.base.white,
373
+ featuredDarkFgError: colors.base.white,
374
+ featuredDarkFgWarning: colors.base.white,
375
+ featuredDarkFgSuccess: colors.base.white
376
+ };
377
+ var navColors = {
378
+ itemIconFg: colors.gray[500],
379
+ itemIconFgActive: colors.gray[500],
380
+ itemButtonIconFg: colors.gray[500],
381
+ itemButtonIconFgActive: colors.gray[700]
382
+ };
383
+ var sliderColors = {
384
+ handleBorder: colors.brand[600],
385
+ handleBg: colors.base.white
386
+ };
387
+ var toggleColors = {
388
+ buttonFgDisabled: colors.gray[50]
389
+ };
390
+ var chartColors = {
391
+ axisFg: colors.gray[200],
392
+ gridlineFg: colors.gray[100],
393
+ labelFg: colors.gray[600],
394
+ labelFgEmphasis: colors.gray[700],
395
+ bg: colors.base.white,
396
+ bgAlt: colors.gray[50],
397
+ tooltipBg: colors.gray[950],
398
+ tooltipFg: colors.base.white,
399
+ crosshairFg: colors.gray[500],
400
+ legendFg: colors.gray[700],
401
+ series1Fg: colors.blue[600],
402
+ series1FgHover: colors.blue[700],
403
+ series1Bg: colors.blue[100],
404
+ series1BgHover: colors.blue[200],
405
+ series2Fg: colors.brand[600],
406
+ series2FgHover: colors.brand[700],
407
+ series2Bg: colors.brand[100],
408
+ series2BgHover: colors.brand[200]
409
+ };
410
+ var alpha = {
411
+ white: {
412
+ 10: "#ffffff1a",
413
+ 20: "#ffffff33",
414
+ 30: "#ffffff4d",
415
+ 40: "#ffffff66",
416
+ 50: "#ffffff80",
417
+ 60: "#ffffff99",
418
+ 70: "#ffffffb3",
419
+ 80: "#ffffffcc",
420
+ 90: "#ffffffe6",
421
+ 100: "#ffffff"
422
+ },
423
+ black: {
424
+ 10: "#0000001a",
425
+ 20: "#00000033",
426
+ 30: "#0000004d",
427
+ 40: "#00000066",
428
+ 50: "#00000080",
429
+ 60: "#00000099",
430
+ 70: "#000000b3",
431
+ 80: "#000000cc",
432
+ 90: "#000000e6",
433
+ 100: "#000000"
434
+ }
435
+ };
197
436
 
198
437
  // src/theme/palette.ts
199
438
  function buildPalette(tokens) {
200
- const { colors: colors2 } = tokens;
439
+ const { colors: colors2, text: text2, bg: bg2, fg: fg2, border: border2 } = tokens;
201
440
  return {
202
441
  primary: {
203
442
  main: colors2.brand[600],
@@ -236,26 +475,30 @@ function buildPalette(tokens) {
236
475
  contrastText: colors2.base.white
237
476
  },
238
477
  background: {
239
- default: colors2.base.white,
240
- paper: colors2.base.white
478
+ default: bg2.primary,
479
+ paper: bg2.primary
241
480
  },
242
481
  text: {
243
- primary: colors2.gray[900],
244
- secondary: colors2.gray[700],
245
- disabled: colors2.gray[500]
482
+ primary: text2.primary,
483
+ secondary: text2.secondary,
484
+ disabled: text2.disabled
246
485
  },
247
- divider: colors2.gray[200],
486
+ divider: border2.secondary,
248
487
  action: {
249
- active: colors2.gray[600],
250
- hover: colors2.gray[50],
251
- selected: colors2.brand[50],
252
- disabled: colors2.gray[400],
253
- disabledBackground: colors2.gray[100]
488
+ active: fg2.tertiary,
489
+ hover: bg2.primaryHover,
490
+ selected: bg2.brandPrimary,
491
+ disabled: fg2.disabled,
492
+ disabledBackground: bg2.disabled
254
493
  }
255
494
  };
256
495
  }
257
496
  var palette = buildPalette({
258
- colors
497
+ colors,
498
+ text,
499
+ bg,
500
+ fg,
501
+ border
259
502
  });
260
503
 
261
504
  // src/theme/typography.ts
@@ -350,7 +593,17 @@ var typography = buildTypography({
350
593
 
351
594
  // src/theme/components.ts
352
595
  function buildComponents(tokens) {
353
- const { colors: colors2, radius: radius2, focusRings: focusRings2, shadows: tokenShadows } = tokens;
596
+ const {
597
+ colors: colors2,
598
+ radius: radius2,
599
+ focusRings: focusRings2,
600
+ shadows: tokenShadows,
601
+ text: text2,
602
+ bg: bg2,
603
+ fg: fg2,
604
+ border: border2,
605
+ buttonColors: buttonColors2
606
+ } = tokens;
354
607
  return {
355
608
  // ─── Button ─────────────────────────────────────────────────────
356
609
  MuiButton: {
@@ -361,43 +614,42 @@ function buildComponents(tokens) {
361
614
  root: {
362
615
  borderRadius: radius2.md,
363
616
  fontWeight: 600,
617
+ boxShadow: tokenShadows.xs,
618
+ height: 32,
619
+ padding: "6px 12px",
620
+ fontSize: 14,
621
+ lineHeight: "20px",
364
622
  "&:focus-visible": {
365
623
  boxShadow: focusRings2.brandShadowXs
366
624
  }
367
625
  },
368
- sizeLarge: {
369
- padding: "12px 20px",
370
- fontSize: 16,
371
- lineHeight: "24px"
372
- },
373
- sizeMedium: {
374
- padding: "10px 16px",
375
- fontSize: 14,
376
- lineHeight: "20px"
377
- },
378
- sizeSmall: {
379
- padding: "8px 14px",
380
- fontSize: 14,
381
- lineHeight: "20px"
382
- },
383
626
  containedPrimary: {
384
- backgroundColor: colors2.brand[600],
627
+ backgroundColor: buttonColors2.primary.bg,
385
628
  "&:hover": {
386
- backgroundColor: colors2.brand[700]
629
+ backgroundColor: buttonColors2.primary.bgHover
387
630
  }
388
631
  },
389
632
  outlinedPrimary: {
390
- borderColor: colors2.brand[300],
391
- color: colors2.brand[700],
633
+ borderColor: buttonColors2.secondaryColor.border,
634
+ color: buttonColors2.secondaryColor.fg,
392
635
  "&:hover": {
393
- backgroundColor: colors2.brand[50],
394
- borderColor: colors2.brand[300]
636
+ backgroundColor: buttonColors2.secondaryColor.bgHover,
637
+ borderColor: buttonColors2.secondaryColor.borderHover
638
+ }
639
+ },
640
+ outlinedSecondary: {
641
+ borderColor: buttonColors2.secondary.border,
642
+ "&:hover": {
643
+ borderColor: buttonColors2.secondary.borderHover
395
644
  }
396
645
  },
646
+ text: {
647
+ boxShadow: "none"
648
+ },
397
649
  textPrimary: {
398
- color: colors2.brand[700],
650
+ color: buttonColors2.tertiaryColor.fg,
399
651
  "&:hover": {
400
- backgroundColor: colors2.brand[50]
652
+ backgroundColor: buttonColors2.tertiaryColor.bgHover
401
653
  }
402
654
  }
403
655
  }
@@ -413,7 +665,7 @@ function buildComponents(tokens) {
413
665
  },
414
666
  grouped: {
415
667
  "&:not(:last-of-type)": {
416
- borderRight: `1px solid ${colors2.brand[700]}`
668
+ borderRight: `1px solid ${buttonColors2.primary.borderHover}`
417
669
  }
418
670
  }
419
671
  }
@@ -431,9 +683,9 @@ function buildComponents(tokens) {
431
683
  }
432
684
  },
433
685
  primary: {
434
- backgroundColor: colors2.brand[600],
686
+ backgroundColor: buttonColors2.primary.bg,
435
687
  "&:hover": {
436
- backgroundColor: colors2.brand[700]
688
+ backgroundColor: buttonColors2.primary.bgHover
437
689
  }
438
690
  }
439
691
  }
@@ -445,37 +697,46 @@ function buildComponents(tokens) {
445
697
  size: "small"
446
698
  }
447
699
  },
700
+ MuiInputBase: {
701
+ styleOverrides: {
702
+ input: {
703
+ "&::placeholder": {
704
+ color: text2.placeholder,
705
+ WebkitTextFillColor: text2.placeholder,
706
+ fontWeight: 400,
707
+ opacity: 1
708
+ }
709
+ }
710
+ }
711
+ },
448
712
  MuiOutlinedInput: {
449
713
  styleOverrides: {
450
714
  root: {
451
715
  borderRadius: radius2.md,
716
+ boxShadow: tokenShadows.xs,
452
717
  "&:hover .MuiOutlinedInput-notchedOutline": {
453
- borderColor: colors2.brand[300]
718
+ borderColor: border2.brand
454
719
  },
455
720
  "&.Mui-focused .MuiOutlinedInput-notchedOutline": {
456
- borderColor: colors2.brand[600],
721
+ borderColor: border2.brandSolid,
457
722
  borderWidth: 1,
458
723
  boxShadow: "none"
459
724
  },
460
725
  "&.Mui-error .MuiOutlinedInput-notchedOutline": {
461
- borderColor: colors2.error[300]
726
+ borderColor: border2.error
462
727
  },
463
728
  "&.Mui-error.Mui-focused .MuiOutlinedInput-notchedOutline": {
464
- borderColor: colors2.error[600],
729
+ borderColor: border2.errorSolid,
465
730
  boxShadow: "none"
466
731
  }
467
732
  },
468
733
  notchedOutline: {
469
- borderColor: colors2.gray[300]
734
+ borderColor: border2.primary
470
735
  },
471
736
  input: {
472
737
  padding: "10px 14px",
473
738
  fontSize: 16,
474
- lineHeight: "24px",
475
- "&::placeholder": {
476
- color: colors2.gray[500],
477
- opacity: 1
478
- }
739
+ lineHeight: "24px"
479
740
  },
480
741
  inputSizeSmall: {
481
742
  padding: "8px 12px",
@@ -484,17 +745,30 @@ function buildComponents(tokens) {
484
745
  }
485
746
  }
486
747
  },
748
+ MuiFormLabel: {
749
+ styleOverrides: {
750
+ root: {
751
+ color: text2.placeholder,
752
+ "&.Mui-focused": {
753
+ color: text2.placeholder
754
+ },
755
+ "&.Mui-error": {
756
+ color: text2.errorPrimary
757
+ }
758
+ }
759
+ }
760
+ },
487
761
  MuiInputLabel: {
488
762
  styleOverrides: {
489
763
  root: {
490
764
  fontSize: 14,
491
765
  fontWeight: 500,
492
- color: colors2.gray[700],
766
+ color: text2.placeholder,
493
767
  "&.Mui-focused": {
494
- color: colors2.gray[700]
768
+ color: text2.placeholder
495
769
  },
496
770
  "&.Mui-error": {
497
- color: colors2.error[600]
771
+ color: text2.errorPrimary
498
772
  }
499
773
  }
500
774
  }
@@ -507,7 +781,7 @@ function buildComponents(tokens) {
507
781
  marginTop: 6,
508
782
  marginLeft: 0,
509
783
  "&.Mui-error": {
510
- color: colors2.error[600]
784
+ color: text2.errorPrimary
511
785
  }
512
786
  }
513
787
  }
@@ -518,8 +792,15 @@ function buildComponents(tokens) {
518
792
  size: "small"
519
793
  },
520
794
  styleOverrides: {
795
+ select: {
796
+ "&.MuiSelect-select": {
797
+ "&[aria-placeholder], &:empty + .MuiSelect-nativeInput[value='']~&": {
798
+ color: text2.placeholder
799
+ }
800
+ }
801
+ },
521
802
  icon: {
522
- color: colors2.gray[500]
803
+ color: text2.placeholder
523
804
  }
524
805
  }
525
806
  },
@@ -529,7 +810,7 @@ function buildComponents(tokens) {
529
810
  paper: {
530
811
  borderRadius: radius2.md,
531
812
  boxShadow: tokenShadows.lg,
532
- border: `1px solid ${colors2.gray[200]}`,
813
+ border: `1px solid ${border2.secondary}`,
533
814
  marginTop: 4
534
815
  },
535
816
  option: {
@@ -537,10 +818,10 @@ function buildComponents(tokens) {
537
818
  lineHeight: "24px",
538
819
  padding: "10px 14px",
539
820
  "&.Mui-focused": {
540
- backgroundColor: colors2.gray[50]
821
+ backgroundColor: bg2.primaryHover
541
822
  },
542
823
  '&[aria-selected="true"]': {
543
- backgroundColor: colors2.brand[50]
824
+ backgroundColor: bg2.brandPrimary
544
825
  }
545
826
  },
546
827
  listbox: {
@@ -555,17 +836,17 @@ function buildComponents(tokens) {
555
836
  },
556
837
  styleOverrides: {
557
838
  root: {
558
- color: colors2.gray[300],
839
+ color: border2.primary,
559
840
  borderRadius: radius2.xs,
560
841
  padding: 0,
561
842
  width: 20,
562
843
  height: 20,
563
844
  "&:hover": {
564
845
  backgroundColor: "transparent",
565
- color: colors2.brand[600]
846
+ color: fg2.brandPrimary
566
847
  },
567
848
  "&.Mui-checked": {
568
- color: colors2.brand[600]
849
+ color: fg2.brandPrimary
569
850
  },
570
851
  "&.Mui-checked:hover": {
571
852
  color: colors2.brand[700]
@@ -576,7 +857,7 @@ function buildComponents(tokens) {
576
857
  borderRadius: radius2.xs
577
858
  },
578
859
  "&.Mui-disabled": {
579
- color: colors2.gray[300]
860
+ color: border2.primary
580
861
  }
581
862
  }
582
863
  }
@@ -588,14 +869,14 @@ function buildComponents(tokens) {
588
869
  },
589
870
  styleOverrides: {
590
871
  root: {
591
- color: colors2.gray[300],
872
+ color: border2.primary,
592
873
  padding: 0,
593
874
  "&:hover": {
594
875
  backgroundColor: "transparent",
595
- color: colors2.brand[600]
876
+ color: fg2.brandPrimary
596
877
  },
597
878
  "&.Mui-checked": {
598
- color: colors2.brand[600]
879
+ color: fg2.brandPrimary
599
880
  },
600
881
  "&.Mui-checked:hover": {
601
882
  color: colors2.brand[700]
@@ -606,7 +887,7 @@ function buildComponents(tokens) {
606
887
  borderRadius: radius2.full
607
888
  },
608
889
  "&.Mui-disabled": {
609
- color: colors2.gray[300]
890
+ color: border2.primary
610
891
  }
611
892
  }
612
893
  }
@@ -626,9 +907,9 @@ function buildComponents(tokens) {
626
907
  padding: 2,
627
908
  "&.Mui-checked": {
628
909
  transform: "translateX(20px)",
629
- color: colors2.base.white,
910
+ color: fg2.white,
630
911
  "& + .MuiSwitch-track": {
631
- backgroundColor: colors2.brand[600],
912
+ backgroundColor: fg2.brandPrimary,
632
913
  opacity: 1
633
914
  }
634
915
  },
@@ -639,7 +920,7 @@ function buildComponents(tokens) {
639
920
  boxShadow: focusRings2.brand
640
921
  },
641
922
  "&.Mui-disabled .MuiSwitch-thumb": {
642
- color: colors2.gray[100]
923
+ color: bg2.disabled
643
924
  },
644
925
  "&.Mui-disabled + .MuiSwitch-track": {
645
926
  opacity: 0.5
@@ -652,7 +933,7 @@ function buildComponents(tokens) {
652
933
  },
653
934
  track: {
654
935
  borderRadius: radius2.full,
655
- backgroundColor: colors2.gray[200],
936
+ backgroundColor: border2.secondary,
656
937
  opacity: 1
657
938
  }
658
939
  }
@@ -661,23 +942,24 @@ function buildComponents(tokens) {
661
942
  MuiToggleButton: {
662
943
  styleOverrides: {
663
944
  root: {
664
- borderRadius: radius2.md,
665
- borderColor: colors2.gray[300],
666
- color: colors2.gray[700],
945
+ borderColor: border2.primary,
946
+ color: text2.secondary,
667
947
  fontSize: 14,
668
948
  fontWeight: 600,
669
949
  lineHeight: "20px",
670
- padding: "8px 14px",
950
+ height: 32,
951
+ padding: "6px 12px",
671
952
  textTransform: "none",
672
953
  "&:hover": {
673
- backgroundColor: colors2.gray[50]
954
+ backgroundColor: bg2.primaryHover,
955
+ borderColor: border2.primary
674
956
  },
675
957
  "&.Mui-selected": {
676
- backgroundColor: colors2.brand[50],
677
- color: colors2.brand[700],
678
- borderColor: colors2.brand[300],
958
+ backgroundColor: bg2.brandPrimary,
959
+ color: buttonColors2.secondaryColor.fg,
960
+ borderColor: border2.brand,
679
961
  "&:hover": {
680
- backgroundColor: colors2.brand[100]
962
+ backgroundColor: bg2.brandSecondary
681
963
  }
682
964
  },
683
965
  "&:focus-visible": {
@@ -689,15 +971,21 @@ function buildComponents(tokens) {
689
971
  MuiToggleButtonGroup: {
690
972
  styleOverrides: {
691
973
  root: {
692
- borderRadius: radius2.md
974
+ borderRadius: radius2.md,
975
+ overflow: "hidden"
693
976
  },
694
977
  grouped: {
978
+ borderRadius: 0,
695
979
  "&:not(:first-of-type)": {
696
- borderRadius: radius2.md,
697
980
  marginLeft: -1
698
981
  },
699
982
  "&:first-of-type": {
700
- borderRadius: radius2.md
983
+ borderTopLeftRadius: radius2.md,
984
+ borderBottomLeftRadius: radius2.md
985
+ },
986
+ "&:last-of-type": {
987
+ borderTopRightRadius: radius2.md,
988
+ borderBottomRightRadius: radius2.md
701
989
  }
702
990
  }
703
991
  }
@@ -710,8 +998,9 @@ function buildComponents(tokens) {
710
998
  styleOverrides: {
711
999
  root: {
712
1000
  borderRadius: radius2.xl,
713
- border: `1px solid ${colors2.gray[200]}`,
714
- backgroundColor: colors2.base.white,
1001
+ border: `1px solid ${border2.secondary}`,
1002
+ backgroundColor: bg2.primary,
1003
+ boxShadow: tokenShadows.xs,
715
1004
  overflow: "hidden"
716
1005
  }
717
1006
  }
@@ -761,31 +1050,31 @@ function buildComponents(tokens) {
761
1050
  },
762
1051
  elevation1: {
763
1052
  boxShadow: tokenShadows.xs,
764
- border: `1px solid ${colors2.gray[200]}`
1053
+ border: `1px solid ${border2.secondary}`
765
1054
  },
766
1055
  elevation2: {
767
1056
  boxShadow: tokenShadows.sm,
768
- border: `1px solid ${colors2.gray[200]}`
1057
+ border: `1px solid ${border2.secondary}`
769
1058
  },
770
1059
  elevation3: {
771
1060
  boxShadow: tokenShadows.md,
772
- border: `1px solid ${colors2.gray[200]}`
1061
+ border: `1px solid ${border2.secondary}`
773
1062
  },
774
1063
  elevation4: {
775
1064
  boxShadow: tokenShadows.lg,
776
- border: `1px solid ${colors2.gray[200]}`
1065
+ border: `1px solid ${border2.secondary}`
777
1066
  },
778
1067
  elevation8: {
779
1068
  boxShadow: tokenShadows.xl,
780
- border: `1px solid ${colors2.gray[200]}`
1069
+ border: `1px solid ${border2.secondary}`
781
1070
  },
782
1071
  elevation16: {
783
1072
  boxShadow: tokenShadows["2xl"],
784
- border: `1px solid ${colors2.gray[200]}`
1073
+ border: `1px solid ${border2.secondary}`
785
1074
  },
786
1075
  elevation24: {
787
1076
  boxShadow: tokenShadows["3xl"],
788
- border: `1px solid ${colors2.gray[200]}`
1077
+ border: `1px solid ${border2.secondary}`
789
1078
  }
790
1079
  }
791
1080
  },
@@ -797,7 +1086,7 @@ function buildComponents(tokens) {
797
1086
  },
798
1087
  styleOverrides: {
799
1088
  root: {
800
- border: `1px solid ${colors2.gray[200]}`,
1089
+ border: `1px solid ${border2.secondary}`,
801
1090
  borderRadius: radius2.lg,
802
1091
  "&:not(:last-child)": {
803
1092
  marginBottom: 8
@@ -820,7 +1109,7 @@ function buildComponents(tokens) {
820
1109
  minHeight: 56,
821
1110
  "&.Mui-expanded": {
822
1111
  minHeight: 56,
823
- borderBottom: `1px solid ${colors2.gray[200]}`
1112
+ borderBottom: `1px solid ${border2.secondary}`
824
1113
  }
825
1114
  },
826
1115
  content: {
@@ -846,8 +1135,8 @@ function buildComponents(tokens) {
846
1135
  },
847
1136
  styleOverrides: {
848
1137
  root: {
849
- borderBottom: `1px solid ${colors2.gray[200]}`,
850
- backgroundColor: colors2.base.white
1138
+ borderBottom: `1px solid ${border2.secondary}`,
1139
+ backgroundColor: bg2.primary
851
1140
  }
852
1141
  }
853
1142
  },
@@ -871,9 +1160,68 @@ function buildComponents(tokens) {
871
1160
  MuiChip: {
872
1161
  styleOverrides: {
873
1162
  root: {
874
- borderRadius: radius2.md,
875
- fontWeight: 500,
876
- fontSize: 14
1163
+ borderRadius: radius2.md
1164
+ },
1165
+ label: {
1166
+ fontWeight: 500
1167
+ },
1168
+ sizeSmall: {
1169
+ fontSize: 12,
1170
+ height: 20
1171
+ },
1172
+ sizeMedium: {
1173
+ fontSize: 14,
1174
+ height: 24,
1175
+ "& .MuiChip-deleteIcon": { fontSize: 16 }
1176
+ },
1177
+ colorDefault: {
1178
+ "&.MuiChip-filled": {
1179
+ backgroundColor: colors2.gray[50],
1180
+ color: colors2.gray[700],
1181
+ "& .MuiChip-deleteIcon": { color: colors2.gray[400] }
1182
+ }
1183
+ },
1184
+ colorPrimary: {
1185
+ "&.MuiChip-filled": {
1186
+ backgroundColor: colors2.brand[50],
1187
+ color: colors2.brand[700],
1188
+ "& .MuiChip-deleteIcon": { color: colors2.brand[400] }
1189
+ }
1190
+ },
1191
+ colorSecondary: {
1192
+ "&.MuiChip-filled": {
1193
+ backgroundColor: colors2.gray[50],
1194
+ color: colors2.gray[700],
1195
+ "& .MuiChip-deleteIcon": { color: colors2.gray[400] }
1196
+ }
1197
+ },
1198
+ colorError: {
1199
+ "&.MuiChip-filled": {
1200
+ backgroundColor: colors2.error[50],
1201
+ color: colors2.error[700],
1202
+ "& .MuiChip-deleteIcon": { color: colors2.error[400] }
1203
+ }
1204
+ },
1205
+ colorWarning: {
1206
+ "&.MuiChip-filled": {
1207
+ backgroundColor: colors2.warning[50],
1208
+ color: colors2.warning[700],
1209
+ "& .MuiChip-deleteIcon": { color: colors2.warning[400] }
1210
+ }
1211
+ },
1212
+ colorSuccess: {
1213
+ "&.MuiChip-filled": {
1214
+ backgroundColor: colors2.success[50],
1215
+ color: colors2.success[700],
1216
+ "& .MuiChip-deleteIcon": { color: colors2.success[400] }
1217
+ }
1218
+ },
1219
+ colorInfo: {
1220
+ "&.MuiChip-filled": {
1221
+ backgroundColor: colors2.blue[50],
1222
+ color: colors2.blue[700],
1223
+ "& .MuiChip-deleteIcon": { color: colors2.blue[400] }
1224
+ }
877
1225
  }
878
1226
  }
879
1227
  },
@@ -888,7 +1236,7 @@ function buildComponents(tokens) {
888
1236
  fontSize: 14,
889
1237
  lineHeight: "20px",
890
1238
  fontWeight: 500,
891
- color: colors2.gray[700]
1239
+ color: text2.secondary
892
1240
  }
893
1241
  }
894
1242
  },
@@ -904,29 +1252,29 @@ function buildComponents(tokens) {
904
1252
  MuiTableCell: {
905
1253
  styleOverrides: {
906
1254
  root: {
907
- borderBottom: `1px solid ${colors2.gray[200]}`,
1255
+ borderBottom: `1px solid ${border2.secondary}`,
908
1256
  padding: "16px 24px",
909
1257
  fontSize: 14,
910
1258
  lineHeight: "20px",
911
- color: colors2.gray[600]
1259
+ color: fg2.tertiary
912
1260
  },
913
1261
  head: {
914
- backgroundColor: colors2.gray[50],
915
- color: colors2.gray[600],
1262
+ backgroundColor: bg2.secondary,
1263
+ color: fg2.tertiary,
916
1264
  fontWeight: 500,
917
1265
  fontSize: 12,
918
1266
  lineHeight: "18px"
919
1267
  },
920
1268
  body: {
921
- color: colors2.gray[600]
1269
+ color: fg2.tertiary
922
1270
  }
923
1271
  }
924
1272
  },
925
1273
  MuiTableHead: {
926
1274
  styleOverrides: {
927
1275
  root: {
928
- backgroundColor: colors2.gray[50],
929
- borderBottom: `1px solid ${colors2.gray[200]}`
1276
+ backgroundColor: bg2.secondary,
1277
+ borderBottom: `1px solid ${border2.secondary}`
930
1278
  }
931
1279
  }
932
1280
  },
@@ -937,12 +1285,12 @@ function buildComponents(tokens) {
937
1285
  border: 0
938
1286
  },
939
1287
  "&:hover": {
940
- backgroundColor: colors2.gray[50]
1288
+ backgroundColor: bg2.primaryHover
941
1289
  },
942
1290
  "&.Mui-selected": {
943
- backgroundColor: colors2.brand[50],
1291
+ backgroundColor: bg2.brandPrimary,
944
1292
  "&:hover": {
945
- backgroundColor: colors2.brand[50]
1293
+ backgroundColor: bg2.brandPrimary
946
1294
  }
947
1295
  }
948
1296
  }
@@ -952,7 +1300,7 @@ function buildComponents(tokens) {
952
1300
  styleOverrides: {
953
1301
  root: {
954
1302
  borderRadius: radius2.xl,
955
- border: `1px solid ${colors2.gray[200]}`,
1303
+ border: `1px solid ${border2.secondary}`,
956
1304
  boxShadow: "none"
957
1305
  }
958
1306
  }
@@ -969,16 +1317,16 @@ function buildComponents(tokens) {
969
1317
  borderRadius: radius2.full
970
1318
  },
971
1319
  colorPrimary: {
972
- backgroundColor: colors2.brand[600]
1320
+ backgroundColor: bg2.brandSolid
973
1321
  },
974
1322
  colorError: {
975
- backgroundColor: colors2.error[600]
1323
+ backgroundColor: bg2.errorSolid
976
1324
  },
977
1325
  colorSuccess: {
978
- backgroundColor: colors2.success[600]
1326
+ backgroundColor: bg2.successSolid
979
1327
  },
980
1328
  colorWarning: {
981
- backgroundColor: colors2.warning[600]
1329
+ backgroundColor: bg2.warningSolid
982
1330
  },
983
1331
  dot: {
984
1332
  minWidth: 8,
@@ -991,7 +1339,7 @@ function buildComponents(tokens) {
991
1339
  MuiDivider: {
992
1340
  styleOverrides: {
993
1341
  root: {
994
- borderColor: colors2.gray[200]
1342
+ borderColor: border2.secondary
995
1343
  }
996
1344
  }
997
1345
  },
@@ -1009,13 +1357,13 @@ function buildComponents(tokens) {
1009
1357
  borderRadius: radius2.sm,
1010
1358
  padding: "8px 12px",
1011
1359
  "&:hover": {
1012
- backgroundColor: colors2.gray[50]
1360
+ backgroundColor: bg2.primaryHover
1013
1361
  },
1014
1362
  "&.Mui-selected": {
1015
- backgroundColor: colors2.brand[50],
1016
- color: colors2.brand[700],
1363
+ backgroundColor: bg2.brandPrimary,
1364
+ color: buttonColors2.secondaryColor.fg,
1017
1365
  "&:hover": {
1018
- backgroundColor: colors2.brand[100]
1366
+ backgroundColor: bg2.brandSecondary
1019
1367
  }
1020
1368
  }
1021
1369
  }
@@ -1025,7 +1373,7 @@ function buildComponents(tokens) {
1025
1373
  styleOverrides: {
1026
1374
  root: {
1027
1375
  minWidth: 36,
1028
- color: colors2.gray[500]
1376
+ color: fg2.quaternary
1029
1377
  }
1030
1378
  }
1031
1379
  },
@@ -1035,12 +1383,12 @@ function buildComponents(tokens) {
1035
1383
  fontSize: 14,
1036
1384
  lineHeight: "20px",
1037
1385
  fontWeight: 500,
1038
- color: colors2.gray[700]
1386
+ color: text2.secondary
1039
1387
  },
1040
1388
  secondary: {
1041
1389
  fontSize: 14,
1042
1390
  lineHeight: "20px",
1043
- color: colors2.gray[500]
1391
+ color: text2.quaternary
1044
1392
  }
1045
1393
  }
1046
1394
  },
@@ -1048,8 +1396,8 @@ function buildComponents(tokens) {
1048
1396
  MuiTooltip: {
1049
1397
  styleOverrides: {
1050
1398
  tooltip: {
1051
- backgroundColor: colors2.gray[900],
1052
- color: colors2.base.white,
1399
+ backgroundColor: bg2.primarySolid,
1400
+ color: text2.white,
1053
1401
  fontSize: 12,
1054
1402
  lineHeight: "18px",
1055
1403
  fontWeight: 600,
@@ -1058,7 +1406,7 @@ function buildComponents(tokens) {
1058
1406
  boxShadow: tokenShadows.lg
1059
1407
  },
1060
1408
  arrow: {
1061
- color: colors2.gray[900]
1409
+ color: bg2.primarySolid
1062
1410
  }
1063
1411
  }
1064
1412
  },
@@ -1072,30 +1420,31 @@ function buildComponents(tokens) {
1072
1420
  borderRadius: radius2.xl,
1073
1421
  fontSize: 14,
1074
1422
  lineHeight: "20px",
1075
- padding: "12px 16px"
1423
+ padding: "12px 16px",
1424
+ alignItems: "center"
1076
1425
  },
1077
1426
  standardError: {
1078
- backgroundColor: colors2.error[50],
1427
+ backgroundColor: bg2.errorPrimary,
1079
1428
  color: colors2.error[700],
1080
- border: `1px solid ${colors2.error[300]}`,
1429
+ border: `1px solid ${border2.error}`,
1081
1430
  "& .MuiAlert-icon": {
1082
- color: colors2.error[600]
1431
+ color: fg2.errorPrimary
1083
1432
  }
1084
1433
  },
1085
1434
  standardWarning: {
1086
- backgroundColor: colors2.warning[50],
1435
+ backgroundColor: bg2.warningPrimary,
1087
1436
  color: colors2.warning[700],
1088
1437
  border: `1px solid ${colors2.warning[300]}`,
1089
1438
  "& .MuiAlert-icon": {
1090
- color: colors2.warning[600]
1439
+ color: fg2.warningPrimary
1091
1440
  }
1092
1441
  },
1093
1442
  standardSuccess: {
1094
- backgroundColor: colors2.success[50],
1443
+ backgroundColor: bg2.successPrimary,
1095
1444
  color: colors2.success[700],
1096
1445
  border: `1px solid ${colors2.success[300]}`,
1097
1446
  "& .MuiAlert-icon": {
1098
- color: colors2.success[600]
1447
+ color: fg2.successPrimary
1099
1448
  }
1100
1449
  },
1101
1450
  standardInfo: {
@@ -1107,7 +1456,8 @@ function buildComponents(tokens) {
1107
1456
  }
1108
1457
  },
1109
1458
  icon: {
1110
- padding: "2px 0"
1459
+ padding: 0,
1460
+ marginRight: 12
1111
1461
  }
1112
1462
  }
1113
1463
  },
@@ -1145,7 +1495,7 @@ function buildComponents(tokens) {
1145
1495
  fontSize: 18,
1146
1496
  lineHeight: "28px",
1147
1497
  fontWeight: 600,
1148
- color: colors2.gray[900],
1498
+ color: text2.primary,
1149
1499
  padding: "24px 24px 0"
1150
1500
  }
1151
1501
  }
@@ -1156,7 +1506,7 @@ function buildComponents(tokens) {
1156
1506
  padding: "20px 24px",
1157
1507
  fontSize: 14,
1158
1508
  lineHeight: "20px",
1159
- color: colors2.gray[600]
1509
+ color: text2.tertiary
1160
1510
  }
1161
1511
  }
1162
1512
  },
@@ -1174,14 +1524,14 @@ function buildComponents(tokens) {
1174
1524
  root: {
1175
1525
  borderRadius: radius2.full,
1176
1526
  height: 8,
1177
- backgroundColor: colors2.gray[200]
1527
+ backgroundColor: border2.secondary
1178
1528
  },
1179
1529
  barColorPrimary: {
1180
- backgroundColor: colors2.brand[600],
1530
+ backgroundColor: fg2.brandPrimary,
1181
1531
  borderRadius: radius2.full
1182
1532
  },
1183
1533
  barColorSecondary: {
1184
- backgroundColor: colors2.gray[600],
1534
+ backgroundColor: bg2.secondarySolid,
1185
1535
  borderRadius: radius2.full
1186
1536
  }
1187
1537
  }
@@ -1189,10 +1539,10 @@ function buildComponents(tokens) {
1189
1539
  MuiCircularProgress: {
1190
1540
  styleOverrides: {
1191
1541
  colorPrimary: {
1192
- color: colors2.brand[600]
1542
+ color: fg2.brandPrimary
1193
1543
  },
1194
1544
  colorSecondary: {
1195
- color: colors2.gray[600]
1545
+ color: bg2.secondarySolid
1196
1546
  }
1197
1547
  }
1198
1548
  },
@@ -1203,7 +1553,7 @@ function buildComponents(tokens) {
1203
1553
  },
1204
1554
  styleOverrides: {
1205
1555
  root: {
1206
- backgroundColor: colors2.gray[100]
1556
+ backgroundColor: bg2.tertiary
1207
1557
  },
1208
1558
  rounded: {
1209
1559
  borderRadius: radius2.md
@@ -1217,8 +1567,8 @@ function buildComponents(tokens) {
1217
1567
  MuiSnackbarContent: {
1218
1568
  styleOverrides: {
1219
1569
  root: {
1220
- backgroundColor: colors2.gray[900],
1221
- color: colors2.base.white,
1570
+ backgroundColor: bg2.primarySolid,
1571
+ color: text2.white,
1222
1572
  borderRadius: radius2.xl,
1223
1573
  boxShadow: tokenShadows.lg,
1224
1574
  fontSize: 14,
@@ -1246,6 +1596,62 @@ function buildComponents(tokens) {
1246
1596
  overline: "span"
1247
1597
  }
1248
1598
  }
1599
+ },
1600
+ // ─── DataGrid (@mui/x-data-grid) ──────────────────────────────
1601
+ // Not part of MUI core's Components<Theme> type, so we merge via assertion.
1602
+ ...{
1603
+ MuiDataGrid: {
1604
+ styleOverrides: {
1605
+ root: {
1606
+ border: `1px solid ${border2.secondary}`,
1607
+ borderRadius: radius2.xl,
1608
+ fontFamily: "inherit",
1609
+ "& .MuiDataGrid-withBorderColor": {
1610
+ borderColor: border2.secondary
1611
+ }
1612
+ },
1613
+ columnHeaders: {
1614
+ backgroundColor: bg2.secondary
1615
+ },
1616
+ columnHeader: {
1617
+ fontSize: 12,
1618
+ lineHeight: "18px",
1619
+ fontWeight: 500,
1620
+ color: fg2.tertiary,
1621
+ "&:focus, &:focus-within": {
1622
+ outline: "none"
1623
+ }
1624
+ },
1625
+ columnHeaderTitle: {
1626
+ fontWeight: 500
1627
+ },
1628
+ cell: {
1629
+ fontSize: 14,
1630
+ lineHeight: "20px",
1631
+ color: fg2.tertiary,
1632
+ "&:focus, &:focus-within": {
1633
+ outline: "none"
1634
+ }
1635
+ },
1636
+ row: {
1637
+ "&:hover": {
1638
+ backgroundColor: bg2.primaryHover
1639
+ },
1640
+ "&.Mui-selected": {
1641
+ backgroundColor: bg2.brandPrimary,
1642
+ "&:hover": {
1643
+ backgroundColor: bg2.brandPrimary
1644
+ }
1645
+ }
1646
+ },
1647
+ footerContainer: {
1648
+ borderTop: `1px solid ${border2.secondary}`
1649
+ },
1650
+ columnSeparator: {
1651
+ color: border2.secondary
1652
+ }
1653
+ }
1654
+ }
1249
1655
  }
1250
1656
  };
1251
1657
  }
@@ -1253,8 +1659,12 @@ var components = buildComponents({
1253
1659
  colors,
1254
1660
  radius,
1255
1661
  focusRings,
1256
- shadows
1257
- });
1662
+ shadows,
1663
+ text,
1664
+ bg,
1665
+ fg,
1666
+ border,
1667
+ buttonColors});
1258
1668
 
1259
1669
  // src/theme/shadows.ts
1260
1670
  function buildShadows(tokens) {
@@ -1348,7 +1758,20 @@ var forestPreset = {
1348
1758
  fontWeight,
1349
1759
  display,
1350
1760
  container,
1351
- widths
1761
+ widths,
1762
+ text,
1763
+ bg,
1764
+ fg,
1765
+ border,
1766
+ buttonColors,
1767
+ avatarColors,
1768
+ breadcrumbColors,
1769
+ iconColors,
1770
+ navColors,
1771
+ sliderColors,
1772
+ toggleColors,
1773
+ chartColors,
1774
+ alpha
1352
1775
  }
1353
1776
  }
1354
1777
  }
@@ -1379,6 +1802,6 @@ var forestThemeOptions = {
1379
1802
  };
1380
1803
  var forestTheme = createTheme(forestThemeOptions);
1381
1804
 
1382
- export { buildTheme, buildThemeOptions, colors, components, container, display, focusRings, fontFamily, fontSize, fontWeight, forestPreset, forestTheme, forestThemeOptions, getAvailablePresets, getPreset, lineHeight, palette, radius, registerPreset, shadows, shadows2, spacing, typography, widths };
1383
- //# sourceMappingURL=chunk-5C6DAZT2.mjs.map
1384
- //# sourceMappingURL=chunk-5C6DAZT2.mjs.map
1805
+ export { alpha, avatarColors, bg, border, breadcrumbColors, buildTheme, buildThemeOptions, buttonColors, chartColors, colors, components, container, display, fg, focusRings, fontFamily, fontSize, fontWeight, forestPreset, forestTheme, forestThemeOptions, getAvailablePresets, getPreset, iconColors, lineHeight, navColors, palette, radius, registerPreset, shadows, shadows2, sliderColors, spacing, text, toggleColors, typography, widths };
1806
+ //# sourceMappingURL=chunk-F5PVQ752.mjs.map
1807
+ //# sourceMappingURL=chunk-F5PVQ752.mjs.map