UNPKG

tiny-essentials

Version:

Collection of small, essential scripts designed to be used across various projects. These simple utilities are crafted for speed, ease of use, and versatility.

81 lines 3.49 kB
export default TinyHtmlUrlInput; /** * TinyHtmlUrlInput is a helper class for managing `<input type="url">` elements. * It provides strongly-typed getters and setters for common attributes, * with validation and error handling. * * @example * const urlInput = new TinyHtmlUrlInput({ * name: 'website', * placeholder: 'https://example.com', * required: true, * maxLength: 200, * }); */ declare class TinyHtmlUrlInput extends TinyHtmlInput { /** * Creates a new TinyHtmlUrlInput instance. * @param {Object} config - Configuration object. * @param {string} [config.value] - Initial value of the input. * @param {number} [config.minLength] - Minimum number of characters. * @param {number} [config.maxLength] - Maximum number of characters. * @param {string} [config.name] - The name of the control. * @param {string} [config.pattern] - Regex pattern for validation. * @param {string} [config.autocomplete] - Autocomplete hint (e.g., "on", "off", "email"). * @param {string} [config.dirname] - Name for the directionality field (text-based inputs). * @param {number} [config.size] - Width of the input in characters. * @param {string} [config.list] - ID of an associated <datalist>. * @param {boolean} [config.readonly=false] - Whether the input is read-only. * @param {boolean} [config.required=false] - Whether the input is required. * @param {string} [config.placeholder] - Placeholder text. * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes. * @param {string} [config.mainClass=''] - Main CSS class. * @throws {TypeError} If any attribute is of the wrong type. */ constructor({ value, list, placeholder, autocomplete, minLength, maxLength, readonly, required, dirname, size, pattern, name, tags, mainClass, }?: { value?: string | undefined; minLength?: number | undefined; maxLength?: number | undefined; name?: string | undefined; pattern?: string | undefined; autocomplete?: string | undefined; dirname?: string | undefined; size?: number | undefined; list?: string | undefined; readonly?: boolean | undefined; required?: boolean | undefined; placeholder?: string | undefined; tags?: string | string[] | Set<string> | undefined; mainClass?: string | undefined; }); /** @param {string} value */ set value(value: string); /** @returns {string} */ get value(): string; /** @param {string} list */ set list(list: string); /** @returns {string|null} */ get list(): string | null; /** @param {string} autocomplete */ set autocomplete(autocomplete: string); /** @returns {string|null} */ get autocomplete(): string | null; /** @param {number} minLength */ set minLength(minLength: number); /** @returns {number|null} */ get minLength(): number | null; /** @param {number} maxLength */ set maxLength(maxLength: number); /** @returns {number|null} */ get maxLength(): number | null; /** @param {string} dirname */ set dirname(dirname: string); /** @returns {string|null} */ get dirname(): string | null; /** @param {string} pattern */ set pattern(pattern: string); /** @returns {string|null} */ get pattern(): string | null; } import TinyHtmlInput from '../../TinyHtmlInput.mjs'; //# sourceMappingURL=TinyHtmlUrlInput.d.mts.map