@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.
- package/dist/{chunk-3FZJFTY7.mjs → chunk-QF5T6J4D.mjs} +141 -9
- package/dist/chunk-QF5T6J4D.mjs.map +1 -0
- package/dist/{index-C7JP9vAZ.d.mts → index-BxpOMmf6.d.mts} +90 -2
- package/dist/{index-C7JP9vAZ.d.ts → index-BxpOMmf6.d.ts} +90 -2
- package/dist/index.d.mts +44 -2
- package/dist/index.d.ts +44 -2
- package/dist/index.js +313 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +170 -8
- package/dist/index.mjs.map +1 -1
- package/dist/theme.d.mts +1 -1
- package/dist/theme.d.ts +1 -1
- package/dist/theme.js +139 -7
- package/dist/theme.js.map +1 -1
- package/dist/theme.mjs +1 -1
- package/guidelines/FOREST_AI_GUIDELINES.md +1 -1
- package/guidelines/FOREST_DEV_GUIDELINES.md +1 -1
- package/guidelines/themes/FOREST_THEME_ALKEMY_PLUS.md +1 -1
- package/guidelines/themes/FOREST_THEME_DEFAULT.md +1 -1
- package/package.json +1 -1
- package/dist/chunk-3FZJFTY7.mjs.map +0 -1
|
@@ -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: "#
|
|
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: "#
|
|
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: "#
|
|
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: "#
|
|
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-
|
|
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
|
-
|
|
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-
|
|
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
|
-
|
|
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 };
|