@ceed/ads 1.30.0 → 1.30.1

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 (62) hide show
  1. package/dist/Overview.md +5 -5
  2. package/dist/components/data-display/Avatar.md +85 -74
  3. package/dist/components/data-display/Badge.md +23 -5
  4. package/dist/components/data-display/Chip.md +49 -35
  5. package/dist/components/data-display/DataTable.md +93 -0
  6. package/dist/components/data-display/InfoSign.md +15 -5
  7. package/dist/components/data-display/Markdown.md +22 -26
  8. package/dist/components/data-display/Table.md +63 -53
  9. package/dist/components/data-display/Tooltip.md +70 -58
  10. package/dist/components/data-display/Typography.md +28 -11
  11. package/dist/components/feedback/Alert.md +86 -74
  12. package/dist/components/feedback/CircularProgress.md +20 -5
  13. package/dist/components/feedback/Dialog.md +8 -12
  14. package/dist/components/feedback/Modal.md +12 -16
  15. package/dist/components/feedback/Skeleton.md +20 -5
  16. package/dist/components/inputs/Autocomplete.md +8 -10
  17. package/dist/components/inputs/Button.md +107 -87
  18. package/dist/components/inputs/ButtonGroup.md +20 -5
  19. package/dist/components/inputs/Calendar.md +25 -5
  20. package/dist/components/inputs/Checkbox.md +171 -450
  21. package/dist/components/inputs/CurrencyInput.md +25 -5
  22. package/dist/components/inputs/DatePicker.md +39 -5
  23. package/dist/components/inputs/DateRangePicker.md +29 -5
  24. package/dist/components/inputs/FilterMenu.md +85 -9
  25. package/dist/components/inputs/FilterableCheckboxGroup.md +23 -8
  26. package/dist/components/inputs/FormControl.md +34 -6
  27. package/dist/components/inputs/IconButton.md +21 -5
  28. package/dist/components/inputs/Input.md +254 -68
  29. package/dist/components/inputs/MonthPicker.md +28 -5
  30. package/dist/components/inputs/MonthRangePicker.md +26 -5
  31. package/dist/components/inputs/PercentageInput.md +28 -5
  32. package/dist/components/inputs/RadioButton.md +26 -5
  33. package/dist/components/inputs/RadioList.md +23 -6
  34. package/dist/components/inputs/RadioTileGroup.md +40 -8
  35. package/dist/components/inputs/Select.md +59 -5
  36. package/dist/components/inputs/Slider.md +26 -5
  37. package/dist/components/inputs/Switch.md +23 -5
  38. package/dist/components/inputs/Textarea.md +27 -5
  39. package/dist/components/inputs/Uploader/Uploader.md +24 -5
  40. package/dist/components/layout/Box.md +66 -58
  41. package/dist/components/layout/Container.md +9 -13
  42. package/dist/components/layout/Grid.md +91 -75
  43. package/dist/components/layout/Stack.md +85 -70
  44. package/dist/components/navigation/Breadcrumbs.md +23 -14
  45. package/dist/components/navigation/Dropdown.md +29 -20
  46. package/dist/components/navigation/IconMenuButton.md +24 -11
  47. package/dist/components/navigation/InsetDrawer.md +16 -5
  48. package/dist/components/navigation/Link.md +30 -14
  49. package/dist/components/navigation/Menu.md +33 -20
  50. package/dist/components/navigation/MenuButton.md +26 -12
  51. package/dist/components/navigation/NavigationGroup.md +7 -11
  52. package/dist/components/navigation/NavigationItem.md +8 -12
  53. package/dist/components/navigation/Navigator.md +5 -9
  54. package/dist/components/navigation/Pagination.md +21 -12
  55. package/dist/components/navigation/ProfileMenu.md +17 -5
  56. package/dist/components/navigation/Stepper.md +18 -5
  57. package/dist/components/navigation/Tabs.md +37 -14
  58. package/dist/components/surfaces/Accordions.md +12 -16
  59. package/dist/components/surfaces/Card.md +59 -47
  60. package/dist/components/surfaces/Divider.md +70 -61
  61. package/dist/components/surfaces/Sheet.md +18 -5
  62. package/package.json +1 -1
