@simoncomputing/mui-bueno-v2 0.14.7

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 (87) hide show
  1. package/CHANGELOG.md +1206 -0
  2. package/README.md +35 -0
  3. package/dist/@types/index.d.ts +192 -0
  4. package/dist/common/Utils/index.d.ts +65 -0
  5. package/dist/common/WindowDimensions/WindowDimensions.d.ts +26 -0
  6. package/dist/components/Alerts/Alert.d.ts +30 -0
  7. package/dist/components/Alerts/ErrorAlert.d.ts +4 -0
  8. package/dist/components/Alerts/InfoAlert.d.ts +4 -0
  9. package/dist/components/Alerts/SuccessAlert.d.ts +4 -0
  10. package/dist/components/Alerts/WarningAlert.d.ts +4 -0
  11. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +10 -0
  12. package/dist/components/Buttons/Button/Button.d.ts +24 -0
  13. package/dist/components/Buttons/ScrollToTop/ScrollToTop.d.ts +14 -0
  14. package/dist/components/Buttons/Submit/Submit.d.ts +11 -0
  15. package/dist/components/Form/Error/Error.d.ts +23 -0
  16. package/dist/components/Form/FormDebugger/FormDebugger.d.ts +8 -0
  17. package/dist/components/Form/Inputs/Autocomplete/Autocomplete.d.ts +81 -0
  18. package/dist/components/Form/Inputs/Autocomplete/DynamicAutocomplete/DynamicAutocomplete.d.ts +31 -0
  19. package/dist/components/Form/Inputs/Autocomplete/MultiAutocomplete/MultiAutocomplete.d.ts +22 -0
  20. package/dist/components/Form/Inputs/Autocomplete/utils.d.ts +2 -0
  21. package/dist/components/Form/Inputs/Checkbox/Checkbox.d.ts +58 -0
  22. package/dist/components/Form/Inputs/CheckboxGroup/CheckboxGroup.d.ts +107 -0
  23. package/dist/components/Form/Inputs/CitationField/CitationBubbleMenuHandler.d.ts +43 -0
  24. package/dist/components/Form/Inputs/CitationField/CitationField.d.ts +89 -0
  25. package/dist/components/Form/Inputs/CitationField/CitationFieldContext/CitationFieldContext.d.ts +9 -0
  26. package/dist/components/Form/Inputs/CitationField/CitationFieldContext/CitationFieldProvider.d.ts +8 -0
  27. package/dist/components/Form/Inputs/CitationField/CitationMenu/AttachmentForm.d.ts +12 -0
  28. package/dist/components/Form/Inputs/CitationField/CitationMenu/CitationBubbleMenu.d.ts +27 -0
  29. package/dist/components/Form/Inputs/CitationField/CitationMenu/CitationForm.d.ts +11 -0
  30. package/dist/components/Form/Inputs/CitationField/CitationMenu/CitationMenu.d.ts +78 -0
  31. package/dist/components/Form/Inputs/CitationField/CitationMenu/CitationTable.d.ts +21 -0
  32. package/dist/components/Form/Inputs/CitationField/CitationNode.d.ts +2 -0
  33. package/dist/components/Form/Inputs/CitationField/CitationNodeComponent.d.ts +7 -0
  34. package/dist/components/Form/Inputs/CitationField/CitationRefreshContext/CitationRefreshContext.d.ts +29 -0
  35. package/dist/components/Form/Inputs/CitationField/MenuButtonEditCitation.d.ts +3 -0
  36. package/dist/components/Form/Inputs/DateField/DateField.d.ts +73 -0
  37. package/dist/components/Form/Inputs/DateField/DateRangeField/DateRangeField.d.ts +62 -0
  38. package/dist/components/Form/Inputs/DateField/dayjs-utils.d.ts +2 -0
  39. package/dist/components/Form/Inputs/FileUpload/FileList/FileList.d.ts +13 -0
  40. package/dist/components/Form/Inputs/FileUpload/FileUpload.d.ts +62 -0
  41. package/dist/components/Form/Inputs/Location/Location.d.ts +69 -0
  42. package/dist/components/Form/Inputs/Location/Location.types.d.ts +85 -0
  43. package/dist/components/Form/Inputs/Location/LocationOption.d.ts +38 -0
  44. package/dist/components/Form/Inputs/RadioGroup/RadioGroup.d.ts +119 -0
  45. package/dist/components/Form/Inputs/RangeSlider/RangeSlider.d.ts +34 -0
  46. package/dist/components/Form/Inputs/RichTextField/RichTextControls.d.ts +6 -0
  47. package/dist/components/Form/Inputs/RichTextField/RichTextField.d.ts +56 -0
  48. package/dist/components/Form/Inputs/RichTextField/SuggestionList.d.ts +8 -0
  49. package/dist/components/Form/Inputs/RichTextField/mentionSuggestionOptions.d.ts +6 -0
  50. package/dist/components/Form/Inputs/RichTextField/useExtensions.d.ts +10 -0
  51. package/dist/components/Form/Inputs/SearchField/SearchField.d.ts +16 -0
  52. package/dist/components/Form/Inputs/Select/Select.d.ts +91 -0
  53. package/dist/components/Form/Inputs/Switch/Switch.d.ts +61 -0
  54. package/dist/components/Form/Inputs/TextField/TextField.d.ts +60 -0
  55. package/dist/components/Form/RepeatableFormGroup/RepeatableFormGroup.d.ts +89 -0
  56. package/dist/components/Form/Stepper/Stepper.d.ts +27 -0
  57. package/dist/components/LoadingIndicator/LoadingIndicator.d.ts +22 -0
  58. package/dist/components/Modals/AlertModal/AlertModal.d.ts +11 -0
  59. package/dist/components/Modals/ConfirmationModal/ConfirmationModal.d.ts +26 -0
  60. package/dist/components/Modals/DecisionModal/DecisionModal.d.ts +37 -0
  61. package/dist/components/Modals/Modal.d.ts +45 -0
  62. package/dist/components/Navigation/Footer/Footer.d.ts +31 -0
  63. package/dist/components/Navigation/Header/DarkModeToggle/DarkModeToggle.d.ts +13 -0
  64. package/dist/components/Navigation/Header/Drawer.d.ts +18 -0
  65. package/dist/components/Navigation/Header/EnvironmentBanner.d.ts +4 -0
  66. package/dist/components/Navigation/Header/Header.d.ts +63 -0
  67. package/dist/components/Navigation/Header/ProfileMenu.d.ts +8 -0
  68. package/dist/components/Navigation/MenuButton/MenuButton.d.ts +9 -0
  69. package/dist/components/Navigation/NavBar/FloatingNavBar/FloatingNavBar.d.ts +24 -0
  70. package/dist/components/Navigation/NavBar/NavBar.d.ts +24 -0
  71. package/dist/components/Navigation/Sidebar/Sidebar.d.ts +14 -0
  72. package/dist/components/Navigation/Tabs/Tabs.d.ts +19 -0
  73. package/dist/components/PageHeader/PageHeader.d.ts +27 -0
  74. package/dist/components/SingleActionCard/SingleActionCard.d.ts +26 -0
  75. package/dist/components/Snackbar/Snackbar.d.ts +28 -0
  76. package/dist/components/Table/ExpandableRow/ExpandableRow.d.ts +16 -0
  77. package/dist/components/Table/PaginatedTable.d.ts +44 -0
  78. package/dist/components/Table/Table.d.ts +129 -0
  79. package/dist/index.cjs.js +402 -0
  80. package/dist/index.css +1 -0
  81. package/dist/index.d.ts +105 -0
  82. package/dist/index.es.js +60187 -0
  83. package/dist/index.umd.js +403 -0
  84. package/dist/styles/3-theme/ThemeDemo.d.ts +3 -0
  85. package/dist/styles/3-theme/theme.d.ts +8 -0
  86. package/dist/styles/theme.d.ts +33 -0
  87. package/package.json +138 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,1206 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html)<sup>1</sup>.
