@moderneinc/neo-styled-components 2.0.3-next.293c8b → 2.0.3-next.b141b9

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.
@@ -65,9 +65,12 @@ export interface NeoMarketplaceCardProps extends Omit<CardProps, 'children'> {
65
65
  * - Property 1="Default" → Base state (no props)
66
66
  *
67
67
  * Design Tokens Used:
68
- * - semanticColors.surfaces.card (#FFFFFF) - Card background
68
+ * - semanticColors.surfaces.card (#FFFFFF) - Default card background
69
+ * - semanticColors.status.info.light (#f2f3ff) - Active/focused card background
69
70
  * - semanticColors.border.card (#d1d5db) - Default border
70
71
  * - semanticColors.border.tabActive (#2f42ff) - Active/focused border
72
+ * - shadows.focusWhite1 - Inner white focus ring (2px spread)
73
+ * - shadows.focusBlue2 - Outer blue focus ring (4px spread)
71
74
  * - colors.grey[800] (#1F2937) - Text color
72
75
  * - typography.fontSize.xxs (10px) - Recipe count
73
76
  * - typography.fontSize.xs (12px) - Description
package/dist/index.d.ts CHANGED
@@ -2561,9 +2561,12 @@ interface NeoMarketplaceCardProps extends Omit<CardProps, 'children'> {
2561
2561
  * - Property 1="Default" → Base state (no props)
2562
2562
  *
2563
2563
  * Design Tokens Used:
2564
- * - semanticColors.surfaces.card (#FFFFFF) - Card background
2564
+ * - semanticColors.surfaces.card (#FFFFFF) - Default card background
2565
+ * - semanticColors.status.info.light (#f2f3ff) - Active/focused card background
2565
2566
  * - semanticColors.border.card (#d1d5db) - Default border
2566
2567
  * - semanticColors.border.tabActive (#2f42ff) - Active/focused border
2568
+ * - shadows.focusWhite1 - Inner white focus ring (2px spread)
2569
+ * - shadows.focusBlue2 - Outer blue focus ring (4px spread)
2567
2570
  * - colors.grey[800] (#1F2937) - Text color
2568
2571
  * - typography.fontSize.xxs (10px) - Recipe count
2569
2572
  * - typography.fontSize.xs (12px) - Description
package/dist/index.esm.js CHANGED
@@ -3982,11 +3982,11 @@ NeoInputField.displayName = 'NeoInputField';
3982
3982
  // Size configuration for consistent styling
3983
3983
  const sizeConfig = {
3984
3984
  small: {
3985
- height: 36,
3986
- paddingTop: spacing.spacing_1,
3987
- paddingRight: spacing.spacing_1_1_4,
3988
- paddingBottom: spacing.spacing_1,
3989
- paddingLeft: spacing.spacing_1_1_4,
3985
+ height: spacing.spacing_3_1_2,
3986
+ paddingTop: 1,
3987
+ paddingRight: spacing.spacing_3_4,
3988
+ paddingBottom: 1,
3989
+ paddingLeft: spacing.spacing_3_4,
3990
3990
  gap: spacing.spacing_1,
3991
3991
  iconSize: typography.fontSize.h4,
3992
3992
  fontSize: typography.fontSize.sm,
@@ -3994,10 +3994,10 @@ const sizeConfig = {
3994
3994
  },
3995
3995
  medium: {
3996
3996
  height: spacing.spacing_5,
3997
- paddingTop: spacing.spacing_1,
3998
- paddingRight: spacing.spacing_1_1_4,
3999
- paddingBottom: spacing.spacing_1,
4000
- paddingLeft: spacing.spacing_1,
3997
+ paddingTop: 1,
3998
+ paddingRight: spacing.spacing_3_4,
3999
+ paddingBottom: 1,
4000
+ paddingLeft: spacing.spacing_3_4,
4001
4001
  gap: spacing.spacing_1,
4002
4002
  iconSize: typography.fontSize.h4,
4003
4003
  fontSize: typography.fontSize.default,
@@ -4005,10 +4005,10 @@ const sizeConfig = {
4005
4005
  },
4006
4006
  large: {
4007
4007
  height: spacing.spacing_6,
4008
- paddingTop: spacing.spacing_1,
4009
- paddingRight: spacing.spacing_1_1_4,
4010
- paddingBottom: spacing.spacing_1,
4011
- paddingLeft: spacing.spacing_1_1_4,
4008
+ paddingTop: 1,
4009
+ paddingRight: spacing.spacing_3_4,
4010
+ paddingBottom: 1,
4011
+ paddingLeft: spacing.spacing_3_4,
4012
4012
  gap: spacing.spacing_1_1_2,
4013
4013
  iconSize: typography.fontSize.h2,
4014
4014
  fontSize: typography.fontSize.default,
@@ -4017,10 +4017,10 @@ const sizeConfig = {
4017
4017
  },
4018
4018
  xlarge: {
4019
4019
  height: spacing.spacing_8,
4020
- paddingTop: spacing.spacing_1,
4021
- paddingRight: spacing.spacing_1_1_4,
4022
- paddingBottom: spacing.spacing_1,
4023
- paddingLeft: spacing.spacing_1_1_4,
4020
+ paddingTop: 1,
4021
+ paddingRight: spacing.spacing_3_4,
4022
+ paddingBottom: 1,
4023
+ paddingLeft: spacing.spacing_3_4,
4024
4024
  gap: spacing.spacing_2,
4025
4025
  iconSize: typography.fontSize.h2,
4026
4026
  fontSize: typography.fontSize.default,
@@ -4029,10 +4029,10 @@ const sizeConfig = {
4029
4029
  },
4030
4030
  xxlarge: {
4031
4031
  height: spacing.spacing_10,
4032
- paddingTop: spacing.spacing_1,
4033
- paddingRight: spacing.spacing_1_1_2,
4034
- paddingBottom: spacing.spacing_1,
4035
- paddingLeft: spacing.spacing_1_1_2,
4032
+ paddingTop: 1,
4033
+ paddingRight: spacing.spacing_3_4,
4034
+ paddingBottom: 1,
4035
+ paddingLeft: spacing.spacing_3_4,
4036
4036
  gap: spacing.spacing_2,
4037
4037
  iconSize: spacing.spacing_5,
4038
4038
  fontSize: typography.fontSize.h5,
@@ -4327,6 +4327,11 @@ const NeoListItemButton = ({ children, selected = false, disabled = false, ...pr
4327
4327
  };
4328
4328
  NeoListItemButton.displayName = 'NeoListItemButton';
4329
4329
 
4330
+ /**
4331
+ * Focus ring box-shadow using Neo design tokens
4332
+ * Combines focusWhite1 (inner white ring) and focusBlue2 (outer blue ring)
4333
+ */
4334
+ const focusRingShadow = `${shadows.focusWhite1.x}px ${shadows.focusWhite1.y}px ${shadows.focusWhite1.blur}px ${shadows.focusWhite1.spread}px ${shadows.focusWhite1.shadow}, ${shadows.focusBlue2.x}px ${shadows.focusBlue2.y}px ${shadows.focusBlue2.blur}px ${shadows.focusBlue2.spread}px ${shadows.focusBlue2.shadow}`;
4330
4335
  /**
4331
4336
  * Styled Card component with Neo design tokens
4332
4337
  */
@@ -4339,19 +4344,20 @@ const StyledCard = styled(MuiCard, {
4339
4344
  display: 'flex',
4340
4345
  flexDirection: 'column',
4341
4346
  gap: theme.spacing(2), // 16px
4342
- backgroundColor: semanticColors.surfaces.card,
4347
+ backgroundColor: selected ? semanticColors.status.info.light : semanticColors.surfaces.card,
4343
4348
  border: `1px solid ${selected ? semanticColors.border.tabActive : semanticColors.border.card}`,
4344
4349
  borderRadius: theme.typography.pxToRem(4),
4345
4350
  boxShadow: 'none',
4346
- transition: theme.transitions.create(['border-color']),
4351
+ transition: theme.transitions.create(['border-color', 'background-color', 'box-shadow']),
4347
4352
  cursor: 'pointer',
4348
4353
  '&:hover': {
4349
4354
  borderColor: selected ? semanticColors.border.tabActive : semanticColors.border.card,
4350
4355
  },
4351
4356
  '&:focus-visible': {
4352
- outline: `2px solid ${semanticColors.border.tabActive}`,
4353
- outlineOffset: '2px',
4357
+ backgroundColor: semanticColors.status.info.light,
4354
4358
  borderColor: semanticColors.border.tabActive,
4359
+ boxShadow: focusRingShadow,
4360
+ outline: 'none',
4355
4361
  },
4356
4362
  ...(disabled && {
4357
4363
  opacity: 0.5,
@@ -4446,9 +4452,12 @@ const Description = styled('p')(({ theme }) => ({
4446
4452
  * - Property 1="Default" → Base state (no props)
4447
4453
  *
4448
4454
  * Design Tokens Used:
4449
- * - semanticColors.surfaces.card (#FFFFFF) - Card background
4455
+ * - semanticColors.surfaces.card (#FFFFFF) - Default card background
4456
+ * - semanticColors.status.info.light (#f2f3ff) - Active/focused card background
4450
4457
  * - semanticColors.border.card (#d1d5db) - Default border
4451
4458
  * - semanticColors.border.tabActive (#2f42ff) - Active/focused border
4459
+ * - shadows.focusWhite1 - Inner white focus ring (2px spread)
4460
+ * - shadows.focusBlue2 - Outer blue focus ring (4px spread)
4452
4461
  * - colors.grey[800] (#1F2937) - Text color
4453
4462
  * - typography.fontSize.xxs (10px) - Recipe count
4454
4463
  * - typography.fontSize.xs (12px) - Description