@splunk/react-ui 5.2.0 → 5.3.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 (77) hide show
  1. package/Avatar.js +57 -52
  2. package/Box.js +2 -1
  3. package/CHANGELOG.md +31 -0
  4. package/Calendar.js +8 -4
  5. package/Checkbox.d.ts +2 -0
  6. package/Checkbox.js +350 -0
  7. package/Code.js +151 -132
  8. package/CollapsiblePanel.js +184 -210
  9. package/Color.js +4 -2
  10. package/ControlGroup.js +2 -1
  11. package/Date.js +123 -119
  12. package/DefinitionList.js +100 -77
  13. package/Dropdown.js +2 -2
  14. package/DualListbox.js +409 -353
  15. package/File.js +102 -99
  16. package/JSONTree.js +317 -303
  17. package/Link.js +11 -11
  18. package/MIGRATION.md +27 -0
  19. package/Markdown.js +162 -151
  20. package/Menu.js +44 -42
  21. package/Modal.js +3 -3
  22. package/Multiselect.js +454 -435
  23. package/Paginator.js +2 -1
  24. package/ResultsMenu.js +2 -1
  25. package/Scroll.js +2 -1
  26. package/Search.js +131 -127
  27. package/Select.js +3 -2
  28. package/Switch.js +197 -229
  29. package/Table.js +24 -16
  30. package/Text.js +180 -206
  31. package/TextArea.js +233 -224
  32. package/Tooltip.js +144 -139
  33. package/package.json +9 -10
  34. package/tsconfig.check-docs.json +8 -0
  35. package/types/src/Avatar/docs/examples/Basic.d.ts +1 -1
  36. package/types/src/Checkbox/Checkbox.d.ts +90 -0
  37. package/types/src/Checkbox/docs/examples/Basic.d.ts +7 -0
  38. package/types/src/Checkbox/docs/examples/Disabled.d.ts +6 -0
  39. package/types/src/Checkbox/docs/examples/Error.d.ts +6 -0
  40. package/types/src/Checkbox/docs/examples/Uncontrolled.d.ts +7 -0
  41. package/types/src/Checkbox/index.d.ts +2 -0
  42. package/types/src/Code/Code.d.ts +4 -1
  43. package/types/src/Code/LineHighlights.d.ts +1 -0
  44. package/types/src/Code/LineNumbers.d.ts +2 -1
  45. package/types/src/Code/docs/examples/CustomizeContainer.d.ts +7 -0
  46. package/types/src/ControlGroup/docs/examples/CustomizedLabelTarget.d.ts +3 -3
  47. package/types/src/Date/Date.d.ts +7 -1
  48. package/types/src/DefinitionList/DefinitionList.d.ts +7 -2
  49. package/types/src/DefinitionList/DefinitionListContext.d.ts +1 -1
  50. package/types/src/DefinitionList/docs/examples/StackedLayout.d.ts +6 -0
  51. package/types/src/DualListbox/DualListbox.d.ts +1 -1
  52. package/types/src/DualListbox/Label.d.ts +7 -7
  53. package/types/src/DualListbox/Listbox.d.ts +2 -2
  54. package/types/src/DualListbox/ListboxContext.d.ts +1 -1
  55. package/types/src/File/File.d.ts +7 -1
  56. package/types/src/JSONTree/JSONTreeItem.d.ts +4 -2
  57. package/types/src/JSONTree/renderTreeItems.d.ts +2 -1
  58. package/types/src/Markdown/renderers/MarkdownCodeBlock.d.ts +2 -1
  59. package/types/src/Menu/docs/examples/Dimmed.d.ts +1 -1
  60. package/types/src/Menu/docs/examples/Disabled.d.ts +1 -0
  61. package/types/src/Multiselect/Compact.d.ts +7 -1
  62. package/types/src/Multiselect/Multiselect.d.ts +7 -1
  63. package/types/src/Multiselect/Normal.d.ts +7 -1
  64. package/types/src/Search/Search.d.ts +5 -1
  65. package/types/src/Switch/Switch.d.ts +7 -1
  66. package/types/src/Switch/docs/examples/Basic.d.ts +2 -10
  67. package/types/src/Switch/docs/examples/Disabled.d.ts +2 -9
  68. package/types/src/Table/ExpandButton.d.ts +1 -1
  69. package/types/src/Tooltip/Tooltip.d.ts +14 -1
  70. package/NonInteractiveCheckbox.js +0 -101
  71. package/types/src/CollapsiblePanel/icons/ExpandPanel.d.ts +0 -12
  72. package/types/src/NonInteractiveCheckbox/NonInteractiveCheckbox.d.ts +0 -22
  73. package/types/src/NonInteractiveCheckbox/index.d.ts +0 -1
  74. package/types/src/Switch/docs/examples/Error.d.ts +0 -6
  75. package/types/src/Text/IconOutlinedHide.d.ts +0 -3
  76. package/types/src/Text/IconOutlinedView.d.ts +0 -3
  77. /package/cypress/{tsconfig.cypress.json → tsconfig.check-cypress.json} +0 -0
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  interface LineNumbersProps {
3
+ containerAppearance: 'none' | 'section';
3
4
  value?: string;
4
5
  }
