@splunk/react-ui 4.18.0 → 4.20.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 (110) hide show
  1. package/Accordion.js +6 -6
  2. package/Anchor.js +2 -2
  3. package/Animation.js +4 -4
  4. package/AnimationToggle.js +2 -2
  5. package/Box.js +2 -2
  6. package/Breadcrumbs.d.ts +2 -0
  7. package/Breadcrumbs.js +299 -0
  8. package/Button.js +17 -17
  9. package/ButtonGroup.js +2 -2
  10. package/ButtonSimple.js +2 -2
  11. package/CHANGELOG.md +25 -1
  12. package/Calendar.js +17 -17
  13. package/Card.js +10 -10
  14. package/CardLayout.js +2 -2
  15. package/Chip.js +32 -25
  16. package/Clickable.js +16 -14
  17. package/CloseButton.js +8 -8
  18. package/Code.js +40 -15
  19. package/CollapsiblePanel.js +10 -10
  20. package/Color.js +33 -33
  21. package/ColumnLayout.js +8 -8
  22. package/ComboBox.js +28 -28
  23. package/Concertina.js +18 -18
  24. package/ControlGroup.js +13 -13
  25. package/Date.js +29 -29
  26. package/DefinitionList.js +2 -2
  27. package/Divider.js +2 -2
  28. package/Dropdown.js +21 -21
  29. package/DualListbox.js +24 -24
  30. package/EventListener.js +4 -4
  31. package/File.js +23 -23
  32. package/FormRows.js +266 -105
  33. package/Heading.js +45 -49
  34. package/Image.js +23 -23
  35. package/JSONTree.js +20 -20
  36. package/Layer.js +14 -14
  37. package/Link.js +7 -7
  38. package/List.js +2 -2
  39. package/Markdown.js +19 -20
  40. package/Menu.js +252 -232
  41. package/Message.js +43 -43
  42. package/MessageBar.js +39 -39
  43. package/Modal.js +20 -20
  44. package/ModalLayer.js +6 -6
  45. package/Monogram.js +3 -3
  46. package/Multiselect.js +2987 -2493
  47. package/Number.js +8 -8
  48. package/Paginator.js +16 -16
  49. package/Paragraph.js +2 -2
  50. package/Popover.js +113 -50
  51. package/Progress.js +10 -10
  52. package/RadioBar.js +4 -4
  53. package/RadioList.js +2 -2
  54. package/Resize.js +4 -4
  55. package/ResultsMenu.js +43 -22
  56. package/ScreenReaderContent.js +2 -2
  57. package/Scroll.js +8 -8
  58. package/ScrollContainerContext.js +4 -4
  59. package/Search.js +25 -25
  60. package/Select.js +517 -120
  61. package/SidePanel.js +6 -6
  62. package/Slider.js +8 -8
  63. package/SlidingPanels.js +10 -10
  64. package/SplitButton.js +4 -4
  65. package/StaticContent.js +2 -2
  66. package/StepBar.js +8 -8
  67. package/Switch.js +6 -6
  68. package/TabBar.js +6 -6
  69. package/TabLayout.js +6 -6
  70. package/Table.js +145 -111
  71. package/Text.js +40 -38
  72. package/TextArea.js +42 -40
  73. package/Tooltip.js +15 -15
  74. package/TransitionOpen.js +11 -11
  75. package/Typography.js +4 -4
  76. package/WaitSpinner.js +5 -5
  77. package/cypress/support/component-index.html +12 -0
  78. package/cypress/support/component.ts +27 -0
  79. package/cypress.config.ts +19 -0
  80. package/package.json +17 -17
  81. package/types/src/Breadcrumbs/Breadcrumbs.d.ts +25 -0
  82. package/types/src/Breadcrumbs/Item.d.ts +42 -0
  83. package/types/src/Breadcrumbs/docs/examples/Adornments.d.ts +2 -0
  84. package/types/src/Breadcrumbs/docs/examples/Basic.d.ts +2 -0
  85. package/types/src/Breadcrumbs/index.d.ts +2 -0
  86. package/types/src/Clickable/docs/examples/Basic.d.ts +2 -2
  87. package/types/src/Code/Code.d.ts +1 -1
  88. package/types/src/FormRows/FormRows.d.ts +1 -2
  89. package/types/src/FormRows/Row.d.ts +2 -12
  90. package/types/src/FormRows/RowInternal.d.ts +19 -0
  91. package/types/src/FormRows/SortableList.d.ts +8 -2
  92. package/types/src/FormRows/SortableRow.d.ts +20 -0
  93. package/types/src/Heading/Heading.d.ts +1 -1
  94. package/types/src/Link/Link.d.ts +5 -0
  95. package/types/src/Multiselect/Compact.d.ts +4 -0
  96. package/types/src/Multiselect/Multiselect.d.ts +5 -0
  97. package/types/src/Multiselect/docs/examples/CompactSelectAll.d.ts +2 -0
  98. package/types/src/Select/SelectAllOption.d.ts +14 -0
  99. package/types/src/Select/SelectBase.d.ts +11 -3
  100. package/types/src/Table/Table.d.ts +4 -0
  101. package/types/src/Text/Text.d.ts +3 -3
  102. package/types/src/TextArea/TextArea.d.ts +3 -3
  103. package/useForceUpdate.js +2 -2
  104. package/useKeyPress.js +2 -2
  105. package/usePrevious.js +2 -2
  106. package/useRovingFocus.js +4 -4
  107. package/cypress/plugins/index.ts +0 -15
  108. package/cypress/support/index.ts +0 -10
  109. package/cypress.json +0 -13
  110. package/types/src/Typography/docs/examples/Variants.d.ts +0 -2
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
7
+ <title>Components App</title>
8
+ </head>
9
+ <body>
10
+ <div data-cy-root></div>
11
+ </body>
12
+ </html>
@@ -0,0 +1,27 @@
1
+ import { mount } from 'cypress/react';
2
+ import 'cypress-real-events';
3
+ import { setGlobalConfig } from '@storybook/testing-react';
4
+ import { configure } from '@testing-library/cypress';
5
+
6
+ import * as sbPreview from '../../.storybook/preview';
7
+ import './commands';
8
+
9
+ // Augment the Cypress namespace to include type definitions for
10
+ // your custom command.
11
+ // Alternatively, can be defined in cypress/support/component.d.ts
12
+ // with a <reference path="./component" /> at the top of your spec.
13
+ /* eslint-disable @typescript-eslint/no-namespace */
14
+ declare global {
15
+ namespace Cypress {
16
+ interface Chainable {
17
+ mount: typeof mount;
18
+ }
19
+ }
20
+ }
21
+ /* eslint-enable @typescript-eslint/no-namespace */
22
+
23
+ Cypress.Commands.add('mount', mount);
24
+
25
+ configure({ testIdAttribute: 'data-test' });
26
+
27
+ setGlobalConfig(sbPreview);
@@ -0,0 +1,19 @@
1
+ import { defineConfig } from 'cypress';
2
+ import webpackConfig from './webpack.test.config.js';
3
+
4
+ export default defineConfig({
5
+ env: {},
6
+ defaultCommandTimeout: 1000,
7
+ fixturesFolder: false,
8
+ video: false,
9
+ videoUploadOnPasses: false,
10
+ chromeWebSecurity: false,
11
+ component: {
12
+ specPattern: '**/**/tests/*.spec.tsx',
13
+ devServer: {
14
+ framework: 'react',
15
+ bundler: 'webpack',
16
+ webpackConfig,
17
+ },
18
+ },
19
+ });
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@splunk/react-ui",
3
- "version": "4.18.0",
3
+ "version": "4.20.0",
4
4
  "description": "Library of React components that implement the Splunk design language",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Splunk Inc.",
