@moderneinc/neo-styled-components 2.5.0-next.2238f1 → 2.5.0-next.2dcdc6

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.
@@ -12,9 +12,9 @@ export interface NeoBadgeProps extends Omit<ChipProps, 'variant' | 'size'> {
12
12
  * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system-w--correct-set-of-tokens?node-id=4091-17230
13
13
  *
14
14
  * Figma Props Mapping:
15
- * - state (Neutral|Error|Warning|Success|Info) → color (default|error|warning|success|info)
16
- * - iconLeading → icon prop (pass React element)
17
- * - iconTrailing → deleteIcon prop (pass React element)
15
+ * - Intent (Neutral|Error|Warning|Success|Info) → color (default|error|warning|success|info)
16
+ * - LeadingIcon → icon prop (pass React element)
17
+ * - TrailingIcon → deleteIcon prop (pass React element)
18
18
  * - Label → label prop
19
19
  */
20
20
  export declare const NeoBadge: {
@@ -7,9 +7,10 @@ declare module '@mui/material/ButtonBase' {
7
7
  destructive: true;
8
8
  link: true;
9
9
  linkColor: true;
10
+ tertiary: true;
10
11
  }
11
12
  }
12
- type ButtonVariant = 'primary' | 'secondary' | 'destructive' | 'link' | 'linkColor';
13
+ type ButtonVariant = 'primary' | 'secondary' | 'destructive' | 'link' | 'linkColor' | 'tertiary';
13
14
  type ButtonSize = 'small' | 'medium';
14
15
  type NeoButtonOwnProps = {
15
16
  /**
@@ -59,7 +60,7 @@ export type NeoButtonProps<C extends ElementType = typeof ButtonBase> = NeoButto
59
60
  * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=4086-7590
60
61
  *
61
62
  * Figma Props Mapping:
62
- * - Hierarchy (Primary|Secondary|Destructive|Link|Link Color) → variant prop
63
+ * - Hierarchy (Primary|Secondary|Destructive|Link|Link Color|Tertiary) → variant prop
63
64
  * - Size (Small|Medium) → size prop
64
65
  * - State=Disabled → disabled prop
65
66
  * - State=Loading → loading prop
@@ -54,6 +54,11 @@ export interface NeoFooterProps {
54
54
  * If not provided, will attempt to use DataGrid's pagination state
55
55
  */
56
56
  hasNextPage?: boolean;
57
+ /**
58
+ * Whether to show the selected row count on the left side (pagination variant)
59
+ * @default true
60
+ */
61
+ showSelected?: boolean;
57
62
  /**
58
63
  * Custom content to render in the footer
59
64
  */
@@ -103,6 +108,6 @@ export interface NeoFooterProps {
103
108
  * />
104
109
  */
105
110
  export declare const NeoFooter: {
106
- ({ variant, showShadow, loading, resultCount, onLoadMore, hasMore, paginationInfo, onPreviousPage, onNextPage, hasPreviousPage, hasNextPage, children, }: NeoFooterProps): import("react/jsx-runtime").JSX.Element;
111
+ ({ variant, showShadow, loading, resultCount, onLoadMore, hasMore, paginationInfo, onPreviousPage, onNextPage, hasPreviousPage, hasNextPage, showSelected, children, }: NeoFooterProps): import("react/jsx-runtime").JSX.Element;
107
112
  displayName: string;
108
113
  };
@@ -23,13 +23,13 @@ export interface NeoMarketplaceCardProps extends Omit<CardProps, 'children' | 't
23
23
  /**
24
24
  * Whether the card is in selected/active state
25
25
  * @default false
26
- * @figma Property 1 (Active)
26
+ * @figma State (Active)
27
27
  */
28
28
  selected?: boolean;
29
29
  /**
30
30
  * Whether the card is disabled
31
31
  * @default false
32
- * @figma Property 1 (Disabled)
32
+ * @figma State (Disabled)
33
33
  */
34
34
  disabled?: boolean;
35
35
  /**
@@ -59,10 +59,11 @@ export interface NeoMarketplaceCardProps extends Omit<CardProps, 'children' | 't
59
59
  * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=4286-1635&t=Bo58EpFmg6ILJtmv-11
60
60
  *
61
61
  * Figma Props Mapping:
62
- * - Property 1="Active" → selected={true}
63
- * - Property 1="Disabled" → disabled={true}
64
- * - Property 1="Focused" → CSS :focus-visible state (not a prop)
65
- * - Property 1="Default" → Base state (no props)
62
+ * - State="Active" → selected={true}
63
+ * - State="Disabled" → disabled={true}
64
+ * - State="Focused" → CSS :focus-visible state (not a prop)
65
+ * - State="Hover" → CSS :hover state (not a prop)
66
+ * - State="Default" → Base state (no props)
66
67
  *
67
68
  * Design Tokens Used:
68
69
  * - semanticColors.surfaces.card (#FFFFFF) - Default card background
@@ -1,26 +1,42 @@
1
- import type { ReactNode } from 'react';
1
+ import { type TreeItemProps } from '@mui/x-tree-view/TreeItem';
2
+ import { type RichTreeViewProProps } from '@mui/x-tree-view-pro/RichTreeViewPro';
3
+ import { type ReactNode } from 'react';
2
4
  /**
3
- * Props for the NeoTree component
5
+ * Extended item data that NeoTreeItem can read from the items array.
6
+ * Consumers pass these via the `items` prop on NeoTreeView.
4
7
  */
5
- export interface NeoTreeProps {
6
- /**
7
- * The content to display inside the component
8
- */
9
- children?: ReactNode;
8
+ export interface NeoTreeItemData {
9
+ id: string;
10
+ label: string;
11
+ icon?: ReactNode;
12
+ checkbox?: ReactNode;
13
+ secondaryLabel?: ReactNode;
14
+ endAction?: ReactNode;
15
+ statusIcon?: ReactNode;
16
+ children?: NeoTreeItemData[];
10
17
  }
18
+ export type NeoTreeItemProps = TreeItemProps;
11
19
  /**
12
- * NeoTree - TODO: Add component description
20
+ * NeoTreeItem - Styled tree item row with optional icon, checkbox,
21
+ * secondaryLabel, endAction, and statusIcon slots.
22
+ *
23
+ * Slot data is read from the item model (passed via `items` on NeoTreeView).
13
24
  *
14
25
  * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC?node-id=4190-30493
26
+ */
27
+ export declare const NeoTreeItem: import("react").ForwardRefExoticComponent<TreeItemProps & import("react").RefAttributes<HTMLLIElement>>;
28
+ export interface NeoTreeViewProps extends Omit<RichTreeViewProProps<NeoTreeItemData, false>, 'slots'> {
29
+ slots?: RichTreeViewProProps<NeoTreeItemData, false>['slots'];
30
+ }
31
+ /**
32
+ * NeoTreeView - Styled tree container wrapping MUI RichTreeViewPro.
15
33
  *
16
- * Figma Props Mapping:
17
- * - TODO: Document Figma property mappings
18
- * - FigmaProp → reactProp
34
+ * Provides neo-design token styling, default expand/collapse icons,
35
+ * and NeoTreeItem as the default item slot.
19
36
  *
20
- * Design Tokens Used:
21
- * - TODO: List design tokens used (e.g., semanticColors.text.primary, typography.body.medium)
37
+ * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC?node-id=4190-30493
22
38
  */
23
- export declare const NeoTree: {
24
- ({ children, ...props }: NeoTreeProps): import("react/jsx-runtime").JSX.Element;
39
+ export declare const NeoTreeView: {
40
+ ({ slots, ...props }: NeoTreeViewProps): import("react/jsx-runtime").JSX.Element;
25
41
  displayName: string;
26
42
  };
package/dist/index.d.ts CHANGED
@@ -40,6 +40,8 @@ import { DatePickerProps } from '@mui/x-date-pickers/DatePicker';
40
40
  import { PickersShortcutsItem } from '@mui/x-date-pickers/PickersShortcuts';
41
41
  import { DateRangePickerProps } from '@mui/x-date-pickers-pro/DateRangePicker';
42
42
  import { DateRange } from '@mui/x-date-pickers-pro/models';
43
+ import { TreeItemProps } from '@mui/x-tree-view/TreeItem';
44
+ import { RichTreeViewProProps } from '@mui/x-tree-view-pro/RichTreeViewPro';
43
45
 
44
46
  interface NeoFooterProps {
45
47
  /**
@@ -96,6 +98,11 @@ interface NeoFooterProps {
96
98
  * If not provided, will attempt to use DataGrid's pagination state
97
99
  */
98
100
  hasNextPage?: boolean;
101
+ /**
102
+ * Whether to show the selected row count on the left side (pagination variant)
103
+ * @default true
104
+ */
105
+ showSelected?: boolean;
99
106
  /**
100
107
  * Custom content to render in the footer
101
108
  */
@@ -145,7 +152,7 @@ interface NeoFooterProps {
145
152
  * />
146
153
  */
147
154
  declare const NeoFooter: {
148
- ({ variant, showShadow, loading, resultCount, onLoadMore, hasMore, paginationInfo, onPreviousPage, onNextPage, hasPreviousPage, hasNextPage, children, }: NeoFooterProps): react_jsx_runtime.JSX.Element;
155
+ ({ variant, showShadow, loading, resultCount, onLoadMore, hasMore, paginationInfo, onPreviousPage, onNextPage, hasPreviousPage, hasNextPage, showSelected, children, }: NeoFooterProps): react_jsx_runtime.JSX.Element;
149
156
  displayName: string;
150
157
  };
151
158
 
@@ -345,9 +352,9 @@ interface NeoBadgeProps extends Omit<ChipProps, 'variant' | 'size'> {
345
352
  * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system-w--correct-set-of-tokens?node-id=4091-17230
346
353
  *
347
354
  * Figma Props Mapping:
348
- * - state (Neutral|Error|Warning|Success|Info) → color (default|error|warning|success|info)
349
- * - iconLeading → icon prop (pass React element)
350
- * - iconTrailing → deleteIcon prop (pass React element)
355
+ * - Intent (Neutral|Error|Warning|Success|Info) → color (default|error|warning|success|info)
356
+ * - LeadingIcon → icon prop (pass React element)
357
+ * - TrailingIcon → deleteIcon prop (pass React element)
351
358
  * - Label → label prop
352
359
  */
353
360
  declare const NeoBadge: {
@@ -489,9 +496,10 @@ declare module '@mui/material/ButtonBase' {
489
496
  destructive: true;
490
497
  link: true;
491
498
  linkColor: true;
499
+ tertiary: true;
492
500
  }
493
501
  }
494
- type ButtonVariant = 'primary' | 'secondary' | 'destructive' | 'link' | 'linkColor';
502
+ type ButtonVariant = 'primary' | 'secondary' | 'destructive' | 'link' | 'linkColor' | 'tertiary';
495
503
  type ButtonSize = 'small' | 'medium';
496
504
  type NeoButtonOwnProps = {
497
505
  /**
@@ -541,7 +549,7 @@ type NeoButtonProps<C extends ElementType = typeof ButtonBase__default> = NeoBut
541
549
  * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=4086-7590
542
550
  *
543
551
  * Figma Props Mapping:
544
- * - Hierarchy (Primary|Secondary|Destructive|Link|Link Color) → variant prop
552
+ * - Hierarchy (Primary|Secondary|Destructive|Link|Link Color|Tertiary) → variant prop
545
553
  * - Size (Small|Medium) → size prop
546
554
  * - State=Disabled → disabled prop
547
555
  * - State=Loading → loading prop
@@ -1658,6 +1666,41 @@ declare const NeoModalFooter: {
1658
1666
  displayName: string;
1659
1667
  };
1660
1668
 
1669
+ interface NeoNavigationItemProps extends Omit<ButtonBaseProps, 'children'> {
1670
+ /**
1671
+ * Icon element to display
1672
+ */
1673
+ icon?: ReactNode;
1674
+ /**
1675
+ * Text label below the icon
1676
+ */
1677
+ label?: string;
1678
+ /**
1679
+ * Whether the item is selected/active
1680
+ * @figma State (Selected)
1681
+ * @default false
1682
+ */
1683
+ selected?: boolean;
1684
+ /**
1685
+ * Optional tag badge content (e.g., count)
1686
+ * @figma Tag
1687
+ */
1688
+ tag?: string;
1689
+ /**
1690
+ * Additional content
1691
+ */
1692
+ children?: ReactNode;
1693
+ }
1694
+ /**
1695
+ * NeoNavigationItem - Vertical navigation item with icon, label, and optional tag
1696
+ *
1697
+ * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=8455-6120
1698
+ */
1699
+ declare const NeoNavigationItem: {
1700
+ ({ icon, label, selected, tag, children, ...props }: NeoNavigationItemProps): react_jsx_runtime.JSX.Element;
1701
+ displayName: string;
1702
+ };
1703
+
1661
1704
  /**
1662
1705
  * Breadcrumb item configuration
1663
1706
  */
@@ -2622,13 +2665,13 @@ interface NeoMarketplaceCardProps extends Omit<CardProps, 'children' | 'title'>
2622
2665
  /**
2623
2666
  * Whether the card is in selected/active state
2624
2667
  * @default false
2625
- * @figma Property 1 (Active)
2668
+ * @figma State (Active)
2626
2669
  */
2627
2670
  selected?: boolean;
2628
2671
  /**
2629
2672
  * Whether the card is disabled
2630
2673
  * @default false
2631
- * @figma Property 1 (Disabled)
2674
+ * @figma State (Disabled)
2632
2675
  */
2633
2676
  disabled?: boolean;
2634
2677
  /**
@@ -2658,10 +2701,11 @@ interface NeoMarketplaceCardProps extends Omit<CardProps, 'children' | 'title'>
2658
2701
  * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=4286-1635&t=Bo58EpFmg6ILJtmv-11
2659
2702
  *
2660
2703
  * Figma Props Mapping:
2661
- * - Property 1="Active" → selected={true}
2662
- * - Property 1="Disabled" → disabled={true}
2663
- * - Property 1="Focused" → CSS :focus-visible state (not a prop)
2664
- * - Property 1="Default" → Base state (no props)
2704
+ * - State="Active" → selected={true}
2705
+ * - State="Disabled" → disabled={true}
2706
+ * - State="Focused" → CSS :focus-visible state (not a prop)
2707
+ * - State="Hover" → CSS :hover state (not a prop)
2708
+ * - State="Default" → Base state (no props)
2665
2709
  *
2666
2710
  * Design Tokens Used:
2667
2711
  * - semanticColors.surfaces.card (#FFFFFF) - Default card background
@@ -2816,6 +2860,46 @@ declare const NeoDatePicker: {
2816
2860
  displayName: string;
2817
2861
  };
2818
2862
 
2863
+ /**
2864
+ * Extended item data that NeoTreeItem can read from the items array.
2865
+ * Consumers pass these via the `items` prop on NeoTreeView.
2866
+ */
2867
+ interface NeoTreeItemData {
2868
+ id: string;
2869
+ label: string;
2870
+ icon?: ReactNode;
2871
+ checkbox?: ReactNode;
2872
+ secondaryLabel?: ReactNode;
2873
+ endAction?: ReactNode;
2874
+ statusIcon?: ReactNode;
2875
+ children?: NeoTreeItemData[];
2876
+ }
2877
+ type NeoTreeItemProps = TreeItemProps;
2878
+ /**
2879
+ * NeoTreeItem - Styled tree item row with optional icon, checkbox,
2880
+ * secondaryLabel, endAction, and statusIcon slots.
2881
+ *
2882
+ * Slot data is read from the item model (passed via `items` on NeoTreeView).
2883
+ *
2884
+ * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC?node-id=4190-30493
2885
+ */
2886
+ declare const NeoTreeItem: React$1.ForwardRefExoticComponent<TreeItemProps & React$1.RefAttributes<HTMLLIElement>>;
2887
+ interface NeoTreeViewProps extends Omit<RichTreeViewProProps<NeoTreeItemData, false>, 'slots'> {
2888
+ slots?: RichTreeViewProProps<NeoTreeItemData, false>['slots'];
2889
+ }
2890
+ /**
2891
+ * NeoTreeView - Styled tree container wrapping MUI RichTreeViewPro.
2892
+ *
2893
+ * Provides neo-design token styling, default expand/collapse icons,
2894
+ * and NeoTreeItem as the default item slot.
2895
+ *
2896
+ * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC?node-id=4190-30493
2897
+ */
2898
+ declare const NeoTreeView: {
2899
+ ({ slots, ...props }: NeoTreeViewProps): react_jsx_runtime.JSX.Element;
2900
+ displayName: string;
2901
+ };
2902
+
2819
2903
  /**
2820
2904
  * @moderneinc/neo-styled-components
2821
2905
  *
@@ -2835,5 +2919,5 @@ declare module '@mui/x-data-grid-pro' {
2835
2919
 
2836
2920
  declare const version: string
2837
2921
 
2838
- 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, NeoSearchChip, 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 };
2839
- 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, NeoSearchChipProps, NeoSelectProps, NeoSkeletonProps, NeoStatusBadgeCellProps, NeoStatusBannerProps, NeoTabProps, NeoTagProps, NeoToastProps, NeoToggleProps, NeoToolbarProps, NeoTooltipProps, NeoTypologyControlProps, NeoUserAvatarCellProps };
2922
+ 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, NeoNavigationItem, NeoPageContent, NeoPaginatedGrid, NeoProgressbar, NeoQuickFilter, NeoRadio, NeoSearchChip, NeoSelect, NeoMenuItem as NeoSelectOption, NeoSkeleton, NeoStatusBadgeCell, NeoStatusBanner, NeoTab, NeoTabs, NeoTag, NeoToast, NeoToastButton, NeoToggle, NeoToolbar, NeoTooltip, NeoTreeItem, NeoTreeView, StyledToggleButton as NeoTypologyButton, NeoTypologyControl, NeoUserAvatarCell, SortedAscendingIcon, SortedDescendingIcon, UnsortedIcon, getDataGridHeaderStyles, version };
2923
+ 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, NeoNavigationItemProps, NeoPageContentProps, NeoPaginatedGridProps, NeoProgressbarProps, NeoQuickFilterProps, NeoRadioProps, NeoSearchChipProps, NeoSelectProps, NeoSkeletonProps, NeoStatusBadgeCellProps, NeoStatusBannerProps, NeoTabProps, NeoTagProps, NeoToastProps, NeoToggleProps, NeoToolbarProps, NeoTooltipProps, NeoTreeItemData, NeoTreeItemProps, NeoTreeViewProps, NeoTypologyControlProps, NeoUserAvatarCellProps };