@angular/animations 14.0.0 → 14.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/index.d.ts +3 -1
- package/browser/testing/index.d.ts +1 -1
- package/esm2020/browser/src/error_helpers.mjs +37 -39
- package/esm2020/browser/src/render/animation_driver.mjs +3 -3
- package/esm2020/browser/src/render/web_animations/web_animations_player.mjs +10 -1
- package/esm2020/src/players/animation_player.mjs +8 -1
- package/esm2020/src/version.mjs +1 -1
- package/fesm2015/animations.mjs +8 -1
- package/fesm2015/animations.mjs.map +1 -1
- package/fesm2015/browser/testing.mjs +37 -39
- package/fesm2015/browser/testing.mjs.map +1 -1
- package/fesm2015/browser.mjs +49 -42
- package/fesm2015/browser.mjs.map +1 -1
- package/fesm2020/animations.mjs +8 -1
- package/fesm2020/animations.mjs.map +1 -1
- package/fesm2020/browser/testing.mjs +37 -39
- package/fesm2020/browser/testing.mjs.map +1 -1
- package/fesm2020/browser.mjs +49 -42
- package/fesm2020/browser.mjs.map +1 -1
- package/index.d.ts +3 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../../packages/animations/browser/src/error_helpers.ts","../../../../../../../packages/animations/browser/src/render/web_animations/animatable_props_set.ts","../../../../../../../packages/animations/browser/src/render/shared.ts","../../../../../../../packages/animations/browser/src/util.ts","../../../../../../../packages/animations/browser/testing/src/mock_animation_driver.ts","../../../../../../../packages/animations/browser/testing/src/testing.ts","../../../../../../../packages/animations/browser/testing/public_api.ts","../../../../../../../packages/animations/browser/testing/index.ts","../../../../../../../packages/animations/browser/testing/testing.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ɵRuntimeError as RuntimeError} from '@angular/core';\n\nimport {RuntimeErrorCode} from './errors';\n\nconst NG_DEV_MODE = typeof ngDevMode === 'undefined' || !!ngDevMode;\nconst LINE_START = '\\n - ';\n\nexport function invalidTimingValue(exp: string|number): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_TIMING_VALUE,\n NG_DEV_MODE && `The provided timing value \"${exp}\" is invalid.`);\n}\n\nexport function negativeStepValue(): Error {\n return new RuntimeError(\n RuntimeErrorCode.NEGATIVE_STEP_VALUE,\n NG_DEV_MODE && 'Duration values below 0 are not allowed for this animation step.');\n}\n\nexport function negativeDelayValue(): Error {\n return new RuntimeError(\n RuntimeErrorCode.NEGATIVE_DELAY_VALUE,\n NG_DEV_MODE && 'Delay values below 0 are not allowed for this animation step.');\n}\n\nexport function invalidStyleParams(varName: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_STYLE_PARAMS,\n NG_DEV_MODE &&\n `Unable to resolve the local animation param ${varName} in the given list of values`);\n}\n\nexport function invalidParamValue(varName: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_PARAM_VALUE,\n NG_DEV_MODE && `Please provide a value for the animation param ${varName}`);\n}\n\nexport function invalidNodeType(nodeType: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_NODE_TYPE,\n NG_DEV_MODE && `Unable to resolve animation metadata node #${nodeType}`);\n}\n\nexport function invalidCssUnitValue(userProvidedProperty: string, value: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_CSS_UNIT_VALUE,\n NG_DEV_MODE && `Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n}\n\nexport function invalidTrigger(): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_TRIGGER,\n NG_DEV_MODE &&\n 'animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n}\n\nexport function invalidDefinition(): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_DEFINITION,\n NG_DEV_MODE && 'only state() and transition() definitions can sit inside of a trigger()');\n}\n\nexport function invalidState(metadataName: string, missingSubs: string[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_STATE,\n NG_DEV_MODE &&\n `state(\"${\n metadataName}\", ...) must define default values for all the following style substitutions: ${\n missingSubs.join(', ')}`);\n}\n\nexport function invalidStyleValue(value: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_STYLE_VALUE,\n NG_DEV_MODE && `The provided style string value ${value} is not allowed.`);\n}\n\nexport function invalidProperty(prop: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_PROPERTY,\n NG_DEV_MODE &&\n `The provided animation property \"${\n prop}\" is not a supported CSS property for animations`);\n}\n\nexport function invalidParallelAnimation(\n prop: string, firstStart: number, firstEnd: number, secondStart: number,\n secondEnd: number): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_PARALLEL_ANIMATION,\n NG_DEV_MODE &&\n `The CSS property \"${prop}\" that exists between the times of \"${firstStart}ms\" and \"${\n firstEnd}ms\" is also being animated in a parallel animation between the times of \"${\n secondStart}ms\" and \"${secondEnd}ms\"`);\n}\n\nexport function invalidKeyframes(): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_KEYFRAMES,\n NG_DEV_MODE && `keyframes() must be placed inside of a call to animate()`);\n}\n\nexport function invalidOffset(): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_OFFSET,\n NG_DEV_MODE && `Please ensure that all keyframe offsets are between 0 and 1`);\n}\n\nexport function keyframeOffsetsOutOfOrder(): Error {\n return new RuntimeError(\n RuntimeErrorCode.KEYFRAME_OFFSETS_OUT_OF_ORDER,\n NG_DEV_MODE && `Please ensure that all keyframe offsets are in order`);\n}\n\nexport function keyframesMissingOffsets(): Error {\n return new RuntimeError(\n RuntimeErrorCode.KEYFRAMES_MISSING_OFFSETS,\n NG_DEV_MODE && `Not all style() steps within the declared keyframes() contain offsets`);\n}\n\nexport function invalidStagger(): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_STAGGER,\n NG_DEV_MODE && `stagger() can only be used inside of query()`);\n}\n\nexport function invalidQuery(selector: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_QUERY,\n NG_DEV_MODE &&\n `\\`query(\"${selector}\")\\` returned zero elements. (Use \\`query(\"${\n selector}\", { optional: true })\\` if you wish to allow this.)`);\n}\n\nexport function invalidExpression(expr: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_EXPRESSION,\n NG_DEV_MODE && `The provided transition expression \"${expr}\" is not supported`);\n}\n\nexport function invalidTransitionAlias(alias: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_TRANSITION_ALIAS,\n NG_DEV_MODE && `The transition alias value \"${alias}\" is not supported`);\n}\n\nexport function validationFailed(errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.VALIDATION_FAILED,\n NG_DEV_MODE && `animation validation failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\n\nexport function buildingFailed(errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.BUILDING_FAILED,\n NG_DEV_MODE && `animation building failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\n\nexport function triggerBuildFailed(name: string, errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.TRIGGER_BUILD_FAILED,\n NG_DEV_MODE &&\n `The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${\n errors.map(err => err.message).join('\\n - ')}`);\n}\n\nexport function animationFailed(errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.ANIMATION_FAILED,\n NG_DEV_MODE &&\n `Unable to animate due to the following errors:${LINE_START}${\n errors.map(err => err.message).join(LINE_START)}`);\n}\n\nexport function registerFailed(errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.REGISTRATION_FAILED,\n NG_DEV_MODE &&\n `Unable to build the animation due to the following errors: ${\n errors.map(err => err.message).join('\\n')}`);\n}\n\nexport function missingOrDestroyedAnimation(): Error {\n return new RuntimeError(\n RuntimeErrorCode.MISSING_OR_DESTROYED_ANIMATION,\n NG_DEV_MODE && 'The requested animation doesn\\'t exist or has already been destroyed');\n}\n\nexport function createAnimationFailed(errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.CREATE_ANIMATION_FAILED,\n NG_DEV_MODE &&\n `Unable to create the animation due to the following errors:${\n errors.map(err => err.message).join('\\n')}`);\n}\n\nexport function missingPlayer(id: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.MISSING_PLAYER,\n NG_DEV_MODE && `Unable to find the timeline player referenced by ${id}`);\n}\n\nexport function missingTrigger(phase: string, name: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.MISSING_TRIGGER,\n NG_DEV_MODE &&\n `Unable to listen on the animation trigger event \"${\n phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n}\n\nexport function missingEvent(name: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.MISSING_EVENT,\n NG_DEV_MODE &&\n `Unable to listen on the animation trigger \"${\n name}\" because the provided event is undefined!`);\n}\n\nexport function unsupportedTriggerEvent(phase: string, name: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.UNSUPPORTED_TRIGGER_EVENT,\n NG_DEV_MODE &&\n `The provided animation trigger event \"${phase}\" for the animation trigger \"${\n name}\" is not supported!`);\n}\n\nexport function unregisteredTrigger(name: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.UNREGISTERED_TRIGGER,\n NG_DEV_MODE && `The provided animation trigger \"${name}\" has not been registered!`);\n}\n\nexport function triggerTransitionsFailed(errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.TRIGGER_TRANSITIONS_FAILED,\n NG_DEV_MODE &&\n `Unable to process animations due to the following failed trigger transitions\\n ${\n errors.map(err => err.message).join('\\n')}`);\n}\n\nexport function triggerParsingFailed(name: string, errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.TRIGGER_PARSING_FAILED,\n NG_DEV_MODE &&\n `Animation parsing for the ${name} trigger have failed:${LINE_START}${\n errors.map(err => err.message).join(LINE_START)}`);\n}\n\nexport function transitionFailed(name: string, errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.TRANSITION_FAILED,\n NG_DEV_MODE &&\n `@${name} has failed due to:\\n ${errors.map(err => err.message).join('\\n- ')}`);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Set of all animatable CSS properties\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties\n */\nexport const ANIMATABLE_PROP_SET = new Set([\n '-moz-outline-radius',\n '-moz-outline-radius-bottomleft',\n '-moz-outline-radius-bottomright',\n '-moz-outline-radius-topleft',\n '-moz-outline-radius-topright',\n '-ms-grid-columns',\n '-ms-grid-rows',\n '-webkit-line-clamp',\n '-webkit-text-fill-color',\n '-webkit-text-stroke',\n '-webkit-text-stroke-color',\n 'accent-color',\n 'all',\n 'backdrop-filter',\n 'background',\n 'background-color',\n 'background-position',\n 'background-size',\n 'block-size',\n 'border',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-width',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image-outset',\n 'border-image-slice',\n 'border-image-width',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-width',\n 'border-left',\n 'border-left-color',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-width',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-shadow',\n 'caret-color',\n 'clip',\n 'clip-path',\n 'color',\n 'column-count',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-width',\n 'column-width',\n 'columns',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-grow',\n 'flex-shrink',\n 'font',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-variation-settings',\n 'font-weight',\n 'gap',\n 'grid-column-gap',\n 'grid-gap',\n 'grid-row-gap',\n 'grid-template-columns',\n 'grid-template-rows',\n 'height',\n 'inline-size',\n 'input-security',\n 'inset',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'left',\n 'letter-spacing',\n 'line-clamp',\n 'line-height',\n 'margin',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'mask',\n 'mask-border',\n 'mask-position',\n 'mask-size',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-lines',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-width',\n 'padding',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'perspective',\n 'perspective-origin',\n 'right',\n 'rotate',\n 'row-gap',\n 'scale',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-coordinate',\n 'scroll-snap-destination',\n 'scrollbar-color',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'tab-size',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-indent',\n 'text-shadow',\n 'text-underline-offset',\n 'top',\n 'transform',\n 'transform-origin',\n 'translate',\n 'vertical-align',\n 'visibility',\n 'width',\n 'word-spacing',\n 'z-index',\n 'zoom',\n]);\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationEvent, AnimationPlayer, AUTO_STYLE, NoopAnimationPlayer, ɵAnimationGroupPlayer, ɵPRE_STYLE as PRE_STYLE, ɵStyleDataMap} from '@angular/animations';\n\nimport {AnimationStyleNormalizer} from '../../src/dsl/style_normalization/animation_style_normalizer';\nimport {AnimationDriver} from '../../src/render/animation_driver';\nimport {animationFailed} from '../error_helpers';\n\nimport {ANIMATABLE_PROP_SET} from './web_animations/animatable_props_set';\n\n// We don't include ambient node types here since @angular/animations/browser\n// is meant to target the browser so technically it should not depend on node\n// types. `process` is just declared locally here as a result.\ndeclare const process: any;\n\nexport function isBrowser(): boolean {\n return (typeof window !== 'undefined' && typeof window.document !== 'undefined');\n}\n\nexport function isNode(): boolean {\n // Checking only for `process` isn't enough to identify whether or not we're in a Node\n // environment, because Webpack by default will polyfill the `process`. While we can discern\n // that Webpack polyfilled it by looking at `process.browser`, it's very Webpack-specific and\n // might not be future-proof. Instead we look at the stringified version of `process` which\n // is `[object process]` in Node and `[object Object]` when polyfilled.\n return typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n}\n\nexport function optimizeGroupPlayer(players: AnimationPlayer[]): AnimationPlayer {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\n\nexport function normalizeKeyframes(\n driver: AnimationDriver, normalizer: AnimationStyleNormalizer, element: any,\n keyframes: Array<ɵStyleDataMap>, preStyles: ɵStyleDataMap = new Map(),\n postStyles: ɵStyleDataMap = new Map()): Array<ɵStyleDataMap> {\n const errors: Error[] = [];\n const normalizedKeyframes: Array<ɵStyleDataMap> = [];\n let previousOffset = -1;\n let previousKeyframe: ɵStyleDataMap|null = null;\n keyframes.forEach(kf => {\n const offset = kf.get('offset') as number;\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe: ɵStyleDataMap = (isSameOffset && previousKeyframe) || new Map();\n kf.forEach((val, prop) => {\n let normalizedProp = prop;\n let normalizedValue = val;\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case PRE_STYLE:\n normalizedValue = preStyles.get(prop)!;\n break;\n\n case AUTO_STYLE:\n normalizedValue = postStyles.get(prop)!;\n break;\n\n default:\n normalizedValue =\n normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe.set(normalizedProp, normalizedValue);\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n throw animationFailed(errors);\n }\n\n return normalizedKeyframes;\n}\n\nexport function listenOnPlayer(\n player: AnimationPlayer, eventName: string, event: AnimationEvent|undefined,\n callback: (event: any) => any) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\n\nexport function copyAnimationEvent(\n e: AnimationEvent, phaseName: string, player: AnimationPlayer): AnimationEvent {\n const totalTime = player.totalTime;\n const disabled = (player as any).disabled ? true : false;\n const event = makeAnimationEvent(\n e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName,\n totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = (e as any)['_data'];\n if (data != null) {\n (event as any)['_data'] = data;\n }\n return event;\n}\n\nexport function makeAnimationEvent(\n element: any, triggerName: string, fromState: string, toState: string, phaseName: string = '',\n totalTime: number = 0, disabled?: boolean): AnimationEvent {\n return {element, triggerName, fromState, toState, phaseName, totalTime, disabled: !!disabled};\n}\n\nexport function getOrSetDefaultValue<T, V>(map: Map<T, V>, key: T, defaultValue: V) {\n let value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n return value;\n}\n\nexport function parseTimelineCommand(command: string): [string, string] {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.slice(separatorPos + 1);\n return [id, action];\n}\n\nlet _contains: (elm1: any, elm2: any) => boolean = (elm1: any, elm2: any) => false;\nlet _query: (element: any, selector: string, multi: boolean) => any[] =\n (element: any, selector: string, multi: boolean) => {\n return [];\n };\nlet _documentElement: unknown|null = null;\n\nexport function getParentElement(element: any): unknown|null {\n const parent = element.parentNode || element.host; // consider host to support shadow DOM\n if (parent === _documentElement) {\n return null;\n }\n return parent;\n}\n\n// Define utility methods for browsers and platform-server(domino) where Element\n// and utility methods exist.\nconst _isNode = isNode();\nif (_isNode || typeof Element !== 'undefined') {\n if (!isBrowser()) {\n _contains = (elm1, elm2) => elm1.contains(elm2);\n } else {\n // Read the document element in an IIFE that's been marked pure to avoid a top-level property\n // read that may prevent tree-shaking.\n _documentElement = /* @__PURE__ */ (() => document.documentElement)();\n _contains = (elm1, elm2) => {\n while (elm2) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = getParentElement(elm2);\n }\n return false;\n };\n }\n\n _query = (element: any, selector: string, multi: boolean): any[] => {\n if (multi) {\n return Array.from(element.querySelectorAll(selector));\n }\n const elem = element.querySelector(selector);\n return elem ? [elem] : [];\n };\n}\n\nfunction containsVendorPrefix(prop: string): boolean {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\n\nlet _CACHED_BODY: {style: any}|null = null;\nlet _IS_WEBKIT = false;\nexport function validateStyleProperty(prop: string): boolean {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY!.style ? ('WebkitAppearance' in _CACHED_BODY!.style) : false;\n }\n\n let result = true;\n if (_CACHED_BODY!.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY!.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.slice(1);\n result = camelProp in _CACHED_BODY!.style;\n }\n }\n\n return result;\n}\n\nexport function validateWebAnimatableStyleProperty(prop: string): boolean {\n return ANIMATABLE_PROP_SET.has(prop);\n}\n\nexport function getBodyNode(): any|null {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\n\nexport const containsElement = _contains;\nexport const invokeQuery = _query;\n\nexport function hypenatePropsKeys(original: ɵStyleDataMap): ɵStyleDataMap {\n const newMap: ɵStyleDataMap = new Map();\n original.forEach((val, prop) => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newMap.set(newProp, val);\n });\n return newMap;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimateTimings, AnimationMetadata, AnimationMetadataType, AnimationOptions, sequence, ɵStyleData, ɵStyleDataMap} from '@angular/animations';\n\nimport {Ast as AnimationAst, AstVisitor as AnimationAstVisitor} from './dsl/animation_ast';\nimport {AnimationDslVisitor} from './dsl/animation_dsl_visitor';\nimport {invalidNodeType, invalidParamValue, invalidStyleParams, invalidTimingValue, negativeDelayValue, negativeStepValue} from './error_helpers';\nimport {isNode} from './render/shared';\n\nexport const ONE_SECOND = 1000;\n\nexport const SUBSTITUTION_EXPR_START = '{{';\nexport const SUBSTITUTION_EXPR_END = '}}';\nexport const ENTER_CLASSNAME = 'ng-enter';\nexport const LEAVE_CLASSNAME = 'ng-leave';\nexport const NG_TRIGGER_CLASSNAME = 'ng-trigger';\nexport const NG_TRIGGER_SELECTOR = '.ng-trigger';\nexport const NG_ANIMATING_CLASSNAME = 'ng-animating';\nexport const NG_ANIMATING_SELECTOR = '.ng-animating';\n\nexport function resolveTimingValue(value: string|number) {\n if (typeof value == 'number') return value;\n\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2) return 0;\n\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\n\nfunction _convertTimeValueToMS(value: number, unit: string): number {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default: // ms or something else\n return value;\n }\n}\n\nexport function resolveTiming(\n timings: string|number|AnimateTimings, errors: Error[], allowNegativeValues?: boolean) {\n return timings.hasOwnProperty('duration') ?\n <AnimateTimings>timings :\n parseTimeExpression(<string|number>timings, errors, allowNegativeValues);\n}\n\nfunction parseTimeExpression(\n exp: string|number, errors: Error[], allowNegativeValues?: boolean): AnimateTimings {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration: number;\n let delay: number = 0;\n let easing: string = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(invalidTimingValue(exp));\n return {duration: 0, delay: 0, easing: ''};\n }\n\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n } else {\n duration = exp;\n }\n\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(negativeStepValue());\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(negativeDelayValue());\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, invalidTimingValue(exp));\n }\n }\n\n return {duration, delay, easing};\n}\n\nexport function copyObj(\n obj: {[key: string]: any}, destination: {[key: string]: any} = {}): {[key: string]: any} {\n Object.keys(obj).forEach(prop => {\n destination[prop] = obj[prop];\n });\n return destination;\n}\n\nexport function convertToMap(obj: ɵStyleData): ɵStyleDataMap {\n const styleMap: ɵStyleDataMap = new Map();\n Object.keys(obj).forEach(prop => {\n const val = obj[prop];\n styleMap.set(prop, val);\n });\n return styleMap;\n}\n\nexport function normalizeKeyframes(keyframes: Array<ɵStyleData>|\n Array<ɵStyleDataMap>): Array<ɵStyleDataMap> {\n if (!keyframes.length) {\n return [];\n }\n if (keyframes[0] instanceof Map) {\n return keyframes as Array<ɵStyleDataMap>;\n }\n return keyframes.map(kf => convertToMap(kf as ɵStyleData));\n}\n\nexport function normalizeStyles(styles: ɵStyleDataMap|Array<ɵStyleDataMap>): ɵStyleDataMap {\n const normalizedStyles: ɵStyleDataMap = new Map();\n if (Array.isArray(styles)) {\n styles.forEach(data => copyStyles(data, normalizedStyles));\n } else {\n copyStyles(styles, normalizedStyles);\n }\n return normalizedStyles;\n}\n\nexport function copyStyles(\n styles: ɵStyleDataMap, destination: ɵStyleDataMap = new Map(),\n backfill?: ɵStyleDataMap): ɵStyleDataMap {\n if (backfill) {\n for (let [prop, val] of backfill) {\n destination.set(prop, val);\n }\n }\n for (let [prop, val] of styles) {\n destination.set(prop, val);\n }\n return destination;\n}\n\nfunction getStyleAttributeString(element: any, key: string, value: string) {\n // Return the key-value pair string to be added to the style attribute for the\n // given CSS style key.\n if (value) {\n return key + ':' + value + ';';\n } else {\n return '';\n }\n}\n\nfunction writeStyleAttribute(element: any) {\n // Read the style property of the element and manually reflect it to the\n // style attribute. This is needed because Domino on platform-server doesn't\n // understand the full set of allowed CSS properties and doesn't reflect some\n // of them automatically.\n let styleAttrValue = '';\n for (let i = 0; i < element.style.length; i++) {\n const key = element.style.item(i);\n styleAttrValue += getStyleAttributeString(element, key, element.style.getPropertyValue(key));\n }\n for (const key in element.style) {\n // Skip internal Domino properties that don't need to be reflected.\n if (!element.style.hasOwnProperty(key) || key.startsWith('_')) {\n continue;\n }\n const dashKey = camelCaseToDashCase(key);\n styleAttrValue += getStyleAttributeString(element, dashKey, element.style[key]);\n }\n element.setAttribute('style', styleAttrValue);\n}\n\nexport function setStyles(element: any, styles: ɵStyleDataMap, formerStyles?: ɵStyleDataMap) {\n if (element['style']) {\n styles.forEach((val, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.has(prop)) {\n formerStyles.set(prop, element.style[camelProp]);\n }\n element.style[camelProp] = val;\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\n\nexport function eraseStyles(element: any, styles: ɵStyleDataMap) {\n if (element['style']) {\n styles.forEach((_, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\n\nexport function normalizeAnimationEntry(steps: AnimationMetadata|\n AnimationMetadata[]): AnimationMetadata {\n if (Array.isArray(steps)) {\n if (steps.length == 1) return steps[0];\n return sequence(steps);\n }\n return steps as AnimationMetadata;\n}\n\nexport function validateStyleParams(\n value: string|number|null|undefined, options: AnimationOptions, errors: Error[]) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(invalidStyleParams(varName));\n }\n });\n }\n}\n\nconst PARAM_REGEX =\n new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nexport function extractStyleParams(value: string|number|null|undefined): string[] {\n let params: string[] = [];\n if (typeof value === 'string') {\n let match: any;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1] as string);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\n\nexport function interpolateParams(\n value: string|number, params: {[name: string]: any}, errors: Error[]): string|number {\n const original = value.toString();\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (localVal == null) {\n errors.push(invalidParamValue(varName));\n localVal = '';\n }\n return localVal.toString();\n });\n\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\n\nexport function iteratorToArray(iterator: any): any[] {\n const arr: any[] = [];\n let item = iterator.next();\n while (!item.done) {\n arr.push(item.value);\n item = iterator.next();\n }\n return arr;\n}\n\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nexport function dashCaseToCamelCase(input: string): string {\n return input.replace(DASH_CASE_REGEXP, (...m: any[]) => m[1].toUpperCase());\n}\n\nexport function camelCaseToDashCase(input: string): string {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function allowPreviousPlayerStylesMerge(duration: number, delay: number) {\n return duration === 0 || delay === 0;\n}\n\nexport function balancePreviousStylesIntoKeyframes(\n element: any, keyframes: Array<ɵStyleDataMap>, previousStyles: ɵStyleDataMap) {\n if (previousStyles.size && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps: string[] = [];\n previousStyles.forEach((val, prop) => {\n if (!startingKeyframe.has(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe.set(prop, val);\n });\n\n if (missingStyleProps.length) {\n for (let i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(prop => kf.set(prop, computeStyle(element, prop)));\n }\n }\n }\n return keyframes;\n}\n\nexport function visitDslNode(\n visitor: AnimationDslVisitor, node: AnimationMetadata, context: any): any;\nexport function visitDslNode(\n visitor: AnimationAstVisitor, node: AnimationAst<AnimationMetadataType>, context: any): any;\nexport function visitDslNode(visitor: any, node: any, context: any): any {\n switch (node.type) {\n case AnimationMetadataType.Trigger:\n return visitor.visitTrigger(node, context);\n case AnimationMetadataType.State:\n return visitor.visitState(node, context);\n case AnimationMetadataType.Transition:\n return visitor.visitTransition(node, context);\n case AnimationMetadataType.Sequence:\n return visitor.visitSequence(node, context);\n case AnimationMetadataType.Group:\n return visitor.visitGroup(node, context);\n case AnimationMetadataType.Animate:\n return visitor.visitAnimate(node, context);\n case AnimationMetadataType.Keyframes:\n return visitor.visitKeyframes(node, context);\n case AnimationMetadataType.Style:\n return visitor.visitStyle(node, context);\n case AnimationMetadataType.Reference:\n return visitor.visitReference(node, context);\n case AnimationMetadataType.AnimateChild:\n return visitor.visitAnimateChild(node, context);\n case AnimationMetadataType.AnimateRef:\n return visitor.visitAnimateRef(node, context);\n case AnimationMetadataType.Query:\n return visitor.visitQuery(node, context);\n case AnimationMetadataType.Stagger:\n return visitor.visitStagger(node, context);\n default:\n throw invalidNodeType(node.type);\n }\n}\n\nexport function computeStyle(element: any, prop: string): string {\n return (<any>window.getComputedStyle(element))[prop];\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationPlayer, AUTO_STYLE, NoopAnimationPlayer, ɵStyleDataMap} from '@angular/animations';\nimport {AnimationDriver, ɵallowPreviousPlayerStylesMerge as allowPreviousPlayerStylesMerge, ɵcontainsElement as containsElement, ɵgetParentElement as getParentElement, ɵinvokeQuery as invokeQuery, ɵnormalizeKeyframes as normalizeKeyframes, ɵvalidateStyleProperty as validateStyleProperty,} from '@angular/animations/browser';\n\nimport {validateWebAnimatableStyleProperty} from '../../src/render/shared';\nimport {camelCaseToDashCase} from '../../src/util';\n\n/**\n * @publicApi\n */\nexport class MockAnimationDriver implements AnimationDriver {\n static log: AnimationPlayer[] = [];\n\n validateStyleProperty(prop: string): boolean {\n return validateStyleProperty(prop);\n }\n\n validateAnimatableStyleProperty(prop: string): boolean {\n const cssProp = camelCaseToDashCase(prop);\n return validateWebAnimatableStyleProperty(cssProp);\n }\n\n matchesElement(_element: any, _selector: string): boolean {\n return false;\n }\n\n containsElement(elm1: any, elm2: any): boolean {\n return containsElement(elm1, elm2);\n }\n\n getParentElement(element: unknown): unknown {\n return getParentElement(element);\n }\n\n query(element: any, selector: string, multi: boolean): any[] {\n return invokeQuery(element, selector, multi);\n }\n\n computeStyle(element: any, prop: string, defaultValue?: string): string {\n return defaultValue || '';\n }\n\n animate(\n element: any, keyframes: Array<ɵStyleDataMap>, duration: number, delay: number,\n easing: string, previousPlayers: any[] = []): MockAnimationPlayer {\n const player =\n new MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers);\n MockAnimationDriver.log.push(<AnimationPlayer>player);\n return player;\n }\n}\n\n/**\n * @publicApi\n */\nexport class MockAnimationPlayer extends NoopAnimationPlayer {\n private __finished = false;\n private __started = false;\n public previousStyles: ɵStyleDataMap = new Map();\n private _onInitFns: (() => any)[] = [];\n public currentSnapshot: ɵStyleDataMap = new Map();\n private _keyframes: Array<ɵStyleDataMap> = [];\n\n constructor(\n public element: any, public keyframes: Array<ɵStyleDataMap>, public duration: number,\n public delay: number, public easing: string, public previousPlayers: any[]) {\n super(duration, delay);\n\n this._keyframes = normalizeKeyframes(keyframes);\n\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousPlayers.forEach(player => {\n if (player instanceof MockAnimationPlayer) {\n const styles = player.currentSnapshot;\n styles.forEach((val, prop) => this.previousStyles.set(prop, val));\n }\n });\n }\n }\n\n /* @internal */\n onInit(fn: () => any) {\n this._onInitFns.push(fn);\n }\n\n /* @internal */\n override init() {\n super.init();\n this._onInitFns.forEach(fn => fn());\n this._onInitFns = [];\n }\n\n override reset() {\n super.reset();\n this.__started = false;\n }\n\n override finish(): void {\n super.finish();\n this.__finished = true;\n }\n\n override destroy(): void {\n super.destroy();\n this.__finished = true;\n }\n\n /* @internal */\n triggerMicrotask() {}\n\n override play(): void {\n super.play();\n this.__started = true;\n }\n\n override hasStarted() {\n return this.__started;\n }\n\n beforeDestroy() {\n const captures: ɵStyleDataMap = new Map();\n\n this.previousStyles.forEach((val, prop) => captures.set(prop, val));\n\n if (this.hasStarted()) {\n // when assembling the captured styles, it's important that\n // we build the keyframe styles in the following order:\n // {other styles within keyframes, ... previousStyles }\n this._keyframes.forEach(kf => {\n for (let [prop, val] of kf) {\n if (prop !== 'offset') {\n captures.set(prop, this.__finished ? val : AUTO_STYLE);\n }\n }\n });\n }\n\n this.currentSnapshot = captures;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport {MockAnimationDriver, MockAnimationPlayer} from './mock_animation_driver';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/testing';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verifcation. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["RuntimeError","normalizeKeyframes","PRE_STYLE","validateStyleProperty","containsElement","getParentElement","invokeQuery","allowPreviousPlayerStylesMerge"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"testing.mjs","sources":["../../../../../../../packages/animations/browser/src/error_helpers.ts","../../../../../../../packages/animations/browser/src/render/web_animations/animatable_props_set.ts","../../../../../../../packages/animations/browser/src/render/shared.ts","../../../../../../../packages/animations/browser/src/util.ts","../../../../../../../packages/animations/browser/testing/src/mock_animation_driver.ts","../../../../../../../packages/animations/browser/testing/src/testing.ts","../../../../../../../packages/animations/browser/testing/public_api.ts","../../../../../../../packages/animations/browser/testing/index.ts","../../../../../../../packages/animations/browser/testing/testing.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ɵRuntimeError as RuntimeError} from '@angular/core';\n\nimport {RuntimeErrorCode} from './errors';\n\nconst LINE_START = '\\n - ';\n\nexport function invalidTimingValue(exp: string|number): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_TIMING_VALUE,\n ngDevMode && `The provided timing value \"${exp}\" is invalid.`);\n}\n\nexport function negativeStepValue(): Error {\n return new RuntimeError(\n RuntimeErrorCode.NEGATIVE_STEP_VALUE,\n ngDevMode && 'Duration values below 0 are not allowed for this animation step.');\n}\n\nexport function negativeDelayValue(): Error {\n return new RuntimeError(\n RuntimeErrorCode.NEGATIVE_DELAY_VALUE,\n ngDevMode && 'Delay values below 0 are not allowed for this animation step.');\n}\n\nexport function invalidStyleParams(varName: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_STYLE_PARAMS,\n ngDevMode &&\n `Unable to resolve the local animation param ${varName} in the given list of values`);\n}\n\nexport function invalidParamValue(varName: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_PARAM_VALUE,\n ngDevMode && `Please provide a value for the animation param ${varName}`);\n}\n\nexport function invalidNodeType(nodeType: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_NODE_TYPE,\n ngDevMode && `Unable to resolve animation metadata node #${nodeType}`);\n}\n\nexport function invalidCssUnitValue(userProvidedProperty: string, value: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_CSS_UNIT_VALUE,\n ngDevMode && `Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n}\n\nexport function invalidTrigger(): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_TRIGGER,\n ngDevMode &&\n 'animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n}\n\nexport function invalidDefinition(): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_DEFINITION,\n ngDevMode && 'only state() and transition() definitions can sit inside of a trigger()');\n}\n\nexport function invalidState(metadataName: string, missingSubs: string[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_STATE,\n ngDevMode &&\n `state(\"${\n metadataName}\", ...) must define default values for all the following style substitutions: ${\n missingSubs.join(', ')}`);\n}\n\nexport function invalidStyleValue(value: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_STYLE_VALUE,\n ngDevMode && `The provided style string value ${value} is not allowed.`);\n}\n\nexport function invalidProperty(prop: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_PROPERTY,\n ngDevMode &&\n `The provided animation property \"${\n prop}\" is not a supported CSS property for animations`);\n}\n\nexport function invalidParallelAnimation(\n prop: string, firstStart: number, firstEnd: number, secondStart: number,\n secondEnd: number): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_PARALLEL_ANIMATION,\n ngDevMode &&\n `The CSS property \"${prop}\" that exists between the times of \"${firstStart}ms\" and \"${\n firstEnd}ms\" is also being animated in a parallel animation between the times of \"${\n secondStart}ms\" and \"${secondEnd}ms\"`);\n}\n\nexport function invalidKeyframes(): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_KEYFRAMES,\n ngDevMode && `keyframes() must be placed inside of a call to animate()`);\n}\n\nexport function invalidOffset(): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_OFFSET,\n ngDevMode && `Please ensure that all keyframe offsets are between 0 and 1`);\n}\n\nexport function keyframeOffsetsOutOfOrder(): Error {\n return new RuntimeError(\n RuntimeErrorCode.KEYFRAME_OFFSETS_OUT_OF_ORDER,\n ngDevMode && `Please ensure that all keyframe offsets are in order`);\n}\n\nexport function keyframesMissingOffsets(): Error {\n return new RuntimeError(\n RuntimeErrorCode.KEYFRAMES_MISSING_OFFSETS,\n ngDevMode && `Not all style() steps within the declared keyframes() contain offsets`);\n}\n\nexport function invalidStagger(): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_STAGGER,\n ngDevMode && `stagger() can only be used inside of query()`);\n}\n\nexport function invalidQuery(selector: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_QUERY,\n ngDevMode &&\n `\\`query(\"${selector}\")\\` returned zero elements. (Use \\`query(\"${\n selector}\", { optional: true })\\` if you wish to allow this.)`);\n}\n\nexport function invalidExpression(expr: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_EXPRESSION,\n ngDevMode && `The provided transition expression \"${expr}\" is not supported`);\n}\n\nexport function invalidTransitionAlias(alias: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.INVALID_TRANSITION_ALIAS,\n ngDevMode && `The transition alias value \"${alias}\" is not supported`);\n}\n\nexport function validationFailed(errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.VALIDATION_FAILED,\n ngDevMode && `animation validation failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\n\nexport function buildingFailed(errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.BUILDING_FAILED,\n ngDevMode && `animation building failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\n\nexport function triggerBuildFailed(name: string, errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.TRIGGER_BUILD_FAILED,\n ngDevMode &&\n `The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${\n errors.map(err => err.message).join('\\n - ')}`);\n}\n\nexport function animationFailed(errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.ANIMATION_FAILED,\n ngDevMode &&\n `Unable to animate due to the following errors:${LINE_START}${\n errors.map(err => err.message).join(LINE_START)}`);\n}\n\nexport function registerFailed(errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.REGISTRATION_FAILED,\n ngDevMode &&\n `Unable to build the animation due to the following errors: ${\n errors.map(err => err.message).join('\\n')}`);\n}\n\nexport function missingOrDestroyedAnimation(): Error {\n return new RuntimeError(\n RuntimeErrorCode.MISSING_OR_DESTROYED_ANIMATION,\n ngDevMode && 'The requested animation doesn\\'t exist or has already been destroyed');\n}\n\nexport function createAnimationFailed(errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.CREATE_ANIMATION_FAILED,\n ngDevMode &&\n `Unable to create the animation due to the following errors:${\n errors.map(err => err.message).join('\\n')}`);\n}\n\nexport function missingPlayer(id: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.MISSING_PLAYER,\n ngDevMode && `Unable to find the timeline player referenced by ${id}`);\n}\n\nexport function missingTrigger(phase: string, name: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.MISSING_TRIGGER,\n ngDevMode &&\n `Unable to listen on the animation trigger event \"${\n phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n}\n\nexport function missingEvent(name: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.MISSING_EVENT,\n ngDevMode &&\n `Unable to listen on the animation trigger \"${\n name}\" because the provided event is undefined!`);\n}\n\nexport function unsupportedTriggerEvent(phase: string, name: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.UNSUPPORTED_TRIGGER_EVENT,\n ngDevMode &&\n `The provided animation trigger event \"${phase}\" for the animation trigger \"${\n name}\" is not supported!`);\n}\n\nexport function unregisteredTrigger(name: string): Error {\n return new RuntimeError(\n RuntimeErrorCode.UNREGISTERED_TRIGGER,\n ngDevMode && `The provided animation trigger \"${name}\" has not been registered!`);\n}\n\nexport function triggerTransitionsFailed(errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.TRIGGER_TRANSITIONS_FAILED,\n ngDevMode &&\n `Unable to process animations due to the following failed trigger transitions\\n ${\n errors.map(err => err.message).join('\\n')}`);\n}\n\nexport function triggerParsingFailed(name: string, errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.TRIGGER_PARSING_FAILED,\n ngDevMode &&\n `Animation parsing for the ${name} trigger have failed:${LINE_START}${\n errors.map(err => err.message).join(LINE_START)}`);\n}\n\nexport function transitionFailed(name: string, errors: Error[]): Error {\n return new RuntimeError(\n RuntimeErrorCode.TRANSITION_FAILED,\n ngDevMode && `@${name} has failed due to:\\n ${errors.map(err => err.message).join('\\n- ')}`);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Set of all animatable CSS properties\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties\n */\nexport const ANIMATABLE_PROP_SET = new Set([\n '-moz-outline-radius',\n '-moz-outline-radius-bottomleft',\n '-moz-outline-radius-bottomright',\n '-moz-outline-radius-topleft',\n '-moz-outline-radius-topright',\n '-ms-grid-columns',\n '-ms-grid-rows',\n '-webkit-line-clamp',\n '-webkit-text-fill-color',\n '-webkit-text-stroke',\n '-webkit-text-stroke-color',\n 'accent-color',\n 'all',\n 'backdrop-filter',\n 'background',\n 'background-color',\n 'background-position',\n 'background-size',\n 'block-size',\n 'border',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-width',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image-outset',\n 'border-image-slice',\n 'border-image-width',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-width',\n 'border-left',\n 'border-left-color',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-width',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-shadow',\n 'caret-color',\n 'clip',\n 'clip-path',\n 'color',\n 'column-count',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-width',\n 'column-width',\n 'columns',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-grow',\n 'flex-shrink',\n 'font',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-variation-settings',\n 'font-weight',\n 'gap',\n 'grid-column-gap',\n 'grid-gap',\n 'grid-row-gap',\n 'grid-template-columns',\n 'grid-template-rows',\n 'height',\n 'inline-size',\n 'input-security',\n 'inset',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'left',\n 'letter-spacing',\n 'line-clamp',\n 'line-height',\n 'margin',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'mask',\n 'mask-border',\n 'mask-position',\n 'mask-size',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-lines',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-width',\n 'padding',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'perspective',\n 'perspective-origin',\n 'right',\n 'rotate',\n 'row-gap',\n 'scale',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-coordinate',\n 'scroll-snap-destination',\n 'scrollbar-color',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'tab-size',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-indent',\n 'text-shadow',\n 'text-underline-offset',\n 'top',\n 'transform',\n 'transform-origin',\n 'translate',\n 'vertical-align',\n 'visibility',\n 'width',\n 'word-spacing',\n 'z-index',\n 'zoom',\n]);\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationEvent, AnimationPlayer, AUTO_STYLE, NoopAnimationPlayer, ɵAnimationGroupPlayer, ɵPRE_STYLE as PRE_STYLE, ɵStyleDataMap} from '@angular/animations';\n\nimport {AnimationStyleNormalizer} from '../../src/dsl/style_normalization/animation_style_normalizer';\nimport {AnimationDriver} from '../../src/render/animation_driver';\nimport {animationFailed} from '../error_helpers';\n\nimport {ANIMATABLE_PROP_SET} from './web_animations/animatable_props_set';\n\n// We don't include ambient node types here since @angular/animations/browser\n// is meant to target the browser so technically it should not depend on node\n// types. `process` is just declared locally here as a result.\ndeclare const process: any;\n\nexport function isBrowser(): boolean {\n return (typeof window !== 'undefined' && typeof window.document !== 'undefined');\n}\n\nexport function isNode(): boolean {\n // Checking only for `process` isn't enough to identify whether or not we're in a Node\n // environment, because Webpack by default will polyfill the `process`. While we can discern\n // that Webpack polyfilled it by looking at `process.browser`, it's very Webpack-specific and\n // might not be future-proof. Instead we look at the stringified version of `process` which\n // is `[object process]` in Node and `[object Object]` when polyfilled.\n return typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n}\n\nexport function optimizeGroupPlayer(players: AnimationPlayer[]): AnimationPlayer {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\n\nexport function normalizeKeyframes(\n driver: AnimationDriver, normalizer: AnimationStyleNormalizer, element: any,\n keyframes: Array<ɵStyleDataMap>, preStyles: ɵStyleDataMap = new Map(),\n postStyles: ɵStyleDataMap = new Map()): Array<ɵStyleDataMap> {\n const errors: Error[] = [];\n const normalizedKeyframes: Array<ɵStyleDataMap> = [];\n let previousOffset = -1;\n let previousKeyframe: ɵStyleDataMap|null = null;\n keyframes.forEach(kf => {\n const offset = kf.get('offset') as number;\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe: ɵStyleDataMap = (isSameOffset && previousKeyframe) || new Map();\n kf.forEach((val, prop) => {\n let normalizedProp = prop;\n let normalizedValue = val;\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case PRE_STYLE:\n normalizedValue = preStyles.get(prop)!;\n break;\n\n case AUTO_STYLE:\n normalizedValue = postStyles.get(prop)!;\n break;\n\n default:\n normalizedValue =\n normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe.set(normalizedProp, normalizedValue);\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n throw animationFailed(errors);\n }\n\n return normalizedKeyframes;\n}\n\nexport function listenOnPlayer(\n player: AnimationPlayer, eventName: string, event: AnimationEvent|undefined,\n callback: (event: any) => any) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\n\nexport function copyAnimationEvent(\n e: AnimationEvent, phaseName: string, player: AnimationPlayer): AnimationEvent {\n const totalTime = player.totalTime;\n const disabled = (player as any).disabled ? true : false;\n const event = makeAnimationEvent(\n e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName,\n totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = (e as any)['_data'];\n if (data != null) {\n (event as any)['_data'] = data;\n }\n return event;\n}\n\nexport function makeAnimationEvent(\n element: any, triggerName: string, fromState: string, toState: string, phaseName: string = '',\n totalTime: number = 0, disabled?: boolean): AnimationEvent {\n return {element, triggerName, fromState, toState, phaseName, totalTime, disabled: !!disabled};\n}\n\nexport function getOrSetDefaultValue<T, V>(map: Map<T, V>, key: T, defaultValue: V) {\n let value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n return value;\n}\n\nexport function parseTimelineCommand(command: string): [string, string] {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.slice(separatorPos + 1);\n return [id, action];\n}\n\nlet _contains: (elm1: any, elm2: any) => boolean = (elm1: any, elm2: any) => false;\nlet _query: (element: any, selector: string, multi: boolean) => any[] =\n (element: any, selector: string, multi: boolean) => {\n return [];\n };\nlet _documentElement: unknown|null = null;\n\nexport function getParentElement(element: any): unknown|null {\n const parent = element.parentNode || element.host; // consider host to support shadow DOM\n if (parent === _documentElement) {\n return null;\n }\n return parent;\n}\n\n// Define utility methods for browsers and platform-server(domino) where Element\n// and utility methods exist.\nconst _isNode = isNode();\nif (_isNode || typeof Element !== 'undefined') {\n if (!isBrowser()) {\n _contains = (elm1, elm2) => elm1.contains(elm2);\n } else {\n // Read the document element in an IIFE that's been marked pure to avoid a top-level property\n // read that may prevent tree-shaking.\n _documentElement = /* @__PURE__ */ (() => document.documentElement)();\n _contains = (elm1, elm2) => {\n while (elm2) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = getParentElement(elm2);\n }\n return false;\n };\n }\n\n _query = (element: any, selector: string, multi: boolean): any[] => {\n if (multi) {\n return Array.from(element.querySelectorAll(selector));\n }\n const elem = element.querySelector(selector);\n return elem ? [elem] : [];\n };\n}\n\nfunction containsVendorPrefix(prop: string): boolean {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\n\nlet _CACHED_BODY: {style: any}|null = null;\nlet _IS_WEBKIT = false;\nexport function validateStyleProperty(prop: string): boolean {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY!.style ? ('WebkitAppearance' in _CACHED_BODY!.style) : false;\n }\n\n let result = true;\n if (_CACHED_BODY!.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY!.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.slice(1);\n result = camelProp in _CACHED_BODY!.style;\n }\n }\n\n return result;\n}\n\nexport function validateWebAnimatableStyleProperty(prop: string): boolean {\n return ANIMATABLE_PROP_SET.has(prop);\n}\n\nexport function getBodyNode(): any|null {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\n\nexport const containsElement = _contains;\nexport const invokeQuery = _query;\n\nexport function hypenatePropsKeys(original: ɵStyleDataMap): ɵStyleDataMap {\n const newMap: ɵStyleDataMap = new Map();\n original.forEach((val, prop) => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newMap.set(newProp, val);\n });\n return newMap;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimateTimings, AnimationMetadata, AnimationMetadataType, AnimationOptions, sequence, ɵStyleData, ɵStyleDataMap} from '@angular/animations';\n\nimport {Ast as AnimationAst, AstVisitor as AnimationAstVisitor} from './dsl/animation_ast';\nimport {AnimationDslVisitor} from './dsl/animation_dsl_visitor';\nimport {invalidNodeType, invalidParamValue, invalidStyleParams, invalidTimingValue, negativeDelayValue, negativeStepValue} from './error_helpers';\nimport {isNode} from './render/shared';\n\nexport const ONE_SECOND = 1000;\n\nexport const SUBSTITUTION_EXPR_START = '{{';\nexport const SUBSTITUTION_EXPR_END = '}}';\nexport const ENTER_CLASSNAME = 'ng-enter';\nexport const LEAVE_CLASSNAME = 'ng-leave';\nexport const NG_TRIGGER_CLASSNAME = 'ng-trigger';\nexport const NG_TRIGGER_SELECTOR = '.ng-trigger';\nexport const NG_ANIMATING_CLASSNAME = 'ng-animating';\nexport const NG_ANIMATING_SELECTOR = '.ng-animating';\n\nexport function resolveTimingValue(value: string|number) {\n if (typeof value == 'number') return value;\n\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2) return 0;\n\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\n\nfunction _convertTimeValueToMS(value: number, unit: string): number {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default: // ms or something else\n return value;\n }\n}\n\nexport function resolveTiming(\n timings: string|number|AnimateTimings, errors: Error[], allowNegativeValues?: boolean) {\n return timings.hasOwnProperty('duration') ?\n <AnimateTimings>timings :\n parseTimeExpression(<string|number>timings, errors, allowNegativeValues);\n}\n\nfunction parseTimeExpression(\n exp: string|number, errors: Error[], allowNegativeValues?: boolean): AnimateTimings {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration: number;\n let delay: number = 0;\n let easing: string = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(invalidTimingValue(exp));\n return {duration: 0, delay: 0, easing: ''};\n }\n\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n } else {\n duration = exp;\n }\n\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(negativeStepValue());\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(negativeDelayValue());\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, invalidTimingValue(exp));\n }\n }\n\n return {duration, delay, easing};\n}\n\nexport function copyObj(\n obj: {[key: string]: any}, destination: {[key: string]: any} = {}): {[key: string]: any} {\n Object.keys(obj).forEach(prop => {\n destination[prop] = obj[prop];\n });\n return destination;\n}\n\nexport function convertToMap(obj: ɵStyleData): ɵStyleDataMap {\n const styleMap: ɵStyleDataMap = new Map();\n Object.keys(obj).forEach(prop => {\n const val = obj[prop];\n styleMap.set(prop, val);\n });\n return styleMap;\n}\n\nexport function normalizeKeyframes(keyframes: Array<ɵStyleData>|\n Array<ɵStyleDataMap>): Array<ɵStyleDataMap> {\n if (!keyframes.length) {\n return [];\n }\n if (keyframes[0] instanceof Map) {\n return keyframes as Array<ɵStyleDataMap>;\n }\n return keyframes.map(kf => convertToMap(kf as ɵStyleData));\n}\n\nexport function normalizeStyles(styles: ɵStyleDataMap|Array<ɵStyleDataMap>): ɵStyleDataMap {\n const normalizedStyles: ɵStyleDataMap = new Map();\n if (Array.isArray(styles)) {\n styles.forEach(data => copyStyles(data, normalizedStyles));\n } else {\n copyStyles(styles, normalizedStyles);\n }\n return normalizedStyles;\n}\n\nexport function copyStyles(\n styles: ɵStyleDataMap, destination: ɵStyleDataMap = new Map(),\n backfill?: ɵStyleDataMap): ɵStyleDataMap {\n if (backfill) {\n for (let [prop, val] of backfill) {\n destination.set(prop, val);\n }\n }\n for (let [prop, val] of styles) {\n destination.set(prop, val);\n }\n return destination;\n}\n\nfunction getStyleAttributeString(element: any, key: string, value: string) {\n // Return the key-value pair string to be added to the style attribute for the\n // given CSS style key.\n if (value) {\n return key + ':' + value + ';';\n } else {\n return '';\n }\n}\n\nfunction writeStyleAttribute(element: any) {\n // Read the style property of the element and manually reflect it to the\n // style attribute. This is needed because Domino on platform-server doesn't\n // understand the full set of allowed CSS properties and doesn't reflect some\n // of them automatically.\n let styleAttrValue = '';\n for (let i = 0; i < element.style.length; i++) {\n const key = element.style.item(i);\n styleAttrValue += getStyleAttributeString(element, key, element.style.getPropertyValue(key));\n }\n for (const key in element.style) {\n // Skip internal Domino properties that don't need to be reflected.\n if (!element.style.hasOwnProperty(key) || key.startsWith('_')) {\n continue;\n }\n const dashKey = camelCaseToDashCase(key);\n styleAttrValue += getStyleAttributeString(element, dashKey, element.style[key]);\n }\n element.setAttribute('style', styleAttrValue);\n}\n\nexport function setStyles(element: any, styles: ɵStyleDataMap, formerStyles?: ɵStyleDataMap) {\n if (element['style']) {\n styles.forEach((val, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.has(prop)) {\n formerStyles.set(prop, element.style[camelProp]);\n }\n element.style[camelProp] = val;\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\n\nexport function eraseStyles(element: any, styles: ɵStyleDataMap) {\n if (element['style']) {\n styles.forEach((_, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\n\nexport function normalizeAnimationEntry(steps: AnimationMetadata|\n AnimationMetadata[]): AnimationMetadata {\n if (Array.isArray(steps)) {\n if (steps.length == 1) return steps[0];\n return sequence(steps);\n }\n return steps as AnimationMetadata;\n}\n\nexport function validateStyleParams(\n value: string|number|null|undefined, options: AnimationOptions, errors: Error[]) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(invalidStyleParams(varName));\n }\n });\n }\n}\n\nconst PARAM_REGEX =\n new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nexport function extractStyleParams(value: string|number|null|undefined): string[] {\n let params: string[] = [];\n if (typeof value === 'string') {\n let match: any;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1] as string);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\n\nexport function interpolateParams(\n value: string|number, params: {[name: string]: any}, errors: Error[]): string|number {\n const original = value.toString();\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (localVal == null) {\n errors.push(invalidParamValue(varName));\n localVal = '';\n }\n return localVal.toString();\n });\n\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\n\nexport function iteratorToArray(iterator: any): any[] {\n const arr: any[] = [];\n let item = iterator.next();\n while (!item.done) {\n arr.push(item.value);\n item = iterator.next();\n }\n return arr;\n}\n\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nexport function dashCaseToCamelCase(input: string): string {\n return input.replace(DASH_CASE_REGEXP, (...m: any[]) => m[1].toUpperCase());\n}\n\nexport function camelCaseToDashCase(input: string): string {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function allowPreviousPlayerStylesMerge(duration: number, delay: number) {\n return duration === 0 || delay === 0;\n}\n\nexport function balancePreviousStylesIntoKeyframes(\n element: any, keyframes: Array<ɵStyleDataMap>, previousStyles: ɵStyleDataMap) {\n if (previousStyles.size && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps: string[] = [];\n previousStyles.forEach((val, prop) => {\n if (!startingKeyframe.has(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe.set(prop, val);\n });\n\n if (missingStyleProps.length) {\n for (let i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(prop => kf.set(prop, computeStyle(element, prop)));\n }\n }\n }\n return keyframes;\n}\n\nexport function visitDslNode(\n visitor: AnimationDslVisitor, node: AnimationMetadata, context: any): any;\nexport function visitDslNode(\n visitor: AnimationAstVisitor, node: AnimationAst<AnimationMetadataType>, context: any): any;\nexport function visitDslNode(visitor: any, node: any, context: any): any {\n switch (node.type) {\n case AnimationMetadataType.Trigger:\n return visitor.visitTrigger(node, context);\n case AnimationMetadataType.State:\n return visitor.visitState(node, context);\n case AnimationMetadataType.Transition:\n return visitor.visitTransition(node, context);\n case AnimationMetadataType.Sequence:\n return visitor.visitSequence(node, context);\n case AnimationMetadataType.Group:\n return visitor.visitGroup(node, context);\n case AnimationMetadataType.Animate:\n return visitor.visitAnimate(node, context);\n case AnimationMetadataType.Keyframes:\n return visitor.visitKeyframes(node, context);\n case AnimationMetadataType.Style:\n return visitor.visitStyle(node, context);\n case AnimationMetadataType.Reference:\n return visitor.visitReference(node, context);\n case AnimationMetadataType.AnimateChild:\n return visitor.visitAnimateChild(node, context);\n case AnimationMetadataType.AnimateRef:\n return visitor.visitAnimateRef(node, context);\n case AnimationMetadataType.Query:\n return visitor.visitQuery(node, context);\n case AnimationMetadataType.Stagger:\n return visitor.visitStagger(node, context);\n default:\n throw invalidNodeType(node.type);\n }\n}\n\nexport function computeStyle(element: any, prop: string): string {\n return (<any>window.getComputedStyle(element))[prop];\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationPlayer, AUTO_STYLE, NoopAnimationPlayer, ɵStyleDataMap} from '@angular/animations';\nimport {AnimationDriver, ɵallowPreviousPlayerStylesMerge as allowPreviousPlayerStylesMerge, ɵcontainsElement as containsElement, ɵgetParentElement as getParentElement, ɵinvokeQuery as invokeQuery, ɵnormalizeKeyframes as normalizeKeyframes, ɵvalidateStyleProperty as validateStyleProperty,} from '@angular/animations/browser';\n\nimport {validateWebAnimatableStyleProperty} from '../../src/render/shared';\nimport {camelCaseToDashCase} from '../../src/util';\n\n/**\n * @publicApi\n */\nexport class MockAnimationDriver implements AnimationDriver {\n static log: AnimationPlayer[] = [];\n\n validateStyleProperty(prop: string): boolean {\n return validateStyleProperty(prop);\n }\n\n validateAnimatableStyleProperty(prop: string): boolean {\n const cssProp = camelCaseToDashCase(prop);\n return validateWebAnimatableStyleProperty(cssProp);\n }\n\n matchesElement(_element: any, _selector: string): boolean {\n return false;\n }\n\n containsElement(elm1: any, elm2: any): boolean {\n return containsElement(elm1, elm2);\n }\n\n getParentElement(element: unknown): unknown {\n return getParentElement(element);\n }\n\n query(element: any, selector: string, multi: boolean): any[] {\n return invokeQuery(element, selector, multi);\n }\n\n computeStyle(element: any, prop: string, defaultValue?: string): string {\n return defaultValue || '';\n }\n\n animate(\n element: any, keyframes: Array<ɵStyleDataMap>, duration: number, delay: number,\n easing: string, previousPlayers: any[] = []): MockAnimationPlayer {\n const player =\n new MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers);\n MockAnimationDriver.log.push(<AnimationPlayer>player);\n return player;\n }\n}\n\n/**\n * @publicApi\n */\nexport class MockAnimationPlayer extends NoopAnimationPlayer {\n private __finished = false;\n private __started = false;\n public previousStyles: ɵStyleDataMap = new Map();\n private _onInitFns: (() => any)[] = [];\n public currentSnapshot: ɵStyleDataMap = new Map();\n private _keyframes: Array<ɵStyleDataMap> = [];\n\n constructor(\n public element: any, public keyframes: Array<ɵStyleDataMap>, public duration: number,\n public delay: number, public easing: string, public previousPlayers: any[]) {\n super(duration, delay);\n\n this._keyframes = normalizeKeyframes(keyframes);\n\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousPlayers.forEach(player => {\n if (player instanceof MockAnimationPlayer) {\n const styles = player.currentSnapshot;\n styles.forEach((val, prop) => this.previousStyles.set(prop, val));\n }\n });\n }\n }\n\n /* @internal */\n onInit(fn: () => any) {\n this._onInitFns.push(fn);\n }\n\n /* @internal */\n override init() {\n super.init();\n this._onInitFns.forEach(fn => fn());\n this._onInitFns = [];\n }\n\n override reset() {\n super.reset();\n this.__started = false;\n }\n\n override finish(): void {\n super.finish();\n this.__finished = true;\n }\n\n override destroy(): void {\n super.destroy();\n this.__finished = true;\n }\n\n /* @internal */\n triggerMicrotask() {}\n\n override play(): void {\n super.play();\n this.__started = true;\n }\n\n override hasStarted() {\n return this.__started;\n }\n\n beforeDestroy() {\n const captures: ɵStyleDataMap = new Map();\n\n this.previousStyles.forEach((val, prop) => captures.set(prop, val));\n\n if (this.hasStarted()) {\n // when assembling the captured styles, it's important that\n // we build the keyframe styles in the following order:\n // {other styles within keyframes, ... previousStyles }\n this._keyframes.forEach(kf => {\n for (let [prop, val] of kf) {\n if (prop !== 'offset') {\n captures.set(prop, this.__finished ? val : AUTO_STYLE);\n }\n }\n });\n }\n\n this.currentSnapshot = captures;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport {MockAnimationDriver, MockAnimationPlayer} from './mock_animation_driver';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/testing';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verifcation. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["RuntimeError","normalizeKeyframes","PRE_STYLE","validateStyleProperty","containsElement","getParentElement","invokeQuery","allowPreviousPlayerStylesMerge"],"mappings":"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"}
|
package/fesm2020/browser.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v14.0.
|
|
2
|
+
* @license Angular v14.0.3
|
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -15,131 +15,129 @@ import { ɵRuntimeError, Injectable } from '@angular/core';
|
|
|
15
15
|
* Use of this source code is governed by an MIT-style license that can be
|
|
16
16
|
* found in the LICENSE file at https://angular.io/license
|
|
17
17
|
*/
|
|
18
|
-
const NG_DEV_MODE$1 = typeof ngDevMode === 'undefined' || !!ngDevMode;
|
|
19
18
|
const LINE_START = '\n - ';
|
|
20
19
|
function invalidTimingValue(exp) {
|
|
21
|
-
return new ɵRuntimeError(3000 /* RuntimeErrorCode.INVALID_TIMING_VALUE */,
|
|
20
|
+
return new ɵRuntimeError(3000 /* RuntimeErrorCode.INVALID_TIMING_VALUE */, ngDevMode && `The provided timing value "${exp}" is invalid.`);
|
|
22
21
|
}
|
|
23
22
|
function negativeStepValue() {
|
|
24
|
-
return new ɵRuntimeError(3100 /* RuntimeErrorCode.NEGATIVE_STEP_VALUE */,
|
|
23
|
+
return new ɵRuntimeError(3100 /* RuntimeErrorCode.NEGATIVE_STEP_VALUE */, ngDevMode && 'Duration values below 0 are not allowed for this animation step.');
|
|
25
24
|
}
|
|
26
25
|
function negativeDelayValue() {
|
|
27
|
-
return new ɵRuntimeError(3101 /* RuntimeErrorCode.NEGATIVE_DELAY_VALUE */,
|
|
26
|
+
return new ɵRuntimeError(3101 /* RuntimeErrorCode.NEGATIVE_DELAY_VALUE */, ngDevMode && 'Delay values below 0 are not allowed for this animation step.');
|
|
28
27
|
}
|
|
29
28
|
function invalidStyleParams(varName) {
|
|
30
|
-
return new ɵRuntimeError(3001 /* RuntimeErrorCode.INVALID_STYLE_PARAMS */,
|
|
29
|
+
return new ɵRuntimeError(3001 /* RuntimeErrorCode.INVALID_STYLE_PARAMS */, ngDevMode &&
|
|
31
30
|
`Unable to resolve the local animation param ${varName} in the given list of values`);
|
|
32
31
|
}
|
|
33
32
|
function invalidParamValue(varName) {
|
|
34
|
-
return new ɵRuntimeError(3003 /* RuntimeErrorCode.INVALID_PARAM_VALUE */,
|
|
33
|
+
return new ɵRuntimeError(3003 /* RuntimeErrorCode.INVALID_PARAM_VALUE */, ngDevMode && `Please provide a value for the animation param ${varName}`);
|
|
35
34
|
}
|
|
36
35
|
function invalidNodeType(nodeType) {
|
|
37
|
-
return new ɵRuntimeError(3004 /* RuntimeErrorCode.INVALID_NODE_TYPE */,
|
|
36
|
+
return new ɵRuntimeError(3004 /* RuntimeErrorCode.INVALID_NODE_TYPE */, ngDevMode && `Unable to resolve animation metadata node #${nodeType}`);
|
|
38
37
|
}
|
|
39
38
|
function invalidCssUnitValue(userProvidedProperty, value) {
|
|
40
|
-
return new ɵRuntimeError(3005 /* RuntimeErrorCode.INVALID_CSS_UNIT_VALUE */,
|
|
39
|
+
return new ɵRuntimeError(3005 /* RuntimeErrorCode.INVALID_CSS_UNIT_VALUE */, ngDevMode && `Please provide a CSS unit value for ${userProvidedProperty}:${value}`);
|
|
41
40
|
}
|
|
42
41
|
function invalidTrigger() {
|
|
43
|
-
return new ɵRuntimeError(3006 /* RuntimeErrorCode.INVALID_TRIGGER */,
|
|
42
|
+
return new ɵRuntimeError(3006 /* RuntimeErrorCode.INVALID_TRIGGER */, ngDevMode &&
|
|
44
43
|
'animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\'@foo\', [...]))');
|
|
45
44
|
}
|
|
46
45
|
function invalidDefinition() {
|
|
47
|
-
return new ɵRuntimeError(3007 /* RuntimeErrorCode.INVALID_DEFINITION */,
|
|
46
|
+
return new ɵRuntimeError(3007 /* RuntimeErrorCode.INVALID_DEFINITION */, ngDevMode && 'only state() and transition() definitions can sit inside of a trigger()');
|
|
48
47
|
}
|
|
49
48
|
function invalidState(metadataName, missingSubs) {
|
|
50
|
-
return new ɵRuntimeError(3008 /* RuntimeErrorCode.INVALID_STATE */,
|
|
49
|
+
return new ɵRuntimeError(3008 /* RuntimeErrorCode.INVALID_STATE */, ngDevMode &&
|
|
51
50
|
`state("${metadataName}", ...) must define default values for all the following style substitutions: ${missingSubs.join(', ')}`);
|
|
52
51
|
}
|
|
53
52
|
function invalidStyleValue(value) {
|
|
54
|
-
return new ɵRuntimeError(3002 /* RuntimeErrorCode.INVALID_STYLE_VALUE */,
|
|
53
|
+
return new ɵRuntimeError(3002 /* RuntimeErrorCode.INVALID_STYLE_VALUE */, ngDevMode && `The provided style string value ${value} is not allowed.`);
|
|
55
54
|
}
|
|
56
55
|
function invalidProperty(prop) {
|
|
57
|
-
return new ɵRuntimeError(3009 /* RuntimeErrorCode.INVALID_PROPERTY */,
|
|
56
|
+
return new ɵRuntimeError(3009 /* RuntimeErrorCode.INVALID_PROPERTY */, ngDevMode &&
|
|
58
57
|
`The provided animation property "${prop}" is not a supported CSS property for animations`);
|
|
59
58
|
}
|
|
60
59
|
function invalidParallelAnimation(prop, firstStart, firstEnd, secondStart, secondEnd) {
|
|
61
|
-
return new ɵRuntimeError(3010 /* RuntimeErrorCode.INVALID_PARALLEL_ANIMATION */,
|
|
60
|
+
return new ɵRuntimeError(3010 /* RuntimeErrorCode.INVALID_PARALLEL_ANIMATION */, ngDevMode &&
|
|
62
61
|
`The CSS property "${prop}" that exists between the times of "${firstStart}ms" and "${firstEnd}ms" is also being animated in a parallel animation between the times of "${secondStart}ms" and "${secondEnd}ms"`);
|
|
63
62
|
}
|
|
64
63
|
function invalidKeyframes() {
|
|
65
|
-
return new ɵRuntimeError(3011 /* RuntimeErrorCode.INVALID_KEYFRAMES */,
|
|
64
|
+
return new ɵRuntimeError(3011 /* RuntimeErrorCode.INVALID_KEYFRAMES */, ngDevMode && `keyframes() must be placed inside of a call to animate()`);
|
|
66
65
|
}
|
|
67
66
|
function invalidOffset() {
|
|
68
|
-
return new ɵRuntimeError(3012 /* RuntimeErrorCode.INVALID_OFFSET */,
|
|
67
|
+
return new ɵRuntimeError(3012 /* RuntimeErrorCode.INVALID_OFFSET */, ngDevMode && `Please ensure that all keyframe offsets are between 0 and 1`);
|
|
69
68
|
}
|
|
70
69
|
function keyframeOffsetsOutOfOrder() {
|
|
71
|
-
return new ɵRuntimeError(3200 /* RuntimeErrorCode.KEYFRAME_OFFSETS_OUT_OF_ORDER */,
|
|
70
|
+
return new ɵRuntimeError(3200 /* RuntimeErrorCode.KEYFRAME_OFFSETS_OUT_OF_ORDER */, ngDevMode && `Please ensure that all keyframe offsets are in order`);
|
|
72
71
|
}
|
|
73
72
|
function keyframesMissingOffsets() {
|
|
74
|
-
return new ɵRuntimeError(3202 /* RuntimeErrorCode.KEYFRAMES_MISSING_OFFSETS */,
|
|
73
|
+
return new ɵRuntimeError(3202 /* RuntimeErrorCode.KEYFRAMES_MISSING_OFFSETS */, ngDevMode && `Not all style() steps within the declared keyframes() contain offsets`);
|
|
75
74
|
}
|
|
76
75
|
function invalidStagger() {
|
|
77
|
-
return new ɵRuntimeError(3013 /* RuntimeErrorCode.INVALID_STAGGER */,
|
|
76
|
+
return new ɵRuntimeError(3013 /* RuntimeErrorCode.INVALID_STAGGER */, ngDevMode && `stagger() can only be used inside of query()`);
|
|
78
77
|
}
|
|
79
78
|
function invalidQuery(selector) {
|
|
80
|
-
return new ɵRuntimeError(3014 /* RuntimeErrorCode.INVALID_QUERY */,
|
|
79
|
+
return new ɵRuntimeError(3014 /* RuntimeErrorCode.INVALID_QUERY */, ngDevMode &&
|
|
81
80
|
`\`query("${selector}")\` returned zero elements. (Use \`query("${selector}", { optional: true })\` if you wish to allow this.)`);
|
|
82
81
|
}
|
|
83
82
|
function invalidExpression(expr) {
|
|
84
|
-
return new ɵRuntimeError(3015 /* RuntimeErrorCode.INVALID_EXPRESSION */,
|
|
83
|
+
return new ɵRuntimeError(3015 /* RuntimeErrorCode.INVALID_EXPRESSION */, ngDevMode && `The provided transition expression "${expr}" is not supported`);
|
|
85
84
|
}
|
|
86
85
|
function invalidTransitionAlias(alias) {
|
|
87
|
-
return new ɵRuntimeError(3016 /* RuntimeErrorCode.INVALID_TRANSITION_ALIAS */,
|
|
86
|
+
return new ɵRuntimeError(3016 /* RuntimeErrorCode.INVALID_TRANSITION_ALIAS */, ngDevMode && `The transition alias value "${alias}" is not supported`);
|
|
88
87
|
}
|
|
89
88
|
function validationFailed(errors) {
|
|
90
|
-
return new ɵRuntimeError(3500 /* RuntimeErrorCode.VALIDATION_FAILED */,
|
|
89
|
+
return new ɵRuntimeError(3500 /* RuntimeErrorCode.VALIDATION_FAILED */, ngDevMode && `animation validation failed:\n${errors.map(err => err.message).join('\n')}`);
|
|
91
90
|
}
|
|
92
91
|
function buildingFailed(errors) {
|
|
93
|
-
return new ɵRuntimeError(3501 /* RuntimeErrorCode.BUILDING_FAILED */,
|
|
92
|
+
return new ɵRuntimeError(3501 /* RuntimeErrorCode.BUILDING_FAILED */, ngDevMode && `animation building failed:\n${errors.map(err => err.message).join('\n')}`);
|
|
94
93
|
}
|
|
95
94
|
function triggerBuildFailed(name, errors) {
|
|
96
|
-
return new ɵRuntimeError(3404 /* RuntimeErrorCode.TRIGGER_BUILD_FAILED */,
|
|
95
|
+
return new ɵRuntimeError(3404 /* RuntimeErrorCode.TRIGGER_BUILD_FAILED */, ngDevMode &&
|
|
97
96
|
`The animation trigger "${name}" has failed to build due to the following errors:\n - ${errors.map(err => err.message).join('\n - ')}`);
|
|
98
97
|
}
|
|
99
98
|
function animationFailed(errors) {
|
|
100
|
-
return new ɵRuntimeError(3502 /* RuntimeErrorCode.ANIMATION_FAILED */,
|
|
99
|
+
return new ɵRuntimeError(3502 /* RuntimeErrorCode.ANIMATION_FAILED */, ngDevMode &&
|
|
101
100
|
`Unable to animate due to the following errors:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);
|
|
102
101
|
}
|
|
103
102
|
function registerFailed(errors) {
|
|
104
|
-
return new ɵRuntimeError(3503 /* RuntimeErrorCode.REGISTRATION_FAILED */,
|
|
103
|
+
return new ɵRuntimeError(3503 /* RuntimeErrorCode.REGISTRATION_FAILED */, ngDevMode &&
|
|
105
104
|
`Unable to build the animation due to the following errors: ${errors.map(err => err.message).join('\n')}`);
|
|
106
105
|
}
|
|
107
106
|
function missingOrDestroyedAnimation() {
|
|
108
|
-
return new ɵRuntimeError(3300 /* RuntimeErrorCode.MISSING_OR_DESTROYED_ANIMATION */,
|
|
107
|
+
return new ɵRuntimeError(3300 /* RuntimeErrorCode.MISSING_OR_DESTROYED_ANIMATION */, ngDevMode && 'The requested animation doesn\'t exist or has already been destroyed');
|
|
109
108
|
}
|
|
110
109
|
function createAnimationFailed(errors) {
|
|
111
|
-
return new ɵRuntimeError(3504 /* RuntimeErrorCode.CREATE_ANIMATION_FAILED */,
|
|
110
|
+
return new ɵRuntimeError(3504 /* RuntimeErrorCode.CREATE_ANIMATION_FAILED */, ngDevMode &&
|
|
112
111
|
`Unable to create the animation due to the following errors:${errors.map(err => err.message).join('\n')}`);
|
|
113
112
|
}
|
|
114
113
|
function missingPlayer(id) {
|
|
115
|
-
return new ɵRuntimeError(3301 /* RuntimeErrorCode.MISSING_PLAYER */,
|
|
114
|
+
return new ɵRuntimeError(3301 /* RuntimeErrorCode.MISSING_PLAYER */, ngDevMode && `Unable to find the timeline player referenced by ${id}`);
|
|
116
115
|
}
|
|
117
116
|
function missingTrigger(phase, name) {
|
|
118
|
-
return new ɵRuntimeError(3302 /* RuntimeErrorCode.MISSING_TRIGGER */,
|
|
117
|
+
return new ɵRuntimeError(3302 /* RuntimeErrorCode.MISSING_TRIGGER */, ngDevMode &&
|
|
119
118
|
`Unable to listen on the animation trigger event "${phase}" because the animation trigger "${name}" doesn\'t exist!`);
|
|
120
119
|
}
|
|
121
120
|
function missingEvent(name) {
|
|
122
|
-
return new ɵRuntimeError(3303 /* RuntimeErrorCode.MISSING_EVENT */,
|
|
121
|
+
return new ɵRuntimeError(3303 /* RuntimeErrorCode.MISSING_EVENT */, ngDevMode &&
|
|
123
122
|
`Unable to listen on the animation trigger "${name}" because the provided event is undefined!`);
|
|
124
123
|
}
|
|
125
124
|
function unsupportedTriggerEvent(phase, name) {
|
|
126
|
-
return new ɵRuntimeError(3400 /* RuntimeErrorCode.UNSUPPORTED_TRIGGER_EVENT */,
|
|
125
|
+
return new ɵRuntimeError(3400 /* RuntimeErrorCode.UNSUPPORTED_TRIGGER_EVENT */, ngDevMode &&
|
|
127
126
|
`The provided animation trigger event "${phase}" for the animation trigger "${name}" is not supported!`);
|
|
128
127
|
}
|
|
129
128
|
function unregisteredTrigger(name) {
|
|
130
|
-
return new ɵRuntimeError(3401 /* RuntimeErrorCode.UNREGISTERED_TRIGGER */,
|
|
129
|
+
return new ɵRuntimeError(3401 /* RuntimeErrorCode.UNREGISTERED_TRIGGER */, ngDevMode && `The provided animation trigger "${name}" has not been registered!`);
|
|
131
130
|
}
|
|
132
131
|
function triggerTransitionsFailed(errors) {
|
|
133
|
-
return new ɵRuntimeError(3402 /* RuntimeErrorCode.TRIGGER_TRANSITIONS_FAILED */,
|
|
132
|
+
return new ɵRuntimeError(3402 /* RuntimeErrorCode.TRIGGER_TRANSITIONS_FAILED */, ngDevMode &&
|
|
134
133
|
`Unable to process animations due to the following failed trigger transitions\n ${errors.map(err => err.message).join('\n')}`);
|
|
135
134
|
}
|
|
136
135
|
function triggerParsingFailed(name, errors) {
|
|
137
|
-
return new ɵRuntimeError(3403 /* RuntimeErrorCode.TRIGGER_PARSING_FAILED */,
|
|
136
|
+
return new ɵRuntimeError(3403 /* RuntimeErrorCode.TRIGGER_PARSING_FAILED */, ngDevMode &&
|
|
138
137
|
`Animation parsing for the ${name} trigger have failed:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);
|
|
139
138
|
}
|
|
140
139
|
function transitionFailed(name, errors) {
|
|
141
|
-
return new ɵRuntimeError(3505 /* RuntimeErrorCode.TRANSITION_FAILED */,
|
|
142
|
-
`@${name} has failed due to:\n ${errors.map(err => err.message).join('\n- ')}`);
|
|
140
|
+
return new ɵRuntimeError(3505 /* RuntimeErrorCode.TRANSITION_FAILED */, ngDevMode && `@${name} has failed due to:\n ${errors.map(err => err.message).join('\n- ')}`);
|
|
143
141
|
}
|
|
144
142
|
|
|
145
143
|
/**
|
|
@@ -580,9 +578,9 @@ class NoopAnimationDriver {
|
|
|
580
578
|
return new NoopAnimationPlayer(duration, delay);
|
|
581
579
|
}
|
|
582
580
|
}
|
|
583
|
-
NoopAnimationDriver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.
|
|
584
|
-
NoopAnimationDriver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.
|
|
585
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.
|
|
581
|
+
NoopAnimationDriver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NoopAnimationDriver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
582
|
+
NoopAnimationDriver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NoopAnimationDriver });
|
|
583
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NoopAnimationDriver, decorators: [{
|
|
586
584
|
type: Injectable
|
|
587
585
|
}] });
|
|
588
586
|
/**
|
|
@@ -4435,6 +4433,11 @@ class WebAnimationsPlayer {
|
|
|
4435
4433
|
this._finished = false;
|
|
4436
4434
|
this._started = false;
|
|
4437
4435
|
this._destroyed = false;
|
|
4436
|
+
// the following original fns are persistent copies of the _onStartFns and _onDoneFns
|
|
4437
|
+
// and are used to reset the fns to their original values upon reset()
|
|
4438
|
+
// (since the _onStartFns and _onDoneFns get deleted after they are called)
|
|
4439
|
+
this._originalOnDoneFns = [];
|
|
4440
|
+
this._originalOnStartFns = [];
|
|
4438
4441
|
this.time = 0;
|
|
4439
4442
|
this.parentPlayer = null;
|
|
4440
4443
|
this.currentSnapshot = new Map();
|
|
@@ -4486,9 +4489,11 @@ class WebAnimationsPlayer {
|
|
|
4486
4489
|
return element['animate'](this._convertKeyframesToObject(keyframes), options);
|
|
4487
4490
|
}
|
|
4488
4491
|
onStart(fn) {
|
|
4492
|
+
this._originalOnStartFns.push(fn);
|
|
4489
4493
|
this._onStartFns.push(fn);
|
|
4490
4494
|
}
|
|
4491
4495
|
onDone(fn) {
|
|
4496
|
+
this._originalOnDoneFns.push(fn);
|
|
4492
4497
|
this._onDoneFns.push(fn);
|
|
4493
4498
|
}
|
|
4494
4499
|
onDestroy(fn) {
|
|
@@ -4523,6 +4528,8 @@ class WebAnimationsPlayer {
|
|
|
4523
4528
|
this._destroyed = false;
|
|
4524
4529
|
this._finished = false;
|
|
4525
4530
|
this._started = false;
|
|
4531
|
+
this._onStartFns = this._originalOnStartFns;
|
|
4532
|
+
this._onDoneFns = this._originalOnDoneFns;
|
|
4526
4533
|
}
|
|
4527
4534
|
_resetDomPlayerState() {
|
|
4528
4535
|
if (this.domPlayer) {
|