@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.
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,9 @@ 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,
1005
+ boxShadow: tokenShadows.xs,
717
1006
  overflow: "hidden"
718
1007
  }
719
1008
  }
@@ -763,31 +1052,31 @@ function buildComponents(tokens) {
763
1052
  },
764
1053
  elevation1: {
765
1054
  boxShadow: tokenShadows.xs,
766
- border: `1px solid ${colors2.gray[200]}`
1055
+ border: `1px solid ${border2.secondary}`
767
1056
  },
768
1057
  elevation2: {
769
1058
  boxShadow: tokenShadows.sm,
770
- border: `1px solid ${colors2.gray[200]}`
1059
+ border: `1px solid ${border2.secondary}`
771
1060
  },
772
1061
  elevation3: {
773
1062
  boxShadow: tokenShadows.md,
774
- border: `1px solid ${colors2.gray[200]}`
1063
+ border: `1px solid ${border2.secondary}`
775
1064
  },
776
1065
  elevation4: {
777
1066
  boxShadow: tokenShadows.lg,
778
- border: `1px solid ${colors2.gray[200]}`
1067
+ border: `1px solid ${border2.secondary}`
779
1068
  },
780
1069
  elevation8: {
781
1070
  boxShadow: tokenShadows.xl,
782
- border: `1px solid ${colors2.gray[200]}`
1071
+ border: `1px solid ${border2.secondary}`
783
1072
  },
784
1073
  elevation16: {
785
1074
  boxShadow: tokenShadows["2xl"],
786
- border: `1px solid ${colors2.gray[200]}`
1075
+ border: `1px solid ${border2.secondary}`
787
1076
  },
788
1077
  elevation24: {
789
1078
  boxShadow: tokenShadows["3xl"],
790
- border: `1px solid ${colors2.gray[200]}`
1079
+ border: `1px solid ${border2.secondary}`
791
1080
  }
792
1081
  }
793
1082
  },
@@ -799,7 +1088,7 @@ function buildComponents(tokens) {
799
1088
  },
