@splunk/react-ui 4.38.0 → 4.40.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 (172) hide show
  1. package/Accordion.js +131 -153
  2. package/Anchor.js +50 -58
  3. package/Animation.js +64 -59
  4. package/AnimationToggle.js +59 -61
  5. package/Box.js +59 -67
  6. package/Breadcrumbs.js +113 -127
  7. package/Button.js +151 -169
  8. package/ButtonGroup.js +41 -49
  9. package/ButtonSimple.js +264 -295
  10. package/CHANGELOG.md +49 -0
  11. package/Calendar.js +353 -414
  12. package/Card.js +186 -244
  13. package/CardLayout.js +86 -83
  14. package/Chip.js +136 -146
  15. package/Clickable.js +180 -198
  16. package/CloseButton.js +52 -60
  17. package/Code.js +24 -31
  18. package/CollapsiblePanel.js +172 -202
  19. package/Color.js +371 -412
  20. package/ColumnLayout.js +72 -96
  21. package/ComboBox.js +266 -303
  22. package/Concertina.js +406 -454
  23. package/ControlGroup.js +178 -210
  24. package/Date.js +116 -131
  25. package/DefinitionList.js +125 -149
  26. package/Divider.js +81 -79
  27. package/Dropdown.js +226 -237
  28. package/DualListbox.js +150 -186
  29. package/EventListener.js +4 -1
  30. package/File.js +1032 -955
  31. package/FormRows.js +281 -334
  32. package/Heading.js +27 -35
  33. package/Image.js +101 -116
  34. package/JSONTree.js +301 -344
  35. package/Layer.js +118 -126
  36. package/Link.js +141 -159
  37. package/List.js +61 -77
  38. package/MIGRATION.mdx +123 -38
  39. package/Markdown.js +288 -347
  40. package/Menu.js +506 -532
  41. package/Message.js +197 -207
  42. package/MessageBar.js +58 -66
  43. package/Modal.js +241 -290
  44. package/ModalLayer.js +130 -148
  45. package/Monogram.js +138 -138
  46. package/Multiselect.js +3137 -3433
  47. package/Number.js +164 -178
  48. package/Paginator.js +296 -335
  49. package/Paragraph.js +24 -32
  50. package/Popover.js +450 -442
  51. package/Progress.js +65 -75
  52. package/RadioBar.js +301 -303
  53. package/RadioList.js +77 -119
  54. package/Resize.js +105 -127
  55. package/ResultsMenu.js +373 -385
  56. package/ScreenReaderContent.js +50 -58
  57. package/Scroll.js +209 -244
  58. package/Search.js +379 -391
  59. package/Select.js +2085 -2345
  60. package/SidePanel.js +122 -142
  61. package/Slider.js +132 -145
  62. package/SlidingPanels.js +238 -270
  63. package/SplitButton.d.ts +2 -0
  64. package/SplitButton.js +222 -245
  65. package/StaticContent.js +68 -76
  66. package/StepBar.js +206 -205
  67. package/Switch.js +176 -205
  68. package/TabBar.js +235 -268
  69. package/TabLayout.js +122 -141
  70. package/Table.js +2103 -2261
  71. package/Text.js +379 -493
  72. package/TextArea.js +411 -441
  73. package/Tooltip.js +116 -132
  74. package/TransitionOpen.js +160 -178
  75. package/Tree.js +268 -287
  76. package/Typography.js +48 -52
  77. package/WaitSpinner.js +61 -69
  78. package/cypress/support/commands.ts +9 -0
  79. package/cypress/support/index.d.ts +6 -0
  80. package/cypress/tsconfig.cypress.json +1 -0
  81. package/docker-compose.yml +0 -1
  82. package/package.json +15 -15
  83. package/types/src/Button/Button.d.ts +5 -1
  84. package/types/src/ButtonSimple/ButtonSimple.d.ts +2 -2
  85. package/types/src/Card/Card.d.ts +1 -0
  86. package/types/src/Card/Footer.d.ts +1 -0
  87. package/types/src/Chip/Chip.d.ts +3 -6
  88. package/types/src/CollapsiblePanel/CollapsiblePanel.d.ts +1 -1
  89. package/types/src/Color/Color.d.ts +2 -2
  90. package/types/src/Color/Palette.d.ts +4 -2
  91. package/types/src/ComboBox/ComboBox.d.ts +1 -1
  92. package/types/src/ComboBox/Option.d.ts +1 -1
  93. package/types/src/ControlGroup/ControlGroup.d.ts +1 -2
  94. package/types/src/Date/Date.d.ts +2 -2
  95. package/types/src/File/File.d.ts +2 -3
  96. package/types/src/File/Retry.d.ts +1 -2
  97. package/types/src/Menu/Item.d.ts +18 -5
  98. package/types/src/Menu/Menu.d.ts +3 -3
  99. package/types/src/Menu/docs/examples/Adornments.d.ts +2 -0
  100. package/types/src/Menu/docs/examples/SelectableWithAdornments.d.ts +2 -0
  101. package/types/src/ModalLayer/ModalLayer.d.ts +1 -1
  102. package/types/src/Multiselect/Compact.d.ts +1 -1
  103. package/types/src/Multiselect/Multiselect.d.ts +1 -1
  104. package/types/src/Multiselect/Normal.d.ts +1 -1
  105. package/types/src/Multiselect/Option.d.ts +2 -0
  106. package/types/src/Number/Number.d.ts +3 -3
  107. package/types/src/Popover/Popover.d.ts +3 -4
  108. package/types/src/RadioBar/RadioBar.d.ts +2 -2
  109. package/types/src/ResultsMenu/VirtualizedResultsMenu/VirtualizedResultsMenu.d.ts +1 -1
  110. package/types/src/ScrollContainerContext/ScrollContainerContext.d.ts +2 -2
  111. package/types/src/Search/Option.d.ts +9 -3
  112. package/types/src/Select/Option.d.ts +3 -1
  113. package/types/src/Select/OptionBase.d.ts +7 -5
  114. package/types/src/Select/Select.d.ts +4 -2
  115. package/types/src/Select/SelectAllOption.d.ts +4 -4
  116. package/types/src/Select/SelectBase.d.ts +104 -66
  117. package/types/src/Select/docs/examples/Appearance.d.ts +0 -2
  118. package/types/src/SidePanel/SidePanel.d.ts +1 -1
  119. package/types/src/Slider/Slider.d.ts +2 -2
  120. package/types/src/SlidingPanels/SlidingPanels.d.ts +1 -1
  121. package/types/src/StepBar/Step.d.ts +1 -2
  122. package/types/src/Switch/Switch.d.ts +0 -1
  123. package/types/src/TabBar/Tab.d.ts +1 -1
  124. package/types/src/TabBar/TabBar.d.ts +3 -1
  125. package/types/src/TabLayout/TabLayout.d.ts +2 -0
  126. package/types/src/Table/Cell.d.ts +0 -2
  127. package/types/src/Table/HeadDropdownCell.d.ts +2 -0
  128. package/types/src/Table/HeadInner.d.ts +5 -1
  129. package/types/src/Table/Table.d.ts +0 -1
  130. package/types/src/Table/docs/examples/StripeRows.d.ts +2 -0
  131. package/types/src/Text/IconOutlinedHide.d.ts +1 -2
  132. package/types/src/Text/IconOutlinedView.d.ts +1 -2
  133. package/types/src/Text/Text.d.ts +2 -2
  134. package/types/src/TextArea/TextArea.d.ts +2 -2
  135. package/types/src/Tooltip/Tooltip.d.ts +4 -4
  136. package/types/src/TransitionOpen/TransitionOpen.d.ts +1 -1
  137. package/types/src/WaitSpinner/WaitSpinner.d.ts +0 -1
  138. package/types/src/useControlled/index.d.ts +2 -0
  139. package/types/src/useControlled/useControlled.d.ts +21 -0
  140. package/types/src/useResizeObserver/index.d.ts +2 -0
  141. package/types/src/useResizeObserver/useResizeObserver.d.ts +12 -0
  142. package/useControlled.js +112 -0
  143. package/useForceUpdate.js +30 -32
  144. package/useKeyPress.d.ts +2 -0
  145. package/useKeyPress.js +1 -1
  146. package/useResizeObserver.d.ts +2 -0
  147. package/useResizeObserver.js +137 -0
  148. package/types/src/ButtonGroup/docs/examples/prisma/Basic.d.ts +0 -1
  149. package/types/src/Chip/docs/examples/Basic.d.ts +0 -2
  150. package/types/src/Chip/docs/examples/prisma/Appearance.d.ts +0 -2
  151. package/types/src/Color/docs/examples/prisma/Controlled.d.ts +0 -2
  152. package/types/src/Color/docs/examples/prisma/ThemeVariables.d.ts +0 -1
  153. package/types/src/Color/docs/examples/prisma/Uncontrolled.d.ts +0 -2
  154. package/types/src/Dropdown/docs/examples/prisma/Basic.d.ts +0 -2
  155. package/types/src/Dropdown/docs/examples/prisma/BasicMenu.d.ts +0 -2
  156. package/types/src/Dropdown/docs/examples/prisma/ControlledDropdown.d.ts +0 -2
  157. package/types/src/Dropdown/docs/examples/prisma/Dialog.d.ts +0 -2
  158. package/types/src/Dropdown/docs/examples/prisma/OtherToggles.d.ts +0 -2
  159. package/types/src/Dropdown/docs/examples/prisma/ScrollingMenu.d.ts +0 -2
  160. package/types/src/File/docs/examples/prisma/Disabled.d.ts +0 -12
  161. package/types/src/File/docs/examples/prisma/Error.d.ts +0 -1
  162. package/types/src/Menu/docs/examples/Icons.d.ts +0 -2
  163. package/types/src/Menu/docs/examples/SelectableWithIcons.d.ts +0 -2
  164. package/types/src/Message/docs/examples/prisma/Title.d.ts +0 -2
  165. package/types/src/TabBar/docs/examples/prisma/Context.d.ts +0 -2
  166. package/types/src/TabLayout/docs/examples/prisma/Context.d.ts +0 -2
  167. package/types/src/Table/docs/examples/prisma/Basic.d.ts +0 -2
  168. package/types/src/WaitSpinner/docs/examples/prisma/Basic.d.ts +0 -2
  169. /package/types/src/Color/docs/examples/{prisma/CustomizedPalette.d.ts → CustomizedPalette.d.ts} +0 -0
  170. /package/types/src/Color/docs/examples/{prisma/HideInput.d.ts → HideInput.d.ts} +0 -0
  171. /package/types/src/StepBar/docs/examples/{prisma/Error.d.ts → Error.d.ts} +0 -0
  172. /package/types/src/TabBar/docs/examples/{prisma/Disabled.d.ts → Disabled.d.ts} +0 -0
