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

105 lines
2 KiB
JavaScript
Raw Normal View History

2024-02-11 23:11:28 +02:00
export default {
name: 'MenuItem',
selector: '.menu-item',
2026-01-06 16:22:52 +02:00
validInnerComponents: ['Text', 'Icon', 'Border'],
2024-02-11 23:11:28 +02:00
states: {
hover: ':is(:hover, :focus-visible, :has(:focus-visible)):not(.disabled)',
2024-12-31 13:05:15 +02:00
active: '.-active',
2026-01-06 16:22:52 +02:00
disabled: '.disabled',
2024-02-11 23:11:28 +02:00
},
defaultRules: [
{
directives: {
background: '--bg',
2026-01-06 16:22:52 +02:00
opacity: 0,
},
},
{
state: ['hover'],
directives: {
background: '$mod(--bg 5)',
2026-01-06 16:22:52 +02:00
opacity: 1,
},
2024-02-11 23:11:28 +02:00
},
2024-02-13 02:09:43 +02:00
{
state: ['active'],
directives: {
background: '$mod(--bg 10)',
2026-01-06 16:22:52 +02:00
opacity: 1,
},
},
{
state: ['active', 'hover'],
directives: {
background: '$mod(--bg 15)',
2026-01-06 16:22:52 +02:00
opacity: 1,
},
2024-02-13 02:09:43 +02:00
},
2024-02-11 23:11:28 +02:00
{
component: 'Text',
parent: {
component: 'MenuItem',
2026-01-06 16:22:52 +02:00
state: ['hover'],
},
directives: {
textColor: '--link',
2026-01-06 16:22:52 +02:00
textAuto: 'no-preserve',
},
},
{
component: 'Text',
parent: {
component: 'MenuItem',
2026-01-06 16:22:52 +02:00
state: ['active'],
},
directives: {
textColor: '--link',
2026-01-06 16:22:52 +02:00
textAuto: 'no-preserve',
},
},
{
component: 'Icon',
parent: {
component: 'MenuItem',
2026-01-06 16:22:52 +02:00
state: ['active'],
2024-02-11 23:11:28 +02:00
},
directives: {
textColor: '--link',
2026-01-06 16:22:52 +02:00
textAuto: 'no-preserve',
},
2024-02-11 23:11:28 +02:00
},
{
component: 'Icon',
parent: {
component: 'MenuItem',
2026-01-06 16:22:52 +02:00
state: ['hover'],
2024-02-11 23:11:28 +02:00
},
directives: {
textColor: '--link',
2026-01-06 16:22:52 +02:00
textAuto: 'no-preserve',
},
2024-12-31 13:05:15 +02:00
},
{
component: 'Text',
parent: {
component: 'MenuItem',
2026-01-06 16:22:52 +02:00
state: ['disabled'],
2024-12-31 13:05:15 +02:00
},
directives: {
textOpacity: 0.25,
2026-01-06 16:22:52 +02:00
textOpacityMode: 'blend',
},
2024-12-31 13:05:15 +02:00
},
{
component: 'Icon',
parent: {
component: 'MenuItem',
2026-01-06 16:22:52 +02:00
state: ['disabled'],
2024-12-31 13:05:15 +02:00
},
directives: {
textOpacity: 0.25,
2026-01-06 16:22:52 +02:00
textOpacityMode: 'blend',
},
},
],
2024-02-11 23:11:28 +02:00
}