import TinyHtmlTemplate from './TinyHtmlTemplate.mjs'; /** * TinyHtmlIframe is a helper class for managing elements. * It supports all standard attributes with validation and type safety. * * @example * const iframe = new TinyHtmlIframe({ * src: 'https://example.com', * width: 600, * height: 400, * loading: 'lazy', * sandbox: 'allow-scripts allow-same-origin', * referrerpolicy: 'no-referrer', * }); * * @extends TinyHtmlTemplate */ declare class TinyHtmlIframe extends TinyHtmlTemplate { /** * Creates a new TinyHtmlIframe instance with the specified configuration options. * * @param {Object} [config={}] - Configuration object for the iframe element. * @param {string} [config.src] - The URL of the page to embed inside the iframe. * @param {string} [config.srcdoc] - Inline HTML content to display inside the iframe (overrides `src` if provided). * @param {string} [config.name] - A name for the browsing context (used as the target for links or forms). * @param {string} [config.allow] - Permissions policy for the iframe (e.g., `"fullscreen; autoplay"`). * @param {boolean} [config.allowFullScreen=false] - Whether the iframe is allowed to display content in fullscreen mode. * @param {boolean} [config.browsingtopics] - Enables the Browsing Topics API. * @param {boolean} [config.credentialless] - Enables credentialless mode for cross-origin iframes. * @param {string} [config.csp] - Content Security Policy applied specifically to the iframe's content. * @param {string} [config.sandbox] - A space-separated list of sandboxing flags that restrict iframe capabilities. * @param {'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url'} [config.referrerpolicy] - Referrer policy to control the amount of referrer information sent. * @param {number|string} [config.width] - Width of the iframe in pixels or as a CSS dimension string (e.g., `"100%"`). * @param {number|string} [config.height] - Height of the iframe in pixels or as a CSS dimension string (e.g., `"500px"`). * @param {string} [config.title] - Accessible title for the iframe content. * @param {'lazy'|'eager'} [config.loading] - Loading strategy for the iframe. `"lazy"` defers loading until visible in the viewport. * @param {string|string[]|Set} [config.tags=[]] - Additional tags or identifiers for this instance. * @param {string} [config.mainClass=''] - A main CSS class applied to the iframe element. */ constructor({ src, srcdoc, name, allow, allowFullScreen, browsingtopics, credentialless, csp, sandbox, referrerpolicy, width, height, title, loading, tags, mainClass, }?: { src?: string; srcdoc?: string; name?: string; allow?: string; allowFullScreen?: boolean; browsingtopics?: boolean; credentialless?: boolean; csp?: string; sandbox?: string; referrerpolicy?: 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url'; width?: number | string; height?: number | string; title?: string; loading?: 'lazy' | 'eager'; tags?: string | string[] | Set; mainClass?: string; }); /** @param {string} src */ set src(src: string); /** @returns {string|null} */ get src(): string | null; /** @param {string} srcdoc */ set srcdoc(srcdoc: string); /** @returns {string|null} */ get srcdoc(): string | null; /** @param {string} name */ set name(name: string); /** @returns {string|null} */ get name(): string | null; /** @param {string} allow */ set allow(allow: string); /** @returns {string|null} */ get allow(): string | null; /** @param {boolean} allowFullScreen */ set allowFullScreen(allowFullScreen: boolean); /** @returns {boolean} */ get allowFullScreen(): boolean; /** @param {boolean} browsingtopics */ set browsingtopics(browsingtopics: boolean); /** @returns {boolean} */ get browsingtopics(): boolean; /** @param {boolean} credentialless */ set credentialless(credentialless: boolean); /** @returns {boolean} */ get credentialless(): boolean; /** @param {string} csp */ set csp(csp: string); /** @returns {string|null} */ get csp(): string | null; /** @param {string} sandbox */ set sandbox(sandbox: string); /** @returns {string|null} */ get sandbox(): string | null; /** @param {string} referrerpolicy */ set referrerpolicy(referrerpolicy: string); /** @returns {string|null} */ get referrerpolicy(): string | null; /** @param {string} title */ set title(title: string); /** @returns {string|null} */ get title(): string | null; /** @param {'lazy'|'eager'} loading */ set loading(loading: 'lazy' | 'eager'); /** @returns {string|null} */ get loading(): string | null; } export default TinyHtmlIframe; //# sourceMappingURL=TinyHtmlIframe.d.mts.map