@splunk/react-ui 4.4.1 → 4.5.2

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 (131) hide show
  1. package/Accordion.js +37 -21
  2. package/Anchor.js +2 -2
  3. package/Animation.js +2 -2
  4. package/AnimationToggle.js +2 -2
  5. package/Box.js +2 -2
  6. package/Button.js +36 -12
  7. package/ButtonGroup.js +27 -6
  8. package/ButtonSimple.js +6 -6
  9. package/CHANGELOG.md +61 -1
  10. package/Calendar.js +14 -14
  11. package/Card.js +49 -23
  12. package/CardLayout.js +31 -10
  13. package/Chip.js +77 -53
  14. package/Clickable.js +4 -4
  15. package/CloseButton.js +6 -6
  16. package/Code.js +4 -4
  17. package/CollapsiblePanel.js +6 -6
  18. package/Color.js +103 -56
  19. package/ColumnLayout.js +4 -4
  20. package/ComboBox.js +20 -15
  21. package/Concertina.js +73 -68
  22. package/ControlGroup.js +72 -24
  23. package/Date.js +11 -11
  24. package/DefinitionList.js +6 -6
  25. package/Dropdown.js +12 -12
  26. package/EventListener.js +168 -0
  27. package/FetchOptions.js +8 -8
  28. package/File.js +48 -37
  29. package/FormRows.js +340 -220
  30. package/Image.js +14 -14
  31. package/JSONTree.js +5 -5
  32. package/Layer.js +32 -20
  33. package/Link.js +6 -6
  34. package/List.js +2 -2
  35. package/Markdown.js +250 -88
  36. package/Menu.js +70 -64
  37. package/Message.js +18 -18
  38. package/Modal.js +68 -14
  39. package/ModalLayer.js +4 -4
  40. package/Monogram.js +12 -11
  41. package/Multiselect.js +122 -78
  42. package/Number.js +19 -16
  43. package/Paginator.js +10 -10
  44. package/Paragraph.js +2 -2
  45. package/Popover.js +52 -38
  46. package/Progress.js +8 -8
  47. package/RadioBar.js +56 -69
  48. package/RadioList.js +2 -2
  49. package/Resize.js +19 -15
  50. package/ResultsMenu.js +8 -8
  51. package/ScreenReaderContent.js +2 -2
  52. package/Scroll.js +16 -14
  53. package/ScrollContainerContext.js +5 -5
  54. package/Search.d.ts +2 -0
  55. package/Search.js +797 -0
  56. package/Select.js +63 -35
  57. package/SidePanel.js +6 -6
  58. package/Slider.js +29 -25
  59. package/SlidingPanels.js +4 -4
  60. package/StaticContent.js +2 -2
  61. package/StepBar.js +56 -52
  62. package/Switch.js +8 -8
  63. package/TabBar.js +126 -85
  64. package/TabLayout.js +4 -5
  65. package/Table.js +188 -138
  66. package/Text.js +69 -63
  67. package/Tooltip.js +11 -11
  68. package/TransitionOpen.js +9 -9
  69. package/WaitSpinner.js +3 -4
  70. package/package.json +6 -7
  71. package/types/src/Accordion/AccordionContext.d.ts +10 -0
  72. package/types/src/Accordion/Panel.d.ts +0 -9
  73. package/types/src/Button/Button.d.ts +4 -2
  74. package/types/src/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  75. package/types/src/ButtonSimple/ButtonSimple.d.ts +5 -5
  76. package/types/src/Card/Card.d.ts +2 -0
  77. package/types/src/CardLayout/CardLayoutContext.d.ts +8 -0
  78. package/types/src/Color/Color.d.ts +2 -2
  79. package/types/src/ComboBox/ComboBox.d.ts +4 -3
  80. package/types/src/Concertina/ConcertinaContext.d.ts +8 -0
  81. package/types/src/Concertina/Panel.d.ts +2 -4
  82. package/types/src/ControlGroup/ControlGroup.d.ts +6 -1
  83. package/types/src/Date/Date.d.ts +3 -3
  84. package/types/src/EventListener/EventListener.d.ts +18 -0
  85. package/types/src/EventListener/index.d.ts +2 -0
  86. package/types/src/File/File.d.ts +6 -4
  87. package/types/src/FormRows/FormRows.d.ts +70 -12
  88. package/types/src/FormRows/FormRowsContext.d.ts +1 -0
  89. package/types/src/FormRows/Row.d.ts +9 -7
  90. package/types/src/Markdown/Markdown.d.ts +2 -0
  91. package/types/src/Markdown/renderers/MarkdownBlockquote.d.ts +14 -0
  92. package/types/src/Markdown/renderers/MarkdownCode.d.ts +15 -0
  93. package/types/src/Markdown/renderers/MarkdownCodeBlock.d.ts +16 -0
  94. package/types/src/Markdown/renderers/MarkdownHeading.d.ts +15 -0
  95. package/types/src/Markdown/renderers/MarkdownImage.d.ts +18 -0
  96. package/types/src/Markdown/renderers/MarkdownItem.d.ts +14 -0
  97. package/types/src/Markdown/renderers/MarkdownLink.d.ts +18 -0
  98. package/types/src/Markdown/renderers/MarkdownList.d.ts +26 -0
  99. package/types/src/Markdown/renderers/MarkdownParagraph.d.ts +14 -0
  100. package/types/src/Markdown/renderers/index.d.ts +10 -0
  101. package/types/src/Modal/Modal.d.ts +15 -3
  102. package/types/src/Monogram/Monogram.d.ts +5 -1
  103. package/types/src/Multiselect/Compact.d.ts +12 -4
  104. package/types/src/Multiselect/Multiselect.d.ts +14 -4
  105. package/types/src/Multiselect/Normal.d.ts +7 -2
  106. package/types/src/Number/Number.d.ts +11 -7
  107. package/types/src/Popover/Popover.d.ts +2 -2
  108. package/types/src/RadioBar/Option.d.ts +4 -14
  109. package/types/src/RadioBar/RadioBar.d.ts +2 -2
  110. package/types/src/RadioBar/RadioBarContext.d.ts +9 -0
  111. package/types/src/Scroll/Inner.d.ts +1 -1
  112. package/types/src/ScrollContainerContext/ScrollContainerContext.d.ts +4 -4
  113. package/types/src/Search/Option.d.ts +60 -0
  114. package/types/src/Search/Search.d.ts +97 -0
  115. package/types/src/Search/index.d.ts +2 -0
  116. package/types/src/Select/Select.d.ts +6 -2
  117. package/types/src/Select/SelectBase.d.ts +12 -5
  118. package/types/src/Slider/Slider.d.ts +2 -2
  119. package/types/src/StepBar/Step.d.ts +1 -13
  120. package/types/src/StepBar/StepBarContext.d.ts +8 -0
  121. package/types/src/TabBar/Tab.d.ts +5 -13
  122. package/types/src/TabBar/TabBarContext.d.ts +14 -0
  123. package/types/src/Table/Body.d.ts +1 -1
  124. package/types/src/Table/Head.d.ts +1 -1
  125. package/types/src/Table/Row.d.ts +10 -3
  126. package/types/src/Table/Table.d.ts +3 -2
  127. package/types/src/Text/Text.d.ts +11 -7
  128. package/types/src/icons/Sort.d.ts +3 -0
  129. package/types/src/usePrevious/index.d.ts +2 -0
  130. package/types/src/usePrevious/usePrevious.d.ts +12 -0
  131. package/usePrevious.js +137 -0
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { OptionClickHandler } from './Option';
3
+ export interface RadioBarContext {
4
+ appearance?: 'default' | 'pill' | 'prisma';
5
+ onClick?: OptionClickHandler;
6
+ error?: boolean;
7
+ }
8
+ export declare const RadioBarContext: import("react").Context<RadioBarContext>;
9
+ export default RadioBarContext;
@@ -21,7 +21,7 @@ interface InnerPropsBase {
21
21
  declare const defaultProps: Required<Pick<InnerPropsBase, 'defaultLeft' | 'defaultTop' | 'tagName'>>;
22
22
  declare type InnerProps = ClassComponentProps<InnerPropsBase, typeof defaultProps, keyof JSX.IntrinsicElements>;
23
23
  interface InnerState {
24
- containerEl: Element | null;
24
+ containerEl: HTMLElement | null;
25
25
  }
26
26
  declare class Inner extends Component<InnerProps, InnerState> {
27
27
  private defaultWindowOverflowX;
@@ -1,16 +1,16 @@
1
1
  import React from 'react';
2
2
  /**
3
3
  * A React context used to manage a custom scroll container for child elements
4
- * that need to react to scrolling. The context type is `Element | 'window' | null | undefined`.
5
- * Defaults to `'window'`. Consumers of this context must gracefully handle values
4
+ * that need to react to scrolling. The context type is `Window | Document | HTMLElement | null | undefined`.
5
+ * Defaults to `window`. Consumers of this context must gracefully handle values
6
6
  * of `null` and `undefined`.
7
7
  * @public
8
8
  */
9
- declare const ScrollContainerContext: React.Context<Element | "window" | null | undefined>;
9
+ declare const ScrollContainerContext: React.Context<Window | Document | HTMLElement | null | undefined>;
10
10
  /**
11
11
  * `ScrollContainerProvider` is an alias of `ScrollContainerContext.Provider`.
12
12
  * @public
13
13
  */
14
- declare const ScrollContainerProvider: React.Provider<Element | "window" | null | undefined>;
14
+ declare const ScrollContainerProvider: React.Provider<Window | Document | HTMLElement | null | undefined>;
15
15
  export default ScrollContainerContext;
16
16
  export { ScrollContainerContext, ScrollContainerProvider };
@@ -0,0 +1,60 @@
1
+ import React, { PureComponent } from 'react';
2
+ import { ClassComponentProps } from '../utils/types';
3
+ declare type OptionClickHandler = (event: React.MouseEvent<HTMLButtonElement>, data: {
4
+ value: string;
5
+ }) => void;
6
+ interface OptionPropsBase {
7
+ /** @private */
8
+ active?: boolean;
9
+ /**
10
+ * When provided, `label` is rendered instead of the `value`.
11
+ */
12
+ label?: string;
13
+ /**
14
+ * Additional information to explain the option, such as "Recommended".
15
+ */
16
+ description?: string;
17
+ /**
18
+ * The description text may appear to the right of the label or under the label.
19
+ * @themeNotes Themes that don't support 'right' fall back to 'bottom'.
20
+ */
21
+ descriptionPosition?: 'right' | 'bottom';
22
+ /**
23
+ * If disabled=true, the option is grayed out and cannot be clicked.
24
+ */
25
+ disabled?: boolean;
26
+ /**
27
+ * The icon to show before the label. See the @splunk/react-icons package for
28
+ * drop in icons.
29
+ *
30
+ * Caution: The element(s) passed here must be pure. All icons in the react-icons package are pure.
31
+ */
32
+ icon?: React.ReactNode;
33
+ /** @private */
34
+ onClick?: OptionClickHandler;
35
+ /**
36
+ * When `true`, wrapping is disabled and any additional text is ellipsised.
37
+ */
38
+ truncate?: boolean;
39
+ /**
40
+ * The value of this option and the label shown for it.
41
+ */
42
+ value: string;
43
+ }
44
+ declare const defaultProps: Required<Pick<OptionPropsBase, 'active' | 'descriptionPosition' | 'disabled' | 'truncate'>>;
45
+ declare type OptionProps = ClassComponentProps<OptionPropsBase, typeof defaultProps, 'button'>;
46
+ /**
47
+ * An option within a `Search`. This inherits from
48
+ * [PureComponent](https://reactjs.org/docs/react-api.html#reactpurecomponent)
49
+ * so any elements passed to it must also be pure.
50
+ */
51
+ declare class Option extends PureComponent<OptionProps, {}> {
52
+ private item;
53
+ static propTypes: React.WeakValidationMap<ClassComponentProps<OptionPropsBase, Required<Pick<OptionPropsBase, "disabled" | "active" | "descriptionPosition" | "truncate">>, "button", never>>;
54
+ static defaultProps: Required<Pick<OptionPropsBase, "disabled" | "active" | "descriptionPosition" | "truncate">>;
55
+ private handleClick;
56
+ scrollIntoViewIfNeeded(): void;
57
+ render(): JSX.Element;
58
+ }
59
+ export default Option;
60
+ export { OptionClickHandler };
@@ -0,0 +1,97 @@
1
+ import React from 'react';
2
+ import { Divider, Heading } from '@splunk/react-ui/Menu';
3
+ import Option from './Option';
4
+ import { ComponentProps } from '../utils/types';
5
+ /** @public */
6
+ declare type SearchChangeHandler = (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement> | React.MouseEvent<HTMLButtonElement | HTMLSpanElement> | React.KeyboardEvent<HTMLInputElement>, data: {
7
+ name?: string;
8
+ value: string;
9
+ }) => void;
10
+ interface SearchPropsBase {
11
+ animateLoading?: boolean;
12
+ /** All children must be instances of `Search.Option`. */
13
+ children?: React.ReactNode;
14
+ /**
15
+ * The default placement of the dropdown menu. It might be rendered in a different direction
16
+ * depending upon the space available.
17
+ */
18
+ defaultPlacement?: 'above' | 'below' | 'vertical';
19
+ /** The initial value of the input. Only applicable in uncontrolled mode. */
20
+ defaultValue?: string;
21
+ /**
22
+ * The id of the description.
23
+ */
24
+ describedBy?: string;
25
+ disabled?: boolean;
26
+ /**
27
+ * A React ref which is set to the DOM element when the component mounts and null when it unmounts.
28
+ */
29
+ elementRef?: React.Ref<HTMLDivElement>;
30
+ /**
31
+ * Highlight the field as having an error. The border and text will turn red.
32
+ */
33
+ error?: boolean;
34
+ /**
35
+ * The footer message can show additional information, such as a truncation message.
36
+ */
37
+ footerMessage?: React.ReactNode;
38
+ /** Make the control an inline block with variable width. */
39
+ inline?: boolean;
40
+ /**
41
+ * A React ref which is set to the input element when the component mounts and null when it unmounts.
42
+ */
43
+ inputRef?: React.Ref<HTMLInputElement>;
44
+ isLoadingOptions?: boolean;
45
+ /**
46
+ * The id of the label.
47
+ */
48
+ labelledBy?: string;
49
+ /**
50
+ * The loading message to show when isLoadingOptions. */
51
+ loadingMessage?: React.ReactNode;
52
+ menuStyle?: React.CSSProperties;
53
+ /** The name is returned with onChange events, which can be used to identify the
54
+ * control when multiple controls share an onChange callback. */
55
+ name?: string;
56
+ /**
57
+ * The noOptionsMessage is shown when there are no children and it's not loading, such as when
58
+ * there are no Options matching the filter. This can be customized to the type of content,
59
+ * for example: "No matching dashboards". You can insert content such as an error message or
60
+ * communicate a minimum number of characters to enter to see results. */
61
+ noOptionsMessage?: React.ReactNode;
62
+ onBlur?: React.FocusEventHandler<HTMLInputElement>;
63
+ onChange?: SearchChangeHandler;
64
+ onFocus?: React.FocusEventHandler<HTMLInputElement>;
65
+ onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;
66
+ onSelect?: React.ReactEventHandler<HTMLInputElement>;
67
+ /**
68
+ * A callback function invoked when the popover closes.
69
+ */
70
+ onClose?: () => void;
71
+ /**
72
+ * A callback function invoked when the popover opens.
73
+ */
74
+ onOpen?: () => void;
75
+ placeholder?: string;
76
+ /** The value of the input. Only applicable in controlled mode. */
77
+ value?: string;
78
+ }
79
+ interface SearchPropsBaseControlled extends SearchPropsBase {
80
+ defaultValue?: never;
81
+ onChange: SearchChangeHandler;
82
+ value?: string;
83
+ }
84
+ interface SearchPropsBaseUncontrolled extends SearchPropsBase {
85
+ defaultValue?: string;
86
+ value?: never;
87
+ }
88
+ declare type SearchProps = ComponentProps<SearchPropsBaseControlled | SearchPropsBaseUncontrolled, 'div'>;
89
+ 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): JSX.Element;
90
+ declare namespace Search {
91
+ var propTypes: React.WeakValidationMap<SearchPropsBase>;
92
+ var Option: typeof import("./Option").default;
93
+ var Divider: typeof import("../Menu/Divider").default;
94
+ var Heading: typeof import("../Menu/Heading").default;
95
+ }
96
+ export default Search;
97
+ export { SearchChangeHandler, Option, Divider, Heading, SearchProps, SearchPropsBase, SearchPropsBaseControlled, SearchPropsBaseUncontrolled, };
@@ -0,0 +1,2 @@
1
+ export { default } from './Search';
2
+ export * from './Search';
@@ -73,6 +73,10 @@ interface SelectPropsBase {
73
73
  * attributes.
74
74
  */
75
75
  inputId?: string;
76
+ /**
77
+ * A React ref which is set to the input element when the component mounts and null when it unmounts.
78
+ */
79
+ inputRef?: React.Ref<HTMLInputElement>;
76
80
  isLoadingOptions?: boolean;
77
81
  /**
78
82
  * The id of the label. When placed in a ControlGroup, this is automatically set to the
@@ -159,8 +163,8 @@ interface SelectState {
159
163
  defaultValues?: (string | number | boolean)[];
160
164
  }
161
165
  declare class Select extends Component<SelectProps, SelectState> {
162
- static propTypes: React.WeakValidationMap<SelectPropsBaseControlled & Required<Pick<SelectPropsBase, "filter" | "children" | "placeholder" | "disabled" | "appearance" | "inline" | "defaultPlacement" | "error" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "isLoadingOptions" | "menuStyle">> & Pick<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "form" | "slot" | "style" | "title" | "onPause" | "className" | "color" | "id" | "lang" | "type" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget">> | React.WeakValidationMap<SelectPropsBaseUncontrolled & Required<Pick<SelectPropsBase, "filter" | "children" | "placeholder" | "disabled" | "appearance" | "inline" | "defaultPlacement" | "error" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "isLoadingOptions" | "menuStyle">> & Pick<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "form" | "slot" | "style" | "title" | "onPause" | "className" | "color" | "id" | "lang" | "type" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget">>;
163
- static defaultProps: Required<Pick<SelectPropsBase, "filter" | "children" | "placeholder" | "disabled" | "appearance" | "inline" | "defaultPlacement" | "error" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "isLoadingOptions" | "menuStyle">>;
166
+ static propTypes: React.WeakValidationMap<SelectPropsBaseControlled & Required<Pick<SelectPropsBase, "filter" | "children" | "placeholder" | "disabled" | "appearance" | "inline" | "error" | "defaultPlacement" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "isLoadingOptions" | "menuStyle">> & Pick<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "form" | "slot" | "style" | "title" | "onPause" | "className" | "color" | "id" | "lang" | "type" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget">> | React.WeakValidationMap<SelectPropsBaseUncontrolled & Required<Pick<SelectPropsBase, "filter" | "children" | "placeholder" | "disabled" | "appearance" | "inline" | "error" | "defaultPlacement" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "isLoadingOptions" | "menuStyle">> & Pick<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "form" | "slot" | "style" | "title" | "onPause" | "className" | "color" | "id" | "lang" | "type" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget">>;
167
+ static defaultProps: Required<Pick<SelectPropsBase, "filter" | "children" | "placeholder" | "disabled" | "appearance" | "inline" | "error" | "defaultPlacement" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "isLoadingOptions" | "menuStyle">>;
164
168
  static Option: typeof Option;
165
169
  static Heading: typeof BaseHeading;
166
170
  static Divider: typeof BaseDivider;
@@ -100,7 +100,7 @@ interface SelectBasePropsBase {
100
100
  * The noOptionsMessage is shown when there are no children and not loading, such as when
101
101
  * there are no Options matching the filter. This can be customized to the type of content,
102
102
  * such as "No matching dashboards"; insert other content, such as an error message; or
103
- * communicate a minimum number of chararters to enter to see results. */
103
+ * communicate a minimum number of characters to enter to see results. */
104
104
  noOptionsMessage?: React.ReactNode;
105
105
  /**
106
106
  * A callback to receive the change events. If values is set, this callback is required.
@@ -138,6 +138,11 @@ interface SelectBasePropsBase {
138
138
  * Remove rounding from the left side of the toggle.
139
139
  */
140
140
  prepend?: boolean;
141
+ /**
142
+ * See `repositionMode` on `Popover` for details.
143
+ */
144
+ repositionMode?: 'none' | 'flip';
145
+ showSelectedValuesFirst?: 'nextOpen' | 'immediately' | 'never';
141
146
  /**
142
147
  * Places this string after the selected label.
143
148
  */
@@ -150,7 +155,7 @@ interface SelectBasePropsBase {
150
155
  */
151
156
  values?: (string | number | boolean)[];
152
157
  }
153
- declare const defaultProps: Required<Pick<SelectBasePropsBase, 'allowNewValues' | 'animateLoading' | 'appearance' | 'append' | 'defaultPlacement' | 'disabled' | 'filter' | 'inline' | 'isLoadingOptions' | 'menuStyle' | 'multiple' | 'noOptionsMessage' | 'placeholder' | 'prepend' | 'tabConfirmsNewValue'>>;
158
+ declare const defaultProps: Required<Pick<SelectBasePropsBase, 'allowNewValues' | 'animateLoading' | 'appearance' | 'append' | 'defaultPlacement' | 'disabled' | 'filter' | 'inline' | 'isLoadingOptions' | 'menuStyle' | 'multiple' | 'noOptionsMessage' | 'placeholder' | 'prepend' | 'repositionMode' | 'tabConfirmsNewValue'>>;
154
159
  interface SelectBasePropsBaseControlled extends SelectBasePropsBase {
155
160
  defaultValues?: never;
156
161
  onChange: SelectBaseChangeHandler;
@@ -182,17 +187,19 @@ declare class SelectBase extends Component<SelectBaseProps, SelectBaseState> {
182
187
  private firstSelectedOption;
183
188
  private firstSelectedOptionIndex?;
184
189
  private menuId;
190
+ private previousActiveIndex;
185
191
  private selectedOptionCount;
186
- static propTypes: React.WeakValidationMap<SelectBasePropsBaseControlled & Required<Pick<SelectBasePropsBase, "filter" | "placeholder" | "disabled" | "multiple" | "appearance" | "inline" | "defaultPlacement" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "allowNewValues" | "isLoadingOptions" | "menuStyle" | "tabConfirmsNewValue">> & Pick<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "form" | "slot" | "style" | "title" | "value" | "onPause" | "className" | "color" | "id" | "lang" | "type" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget">> | React.WeakValidationMap<SelectBasePropsBaseUncontrolled & Required<Pick<SelectBasePropsBase, "filter" | "placeholder" | "disabled" | "multiple" | "appearance" | "inline" | "defaultPlacement" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "allowNewValues" | "isLoadingOptions" | "menuStyle" | "tabConfirmsNewValue">> & Pick<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "form" | "slot" | "style" | "title" | "value" | "onPause" | "className" | "color" | "id" | "lang" | "type" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget">>;
187
- static defaultProps: Required<Pick<SelectBasePropsBase, "filter" | "placeholder" | "disabled" | "multiple" | "appearance" | "inline" | "defaultPlacement" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "allowNewValues" | "isLoadingOptions" | "menuStyle" | "tabConfirmsNewValue">>;
192
+ static propTypes: React.WeakValidationMap<SelectBasePropsBaseControlled & Required<Pick<SelectBasePropsBase, "filter" | "placeholder" | "disabled" | "multiple" | "appearance" | "inline" | "defaultPlacement" | "repositionMode" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "allowNewValues" | "isLoadingOptions" | "menuStyle" | "tabConfirmsNewValue">> & Pick<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "form" | "slot" | "style" | "title" | "value" | "onPause" | "className" | "color" | "id" | "lang" | "type" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget">> | React.WeakValidationMap<SelectBasePropsBaseUncontrolled & Required<Pick<SelectBasePropsBase, "filter" | "placeholder" | "disabled" | "multiple" | "appearance" | "inline" | "defaultPlacement" | "repositionMode" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "allowNewValues" | "isLoadingOptions" | "menuStyle" | "tabConfirmsNewValue">> & Pick<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "form" | "slot" | "style" | "title" | "value" | "onPause" | "className" | "color" | "id" | "lang" | "type" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget">>;
193
+ static defaultProps: Required<Pick<SelectBasePropsBase, "filter" | "placeholder" | "disabled" | "multiple" | "appearance" | "inline" | "defaultPlacement" | "repositionMode" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "allowNewValues" | "isLoadingOptions" | "menuStyle" | "tabConfirmsNewValue">>;
188
194
  static Option: typeof Option;
189
195
  static Divider: typeof Divider;
190
196
  static Heading: typeof Heading;
191
197
  private static invalidLinkAppearanceProps;
192
198
  private static validateAppearance;
193
199
  constructor(props: Readonly<SelectBaseProps>);
194
- componentDidUpdate(prevProps: Readonly<SelectBaseProps>): void;
200
+ componentDidUpdate(prevProps: Readonly<SelectBaseProps>, prevState: Readonly<SelectBaseState>): void;
195
201
  private getCurrentValues;
202
+ private getTopValues;
196
203
  private handleSelectAll;
197
204
  private handleClearAll;
198
205
  private handleTextKeyDown;