@splunk/react-ui 4.16.3 → 4.17.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 (173) hide show
  1. package/Accordion.js +13 -13
  2. package/Anchor.js +2 -2
  3. package/Animation.js +4 -4
  4. package/AnimationToggle.js +2 -2
  5. package/Box.js +2 -2
  6. package/Button.js +98 -244
  7. package/ButtonGroup.js +4 -4
  8. package/ButtonSimple.js +6 -6
  9. package/CHANGELOG.md +43 -2
  10. package/Calendar.js +73 -274
  11. package/Card.js +75 -227
  12. package/CardLayout.js +2 -2
  13. package/Chip.js +40 -211
  14. package/Clickable.js +10 -10
  15. package/CloseButton.js +34 -202
  16. package/Code.js +27 -20
  17. package/CollapsiblePanel.js +74 -228
  18. package/Color.js +62 -319
  19. package/ColumnLayout.js +6 -6
  20. package/ComboBox.js +32 -32
  21. package/Concertina.js +38 -38
  22. package/ControlGroup.js +20 -20
  23. package/Date.js +22 -22
  24. package/DefinitionList.js +2 -2
  25. package/Divider.js +2 -2
  26. package/Dropdown.js +29 -29
  27. package/DualListbox.d.ts +2 -0
  28. package/DualListbox.js +1780 -0
  29. package/EventListener.js +4 -4
  30. package/File.js +85 -250
  31. package/FormRows.js +60 -215
  32. package/Heading.js +39 -27
  33. package/Image.js +73 -227
  34. package/JSONTree.js +18 -18
  35. package/Layer.js +30 -30
  36. package/Link.js +60 -28
  37. package/List.js +9 -9
  38. package/MIGRATION.md +28 -0
  39. package/Markdown.js +21 -21
  40. package/Menu.js +180 -371
  41. package/Message.js +137 -407
  42. package/MessageBar.js +168 -398
  43. package/Modal.js +31 -31
  44. package/ModalLayer.js +6 -6
  45. package/Monogram.js +4 -4
  46. package/Multiselect.js +2297 -2525
  47. package/Number.js +32 -32
  48. package/Paginator.js +92 -321
  49. package/Paragraph.js +2 -2
  50. package/Popover.js +123 -123
  51. package/Progress.js +15 -15
  52. package/RadioBar.js +23 -19
  53. package/RadioList.js +13 -12
  54. package/Resize.js +18 -18
  55. package/ResultsMenu.js +21 -21
  56. package/ScreenReaderContent.js +2 -2
  57. package/Scroll.js +33 -33
  58. package/ScrollContainerContext.js +13 -13
  59. package/Search.js +34 -32
  60. package/Select.js +220 -367
  61. package/SidePanel.js +12 -12
  62. package/Slider.js +28 -28
  63. package/SlidingPanels.js +29 -29
  64. package/SplitButton.js +59 -62
  65. package/StaticContent.js +4 -4
  66. package/StepBar.js +35 -238
  67. package/Switch.js +23 -23
  68. package/TabBar.js +30 -44
  69. package/TabLayout.js +30 -28
  70. package/Table.js +292 -586
  71. package/Text.js +109 -322
  72. package/TextArea.js +160 -366
  73. package/Tooltip.js +23 -23
  74. package/TransitionOpen.js +21 -21
  75. package/Typography.js +32 -28
  76. package/WaitSpinner.js +2 -2
  77. package/docker-compose.yml +19 -7
  78. package/package.json +10 -11
  79. package/stubs-splunkui.d.ts +4 -1
  80. package/types/src/Button/icons/CaretSmallDown.d.ts +2 -0
  81. package/types/src/Button/icons/External.d.ts +2 -0
  82. package/types/src/Code/Code.d.ts +6 -1
  83. package/types/src/CollapsiblePanel/CollapsiblePanel.d.ts +0 -1
  84. package/types/src/CollapsiblePanel/icons/ExpandPanel.d.ts +11 -0
  85. package/types/src/Date/Icon.d.ts +1 -1
  86. package/types/src/Dropdown/docs/examples/Submenu.d.ts +2 -0
  87. package/types/src/DualListbox/DualListbox.d.ts +87 -0
  88. package/types/src/DualListbox/DualListboxContext.d.ts +27 -0
  89. package/types/src/DualListbox/Label.d.ts +37 -0
  90. package/types/src/DualListbox/Listbox.d.ts +54 -0
  91. package/types/src/DualListbox/ListboxContext.d.ts +32 -0
  92. package/types/src/DualListbox/Option.d.ts +35 -0
  93. package/types/src/DualListbox/ScreenReaderWrapper.d.ts +4 -0
  94. package/types/src/DualListbox/ToolbarButton.d.ts +38 -0
  95. package/types/src/DualListbox/ToolbarContext.d.ts +21 -0
  96. package/types/src/DualListbox/docs/examples/Basic.d.ts +2 -0
  97. package/types/src/DualListbox/docs/examples/Controlled.d.ts +2 -0
  98. package/types/src/DualListbox/docs/examples/Fill.d.ts +2 -0
  99. package/types/src/DualListbox/index.d.ts +2 -0
  100. package/types/src/DualListbox/listboxUtils.d.ts +4 -0
  101. package/types/src/File/Icon.d.ts +1 -1
  102. package/types/src/File/IconCloud.d.ts +1 -1
  103. package/types/src/File/PaperClip.d.ts +1 -1
  104. package/types/src/File/Retry.d.ts +1 -1
  105. package/types/src/File/Trash.d.ts +1 -1
  106. package/types/src/File/docs/examples/Progress.d.ts +1 -15
  107. package/types/src/FormRows/icons/FormRowsPlusIcon.d.ts +2 -0
  108. package/types/src/Heading/Heading.d.ts +12 -4
  109. package/types/src/Heading/docs/examples/Variant.d.ts +2 -0
  110. package/types/src/Image/Image.d.ts +1 -1
  111. package/types/src/Image/icons/Cross.d.ts +2 -0
  112. package/types/src/Link/icons/External.d.ts +2 -0
  113. package/types/src/Menu/Divider.d.ts +1 -0
  114. package/types/src/Menu/Heading.d.ts +1 -0
  115. package/types/src/Menu/Item.d.ts +5 -2
  116. package/types/src/Menu/Menu.d.ts +3 -1
  117. package/types/src/Menu/icons/External.d.ts +2 -0
  118. package/types/src/Number/IncrementIcon.d.ts +1 -1
  119. package/types/src/RadioBar/RadioBar.d.ts +1 -1
  120. package/types/src/Search/Option.d.ts +9 -0
  121. package/types/src/Select/OptionBase.d.ts +9 -0
  122. package/types/src/Select/icons/CaretSmallDown.d.ts +2 -0
  123. package/types/src/Select/icons/Search.d.ts +2 -0
  124. package/types/src/SplitButton/SplitButton.d.ts +8 -3
  125. package/types/src/SplitButton/docs/examples/Block.d.ts +1 -0
  126. package/types/src/TabLayout/TabLayout.d.ts +0 -1
  127. package/types/src/Table/HeadInner.d.ts +2 -2
  128. package/types/src/Table/icons/ExpansionRow.d.ts +6 -0
  129. package/types/src/Table/icons/HeadExpandRows.d.ts +1 -0
  130. package/types/src/Text/IconOutlinedHide.d.ts +1 -1
  131. package/types/src/Text/IconOutlinedView.d.ts +1 -1
  132. package/types/src/Tooltip/InfoIcon.d.ts +1 -1
  133. package/types/src/Typography/Typography.d.ts +4 -7
  134. package/types/src/useRovingFocus/index.d.ts +2 -0
  135. package/types/src/useRovingFocus/useRovingFocus.d.ts +27 -0
  136. package/useForceUpdate.js +2 -2
  137. package/useKeyPress.js +2 -2
  138. package/usePrevious.js +2 -2
  139. package/useRovingFocus.d.ts +2 -0
  140. package/useRovingFocus.js +237 -0
  141. package/Dockerfile.enterprise.storybook +0 -7
  142. package/Dockerfile.prisma.storybook +0 -7
  143. package/Dockerfile.visual +0 -10
  144. package/types/src/File/docs/examples/CustomChildren.d.ts +0 -12
  145. package/types/src/File/docs/examples/prisma/Progress.d.ts +0 -1
  146. package/types/src/Select/matchUtils.d.ts +0 -12
  147. package/types/src/SplitButton/docs/examples/prisma/Basic.d.ts +0 -1
  148. package/types/src/SplitButton/docs/examples/prisma/Disabled.d.ts +0 -1
  149. package/types/src/Table/HeadExpandRowsIcon.d.ts +0 -1
  150. package/types/src/icons/Alert.d.ts +0 -2
  151. package/types/src/icons/AlertFilled.d.ts +0 -2
  152. package/types/src/icons/CaretDown.d.ts +0 -2
  153. package/types/src/icons/CaretRight.d.ts +0 -2
  154. package/types/src/icons/Check.d.ts +0 -2
  155. package/types/src/icons/ChevronDown.d.ts +0 -2
  156. package/types/src/icons/ChevronLeft.d.ts +0 -2
  157. package/types/src/icons/ChevronRight.d.ts +0 -2
  158. package/types/src/icons/CrossMark.d.ts +0 -2
  159. package/types/src/icons/External.d.ts +0 -2
  160. package/types/src/icons/InfoFilled.d.ts +0 -2
  161. package/types/src/icons/More.d.ts +0 -2
  162. package/types/src/icons/MoreVertical.d.ts +0 -2
  163. package/types/src/icons/Plus.d.ts +0 -2
  164. package/types/src/icons/SVG.d.ts +0 -4
  165. package/types/src/icons/Search.d.ts +0 -2
  166. package/types/src/icons/Sort.d.ts +0 -2
  167. package/types/src/icons/SortedDown.d.ts +0 -2
  168. package/types/src/icons/SortedUp.d.ts +0 -2
  169. package/types/src/icons/Success.d.ts +0 -2
  170. package/types/src/icons/SuccessFilled.d.ts +0 -2
  171. package/types/src/icons/ThemedIcon.d.ts +0 -29
  172. package/types/src/icons/WarningFilled.d.ts +0 -2
  173. package/types/src/icons/types.d.ts +0 -11
