export default { name: 'Tab', // Name of the component selector: '.tab', // CSS selector/prefix states: { active: '.active', hover: ':is(:hover, :focus-visible, :has(:focus-visible)):not(.disabled)', disabled: '.disabled' }, validInnerComponents: [ 'Text', 'Icon' ], defaultRules: [ { directives: { background: '--fg', shadow: ['--buttonDefaultShadow', '--buttonDefaultBevel'], roundness: 3 } }, { state: ['hover'], directives: { shadow: ['--buttonDefaultHoverGlow', '--buttonDefaultBevel'] } }, { state: ['active'], directives: { opacity: 0 } }, { state: ['hover', 'active'], directives: { shadow: ['--buttonDefaultShadow', '--buttonDefaultBevel'] } }, { state: ['disabled'], directives: { background: '$blend(--inheritedBackground 0.25 --parent)', shadow: ['--buttonDefaultBevel'] } }, { component: 'Text', parent: { component: 'Tab', state: ['disabled'] }, directives: { textOpacity: 0.25, textOpacityMode: 'blend' } }, { component: 'Icon', parent: { component: 'Tab', state: ['active'] }, directives: { textColor: '--text' } }, { component: 'Icon', parent: { component: 'Tab', state: ['active', 'hover'] }, directives: { textColor: '--text' } } ] }