index.d.ts 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. /**
  2. * @license Angular v19.2.4
  3. * (c) 2010-2025 Google LLC. https://angular.io/
  4. * License: MIT
  5. */
  6. import { AnimationPlayer, AnimationTriggerMetadata, ɵStyleDataMap as _StyleDataMap, AnimationMetadata, AnimationOptions, ɵStyleData as _StyleData } from '@angular/animations';
  7. import * as i0 from '@angular/core';
  8. import { Renderer2, ɵAnimationRendererType as _AnimationRendererType, RendererStyleFlags2, ListenerOptions, RendererFactory2, NgZone, RendererType2 } from '@angular/core';
  9. /**
  10. * @publicApi
  11. *
  12. * `AnimationDriver` implentation for Noop animations
  13. */
  14. declare class NoopAnimationDriver implements AnimationDriver {
  15. /**
  16. * @returns Whether `prop` is a valid CSS property
  17. */
  18. validateStyleProperty(prop: string): boolean;
  19. /**
  20. *
  21. * @returns Whether elm1 contains elm2.
  22. */
  23. containsElement(elm1: any, elm2: any): boolean;
  24. /**
  25. * @returns Rhe parent of the given element or `null` if the element is the `document`
  26. */
  27. getParentElement(element: unknown): unknown;
  28. /**
  29. * @returns The result of the query selector on the element. The array will contain up to 1 item
  30. * if `multi` is `false`.
  31. */
  32. query(element: any, selector: string, multi: boolean): any[];
  33. /**
  34. * @returns The `defaultValue` or empty string
  35. */
  36. computeStyle(element: any, prop: string, defaultValue?: string): string;
  37. /**
  38. * @returns An `NoopAnimationPlayer`
  39. */
  40. animate(element: any, keyframes: Array<Map<string, string | number>>, duration: number, delay: number, easing: string, previousPlayers?: any[], scrubberAccessRequested?: boolean): AnimationPlayer;
  41. static ɵfac: i0.ɵɵFactoryDeclaration<NoopAnimationDriver, never>;
  42. static ɵprov: i0.ɵɵInjectableDeclaration<NoopAnimationDriver>;
  43. }
  44. /**
  45. * @publicApi
  46. */
  47. declare abstract class AnimationDriver {
  48. /**
  49. * @deprecated Use the NoopAnimationDriver class.
  50. */
  51. static NOOP: AnimationDriver;
  52. abstract validateStyleProperty(prop: string): boolean;
  53. abstract validateAnimatableStyleProperty?: (prop: string) => boolean;
  54. abstract containsElement(elm1: any, elm2: any): boolean;
  55. /**
  56. * Obtains the parent element, if any. `null` is returned if the element does not have a parent.
  57. */
  58. abstract getParentElement(element: unknown): unknown;
  59. abstract query(element: any, selector: string, multi: boolean): any[];
  60. abstract computeStyle(element: any, prop: string, defaultValue?: string): string;
  61. abstract animate(element: any, keyframes: Array<Map<string, string | number>>, duration: number, delay: number, easing?: string | null, previousPlayers?: any[], scrubberAccessRequested?: boolean): any;
  62. }
  63. declare abstract class AnimationStyleNormalizer {
  64. abstract normalizePropertyName(propertyName: string, errors: Error[]): string;
  65. abstract normalizeStyleValue(userProvidedProperty: string, normalizedProperty: string, value: string | number, errors: Error[]): string;
  66. }
  67. declare class NoopAnimationStyleNormalizer {
  68. normalizePropertyName(propertyName: string, errors: Error[]): string;
  69. normalizeStyleValue(userProvidedProperty: string, normalizedProperty: string, value: string | number, errors: Error[]): string;
  70. }
  71. declare class AnimationEngine {
  72. private _driver;
  73. private _normalizer;
  74. private _transitionEngine;
  75. private _timelineEngine;
  76. private _triggerCache;
  77. onRemovalComplete: (element: any, context: any) => void;
  78. constructor(doc: Document, _driver: AnimationDriver, _normalizer: AnimationStyleNormalizer);
  79. registerTrigger(componentId: string, namespaceId: string, hostElement: any, name: string, metadata: AnimationTriggerMetadata): void;
  80. register(namespaceId: string, hostElement: any): void;
  81. destroy(namespaceId: string, context: any): void;
  82. onInsert(namespaceId: string, element: any, parent: any, insertBefore: boolean): void;
  83. onRemove(namespaceId: string, element: any, context: any): void;
  84. disableAnimations(element: any, disable: boolean): void;
  85. process(namespaceId: string, element: any, property: string, value: any): void;
  86. listen(namespaceId: string, element: any, eventName: string, eventPhase: string, callback: (event: any) => any): () => any;
  87. flush(microtaskId?: number): void;
  88. get players(): AnimationPlayer[];
  89. whenRenderingDone(): Promise<any>;
  90. afterFlushAnimationsDone(cb: VoidFunction): void;
  91. }
  92. declare function createEngine(type: 'animations' | 'noop', doc: Document): AnimationEngine;
  93. declare const enum AnimationTransitionInstructionType {
  94. TransitionAnimation = 0,
  95. TimelineAnimation = 1
  96. }
  97. interface AnimationEngineInstruction {
  98. type: AnimationTransitionInstructionType;
  99. }
  100. interface AnimationTimelineInstruction extends AnimationEngineInstruction {
  101. element: any;
  102. keyframes: Array<_StyleDataMap>;
  103. preStyleProps: string[];
  104. postStyleProps: string[];
  105. duration: number;
  106. delay: number;
  107. totalTime: number;
  108. easing: string | null;
  109. stretchStartingKeyframe?: boolean;
  110. subTimeline: boolean;
  111. }
  112. declare class ElementInstructionMap {
  113. private _map;
  114. get(element: any): AnimationTimelineInstruction[];
  115. append(element: any, instructions: AnimationTimelineInstruction[]): void;
  116. has(element: any): boolean;
  117. clear(): void;
  118. }
  119. declare class Animation$1 {
  120. private _driver;
  121. private _animationAst;
  122. constructor(_driver: AnimationDriver, input: AnimationMetadata | AnimationMetadata[]);
  123. buildTimelines(element: any, startingStyles: _StyleDataMap | Array<_StyleDataMap>, destinationStyles: _StyleDataMap | Array<_StyleDataMap>, options: AnimationOptions, subInstructions?: ElementInstructionMap): AnimationTimelineInstruction[];
  124. }
  125. declare class WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {
  126. normalizePropertyName(propertyName: string, errors: Error[]): string;
  127. normalizeStyleValue(userProvidedProperty: string, normalizedProperty: string, value: string | number, errors: Error[]): string;
  128. }
  129. type AnimationFactoryWithListenerCallback = RendererFactory2 & {
  130. scheduleListenerCallback: (count: number, fn: (e: any) => any, data: any) => void;
  131. };
  132. declare class BaseAnimationRenderer implements Renderer2 {
  133. protected namespaceId: string;
  134. delegate: Renderer2;
  135. engine: AnimationEngine;
  136. private _onDestroy?;
  137. readonly ɵtype: _AnimationRendererType.Regular;
  138. constructor(namespaceId: string, delegate: Renderer2, engine: AnimationEngine, _onDestroy?: (() => void) | undefined);
  139. get data(): {
  140. [key: string]: any;
  141. };
  142. destroyNode(node: any): void;
  143. destroy(): void;
  144. createElement(name: string, namespace?: string | null | undefined): any;
  145. createComment(value: string): any;
  146. createText(value: string): any;
  147. appendChild(parent: any, newChild: any): void;
  148. insertBefore(parent: any, newChild: any, refChild: any, isMove?: boolean): void;
  149. removeChild(parent: any, oldChild: any, isHostElement?: boolean): void;
  150. selectRootElement(selectorOrNode: any, preserveContent?: boolean): any;
  151. parentNode(node: any): any;
  152. nextSibling(node: any): any;
  153. setAttribute(el: any, name: string, value: string, namespace?: string | null | undefined): void;
  154. removeAttribute(el: any, name: string, namespace?: string | null | undefined): void;
  155. addClass(el: any, name: string): void;
  156. removeClass(el: any, name: string): void;
  157. setStyle(el: any, style: string, value: any, flags?: RendererStyleFlags2 | undefined): void;
  158. removeStyle(el: any, style: string, flags?: RendererStyleFlags2 | undefined): void;
  159. setProperty(el: any, name: string, value: any): void;
  160. setValue(node: any, value: string): void;
  161. listen(target: any, eventName: string, callback: (event: any) => boolean | void, options?: ListenerOptions): () => void;
  162. protected disableAnimations(element: any, value: boolean): void;
  163. }
  164. declare class AnimationRenderer extends BaseAnimationRenderer implements Renderer2 {
  165. factory: AnimationFactoryWithListenerCallback;
  166. constructor(factory: AnimationFactoryWithListenerCallback, namespaceId: string, delegate: Renderer2, engine: AnimationEngine, onDestroy?: () => void);
  167. setProperty(el: any, name: string, value: any): void;
  168. listen(target: 'window' | 'document' | 'body' | any, eventName: string, callback: (event: any) => any, options?: ListenerOptions): () => void;
  169. }
  170. declare class AnimationRendererFactory implements RendererFactory2 {
  171. private delegate;
  172. private engine;
  173. private _zone;
  174. private _currentId;
  175. private _microtaskId;
  176. private _animationCallbacksBuffer;
  177. private _rendererCache;
  178. private _cdRecurDepth;
  179. constructor(delegate: RendererFactory2, engine: AnimationEngine, _zone: NgZone);
  180. createRenderer(hostElement: any, type: RendererType2): BaseAnimationRenderer;
  181. begin(): void;
  182. private _scheduleCountTask;
  183. end(): void;
  184. whenRenderingDone(): Promise<any>;
  185. /**
  186. * Used during HMR to clear any cached data about a component.
  187. * @param componentId ID of the component that is being replaced.
  188. */
  189. protected componentReplaced(componentId: string): void;
  190. }
  191. declare function getParentElement(element: any): unknown | null;
  192. declare function validateStyleProperty(prop: string): boolean;
  193. declare function validateWebAnimatableStyleProperty(prop: string): boolean;
  194. declare function containsElement(elm1: any, elm2: any): boolean;
  195. declare function invokeQuery(element: any, selector: string, multi: boolean): any[];
  196. declare class WebAnimationsDriver implements AnimationDriver {
  197. validateStyleProperty(prop: string): boolean;
  198. validateAnimatableStyleProperty(prop: string): boolean;
  199. containsElement(elm1: any, elm2: any): boolean;
  200. getParentElement(element: unknown): unknown;
  201. query(element: any, selector: string, multi: boolean): any[];
  202. computeStyle(element: any, prop: string, defaultValue?: string): string;
  203. animate(element: any, keyframes: Array<Map<string, string | number>>, duration: number, delay: number, easing: string, previousPlayers?: AnimationPlayer[]): AnimationPlayer;
  204. }
  205. /**
  206. * Designed to be executed during a keyframe-based animation to apply any special-cased styles.
  207. *
  208. * When started (when the `start()` method is run) then the provided `startStyles`
  209. * will be applied. When finished (when the `finish()` method is called) the
  210. * `endStyles` will be applied as well any any starting styles. Finally when
  211. * `destroy()` is called then all styles will be removed.
  212. */
  213. declare class SpecialCasedStyles {
  214. private _element;
  215. private _startStyles;
  216. private _endStyles;
  217. static initialStylesByElement: WeakMap<any, _StyleDataMap>;
  218. private _state;
  219. private _initialStyles;
  220. constructor(_element: any, _startStyles: _StyleDataMap | null, _endStyles: _StyleDataMap | null);
  221. start(): void;
  222. finish(): void;
  223. destroy(): void;
  224. }
  225. declare class WebAnimationsPlayer implements AnimationPlayer {
  226. element: any;
  227. keyframes: Array<_StyleDataMap>;
  228. options: {
  229. [key: string]: string | number;
  230. };
  231. private _specialStyles?;
  232. private _onDoneFns;
  233. private _onStartFns;
  234. private _onDestroyFns;
  235. private _duration;
  236. private _delay;
  237. private _initialized;
  238. private _finished;
  239. private _started;
  240. private _destroyed;
  241. private _finalKeyframe?;
  242. private _originalOnDoneFns;
  243. private _originalOnStartFns;
  244. readonly domPlayer: Animation;
  245. time: number;
  246. parentPlayer: AnimationPlayer | null;
  247. currentSnapshot: _StyleDataMap;
  248. constructor(element: any, keyframes: Array<_StyleDataMap>, options: {
  249. [key: string]: string | number;
  250. }, _specialStyles?: (SpecialCasedStyles | null) | undefined);
  251. private _onFinish;
  252. init(): void;
  253. private _buildPlayer;
  254. private _preparePlayerBeforeStart;
  255. private _convertKeyframesToObject;
  256. onStart(fn: () => void): void;
  257. onDone(fn: () => void): void;
  258. onDestroy(fn: () => void): void;
  259. play(): void;
  260. pause(): void;
  261. finish(): void;
  262. reset(): void;
  263. private _resetDomPlayerState;
  264. restart(): void;
  265. hasStarted(): boolean;
  266. destroy(): void;
  267. setPosition(p: number): void;
  268. getPosition(): number;
  269. get totalTime(): number;
  270. beforeDestroy(): void;
  271. }
  272. declare function normalizeKeyframes(keyframes: Array<_StyleData> | Array<_StyleDataMap>): Array<_StyleDataMap>;
  273. declare function camelCaseToDashCase(input: string): string;
  274. declare function allowPreviousPlayerStylesMerge(duration: number, delay: number): boolean;
  275. export { AnimationDriver, NoopAnimationDriver, Animation$1 as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationRenderer as ɵAnimationRenderer, AnimationRendererFactory as ɵAnimationRendererFactory, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, BaseAnimationRenderer as ɵBaseAnimationRenderer, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, camelCaseToDashCase as ɵcamelCaseToDashCase, containsElement as ɵcontainsElement, createEngine as ɵcreateEngine, getParentElement as ɵgetParentElement, invokeQuery as ɵinvokeQuery, normalizeKeyframes as ɵnormalizeKeyframes, validateStyleProperty as ɵvalidateStyleProperty, validateWebAnimatableStyleProperty as ɵvalidateWebAnimatableStyleProperty };