forked from external-repos/squoosh
* wip * Commenting stuff to keep the build happy * Revealing sections * Custom select elements & more form work * Range input styles * Text fields with inputs do the right thing * Safari & Firefox fixes * Large compress select * oops * MozJPEG options updated * OptPNG options * These asserts weren't true * Generic options * WebP options * Hiding "edit" when "original image" * Download icon * Copy setting button - still not happy with this * Progress indicator * Loading icon enter/exit anim * Preventing controls going under options * Ahh so that's what was causing scrolling * Ahh so that's what was causing outlines * Simplifying range styles and fixing cross-browser * Processing custom element styles * Get precision from step by default * I don't know how or when this happened. * Don't need that many steps * Avoid having an element that covers the pinch zoom * Preventing overlap with zoom controls * Prevent ts warning * Fixing spinner position * Simplifying FileSize
21 lines
547 B
TypeScript
21 lines
547 B
TypeScript
import { h, Component } from 'preact';
|
|
import * as style from './style.scss';
|
|
|
|
interface Props extends JSX.HTMLAttributes {
|
|
large?: boolean;
|
|
}
|
|
interface State {}
|
|
|
|
export default class Select extends Component<Props, State> {
|
|
render(props: Props) {
|
|
const { large, ...otherProps } = props;
|
|
|
|
return (
|
|
<div class={style.select}>
|
|
<select class={`${style.nativeSelect} ${large ? style.large : ''}`} {...otherProps}/>
|
|
<svg class={style.arrow} viewBox="0 0 10 5"><path d="M0 0l5 5 5-5z"/></svg>
|
|
</div>
|
|
);
|
|
}
|
|
}
|