package/Tooltip.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 = 209);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -101,28 +101,21 @@ module.exports = require("prop-types");
101
101
 
102
102
  /***/ }),
103
103
 
104
- /***/ 11:
104
+ /***/ 10:
105
105
  /***/ (function(module, exports) {
106
106
 
107
107
  module.exports = require("lodash/has");
108
108
 
109
109
  /***/ }),
110
110
 
111
- /***/ 13:
112
- /***/ (function(module, exports) {
113
-
114
- module.exports = require("@splunk/ui-utils/id");
115
-
116
- /***/ }),
117
-
118
- /***/ 14:
111
+ /***/ 12:
119
112
  /***/ (function(module, exports) {
120
113
 
121
114
  module.exports = require("@splunk/react-ui/Clickable");
122
115
 
123
116
  /***/ }),
124
117
 
125
- /***/ 16:
118
+ /***/ 14:
126
119
  /***/ (function(module, exports) {
127
120
 
128
121
  module.exports = require("@splunk/react-ui/ScreenReaderContent");
@@ -136,7 +129,7 @@ module.exports = require("react");
136
129
 
137
130
  /***/ }),
138
131
 
139
- /***/ 201:
132
+ /***/ 209:
140
133
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
141
134
 
142
135
  "use strict";
@@ -155,7 +148,7 @@ var external_prop_types_ = __webpack_require__(1);
155
148
  var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
