@splunk/react-ui 4.25.0 → 4.27.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 (41) hide show
  1. package/Accordion.js +195 -212
  2. package/Breadcrumbs.js +65 -42
  3. package/CHANGELOG.md +45 -4
  4. package/CollapsiblePanel.js +554 -325
  5. package/Color.js +3 -1
  6. package/ControlGroup.js +1 -0
  7. package/MIGRATION.mdx +78 -0
  8. package/Modal.js +53 -33
  9. package/Table.js +2419 -2600
  10. package/Text.js +30 -40
  11. package/TextArea.js +304 -392
  12. package/package.json +5 -3
  13. package/types/src/Accordion/Accordion.d.ts +2 -2
  14. package/types/src/Accordion/AccordionContext.d.ts +2 -3
  15. package/types/src/Breadcrumbs/Breadcrumbs.d.ts +18 -2
  16. package/types/src/Breadcrumbs/Item.d.ts +7 -1
  17. package/types/src/Breadcrumbs/docs/examples/CustomizedClick.d.ts +2 -0
  18. package/types/src/CollapsiblePanel/CollapsiblePanel.d.ts +49 -15
  19. package/types/src/CollapsiblePanel/SingleOpenPanelGroup.d.ts +62 -0
  20. package/types/src/CollapsiblePanel/SingleOpenPanelGroupContext.d.ts +9 -0
  21. package/types/src/CollapsiblePanel/docs/examples/MultiControlled.d.ts +2 -2
  22. package/types/src/CollapsiblePanel/docs/examples/SingleOpenPanelGroupControlled.d.ts +2 -0
  23. package/types/src/CollapsiblePanel/docs/examples/SingleOpenPanelGroupUncontrolled.d.ts +2 -0
  24. package/types/src/CollapsiblePanel/icons/ExpandPanel.d.ts +7 -5
  25. package/types/src/Modal/Header.d.ts +6 -5
  26. package/types/src/Modal/Modal.d.ts +9 -2
  27. package/types/src/Table/Body.d.ts +26 -22
  28. package/types/src/Table/Cell.d.ts +3 -1
  29. package/types/src/Table/Head.d.ts +2 -2
  30. package/types/src/Table/HeadCell.d.ts +2 -0
  31. package/types/src/Table/Row.d.ts +50 -17
  32. package/types/src/Table/RowDragCell.d.ts +23 -42
  33. package/types/src/Table/Table.d.ts +29 -79
  34. package/types/src/Table/Toggle.d.ts +4 -4
  35. package/types/src/TextArea/TextArea.d.ts +1 -0
  36. package/types/src/fixtures/text.d.ts +1 -0
  37. package/types/src/CollapsiblePanel/docs/examples/prisma/BasicControlled.d.ts +0 -2
  38. package/types/src/CollapsiblePanel/docs/examples/prisma/BasicUncontrolled.d.ts +0 -2
  39. package/types/src/CollapsiblePanel/docs/examples/prisma/Content.d.ts +0 -1
  40. package/types/src/CollapsiblePanel/docs/examples/prisma/MultiControlled.d.ts +0 -2
  41. package/types/src/CollapsiblePanel/docs/examples/prisma/MultiUncontrolled.d.ts +0 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@splunk/react-ui",
3
- "version": "4.25.0",
3
+ "version": "4.27.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.",
@@ -42,7 +42,7 @@
42
42
  "@dnd-kit/core": "6.0.8",
43
43
  "@dnd-kit/sortable": "7.0.2",
44
44
  "@dnd-kit/utilities": "3.2.1",
45
- "@splunk/react-icons": "^4.2.0",
45
+ "@splunk/react-icons": "^4.3.0",
46
46
  "@splunk/themes": "^0.16.4",
47
47
  "@splunk/ui-utils": "^1.6.0",
48
48
  "commonmark": "^0.30.0",
@@ -62,7 +62,7 @@
62
62
  "@splunk/babel-preset": "^4.0.0",
63
63
  "@splunk/docs-gen": "1.0.0-beta.8",
64
64
  "@splunk/eslint-config": "^4.0.0",
65
- "@splunk/react-docs": "1.0.0-beta.11",
65
+ "@splunk/react-docs": "1.0.0-beta.12",
66
66
  "@splunk/stylelint-config": "^4.0.0",
67
67
  "@splunk/test-runner-utils": "^0.4.1",
