From 8e48c01e7aada6978e92a6da1d040f3ef0d37945 Mon Sep 17 00:00:00 2001 From: Haishan Date: Fri, 20 Mar 2020 22:19:56 +0800 Subject: feat: remembers group collapse state for https://github.com/haishanh/yacd/issues/480 --- src/components/Button.js | 21 ++++++++++---- src/components/CollapsibleSectionHeader.js | 2 +- src/components/CollapsibleSectionHeader.module.css | 4 +++ src/components/ProxyGroup.js | 20 +++++++++---- src/components/ProxyProvider.js | 33 +++++++++++++++------- src/components/StateProvider.js | 2 ++ 6 files changed, 61 insertions(+), 21 deletions(-) (limited to 'src/components') diff --git a/src/components/Button.js b/src/components/Button.js index d5b88cf..2ec0c22 100644 --- a/src/components/Button.js +++ b/src/components/Button.js @@ -16,10 +16,17 @@ type ButtonProps = { isLoading?: boolean, start?: Element | (() => Element), onClick?: (SyntheticEvent) => mixed, - kind?: 'primary' | 'minimal' + kind?: 'primary' | 'minimal', + className?: string }; function Button(props: ButtonProps, ref) { - const { onClick, isLoading, kind = 'primary', ...restProps } = props; + const { + onClick, + isLoading, + kind = 'primary', + className, + ...restProps + } = props; const internalOnClick = useCallback( e => { if (isLoading) return; @@ -27,9 +34,13 @@ function Button(props: ButtonProps, ref) { }, [isLoading, onClick] ); - const btnClassName = cx(s0.btn, { - [s0.minimal]: kind === 'minimal' - }); + const btnClassName = cx( + s0.btn, + { + [s0.minimal]: kind === 'minimal' + }, + className + ); return (