UNPKG

segmented-controls-react

Version:

A good-lookin' segmented control React component ๐Ÿ”ฅ

47 lines (44 loc) โ€ข 1.58 kB
import { Dispatch, SetStateAction } from "react"; export interface Props { options: { value: string; disabled?: boolean; }[]; setValue: Dispatch<SetStateAction<string>>; size: "large" | "small"; name: string; defaultIndex: number; } /** * * @param {{ value: string, disabled?: boolean }[]} props.options ์„ธ๊ทธ๋จผํŠธ์˜ ์˜ต์…˜์„ value์— ๋‹ด์•„์ฃผ์„ธ์š”. ๋น„ํ™œ์„ฑํ™” ํ•˜๊ธธ ์›ํ•˜๋Š” ๋ฒ„ํŠผ์€ disabled ์†์„ฑ์„ ์ ์šฉํ•ด์ฃผ์„ธ์š”. * @param { Dispatch<SetStateAction<string>> } props.setValue ์„ ํƒ๋œ ์„ธ๊ทธ๋จผํŠธ๋ฅผ string์œผ๋กœ ๋ฆฌํ„ดํ•ด์š” * @param { "large" | "small" } props.size ์„ธ๊ทธ๋จผํŠธ์˜ ํฌ๊ธฐ๋ฅผ ์ •ํ•ด์ฃผ์„ธ์š”. large ํ˜น์€ small์˜ ๊ฐ’์„ ๊ฐ€์ ธ์š”. * @param { string } props.name input์˜ name๊ฐ’์„ ๋„ฃ์–ด์ฃผ์„ธ์š”. ์›น ์ ‘๊ทผ์„ฑ์„ ์œ„ํ•จ์ด์—์š”. * @param { defaultIndex } props.number ์ฒ˜์Œ ์„ ํƒ๋˜์–ด์žˆ๊ธธ ์›ํ•˜๋Š” ๊ฐ’์„ ๋„ฃ์–ด์ฃผ์„ธ์š”. * @example * ```jsx import React from "react"; import { SegmentedControls } from "segmented-controls-react"; const App = () => { return ( <> <SegmentedControls options={[ { value: "one", disabled: true }, { value: "two" }, { value: "three" }, ]} defaultIndex={1} setValue={(val) => console.log(val)} size={"large"} name={"one"} /> </> ); }; export default App; * ``` */ declare const SegmentedControls: ({ options, setValue, size, name, defaultIndex, }: Props) => JSX.Element; export default SegmentedControls;