@splunk/react-ui 4.29.0 → 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 (201) hide show
  1. package/Accordion.js +1 -0
  2. package/CHANGELOG.md +31 -3
  3. package/Card.js +17 -17
  4. package/Chip.js +5 -5
  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 +51 -1
  13. package/Markdown.js +10 -9
  14. package/Menu.js +5 -5
  15. package/Message.js +160 -149
  16. package/Multiselect.js +9 -6
  17. package/Number.js +19 -18
  18. package/Paginator.js +239 -223
  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/cypress/support/component.ts +2 -2
  28. package/package.json +21 -20
  29. package/test-runner-jest.config.js +1 -0
  30. package/types/src/Accordion/Accordion.d.ts +3 -7
  31. package/types/src/Accordion/Panel.d.ts +2 -2
  32. package/types/src/Anchor/Anchor.d.ts +1 -1
  33. package/types/src/AnimationToggle/AnimationToggle.d.ts +3 -3
  34. package/types/src/Box/Box.d.ts +1 -1
  35. package/types/src/Breadcrumbs/Breadcrumbs.d.ts +4 -4
  36. package/types/src/Breadcrumbs/Item.d.ts +1 -1
  37. package/types/src/Button/Button.d.ts +5 -5
  38. package/types/src/ButtonGroup/ButtonGroup.d.ts +1 -1
  39. package/types/src/ButtonSimple/ButtonSimple.d.ts +10 -10
  40. package/types/src/Calendar/Calendar.d.ts +3 -3
  41. package/types/src/Calendar/DateTable.d.ts +2 -2
  42. package/types/src/Calendar/Day.d.ts +3 -3
  43. package/types/src/Calendar/MonthHeader.d.ts +6 -6
  44. package/types/src/Card/Body.d.ts +1 -1
  45. package/types/src/Card/Card.d.ts +6 -6
  46. package/types/src/Card/Footer.d.ts +1 -1
  47. package/types/src/Card/Header.d.ts +1 -1
  48. package/types/src/CardLayout/CardLayout.d.ts +4 -4
  49. package/types/src/Chip/Chip.d.ts +5 -5
  50. package/types/src/Clickable/Clickable.d.ts +12 -4
  51. package/types/src/Clickable/NavigationProvider.d.ts +26 -5
  52. package/types/src/CloseButton/CloseButton.d.ts +1 -1
  53. package/types/src/Code/Code.d.ts +2 -2
  54. package/types/src/CollapsiblePanel/CollapsiblePanel.d.ts +9 -5
  55. package/types/src/CollapsiblePanel/SingleOpenPanelGroup.d.ts +2 -2
  56. package/types/src/CollapsiblePanel/docs/examples/SingleOpenPanelGroupInset.d.ts +2 -0
  57. package/types/src/CollapsiblePanel/icons/ExpandPanel.d.ts +1 -1
  58. package/types/src/Color/Color.d.ts +8 -8
  59. package/types/src/Color/Swatch.d.ts +2 -2
  60. package/types/src/ColumnLayout/Column.d.ts +1 -1
  61. package/types/src/ColumnLayout/ColumnLayout.d.ts +1 -1
  62. package/types/src/ColumnLayout/Row.d.ts +1 -1
  63. package/types/src/ComboBox/ComboBox.d.ts +7 -6
  64. package/types/src/ComboBox/Option.d.ts +3 -3
  65. package/types/src/Concertina/Concertina.d.ts +2 -2
  66. package/types/src/Concertina/Heading.d.ts +3 -3
  67. package/types/src/Concertina/Panel.d.ts +4 -4
  68. package/types/src/Concertina/types.d.ts +1 -1
  69. package/types/src/ControlGroup/ControlGroup.d.ts +5 -5
  70. package/types/src/Date/Date.d.ts +10 -10
  71. package/types/src/DefinitionList/DefinitionList.d.ts +2 -2
  72. package/types/src/DefinitionList/Description.d.ts +1 -1
  73. package/types/src/DefinitionList/Term.d.ts +1 -1
  74. package/types/src/Divider/Divider.d.ts +1 -1
  75. package/types/src/Dropdown/Dropdown.d.ts +10 -10
  76. package/types/src/DualListbox/DualListbox.d.ts +4 -4
  77. package/types/src/DualListbox/DualListboxContext.d.ts +7 -7
  78. package/types/src/DualListbox/Label.d.ts +2 -2
  79. package/types/src/DualListbox/Listbox.d.ts +4 -4
  80. package/types/src/DualListbox/ListboxContext.d.ts +3 -3
  81. package/types/src/DualListbox/Option.d.ts +2 -2
  82. package/types/src/DualListbox/ToolbarButton.d.ts +3 -3
  83. package/types/src/DualListbox/ToolbarContext.d.ts +3 -3
  84. package/types/src/EventListener/EventListener.d.ts +1 -1
  85. package/types/src/File/File.d.ts +8 -8
  86. package/types/src/File/Item.d.ts +2 -2
  87. package/types/src/FormRows/FormRows.d.ts +6 -6
  88. package/types/src/FormRows/Row.d.ts +2 -2
  89. package/types/src/FormRows/RowInternal.d.ts +1 -1
  90. package/types/src/FormRows/SortableList.d.ts +1 -1
  91. package/types/src/FormRows/SortableRow.d.ts +3 -3
  92. package/types/src/Heading/Heading.d.ts +2 -2
  93. package/types/src/Image/Image.d.ts +2 -2
  94. package/types/src/JSONTree/JSONTree.d.ts +6 -6
  95. package/types/src/JSONTree/JSONTreeItem.d.ts +3 -3
  96. package/types/src/JSONTree/renderTreeItems.d.ts +1 -1
  97. package/types/src/Layer/Layer.d.ts +3 -3
  98. package/types/src/Link/Link.d.ts +4 -4
  99. package/types/src/List/Item.d.ts +1 -1
  100. package/types/src/List/List.d.ts +3 -3
  101. package/types/src/Markdown/Markdown.d.ts +18 -12
  102. package/types/src/Markdown/renderers/MarkdownAnchorHeading.d.ts +1 -1
  103. package/types/src/Markdown/renderers/MarkdownBlockquote.d.ts +1 -1
  104. package/types/src/Markdown/renderers/MarkdownCode.d.ts +1 -1
  105. package/types/src/Markdown/renderers/MarkdownCodeBlock.d.ts +1 -1
  106. package/types/src/Markdown/renderers/MarkdownHeading.d.ts +1 -1
  107. package/types/src/Markdown/renderers/MarkdownImage.d.ts +1 -1
  108. package/types/src/Markdown/renderers/MarkdownItem.d.ts +1 -1
  109. package/types/src/Markdown/renderers/MarkdownLink.d.ts +1 -1
  110. package/types/src/Markdown/renderers/MarkdownList.d.ts +3 -3
  111. package/types/src/Markdown/renderers/MarkdownParagraph.d.ts +1 -1
  112. package/types/src/Menu/Divider.d.ts +1 -1
  113. package/types/src/Menu/Heading.d.ts +1 -1
  114. package/types/src/Menu/Item.d.ts +10 -10
  115. package/types/src/Menu/Menu.d.ts +9 -9
  116. package/types/src/Message/Link.d.ts +3 -3
  117. package/types/src/Message/Message.d.ts +1 -1
  118. package/types/src/MessageBar/MessageBar.d.ts +2 -2
  119. package/types/src/Modal/Body.d.ts +1 -1
  120. package/types/src/Modal/Footer.d.ts +1 -1
  121. package/types/src/Modal/Header.d.ts +1 -1
  122. package/types/src/Modal/Modal.d.ts +4 -4
  123. package/types/src/ModalLayer/ModalLayer.d.ts +3 -3
  124. package/types/src/Monogram/Monogram.d.ts +5 -5
  125. package/types/src/Multiselect/Compact.d.ts +2 -2
  126. package/types/src/Multiselect/Multiselect.d.ts +7 -7
  127. package/types/src/Multiselect/Normal.d.ts +2 -2
  128. package/types/src/Multiselect/Option.d.ts +3 -3
  129. package/types/src/Multiselect/docs/examples/Fetching.d.ts +1 -1
  130. package/types/src/Multiselect/docs/examples/LoadMoreOnScrollBottom.d.ts +1 -1
  131. package/types/src/Number/Number.d.ts +22 -22
  132. package/types/src/Paginator/Button.d.ts +3 -3
  133. package/types/src/Paginator/Compact.d.ts +4 -4
  134. package/types/src/Paginator/PageControl.d.ts +2 -2
  135. package/types/src/Paginator/PageSelect.d.ts +2 -2
  136. package/types/src/Paginator/Paginator.d.ts +2 -2
  137. package/types/src/Paragraph/Paragraph.d.ts +1 -1
  138. package/types/src/Popover/Popover.d.ts +11 -11
  139. package/types/src/Popover/PopoverHitArea.d.ts +1 -1
  140. package/types/src/Progress/Progress.d.ts +1 -1
  141. package/types/src/RadioBar/Option.d.ts +8 -4
  142. package/types/src/RadioBar/RadioBar.d.ts +8 -8
  143. package/types/src/RadioList/Option.d.ts +1 -1
  144. package/types/src/RadioList/RadioList.d.ts +3 -3
  145. package/types/src/Resize/Resize.d.ts +4 -4
  146. package/types/src/Resize/docs/examples/Basic.d.ts +2 -0
  147. package/types/src/ResultsMenu/ResultsMenu.d.ts +7 -5
  148. package/types/src/ResultsMenu/VirtualizedResultsMenu/VirtualizedItem.d.ts +1 -1
  149. package/types/src/ResultsMenu/VirtualizedResultsMenu/VirtualizedResultsMenu.d.ts +1 -1
  150. package/types/src/ResultsMenu/VirtualizedResultsMenu/injectVirtualizedItem.d.ts +2 -2
  151. package/types/src/ScreenReaderContent/ScreenReaderContent.d.ts +2 -2
  152. package/types/src/Scroll/Inner.d.ts +3 -3
  153. package/types/src/Scroll/Scroll.d.ts +2 -2
  154. package/types/src/Search/Option.d.ts +8 -8
  155. package/types/src/Search/Search.d.ts +4 -4
  156. package/types/src/Select/Option.d.ts +2 -2
  157. package/types/src/Select/OptionBase.d.ts +8 -8
  158. package/types/src/Select/Select.d.ts +5 -5
  159. package/types/src/Select/SelectAllOption.d.ts +1 -1
  160. package/types/src/Select/SelectBase.d.ts +9 -8
  161. package/types/src/SidePanel/SidePanel.d.ts +3 -3
  162. package/types/src/Slider/Slider.d.ts +8 -8
  163. package/types/src/SlidingPanels/Panel.d.ts +2 -2
  164. package/types/src/SlidingPanels/SlidingPanels.d.ts +2 -2
  165. package/types/src/SplitButton/Item.d.ts +2 -2
  166. package/types/src/SplitButton/SplitButton.d.ts +1 -1
  167. package/types/src/StaticContent/StaticContent.d.ts +1 -1
  168. package/types/src/StepBar/Step.d.ts +1 -1
  169. package/types/src/StepBar/StepBar.d.ts +1 -1
  170. package/types/src/Switch/Switch.d.ts +4 -8
  171. package/types/src/TabBar/Tab.d.ts +7 -8
  172. package/types/src/TabBar/TabBar.d.ts +5 -5
  173. package/types/src/TabLayout/Panel.d.ts +2 -2
  174. package/types/src/TabLayout/TabLayout.d.ts +3 -3
  175. package/types/src/Table/Body.d.ts +4 -8
  176. package/types/src/Table/Caption.d.ts +2 -2
  177. package/types/src/Table/Cell.d.ts +3 -3
  178. package/types/src/Table/DragHandle.d.ts +1 -1
  179. package/types/src/Table/Head.d.ts +6 -6
  180. package/types/src/Table/HeadCell.d.ts +9 -9
  181. package/types/src/Table/HeadDropdownCell.d.ts +11 -11
  182. package/types/src/Table/HeadInner.d.ts +5 -5
  183. package/types/src/Table/HeadTable.d.ts +2 -2
  184. package/types/src/Table/KeyboardSensor.d.ts +79 -0
  185. package/types/src/Table/Row.d.ts +12 -14
  186. package/types/src/Table/RowDragCell.d.ts +9 -40
  187. package/types/src/Table/Table.d.ts +12 -10
  188. package/types/src/Table/Toggle.d.ts +1 -1
  189. package/types/src/Table/docs/examples/FilterColumnValues.d.ts +1 -1
  190. package/types/src/Text/Text.d.ts +13 -11
  191. package/types/src/TextArea/TextArea.d.ts +10 -10
  192. package/types/src/Tooltip/Tooltip.d.ts +9 -9
  193. package/types/src/TransitionOpen/TransitionOpen.d.ts +2 -2
  194. package/types/src/Tree/Tree.d.ts +3 -3
  195. package/types/src/Tree/TreeItem.d.ts +4 -4
  196. package/types/src/Typography/Typography.d.ts +5 -5
  197. package/types/src/WaitSpinner/WaitSpinner.d.ts +1 -1
  198. package/types/src/fixtures/FetchOptions.d.ts +2 -2
  199. package/types/src/useKeyPress/index.d.ts +2 -2
  200. package/types/src/utils/types.d.ts +4 -4
  201. package/types/src/Resize/docs/examples/Typical.d.ts +0 -2
