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.

74 lines 3.21 kB
export default TinyHtmlDateInput; /** * TinyHtmlDateInput is a helper class for managing `<input type="date">` elements. * It provides validation and safe access to standard attributes such as `value`, `min`, `max`, `step`, * as well as common attributes like `name`, `placeholder`, `readonly`, `required`, etc. * * @example * const dateInput = new TinyHtmlDateInput({ * value: '2025-09-25', * min: '2025-01-01', * max: '2025-12-31', * step: 1, * required: true * }); */ declare class TinyHtmlDateInput extends TinyHtmlInput { /** * Creates a new TinyHtmlDateInput instance. * @param {Object} config - Configuration object. * @param {string} [config.value] - Initial date value in `YYYY-MM-DD` format. * @param {string} [config.min] - Minimum allowed date (in `YYYY-MM-DD` format). * @param {string} [config.max] - Maximum allowed date (in `YYYY-MM-DD` format). * @param {number|string} [config.step] - Step value in days (number) or "any". * @param {string} [config.name] - The name of the input. * @param {string} [config.placeholder] - Placeholder text. * @param {string} [config.autocomplete] - Autocomplete hint (e.g., "on", "off", "bday"). * @param {string} [config.list] - ID of a `<datalist>` element for suggestions. * @param {boolean} [config.readonly=false] - Whether the input is read-only. * @param {boolean} [config.required=false] - Whether the input is required. * @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, min, max, step, name, placeholder, autocomplete, list, readonly, required, tags, mainClass, }?: { value?: string | undefined; min?: string | undefined; max?: string | undefined; step?: string | number | undefined; name?: string | undefined; placeholder?: string | undefined; autocomplete?: string | undefined; list?: string | undefined; readonly?: boolean | undefined; required?: boolean | undefined; tags?: string | string[] | Set<string> | undefined; mainClass?: string | undefined; }); /** @param {string|Date} value */ set value(value: string | Date); /** @returns {string|null} */ get value(): string | null; /** @param {string} min */ set min(min: string); /** @returns {string|null} */ get min(): string | null; /** @param {string} max */ set max(max: string); /** @returns {string|null} */ get max(): string | null; /** @param {number|string} step */ set step(step: number | string); /** @returns {string|null} */ get step(): string | null; /** @param {string} autocomplete */ set autocomplete(autocomplete: string); /** @returns {string|null} */ get autocomplete(): string | null; /** @param {string} list */ set list(list: string); /** @returns {string|null} */ get list(): string | null; } import TinyHtmlInput from '../../TinyHtmlInput.mjs'; //# sourceMappingURL=TinyHtmlDateInput.d.mts.map