import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./iframe-CMLjY6eW.js";import{E as n,a as r,d as i,f as a,l as o,m as s,n as c,p as l,r as u,u as d}from"./blocks-D3IlvJMm.js";import{t as f}from"./mdx-react-shim-DzMf9EAg.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-xyE0ag0o.js";function C(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(o,{of:S,parameters:{docs:{toc:!0}}}),`
`,(0,T.jsx)(l,{children:`Slider`}),`
`,(0,T.jsx)(a,{children:`Компактные single и range слайдеры с marks, tooltip и открытыми границами`}),`
`,(0,T.jsxs)(t.p,{children:[(0,T.jsx)(t.code,{children:`Slider`}),` и `,(0,T.jsx)(t.code,{children:`SliderRange`}),` — отдельные публичные компоненты. Оба используют общую числовую шкалу, но не смешивают single/range через prop.`]}),`
`,(0,T.jsxs)(t.ul,{children:[`
`,(0,T.jsxs)(t.li,{children:[(0,T.jsx)(t.code,{children:`Slider`}),` возвращает одно finite-число;`]}),`
`,(0,T.jsxs)(t.li,{children:[(0,T.jsx)(t.code,{children:`SliderRange`}),` возвращает `,(0,T.jsx)(t.code,{children:`[number | null, number | null]`}),`;`]}),`
`,(0,T.jsxs)(t.li,{children:[(0,T.jsx)(t.code,{children:`null`}),` в range означает открытую границу;`]}),`
`,(0,T.jsxs)(t.li,{children:[(0,T.jsx)(t.code,{children:`marks`}),` всегда задают snap-домен;`]}),`
`,(0,T.jsxs)(t.li,{children:[(0,T.jsx)(t.code,{children:`marksPosition="index"`}),` размещает marks с равным визуальным шагом.`]}),`
`]}),`
`,(0,T.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
`,(0,T.jsx)(d,{}),`
`,(0,T.jsx)(r,{of:y}),`
`,(0,T.jsx)(t.pre,{children:(0,T.jsx)(t.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)(t.h2,{id:`range-с-открытой-границей`,children:`Range с открытой границей`}),`
`,(0,T.jsx)(t.pre,{children:(0,T.jsx)(t.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)(t.h2,{id:`сценарии-использования`,children:`Сценарии использования`}),`
`,(0,T.jsx)(t.h3,{id:`single-со-step`,children:`Single со step`}),`
`,(0,T.jsx)(u,{of:y}),`
`,(0,T.jsx)(t.h3,{id:`single-с-compact-marks`,children:`Single с compact marks`}),`
`,(0,T.jsx)(u,{of:b}),`
`,(0,T.jsx)(t.h3,{id:`равные-расстояния-между-неравномерными-значениями`,children:`Равные расстояния между неравномерными значениями`}),`
`,(0,T.jsx)(u,{of:m}),`
`,(0,T.jsx)(t.h3,{id:`range-без-outputvalue`,children:`Range без outputValue`}),`
`,(0,T.jsx)(u,{of:v}),`
`,(0,T.jsx)(t.h3,{id:`range-с-открытыми-границами-без-outputvalue-у-обычных-marks`,children:`Range с открытыми границами без outputValue у обычных marks`}),`
`,(0,T.jsx)(u,{of:_}),`
`,(0,T.jsx)(t.h3,{id:`range-с-outputvalue-месяцы-на-шкале-дни-в-фильтре`,children:`Range с outputValue: месяцы на шкале, дни в фильтре`}),`
`,(0,T.jsx)(u,{of:h}),`
`,(0,T.jsx)(t.h3,{id:`range-с-outputvalue-и-открытыми-границами`,children:`Range с outputValue и открытыми границами`}),`
`,(0,T.jsx)(u,{of:g}),`
`,(0,T.jsx)(t.h3,{id:`disabled`,children:`Disabled`}),`
`,(0,T.jsx)(u,{of:p}),`
`,(0,T.jsx)(t.h2,{id:`api`,children:`API`}),`
`,(0,T.jsx)(c,{of:S}),`
`,(0,T.jsx)(t.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
`,(0,T.jsx)(i,{includePrimary:!1})]})}function w(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,T.jsx)(t,{...e,children:(0,T.jsx)(C,{...e})}):C(e)}var T;e((()=>{T=t(),f(),s(),x()}))();export{w as default};