forked from external-repos/squoosh
Options ui (#222)
* 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
This commit is contained in:
@@ -203,25 +203,40 @@ export function nativeResize(
|
||||
|
||||
/**
|
||||
* @param field An HTMLInputElement, but the casting is done here to tidy up onChange.
|
||||
* @param defaultVal Value to return if 'field' doesn't exist.
|
||||
*/
|
||||
export function inputFieldValueAsNumber(field: any): number {
|
||||
return Number((field as HTMLInputElement).value);
|
||||
export function inputFieldValueAsNumber(field: any, defaultVal: number = 0): number {
|
||||
if (!field) return defaultVal;
|
||||
return Number(inputFieldValue(field));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param field An HTMLInputElement, but the casting is done here to tidy up onChange.
|
||||
* @param defaultVal Value to return if 'field' doesn't exist.
|
||||
*/
|
||||
export function inputFieldCheckedAsNumber(field: any): number {
|
||||
export function inputFieldCheckedAsNumber(field: any, defaultVal: number = 0): number {
|
||||
if (!field) return defaultVal;
|
||||
return Number(inputFieldChecked(field));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param field An HTMLInputElement, but the casting is done here to tidy up onChange.
|
||||
* @param defaultVal Value to return if 'field' doesn't exist.
|
||||
*/
|
||||
export function inputFieldChecked(field: any): boolean {
|
||||
export function inputFieldChecked(field: any, defaultVal: boolean = false): boolean {
|
||||
if (!field) return defaultVal;
|
||||
return (field as HTMLInputElement).checked;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param field An HTMLInputElement, but the casting is done here to tidy up onChange.
|
||||
* @param defaultVal Value to return if 'field' doesn't exist.
|
||||
*/
|
||||
export function inputFieldValue(field: any, defaultVal: string = ''): string {
|
||||
if (!field) return defaultVal;
|
||||
return (field as HTMLInputElement).value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a promise that resolves when the user types the konami code.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user