800
1089
  styleOverrides: {
801
1090
  root: {
802
- border: `1px solid ${colors2.gray[200]}`,
1091
+ border: `1px solid ${border2.secondary}`,
803
1092
  borderRadius: radius2.lg,
804
1093
  "&:not(:last-child)": {
805
1094
  marginBottom: 8
@@ -822,7 +1111,7 @@ function buildComponents(tokens) {
822
1111
  minHeight: 56,
823
1112
  "&.Mui-expanded": {
824
1113
  minHeight: 56,
825
- borderBottom: `1px solid ${colors2.gray[200]}`
1114
+ borderBottom: `1px solid ${border2.secondary}`
826
1115
  }
827
1116
  },
828
1117
  content: {
@@ -848,8 +1137,8 @@ function buildComponents(tokens) {
848
1137
  },
849
1138
  styleOverrides: {
850
1139
  root: {
851
- borderBottom: `1px solid ${colors2.gray[200]}`,
852
- backgroundColor: colors2.base.white
1140
+ borderBottom: `1px solid ${border2.secondary}`,
1141
+ backgroundColor: bg2.primary
853
1142
  }
854
1143
  }
855
1144
  },
@@ -873,9 +1162,68 @@ function buildComponents(tokens) {
873
1162
  MuiChip: {
874
1163
  styleOverrides: {
875
1164
  root: {
876
- borderRadius: radius2.md,
877
- fontWeight: 500,
878
- fontSize: 14
1165
+ borderRadius: radius2.md
1166
+ },
1167
+ label: {
1168
+ fontWeight: 500
1169
+ },
1170
+ sizeSmall: {
1171
+ fontSize: 12,
1172
+ height: 20
1173
+ },
1174
+ sizeMedium: {
1175
+ fontSize: 14,
1176
+ height: 24,
1177
+ "& .MuiChip-deleteIcon": { fontSize: 16 }
1178
+ },
1179
+ colorDefault: {
1180
+ "&.MuiChip-filled": {
1181
+ backgroundColor: colors2.gray[50],
1182
+ color: colors2.gray[700],
1183
+ "& .MuiChip-deleteIcon": { color: colors2.gray[400] }
1184
+ }
1185
+ },
1186
+ colorPrimary: {
1187
+ "&.MuiChip-filled": {
1188
+ backgroundColor: colors2.brand[50],
1189
+ color: colors2.brand[700],
1190
+ "& .MuiChip-deleteIcon": { color: colors2.brand[400] }
1191
+ }
1192
+ },
1193
+ colorSecondary: {
1194
+ "&.MuiChip-filled": {
1195
+ backgroundColor: colors2.gray[50],
1196
+ color: colors2.gray[700],
1197
+ "& .MuiChip-deleteIcon": { color: colors2.gray[400] }
1198
+ }
1199
+ },
1200
+ colorError: {
1201
+ "&.MuiChip-filled": {
1202
+ backgroundColor: colors2.error[50],
1203
+ color: colors2.error[700],
1204
+ "& .MuiChip-deleteIcon": { color: colors2.error[400] }
1205
+ }
1206
+ },
1207
+ colorWarning: {
1208
+ "&.MuiChip-filled": {
1209
+ backgroundColor: colors2.warning[50],
1210
+ color: colors2.warning[700],
1211
+ "& .MuiChip-deleteIcon": { color: colors2.warning[400] }
1212
+ }
1213
+ },
1214
+ colorSuccess: {
1215
+ "&.MuiChip-filled": {
1216
+ backgroundColor: colors2.success[50],
1217
+ color: colors2.success[700],
1218
+ "& .MuiChip-deleteIcon": { color: colors2.success[400] }
1219
+ }
1220
+ },
1221
+ colorInfo: {
1222
+ "&.MuiChip-filled": {
1223
+ backgroundColor: colors2.blue[50],
1224
+ color: colors2.blue[700],
1225
+ "& .MuiChip-deleteIcon": { color: colors2.blue[400] }
1226
+ }
879
1227
  }
880
1228
  }
881
1229
  },
@@ -890,7 +1238,7 @@ function buildComponents(tokens) {
890
1238
  fontSize: 14,
891
1239
  lineHeight: "20px",
892
1240
  fontWeight: 500,
893
- color: colors2.gray[700]
1241
+ color: text2.secondary
894
1242
  }
895
1243
  }
896
1244
  },
@@ -906,29 +1254,29 @@ function buildComponents(tokens) {
906
1254
  MuiTableCell: {
907
1255
  styleOverrides: {
908
1256
  root: {
909
- borderBottom: `1px solid ${colors2.gray[200]}`,
1257
+ borderBottom: `1px solid ${border2.secondary}`,
910
1258
  padding: "16px 24px",
911
1259
  fontSize: 14,
912
1260
  lineHeight: "20px",
913
- color: colors2.gray[600]
1261
+ color: fg2.tertiary
914
1262
  },
915
1263
  head: {
916
- backgroundColor: colors2.gray[50],
917
- color: colors2.gray[600],
1264
+ backgroundColor: bg2.secondary,
1265
+ color: fg2.tertiary,
918
1266
  fontWeight: 500,
919
1267
  fontSize: 12,
920
1268
  lineHeight: "18px"
921
1269
  },
922
1270
  body: {
923
- color: colors2.gray[600]
1271
+ color: fg2.tertiary
924
1272
  }
925
1273
  }
926
1274
  },
927
1275
  MuiTableHead: {
928
1276
  styleOverrides: {
929
1277
  root: {
930
- backgroundColor: colors2.gray[50],
931
- borderBottom: `1px solid ${colors2.gray[200]}`
1278
+ backgroundColor: bg2.secondary,
1279
+ borderBottom: `1px solid ${border2.secondary}`
932
1280
  }
933
1281
  }
934
1282
  },
@@ -939,12 +1287,12 @@ function buildComponents(tokens) {
939
1287
  border: 0
940
1288
  },
941
1289
  "&:hover": {
942
- backgroundColor: colors2.gray[50]
1290
+ backgroundColor: bg2.primaryHover
943
1291
  },
944
1292
  "&.Mui-selected": {
945
- backgroundColor: colors2.brand[50],
1293
+ backgroundColor: bg2.brandPrimary,
946
1294
  "&:hover": {
947
- backgroundColor: colors2.brand[50]
1295
+ backgroundColor: bg2.brandPrimary
948
1296
  }
949
1297
  }
950
1298
  }
@@ -954,7 +1302,7 @@ function buildComponents(tokens) {
954
1302
  styleOverrides: {
955
1303
  root: {
956
1304
  borderRadius: radius2.xl,
957
- border: `1px solid ${colors2.gray[200]}`,
1305
+ border: `1px solid ${border2.secondary}`,
958
1306
  boxShadow: "none"
959
1307
  }
960
1308
  }
@@ -971,16 +1319,16 @@ function buildComponents(tokens) {
971
1319
  borderRadius: radius2.full
972
1320
  },
973
1321
  colorPrimary: {
974
- backgroundColor: colors2.brand[600]
1322
+ backgroundColor: bg2.brandSolid
975
1323
  },
976
1324
  colorError: {
977
- backgroundColor: colors2.error[600]
1325
+ backgroundColor: bg2.errorSolid
978
1326
  },
979
1327
  colorSuccess: {
980
- backgroundColor: colors2.success[600]
1328
+ backgroundColor: bg2.successSolid
981
1329
  },
982
1330
  colorWarning: {
983
- backgroundColor: colors2.warning[600]
1331
+ backgroundColor: bg2.warningSolid
984
1332
  },
985
1333
  dot: {
986
1334
  minWidth: 8,
@@ -993,7 +1341,7 @@ function buildComponents(tokens) {
993
1341
  MuiDivider: {
994
1342
  styleOverrides: {
995
1343
  root: {
996
- borderColor: colors2.gray[200]
1344
+ borderColor: border2.secondary
997
1345
  }
998
1346
  }
999
1347
  },
@@ -1011,13 +1359,13 @@ function buildComponents(tokens) {
1011
1359
  borderRadius: radius2.sm,
1012
1360
  padding: "8px 12px",
1013
1361
  "&:hover": {
1014
- backgroundColor: colors2.gray[50]
1362
+ backgroundColor: bg2.primaryHover
1015
1363
  },
1016
1364
  "&.Mui-selected": {
1017
- backgroundColor: colors2.brand[50],
1018
- color: colors2.brand[700],
1365
+ backgroundColor: bg2.brandPrimary,
1366
+ color: buttonColors2.secondaryColor.fg,
1019
1367
  "&:hover": {
1020
- backgroundColor: colors2.brand[100]
1368
+ backgroundColor: bg2.brandSecondary
1021
1369
  }
1022
1370
  }
1023
1371
  }
@@ -1027,7 +1375,7 @@ function buildComponents(tokens) {
1027
1375
  styleOverrides: {
1028
1376
  root: {
1029
1377
  minWidth: 36,
1030
- color: colors2.gray[500]
1378
+ color: fg2.quaternary
1031
1379
  }
1032
1380
  }
1033
1381
  },
@@ -1037,12 +1385,12 @@ function buildComponents(tokens) {
1037
1385
  fontSize: 14,
1038
1386
  lineHeight: "20px",
1039
1387
  fontWeight: 500,
1040
- color: colors2.gray[700]
1388
+ color: text2.secondary
1041
1389
  },
1042
1390
  secondary: {
1043
1391
  fontSize: 14,
1044
1392
  lineHeight: "20px",
1045
- color: colors2.gray[500]
1393
+ color: text2.quaternary
1046
1394
  }
1047
1395
  }
1048
1396
  },
@@ -1050,8 +1398,8 @@ function buildComponents(tokens) {
1050
1398
  MuiTooltip: {
1051
1399
  styleOverrides: {
1052
1400
  tooltip: {
1053
- backgroundColor: colors2.gray[900],
1054
- color: colors2.base.white,
1401
+ backgroundColor: bg2.primarySolid,
1402
+ color: text2.white,
1055
1403
  fontSize: 12,
1056
1404
  lineHeight: "18px",
1057
1405
  fontWeight: 600,
@@ -1060,7 +1408,7 @@ function buildComponents(tokens) {
1060
1408
  boxShadow: tokenShadows.lg
1061
1409
  },
1062
1410
  arrow: {
1063
- color: colors2.gray[900]
1411
+ color: bg2.primarySolid
1064
1412
  }
1065
1413
  }
1066
1414
  },
@@ -1074,30 +1422,31 @@ function buildComponents(tokens) {
1074
1422
  borderRadius: radius2.xl,
1075
1423
  fontSize: 14,
1076
1424
  lineHeight: "20px",
1077
- padding: "12px 16px"
1425
+ padding: "12px 16px",
1426
+ alignItems: "center"
1078
1427
  },
1079
1428
  standardError: {
1080
- backgroundColor: colors2.error[50],
1429
+ backgroundColor: bg2.errorPrimary,
1081
1430
  color: colors2.error[700],
1082
- border: `1px solid ${colors2.error[300]}`,
1431
+ border: `1px solid ${border2.error}`,
1083
1432
  "& .MuiAlert-icon": {
1084
- color: colors2.error[600]
1433
+ color: fg2.errorPrimary
1085
1434
  }
1086
1435
  },
1087
1436
  standardWarning: {
1088
- backgroundColor: colors2.warning[50],
1437
+ backgroundColor: bg2.warningPrimary,
1089
1438
  color: colors2.warning[700],
1090
1439
  border: `1px solid ${colors2.warning[300]}`,
1091
1440
  "& .MuiAlert-icon": {
1092
- color: colors2.warning[600]
1441
+ color: fg2.warningPrimary
1093
1442
  }
1094
1443
  },
1095
1444
  standardSuccess: {
1096
- backgroundColor: colors2.success[50],
1445
+ backgroundColor: bg2.successPrimary,
1097
1446
  color: colors2.success[700],
1098
1447
  border: `1px solid ${colors2.success[300]}`,
1099
1448
  "& .MuiAlert-icon": {
1100
- color: colors2.success[600]
1449
+ color: fg2.successPrimary
1101
1450
  }
1102
1451
  },
1103
1452
  standardInfo: {
@@ -1109,7 +1458,8 @@ function buildComponents(tokens) {
1109
1458
  }
1110
1459
  },
1111
1460
  icon: {
1112
- padding: "2px 0"
1461
+ padding: 0,
1462
+ marginRight: 12
1113
1463
  }
1114
1464
  }
1115
1465
  },
@@ -1147,7 +1497,7 @@ function buildComponents(tokens) {
1147
1497
  fontSize: 18,
1148
1498
  lineHeight: "28px",
1149
1499
  fontWeight: 600,
1150
- color: colors2.gray[900],
1500
+ color: text2.primary,
1151
1501
  padding: "24px 24px 0"
1152
1502
  }
1153
1503
  }
@@ -1158,7 +1508,7 @@ function buildComponents(tokens) {
1158
1508
  padding: "20px 24px",
1159
1509
  fontSize: 14,
1160
1510
  lineHeight: "20px",
1161
- color: colors2.gray[600]
1511
+ color: text2.tertiary
1162
1512
  }
1163
1513
  }
1164
1514
  },
