/** * @license * Copyright (c) 2023 - 2026 Vaadin Ltd. * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/ */ export type AriaIDReferenceConfig = { newId: string | null; oldId: string | null; fromUser: boolean | null; }; /** * Sets a new ID reference for a target element and an ARIA attribute. * * @param config.newId * The new ARIA ID reference to set. If `null`, the attribute is removed, * and `config.fromUser` is `true`, any stored values are restored. If there * are stored values and `config.fromUser` is `false`, then `config.newId` * is added to the stored values set. * @param config.oldId * The ARIA ID reference to be removed from the attribute. If there are stored * values and `config.fromUser` is `false`, then `config.oldId` is removed from * the stored values set. * @param config.fromUser * Indicates whether the function is called by the user or internally. * When `config.fromUser` is called with `true` for the first time, * the function will clear and store the attribute value for the given element. */ export function setAriaIDReference(target: HTMLElement, attr: string, config: AriaIDReferenceConfig): void; /** * Removes the attribute value of the given target element. * It also stores the current value, if no stored values are present. */ export function removeAriaIDReference(target: HTMLElement, attr: string): void; /** * Restores the generated values of the attribute to the given target element. */ export function restoreGeneratedAriaIDReference(target: HTMLElement, attr: string): void;