UNPKG

@mgoodfellow/park-ui-panda-preset

Version:

Panda CSS Preset for Park UI

198 lines (196 loc) 4.65 kB
import { defineRecipe } from '@pandacss/dev' export const button = defineRecipe({ className: 'button', jsx: ['Button', 'IconButton', 'SubmitButton'], base: { alignItems: 'center', appearance: 'none', borderRadius: 'l2', cursor: 'pointer', display: 'inline-flex', fontWeight: 'semibold', isolation: 'isolate', minWidth: '0', justifyContent: 'center', outline: 'none', position: 'relative', transitionDuration: 'normal', transitionProperty: 'background, border-color, color, box-shadow', transitionTimingFunction: 'default', userSelect: 'none', verticalAlign: 'middle', whiteSpace: 'nowrap', _hidden: { display: 'none', }, '& :where(svg)': { fontSize: '1.1em', width: '1.1em', height: '1.1em', }, }, defaultVariants: { variant: 'solid', size: 'md', }, variants: { variant: { solid: { background: 'colorPalette.default', color: 'colorPalette.fg', _hover: { background: 'colorPalette.emphasized', }, _focusVisible: { outline: '2px solid', outlineColor: 'colorPalette.default', outlineOffset: '2px', }, _disabled: { color: 'fg.disabled', background: 'bg.disabled', cursor: 'not-allowed', _hover: { color: 'fg.disabled', background: 'bg.disabled', }, }, }, outline: { borderWidth: '1px', borderColor: 'colorPalette.a7', color: 'colorPalette.text', colorPalette: 'gray', _hover: { background: 'colorPalette.a2', }, _disabled: { borderColor: 'border.disabled', color: 'fg.disabled', cursor: 'not-allowed', _hover: { background: 'transparent', borderColor: 'border.disabled', color: 'fg.disabled', }, }, _focusVisible: { outline: '2px solid', outlineColor: 'colorPalette.default', outlineOffset: '2px', }, _selected: { background: 'colorPalette.default', borderColor: 'colorPalette.default', color: 'colorPalette.fg', _hover: { background: 'colorPalette.emphasized', borderColor: 'colorPalette.emphasized', }, }, }, ghost: { color: 'colorPalette.text', colorPalette: 'gray', _hover: { background: 'colorPalette.a3', }, _selected: { background: 'colorPalette.a3', }, _disabled: { color: 'fg.disabled', cursor: 'not-allowed', _hover: { background: 'transparent', color: 'fg.disabled', }, }, _focusVisible: { outline: '2px solid', outlineColor: 'colorPalette.default', outlineOffset: '2px', }, }, link: { verticalAlign: 'baseline', _disabled: { color: 'border.disabled', cursor: 'not-allowed', _hover: { color: 'border.disabled', }, }, height: 'auto!', px: '0!', minW: '0!', }, subtle: { background: 'colorPalette.a3', color: 'colorPalette.text', colorPalette: 'gray', _hover: { background: 'colorPalette.a4', }, _focusVisible: { outline: '2px solid', outlineColor: 'colorPalette.default', outlineOffset: '2px', }, _disabled: { background: 'bg.disabled', color: 'fg.disabled', cursor: 'not-allowed', _hover: { background: 'bg.disabled', color: 'fg.disabled', }, }, }, }, size: { xs: { h: '8', minW: '8', textStyle: 'xs', px: '3', gap: '2', }, sm: { h: '9', minW: '9', textStyle: 'sm', px: '3.5', gap: '2', }, md: { h: '10', minW: '10', textStyle: 'sm', px: '4', gap: '2', }, lg: { h: '11', minW: '11', textStyle: 'md', px: '4.5', gap: '2', }, xl: { h: '12', minW: '12', textStyle: 'md', px: '5', gap: '2.5', }, '2xl': { h: '16', minW: '16', textStyle: 'lg', px: '7', gap: '3', }, }, }, })