@splunk/react-ui 4.17.1 → 4.19.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 (122) hide show
  1. package/Accordion.js +6 -6
  2. package/Anchor.js +2 -2
  3. package/Animation.js +2 -2
  4. package/AnimationToggle.js +5 -5
  5. package/Box.js +2 -2
  6. package/Button.js +4 -4
  7. package/ButtonGroup.js +2 -2
  8. package/ButtonSimple.js +2 -2
  9. package/CHANGELOG.md +28 -2
  10. package/Calendar.js +8 -8
  11. package/Card.js +8 -8
  12. package/CardLayout.js +2 -2
  13. package/Chip.js +23 -16
  14. package/Clickable.js +11 -11
  15. package/CloseButton.js +2 -2
  16. package/Code.js +12 -12
  17. package/CollapsiblePanel.js +4 -4
  18. package/Color.js +209 -182
  19. package/ColumnLayout.js +6 -6
  20. package/ComboBox.js +14 -14
  21. package/Concertina.js +10 -10
  22. package/ControlGroup.js +2 -2
  23. package/Date.js +13 -13
  24. package/DefinitionList.js +2 -2
  25. package/Divider.js +2 -2
  26. package/Dropdown.js +13 -13
  27. package/DualListbox.js +9 -6
  28. package/EventListener.js +4 -4
  29. package/File.js +13 -13
  30. package/FormRows.js +264 -103
  31. package/Heading.js +50 -50
  32. package/Image.js +15 -15
  33. package/JSONTree.js +38 -36
  34. package/Layer.js +10 -10
  35. package/Link.js +2 -2
  36. package/List.js +9 -6
  37. package/MIGRATION.mdx +295 -0
  38. package/Markdown.js +24 -19
  39. package/Menu.js +12 -12
  40. package/Message.js +4 -4
  41. package/MessageBar.js +2 -2
  42. package/Modal.js +4 -4
  43. package/ModalLayer.js +4 -4
  44. package/Monogram.js +3 -3
  45. package/Multiselect.js +33 -33
  46. package/Number.js +7 -6
  47. package/Paginator.js +6 -6
  48. package/Paragraph.js +2 -2
  49. package/Popover.js +31 -27
  50. package/Progress.js +4 -4
  51. package/RadioBar.js +4 -4
  52. package/RadioList.js +2 -2
  53. package/Resize.js +6 -6
  54. package/ResultsMenu.js +8 -8
  55. package/ScreenReaderContent.js +2 -2
  56. package/Scroll.js +6 -6
  57. package/ScrollContainerContext.js +2 -2
  58. package/Search.js +14 -14
  59. package/Select.js +12 -12
  60. package/SidePanel.js +2 -2
  61. package/Slider.js +10 -10
  62. package/SlidingPanels.js +8 -8
  63. package/SplitButton.js +4 -4
  64. package/StaticContent.js +2 -2
  65. package/StepBar.js +2 -2
  66. package/Switch.js +2 -2
  67. package/TabBar.js +68 -51
  68. package/TabLayout.js +6 -6
  69. package/Table.js +51 -50
  70. package/Text.js +25 -23
  71. package/TextArea.js +24 -22
  72. package/Tooltip.js +11 -11
  73. package/TransitionOpen.js +2 -2
  74. package/Typography.js +4 -4
  75. package/WaitSpinner.js +2 -2
  76. package/cypress/support/component-index.html +12 -0
  77. package/cypress/support/component.ts +27 -0
  78. package/cypress.config.ts +19 -0
  79. package/package.json +14 -19
  80. package/stubs-dependencies.d.ts +0 -9
  81. package/types/src/Button/Button.d.ts +5 -3
  82. package/types/src/Clickable/Clickable.d.ts +2 -1
  83. package/types/src/Clickable/docs/examples/Basic.d.ts +2 -2
  84. package/types/src/CollapsiblePanel/CollapsiblePanel.d.ts +1 -0
  85. package/types/src/Color/Color.d.ts +6 -6
  86. package/types/src/Color/Palette.d.ts +46 -0
  87. package/types/src/Concertina/Panel.d.ts +1 -0
  88. package/types/src/FormRows/FormRows.d.ts +1 -2
  89. package/types/src/FormRows/Row.d.ts +3 -12
  90. package/types/src/FormRows/RowInternal.d.ts +19 -0
  91. package/types/src/FormRows/SortableList.d.ts +8 -2
  92. package/types/src/FormRows/SortableRow.d.ts +20 -0
  93. package/types/src/Heading/Heading.d.ts +8 -3
  94. package/types/src/JSONTree/JSONTree.d.ts +2 -1
  95. package/types/src/Layer/Layer.d.ts +2 -0
  96. package/types/src/List/List.d.ts +9 -1
  97. package/types/src/List/docs/examples/CustomizedList.d.ts +2 -0
  98. package/types/src/List/docs/examples/OrderedList.d.ts +2 -0
  99. package/types/src/List/docs/examples/UnorderedList.d.ts +2 -0
  100. package/types/src/Markdown/Markdown.d.ts +1 -0
  101. package/types/src/Markdown/renderers/MarkdownList.d.ts +2 -0
  102. package/types/src/Number/Number.d.ts +9 -4
  103. package/types/src/Popover/Popover.d.ts +2 -0
  104. package/types/src/TabBar/Tab.d.ts +2 -0
  105. package/types/src/Table/Head.d.ts +1 -0
  106. package/types/src/Table/HeadCell.d.ts +1 -0
  107. package/types/src/Table/HeadDropdownCell.d.ts +1 -0
  108. package/types/src/Table/Table.d.ts +3 -1
  109. package/types/src/Text/Text.d.ts +3 -1
  110. package/types/src/TextArea/TextArea.d.ts +2 -0
  111. package/useForceUpdate.js +2 -2
  112. package/useKeyPress.js +2 -2
  113. package/usePrevious.js +2 -2
  114. package/useRovingFocus.js +2 -2
  115. package/MIGRATION.md +0 -49
  116. package/cypress/plugins/index.ts +0 -15
  117. package/cypress/support/index.ts +0 -10
  118. package/cypress.json +0 -13
  119. package/types/src/List/docs/examples/Decimal.d.ts +0 -2
  120. package/types/src/List/docs/examples/Disc.d.ts +0 -2
  121. package/types/src/List/docs/examples/LowerAlpha.d.ts +0 -2
  122. package/types/src/List/docs/examples/UpperAlpha.d.ts +0 -2
