import type { Meta, StoryObj } from "@storybook/react";
import { Box, Nav } from "../../../components";
import data from "./__mock__.json";
// @ts-ignore
import Arrow from "../../../assets/icons/chevron.svg";
import SubArrow from "../../../assets/icons/zhaArrow.svg";
import {
navItemAnimations,
navPanelAnimations,
navPanelWrapperAnimations,
navImageAnimations,
} from "../../../theme/animations";
const buttonHover = {
variants: {
inactive: {
x: 0,
},
hovered: {
x: 10,
},
},
};
const IconHolder = (
);
const SubIconHolder = (
);
const meta: Meta = {
component: Nav as any,
tags: ["autodocs"],
parameters: {
mode: "dark",
nextjs: {
appDirectory: true,
},
},
argTypes: {
direction: {
options: ["row", "column"],
control: {
type: "select",
},
},
persistOn: {
options: ["all", "hover", "click"],
control: {
type: "select",
},
},
attach: {
options: ["bottom", "right", null],
control: {
type: "select",
},
},
},
args: {
direction: "row",
},
};
export default meta;
type Story = StoryObj;
export const HorizontalDropdownNav: Story = {
args: {
data,
persistOn: "hover",
attach: ["inherit", "right"],
direction: "row",
itemIcons: {
iconPost: IconHolder,
subIconPost: SubIconHolder,
},
navItemAnimations,
navPanelAnimations,
navPanelWrapperAnimations,
navImageAnimations,
textStyles: {
mainNav: "i-xs",
subNav: "p-sm",
},
},
};
export const HorizontalMegaNavWithColumns: Story = {
args: {
data,
persistOn: "hover",
direction: "row",
itemsPerColumn: 4,
variant: "meganav",
itemIcons: {
iconPost: IconHolder,
subIconPost: SubIconHolder,
},
navItemAnimations,
navPanelAnimations,
navPanelWrapperAnimations,
navImageAnimations,
textStyles: {
mainNav: "i-xs",
subNav: "p-sm",
},
},
};
export const AccordionNav: Story = {
args: {
data,
persistOn: "click",
direction: "column",
itemIcons: {
iconPost: IconHolder,
subIconPost: SubIconHolder,
},
className: "w-[30rem]",
navItemAnimations,
navPanelAnimations,
navPanelWrapperAnimations,
navImageAnimations,
},
};
export const FlyoutNav: Story = {
args: {
data,
persistOn: "hover",
direction: "column",
attach: ["right", "right"],
itemIcons: {
iconPost: IconHolder,
subIconPost: SubIconHolder,
},
className: "w-[30rem]",
navItemAnimations,
navPanelAnimations,
navPanelWrapperAnimations,
navImageAnimations,
},
};