@splunk/react-ui 5.0.0-beta.3 → 5.0.0-beta.5

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 (181) hide show
  1. package/Accordion.js +185 -243
  2. package/Animation.js +2 -2
  3. package/Button.js +4 -2
  4. package/ButtonSimple.js +47 -41
  5. package/CHANGELOG.md +15 -2
  6. package/CHANGELOG.v5.mdx +73 -0
  7. package/Calendar.js +352 -469
  8. package/Card.js +163 -162
  9. package/Chip.js +171 -356
  10. package/Clickable.js +79 -76
  11. package/Code.js +19 -12
  12. package/Color.js +32 -32
  13. package/ComboBox.js +9 -7
  14. package/Date.js +160 -184
  15. package/DualListbox.js +549 -612
  16. package/File.js +546 -408
  17. package/FormRows.js +170 -157
  18. package/Image.js +124 -251
  19. package/JSONTree.js +496 -521
  20. package/Layer.js +162 -97
  21. package/Layout.d.ts +2 -0
  22. package/Link.js +20 -13
  23. package/MIGRATION.v5.mdx +48 -1
  24. package/Markdown.js +1 -1
  25. package/Menu.js +1 -1
  26. package/Message.js +132 -177
  27. package/MessageBar.js +121 -290
  28. package/Modal.js +2 -2
  29. package/ModalLayer.js +12 -12
  30. package/Multiselect.js +1982 -2334
  31. package/NonInteractiveCheckbox.js +29 -117
  32. package/Number.js +114 -114
  33. package/Popover.js +328 -326
  34. package/Progress.js +68 -54
  35. package/RadioBar.js +139 -136
  36. package/RadioList.js +67 -65
  37. package/Resize.js +377 -265
  38. package/ResultsMenu.js +573 -661
  39. package/Scroll.js +2 -2
  40. package/ScrollContainerContext.js +13 -9
  41. package/Search.js +1 -1
  42. package/Select.js +364 -361
  43. package/SidePanel.js +17 -21
  44. package/Slider.js +494 -372
  45. package/SlidingPanels.js +100 -102
  46. package/SplitButton.js +39 -25
  47. package/StepBar.js +3 -3
  48. package/Switch.js +136 -129
  49. package/TabBar.js +598 -466
  50. package/TabLayout.js +34 -34
  51. package/Table.js +1648 -1479
  52. package/Text.js +51 -50
  53. package/TextArea.js +280 -154
  54. package/Tooltip.js +413 -563
  55. package/TransitionOpen.js +2 -2
  56. package/Tree.js +2 -2
  57. package/Typography.js +30 -28
  58. package/WaitSpinner.js +6 -11
  59. package/cypress/support/commands.ts +14 -4
  60. package/cypress/support/index.d.ts +1 -1
  61. package/package.json +9 -11
  62. package/stubs-splunkui.d.ts +0 -4
  63. package/types/src/Accordion/Accordion.d.ts +14 -21
  64. package/types/src/Accordion/AccordionContext.d.ts +0 -1
  65. package/types/src/Animation/Animation.d.ts +2 -3
  66. package/types/src/AnimationToggle/docs/examples/Provider.d.ts +2 -2
  67. package/types/src/AnimationToggle/docs/examples/ToggleComponent.d.ts +2 -2
  68. package/types/src/AnimationToggle/useAnimationToggle.d.ts +1 -1
  69. package/types/src/Button/Button.d.ts +1 -1
  70. package/types/src/ButtonGroup/ButtonGroupContext.d.ts +0 -1
  71. package/types/src/ButtonSimple/ButtonSimple.d.ts +1 -3
  72. package/types/src/ButtonSimple/mixin.d.ts +1 -1
  73. package/types/src/Calendar/Calendar.d.ts +2 -2
  74. package/types/src/Calendar/{DateTable.d.ts → DateGrid.d.ts} +9 -9
  75. package/types/src/Calendar/Day.d.ts +8 -4
  76. package/types/src/Card/Card.d.ts +3 -1
  77. package/types/src/Card/Header.d.ts +2 -0
  78. package/types/src/Card/docs/examples/HeadingTitle.d.ts +3 -0
  79. package/types/src/CardLayout/CardLayoutContext.d.ts +0 -1
  80. package/types/src/CardLayout/docs/examples/Interactive.d.ts +2 -2
  81. package/types/src/Clickable/Clickable.d.ts +12 -4
  82. package/types/src/CollapsiblePanel/SingleOpenPanelGroupContext.d.ts +0 -1
  83. package/types/src/ComboBox/ComboBox.d.ts +3 -3
  84. package/types/src/ControlGroup/docs/examples/CustomizedLabelTarget.d.ts +2 -2
  85. package/types/src/Date/docs/examples/Controlled.d.ts +2 -2
  86. package/types/src/Date/docs/examples/HighlightToday.d.ts +2 -2
  87. package/types/src/DefinitionList/DefinitionListContext.d.ts +0 -1
  88. package/types/src/DualListbox/DualListbox.d.ts +5 -1
  89. package/types/src/File/File.d.ts +4 -4
  90. package/types/src/File/FileContext.d.ts +0 -1
  91. package/types/src/File/Item.d.ts +11 -3
  92. package/types/src/File/ItemIcon.d.ts +2 -1
  93. package/types/src/File/docs/examples/Disabled.d.ts +2 -2
  94. package/types/src/File/docs/examples/DropAnywhere.d.ts +2 -2
  95. package/types/src/File/docs/examples/Multi.d.ts +2 -2
  96. package/types/src/File/docs/examples/Single.d.ts +2 -2
  97. package/types/src/FormRows/FormRows.d.ts +4 -4
  98. package/types/src/FormRows/FormRowsContext.d.ts +1 -2
  99. package/types/src/FormRows/SortableRow.d.ts +1 -1
  100. package/types/src/FormRows/docs/examples/Basic.d.ts +2 -2
  101. package/types/src/FormRows/docs/examples/Header.d.ts +2 -2
  102. package/types/src/FormRows/docs/examples/Menu.d.ts +2 -2
  103. package/types/src/FormRows/docs/examples/ReorderOnly.d.ts +2 -2
  104. package/types/src/Image/Image.d.ts +1 -4
  105. package/types/src/JSONTree/docs/examples/Events.d.ts +2 -2
  106. package/types/src/Layout/Layout.d.ts +1 -0
  107. package/types/src/Link/Link.d.ts +4 -0
  108. package/types/src/Link/icons/External.d.ts +1 -2
  109. package/types/src/Menu/Divider.d.ts +1 -1
  110. package/types/src/Menu/MenuContext.d.ts +0 -1
  111. package/types/src/Message/Message.d.ts +1 -1
  112. package/types/src/MessageBar/MessageBar.d.ts +6 -2
  113. package/types/src/Modal/ModalContext.d.ts +0 -1
  114. package/types/src/Multiselect/Compact.d.ts +46 -21
  115. package/types/src/Multiselect/Multiselect.d.ts +69 -36
  116. package/types/src/Multiselect/Normal.d.ts +45 -62
  117. package/types/src/Multiselect/Option.d.ts +42 -18
  118. package/types/src/Multiselect/docs/examples/Children.d.ts +2 -9
  119. package/types/src/Multiselect/docs/examples/Controlled.d.ts +2 -9
  120. package/types/src/Multiselect/docs/examples/CustomizeSelected.d.ts +2 -9
  121. package/types/src/Multiselect/docs/examples/Disabled.d.ts +2 -9
  122. package/types/src/Multiselect/docs/examples/Error.d.ts +2 -9
  123. package/types/src/Multiselect/docs/examples/Fetching.d.ts +2 -22
  124. package/types/src/Multiselect/docs/examples/Headings.d.ts +2 -1
  125. package/types/src/Multiselect/docs/examples/LoadMoreOnScrollBottom.d.ts +2 -25
  126. package/types/src/Multiselect/docs/examples/NewValues.d.ts +2 -9
  127. package/types/src/Multiselect/docs/examples/TabInput.d.ts +2 -9
  128. package/types/src/NonInteractiveCheckbox/NonInteractiveCheckbox.d.ts +8 -7
  129. package/types/src/Number/docs/examples/Basic.d.ts +2 -2
  130. package/types/src/Number/docs/examples/Limits.d.ts +2 -2
  131. package/types/src/Number/docs/examples/Locale.d.ts +2 -2
  132. package/types/src/Popover/Popover.d.ts +1 -1
  133. package/types/src/Popover/PopoverMenuContext.d.ts +0 -1
  134. package/types/src/RadioBar/RadioBar.d.ts +1 -1
  135. package/types/src/RadioBar/RadioBarContext.d.ts +0 -1
  136. package/types/src/RadioList/RadioListContext.d.ts +0 -1
  137. package/types/src/ResultsMenu/ResultsMenu.d.ts +23 -34
  138. package/types/src/Scroll/Inner.d.ts +1 -1
  139. package/types/src/Scroll/docs/examples/Controlled.d.ts +2 -2
  140. package/types/src/Search/Search.d.ts +2 -2
  141. package/types/src/Select/SelectBase.d.ts +4 -4
  142. package/types/src/Slider/docs/examples/Controlled.d.ts +2 -2
  143. package/types/src/Slider/docs/examples/CustomLabels.d.ts +2 -2
  144. package/types/src/Slider/getStepMarksBackground.d.ts +8 -0
  145. package/types/src/SlidingPanels/Panel.d.ts +2 -2
  146. package/types/src/SlidingPanels/SlidingPanels.d.ts +2 -2
  147. package/types/src/SlidingPanels/docs/examples/Basic.d.ts +2 -2
  148. package/types/src/SlidingPanels/docs/examples/Dropdown.d.ts +2 -2
  149. package/types/src/SplitButton/Item.d.ts +15 -2
  150. package/types/src/StepBar/Step.d.ts +1 -1
  151. package/types/src/StepBar/StepBar.d.ts +1 -1
  152. package/types/src/StepBar/StepBarContext.d.ts +0 -1
  153. package/types/src/Switch/docs/examples/Basic.d.ts +2 -2
  154. package/types/src/Switch/docs/examples/Disabled.d.ts +2 -2
  155. package/types/src/TabBar/Tab.d.ts +12 -5
  156. package/types/src/TabBar/TabBar.d.ts +11 -7
  157. package/types/src/TabBar/TabBarContext.d.ts +8 -3
  158. package/types/src/TabLayout/TabLayout.d.ts +8 -5
  159. package/types/src/Table/Head.d.ts +4 -15
  160. package/types/src/Table/HeadCell.d.ts +23 -25
  161. package/types/src/Table/HeadDropdownCell.d.ts +23 -26
  162. package/types/src/Table/HeadInner.d.ts +4 -10
  163. package/types/src/Table/Row.d.ts +6 -6
  164. package/types/src/Table/Table.d.ts +3 -8
  165. package/types/src/Table/TableContext.d.ts +0 -1
  166. package/types/src/Tooltip/Tooltip.d.ts +26 -58
  167. package/types/src/Tooltip/docs/examples/Controlled.d.ts +2 -2
  168. package/types/src/Tree/TreeContext.d.ts +0 -1
  169. package/types/src/Typography/Typography.d.ts +27 -22
  170. package/types/src/useForceUpdate/useForceUpdate.d.ts +0 -1
  171. package/types/src/useResizeObserver/useResizeObserver.d.ts +2 -1
  172. package/types/src/utils/types.d.ts +2 -3
  173. package/useResizeObserver.js +26 -19
  174. package/types/src/Date/Icon.d.ts +0 -3
  175. package/types/src/Image/icons/Cross.d.ts +0 -3
  176. package/types/src/TabBar/docs/examples/IconsAbove.d.ts +0 -3
  177. package/types/src/TabBar/docs/examples/VerticalIconsAbove.d.ts +0 -3
  178. package/types/src/Table/docs/examples/prisma/DockedHeaderScrollbar.d.ts +0 -3
  179. package/types/src/Tooltip/InfoIcon.d.ts +0 -4
  180. /package/types/src/TabBar/docs/examples/{IconsLeft.d.ts → Icons.d.ts} +0 -0
  181. /package/types/src/TabBar/docs/examples/{VerticalIconsLeft.d.ts → VerticalIcons.d.ts} +0 -0
