@cere/cere-design-system 0.0.45 → 0.2.0

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 (164) hide show
  1. package/README.md +76 -0
  2. package/dist/buttons.d.mts +119 -0
  3. package/dist/buttons.d.ts +119 -0
  4. package/dist/buttons.js +19 -0
  5. package/dist/buttons.js.map +1 -0
  6. package/dist/buttons.mjs +19 -0
  7. package/dist/buttons.mjs.map +1 -0
  8. package/dist/carousel.d.mts +51 -0
  9. package/dist/carousel.d.ts +51 -0
  10. package/dist/carousel.js +185 -0
  11. package/dist/carousel.js.map +1 -0
  12. package/dist/carousel.mjs +185 -0
  13. package/dist/carousel.mjs.map +1 -0
  14. package/dist/charts.d.mts +187 -0
  15. package/dist/charts.d.ts +187 -0
  16. package/dist/charts.js +13 -0
  17. package/dist/charts.js.map +1 -0
  18. package/dist/charts.mjs +13 -0
  19. package/dist/charts.mjs.map +1 -0
  20. package/dist/chunk-2EBCST6X.js +25 -0
  21. package/dist/chunk-2EBCST6X.js.map +1 -0
  22. package/dist/chunk-2KDN37PQ.js +486 -0
  23. package/dist/chunk-2KDN37PQ.js.map +1 -0
  24. package/dist/chunk-34LFXT6C.mjs +486 -0
  25. package/dist/chunk-34LFXT6C.mjs.map +1 -0
  26. package/dist/chunk-3KCXCVOX.mjs +411 -0
  27. package/dist/chunk-3KCXCVOX.mjs.map +1 -0
  28. package/dist/chunk-4OKTICU5.js +374 -0
  29. package/dist/chunk-4OKTICU5.js.map +1 -0
  30. package/dist/chunk-5ASG6G6U.mjs +40 -0
  31. package/dist/chunk-5ASG6G6U.mjs.map +1 -0
  32. package/dist/chunk-72TQ56EP.js +280 -0
  33. package/dist/chunk-72TQ56EP.js.map +1 -0
  34. package/dist/chunk-7KXKK2RE.js +43 -0
  35. package/dist/chunk-7KXKK2RE.js.map +1 -0
  36. package/dist/chunk-ARSCL4ZZ.js +111 -0
  37. package/dist/chunk-ARSCL4ZZ.js.map +1 -0
  38. package/dist/chunk-AWVNEU6R.mjs +1478 -0
  39. package/dist/chunk-AWVNEU6R.mjs.map +1 -0
  40. package/dist/chunk-BH4FNZKK.mjs +1472 -0
  41. package/dist/chunk-BH4FNZKK.mjs.map +1 -0
  42. package/dist/chunk-BIZK6FUD.js +37 -0
  43. package/dist/chunk-BIZK6FUD.js.map +1 -0
  44. package/dist/chunk-BOQPWZIB.mjs +147 -0
  45. package/dist/chunk-BOQPWZIB.mjs.map +1 -0
  46. package/dist/chunk-BT7XUTT5.mjs +392 -0
  47. package/dist/chunk-BT7XUTT5.mjs.map +1 -0
  48. package/dist/chunk-D7D25O6E.mjs +280 -0
  49. package/dist/chunk-D7D25O6E.mjs.map +1 -0
  50. package/dist/chunk-DRGMEIPT.mjs +162 -0
  51. package/dist/chunk-DRGMEIPT.mjs.map +1 -0
  52. package/dist/chunk-DZXNYLVG.js +392 -0
  53. package/dist/chunk-DZXNYLVG.js.map +1 -0
  54. package/dist/chunk-GR52ENYI.mjs +527 -0
  55. package/dist/chunk-GR52ENYI.mjs.map +1 -0
  56. package/dist/chunk-GTBKQXXI.js +1472 -0
  57. package/dist/chunk-GTBKQXXI.js.map +1 -0
  58. package/dist/chunk-HJ24WKU4.js +120 -0
  59. package/dist/chunk-HJ24WKU4.js.map +1 -0
  60. package/dist/chunk-JBHRAAN3.js +31 -0
  61. package/dist/chunk-JBHRAAN3.js.map +1 -0
  62. package/dist/chunk-KKIKOIMP.js +1478 -0
  63. package/dist/chunk-KKIKOIMP.js.map +1 -0
  64. package/dist/chunk-LVJSKRX3.js +147 -0
  65. package/dist/chunk-LVJSKRX3.js.map +1 -0
  66. package/dist/chunk-OWWDNDF4.js +40 -0
  67. package/dist/chunk-OWWDNDF4.js.map +1 -0
  68. package/dist/chunk-PFZZJZ64.js +162 -0
  69. package/dist/chunk-PFZZJZ64.js.map +1 -0
  70. package/dist/chunk-PHMNZK2R.mjs +18 -0
  71. package/dist/chunk-PHMNZK2R.mjs.map +1 -0
  72. package/dist/chunk-POCAW2G4.mjs +111 -0
  73. package/dist/chunk-POCAW2G4.mjs.map +1 -0
  74. package/dist/chunk-QBCRH7YF.mjs +37 -0
  75. package/dist/chunk-QBCRH7YF.mjs.map +1 -0
  76. package/dist/chunk-QCFLZ7X3.js +527 -0
  77. package/dist/chunk-QCFLZ7X3.js.map +1 -0
  78. package/dist/chunk-SG2TD7FQ.mjs +374 -0
  79. package/dist/chunk-SG2TD7FQ.mjs.map +1 -0
  80. package/dist/chunk-SSFALO6S.mjs +120 -0
  81. package/dist/chunk-SSFALO6S.mjs.map +1 -0
  82. package/dist/chunk-U2QHFISG.js +18 -0
  83. package/dist/chunk-U2QHFISG.js.map +1 -0
  84. package/dist/chunk-UPGFBPFX.mjs +25 -0
  85. package/dist/chunk-UPGFBPFX.mjs.map +1 -0
  86. package/dist/chunk-WC2TCWXK.mjs +445 -0
  87. package/dist/chunk-WC2TCWXK.mjs.map +1 -0
  88. package/dist/chunk-XZZZ4MZV.js +445 -0
  89. package/dist/chunk-XZZZ4MZV.js.map +1 -0
  90. package/dist/chunk-YCDCQSYH.js +411 -0
  91. package/dist/chunk-YCDCQSYH.js.map +1 -0
  92. package/dist/chunk-ZDAZYIXB.mjs +43 -0
  93. package/dist/chunk-ZDAZYIXB.mjs.map +1 -0
  94. package/dist/chunk-ZP26PGMS.mjs +31 -0
  95. package/dist/chunk-ZP26PGMS.mjs.map +1 -0
  96. package/dist/feedback.d.mts +368 -0
  97. package/dist/feedback.d.ts +368 -0
  98. package/dist/feedback.js +43 -0
  99. package/dist/feedback.js.map +1 -0
  100. package/dist/feedback.mjs +43 -0
  101. package/dist/feedback.mjs.map +1 -0
  102. package/dist/fonts/HumanSans-BlackOblique.otf +0 -0
  103. package/dist/fonts/HumanSans-Thin.otf +0 -0
  104. package/dist/fonts/HumanSans-ThinOblique.otf +0 -0
  105. package/dist/fonts/human-sans-font.css +88 -0
  106. package/dist/fonts/human-sans.css +3 -0
  107. package/dist/fonts/inter.css +3 -0
  108. package/dist/icons.d.mts +21 -0
  109. package/dist/icons.d.ts +21 -0
  110. package/dist/icons.js +23 -0
  111. package/dist/icons.js.map +1 -0
  112. package/dist/icons.mjs +23 -0
  113. package/dist/icons.mjs.map +1 -0
  114. package/dist/index.d.mts +196 -3082
  115. package/dist/index.d.ts +196 -3082
  116. package/dist/index.js +253 -10082
  117. package/dist/index.js.map +1 -1
  118. package/dist/index.mjs +229 -10017
  119. package/dist/index.mjs.map +1 -1
  120. package/dist/inputs.d.mts +129 -0
  121. package/dist/inputs.d.ts +129 -0
  122. package/dist/inputs.js +43 -0
  123. package/dist/inputs.js.map +1 -0
  124. package/dist/inputs.mjs +43 -0
  125. package/dist/inputs.mjs.map +1 -0
  126. package/dist/layout.d.mts +681 -0
  127. package/dist/layout.d.ts +681 -0
  128. package/dist/layout.js +98 -0
  129. package/dist/layout.js.map +1 -0
  130. package/dist/layout.mjs +98 -0
  131. package/dist/layout.mjs.map +1 -0
  132. package/dist/navigation.d.mts +611 -0
  133. package/dist/navigation.d.ts +611 -0
  134. package/dist/navigation.js +54 -0
  135. package/dist/navigation.js.map +1 -0
  136. package/dist/navigation.mjs +54 -0
  137. package/dist/navigation.mjs.map +1 -0
  138. package/dist/third-party.d.mts +113 -0
  139. package/dist/third-party.d.ts +113 -0
  140. package/dist/third-party.js +7 -0
  141. package/dist/third-party.js.map +1 -0
  142. package/dist/third-party.mjs +7 -0
  143. package/dist/third-party.mjs.map +1 -0
  144. package/dist/tokens.css +45 -71
  145. package/dist/utilities.d.mts +39 -0
  146. package/dist/utilities.d.ts +39 -0
  147. package/dist/utilities.js +17 -0
  148. package/dist/utilities.js.map +1 -0
  149. package/dist/utilities.mjs +17 -0
  150. package/dist/utilities.mjs.map +1 -0
  151. package/package.json +76 -8
  152. package/dist/index.css +0 -79
  153. package/dist/index.css.map +0 -1
  154. /package/dist/{HumanSans-Black-C4YJONK7.otf → fonts/HumanSans-Black.otf} +0 -0
  155. /package/dist/{HumanSans-Bold-4EAJ3L3T.otf → fonts/HumanSans-Bold.otf} +0 -0
  156. /package/dist/{HumanSans-BoldOblique-4D325T4F.otf → fonts/HumanSans-BoldOblique.otf} +0 -0
  157. /package/dist/{HumanSans-ExtraLight-VL7DEKQ4.otf → fonts/HumanSans-ExtraLight.otf} +0 -0
  158. /package/dist/{HumanSans-ExtraLightOblique-VK2JTUXF.otf → fonts/HumanSans-ExtraLightOblique.otf} +0 -0
  159. /package/dist/{HumanSans-Light-YV7AFKRB.otf → fonts/HumanSans-Light.otf} +0 -0
  160. /package/dist/{HumanSans-LightOblique-VIXV7QA6.otf → fonts/HumanSans-LightOblique.otf} +0 -0
  161. /package/dist/{HumanSans-Medium-UULJ3PIR.otf → fonts/HumanSans-Medium.otf} +0 -0
  162. /package/dist/{HumanSans-MediumOblique-M7FHDZRS.otf → fonts/HumanSans-MediumOblique.otf} +0 -0
  163. /package/dist/{HumanSans-Regular-QMFEP3F6.otf → fonts/HumanSans-Regular.otf} +0 -0
  164. /package/dist/{HumanSans-RegularOblique-YPKQJAAM.otf → fonts/HumanSans-RegularOblique.otf} +0 -0