@@ -1176,14 +1526,14 @@ function buildComponents(tokens) {
1176
1526
  root: {
1177
1527
  borderRadius: radius2.full,
1178
1528
  height: 8,
1179
- backgroundColor: colors2.gray[200]
1529
+ backgroundColor: border2.secondary
1180
1530
  },
1181
1531
  barColorPrimary: {
1182
- backgroundColor: colors2.brand[600],
1532
+ backgroundColor: fg2.brandPrimary,
1183
1533
  borderRadius: radius2.full
1184
1534
  },
1185
1535
  barColorSecondary: {
1186
- backgroundColor: colors2.gray[600],
1536
+ backgroundColor: bg2.secondarySolid,
1187
1537
  borderRadius: radius2.full
1188
1538
  }
1189
1539
  }
@@ -1191,10 +1541,10 @@ function buildComponents(tokens) {
1191
1541
  MuiCircularProgress: {
1192
1542
  styleOverrides: {
1193
1543
  colorPrimary: {
1194
- color: colors2.brand[600]
1544
+ color: fg2.brandPrimary
1195
1545
  },
1196
1546
  colorSecondary: {
1197
- color: colors2.gray[600]
1547
+ color: bg2.secondarySolid
1198
1548
  }
1199
1549
  }
1200
1550
  },
@@ -1205,7 +1555,7 @@ function buildComponents(tokens) {
1205
1555
  },
1206
1556
  styleOverrides: {
1207
1557
  root: {
1208
- backgroundColor: colors2.gray[100]
1558
+ backgroundColor: bg2.tertiary
1209
1559
  },
1210
1560
  rounded: {
1211
1561
  borderRadius: radius2.md
@@ -1219,8 +1569,8 @@ function buildComponents(tokens) {
1219
1569
  MuiSnackbarContent: {
1220
1570
  styleOverrides: {
1221
1571
  root: {
1222
- backgroundColor: colors2.gray[900],
1223
- color: colors2.base.white,
1572
+ backgroundColor: bg2.primarySolid,
1573
+ color: text2.white,
1224
1574
  borderRadius: radius2.xl,
1225
1575
  boxShadow: tokenShadows.lg,
1226
1576
  fontSize: 14,
@@ -1248,6 +1598,62 @@ function buildComponents(tokens) {
1248
1598
  overline: "span"
1249
1599
  }
1250
1600
  }
1601
+ },
1602
+ // ─── DataGrid (@mui/x-data-grid) ──────────────────────────────
1603
+ // Not part of MUI core's Components<Theme> type, so we merge via assertion.
1604
+ ...{
1605
+ MuiDataGrid: {
1606
+ styleOverrides: {
1607
+ root: {
1608
+ border: `1px solid ${border2.secondary}`,
1609
+ borderRadius: radius2.xl,
1610
+ fontFamily: "inherit",
1611
+ "& .MuiDataGrid-withBorderColor": {
1612
+ borderColor: border2.secondary
1613
+ }
1614
+ },
1615
+ columnHeaders: {
1616
+ backgroundColor: bg2.secondary
1617
+ },
1618
+ columnHeader: {
1619
+ fontSize: 12,
1620
+ lineHeight: "18px",
1621
+ fontWeight: 500,
1622
+ color: fg2.tertiary,
1623
+ "&:focus, &:focus-within": {
1624
+ outline: "none"
1625
+ }
1626
+ },
1627
+ columnHeaderTitle: {
1628
+ fontWeight: 500
1629
+ },
1630
+ cell: {
1631
+ fontSize: 14,
1632
+ lineHeight: "20px",
1633
+ color: fg2.tertiary,
1634
+ "&:focus, &:focus-within": {
1635
+ outline: "none"
1636
+ }
1637
+ },
1638
+ row: {
1639
+ "&:hover": {
1640
+ backgroundColor: bg2.primaryHover
1641
+ },
1642
+ "&.Mui-selected": {
1643
+ backgroundColor: bg2.brandPrimary,
1644
+ "&:hover": {
1645
+ backgroundColor: bg2.brandPrimary
1646
+ }
1647
+ }
1648
+ },
1649
+ footerContainer: {
1650
+ borderTop: `1px solid ${border2.secondary}`
1651
+ },
1652
+ columnSeparator: {
1653
+ color: border2.secondary
1654
+ }
1655
+ }
1656
+ }
1251
1657
  }
1252
1658
  };
1253
1659
  }
@@ -1255,8 +1661,12 @@ var components = buildComponents({
1255
1661
  colors,
1256
1662
  radius,
1257
1663
  focusRings,
1258
- shadows
1259
- });
1664
+ shadows,
1665
+ text,
1666
+ bg,
1667
+ fg,
1668
+ border,
1669
+ buttonColors});
1260
1670
 
1261
1671
  // src/theme/shadows.ts
1262
1672
  function buildShadows(tokens) {
@@ -1350,7 +1760,20 @@ var forestPreset = {
1350
1760
  fontWeight,
1351
1761
  display,
1352
1762
  container,
1353
- widths
1763
+ widths,
1764
+ text,
1765
+ bg,
1766
+ fg,
1767
+ border,
1768
+ buttonColors,
1769
+ avatarColors,
1770
+ breadcrumbColors,
1771
+ iconColors,
1772
+ navColors,
1773
+ sliderColors,
1774
+ toggleColors,
1775
+ chartColors,
1776
+ alpha
1354
1777
  }
1355
1778
  }
1356
1779
  }
