UNPKG

@reown/appkit-ui

Version:

The full stack toolkit to build onchain app UX.

143 lines (119 loc) 4.24 kB
import { css } from '../../utils/ThemeHelperUtil.js'; export default css ` :host { width: var(--local-width); } button { width: var(--local-width); white-space: nowrap; column-gap: ${({ spacing }) => spacing[2]}; transition: scale ${({ durations }) => durations['lg']} ${({ easings }) => easings['ease-out-power-1']}, background-color ${({ durations }) => durations['lg']} ${({ easings }) => easings['ease-out-power-2']}, border-radius ${({ durations }) => durations['lg']} ${({ easings }) => easings['ease-out-power-1']}; will-change: scale, background-color, border-radius; cursor: pointer; } /* -- Sizes --------------------------------------------------- */ button[data-size='sm'] { border-radius: ${({ borderRadius }) => borderRadius[2]}; padding: 0 ${({ spacing }) => spacing[2]}; height: 28px; } button[data-size='md'] { border-radius: ${({ borderRadius }) => borderRadius[3]}; padding: 0 ${({ spacing }) => spacing[4]}; height: 38px; } button[data-size='lg'] { border-radius: ${({ borderRadius }) => borderRadius[4]}; padding: 0 ${({ spacing }) => spacing[5]}; height: 48px; } /* -- Variants --------------------------------------------------------- */ button[data-variant='accent-primary'] { background-color: ${({ tokens }) => tokens.core.backgroundAccentPrimary}; color: ${({ tokens }) => tokens.theme.textInvert}; } button[data-variant='accent-secondary'] { background-color: ${({ tokens }) => tokens.core.foregroundAccent010}; color: ${({ tokens }) => tokens.core.textAccentPrimary}; } button[data-variant='neutral-primary'] { background-color: ${({ tokens }) => tokens.theme.backgroundInvert}; color: ${({ tokens }) => tokens.theme.textInvert}; } button[data-variant='neutral-secondary'] { background-color: transparent; border: 1px solid ${({ tokens }) => tokens.theme.borderSecondary}; color: ${({ tokens }) => tokens.theme.textPrimary}; } button[data-variant='neutral-tertiary'] { background-color: ${({ tokens }) => tokens.theme.foregroundPrimary}; color: ${({ tokens }) => tokens.theme.textPrimary}; } button[data-variant='error-primary'] { background-color: ${({ tokens }) => tokens.core.textError}; color: ${({ tokens }) => tokens.theme.textInvert}; } button[data-variant='error-secondary'] { background-color: ${({ tokens }) => tokens.core.backgroundError}; color: ${({ tokens }) => tokens.core.textError}; } button[data-variant='shade'] { background: var(--wui-color-gray-glass-002); color: var(--wui-color-fg-200); border: none; box-shadow: inset 0 0 0 1px var(--wui-color-gray-glass-005); } /* -- Focus states --------------------------------------------------- */ button[data-size='sm']:focus-visible:enabled { border-radius: 28px; } button[data-size='md']:focus-visible:enabled { border-radius: 38px; } button[data-size='lg']:focus-visible:enabled { border-radius: 48px; } button[data-variant='shade']:focus-visible:enabled { background: var(--wui-color-gray-glass-005); box-shadow: inset 0 0 0 1px var(--wui-color-gray-glass-010), 0 0 0 4px var(--wui-color-gray-glass-002); } /* -- Hover & Active states ----------------------------------------------------------- */ @media (hover: hover) { button[data-size='sm']:hover:enabled { border-radius: 28px; } button[data-size='md']:hover:enabled { border-radius: 38px; } button[data-size='lg']:hover:enabled { border-radius: 48px; } button[data-variant='shade']:hover:enabled { background: var(--wui-color-gray-glass-002); } button[data-variant='shade']:active:enabled { background: var(--wui-color-gray-glass-005); } } button[data-size='sm']:active:enabled { border-radius: 28px; } button[data-size='md']:active:enabled { border-radius: 38px; } button[data-size='lg']:active:enabled { border-radius: 48px; } /* -- Disabled states --------------------------------------------------- */ button:disabled { opacity: 0.3; } `; //# sourceMappingURL=styles.js.map