package/MIGRATION.mdx CHANGED
@@ -5,6 +5,78 @@ import Table from '@splunk/react-ui/Table';
5
5
 
6
6
  This document lists migration guidance for new features and breaking changes.
7
7
 
8
+ ## 4.40.0
9
+
10
+ ### Deprecated `Select`'s `appearance="primary"` value
11
+
12
+ #### Change
13
+
14
+ `Select`'s `appearance="primary"` value has been deprecated and will be removed in the next major version.
15
+
16
+ #### Context
17
+
18
+ The `primary` appearance is no longer supported as primary actions are generally intended for tasks like submitting a form or page, whereas `Select` should be used to make a choice that then gets submitted with a primary `Button`.
19
+ Including both a primary `Select` and `Button` conflicts with the visual importance and hierarchy of the page.
20
+
21
+ #### Migration steps
22
+
23
+ * If `Select` was being used as a primary action but there are some variants for how that primary action works (e.g. Save vs. Save As), use `SplitButton`.
24
+ * Otherwise use `Select` with the `default` appearance paired with a primary `Button` to submit.
25
+
26
+ ## 4.39.0
27
+
28
+ ### Deprecated `TabBar` and `TabLayout`'s `appearance` prop
29
+
30
+ #### Change
31
+
32
+ `TabBar` and `TabLayout`'s `appearance` prop is deprecated and will be removed in the next major version.
33
+
34
+ #### Context
35
+
36
+ The `appearance` prop exists to support the `"context"` appearance, which renders tabs without the divider separating the tab and its contents. It also does not underline the active tab.
37
+
38
+ Due to these factors, the `"context"` appearance has poor accessibility on two fronts:
39
+ * it makes it difficult to distinguish the tabs from the content
40
+ * it has poor contrast between the selected and unselected tabs
41
+
42
+ The existance of this appearance has also encouraged uses of these components where tabs are not appropriate.
43
+
44
+ Additionally, this appearance has only been supported in Prisma themes, leading to visual inconsistency with Enterprise themes.
45
+
46
+ To eliminate these issues, we have deprecated the `appearance` prop.
47
+
48
+ #### Migration steps
49
+
50
+ Remove usages of the `appearance` prop:
51
+
52
+ 1) If you were using `appearance="navigation"`, that is the default appearance and removing the prop will have no effect.
53
+ 2) If you were using `appearance="context"`, the tabs will render with the default appearance.
54
+
55
+ ### Deprecated `Button`'s `selected` prop
56
+
57
+ #### Change
58
+
59
+ `Button`'s `selected` prop is deprecated and will be removed in the next major version.
60
+
61
+ #### Context
62
+
63
+ By existing on the `Button` component, the `selected` attribute had to account for prop combinations that were invalid.
64
+ For example, `appearance="primary"` is not a valid combination with `selected`, but both those props exist in tandem on `Button`.
65
+
66
+ Additionally, the `selected` prop in isolation is unable to provide sufficient accessibility.
67
+ For example, using it inside a `ButtonGroup` appears correct, but both the `ButtonGroup` and the `Button` require additional aria attributes to be accessible.
68
+
69
+ Given these issues and the usages of the `selected` prop that we've observed, we believe that one of the options outlined in the migration steps can provide the required functionality without the aforementioned visual and accessibility issues.
70
+
71
+ If these alternatives do not match your use case, please reach out to us.
72
+
73
+ #### Migration steps
74
+
75
+ There are two possible use cases for a selectable `Button`:
76
+
77
+ 1) If the `Button` was used as part of a `ButtonGroup`, replace it with a `RadioBar`.
78
+ 2) If the `Button` was used standalone, replace it with a `Switch` with `appearance="toggle"`.
79
+
8
80
  ## 4.35.0