@@ -1,9 +1,9 @@
1
1
  import React, { Component } from 'react';
2
2
  import { SwitchClickHandler } from '@splunk/react-ui/Switch';
3
- declare class CustomizedLabelTarget extends Component<{}, {
3
+ declare class CustomizedLabelTarget extends Component<object, {
4
4
  values: number[];
5
5
  }> {
6
- constructor(props: {});
6
+ constructor(props: object);
7
7
  handleClick: SwitchClickHandler;
8
8
  render(): React.JSX.Element;
9
9
  }
@@ -1,9 +1,9 @@
1
1
  import React, { Component } from 'react';
2
2
  import { DateChangeHandler } from '@splunk/react-ui/Date';
3
- declare class Controlled extends Component<{}, {
3
+ declare class Controlled extends Component<object, {
4
4
  value: string;
5
5
  }> {
6
- constructor(props: {});
6
+ constructor(props: object);
7
7
  handleChange: DateChangeHandler;
8
8
  render(): React.JSX.Element;
9
9
  }
@@ -1,9 +1,9 @@
1
1
  import React, { Component } from 'react';
2
2
  import { DateChangeHandler } from '@splunk/react-ui/Date';
3
- declare class HighlightToday extends Component<{}, {
3
+ declare class HighlightToday extends Component<object, {
4
4
  value: string;
5
5
  }> {
6
- constructor(props: {});
6
+ constructor(props: object);
7
7
  handleChange: DateChangeHandler;
8
8
  render(): React.JSX.Element;
9
9
  }
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface DefinitionListContextValue {
3
2
  separatorCharacter?: '.' | string;
4
3
  termWidth?: string;
@@ -53,6 +53,10 @@ interface DualListboxPropsBase {
53
53
  * When true, `Options`'s `listName` and `selected` state props are fully controlled.
54
54
  */
55
55
  controlled?: boolean;
56
+ /**
57
+ * A React ref which is set to the DOM element when the component mounts, and null when it unmounts.
58
+ */
59
+ elementRef?: React.Ref<HTMLDivElement>;
56
60
  /**
57
61
  * When true, fill height and width of the relative parent container.
58
62
  */
@@ -78,7 +82,7 @@ interface DualListboxPropsBase {
78
82
  onSelect?: DualListboxSelectHandler;
79
83
  }
80
84
  type DualListboxProps = ComponentProps<DualListboxPropsBase, 'div'>;
81
- declare function DualListbox({ children, controlled, fill, inline, onChange, onSelect, lists, ...otherProps }: DualListboxProps): React.JSX.Element;
85
+ declare function DualListbox({ children, controlled, elementRef, fill, inline, onChange, onSelect, lists, ...otherProps }: DualListboxProps): React.JSX.Element;
82
86
  declare namespace DualListbox {
83
87
  var propTypes: React.WeakValidationMap<DualListboxPropsBase>;
84
88
  var Option: typeof import("./Option").default;
@@ -9,22 +9,22 @@ type FileRequestAddHandler = (files: globalThis.File[], data: {
9
9
  /** @public */
10
10
  type FileRequestRemoveHandler = (data: {
11
11
  event: {
12
- itemId?: any;
12
+ itemId?: string;
13
13
  name: string;
14
14
  };
15
15
  filename: string;
16
16
  index: number;
17
- itemId?: any;
17
+ itemId?: string;
18
18
  name?: string;
19
19
  }) => void;
20
20
  type FileRequestRetryHandler = (data: {
21
21
  event: {
22
- itemId?: any;
22
+ itemId?: string;
23
23
  name: string;
24
24
  };
25
25
  filename: string;
26
26
  index: number;
27
- itemId?: any;
27
+ itemId?: string;
28
28
  name?: string;
29
29
  }) => void;
30
30
  interface FilePropsBase {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ItemClickHandler } from './Item';
3
2
  export interface FileContext {
4
3
  disabled: boolean;
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { ComponentProps } from '../utils/types';
4
4
  type ItemClickHandler = (data: {
5
- itemId?: any;
5
+ itemId?: string;
6
6
  name: string;
7
7
  index: number;
8
8
  }) => void;
@@ -14,8 +14,14 @@ interface ItemPropsBase {
14
14
  elementRef?: React.Ref<HTMLDivElement>;
15
15
  /** Show the Item in an error state. */
16
16
  error?: boolean;
17
+ /**
18
+ * The icon or thumbnail image to show before the label.
19
+ * If not passed this will be generated from the filename extension.
20
+ * @private
21
+ */
22
+ icon?: React.ReactNode;
17
23
  /** A unique for this file. */
18
- itemId?: any;
24
+ itemId?: string;
19
25
  /** The name is displayed on the item. */
20
26
  name: string;
21
27
  /** @private */
@@ -25,13 +31,15 @@ interface ItemPropsBase {
25
31
  uploadPercentage?: number;
26
32
  }
27
33
  type ItemProps = ComponentProps<ItemPropsBase, 'div'>;
28
- declare function Item({ disabled, elementRef, error, itemId, name, index, uploadPercentage, ...otherProps }: ItemProps): React.JSX.Element;
34
+ declare function Item({ disabled, elementRef, error, icon, itemId, name, index, uploadPercentage, ...otherProps }: ItemProps): React.JSX.Element;
29
35
  declare namespace Item {
30
36
  var propTypes: {
31
37
  disabled: PropTypes.Requireable<boolean>;
32
38
  elementRef: PropTypes.Requireable<object>;
33
39
  error: PropTypes.Requireable<boolean>;
34
40
  /** @private */
41
+ icon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
42
+ /** @private */
35
43
  index: PropTypes.Requireable<number>;
36
44
  itemId: PropTypes.Requireable<any>;
37
45
  name: PropTypes.Validator<string>;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  interface ItemIconProps {
3
3
  name: string;
4
+ icon?: React.ReactNode;
4
5
  }
5
- declare const ItemIcon: ({ name }: ItemIconProps) => React.JSX.Element;
6
+ declare const ItemIcon: ({ name, icon }: ItemIconProps) => React.JSX.Element;
6
7
  export default ItemIcon;
@@ -1,10 +1,10 @@
1
1
  import React, { Component } from 'react';
2
2
  import { FileRequestAddHandler } from '@splunk/react-ui/File';
3
- declare class Disabled extends Component<{}, {
3
+ declare class Disabled extends Component<object, {
4
4
  filename?: string;
5
5
  }> {
6
6
  private fileReader;
7
- constructor(props: {});
7
+ constructor(props: object);
8
8
  handleAddFiles: FileRequestAddHandler;
9
9
  handleRemoveFile: () => void;
10
10
  render(): React.JSX.Element;
@@ -1,11 +1,11 @@
1
1
  import React, { Component } from 'react';
2
2
  import { FileRequestAddHandler } from '@splunk/react-ui/File';
3
- declare class DropAnywhere extends Component<{}, {
3
+ declare class DropAnywhere extends Component<object, {
4
4
  filename?: string;
5
5
  open: boolean;
6
6
  }> {
7
7
  private fileReader;
8
- constructor(props: {});
8
+ constructor(props: object);
9
9
  handleAddFiles: FileRequestAddHandler;
10
10
  handleRemoveFile: () => void;
11
11
  handleOpen: () => void;
@@ -4,11 +4,11 @@ interface FileItem {
4
4
  name: string;
5
5
  value?: string | ArrayBuffer | null;
6
6
  }
7
- declare class Multi extends Component<{}, {
7
+ declare class Multi extends Component<object, {
8
8
  files: FileItem[];
9
9
  }> {
10
10
  static loadFile(file: globalThis.File): FileItem;
11
- constructor(props: {});
11
+ constructor(props: object);
12
12
  handleAddFiles: FileRequestAddHandler;
13
13
  handleRemoveFile: FileRequestRemoveHandler;
14
14
  render(): React.JSX.Element;
@@ -1,10 +1,10 @@
1
1
  import React, { Component } from 'react';
2
2
  import { FileRequestAddHandler } from '@splunk/react-ui/File';
3
- declare class Single extends Component<{}, {
3
+ declare class Single extends Component<object, {
4
4
  filename?: string;
5
5
  }> {
6
6
  private fileReader;
7
- constructor(props: {});
7
+ constructor(props: object);
8
8
  handleAddFiles: FileRequestAddHandler;
9
9
  handleRemoveFile: () => void;
10
10
  render(): React.JSX.Element;
@@ -29,7 +29,7 @@ interface FormRowsPropsBase {
29
29
  onRequestMove?: FormRowsRequestMoveHandler;
30
30
  }
31
31
  type FormRowsProps = ComponentProps<FormRowsPropsBase, 'div'>;
32
- declare function FormRows({ addLabel, children, disabled, header, menu, onRequestAdd, onRequestMove, ...otherProps }: FormRowsProps): React.JSX.Element;
32
+ declare function FormRows({ addLabel, children, disabled, elementRef, header, menu, onRequestAdd, onRequestMove, ...otherProps }: FormRowsProps): React.JSX.Element;
33
33
  declare namespace FormRows {
34
34
  var propTypes: {
35
35
  addLabel: PropTypes.Requireable<string>;
@@ -42,9 +42,9 @@ declare namespace FormRows {
42
42
  onRequestMove: PropTypes.Requireable<(...args: any[]) => any>;
43
43
  };
44
44
  var Row: typeof import("./Row").default;
45
- var addRow: (element: React.ReactElement<any, string | React.JSXElementConstructor<any>>, items: React.ReactElement<any, string | React.JSXElementConstructor<any>>[]) => React.ReactElement<any, string | React.JSXElementConstructor<any>>[];
46
- var moveRow: (fromIndex: number, toIndex: number, items: React.ReactElement<any, string | React.JSXElementConstructor<any>>[]) => React.ReactElement<any, string | React.JSXElementConstructor<any>>[];
47
- var removeRow: (index: number, items: React.ReactElement<any, string | React.JSXElementConstructor<any>>[]) => React.ReactElement<any, string | React.JSXElementConstructor<any>>[];
45
+ var addRow: (element: React.ReactElement, items: React.ReactElement[]) => React.ReactElement<any, string | React.JSXElementConstructor<any>>[];
46
+ var moveRow: (fromIndex: number, toIndex: number, items: React.ReactElement[]) => React.ReactElement<any, string | React.JSXElementConstructor<any>>[];
47
+ var removeRow: (index: number, items: React.ReactElement[]) => React.ReactElement<any, string | React.JSXElementConstructor<any>>[];
48
48
  }
49
49
  export default FormRows;
50
50
  export { Row };
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  import { RowKeyDownHandler } from './Row';
3
2
  export interface FormRowsContext {
4
- disabledDeleteButton: boolean | undefined;
3
+ disabledRemoveButton: boolean | undefined;
5
4
  onKeyDown?: RowKeyDownHandler;
6
5
  hasOnRequestAdd?: boolean;
7
6
  sortable: boolean;
@@ -8,7 +8,7 @@ type RowRequestRemoveHandler = (event: React.MouseEvent<HTMLButtonElement>, data
8
8
  }) => void;
9
9
  interface RowPropsBase {
10
10
  children?: React.ReactNode;
11
- /** Index of the row. */
11
+ /** Index of the row. This is required if the rows are sortable. */
12
12
  index?: number;
13
13
  /** Callback when Remove button is clicked. */
14
14
  onRequestRemove?: RowRequestRemoveHandler;
@@ -1,9 +1,9 @@
1
1
  import React, { Component } from 'react';
2
2
  import { FormRowsRequestMoveHandler, RowRequestRemoveHandler } from '@splunk/react-ui/FormRows';
3
- declare class Basic extends Component<{}, {
3
+ declare class Basic extends Component<object, {
4
4
  items: React.ReactElement[];
5
5
  }> {
6
- constructor(props: {});
6
+ constructor(props: object);
7
7
  handleRequestAdd: () => void;
8
8
  handleRequestMove: FormRowsRequestMoveHandler;
9
9
  handleRequestRemove: RowRequestRemoveHandler;
@@ -1,9 +1,9 @@
1
1
  import React, { Component } from 'react';
2
2
  import { FormRowsRequestMoveHandler, RowRequestRemoveHandler } from '@splunk/react-ui/FormRows';
3
- declare class Header extends Component<{}, {
3
+ declare class Header extends Component<object, {
4
4
  items: React.ReactElement[];
5
5
  }> {
6
- constructor(props: {});
6
+ constructor(props: object);
7
7
  handleRequestAdd: () => void;
8
8
  handleRequestMove: FormRowsRequestMoveHandler;
9
9
  handleRequestRemove: RowRequestRemoveHandler;
@@ -1,10 +1,10 @@
1
1
  import React, { Component } from 'react';
2
2
  import { FormRowsRequestMoveHandler, RowRequestRemoveHandler } from '@splunk/react-ui/FormRows';
3
3
  import { SelectChangeHandler } from '@splunk/react-ui/Select';
4
- declare class Menu extends Component<{}, {
4
+ declare class Menu extends Component<object, {
5
5
  items: React.ReactElement[];
6
6
  }> {
7
- constructor(props: {});
7
+ constructor(props: object);
8
8
  handleRequestAdd: SelectChangeHandler;
9
9
  handleRequestMove: FormRowsRequestMoveHandler;
10
10
  handleRequestRemove: RowRequestRemoveHandler;
@@ -1,9 +1,9 @@
1
1
  import React, { Component } from 'react';
2
2
  import { FormRowsRequestMoveHandler } from '@splunk/react-ui/FormRows';
3
- declare class ReorderOnly extends Component<{}, {
3
+ declare class ReorderOnly extends Component<object, {
4
4
  items: React.ReactElement[];
5
5
  }> {
6
- constructor(props: {});
6
+ constructor(props: object);
7
7
  handleRequestMove: FormRowsRequestMoveHandler;
8
8
  render(): React.JSX.Element;
9
9
  }
@@ -26,8 +26,6 @@ interface ImagePropsBase {
26
26
  elementRef?: React.Ref<HTMLDivElement>;
27
27
  /** Show the component in an error state. */
28
28
  error?: boolean;
29
- /** The max-height of the preview in pixels. */
30
- maxHeight?: number;
31
29
  /** A callback for when the image changes. The function is passed an
32
30
  * object containing two keys: `filename` and `imageDataURI`. Both are
33
31
  * `null` if the image was removed. */
@@ -38,7 +36,7 @@ declare const isAllowedFilename: (filename: string, allowExtensions: string[]) =
38
36
  /**
39
37
  * Image provides the ability to accept image files and present a preview of the image.
40
38
  */
41
- declare function Image({ allowExtensions, defaultFilename: defaultFilenameProp, defaultImageDataURI, disabled, error, maxHeight, onImageChange, ...otherProps }: ImageProps): React.JSX.Element;
39
+ declare function Image({ allowExtensions, defaultFilename: defaultFilenameProp, defaultImageDataURI, disabled, error, onImageChange, ...otherProps }: ImageProps): React.JSX.Element;
42
40
  declare namespace Image {
43
41
  var propTypes: {
44
42
  allowExtensions: PropTypes.Requireable<(string | null | undefined)[]>;
@@ -48,7 +46,6 @@ declare namespace Image {
48
46
  dropAnywhere: PropTypes.Requireable<boolean>;
49
47
  elementRef: PropTypes.Requireable<object>;
50
48
  error: PropTypes.Requireable<boolean>;
51
- maxHeight: PropTypes.Requireable<number>;
52
49
  onImageChange: PropTypes.Requireable<(...args: any[]) => any>;
53
50
  };
54
51
  }
@@ -1,11 +1,11 @@
1
1
  import React, { Component } from 'react';
2
2
  import { JSONTreeClickValueHandler, JSONTreeClickKeyHandler } from '@splunk/react-ui/JSONTree';
3
- declare class Events extends Component<{}, {
3
+ declare class Events extends Component<object, {
4
4
  key: string;
5
5
  keyPath?: (string | number)[];
6
6
  value: string;
7
7
  }> {
8
- constructor(props: {});
8
+ constructor(props: object);
9
9
  onClickJSONValue: JSONTreeClickValueHandler;
10
10
  onClickJSONKey: JSONTreeClickKeyHandler;
11
11
  render(): React.JSX.Element;
@@ -20,3 +20,4 @@ export declare namespace Layout {
20
20
  };
21
21
  }
22
22
  export default Layout;
23
+ export type { LayoutProps, LayoutPropsBase };
@@ -31,6 +31,10 @@ interface LinkPropsBase {
31
31
  * The URL or path to link to.
32
32
  */
33
33
  to?: string;
34
+ /**
35
+ * @private
36
+ */
37
+ tag?: 'a' | 'button';
34
38
  }
35
39
  type LinkLinkProps = ComponentProps<LinkPropsBase, 'a', 'href'>;
36
40
  type LinkButtonProps = ComponentProps<LinkPropsBase, 'button'>;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
- declare const External: import("styled-components").StyledComponent<({ children, variant, ...otherprops }: import("@splunk/react-icons/ArrowSquareTopRightInset").IconBaseProps) => import("react").JSX.Element | null, any, {}, never>;
1
+ declare const External: import("styled-components").StyledComponent<({ children, variant, ...otherprops }: import("@splunk/react-icons/ArrowSquareTopRightInset").IconBaseProps) => React.JSX.Element | null, any, import("@splunk/themes").OptionalThemedProps<import("@splunk/themes").AnyTheme>, never>;
3
2
  export default External;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ComponentProps } from '../utils/types';
3
- type DividerProps = ComponentProps<{}, 'div'>;
3
+ type DividerProps = ComponentProps<object, 'div'>;
4
4
  /**
5
5
  * A non-interactive menu item used to visually separate groups of items in the menu.
6
6
  */
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export interface MenuContextValue {
3
2
  role?: string;
4
3
  preventFocus?: boolean;
@@ -21,7 +21,7 @@ interface MessagePropsBase {
21
21
  type?: 'info' | 'warning' | 'error' | 'success';
22
22
  }
23
23
  type MessageProps = ComponentProps<MessagePropsBase, 'div'>;
24
- declare function Message({ appearance, children, type, onRequestRemove, ...otherProps }: MessageProps): React.JSX.Element;
24
+ declare function Message({ appearance, children, elementRef, onRequestRemove, type, ...otherProps }: MessageProps): React.JSX.Element;
25
25
  declare namespace Message {
26
26
  var propTypes: {
27
27
  appearance: PropTypes.Requireable<string>;
@@ -6,17 +6,21 @@ interface MessageBarPropsBase {
6
6
  * Text is required and should be concise.
7
7
  */
8
8
  children: React.ReactNode;
9
+ /**
10
+ * A React ref which is set to the DOM element when the component mounts and null when it unmounts.
11
+ */
12
+ elementRef?: React.Ref<HTMLDivElement>;
9
13
  /**
10
14
  * Includes a close button. Always consider including a close button.
11
15
  */
12
- onRequestClose?: React.MouseEventHandler<HTMLButtonElement>;
16
+ onRequestClose?: React.MouseEventHandler<HTMLButtonElement | HTMLAnchorElement>;
13
17
  /**
14
18
  * Sets the severity of this `MessageBar`.
15
19
  * */
16
20
  type: 'info' | 'warning' | 'error' | 'success';
17
21
  }
18
22
  type MessageBarProps = ComponentProps<MessageBarPropsBase, 'div'>;
19
- declare function MessageBar({ children, type, onRequestClose, ...otherProps }: MessageBarProps): React.JSX.Element;
23
+ declare function MessageBar({ children, elementRef, onRequestClose, type, ...otherProps }: MessageBarProps): React.JSX.Element;
20
24
  declare namespace MessageBar {
21
25
  var propTypes: {
22
26
  children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ModalRequestCloseHandler } from './Modal';
3
2
  export interface ModalContext {
4
3
  divider?: 'header' | 'footer' | 'both' | 'none';
@@ -1,9 +1,8 @@
1
- import React, { Component } from 'react';
2
- import { Divider, Heading } from '@splunk/react-ui/Menu';
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
3
  import { MultiselectChangeHandler, MultiselectFilterChangeHandler, MultiselectScrollBottomHandler } from './Multiselect';
4
- import Option from './Option';
5
4
  import { SelectBaseProps } from '../Select/SelectBase';
6
- import { ClassComponentProps } from '../utils/types';
5
+ import { ComponentProps } from '../utils/types';
7
6
  interface CompactPropsBase {
8
7
  animateLoading?: boolean;
9
8
  /**
@@ -151,23 +150,49 @@ interface CompactPropsBase {
151
150
  /** @private */
152
151
  toggle?: SelectBaseProps['toggle'];
153
152
  }
154
- declare const defaultProps: Required<Pick<CompactPropsBase, 'allowNewValues' | 'animateLoading' | 'defaultPlacement' | 'disabled' | 'inline' | 'isLoadingOptions' | 'menuStyle' | 'noOptionsMessage' | 'placeholder' | 'showSelectedValuesFirst' | 'tabConfirmsNewValue'>>;
155
- type CompactProps = ClassComponentProps<CompactPropsBase, typeof defaultProps, 'button'>;
156
- interface CompactState {
157
- activeIndex: number;
158
- filterKeyword: string;
159
- open: boolean;
160
- textHasFocus: boolean;
161
- topValues: (string | number | boolean)[];
162
- values: (string | number | boolean)[];
163
- }
164
- declare class Compact extends Component<CompactProps, CompactState> {
165
- static propTypes: React.WeakValidationMap<CompactProps>;
166
- static defaultProps: Required<Pick<CompactPropsBase, "placeholder" | "disabled" | "inline" | "defaultPlacement" | "animateLoading" | "noOptionsMessage" | "menuStyle" | "allowNewValues" | "isLoadingOptions" | "showSelectedValuesFirst" | "tabConfirmsNewValue">>;
167
- static Option: typeof Option;
168
- static Divider: typeof Divider;
169
- static Heading: typeof Heading;
170
- render(): React.JSX.Element;
153
+ type CompactProps = ComponentProps<CompactPropsBase, 'button'>;
154
+ declare function Compact({ allowNewValues, animateLoading, children, controlledFilter, defaultPlacement, defaultValues, describedBy, disabled, elementRef, error, filter, footerMessage, inline, inputId, inputRef, isLoadingOptions, labelledBy, loadingMessage, menuStyle, name, noOptionsMessage, onChange, onClose, onFilterChange, onOpen, onScroll, onScrollBottom, placeholder, repositionMode, selectAllAppearance, showSelectedValuesFirst, tabConfirmsNewValue, values, virtualization, ...otherProps }: CompactProps): React.JSX.Element;
155
+ declare namespace Compact {
156
+ var propTypes: {
157
+ allowNewValues: PropTypes.Requireable<boolean>;
158
+ animateLoading: PropTypes.Requireable<boolean>;
159
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
160
+ controlledFilter: PropTypes.Requireable<boolean>;
161
+ defaultPlacement: PropTypes.Requireable<string>;
162
+ defaultValues: PropTypes.Requireable<any[]>;
163
+ describedBy: PropTypes.Requireable<string>;
164
+ disabled: PropTypes.Requireable<boolean>;
165
+ elementRef: PropTypes.Requireable<object>;
166
+ error: PropTypes.Requireable<boolean>;
167
+ filter: PropTypes.Requireable<string | boolean>;
168
+ footerMessage: PropTypes.Requireable<PropTypes.ReactNodeLike>;
169
+ inline: PropTypes.Requireable<boolean>;
170
+ inputId: PropTypes.Requireable<string>;
171
+ inputRef: PropTypes.Requireable<object>;
172
+ isLoadingOptions: PropTypes.Requireable<boolean>;
173
+ labelledBy: PropTypes.Requireable<string>;
174
+ loadingMessage: PropTypes.Requireable<PropTypes.ReactNodeLike>;
175
+ menuStyle: PropTypes.Requireable<object>;
176
+ name: PropTypes.Requireable<string>;
177
+ noOptionsMessage: PropTypes.Requireable<PropTypes.ReactNodeLike>;
178
+ onChange: PropTypes.Requireable<(...args: any[]) => any>;
179
+ onClose: PropTypes.Requireable<(...args: any[]) => any>;
180
+ onFilterChange: PropTypes.Requireable<(...args: any[]) => any>;
181
+ onOpen: PropTypes.Requireable<(...args: any[]) => any>;
182
+ onScroll: PropTypes.Requireable<(...args: any[]) => any>;
183
+ onScrollBottom: PropTypes.Requireable<(...args: any[]) => any>;
184
+ placeholder: PropTypes.Requireable<string>;
185
+ repositionMode: PropTypes.Requireable<string>;
186
+ selectAllAppearance: PropTypes.Requireable<string>;
187
+ showSelectedValuesFirst: PropTypes.Requireable<string>;
188
+ tabConfirmsNewValue: PropTypes.Requireable<boolean>;
189
+ values: PropTypes.Requireable<any[]>;
190
+ /** @private */
191
+ virtualization: PropTypes.Requireable<number>;
192
+ };
193
+ var Option: typeof import("./Option").default;
194
+ var Divider: typeof import("@splunk/react-ui/Menu").Divider;
195
+ var Heading: typeof import("@splunk/react-ui/Menu").Heading;
171
196
  }
172
197
  export default Compact;
173
198
  export { CompactPropsBase };