@matteoaliano/forest-ui 0.2.8 → 0.2.9

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.
@@ -95,6 +95,54 @@ declare const colors: {
95
95
  readonly 900: "#194185";
96
96
  readonly 950: "#102a56";
97
97
  };
98
+ readonly teal: {
99
+ readonly 100: "#ccfbef";
100
+ readonly 200: "#99f6e0";
101
+ readonly 600: "#0e9384";
102
+ readonly 700: "#107569";
103
+ };
104
+ readonly orange: {
105
+ readonly 100: "#fdead7";
106
+ readonly 200: "#f9dbaf";
107
+ readonly 600: "#e04f16";
108
+ readonly 700: "#b93815";
109
+ };
110
+ readonly purple: {
111
+ readonly 100: "#ebe9fe";
112
+ readonly 200: "#d9d6fe";
113
+ readonly 600: "#6938ef";
114
+ readonly 700: "#5925dc";
115
+ };
116
+ readonly pink: {
117
+ readonly 100: "#fce7f6";
118
+ readonly 200: "#fcceee";
119
+ readonly 600: "#dd2590";
120
+ readonly 700: "#c11574";
121
+ };
122
+ readonly fuchsia: {
123
+ readonly 100: "#fbe8ff";
124
+ readonly 200: "#f6d0fe";
125
+ readonly 600: "#ba24d5";
126
+ readonly 700: "#9f1ab1";
127
+ };
128
+ readonly orangeDark: {
129
+ readonly 100: "#ffe6d5";
130
+ readonly 200: "#ffd6ae";
131
+ readonly 600: "#e62e05";
132
+ readonly 700: "#bc1b06";
133
+ };
134
+ readonly green: {
135
+ readonly 100: "#d3f8df";
136
+ readonly 200: "#aaf0c4";
137
+ readonly 600: "#099250";
138
+ readonly 700: "#087443";
139
+ };
140
+ readonly indigo: {
141
+ readonly 100: "#e0eaff";
142
+ readonly 200: "#c7d7fe";
143
+ readonly 600: "#444ce7";
144
+ readonly 700: "#3538cd";
145
+ };
98
146
  };