9
81
 
10
82
  ### Deprecated `Menu`'s `retainFocus` prop
@@ -39,7 +111,7 @@ The original `retainFocus={true}` is no longer supported due to its poor user ex
39
111
 
40
112
  #### Context
41
113
 
42
- The `"pill"` value for `appearance` was only supported in Enterprise theme, and the `"flat"` and `"toggle"` values were only supported in the Prisma theme.
114
+ The `"pill"` value for `appearance` was only supported in Enterprise themes, and the `"flat"` and `"toggle"` values were only supported in Prisma themes.
43
115
 
44
116
  As part of our effort to unify behaviors and APIs across themes, we are deprecating these appearances.
45
117
 
@@ -118,14 +190,14 @@ For Prisma themes:
118
190
 
119
191
  #### Context
120
192
 
121
- Previously, `titleWithActions` prop allowed for customized interactive elements to be added directly to the `title` prop.
122
- Now, a new `actions` prop is introduced to reserve the `title` prop for text only. The `actions` prop should contain all customized
123
- interactive actions that were previously placed in the `title` prop. This ensures that the controls are not read as part of the label,
193
+ Previously, `titleWithActions` prop allowed for customized interactive elements to be added directly to the `title` prop.
194
+ Now, a new `actions` prop is introduced to reserve the `title` prop for text only. The `actions` prop should contain all customized
195
+ interactive actions that were previously placed in the `title` prop. This ensures that the controls are not read as part of the label,
124
196
  while still providing the necessary interactivity.