@@ -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.state.open ? this.activeItemId : undefined,
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(), {
package/Date.js CHANGED
@@ -62,7 +62,7 @@
62
62
  // EXPORTS
63
63
  e.d(t, {
64
64
  DateWithoutTheme: () => /* reexport */ Y,
65
- default: () => /* reexport */ Z
65
+ default: () => /* reexport */ N
66
66
  });
67
67
  // CONCATENATED MODULE: external "react"
68
68
  const n = require("react");
@@ -562,7 +562,7 @@
562
562
  value: this.getTextInputValue(),
563
563
  startAdornment: p,
564
564
  $disabled: n
565
- }, d, s()(this.props, "className", "defaultValue", "elementRef", "inputOnly", "multiline", "locale", "onChange", "onClick", "onFocus", "onKeyDown", "onSelect", "spellCheck", "value")), f);
565
+ }, d, s()(this.props, "defaultValue", "elementRef", "inputOnly", "multiline", "locale", "onChange", "onClick", "onFocus", "onKeyDown", "onSelect", "spellCheck", "value")), f);
566
566
  }
567
567
  } ]);
568
568
  return n;
@@ -577,10 +577,10 @@
577
577
  }
578
578
  }));
579
579
  var $ = (0, b.withSplunkTheme)(Y);
