@patternfly/react-data-view 6.2.0 → 6.3.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 (104) hide show
  1. package/dist/cjs/DataView/DataView.d.ts +2 -2
  2. package/dist/cjs/DataView/DataView.js +4 -7
  3. package/dist/cjs/DataView/DataView.test.js +3 -6
  4. package/dist/cjs/DataViewCheckboxFilter/DataViewCheckboxFilter.d.ts +2 -2
  5. package/dist/cjs/DataViewCheckboxFilter/DataViewCheckboxFilter.js +10 -15
  6. package/dist/cjs/DataViewCheckboxFilter/DataViewCheckboxFilter.test.js +3 -3
  7. package/dist/cjs/DataViewEventsContext/DataViewEventsContext.d.ts +3 -3
  8. package/dist/cjs/DataViewEventsContext/DataViewEventsContext.js +3 -25
  9. package/dist/cjs/DataViewEventsContext/DataViewEventsContext.test.js +11 -16
  10. package/dist/cjs/DataViewFilters/DataViewFilters.d.ts +2 -2
  11. package/dist/cjs/DataViewFilters/DataViewFilters.js +12 -40
  12. package/dist/cjs/DataViewFilters/DataViewFilters.test.js +11 -5
  13. package/dist/cjs/DataViewTable/DataViewTable.d.ts +2 -2
  14. package/dist/cjs/DataViewTable/DataViewTable.js +2 -5
  15. package/dist/cjs/DataViewTable/DataViewTable.test.js +4 -7
  16. package/dist/cjs/DataViewTableBasic/DataViewTableBasic.d.ts +2 -2
  17. package/dist/cjs/DataViewTableBasic/DataViewTableBasic.js +15 -41
  18. package/dist/cjs/DataViewTableBasic/DataViewTableBasic.test.js +6 -12
  19. package/dist/cjs/DataViewTableHead/DataViewTableHead.d.ts +2 -2
  20. package/dist/cjs/DataViewTableHead/DataViewTableHead.js +5 -28
  21. package/dist/cjs/DataViewTableHead/DataViewTableHead.test.js +5 -13
  22. package/dist/cjs/DataViewTableTree/DataViewTableTree.d.ts +2 -2
  23. package/dist/cjs/DataViewTableTree/DataViewTableTree.js +10 -34
  24. package/dist/cjs/DataViewTableTree/DataViewTableTree.test.js +6 -13
  25. package/dist/cjs/DataViewTextFilter/DataViewTextFilter.d.ts +2 -2
  26. package/dist/cjs/DataViewTextFilter/DataViewTextFilter.js +2 -6
  27. package/dist/cjs/DataViewTextFilter/DataViewTextFilter.test.js +3 -3
  28. package/dist/cjs/DataViewToolbar/DataViewToolbar.d.ts +2 -2
  29. package/dist/cjs/DataViewToolbar/DataViewToolbar.js +4 -34
  30. package/dist/cjs/DataViewToolbar/DataViewToolbar.test.js +3 -3
  31. package/dist/cjs/InternalContext/InternalContext.d.ts +3 -3
  32. package/dist/cjs/InternalContext/InternalContext.js +3 -25
  33. package/dist/cjs/InternalContext/InternalContext.test.js +9 -21
  34. package/dist/esm/DataView/DataView.d.ts +2 -2
  35. package/dist/esm/DataView/DataView.js +4 -4
  36. package/dist/esm/DataView/DataView.test.js +2 -5
  37. package/dist/esm/DataViewCheckboxFilter/DataViewCheckboxFilter.d.ts +2 -2
  38. package/dist/esm/DataViewCheckboxFilter/DataViewCheckboxFilter.js +10 -12
  39. package/dist/esm/DataViewCheckboxFilter/DataViewCheckboxFilter.test.js +2 -2
  40. package/dist/esm/DataViewEventsContext/DataViewEventsContext.d.ts +3 -3
  41. package/dist/esm/DataViewEventsContext/DataViewEventsContext.js +3 -2
  42. package/dist/esm/DataViewEventsContext/DataViewEventsContext.test.js +11 -13
  43. package/dist/esm/DataViewFilters/DataViewFilters.d.ts +2 -2
  44. package/dist/esm/DataViewFilters/DataViewFilters.js +12 -17
  45. package/dist/esm/DataViewFilters/DataViewFilters.test.js +11 -5
  46. package/dist/esm/DataViewTable/DataViewTable.d.ts +2 -2
  47. package/dist/esm/DataViewTable/DataViewTable.js +2 -2
  48. package/dist/esm/DataViewTable/DataViewTable.test.js +3 -3
  49. package/dist/esm/DataViewTableBasic/DataViewTableBasic.d.ts +2 -2
  50. package/dist/esm/DataViewTableBasic/DataViewTableBasic.js +15 -18
  51. package/dist/esm/DataViewTableBasic/DataViewTableBasic.test.js +5 -8
  52. package/dist/esm/DataViewTableHead/DataViewTableHead.d.ts +2 -2
  53. package/dist/esm/DataViewTableHead/DataViewTableHead.js +5 -5
  54. package/dist/esm/DataViewTableHead/DataViewTableHead.test.js +4 -9
  55. package/dist/esm/DataViewTableTree/DataViewTableTree.d.ts +2 -2
  56. package/dist/esm/DataViewTableTree/DataViewTableTree.js +10 -11
  57. package/dist/esm/DataViewTableTree/DataViewTableTree.test.js +5 -9
  58. package/dist/esm/DataViewTextFilter/DataViewTextFilter.d.ts +2 -2
  59. package/dist/esm/DataViewTextFilter/DataViewTextFilter.js +2 -3
  60. package/dist/esm/DataViewTextFilter/DataViewTextFilter.test.js +2 -2
  61. package/dist/esm/DataViewToolbar/DataViewToolbar.d.ts +2 -2
  62. package/dist/esm/DataViewToolbar/DataViewToolbar.js +4 -11
  63. package/dist/esm/DataViewToolbar/DataViewToolbar.test.js +2 -2
  64. package/dist/esm/InternalContext/InternalContext.d.ts +3 -3
  65. package/dist/esm/InternalContext/InternalContext.js +3 -2
  66. package/dist/esm/InternalContext/InternalContext.test.js +7 -16
  67. package/dist/tsconfig.tsbuildinfo +1 -1
  68. package/package.json +8 -8
  69. package/patternfly-docs/content/extensions/data-view/examples/DataView/AbstractLayoutExample.tsx +3 -3
  70. package/patternfly-docs/content/extensions/data-view/examples/DataView/DataView.md +1 -1
  71. package/patternfly-docs/content/extensions/data-view/examples/DataView/EventsExample.tsx +4 -4
  72. package/patternfly-docs/content/extensions/data-view/examples/DataView/PredefinedLayoutFullExample.tsx +5 -5
  73. package/patternfly-docs/content/extensions/data-view/examples/Table/DataViewTableEmptyExample.tsx +6 -6
  74. package/patternfly-docs/content/extensions/data-view/examples/Table/DataViewTableErrorExample.tsx +2 -2
  75. package/patternfly-docs/content/extensions/data-view/examples/Table/DataViewTableExample.tsx +2 -2
  76. package/patternfly-docs/content/extensions/data-view/examples/Table/DataViewTableLoadingExample.tsx +4 -4
  77. package/patternfly-docs/content/extensions/data-view/examples/Table/DataViewTableTreeExample.tsx +2 -2
  78. package/patternfly-docs/content/extensions/data-view/examples/Table/SortingExample.tsx +3 -3
  79. package/patternfly-docs/content/extensions/data-view/examples/Table/Table.md +1 -1
  80. package/patternfly-docs/pages/index.js +1 -0
  81. package/release.config.js +9 -1
  82. package/src/DataView/DataView.test.tsx +10 -8
  83. package/src/DataView/DataView.tsx +4 -4
  84. package/src/DataViewCheckboxFilter/DataViewCheckboxFilter.test.tsx +0 -1
  85. package/src/DataViewCheckboxFilter/DataViewCheckboxFilter.tsx +10 -10
  86. package/src/DataViewEventsContext/DataViewEventsContext.test.tsx +4 -4
  87. package/src/DataViewEventsContext/DataViewEventsContext.tsx +1 -1
  88. package/src/DataViewFilters/DataViewFilters.test.tsx +29 -10
  89. package/src/DataViewFilters/DataViewFilters.tsx +12 -12
  90. package/src/DataViewTable/DataViewTable.test.tsx +0 -1
  91. package/src/DataViewTable/DataViewTable.tsx +2 -2
  92. package/src/DataViewTableBasic/DataViewTableBasic.test.tsx +0 -1
  93. package/src/DataViewTableBasic/DataViewTableBasic.tsx +2 -2
  94. package/src/DataViewTableHead/DataViewTableHead.test.tsx +0 -1
  95. package/src/DataViewTableHead/DataViewTableHead.tsx +2 -2
  96. package/src/DataViewTableTree/DataViewTableTree.test.tsx +0 -1
  97. package/src/DataViewTableTree/DataViewTableTree.tsx +5 -5
  98. package/src/DataViewTextFilter/DataViewTextFilter.test.tsx +0 -1
  99. package/src/DataViewTextFilter/DataViewTextFilter.tsx +2 -2
  100. package/src/DataViewToolbar/DataViewToolbar.test.tsx +0 -1
  101. package/src/DataViewToolbar/DataViewToolbar.tsx +2 -2
  102. package/src/InternalContext/InternalContext.test.tsx +0 -1
  103. package/src/InternalContext/InternalContext.tsx +2 -2
  104. package/tsconfig.json +1 -1
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { FC, useState, useRef, useMemo, useEffect, MouseEvent as ReactMouseEvent } from 'react';
2
2
  import {
3
3
  Badge,
4
4
  Menu,
@@ -48,7 +48,7 @@ export interface DataViewCheckboxFilterProps extends Omit<MenuProps, 'onSelect'
48
48
  ouiaId?: string;
49
49
  }
