@patternfly/react-core 5.2.0-prerelease.30 → 5.2.0-prerelease.32

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 (145) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/components/package.json +1 -1
  3. package/deprecated/package.json +1 -1
  4. package/dist/dynamic/components/AboutModal/package.json +1 -1
  5. package/dist/dynamic/components/Accordion/package.json +1 -1
  6. package/dist/dynamic/components/ActionList/package.json +1 -1
  7. package/dist/dynamic/components/Alert/package.json +1 -1
  8. package/dist/dynamic/components/Avatar/package.json +1 -1
  9. package/dist/dynamic/components/BackToTop/package.json +1 -1
  10. package/dist/dynamic/components/Backdrop/package.json +1 -1
  11. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  12. package/dist/dynamic/components/Badge/package.json +1 -1
  13. package/dist/dynamic/components/Banner/package.json +1 -1
  14. package/dist/dynamic/components/Brand/package.json +1 -1
  15. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  16. package/dist/dynamic/components/Button/package.json +1 -1
  17. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  18. package/dist/dynamic/components/Card/package.json +1 -1
  19. package/dist/dynamic/components/Checkbox/package.json +1 -1
  20. package/dist/dynamic/components/Chip/package.json +1 -1
  21. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  22. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  23. package/dist/dynamic/components/DataList/package.json +1 -1
  24. package/dist/dynamic/components/DatePicker/package.json +1 -1
  25. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  26. package/dist/dynamic/components/Divider/package.json +1 -1
  27. package/dist/dynamic/components/DragDrop/package.json +1 -1
  28. package/dist/dynamic/components/Drawer/package.json +1 -1
  29. package/dist/dynamic/components/Dropdown/package.json +1 -1
  30. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  31. package/dist/dynamic/components/EmptyState/package.json +1 -1
  32. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  33. package/dist/dynamic/components/FileUpload/package.json +1 -1
  34. package/dist/dynamic/components/Form/package.json +1 -1
  35. package/dist/dynamic/components/FormSelect/package.json +1 -1
  36. package/dist/dynamic/components/HelperText/package.json +1 -1
  37. package/dist/dynamic/components/Hint/package.json +1 -1
  38. package/dist/dynamic/components/Icon/package.json +1 -1
  39. package/dist/dynamic/components/InputGroup/package.json +1 -1
  40. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  41. package/dist/dynamic/components/Label/package.json +1 -1
  42. package/dist/dynamic/components/List/package.json +1 -1
  43. package/dist/dynamic/components/LoginPage/package.json +1 -1
  44. package/dist/dynamic/components/Masthead/package.json +1 -1
  45. package/dist/dynamic/components/Menu/package.json +1 -1
  46. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  47. package/dist/dynamic/components/Modal/package.json +1 -1
  48. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  49. package/dist/dynamic/components/Nav/package.json +1 -1
  50. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  51. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  52. package/dist/dynamic/components/NumberInput/package.json +1 -1
  53. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  54. package/dist/dynamic/components/Page/package.json +1 -1
  55. package/dist/dynamic/components/Pagination/package.json +1 -1
  56. package/dist/dynamic/components/Panel/package.json +1 -1
  57. package/dist/dynamic/components/Popover/package.json +1 -1
  58. package/dist/dynamic/components/Progress/package.json +1 -1
  59. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  60. package/dist/dynamic/components/Radio/package.json +1 -1
  61. package/dist/dynamic/components/SearchInput/package.json +1 -1
  62. package/dist/dynamic/components/Select/package.json +1 -1
  63. package/dist/dynamic/components/Sidebar/package.json +1 -1
  64. package/dist/dynamic/components/SimpleList/package.json +1 -1
  65. package/dist/dynamic/components/Skeleton/package.json +1 -1
  66. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  67. package/dist/dynamic/components/Slider/package.json +1 -1
  68. package/dist/dynamic/components/Spinner/package.json +1 -1
  69. package/dist/dynamic/components/Switch/package.json +1 -1
  70. package/dist/dynamic/components/Tabs/package.json +1 -1
  71. package/dist/dynamic/components/Text/package.json +1 -1
  72. package/dist/dynamic/components/TextArea/package.json +1 -1
  73. package/dist/dynamic/components/TextInput/package.json +1 -1
  74. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  75. package/dist/dynamic/components/Tile/package.json +1 -1
  76. package/dist/dynamic/components/TimePicker/package.json +1 -1
  77. package/dist/dynamic/components/Timestamp/package.json +1 -1
  78. package/dist/dynamic/components/Title/package.json +1 -1
  79. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  80. package/dist/dynamic/components/Toolbar/package.json +1 -1
  81. package/dist/dynamic/components/Tooltip/package.json +1 -1
  82. package/dist/dynamic/components/TreeView/package.json +1 -1
  83. package/dist/dynamic/components/Truncate/package.json +1 -1
  84. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  85. package/dist/dynamic/components/Wizard/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/Select/package.json +1 -1
  92. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  93. package/dist/dynamic/deprecated/components/package.json +1 -1
  94. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  95. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  96. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  97. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  98. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  99. package/dist/dynamic/helpers/constants/package.json +1 -1
  100. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  101. package/dist/dynamic/helpers/favorites/package.json +1 -1
  102. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  103. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  104. package/dist/dynamic/helpers/package.json +1 -1
  105. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  106. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  107. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  108. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  109. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  110. package/dist/dynamic/helpers/util/package.json +1 -1
  111. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  112. package/dist/dynamic/layouts/Flex/package.json +1 -1
  113. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  114. package/dist/dynamic/layouts/Grid/package.json +1 -1
  115. package/dist/dynamic/layouts/Level/package.json +1 -1
  116. package/dist/dynamic/layouts/Split/package.json +1 -1
  117. package/dist/dynamic/layouts/Stack/package.json +1 -1
  118. package/dist/dynamic/next/components/package.json +1 -1
  119. package/dist/esm/components/Toolbar/ToolbarToggleGroup.js +1 -1
  120. package/dist/esm/components/Toolbar/ToolbarToggleGroup.js.map +1 -1
  121. package/dist/esm/components/TreeView/TreeViewListItem.js +1 -1
  122. package/dist/esm/components/TreeView/TreeViewListItem.js.map +1 -1
  123. package/dist/js/components/Toolbar/ToolbarToggleGroup.js +1 -1
  124. package/dist/js/components/Toolbar/ToolbarToggleGroup.js.map +1 -1
  125. package/dist/js/components/TreeView/TreeViewListItem.js +1 -1
  126. package/dist/js/components/TreeView/TreeViewListItem.js.map +1 -1
  127. package/dist/umd/react-core.min.js +1 -1
  128. package/helpers/package.json +1 -1
  129. package/layouts/package.json +1 -1
  130. package/next/package.json +1 -1
  131. package/package.json +2 -2
  132. package/src/components/Select/examples/Select.md +49 -9
  133. package/src/components/Toolbar/ToolbarToggleGroup.tsx +1 -1
  134. package/src/components/Toolbar/__tests__/__snapshots__/Toolbar.test.tsx.snap +0 -1
  135. package/src/components/TreeView/TreeViewListItem.tsx +1 -1
  136. package/src/components/TreeView/__tests__/TreeView.test.tsx +295 -221
  137. package/src/components/TreeView/__tests__/TreeViewList.test.tsx +52 -0
  138. package/src/components/TreeView/__tests__/TreeViewListItem.test.tsx +708 -0
  139. package/src/components/TreeView/__tests__/TreeViewRoot.test.tsx +87 -0
  140. package/src/components/TreeView/__tests__/TreeViewSearch.test.tsx +93 -0
  141. package/src/components/TreeView/__tests__/__snapshots__/TreeView.test.tsx.snap +103 -3407
  142. package/src/components/TreeView/__tests__/__snapshots__/TreeViewList.test.tsx.snap +29 -0
  143. package/src/components/TreeView/__tests__/__snapshots__/TreeViewListItem.test.tsx.snap +83 -0
  144. package/src/components/TreeView/__tests__/__snapshots__/TreeViewRoot.test.tsx.snap +16 -0
  145. package/src/components/TreeView/__tests__/__snapshots__/TreeViewSearch.test.tsx.snap +38 -0
