import { expect, fn, userEvent, waitFor, within } from "storybook/test"; import type { Meta, StoryObj } from "@storybook/react-vite"; import { BackpackRegularIcon } from "alouette-icons/phosphor-icons/Backpack"; import { BellRegularIcon } from "alouette-icons/phosphor-icons/Bell"; import { BinocularsRegularIcon } from "alouette-icons/phosphor-icons/Binoculars"; import { BirdRegularIcon } from "alouette-icons/phosphor-icons/Bird"; import { CalendarBlankRegularIcon } from "alouette-icons/phosphor-icons/CalendarBlank"; import { ChartBarRegularIcon } from "alouette-icons/phosphor-icons/ChartBar"; import { DownloadSimpleRegularIcon } from "alouette-icons/phosphor-icons/DownloadSimple"; import { FeatherRegularIcon } from "alouette-icons/phosphor-icons/Feather"; import { GearRegularIcon } from "alouette-icons/phosphor-icons/Gear"; import { MagnifyingGlassRegularIcon } from "alouette-icons/phosphor-icons/MagnifyingGlass"; import { MapPinRegularIcon } from "alouette-icons/phosphor-icons/MapPin"; import { MapTrifoldRegularIcon } from "alouette-icons/phosphor-icons/MapTrifold"; import { SignOutRegularIcon } from "alouette-icons/phosphor-icons/SignOut"; import { SquaresFourRegularIcon } from "alouette-icons/phosphor-icons/SquaresFour"; import { UserCircleRegularIcon } from "alouette-icons/phosphor-icons/UserCircle"; import { UsersRegularIcon } from "alouette-icons/phosphor-icons/Users"; import type { ReactNode } from "react"; import { IconButton } from "../actions/IconButton"; import { MenuItem } from "../actions/MenuItem"; import { Select } from "../inputs/Select"; import { SidebarNav } from "../navigation/SidebarNav"; import { SidebarNavItem } from "../navigation/SidebarNavItem"; import { SidebarNavSection } from "../navigation/SidebarNavSection"; import { Text } from "../primitives/Text"; import { View } from "../primitives/View"; import { Separator } from "../stacks/Separator"; import { Story } from "../story-components/Story"; import { AppHeaderBrand } from "./AppHeaderBrand"; import { AppSidebar } from "./AppSidebar"; import { AppSidebarAccount } from "./AppSidebarAccount"; import { BrandLogo } from "./BrandLogo"; type ThisStory = StoryObj; export default { title: "alouette/Layout/AppSidebar", component: AppSidebar, parameters: { componentSubtitle: "The column an AppSidebarLayout puts beside the screen: brand and actions, workspace switchers, the navigation and the account. Top and bottom are pinned, the navigation scrolls.", docs: { description: { component: `### Composition ~~~tsx } title="Alouette" />} actions={} header={ } options={[ { label: "Field Ornithology Club", value: "field-ornithology" }, { label: "Coastal Watchers", value: "coastal-watchers" }, ]} defaultValue="field-ornithology" onValueChange={fn()} />