import "@testing-library/jest-dom"; // Mock window.matchMedia Object.defineProperty(window, "matchMedia", { writable: true, // eslint-disable-next-line @typescript-eslint/no-empty-function value: (query: string) => ({ matches: false, media: query, onchange: null, addListener: () => {}, // eslint-disable-line @typescript-eslint/no-empty-function removeListener: () => {}, // eslint-disable-line @typescript-eslint/no-empty-function addEventListener: () => {}, // eslint-disable-line @typescript-eslint/no-empty-function removeEventListener: () => {}, // eslint-disable-line @typescript-eslint/no-empty-function dispatchEvent: () => true, }), }); // Mock ResizeObserver // eslint-disable-next-line no-undef, @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function global.ResizeObserver = class ResizeObserver { observe = () => {}; // eslint-disable-line @typescript-eslint/no-empty-function unobserve = () => {}; // eslint-disable-line @typescript-eslint/no-empty-function disconnect = () => {}; // eslint-disable-line @typescript-eslint/no-empty-function // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars, no-undef constructor(_callback: ResizeObserverCallback) {} } as unknown as typeof ResizeObserver; // Mock IntersectionObserver // eslint-disable-next-line no-undef, @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function global.IntersectionObserver = class IntersectionObserver { observe = () => {}; // eslint-disable-line @typescript-eslint/no-empty-function unobserve = () => {}; // eslint-disable-line @typescript-eslint/no-empty-function disconnect = () => {}; // eslint-disable-line @typescript-eslint/no-empty-function // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars, no-undef constructor(_callback: IntersectionObserverCallback) {} } as unknown as typeof IntersectionObserver; // Mock scrollTo Object.defineProperty(window, "scrollTo", { writable: true, value: () => {}, // eslint-disable-line @typescript-eslint/no-empty-function }); // Mock getComputedStyle Object.defineProperty(window, "getComputedStyle", { writable: true, // eslint-disable-next-line @typescript-eslint/no-empty-function value: () => ({ getPropertyValue: () => "", }), });