@@ -57,9 +57,7 @@ Dropdown -- state container (open/close)
57
57
 
58
58
  See the [Dropdown](?path=/docs/components-navigation-dropdown--docs) documentation for guidance on when to use the composition pattern versus the standalone MenuButton/IconMenuButton components.
59
59
 
60
- ## Features
61
-
62
- ### Basic Menu
60
+ ## Menu Basic
63
61
 
64
62
  A standard menu with simple text items, optionally separated by dividers.
65
63
 
@@ -90,7 +88,7 @@ A standard menu with simple text items, optionally separated by dividers.
90
88
  </Stack>
91
89
  ```
92
90
 
93
- ### Menu Sizes
91
+ ## Menu Sizes
94
92
 
95
93
  Menu supports `sm`, `md`, and `lg` sizes that affect the padding and font size of all items.
96
94
 
@@ -131,7 +129,7 @@ Menu supports `sm`, `md`, and `lg` sizes that affect the padding and font size o
131
129
  </Stack>
132
130
  ```
133
131
 
134
- ### MenuItem States
132
+ ## Menu Item States
135
133
 
136
134
  MenuItems can be `selected`, `disabled`, or colored with semantic colors like `primary`, `danger`, `success`, and `warning`.
137
135
 
@@ -150,7 +148,7 @@ MenuItems can be `selected`, `disabled`, or colored with semantic colors like `p
150
148
  </Dropdown>
151
149
  ```
152
150
 
153
- ### MenuItem with Icons
151
+ ## Menu Items with Icons
154
152
 
155
153
  Add icons before item text to improve scannability. Use consistent icon sizing with `sx={{ mr: 1.5, fontSize: 'lg' }}`.
156
154
 
@@ -193,7 +191,7 @@ Add icons before item text to improve scannability. Use consistent icon sizing w
193
191
  </Dropdown>
194
192
  ```
195
193
 
196
- ### Actions Menu
194
+ ## Menu Actions
197
195
 
198
196
  Build action menus for CRUD operations. Use `color="danger"` to highlight destructive actions.
199
197
 
@@ -236,7 +234,7 @@ Build action menus for CRUD operations. Use `color="danger"` to highlight destru
236
234
  </Dropdown>
237
235
  ```
238
236
 
239
- ### Clickable Menu Items
237
+ ## Menu Clickable Items
240
238
 
241
239
  Attach `onClick` handlers to menu items to respond to user selections.
242
240
 
@@ -255,7 +253,7 @@ Attach `onClick` handlers to menu items to respond to user selections.
255
253
  </Stack>
256
254
  ```
257
255
 
258
- ### Menu as Links
256
+ ## Menu Links
259
257
 
260
258
  Use the `component="a"` prop on MenuItem to render items as anchor links for navigation.
261
259
 
@@ -279,7 +277,7 @@ Use the `component="a"` prop on MenuItem to render items as anchor links for nav
279
277
  </Dropdown>
280
278
  ```
281
279
 
282
- ### Profile Menu
280
+ ## Menu Profile
283
281
 
284
282
  Combine custom Box content (user info header) with standard MenuItem entries for rich profile menus.
285
283
 
@@ -349,7 +347,7 @@ Combine custom Box content (user info header) with standard MenuItem entries for
349
347
  </Dropdown>
350
348
  ```
351
349
 
352
- ### Menu Placements
350
+ ## Menu Placements
353
351
 
354
352
  Control the position of the menu panel relative to the trigger using the `placement` prop. Supported values include `top-start`, `top`, `top-end`, `bottom-start`, `bottom`, and `bottom-end`.
355
353
 
@@ -418,7 +416,7 @@ Control the position of the menu panel relative to the trigger using the `placem
418
416
  </Stack>