package/Image.js CHANGED
@@ -82,7 +82,7 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 199);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 200);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -108,28 +108,35 @@ module.exports = require("@splunk/react-ui/Clickable");
108
108
 
109
109
  /***/ }),
110
110
 
111
- /***/ 135:
111
+ /***/ 136:
112
112
  /***/ (function(module, exports) {
113
113
 
114
114
  module.exports = require("lodash/endsWith");
115
115
 
116
116
  /***/ }),
117
117
 
118
- /***/ 136:
118
+ /***/ 137:
119
119
  /***/ (function(module, exports) {
120
120
 
121
121
  module.exports = require("@splunk/react-ui/File");
122
122
 
123
123
  /***/ }),
124
124
 
125
- /***/ 137:
125
+ /***/ 138:
126
126
  /***/ (function(module, exports) {
127
127
 
128
128
  module.exports = require("@splunk/react-ui/Message");
129
129
 
130
130
  /***/ }),
131
131
 
132
- /***/ 199:
132
+ /***/ 2:
133
+ /***/ (function(module, exports) {
134
+
135
+ module.exports = require("react");
136
+
137
+ /***/ }),
138
+
139
+ /***/ 200:
133
140
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
134
141
 
135
142
  "use strict";
@@ -148,7 +155,7 @@ var external_prop_types_ = __webpack_require__(1);
148
155
  var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
149
156
 
150
157
  // EXTERNAL MODULE: external "lodash/endsWith"
151
- var endsWith_ = __webpack_require__(135);
158
+ var endsWith_ = __webpack_require__(136);
152
159
  var endsWith_default = /*#__PURE__*/__webpack_require__.n(endsWith_);
153
160
 
154
161
  // EXTERNAL MODULE: external "lodash/omit"
@@ -160,7 +167,7 @@ var toLower_ = __webpack_require__(34);
160
167
  var toLower_default = /*#__PURE__*/__webpack_require__.n(toLower_);
161
168
 
162
169
  // EXTERNAL MODULE: external "@splunk/react-ui/File"
