diff --git a/package-lock.json b/package-lock.json index 48b22cbd..2a06bcbe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5576,9 +5576,9 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "18.3.22", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.22.tgz", - "integrity": "sha512-vUhG0YmQZ7kL/tmKLrD3g5zXbXXreZXB3pmROW8bg3CnLnpjkRVwUlLne7Ufa2r9yJ8+/6B73RzhAek5TBKh2Q==", + "version": "18.3.23", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz", + "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==", "dev": true, "license": "MIT", "dependencies": { @@ -5587,10 +5587,11 @@ } }, "node_modules/@types/react-dom": { - "version": "18.3.5", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", - "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", "dev": true, + "license": "MIT", "peerDependencies": { "@types/react": "^18.0.0" } @@ -22279,9 +22280,9 @@ "license": "MIT" }, "node_modules/react-router": { - "version": "6.30.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.0.tgz", - "integrity": "sha512-D3X8FyH9nBcTSHGdEKurK7r8OYE1kKFn3d/CF+CoxbSHkxU7o37+Uh7eAHRXr6k2tSExXYO++07PeXJtA/dEhQ==", + "version": "6.30.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.1.tgz", + "integrity": "sha512-X1m21aEmxGXqENEPG3T6u0Th7g0aS4ZmoNynhbs+Cn+q+QGTLt+d5IQ2bHAXKzKcxGJjxACpVbnYQSCRcfxHlQ==", "dev": true, "license": "MIT", "dependencies": { @@ -22295,14 +22296,14 @@ } }, "node_modules/react-router-dom": { - "version": "6.30.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.0.tgz", - "integrity": "sha512-x30B78HV5tFk8ex0ITwzC9TTZMua4jGyA9IUlH1JLQYQTFyxr/ZxwOJq7evg1JX1qGVUcvhsmQSKdPncQrjTgA==", + "version": "6.30.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.1.tgz", + "integrity": "sha512-llKsgOkZdbPU1Eg3zK8lCn+sjD9wMRZZPuzmdWWX5SUs8OFkN5HnFVC0u5KMeMaC9aoancFI/KoLuKPqN+hxHw==", "dev": true, "license": "MIT", "dependencies": { "@remix-run/router": "1.23.0", - "react-router": "6.30.0" + "react-router": "6.30.1" }, "engines": { "node": ">=14.0.0" @@ -26353,9 +26354,9 @@ "license": "MIT" }, "node_modules/typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -28778,15 +28779,15 @@ "@patternfly/patternfly": "^6.0.0", "@patternfly/patternfly-a11y": "^5.1.0", "@patternfly/react-code-editor": "^6.0.0", - "@types/react": "^18.3.21", - "@types/react-dom": "^18.3.5", + "@types/react": "^18.3.23", + "@types/react-dom": "^18.3.7", "@types/react-router-dom": "^5.3.3", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-router": "^6.30.0", - "react-router-dom": "^6.30.0", + "react-router": "^6.30.1", + "react-router-dom": "^6.30.1", "rimraf": "^6.0.1", - "typescript": "^5.4.5" + "typescript": "^5.8.3" }, "peerDependencies": { "react": "^17 || ^18", @@ -31685,17 +31686,17 @@ "@patternfly/react-core": "^6.0.0", "@patternfly/react-icons": "^6.0.0", "@patternfly/react-table": "^6.0.0", - "@types/react": "^18.3.21", - "@types/react-dom": "^18.3.5", + "@types/react": "^18.3.23", + "@types/react-dom": "^18.3.7", "@types/react-router-dom": "^5.3.3", "clsx": "^2.1.1", "react": "^18.3.1", "react-dom": "^18.3.1", "react-jss": "^10.10.0", - "react-router": "^6.30.0", - "react-router-dom": "^6.30.0", + "react-router": "^6.30.1", + "react-router-dom": "^6.30.1", "rimraf": "^6.0.1", - "typescript": "^5.4.5" + "typescript": "^5.8.3" } }, "@patternfly/react-icons": { @@ -32546,9 +32547,9 @@ "dev": true }, "@types/react": { - "version": "18.3.22", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.22.tgz", - "integrity": "sha512-vUhG0YmQZ7kL/tmKLrD3g5zXbXXreZXB3pmROW8bg3CnLnpjkRVwUlLne7Ufa2r9yJ8+/6B73RzhAek5TBKh2Q==", + "version": "18.3.23", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz", + "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==", "dev": true, "requires": { "@types/prop-types": "*", @@ -32556,9 +32557,9 @@ } }, "@types/react-dom": { - "version": "18.3.5", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", - "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", "dev": true, "requires": {} }, @@ -44185,22 +44186,22 @@ "dev": true }, "react-router": { - "version": "6.30.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.0.tgz", - "integrity": "sha512-D3X8FyH9nBcTSHGdEKurK7r8OYE1kKFn3d/CF+CoxbSHkxU7o37+Uh7eAHRXr6k2tSExXYO++07PeXJtA/dEhQ==", + "version": "6.30.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.1.tgz", + "integrity": "sha512-X1m21aEmxGXqENEPG3T6u0Th7g0aS4ZmoNynhbs+Cn+q+QGTLt+d5IQ2bHAXKzKcxGJjxACpVbnYQSCRcfxHlQ==", "dev": true, "requires": { "@remix-run/router": "1.23.0" } }, "react-router-dom": { - "version": "6.30.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.0.tgz", - "integrity": "sha512-x30B78HV5tFk8ex0ITwzC9TTZMua4jGyA9IUlH1JLQYQTFyxr/ZxwOJq7evg1JX1qGVUcvhsmQSKdPncQrjTgA==", + "version": "6.30.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.1.tgz", + "integrity": "sha512-llKsgOkZdbPU1Eg3zK8lCn+sjD9wMRZZPuzmdWWX5SUs8OFkN5HnFVC0u5KMeMaC9aoancFI/KoLuKPqN+hxHw==", "dev": true, "requires": { "@remix-run/router": "1.23.0", - "react-router": "6.30.0" + "react-router": "6.30.1" } }, "react-ssr-prepass": { @@ -47058,9 +47059,9 @@ "dev": true }, "typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true }, "uglify-js": { diff --git a/packages/module/package.json b/packages/module/package.json index 9b9ddb23..29bea33d 100644 --- a/packages/module/package.json +++ b/packages/module/package.json @@ -47,14 +47,14 @@ "@patternfly/patternfly": "^6.0.0", "@patternfly/react-code-editor": "^6.0.0", "@patternfly/patternfly-a11y": "^5.1.0", - "@types/react": "^18.3.21", - "@types/react-dom": "^18.3.5", + "@types/react": "^18.3.23", + "@types/react-dom": "^18.3.7", "@types/react-router-dom": "^5.3.3", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-router": "^6.30.0", - "react-router-dom": "^6.30.0", + "react-router": "^6.30.1", + "react-router-dom": "^6.30.1", "rimraf": "^6.0.1", - "typescript": "^5.4.5" + "typescript": "^5.8.3" } } diff --git a/packages/module/src/DataViewFilters/DataViewFilters.test.tsx b/packages/module/src/DataViewFilters/DataViewFilters.test.tsx index 9f9cb5a9..cd5bb836 100644 --- a/packages/module/src/DataViewFilters/DataViewFilters.test.tsx +++ b/packages/module/src/DataViewFilters/DataViewFilters.test.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { render } from '@testing-library/react'; +import { render, fireEvent } from '@testing-library/react'; import DataViewFilters from './DataViewFilters'; import DataViewToolbar from '../DataViewToolbar'; import DataViewTextFilter from '../DataViewTextFilter'; @@ -18,4 +18,22 @@ describe('DataViewFilters component', () => { />); expect(container).toMatchSnapshot(); }); + + it('should call onChange with correct key and value when filter changes', () => { + const mockOnChange = jest.fn(); + const { getByLabelText } = render( + + + + + } + /> + ); + const input = getByLabelText('One filter'); + input.focus(); + fireEvent.input(input, { target: { value: 'abc' } }); + expect(mockOnChange).toHaveBeenCalledWith('one', { one: 'abc' }); + }); }); diff --git a/packages/module/src/DataViewFilters/DataViewFilters.tsx b/packages/module/src/DataViewFilters/DataViewFilters.tsx index addc63fa..5a8ce29f 100644 --- a/packages/module/src/DataViewFilters/DataViewFilters.tsx +++ b/packages/module/src/DataViewFilters/DataViewFilters.tsx @@ -130,7 +130,7 @@ export const DataViewFilters = ({ value: unknown; }>, { showToolbarItem: activeAttributeMenu === child.props.title, - onChange: (event, value) => onChange?.(event, { [child.props.filterId]: value } as Partial), + onChange: (event, value) => onChange?.(child.props.filterId, { [child.props.filterId]: value } as Partial), value: values?.[child.props.filterId], ...child.props })