@splunk/react-ui 4.23.0 → 4.25.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 (68) hide show
  1. package/Breadcrumbs.js +99 -124
  2. package/Button.js +8 -7
  3. package/ButtonSimple.js +40 -39
  4. package/CHANGELOG.md +22 -0
  5. package/Code.js +193 -100
  6. package/Color.js +18 -15
  7. package/ComboBox.js +49 -37
  8. package/JSONTree.js +210 -177
  9. package/Menu.js +643 -472
  10. package/Modal.js +265 -226
  11. package/Multiselect.js +634 -620
  12. package/RadioList.js +12 -11
  13. package/ResultsMenu.js +863 -148
  14. package/Search.js +3 -1
  15. package/Select.js +427 -416
  16. package/TabBar.js +2 -2
  17. package/Table.js +2 -2
  18. package/Tree.js +617 -0
  19. package/cypress/README.md +11 -0
  20. package/cypress/support/commands.ts +1 -0
  21. package/cypress/support/component.ts +0 -1
  22. package/cypress/tsconfig.cypress.json +14 -0
  23. package/package.json +12 -12
  24. package/types/src/Breadcrumbs/Breadcrumbs.d.ts +7 -1
  25. package/types/src/Breadcrumbs/Item.d.ts +8 -2
  26. package/types/src/Button/Button.d.ts +4 -2
  27. package/types/src/Button/docs/examples/Block.d.ts +2 -2
  28. package/types/src/Button/docs/examples/Dimmed.d.ts +2 -0
  29. package/types/src/Button/docs/examples/Disabled.d.ts +2 -2
  30. package/types/src/Button/docs/examples/Icons.d.ts +2 -2
  31. package/types/src/Button/docs/examples/Menus.d.ts +2 -2
  32. package/types/src/Button/docs/examples/To.d.ts +2 -2
  33. package/types/src/Button/docs/examples/Truncated.d.ts +2 -2
  34. package/types/src/Button/docs/examples/prisma/Basic.d.ts +2 -2
  35. package/types/src/Button/docs/examples/prisma/Block.d.ts +2 -2
  36. package/types/src/Button/docs/examples/prisma/Dimmed.d.ts +2 -0
  37. package/types/src/Button/docs/examples/prisma/Disabled.d.ts +2 -2
  38. package/types/src/Button/docs/examples/prisma/Menus.d.ts +2 -2
  39. package/types/src/Button/docs/examples/prisma/To.d.ts +2 -2
  40. package/types/src/Button/docs/examples/prisma/Truncated.d.ts +2 -2
  41. package/types/src/ButtonSimple/ButtonSimple.d.ts +4 -2
  42. package/types/src/Color/Color.d.ts +5 -3
  43. package/types/src/ComboBox/ComboBox.d.ts +6 -0
  44. package/types/src/JSONTree/JSONTree.d.ts +3 -2
  45. package/types/src/Menu/Menu.d.ts +14 -1
  46. package/types/src/Modal/Header.d.ts +0 -2
  47. package/types/src/Modal/Modal.d.ts +7 -0
  48. package/types/src/Modal/ModalContext.d.ts +1 -0
  49. package/types/src/Multiselect/Compact.d.ts +6 -0
  50. package/types/src/Multiselect/Multiselect.d.ts +7 -0
  51. package/types/src/RadioList/RadioList.d.ts +27 -27
  52. package/types/src/RadioList/RadioListContext.d.ts +5 -4
  53. package/types/src/ResultsMenu/ResultsMenu.d.ts +53 -1
  54. package/types/src/ResultsMenu/VirtualizedResultsMenu/VirtualizedItem.d.ts +9 -0
  55. package/types/src/ResultsMenu/VirtualizedResultsMenu/VirtualizedResultsMenu.d.ts +33 -0
  56. package/types/src/ResultsMenu/VirtualizedResultsMenu/groupChildren.d.ts +16 -0
  57. package/types/src/ResultsMenu/VirtualizedResultsMenu/index.d.ts +3 -0
  58. package/types/src/ResultsMenu/VirtualizedResultsMenu/injectVirtualizedItem.d.ts +21 -0
  59. package/types/src/ResultsMenu/index.d.ts +2 -1
  60. package/types/src/Select/Select.d.ts +2 -0
  61. package/types/src/Select/SelectBase.d.ts +6 -0
  62. package/types/src/Tree/Tree.d.ts +24 -0
  63. package/types/src/Tree/TreeContext.d.ts +13 -0
  64. package/types/src/Tree/TreeItem.d.ts +31 -0
  65. package/types/src/Tree/index.d.ts +3 -0
  66. package/types/src/Tree/treeUtils.d.ts +29 -0
  67. package/types/unit-test-setup-testing-library.d.ts +1 -0
  68. package/types/src/Modal/docs/examples/prisma/TypicalUsage.d.ts +0 -2
package/Color.js CHANGED
@@ -668,6 +668,8 @@
668
668
  palette: o().array,
669
669
  prepend: o().bool,
670
670
  /** @private */
671
+ required: o().bool,
672
+ /** @private */
671
673
  splunkTheme: o().object,
672
674
  value: o().string
