@patternfly/react-data-view 6.1.0 → 6.3.0-prerelease.3

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 (112) 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 +4 -2
  29. package/dist/cjs/DataViewToolbar/DataViewToolbar.js +5 -34
  30. package/dist/cjs/DataViewToolbar/DataViewToolbar.test.js +3 -3
  31. package/dist/cjs/Hooks/filters.js +1 -1
  32. package/dist/cjs/Hooks/filters.test.js +25 -0
  33. package/dist/cjs/InternalContext/InternalContext.d.ts +3 -3
  34. package/dist/cjs/InternalContext/InternalContext.js +3 -25
  35. package/dist/cjs/InternalContext/InternalContext.test.js +9 -21
  36. package/dist/esm/DataView/DataView.d.ts +2 -2
  37. package/dist/esm/DataView/DataView.js +4 -4
  38. package/dist/esm/DataView/DataView.test.js +2 -5
  39. package/dist/esm/DataViewCheckboxFilter/DataViewCheckboxFilter.d.ts +2 -2
  40. package/dist/esm/DataViewCheckboxFilter/DataViewCheckboxFilter.js +10 -12
  41. package/dist/esm/DataViewCheckboxFilter/DataViewCheckboxFilter.test.js +2 -2
  42. package/dist/esm/DataViewEventsContext/DataViewEventsContext.d.ts +3 -3
  43. package/dist/esm/DataViewEventsContext/DataViewEventsContext.js +3 -2
  44. package/dist/esm/DataViewEventsContext/DataViewEventsContext.test.js +11 -13
  45. package/dist/esm/DataViewFilters/DataViewFilters.d.ts +2 -2
  46. package/dist/esm/DataViewFilters/DataViewFilters.js +12 -17
  47. package/dist/esm/DataViewFilters/DataViewFilters.test.js +11 -5
  48. package/dist/esm/DataViewTable/DataViewTable.d.ts +2 -2
  49. package/dist/esm/DataViewTable/DataViewTable.js +2 -2
  50. package/dist/esm/DataViewTable/DataViewTable.test.js +3 -3
  51. package/dist/esm/DataViewTableBasic/DataViewTableBasic.d.ts +2 -2
  52. package/dist/esm/DataViewTableBasic/DataViewTableBasic.js +15 -18
  53. package/dist/esm/DataViewTableBasic/DataViewTableBasic.test.js +5 -8
  54. package/dist/esm/DataViewTableHead/DataViewTableHead.d.ts +2 -2
  55. package/dist/esm/DataViewTableHead/DataViewTableHead.js +5 -5
  56. package/dist/esm/DataViewTableHead/DataViewTableHead.test.js +4 -9
  57. package/dist/esm/DataViewTableTree/DataViewTableTree.d.ts +2 -2
  58. package/dist/esm/DataViewTableTree/DataViewTableTree.js +10 -11
  59. package/dist/esm/DataViewTableTree/DataViewTableTree.test.js +5 -9
  60. package/dist/esm/DataViewTextFilter/DataViewTextFilter.d.ts +2 -2
  61. package/dist/esm/DataViewTextFilter/DataViewTextFilter.js +2 -3
  62. package/dist/esm/DataViewTextFilter/DataViewTextFilter.test.js +2 -2
  63. package/dist/esm/DataViewToolbar/DataViewToolbar.d.ts +4 -2
  64. package/dist/esm/DataViewToolbar/DataViewToolbar.js +5 -11
  65. package/dist/esm/DataViewToolbar/DataViewToolbar.test.js +2 -2
  66. package/dist/esm/Hooks/filters.js +1 -1
  67. package/dist/esm/Hooks/filters.test.js +25 -0
  68. package/dist/esm/InternalContext/InternalContext.d.ts +3 -3
  69. package/dist/esm/InternalContext/InternalContext.js +3 -2
  70. package/dist/esm/InternalContext/InternalContext.test.js +7 -16
  71. package/dist/tsconfig.tsbuildinfo +1 -1
  72. package/package.json +10 -10
  73. package/patternfly-docs/content/extensions/data-view/examples/DataView/AbstractLayoutExample.tsx +3 -3
  74. package/patternfly-docs/content/extensions/data-view/examples/DataView/DataView.md +1 -1
  75. package/patternfly-docs/content/extensions/data-view/examples/DataView/EventsExample.tsx +4 -4
  76. package/patternfly-docs/content/extensions/data-view/examples/DataView/PredefinedLayoutFullExample.tsx +5 -5
  77. package/patternfly-docs/content/extensions/data-view/examples/Table/DataViewTableEmptyExample.tsx +6 -6
  78. package/patternfly-docs/content/extensions/data-view/examples/Table/DataViewTableErrorExample.tsx +2 -2
  79. package/patternfly-docs/content/extensions/data-view/examples/Table/DataViewTableExample.tsx +2 -2
  80. package/patternfly-docs/content/extensions/data-view/examples/Table/DataViewTableLoadingExample.tsx +4 -4
  81. package/patternfly-docs/content/extensions/data-view/examples/Table/DataViewTableTreeExample.tsx +2 -2
  82. package/patternfly-docs/content/extensions/data-view/examples/Table/SortingExample.tsx +3 -3
  83. package/patternfly-docs/content/extensions/data-view/examples/Table/Table.md +1 -1
  84. package/patternfly-docs/content/extensions/data-view/examples/Toolbar/AllSelectedExample.tsx +116 -0
  85. package/patternfly-docs/content/extensions/data-view/examples/Toolbar/Toolbar.md +13 -1
  86. package/patternfly-docs/pages/index.js +1 -0
  87. package/release.config.js +10 -2
  88. package/src/DataView/DataView.test.tsx +10 -8
  89. package/src/DataView/DataView.tsx +4 -4
  90. package/src/DataViewCheckboxFilter/DataViewCheckboxFilter.test.tsx +0 -1
  91. package/src/DataViewCheckboxFilter/DataViewCheckboxFilter.tsx +10 -10
  92. package/src/DataViewEventsContext/DataViewEventsContext.test.tsx +4 -4
  93. package/src/DataViewEventsContext/DataViewEventsContext.tsx +1 -1
  94. package/src/DataViewFilters/DataViewFilters.test.tsx +29 -10
  95. package/src/DataViewFilters/DataViewFilters.tsx +12 -12
  96. package/src/DataViewTable/DataViewTable.test.tsx +0 -1
  97. package/src/DataViewTable/DataViewTable.tsx +2 -2
  98. package/src/DataViewTableBasic/DataViewTableBasic.test.tsx +0 -1
  99. package/src/DataViewTableBasic/DataViewTableBasic.tsx +2 -2
  100. package/src/DataViewTableHead/DataViewTableHead.test.tsx +0 -1
  101. package/src/DataViewTableHead/DataViewTableHead.tsx +2 -2
  102. package/src/DataViewTableTree/DataViewTableTree.test.tsx +0 -1
  103. package/src/DataViewTableTree/DataViewTableTree.tsx +5 -5
  104. package/src/DataViewTextFilter/DataViewTextFilter.test.tsx +0 -1
  105. package/src/DataViewTextFilter/DataViewTextFilter.tsx +2 -2
  106. package/src/DataViewToolbar/DataViewToolbar.test.tsx +0 -1
  107. package/src/DataViewToolbar/DataViewToolbar.tsx +9 -2
  108. package/src/Hooks/filters.test.tsx +27 -0
  109. package/src/Hooks/filters.ts +1 -1
  110. package/src/InternalContext/InternalContext.test.tsx +0 -1
  111. package/src/InternalContext/InternalContext.tsx +2 -2
  112. package/tsconfig.json +1 -1
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const react_2 = require("@testing-library/react");
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const react_1 = require("@testing-library/react");
8
5
  const DataView_1 = require("../DataView");
