-
-
Notifications
You must be signed in to change notification settings - Fork 54
Reveal Animation #485
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Reveal Animation #485
Conversation
- Reorganize import order in attributes-editor (radix icons before lodash) - Standardize quote style from single to double quotes throughout - Enhance attributes editor form layout with improved spacing and labels - Update input/textarea styling with focus states and consistent heights - Conditionally render attributes list only when items exist - Filter out data-animation from block attributes display - Preserve existing data-animation when
|
@kgpatidar is attempting to deploy a commit to the Chai Builder Team on Vercel. A member of the Team first needs to authorize it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces a comprehensive reveal animation system that allows elements to animate into view as users scroll. The implementation is SEO-friendly (content remains in DOM), performance-optimized (uses GPU-accelerated properties), and respects user accessibility preferences (supports prefers-reduced-motion).
Key Changes:
- Added animation infrastructure with IntersectionObserver-based trigger system supporting 6 animation types (fade, slide, zoom, flip, rotate, bounce) with multiple directional variants
- Integrated animation controls into the block settings panel with visual direction selectors and configurable duration/delay/easing options
- Exported
ChaiAnimationContainercomponent for public API consumption
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
src/render/animation/animation-container.tsx |
Container component that initializes animation system via custom hook |
src/render/animation/use-chai-animation.ts |
Hook that manages IntersectionObserver setup and DOM mutation tracking for animated elements |
src/render/animation/animation-utils.ts |
Utilities for animation serialization, CSS class generation, and configuration options |
src/render/animation/animation-styles.css |
CSS animations with GPU-accelerated transforms and accessibility support |
src/render/animation/animation-field.tsx |
UI component for configuring animation parameters in the settings panel |
src/render/render-chai-blocks.tsx |
Wraps rendered blocks with AnimationContainer to enable animation functionality |
src/core/main/index.ts |
Exports ChaiAnimationContainer for external consumption and fixes formatting |
src/core/components/settings/settings-panel.tsx |
Integrates AnimationField into both tabbed and non-tabbed settings layouts |
src/core/components/settings/new-panel/block-attributes-editor.tsx |
Filters out data-animation from user-editable attributes and preserves it during updates |
src/core/components/settings/new-panel/attributes-editor.tsx |
UI improvements including better styling, conditional rendering, and import reordering |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Add animation flag to feature flags documentation with default false value - Update types reference with animation flag in ChaiBuilderEditorProps - Enable animation flag by default in ChaiBuilderDefault editor - Wrap AnimationField component with feature flag check using useBuilderProp - Add animation flag to ChaiBuilderEditorProps interface type definition
No description provided.