@moderneinc/neo-styled-components 2.5.0-next.f8ed7e → 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,42 @@
1
+ import { type ChipProps } from '@mui/material/Chip';
2
+ export interface NeoFilterChipProps extends Omit<ChipProps, 'variant' | 'color' | 'label'> {
3
+ /**
4
+ * The filter label text
5
+ */
6
+ label: string;
7
+ /**
8
+ * Whether the filter has active selections
9
+ * @default false
10
+ */
11
+ selected?: boolean;
12
+ /**
13
+ * Whether the filter dropdown is expanded
14
+ * @default false
15
+ */
16
+ expanded?: boolean;
17
+ /**
18
+ * Value text shown when selected (e.g. "Filter 1, Filter 2")
19
+ */
20
+ selectedLabel?: string;
21
+ /**
22
+ * Number of active filter selections (shown as badge when selected)
23
+ * @default 0
24
+ */
25
+ count?: number;
26
+ /**
27
+ * Handler for clearing the filter (shows X icon when provided and selected)
28
+ */
29
+ onClear?: (e: React.MouseEvent) => void;
30
+ }
31
+ /**
32
+ * NeoFilterChip - Filter chip for filtering data, based on MUI Chip.
33
+ *
34
+ * @example
35
+ * <NeoFilterChip label="Status" selected selectedLabel="Active, Pending" count={2} onClear={handleClear} />
36
+ *
37
+ * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC?node-id=8257-239
38
+ */
39
+ export declare const NeoFilterChip: {
40
+ ({ label, selected, expanded, selectedLabel, count, onClear, onClick, ...props }: NeoFilterChipProps): import("react/jsx-runtime").JSX.Element;
41
+ displayName: string;
42
+ };
@@ -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:
@@ -1298,38 +1299,45 @@ declare const NeoDot: {
1298
1299
  displayName: string;
1299
1300
  };
1300
1301
 