125
197
 
126
198
  #### Migration steps
127
199
 
128
- Remove `CollapsiblePanel`'s `titleWithActions` prop. Extract the actions/interactive elements from the `title` prop
200
+ Remove `CollapsiblePanel`'s `titleWithActions` prop. Extract the actions/interactive elements from the `title` prop
129
201
  and move them to the new `actions` prop.
130
202
 
131
203
  ## 4.30.0
@@ -189,14 +261,14 @@ Example with a sibling text element:
189
261
  ### New `SingleOpenPanelGroup` API for `CollapsiblePanel`
190
262
 
191
263
  #### Change
192
- A new API, `SingleOpenPanelGroup`, has been added to `CollapsiblePanel`.
264
+ A new API, `SingleOpenPanelGroup`, has been added to `CollapsiblePanel`.
193
265
 
194
266
  #### Context
195
267
  `Accordion` and `CollapsiblePanel` have similar style and behavior. Their only behavioral difference was that `Accordion` would only allow one panel to be open at a time, whereas `CollapsiblePanel` would allow multiple panels to be open at a time.
196
268
 
197
- Although they looked and behaved similarly, the APIs of `Accordion` and `CollapsiblePanel` were inconsistent. `inset` was supported in `Accordion` but not `CollapsiblePanel`; while actions were supported in `CollapsiblePanel` but not `Accordion`. Lastly, the components had different numbers of event handlers with different signatures.
269
+ Although they looked and behaved similarly, the APIs of `Accordion` and `CollapsiblePanel` were inconsistent. `inset` was supported in `Accordion` but not `CollapsiblePanel`; while actions were supported in `CollapsiblePanel` but not `Accordion`. Lastly, the components had different numbers of event handlers with different signatures.
198
270
 
