import React from "react"; import { createComponentTemplate, VerticalStories } from "vibe-storybook-components"; import { createStoryMetaSettingsDecorator } from "../../../storybook"; import Slider from "../Slider"; import Chips from "../../Chips/Chips"; import { Sound, Video } from "../../Icon/Icons"; import "./Slider.stories.scss"; const argTypes = createStoryMetaSettingsDecorator({ component: Slider, enumPropNamesArray: ["color", "size"] }); export default { title: "Inputs/Slider", component: Slider, argTypes: argTypes }; const sliderTemplate = createComponentTemplate(Slider); export const Overview = { render: sliderTemplate.bind({}), parameters: { docs: { liveEdit: { isEnabled: false } } } }; export const Sizes = { render: () => ( <> ) }; export const Ranged = { render: () => ( <> ) // TODO storybook 7 migration: interactive test isn't working correctly // play: rangedSliderMouseEventsPlaySuite }; export const Colors = { render: () => ( <> ) }; export const Disabled = { render: () => ( <> ) }; export const WithLabels = { render: () => ( <> ), decorators: [VerticalStories], parameters: { docs: { liveEdit: { scope: { Sound, Video } } } } }; export const ShowValue = { render: () => ( <> ) // TODO storybook 7 migration: interactive test isn't working correctly // play: nonRangedSliderMouseEventsPlaySuite }; export const LimitsSteps = { render: () => ( <> ), name: "Limits, Steps", decorators: [VerticalStories] }; export const Customisation = { render: () => ( <> `${value}GB`} prefix="Custom value formatter" size={Slider.sizes.MEDIUM} /> `${value} meter/hour`} prefix="Long value formatter" size={Slider.sizes.MEDIUM} /> } postfix={(value, valueText) => { // set css: .my-slider-wide { max-width: none } return {`RenderProps: ${valueText} (${value}) `}; }} size={Slider.sizes.MEDIUM} /> ), decorators: [VerticalStories] };