diff --git a/.changeset/tiny-cherries-deny.md b/.changeset/tiny-cherries-deny.md
new file mode 100644
index 000000000..c76bd80a6
--- /dev/null
+++ b/.changeset/tiny-cherries-deny.md
@@ -0,0 +1,5 @@
+---
+"saleor-dashboard": minor
+---
+
+Refactor product list datagrid to use useFilterPresets and useRowSelection hooks
diff --git a/src/products/components/ProductListDeleteButton/ProductListDeleteButton.test.tsx b/src/products/components/ProductListDeleteButton/ProductListDeleteButton.test.tsx
deleted file mode 100644
index 6e53a2da0..000000000
--- a/src/products/components/ProductListDeleteButton/ProductListDeleteButton.test.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-// @ts-strict-ignore
-import { render, screen } from "@testing-library/react";
-import userEvent from "@testing-library/user-event";
-import React from "react";
-
-import { ProductListDeleteButton } from "./ProductListDeleteButton";
-
-jest.mock("react-intl", () => ({
- FormattedMessage: ({ defaultMessage }) => <>{defaultMessage}>,
-}));
-
-describe("ProductListDeleteButton", () => {
- it("should return null when show is equal false", () => {
- // Arrange & Act
- const { container } = render(
- ,
- );
-
- // Assert
- expect(container).toBeEmptyDOMElement();
- });
-
- it("should render button", async () => {
- // Arrange & Act
- render();
-
- // Assert
- expect(screen.getByRole("button")).toBeInTheDocument();
- });
-
- it("should fire callback on click", async () => {
- // Arrange
- const onClick = jest.fn();
-
- // Act
- render();
- await userEvent.click(screen.getByRole("button"));
-
- // Assert
- expect(onClick).toHaveBeenCalled();
- });
-});
diff --git a/src/products/components/ProductListDeleteButton/ProductListDeleteButton.tsx b/src/products/components/ProductListDeleteButton/ProductListDeleteButton.tsx
index 41026fd51..9d2cb0b8e 100644
--- a/src/products/components/ProductListDeleteButton/ProductListDeleteButton.tsx
+++ b/src/products/components/ProductListDeleteButton/ProductListDeleteButton.tsx
@@ -1,5 +1,5 @@
import { Button, Tooltip, TrashBinIcon } from "@saleor/macaw-ui/next";
-import React, { forwardRef } from "react";
+import React, { forwardRef, useState } from "react";
import { FormattedMessage } from "react-intl";
interface ProductListDeleteButtonProps {
@@ -11,15 +11,23 @@ export const ProductListDeleteButton = forwardRef<
HTMLButtonElement,
ProductListDeleteButtonProps
>(({ onClick, show = false }, ref) => {
+ const [isTooltipOpen, setIsTooltipOpen] = useState(false);
+
if (!show) {
return null;
}
return (
-
+