import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l,u}from"./blocks-DsN3hykK.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-CdXPOrRW.js";import{Disabled as p,MonthsIndexMarks as m,RangeMonthToDaysOutput as h,RangeOpenMonthToDaysOutput as g,RangeOpenWithoutExplicitMiddleOutput as _,RangePlain as v,SingleStep as y,SingleWithMarks as b,n as x,t as S}from"./Slider.stories-Cj9sU7k1.js";function C(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(a,{of:S,parameters:{docs:{toc:!0}}}),`
`,(0,T.jsx)(c,{children:`Slider`}),`
`,(0,T.jsx)(i,{children:`Компактные single и range слайдеры с marks, tooltip и открытыми границами`}),`
`,(0,T.jsxs)(o.p,{children:[(0,T.jsx)(o.code,{children:`Slider`}),` и `,(0,T.jsx)(o.code,{children:`SliderRange`}),` — отдельные публичные компоненты. Оба используют общую числовую шкалу, но не смешивают single/range через prop.`]}),`
`,(0,T.jsxs)(o.ul,{children:[`
`,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`Slider`}),` возвращает одно finite-число;`]}),`
`,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`SliderRange`}),` возвращает `,(0,T.jsx)(o.code,{children:`[number | null, number | null]`}),`;`]}),`
`,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`null`}),` в range означает открытую границу;`]}),`
`,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`marks`}),` всегда задают snap-домен;`]}),`
`,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`marksPosition="index"`}),` размещает marks с равным визуальным шагом.`]}),`
`]}),`
`,(0,T.jsx)(o.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
`,(0,T.jsx)(u,{}),`
`,(0,T.jsx)(n,{of:y}),`
`,(0,T.jsx)(o.pre,{children:(0,T.jsx)(o.code,{className:`language-tsx`,children:`import { useState } from "react";

import { Slider } from "@/shared/ui";

export function Example() {
	const [value, setValue] = useState<number | undefined>(35);

	return <Slider label="Громкость" min={0} max={100} step={5} value={value} onChange={setValue} />;
}
`})}),`
`,(0,T.jsx)(o.h2,{id:`range-с-открытой-границей`,children:`Range с открытой границей`}),`
`,(0,T.jsx)(o.pre,{children:(0,T.jsx)(o.code,{className:`language-tsx`,children:`import { useState } from "react";

import { SliderRange, type SliderRangeValue } from "@/shared/ui";

const marks = [
	{ value: 0, label: "До 3 мес.", outputValue: null },
	{ value: 3, label: "3 мес." },
	{ value: 6, label: "6 мес." },
	{ value: 24, label: "От 24 мес.", outputValue: null }
] as const;

export function Example() {
	const [value, setValue] = useState<SliderRangeValue | undefined>([null, 6]);

	return <SliderRange label="Период" min={0} max={24} marks={marks} marksPosition="index" value={value} onChange={setValue} />;
}
`})}),`
`,(0,T.jsx)(o.h2,{id:`сценарии-использования`,children:`Сценарии использования`}),`
`,(0,T.jsx)(o.h3,{id:`single-со-step`,children:`Single со step`}),`
`,(0,T.jsx)(l,{of:y}),`
`,(0,T.jsx)(o.h3,{id:`single-с-compact-marks`,children:`Single с compact marks`}),`
`,(0,T.jsx)(l,{of:b}),`
`,(0,T.jsx)(o.h3,{id:`равные-расстояния-между-неравномерными-значениями`,children:`Равные расстояния между неравномерными значениями`}),`
`,(0,T.jsx)(l,{of:m}),`
`,(0,T.jsx)(o.h3,{id:`range-без-outputvalue`,children:`Range без outputValue`}),`
`,(0,T.jsx)(l,{of:v}),`
`,(0,T.jsx)(o.h3,{id:`range-с-открытыми-границами-без-outputvalue-у-обычных-marks`,children:`Range с открытыми границами без outputValue у обычных marks`}),`
`,(0,T.jsx)(l,{of:_}),`
`,(0,T.jsx)(o.h3,{id:`range-с-outputvalue-месяцы-на-шкале-дни-в-фильтре`,children:`Range с outputValue: месяцы на шкале, дни в фильтре`}),`
`,(0,T.jsx)(l,{of:h}),`
`,(0,T.jsx)(o.h3,{id:`range-с-outputvalue-и-открытыми-границами`,children:`Range с outputValue и открытыми границами`}),`
`,(0,T.jsx)(l,{of:g}),`
`,(0,T.jsx)(o.h3,{id:`disabled`,children:`Disabled`}),`
`,(0,T.jsx)(l,{of:p}),`
`,(0,T.jsx)(o.h2,{id:`api`,children:`API`}),`
`,(0,T.jsx)(s,{of:S}),`
`,(0,T.jsx)(o.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
`,(0,T.jsx)(r,{includePrimary:!1})]})}function w(e={}){let{wrapper:n}={...t(),...e.components};return n?(0,T.jsx)(n,{...e,children:(0,T.jsx)(C,{...e})}):C(e)}var T;e((()=>{T=d(),f(),o(),x()}))();export{w as default};