mirror of
https://github.com/a-nyx/maputnik-with-pmtiles.git
synced 2024-12-28 16:21:16 +01:00
Improve checkbox styles
This commit is contained in:
parent
db095eea49
commit
bc05c11cef
2 changed files with 60 additions and 12 deletions
|
@ -1,5 +1,8 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import input from '../../config/input.js'
|
|
||||||
|
import input from '../../config/input'
|
||||||
|
import colors from '../../config/colors'
|
||||||
|
import { margins } from '../../config/scales'
|
||||||
|
|
||||||
class BooleanField extends React.Component {
|
class BooleanField extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -11,17 +14,61 @@ class BooleanField extends React.Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return <input
|
const styles = {
|
||||||
type="checkbox"
|
root: {
|
||||||
style={{
|
...input.base,
|
||||||
...input.checkbox,
|
padding: 0,
|
||||||
...this.props.style
|
position: 'relative',
|
||||||
}}
|
textAlign: 'center ',
|
||||||
value={this.props.value}
|
cursor: 'pointer'
|
||||||
onChange={e => {this.props.onChange(!this.props.value)}}
|
},
|
||||||
checked={this.props.value}
|
input: {
|
||||||
>
|
position: 'absolute',
|
||||||
</input>
|
zIndex: -1,
|
||||||
|
opacity: 0
|
||||||
|
},
|
||||||
|
box: {
|
||||||
|
display: 'inline-block',
|
||||||
|
textAlign: 'center ',
|
||||||
|
height: 15,
|
||||||
|
width: 15,
|
||||||
|
marginRight: margins[1],
|
||||||
|
marginBottom: null,
|
||||||
|
backgroundColor: colors.gray,
|
||||||
|
borderRadius: 2,
|
||||||
|
borderStyle: 'solid',
|
||||||
|
borderWidth: 2,
|
||||||
|
borderColor: colors.gray,
|
||||||
|
transition: 'background-color .1s ease-out'
|
||||||
|
},
|
||||||
|
icon: {
|
||||||
|
display: this.props.value ? null : 'none',
|
||||||
|
width: '75%',
|
||||||
|
height: '75%',
|
||||||
|
marginTop: 1,
|
||||||
|
fill: colors.lowgray
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return <label style={styles.root}>
|
||||||
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
style={{
|
||||||
|
...styles.input,
|
||||||
|
...this.props.style,
|
||||||
|
}}
|
||||||
|
value={this.props.value}
|
||||||
|
onChange={e => {this.props.onChange(!this.props.value)}}
|
||||||
|
checked={this.props.value}
|
||||||
|
/>
|
||||||
|
<div style={styles.box}>
|
||||||
|
<svg
|
||||||
|
viewBox='0 0 32 32'
|
||||||
|
style={styles.icon}>
|
||||||
|
<path d='M1 14 L5 10 L13 18 L27 4 L31 8 L13 26 z' />
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,7 @@ const select = {
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
base,
|
||||||
label,
|
label,
|
||||||
select,
|
select,
|
||||||
input,
|
input,
|
||||||
|
|
Loading…
Reference in a new issue