@splunk/react-ui 4.28.2 → 4.30.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 (204) hide show
  1. package/Accordion.js +1 -0
  2. package/CHANGELOG.md +42 -1
  3. package/Card.js +17 -17
  4. package/Chip.js +162 -153
  5. package/Clickable.js +107 -87
  6. package/Code.js +10 -22
  7. package/CollapsiblePanel.js +8 -8
  8. package/ComboBox.js +43 -38
  9. package/Date.js +6 -6
  10. package/DualListbox.js +1 -1
  11. package/Link.js +70 -68
  12. package/MIGRATION.mdx +141 -1
  13. package/Markdown.js +10 -9
  14. package/Menu.js +5 -5
  15. package/Message.js +160 -149
  16. package/Multiselect.js +52 -48
  17. package/Number.js +19 -18
  18. package/Paginator.js +390 -485
  19. package/RadioBar.js +43 -39
  20. package/ResultsMenu.js +14 -11
  21. package/Search.js +227 -220
  22. package/Select.js +77 -72
  23. package/StepBar.js +1 -1
  24. package/Table.js +2082 -1594
  25. package/Text.js +1 -0
  26. package/TextArea.d.ts +1 -1
  27. package/WaitSpinner.js +17 -16
  28. package/cypress/support/component.ts +2 -2
  29. package/package.json +22 -21
  30. package/test-runner-jest.config.js +1 -0
  31. package/types/src/Accordion/Accordion.d.ts +3 -7
  32. package/types/src/Accordion/Panel.d.ts +2 -2
  33. package/types/src/Anchor/Anchor.d.ts +1 -1
  34. package/types/src/AnimationToggle/AnimationToggle.d.ts +3 -3
  35. package/types/src/Box/Box.d.ts +1 -1
  36. package/types/src/Breadcrumbs/Breadcrumbs.d.ts +4 -4
  37. package/types/src/Breadcrumbs/Item.d.ts +1 -1
  38. package/types/src/Button/Button.d.ts +5 -5
  39. package/types/src/ButtonGroup/ButtonGroup.d.ts +1 -1
  40. package/types/src/ButtonSimple/ButtonSimple.d.ts +10 -10
  41. package/types/src/Calendar/Calendar.d.ts +3 -3
  42. package/types/src/Calendar/DateTable.d.ts +2 -2
  43. package/types/src/Calendar/Day.d.ts +3 -3
  44. package/types/src/Calendar/MonthHeader.d.ts +6 -6
  45. package/types/src/Card/Body.d.ts +1 -1
  46. package/types/src/Card/Card.d.ts +6 -6
  47. package/types/src/Card/Footer.d.ts +1 -1
  48. package/types/src/Card/Header.d.ts +1 -1
  49. package/types/src/CardLayout/CardLayout.d.ts +4 -4
  50. package/types/src/Chip/Chip.d.ts +5 -5
  51. package/types/src/Chip/docs/examples/RemovableWithNonStringChildren.d.ts +2 -0
  52. package/types/src/Clickable/Clickable.d.ts +12 -4
  53. package/types/src/Clickable/NavigationProvider.d.ts +26 -5
  54. package/types/src/CloseButton/CloseButton.d.ts +1 -1
  55. package/types/src/Code/Code.d.ts +2 -2
  56. package/types/src/CollapsiblePanel/CollapsiblePanel.d.ts +9 -5
  57. package/types/src/CollapsiblePanel/SingleOpenPanelGroup.d.ts +2 -2
  58. package/types/src/CollapsiblePanel/docs/examples/SingleOpenPanelGroupInset.d.ts +2 -0
  59. package/types/src/CollapsiblePanel/icons/ExpandPanel.d.ts +1 -1
  60. package/types/src/Color/Color.d.ts +8 -8
  61. package/types/src/Color/Swatch.d.ts +2 -2
  62. package/types/src/ColumnLayout/Column.d.ts +1 -1
  63. package/types/src/ColumnLayout/ColumnLayout.d.ts +1 -1
  64. package/types/src/ColumnLayout/Row.d.ts +1 -1
  65. package/types/src/ComboBox/ComboBox.d.ts +7 -6
  66. package/types/src/ComboBox/Option.d.ts +3 -3
  67. package/types/src/Concertina/Concertina.d.ts +2 -2
  68. package/types/src/Concertina/Heading.d.ts +3 -3
  69. package/types/src/Concertina/Panel.d.ts +4 -4
  70. package/types/src/Concertina/types.d.ts +1 -1
  71. package/types/src/ControlGroup/ControlGroup.d.ts +5 -5
  72. package/types/src/Date/Date.d.ts +10 -10
  73. package/types/src/DefinitionList/DefinitionList.d.ts +2 -2
  74. package/types/src/DefinitionList/Description.d.ts +1 -1
  75. package/types/src/DefinitionList/Term.d.ts +1 -1
  76. package/types/src/Divider/Divider.d.ts +1 -1
  77. package/types/src/Dropdown/Dropdown.d.ts +10 -10
  78. package/types/src/DualListbox/DualListbox.d.ts +4 -4
  79. package/types/src/DualListbox/DualListboxContext.d.ts +7 -7
  80. package/types/src/DualListbox/Label.d.ts +2 -2
  81. package/types/src/DualListbox/Listbox.d.ts +4 -4
  82. package/types/src/DualListbox/ListboxContext.d.ts +3 -3
  83. package/types/src/DualListbox/Option.d.ts +2 -2
  84. package/types/src/DualListbox/ToolbarButton.d.ts +3 -3
  85. package/types/src/DualListbox/ToolbarContext.d.ts +3 -3
  86. package/types/src/EventListener/EventListener.d.ts +1 -1
  87. package/types/src/File/File.d.ts +8 -8
  88. package/types/src/File/Item.d.ts +2 -2
  89. package/types/src/FormRows/FormRows.d.ts +6 -6
  90. package/types/src/FormRows/Row.d.ts +2 -2
  91. package/types/src/FormRows/RowInternal.d.ts +1 -1
  92. package/types/src/FormRows/SortableList.d.ts +1 -1
  93. package/types/src/FormRows/SortableRow.d.ts +3 -3
  94. package/types/src/Heading/Heading.d.ts +2 -2
  95. package/types/src/Image/Image.d.ts +2 -2
  96. package/types/src/JSONTree/JSONTree.d.ts +6 -6
  97. package/types/src/JSONTree/JSONTreeItem.d.ts +3 -3
  98. package/types/src/JSONTree/renderTreeItems.d.ts +1 -1
  99. package/types/src/Layer/Layer.d.ts +3 -3
  100. package/types/src/Link/Link.d.ts +4 -4
  101. package/types/src/List/Item.d.ts +1 -1
  102. package/types/src/List/List.d.ts +3 -3
  103. package/types/src/Markdown/Markdown.d.ts +19 -13
  104. package/types/src/Markdown/renderers/MarkdownAnchorHeading.d.ts +1 -1
  105. package/types/src/Markdown/renderers/MarkdownBlockquote.d.ts +1 -1
  106. package/types/src/Markdown/renderers/MarkdownCode.d.ts +1 -1
  107. package/types/src/Markdown/renderers/MarkdownCodeBlock.d.ts +1 -1
  108. package/types/src/Markdown/renderers/MarkdownHeading.d.ts +1 -1
  109. package/types/src/Markdown/renderers/MarkdownImage.d.ts +1 -1
  110. package/types/src/Markdown/renderers/MarkdownItem.d.ts +1 -1
  111. package/types/src/Markdown/renderers/MarkdownLink.d.ts +1 -1
  112. package/types/src/Markdown/renderers/MarkdownList.d.ts +3 -3
  113. package/types/src/Markdown/renderers/MarkdownParagraph.d.ts +1 -1
  114. package/types/src/Menu/Divider.d.ts +1 -1
  115. package/types/src/Menu/Heading.d.ts +1 -1
  116. package/types/src/Menu/Item.d.ts +10 -10
  117. package/types/src/Menu/Menu.d.ts +9 -9
  118. package/types/src/Message/Link.d.ts +3 -3
  119. package/types/src/Message/Message.d.ts +1 -1
  120. package/types/src/MessageBar/MessageBar.d.ts +2 -2
  121. package/types/src/MessageBar/docs/examples/Basic.d.ts +2 -0
  122. package/types/src/Modal/Body.d.ts +1 -1
  123. package/types/src/Modal/Footer.d.ts +1 -1
  124. package/types/src/Modal/Header.d.ts +1 -1
  125. package/types/src/Modal/Modal.d.ts +4 -4
  126. package/types/src/ModalLayer/ModalLayer.d.ts +3 -3
  127. package/types/src/Monogram/Monogram.d.ts +5 -5
  128. package/types/src/Multiselect/Compact.d.ts +2 -2
  129. package/types/src/Multiselect/Multiselect.d.ts +7 -7
  130. package/types/src/Multiselect/Normal.d.ts +2 -2
  131. package/types/src/Multiselect/Option.d.ts +3 -3
  132. package/types/src/Multiselect/docs/examples/Fetching.d.ts +1 -1
  133. package/types/src/Multiselect/docs/examples/LoadMoreOnScrollBottom.d.ts +1 -1
  134. package/types/src/Number/Number.d.ts +22 -22
  135. package/types/src/Paginator/Button.d.ts +15 -10
  136. package/types/src/Paginator/Compact.d.ts +4 -4
  137. package/types/src/Paginator/PageControl.d.ts +2 -2
  138. package/types/src/Paginator/PageSelect.d.ts +2 -2
  139. package/types/src/Paginator/Paginator.d.ts +2 -2
  140. package/types/src/Paragraph/Paragraph.d.ts +1 -1
  141. package/types/src/Popover/Popover.d.ts +11 -11
  142. package/types/src/Popover/PopoverHitArea.d.ts +1 -1
  143. package/types/src/Progress/Progress.d.ts +1 -1
  144. package/types/src/RadioBar/Option.d.ts +8 -4
  145. package/types/src/RadioBar/RadioBar.d.ts +8 -8
  146. package/types/src/RadioList/Option.d.ts +1 -1
  147. package/types/src/RadioList/RadioList.d.ts +3 -3
  148. package/types/src/Resize/Resize.d.ts +4 -4
  149. package/types/src/Resize/docs/examples/Basic.d.ts +2 -0
  150. package/types/src/ResultsMenu/ResultsMenu.d.ts +7 -5
  151. package/types/src/ResultsMenu/VirtualizedResultsMenu/VirtualizedItem.d.ts +1 -1
  152. package/types/src/ResultsMenu/VirtualizedResultsMenu/VirtualizedResultsMenu.d.ts +1 -1
  153. package/types/src/ResultsMenu/VirtualizedResultsMenu/injectVirtualizedItem.d.ts +2 -2
  154. package/types/src/ScreenReaderContent/ScreenReaderContent.d.ts +2 -2
  155. package/types/src/Scroll/Inner.d.ts +3 -3
  156. package/types/src/Scroll/Scroll.d.ts +2 -2
  157. package/types/src/Search/Option.d.ts +8 -8
  158. package/types/src/Search/Search.d.ts +4 -4
  159. package/types/src/Select/Option.d.ts +2 -2
  160. package/types/src/Select/OptionBase.d.ts +8 -8
  161. package/types/src/Select/Select.d.ts +5 -5
  162. package/types/src/Select/SelectAllOption.d.ts +1 -1
  163. package/types/src/Select/SelectBase.d.ts +9 -8
  164. package/types/src/SidePanel/SidePanel.d.ts +3 -3
  165. package/types/src/Slider/Slider.d.ts +8 -8
  166. package/types/src/SlidingPanels/Panel.d.ts +2 -2
  167. package/types/src/SlidingPanels/SlidingPanels.d.ts +2 -2
  168. package/types/src/SplitButton/Item.d.ts +2 -2
  169. package/types/src/SplitButton/SplitButton.d.ts +1 -1
  170. package/types/src/StaticContent/StaticContent.d.ts +1 -1
  171. package/types/src/StepBar/Step.d.ts +1 -1
  172. package/types/src/StepBar/StepBar.d.ts +1 -1
  173. package/types/src/Switch/Switch.d.ts +4 -8
  174. package/types/src/TabBar/Tab.d.ts +7 -8
  175. package/types/src/TabBar/TabBar.d.ts +5 -5
  176. package/types/src/TabLayout/Panel.d.ts +2 -2
  177. package/types/src/TabLayout/TabLayout.d.ts +3 -3
  178. package/types/src/Table/Body.d.ts +4 -8
  179. package/types/src/Table/Caption.d.ts +2 -2
  180. package/types/src/Table/Cell.d.ts +3 -3
  181. package/types/src/Table/DragHandle.d.ts +1 -1
  182. package/types/src/Table/Head.d.ts +6 -6
  183. package/types/src/Table/HeadCell.d.ts +9 -9
  184. package/types/src/Table/HeadDropdownCell.d.ts +11 -11
  185. package/types/src/Table/HeadInner.d.ts +5 -5
  186. package/types/src/Table/HeadTable.d.ts +2 -2
  187. package/types/src/Table/KeyboardSensor.d.ts +79 -0
  188. package/types/src/Table/Row.d.ts +12 -14
  189. package/types/src/Table/RowDragCell.d.ts +9 -40
  190. package/types/src/Table/Table.d.ts +12 -10
  191. package/types/src/Table/Toggle.d.ts +1 -1
  192. package/types/src/Table/docs/examples/FilterColumnValues.d.ts +1 -1
  193. package/types/src/Text/Text.d.ts +13 -11
  194. package/types/src/TextArea/TextArea.d.ts +10 -10
  195. package/types/src/Tooltip/Tooltip.d.ts +9 -9
  196. package/types/src/TransitionOpen/TransitionOpen.d.ts +2 -2
  197. package/types/src/Tree/Tree.d.ts +3 -3
  198. package/types/src/Tree/TreeItem.d.ts +4 -4
  199. package/types/src/Typography/Typography.d.ts +5 -5
  200. package/types/src/WaitSpinner/WaitSpinner.d.ts +2 -1
  201. package/types/src/fixtures/FetchOptions.d.ts +2 -2
  202. package/types/src/useKeyPress/index.d.ts +2 -2
  203. package/types/src/utils/types.d.ts +4 -4
  204. package/types/src/Resize/docs/examples/Typical.d.ts +0 -2