163
- var File_ = __webpack_require__(136);
170
+ var File_ = __webpack_require__(137);
164
171
  var File_default = /*#__PURE__*/__webpack_require__.n(File_);
165
172
 
166
173
  // EXTERNAL MODULE: external "@splunk/ui-utils/format"
@@ -217,7 +224,7 @@ var Clickable_ = __webpack_require__(12);
217
224
  var Clickable_default = /*#__PURE__*/__webpack_require__.n(Clickable_);
218
225
 
219
226
  // EXTERNAL MODULE: external "@splunk/react-ui/Message"
220
- var Message_ = __webpack_require__(137);
227
+ var Message_ = __webpack_require__(138);
221
228
  var Message_default = /*#__PURE__*/__webpack_require__.n(Message_);
222
229
 
223
230
  // CONCATENATED MODULE: ./src/Image/ImageStyles.ts
@@ -502,13 +509,6 @@ _defineProperty(Image_Image, "defaultProps", defaultProps);
502
509
 
503
510
 
504
511
 
505
- /***/ }),
506
-
507
- /***/ 2:
508
- /***/ (function(module, exports) {
509
-
510
- module.exports = require("react");
511
-
512
512
  /***/ }),
513
513
 
514
514
  /***/ 25:
package/JSONTree.js CHANGED
@@ -82,7 +82,7 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 193);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 194);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -101,14 +101,14 @@ module.exports = require("prop-types");
101
101
 
102
102
  /***/ }),
103
103
 
104
- /***/ 113:
104
+ /***/ 114:
105
105
  /***/ (function(module, exports) {
106
106
 
107
107
  module.exports = require("lodash/isObject");
108
108
 
109
109
  /***/ }),
110
110
 
111
- /***/ 118:
111
+ /***/ 119:
112
112
  /***/ (function(module, exports) {
113
113
 
114
114
  module.exports = require("lodash/fill");
@@ -122,7 +122,7 @@ module.exports = require("@splunk/react-ui/Clickable");
122
122
 
123
123
  /***/ }),
124
124
 
125
- /***/ 193:
125
+ /***/ 194:
126
126
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
127
127
 
128
128
  "use strict";
@@ -145,11 +145,11 @@ var isString_ = __webpack_require__(23);
145
145
  var isString_default = /*#__PURE__*/__webpack_require__.n(isString_);
146
146
 
147
147
  // EXTERNAL MODULE: external "lodash/fill"
148
- var fill_ = __webpack_require__(118);
148
+ var fill_ = __webpack_require__(119);
149
149
  var fill_default = /*#__PURE__*/__webpack_require__.n(fill_);
150
150
 
151
151
  // EXTERNAL MODULE: external "lodash/isArray"
152
- var isArray_ = __webpack_require__(73);
152
+ var isArray_ = __webpack_require__(74);
153
153
  var isArray_default = /*#__PURE__*/__webpack_require__.n(isArray_);
154
154
 
155
155
  // EXTERNAL MODULE: external "lodash/isEmpty"
@@ -157,11 +157,11 @@ var isEmpty_ = __webpack_require__(88);
157
157
  var isEmpty_default = /*#__PURE__*/__webpack_require__.n(isEmpty_);
158
158
 
159
159
  // EXTERNAL MODULE: external "lodash/isNumber"
160
- var isNumber_ = __webpack_require__(74);
160
+ var isNumber_ = __webpack_require__(75);
161
161
  var isNumber_default = /*#__PURE__*/__webpack_require__.n(isNumber_);
162
162
 
163
163
  // EXTERNAL MODULE: external "lodash/isObject"
164
- var isObject_ = __webpack_require__(113);
164
+ var isObject_ = __webpack_require__(114);
165
165
  var isObject_default = /*#__PURE__*/__webpack_require__.n(isObject_);
166
166
 
167
167
  // EXTERNAL MODULE: external "lodash/keys"
@@ -169,7 +169,7 @@ var keys_ = __webpack_require__(9);
169
169
  var keys_default = /*#__PURE__*/__webpack_require__.n(keys_);
170
170
 
171
171
  // EXTERNAL MODULE: external "lodash/repeat"
172
- var repeat_ = __webpack_require__(78);
172
+ var repeat_ = __webpack_require__(80);
173
173
  var repeat_default = /*#__PURE__*/__webpack_require__.n(repeat_);
