mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
* Implements rudimentary api * Fixes blocking in API * Adds UI to monorepo > src/frontend/ * Updates frontend/README * Reverts conda env name to `ldm` * Fixes environment yamls * CORS config for testing * Fixes LogViewer position * API WID * Adds actions to image viewer * Increases vite chunkSizeWarningLimit to 1500 * Implements init image * Implements state persistence in localStorage * Improve progress data handling * Final build * Fixes mimetypes error on windows * Adds error logging * Fixes bugged img2img strength component * Adds sourcemaps to dev build * Fixes missing key * Changes connection status indicator to text * Adds ability to serve other hosts than localhost * Adding Flask API server * Removes source maps from config * Fixes prop transfer * Add missing packages and add CORS support * Adding API doc * Remove defaults from openapi doc * Adds basic error handling for server config query * Mostly working socket.io implementation. * Fixes bug preventing mask upload * Fixes bug with sampler name not written to metadata * UI Overhaul, numerous fixes Co-authored-by: Kyle Schouviller <kyle0654@hotmail.com> Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
58 lines
1.6 KiB
TypeScript
58 lines
1.6 KiB
TypeScript
import {
|
|
Flex,
|
|
FormControl,
|
|
FormLabel,
|
|
Select,
|
|
SelectProps,
|
|
Text,
|
|
} from '@chakra-ui/react';
|
|
|
|
interface Props extends SelectProps {
|
|
label: string;
|
|
validValues:
|
|
| Array<number | string>
|
|
| Array<{ key: string; value: string | number }>;
|
|
}
|
|
|
|
const SDSelect = (props: Props) => {
|
|
const {
|
|
label,
|
|
isDisabled,
|
|
validValues,
|
|
size = 'sm',
|
|
fontSize = 'md',
|
|
marginBottom = 1,
|
|
whiteSpace = 'nowrap',
|
|
...rest
|
|
} = props;
|
|
return (
|
|
<FormControl isDisabled={isDisabled}>
|
|
<Flex justifyContent={'space-between'} alignItems={'center'}>
|
|
<FormLabel
|
|
marginBottom={marginBottom}
|
|
>
|
|
<Text fontSize={fontSize} whiteSpace={whiteSpace}>
|
|
{label}
|
|
</Text>
|
|
</FormLabel>
|
|
<Select fontSize={fontSize} size={size} {...rest}>
|
|
{validValues.map((opt) => {
|
|
return typeof opt === 'string' ||
|
|
typeof opt === 'number' ? (
|
|
<option key={opt} value={opt}>
|
|
{opt}
|
|
</option>
|
|
) : (
|
|
<option key={opt.value} value={opt.value}>
|
|
{opt.key}
|
|
</option>
|
|
);
|
|
})}
|
|
</Select>
|
|
</Flex>
|
|
</FormControl>
|
|
);
|
|
};
|
|
|
|
export default SDSelect;
|