@@ -1381,12 +1804,20 @@ var forestThemeOptions = {
1381
1804
  };
1382
1805
  var forestTheme = styles.createTheme(forestThemeOptions);
1383
1806
 
1807
+ exports.alpha = alpha;
1808
+ exports.avatarColors = avatarColors;
1809
+ exports.bg = bg;
1810
+ exports.border = border;
1811
+ exports.breadcrumbColors = breadcrumbColors;
1384
1812
  exports.buildTheme = buildTheme;
1385
1813
  exports.buildThemeOptions = buildThemeOptions;
1814
+ exports.buttonColors = buttonColors;
1815
+ exports.chartColors = chartColors;
1386
1816
  exports.colors = colors;
1387
1817
  exports.components = components;
1388
1818
  exports.container = container;
1389
1819
  exports.display = display;
1820
+ exports.fg = fg;
1390
1821
  exports.focusRings = focusRings;
1391
1822
  exports.fontFamily = fontFamily;
1392
1823
  exports.fontSize = fontSize;
@@ -1396,12 +1827,17 @@ exports.forestTheme = forestTheme;
1396
1827
  exports.forestThemeOptions = forestThemeOptions;
1397
1828
  exports.getAvailablePresets = getAvailablePresets;
1398
1829
  exports.getPreset = getPreset;
1830
+ exports.iconColors = iconColors;
1399
1831
  exports.lineHeight = lineHeight;
1832
+ exports.navColors = navColors;
1400
1833
  exports.palette = palette;
1401
1834
  exports.radius = radius;
1402
1835
  exports.registerPreset = registerPreset;
1403
1836
  exports.shadows = shadows2;
1837
+ exports.sliderColors = sliderColors;
1404
1838
  exports.spacing = spacing;
1839
+ exports.text = text;
1840
+ exports.toggleColors = toggleColors;
1405
1841
  exports.typography = typography;
1406
1842
  exports.widths = widths;
1407
1843
  //# sourceMappingURL=theme.js.map