199
- These differences could lead to confusion on which component to use. It could also lead to using one component for a certain feature and then adding custom code to duplicate the functionality from the other component.
271
+ These differences could lead to confusion on which component to use. It could also lead to using one component for a certain feature and then adding custom code to duplicate the functionality from the other component.
200
272
 
201
273
  Given these behavioral and technical differences, `Accordion` will be deprecated in the next major version and `CollapsiblePanel` will support all the features of `Accordion` through its `SingleOpenPanelGroup` API. You will still be able to use `Accordion` in the next major version, but we recommend following the migration steps below at your earliest convenience.
202
274
 
@@ -206,10 +278,10 @@ Replace usage of `Accordion` with the `SingleOpenPanelGroup` component exported
206
278
  ### Deprecated `onRequestClose` and `onRequestOpen` callbacks and added new `onChange` callback for `CollapsiblePanel`
207
279
 
208
280
  #### Change
209
- `CollapsiblePanel`'s `onRequestClose` and `onRequestOpen` callbacks have been deprecated and will be removed in the next major version. A new callback `onChange` has been added to `CollapsiblePanel`.
281
+ `CollapsiblePanel`'s `onRequestClose` and `onRequestOpen` callbacks have been deprecated and will be removed in the next major version. A new callback `onChange` has been added to `CollapsiblePanel`.
210
282
 
211
283
  #### Context
212
- An `onChange` callback is more consistent with other components in `@splunk/react-ui`.
284
+ An `onChange` callback is more consistent with other components in `@splunk/react-ui`.
213
285
 
214
286
  #### Migration steps
215
287
  Replace `onRequestClose` and `onRequestOpen` callbacks with the new `onChange` callback when using a controlled `CollapsiblePanel`. See the Controlled example in `CollapsiblePanel`'s documentation.
@@ -219,16 +291,16 @@ Replace `onRequestClose` and `onRequestOpen` callbacks with the new `onChange` c
219
291
  ### New `returnFocus` prop for `Modal`
220
292
 
221
293
  #### Change
222
- A new prop, `returnFocus`, has been added to `Modal`. `returnFocus` is optional for backwards compatibility but will be required in the next major version.
294
+ A new prop, `returnFocus`, has been added to `Modal`. `returnFocus` is optional for backwards compatibility but will be required in the next major version.
223
295
 
224
296
  #### Context
225
- Failing to return focus back to the invoking element (or another logical place) is a WCAG violation. Currently,
297
+ Failing to return focus back to the invoking element (or another logical place) is a WCAG violation. Currently,
226
298
  developers must remember to manually return focus. The `returnFocus` prop will be required in the next major version
227
- and ensure focus is returned back to the invoking element.
299
+ and ensure focus is returned back to the invoking element.
228
300
 
229
301
  #### Migration steps
230
- Previously it was required to add code to manually return focus in `onRequestClose` for the `Modal` and `Modal.Header`.
231
- This code can now be removed and replaced by passing the invoking element's ref to the new `returnFocus` prop on `Modal`.
302
+ Previously it was required to add code to manually return focus in `onRequestClose` for the `Modal` and `Modal.Header`.
303
+ This code can now be removed and replaced by passing the invoking element's ref to the new `returnFocus` prop on `Modal`.
232
304
 
