diff --git a/newIDE/app/src/UI/CompactTextAreaField/index.js b/newIDE/app/src/UI/CompactTextAreaField/index.js index 86a5e91f9d1a..c17a20ff64af 100644 --- a/newIDE/app/src/UI/CompactTextAreaField/index.js +++ b/newIDE/app/src/UI/CompactTextAreaField/index.js @@ -19,7 +19,7 @@ const styles = { }, }; -export type CompactTextFieldProps = {| +export type CompactTextAreaFieldProps = {| label: string, markdownDescription?: ?string, value: string, @@ -50,7 +50,7 @@ export const CompactTextAreaField = ({ disabled, errored, placeholder, -}: CompactTextFieldProps) => { +}: CompactTextAreaFieldProps) => { const idToUse = React.useRef(id || makeTimestampedId()); const title = !markdownDescription diff --git a/newIDE/app/src/UI/CompactToggleField/CompactToggleField.module.css b/newIDE/app/src/UI/CompactToggleField/CompactToggleField.module.css index a76efb4b02a6..327bd8c2ed64 100644 --- a/newIDE/app/src/UI/CompactToggleField/CompactToggleField.module.css +++ b/newIDE/app/src/UI/CompactToggleField/CompactToggleField.module.css @@ -25,32 +25,57 @@ .slider { position: absolute; - cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; - background-color: #3a3a3a; + background-color: var(--theme-toggle-field-default-background-color); transition: 0.2s; border-radius: 16px; } - -.slider:before { +.handle { position: absolute; content: ''; height: 12px; width: 12px; - left: 2px; - bottom: 2px; - background-color: white; + left: 3px; + bottom: 3px; + background-color: var(--theme-toggle-field-default-slider-color); transition: 0.2s; border-radius: 50%; + z-index: 2; +} +.handleContainer { + position: absolute; + content: ''; + height: 18px; + width: 18px; + left: -1px; + bottom: -1px; + background-color: none; + border-radius: 50%; + z-index: 1; + transition: 0.2s; } -.slider.checked { - background-color: #4c2f8c; +.slider:hover .handleContainer:not(.disabled) { + background-color: var(--theme-toggle-field-hover-slider-aura-color); } -.slider.checked:before { +.handleContainer.checked { transform: translateX(16px); } + +.slider.checked { + background-color: var(--theme-toggle-field-active-background-color); +} +.handle.checked { + background-color: var(--theme-toggle-field-active-slider-color); +} + +.slider.disabled { + background-color: var(--theme-toggle-field-disabled-background-color); +} +.handle.disabled { + background-color: var(--theme-toggle-field-disabled-slider-color); +} diff --git a/newIDE/app/src/UI/CompactToggleField/index.js b/newIDE/app/src/UI/CompactToggleField/index.js index bd4c9956ae00..8860dbd1fd29 100644 --- a/newIDE/app/src/UI/CompactToggleField/index.js +++ b/newIDE/app/src/UI/CompactToggleField/index.js @@ -43,13 +43,31 @@ export const CompactToggleField = (props: Props) => { type="checkbox" class={classes.checkbox} onChange={() => props.onCheck(!props.checked)} + disabled={props.disabled} /> + > + + + + { + const [value, setValue] = React.useState(''); + const [value2, setValue2] = React.useState(''); + const [value3, setValue3] = React.useState(''); + const [value4, setValue4] = React.useState(''); + const [value5, setValue5] = React.useState(''); + return ( + + + + + + + + + + ); +}; diff --git a/newIDE/app/src/stories/componentStories/UI/CompactToggleField.stories.js b/newIDE/app/src/stories/componentStories/UI/CompactToggleField.stories.js new file mode 100644 index 000000000000..e13ccb0605b6 --- /dev/null +++ b/newIDE/app/src/stories/componentStories/UI/CompactToggleField.stories.js @@ -0,0 +1,47 @@ +// @flow +import * as React from 'react'; + +import muiDecorator from '../../ThemeDecorator'; +import paperDecorator from '../../PaperDecorator'; + +import { CompactToggleField } from '../../../UI/CompactToggleField'; +import { ColumnStackLayout } from '../../../UI/Layout'; +import ElementHighlighterProvider from '../../ElementHighlighterProvider'; + +export default { + title: 'UI Building Blocks/CompactToggleField', + component: CompactToggleField, + decorators: [paperDecorator, muiDecorator], +}; + +export const Default = () => { + const [value, setValue] = React.useState(false); + const [value2, setValue2] = React.useState(true); + const [value3, setValue3] = React.useState(false); + return ( + + + + + + + + ); +};