174
174
 
175
175
  // EXTERNAL MODULE: external "styled-components"
@@ -443,34 +443,36 @@ var TreeNode_JSONTreeNode = /*#__PURE__*/function (_Component) {
443
443
  expandChildren = _this$props3.expandChildren,
444
444
  overflow = _this$props3.overflow,
445
445
  path = _this$props3.path;
446
- var isPrimitive = !isObject_default()(value); // isObject is true for arrays
447
-
448
- var representation = value; // determine if value should be represented as a simple string
446
+ var representation = null; // determine if value should be represented as a simple string
449
447
  // or as a child node
450
448
 
451
- if (!isPrimitive) {
452
- if (isEmpty_default()(value)) {
453
- representation = isArray_default()(value) ? '[]' : '{}';
449
+ if (!isObject_default()(value)) {
450
+ // isObject is true for arrays
451
+ if (typeof value === 'string') {
452
+ representation = "\"".concat(value, "\"");
453
+ } else if (typeof value === 'boolean') {
454
+ representation = value.toString();
455
+ } else if (value === null) {
456
+ representation = 'null';
454
457
  } else {
455
- representation = /*#__PURE__*/external_react_default.a.createElement(JSONTreeNode, {
456
- obj: value,
457
- path: key !== undefined ? [].concat(_toConsumableArray(path), [key]) : _toConsumableArray(path) // Prevent undefined from being added to path for single value edge-case
458
- ,
459
- defaultOpen: expandChildren === true,
460
- expandChildren: expandChildren,
461
- onClickKey: onClickKey,
462
- onClickValue: onClickValue,
463
- indent: indent,
464
- indentLevel: indentLevel + 1,
465
- overflow: overflow
466
- });
458
+ representation = value;
467
459
  }
468
- } else if (typeof value === 'string') {
469
- representation = "\"".concat(value, "\"");
470
- } else if (typeof value === 'boolean') {
471
- representation = value.toString();
472
- } else if (value === null) {
473
- representation = 'null';
460
+ } else if (isEmpty_default()(value)) {
461
+ // isObject is true for arrays
462
+ representation = isArray_default()(value) ? '[]' : '{}';
463
+ } else {
464
+ representation = /*#__PURE__*/external_react_default.a.createElement(JSONTreeNode, {
465
+ obj: value,
466
+ path: key !== undefined ? [].concat(_toConsumableArray(path), [key]) : _toConsumableArray(path) // Prevent undefined from being added to path for single value edge-case
467
+ ,
468
+ defaultOpen: expandChildren === true,
469
+ expandChildren: expandChildren,
470
+ onClickKey: onClickKey,
471
+ onClickValue: onClickValue,
472
+ indent: indent,
473
+ indentLevel: indentLevel + 1,
474
+ overflow: overflow
475
+ });
474
476
  } // for string or number representations, apply styles and optional interactivity
475
477
 
476
478
 
@@ -671,21 +673,21 @@ module.exports = require("styled-components");
671
673
 
672
674
  /***/ }),
673
675
 
674
- /***/ 73:
676
+ /***/ 74:
675
677
  /***/ (function(module, exports) {
676
678
 
677
679
  module.exports = require("lodash/isArray");
678
680
 
679
681
  /***/ }),
680
682
 
681
- /***/ 74:
683
+ /***/ 75:
682
684
  /***/ (function(module, exports) {
683
685
 
684
686
  module.exports = require("lodash/isNumber");
685
687
 
686
688
  /***/ }),
687
689
 
688
- /***/ 78:
690
+ /***/ 80:
689
691
  /***/ (function(module, exports) {
690
692
 
691
693
  module.exports = require("lodash/repeat");
package/Layer.js CHANGED
@@ -82,7 +82,7 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 220);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 221);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -101,7 +101,7 @@ module.exports = require("prop-types");
101
101
 
102
102
  /***/ }),
103
103
 