419
417
  ```
420
418
 
421
- ### Long Scrollable Menu
419
+ ## Menu Scrollable
422
420
 
423
421
  For menus with many items, apply `maxHeight` and `overflow: 'auto'` through the `sx` prop.
424
422
 
@@ -436,7 +434,7 @@ For menus with many items, apply `maxHeight` and `overflow: 'auto'` through the
436
434
  </Dropdown>
437
435
  ```
438
436
 
439
- ### Custom Styled Menu
437
+ ## Menu Custom Styling
440
438
 
441
439
  Customize the menu panel appearance with border-radius, shadows, borders, and custom item spacing.
442
440
 
@@ -500,7 +498,7 @@ Customize the menu panel appearance with border-radius, shadows, borders, and cu
500
498
  </Stack>
501
499
  ```
502
500
 
503
- ### Menu in Card
501
+ ## Menu in Card
504
502
 
505
503
  Embed a Dropdown menu inside cards or other container components for contextual actions.
506
504
 
@@ -560,7 +558,7 @@ Embed a Dropdown menu inside cards or other container components for contextual
560
558
  </Sheet>
561
559
  ```
562
560
 
563
- ### Nested Content
561
+ ## Menu Nested Content
564
562
 
565
563
  Menu can contain non-MenuItem elements like Box, Typography, and progress indicators alongside standard items.
566
564
 
@@ -646,9 +644,7 @@ Menu can contain non-MenuItem elements like Box, Typography, and progress indica
646
644
  </Dropdown>
647
645
  ```
648
646
 
649
- ## Common Use Cases
650
-
651
- ### Action Menu with Icons
647
+ ## Action Menu with Icons
652
648
 
653
649
  ```tsx
654
650
  <Dropdown>
@@ -671,7 +667,7 @@ Menu can contain non-MenuItem elements like Box, Typography, and progress indica
671
667
  </Dropdown>
672
668
  ```
673
669
 
674
- ### Navigation Menu
670
+ ## Navigation Menu
675
671
 
676
672
  ```tsx
677
673
  <Dropdown>
@@ -686,7 +682,7 @@ Menu can contain non-MenuItem elements like Box, Typography, and progress indica
686
682
  </Dropdown>
687
683
  ```
688
684
 
689
- ### User Profile Menu
685
+ ## User Profile Menu
690
686
 
691
687
  ```tsx
692
688
  <Dropdown>
@@ -719,6 +715,23 @@ Menu can contain non-MenuItem elements like Box, Typography, and progress indica
719
715
  </Dropdown>
720
716
  ```
721
717
 
718
+ ## Props and Customization
719
+
720
+ ### Key Props
721
+
722
+ | Prop | Type | Default | Description |
723
+ | ----------- | -------------------------------------------------------------- | ---------------- | ---------------------------------------- |
724
+ | `children` | `ReactNode` | - | Menu items (MenuItem, ListDivider, etc.) |
725
+ | `open` | `boolean` | - | Controlled open state |
726
+ | `onClose` | `() => void` | - | Callback when the menu closes |
727
+ | `placement` | `Placement` | `'bottom-start'` | Menu position relative to trigger |
728
+ | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | Menu size |
729
+ | `variant` | `'solid' \| 'soft' \| 'outlined' \| 'plain'` | `'outlined'` | Visual style |
730
+ | `color` | `'primary' \| 'neutral' \| 'danger' \| 'success' \| 'warning'` | `'neutral'` | Color scheme |
731
+ | `sx` | `SxProps` | - | Custom styles |
732
+
733
+ > **Note**: Menu also accepts all Joy UI Menu props and Framer Motion props.
734
+
722
735
  ## Best Practices
723
736
 
724
737
  - **Use ListDivider to group related items.** Logical grouping helps users scan the menu faster. Place destructive actions (like Delete) in their own group at the bottom.
@@ -61,9 +61,7 @@ function UserMenu() {
61
61
  | **IconMenuButton** | Icon button | Simple item list | Space is limited (tables, cards, toolbars) |
62
62
  | **Dropdown + Menu** | Any element | Rich content | You need dividers, headers, icons in items, or custom layout |
63
63
 
64
- ## Features
65
-
66
- ### Standalone (Without Dropdown Icon)
64
+ ## Standalone MenuButton Without Dropdown Icon
67
65
 
68
66
  Use `showIcon={false}` and a custom `buttonComponent` to render MenuButton as a standalone navigation link without the dropdown indicator.
69
67
 
@@ -87,7 +85,7 @@ Use `showIcon={false}` and a custom `buttonComponent` to render MenuButton as a
87
85
  />
88
86
  ```
