Files
InvokeAI/invokeai/frontend/web/src/theme/components/select.ts
psychedelicious 59d932e9c1 chore(ui): lint
2023-11-29 11:06:07 +11:00

36 lines
871 B
TypeScript

import { selectAnatomy as parts } from '@chakra-ui/anatomy';
import { createMultiStyleConfigHelpers, defineStyle } from '@chakra-ui/react';
import { getInputOutlineStyles } from 'theme/util/getInputOutlineStyles';
import { mode } from '@chakra-ui/theme-tools';
const { definePartsStyle, defineMultiStyleConfig } =
createMultiStyleConfigHelpers(parts.keys);
const invokeAIIcon = defineStyle((props) => {
return {
color: mode('base.200', 'base.300')(props),
};
});
const invokeAIField = defineStyle((props) => ({
fontWeight: '600',
...getInputOutlineStyles(props),
}));
const invokeAI = definePartsStyle((props) => {
return {
field: invokeAIField(props),
icon: invokeAIIcon(props),
};
});
export const selectTheme = defineMultiStyleConfig({
variants: {
invokeAI,
},
defaultProps: {
size: 'sm',
variant: 'invokeAI',
},
});