mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-12 15:46:29 +08:00
71ab75e30e
close AF-1802 
59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
import { cssVar } from '@toeverything/theme';
|
|
import { createVar, style } from '@vanilla-extract/css';
|
|
|
|
export const switchHeightVar = createVar('switchSize');
|
|
export const switchPaddingVar = createVar('switchPadding');
|
|
const switchWidthVar = createVar('switchWidth');
|
|
const dotSizeVar = createVar('dotSize');
|
|
|
|
export const labelStyle = style({
|
|
vars: {
|
|
[switchHeightVar]: '26px',
|
|
[switchPaddingVar]: '3px',
|
|
[switchWidthVar]: `calc((${switchHeightVar} - ${switchPaddingVar}) * 2)`,
|
|
[dotSizeVar]: `calc(${switchHeightVar} - ${switchPaddingVar} * 2)`,
|
|
},
|
|
display: 'flex',
|
|
alignItems: 'center',
|
|
gap: '10px',
|
|
cursor: 'pointer',
|
|
});
|
|
export const inputStyle = style({
|
|
opacity: 0,
|
|
position: 'absolute',
|
|
});
|
|
export const switchStyle = style({
|
|
position: 'relative',
|
|
height: switchHeightVar,
|
|
width: switchWidthVar,
|
|
background: cssVar('toggleDisableBackgroundColor'),
|
|
borderRadius: '37px',
|
|
transition: '200ms all',
|
|
selectors: {
|
|
'&:before': {
|
|
transition: 'all .2s cubic-bezier(0.27, 0.2, 0.25, 1.51)',
|
|
content: '""',
|
|
position: 'absolute',
|
|
width: dotSizeVar,
|
|
height: dotSizeVar,
|
|
borderRadius: '50%',
|
|
top: '50%',
|
|
background: cssVar('toggleCircleBackgroundColor'),
|
|
transform: `translate(${switchPaddingVar}, -50%)`,
|
|
},
|
|
},
|
|
});
|
|
export const switchCheckedStyle = style({
|
|
background: cssVar('primaryColor'),
|
|
selectors: {
|
|
'&:before': {
|
|
borderColor: cssVar('pureBlack10'),
|
|
transform: `translate(calc(${switchHeightVar} - ${switchPaddingVar}), -50%)`,
|
|
},
|
|
},
|
|
});
|
|
export const switchDisabledStyle = style({
|
|
cursor: 'not-allowed',
|
|
opacity: 0.5,
|
|
});
|