import { FunnelIcon } from "@phosphor-icons/react"; import type { Meta, StoryObj } from "@storybook/react-vite"; import { useEffect, useRef, useState } from "react"; import { Button, Dialog, Field, Flex, Heading, Prose } from "../react"; import styles from "../styles.module.css"; const meta = { title: "Designsystem/Dialog", } satisfies Meta; export default meta; type Story = StoryObj; const LOREM_IPSUM = ( <>

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada eget risus nec viverra. Nam dapibus nec arcu in tristique. Fusce varius urna odio, vel bibendum odio imperdiet eget. Aliquam consectetur arcu mi, quis elementum mi convallis a. Sed venenatis nec enim vel molestie. Vestibulum nec auctor ligula. Nunc id sollicitudin ligula. Fusce interdum quam posuere augue fringilla, dignissim convallis ex suscipit.

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Aliquam commodo bibendum risus non luctus. Etiam molestie lectus commodo quam ornare posuere. Vestibulum aliquam viverra ligula non ultricies. Pellentesque eu bibendum nibh, vel vestibulum tortor. Duis rutrum metus sed dictum sagittis. Vivamus in arcu sed neque cursus condimentum. Praesent vel turpis malesuada, ullamcorper justo et, facilisis neque. In ex enim, semper sed sapien sit amet, mollis laoreet mi. Fusce vitae bibendum nulla, in condimentum tortor.

); export const Default: Story = { render: () => ( <>

Eksempeldialog

{LOREM_IPSUM}
), }; export const React: Story = { render: function Render() { return ( <> ); }, }; export const ReactWithState: Story = { render: function Render() { const dialogRef = useRef(null); const [open, setOpen] = useState(false); useEffect(() => { dialogRef.current?.[open ? "showModal" : "close"](); }, [open]); return ( <> setOpen(false)}> ); }, }; export const WithClose: Story = { render: () => ( <>

Eksempeldialog

Dialog content here

), }; export const WithBackdropClose: Story = { render: () => ( <>

Eksempeldialog

Klikk på utsiden for å lukke
), }; export const WithStickyFooter: Story = { render: () => ( <>

Vilkår

{LOREM_IPSUM} {LOREM_IPSUM} {LOREM_IPSUM} {LOREM_IPSUM} {LOREM_IPSUM}
), }; export const WithoutBackdrop: Story = { render: function Render() { const [open, setOpen] = useState(false); return ( <> setOpen(false)} id="my-nonmodal-dialog" open={open} > ); }, }; export const VariantDrawer: Story = { render: function Render() { return ( <> ); }, }; const options = Array.from({ length: 25 }, (_, i) => ({ label: `Alternativ ${i + 1}`, value: `${i}`, })); export const VariantDrawerWithoutBackdrop: Story = { render: function Render() { const [open, setOpen] = useState(false); return ( <> setOpen(false)} > ); }, }; export const DeprecatedDefault: Story = { tags: ["!dev"], render: function Render() { const [open, setOpen] = useState(false); return ( <> setOpen(false)} open={open} >

Eksempeldialog

{LOREM_IPSUM}
); }, };