104
- /***/ 119:
104
+ /***/ 120:
105
105
  /***/ (function(module, exports) {
106
106
 
107
107
  module.exports = require("lodash/pull");
@@ -111,18 +111,18 @@ module.exports = require("lodash/pull");
111
111
  /***/ 15:
112
112
  /***/ (function(module, exports) {
113
113
 
114
- module.exports = require("@splunk/react-ui/EventListener");
114
+ module.exports = require("lodash/includes");
115
115
 
116
116
  /***/ }),
117
117
 
118
118
  /***/ 16:
119
119
  /***/ (function(module, exports) {
120
120
 
121
- module.exports = require("lodash/includes");
121
+ module.exports = require("@splunk/react-ui/EventListener");
122
122
 
123
123
  /***/ }),
124
124
 
125
- /***/ 166:
125
+ /***/ 167:
126
126
  /***/ (function(module, exports) {
127
127
 
128
128
  var g;
@@ -156,7 +156,7 @@ module.exports = require("react");
156
156
 
157
157
  /***/ }),
158
158
 
159
- /***/ 220:
159
+ /***/ 221:
160
160
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
161
161
 
162
162
  "use strict";
@@ -181,7 +181,7 @@ var external_prop_types_ = __webpack_require__(1);
181
181
  var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
182
182
 
183
183
  // EXTERNAL MODULE: external "lodash/includes"
184
- var includes_ = __webpack_require__(16);
184
+ var includes_ = __webpack_require__(15);
185
185
  var includes_default = /*#__PURE__*/__webpack_require__.n(includes_);
186
186
 
187
187
  // EXTERNAL MODULE: external "lodash/last"
@@ -189,14 +189,14 @@ var last_ = __webpack_require__(92);
189
189
  var last_default = /*#__PURE__*/__webpack_require__.n(last_);
190
190
 
191
191
  // EXTERNAL MODULE: external "lodash/pull"
192
- var pull_ = __webpack_require__(119);
192
+ var pull_ = __webpack_require__(120);
193
193
  var pull_default = /*#__PURE__*/__webpack_require__.n(pull_);
194
194
 
195
195
  // EXTERNAL MODULE: external "@splunk/ui-utils/keyboard"
196
196
  var keyboard_ = __webpack_require__(7);
197
197
 
198
198
  // EXTERNAL MODULE: external "@splunk/react-ui/EventListener"
199
- var EventListener_ = __webpack_require__(15);
199
+ var EventListener_ = __webpack_require__(16);
200
200
  var EventListener_default = /*#__PURE__*/__webpack_require__.n(EventListener_);
201
201
 
202
202
  // EXTERNAL MODULE: ./src/Layer/LayerStack.tsx
@@ -586,7 +586,7 @@ function LayerStackGlobalProvider(_ref) {
586
586
 
587
587
  LayerStackGlobalProvider.propTypes = propTypes;
588
588
 
589
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(166)))
589
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(167)))
590
590
 
591
591
  /***/ })
592
592
 
package/Link.js CHANGED
@@ -82,7 +82,7 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 200);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 201);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -115,7 +115,7 @@ module.exports = require("react");
115
115
 
116
116
  /***/ }),
117
117
 
118
- /***/ 200:
118
+ /***/ 201:
119
119
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
120
120
 
121
121
  "use strict";
package/List.js CHANGED
@@ -82,7 +82,7 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 201);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 202);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -108,7 +108,7 @@ module.exports = require("react");
108
108
 
109
109
  /***/ }),
110
110
 
111
- /***/ 201:
111
+ /***/ 202:
112
112
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
113
113
 
114
114
  "use strict";
