+ {steps.map((step, stepIndex) => (
+
step.value === currentStep) >= stepIndex
+ })}
+ >
+
+ {step.label}
+
+
+ ))}
+
+ );
+};
+
+ProductVariantCreateTabs.displayName = "ProductVariantCreateTabs";
+export default ProductVariantCreateTabs;
diff --git a/src/products/components/ProductVariantCreateDialog/ProductVariantCreateValues.tsx b/src/products/components/ProductVariantCreateDialog/ProductVariantCreateValues.tsx
new file mode 100644
index 000000000..84327bfd5
--- /dev/null
+++ b/src/products/components/ProductVariantCreateDialog/ProductVariantCreateValues.tsx
@@ -0,0 +1,64 @@
+import { Theme } from "@material-ui/core/styles";
+import Typography from "@material-ui/core/Typography";
+import makeStyles from "@material-ui/styles/makeStyles";
+import React from "react";
+
+import ControlledCheckbox from "@saleor/components/ControlledCheckbox";
+import Hr from "@saleor/components/Hr";
+import Skeleton from "@saleor/components/Skeleton";
+import { maybe } from "@saleor/misc";
+import { ProductDetails_product_productType_variantAttributes } from "@saleor/products/types/ProductDetails";
+import { isSelected } from "@saleor/utils/lists";
+import { ProductVariantCreateFormData } from "./form";
+
+export interface ProductVariantCreateValuesProps {
+ attributes: ProductDetails_product_productType_variantAttributes[];
+ data: ProductVariantCreateFormData;
+ onValueClick: (id: string) => void;
+}
+
+const useStyles = makeStyles((theme: Theme) => ({
+ hr: {
+ marginBottom: theme.spacing.unit,
+ marginTop: theme.spacing.unit / 2
+ },
+ valueContainer: {
+ display: "grid",
+ gridColumnGap: theme.spacing.unit * 3 + "px",
+ gridTemplateColumns: "repeat(3, 1fr)",
+ marginBottom: theme.spacing.unit * 3
+ }
+}));
+
+const ProductVariantCreateValues: React.FC<
+ ProductVariantCreateValuesProps
+> = props => {
+ const { attributes, data, onValueClick } = props;
+ const classes = useStyles(props);
+
+ return (
+ <>
+ {attributes.map(attribute => (
+ <>
+