89
87
 
90
- ### With End Decorator
88
+ ## MenuButton with End Decorator
91
89
 
92
90
  Add badges, chips, or icons after the button text using `endDecorator`.
93
91
 
@@ -108,7 +106,7 @@ Add badges, chips, or icons after the button text using `endDecorator`.
108
106
  />
109
107
  ```
110
108
 
111
- ### Placement: Bottom Start
109
+ ## MenuButton Placement Bottom Start
112
110
 
113
111
  Menu aligns to the left edge of the trigger button.
114
112
 
@@ -129,7 +127,7 @@ Menu aligns to the left edge of the trigger button.
129
127
  />
130
128
  ```
131
129
 
132
- ### Placement: Bottom
130
+ ## MenuButton Placement Bottom
133
131
 
134
132
  Menu centers below the trigger button.
135
133
 
@@ -150,7 +148,7 @@ Menu centers below the trigger button.
150
148
  />
151
149
  ```
152
150
 
153
- ### Placement: Bottom End
151
+ ## MenuButton Placement Bottom End
154
152
 
155
153
  Menu aligns to the right edge of the trigger button.
156
154
 
@@ -171,9 +169,7 @@ Menu aligns to the right edge of the trigger button.
171
169
  />
172
170
  ```
173
171
 
174
- ## Common Use Cases
175
-
176
- ### User Account Menu
172
+ ## User Account Menu
177
173
 
178
174
  ```tsx
179
175
  function AccountMenu({ user, onLogout }) {
@@ -193,7 +189,7 @@ function AccountMenu({ user, onLogout }) {
193
189
  }
194
190
  ```
195
191
 
196
- ### Export Options
192
+ ## Export Options Menu
197
193
 
198
194
  ```tsx
199
195
  function ExportMenu({ onExport }) {
@@ -212,7 +208,7 @@ function ExportMenu({ onExport }) {
212
208
  }
213
209
  ```
214
210
 
215
- ### Toolbar Actions
211
+ ## Toolbar Actions Menu
216
212
 
217
213
  ```tsx
218
214
  function ToolbarActions({ selectedItems, onAction }) {
@@ -233,6 +229,24 @@ function ToolbarActions({ selectedItems, onAction }) {
233
229
  }
234
230
  ```
235
231
 
232
+ ## Props and Customization
233
+
234
+ ### Key Props
235
+
236
+ | Prop | Type | Default | Description |
237
+ | ----------------- | -------------------------------------------------------------- | ---------------- | ------------------------------------ |
238
+ | `buttonText` | `string` | (required) | Text displayed in the trigger button |
239
+ | `items` | `{ text: string; onClick?: () => void }[]` | (required) | Menu item list |
240
+ | `variant` | `'solid' \| 'soft' \| 'outlined' \| 'plain'` | `'outlined'` | Button visual style |
241
+ | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | Button size |
242
+ | `color` | `'primary' \| 'neutral' \| 'danger' \| 'success' \| 'warning'` | `'neutral'` | Button color |
243
+ | `disabled` | `boolean` | `false` | Disables the button |
244
+ | `startDecorator` | `ReactNode` | - | Content before button text |
245
+ | `endDecorator` | `ReactNode` | - | Content after button text |
246
+ | `showIcon` | `boolean` | `true` | Show dropdown arrow icon |
247
+ | `placement` | `Placement` | `'bottom-start'` | Menu position |
248
+ | `buttonComponent` | `ElementType` | - | Custom trigger element |
249
+
236
250
  ## Best Practices