156
149
 
157
150
  // EXTERNAL MODULE: external "lodash/has"
158
- var has_ = __webpack_require__(11);
151
+ var has_ = __webpack_require__(10);
159
152
  var has_default = /*#__PURE__*/__webpack_require__.n(has_);
160
153
 
161
154
  // EXTERNAL MODULE: external "lodash/throttle"
@@ -163,25 +156,25 @@ var throttle_ = __webpack_require__(31);
163
156
  var throttle_default = /*#__PURE__*/__webpack_require__.n(throttle_);
164
157
 
165
158
  // EXTERNAL MODULE: external "@splunk/react-ui/Popover"
166
- var Popover_ = __webpack_require__(23);
159
+ var Popover_ = __webpack_require__(21);
167
160
  var Popover_default = /*#__PURE__*/__webpack_require__.n(Popover_);
168
161
 
169
162
  // EXTERNAL MODULE: external "@splunk/react-ui/ScreenReaderContent"
170
- var ScreenReaderContent_ = __webpack_require__(16);
163
+ var ScreenReaderContent_ = __webpack_require__(14);
171
164
  var ScreenReaderContent_default = /*#__PURE__*/__webpack_require__.n(ScreenReaderContent_);
172
165
 
173
166
  // EXTERNAL MODULE: external "@splunk/themes"
174
167
  var themes_ = __webpack_require__(0);
175
168
 
176
169
  // EXTERNAL MODULE: external "@splunk/ui-utils/id"
177
- var id_ = __webpack_require__(13);
170
+ var id_ = __webpack_require__(8);
178
171
 
179
172
  // EXTERNAL MODULE: external "@splunk/ui-utils/i18n"
180
173
  var i18n_ = __webpack_require__(4);
181
174
 
182
- // EXTERNAL MODULE: external "@splunk/react-icons/SVG"
183
- var SVG_ = __webpack_require__(32);
184
- var SVG_default = /*#__PURE__*/__webpack_require__.n(SVG_);
175
+ // EXTERNAL MODULE: external "@splunk/react-icons/SVGEnterprise"
176
+ var SVGEnterprise_ = __webpack_require__(32);
177
+ var SVGEnterprise_default = /*#__PURE__*/__webpack_require__.n(SVGEnterprise_);
185
178
 
186
179
  // CONCATENATED MODULE: ./src/Tooltip/InfoIcon.tsx
