@splunk/react-ui 4.12.0 → 4.13.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 (99) hide show
  1. package/Accordion.js +4 -4
  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 +11 -11
  7. package/ButtonGroup.js +2 -2
  8. package/ButtonSimple.js +7 -7
  9. package/CHANGELOG.md +25 -0
  10. package/Calendar.js +33 -33
  11. package/Card.js +13 -13
  12. package/CardLayout.js +2 -2
  13. package/Chip.js +11 -11
  14. package/Clickable.js +7 -7
  15. package/CloseButton.js +11 -11
  16. package/Code.js +4 -4
  17. package/CollapsiblePanel.js +6 -6
  18. package/Color.js +21 -21
  19. package/ColumnLayout.js +4 -4
  20. package/ComboBox.js +4 -4
  21. package/Concertina.js +2 -2
  22. package/ControlGroup.js +4 -4
  23. package/Date.js +4 -4
  24. package/DefinitionList.js +2 -2
  25. package/Dropdown.js +6 -2
  26. package/EventListener.js +4 -4
  27. package/File.js +15 -15
  28. package/FormRows.js +4 -4
  29. package/Heading.js +3 -3
  30. package/Image.js +15 -15
  31. package/JSONTree.js +2 -2
  32. package/Layer.js +4 -4
  33. package/Link.js +9 -9
  34. package/List.js +2 -2
  35. package/Markdown.js +21 -21
  36. package/Menu.js +32 -33
  37. package/Message.js +22 -22
  38. package/MessageBar.js +15 -15
  39. package/Modal.js +4 -4
  40. package/ModalLayer.js +8 -8
  41. package/Monogram.js +2 -2
  42. package/Multiselect.js +112 -103
  43. package/Number.js +2 -2
  44. package/Paginator.js +41 -41
  45. package/Paragraph.js +2 -2
  46. package/Popover.js +18 -9
  47. package/Progress.js +4 -4
  48. package/RadioBar.js +2 -2
  49. package/RadioList.js +2 -2
  50. package/Resize.js +2 -2
  51. package/ResultsMenu.js +12 -12
  52. package/ScreenReaderContent.js +2 -2
  53. package/Scroll.js +6 -6
  54. package/ScrollContainerContext.js +2 -2
  55. package/Search.js +13 -13
  56. package/Select.js +109 -100
  57. package/SidePanel.js +4 -4
  58. package/Slider.js +4 -4
  59. package/SlidingPanels.js +6 -6
  60. package/SplitButton.js +511 -0
  61. package/StaticContent.js +2 -2
  62. package/StepBar.js +6 -6
  63. package/Switch.js +2 -2
  64. package/TabBar.js +2 -2
  65. package/TabLayout.js +4 -4
  66. package/Table.js +60 -43
  67. package/Text.js +105 -101
  68. package/TextArea.js +83 -72
  69. package/Tooltip.js +2 -2
  70. package/TransitionOpen.js +8 -8
  71. package/Typography.js +4 -4
  72. package/WaitSpinner.js +68 -2
  73. package/package.json +4 -3
  74. package/types/src/Button/Button.d.ts +1 -1
  75. package/types/src/Dropdown/Dropdown.d.ts +11 -3
  76. package/types/src/Popover/Popover.d.ts +5 -1
  77. package/types/src/Popover/getPlacement.d.ts +1 -1
  78. package/types/src/SplitButton/Item.d.ts +45 -0
  79. package/types/src/SplitButton/SplitButton.d.ts +41 -0
  80. package/types/src/SplitButton/docs/examples/Basic.d.ts +1 -0
  81. package/types/src/SplitButton/docs/examples/ChangeLabel.d.ts +1 -0
  82. package/types/src/SplitButton/docs/examples/Disabled.d.ts +1 -0
  83. package/types/src/SplitButton/docs/examples/prisma/Basic.d.ts +1 -0
  84. package/types/src/SplitButton/docs/examples/prisma/Disabled.d.ts +1 -0
  85. package/types/src/SplitButton/index.d.ts +2 -0
  86. package/types/src/Table/HeadCell.d.ts +4 -1
  87. package/types/src/Table/HeadDropdownCell.d.ts +10 -3
  88. package/types/src/Text/Text.d.ts +5 -1
  89. package/types/src/TextArea/TextArea.d.ts +5 -1
  90. package/types/src/WaitSpinner/WaitSpinner.d.ts +1 -1
  91. package/types/src/useForceUpdate/index.d.ts +2 -0
  92. package/types/src/useForceUpdate/useForceUpdate.d.ts +9 -0
  93. package/types/src/useIsSsr/index.d.ts +2 -0
  94. package/types/src/useIsSsr/useIsSsr.d.ts +8 -0
  95. package/useForceUpdate.js +151 -0
  96. package/useIsSsr.js +153 -0
  97. package/usePrevious.js +2 -2
  98. package/types/src/Text/docs/examples/prisma/Multiline.d.ts +0 -10
  99. package/types/src/Text/docs/examples/prisma/Search.d.ts +0 -10
