- Introduced DrawLine component for drawing animations. - Added LazyRevealImage component for lazy loading images with reveal animations. - Implemented TextDiffuseReveal for animated text reveals with staggered effects. - Created TopProgressBar for a dynamic loading indicator. - Added PointCloud mock for testing animations. - Developed useReducedMotion hook to handle user preferences for reduced motion. - Centralized animation configurations in config.ts for easier management. - Defined animation variants in variants.ts for consistent animation effects. - Established AnimationProvider to supply global animation settings. - Created tests for AnimationProvider and useReducedMotion hook. - Added SVG assets for branding and UI elements. - Documented frontend review plan and hero circuit board animation plan.
34 lines
1005 B
TypeScript
34 lines
1005 B
TypeScript
import "@testing-library/jest-dom";
|
|
import "./__mocks__/resizeObserver";
|
|
|
|
// Mock PointerEvent if not available in JSDOM
|
|
if (typeof global.PointerEvent === "undefined") {
|
|
class PointerEvent extends MouseEvent {
|
|
pointerId: number;
|
|
pointerType: string;
|
|
isPrimary: boolean;
|
|
constructor(type: string, params: PointerEventInit = {}) {
|
|
super(type, params);
|
|
this.pointerId = params.pointerId || 0;
|
|
this.pointerType = params.pointerType || "mouse";
|
|
this.isPrimary = params.isPrimary || false;
|
|
}
|
|
}
|
|
global.PointerEvent = PointerEvent as typeof global.PointerEvent;
|
|
}
|
|
|
|
// Mock window.matchMedia
|
|
Object.defineProperty(window, "matchMedia", {
|
|
writable: true,
|
|
value: jest.fn().mockImplementation((query) => ({
|
|
matches: false,
|
|
media: query,
|
|
onchange: null,
|
|
addListener: jest.fn(), // Deprecated
|
|
removeListener: jest.fn(), // Deprecated
|
|
addEventListener: jest.fn(),
|
|
removeEventListener: jest.fn(),
|
|
dispatchEvent: jest.fn(),
|
|
})),
|
|
});
|