187
180
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -197,7 +190,7 @@ function InfoCircle(props) {
197
190
  density = _useSplunkTheme.density;
198
191
 
199
192
  if (family === 'enterprise') {
200
- return /*#__PURE__*/external_react_default.a.createElement(SVG_default.a, _extends({
193
+ return /*#__PURE__*/external_react_default.a.createElement(SVGEnterprise_default.a, _extends({
201
194
  screenReaderText: Object(i18n_["_"])('Info Circle'),
202
195
  viewBox: "0 0 24 24"
203
196
  }, props), /*#__PURE__*/external_react_default.a.createElement("path", {
@@ -228,7 +221,7 @@ var external_styled_components_ = __webpack_require__(3);
228
221
  var external_styled_components_default = /*#__PURE__*/__webpack_require__.n(external_styled_components_);
229
222
 
230
223
  // EXTERNAL MODULE: external "@splunk/react-ui/Clickable"
231
- var Clickable_ = __webpack_require__(14);
224
+ var Clickable_ = __webpack_require__(12);
232
225
  var Clickable_default = /*#__PURE__*/__webpack_require__.n(Clickable_);
233
226
 
234
227
  // CONCATENATED MODULE: ./src/Tooltip/TooltipStyles.ts
@@ -696,7 +689,7 @@ TooltipWithTheme.propTypes = Tooltip_Tooltip.propTypes;
696
689
 
697
690
  /***/ }),
698
691
 
699
- /***/ 23:
692
+ /***/ 21:
700
693
  /***/ (function(module, exports) {
701
694
 
702
695
  module.exports = require("@splunk/react-ui/Popover");
@@ -720,7 +713,7 @@ module.exports = require("lodash/throttle");
720
713
  /***/ 32:
721
714
  /***/ (function(module, exports) {
722
715
 
723
- module.exports = require("@splunk/react-icons/SVG");
716
+ module.exports = require("@splunk/react-icons/SVGEnterprise");
724
717
 
725
718
  /***/ }),
726
719
 
@@ -729,6 +722,13 @@ module.exports = require("@splunk/react-icons/SVG");
729
722
 
730
723
  module.exports = require("@splunk/ui-utils/i18n");
731
724
 
725
+ /***/ }),
726
+
727
+ /***/ 8:
728
+ /***/ (function(module, exports) {
729
+
730
+ module.exports = require("@splunk/ui-utils/id");
731
+
732
732
  /***/ })
733
733
 
734
734
  /******/ });
package/TransitionOpen.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 = 229);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 234);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -101,13 +101,6 @@ module.exports = require("prop-types");
101
101
 
102
102
  /***/ }),
103
103
 
104
- /***/ 10:
105
- /***/ (function(module, exports) {
106
-
107
- module.exports = require("lodash/keys");
108
-
109
- /***/ }),
110
-
111
104
  /***/ 2:
112
105
  /***/ (function(module, exports) {
113
106
 
@@ -115,7 +108,7 @@ module.exports = require("react");
115
108
 
116
109
  /***/ }),
117
110
 
118
- /***/ 229:
111
+ /***/ 234:
119
112
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
120
113
 
121
114
  "use strict";
@@ -134,7 +127,7 @@ var external_prop_types_ = __webpack_require__(1);
134
127
  var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
135
128
 
136
129
  // EXTERNAL MODULE: external "lodash/keys"
137
- var keys_ = __webpack_require__(10);
130
+ var keys_ = __webpack_require__(9);
138
131
  var keys_default = /*#__PURE__*/__webpack_require__.n(keys_);
139
132
 
140
133
  // EXTERNAL MODULE: external "lodash/omit"
@@ -142,16 +135,16 @@ var omit_ = __webpack_require__(5);
142
135
  var omit_default = /*#__PURE__*/__webpack_require__.n(omit_);
143
136
 
144
137
  // EXTERNAL MODULE: external "@splunk/react-ui/Animation"
145
- var Animation_ = __webpack_require__(43);
138
+ var Animation_ = __webpack_require__(40);
146
139
 
147
140
  // EXTERNAL MODULE: external "@splunk/ui-utils/focus"
148
- var focus_ = __webpack_require__(35);
141
+ var focus_ = __webpack_require__(29);
149
142
 
150
143
  // EXTERNAL MODULE: external "@splunk/ui-utils/style"
151
- var style_ = __webpack_require__(40);
144
+ var style_ = __webpack_require__(37);
152
145
 
153
146
  // EXTERNAL MODULE: external "react-spring"
154
- var external_react_spring_ = __webpack_require__(26);
147
+ var external_react_spring_ = __webpack_require__(24);
155
148
 
156
149
  // EXTERNAL MODULE: external "styled-components"
157
150
  var external_styled_components_ = __webpack_require__(3);
@@ -510,35 +503,35 @@ _defineProperty(TransitionOpen_TransitionOpen, "getDerivedStateFromProps", funct
510
503
 
511
504
  /***/ }),
512
505
 
513
- /***/ 26:
506
+ /***/ 24:
514
507
  /***/ (function(module, exports) {
515
508
 
516
509
  module.exports = require("react-spring");
517
510
 
518
511
  /***/ }),
519
512
 
520
- /***/ 3:
513
+ /***/ 29:
521
514
  /***/ (function(module, exports) {
522
515
 
523
- module.exports = require("styled-components");
516
+ module.exports = require("@splunk/ui-utils/focus");
524
517
 
525
518
  /***/ }),
526
519
 
527
- /***/ 35:
520
+ /***/ 3:
528
521
  /***/ (function(module, exports) {
529
522
 
530
- module.exports = require("@splunk/ui-utils/focus");
523
+ module.exports = require("styled-components");
531
524
 
532
525
  /***/ }),
