@moderneinc/neo-styled-components 5.0.0-next.bd2a49 → 5.0.0-next.d2d555

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.
Files changed (37) hide show
  1. package/dist/Alert/Alert.d.ts +9 -1
  2. package/dist/Badge/Badge.d.ts +16 -2
  3. package/dist/DataGrid/DataGrid.d.ts +1 -1
  4. package/dist/DataGrid/DataGrid.styles.d.ts +3 -0
  5. package/dist/DataGridCell/DataGridCell.d.ts +0 -16
  6. package/dist/DataGridHeaderCell/DataGridHeaderCell.d.ts +0 -37
  7. package/dist/DatePickerListItem/DatePickerListItem.d.ts +2 -22
  8. package/dist/DatePickerMenu/DatePickerMenu.d.ts +2 -22
  9. package/dist/InputField/InputField.d.ts +12 -1
  10. package/dist/ListItemButton/ListItemButton.d.ts +12 -1
  11. package/dist/MenuItem/MenuItem.d.ts +1 -1
  12. package/dist/NavigationAvatar/NavigationAvatar.d.ts +2 -2
  13. package/dist/NavigationItem/NavigationItem.d.ts +14 -2
  14. package/dist/NeoActionsCell/NeoActionsCell.d.ts +9 -0
  15. package/dist/NeoAvatarCell/NeoAvatarCell.d.ts +27 -0
  16. package/dist/NeoIconCell/NeoIconCell.d.ts +14 -0
  17. package/dist/NeoLogoCell/NeoLogoCell.d.ts +24 -0
  18. package/dist/NeoProgressCell/NeoProgressCell.d.ts +21 -0
  19. package/dist/NeoStatusCell/NeoStatusCell.d.ts +30 -0
  20. package/dist/PageContent/PageContent.d.ts +12 -1
  21. package/dist/RadioButtonWithText/RadioButtonWithText.d.ts +2 -22
  22. package/dist/SelectField/SelectField.d.ts +64 -0
  23. package/dist/SideNav/SideNav.d.ts +2 -22
  24. package/dist/TabPanel/TabPanel.d.ts +47 -0
  25. package/dist/Table/Table.d.ts +64 -0
  26. package/dist/Tag/Tag.d.ts +1 -2
  27. package/dist/ToggleButton/ToggleButton.d.ts +13 -18
  28. package/dist/ToggleButtonGroup/ToggleButtonGroup.d.ts +26 -0
  29. package/dist/ToggleButtonWithText/ToggleButtonWithText.d.ts +2 -22
  30. package/dist/TopNav/TopNav.d.ts +2 -22
  31. package/dist/TourModal/TourModal.d.ts +2 -22
  32. package/dist/index.d.ts +499 -94
  33. package/dist/index.esm.js +800 -335
  34. package/dist/index.esm.js.map +1 -1
  35. package/dist/index.js +816 -332
  36. package/dist/index.js.map +1 -1
  37. package/package.json +1 -1
@@ -2,6 +2,7 @@ import { type AlertProps } from '@mui/material/Alert';
2
2
  import type { ReactNode } from 'react';
3
3
  type Intent = 'success' | 'error' | 'warning' | 'offline' | 'info';
4
4
  type AlertType = 'outlined' | 'filled';
