Skip to content

Rewrite animations on the Web Animations API - #17576

Open
rkaraivanov wants to merge 2 commits into
masterfrom
rkaraivanov/migrate-animations-to-native
Open

Rewrite animations on the Web Animations API#17576
rkaraivanov wants to merge 2 commits into
masterfrom
rkaraivanov/migrate-animations-to-native

Conversation

@rkaraivanov

Copy link
Copy Markdown
Member

Description

@angular/animations is deprecated. The animation service, the players and every preset in igniteui-angular/animations now run on the native Web Animations API. The package is no longer a peer dependency and provideAnimations() is not required.

Presets are callable: slideInTop({ duration: 1000 }). A bare preset keeps its defaults. Durations and delays are milliseconds. Custom animations use animation(keyframes, options). AnimationReferenceMetadata takes the igniteui-webcomponents shape, re-implemented locally since that package is an optional peer.

Players expose state and started signals and a finished$ observable. finished$ is always delivered in a microtask, also after finish(). The overlay's closed handler re-enters detach(), so a synchronous emission blew up on released settings. This is the same buffering the Angular renderer did.

Motion is controlled by provideIgxAnimations('auto' | 'always' | 'none'). 'auto' honors prefers-reduced-motion, which is a behavioral change. provideIgxNoopAnimations() replaces NoopAnimationsModule in tests.

Mirror and orientation lookups are keyed by preset identity, so parameterized presets flip correctly in the auto position strategy. The openAnimationDetaching/closeAnimationDetaching guards in the overlay are gone; the player contract covers that case.

An ng update migration rewrites useAnimation(x, { params }) to x({ ... }), converts '350ms'/'.35s' to numbers and retypes AnimationReferenceMetadata to AnimationInput.

The old noop player reported a cancelled animation as finished after reset(). That masked a bug in the grid filtering row: Tab on the condition icon toggled a dropdown the navigation directive had already started closing, reopening it. It now calls close(). Two combo tests asserted on the same quirk and were corrected.

Type of Change (check all that apply):

  • Bug fix
  • New functionality
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactoring (no functional changes)
  • Documentation
  • Demos
  • CI/CD
  • Tests
  • Changelog
  • Skills/Agents

How Has This Been Tested?

  • Unit tests
  • Manual testing

Checklist:

  • All relevant tags have been applied to this PR
  • This PR includes unit tests covering all the new code (test guidelines)
  • This PR includes API docs for newly added methods/properties (api docs guidelines)
  • This PR includes feature/README.MD updates for the feature docs
  • This PR includes general feature table updates in the root README.MD
  • This PR includes CHANGELOG.MD updates for newly added functionality
  • This PR contains breaking changes
  • This PR includes ng update migrations for the breaking changes (migrations guidelines)
  • This PR includes behavioral changes and the feature specification has been updated with them
  • Accessibility (ARIA, keyboard navigation, focus management) has been verified

@angular/animations is deprecated. The animation service, the players
and every preset in igniteui-angular/animations now run on the native
Web Animations API. The package is no longer a peer dependency and
provideAnimations() is not required.

Presets are callable: slideInTop({ duration: 1000 }). A bare preset
keeps its defaults. Durations and delays are milliseconds. Custom
animations use animation(keyframes, options). AnimationReferenceMetadata
takes the igniteui-webcomponents shape, re-implemented locally since
that package is an optional peer.

Players expose state and started signals and a finished$ observable.
finished$ is always delivered in a microtask, also after finish(). The
overlay's closed handler re-enters detach(), so a synchronous emission
blew up on released settings. This is the same buffering the Angular
renderer did.

Motion is controlled by provideIgxAnimations('auto' | 'always' | 'none').
'auto' honors prefers-reduced-motion, which is a behavioral change.
provideIgxNoopAnimations() replaces NoopAnimationsModule in tests.

Mirror and orientation lookups are keyed by preset identity, so
parameterized presets flip correctly in the auto position strategy.
The openAnimationDetaching/closeAnimationDetaching guards in the
overlay are gone; the player contract covers that case.

An ng update migration rewrites useAnimation(x, { params }) to
x({ ... }), converts '350ms'/'.35s' to numbers and retypes
AnimationReferenceMetadata to AnimationInput.

The old noop player reported a cancelled animation as finished after
reset(). That masked a bug in the grid filtering row: Tab on the
condition icon toggled a dropdown the navigation directive had already
started closing, reopening it. It now calls close(). Two combo tests
asserted on the same quirk and were corrected.
Copilot AI lite review requested due to automatic review settings September 4, 2026 08:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The overlay demo can throw at runtime by calling resolveAnimation() on null animations after hasAnimation disables them, and the lockfile update needs explicit confirmation per repo guidance.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR migrates Ignite UI for Angular’s animation stack away from the deprecated @angular/animations package, implementing all presets and the animation service on top of the native Web Animations API (WAAPI) while updating consumers (components, overlays, demos, tests, docs, and migrations) to the new API shape.