@@ -195,6 +195,7 @@ function List_objectWithoutPropertiesLoose(source, excluded) { if (source == nul
195
195
  var List_propTypes = {
196
196
  children: external_prop_types_default.a.node,
197
197
  elementRef: external_prop_types_default.a.oneOfType([external_prop_types_default.a.func, external_prop_types_default.a.object]),
198
+ ordered: external_prop_types_default.a.bool,
198
199
  type: external_prop_types_default.a.oneOf(['disc', 'decimal', 'lower-alpha', 'upper-alpha'])
199
200
  };
200
201
 
@@ -203,15 +204,17 @@ function List(_ref) {
203
204
  elementRef = _ref.elementRef,
204
205
  _ref$type = _ref.type,
205
206
  type = _ref$type === void 0 ? 'disc' : _ref$type,
206
- otherProps = List_objectWithoutProperties(_ref, ["children", "elementRef", "type"]);
207
+ ordered = _ref.ordered,
208
+ otherProps = List_objectWithoutProperties(_ref, ["children", "elementRef", "type", "ordered"]);
207
209
 
208
210
  // @docs-props-type ListPropsBase
209
- var isUnordered = type === 'disc';
211
+ if (false) {}
212
+
210
213
  return /*#__PURE__*/external_react_default.a.createElement(StyledOl, List_extends({
211
- as: isUnordered ? 'ul' : undefined,
214
+ as: !ordered && type === 'disc' ? 'ul' : 'ol',
212
215
  "data-test": "list",
213
216
  ref: elementRef,
214
- $type: type
217
+ $type: ordered || type === 'decimal' ? 'decimal' || false || false : type
215
218
  }, otherProps), children);
216
219
  }
217
220
 
package/MIGRATION.mdx ADDED
@@ -0,0 +1,295 @@
1
+ import Link from '@splunk/react-ui/Link';
2
+ import Table from '@splunk/react-ui/Table';
3
+
4
+ # Migration
5
+
6
+ This document lists migration guidance for new features and breaking changes.
7
+
8
+ ## 4.18.0
9
+
10
+ ### Deprecated `level="s"` and `level="ss"` and added new `variant` prop for `Heading`
11
+
12
+ #### Change
13
+ `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.
14
+
15
+ #### Context
16
+ 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.
17
+
18
+ #### Migration steps
19
+ 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.
20
+ To keep the same style as `Heading`'s `level="s"` and `level="ss"` follow the below code:
21
+
22
+ *Enterprise*
23
+
24
+ `level="s"` styling:
25
+
26
+ ```jsx
27
+ const StyledSHeading = styled(Heading)`
28
+ font-weight: ${variables.fontWeightSemiBold};
29
+ font-size: ${variables.fontSize}
30
+ color: ${pick({
31
+ dark: variables.gray80,
32
+ light: variables.gray45,
33
+ })};
34
+ `;
35
+
36
+ <StyledSHeading level={4} variant="title4"/>
37
+ ```
38
+
39
+ `level="ss"` styling:
40
+
41
+ ```jsx
42
+ const StyledSSHeading = styled(Heading)`
43
+ color: ${pick({
44
+ dark: variables.gray80,
45
+ light: variables.gray45,
46
+ })};
47
+ `;
48
+
49
+ <StyledSHeading level={5} variant="title5"/>
50
+ ```
51
+
52
+ *Prisma*
53
+
54
+ `level="s"` styling:
55
+
56
+ ```jsx
57
+ const StyledSHeading = styled(Heading)`
58
+ font-size: ${variables.fontSize};
59
+ color: ${variables.contentColorDefault};
60
+ `;
61
+
62
+ <StyledSHeading level={4} variant="title4"/>
63
+ ```
64
+
65
+ `level="ss"` styling:
66
+
67
+ ```jsx
68
+ No styling is needed.
69
+ <Heading level="ss"> is equivalent to <StyledSHeading level={5} variant="title5"/>
70
+ ```
71
+
72
+ ## 4.17.0
73
+
74
+ ### `Typography` `weight` prop
75
+
76
+ #### Change
77
+ `Typography` no longer supports numerical values for `weight`.
78
+
79
+ #### Context
80
+ Supporting both numerical and keyword values creates confusion on which is correct to use.
81
+ Themes has new variables in version 4.17.0 that support all of the weight values in the design system.
82
+ This aligns with the existing API for `variant` in this component.
83
+
84
+ #### Migration steps
85
+ 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>:
86
+
87
+ <Table>
88
+ <Table.Head>
89
+ <Table.HeadCell>Number</Table.HeadCell>
90
+ <Table.HeadCell>Keyword</Table.HeadCell>
91
+ </Table.Head>
92
+ <Table.Body>
93
+ <Table.Row key={300}>
94
+ <Table.Cell>{300}</Table.Cell>
95
+ <Table.Cell>light</Table.Cell>
96
+ </Table.Row>
97
+ <Table.Row key={400}>
98
+ <Table.Cell>{400}</Table.Cell>
99
+ <Table.Cell>normal</Table.Cell>
100
+ </Table.Row>
101
+ <Table.Row key={500}>
102
+ <Table.Cell>{500}</Table.Cell>
103
+ <Table.Cell>semiBold</Table.Cell>
104
+ </Table.Row>
105
+ <Table.Row key={600}>
106
+ <Table.Cell>{600}</Table.Cell>
107
+ <Table.Cell>semiBold</Table.Cell>
108
+ </Table.Row>
109
+ <Table.Row key={700}>
110
+ <Table.Cell>{700}</Table.Cell>
111
+ <Table.Cell>bold</Table.Cell>
112
+ </Table.Row>
113
+ <Table.Row key={800}>
114
+ <Table.Cell>{800}</Table.Cell>
115
+ <Table.Cell>extraBold</Table.Cell>
116
+ </Table.Row>
117
+ <Table.Row key={900}>
118
+ <Table.Cell>{900}</Table.Cell>
119
+ <Table.Cell>heavy</Table.Cell>
120
+ </Table.Row>
121
+ </Table.Body>
122
+ </Table>
123
+
124
+ For example, convert `<Typography as="p" weight={700} />` to `<Typography as="p" weight='bold' />`.
125
+
126
+ ## 4.13.0
127
+
128
+ ### Deprecated `Button` `appearance="pill"`
129
+
130
+ #### Change
131
+ The `Button`'s "pill" appearance is deprecated and will be removed in a future major version.
132
+
133
+ #### Context
134
+ The “pill” appearance is deprecated due to confusion among designers and engineers between the different uses. To minimize confusion, there will be one primary `Button` rounded style.
135
+
136
+ #### Migration steps
137
+ Replace all usage of `Button` `appearance="pill"` with `appearance="default"` or use the `Link` component instead.
138
+
139
+ ### Deprecated `placeholder` prop in `Text`, `TextArea`, and `Number`
140
+
141
+ #### Change
142
+ The `placeholder` prop in `Text`, `TextArea`, and `Number` is deprecated and will be removed from future major versions.
143
+
144
+ #### Context
145
+ The `placeholder` prop presents multiple visual and cognitive issues and should not be used.
146
+
147
+ #### Migration steps
148
+ The `placeholder` prop should be replaced with `ControlGroup`'s `label` or `help`. It is recommended to avoid using a placeholder, but if appropriate the `placeholder` HTML attribute is still supported.
149
+
150
+ ## 4.12.0
151
+
152
+ ### Deprecated `Text`'s `multiline`, `rowsMax`, and `rowsMin` props
153
+
154
+ #### Change
155
+ `Text`'s `multiline`, `rowsMax`, and `rowsMin` props have been deprecated. Instead use the new `TextArea` component for multiline text input.
156
+
157
+ #### Context
158
+ `Text` supported two modes -- single or multiline. Each modes had exclusive props: e.g. `maxRows` was only valid with the `multiline` prop.
159
+ This could be confusing and lead to unexpected or unsupported API combinations. Additionally, code in `Text` would only operate in one mode at a time. Moreover, `Text` with the `multiline` prop does not allow line breaks to be inserted with the “enter” key in some browsers.
160
+
161
+ By separating these modes, we have made it simpler and clearer to decide which component and props to use.
162
+ `Text` should be used for inline text input. `TextArea` should be used for long-form text input.
163
+ This aligns the components with the HTML spec and the Splunk Design System.
164
+
165
+ #### Migration steps
166
+ Replace instances of `Text` that use the `multiline` prop with the new `TextArea` component.
167
+
168
+ ## 4.11.0
169
+
170
+ ### New `separateStackingContexts` prop for `LayerStackGlobalProvider`
171
+
172
+ #### Change
173
+ A new prop, `separateStackingContexts`, has been added to `LayerStackGlobalProvider`. `separateStackingContexts` will default to false for backward compatibility but will later default to true in the next major version.
174
+
175
+ #### Context
176
+ Previously, dropdown menus were stacking on top of and blocking modals and modal-backdrops.
177
+
178
+ Now with `separateStackingContexts`, 'floating' items such as `Popover` and `Modal` will now be stacked in the order they are opened rather than a fixed order.
179
+
180
+ #### Migration steps
181
+ To keep the previous behavior, set `separateStackingContexts={false}`.
182
+
183
+ ## 4.8.0
184
+
185
+ ### Deprecated `RadioBar.Option`'s `icon` prop
186
+
187
+ #### Change
188
+ `RadioBar.Option`'s `icon` prop is deprecated and will be removed in a future major version.
189
+
190
+ #### Context
191
+ The `RadioBar.Option` icon should not be used due to misalignment with `Text`.
192
+
193
+ #### Migration steps
194
+ Replace all usage of `RadioBar.Option`'s `icon` prop with `startAdornment` and/or `endAdornment`.
195
+
196
+ ## 4.7.0
197
+
198
+ ### Deprecated `Message` `appearance="banner"`
199
+
200
+ #### Change
201
+ `Message`’s `appearance="banner"` option is deprecated and will be removed in a future major version.
202
+
203
+ #### Context
204
+ Please use `MessageBar` instead of `Message` with `appearance="banner"`.
205
+
206
+ Use `MessageBar` for:
207
+ - System-level messages (such as expired accounts, server outages, account status, etc).
208
+ - Information, warning, error, or success notifications
209
+
210
+ Use `Message` or another component for:
211
+ - Feedback of actions taken within the page (such as adding, deleting, or saving an item).
212
+
213
+ #### Migration steps
214
+ Replace all usage of `Message`’s `appearance="banner"` option to `MessageBar`.
215
+
216
+ ### Deprecated `Message.Link`
217
+
218
+ #### Change
219
+ `Message.Link` is deprecated and will be removed in a future major version.
220
+
221
+ ### Context
222
+ `MessageBar` now applies the necessary styles to `Link`.
223
+
224
+ #### Migration steps
225
+ 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`.
226
+
227
+ ## 4.5.0
228
+
229
+ ### Deprecated `useSyntheticPlaceholder` prop in `Text` and `Number`
230
+
231
+ #### Change
232
+ The `useSyntheticPlaceholder` prop in `Text` and `Number` is deprecated and will be removed in a future major version.
233
+
234
+ #### Context
235
+ The `useSyntheticPlaceholder` prop is not needed because we no longer support IE11.
236
+
237
+ #### Migration steps
238
+ Remove the `useSyntheticPlaceholder` prop.
239
+
240
+ ### Deprecated `Monogram` `size="xlarge"`
241
+
242
+ #### Change
243
+ `Monogram`'s `size="xlarge"` is deprecated and will be removed in a future major version.
244
+
245
+ #### Context
246
+ The `xlarge` option for `Monogram`'s `size` prop is deprecated to align with Figma.
247
+
248
+ #### Migration steps
249
+ Replace all usage of `xlarge` as the value for `Monogram`'s `size` prop with the values: `small`, `medium`, `large`, or a number.
250
+
251
+ ## 4.0.0
252
+
253
+ ### `Accordion` no longer supports `collapseAll` prop
254
+
255
+ #### Change
256
+ `Accordion` no longer supports `collapseAll` prop and all panels are allowed to collapse by default.
257
+
258
+ #### Context
259
+ 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`.
260
+
261
+ #### Migration steps
262
+ Remove all usage of `Accordion` `collapseAll`.
263
+
264
+ ### `File` now supports `fullscreen` prop instead of `size="large"`.
265
+
266
+ #### Change
267
+ `File`’s `size` prop has been removed. Instead, use the `fullscreen` prop.
268
+
269
+ #### Context
270
+ 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.
271
+
272
+ #### Migration steps
273
+ Replace all usage of `size="large"` with `fullscreen` prop. Remove all other usage of `File` `size`.
274
+
275
+ ### `Dropdown` only supports HTMLElement toggle `ref`
276
+
277
+ #### Change
278
+ `Dropdown` no longer supports passing a toggle that returns a React component instance as `ref`.
279
+
280
+ #### Context
281
+ Previously, this was causing a warning in React strict mode.
282
+
283
+ #### Migration steps
284
+ Ensure the toggle `ref` is an `HTMLElement`, `Clickable`, `Button`, or `Link`.
285
+
286
+ ### `Popover` no longer supports `pointerEvents` prop
287
+
288
+ #### Change
289
+ `Popover`’s `pointerEvents` prop has been removed.
290
+
291
+ #### Context
292
+ 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.
293
+
294
+ #### Migration steps
295
+ Replace all usage of `Popover`’s `pointerEvents` prop with `possibleOpenReasons` and `possibleCloseReasons`.