2024-02-07 13:53:34 +00:00
|
|
|
const border = (top, shadow) => ({
|
|
|
|
x: 0,
|
|
|
|
y: top ? 1 : -1,
|
|
|
|
blur: 0,
|
|
|
|
spread: 0,
|
|
|
|
color: shadow ? '#000000' : '#FFFFFF',
|
|
|
|
alpha: 0.2,
|
|
|
|
inset: true
|
|
|
|
})
|
|
|
|
|
|
|
|
const inputInsetFakeBorders = [border(true, true), border(false, false)]
|
|
|
|
|
|
|
|
const hoverGlow = {
|
|
|
|
x: 0,
|
|
|
|
y: 0,
|
|
|
|
blur: 4,
|
|
|
|
spread: 0,
|
|
|
|
color: '--text',
|
|
|
|
alpha: 1
|
|
|
|
}
|
|
|
|
|
|
|
|
export default {
|
|
|
|
name: 'Input',
|
|
|
|
selector: '.input',
|
|
|
|
states: {
|
|
|
|
disabled: ':disabled',
|
|
|
|
hover: ':hover',
|
|
|
|
focused: ':focus-within'
|
|
|
|
},
|
|
|
|
validInnerComponents: [
|
|
|
|
'Text'
|
|
|
|
],
|
|
|
|
defaultRules: [
|
|
|
|
{
|
|
|
|
directives: {
|
2024-02-12 15:26:08 +00:00
|
|
|
background: '--fg, -5',
|
2024-02-13 00:09:43 +00:00
|
|
|
roundness: 3,
|
2024-02-07 13:53:34 +00:00
|
|
|
shadow: [{
|
|
|
|
x: 0,
|
|
|
|
y: 0,
|
|
|
|
blur: 2,
|
|
|
|
spread: 0,
|
|
|
|
color: '#000000',
|
|
|
|
alpha: 1
|
|
|
|
}, ...inputInsetFakeBorders]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
state: ['hover'],
|
|
|
|
directives: {
|
|
|
|
shadow: [hoverGlow, ...inputInsetFakeBorders]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|