@moderneinc/neo-styled-components 2.4.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -4,7 +4,7 @@ import Box from '@mui/material/Box';
4
4
  import { styled, alpha } from '@mui/material/styles';
5
5
  import Avatar from '@mui/material/Avatar';
6
6
  import Chip, { chipClasses } from '@mui/material/Chip';
7
- import SvgIcon from '@mui/material/SvgIcon';
7
+ import SvgIcon, { svgIconClasses } from '@mui/material/SvgIcon';
8
8
  import Alert, { alertClasses } from '@mui/material/Alert';
9
9
  import IconButton, { iconButtonClasses } from '@mui/material/IconButton';
10
10
  import { forwardRef, createElement, useState, useMemo, useRef, useEffect } from 'react';
@@ -149,7 +149,10 @@ NeoAvatar.displayName = 'NeoAvatar';
149
149
 
150
150
  const StyledChip$1 = styled(Chip)(({ theme }) => ({
151
151
  height: 24,
152
- padding: `${spacing.spacing_1_4}px ${spacing.spacing_1}px`,
152
+ paddingTop: spacing.spacing_1_4,
153
+ paddingBottom: spacing.spacing_1_4,
154
+ paddingLeft: spacing.spacing_1,
155
+ paddingRight: spacing.spacing_1,
153
156
  borderRadius: borderRadius.full,
154
157
  fontSize: theme.typography.pxToRem(typography.fontSize.xs),
155
158
  lineHeight: 1,
@@ -157,16 +160,19 @@ const StyledChip$1 = styled(Chip)(({ theme }) => ({
157
160
  gap: spacing.spacing_1_2,
158
161
  overflow: 'visible',
159
162
  [`& .${chipClasses.label}`]: {
160
- padding: 0,
163
+ paddingLeft: 0,
164
+ paddingRight: 0,
161
165
  overflow: 'visible',
162
166
  },
163
167
  [`& .${chipClasses.icon}`]: {
164
- margin: 0,
168
+ marginLeft: 0,
169
+ marginRight: 0,
165
170
  width: 12,
166
171
  height: 12,
167
172
  },
168
173
  [`& .${chipClasses.deleteIcon}`]: {
169
- margin: 0,
174
+ marginLeft: 0,
175
+ marginRight: 0,
170
176
  width: 12,
171
177
  height: 12,
172
178
  },
@@ -493,7 +499,7 @@ const NeoActivityIndicatorCell = ({ event = 'commit-job', secondaryEvent, scene
493
499
  NeoActivityIndicatorCell.displayName = 'NeoActivityIndicatorCell';
494
500
 
495
501
  /**
496
- * @license lucide-react v0.563.0 - ISC
502
+ * @license lucide-react v0.564.0 - ISC
497
503
  *
498
504
  * This source code is licensed under the ISC license.
499
505
  * See the LICENSE file in the root directory of this source tree.
@@ -504,7 +510,7 @@ const mergeClasses = (...classes) => classes.filter((className, index, array) =>
504
510
  }).join(" ").trim();
505
511
 
506
512
  /**
507
- * @license lucide-react v0.563.0 - ISC
513
+ * @license lucide-react v0.564.0 - ISC
508
514
  *
509
515
  * This source code is licensed under the ISC license.
510
516
  * See the LICENSE file in the root directory of this source tree.
@@ -513,7 +519,7 @@ const mergeClasses = (...classes) => classes.filter((className, index, array) =>
513
519
  const toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
514
520
 
515
521
  /**
516
- * @license lucide-react v0.563.0 - ISC
522
+ * @license lucide-react v0.564.0 - ISC
517
523
  *
518
524
  * This source code is licensed under the ISC license.
519
525
  * See the LICENSE file in the root directory of this source tree.
@@ -525,7 +531,7 @@ const toCamelCase = (string) => string.replace(
525
531
  );
526
532
 
527
533
  /**
528
- * @license lucide-react v0.563.0 - ISC
534
+ * @license lucide-react v0.564.0 - ISC
529
535
  *
530
536
  * This source code is licensed under the ISC license.
531
537
  * See the LICENSE file in the root directory of this source tree.
@@ -538,7 +544,7 @@ const toPascalCase = (string) => {
538
544
  };
539
545
 
540
546
  /**
541
- * @license lucide-react v0.563.0 - ISC
547
+ * @license lucide-react v0.564.0 - ISC
542
548
  *
543
549
  * This source code is licensed under the ISC license.
544
550
  * See the LICENSE file in the root directory of this source tree.
@@ -557,7 +563,7 @@ var defaultAttributes = {
557
563
  };
558
564
 
559
565
  /**
560
- * @license lucide-react v0.563.0 - ISC
566
+ * @license lucide-react v0.564.0 - ISC
561
567
  *
562
568
  * This source code is licensed under the ISC license.
563
569
  * See the LICENSE file in the root directory of this source tree.
@@ -573,7 +579,7 @@ const hasA11yProp = (props) => {
573
579
  };
574
580
 
575
581
  /**
576
- * @license lucide-react v0.563.0 - ISC
582
+ * @license lucide-react v0.564.0 - ISC
577
583
  *
578
584
  * This source code is licensed under the ISC license.
579
585
  * See the LICENSE file in the root directory of this source tree.
@@ -611,7 +617,7 @@ const Icon = forwardRef(
611
617
  );
612
618
 
613
619
  /**
614
- * @license lucide-react v0.563.0 - ISC
620
+ * @license lucide-react v0.564.0 - ISC
615
621
  *
616
622
  * This source code is licensed under the ISC license.
617
623
  * See the LICENSE file in the root directory of this source tree.
@@ -636,7 +642,7 @@ const createLucideIcon = (iconName, iconNode) => {
636
642
  };
637
643
 
638
644
  /**
639
- * @license lucide-react v0.563.0 - ISC
645
+ * @license lucide-react v0.564.0 - ISC
640
646
  *
641
647
  * This source code is licensed under the ISC license.
642
648
  * See the LICENSE file in the root directory of this source tree.
@@ -650,7 +656,7 @@ const __iconNode$h = [
650
656
  const ArrowDown = createLucideIcon("arrow-down", __iconNode$h);
651
657
 
652
658
  /**
653
- * @license lucide-react v0.563.0 - ISC
659
+ * @license lucide-react v0.564.0 - ISC
654
660
  *
655
661
  * This source code is licensed under the ISC license.
656
662
  * See the LICENSE file in the root directory of this source tree.
@@ -664,7 +670,7 @@ const __iconNode$g = [
664
670
  const ArrowUp = createLucideIcon("arrow-up", __iconNode$g);
665
671
 
666
672
  /**
667
- * @license lucide-react v0.563.0 - ISC
673
+ * @license lucide-react v0.564.0 - ISC
668
674
  *
669
675
  * This source code is licensed under the ISC license.
670
676
  * See the LICENSE file in the root directory of this source tree.
@@ -686,7 +692,7 @@ const __iconNode$f = [
686
692
  const CalendarDays = createLucideIcon("calendar-days", __iconNode$f);
687
693
 
688
694
  /**
689
- * @license lucide-react v0.563.0 - ISC
695
+ * @license lucide-react v0.564.0 - ISC
690
696
  *
691
697
  * This source code is licensed under the ISC license.
692
698
  * See the LICENSE file in the root directory of this source tree.
@@ -697,7 +703,7 @@ const __iconNode$e = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
697
703
  const ChevronDown = createLucideIcon("chevron-down", __iconNode$e);
698
704
 
699
705
  /**
700
- * @license lucide-react v0.563.0 - ISC
706
+ * @license lucide-react v0.564.0 - ISC
701
707
  *
702
708
  * This source code is licensed under the ISC license.
703
709
  * See the LICENSE file in the root directory of this source tree.
@@ -708,7 +714,7 @@ const __iconNode$d = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
708
714
  const ChevronLeft = createLucideIcon("chevron-left", __iconNode$d);
709
715
 
710
716
  /**
711
- * @license lucide-react v0.563.0 - ISC
717
+ * @license lucide-react v0.564.0 - ISC
712
718
  *
713
719
  * This source code is licensed under the ISC license.
714
720
  * See the LICENSE file in the root directory of this source tree.
@@ -719,7 +725,7 @@ const __iconNode$c = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
719
725
  const ChevronRight = createLucideIcon("chevron-right", __iconNode$c);
720
726
 
721
727
  /**
722
- * @license lucide-react v0.563.0 - ISC
728
+ * @license lucide-react v0.564.0 - ISC
723
729
  *
724
730
  * This source code is licensed under the ISC license.
725
731
  * See the LICENSE file in the root directory of this source tree.
@@ -730,7 +736,7 @@ const __iconNode$b = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
730
736
  const ChevronUp = createLucideIcon("chevron-up", __iconNode$b);
731
737
 
732
738
  /**
733
- * @license lucide-react v0.563.0 - ISC
739
+ * @license lucide-react v0.564.0 - ISC
734
740
  *
735
741
  * This source code is licensed under the ISC license.
736
742
  * See the LICENSE file in the root directory of this source tree.
@@ -744,7 +750,7 @@ const __iconNode$a = [
744
750
  const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$a);
745
751
 
746
752
  /**
747
- * @license lucide-react v0.563.0 - ISC
753
+ * @license lucide-react v0.564.0 - ISC
748
754
  *
749
755
  * This source code is licensed under the ISC license.
750
756
  * See the LICENSE file in the root directory of this source tree.
@@ -759,7 +765,7 @@ const __iconNode$9 = [
759
765
  const CircleAlert = createLucideIcon("circle-alert", __iconNode$9);
760
766
 
761
767
  /**
762
- * @license lucide-react v0.563.0 - ISC
768
+ * @license lucide-react v0.564.0 - ISC
763
769
  *
764
770
  * This source code is licensed under the ISC license.
765
771
  * See the LICENSE file in the root directory of this source tree.
@@ -773,7 +779,7 @@ const __iconNode$8 = [
773
779
  const CircleCheck = createLucideIcon("circle-check", __iconNode$8);
774
780
 
775
781
  /**
776
- * @license lucide-react v0.563.0 - ISC
782
+ * @license lucide-react v0.564.0 - ISC
777
783
  *
778
784
  * This source code is licensed under the ISC license.
779
785
  * See the LICENSE file in the root directory of this source tree.
@@ -788,7 +794,7 @@ const __iconNode$7 = [
788
794
  const CircleQuestionMark = createLucideIcon("circle-question-mark", __iconNode$7);
789
795
 
790
796
  /**
791
- * @license lucide-react v0.563.0 - ISC
797
+ * @license lucide-react v0.564.0 - ISC
792
798
  *
793
799
  * This source code is licensed under the ISC license.
794
800
  * See the LICENSE file in the root directory of this source tree.
@@ -803,7 +809,7 @@ const __iconNode$6 = [
803
809
  const Columns3 = createLucideIcon("columns-3", __iconNode$6);
804
810
 
805
811
  /**
806
- * @license lucide-react v0.563.0 - ISC
812
+ * @license lucide-react v0.564.0 - ISC
807
813
  *
808
814
  * This source code is licensed under the ISC license.
809
815
  * See the LICENSE file in the root directory of this source tree.
@@ -818,7 +824,7 @@ const __iconNode$5 = [
818
824
  const ListFilter = createLucideIcon("list-filter", __iconNode$5);
819
825
 
820
826
  /**
821
- * @license lucide-react v0.563.0 - ISC
827
+ * @license lucide-react v0.564.0 - ISC
822
828
  *
823
829
  * This source code is licensed under the ISC license.
824
830
  * See the LICENSE file in the root directory of this source tree.
@@ -832,7 +838,7 @@ const __iconNode$4 = [
832
838
  const Plus = createLucideIcon("plus", __iconNode$4);
833
839
 
834
840
  /**
835
- * @license lucide-react v0.563.0 - ISC
841
+ * @license lucide-react v0.564.0 - ISC
836
842
  *
837
843
  * This source code is licensed under the ISC license.
838
844
  * See the LICENSE file in the root directory of this source tree.
@@ -846,7 +852,7 @@ const __iconNode$3 = [
846
852
  const Search = createLucideIcon("search", __iconNode$3);
847
853
 
848
854
  /**
849
- * @license lucide-react v0.563.0 - ISC
855
+ * @license lucide-react v0.564.0 - ISC
850
856
  *
851
857
  * This source code is licensed under the ISC license.
852
858
  * See the LICENSE file in the root directory of this source tree.
@@ -863,7 +869,7 @@ const __iconNode$2 = [
863
869
  const Trash2 = createLucideIcon("trash-2", __iconNode$2);
864
870
 
865
871
  /**
866
- * @license lucide-react v0.563.0 - ISC
872
+ * @license lucide-react v0.564.0 - ISC
867
873
  *
868
874
  * This source code is licensed under the ISC license.
869
875
  * See the LICENSE file in the root directory of this source tree.
@@ -882,7 +888,7 @@ const __iconNode$1 = [
882
888
  const WifiOff = createLucideIcon("wifi-off", __iconNode$1);
883
889
 
884
890
  /**
885
- * @license lucide-react v0.563.0 - ISC
891
+ * @license lucide-react v0.564.0 - ISC
886
892
  *
887
893
  * This source code is licensed under the ISC license.
888
894
  * See the LICENSE file in the root directory of this source tree.
@@ -972,7 +978,7 @@ const LinkText = styled('span')(({ variant = 'light' }) => {
972
978
  return colors.grey['800'];
973
979
  };
974
980
  return {
975
- fontWeight: 600,
981
+ fontWeight: typography.fontWeight.semiBold,
976
982
  color: getLinkColor(),
977
983
  cursor: 'pointer',
978
984
  '&:hover': {
@@ -1116,7 +1122,7 @@ const StyledButtonBase$1 = styled(ButtonBase, {
1116
1122
  height: sizeStyles.height,
1117
1123
  padding: sizeStyles.padding,
1118
1124
  fontSize: sizeStyles.fontSize,
1119
- fontWeight: 500,
1125
+ fontWeight: typography.fontWeight.medium,
1120
1126
  lineHeight: '1.25rem',
1121
1127
  borderRadius: borderRadius.button,
1122
1128
  textTransform: 'none',
@@ -1407,7 +1413,7 @@ const IndeterminateIcon = ({ size = 'medium' }) => (jsxs(SvgIcon, { viewBox: "0
1407
1413
  const CheckboxContainer = styled('label')(({ disabled }) => ({
1408
1414
  display: 'inline-flex',
1409
1415
  alignItems: 'flex-start',
1410
- gap: 8,
1416
+ gap: spacing.spacing_1,
1411
1417
  cursor: disabled ? 'not-allowed' : 'pointer',
1412
1418
  userSelect: 'none',
1413
1419
  }));
@@ -1443,6 +1449,7 @@ const StyledCheckbox = styled(Checkbox, {
1443
1449
  const sizeConfig = {
1444
1450
  xs: {
1445
1451
  size: 12,
1452
+ // biome-ignore plugin: Figma-exact 1px for xs — no matching token
1446
1453
  borderRadius: 1, // From Figma: 1px for xs
1447
1454
  },
1448
1455
  small: {
@@ -1611,7 +1618,7 @@ const StyledButtonBase = styled(ButtonBase, {
1611
1618
  fontFamily: typography.fontFamily.code,
1612
1619
  fontWeight: typography.fontWeight.regular,
1613
1620
  lineHeight: isMultiline ? 1.5 : size === 'xs' ? 1.2 : 'normal',
1614
- borderRadius: 4,
1621
+ borderRadius: borderRadius.xS,
1615
1622
  textAlign: 'left',
1616
1623
  textTransform: 'none',
1617
1624
  gap: isMultiline ? undefined : theme.spacing(1.25), // 10px gap only for single-line
@@ -1714,7 +1721,7 @@ const StyledSearchField = styled(TextField)(({ theme }) => ({
1714
1721
  borderColor: semanticColors.buttons.primary.default,
1715
1722
  },
1716
1723
  },
1717
- '& .MuiInputAdornment-root': {
1724
+ [`& .${inputAdornmentClasses.root}`]: {
1718
1725
  color: semanticColors.icons.placeholder,
1719
1726
  '& svg': {
1720
1727
  width: 20,
@@ -1733,6 +1740,7 @@ const MenuItemContent$1 = styled('div')(({ theme }) => ({
1733
1740
  alignItems: 'center',
1734
1741
  gap: theme.spacing(1),
1735
1742
  padding: theme.spacing(1),
1743
+ // biome-ignore plugin: no exact token for 6px
1736
1744
  borderRadius: 6,
1737
1745
  width: '100%',
1738
1746
  '&:hover': {
@@ -1762,7 +1770,7 @@ const FooterRow = styled(Box)(({ theme }) => ({
1762
1770
  }));
1763
1771
  const ResetButton = styled(Button)(({ theme }) => ({
1764
1772
  fontSize: theme.typography.pxToRem(16),
1765
- fontWeight: 400,
1773
+ fontWeight: typography.fontWeight.regular,
1766
1774
  color: semanticColors.buttons.primary.default,
1767
1775
  textTransform: 'none',
1768
1776
  padding: theme.spacing(1),
@@ -1874,7 +1882,7 @@ const LabelContainer$3 = styled('div')({
1874
1882
  flex: 1,
1875
1883
  display: 'flex',
1876
1884
  alignItems: 'center',
1877
- gap: 8,
1885
+ gap: spacing.spacing_1,
1878
1886
  minWidth: 0,
1879
1887
  });
1880
1888
  const Label$2 = styled('span')({
@@ -1893,7 +1901,7 @@ const Shortcut = styled('span')(({ theme }) => ({
1893
1901
  marginLeft: 'auto',
1894
1902
  flexShrink: 0,
1895
1903
  border: `1px solid ${semanticColors.border.secondary}`,
1896
- borderRadius: 4,
1904
+ borderRadius: borderRadius.xS,
1897
1905
  padding: `${theme.spacing(0.25)} ${theme.spacing(0.75)}`,
1898
1906
  backgroundColor: semanticColors.surfaces.white,
1899
1907
  }));
@@ -1996,7 +2004,7 @@ const NeoSelect = (props) => {
1996
2004
  backgroundColor: semanticColors.surfaces.white,
1997
2005
  borderRadius: `${borderRadius.s}px`,
1998
2006
  border: `1px solid ${semanticColors.border.primary}`,
1999
- boxShadow: '0px 4px 12px rgba(0, 0, 0, 0.1)',
2007
+ boxShadow: `${shadows.dropdown.x}px ${shadows.dropdown.y}px ${shadows.dropdown.blur}px ${shadows.dropdown.spread}px ${shadows.dropdown.shadow}`,
2000
2008
  marginTop: 1,
2001
2009
  ...props.MenuProps?.PaperProps?.sx,
2002
2010
  },
@@ -2160,14 +2168,14 @@ const StyledGridFilterPanel = styled(GridFilterPanel)({
2160
2168
  height: 32, // NeoButton small size
2161
2169
  padding: `0 ${spacing.spacing_1}px`, // NeoButton link variant padding
2162
2170
  fontSize: typography.fontSize.sm,
2163
- fontWeight: 500,
2171
+ fontWeight: typography.fontWeight.medium,
2164
2172
  lineHeight: 1.5,
2165
2173
  textTransform: 'none',
2166
2174
  minHeight: 'auto',
2167
2175
  backgroundColor: 'transparent',
2168
2176
  color: semanticColors.buttons.tertiary.default,
2169
2177
  border: 'none',
2170
- '& .MuiButton-startIcon': {
2178
+ [`& .${buttonClasses.startIcon}`]: {
2171
2179
  display: 'none', // Hide the trash icon
2172
2180
  },
2173
2181
  '&:hover': {
@@ -2276,7 +2284,7 @@ const getDataGridHeaderStyles = () => {
2276
2284
  // Style the checkbox in header to match Neo design (16x16 from Figma)
2277
2285
  [`& .${gridClasses.columnHeaderCheckbox}`]: {
2278
2286
  padding: 0,
2279
- '& .MuiCheckbox-root': {
2287
+ [`& .${checkboxClasses.root}`]: {
2280
2288
  padding: 0,
2281
2289
  width: 16,
2282
2290
  height: 16,
@@ -2381,7 +2389,7 @@ function NeoDataGrid({ autoHeight = false, toolbar, slots, sx, density = 'standa
2381
2389
  // Fix for MUI X 8.15.0+ scroll shadow issue - backgroundColor must be on main, not root
2382
2390
  // See: https://github.com/mui/mui-x/issues/20107
2383
2391
  // This must be set to prevent scroll shadow artifacts
2384
- '& .MuiDataGrid-main': {
2392
+ [`& .${gridClasses$1.main}`]: {
2385
2393
  backgroundColor: semanticColors.surfaces.white,
2386
2394
  },
2387
2395
  // White background for empty/loading overlays
@@ -2392,9 +2400,9 @@ function NeoDataGrid({ autoHeight = false, toolbar, slots, sx, density = 'standa
2392
2400
  border: `1px solid ${semanticColors.border.primary}`,
2393
2401
  // Style row selection checkboxes to match header (16px, proper spacing)
2394
2402
  [`& .${gridClasses$1.cellCheckbox}`]: {
2395
- '& .MuiCheckbox-root': {
2403
+ [`& .${checkboxClasses.root}`]: {
2396
2404
  padding: `${spacing.spacing_1}px`,
2397
- '& .MuiSvgIcon-root': {
2405
+ [`& .${svgIconClasses.root}`]: {
2398
2406
  width: 16,
2399
2407
  height: 16,
2400
2408
  },
@@ -3331,7 +3339,7 @@ const shortcutChipStyles = {
3331
3339
  paddingY: `${spacing.spacing_1}px`,
3332
3340
  justifyContent: 'flex-start',
3333
3341
  width: '100%',
3334
- '& .MuiChip-label': {
3342
+ [`& .${chipClasses.label}`]: {
3335
3343
  padding: 0,
3336
3344
  },
3337
3345
  '&:hover': {
@@ -3889,7 +3897,7 @@ const StyledInputLabel = styled(InputLabel, {
3889
3897
  position: 'static',
3890
3898
  transform: 'none',
3891
3899
  fontSize: theme.typography.pxToRem(typography.fontSize.sm),
3892
- fontWeight: 500,
3900
+ fontWeight: typography.fontWeight.medium,
3893
3901
  color: semanticColors.typography.input.label,
3894
3902
  display: 'flex',
3895
3903
  alignItems: 'center',
@@ -3969,7 +3977,7 @@ const StyledInputBase = styled(InputBase, {
3969
3977
  borderColor: semanticColors.status.error.medium,
3970
3978
  },
3971
3979
  // Adornment styling
3972
- '& .MuiInputAdornment-root': {
3980
+ [`& .${inputAdornmentClasses.root}`]: {
3973
3981
  color: destructive ? semanticColors.status.error.medium : semanticColors.icons.placeholder,
3974
3982
  },
3975
3983
  };
@@ -4274,7 +4282,7 @@ const StyledListItemButton = styled(ListItemButton)(({ theme }) => ({
4274
4282
  display: 'flex',
4275
4283
  alignItems: 'center',
4276
4284
  gap: spacing.spacing_2,
4277
- borderRadius: theme.typography.pxToRem(12),
4285
+ borderRadius: borderRadius.m,
4278
4286
  paddingTop: spacing.spacing_1,
4279
4287
  paddingBottom: spacing.spacing_1,
4280
4288
  paddingLeft: spacing.spacing_3_4,
@@ -4393,15 +4401,15 @@ const activeShadow = `${shadows.card.x}px ${shadows.card.y}px ${shadows.card.blu
4393
4401
  const StyledCard = styled(MuiCard, {
4394
4402
  shouldForwardProp: prop => prop !== 'selected' && prop !== 'disabled',
4395
4403
  })(({ theme, selected, disabled }) => ({
4396
- width: theme.typography.pxToRem(160),
4397
- height: theme.typography.pxToRem(160),
4404
+ width: 160,
4405
+ height: 160,
4398
4406
  padding: theme.spacing(1.5), // 12px
4399
4407
  display: 'flex',
4400
4408
  flexDirection: 'column',
4401
4409
  gap: theme.spacing(2), // 16px
4402
4410
  backgroundColor: semanticColors.surfaces.card,
4403
4411
  border: `1px solid ${selected ? semanticColors.border.tabActive : semanticColors.border.card}`,
4404
- borderRadius: theme.typography.pxToRem(4),
4412
+ borderRadius: borderRadius.xS,
4405
4413
  boxShadow: selected ? activeShadow : 'none',
4406
4414
  transition: theme.transitions.create(['border-color', 'background-color', 'box-shadow']),
4407
4415
  cursor: 'pointer',
@@ -4432,11 +4440,11 @@ const CardHeader = styled('div')({
4432
4440
  /**
4433
4441
  * Logo container
4434
4442
  */
4435
- const LogoContainer = styled('div')(({ theme }) => ({
4436
- width: theme.typography.pxToRem(spacing.spacing_6),
4437
- height: theme.typography.pxToRem(spacing.spacing_6),
4443
+ const LogoContainer = styled('div')({
4444
+ width: spacing.spacing_6,
4445
+ height: spacing.spacing_6,
4438
4446
  flexShrink: 0,
4439
- }));
4447
+ });
4440
4448
  /**
4441
4449
  * Recipe count badge
4442
4450
  */
@@ -5493,14 +5501,14 @@ const StyledTab = styled(MuiTab)(({ theme }) => ({
5493
5501
  minHeight: spacing.spacing_5,
5494
5502
  padding: `${theme.spacing(1)} ${theme.spacing(2)}`,
5495
5503
  textTransform: 'none',
5496
- fontWeight: 400,
5504
+ fontWeight: typography.fontWeight.regular,
5497
5505
  fontSize: theme.typography.pxToRem(14),
5498
5506
  lineHeight: '1.5rem',
5499
5507
  color: semanticColors.typography.tab.inactive,
5500
5508
  transition: 'none', // Remove animation
5501
5509
  [`&.${tabClasses.selected}`]: {
5502
5510
  color: semanticColors.typography.tab.active,
5503
- fontWeight: 600,
5511
+ fontWeight: typography.fontWeight.semiBold,
5504
5512
  },
5505
5513
  [`&.${buttonBaseClasses.focusVisible}`]: {
5506
5514
  outline: `2px solid ${semanticColors.buttons.primary.focus}`,
@@ -5619,7 +5627,7 @@ const ToastTitle = styled('p')(({ theme, variant = 'default' }) => {
5619
5627
  return {
5620
5628
  margin: 0,
5621
5629
  fontSize: theme.typography.pxToRem(typography.fontSize.sm),
5622
- fontWeight: 600,
5630
+ fontWeight: typography.fontWeight.semiBold,
5623
5631
  lineHeight: 1.4,
5624
5632
  color: colorMap[variant],
5625
5633
  };
@@ -5637,7 +5645,7 @@ const ToastMessage = styled('p')(({ theme, variant = 'default' }) => {
5637
5645
  return {
5638
5646
  margin: 0,
5639
5647
  fontSize: theme.typography.pxToRem(typography.fontSize.sm),
5640
- fontWeight: 400,
5648
+ fontWeight: typography.fontWeight.regular,
5641
5649
  lineHeight: 1.4,
5642
5650
  color: colorMap[variant],
5643
5651
  };
@@ -5677,7 +5685,7 @@ const ToastButton = styled(Button, {
5677
5685
  padding: 0,
5678
5686
  minWidth: 'auto',
5679
5687
  fontSize: typography.fontSize.sm,
5680
- fontWeight: 500,
5688
+ fontWeight: typography.fontWeight.medium,
5681
5689
  lineHeight: 'normal',
5682
5690
  textTransform: 'none',
5683
5691
  color: getColor(),
@@ -5694,14 +5702,14 @@ const ProgressSection = styled(Stack)({
5694
5702
  const FileName = styled('p')(({ theme }) => ({
5695
5703
  margin: 0,
5696
5704
  fontSize: theme.typography.pxToRem(typography.fontSize.xs),
5697
- fontWeight: 500,
5705
+ fontWeight: typography.fontWeight.medium,
5698
5706
  lineHeight: 1.5,
5699
5707
  color: colors.grey['800'],
5700
5708
  }));
5701
5709
  const ProgressLabel = styled('p')(({ theme }) => ({
5702
5710
  margin: 0,
5703
5711
  fontSize: theme.typography.pxToRem(typography.fontSize.xs),
5704
- fontWeight: 500,
5712
+ fontWeight: typography.fontWeight.medium,
5705
5713
  lineHeight: 1.5,
5706
5714
  color: colors.grey['800'],
5707
5715
  }));
@@ -5773,13 +5781,13 @@ const LabelContainer = styled('div')({
5773
5781
  });
5774
5782
  const Label = styled('span')(({ theme, size = 'medium' }) => ({
5775
5783
  fontSize: theme.typography.pxToRem(size === 'small' ? typography.fontSize.sm : typography.fontSize.default),
5776
- fontWeight: 500,
5784
+ fontWeight: typography.fontWeight.medium,
5777
5785
  lineHeight: size === 'small' ? 1.4 : 1.5,
5778
5786
  color: semanticColors.typography.input.default,
5779
5787
  }));
5780
5788
  const HelperText = styled('span')(({ theme, size = 'medium' }) => ({
5781
5789
  fontSize: theme.typography.pxToRem(size === 'small' ? typography.fontSize.sm : typography.fontSize.default),
5782
- fontWeight: 400,
5790
+ fontWeight: typography.fontWeight.regular,
5783
5791
  lineHeight: size === 'small' ? 1.4 : 1.5,
5784
5792
  color: semanticColors.typography.bodySecondary,
5785
5793
  }));
@@ -6069,13 +6077,16 @@ const StyledToggleButtonGroup = styled(ToggleButtonGroup)(({ theme }) => ({
6069
6077
  gap: 0,
6070
6078
  [`& .${toggleButtonGroupClasses.grouped}`]: {
6071
6079
  border: 'none',
6080
+ // biome-ignore plugin: no exact token for 14px
6072
6081
  borderRadius: 14,
6073
6082
  margin: 0,
6074
6083
  '&:not(:first-of-type)': {
6084
+ // biome-ignore plugin: no exact token for 14px
6075
6085
  borderRadius: 14,
6076
6086
  marginLeft: 0,
6077
6087
  },
6078
6088
  '&:not(:last-of-type)': {
6089
+ // biome-ignore plugin: no exact token for 14px
6079
6090
  borderRadius: 14,
6080
6091
  },
6081
6092
  },