UNPKG

@llamaindex/ui

Version:

A comprehensive UI component library built with React, TypeScript, and Tailwind CSS for LlamaIndex applications

71 lines (68 loc) 2.39 kB
import { cn } from './chunk-MG2ARK3A.mjs'; import { __objRest, __spreadProps, __spreadValues } from './chunk-FWCSY2DS.mjs'; import * as React from 'react'; import * as SliderPrimitive from '@radix-ui/react-slider'; import { jsxs, jsx } from 'react/jsx-runtime'; function Slider(_a) { var _b = _a, { className, defaultValue, value, min = 0, max = 100 } = _b, props = __objRest(_b, [ "className", "defaultValue", "value", "min", "max" ]); const _values = React.useMemo( () => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max], [value, defaultValue, min, max] ); return /* @__PURE__ */ jsxs( SliderPrimitive.Root, __spreadProps(__spreadValues({ "data-slot": "slider", defaultValue, value, min, max, className: cn( "relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col", className ) }, props), { children: [ /* @__PURE__ */ jsx( SliderPrimitive.Track, { "data-slot": "slider-track", className: cn( "bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5" ), children: /* @__PURE__ */ jsx( SliderPrimitive.Range, { "data-slot": "slider-range", className: cn( "bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full" ) } ) } ), Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsx( SliderPrimitive.Thumb, { "data-slot": "slider-thumb", className: "border-primary bg-background ring-ring/50 block size-4 shrink-0 rounded-full border shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50" }, index )) ] }) ); } export { Slider };