package/Clickable.js CHANGED
@@ -63,8 +63,9 @@
63
63
  e.d(t, {
64
64
  NavigationContext: () => /* reexport */ h,
65
65
  NavigationProvider: () => /* reexport */ m,
66
- default: () => /* reexport */ G,
67
- isInternalLink: () => /* reexport */ z
66
+ default: () => /* reexport */ F,
67
+ isInternalLink: () => /* reexport */ z,
68
+ isRootRelativeLink: () => /* reexport */ L
68
69
  });
69
70
  // CONCATENATED MODULE: external "react"
70
71
  const n = require("react");
@@ -76,10 +77,10 @@
76
77
  const l = require("lodash/has");
77
78
  // CONCATENATED MODULE: external "lodash/isString"
78
79
  const a = require("lodash/isString");
79
- var c = e.n(a);
80
+ var u = e.n(a);
80
81
  // CONCATENATED MODULE: external "lodash/omit"
81
- const u = require("lodash/omit");
82
- var f = e.n(u);
82
+ const c = require("lodash/omit");
83
+ var f = e.n(c);
83
84
  // CONCATENATED MODULE: external "@splunk/react-ui/Dropdown"
84
85
  const s = require("@splunk/react-ui/Dropdown");
85
86
  // CONCATENATED MODULE: external "styled-components"
