@matteoaliano/forest-ui 0.2.1 → 0.2.2

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