{"remainingRequest":"/Users/jaslan/Development/nifi-fds/angular-url-loader.js!/Users/jaslan/Development/nifi-fds/node_modules/babel-loader/lib/index.js??ref--5-2!/Users/jaslan/Development/nifi-fds/platform/core/common/fds.animations.js","dependencies":[{"path":"/Users/jaslan/Development/nifi-fds/platform/core/common/fds.animations.js","mtime":1562689731032},{"path":"/Users/jaslan/Development/nifi-fds/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/jaslan/Development/nifi-fds/angular-url-loader.js","mtime":1562689731025},{"path":"/Users/jaslan/Development/nifi-fds/node_modules/babel-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":["/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements.  See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License.  You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { trigger, state, style, transition, animate } from '@angular/animations';\n/**\n * FdsAnimations constructor.\n *\n * @constructor\n */\n\nfunction FdsAnimations() {}\n\nFdsAnimations.prototype = {\n  constructor: FdsAnimations,\n\n  /**\n   * Fade animation\n   */\n  fadeAnimation: trigger('routeAnimation', [state('*', style({\n    opacity: 1\n  })), transition(':enter', [style({\n    opacity: 0\n  }), animate('0.5s ease-in')]), transition(':leave', [animate('0.5s ease-out', style({\n    opacity: 0\n  }))])]),\n\n  /**\n   * Slide in from the left animation\n   */\n  slideInLeftAnimation: trigger('routeAnimation', [state('*', style({\n    opacity: 1,\n    transform: 'translateX(0)'\n  })), transition(':enter', [style({\n    opacity: 0,\n    transform: 'translateX(-100%)'\n  }), animate('0.5s ease-in')]), transition(':leave', [animate('0.5s ease-out', style({\n    opacity: 0,\n    transform: 'translateX(100%)'\n  }))])]),\n\n  /**\n   * Slide in from the top animation\n   */\n  slideInDownAnimation: trigger('routeAnimation', [state('*', style({\n    opacity: 1,\n    transform: 'translateY(0)'\n  })), transition(':enter', [style({\n    opacity: 0,\n    transform: 'translateY(-100%)'\n  }), animate('0.5s ease-in')]), transition(':leave', [animate('0.5s ease-out', style({\n    opacity: 0,\n    transform: 'translateY(100%)'\n  }))])]),\n\n  /**\n   * Fly in/out animation\n   */\n  flyInOutAnimation: trigger('flyInOut', [state('in', style({\n    transform: 'translateX(0)'\n  })), transition('void => *', [style({\n    transform: 'translateX(100%)'\n  }), animate('0.4s 0.1s ease-in')]), transition('* => void', animate('0.2s ease-out', style({\n    transform: 'translateX(-100%)'\n  })))]),\n\n  /**\n   * Fly in/out animation\n   */\n  fadeInOutAnimation: trigger('fadeInOut', [state('in', style({\n    opacity: 1\n  })), transition('void => *', [style({\n    opacity: 0\n  }), animate('0.5s 0.1s ease-in')]), transition('* => void', animate('0.5s ease-out', style({\n    opacity: 0\n  })))])\n};\nexport default new FdsAnimations();"]}