Changing checkbox position

This commit is contained in:
Jake Archibald
2020-12-05 15:56:41 +00:00
parent 0797ce99c0
commit dc49f361ea
8 changed files with 78 additions and 78 deletions

View File

@@ -126,12 +126,12 @@ export default class Options extends Component<Props, State> {
<div> <div>
<h3 class={style.optionsTitle}>Edit</h3> <h3 class={style.optionsTitle}>Edit</h3>
<label class={style.sectionEnabler}> <label class={style.sectionEnabler}>
Resize
<Checkbox <Checkbox
name="resize.enable" name="resize.enable"
checked={!!processorState.resize.enabled} checked={!!processorState.resize.enabled}
onChange={this.onProcessorEnabledChange} onChange={this.onProcessorEnabledChange}
/> />
Resize
</label> </label>
<Expander> <Expander>
{processorState.resize.enabled ? ( {processorState.resize.enabled ? (
@@ -146,12 +146,12 @@ export default class Options extends Component<Props, State> {
</Expander> </Expander>
<label class={style.sectionEnabler}> <label class={style.sectionEnabler}>
Reduce palette
<Checkbox <Checkbox
name="quantize.enable" name="quantize.enable"
checked={!!processorState.quantize.enabled} checked={!!processorState.quantize.enabled}
onChange={this.onProcessorEnabledChange} onChange={this.onProcessorEnabledChange}
/> />
Reduce palette
</label> </label>
<Expander> <Expander>
{processorState.quantize.enabled ? ( {processorState.quantize.enabled ? (

View File

@@ -31,23 +31,23 @@
padding: 10px var(--horizontal-padding); padding: 10px var(--horizontal-padding);
} }
.option-toggle {
cursor: pointer;
display: grid;
align-items: center;
grid-template-columns: 1fr auto;
grid-gap: 0.7em;
padding: 10px var(--horizontal-padding);
}
.option-one-cell { .option-one-cell {
display: grid; display: grid;
grid-template-columns: 1fr; grid-template-columns: 1fr;
padding: 10px var(--horizontal-padding); padding: 10px var(--horizontal-padding);
} }
.option-input-first,
.section-enabler {
cursor: pointer;
display: grid;
align-items: center;
grid-template-columns: auto 1fr;
grid-gap: 0.7em;
padding: 10px var(--horizontal-padding);
}
.section-enabler { .section-enabler {
composes: option-toggle;
background: var(--dark-gray); background: var(--dark-gray);
padding: 15px var(--horizontal-padding); padding: 15px var(--horizontal-padding);
border-bottom: 1px solid var(--off-black); border-bottom: 1px solid var(--off-black);

View File

@@ -209,12 +209,12 @@ export class Options extends Component<Props, State> {
) { ) {
return ( return (
<form class={style.optionsSection} onSubmit={preventDefault}> <form class={style.optionsSection} onSubmit={preventDefault}>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Lossless
<Checkbox <Checkbox
checked={lossless} checked={lossless}
onChange={this._inputChange('lossless', 'boolean')} onChange={this._inputChange('lossless', 'boolean')}
/> />
Lossless
</label> </label>
<Expander> <Expander>
{!lossless && ( {!lossless && (
@@ -242,22 +242,22 @@ export class Options extends Component<Props, State> {
</div> </div>
)} )}
</Expander> </Expander>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Separate alpha quality
<Checkbox <Checkbox
checked={separateAlpha} checked={separateAlpha}
onChange={this._inputChange('separateAlpha', 'boolean')} onChange={this._inputChange('separateAlpha', 'boolean')}
/> />
Separate alpha quality
</label> </label>
<Expander> <Expander>
{separateAlpha && ( {separateAlpha && (
<div> <div>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Lossless alpha
<Checkbox <Checkbox
checked={losslessAlpha} checked={losslessAlpha}
onChange={this._inputChange('losslessAlpha', 'boolean')} onChange={this._inputChange('losslessAlpha', 'boolean')}
/> />
Lossless alpha
</label> </label>
<Expander> <Expander>
{!losslessAlpha && ( {!losslessAlpha && (
@@ -288,23 +288,23 @@ export class Options extends Component<Props, State> {
</div> </div>
)} )}
</Expander> </Expander>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Show advanced settings
<Checkbox <Checkbox
checked={showAdvanced} checked={showAdvanced}
onChange={linkState(this, 'showAdvanced')} onChange={linkState(this, 'showAdvanced')}
/> />
Show advanced settings
</label> </label>
<Expander> <Expander>
{showAdvanced && ( {showAdvanced && (
<div> <div>
{/*<label class={style.optionInputFirst}> {/*<label class={style.optionToggle}>
Grayscale
<Checkbox <Checkbox
data-set-state="grayscale" data-set-state="grayscale"
checked={grayscale} checked={grayscale}
onChange={this._inputChange('grayscale', 'boolean')} onChange={this._inputChange('grayscale', 'boolean')}
/> />
Grayscale
</label>*/} </label>*/}
<Expander> <Expander>
{!grayscale && !lossless && ( {!grayscale && !lossless && (

View File

@@ -123,23 +123,23 @@ export class Options extends Component<Props, State> {
// gathering the data. // gathering the data.
return ( return (
<form class={style.optionsSection} onSubmit={preventDefault}> <form class={style.optionsSection} onSubmit={preventDefault}>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Lossless
<Checkbox <Checkbox
name="lossless" name="lossless"
checked={lossless} checked={lossless}
onChange={this._inputChange('lossless', 'boolean')} onChange={this._inputChange('lossless', 'boolean')}
/> />
Lossless
</label> </label>
<Expander> <Expander>
{lossless && ( {lossless && (
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Slight loss
<Checkbox <Checkbox
name="slightLoss" name="slightLoss"
checked={slightLoss} checked={slightLoss}
onChange={this._inputChange('slightLoss', 'boolean')} onChange={this._inputChange('slightLoss', 'boolean')}
/> />
Slight loss
</label> </label>
)} )}
</Expander> </Expander>
@@ -157,7 +157,8 @@ export class Options extends Component<Props, State> {
Quality: Quality:
</Range> </Range>
</div> </div>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Auto edge filter
<Checkbox <Checkbox
name="autoEdgeFilter" name="autoEdgeFilter"
checked={autoEdgePreservingFilter} checked={autoEdgePreservingFilter}
@@ -166,7 +167,6 @@ export class Options extends Component<Props, State> {
'boolean', 'boolean',
)} )}
/> />
Auto edge filter
</label> </label>
<Expander> <Expander>
{!autoEdgePreservingFilter && ( {!autoEdgePreservingFilter && (
@@ -188,13 +188,13 @@ export class Options extends Component<Props, State> {
</div> </div>
)} )}
</Expander> </Expander>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Progressive rendering
<Checkbox <Checkbox
name="progressive" name="progressive"
checked={progressive} checked={progressive}
onChange={this._inputChange('progressive', 'boolean')} onChange={this._inputChange('progressive', 'boolean')}
/> />
Progressive rendering
</label> </label>
<div class={style.optionOneCell}> <div class={style.optionOneCell}>
<Range <Range

View File

@@ -116,12 +116,12 @@ export class Options extends Component<Props, State> {
Quality: Quality:
</Range> </Range>
</div> </div>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Show advanced settings
<Checkbox <Checkbox
checked={showAdvanced} checked={showAdvanced}
onChange={linkState(this, 'showAdvanced')} onChange={linkState(this, 'showAdvanced')}
/> />
Show advanced settings
</label> </label>
<Expander> <Expander>
{showAdvanced ? ( {showAdvanced ? (
@@ -141,13 +141,13 @@ export class Options extends Component<Props, State> {
<Expander> <Expander>
{options.color_space === MozJpegColorSpace.YCbCr ? ( {options.color_space === MozJpegColorSpace.YCbCr ? (
<div> <div>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Auto subsample chroma
<Checkbox <Checkbox
name="auto_subsample" name="auto_subsample"
checked={options.auto_subsample} checked={options.auto_subsample}
onChange={this.onChange} onChange={this.onChange}
/> />
Auto subsample chroma
</label> </label>
<Expander> <Expander>
{options.auto_subsample ? null : ( {options.auto_subsample ? null : (
@@ -164,13 +164,13 @@ export class Options extends Component<Props, State> {
</div> </div>
)} )}
</Expander> </Expander>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Separate chroma quality
<Checkbox <Checkbox
name="separate_chroma_quality" name="separate_chroma_quality"
checked={options.separate_chroma_quality} checked={options.separate_chroma_quality}
onChange={this.onChange} onChange={this.onChange}
/> />
Separate chroma quality
</label> </label>
<Expander> <Expander>
{options.separate_chroma_quality ? ( {options.separate_chroma_quality ? (
@@ -190,35 +190,35 @@ export class Options extends Component<Props, State> {
</div> </div>
) : null} ) : null}
</Expander> </Expander>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Pointless spec compliance
<Checkbox <Checkbox
name="baseline" name="baseline"
checked={options.baseline} checked={options.baseline}
onChange={this.onChange} onChange={this.onChange}
/> />
Pointless spec compliance
</label> </label>
<Expander> <Expander>
{options.baseline ? null : ( {options.baseline ? null : (
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Progressive rendering
<Checkbox <Checkbox
name="progressive" name="progressive"
checked={options.progressive} checked={options.progressive}
onChange={this.onChange} onChange={this.onChange}
/> />
Progressive rendering
</label> </label>
)} )}
</Expander> </Expander>
<Expander> <Expander>
{options.baseline ? ( {options.baseline ? (
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Optimize Huffman table
<Checkbox <Checkbox
name="optimize_coding" name="optimize_coding"
checked={options.optimize_coding} checked={options.optimize_coding}
onChange={this.onChange} onChange={this.onChange}
/> />
Optimize Huffman table
</label> </label>
) : null} ) : null}
</Expander> </Expander>
@@ -251,33 +251,33 @@ export class Options extends Component<Props, State> {
<option value="8">Peterson et al</option> <option value="8">Peterson et al</option>
</Select> </Select>
</label> </label>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Trellis multipass
<Checkbox <Checkbox
name="trellis_multipass" name="trellis_multipass"
checked={options.trellis_multipass} checked={options.trellis_multipass}
onChange={this.onChange} onChange={this.onChange}
/> />
Trellis multipass
</label> </label>
<Expander> <Expander>
{options.trellis_multipass ? ( {options.trellis_multipass ? (
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Optimize zero block runs
<Checkbox <Checkbox
name="trellis_opt_zero" name="trellis_opt_zero"
checked={options.trellis_opt_zero} checked={options.trellis_opt_zero}
onChange={this.onChange} onChange={this.onChange}
/> />
Optimize zero block runs
</label> </label>
) : null} ) : null}
</Expander> </Expander>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Optimize after trellis quantization
<Checkbox <Checkbox
name="trellis_opt_table" name="trellis_opt_table"
checked={options.trellis_opt_table} checked={options.trellis_opt_table}
onChange={this.onChange} onChange={this.onChange}
/> />
Optimize after trellis quantization
</label> </label>
<div class={style.optionOneCell}> <div class={style.optionOneCell}>
<Range <Range

View File

@@ -179,7 +179,8 @@ export class Options extends Component<Props, State> {
Slight loss: Slight loss:
</Range> </Range>
</div> </div>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Discrete tone image
{/* {/*
Although there are 3 different kinds of image hint, webp only Although there are 3 different kinds of image hint, webp only
seems to do something with the 'graph' type, and I don't really seems to do something with the 'graph' type, and I don't really
@@ -190,7 +191,6 @@ export class Options extends Component<Props, State> {
checked={options.image_hint === WebPImageHint.WEBP_HINT_GRAPH} checked={options.image_hint === WebPImageHint.WEBP_HINT_GRAPH}
onChange={this.onChange} onChange={this.onChange}
/> />
Discrete tone image
</label> </label>
</div> </div>
); );
@@ -224,23 +224,23 @@ export class Options extends Component<Props, State> {
Quality: Quality:
</Range> </Range>
</div> </div>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Show advanced settings
<Checkbox <Checkbox
checked={showAdvanced} checked={showAdvanced}
onChange={linkState(this, 'showAdvanced')} onChange={linkState(this, 'showAdvanced')}
/> />
Show advanced settings
</label> </label>
<Expander> <Expander>
{showAdvanced ? ( {showAdvanced ? (
<div> <div>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Compress alpha
<Checkbox <Checkbox
name="alpha_compression" name="alpha_compression"
checked={!!options.alpha_compression} checked={!!options.alpha_compression}
onChange={this.onChange} onChange={this.onChange}
/> />
Compress alpha
</label> </label>
<div class={style.optionOneCell}> <div class={style.optionOneCell}>
<Range <Range
@@ -264,13 +264,13 @@ export class Options extends Component<Props, State> {
Alpha filter quality: Alpha filter quality:
</Range> </Range>
</div> </div>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Auto adjust filter strength
<Checkbox <Checkbox
name="autofilter" name="autofilter"
checked={!!options.autofilter} checked={!!options.autofilter}
onChange={this.onChange} onChange={this.onChange}
/> />
Auto adjust filter strength
</label> </label>
<Expander> <Expander>
{options.autofilter ? null : ( {options.autofilter ? null : (
@@ -287,13 +287,13 @@ export class Options extends Component<Props, State> {
</div> </div>
)} )}
</Expander> </Expander>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Strong filter
<Checkbox <Checkbox
name="filter_type" name="filter_type"
checked={!!options.filter_type} checked={!!options.filter_type}
onChange={this.onChange} onChange={this.onChange}
/> />
Strong filter
</label> </label>
<div class={style.optionOneCell}> <div class={style.optionOneCell}>
<Range <Range
@@ -306,13 +306,13 @@ export class Options extends Component<Props, State> {
Filter sharpness: Filter sharpness:
</Range> </Range>
</div> </div>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Sharp RGBYUV conversion
<Checkbox <Checkbox
name="use_sharp_yuv" name="use_sharp_yuv"
checked={!!options.use_sharp_yuv} checked={!!options.use_sharp_yuv}
onChange={this.onChange} onChange={this.onChange}
/> />
Sharp RGBYUV conversion
</label> </label>
<div class={style.optionOneCell}> <div class={style.optionOneCell}>
<Range <Range
@@ -382,24 +382,24 @@ export class Options extends Component<Props, State> {
// gathering the data. // gathering the data.
return ( return (
<form class={style.optionsSection} onSubmit={preventDefault}> <form class={style.optionsSection} onSubmit={preventDefault}>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Lossless
<Checkbox <Checkbox
name="lossless" name="lossless"
checked={!!options.lossless} checked={!!options.lossless}
onChange={this.onChange} onChange={this.onChange}
/> />
Lossless
</label> </label>
{options.lossless {options.lossless
? this._losslessSpecificOptions(options) ? this._losslessSpecificOptions(options)
: this._lossySpecificOptions(options)} : this._lossySpecificOptions(options)}
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Preserve transparent data
<Checkbox <Checkbox
name="exact" name="exact"
checked={!!options.exact} checked={!!options.exact}
onChange={this.onChange} onChange={this.onChange}
/> />
Preserve transparent data
</label> </label>
</form> </form>
); );

View File

@@ -154,12 +154,12 @@ export class Options extends Component<Props, State> {
) { ) {
return ( return (
<form class={style.optionsSection} onSubmit={preventDefault}> <form class={style.optionsSection} onSubmit={preventDefault}>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Lossless
<Checkbox <Checkbox
checked={lossless} checked={lossless}
onChange={this._inputChange('lossless', 'boolean')} onChange={this._inputChange('lossless', 'boolean')}
/> />
Lossless
</label> </label>
<Expander> <Expander>
{lossless && ( {lossless && (
@@ -190,12 +190,12 @@ export class Options extends Component<Props, State> {
Quality: Quality:
</Range> </Range>
</div> </div>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Separate alpha quality
<Checkbox <Checkbox
checked={separateAlpha} checked={separateAlpha}
onChange={this._inputChange('separateAlpha', 'boolean')} onChange={this._inputChange('separateAlpha', 'boolean')}
/> />
Separate alpha quality
</label> </label>
<Expander> <Expander>
{separateAlpha && ( {separateAlpha && (
@@ -212,12 +212,12 @@ export class Options extends Component<Props, State> {
</div> </div>
)} )}
</Expander> </Expander>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Show advanced settings
<Checkbox <Checkbox
checked={showAdvanced} checked={showAdvanced}
onChange={linkState(this, 'showAdvanced')} onChange={linkState(this, 'showAdvanced')}
/> />
Show advanced settings
</label> </label>
<Expander> <Expander>
{showAdvanced && ( {showAdvanced && (
@@ -278,7 +278,8 @@ export class Options extends Component<Props, State> {
<option value={Csp.kYIQ}>YIQ</option> <option value={Csp.kYIQ}>YIQ</option>
</Select> </Select>
</label> </label>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Random matrix
<Checkbox <Checkbox
checked={useRandomMatrix} checked={useRandomMatrix}
onChange={this._inputChange( onChange={this._inputChange(
@@ -286,7 +287,6 @@ export class Options extends Component<Props, State> {
'boolean', 'boolean',
)} )}
/> />
Random matrix
</label> </label>
</div> </div>
)} )}

View File

@@ -285,33 +285,33 @@ export class Options extends Component<Props, State> {
</label> </label>
<Expander> <Expander>
{isWorkerOptions(options) ? ( {isWorkerOptions(options) ? (
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Premultiply alpha channel
<Checkbox <Checkbox
name="premultiply" name="premultiply"
checked={options.premultiply} checked={options.premultiply}
onChange={this.onChange} onChange={this.onChange}
/> />
Premultiply alpha channel
</label> </label>
) : null} ) : null}
{isWorkerOptions(options) ? ( {isWorkerOptions(options) ? (
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Linear RGB
<Checkbox <Checkbox
name="linearRGB" name="linearRGB"
checked={options.linearRGB} checked={options.linearRGB}
onChange={this.onChange} onChange={this.onChange}
/> />
Linear RGB
</label> </label>
) : null} ) : null}
</Expander> </Expander>
<label class={style.optionInputFirst}> <label class={style.optionToggle}>
Maintain aspect ratio
<Checkbox <Checkbox
name="maintainAspect" name="maintainAspect"
checked={maintainAspect} checked={maintainAspect}
onChange={linkState(this, 'maintainAspect')} onChange={linkState(this, 'maintainAspect')}
/> />
Maintain aspect ratio
</label> </label>
<Expander> <Expander>
{maintainAspect ? null : ( {maintainAspect ? null : (