1301
- interface NeoFilterChipsProps {
1302
+ interface NeoFilterChipProps extends Omit<ChipProps, 'variant' | 'color' | 'label'> {
1302
1303
  /**
1303
1304
  * The filter label text
1304
- * @figma Text content in Figma
1305
1305
  */
1306
1306
  label: string;
1307
1307
  /**
1308
1308
  * Whether the filter has active selections
1309
1309
  * @default false
1310
- * @figma Property 1 (Active | active focused)
1311
1310
  */
1312
- active?: boolean;
1311
+ selected?: boolean;
1312
+ /**
1313
+ * Whether the filter dropdown is expanded
1314
+ * @default false
1315
+ */
1316
+ expanded?: boolean;
1317
+ /**
1318
+ * Value text shown when selected (e.g. "Filter 1, Filter 2")
1319
+ */
1320
+ selectedLabel?: string;
1313
1321
  /**
1314
- * Number of active filter selections (shown as badge when active)
1322
+ * Number of active filter selections (shown as badge when selected)
1315
1323
  * @default 0
1316
1324
  */
1317
1325
  count?: number;
1318
1326
  /**
1319
- * Click handler for opening the filter dropdown
1327
+ * Handler for clearing the filter (shows X icon when provided and selected)
1320
1328
  */
1321
- onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
1329
+ onClear?: (e: React.MouseEvent) => void;
1322
1330
  }
1323
1331
  /**
1324
- * NeoFilterChips - Filter chip button used for filtering data
1332
+ * NeoFilterChip - Filter chip for filtering data, based on MUI Chip.
1325
1333
  *
1326
- * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC?node-id=8257-239
1334
+ * @example
1335
+ * <NeoFilterChip label="Status" selected selectedLabel="Active, Pending" count={2} onClear={handleClear} />
1327
1336
  *
1328
- * Figma Props Mapping:
1329
- * - Property 1 (default|hover ope|focused|Active|active focused) → active boolean + CSS states
1337
+ * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC?node-id=8257-239
1330
1338
  */
1331
- declare const NeoFilterChips: {
1332
- ({ label, active, count, onClick, ...props }: NeoFilterChipsProps): react_jsx_runtime.JSX.Element;
1339
+ declare const NeoFilterChip: {
1340
+ ({ label, selected, expanded, selectedLabel, count, onClear, onClick, ...props }: NeoFilterChipProps): react_jsx_runtime.JSX.Element;
1333
1341
  displayName: string;
1334
1342
  };
1335
1343
 
@@ -2098,6 +2106,7 @@ declare const NeoTab: {
2098
2106
  declare module '@mui/material/Chip' {
2099
2107
  interface ChipPropsColorOverrides {
2100
2108
  violet: true;
2109
+ beta: true;
2101
2110
  }
2102
2111
  interface ChipPropsSizeOverrides {
2103
2112
  large: true;
@@ -2122,10 +2131,10 @@ interface NeoTagProps extends Omit<ChipProps, 'variant' | 'size'> {
2122
2131
  variant?: 'outlined' | 'filled';
2123
2132
  /**
2124
2133
  * The color/state of the tag
2125
- * @figma state (Neutral|Error|Warning|Success|Info|Violet)
2134
+ * @figma state (Neutral|Error|Warning|Success|Info|Violet|Beta)
2126
2135
  * @default "default"
2127
2136
  */
2128
- color?: 'default' | 'error' | 'warning' | 'success' | 'info' | 'violet';
2137
+ color?: 'default' | 'error' | 'warning' | 'success' | 'info' | 'violet' | 'beta';
2129
2138
  }
2130
2139
  /**
2131
2140
  * NeoTag - Small pill-shaped label component based on MUI Chip
@@ -2135,7 +2144,7 @@ interface NeoTagProps extends Omit<ChipProps, 'variant' | 'size'> {
2135
2144
  * Figma Props Mapping:
2136
2145
  * - m (sm|md|lg) → size (small|medium|large)
2137
2146
  * - type (light|dark) → variant (outlined|filled)
2138
- * - 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)
2139
2148
  * - Label text → label prop
2140
2149
  */
2141
2150
  declare const NeoTag: {
@@ -2796,5 +2805,5 @@ declare module '@mui/x-data-grid-pro' {
2796
2805
 
2797
2806
  declare const version: string
2798
2807
 
2799
- export { ActivityScene, CIRCLE_RADIUS, NeoActivityHeader, NeoActivityIndicatorCell, NeoAvatar, NeoBadge, NeoBanner, NeoBreadcrumbLink, NeoBreadcrumbs, NeoButton, NeoButtonGroup, NeoCheckbox, NeoCodeSnippet, NeoDataGrid, NeoDataGridCellContent, NeoDataGridColumnsButton, NeoDataGridColumnsPanel, NeoDataGridFilterPanel, NeoDataGridFilterPanelAddIcon, NeoDataGridFilterPanelDeleteIcon, NeoDataGridFilterPanelRemoveAllIcon, NeoDataGridFiltersButton, NeoDataGridHeaderLabel, NeoSelect as NeoDataGridSelect, NeoDatePicker, NeoDivider, NeoDot, NeoFilterChips, NeoFooter, NeoIconButton, NeoInfiniteScrollGrid, NeoInputField, NeoListItem, NeoListItemButton, NeoLoadingSpinner, NeoMarketplaceCard, NeoMenu, NeoMenuItem, NeoModal, NeoModalContent, NeoModalFooter, NeoModalHeader, NeoMultiBadgesCell, NeoPageContent, NeoPaginatedGrid, NeoProgressbar, NeoQuickFilter, NeoRadio, NeoSelect, NeoMenuItem as NeoSelectOption, NeoSkeleton, NeoStatusBadgeCell, NeoStatusBanner, NeoTab, NeoTabs, NeoTag, NeoToast, NeoToastButton, NeoToggle, NeoToolbar, NeoTooltip, StyledToggleButton as NeoTypologyButton, NeoTypologyControl, NeoUserAvatarCell, SortedAscendingIcon, SortedDescendingIcon, UnsortedIcon, getDataGridHeaderStyles, version };
2800
- export type { ActivityColor, ActivityEvent, ActivityHeaderSize, BreadcrumbItem, DataGridSize, NeoActivityHeaderProps, NeoActivityIndicatorCellProps, NeoAvatarProps, NeoBadgeProps, NeoBannerProps, NeoBreadcrumbLinkProps, NeoBreadcrumbsProps, NeoButtonGroupProps, NeoButtonProps, NeoCheckboxProps, NeoCodeSnippetProps, NeoDataGridCellContentProps, NeoDataGridHeaderLabelProps, NeoDataGridProps, NeoDatePickerProps, NeoDividerProps, NeoDotProps, NeoFilterChipsProps, NeoFooterProps, NeoIconButtonProps, NeoInfiniteScrollGridProps, NeoInputFieldProps, NeoListItemButtonProps, NeoListItemProps, NeoLoadingSpinnerProps, NeoMarketplaceCardProps, NeoMenuItemProps, NeoMenuProps, NeoModalContentProps, NeoModalFooterProps, NeoModalHeaderProps, NeoModalProps, NeoMultiBadgesCellProps, NeoPageContentProps, NeoPaginatedGridProps, NeoProgressbarProps, NeoQuickFilterProps, NeoRadioProps, NeoSelectProps, NeoSkeletonProps, NeoStatusBadgeCellProps, NeoStatusBannerProps, NeoTabProps, NeoTagProps, NeoToastProps, NeoToggleProps, NeoToolbarProps, NeoTooltipProps, NeoTypologyControlProps, NeoUserAvatarCellProps };
2808
+ export { ActivityScene, CIRCLE_RADIUS, NeoActivityHeader, NeoActivityIndicatorCell, NeoAvatar, NeoBadge, NeoBanner, NeoBreadcrumbLink, NeoBreadcrumbs, NeoButton, NeoButtonGroup, NeoCheckbox, NeoCodeSnippet, NeoDataGrid, NeoDataGridCellContent, NeoDataGridColumnsButton, NeoDataGridColumnsPanel, NeoDataGridFilterPanel, NeoDataGridFilterPanelAddIcon, NeoDataGridFilterPanelDeleteIcon, NeoDataGridFilterPanelRemoveAllIcon, NeoDataGridFiltersButton, NeoDataGridHeaderLabel, NeoSelect as NeoDataGridSelect, NeoDatePicker, NeoDivider, NeoDot, NeoFilterChip, NeoFooter, NeoIconButton, NeoInfiniteScrollGrid, NeoInputField, NeoListItem, NeoListItemButton, NeoLoadingSpinner, NeoMarketplaceCard, NeoMenu, NeoMenuItem, NeoModal, NeoModalContent, NeoModalFooter, NeoModalHeader, NeoMultiBadgesCell, NeoPageContent, NeoPaginatedGrid, NeoProgressbar, NeoQuickFilter, NeoRadio, NeoSelect, NeoMenuItem as NeoSelectOption, NeoSkeleton, NeoStatusBadgeCell, NeoStatusBanner, NeoTab, NeoTabs, NeoTag, NeoToast, NeoToastButton, NeoToggle, NeoToolbar, NeoTooltip, StyledToggleButton as NeoTypologyButton, NeoTypologyControl, NeoUserAvatarCell, SortedAscendingIcon, SortedDescendingIcon, UnsortedIcon, getDataGridHeaderStyles, version };
2809
+ export type { ActivityColor, ActivityEvent, ActivityHeaderSize, BreadcrumbItem, DataGridSize, NeoActivityHeaderProps, NeoActivityIndicatorCellProps, NeoAvatarProps, NeoBadgeProps, NeoBannerProps, NeoBreadcrumbLinkProps, NeoBreadcrumbsProps, NeoButtonGroupProps, NeoButtonProps, NeoCheckboxProps, NeoCodeSnippetProps, NeoDataGridCellContentProps, NeoDataGridHeaderLabelProps, NeoDataGridProps, NeoDatePickerProps, NeoDividerProps, NeoDotProps, NeoFilterChipProps, NeoFooterProps, NeoIconButtonProps, NeoInfiniteScrollGridProps, NeoInputFieldProps, NeoListItemButtonProps, NeoListItemProps, NeoLoadingSpinnerProps, NeoMarketplaceCardProps, NeoMenuItemProps, NeoMenuProps, NeoModalContentProps, NeoModalFooterProps, NeoModalHeaderProps, NeoModalProps, NeoMultiBadgesCellProps, NeoPageContentProps, NeoPaginatedGridProps, NeoProgressbarProps, NeoQuickFilterProps, NeoRadioProps, NeoSelectProps, NeoSkeletonProps, NeoStatusBadgeCellProps, NeoStatusBannerProps, NeoTabProps, NeoTagProps, NeoToastProps, NeoToggleProps, NeoToolbarProps, NeoTooltipProps, NeoTypologyControlProps, NeoUserAvatarCellProps };