@@ -88,33 +89,49 @@
88
89
  // CONCATENATED MODULE: external "@splunk/themes"
89
90
  const b = require("@splunk/themes");
90
91
  // CONCATENATED MODULE: ./src/Clickable/ClickableStyles.ts
91
- var y = d().a.withConfig({
92
+ var v = d().a.withConfig({
92
93
  displayName: "ClickableStyles__StyledA",
93
94
  componentId: "sc-7al1vw-0"
94
95
  })([ "", " cursor:pointer;&[disabled],&[aria-disabled='true']{color:", ";}&::-moz-focus-inner{border:0;padding:0;}" ], b.mixins.reset("inline"), b.variables.contentColorDisabled);
95
96
  // CONCATENATED MODULE: ./src/Clickable/NavigationProvider.tsx
96
97
  /** @public */
97
- var v = {
98
+ var y = {
98
99
  children: i().node,
99
100
  onClick: i().func,
100
- prefix: i().string
101
+ prefix: i().string,
102
+ transformUrl: i().func
101
103
  };
102
104
  var h = r().createContext({});
103
105
  /**
104
106
  * Used to provide an override for the `onClick` for links for single page applications so that
105
107
  * internal links can navigate without a page reload.
106
108
  */ function m(e) {
107
- var t = e.children, n = e.onClick, o = e.prefix;
109
+ var t = e.children, o = e.onClick, i = e.prefix, l = e.transformUrl;
108
110
  // @docs-props-type NavigationProviderProps
109
-
110
- return r().createElement(h.Provider, {
111
- value: {
112
- onClick: n,
113
- prefix: o
111
+ var a = (0, n.useMemo)((function() {
112
+ var e;
113
+ if (l != null) {
114
+ if (false) {}
115
+ e = l;
116
+ } else if (i != null) {
117
+ if (false) {}
118
+ e = function e() {
119
+ var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
120
+ var n = arguments.length > 1 ? arguments[1] : undefined, r = n.isInternal, o = n.isRootRelative;
121
+ return i != null && r && o ? "".concat(i).concat(t) : t;
122
+ };
114
123
  }
124
+ return {
125
+ onClick: o,
126
+ transformUrl: e
127
+ };
128
+ }), [ o, i, l ]);
129
+
130
+ return r().createElement(h.Provider, {
131
+ value: a
115
132
  }, t);
116
133
  }
117
- m.propTypes = v;
134
+ m.propTypes = y;
118
135
  // CONCATENATED MODULE: ./src/utils/updateReactRef.ts
119
136
  /**
120
137
  * Updates a React ref. Callback refs and object refs (from `createRef` and `useRef`) are supported.
@@ -135,21 +152,21 @@
135
152
  }
136
153
  }
137
154
  // CONCATENATED MODULE: ./src/Clickable/Clickable.tsx
138
- function O(e) {
155
+ function k(e) {
139
156
  "@babel/helpers - typeof";
140
157
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
141
- O = function e(t) {
158
+ k = function e(t) {
142
159
  return typeof t;
143
160
  };
144
161
  } else {
145
- O = function e(t) {
162
+ k = function e(t) {
146
163
  return t && typeof Symbol === "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
147
164
  };
148
165
  }
149
- return O(e);
166
+ return k(e);
150
167
  }
151
- function k() {
152
- k = Object.assign || function(e) {
168
+ function O() {
169
+ O = Object.assign || function(e) {
153
170
  for (var t = 1; t < arguments.length; t++) {
154
171
  var n = arguments[t];
155
172
  for (var r in n) {
@@ -160,7 +177,7 @@
160
177
  }
161
178
  return e;
162
179
  };
163
- return k.apply(this, arguments);
180
+ return O.apply(this, arguments);
164
181
  }
165
182
  function C(e, t) {
166
183
  if (e == null) return {};
@@ -203,12 +220,12 @@
203
220
  Object.defineProperty(e, r.key, r);
204
221
  }
205
222
  }
206
- function P(e, t, n) {
223
+ function R(e, t, n) {
207
224
  if (t) j(e.prototype, t);
208
225
  if (n) j(e, n);
209
226
  return e;
210
227
  }
211
- function S(e, t) {
228
+ function P(e, t) {
212
229
  if (typeof t !== "function" && t !== null) {
213
230
  throw new TypeError("Super expression must either be null or a function");
214
231
  }
@@ -219,21 +236,21 @@
219
236
  configurable: true
220
237
  }
221
238
  });
222
- if (t) _(e, t);
239
+ if (t) S(e, t);
223
240
  }
224
- function _(e, t) {
225
- _ = Object.setPrototypeOf || function e(t, n) {
241
+ function S(e, t) {
242
+ S = Object.setPrototypeOf || function e(t, n) {
226
243
  t.__proto__ = n;
227
244
  return t;
228
245
  };
229
- return _(e, t);
246
+ return S(e, t);
230
247
  }
231
- function R(e) {
232
- var t = T();
248
+ function _(e) {
249
+ var t = N();
233
250
  return function n() {
234
- var r = q(e), o;
251
+ var r = M(e), o;
235
252
  if (t) {
236
- var i = q(this).constructor;
253
+ var i = M(this).constructor;
237
254
  o = Reflect.construct(r, arguments, i);
238
255
  } else {
239
256
  o = r.apply(this, arguments);
@@ -242,18 +259,18 @@
242
259
  };
243
260
  }
244
261
  function I(e, t) {
245
- if (t && (O(t) === "object" || typeof t === "function")) {
262
+ if (t && (k(t) === "object" || typeof t === "function")) {
246
263
  return t;
247
264
  }
248
- return N(e);
265
+ return T(e);
249
266
  }
250
- function N(e) {
267
+ function T(e) {
251
268
  if (e === void 0) {
252
269
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
253
270
  }
254
271
  return e;
255
272
  }
256
- function T() {
273
+ function N() {
257
274
  if (typeof Reflect === "undefined" || !Reflect.construct) return false;
258
275
  if (Reflect.construct.sham) return false;
259
276
  if (typeof Proxy === "function") return true;
@@ -264,13 +281,13 @@
264
281
  return false;
265
282
  }
266
283
  }
267
- function q(e) {
268
- q = Object.setPrototypeOf ? Object.getPrototypeOf : function e(t) {
284
+ function M(e) {
285
+ M = Object.setPrototypeOf ? Object.getPrototypeOf : function e(t) {
269
286
  return t.__proto__ || Object.getPrototypeOf(t);
270
287
  };
271
- return q(e);
288
+ return M(e);
272
289
  }
273
- function E(e, t, n) {
290
+ function q(e, t, n) {
274
291
  if (t in e) {
275
292
  Object.defineProperty(e, t, {
276
293
  value: n,
@@ -283,11 +300,14 @@
283
300
  }
284
301
  return e;
285
302
  }
286
- var M = /^[a-z0-9]+:/;
287
- var D = /^\/\//;
288
- var L = /^\//;
303
+ var E = /^[a-z0-9]+:/;
304
+ var U = /^\/\//;
305
+ var D = /^\//;
306
+ var L = function e(t) {
307
+ return t != null && D.test(t);
308
+ };
289
309
  var z = function e(t) {
290
- return t != null && !M.test(t) && !D.test(t);
310
+ return t != null && !E.test(t) && !U.test(t);
291
311
  };
292
312
  var H = {
293
313
  /** @private */
@@ -307,30 +327,24 @@
307
327
  function A(e) {
308
328
  return !!e.to && !e.disabled;
309
329
  }
310
- function B(e, t) {
311
- if (t != null && z(e) && L.test(e)) {
312
- return "".concat(t).concat(e);
313
- }
314
- return e;
315
- }
316
330
  /**
317
331
  * `Clickable` renders as a `button` element, or as an `a` element if the `to` prop is set
318
332
  * and the `disabled` prop is `false`. This is called link mode.
319
- */ var F = function(e) {
320
- S(n, e);
321
- var t = R(n);
333
+ */ var B = function(e) {
334
+ P(n, e);
335
+ var t = _(n);
322
336
  // @docs-props-type ClickablePropsBase
323
337
  // should use ClickablePropsBase but fails on refs - observe
324
338
  function n(e) {
325
339
  var r;
326
340
  x(this, n);
327
341
  r = t.call(this, e);
328
- E(N(r), "el", null);
329
- E(N(r), "handleMount", (function(e) {
342
+ q(T(r), "el", null);
343
+ q(T(r), "handleMount", (function(e) {
330
344
  r.el = e;
331
345
  g(r.props.elementRef, e);
332
346
  }));
333
- E(N(r), "createHandleOnClick", (function(e) {
347
+ q(T(r), "createHandleOnClick", (function(e) {
334
348
  return function(t) {
335
349
  if (A(r.props)) {
336
350
  // when user command-click on mac or ctrl-click on other platforms, and
@@ -346,24 +360,30 @@
346
360
  if (r.props.onClick) {
347
361
  r.props.onClick(t);
348
362
  } else if (A(r.props) && e) {
349
- var n = r.context.prefix;
350
- var o = r.props.navigationLabel;
351
- if (!o && c()(r.props.children)) {
352
- o = r.props.children;
363
+ var n = r.props.navigationLabel;
364
+ if (!n && u()(r.props.children)) {
365
+ n = r.props.children;
353
366
  }
354
367
  e(t, {
355
- to: B(r.props.to, n),
368
+ to: r.getTransformedUrl(r.props.to),
356
369
  originalTo: r.props.to,
357
370
  openInNewContext: r.props.openInNewContext,
358
- label: o
371
+ label: n
359
372
  });
360
373
  }
361
374
  };
362
375
  }));
376
+ q(T(r), "getTransformedUrl", (function(e) {
377
+ var t = r.context.transformUrl;
378
+ return t != null ? t(e, {
379
+ isInternal: z(e),
380
+ isRootRelative: L(e)
381
+ }) : e;
382
+ }));
363
383
  if (false) {}
364
384
  return r;
365
385
  }
366
- P(n, [ {
386
+ R(n, [ {
367
387
  key: "focus",
368
388
  /**
369
389
  * Place focus on the element.
@@ -375,54 +395,54 @@
375
395
  }, {
376
396
  key: "render",
377
397
  value: function e() {
378
- var t = this.context, n = t.onClick, o = t.prefix;
379
- var i = this.createHandleOnClick(n);
398
+ var t = this.context.onClick;
399
+ var n = this.createHandleOnClick(t);
380
400
  // Only set the href attribute when enabled, and therefore using an <a> tag
381
401
  if (A(this.props)) {
382
- var l = this.props, a = l.children, c = l.openInNewContext, u = l.to, s = C(l, [ "children", "openInNewContext", "to" ]);
383
- var p = c ? "_blank" : undefined;
384
- var d = c && z(u) ? "noopener noreferrer" : undefined;
402
+ var o = this.props, i = o.children, l = o.openInNewContext, a = o.to, u = C(o, [ "children", "openInNewContext", "to" ]);
403
+ var c = l ? "_blank" : undefined;
404
+ var s = l && z(a) ? "noopener noreferrer" : undefined;
385
405
 
386
- return r().createElement(y, k({
406
+ return r().createElement(v, O({
387
407
  "data-test": "clickable",
388
408
  ref: this.handleMount,
389
- href: B(this.props.to, o),
390
- target: p,
391
- rel: d,
392
- onClick: i
393
- }, f()(s, "disabled", "elementRef", "onClick")), a);
409
+ href: this.getTransformedUrl(this.props.to),
410
+ target: c,
411
+ rel: s,
412
+ onClick: n
413
+ }, f()(u, "disabled", "elementRef", "onClick")), i);
394
414
  }
395
415
  if (this.props.allowDisabledLink) {
396
- var b = this.props, v = b.children, h = C(b, [ "children" ]);
416
+ var p = this.props, d = p.children, b = C(p, [ "children" ]);
397
417
  if (this.props.disabled && this.props.to != null) {
398
418
 
399
- return r().createElement(y, k({
419
+ return r().createElement(v, O({
400
420
  "data-test": "clickable",
401
421
  ref: this.handleMount,
402
422
  role: "link",
403
423
  "aria-disabled": "true"
404
- }, f()(h, "href", "to", "elementRef", "onClick", "disabled")), v);
424
+ }, f()(b, "href", "to", "elementRef", "onClick", "disabled")), d);
405
425
  }
406
426
  }
407
427
  // button variant
408
- var m = this.props, g = m.children, O = m.type, w = C(m, [ "children", "type" ]);
428
+ var y = this.props, h = y.children, m = y.type, g = C(y, [ "children", "type" ]);
409
429
 
410
- return r().createElement(y, k({
430
+ return r().createElement(v, O({
411
431
  as: "button",
412
432
  "data-test": "clickable",
413
433
  ref: this.handleMount,
414
- type: O || "button",
415
- onClick: i
416
- }, f()(w, "elementRef", "onClick", "openInNewContext", "to")), g);
434
+ type: m || "button",
435
+ onClick: n
436
+ }, f()(g, "elementRef", "onClick", "openInNewContext", "to")), h);
417
437
  }
418
438
  } ]);
419
439
  return n;
420
440
  }(n.Component);
421
- E(F, "contextType", h);
422
- E(F, "propTypes", H);
423
- E(F, "defaultProps", K);
424
- E(F, s.legacyRefMode, true);
425
- /* harmony default export */ const G = F;
441
+ q(B, "contextType", h);
442
+ q(B, "propTypes", H);
443
+ q(B, "defaultProps", K);
444
+ q(B, s.legacyRefMode, true);
445
+ /* harmony default export */ const F = B;
426
446
  // CONCATENATED MODULE: ./src/Clickable/index.ts
427
447
  module.exports = t;
428
448
  /******/})();
package/Code.js CHANGED
@@ -920,14 +920,14 @@
920
920
  // at least one Token object was removed, so we have to do some rematching
921
921
  // this can only happen if the current pattern is greedy
922
922
  /** @type {RematchOptions} */
923
- var L = {
923
+ var j = {
924
924
  cause: d + "," + f,
925
925
  reach: N
926
926
  };
927
- l(e, t, a, S.prev, A, L);
927
+ l(e, t, a, S.prev, A, j);
928
928
  // the reach might have been extended because of the rematching
929
- if (u && L.reach > u.reach) {
930
- u.reach = L.reach;
929
+ if (u && j.reach > u.reach) {
930
+ u.reach = j.reach;
931
931
  }
932
932
  }
933
933
  }
@@ -2114,7 +2114,7 @@
2114
2114
  a.r(n);
2115
2115
  // EXPORTS
2116
2116
  a.d(n, {
2117
- default: () => /* reexport */ j
2117
+ default: () => /* reexport */ L
2118
2118
  });
2119
2119
  // CONCATENATED MODULE: external "react"
2120
2120
  const e = require("react");
@@ -2187,20 +2187,8 @@
2187
2187
  light: k.variables.syntaxGreen
2188
2188
  }
2189
2189
  });
2190
- var _ = (0, k.pick)({
2191
- prisma: k.variables.syntaxBlue,
2192
- enterprise: {
2193
- dark: k.variables.syntaxBlueLight,
2194
- light: k.variables.syntaxBlue
2195
- }
2196
- });
2197
- var O = (0, k.pick)({
2198
- prisma: k.variables.syntaxRed,
2199
- enterprise: {
2200
- dark: k.variables.syntaxRedLight,
2201
- light: k.variables.syntaxRed
2202
- }
2203
- });
2190
+ var _ = k.variables.syntaxBlue;
2191
+ var O = k.variables.syntaxRed;
2204
2192
  var T = {
2205
2193
  comment: F,
2206
2194
  prolog: F,
@@ -2309,7 +2297,7 @@
2309
2297
  showIndentGuide: s().bool,
2310
2298
  value: s().string
2311
2299
  };
2312
- function L(e) {
2300
+ function j(e) {
2313
2301
  var a = e.elementRef, n = e.indentChars, r = n === void 0 ? 4 : n, s = e.language, i = e.languageFallback, l = i === void 0 ? "javascript" : i, c = e.showIndentGuide, d = c === void 0 ? true : c, f = e.value, h = f === void 0 ? "" : f, v = R(e, [ "elementRef", "indentChars", "language", "languageFallback", "showIndentGuide", "value" ]);
2314
2302
  // @docs-props-type CodePropsBase
2315
2303
  var b = g()(" ", r);
@@ -2374,8 +2362,8 @@
2374
2362
  className: "language-".concat(F)
2375
2363
  }, _));
2376
2364
  }
2377
- L.propTypes = D;
2378
- /* harmony default export */ const j = L;
2365
+ j.propTypes = D;
2366
+ /* harmony default export */ const L = j;
2379
2367
  }) // CONCATENATED MODULE: ./src/Code/index.ts
2380
2368
  ();
2381
2369
  module.exports = n;
@@ -721,10 +721,15 @@
721
721
  if (false) {}
722
722
  if (false) {}
723
723
  }
724
- }, {
724
+ /**
725
+ * SingleOpenPanelGroup already takes into account if it is controlled or not in determining openPanelId
726
+ * so this.context.openPanelId is used for both the controlled and uncontrolled case.
727
+ */ }, {
725
728
  key: "isOpen",
726
729
  value: function e() {
727
- return this.isControlled() ? this.props.open : this.state.open;
730
+ var e = this.isControlled() ? this.props.open : this.state.open;
731
+ var t = this.context.openPanelId !== undefined ? this.context.openPanelId === this.props.panelId : e;
732
+ return t;
728
733
  }
729
734
  // Using all three handlers: `handleRequestClose` and `handleRequestOpen` and `handleChange` to test interoperability and maintain backwards compatibility until the open/close handlers are removed in SUI-5
730
735
  }, {
@@ -737,12 +742,7 @@
737
742
  value: function e() {
738
743
  var t = this.props, o = t.innerBodyStyles, a = t.children, i = t.description, s = t.disabled, p = t.elementRef, u = t.headingLevel, f = t.overflow, b = t.renderChildrenWhenCollapsed, v = t.title, m = t.titleWithActions, y = t.inset;
739
744
  var h = this.state.animating;
740
- var g = this.context.openPanelId !== undefined ?
741
- /**
742
- * SingleOpenPanelGroup already takes into account if it is controlled or not in determining openPanelId
743
- * so this.context.openPanelId is used for both the controlled and uncontrolled case.
744
- */
745
- this.context.openPanelId === this.props.panelId : this.isOpen();
745
+ var g = this.isOpen();
746
746
  var k = {
747
747
  disabled: s,
748
748
  onClick: this.handleChange,
package/ComboBox.js CHANGED
@@ -527,6 +527,7 @@
527
527
  menuStyle: i().object,
528
528
  name: i().string,
529
529
  noOptionsMessage: i().node,
530
+ onBlur: i().func,
530
531
  onChange: i().func,
531
532
  onClose: i().func,
532
533
  onFocus: i().func,
@@ -534,6 +535,7 @@
534
535
  onOpen: i().func,
535
536
  onScroll: i().func,
536
537
  onScrollBottom: i().func,
538
+ onSelect: i().func,
537
539
  placeholder: i().string,
538
540
  prepend: i().bool,
539
541
  size: i().oneOf([ "small", "medium", "large" ]),
@@ -714,43 +716,42 @@
714
716
  (t = (n = i.props).onScrollBottom) === null || t === void 0 ? void 0 : t.call(n, e);
715
717
  }
716
718
  }));
717
- ce(ae(i), "renderMenu", (function(e) {
718
- var t = e.anchorWidth, r = e.maxHeight;
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) {
719
+ ce(ae(i), "prepareOptions", (function() {
720
+ var e = i.props, t = e.children, r = e.controlledFilter;
721
+ var a = i.state, l = a.activeIndex, u = a.typedValue;
722
+ var s = i.getValue();
723
+ var f = n.Children.toArray(t).filter(n.isValidElement);
724
+ var p = b()(f, (function(e) {
724
725
  if (e.type === I.Heading) {
725
726
  return false;
726
727
  }
727
728
  if (e.props.label === undefined) {
728
- return e.props.value === S;
729
+ return e.props.value === s;
729
730
  }
730
- if (e.props.label !== undefined && g !== undefined) {
731
- return e.props.label === S;
731
+ if (e.props.label !== undefined && u !== undefined) {
732
+ return e.props.label === s;
732
733
  }
733
- return e.props.value === S;
734
+ return e.props.value === s;
734
735
  }));
735
- if (!w && S) {
736
- C.unshift( o().createElement(X, {
736
+ if (!p && s) {
737
+ f.unshift( o().createElement(X, {
737
738
  description: (0, O._)("(New value)"),
738
739
  descriptionPosition: "right",
739
740
  key: "currentValueOption",
740
- value: S,
741
- "data-test-current-value-option": S
741
+ value: s,
742
+ "data-test-current-value-option": s
742
743
  }));
743
744
  }
744
745
  // Highlight Active
745
746
  i.availableOptionCount = 0;
746
747
  i.activeValue = undefined;
747
- var j = (0, m.stringToKeywords)(g ? S : i.getDisplayValue());
748
- i.options = (u ? C : C.filter((function(e) {
748
+ var d = (0, m.stringToKeywords)(u ? s : i.getDisplayValue());
749
+ i.options = (r ? f : f.filter((function(e) {
749
750
  if (e.props.label !== undefined) {
750
- return (0, m.testPhrase)(e.props.label, j);
751
+ return (0, m.testPhrase)(e.props.label, d);
751
752
  }
752
753
  if (e.props.value !== undefined) {
753
- return (0, m.testPhrase)(e.props.value, j);
754
+ return (0, m.testPhrase)(e.props.value, d);
754
755
  }
755
756
  return true;
756
757
  // Keep all headers and non-interactive options
@@ -759,11 +760,11 @@
759
760
  // ignore Headings and Dividers
760
761
  return e;
761
762
  }
762
- var o = i.availableOptionCount === y;
763
+ var o = i.availableOptionCount === l;
763
764
  i.availableOptionCount += 1;
764
- var r = e.props.label !== undefined ? e.props.label : e.props.value;
765
- var a = e.props.matchRanges;
766
- var l = !u && S && (w || t > 0) ? (0, m.keywordLocations)(r, j) || undefined : undefined;
765
+ var a = e.props.label !== undefined ? e.props.label : e.props.value;
766
+ var u = e.props.matchRanges;
767
+ var f = !r && s && (p || t > 0) ? (0, m.keywordLocations)(a, d) || undefined : undefined;
767
768
  if (o) {
768
769
  if (!e.props.disabled) {
769
770
  i.activeValue = e.props.value;
@@ -773,35 +774,39 @@
773
774
  ref: i.handleActiveOptionMount,
774
775
  id: i.activeItemId,
775
776
  onClick: i.handleSelectOption,
776
- matchRanges: a || l,
777
+ matchRanges: u || f,
777
778
  active: true
778
779
  });
779
780
  }
780
781
 
781
782
  return (0, n.cloneElement)(e, {
782
783
  onClick: i.handleSelectOption,
783
- matchRanges: a || l
784
+ matchRanges: u || f
784
785
  });
785
786
  }));
786
- var x = de({
787
+ }));
788
+ ce(ae(i), "renderMenu", (function(e) {
789
+ var t = e.anchorWidth, n = e.maxHeight;
790
+ var r = i.props, a = r.isLoadingOptions, l = r.menuStyle, u = r.onScrollBottom, c = r.virtualization;
791
+ var s = de({
787
792
  anchorWidth: t,
788
- maxHeight: r,
789
- menuStyle: f
793
+ maxHeight: n,
794
+ menuStyle: l
790
795
  });
791
- var R = Z({
792
- style: x,
796
+ var f = Z({
797
+ style: s,
793
798
  controlledExternally: true,
794
- onScrollBottom: p ? i.handleScrollBottom : undefined,
795
- isLoading: s
799
+ onScrollBottom: u ? i.handleScrollBottom : undefined,
800
+ isLoading: a
796
801
  }, h()(i.props, "className", "noOptionsMessage", "footerMessage", "animateLoading", "loadingMessage", "onScroll"));
797
- if (d) {
802
+ if (c) {
798
803
 
799
804
  return o().createElement(k.VirtualizedResultsMenu, J({
800
- virtualization: d
801
- }, R), i.options);
805
+ virtualization: c
806
+ }, f), i.options);
802
807
  }
803
808
 
804
- return o().createElement(P(), R, i.options);
809
+ return o().createElement(P(), f, i.options);
805
810
  }));
806
811
  i.state = {
807
812
  activeIndex: 0,
@@ -886,6 +891,7 @@
886
891
  var n = this.state, r = n.anchor, i = n.open;
887
892
  var a = this.getValue();
888
893
  var l = this.getDisplayValue();
894
+ this.prepareOptions();
889
895
 
890
896
  return o().createElement(x(), J({
891
897
  autoCapitalize: "off",
@@ -907,9 +913,8 @@
907
913
  elementRef: this.handleAnchorMount,
908
914
  role: "combobox",
909
915
  value: l,
910
- "aria-activedescendant": this.activeItemId,
916
+ "aria-activedescendant": this.state.open && Array.isArray(this.options) && this.options.length > 0 ? this.activeItemId : undefined,
911
917
  "aria-expanded": i,
912
- "aria-haspopup": true,
913
918
  "aria-label": (0, O._)("Value input"),
914
919
  "aria-controls": i ? this.popoverId : undefined
915
920
  }), o().createElement(w(), {