5
- declare function LineNumbers({ value }: LineNumbersProps): React.JSX.Element;
6
+ declare function LineNumbers({ containerAppearance, value }: LineNumbersProps): React.JSX.Element;
6
7
  export default LineNumbers;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ /**
3
+ * @name Customize container
4
+ * @description Use containerAppearance="section" when you need a defined container for Code.
5
+ */
6
+ declare function CustomizeContainer(): React.JSX.Element;
7
+ export default CustomizeContainer;
@@ -1,14 +1,14 @@
1
1
  import React, { Component } from 'react';
2
- import { SwitchClickHandler } from '@splunk/react-ui/Switch';
2
+ import { CheckboxChangeHandler } from '@splunk/react-ui/Checkbox';
3
3
  /**
4
4
  * @name Customized label target
5
5
  * @description Change the focus/activation target that should be linked to the label.
6
6
  */
7
7
  declare class CustomizedLabelTarget extends Component<object, {
8
- values: number[];
8
+ values: string[];
9
9
  }> {
10
10
  constructor(props: object);
11
- handleClick: SwitchClickHandler;
11
+ handleClick: CheckboxChangeHandler;
12
12
  render(): React.JSX.Element;
13
13
  }
14
14
  export default CustomizedLabelTarget;
@@ -17,6 +17,8 @@ type DateFocusHandler = (event: React.FocusEvent<HTMLInputElement>, data: {
17
17
  value: string;
18
18
  }) => void;
