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]
};