@@ -0,0 +1,87 @@
1
+ import React from 'react';
2
+ import { render, screen } from '@testing-library/react';
3
+ import { TreeViewRoot } from '../TreeViewRoot';
4
+ import styles from '@patternfly/react-styles/css/components/TreeView/tree-view';
5
+
6
+ test('Renders children', () => {
7
+ render(
8
+ <TreeViewRoot>
9
+ <div className={styles.treeViewNode}>Content</div>
10
+ </TreeViewRoot>
11
+ );
12
+
13
+ expect(screen.getByText('Content')).toBeVisible();
14
+ });
15
+
16
+ test(`Renders with class ${styles.treeView} by default`, () => {
17
+ render(
18
+ <TreeViewRoot>
19
+ <div className={styles.treeViewNode}>Content</div>
20
+ </TreeViewRoot>
21
+ );
22
+
23
+ expect(screen.getByText('Content').parentElement).toHaveClass(styles.treeView, { exact: true });
24
+ });
25
+
26
+ test(`Renders with custom class when className is passed`, () => {
27
+ render(
28
+ <TreeViewRoot className="test-class">
29
+ <div className={styles.treeViewNode}>Content</div>
30
+ </TreeViewRoot>
31
+ );
32
+
33
+ expect(screen.getByText('Content').parentElement).toHaveClass('test-class');
34
+ });
35
+
36
+ test(`Renders with class ${styles.modifiers.guides} when hasGuides is passed`, () => {
37
+ render(
38
+ <TreeViewRoot hasGuides>
39
+ <div className={styles.treeViewNode}>Content</div>
40
+ </TreeViewRoot>
41
+ );
42
+
43
+ expect(screen.getByText('Content').parentElement).toHaveClass(styles.modifiers.guides);
44
+ });
45
+
46
+ test(`Does not render with additional classes when variant="default"`, () => {
47
+ render(
48
+ <TreeViewRoot variant="default">
49
+ <div className={styles.treeViewNode}>Content</div>
50
+ </TreeViewRoot>
51
+ );
52
+
53
+ expect(screen.getByText('Content').parentElement).toHaveClass(styles.treeView, { exact: true });
54
+ });
55
+
56
+ test(`Renders with class ${styles.modifiers.compact} when variant="compact"`, () => {
57
+ render(
58
+ <TreeViewRoot variant="compact">
59
+ <div className={styles.treeViewNode}>Content</div>
60
+ </TreeViewRoot>
61
+ );
62
+
63
+ expect(screen.getByText('Content').parentElement).toHaveClass(styles.modifiers.compact);
64
+ });
65
+
66
+ test(`Renders with classes ${styles.modifiers.compact} and ${styles.modifiers.noBackground} when variant="compactNoBackground"`, () => {
67
+ render(
68
+ <TreeViewRoot variant="compactNoBackground">
69
+ <div className={styles.treeViewNode}>Content</div>
70
+ </TreeViewRoot>
71
+ );
72
+
73
+ expect(screen.getByText('Content').parentElement).toHaveClass(
74
+ styles.modifiers.compact,
75
+ styles.modifiers.noBackground
76
+ );
77
+ });
78
+
79
+ test('Matches snapshot', () => {
80
+ const { asFragment } = render(
81
+ <TreeViewRoot>
82
+ <div className={styles.treeViewNode}>Content</div>
83
+ </TreeViewRoot>
84
+ );
85
+
86
+ expect(asFragment()).toMatchSnapshot();
87
+ });
@@ -0,0 +1,93 @@
1
+ import React from 'react';
2
+ import { render, screen } from '@testing-library/react';
3
+ import { TreeViewSearch } from '../TreeViewSearch';
4
+ import userEvent from '@testing-library/user-event';
5
+ import styles from '@patternfly/react-styles/css/components/TreeView/tree-view';
6
+
7
+ test(`Renders with ${styles.treeViewSearch} by default`, () => {
8
+ render(<TreeViewSearch />);
9
+
10
+ expect(screen.getByRole('searchbox').parentElement?.parentElement).toHaveClass(styles.treeViewSearch, {
11
+ exact: true
12
+ });
13
+ });
14
+
15
+ test(`Renders with custom class when className is passed`, () => {
16
+ render(<TreeViewSearch className="test-class" />);
17
+
18
+ expect(screen.getByRole('searchbox').parentElement?.parentElement).toHaveClass('test-class');
19
+ });
20
+
21
+ test(`Renders with id when passed`, () => {
22
+ render(<TreeViewSearch id="test-id" />);
23
+
24
+ expect(screen.getByRole('searchbox')).toHaveAttribute('id', 'test-id');
25
+ });
26
+
27
+ test(`Does not render with id when it is not passed`, () => {
28
+ render(<TreeViewSearch />);
29
+
30
+ expect(screen.getByRole('searchbox')).not.toHaveAttribute('id');
31
+ });
32
+
33
+ test(`Renders with name when passed`, () => {
34
+ render(<TreeViewSearch name="testName" />);
35
+
36
+ expect(screen.getByRole('searchbox')).toHaveAttribute('name', 'testName');
37
+ });
38
+
39
+ test(`Does not render with name when it is not passed`, () => {
40
+ render(<TreeViewSearch />);
41
+
42
+ expect(screen.getByRole('searchbox')).not.toHaveAttribute('name');
43
+ });
44
+
45
+ test(`Renders with aria-label when passed`, () => {
46
+ render(<TreeViewSearch aria-label="test label" />);
47
+
48
+ expect(screen.getByRole('searchbox')).toHaveAccessibleName('test label');
49
+ });
50
+
51
+ test(`Does not render with aria-label when it is not passed`, () => {
52
+ render(<TreeViewSearch />);
53
+
54
+ expect(screen.getByRole('searchbox')).not.toHaveAccessibleName();
55
+ });
56
+
57
+ test(`Spreads additional props`, () => {
58
+ render(<TreeViewSearch data-testprop="test-value" />);
59
+
60
+ expect(screen.getByRole('searchbox')).toHaveAttribute('data-testprop', 'test-value');
61
+ });
62
+
63
+ test(`Calls onSearch when input is typed into`, async () => {
64
+ const user = userEvent.setup();
65
+ const onSearchMock = jest.fn();
66
+ render(<TreeViewSearch onSearch={onSearchMock} />);
67
+
68
+ await user.type(screen.getByRole('searchbox'), 'a');
69
+
70
+ expect(onSearchMock).toHaveBeenCalledTimes(1);
71
+ });
72
+
73
+ test(`Does not call onSearch when input is not typed into`, async () => {
74
+ const user = userEvent.setup();
75
+ const onSearchMock = jest.fn();
76
+
77
+ render(
78
+ <>
79
+ <TreeViewSearch />
80
+ <input aria-label="native input" />
81
+ </>
82
+ );
83
+
84
+ await user.type(screen.getByRole('textbox'), 'a');
85
+
86
+ expect(onSearchMock).not.toHaveBeenCalled();
87
+ });
88
+
89
+ test('Matches snapshot', () => {
90
+ const { asFragment } = render(<TreeViewSearch />);
91
+
92
+ expect(asFragment()).toMatchSnapshot();
93
+ });