@@ -0,0 +1,611 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { PopoverProps } from '@mui/material/Popover';
3
+ import * as React from 'react';
4
+ import React__default, { ReactNode, Ref } from 'react';
5
+ import { StepperProps as StepperProps$1 } from '@mui/material/Stepper';
6
+ import { StepProps as StepProps$1 } from '@mui/material/Step';
7
+ import { StepLabelProps as StepLabelProps$1 } from '@mui/material/StepLabel';
8
+ import { StepContentProps as StepContentProps$1 } from '@mui/material/StepContent';
9
+ import { StepButtonProps as StepButtonProps$1 } from '@mui/material/StepButton';
10
+ import { ListItemButtonProps } from '@mui/material/ListItemButton';
11
+ import { TabProps as TabProps$1 } from '@mui/material/Tab';
12
+ import { MenuProps as MenuProps$1 } from '@mui/material/Menu';
13
+ import { PaginationProps as PaginationProps$1 } from '@mui/material/Pagination';
14
+
15
+ type DropdownAnchorProps = {
16
+ open?: boolean;
17
+ label?: ReactNode;
18
+ leftElement?: ReactNode;
19
+ onOpen?: () => void;
20
+ variant?: 'header' | 'button';
21
+ };
22
+ declare const DropdownAnchor: React.ForwardRefExoticComponent<DropdownAnchorProps & React.RefAttributes<HTMLButtonElement>>;
23
+
24
+ type RenderAnchorOptions = {
25
+ ref: Ref<any>;
26
+ open: boolean;
27
+ onOpen: () => void;
28
+ };
29
+ type DropdownProps = Pick<PopoverProps, 'open' | 'children'> & Omit<DropdownAnchorProps, 'open'> & {
30
+ direction?: 'right' | 'left';
31
+ dense?: boolean;
32
+ disableGutters?: boolean;
33
+ disablePaddings?: boolean;
34
+ onToggle?: (open: boolean) => void;
35
+ renderAnchor?: (options: RenderAnchorOptions) => ReactNode;
36
+ variant: 'header' | 'button';
37
+ };
38
+ declare const Dropdown: ({ open, label, leftElement, direction, children, onToggle, dense, disableGutters, disablePaddings, variant, renderAnchor, }: DropdownProps) => react_jsx_runtime.JSX.Element;
39
+
40
+ interface SidebarItemProps {
41
+ label: string;
42
+ icon?: React__default.ReactNode;
43
+ selected?: boolean;
44
+ onClick?: () => void;
45
+ size?: 'small' | 'medium' | 'large';
46
+ endIcon?: React__default.ReactNode;
47
+ children?: React__default.ReactNode;
48
+ }
49
+ declare const SidebarItem: React__default.FC<SidebarItemProps>;
50
+
51
+ interface SidebarProps {
52
+ open?: boolean;
53
+ width?: number;
54
+ items: SidebarItemProps[];
55
+ onClose?: () => void;
56
+ variant?: 'permanent' | 'persistent' | 'temporary';
57
+ }
58
+ declare const Sidebar: React__default.FC<SidebarProps>;
59
+
60
+ type StepperProps = StepperProps$1;
61
+ /**
62
+ * Stepper component - displays progress through a sequence of steps
63
+ *
64
+ * @example
65
+ * ```tsx
66
+ * <Stepper activeStep={activeStep}>
67
+ * <Step>
68
+ * <StepLabel>Step 1</StepLabel>
69
+ * </Step>
70
+ * <Step>
71
+ * <StepLabel>Step 2</StepLabel>
72
+ * </Step>
73
+ * </Stepper>
74
+ * ```
75
+ */
76
+ declare const Stepper: React__default.FC<StepperProps>;
77
+ type StepProps = StepProps$1;
78
+ /**
79
+ * Step component - represents a single step in a Stepper
80
+ */
81
+ declare const Step: React__default.FC<StepProps>;
82
+ type StepLabelProps = StepLabelProps$1;
83
+ /**
84
+ * StepLabel component - label for a Step
85
+ */
86
+ declare const StepLabel: React__default.FC<StepLabelProps>;
87
+ type StepContentProps = StepContentProps$1;
88
+ /**
89
+ * StepContent component - optional content that appears below a StepLabel
90
+ */
91
+ declare const StepContent: React__default.FC<StepContentProps>;
92
+ type StepButtonProps = StepButtonProps$1;
93
+ /**
94
+ * StepButton component - makes a Step clickable
95
+ */
96
+ declare const StepButton: React__default.FC<StepButtonProps>;
97
+
98
+ interface NumberedStepperStep {
99
+ key: string;
100
+ label: string;
101
+ }
102
+ interface NumberedStepperProps {
103
+ steps: NumberedStepperStep[];
104
+ /** Index of the active step. -1 = none active. */
105
+ current: number;
106
+ className?: string;
107
+ }
108
+ /**
109
+ * Vertical numbered stepper used by Try-this-out and similar guided flows.
110
+ * Brand-styled: active rows take the violet palette; completed rows show ✓.
111
+ */
112
+ declare const NumberedStepper: React__default.ForwardRefExoticComponent<NumberedStepperProps & React__default.RefAttributes<HTMLOListElement>>;
113
+
114
+ /**
115
+ * Type definitions for SideNav components
116
+ * Side Navigation Bar Component - V1 (Expanded State) & V2 (Collapsed State)
117
+ */
118
+
119
+ /**
120
+ * Navigation Item Properties
121
+ * Individual navigation menu item with icon, label, and interactive states
122
+ */
123
+ interface NavigationItemProps extends Omit<ListItemButtonProps, 'selected' | 'onClick'> {
124
+ /**
125
+ * Unique identifier for the navigation item
126
+ * Used for selection tracking and key prop
127
+ */
128
+ id: string;
129
+ /**
130
+ * Display text for the navigation item
131
+ */
132
+ label: string;
133
+ /**
134
+ * Icon element to display (typically a Material UI icon component)
135
+ */
136
+ icon?: ReactNode;
137
+ /**
138
+ * Position of the icon relative to the label
139
+ * @default 'left'
140
+ */
141
+ iconPosition?: 'left' | 'right';
142
+ /**
143
+ * Whether this item is currently selected/active
144
+ * @default false
145
+ */
146
+ selected?: boolean;
147
+ /**
148
+ * Whether this item is disabled
149
+ * @default false
150
+ */
151
+ disabled?: boolean;
152
+ /**
153
+ * Click handler for the navigation item
154
+ * @param id - The id of the clicked item
155
+ */
156
+ onClick?: (id: string) => void;
157
+ /**
158
+ * Additional content to display on the right side
159
+ * Can be a button, dropdown, badge, etc.
160
+ */
161
+ endContent?: ReactNode;
162
+ /**
163
+ * Optional URL for link-based navigation
164
+ * If provided, component renders as a link
165
+ */
166
+ href?: string;
167
+ /**
168
+ * Accessibility label for screen readers
169
+ * @default Uses 'label' prop value
170
+ */
171
+ ariaLabel?: string;
172
+ /**
173
+ * Size variant for the navigation item
174
+ * @default 'medium'
175
+ */
176
+ size?: 'small' | 'medium' | 'large';
177
+ /**
178
+ * Whether sidebar is collapsed (icon-only mode) - V2
179
+ * When true:
180
+ * - Label is hidden
181
+ * - Tooltip shows on hover/focus
182
+ * - EndContent is hidden
183
+ * - Icon is centered
184
+ * @default false
185
+ */
186
+ collapsed?: boolean;
187
+ /**
188
+ * Whether to show tooltip in collapsed mode - V2
189
+ * @default true
190
+ */
191
+ showTooltip?: boolean;
192
+ /**
193
+ * Tooltip placement - V2
194
+ * @default 'right'
195
+ */
196
+ tooltipPlacement?: 'left' | 'right' | 'top' | 'bottom';
197
+ }
198
+ /**
199
+ * Navigation List Properties
200
+ * Container for multiple navigation items with scroll support
201
+ */
202
+ interface NavigationListProps {
203
+ /**
204
+ * Array of navigation items to display
205
+ */
206
+ items: NavigationItemProps[];
207
+ /**
208
+ * ID of currently selected item (controlled mode)
209
+ */
210
+ selectedId?: string;
211
+ /**
212
+ * Callback when selection changes
213
+ * @param id - The id of the newly selected item
214
+ */
215
+ onSelectionChange?: (id: string) => void;
216
+ /**
217
+ * Maximum height before scrolling kicks in
218
+ * @default 'auto'
219
+ */
220
+ maxHeight?: string | number;
221
+ /**
222
+ * Accessibility label for the list
223
+ * @default 'Navigation menu'
224
+ */
225
+ ariaLabel?: string;
226
+ /**
227
+ * Whether sidebar is collapsed - V2
228
+ * Passed down to all NavigationItem children
229
+ * @default false
230
+ */
231
+ collapsed?: boolean;
232
+ /**
233
+ * Whether to show tooltips on items when collapsed - V2
234
+ * Passed down to each NavigationItem's showTooltip prop
235
+ * @default true
236
+ */
237
+ showTooltips?: boolean;
238
+ }
239
+ /**
240
+ * User Information
241
+ * Used in AccountSection component
242
+ */
243
+ interface UserInfo {
244
+ /**
245
+ * User's display name
246
+ */
247
+ name: string;
248
+ /**
249
+ * User's email address (optional)
250
+ */
251
+ email?: string;
252
+ /**
253
+ * User's initials for avatar fallback
254
+ * If not provided, will be derived from name
255
+ */
256
+ initials?: string;
257
+ /**
258
+ * URL for user avatar image
259
+ */
260
+ avatarUrl?: string;
261
+ }
262
+ /**
263
+ * Connection Status Properties
264
+ * Displays connection status with pill-style indicator
265
+ */
266
+ interface ConnectionStatusProps {
267
+ /**
268
+ * Status text to display (e.g., "Connected to Dragon 1")
269
+ */
270
+ status: string;
271
+ /**
272
+ * Visual variant of the status
273
+ * @default 'info'
274
+ */
275
+ variant?: 'success' | 'warning' | 'error' | 'info';
276
+ /**
277
+ * Optional custom icon to replace the default power icon
278
+ */
279
+ icon?: ReactNode;
280
+ /**
281
+ * Optional click handler (makes status interactive)
282
+ */
283
+ onClick?: () => void;
284
+ /**
285
+ * Compact mode for collapsed sidebar - V2
286
+ * When true:
287
+ * - Shows pill with icon + compactText (or falls back to icon-only)
288
+ * - Tooltip shows full status text on hover/focus
289
+ * @default false
290
+ */
291
+ compact?: boolean;
292
+ /**
293
+ * Short label to display in compact mode (e.g. "D1") - V2
294
+ * If not provided, compact mode shows icon-only
295
+ */
296
+ compactText?: string;
297
+ }
298
+ /**
299
+ * Account Section Properties
300
+ * Displays user account information with avatar, name, and logout
301
+ */
302
+ interface AccountSectionProps {
303
+ /**
304
+ * User information object
305
+ */
306
+ user: UserInfo;
307
+ /**
308
+ * Logout button click handler
309
+ */
310
+ onLogout: () => void;
311
+ /**
312
+ * Whether to show email below name
313
+ * @default false
314
+ */
315
+ showEmail?: boolean;
316
+ /**
317
+ * Layout variant
318
+ * @default 'horizontal'
319
+ */
320
+ layout?: 'horizontal' | 'vertical';
321
+ /**
322
+ * Compact mode (avatar-only for collapsed sidebar) - V2
323
+ * When true:
324
+ * - Name and email are hidden
325
+ * - Only avatar is shown (40px)
326
+ * - Tooltip shows name + email on hover/focus
327
+ * - Logout button becomes icon-only
328
+ * @default false
329
+ */
330
+ compact?: boolean;
331
+ }
332
+ /**
333
+ * SideNav Properties
334
+ * Main container component that composes all navigation sections
335
+ */
336
+ interface SideNavProps {
337
+ /**
338
+ * Width of the sidebar when expanded (pixels) - V1
339
+ * @default 280
340
+ */
341
+ width?: number;
342
+ /**
343
+ * Width of the sidebar when collapsed (pixels) - V2
344
+ * @default 68
345
+ */
346
+ collapsedWidth?: number;
347
+ /**
348
+ * Whether the sidebar is collapsed (controlled mode) - V2
349
+ * When provided: Component is controlled (parent manages state)
350
+ * When undefined: Component is uncontrolled (internal state)
351
+ * @default undefined
352
+ */
353
+ collapsed?: boolean;
354
+ /**
355
+ * Default collapsed state (uncontrolled mode only) - V2
356
+ * Ignored if `collapsed` prop is provided
357
+ * @default false
358
+ */
359
+ defaultCollapsed?: boolean;
360
+ /**
361
+ * Callback fired when collapsed state changes - V2
362
+ * Called after toggle button click or programmatic state change
363
+ * @param collapsed - New collapsed state value
364
+ */
365
+ onCollapseChange?: (collapsed: boolean) => void;
366
+ /**
367
+ * Duration of the collapse/expand width transition in ms - V2
368
+ * @default 300
369
+ */
370
+ transitionDuration?: number;
371
+ /**
372
+ * Whether to show tooltips on child items when collapsed - V2
373
+ * Passed down via context to NavigationList and NavigationItem
374
+ * @default true
375
+ */
376
+ showTooltips?: boolean;
377
+ /**
378
+ * Position of the sidebar
379
+ * @default 'left'
380
+ */
381
+ position?: 'left' | 'right';
382
+ /**
383
+ * Whether to show border on the edge
384
+ * @default true
385
+ */
386
+ showBorder?: boolean;
387
+ /**
388
+ * Custom background color
389
+ * @default theme.palette.background.paper
390
+ */
391
+ backgroundColor?: string;
392
+ /**
393
+ * Child components (NavigationList, ConnectionStatus, AccountSection)
394
+ */
395
+ children: ReactNode;
396
+ /**
397
+ * Additional CSS class name
398
+ */
399
+ className?: string;
400
+ /**
401
+ * Accessibility label for the navigation
402
+ * @default 'Main navigation'
403
+ */
404
+ ariaLabel?: string;
405
+ }
406
+ /**
407
+ * SideNav Header Properties
408
+ * Displays app branding (logo + title) and an optional collapse toggle button
409
+ */
410
+ interface SideNavHeaderProps {
411
+ /**
412
+ * App logo or icon element (e.g. an <img>, SVG, or MUI Icon)
413
+ */
414
+ logo?: ReactNode;
415
+ /**
416
+ * App or brand title text displayed next to the logo
417
+ */
418
+ title: string;
419
+ /**
420
+ * Whether to show the collapse toggle button
421
+ * @default true
422
+ */
423
+ showCollapseButton?: boolean;
424
+ /**
425
+ * Callback fired when the collapse button is clicked.
426
+ * Wire this up to toggle sidebar expanded/collapsed state (V2).
427
+ */
428
+ onCollapse?: () => void;
429
+ /**
430
+ * Callback fired when the logo/title branding area is clicked.
431
+ * Use this for "go to home" navigation. Only the logo + title region
432
+ * is clickable — the collapse button and surrounding padding are excluded.
433
+ */
434
+ onLogoClick?: () => void;
435
+ /**
436
+ * Accessibility label for the header region
437
+ * @default '{title} navigation header'
438
+ */
439
+ ariaLabel?: string;
440
+ /**
441
+ * Whether sidebar is collapsed - V2
442
+ * When true:
443
+ * - Title text is hidden
444
+ * - Logo remains visible (compact)
445
+ * - Toggle button shows expand icon (→)
446
+ * @default false
447
+ */
448
+ collapsed?: boolean;
449
+ }
450
+ /**
451
+ * Compound component slots for SideNav
452
+ */
453
+ interface SideNavHeaderSlotProps {
454
+ children: ReactNode;
455
+ className?: string;
456
+ }
457
+ interface SideNavNavigationProps {
458
+ children: ReactNode;
459
+ className?: string;
460
+ }
461
+ interface SideNavFooterProps {
462
+ children: ReactNode;
463
+ className?: string;
464
+ }
465
+
466
+ /**
467
+ * SideNav Component
468
+ * Main container for side navigation with compound components
469
+ * V2: Added collapsed state support with animated transitions
470
+ */
471
+
472
+ /**
473
+ * SideNav.Header compound component
474
+ * Passes collapsed state and toggle handler to children
475
+ */
476
+ declare const Header: React__default.NamedExoticComponent<SideNavHeaderSlotProps>;
477
+ /**
478
+ * SideNav.Navigation compound component
479
+ * Passes collapsed state to children
480
+ */
481
+ declare const Navigation: React__default.NamedExoticComponent<SideNavNavigationProps>;
482
+ /**
483
+ * SideNav.Footer compound component
484
+ * Passes collapsed state to children
485
+ */
486
+ declare const Footer: React__default.NamedExoticComponent<SideNavFooterProps>;
487
+ /**
488
+ * Main SideNav component with compound components
489
+ * V2: Supports controlled/uncontrolled collapsed state
490
+ */
491
+ interface SideNavComponent extends React__default.FC<SideNavProps> {
492
+ Header: typeof Header;
493
+ Navigation: typeof Navigation;
494
+ Footer: typeof Footer;
495
+ }
496
+ declare const SideNav: SideNavComponent;
497
+
498
+ /**
499
+ * SideNavHeader Component
500
+ * Displays app branding (logo + title) and an optional collapse toggle button
501
+ * V2: Supports collapsed state with compact logo-only view
502
+ */
503
+
504
+ /**
505
+ * SideNavHeader Component
506
+ *
507
+ * Renders the app branding area at the top of the side navigation.
508
+ * Includes an optional logo, a title, and an optional collapse toggle button.
509
+ * V2: In collapsed state, shows logo stacked vertically above toggle button.
510
+ *
511
+ * If `onLogoClick` is provided, only the logo+title area is clickable
512
+ * (e.g. to navigate back to the home page). The rest of the header
513
+ * (collapse button, surrounding padding) does NOT trigger that callback.
514
+ */
515
+ declare const SideNavHeader: React__default.NamedExoticComponent<SideNavHeaderProps>;
516
+
517
+ /**
518
+ * NavigationList Component
519
+ * Container for multiple navigation items with scroll support
520
+ * V2: Passes collapsed state to navigation items
521
+ */
522
+
523
+ /**
524
+ * NavigationList Component
525
+ */
526
+ declare const NavigationList: React__default.NamedExoticComponent<NavigationListProps>;
527
+
528
+ /**
529
+ * NavigationItem Component
530
+ * Individual navigation menu item with icon, label, and interactive states
531
+ * V2: Added collapsed state support with tooltips
532
+ */
533
+
534
+ /**
535
+ * NavigationItem Component
536
+ * V2: Supports collapsed state with tooltip
537
+ */
538
+ declare const NavigationItem: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<Omit<NavigationItemProps, "ref"> & React__default.RefAttributes<HTMLElement>>>;
539
+
540
+ /**
541
+ * ConnectionStatus Component
542
+ * Displays connection status with pill-style indicator
543
+ * V2: Supports compact mode for collapsed sidebar
544
+ */
545
+
546
+ /**
547
+ * ConnectionStatus Component
548
+ * V2: Supports compact mode
549
+ */
550
+ declare const ConnectionStatus: React__default.NamedExoticComponent<ConnectionStatusProps>;
551
+
552
+ /**
553
+ * AccountSection Component
554
+ * Displays user account information with avatar, name, and logout
555
+ * V2: Supports compact mode for collapsed sidebar
556
+ */
557
+
558
+ /**
559
+ * AccountSection Component
560
+ * V2: Supports compact mode
561
+ */
562
+ declare const AccountSection: React__default.NamedExoticComponent<AccountSectionProps>;
563
+
564
+ interface TabProps extends Omit<TabProps$1, 'icon'> {
565
+ badge?: number | string;
566
+ badgeVariant?: 'default' | 'primary' | 'success' | 'error';
567
+ }
568
+ declare const Tab: React__default.FC<TabProps>;
569
+
570
+ interface MenuProps extends Omit<MenuProps$1, 'open'> {
571
+ anchorEl?: HTMLElement | null;
572
+ onClose: () => void;
573
+ }
574
+ declare const Menu: React__default.ForwardRefExoticComponent<Omit<MenuProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
575
+ interface MenuItemProps {
576
+ icon?: React__default.ReactNode;
577
+ label: string;
578
+ onClick?: () => void;
579
+ disabled?: boolean;
580
+ divider?: boolean;
581
+ }
582
+ declare const MenuItem: React__default.ForwardRefExoticComponent<MenuItemProps & React__default.RefAttributes<HTMLLIElement>>;
583
+
584
+ interface PaginationProps extends Omit<PaginationProps$1, 'color'> {
585
+ color?: 'primary' | 'secondary' | 'standard';
586
+ }
587
+ declare const Pagination: React__default.FC<PaginationProps>;
588
+
589
+ interface SelectorOption {
590
+ id: string;
591
+ name: string;
592
+ description?: string;
593
+ avatar?: string;
594
+ icon?: React__default.ReactNode;
595
+ disabled?: boolean;
596
+ }
597
+ interface SelectorProps {
598
+ options: SelectorOption[];
599
+ selectedId: string | null;
600
+ onSelect: (id: string) => void;
601
+ onCreate?: () => void;
602
+ loading?: boolean;
603
+ placeholder?: string;
604
+ emptyMessage?: string;
605
+ compact?: boolean;
606
+ renderSelected?: (option: SelectorOption) => React__default.ReactNode;
607
+ width?: number;
608
+ }
609
+ declare const Selector: React__default.FC<SelectorProps>;
610
+
611
+ export { AccountSection, type AccountSectionProps, ConnectionStatus, type ConnectionStatusProps, Dropdown, DropdownAnchor, type DropdownAnchorProps, type DropdownProps, Menu, MenuItem, type MenuItemProps, type MenuProps, NavigationItem, type NavigationItemProps, NavigationList, type NavigationListProps, NumberedStepper, type NumberedStepperProps, type NumberedStepperStep, Pagination, type PaginationProps, Selector, type SelectorOption, type SelectorProps, SideNav, SideNavHeader, type SideNavHeaderProps, type SideNavProps, Sidebar, SidebarItem, type SidebarItemProps, type SidebarProps, Step, StepButton, type StepButtonProps, StepContent, type StepContentProps, StepLabel, type StepLabelProps, type StepProps, Stepper, type StepperProps, Tab, type TabProps, type UserInfo };