99
147
  declare const spacing: {
100
148
  readonly none: 0;
@@ -253,7 +301,7 @@ declare const bg: {
253
301
  readonly secondarySolid: "#475467";
254
302
  readonly tertiary: "#f2f4f7";
255
303
  readonly quaternary: "#eaecf0";
256
- readonly active: "#f9fafb";
304
+ readonly active: "#eaecf0";
257
305
  readonly disabled: "#f2f4f7";
258
306
  readonly disabledSubtle: "#f9fafb";
259
307
  readonly overlay: "#0c111d";
@@ -400,7 +448,7 @@ declare const iconColors: {
400
448
  };
401
449
  declare const navColors: {
402
450
  readonly itemIconFg: "#667085";
403
- readonly itemIconFgActive: "#667085";
451
+ readonly itemIconFgActive: "#344054";
404
452
  readonly itemButtonIconFg: "#667085";
405
453
  readonly itemButtonIconFgActive: "#344054";
406
454
  };
@@ -430,6 +478,38 @@ declare const chartColors: {
430
478
  readonly series2FgHover: "#6941c6";
431
479
  readonly series2Bg: "#f4ebff";
432
480
  readonly series2BgHover: "#e9d7fe";
481
+ readonly series3Fg: "#0e9384";
482
+ readonly series3FgHover: "#107569";
483
+ readonly series3Bg: "#ccfbef";
484
+ readonly series3BgHover: "#99f6e0";
485
+ readonly series4Fg: "#e04f16";
486
+ readonly series4FgHover: "#b93815";
487
+ readonly series4Bg: "#fdead7";
488
+ readonly series4BgHover: "#f9dbaf";
489
+ readonly series5Fg: "#6938ef";
490
+ readonly series5FgHover: "#5925dc";
491
+ readonly series5Bg: "#ebe9fe";
492
+ readonly series5BgHover: "#d9d6fe";
493
+ readonly series6Fg: "#dd2590";
494
+ readonly series6FgHover: "#c11574";
495
+ readonly series6Bg: "#fce7f6";
496
+ readonly series6BgHover: "#fcceee";
497
+ readonly series7Fg: "#ba24d5";
498
+ readonly series7FgHover: "#9f1ab1";
499
+ readonly series7Bg: "#fbe8ff";
500
+ readonly series7BgHover: "#f6d0fe";
501
+ readonly series8Fg: "#e62e05";
502
+ readonly series8FgHover: "#bc1b06";
503
+ readonly series8Bg: "#ffe6d5";
504
+ readonly series8BgHover: "#ffd6ae";
505
+ readonly series9Fg: "#099250";
506
+ readonly series9FgHover: "#087443";
507
+ readonly series9Bg: "#d3f8df";
508
+ readonly series9BgHover: "#aaf0c4";
509
+ readonly series10Fg: "#444ce7";
510
+ readonly series10FgHover: "#3538cd";
511
+ readonly series10Bg: "#e0eaff";
512
+ readonly series10BgHover: "#c7d7fe";
433
513
  };
434
514
  declare const alpha: {
435
515
  readonly white: {
@@ -505,6 +585,14 @@ interface ThemePreset {
505
585
  variants: Record<string, PresetVariantConfig>;
506
586
  }
507
587
 
588
+ declare module "@mui/material/styles" {
589
+ interface Palette {
590
+ chart: DesignTokens["chartColors"];
591
+ }
592
+ interface PaletteOptions {
593
+ chart?: DesignTokens["chartColors"];
594
+ }
595
+ }
508
596
  declare const palette: PaletteOptions;
509
597
 
510
598
  declare const typography: TypographyVariantsOptions;
@@ -95,6 +95,54 @@ declare const colors: {
95
95
  readonly 900: "#194185";
96
96
  readonly 950: "#102a56";
97
97
  };
98
+ readonly teal: {
99
+ readonly 100: "#ccfbef";
100
+ readonly 200: "#99f6e0";
101
+ readonly 600: "#0e9384";
102
+ readonly 700: "#107569";
103
+ };
104
+ readonly orange: {
105
+ readonly 100: "#fdead7";
106
+ readonly 200: "#f9dbaf";
107
+ readonly 600: "#e04f16";
108
+ readonly 700: "#b93815";
109
+ };
110
+ readonly purple: {
111
+ readonly 100: "#ebe9fe";
112
+ readonly 200: "#d9d6fe";
113
+ readonly 600: "#6938ef";
114
+ readonly 700: "#5925dc";
115
+ };
116
+ readonly pink: {
117
+ readonly 100: "#fce7f6";
118
+ readonly 200: "#fcceee";
119
+ readonly 600: "#dd2590";
120
+ readonly 700: "#c11574";
121
+ };
122
+ readonly fuchsia: {
123
+ readonly 100: "#fbe8ff";
124
+ readonly 200: "#f6d0fe";
125
+ readonly 600: "#ba24d5";
126
+ readonly 700: "#9f1ab1";
127
+ };
128
+ readonly orangeDark: {
129
+ readonly 100: "#ffe6d5";
130
+ readonly 200: "#ffd6ae";
131
+ readonly 600: "#e62e05";
132
+ readonly 700: "#bc1b06";
133
+ };
134
+ readonly green: {
135
+ readonly 100: "#d3f8df";
136
+ readonly 200: "#aaf0c4";
137
+ readonly 600: "#099250";
138
+ readonly 700: "#087443";
139
+ };
140
+ readonly indigo: {
141
+ readonly 100: "#e0eaff";
142
+ readonly 200: "#c7d7fe";
143
+ readonly 600: "#444ce7";
144
+ readonly 700: "#3538cd";
145
+ };
98
146
  };
99
147
  declare const spacing: {
100
148
  readonly none: 0;
@@ -253,7 +301,7 @@ declare const bg: {
253
301
  readonly secondarySolid: "#475467";
254
302
  readonly tertiary: "#f2f4f7";
255
303
  readonly quaternary: "#eaecf0";
256
- readonly active: "#f9fafb";
304
+ readonly active: "#eaecf0";
257
305
  readonly disabled: "#f2f4f7";
258
306
  readonly disabledSubtle: "#f9fafb";
259
307
  readonly overlay: "#0c111d";
@@ -400,7 +448,7 @@ declare const iconColors: {
400
448
  };
401
449
  declare const navColors: {
402
450
  readonly itemIconFg: "#667085";
403
- readonly itemIconFgActive: "#667085";
451
+ readonly itemIconFgActive: "#344054";
404
452
  readonly itemButtonIconFg: "#667085";
405
453
  readonly itemButtonIconFgActive: "#344054";
406
454
  };
@@ -430,6 +478,38 @@ declare const chartColors: {
430
478
  readonly series2FgHover: "#6941c6";
431
479
  readonly series2Bg: "#f4ebff";
432
480
  readonly series2BgHover: "#e9d7fe";
481
+ readonly series3Fg: "#0e9384";
482
+ readonly series3FgHover: "#107569";
483
+ readonly series3Bg: "#ccfbef";
484
+ readonly series3BgHover: "#99f6e0";
485
+ readonly series4Fg: "#e04f16";
486
+ readonly series4FgHover: "#b93815";
487
+ readonly series4Bg: "#fdead7";
488
+ readonly series4BgHover: "#f9dbaf";
489
+ readonly series5Fg: "#6938ef";
490
+ readonly series5FgHover: "#5925dc";
491
+ readonly series5Bg: "#ebe9fe";
492
+ readonly series5BgHover: "#d9d6fe";
493
+ readonly series6Fg: "#dd2590";
494
+ readonly series6FgHover: "#c11574";
495
+ readonly series6Bg: "#fce7f6";
496
+ readonly series6BgHover: "#fcceee";
497
+ readonly series7Fg: "#ba24d5";
498
+ readonly series7FgHover: "#9f1ab1";
499
+ readonly series7Bg: "#fbe8ff";
500
+ readonly series7BgHover: "#f6d0fe";
501
+ readonly series8Fg: "#e62e05";
502
+ readonly series8FgHover: "#bc1b06";
503
+ readonly series8Bg: "#ffe6d5";
504
+ readonly series8BgHover: "#ffd6ae";
505
+ readonly series9Fg: "#099250";
506
+ readonly series9FgHover: "#087443";
507
+ readonly series9Bg: "#d3f8df";
508
+ readonly series9BgHover: "#aaf0c4";
509
+ readonly series10Fg: "#444ce7";
510
+ readonly series10FgHover: "#3538cd";
511
+ readonly series10Bg: "#e0eaff";
512
+ readonly series10BgHover: "#c7d7fe";
433
513
  };
434
514
  declare const alpha: {
435
515
  readonly white: {
@@ -505,6 +585,14 @@ interface ThemePreset {
505
585
  variants: Record<string, PresetVariantConfig>;
506
586
  }
507
587
 
588
+ declare module "@mui/material/styles" {
589
+ interface Palette {
590
+ chart: DesignTokens["chartColors"];
591
+ }
592
+ interface PaletteOptions {
593
+ chart?: DesignTokens["chartColors"];
594
+ }
595
+ }
508
596
  declare const palette: PaletteOptions;
509
597
 
510
598
  declare const typography: TypographyVariantsOptions;
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { Theme } from '@mui/material/styles';
3
- export { D as DesignTokens, P as PresetVariantConfig, T as ThemePreset, a as alkemyPlusPreset, b as alpha, c as avatarColors, d as bg, e as border, f as breadcrumbColors, g as buildTheme, h as buildThemeOptions, i as buttonColors, j as chartColors, k as colors, l as container, m as display, n as fg, o as focusRings, p as fontFamily, q as fontSize, r as fontWeight, s as forestPreset, t as forestTheme, u as forestThemeOptions, v as getAvailablePresets, w as getPreset, x as iconColors, y as lineHeight, z as navColors, A as radius, B as registerPreset, C as sliderColors, E as spacing, F as text, G as toggleColors, H as tokenShadows, I as widths } from './index-C7JP9vAZ.mjs';
3
+ export { D as DesignTokens, P as PresetVariantConfig, T as ThemePreset, a as alkemyPlusPreset, b as alpha, c as avatarColors, d as bg, e as border, f as breadcrumbColors, g as buildTheme, h as buildThemeOptions, i as buttonColors, j as chartColors, k as colors, l as container, m as display, n as fg, o as focusRings, p as fontFamily, q as fontSize, r as fontWeight, s as forestPreset, t as forestTheme, u as forestThemeOptions, v as getAvailablePresets, w as getPreset, x as iconColors, y as lineHeight, z as navColors, A as radius, B as registerPreset, C as sliderColors, E as spacing, F as text, G as toggleColors, H as tokenShadows, I as widths } from './index-BxpOMmf6.mjs';
4
4
  import { AutocompleteProps } from '@mui/material/Autocomplete';
5
5
  export { AutocompleteProps } from '@mui/material/Autocomplete';
6
6
  import { ButtonProps as ButtonProps$1 } from '@mui/material/Button';
@@ -112,6 +112,8 @@ import { SkeletonProps } from '@mui/material/Skeleton';
112
112
  export { SkeletonProps } from '@mui/material/Skeleton';
113
113
  import { SnackbarProps } from '@mui/material/Snackbar';
114
114
  export { SnackbarProps } from '@mui/material/Snackbar';
115
+ import React$1 from 'react';
116
+ import { DrawerProps } from '@mui/material/Drawer';
115
117
  import '@mui/material';
116
118
 
117
119
  interface ForestProviderProps {
@@ -208,4 +210,44 @@ declare function Skeleton(props: SkeletonProps): react_jsx_runtime.JSX.Element;
208
210
 
209
211
  declare function Snackbar(props: SnackbarProps): react_jsx_runtime.JSX.Element;
210
212
 
211
- export { Accordion, AccordionActions, AccordionDetails, AccordionSummary, Alert, AlertTitle, AppBar, Autocomplete, Backdrop, Badge, Button, ButtonGroup, type ButtonProps, Card, CardActions, CardContent, CardHeader, CardMedia, Checkbox, Chip, CircularProgress, DataGrid, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, Fab, ForestProvider, type ForestProviderProps, LinearProgress, List, ListItem, ListItemAvatar, ListItemButton, ListItemIcon, ListItemText, ListSubheader, MenuItem, Paper, Radio, RadioGroup, Select, Skeleton, Snackbar, Switch, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, TextField, ToggleButton, ToggleButtonGroup, Toolbar, Tooltip, Typography };
213
+ interface SidebarContextValue {
214
+ open: boolean;
215
+ collapsedWidth: number;
216
+ expandedWidth: number;
217
+ }
218
+ declare function useSidebar(): SidebarContextValue;
219
+ interface SidebarNavProps extends Omit<DrawerProps, "open" | "variant" | "onClose"> {
220
+ /** Whether the sidebar is expanded */
221
+ open: boolean;
222
+ /** Callback when open state changes */
223
+ onOpenChange: (open: boolean) => void;
224
+ /** Width when expanded (default: 240) */
225
+ expandedWidth?: number;
226
+ /** Width when collapsed — icon-only (default: 64) */
227
+ collapsedWidth?: number;
228
+ /** Expand behavior:
229
+ * - "permanent": click to toggle, stays open/closed
230
+ * - "hover": collapsed by default, expands on mouse enter, collapses on mouse leave
231
+ */
232
+ behavior?: "permanent" | "hover";
233
+ /** Whether to show the edge toggle button (default: true for "permanent", false for "hover") */
234
+ showToggle?: boolean;
235
+ /** Content rendered inside the sidebar */
236
+ children: React$1.ReactNode;
237
+ /** Optional header slot — rendered above children */
238
+ header?: React$1.ReactNode;
239
+ /** Optional footer slot — rendered at bottom */
240
+ footer?: React$1.ReactNode;
241
+ }
242
+ declare function SidebarNav({ open, onOpenChange, expandedWidth, collapsedWidth, behavior, showToggle, children, header, footer, sx, ...rest }: SidebarNavProps): react_jsx_runtime.JSX.Element;
243
+ interface SidebarItemProps extends Omit<ListItemButtonProps, "children"> {
244
+ /** Icon element (required — visible in both expanded and collapsed states) */
245
+ icon: React$1.ReactNode;
246
+ /** Label text */
247
+ label: string;
248
+ /** Optional content rendered on the right side when expanded (badge, count, etc.) */
249
+ endAdornment?: React$1.ReactNode;
250
+ }
251
+ declare function SidebarItem({ icon, label, endAdornment, sx, ...rest }: SidebarItemProps): react_jsx_runtime.JSX.Element;
252
+
253
+ export { Accordion, AccordionActions, AccordionDetails, AccordionSummary, Alert, AlertTitle, AppBar, Autocomplete, Backdrop, Badge, Button, ButtonGroup, type ButtonProps, Card, CardActions, CardContent, CardHeader, CardMedia, Checkbox, Chip, CircularProgress, DataGrid, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, Fab, ForestProvider, type ForestProviderProps, LinearProgress, List, ListItem, ListItemAvatar, ListItemButton, ListItemIcon, ListItemText, ListSubheader, MenuItem, Paper, Radio, RadioGroup, Select, SidebarItem, type SidebarItemProps, SidebarNav, type SidebarNavProps, Skeleton, Snackbar, Switch, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, TextField, ToggleButton, ToggleButtonGroup, Toolbar, Tooltip, Typography, useSidebar };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { Theme } from '@mui/material/styles';
3
- export { D as DesignTokens, P as PresetVariantConfig, T as ThemePreset, a as alkemyPlusPreset, b as alpha, c as avatarColors, d as bg, e as border, f as breadcrumbColors, g as buildTheme, h as buildThemeOptions, i as buttonColors, j as chartColors, k as colors, l as container, m as display, n as fg, o as focusRings, p as fontFamily, q as fontSize, r as fontWeight, s as forestPreset, t as forestTheme, u as forestThemeOptions, v as getAvailablePresets, w as getPreset, x as iconColors, y as lineHeight, z as navColors, A as radius, B as registerPreset, C as sliderColors, E as spacing, F as text, G as toggleColors, H as tokenShadows, I as widths } from './index-C7JP9vAZ.js';
3
+ export { D as DesignTokens, P as PresetVariantConfig, T as ThemePreset, a as alkemyPlusPreset, b as alpha, c as avatarColors, d as bg, e as border, f as breadcrumbColors, g as buildTheme, h as buildThemeOptions, i as buttonColors, j as chartColors, k as colors, l as container, m as display, n as fg, o as focusRings, p as fontFamily, q as fontSize, r as fontWeight, s as forestPreset, t as forestTheme, u as forestThemeOptions, v as getAvailablePresets, w as getPreset, x as iconColors, y as lineHeight, z as navColors, A as radius, B as registerPreset, C as sliderColors, E as spacing, F as text, G as toggleColors, H as tokenShadows, I as widths } from './index-BxpOMmf6.js';
4
4
  import { AutocompleteProps } from '@mui/material/Autocomplete';
5
5
  export { AutocompleteProps } from '@mui/material/Autocomplete';
6
6
  import { ButtonProps as ButtonProps$1 } from '@mui/material/Button';
@@ -112,6 +112,8 @@ import { SkeletonProps } from '@mui/material/Skeleton';
112
112
  export { SkeletonProps } from '@mui/material/Skeleton';
113
113
  import { SnackbarProps } from '@mui/material/Snackbar';
114
114
  export { SnackbarProps } from '@mui/material/Snackbar';
115
+ import React$1 from 'react';
116
+ import { DrawerProps } from '@mui/material/Drawer';
115
117
  import '@mui/material';
116
118
 
117
119
  interface ForestProviderProps {
@@ -208,4 +210,44 @@ declare function Skeleton(props: SkeletonProps): react_jsx_runtime.JSX.Element;
208
210
 
209
211
  declare function Snackbar(props: SnackbarProps): react_jsx_runtime.JSX.Element;
210
212
 
211
- export { Accordion, AccordionActions, AccordionDetails, AccordionSummary, Alert, AlertTitle, AppBar, Autocomplete, Backdrop, Badge, Button, ButtonGroup, type ButtonProps, Card, CardActions, CardContent, CardHeader, CardMedia, Checkbox, Chip, CircularProgress, DataGrid, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, Fab, ForestProvider, type ForestProviderProps, LinearProgress, List, ListItem, ListItemAvatar, ListItemButton, ListItemIcon, ListItemText, ListSubheader, MenuItem, Paper, Radio, RadioGroup, Select, Skeleton, Snackbar, Switch, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, TextField, ToggleButton, ToggleButtonGroup, Toolbar, Tooltip, Typography };
213
+ interface SidebarContextValue {
214
+ open: boolean;
215
+ collapsedWidth: number;
216
+ expandedWidth: number;
217
+ }
218
+ declare function useSidebar(): SidebarContextValue;
219
+ interface SidebarNavProps extends Omit<DrawerProps, "open" | "variant" | "onClose"> {
220
+ /** Whether the sidebar is expanded */
221
+ open: boolean;
222
+ /** Callback when open state changes */
223
+ onOpenChange: (open: boolean) => void;
224
+ /** Width when expanded (default: 240) */
225
+ expandedWidth?: number;
226
+ /** Width when collapsed — icon-only (default: 64) */
227
+ collapsedWidth?: number;
228
+ /** Expand behavior:
229
+ * - "permanent": click to toggle, stays open/closed
230
+ * - "hover": collapsed by default, expands on mouse enter, collapses on mouse leave
231
+ */
232
+ behavior?: "permanent" | "hover";
233
+ /** Whether to show the edge toggle button (default: true for "permanent", false for "hover") */
234
+ showToggle?: boolean;
235
+ /** Content rendered inside the sidebar */
236
+ children: React$1.ReactNode;
237
+ /** Optional header slot — rendered above children */
238
+ header?: React$1.ReactNode;
239
+ /** Optional footer slot — rendered at bottom */
240
+ footer?: React$1.ReactNode;
241
+ }
242
+ declare function SidebarNav({ open, onOpenChange, expandedWidth, collapsedWidth, behavior, showToggle, children, header, footer, sx, ...rest }: SidebarNavProps): react_jsx_runtime.JSX.Element;
243
+ interface SidebarItemProps extends Omit<ListItemButtonProps, "children"> {
244
+ /** Icon element (required — visible in both expanded and collapsed states) */
245
+ icon: React$1.ReactNode;
246
+ /** Label text */
247
+ label: string;
248
+ /** Optional content rendered on the right side when expanded (badge, count, etc.) */
249
+ endAdornment?: React$1.ReactNode;
250
+ }
251
+ declare function SidebarItem({ icon, label, endAdornment, sx, ...rest }: SidebarItemProps): react_jsx_runtime.JSX.Element;
252
+
253
+ export { Accordion, AccordionActions, AccordionDetails, AccordionSummary, Alert, AlertTitle, AppBar, Autocomplete, Backdrop, Badge, Button, ButtonGroup, type ButtonProps, Card, CardActions, CardContent, CardHeader, CardMedia, Checkbox, Chip, CircularProgress, DataGrid, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, Fab, ForestProvider, type ForestProviderProps, LinearProgress, List, ListItem, ListItemAvatar, ListItemButton, ListItemIcon, ListItemText, ListSubheader, MenuItem, Paper, Radio, RadioGroup, Select, SidebarItem, type SidebarItemProps, SidebarNav, type SidebarNavProps, Skeleton, Snackbar, Switch, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, TextField, ToggleButton, ToggleButtonGroup, Toolbar, Tooltip, Typography, useSidebar };