580
- var N = $;
581
- N.propTypes = Y.propTypes;
582
- N.momentFormat = Y.momentFormat;
583
- /* harmony default export */ const Z = N;
580
+ var Z = $;
581
+ Z.propTypes = Y.propTypes;
582
+ Z.momentFormat = Y.momentFormat;
583
+ /* harmony default export */ const N = Z;
584
584
  // CONCATENATED MODULE: ./src/Date/index.ts
585
585
  module.exports = t;
586
586
  /******/})();
package/DualListbox.js CHANGED
@@ -414,7 +414,7 @@
414
414
  enterprise: (0, _.css)([ "&:hover{background:", ";}" ], N.variables.backgroundColorHover)
415
415
  }));
416
416
  var X = D()(U()).withConfig({
417
- displayName: "OptionStyles__StyledSwtich",
417
+ displayName: "OptionStyles__StyledSwitch",
418
418
  componentId: "q275d9-1"
419
419
  })([ "padding-left:", ";" ], N.variables.spacingSmall);
420
420
  var G = D().div.withConfig({
package/Link.js CHANGED
@@ -9,26 +9,26 @@
9
9
  /******/ (() => {
10
10
  /******/ // getDefaultExport function for compatibility with non-harmony modules
11
11
  /******/ e.n = t => {
12
- /******/ var r = t && t.__esModule ?
12
+ /******/ var n = t && t.__esModule ?
13
13
  /******/ () => t["default"]
14
14
  /******/ : () => t
15
15
  /******/;
16
- e.d(r, {
17
- a: r
16
+ e.d(n, {
17
+ a: n
18
18
  });
19
- /******/ return r;
19
+ /******/ return n;
20
20
  /******/ };
21
21
  /******/ })();
22
22
  /******/
23
23
  /******/ /* webpack/runtime/define property getters */
24
24
  /******/ (() => {
25
25
  /******/ // define getter functions for harmony exports
26
- /******/ e.d = (t, r) => {
27
- /******/ for (var n in r) {
28
- /******/ if (e.o(r, n) && !e.o(t, n)) {
29
- /******/ Object.defineProperty(t, n, {
26
+ /******/ e.d = (t, n) => {
27
+ /******/ for (var r in n) {
28
+ /******/ if (e.o(n, r) && !e.o(t, r)) {
29
+ /******/ Object.defineProperty(t, r, {
30
30
  enumerable: true,
31
- get: r[n]
31
+ get: n[r]
32
32
  });
33
33
  /******/ }
34
34
  /******/ }
@@ -64,16 +64,16 @@
64
64
  default: () => /* reexport */ J
65
65
  });
66
66
  // CONCATENATED MODULE: external "react"
67
- const r = require("react");
68
- var n = e.n(r);
67
+ const n = require("react");
68
+ var r = e.n(n);
69
69
  // CONCATENATED MODULE: external "prop-types"
70
70
  const o = require("prop-types");
71
71
  var i = e.n(o);
72
72
  // CONCATENATED MODULE: external "@splunk/react-ui/ScreenReaderContent"
73
73
  const a = require("@splunk/react-ui/ScreenReaderContent");
74
- var u = e.n(a);
74
+ var l = e.n(a);
75
75
  // CONCATENATED MODULE: external "@splunk/react-ui/Dropdown"
76
- const l = require("@splunk/react-ui/Dropdown");
76
+ const u = require("@splunk/react-ui/Dropdown");
77
77
  // CONCATENATED MODULE: external "@splunk/ui-utils/i18n"
78
78
  const c = require("@splunk/ui-utils/i18n");
79
79
  // CONCATENATED MODULE: external "styled-components"
@@ -99,9 +99,9 @@
99
99
  })([ "", " margin:0 0 0 4px;" ], h);
100
100
  function w() {
101
101
  var e = (0, v.useSplunkTheme)(), t = e.isEnterprise;
102
- return t ? n().createElement(m, {
102
+ return t ? r().createElement(m, {
103
103
  screenReaderText: null
104
- }) : n().createElement(g, null);
104
+ }) : r().createElement(g, null);
105
105
  }
106
106
  /* harmony default export */ const O = w;
107
107
  // CONCATENATED MODULE: external "@splunk/react-ui/Clickable"
@@ -139,10 +139,10 @@
139
139
  function _() {
140
140
  _ = Object.assign || function(e) {
141
141
  for (var t = 1; t < arguments.length; t++) {
142
- var r = arguments[t];
143
- for (var n in r) {
144
- if (Object.prototype.hasOwnProperty.call(r, n)) {
145
- e[n] = r[n];
142
+ var n = arguments[t];
143
+ for (var r in n) {
144
+ if (Object.prototype.hasOwnProperty.call(n, r)) {
145
+ e[r] = n[r];
146
146
  }
147
147
  }
148
148
  }
@@ -152,30 +152,30 @@
152
152
  }
153
153
  function P(e, t) {
154
154
  if (e == null) return {};
155
- var r = C(e, t);
156
- var n, o;
155
+ var n = C(e, t);
156
+ var r, o;
157
157
  if (Object.getOwnPropertySymbols) {
158
158
  var i = Object.getOwnPropertySymbols(e);
159
159
  for (o = 0; o < i.length; o++) {
160
- n = i[o];
161
- if (t.indexOf(n) >= 0) continue;
162
- if (!Object.prototype.propertyIsEnumerable.call(e, n)) continue;
163
- r[n] = e[n];
160
+ r = i[o];
161
+ if (t.indexOf(r) >= 0) continue;
162
+ if (!Object.prototype.propertyIsEnumerable.call(e, r)) continue;
163
+ n[r] = e[r];
164
164
  }
165
165
  }
166
- return r;
166
+ return n;
167
167
  }
168
168
  function C(e, t) {
169
169
  if (e == null) return {};
170
- var r = {};
171
- var n = Object.keys(e);
170
+ var n = {};
171
+ var r = Object.keys(e);
172
172
  var o, i;
173
- for (i = 0; i < n.length; i++) {
174
- o = n[i];
173
+ for (i = 0; i < r.length; i++) {
174
+ o = r[i];
175
175
  if (t.indexOf(o) >= 0) continue;
176
- r[o] = e[o];
176
+ n[o] = e[o];
177
177
  }
178
- return r;
178
+ return n;
179
179
  }
180
180
  function E(e, t) {
181
181
  if (!(e instanceof t)) {
@@ -183,17 +183,17 @@
183
183
  }
184
184
  }
185
185
  function q(e, t) {
186
- for (var r = 0; r < t.length; r++) {
187
- var n = t[r];
188
- n.enumerable = n.enumerable || false;
189
- n.configurable = true;
190
- if ("value" in n) n.writable = true;
191
- Object.defineProperty(e, n.key, n);
186
+ for (var n = 0; n < t.length; n++) {
187
+ var r = t[n];
188
+ r.enumerable = r.enumerable || false;
189
+ r.configurable = true;
190
+ if ("value" in r) r.writable = true;
191
+ Object.defineProperty(e, r.key, r);
192
192
  }
193
193
  }
194
- function R(e, t, r) {
194
+ function R(e, t, n) {
195
195
  if (t) q(e.prototype, t);
196
- if (r) q(e, r);
196
+ if (n) q(e, n);
197
197
  return e;
198
198
  }
199
199
  function T(e, t) {
@@ -210,21 +210,21 @@
210
210
  if (t) I(e, t);
211
211
  }
212
212
  function I(e, t) {
213
- I = Object.setPrototypeOf || function e(t, r) {
214
- t.__proto__ = r;
213
+ I = Object.setPrototypeOf || function e(t, n) {
214
+ t.__proto__ = n;
215
215
  return t;
216
216
  };
217
217
  return I(e, t);
218
218
  }
219
219
  function N(e) {
220
220
  var t = z();
221
- return function r() {
222
- var n = A(e), o;
221
+ return function n() {
222
+ var r = A(e), o;
223
223
  if (t) {
224
224
  var i = A(this).constructor;
225
- o = Reflect.construct(n, arguments, i);
225
+ o = Reflect.construct(r, arguments, i);
226
226
  } else {
227
- o = n.apply(this, arguments);
227
+ o = r.apply(this, arguments);
228
228
  }
229
229
  return M(this, o);
230
230
  };
@@ -258,24 +258,26 @@
258
258
  };
259
259
  return A(e);
260
260
  }
261
- function F(e, t, r) {
261
+ function L(e, t, n) {
262
262
  if (t in e) {
263
263
  Object.defineProperty(e, t, {
264
- value: r,
264
+ value: n,
265
265
  enumerable: true,
266
266
  configurable: true,
267
267
  writable: true
268
268
  });
269
269
  } else {
270
- e[t] = r;
270
+ e[t] = n;
271
271
  }
272
272
  return e;
273
273
  }
274
- var L = {
274
+ var F = {
275
275
  disabled: false,
276
276
  openInNewContext: false
277
277
  };
278
278
  var B = {
279
+ /** @private */
280
+ allowDisabledLink: i().bool,
279
281
  children: i().node,
280
282
  disabled: i().bool,
281
283
  elementRef: i().oneOfType([ i().func, i().object ]),
@@ -287,22 +289,22 @@
287
289
  * `Link` is a simple method for configuring `Button` for inline links. For more complex behaviors,
288
290
  * see the `Button` documentation.
289
291
  */ var H = function(e) {
290
- T(r, e);
291
- var t = N(r);
292
- function r() {
292
+ T(n, e);
293
+ var t = N(n);
294
+ function n() {
293
295
  var e;
294
- E(this, r);
295
- for (var n = arguments.length, o = new Array(n), i = 0; i < n; i++) {
296
+ E(this, n);
297
+ for (var r = arguments.length, o = new Array(r), i = 0; i < r; i++) {
296
298
  o[i] = arguments[i];
297
299
  }
298
300
  e = t.call.apply(t, [ this ].concat(o));
299
- F(D(e), "component", null);
300
- F(D(e), "handleMount", (function(t) {
301
+ L(D(e), "component", null);
302
+ L(D(e), "handleMount", (function(t) {
301
303
  e.component = t;
302
304
  }));
303
305
  return e;
304
306
  }
305
- R(r, [ {
307
+ R(n, [ {
306
308
  key: "focus",
307
309
  /**
308
310
  * Place focus on the link.
@@ -314,26 +316,26 @@
314
316
  }, {
315
317
  key: "render",
316
318
  value: function e() {
317
- var t = this.props, r = t.children, o = t.openInNewContext, i = P(t, [ "children", "openInNewContext" ]);
319
+ var t = this.props, n = t.children, o = t.openInNewContext, i = P(t, [ "children", "openInNewContext" ]);
318
320
  var a = false;
319
- var l;
321
+ var u;
320
322
  if (o) {
321
323
  a = true;
322
- l = typeof o === "string" ? o : G;
324
+ u = typeof o === "string" ? o : G;
323
325
  }
324
326
 
325
- return n().createElement(k, _({
327
+ return r().createElement(k, _({
326
328
  "data-test": "link",
327
329
  ref: this.handleMount,
328
330
  openInNewContext: a
329
- }, i), r, o && n().createElement(n().Fragment, null, n().createElement(O, null), n().createElement(u(), null, l)));
331
+ }, i), n, o && r().createElement(r().Fragment, null, r().createElement(O, null), r().createElement(l(), null, u)));
330
332
  }
331
333
  } ]);
332
- return r;
333
- }(r.Component);
334
- F(H, "propTypes", B);
335
- F(H, "defaultProps", L);
336
- F(H, l.legacyRefMode, true);
334
+ return n;
335
+ }(n.Component);
336
+ L(H, "propTypes", B);
337
+ L(H, "defaultProps", F);
338
+ L(H, u.legacyRefMode, true);
337
339
  /* harmony default export */ const J = H;
338
340
  // CONCATENATED MODULE: ./src/Link/index.ts
339
341
  module.exports = t;
package/MIGRATION.mdx CHANGED
@@ -5,6 +5,39 @@ 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.30.0
9
+
10
+ ### Deprecated `NavigationProvider`'s `prefix` prop
11
+
12
+ #### Change
13
+
14
+ `NavigationProvider`'s `prefix` prop has been deprecated and will be removed in the next major version.
15
+
16
+ #### Context
17
+
18
+ `NavigationProvider` allows global control over navigation via `Clickable`, `Link`, and any other component that implements the `to` prop.
19
+
20
+ One of the supported props is `prefix`, which allows links to be prefixed. This is helpful when your application might be nested inside a path; for example, it could be used to set the locale prefix to a URL.
21
+
22
+ The new `transformUrl` function can be used to replicate the functionality of `prefix` as well as perform other URL transformations. Therefore, `prefix` is being deprecated to avoid supporting multiple ways to modify the URL.
23
+
24
+ #### Migration steps
25
+
26
+ Replace `prefix` with the `transformUrl` function:
27
+
28
+ ```jsx
29
+ const prefix = '/my-prefix'
30
+
31
+ <NavigationProvider transformUrl={(url, { isInternal, isRootRelative}) => {
32
+ return isInternal && isRootRelative ? `${prefix}${url}` : url;
33
+ }>
34
+ <Link label="My page" to="/my-page" />
35
+ </NavigationProvider>
36
+ ```
37
+
38
+ Note: `prefix` only applied to internal, relative URLs, whereas `transformUrl` applies to all URLs.
39
+ However, `transformUrl` provides info about whether a URL is internal or relative that can be used to replicate this behavior.
40
+
8
41
  ## 4.29.0
9
42
 
10
43
  ### Deprecated `WaitSpinner`'s `children` prop
@@ -474,4 +507,21 @@ Ensure the toggle `ref` is an `HTMLElement`, `Clickable`, `Button`, or `Link`.
474
507
  Previously, `Tooltip` closed as soon as a user stopped hovering over the toggle. To allow the `Tooltip` to remain open when hovering/focusing on the toggle or the content area, the `Popover`’s `pointerEvent` prop has been removed. `Tooltip` now has two props: `possibleOpenReasons` and `possibleCloseReasons`, which provide more control over when the `Tooltip` can be opened and closed.
475
508
 
476
509
  #### Migration steps
477
- Replace all usage of `Popover`’s `pointerEvents` prop with `possibleOpenReasons` and `possibleCloseReasons`.
510
+ Replace all usage of `Popover`’s `pointerEvents` prop with `possibleOpenReasons` and `possibleCloseReasons`.
511
+
512
+ ## 4.30.0
513
+
514
+ ### Deprecated `Text`'s `appearance` prop
515
+
516
+ #### Change
517
+
518
+ `Text`'s `appearance` prop has been deprecated and will be removed in the next major version.
519
+
520
+ #### Context
521
+
522
+ `Text`'s `appearance` prop allowed the values "default" and "search".
523
+ With the new `Search` component optimized for user interaction, Text's `appearance` prop has become unnecessary.
524
+
525
+ #### Migration steps
526
+
527
+ Replace all usage of `Text`'s `appearance="search"` value with the `Search` component. Remove all usage of `Text`'s `appearance="default"` value.
package/Markdown.js CHANGED
@@ -766,7 +766,8 @@
766
766
  linkRenderer: i().func,
767
767
  listRenderer: i().func,
768
768
  paragraphRenderer: i().func,
769
- text: i().string.isRequired
769
+ text: i().string.isRequired,
770
+ rendererOptions: i().object
770
771
  };
771
772
  var ze = new c.Parser;
772
773
  /**
@@ -774,11 +775,11 @@
774
775
  * The component prefers @splunk/react-ui components over plain HTML components. For example
775
776
  * links are rendered as the `@splunk/react-ui/Link` component instead of plain `<a>` tag.
776
777
  */ function Ge(e) {
777
- var r = e.blockquoteRenderer, n = e.codeBlockRenderer, o = e.codeRenderer, i = e.elementRef, a = e.headingRenderer, c = e.imageRenderer, u = e.itemRenderer, s = e.linkRenderer, p = e.listRenderer, d = e.paragraphRenderer, y = e.text, v = Ae(e, [ "blockquoteRenderer", "codeBlockRenderer", "codeRenderer", "elementRef", "headingRenderer", "imageRenderer", "itemRenderer", "linkRenderer", "listRenderer", "paragraphRenderer", "text" ]);
778
+ var r = e.blockquoteRenderer, n = e.codeBlockRenderer, o = e.codeRenderer, i = e.elementRef, a = e.headingRenderer, c = e.imageRenderer, u = e.itemRenderer, s = e.linkRenderer, p = e.listRenderer, d = e.paragraphRenderer, y = e.text, v = e.rendererOptions, b = Ae(e, [ "blockquoteRenderer", "codeBlockRenderer", "codeRenderer", "elementRef", "headingRenderer", "imageRenderer", "itemRenderer", "linkRenderer", "listRenderer", "paragraphRenderer", "text", "rendererOptions" ]);
778
779
  // @docs-props-type MarkdownPropsBase
779
780
  // keep this option object inside the constructor, otherwise the renderers
780
781
  // below will confuse the doc-gen
781
- var b = {
782
+ var g = {
782
783
  escapeHtml: true,
783
784
  renderers: {
784
785
  CodeBlock: n || B,
@@ -792,20 +793,20 @@
792
793
  };
793
794
  // not setting MarkdownBlockquote as the default
794
795
  if (r) {
795
- b.renderers.Blockquote = r;
796
+ g.renderers.Blockquote = r;
796
797
  }
797
798
  // not setting MarkdownImage as the default
798
799
  if (c) {
799
- b.renderers.Image = c;
800
+ g.renderers.Image = c;
800
801
  }
801
- var g = new (l())(He({}, b));
802
- var O = ze.parse(y);
803
- var m = g.render(O);
802
+ var O = new (l())(He(He({}, g), v));
803
+ var m = ze.parse(y);
804
+ var h = O.render(m);
804
805
 
805
806
  return t().createElement(f(), Be({
806
807
  "data-test": "markdown",
807
808
  elementRef: i
808
- }, v), m);
809
+ }, b), h);
809
810
  }
810
811
  Ge.propTypes = Fe;
811
812
  /* harmony default export */ const Je = Ge;