68
68
  "@splunk/webpack-configs": "^7.0.2",
@@ -112,10 +112,12 @@
112
112
  "eslint-import-resolver-webpack": "^0.13.4",
113
113
  "eslint-plugin-cypress": "^2.12.1",
114
114
  "eslint-plugin-import": "^2.22.1",
115
+ "eslint-plugin-jest-dom": "^5.1.0",
115
116
  "eslint-plugin-jsx-a11y": "^6.4.1",
116
117
  "eslint-plugin-react": "^7.21.5",
117
118
  "eslint-plugin-react-hooks": "^4.2.0",
118
119
  "eslint-plugin-react-perf": "^3.3.1",
120
+ "eslint-plugin-testing-library": "6.2.0",
119
121
  "fs-extra": "^9.0.1",
120
122
  "fs-readdir-recursive": "^1.0.0",
121
123
  "glob": "^7.1.6",
@@ -67,8 +67,8 @@ declare class Accordion extends Component<AccordionProps, AccordionState> {
67
67
  static Panel: typeof Panel;
68
68
  constructor(props: Readonly<AccordionProps>);
69
69
  componentDidUpdate(prevProps: Readonly<AccordionProps>): void;
70
- private handleRequestOpen;
71
- private handleRequestClose;
70
+ private getCurrentOpenPanel;
71
+ private handleChange;
72
72
  private isControlled;
73
73
  render(): JSX.Element;
74
74
  }
@@ -1,8 +1,7 @@
1
1
  /// <reference types="react" />
2
- import { CollapsiblePanelRequestCloseHandler, CollapsiblePanelRequestOpenHandler } from '@splunk/react-ui/CollapsiblePanel';
2
+ import { CollapsiblePanelChangeHandler } from '@splunk/react-ui/CollapsiblePanel';
3
3
  export interface AccordionContext {
4
- onRequestClose?: CollapsiblePanelRequestCloseHandler;
5
- onRequestOpen?: CollapsiblePanelRequestOpenHandler;
4
+ onChange?: CollapsiblePanelChangeHandler;
6
5
  openPanelId?: string | number;
7
6
  inset?: boolean;
8
7
  }
@@ -2,6 +2,11 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import Item from './Item';
4
4
  import { ComponentProps } from '../utils/types';
5
+ /** @public */
6
+ declare type BreadcrumbsClickHandler = (event: React.MouseEvent<HTMLAnchorElement>, data: {
7
+ label?: string;
8
+ to: string;
9
+ }) => void;
5
10
  interface BreadcrumbsPropsBase {
6
11
  /**
7
12
  * `children` must be of type `Breadcrumbs.Item`. The last child will be marked as the current page.
@@ -15,17 +20,28 @@ interface BreadcrumbsPropsBase {
15
20
  * By default, the current page is a dimmed link. This prop changes this behavior by enabling the current page link.
16
21
  */
17
22
  enableCurrentPage?: boolean;
23
+ /**
24
+ * An `onClick` handler for all Items.
25
+ * The function takes the event and an options argument with `to` and `label`.
26
+ */
27
+ onClick?: BreadcrumbsClickHandler;
18
28
  }
19
29
  declare type BreadcrumbsProps = ComponentProps<BreadcrumbsPropsBase, 'nav'>;
20
- declare function Breadcrumbs({ children, elementRef, enableCurrentPage, ...otherProps }: BreadcrumbsProps): JSX.Element;
30
+ declare type BreadcrumbsContextValue = {
31
+ onClick?: BreadcrumbsClickHandler;
32
+ prefix?: string;
33
+ };
34
+ declare const BreadcrumbsContext: React.Context<BreadcrumbsContextValue>;
35
+ declare function Breadcrumbs({ children, elementRef, enableCurrentPage, onClick, ...otherProps }: BreadcrumbsProps): JSX.Element;
21
36
  declare namespace Breadcrumbs {
22
37
  var propTypes: {
23
38
  children: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
24
39
  elementRef: PropTypes.Requireable<object>;
25
40
  enableCurrentPage: PropTypes.Requireable<boolean>;
41
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
26
42
  };
27
43
  var defaultProps: Required<Pick<BreadcrumbsPropsBase, "enableCurrentPage">>;
28
44
  var Item: typeof import("./Item").default;
29
45
  }
30
46
  export default Breadcrumbs;
