@reown/appkit-ui
Version:
The full stack toolkit to build onchain app UX.
101 lines (86 loc) • 2.84 kB
JavaScript
import { css } from '../../utils/ThemeHelperUtil.js';
export default css `
button {
border: none;
border-radius: ${({ borderRadius }) => borderRadius['20']};
display: flex;
flex-direction: row;
align-items: center;
padding: ${({ spacing }) => spacing[1]};
transition:
background-color ${({ durations }) => durations['lg']}
${({ easings }) => easings['ease-out-power-2']},
box-shadow ${({ durations }) => durations['lg']}
${({ easings }) => easings['ease-out-power-2']};
will-change: background-color, box-shadow;
}
/* -- Variants --------------------------------------------------------------- */
button[data-type='accent'] {
background-color: ${({ tokens }) => tokens.core.backgroundAccentPrimary};
color: ${({ tokens }) => tokens.theme.textPrimary};
}
button[data-type='neutral'] {
background-color: ${({ tokens }) => tokens.theme.foregroundSecondary};
color: ${({ tokens }) => tokens.theme.textPrimary};
}
/* -- Sizes --------------------------------------------------------------- */
button[data-size='sm'] {
height: 24px;
}
button[data-size='md'] {
height: 28px;
}
button[data-size='lg'] {
height: 32px;
}
button[data-size='sm'] > wui-image,
button[data-size='sm'] > wui-icon {
width: 16px;
height: 16px;
}
button[data-size='md'] > wui-image,
button[data-size='md'] > wui-icon {
width: 20px;
height: 20px;
}
button[data-size='lg'] > wui-image,
button[data-size='lg'] > wui-icon {
width: 24px;
height: 24px;
}
wui-text {
padding-left: ${({ spacing }) => spacing[1]};
padding-right: ${({ spacing }) => spacing[1]};
}
wui-image {
border-radius: ${({ borderRadius }) => borderRadius[3]};
overflow: hidden;
user-drag: none;
user-select: none;
-moz-user-select: none;
-webkit-user-drag: none;
-webkit-user-select: none;
-ms-user-select: none;
}
/* -- States --------------------------------------------------------------- */
@media (hover: hover) and (pointer: fine) {
button[data-type='accent']:not(:disabled):hover {
background-color: ${({ tokens }) => tokens.core.foregroundAccent060};
}
button[data-type='neutral']:not(:disabled):hover {
background-color: ${({ tokens }) => tokens.theme.foregroundTertiary};
}
}
button[data-type='accent']:not(:disabled):focus-visible,
button[data-type='accent']:not(:disabled):active {
box-shadow: 0 0 0 4px ${({ tokens }) => tokens.core.foregroundAccent020};
}
button[data-type='neutral']:not(:disabled):focus-visible,
button[data-type='neutral']:not(:disabled):active {
box-shadow: 0 0 0 4px ${({ tokens }) => tokens.core.foregroundAccent020};
}
button:disabled {
opacity: 0.5;
}
`;
//# sourceMappingURL=styles.js.map