7
7
  "scripts": {
8
8
  "build": "cross-env NODE_ENV=production webpack && yarn types:build",
9
9
  "docs": "NODE_ENV=production webpack --config docs.gen.webpack.config.js",
10
- "docs:publish": "cicd-publish-docs docs --force",
11
- "docs:publish:external": "cicd-publish-docs docs-external --force --suffix=public",
10
+ "docs:publish": "eval $(splunk-docs-package docs) && artifact-ci publish generic $DOCS_GEN_OUTPUT_NAME $DOCS_GEN_REMOTE_PATH",
11
+ "docs:publish:external": "eval $(splunk-docs-package docs-external --suffix=public) && artifact-ci publish generic $DOCS_GEN_OUTPUT_NAME $DOCS_GEN_REMOTE_PATH",
12
12
  "docs:start": "INTERNAL=true webpack serve --config docs.gen.webpack.config.js",
13
13
  "docs:start:external": "webpack serve --config docs.gen.webpack.config.js",
14
14
  "eslint": "eslint src .storybook --ext \".ts,.tsx,.js,.jsx\"",
@@ -27,8 +27,8 @@
27
27
  "test": "jest",
28
28
  "test:ci": "JEST_JUNIT_OUTPUT_DIR=./test-reports JEST_JUNIT_OUTPUT_NAME=unit-results.xml JEST_JUNIT_CLASSNAME=unit yarn run test --ci --reporters=default jest-junit --coverage --coverageDirectory=coverage_report/coverage_maps_unit --coverageReporters=cobertura",
29
29
  "test:watch": "jest --watch",
30
- "test:cypress": "yarn cypress open-ct",
31
- "test:cypress:ci": "yarn cypress run-ct",
30
+ "test:cypress": "yarn cypress open --component",
31
+ "test:cypress:ci": "yarn cypress run --component",
32
32
  "types:build": "tsc --emitDeclarationOnly --declaration --declarationDir ./types && node ./scripts/pruneTypes.js",
33
33
  "types:start": "yarn types:build --watch"
34
34
  },