233
305
  For example, this code snippet:
234
306
  ```jsx
@@ -267,7 +339,7 @@ can be converted to this code:
267
339
  ### Deprecated `JSONTree`'s `expandChildren="withShiftModifier"` value
268
340
 
269
341
  #### Change
270
- `JSONTree`'s `expandChildren="withShiftModifier"` value has been deprecated and will be removed in a future major version. A new prop `expandChildrenOnShiftKey` has been added to `JSONTree` to expand all descendant nodes when using `shift + click` or `shift + enter`.
342
+ `JSONTree`'s `expandChildren="withShiftModifier"` value has been deprecated and will be removed in a future major version. A new prop `expandChildrenOnShiftKey` has been added to `JSONTree` to expand all descendant nodes when using `shift + click` or `shift + enter`.
271
343
 
272
344
  #### Context
273
345
  Separating the `shift + click` capability from `expandChildren` allows users to decide if they want to enable `shift + click` to expand all descendant nodes independently of
@@ -281,13 +353,13 @@ Replace all usage of `JSONTree`'s `expandChildren="withShiftModifier"` value wit
281
353
  ### Deprecated `level="s"` and `level="ss"` and added new `variant` prop for `Heading`
282
354
 
283
355
  #### Change
284
- `Heading`'s `level="s"` and `level="ss"` have been deprecated and will be removed in a future major version. A new prop `variant` has been added to `Heading` to add styles from `Typography`'s title variants.
356
+ `Heading`'s `level="s"` and `level="ss"` have been deprecated and will be removed in a future major version. A new prop `variant` has been added to `Heading` to add styles from `Typography`'s title variants.
285
357
 
286
358
  #### Context
287
359
  The values "s" and "ss" aren't as clear as numerical values at describing which `<hX>` HTML tag they correspond to. Instead, use `Heading` `level`(1 - 6) and `variant`(title1 - title6) props to achieve the desired `Heading` style. This separates the concerns of semantics from styling, which allows for better accessibility and design.
288
360
 
289
361
  #### Migration steps
290
- It is recommended to update `Heading`'s `level="s"` and `level="ss"` to `level=5` or `level=6` respectively and use the `variant` prop for styling.
362
+ It is recommended to update `Heading`'s `level="s"` and `level="ss"` to `level=5` or `level=6` respectively and use the `variant` prop for styling.
291
363
  To keep the same style as `Heading`'s `level="s"` and `level="ss"` follow the below code:
292
364
 
293
365
  *Enterprise*
@@ -330,13 +402,13 @@ const StyledSHeading = styled(Heading)`
330
402
  color: ${variables.contentColorDefault};
331
403
  `;
332
404
 
333
- <StyledSHeading level={4} variant="title4"/>
405
+ <StyledSHeading level={4} variant="title4"/>
334
406
  ```
335
407
 
336
408
  `level="ss"` styling:
337
409
 
338
410
  ```jsx
339
- No styling is needed.
411
+ No styling is needed.
340
412
  <Heading level="ss"> is equivalent to <StyledSHeading level={5} variant="title5"/>
341
413
  ```
342
414
 
@@ -351,7 +423,7 @@ Additionally, when entering text into a `TextArea` users can clear the contents
351
423
 
352
424
  #### Migration Step
353
425
 
354
- Remove the `canClear` prop from `TextArea`. If supporting a one-click clear action is critical, there are two possible methods to add this feature:
426
+ Remove the `canClear` prop from `TextArea`. If supporting a one-click clear action is critical, there are two possible methods to add this feature:
355
427
 
356
428
  1) Use the `endAdornment` prop:
357
429
 
@@ -420,7 +492,7 @@ Themes has new variables in version 4.17.0 that support all of the weight values
420
492
  This aligns with the existing API for `variant` in this component.
421
493
 
422
494
  #### Migration steps
423
- Convert any usage of a number to the keyword value using the following table based on <Link to="https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight#common_weight_name_mapping" openInNewContext>MDN</Link>:
495
+ Convert any usage of a number to the keyword value using the following table based on <Link to="https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight#common_weight_name_mapping" openInNewContext>MDN</Link>:
424
496
 
