diff --git a/src/components/Button/button.module.scss b/src/components/Button/button.module.scss index 82575f9..a66e649 100644 --- a/src/components/Button/button.module.scss +++ b/src/components/Button/button.module.scss @@ -9,7 +9,6 @@ $root: button; height: var(--button-height, 34px); border-radius: var(--button-border-radius, 10px); padding: var(--button-padding, 0 16px); - will-change: background, color, transform; transition: color var(--button-speed-color, var(--speed-color)), background var(--button-speed-bg, var(--speed-color)), diff --git a/src/components/Popover/Popover.stories.tsx b/src/components/Popover/Popover.stories.tsx new file mode 100644 index 0000000..be2137a --- /dev/null +++ b/src/components/Popover/Popover.stories.tsx @@ -0,0 +1,128 @@ +import React from "react"; +import {Meta, StoryObj} from "@storybook/react"; + +import { + Popover as PopoverComponent, + PopoverAnchor, + PopoverContent, + PopoverContentProps, + PopoverProps, + PopoverTrigger, + PopoverTriggerProps, +} from "./index"; + +import {TextArea, TextField} from "../index"; + +type Props = PopoverProps & + PopoverContentProps & + PopoverTriggerProps & { + withAnchor: boolean; + triggerWidth: number; + }; + +const meta: Meta = { + title: "Components/Popover", + component: PopoverComponent, + tags: ["autodocs"], + argTypes: { + // Root + modal: {table: {category: "Root"}}, + + // Trigger + center: {table: {category: "Trigger"}}, + + // Content + side: { + options: ["top", "right", "bottom", "left"], + control: {type: "select"}, + table: {category: "Content"}, + }, + align: { + options: ["start", "center", "end"], + control: {type: "select"}, + table: {category: "Content"}, + }, + sticky: { + options: ["partial", "always"], + control: {type: "select"}, + table: {category: "Content"}, + }, + alignOffset: {table: {category: "Content"}}, + sideOffset: {table: {category: "Content"}}, + minWidth: {table: {category: "Content"}, control: {type: "number"}}, + maxWidth: {table: {category: "Content"}, control: {type: "number"}}, + fullWidth: {table: {category: "Content"}}, + overlay: {table: {category: "Content"}}, + avoidCollisions: {table: {category: "Content"}}, + collisionPadding: {table: {category: "Content"}}, + hideWhenDetached: {table: {category: "Content"}}, + arrow: {table: {category: "Content"}}, + arrowWidth: {table: {category: "Content"}}, + arrowHeight: {table: {category: "Content"}}, + + // Storybook view + withAnchor: {table: {category: "Storybook_view"}}, + triggerWidth: {table: {category: "Storybook_view"}, control: {type: "number"}}, + }, +}; + +export default meta; + +export const Popover: StoryObj = { + args: { + modal: false, + + center: false, + + side: "bottom", + sideOffset: 10, + align: "center", + alignOffset: 0, + minWidth: undefined, + maxWidth: undefined, + fullWidth: false, + overlay: true, + avoidCollisions: true, + collisionPadding: 0, + sticky: "partial", + hideWhenDetached: false, + arrow: true, + arrowWidth: 10, + arrowHeight: 5, + + withAnchor: false, + triggerWidth: undefined, + }, + render: args => { + const {modal, center, withAnchor, triggerWidth, ...other} = args; + + return ( + + + Open Popover + {withAnchor && } + + + +
+ {["Name", "Surname", "Age"].map(item => ( +
+ +
+ +
+
+ ))} +