50
50
 
51
- export const DataViewCheckboxFilter: React.FC<DataViewCheckboxFilterProps> = ({
51
+ export const DataViewCheckboxFilter: FC<DataViewCheckboxFilterProps> = ({
52
52
  filterId,
53
53
  title,
54
54
  value = [],
@@ -61,12 +61,12 @@ export const DataViewCheckboxFilter: React.FC<DataViewCheckboxFilterProps> = ({
61
61
  ouiaId = 'DataViewCheckboxFilter',
62
62
  ...props
63
63
  }: DataViewCheckboxFilterProps) => {
64
- const [ isOpen, setIsOpen ] = React.useState(false);
65
- const toggleRef = React.useRef<HTMLButtonElement>(null);
66
- const menuRef = React.useRef<HTMLDivElement>(null);
67
- const containerRef = React.useRef<HTMLDivElement>(null);
64
+ const [ isOpen, setIsOpen ] = useState(false);
65
+ const toggleRef = useRef<HTMLButtonElement>(null);
66
+ const menuRef = useRef<HTMLDivElement>(null);
67
+ const containerRef = useRef<HTMLDivElement>(null);
68
68
 
69
- const normalizeOptions = React.useMemo(
69
+ const normalizeOptions = useMemo(
70
70
  () =>
71
71
  options.map(option =>
72
72
  typeof option === 'string'
@@ -76,7 +76,7 @@ export const DataViewCheckboxFilter: React.FC<DataViewCheckboxFilterProps> = ({
76
76
  [ options ]
77
77
  );
78
78
 
79
- const handleToggleClick = (event: React.MouseEvent) => {
79
+ const handleToggleClick = (event: ReactMouseEvent) => {
80
80
  event.stopPropagation();
81
81
  setTimeout(() => {
82
82
  const firstElement = menuRef.current?.querySelector('li > button:not(:disabled)') as HTMLElement;
@@ -85,7 +85,7 @@ export const DataViewCheckboxFilter: React.FC<DataViewCheckboxFilterProps> = ({
85
85
  setIsOpen(prev => !prev);
86
86
  };
87
87
 
88
- const handleSelect = (event?: React.MouseEvent, itemId?: string | number) => {
88
+ const handleSelect = (event?: ReactMouseEvent, itemId?: string | number) => {
89
89
  const activeItem = String(itemId);
90
90
  const isSelected = value.includes(activeItem);
91
91
 
@@ -102,7 +102,7 @@ export const DataViewCheckboxFilter: React.FC<DataViewCheckboxFilterProps> = ({
102
102
  && setIsOpen(false);
103
103
 
104
104
 
105
- React.useEffect(() => {
105
+ useEffect(() => {
106
106
  window.addEventListener('click', handleClickOutside);
107
107
  return () => {
108
108
  window.removeEventListener('click', handleClickOutside);
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { useEffect } from 'react';
2
2
  import { render, fireEvent } from '@testing-library/react';
3
3
  import { useDataViewEventsContext, DataViewEventsProvider, EventTypes } from './DataViewEventsContext';
4
4
 
@@ -19,7 +19,7 @@ describe('DataViewEventsContext', () => {
19
19
  const TestComponent = () => {
20
20
  const { subscribe, trigger } = useDataViewEventsContext();
21
21
 
22
- React.useEffect(() => {
22
+ useEffect(() => {
23
23
  const unsubscribe = subscribe(EventTypes.rowClick, callback);
24
24
  return () => unsubscribe();
25
25
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -46,7 +46,7 @@ describe('DataViewEventsContext', () => {
46
46
  const TestComponent = () => {
47
47
  const { subscribe, trigger } = useDataViewEventsContext();
48
48
 
49
- React.useEffect(() => {
49
+ useEffect(() => {
50
50
  const unsubscribe = subscribe(EventTypes.rowClick, callback);
51
51
  unsubscribe();
52
52
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -75,7 +75,7 @@ describe('DataViewEventsContext', () => {
75
75
  const TestComponent = () => {
76
76
  const { subscribe, trigger } = useDataViewEventsContext();
77
77
 
78
- React.useEffect(() => {
78
+ useEffect(() => {
79
79
  const unsubscribe1 = subscribe(EventTypes.rowClick, callback1);
80
80
  const unsubscribe2 = subscribe(EventTypes.rowClick, callback2);
81
81
 
@@ -1,4 +1,4 @@
1
- import React, {
1
+ import {
2
2
  PropsWithChildren,
3
3
  createContext,
4
4
  useCallback,
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
1
+ import { render, fireEvent } from '@testing-library/react';
3
2
  import DataViewFilters from './DataViewFilters';
4
3
  import DataViewToolbar from '../DataViewToolbar';
5
4
  import DataViewTextFilter from '../DataViewTextFilter';
@@ -8,14 +7,34 @@ describe('DataViewFilters component', () => {
8
7
  const mockOnChange = jest.fn();
9
8
 
10
9
  it('should render correctly', () => {
11
- const { container } = render(<DataViewToolbar
12
- filters={
13
- <DataViewFilters onChange={mockOnChange} values={{}}>
14
- <DataViewTextFilter filterId="one" title="One" />
15
- <DataViewTextFilter filterId="two" title="Two" />
16
- </DataViewFilters>
17
- }
18
- />);
10
+ const { container } = render(
11
+ <DataViewToolbar
12
+ filters={
13
+ <DataViewFilters onChange={mockOnChange} values={{}}>
14
+ <DataViewTextFilter filterId="one" title="One" />
15
+ <DataViewTextFilter filterId="two" title="Two" />
16
+ </DataViewFilters>
17
+ }
18
+ />
19
+ );
19
20
  expect(container).toMatchSnapshot();
20
21
  });
22
+
23
+ it('should call onChange with correct key and value when filter changes', () => {
24
+ const mockOnChange = jest.fn();
25
+ const { getByLabelText } = render(
26
+ <DataViewToolbar
27
+ filters={
28
+ <DataViewFilters onChange={mockOnChange} values={{}}>
29
+ <DataViewTextFilter filterId="one" title="One" />
30
+ <DataViewTextFilter filterId="two" title="Two" />
31
+ </DataViewFilters>
32
+ }
33
+ />
34
+ );
35
+ const input = getByLabelText('One filter');
36
+ input.focus();
37
+ fireEvent.input(input, { target: { value: 'abc' } });
38
+ expect(mockOnChange).toHaveBeenCalledWith('one', { one: 'abc' });
39
+ });
21
40
  });
@@ -1,4 +1,4 @@
1
- import React, { useMemo, useState, useRef, useEffect, ReactElement, ReactNode } from 'react';
1
+ import { Children, isValidElement, cloneElement, useMemo, useState, useRef, useEffect, ReactElement, ReactNode } from 'react';
2
2
  import {
3
3
  Menu, MenuContent, MenuItem, MenuList, MenuToggle, Popper, ToolbarGroup, ToolbarToggleGroup, ToolbarToggleGroupProps,
4
4
  } from '@patternfly/react-core';
@@ -50,14 +50,14 @@ export const DataViewFilters = <T extends object>({
50
50
  const attributeContainerRef = useRef<HTMLDivElement>(null);
51
51
 
52
52
  const childrenHash = useMemo(() => JSON.stringify(
53
- React.Children.map(children, (child) =>
54
- React.isValidElement(child) ? { type: child.type, key: child.key, props: child.props } : child
53
+ Children.map(children, (child) =>
54
+ isValidElement(child) ? { type: child.type, key: child.key, props: child.props } : child
55
55
  )
56
56
  ), [ children ]);
57
57
 
58
- const filterItems: DataViewFilterIdentifiers[] = useMemo(() => React.Children.toArray(children)
58
+ const filterItems: DataViewFilterIdentifiers[] = useMemo(() => Children.toArray(children)
59
59
  .map(child =>
60
- React.isValidElement(child) ? { filterId: String(child.props.filterId), title: String(child.props.title) } : undefined
60
+ isValidElement(child) ? { filterId: String((child.props as any).filterId), title: String((child.props as any).title) } : undefined
61
61
  ).filter((item): item is DataViewFilterIdentifiers => !!item), [ childrenHash ]); // eslint-disable-line react-hooks/exhaustive-deps
62
62
 
63
63
  useEffect(() => {
@@ -122,17 +122,17 @@ export const DataViewFilters = <T extends object>({
122
122
  isVisible={isAttributeMenuOpen}
123
123
  />
124
124
  </div>
125
- {React.Children.map(children, (child) =>
126
- React.isValidElement(child)
127
- ? React.cloneElement(child as ReactElement<{
125
+ {Children.map(children, (child) =>
126
+ isValidElement(child)
127
+ ? cloneElement(child as ReactElement<{
128
128
  showToolbarItem: boolean;
129
129
  onChange: (_e: unknown, values: unknown) => void;
130
130
  value: unknown;
131
131
  }>, {
132
- showToolbarItem: activeAttributeMenu === child.props.title,
133
- onChange: (event, value) => onChange?.(event, { [child.props.filterId]: value } as Partial<T>),
134
- value: values?.[child.props.filterId],
135
- ...child.props
132
+ showToolbarItem: activeAttributeMenu === (child.props as any).title,
133
+ onChange: (event, value) => onChange?.((child.props as any).filterId, { [(child.props as any).filterId]: value } as Partial<T>),
134
+ value: values?.[(child.props as any).filterId],
135
+ ...(child.props as any)
136
136
  })
137
137
  : child
138
138
  )}
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render } from '@testing-library/react';
3
2
  import { DataViewTable, DataViewTrTree } from './DataViewTable';
4
3
 
@@ -1,4 +1,4 @@
1
- import React, { ReactNode } from 'react';
1
+ import { FC, ReactNode } from 'react';
2
2
  import {
3
3
  TdProps,
4
4
  ThProps,
@@ -50,7 +50,7 @@ export type DataViewTableProps =
50
50
  isTreeTable?: false;
51
51
  } & DataViewTableBasicProps);
52
52
 
53
- export const DataViewTable: React.FC<DataViewTableProps> = (props) => (
53
+ export const DataViewTable: FC<DataViewTableProps> = (props) => (
54
54
  props.isTreeTable ? <DataViewTableTree {...props} /> : <DataViewTableBasic {...props} />
55
55
  );
56
56
 
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render } from '@testing-library/react';
3
2
  import { DataView } from '../DataView';
4
3
  import { DataViewTableBasic } from './DataViewTableBasic';
@@ -1,4 +1,4 @@
1
- import React, { useMemo } from 'react';
1
+ import { FC, useMemo } from 'react';
2
2
  import {
3
3
  Table,
4
4
  TableProps,
@@ -25,7 +25,7 @@ export interface DataViewTableBasicProps extends Omit<TableProps, 'onSelect' | '
25
25
  ouiaId?: string;
26
26
  }
27
27
 
28
- export const DataViewTableBasic: React.FC<DataViewTableBasicProps> = ({
28
+ export const DataViewTableBasic: FC<DataViewTableBasicProps> = ({
29
29
  columns,
30
30
  rows,
31
31
  ouiaId = 'DataViewTableBasic',
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render } from '@testing-library/react';
3
2
  import { Table } from '@patternfly/react-table';
4
3
  import { DataViewTableHead } from './DataViewTableHead';
@@ -1,4 +1,4 @@
1
- import React, { useMemo } from 'react';
1
+ import { FC, useMemo } from 'react';
2
2
  import {
3
3
  Th,
4
4
  Thead,
@@ -18,7 +18,7 @@ export interface DataViewTableHeadProps extends TheadProps {
18
18
  ouiaId?: string;
19
19
  }
20
20
 
21
- export const DataViewTableHead: React.FC<DataViewTableHeadProps> = ({
21
+ export const DataViewTableHead: FC<DataViewTableHeadProps> = ({
22
22
  isTreeTable = false,
23
23
  columns,
24
24
  ouiaId = 'DataViewTableHead',
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render } from '@testing-library/react';
3
2
  import { FolderIcon, FolderOpenIcon, LeafIcon } from '@patternfly/react-icons';
4
3
  import { DataView } from '../DataView';
@@ -1,4 +1,4 @@
1
- import React, { useMemo } from 'react';
1
+ import { FC, useState, useMemo, ReactNode } from 'react';
2
2
  import {
3
3
  Table,
4
4
  TableProps,
@@ -71,7 +71,7 @@ export interface DataViewTableTreeProps extends Omit<TableProps, 'onSelect' | 'r
71
71
  ouiaId?: string;
72
72
  }
73
73
 
74
- export const DataViewTableTree: React.FC<DataViewTableTreeProps> = ({
74
+ export const DataViewTableTree: FC<DataViewTableTreeProps> = ({
75
75
  columns,
76
76
  rows,
77
77
  headStates,
@@ -84,8 +84,8 @@ export const DataViewTableTree: React.FC<DataViewTableTreeProps> = ({
84
84
  }: DataViewTableTreeProps) => {
85
85
  const { selection, activeState } = useInternalContext();
86
86
  const { onSelect, isSelected, isSelectDisabled } = selection ?? {};
87
- const [ expandedNodeIds, setExpandedNodeIds ] = React.useState<string[]>([]);
88
- const [ expandedDetailsNodeNames, setExpandedDetailsNodeIds ] = React.useState<string[]>([]);
87
+ const [ expandedNodeIds, setExpandedNodeIds ] = useState<string[]>([]);
88
+ const [ expandedDetailsNodeNames, setExpandedDetailsNodeIds ] = useState<string[]>([]);
89
89
 
90
90
  const activeHeadState = useMemo(() => activeState ? headStates?.[activeState] : undefined, [ activeState, headStates ]);
91
91
  const activeBodyState = useMemo(() => activeState ? bodyStates?.[activeState] : undefined, [ activeState, bodyStates ]);
@@ -98,7 +98,7 @@ export const DataViewTableTree: React.FC<DataViewTableTreeProps> = ({
98
98
  posinset = 1,
99
99
  rowIndex = 0,
100
100
  isHidden = false
101
- ): React.ReactNode[] => {
101
+ ): ReactNode[] => {
102
102
  if (!node) {
103
103
  return [];
104
104
  }
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render } from '@testing-library/react';
3
2
  import DataViewTextFilter, { DataViewTextFilterProps } from './DataViewTextFilter';
4
3
  import DataViewToolbar from '../DataViewToolbar';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { FC } from 'react';
2
2
  import { SearchInput, SearchInputProps, ToolbarFilter, ToolbarFilterProps } from '@patternfly/react-core';
3
3
 
4
4
  /** extends SearchInputProps */
@@ -19,7 +19,7 @@ export interface DataViewTextFilterProps extends SearchInputProps {
19
19
  ouiaId?: string;
20
20
  }
21
21
 
22
- export const DataViewTextFilter: React.FC<DataViewTextFilterProps> = ({
22
+ export const DataViewTextFilter: FC<DataViewTextFilterProps> = ({
23
23
  filterId,
24
24
  title,
25
25
  value = '',
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render } from '@testing-library/react';
3
2
  import DataViewToolbar from './DataViewToolbar';
4
3
  import { Pagination } from '@patternfly/react-core';
@@ -1,4 +1,4 @@
1
- import React, { PropsWithChildren, useRef } from 'react';
1
+ import { FC, PropsWithChildren, useRef } from 'react';
2
2
  import { Button, Toolbar, ToolbarContent, ToolbarItem, ToolbarItemVariant, ToolbarProps } from '@patternfly/react-core';
3
3
 
4
4
  /** extends ToolbarProps */
@@ -21,7 +21,7 @@ export interface DataViewToolbarProps extends Omit<PropsWithChildren<ToolbarProp
21
21
  customLabelGroupContent?: React.ReactNode;
22
22
  }
23
23
 
24
- export const DataViewToolbar: React.FC<DataViewToolbarProps> = ({ className, ouiaId = 'DataViewToolbar', bulkSelect, actions, toggleGroup, pagination, filters, customLabelGroupContent, clearAllFilters, children, ...props }: DataViewToolbarProps) => {
24
+ export const DataViewToolbar: FC<DataViewToolbarProps> = ({ className, ouiaId = 'DataViewToolbar', bulkSelect, actions, toggleGroup, pagination, filters, customLabelGroupContent, clearAllFilters, children, ...props }: DataViewToolbarProps) => {
25
25
  const defaultClearFilters = useRef(
26
26
  <ToolbarItem>
27
27
  <Button ouiaId={`${ouiaId}-clear-all-filters`} variant="link" onClick={clearAllFilters} isInline>
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render, fireEvent } from '@testing-library/react';
3
2
  import '@testing-library/jest-dom';
4
3
  import { useInternalContext, DataViewSelection } from './InternalContext';
@@ -1,4 +1,4 @@
1
- import React, { createContext, PropsWithChildren, useContext, useMemo } from 'react';
1
+ import { FC, createContext, PropsWithChildren, useContext, useMemo } from 'react';
2
2
  import { DataViewState } from '../DataView';
3
3
 
4
4
  export interface DataViewSelection {
@@ -31,7 +31,7 @@ export const InternalContext = createContext<InternalContextValue>({
31
31
 
32
32
  export type InternalProviderProps = PropsWithChildren<InternalContextProps>
33
33
 
34
- export const InternalContextProvider: React.FC<InternalProviderProps> = ({
34
+ export const InternalContextProvider: FC<InternalProviderProps> = ({
35
35
  children,
36
36
  selection,
37
37
  activeState
package/tsconfig.json CHANGED
@@ -9,7 +9,7 @@
9
9
  // "lib": [], /* Specify library files to be included in the compilation. */
10
10
  // "allowJs": true, /* Allow javascript files to be compiled. */
11
11
  // "checkJs": true, /* Report errors in .js files. */
12
- "jsx": "react" /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */,
12
+ "jsx": "react-jsx" /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */,
13
13
  "declaration": true /* Generates corresponding '.d.ts' file. */,
14
14
  // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
15
15
  // "sourceMap": true, /* Generates corresponding '.map' file. */