import React, { useId, type ReactNode } from 'react' import classnames from 'classnames' import { FieldGroup } from '~components/FieldGroup' import { InputRange, type InputRangeProps } from '~components/Input/InputRange' import { Label } from '~components/Label' import { Text } from '~components/Text' import styles from './Slider.module.css' export type SliderFieldProps = { id?: string labelText: ReactNode description?: ReactNode labelPosition?: 'inline' | 'block' variant?: 'default' | 'prominent' disabled?: boolean readOnlyMessage?: ReactNode } & Omit /** * {@link https://cultureamp.atlassian.net/wiki/spaces/DesignSystem/pages/3081896335/Slider Guidance} | * {@link https://cultureamp.design/?path=/docs/components-slider--docs Storybook} */ export const Slider = ({ id: propsId, labelText, description, labelPosition = 'inline', variant = 'default', disabled, readOnlyMessage, ...restProps }: SliderFieldProps): JSX.Element => { const fallbackId = useId() const id = propsId ?? fallbackId const descriptionId = `${id}-description` return (
{description && ( {description} )}
{readOnlyMessage &&
{readOnlyMessage}
}
) } Slider.displayName = 'Slider'