89 lines
1.6 KiB
JavaScript
89 lines
1.6 KiB
JavaScript
|
export default {
|
||
|
name: 'ButtonUnstyled',
|
||
|
selector: '.button-unstyled',
|
||
|
states: {
|
||
|
disabled: ':disabled',
|
||
|
toggled: '.toggled',
|
||
|
pressed: ':active',
|
||
|
hover: ':hover',
|
||
|
focused: ':focus-within'
|
||
|
},
|
||
|
validInnerComponents: [
|
||
|
'Text',
|
||
|
'Icon'
|
||
|
],
|
||
|
defaultRules: [
|
||
|
{
|
||
|
directives: {
|
||
|
background: '--fg',
|
||
|
shadow: [],
|
||
|
opacity: 0
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
component: 'Icon',
|
||
|
parent: {
|
||
|
component: 'ButtonUnstyled',
|
||
|
state: ['hover']
|
||
|
},
|
||
|
directives: {
|
||
|
textColor: '--parent--text'
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
component: 'Icon',
|
||
|
parent: {
|
||
|
component: 'ButtonUnstyled',
|
||
|
state: ['toggled']
|
||
|
},
|
||
|
directives: {
|
||
|
textColor: '--parent--text'
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
component: 'Text',
|
||
|
parent: {
|
||
|
component: 'ButtonUnstyled',
|
||
|
state: ['disabled']
|
||
|
},
|
||
|
directives: {
|
||
|
textOpacity: 0.25,
|
||
|
textOpacityMode: 'blend'
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
component: 'Text',
|
||
|
parent: {
|
||
|
component: 'ButtonUnstyled',
|
||
|
state: ['disabled', 'hover']
|
||
|
},
|
||
|
directives: {
|
||
|
textOpacity: 0.25,
|
||
|
textOpacityMode: 'blend'
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
component: 'Icon',
|
||
|
parent: {
|
||
|
component: 'ButtonUnstyled',
|
||
|
state: ['disabled']
|
||
|
},
|
||
|
directives: {
|
||
|
textOpacity: 0.25,
|
||
|
textOpacityMode: 'blend'
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
component: 'Icon',
|
||
|
parent: {
|
||
|
component: 'ButtonUnstyled',
|
||
|
state: ['disabled', 'hover']
|
||
|
},
|
||
|
directives: {
|
||
|
textOpacity: 0.25,
|
||
|
textOpacityMode: 'blend'
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
}
|