UNPKG

primeng

Version:

PrimeNG is an open source UI library for Angular featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeB

1 lines 48.3 kB
{"version":3,"file":"primeng-motion.mjs","sources":["../../src/motion/motion.utils.ts","../../src/motion/style/motion.style.ts","../../src/motion/motion.component.ts","../../src/motion/motion.directive.ts","../../src/motion/motion.module.ts","../../src/motion/primeng-motion.ts"],"sourcesContent":["const originalStyles = new WeakMap<HTMLElement, { display?: string; visibility?: string; maxHeight?: string }>();\n\nexport function applyHiddenStyles(element: HTMLElement, strategy: 'display' | 'visibility') {\n if (!element) return;\n\n if (!originalStyles.has(element)) {\n originalStyles.set(element, {\n display: element.style.display,\n visibility: element.style.visibility,\n maxHeight: element.style.maxHeight\n });\n }\n\n switch (strategy) {\n case 'display':\n element.style.display = 'none';\n break;\n case 'visibility':\n element.style.visibility = 'hidden';\n element.style.maxHeight = '0';\n break;\n }\n}\n\nexport function resetStyles(element: HTMLElement, strategy: 'display' | 'visibility') {\n if (!element) return;\n\n const original = originalStyles.get(element) ?? element.style;\n\n switch (strategy) {\n case 'display':\n element.style.display = original?.display || '';\n break;\n case 'visibility':\n element.style.visibility = original?.visibility || '';\n element.style.maxHeight = original?.maxHeight || '';\n break;\n }\n\n originalStyles.delete(element);\n}\n","import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst style = /*css*/ `\n .p-motion {\n display: block;\n }\n`;\n\nconst classes = {\n root: 'p-motion'\n};\n\n@Injectable()\nexport class MotionStyle extends BaseStyle {\n name = 'motion';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Motion and MotionDirective provide an easy way to add motion effects to Angular applications.\n *\n * [Live Demo](https://www.primeng.org/motion)\n *\n * @module motionstyle\n *\n */\nexport enum MotionClasses {\n /**\n * Class name of the root element\n */\n root = 'p-motion'\n}\n\nexport interface MotionStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { afterRenderEffect, Component, computed, effect, inject, InjectionToken, input, output, signal } from '@angular/core';\nimport { type ClassNameOptions, createMotion, type MotionEvent, type MotionInstance, type MotionOptions } from '@primeuix/motion';\nimport { nextFrame } from '@primeuix/utils';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport type { MotionPassThrough } from 'primeng/types/motion';\nimport { applyHiddenStyles, resetStyles } from './motion.utils';\nimport { MotionStyle } from './style/motion.style';\n\nconst MOTION_INSTANCE = new InjectionToken<Motion>('MOTION_INSTANCE');\n\n/**\n * Motion component is a container to apply motion effects to its content.\n * @group Components\n */\n@Component({\n selector: 'p-motion',\n standalone: true,\n imports: [CommonModule, BindModule],\n template: `\n @if (rendered()) {\n <ng-content />\n }\n `,\n providers: [MotionStyle, { provide: MOTION_INSTANCE, useExisting: Motion }, { provide: PARENT_INSTANCE, useExisting: Motion }],\n host: {\n '[class]': \"cx('root')\"\n },\n hostDirectives: [Bind]\n})\nexport class Motion extends BaseComponent<MotionPassThrough> {\n $pcMotion: Motion | undefined = inject(MOTION_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n _componentStyle = inject(MotionStyle);\n\n /******************** Inputs ********************/\n\n /**\n * Whether the element is visible or not.\n * @group Props\n */\n visible = input<boolean>(false);\n /**\n * Whether to mount the element on enter.\n * @group Props\n */\n mountOnEnter = input<boolean>(true);\n /**\n * Whether to unmount the element on leave.\n * @group Props\n */\n unmountOnLeave = input<boolean>(true);\n /**\n * The name of the motion. It can be a predefined motion name or a custom one.\n * phases:\n * [name]-enter\n * [name]-enter-active\n * [name]-enter-to\n * [name]-leave\n * [name]-leave-active\n * [name]-leave-to\n * @group Props\n */\n name = input<MotionOptions['name']>(undefined);\n /**\n * The type of the motion, valid values 'transition' and 'animation'.\n * @group Props\n */\n type = input<MotionOptions['type']>(undefined);\n /**\n * Whether the motion is safe.\n * @group Props\n */\n safe = input<MotionOptions['safe']>(undefined);\n /**\n * Whether the motion is disabled.\n * @group Props\n */\n disabled = input<MotionOptions['disabled']>(false);\n /**\n * Whether the motion should appear.\n * @group Props\n */\n appear = input<MotionOptions['appear']>(false);\n /**\n * Whether the motion should enter.\n * @group Props\n */\n enter = input<MotionOptions['enter']>(true);\n /**\n * Whether the motion should leave.\n * @group Props\n */\n leave = input<MotionOptions['leave']>(true);\n /**\n * The duration of the motion.\n * @group Props\n */\n duration = input<MotionOptions['duration']>(undefined);\n /**\n * The hide strategy of the motion, valid values 'display' and 'visibility'.\n * @group Props\n */\n hideStrategy = input<'display' | 'visibility'>('display');\n /**\n * The enter from class of the motion.\n * @group Props\n */\n enterFromClass = input<ClassNameOptions['from']>(undefined);\n /**\n * The enter to class of the motion.\n * @group Props\n */\n enterToClass = input<ClassNameOptions['to']>(undefined);\n /**\n * The enter active class of the motion.\n * @group Props\n */\n enterActiveClass = input<ClassNameOptions['active']>(undefined);\n /**\n * The leave from class of the motion.\n * @group Props\n */\n leaveFromClass = input<ClassNameOptions['from']>(undefined);\n /**\n * The leave to class of the motion.\n * @group Props\n */\n leaveToClass = input<ClassNameOptions['to']>(undefined);\n /**\n * The leave active class of the motion.\n * @group Props\n */\n leaveActiveClass = input<ClassNameOptions['active']>(undefined);\n\n /******************** All Inputs ********************/\n\n /**\n * The motion options.\n * @group Props\n */\n options = input<MotionOptions>({});\n\n /******************** Outputs ********************/\n\n /**\n * Callback fired before the enter transition/animation starts.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onBeforeEnter = output<MotionEvent | undefined>();\n /**\n * Callback fired when the enter transition/animation starts.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onEnter = output<MotionEvent | undefined>();\n /**\n * Callback fired after the enter transition/animation ends.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onAfterEnter = output<MotionEvent | undefined>();\n /**\n * Callback fired when the enter transition/animation is cancelled.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onEnterCancelled = output<MotionEvent | undefined>();\n /**\n * Callback fired before the leave transition/animation starts.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onBeforeLeave = output<MotionEvent | undefined>();\n /**\n * Callback fired when the leave transition/animation starts.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onLeave = output<MotionEvent | undefined>();\n /**\n * Callback fired after the leave transition/animation ends.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onAfterLeave = output<MotionEvent | undefined>();\n /**\n * Callback fired when the leave transition/animation is cancelled.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onLeaveCancelled = output<MotionEvent | undefined>();\n\n /******************** Computed ********************/\n\n private motionOptions = computed<MotionOptions>(() => {\n const options = this.options();\n\n return {\n name: options.name ?? this.name(),\n type: options.type ?? this.type(),\n safe: options.safe ?? this.safe(),\n disabled: options.disabled ?? this.disabled(),\n appear: false,\n enter: options.enter ?? this.enter(),\n leave: options.leave ?? this.leave(),\n duration: options.duration ?? this.duration(),\n enterClass: {\n from: options.enterClass?.from ?? (!options.name ? this.enterFromClass() : undefined),\n to: options.enterClass?.to ?? (!options.name ? this.enterToClass() : undefined),\n active: options.enterClass?.active ?? (!options.name ? this.enterActiveClass() : undefined)\n },\n leaveClass: {\n from: options.leaveClass?.from ?? (!options.name ? this.leaveFromClass() : undefined),\n to: options.leaveClass?.to ?? (!options.name ? this.leaveToClass() : undefined),\n active: options.leaveClass?.active ?? (!options.name ? this.leaveActiveClass() : undefined)\n },\n onBeforeEnter: options.onBeforeEnter ?? this.handleBeforeEnter,\n onEnter: options.onEnter ?? this.handleEnter,\n onAfterEnter: options.onAfterEnter ?? this.handleAfterEnter,\n onEnterCancelled: options.onEnterCancelled ?? this.handleEnterCancelled,\n onBeforeLeave: options.onBeforeLeave ?? this.handleBeforeLeave,\n onLeave: options.onLeave ?? this.handleLeave,\n onAfterLeave: options.onAfterLeave ?? this.handleAfterLeave,\n onLeaveCancelled: options.onLeaveCancelled ?? this.handleLeaveCancelled\n };\n });\n\n private motion: MotionInstance | undefined;\n private isInitialMount = true;\n private cancelled = false;\n private destroyed = false;\n\n rendered = signal(false);\n\n private readonly handleBeforeEnter = (event?: MotionEvent) => !this.destroyed && this.onBeforeEnter.emit(event);\n private readonly handleEnter = (event?: MotionEvent) => !this.destroyed && this.onEnter.emit(event);\n private readonly handleAfterEnter = (event?: MotionEvent) => !this.destroyed && this.onAfterEnter.emit(event);\n private readonly handleEnterCancelled = (event?: MotionEvent) => !this.destroyed && this.onEnterCancelled.emit(event);\n private readonly handleBeforeLeave = (event?: MotionEvent) => !this.destroyed && this.onBeforeLeave.emit(event);\n private readonly handleLeave = (event?: MotionEvent) => !this.destroyed && this.onLeave.emit(event);\n private readonly handleAfterLeave = (event?: MotionEvent) => !this.destroyed && this.onAfterLeave.emit(event);\n private readonly handleLeaveCancelled = (event?: MotionEvent) => !this.destroyed && this.onLeaveCancelled.emit(event);\n\n constructor() {\n super();\n\n effect(() => {\n const hideStrategy = this.hideStrategy();\n\n if (this.isInitialMount) {\n applyHiddenStyles(this.$el, hideStrategy);\n this.rendered.set((this.visible() && this.mountOnEnter()) || !this.mountOnEnter());\n } else if (this.visible() && !this.rendered()) {\n applyHiddenStyles(this.$el, hideStrategy);\n this.rendered.set(true);\n }\n });\n\n effect(() => {\n if (!this.motion) {\n this.motion = createMotion(this.$el, this.motionOptions());\n } else {\n // @todo: Update motion options method to update options dynamically\n //this.motion.update(this.$el, this.motionOptions());\n }\n });\n\n afterRenderEffect(async () => {\n if (!this.$el) return;\n\n const shouldAppear = this.isInitialMount && this.visible() && this.appear();\n const hideStrategy = this.hideStrategy();\n\n if (this.visible()) {\n await nextFrame();\n resetStyles(this.$el, hideStrategy);\n\n if (shouldAppear || !this.isInitialMount) {\n this.motion?.enter();\n }\n } else if (!this.isInitialMount) {\n await nextFrame();\n this.motion?.leave()?.then(async () => {\n if (this.$el && !this.cancelled && !this.visible()) {\n applyHiddenStyles(this.$el, hideStrategy);\n\n if (this.unmountOnLeave()) {\n await nextFrame();\n if (!this.cancelled) {\n this.rendered.set(false);\n }\n }\n }\n });\n }\n\n this.isInitialMount = false;\n });\n }\n\n onDestroy(): void {\n this.destroyed = true;\n this.cancelled = true;\n\n this.motion?.cancel();\n this.motion = undefined;\n\n resetStyles(this.$el, this.hideStrategy());\n\n this.isInitialMount = true;\n }\n}\n","import { afterRenderEffect, computed, Directive, effect, inject, InjectionToken, input, output } from '@angular/core';\nimport { createMotion, type ClassNameOptions, type MotionEvent, type MotionInstance, type MotionOptions } from '@primeuix/motion';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { applyHiddenStyles, resetStyles } from './motion.utils';\nimport { MotionStyle } from './style/motion.style';\n\nconst MOTION_DIRECTIVE_INSTANCE = new InjectionToken<MotionDirective>('MOTION_DIRECTIVE_INSTANCE');\n\n/**\n * Motion Directive is directive to apply motion effects to elements.\n * @group Components\n */\n@Directive({\n selector: '[pMotion]',\n standalone: true,\n providers: [MotionStyle, { provide: MOTION_DIRECTIVE_INSTANCE, useExisting: MotionDirective }, { provide: PARENT_INSTANCE, useExisting: MotionDirective }]\n})\nexport class MotionDirective extends BaseComponent {\n $pcMotionDirective: MotionDirective | undefined = inject(MOTION_DIRECTIVE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n /******************** Inputs ********************/\n\n /**\n * Whether the element is visible or not.\n * @group Props\n */\n visible = input<boolean>(false, { alias: 'pMotion' });\n /**\n * The name of the motion. It can be a predefined motion name or a custom one.\n * phases:\n * [name]-enter\n * [name]-enter-active\n * [name]-enter-to\n * [name]-leave\n * [name]-leave-active\n * [name]-leave-to\n * @group Props\n */\n name = input<MotionOptions['name']>(undefined, { alias: 'pMotionName' });\n /**\n * The type of the motion, valid values 'transition' and 'animation'.\n * @group Props\n */\n type = input<MotionOptions['type']>(undefined, { alias: 'pMotionType' });\n /**\n * Whether the motion is safe.\n * @group Props\n */\n safe = input<MotionOptions['safe']>(undefined, { alias: 'pMotionSafe' });\n /**\n * Whether the motion is disabled.\n * @group Props\n */\n disabled = input<MotionOptions['disabled']>(false, { alias: 'pMotionDisabled' });\n /**\n * Whether the motion should appear.\n * @group Props\n */\n appear = input<MotionOptions['appear']>(false, { alias: 'pMotionAppear' });\n /**\n * Whether the motion should enter.\n * @group Props\n */\n enter = input<MotionOptions['enter']>(true, { alias: 'pMotionEnter' });\n /**\n * Whether the motion should leave.\n * @group Props\n */\n leave = input<MotionOptions['leave']>(true, { alias: 'pMotionLeave' });\n /**\n * The duration of the motion.\n * @group Props\n */\n duration = input<MotionOptions['duration']>(undefined, { alias: 'pMotionDuration' });\n /**\n * The hide strategy of the motion, valid values 'display' and 'visibility'.\n * @group Props\n */\n hideStrategy = input<'display' | 'visibility'>('display', { alias: 'pMotionHideStrategy' });\n /**\n * The enter from class of the motion.\n * @group Props\n */\n enterFromClass = input<ClassNameOptions['from']>(undefined, { alias: 'pMotionEnterFromClass' });\n /**\n * The enter to class of the motion.\n * @group Props\n */\n enterToClass = input<ClassNameOptions['to']>(undefined, { alias: 'pMotionEnterToClass' });\n /**\n * The enter active class of the motion.\n * @group Props\n */\n enterActiveClass = input<ClassNameOptions['active']>(undefined, { alias: 'pMotionEnterActiveClass' });\n /**\n * The leave from class of the motion.\n * @group Props\n */\n leaveFromClass = input<ClassNameOptions['from']>(undefined, { alias: 'pMotionLeaveFromClass' });\n /**\n * The leave to class of the motion.\n * @group Props\n */\n leaveToClass = input<ClassNameOptions['to']>(undefined, { alias: 'pMotionLeaveToClass' });\n /**\n * The leave active class of the motion.\n * @group Props\n */\n leaveActiveClass = input<ClassNameOptions['active']>(undefined, { alias: 'pMotionLeaveActiveClass' });\n\n /******************** All Inputs ********************/\n\n /**\n * The motion options.\n * @group Props\n */\n options = input<MotionOptions>({}, { alias: 'pMotionOptions' });\n\n /******************** Outputs ********************/\n\n /**\n * Callback fired before the enter transition/animation starts.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onBeforeEnter = output<MotionEvent | undefined>({ alias: 'pMotionOnBeforeEnter' });\n /**\n * Callback fired when the enter transition/animation starts.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onEnter = output<MotionEvent | undefined>({ alias: 'pMotionOnEnter' });\n /**\n * Callback fired after the enter transition/animation ends.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onAfterEnter = output<MotionEvent | undefined>({ alias: 'pMotionOnAfterEnter' });\n /**\n * Callback fired when the enter transition/animation is cancelled.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onEnterCancelled = output<MotionEvent | undefined>({ alias: 'pMotionOnEnterCancelled' });\n /**\n * Callback fired before the leave transition/animation starts.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onBeforeLeave = output<MotionEvent | undefined>({ alias: 'pMotionOnBeforeLeave' });\n /**\n * Callback fired when the leave transition/animation starts.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onLeave = output<MotionEvent | undefined>({ alias: 'pMotionOnLeave' });\n /**\n * Callback fired after the leave transition/animation ends.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onAfterLeave = output<MotionEvent | undefined>({ alias: 'pMotionOnAfterLeave' });\n /**\n * Callback fired when the leave transition/animation is cancelled.\n * @param {MotionEvent} [event] - The event object containing details about the motion.\n * @param {Element} event.element - The element being transitioned/animated.\n * @group Emits\n */\n onLeaveCancelled = output<MotionEvent | undefined>({ alias: 'pMotionOnLeaveCancelled' });\n\n /******************** Computed ********************/\n\n private motionOptions = computed<MotionOptions>(() => {\n const options = this.options() ?? {};\n\n return {\n name: options.name ?? this.name(),\n type: options.type ?? this.type(),\n safe: options.safe ?? this.safe(),\n disabled: options.disabled ?? this.disabled(),\n appear: false,\n enter: options.enter ?? this.enter(),\n leave: options.leave ?? this.leave(),\n duration: options.duration ?? this.duration(),\n enterClass: {\n from: options.enterClass?.from ?? (!options.name ? this.enterFromClass() : undefined),\n to: options.enterClass?.to ?? (!options.name ? this.enterToClass() : undefined),\n active: options.enterClass?.active ?? (!options.name ? this.enterActiveClass() : undefined)\n },\n leaveClass: {\n from: options.leaveClass?.from ?? (!options.name ? this.leaveFromClass() : undefined),\n to: options.leaveClass?.to ?? (!options.name ? this.leaveToClass() : undefined),\n active: options.leaveClass?.active ?? (!options.name ? this.leaveActiveClass() : undefined)\n },\n onBeforeEnter: options.onBeforeEnter ?? this.handleBeforeEnter,\n onEnter: options.onEnter ?? this.handleEnter,\n onAfterEnter: options.onAfterEnter ?? this.handleAfterEnter,\n onEnterCancelled: options.onEnterCancelled ?? this.handleEnterCancelled,\n onBeforeLeave: options.onBeforeLeave ?? this.handleBeforeLeave,\n onLeave: options.onLeave ?? this.handleLeave,\n onAfterLeave: options.onAfterLeave ?? this.handleAfterLeave,\n onLeaveCancelled: options.onLeaveCancelled ?? this.handleLeaveCancelled\n };\n });\n\n private motion: MotionInstance | undefined;\n private isInitialMount = true;\n private cancelled = false;\n private destroyed = false;\n\n private readonly handleBeforeEnter = (event?: MotionEvent) => !this.destroyed && this.onBeforeEnter.emit(event);\n private readonly handleEnter = (event?: MotionEvent) => !this.destroyed && this.onEnter.emit(event);\n private readonly handleAfterEnter = (event?: MotionEvent) => !this.destroyed && this.onAfterEnter.emit(event);\n private readonly handleEnterCancelled = (event?: MotionEvent) => !this.destroyed && this.onEnterCancelled.emit(event);\n private readonly handleBeforeLeave = (event?: MotionEvent) => !this.destroyed && this.onBeforeLeave.emit(event);\n private readonly handleLeave = (event?: MotionEvent) => !this.destroyed && this.onLeave.emit(event);\n private readonly handleAfterLeave = (event?: MotionEvent) => !this.destroyed && this.onAfterLeave.emit(event);\n private readonly handleLeaveCancelled = (event?: MotionEvent) => !this.destroyed && this.onLeaveCancelled.emit(event);\n\n constructor() {\n super();\n\n effect(() => {\n if (!this.motion) {\n this.motion = createMotion(this.$el, this.motionOptions());\n } else {\n // @todo: Update motion options method to update options dynamically\n //this.motion.update(this.$el, this.motionOptions());\n }\n });\n\n afterRenderEffect(() => {\n if (!this.$el) return;\n\n const shouldAppear = this.isInitialMount && this.visible() && this.appear();\n const hideStrategy = this.hideStrategy();\n\n if (this.visible()) {\n resetStyles(this.$el, hideStrategy);\n\n if (shouldAppear || !this.isInitialMount) {\n this.motion?.enter();\n }\n } else if (!this.isInitialMount) {\n this.motion?.leave()?.then(() => {\n if (this.$el && !this.cancelled && !this.visible()) {\n applyHiddenStyles(this.$el, hideStrategy);\n }\n });\n } else {\n applyHiddenStyles(this.$el, hideStrategy);\n }\n\n this.isInitialMount = false;\n });\n }\n\n onDestroy(): void {\n this.destroyed = true;\n this.cancelled = true;\n\n this.motion?.cancel();\n this.motion = undefined;\n\n resetStyles(this.$el, this.hideStrategy());\n\n this.isInitialMount = true;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Motion } from './motion.component';\nimport { MotionDirective } from './motion.directive';\n\nexport * from './motion.component';\nexport * from './motion.directive';\n\n@NgModule({\n imports: [Motion, MotionDirective],\n exports: [Motion, MotionDirective]\n})\nexport class MotionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}