@splunk/react-ui 4.32.0 → 4.34.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 (80) hide show
  1. package/Button.js +59 -65
  2. package/ButtonGroup.js +20 -23
  3. package/ButtonSimple.js +374 -339
  4. package/CHANGELOG.md +54 -0
  5. package/Card.js +56 -44
  6. package/Chip.js +2 -6
  7. package/Clickable.js +21 -19
  8. package/CollapsiblePanel.js +281 -264
  9. package/Color.js +88 -86
  10. package/Concertina.js +7 -7
  11. package/ControlGroup.js +18 -18
  12. package/DualListbox.js +8 -11
  13. package/File.js +25 -30
  14. package/FormRows.js +232 -210
  15. package/Image.js +13 -13
  16. package/JSONTree.js +22 -22
  17. package/MIGRATION.mdx +99 -0
  18. package/Markdown.js +12 -12
  19. package/Menu.js +505 -719
  20. package/Message.js +205 -204
  21. package/MessageBar.js +104 -104
  22. package/Modal.js +158 -133
  23. package/Multiselect.js +81 -70
  24. package/Paginator.js +8 -8
  25. package/Popover.js +53 -54
  26. package/Progress.js +45 -46
  27. package/RadioBar.js +117 -115
  28. package/RadioList.js +8 -5
  29. package/ResultsMenu.js +256 -261
  30. package/Search.js +21 -24
  31. package/Select.js +265 -246
  32. package/Slider.js +9 -9
  33. package/SplitButton.js +1 -4
  34. package/StaticContent.js +1 -1
  35. package/StepBar.js +1 -1
  36. package/Switch.js +169 -171
  37. package/TabBar.js +14 -6
  38. package/Table.js +65 -67
  39. package/Text.js +30 -37
  40. package/TextArea.js +162 -163
  41. package/Tooltip.js +1 -1
  42. package/package.json +9 -9
  43. package/stubs-splunkui.d.ts +11 -0
  44. package/types/src/Button/Button.d.ts +4 -4
  45. package/types/src/ButtonSimple/ButtonSimple.d.ts +8 -6
  46. package/types/src/ButtonSimple/mixin.d.ts +2 -2
  47. package/types/src/Card/Card.d.ts +3 -1
  48. package/types/src/Card/Header.d.ts +22 -3
  49. package/types/src/Clickable/Clickable.d.ts +3 -2
  50. package/types/src/CollapsiblePanel/CollapsiblePanel.d.ts +5 -0
  51. package/types/src/CollapsiblePanel/icons/ExpandPanel.d.ts +1 -3
  52. package/types/src/Date/Date.d.ts +2 -2
  53. package/types/src/Menu/Item.d.ts +3 -1
  54. package/types/src/Menu/Menu.d.ts +16 -21
  55. package/types/src/Menu/MenuContext.d.ts +3 -2
  56. package/types/src/Number/Number.d.ts +2 -2
  57. package/types/src/RadioBar/Option.d.ts +4 -1
  58. package/types/src/RadioBar/RadioBar.d.ts +6 -4
  59. package/types/src/RadioBar/docs/examples/MenuBar.d.ts +2 -0
  60. package/types/src/ResultsMenu/ResultsMenu.d.ts +5 -22
  61. package/types/src/Select/Select.d.ts +8 -4
  62. package/types/src/Select/SelectBase.d.ts +8 -4
  63. package/types/src/Slider/Slider.d.ts +2 -2
  64. package/types/src/Table/Body.d.ts +0 -4
  65. package/types/src/Text/docs/examples/Basic.d.ts +1 -9
  66. package/types/src/Text/docs/examples/Error.d.ts +2 -10
  67. package/types/src/Text/docs/examples/Inline.d.ts +1 -9
  68. package/types/src/Text/docs/examples/Multiline.d.ts +1 -9
  69. package/types/src/Text/docs/examples/Password.d.ts +1 -9
  70. package/types/src/Text/docs/examples/Search.d.ts +1 -9
  71. package/useRovingFocus.js +26 -40
  72. package/types/src/Button/docs/examples/prisma/Basic.d.ts +0 -2
  73. package/types/src/Button/docs/examples/prisma/Block.d.ts +0 -2
  74. package/types/src/Button/docs/examples/prisma/Disabled.d.ts +0 -2
  75. package/types/src/Button/docs/examples/prisma/Icons.d.ts +0 -2
  76. package/types/src/Button/docs/examples/prisma/Menus.d.ts +0 -2
  77. package/types/src/Button/docs/examples/prisma/To.d.ts +0 -2
  78. package/types/src/Button/docs/examples/prisma/Truncated.d.ts +0 -2
  79. package/types/src/Select/docs/examples/prisma/Appearance.d.ts +0 -14
  80. /package/types/src/{Button/docs/examples/prisma → Clickable/docs/examples}/Dimmed.d.ts +0 -0