237
251
 
238
252
  - **Use descriptive button text.** The button label should clearly indicate what kind of options the menu contains. Avoid vague labels like "More" or "Options" -- prefer specific labels like "Export Options" or "User Actions".
@@ -32,9 +32,7 @@ function Sidebar() {
32
32
  }
33
33
  ```
34
34
 
35
- ## Examples
36
-
37
- ### Default
35
+ ## NavigationGroup Default
38
36
 
39
37
  Basic navigation group with a title and content.
40
38
 
@@ -42,7 +40,7 @@ Basic navigation group with a title and content.
42
40
  // Unable to derive source for Default
43
41
  ```
44
42
 
45
- ### Nesting Levels
43
+ ## NavigationGroup Nesting Levels
46
44
 
47
45
  NavigationGroup supports different indentation levels for nested hierarchies.
48
46
 
@@ -54,7 +52,7 @@ NavigationGroup supports different indentation levels for nested hierarchies.
54
52
  // Unable to derive source for Level2
55
53
  ```
56
54
 
57
- ### With Start Decorator
55
+ ## NavigationGroup with Start Decorator
58
56
 
59
57
  Add an icon before the group title.
60
58
 
@@ -62,7 +60,7 @@ Add an icon before the group title.
62
60
  // Unable to derive source for WithStartDecorator
63
61
  ```
64
62
 
65
- ### Levels with Icons
63
+ ## NavigationGroup Levels with Icons
66
64
 
67
65
  Icons work at any nesting level.
68
66
 
@@ -92,9 +90,7 @@ Icons work at any nesting level.
92
90
  - **Modal dialogs**: Use proper modal patterns instead
93
91
  - **Accordion content**: For non-navigation accordions, use Accordion directly
94
92
 
95
- ## Common Use Cases
96
-
97
- ### Admin Module Navigation
93
+ ## Admin Module Navigation with NavigationGroup
98
94
 
99
95
  ```tsx
100
96
  function AdminNavigation() {
@@ -150,7 +146,7 @@ function AdminNavigation() {
150
146
  }
151
147
  ```
152
148
 
153
- ### Nested Groups
149
+ ## Nested NavigationGroups
154
150
 
155
151
  ```tsx
156
152
  function NestedNavigation() {
@@ -199,7 +195,7 @@ function NestedNavigation() {
199
195
  }
200
196
  ```
201
197
 
202
- ### Documentation Sidebar
198
+ ## Documentation Sidebar with NavigationGroup
203
199
 
204
200
  ```tsx
205
201
  function DocsSidebar({ sections, currentPath }) {
@@ -31,9 +31,7 @@ function Sidebar() {
31
31
  }
32
32
  ```
33
33
 
34
- ## Examples
35
-
36
- ### Default
34
+ ## NavigationItem Default
37
35
 
38
36
  Basic navigation item with text content.
39
37
 
@@ -41,7 +39,7 @@ Basic navigation item with text content.
41
39
  // Unable to derive source for Default
42
40
  ```
43
41
 
44
- ### Selected State
42
+ ## NavigationItem Selected State
45
43
 
46
44
  Shows the visual indicator for the currently active navigation item.
47
45
 
@@ -49,7 +47,7 @@ Shows the visual indicator for the currently active navigation item.
49
47
  // Unable to derive source for Selected
50
48
  ```
51
49
 
52
- ### With Start Decorator
50
+ ## NavigationItem with Icon
53
51
 
54
52
  Add an icon before the navigation item text.
55
53
 
@@ -57,7 +55,7 @@ Add an icon before the navigation item text.
57
55
  // Unable to derive source for WithStartDecorator
58
56
  ```
59
57
 
60
- ### Nesting Levels
58
+ ## NavigationItem Nesting Levels
61
59
 
62
60
  NavigationItem supports different indentation levels for hierarchical navigation.
63
61
 
@@ -69,7 +67,7 @@ NavigationItem supports different indentation levels for hierarchical navigation
69
67
  // Unable to derive source for Level2
70
68
  ```
71
69
 
72
- ### Levels with Icons
70
+ ## NavigationItem Levels with Icons
73
71
 
74
72
  Icons work at any nesting level.
75
73
 
@@ -98,9 +96,7 @@ Icons work at any nesting level.
98
96
  - **Breadcrumbs**: Use Breadcrumbs component for path navigation
99
97
  - **Dropdown menus**: Use Dropdown with Menu for popup menus
100
98
 
101
- ## Common Use Cases
102
-
103
- ### Sidebar with Selection State
99
+ ## Sidebar Navigation with NavigationItem
104
100
 
105
101
  ```tsx
106
102
  function Sidebar({ currentPath }) {
@@ -139,7 +135,7 @@ function Sidebar({ currentPath }) {
139
135
  }
140
136
  ```
141
137
 
142
- ### Nested Navigation Items
138
+ ## Nested NavigationItems
143
139
 
144
140
  ```tsx
145
141
  function NestedNavigation() {
@@ -163,7 +159,7 @@ function NestedNavigation() {
163
159
  }
164
160
  ```
165
161
 
166
- ### Dynamic Navigation from Data
162
+ ## Dynamic Navigation from Data
167
163
 
168
164
  ```tsx
169
165
  function DynamicNavigation({ menuItems, selectedId, onSelect }) {
@@ -41,9 +41,7 @@ function Sidebar() {
41
41
  }
42
42
  ```
43
43
 
44
- ## Examples
45
-
46
- ### Basic Navigation
44
+ ## Basic Navigation
47
45
 
48
46
  A simple navigation with items and a collapsible group.
49
47
 
@@ -51,7 +49,7 @@ A simple navigation with items and a collapsible group.
51
49
  // Unable to derive source for Playground
52
50
  ```
53
51
 
54
- ### Default Expanded
52
+ ## Default Expanded Navigation
55
53
 
56
54
  Groups can be expanded by default using the `expanded` property.
57
55
 
@@ -77,9 +75,7 @@ Groups can be expanded by default using the `expanded` property.
77
75
  - **Flat navigation**: When all items are at the same level, use simple list
78
76
  - **Wizard/step flows**: Use Stepper for sequential processes
79
77
 
80
- ## Common Use Cases
81
-
82
- ### Admin Dashboard Sidebar
78
+ ## Admin Dashboard Sidebar
83
79
 
84
80
  ```tsx