533
526
 
534
- /***/ 40:
527
+ /***/ 37:
535
528
  /***/ (function(module, exports) {
536
529
 
537
530
  module.exports = require("@splunk/ui-utils/style");
538
531
 
539
532
  /***/ }),
540
533
 
541
- /***/ 43:
534
+ /***/ 40:
542
535
  /***/ (function(module, exports) {
543
536
 
544
537
  module.exports = require("@splunk/react-ui/Animation");
@@ -550,6 +543,13 @@ module.exports = require("@splunk/react-ui/Animation");
550
543
 
551
544
  module.exports = require("lodash/omit");
552
545
 
546
+ /***/ }),
547
+
548
+ /***/ 9:
549
+ /***/ (function(module, exports) {
550
+
551
+ module.exports = require("lodash/keys");
552
+
553
553
  /***/ })
554
554
 
555
555
  /******/ });
package/Typography.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 = 235);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 240);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -101,7 +101,7 @@ module.exports = require("react");
101
101
 
102
102
  /***/ }),
103
103
 
104
- /***/ 235:
104
+ /***/ 240:
105
105
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
106
106
 
107
107
  "use strict";
@@ -120,12 +120,8 @@ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_)
120
120
  var external_prop_types_ = __webpack_require__(1);
121
121
  var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
122
122
 
123
- // EXTERNAL MODULE: external "lodash/pick"
124
- var pick_ = __webpack_require__(34);
125
- var pick_default = /*#__PURE__*/__webpack_require__.n(pick_);
126
-
127
123
  // EXTERNAL MODULE: external "@splunk/themes/mixins"
128
- var mixins_ = __webpack_require__(80);
124
+ var mixins_ = __webpack_require__(79);
129
125
  var mixins_default = /*#__PURE__*/__webpack_require__.n(mixins_);
130
126
 
131
127
  // EXTERNAL MODULE: external "styled-components"
@@ -143,7 +139,6 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
143
139
 
144
140
 
145
141
 
