@splunk/react-ui 4.26.0 → 4.28.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.
- package/Accordion.js +195 -212
- package/Box.js +45 -44
- package/Button.js +1 -2
- package/ButtonSimple.js +145 -147
- package/CHANGELOG.md +52 -3
- package/CollapsiblePanel.js +555 -325
- package/Color.js +3 -1
- package/ControlGroup.js +1 -0
- package/JSONTree.js +1311 -629
- package/MIGRATION.mdx +30 -0
- package/Markdown.js +521 -222
- package/Modal.js +26 -10
- package/Multiselect.js +844 -804
- package/Paginator.js +593 -271
- package/TabBar.js +487 -312
- package/Table.js +903 -869
- package/Text.js +30 -40
- package/TextArea.js +372 -432
- package/Tree.js +607 -519
- package/package.json +4 -2
- package/types/src/Accordion/Accordion.d.ts +2 -2
- package/types/src/Accordion/AccordionContext.d.ts +2 -3
- package/types/src/Box/Box.d.ts +3 -2
- package/types/src/CollapsiblePanel/CollapsiblePanel.d.ts +49 -15
- package/types/src/CollapsiblePanel/SingleOpenPanelGroup.d.ts +62 -0
- package/types/src/CollapsiblePanel/SingleOpenPanelGroupContext.d.ts +9 -0
- package/types/src/CollapsiblePanel/docs/examples/MultiControlled.d.ts +2 -2
- package/types/src/CollapsiblePanel/docs/examples/SingleOpenPanelGroupControlled.d.ts +2 -0
- package/types/src/CollapsiblePanel/docs/examples/SingleOpenPanelGroupUncontrolled.d.ts +2 -0
- package/types/src/CollapsiblePanel/icons/ExpandPanel.d.ts +7 -5
- package/types/src/File/docs/examples/FullScreen.d.ts +1 -14
- package/types/src/JSONTree/JSONTreeItem.d.ts +45 -0
- package/types/src/JSONTree/renderTreeItems.d.ts +17 -0
- package/types/src/Markdown/renderers/MarkdownAnchorHeading.d.ts +1 -1
- package/types/src/Markdown/renderers/MarkdownBlockquote.d.ts +1 -1
- package/types/src/Markdown/renderers/MarkdownCode.d.ts +1 -1
- package/types/src/Markdown/renderers/MarkdownCodeBlock.d.ts +1 -1
- package/types/src/Markdown/renderers/MarkdownHeading.d.ts +1 -1
- package/types/src/Markdown/renderers/MarkdownImage.d.ts +1 -1
- package/types/src/Markdown/renderers/MarkdownItem.d.ts +1 -1
- package/types/src/Markdown/renderers/MarkdownList.d.ts +1 -1
- package/types/src/Markdown/renderers/MarkdownParagraph.d.ts +1 -1
- package/types/src/Modal/Modal.d.ts +4 -5
- package/types/src/Multiselect/Normal.d.ts +1 -0
- package/types/src/Paginator/Button.d.ts +8 -3
- package/types/src/Paginator/Compact.d.ts +50 -0
- package/types/src/Paginator/PageControl.d.ts +37 -0
- package/types/src/Paginator/PageSelect.d.ts +32 -0
- package/types/src/Paginator/Paginator.d.ts +9 -4
- package/types/src/Paginator/docs/examples/Compact.d.ts +2 -0
- package/types/src/Paginator/docs/examples/CompactCustomLabel.d.ts +2 -0
- package/types/src/Paginator/docs/examples/CompactWithLabel.d.ts +2 -0
- package/types/src/Paginator/docs/examples/Labelled.d.ts +2 -0
- package/types/src/Paginator/docs/examples/PageControl.d.ts +2 -0
- package/types/src/Paginator/icons/ChevronLeft.d.ts +5 -0
- package/types/src/Paginator/icons/ChevronRight.d.ts +5 -0
- package/types/src/SlidingPanels/docs/examples/Modal.d.ts +1 -13
- package/types/src/TabBar/Tab.d.ts +12 -2
- package/types/src/TabBar/TabBar.d.ts +4 -3
- package/types/src/TabBar/TabBarContext.d.ts +6 -1
- package/types/src/Table/Cell.d.ts +3 -1
- package/types/src/Table/Head.d.ts +2 -2
- package/types/src/Table/HeadCell.d.ts +2 -0
- package/types/src/Table/Row.d.ts +4 -2
- package/types/src/Table/Table.d.ts +1 -1
- package/types/src/Table/Toggle.d.ts +4 -4
- package/types/src/TextArea/TextArea.d.ts +3 -2
- package/types/src/TextArea/icons/ClearButton.d.ts +3 -0
- package/types/src/TextArea/icons/SearchIcon.d.ts +1 -0
- package/types/src/Tree/TreeContext.d.ts +2 -1
- package/types/src/Tree/TreeItem.d.ts +18 -5
- package/types/src/fixtures/text.d.ts +1 -0
- package/types/src/CollapsiblePanel/docs/examples/prisma/BasicControlled.d.ts +0 -2
- package/types/src/CollapsiblePanel/docs/examples/prisma/BasicUncontrolled.d.ts +0 -2
- package/types/src/CollapsiblePanel/docs/examples/prisma/Content.d.ts +0 -1
- package/types/src/CollapsiblePanel/docs/examples/prisma/MultiControlled.d.ts +0 -2
- package/types/src/CollapsiblePanel/docs/examples/prisma/MultiUncontrolled.d.ts +0 -2
- package/types/src/JSONTree/JSONTreeContext.d.ts +0 -7
- package/types/src/JSONTree/TreeNode.d.ts +0 -44
|
@@ -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<
|
|
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<
|
|
13
|
+
declare type HeadRequestResizeColumnHandler = (event: React.KeyboardEvent<HTMLHRElement> | MouseEvent, data: {
|
|
14
14
|
columnId: any;
|
|
15
15
|
id?: string;
|
|
16
16
|
index: number;
|
|
@@ -22,6 +22,8 @@ declare type HeadCellRequestResizeHandler = HeadRequestResizeColumnHandler;
|
|
|
22
22
|
interface HeadCellPropsBase {
|
|
23
23
|
/** Align the text in the label. */
|
|
24
24
|
align?: 'left' | 'center' | 'right';
|
|
25
|
+
/** @private Used to set the $clickable appearance without an onClick */
|
|
26
|
+
appearClickable?: boolean;
|
|
25
27
|
children?: React.ReactNode;
|
|
26
28
|
/**
|
|
27
29
|
* An `id` that is returned in the draggable, sort, and resize events.
|
package/types/src/Table/Row.d.ts
CHANGED
|
@@ -13,7 +13,9 @@ declare type RowDragStartHandler = (event: DragStartEvent) => void;
|
|
|
13
13
|
declare type RowRequestMoveRowHandler = TableRequestMoveRowHandler;
|
|
14
14
|
declare type RowExpansionHandler = (event: React.MouseEvent<HTMLTableCellElement> | React.KeyboardEvent<HTMLTableCellElement>, data?: any) => void;
|
|
15
15
|
/** @public */
|
|
16
|
-
declare type
|
|
16
|
+
declare type RowRequestExpansionHandler = (event: React.MouseEvent<HTMLTableCellElement> | React.KeyboardEvent<HTMLTableCellElement>, data?: any) => void;
|
|
17
|
+
/** @public */
|
|
18
|
+
declare type RowRequestToggleHandler = (event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>, data?: any) => void;
|
|
17
19
|
interface RowPropsBase {
|
|
18
20
|
/** @private. Generally passed by Table rather than added directly. */
|
|
19
21
|
activeElementId?: string;
|
|
@@ -141,4 +143,4 @@ declare class Row extends Component<RowProps, {}> {
|
|
|
141
143
|
}
|
|
142
144
|
export default Row;
|
|
143
145
|
export { RowActionPrimaryClickHandler, RowActionSecondaryClickHandler, RowBase, // exporting the base component for testing purpose
|
|
144
|
-
RowClickHandler, RowDragStartHandler, RowRequestMoveRowHandler, RowRequestToggleHandler, RowExpansionHandler, };
|
|
146
|
+
RowClickHandler, RowDragStartHandler, RowRequestExpansionHandler, RowRequestMoveRowHandler, RowRequestToggleHandler, RowExpansionHandler, };
|
|
@@ -21,7 +21,7 @@ declare type TableRequestMoveRowHandler = (data: {
|
|
|
21
21
|
toIndex: number;
|
|
22
22
|
}) => void;
|
|
23
23
|
/** @public */
|
|
24
|
-
declare type TableRequestResizeColumnHandler = (event: React.MouseEvent<
|
|
24
|
+
declare type TableRequestResizeColumnHandler = (event: React.MouseEvent<HTMLHRElement> | React.KeyboardEvent<HTMLHRElement> | MouseEvent, data: {
|
|
25
25
|
columnId: any;
|
|
26
26
|
id?: string;
|
|
27
27
|
index: number;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import PropTypes from 'prop-types';
|
|
2
|
-
import { SwitchCheckboxWithSomeClickHandler } from '@splunk/react-ui/Switch';
|
|
3
3
|
import { ComponentProps } from '../utils/types';
|
|
4
4
|
interface TogglePropsBase {
|
|
5
5
|
allRows?: boolean;
|
|
6
6
|
disabled?: boolean;
|
|
7
|
-
onClick?:
|
|
7
|
+
onClick?: React.MouseEventHandler<HTMLButtonElement | HTMLAnchorElement>;
|
|
8
8
|
selected?: boolean | 'some';
|
|
9
9
|
}
|
|
10
|
-
declare type ToggleProps = ComponentProps<TogglePropsBase, '
|
|
11
|
-
declare function Toggle({ allRows, disabled, selected, ...otherProps }: ToggleProps): JSX.Element;
|
|
10
|
+
declare type ToggleProps = ComponentProps<TogglePropsBase, 'button'>;
|
|
11
|
+
declare function Toggle({ allRows, disabled, onClick, selected, ...otherProps }: ToggleProps): JSX.Element;
|
|
12
12
|
declare namespace Toggle {
|
|
13
13
|
var propTypes: {
|
|
14
14
|
allRows: PropTypes.Requireable<boolean>;
|
|
@@ -110,13 +110,13 @@ interface TextAreaPropsBase {
|
|
|
110
110
|
onFocus?: TextAreaFocusHandler;
|
|
111
111
|
/** A keydown callback can be used to prevent a certain input by utilizing the event argument. */
|
|
112
112
|
onKeyDown?: React.KeyboardEventHandler<HTMLTextAreaElement>;
|
|
113
|
+
/** A callback for when the text selection or cursor position changes. */
|
|
114
|
+
onSelect?: React.ReactEventHandler<HTMLTextAreaElement>;
|
|
113
115
|
/** A callback for when the user clicks the textbox.
|
|
114
116
|
* This will only trigger when the textbox itself is clicked and will not trigger for other parts of the component,
|
|
115
117
|
* such as the clear button or nodes added via "startAdornment" or "endAdornment" props.
|
|
116
118
|
* If you want to handle all click events, pass the "onClick" prop, which will be attached to `TextArea`'s root element.
|
|
117
119
|
*/
|
|
118
|
-
/** A callback for when the text selection or cursor position changes. */
|
|
119
|
-
onSelect?: React.ReactEventHandler<HTMLTextAreaElement>;
|
|
120
120
|
onInputClick?: React.MouseEventHandler<HTMLTextAreaElement>;
|
|
121
121
|
/**
|
|
122
122
|
* @deprecated This prop is deprecated and will be removed in the next major version.
|
|
@@ -192,6 +192,7 @@ declare class TextArea extends Component<TextAreaProps, TextAreaState> {
|
|
|
192
192
|
private handleClear;
|
|
193
193
|
private syncHeightWithShadow;
|
|
194
194
|
private isControlled;
|
|
195
|
+
private renderAdornment;
|
|
195
196
|
private renderEndAdornment;
|
|
196
197
|
private renderStartAdornment;
|
|
197
198
|
private getDisplayValue;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function SearchIcon(): JSX.Element;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { RemoveNodeHandler, SetNodeHandler } from './Tree';
|
|
3
|
-
import { TreeItemKeyDownHandler } from './TreeItem';
|
|
3
|
+
import { TreeItemClickHandler, TreeItemKeyDownHandler } from './TreeItem';
|
|
4
4
|
export interface TreeContext {
|
|
5
5
|
defaultIndent?: boolean;
|
|
6
6
|
onItemKeyDown?: TreeItemKeyDownHandler;
|
|
7
|
+
onItemClick?: TreeItemClickHandler;
|
|
7
8
|
removeNode?: RemoveNodeHandler;
|
|
8
9
|
setNode?: SetNodeHandler;
|
|
9
10
|
focusedItemId?: string;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { ComponentProps } from '../utils/types';
|
|
4
|
-
declare type OpenCloseHandler = (isOpen: boolean) => void;
|
|
5
4
|
interface TreeItemPropsBase {
|
|
6
5
|
/** A unique `id` for this item and used by `Tree` to keep track of the focused item. */
|
|
7
6
|
id: string;
|
|
@@ -9,23 +8,37 @@ interface TreeItemPropsBase {
|
|
|
9
8
|
children?: React.ReactNode;
|
|
10
9
|
/** Content to show on the TreeItem. */
|
|
11
10
|
content?: React.ReactNode;
|
|
11
|
+
/** Custom indent to show before TreeItem content. */
|
|
12
|
+
customIndent?: React.ReactNode;
|
|
13
|
+
endAdornment?: React.ReactNode;
|
|
12
14
|
labelledBy?: string;
|
|
13
15
|
onFocus?: React.FocusEventHandler<HTMLLIElement>;
|
|
14
|
-
|
|
16
|
+
onKeyDown?: React.KeyboardEventHandler<HTMLLIElement>;
|
|
17
|
+
onToggle?: TreeItemToggleHandler;
|
|
18
|
+
/** Default open state of the node. */
|
|
15
19
|
open?: boolean;
|
|
20
|
+
/** Toggle to pass that opens/closes the node on click. */
|
|
21
|
+
toggle?: React.ReactElement;
|
|
16
22
|
}
|
|
17
23
|
declare type TreeItemProps = ComponentProps<TreeItemPropsBase, 'li'>;
|
|
18
|
-
declare type
|
|
19
|
-
declare
|
|
24
|
+
declare type TreeItemClickHandler = (event: React.MouseEvent<HTMLSpanElement>, id: string) => void;
|
|
25
|
+
declare type TreeItemKeyDownHandler = (event: React.KeyboardEvent<HTMLLIElement>, id: string, showChildren: boolean | undefined, childrenCleaned: React.ReactElement[] | undefined | null, handleToggle: TreeItemToggleHandler) => void;
|
|
26
|
+
declare type TreeItemToggleHandler = (isOpen: boolean, event?: React.KeyboardEvent<HTMLLIElement> | React.MouseEvent<HTMLSpanElement>) => void;
|
|
27
|
+
declare function TreeItem({ id, children, content, customIndent, endAdornment, labelledBy, onFocus, onKeyDown, onToggle, open, toggle, ...otherProps }: TreeItemProps): JSX.Element;
|
|
20
28
|
declare namespace TreeItem {
|
|
21
29
|
var propTypes: {
|
|
22
30
|
id: PropTypes.Requireable<string>;
|
|
23
31
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
24
32
|
content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
33
|
+
customIndent: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
34
|
+
endAdornment: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
25
35
|
labelledBy: PropTypes.Requireable<string>;
|
|
26
36
|
onFocus: PropTypes.Requireable<(...args: any[]) => any>;
|
|
37
|
+
onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
|
|
38
|
+
onToggle: PropTypes.Requireable<(...args: any[]) => any>;
|
|
27
39
|
open: PropTypes.Requireable<boolean>;
|
|
40
|
+
toggle: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
28
41
|
};
|
|
29
42
|
}
|
|
30
43
|
export default TreeItem;
|
|
31
|
-
export { TreeItemKeyDownHandler };
|
|
44
|
+
export { TreeItemClickHandler, TreeItemKeyDownHandler, TreeItemPropsBase, TreeItemToggleHandler };
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
export declare const lorem = "\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque vestibulum\n commodo diam, eu consectetur nulla tincidunt a. Maecenas eget fermentum\n tellus. Nulla suscipit a tellus vel varius. Vestibulum eu elit a metus\n varius venenatis eget ut risus. Duis suscipit in arcu volutpat facilisis.\n Quisque eu dictum metus. Aenean commodo cursus sollicitudin. Etiam at\n posuere ligula. Sed sapien massa, laoreet a cursus at, malesuada vel mi.\n Duis maximus orci est, facilisis blandit urna at.\n";
|
|
2
|
+
export declare const loremShort = " \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque vestibulum\n commodo diam, eu consectetur nulla tincidunt a.\n";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function Content(): JSX.Element;
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import React, { Component } from 'react';
|
|
2
|
-
import { JSONElement, JSONTreeClickValueHandler, JSONTreeClickKeyHandler } from './JSONTree';
|
|
3
|
-
import JSONTreeContext from './JSONTreeContext';
|
|
4
|
-
import { ClassComponentProps } from '../utils/types';
|
|
5
|
-
interface JSONTreeNodePropsBase {
|
|
6
|
-
path?: (string | number)[];
|
|
7
|
-
defaultOpen?: boolean;
|
|
8
|
-
expandChildren?: boolean | 'withShiftModifier';
|
|
9
|
-
indent?: number;
|
|
10
|
-
indentLevel?: number;
|
|
11
|
-
obj: JSONElement;
|
|
12
|
-
onClickKey?: JSONTreeClickKeyHandler;
|
|
13
|
-
onClickValue?: JSONTreeClickValueHandler;
|
|
14
|
-
overflow?: 'wrap' | 'scroll';
|
|
15
|
-
shift?: boolean;
|
|
16
|
-
expandChildrenOnShiftKey?: boolean;
|
|
17
|
-
}
|
|
18
|
-
declare const defaultProps: Required<Pick<JSONTreeNodePropsBase, 'path' | 'defaultOpen' | 'expandChildren' | 'indent' | 'indentLevel' | 'overflow' | 'expandChildrenOnShiftKey'>>;
|
|
19
|
-
declare type JSONTreeNodeProps = ClassComponentProps<JSONTreeNodePropsBase, typeof defaultProps, 'span'>;
|
|
20
|
-
interface JSONTreeNodeState {
|
|
21
|
-
open: boolean;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* An internal container class for expandable tree nodes (objects and arrays).
|
|
25
|
-
*/
|
|
26
|
-
declare class JSONTreeNode extends Component<JSONTreeNodeProps, JSONTreeNodeState> {
|
|
27
|
-
private regularIndent;
|
|
28
|
-
private closingIndent;
|
|
29
|
-
private mutableShift;
|
|
30
|
-
context: React.ContextType<typeof JSONTreeContext>;
|
|
31
|
-
static contextType: React.Context<JSONTreeContext>;
|
|
32
|
-
static propTypes: React.WeakValidationMap<ClassComponentProps<JSONTreeNodePropsBase, Required<Pick<JSONTreeNodePropsBase, "path" | "overflow" | "defaultOpen" | "expandChildren" | "indent" | "indentLevel" | "expandChildrenOnShiftKey">>, "span", never>>;
|
|
33
|
-
static defaultProps: Required<Pick<JSONTreeNodePropsBase, "path" | "overflow" | "defaultOpen" | "expandChildren" | "indent" | "indentLevel" | "expandChildrenOnShiftKey">>;
|
|
34
|
-
constructor(props: JSONTreeNodeProps);
|
|
35
|
-
private handleExpandClick;
|
|
36
|
-
private handleClickKey;
|
|
37
|
-
private handleClickValue;
|
|
38
|
-
private renderExpandLink;
|
|
39
|
-
private renderValue;
|
|
40
|
-
private renderKey;
|
|
41
|
-
private renderObject;
|
|
42
|
-
render(): JSX.Element;
|
|
43
|
-
}
|
|
44
|
-
export default JSONTreeNode;
|