673
675
  };
@@ -957,17 +959,17 @@
957
959
  key: "renderInput",
958
960
  value: function e(t) {
959
961
  var a = t.textAppend, o = t.textPrepend, l = t.textInline, i = t.inDropdown;
960
- var s = this.props.splunkTheme;
961
- var u = this.state.displayValue;
962
- var c = s.isPrisma;
963
- var p = r.hasTransparent(this.props.palette) && g()(u) === "transparent";
964
- var d = g()(u) === Fe;
965
- var f = u;
966
- if (!y()(u, "#")) {
967
- f = "#".concat(u);
962
+ var s = this.props, u = s.splunkTheme, c = s.required;
963
+ var p = this.state.displayValue;
964
+ var d = u.isPrisma;
965
+ var f = r.hasTransparent(this.props.palette) && g()(p) === "transparent";
966
+ var v = g()(p) === Fe;
967
+ var h = p;
968
+ if (!y()(p, "#")) {
969
+ h = "#".concat(p);
968
970
  }
969
- f = p ? "transparent" : f;
970
- f = d ? null : f;
971
+ h = f ? "transparent" : h;
972
+ h = v ? null : h;
971
973
 
972
974
  return n().createElement(Y, {
973
975
  $inDropdown: i
@@ -977,17 +979,18 @@
977
979
  autoCapitalize: "off",
978
980
  autoComplete: "off",
979
981
  autoCorrect: "off",
980
- spellCheck: false,
981
982
  "aria-label": (0, _._)("Hexadecimal color value"),
982
- prepend: o,
983
983
  inline: l,
984
+ prepend: o,
984
985
  onKeyDown: this.handleTextKeyDown,
985
986
  onChange: this.handleTextChange,
986
- value: u
987
- }), !c && n().createElement(J, {
987
+ required: c,
988
+ spellCheck: false,
989
+ value: p
990
+ }), !d && n().createElement(J, {
988
991
  "data-test": "textbox-swatch",
989
992
  onClick: this.handleButtonClick,
990
- value: f,
993
+ value: h,
991
994
  tabIndex: -1,
992
995
  style: {
993
996
  marginLeft: "1px"
package/ComboBox.js CHANGED
@@ -206,9 +206,9 @@
206
206
  function T(e) {
207
207
  var t = H();
208
208
  return function n() {
209
- var o = K(e), r;
209
+ var o = z(e), r;
210
210
  if (t) {
211
- var i = K(this).constructor;
211
+ var i = z(this).constructor;
212
212
  r = Reflect.construct(o, arguments, i);
213
213
  } else {
214
214
  r = o.apply(this, arguments);
@@ -239,13 +239,13 @@
239
239
  return false;
240
240
  }
241
241
  }
242
- function K(e) {
243
- K = Object.setPrototypeOf ? Object.getPrototypeOf : function e(t) {
242
+ function z(e) {
243
+ z = Object.setPrototypeOf ? Object.getPrototypeOf : function e(t) {
244
244
  return t.__proto__ || Object.getPrototypeOf(t);
245
245
  };
246
- return K(e);
246
+ return z(e);
247
247
  }
248
- function N(e, t, n) {
248
+ function K(e, t, n) {
249
249
  if (t in e) {
250
250
  Object.defineProperty(e, t, {
251
251
  value: n,
@@ -258,7 +258,7 @@
258
258
  }
259
259
  return e;
260
260
  }
261
- var z = {
261
+ var N = {
262
262
  /** @private */
263
263
  active: i().bool,
264
264
  description: i().string,
@@ -295,8 +295,8 @@
295
295
  r[i] = arguments[i];
296
296
  }
297
297
  e = t.call.apply(t, [ this ].concat(r));
298
- N(F(e), "item", null);
299
- N(F(e), "handleClick", (function(t) {
298
+ K(F(e), "item", null);
299
+ K(F(e), "handleClick", (function(t) {
300
300
  var n = e.props, o = n.disabled, r = n.onClick, i = n.value;
301
301
  if (!o) {
302
302
  r === null || r === void 0 ? void 0 : r(t, {
@@ -335,8 +335,8 @@
335
335
  } ]);
336
336
  return n;
337
337
  }(n.PureComponent);
338
- N(U, "propTypes", z);
339
- N(U, "defaultProps", W);
338
+ K(U, "propTypes", N);
339
+ K(U, "defaultProps", W);
340
340
  /* harmony default export */ const X = U;
341
341
  // CONCATENATED MODULE: ./src/utils/updateReactRef.ts
342
342
  /**
@@ -537,7 +537,9 @@
537
537
  placeholder: i().string,
538
538
  prepend: i().bool,
539
539
  size: i().oneOf([ "small", "medium", "large" ]),
540
- value: i().string
540
+ value: i().string,
541
+ /** @private. */
542
+ virtualization: i().number
541
543
  };
542
544
  var fe = {
543
545
  animateLoading: false,
@@ -614,6 +616,7 @@
614
616
  ce(ae(i), "handleChange", (function(e, t) {
615
617
  var n, o;
616
618
  var r = t.value, a = t.selectedOption;
619
+ e.stopPropagation();
617
620
  var l = i.props.name;
618
621
  var u = a ? undefined : r;
619
622
  if (i.isControlled()) {
@@ -713,41 +716,41 @@
713
716
  }));
714
717
  ce(ae(i), "renderMenu", (function(e) {
715
718
  var t = e.anchorWidth, r = e.maxHeight;
716
- var a = i.props, l = a.children, u = a.controlledFilter, s = a.isLoadingOptions, f = a.menuStyle, p = a.onScrollBottom;
717
- var d = i.state, v = d.activeIndex, y = d.typedValue;
718
- var g = i.getValue();
719
- var S = n.Children.toArray(l).filter(n.isValidElement);
720
- var C = b()(S, (function(e) {
719
+ var a = i.props, l = a.children, u = a.controlledFilter, s = a.isLoadingOptions, f = a.menuStyle, p = a.onScrollBottom, d = a.virtualization;
720
+ var v = i.state, y = v.activeIndex, g = v.typedValue;
721
+ var S = i.getValue();
722
+ var C = n.Children.toArray(l).filter(n.isValidElement);
723
+ var w = b()(C, (function(e) {
721
724
  if (e.type === I.Heading) {
722
725
  return false;
723
726
  }
724
727
  if (e.props.label === undefined) {
725
- return e.props.value === g;
728
+ return e.props.value === S;
726
729
  }
727
- if (e.props.label !== undefined && y !== undefined) {
728
- return e.props.label === g;
730
+ if (e.props.label !== undefined && g !== undefined) {
731
+ return e.props.label === S;
729
732
  }
730
- return e.props.value === g;
733
+ return e.props.value === S;
731
734
  }));
732
- if (!C && g) {
733
- S.unshift( o().createElement(X, {
735
+ if (!w && S) {
736
+ C.unshift( o().createElement(X, {
734
737
  description: (0, O._)("(New value)"),
735
738
  descriptionPosition: "right",
736
739
  key: "currentValueOption",
737
- value: g,
738
- "data-test-current-value-option": g
740
+ value: S,
741
+ "data-test-current-value-option": S
739
742
  }));
740
743
  }
741
744
  // Highlight Active
742
745
  i.availableOptionCount = 0;
743
746
  i.activeValue = undefined;
744
- var w = (0, m.stringToKeywords)(y ? g : i.getDisplayValue());
745
- i.options = (u ? S : S.filter((function(e) {
747
+ var j = (0, m.stringToKeywords)(g ? S : i.getDisplayValue());
748
+ i.options = (u ? C : C.filter((function(e) {
746
749
  if (e.props.label !== undefined) {
747
- return (0, m.testPhrase)(e.props.label, w);
750
+ return (0, m.testPhrase)(e.props.label, j);
748
751
  }
749
752
  if (e.props.value !== undefined) {
750
- return (0, m.testPhrase)(e.props.value, w);
753
+ return (0, m.testPhrase)(e.props.value, j);
751
754
  }
752
755
  return true;
753
756
  // Keep all headers and non-interactive options
@@ -756,13 +759,15 @@
756
759
  // ignore Headings and Dividers
757
760
  return e;
758
761
  }
759
- var o = i.availableOptionCount === v;
762
+ var o = i.availableOptionCount === y;
760
763
  i.availableOptionCount += 1;
761
764
  var r = e.props.label !== undefined ? e.props.label : e.props.value;
762
765
  var a = e.props.matchRanges;
763
- var l = !u && g && (C || t > 0) ? (0, m.keywordLocations)(r, w) || undefined : undefined;
766
+ var l = !u && S && (w || t > 0) ? (0, m.keywordLocations)(r, j) || undefined : undefined;
764
767
  if (o) {
765
- i.activeValue = e.props.value;
768
+ if (!e.props.disabled) {
769
+ i.activeValue = e.props.value;
770
+ }
766
771
 
767
772
  return (0, n.cloneElement)(e, {
768
773
  ref: i.handleActiveOptionMount,
@@ -778,18 +783,25 @@
778
783
  matchRanges: a || l
779
784
  });
780
785
  }));
781
- var k = de({
786
+ var x = de({
782
787
  anchorWidth: t,
783
788
  maxHeight: r,
784
789
  menuStyle: f
785
790
  });
786
-
787
- return o().createElement(P(), J({
788
- style: k,
791
+ var R = Z({
792
+ style: x,
789
793
  controlledExternally: true,
790
794
  onScrollBottom: p ? i.handleScrollBottom : undefined,
791
795
  isLoading: s
792
- }, h()(i.props, "className", "noOptionsMessage", "footerMessage", "animateLoading", "loadingMessage", "onScroll")), i.options);
796
+ }, h()(i.props, "className", "noOptionsMessage", "footerMessage", "animateLoading", "loadingMessage", "onScroll"));
797
+ if (d) {
798
+
799
+ return o().createElement(k.VirtualizedResultsMenu, J({
800
+ virtualization: d
801
+ }, R), i.options);
802
+ }
803
+
804
+ return o().createElement(P(), R, i.options);
793
805
  }));
794
806
  i.state = {
795
807
  activeIndex: 0,