146
-
147
142
  var propTypes = {
148
143
  children: external_prop_types_default.a.node.isRequired,
149
144
  as: external_prop_types_default.a.string.isRequired,
@@ -156,15 +151,6 @@ var propTypes = {
156
151
  weight: external_prop_types_default.a.oneOf([300, 400, 500, 600, 700, 800, 900, 'light', 'normal', 'semiBold', 'bold', 'extraBold', 'heavy']),
157
152
  withReset: external_prop_types_default.a.bool
158
153
  };
159
- var paramsToExtract = {
160
- family: true,
161
- size: true,
162
- lineHeight: true,
163
- color: true,
164
- weight: true,
165
- withReset: true
166
- };
167
- var keys = Object.keys(paramsToExtract);
168
154
  var StyledTypography = external_styled_components_default.a.p.withConfig({
169
155
  displayName: "Typography__StyledTypography",
170
156
  componentId: "cgxs34-0"
@@ -173,6 +159,15 @@ var StyledTypography = external_styled_components_default.a.p.withConfig({
173
159
  $typographyParams = _ref.$typographyParams;
174
160
  return $variant ? mixins_default.a.typography($variant, $typographyParams) : mixins_default.a.typography($typographyParams);
175
161
  });
162
+ var weightNumberToWeightVariable = {
163
+ 300: 'light',
164
+ 400: 'normal',
165
+ 500: 'semiBold',
166
+ 600: 'semiBold',
167
+ 700: 'bold',
168
+ 800: 'extraBold',
169
+ 900: 'heavy'
170
+ };
176
171
  /**
177
172
  * Typography renders text content with styling based on the Splunk Design System.
178
173
  */
@@ -181,11 +176,27 @@ function Typography(_ref2) {
181
176
  var children = _ref2.children,
182
177
  as = _ref2.as,
183
178
  elementRef = _ref2.elementRef,
184
- otherProps = _objectWithoutProperties(_ref2, ["children", "as", "elementRef"]);
179
+ variant = _ref2.variant,
180
+ family = _ref2.family,
181
+ size = _ref2.size,
182
+ lineHeight = _ref2.lineHeight,
183
+ color = _ref2.color,
184
+ weight = _ref2.weight,
185
+ withReset = _ref2.withReset,
186
+ otherProps = _objectWithoutProperties(_ref2, ["children", "as", "elementRef", "variant", "family", "size", "lineHeight", "color", "weight", "withReset"]);
185
187
 
186
188
  // @docs-props-type TypographyPropsBase
187
- var variant = otherProps.variant;
188
- var typographyParams = pick_default()(otherProps, keys);
189
+ // TODO: Remove in next major version (SUI-5350)
190
+ if (false) {}
191
+
192
+ var typographyParams = {
193
+ family: family,
194
+ size: size,
195
+ lineHeight: lineHeight,
196
+ color: color,
197
+ withReset: withReset,
198
+ weight: typeof weight === 'number' ? weightNumberToWeightVariable[weight] : weight
199
+ };
189
200
  return /*#__PURE__*/external_react_default.a.createElement(StyledTypography, _extends({
190
201
  as: as,
191
202
  ref: elementRef,
@@ -209,14 +220,7 @@ module.exports = require("styled-components");
209
220
 
210
221
  /***/ }),
211
222
 
212
- /***/ 34:
213
- /***/ (function(module, exports) {
214
-
215
- module.exports = require("lodash/pick");
216
-
217
- /***/ }),
218
-
219
- /***/ 80:
223
+ /***/ 79:
220
224
  /***/ (function(module, exports) {
221
225
 
222
226
  module.exports = require("@splunk/themes/mixins");
package/WaitSpinner.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 = 230);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 235);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -108,7 +108,7 @@ module.exports = require("react");
108
108
 
109
109
  /***/ }),
110
110
 
111
- /***/ 230:
111
+ /***/ 235:
112
112
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
113
113
 
114
114
  "use strict";
@@ -3,21 +3,31 @@ services:
3
3
  prisma-storybook:
4
4
  build:
5
5
  context: .
6
- dockerfile: Dockerfile.prisma.storybook
7
- command: npx http-server storybook-static-visual --port 6007
6
+ dockerfile: ../../infra/visual-tests/Dockerfile.storybook
7
+ args:
8
+ port: 6007
9
+ storybookfolder: storybook-static-visual-prisma
10
+ workdir: /react-ui
11
+ command: npx http-server storybook-static-visual-prisma --port 6007
8
12
  ports:
9
13
  - "6007:6007"
10
14
  enterprise-storybook:
11
15
  build:
12
16
  context: .
13
- dockerfile: Dockerfile.enterprise.storybook
17
+ dockerfile: ../../infra/visual-tests/Dockerfile.storybook
18
+ args:
19
+ port: 6008
20
+ storybookfolder: storybook-static-visual-enterprise
21
+ workdir: /react-ui
14
22
  command: npx http-server storybook-static-visual-enterprise --port 6008
15
23
  ports:
16
24
  - "6008:6008"
17
25
  prisma-visual-test:
18
26
  build:
19
27
  context: .
20
- dockerfile: Dockerfile.visual
28
+ dockerfile: ../../infra/visual-tests/Dockerfile.visual
29
+ args:
30
+ workdir: /react-ui
21
31
  env_file:
22
32
  - ./.storybook-visual/config/.env.visual
23
33
  working_dir: /react-ui
@@ -26,11 +36,13 @@ services:
26
36
  - "./test-reports:/react-ui/test-reports"
27
37
  depends_on:
28
38
  - prisma-storybook
29
- command: /bin/sh -c "npx wait-on http://prisma-storybook:6007 && yarn cache clean && yarn test-storybook -c .storybook-visual --browsers $${STORYBOOK_BROWSER} $${STORYBOOK_UPDATE_SNAPSHOT} --url http://prisma-storybook:6007 --no-index-json"
39
+ command: /bin/sh -c "npx wait-on http://prisma-storybook:6007 && yarn cache clean && yarn test-storybook -c .storybook-visual --browsers $${STORYBOOK_BROWSER} $${STORYBOOK_UPDATE_SNAPSHOT} $${STORYBOOK_MAX_WORKERS} --url http://prisma-storybook:6007 --no-index-json"
30
40
  enterprise-visual-test:
31
41
  build:
32
42
  context: .
33
- dockerfile: Dockerfile.visual
43
+ dockerfile: ../../infra/visual-tests/Dockerfile.visual
44
+ args:
45
+ workdir: /react-ui
34
46
  env_file:
35
47
  - ./.storybook-visual/config/.env.visual
36
48
  working_dir: /react-ui
@@ -39,4 +51,4 @@ services:
39
51
  - "./test-reports:/react-ui/test-reports"
40
52
  depends_on:
41
53
  - enterprise-storybook
42
- command: /bin/sh -c "npx wait-on http://enterprise-storybook:6008 && yarn cache clean && yarn test-storybook -c .storybook-visual --browsers $${STORYBOOK_BROWSER} $${STORYBOOK_UPDATE_SNAPSHOT} --url http://enterprise-storybook:6008 --no-index-json"
54
+ command: /bin/sh -c "npx wait-on http://enterprise-storybook:6008 && yarn cache clean && yarn test-storybook -c .storybook-visual --browsers $${STORYBOOK_BROWSER} $${STORYBOOK_UPDATE_SNAPSHOT} $${STORYBOOK_MAX_WORKERS} --url http://enterprise-storybook:6008 --no-index-json"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@splunk/react-ui",
3
- "version": "4.16.3",
3
+ "version": "4.17.0",
4
4
  "description": "Library of React components that implement the Splunk design language",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Splunk Inc.",
@@ -18,10 +18,10 @@
18
18
  "lint:ci": "yarn run eslint:ci && yarn run stylelint",
19
19
  "start": "cross-env NODE_ENV=development webpack --watch",
20
20
  "storybook": "start-storybook -p 6006",
21
- "storybook:test": "./.storybook-visual/scripts/test.sh",
22
- "storybook:test:all": "./.storybook-visual/scripts/test.sh --all",
23
- "storybook:a11y": "./.storybook-visual/scripts/test.sh --a11y",
24
- "storybook:a11y:all": "./.storybook-visual/scripts/test.sh --a11y --all",
21
+ "storybook:test": "node ../../infra/visual-tests/test.js",
22
+ "storybook:test:all": "yarn storybook:test --all",
23
+ "storybook:a11y": "yarn storybook:test --a11y",
24
+ "storybook:a11y:all": "yarn storybook:test --all --a11y",
25
25
  "storybook:build": "yarn build-storybook",
26
26
  "stylelint": "stylelint \"src/**/*.{ts,tsx,js,jsx}\" --config stylelint.config.js",
27
27
  "test": "jest",
@@ -38,9 +38,9 @@
38
38
  "styled-components": "5.1.1"
39
39
  },
40
40
  "dependencies": {
41
- "@splunk/react-icons": "3.3.1",
42
- "@splunk/themes": "^0.15.0",
43
- "@splunk/ui-utils": "^1.5.2",
41
+ "@splunk/react-icons": "^4.0.0",
42
+ "@splunk/themes": "^0.16.0",
43
+ "@splunk/ui-utils": "^1.6.0",
44
44
  "@types/commonmark": "^0.27.0",
45
45
  "@types/lodash": "^4.14.156",
46
46
  "@types/react": "^16.9.38",
@@ -67,12 +67,11 @@
67
67
  "@cypress/webpack-dev-server": "^1.8.2",
68
68
  "@splunk/babel-preset": "^3.0.0",
69
69
  "@splunk/cicd-tools": "^0.5.0",
70
- "@splunk/docs-gen": "1.0.0-beta.2",
70
+ "@splunk/docs-gen": "1.0.0-beta.4",
71
71
  "@splunk/eslint-config": "^4.0.0",
72
- "@splunk/react-docs": "1.0.0-beta.2",
72
+ "@splunk/react-docs": "1.0.0-beta.4",
73
73
  "@splunk/stylelint-config": "^4.0.0",
74
74
  "@splunk/test-runner-utils": "^0.4.1",
75
- "@splunk/wdio-functional-test-runner": "^10.1.0",
76
75
  "@splunk/webpack-configs": "^6.0.0",
77
76
  "@storybook/addon-a11y": "^6.5.9",
78
77
  "@storybook/addon-essentials": "^6.5.9",
@@ -32,7 +32,10 @@ declare module '@splunk/ui-utils/format' {
32
32
  declare module '@splunk/ui-utils/focus' {
33
33
  // getSortedTabbableElements returns Elements
34
34
  // handleTab / takeFocus both call focus() which exists only on HTMLElement/SVGElement (modern browsers), but not Element
35
- function getSortedTabbableElements(container: Element): Element[];
35
+ function getSortedTabbableElements(
36
+ container: Element,
37
+ options?: { ignoreTabIndex: boolean }
38
+ ): Element[];
36
39
  function isTabKey(event: KeyboardEvent<Element>): boolean;
37
40
  function handleTab(container: Element, event: KeyboardEvent): Element | null;
38
41
  function takeFocus(container: Element, defaultElement?: 'first' | 'container'): Element | null;
@@ -0,0 +1,2 @@
1
+ declare const CaretSmallDown: () => JSX.Element;
2
+ export default CaretSmallDown;
@@ -0,0 +1,2 @@
1
+ declare function External(): JSX.Element;
2
+ export default External;
@@ -16,6 +16,10 @@ interface CodePropsBase {
16
16
  * Applies syntax highlighting for a specific programming language.
17
17
  */
18
18
  language?: CodeSupportedLanguages;
19
+ /**
20
+ * In cases where `language` is not valid `Code` will use this value as the fallback for `language`.
21
+ */
22
+ languageFallback?: CodeSupportedLanguages;
19
23
  /**
20
24
  * Displays the indent guideline.
21
25
  */
@@ -26,12 +30,13 @@ interface CodePropsBase {
26
30
  value?: string;
27
31
  }
28
32
  declare type CodeProps = ComponentProps<CodePropsBase, 'pre'>;
29
- declare function Code({ elementRef, indentChars, language, showIndentGuide, value, ...otherProps }: CodeProps): JSX.Element;
33
+ declare function Code({ elementRef, indentChars, language, languageFallback, showIndentGuide, value, ...otherProps }: CodeProps): JSX.Element;
30
34
  declare namespace Code {
31
35
  var propTypes: {
32
36
  elementRef: PropTypes.Requireable<object>;
33
37
  indentChars: PropTypes.Requireable<number>;
34
38
  language: PropTypes.Requireable<string>;
39
+ languageFallback: PropTypes.Requireable<string>;
35
40
  showIndentGuide: PropTypes.Requireable<boolean>;
36
41
  value: PropTypes.Requireable<string>;
37
42
  };
@@ -75,7 +75,6 @@ interface CollapsiblePanelPropsBase {
75
75
  title: React.ReactNode;
76
76
  /**
77
77
  * Renders toggle button separate from `title`, allowing `title` to contain interactive elements.
78
- * @includeTheme prisma
79
78
  */
80
79
  titleWithActions?: boolean;
81
80
  }
@@ -0,0 +1,11 @@
1
+ import PropTypes from 'prop-types';
2
+ interface ChevronRightIconProps {
3
+ open?: boolean;
4
+ }
5
+ declare const ChevronRight: {
6
+ ({ open }: ChevronRightIconProps): JSX.Element;
7
+ propTypes: {
8
+ open: PropTypes.Requireable<boolean>;
9
+ };
10
+ };
11
+ export default ChevronRight;
@@ -1,2 +1,2 @@
1
- import { SVGPropsOptionalViewBox } from '@splunk/react-icons/SVG';
1
+ import { SVGPropsOptionalViewBox } from '@splunk/react-icons/SVGEnterprise';
2
2
  export default function CalendarIcon(props: SVGPropsOptionalViewBox): JSX.Element;
@@ -0,0 +1,2 @@
1
+ declare function Submenu(): JSX.Element;
2
+ export default Submenu;
@@ -0,0 +1,87 @@
1
+ import React from 'react';
2
+ import Option from './Option';
3
+ import { ComponentProps } from '../utils/types';
4
+ /** @public */
5
+ declare type DualListboxSelectHandler = (event: React.MouseEvent<HTMLButtonElement> | React.MouseEvent<HTMLLIElement> | React.KeyboardEvent<HTMLUListElement>, data: {
6
+ /**
7
+ * The list `name` associated to the batch action.
8
+ */
9
+ listName: string;
10
+ /**
11
+ * The values marked as selected with the given list.
12
+ */
13
+ values: string[];
14
+ }) => void;
15
+ /** @public */
16
+ declare type DualListboxChangeHandler = (event: React.MouseEvent<HTMLButtonElement> | React.MouseEvent<HTMLLIElement> | React.KeyboardEvent<HTMLUListElement>, data: {
17
+ /**
18
+ * The values being changed.
19
+ */
20
+ affectedValues: string[];
21
+ /**
22
+ * The a11y text describing the move action.
23
+ * If `controlled="true"` the presentation of the text MUST be implemented by the consumer.
24
+ */
25
+ screenReaderMessage: string;
26
+ /**
27
+ * The list `name` associated to the source of the move action.
28
+ */
29
+ sourceListName: string;
30
+ /**
31
+ * The values now contained within the source list.
32
+ */
33
+ sourceValues: string[];
34
+ /**
35
+ * The list `name` associated to the target of the move action.
36
+ */
37
+ targetListName: string;
38
+ /**
39
+ * The values now contained within the target list.
40
+ */
41
+ targetValues: string[];
42
+ }) => void;
43
+ declare type ListboxConfig = {
44
+ name: string;
45
+ label: string;
46
+ };
47
+ interface DualListboxPropsBase {
48
+ /**
49
+ * All children must be instances of `DualListbox.Option`.
50
+ */
51
+ children?: React.ReactNode;
52
+ /**
53
+ * When true, `Options`'s `listName` and `selected` state props are fully controlled.
54
+ */
55
+ controlled?: boolean;
56
+ /**
57
+ * When true, fill height and width of the relative parent container.
58
+ */
59
+ fill?: boolean;
60
+ /**
61
+ * When false, display as inline-block with the default width.
62
+ * Ignored if `fill=true` set.
63
+ */
64
+ inline?: boolean;
65
+ /**
66
+ * List identifiers.
67
+ * `name` should map to child `Option`s `listName` prop, and will be returned with event calls.
68
+ * `label` will be used for visual and assistive text.
69
+ */
70
+ lists: ListboxConfig[];
71
+ /**
72
+ * Callback for selected options moving from one list to another.
73
+ */
74
+ onChange?: DualListboxChangeHandler;
75
+ /**
76
+ * Callback for single selected/de-select actions.
77
+ */
78
+ onSelect?: DualListboxSelectHandler;
79
+ }
80
+ declare type DualListboxProps = ComponentProps<DualListboxPropsBase, 'div'>;
81
+ declare function DualListbox({ children, controlled, fill, inline, onChange, onSelect, lists, ...otherProps }: DualListboxProps): JSX.Element;
82
+ declare namespace DualListbox {
83
+ var propTypes: React.WeakValidationMap<DualListboxPropsBase>;
84
+ var Option: typeof import("./Option").default;
85
+ }
86
+ export default DualListbox;
87
+ export { DualListboxChangeHandler, DualListboxSelectHandler, DualListboxProps, DualListboxPropsBase, Option, };