9
6
  const DataViewTableBasic_1 = require("./DataViewTableBasic");
10
7
  const repositories = [
@@ -22,22 +19,19 @@ const columns = ['Repositories', 'Branches', 'Pull requests', 'Workspaces', 'Las
22
19
  const ouiaId = 'TableExample';
23
20
  describe('DataViewTable component', () => {
24
21
  test('should render correctly', () => {
25
- const { container } = (0, react_2.render)(react_1.default.createElement(DataViewTableBasic_1.DataViewTableBasic, { "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, rows: rows }));
22
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DataViewTableBasic_1.DataViewTableBasic, { "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, rows: rows }));
26
23
  expect(container).toMatchSnapshot();
27
24
  });
28
25
  test('should render with an empty state', () => {
29
- const { container } = (0, react_2.render)(react_1.default.createElement(DataView_1.DataView, { activeState: "empty" },
30
- react_1.default.createElement(DataViewTableBasic_1.DataViewTableBasic, { "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, bodyStates: { empty: "No data found" }, rows: [] })));
26
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DataView_1.DataView, { activeState: "empty", children: (0, jsx_runtime_1.jsx)(DataViewTableBasic_1.DataViewTableBasic, { "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, bodyStates: { empty: "No data found" }, rows: [] }) }));
31
27
  expect(container).toMatchSnapshot();
32
28
  });
33
29
  test('should render with an error state', () => {
34
- const { container } = (0, react_2.render)(react_1.default.createElement(DataView_1.DataView, { activeState: "error" },
35
- react_1.default.createElement(DataViewTableBasic_1.DataViewTableBasic, { "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, bodyStates: { error: "Some error" }, rows: [] })));
30
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DataView_1.DataView, { activeState: "error", children: (0, jsx_runtime_1.jsx)(DataViewTableBasic_1.DataViewTableBasic, { "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, bodyStates: { error: "Some error" }, rows: [] }) }));
36
31
  expect(container).toMatchSnapshot();
37
32
  });
38
33
  test('should render with a loading state', () => {
39
- const { container } = (0, react_2.render)(react_1.default.createElement(DataView_1.DataView, { activeState: "loading" },
40
- react_1.default.createElement(DataViewTableBasic_1.DataViewTableBasic, { "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, bodyStates: { loading: "Data is loading" }, rows: [] })));
34
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DataView_1.DataView, { activeState: "loading", children: (0, jsx_runtime_1.jsx)(DataViewTableBasic_1.DataViewTableBasic, { "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, bodyStates: { loading: "Data is loading" }, rows: [] }) }));
41
35
  expect(container).toMatchSnapshot();
42
36
  });
43
37
  });
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { FC } from 'react';
2
2
  import { TheadProps } from '@patternfly/react-table';
3
3
  import { DataViewTh } from '../DataViewTable';
4
4
  /** extends TheadProps */
@@ -10,5 +10,5 @@ export interface DataViewTableHeadProps extends TheadProps {
10
10
  /** Custom OUIA ID */
11
11
  ouiaId?: string;
12
12
  }
13
- export declare const DataViewTableHead: React.FC<DataViewTableHeadProps>;
13
+ export declare const DataViewTableHead: FC<DataViewTableHeadProps>;
14
14
  export default DataViewTableHead;
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __rest = (this && this.__rest) || function (s, e) {
26
3
  var t = {};
27
4
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -35,7 +12,8 @@ var __rest = (this && this.__rest) || function (s, e) {
35
12
  };
36
13
  Object.defineProperty(exports, "__esModule", { value: true });
37
14
  exports.DataViewTableHead = void 0;
38
- const react_1 = __importStar(require("react"));
15
+ const jsx_runtime_1 = require("react/jsx-runtime");
16
+ const react_1 = require("react");
39
17
  const react_table_1 = require("@patternfly/react-table");
40
18
  const InternalContext_1 = require("../InternalContext");
41
19
  const DataViewTable_1 = require("../DataViewTable");
@@ -44,14 +22,13 @@ const DataViewTableHead = (_a) => {
44
22
  const { selection } = (0, InternalContext_1.useInternalContext)();
45
23
  const { onSelect, isSelected } = selection !== null && selection !== void 0 ? selection : {};
46
24
  const cells = (0, react_1.useMemo)(() => [
47
- onSelect && isSelected && !isTreeTable ? (react_1.default.createElement(react_table_1.Th, { key: "row-select", screenReaderText: 'Data selection table head cell' })) : null,
25
+ onSelect && isSelected && !isTreeTable ? ((0, jsx_runtime_1.jsx)(react_table_1.Th, { screenReaderText: 'Data selection table head cell' }, "row-select")) : null,
48
26
  ...columns.map((column, index) => {
49
27
  var _a;
50
- return (react_1.default.createElement(react_table_1.Th, Object.assign({ key: index }, ((0, DataViewTable_1.isDataViewThObject)(column) && ((_a = column === null || column === void 0 ? void 0 : column.props) !== null && _a !== void 0 ? _a : {})), { "data-ouia-component-id": `${ouiaId}-th-${index}` }), (0, DataViewTable_1.isDataViewThObject)(column) ? column.cell : column));
28
+ return ((0, jsx_runtime_1.jsx)(react_table_1.Th, Object.assign({}, ((0, DataViewTable_1.isDataViewThObject)(column) && ((_a = column === null || column === void 0 ? void 0 : column.props) !== null && _a !== void 0 ? _a : {})), { "data-ouia-component-id": `${ouiaId}-th-${index}`, children: (0, DataViewTable_1.isDataViewThObject)(column) ? column.cell : column }), index));
51
29
  })
52
30
  ], [columns, ouiaId, onSelect, isSelected, isTreeTable]);
53
- return (react_1.default.createElement(react_table_1.Thead, Object.assign({ "data-ouia-component-id": `${ouiaId}-thead` }, props),
54
- react_1.default.createElement(react_table_1.Tr, { ouiaId: `${ouiaId}-tr-head` }, cells)));
31
+ return ((0, jsx_runtime_1.jsx)(react_table_1.Thead, Object.assign({ "data-ouia-component-id": `${ouiaId}-thead` }, props, { children: (0, jsx_runtime_1.jsx)(react_table_1.Tr, { ouiaId: `${ouiaId}-tr-head`, children: cells }) })));
55
32
  };
56
33
  exports.DataViewTableHead = DataViewTableHead;
57
34
  exports.default = exports.DataViewTableHead;
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const react_2 = require("@testing-library/react");
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const react_1 = require("@testing-library/react");
8
5
  const react_table_1 = require("@patternfly/react-table");
9
6
  const DataViewTableHead_1 = require("./DataViewTableHead");
10
7
  const DataView_1 = require("../DataView");
@@ -17,20 +14,15 @@ describe('DataViewTableHead component', () => {
17
14
  isSelectDisabled: jest.fn(),
18
15
  };
19
16
  test('should render correctly', () => {
20
- const { container } = (0, react_2.render)(react_1.default.createElement(react_table_1.Table, null,
21
- react_1.default.createElement(DataViewTableHead_1.DataViewTableHead, { columns: columns, ouiaId: ouiaId })));
17
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(react_table_1.Table, { children: (0, jsx_runtime_1.jsx)(DataViewTableHead_1.DataViewTableHead, { columns: columns, ouiaId: ouiaId }) }));
22
18
  expect(container).toMatchSnapshot();
23
19
  });
24
20
  test('should render the tree table correctly when isTreeTable is true', () => {
25
- const { container } = (0, react_2.render)(react_1.default.createElement(DataView_1.DataView, { selection: mockSelection },
26
- react_1.default.createElement(react_table_1.Table, null,
27
- react_1.default.createElement(DataViewTableHead_1.DataViewTableHead, { isTreeTable: true, columns: columns, ouiaId: ouiaId }))));
21
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DataView_1.DataView, { selection: mockSelection, children: (0, jsx_runtime_1.jsx)(react_table_1.Table, { children: (0, jsx_runtime_1.jsx)(DataViewTableHead_1.DataViewTableHead, { isTreeTable: true, columns: columns, ouiaId: ouiaId }) }) }));
28
22
  expect(container).toMatchSnapshot();
29
23
  });
30
24
  test('should render selection column when selection is provided', () => {
31
- const { container } = (0, react_2.render)(react_1.default.createElement(DataView_1.DataView, { selection: mockSelection },
32
- react_1.default.createElement(react_table_1.Table, null,
33
- react_1.default.createElement(DataViewTableHead_1.DataViewTableHead, { columns: columns, ouiaId: ouiaId }))));
25
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DataView_1.DataView, { selection: mockSelection, children: (0, jsx_runtime_1.jsx)(react_table_1.Table, { children: (0, jsx_runtime_1.jsx)(DataViewTableHead_1.DataViewTableHead, { columns: columns, ouiaId: ouiaId }) }) }));
34
26
  expect(container).toMatchSnapshot();
35
27
  });
36
28
  });
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { FC } from 'react';
2
2
  import { TableProps } from '@patternfly/react-table';
3
3
  import { DataViewTh, DataViewTrTree } from '../DataViewTable';
4
4
  import { DataViewState } from '../DataView/DataView';
@@ -21,5 +21,5 @@ export interface DataViewTableTreeProps extends Omit<TableProps, 'onSelect' | 'r
21
21
  /** Custom OUIA ID */
22
22
  ouiaId?: string;
23
23
  }
24
- export declare const DataViewTableTree: React.FC<DataViewTableTreeProps>;
24
+ export declare const DataViewTableTree: FC<DataViewTableTreeProps>;
25
25
  export default DataViewTableTree;
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __rest = (this && this.__rest) || function (s, e) {
26
3
  var t = {};
27
4
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -35,7 +12,8 @@ var __rest = (this && this.__rest) || function (s, e) {
35
12
  };
36
13
  Object.defineProperty(exports, "__esModule", { value: true });
37
14
  exports.DataViewTableTree = void 0;
38
- const react_1 = __importStar(require("react"));
15
+ const jsx_runtime_1 = require("react/jsx-runtime");
16
+ const react_1 = require("react");
39
17
  const react_table_1 = require("@patternfly/react-table");
40
18
  const InternalContext_1 = require("../InternalContext");
41
19
  const DataViewTableHead_1 = require("../DataViewTableHead");
@@ -70,8 +48,8 @@ const DataViewTableTree = (_a) => {
70
48
  var { columns, rows, headStates, bodyStates, leafIcon = null, expandedIcon = null, collapsedIcon = null, ouiaId = 'DataViewTableTree' } = _a, props = __rest(_a, ["columns", "rows", "headStates", "bodyStates", "leafIcon", "expandedIcon", "collapsedIcon", "ouiaId"]);
71
49
  const { selection, activeState } = (0, InternalContext_1.useInternalContext)();
72
50
  const { onSelect, isSelected, isSelectDisabled } = selection !== null && selection !== void 0 ? selection : {};
73
- const [expandedNodeIds, setExpandedNodeIds] = react_1.default.useState([]);
74
- const [expandedDetailsNodeNames, setExpandedDetailsNodeIds] = react_1.default.useState([]);
51
+ const [expandedNodeIds, setExpandedNodeIds] = (0, react_1.useState)([]);
52
+ const [expandedDetailsNodeNames, setExpandedDetailsNodeIds] = (0, react_1.useState)([]);
75
53
  const activeHeadState = (0, react_1.useMemo)(() => activeState ? headStates === null || headStates === void 0 ? void 0 : headStates[activeState] : undefined, [activeState, headStates]);
76
54
  const activeBodyState = (0, react_1.useMemo)(() => activeState ? bodyStates === null || bodyStates === void 0 ? void 0 : bodyStates[activeState] : undefined, [activeState, bodyStates]);
77
55
  const nodes = (0, react_1.useMemo)(() => {
@@ -114,11 +92,11 @@ const DataViewTableTree = (_a) => {
114
92
  ? renderRows(node.children, level + 1, 1, rowIndex + 1, !isExpanded || isHidden)
115
93
  : [];
116
94
  return [
117
- react_1.default.createElement(react_table_1.TreeRowWrapper, { key: node.id, row: { props: treeRow.props }, ouiaId: `${ouiaId}-tr-${rowIndex}` }, node.row.map((cell, colIndex) => {
118
- var _a;
119
- const cellIsObject = (0, DataViewTable_1.isDataViewTdObject)(cell);
120
- return (react_1.default.createElement(react_table_1.Td, Object.assign({ key: colIndex, treeRow: colIndex === 0 ? treeRow : undefined }, (cellIsObject && ((_a = cell === null || cell === void 0 ? void 0 : cell.props) !== null && _a !== void 0 ? _a : {})), { "data-ouia-component-id": `${ouiaId}-td-${rowIndex}-${colIndex}` }), cellIsObject ? cell.cell : cell));
121
- })),
95
+ (0, jsx_runtime_1.jsx)(react_table_1.TreeRowWrapper, { row: { props: treeRow.props }, ouiaId: `${ouiaId}-tr-${rowIndex}`, children: node.row.map((cell, colIndex) => {
96
+ var _a;
97
+ const cellIsObject = (0, DataViewTable_1.isDataViewTdObject)(cell);
98
+ return ((0, jsx_runtime_1.jsx)(react_table_1.Td, Object.assign({ treeRow: colIndex === 0 ? treeRow : undefined }, (cellIsObject && ((_a = cell === null || cell === void 0 ? void 0 : cell.props) !== null && _a !== void 0 ? _a : {})), { "data-ouia-component-id": `${ouiaId}-td-${rowIndex}-${colIndex}`, children: cellIsObject ? cell.cell : cell }), colIndex));
99
+ }) }, node.id),
122
100
  ...childRows,
123
101
  ...renderRows(remainingNodes, level, posinset + 1, rowIndex + 1 + childRows.length, isHidden),
124
102
  ];
@@ -136,9 +114,7 @@ const DataViewTableTree = (_a) => {
136
114
  isSelectDisabled,
137
115
  ouiaId
138
116
  ]);
139
- return (react_1.default.createElement(react_table_1.Table, Object.assign({ isTreeTable: true, "aria-label": "Data table", ouiaId: ouiaId }, props),
140
- activeHeadState || react_1.default.createElement(DataViewTableHead_1.DataViewTableHead, { isTreeTable: true, columns: columns, ouiaId: ouiaId }),
141
- activeBodyState || react_1.default.createElement(react_table_1.Tbody, null, nodes)));
117
+ return ((0, jsx_runtime_1.jsxs)(react_table_1.Table, Object.assign({ isTreeTable: true, "aria-label": "Data table", ouiaId: ouiaId }, props, { children: [activeHeadState || (0, jsx_runtime_1.jsx)(DataViewTableHead_1.DataViewTableHead, { isTreeTable: true, columns: columns, ouiaId: ouiaId }), activeBodyState || (0, jsx_runtime_1.jsx)(react_table_1.Tbody, { children: nodes })] })));
142
118
  };
143
119
  exports.DataViewTableTree = DataViewTableTree;
144
120
  exports.default = exports.DataViewTableTree;
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const react_2 = require("@testing-library/react");
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const react_1 = require("@testing-library/react");
8
5
  const react_icons_1 = require("@patternfly/react-icons");
9
6
  const DataView_1 = require("../DataView");
10
7
  const DataViewTable_1 = require("../DataViewTable");
@@ -68,23 +65,19 @@ describe('DataViewTableTree component', () => {
68
65
  isSelectDisabled: jest.fn(),
69
66
  };
70
67
  test('should render the tree table correctly', () => {
71
- const { container } = (0, react_2.render)(react_1.default.createElement(DataView_1.DataView, { selection: mockSelection },
72
- react_1.default.createElement(DataViewTable_1.DataViewTable, { isTreeTable: true, "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, rows: rows, leafIcon: react_1.default.createElement(react_icons_1.LeafIcon, null), expandedIcon: react_1.default.createElement(react_icons_1.FolderOpenIcon, { "aria-hidden": true }), collapsedIcon: react_1.default.createElement(react_icons_1.FolderIcon, { "aria-hidden": true }) })));
68
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DataView_1.DataView, { selection: mockSelection, children: (0, jsx_runtime_1.jsx)(DataViewTable_1.DataViewTable, { isTreeTable: true, "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, rows: rows, leafIcon: (0, jsx_runtime_1.jsx)(react_icons_1.LeafIcon, {}), expandedIcon: (0, jsx_runtime_1.jsx)(react_icons_1.FolderOpenIcon, { "aria-hidden": true }), collapsedIcon: (0, jsx_runtime_1.jsx)(react_icons_1.FolderIcon, { "aria-hidden": true }) }) }));
73
69
  expect(container).toMatchSnapshot();
74
70
  });
75
71
  test('should render tree table with an empty state', () => {
76
- const { container } = (0, react_2.render)(react_1.default.createElement(DataView_1.DataView, { activeState: "empty" },
77
- react_1.default.createElement(DataViewTable_1.DataViewTable, { isTreeTable: true, "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, bodyStates: { empty: "No data found" }, rows: [] })));
72
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DataView_1.DataView, { activeState: "empty", children: (0, jsx_runtime_1.jsx)(DataViewTable_1.DataViewTable, { isTreeTable: true, "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, bodyStates: { empty: "No data found" }, rows: [] }) }));
78
73
  expect(container).toMatchSnapshot();
79
74
  });
80
75
  test('should render tree table with an error state', () => {
81
- const { container } = (0, react_2.render)(react_1.default.createElement(DataView_1.DataView, { activeState: "error" },
82
- react_1.default.createElement(DataViewTable_1.DataViewTable, { isTreeTable: true, "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, bodyStates: { error: "Some error" }, rows: [] })));
76
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DataView_1.DataView, { activeState: "error", children: (0, jsx_runtime_1.jsx)(DataViewTable_1.DataViewTable, { isTreeTable: true, "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, bodyStates: { error: "Some error" }, rows: [] }) }));
83
77
  expect(container).toMatchSnapshot();
84
78
  });
85
79
  test('should render tree table with a loading state', () => {
86
- const { container } = (0, react_2.render)(react_1.default.createElement(DataView_1.DataView, { activeState: "loading" },
87
- react_1.default.createElement(DataViewTable_1.DataViewTable, { isTreeTable: true, "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, bodyStates: { loading: "Data is loading" }, rows: [] })));
80
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DataView_1.DataView, { activeState: "loading", children: (0, jsx_runtime_1.jsx)(DataViewTable_1.DataViewTable, { isTreeTable: true, "aria-label": 'Repositories table', ouiaId: ouiaId, columns: columns, bodyStates: { loading: "Data is loading" }, rows: [] }) }));
88
81
  expect(container).toMatchSnapshot();
89
82
  });
90
83
  });
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { FC } from 'react';
2
2
  import { SearchInputProps, ToolbarFilterProps } from '@patternfly/react-core';
3
3
  /** extends SearchInputProps */
4
4
  export interface DataViewTextFilterProps extends SearchInputProps {
@@ -17,5 +17,5 @@ export interface DataViewTextFilterProps extends SearchInputProps {
17
17
  /** Custom OUIA ID */
18
18
  ouiaId?: string;
19
19
  }
20
- export declare const DataViewTextFilter: React.FC<DataViewTextFilterProps>;
20
+ export declare const DataViewTextFilter: FC<DataViewTextFilterProps>;
21
21
  export default DataViewTextFilter;
@@ -10,17 +10,13 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  }
11
11
  return t;
12
12
  };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
13
  Object.defineProperty(exports, "__esModule", { value: true });
17
14
  exports.DataViewTextFilter = void 0;
18
- const react_1 = __importDefault(require("react"));
15
+ const jsx_runtime_1 = require("react/jsx-runtime");
19
16
  const react_core_1 = require("@patternfly/react-core");
20
17
  const DataViewTextFilter = (_a) => {
21
18
  var { filterId, title, value = '', onChange, onClear = () => onChange === null || onChange === void 0 ? void 0 : onChange(undefined, ''), showToolbarItem, trimValue = true, ouiaId = 'DataViewTextFilter' } = _a, props = __rest(_a, ["filterId", "title", "value", "onChange", "onClear", "showToolbarItem", "trimValue", "ouiaId"]);
22
- return (react_1.default.createElement(react_core_1.ToolbarFilter, { key: ouiaId, "data-ouia-component-id": ouiaId, labels: value.length > 0 ? [{ key: title, node: value }] : [], deleteLabel: () => onChange === null || onChange === void 0 ? void 0 : onChange(undefined, ''), categoryName: title, showToolbarItem: showToolbarItem },
23
- react_1.default.createElement(react_core_1.SearchInput, Object.assign({ searchInputId: filterId, value: value, onChange: (e, inputValue) => onChange === null || onChange === void 0 ? void 0 : onChange(e, trimValue ? inputValue.trim() : inputValue), onClear: onClear, placeholder: `Filter by ${title}`, "aria-label": `${title !== null && title !== void 0 ? title : filterId} filter`, "data-ouia-component-id": `${ouiaId}-input` }, props))));
19
+ return ((0, jsx_runtime_1.jsx)(react_core_1.ToolbarFilter, { "data-ouia-component-id": ouiaId, labels: value.length > 0 ? [{ key: title, node: value }] : [], deleteLabel: () => onChange === null || onChange === void 0 ? void 0 : onChange(undefined, ''), categoryName: title, showToolbarItem: showToolbarItem, children: (0, jsx_runtime_1.jsx)(react_core_1.SearchInput, Object.assign({ searchInputId: filterId, value: value, onChange: (e, inputValue) => onChange === null || onChange === void 0 ? void 0 : onChange(e, trimValue ? inputValue.trim() : inputValue), onClear: onClear, placeholder: `Filter by ${title}`, "aria-label": `${title !== null && title !== void 0 ? title : filterId} filter`, "data-ouia-component-id": `${ouiaId}-input` }, props)) }, ouiaId));
24
20
  };
25
21
  exports.DataViewTextFilter = DataViewTextFilter;
26
22
  exports.default = exports.DataViewTextFilter;
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const react_2 = require("@testing-library/react");
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const react_1 = require("@testing-library/react");
8
8
  const DataViewTextFilter_1 = __importDefault(require("./DataViewTextFilter"));
9
9
  const DataViewToolbar_1 = __importDefault(require("../DataViewToolbar"));
10
10
  describe('DataViewTextFilter component', () => {
@@ -16,7 +16,7 @@ describe('DataViewTextFilter component', () => {
16
16
  onChange: mockOnChange,
17
17
  };
18
18
  it('should render correctly', () => {
19
- const { container } = (0, react_2.render)(react_1.default.createElement(DataViewToolbar_1.default, { filters: react_1.default.createElement(DataViewTextFilter_1.default, Object.assign({}, defaultProps)) }));
19
+ const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DataViewToolbar_1.default, { filters: (0, jsx_runtime_1.jsx)(DataViewTextFilter_1.default, Object.assign({}, defaultProps)) }));
20
20
  expect(container).toMatchSnapshot();
21
21
  });
22
22
  });
@@ -1,4 +1,4 @@
1
- import React, { PropsWithChildren } from 'react';
1
+ import { FC, PropsWithChildren } from 'react';
2
2
  import { ToolbarProps } from '@patternfly/react-core';
3
3
  /** extends ToolbarProps */
4
4
  export interface DataViewToolbarProps extends Omit<PropsWithChildren<ToolbarProps>, 'ref'> {
@@ -12,10 +12,12 @@ export interface DataViewToolbarProps extends Omit<PropsWithChildren<ToolbarProp
12
12
  pagination?: React.ReactNode;
13
13
  /** React node to display actions */
14
14
  actions?: React.ReactNode;
15
+ /** React node to display toggle group */
16
+ toggleGroup?: React.ReactNode;
15
17
  /** React node to display filters */
16
18
  filters?: React.ReactNode;
17
19
  /** React node to display custom filter labels */
18
20
  customLabelGroupContent?: React.ReactNode;
19
21
  }
20
- export declare const DataViewToolbar: React.FC<DataViewToolbarProps>;
22
+ export declare const DataViewToolbar: FC<DataViewToolbarProps>;
21
23
  export default DataViewToolbar;
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __rest = (this && this.__rest) || function (s, e) {
26
3
  var t = {};
27
4
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -35,19 +12,13 @@ var __rest = (this && this.__rest) || function (s, e) {
35
12
  };
36
13
  Object.defineProperty(exports, "__esModule", { value: true });
37
14
  exports.DataViewToolbar = void 0;
38
- const react_1 = __importStar(require("react"));
15
+ const jsx_runtime_1 = require("react/jsx-runtime");
16
+ const react_1 = require("react");
39
17
  const react_core_1 = require("@patternfly/react-core");
40
18
  const DataViewToolbar = (_a) => {
41
- var { className, ouiaId = 'DataViewToolbar', bulkSelect, actions, pagination, filters, customLabelGroupContent, clearAllFilters, children } = _a, props = __rest(_a, ["className", "ouiaId", "bulkSelect", "actions", "pagination", "filters", "customLabelGroupContent", "clearAllFilters", "children"]);
42
- const defaultClearFilters = (0, react_1.useRef)(react_1.default.createElement(react_core_1.ToolbarItem, null,
43
- react_1.default.createElement(react_core_1.Button, { ouiaId: `${ouiaId}-clear-all-filters`, variant: "link", onClick: clearAllFilters, isInline: true }, "Clear filters")));
44
- return (react_1.default.createElement(react_core_1.Toolbar, Object.assign({ ouiaId: ouiaId, className: className, customLabelGroupContent: customLabelGroupContent !== null && customLabelGroupContent !== void 0 ? customLabelGroupContent : defaultClearFilters.current }, props),
45
- react_1.default.createElement(react_core_1.ToolbarContent, null,
46
- bulkSelect && (react_1.default.createElement(react_core_1.ToolbarItem, { "data-ouia-component-id": `${ouiaId}-bulk-select` }, bulkSelect)),
47
- filters && (react_1.default.createElement(react_core_1.ToolbarItem, null, filters)),
48
- actions && (react_1.default.createElement(react_core_1.ToolbarItem, null, actions)),
49
- pagination && (react_1.default.createElement(react_core_1.ToolbarItem, { variant: react_core_1.ToolbarItemVariant.pagination, "data-ouia-component-id": `${ouiaId}-pagination` }, pagination)),
50
- children)));
19
+ var { className, ouiaId = 'DataViewToolbar', bulkSelect, actions, toggleGroup, pagination, filters, customLabelGroupContent, clearAllFilters, children } = _a, props = __rest(_a, ["className", "ouiaId", "bulkSelect", "actions", "toggleGroup", "pagination", "filters", "customLabelGroupContent", "clearAllFilters", "children"]);
20
+ const defaultClearFilters = (0, react_1.useRef)((0, jsx_runtime_1.jsx)(react_core_1.ToolbarItem, { children: (0, jsx_runtime_1.jsx)(react_core_1.Button, { ouiaId: `${ouiaId}-clear-all-filters`, variant: "link", onClick: clearAllFilters, isInline: true, children: "Clear filters" }) }));
21
+ return ((0, jsx_runtime_1.jsx)(react_core_1.Toolbar, Object.assign({ ouiaId: ouiaId, className: className, customLabelGroupContent: customLabelGroupContent !== null && customLabelGroupContent !== void 0 ? customLabelGroupContent : defaultClearFilters.current }, props, { children: (0, jsx_runtime_1.jsxs)(react_core_1.ToolbarContent, { children: [bulkSelect && ((0, jsx_runtime_1.jsx)(react_core_1.ToolbarItem, { "data-ouia-component-id": `${ouiaId}-bulk-select`, children: bulkSelect })), filters && ((0, jsx_runtime_1.jsx)(react_core_1.ToolbarItem, { children: filters })), actions && ((0, jsx_runtime_1.jsx)(react_core_1.ToolbarItem, { children: actions })), toggleGroup && ((0, jsx_runtime_1.jsx)(react_core_1.ToolbarItem, { children: toggleGroup })), pagination && ((0, jsx_runtime_1.jsx)(react_core_1.ToolbarItem, { variant: react_core_1.ToolbarItemVariant.pagination, "data-ouia-component-id": `${ouiaId}-pagination`, children: pagination })), children] }) })));
51
22
  };
52
23
  exports.DataViewToolbar = DataViewToolbar;
53
24
  exports.default = exports.DataViewToolbar;
@@ -3,12 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const react_2 = require("@testing-library/react");
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const react_1 = require("@testing-library/react");
8
8
  const DataViewToolbar_1 = __importDefault(require("./DataViewToolbar"));
9
9
  const react_core_1 = require("@patternfly/react-core");
10
10
  describe('DataViewToolbar component', () => {
11
11
  test('should render correctly', () => {
12
- expect((0, react_2.render)(react_1.default.createElement(DataViewToolbar_1.default, { pagination: react_1.default.createElement(react_core_1.Pagination, { page: 1, perPage: 10 }) }))).toMatchSnapshot();
12
+ expect((0, react_1.render)((0, jsx_runtime_1.jsx)(DataViewToolbar_1.default, { pagination: (0, jsx_runtime_1.jsx)(react_core_1.Pagination, { page: 1, perPage: 10 }) }))).toMatchSnapshot();
13
13
  });
14
14
  });
@@ -7,8 +7,8 @@ const useDataViewFilters = ({ initialFilters = {}, searchParams, setSearchParams
7
7
  const isUrlSyncEnabled = (0, react_1.useMemo)(() => searchParams && !!setSearchParams, [searchParams, setSearchParams]);
8
8
  const getInitialFilters = (0, react_1.useCallback)(() => isUrlSyncEnabled
9
9
  ? Object.keys(initialFilters).reduce((loadedFilters, key) => {
10
- const urlValue = searchParams === null || searchParams === void 0 ? void 0 : searchParams.get(key);
11
10
  const isArrayFilter = Array.isArray(initialFilters[key]);
11
+ const urlValue = isArrayFilter ? searchParams === null || searchParams === void 0 ? void 0 : searchParams.getAll(key) : searchParams === null || searchParams === void 0 ? void 0 : searchParams.get(key);
12
12
  // eslint-disable-next-line no-nested-ternary
13
13
  loadedFilters[key] = urlValue
14
14
  ? (isArrayFilter && !Array.isArray(urlValue) ? [urlValue] : urlValue)
@@ -42,6 +42,31 @@ describe('useDataViewFilters', () => {
42
42
  (0, react_1.act)(() => result.current.onSetFilters({ search: 'new search' }));
43
43
  expect(setSearchParams).toHaveBeenCalled();
44
44
  });
45
+ it('should sync with URL search params with non array value', () => {
46
+ const searchParams = new URLSearchParams();
47
+ searchParams.set('test', 'foo');
48
+ const setSearchParams = jest.fn();
49
+ const props = {
50
+ initialFilters: { test: '' },
51
+ searchParams,
52
+ setSearchParams,
53
+ };
54
+ const { result } = (0, react_1.renderHook)(() => (0, filters_1.useDataViewFilters)(props));
55
+ expect(result.current.filters).toEqual({ test: 'foo' });
56
+ });
57
+ it('should sync with URL search params with array value', () => {
58
+ const searchParams = new URLSearchParams();
59
+ searchParams.append('test', 'foo');
60
+ searchParams.append('test', 'bar');
61
+ const setSearchParams = jest.fn();
62
+ const props = {
63
+ initialFilters: { test: [] },
64
+ searchParams,
65
+ setSearchParams,
66
+ };
67
+ const { result } = (0, react_1.renderHook)(() => (0, filters_1.useDataViewFilters)(props));
68
+ expect(result.current.filters).toEqual({ test: ['foo', 'bar'] });
69
+ });
45
70
  it('should reset filters to default values when clearAllFilters is called', () => {
46
71
  const { result } = (0, react_1.renderHook)(() => (0, filters_1.useDataViewFilters)({ initialFilters }));
47
72
  (0, react_1.act)(() => result.current.clearAllFilters());
@@ -1,4 +1,4 @@
1
- import React, { PropsWithChildren } from 'react';
1
+ import { FC, PropsWithChildren } from 'react';
2
2
  import { DataViewState } from '../DataView';
3
3
  export interface DataViewSelection {
4
4
  /** Called when the selection of items changes */
@@ -19,8 +19,8 @@ export interface InternalContextValue extends InternalContextProps {
19
19
  /** Flag indicating if data view is selectable (auto-calculated) */
20
20
  isSelectable: boolean;
21
21
  }
22
- export declare const InternalContext: React.Context<InternalContextValue>;
22
+ export declare const InternalContext: import("react").Context<InternalContextValue>;
23
23
  export type InternalProviderProps = PropsWithChildren<InternalContextProps>;
24
- export declare const InternalContextProvider: React.FC<InternalProviderProps>;
24
+ export declare const InternalContextProvider: FC<InternalProviderProps>;
25
25
  export declare const useInternalContext: () => InternalContextValue;
26
26
  export default InternalContext;
@@ -1,30 +1,8 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.useInternalContext = exports.InternalContextProvider = exports.InternalContext = void 0;
27
- const react_1 = __importStar(require("react"));
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
28
6
  exports.InternalContext = (0, react_1.createContext)({
29
7
  selection: undefined,
30
8
  activeState: undefined,
@@ -32,7 +10,7 @@ exports.InternalContext = (0, react_1.createContext)({
32
10
  });
33
11
  const InternalContextProvider = ({ children, selection, activeState }) => {
34
12
  const isSelectable = (0, react_1.useMemo)(() => Boolean((selection === null || selection === void 0 ? void 0 : selection.onSelect) && (selection === null || selection === void 0 ? void 0 : selection.isSelected)), [selection === null || selection === void 0 ? void 0 : selection.onSelect, selection === null || selection === void 0 ? void 0 : selection.isSelected]);
35
- return (react_1.default.createElement(exports.InternalContext.Provider, { value: { selection, activeState, isSelectable } }, children));
13
+ return ((0, jsx_runtime_1.jsx)(exports.InternalContext.Provider, { value: { selection, activeState, isSelectable }, children: children }));
36
14
  };
37
15
  exports.InternalContextProvider = InternalContextProvider;
38
16
  const useInternalContext = () => (0, react_1.useContext)(exports.InternalContext);
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const react_2 = require("@testing-library/react");
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const react_1 = require("@testing-library/react");
8
5
  require("@testing-library/jest-dom");
9
6
  const InternalContext_1 = require("./InternalContext");
10
7
  const DataView_1 = require("../DataView");
@@ -17,25 +14,19 @@ describe('InternalContext', () => {
17
14
  test('should provide context value and allow consuming it', () => {
18
15
  const TestComponent = () => {
19
16
  const { selection } = (0, InternalContext_1.useInternalContext)();
20
- return (react_1.default.createElement("div", null,
21
- react_1.default.createElement("button", { onClick: () => selection === null || selection === void 0 ? void 0 : selection.onSelect(true, ['item1']) }, "Select item"),
22
- react_1.default.createElement("span", null, (selection === null || selection === void 0 ? void 0 : selection.isSelected('item1')) ? 'Selected' : 'Not selected')));
17
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("button", { onClick: () => selection === null || selection === void 0 ? void 0 : selection.onSelect(true, ['item1']), children: "Select item" }), (0, jsx_runtime_1.jsx)("span", { children: (selection === null || selection === void 0 ? void 0 : selection.isSelected('item1')) ? 'Selected' : 'Not selected' })] }));
23
18
  };
24
- const { getByText } = (0, react_2.render)(react_1.default.createElement(DataView_1.DataView, { selection: mockSelection },
25
- react_1.default.createElement(TestComponent, null)));
26
- react_2.fireEvent.click(getByText('Select item'));
19
+ const { getByText } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DataView_1.DataView, { selection: mockSelection, children: (0, jsx_runtime_1.jsx)(TestComponent, {}) }));
20
+ react_1.fireEvent.click(getByText('Select item'));
27
21
  expect(mockSelection.onSelect).toHaveBeenCalledWith(true, ['item1']);
28
22
  });
29
23
  test('should handle selection state correctly', () => {
30
24
  const mockSelectionState = Object.assign(Object.assign({}, mockSelection), { isSelected: jest.fn((item) => item === 'item1') });
31
25
  const TestComponent = () => {
32
26
  const { selection } = (0, InternalContext_1.useInternalContext)();
33
- return (react_1.default.createElement("div", null,
34
- react_1.default.createElement("span", null, (selection === null || selection === void 0 ? void 0 : selection.isSelected('item1')) ? 'Item 1 is selected' : 'Item 1 is not selected'),
35
- react_1.default.createElement("span", null, (selection === null || selection === void 0 ? void 0 : selection.isSelected('item2')) ? 'Item 2 is selected' : 'Item 2 is not selected')));
27
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (selection === null || selection === void 0 ? void 0 : selection.isSelected('item1')) ? 'Item 1 is selected' : 'Item 1 is not selected' }), (0, jsx_runtime_1.jsx)("span", { children: (selection === null || selection === void 0 ? void 0 : selection.isSelected('item2')) ? 'Item 2 is selected' : 'Item 2 is not selected' })] }));
36
28
  };
37
- const { getByText } = (0, react_2.render)(react_1.default.createElement(DataView_1.DataView, { selection: mockSelectionState },
38
- react_1.default.createElement(TestComponent, null)));
29
+ const { getByText } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DataView_1.DataView, { selection: mockSelectionState, children: (0, jsx_runtime_1.jsx)(TestComponent, {}) }));
39
30
  expect(getByText('Item 1 is selected')).toBeInTheDocument();
40
31
  expect(getByText('Item 2 is not selected')).toBeInTheDocument();
41
32
  });
@@ -44,12 +35,9 @@ describe('InternalContext', () => {
44
35
  const TestComponent = () => {
45
36
  var _a, _b;
46
37
  const { selection } = (0, InternalContext_1.useInternalContext)();
47
- return (react_1.default.createElement("div", null,
48
- react_1.default.createElement("span", null, ((_a = selection === null || selection === void 0 ? void 0 : selection.isSelectDisabled) === null || _a === void 0 ? void 0 : _a.call(selection, 'item3')) ? 'Item 3 is disabled' : 'Item 3 is enabled'),
49
- react_1.default.createElement("span", null, ((_b = selection === null || selection === void 0 ? void 0 : selection.isSelectDisabled) === null || _b === void 0 ? void 0 : _b.call(selection, 'item1')) ? 'Item 1 is disabled' : 'Item 1 is enabled')));
38
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: ((_a = selection === null || selection === void 0 ? void 0 : selection.isSelectDisabled) === null || _a === void 0 ? void 0 : _a.call(selection, 'item3')) ? 'Item 3 is disabled' : 'Item 3 is enabled' }), (0, jsx_runtime_1.jsx)("span", { children: ((_b = selection === null || selection === void 0 ? void 0 : selection.isSelectDisabled) === null || _b === void 0 ? void 0 : _b.call(selection, 'item1')) ? 'Item 1 is disabled' : 'Item 1 is enabled' })] }));
50
39
  };
51
- const { getByText } = (0, react_2.render)(react_1.default.createElement(DataView_1.DataView, { selection: mockSelectionWithDisabled },
52
- react_1.default.createElement(TestComponent, null)));
40
+ const { getByText } = (0, react_1.render)((0, jsx_runtime_1.jsx)(DataView_1.DataView, { selection: mockSelectionWithDisabled, children: (0, jsx_runtime_1.jsx)(TestComponent, {}) }));
53
41
  expect(getByText('Item 3 is disabled')).toBeInTheDocument();
54
42
  expect(getByText('Item 1 is enabled')).toBeInTheDocument();
55
43
  });