@arolariu/components
Version:
A collection of reusable components for React applications, built as ESM & CJS modules with tree shake, minify and bundler optimizations enabled, for the lowest bundle size (import cost)! 😍
1 lines • 3.26 kB
Source Map (JSON)
{"version":3,"file":"components\\ui\\slider.cjs","sources":["webpack://@arolariu/components/./src/components/ui/slider.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Slider({\n className,\n defaultValue,\n value,\n min = 0,\n max = 100,\n ...props\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\n const _values = React.useMemo(\n () =>\n Array.isArray(value)\n ? value\n : Array.isArray(defaultValue)\n ? defaultValue\n : [min, max],\n [value, defaultValue, min, max]\n );\n\n return (\n <SliderPrimitive.Root\n data-slot=\"slider\"\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n className={cn(\n \"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\",\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track\n data-slot=\"slider-track\"\n className={cn(\n \"bg-neutral-100 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 dark:bg-neutral-800\"\n )}\n >\n <SliderPrimitive.Range\n data-slot=\"slider-range\"\n className={cn(\n \"bg-neutral-900 absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full dark:bg-neutral-50\"\n )}\n />\n </SliderPrimitive.Track>\n {Array.from({ length: _values.length }, (_, index) => (\n <SliderPrimitive.Thumb\n data-slot=\"slider-thumb\"\n key={index}\n className=\"border-neutral-900 bg-white ring-neutral-950/50 block size-4 shrink-0 rounded-full border border-neutral-200 shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50 dark:border-neutral-50 dark:bg-neutral-950 dark:ring-neutral-300/50 dark:border-neutral-800\"\n />\n ))}\n </SliderPrimitive.Root>\n );\n}\n\nexport { Slider };\n"],"names":["Slider","className","defaultValue","value","min","max","props","_values","React","Array","SliderPrimitive","cn","_","index"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,SAASA,OAAO,EACdC,SAAS,EACTC,YAAY,EACZC,KAAK,EACLC,MAAM,CAAC,EACPC,MAAM,GAAG,EACT,GAAGC,OAC+C;IAClD,MAAMC,UAAUC,+BAAAA,OAAa,CAC3B,IACEC,MAAM,OAAO,CAACN,SACVA,QACAM,MAAM,OAAO,CAACP,gBACdA,eACA;YAACE;YAAKC;SAAI,EAChB;QAACF;QAAOD;QAAcE;QAAKC;KAAI;IAGjC,OACE,WADF,GACE,sCAACK,6BAAAA,IAAoB;QACnB,aAAU;QACV,cAAcR;QACd,OAAOC;QACP,KAAKC;QACL,KAAKC;QACL,WAAWM,IAAAA,0BAAAA,EAAAA,EACT,uOACAV;QAED,GAAGK,KAAK;;0BAET,qCAACI,6BAAAA,KAAqB;gBACpB,aAAU;gBACV,WAAWC,IAAAA,0BAAAA,EAAAA,EACT;0BAGF,mDAACD,6BAAAA,KAAqB;oBACpB,aAAU;oBACV,WAAWC,IAAAA,0BAAAA,EAAAA,EACT;;;YAILF,MAAM,IAAI,CAAC;gBAAE,QAAQF,QAAQ,MAAM;YAAC,GAAG,CAACK,GAAGC,QAC1C,WAD0CA,GAC1C,qCAACH,6BAAAA,KAAqB;oBACpB,aAAU;oBAEV,WAAU;mBADLG;;;AAMf"}