31
- export { Item };
47
+ export { Item, BreadcrumbsContext, BreadcrumbsClickHandler };
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import { BreadcrumbsClickHandler } from './Breadcrumbs';
3
4
  import { ComponentProps } from '../utils/types';
4
5
  interface ItemPropsBase {
5
6
  /**
@@ -22,6 +23,10 @@ interface ItemPropsBase {
22
23
  * The label of the `Item`.
23
24
  */
24
25
  label: string;
26
+ /**
27
+ * An `onClick` handler for the current `Item`.
28
+ */
29
+ onClick?: BreadcrumbsClickHandler;
25
30
  /**
26
31
  * Adornment at the start of the label.
27
32
  */
@@ -32,7 +37,7 @@ interface ItemPropsBase {
32
37
  to: string;
33
38
  }
34
39
  declare type ItemProps = ComponentProps<ItemPropsBase, 'a'>;
35
- declare function Item({ enableCurrentPage, endAdornment, isCurrent, label, startAdornment, to, ...otherProps }: ItemProps): JSX.Element;
40
+ declare function Item({ enableCurrentPage, endAdornment, isCurrent, label, onClick, startAdornment, to, ...otherProps }: ItemProps): JSX.Element;
36
41
  declare namespace Item {
37
42
  var propTypes: {
38
43
  elementRef: PropTypes.Requireable<object>;
@@ -40,6 +45,7 @@ declare namespace Item {
40
45
  endAdornment: PropTypes.Requireable<PropTypes.ReactNodeLike>;
41
46
  isCurrent: PropTypes.Requireable<boolean>;
42
47
  label: PropTypes.Validator<string>;
48
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
43
49
  startAdornment: PropTypes.Requireable<PropTypes.ReactNodeLike>;
44
50
  to: PropTypes.Validator<string>;
45
51
  };
@@ -0,0 +1,2 @@
1
+ declare function CustomizedClick(): JSX.Element;
2
+ export default CustomizedClick;
@@ -1,26 +1,34 @@
1
1
  import React, { Component } from 'react';
2
+ import SingleOpenPanelGroup, { SingleOpenPanelGroupChangeHandler } from './SingleOpenPanelGroup';
3
+ import SingleOpenPanelGroupContext from './SingleOpenPanelGroupContext';
2
4
  import { ClassComponentProps } from '../utils/types';
3
- /** @public */
5
+ /** @public @deprecated Use `CollapsiblePanelChangeHandler` */
4
6
  declare type CollapsiblePanelRequestCloseHandler = (data: {
5
7
  event: React.MouseEvent<HTMLButtonElement>;
6
8
  panelId?: string | number;
7
9
  reason: 'toggleClick';
8
10
  }) => void;
9
- /** @public */
11
+ /** @public @deprecated Use `CollapsiblePanelChangeHandler` */
10
12
  declare type CollapsiblePanelRequestOpenHandler = (data: {
11
13
  event: React.MouseEvent<HTMLButtonElement>;
12
14
  panelId?: string | number;
13
15
  reason: 'toggleClick';
14
16
  }) => void;
17
+ /** @public */
18
+ declare type CollapsiblePanelChangeHandler = (event: React.MouseEvent<HTMLButtonElement>, data: {
19
+ panelId?: string | number;
20
+ reason: 'toggleClick';
21
+ }) => void;
15
22
  interface CollapsiblePanelPropsBase {
16
23
  /**
17
- * Style object applied to TransitionOpen inner styles.
24
+ * Style object applied to `TransitionOpen` inner styles.
18
25
  */
19
26
  innerBodyStyles?: React.CSSProperties;
20
27
  children?: React.ReactNode;
21
28
  /**
22
29
  * Sets the initial state of a panel to expanded. Incompatible with
23
- `open`. Use 'open' or 'defaultOpen', not both.
30
+ * `open`. Use `open` or `defaultOpen`, not both. Incompatible with `SingleOpenPanelGroup`
31
+ * and will be ignored for any children in `SingleOpenPanelGroup`.
24
32
  */
25
33
  defaultOpen?: boolean;
26
34
  /** Displays right-aligned text in the title bar of the `panel`. */
@@ -38,31 +46,42 @@ interface CollapsiblePanelPropsBase {
38
46
  * If set, the heading element contains `role="heading"`.
39
47
  */
40
48
  headingLevel?: number;
49
+ /**
50
+ * If set to true, adds padding to panel content.
51
+ */
52
+ inset?: boolean;
41
53
  /**
42
54
  * Identifies a specific panel. Splunk UI uses `panelId` for callbacks
43
55
  and managing expanded and collapsed states.
44
56
  */
45
57
  panelId?: string | number;
46
58
  /**
47
- * Invokes a callback when the user requests to collapse the panel. Passes
48
- an object containing the `panelId`.
59
+ * @deprecated `onRequestClose` option has been marked for deprecation and will be removed in the next major version.
60
+ * Use the `onChange` prop instead.
49
61
  */
50
62
  onRequestClose?: CollapsiblePanelRequestCloseHandler;
51
63
  /**
52
- * Invokes a callback when user requests to expand the panel. Passes an
53
- object containing the `panelId`.
64
+ * @deprecated `onRequestOpen` option has been marked for deprecation and will be removed in the next major version.
65
+ * Use the `onChange` prop instead.
54
66
  */
55
67
  onRequestOpen?: CollapsiblePanelRequestOpenHandler;
68
+ /**
69
+ * Invoked on a change of the open panel. Callback is passed data, such as
70
+ * the `panelId` of the `CollapsiblePanel` that originated the expand request.
71
+ * `panelId` is `undefined` when the open panel is collapsed.
72
+ */
73
+ onChange?: CollapsiblePanelChangeHandler;
56
74
  /**
57
75
  * Controls the expanded state of a panel. Incompatible with
58
- `defaultOpen`. Use 'open' or 'defaultOpen', not both.
76
+ * `defaultOpen`. Use `open` or `defaultOpen`, not both. Incompatible with `SingleOpenPanelGroup`
77
+ * and will be ignored for any children in `SingleOpenPanelGroup`.
59
78
  */
60
79
  open?: boolean;
61
80
  /**
62
81
  * Controls how panel overflow is handled. Default is `auto`, allowing
63
82
  * fixed-height Accordions to scroll their content if the panel is too
64
83
  * high to fit properly. Any value allowed by the CSS `overflow` property
65
- * is permitted, as is `null` (which will use the CSS default of "visible")
84
+ * is permitted, as is `null` (which will use the CSS default of "visible").
66
85
  */
67
86
  overflow?: string;
68
87
  /**
@@ -79,16 +98,26 @@ interface CollapsiblePanelPropsBase {
79
98
  */
80
99
  titleWithActions?: boolean;
81
100
  }
101
+ interface CollapsiblePanelDeprecatedControlledProps extends CollapsiblePanelPropsBase {
102
+ defaultOpen?: never;
103
+ onRequestOpen?: CollapsiblePanelRequestOpenHandler;
104
+ onRequestClose?: CollapsiblePanelRequestCloseHandler;
105
+ onChange: never;
106
+ open?: boolean;
107
+ }
82
108
  interface CollapsiblePanelControlledProps extends CollapsiblePanelPropsBase {
83
109
  defaultOpen?: never;
110
+ onRequestOpen?: never;
111
+ onRequestClose?: never;
112
+ onChange: CollapsiblePanelChangeHandler;
84
113
  open?: boolean;
85
114
  }
86
115
  interface CollapsiblePanelUncontrolledProps extends CollapsiblePanelPropsBase {
87
116
  defaultOpen?: boolean;
88
117
  open?: never;
89
118
  }
90
- declare const defaultProps: Required<Pick<CollapsiblePanelPropsBase, 'disabled' | 'overflow' | 'renderChildrenWhenCollapsed' | 'titleWithActions'>>;
91
- declare type CollapsiblePanelProps = ClassComponentProps<CollapsiblePanelControlledProps | CollapsiblePanelUncontrolledProps, typeof defaultProps, 'div'>;
119
+ declare const defaultProps: Required<Pick<CollapsiblePanelPropsBase, 'disabled' | 'inset' | 'overflow' | 'renderChildrenWhenCollapsed' | 'titleWithActions'>>;
120
+ declare type CollapsiblePanelProps = ClassComponentProps<CollapsiblePanelDeprecatedControlledProps | CollapsiblePanelUncontrolledProps | CollapsiblePanelControlledProps, typeof defaultProps, 'div'>;
92
121
  interface CollapsiblePanelState {
93
122
  animating: boolean;
94
123
  open?: boolean;
@@ -97,15 +126,20 @@ declare class CollapsiblePanel extends Component<CollapsiblePanelProps, Collapsi
97
126
  private controlledExternally;
98
127
  private containerId;
99
128
  private toggleId;
100
- static propTypes: React.WeakValidationMap<CollapsiblePanelControlledProps & Required<Pick<CollapsiblePanelPropsBase, "overflow" | "disabled" | "renderChildrenWhenCollapsed" | "titleWithActions">> & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "slot" | "style" | "onChange" | "onPause" | "className" | "color" | "id" | "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" | "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" | "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.WeakValidationMap<CollapsiblePanelUncontrolledProps & Required<Pick<CollapsiblePanelPropsBase, "overflow" | "disabled" | "renderChildrenWhenCollapsed" | "titleWithActions">> & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "slot" | "style" | "onChange" | "onPause" | "className" | "color" | "id" | "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" | "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" | "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">>;
101
- static defaultProps: Required<Pick<CollapsiblePanelPropsBase, "overflow" | "disabled" | "renderChildrenWhenCollapsed" | "titleWithActions">>;
129
+ static propTypes: React.WeakValidationMap<CollapsiblePanelDeprecatedControlledProps & Required<Pick<CollapsiblePanelPropsBase, "overflow" | "disabled" | "inset" | "renderChildrenWhenCollapsed" | "titleWithActions">> & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "slot" | "style" | "onPause" | "className" | "color" | "id" | "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" | "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" | "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.WeakValidationMap<CollapsiblePanelControlledProps & Required<Pick<CollapsiblePanelPropsBase, "overflow" | "disabled" | "inset" | "renderChildrenWhenCollapsed" | "titleWithActions">> & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "slot" | "style" | "onPause" | "className" | "color" | "id" | "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" | "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" | "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.WeakValidationMap<CollapsiblePanelUncontrolledProps & Required<Pick<CollapsiblePanelPropsBase, "overflow" | "disabled" | "inset" | "renderChildrenWhenCollapsed" | "titleWithActions">> & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "slot" | "style" | "onPause" | "className" | "color" | "id" | "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" | "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" | "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">>;
130
+ static defaultProps: Required<Pick<CollapsiblePanelPropsBase, "overflow" | "disabled" | "inset" | "renderChildrenWhenCollapsed" | "titleWithActions">>;
131
+ context: React.ContextType<typeof SingleOpenPanelGroupContext>;
132
+ static contextType: React.Context<SingleOpenPanelGroupContext>;
102
133
  constructor(props: Readonly<CollapsiblePanelProps>);
134
+ componentDidMount(): void;
103
135
  componentDidUpdate(prevProps: Readonly<CollapsiblePanelProps>): void;
104
136
  private handleRequestClose;
105
137
  private handleRequestOpen;
138
+ private handleChange;
106
139
  private handleAnimationEnd;
107
140
  private isControlled;
108
141
  render(): JSX.Element;
109
142
  }
110
143
  export default CollapsiblePanel;
111
- export { CollapsiblePanelRequestCloseHandler, CollapsiblePanelRequestOpenHandler };
144
+ export { SingleOpenPanelGroup };
145
+ export type { CollapsiblePanelRequestCloseHandler, CollapsiblePanelRequestOpenHandler, CollapsiblePanelChangeHandler, SingleOpenPanelGroupChangeHandler, };
@@ -0,0 +1,62 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { ComponentProps } from '../utils/types';
4
+ /** @public */
5
+ declare type SingleOpenPanelGroupChangeHandler = (event: React.MouseEvent<HTMLButtonElement>, data: {
6
+ openPanelId?: string | number | null;
7
+ reason: 'toggleClick';
8
+ }) => void;
9
+ interface SingleOpenPanelGroupPropsBase {
10
+ /**
11
+ * Must be `CollapsiblePanel`.
12
+ */
13
+ children?: React.ReactNode;
14
+ /**
15
+ * Sets the panel to expand on the initial render. Use only when using
16
+ * `SingleOpenPanelGroup` as an uncontrolled component. Must match the `panelId` of
17
+ * one of the `CollapsiblePanel` children.
18
+ */
19
+ defaultOpenPanelId?: string | number;
20
+ /**
21
+ * A React ref which is set to the DOM element when the component mounts and null when it unmounts.
22
+ */
23
+ elementRef?: React.Ref<HTMLDivElement>;
24
+ /**
25
+ * If set to true, adds padding to panel content.
26
+ */
27
+ inset?: boolean;
28
+ /**
29
+ * Invoked on a change of the open panel. Callback is passed data, such as
30
+ * the `panelId` of the `CollapsiblePanel` that originated the expand request.
31
+ * `panelId` is `undefined` when the open panel is collapsed.
32
+ */
33
+ onChange?: SingleOpenPanelGroupChangeHandler;
34
+ /**
35
+ * Indicates the `panelId` of the currently expanded `CollapsiblePanel`.
36
+ * Use only when using `SingleOpenPanelGroup` as a controlled component.
37
+ */
38
+ openPanelId?: string | number | null;
39
+ }
40
+ interface SingleOpenPanelGroupControlledProps extends SingleOpenPanelGroupPropsBase {
41
+ defaultOpenPanelId?: never;
42
+ onChange: SingleOpenPanelGroupChangeHandler;
43
+ openPanelId?: string | number | null;
44
+ }
45
+ interface SingleOpenPanelGroupUncontrolledProps extends SingleOpenPanelGroupPropsBase {
46
+ defaultOpenPanelId?: string | number;
47
+ openPanelId?: never;
48
+ }
49
+ declare type SingleOpenPanelGroupProps = ComponentProps<SingleOpenPanelGroupControlledProps | SingleOpenPanelGroupUncontrolledProps, 'div'>;
50
+ declare function SingleOpenPanelGroup(props: SingleOpenPanelGroupProps): JSX.Element;
51
+ declare namespace SingleOpenPanelGroup {
52
+ var propTypes: {
53
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
54
+ defaultOpenPanelId: PropTypes.Requireable<any>;
55
+ elementRef: PropTypes.Requireable<object>;
56
+ inset: PropTypes.Requireable<boolean>;
57
+ onChange: PropTypes.Requireable<(...args: any[]) => any>;
58
+ openPanelId: PropTypes.Requireable<any>;
59
+ };
60
+ }
61
+ export default SingleOpenPanelGroup;
62
+ export { SingleOpenPanelGroupChangeHandler };
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { CollapsiblePanelChangeHandler } from '@splunk/react-ui/CollapsiblePanel';
3
+ export interface SingleOpenPanelGroupContext {
4
+ onChange?: CollapsiblePanelChangeHandler;
5
+ openPanelId?: string | number | null;
6
+ inset?: boolean;
7
+ }
8
+ export declare const SingleOpenPanelGroupContext: import("react").Context<SingleOpenPanelGroupContext>;
9
+ export default SingleOpenPanelGroupContext;
@@ -1,2 +1,2 @@
1
- declare function BasicControlled(): JSX.Element;
2
- export default BasicControlled;
1
+ declare function MultiControlled(): JSX.Element;
2
+ export default MultiControlled;
@@ -0,0 +1,2 @@
1
+ declare function SingleOpenPanelGroupControlled(): JSX.Element;
2
+ export default SingleOpenPanelGroupControlled;
@@ -0,0 +1,2 @@
1
+ declare function SingleOpenPanelGroupUncontrolled(): JSX.Element;
2
+ export default SingleOpenPanelGroupUncontrolled;
@@ -1,11 +1,13 @@
1
1
  import PropTypes from 'prop-types';
2
- interface ChevronRightIconProps {
2
+ declare type ExpandPanelIconProps = {
3
+ className?: string;
3
4
  open?: boolean;
4
- }
5
- declare const ChevronRight: {
6
- ({ open }: ChevronRightIconProps): JSX.Element;
5
+ };
6
+ declare const ExpandPanelIcon: {
7
+ ({ className, open }: ExpandPanelIconProps): JSX.Element;
7
8
  propTypes: {
9
+ className: PropTypes.Requireable<string>;
8
10
  open: PropTypes.Requireable<boolean>;
9
11
  };
10
12
  };
11
- export default ChevronRight;
13
+ export default ExpandPanelIcon;
@@ -7,11 +7,16 @@ interface HeaderPropsBase {
7
7
  * rendered if a title is provided.
8
8
  */
9
9
  children?: React.ReactNode;
10
+ /**
11
+ * The icon to show before the title.
12
+ */
13
+ icon?: React.ReactNode;
10
14
  /**
11
15
  * If an `onRequestClose` function is provided, the header includes a close
12
16
  * button, which invokes the `onRequestClose` callback when clicked.
13
17
  *
14
- * This callback must return focus to the invoking element or other element that follows the logical flow of the application.
18
+ * If `Modal`'s `returnFocus` prop isn't used, this callback *must* return focus to the invoking element
19
+ * or other element that follows the logical flow of the application.
15
20
  */
16
21
  onRequestClose?: React.MouseEventHandler<HTMLButtonElement>;
17
22
  /**
@@ -22,10 +27,6 @@ interface HeaderPropsBase {
22
27
  * Used as the subheading. Only shown if `title` is also present.
23
28
  */
24
29
  subtitle?: React.ReactNode;
25
- /**
26
- * The icon to show before the title.
27
- */
28
- icon?: React.ReactNode;
29
30
  }
30
31
  declare type HeaderProps = ComponentProps<HeaderPropsBase, 'div'>;
31
32
  /**
@@ -9,7 +9,7 @@ declare type ModalRequestCloseHandler = (data: {
9
9
  reason: 'clickAway' | 'escapeKey';
10
10
  }) => void;
11
11
  declare type ModalInitialFocus = 'first' | 'container' | (React.Component & {
12
- focus: () => {};
12
+ focus: () => void;
13
13
  }) | HTMLElement | null;
14
14
  interface ModalPropsBase {
15
15
  /**
@@ -45,6 +45,13 @@ interface ModalPropsBase {
45
45
  * Set to `true` if the `Modal` is currently open. Otherwise, set to `false`.
46
46
  */
47
47
  open?: boolean;
48
+ /**
49
+ * Ref of the invoking element (or other element that follows the logical flow of the application) to be focused after the `Modal` is closed.
50
+ * If you are not using this prop, then you *must* manually return focus to the invoking element in `onRequestClose`.
51
+ */
52
+ returnFocus?: React.MutableRefObject<(React.Component & {
53
+ focus: () => void;
54
+ }) | HTMLElement | null>;
48
55
  }
49
56
  declare const defaultProps: Required<Pick<ModalPropsBase, 'initialFocus' | 'open' | 'divider'>>;
50
57
  declare type ModalProps = ClassComponentProps<ModalPropsBase, typeof defaultProps, 'div'>;
@@ -64,7 +71,7 @@ declare class Modal extends Component<ModalProps> {
64
71
  componentDidUpdate(prevProps: ModalProps): void;
65
72
  private getDefaultMotionStyle;
66
73
  private getMotionStyle;
67
- private handleInitialFocus;
74
+ private handleFocus;
68
75
  private handleModalMount;
69
76
  private handleModalKeyDown;
70
77
  private handleRequestClose;
@@ -1,10 +1,13 @@
1
1
  import React, { Component } from 'react';
2
+ import PropTypes from 'prop-types';
2
3
  import { RowRequestMoveRowHandler } from './Row';
3
4
  import { ClassComponentProps } from '../utils/types';
4
5
  declare type BodyRequestMoveRowHandler = RowRequestMoveRowHandler;
5
6
  interface BodyPropsBase {
6
7
  /** @private. Generally passed by Table rather than added directly. */
7
8
  actions?: boolean;
9
+ /** @private. Generally passed by Table rather than added directly. */
10
+ activeElementId?: string;
8
11
  /**
9
12
  * Must be `Table.Row`.
10
13
  */
@@ -26,13 +29,28 @@ interface BodyPropsBase {
26
29
  }
27
30
  declare const defaultProps: Required<Pick<BodyPropsBase, 'actions' | 'rowExpansion' | 'stripeRows'>>;
28
31
  declare type BodyProps = ClassComponentProps<BodyPropsBase, typeof defaultProps, 'tbody'>;
29
- interface BodyState {
30
- dragDataId?: string | number;
31
- dragIndex?: number;
32
- dragPosition?: number;
33
- expanded: (string | number | null)[];
32
+ declare function BodyBase({ activeElementId, actions, children, elementRef, movableColumns, onRequestMoveRow, rowExpansion, primaryColumnIndex, stripeRows, ...otherProps }: BodyProps): JSX.Element | null;
33
+ declare namespace BodyBase {
34
+ var propTypes: {
35
+ /** @private. Generally passed by Table rather than added directly. */
36
+ actions: PropTypes.Requireable<boolean>;
37
+ /** @private. Generally passed by Table rather than added directly. */
38
+ activeElementId: PropTypes.Requireable<string>;
39
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
40
+ elementRef: PropTypes.Requireable<object>;
41
+ /** @private. Generally passed by Table rather than added directly. */
42
+ movableColumns: PropTypes.Requireable<boolean>;
43
+ /** @private. Generally passed by Table rather than added directly. */
44
+ rowExpansion: PropTypes.Requireable<string>;
45
+ /** @private. Generally passed by Table rather than added directly. */
46
+ onRequestMoveRow: PropTypes.Requireable<(...args: any[]) => any>;
47
+ /** @private. Generally passed by Table rather than added directly. */
48
+ primaryColumnIndex: PropTypes.Requireable<number>;
49
+ /** @private. Generally passed by Table rather than added directly. */
50
+ stripeRows: PropTypes.Requireable<boolean>;
51
+ };
34
52
  }
35
- declare class Body extends Component<BodyProps, BodyState> {
53
+ declare class Body extends Component<BodyProps, {}> {
36
54
  private el;
37
55
  private rect?;
38
56
  private rowHeight?;
@@ -40,21 +58,7 @@ declare class Body extends Component<BodyProps, BodyState> {
40
58
  static splunkUiType: string;
41
59
  static propTypes: React.WeakValidationMap<ClassComponentProps<BodyPropsBase, Required<Pick<BodyPropsBase, "actions" | "rowExpansion" | "stripeRows">>, "tbody", never>>;
42
60
  static defaultProps: Required<Pick<BodyPropsBase, "actions" | "rowExpansion" | "stripeRows">>;
43
- constructor(props: Readonly<BodyProps>);
44
- componentWillUnmount(): void;
45
- private handleDragStart;
46
- private handleDragOver;
47
- private handleDragEnter;
48
- private handleDrop;
49
- private handleDragEnd;
50
- private onRequestMoveRow;
51
- private handleMount;
52
- private handleRowExpansion;
53
- private calculateGuideIndex;
54
- private updateDragPositionImpl;
55
- private updateDragPosition;
56
- private updateScrollPosition;
57
- private cleanupDrag;
58
- render(): JSX.Element | null;
61
+ render(): JSX.Element;
59
62
  }
60
63
  export default Body;
64
+ export { BodyBase };
@@ -17,6 +17,8 @@ interface CellPropsBase {
17
17
  * - The text is white and the background color of the row is lighter on row hover in `prisma` theme.
18
18
  * @private */
19
19
  appearance?: 'data' | 'link' | 'rowLink';
20
+ /** @private Used to set the $clickable appearance without an onClick */
21
+ appearClickable?: boolean;
20
22
  children?: React.ReactNode;
21
23
  /** This data is returned with the onClick events as the second argument. */
22
24
  data?: any;
@@ -50,4 +52,4 @@ declare class Cell extends Component<CellProps, {}> {
50
52
  render(): JSX.Element;
51
53
  }
52
54
  export default Cell;
53
- export { CellClickHandler };
55
+ export { CellClickHandler, CellProps };
@@ -2,7 +2,7 @@ import React, { Component } from 'react';
2
2
  import { TableRequestMoveColumnHandler } from './Table';
3
3
  import TableContext from './TableContext';
4
4
  import { ClassComponentProps } from '../utils/types';
5
- declare type HeadAutosizeColumnHandler = (event: React.MouseEvent<HTMLButtonElement>, data: {
5
+ declare type HeadAutosizeColumnHandler = (event: React.MouseEvent<HTMLHRElement>, data: {
6
6
  columnId: any;
7
7
  index: number;
8
8
  }) => void;
@@ -10,7 +10,7 @@ declare type HeadDragStartHandler = (data: {
10
10
  dragIndex?: number;
11
11
  }) => void;
12
12
  declare type HeadRequestMoveColumnHandler = TableRequestMoveColumnHandler;
13
- declare type HeadRequestResizeColumnHandler = (event: React.KeyboardEvent<HTMLButtonElement> | MouseEvent, data: {
13
+ declare type HeadRequestResizeColumnHandler = (event: React.KeyboardEvent<HTMLHRElement> | MouseEvent, data: {
14
14
  columnId: any;
15
15
  id?: string;
16
16
  index: number;