@@ -38,24 +38,26 @@
38
38
  "styled-components": "^5.3.10"
39
39
  },
40
40
  "dependencies": {
41
- "@splunk/react-icons": "^4.0.1",
41
+ "@dnd-kit/core": "6.0.8",
42
+ "@dnd-kit/sortable": "7.0.2",
43
+ "@dnd-kit/utilities": "3.2.1",
44
+ "@splunk/react-icons": "^4.0.2",
42
45
  "@splunk/themes": "^0.16.1",
43
46
  "@splunk/ui-utils": "^1.6.0",
44
- "@types/commonmark": "^0.27.0",
47
+ "@types/commonmark": "^0.27.6",
45
48
  "@types/lodash": "^4.14.156",
46
49
  "@types/react": "^16.9.38",
47
50
  "@types/react-dom": "^16.9.8",
48
51
  "@types/react-resize-detector": "^3.1.1",
49
52
  "@types/styled-components": "^5.1.0",
50
53
  "@types/tinycolor2": "^1.4.2",
51
- "commonmark": "^0.27.0",
54
+ "commonmark": "^0.30.0",
52
55
  "commonmark-react-renderer": "^4.3.2",
53
56
  "decimal.js-light": "^2.2.3",
54
57
  "lodash": "^4.17.14",
55
58
  "moment": "^2.29.4",
56
59
  "prop-types": "^15.6.2",
57
60
  "react-resize-detector": "^3.2.1",
58
- "react-sortable-hoc": "^1.11.0",
59
61
  "react-spring": "9.2.4",
60
62
  "tinycolor2": "^1.4.1",
61
63
  "use-typed-event-listener": "^3.0.0"
@@ -63,13 +65,10 @@
63
65
  "devDependencies": {
64
66
  "@babel/core": "^7.2.0",
65
67
  "@babel/plugin-transform-runtime": "^7.18.6",
66
- "@cypress/react": "^5.12.4",
67
- "@cypress/webpack-dev-server": "^1.8.2",
68
68
  "@splunk/babel-preset": "^4.0.0",
69
- "@splunk/cicd-tools": "^0.5.0",
70
- "@splunk/docs-gen": "1.0.0-beta.5",
69
+ "@splunk/docs-gen": "1.0.0-beta.6",
71
70
  "@splunk/eslint-config": "^4.0.0",
72
- "@splunk/react-docs": "1.0.0-beta.5",
71
+ "@splunk/react-docs": "1.0.0-beta.6",
73
72
  "@splunk/stylelint-config": "^4.0.0",
74
73
  "@splunk/test-runner-utils": "^0.4.1",
75
74
  "@splunk/webpack-configs": "^6.0.0",
@@ -80,7 +79,7 @@
80
79
  "@storybook/react": "^6.5.9",
81
80
  "@storybook/test-runner": "^0.9.0",
82
81
  "@storybook/testing-react": "^1.3.0",
83
- "@testing-library/cypress": "^8.0.2",
82
+ "@testing-library/cypress": "^9.0.0",
84
83
  "@testing-library/jest-dom": "^5.16.1",
85
84
  "@testing-library/react": "^12.1.2",
86
85
  "@testing-library/react-hooks": "^7.0.2",
@@ -102,8 +101,8 @@
102
101
  "babel-plugin-transform-require-context": "^0.1.1",
103
102
  "core-js": "^3.6.4",
104
103
  "cross-env": "^6.0.3",
105
- "cypress": "^9.5.1",
106
- "cypress-real-events": "^1.7.0",
104
+ "cypress": "^12.17.1",
105
+ "cypress-real-events": "^1.9.1",
107
106
  "docgen-loader": "^1.3.4",
108
107
  "eslint": "^7.14.0",
109
108
  "eslint-config-airbnb": "^18.2.1",
@@ -114,6 +113,7 @@
114
113
  "eslint-plugin-jsx-a11y": "^6.4.1",
115
114
  "eslint-plugin-react": "^7.21.5",
116
115
  "eslint-plugin-react-hooks": "^4.2.0",
116
+ "eslint-plugin-react-perf": "^3.3.1",
117
117
  "fs-extra": "^9.0.1",
118
118
  "fs-readdir-recursive": "^1.0.0",
119
119
  "glob": "^7.1.6",
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import Item from './Item';
4
+ import { ComponentProps } from '../utils/types';
5
+ interface BreadcrumbsPropsBase {
6
+ /**
7
+ * `children` must be of type `Breadcrumbs.Item`. The last child will be marked as the current page.
8
+ */
9
+ children: React.ReactElement<typeof Item>[] | React.ReactElement<typeof Item>;
10
+ /**
11
+ * A React ref which is set to the DOM element when the component mounts and null when it unmounts.
12
+ */
13
+ elementRef?: React.Ref<HTMLElement>;
14
+ }
15
+ declare type BreadcrumbsProps = ComponentProps<BreadcrumbsPropsBase, 'nav'>;
16
+ declare function Breadcrumbs({ children, elementRef, ...otherProps }: BreadcrumbsProps): JSX.Element;
17
+ declare namespace Breadcrumbs {
18
+ var propTypes: {
19
+ children: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
20
+ elementRef: PropTypes.Requireable<object>;
21
+ };
22
+ var Item: typeof import("./Item").default;
23
+ }
24
+ export default Breadcrumbs;
25
+ export { Item };
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { ComponentProps } from '../utils/types';
4
+ interface ItemPropsBase {
5
+ /**
6
+ * A React ref which is set to the DOM element when the component mounts and null when it unmounts.
7
+ */
8
+ elementRef?: React.Ref<HTMLAnchorElement>;
9
+ /**
10
+ * Adornment at the end of the label.
11
+ */
12
+ endAdornment?: React.ReactNode;
13
+ /**
14
+ * @private
15
+ */
16
+ isCurrent?: boolean;
17
+ /**
18
+ * The label of the `Item`.
19
+ */
20
+ label: string;
21
+ /**
22
+ * Adornment at the start of the label.
23
+ */
24
+ startAdornment?: React.ReactNode;
25
+ /**
26
+ * The URL or path to link to.
27
+ */
28
+ to: string;
29
+ }
30
+ declare type ItemProps = ComponentProps<ItemPropsBase, 'a'>;
31
+ declare function Item({ endAdornment, isCurrent, label, startAdornment, to, ...otherProps }: ItemProps): JSX.Element;
32
+ declare namespace Item {
33
+ var propTypes: {
34
+ elementRef: PropTypes.Requireable<object>;
35
+ endAdornment: PropTypes.Requireable<PropTypes.ReactNodeLike>;
36
+ isCurrent: PropTypes.Requireable<boolean>;
37
+ label: PropTypes.Validator<string>;
38
+ startAdornment: PropTypes.Requireable<PropTypes.ReactNodeLike>;
39
+ to: PropTypes.Validator<string>;
40
+ };
41
+ }
42
+ export default Item;
@@ -0,0 +1,2 @@
1
+ declare function Adornments(): JSX.Element;
2
+ export default Adornments;
@@ -0,0 +1,2 @@
1
+ declare function Basic(): JSX.Element;
2
+ export default Basic;
@@ -0,0 +1,2 @@
1
+ export { default } from './Breadcrumbs';
2
+ export * from './Breadcrumbs';
@@ -1,2 +1,2 @@
1
- declare function Buttons(): JSX.Element;
2
- export default Buttons;
1
+ declare function Basic(): JSX.Element;
2
+ export default Basic;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { ComponentProps } from '../utils/types';
4
- declare type CodeSupportedLanguages = 'bash' | 'clike' | 'css' | 'html' | 'json' | 'javascript' | 'js' | 'jsx' | 'typescript' | 'ts' | 'tsx' | 'markup' | 'mathml' | 'svg' | 'xml' | 'yaml' | 'yml';
4
+ declare type CodeSupportedLanguages = 'bash' | 'clike' | 'css' | 'html' | 'json' | 'javascript' | 'js' | 'jsx' | 'typescript' | 'ts' | 'tsx' | 'markup' | 'mathml' | 'splunk-spl' | 'svg' | 'xml' | 'yaml' | 'yml';
5
5
  interface CodePropsBase {
6
6
  /**
7
7
  * A React ref which is set to the DOM element when the component mounts and null when it unmounts.
@@ -1,5 +1,4 @@
1
1
  import React, { Component } from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import Row from './Row';
4
3
  import type { RowRequestRemoveHandler, RowWithoutSortable } from './Row';
5
4
  import { ClassComponentProps } from '../utils/types';
@@ -33,7 +32,7 @@ declare type FormRowsProps = ClassComponentProps<FormRowsPropsBase, typeof defau
33
32
  declare class FormRows extends Component<FormRowsProps, {}> {
34
33
  static propTypes: React.WeakValidationMap<ClassComponentProps<FormRowsPropsBase, Required<Pick<FormRowsPropsBase, "header" | "disabled" | "addLabel">>, "div", never>>;
35
34
  static defaultProps: Required<Pick<FormRowsPropsBase, "header" | "disabled" | "addLabel">>;
36
- static Row: React.ComponentClass<Pick<import("./Row").RowPropsBase, "children" | "value" | "elementRef" | "index" | "onRequestRemove" | "rowIndex"> & Pick<PropTypes.InferProps<React.WeakValidationMap<import("./Row").RowPropsBase>>, never> & Pick<import("./Row").RowPropsBase, never>, any>;
35
+ static Row: typeof Row;
37
36
  /**
38
37
  * Static function for adding a row.
39
38
  *
@@ -1,5 +1,4 @@
1
1
  import React, { Component } from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import FormRowsContext from './FormRowsContext';
4
3
  declare type RowKeyDownHandler = (event: React.KeyboardEvent<HTMLDivElement>, data: {
5
4
  index: number;
@@ -14,16 +13,10 @@ interface RowPropsBase {
14
13
  * A React ref which is set to the DOM element when the component mounts and null when it unmounts.
15
14
  */
16
15
  elementRef?: React.Ref<HTMLDivElement>;
17
- /** Index of the row */
16
+ /** Index of the row. This is required if the rows are sortable. */
18
17
  index?: number;
19
18
  /** Callback when remove button is clicked. */
20
19
  onRequestRemove?: RowRequestRemoveHandler;
21
- /**
22
- * @private
23
- * Sortable HOC consumes and removes `index`, so we have `rowIndex` to keep
24
- * track of it internally.
25
- */
26
- rowIndex?: number;
27
20
  /** The contents of Row */
28
21
  value?: React.ReactNode;
29
22
  }
@@ -31,10 +24,7 @@ declare class Row extends Component<RowPropsBase, {}> {
31
24
  static propTypes: React.WeakValidationMap<RowPropsBase>;
32
25
  context: React.ContextType<typeof FormRowsContext>;
33
26
  static contextType: React.Context<FormRowsContext>;
34
- private handleKeyDown;
35
- private handleRequestRemove;
36
27
  render(): JSX.Element;
37
28
  }
38
- declare const SortableRow: React.ComponentClass<Pick<RowPropsBase, "children" | "value" | "elementRef" | "index" | "onRequestRemove" | "rowIndex"> & Pick<PropTypes.InferProps<React.WeakValidationMap<RowPropsBase>>, never> & Pick<RowPropsBase, never>, any>;
39
- export default SortableRow;
29
+ export default Row;
40
30
  export type { Row as RowWithoutSortable, RowKeyDownHandler, RowPropsBase, RowRequestRemoveHandler };
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ /** @public */
3
+ declare type RowRequestRemoveHandler = (event: React.MouseEvent<HTMLButtonElement>, data: {
4
+ index: number;
5
+ }) => void;
6
+ interface RowInternalPropsBase {
7
+ children?: React.ReactNode;
8
+ /** Index of the row. This is required if the rows are sortable. */
9
+ index?: number;
10
+ /** Callback when remove button is clicked. */
11
+ onRequestRemove?: RowRequestRemoveHandler;
12
+ renderDragHandle?: () => React.ReactNode;
13
+ style?: React.CSSProperties;
14
+ /** The contents of Row */
15
+ value?: React.ReactNode;
16
+ }
17
+ declare const RowInternal: React.ForwardRefExoticComponent<RowInternalPropsBase & React.RefAttributes<HTMLDivElement>>;
18
+ export default RowInternal;
19
+ export type { RowInternalPropsBase, RowRequestRemoveHandler };
@@ -1,5 +1,11 @@
1
1
  import React from 'react';
2
- declare const SortableList: React.ComponentClass<{
2
+ declare type SortEndHandler = ({ oldIndex, newIndex }: {
3
+ oldIndex: number;
4
+ newIndex: number;
5
+ }) => void;
6
+ declare const SortableList: ({ children, onSortEnd, }: {
3
7
  children?: React.ReactNode;
4
- } & import("react-sortable-hoc").SortableContainerProps, any>;
8
+ onSortEnd: SortEndHandler;
9
+ }) => JSX.Element;
5
10
  export default SortableList;
11
+ export { SortEndHandler };
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ declare type RowKeyDownHandler = (event: React.KeyboardEvent<HTMLDivElement>, data: {
3
+ index: number;
4
+ }) => void;
5
+ /** @public */
6
+ declare type RowRequestRemoveHandler = (event: React.MouseEvent<HTMLButtonElement>, data: {
7
+ index: number;
8
+ }) => void;
9
+ interface RowPropsBase {
10
+ children?: React.ReactNode;
11
+ /** Index of the row. */
12
+ index?: number;
13
+ /** Callback when remove button is clicked. */
14
+ onRequestRemove?: RowRequestRemoveHandler;
15
+ /** The contents of Row */
16
+ value?: React.ReactNode;
17
+ }
18
+ declare const Row: React.ForwardRefExoticComponent<RowPropsBase & React.RefAttributes<HTMLDivElement>>;
19
+ export default Row;
20
+ export type { Row as RowWithoutSortable, RowKeyDownHandler, RowPropsBase, RowRequestRemoveHandler };
@@ -34,7 +34,7 @@ declare const levelToElement: {
34
34
  readonly '5': "h5";
35
35
  readonly '6': "h6";
36
36
  };
37
- declare function Heading({ level, children, variant, ...otherProps }: HeadingProps): JSX.Element;
37
+ declare function Heading({ children, elementRef, level, variant, ...otherProps }: HeadingProps): JSX.Element;
38
38
  declare namespace Heading {
39
39
  var propTypes: {
40
40
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
@@ -2,6 +2,11 @@ import React, { Component } from 'react';
2
2
  import { legacyRefMode } from '@splunk/react-ui/Dropdown';
3
3
  import { ClassComponentProps } from '../utils/types';
4
4
  interface LinkPropsBase {
5
+ /**
6
+ * Links may need to be rendered as "disabled": e.g. last link in a breadcrumb. Disabled links, must have the `to` (ideally to '') and `disabled` props set.
7
+ * @private
8
+ */
9
+ allowDisabledLink?: boolean;
5
10
  children?: React.ReactNode;
6
11
  /**
7
12
  * Adds a disabled attribute and prevent clicking.
@@ -124,6 +124,10 @@ interface CompactPropsBase {
124
124
  * See `repositionMode` on `Popover` for details.
125
125
  */
126
126
  repositionMode?: 'none' | 'flip';
127
+ /**
128
+ * Determines how to display Select All/Clear All.
129
+ */
130
+ selectAllAppearance?: 'buttongroup' | 'checkbox';
127
131
  /**
128
132
  * Move selected values to the top of the list on next open, immediately, or not at all.
129
133
  */
@@ -142,6 +142,11 @@ interface MultiselectPropsBase {
142
142
  * See `repositionMode` on `Popover` for details.
143
143
  */
144
144
  repositionMode?: 'none' | 'flip';
145
+ /**
146
+ * Determines how to display Select All/Clear All.
147
+ * Only supported when `compact=true`.
148
+ */
149
+ selectAllAppearance?: 'buttongroup' | 'checkbox';
145
150
  /**
146
151
  * When `compact=true`, move selected values to the top of the list on next open (default), immediately, or not at all.
147
152
  */
@@ -0,0 +1,2 @@
1
+ declare function Compact(): JSX.Element;
2
+ export default Compact;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import Option from './OptionBase';
3
+ interface SelectAllOptionPropsBase {
4
+ active?: boolean;
5
+ elementRef?: React.Ref<HTMLAnchorElement | HTMLButtonElement>;
6
+ id?: string;
7
+ onClick: (e: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLInputElement>) => void;
8
+ selectAllLabel: string;
9
+ totalCount: number | undefined;
10
+ changedToggle: boolean;
11
+ selected?: boolean | 'some';
12
+ }
13
+ declare const SelectAllOption: React.ForwardRefExoticComponent<SelectAllOptionPropsBase & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "slot" | "style" | "title" | "children" | "onChange" | "onPause" | "className" | "color" | "lang" | "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" | "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" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is"> & React.RefAttributes<Option>>;
14
+ export default SelectAllOption;
@@ -5,9 +5,11 @@ import { ClassComponentProps } from '../utils/types';
5
5
  declare type SelectBaseFilterChangeHandler = (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement> | React.FocusEvent<HTMLInputElement> | React.MouseEvent<HTMLSpanElement> | React.KeyboardEvent, data: {
6
6
  keyword: string;
7
7
  }) => void;
8
+ declare type SelectBaseChangeReason = 'valueToggle' | 'selectAll' | 'clearAll';
8
9
  declare type SelectBaseChangeHandler = (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLInputElement>, data: {
9
10
  name?: string;
10
11
  values: (string | number | boolean)[];
12
+ reason: SelectBaseChangeReason;
11
13
  }) => void;
12
14
  declare type SelectBaseScrollBottomHandler = (event: React.UIEvent<HTMLDivElement> | React.KeyboardEvent<HTMLInputElement> | null) => void;
13
15
  interface SelectBasePropsBase {
@@ -157,6 +159,10 @@ interface SelectBasePropsBase {
157
159
  * See `repositionMode` on `Popover` for details.
158
160
  */
159
161
  repositionMode?: 'none' | 'flip';
162
+ /**
163
+ * Determines how to display Select All/Clear All.
164
+ */
165
+ selectAllAppearance?: 'buttongroup' | 'checkbox';
160
166
  showSelectedValuesFirst?: 'nextOpen' | 'immediately' | 'never';
161
167
  /**
162
168
  * Places this string after the selected label.
@@ -181,7 +187,7 @@ interface SelectBasePropsBase {
181
187
  */
182
188
  toggle?: React.ReactElement;
183
189
  }
184
- declare const defaultProps: Required<Pick<SelectBasePropsBase, 'allowKeyMatching' | 'allowNewValues' | 'animateLoading' | 'appearance' | 'append' | 'defaultPlacement' | 'disabled' | 'filter' | 'inline' | 'isLoadingOptions' | 'menuStyle' | 'multiple' | 'noOptionsMessage' | 'placeholder' | 'prepend' | 'repositionMode' | 'tabConfirmsNewValue'>>;
190
+ declare const defaultProps: Required<Pick<SelectBasePropsBase, 'allowKeyMatching' | 'allowNewValues' | 'animateLoading' | 'appearance' | 'append' | 'defaultPlacement' | 'disabled' | 'filter' | 'inline' | 'isLoadingOptions' | 'menuStyle' | 'multiple' | 'noOptionsMessage' | 'placeholder' | 'prepend' | 'repositionMode' | 'selectAllAppearance' | 'tabConfirmsNewValue'>>;
185
191
  interface SelectBasePropsBaseControlled extends SelectBasePropsBase {
186
192
  defaultValues?: never;
187
193
  onChange: SelectBaseChangeHandler;
@@ -220,8 +226,9 @@ declare class SelectBase extends Component<SelectBaseProps, SelectBaseState> {
220
226
  private matchTimeout;
221
227
  private currentMatchOptions;
222
228
  private availableMatchOptions;
223
- static propTypes: React.WeakValidationMap<SelectBasePropsBaseControlled & Required<Pick<SelectBasePropsBase, "filter" | "placeholder" | "disabled" | "multiple" | "appearance" | "inline" | "defaultPlacement" | "repositionMode" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "allowKeyMatching" | "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" | "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" | "allowKeyMatching" | "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" | "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">>;
224
- static defaultProps: Required<Pick<SelectBasePropsBase, "filter" | "placeholder" | "disabled" | "multiple" | "appearance" | "inline" | "defaultPlacement" | "repositionMode" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "allowKeyMatching" | "allowNewValues" | "isLoadingOptions" | "menuStyle" | "tabConfirmsNewValue">>;
229
+ private optionSelection;
230
+ static propTypes: React.WeakValidationMap<SelectBasePropsBaseControlled & Required<Pick<SelectBasePropsBase, "filter" | "placeholder" | "disabled" | "multiple" | "appearance" | "inline" | "defaultPlacement" | "repositionMode" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "allowKeyMatching" | "allowNewValues" | "isLoadingOptions" | "menuStyle" | "selectAllAppearance" | "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" | "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" | "allowKeyMatching" | "allowNewValues" | "isLoadingOptions" | "menuStyle" | "selectAllAppearance" | "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" | "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">>;
231
+ static defaultProps: Required<Pick<SelectBasePropsBase, "filter" | "placeholder" | "disabled" | "multiple" | "appearance" | "inline" | "defaultPlacement" | "repositionMode" | "append" | "prepend" | "animateLoading" | "noOptionsMessage" | "allowKeyMatching" | "allowNewValues" | "isLoadingOptions" | "menuStyle" | "selectAllAppearance" | "tabConfirmsNewValue">>;
225
232
  static Option: typeof Option;
226
233
  static Divider: typeof Divider;
227
234
  static Heading: typeof Heading;
@@ -256,6 +263,7 @@ declare class SelectBase extends Component<SelectBaseProps, SelectBaseState> {
256
263
  private createToggle;
257
264
  private createChildren;
258
265
  private wrapLabel;
266
+ private handleDropdownMount;
259
267
  render(): JSX.Element;
260
268
  }
261
269
  export default SelectBase;
@@ -185,6 +185,10 @@ declare class Table extends Component<TableProps, TableState> {
185
185
  private static applyHeadFocusState;
186
186
  constructor(props: Readonly<TableProps>);
187
187
  componentDidUpdate(prevProps: Readonly<TableProps>): void;
188
+ /**
189
+ * Add this lifecycle method to improve the performance of this giant component.
190
+ */
191
+ shouldComponentUpdate(nextProps: Readonly<TableProps>, nextState: Readonly<TableState>): boolean;
188
192
  componentDidMount(): void;
189
193
  componentWillUnmount(): void;
190
194
  private updateDockedHeadState;