{"version":3,"file":"src_app_pages_other_blog-post_blog-post_module_ts.js","mappings":"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","sources":["./src/app/pages/other/blog-post/blog-post-routing.module.ts","./src/app/pages/other/blog-post/blog-post.component.ts","./src/app/pages/other/blog-post/blog-post.component.html","./src/app/pages/other/blog-post/blog-post.module.ts","./src/app/pages/other/blog-post/comments/comments.component.ts","./src/app/pages/other/blog-post/comments/comments.component.html","./src/app/pages/other/blog-post/content/blog-content-adding-client-instagram-account/blog-content-adding-client-instagram-account.component.ts","./src/app/pages/other/blog-post/content/blog-content-adding-client-instagram-account/blog-content-adding-client-instagram-account.component.html","./src/app/pages/other/blog-post/content/blog-content-displaying-instagram-feed/blog-content-displaying-instagram-feed.component.ts","./src/app/pages/other/blog-post/content/blog-content-displaying-instagram-feed/blog-content-displaying-instagram-feed.component.html","./src/app/pages/other/blog-post/content/blog-content-token-expired/blog-content-token-expired.component.ts","./src/app/pages/other/blog-post/content/blog-content-token-expired/blog-content-token-expired.component.html","./src/app/pages/other/blog-post/data.ts","./src/app/pages/other/blog-post/hero/hero.component.ts","./src/app/pages/other/blog-post/hero/hero.component.html","./src/app/pages/other/blog-post/navigation/navigation.component.ts","./src/app/pages/other/blog-post/navigation/navigation.component.html","./src/app/pages/other/blog-post/post-content/post-content.component.ts","./src/app/pages/other/blog-post/post-content/post-content.component.html","./node_modules/file-saver/dist/FileSaver.min.js","./node_modules/ngx-lightbox/index.js","./node_modules/ngx-lightbox/lightbox-config.service.js","./node_modules/ngx-lightbox/lightbox-event.service.js","./node_modules/ngx-lightbox/lightbox-overlay.component.js","./node_modules/ngx-lightbox/lightbox.component.js","./node_modules/ngx-lightbox/lightbox.module.js","./node_modules/ngx-lightbox/lightbox.service.js","./node_modules/ngx-filesaver/fesm2020/ngx-filesaver.mjs"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { BlogComponent } from '../blog/blog.component';\nimport { BlogPostComponent } from './blog-post.component';\n\nconst routes: Routes = [\n { path: '', component: BlogComponent },\n { path: ':slug', component: BlogPostComponent }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class BlogPostRoutingModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport * as feather from 'feather-icons';\nimport { IAlbum } from 'ngx-lightbox';\n\n// data\nimport { IMAGES1 } from './data';\n\nimport { BLOGPOSTS } from '../blog/data';\nimport { BlogPost } from '../blog/blog.model';\n\n@Component({\n selector: 'app-blog-post',\n templateUrl: './blog-post.component.html',\n styleUrls: ['./blog-post.component.scss']\n})\nexport class BlogPostComponent implements OnInit {\n\n gallery: IAlbum[] = [];\n currentPost: BlogPost = undefined;\n\n\n constructor (private titleService: Title, private activedRoute: ActivatedRoute, private router: Router) {\n\n \n\n router.events.subscribe((route) => {\n\n const slug = activedRoute.snapshot.params.slug;\n this.currentPost = BLOGPOSTS.find(w => w.slug == slug);\n\n if (!this.currentPost) {\n this.router.navigate(['/pages/guides']);\n }\n\n });\n\n \n\n }\n\n ngOnInit(): void {\n this.titleService.setTitle(\"Instant-Tokens.com | Guides\");\n this._fetchData();\n\n\n\n }\n\n ngAfterViewInit(): void {\n feather.replace();\n }\n\n /**\n * fetches data\n */\n _fetchData(): void {\n this.gallery = IMAGES1;\n }\n\n}\n","<div>\n <!-- navbar -->\n <app-navbar-1 navClass=\"navbar-light zindex-10 shadow\" ctaButtonClass=\"btn-outline-secondary btn-sm\"\n [fixedWidth]=\"true\">\n </app-navbar-1>\n <!-- hero -->\n <app-blog-post-hero [blogPost]=\"this.currentPost\" ></app-blog-post-hero>\n</div>\n\n<!-- post content -->\n<!-- <app-blog-post-content *ngIf=\"currentPost.slug !== 'what-to-do-if-your-token-expires'\" [gallery]=\"gallery\"></app-blog-post-content> -->\n<app-blog-content-token-expired *ngIf=\"currentPost.slug === 'what-to-do-if-your-token-expires'\"></app-blog-content-token-expired>\n<app-blog-content-adding-client-instagram-account *ngIf=\"currentPost.slug === 'add-a-client-instagram-account'\"></app-blog-content-adding-client-instagram-account>\n<app-blog-content-displaying-instagram-feed *ngIf=\"currentPost.slug === 'adding-instagram-feed-to-your-website'\" ></app-blog-content-displaying-instagram-feed>\n\n\n<!-- navigation -->\n<app-blog-post-navigation [blogPost]=\"this.currentPost\" ></app-blog-post-navigation>\n<!-- comments \n<app-blog-post-comments></app-blog-post-comments>-->\n<!-- footer -->\n<app-footer-2></app-footer-2>\n<!-- back to top -->\n<a class=\"btn btn-soft-primary shadow-none btn-icon btn-back-to-top\" href=\"javascript:void(0)\" appScrollToTop><i\n class=\"icon-xxs\" data-feather=\"arrow-up\"></i></a>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';\nimport { LightboxModule } from 'ngx-lightbox';\n\n// modules\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { BlogPostRoutingModule } from './blog-post-routing.module';\n\n// component\nimport { CommentsComponent } from './comments/comments.component';\nimport { HeroComponent } from './hero/hero.component';\nimport { NavigationComponent } from './navigation/navigation.component';\nimport { PostContentComponent } from './post-content/post-content.component';\nimport { BlogPostComponent } from './blog-post.component';\nimport { BlogContentTokenExpiredComponent } from './content/blog-content-token-expired/blog-content-token-expired.component';\nimport { BlogContentAddingClientInstagramAccountComponent } from './content/blog-content-adding-client-instagram-account/blog-content-adding-client-instagram-account.component';\nimport { BlogContentDisplayingInstagramFeedComponent } from './content/blog-content-displaying-instagram-feed/blog-content-displaying-instagram-feed.component';\n\n\n\n@NgModule({\n declarations: [\n BlogPostComponent,\n HeroComponent,\n PostContentComponent,\n NavigationComponent,\n CommentsComponent,\n BlogContentTokenExpiredComponent,\n BlogContentAddingClientInstagramAccountComponent,\n BlogContentDisplayingInstagramFeedComponent\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n LightboxModule,\n NgbPopoverModule,\n SharedModule,\n BlogPostRoutingModule\n ]\n})\nexport class BlogPostModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\n\n@Component({\n selector: 'app-blog-post-comments',\n templateUrl: './comments.component.html',\n styleUrls: ['./comments.component.scss']\n})\nexport class CommentsComponent implements OnInit {\n\n commentForm: FormGroup = this.fb.group({\n email: ['', [Validators.required, Validators.email]],\n name: ['', Validators.required],\n subject: [''],\n message: ['', Validators.required]\n });\n formSubmitted: boolean = false;\n\n constructor (private fb: FormBuilder) { }\n\n ngOnInit(): void {\n }\n\n /**\n * convenience getter for easy access to form fields\n */\n get formValues() { return this.commentForm.controls; }\n\n /**\n * On submit form\n */\n onSubmit(): void {\n this.formSubmitted = true;\n }\n\n}\n","<section class=\"position-relative pb-5\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-lg-12\">\n <div>\n <h4 class=\"mb-3\">Comments<span class=\"badge badge-soft-secondary fs-14 align-middle ms-2\">3</span>\n </h4>\n\n <div class=\"d-flex align-items-top mt-4\">\n <img class=\"me-2 rounded-sm\" src=\"assets/images/avatars/img-2.jpg\" alt=\"\" height=\"36\">\n <div class=\"flex-grow-1\">\n <h6 class=\"m-0\">Sansa Stark </h6>\n <p class=\"text-muted mb-0\"><small>2 days ago</small></p>\n\n <p class=\"my-1\">At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis\n praesentium voluptatum deleniti atque.</p>\n\n <div>\n <a href=\"javascript: void(0);\" class=\"btn btn-sm btn-link text-primary fw-medium p-0\">\n <i class=\"icon-xxs icon me-1\" data-feather=\"message-circle\"></i>Reply\n </a>\n </div>\n\n <div class=\"d-flex align-items-top mt-4\">\n <img class=\"me-2 rounded-sm\" src=\"assets/images/avatars/img-6.jpg\" alt=\"\" height=\"36\">\n <div class=\"flex-grow-1\">\n <h6 class=\"m-0\">Cersei Lannister </h6>\n <p class=\"text-muted mb-0\"><small>1 day ago</small></p>\n\n <p class=\"my-1\">Itaque earum rerum hic tenetur sapiente delectus aut reiciendis\n voluptatibus maiores alias consequatur aut perferendis</p>\n <div>\n <a href=\"javascript: void(0);\"\n class=\"btn btn-sm btn-link text-primary fw-medium p-0\">\n <i class=\"icon-xxs icon me-1\" data-feather=\"message-circle\"></i>Reply\n </a>\n </div>\n </div> <!-- end flex-body -->\n </div> <!-- end flex-->\n </div> <!-- end flex-body -->\n </div>\n\n <!--hr-->\n <hr class=\"my-4\" />\n\n <div class=\"d-flex align-items-top mt-4\">\n <img class=\"me-2 rounded-sm\" src=\"assets/images/avatars/img-2.jpg\" alt=\"\" height=\"36\">\n <div class=\"flex-grow-1\">\n <h6 class=\"m-0\">Sansa Stark </h6>\n <p class=\"text-muted mb-0\"><small>2 days ago</small></p>\n\n <p class=\"my-1\">At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis\n praesentium voluptatum deleniti atque.</p>\n\n <div>\n <a href=\"javascript: void(0);\" class=\"btn btn-sm btn-link text-primary fw-medium p-0\">\n <i class=\"icon-xxs icon me-1\" data-feather=\"message-circle\"></i>Reply\n </a>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mt-5 mb-lg-0 mb-5\">\n <div class=\"card border\">\n <div class=\"card-body p-4\">\n <h4 class=\"mb-3 mt-0\">Post a comment</h4>\n\n <form [formGroup]=\"commentForm\" (ngSubmit)=\"onSubmit()\">\n <div class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"mb-3\">\n <input type=\"text\" class=\"form-control\" id=\"exampleInputName1\"\n placeholder=\"Name\" formControlName=\"name\" required\n [ngClass]=\"{'is-invalid':formSubmitted && formValues['name'].invalid}\" />\n\n <div *ngIf=\"formSubmitted && formValues['name'].invalid\"\n class=\"invalid-feedback\">\n <div *ngIf=\"formValues['name'].errors?.['required']\">\n Please enter name\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"mb-3\">\n <input type=\"email\" class=\"form-control\" id=\"exampleInputEmail1\"\n placeholder=\"Email\" formControlName=\"email\" required\n [ngClass]=\"{'is-invalid':formSubmitted && formValues['email'].invalid}\" />\n\n <div *ngIf=\"formSubmitted && formValues['email'].invalid\"\n class=\"invalid-feedback\">\n\n <div *ngIf=\"formValues['email'].errors?.['required']\">\n Please enter email\n </div>\n <div *ngIf=\"formValues['email'].errors?.['email']\">\n Email is not a valid Email Address\n </div>\n\n </div>\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"mb-3\">\n <input type=\"text\" class=\"form-control\" id=\"exampleInputSubject1\"\n placeholder=\"Subject\" formControlName=\"subject\" />\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"mb-3\">\n <textarea class=\"form-control\" id=\"exampleFormControlTextarea1\" rows=\"3\"\n placeholder=\"Message\" formControlName=\"message\" required\n [ngClass]=\"{'is-invalid':formSubmitted && formValues['message'].invalid}\"></textarea>\n\n <div *ngIf=\"formSubmitted && formValues['message'].invalid\"\n class=\"invalid-feedback\">\n <div *ngIf=\"formValues['message'].errors?.['required']\">\n Please enter message\n </div>\n </div>\n </div>\n <button type=\"submit\" class=\"btn btn-secondary\">Submit</button>\n </div>\n </div>\n </form>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</section>","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-blog-content-adding-client-instagram-account',\n templateUrl: './blog-content-adding-client-instagram-account.component.html',\n styleUrls: ['./blog-content-adding-client-instagram-account.component.scss']\n})\nexport class BlogContentAddingClientInstagramAccountComponent implements OnInit {\n\n \n currentLocation: string;\n\n constructor() { }\n\n ngOnInit() {\n this.currentLocation = encodeURI(location.href);\n }\n\n}\n","<section class=\"position-relative pb-5\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-lg-12\">\n <p>\n Adding an Instagram account that you do not have credentials for, for example an account that belongs to your client is a common task, with Instant Tokens it is very easy to accomplish this.\n </p>\n <p class=\"mb-4\">\n Log in to your Instant Tokens account and from the main dashboard, click the Add New button, then select \"Get shareable link\". This will copy a unique URL that is for used to associate Instagram accounts with your Instant Tokens account.\n </p>\n\n\n \n <figure class=\"figure\">\n <!-- image -->\n <img src=\"/assets/images/blog/client-instagram/adding-client-instagram.png\" alt=\"\"\n class=\"figure-img img-fluid rounded\" />\n\n <!-- image caption -->\n <figcaption class=\"figure-caption text-center\">\n Get a shareable link\n </figcaption>\n </figure>\n\n <p class=\"mb-4\">\n Send this link to your client and instruct them to authorise the Instant Tokens Instragam application. Ensure that they use the exact link with no modifications or alterations, this is important!\n \n \n </p>\n <p class=\"mb-4\">\n Once authorised they will see a confirmation screen\n </p>\n\n <figure class=\"figure\">\n <!-- image -->\n <img src=\"/assets/images/blog/client-instagram/process-complete.png\" alt=\"\"\n class=\"figure-img img-fluid rounded\" />\n\n <!-- image caption -->\n <figcaption class=\"figure-caption text-center\">\n Confirmation dialog displayed to the client\n </figcaption>\n </figure>\n\n\n\n <p class=\"mb-2\">\n And that is it, their Instagram account will appear on your Instant Tokens dashboard without you ever needing their Instagram credentials.\n </p>\n\n\n \n <!-- tags start -->\n <div class=\"mt-5\">\n <a class=\"btn btn-sm btn-soft-secondary mb-1 me-1\" [routerLink]=\"['.']\">How To</a>\n <a class=\"btn btn-sm btn-soft-secondary mb-1 me-1\" [routerLink]=\"['.']\">Client Accounts</a>\n <a class=\"btn btn-sm btn-soft-secondary mb-1 me-1\" [routerLink]=\"['.']\">Instagram API</a>\n </div>\n <!-- tags end -->\n\n <!-- social sharing start -->\n <ul class=\"list-inline mb-0 mt-4\">\n <li class=\"list-inline-item text-muted align-middle me-2 text-uppercase fs-13 fw-medium\">Share:</li>\n <li class=\"list-inline-item me-2 align-middle\">\n <a href=\"https://www.facebook.com/sharer/sharer.php?u={{currentLocation}}\" target=\"_blank\" rel=\"noopener\">\n <i class=\"icon-xs icon-dual-primary\" data-feather=\"facebook\"></i>\n </a>\n </li>\n <li class=\"list-inline-item me-2 align-middle\">\n <a href=\"https://twitter.com/share?url={{currentLocation}}\">\n <i class=\"icon-xs icon-dual-info\" data-feather=\"twitter\"></i>\n </a>\n </li>\n </ul>\n <!-- social sharing end -->\n </div>\n </div>\n </div>\n</section>","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-blog-content-displaying-instagram-feed',\n templateUrl: './blog-content-displaying-instagram-feed.component.html',\n styleUrls: ['./blog-content-displaying-instagram-feed.component.scss']\n})\nexport class BlogContentDisplayingInstagramFeedComponent implements OnInit {\n\n \n currentLocation: string;\n\n constructor() { }\n\n ngOnInit() {\n this.currentLocation = encodeURI(location.href);\n }\n\n}\n","<section class=\"position-relative pb-5\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-lg-12\">\n <p><b>\n Note: Please upgrade to <a class=\"text-primary\"\n href=\"https://s3.eu-central-1.wasabisys.com/instafeed/instafeed-v3.min.js\"\n target=\"_blank\">Instafeedv3.js</a> since as of December 4th, 2024 Meta deprecated Instagram Basic\n Display API.\n </b></p>\n <p>\n Displaying your Instagram feed on your website might appear to be tricky but not with Instant Tokens!\n </p>\n <p class=\"mb-4\">\n Log in to your Instant Tokens account and from the main dashboard, click the Add New button. If you have\n access to the Instagram Account then click \"Add Instagram Account\". If you don't have access to the account,\n for example it belongs to a client,\n then select \"Get shareable link\". This will copy a unique URL that is for used to associate Instagram accounts\n with your Instant Tokens account.\n\n See our guide <a class=\"text-primary\" [routerLink]=\"['/pages/guides/post/add-a-client-instagram-account']\"\n target=\"_blank\">Adding a Client Instagram Account</a> for more information on this.\n </p>\n\n <p>Once you have authorised the Instant Tokens Instagram Application, the Instagram account will appear on your\n Dashboard</p>\n\n\n\n <figure class=\"figure\">\n <!-- image -->\n <img src=\"/assets/images/blog/display-feed/dashboard.png\" alt=\"\" class=\"figure-img img-fluid rounded\" />\n\n <!-- image caption -->\n <figcaption class=\"figure-caption text-center\">\n Instant Tokens Dashboard\n </figcaption>\n </figure>\n\n <p class=\"mb-4\">\n One of the easiest ways to use Instant Tokens is with <a\n href=\"https://s3.eu-central-1.wasabisys.com/instafeed/instafeed-v3.min.js\"\n target=\"_blank\">Instafeedv3.js</a>. Displaying your Instagram Feed in this way is as easy as four steps:\n\n </p>\n <ol>\n <li>Add a script reference to Instafeedv3.js</li>\n <li>Add a script reference to the Instant Tokens JS File in your account</li>\n <li>Add a div HTML element with the id of \"instafeed\"</li>\n <li>Add a script block that executes the Instafeedv3.js plugin</li>\n </ol>\n <p class=\"mb-4\">\n An example of how to do this can be seen here:\n </p>\n\n <iframe height=\"600\" style=\"width: 100%;\" scrolling=\"no\"\n title=\"Instafeedv3.js with JS File from Instant-Tokens.com\"\n src=\"https://codepen.io/codingbadger/embed/KKOjLyR?default-tab=html%2Cresult\" frameborder=\"no\" loading=\"lazy\"\n allowtransparency=\"true\" allowfullscreen=\"true\">\n See the Pen <a href=\"https://codepen.io/codingbadger/pen/KKOjLyR\">\n Instafeedv3.js with JS File from Instant-Tokens.com</a> by Barry Mooring (<a\n href=\"https://codepen.io/codingbadger\">@codingbadger</a>)\n on <a href=\"https://codepen.io\">CodePen</a>.\n </iframe>\n\n\n <p class=\"mb-2 mt-2\">\n Congratulations! Your Instagram Feed will display on your site.\n </p>\n\n <!-- tags start -->\n <div class=\"mt-5\">\n <a class=\"btn btn-sm btn-soft-secondary mb-1 me-1\" [routerLink]=\"['.']\">How To</a>\n <a class=\"btn btn-sm btn-soft-secondary mb-1 me-1\" [routerLink]=\"['.']\">Display Instagram Feed</a>\n <a class=\"btn btn-sm btn-soft-secondary mb-1 me-1\" [routerLink]=\"['.']\">Instagram API</a>\n </div>\n <!-- tags end -->\n\n <!-- social sharing start -->\n <ul class=\"list-inline mb-0 mt-4\">\n <li class=\"list-inline-item text-muted align-middle me-2 text-uppercase fs-13 fw-medium\">Share:</li>\n <li class=\"list-inline-item me-2 align-middle\">\n <a href=\"https://www.facebook.com/sharer/sharer.php?u={{currentLocation}}\" target=\"_blank\" rel=\"noopener\">\n <i class=\"icon-xs icon-dual-primary\" data-feather=\"facebook\"></i>\n </a>\n </li>\n <li class=\"list-inline-item me-2 align-middle\">\n <a href=\"https://twitter.com/share?url={{currentLocation}}\">\n <i class=\"icon-xs icon-dual-info\" data-feather=\"twitter\"></i>\n </a>\n </li>\n </ul>\n <!-- social sharing end -->\n </div>\n </div>\n </div>\n</section>","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-blog-content-token-expired',\n templateUrl: './blog-content-token-expired.component.html',\n styleUrls: ['./blog-content-token-expired.component.scss']\n})\nexport class BlogContentTokenExpiredComponent implements OnInit {\n\n \n currentLocation: string;\n\n constructor() { }\n\n ngOnInit() {\n this.currentLocation = encodeURI(location.href);\n }\n\n}\n","<section class=\"position-relative pb-5\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-lg-12\">\n <p>\n There will be occassions when your token for the Instagram API expires or is invalidated.\n </p>\n <p class=\"mb-4\">\n There are a few reasons that this could happen:\n </p>\n <ul style=\"list-style: none;\">\n <li>- Your subscription has lapsed and we have not processed the scheduled refresh of the token </li>\n <li>- The account owner of the Instagram account has changed their account password</li>\n <li>- Instagram has invalidated the token due to an internal security policy <li>\n </ul>\n\n <h3 class=\"mt-4 text-primary\">Activating the token</h3>\n <p class=\"mb-2\">\n Fortunately the process to re-active and refresh the token is a simple one. Log in to your Instant Tokens account and simply go through the steps to add the Instagram account as if it were a new account. \n This process will update the information we have for the Instagram account and generate a new long lived token.\n </p>\n\n\n \n <figure class=\"figure\">\n <!-- image -->\n <img src=\"/assets/images/blog/expired-tokens/add-new.png\" alt=\"\"\n class=\"figure-img img-fluid rounded\" />\n\n <!-- image caption -->\n <figcaption class=\"figure-caption text-center\">\n Activating an expired token for an Instagram account\n </figcaption>\n </figure>\n\n\n <p class=\"mb-2\">\n If your subscription has lapsed, ensure that you have a valid subscription before re-adding the Instagram Account. Without a valid subscription your request to retrieve the token will be denied.\n </p>\n\n\n \n <!-- tags start -->\n <div class=\"mt-5\">\n <a class=\"btn btn-sm btn-soft-secondary mb-1 me-1\" [routerLink]=\"['.']\">How To</a>\n <a class=\"btn btn-sm btn-soft-secondary mb-1 me-1\" [routerLink]=\"['.']\">Expired Tokens</a>\n <a class=\"btn btn-sm btn-soft-secondary mb-1 me-1\" [routerLink]=\"['.']\">Instagram API</a>\n </div>\n <!-- tags end -->\n\n <!-- social sharing start -->\n <ul class=\"list-inline mb-0 mt-4\">\n <li class=\"list-inline-item text-muted align-middle me-2 text-uppercase fs-13 fw-medium\">Share:</li>\n <li class=\"list-inline-item me-2 align-middle\">\n <a href=\"https://www.facebook.com/sharer/sharer.php?u={{currentLocation}}\" target=\"_blank\" rel=\"noopener\">\n <i class=\"icon-xs icon-dual-primary\" data-feather=\"facebook\"></i>\n </a>\n </li>\n <li class=\"list-inline-item me-2 align-middle\">\n <a href=\"https://twitter.com/share?url={{currentLocation}}\">\n <i class=\"icon-xs icon-dual-info\" data-feather=\"twitter\"></i>\n </a>\n </li>\n </ul>\n <!-- social sharing end -->\n </div>\n </div>\n </div>\n</section>","// types\nimport { IAlbum } from \"ngx-lightbox\";\n\nconst IMAGES1: IAlbum[] = [\n {\n src: 'assets/images/photos/3.jpg',\n caption: 'Office Desks',\n thumb: 'assets/images/photos/3.jpg',\n },\n {\n src: 'assets/images/photos/4.jpg',\n caption: 'Meeting Room view',\n thumb: 'assets/images/photos/4.jpg',\n },\n {\n src: 'assets/images/photos/10.jpg',\n caption: 'Outside view',\n thumb: 'assets/images/photos/10.jpg',\n },\n {\n src: 'assets/images/photos/5.jpg',\n caption: 'A common seating area',\n thumb: 'assets/images/photos/5.jpg',\n }\n];\n\nexport { IMAGES1 };","import { Component, Input, OnInit } from '@angular/core';\nimport { BlogPost } from '../../blog/blog.model';\n\n@Component({\n selector: 'app-blog-post-hero',\n templateUrl: './hero.component.html',\n styleUrls: ['./hero.component.scss']\n})\nexport class HeroComponent implements OnInit {\n\n public currentLocation: string;\n\n @Input()\n public blogPost: BlogPost;\n \n constructor () { }\n\n ngOnInit(): void {\n \n this.currentLocation = encodeURI(location.href);\n }\n\n}\n","<section class=\"hero-4 pb-5 pt-8 pt-lg-6 pb-sm-4\">\n <div class=\"container\">\n <div class=\"row justify-content-center\">\n <div class=\"col-lg-12\">\n <nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n <li class=\"breadcrumb-item\"><a [routerLink]=\"['/pages/guides']\">Guides</a></li>\n <li class=\"breadcrumb-item active\" aria-current=\"page\">{{ blogPost.title }} </li>\n </ol>\n </nav>\n\n <div class=\"mt-4\">\n <a [routerLink]=\"['.']\">\n <span class=\"badge badge-soft-{{ blogPost.tag.variant}} mb-1\">{{ blogPost.tag.value }}</span>\n </a>\n </div>\n <h1 class=\"hero-title mt-0 text-primary\"> {{ blogPost.title }} </h1>\n </div>\n </div>\n\n <!-- author and sharing info start -->\n <div class=\"row mt-4 align-items-center\">\n <div class=\"col-auto\">\n <div class=\"d-flex align-items-center\">\n <img class=\"me-2 avatar avatar-sm rounded-circle avatar-border\"\n [src]=\"blogPost.postedBy.avatar\" alt=\"\" />\n\n <div>\n <h5 class=\"m-0\"><a [routerLink]=\"['.']\">{{ blogPost.postedBy.name }} </a></h5>\n <p class=\"text-muted mb-0 fs-13\">{{ blogPost.postedOn.date }} · {{ blogPost.postedOn.duration }}</p>\n </div>\n </div>\n </div>\n <div class=\"col\">\n <div class=\"text-md-end\">\n <ul class=\"list-inline mb-0\">\n <li class=\"list-inline-item text-muted align-middle me-2 text-uppercase fs-13 fw-medium\">Share:\n </li>\n <li class=\"list-inline-item me-2 align-middle\">\n <a href=\"https://www.facebook.com/sharer/sharer.php?u={{currentLocation}}\" target=\"_blank\" rel=\"noopener\">\n <i class=\"icon-xs icon-dual-primary\" data-feather=\"facebook\"></i>\n </a>\n </li>\n <li class=\"list-inline-item me-2 align-middle\">\n <a href=\"https://twitter.com/share?url={{currentLocation}}\">\n <i class=\"icon-xs icon-dual-info\" data-feather=\"twitter\"></i>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <!-- author and sharing info end -->\n </div>\n</section>","import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { BlogPost } from '../../blog/blog.model';\n\nimport { BLOGPOSTS } from '../../blog/data';\n\n@Component({\n selector: 'app-blog-post-navigation',\n templateUrl: './navigation.component.html',\n styleUrls: ['./navigation.component.scss']\n})\nexport class NavigationComponent implements OnInit, OnChanges {\n\n @Input()\n public blogPost: BlogPost;\n\n public nextPost: BlogPost;\n public previousPost: BlogPost;\n \n \n constructor () { \n\n\n\n\n\n }\n ngOnChanges(changes: SimpleChanges): void {\n this.nextPost = BLOGPOSTS.find(w => w.slug == this.blogPost.nextSlug);\n this.previousPost = BLOGPOSTS.find(w => w.slug == this.blogPost.previousSlug);\n }\n\n ngOnInit(): void {\n\n \n \n }\n\n}\n","<section class=\"position-relative pb-5\">\n <div class=\"container\">\n <div class=\"row border-top border-bottom py-4 align-items-center\">\n <div class=\"col-lg-2 col-6\">\n\n <a class=\"btn btn-white\" routerLink=\"/pages/guides/post/{{this.previousPost.slug}}\" placement=\"top\" triggers=\"mouseenter:mouseleave\"\n [ngbPopover]=\"popContentPrev\" popoverTitle=\"\" container=\"body\">\n <i class=\" icon-xs icon-left-arrow me-2\"></i>\n <span class=\"d-none d-sm-inline-flex\">Prev Post</span>\n </a>\n </div>\n <div class=\"col-lg-6 offset-lg-1\">\n <div class=\"d-flex justify-content-lg-center py-lg-0 py-4\">\n <div class=\"d-flex align-items-center\">\n <img class=\"me-3 avatar avatar-sm rounded-circle align-self-center\"\n [src]=\"blogPost.postedBy.avatar\" alt=\"\" />\n\n <div class=\"flex-grow-1\">\n <h5 class=\"m-0\">\n <a [routerLink]=\"['.']\">{{ blogPost.postedBy.name }}</a>\n </h5>\n <p class=\"text-muted mb-0 fs-14\">\n \n </p>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-lg-2 offset-lg-1 text-lg-end text-start col-6\">\n <a class=\"btn btn-white\" routerLink=\"/pages/guides/post/{{this.nextPost.slug}}\" placement=\"top\" triggers=\"mouseenter:mouseleave\"\n [ngbPopover]=\"popContentNext\" popoverTitle=\"\" container=\"body\">\n <span class=\" d-none d-sm-inline-flex\">Next Post</span>\n <i class=\"icon-xs icon-right-arrow ms-2\"></i>\n </a>\n </div>\n </div>\n </div>\n</section>\n\n<ng-template #popContentPrev>\n <div class='d-flex align-items-center'>\n <img [src]='this.previousPost.image' width='60' class='me-3 rounded-sm' alt='thumb'>\n <div class='flex-grow-1'>\n <h6 class='fs-14 fw-semibold mt-0 mb-1'>{{ this.previousPost.title }}</h6>\n <span class='d-block fs-13 text-muted'>by {{ this.previousPost.postedBy.name}}</span>\n </div>\n </div>\n</ng-template>\n\n<ng-template #popContentNext>\n <div class='d-flex align-items-center'>\n <img [src]='this.nextPost.image' width='60' class='me-3 rounded-sm' alt='thumb'>\n <div class='flex-grow-1'>\n <h6 class=' fs-14 fw-semibold mt-0 mb-1'>{{ this.nextPost.title }}\n </h6>\n <span class='d-block fs-13 text-muted'>by {{ this.nextPost.postedBy.name}}</span>\n </div>\n </div>\n</ng-template>","import { Component, Input, OnInit } from '@angular/core';\nimport { IAlbum, Lightbox } from 'ngx-lightbox';\n\n@Component({\n selector: 'app-blog-post-content',\n templateUrl: './post-content.component.html',\n styleUrls: ['./post-content.component.scss']\n})\nexport class PostContentComponent implements OnInit {\n\n\n currentLocation: string;\n \n @Input() gallery: IAlbum[] = [];\n\n constructor (private _lightbox: Lightbox) { }\n\n ngOnInit(): void {\n\n this.currentLocation = encodeURI(location.href);\n }\n\n /**\n * open lightbox \n * @param index image number\n */\n openLightbox(index: number): void {\n this._lightbox.open(this.gallery, index, { fadeDuration: 0.1, resizeDuration: 0.1, wrapAround: true, showImageNumberLabel: true, disableScrolling: true, centerVertically: true });\n }\n\n /**\n * close lightbox programmatically\n */\n close(): void {\n this._lightbox.close();\n }\n\n}\n","<section class=\"position-relative pb-5\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-lg-12\">\n <p>\n Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit officia neque beatae at\n inventore excepturi numquam sint commodi alias, quam consequuntur corporis ex, distinctio eaque\n sapiente pariatur iure ad necessitatibus in quod obcaecati natus consequatur. Sed dicta maiores,\n eos culpa.\n </p>\n <p class=\"mb-4\">\n Voluptatum animi, voluptate sint aperiam facere a nam, ex reiciendis eum nemo ipsum nobis, rem\n illum cupiditate at quaerat amet qui recusandae hic, atque laboriosam perspiciatis? Esse quidem\n minima, voluptas necessitatibus, officia culpa quo nulla, cupiditate iste vel unde magni.\n </p>\n\n <figure class=\"figure\">\n <!-- image -->\n <img src=\"https://source.unsplash.com/GXNo-OJynTQ/1920x720\" alt=\"\"\n class=\"figure-img img-fluid rounded\" />\n\n <!-- image caption -->\n <figcaption class=\"figure-caption text-center\">\n The image caption referencing the above image\n </figcaption>\n </figure>\n\n <h3 class=\"mt-4\">Itaque earum rerum hic tenetur sapiente delectu</h3>\n <p class=\"mb-2\">\n Sed ut perspiciatis unde omnis iste natus the error sit voluptatem accusantium doloremque laudantium\n totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae\n dicta sunt\n explicabo Et harum quidem rerum facilis est et expedita distinctio nam libero tempore cum soluta\n nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus omnis\n voluptas\n assumenda est omnis dolor repellendus.\n </p>\n\n <blockquote class=\"blockquote p-4 my-4 bg-light\">\n <p class=\"\">\n Perspiciatis unde omnis iste natus error voluptatem accusantium doloremque laudantium totam\n rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beataevitae\n dicta sunt explicabo\n tempore cum soluta.\n </p>\n <footer class=\"blockquote-footer mt-0\">\n <small class=\"fs-13\">Christian Hall</small>\n </footer>\n </blockquote>\n\n <p class=\"pb-2\">\n At vero eos et accusamus et iusto odio dignissimos ducimus that qui blanditiis praesentium\n voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati\n cupiditate provident similique\n sunt in culpa qui officia deserunt mollitia animi id est laborum et fuga.\n </p>\n <p class=\"pb-2\">\n Itaque earum rerum hic tenetur sapiente delectu aut reiciendis voluptatibus maiores alias consequ\n perferendis doloribus asperiores repellat. Sed ut perspiciatis unde omnis iste natus error sit\n voluptatem\n accusantium doloremque laudantium totam rem aperiam eaque ipsa quae ab illo inventore veritatisquasi\n architecto beatae vitae dicta sunt explicabo.\n </p>\n <p class=\"pb-2\">\n Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam nisi\n aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate lit\n esse quam nihil\n molestiae consequatur eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere\n possimus omnis voluptas assumenda est vel illum qui dolorem eum fugiat quo voluptas aperiam, eaque\n ipsa quae ab\n illo inventore.\n </p>\n\n <div data-toggle=\"image-gallery\" data-delegate=\"a\" data-type=\"image\" data-enable-gallery=\"true\"\n class=\"mt-4\">\n <div class=\"row\">\n <div class=\"col-lg-6\" *ngFor=\"let image of gallery; let i=index\">\n <a href=\"javascript:void(0)\">\n <div class=\"card shadow rounded-sm\">\n <div class=\"card-body p-1\">\n <img [src]=\"image.thumb\" (click)=\"openLightbox(i)\" alt=\"\"\n class=\"img-fluid rounded-sm\">\n </div>\n </div>\n </a>\n </div>\n </div>\n </div>\n\n <h5 class=\"mt-2\">Conclusion</h5>\n <p>\n Itaque earum rerum hic tenetur sapiente delectus aut reiciendis voluptatibus maiores alias\n consequatur aut perferendis doloribus asperiores repellat qui dolorem ipsum quia dolor sit amet\n consectetur velitsedquia\n non numquam eius modi tempora incidunt.\n </p>\n\n <p class=\"mb-2\">Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit sed quia\n consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.</p>\n\n <p class=\"mb-2\"><i class=\"icon-xs icon me-2\" data-feather=\"minus\"></i> Dream places</p>\n <p class=\"mb-2\"><i class=\"icon-xs icon me-2\" data-feather=\"minus\"></i> Walking/Hiking tours</p>\n <p class=\"mb-2\"><i class=\"icon-xs icon me-2\" data-feather=\"minus\"></i> Tennis lessons with expert\n coaches</p>\n <p class=\"mb-2\"><i class=\"icon-xs icon me-2\" data-feather=\"minus\"></i> Sailing adventures</p>\n\n <!-- tags start -->\n <div class=\"mt-5\">\n <a class=\"btn btn-sm btn-soft-secondary mb-1 me-1\" [routerLink]=\"['.']\">Startup</a>\n <a class=\"btn btn-sm btn-soft-secondary mb-1 me-1\" [routerLink]=\"['.']\">Website Design</a>\n <a class=\"btn btn-sm btn-soft-secondary mb-1 me-1\" [routerLink]=\"['.']\">Website Development</a>\n <a class=\"btn btn-sm btn-soft-secondary mb-1 me-1\" [routerLink]=\"['.']\">Bootstrap</a>\n </div>\n <!-- tags end -->\n\n <!-- social sharing start -->\n <ul class=\"list-inline mb-0 mt-4\">\n <li class=\"list-inline-item text-muted align-middle me-2 text-uppercase fs-13 fw-medium\">Share:</li>\n <li class=\"list-inline-item me-2 align-middle\">\n <a href=\"https://www.facebook.com/sharer/sharer.php?u={{currentLocation}}\" target=\"_blank\" rel=\"noopener\">\n <i class=\"icon-xs icon-dual-primary\" data-feather=\"facebook\"></i>\n </a>\n </li>\n <li class=\"list-inline-item me-2 align-middle\">\n <a href=\"https://twitter.com/share?url={{currentLocation}}\">\n <i class=\"icon-xs icon-dual-info\" data-feather=\"twitter\"></i>\n </a>\n </li>\n </ul>\n <!-- social sharing end -->\n </div>\n </div>\n </div>\n</section>","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n","export { Lightbox } from './lightbox.service';\nexport { LightboxConfig } from './lightbox-config.service';\nexport { LightboxEvent, LIGHTBOX_EVENT } from './lightbox-event.service';\nexport { LightboxModule } from './lightbox.module';\n","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class LightboxConfig {\n constructor() {\n this.fadeDuration = 0.7;\n this.resizeDuration = 0.5;\n this.fitImageInViewPort = true;\n this.positionFromTop = 20;\n this.showImageNumberLabel = false;\n this.alwaysShowNavOnTouchDevices = false;\n this.wrapAround = false;\n this.disableKeyboardNav = false;\n this.disableScrolling = false;\n this.centerVertically = false;\n this.enableTransition = true;\n this.albumLabel = 'Image %1 of %2';\n this.showZoom = false;\n this.showRotate = false;\n this.containerElementResolver = (documentRef) => documentRef.querySelector('body');\n }\n}\nLightboxConfig.ɵfac = function LightboxConfig_Factory(t) { return new (t || LightboxConfig)(); };\nLightboxConfig.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LightboxConfig, factory: LightboxConfig.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(LightboxConfig, [{\n type: Injectable\n }], function () { return []; }, null); })();\n","import { Subject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport const LIGHTBOX_EVENT = {\n CHANGE_PAGE: 1,\n CLOSE: 2,\n OPEN: 3,\n ZOOM_IN: 4,\n ZOOM_OUT: 5,\n ROTATE_LEFT: 6,\n ROTATE_RIGHT: 7\n};\nexport class LightboxEvent {\n constructor() {\n this._lightboxEventSource = new Subject();\n this.lightboxEvent$ = this._lightboxEventSource.asObservable();\n }\n broadcastLightboxEvent(event) {\n this._lightboxEventSource.next(event);\n }\n}\nLightboxEvent.ɵfac = function LightboxEvent_Factory(t) { return new (t || LightboxEvent)(); };\nLightboxEvent.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LightboxEvent, factory: LightboxEvent.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(LightboxEvent, [{\n type: Injectable\n }], function () { return []; }, null); })();\nfunction getWindow() {\n return window;\n}\nexport class LightboxWindowRef {\n get nativeWindow() {\n return getWindow();\n }\n}\nLightboxWindowRef.ɵfac = function LightboxWindowRef_Factory(t) { return new (t || LightboxWindowRef)(); };\nLightboxWindowRef.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LightboxWindowRef, factory: LightboxWindowRef.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(LightboxWindowRef, [{\n type: Injectable\n }], null, null); })();\n","import { DOCUMENT } from '@angular/common';\nimport { Component, ElementRef, HostListener, Inject, Input, Renderer2, } from '@angular/core';\nimport { LIGHTBOX_EVENT, LightboxEvent, } from './lightbox-event.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./lightbox-event.service\";\nconst _c0 = [\"lb-overlay\", \"\"];\nexport class LightboxOverlayComponent {\n constructor(_elemRef, _rendererRef, _lightboxEvent, _documentRef) {\n this._elemRef = _elemRef;\n this._rendererRef = _rendererRef;\n this._lightboxEvent = _lightboxEvent;\n this._documentRef = _documentRef;\n this.classList = 'lightboxOverlay animation fadeInOverlay';\n this._subscription = this._lightboxEvent.lightboxEvent$.subscribe((event) => this._onReceivedEvent(event));\n }\n close() {\n // broadcast to itself and all others subscriber including the components\n this._lightboxEvent.broadcastLightboxEvent({ id: LIGHTBOX_EVENT.CLOSE, data: null });\n }\n ngAfterViewInit() {\n const fadeDuration = this.options.fadeDuration;\n this._rendererRef.setStyle(this._elemRef.nativeElement, '-webkit-animation-duration', `${fadeDuration}s`);\n this._rendererRef.setStyle(this._elemRef.nativeElement, 'animation-duration', `${fadeDuration}s`);\n this._sizeOverlay();\n }\n onResize() {\n this._sizeOverlay();\n }\n ngOnDestroy() {\n this._subscription.unsubscribe();\n }\n _sizeOverlay() {\n const width = this._getOverlayWidth();\n const height = this._getOverlayHeight();\n this._rendererRef.setStyle(this._elemRef.nativeElement, 'width', `${width}px`);\n this._rendererRef.setStyle(this._elemRef.nativeElement, 'height', `${height}px`);\n }\n _onReceivedEvent(event) {\n switch (event.id) {\n case LIGHTBOX_EVENT.CLOSE:\n this._end();\n break;\n default:\n break;\n }\n }\n _end() {\n this.classList = 'lightboxOverlay animation fadeOutOverlay';\n // queue self destruction after the animation has finished\n // FIXME: not sure if there is any way better than this\n setTimeout(() => {\n this.cmpRef.destroy();\n }, this.options.fadeDuration * 1000);\n }\n _getOverlayWidth() {\n return Math.max(this._documentRef.body.scrollWidth, this._documentRef.body.offsetWidth, this._documentRef.documentElement.clientWidth, this._documentRef.documentElement.scrollWidth, this._documentRef.documentElement.offsetWidth);\n }\n _getOverlayHeight() {\n return Math.max(this._documentRef.body.scrollHeight, this._documentRef.body.offsetHeight, this._documentRef.documentElement.clientHeight, this._documentRef.documentElement.scrollHeight, this._documentRef.documentElement.offsetHeight);\n }\n}\nLightboxOverlayComponent.ɵfac = function LightboxOverlayComponent_Factory(t) { return new (t || LightboxOverlayComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i1.LightboxEvent), i0.ɵɵdirectiveInject(DOCUMENT)); };\nLightboxOverlayComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LightboxOverlayComponent, selectors: [[\"\", \"lb-overlay\", \"\"]], hostVars: 2, hostBindings: function LightboxOverlayComponent_HostBindings(rf, ctx) { if (rf & 1) {\n i0.ɵɵlistener(\"click\", function LightboxOverlayComponent_click_HostBindingHandler() { return ctx.close(); })(\"resize\", function LightboxOverlayComponent_resize_HostBindingHandler() { return ctx.onResize(); }, false, i0.ɵɵresolveWindow);\n } if (rf & 2) {\n i0.ɵɵclassMap(ctx.classList);\n } }, inputs: { options: \"options\", cmpRef: \"cmpRef\" }, attrs: _c0, decls: 0, vars: 0, template: function LightboxOverlayComponent_Template(rf, ctx) { }, encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(LightboxOverlayComponent, [{\n type: Component,\n args: [{\n selector: '[lb-overlay]',\n template: '',\n host: {\n '[class]': 'classList'\n }\n }]\n }], function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.LightboxEvent }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { options: [{\n type: Input\n }], cmpRef: [{\n type: Input\n }], close: [{\n type: HostListener,\n args: ['click']\n }], onResize: [{\n type: HostListener,\n args: ['window:resize']\n }] }); })();\n","import { FileSaverService } from 'ngx-filesaver';\nimport { DOCUMENT } from '@angular/common';\nimport { Component, ElementRef, Inject, Input, Renderer2, SecurityContext, ViewChild, } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { LIGHTBOX_EVENT, LightboxEvent, LightboxWindowRef, } from './lightbox-event.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./lightbox-event.service\";\nimport * as i2 from \"ngx-filesaver\";\nimport * as i3 from \"@angular/platform-browser\";\nconst _c0 = [\"outerContainer\"];\nconst _c1 = [\"container\"];\nconst _c2 = [\"leftArrow\"];\nconst _c3 = [\"rightArrow\"];\nconst _c4 = [\"navArrow\"];\nconst _c5 = [\"dataContainer\"];\nconst _c6 = [\"image\"];\nconst _c7 = [\"caption\"];\nconst _c8 = [\"number\"];\nconst _c9 = [\"lb-content\", \"\"];\nexport class LightboxComponent {\n constructor(_elemRef, _rendererRef, _lightboxEvent, _lightboxElem, _lightboxWindowRef, _fileSaverService, _sanitizer, _documentRef) {\n this._elemRef = _elemRef;\n this._rendererRef = _rendererRef;\n this._lightboxEvent = _lightboxEvent;\n this._lightboxElem = _lightboxElem;\n this._lightboxWindowRef = _lightboxWindowRef;\n this._fileSaverService = _fileSaverService;\n this._sanitizer = _sanitizer;\n this._documentRef = _documentRef;\n // initialize data\n this.options = this.options || {};\n this.album = this.album || [];\n this.currentImageIndex = this.currentImageIndex || 0;\n this._windowRef = this._lightboxWindowRef.nativeWindow;\n // control the interactive of the directive\n this.ui = {\n // control the appear of the reloader\n // false: image has loaded completely and ready to be shown\n // true: image is still loading\n showReloader: true,\n // control the appear of the nav arrow\n // the arrowNav is the parent of both left and right arrow\n // in some cases, the parent shows but the child does not show\n showLeftArrow: false,\n showRightArrow: false,\n showArrowNav: false,\n // control the appear of the zoom and rotate buttons\n showZoomButton: false,\n showRotateButton: false,\n // control whether to show the\n // page number or not\n showPageNumber: false,\n showCaption: false,\n // control whether to show the download button or not\n showDownloadButton: false,\n classList: 'lightbox animation fadeIn'\n };\n this.content = {\n pageNumber: ''\n };\n this._event = {};\n this._lightboxElem = this._elemRef;\n this._event.subscription = this._lightboxEvent.lightboxEvent$\n .subscribe((event) => this._onReceivedEvent(event));\n this.rotate = 0;\n }\n ngOnInit() {\n this.album.forEach(album => {\n if (album.caption) {\n album.caption = this._sanitizer.sanitize(SecurityContext.HTML, album.caption);\n }\n });\n }\n ngAfterViewInit() {\n // need to init css value here, after the view ready\n // actually these values are always 0\n this._cssValue = {\n containerTopPadding: Math.round(this._getCssStyleValue(this._containerElem, 'padding-top')),\n containerRightPadding: Math.round(this._getCssStyleValue(this._containerElem, 'padding-right')),\n containerBottomPadding: Math.round(this._getCssStyleValue(this._containerElem, 'padding-bottom')),\n containerLeftPadding: Math.round(this._getCssStyleValue(this._containerElem, 'padding-left')),\n imageBorderWidthTop: Math.round(this._getCssStyleValue(this._imageElem, 'border-top-width')),\n imageBorderWidthBottom: Math.round(this._getCssStyleValue(this._imageElem, 'border-bottom-width')),\n imageBorderWidthLeft: Math.round(this._getCssStyleValue(this._imageElem, 'border-left-width')),\n imageBorderWidthRight: Math.round(this._getCssStyleValue(this._imageElem, 'border-right-width'))\n };\n if (this._validateInputData()) {\n this._prepareComponent();\n this._registerImageLoadingEvent();\n }\n }\n ngOnDestroy() {\n if (!this.options.disableKeyboardNav) {\n // unbind keyboard event\n this._disableKeyboardNav();\n }\n this._event.subscription.unsubscribe();\n }\n close($event) {\n $event.stopPropagation();\n if ($event.target.classList.contains('lightbox') ||\n $event.target.classList.contains('lb-loader') ||\n $event.target.classList.contains('lb-close')) {\n this._lightboxEvent.broadcastLightboxEvent({ id: LIGHTBOX_EVENT.CLOSE, data: null });\n }\n }\n download($event) {\n $event.stopPropagation();\n const url = this.album[this.currentImageIndex].src;\n const downloadUrl = this.album[this.currentImageIndex].downloadUrl;\n const parts = url.split('/');\n const fileName = parts[parts.length - 1];\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n const preloader = new Image();\n const _this = this;\n preloader.onload = function () {\n // @ts-ignore\n canvas.width = this.naturalWidth;\n // @ts-ignore\n canvas.height = this.naturalHeight;\n // @ts-ignore\n ctx.drawImage(this, 0, 0);\n canvas.toBlob(function (blob) {\n _this._fileSaverService.save(blob, fileName);\n }, 'image/jpeg', 0.75);\n };\n preloader.crossOrigin = '';\n if (downloadUrl && downloadUrl.length > 0)\n preloader.src = this._sanitizer.sanitize(SecurityContext.URL, downloadUrl);\n else\n preloader.src = this._sanitizer.sanitize(SecurityContext.URL, url);\n }\n control($event) {\n $event.stopPropagation();\n let height;\n let width;\n if ($event.target.classList.contains('lb-turnLeft')) {\n this.rotate = this.rotate - 90;\n this._rotateContainer();\n this._calcTransformPoint();\n this._documentRef.getElementById('image').style.transform = `rotate(${this.rotate}deg)`;\n this._documentRef.getElementById('image').style.webkitTransform = `rotate(${this.rotate}deg)`;\n this._lightboxEvent.broadcastLightboxEvent({ id: LIGHTBOX_EVENT.ROTATE_LEFT, data: null });\n }\n else if ($event.target.classList.contains('lb-turnRight')) {\n this.rotate = this.rotate + 90;\n this._rotateContainer();\n this._calcTransformPoint();\n this._documentRef.getElementById('image').style.transform = `rotate(${this.rotate}deg)`;\n this._documentRef.getElementById('image').style.webkitTransform = `rotate(${this.rotate}deg)`;\n this._lightboxEvent.broadcastLightboxEvent({ id: LIGHTBOX_EVENT.ROTATE_RIGHT, data: null });\n }\n else if ($event.target.classList.contains('lb-zoomOut')) {\n height = parseInt(this._documentRef.getElementById('outerContainer').style.height, 10) / 1.5;\n width = parseInt(this._documentRef.getElementById('outerContainer').style.width, 10) / 1.5;\n this._documentRef.getElementById('outerContainer').style.height = height + 'px';\n this._documentRef.getElementById('outerContainer').style.width = width + 'px';\n height = parseInt(this._documentRef.getElementById('image').style.height, 10) / 1.5;\n width = parseInt(this._documentRef.getElementById('image').style.width, 10) / 1.5;\n this._documentRef.getElementById('image').style.height = height + 'px';\n this._documentRef.getElementById('image').style.width = width + 'px';\n this._lightboxEvent.broadcastLightboxEvent({ id: LIGHTBOX_EVENT.ZOOM_OUT, data: null });\n }\n else if ($event.target.classList.contains('lb-zoomIn')) {\n height = parseInt(this._documentRef.getElementById('outerContainer').style.height, 10) * 1.5;\n width = parseInt(this._documentRef.getElementById('outerContainer').style.width, 10) * 1.5;\n this._documentRef.getElementById('outerContainer').style.height = height + 'px';\n this._documentRef.getElementById('outerContainer').style.width = width + 'px';\n height = parseInt(this._documentRef.getElementById('image').style.height, 10) * 1.5;\n width = parseInt(this._documentRef.getElementById('image').style.width, 10) * 1.5;\n this._documentRef.getElementById('image').style.height = height + 'px';\n this._documentRef.getElementById('image').style.width = width + 'px';\n this._lightboxEvent.broadcastLightboxEvent({ id: LIGHTBOX_EVENT.ZOOM_IN, data: null });\n }\n }\n _rotateContainer() {\n let temp = this.rotate;\n if (temp < 0) {\n temp *= -1;\n }\n if (temp / 90 % 4 === 1 || temp / 90 % 4 === 3) {\n this._documentRef.getElementById('outerContainer').style.height = this._documentRef.getElementById('image').style.width;\n this._documentRef.getElementById('outerContainer').style.width = this._documentRef.getElementById('image').style.height;\n this._documentRef.getElementById('container').style.height = this._documentRef.getElementById('image').style.width;\n this._documentRef.getElementById('container').style.width = this._documentRef.getElementById('image').style.height;\n }\n else {\n this._documentRef.getElementById('outerContainer').style.height = this._documentRef.getElementById('image').style.height;\n this._documentRef.getElementById('outerContainer').style.width = this._documentRef.getElementById('image').style.width;\n this._documentRef.getElementById('container').style.height = this._documentRef.getElementById('image').style.width;\n this._documentRef.getElementById('container').style.width = this._documentRef.getElementById('image').style.height;\n }\n }\n _resetImage() {\n this.rotate = 0;\n this._documentRef.getElementById('image').style.transform = `rotate(${this.rotate}deg)`;\n this._documentRef.getElementById('image').style.webkitTransform = `rotate(${this.rotate}deg)`;\n }\n _calcTransformPoint() {\n let height = parseInt(this._documentRef.getElementById('image').style.height, 10);\n let width = parseInt(this._documentRef.getElementById('image').style.width, 10);\n let temp = this.rotate % 360;\n if (temp < 0) {\n temp = 360 + temp;\n }\n if (temp === 90) {\n this._documentRef.getElementById('image').style.transformOrigin = (height / 2) + 'px ' + (height / 2) + 'px';\n }\n else if (temp === 180) {\n this._documentRef.getElementById('image').style.transformOrigin = (width / 2) + 'px ' + (height / 2) + 'px';\n }\n else if (temp === 270) {\n this._documentRef.getElementById('image').style.transformOrigin = (width / 2) + 'px ' + (width / 2) + 'px';\n }\n }\n nextImage() {\n if (this.album.length === 1) {\n return;\n }\n else if (this.currentImageIndex === this.album.length - 1) {\n this._changeImage(0);\n }\n else {\n this._changeImage(this.currentImageIndex + 1);\n }\n }\n prevImage() {\n if (this.album.length === 1) {\n return;\n }\n else if (this.currentImageIndex === 0 && this.album.length > 1) {\n this._changeImage(this.album.length - 1);\n }\n else {\n this._changeImage(this.currentImageIndex - 1);\n }\n }\n _validateInputData() {\n if (this.album &&\n this.album instanceof Array &&\n this.album.length > 0) {\n for (let i = 0; i < this.album.length; i++) {\n // check whether each _nside\n // album has src data or not\n if (this.album[i].src) {\n continue;\n }\n throw new Error('One of the album data does not have source data');\n }\n }\n else {\n throw new Error('No album data or album data is not correct in type');\n }\n // to prevent data understand as string\n // convert it to number\n if (isNaN(this.currentImageIndex)) {\n throw new Error('Current image index is not a number');\n }\n else {\n this.currentImageIndex = Number(this.currentImageIndex);\n }\n return true;\n }\n _registerImageLoadingEvent() {\n const preloader = new Image();\n preloader.onload = () => {\n this._onLoadImageSuccess();\n };\n const src = this.album[this.currentImageIndex].src;\n preloader.src = this._sanitizer.sanitize(SecurityContext.URL, src);\n }\n /**\n * Fire when the image is loaded\n */\n _onLoadImageSuccess() {\n if (!this.options.disableKeyboardNav) {\n // unbind keyboard event during transition\n this._disableKeyboardNav();\n }\n let imageHeight;\n let imageWidth;\n let maxImageHeight;\n let maxImageWidth;\n let windowHeight;\n let windowWidth;\n let naturalImageWidth;\n let naturalImageHeight;\n // set default width and height of image to be its natural\n imageWidth = naturalImageWidth = this._imageElem.nativeElement.naturalWidth;\n imageHeight = naturalImageHeight = this._imageElem.nativeElement.naturalHeight;\n if (this.options.fitImageInViewPort) {\n windowWidth = this._windowRef.innerWidth;\n windowHeight = this._windowRef.innerHeight;\n maxImageWidth = windowWidth - this._cssValue.containerLeftPadding -\n this._cssValue.containerRightPadding - this._cssValue.imageBorderWidthLeft -\n this._cssValue.imageBorderWidthRight - 20;\n maxImageHeight = windowHeight - this._cssValue.containerTopPadding -\n this._cssValue.containerTopPadding - this._cssValue.imageBorderWidthTop -\n this._cssValue.imageBorderWidthBottom - 120;\n if (naturalImageWidth > maxImageWidth || naturalImageHeight > maxImageHeight) {\n if ((naturalImageWidth / maxImageWidth) > (naturalImageHeight / maxImageHeight)) {\n imageWidth = maxImageWidth;\n imageHeight = Math.round(naturalImageHeight / (naturalImageWidth / imageWidth));\n }\n else {\n imageHeight = maxImageHeight;\n imageWidth = Math.round(naturalImageWidth / (naturalImageHeight / imageHeight));\n }\n }\n this._rendererRef.setStyle(this._imageElem.nativeElement, 'width', `${imageWidth}px`);\n this._rendererRef.setStyle(this._imageElem.nativeElement, 'height', `${imageHeight}px`);\n }\n this._sizeContainer(imageWidth, imageHeight);\n if (this.options.centerVertically) {\n this._centerVertically(imageWidth, imageHeight);\n }\n }\n _centerVertically(imageWidth, imageHeight) {\n const scrollOffset = this._documentRef.documentElement.scrollTop;\n const windowHeight = this._windowRef.innerHeight;\n const viewOffset = windowHeight / 2 - imageHeight / 2;\n const topDistance = scrollOffset + viewOffset;\n this._rendererRef.setStyle(this._lightboxElem.nativeElement, 'top', `${topDistance}px`);\n }\n _sizeContainer(imageWidth, imageHeight) {\n const oldWidth = this._outerContainerElem.nativeElement.offsetWidth;\n const oldHeight = this._outerContainerElem.nativeElement.offsetHeight;\n const newWidth = imageWidth + this._cssValue.containerRightPadding + this._cssValue.containerLeftPadding +\n this._cssValue.imageBorderWidthLeft + this._cssValue.imageBorderWidthRight;\n const newHeight = imageHeight + this._cssValue.containerTopPadding + this._cssValue.containerBottomPadding +\n this._cssValue.imageBorderWidthTop + this._cssValue.imageBorderWidthBottom;\n // make sure that distances are large enough for transitionend event to be fired, at least 5px.\n if (Math.abs(oldWidth - newWidth) + Math.abs(oldHeight - newHeight) > 5) {\n this._rendererRef.setStyle(this._outerContainerElem.nativeElement, 'width', `${newWidth}px`);\n this._rendererRef.setStyle(this._outerContainerElem.nativeElement, 'height', `${newHeight}px`);\n // bind resize event to outer container\n // use enableTransition to prevent infinite loader\n if (this.options.enableTransition) {\n this._event.transitions = [];\n ['transitionend', 'webkitTransitionEnd', 'oTransitionEnd', 'MSTransitionEnd'].forEach(eventName => {\n this._event.transitions.push(this._rendererRef.listen(this._outerContainerElem.nativeElement, eventName, (event) => {\n if (event.target === event.currentTarget) {\n this._postResize(newWidth, newHeight);\n }\n }));\n });\n }\n else {\n this._postResize(newWidth, newHeight);\n }\n }\n else {\n this._postResize(newWidth, newHeight);\n }\n }\n _postResize(newWidth, newHeight) {\n // unbind resize event\n if (Array.isArray(this._event.transitions)) {\n this._event.transitions.forEach((eventHandler) => {\n eventHandler();\n });\n this._event.transitions = [];\n }\n this._rendererRef.setStyle(this._dataContainerElem.nativeElement, 'width', `${newWidth}px`);\n this._showImage();\n }\n _showImage() {\n this.ui.showReloader = false;\n this._updateNav();\n this._updateDetails();\n if (!this.options.disableKeyboardNav) {\n this._enableKeyboardNav();\n }\n }\n _prepareComponent() {\n // add css3 animation\n this._addCssAnimation();\n // position the image according to user's option\n this._positionLightBox();\n // update controls visibility on next view generation\n setTimeout(() => {\n this.ui.showZoomButton = this.options.showZoom;\n this.ui.showRotateButton = this.options.showRotate;\n this.ui.showDownloadButton = this.options.showDownloadButton;\n }, 0);\n }\n _positionLightBox() {\n // @see https://stackoverflow.com/questions/3464876/javascript-get-window-x-y-position-for-scroll\n const top = (this._windowRef.pageYOffset || this._documentRef.documentElement.scrollTop) +\n this.options.positionFromTop;\n const left = this._windowRef.pageXOffset || this._documentRef.documentElement.scrollLeft;\n if (!this.options.centerVertically) {\n this._rendererRef.setStyle(this._lightboxElem.nativeElement, 'top', `${top}px`);\n }\n this._rendererRef.setStyle(this._lightboxElem.nativeElement, 'left', `${left}px`);\n this._rendererRef.setStyle(this._lightboxElem.nativeElement, 'display', 'block');\n // disable scrolling of the page while open\n if (this.options.disableScrolling) {\n this._rendererRef.addClass(this._documentRef.documentElement, 'lb-disable-scrolling');\n }\n }\n /**\n * addCssAnimation add css3 classes for animate lightbox\n */\n _addCssAnimation() {\n const resizeDuration = this.options.resizeDuration;\n const fadeDuration = this.options.fadeDuration;\n this._rendererRef.setStyle(this._lightboxElem.nativeElement, '-webkit-animation-duration', `${fadeDuration}s`);\n this._rendererRef.setStyle(this._lightboxElem.nativeElement, 'animation-duration', `${fadeDuration}s`);\n this._rendererRef.setStyle(this._outerContainerElem.nativeElement, '-webkit-transition-duration', `${resizeDuration}s`);\n this._rendererRef.setStyle(this._outerContainerElem.nativeElement, 'transition-duration', `${resizeDuration}s`);\n this._rendererRef.setStyle(this._dataContainerElem.nativeElement, '-webkit-animation-duration', `${fadeDuration}s`);\n this._rendererRef.setStyle(this._dataContainerElem.nativeElement, 'animation-duration', `${fadeDuration}s`);\n this._rendererRef.setStyle(this._imageElem.nativeElement, '-webkit-animation-duration', `${fadeDuration}s`);\n this._rendererRef.setStyle(this._imageElem.nativeElement, 'animation-duration', `${fadeDuration}s`);\n this._rendererRef.setStyle(this._captionElem.nativeElement, '-webkit-animation-duration', `${fadeDuration}s`);\n this._rendererRef.setStyle(this._captionElem.nativeElement, 'animation-duration', `${fadeDuration}s`);\n this._rendererRef.setStyle(this._numberElem.nativeElement, '-webkit-animation-duration', `${fadeDuration}s`);\n this._rendererRef.setStyle(this._numberElem.nativeElement, 'animation-duration', `${fadeDuration}s`);\n }\n _end() {\n this.ui.classList = 'lightbox animation fadeOut';\n if (this.options.disableScrolling) {\n this._rendererRef.removeClass(this._documentRef.documentElement, 'lb-disable-scrolling');\n }\n setTimeout(() => {\n this.cmpRef.destroy();\n }, this.options.fadeDuration * 1000);\n }\n _updateDetails() {\n // update the caption\n if (typeof this.album[this.currentImageIndex].caption !== 'undefined' &&\n this.album[this.currentImageIndex].caption !== '') {\n this.ui.showCaption = true;\n }\n // update the page number if user choose to do so\n // does not perform numbering the page if the\n // array length in album <= 1\n if (this.album.length > 1 && this.options.showImageNumberLabel) {\n this.ui.showPageNumber = true;\n this.content.pageNumber = this._albumLabel();\n }\n }\n _albumLabel() {\n // due to {this.currentImageIndex} is set from 0 to {this.album.length} - 1\n return this.options.albumLabel.replace(/%1/g, Number(this.currentImageIndex + 1)).replace(/%2/g, this.album.length);\n }\n _changeImage(newIndex) {\n this._resetImage();\n this.currentImageIndex = newIndex;\n this._hideImage();\n this._registerImageLoadingEvent();\n this._lightboxEvent.broadcastLightboxEvent({ id: LIGHTBOX_EVENT.CHANGE_PAGE, data: newIndex });\n }\n _hideImage() {\n this.ui.showReloader = true;\n this.ui.showArrowNav = false;\n this.ui.showLeftArrow = false;\n this.ui.showRightArrow = false;\n this.ui.showPageNumber = false;\n this.ui.showCaption = false;\n }\n _updateNav() {\n let alwaysShowNav = false;\n // check to see the browser support touch event\n try {\n this._documentRef.createEvent('TouchEvent');\n alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : false;\n }\n catch (e) {\n // noop\n }\n // initially show the arrow nav\n // which is the parent of both left and right nav\n this._showArrowNav();\n if (this.album.length > 1) {\n if (this.options.wrapAround) {\n if (alwaysShowNav) {\n // alternatives this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1');\n this._rendererRef.setStyle(this._leftArrowElem.nativeElement, 'opacity', '1');\n this._rendererRef.setStyle(this._rightArrowElem.nativeElement, 'opacity', '1');\n }\n // alternatives this.$lightbox.find('.lb-prev, .lb-next').show();\n this._showLeftArrowNav();\n this._showRightArrowNav();\n }\n else {\n if (this.currentImageIndex > 0) {\n // alternatives this.$lightbox.find('.lb-prev').show();\n this._showLeftArrowNav();\n if (alwaysShowNav) {\n // alternatives this.$lightbox.find('.lb-prev').css('opacity', '1');\n this._rendererRef.setStyle(this._leftArrowElem.nativeElement, 'opacity', '1');\n }\n }\n if (this.currentImageIndex < this.album.length - 1) {\n // alternatives this.$lightbox.find('.lb-next').show();\n this._showRightArrowNav();\n if (alwaysShowNav) {\n // alternatives this.$lightbox.find('.lb-next').css('opacity', '1');\n this._rendererRef.setStyle(this._rightArrowElem.nativeElement, 'opacity', '1');\n }\n }\n }\n }\n }\n _showLeftArrowNav() {\n this.ui.showLeftArrow = true;\n }\n _showRightArrowNav() {\n this.ui.showRightArrow = true;\n }\n _showArrowNav() {\n this.ui.showArrowNav = (this.album.length !== 1);\n }\n _enableKeyboardNav() {\n this._event.keyup = this._rendererRef.listen('document', 'keyup', (event) => {\n this._keyboardAction(event);\n });\n }\n _disableKeyboardNav() {\n if (this._event.keyup) {\n this._event.keyup();\n }\n }\n _keyboardAction($event) {\n const KEYCODE_ESC = 27;\n const KEYCODE_LEFTARROW = 37;\n const KEYCODE_RIGHTARROW = 39;\n const keycode = $event.keyCode;\n const key = String.fromCharCode(keycode).toLowerCase();\n if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) {\n this._lightboxEvent.broadcastLightboxEvent({ id: LIGHTBOX_EVENT.CLOSE, data: null });\n }\n else if (key === 'p' || keycode === KEYCODE_LEFTARROW) {\n if (this.currentImageIndex !== 0) {\n this._changeImage(this.currentImageIndex - 1);\n }\n else if (this.options.wrapAround && this.album.length > 1) {\n this._changeImage(this.album.length - 1);\n }\n }\n else if (key === 'n' || keycode === KEYCODE_RIGHTARROW) {\n if (this.currentImageIndex !== this.album.length - 1) {\n this._changeImage(this.currentImageIndex + 1);\n }\n else if (this.options.wrapAround && this.album.length > 1) {\n this._changeImage(0);\n }\n }\n }\n _getCssStyleValue(elem, propertyName) {\n return parseFloat(this._windowRef\n .getComputedStyle(elem.nativeElement, null)\n .getPropertyValue(propertyName));\n }\n _onReceivedEvent(event) {\n switch (event.id) {\n case LIGHTBOX_EVENT.CLOSE:\n this._end();\n break;\n default:\n break;\n }\n }\n}\nLightboxComponent.ɵfac = function LightboxComponent_Factory(t) { return new (t || LightboxComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i1.LightboxEvent), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.LightboxWindowRef), i0.ɵɵdirectiveInject(i2.FileSaverService), i0.ɵɵdirectiveInject(i3.DomSanitizer), i0.ɵɵdirectiveInject(DOCUMENT)); };\nLightboxComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LightboxComponent, selectors: [[\"\", \"lb-content\", \"\"]], viewQuery: function LightboxComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n i0.ɵɵviewQuery(_c1, 5);\n i0.ɵɵviewQuery(_c2, 5);\n i0.ɵɵviewQuery(_c3, 5);\n i0.ɵɵviewQuery(_c4, 5);\n i0.ɵɵviewQuery(_c5, 5);\n i0.ɵɵviewQuery(_c6, 5);\n i0.ɵɵviewQuery(_c7, 5);\n i0.ɵɵviewQuery(_c8, 5);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._outerContainerElem = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._containerElem = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._leftArrowElem = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._rightArrowElem = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._navArrowElem = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._dataContainerElem = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._imageElem = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._captionElem = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._numberElem = _t.first);\n } }, hostVars: 2, hostBindings: function LightboxComponent_HostBindings(rf, ctx) { if (rf & 1) {\n i0.ɵɵlistener(\"click\", function LightboxComponent_click_HostBindingHandler($event) { return ctx.close($event); });\n } if (rf & 2) {\n i0.ɵɵclassMap(ctx.ui.classList);\n } }, inputs: { album: \"album\", currentImageIndex: \"currentImageIndex\", options: \"options\", cmpRef: \"cmpRef\" }, attrs: _c9, decls: 34, vars: 14, consts: [[\"id\", \"outerContainer\", 1, \"lb-outerContainer\", \"transition\"], [\"outerContainer\", \"\"], [\"id\", \"container\", 1, \"lb-container\"], [\"container\", \"\"], [\"id\", \"image\", 1, \"lb-image\", \"animation\", \"fadeIn\", 3, \"src\", \"hidden\"], [\"image\", \"\"], [1, \"lb-nav\", 3, \"hidden\"], [\"navArrow\", \"\"], [1, \"lb-prev\", 3, \"hidden\", \"click\"], [\"leftArrow\", \"\"], [1, \"lb-next\", 3, \"hidden\", \"click\"], [\"rightArrow\", \"\"], [1, \"lb-loader\", 3, \"hidden\", \"click\"], [1, \"lb-cancel\"], [1, \"lb-dataContainer\", 3, \"hidden\"], [\"dataContainer\", \"\"], [1, \"lb-data\"], [1, \"lb-details\"], [1, \"lb-caption\", \"animation\", \"fadeIn\", 3, \"hidden\", \"innerHtml\"], [\"caption\", \"\"], [1, \"lb-number\", \"animation\", \"fadeIn\", 3, \"hidden\"], [\"number\", \"\"], [1, \"lb-controlContainer\"], [1, \"lb-closeContainer\"], [1, \"lb-close\", 3, \"click\"], [1, \"lb-downloadContainer\", 3, \"hidden\"], [1, \"lb-download\", 3, \"click\"], [1, \"lb-turnContainer\", 3, \"hidden\"], [1, \"lb-turnLeft\", 3, \"click\"], [1, \"lb-turnRight\", 3, \"click\"], [1, \"lb-zoomContainer\", 3, \"hidden\"], [1, \"lb-zoomOut\", 3, \"click\"], [1, \"lb-zoomIn\", 3, \"click\"]], template: function LightboxComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 0, 1)(2, \"div\", 2, 3);\n i0.ɵɵelement(4, \"img\", 4, 5);\n i0.ɵɵelementStart(6, \"div\", 6, 7)(8, \"a\", 8, 9);\n i0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_8_listener() { return ctx.prevImage(); });\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(10, \"a\", 10, 11);\n i0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_10_listener() { return ctx.nextImage(); });\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(12, \"div\", 12);\n i0.ɵɵlistener(\"click\", function LightboxComponent_Template_div_click_12_listener($event) { return ctx.close($event); });\n i0.ɵɵelement(13, \"a\", 13);\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(14, \"div\", 14, 15)(16, \"div\", 16)(17, \"div\", 17);\n i0.ɵɵelement(18, \"span\", 18, 19);\n i0.ɵɵelementStart(20, \"span\", 20, 21);\n i0.ɵɵtext(22);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(23, \"div\", 22)(24, \"div\", 23)(25, \"a\", 24);\n i0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_25_listener($event) { return ctx.close($event); });\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(26, \"div\", 25)(27, \"a\", 26);\n i0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_27_listener($event) { return ctx.download($event); });\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(28, \"div\", 27)(29, \"a\", 28);\n i0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_29_listener($event) { return ctx.control($event); });\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(30, \"a\", 29);\n i0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_30_listener($event) { return ctx.control($event); });\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(31, \"div\", 30)(32, \"a\", 31);\n i0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_32_listener($event) { return ctx.control($event); });\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(33, \"a\", 32);\n i0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_33_listener($event) { return ctx.control($event); });\n i0.ɵɵelementEnd()()()()();\n } if (rf & 2) {\n i0.ɵɵadvance(4);\n i0.ɵɵproperty(\"src\", ctx.album[ctx.currentImageIndex].src, i0.ɵɵsanitizeUrl)(\"hidden\", ctx.ui.showReloader);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"hidden\", !ctx.ui.showArrowNav);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"hidden\", !ctx.ui.showLeftArrow);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"hidden\", !ctx.ui.showRightArrow);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"hidden\", !ctx.ui.showReloader);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"hidden\", ctx.ui.showReloader);\n i0.ɵɵadvance(4);\n i0.ɵɵproperty(\"hidden\", !ctx.ui.showCaption)(\"innerHtml\", ctx.album[ctx.currentImageIndex].caption, i0.ɵɵsanitizeHtml);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"hidden\", !ctx.ui.showPageNumber);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx.content.pageNumber);\n i0.ɵɵadvance(4);\n i0.ɵɵproperty(\"hidden\", !ctx.ui.showDownloadButton);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"hidden\", !ctx.ui.showRotateButton);\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"hidden\", !ctx.ui.showZoomButton);\n } }, encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(LightboxComponent, [{\n type: Component,\n args: [{\n template: `\n <div class=\"lb-outerContainer transition\" #outerContainer id=\"outerContainer\">\n <div class=\"lb-container\" #container id=\"container\">\n <img class=\"lb-image\"\n id=\"image\"\n [src]=\"album[currentImageIndex].src\"\n class=\"lb-image animation fadeIn\"\n [hidden]=\"ui.showReloader\"\n #image>\n <div class=\"lb-nav\" [hidden]=\"!ui.showArrowNav\" #navArrow>\n <a class=\"lb-prev\" [hidden]=\"!ui.showLeftArrow\" (click)=\"prevImage()\" #leftArrow></a>\n <a class=\"lb-next\" [hidden]=\"!ui.showRightArrow\" (click)=\"nextImage()\" #rightArrow></a>\n </div>\n <div class=\"lb-loader\" [hidden]=\"!ui.showReloader\" (click)=\"close($event)\">\n <a class=\"lb-cancel\"></a>\n </div>\n </div>\n </div>\n <div class=\"lb-dataContainer\" [hidden]=\"ui.showReloader\" #dataContainer>\n <div class=\"lb-data\">\n <div class=\"lb-details\">\n <span class=\"lb-caption animation fadeIn\" [hidden]=\"!ui.showCaption\" [innerHtml]=\"album[currentImageIndex].caption\" #caption>\n </span>\n <span class=\"lb-number animation fadeIn\" [hidden]=\"!ui.showPageNumber\" #number>{{ content.pageNumber }}</span>\n </div>\n <div class=\"lb-controlContainer\">\n <div class=\"lb-closeContainer\">\n <a class=\"lb-close\" (click)=\"close($event)\"></a>\n </div>\n <div class=\"lb-downloadContainer\" [hidden]=\"!ui.showDownloadButton\">\n <a class=\"lb-download\" (click)=\"download($event)\"></a>\n </div>\n <div class=\"lb-turnContainer\" [hidden]=\"!ui.showRotateButton\">\n <a class=\"lb-turnLeft\" (click)=\"control($event)\"></a>\n <a class=\"lb-turnRight\" (click)=\"control($event)\"></a>\n </div>\n <div class=\"lb-zoomContainer\" [hidden]=\"!ui.showZoomButton\">\n <a class=\"lb-zoomOut\" (click)=\"control($event)\"></a>\n <a class=\"lb-zoomIn\" (click)=\"control($event)\"></a>\n </div>\n </div>\n </div>\n </div>`,\n selector: '[lb-content]',\n host: {\n '(click)': 'close($event)',\n '[class]': 'ui.classList'\n }\n }]\n }], function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.LightboxEvent }, { type: i0.ElementRef }, { type: i1.LightboxWindowRef }, { type: i2.FileSaverService }, { type: i3.DomSanitizer }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { album: [{\n type: Input\n }], currentImageIndex: [{\n type: Input\n }], options: [{\n type: Input\n }], cmpRef: [{\n type: Input\n }], _outerContainerElem: [{\n type: ViewChild,\n args: ['outerContainer', { static: false }]\n }], _containerElem: [{\n type: ViewChild,\n args: ['container', { static: false }]\n }], _leftArrowElem: [{\n type: ViewChild,\n args: ['leftArrow', { static: false }]\n }], _rightArrowElem: [{\n type: ViewChild,\n args: ['rightArrow', { static: false }]\n }], _navArrowElem: [{\n type: ViewChild,\n args: ['navArrow', { static: false }]\n }], _dataContainerElem: [{\n type: ViewChild,\n args: ['dataContainer', { static: false }]\n }], _imageElem: [{\n type: ViewChild,\n args: ['image', { static: false }]\n }], _captionElem: [{\n type: ViewChild,\n args: ['caption', { static: false }]\n }], _numberElem: [{\n type: ViewChild,\n args: ['number', { static: false }]\n }] }); })();\n","import { FileSaverModule } from 'ngx-filesaver';\nimport { NgModule } from '@angular/core';\nimport { LightboxConfig } from './lightbox-config.service';\nimport { LightboxEvent, LightboxWindowRef } from './lightbox-event.service';\nimport { LightboxOverlayComponent } from './lightbox-overlay.component';\nimport { LightboxComponent } from './lightbox.component';\nimport { Lightbox } from './lightbox.service';\nimport * as i0 from \"@angular/core\";\nexport class LightboxModule {\n}\nLightboxModule.ɵfac = function LightboxModule_Factory(t) { return new (t || LightboxModule)(); };\nLightboxModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: LightboxModule });\nLightboxModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [\n Lightbox,\n LightboxConfig,\n LightboxEvent,\n LightboxWindowRef\n ], imports: [FileSaverModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(LightboxModule, [{\n type: NgModule,\n args: [{\n declarations: [LightboxOverlayComponent, LightboxComponent],\n providers: [\n Lightbox,\n LightboxConfig,\n LightboxEvent,\n LightboxWindowRef\n ],\n entryComponents: [LightboxOverlayComponent, LightboxComponent],\n imports: [FileSaverModule]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(LightboxModule, { declarations: [LightboxOverlayComponent, LightboxComponent], imports: [FileSaverModule] }); })();\n","import { ApplicationRef, ComponentFactoryResolver, Inject, Injectable, Injector } from '@angular/core';\nimport { LightboxComponent } from './lightbox.component';\nimport { LightboxConfig } from './lightbox-config.service';\nimport { LightboxEvent, LIGHTBOX_EVENT } from './lightbox-event.service';\nimport { LightboxOverlayComponent } from './lightbox-overlay.component';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./lightbox-config.service\";\nimport * as i2 from \"./lightbox-event.service\";\nexport class Lightbox {\n constructor(_componentFactoryResolver, _injector, _applicationRef, _lightboxConfig, _lightboxEvent, _documentRef) {\n this._componentFactoryResolver = _componentFactoryResolver;\n this._injector = _injector;\n this._applicationRef = _applicationRef;\n this._lightboxConfig = _lightboxConfig;\n this._lightboxEvent = _lightboxEvent;\n this._documentRef = _documentRef;\n }\n open(album, curIndex = 0, options = {}) {\n const overlayComponentRef = this._createComponent(LightboxOverlayComponent);\n const componentRef = this._createComponent(LightboxComponent);\n const newOptions = {};\n // broadcast open event\n this._lightboxEvent.broadcastLightboxEvent({ id: LIGHTBOX_EVENT.OPEN });\n Object.assign(newOptions, this._lightboxConfig, options);\n // attach input to lightbox\n componentRef.instance.album = album;\n componentRef.instance.currentImageIndex = curIndex;\n componentRef.instance.options = newOptions;\n componentRef.instance.cmpRef = componentRef;\n // attach input to overlay\n overlayComponentRef.instance.options = newOptions;\n overlayComponentRef.instance.cmpRef = overlayComponentRef;\n // FIXME: not sure why last event is broadcasted (which is CLOSED) and make\n // lightbox can not be opened the second time.\n // Need to timeout so that the OPEN event is set before component is initialized\n setTimeout(() => {\n this._applicationRef.attachView(overlayComponentRef.hostView);\n this._applicationRef.attachView(componentRef.hostView);\n overlayComponentRef.onDestroy(() => {\n this._applicationRef.detachView(overlayComponentRef.hostView);\n });\n componentRef.onDestroy(() => {\n this._applicationRef.detachView(componentRef.hostView);\n });\n const containerElement = newOptions.containerElementResolver(this._documentRef);\n containerElement.appendChild(overlayComponentRef.location.nativeElement);\n containerElement.appendChild(componentRef.location.nativeElement);\n });\n }\n close() {\n if (this._lightboxEvent) {\n this._lightboxEvent.broadcastLightboxEvent({ id: LIGHTBOX_EVENT.CLOSE });\n }\n }\n _createComponent(ComponentClass) {\n const factory = this._componentFactoryResolver.resolveComponentFactory(ComponentClass);\n const component = factory.create(this._injector);\n return component;\n }\n}\nLightbox.ɵfac = function Lightbox_Factory(t) { return new (t || Lightbox)(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.Injector), i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i1.LightboxConfig), i0.ɵɵinject(i2.LightboxEvent), i0.ɵɵinject(DOCUMENT)); };\nLightbox.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Lightbox, factory: Lightbox.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(Lightbox, [{\n type: Injectable\n }], function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.ApplicationRef }, { type: i1.LightboxConfig }, { type: i2.LightboxEvent }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n","import * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, Directive, Input, Output, HostListener, NgModule } from '@angular/core';\nimport { saveAs } from 'file-saver';\nimport * as i2 from '@angular/common/http';\nimport { HttpParams } from '@angular/common/http';\n\nclass FileSaverService {\n get isFileSaverSupported() {\n try {\n return !!new Blob();\n }\n catch (e) {\n return false;\n }\n }\n genType(fileName) {\n if (!fileName || fileName.lastIndexOf('.') === -1) {\n return 'text/plain';\n }\n const type = fileName.substr(fileName.lastIndexOf('.') + 1);\n switch (type) {\n case 'txt':\n return 'text/plain';\n case 'xml':\n case 'html':\n return `text/${type}`;\n case 'json':\n return 'octet/stream';\n default:\n return `application/${type}`;\n }\n }\n save(blob, fileName, filtType, option) {\n if (!blob) {\n throw new Error('Data argument should be a blob instance');\n }\n const file = new Blob([blob], { type: filtType || blob.type || this.genType(fileName) });\n saveAs(file, decodeURI(fileName || 'download'), option);\n }\n saveText(txt, fileName, option) {\n const blob = new Blob([txt]);\n this.save(blob, fileName, undefined, option);\n }\n}\nFileSaverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: FileSaverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nFileSaverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: FileSaverService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: FileSaverService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\nclass FileSaverDirective {\n constructor(el, fss, httpClient) {\n this.el = el;\n this.fss = fss;\n this.httpClient = httpClient;\n this.method = 'GET';\n this.success = new EventEmitter();\n this.error = new EventEmitter();\n if (!fss.isFileSaverSupported) {\n el.nativeElement.classList.add(`filesaver__not-support`);\n }\n }\n getName(res) {\n return decodeURI(this.fileName || res.headers.get('filename') || res.headers.get('x-filename') || '');\n }\n _click() {\n if (!this.fss.isFileSaverSupported) {\n return;\n }\n let req = this.http;\n if (!req) {\n let params = new HttpParams();\n const query = this.query || {};\n // tslint:disable-next-line:forin\n for (const item in query) {\n params = params.set(item, query[item]);\n }\n req = this.httpClient.request(this.method, this.url, {\n observe: 'response',\n responseType: 'blob',\n headers: this.header,\n params,\n });\n }\n this.setDisabled(true);\n req.subscribe((res) => {\n if (res.status !== 200 || res.body.size <= 0) {\n this.error.emit(res);\n return;\n }\n this.fss.save(res.body, this.getName(res), undefined, this.fsOptions);\n this.success.emit(res);\n }, (err) => this.error.emit(err), () => this.setDisabled(false));\n }\n setDisabled(status) {\n const el = this.el.nativeElement;\n el.disabled = status;\n el.classList[status ? 'add' : 'remove'](`filesaver__disabled`);\n }\n}\nFileSaverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: FileSaverDirective, deps: [{ token: i0.ElementRef }, { token: FileSaverService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Directive });\nFileSaverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.3\", type: FileSaverDirective, isStandalone: true, selector: \"[fileSaver]\", inputs: { method: \"method\", http: \"http\", query: \"query\", header: \"header\", url: \"url\", fileName: \"fileName\", fsOptions: \"fsOptions\" }, outputs: { success: \"success\", error: \"error\" }, host: { listeners: { \"click\": \"_click()\" } }, exportAs: [\"fileSaver\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: FileSaverDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fileSaver]',\n exportAs: 'fileSaver',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FileSaverService }, { type: i2.HttpClient }]; }, propDecorators: { method: [{\n type: Input\n }], http: [{\n type: Input\n }], query: [{\n type: Input\n }], header: [{\n type: Input\n }], url: [{\n type: Input\n }], fileName: [{\n type: Input\n }], fsOptions: [{\n type: Input\n }], success: [{\n type: Output\n }], error: [{\n type: Output\n }], _click: [{\n type: HostListener,\n args: ['click']\n }] } });\n\nclass FileSaverModule {\n}\nFileSaverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: FileSaverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nFileSaverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.0.3\", ngImport: i0, type: FileSaverModule, imports: [FileSaverDirective], exports: [FileSaverDirective] });\nFileSaverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: FileSaverModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.3\", ngImport: i0, type: FileSaverModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [FileSaverDirective],\n exports: [FileSaverDirective],\n }]\n }] });\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { FileSaverDirective, FileSaverModule, FileSaverService };\n"],"names":["a","b","define","amd","exports","FileSaver","autoBom","console","warn","test","type","Blob","c","d","XMLHttpRequest","open","responseType","onload","g","response","onerror","error","send","status","e","dispatchEvent","MouseEvent","document","createEvent","initMouseEvent","window","f","self","global","navigator","userAgent","saveAs","HTMLAnchorElement","prototype","h","i","URL","webkitURL","j","createElement","name","download","rel","href","origin","location","target","createObjectURL","setTimeout","revokeObjectURL","msSaveOrOpenBlob","title","body","innerText","HTMLElement","safari","FileReader","k","onloadend","result","replace","readAsDataURL","l","m","module","Lightbox","LightboxConfig","LightboxEvent","LIGHTBOX_EVENT","LightboxModule","Injectable","i0","constructor","fadeDuration","resizeDuration","fitImageInViewPort","positionFromTop","showImageNumberLabel","alwaysShowNavOnTouchDevices","wrapAround","disableKeyboardNav","disableScrolling","centerVertically","enableTransition","albumLabel","showZoom","showRotate","containerElementResolver","documentRef","querySelector","ɵfac","LightboxConfig_Factory","t","ɵprov","ɵɵdefineInjectable","token","factory","ngDevMode","ɵsetClassMetadata","Subject","CHANGE_PAGE","CLOSE","OPEN","ZOOM_IN","ZOOM_OUT","ROTATE_LEFT","ROTATE_RIGHT","_lightboxEventSource","lightboxEvent$","asObservable","broadcastLightboxEvent","event","next","LightboxEvent_Factory","getWindow","LightboxWindowRef","nativeWindow","LightboxWindowRef_Factory","DOCUMENT","Component","ElementRef","HostListener","Inject","Input","Renderer2","i1","_c0","LightboxOverlayComponent","_elemRef","_rendererRef","_lightboxEvent","_documentRef","classList","_subscription","subscribe","_onReceivedEvent","close","id","data","ngAfterViewInit","options","setStyle","nativeElement","_sizeOverlay","onResize","ngOnDestroy","unsubscribe","width","_getOverlayWidth","height","_getOverlayHeight","_end","cmpRef","destroy","Math","max","scrollWidth","offsetWidth","documentElement","clientWidth","scrollHeight","offsetHeight","clientHeight","LightboxOverlayComponent_Factory","ɵɵdirectiveInject","ɵcmp","ɵɵdefineComponent","selectors","hostVars","hostBindings","LightboxOverlayComponent_HostBindings","rf","ctx","ɵɵlistener","LightboxOverlayComponent_click_HostBindingHandler","LightboxOverlayComponent_resize_HostBindingHandler","ɵɵresolveWindow","ɵɵclassMap","inputs","attrs","decls","vars","template","LightboxOverlayComponent_Template","encapsulation","args","selector","host","undefined","decorators","FileSaverService","SecurityContext","ViewChild","DomSanitizer","i2","i3","_c1","_c2","_c3","_c4","_c5","_c6","_c7","_c8","_c9","LightboxComponent","_lightboxElem","_lightboxWindowRef","_fileSaverService","_sanitizer","album","currentImageIndex","_windowRef","ui","showReloader","showLeftArrow","showRightArrow","showArrowNav","showZoomButton","showRotateButton","showPageNumber","showCaption","showDownloadButton","content","pageNumber","_event","subscription","rotate","ngOnInit","forEach","caption","sanitize","HTML","_cssValue","containerTopPadding","round","_getCssStyleValue","_containerElem","containerRightPadding","containerBottomPadding","containerLeftPadding","imageBorderWidthTop","_imageElem","imageBorderWidthBottom","imageBorderWidthLeft","imageBorderWidthRight","_validateInputData","_prepareComponent","_registerImageLoadingEvent","_disableKeyboardNav","$event","stopPropagation","contains","url","src","downloadUrl","parts","split","fileName","length","canvas","getContext","preloader","Image","_this","naturalWidth","naturalHeight","drawImage","toBlob","blob","save","crossOrigin","control","_rotateContainer","_calcTransformPoint","getElementById","style","transform","webkitTransform","parseInt","temp","_resetImage","transformOrigin","nextImage","_changeImage","prevImage","Array","Error","isNaN","Number","_onLoadImageSuccess","imageHeight","imageWidth","maxImageHeight","maxImageWidth","windowHeight","windowWidth","naturalImageWidth","naturalImageHeight","innerWidth","innerHeight","_sizeContainer","_centerVertically","scrollOffset","scrollTop","viewOffset","topDistance","oldWidth","_outerContainerElem","oldHeight","newWidth","newHeight","abs","transitions","eventName","push","listen","currentTarget","_postResize","isArray","eventHandler","_dataContainerElem","_showImage","_updateNav","_updateDetails","_enableKeyboardNav","_addCssAnimation","_positionLightBox","top","pageYOffset","left","pageXOffset","scrollLeft","addClass","_captionElem","_numberElem","removeClass","_albumLabel","newIndex","_hideImage","alwaysShowNav","_showArrowNav","_leftArrowElem","_rightArrowElem","_showLeftArrowNav","_showRightArrowNav","keyup","_keyboardAction","KEYCODE_ESC","KEYCODE_LEFTARROW","KEYCODE_RIGHTARROW","keycode","keyCode","key","String","fromCharCode","toLowerCase","match","elem","propertyName","parseFloat","getComputedStyle","getPropertyValue","LightboxComponent_Factory","viewQuery","LightboxComponent_Query","ɵɵviewQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","first","_navArrowElem","LightboxComponent_HostBindings","LightboxComponent_click_HostBindingHandler","consts","LightboxComponent_Template","ɵɵelementStart","ɵɵelement","LightboxComponent_Template_a_click_8_listener","ɵɵelementEnd","LightboxComponent_Template_a_click_10_listener","LightboxComponent_Template_div_click_12_listener","ɵɵtext","LightboxComponent_Template_a_click_25_listener","LightboxComponent_Template_a_click_27_listener","LightboxComponent_Template_a_click_29_listener","LightboxComponent_Template_a_click_30_listener","LightboxComponent_Template_a_click_32_listener","LightboxComponent_Template_a_click_33_listener","ɵɵadvance","ɵɵproperty","ɵɵsanitizeUrl","ɵɵsanitizeHtml","ɵɵtextInterpolate","static","FileSaverModule","NgModule","LightboxModule_Factory","ɵmod","ɵɵdefineNgModule","ɵinj","ɵɵdefineInjector","providers","imports","declarations","entryComponents","ngJitMode","ɵɵsetNgModuleScope","ApplicationRef","ComponentFactoryResolver","Injector","_componentFactoryResolver","_injector","_applicationRef","_lightboxConfig","curIndex","overlayComponentRef","_createComponent","componentRef","newOptions","Object","assign","instance","attachView","hostView","onDestroy","detachView","containerElement","appendChild","ComponentClass","resolveComponentFactory","component","create","Lightbox_Factory","ɵɵinject","EventEmitter","Directive","Output","HttpParams","isFileSaverSupported","genType","lastIndexOf","substr","filtType","option","file","decodeURI","saveText","txt","providedIn","FileSaverDirective","el","fss","httpClient","method","success","add","getName","res","headers","get","_click","req","http","params","query","item","set","request","observe","header","setDisabled","size","emit","fsOptions","err","disabled","HttpClient","ɵdir","exportAs","standalone"],"sourceRoot":"webpack:///","x_google_ignoreList":[19,20,21,22,23,24,25,26,27]}