- Delete old Vite+Svelte frontend - Initialize new SvelteKit project with TypeScript - Configure Tailwind CSS v4 + DaisyUI - Implement JWT authentication with auto-refresh - Create login page with form validation (Zod) - Add protected route guards - Update Docker configuration for single-stage build - Add E2E tests with Playwright (6/11 passing) - Fix Svelte 5 reactivity with $state() runes Known issues: - 5 E2E tests failing (timing/async issues) - Token refresh implementation needs debugging - Validation error display timing
90 lines
2.2 KiB
TypeScript
90 lines
2.2 KiB
TypeScript
import HTMLButtonElement from '../nodes/html-button-element/HTMLButtonElement.cjs';
|
|
import HTMLInputElement from '../nodes/html-input-element/HTMLInputElement.cjs';
|
|
import HTMLSelectElement from '../nodes/html-select-element/HTMLSelectElement.cjs';
|
|
import HTMLTextAreaElement from '../nodes/html-text-area-element/HTMLTextAreaElement.cjs';
|
|
import HTMLObjectElement from '../nodes/html-object-element/HTMLObjectElement.cjs';
|
|
import HTMLOutputElement from '../nodes/html-output-element/HTMLOutputElement.cjs';
|
|
/**
|
|
* Input validity state.
|
|
*
|
|
* Based on:
|
|
* https://github.com/cferdinandi/validate/blob/master/src/js/_validityState.polyfill.js
|
|
*
|
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/ValidityState
|
|
*/
|
|
export default class ValidityState {
|
|
private element;
|
|
/**
|
|
* Constructor.
|
|
*
|
|
* @param element Input element.
|
|
*/
|
|
constructor(element: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | HTMLButtonElement | HTMLObjectElement | HTMLOutputElement);
|
|
/**
|
|
* Returns validity.
|
|
*
|
|
* @returns "true" if valid.
|
|
*/
|
|
get badInput(): boolean;
|
|
/**
|
|
* Returns validity.
|
|
*
|
|
* @returns "true" if valid.
|
|
*/
|
|
get customError(): boolean;
|
|
/**
|
|
* Returns validity.
|
|
*
|
|
* @returns "true" if valid.
|
|
*/
|
|
get patternMismatch(): boolean;
|
|
/**
|
|
* Returns validity.
|
|
*
|
|
* @returns "true" if valid.
|
|
*/
|
|
get rangeOverflow(): boolean;
|
|
/**
|
|
* Returns validity.
|
|
*
|
|
* @returns "true" if valid.
|
|
*/
|
|
get rangeUnderflow(): boolean;
|
|
/**
|
|
* Returns validity.
|
|
*
|
|
* @returns "true" if valid.
|
|
*/
|
|
get stepMismatch(): boolean;
|
|
/**
|
|
* Returns validity.
|
|
*
|
|
* @returns "true" if valid.
|
|
*/
|
|
get tooLong(): boolean;
|
|
/**
|
|
* Returns validity.
|
|
*
|
|
* @returns "true" if valid.
|
|
*/
|
|
get tooShort(): boolean;
|
|
/**
|
|
* Returns validity.
|
|
*
|
|
* @returns "true" if valid.
|
|
*/
|
|
get typeMismatch(): boolean;
|
|
/**
|
|
* Returns validity.
|
|
*
|
|
* @returns "true" if valid.
|
|
*/
|
|
get valueMissing(): boolean;
|
|
/**
|
|
* Returns validity.
|
|
*
|
|
* @returns "true" if valid.
|
|
*/
|
|
get valid(): boolean;
|
|
}
|
|
//# sourceMappingURL=ValidityState.d.ts.map
|