\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\n\n\n\n","// Utility function to debounce another function\nfunction debounce void> (func: T, wait: number): T {\n\tlet timeout: ReturnType | null;\n\treturn function (...args: Parameters) {\n\t\tif (timeout) {\n\t\t\tclearTimeout(timeout);\n\t\t}\n\t\ttimeout = setTimeout(() => {\n\t\t\tfunc(...args);\n\t\t}, wait);\n\t} as T;\n}\n\n// Function to get elements with specified classes\nfunction getElementsByClasses (classes: string[]): NodeListOf[] {\n\treturn classes.map(classToLocate => document.querySelectorAll(classToLocate));\n}\n\n// Function to check if an element has any prefixed class\nfunction hasPrefixedClass (element: Element, prefix: string): boolean {\n\treturn Array.from(element.classList).some(c => c.startsWith(prefix));\n}\n\n// Function to update the class list of an element\nfunction updateElementClasses (element: Element, prefix: string): void {\n\tif (hasPrefixedClass(element, prefix)) {\n\t\treturn;\n\t}\n\tconst classes = element.classList.value.split(\" \").filter(c => !c.startsWith(\"p-\"));\n\tclasses.forEach(c => {\n\t\tif (c.startsWith(prefix)) {\n\t\t\telement.classList.remove(c);\n\t\t}\n\t\telement.classList.add(prefix + c);\n\t});\n}\n\n// Main function to prefix classes of icons\nexport function prefixClassOfIcons (): void {\n\tconst classesToLocate = [ \".p-button-icon\" ];\n\tconst prefix = \"iconoir-\";\n\n\tconst elementsLists = getElementsByClasses(classesToLocate);\n\telementsLists.forEach(elements => {\n\t\telements.forEach(element => {\n\t\t\tupdateElementClasses(element, prefix);\n\t\t});\n\t});\n}\n\n// Debounced version of prefixClassOfIcons\nconst debouncedPrefixClassOfIcons = debounce(prefixClassOfIcons, 100); // Adjust the wait time as needed\n\n// Variable to hold the MutationObserver instance\nlet observer: MutationObserver | null = null;\n\n// Function to observe DOM changes and reapply class prefixing\nexport function observeDOMChanges (): void {\n\tif (observer) {\n\t\t// Observer is already in place, do nothing\n\t\treturn;\n\t}\n\n\tobserver = new MutationObserver(() => {\n\t\tdebouncedPrefixClassOfIcons();\n\t});\n\n\t// Observe changes to the entire document\n\tobserver.observe(document.body, {\n\t\tchildList: true,\n\t\tsubtree: true,\n\t\tattributes: true\n\t});\n\n\t// Initial call to prefix classes\n\tdebouncedPrefixClassOfIcons();\n}\n","\n\n\n\t
\n\t\t\n\t\t\tDEBUG MODE, BEAUCOUP DE FONCTIONNALITÉS PEUVENT NE PAS FONCTIONNER\n\t\t\n\t\t\n\t\t