Changes:

  • Replaced the Angular-animation-based IgxAngularAnimationService/player with a WAAPI-based IgxWebAnimationService and updated the AnimationPlayer contract (signals + finished$).
  • Updated presets and all usages from useAnimation(..., { params }) to callable presets and WAAPI-friendly animation(keyframes, options) metadata; added a migration entry for automated rewrites.
  • Removed @angular/animations from dependencies/peerDependencies and replaced test usage of NoopAnimationsModule with provideIgxNoopAnimations().
File summaries
File Description
src/app/tree/tree.sample.ts Updates demo usage to callable presets with numeric ms durations.
src/app/overlay/overlay.sample.ts Updates overlay demo to retime animations via resolveAnimation() (contains a null-handling bug noted in comments).
src/app/overlay/overlay-animation.sample.ts Rewrites custom overlay animations to WAAPI keyframes + options.
src/app/banner/banner.sample.ts Updates banner demo animation settings to callable presets.
src/app/app.config.ts Removes provideAnimations() since Ignite UI animations no longer depend on Angular animations.
projects/igniteui-angular/tree/src/tree/tree.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() and updates animation service DI token/mock shape.
projects/igniteui-angular/tree/src/tree/tree-selection.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() (incl. zoneless suite).
projects/igniteui-angular/tree/src/tree/tree-navigation.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/toast/src/toast/toast.component.ts Removes useAnimation usage; updates docs/defaults to presets directly.
projects/igniteui-angular/toast/src/toast/toast.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/time-picker/src/time-picker/time-picker.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() across suites.
projects/igniteui-angular/tabs/src/tabs/tabs/tabs.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/switch/src/switch/switch.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/stepper/src/stepper/stepper.component.ts Switches to AnimationInput + resolveAnimation() for duration overrides.
projects/igniteui-angular/stepper/src/stepper/stepper.component.spec.ts Updates animation service mocking + replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/snackbar/src/snackbar/snackbar.component.ts Removes useAnimation; converts durations to ms numbers and uses callable presets.
projects/igniteui-angular/snackbar/src/snackbar/snackbar.component.spec.ts Replaces Angular-animation assertions with resolveAnimation() and uses provideIgxNoopAnimations().
projects/igniteui-angular/slider/src/slider/slider.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/select/src/select/select.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() in multiple setups.
projects/igniteui-angular/schematics/utils/dependency-handler.ts Removes @angular/animations from schematic dependency map.
projects/igniteui-angular/radio/src/radio/radio.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/radio/src/radio/radio-group/radio-group.directive.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/query-builder/src/query-builder/query-builder.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/paginator/src/paginator/paginator.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/package.json Removes @angular/animations from peerDependencies.
projects/igniteui-angular/migrations/update-11_1_0/index.spec.ts Adjusts migration spec fixtures (removes redundant empty imports arrays).
projects/igniteui-angular/migrations/migration-collection.json Registers a new migration for the animations API rewrite.
projects/igniteui-angular/input-group/src/input-group/directives-input/read-only-input.directive.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/icon/src/icon/icon.service.spec.ts Removes redundant empty imports: [] in test module config.
projects/igniteui-angular/grids/tree-grid/src/tree-grid.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/tree-grid/src/tree-grid-summaries.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/tree-grid/src/tree-grid-sorting.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/tree-grid/src/tree-grid-selection.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/tree-grid/src/tree-grid-search.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/tree-grid/src/tree-grid-multi-cell-selection.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/tree-grid/src/tree-grid-keyBoardNav.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() (incl. zoneless setup).
projects/igniteui-angular/grids/tree-grid/src/tree-grid-integration.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/tree-grid/src/tree-grid-indentation.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/tree-grid/src/tree-grid-grouping.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/tree-grid/src/tree-grid-grouping.pipe.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/tree-grid/src/tree-grid-filtering.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/tree-grid/src/tree-grid-expanding.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/tree-grid/src/tree-grid-crud.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/tree-grid/src/tree-grid-add-row-ui.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/pivot-grid/src/pivot-grid.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/pivot-grid/src/pivot-grid-keyboard-nav.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/pivot-grid/src/pivot-data-selector.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/pivot-grid/src/pivot-data-selector.component.ts Updates pivot data selector to callable presets for 0ms animations.
projects/igniteui-angular/grids/hierarchical-grid/src/hierarchical-grid.virtualization.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/hierarchical-grid/src/hierarchical-grid.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/hierarchical-grid/src/hierarchical-grid.selection.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/hierarchical-grid/src/hierarchical-grid.navigation.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/hierarchical-grid/src/hierarchical-grid.integration.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/hierarchical-grid/src/hierarchical-grid-add-row.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/row-drag.directive.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() in multiple setups.
projects/igniteui-angular/grids/grid/src/grid.sorting.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid.search.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid.pinning.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid.pagination.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid.nested.props.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() in multiple setups.
projects/igniteui-angular/grids/grid/src/grid.multi-row-layout.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid.multi-row-layout.integration.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid.master-detail.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() (incl. zoneless suite).
projects/igniteui-angular/grids/grid/src/grid.groupby.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() (incl. zoneless suite).
projects/igniteui-angular/grids/grid/src/grid.crud.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid-validation.spec.ts Updates animation assertions to resolveAnimation() and uses provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid-toolbar.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid-summary.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid-row-selection.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid-row-pinning.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid-row-editing.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid-mrl-keyboard-nav.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid-keyBoardNav.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() in multiple setups.
projects/igniteui-angular/grids/grid/src/grid-keyBoardNav-headers.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() in multiple setups.
projects/igniteui-angular/grids/grid/src/grid-filtering.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid-filtering-ui.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() and updates providers composition.
projects/igniteui-angular/grids/grid/src/grid-filtering-advanced.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid-collapsible-columns.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid-clipboard.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid-cell-selection.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid-cell-editing.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/grid-base.directive.ts Updates API usage from hasStarted() to the new started() signal.
projects/igniteui-angular/grids/grid/src/grid-add-row.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/column.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() (incl. zoneless suite).
projects/igniteui-angular/grids/grid/src/column-selection.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/column-resizing.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/column-pinning.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/column-moving.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/column-hiding.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/column-group.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/grid/src/cell.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() in multiple setups.
projects/igniteui-angular/grids/grid/src/cell-merge.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/core/src/state.treegrid.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/core/src/state.pivotgrid.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/core/src/state.hierarchicalgrid.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/core/src/state.directive.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/core/src/services/excel/excel-exporter-grid.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/core/src/services/csv/csv-exporter-grid.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/core/src/grid-actions/grid-pinning-actions.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/core/src/grid-actions/grid-editing-actions.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/grids/core/src/filtering/grid-filtering.service.ts Removes useAnimation and updates overlay open animation to preset call.
projects/igniteui-angular/grids/core/src/filtering/base/grid-filtering-row.component.ts Fixes a Tab-key edge case by explicitly closing instead of toggling.
projects/igniteui-angular/grids/core/src/cell.component.ts Replaces useAnimation calls with callable presets using numeric durations.
projects/igniteui-angular/expansion-panel/src/expansion-panel/toggle-animation-component.ts Switches to IGX_ANIMATION_SERVICE, AnimationInput, finished$, and started() signal.
projects/igniteui-angular/expansion-panel/src/expansion-panel/toggle-animation-component.spec.ts Updates DI token to IGX_ANIMATION_SERVICE and removes NoopAnimationsModule.
projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/expansion-panel/src/expansion-panel/expansion-panel.common.ts Retypes animation settings from Angular metadata to AnimationInput.
projects/igniteui-angular/drop-down/src/drop-down/autocomplete/autocomplete.directive.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/directives/src/directives/tooltip/tooltip.directive.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() (incl. zoneless suite).
projects/igniteui-angular/directives/src/directives/tooltip/tooltip.common.ts Replaces useAnimation with callable presets using numeric durations.
projects/igniteui-angular/directives/src/directives/toggle/toggle.directive.ts Updates API usage from hasStarted() to the new started() signal.
projects/igniteui-angular/directives/src/directives/toggle/toggle.directive.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/directives/src/directives/focus/focus.directive.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/directives/src/directives/focus-trap/focus-trap.directive.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/directives/src/directives/date-time-editor/date-time-editor.directive.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() in multiple setups.
projects/igniteui-angular/directives/src/directives/button/icon-button.directive.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/directives/src/directives/button/button.directive.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/dialog/src/dialog/dialog.component.ts Updates docs to show callable presets instead of useAnimation(...).
projects/igniteui-angular/dialog/README.md Updates documentation examples to callable presets with numeric durations.
projects/igniteui-angular/date-picker/src/date-range-picker/date-range-picker.component.spec.ts Replaces NoopAnimationsModule and old animation service usage with provideIgxNoopAnimations().
projects/igniteui-angular/date-picker/src/date-picker/date-picker.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() (incl. zoneless setup).
projects/igniteui-angular/date-picker/src/date-picker/calendar-container/calendar-container.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/core/src/services/public_api.ts Removes Angular animation exports and exposes the WAAPI service.
projects/igniteui-angular/core/src/services/overlay/utilities.ts Retypes overlay animations to AnimationInput and removes detaching guards.
projects/igniteui-angular/core/src/services/overlay/position/auto-position-strategy.ts Updates animation reversal to work with new preset identity-based utilities.
projects/igniteui-angular/core/src/services/overlay/overlay.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() and removes Angular service dependency.
projects/igniteui-angular/core/src/services/animation/web-animation-service.ts Adds WAAPI-based animation service honoring motion preferences.
projects/igniteui-angular/core/src/services/animation/animation.ts Updates animation contracts, introduces DI tokens and provideIgxAnimations/provideIgxNoopAnimations.
projects/igniteui-angular/core/src/services/animation/angular-animation-service.ts Removes Angular-based animation service (deleted).
projects/igniteui-angular/core/src/services/animation/angular-animation-player.ts Removes Angular-based animation player (deleted).
projects/igniteui-angular/checkbox/src/checkbox/checkbox.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/carousel/src/carousel/carousel.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() (incl. zoneless setup).
projects/igniteui-angular/calendar/src/calendar/month-picker/month-picker.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations() (incl. zoneless setup).
projects/igniteui-angular/calendar/src/calendar/calendar.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/calendar/src/calendar/calendar-multi-view.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/button-group/src/button-group/button-group.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/bottom-nav/src/bottom-nav/bottom-nav.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/banner/src/banner/banner.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/animations/src/types.ts Adds new WAAPI-first animation types/presets + resolveAnimation().
projects/igniteui-angular/animations/src/swing/README.md Updates docs to new params types and callable preset usage.
projects/igniteui-angular/animations/src/slide/README.md Updates docs to slide presets + callable usage and ms timings.
projects/igniteui-angular/animations/src/scale/README.md Updates docs to callable usage and new params types.
projects/igniteui-angular/animations/src/rotate/README.md Updates docs to callable usage and ms timings.
projects/igniteui-angular/animations/src/public_api.ts Re-exports new types and utilities; updates family param exports.
projects/igniteui-angular/animations/src/misc/README.md Fixes typo (“heartbeat”) and updates params/docs for ms timings + callable presets.
projects/igniteui-angular/animations/src/misc/index.ts Exports new params types for misc presets.
projects/igniteui-angular/animations/src/interface.ts Removes legacy IAnimationParams interface (deleted).
projects/igniteui-angular/animations/src/grow/README.md Adds grow preset documentation for WAAPI-based grow animations.
projects/igniteui-angular/animations/src/grow/index.ts Reimplements grow presets via WAAPI keyframes/preset definition.
projects/igniteui-angular/animations/src/flip/README.md Updates docs to new params types and callable preset usage.
projects/igniteui-angular/animations/src/fade/README.md Updates docs for callable presets and ms-based params.
projects/igniteui-angular/animations/src/fade/index.ts Reimplements fade presets via WAAPI keyframes/preset definition.
projects/igniteui-angular/action-strip/src/action-strip/action-strip.component.spec.ts Replaces NoopAnimationsModule with provideIgxNoopAnimations().
projects/igniteui-angular/accordion/src/accordion/accordion.component.spec.ts Replaces Angular animation usage with callable presets and updates assertions via resolveAnimation().
projects/igniteui-angular-performance/src/app/app.config.ts Removes provideAnimations() from performance app config.
projects/igniteui-angular-elements/src/utils/injector-ref.ts Removes provideAnimations() from elements injector setup.
projects/bundle-test/src/app/app.config.ts Removes provideAnimations() from bundle-test config.
package.json Removes @angular/animations from workspace dependencies.
package-lock.json Removes @angular/animations entries from lockfile (requires confirmation per repo guidance).
CHANGELOG.md Documents new WAAPI animation system, breaking changes, migration, and behavioral change.
Review details
  • Files reviewed: 181/182 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +294 to 298
positionSettings.openAnimation = resolveAnimation(positionSettings.openAnimation, { duration: this.animationLength });
positionSettings.closeAnimation = resolveAnimation(positionSettings.closeAnimation, { duration: this.animationLength });
if (!this.hasAnimation) {
this._overlaySettings.positionStrategy.settings.openAnimation = null;
this._overlaySettings.positionStrategy.settings.closeAnimation = null;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants