@moderneinc/neo-styled-components 2.6.0-next.d5f203 → 2.6.0-next.e7eb6e

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.
@@ -48,7 +48,7 @@ export interface NeoListItemButtonProps extends ListItemButtonProps {
48
48
  * - showIcon → Conditional rendering of ListItemIcon child
49
49
  *
50
50
  * Design Tokens Used:
51
- * - semanticColors.border.tabActive (#2f42ff) - Active border
51
+ * - semanticColors.buttons.primary.default (#2f42ff) - Active border
52
52
  * - semanticColors.border.primary (#d1d5db) - Default/disabled border
53
53
  * - semanticColors.icons.default (#1f2937) - Active icon color
54
54
  * - semanticColors.icons.disabled (#d1d5db) - Deselected/disabled icon color
@@ -68,8 +68,8 @@ export interface NeoMarketplaceCardProps extends Omit<CardProps, 'children' | 't
68
68
  * Design Tokens Used:
69
69
  * - semanticColors.surfaces.card (#FFFFFF) - Default card background
70
70
  * - semanticColors.status.info.light (#f2f3ff) - Active/focused card background
71
- * - semanticColors.border.card (#d1d5db) - Default border
72
- * - semanticColors.border.tabActive (#2f42ff) - Active/focused border
71
+ * - semanticColors.border.primary (#d1d5db) - Default border
72
+ * - semanticColors.buttons.primary.default (#2f42ff) - Active/focused border
73
73
  * - shadows.focusWhite1 - Inner white focus ring (2px spread)
74
74
  * - shadows.focusBlue2 - Outer blue focus ring (4px spread)
75
75
  * - colors.grey[800] (#1F2937) - Text color
@@ -77,8 +77,8 @@ export interface NeoMarketplaceLargeCardProps extends Omit<CardProps, 'children'
77
77
  * Design Tokens Used:
78
78
  * - semanticColors.surfaces.card (#ffffff) - Light theme background
79
79
  * - colors.grey[800] (#1f2937) - Dark theme background
80
- * - semanticColors.border.card (#d1d5db) - Default border (50% opacity on dark)
81
- * - semanticColors.border.tabActive (#2f42ff) - Active/focused border (light theme)
80
+ * - semanticColors.border.primary (#d1d5db) - Default border (50% opacity on dark)
81
+ * - semanticColors.buttons.primary.default (#2f42ff) - Active/focused border (light theme)
82
82
  * - colors.digitalGreen[300] (#88fe9b) - Active/focused border (dark theme)
83
83
  * - borderRadius.xS (4px) - Corner radius
84
84
  * - shadows.focusWhite1 + shadows.focusBlue2 - Focus ring
@@ -38,10 +38,10 @@ export interface NeoStatusBannerProps extends Omit<AlertProps, 'severity' | 'var
38
38
  * - Mode (Light|Dark) → variant ('outlined'|'filled')
39
39
  *
40
40
  * Design Tokens Used:
41
- * - status.success.light, status.success.medium
42
- * - status.error.light, status.error.medium
43
- * - status.neutral.light, status.neutral.medium
44
- * - status.info.light, status.info.medium
41
+ * - status.success.light, status.success.default
42
+ * - status.error.light, status.error.default
43
+ * - status.neutral.light, status.neutral.default
44
+ * - status.info.light, status.info.default
45
45
  * - typography.tooltip, typography.bodySecondary
46
46
  * - grey[800]
47
47
  * - fontSize.default, fontSize.sm
package/dist/index.d.ts CHANGED
@@ -2167,10 +2167,10 @@ interface NeoStatusBannerProps extends Omit<AlertProps, 'severity' | 'variant'>
2167
2167
  * - Mode (Light|Dark) → variant ('outlined'|'filled')
2168
2168
  *
2169
2169
  * Design Tokens Used:
2170
- * - status.success.light, status.success.medium
2171
- * - status.error.light, status.error.medium
2172
- * - status.neutral.light, status.neutral.medium
2173
- * - status.info.light, status.info.medium
2170
+ * - status.success.light, status.success.default
2171
+ * - status.error.light, status.error.default
2172
+ * - status.neutral.light, status.neutral.default
2173
+ * - status.info.light, status.info.default
2174
2174
  * - typography.tooltip, typography.bodySecondary
2175
2175
  * - grey[800]
2176
2176
  * - fontSize.default, fontSize.sm
@@ -2606,7 +2606,7 @@ interface NeoListItemButtonProps extends ListItemButtonProps {
2606
2606
  * - showIcon → Conditional rendering of ListItemIcon child
2607
2607
  *
2608
2608
  * Design Tokens Used:
2609
- * - semanticColors.border.tabActive (#2f42ff) - Active border
2609
+ * - semanticColors.buttons.primary.default (#2f42ff) - Active border
2610
2610
  * - semanticColors.border.primary (#d1d5db) - Default/disabled border
2611
2611
  * - semanticColors.icons.default (#1f2937) - Active icon color
2612
2612
  * - semanticColors.icons.disabled (#d1d5db) - Deselected/disabled icon color
@@ -2767,8 +2767,8 @@ interface NeoMarketplaceCardProps extends Omit<CardProps, 'children' | 'title'>
2767
2767
  * Design Tokens Used:
2768
2768
  * - semanticColors.surfaces.card (#FFFFFF) - Default card background
2769
2769
  * - semanticColors.status.info.light (#f2f3ff) - Active/focused card background
2770
- * - semanticColors.border.card (#d1d5db) - Default border
2771
- * - semanticColors.border.tabActive (#2f42ff) - Active/focused border
2770
+ * - semanticColors.border.primary (#d1d5db) - Default border
2771
+ * - semanticColors.buttons.primary.default (#2f42ff) - Active/focused border
2772
2772
  * - shadows.focusWhite1 - Inner white focus ring (2px spread)
2773
2773
  * - shadows.focusBlue2 - Outer blue focus ring (4px spread)
2774
2774
  * - colors.grey[800] (#1F2937) - Text color
package/dist/index.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import { shadows, semanticColors, colors, spacing, typography, borderRadius } from '@moderneinc/neo-design';
2
+ import { semanticColors, colors, spacing, typography, borderRadius, shadows } from '@moderneinc/neo-design';
3
3
  import Box from '@mui/material/Box';
4
4
  import { styled, alpha } from '@mui/material/styles';
5
5
  import Avatar from '@mui/material/Avatar';
@@ -63,14 +63,14 @@ import { TreeItem, treeItemClasses } from '@mui/x-tree-view/TreeItem';
63
63
  import { RichTreeViewPro } from '@mui/x-tree-view-pro/RichTreeViewPro';
64
64
 
65
65
  /**
66
- * Outline-based focus ring styles derived from Neo shadow tokens.
66
+ * Outline-based focus ring styles derived from Neo border tokens.
67
67
  * Uses CSS outline (not box-shadow) so focus rings are never clipped by overflow:hidden.
68
68
  *
69
- * Produces a double-ring effect: a white inner gap (via outline-offset) and a blue outer ring.
69
+ * Produces a double-ring effect: a white inner gap (via outline-offset) and a colored outer ring.
70
70
  */
71
71
  const focusRingStyles = {
72
- outline: `${shadows.focusBlue2.spread - shadows.focusWhite1.spread}px solid ${shadows.focusBlue2.shadow}`,
73
- outlineOffset: `${shadows.focusWhite1.spread}px`,
72
+ outline: `2px solid ${semanticColors.border.focus}`,
73
+ outlineOffset: '2px',
74
74
  };
75
75
 
76
76
  // biome-ignore lint/suspicious/noExplicitAny: Type cast required to override MUI Avatar variant type without global augmentation
@@ -218,7 +218,7 @@ const StyledChip$2 = styled(Chip)(({ theme }) => ({
218
218
  [`&.${chipClasses.colorDefault}`]: {
219
219
  backgroundColor: semanticColors.status.neutral.light,
220
220
  color: semanticColors.status.neutral.dark,
221
- border: `1px solid ${semanticColors.status.neutral.medium}80`,
221
+ border: `1px solid ${semanticColors.status.neutral.default}80`,
222
222
  [`& .${chipClasses.icon}, & .${chipClasses.deleteIcon}`]: {
223
223
  color: semanticColors.status.neutral.dark,
224
224
  },
@@ -227,7 +227,7 @@ const StyledChip$2 = styled(Chip)(({ theme }) => ({
227
227
  [`&.${chipClasses.colorError}`]: {
228
228
  backgroundColor: semanticColors.status.error.light,
229
229
  color: semanticColors.status.error.dark,
230
- border: `1px solid ${semanticColors.status.error.medium}80`,
230
+ border: `1px solid ${semanticColors.status.error.default}80`,
231
231
  [`& .${chipClasses.icon}, & .${chipClasses.deleteIcon}`]: {
232
232
  color: semanticColors.status.error.dark,
233
233
  },
@@ -236,7 +236,7 @@ const StyledChip$2 = styled(Chip)(({ theme }) => ({
236
236
  [`&.${chipClasses.colorWarning}`]: {
237
237
  backgroundColor: semanticColors.status.warning.light,
238
238
  color: semanticColors.status.warning.dark,
239
- border: `1px solid ${semanticColors.status.warning.medium}80`,
239
+ border: `1px solid ${semanticColors.status.warning.default}80`,
240
240
  [`& .${chipClasses.icon}, & .${chipClasses.deleteIcon}`]: {
241
241
  color: semanticColors.status.warning.dark,
242
242
  },
@@ -245,7 +245,7 @@ const StyledChip$2 = styled(Chip)(({ theme }) => ({
245
245
  [`&.${chipClasses.colorSuccess}`]: {
246
246
  backgroundColor: semanticColors.status.success.light,
247
247
  color: semanticColors.status.success.dark,
248
- border: `1px solid ${semanticColors.status.success.medium}80`,
248
+ border: `1px solid ${semanticColors.status.success.default}80`,
249
249
  [`& .${chipClasses.icon}, & .${chipClasses.deleteIcon}`]: {
250
250
  color: semanticColors.status.success.dark,
251
251
  },
@@ -254,7 +254,7 @@ const StyledChip$2 = styled(Chip)(({ theme }) => ({
254
254
  [`&.${chipClasses.colorInfo}`]: {
255
255
  backgroundColor: semanticColors.status.info.light,
256
256
  color: semanticColors.status.info.dark,
257
- border: `1px solid ${semanticColors.status.info.medium}80`,
257
+ border: `1px solid ${semanticColors.status.info.default}80`,
258
258
  [`& .${chipClasses.icon}, & .${chipClasses.deleteIcon}`]: {
259
259
  color: semanticColors.status.info.dark,
260
260
  },
@@ -1065,13 +1065,13 @@ const NeoBanner = ({ variant = 'light', message, messagePosition = 'left', linkT
1065
1065
  return semanticColors.surfaces.white;
1066
1066
  }
1067
1067
  if (variant === 'success') {
1068
- return semanticColors.status.success.medium;
1068
+ return semanticColors.status.success.default;
1069
1069
  }
1070
1070
  if (variant === 'error') {
1071
- return semanticColors.status.error.medium;
1071
+ return semanticColors.status.error.default;
1072
1072
  }
1073
1073
  if (variant === 'warning') {
1074
- return semanticColors.status.warning.medium;
1074
+ return semanticColors.status.warning.default;
1075
1075
  }
1076
1076
  return colors.grey['800'];
1077
1077
  };
@@ -1103,7 +1103,7 @@ const StyledBreadcrumbLink = styled(Link, {
1103
1103
  color: current ? semanticColors.buttons.tertiary.hover : semanticColors.icons.hover,
1104
1104
  },
1105
1105
  '&:focus-visible': {
1106
- outline: `2px solid ${semanticColors.buttons.primary.focus}`,
1106
+ outline: `2px solid ${semanticColors.border.focus}`,
1107
1107
  outlineOffset: 2,
1108
1108
  },
1109
1109
  }));
@@ -1193,7 +1193,7 @@ const StyledButtonBase$1 = styled(ButtonBase, {
1193
1193
  },
1194
1194
  // Focus visible for keyboard navigation
1195
1195
  [`&.${buttonBaseClasses.focusVisible}`]: {
1196
- outline: `2px solid ${semanticColors.buttons.primary.focus}`,
1196
+ outline: `2px solid ${semanticColors.border.focus}`,
1197
1197
  outlineOffset: 2,
1198
1198
  },
1199
1199
  };
@@ -1233,7 +1233,7 @@ const StyledButtonBase$1 = styled(ButtonBase, {
1233
1233
  : {
1234
1234
  [`&.${buttonBaseClasses.disabled}`]: {
1235
1235
  backgroundColor: semanticColors.buttons.secondary.disabledBackground,
1236
- borderColor: semanticColors.buttons.secondary.disabledBorder,
1236
+ borderColor: semanticColors.border.secondary,
1237
1237
  color: semanticColors.typography.button.disabled,
1238
1238
  },
1239
1239
  }),
@@ -1378,7 +1378,7 @@ const StyledButtonTab = styled(MuiToggleButton)(({ theme }) => ({
1378
1378
  color: semanticColors.typography.tab.active,
1379
1379
  },
1380
1380
  '&.Mui-focusVisible': {
1381
- outline: `2px solid ${semanticColors.buttons.primary.focus}`,
1381
+ outline: `2px solid ${semanticColors.border.focus}`,
1382
1382
  outlineOffset: -2,
1383
1383
  borderRadius: borderRadius.xXS,
1384
1384
  },
@@ -1479,7 +1479,7 @@ const StyledButtonTabGroup = styled(MuiToggleButtonGroup)(({ theme, size = 'medi
1479
1479
  },
1480
1480
  // Focus visible for keyboard navigation
1481
1481
  '&.Mui-focusVisible': {
1482
- outline: `2px solid ${semanticColors.buttons.primary.focus}`,
1482
+ outline: `2px solid ${semanticColors.border.focus}`,
1483
1483
  outlineOffset: -2,
1484
1484
  zIndex: 1,
1485
1485
  },
@@ -1599,7 +1599,7 @@ const StyledCheckbox = styled(Checkbox, {
1599
1599
  height: config.size,
1600
1600
  padding: 0,
1601
1601
  marginTop: size === 'xs' ? 3 : 2,
1602
- color: semanticColors.border.input,
1602
+ color: semanticColors.border.primary,
1603
1603
  flexShrink: 0,
1604
1604
  // Root element
1605
1605
  [`&.${checkboxClasses.root}`]: {
@@ -1622,20 +1622,20 @@ const StyledCheckbox = styled(Checkbox, {
1622
1622
  },
1623
1623
  // Disabled state
1624
1624
  [`&.${checkboxClasses.disabled}`]: {
1625
- color: semanticColors.border.input,
1625
+ color: semanticColors.border.primary,
1626
1626
  cursor: 'not-allowed',
1627
1627
  // When checked and disabled
1628
1628
  [`&.${checkboxClasses.checked}`]: {
1629
- color: semanticColors.border.input,
1629
+ color: semanticColors.border.primary,
1630
1630
  },
1631
1631
  // When indeterminate and disabled
1632
1632
  [`&.${checkboxClasses.indeterminate}`]: {
1633
- color: semanticColors.border.input,
1633
+ color: semanticColors.border.primary,
1634
1634
  },
1635
1635
  },
1636
1636
  // Focus visible for keyboard navigation
1637
1637
  '&.Mui-focusVisible': {
1638
- outline: `2px solid ${semanticColors.buttons.primary.focus}`,
1638
+ outline: `2px solid ${semanticColors.border.focus}`,
1639
1639
  outlineOffset: 2,
1640
1640
  borderRadius: config.borderRadius,
1641
1641
  },
@@ -1765,7 +1765,7 @@ const StyledButtonBase = styled(ButtonBase, {
1765
1765
  cursor: 'text',
1766
1766
  // Focus visible for keyboard navigation
1767
1767
  [`&.${buttonBaseClasses.focusVisible}`]: {
1768
- outline: `2px solid ${semanticColors.buttons.primary.focus}`,
1768
+ outline: `2px solid ${semanticColors.border.focus}`,
1769
1769
  outlineOffset: 2,
1770
1770
  },
1771
1771
  };
@@ -1836,7 +1836,7 @@ const StyledSearchField = styled(TextField)(({ theme }) => ({
1836
1836
  fontSize: theme.typography.pxToRem(typography.fontSize.default),
1837
1837
  borderRadius: borderRadius.input,
1838
1838
  backgroundColor: semanticColors.input.background,
1839
- border: `1px solid ${semanticColors.border.input}`,
1839
+ border: `1px solid ${semanticColors.border.primary}`,
1840
1840
  paddingTop: spacing.spacing_1,
1841
1841
  paddingBottom: spacing.spacing_1,
1842
1842
  paddingLeft: spacing.spacing_1_1_2,
@@ -2093,11 +2093,11 @@ const ChevronDownIcon = (props) => (jsx(ChevronDown, { ...props, size: spacing.s
2093
2093
  const StyledSelect = styled(MuiSelect)({
2094
2094
  minHeight: spacing.spacing_5,
2095
2095
  backgroundColor: semanticColors.input.background,
2096
- border: `1px solid ${semanticColors.border.input}`,
2096
+ border: `1px solid ${semanticColors.border.primary}`,
2097
2097
  borderRadius: `${borderRadius.input}px`,
2098
2098
  '&:hover': {
2099
2099
  backgroundColor: semanticColors.input.hoverBackground,
2100
- borderColor: semanticColors.border.input,
2100
+ borderColor: semanticColors.border.primary,
2101
2101
  },
2102
2102
  '&.Mui-focused': {
2103
2103
  backgroundColor: semanticColors.input.background,
@@ -2213,7 +2213,7 @@ const StyledGridFilterPanel = styled(GridFilterPanel)({
2213
2213
  position: 'relative',
2214
2214
  minHeight: spacing.spacing_5,
2215
2215
  backgroundColor: semanticColors.input.background,
2216
- border: `1px solid ${semanticColors.border.input}`,
2216
+ border: `1px solid ${semanticColors.border.primary}`,
2217
2217
  borderRadius: `${borderRadius.input}px`,
2218
2218
  fontSize: typography.fontSize.default,
2219
2219
  fontWeight: typography.fontWeight.regular,
@@ -2221,11 +2221,11 @@ const StyledGridFilterPanel = styled(GridFilterPanel)({
2221
2221
  },
2222
2222
  [`& .${gridClasses.filterForm} .${inputBaseClasses.root}:hover`]: {
2223
2223
  backgroundColor: semanticColors.input.hoverBackground,
2224
- borderColor: semanticColors.border.input,
2224
+ borderColor: semanticColors.border.primary,
2225
2225
  },
2226
2226
  [`& .${gridClasses.filterForm} .${inputBaseClasses.root}.${inputBaseClasses.focused}`]: {
2227
2227
  backgroundColor: semanticColors.input.background,
2228
- borderColor: semanticColors.border.input,
2228
+ borderColor: semanticColors.border.primary,
2229
2229
  },
2230
2230
  [`& .${gridClasses.filterForm} .${inputBaseClasses.root}::before`]: {
2231
2231
  display: 'none',
@@ -2649,11 +2649,11 @@ const outlinedColorStyles = {
2649
2649
  },
2650
2650
  };
2651
2651
  const filledColorStyles = {
2652
- default: semanticColors.status.neutral.medium,
2653
- error: semanticColors.status.error.medium,
2654
- warning: semanticColors.status.warning.medium,
2655
- success: semanticColors.status.success.medium,
2656
- info: semanticColors.status.info.medium,
2652
+ default: semanticColors.status.neutral.default,
2653
+ error: semanticColors.status.error.default,
2654
+ warning: semanticColors.status.warning.default,
2655
+ success: semanticColors.status.success.default,
2656
+ info: semanticColors.status.info.default,
2657
2657
  violet: colors.violet[500],
2658
2658
  beta: colors.digitalBlue[300],
2659
2659
  };
@@ -3261,7 +3261,7 @@ const StyledIconButton = styled(IconButton, {
3261
3261
  },
3262
3262
  // Focus visible for keyboard navigation
3263
3263
  '&:focus-visible': {
3264
- outline: `2px solid ${semanticColors.buttons.primary.focus}`,
3264
+ outline: `2px solid ${semanticColors.border.focus}`,
3265
3265
  outlineOffset: 2,
3266
3266
  },
3267
3267
  };
@@ -3601,7 +3601,7 @@ const sizeMap = {
3601
3601
  };
3602
3602
  const StyledBadge = styled(Badge)(({ ownerState }) => {
3603
3603
  const size = sizeMap[ownerState.size];
3604
- const color = semanticColors.status[ownerState.color].medium;
3604
+ const color = semanticColors.status[ownerState.color].default;
3605
3605
  return {
3606
3606
  [`& .${badgeClasses.badge}`]: {
3607
3607
  width: size,
@@ -3629,7 +3629,7 @@ const StyledBadge = styled(Badge)(({ ownerState }) => {
3629
3629
  */
3630
3630
  const NeoDot = ({ size = 'medium', variant = 'solid', color = 'neutral', ...props }) => {
3631
3631
  const dotSize = sizeMap[size];
3632
- const mediumColor = semanticColors.status[color].medium;
3632
+ const mediumColor = semanticColors.status[color].default;
3633
3633
  const lightColor = semanticColors.status[color].light;
3634
3634
  // For outline variant, use SVG for precise control
3635
3635
  const renderDot = () => {
@@ -4223,9 +4223,9 @@ const StyledInputBase = styled(InputBase, {
4223
4223
  },
4224
4224
  medium: {
4225
4225
  height: spacing.spacing_5_1_2,
4226
- padding: `${spacing.spacing_2}px ${spacing.spacing_3}px ${spacing.spacing_2}px ${startAdornment ? 0 : spacing.spacing_2}px`,
4226
+ padding: `${spacing.spacing_1_1_4}px ${spacing.spacing_2}px ${spacing.spacing_1_1_4}px ${startAdornment ? 0 : spacing.spacing_2}px`,
4227
4227
  fontSize: theme.typography.pxToRem(typography.fontSize.default),
4228
- borderRadius: borderRadius.input,
4228
+ borderRadius: spacing.spacing_8,
4229
4229
  },
4230
4230
  };
4231
4231
  const sizeStyles = sizeConfig[size];
@@ -4234,7 +4234,7 @@ const StyledInputBase = styled(InputBase, {
4234
4234
  fontSize: sizeStyles.fontSize,
4235
4235
  borderRadius: sizeStyles.borderRadius,
4236
4236
  backgroundColor: semanticColors.input.background,
4237
- border: `1px solid ${destructive ? semanticColors.status.error.medium : semanticColors.border.input}`,
4237
+ border: `1px solid ${destructive ? semanticColors.status.error.default : semanticColors.border.primary}`,
4238
4238
  transition: theme.transitions.create(['border-color', 'background-color'], {
4239
4239
  duration: theme.transitions.duration.short,
4240
4240
  }),
@@ -4248,19 +4248,21 @@ const StyledInputBase = styled(InputBase, {
4248
4248
  // Hover state
4249
4249
  '&:hover': {
4250
4250
  backgroundColor: semanticColors.input.hoverBackground,
4251
- borderColor: destructive ? semanticColors.status.error.medium : semanticColors.border.input,
4251
+ borderColor: destructive
4252
+ ? semanticColors.status.error.default
4253
+ : semanticColors.border.primary,
4252
4254
  },
4253
4255
  // Focused state
4254
4256
  [`&.${inputBaseClasses.focused}`]: {
4255
4257
  backgroundColor: semanticColors.input.background,
4256
4258
  borderColor: destructive
4257
- ? semanticColors.status.error.medium
4259
+ ? semanticColors.status.error.default
4258
4260
  : semanticColors.buttons.primary.default,
4259
4261
  },
4260
4262
  // Disabled state
4261
4263
  [`&.${inputBaseClasses.disabled}`]: {
4262
4264
  backgroundColor: semanticColors.input.disabledBackground,
4263
- borderColor: semanticColors.border.input,
4265
+ borderColor: semanticColors.border.primary,
4264
4266
  color: semanticColors.icons.disabled,
4265
4267
  [`& .${inputBaseClasses.input}`]: {
4266
4268
  WebkitTextFillColor: semanticColors.icons.disabled,
@@ -4268,11 +4270,11 @@ const StyledInputBase = styled(InputBase, {
4268
4270
  },
4269
4271
  // Error state
4270
4272
  [`&.${inputBaseClasses.error}`]: {
4271
- borderColor: semanticColors.status.error.medium,
4273
+ borderColor: semanticColors.status.error.default,
4272
4274
  },
4273
4275
  // Adornment styling
4274
4276
  [`& .${inputAdornmentClasses.root}`]: {
4275
- color: destructive ? semanticColors.status.error.medium : semanticColors.icons.placeholder,
4277
+ color: destructive ? semanticColors.status.error.default : semanticColors.icons.placeholder,
4276
4278
  },
4277
4279
  };
4278
4280
  });
@@ -4286,7 +4288,7 @@ const StyledFormHelperText = styled(FormHelperText, {
4286
4288
  fontSize: theme.typography.pxToRem(typography.fontSize.sm),
4287
4289
  color: semanticColors.typography.input.helper,
4288
4290
  [`&.${formHelperTextClasses.error}`]: {
4289
- color: semanticColors.status.error.medium,
4291
+ color: semanticColors.status.error.default,
4290
4292
  },
4291
4293
  [`&.${formHelperTextClasses.disabled}`]: {
4292
4294
  color: semanticColors.icons.disabled,
@@ -4586,7 +4588,7 @@ const StyledListItemButton = styled(ListItemButton)(({ theme }) => ({
4586
4588
  transition: theme.transitions.create(['border', 'background-color']),
4587
4589
  // Active (selected) state
4588
4590
  [`&.${listItemButtonClasses.selected}`]: {
4589
- border: `2px solid ${semanticColors.border.tabActive}`,
4591
+ border: `2px solid ${semanticColors.buttons.primary.default}`,
4590
4592
  backgroundColor: theme.palette.common.white,
4591
4593
  '&:hover': {
4592
4594
  backgroundColor: theme.palette.common.white,
@@ -4620,9 +4622,9 @@ const StyledListItemButton = styled(ListItemButton)(({ theme }) => ({
4620
4622
  },
4621
4623
  // Focus state
4622
4624
  [`&.${listItemButtonClasses.focusVisible}`]: {
4623
- outline: `2px solid ${semanticColors.border.tabActive}`,
4625
+ outline: `2px solid ${semanticColors.buttons.primary.default}`,
4624
4626
  outlineOffset: 2,
4625
- border: `2px solid ${semanticColors.border.tabActive}`,
4627
+ border: `2px solid ${semanticColors.buttons.primary.default}`,
4626
4628
  backgroundColor: theme.palette.common.white,
4627
4629
  [`& .${listItemIconClasses.root}`]: {
4628
4630
  color: semanticColors.icons.default,
@@ -4681,7 +4683,7 @@ const StyledListItemButton = styled(ListItemButton)(({ theme }) => ({
4681
4683
  * - showIcon → Conditional rendering of ListItemIcon child
4682
4684
  *
4683
4685
  * Design Tokens Used:
4684
- * - semanticColors.border.tabActive (#2f42ff) - Active border
4686
+ * - semanticColors.buttons.primary.default (#2f42ff) - Active border
4685
4687
  * - semanticColors.border.primary (#d1d5db) - Default/disabled border
4686
4688
  * - semanticColors.icons.default (#1f2937) - Active icon color
4687
4689
  * - semanticColors.icons.disabled (#d1d5db) - Deselected/disabled icon color
@@ -4714,17 +4716,17 @@ const StyledCard = styled(MuiCard, {
4714
4716
  flexDirection: 'column',
4715
4717
  gap: theme.spacing(2), // 16px
4716
4718
  backgroundColor: semanticColors.surfaces.card,
4717
- border: `1px solid ${selected ? semanticColors.border.tabActive : semanticColors.border.card}`,
4719
+ border: `1px solid ${selected ? semanticColors.buttons.primary.default : semanticColors.border.primary}`,
4718
4720
  borderRadius: borderRadius.xS,
4719
4721
  boxShadow: selected ? activeShadow$1 : 'none',
4720
4722
  transition: theme.transitions.create(['border-color', 'background-color', 'box-shadow']),
4721
4723
  cursor: 'pointer',
4722
4724
  '&:hover': {
4723
- borderColor: semanticColors.border.tabActive,
4725
+ borderColor: semanticColors.buttons.primary.default,
4724
4726
  boxShadow: activeShadow$1,
4725
4727
  },
4726
4728
  '&:focus-visible': {
4727
- borderColor: semanticColors.border.tabActive,
4729
+ borderColor: semanticColors.buttons.primary.default,
4728
4730
  ...focusRingStyles,
4729
4731
  },
4730
4732
  ...(disabled && {
@@ -4828,8 +4830,8 @@ const Description$1 = styled('p')(({ theme }) => ({
4828
4830
  * Design Tokens Used:
4829
4831
  * - semanticColors.surfaces.card (#FFFFFF) - Default card background
4830
4832
  * - semanticColors.status.info.light (#f2f3ff) - Active/focused card background
4831
- * - semanticColors.border.card (#d1d5db) - Default border
4832
- * - semanticColors.border.tabActive (#2f42ff) - Active/focused border
4833
+ * - semanticColors.border.primary (#d1d5db) - Default border
4834
+ * - semanticColors.buttons.primary.default (#2f42ff) - Active/focused border
4833
4835
  * - shadows.focusWhite1 - Inner white focus ring (2px spread)
4834
4836
  * - shadows.focusBlue2 - Outer blue focus ring (4px spread)
4835
4837
  * - colors.grey[800] (#1F2937) - Text color
@@ -4852,10 +4854,12 @@ const StyledLargeCard = styled(MuiCard, {
4852
4854
  const isActive = cardState === 'active';
4853
4855
  const isDisabled = cardState === 'disabled';
4854
4856
  const isFocused = cardState === 'focused';
4855
- const activeBorderColor = isLight ? semanticColors.border.tabActive : colors.digitalGreen[300];
4857
+ const activeBorderColor = isLight
4858
+ ? semanticColors.buttons.primary.default
4859
+ : colors.digitalGreen[300];
4856
4860
  const defaultBorderColor = isLight
4857
- ? semanticColors.border.card
4858
- : `${semanticColors.border.card}80`;
4861
+ ? semanticColors.border.primary
4862
+ : `${semanticColors.border.primary}80`;
4859
4863
  return {
4860
4864
  width: 340,
4861
4865
  height: 162,
@@ -4871,7 +4875,7 @@ const StyledLargeCard = styled(MuiCard, {
4871
4875
  overflow: 'hidden',
4872
4876
  ...(isFocused && focusRingStyles),
4873
4877
  '&:focus-visible': {
4874
- borderColor: isLight ? semanticColors.border.tabActive : colors.digitalGreen[300],
4878
+ borderColor: isLight ? semanticColors.buttons.primary.default : colors.digitalGreen[300],
4875
4879
  ...focusRingStyles,
4876
4880
  },
4877
4881
  ...(isDisabled && {
@@ -4951,8 +4955,8 @@ const ButtonsRow = styled('div')({
4951
4955
  * Design Tokens Used:
4952
4956
  * - semanticColors.surfaces.card (#ffffff) - Light theme background
4953
4957
  * - colors.grey[800] (#1f2937) - Dark theme background
4954
- * - semanticColors.border.card (#d1d5db) - Default border (50% opacity on dark)
4955
- * - semanticColors.border.tabActive (#2f42ff) - Active/focused border (light theme)
4958
+ * - semanticColors.border.primary (#d1d5db) - Default border (50% opacity on dark)
4959
+ * - semanticColors.buttons.primary.default (#2f42ff) - Active/focused border (light theme)
4956
4960
  * - colors.digitalGreen[300] (#88fe9b) - Active/focused border (dark theme)
4957
4961
  * - borderRadius.xS (4px) - Corner radius
4958
4962
  * - shadows.focusWhite1 + shadows.focusBlue2 - Focus ring
@@ -5024,7 +5028,7 @@ NeoMenu.displayName = 'NeoMenu';
5024
5028
  const StyledDialog = styled(Dialog)({
5025
5029
  [`& .${dialogClasses.paper}`]: {
5026
5030
  borderRadius: borderRadius.card,
5027
- border: `1px solid ${semanticColors.border.card}`,
5031
+ border: `1px solid ${semanticColors.border.primary}`,
5028
5032
  boxShadow: 'none',
5029
5033
  },
5030
5034
  [`& .${dialogClasses.container}`]: {
@@ -5571,7 +5575,7 @@ const StyledLinearProgress$1 = styled(LinearProgress, {
5571
5575
  // Cancelled variant uses warning color
5572
5576
  '&[data-variant="cancelled"]': {
5573
5577
  [`& .${linearProgressClasses.bar}`]: {
5574
- backgroundColor: semanticColors.status.warning.medium,
5578
+ backgroundColor: semanticColors.status.warning.default,
5575
5579
  },
5576
5580
  },
5577
5581
  }));
@@ -5636,7 +5640,7 @@ const StyledTextField = styled(TextField)(({ theme }) => ({
5636
5640
  fontSize: theme.typography.pxToRem(typography.fontSize.default),
5637
5641
  borderRadius: borderRadius.input,
5638
5642
  backgroundColor: semanticColors.input.background,
5639
- border: `1px solid ${semanticColors.border.input}`,
5643
+ border: `1px solid ${semanticColors.border.primary}`,
5640
5644
  paddingTop: spacing.spacing_1,
5641
5645
  paddingBottom: spacing.spacing_1,
5642
5646
  paddingLeft: spacing.spacing_1_1_2,
@@ -5731,7 +5735,7 @@ NeoQuickFilter.displayName = 'NeoQuickFilter';
5731
5735
  const UncheckedIcon = ({ size }) => {
5732
5736
  const dimensions = size === 'small' ? 16 : 20;
5733
5737
  const radius = size === 'small' ? 8 : 10;
5734
- return (jsxs("svg", { width: dimensions, height: dimensions, viewBox: `0 0 ${dimensions} ${dimensions}`, fill: "none", "aria-hidden": "true", children: [jsx("title", { children: "Unchecked radio button" }), jsx("circle", { cx: dimensions / 2, cy: dimensions / 2, r: radius - 0.5, stroke: semanticColors.border.input, strokeWidth: "1", fill: "transparent" })] }));
5738
+ return (jsxs("svg", { width: dimensions, height: dimensions, viewBox: `0 0 ${dimensions} ${dimensions}`, fill: "none", "aria-hidden": "true", children: [jsx("title", { children: "Unchecked radio button" }), jsx("circle", { cx: dimensions / 2, cy: dimensions / 2, r: radius - 0.5, stroke: semanticColors.border.primary, strokeWidth: "1", fill: "transparent" })] }));
5735
5739
  };
5736
5740
  const CheckedIcon = ({ size }) => {
5737
5741
  const dimensions = size === 'small' ? 16 : 20;
@@ -5987,19 +5991,19 @@ const StyledAlert$1 = styled(Alert, {
5987
5991
  const colorMap = {
5988
5992
  success: {
5989
5993
  light: semanticColors.status.success.light,
5990
- medium: semanticColors.status.success.medium,
5994
+ medium: semanticColors.status.success.default,
5991
5995
  },
5992
5996
  error: {
5993
5997
  light: semanticColors.status.error.light,
5994
- medium: semanticColors.status.error.medium,
5998
+ medium: semanticColors.status.error.default,
5995
5999
  },
5996
6000
  neutral: {
5997
6001
  light: semanticColors.status.neutral.light,
5998
- medium: semanticColors.status.neutral.medium,
6002
+ medium: semanticColors.status.neutral.default,
5999
6003
  },
6000
6004
  info: {
6001
6005
  light: semanticColors.status.info.light,
6002
- medium: semanticColors.status.info.medium,
6006
+ medium: semanticColors.status.info.default,
6003
6007
  },
6004
6008
  };
6005
6009
  const severityColors = colorMap[severity];
@@ -6070,10 +6074,10 @@ const StyledAlert$1 = styled(Alert, {
6070
6074
  * - Mode (Light|Dark) → variant ('outlined'|'filled')
6071
6075
  *
6072
6076
  * Design Tokens Used:
6073
- * - status.success.light, status.success.medium
6074
- * - status.error.light, status.error.medium
6075
- * - status.neutral.light, status.neutral.medium
6076
- * - status.info.light, status.info.medium
6077
+ * - status.success.light, status.success.default
6078
+ * - status.error.light, status.error.default
6079
+ * - status.neutral.light, status.neutral.default
6080
+ * - status.info.light, status.info.default
6077
6081
  * - typography.tooltip, typography.bodySecondary
6078
6082
  * - grey[800]
6079
6083
  * - fontSize.default, fontSize.sm
@@ -6110,7 +6114,7 @@ NeoStatusBanner.displayName = 'NeoStatusBanner';
6110
6114
  const NeoTabs = styled(MuiTabs)(() => ({
6111
6115
  minHeight: spacing.spacing_5,
6112
6116
  [`& .${tabsClasses.indicator}`]: {
6113
- backgroundColor: semanticColors.border.tabActive,
6117
+ backgroundColor: semanticColors.buttons.primary.default,
6114
6118
  height: 2,
6115
6119
  },
6116
6120
  [`& .${tabsClasses.flexContainer}`]: {
@@ -6132,7 +6136,7 @@ const StyledTab = styled(MuiTab)(({ theme }) => ({
6132
6136
  fontWeight: typography.fontWeight.semiBold,
6133
6137
  },
6134
6138
  [`&.${buttonBaseClasses.focusVisible}`]: {
6135
- outline: `2px solid ${semanticColors.buttons.primary.focus}`,
6139
+ outline: `2px solid ${semanticColors.border.focus}`,
6136
6140
  outlineOffset: -2,
6137
6141
  },
6138
6142
  [`&.${tabClasses.disabled}`]: {
@@ -6212,17 +6216,17 @@ const StyledAlert = styled(Alert, {
6212
6216
  error: {
6213
6217
  backgroundColor: semanticColors.status.error.light,
6214
6218
  color: semanticColors.status.error.dark,
6215
- border: `1px solid ${semanticColors.status.error.medium}`,
6219
+ border: `1px solid ${semanticColors.status.error.default}`,
6216
6220
  },
6217
6221
  success: {
6218
6222
  backgroundColor: semanticColors.status.success.light,
6219
6223
  color: semanticColors.status.success.dark,
6220
- border: `1px solid ${semanticColors.status.success.medium}`,
6224
+ border: `1px solid ${semanticColors.status.success.default}`,
6221
6225
  },
6222
6226
  info: {
6223
6227
  backgroundColor: semanticColors.status.info.light,
6224
6228
  color: semanticColors.status.info.dark,
6225
- border: `1px solid ${semanticColors.status.info.medium}`,
6229
+ border: `1px solid ${semanticColors.status.info.default}`,
6226
6230
  },
6227
6231
  download: {
6228
6232
  backgroundColor: semanticColors.surfaces.snackbarDarkMode,
@@ -6450,7 +6454,7 @@ const StyledSwitch = styled(Switch, {
6450
6454
  // Focus visible for keyboard navigation
6451
6455
  '&.Mui-focusVisible': {
6452
6456
  [`& + .${switchClasses.track}`]: {
6453
- outline: `2px solid ${semanticColors.buttons.primary.focus}`,
6457
+ outline: `2px solid ${semanticColors.border.focus}`,
6454
6458
  outlineOffset: 2,
6455
6459
  },
6456
6460
  },
@@ -6791,7 +6795,7 @@ const StyledTreeView = styled(RichTreeViewPro)({
6791
6795
  backgroundColor: semanticColors.surfaces.listHover,
6792
6796
  },
6793
6797
  [`& .${treeItemClasses.content}.Mui-focused`]: {
6794
- boxShadow: `inset 0 0 0 2px ${semanticColors.buttons.primary.focus}`,
6798
+ boxShadow: `inset 0 0 0 2px ${semanticColors.border.focus}`,
6795
6799
  backgroundColor: 'transparent',
6796
6800
  },
6797
6801
  [`& .${treeItemClasses.content}.Mui-selected`]: {
@@ -6802,7 +6806,7 @@ const StyledTreeView = styled(RichTreeViewPro)({
6802
6806
  },
6803
6807
  [`& .${treeItemClasses.content}.Mui-selected.Mui-focused`]: {
6804
6808
  backgroundColor: semanticColors.surfaces.listHover,
6805
- boxShadow: `inset 0 0 0 2px ${semanticColors.buttons.primary.focus}`,
6809
+ boxShadow: `inset 0 0 0 2px ${semanticColors.border.focus}`,
6806
6810
  },
6807
6811
  [`& .${treeItemClasses.label}`]: {
6808
6812
  fontSize: typography.fontSize.xs,