pleroma-fe/src/components/button_unstyled.style.js

92 lines
1.8 KiB
JavaScript
Raw Normal View History

export default {
name: 'ButtonUnstyled',
selector: '.button-unstyled',
notEditable: true,
2025-02-12 15:45:46 +02:00
transparent: true,
states: {
toggled: '.toggled',
disabled: ':disabled',
hover: ':is(:hover, :focus-visible):not(:disabled)',
2026-01-06 16:22:52 +02:00
focused: ':focus-within:not(:is(:focus-visible))',
},
2026-01-06 16:22:52 +02:00
validInnerComponents: ['Text', 'Link', 'Icon', 'Badge'],
defaultRules: [
{
directives: {
2026-01-06 16:22:52 +02:00
shadow: [],
},
},
{
component: 'Icon',
parent: {
component: 'ButtonUnstyled',
2026-01-06 16:22:52 +02:00
state: ['hover'],
},
directives: {
2026-01-06 16:22:52 +02:00
textColor: '--parent--text',
},
},
{
component: 'Icon',
parent: {
component: 'ButtonUnstyled',
2026-01-06 16:22:52 +02:00
state: ['toggled'],
},
directives: {
2026-01-06 16:22:52 +02:00
textColor: '--parent--text',
},
},
{
component: 'Icon',
parent: {
component: 'ButtonUnstyled',
2026-01-06 16:22:52 +02:00
state: ['toggled', 'hover'],
},
directives: {
2026-01-06 16:22:52 +02:00
textColor: '--parent--text',
},
},
{
component: 'Icon',
parent: {
component: 'ButtonUnstyled',
2026-01-06 16:22:52 +02:00
state: ['toggled', 'focused'],
},
directives: {
2026-01-06 16:22:52 +02:00
textColor: '--parent--text',
},
},
{
component: 'Icon',
parent: {
component: 'ButtonUnstyled',
2026-01-06 16:22:52 +02:00
state: ['toggled', 'focused', 'hover'],
},
directives: {
2026-01-06 16:22:52 +02:00
textColor: '--parent--text',
},
},
{
component: 'Text',
parent: {
component: 'ButtonUnstyled',
2026-01-06 16:22:52 +02:00
state: ['disabled'],
},
directives: {
textOpacity: 0.25,
2026-01-06 16:22:52 +02:00
textOpacityMode: 'blend',
},
},
{
component: 'Icon',
parent: {
component: 'ButtonUnstyled',
2026-01-06 16:22:52 +02:00
state: ['disabled'],
},
directives: {
textOpacity: 0.25,
2026-01-06 16:22:52 +02:00
textOpacityMode: 'blend',
},
},
],
}