package/TextArea.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 = 145);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 148);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -128,7 +128,7 @@ function updateReactRef(ref, current) {
128
128
 
129
129
  /***/ }),
130
130
 
131
- /***/ 145:
131
+ /***/ 148:
132
132
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
133
133
 
134
134
  "use strict";
@@ -150,7 +150,7 @@ var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_pr
150
150
  var external_lodash_ = __webpack_require__(4);
151
151
 
152
152
  // EXTERNAL MODULE: external "@splunk/ui-utils/style"
153
- var style_ = __webpack_require__(31);
153
+ var style_ = __webpack_require__(32);
154
154
 
155
155
  // EXTERNAL MODULE: external "@splunk/react-ui/EventListener"
156
156
  var EventListener_ = __webpack_require__(15);
@@ -166,10 +166,10 @@ var ControlGroup_ = __webpack_require__(78);
166
166
  var i18n_ = __webpack_require__(5);
167
167
 
168
168
  // EXTERNAL MODULE: ./src/icons/Search.tsx
169
- var Search = __webpack_require__(34);
169
+ var Search = __webpack_require__(29);
170
170
 
171
171
  // EXTERNAL MODULE: ./src/icons/CrossMark.tsx
172
- var CrossMark = __webpack_require__(19);
172
+ var CrossMark = __webpack_require__(20);
173
173
 
174
174
  // CONCATENATED MODULE: ./src/TextArea/syncHeightWithShadow.ts
175
175
  // This file was adapted from [Call-Em-All's material-ui](https://github.com/mui-org/material-ui),
@@ -286,7 +286,7 @@ var buttonStyles = Object(external_styled_components_["css"])(["border-radius:",
286
286
  light: themes_["variables"].gray60,
287
287
  dark: themes_["variables"].white
288
288
  },
289
- prisma: themes_["variables"].contentColorDefault
289
+ prisma: themes_["variables"].contentColorMuted
290
290
  }));
