@patternfly/react-core 6.2.1-prerelease.10 → 6.2.1-prerelease.12
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/CHANGELOG.md +10 -0
- package/components/package.json +1 -1
- package/deprecated/package.json +1 -1
- package/dist/dynamic/components/AboutModal/package.json +1 -1
- package/dist/dynamic/components/Accordion/package.json +1 -1
- package/dist/dynamic/components/ActionList/package.json +1 -1
- package/dist/dynamic/components/Alert/package.json +1 -1
- package/dist/dynamic/components/Avatar/package.json +1 -1
- package/dist/dynamic/components/BackToTop/package.json +1 -1
- package/dist/dynamic/components/Backdrop/package.json +1 -1
- package/dist/dynamic/components/BackgroundImage/package.json +1 -1
- package/dist/dynamic/components/Badge/package.json +1 -1
- package/dist/dynamic/components/Banner/package.json +1 -1
- package/dist/dynamic/components/Brand/package.json +1 -1
- package/dist/dynamic/components/Breadcrumb/package.json +1 -1
- package/dist/dynamic/components/Button/package.json +1 -1
- package/dist/dynamic/components/CalendarMonth/package.json +1 -1
- package/dist/dynamic/components/Card/package.json +1 -1
- package/dist/dynamic/components/Checkbox/package.json +1 -1
- package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
- package/dist/dynamic/components/CodeBlock/package.json +1 -1
- package/dist/dynamic/components/Content/package.json +1 -1
- package/dist/dynamic/components/DataList/package.json +1 -1
- package/dist/dynamic/components/DatePicker/package.json +1 -1
- package/dist/dynamic/components/DescriptionList/package.json +1 -1
- package/dist/dynamic/components/Divider/package.json +1 -1
- package/dist/dynamic/components/Drawer/package.json +1 -1
- package/dist/dynamic/components/Dropdown/package.json +1 -1
- package/dist/dynamic/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/components/EmptyState/package.json +1 -1
- package/dist/dynamic/components/ExpandableSection/package.json +1 -1
- package/dist/dynamic/components/FileUpload/package.json +1 -1
- package/dist/dynamic/components/Form/package.json +1 -1
- package/dist/dynamic/components/FormSelect/package.json +1 -1
- package/dist/dynamic/components/HelperText/package.json +1 -1
- package/dist/dynamic/components/Hint/package.json +1 -1
- package/dist/dynamic/components/Icon/package.json +1 -1
- package/dist/dynamic/components/InputGroup/package.json +1 -1
- package/dist/dynamic/components/JumpLinks/package.json +1 -1
- package/dist/dynamic/components/Label/package.json +1 -1
- package/dist/dynamic/components/List/package.json +1 -1
- package/dist/dynamic/components/LoginPage/package.json +1 -1
- package/dist/dynamic/components/Masthead/package.json +1 -1
- package/dist/dynamic/components/Menu/package.json +1 -1
- package/dist/dynamic/components/MenuToggle/package.json +1 -1
- package/dist/dynamic/components/Modal/package.json +1 -1
- package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
- package/dist/dynamic/components/Nav/package.json +1 -1
- package/dist/dynamic/components/NotificationBadge/package.json +1 -1
- package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
- package/dist/dynamic/components/NumberInput/package.json +1 -1
- package/dist/dynamic/components/OverflowMenu/package.json +1 -1
- package/dist/dynamic/components/Page/package.json +1 -1
- package/dist/dynamic/components/Pagination/package.json +1 -1
- package/dist/dynamic/components/Panel/package.json +1 -1
- package/dist/dynamic/components/Popover/package.json +1 -1
- package/dist/dynamic/components/Progress/package.json +1 -1
- package/dist/dynamic/components/ProgressStepper/package.json +1 -1
- package/dist/dynamic/components/Radio/package.json +1 -1
- package/dist/dynamic/components/SearchInput/package.json +1 -1
- package/dist/dynamic/components/Select/package.json +1 -1
- package/dist/dynamic/components/Sidebar/package.json +1 -1
- package/dist/dynamic/components/SimpleList/package.json +1 -1
- package/dist/dynamic/components/Skeleton/package.json +1 -1
- package/dist/dynamic/components/SkipToContent/package.json +1 -1
- package/dist/dynamic/components/Slider/package.json +1 -1
- package/dist/dynamic/components/Spinner/package.json +1 -1
- package/dist/dynamic/components/Switch/package.json +1 -1
- package/dist/dynamic/components/Tabs/package.json +1 -1
- package/dist/dynamic/components/TextArea/package.json +1 -1
- package/dist/dynamic/components/TextInput/package.json +1 -1
- package/dist/dynamic/components/TextInputGroup/package.json +1 -1
- package/dist/dynamic/components/TimePicker/package.json +1 -1
- package/dist/dynamic/components/Timestamp/package.json +1 -1
- package/dist/dynamic/components/Title/package.json +1 -1
- package/dist/dynamic/components/ToggleGroup/package.json +1 -1
- package/dist/dynamic/components/Toolbar/package.json +1 -1
- package/dist/dynamic/components/Tooltip/package.json +1 -1
- package/dist/dynamic/components/TreeView/package.json +1 -1
- package/dist/dynamic/components/Truncate/package.json +1 -1
- package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
- package/dist/dynamic/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
- package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
- package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
- package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
- package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/package.json +1 -1
- package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
- package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
- package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
- package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
- package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
- package/dist/dynamic/helpers/constants/package.json +1 -1
- package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
- package/dist/dynamic/helpers/fileUtils/package.json +1 -1
- package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
- package/dist/dynamic/helpers/package.json +1 -1
- package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
- package/dist/dynamic/helpers/typeUtils/package.json +1 -1
- package/dist/dynamic/helpers/useInterval/package.json +1 -1
- package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
- package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
- package/dist/dynamic/helpers/util/package.json +1 -1
- package/dist/dynamic/layouts/Bullseye/package.json +1 -1
- package/dist/dynamic/layouts/Flex/package.json +1 -1
- package/dist/dynamic/layouts/Gallery/package.json +1 -1
- package/dist/dynamic/layouts/Grid/package.json +1 -1
- package/dist/dynamic/layouts/Level/package.json +1 -1
- package/dist/dynamic/layouts/Split/package.json +1 -1
- package/dist/dynamic/layouts/Stack/package.json +1 -1
- package/dist/dynamic/styles/package.json +1 -1
- package/dist/esm/components/Progress/ProgressContainer.d.ts.map +1 -1
- package/dist/esm/components/Progress/ProgressContainer.js +12 -6
- package/dist/esm/components/Progress/ProgressContainer.js.map +1 -1
- package/dist/esm/components/TreeView/TreeViewListItem.d.ts +2 -2
- package/dist/esm/components/TreeView/TreeViewListItem.d.ts.map +1 -1
- package/dist/esm/components/Truncate/Truncate.d.ts.map +1 -1
- package/dist/esm/components/Truncate/Truncate.js +4 -5
- package/dist/esm/components/Truncate/Truncate.js.map +1 -1
- package/dist/js/components/Progress/ProgressContainer.d.ts.map +1 -1
- package/dist/js/components/Progress/ProgressContainer.js +10 -4
- package/dist/js/components/Progress/ProgressContainer.js.map +1 -1
- package/dist/js/components/TreeView/TreeViewListItem.d.ts +2 -2
- package/dist/js/components/TreeView/TreeViewListItem.d.ts.map +1 -1
- package/dist/js/components/Truncate/Truncate.d.ts.map +1 -1
- package/dist/js/components/Truncate/Truncate.js +4 -5
- package/dist/js/components/Truncate/Truncate.js.map +1 -1
- package/dist/umd/assets/{output-yL8pnk-q.css → output-BuC6xX4y.css} +17879 -17878
- package/dist/umd/react-core.min.js +3 -3
- package/helpers/package.json +1 -1
- package/layouts/package.json +1 -1
- package/next/package.json +1 -1
- package/package.json +2 -2
- package/src/components/CodeBlock/examples/CodeBlockBasic.tsx +1 -1
- package/src/components/CodeBlock/examples/CodeBlockExpandable.tsx +10 -3
- package/src/components/Progress/ProgressContainer.tsx +23 -16
- package/src/components/TreeView/TreeViewListItem.tsx +2 -2
- package/src/components/TreeView/__tests__/TreeView.test.tsx +26 -1
- package/src/components/TreeView/__tests__/TreeViewList.test.tsx +46 -0
- package/src/components/TreeView/__tests__/TreeViewListItem.test.tsx +278 -156
- package/src/components/TreeView/__tests__/TreeViewSearch.test.tsx +12 -1
- package/src/components/TreeView/__tests__/__snapshots__/TreeView.test.tsx.snap +9 -0
- package/src/components/Truncate/Truncate.tsx +9 -10
- package/src/components/Truncate/__tests__/Truncate.test.tsx +1 -1
- package/src/components/Truncate/__tests__/__snapshots__/Truncate.test.tsx.snap +35 -32
package/helpers/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.2.1-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.2.1-prerelease.11","private":true}
|
package/layouts/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.2.1-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.2.1-prerelease.11","private":true}
|
package/next/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.2.1-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.2.1-prerelease.11","private":true}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "6.2.1-prerelease.
|
|
3
|
+
"version": "6.2.1-prerelease.12",
|
|
4
4
|
"description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
|
|
5
5
|
"main": "dist/js/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"react": "^17 || ^18 || ^19",
|
|
64
64
|
"react-dom": "^17 || ^18 || ^19"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "f4c999c9871ae063b285c4f324bdc4e82d6b7118"
|
|
67
67
|
}
|
|
@@ -38,7 +38,7 @@ url: https://raw.githubusercontent.com/Azure-Samples/helm-charts/master/docs`;
|
|
|
38
38
|
<ClipboardCopyButton
|
|
39
39
|
id="basic-copy-button"
|
|
40
40
|
textId="code-content"
|
|
41
|
-
aria-label="Copy to clipboard"
|
|
41
|
+
aria-label="Copy to clipboard basic example code block"
|
|
42
42
|
onClick={(e) => onClick(e, code)}
|
|
43
43
|
exitDelay={copied ? 1500 : 600}
|
|
44
44
|
maxWidth="110px"
|
|
@@ -17,6 +17,7 @@ export const ExpandableCodeBlock: React.FunctionComponent = () => {
|
|
|
17
17
|
const [isRunning, setisRunning] = useState(false);
|
|
18
18
|
const runText: string = 'Run in web terminal';
|
|
19
19
|
const doneRunText: string = 'Running in web terminal';
|
|
20
|
+
const toggleId: string = 'expandable-code-toggle';
|
|
20
21
|
|
|
21
22
|
const onToggle = (isExpanded) => {
|
|
22
23
|
setIsExpanded(isExpanded);
|
|
@@ -85,12 +86,18 @@ url: https://raw.githubusercontent.com/Azure-Samples/helm-charts/master/docs`;
|
|
|
85
86
|
<CodeBlock actions={actions}>
|
|
86
87
|
<CodeBlockCode>
|
|
87
88
|
{code}
|
|
88
|
-
<ExpandableSection isExpanded={isExpanded} isDetached contentId="code-block-expand">
|
|
89
|
+
<ExpandableSection isExpanded={isExpanded} isDetached contentId="code-block-expand" toggleId={toggleId}>
|
|
89
90
|
{expandedCode}
|
|
90
91
|
</ExpandableSection>
|
|
91
92
|
</CodeBlockCode>
|
|
92
|
-
<ExpandableSectionToggle
|
|
93
|
-
{isExpanded
|
|
93
|
+
<ExpandableSectionToggle
|
|
94
|
+
isExpanded={isExpanded}
|
|
95
|
+
onToggle={onToggle}
|
|
96
|
+
contentId="code-block-expand"
|
|
97
|
+
direction="up"
|
|
98
|
+
toggleId={toggleId}
|
|
99
|
+
>
|
|
100
|
+
{isExpanded ? 'Show less expandable example content' : 'Show more expandable example content'}
|
|
94
101
|
</ExpandableSectionToggle>
|
|
95
102
|
</CodeBlock>
|
|
96
103
|
);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fragment, useState } from 'react';
|
|
1
|
+
import { Fragment, useState, useRef, useEffect } from 'react';
|
|
2
2
|
import progressStyle from '@patternfly/react-styles/css/components/Progress/progress';
|
|
3
3
|
import { css } from '@patternfly/react-styles';
|
|
4
4
|
import { Tooltip, TooltipPosition } from '../Tooltip';
|
|
@@ -80,22 +80,31 @@ export const ProgressContainer: React.FunctionComponent<ProgressContainerProps>
|
|
|
80
80
|
}: ProgressContainerProps) => {
|
|
81
81
|
const StatusIcon = variantToIcon.hasOwnProperty(variant) && variantToIcon[variant];
|
|
82
82
|
const [tooltip, setTooltip] = useState('');
|
|
83
|
-
const
|
|
83
|
+
const titleRef = useRef(null);
|
|
84
|
+
const updateTooltip = (event: any) => {
|
|
84
85
|
if (event.target.offsetWidth < event.target.scrollWidth) {
|
|
85
86
|
setTooltip(title || event.target.innerHTML);
|
|
86
87
|
} else {
|
|
87
88
|
setTooltip('');
|
|
88
89
|
}
|
|
89
90
|
};
|
|
91
|
+
|
|
92
|
+
useEffect(() => {
|
|
93
|
+
if (tooltip !== '') {
|
|
94
|
+
titleRef.current.focus();
|
|
95
|
+
}
|
|
96
|
+
}, [tooltip]);
|
|
97
|
+
|
|
98
|
+
const _isTruncatedAndString = isTitleTruncated && typeof title === 'string';
|
|
90
99
|
const Title = (
|
|
91
100
|
<div
|
|
92
|
-
className={css(
|
|
93
|
-
progressStyle.progressDescription,
|
|
94
|
-
isTitleTruncated && typeof title === 'string' && progressStyle.modifiers.truncate
|
|
95
|
-
)}
|
|
101
|
+
className={css(progressStyle.progressDescription, _isTruncatedAndString && progressStyle.modifiers.truncate)}
|
|
96
102
|
id={`${parentId}-description`}
|
|
97
|
-
aria-hidden=
|
|
98
|
-
onMouseEnter={
|
|
103
|
+
aria-hidden={_isTruncatedAndString ? null : 'true'}
|
|
104
|
+
onMouseEnter={_isTruncatedAndString ? updateTooltip : null}
|
|
105
|
+
onFocus={_isTruncatedAndString ? updateTooltip : null}
|
|
106
|
+
{...(_isTruncatedAndString && { tabIndex: 0 })}
|
|
107
|
+
ref={titleRef}
|
|
99
108
|
>
|
|
100
109
|
{title}
|
|
101
110
|
</div>
|
|
@@ -103,14 +112,12 @@ export const ProgressContainer: React.FunctionComponent<ProgressContainerProps>
|
|
|
103
112
|
|
|
104
113
|
return (
|
|
105
114
|
<Fragment>
|
|
106
|
-
{title &&
|
|
107
|
-
|
|
108
|
-
<Tooltip position={tooltipPosition} content={tooltip} isVisible
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
Title
|
|
113
|
-
))}
|
|
115
|
+
{title && (
|
|
116
|
+
<>
|
|
117
|
+
{tooltip && <Tooltip position={tooltipPosition} content={tooltip} isVisible triggerRef={titleRef} />}
|
|
118
|
+
{Title}
|
|
119
|
+
</>
|
|
120
|
+
)}
|
|
114
121
|
{(measureLocation !== ProgressMeasureLocation.none || StatusIcon) && (
|
|
115
122
|
<div className={css(progressStyle.progressStatus)} aria-hidden="true">
|
|
116
123
|
{(measureLocation === ProgressMeasureLocation.top || measureLocation === ProgressMeasureLocation.outside) && (
|
|
@@ -50,11 +50,11 @@ export interface TreeViewListItemProps {
|
|
|
50
50
|
/** Internal content of a tree view item. */
|
|
51
51
|
name: React.ReactNode;
|
|
52
52
|
/** Callback for item checkbox selection. */
|
|
53
|
-
onCheck?: (event: React.ChangeEvent<HTMLInputElement>, item: TreeViewDataItem,
|
|
53
|
+
onCheck?: (event: React.ChangeEvent<HTMLInputElement>, item: TreeViewDataItem, parentItem: TreeViewDataItem) => void;
|
|
54
54
|
/** Callback for item selection. Note: calling event.preventDefault() will prevent the node
|
|
55
55
|
* from toggling.
|
|
56
56
|
*/
|
|
57
|
-
onSelect?: (event: React.MouseEvent, item: TreeViewDataItem,
|
|
57
|
+
onSelect?: (event: React.MouseEvent, item: TreeViewDataItem, parentItem: TreeViewDataItem) => void;
|
|
58
58
|
/** Callback for expanding a node with children. */
|
|
59
59
|
onExpand?: (event: React.MouseEvent, item: TreeViewDataItem, parentItem: TreeViewDataItem) => void;
|
|
60
60
|
/** Callback for collapsing a node with children. */
|
|
@@ -3,10 +3,20 @@ import userEvent from '@testing-library/user-event';
|
|
|
3
3
|
import { TreeView } from '../TreeView';
|
|
4
4
|
|
|
5
5
|
jest.mock('../TreeViewList', () => ({
|
|
6
|
-
TreeViewList: ({
|
|
6
|
+
TreeViewList: ({
|
|
7
|
+
children,
|
|
8
|
+
isNested,
|
|
9
|
+
toolbar,
|
|
10
|
+
'aria-label': ariaLabel,
|
|
11
|
+
'aria-labelledby': ariaLabelledBy,
|
|
12
|
+
isMultiSelectable
|
|
13
|
+
}) => (
|
|
7
14
|
<div data-testid="TreeViewList-mock">
|
|
8
15
|
<p>{`TreeViewList isNested: ${isNested}`}</p>
|
|
9
16
|
<p>{`TreeViewList toolbar: ${toolbar}`}</p>
|
|
17
|
+
<p>{`TreeViewList aria-label: ${ariaLabel}`}</p>
|
|
18
|
+
<p>{`TreeViewList aria-labelledBy: ${ariaLabelledBy}`}</p>
|
|
19
|
+
<p>{`TreeViewList isMultiSelectable: ${isMultiSelectable}`}</p>
|
|
10
20
|
<div data-testid="TreeViewList-children">{children}</div>
|
|
11
21
|
</div>
|
|
12
22
|
)
|
|
@@ -131,6 +141,21 @@ test('Passes toolbar to TreeViewList', () => {
|
|
|
131
141
|
|
|
132
142
|
expect(screen.getByText('TreeViewList toolbar: Toolbar content')).toBeVisible();
|
|
133
143
|
});
|
|
144
|
+
test('Passes aria-label to TreeViewList', () => {
|
|
145
|
+
render(<TreeView aria-label="Test aria-label" data={[basicData]} />);
|
|
146
|
+
|
|
147
|
+
expect(screen.getByText('TreeViewList aria-label: Test aria-label')).toBeVisible();
|
|
148
|
+
});
|
|
149
|
+
test('Passes aria-labelledby to TreeViewList', () => {
|
|
150
|
+
render(<TreeView aria-labelledby="test-aria-labelledby" data={[basicData]} />);
|
|
151
|
+
|
|
152
|
+
expect(screen.getByText('TreeViewList aria-labelledBy: test-aria-labelledby')).toBeVisible();
|
|
153
|
+
});
|
|
154
|
+
test('Passes isMultiSelectable to TreeViewList', () => {
|
|
155
|
+
render(<TreeView isMultiSelectable={true} data={[basicData]} />);
|
|
156
|
+
|
|
157
|
+
expect(screen.getByText('TreeViewList isMultiSelectable: true')).toBeVisible();
|
|
158
|
+
});
|
|
134
159
|
test('Passes data as children TreeViewList', () => {
|
|
135
160
|
render(<TreeView data={[basicData]} />);
|
|
136
161
|
|
|
@@ -32,9 +32,55 @@ test(`Renders toolbar content when toolbar prop is passed`, () => {
|
|
|
32
32
|
expect(screen.getByText('Toolbar content')).toBeInTheDocument();
|
|
33
33
|
});
|
|
34
34
|
|
|
35
|
+
test(`Renders Divider when toolbar prop is passed`, () => {
|
|
36
|
+
render(<TreeViewList toolbar="Toolbar content">Content</TreeViewList>);
|
|
37
|
+
|
|
38
|
+
expect(screen.getByRole('separator')).toBeInTheDocument();
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
test('Renders with aria-label when passed', () => {
|
|
42
|
+
render(<TreeViewList aria-label="Test aria-label">Content</TreeViewList>);
|
|
43
|
+
|
|
44
|
+
expect(screen.getByRole('tree')).toHaveAccessibleName('Test aria-label');
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
test('Renders with aria-labelledby when passed', () => {
|
|
48
|
+
render(
|
|
49
|
+
<>
|
|
50
|
+
<div id="label">Labeling content</div>
|
|
51
|
+
<TreeViewList aria-labelledby="label">Content</TreeViewList>
|
|
52
|
+
</>
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
expect(screen.getByRole('tree')).toHaveAccessibleName('Labeling content');
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
test('Renders with aria-multiselectable of false by default', () => {
|
|
59
|
+
render(<TreeViewList>Content</TreeViewList>);
|
|
60
|
+
|
|
61
|
+
expect(screen.getByRole('tree')).toHaveAttribute('aria-multiselectable', 'false');
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
test('Renders with aria-multiselectable of true when isMultiSelectable is true', () => {
|
|
65
|
+
render(<TreeViewList isMultiSelectable>Content</TreeViewList>);
|
|
66
|
+
|
|
67
|
+
expect(screen.getByRole('tree')).toHaveAttribute('aria-multiselectable', 'true');
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
test('Does not render with aria-multiselectable when isNested is true', () => {
|
|
71
|
+
render(
|
|
72
|
+
<TreeViewList isMultiSelectable isNested>
|
|
73
|
+
Content
|
|
74
|
+
</TreeViewList>
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
expect(screen.getByRole('group')).not.toHaveAttribute('aria-multiselectable');
|
|
78
|
+
});
|
|
79
|
+
|
|
35
80
|
test(`Does not render toolbar content when toolbar prop is not passed`, () => {
|
|
36
81
|
render(<TreeViewList>Content</TreeViewList>);
|
|
37
82
|
|
|
83
|
+
expect(screen.queryByRole('tree')?.previousElementSibling).not.toBeInTheDocument();
|
|
38
84
|
expect(screen.queryByRole('separator')).not.toBeInTheDocument();
|
|
39
85
|
});
|
|
40
86
|
|