diff --git a/src/devtools/views/Button.css b/src/devtools/views/Button.css index a72802ecc4..0f7833c552 100644 --- a/src/devtools/views/Button.css +++ b/src/devtools/views/Button.css @@ -2,12 +2,17 @@ border: none; background: var(--color-button-background); color: var(--color-button); + padding: 0; border-radius: 0.25rem; - display: inline-flex; - align-items: center; - padding: 0.25rem; flex: 0 0 auto; } +.ButtonContent { + display: inline-flex; + align-items: center; + border-radius: 0.25rem; + padding: 0.25rem; +} + .Button:hover { background: var(--color-button-background-hover); color: var(--color-button-hover); @@ -17,10 +22,15 @@ color: var(--color-button-focus); outline: none; } -.Button:focus { +.Button:focus, +.ButtonContent:focus { outline: none; +} + +.Button:focus > .ButtonContent { box-shadow: 0 0 0 2px var(--color-button-background-focus) inset; } + .Button:disabled, .Button:disabled:active { background: var(--color-button-background); diff --git a/src/devtools/views/Button.js b/src/devtools/views/Button.js index 63621de606..b1b3500227 100644 --- a/src/devtools/views/Button.js +++ b/src/devtools/views/Button.js @@ -7,13 +7,18 @@ import styles from './Button.css'; import tooltipStyles from './Tooltip.css'; type Props = { + children: React$Node, className?: string, title: string, }; -export default function Button({ className, title, ...rest }: Props) { +export default function Button({ children, className, title, ...rest }: Props) { let button = ( - ); if (title) { diff --git a/src/devtools/views/Settings/SettingsContext.js b/src/devtools/views/Settings/SettingsContext.js index f5c1d73dbd..cd535eac42 100644 --- a/src/devtools/views/Settings/SettingsContext.js +++ b/src/devtools/views/Settings/SettingsContext.js @@ -205,9 +205,11 @@ function updateThemeVariables( updateStyleHelper(theme, 'color-background', documentElements); updateStyleHelper(theme, 'color-border', documentElements); updateStyleHelper(theme, 'color-button-background', documentElements); + updateStyleHelper(theme, 'color-button-background-active', documentElements); updateStyleHelper(theme, 'color-button-background-focus', documentElements); updateStyleHelper(theme, 'color-button-background-hover', documentElements); updateStyleHelper(theme, 'color-button', documentElements); + updateStyleHelper(theme, 'color-button-active', documentElements); updateStyleHelper(theme, 'color-button-disabled', documentElements); updateStyleHelper(theme, 'color-button-focus', documentElements); updateStyleHelper(theme, 'color-button-hover', documentElements); diff --git a/src/devtools/views/Toggle.css b/src/devtools/views/Toggle.css index a9b595b113..8b0790dc29 100644 --- a/src/devtools/views/Toggle.css +++ b/src/devtools/views/Toggle.css @@ -1,11 +1,17 @@ .ToggleDisabled, .ToggleOn, .ToggleOff { + border: none; border-radius: 0.25rem; + padding: 0; + flex: 0 0 auto; +} + +.ToggleContent { display: inline-flex; align-items: center; + border-radius: 0.25rem; padding: 0.25rem; - flex: 0 0 auto; } .ToggleOff { @@ -20,17 +26,22 @@ .ToggleOn, .ToggleOn:active { - background: var(--color-button-background-focus); - color: var(--color-button-focus); + background: var(--color-button-background-active); + color: var(--color-button-active); outline: none; } -.ToggleOn:focus-within, -.ToggleOff:focus-within { - box-shadow: 0 0 0 2px var(--color-button-background-focus) inset; +.ToggleOn:focus, +.ToggleOff:focus, +.ToggleContent:focus { outline: none; } +.ToggleOn:focus > .ToggleContent, +.ToggleOff:focus > .ToggleContent { + box-shadow: 0 0 0 2px var(--color-button-background-focus) inset; +} + .ToggleDisabled { background: var(--color-button-background); color: var(--color-button-disabled); diff --git a/src/devtools/views/Toggle.js b/src/devtools/views/Toggle.js index 31a6707a0c..5780c7f28c 100644 --- a/src/devtools/views/Toggle.js +++ b/src/devtools/views/Toggle.js @@ -32,24 +32,21 @@ export default function Toggle({ defaultClassName = styles.ToggleOff; } - const handleChange = useCallback( - ({ target }) => { - onChange(target.checked); - }, - [onChange] - ); + const handleClick = useCallback(() => onChange(!isChecked), [ + isChecked, + onChange, + ]); let toggle = ( - + ); if (title) { diff --git a/src/devtools/views/root.css b/src/devtools/views/root.css index f7c8f381fa..6ade839769 100644 --- a/src/devtools/views/root.css +++ b/src/devtools/views/root.css @@ -9,12 +9,14 @@ --light-color-attribute-editable-value: #1a1aa6; --light-color-background: #ffffff; --light-color-button-background: #ffffff; - --light-color-button-background-focus: #ebf1fb; + --light-color-button-background-active: #ffffff; + --light-color-button-background-focus: #ededed; --light-color-button-background-hover: #ffffff; - --light-color-button: #0088fa; + --light-color-button: #5f6673; --light-color-button-disabled: #cfd1d5; - --light-color-button-focus: #3578e5; - --light-color-button-hover: #3578e5; + --light-color-button-active: #0088fa; + --light-color-button-focus: #333333; + --light-color-button-hover: #333333; --light-color-border: #eeeeee; --light-color-commit-did-not-render: #cfd1d5; --light-color-commit-gradient-0: #37afa9; @@ -57,12 +59,14 @@ --dark-color-attribute-editable-value: yellow; --dark-color-background: #282c34; --dark-color-button-background: #282c34; + --dark-color-button-background-active: #3d424a; --dark-color-button-background-focus: #3d424a; --dark-color-button-background-hover: #282c34; - --dark-color-button: #61dafb; + --dark-color-button: #afb3b9; + --dark-color-button-active: #61dafb; --dark-color-button-disabled: #777d88; --dark-color-button-focus: #a2e9fc; - --dark-color-button-hover: #a2e9fc; + --dark-color-button-hover: #cccccc; --dark-color-border: #3d424a; --dark-color-commit-did-not-render: #777d88; --dark-color-commit-gradient-0: #37afa9;