3ba2ba09fdf9562707c42093cf0ac97f107178ebe79d5ad78734730097a6f6b4.json 63 KB

1
  1. {"ast":null,"code":"/**\n * @license Angular v16.2.1\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { ViewEncapsulation, Injectable, Inject, RendererFactory2, NgZone, ANIMATION_MODULE_TYPE, NgModule } from '@angular/core';\nexport { ANIMATION_MODULE_TYPE } from '@angular/core';\nimport { ɵDomRendererFactory2, BrowserModule } from '@angular/platform-browser';\nimport { AnimationBuilder, sequence, AnimationFactory } from '@angular/animations';\nimport * as i1 from '@angular/animations/browser';\nimport { ɵAnimationEngine, ɵWebAnimationsStyleNormalizer, ɵAnimationStyleNormalizer, AnimationDriver, ɵWebAnimationsDriver, ɵNoopAnimationDriver } from '@angular/animations/browser';\nimport { DOCUMENT } from '@angular/common';\nclass BrowserAnimationBuilder extends AnimationBuilder {\n constructor(rootRenderer, doc) {\n super();\n this._nextAnimationId = 0;\n const typeData = {\n id: '0',\n encapsulation: ViewEncapsulation.None,\n styles: [],\n data: {\n animation: []\n }\n };\n this._renderer = rootRenderer.createRenderer(doc.body, typeData);\n }\n build(animation) {\n const id = this._nextAnimationId.toString();\n this._nextAnimationId++;\n const entry = Array.isArray(animation) ? sequence(animation) : animation;\n issueAnimationCommand(this._renderer, null, id, 'register', [entry]);\n return new BrowserAnimationFactory(id, this._renderer);\n }\n static #_ = this.ɵfac = function BrowserAnimationBuilder_Factory(t) {\n return new (t || BrowserAnimationBuilder)(i0.ɵɵinject(i0.RendererFactory2), i0.ɵɵinject(DOCUMENT));\n };\n static #_2 = this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: BrowserAnimationBuilder,\n factory: BrowserAnimationBuilder.ɵfac\n });\n}\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(BrowserAnimationBuilder, [{\n type: Injectable\n }], function () {\n return [{\n type: i0.RendererFactory2\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }];\n }, null);\n})();\nclass BrowserAnimationFactory extends AnimationFactory {\n constructor(_id, _renderer) {\n super();\n this._id = _id;\n this._renderer = _renderer;\n }\n create(element, options) {\n return new RendererAnimationPlayer(this._id, element, options || {}, this._renderer);\n }\n}\nclass RendererAnimationPlayer {\n constructor(id, element, options, _renderer) {\n this.id = id;\n this.element = element;\n this._renderer = _renderer;\n this.parentPlayer = null;\n this._started = false;\n this.totalTime = 0;\n this._command('create', options);\n }\n _listen(eventName, callback) {\n return this._renderer.listen(this.element, `@@${this.id}:${eventName}`, callback);\n }\n _command(command, ...args) {\n return issueAnimationCommand(this._renderer, this.element, this.id, command, args);\n }\n onDone(fn) {\n this._listen('done', fn);\n }\n onStart(fn) {\n this._listen('start', fn);\n }\n onDestroy(fn) {\n this._listen('destroy', fn);\n }\n init() {\n this._command('init');\n }\n hasStarted() {\n return this._started;\n }\n play() {\n this._command('play');\n this._started = true;\n }\n pause() {\n this._command('pause');\n }\n restart() {\n this._command('restart');\n }\n finish() {\n this._command('finish');\n }\n destroy() {\n this._command('destroy');\n }\n reset() {\n this._command('reset');\n this._started = false;\n }\n setPosition(p) {\n this._command('setPosition', p);\n }\n getPosition() {\n return this._renderer.engine.players[+this.id]?.getPosition() ?? 0;\n }\n}\nfunction issueAnimationCommand(renderer, element, id, command, args) {\n return renderer.setProperty(element, `@@${id}:${command}`, args);\n}\nconst ANIMATION_PREFIX = '@';\nconst DISABLE_ANIMATIONS_FLAG = '@.disabled';\nclass AnimationRendererFactory {\n constructor(delegate, engine, _zone) {\n this.delegate = delegate;\n this.engine = engine;\n this._zone = _zone;\n this._currentId = 0;\n this._microtaskId = 1;\n this._animationCallbacksBuffer = [];\n this._rendererCache = new Map();\n this._cdRecurDepth = 0;\n engine.onRemovalComplete = (element, delegate) => {\n // Note: if a component element has a leave animation, and a host leave animation,\n // the view engine will call `removeChild` for the parent\n // component renderer as well as for the child component renderer.\n // Therefore, we need to check if we already removed the element.\n const parentNode = delegate?.parentNode(element);\n if (parentNode) {\n delegate.removeChild(parentNode, element);\n }\n };\n }\n createRenderer(hostElement, type) {\n const EMPTY_NAMESPACE_ID = '';\n // cache the delegates to find out which cached delegate can\n // be used by which cached renderer\n const delegate = this.delegate.createRenderer(hostElement, type);\n if (!hostElement || !type || !type.data || !type.data['animation']) {\n let renderer = this._rendererCache.get(delegate);\n if (!renderer) {\n // Ensure that the renderer is removed from the cache on destroy\n // since it may contain references to detached DOM nodes.\n const onRendererDestroy = () => this._rendererCache.delete(delegate);\n renderer = new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine, onRendererDestroy);\n // only cache this result when the base renderer is used\n this._rendererCache.set(delegate, renderer);\n }\n return renderer;\n }\n const componentId = type.id;\n const namespaceId = type.id + '-' + this._currentId;\n this._currentId++;\n this.engine.register(namespaceId, hostElement);\n const registerTrigger = trigger => {\n if (Array.isArray(trigger)) {\n trigger.forEach(registerTrigger);\n } else {\n this.engine.registerTrigger(componentId, namespaceId, hostElement, trigger.name, trigger);\n }\n };\n const animationTriggers = type.data['animation'];\n animationTriggers.forEach(registerTrigger);\n return new AnimationRenderer(this, namespaceId, delegate, this.engine);\n }\n begin() {\n this._cdRecurDepth++;\n if (this.delegate.begin) {\n this.delegate.begin();\n }\n }\n _scheduleCountTask() {\n queueMicrotask(() => {\n this._microtaskId++;\n });\n }\n /** @internal */\n scheduleListenerCallback(count, fn, data) {\n if (count >= 0 && count < this._microtaskId) {\n this._zone.run(() => fn(data));\n return;\n }\n if (this._animationCallbacksBuffer.length == 0) {\n queueMicrotask(() => {\n this._zone.run(() => {\n this._animationCallbacksBuffer.forEach(tuple => {\n const [fn, data] = tuple;\n fn(data);\n });\n this._animationCallbacksBuffer = [];\n });\n });\n }\n this._animationCallbacksBuffer.push([fn, data]);\n }\n end() {\n this._cdRecurDepth--;\n // this is to prevent animations from running twice when an inner\n // component does CD when a parent component instead has inserted it\n if (this._cdRecurDepth == 0) {\n this._zone.runOutsideAngular(() => {\n this._scheduleCountTask();\n this.engine.flush(this._microtaskId);\n });\n }\n if (this.delegate.end) {\n this.delegate.end();\n }\n }\n whenRenderingDone() {\n return this.engine.whenRenderingDone();\n }\n static #_ = this.ɵfac = function AnimationRendererFactory_Factory(t) {\n return new (t || AnimationRendererFactory)(i0.ɵɵinject(i0.RendererFactory2), i0.ɵɵinject(i1.ɵAnimationEngine), i0.ɵɵinject(i0.NgZone));\n };\n static #_2 = this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: AnimationRendererFactory,\n factory: AnimationRendererFactory.ɵfac\n });\n}\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(AnimationRendererFactory, [{\n type: Injectable\n }], function () {\n return [{\n type: i0.RendererFactory2\n }, {\n type: i1.ɵAnimationEngine\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\nclass BaseAnimationRenderer {\n constructor(namespaceId, delegate, engine, _onDestroy) {\n this.namespaceId = namespaceId;\n this.delegate = delegate;\n this.engine = engine;\n this._onDestroy = _onDestroy;\n }\n get data() {\n return this.delegate.data;\n }\n destroyNode(node) {\n this.delegate.destroyNode?.(node);\n }\n destroy() {\n this.engine.destroy(this.namespaceId, this.delegate);\n this.engine.afterFlushAnimationsDone(() => {\n // Call the renderer destroy method after the animations has finished as otherwise\n // styles will be removed too early which will cause an unstyled animation.\n queueMicrotask(() => {\n this.delegate.destroy();\n });\n });\n this._onDestroy?.();\n }\n createElement(name, namespace) {\n return this.delegate.createElement(name, namespace);\n }\n createComment(value) {\n return this.delegate.createComment(value);\n }\n createText(value) {\n return this.delegate.createText(value);\n }\n appendChild(parent, newChild) {\n this.delegate.appendChild(parent, newChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, false);\n }\n insertBefore(parent, newChild, refChild, isMove = true) {\n this.delegate.insertBefore(parent, newChild, refChild);\n // If `isMove` true than we should animate this insert.\n this.engine.onInsert(this.namespaceId, newChild, parent, isMove);\n }\n removeChild(parent, oldChild, isHostElement) {\n this.engine.onRemove(this.namespaceId, oldChild, this.delegate);\n }\n selectRootElement(selectorOrNode, preserveContent) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n parentNode(node) {\n return this.delegate.parentNode(node);\n }\n nextSibling(node) {\n return this.delegate.nextSibling(node);\n }\n setAttribute(el, name, value, namespace) {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n removeAttribute(el, name, namespace) {\n this.delegate.removeAttribute(el, name, namespace);\n }\n addClass(el, name) {\n this.delegate.addClass(el, name);\n }\n removeClass(el, name) {\n this.delegate.removeClass(el, name);\n }\n setStyle(el, style, value, flags) {\n this.delegate.setStyle(el, style, value, flags);\n }\n removeStyle(el, style, flags) {\n this.delegate.removeStyle(el, style, flags);\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX && name == DISABLE_ANIMATIONS_FLAG) {\n this.disableAnimations(el, !!value);\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n setValue(node, value) {\n this.delegate.setValue(node, value);\n }\n listen(target, eventName, callback) {\n return this.delegate.listen(target, eventName, callback);\n }\n disableAnimations(element, value) {\n this.engine.disableAnimations(element, value);\n }\n}\nclass AnimationRenderer extends BaseAnimationRenderer {\n constructor(factory, namespaceId, delegate, engine, onDestroy) {\n super(namespaceId, delegate, engine, onDestroy);\n this.factory = factory;\n this.namespaceId = namespaceId;\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX) {\n if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {\n value = value === undefined ? true : !!value;\n this.disableAnimations(el, value);\n } else {\n this.engine.process(this.namespaceId, el, name.slice(1), value);\n }\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n listen(target, eventName, callback) {\n if (eventName.charAt(0) == ANIMATION_PREFIX) {\n const element = resolveElementFromTarget(target);\n let name = eventName.slice(1);\n let phase = '';\n // @listener.phase is for trigger animation callbacks\n // @@listener is for animation builder callbacks\n if (name.charAt(0) != ANIMATION_PREFIX) {\n [name, phase] = parseTriggerCallbackName(name);\n }\n return this.engine.listen(this.namespaceId, element, name, phase, event => {\n const countId = event['_data'] || -1;\n this.factory.scheduleListenerCallback(countId, callback, event);\n });\n }\n return this.delegate.listen(target, eventName, callback);\n }\n}\nfunction resolveElementFromTarget(target) {\n switch (target) {\n case 'body':\n return document.body;\n case 'document':\n return document;\n case 'window':\n return window;\n default:\n return target;\n }\n}\nfunction parseTriggerCallbackName(triggerName) {\n const dotIndex = triggerName.indexOf('.');\n const trigger = triggerName.substring(0, dotIndex);\n const phase = triggerName.slice(dotIndex + 1);\n return [trigger, phase];\n}\nclass InjectableAnimationEngine extends ɵAnimationEngine {\n // The `ApplicationRef` is injected here explicitly to force the dependency ordering.\n // Since the `ApplicationRef` should be created earlier before the `AnimationEngine`, they\n // both have `ngOnDestroy` hooks and `flush()` must be called after all views are destroyed.\n constructor(doc, driver, normalizer, appRef) {\n super(doc.body, driver, normalizer);\n }\n ngOnDestroy() {\n this.flush();\n }\n static #_ = this.ɵfac = function InjectableAnimationEngine_Factory(t) {\n return new (t || InjectableAnimationEngine)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i1.AnimationDriver), i0.ɵɵinject(i1.ɵAnimationStyleNormalizer), i0.ɵɵinject(i0.ApplicationRef));\n };\n static #_2 = this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: InjectableAnimationEngine,\n factory: InjectableAnimationEngine.ɵfac\n });\n}\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(InjectableAnimationEngine, [{\n type: Injectable\n }], function () {\n return [{\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: i1.AnimationDriver\n }, {\n type: i1.ɵAnimationStyleNormalizer\n }, {\n type: i0.ApplicationRef\n }];\n }, null);\n})();\nfunction instantiateDefaultStyleNormalizer() {\n return new ɵWebAnimationsStyleNormalizer();\n}\nfunction instantiateRendererFactory(renderer, engine, zone) {\n return new AnimationRendererFactory(renderer, engine, zone);\n}\nconst SHARED_ANIMATION_PROVIDERS = [{\n provide: AnimationBuilder,\n useClass: BrowserAnimationBuilder\n}, {\n provide: ɵAnimationStyleNormalizer,\n useFactory: instantiateDefaultStyleNormalizer\n}, {\n provide: ɵAnimationEngine,\n useClass: InjectableAnimationEngine\n}, {\n provide: RendererFactory2,\n useFactory: instantiateRendererFactory,\n deps: [ɵDomRendererFactory2, ɵAnimationEngine, NgZone]\n}];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nconst BROWSER_ANIMATIONS_PROVIDERS = [{\n provide: AnimationDriver,\n useFactory: () => new ɵWebAnimationsDriver()\n}, {\n provide: ANIMATION_MODULE_TYPE,\n useValue: 'BrowserAnimations'\n}, ...SHARED_ANIMATION_PROVIDERS];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nconst BROWSER_NOOP_ANIMATIONS_PROVIDERS = [{\n provide: AnimationDriver,\n useClass: ɵNoopAnimationDriver\n}, {\n provide: ANIMATION_MODULE_TYPE,\n useValue: 'NoopAnimations'\n}, ...SHARED_ANIMATION_PROVIDERS];\n\n/**\n * Exports `BrowserModule` with additional [dependency-injection providers](guide/glossary#provider)\n * for use with animations. See [Animations](guide/animations).\n * @publicApi\n */\nclass BrowserAnimationsModule {\n /**\n * Configures the module based on the specified object.\n *\n * @param config Object used to configure the behavior of the `BrowserAnimationsModule`.\n * @see {@link BrowserAnimationsModuleConfig}\n *\n * @usageNotes\n * When registering the `BrowserAnimationsModule`, you can use the `withConfig`\n * function as follows:\n * ```\n * @NgModule({\n * imports: [BrowserAnimationsModule.withConfig(config)]\n * })\n * class MyNgModule {}\n * ```\n */\n static withConfig(config) {\n return {\n ngModule: BrowserAnimationsModule,\n providers: config.disableAnimations ? BROWSER_NOOP_ANIMATIONS_PROVIDERS : BROWSER_ANIMATIONS_PROVIDERS\n };\n }\n static #_ = this.ɵfac = function BrowserAnimationsModule_Factory(t) {\n return new (t || BrowserAnimationsModule)();\n };\n static #_2 = this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: BrowserAnimationsModule,\n exports: [BrowserModule]\n });\n static #_3 = this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n imports: [BrowserModule]\n });\n}\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(BrowserAnimationsModule, [{\n type: NgModule,\n args: [{\n exports: [BrowserModule],\n providers: BROWSER_ANIMATIONS_PROVIDERS\n }]\n }], null, null);\n})();\n/**\n * Returns the set of [dependency-injection providers](guide/glossary#provider)\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideAnimations() {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideAnimations` call results in app code.\n return [...BROWSER_ANIMATIONS_PROVIDERS];\n}\n/**\n * A null player that must be imported to allow disabling of animations.\n * @publicApi\n */\nclass NoopAnimationsModule {\n static #_ = this.ɵfac = function NoopAnimationsModule_Factory(t) {\n return new (t || NoopAnimationsModule)();\n };\n static #_2 = this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NoopAnimationsModule,\n exports: [BrowserModule]\n });\n static #_3 = this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n imports: [BrowserModule]\n });\n}\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NoopAnimationsModule, [{\n type: NgModule,\n args: [{\n exports: [BrowserModule],\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS\n }]\n }], null, null);\n})();\n/**\n * Returns the set of [dependency-injection providers](guide/glossary#provider)\n * to disable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to bootstrap an application using\n * the `bootstrapApplication` function, but you need to disable animations\n * (for example, when running tests).\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideNoopAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideNoopAnimations() {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideNoopAnimations` call results in app code.\n return [...BROWSER_NOOP_ANIMATIONS_PROVIDERS];\n}\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BrowserAnimationsModule, NoopAnimationsModule, provideAnimations, provideNoopAnimations, AnimationRenderer as ɵAnimationRenderer, AnimationRendererFactory as ɵAnimationRendererFactory, BrowserAnimationBuilder as ɵBrowserAnimationBuilder, BrowserAnimationFactory as ɵBrowserAnimationFactory, InjectableAnimationEngine as ɵInjectableAnimationEngine };","map":{"version":3,"names":["i0","ViewEncapsulation","Injectable","Inject","RendererFactory2","NgZone","ANIMATION_MODULE_TYPE","NgModule","ɵDomRendererFactory2","BrowserModule","AnimationBuilder","sequence","AnimationFactory","i1","ɵAnimationEngine","ɵWebAnimationsStyleNormalizer","ɵAnimationStyleNormalizer","AnimationDriver","ɵWebAnimationsDriver","ɵNoopAnimationDriver","DOCUMENT","BrowserAnimationBuilder","constructor","rootRenderer","doc","_nextAnimationId","typeData","id","encapsulation","None","styles","data","animation","_renderer","createRenderer","body","build","toString","entry","Array","isArray","issueAnimationCommand","BrowserAnimationFactory","_","ɵfac","BrowserAnimationBuilder_Factory","t","ɵɵinject","_2","ɵprov","ɵɵdefineInjectable","token","factory","ngDevMode","ɵsetClassMetadata","type","undefined","decorators","args","_id","create","element","options","RendererAnimationPlayer","parentPlayer","_started","totalTime","_command","_listen","eventName","callback","listen","command","onDone","fn","onStart","onDestroy","init","hasStarted","play","pause","restart","finish","destroy","reset","setPosition","p","getPosition","engine","players","renderer","setProperty","ANIMATION_PREFIX","DISABLE_ANIMATIONS_FLAG","AnimationRendererFactory","delegate","_zone","_currentId","_microtaskId","_animationCallbacksBuffer","_rendererCache","Map","_cdRecurDepth","onRemovalComplete","parentNode","removeChild","hostElement","EMPTY_NAMESPACE_ID","get","onRendererDestroy","delete","BaseAnimationRenderer","set","componentId","namespaceId","register","registerTrigger","trigger","forEach","name","animationTriggers","AnimationRenderer","begin","_scheduleCountTask","queueMicrotask","scheduleListenerCallback","count","run","length","tuple","push","end","runOutsideAngular","flush","whenRenderingDone","AnimationRendererFactory_Factory","_onDestroy","destroyNode","node","afterFlushAnimationsDone","createElement","namespace","createComment","value","createText","appendChild","parent","newChild","onInsert","insertBefore","refChild","isMove","oldChild","isHostElement","onRemove","selectRootElement","selectorOrNode","preserveContent","nextSibling","setAttribute","el","removeAttribute","addClass","removeClass","setStyle","style","flags","removeStyle","charAt","disableAnimations","setValue","target","process","slice","resolveElementFromTarget","phase","parseTriggerCallbackName","event","countId","document","window","triggerName","dotIndex","indexOf","substring","InjectableAnimationEngine","driver","normalizer","appRef","ngOnDestroy","InjectableAnimationEngine_Factory","ApplicationRef","instantiateDefaultStyleNormalizer","instantiateRendererFactory","zone","SHARED_ANIMATION_PROVIDERS","provide","useClass","useFactory","deps","BROWSER_ANIMATIONS_PROVIDERS","useValue","BROWSER_NOOP_ANIMATIONS_PROVIDERS","BrowserAnimationsModule","withConfig","config","ngModule","providers","BrowserAnimationsModule_Factory","ɵmod","ɵɵdefineNgModule","exports","_3","ɵinj","ɵɵdefineInjector","imports","provideAnimations","NoopAnimationsModule","NoopAnimationsModule_Factory","provideNoopAnimations","ɵAnimationRenderer","ɵAnimationRendererFactory","ɵBrowserAnimationBuilder","ɵBrowserAnimationFactory","ɵInjectableAnimationEngine"],"sources":["C:/FatboarProject/angular-client/node_modules/@angular/platform-browser/fesm2022/animations.mjs"],"sourcesContent":["/**\n * @license Angular v16.2.1\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { ViewEncapsulation, Injectable, Inject, RendererFactory2, NgZone, ANIMATION_MODULE_TYPE, NgModule } from '@angular/core';\nexport { ANIMATION_MODULE_TYPE } from '@angular/core';\nimport { ɵDomRendererFactory2, BrowserModule } from '@angular/platform-browser';\nimport { AnimationBuilder, sequence, AnimationFactory } from '@angular/animations';\nimport * as i1 from '@angular/animations/browser';\nimport { ɵAnimationEngine, ɵWebAnimationsStyleNormalizer, ɵAnimationStyleNormalizer, AnimationDriver, ɵWebAnimationsDriver, ɵNoopAnimationDriver } from '@angular/animations/browser';\nimport { DOCUMENT } from '@angular/common';\n\nclass BrowserAnimationBuilder extends AnimationBuilder {\n constructor(rootRenderer, doc) {\n super();\n this._nextAnimationId = 0;\n const typeData = { id: '0', encapsulation: ViewEncapsulation.None, styles: [], data: { animation: [] } };\n this._renderer = rootRenderer.createRenderer(doc.body, typeData);\n }\n build(animation) {\n const id = this._nextAnimationId.toString();\n this._nextAnimationId++;\n const entry = Array.isArray(animation) ? sequence(animation) : animation;\n issueAnimationCommand(this._renderer, null, id, 'register', [entry]);\n return new BrowserAnimationFactory(id, this._renderer);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.1\", ngImport: i0, type: BrowserAnimationBuilder, deps: [{ token: i0.RendererFactory2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"16.2.1\", ngImport: i0, type: BrowserAnimationBuilder }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.1\", ngImport: i0, type: BrowserAnimationBuilder, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\nclass BrowserAnimationFactory extends AnimationFactory {\n constructor(_id, _renderer) {\n super();\n this._id = _id;\n this._renderer = _renderer;\n }\n create(element, options) {\n return new RendererAnimationPlayer(this._id, element, options || {}, this._renderer);\n }\n}\nclass RendererAnimationPlayer {\n constructor(id, element, options, _renderer) {\n this.id = id;\n this.element = element;\n this._renderer = _renderer;\n this.parentPlayer = null;\n this._started = false;\n this.totalTime = 0;\n this._command('create', options);\n }\n _listen(eventName, callback) {\n return this._renderer.listen(this.element, `@@${this.id}:${eventName}`, callback);\n }\n _command(command, ...args) {\n return issueAnimationCommand(this._renderer, this.element, this.id, command, args);\n }\n onDone(fn) {\n this._listen('done', fn);\n }\n onStart(fn) {\n this._listen('start', fn);\n }\n onDestroy(fn) {\n this._listen('destroy', fn);\n }\n init() {\n this._command('init');\n }\n hasStarted() {\n return this._started;\n }\n play() {\n this._command('play');\n this._started = true;\n }\n pause() {\n this._command('pause');\n }\n restart() {\n this._command('restart');\n }\n finish() {\n this._command('finish');\n }\n destroy() {\n this._command('destroy');\n }\n reset() {\n this._command('reset');\n this._started = false;\n }\n setPosition(p) {\n this._command('setPosition', p);\n }\n getPosition() {\n return this._renderer.engine.players[+this.id]?.getPosition() ?? 0;\n }\n}\nfunction issueAnimationCommand(renderer, element, id, command, args) {\n return renderer.setProperty(element, `@@${id}:${command}`, args);\n}\n\nconst ANIMATION_PREFIX = '@';\nconst DISABLE_ANIMATIONS_FLAG = '@.disabled';\nclass AnimationRendererFactory {\n constructor(delegate, engine, _zone) {\n this.delegate = delegate;\n this.engine = engine;\n this._zone = _zone;\n this._currentId = 0;\n this._microtaskId = 1;\n this._animationCallbacksBuffer = [];\n this._rendererCache = new Map();\n this._cdRecurDepth = 0;\n engine.onRemovalComplete = (element, delegate) => {\n // Note: if a component element has a leave animation, and a host leave animation,\n // the view engine will call `removeChild` for the parent\n // component renderer as well as for the child component renderer.\n // Therefore, we need to check if we already removed the element.\n const parentNode = delegate?.parentNode(element);\n if (parentNode) {\n delegate.removeChild(parentNode, element);\n }\n };\n }\n createRenderer(hostElement, type) {\n const EMPTY_NAMESPACE_ID = '';\n // cache the delegates to find out which cached delegate can\n // be used by which cached renderer\n const delegate = this.delegate.createRenderer(hostElement, type);\n if (!hostElement || !type || !type.data || !type.data['animation']) {\n let renderer = this._rendererCache.get(delegate);\n if (!renderer) {\n // Ensure that the renderer is removed from the cache on destroy\n // since it may contain references to detached DOM nodes.\n const onRendererDestroy = () => this._rendererCache.delete(delegate);\n renderer =\n new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine, onRendererDestroy);\n // only cache this result when the base renderer is used\n this._rendererCache.set(delegate, renderer);\n }\n return renderer;\n }\n const componentId = type.id;\n const namespaceId = type.id + '-' + this._currentId;\n this._currentId++;\n this.engine.register(namespaceId, hostElement);\n const registerTrigger = (trigger) => {\n if (Array.isArray(trigger)) {\n trigger.forEach(registerTrigger);\n }\n else {\n this.engine.registerTrigger(componentId, namespaceId, hostElement, trigger.name, trigger);\n }\n };\n const animationTriggers = type.data['animation'];\n animationTriggers.forEach(registerTrigger);\n return new AnimationRenderer(this, namespaceId, delegate, this.engine);\n }\n begin() {\n this._cdRecurDepth++;\n if (this.delegate.begin) {\n this.delegate.begin();\n }\n }\n _scheduleCountTask() {\n queueMicrotask(() => {\n this._microtaskId++;\n });\n }\n /** @internal */\n scheduleListenerCallback(count, fn, data) {\n if (count >= 0 && count < this._microtaskId) {\n this._zone.run(() => fn(data));\n return;\n }\n if (this._animationCallbacksBuffer.length == 0) {\n queueMicrotask(() => {\n this._zone.run(() => {\n this._animationCallbacksBuffer.forEach(tuple => {\n const [fn, data] = tuple;\n fn(data);\n });\n this._animationCallbacksBuffer = [];\n });\n });\n }\n this._animationCallbacksBuffer.push([fn, data]);\n }\n end() {\n this._cdRecurDepth--;\n // this is to prevent animations from running twice when an inner\n // component does CD when a parent component instead has inserted it\n if (this._cdRecurDepth == 0) {\n this._zone.runOutsideAngular(() => {\n this._scheduleCountTask();\n this.engine.flush(this._microtaskId);\n });\n }\n if (this.delegate.end) {\n this.delegate.end();\n }\n }\n whenRenderingDone() {\n return this.engine.whenRenderingDone();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.1\", ngImport: i0, type: AnimationRendererFactory, deps: [{ token: i0.RendererFactory2 }, { token: i1.ɵAnimationEngine }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"16.2.1\", ngImport: i0, type: AnimationRendererFactory }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.1\", ngImport: i0, type: AnimationRendererFactory, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }, { type: i1.ɵAnimationEngine }, { type: i0.NgZone }]; } });\nclass BaseAnimationRenderer {\n constructor(namespaceId, delegate, engine, _onDestroy) {\n this.namespaceId = namespaceId;\n this.delegate = delegate;\n this.engine = engine;\n this._onDestroy = _onDestroy;\n }\n get data() {\n return this.delegate.data;\n }\n destroyNode(node) {\n this.delegate.destroyNode?.(node);\n }\n destroy() {\n this.engine.destroy(this.namespaceId, this.delegate);\n this.engine.afterFlushAnimationsDone(() => {\n // Call the renderer destroy method after the animations has finished as otherwise\n // styles will be removed too early which will cause an unstyled animation.\n queueMicrotask(() => {\n this.delegate.destroy();\n });\n });\n this._onDestroy?.();\n }\n createElement(name, namespace) {\n return this.delegate.createElement(name, namespace);\n }\n createComment(value) {\n return this.delegate.createComment(value);\n }\n createText(value) {\n return this.delegate.createText(value);\n }\n appendChild(parent, newChild) {\n this.delegate.appendChild(parent, newChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, false);\n }\n insertBefore(parent, newChild, refChild, isMove = true) {\n this.delegate.insertBefore(parent, newChild, refChild);\n // If `isMove` true than we should animate this insert.\n this.engine.onInsert(this.namespaceId, newChild, parent, isMove);\n }\n removeChild(parent, oldChild, isHostElement) {\n this.engine.onRemove(this.namespaceId, oldChild, this.delegate);\n }\n selectRootElement(selectorOrNode, preserveContent) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n parentNode(node) {\n return this.delegate.parentNode(node);\n }\n nextSibling(node) {\n return this.delegate.nextSibling(node);\n }\n setAttribute(el, name, value, namespace) {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n removeAttribute(el, name, namespace) {\n this.delegate.removeAttribute(el, name, namespace);\n }\n addClass(el, name) {\n this.delegate.addClass(el, name);\n }\n removeClass(el, name) {\n this.delegate.removeClass(el, name);\n }\n setStyle(el, style, value, flags) {\n this.delegate.setStyle(el, style, value, flags);\n }\n removeStyle(el, style, flags) {\n this.delegate.removeStyle(el, style, flags);\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX && name == DISABLE_ANIMATIONS_FLAG) {\n this.disableAnimations(el, !!value);\n }\n else {\n this.delegate.setProperty(el, name, value);\n }\n }\n setValue(node, value) {\n this.delegate.setValue(node, value);\n }\n listen(target, eventName, callback) {\n return this.delegate.listen(target, eventName, callback);\n }\n disableAnimations(element, value) {\n this.engine.disableAnimations(element, value);\n }\n}\nclass AnimationRenderer extends BaseAnimationRenderer {\n constructor(factory, namespaceId, delegate, engine, onDestroy) {\n super(namespaceId, delegate, engine, onDestroy);\n this.factory = factory;\n this.namespaceId = namespaceId;\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX) {\n if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {\n value = value === undefined ? true : !!value;\n this.disableAnimations(el, value);\n }\n else {\n this.engine.process(this.namespaceId, el, name.slice(1), value);\n }\n }\n else {\n this.delegate.setProperty(el, name, value);\n }\n }\n listen(target, eventName, callback) {\n if (eventName.charAt(0) == ANIMATION_PREFIX) {\n const element = resolveElementFromTarget(target);\n let name = eventName.slice(1);\n let phase = '';\n // @listener.phase is for trigger animation callbacks\n // @@listener is for animation builder callbacks\n if (name.charAt(0) != ANIMATION_PREFIX) {\n [name, phase] = parseTriggerCallbackName(name);\n }\n return this.engine.listen(this.namespaceId, element, name, phase, event => {\n const countId = event['_data'] || -1;\n this.factory.scheduleListenerCallback(countId, callback, event);\n });\n }\n return this.delegate.listen(target, eventName, callback);\n }\n}\nfunction resolveElementFromTarget(target) {\n switch (target) {\n case 'body':\n return document.body;\n case 'document':\n return document;\n case 'window':\n return window;\n default:\n return target;\n }\n}\nfunction parseTriggerCallbackName(triggerName) {\n const dotIndex = triggerName.indexOf('.');\n const trigger = triggerName.substring(0, dotIndex);\n const phase = triggerName.slice(dotIndex + 1);\n return [trigger, phase];\n}\n\nclass InjectableAnimationEngine extends ɵAnimationEngine {\n // The `ApplicationRef` is injected here explicitly to force the dependency ordering.\n // Since the `ApplicationRef` should be created earlier before the `AnimationEngine`, they\n // both have `ngOnDestroy` hooks and `flush()` must be called after all views are destroyed.\n constructor(doc, driver, normalizer, appRef) {\n super(doc.body, driver, normalizer);\n }\n ngOnDestroy() {\n this.flush();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.1\", ngImport: i0, type: InjectableAnimationEngine, deps: [{ token: DOCUMENT }, { token: i1.AnimationDriver }, { token: i1.ɵAnimationStyleNormalizer }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"16.2.1\", ngImport: i0, type: InjectableAnimationEngine }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.1\", ngImport: i0, type: InjectableAnimationEngine, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1.AnimationDriver }, { type: i1.ɵAnimationStyleNormalizer }, { type: i0.ApplicationRef }]; } });\nfunction instantiateDefaultStyleNormalizer() {\n return new ɵWebAnimationsStyleNormalizer();\n}\nfunction instantiateRendererFactory(renderer, engine, zone) {\n return new AnimationRendererFactory(renderer, engine, zone);\n}\nconst SHARED_ANIMATION_PROVIDERS = [\n { provide: AnimationBuilder, useClass: BrowserAnimationBuilder },\n { provide: ɵAnimationStyleNormalizer, useFactory: instantiateDefaultStyleNormalizer },\n { provide: ɵAnimationEngine, useClass: InjectableAnimationEngine }, {\n provide: RendererFactory2,\n useFactory: instantiateRendererFactory,\n deps: [ɵDomRendererFactory2, ɵAnimationEngine, NgZone]\n }\n];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nconst BROWSER_ANIMATIONS_PROVIDERS = [\n { provide: AnimationDriver, useFactory: () => new ɵWebAnimationsDriver() },\n { provide: ANIMATION_MODULE_TYPE, useValue: 'BrowserAnimations' }, ...SHARED_ANIMATION_PROVIDERS\n];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nconst BROWSER_NOOP_ANIMATIONS_PROVIDERS = [\n { provide: AnimationDriver, useClass: ɵNoopAnimationDriver },\n { provide: ANIMATION_MODULE_TYPE, useValue: 'NoopAnimations' }, ...SHARED_ANIMATION_PROVIDERS\n];\n\n/**\n * Exports `BrowserModule` with additional [dependency-injection providers](guide/glossary#provider)\n * for use with animations. See [Animations](guide/animations).\n * @publicApi\n */\nclass BrowserAnimationsModule {\n /**\n * Configures the module based on the specified object.\n *\n * @param config Object used to configure the behavior of the `BrowserAnimationsModule`.\n * @see {@link BrowserAnimationsModuleConfig}\n *\n * @usageNotes\n * When registering the `BrowserAnimationsModule`, you can use the `withConfig`\n * function as follows:\n * ```\n * @NgModule({\n * imports: [BrowserAnimationsModule.withConfig(config)]\n * })\n * class MyNgModule {}\n * ```\n */\n static withConfig(config) {\n return {\n ngModule: BrowserAnimationsModule,\n providers: config.disableAnimations ? BROWSER_NOOP_ANIMATIONS_PROVIDERS :\n BROWSER_ANIMATIONS_PROVIDERS\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.1\", ngImport: i0, type: BrowserAnimationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"16.2.1\", ngImport: i0, type: BrowserAnimationsModule, exports: [BrowserModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"16.2.1\", ngImport: i0, type: BrowserAnimationsModule, providers: BROWSER_ANIMATIONS_PROVIDERS, imports: [BrowserModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.1\", ngImport: i0, type: BrowserAnimationsModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [BrowserModule],\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n }]\n }] });\n/**\n * Returns the set of [dependency-injection providers](guide/glossary#provider)\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideAnimations() {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideAnimations` call results in app code.\n return [...BROWSER_ANIMATIONS_PROVIDERS];\n}\n/**\n * A null player that must be imported to allow disabling of animations.\n * @publicApi\n */\nclass NoopAnimationsModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.1\", ngImport: i0, type: NoopAnimationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"16.2.1\", ngImport: i0, type: NoopAnimationsModule, exports: [BrowserModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"16.2.1\", ngImport: i0, type: NoopAnimationsModule, providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS, imports: [BrowserModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.1\", ngImport: i0, type: NoopAnimationsModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [BrowserModule],\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n }]\n }] });\n/**\n * Returns the set of [dependency-injection providers](guide/glossary#provider)\n * to disable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to bootstrap an application using\n * the `bootstrapApplication` function, but you need to disable animations\n * (for example, when running tests).\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideNoopAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideNoopAnimations() {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideNoopAnimations` call results in app code.\n return [...BROWSER_NOOP_ANIMATIONS_PROVIDERS];\n}\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BrowserAnimationsModule, NoopAnimationsModule, provideAnimations, provideNoopAnimations, AnimationRenderer as ɵAnimationRenderer, AnimationRendererFactory as ɵAnimationRendererFactory, BrowserAnimationBuilder as ɵBrowserAnimationBuilder, BrowserAnimationFactory as ɵBrowserAnimationFactory, InjectableAnimationEngine as ɵInjectableAnimationEngine };\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}