5
+ type AlertSize = 'default' | 'compact';
5
6
  export interface NeoAlertProps extends Omit<AlertProps, 'severity' | 'variant' | 'color'> {
6
7
  /**
7
8
  * The intent/purpose of the alert
@@ -15,6 +16,13 @@ export interface NeoAlertProps extends Omit<AlertProps, 'severity' | 'variant' |
15
16
  * @figma Type
16
17
  */
17
18
  type?: AlertType;
19
+ /**
20
+ * Vertical density. `default` is page-level (64px fixed height,
21
+ * supports title + description). `compact` is inline-panel use
22
+ * (auto height, 40px min, single-line optimized for terse messages).
23
+ * @default "default"
24
+ */
25
+ size?: AlertSize;
18
26
  /**
19
27
  * The title text displayed in the alert
20
28
  */
@@ -44,7 +52,7 @@ export interface NeoAlertProps extends Omit<AlertProps, 'severity' | 'variant' |
44
52
  * - Show Button → action prop presence
45
53
  */
46
54
  export declare const NeoAlert: {
47
- ({ intent, type, title, description, icon, action, ...props }: NeoAlertProps): import("react/jsx-runtime").JSX.Element;
55
+ ({ intent, type, size, title, description, icon, action, ...props }: NeoAlertProps): import("react/jsx-runtime").JSX.Element;
48
56
  displayName: string;
49
57
  };
50
58
  export {};
@@ -1,10 +1,23 @@
1
1
  import { type ChipProps } from '@mui/material/Chip';
2
+ type BadgeSize = 'small' | 'medium';
3
+ type BadgeVariant = 'filled' | 'outlined';
2
4
  export interface NeoBadgeProps extends Omit<ChipProps, 'variant' | 'size'> {
3
5
  /**
4
- * The color/state of the badge
6
+ * The color/state of the badge. Ignored when `variant="outlined"`.
5
7
  * @default "default"
6
8
  */
7
9
  color?: 'default' | 'error' | 'warning' | 'success' | 'info';
10
+ /**
11
+ * Visual density of the badge. `small` is 20px tall, `medium` is 24px tall.
12
+ * @default "medium"
13
+ */
14
+ size?: BadgeSize;
15
+ /**
16
+ * Visual treatment. `filled` uses a per-color tinted background;
17
+ * `outlined` uses a transparent background with a neutral secondary border.
18
+ * @default "filled"
19
+ */
20
+ variant?: BadgeVariant;
8
21
  }
9
22
  /**
10
23
  * NeoBadge - Status badge component based on MUI Chip
@@ -18,6 +31,7 @@ export interface NeoBadgeProps extends Omit<ChipProps, 'variant' | 'size'> {
18
31
  * - Label → label prop
19
32
  */
20
33
  export declare const NeoBadge: {
21
- (props: NeoBadgeProps): import("react/jsx-runtime").JSX.Element;
34
+ ({ size, variant, ...props }: NeoBadgeProps): import("react/jsx-runtime").JSX.Element;
22
35
  displayName: string;
23
36
  };
37
+ export {};
@@ -38,7 +38,7 @@ export interface NeoDataGridProps extends Omit<DataGridProProps, 'slots'> {
38
38
  * - `size` → Row heights (compact: 42px, standard: 48px, comfortable: 56px) and header heights (compact: 38px, standard: 44px, comfortable: 52px)
39
39
  *
40
40
  * Design tokens used:
41
- * - Colors: semanticColors.border.primary, semanticColors.background.*
41
+ * - Colors: semanticColors.border.primary, semanticColors.surfaces.dataGrid.*
42
42
  * - Typography: typography.fontFamily.body, typography.fontSize.sm
43
43
  * - Spacing: spacing.spacing_*
44
44
  *
@@ -0,0 +1,3 @@
1
+ import type { SxProps, Theme } from '@mui/material/styles';
2
+ export declare const getDataGridHeaderStyles: () => SxProps<Theme>;
3
+ export declare const getDataGridRowStyles: () => SxProps<Theme>;
@@ -45,22 +45,6 @@ export declare const NeoDataGridCellContent: {
45
45
  ({ children, ...props }: NeoDataGridCellContentProps): import("react/jsx-runtime").JSX.Element;
46
46
  displayName: string;
47
47
  };
48
- /**
49
- * Utility function to get DataGrid sx styles for consistent cell appearance
50
- *
51
- * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=4212-41631
52
- *
53
- * Apply this to DataGrid's `sx` prop to ensure cells are properly aligned and styled.
54
- *
55
- * @param size - Row size variant (affects row height)
56
- * @returns SxProps for DataGrid
57
- *
58
- * @example
59
- * <DataGrid
60
- * rows={rows}
61
- * columns={columns}
62
- * />
63
- */
64
48
  /**
65
49
  * Row height configuration for DataGrid size variants (from Figma specs)
66
50
  * - compact: 42px
@@ -1,4 +1,3 @@
1
- import type { SxProps, Theme } from '@mui/material/styles';
2
1
  /**
3
2
  * Sort icon components for MUI DataGrid slots
4
3
  *
@@ -7,39 +6,3 @@ import type { SxProps, Theme } from '@mui/material/styles';
7
6
  export declare function SortedDescendingIcon(): import("react/jsx-runtime").JSX.Element;
8
7
  export declare function SortedAscendingIcon(): import("react/jsx-runtime").JSX.Element;
9
8
  export declare function UnsortedIcon(): import("react/jsx-runtime").JSX.Element;
10
- /**
11
- * Utility function to get DataGrid sx styles for header cells
12
- *
13
- * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=4212-41618
14
- *
15
- * Figma prop mappings:
16
- * - `size` → `size`: Figma "condensed" → MUI 'compact', Figma "default" → MUI 'standard', Figma "relaxed" → MUI 'comfortable'
17
- *
18
- * Design tokens used:
19
- * - Background: colors.grey[50] (#f9fafb)
20
- * - Border: semanticColors.border.primary
21
- * - Padding: 12px vertical, 24px horizontal
22
- * - Gap: 12px
23
- *
24
- *
25
- * @param size - Header row size variant (affects header cell height)
26
- * @returns SxProps for DataGrid header cells
27
- *
28
- * @example
29
- * import { getDataGridHeaderStyles, SortedDescendingIcon, SortedAscendingIcon, UnsortedIcon } from './DataGridHeaderCell'
30
- *
31
- * <DataGrid
32
- * columnHeaderHeight={38} // for compact (Figma: condensed)
33
- * sx={{
34
- * ...getDataGridHeaderStyles(),
35
- * }}
36
- * slots={{
37
- * columnSortedDescendingIcon: SortedDescendingIcon,
38
- * columnSortedAscendingIcon: SortedAscendingIcon,
39
- * columnUnsortedIcon: UnsortedIcon,
40
- * }}
41
- * rows={rows}
42
- * columns={columns}
43
- * />
44
- */
45
- export declare const getDataGridHeaderStyles: () => SxProps<Theme>;
@@ -1,26 +1,6 @@
1
- import type { ReactNode } from 'react';
2
1
  /**
3
- * Props for the NeoDatePickerListItem component
4
- */
5
- export interface NeoDatePickerListItemProps {
6
- /**
7
- * The content to display inside the component
8
- */
9
- children?: ReactNode;
10
- }
11
- /**
12
- * NeoDatePickerListItem - TODO: Add component description
2
+ * NeoDatePickerListItem
13
3
  *
14
4
  * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC?node-id=4176-8521
15
- *
16
- * Figma Props Mapping:
17
- * - TODO: Document Figma property mappings
18
- * - FigmaProp → reactProp
19
- *
20
- * Design Tokens Used:
21
- * - TODO: List design tokens used (e.g., semanticColors.text.primary, typography.body.medium)
22
5
  */
23
- export declare const NeoDatePickerListItem: {
24
- ({ children, ...props }: NeoDatePickerListItemProps): import("react/jsx-runtime").JSX.Element;
25
- displayName: string;
26
- };
6
+ export declare const NeoDatePickerListItem: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1,26 +1,6 @@
1
- import type { ReactNode } from 'react';
2
1
  /**
3
- * Props for the NeoDatePickerMenu component
4
- */
5
- export interface NeoDatePickerMenuProps {
6
- /**
7
- * The content to display inside the component
8
- */
9
- children?: ReactNode;
10
- }
11
- /**
12
- * NeoDatePickerMenu - TODO: Add component description
2
+ * NeoDatePickerMenu
13
3
  *
14
4
  * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC?node-id=4176-8593
15
- *
16
- * Figma Props Mapping:
17
- * - TODO: Document Figma property mappings
18
- * - FigmaProp → reactProp
19
- *
20
- * Design Tokens Used:
21
- * - TODO: List design tokens used (e.g., semanticColors.text.primary, typography.body.medium)
22
5
  */
23
- export declare const NeoDatePickerMenu: {
24
- ({ children, ...props }: NeoDatePickerMenuProps): import("react/jsx-runtime").JSX.Element;
25
- displayName: string;
26
- };
6
+ export declare const NeoDatePickerMenu: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1,6 +1,18 @@
1
1
  import { type InputBaseProps } from '@mui/material/InputBase';
2
2
  import type { ReactNode } from 'react';
3
3
  type InputFieldSize = 'small' | 'medium';
4
+ export type { InputFieldSize as NeoInputFieldSize };
5
+ export declare const StyledFormControl: import("@emotion/styled").StyledComponent<import("@mui/material/FormControl").FormControlOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style" | "color" | "margin" | "size" | "children" | "sx" | "className" | "classes" | "disabled" | "variant" | "error" | "fullWidth" | "required" | "focused" | "hiddenLabel"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
6
+ size?: InputFieldSize;
7
+ }, {}, {}>;
8
+ export declare const StyledInputLabel: import("@emotion/styled").StyledComponent<import("@mui/material/InputLabel").InputLabelOwnProps & Pick<import("@mui/material/FormLabel").FormLabelOwnProps, "color" | "filled"> & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "style" | "color" | "margin" | "size" | "children" | "sx" | "className" | "classes" | "disabled" | "variant" | "filled" | "error" | "required" | "focused" | "disableAnimation" | "shrink"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
9
+ size?: InputFieldSize;
10
+ infoIcon?: boolean;
11
+ }, {}, {}>;
12
+ export declare const InfoIconWrapper: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
13
+ export declare const StyledFormHelperText: import("@emotion/styled").StyledComponent<import("@mui/material/FormHelperText").FormHelperTextOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "style" | "margin" | "children" | "sx" | "className" | "classes" | "disabled" | "variant" | "filled" | "error" | "required" | "focused"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
14
+ size?: InputFieldSize;
15
+ }, {}, {}>;
4
16
  export interface NeoInputFieldProps extends Omit<InputBaseProps, 'size'> {
5
17
  /**
6
18
  * The size of the input field
@@ -87,4 +99,3 @@ export declare const NeoInputField: {
87
99
  ({ size, destructive, label, required, infoIcon, helperText, errorMessage, startIcon, endIcon, disabled, id, ...props }: NeoInputFieldProps): import("react/jsx-runtime").JSX.Element;
88
100
  displayName: string;
89
101
  };
90
- export {};
@@ -1,4 +1,5 @@
1
1
  import type { ListItemButtonProps } from '@mui/material/ListItemButton';
2
+ type ListItemButtonVariant = 'card' | 'nav';
2
3
  /**
3
4
  * Props for the NeoListItemButton component
4
5
  */
@@ -15,6 +16,15 @@ export interface NeoListItemButtonProps extends ListItemButtonProps {
15
16
  * @figma property1="Disabled"
16
17
  */
17
18
  disabled?: boolean;
19
+ /**
20
+ * Visual treatment.
21
+ * - `card` (default): bordered card-style for settings/radio-list patterns.
22
+ * Expects ListItemIcon + ListItemText children for full styling support.
23
+ * - `nav`: borderless sidebar nav style with subtle hover/selected
24
+ * highlights. Renders children inline; works with plain text.
25
+ * @default 'card'
26
+ */
27
+ variant?: ListItemButtonVariant;
18
28
  }
19
29
  /**
20
30
  * NeoListItemButton - Selectable list item with icon and text
@@ -60,6 +70,7 @@ export interface NeoListItemButtonProps extends ListItemButtonProps {
60
70
  * - colors.grey[50] (#f9fafb) - Disabled background
61
71
  */
62
72
  export declare const NeoListItemButton: {
63
- ({ children, selected, disabled, ...props }: NeoListItemButtonProps): import("react/jsx-runtime").JSX.Element;
73
+ ({ children, selected, disabled, variant, ...props }: NeoListItemButtonProps): import("react/jsx-runtime").JSX.Element;
64
74
  displayName: string;
65
75
  };
76
+ export {};
@@ -27,7 +27,7 @@ export interface NeoMenuItemProps extends MenuItemProps {
27
27
  /**
28
28
  * NeoMenuItem - Menu item component based on MUI MenuItem
29
29
  *
30
- * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=4159-8584
30
+ * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025-26?node-id=4159-8714
31
31
  *
32
32
  * @example
33
33
  * ```tsx
@@ -4,8 +4,8 @@ export interface NeoNavigationAvatarProps extends Omit<NeoGeneralAvatarProps, 's
4
4
  /**
5
5
  * NeoNavigationAvatar - Compact avatar for navigation contexts
6
6
  *
7
- * Wraps NeoGeneralAvatar (size="small") in a 44px container with 6px padding,
8
- * providing a larger interactive area for navigation UI.
7
+ * Wraps NeoGeneralAvatar (size="small") in a 40px container,
8
+ * providing an interactive area for navigation UI.
9
9
  *
10
10
  * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC?node-id=11325-102
11
11
  */
@@ -1,5 +1,6 @@
1
1
  import ButtonBase, { type ButtonBaseProps } from '@mui/material/ButtonBase';
2
2
  import type { ComponentPropsWithoutRef, ElementType, ReactNode } from 'react';
3
+ import type { NeoTagOwnProps } from '../Tag/Tag';
3
4
  type NeoNavigationItemOwnProps = {
4
5
  /**
5
6
  * Icon element to display
@@ -16,10 +17,21 @@ type NeoNavigationItemOwnProps = {
16
17
  */
17
18
  selected?: boolean;
18
19
  /**
19
- * Optional tag badge content (e.g., count)
20
+ * Optional tag badge content (e.g., "Beta")
20
21
  * @figma Tag
21
22
  */
22
23
  tag?: string;
24
+ /**
25
+ * Slot props for internal sub-components.
26
+ */
27
+ slotProps?: {
28
+ /**
29
+ * Props forwarded to the NeoTag badge rendered when `tag` is set.
30
+ * Override `intent`, `variant`, or `size` to change appearance — e.g.
31
+ * `{ variant: 'outlined', intent: 'default' }` for a calmer grey badge.
32
+ */
33
+ badge?: NeoTagOwnProps;
34
+ };
23
35
  /**
24
36
  * Additional content
25
37
  */
@@ -33,7 +45,7 @@ export type NeoNavigationItemProps<C extends ElementType = typeof ButtonBase> =
33
45
  *
34
46
  * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=8455-6120
35
47
  */
36
- export declare function NeoNavigationItem<C extends ElementType = typeof ButtonBase>({ icon, label, selected, tag, children, ...props }: NeoNavigationItemProps<C>): import("react/jsx-runtime").JSX.Element;
48
+ export declare function NeoNavigationItem<C extends ElementType = typeof ButtonBase>({ icon, label, selected, tag, slotProps, children, ...props }: NeoNavigationItemProps<C>): import("react/jsx-runtime").JSX.Element;
37
49
  export declare namespace NeoNavigationItem {
38
50
  var displayName: string;
39
51
  }
@@ -0,0 +1,9 @@
1
+ import type { GridRenderCellParams } from '@mui/x-data-grid';
2
+ import type { ReactNode } from 'react';
3
+ export interface NeoActionsCellProps extends Omit<GridRenderCellParams, 'api'> {
4
+ api?: GridRenderCellParams['api'];
5
+ children: ReactNode;
6
+ position?: 'bottom-end' | 'bottom-start' | 'top-end' | 'top-start';
7
+ suppressChildrenValidation?: boolean;
8
+ }
9
+ export declare function NeoActionsCell(props: NeoActionsCellProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,27 @@
1
+ type NeoAvatarCellBase = {
2
+ disabled?: boolean;
3
+ };
4
+ type NeoAvatarCellEmpty = NeoAvatarCellBase & {
5
+ empty: true;
6
+ name?: never;
7
+ src?: never;
8
+ colorIndex?: never;
9
+ label?: never;
10
+ };
11
+ type NeoAvatarCellContent = NeoAvatarCellBase & {
12
+ empty?: false;
13
+ name?: string;
14
+ src?: string;
15
+ colorIndex?: number;
16
+ label?: string;
17
+ };
18
+ export type NeoAvatarCellProps = NeoAvatarCellEmpty | NeoAvatarCellContent;
19
+ /**
20
+ * NeoAvatarCell — DataGrid cell displaying a user avatar with optional label.
21
+ * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC?node-id=13425-1725
22
+ */
23
+ export declare const NeoAvatarCell: {
24
+ ({ name, src, colorIndex, label, disabled, empty, }: NeoAvatarCellProps): import("react/jsx-runtime").JSX.Element;
25
+ displayName: string;
26
+ };
27
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface NeoIconCellProps {
3
+ icon?: ReactNode;
4
+ ariaLabel?: string;
5
+ disabled?: boolean;
6
+ }
7
+ /**
8
+ * NeoIconCell — Icon cell for DataGrid. Renders an icon centered in the cell.
9
+ * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=13272-9345
10
+ */
11
+ export declare const NeoIconCell: {
12
+ ({ icon, ariaLabel, disabled }: NeoIconCellProps): import("react/jsx-runtime").JSX.Element | null;
13
+ displayName: string;
14
+ };
@@ -0,0 +1,24 @@
1
+ type NeoLogoCellNoSrc = {
2
+ src?: undefined;
3
+ alt?: string;
4
+ disabled?: boolean;
5
+ };
6
+ type NeoLogoCellWithSrc = {
7
+ src: string;
8
+ alt: string;
9
+ disabled?: boolean;
10
+ };
11
+ export type NeoLogoCellProps = NeoLogoCellNoSrc | NeoLogoCellWithSrc;
12
+ /**
13
+ * NeoLogoCell — DataGrid cell displaying a raster or SVG logo image.
14
+ * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=13278-9558
15
+ *
16
+ * Kept separate from NeoIconCell to match Neo's Icon/Logo component split:
17
+ * - NeoIconCell: MUI SvgIcon components
18
+ * - NeoLogoCell: raster or SVG image URLs (img tag)
19
+ */
20
+ export declare const NeoLogoCell: {
21
+ ({ src, alt, disabled }: NeoLogoCellProps): import("react/jsx-runtime").JSX.Element;
22
+ displayName: string;
23
+ };
24
+ export {};
@@ -0,0 +1,21 @@
1
+ type NeoProgressCellBase = {
2
+ disabled?: boolean;
3
+ };
4
+ type NeoProgressCellEmpty = NeoProgressCellBase & {
5
+ empty: true;
6
+ value?: never;
7
+ };
8
+ type NeoProgressCellContent = NeoProgressCellBase & {
9
+ empty?: false;
10
+ value?: number;
11
+ };
12
+ export type NeoProgressCellProps = NeoProgressCellEmpty | NeoProgressCellContent;
13
+ /**
14
+ * NeoProgressCell — DataGrid cell displaying a linear progress indicator.
15
+ * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=13425-5378
16
+ */
17
+ export declare const NeoProgressCell: {
18
+ ({ value, disabled, empty, }: NeoProgressCellProps): import("react/jsx-runtime").JSX.Element;
19
+ displayName: string;
20
+ };
21
+ export {};
@@ -0,0 +1,30 @@
1
+ import type { ReactNode } from 'react';
2
+ export type NeoStatusCellVariant = 'success' | 'error' | 'warning' | 'info' | 'neutral';
3
+ type NeoStatusCellBase = {
4
+ disabled?: boolean;
5
+ };
6
+ type NeoStatusCellEmpty = NeoStatusCellBase & {
7
+ empty: true;
8
+ label?: never;
9
+ icon?: never;
10
+ variant?: never;
11
+ details?: never;
12
+ };
13
+ type NeoStatusCellContent = NeoStatusCellBase & {
14
+ empty?: false;
15
+ label: string;
16
+ icon?: ReactNode;
17
+ variant?: NeoStatusCellVariant;
18
+ /** Error details shown in a hover tooltip. Clipboard actions should be handled by the consuming app. */
19
+ details?: string;
20
+ };
21
+ export type NeoStatusCellProps = NeoStatusCellEmpty | NeoStatusCellContent;
22
+ /**
23
+ * NeoStatusCell — DataGrid cell displaying an icon + label chip with optional error tooltip.
24
+ * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=13272-8705
25
+ */
26
+ export declare const NeoStatusCell: {
27
+ ({ icon, label, details, disabled, variant, empty, }: NeoStatusCellProps): import("react/jsx-runtime").JSX.Element;
28
+ displayName: string;
29
+ };
30
+ export {};
@@ -73,6 +73,17 @@ export interface NeoPageContentProps extends BoxProps {
73
73
  * @default false
74
74
  */
75
75
  disableGutters?: boolean;
76
+ /**
77
+ * Page layout mode.
78
+ * - `default`: standard centered/max-width-constrained content with
79
+ * gutters. Best for content-driven pages (settings, forms, lists).
80
+ * - `fullBleed`: removes max-width and horizontal/bottom padding, lets
81
+ * the content area flex-fill the viewport. Best for full-height
82
+ * layouts (sidebar + panel canvases, builders, explorers). Title
83
+ * and breadcrumbs still render — they sit at the leading edge.
84
+ * @default 'default'
85
+ */
86
+ layout?: 'default' | 'fullBleed';
76
87
  /**
77
88
  * Loading state - shows spinner while content loads
78
89
  * @default false
@@ -143,7 +154,7 @@ export interface NeoPageContentProps extends BoxProps {
143
154
  * </NeoPageContent>
144
155
  * ```
145
156
  */
146
- export declare function NeoPageContent({ pageTitle, subtitle, breadcrumbs, action, sticky, contentMaxWidth, centerContent, disableGutters, isLoading, showBackToTop, children, sx, ...boxProps }: NeoPageContentProps): import("react/jsx-runtime").JSX.Element;
157
+ export declare function NeoPageContent({ pageTitle, subtitle, breadcrumbs, action, sticky, contentMaxWidth: contentMaxWidthProp, centerContent, disableGutters: disableGuttersProp, isLoading, showBackToTop, layout, children, sx, ...boxProps }: NeoPageContentProps): import("react/jsx-runtime").JSX.Element;
147
158
  export declare namespace NeoPageContent {
148
159
  var displayName: string;
149
160
  }
@@ -1,26 +1,6 @@
1
- import type { ReactNode } from 'react';
2
1
  /**
3
- * Props for the NeoRadioButtonWithText component
4
- */
5
- export interface NeoRadioButtonWithTextProps {
6
- /**
7
- * The content to display inside the component
8
- */
9
- children?: ReactNode;
10
- }
11
- /**
12
- * NeoRadioButtonWithText - TODO: Add component description
2
+ * NeoRadioButtonWithText
13
3
  *
14
4
  * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC?node-id=11565-7682
15
- *
16
- * Figma Props Mapping:
17
- * - TODO: Document Figma property mappings
18
- * - FigmaProp → reactProp
19
- *
20
- * Design Tokens Used:
21
- * - TODO: List design tokens used (e.g., semanticColors.text.primary, typography.body.medium)
22
5
  */
23
- export declare const NeoRadioButtonWithText: {
24
- ({ children, ...props }: NeoRadioButtonWithTextProps): import("react/jsx-runtime").JSX.Element;
25
- displayName: string;
26
- };
6
+ export declare const NeoRadioButtonWithText: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1,64 @@
1
+ import type { SelectChangeEvent, SelectProps } from '@mui/material/Select';
2
+ import type { ReactNode } from 'react';
3
+ import { type NeoInputFieldSize } from '../InputField/InputField';
4
+ import { NeoSelectOption } from '../Select/Select';
5
+ export interface NeoSelectFieldOption {
6
+ value: string | number;
7
+ label: ReactNode;
8
+ disabled?: boolean;
9
+ }
10
+ export interface NeoSelectFieldProps extends Omit<SelectProps, 'size' | 'variant' | 'error' | 'children'> {
11
+ /**
12
+ * Form-control size.
13
+ * @default 'medium'
14
+ */
15
+ size?: NeoInputFieldSize;
16
+ /**
17
+ * Show error/destructive state with red label + helper text styling.
18
+ * @default false
19
+ */
20
+ destructive?: boolean;
21
+ /** Label text rendered above the select. */
22
+ label?: string;
23
+ /** Show required indicator (asterisk) next to the label. @default false */
24
+ required?: boolean;
25
+ /** Optional info icon rendered next to the label. */
26
+ infoIcon?: ReactNode;
27
+ /** Helper text rendered below the select (normal state). */
28
+ helperText?: string;
29
+ /**
30
+ * Error message rendered below the select when `destructive` is true.
31
+ * Takes precedence over helperText when destructive.
32
+ */
33
+ errorMessage?: string;
34
+ /**
35
+ * Convenience option list. Each entry becomes a NeoSelectOption.
36
+ * Use `children` instead for custom option content.
37
+ */
38
+ options?: NeoSelectFieldOption[];
39
+ /** Custom option content. Overrides `options` if both are provided. */
40
+ children?: ReactNode;
41
+ }
42
+ /**
43
+ * NeoSelectField — composite of NeoInputField's form chrome (label,
44
+ * helper text, error state) wrapped around NeoSelect. Mirrors the
45
+ * MUI `<TextField select>` ergonomics with Neo design tokens, so
46
+ * consumers don't have to compose the two manually.
47
+ *
48
+ * @example
49
+ * <NeoSelectField
50
+ * label="Response format"
51
+ * value={format}
52
+ * onChange={e => setFormat(e.target.value)}
53
+ * options={[
54
+ * { value: 'json', label: 'JSON' },
55
+ * { value: 'plain', label: 'Plain text' },
56
+ * ]}
57
+ * />
58
+ */
59
+ export declare const NeoSelectField: {
60
+ ({ size, destructive, label, required, infoIcon, helperText, errorMessage, options, children, disabled, id, ...selectProps }: NeoSelectFieldProps): import("react/jsx-runtime").JSX.Element;
61
+ displayName: string;
62
+ };
63
+ export { NeoSelectOption };
64
+ export type NeoSelectFieldChangeEvent<T = unknown> = SelectChangeEvent<T>;
@@ -1,26 +1,6 @@
1
- import type { ReactNode } from 'react';
2
1
  /**
3
- * Props for the NeoSideNav component
4
- */
5
- export interface NeoSideNavProps {
6
- /**
7
- * The content to display inside the component
8
- */
9
- children?: ReactNode;
10
- }
11
- /**
12
- * NeoSideNav - TODO: Add component description
2
+ * NeoSideNav
13
3
  *
14
4
  * @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC?node-id=4065-3425
15
- *
16
- * Figma Props Mapping:
17
- * - TODO: Document Figma property mappings
18
- * - FigmaProp → reactProp
19
- *
20
- * Design Tokens Used:
21
- * - TODO: List design tokens used (e.g., semanticColors.text.primary, typography.body.medium)
22
5
  */
23
- export declare const NeoSideNav: {
24
- ({ children, ...props }: NeoSideNavProps): import("react/jsx-runtime").JSX.Element;
25
- displayName: string;
26
- };
6
+ export declare const NeoSideNav: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;