425
497
  <Table>
426
498
  <Table.Head>
@@ -460,7 +532,7 @@ Convert any usage of a number to the keyword value using the following table bas
460
532
  </Table>
461
533
 
462
534
  For example, convert `<Typography as="p" weight={700} />` to `<Typography as="p" weight='bold' />`.
463
-
535
+
464
536
  ## 4.13.0
465
537
 
466
538
  ### Deprecated `Button` `appearance="pill"`
@@ -474,7 +546,7 @@ The “pill” appearance is deprecated due to confusion among designers and eng
474
546
  #### Migration steps
475
547
  Replace all usage of `Button` `appearance="pill"` with `appearance="default"` or use the `Link` component instead.
476
548
 
477
- ### Deprecated `placeholder` prop in `Text`, `TextArea`, and `Number`
549
+ ### Deprecated `placeholder` prop in `Text`, `TextArea`, and `Number`
478
550
 
479
551
  #### Change
480
552
  The `placeholder` prop in `Text`, `TextArea`, and `Number` is deprecated and will be removed from future major versions.
@@ -523,7 +595,7 @@ To keep the previous behavior, set `separateStackingContexts={false}`.
523
595
  ### Deprecated `RadioBar.Option`'s `icon` prop
524
596
 
525
597
  #### Change
526
- `RadioBar.Option`'s `icon` prop is deprecated and will be removed in a future major version.
598
+ `RadioBar.Option`'s `icon` prop is deprecated and will be removed in a future major version.
527
599
 
528
600
  #### Context
529
601
  The `RadioBar.Option` icon should not be used due to misalignment with `Text`.
@@ -536,13 +608,13 @@ Replace all usage of `RadioBar.Option`'s `icon` prop with `startAdornment` and/o
536
608
  ### Deprecated `Message` `appearance="banner"`
537
609
 
538
610
  #### Change
539
- `Message`’s `appearance="banner"` option is deprecated and will be removed in a future major version.
611
+ `Message`’s `appearance="banner"` option is deprecated and will be removed in a future major version.
540
612
 
541
613
  #### Context
542
- Please use `MessageBar` instead of `Message` with `appearance="banner"`.
614
+ Please use `MessageBar` instead of `Message` with `appearance="banner"`.
543
615
 
544
616
  Use `MessageBar` for:
545
- - System-level messages (such as expired accounts, server outages, account status, etc).
617
+ - System-level messages (such as expired accounts, server outages, account status, etc).
546
618
  - Information, warning, error, or success notifications
547
619
 
548
620
  Use `Message` or another component for:
@@ -557,7 +629,7 @@ Replace all usage of `Message`’s `appearance="banner"` option to `MessageBar`.
557
629
  `Message.Link` is deprecated and will be removed in a future major version.
558
630
 
559
631
  ### Context
560
- `MessageBar` now applies the necessary styles to `Link`.
632
+ `MessageBar` now applies the necessary styles to `Link`.
561
633
 
562
634
  #### Migration steps
563
635
  Replace all usage of `Message.Link` with the `Link` component as a child of the `MessageBar` component. See entries above or our docs for more information on `MessageBar`.
@@ -573,7 +645,7 @@ The `useSyntheticPlaceholder` prop in `Text` and `Number` is deprecated and will
573
645
  The `useSyntheticPlaceholder` prop is not needed because we no longer support IE11.
574
646
 
575
647
  #### Migration steps
576
- Remove the `useSyntheticPlaceholder` prop.
648
+ Remove the `useSyntheticPlaceholder` prop.
577
649
 
578
650
  ### Deprecated `Monogram` `size="xlarge"`
579
651
 
@@ -594,7 +666,7 @@ Replace all usage of `xlarge` as the value for `Monogram`'s `size` prop with the
594
666
  `Accordion` no longer supports `collapseAll` prop and all panels are allowed to collapse by default.
595
667
 
596
668
  #### Context
597
- The user needs to be able to skip over any section with `tab`, which is not possible when the first one is open. This prop is no longer supported due to accessibility issues when set to `false`.
669
+ The user needs to be able to skip over any section with `tab`, which is not possible when the first one is open. This prop is no longer supported due to accessibility issues when set to `false`.
598
670
 