7
+
8
+ <sup>1</sup>Starting v0.2.40, we'll be following the following versioning practices to make it easier for devs to determine whether or not they are ready to upgrade to a newer verison of Mui Bueno:
9
+
10
+ - Major increment --> large/many changes. SEVERAL breaking changes.
11
+ - Minor increment --> singlular/minor changes. Minimal breaking changes.
12
+ - Patch increment --> singlular/minor changes. Zero breaking changes.
13
+
14
+ ## [0.14.7] - 2025-07-01
15
+
16
+ **Important: Starting v0.14.7, this library will be published under the `simoncomputing` org in NPM, so please update your `mui-bueno-v2` import in `package.json` to `@simoncomputing/mui-bueno-v2`.**
17
+
18
+ ### Changed
19
+
20
+ - `CitationField`:
21
+ - Replaced `CitationCrossFieldSyncProvider` with `CitationFieldProvider`
22
+ - Replaced icon for "Insert Citation" button
23
+ - `CitationField`/`CitationMenu`: updated error handling to call optional `onError` prop instead of logging to the console
24
+ - `Tabs`/`Navbar`/`FloatingNavBar`/`Sidebar`: simplified `activeTabIdx` prop type definition (`activeTabIdx?: number | undefined` --> `activeTabIdx?: number`)
25
+
26
+ ### Fixed
27
+
28
+ - `CitationFieldProvider` (formerly `CitationCrossFieldSyncProvider`): Fixed and issue where the provider, when wrapping multiple `CitationField` components, would cause the pop-up menus to open for other fields after updating the title of a citation
29
+ - `Header`: added truthiness check for logo
30
+ - `Table`/`PaginatedTable`: fixed issue causing sort field to switch from `uncontrolled` to `controlled` state
31
+
32
+ ## [0.14.6] - 2025-06-27
33
+
34
+ ### Added
35
+
36
+ - `CitationCrossFieldSyncProvider`: Used to keep multiple `CitationField` components in sync by notifying all fields whenever a citation's title is updated, in case a refetch is needed.
37
+
38
+ ### Changed
39
+
40
+ - `CitationField`/`CitationMenu` - error handling will all be handled internally now. Migration instructions: Make sure you're not catching errors for `fetchExistingCitations`, `onCreateCitation`, `onUpdateCitation`, `getCitationById`, and `onStoreAttachment`.
41
+
42
+ ### Removed
43
+
44
+ - `CitationField`: Removed the `renderContentOnly` prop. This was meant to be removed in 0.14.0 but missed removing the actual prop definition.
45
+
46
+ ## [0.14.5] - 2025-06-26
47
+
48
+ ### Added
49
+
50
+ - `CitationField`: Added `required` prop, which will display an asterisk next to the label (if provided)
51
+
52
+ ### Changed
53
+
54
+ - `CitationField`: Label will auto-generate based on the `name`, to be consistent with other inputs. To remove this, use the `hideLabel` prop.
55
+
56
+ ### Removed
57
+
58
+ - `CitationField`: Removed `labelProps` because the internal label was replaced with Mui's `InputLabel` component, to ensure it's consistent with other components.
59
+
60
+ ## [0.14.4] - 2025-06-26
61
+
62
+ ### Fixed
63
+
64
+ - `CitationField`: Fixed "'flushSync' was called from inside a lifecycle method." error
65
+
66
+ ## [0.14.1] - 2025-06-25
67
+
68
+ ### Changed
69
+
70
+ - `CitationField`: Optimized internal API fetching. Now the citation labels will only be fetched (1) when the formik value changes (2) when a unique citation is injected into the editor, or (3) the title of a citation in the editor was changed.
71
+
72
+ ## [0.14.0] - 2025-06-23
73
+
74
+ ### Added
75
+
76
+ - `CitationField`: Added light gray background highlighting to the citation node when selected via arrow-keys, to improve accessibility for users interacting with the editor via keyboard.
77
+
78
+ ### Changed
79
+
80
+ - `CitationField`:
81
+ - Major refactor of how citations were rendered in the internal text editor
82
+ - Citation titles will load in dynamically, to reduce issues where the user modifies a citation, then the title displayed is different
83
+
84
+ ### Removed
85
+
86
+ - `CitationField`: Removed the `renderContentOnly` prop, as this was causing some errors in the console. May reintroduce it in the future, but will need to revisit the documentation first to ensure it's being used correctly.
87
+
88
+ ## [0.13.3] - 2025-06-19
89
+
90
+ ### Fixed
91
+
92
+ - `CitationMenu`/`CitationField`: Fixed a bug where if the user clicks edit on an existing citation, then tries to create a citation, the fields would be prefilled with the previous citation's information.
93
+
94
+ ## [0.13.2] - 2025-06-19
95
+
96
+ ### Added
97
+
98
+ - `CitationMenu`: Added `onContentUpdate` callback to allow for listening to changes to the content (ex. data in the citations table, user clicks "Add Citation", etc.). This is fairly simplistic, and is primarily intended to be used in cases like displaying `CitationMenu` inside of a Popper, which will need to be repositioned if the content within it changes dimensions (otherwise content may be cut off).
99
+
100
+ ## [0.13.1] - 2025-06-19
101
+
102
+ ### Added
103
+
104
+ - `CitationMenu`: Added docs for all props
105
+
106
+ ### Changed
107
+
108
+ - `CitationMenu`: Renamed prop `onClose` to `onCancel`
109
+
110
+ ## [0.13.0] - 2025-06-19
111
+
112
+ ### Added
113
+
114
+ - `CitationMenu`: Exposed the internal menu from `CitationField` so that it can be used outside of `CitationField`. This component allows for the creating, editing, and selecting citations/attachments.
115
+
116
+ ### Changed
117
+
118
+ - `CitationField`: Refactored internal components as part of exposing `CitationMenu`. There shouldn't be any noticable changes but there may be potential issues as a result.
119
+
120
+ - `FileUpload`: changed data-testid of the file upload inputs to make them more specific for unit tests ("input" --> "file-input")
121
+
122
+ ### Fixed
123
+
124
+ - `CitationField`
125
+ - Fixed a bug where if the user repeated clicks on an existing citation in the field/editor (superscript link) then closes the pop-up/bubble menu via Cancel button, the menu would not have the existing citations pre-selected in the pop-up/bubble menu every other time.
126
+ - Fixed an inconsistency in how the forms were validated between the Citation and Attachment forms -- the Attachment form was being validated immediately rather than waiting for the user to interact so that's been fixed to match the Citation Form
127
+
128
+ ## [0.12.8] - 2025-06-13
129
+
130
+ ### Fixed
131
+
132
+ - `CitationField` _(WIP/early-access)_:
133
+ - Fixed citations navigating to '#' when in readonly mode
134
+ - Fixed citations inserting at the end of the field instead of where the cursor is
135
+
136
+ ## [0.12.7] - 2025-06-13
137
+
138
+ ### Fixed
139
+
140
+ - `CitationField` _(WIP/early-access)_: Fixed the pop-up menu getting cut off after citation data finishes loading
141
+
142
+ ## [0.12.6] - 2025-06-12
143
+
144
+ ### Fixed
145
+
146
+ - `CitationField` _(WIP/early-access)_:
147
+ - Fixed add/edit citation/attachment form enabling before save citation/attachment API call was completed
148
+ - Fixed errors being thrown unnecessarily. When the calling app throws an error during an API call, the library just needs to clean up any state but does not need to throw the same error.
149
+
150
+ ## [0.12.5] - 2025-06-11
151
+
152
+ ### Fixed
153
+
154
+ - `CitationField` _(WIP/early-access)_:
155
+ - Simplify interface for uploading attachment
156
+ - File cannot be changed once uploaded (just title)
157
+
158
+ ## [0.12.4] - 2025-06-11
159
+
160
+ ### Fixed
161
+
162
+ - `CitationField` _(WIP/early-access)_: Added missing validation for ensuring an attachment has a file selected.
163
+
164
+ ## [0.12.3] - 2025-06-11
165
+
166
+ ### Security
167
+
168
+ - `CitationField` _(WIP/early-access)_: Removed hyperlinks in citation table to avoid users potentially opening malicious links
169
+
170
+ ## [0.12.2] - 2025-06-11
171
+
172
+ ### Fixed
173
+
174
+ - `CitationField` _(WIP/early-access)_: Added prop for upload attachment via API call so that attachments can be stored.
175
+
176
+ ## [0.12.1] - 2025-06-11
177
+
178
+ ### Fixed
179
+
180
+ - `CitationField` _(WIP/early-access)_: Clicking on a citation's title in the table (pop-up menu) will open the citation's url in a new tab.
181
+
182
+ ## [0.12.0] - 2025-06-11
183
+
184
+ ### Removed
185
+
186
+ - `CitationField` _(WIP/early-access)_: Citations cannot be deleted.
187
+
188
+ ### Fixed
189
+
190
+ - `CitationField` _(WIP/early-access)_: If the user backspaces on a citation, the whole citation will be deleted instead of previously allowing the user to change the citation superscript label outside of the pop-up menu, which can lead to mismatches between the superscript label and the actual citation's title.
191
+
192
+ ## [0.11.21] - 2025-06-10
193
+
194
+ ### Fixed
195
+
196
+ - `CitationField` _(WIP/early-access)_: Citation table won't unnecessarily refresh if a citation could not be deleted.
197
+
198
+ ## [0.11.20] - 2025-06-10
199
+
200
+ ### Removed
201
+
202
+ - `CitationField` _(WIP/early-access)_: Revert fix in 0.11.19 that prevents the user from deleting citations that are being referenced elsewhere, as this should be handled by the calling application via `onDelete`
203
+
204
+ ## [0.11.19] - 2025-06-09
205
+
206
+ ### Added
207
+
208
+ - `CitationField` _(WIP/early-access)_: Show number of selected citation(s) on Select button
209
+
210
+ ### Fixed
211
+
212
+ - `CitationField` _(WIP/early-access)_: Don't allow user to delete citations that are being referenced somewhere within the editor.
213
+
214
+ ## [0.11.18] - 2025-06-09
215
+
216
+ ### Fixed
217
+
218
+ - `CitationField` _(WIP/early-access)_: Fetch data after delete
219
+
220
+ ## [0.11.16] - 2025-06-09
221
+
222
+ ### Fixed
223
+
224
+ - `CitationField` _(WIP/early-access)_: Implemented deleting citations (added `onDeleteCitation` prop)
225
+
226
+ ## [0.11.15] - 2025-05-30
227
+
228
+ ### Fixed
229
+
230
+ - `CitationField` _(WIP/early-access)_: Fixed Citation superscript not updating properly when user selects citations across different pages in the citations table.
231
+
232
+ ## [0.11.14] - 2025-05-30
233
+
234
+ ### Fixed
235
+
236
+ - `CitationField` _(WIP/early-access)_: Fixed `fileName` not updating when file changed.
237
+
238
+ ## [0.11.13] - 2025-05-29
239
+
240
+ ### Fixed
241
+
242
+ - `CitationField` _(WIP/early-access)_: Fixed hardcoded attachment file name when editing attachment.
243
+
244
+ ## [0.11.12] - 2025-05-29
245
+
246
+ ### Fixed
247
+
248
+ - `CitationField` _(WIP/early-access)_: Fixed `onUpdateCitation` missing id.
249
+
250
+ ## [0.11.11] - 2025-05-28
251
+
252
+ ### Changed
253
+
254
+ - `CitationField` _(WIP/early-access)_: Changed interface for `getCitationById` to only accept numeric id.
255
+
256
+ ## [0.11.10] - 2025-05-28
257
+
258
+ ### Fixed
259
+
260
+ - `RadioGroup`, `CheckboxGroup`, `RangeSlider` - fixed auto-labeling (`label` will default to a readable/formatted version of `name`).
261
+
262
+ ## [0.11.9] - 2025-05-28
263
+
264
+ ### Added
265
+
266
+ - All Modals: added `disableDismiss` prop, which when true, will disable the modal from being dismissed when the user clicks the backdrop or escape key. Recommended for modals with forms, to avoid users from losing their data by accidentally dismissing the modal.
267
+
268
+ ## [0.11.8] - 2025-05-27
269
+
270
+ ### Changed
271
+
272
+ - `CitationField` _(WIP/early-access)_
273
+ - Minor tweaks to Citation object, renamed `filename` to `fileName`
274
+
275
+ ## [0.11.7] - 2025-05-27
276
+
277
+ ### Changed
278
+
279
+ - `CitationField` _(WIP/early-access)_
280
+ - Minor tweaks to Citation object, renamed `type` to `classification`
281
+
282
+ ## [0.11.6] - 2025-05-27
283
+
284
+ ### Added
285
+
286
+ - `Table`/`PaginatedTable`
287
+
288
+ - added `errorTableMsg` prop which, when defined, will show an error message in the table
289
+ - added `retryCallback` prop which, when defined AND `errorTableMsg` is defined, will display a "Retry?" button for the user to click to trigger a new API fetch.
290
+
291
+ - `CitationField` _(WIP/early-access)_
292
+ - Updated Citation table to display an error message (with retry) when the fetch fails.
293
+
294
+ ## [0.11.5] - 2025-05-27
295
+
296
+ ### Changed
297
+
298
+ - `CitationField` _(WIP/early-access)_
299
+ - Update `fetchExistingCitations` signature to `PageState` to account for different `PageRequest` definitions
300
+
301
+ ## [0.11.4] - 2025-05-27
302
+
303
+ ### Fixed
304
+
305
+ - `CitationField` _(WIP/early-access)_
306
+ - Update `fetchExistingCitations` signature to include `PageRequest` so application can pass this to their API request
307
+
308
+ ## [0.11.3] - 2025-05-23
309
+
310
+ ### Fixed
311
+
312
+ - `CitationField` _(WIP/early-access)_
313
+ - Page Size was displaying as 0 initially instead of 5
314
+ - Rows Per Page dropdown on Citations Table was appearing under the popup
315
+
316
+ ## [0.11.2] - 2025-05-23
317
+
318
+ ### Added
319
+
320
+ - `CitationField` _(WIP/early-access)_
321
+ - Field will santitize itself when it does not contain content, so if the field only contains whitespace/newlines, it will update to `<p></p>`.
322
+
323
+ ## [0.11.1] - 2025-05-23
324
+
325
+ ### Added
326
+
327
+ - `CitationField` _(WIP/early-access)_
328
+ - Added built-in error handling (Note: only error will show under field. Border will not turn red like other fields at the moment)
329
+ - Added `margin` prop that behaves like the other form fields
330
+
331
+ ## [0.11.0] - 2025-05-19
332
+
333
+ IMPORTANT: I recommend removing `PageResponse` from your project's `index.d.ts` and using the one provided by this library instead.
334
+
335
+ ### Added
336
+
337
+ - `CitationField` - _(WIP/early-access -- This is a complex field and will likely have some bugs -- use with caution)_ allows users to insert citations (links, web articles, attachments, etc)
338
+ - `Checkbox` - added `onChange` listener
339
+ - `Table`/`PaginatedTable` - added `x-small` value to `size` prop to reduce extra padding around the cells
340
+
341
+ ## [0.10.1] - 2025-05-15
342
+
343
+ ### Added
344
+
345
+ - `Table`/`PaginatedTable` -- exposed MUI's table props
346
+
347
+ ## [0.10.0] - 2025-05-14
348
+
349
+ ### Changed
350
+
351
+ - `DateField`/`DateRangeField`
352
+ - Updated field to always expect dates in UTC, instead of the user's timezone
353
+ - Updated the `onChange` so that the first parameter returns the Formik value (ISO date string, in UTC) instead of Dayjs obj
354
+
355
+ ### Removed
356
+
357
+ - `DateField`/`DateRangeField` - removed `useIso` prop. **Migration: All DateField/DateRangeField components will be using ISO date strings by default, so this prop can be removed.** _(Rare: If any date fields weren't using the useIso prop before now, those fields will need to be converted to expect ISO date strings)_
358
+
359
+ ## [0.9.2] - 2025-05-06
360
+
361
+ ### Added
362
+
363
+ - `Snackbar`
364
+ - added `autoHideDuration` prop so that the time before the snackbar disappears can be overridden. Default is still the original value: 8000ms.
365
+ - added `variant` prop to allow overriding style (same as `Alert`'s `variant`)
366
+ - added `elevation` prop to allow overriding elevation (Default is 6dp)
367
+
368
+ ### Changed
369
+
370
+ - `Snackbar` **(Cosmetic)**
371
+ - Changed default styling to match the `Alert` component
372
+ - Changed `timeout` severity from `info` to `warning`
373
+ - `DateField`/`DateRangeField` - (Internal) re-organized props to reduce duplicate code
374
+
375
+ ### Fixed
376
+
377
+ - `DateField`/`DateRangeField` - Fixed issue where setting the `onChange` prop would cause Formik stop updating the field value.
378
+
379
+ ### Changed
380
+
381
+ ## [0.9.1] - 2025-05-05
382
+
383
+ ### Fixed
384
+
385
+ - `Autocomplete`/`DynamicAutocomplete` - Fixed `disableClearable` displaying error `"Type 'true' is not assignable to type 'false'"`.
386
+
387
+ ## [0.9.0] - 2025-05-02
388
+
389
+ ### Changed
390
+
391
+ - `PaginatedTable` - `alwaysShowPagination` was replaced with `hidePaginationControls`. **Migration:** if you have `alwaysShowPagination` on any of your tables, remove this prop. For all other paginated tables, consider setting `hidePaginationControls` but be very careful to ensure that the parent only sets this prop **on page load** to avoid the pagination controls disappearing when the user interacts with them (example, changing rows-per-page from 5 to 25 on a data set of 15). When in doubt, do not use `hidePaginationControls`.
392
+
393
+ ## [0.8.0] - 2025-05-02
394
+
395
+ ### Added
396
+
397
+ - `Header`/`Footer`/`NavBar`/`Tabs`/`Drawer`/`MenuButton`/`ProfileMenu`: Added `externalLink` prop to `MenuOption` (formerly `NavigationItem`/`TabNavigationItem`) to allow navigation to external links. This prop cannot be defined at the same time as `path`. Similar to `path`, if `externalLink` is defined but NOT `onClick`, it will render as a link.
398
+
399
+ ### Changed
400
+
401
+ - `Header`/`Footer`/`NavBar`/`Tabs`/`Drawer`/`MenuButton`/`ProfileMenu`: `NavigationItem` & `TabNavigationItem` have been replaced with `MenuOption`. Since `NavigationItem` does not necessarily always navigate (ex. changing a setting like toggling dark mode), it made more sense to rename it something more generic. All props of type `NavigationItem` have been renamed to match `MenuOption` to be consistent with the previous change. MIGRATION: Rename any varations of NavitationItem/navItem/etc to MenuOption.
402
+
403
+ ## [0.7.0] - 2025-05-01
404
+
405
+ ### Changed
406
+
407
+ - `Header`/`NavBar`/`Tabs`: Internally updated MUI `TabIndicatorProps` to `slotProps.indicator` to resolve deprecation warning.
408
+ - `Header`/`Footer`/`NavBar`/`Tabs`/`Drawer`/`MenuButton`/`ProfileMenu`: All `NavigationItem`/`TabNavigationItem`s that have `path` defined, but NOT `onClick` will be rendered as a link. Otherwise, if `onClick` is defined, it will behave as a button.
409
+
410
+ ### Removed
411
+
412
+ - `Header`: Removed `useFloatingNavBar` prop
413
+ - `Tabs`: Removed `onChange` as it wasn't being used
414
+ - `Tabs`: Removed `TabNavigationItem.idx` as it wasn't being used
415
+ - `Tabs`: Removed `TabNavigationItem.parentIdx` as it wasn't completely implemented
416
+
417
+ ## [0.6.4] - 2025-04-30
418
+
419
+ ### Fixed
420
+
421
+ - `Select` - fixed field not spanning full width
422
+ - `ConfirmationModal` - fixed unrecognized `testId` prop console error message
423
+
424
+ ## [0.6.3] - 2025-04-29
425
+
426
+ ### Fixed
427
+
428
+ - `Table`/`PaginatedTable`: Overriding the background color or color of the Table row header via `theme.ts` should now work for the Table row header (use `MuiTableCell.styleOverrides.head`)
429
+
430
+ ## [0.6.2] - 2025-04-29
431
+
432
+ ### Added
433
+
434
+ - All `Alert` components -- Added optional `title` prop that will add a stylized title, aligned with the alert icon.
435
+
436
+ ## [0.6.1] - 2025-04-28
437
+
438
+ ### Fixed
439
+
440
+ - `PageHeader` -- Fixed console.warn
441
+
442
+ ### Changed
443
+
444
+ - `PageHeader` -- added alert when `onAdd` is not implemented so that it's clear to users as well as developers
445
+
446
+ ## [0.6.0] - 2025-04-28
447
+
448
+ ### Removed
449
+
450
+ - `PageHeader`: `onCreate` -- rename to `onAdd` instead
451
+
452
+ ## [0.5.14] - 2025-04-28
453
+
454
+ ### Changed
455
+
456
+ - `PageHeader` -- `onCreate` is now optional
457
+
458
+ ### Fixed
459
+
460
+ - `Table` -- `headerRowStyle` defaults to empty object instead of undefined
461
+
462
+ ## [0.5.13] - 2025-04-28
463
+
464
+ ### Fixed
465
+
466
+ - `Autocomplete`, `MultiAutocomplete`, `DynamicAutocomplete`, `Location`: Updated these components to remove extra spacing below the field when in `readOnly` mode (placeholders for the `<Error />` components will not render when the fields are in `readOnly` mode)
467
+
468
+ ## [0.5.12] - 2025-04-28
469
+
470
+ ### Fixed
471
+
472
+ - `Checkbox`, `CheckboxGroup`, `DateField`, `RadioGroup`, `RangeSlider`, `Select`, `Switch`, `TextField`: Updated these components to ignore spacing override by the parent (ex. `<Stack spacing={2} ...>` or `<Box display='flex' gap={2} ...>`) so that the spacing between the label/value/error always remains consistent. In other words, each field is treated as a single entity.
473
+
474
+ ## [0.5.11] - 2025-04-28
475
+
476
+ ### Added
477
+
478
+ - `Footer`
479
+ - Added `sx` to allow more customization control, such as changing the background color
480
+ - Added `fontColor` to allow changing the color of the nav links & copyright (default is `'primary'`)
481
+
482
+ ### Changed
483
+
484
+ - `Footer` - Made `featureNavLinks` optional
485
+
486
+ ## [0.5.10] - 2025-04-25
487
+
488
+ ### Changed
489
+
490
+ - `Table`/`PaginatedTable`: Allow `data` to be undefined
491
+
492
+ ## [0.5.9] - 2025-04-24
493
+
494
+ ### Added
495
+
496
+ - `Table`/`PaginatedTable`: Added `stickyHeader` prop to make the header row sticky
497
+
498
+ ## [0.5.8] - 2025-04-23
499
+
500
+ ### Added
501
+
502
+ - `Autocomplete`/`DynamicAutocomplete`/`MultiAutocomplete`: Added elevation to the dropdown background (similar to `Select`)
503
+
504
+ ### Changed
505
+
506
+ - `CheckboxGroup`/`RadioGroup`: Moved position of error message to under the checkboxes/radios
507
+ - All text-based form fields (`Autocomplete`/`MultiAutocomplete`,`TextField`,`Select`,`Location`): Changed **default** margin to `dense` (reduced padding on top/bottom of the field)
508
+
509
+ ## [0.5.7] - 2025-04-23
510
+
511
+ ### Added
512
+
513
+ - `Table`/`PaginatedTable`: added `headerRowStyle` to allow overriding of style of table header row
514
+
515
+ ## [0.5.6] - 2025-04-22
516
+
517
+ ### Fixed
518
+
519
+ - All form fields: Error was not appearing under the field even though it existed in formik -- this can happen in niche situations where you are using an array object for a field, and want to show an error at the object-level (ex. `<Autocomplete name='phoneNumbers[0]' ...>` with formik error `phoneNumbers: [ 'A phone number is required']`).
520
+
521
+ ## [0.5.5] - 2025-04-18
522
+
523
+ ### Fixed
524
+
525
+ - All form fields:
526
+ - [Cosmetic] Updated error message (for validation errors) to always take up space, even when not visible, to prevent the components from shifting up/down as validation error message appear/disappear
527
+ - [Cosmetic] Error icon for error message should be aligned more closely with the error message
528
+
529
+ ### Removed
530
+
531
+ - All form fields:
532
+ - Removed Formik `status` from error message, so only the Formik error message will display.
533
+
534
+ ## [0.5.4] - 2025-04-15
535
+
536
+ ### Fixed
537
+
538
+ - `DateField`: Removed a demo-only component from MUI that the component was using internally. This also fixes an alignment issue when the field is placed horizontally inline with other fields (previously, there was extra padding at the top).
539
+
540
+ ## [0.5.3] - 2025-04-15
541
+
542
+ ### Added
543
+
544
+ - All Modals (`AlertModal`, `ConfirmationModal`, `DecisionModal`): All buttons now support additional customization options, like icons (`startIcon`/`endIcon`), states (`disabled`), etc.
545
+
546
+ ## [0.5.2] - 2025-04-15
547
+
548
+ ### Added
549
+
550
+ - `ScrollToTop` -- FAB (Floating Action Button) that appears when the user scrolls down so that they can quickly scroll back to the top
551
+ - `PageHeader`
552
+ - `title` can now be a ReactNode, in addition to string. When pass as a string, the default is to render as a h2 element. Otherwise if more control over style is needed, pass in a component instead.
553
+ - `sx` is now available to control the internal style. Classes have been added to internal elements to assist with this.
554
+
555
+ ### Fixed
556
+
557
+ - `PageHeader` - spacing between title and button when children are present has been fixed
558
+
559
+ ## [0.5.1] - 2025-04-14
560
+
561
+ ### Added
562
+
563
+ - Added props to `Switch`
564
+ - `activeValue`/`inactiveValue`: true/false by default, but alternatively you can specify strings here if you want Formik to use string values for the value of this field
565
+ - `onChange`: listen for changes to the user's selection
566
+ - `chipColor`: when defined, shows the switch as a chip with the specified color as the background
567
+ - `color`: text & switch color
568
+
569
+ ### Changed
570
+
571
+ - `Switch`: now has a generic type for props. By default this is boolean, so no changes should be needed if migrating from older Mui Bueno versions.
572
+
573
+ ## [0.5.0] - 2025-04-14
574
+
575
+ ### Added
576
+
577
+ - `DecisionModal`: New modal type for decisions (2 choices + cancel, like `ConfirmationModal` with an extra action button)
578
+ - `AlertModal`/`ConfirmationModal`: Added `closeButtonPosition` prop that will define where the close button is located. `"bottom"` (default) renders on the bottom left, in-line with the action buttons. `"top"` will render as a close icon in the top-right, in-line with the title (`title` must be string). `"top-and-bottom"` is a combination of the two previous values.
579
+
580
+ ### Changed
581
+
582
+ - `AlertModal`: Renamed `buttonProps` prop to `closeButtonProps`.
583
+ - `AlertModal`/`ConfirmationModal`:
584
+ - Removed `label from `buttonProps`. Migration: use `closeBtnLabel`and/or`confirmBtnLabel` prop instead.
585
+ - `ConfirmationModal`: Cancel button will now default to the bottom-left side. Actions will still appear on the bottom-right.
586
+
587
+ ### Removed
588
+
589
+ - `AlertModal`/`ConfirmationModal`: Removed `content` prop. Migration: Use `children` instead.
590
+
591
+ ## [0.4.9] - 2025-04-11
592
+
593
+ ### Added
594
+
595
+ - `RichTextField`: Added support for async-loaded content (listens for changes to the field's formik value and updates internal editor)
596
+
597
+ ## [0.4.7] - 2025-04-10
598
+
599
+ ### Added
600
+
601
+ - `PaginatedTable`: Added optional property `rowsPerPageOptions` which is an array of numbers that will be the selections for page sizes.
602
+
603
+ ## [0.4.6] - 2025-04-07
604
+
605
+ ### Added
606
+
607
+ - `Table` / `PaginatedTable`: Replaced `objKey` with a function called `getRowKey` to allow more fine-tuned changes.
608
+
609
+ ## [0.4.5] - 2025-04-07
610
+
611
+ ### Added
612
+
613
+ - `Table` / `PaginatedTable`: Supports objects without an id: Must specifiy `objKey` prop with the name of the property that the table can use as the object's unique key. Default is `id`.
614
+
615
+ ## [0.4.4] - 2025-04-03
616
+
617
+ ### Added
618
+
619
+ - `RichTextField`
620
+ - Added `Formik` integration. Currently just support for `value` but may add handling for validation in the future.
621
+
622
+ ### Fixed
623
+
624
+ - `Table`: `TableColumn.fieldName` can now support nested properties.
625
+ - Improved auto-labelling (components that automatically determine `label` based on `name` when `label` is not provided)
626
+
627
+ ## [0.4.3] - 2025-04-01
628
+
629
+ ### Added
630
+
631
+ - `RichTextField`: added basic rich text field using [Mui Tip Tap](https://www.npmjs.com/package/mui-tiptap). _NOTE: Does not have Formik integration._
632
+
633
+ ## [0.4.2] - 2025-03-27
634
+
635
+ ### Added
636
+
637
+ - `RepeatableFormGroup`: added `removePosition` prop to determine position of remove button. There are 2 built-in options "bottom" (default) and "right", but alternatively you can pass in `sx` (MUI style prop) to override the flexbox container settings.
638
+
639
+ ## [0.4.1] - 2025-03-26
640
+
641
+ ### Added
642
+
643
+ - `RepeatableFormGroup`
644
+ - `label` provides a label for the whole group. Default will use `name` (internally converted from camel case to human-friendly)
645
+ - `labelProps` will allow you to override the default props (styling) of `label`
646
+ - `showDivider` when true, will display a simple horizontal divider between field groups
647
+
648
+ ### Changed
649
+
650
+ - `RepeatableFormGroup` - when the field is empty and readonly, "None" will display as the value instead of nothing (this can be configured via `emptyListMsg` prop)
651
+
652
+ ## [0.4.0] - 2025-03-26
653
+
654
+ ### Changed
655
+
656
+ - `MultiAutocomplete` - major refactor to resolve some issues, as well as update the interface to be similar to `Autocomplete` (for migrating, see `[0.3.0]` as the changes will be similar)
657
+
658
+ ## [0.3.5] - 2025-03-24
659
+
660
+ ### Added
661
+
662
+ - `CheckboxGroup` - Added optional property `textField` to `CheckboxOption` that, when defined, will display a `TextField` next to the label.
663
+ - `TextField` - Exposed MUI's `size` prop to allow overriding
664
+
665
+ ## [0.3.4] - 2025-03-21
666
+
667
+ ### Fixed
668
+
669
+ - `Autocomplete` - Fixed readonly missing label when options is set dynamically
670
+
671
+ ## [0.3.3] - 2025-03-21
672
+
673
+ ### Fixed
674
+
675
+ - `Autocomplete` - Fixed hidden initial value when both "readOnly" and "useFieldAsValue" are set
676
+
677
+ ## [0.3.2] - 2025-03-20
678
+
679
+ ### Fixed
680
+
681
+ - `Autocomplete` - Fixed console log error "React does not recognize the `useFieldAsValue` prop"
682
+
683
+ ## [0.3.1] - 2025-03-20
684
+
685
+ ### Added
686
+
687
+ - `Autocomplete` - Allow using property of a field (ex. id or code) for the formik value via `useFieldAsValue`
688
+
689
+ ## [0.3.0] - 2025-03-17
690
+
691
+ ### Added
692
+
693
+ - `DynamicAutocomplete` - Fetches options as the user types. Useful if you don't want to load all of the options for the autocomplete at once.
694
+
695
+ ### Changed
696
+
697
+ - `Autocomplete` - major refactor (recommend checking out Storybook for updated examples)
698
+
699
+ - No longer requires `AutocompleteOption` wrapper. To migrate, if you're using objects, make sure to override `getOptionLabel` and `isOptionEqualToValue`.
700
+ - `onChange` - added `event` param. To migrate, update your `onChange` signature: `(val: T | null)` --> `(event, val: T | null)`
701
+ - `inputValue` removed from available props since this will be handled by formik. To migrate, remove this prop and override `getOptionLabel` instead.
702
+ - Many `MUI` props are now overridable that weren't previously: `fullWidth`, `getLabelOption`, etc.
703
+ - Replaced `isEqual` with `isOptionEqualToValue` (MUI prop)
704
+
705
+ - `AutocompleteOption` - moved to `@types` (may require import update, depending how you imported it)
706
+
707
+ ## [0.2.41] - 2025-03-13
708
+
709
+ ### Added
710
+
711
+ - `RepeatableFormGroup` - Added `readOnly` prop to disable add/remove buttons
712
+
713
+ ## [0.2.40] - 2025-03-06
714
+
715
+ ### Added
716
+
717
+ - `AlertModal`, `ConfirmationModal` - exposed MUI's dialog props (ex. `fullWidth`, `sx`, etc.) so that they can be passed to the internal `Dialog` component
718
+
719
+ ### Deprecated
720
+
721
+ - `AlertModal`, `ConfirmationModal` - `content` is deprecated, use `children` instead
722
+
723
+ ## [0.2.39] - 2025-03-05
724
+
725
+ ### Fixed
726
+
727
+ - `Autocomplete` - fixed an issue caused by 0.2.36 where having an initial value still wasn't being displayed once asynchronously fetched options were loaded in
728
+
729
+ ## [0.2.38] - 2025-03-05
730
+
731
+ ### Changed
732
+
733
+ - `SingleActionCard`
734
+ - Added `sx` prop to allow overiddes to card styling
735
+ - Added classes to some of the components (`MBv2_SingleActionCard_Title`, `MBv2_SingleActionCard_Img`, `MBv2_SingleActionCard_ActionButton`) to assist with overriding style
736
+ - Tweaked default styling of the card
737
+
738
+ ## [0.2.37] - 2025-03-04
739
+
740
+ ### Fixed
741
+
742
+ - `Table`/`PaginatedTable`
743
+
744
+ - fixed row/card not highlighting on hover (when `onRowClick` is defined)
745
+ - fixed mobile card not showing pointer-style cursor on hover (when `onRowClick` is defined)
746
+
747
+ - `DateField`/`DateRangeField` - added `staticLabel`/`staticLabels` prop to match similar-styled fields
748
+ - `Select` - fixed floating label getting blocked by field outline when `label` was not provided
749
+
750
+ ## [0.2.36] - 2025-02-28
751
+
752
+ ### Fixed
753
+
754
+ - `Autocomplete`/`MultiAutocomplete` - fixed issue where async/dynamically-loaded options were preventing the user from changing the input after selecting an option from the dropdown
755
+
756
+ ## [0.2.35] - 2025-02-27
757
+
758
+ ### Fixed
759
+
760
+ - `Autocomplete` - fixed `onInputChange` not being called when the prop is defined
761
+
762
+ ## [0.2.34] - 2025-02-27
763
+
764
+ ### Changed
765
+
766
+ - `PageHeader` - changed the type of the button from type "submit" to "button"
767
+
768
+ ## [0.2.33] - 2025-02-20
769
+
770
+ ### Fixed
771
+
772
+ - `Error`: All form components were previously not displaying error messages for nested objects.
773
+
774
+ ## [0.2.32] - 2025-02-20
775
+
776
+ ### Added
777
+
778
+ - `Autocomplete`: Added `clearOnSelect` prop which, when true, will clear the field when the user selects an option from the dropdown
779
+
780
+ ## [0.2.31] - 2025-02-18
781
+
782
+ ### Added
783
+
784
+ - `Tabs`: Navigation tabs. Previosuly only accessible via `NavBar`/`SideBar` but can be used separately now.
785
+ - Added `staticLabelProps` to the following components to match other form components that already had this prop:
786
+ - `Checkbox`/`CheckboxGroup`
787
+ - `DateField`/`DateRangeField`
788
+ - `FileUpload`
789
+ - `RadioGroup`
790
+ - `RangeSlider`
791
+ - `Switch`
792
+
793
+ ### Changed
794
+
795
+ - Modified the default style settings for the static label (`staticLabel` or `readOnly` is true) to make it easier for users to differentiate between the label and value for the following components:
796
+
797
+ - `Autocomplete`/`MultiAutocomplete`
798
+ - `Location`
799
+ - `Select`
800
+ - `TextField`
801
+
802
+ ### Deprecated
803
+
804
+ - `FloatingNavBar` - Suggested migration: switch to `NavBar`
805
+
806
+ ## [0.2.30] - 2025-02-12
807
+
808
+ ### Added
809
+
810
+ - `Drawer`: Mobile drawer. Renders as hamburger icon that, when clicked, toggles a side menu on the right side of the screen. Previously only accessibly via `Header` but now you can use it by itself for use with custom headers.
811
+ - `Table`: Added optional `sortName` field to `TableColumn` to allow overriding the `fieldName` that gets passed to `onSortChange`
812
+
813
+ ### Changed
814
+
815
+ - `PaginatedTable`
816
+ - Replaced `hideUnusedPagination` prop with `alwaysShowPagination`. To migrate:
817
+ - If you are currently using `hideUnusedPagination`, remove this prop.
818
+ - If you are NOT currently using `hideUnusedPagination`, add `alwaysShowPagination`.
819
+
820
+ ### Deprecated
821
+
822
+ - `Header`: `useFloatingNavbar` prop. May refactor this or completely remove it, as it weighs down maintenance of the Header component.
823
+
824
+ ## [0.2.29] - 2025-02-07
825
+
826
+ ### Added
827
+
828
+ - `Autocomplete`/`MultiAutocomplete`: Added `onInputChange` to track when user types and/or selects an option from the dropdown
829
+
830
+ ## [0.2.28] - 2025-02-06
831
+
832
+ ### Fixed
833
+
834
+ - `Table`/`PaginatedTable`: Fixed `highlightSelectedRow` not unhighlighting when collapsing row (`renderExpand`)
835
+ - `RadioGroup`: Add `onChange`
836
+
837
+ ### Changed
838
+
839
+ - Alerts (`SuccessAlert`, `InfoAlert`, `WarningAlert`, `ErrorAlert`): Made `leftBorder` the default variant.
840
+
841
+ ## [0.2.27] - 2025-02-04
842
+
843
+ ### Fixed
844
+
845
+ - `Autocomplete`/`MultiAutocomplete`: Fixed `onChange` throwing null exception when clearing field.
846
+
847
+ ## [0.2.26] - 2025-02-04
848
+
849
+ ### Fixed
850
+
851
+ - `Autocomplete`/`MultiAutocomplete`: Fixed `onChange` called unnecessarily. Now it should only be called ONCE each time the user changes the value of the field.
852
+
853
+ ## [0.2.25] - 2025-02-03
854
+
855
+ ### Added
856
+
857
+ - `RepeatableFormGroup` - Added a new component that handles arrays in forms using formik. Use to handle repeated sections of forms that need to be dynamically added/removed.
858
+ - Alerts (`SuccessAlert`, `InfoAlert`, `WarningAlert`, `ErrorAlert`)
859
+ - `AlertModal` - Informational modal intended for blocking the user to relay important information.
860
+
861
+ ### Changed
862
+
863
+ - `ConfirmationModal`
864
+ - `ConfirmationModalButtonProps` replaced with `ModalButtonProps`
865
+ - `title` & `content` props - updated type to `ReactNode` to allow for custom title/content
866
+ - default styling changes - cancel button variant defaults to `text` instead of `contained`, & default color changed to primary
867
+ - swapped order of `confirm` & `cancel` buttons since neutral/cancel action should always be on the left and modifying actions should always be on the right
868
+
869
+ ## [0.2.24] - 2024-01-27
870
+
871
+ ### Added
872
+
873
+ - `DarkModeToggle`: New component represeting a button for toggling between light and dark mode
874
+ - `Table`/`PaginatedTable`
875
+ - Added `renderExpand` prop. When the user clicks on a row, the row will expand (like an accordion) with the component returned by `renderExpand` as content. When used with `stackOnMobile`, the card will expand when clicked.
876
+ - Added `highlightSelectedRow` prop. When true, the row clicked on the user will be highlighted using a light gray by default. Pass in a string (color) to this prop to override the default gray color.
877
+
878
+ ### Changed
879
+
880
+ - `Table`/`PaginatedTable`
881
+ - Table will automatically render as a list of cards on mobile. `stackWhenMobile` has been replaced with `disableMobileCards`, which acts as the opposite, so you only need to add the `disableMobileCards` prop when you want `Table`/`PaginatedTable` to render as a table, instead of cards, on mobile/small screens.
882
+ - Renamed `onSelect` to `onRowClick` to be more precise
883
+ - `Header`: Light/Dark Mode toggle will display differently depending on certain factors. On mobile/small screens, the toggle will appear in the hamburger drawer menu. Otherwise, it will appear directly on the header when the user is logged out (`displayName` is undefined), or in the user's profile menu when the user is logged in (`displayName` is defined).
884
+
885
+ ### Fixed
886
+
887
+ - `Header`: Fixed dividers appearing in mobile drawer when they were not needed (quickLinks and/or userNavItems were empty)
888
+
889
+ ## [0.2.23] - 2025-01-22
890
+
891
+ ### Fixed
892
+
893
+ - `Select`: `Option` is now being exported so that developers can import it in their projects. Also renamed it to `SelectOption` so it would not be confused with `AutocompleteOption`.
894
+
895
+ ## [0.2.22] - 2025-01-15
896
+
897
+ ### Added
898
+
899
+ - `Header`
900
+ - `children`: This prop allows you to define child components. They will be rendered in between `quickLinks` and the user profile dropdown.
901
+ - `sx` & `navBarSx`: These props allow you to override styling for the `Header` & `NavBar` respectively.
902
+ - `useFloatingNavBar`: Set to `true` to use the alternative "floating" navbar style.
903
+ - `MenuButton`: New dropdown button component. Generic version of `ProfileMenu`.
904
+ - `NavBar`: Navigation component. Previously this component was only accessible via `Header` but now you can use it directly.
905
+ - `FloatingNavBar`: Alternative style of navigation component. Same behavior as `NavBar`, just a different appearance.
906
+ - `Tabs`: Added `sx` prop to allow you to override styling.
907
+
908
+ ### Changed
909
+
910
+ - `PageHeader`
911
+ - Right-align add button when no children are present
912
+
913
+ ## [0.2.21] - 2025-01-11
914
+
915
+ ### Changed
916
+
917
+ - `Sidebar`: Simplified interface.
918
+ - Removed `featureNavItems`, `primaryIdx` & `secondaryIdx` as there was too much logic that needed to be passed to this component. Instead, these have been replaced with the `navItems: NavigationItem[]` prop which will display the provided nav items and mark the active one automatically based on the current path.
919
+ - Replaced `padding` with `sx` to provide more customization power.
920
+
921
+ ## [0.2.20] - 2025-01-10
922
+
923
+ ### Added
924
+
925
+ - `Header`/`Tabs`/`Sidebar`/`ProfileMenu`: Added optional icons to `NavigationItem` type so these components will display icons, when provided, with the navigation labels.
926
+
927
+ ### Fixed
928
+
929
+ - `Header`: Fixed spacing of `quickLinks` in header.
930
+
931
+ ### Changed
932
+
933
+ - `Header`:
934
+ - Rename `actionNavItems` to `userNavItems` to make it clear that these nav items only appear for logged in users.
935
+ - Mobile drawer menu layout has been updated to be a bit more organized: Feature nav items, quick links, and user nav items are displayed (in that order) as groups separated by a divider. Additionally, menu items will now change color when hovered, providing a clear visual indication of hover state.
936
+ - `featureNavItems` & `userNavItems` are now optional
937
+ - Replaced `QuickLink` type with `NavigationItem`. If you are using `quickLinks`, make sure to change the type of the array you are passing in to `NavigationItem[]`.
938
+ - `SideBar`: changed type of `featureNavItems` from `NavigationItem[]` to `SidebarNavItem[]` since `subItems` was removed from `NavigationItem` (see `Removed` section for more on this change)
939
+
940
+ ### Removed
941
+
942
+ - `Header`: Removed `primaryIdx`/`secondaryIdx` props in favor of having the Header component automatically marking the active tab
943
+ - `Header`/`Footer`/`ProfileMenu`/`Tabs`: removed `subItems` from `NavigationItem` because they were not being used consistently. Most of these components were completely ignoring `subItems` or only diplaying them on specific screen sizes.
944
+
945
+ ## [0.2.19] - 2025-01-07
946
+
947
+ ### Security
948
+
949
+ - Updated library dependencies to latest compatible versions
950
+
951
+ ### Fixed
952
+
953
+ - `Autocomplete` / `MultiAutocomplete`
954
+ - Fixed bug where `useState` was getting called to many times unnecessarily, resulting in a "Maximum update depth exceeded." error.
955
+ - Removed `freeSolo` prop because Formik isn't set up to allow free text for the component currently
956
+
957
+ ## [0.2.18] - 2025-01-02
958
+
959
+ ### Changed
960
+
961
+ - `Table` / `PaginatedTable` : Added built-in loading indicator
962
+ - `Header`: Replaced `children` with `quickLinks` & `displayName`. Previously, content rendered via `children` was only visible on tablet-sized screens or larger. Now, `quickLinks` allow links to be displayed directly in the header on tablet-sized screens or larger, or in the hamburger menu drawer on mobile screens, and `ProfileMenu` is now built-in which will render the user profile button when `displayName` is defined on tablet-sized screens or larger, or in the hamburger menu drawer on mobile screens.
963
+
964
+ ## [0.2.17] - 2024-12-16
965
+
966
+ ### Added
967
+
968
+ - `TextField`: Automatically trims leading & trailing whitespace on blur. To disable this, added optional `noTrimOnBlur` prop.
969
+
970
+ ### Fixed
971
+
972
+ - `Breadcrumb`: Last breadcrumb should not display as a link.
973
+
974
+ ## [0.2.16] - 2024-12-12
975
+
976
+ ### Added
977
+
978
+ - `PaginatedTable`: Added optional prop that will hide pagination if it's not needed (total # of items <= Rows per Page)
979
+ - `PaginatedTable`/`Table`: Added support for table columns that use the same `fieldName` via optional `key` field in `TableColumn` to ensure the keys used internally in the table itself are always unique
980
+
981
+ ## [0.2.15] - 2024-12-11
982
+
983
+ ### Fixed
984
+
985
+ - `Autocomplete`/`MultiAutocomplete`: Fixed setting initial value for Autocomplete that uses objects as the value
986
+
987
+ ## [0.2.14] - 2024-12-10
988
+
989
+ ### Added
990
+
991
+ - `Table`/`PaginatedTable`: Added customizable message when table is empty. Default is "No items to display".
992
+
993
+ ### Fixed
994
+
995
+ - `Autocomplete`: Fixed clear button not clearing the field
996
+
997
+ ## [0.2.13] - 2024-11-25
998
+
999
+ ### Added
1000
+
1001
+ - `Table`/`PaginatedTable`: Added `allowSortCols` prop to designate which columns are sortable (default is all).
1002
+
1003
+ ## [0.2.11] - 2024-11-25
1004
+
1005
+ ### Fixed
1006
+
1007
+ - Expose `MultiAutocomplete` to consuming app
1008
+
1009
+ ## [0.2.10] - 2024-11-22
1010
+
1011
+ ### Changed
1012
+
1013
+ - Removed `multiple` prop from `AutoComplete` in lieu of a separate `MultiAutocomplete` component.
1014
+
1015
+ ### Added
1016
+
1017
+ - `Autocomplete`: Added optional `onChange` handler prop.
1018
+
1019
+ ## [0.2.9] - 2024-11-21
1020
+
1021
+ ### Fixed
1022
+
1023
+ - `DateField`: Fixed empty string initial value showing invalid date error (when `useIso` is true).
1024
+
1025
+ ## [0.2.8] - 2024-11-20
1026
+
1027
+ ### Added
1028
+
1029
+ - `DateField`: Added `useIso` prop that will use ISO string for Formik value instead of Dayjs obj when true.
1030
+
1031
+ ## [0.2.7] - 2024-11-19
1032
+
1033
+ ### Added
1034
+
1035
+ - `Header`
1036
+ - Added ability to add custom banners (beyond the environment banner).
1037
+ - Exposed `position` attribute for underlying Material AppBar
1038
+
1039
+ ### Fixed
1040
+
1041
+ - `Header`: Environment banner was still displaying when the prop was undefined.
1042
+
1043
+ ## [0.2.6] - 2024-11-18
1044
+
1045
+ ### Added
1046
+
1047
+ - `Table`: Added ability to access the whole (row) object from the render method. This is useful if styling a column depends on another value in the row.
1048
+
1049
+ ## [0.2.5] - 2024-11-15
1050
+
1051
+ ### Added
1052
+
1053
+ - `Table`
1054
+ - Added more classes to various internal elements to simplify overriding styles
1055
+ - Added `className` prop which applies classes to top-level component
1056
+
1057
+ ### Changed
1058
+
1059
+ - `Table`: Replaced `tableLayout` with `fixedLayout`. If not set, the table layout will be `auto`. If true, the columns will all be the same width. If set to an array of widths, the columns will be the widths defined by the array.
1060
+
1061
+ ### Fixed
1062
+
1063
+ - `Table`
1064
+ - `id` wasn't being set on the internal component. NOTE: the actual ID assigned to the table will be `table-{id}` (or `mobile-table-{id}` for the stack layout when `stackWhenMobile` is true)
1065
+ - Resolved column labels breaking (changed word-break settings)
1066
+
1067
+ ## [0.2.4] - 2024-11-14
1068
+
1069
+ ### Added
1070
+
1071
+ - `Table`/`PaginatedTable`
1072
+ - `tableLayout` prop is available to override the layout of the table. Default is `'auto'`.
1073
+ - Added `className` props to various internal elements to simplify overriding styles
1074
+
1075
+ ### Changed
1076
+
1077
+ - `Table`/`PaginatedTable`: `onSelect` prop is now optional
1078
+
1079
+ ### Removed
1080
+
1081
+ - `Table`/`PaginatedTable`: `canSort` prop has been removed due to redundancy. Instead, use the `onSortChange` prop to enable sorting for the component.
1082
+
1083
+ ### Fixed
1084
+
1085
+ - `Table`
1086
+ - Divider, which is used to separate the sorting functionality from the data, will only display if the table is sortable.
1087
+ - Improved internal usage of keys to follow best practices (i.e. keys no longer use indexes)
1088
+
1089
+ ## [0.2.3] - 2014-11-12
1090
+
1091
+ ### Fixed
1092
+
1093
+ - Missing type declarations (`TableColumn`, `SortOrder`, etc.)
1094
+
1095
+ ## [0.2.2] - 2014-11-08
1096
+
1097
+ ### Changed
1098
+
1099
+ - `Footer`: Added `className` props to various elements (will do more components in the future if this change proves helpful with overriding styles)
1100
+
1101
+ ### Fixed
1102
+
1103
+ - `Footer`: Removed built-in color adjustment for logo when switching between light/dark mode because it doesn't work with full-color logos
1104
+ - `Header`: Fixed horizontal alignment of children of Header with Dark mode toggle button
1105
+ - `PaginatedTable`: Fixed not being able to use `render` method (as with `Table`)
1106
+
1107
+ ## [0.2.1] - 2024-11-07
1108
+
1109
+ ### Added
1110
+
1111
+ - `Table`: Added `render` method to `TableColumn` to provide more control over how data is displayed
1112
+ - `TableColumn`: Made `label` optional. If not provided, it will be automatically generated from the `fieldName`
1113
+
1114
+ ### Changed
1115
+
1116
+ - `Select`: `label` prop is now optional (automatically generated from `name`)
1117
+ - `Header`: Renamed `userProfile` prop to `children`
1118
+ - `Header` & `Footer`: `logo` prop updated to allow `ReactNode`, in addition to `string` (image)
1119
+ - `Footer`: `copyright` prop is now optional
1120
+
1121
+ ### Fixed
1122
+
1123
+ - `TextField`: Removed hardcoded margin that was causing vertical misalignment with other components
1124
+
1125
+ ## [0.2.0] - 2024-11-04
1126
+
1127
+ ### Added
1128
+
1129
+ - Components
1130
+ - Forms
1131
+ - Inputs
1132
+ - DateField
1133
+ - DateRangeField
1134
+
1135
+ ### Changed
1136
+
1137
+ - Renamed Components
1138
+ - BAutocomplete --> Autocomplete
1139
+ - BCheckbox --> Checkbox
1140
+ - BCheckboxGroup --> CheckboxGroup
1141
+ - BLocation --> Location
1142
+ - BFileUpload --> FileUpload
1143
+ - BFileList --> FileList
1144
+ - BRadioGroup --> RadioGroup
1145
+ - BSelect --> Select
1146
+ - BOption --> Option
1147
+ - BSwitch --> Switch
1148
+ - BTextField --> TextField
1149
+ - BError --> Error
1150
+ - BButton --> Button
1151
+ - BSubmit --> Submit
1152
+ - BStepper --> Stepper
1153
+ - BFormDebugger --> FormDebugger
1154
+
1155
+ ## [0.1.1] - 2024-10-25
1156
+
1157
+ ### Added
1158
+
1159
+ - Components:
1160
+ - Breadcrumbs
1161
+ - Forms
1162
+ - Inputs
1163
+ - SearchField
1164
+ - LoadingIndicator
1165
+ - Modals
1166
+ - ConfirmationModal
1167
+ - Navigation
1168
+ - Header
1169
+ - Footer
1170
+ - Sidebar
1171
+ - Tabs
1172
+ - PageHeader
1173
+ - SingleActionCard
1174
+ - Table
1175
+ - Table
1176
+ - PaginatedTable
1177
+ - Snackbar
1178
+
1179
+ ### Changed
1180
+
1181
+ - Moved around some folders now that this library has been expanded to more than just form components
1182
+ - Moved BFileList to Inputs/BFileUpload/BFileList since this is meant to be used with the Drag-and-drop File Upload component
1183
+ - Moved BError, BStepper, BFormDebugger, and Inputs to Form so that all of the form components are grouped together in the same folder
1184
+
1185
+ ## [0.0.0] - 2024-09-20
1186
+
1187
+ ### Added
1188
+
1189
+ - Components:
1190
+ - Buttons
1191
+ - BButton
1192
+ - BSubmit
1193
+ - Inputs
1194
+ - BAutocomplete
1195
+ - BCheckbox
1196
+ - BCheckboxGroup
1197
+ - BFileUPload
1198
+ - BLocation
1199
+ - BRadioGroup
1200
+ - BRangeSlider
1201
+ - BSelect
1202
+ - BSwitch
1203
+ - BTextField
1204
+ - BError
1205
+ - BFormDebugger
1206
+ - BStepper