MCPcopy Index your code
hub / github.com/reactstrap/reactstrap / ButtonToggle

Function ButtonToggle

src/ButtonToggle.js:16–65  ·  view source on GitHub ↗
(props)

Source from the content-addressed store, hash-verified

14};
15
16function ButtonToggle(props) {
17 const [toggled, setToggled] = useState(props.defaultValue ?? false);
18 const [focus, setFocus] = useState(false);
19
20 const onBlur = useCallback(
21 (e) => {
22 if (props.onBlur) {
23 props.onBlur(e);
24 }
25 setFocus(false);
26 },
27 [props.onBlur],
28 );
29
30 const onFocus = useCallback(
31 (e) => {
32 if (props.onFocus) {
33 props.onFocus(e);
34 }
35 setFocus(true);
36 },
37 [props.onFocus],
38 );
39
40 const onClick = useCallback(
41 (e) => {
42 if (props.onClick) {
43 props.onClick(e);
44 }
45 setToggled(!toggled);
46 },
47 [props.onClick],
48 );
49
50 const { className, ...attributes } = props;
51
52 const classes = mapToCssModules(
53 classNames(className, {
54 focus: focus,
55 }),
56 props.cssModule,
57 );
58
59 return (
60 <Button
61 active={toggled}
62 onBlur={onBlur}
63 onFocus={onFocus}
64 onClick={onClick}
65 className={classes}
66 {...attributes}
67 />
68 );

Callers

nothing calls this directly

Calls 3

mapToCssModulesFunction · 0.90
setFocusFunction · 0.70
onClickMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…