599
671
  #### Migration steps
600
672
  Remove all usage of `Accordion` `collapseAll`.
@@ -602,10 +674,10 @@ Remove all usage of `Accordion` `collapseAll`.
602
674
  ### `File` now supports `fullscreen` prop instead of `size="large"`.
603
675
 
604
676
  #### Change
605
- `File`’s `size` prop has been removed. Instead, use the `fullscreen` prop.
677
+ `File`’s `size` prop has been removed. Instead, use the `fullscreen` prop.
606
678
 
607
679
  #### Context
608
- If `fullscreen` prop is set, there can only be one `File` component on the page as it will take all files dropped on the page.
680
+ If `fullscreen` prop is set, there can only be one `File` component on the page as it will take all files dropped on the page.
609
681
 
610
682
  #### Migration steps
611
683
  Replace all usage of `size="large"` with `fullscreen` prop. Remove all other usage of `File` `size`.
@@ -627,7 +699,7 @@ Ensure the toggle `ref` is an `HTMLElement`, `Clickable`, `Button`, or `Link`.
627
699
  `Popover`’s `pointerEvents` prop has been removed.
628
700
 
629
701
  #### Context
630
- Previously, `Tooltip` closed as soon as a user stopped hovering over the toggle. To allow the `Tooltip` to remain open when hovering/focusing on the toggle or the content area, the `Popover`’s `pointerEvent` prop has been removed. `Tooltip` now has two props: `possibleOpenReasons` and `possibleCloseReasons`, which provide more control over when the `Tooltip` can be opened and closed.
702
+ Previously, `Tooltip` closed as soon as a user stopped hovering over the toggle. To allow the `Tooltip` to remain open when hovering/focusing on the toggle or the content area, the `Popover`’s `pointerEvent` prop has been removed. `Tooltip` now has two props: `possibleOpenReasons` and `possibleCloseReasons`, which provide more control over when the `Tooltip` can be opened and closed.
631
703
 
632
704
  #### Migration steps
633
705
  Replace all usage of `Popover`’s `pointerEvents` prop with `possibleOpenReasons` and `possibleCloseReasons`.
@@ -642,12 +714,12 @@ Replace all usage of `Popover`’s `pointerEvents` prop with `possibleOpenReason
642
714
 
643
715
  #### Context
644
716
 
645
- `Text`'s `appearance` prop allowed the values "default" and "search".
646
- With the new `Search` component optimized for user interaction, Text's `appearance` prop has become unnecessary.
717
+ `Text`'s `appearance` prop allowed the values "default" and "search".
718
+ With the new `Search` component optimized for user interaction, Text's `appearance` prop has become unnecessary.
647
719
 
648
720
  #### Migration steps
649
721
 
650
- Replace all usage of `Text`'s `appearance="search"` value with the `Search` component. Remove all usage of `Text`'s `appearance="default"` value.
722
+ Replace all usage of `Text`'s `appearance="search"` value with the `Search` component. Remove all usage of `Text`'s `appearance="default"` value.
651
723
 
652
724
  ## 4.36.0
653
725
 
@@ -663,5 +735,18 @@ The `size` prop currently does not do anything in `ComboBox`, `ControlGroup`, or
663
735
 
664
736
  #### Migration steps
665
737
 
666
- Remove all usage of `ComboBox`, `ControlGroup`, and `StaticContent`'s `size` prop. To change the size of components, use the `SplunkThemeProvider`'s `density` prop.
738
+ Remove all usage of `ComboBox`, `ControlGroup`, and `StaticContent`'s `size` prop. To change the size of components, use the `SplunkThemeProvider`'s `density` prop.
739
+
740
+ ## 4.39.0
741
+
742
+ ### Deprecated `Menu.Item`'s `icon` prop
743
+
744
+ #### Change
745
+ `Menu.Item`'s `icon` prop is deprecated and will be removed in a future major version.
746
+
747
+ #### Context
748
+ The `Menu.Item` icon should not be used as `Menu.Item` as that restricted the location of the icon and it is now possible to place an adornment at the start or the end of the `Menu.Item` content.
749
+
750
+ #### Migration steps
751
+ Replace all usage of `Menu.Item`'s `icon` prop with `startAdornment` and/or `endAdornment`.
667
752