19
19
  interface DatePropsBase {
20
+ /** Append removes rounded borders and the border from the right side. */
21
+ append?: boolean;
20
22
  /**
21
23
  * Include an "X" button to clear the value.
22
24
  */
@@ -71,6 +73,8 @@ interface DatePropsBase {
71
73
  onClick?: React.MouseEventHandler<HTMLInputElement>;
72
74
  onFocus?: DateFocusHandler;
73
75
  onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;
76
+ /** Prepend removes rounded borders from the left side. */
77
+ prepend?: boolean;
74
78
  /**
75
79
  * Setting this value makes the property controlled. An onChange callback is required.
76
80
  *
@@ -93,9 +97,10 @@ interface DatePropsBaseUncontrolled extends DatePropsBase {
93
97
  }
94
98
  type DateProps = ComponentProps<DatePropsBaseControlled | DatePropsBaseUncontrolled, 'div'>;
95
99
  declare const validateValue: (value: string | undefined) => void;
96
- declare function Date({ canClear, defaultValue, disabled, elementRef, highlightToday, inline, inputOnly, locale, name, onChange, onClick, onFocus, onKeyDown, value: valueProp, ...otherProps }: DateProps): React.JSX.Element;
100
+ declare function Date({ append, canClear, defaultValue, disabled, elementRef, highlightToday, inline, inputOnly, locale, name, onChange, onClick, onFocus, onKeyDown, prepend, value: valueProp, ...otherProps }: DateProps): React.JSX.Element;
97
101
  declare namespace Date {
98
102
  var propTypes: {
103
+ append: PropTypes.Requireable<boolean>;
99
104
  canClear: PropTypes.Requireable<boolean>;
100
105
  defaultValue: PropTypes.Requireable<string>;
101
106
  describedBy: PropTypes.Requireable<string>;
@@ -114,6 +119,7 @@ declare namespace Date {
114
119
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
115
120
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
116
121
  onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
122
+ prepend: PropTypes.Requireable<boolean>;
117
123
  value: PropTypes.Requireable<string>;
118
124
  };
119
125
  var momentFormat: string;
@@ -8,6 +8,7 @@ interface DefinitionListPropsBase {
8
8
  /**
9
9
  * Defines the width of the `Description`.
10
10
  * Can be set to a specific pixel or string value. If not specified, will fill to take up available space.
11
+ * This prop is ignored when `layout="stacked"`.
11
12
  */
12
13
  descriptionWidth?: string;
13
14
  /**
@@ -19,17 +20,21 @@ interface DefinitionListPropsBase {
19
20
  *
20
21
  * - `fixed`: The `Term` uses a fixed width. The `Description` fills remaining available space.
21
22
  * - `auto`: Both `Term` and `Description` size proportionally based on their container, taking an equal portion of available space.
23
+ * - `stacked`: `Term` is displayed above the `Description`. Custom `termWidth` and `descriptionWidth` are ignored. Both `Term` and `Description` size proportionally.
24
+ *
22
25
  * `fixed` layout is the current default. In the next major version, this prop will default to `auto`.
23
26
  */
24
- layout?: 'fixed' | 'auto';
27
+ layout?: 'fixed' | 'auto' | 'stacked';
25
28
  /**
26
29
  * Sets the character used to separate key-value pair.
30
+ * Only supported in `layout="fixed"` and `layout="auto"`. Will not be rendered in `layout="stacked"`.
27
31
  */
28
32
  separatorCharacter?: string;
29
33
  /**
30
34
  * Defines the width of the `Term`.
31
35
  * Can be set to a specific pixel or string value.
32
- * The default value is ignored when layout="auto"
36
+ * The default value is ignored when `layout="auto"`.
37
+ * This prop is ignored when `layout="stacked"`.
33
38
  */
34
39
  termWidth?: string;
35
40
  }
@@ -1,6 +1,6 @@
1
1
  interface DefinitionListContextValue {
2
2
  descriptionWidth?: string;
3
- layout: 'fixed' | 'auto';
3
+ layout: 'fixed' | 'auto' | 'stacked';
4
4
  separatorCharacter?: '.' | string;
5
5
  termWidth?: string;
6
6
  }
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ /**
3
+ * @name Stacked layout
4
+ */
5
+ declare function StackedLayout(): React.JSX.Element;
6
+ export default StackedLayout;
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import Option from './Option';
3
3
  import { ComponentProps } from '../utils/types';
4
4
  /** @public */
5
- type DualListboxSelectHandler = (event: React.MouseEvent<HTMLButtonElement> | React.MouseEvent<HTMLLIElement> | React.KeyboardEvent<HTMLUListElement>, data: {
5
+ type DualListboxSelectHandler = (event: React.MouseEvent<HTMLLIElement> | React.KeyboardEvent<HTMLUListElement> | React.ChangeEvent<HTMLInputElement>, data: {
6
6
  /**
7
7
  * The list `name` associated to the batch action.
8
8
  */
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
- import { SwitchCheckboxWithSomeClickHandler } from '@splunk/react-ui/Switch';
2
+ import { CheckboxChangeHandler } from '@splunk/react-ui/Checkbox';
3
3
  import { ComponentProps } from '../utils/types';
4
- type ListboxLabelSwitchClickHandler = SwitchCheckboxWithSomeClickHandler;
4
+ type ListboxLabelCheckboxChangeHandler = CheckboxChangeHandler;
5
5
  interface ListboxLabelPropsBase {
6
6
  /**
7
- * ID for the label. Used to label the switch and associated listbox.
7
+ * ID for the label. Used to label the checkbox and associated listbox.
8
8
  */
9
9
  id: string;
10
10
  /**
@@ -20,18 +20,18 @@ interface ListboxLabelPropsBase {
20
20
  */
21
21
  name: string;
22
22
  /**
23
- * Toggle callback for the "select-all" switch.
23
+ * Toggle callback for the "select-all" checkbox.
24
24
  */
25
- onSwitchClick: ListboxLabelSwitchClickHandler;
25
+ onCheckboxChange: ListboxLabelCheckboxChangeHandler;
26
26
  /**
27
27
  * The value of this option and the label shown for it.
28
28
  */
29
29
  value: string;
30
30
  }
31
31
  type ListboxLabelProps = ComponentProps<ListboxLabelPropsBase, 'div'>;
32
- declare function ListboxLabel({ id, index, listId, name, onSwitchClick, value }: ListboxLabelProps): React.JSX.Element | null;
32
+ declare function ListboxLabel({ id, index, listId, name, onCheckboxChange, value }: ListboxLabelProps): React.JSX.Element | null;
33
33
  declare namespace ListboxLabel {
34
34
  var propTypes: React.WeakValidationMap<ListboxLabelPropsBase>;
35
35
  }
36
36
  export default ListboxLabel;
37
- export { ListboxLabelSwitchClickHandler };
37
+ export { ListboxLabelCheckboxChangeHandler };
@@ -7,9 +7,9 @@ type ListboxClickHandler = (event: React.MouseEvent<HTMLLIElement> | React.Keybo
7
7
  type ListboxKeyDownHandler = (event: React.KeyboardEvent<HTMLUListElement>, data: {
8
8
  name: string;
9
9
  }) => void;
10
- type ListboxSelectAllClickHandler = (event: React.MouseEvent<HTMLButtonElement>, data: {
10
+ type ListboxSelectAllClickHandler = (event: React.ChangeEvent<HTMLInputElement>, data: {
11
11
  name: string;
12
- selected: true | false | 'some';
12
+ selected: true | false | 'indeterminate';
13
13
  }) => void;
14
14
  interface ListboxPropsBase {
15
15
  /**
@@ -10,7 +10,7 @@ export type GetOptionStateHandler = (value: string) => {
10
10
  };
11
11
  export type GetLabelStateHandler = () => {
12
12
  disabled: boolean;
13
- selected: boolean | 'some';
13
+ selected: boolean | 'indeterminate';
14
14
  selectedValueCount: number;
15
15
  valueCount: number;
16
16
  };
@@ -49,6 +49,11 @@ interface FilePropsBase {
49
49
  fullscreen?: boolean;
50
50
  /** Show help text. */
51
51
  help?: React.ReactNode;
52
+ /**
53
+ * An id for the input, which may be necessary for accessibility, such as for aria
54
+ * attributes.
55
+ */
56
+ inputId?: string;
52
57
  /** The name is returned with onRequestAdd and onRequestRemove events,
53
58
  * which can be used to identify the
54
59
  * control when multiple controls share an onChange callback. */
@@ -74,7 +79,7 @@ type FileProps = ComponentProps<FilePropsBase, 'div'>;
74
79
  * file readers, only a reference to the file. This can be used to post binary content, or
75
80
  * upload using an array buffer.
76
81
  */
77
- declare function File({ accept, allowMultiple, children, disabled, dropAnywhere, elementRef, error, fullscreen, help, name, onRequestAdd, onRequestRemove, onRequestRetry, required, supportsMessage: supportsMessageProp, ...otherProps }: FileProps): React.JSX.Element;
82
+ declare function File({ accept, allowMultiple, children, disabled, dropAnywhere, elementRef, error, fullscreen, help, inputId: inputIdProp, name, onRequestAdd, onRequestRemove, onRequestRetry, required, supportsMessage: supportsMessageProp, ...otherProps }: FileProps): React.JSX.Element;
78
83
  declare namespace File {
79
84
  var propTypes: {
80
85
  accept: PropTypes.Requireable<string>;
@@ -86,6 +91,7 @@ declare namespace File {
86
91
  fullscreen: PropTypes.Requireable<boolean>;
87
92
  error: PropTypes.Requireable<boolean>;
88
93
  help: PropTypes.Requireable<PropTypes.ReactNodeLike>;
94
+ inputId: PropTypes.Requireable<string>;
89
95
  name: PropTypes.Requireable<string>;
90
96
  onRequestAdd: PropTypes.Requireable<(...args: any[]) => any>;
91
97
  onRequestRemove: PropTypes.Requireable<(...args: any[]) => any>;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import { TreeItemPropsBase } from '@splunk/react-ui/Tree';
3
4
  import { JSONElement } from './JSONTree';
4
- import { TreeItemPropsBase } from '../Tree';
5
5
  import { ComponentProps } from '../utils/types';
6
6
  export type ExpandLinkRenderer = (params: {
7
7
  onToggleExpansion: (event: React.KeyboardEvent<HTMLLIElement> | React.MouseEvent<HTMLSpanElement>, data?: {
@@ -20,6 +20,7 @@ interface JSONTreeItemPropsBase extends TreeItemPropsBase {
20
20
  indentArray?: string[];
21
21
  index: number;
22
22
  initialOpenState: boolean;
23
+ isRoot?: boolean;
23
24
  properties?: string[];
24
25
  propertyDataPath: string;
25
26
  propertyElement?: JSX.Element | undefined;
@@ -28,7 +29,7 @@ interface JSONTreeItemPropsBase extends TreeItemPropsBase {
28
29
  value?: JSONElement;
29
30
  }
30
31
  type JSONTreeItemProps = ComponentProps<JSONTreeItemPropsBase, 'li'>;
31
- export declare function JSONTreeItem({ clickableKeyRef, clickableValRef, hasChildren, indentArray, index, initialOpenState, onFocus, properties, propertyDataPath, propertyElement, renderExpandLink, representation, value, ...otherProps }: JSONTreeItemProps): React.JSX.Element;
32
+ export declare function JSONTreeItem({ clickableKeyRef, clickableValRef, hasChildren, indentArray, index, initialOpenState, isRoot, onFocus, properties, propertyDataPath, propertyElement, renderExpandLink, representation, value, ...otherProps }: JSONTreeItemProps): React.JSX.Element;
32
33
  export declare namespace JSONTreeItem {
33
34
  var propTypes: {
34
35
  clickableKeyRef: PropTypes.Requireable<object>;
@@ -37,6 +38,7 @@ export declare namespace JSONTreeItem {
37
38
  indentArray: PropTypes.Requireable<(string | null | undefined)[]>;
38
39
  index: PropTypes.Requireable<number>;
39
40
  initialOpenState: PropTypes.Requireable<boolean>;
41
+ isRoot: PropTypes.Requireable<boolean>;
40
42
  properties: PropTypes.Requireable<(string | null | undefined)[]>;
41
43
  propertyDataPath: PropTypes.Requireable<string>;
42
44
  propertyElement: PropTypes.Requireable<PropTypes.ReactNodeLike>;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { JSONElement, JSONTreeClickKeyHandler, JSONTreeClickValueHandler } from './JSONTree';
3
3
  type RenderTreeItemsProps = {
4
+ baseId: string;
4
5
  defaultOpen?: boolean;
5
6
  defaultExpanded?: boolean;
6
7
  expandChildrenOnShiftKey?: boolean;
@@ -14,5 +15,5 @@ type RenderTreeItemsProps = {
14
15
  shift?: boolean;
15
16
  updateShift: ((newShift: boolean) => void) | undefined;
16
17
  };
17
- export declare function renderTreeItems({ defaultOpen, defaultExpanded, expandChildrenOnShiftKey, indent, indentLevel, obj, onClickKey, onClickValue, overflow, path, shift, updateShift, }: RenderTreeItemsProps): React.JSX.Element | React.JSX.Element[];
18
+ export declare function renderTreeItems({ baseId, defaultOpen, defaultExpanded, expandChildrenOnShiftKey, indent, indentLevel, obj, onClickKey, onClickValue, overflow, path, shift, updateShift, }: RenderTreeItemsProps): React.JSX.Element | React.JSX.Element[];
18
19
  export {};
@@ -3,9 +3,10 @@ import { ComponentProps } from '../../utils/types';
3
3
  import { StyledCodeBlock } from '../MarkdownStyles';
4
4
  interface MarkdownCodeBlockPropsBase {
5
5
  children: React.ReactNode[];
6
+ containerAppearance?: 'none' | 'section';
6
7
  language?: string;
7
8
  }
8
9
  type MarkdownCodeBlockProps = ComponentProps<MarkdownCodeBlockPropsBase, 'div'>;
9
- declare function MarkdownCodeBlock({ children, language, ...otherProps }: MarkdownCodeBlockProps): React.JSX.Element;
10
+ declare function MarkdownCodeBlock({ children, containerAppearance, language, ...otherProps }: MarkdownCodeBlockProps): React.JSX.Element;
10
11
  export default MarkdownCodeBlock;
11
12
  export { StyledCodeBlock };
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  /**
3
3
  * @name Dimmed
4
- * @description If you absolutely need to disable a Menu Item use a dimmed Menu Item. When the disabled prop is set to "dimmed", the Menu Item does not respond to events but can still receive focus to ensure users can navigate to the Item when using assistive technologies. This also sets aria-disabled to true.
4
+ * @description Rendering a 'dimmed' Menu Item ensures the Menu Item is still discoverable and can receive focus, but the Menu Item cannot not be activated by the user.
5
5
  */
6
6
  declare function Dimmed(): React.JSX.Element;
7
7
  export default Dimmed;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  /**
3
3
  * @name Disabled
4
+ * @description Consider using a 'dimmed' Menu Item. Disabling Menu Items creates barriers for all users and can exclude people with disabilities. If necessary, a Menu Item can be completely disabled by setting disabled='disabled'. In these cases, consider contacting us to collaborate on alternatives for a more inclusive experience.
4
5
  */
5
6
  declare function Disabled(): React.JSX.Element;
6
7
  export default Disabled;
@@ -9,6 +9,8 @@ interface CompactPropsBase {
9
9
  * Allow the user to add arbitrary values.
10
10
  */
11
11
  allowNewValues?: boolean;
12
+ /** Append removes rounded borders and the border from the right side. */
13
+ append?: boolean;
12
14
  /**
13
15
  * `children` should be `Multiselect.Option`, `Multiselect.Heading`, or
14
16
  * `Multiselect.Divider`.
@@ -119,6 +121,8 @@ interface CompactPropsBase {
119
121
  * If 'value' is undefined or don't match an item, the Button will display this text.
120
122
  */
121
123
  placeholder?: string;
124
+ /** Prepend removes rounded borders from the left side. */
125
+ prepend?: boolean;
122
126
  /**
123
127
  * See `repositionMode` on `Popover` for details.
124
128
  */
@@ -151,11 +155,12 @@ interface CompactPropsBase {
151
155
  toggle?: SelectBaseProps['toggle'];
152
156
  }
153
157
  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;
158
+ declare function Compact({ allowNewValues, animateLoading, append, 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, prepend, repositionMode, selectAllAppearance, showSelectedValuesFirst, tabConfirmsNewValue, values, virtualization, ...otherProps }: CompactProps): React.JSX.Element;
155
159
  declare namespace Compact {
156
160
  var propTypes: {
157
161
  allowNewValues: PropTypes.Requireable<boolean>;
158
162
  animateLoading: PropTypes.Requireable<boolean>;
163
+ append: PropTypes.Requireable<boolean>;
159
164
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
160
165
  controlledFilter: PropTypes.Requireable<boolean>;
161
166
  defaultPlacement: PropTypes.Requireable<string>;
@@ -182,6 +187,7 @@ declare namespace Compact {
182
187
  onScroll: PropTypes.Requireable<(...args: any[]) => any>;
183
188
  onScrollBottom: PropTypes.Requireable<(...args: any[]) => any>;
184
189
  placeholder: PropTypes.Requireable<string>;
190
+ prepend: PropTypes.Requireable<boolean>;
185
191
  repositionMode: PropTypes.Requireable<string>;
186
192
  selectAllAppearance: PropTypes.Requireable<string>;
187
193
  showSelectedValuesFirst: PropTypes.Requireable<string>;
@@ -23,6 +23,8 @@ interface MultiselectPropsBase {
23
23
  */
24
24
  allowNewValues?: boolean;
25
25
  animateLoading?: boolean;
26
+ /** Append removes rounded borders and the border from the right side. */
27
+ append?: boolean;
26
28
  /**
27
29
  * When compact, options are shown as checkboxes and the input is a single line. This is
28
30
  * useful when placing the Multiselect in a horizontal bar, such as a filter.
@@ -143,6 +145,8 @@ interface MultiselectPropsBase {
143
145
  * If 'value' is undefined or doesn't match an item, the Button will display this text.
144
146
  */
145
147
  placeholder?: string;
148
+ /** Prepend removes rounded borders from the left side. */
149
+ prepend?: boolean;
146
150
  /**
147
151
  * See `repositionMode` on `Popover` for details.
148
152
  */
@@ -198,7 +202,7 @@ interface MultiselectPropsBaseCompact extends MultiselectPropsBase {
198
202
  type MultiselectNormalProps = ComponentProps<(MultiselectPropsBaseControlled | MultiselectPropsBaseUncontrolled) & MultiselectPropsBaseNormal, 'div'>;
199
203
  type MultiselectCompactProps = ComponentProps<(MultiselectPropsBaseControlled | MultiselectPropsBaseUncontrolled) & MultiselectPropsBaseCompact, 'button'>;
200
204
  type MultiselectProps = MultiselectNormalProps | MultiselectCompactProps;
201
- declare function Multiselect({ allowNewValues, animateLoading, compact, 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 }: MultiselectProps): React.JSX.Element;
205
+ declare function Multiselect({ allowNewValues, animateLoading, append, compact, 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, prepend, repositionMode, selectAllAppearance, showSelectedValuesFirst, tabConfirmsNewValue, values, virtualization, ...otherProps }: MultiselectProps): React.JSX.Element;
202
206
  declare namespace Multiselect {
203
207
  var componentType: string;
204
208
  var Option: typeof import("./Option").default;
@@ -207,6 +211,7 @@ declare namespace Multiselect {
207
211
  var propTypes: {
208
212
  allowNewValues: PropTypes.Requireable<boolean>;
209
213
  animateLoading: PropTypes.Requireable<boolean>;
214
+ append: PropTypes.Requireable<boolean>;
210
215
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
211
216
  compact: PropTypes.Requireable<boolean>;
212
217
  controlledFilter: PropTypes.Requireable<boolean>;
@@ -234,6 +239,7 @@ declare namespace Multiselect {
234
239
  onScroll: PropTypes.Requireable<(...args: any[]) => any>;
235
240
  onScrollBottom: PropTypes.Requireable<(...args: any[]) => any>;
236
241
  placeholder: PropTypes.Requireable<string>;
242
+ prepend: PropTypes.Requireable<boolean>;
237
243
  repositionMode: PropTypes.Requireable<string>;
238
244
  selectAllAppearance: PropTypes.Requireable<string>;
239
245
  showSelectedValuesFirst: PropTypes.Requireable<string>;
@@ -8,6 +8,8 @@ interface NormalPropsBase {
8
8
  */
9
9
  allowNewValues?: boolean;
10
10
  animateLoading?: boolean;
11
+ /** Append removes rounded borders and the border from the right side. */
12
+ append?: boolean;
11
13
  /**
12
14
  * `children` should be `Multiselect.Option`, `Multiselect.Heading`, or
13
15
  * `Multiselect.Divider`.
@@ -107,6 +109,8 @@ interface NormalPropsBase {
107
109
  * If 'value' is undefined or don't match an item, the Button will display this text.
108
110
  */
109
111
  placeholder?: string;
112
+ /** Prepend removes rounded borders from the left side. */
113
+ prepend?: boolean;
110
114
  /** @private. */
111
115
  required?: boolean;
112
116
  /**
@@ -123,11 +127,12 @@ interface NormalPropsBase {
123
127
  }
124
128
  export declare const getInlineMenuStyle: (({ anchorWidth, maxHeight, menuStyle }: any) => any) & import("lodash").MemoizedFunction;
125
129
  type NormalProps = ComponentProps<NormalPropsBase, 'div'>;
126
- declare function Normal({ allowNewValues, animateLoading, children, controlledFilter, defaultPlacement, defaultValues, describedBy, disabled, elementRef, error, footerMessage, inline, inputId, inputRef: inputRefProp, isLoadingOptions, labelledBy, loadingMessage, menuStyle, name, noOptionsMessage, onChange, onClose, onFilterChange, onScroll, onScrollBottom, onOpen, placeholder, required, repositionMode, tabConfirmsNewValue, values, ...otherProps }: NormalProps): React.JSX.Element;
130
+ declare function Normal({ allowNewValues, animateLoading, append, children, controlledFilter, defaultPlacement, defaultValues, describedBy, disabled, elementRef, error, footerMessage, inline, inputId, inputRef: inputRefProp, isLoadingOptions, labelledBy, loadingMessage, menuStyle, name, noOptionsMessage, onChange, onClose, onFilterChange, onScroll, onScrollBottom, onOpen, placeholder, prepend, required, repositionMode, tabConfirmsNewValue, values, ...otherProps }: NormalProps): React.JSX.Element;
127
131
  declare namespace Normal {
128
132
  var propTypes: {
129
133
  allowNewValues: PropTypes.Requireable<boolean>;
130
134
  animateLoading: PropTypes.Requireable<boolean>;
135
+ append: PropTypes.Requireable<boolean>;
131
136
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
132
137
  controlledFilter: PropTypes.Requireable<boolean>;
133
138
  defaultPlacement: PropTypes.Requireable<string>;
@@ -153,6 +158,7 @@ declare namespace Normal {
153
158
  onScroll: PropTypes.Requireable<(...args: any[]) => any>;
154
159
  onScrollBottom: PropTypes.Requireable<(...args: any[]) => any>;
155
160
  placeholder: PropTypes.Requireable<string>;
161
+ prepend: PropTypes.Requireable<boolean>;
156
162
  /** @private. */
157
163
  required: PropTypes.Requireable<boolean>;
158
164
  repositionMode: PropTypes.Requireable<string>;
@@ -19,6 +19,8 @@ type SearchFocusHandler = (event: React.FocusEvent<HTMLInputElement>, data: {
19
19
  }) => void;
20
20
  interface SearchPropsBase {
21
21
  animateLoading?: boolean;
22
+ /** Append removes rounded borders and the border from the right side. */
23
+ append?: boolean;
22
24
  /** All children must be instances of `Search.Option`. */
23
25
  children?: React.ReactNode;
24
26
  /**
@@ -87,6 +89,8 @@ interface SearchPropsBase {
87
89
  */
88
90
  onOpen?: () => void;
89
91
  placeholder?: string;
92
+ /** Prepend removes rounded borders from the left side. */
93
+ prepend?: boolean;
90
94
  /** The value of the input. Only applicable in controlled mode. */
91
95
  value?: string;
92
96
  }
@@ -100,7 +104,7 @@ interface SearchPropsBaseUncontrolled extends SearchPropsBase {
100
104
  value?: never;
101
105
  }
102
106
  type SearchProps = ComponentProps<SearchPropsBaseControlled | SearchPropsBaseUncontrolled, 'div'>;
103
- declare function Search({ animateLoading, children, defaultPlacement, defaultValue, describedBy, disabled, elementRef, error, footerMessage, inline, inputRef, isLoadingOptions, labelledBy, loadingMessage, menuStyle, name, noOptionsMessage, onChange, onClose, onFocus, onKeyDown, onOpen, placeholder, value: propValue, ...otherProps }: SearchProps): React.JSX.Element;
107
+ declare function Search({ animateLoading, append, children, defaultPlacement, defaultValue, describedBy, disabled, elementRef, error, footerMessage, inline, inputRef, isLoadingOptions, labelledBy, loadingMessage, menuStyle, name, noOptionsMessage, onChange, onClose, onFocus, onKeyDown, onOpen, placeholder, prepend, value: propValue, ...otherProps }: SearchProps): React.JSX.Element;
104
108
  declare namespace Search {
105
109
  var propTypes: React.WeakValidationMap<SearchPropsBase>;
106
110
  var Option: typeof import("./Option").default;
@@ -12,6 +12,12 @@ type SwitchCheckboxWithSomeClickHandler = (event: React.MouseEvent<HTMLButtonEle
12
12
  value?: any;
13
13
  }) => void;
14
14
  interface SwitchPropsBase {
15
+ /**
16
+ * Determines if the component renders as a checkbox or toggle.
17
+ *
18
+ * @deprecatedValue 'checkbox'
19
+ * The 'checkbox' value is deprecated and will be removed in a future major version.
20
+ */
15
21
  appearance?: 'checkbox' | 'toggle';
16
22
  children?: React.ReactNode;
17
23
  disabled?: boolean;
@@ -82,7 +88,7 @@ type SwitchProps = ComponentProps<SwitchCheckboxWithSomePropsBase | SwitchNoSome
82
88
  /**
83
89
  * `Switch` is a basic form control with an on/off state.
84
90
  */
85
- declare function Switch({ appearance, children, disabled, elementRef, error, id, inline, labelledBy, onClick, required, selected, selectedLabel, someSelectedLabel, toggleRef, unselectedLabel, value, ...otherProps }: SwitchProps): React.JSX.Element;
91
+ declare function Switch({ appearance, children, disabled, elementRef, error, id, inline, labelledBy, onClick, required, selected, selectedLabel, someSelectedLabel, role, tabIndex, toggleRef, unselectedLabel, value, ...otherProps }: SwitchProps): React.JSX.Element;
86
92
  declare namespace Switch {
87
93
  var propTypes: {
88
94
  appearance: PropTypes.Requireable<string>;
@@ -1,14 +1,6 @@
1
- import React, { Component } from 'react';
2
- import { SwitchClickHandler } from '@splunk/react-ui/Switch';
1
+ import React from 'react';
3
2
  /**
4
3
  * @name Basic
5
- * @description Some checkbox and toggle controls.
6
4
  */
7
- declare class Basic extends Component<object, {
8
- values: number[];
9
- }> {
10
- constructor(props: object);
11
- handleClick: SwitchClickHandler;
12
- render(): React.JSX.Element;
13
- }
5
+ declare const Basic: () => React.JSX.Element;
14
6
  export default Basic;
@@ -1,13 +1,6 @@
1
- import React, { Component } from 'react';
2
- import { SwitchClickHandler } from '@splunk/react-ui/Switch';
1
+ import React from 'react';
3
2
  /**
4
3
  * @name Disabled
5
4
  */
6
- declare class Disabled extends Component<object, {
7
- values: number[];
8
- }> {
9
- constructor(props: object);
10
- handleClick: SwitchClickHandler;
11
- render(): React.JSX.Element;
12
- }
5
+ declare const Disabled: () => React.JSX.Element;
13
6
  export default Disabled;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { ComponentProps } from '@splunk/react-ui/utils/types';
3
+ import { ComponentProps } from '../utils/types';
4
4
  interface ExpandButtonPropsBase {
5
5
  expanded?: boolean;
6
6
  }
@@ -94,6 +94,15 @@ interface TooltipPropsBase {
94
94
  * The onRequestClose and onRequestOpen callbacks are usually used.
95
95
  */
96
96
  open?: boolean;
97
+ /**
98
+ * Allows the `Tooltip` to point to and align with a different part of the anchor.
99
+ *
100
+ * This prop is forwarded to Popover. See `Popover`'s `pointTo` prop for more information.
101
+ */
102
+ pointTo?: {
103
+ x: number;
104
+ y: number;
105
+ };
97
106
  /** @private Generally passed by parent component rather than added directly. */
98
107
  prepend?: boolean;
99
108
  /**
@@ -122,7 +131,7 @@ type TooltipProps = ComponentProps<TooltipPropsBase, 'span'>;
122
131
  * The Tooltip component wraps arbitrary content to be displayed when the target element is hovered
123
132
  * or focused.
124
133
  */
125
- declare function Tooltip({ appearance, append, children, closeDelay, closeWhen, content, contentRelationship, defaultPlacement, elementRef, inline, onRequestClose, onRequestOpen, open: openProp, openDelay, renderAnchor, prepend, ...otherProps }: TooltipProps): React.JSX.Element;
134
+ declare function Tooltip({ appearance, append, children, closeDelay, closeWhen, content, contentRelationship, defaultPlacement, elementRef, inline, onRequestClose, onRequestOpen, open: openProp, openDelay, renderAnchor, pointTo, prepend, ...otherProps }: TooltipProps): React.JSX.Element;
126
135
  declare namespace Tooltip {
127
136
  var propTypes: {
128
137
  /** @private */
@@ -142,6 +151,10 @@ declare namespace Tooltip {
142
151
  onRequestOpen: PropTypes.Requireable<(...args: any[]) => any>;
143
152
  open: PropTypes.Requireable<boolean>;
144
153
  openDelay: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
154
+ pointTo: PropTypes.Requireable<PropTypes.InferProps<{
155
+ x: PropTypes.Requireable<number>;
156
+ y: PropTypes.Requireable<number>;
157
+ }>>;
145
158
  /** @private */
146
159
  prepend: PropTypes.Requireable<boolean>;
147
160
  renderAnchor: PropTypes.Requireable<(...args: any[]) => any>;