291
291
  var StyledClearButton = external_styled_components_default()(Button_default.a).withConfig({
292
292
  displayName: "TextAreaStyles__StyledClearButton",
@@ -295,7 +295,7 @@ var StyledClearButton = external_styled_components_default()(Button_default.a).w
295
295
  var StyledSearchIconWrapper = external_styled_components_default.a.span.withConfig({
296
296
  displayName: "TextAreaStyles__StyledSearchIconWrapper",
297
297
  componentId: "gfy8yp-1"
298
- })(["", ";color:", ";pointer-events:none;padding:", ";&[disabled]{", ";}"], themes_["mixins"].reset('inline-block'), Object(themes_["pick"])({
298
+ })(["", ";color:", ";pointer-events:none;padding:", ";", ""], themes_["mixins"].reset('inline-block'), Object(themes_["pick"])({
299
299
  enterprise: {
300
300
  light: themes_["variables"].gray60,
301
301
  dark: themes_["variables"].white
@@ -304,9 +304,13 @@ var StyledSearchIconWrapper = external_styled_components_default.a.span.withConf
304
304
  }), Object(themes_["pick"])({
305
305
  comfortable: '0 8px',
306
306
  compact: '0 6px'
307
- }), Object(themes_["pick"])({
308
- prisma: Object(external_styled_components_["css"])(["color:", ";"], themes_["variables"].contentColorDisabled)
309
- }));
307
+ }), function (_ref) {
308
+ var $disabled = _ref.$disabled;
309
+ return $disabled && Object(external_styled_components_["css"])(["", ""], Object(themes_["pick"])({
310
+ enterprise: Object(external_styled_components_["css"])(["color:", ";"], themes_["variables"].textDisabledColor),
311
+ prisma: Object(external_styled_components_["css"])(["color:", ";"], themes_["variables"].contentColorDisabled)
312
+ }));
313
+ });
310
314
  var StyledBox = external_styled_components_default()(Box_default.a).withConfig({
311
315
  displayName: "TextAreaStyles__StyledBox",
312
316
  componentId: "gfy8yp-2"
@@ -336,13 +340,13 @@ var StyledTextAreaWrapper = external_styled_components_default.a.span.withConfig
336
340
  },
337
341
  prisma: themes_["variables"].transparent
338
342
  }), Object(themes_["pick"])({
339
- enterprise: '0px 10px',
343
+ enterprise: '0px 0px 0px 10px',
340
344
  prisma: '0px 12px'
341
- }), function (_ref) {
342
- var $hasEndAdornment = _ref.$hasEndAdornment;
345
+ }), function (_ref2) {
346
+ var $hasEndAdornment = _ref2.$hasEndAdornment;
343
347
  return $hasEndAdornment && Object(external_styled_components_["css"])(["padding-right:0;"]);
344
- }, function (_ref2) {
345
- var $hasStartAdornment = _ref2.$hasStartAdornment;
348
+ }, function (_ref3) {
349
+ var $hasStartAdornment = _ref3.$hasStartAdornment;
346
350
  return $hasStartAdornment && Object(external_styled_components_["css"])(["padding-left:0;"]);
347
351
  }, Object(themes_["pick"])({
348
352
  enterprise: {
@@ -353,8 +357,8 @@ var StyledTextAreaWrapper = external_styled_components_default.a.span.withConfig
353
357
  }), Object(themes_["pick"])({
354
358
  enterprise: Object(external_styled_components_["css"])(["box-shadow:", ";color:", ";"], themes_["variables"].focusShadow, themes_["variables"].textColor),
355
359
  prisma: Object(external_styled_components_["css"])(["border-color:", ";color:", ";"], themes_["variables"].interactiveColorPrimary, themes_["variables"].contentColorActive)
356
- }), function (_ref3) {
357
- var $error = _ref3.$error;
360
+ }), function (_ref4) {
361
+ var $error = _ref4.$error;
358
362
  return $error && Object(external_styled_components_["css"])(["&,&:hover:not([disabled]){border-color:", ";}&:focus-within:not([disabled]){", "}"], Object(themes_["pick"])({
359
363
  enterprise: themes_["variables"].errorColor,
360
364
  prisma: themes_["variables"].accentColorNegative
@@ -362,14 +366,14 @@ var StyledTextAreaWrapper = external_styled_components_default.a.span.withConfig
362
366
  enterprise: Object(external_styled_components_["css"])(["box-shadow:", ";color:", ";"], themes_["variables"].focusShadow, themes_["variables"].textColor),
363
367
  prisma: Object(external_styled_components_["css"])(["border-color:", ";color:", ";"], themes_["variables"].interactiveColorPrimary, themes_["variables"].contentColorActive)
364
368
  }));
365
- }, function (_ref4) {
366
- var $append = _ref4.$append;
367
- return $append && Object(external_styled_components_["css"])(["margin-right:-1px;border-top-right-radius:0;border-bottom-right-radius:0;border-right:none;"]);
368
369
  }, function (_ref5) {
369
- var $prepend = _ref5.$prepend;
370
- return $prepend && Object(external_styled_components_["css"])(["border-top-left-radius:0;border-bottom-left-radius:0;"]);
370
+ var $append = _ref5.$append;
371
+ return $append && Object(external_styled_components_["css"])(["margin-right:-1px;border-top-right-radius:0;border-bottom-right-radius:0;border-right:none;"]);
371
372
  }, function (_ref6) {
372
- var disabled = _ref6.disabled;
373
+ var $prepend = _ref6.$prepend;
374
+ return $prepend && Object(external_styled_components_["css"])(["border-top-left-radius:0;border-bottom-left-radius:0;"]);
375
+ }, function (_ref7) {
376
+ var disabled = _ref7.disabled;
373
377
  return disabled && Object(external_styled_components_["css"])(["", " box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);"], Object(themes_["pick"])({
374
378
  enterprise: {
375
379
  light: Object(external_styled_components_["css"])(["background-color:", ";border-color:", ";"], themes_["variables"].gray96, themes_["variables"].gray92),
@@ -405,8 +409,8 @@ var StyledTextArea = external_styled_components_default.a.textarea.withConfig({
405
409
  }), Object(themes_["pick"])({
406
410
  enterprise: '10px',
407
411
  prisma: '14px'
408
- }), themes_["variables"].contentColorMuted, function (_ref7) {
409
- var $error = _ref7.$error;
412
+ }), themes_["variables"].contentColorMuted, function (_ref8) {
413
+ var $error = _ref8.$error;
410
414
  return $error && Object(external_styled_components_["css"])(["&,&:hover{color:", ";}"], Object(themes_["pick"])({
411
415
  enterprise: {
412
416
  light: themes_["variables"].errorColorD10,
@@ -414,8 +418,8 @@ var StyledTextArea = external_styled_components_default.a.textarea.withConfig({
414
418
  },
415
419
  prisma: themes_["variables"].contentColorActive
416
420
  }));
417
- }, function (_ref8) {
418
- var disabled = _ref8.disabled;
421
+ }, function (_ref9) {
422
+ var disabled = _ref9.disabled;
419
423
  return disabled && disabledStyles;
420
424
  });
421
425
  var StyledVisibilityToggle = external_styled_components_default()(Button_default.a).withConfig({
@@ -431,9 +435,9 @@ var StyledPlaceholder = external_styled_components_default.a.span.withConfig({
431
435
  }), themes_["variables"].lineHeight, Object(themes_["pick"])({
432
436
  enterprise: '10px',
433
437
  prisma: '14px'
434
- }), function (_ref9) {
435
- var $hasStartAdornment = _ref9.$hasStartAdornment,
436
- $startAdornmentWidth = _ref9.$startAdornmentWidth;
438
+ }), function (_ref10) {
439
+ var $hasStartAdornment = _ref10.$hasStartAdornment,
440
+ $startAdornmentWidth = _ref10.$startAdornmentWidth;
437
441
  return $hasStartAdornment && ($startAdornmentWidth ? Object(external_styled_components_["css"])(["margin-left:", "px;"], $startAdornmentWidth) : Object(external_styled_components_["css"])(["margin-left:", ";"], Object(themes_["pick"])({
438
442
  enterprise: {
439
443
  comfortable: '30px',
@@ -444,9 +448,9 @@ var StyledPlaceholder = external_styled_components_default.a.span.withConfig({
444
448
  compact: '30px'
445
449
  }
446
450
  })));
447
- }, function (_ref10) {
448
- var $hasEndAdornment = _ref10.$hasEndAdornment,
449
- $endAdornmentWidth = _ref10.$endAdornmentWidth;
451
+ }, function (_ref11) {
452
+ var $hasEndAdornment = _ref11.$hasEndAdornment,
453
+ $endAdornmentWidth = _ref11.$endAdornmentWidth;
450
454
  return $hasEndAdornment && ($endAdornmentWidth // calc(100% - padding - adorment width)
451
455
  ? Object(external_styled_components_["css"])(["max-width:calc( 100% - ", " - ", "px );"], Object(themes_["pick"])({
452
456
  enterprise: '10px',
@@ -464,10 +468,10 @@ var StyledPlaceholder = external_styled_components_default.a.span.withConfig({
464
468
  compact: '30px'
465
469
  }
466
470
  })));
467
- }, function (_ref11) {
468
- var $hasBothAdornment = _ref11.$hasBothAdornment,
469
- $endAdornmentWidth = _ref11.$endAdornmentWidth,
470
- $startAdornmentWidth = _ref11.$startAdornmentWidth;
471
+ }, function (_ref12) {
472
+ var $hasBothAdornment = _ref12.$hasBothAdornment,
473
+ $endAdornmentWidth = _ref12.$endAdornmentWidth,
474
+ $startAdornmentWidth = _ref12.$startAdornmentWidth;
471
475
  return $hasBothAdornment && Object(external_styled_components_["css"])(["max-width:calc(100% - ", "px - ", "px);"], $startAdornmentWidth, $endAdornmentWidth);
472
476
  });
473
477
  var adornmentHolder = Object(external_styled_components_["css"])(["display:inline-flex;align-items:center;justify-content:center;height:", ";pointer-events:none;"], Object(themes_["pick"])({
@@ -483,8 +487,8 @@ var adornmentHolder = Object(external_styled_components_["css"])(["display:inlin
483
487
  var StyledStartAdornmentHolder = external_styled_components_default.a.div.withConfig({
484
488
  displayName: "TextAreaStyles__StyledStartAdornmentHolder",
485
489
  componentId: "gfy8yp-7"
486
- })(["", " ", ";"], adornmentHolder, function (_ref12) {
487
- var $width = _ref12.$width;
490
+ })(["", " ", ";"], adornmentHolder, function (_ref13) {
491
+ var $width = _ref13.$width;
488
492
  return $width ? Object(external_styled_components_["css"])(["min-width:", "px;"], $width) : Object(external_styled_components_["css"])(["min-width:", ";"], Object(themes_["pick"])({
489
493
  enterprise: {
490
494
  comfortable: '30px',
@@ -499,8 +503,8 @@ var StyledStartAdornmentHolder = external_styled_components_default.a.div.withCo
499
503
  var StyledEndAdornmentHolder = external_styled_components_default.a.div.withConfig({
500
504
  displayName: "TextAreaStyles__StyledEndAdornmentHolder",
501
505
  componentId: "gfy8yp-8"
502
- })(["", " ", ";"], adornmentHolder, function (_ref13) {
503
- var $width = _ref13.$width;
506
+ })(["", " ", ";"], adornmentHolder, function (_ref14) {
507
+ var $width = _ref14.$width;
504
508
  return $width ? Object(external_styled_components_["css"])(["min-width:", "px;"], $width) : Object(external_styled_components_["css"])(["min-width:", ";"], Object(themes_["pick"])({
505
509
  enterprise: {
506
510
  comfortable: '30px',
@@ -515,7 +519,7 @@ var StyledEndAdornmentHolder = external_styled_components_default.a.div.withConf
515
519
  var StyledAdornment = external_styled_components_default.a.div.withConfig({
516
520
  displayName: "TextAreaStyles__StyledAdornment",
517
521
  componentId: "gfy8yp-9"
518
- })(["display:inline-flex;align-items:center;justify-content:center;position:absolute;pointer-events:none;z-index:1;height:", ";", ";", ";", ""], Object(themes_["pick"])({
522
+ })(["display:inline-flex;align-items:center;justify-content:center;position:absolute;pointer-events:none;z-index:1;height:", ";color:", ";", ";", ";", ""], Object(themes_["pick"])({
519
523
  enterprise: {
520
524
  comfortable: '30px',
521
525
  compact: '26px'
@@ -524,11 +528,17 @@ var StyledAdornment = external_styled_components_default.a.div.withConfig({
524
528
  comfortable: '38px',
525
529
  compact: '30px'
526
530
  }
527
- }), function (_ref14) {
528
- var $position = _ref14.$position;
531
+ }), Object(themes_["pick"])({
532
+ enterprise: {
533
+ light: themes_["variables"].gray60,
534
+ dark: themes_["variables"].white
535
+ },
536
+ prisma: themes_["variables"].contentColorMuted
537
+ }), function (_ref15) {
538
+ var $position = _ref15.$position;
529
539
  return $position === 'start' ? Object(external_styled_components_["css"])(["top:1px;left:1px;"]) : Object(external_styled_components_["css"])(["top:1px;right:1px;"]);
530
- }, function (_ref15) {
531
- var disabled = _ref15.disabled;
540
+ }, function (_ref16) {
541
+ var disabled = _ref16.disabled;
532
542
  return disabled && disabledStyles;
533
543
  }, Object(themes_["pick"])({
534
544
  enterprise: Object(external_styled_components_["css"])(["margin-left:-1px;margin-right:-1px;"])
@@ -848,7 +858,7 @@ var TextArea_TextArea = /*#__PURE__*/function (_Component) {
848
858
  var displayValue = _this.getDisplayValue();
849
859
 
850
860
  if (!!displayValue && (isPrisma && appearance === 'search' || canClear)) {
851
- return /*#__PURE__*/external_react_default.a.createElement(StyledAdornment, adornmentProps, /*#__PURE__*/external_react_default.a.createElement(StyledClearButton, {
861
+ return /*#__PURE__*/external_react_default.a.createElement(StyledAdornment, adornmentProps, !disabled && /*#__PURE__*/external_react_default.a.createElement(StyledClearButton, {
852
862
  "data-test": "clear",
853
863
  appearance: isPrisma ? 'secondary' : 'pill',
854
864
  onClick: _this.handleClear,
@@ -907,6 +917,8 @@ var TextArea_TextArea = /*#__PURE__*/function (_Component) {
907
917
 
908
918
  if (false) {}
909
919
 
920
+ if (false) {}
921
+
910
922
  TextArea.validateRows(props);
911
923
  _this.handleResize = Object(external_lodash_["throttle"])(_this.handleResize, 100);
912
924
  return _this;
@@ -989,8 +1001,7 @@ var TextArea_TextArea = /*#__PURE__*/function (_Component) {
989
1001
  spellCheck = _this$props10.spellCheck,
990
1002
  tabIndex = _this$props10.tabIndex,
991
1003
  title = _this$props10.title,
992
- value = _this$props10.value,
993
- otherProps = _objectWithoutProperties(_this$props10, ["append", "autoCapitalize", "autoComplete", "autoCorrect", "autoFocus", "children", "className", "classNamePrivate", "disabled", "describedBy", "elementRef", "error", "inline", "inputClassName", "inputId", "labelledBy", "maxLength", "name", "placeholder", "prepend", "spellCheck", "tabIndex", "title", "value"]);
1004
+ otherProps = _objectWithoutProperties(_this$props10, ["append", "autoCapitalize", "autoComplete", "autoCorrect", "autoFocus", "children", "className", "classNamePrivate", "disabled", "describedBy", "elementRef", "error", "inline", "inputClassName", "inputId", "labelledBy", "maxLength", "name", "placeholder", "prepend", "spellCheck", "tabIndex", "title"]);
994
1005
 
995
1006
  var ariaProps = _objectSpread(_objectSpread({}, Object(external_lodash_["pickBy"])(otherProps, function (val, key) {
996
1007
  return key === 'role' || key.indexOf('aria-') === 0;
@@ -1135,7 +1146,14 @@ module.exports = require("@splunk/react-ui/Button");
1135
1146
 
1136
1147
  /***/ }),
1137
1148
 
1138
- /***/ 19:
1149
+ /***/ 2:
1150
+ /***/ (function(module, exports) {
1151
+
1152
+ module.exports = require("react");
1153
+
1154
+ /***/ }),
1155
+
1156
+ /***/ 20:
1139
1157
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1140
1158
 
1141
1159
  "use strict";
@@ -1185,13 +1203,6 @@ function CrossMark(props) {
1185
1203
 
1186
1204
  /***/ }),
1187
1205
 
1188
- /***/ 2:
1189
- /***/ (function(module, exports) {
1190
-
1191
- module.exports = require("react");
1192
-
1193
- /***/ }),
1194
-
1195
1206
  /***/ 21:
1196
1207
  /***/ (function(module, exports) {
1197
1208
 
@@ -1199,21 +1210,7 @@ module.exports = require("@splunk/react-icons/Close");
1199
1210
 
1200
1211
  /***/ }),
1201
1212
 
1202
- /***/ 3:
1203
- /***/ (function(module, exports) {
1204
-
1205
- module.exports = require("styled-components");
1206
-
1207
- /***/ }),
1208
-
1209
- /***/ 31:
1210
- /***/ (function(module, exports) {
1211
-
1212
- module.exports = require("@splunk/ui-utils/style");
1213
-
1214
- /***/ }),
1215
-
1216
- /***/ 34:
1213
+ /***/ 29:
1217
1214
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1218
1215
 
1219
1216
  "use strict";
@@ -1263,6 +1260,20 @@ function Search(props) {
1263
1260
 
1264
1261
  /***/ }),
1265
1262
 
1263
+ /***/ 3:
1264
+ /***/ (function(module, exports) {
1265
+
1266
+ module.exports = require("styled-components");
1267
+
1268
+ /***/ }),
1269
+
1270
+ /***/ 32:
1271
+ /***/ (function(module, exports) {
1272
+
1273
+ module.exports = require("@splunk/ui-utils/style");
1274
+
1275
+ /***/ }),
1276
+
1266
1277
  /***/ 4:
1267
1278
  /***/ (function(module, exports) {
1268
1279
 
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 = 146);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 149);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -122,7 +122,7 @@ module.exports = require("@splunk/react-ui/ScreenReaderContent");
122
122
 
123
123
  /***/ }),
124
124
 
125
- /***/ 146:
125
+ /***/ 149:
126
126
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
127
127
 
128
128
  "use strict";
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 = 173);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 176);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -101,7 +101,7 @@ module.exports = require("prop-types");
101
101
 
102
102
  /***/ }),
103
103
 
104
- /***/ 173:
104
+ /***/ 176:
105
105
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
106
106
 
107
107
  "use strict";
@@ -123,16 +123,16 @@ var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_pr
123
123
  var external_lodash_ = __webpack_require__(4);
124
124
 
125
125
  // EXTERNAL MODULE: external "@splunk/react-ui/Animation"
126
- var Animation_ = __webpack_require__(30);
126
+ var Animation_ = __webpack_require__(31);
127
127
 
128
128
  // EXTERNAL MODULE: external "@splunk/ui-utils/focus"
129
129
  var focus_ = __webpack_require__(26);
130
130
 
131
131
  // EXTERNAL MODULE: external "@splunk/ui-utils/style"
132
- var style_ = __webpack_require__(31);
132
+ var style_ = __webpack_require__(32);
133
133
 
134
134
  // EXTERNAL MODULE: external "react-spring"
135
- var external_react_spring_ = __webpack_require__(18);
135
+ var external_react_spring_ = __webpack_require__(19);
136
136
 
137
137
  // EXTERNAL MODULE: external "styled-components"
138
138
  var external_styled_components_ = __webpack_require__(3);
@@ -466,7 +466,7 @@ _defineProperty(TransitionOpen_TransitionOpen, "getDerivedStateFromProps", funct
466
466
 
467
467
  /***/ }),
468
468
 
469
- /***/ 18:
469
+ /***/ 19:
470
470
  /***/ (function(module, exports) {
471
471
 
472
472
  module.exports = require("react-spring");
@@ -494,14 +494,14 @@ module.exports = require("styled-components");
494
494
 
495
495
  /***/ }),
496
496
 
497
- /***/ 30:
497
+ /***/ 31:
498
498
  /***/ (function(module, exports) {
499
499
 
500
500
  module.exports = require("@splunk/react-ui/Animation");
501
501
 
502
502
  /***/ }),
503
503
 
504
- /***/ 31:
504
+ /***/ 32:
505
505
  /***/ (function(module, exports) {
506
506
 
507
507
  module.exports = require("@splunk/ui-utils/style");
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 = 179);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 182);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -94,7 +94,7 @@ module.exports = require("prop-types");
94
94
 
95
95
  /***/ }),
96
96
 
97
- /***/ 179:
97
+ /***/ 182:
98
98
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
99
99
 
100
100
  "use strict";
@@ -117,7 +117,7 @@ var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_pr
117
117
  var external_lodash_ = __webpack_require__(4);
118
118
 
119
119
  // EXTERNAL MODULE: external "@splunk/themes/mixins"
120
- var mixins_ = __webpack_require__(56);
120
+ var mixins_ = __webpack_require__(57);
121
121
  var mixins_default = /*#__PURE__*/__webpack_require__.n(mixins_);
122
122
 
123
123
  // EXTERNAL MODULE: external "styled-components"
@@ -215,7 +215,7 @@ module.exports = require("lodash");
215
215
 
216
216
  /***/ }),
217
217
 
218
- /***/ 56:
218
+ /***/ 57:
219
219
  /***/ (function(module, exports) {
220
220
 
221
221
  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 = 174);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 177);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -101,7 +101,7 @@ module.exports = require("prop-types");
101
101
 
102
102
  /***/ }),
103
103
 
104
- /***/ 174:
104
+ /***/ 177:
105
105
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
106
106
 
107
107
  "use strict";
@@ -198,6 +198,9 @@ var StyledEnterpriseCircle = external_styled_components_default.a.circle.withCon
198
198
  enterprise: Object(external_styled_components_["css"])(["stroke-dasharray:34 19;"])
199
199
  }));
200
200
 
201
+ // EXTERNAL MODULE: ./src/useIsSsr/index.ts + 1 modules
202
+ var useIsSsr = __webpack_require__(80);
203
+
201
204
  // CONCATENATED MODULE: ./src/WaitSpinner/WaitSpinner.tsx
202
205
  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); }
203
206
 
@@ -211,6 +214,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
211
214
 
212
215
 
213
216
 
217
+
214
218
  var propTypes = {
215
219
  elementRef: external_prop_types_default.a.oneOfType([external_prop_types_default.a.func, external_prop_types_default.a.object]),
216
220
  screenReaderText: external_prop_types_default.a.string,
@@ -232,6 +236,12 @@ function WaitSpinner(_ref) {
232
236
  isPrisma = _useSplunkTheme.isPrisma;
233
237
 
234
238
  var viewBox = isPrisma ? '0 0 40 40' : '0 0 19 19';
239
+ var isSsr = Object(useIsSsr["default"])();
240
+
241
+ if (isSsr) {
242
+ return null;
243
+ }
244
+
235
245
  return /*#__PURE__*/external_react_default.a.createElement(Styled, _extends({
236
246
  "data-test": "wait-spinner"
237
247
  }, otherProps), /*#__PURE__*/external_react_default.a.createElement(StyledSvg, {
@@ -293,6 +303,62 @@ module.exports = require("@splunk/react-ui/AnimationToggle");
293
303
 
294
304
  module.exports = require("@splunk/ui-utils/i18n");
295
305
 
306
+ /***/ }),
307
+
308
+ /***/ 80:
309
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
310
+
311
+ "use strict";
312
+ // ESM COMPAT FLAG
313
+ __webpack_require__.r(__webpack_exports__);
314
+
315
+ // EXPORTS
316
+ __webpack_require__.d(__webpack_exports__, "default", function() { return /* reexport */ src_useIsSsr_useIsSsr; });
317
+
318
+ // EXTERNAL MODULE: external "react"
319
+ var external_react_ = __webpack_require__(2);
320
+
321
+ // CONCATENATED MODULE: ./src/useIsSsr/useIsSsr.tsx
322
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
323
+
324
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
325
+
326
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
327
+
328
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
329
+
330
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
331
+
332
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
333
+
334
+
335
+ /**
336
+ * This is a private component not intended for use outside @splunk/react-ui
337
+ *
338
+ * Checks if the application is server side rendered and returns boolean
339
+ * to be used in components that utilize "window" or "document" objects.
340
+ */
341
+
342
+ var useIsSsr_useIsSsr = function useIsSsr() {
343
+ // we always start off in "SSR mode", to ensure our initial browser render
344
+ var _useState = Object(external_react_["useState"])(true),
345
+ _useState2 = _slicedToArray(_useState, 2),
346
+ isSsr = _useState2[0],
347
+ setIsSsr = _useState2[1];
348
+
349
+ Object(external_react_["useEffect"])(function () {
350
+ // `useEffect` never runs on the server, so we must be on the client if
351
+ // we hit this block
352
+ setIsSsr(false);
353
+ }, []);
354
+ return isSsr;
355
+ };
356
+
357
+ /* harmony default export */ var src_useIsSsr_useIsSsr = (useIsSsr_useIsSsr);
358
+ // CONCATENATED MODULE: ./src/useIsSsr/index.ts
359
+
360
+
361
+
296
362
  /***/ })
297
363
 
298
364
  /******/ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@splunk/react-ui",
3
- "version": "4.12.0",
3
+ "version": "4.13.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.",
@@ -8,6 +8,7 @@
8
8
  "build": "cross-env NODE_ENV=production webpack && yarn types:build && yarn build-storybook",
9
9
  "docs": "NODE_ENV=production webpack --config docs.gen.webpack.config.js",
10
10
  "docs:publish": "cicd-publish-docs docs --force",
11
+ "docs:publish:external": "cicd-publish-docs docs-external --force --suffix=public",
11
12
  "docs:start": "webpack serve --config docs.gen.webpack.config.js",
12
13
  "eslint": "eslint src .storybook --ext \".ts,.tsx,.js,.jsx\"",
13
14
  "eslint:fix": "yarn run eslint --fix",
@@ -41,7 +42,7 @@
41
42
  "dependencies": {
42
43
  "@splunk/react-icons": "^3.2.0",
43
44
  "@splunk/themes": "^0.13.0",
44
- "@splunk/ui-utils": "^1.5.0",
45
+ "@splunk/ui-utils": "^1.5.1",
45
46
  "@types/commonmark": "^0.27.0",
46
47
  "@types/lodash": "^4.14.156",
47
48
  "@types/react": "^16.9.38",
@@ -68,7 +69,7 @@
68
69
  "@cypress/react": "^5.12.4",
69
70
  "@cypress/webpack-dev-server": "^1.8.2",
70
71
  "@splunk/babel-preset": "^3.0.0",
71
- "@splunk/cicd-tools": "^0.4.0",
72
+ "@splunk/cicd-tools": "^0.5.0",
72
73
  "@splunk/docs-gen": "^0.11.2",
73
74
  "@splunk/eslint-config": "^4.0.0",
74
75
  "@splunk/react-docs": "^0.11.0",
@@ -12,7 +12,7 @@ interface ButtonPropsBase {
12
12
  /** Returns a value on click. Use when composing or testing. */
13
13
  action?: string;
14
14
  /** Changes the style of the button.
15
- * @themeNotes 'pill': supported by `enterprise`, `enterpriseDark` and `lite`. 'destructive', 'toggle' and 'flat': supported by `prisma`.
15
+ * @themeNotes Enterprise themes support the following appearances:`default`, `primary`, `secondary`, and `pill`. Prisma themes support the `default`, `primary`, `secondary`, `destructive`, `toggle` and `flat` appearances.
16
16
  */
17
17
  appearance?: 'default' | 'secondary' | 'primary' | 'destructive' | 'pill' | 'toggle' | 'flat';
18
18
  /** Removes the right border and border-radius of the button so you can
@@ -31,6 +31,14 @@ declare type DropdownToggleElement = React.ReactElement<React.HTMLAttributes<HTM
31
31
  ref?: React.Ref<ComponentWithFocus | HTMLElement | null>;
32
32
  }>;
33
33
  interface DropdownPropsBase {
34
+ /**
35
+ * Resurface private `Popover` prop for aligning the edge.
36
+ *
37
+ * `end` is ONLY supported in with the `below` PopoverPlacement
38
+ * TODO: SUI-5101 Allow users to supply align prop in Popover and Dropdowns
39
+ * @private
40
+ */
41
+ align?: 'center' | 'edge' | 'theme' | 'end';
34
42
  /**
35
43
  * Enables the `Dropdown` to be rendered over the toggle
36
44
  * if there isn't enough room to render it in a direction.
@@ -106,7 +114,7 @@ interface DropdownPropsBase {
106
114
  */
107
115
  toggle: DropdownToggleElement;
108
116
  }
109
- declare const defaultProps: Required<Pick<DropdownPropsBase, 'canCoverAnchor' | 'closeReasons' | 'defaultPlacement' | 'focusToggleReasons' | 'repositionMode' | 'retainFocus' | 'takeFocus'>>;
117
+ declare const defaultProps: Required<Pick<DropdownPropsBase, 'align' | 'canCoverAnchor' | 'closeReasons' | 'defaultPlacement' | 'focusToggleReasons' | 'repositionMode' | 'retainFocus' | 'takeFocus'>>;
110
118
  interface DropdownPropsBaseControlled extends DropdownPropsBase {
111
119
  onRequestClose: DropdownRequestCloseHandler;
112
120
  onRequestOpen: DropdownRequestOpenHandler;
@@ -132,8 +140,8 @@ declare class Dropdown extends Component<DropdownProps, DropdownState> {
132
140
  * docs extraction.
133
141
  */
134
142
  static possibleCloseReasons: DropdownPossibleCloseReason[];
135
- static propTypes: React.WeakValidationMap<DropdownPropsBaseControlled & Required<Pick<DropdownPropsBase, "retainFocus" | "takeFocus" | "closeReasons" | "canCoverAnchor" | "defaultPlacement" | "repositionMode" | "focusToggleReasons">>> | React.WeakValidationMap<DropdownPropsBaseUncontrolled & Required<Pick<DropdownPropsBase, "retainFocus" | "takeFocus" | "closeReasons" | "canCoverAnchor" | "defaultPlacement" | "repositionMode" | "focusToggleReasons">>>;
136
- static defaultProps: Required<Pick<DropdownPropsBase, "retainFocus" | "takeFocus" | "closeReasons" | "canCoverAnchor" | "defaultPlacement" | "repositionMode" | "focusToggleReasons">>;
143
+ static propTypes: React.WeakValidationMap<DropdownPropsBaseControlled & Required<Pick<DropdownPropsBase, "align" | "retainFocus" | "takeFocus" | "closeReasons" | "canCoverAnchor" | "defaultPlacement" | "repositionMode" | "focusToggleReasons">>> | React.WeakValidationMap<DropdownPropsBaseUncontrolled & Required<Pick<DropdownPropsBase, "align" | "retainFocus" | "takeFocus" | "closeReasons" | "canCoverAnchor" | "defaultPlacement" | "repositionMode" | "focusToggleReasons">>>;
144
+ static defaultProps: Required<Pick<DropdownPropsBase, "align" | "retainFocus" | "takeFocus" | "closeReasons" | "canCoverAnchor" | "defaultPlacement" | "repositionMode" | "focusToggleReasons">>;
137
145
  constructor(props: Readonly<DropdownProps>);
138
146
  componentDidUpdate(): void;
139
147
  private handleToggleMount;