mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
40 lines
986 B
TypeScript
40 lines
986 B
TypeScript
import { progressAnatomy as parts } from '@chakra-ui/anatomy';
|
|
import {
|
|
createMultiStyleConfigHelpers,
|
|
defineStyle,
|
|
} from '@chakra-ui/styled-system';
|
|
|
|
const { defineMultiStyleConfig, definePartsStyle } =
|
|
createMultiStyleConfigHelpers(parts.keys);
|
|
|
|
const invokeAIFilledTrack = defineStyle((_props) => ({
|
|
bg: 'accent.600',
|
|
// TODO: the animation is nice but looks weird bc it is substantially longer than each step
|
|
// so we get to 100% long before it finishes
|
|
// transition: 'width 0.2s ease-in-out',
|
|
_indeterminate: {
|
|
bgGradient:
|
|
'linear(to-r, transparent 0%, accent.600 50%, transparent 100%);',
|
|
},
|
|
}));
|
|
|
|
const invokeAITrack = defineStyle((_props) => {
|
|
return {
|
|
bg: 'none',
|
|
};
|
|
});
|
|
|
|
const invokeAI = definePartsStyle((props) => ({
|
|
filledTrack: invokeAIFilledTrack(props),
|
|
track: invokeAITrack(props),
|
|
}));
|
|
|
|
export const progressTheme = defineMultiStyleConfig({
|
|
variants: {
|
|
invokeAI,
|
|
},
|
|
defaultProps: {
|
|
variant: 'invokeAI',
|
|
},
|
|
});
|