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.

128 lines 5.55 kB
export default TinyHtmlLink; /** * TinyHtmlLink is a lightweight helper class for managing <link> elements. * It provides a strict API for configuring preload, stylesheets, icons, * and other external resource references. * * @example * const link = new TinyHtmlLink({ * rel: 'stylesheet', * href: '/styles/main.css', * media: 'screen', * blocking: 'render', * }); * * document.head.appendChild(link.el); * * @extends TinyHtmlTemplate<HTMLLinkElement> */ declare class TinyHtmlLink extends TinyHtmlTemplate<HTMLLinkElement> { /** * Creates a new TinyHtmlLink instance. * @param {Object} config - Configuration object. * @param {string} [config.as] - Type of content being loaded (valid only for preload/modulepreload). * @param {'render'} [config.blocking] - Blocking behavior (only "render"). * @param {'anonymous'|'use-credentials'} [config.crossorigin] - CORS mode ("anonymous" or "use-credentials"). * @param {boolean} [config.disabled=false] - Whether the stylesheet is disabled (rel=stylesheet only). * @param {'auto'|'high'|'low'} [config.fetchpriority="auto"] - Fetch priority ("high", "low", "auto"). * @param {string} [config.href] - URL of the linked resource. * @param {string} [config.hreflang] - Language of the linked resource (RFC 5646). * @param {string} [config.imagesizes] - Sizes attribute for preload images. * @param {string} [config.imagesrcset] - Srcset attribute for preload images. * @param {string} [config.integrity] - Subresource Integrity metadata. * @param {string} [config.media="all"] - Media query (mainly for stylesheets). * @param {string} [config.referrerpolicy] - Referrer policy ("no-referrer", etc.). * @param {string} [config.rel] - Relationship (stylesheet, preload, icon, etc.). * @param {string} [config.sizes] - Icon sizes. * @param {string} [config.title] - Title (alternate stylesheet sets). * @param {string} [config.type] - MIME type of the resource (e.g., "text/css"). * @param {string|string[]|Set<string>} [config.tags=[]] - Initial CSS classes. * @param {string} [config.mainClass=""] - Main CSS class. */ constructor({ as, blocking, crossorigin, disabled, fetchpriority, href, hreflang, imagesizes, imagesrcset, integrity, media, referrerpolicy, rel, sizes, title, type, tags, mainClass, }?: { as?: string | undefined; blocking?: "render" | undefined; crossorigin?: "anonymous" | "use-credentials" | undefined; disabled?: boolean | undefined; fetchpriority?: "auto" | "high" | "low" | undefined; href?: string | undefined; hreflang?: string | undefined; imagesizes?: string | undefined; imagesrcset?: string | undefined; integrity?: string | undefined; media?: string | undefined; referrerpolicy?: string | undefined; rel?: string | undefined; sizes?: string | undefined; title?: string | undefined; type?: string | undefined; tags?: string | string[] | Set<string> | undefined; mainClass?: string | undefined; }); /** @param {string} rel */ set rel(rel: string); /** @returns {string|null} */ get rel(): string | null; /** @param {string} as */ set as(as: string); /** @returns {string|null} */ get as(): string | null; /** @param {'render'} blocking */ set blocking(blocking: "render"); /** @returns {string|null} */ get blocking(): string | null; /** @param {'anonymous'|'use-credentials'} crossorigin */ set crossorigin(crossorigin: "anonymous" | "use-credentials"); /** @returns {string|null} */ get crossorigin(): string | null; /** @param {boolean} disabled */ set disabled(disabled: boolean); /** @returns {boolean} */ get disabled(): boolean; /** @param {'auto'|'high'|'low'} fetchpriority */ set fetchpriority(fetchpriority: "auto" | "high" | "low"); /** @returns {string|null} */ get fetchpriority(): string | null; /** @param {string} href */ set href(href: string); /** @returns {string|null} */ get href(): string | null; /** @param {string} hreflang */ set hreflang(hreflang: string); /** @returns {string|null} */ get hreflang(): string | null; /** @param {string} imagesizes */ set imagesizes(imagesizes: string); /** @returns {string|null} */ get imagesizes(): string | null; /** @param {string} imagesrcset */ set imagesrcset(imagesrcset: string); /** @returns {string|null} */ get imagesrcset(): string | null; /** @param {string} integrity */ set integrity(integrity: string); /** @returns {string|null} */ get integrity(): string | null; /** @param {string} media */ set media(media: string); /** @returns {string|null} */ get media(): string | null; /** @param {string} referrerpolicy */ set referrerpolicy(referrerpolicy: string); /** @returns {string|null} */ get referrerpolicy(): string | null; /** @param {string} sizes */ set sizes(sizes: string); /** @returns {string|null} */ get sizes(): string | null; /** @param {string} title */ set title(title: string); /** @returns {string|null} */ get title(): string | null; /** @param {string} type */ set type(type: string); /** @returns {string|null} */ get type(): string | null; } import TinyHtmlTemplate from './TinyHtmlTemplate.mjs'; //# sourceMappingURL=TinyHtmlLink.d.mts.map