85
81
  function AdminSidebar() {
@@ -130,7 +126,7 @@ function AdminSidebar() {
130
126
  }
131
127
  ```
132
128
 
133
- ### File Browser Navigation
129
+ ## File Browser Navigation
134
130
 
135
131
  ```tsx
136
132
  function FileBrowser({ folders, onFolderSelect }) {
@@ -170,7 +166,7 @@ function FileBrowser({ folders, onFolderSelect }) {
170
166
  }
171
167
  ```
172
168
 
173
- ### Multi-level Documentation Navigation
169
+ ## Multi-level Documentation Navigation
174
170
 
175
171
  ```tsx
176
172
  function DocsNavigation({ sections, currentPath }) {
@@ -46,9 +46,7 @@ function DataList() {
46
46
  }
47
47
  ```
48
48
 
49
- ## Features
50
-
51
- ### Sizes
49
+ ## Pagination Sizes
52
50
 
53
51
  Pagination is available in three sizes -- `sm`, `md`, and `lg` -- for both the standard and compact variants.
54
52
 
@@ -69,7 +67,7 @@ Pagination is available in three sizes -- `sm`, `md`, and `lg` -- for both the s
69
67
  </Stack>
70
68
  ```
71
69
 
72
- ### Page Positions
70
+ ## Pagination Page Positions
73
71
 
74
72
  The component correctly handles the visual presentation when the user is at the beginning, middle, or end of the page range, adjusting ellipsis buttons and disabled states accordingly.
75
73
 
@@ -108,7 +106,7 @@ The component correctly handles the visual presentation when the user is at the
108
106
  </Stack>
109
107
  ```
110
108
 
111
- ### Uncontrolled Mode
109
+ ## Uncontrolled Pagination
112
110
 
113
111
  In uncontrolled mode the component manages its own page state internally. Pass `defaultPaginationModel` to set the initial state and use `onPageChange` to react to changes.
114
112
 
@@ -116,7 +114,7 @@ In uncontrolled mode the component manages its own page state internally. Pass `
116
114
  <Pagination {...args} />
117
115
  ```
118
116
 
119
- ### Controlled Mode
117
+ ## Controlled Pagination
120
118
 
121
119
  In controlled mode the parent component owns the page state via `paginationModel` and updates it through `onPageChange`. This gives full control over navigation behavior.
122
120
 
@@ -124,7 +122,7 @@ In controlled mode the parent component owns the page state via `paginationModel
124
122
  <Pagination {...args} paginationModel={paginationModel} onPageChange={handlePageChange} />
125
123
  ```
126
124
 
127
- ### Dynamic Row Count
125
+ ## Pagination with Dynamic Row Count
128
126
 
129
127
  Pagination automatically adjusts when the total number of items changes. If the current page exceeds the new page count, the component clamps to the last available page.
130
128
 
@@ -138,9 +136,7 @@ Pagination automatically adjusts when the total number of items changes. If the
138
136
  </Stack>
139
137
  ```
140
138
 
141
- ## Common Use Cases
142
-
143
- ### Data Table Pagination
139
+ ## Pagination for Data Table
144
140
 
145
141
  ```tsx
146
142
  function DataTable({ columns }) {
@@ -167,7 +163,7 @@ function DataTable({ columns }) {
167
163
  }
168
164
  ```
169
165
 
170
- ### Search Results with Compact Variant
166
+ ## Compact Pagination
171
167
 
172
168
  ```tsx
173
169
  function SearchResults({ query }) {
@@ -193,7 +189,7 @@ function SearchResults({ query }) {
193
189
  }
194
190
  ```
195
191
 
196
- ### URL-Synchronized Pagination
192
+ ## URL-Synchronized Pagination
197
193
 
198
194
  ```tsx
199
195
  function URLPaginatedList() {
@@ -214,6 +210,19 @@ function URLPaginatedList() {
214
210
  }
215
211
  ```
216
212
 
213
+ ## Props and Customization
214
+
215
+ ### Key Props
216
+
217
+ | Prop | Type | Default | Description |
218
+ | ------------------------ | ------------------------------------ | --------------------------- | -------------------------- |
219
+ | `paginationModel` | `{ page: number; pageSize: number }` | (required) | Current page and page size |
220
+ | `defaultPaginationModel` | `{ page: number; pageSize: number }` | `{ page: 1, pageSize: 25 }` | Initial pagination state |
221
+ | `rowCount` | `number` | (required) | Total number of rows |
222
+ | `onPageChange` | `(newPage: number) => void` | (required) | Callback when page changes |
223
+ | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | Pagination control size |
224
+ | `variant` | `'standard' \| 'compact'` | `'standard'` | Pagination display mode |
225
+
217
226
  ## Best Practices
218
227
 
219
228
  - **Always show context.** Display the total item count and current range (for example "Showing 1--25 of 250") alongside the pagination controls so users understand the scope of the data.
@@ -289,9 +289,7 @@ Use `defaultOpen` to set the initial state, then let the component manage its ow
289
289
  />
290
290
  ```
291
291
 
292
- ## Common Use Cases
293
-
294
- ### Header Navigation
292
+ ## Header Navigation
295
293
 
296
294
  ```tsx
297
295
  function AppHeader() {
@@ -319,7 +317,7 @@ function AppHeader() {
319
317
  }
320
318
  ```
321
319
 
322
- ### Multi-Role User
320
+ ## Multi-Role User
323
321
 
324
322
  ```tsx
325
323
  function RoleBasedProfileMenu({ user, currentRole, switchRole, signOut }) {
@@ -348,7 +346,7 @@ function RoleBasedProfileMenu({ user, currentRole, switchRole, signOut }) {
348
346
  }
349
347
  ```
350
348
 
351
- ### Organization Context
349
+ ## Organization Context
352
350
 
353
351
  ```tsx
354
352
  function OrgProfileMenu({ user, organization }) {
@@ -371,6 +369,20 @@ function OrgProfileMenu({ user, organization }) {
371
369
  }
372
370
  ```
373
371
 
372
+ ## Props and Customization
373
+
374
+ ### Key Props
375
+
376
+ | Prop | Type | Default | Description |
377
+ | -------------- | ---------------------------------------------------------------------- | --------------- | ------------------------------------------------ |
378
+ | `profile` | `{ name: string; image?: string; caption?: string; chip?: ReactNode }` | (required) | User profile data |
379
+ | `menuItems` | `{ label: string; [key: string]: any }[]` | (required) | Dropdown menu items (accepts all MenuItem props) |
380
+ | `open` | `boolean` | - | Controlled open state |
381
+ | `defaultOpen` | `boolean` | `false` | Initial open state (uncontrolled) |
382
+ | `onOpenChange` | `(open: boolean) => void` | - | Callback when open state changes |
383
+ | `getInitial` | `(name: string) => string` | First character | Custom function to extract initials from name |
384
+ | `size` | `'sm' \| 'md'` | `'md'` | Component size |
385
+
374
386
  ## Best Practices
375
387
 
376
388
  1. **Always include essential actions**: At minimum, provide access to profile viewing and sign-out.
@@ -125,9 +125,7 @@ When `activeStep` is set to `0`, all steps are displayed in the inactive state.
125
125
  // Unable to derive source for WithAllInactive
126
126
  ```
127
127
 
128
- ## Common Use Cases
129
-
130
- ### Form Wizard
128
+ ## Form Wizard
131
129
 
132
130
  ```tsx
133
131
  function FormWizard() {
@@ -162,7 +160,7 @@ function FormWizard() {
162
160
  }
163
161
  ```
164
162
 
165
- ### Order Tracking
163
+ ## Order Tracking
166
164
 
167
165
  ```tsx
168
166
  function OrderTracking({ currentStatus }) {
@@ -185,7 +183,7 @@ function OrderTracking({ currentStatus }) {
185
183
  }
186
184
  ```
187
185
 
188
- ### Compact Progress Indicator
186
+ ## Compact Progress Indicator
189
187
 
190
188
  ```tsx
191
189
  function CompactProgress({ currentStep, totalSteps }) {
@@ -204,6 +202,21 @@ function CompactProgress({ currentStep, totalSteps }) {
204
202
  }
205
203
  ```
206
204
 
205
+ ## Props and Customization
206
+
207
+ ### Key Props
208
+
209
+ | Prop | Type | Default | Description |
210
+ | ------------------- | --------------------------------------------------------------------------------- | --------------- | -------------------------------------------- |
211
+ | `steps` | `{ indicatorContent?: ReactNode; label?: ReactNode; extraContent?: ReactNode }[]` | (required) | Step definitions |
212
+ | `activeStep` | `number` | (required) | Currently active step index (0-based) |
213
+ | `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` | Stepper layout direction |
214
+ | `stepOrientation` | `'horizontal' \| 'vertical'` | `'horizontal'` | Individual step content orientation |
215
+ | `activeColor` | `string` | `'primary.500'` | Color for active/completed step indicators |
216
+ | `inactiveColor` | `string` | `'neutral.400'` | Color for inactive step indicators |
217
+ | `activeLineColor` | `string` | `'primary.500'` | Color for connector lines of completed steps |
218
+ | `inactiveLineColor` | `string` | `'neutral.300'` | Color for connector lines of future steps |
219
+
207
220
  ## Best Practices
208
221
 
209
222
  1. **Keep step count manageable**: Limit the number of steps to 3-7 for optimal user comprehension. If more steps are needed, consider grouping them.