package/Image.js CHANGED
@@ -61,7 +61,7 @@
61
61
  e.r(r);
62
62
  // EXPORTS
63
63
  e.d(r, {
64
- default: () => /* reexport */ X
64
+ default: () => /* reexport */ V
65
65
  });
66
66
  // CONCATENATED MODULE: external "react"
67
67
  const t = require("react");
@@ -194,7 +194,7 @@
194
194
  displayName: "ImageStyles__StyledErrorMessage",
195
195
  componentId: "sc-16ooypp-5"
196
196
  })([ "margin-top:", ";" ], (0, b.pick)({
197
- enterprise: b.variables.spacingQuarter,
197
+ enterprise: b.variables.spacingXSmall,
198
198
  prisma: "12px"
199
199
  }));
200
200
  // CONCATENATED MODULE: ./src/Image/Image.tsx
@@ -265,7 +265,7 @@
265
265
  return L(e, r);
266
266
  }
267
267
  function B(e) {
268
- var r = W();
268
+ var r = X();
269
269
  return function t() {
270
270
  var a = z(e), o;
271
271
  if (r) {
@@ -281,15 +281,15 @@
281
281
  if (r && (F(r) === "object" || typeof r === "function")) {
282
282
  return r;
283
283
  }
284
- return Q(e);
284
+ return W(e);
285
285
  }
286
- function Q(e) {
286
+ function W(e) {
287
287
  if (e === void 0) {
288
288
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
289
289
  }
290
290
  return e;
291
291
  }
292
- function W() {
292
+ function X() {
293
293
  if (typeof Reflect === "undefined" || !Reflect.construct) return false;
294
294
  if (Reflect.construct.sham) return false;
295
295
  if (typeof Proxy === "function") return true;
@@ -339,7 +339,7 @@
339
339
  };
340
340
  /**
341
341
  * Image provides the ability to accept image files and present a preview of the image.
342
- */ var V = function(e) {
342
+ */ var Q = function(e) {
343
343
  N(t, e);
344
344
  var r = B(t);
345
345
  M(t, null, [ {
@@ -355,8 +355,8 @@
355
355
  var a;
356
356
  H(this, t);
357
357
  a = r.call(this, e);
358
- G(Q(a), "fileReader", void 0);
359
- G(Q(a), "handleAddFiles", (function(e) {
358
+ G(W(a), "fileReader", void 0);
359
+ G(W(a), "handleAddFiles", (function(e) {
360
360
  if (e.length > 0) {
361
361
  var r = e[0];
362
362
  if (a.fileReader.readyState === 1) {
@@ -376,7 +376,7 @@
376
376
  a.fileReader.readAsDataURL(r);
377
377
  }
378
378
  }));
379
- G(Q(a), "handleRemoveFile", (function() {
379
+ G(W(a), "handleRemoveFile", (function() {
380
380
  var e, r;
381
381
  if (a.fileReader.readyState === 1) {
382
382
  a.fileReader.abort();
@@ -443,9 +443,9 @@
443
443
  } ]);
444
444
  return t;
445
445
  }(t.Component);
446
- G(V, "propTypes", J);
447
- G(V, "defaultProps", K);
448
- /* harmony default export */ const X = V;
446
+ G(Q, "propTypes", J);
447
+ G(Q, "defaultProps", K);
448
+ /* harmony default export */ const V = Q;
449
449
  // CONCATENATED MODULE: ./src/Image/index.ts
450
450
  module.exports = r;
451
451
  /******/})();
package/JSONTree.js CHANGED
@@ -168,10 +168,10 @@
168
168
  N(r);
169
169
  v === null || v === void 0 ? void 0 : v(r, n);
170
170
  };
171
- var B = function e(n) {
171
+ var U = function e(n) {
172
172
  j === null || j === void 0 ? void 0 : j(n, r);
173
173
  };
174
- var U = function e(r) {
174
+ var B = function e(r) {
175
175
  var n;
176
176
  r.stopPropagation();
177
177
  F === null || F === void 0 ? void 0 : (n = F.current) === null || n === void 0 ? void 0 : n.focus();
@@ -210,7 +210,7 @@
210
210
  onClick: function e(r) {
211
211
  var n, t;
212
212
  J(!_, r);
213
- B(r);
213
+ U(r);
214
214
  (n = (t = S.props).onClick) === null || n === void 0 ? void 0 : n.call(t, r);
215
215
  },
216
216
  "aria-expanded": _
@@ -221,7 +221,7 @@
221
221
  ref: M,
222
222
  tabIndex: q,
223
223
  onBlur: H,
224
- onFocus: U,
224
+ onFocus: B,
225
225
  onKeyDown: z,
226
226
  role: "treeitem",
227
227
  "aria-labelledby": u,
@@ -230,7 +230,7 @@
230
230
  ref: F,
231
231
  tabIndex: -1,
232
232
  onFocus: X,
233
- onClick: B
233
+ onClick: U
234
234
  }, o().createElement(s, null, a), W(), !_ && l), _ && o().createElement(o().Fragment, null, o().createElement(y, {
235
235
  role: "group",
236
236
  $defaultIndent: C
@@ -398,7 +398,7 @@
398
398
  function J(e) {
399
399
  return _(e, "0");
400
400
  }
401
- function B(e) {
401
+ function U(e) {
402
402
  var r = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "0";
403
403
  var n = _(e, r);
404
404
  var t = r;
@@ -417,11 +417,11 @@
417
417
  }
418
418
  // continue to find its last child recursively
419
419
  t = "".concat(t, "-0");
420
- return B(e, t);
420
+ return U(e, t);
421
421
  }
422
422
  // CONCATENATED MODULE: ./src/Tree/Tree.tsx
423
- function U() {
424
- U = Object.assign || function(e) {
423
+ function B() {
424
+ B = Object.assign || function(e) {
425
425
  for (var r = 1; r < arguments.length; r++) {
426
426
  var n = arguments[r];
427
427
  for (var t in n) {
@@ -432,7 +432,7 @@
432
432
  }
433
433
  return e;
434
434
  };
435
- return U.apply(this, arguments);
435
+ return B.apply(this, arguments);
436
436
  }
437
437
  function H(e, r) {
438
438
  return Q(e) || G(e, r) || z(e, r) || X();
@@ -555,7 +555,7 @@
555
555
 
556
556
  case "end":
557
557
  r.preventDefault();
558
- v(B(s));
558
+ v(U(s));
559
559
  break;
560
560
 
561
561
  default:
@@ -589,7 +589,7 @@
589
589
  itemPaths: s,
590
590
  focusedItemId: d
591
591
  }
592
- }, o().createElement(y, U({
592
+ }, o().createElement(y, B({
593
593
  role: "tree",
594
594
  $defaultIndent: a
595
595
  }, i), r));
@@ -722,9 +722,9 @@
722
722
  // EXTERNAL MODULE: external "@splunk/themes"
723
723
  var f = n(3563);
724
724
  // CONCATENATED MODULE: ./src/JSONTree/JSONTreeStyles.ts
725
- var d = (0, u.css)([ "", ";", ";&:focus-within{border:", ";}" ], f.mixins.reset("block"), f.mixins.typography({
725
+ var d = (0, u.css)([ "", ";", ";" ], f.mixins.reset("block"), f.mixins.typography({
726
726
  family: "monospace"
727
- }), f.variables.activeBorder);
727
+ }));
728
728
  var v = c().code.withConfig({
729
729
  displayName: "JSONTreeStyles__StyledScrollCode",
730
730
  componentId: "vrdt21-0"
@@ -916,8 +916,8 @@
916
916
  const $ = require("@splunk/react-ui/Clickable");
917
917
  var J = n.n($);
918
918
  // CONCATENATED MODULE: external "@splunk/react-ui/Tooltip"
919
- const B = require("@splunk/react-ui/Tooltip");
920
- var U = n.n(B);
919
+ const U = require("@splunk/react-ui/Tooltip");
920
+ var B = n.n(U);
921
921
  // CONCATENATED MODULE: ./src/JSONTree/JSONTreeItemStyles.ts
922
922
  var H = {
923
923
  string: f.variables.syntaxTeal,
@@ -980,7 +980,7 @@
980
980
  }), f.variables.focusShadowInset, (0, f.pick)({
981
981
  prisma: (0, u.css)([ "border-radius:", ";" ], f.variables.borderRadius)
982
982
  }));
983
- var ee = c()(U()).withConfig({
983
+ var ee = c()(B()).withConfig({
984
984
  displayName: "JSONTreeItemStyles__StyledTooltip",
985
985
  componentId: "o558h3-5"
986
986
  })([ "font-family:", ";" ], f.variables.monoFontFamily);
@@ -1177,7 +1177,7 @@
1177
1177
  representation: u
1178
1178
  };
1179
1179
  };
1180
- var B = function n(t) {
1180
+ var U = function n(t) {
1181
1181
  var o = (0, e.useRef)(null);
1182
1182
  if (b) {
1183
1183
  return {
@@ -1200,7 +1200,7 @@
1200
1200
  };
1201
1201
  };
1202
1202
  if (O()(p) && !g()(p) || m()(p) && p.length > 0) {
1203
- var U = C()(p).map((function(e, n, t) {
1203
+ var B = C()(p).map((function(e, n, t) {
1204
1204
  var o = p[e];
1205
1205
  // TS: should be safe based on (recursive) JSONElement type
1206
1206
  var a = m()(p) ? parseInt(e, 10) : e;
@@ -1209,7 +1209,7 @@
1209
1209
  key: a,
1210
1210
  value: o
1211
1211
  }), u = l.representation, c = l.clickableValRef;
1212
- var f = !m()(p) ? B(a) : {
1212
+ var f = !m()(p) ? U(a) : {
1213
1213
  propertyElement: undefined,
1214
1214
  clickableKeyRef: undefined
1215
1215
  }, d = f.propertyElement, v = f.clickableKeyRef;
@@ -1247,10 +1247,10 @@
1247
1247
  value: p,
1248
1248
  index: 0,
1249
1249
  renderExpandLink: $,
1250
- representation: U
1250
+ representation: B
1251
1251
  });
1252
1252
  }
1253
- return U;
1253
+ return B;
1254
1254
  }
1255
1255
  // edge case: a single number/string/boolean being rendered (still valid JSON)
1256
1256
  var X = J({
package/MIGRATION.mdx CHANGED
@@ -5,6 +5,105 @@ import Table from '@splunk/react-ui/Table';
5
5
 
6
6
  This document lists migration guidance for new features and breaking changes.
7
7
 
8
+ ## 4.34.0
9
+
10
+ ### Deprecated `Select`'s `appearance` values of `"flat"`, `"pill"`, and `"toggle"`
11
+
12
+ #### Change
13
+
14
+ `Select`'s `appearance` prop's `"flat"`, `"pill"`, and `"toggle"` values are deprecated and will be removed in the next major version.
15
+
16
+ #### Context
17
+
18
+ The `"pill"` value for `appearance` was only supported in Enterprise theme, and the `"flat"` and `"toggle"` values were only supported in the Prisma theme.
19
+
20
+ As part of our effort to unify behaviors and APIs across themes, we are deprecating these appearances.
21
+
22
+ #### Migration steps
23
+
24
+ For Enterprise themes:
25
+ * the `"pill"` value can be replaced with `"subtle"` with no other changes.
26
+
27
+ For Prisma themes:
28
+ * the `"flat"` appearance can be replaced by `"secondary"` or `"subtle"` depending on the context in which it appears.
29
+ * the `"toggle"` appearance can be replaced with `"default"`.
30
+
31
+ ### Improved `Card.Header` accessibility when rendering actions
32
+
33
+ #### Change
34
+
35
+ * New `actions` prop to render card actions.
36
+ * Default to rendering the container element as an `article` tag instead of a `div`.
37
+ * New `tag` prop to control the HTML tag used for `Card`'s container element.
38
+
39
+ #### Context
40
+
41
+ Cards rendered the `secondaryActions` button with the same label -- "Actions".
42
+ This would create an ambiguous label (especially when multiple cards are rendered) which may be confusing non-visual users.
43
+
44
+ The new `actions` prop provides full control over the rendering of the actions to make sure the secondary actions button name can be made unique and not ambiguous for assistive technology users.
45
+
46
+ Cards used a `div` as the container element which did not provide any semantic grouping of the content.
47
+ The new `article` container element provides semantic clarity, improves accessibility, and future-proofs the code, as it clearly denotes self-contained, independently distributable content, which `div` does not.
48
+
49
+ [MDN - Article Role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/article_role)
50
+
51
+ #### Migration steps
52
+
53
+ * Update `Card` to use the new `actions` prop instead of `secondaryActions` and add an unambiguous label for each action:
54
+
55
+ ```jsx
56
+ <Card.Header title="My widget" actions={() => <>}>
57
+ <HeaderActions>
58
+ <Button icon={<Star/>} aria-label="Favorite My widget" />
59
+ <Dropdown toggle={<ActionsSecondaryToggle content="More actions for My widget" />}>
60
+ {actionsSecondaryMenuOne}
61
+ </Dropdown>
62
+ </HeaderActions>
63
+ </Card.Header>
64
+ ```
65
+
66
+ ## 4.33.0
67
+
68
+ ### Deprecated `Button`'s `appearance` values of `"flat"`, `"pill"`, and `"toggle"`
69
+
70
+ #### Change
71
+
72
+ `Button`'s `appearance` prop's `"flat"`, `"pill"`, and `"toggle"` values are deprecated and will be removed in the next major version.
73
+
74
+ #### Context
75
+
76
+ The `"pill"` value for `appearance` was only supported in Enterprise themes, and the `"flat"` and `"toggle"` values were only supported in the Prisma themes.
77
+
78
+ As part of our effort to unify behaviors and APIs across themes, we are deprecating these appearances.
79
+
80
+ #### Migration steps
81
+
82
+ For Enterprise themes:
83
+ * the `"pill"` value can be replaced with `"subtle"` with no other changes.
84
+
85
+ For Prisma themes:
86
+ * the `"flat"` appearance can be replaced by `"secondary"` or `"subtle"` depending on the context in which it appears.
87
+ * the `"toggle"` appearance can be replaced with `"default"`.
88
+
89
+ ### Deprecated `CollapsiblePanel`'s `titleWithActions` prop
90
+
91
+ #### Change
92
+
93
+ `CollapsiblePanel`'s `titleWithActions` prop has been deprecated and will be removed in the next major version.
94
+
95
+ #### Context
96
+
97
+ Previously, `titleWithActions` prop allowed for customized interactive elements to be added directly to the `title` prop.
98
+ Now, a new `actions` prop is introduced to reserve the `title` prop for text only. The `actions` prop should contain all customized
99
+ interactive actions that were previously placed in the `title` prop. This ensures that the controls are not read as part of the label,
100
+ while still providing the necessary interactivity.
101
+
102
+ #### Migration steps
103
+
104
+ Remove `CollapsiblePanel`'s `titleWithActions` prop. Extract the actions/interactive elements from the `title` prop
105
+ and move them to the new `actions` prop.
106
+
8
107
  ## 4.30.0
9
108
 
10
109
  ### Deprecated `NavigationProvider`'s `prefix` prop
package/Markdown.js CHANGED
@@ -96,11 +96,11 @@
96
96
  var y = p().div.withConfig({
97
97
  displayName: "MarkdownStyles__StyledCodeBlock",
98
98
  componentId: "sc-1xadih-0"
99
- })([ "padding:", ";margin:", " 0;background-color:", ";" ], (0, d.pick)({
100
- enterprise: d.variables.spacingHalf,
101
- prisma: (0, s.css)([ "10px ", "" ], d.variables.spacingLarge)
99
+ })([ "", ";margin:", " 0;background-color:", ";" ], (0, d.pick)({
100
+ enterprise: (0, s.css)([ "padding:", ";" ], d.variables.spacingSmall),
101
+ prisma: (0, s.css)([ "padding:10px ", ";" ], d.variables.spacingLarge)
102
102
  }), (0, d.pick)({
103
- enterprise: d.variables.spacingHalf,
103
+ enterprise: d.variables.spacingSmall,
104
104
  prisma: d.variables.spacingLarge
105
105
  }), (0, d.pick)({
106
106
  enterprise: {
@@ -176,7 +176,7 @@
176
176
  // CONCATENATED MODULE: ./src/Markdown/renderers/MarkdownCode.tsx
177
177
  function w(e, r) {
178
178
  if (e == null) return {};
179
- var n = P(e, r);
179
+ var n = S(e, r);
180
180
  var t, o;
181
181
  if (Object.getOwnPropertySymbols) {
182
182
  var i = Object.getOwnPropertySymbols(e);
@@ -189,7 +189,7 @@
189
189
  }
190
190
  return n;
191
191
  }
192
- function P(e, r) {
192
+ function S(e, r) {
193
193
  if (e == null) return {};
194
194
  var n = {};
195
195
  var t = Object.keys(e);
@@ -201,7 +201,7 @@
201
201
  }
202
202
  return n;
203
203
  }
204
- var S = {
204
+ var P = {
205
205
  literal: i().string
206
206
  };
207
207
  function x(e) {
@@ -209,7 +209,7 @@
209
209
 
210
210
  return t().createElement(v, n, r);
211
211
  }
212
- x.propTypes = S;
212
+ x.propTypes = P;
213
213
  /* harmony default export */ const R = x;
214
214
  // CONCATENATED MODULE: external "@splunk/react-ui/Code"
215
215
  const E = require("@splunk/react-ui/Code");
@@ -596,7 +596,7 @@
596
596
  // CONCATENATED MODULE: ./src/Markdown/renderers/MarkdownItem.tsx
597
597
  function we(e, r) {
598
598
  if (e == null) return {};
599
- var n = Pe(e, r);
599
+ var n = Se(e, r);
600
600
  var t, o;
601
601
  if (Object.getOwnPropertySymbols) {
602
602
  var i = Object.getOwnPropertySymbols(e);
@@ -609,7 +609,7 @@
609
609
  }
610
610
  return n;
611
611
  }
612
- function Pe(e, r) {
612
+ function Se(e, r) {
613
613
  if (e == null) return {};
614
614
  var n = {};
615
615
  var t = Object.keys(e);
@@ -621,7 +621,7 @@
621
621
  }
622
622
  return n;
623
623
  }
624
- var Se = {
624
+ var Pe = {
625
625
  children: i().node
626
626
  };
627
627
  function xe(e) {
@@ -629,7 +629,7 @@
629
629
 
630
630
  return t().createElement(ve.Item, n, r);
631
631
  }
632
- xe.propTypes = Se;
632
+ xe.propTypes = Pe;
633
633
  /* harmony default export */ const Re = xe;
634
634
  // CONCATENATED MODULE: external "@splunk/react-ui/Paragraph"
635
635
  const Ee = require("@splunk/react-ui/Paragraph");