@moderneinc/neo-styled-components 2.5.0-next.f787ac → 2.5.0-next.fbda18

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.
@@ -20,8 +20,9 @@ export interface NeoAvatarProps extends Omit<AvatarProps, 'variant'> {
20
20
  *
21
21
  * Figma Props Mapping:
22
22
  * - Figma Type "Initials" → variant="initials", size="small" (20px)
23
- * - Figma Type "Small" → variant="circular", size="small" (20px with image)
23
+ * - Figma Type "Small" → variant="circular", size="small" (32px with image)
24
24
  * - Figma Type "Medium" → variant="circular", size="medium" (44px white container with image)
25
+ * - State: Focus → CSS :focus-visible ring (2px white inner + 4px blue outer)
25
26
  * - State: Hover (tooltip) → Wrap component with MUI Tooltip
26
27
  *
27
28
  * Usage:
@@ -0,0 +1,23 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ export type IconWrapperSize = 8 | 12 | 16 | 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 52 | 56 | 60 | 64 | 72 | 80 | 96 | 128 | 160 | 192;
3
+ export interface NeoIconWrapperProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {
4
+ /**
5
+ * The size of the icon wrapper in pixels
6
+ * @figma Size (8px|12px|...|192px)
7
+ * @default 20
8
+ */
9
+ size?: IconWrapperSize;
10
+ /**
11
+ * Icon element to render inside the wrapper
12
+ */
13
+ children?: ReactNode;
14
+ }
15
+ /**
16
+ * NeoIconWrapper - Flex-centered container that sizes icons
17
+ *
18
+ * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=4061-9955
19
+ */
20
+ export declare const NeoIconWrapper: {
21
+ ({ size, children, ...props }: NeoIconWrapperProps): import("react/jsx-runtime").JSX.Element;
22
+ displayName: string;
23
+ };
@@ -0,0 +1,91 @@
1
+ import { type CardProps } from '@mui/material/Card';
2
+ import type { ReactNode } from 'react';
3
+ type LargeCardState = 'default' | 'active' | 'disabled' | 'focused';
4
+ type LargeCardTheme = 'light' | 'dark';
5
+ export interface NeoMarketplaceLargeCardProps extends Omit<CardProps, 'children' | 'title'> {
6
+ /**
7
+ * The visual state of the card
8
+ * @default "default"
9
+ * @figma Property 1
10
+ */
11
+ state?: LargeCardState;
12
+ /**
13
+ * The theme variant of the card
14
+ * @default "light"
15
+ * @figma Property 2
16
+ */
17
+ cardTheme?: LargeCardTheme;
18
+ /**
19
+ * Whether to show the icon
20
+ * @default true
21
+ * @figma Show Icon
22
+ */
23
+ showIcon?: boolean;
24
+ /**
25
+ * Whether to show the gel brand icon
26
+ * @default true
27
+ * @figma Show gel
28
+ */
29
+ showGel?: boolean;
30
+ /**
31
+ * Whether to show the button area
32
+ * @default true
33
+ * @figma show buttons
34
+ */
35
+ showButtons?: boolean;
36
+ /**
37
+ * Icon element to display in the header row (rendered at 20x20)
38
+ */
39
+ icon?: ReactNode;
40
+ /**
41
+ * Gel/brand icon to display in the header row (rendered at 20x20)
42
+ */
43
+ gel?: ReactNode;
44
+ /**
45
+ * Title text displayed inline in the header row with icon and gel
46
+ */
47
+ title?: ReactNode;
48
+ /**
49
+ * Description text displayed below the header row
50
+ */
51
+ children?: ReactNode;
52
+ /**
53
+ * Button/action elements for the footer row
54
+ */
55
+ actions?: ReactNode;
56
+ /**
57
+ * Click handler for the card
58
+ */
59
+ onClick?: () => void;
60
+ }
61
+ /**
62
+ * NeoMarketplaceLargeCard - A large marketplace card with state and theme variants
63
+ *
64
+ * A 340x162px card with optional icon, gel brand icon, title, description, and action buttons.
65
+ * Icon, gel, and title display inline in a header row.
66
+ * Supports 4 states (default, active, disabled, focused) and 2 themes (light, dark).
67
+ *
68
+ * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC?node-id=5925-11
69
+ *
70
+ * Figma Props Mapping:
71
+ * - Property 1 → state (default/active/disabled/focused)
72
+ * - Property 2 → cardTheme (light/dark)
73
+ * - Show Icon → showIcon
74
+ * - Show gel → showGel
75
+ * - show buttons → showButtons
76
+ *
77
+ * Design Tokens Used:
78
+ * - semanticColors.surfaces.card (#ffffff) - Light theme background
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)
82
+ * - colors.digitalGreen[300] (#88fe9b) - Active/focused border (dark theme)
83
+ * - borderRadius.xS (4px) - Corner radius
84
+ * - shadows.focusWhite1 + shadows.focusBlue2 - Focus ring
85
+ * - shadows.card - Active state shadow
86
+ */
87
+ export declare const NeoMarketplaceLargeCard: {
88
+ ({ state, cardTheme, showIcon, showGel, showButtons, icon, gel, title, children, actions, onClick, ...props }: NeoMarketplaceLargeCardProps): import("react/jsx-runtime").JSX.Element;
89
+ displayName: string;
90
+ };
91
+ export {};
@@ -0,0 +1,36 @@
1
+ import { type ButtonBaseProps } from '@mui/material/ButtonBase';
2
+ import type { ReactNode } from 'react';
3
+ export interface NeoNavigationItemProps extends Omit<ButtonBaseProps, 'children'> {
4
+ /**
5
+ * Icon element to display
6
+ */
7
+ icon?: ReactNode;
8
+ /**
9
+ * Text label below the icon
10
+ */
11
+ label?: string;
12
+ /**
13
+ * Whether the item is selected/active
14
+ * @figma State (Selected)
15
+ * @default false
16
+ */
17
+ selected?: boolean;
18
+ /**
19
+ * Optional tag badge content (e.g., count)
20
+ * @figma Tag
21
+ */
22
+ tag?: string;
23
+ /**
24
+ * Additional content
25
+ */
26
+ children?: ReactNode;
27
+ }
28
+ /**
29
+ * NeoNavigationItem - Vertical navigation item with icon, label, and optional tag
30
+ *
31
+ * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=8455-6120
32
+ */
33
+ export declare const NeoNavigationItem: {
34
+ ({ icon, label, selected, tag, children, ...props }: NeoNavigationItemProps): import("react/jsx-runtime").JSX.Element;
35
+ displayName: string;
36
+ };
package/dist/Tag/Tag.d.ts CHANGED
@@ -2,6 +2,7 @@ import { type ChipProps } from '@mui/material/Chip';
2
2
  declare module '@mui/material/Chip' {
3
3
  interface ChipPropsColorOverrides {
4
4
  violet: true;
5
+ beta: true;
5
6
  }
6
7
  interface ChipPropsSizeOverrides {
7
8
  large: true;
@@ -26,10 +27,10 @@ export interface NeoTagProps extends Omit<ChipProps, 'variant' | 'size'> {
26
27
  variant?: 'outlined' | 'filled';
27
28
  /**
28
29
  * The color/state of the tag
29
- * @figma state (Neutral|Error|Warning|Success|Info|Violet)
30
+ * @figma state (Neutral|Error|Warning|Success|Info|Violet|Beta)
30
31
  * @default "default"
31
32
  */
32
- color?: 'default' | 'error' | 'warning' | 'success' | 'info' | 'violet';
33
+ color?: 'default' | 'error' | 'warning' | 'success' | 'info' | 'violet' | 'beta';
33
34
  }
34
35
  /**
35
36
  * NeoTag - Small pill-shaped label component based on MUI Chip
@@ -39,7 +40,7 @@ export interface NeoTagProps extends Omit<ChipProps, 'variant' | 'size'> {
39
40
  * Figma Props Mapping:
40
41
  * - m (sm|md|lg) → size (small|medium|large)
41
42
  * - type (light|dark) → variant (outlined|filled)
42
- * - state (Neutral|Error|Warning|Success|Info|Violet) → color (default|error|warning|success|info|violet)
43
+ * - state (Neutral|Error|Warning|Success|Info|Violet|Beta) → color (default|error|warning|success|info|violet|beta)
43
44
  * - Label text → label prop
44
45
  */
45
46
  export declare const NeoTag: {
package/dist/index.d.ts CHANGED
@@ -302,8 +302,9 @@ interface NeoAvatarProps extends Omit<AvatarProps, 'variant'> {
302
302
  *
303
303
  * Figma Props Mapping:
304
304
  * - Figma Type "Initials" → variant="initials", size="small" (20px)
305
- * - Figma Type "Small" → variant="circular", size="small" (20px with image)
305
+ * - Figma Type "Small" → variant="circular", size="small" (32px with image)
306
306
  * - Figma Type "Medium" → variant="circular", size="medium" (44px white container with image)
307
+ * - State: Focus → CSS :focus-visible ring (2px white inner + 4px blue outer)
307
308
  * - State: Hover (tooltip) → Wrap component with MUI Tooltip
308
309
  *
309
310
  * Usage:
@@ -2105,6 +2106,7 @@ declare const NeoTab: {
2105
2106
  declare module '@mui/material/Chip' {
2106
2107
  interface ChipPropsColorOverrides {
2107
2108
  violet: true;
2109
+ beta: true;
2108
2110
  }
2109
2111
  interface ChipPropsSizeOverrides {
2110
2112
  large: true;
@@ -2129,10 +2131,10 @@ interface NeoTagProps extends Omit<ChipProps, 'variant' | 'size'> {
2129
2131
  variant?: 'outlined' | 'filled';
2130
2132
  /**
2131
2133
  * The color/state of the tag
2132
- * @figma state (Neutral|Error|Warning|Success|Info|Violet)
2134
+ * @figma state (Neutral|Error|Warning|Success|Info|Violet|Beta)
2133
2135
  * @default "default"
2134
2136
  */
2135
- color?: 'default' | 'error' | 'warning' | 'success' | 'info' | 'violet';
2137
+ color?: 'default' | 'error' | 'warning' | 'success' | 'info' | 'violet' | 'beta';
2136
2138
  }
2137
2139
  /**
2138
2140
  * NeoTag - Small pill-shaped label component based on MUI Chip
@@ -2142,7 +2144,7 @@ interface NeoTagProps extends Omit<ChipProps, 'variant' | 'size'> {
2142
2144
  * Figma Props Mapping:
2143
2145
  * - m (sm|md|lg) → size (small|medium|large)
2144
2146
  * - type (light|dark) → variant (outlined|filled)
2145
- * - state (Neutral|Error|Warning|Success|Info|Violet) → color (default|error|warning|success|info|violet)
2147
+ * - state (Neutral|Error|Warning|Success|Info|Violet|Beta) → color (default|error|warning|success|info|violet|beta)
2146
2148
  * - Label text → label prop
2147
2149
  */
2148
2150
  declare const NeoTag: {