rm-image-slider 20.0.0 → 22.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +71 -0
- package/LICENSE +21 -0
- package/README.md +530 -67
- package/fesm2022/rm-image-slider.mjs +976 -976
- package/fesm2022/rm-image-slider.mjs.map +1 -1
- package/package.json +140 -51
- /package/{index.d.ts → types/rm-image-slider.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rm-image-slider.mjs","sources":["../../../projects/rm-image-slider/src/lib/rm-image-slider.service.ts","../../../projects/rm-image-slider/src/lib/slider-custom-image/slider-custom-image.component.ts","../../../projects/rm-image-slider/src/lib/slider-custom-image/slider-custom-image.component.html","../../../projects/rm-image-slider/src/lib/slider-lightbox/slider-lightbox.component.ts","../../../projects/rm-image-slider/src/lib/slider-lightbox/slider-lightbox.component.html","../../../projects/rm-image-slider/src/lib/rm-image-slider.component.ts","../../../projects/rm-image-slider/src/lib/rm-image-slider.component.html","../../../projects/rm-image-slider/src/public-api.ts","../../../projects/rm-image-slider/src/rm-image-slider.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\nconst DESC = 'DESC',\r\n ASC = 'ASC';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RmImageSliderService {\r\n constructor() {}\r\n\r\n isBase64(str: string) {\r\n var base64regex =\r\n /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;\r\n return base64regex.test(str);\r\n }\r\n\r\n base64FileExtension(str: string) {\r\n return str.substring('data:image/'.length, str.indexOf(';base64'));\r\n }\r\n\r\n // orderArray(arr = [], orderType = ASC) {\r\n // if (arr?.length && orderType) {\r\n // return arr.sort((ob1: any, ob2: any) => {\r\n // if (ob1['order'] === null || !ob1['order']) {\r\n // return 1;\r\n // } else if (ob2['order'] === null || !ob2['order']) {\r\n // return -1;\r\n // } else if (ob1['order'] > ob2['order']) {\r\n // if (orderType === DESC) {\r\n // return -1;\r\n // } else {\r\n // return 1;\r\n // }\r\n // } else if (ob1['order'] < ob2['order']) {\r\n // if (orderType === DESC) {\r\n // return 1;\r\n // } else {\r\n // return -1;\r\n // }\r\n // }\r\n // });\r\n // }\r\n // return arr;\r\n // }\r\n\r\n orderArray(arr = [], orderType = ASC) {\r\n if (arr?.length && orderType) {\r\n return arr.sort((ob1: any, ob2: any) => {\r\n // Handle potential undefined 'order' properties\r\n const order1 = ob1['order'];\r\n const order2 = ob2['order'];\r\n\r\n // Ensure consistent sorting for undefined/null 'order' values\r\n if (order1 === null || order1 === undefined) {\r\n return 1; // Place elements with undefined or null 'order' at the end\r\n } else if (order2 === null || order2 === undefined) {\r\n return -1; // Place elements with undefined or null 'order' at the beginning\r\n } else {\r\n // Apply ascending or descending order based on 'orderType'\r\n return orderType === DESC\r\n ? order2 - order1 // Reverse for descending order\r\n : order1 - order2; // Maintain for ascending order\r\n }\r\n });\r\n }\r\n\r\n return arr; // Return the original array if conditions are not met\r\n }\r\n}\r\n","import {\n Component,\n Input,\n OnChanges,\n SimpleChanges,\n Inject,\n DOCUMENT\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { RmImageSliderService } from './../rm-image-slider.service';\r\n\r\nconst youtubeRegExp =\r\n /^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|\\&v=|\\?v=)([^#\\&\\?]*).*/,\r\n validFileExtensions = ['jpeg', 'jpg', 'gif', 'png'],\r\n validVideoExtensions = ['mp4'];\r\n\r\n@Component({\r\n selector: 'custom-img',\r\n imports: [CommonModule],\r\n templateUrl: './slider-custom-image.component.html',\r\n styleUrl: './slider-custom-image.component.css'\r\n})\r\nexport class SliderCustomImageComponent implements OnChanges {\r\n YOUTUBE = 'youtube';\r\n IMAGE = 'image';\r\n VIDEO = 'video';\r\n fileUrl: SafeResourceUrl = '';\r\n fileExtension = '';\r\n type = this.IMAGE;\r\n imageLoading: boolean = true;\r\n\r\n // @inputs\r\n @Input() showVideo: boolean = false;\r\n @Input() videoAutoPlay: boolean = false;\r\n @Input() showVideoControls: number = 1;\r\n @Input() currentImageIndex!: number;\r\n @Input() imageIndex!: number;\r\n @Input() speed: number = 1;\r\n @Input() imageUrl: any;\r\n @Input() isVideo = false;\r\n @Input() alt: String = '';\r\n @Input() title: String = '';\r\n @Input() direction: string = 'ltr';\r\n @Input() ratio: boolean = false;\r\n @Input() lazy: boolean = false;\r\n\r\n constructor(\r\n public imageSliderService: RmImageSliderService,\r\n private sanitizer: DomSanitizer,\r\n @Inject(DOCUMENT) document: Document\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (\r\n this['imageUrl'] &&\r\n typeof this['imageUrl'] === 'string' &&\r\n ((changes['imageUrl'] && changes['imageUrl'].firstChange) ||\r\n this.videoAutoPlay)\r\n ) {\r\n this.setUrl();\r\n }\r\n }\r\n\r\n setUrl() {\r\n const url = this.imageUrl;\r\n this.imageLoading = true;\r\n this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n this.fileExtension = url.split('.').pop().split(/\\#|\\?/)[0];\r\n if (\r\n this.imageSliderService.base64FileExtension(url) &&\r\n (validFileExtensions.indexOf(\r\n this.imageSliderService.base64FileExtension(url).toLowerCase()\r\n ) > -1 ||\r\n validVideoExtensions.indexOf(\r\n this.imageSliderService.base64FileExtension(url).toLowerCase()\r\n ) > -1)\r\n ) {\r\n this.fileExtension = this.imageSliderService.base64FileExtension(url);\r\n }\r\n // verify for youtube url\r\n const match = url.match(youtubeRegExp);\r\n if (match && match[2].length === 11) {\r\n if (this.showVideo) {\r\n this.type = this.YOUTUBE;\r\n this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(\r\n `${'https://www.youtube.com/embed/'}${match[2]}${\r\n this.videoAutoPlay\r\n ? '?autoplay=1&enablejsapi=1'\r\n : '?autoplay=0&enablejsapi=1'\r\n }${'&controls='}${this.showVideoControls}`\r\n );\r\n } else {\r\n this.type = this.IMAGE;\r\n this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(\r\n `https://img.youtube.com/vi/${match[2]}/0.jpg`\r\n );\r\n }\r\n } else if (\r\n this.fileExtension &&\r\n validFileExtensions.indexOf(this.fileExtension.toLowerCase()) > -1\r\n ) {\r\n this.type = this.IMAGE;\r\n } else if (\r\n this.fileExtension &&\r\n validVideoExtensions.indexOf(this.fileExtension.toLowerCase()) > -1\r\n ) {\r\n this.type = this.VIDEO;\r\n if (\r\n this.videoAutoPlay &&\r\n document.getElementById(`video_${this.imageIndex}`)\r\n ) {\r\n const videoObj: any = document.getElementById(\r\n `video_${this.imageIndex}`\r\n );\r\n setTimeout(() => {\r\n videoObj.play();\r\n }, this.speed * 1000);\r\n }\r\n }\r\n }\r\n\r\n videoClickHandler(event: any) {\r\n if (event && event.srcElement && !this.showVideoControls) {\r\n if (event.srcElement.paused) {\r\n event.srcElement.play();\r\n } else {\r\n event.srcElement.pause();\r\n }\r\n }\r\n }\r\n}\r\n","@if (fileUrl) {\r\n <div class=\"custom-image-main\" [ngClass]=\"{'ng-fullimage-loading': imageLoading}\">\r\n @if (type === IMAGE && fileUrl) {\r\n <img class=\"image\" (load)=\"imageLoading = false\" [ngClass]=\"{'ratio': ratio}\"\r\n [src]=\"fileUrl\" [alt]=\"alt\" [title]=\"title\" [attr.loading]=\"lazy == true ? 'lazy' : null\">\r\n }\r\n @if (type === YOUTUBE && fileUrl) {\r\n <iframe class=\"youtube\" [src]=\"fileUrl\"\r\n [attr.loading]=\"lazy == true ? 'lazy' : null\" frameborder=\"0\" allow=\"autoplay\" allowfullscreen></iframe>\r\n }\r\n @if (type === VIDEO) {\r\n <video class=\"video\" [id]=\"'video_' + imageIndex\" [ngClass]=\"{'ratio': ratio}\" (click)=\"videoClickHandler($event)\"\r\n [autoplay]=\"videoAutoPlay\" type=\"video/mp4\"\r\n [attr.controls]=\"showVideoControls ? showVideoControls : null\" controlsList=\"nodownload\">\r\n <source [src]=\"fileUrl\" type=\"video/mp4\">\r\n Your browser does not support the video tag.\r\n </video>\r\n }\r\n @if (!fileUrl) {\r\n <div [dir]=\"direction\" class=\"invalid-msg\">Invalid file format</div>\r\n }\r\n @if (type === YOUTUBE || type === VIDEO || isVideo) {\r\n <span class=\"youtube-icon\"></span>\r\n }\r\n </div>\r\n}","import {\n ChangeDetectorRef,\n Component,\n OnInit,\n OnChanges,\n SimpleChanges,\n Inject,\n AfterViewInit,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n HostListener,\n ElementRef,\n DOCUMENT\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { SliderCustomImageComponent } from '../slider-custom-image/slider-custom-image.component';\r\nimport { ImageObject } from '../interface';\r\n\r\nconst LIGHTBOX_NEXT_ARROW_CLICK_MESSAGE = 'lightbox next',\r\n LIGHTBOX_PREV_ARROW_CLICK_MESSAGE = 'lightbox previous';\r\n\r\n@Component({\r\n selector: 'slider-lightbox',\r\n imports: [CommonModule, SliderCustomImageComponent],\r\n templateUrl: './slider-lightbox.component.html',\r\n styleUrl: './slider-lightbox.component.css'\r\n})\r\nexport class SliderLightboxComponent\r\n implements OnInit, AfterViewInit, OnDestroy\r\n{\r\n totalImages: number = 0;\r\n nextImageIndex: number = -1;\r\n popupWidth: number = 1200;\r\n marginLeft: number = 0;\r\n imageFullscreenView: boolean = false;\r\n lightboxPrevDisable: boolean = false;\r\n lightboxNextDisable: boolean = false;\r\n showLoading: boolean = true;\r\n effectStyle: string = 'none';\r\n speed: number = 1; // default speed in second\r\n title: string = '';\r\n currentImageIndex: number = 0;\r\n\r\n // for swipe event\r\n private swipeLightboxImgCoord?: [number, number];\r\n private swipeLightboxImgTime?: number;\r\n\r\n @ViewChild('lightboxDiv', { static: false }) lightboxDiv!: ElementRef;\r\n @ViewChild('lightboxImageDiv', { static: false })\r\n lightboxImageDiv!: ElementRef;\r\n\r\n // @Inputs\r\n @Input() images: Array<ImageObject> = [];\r\n @Input()\r\n set imageIndex(index: number) {\r\n if (index !== undefined && index > -1 && index < this.images.length) {\r\n this.currentImageIndex = index;\r\n }\r\n this.nextPrevDisable();\r\n }\r\n @Input()\r\n set show(visiableFlag: boolean) {\r\n this.imageFullscreenView = visiableFlag;\r\n this.elRef.nativeElement.ownerDocument.body.style.overflow = '';\r\n if (visiableFlag === true) {\r\n this.elRef.nativeElement.ownerDocument.body.style.overflow = 'hidden';\r\n // this.getImageData();\r\n this.setPopupSliderWidth();\r\n }\r\n }\r\n @Input() videoAutoPlay: boolean = false;\r\n @Input() direction: string = 'ltr';\r\n @Input() paginationShow: boolean = false;\r\n @Input()\r\n set animationSpeed(data: number) {\r\n if (data && typeof data === 'number' && data >= 0.1 && data <= 5) {\r\n this.speed = data;\r\n }\r\n }\r\n @Input() infinite: boolean = false;\r\n @Input() arrowKeyMove: boolean = true;\r\n @Input() showVideoControls: boolean = true;\r\n\r\n // @Output\r\n @Output() close = new EventEmitter<any>();\r\n @Output() prevImage = new EventEmitter<any>();\r\n @Output() nextImage = new EventEmitter<any>();\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.effectStyle = 'none';\r\n this.setPopupSliderWidth();\r\n }\r\n @HostListener('document:keyup', ['$event'])\r\n handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event && event.key && this.arrowKeyMove) {\r\n if (event.key.toLowerCase() === 'arrowright') {\r\n this.nextImageLightbox();\r\n }\r\n\r\n if (event.key.toLowerCase() === 'arrowleft') {\r\n this.prevImageLightbox();\r\n }\r\n\r\n if (event.key.toLowerCase() === 'escape') {\r\n this.closeLightbox();\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n private cdRef: ChangeDetectorRef,\r\n private sanitizer: DomSanitizer,\r\n private elRef: ElementRef,\r\n @Inject(DOCUMENT) private document: any\r\n ) {}\r\n\r\n ngOnInit() {}\r\n\r\n ngAfterViewInit() {}\r\n\r\n ngOnDestroy() {\r\n this.resetState();\r\n }\r\n\r\n setPopupSliderWidth() {\r\n if (window && window.innerWidth) {\r\n this.popupWidth = window.innerWidth;\r\n this.totalImages = this.images.length;\r\n if (\r\n typeof this.currentImageIndex === 'number' &&\r\n this.currentImageIndex !== undefined\r\n ) {\r\n this.marginLeft = -1 * this.popupWidth * this.currentImageIndex;\r\n this.getImageData();\r\n this.nextPrevDisable();\r\n setTimeout(() => {\r\n this.showLoading = false;\r\n }, 500);\r\n }\r\n }\r\n }\r\n\r\n closeLightbox() {\r\n this.close.emit();\r\n }\r\n\r\n prevImageLightbox() {\r\n this.effectStyle = `all ${this.speed}s ease-in-out`;\r\n if (this.currentImageIndex > 0 && !this.lightboxPrevDisable) {\r\n this.currentImageIndex--;\r\n this.prevImage.emit(LIGHTBOX_PREV_ARROW_CLICK_MESSAGE);\r\n this.marginLeft = -1 * this.popupWidth * this.currentImageIndex;\r\n this.getImageData();\r\n this.nextPrevDisable();\r\n }\r\n }\r\n\r\n nextImageLightbox() {\r\n this.effectStyle = `all ${this.speed}s ease-in-out`;\r\n if (\r\n this.currentImageIndex < this.images.length - 1 &&\r\n !this.lightboxNextDisable\r\n ) {\r\n this.currentImageIndex++;\r\n this.nextImage.emit(LIGHTBOX_NEXT_ARROW_CLICK_MESSAGE);\r\n this.marginLeft = -1 * this.popupWidth * this.currentImageIndex;\r\n this.getImageData();\r\n this.nextPrevDisable();\r\n }\r\n }\r\n\r\n nextPrevDisable() {\r\n this.lightboxNextDisable = true;\r\n this.lightboxPrevDisable = true;\r\n setTimeout(() => {\r\n this.applyButtonDisableCondition();\r\n }, this.speed * 1000);\r\n }\r\n\r\n applyButtonDisableCondition() {\r\n this.lightboxNextDisable = false;\r\n this.lightboxPrevDisable = false;\r\n if (!this.infinite && this.currentImageIndex >= this.images.length - 1) {\r\n this.lightboxNextDisable = true;\r\n }\r\n if (!this.infinite && this.currentImageIndex <= 0) {\r\n this.lightboxPrevDisable = true;\r\n }\r\n }\r\n\r\n getImageData() {\r\n if (\r\n this.images &&\r\n this.images.length &&\r\n typeof this.currentImageIndex === 'number' &&\r\n this.currentImageIndex !== undefined &&\r\n this.images[this.currentImageIndex] &&\r\n (this.images[this.currentImageIndex]['image'] ||\r\n this.images[this.currentImageIndex]['video'])\r\n ) {\r\n this.title = this.images[this.currentImageIndex]['title'] || '';\r\n this.totalImages = this.images.length;\r\n for (const iframeI in this.document.getElementsByTagName('iframe')) {\r\n if (\r\n this.document.getElementsByTagName('iframe')[iframeI] &&\r\n this.document.getElementsByTagName('iframe')[iframeI].contentWindow &&\r\n this.document.getElementsByTagName('iframe')[iframeI].contentWindow\r\n .postMessage\r\n ) {\r\n this.document\r\n .getElementsByTagName('iframe')\r\n [iframeI].contentWindow.postMessage(\r\n '{\"event\":\"command\",\"func\":\"pauseVideo\",\"args\":\"\"}',\r\n '*'\r\n );\r\n }\r\n }\r\n for (const videoI in this.document.getElementsByTagName('video')) {\r\n if (\r\n this.document.getElementsByTagName('video')[videoI] &&\r\n this.document.getElementsByTagName('video')[videoI].pause\r\n ) {\r\n this.document.getElementsByTagName('video')[videoI].pause();\r\n }\r\n }\r\n }\r\n }\r\n\r\n resetState() {\r\n this.images = [];\r\n }\r\n\r\n swipeLightboxImg(e: TouchEvent, when: string): void {\r\n const coord: [number, number] = [\r\n e.changedTouches[0].pageX,\r\n e.changedTouches[0].pageY,\r\n ];\r\n const time = new Date().getTime();\r\n\r\n if (when === 'start') {\r\n this.swipeLightboxImgCoord = coord;\r\n this.swipeLightboxImgTime = time;\r\n } else if (\r\n when === 'end' &&\r\n this.swipeLightboxImgCoord &&\r\n this.swipeLightboxImgTime\r\n ) {\r\n const direction = [\r\n coord[0] - this.swipeLightboxImgCoord[0],\r\n coord[1] - this.swipeLightboxImgCoord[1],\r\n ];\r\n const duration = time - this.swipeLightboxImgTime;\r\n\r\n if (\r\n duration < 1000 && //\r\n Math.abs(direction[0]) > 30 && // Long enough\r\n Math.abs(direction[0]) > Math.abs(direction[1] * 3)\r\n ) {\r\n // Horizontal enough\r\n if (direction[0] < 0) {\r\n this.nextImageLightbox();\r\n } else {\r\n this.prevImageLightbox();\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","@if (imageFullscreenView) {\r\n <div class=\"ng-image-fullscreen-view\">\r\n <div class=\"lightbox-wrapper\">\r\n <a class=\"close\" (click)=\"closeLightbox()\"></a>\r\n <div class=\"lightbox-div\" #lightboxDiv>\r\n @if (showLoading) {\r\n <div class=\"pre-loader\">\r\n <div class=\"mnml-spinner\"></div>\r\n </div>\r\n }\r\n <div class=\"lightbox-image-main\"\r\n [ngStyle]=\"{'margin-left': marginLeft + 'px', 'grid-template-columns': 'repeat('+images.length+',1fr)', 'transition': effectStyle}\">\r\n @for (img of images; track img; let i = $index) {\r\n <div class=\"lightbox-image\" [ngStyle]=\"{'width': popupWidth + 'px'}\"\r\n [attr.id]=\"'ng-lightbox-image-' + i\" (touchstart)=\"swipeLightboxImg($event, 'start')\"\r\n (touchend)=\"swipeLightboxImg($event, 'end')\" #lightboxImageDiv>\r\n <div class=\"close-outside\" (click)=\"!img?.video && closeLightbox()\"></div>\r\n <custom-img [imageUrl]=\"img?.image || img?.video\" [isVideo]=\"!!(img?.posterImage || img?.video)\"\r\n [currentImageIndex]=\"currentImageIndex\" [imageIndex]=\"i\" [speed]=\"speed\"\r\n [videoAutoPlay]=\"videoAutoPlay && i == currentImageIndex\" [showVideoControls]=\"showVideoControls ? 1 : 0\"\r\n [alt]=\"img?.alt || img?.title || ''\" [title]=\"img?.title || img?.alt || ''\" [showVideo]=\"true\"\r\n [direction]=\"direction\">\r\n </custom-img>\r\n </div>\r\n }\r\n </div>\r\n <div [dir]=\"direction\" [ngClass]=\"{'show': title, 'hide': !title}\" class=\"caption\">{{ title }}</div>\r\n @if (images.length > 1) {\r\n <a [ngClass]=\"{'disable': lightboxPrevDisable}\" class=\"prev icons prev-icon\"\r\n (click)=\"prevImageLightbox()\">‹</a>\r\n }\r\n @if (images.length > 1) {\r\n <a [ngClass]=\"{'disable': lightboxNextDisable}\" class=\"next icons next-icon\"\r\n (click)=\"nextImageLightbox()\">›</a>\r\n }\r\n </div>\r\n </div>\r\n @if (paginationShow) {\r\n <div class=\"popup-pagination\">{{currentImageIndex + 1}} of {{totalImages}}</div>\r\n }\r\n </div>\r\n}","import {\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n DoCheck,\r\n SimpleChanges,\r\n SimpleChange,\r\n AfterViewInit,\r\n OnDestroy,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n ViewChild,\r\n HostListener,\r\n PLATFORM_ID,\r\n Inject,\r\n ElementRef,\r\n} from '@angular/core';\r\n\r\nimport { CommonModule, isPlatformBrowser, isPlatformServer } from '@angular/common';\r\nimport { RmImageSliderService } from './rm-image-slider.service';\r\nimport { SliderLightboxComponent } from './slider-lightbox/slider-lightbox.component';\r\nimport { SliderCustomImageComponent } from './slider-custom-image/slider-custom-image.component';\r\nimport { ImageObject } from './interface';\r\n\r\nconst NEXT_ARROW_CLICK_MESSAGE = 'next',\r\n PREV_ARROW_CLICK_MESSAGE = 'previous';\r\n\r\n@Component({\r\n selector: 'rm-image-slider',\r\n imports: [CommonModule, SliderLightboxComponent, SliderCustomImageComponent],\r\n templateUrl: './rm-image-slider.component.html',\r\n styleUrls: ['./rm-image-slider.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RmImageSliderComponent\r\n implements OnChanges, OnInit, DoCheck, AfterViewInit, OnDestroy\r\n{\r\n // for slider\r\n sliderMainDivWidth: number = 0;\r\n imageParentDivWidth: number = 0;\r\n imageObj: Array<ImageObject> = [];\r\n ligthboxImageObj: Array<ImageObject> = [];\r\n totalImages: number = 0;\r\n leftPos: number = 0;\r\n effectStyle: string = 'all 1s ease-in-out';\r\n speed: number = 1; // default speed in second\r\n sliderPrevDisable: boolean = false;\r\n sliderNextDisable: boolean = false;\r\n slideImageCount: number = 1;\r\n sliderImageWidth: number = 205;\r\n sliderImageReceivedWidth: number | string = 205;\r\n sliderImageHeight: number = 200;\r\n sliderImageReceivedHeight: number | string = 205;\r\n sliderImageSizeWithPadding = 211;\r\n autoSlideCount: number = 0;\r\n stopSlideOnHover: boolean = true;\r\n autoSlideInterval: any;\r\n showArrowButton: boolean = true;\r\n textDirection: string = 'ltr';\r\n imageMargin: number = 3;\r\n sliderOrderType: string = 'ASC';\r\n\r\n // for swipe event\r\n private swipeCoord?: [number, number];\r\n private swipeTime?: number;\r\n\r\n // for lightbox\r\n ligthboxShow: boolean = false;\r\n activeImageIndex: number = -1;\r\n visiableImageIndex: number = 0;\r\n\r\n @ViewChild('sliderMain', { static: false }) sliderMain: any;\r\n @ViewChild('imageDiv', { static: false }) imageDiv: any;\r\n\r\n // @inputs\r\n @Input()\r\n set imageSize(data: any) {\r\n if (data && typeof data === 'object') {\r\n if (\r\n data.hasOwnProperty('space') &&\r\n typeof data['space'] === 'number' &&\r\n data['space'] > -1\r\n ) {\r\n this.imageMargin = data['space'];\r\n }\r\n if (\r\n data.hasOwnProperty('width') &&\r\n (typeof data['width'] === 'number' || typeof data['width'] === 'string')\r\n ) {\r\n this.sliderImageReceivedWidth = data['width'];\r\n // this.sliderImageSizeWithPadding = data['width'] + (this.imageMargin * 2); // addeing padding with image width\r\n }\r\n if (\r\n data.hasOwnProperty('height') &&\r\n (typeof data['height'] === 'number' ||\r\n typeof data['height'] === 'string')\r\n ) {\r\n this.sliderImageReceivedHeight = data['height'];\r\n }\r\n }\r\n }\r\n @Input() infinite: boolean = false;\r\n @Input() imagePopup: boolean = true;\r\n @Input()\r\n set direction(dir: string) {\r\n if (dir) {\r\n this.textDirection = dir;\r\n }\r\n }\r\n @Input()\r\n set animationSpeed(data: number) {\r\n if (data && typeof data === 'number' && data >= 0.1 && data <= 5) {\r\n this.speed = data;\r\n this.effectStyle = `all ${this.speed}s ease-in-out`;\r\n }\r\n }\r\n @Input() images: Array<object> = [];\r\n @Input() set slideImage(count: any) {\r\n if (count && typeof count === 'number') {\r\n this.slideImageCount = Math.round(count);\r\n }\r\n }\r\n @Input() set autoSlide(count: any) {\r\n if (\r\n count &&\r\n (typeof count === 'number' ||\r\n typeof count === 'boolean' ||\r\n typeof count === 'object')\r\n ) {\r\n if (typeof count === 'number' && count >= 1 && count <= 5) {\r\n count = Math.round(count);\r\n } else if (typeof count === 'boolean') {\r\n count = 1;\r\n } else if (\r\n typeof count === 'object' &&\r\n count.hasOwnProperty('interval') &&\r\n Math.round(count['interval']) &&\r\n Math.round(count['interval']) >= 1 &&\r\n Math.round(count['interval']) <= 5\r\n ) {\r\n this.stopSlideOnHover = count.hasOwnProperty('stopOnHover')\r\n ? count['stopOnHover']\r\n : true;\r\n count = Math.round(count['interval']);\r\n }\r\n this.autoSlideCount = count * 1000;\r\n }\r\n }\r\n @Input() set showArrow(flag: any) {\r\n if (flag !== undefined && typeof flag === 'boolean') {\r\n this.showArrowButton = flag;\r\n }\r\n }\r\n\r\n @Input() set orderType(data: string) {\r\n if (data !== undefined && typeof data === 'string') {\r\n this.sliderOrderType = data.toUpperCase();\r\n }\r\n }\r\n @Input() videoAutoPlay: boolean = false;\r\n @Input() paginationShow: boolean = false;\r\n @Input() arrowKeyMove: boolean = true;\r\n @Input() manageImageRatio: boolean = false;\r\n @Input() showVideoControls: boolean = true;\r\n @Input() set defaultActiveImage(activeIndex: number) {\r\n if (typeof activeIndex === 'number' && activeIndex > -1) {\r\n this.activeImageIndex = activeIndex;\r\n }\r\n }\r\n @Input() lazyLoading: boolean = false;\r\n\r\n // @Outputs\r\n @Output() imageClick = new EventEmitter<number>();\r\n @Output() arrowClick = new EventEmitter<object>();\r\n @Output() lightboxArrowClick = new EventEmitter<object>();\r\n @Output() lightboxClose = new EventEmitter<object>();\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.setSliderWidth();\r\n }\r\n @HostListener('document:keyup', ['$event'])\r\n handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event && event.key) {\r\n if (\r\n event.key.toLowerCase() === 'arrowright' &&\r\n !this.ligthboxShow &&\r\n this.arrowKeyMove\r\n ) {\r\n this.next();\r\n }\r\n\r\n if (\r\n event.key.toLowerCase() === 'arrowleft' &&\r\n !this.ligthboxShow &&\r\n this.arrowKeyMove\r\n ) {\r\n this.prev();\r\n }\r\n\r\n if (event.key.toLowerCase() === 'escape' && this.ligthboxShow) {\r\n this.close();\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n private cdRef: ChangeDetectorRef,\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n public imageSliderService: RmImageSliderService,\r\n private elRef: ElementRef // @Inject(ElementRef) private _elementRef: ElementRef\r\n ) {}\r\n\r\n ngOnInit() {\r\n // @TODO: for future use\r\n // console.log(this._elementRef)\r\n\r\n // for slider\r\n if (this.infinite) {\r\n this.effectStyle = 'none';\r\n this.leftPos =\r\n -1 * this.sliderImageSizeWithPadding * this.slideImageCount;\r\n for (let i = 1; i <= this.slideImageCount; i++) {\r\n this.imageObj.unshift(this.imageObj[this.imageObj.length - i]);\r\n }\r\n }\r\n }\r\n\r\n // for slider\r\n ngAfterViewInit() {\r\n this.setSliderWidth();\r\n this.cdRef.detectChanges();\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.imageAutoSlide();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.autoSlideInterval) {\r\n clearInterval(this.autoSlideInterval);\r\n }\r\n if (this.ligthboxShow === true) {\r\n this.close();\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (\r\n changes['images'] &&\r\n changes['images'].hasOwnProperty('previousValue') &&\r\n changes['images'].hasOwnProperty('currentValue') &&\r\n changes['images'].previousValue != changes['images'].currentValue\r\n ) {\r\n this.setSliderImages(changes['images'].currentValue);\r\n }\r\n if (changes && changes['imageSize']) {\r\n const size: SimpleChange = changes['imageSize'];\r\n if (\r\n size &&\r\n size.previousValue &&\r\n size.currentValue &&\r\n size.previousValue.width &&\r\n size.previousValue.height &&\r\n size.currentValue.width &&\r\n size.currentValue.height &&\r\n (size.previousValue.width !== size.currentValue.width ||\r\n size.previousValue.height !== size.currentValue.height)\r\n ) {\r\n this.setSliderWidth();\r\n }\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n if (\r\n this.images &&\r\n this.ligthboxImageObj &&\r\n this.images.length !== this.ligthboxImageObj.length\r\n ) {\r\n this.setSliderImages(this.images);\r\n }\r\n }\r\n\r\n setSliderImages(imgObj: any) {\r\n if (imgObj && imgObj instanceof Array && imgObj.length) {\r\n // const sliderOrderEnable = imgObj.find((img: any) => {\r\n // if (img.hasOwnProperty('order')) {\r\n // return true;\r\n // }\r\n // });\r\n const sliderOrderEnable =\r\n imgObj.find((img: any) => {\r\n return img.order !== undefined;\r\n }) !== undefined;\r\n\r\n if (sliderOrderEnable) {\r\n imgObj = this.imageSliderService.orderArray(\r\n imgObj as [],\r\n this.sliderOrderType.toUpperCase()\r\n );\r\n }\r\n\r\n this.imageObj = imgObj.map((img: any, index: any) => {\r\n img['index'] = index;\r\n return img;\r\n });\r\n this.ligthboxImageObj = [...this.imageObj];\r\n this.totalImages = this.imageObj.length;\r\n // this.imageParentDivWidth = imgObj.length * this.sliderImageSizeWithPadding;\r\n } else {\r\n this.imageObj = [];\r\n this.ligthboxImageObj = [];\r\n this.totalImages = 0;\r\n this.imageParentDivWidth = 0;\r\n this.activeImageIndex = 0;\r\n }\r\n\r\n this.setSliderWidth();\r\n }\r\n\r\n setSliderWidth() {\r\n if (\r\n this.sliderMain &&\r\n this.sliderMain.nativeElement &&\r\n this.sliderMain.nativeElement.offsetWidth\r\n ) {\r\n this.sliderMainDivWidth = this.sliderMain.nativeElement.offsetWidth;\r\n }\r\n\r\n if (this.sliderMainDivWidth && this.sliderImageReceivedWidth) {\r\n if (typeof this.sliderImageReceivedWidth === 'number') {\r\n this.sliderImageWidth = this.sliderImageReceivedWidth;\r\n } else if (typeof this.sliderImageReceivedWidth === 'string') {\r\n if (this.sliderImageReceivedWidth.indexOf('px') >= 0) {\r\n this.sliderImageWidth = parseFloat(this.sliderImageReceivedWidth);\r\n } else if (this.sliderImageReceivedWidth.indexOf('%') >= 0) {\r\n this.sliderImageWidth = +(\r\n (this.sliderMainDivWidth *\r\n parseFloat(this.sliderImageReceivedWidth)) /\r\n 100\r\n ).toFixed(2);\r\n } else if (parseFloat(this.sliderImageReceivedWidth)) {\r\n this.sliderImageWidth = parseFloat(this.sliderImageReceivedWidth);\r\n }\r\n }\r\n }\r\n if (isPlatformBrowser(this.platformId)) {\r\n if (window && window.innerHeight && this.sliderImageReceivedHeight) {\r\n if (typeof this.sliderImageReceivedHeight === 'number') {\r\n this.sliderImageHeight = this.sliderImageReceivedHeight;\r\n } else if (typeof this.sliderImageReceivedHeight === 'string') {\r\n if (this.sliderImageReceivedHeight.indexOf('px') >= 0) {\r\n this.sliderImageHeight = parseFloat(this.sliderImageReceivedHeight);\r\n } else if (this.sliderImageReceivedHeight.indexOf('%') >= 0) {\r\n this.sliderImageHeight = +(\r\n (window.innerHeight *\r\n parseFloat(this.sliderImageReceivedHeight)) /\r\n 100\r\n ).toFixed(2);\r\n } else if (parseFloat(this.sliderImageReceivedHeight)) {\r\n this.sliderImageHeight = parseFloat(this.sliderImageReceivedHeight);\r\n }\r\n }\r\n }\r\n }\r\n this.sliderImageSizeWithPadding =\r\n this.sliderImageWidth + this.imageMargin * 2;\r\n this.imageParentDivWidth =\r\n this.imageObj.length * this.sliderImageSizeWithPadding;\r\n if (\r\n this.imageDiv &&\r\n this.imageDiv.nativeElement &&\r\n this.imageDiv.nativeElement.offsetWidth\r\n ) {\r\n const staticLeftPos =\r\n 0 -\r\n (this.sliderImageSizeWithPadding * this.visiableImageIndex +\r\n this.imageMargin * 2);\r\n this.leftPos = this.infinite\r\n ? -1 * this.sliderImageSizeWithPadding * this.slideImageCount\r\n : staticLeftPos;\r\n }\r\n this.nextPrevSliderButtonDisable();\r\n }\r\n\r\n imageOnClick(index: number) {\r\n this.activeImageIndex = index;\r\n if (this.imagePopup) {\r\n this.showLightbox();\r\n }\r\n this.imageClick.emit(index);\r\n }\r\n\r\n imageAutoSlide() {\r\n if (this.infinite && this.autoSlideCount && !this.ligthboxShow) {\r\n this.autoSlideInterval = setInterval(() => {\r\n this.next();\r\n }, this.autoSlideCount);\r\n }\r\n }\r\n\r\n imageMouseEnterHandler() {\r\n if (this.infinite && this.autoSlideCount && this.autoSlideInterval) {\r\n clearInterval(this.autoSlideInterval);\r\n }\r\n }\r\n\r\n prev() {\r\n if (!this.sliderPrevDisable) {\r\n if (this.infinite) {\r\n this.infinitePrevImg();\r\n } else {\r\n this.prevImg();\r\n }\r\n\r\n //this.arrowClick.emit(PREV_ARROW_CLICK_MESSAGE);\r\n this.sliderArrowDisableTeam(PREV_ARROW_CLICK_MESSAGE);\r\n this.getVisiableIndex();\r\n }\r\n }\r\n\r\n next() {\r\n if (!this.sliderNextDisable) {\r\n if (this.infinite) {\r\n this.infiniteNextImg();\r\n } else {\r\n this.nextImg();\r\n }\r\n\r\n //this.arrowClick.emit(NEXT_ARROW_CLICK_MESSAGE);\r\n this.sliderArrowDisableTeam(NEXT_ARROW_CLICK_MESSAGE);\r\n this.getVisiableIndex();\r\n }\r\n }\r\n\r\n prevImg() {\r\n if (\r\n 0 >=\r\n this.leftPos + this.sliderImageSizeWithPadding * this.slideImageCount\r\n ) {\r\n this.leftPos += this.sliderImageSizeWithPadding * this.slideImageCount;\r\n } else {\r\n this.leftPos = 0;\r\n }\r\n }\r\n\r\n nextImg() {\r\n if (\r\n this.imageParentDivWidth + this.leftPos - this.sliderMainDivWidth >\r\n this.sliderImageSizeWithPadding * this.slideImageCount\r\n ) {\r\n this.leftPos -= this.sliderImageSizeWithPadding * this.slideImageCount;\r\n } else if (\r\n this.imageParentDivWidth + this.leftPos - this.sliderMainDivWidth >\r\n 0\r\n ) {\r\n this.leftPos -=\r\n this.imageParentDivWidth + this.leftPos - this.sliderMainDivWidth;\r\n }\r\n }\r\n\r\n infinitePrevImg() {\r\n this.effectStyle = `all ${this.speed}s ease-in-out`;\r\n this.leftPos = 0;\r\n\r\n setTimeout(() => {\r\n this.effectStyle = 'none';\r\n this.leftPos =\r\n -1 * this.sliderImageSizeWithPadding * this.slideImageCount;\r\n for (let i = 0; i < this.slideImageCount; i++) {\r\n this.imageObj.unshift(\r\n this.imageObj[this.imageObj.length - this.slideImageCount - 1]\r\n );\r\n this.imageObj.pop();\r\n }\r\n }, this.speed * 1000);\r\n }\r\n\r\n infiniteNextImg() {\r\n this.effectStyle = `all ${this.speed}s ease-in-out`;\r\n this.leftPos = -2 * this.sliderImageSizeWithPadding * this.slideImageCount;\r\n setTimeout(() => {\r\n this.effectStyle = 'none';\r\n for (let i = 0; i < this.slideImageCount; i++) {\r\n this.imageObj.push(this.imageObj[this.slideImageCount]);\r\n this.imageObj.shift();\r\n }\r\n this.leftPos =\r\n -1 * this.sliderImageSizeWithPadding * this.slideImageCount;\r\n }, this.speed * 1000);\r\n }\r\n\r\n getVisiableIndex() {\r\n const currentIndex = Math.round(\r\n (Math.abs(this.leftPos) + this.sliderImageWidth) / this.sliderImageWidth\r\n );\r\n if (\r\n this.imageObj &&\r\n this.imageObj[currentIndex - 1] &&\r\n this.imageObj[currentIndex - 1]['index']\r\n ) {\r\n this.visiableImageIndex = this.imageObj[currentIndex - 1]['index'] ?? 0;\r\n }\r\n }\r\n\r\n /**\r\n * Disable slider left/right arrow when image moving\r\n */\r\n sliderArrowDisableTeam(msg: string) {\r\n this.sliderNextDisable = true;\r\n this.sliderPrevDisable = true;\r\n setTimeout(() => {\r\n this.nextPrevSliderButtonDisable(msg);\r\n }, this.speed * 1000);\r\n }\r\n\r\n nextPrevSliderButtonDisable(msg?: string) {\r\n this.sliderNextDisable = false;\r\n this.sliderPrevDisable = false;\r\n const actionMsg = {} as any;\r\n if (!this.infinite) {\r\n if (this.imageParentDivWidth + this.leftPos <= this.sliderMainDivWidth) {\r\n this.sliderNextDisable = true;\r\n }\r\n\r\n if (this.leftPos >= 0) {\r\n this.sliderPrevDisable = true;\r\n }\r\n\r\n actionMsg['prevDisable'] = this.sliderPrevDisable;\r\n actionMsg['nextDisable'] = this.sliderNextDisable;\r\n }\r\n\r\n if (msg) {\r\n this.arrowClick.emit({\r\n action: msg,\r\n ...actionMsg,\r\n });\r\n }\r\n }\r\n\r\n // for lightbox\r\n showLightbox() {\r\n if (this.imageObj.length) {\r\n this.imageMouseEnterHandler();\r\n this.ligthboxShow = true;\r\n this.elRef.nativeElement.ownerDocument.body.style.overflow = 'hidden';\r\n }\r\n }\r\n\r\n close() {\r\n this.ligthboxShow = false;\r\n this.elRef.nativeElement.ownerDocument.body.style.overflow = '';\r\n this.lightboxClose.emit();\r\n this.imageAutoSlide();\r\n }\r\n\r\n lightboxArrowClickHandler(event: any) {\r\n this.lightboxArrowClick.emit(event);\r\n }\r\n\r\n swipe(e: TouchEvent, when: string): void {\r\n const coord: [number, number] = [\r\n e.changedTouches[0].pageX,\r\n e.changedTouches[0].pageY,\r\n ];\r\n const time = new Date().getTime();\r\n\r\n if (when === 'start') {\r\n this.swipeCoord = coord;\r\n this.swipeTime = time;\r\n } else if (when === 'end' && this.swipeCoord && this.swipeTime) {\r\n const direction = [\r\n coord[0] - this.swipeCoord[0],\r\n coord[1] - this.swipeCoord[1],\r\n ];\r\n const duration = time - this.swipeTime;\r\n\r\n if (\r\n duration < 1000 && //\r\n Math.abs(direction[0]) > 30 && // Long enough\r\n Math.abs(direction[0]) > Math.abs(direction[1] * 3)\r\n ) {\r\n // Horizontal enough\r\n if (direction[0] < 0) {\r\n this.next();\r\n } else {\r\n this.prev();\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","<div class=\"ng-image-slider\" [ngStyle]=\"{'height':sliderImageHeight+'px'}\">\r\n <div class=\"ng-image-slider-container\">\r\n <div class=\"main\" [ngStyle]=\"{'height':sliderImageHeight+'px'}\" #sliderMain>\r\n @if (imageObj.length) {\r\n <div class=\"main-inner\" [ngClass]=\"{'with-ng-main-pagination': paginationShow}\"\r\n [ngStyle]=\"{'margin-left':leftPos+'px', 'width':imageParentDivWidth+'px', 'transition': effectStyle}\"\r\n (touchstart)=\"swipe($event, 'start')\" (touchend)=\"swipe($event, 'end')\">\r\n @for (img of imageObj; track img; let i = $index) {\r\n <div\r\n [ngClass]=\"{'image-popup': imagePopup, 'selected-image': activeImageIndex == i}\"\r\n [ngStyle]=\"{'width':sliderImageWidth+'px', 'margin-left':imageMargin+'px', 'margin-right':imageMargin+'px'}\"\r\n class=\"img-div\" (click)=\"imageOnClick(img.index)\" (mouseenter)=\"stopSlideOnHover && imageMouseEnterHandler()\"\r\n (mouseleave)=\"stopSlideOnHover && imageAutoSlide()\" #imageDiv>\r\n <custom-img [imageUrl]=\"img?.thumbImage || img?.posterImage || img?.video\"\r\n [isVideo]=\"!!(img?.posterImage || img?.video)\" [alt]=\"img?.alt || img?.title || ''\"\r\n [title]=\"img?.title || img?.alt || ''\" [direction]=\"textDirection\" [ratio]=\"manageImageRatio\"\r\n [lazy]=\"lazyLoading\">\r\n </custom-img>\r\n @if (img?.title) {\r\n <div [dir]=\"textDirection\" class=\"caption\">{{ img?.title }}</div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if (!imageObj.length) {\r\n <div class=\"ng-image-slider-error\">\r\n <span class=\"ng-image-slider-loader\"></span>\r\n </div>\r\n }\r\n @if (showArrowButton && imageObj.length > 1) {\r\n <a [ngClass]=\"{'disable': sliderPrevDisable}\"\r\n class=\"prev icons prev-icon\" (click)=\"prev()\" (mouseenter)=\"stopSlideOnHover && imageMouseEnterHandler()\"\r\n (mouseleave)=\"stopSlideOnHover && imageAutoSlide()\">‹</a>\r\n }\r\n @if (showArrowButton && imageObj.length > 1) {\r\n <a [ngClass]=\"{'disable': sliderNextDisable}\"\r\n class=\"next icons next-icon\" (click)=\"next()\" (mouseenter)=\"imageMouseEnterHandler()\"\r\n (mouseleave)=\"imageAutoSlide()\">›</a>\r\n }\r\n </div>\r\n @if (imageObj.length && paginationShow) {\r\n <div class=\"ng-main-pagination\">{{visiableImageIndex + 1}} of\r\n {{totalImages}}</div>\r\n }\r\n </div>\r\n</div>\r\n@if (ligthboxShow) {\r\n <div>\r\n <slider-lightbox [paginationShow]=\"paginationShow\" [showVideoControls]=\"showVideoControls\"\r\n [arrowKeyMove]=\"arrowKeyMove\" [images]=\"ligthboxImageObj\" [infinite]=\"infinite\" [animationSpeed]=\"speed\"\r\n [imageIndex]=\"activeImageIndex\" [show]=\"ligthboxShow\" [direction]=\"textDirection\" [videoAutoPlay]=\"videoAutoPlay\"\r\n (prevImage)=\"lightboxArrowClickHandler($event)\" (nextImage)=\"lightboxArrowClickHandler($event)\" (close)=\"close()\">\r\n </slider-lightbox>\r\n </div>\r\n}","/*\r\n * Public API Surface of rm-image-slider\r\n */\r\n\r\nexport * from './lib/rm-image-slider.service';\r\nexport * from './lib/rm-image-slider.component';\r\nexport * from './lib/interface';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i1.RmImageSliderService","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rm-image-slider.mjs","sources":["../../../projects/rm-image-slider/src/lib/rm-image-slider.service.ts","../../../projects/rm-image-slider/src/lib/slider-custom-image/slider-custom-image.component.ts","../../../projects/rm-image-slider/src/lib/slider-custom-image/slider-custom-image.component.html","../../../projects/rm-image-slider/src/lib/slider-lightbox/slider-lightbox.component.ts","../../../projects/rm-image-slider/src/lib/slider-lightbox/slider-lightbox.component.html","../../../projects/rm-image-slider/src/lib/rm-image-slider.component.ts","../../../projects/rm-image-slider/src/lib/rm-image-slider.component.html","../../../projects/rm-image-slider/src/public-api.ts","../../../projects/rm-image-slider/src/rm-image-slider.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\nconst DESC = 'DESC',\r\n ASC = 'ASC';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RmImageSliderService {\r\n constructor() {}\r\n\r\n isBase64(str: string) {\r\n var base64regex =\r\n /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;\r\n return base64regex.test(str);\r\n }\r\n\r\n base64FileExtension(str: string) {\r\n return str.substring('data:image/'.length, str.indexOf(';base64'));\r\n }\r\n\r\n // orderArray(arr = [], orderType = ASC) {\r\n // if (arr?.length && orderType) {\r\n // return arr.sort((ob1: any, ob2: any) => {\r\n // if (ob1['order'] === null || !ob1['order']) {\r\n // return 1;\r\n // } else if (ob2['order'] === null || !ob2['order']) {\r\n // return -1;\r\n // } else if (ob1['order'] > ob2['order']) {\r\n // if (orderType === DESC) {\r\n // return -1;\r\n // } else {\r\n // return 1;\r\n // }\r\n // } else if (ob1['order'] < ob2['order']) {\r\n // if (orderType === DESC) {\r\n // return 1;\r\n // } else {\r\n // return -1;\r\n // }\r\n // }\r\n // });\r\n // }\r\n // return arr;\r\n // }\r\n\r\n orderArray(arr = [], orderType = ASC) {\r\n if (arr?.length && orderType) {\r\n return arr.sort((ob1: any, ob2: any) => {\r\n // Handle potential undefined 'order' properties\r\n const order1 = ob1['order'];\r\n const order2 = ob2['order'];\r\n\r\n // Ensure consistent sorting for undefined/null 'order' values\r\n if (order1 === null || order1 === undefined) {\r\n return 1; // Place elements with undefined or null 'order' at the end\r\n } else if (order2 === null || order2 === undefined) {\r\n return -1; // Place elements with undefined or null 'order' at the beginning\r\n } else {\r\n // Apply ascending or descending order based on 'orderType'\r\n return orderType === DESC\r\n ? order2 - order1 // Reverse for descending order\r\n : order1 - order2; // Maintain for ascending order\r\n }\r\n });\r\n }\r\n\r\n return arr; // Return the original array if conditions are not met\r\n }\r\n}\r\n","import {\n Component,\n Input,\n OnChanges,\n SimpleChanges,\n Inject,\n DOCUMENT,\n ChangeDetectionStrategy\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { RmImageSliderService } from './../rm-image-slider.service';\r\n\r\nconst youtubeRegExp =\r\n /^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|\\&v=|\\?v=)([^#\\&\\?]*).*/,\r\n validFileExtensions = ['jpeg', 'jpg', 'gif', 'png'],\r\n validVideoExtensions = ['mp4'];\r\n\r\n@Component({\r\n selector: 'custom-img',\r\n imports: [CommonModule],\r\n templateUrl: './slider-custom-image.component.html',\r\n changeDetection: ChangeDetectionStrategy.Eager,\n styleUrl: './slider-custom-image.component.css'\r\n})\r\nexport class SliderCustomImageComponent implements OnChanges {\r\n YOUTUBE = 'youtube';\r\n IMAGE = 'image';\r\n VIDEO = 'video';\r\n fileUrl: SafeResourceUrl = '';\r\n fileExtension = '';\r\n type = this.IMAGE;\r\n imageLoading: boolean = true;\r\n\r\n // @inputs\r\n @Input() showVideo: boolean = false;\r\n @Input() videoAutoPlay: boolean = false;\r\n @Input() showVideoControls: number = 1;\r\n @Input() currentImageIndex!: number;\r\n @Input() imageIndex!: number;\r\n @Input() speed: number = 1;\r\n @Input() imageUrl: any;\r\n @Input() isVideo = false;\r\n @Input() alt: String = '';\r\n @Input() title: String = '';\r\n @Input() direction: string = 'ltr';\r\n @Input() ratio: boolean = false;\r\n @Input() lazy: boolean = false;\r\n\r\n constructor(\r\n public imageSliderService: RmImageSliderService,\r\n private sanitizer: DomSanitizer,\r\n @Inject(DOCUMENT) document: Document\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (\r\n this['imageUrl'] &&\r\n typeof this['imageUrl'] === 'string' &&\r\n ((changes['imageUrl'] && changes['imageUrl'].firstChange) ||\r\n this.videoAutoPlay)\r\n ) {\r\n this.setUrl();\r\n }\r\n }\r\n\r\n setUrl() {\r\n const url = this.imageUrl;\r\n this.imageLoading = true;\r\n this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n this.fileExtension = url.split('.').pop().split(/\\#|\\?/)[0];\r\n if (\r\n this.imageSliderService.base64FileExtension(url) &&\r\n (validFileExtensions.indexOf(\r\n this.imageSliderService.base64FileExtension(url).toLowerCase()\r\n ) > -1 ||\r\n validVideoExtensions.indexOf(\r\n this.imageSliderService.base64FileExtension(url).toLowerCase()\r\n ) > -1)\r\n ) {\r\n this.fileExtension = this.imageSliderService.base64FileExtension(url);\r\n }\r\n // verify for youtube url\r\n const match = url.match(youtubeRegExp);\r\n if (match && match[2].length === 11) {\r\n if (this.showVideo) {\r\n this.type = this.YOUTUBE;\r\n this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(\r\n `${'https://www.youtube.com/embed/'}${match[2]}${\r\n this.videoAutoPlay\r\n ? '?autoplay=1&enablejsapi=1'\r\n : '?autoplay=0&enablejsapi=1'\r\n }${'&controls='}${this.showVideoControls}`\r\n );\r\n } else {\r\n this.type = this.IMAGE;\r\n this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(\r\n `https://img.youtube.com/vi/${match[2]}/0.jpg`\r\n );\r\n }\r\n } else if (\r\n this.fileExtension &&\r\n validFileExtensions.indexOf(this.fileExtension.toLowerCase()) > -1\r\n ) {\r\n this.type = this.IMAGE;\r\n } else if (\r\n this.fileExtension &&\r\n validVideoExtensions.indexOf(this.fileExtension.toLowerCase()) > -1\r\n ) {\r\n this.type = this.VIDEO;\r\n if (\r\n this.videoAutoPlay &&\r\n document.getElementById(`video_${this.imageIndex}`)\r\n ) {\r\n const videoObj: any = document.getElementById(\r\n `video_${this.imageIndex}`\r\n );\r\n setTimeout(() => {\r\n videoObj.play();\r\n }, this.speed * 1000);\r\n }\r\n }\r\n }\r\n\r\n videoClickHandler(event: any) {\r\n if (event && event.srcElement && !this.showVideoControls) {\r\n if (event.srcElement.paused) {\r\n event.srcElement.play();\r\n } else {\r\n event.srcElement.pause();\r\n }\r\n }\r\n }\r\n}\r\n","@if (fileUrl) {\r\n <div class=\"custom-image-main\" [ngClass]=\"{'ng-fullimage-loading': imageLoading}\">\r\n @if (type === IMAGE && fileUrl) {\r\n <img class=\"image\" (load)=\"imageLoading = false\" [ngClass]=\"{'ratio': ratio}\"\r\n [src]=\"fileUrl\" [alt]=\"alt\" [title]=\"title\" [attr.loading]=\"lazy == true ? 'lazy' : null\">\r\n }\r\n @if (type === YOUTUBE && fileUrl) {\r\n <iframe class=\"youtube\" [src]=\"fileUrl\"\r\n [attr.loading]=\"lazy == true ? 'lazy' : null\" frameborder=\"0\" allow=\"autoplay\" allowfullscreen></iframe>\r\n }\r\n @if (type === VIDEO) {\r\n <video class=\"video\" [id]=\"'video_' + imageIndex\" [ngClass]=\"{'ratio': ratio}\" (click)=\"videoClickHandler($event)\"\r\n [autoplay]=\"videoAutoPlay\" type=\"video/mp4\"\r\n [attr.controls]=\"showVideoControls ? showVideoControls : null\" controlsList=\"nodownload\">\r\n <source [src]=\"fileUrl\" type=\"video/mp4\">\r\n Your browser does not support the video tag.\r\n </video>\r\n }\r\n @if (!fileUrl) {\r\n <div [dir]=\"direction\" class=\"invalid-msg\">Invalid file format</div>\r\n }\r\n @if (type === YOUTUBE || type === VIDEO || isVideo) {\r\n <span class=\"youtube-icon\"></span>\r\n }\r\n </div>\r\n}","import {\n ChangeDetectorRef,\n Component,\n OnInit,\n OnChanges,\n SimpleChanges,\n Inject,\n AfterViewInit,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n HostListener,\n ElementRef,\n DOCUMENT,\n ChangeDetectionStrategy\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { SliderCustomImageComponent } from '../slider-custom-image/slider-custom-image.component';\r\nimport { ImageObject } from '../interface';\r\n\r\nconst LIGHTBOX_NEXT_ARROW_CLICK_MESSAGE = 'lightbox next',\r\n LIGHTBOX_PREV_ARROW_CLICK_MESSAGE = 'lightbox previous';\r\n\r\n@Component({\r\n selector: 'slider-lightbox',\r\n imports: [CommonModule, SliderCustomImageComponent],\r\n templateUrl: './slider-lightbox.component.html',\r\n changeDetection: ChangeDetectionStrategy.Eager,\n styleUrl: './slider-lightbox.component.css'\r\n})\r\nexport class SliderLightboxComponent\r\n implements OnInit, AfterViewInit, OnDestroy\r\n{\r\n totalImages: number = 0;\r\n nextImageIndex: number = -1;\r\n popupWidth: number = 1200;\r\n marginLeft: number = 0;\r\n imageFullscreenView: boolean = false;\r\n lightboxPrevDisable: boolean = false;\r\n lightboxNextDisable: boolean = false;\r\n showLoading: boolean = true;\r\n effectStyle: string = 'none';\r\n speed: number = 1; // default speed in second\r\n title: string = '';\r\n currentImageIndex: number = 0;\r\n\r\n // for swipe event\r\n private swipeLightboxImgCoord?: [number, number];\r\n private swipeLightboxImgTime?: number;\r\n\r\n @ViewChild('lightboxDiv', { static: false }) lightboxDiv!: ElementRef;\r\n @ViewChild('lightboxImageDiv', { static: false })\r\n lightboxImageDiv!: ElementRef;\r\n\r\n // @Inputs\r\n @Input() images: Array<ImageObject> = [];\r\n @Input()\r\n set imageIndex(index: number) {\r\n if (index !== undefined && index > -1 && index < this.images.length) {\r\n this.currentImageIndex = index;\r\n }\r\n this.nextPrevDisable();\r\n }\r\n @Input()\r\n set show(visiableFlag: boolean) {\r\n this.imageFullscreenView = visiableFlag;\r\n this.elRef.nativeElement.ownerDocument.body.style.overflow = '';\r\n if (visiableFlag === true) {\r\n this.elRef.nativeElement.ownerDocument.body.style.overflow = 'hidden';\r\n // this.getImageData();\r\n this.setPopupSliderWidth();\r\n }\r\n }\r\n @Input() videoAutoPlay: boolean = false;\r\n @Input() direction: string = 'ltr';\r\n @Input() paginationShow: boolean = false;\r\n @Input()\r\n set animationSpeed(data: number) {\r\n if (data && typeof data === 'number' && data >= 0.1 && data <= 5) {\r\n this.speed = data;\r\n }\r\n }\r\n @Input() infinite: boolean = false;\r\n @Input() arrowKeyMove: boolean = true;\r\n @Input() showVideoControls: boolean = true;\r\n\r\n // @Output\r\n @Output() close = new EventEmitter<any>();\r\n @Output() prevImage = new EventEmitter<any>();\r\n @Output() nextImage = new EventEmitter<any>();\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.effectStyle = 'none';\r\n this.setPopupSliderWidth();\r\n }\r\n @HostListener('document:keyup', ['$event'])\r\n handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event && event.key && this.arrowKeyMove) {\r\n if (event.key.toLowerCase() === 'arrowright') {\r\n this.nextImageLightbox();\r\n }\r\n\r\n if (event.key.toLowerCase() === 'arrowleft') {\r\n this.prevImageLightbox();\r\n }\r\n\r\n if (event.key.toLowerCase() === 'escape') {\r\n this.closeLightbox();\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n private cdRef: ChangeDetectorRef,\r\n private sanitizer: DomSanitizer,\r\n private elRef: ElementRef,\r\n @Inject(DOCUMENT) private document: any\r\n ) {}\r\n\r\n ngOnInit() {}\r\n\r\n ngAfterViewInit() {}\r\n\r\n ngOnDestroy() {\r\n this.resetState();\r\n }\r\n\r\n setPopupSliderWidth() {\r\n if (window && window.innerWidth) {\r\n this.popupWidth = window.innerWidth;\r\n this.totalImages = this.images.length;\r\n if (\r\n typeof this.currentImageIndex === 'number' &&\r\n this.currentImageIndex !== undefined\r\n ) {\r\n this.marginLeft = -1 * this.popupWidth * this.currentImageIndex;\r\n this.getImageData();\r\n this.nextPrevDisable();\r\n setTimeout(() => {\r\n this.showLoading = false;\r\n }, 500);\r\n }\r\n }\r\n }\r\n\r\n closeLightbox() {\r\n this.close.emit();\r\n }\r\n\r\n prevImageLightbox() {\r\n this.effectStyle = `all ${this.speed}s ease-in-out`;\r\n if (this.currentImageIndex > 0 && !this.lightboxPrevDisable) {\r\n this.currentImageIndex--;\r\n this.prevImage.emit(LIGHTBOX_PREV_ARROW_CLICK_MESSAGE);\r\n this.marginLeft = -1 * this.popupWidth * this.currentImageIndex;\r\n this.getImageData();\r\n this.nextPrevDisable();\r\n }\r\n }\r\n\r\n nextImageLightbox() {\r\n this.effectStyle = `all ${this.speed}s ease-in-out`;\r\n if (\r\n this.currentImageIndex < this.images.length - 1 &&\r\n !this.lightboxNextDisable\r\n ) {\r\n this.currentImageIndex++;\r\n this.nextImage.emit(LIGHTBOX_NEXT_ARROW_CLICK_MESSAGE);\r\n this.marginLeft = -1 * this.popupWidth * this.currentImageIndex;\r\n this.getImageData();\r\n this.nextPrevDisable();\r\n }\r\n }\r\n\r\n nextPrevDisable() {\r\n this.lightboxNextDisable = true;\r\n this.lightboxPrevDisable = true;\r\n setTimeout(() => {\r\n this.applyButtonDisableCondition();\r\n }, this.speed * 1000);\r\n }\r\n\r\n applyButtonDisableCondition() {\r\n this.lightboxNextDisable = false;\r\n this.lightboxPrevDisable = false;\r\n if (!this.infinite && this.currentImageIndex >= this.images.length - 1) {\r\n this.lightboxNextDisable = true;\r\n }\r\n if (!this.infinite && this.currentImageIndex <= 0) {\r\n this.lightboxPrevDisable = true;\r\n }\r\n }\r\n\r\n getImageData() {\r\n if (\r\n this.images &&\r\n this.images.length &&\r\n typeof this.currentImageIndex === 'number' &&\r\n this.currentImageIndex !== undefined &&\r\n this.images[this.currentImageIndex] &&\r\n (this.images[this.currentImageIndex]['image'] ||\r\n this.images[this.currentImageIndex]['video'])\r\n ) {\r\n this.title = this.images[this.currentImageIndex]['title'] || '';\r\n this.totalImages = this.images.length;\r\n for (const iframeI in this.document.getElementsByTagName('iframe')) {\r\n if (\r\n this.document.getElementsByTagName('iframe')[iframeI] &&\r\n this.document.getElementsByTagName('iframe')[iframeI].contentWindow &&\r\n this.document.getElementsByTagName('iframe')[iframeI].contentWindow\r\n .postMessage\r\n ) {\r\n this.document\r\n .getElementsByTagName('iframe')\r\n [iframeI].contentWindow.postMessage(\r\n '{\"event\":\"command\",\"func\":\"pauseVideo\",\"args\":\"\"}',\r\n '*'\r\n );\r\n }\r\n }\r\n for (const videoI in this.document.getElementsByTagName('video')) {\r\n if (\r\n this.document.getElementsByTagName('video')[videoI] &&\r\n this.document.getElementsByTagName('video')[videoI].pause\r\n ) {\r\n this.document.getElementsByTagName('video')[videoI].pause();\r\n }\r\n }\r\n }\r\n }\r\n\r\n resetState() {\r\n this.images = [];\r\n }\r\n\r\n swipeLightboxImg(e: TouchEvent, when: string): void {\r\n const coord: [number, number] = [\r\n e.changedTouches[0].pageX,\r\n e.changedTouches[0].pageY,\r\n ];\r\n const time = new Date().getTime();\r\n\r\n if (when === 'start') {\r\n this.swipeLightboxImgCoord = coord;\r\n this.swipeLightboxImgTime = time;\r\n } else if (\r\n when === 'end' &&\r\n this.swipeLightboxImgCoord &&\r\n this.swipeLightboxImgTime\r\n ) {\r\n const direction = [\r\n coord[0] - this.swipeLightboxImgCoord[0],\r\n coord[1] - this.swipeLightboxImgCoord[1],\r\n ];\r\n const duration = time - this.swipeLightboxImgTime;\r\n\r\n if (\r\n duration < 1000 && //\r\n Math.abs(direction[0]) > 30 && // Long enough\r\n Math.abs(direction[0]) > Math.abs(direction[1] * 3)\r\n ) {\r\n // Horizontal enough\r\n if (direction[0] < 0) {\r\n this.nextImageLightbox();\r\n } else {\r\n this.prevImageLightbox();\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","@if (imageFullscreenView) {\r\n <div class=\"ng-image-fullscreen-view\">\r\n <div class=\"lightbox-wrapper\">\r\n <a class=\"close\" (click)=\"closeLightbox()\"></a>\r\n <div class=\"lightbox-div\" #lightboxDiv>\r\n @if (showLoading) {\r\n <div class=\"pre-loader\">\r\n <div class=\"mnml-spinner\"></div>\r\n </div>\r\n }\r\n <div class=\"lightbox-image-main\"\r\n [ngStyle]=\"{'margin-left': marginLeft + 'px', 'grid-template-columns': 'repeat('+images.length+',1fr)', 'transition': effectStyle}\">\r\n @for (img of images; track img; let i = $index) {\r\n <div class=\"lightbox-image\" [ngStyle]=\"{'width': popupWidth + 'px'}\"\r\n [attr.id]=\"'ng-lightbox-image-' + i\" (touchstart)=\"swipeLightboxImg($event, 'start')\"\r\n (touchend)=\"swipeLightboxImg($event, 'end')\" #lightboxImageDiv>\r\n <div class=\"close-outside\" (click)=\"!img?.video && closeLightbox()\"></div>\r\n <custom-img [imageUrl]=\"img?.image || img?.video\" [isVideo]=\"!!(img?.posterImage || img?.video)\"\r\n [currentImageIndex]=\"currentImageIndex\" [imageIndex]=\"i\" [speed]=\"speed\"\r\n [videoAutoPlay]=\"videoAutoPlay && i == currentImageIndex\" [showVideoControls]=\"showVideoControls ? 1 : 0\"\r\n [alt]=\"img?.alt || img?.title || ''\" [title]=\"img?.title || img?.alt || ''\" [showVideo]=\"true\"\r\n [direction]=\"direction\">\r\n </custom-img>\r\n </div>\r\n }\r\n </div>\r\n <div [dir]=\"direction\" [ngClass]=\"{'show': title, 'hide': !title}\" class=\"caption\">{{ title }}</div>\r\n @if (images.length > 1) {\r\n <a [ngClass]=\"{'disable': lightboxPrevDisable}\" class=\"prev icons prev-icon\"\r\n (click)=\"prevImageLightbox()\">‹</a>\r\n }\r\n @if (images.length > 1) {\r\n <a [ngClass]=\"{'disable': lightboxNextDisable}\" class=\"next icons next-icon\"\r\n (click)=\"nextImageLightbox()\">›</a>\r\n }\r\n </div>\r\n </div>\r\n @if (paginationShow) {\r\n <div class=\"popup-pagination\">{{currentImageIndex + 1}} of {{totalImages}}</div>\r\n }\r\n </div>\r\n}","import {\n ChangeDetectorRef,\n Component,\n OnInit,\n OnChanges,\n DoCheck,\n SimpleChanges,\n SimpleChange,\n AfterViewInit,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ViewChild,\n HostListener,\n PLATFORM_ID,\n Inject,\n ElementRef,\n ChangeDetectionStrategy\n} from '@angular/core';\r\n\r\nimport { CommonModule, isPlatformBrowser, isPlatformServer } from '@angular/common';\r\nimport { RmImageSliderService } from './rm-image-slider.service';\r\nimport { SliderLightboxComponent } from './slider-lightbox/slider-lightbox.component';\r\nimport { SliderCustomImageComponent } from './slider-custom-image/slider-custom-image.component';\r\nimport { ImageObject } from './interface';\r\n\r\nconst NEXT_ARROW_CLICK_MESSAGE = 'next',\r\n PREV_ARROW_CLICK_MESSAGE = 'previous';\r\n\r\n@Component({\r\n selector: 'rm-image-slider',\r\n imports: [CommonModule, SliderLightboxComponent, SliderCustomImageComponent],\r\n templateUrl: './rm-image-slider.component.html',\r\n styleUrls: ['./rm-image-slider.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.Eager,\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RmImageSliderComponent\r\n implements OnChanges, OnInit, DoCheck, AfterViewInit, OnDestroy\r\n{\r\n // for slider\r\n sliderMainDivWidth: number = 0;\r\n imageParentDivWidth: number = 0;\r\n imageObj: Array<ImageObject> = [];\r\n ligthboxImageObj: Array<ImageObject> = [];\r\n totalImages: number = 0;\r\n leftPos: number = 0;\r\n effectStyle: string = 'all 1s ease-in-out';\r\n speed: number = 1; // default speed in second\r\n sliderPrevDisable: boolean = false;\r\n sliderNextDisable: boolean = false;\r\n slideImageCount: number = 1;\r\n sliderImageWidth: number = 205;\r\n sliderImageReceivedWidth: number | string = 205;\r\n sliderImageHeight: number = 200;\r\n sliderImageReceivedHeight: number | string = 205;\r\n sliderImageSizeWithPadding = 211;\r\n autoSlideCount: number = 0;\r\n stopSlideOnHover: boolean = true;\r\n autoSlideInterval: any;\r\n showArrowButton: boolean = true;\r\n textDirection: string = 'ltr';\r\n imageMargin: number = 3;\r\n sliderOrderType: string = 'ASC';\r\n\r\n // for swipe event\r\n private swipeCoord?: [number, number];\r\n private swipeTime?: number;\r\n\r\n // for lightbox\r\n ligthboxShow: boolean = false;\r\n activeImageIndex: number = -1;\r\n visiableImageIndex: number = 0;\r\n\r\n @ViewChild('sliderMain', { static: false }) sliderMain: any;\r\n @ViewChild('imageDiv', { static: false }) imageDiv: any;\r\n\r\n // @inputs\r\n @Input()\r\n set imageSize(data: any) {\r\n if (data && typeof data === 'object') {\r\n if (\r\n data.hasOwnProperty('space') &&\r\n typeof data['space'] === 'number' &&\r\n data['space'] > -1\r\n ) {\r\n this.imageMargin = data['space'];\r\n }\r\n if (\r\n data.hasOwnProperty('width') &&\r\n (typeof data['width'] === 'number' || typeof data['width'] === 'string')\r\n ) {\r\n this.sliderImageReceivedWidth = data['width'];\r\n // this.sliderImageSizeWithPadding = data['width'] + (this.imageMargin * 2); // addeing padding with image width\r\n }\r\n if (\r\n data.hasOwnProperty('height') &&\r\n (typeof data['height'] === 'number' ||\r\n typeof data['height'] === 'string')\r\n ) {\r\n this.sliderImageReceivedHeight = data['height'];\r\n }\r\n }\r\n }\r\n @Input() infinite: boolean = false;\r\n @Input() imagePopup: boolean = true;\r\n @Input()\r\n set direction(dir: string) {\r\n if (dir) {\r\n this.textDirection = dir;\r\n }\r\n }\r\n @Input()\r\n set animationSpeed(data: number) {\r\n if (data && typeof data === 'number' && data >= 0.1 && data <= 5) {\r\n this.speed = data;\r\n this.effectStyle = `all ${this.speed}s ease-in-out`;\r\n }\r\n }\r\n @Input() images: Array<object> = [];\r\n @Input() set slideImage(count: any) {\r\n if (count && typeof count === 'number') {\r\n this.slideImageCount = Math.round(count);\r\n }\r\n }\r\n @Input() set autoSlide(count: any) {\r\n if (\r\n count &&\r\n (typeof count === 'number' ||\r\n typeof count === 'boolean' ||\r\n typeof count === 'object')\r\n ) {\r\n if (typeof count === 'number' && count >= 1 && count <= 5) {\r\n count = Math.round(count);\r\n } else if (typeof count === 'boolean') {\r\n count = 1;\r\n } else if (\r\n typeof count === 'object' &&\r\n count.hasOwnProperty('interval') &&\r\n Math.round(count['interval']) &&\r\n Math.round(count['interval']) >= 1 &&\r\n Math.round(count['interval']) <= 5\r\n ) {\r\n this.stopSlideOnHover = count.hasOwnProperty('stopOnHover')\r\n ? count['stopOnHover']\r\n : true;\r\n count = Math.round(count['interval']);\r\n }\r\n this.autoSlideCount = count * 1000;\r\n }\r\n }\r\n @Input() set showArrow(flag: any) {\r\n if (flag !== undefined && typeof flag === 'boolean') {\r\n this.showArrowButton = flag;\r\n }\r\n }\r\n\r\n @Input() set orderType(data: string) {\r\n if (data !== undefined && typeof data === 'string') {\r\n this.sliderOrderType = data.toUpperCase();\r\n }\r\n }\r\n @Input() videoAutoPlay: boolean = false;\r\n @Input() paginationShow: boolean = false;\r\n @Input() arrowKeyMove: boolean = true;\r\n @Input() manageImageRatio: boolean = false;\r\n @Input() showVideoControls: boolean = true;\r\n @Input() set defaultActiveImage(activeIndex: number) {\r\n if (typeof activeIndex === 'number' && activeIndex > -1) {\r\n this.activeImageIndex = activeIndex;\r\n }\r\n }\r\n @Input() lazyLoading: boolean = false;\r\n\r\n // @Outputs\r\n @Output() imageClick = new EventEmitter<number>();\r\n @Output() arrowClick = new EventEmitter<object>();\r\n @Output() lightboxArrowClick = new EventEmitter<object>();\r\n @Output() lightboxClose = new EventEmitter<object>();\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.setSliderWidth();\r\n }\r\n @HostListener('document:keyup', ['$event'])\r\n handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event && event.key) {\r\n if (\r\n event.key.toLowerCase() === 'arrowright' &&\r\n !this.ligthboxShow &&\r\n this.arrowKeyMove\r\n ) {\r\n this.next();\r\n }\r\n\r\n if (\r\n event.key.toLowerCase() === 'arrowleft' &&\r\n !this.ligthboxShow &&\r\n this.arrowKeyMove\r\n ) {\r\n this.prev();\r\n }\r\n\r\n if (event.key.toLowerCase() === 'escape' && this.ligthboxShow) {\r\n this.close();\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n private cdRef: ChangeDetectorRef,\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n public imageSliderService: RmImageSliderService,\r\n private elRef: ElementRef // @Inject(ElementRef) private _elementRef: ElementRef\r\n ) {}\r\n\r\n ngOnInit() {\r\n // @TODO: for future use\r\n // console.log(this._elementRef)\r\n\r\n // for slider\r\n if (this.infinite) {\r\n this.effectStyle = 'none';\r\n this.leftPos =\r\n -1 * this.sliderImageSizeWithPadding * this.slideImageCount;\r\n for (let i = 1; i <= this.slideImageCount; i++) {\r\n this.imageObj.unshift(this.imageObj[this.imageObj.length - i]);\r\n }\r\n }\r\n }\r\n\r\n // for slider\r\n ngAfterViewInit() {\r\n this.setSliderWidth();\r\n this.cdRef.detectChanges();\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.imageAutoSlide();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.autoSlideInterval) {\r\n clearInterval(this.autoSlideInterval);\r\n }\r\n if (this.ligthboxShow === true) {\r\n this.close();\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (\r\n changes['images'] &&\r\n changes['images'].hasOwnProperty('previousValue') &&\r\n changes['images'].hasOwnProperty('currentValue') &&\r\n changes['images'].previousValue != changes['images'].currentValue\r\n ) {\r\n this.setSliderImages(changes['images'].currentValue);\r\n }\r\n if (changes && changes['imageSize']) {\r\n const size: SimpleChange = changes['imageSize'];\r\n if (\r\n size &&\r\n size.previousValue &&\r\n size.currentValue &&\r\n size.previousValue.width &&\r\n size.previousValue.height &&\r\n size.currentValue.width &&\r\n size.currentValue.height &&\r\n (size.previousValue.width !== size.currentValue.width ||\r\n size.previousValue.height !== size.currentValue.height)\r\n ) {\r\n this.setSliderWidth();\r\n }\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n if (\r\n this.images &&\r\n this.ligthboxImageObj &&\r\n this.images.length !== this.ligthboxImageObj.length\r\n ) {\r\n this.setSliderImages(this.images);\r\n }\r\n }\r\n\r\n setSliderImages(imgObj: any) {\r\n if (imgObj && imgObj instanceof Array && imgObj.length) {\r\n // const sliderOrderEnable = imgObj.find((img: any) => {\r\n // if (img.hasOwnProperty('order')) {\r\n // return true;\r\n // }\r\n // });\r\n const sliderOrderEnable =\r\n imgObj.find((img: any) => {\r\n return img.order !== undefined;\r\n }) !== undefined;\r\n\r\n if (sliderOrderEnable) {\r\n imgObj = this.imageSliderService.orderArray(\r\n imgObj as [],\r\n this.sliderOrderType.toUpperCase()\r\n );\r\n }\r\n\r\n this.imageObj = imgObj.map((img: any, index: any) => {\r\n img['index'] = index;\r\n return img;\r\n });\r\n this.ligthboxImageObj = [...this.imageObj];\r\n this.totalImages = this.imageObj.length;\r\n // this.imageParentDivWidth = imgObj.length * this.sliderImageSizeWithPadding;\r\n } else {\r\n this.imageObj = [];\r\n this.ligthboxImageObj = [];\r\n this.totalImages = 0;\r\n this.imageParentDivWidth = 0;\r\n this.activeImageIndex = 0;\r\n }\r\n\r\n this.setSliderWidth();\r\n }\r\n\r\n setSliderWidth() {\r\n if (\r\n this.sliderMain &&\r\n this.sliderMain.nativeElement &&\r\n this.sliderMain.nativeElement.offsetWidth\r\n ) {\r\n this.sliderMainDivWidth = this.sliderMain.nativeElement.offsetWidth;\r\n }\r\n\r\n if (this.sliderMainDivWidth && this.sliderImageReceivedWidth) {\r\n if (typeof this.sliderImageReceivedWidth === 'number') {\r\n this.sliderImageWidth = this.sliderImageReceivedWidth;\r\n } else if (typeof this.sliderImageReceivedWidth === 'string') {\r\n if (this.sliderImageReceivedWidth.indexOf('px') >= 0) {\r\n this.sliderImageWidth = parseFloat(this.sliderImageReceivedWidth);\r\n } else if (this.sliderImageReceivedWidth.indexOf('%') >= 0) {\r\n this.sliderImageWidth = +(\r\n (this.sliderMainDivWidth *\r\n parseFloat(this.sliderImageReceivedWidth)) /\r\n 100\r\n ).toFixed(2);\r\n } else if (parseFloat(this.sliderImageReceivedWidth)) {\r\n this.sliderImageWidth = parseFloat(this.sliderImageReceivedWidth);\r\n }\r\n }\r\n }\r\n if (isPlatformBrowser(this.platformId)) {\r\n if (window && window.innerHeight && this.sliderImageReceivedHeight) {\r\n if (typeof this.sliderImageReceivedHeight === 'number') {\r\n this.sliderImageHeight = this.sliderImageReceivedHeight;\r\n } else if (typeof this.sliderImageReceivedHeight === 'string') {\r\n if (this.sliderImageReceivedHeight.indexOf('px') >= 0) {\r\n this.sliderImageHeight = parseFloat(this.sliderImageReceivedHeight);\r\n } else if (this.sliderImageReceivedHeight.indexOf('%') >= 0) {\r\n this.sliderImageHeight = +(\r\n (window.innerHeight *\r\n parseFloat(this.sliderImageReceivedHeight)) /\r\n 100\r\n ).toFixed(2);\r\n } else if (parseFloat(this.sliderImageReceivedHeight)) {\r\n this.sliderImageHeight = parseFloat(this.sliderImageReceivedHeight);\r\n }\r\n }\r\n }\r\n }\r\n this.sliderImageSizeWithPadding =\r\n this.sliderImageWidth + this.imageMargin * 2;\r\n this.imageParentDivWidth =\r\n this.imageObj.length * this.sliderImageSizeWithPadding;\r\n if (\r\n this.imageDiv &&\r\n this.imageDiv.nativeElement &&\r\n this.imageDiv.nativeElement.offsetWidth\r\n ) {\r\n const staticLeftPos =\r\n 0 -\r\n (this.sliderImageSizeWithPadding * this.visiableImageIndex +\r\n this.imageMargin * 2);\r\n this.leftPos = this.infinite\r\n ? -1 * this.sliderImageSizeWithPadding * this.slideImageCount\r\n : staticLeftPos;\r\n }\r\n this.nextPrevSliderButtonDisable();\r\n }\r\n\r\n imageOnClick(index: number) {\r\n this.activeImageIndex = index;\r\n if (this.imagePopup) {\r\n this.showLightbox();\r\n }\r\n this.imageClick.emit(index);\r\n }\r\n\r\n imageAutoSlide() {\r\n if (this.infinite && this.autoSlideCount && !this.ligthboxShow) {\r\n this.autoSlideInterval = setInterval(() => {\r\n this.next();\r\n }, this.autoSlideCount);\r\n }\r\n }\r\n\r\n imageMouseEnterHandler() {\r\n if (this.infinite && this.autoSlideCount && this.autoSlideInterval) {\r\n clearInterval(this.autoSlideInterval);\r\n }\r\n }\r\n\r\n prev() {\r\n if (!this.sliderPrevDisable) {\r\n if (this.infinite) {\r\n this.infinitePrevImg();\r\n } else {\r\n this.prevImg();\r\n }\r\n\r\n //this.arrowClick.emit(PREV_ARROW_CLICK_MESSAGE);\r\n this.sliderArrowDisableTeam(PREV_ARROW_CLICK_MESSAGE);\r\n this.getVisiableIndex();\r\n }\r\n }\r\n\r\n next() {\r\n if (!this.sliderNextDisable) {\r\n if (this.infinite) {\r\n this.infiniteNextImg();\r\n } else {\r\n this.nextImg();\r\n }\r\n\r\n //this.arrowClick.emit(NEXT_ARROW_CLICK_MESSAGE);\r\n this.sliderArrowDisableTeam(NEXT_ARROW_CLICK_MESSAGE);\r\n this.getVisiableIndex();\r\n }\r\n }\r\n\r\n prevImg() {\r\n if (\r\n 0 >=\r\n this.leftPos + this.sliderImageSizeWithPadding * this.slideImageCount\r\n ) {\r\n this.leftPos += this.sliderImageSizeWithPadding * this.slideImageCount;\r\n } else {\r\n this.leftPos = 0;\r\n }\r\n }\r\n\r\n nextImg() {\r\n if (\r\n this.imageParentDivWidth + this.leftPos - this.sliderMainDivWidth >\r\n this.sliderImageSizeWithPadding * this.slideImageCount\r\n ) {\r\n this.leftPos -= this.sliderImageSizeWithPadding * this.slideImageCount;\r\n } else if (\r\n this.imageParentDivWidth + this.leftPos - this.sliderMainDivWidth >\r\n 0\r\n ) {\r\n this.leftPos -=\r\n this.imageParentDivWidth + this.leftPos - this.sliderMainDivWidth;\r\n }\r\n }\r\n\r\n infinitePrevImg() {\r\n this.effectStyle = `all ${this.speed}s ease-in-out`;\r\n this.leftPos = 0;\r\n\r\n setTimeout(() => {\r\n this.effectStyle = 'none';\r\n this.leftPos =\r\n -1 * this.sliderImageSizeWithPadding * this.slideImageCount;\r\n for (let i = 0; i < this.slideImageCount; i++) {\r\n this.imageObj.unshift(\r\n this.imageObj[this.imageObj.length - this.slideImageCount - 1]\r\n );\r\n this.imageObj.pop();\r\n }\r\n }, this.speed * 1000);\r\n }\r\n\r\n infiniteNextImg() {\r\n this.effectStyle = `all ${this.speed}s ease-in-out`;\r\n this.leftPos = -2 * this.sliderImageSizeWithPadding * this.slideImageCount;\r\n setTimeout(() => {\r\n this.effectStyle = 'none';\r\n for (let i = 0; i < this.slideImageCount; i++) {\r\n this.imageObj.push(this.imageObj[this.slideImageCount]);\r\n this.imageObj.shift();\r\n }\r\n this.leftPos =\r\n -1 * this.sliderImageSizeWithPadding * this.slideImageCount;\r\n }, this.speed * 1000);\r\n }\r\n\r\n getVisiableIndex() {\r\n const currentIndex = Math.round(\r\n (Math.abs(this.leftPos) + this.sliderImageWidth) / this.sliderImageWidth\r\n );\r\n if (\r\n this.imageObj &&\r\n this.imageObj[currentIndex - 1] &&\r\n this.imageObj[currentIndex - 1]['index']\r\n ) {\r\n this.visiableImageIndex = this.imageObj[currentIndex - 1]['index'] ?? 0;\r\n }\r\n }\r\n\r\n /**\r\n * Disable slider left/right arrow when image moving\r\n */\r\n sliderArrowDisableTeam(msg: string) {\r\n this.sliderNextDisable = true;\r\n this.sliderPrevDisable = true;\r\n setTimeout(() => {\r\n this.nextPrevSliderButtonDisable(msg);\r\n }, this.speed * 1000);\r\n }\r\n\r\n nextPrevSliderButtonDisable(msg?: string) {\r\n this.sliderNextDisable = false;\r\n this.sliderPrevDisable = false;\r\n const actionMsg = {} as any;\r\n if (!this.infinite) {\r\n if (this.imageParentDivWidth + this.leftPos <= this.sliderMainDivWidth) {\r\n this.sliderNextDisable = true;\r\n }\r\n\r\n if (this.leftPos >= 0) {\r\n this.sliderPrevDisable = true;\r\n }\r\n\r\n actionMsg['prevDisable'] = this.sliderPrevDisable;\r\n actionMsg['nextDisable'] = this.sliderNextDisable;\r\n }\r\n\r\n if (msg) {\r\n this.arrowClick.emit({\r\n action: msg,\r\n ...actionMsg,\r\n });\r\n }\r\n }\r\n\r\n // for lightbox\r\n showLightbox() {\r\n if (this.imageObj.length) {\r\n this.imageMouseEnterHandler();\r\n this.ligthboxShow = true;\r\n this.elRef.nativeElement.ownerDocument.body.style.overflow = 'hidden';\r\n }\r\n }\r\n\r\n close() {\r\n this.ligthboxShow = false;\r\n this.elRef.nativeElement.ownerDocument.body.style.overflow = '';\r\n this.lightboxClose.emit();\r\n this.imageAutoSlide();\r\n }\r\n\r\n lightboxArrowClickHandler(event: any) {\r\n this.lightboxArrowClick.emit(event);\r\n }\r\n\r\n swipe(e: TouchEvent, when: string): void {\r\n const coord: [number, number] = [\r\n e.changedTouches[0].pageX,\r\n e.changedTouches[0].pageY,\r\n ];\r\n const time = new Date().getTime();\r\n\r\n if (when === 'start') {\r\n this.swipeCoord = coord;\r\n this.swipeTime = time;\r\n } else if (when === 'end' && this.swipeCoord && this.swipeTime) {\r\n const direction = [\r\n coord[0] - this.swipeCoord[0],\r\n coord[1] - this.swipeCoord[1],\r\n ];\r\n const duration = time - this.swipeTime;\r\n\r\n if (\r\n duration < 1000 && //\r\n Math.abs(direction[0]) > 30 && // Long enough\r\n Math.abs(direction[0]) > Math.abs(direction[1] * 3)\r\n ) {\r\n // Horizontal enough\r\n if (direction[0] < 0) {\r\n this.next();\r\n } else {\r\n this.prev();\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","<div class=\"ng-image-slider\" [ngStyle]=\"{'height':sliderImageHeight+'px'}\">\r\n <div class=\"ng-image-slider-container\">\r\n <div class=\"main\" [ngStyle]=\"{'height':sliderImageHeight+'px'}\" #sliderMain>\r\n @if (imageObj.length) {\r\n <div class=\"main-inner\" [ngClass]=\"{'with-ng-main-pagination': paginationShow}\"\r\n [ngStyle]=\"{'margin-left':leftPos+'px', 'width':imageParentDivWidth+'px', 'transition': effectStyle}\"\r\n (touchstart)=\"swipe($event, 'start')\" (touchend)=\"swipe($event, 'end')\">\r\n @for (img of imageObj; track img; let i = $index) {\r\n <div\r\n [ngClass]=\"{'image-popup': imagePopup, 'selected-image': activeImageIndex == i}\"\r\n [ngStyle]=\"{'width':sliderImageWidth+'px', 'margin-left':imageMargin+'px', 'margin-right':imageMargin+'px'}\"\r\n class=\"img-div\" (click)=\"imageOnClick(img.index)\" (mouseenter)=\"stopSlideOnHover && imageMouseEnterHandler()\"\r\n (mouseleave)=\"stopSlideOnHover && imageAutoSlide()\" #imageDiv>\r\n <custom-img [imageUrl]=\"img?.thumbImage || img?.posterImage || img?.video\"\r\n [isVideo]=\"!!(img?.posterImage || img?.video)\" [alt]=\"img?.alt || img?.title || ''\"\r\n [title]=\"img?.title || img?.alt || ''\" [direction]=\"textDirection\" [ratio]=\"manageImageRatio\"\r\n [lazy]=\"lazyLoading\">\r\n </custom-img>\r\n @if (img?.title) {\r\n <div [dir]=\"textDirection\" class=\"caption\">{{ img?.title }}</div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if (!imageObj.length) {\r\n <div class=\"ng-image-slider-error\">\r\n <span class=\"ng-image-slider-loader\"></span>\r\n </div>\r\n }\r\n @if (showArrowButton && imageObj.length > 1) {\r\n <a [ngClass]=\"{'disable': sliderPrevDisable}\"\r\n class=\"prev icons prev-icon\" (click)=\"prev()\" (mouseenter)=\"stopSlideOnHover && imageMouseEnterHandler()\"\r\n (mouseleave)=\"stopSlideOnHover && imageAutoSlide()\">‹</a>\r\n }\r\n @if (showArrowButton && imageObj.length > 1) {\r\n <a [ngClass]=\"{'disable': sliderNextDisable}\"\r\n class=\"next icons next-icon\" (click)=\"next()\" (mouseenter)=\"imageMouseEnterHandler()\"\r\n (mouseleave)=\"imageAutoSlide()\">›</a>\r\n }\r\n </div>\r\n @if (imageObj.length && paginationShow) {\r\n <div class=\"ng-main-pagination\">{{visiableImageIndex + 1}} of\r\n {{totalImages}}</div>\r\n }\r\n </div>\r\n</div>\r\n@if (ligthboxShow) {\r\n <div>\r\n <slider-lightbox [paginationShow]=\"paginationShow\" [showVideoControls]=\"showVideoControls\"\r\n [arrowKeyMove]=\"arrowKeyMove\" [images]=\"ligthboxImageObj\" [infinite]=\"infinite\" [animationSpeed]=\"speed\"\r\n [imageIndex]=\"activeImageIndex\" [show]=\"ligthboxShow\" [direction]=\"textDirection\" [videoAutoPlay]=\"videoAutoPlay\"\r\n (prevImage)=\"lightboxArrowClickHandler($event)\" (nextImage)=\"lightboxArrowClickHandler($event)\" (close)=\"close()\">\r\n </slider-lightbox>\r\n </div>\r\n}","/*\r\n * Public API Surface of rm-image-slider\r\n */\r\n\r\nexport * from './lib/rm-image-slider.service';\r\nexport * from './lib/rm-image-slider.component';\r\nexport * from './lib/interface';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i1.RmImageSliderService","i2"],"mappings":";;;;;;AAEA,MAAM,IAAI,GAAG,MAAM,EACjB,GAAG,GAAG,KAAK;MAKA,oBAAoB,CAAA;AAC/B,IAAA,WAAA,GAAA,EAAe;AAEf,IAAA,QAAQ,CAAC,GAAW,EAAA;QAClB,IAAI,WAAW,GACb,kEAAkE;AACpE,QAAA,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9B;AAEA,IAAA,mBAAmB,CAAC,GAAW,EAAA;AAC7B,QAAA,OAAO,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpE;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,IAAA,UAAU,CAAC,GAAG,GAAG,EAAE,EAAE,SAAS,GAAG,GAAG,EAAA;AAClC,QAAA,IAAI,GAAG,EAAE,MAAM,IAAI,SAAS,EAAE;YAC5B,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,GAAQ,KAAI;;AAErC,gBAAA,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;AAC3B,gBAAA,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;;gBAG3B,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE;oBAC3C,OAAO,CAAC,CAAC;gBACX;qBAAO,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE;AAClD,oBAAA,OAAO,CAAC,CAAC,CAAC;gBACZ;qBAAO;;oBAEL,OAAO,SAAS,KAAK;AACnB,0BAAE,MAAM,GAAG,MAAM;AACjB,0BAAE,MAAM,GAAG,MAAM,CAAC;gBACtB;AACF,YAAA,CAAC,CAAC;QACJ;QAEA,OAAO,GAAG,CAAC;IACb;8GA5DW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;;2FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACMD,MAAM,aAAa,GACf,sEAAsE,EACxE,mBAAmB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EACnD,oBAAoB,GAAG,CAAC,KAAK,CAAC;MASnB,0BAA0B,CAAA;AAwBrC,IAAA,WAAA,CACS,kBAAwC,EACvC,SAAuB,EACb,QAAkB,EAAA;QAF7B,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QACjB,IAAA,CAAA,SAAS,GAAT,SAAS;QAzBnB,IAAA,CAAA,OAAO,GAAG,SAAS;QACnB,IAAA,CAAA,KAAK,GAAG,OAAO;QACf,IAAA,CAAA,KAAK,GAAG,OAAO;QACf,IAAA,CAAA,OAAO,GAAoB,EAAE;QAC7B,IAAA,CAAA,aAAa,GAAG,EAAE;AAClB,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,KAAK;QACjB,IAAA,CAAA,YAAY,GAAY,IAAI;;QAGnB,IAAA,CAAA,SAAS,GAAY,KAAK;QAC1B,IAAA,CAAA,aAAa,GAAY,KAAK;QAC9B,IAAA,CAAA,iBAAiB,GAAW,CAAC;QAG7B,IAAA,CAAA,KAAK,GAAW,CAAC;QAEjB,IAAA,CAAA,OAAO,GAAG,KAAK;QACf,IAAA,CAAA,GAAG,GAAW,EAAE;QAChB,IAAA,CAAA,KAAK,GAAW,EAAE;QAClB,IAAA,CAAA,SAAS,GAAW,KAAK;QACzB,IAAA,CAAA,KAAK,GAAY,KAAK;QACtB,IAAA,CAAA,IAAI,GAAY,KAAK;IAM3B;AAEH,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IACE,IAAI,CAAC,UAAU,CAAC;AAChB,YAAA,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ;AACpC,aAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW;AACtD,gBAAA,IAAI,CAAC,aAAa,CAAC,EACrB;YACA,IAAI,CAAC,MAAM,EAAE;QACf;IACF;IAEA,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ;AACzB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,GAAG,CAAC;QACjE,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3D,QAAA,IACE,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,CAAC;AAChD,aAAC,mBAAmB,CAAC,OAAO,CAC1B,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAC/D,GAAG,CAAC,CAAC;gBACJ,oBAAoB,CAAC,OAAO,CAC1B,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAC/D,GAAG,CAAC,CAAC,CAAC,EACT;YACA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,CAAC;QACvE;;QAEA,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;QACtC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,EAAE;AACnC,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO;AACxB,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAC1D,GAAG,gCAAgC,CAAA,EAAG,KAAK,CAAC,CAAC,CAAC,CAAA,EAC5C,IAAI,CAAC;AACH,sBAAE;sBACA,2BACN,CAAA,EAAG,YAAY,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,CAAE,CAC3C;YACH;iBAAO;AACL,gBAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK;AACtB,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAC1D,CAAA,2BAAA,EAA8B,KAAK,CAAC,CAAC,CAAC,CAAA,MAAA,CAAQ,CAC/C;YACH;QACF;aAAO,IACL,IAAI,CAAC,aAAa;AAClB,YAAA,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,EAClE;AACA,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK;QACxB;aAAO,IACL,IAAI,CAAC,aAAa;AAClB,YAAA,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,EACnE;AACA,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK;YACtB,IACE,IAAI,CAAC,aAAa;gBAClB,QAAQ,CAAC,cAAc,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,UAAU,CAAA,CAAE,CAAC,EACnD;AACA,gBAAA,MAAM,QAAQ,GAAQ,QAAQ,CAAC,cAAc,CAC3C,CAAA,MAAA,EAAS,IAAI,CAAC,UAAU,CAAA,CAAE,CAC3B;gBACD,UAAU,CAAC,MAAK;oBACd,QAAQ,CAAC,IAAI,EAAE;AACjB,gBAAA,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YACvB;QACF;IACF;AAEA,IAAA,iBAAiB,CAAC,KAAU,EAAA;QAC1B,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AACxD,YAAA,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;AAC3B,gBAAA,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;YACzB;iBAAO;AACL,gBAAA,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE;YAC1B;QACF;IACF;AA3GW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,+EA2B3B,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGA3BP,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,GAAA,EAAA,KAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBvC,qxCAyBC,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDLa,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,CAAA,CAAA;;2FAKb,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAPtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,WACb,CAAC,YAAY,CAAC,EAAA,eAAA,EAEN,uBAAuB,CAAC,KAAK,EAAA,QAAA,EAAA,qxCAAA,EAAA;;0BA8B7C,MAAM;2BAAC,QAAQ;;sBAjBjB;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;;AExBH,MAAM,iCAAiC,GAAG,eAAe,EACvD,iCAAiC,GAAG,mBAAmB;MAS5C,uBAAuB,CAAA;IA0BlC,IACI,UAAU,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AACnE,YAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;QAChC;QACA,IAAI,CAAC,eAAe,EAAE;IACxB;IACA,IACI,IAAI,CAAC,YAAqB,EAAA;AAC5B,QAAA,IAAI,CAAC,mBAAmB,GAAG,YAAY;AACvC,QAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE;AAC/D,QAAA,IAAI,YAAY,KAAK,IAAI,EAAE;AACzB,YAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ;;YAErE,IAAI,CAAC,mBAAmB,EAAE;QAC5B;IACF;IAIA,IACI,cAAc,CAAC,IAAY,EAAA;AAC7B,QAAA,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,EAAE;AAChE,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;QACnB;IACF;AAWA,IAAA,QAAQ,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM;QACzB,IAAI,CAAC,mBAAmB,EAAE;IAC5B;AAEA,IAAA,mBAAmB,CAAC,KAAoB,EAAA;QACtC,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE;YAC3C,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,YAAY,EAAE;gBAC5C,IAAI,CAAC,iBAAiB,EAAE;YAC1B;YAEA,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,WAAW,EAAE;gBAC3C,IAAI,CAAC,iBAAiB,EAAE;YAC1B;YAEA,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE;gBACxC,IAAI,CAAC,aAAa,EAAE;YACtB;QACF;IACF;AAEA,IAAA,WAAA,CACU,KAAwB,EACxB,SAAuB,EACvB,KAAiB,EACC,QAAa,EAAA;QAH/B,IAAA,CAAA,KAAK,GAAL,KAAK;QACL,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,KAAK,GAAL,KAAK;QACa,IAAA,CAAA,QAAQ,GAAR,QAAQ;QApFpC,IAAA,CAAA,WAAW,GAAW,CAAC;QACvB,IAAA,CAAA,cAAc,GAAW,CAAC,CAAC;QAC3B,IAAA,CAAA,UAAU,GAAW,IAAI;QACzB,IAAA,CAAA,UAAU,GAAW,CAAC;QACtB,IAAA,CAAA,mBAAmB,GAAY,KAAK;QACpC,IAAA,CAAA,mBAAmB,GAAY,KAAK;QACpC,IAAA,CAAA,mBAAmB,GAAY,KAAK;QACpC,IAAA,CAAA,WAAW,GAAY,IAAI;QAC3B,IAAA,CAAA,WAAW,GAAW,MAAM;AAC5B,QAAA,IAAA,CAAA,KAAK,GAAW,CAAC,CAAC;QAClB,IAAA,CAAA,KAAK,GAAW,EAAE;QAClB,IAAA,CAAA,iBAAiB,GAAW,CAAC;;QAWpB,IAAA,CAAA,MAAM,GAAuB,EAAE;QAkB/B,IAAA,CAAA,aAAa,GAAY,KAAK;QAC9B,IAAA,CAAA,SAAS,GAAW,KAAK;QACzB,IAAA,CAAA,cAAc,GAAY,KAAK;QAO/B,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,YAAY,GAAY,IAAI;QAC5B,IAAA,CAAA,iBAAiB,GAAY,IAAI;;AAGhC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAO;AAC/B,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAO;AACnC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAO;IA6B1C;AAEH,IAAA,QAAQ,KAAI;AAEZ,IAAA,eAAe,KAAI;IAEnB,WAAW,GAAA;QACT,IAAI,CAAC,UAAU,EAAE;IACnB;IAEA,mBAAmB,GAAA;AACjB,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE;AAC/B,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU;YACnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;AACrC,YAAA,IACE,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ;AAC1C,gBAAA,IAAI,CAAC,iBAAiB,KAAK,SAAS,EACpC;AACA,gBAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB;gBAC/D,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,eAAe,EAAE;gBACtB,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,WAAW,GAAG,KAAK;gBAC1B,CAAC,EAAE,GAAG,CAAC;YACT;QACF;IACF;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;IACnB;IAEA,iBAAiB,GAAA;QACf,IAAI,CAAC,WAAW,GAAG,CAAA,IAAA,EAAO,IAAI,CAAC,KAAK,eAAe;QACnD,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC3D,IAAI,CAAC,iBAAiB,EAAE;AACxB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iCAAiC,CAAC;AACtD,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB;YAC/D,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,eAAe,EAAE;QACxB;IACF;IAEA,iBAAiB,GAAA;QACf,IAAI,CAAC,WAAW,GAAG,CAAA,IAAA,EAAO,IAAI,CAAC,KAAK,eAAe;QACnD,IACE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;AAC/C,YAAA,CAAC,IAAI,CAAC,mBAAmB,EACzB;YACA,IAAI,CAAC,iBAAiB,EAAE;AACxB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iCAAiC,CAAC;AACtD,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB;YAC/D,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,eAAe,EAAE;QACxB;IACF;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;AAC/B,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;QAC/B,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,2BAA2B,EAAE;AACpC,QAAA,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACvB;IAEA,2BAA2B,GAAA;AACzB,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;AAChC,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;AAChC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACtE,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;QACjC;QACA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,EAAE;AACjD,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;QACjC;IACF;IAEA,YAAY,GAAA;QACV,IACE,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,MAAM,CAAC,MAAM;AAClB,YAAA,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ;YAC1C,IAAI,CAAC,iBAAiB,KAAK,SAAS;AACpC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;aAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;AAC3C,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,EAC/C;AACA,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE;YAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;AACrC,YAAA,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE;gBAClE,IACE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;oBACrD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa;oBACnE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;AACnD,yBAAA,WAAW,EACd;AACA,oBAAA,IAAI,CAAC;AACF,yBAAA,oBAAoB,CAAC,QAAQ,CAAC,CAC9B,OAAO,CAAC,CAAC,aAAa,CAAC,WAAW,CACjC,mDAAmD,EACnD,GAAG,CACJ;gBACL;YACF;AACA,YAAA,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE;gBAChE,IACE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AACnD,oBAAA,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EACzD;AACA,oBAAA,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE;gBAC7D;YACF;QACF;IACF;IAEA,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE;IAClB;IAEA,gBAAgB,CAAC,CAAa,EAAE,IAAY,EAAA;AAC1C,QAAA,MAAM,KAAK,GAAqB;AAC9B,YAAA,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK;AACzB,YAAA,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK;SAC1B;QACD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;AAEjC,QAAA,IAAI,IAAI,KAAK,OAAO,EAAE;AACpB,YAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;AAClC,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;QAClC;aAAO,IACL,IAAI,KAAK,KAAK;AACd,YAAA,IAAI,CAAC,qBAAqB;YAC1B,IAAI,CAAC,oBAAoB,EACzB;AACA,YAAA,MAAM,SAAS,GAAG;gBAChB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBACxC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;aACzC;AACD,YAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,oBAAoB;AAEjD,YAAA,IACE,QAAQ,GAAG,IAAI;gBACf,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;gBAC3B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EACnD;;AAEA,gBAAA,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;oBACpB,IAAI,CAAC,iBAAiB,EAAE;gBAC1B;qBAAO;oBACL,IAAI,CAAC,iBAAiB,EAAE;gBAC1B;YACF;QACF;IACF;AAhPW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,yGAuFxB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAvFP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjCpC,qwEAyCC,EAAA,MAAA,EAAA,CAAA,6r+CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDba,YAAY,sNAAE,0BAA0B,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,CAAA,CAAA;;2FAKzC,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;+BACI,iBAAiB,EAAA,OAAA,EAClB,CAAC,YAAY,EAAE,0BAA0B,CAAC,EAAA,eAAA,EAElC,uBAAuB,CAAC,KAAK,EAAA,QAAA,EAAA,qwEAAA,EAAA,MAAA,EAAA,CAAA,6r+CAAA,CAAA,EAAA;;0BA0F7C,MAAM;2BAAC,QAAQ;;sBAnEjB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;sBAC1C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;sBAI/C;;sBACA;;sBAOA;;sBAUA;;sBACA;;sBACA;;sBACA;;sBAMA;;sBACA;;sBACA;;sBAGA;;sBACA;;sBACA;;sBAEA,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;sBAKxC,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;;AEvE5C,MAAM,wBAAwB,GAAG,MAAM,EACrC,wBAAwB,GAAG,UAAU;MAU1B,sBAAsB,CAAA;;IAyCjC,IACI,SAAS,CAAC,IAAS,EAAA;AACrB,QAAA,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACpC,YAAA,IACE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;AAC5B,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ;AACjC,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAClB;AACA,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;YAClC;AACA,YAAA,IACE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;AAC5B,iBAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EACxE;AACA,gBAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC;;YAE/C;AACA,YAAA,IACE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC7B,iBAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ;oBACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,EACrC;AACA,gBAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,QAAQ,CAAC;YACjD;QACF;IACF;IAGA,IACI,SAAS,CAAC,GAAW,EAAA;QACvB,IAAI,GAAG,EAAE;AACP,YAAA,IAAI,CAAC,aAAa,GAAG,GAAG;QAC1B;IACF;IACA,IACI,cAAc,CAAC,IAAY,EAAA;AAC7B,QAAA,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,EAAE;AAChE,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;YACjB,IAAI,CAAC,WAAW,GAAG,CAAA,IAAA,EAAO,IAAI,CAAC,KAAK,eAAe;QACrD;IACF;IAEA,IAAa,UAAU,CAAC,KAAU,EAAA;AAChC,QAAA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACtC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1C;IACF;IACA,IAAa,SAAS,CAAC,KAAU,EAAA;AAC/B,QAAA,IACE,KAAK;aACJ,OAAO,KAAK,KAAK,QAAQ;gBACxB,OAAO,KAAK,KAAK,SAAS;AAC1B,gBAAA,OAAO,KAAK,KAAK,QAAQ,CAAC,EAC5B;AACA,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;AACzD,gBAAA,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAC3B;AAAO,iBAAA,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;gBACrC,KAAK,GAAG,CAAC;YACX;iBAAO,IACL,OAAO,KAAK,KAAK,QAAQ;AACzB,gBAAA,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC;AAChC,gBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAClC;gBACA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,aAAa;AACxD,sBAAE,KAAK,CAAC,aAAa;sBACnB,IAAI;gBACR,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACvC;AACA,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,GAAG,IAAI;QACpC;IACF;IACA,IAAa,SAAS,CAAC,IAAS,EAAA;QAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE;AACnD,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;QAC7B;IACF;IAEA,IAAa,SAAS,CAAC,IAAY,EAAA;QACjC,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAClD,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE;QAC3C;IACF;IAMA,IAAa,kBAAkB,CAAC,WAAmB,EAAA;QACjD,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,GAAG,CAAC,CAAC,EAAE;AACvD,YAAA,IAAI,CAAC,gBAAgB,GAAG,WAAW;QACrC;IACF;AAUA,IAAA,QAAQ,CAAC,KAAU,EAAA;QACjB,IAAI,CAAC,cAAc,EAAE;IACvB;AAEA,IAAA,mBAAmB,CAAC,KAAoB,EAAA;AACtC,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE;AACtB,YAAA,IACE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,YAAY;gBACxC,CAAC,IAAI,CAAC,YAAY;gBAClB,IAAI,CAAC,YAAY,EACjB;gBACA,IAAI,CAAC,IAAI,EAAE;YACb;AAEA,YAAA,IACE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,WAAW;gBACvC,CAAC,IAAI,CAAC,YAAY;gBAClB,IAAI,CAAC,YAAY,EACjB;gBACA,IAAI,CAAC,IAAI,EAAE;YACb;AAEA,YAAA,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE;gBAC7D,IAAI,CAAC,KAAK,EAAE;YACd;QACF;IACF;IAEA,WAAA,CACU,KAAwB,EACH,UAAkB,EACxC,kBAAwC,EACvC,KAAiB;;QAHjB,IAAA,CAAA,KAAK,GAAL,KAAK;QACgB,IAAA,CAAA,UAAU,GAAV,UAAU;QAChC,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QACjB,IAAA,CAAA,KAAK,GAAL,KAAK;;QA5Kf,IAAA,CAAA,kBAAkB,GAAW,CAAC;QAC9B,IAAA,CAAA,mBAAmB,GAAW,CAAC;QAC/B,IAAA,CAAA,QAAQ,GAAuB,EAAE;QACjC,IAAA,CAAA,gBAAgB,GAAuB,EAAE;QACzC,IAAA,CAAA,WAAW,GAAW,CAAC;QACvB,IAAA,CAAA,OAAO,GAAW,CAAC;QACnB,IAAA,CAAA,WAAW,GAAW,oBAAoB;AAC1C,QAAA,IAAA,CAAA,KAAK,GAAW,CAAC,CAAC;QAClB,IAAA,CAAA,iBAAiB,GAAY,KAAK;QAClC,IAAA,CAAA,iBAAiB,GAAY,KAAK;QAClC,IAAA,CAAA,eAAe,GAAW,CAAC;QAC3B,IAAA,CAAA,gBAAgB,GAAW,GAAG;QAC9B,IAAA,CAAA,wBAAwB,GAAoB,GAAG;QAC/C,IAAA,CAAA,iBAAiB,GAAW,GAAG;QAC/B,IAAA,CAAA,yBAAyB,GAAoB,GAAG;QAChD,IAAA,CAAA,0BAA0B,GAAG,GAAG;QAChC,IAAA,CAAA,cAAc,GAAW,CAAC;QAC1B,IAAA,CAAA,gBAAgB,GAAY,IAAI;QAEhC,IAAA,CAAA,eAAe,GAAY,IAAI;QAC/B,IAAA,CAAA,aAAa,GAAW,KAAK;QAC7B,IAAA,CAAA,WAAW,GAAW,CAAC;QACvB,IAAA,CAAA,eAAe,GAAW,KAAK;;QAO/B,IAAA,CAAA,YAAY,GAAY,KAAK;QAC7B,IAAA,CAAA,gBAAgB,GAAW,CAAC,CAAC;QAC7B,IAAA,CAAA,kBAAkB,GAAW,CAAC;QAgCrB,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,UAAU,GAAY,IAAI;QAc1B,IAAA,CAAA,MAAM,GAAkB,EAAE;QA2C1B,IAAA,CAAA,aAAa,GAAY,KAAK;QAC9B,IAAA,CAAA,cAAc,GAAY,KAAK;QAC/B,IAAA,CAAA,YAAY,GAAY,IAAI;QAC5B,IAAA,CAAA,gBAAgB,GAAY,KAAK;QACjC,IAAA,CAAA,iBAAiB,GAAY,IAAI;QAMjC,IAAA,CAAA,WAAW,GAAY,KAAK;;AAG3B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAU;AACvC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAU;AACvC,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAU;AAC/C,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAU;IAoCjD;IAEH,QAAQ,GAAA;;;;AAKN,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM;AACzB,YAAA,IAAI,CAAC,OAAO;gBACV,CAAC,CAAC,GAAG,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,eAAe;AAC7D,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE;AAC9C,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAChE;QACF;IACF;;IAGA,eAAe,GAAA;QACb,IAAI,CAAC,cAAc,EAAE;AACrB,QAAA,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;AAC1B,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,IAAI,CAAC,cAAc,EAAE;QACvB;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,YAAA,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACvC;AACA,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,KAAK,EAAE;QACd;IACF;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IACE,OAAO,CAAC,QAAQ,CAAC;AACjB,YAAA,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC;AACjD,YAAA,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC;AAChD,YAAA,OAAO,CAAC,QAAQ,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,EACjE;YACA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC;QACtD;AACA,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;AACnC,YAAA,MAAM,IAAI,GAAiB,OAAO,CAAC,WAAW,CAAC;AAC/C,YAAA,IACE,IAAI;AACJ,gBAAA,IAAI,CAAC,aAAa;AAClB,gBAAA,IAAI,CAAC,YAAY;gBACjB,IAAI,CAAC,aAAa,CAAC,KAAK;gBACxB,IAAI,CAAC,aAAa,CAAC,MAAM;gBACzB,IAAI,CAAC,YAAY,CAAC,KAAK;gBACvB,IAAI,CAAC,YAAY,CAAC,MAAM;iBACvB,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK;AACnD,oBAAA,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EACzD;gBACA,IAAI,CAAC,cAAc,EAAE;YACvB;QACF;IACF;IAEA,SAAS,GAAA;QACP,IACE,IAAI,CAAC,MAAM;AACX,YAAA,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,gBAAgB,CAAC,MAAM,EACnD;AACA,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;QACnC;IACF;AAEA,IAAA,eAAe,CAAC,MAAW,EAAA;QACzB,IAAI,MAAM,IAAI,MAAM,YAAY,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;;;;;;YAMtD,MAAM,iBAAiB,GACrB,MAAM,CAAC,IAAI,CAAC,CAAC,GAAQ,KAAI;AACvB,gBAAA,OAAO,GAAG,CAAC,KAAK,KAAK,SAAS;YAChC,CAAC,CAAC,KAAK,SAAS;YAElB,IAAI,iBAAiB,EAAE;AACrB,gBAAA,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CACzC,MAAY,EACZ,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CACnC;YACH;AAEA,YAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,KAAU,KAAI;AAClD,gBAAA,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK;AACpB,gBAAA,OAAO,GAAG;AACZ,YAAA,CAAC,CAAC;YACF,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;;QAEzC;aAAO;AACL,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;AAClB,YAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC1B,YAAA,IAAI,CAAC,WAAW,GAAG,CAAC;AACpB,YAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC;AAC5B,YAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC;QAC3B;QAEA,IAAI,CAAC,cAAc,EAAE;IACvB;IAEA,cAAc,GAAA;QACZ,IACE,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,UAAU,CAAC,aAAa;AAC7B,YAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,EACzC;YACA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW;QACrE;QAEA,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,wBAAwB,EAAE;AAC5D,YAAA,IAAI,OAAO,IAAI,CAAC,wBAAwB,KAAK,QAAQ,EAAE;AACrD,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB;YACvD;AAAO,iBAAA,IAAI,OAAO,IAAI,CAAC,wBAAwB,KAAK,QAAQ,EAAE;gBAC5D,IAAI,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACpD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC;gBACnE;qBAAO,IAAI,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC1D,IAAI,CAAC,gBAAgB,GAAG,CAAC,CACvB,CAAC,IAAI,CAAC,kBAAkB;AACtB,wBAAA,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC;AAC3C,wBAAA,GAAG,EACH,OAAO,CAAC,CAAC,CAAC;gBACd;AAAO,qBAAA,IAAI,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE;oBACpD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC;gBACnE;YACF;QACF;AACA,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,yBAAyB,EAAE;AAClE,gBAAA,IAAI,OAAO,IAAI,CAAC,yBAAyB,KAAK,QAAQ,EAAE;AACtD,oBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,yBAAyB;gBACzD;AAAO,qBAAA,IAAI,OAAO,IAAI,CAAC,yBAAyB,KAAK,QAAQ,EAAE;oBAC7D,IAAI,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBACrD,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC;oBACrE;yBAAO,IAAI,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC3D,IAAI,CAAC,iBAAiB,GAAG,CAAC,CACxB,CAAC,MAAM,CAAC,WAAW;AACjB,4BAAA,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC;AAC5C,4BAAA,GAAG,EACH,OAAO,CAAC,CAAC,CAAC;oBACd;AAAO,yBAAA,IAAI,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE;wBACrD,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC;oBACrE;gBACF;YACF;QACF;AACA,QAAA,IAAI,CAAC,0BAA0B;YAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC;AAC9C,QAAA,IAAI,CAAC,mBAAmB;YACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,0BAA0B;QACxD,IACE,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,QAAQ,CAAC,aAAa;AAC3B,YAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,EACvC;YACA,MAAM,aAAa,GACjB,CAAC;AACD,iBAAC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,kBAAkB;AACxD,oBAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;AACzB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;kBAChB,CAAC,CAAC,GAAG,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;kBAC5C,aAAa;QACnB;QACA,IAAI,CAAC,2BAA2B,EAAE;IACpC;AAEA,IAAA,YAAY,CAAC,KAAa,EAAA;AACxB,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;AAC7B,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,YAAY,EAAE;QACrB;AACA,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7B;IAEA,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AAC9D,YAAA,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,MAAK;gBACxC,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC;QACzB;IACF;IAEA,sBAAsB,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAClE,YAAA,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACvC;IACF;IAEA,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AAC3B,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,eAAe,EAAE;YACxB;iBAAO;gBACL,IAAI,CAAC,OAAO,EAAE;YAChB;;AAGA,YAAA,IAAI,CAAC,sBAAsB,CAAC,wBAAwB,CAAC;YACrD,IAAI,CAAC,gBAAgB,EAAE;QACzB;IACF;IAEA,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AAC3B,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,eAAe,EAAE;YACxB;iBAAO;gBACL,IAAI,CAAC,OAAO,EAAE;YAChB;;AAGA,YAAA,IAAI,CAAC,sBAAsB,CAAC,wBAAwB,CAAC;YACrD,IAAI,CAAC,gBAAgB,EAAE;QACzB;IACF;IAEA,OAAO,GAAA;AACL,QAAA,IACE,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,eAAe,EACrE;YACA,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,eAAe;QACxE;aAAO;AACL,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC;QAClB;IACF;IAEA,OAAO,GAAA;QACL,IACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB;AACjE,YAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,eAAe,EACtD;YACA,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,eAAe;QACxE;aAAO,IACL,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB;AACjE,YAAA,CAAC,EACD;AACA,YAAA,IAAI,CAAC,OAAO;gBACV,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB;QACrE;IACF;IAEA,eAAe,GAAA;QACb,IAAI,CAAC,WAAW,GAAG,CAAA,IAAA,EAAO,IAAI,CAAC,KAAK,eAAe;AACnD,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC;QAEhB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM;AACzB,YAAA,IAAI,CAAC,OAAO;gBACV,CAAC,CAAC,GAAG,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,eAAe;AAC7D,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE;gBAC7C,IAAI,CAAC,QAAQ,CAAC,OAAO,CACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAC/D;AACD,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACrB;AACF,QAAA,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACvB;IAEA,eAAe,GAAA;QACb,IAAI,CAAC,WAAW,GAAG,CAAA,IAAA,EAAO,IAAI,CAAC,KAAK,eAAe;AACnD,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,eAAe;QAC1E,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM;AACzB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE;AAC7C,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACvD,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;YACvB;AACA,YAAA,IAAI,CAAC,OAAO;gBACV,CAAC,CAAC,GAAG,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,eAAe;AAC/D,QAAA,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACvB;IAEA,gBAAgB,GAAA;QACd,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAC7B,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CACzE;QACD,IACE,IAAI,CAAC,QAAQ;AACb,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EACxC;AACA,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACzE;IACF;AAEA;;AAEG;AACH,IAAA,sBAAsB,CAAC,GAAW,EAAA;AAChC,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;AAC7B,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;QAC7B,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC;AACvC,QAAA,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACvB;AAEA,IAAA,2BAA2B,CAAC,GAAY,EAAA;AACtC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;AAC9B,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;QAC9B,MAAM,SAAS,GAAG,EAAS;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACtE,gBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;YAC/B;AAEA,YAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE;AACrB,gBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;YAC/B;AAEA,YAAA,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,iBAAiB;AACjD,YAAA,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,iBAAiB;QACnD;QAEA,IAAI,GAAG,EAAE;AACP,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AACnB,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,GAAG,SAAS;AACb,aAAA,CAAC;QACJ;IACF;;IAGA,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACxB,IAAI,CAAC,sBAAsB,EAAE;AAC7B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,YAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ;QACvE;IACF;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;AACzB,QAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE;AAC/D,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;QACzB,IAAI,CAAC,cAAc,EAAE;IACvB;AAEA,IAAA,yBAAyB,CAAC,KAAU,EAAA;AAClC,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;IACrC;IAEA,KAAK,CAAC,CAAa,EAAE,IAAY,EAAA;AAC/B,QAAA,MAAM,KAAK,GAAqB;AAC9B,YAAA,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK;AACzB,YAAA,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK;SAC1B;QACD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;AAEjC,QAAA,IAAI,IAAI,KAAK,OAAO,EAAE;AACpB,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACvB;AAAO,aAAA,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE;AAC9D,YAAA,MAAM,SAAS,GAAG;gBAChB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC7B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;aAC9B;AACD,YAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS;AAEtC,YAAA,IACE,QAAQ,GAAG,IAAI;gBACf,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;gBAC3B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EACnD;;AAEA,gBAAA,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;oBACpB,IAAI,CAAC,IAAI,EAAE;gBACb;qBAAO;oBACL,IAAI,CAAC,IAAI,EAAE;gBACb;YACF;QACF;IACF;AA7iBW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,mDA8KvB,WAAW,EAAA,EAAA,EAAA,KAAA,EAAAC,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA9KV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,ihCCvCnC,kqGAuDC,EAAA,MAAA,EAAA,CAAA,ss+CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDtBa,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,uQAAE,0BAA0B,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAMlE,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,OAAA,EAClB,CAAC,YAAY,EAAE,uBAAuB,EAAE,0BAA0B,CAAC,EAAA,eAAA,EAG3D,uBAAuB,CAAC,KAAK,EAAA,aAAA,EAC/B,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,kqGAAA,EAAA,MAAA,EAAA,CAAA,ss+CAAA,CAAA,EAAA;;0BAgLpC,MAAM;2BAAC,WAAW;;sBAzIpB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;sBACzC,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;sBAGvC;;sBA0BA;;sBACA;;sBACA;;sBAMA;;sBAOA;;sBACA;;sBAKA;;sBA0BA;;sBAMA;;sBAKA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAKA;;sBAGA;;sBACA;;sBACA;;sBACA;;sBAEA,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;sBAIxC,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;;AE1L5C;;AAEG;;ACFH;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,52 +1,141 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "rm-image-slider",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Angular
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"keywords": [
|
|
7
|
-
"Angular",
|
|
8
|
-
"Angular image slider",
|
|
9
|
-
"Angular video slider",
|
|
10
|
-
"Angular Carousel",
|
|
11
|
-
"responsive slider",
|
|
12
|
-
"slideshow",
|
|
13
|
-
"carousel",
|
|
14
|
-
"slider",
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "rm-image-slider",
|
|
3
|
+
"version": "22.0.0",
|
|
4
|
+
"description": "Angular image slider and carousel component with lightbox popup, video support (YouTube MP4), touch gestures, lazy loading, responsive design, and accessibility (WCAG). Lightweight, standalone, tree-shakable Angular library.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"Angular",
|
|
8
|
+
"Angular image slider",
|
|
9
|
+
"Angular video slider",
|
|
10
|
+
"Angular Carousel",
|
|
11
|
+
"responsive slider",
|
|
12
|
+
"slideshow",
|
|
13
|
+
"carousel",
|
|
14
|
+
"slider",
|
|
15
|
+
"lightbox",
|
|
16
|
+
"image gallery",
|
|
17
|
+
"image carousel",
|
|
18
|
+
"video gallery",
|
|
19
|
+
"youtube video",
|
|
20
|
+
"mp4 video",
|
|
21
|
+
"base64 image",
|
|
22
|
+
"touch gestures",
|
|
23
|
+
"swipe",
|
|
24
|
+
"mobile slider",
|
|
25
|
+
"lazy loading",
|
|
26
|
+
"AOT compatible",
|
|
27
|
+
"SSR compatible",
|
|
28
|
+
"standalone component",
|
|
29
|
+
"Ivy compatible",
|
|
30
|
+
"accessibility",
|
|
31
|
+
"a11y",
|
|
32
|
+
"keyboard navigation",
|
|
33
|
+
"WCAG",
|
|
34
|
+
"auto slide",
|
|
35
|
+
"infinite scroll",
|
|
36
|
+
"responsive images",
|
|
37
|
+
"mobile responsive",
|
|
38
|
+
"touch support",
|
|
39
|
+
"gallery lightbox",
|
|
40
|
+
"image popup",
|
|
41
|
+
"video popup",
|
|
42
|
+
"ng-lightbox",
|
|
43
|
+
"angular lightbox",
|
|
44
|
+
"carousel component",
|
|
45
|
+
"slider component",
|
|
46
|
+
"angular component",
|
|
47
|
+
"ng-carousel",
|
|
48
|
+
"image viewer",
|
|
49
|
+
"media slider",
|
|
50
|
+
"media gallery",
|
|
51
|
+
"angular library",
|
|
52
|
+
"typescript",
|
|
53
|
+
"tree-shakable",
|
|
54
|
+
"no dependencies",
|
|
55
|
+
"lightweight",
|
|
56
|
+
"performance",
|
|
57
|
+
"optimized"
|
|
58
|
+
],
|
|
59
|
+
"author": {
|
|
60
|
+
"name": "Rajat Malik",
|
|
61
|
+
"email": "mr.rajatmalik@gmail.com",
|
|
62
|
+
"url": "https://www.rajatmalik.dev/"
|
|
63
|
+
},
|
|
64
|
+
"contributors": [
|
|
65
|
+
{
|
|
66
|
+
"name": "Rajat Malik",
|
|
67
|
+
"email": "mr.rajatmalik@gmail.com"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"maintainers": [
|
|
71
|
+
{
|
|
72
|
+
"name": "Rajat Malik",
|
|
73
|
+
"email": "mr.rajatmalik@gmail.com"
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"homepage": "https://github.com/malikrajat/rm-image-slider#readme",
|
|
77
|
+
"repository": {
|
|
78
|
+
"type": "git",
|
|
79
|
+
"url": "git+https://github.com/malikrajat/rm-image-slider.git"
|
|
80
|
+
},
|
|
81
|
+
"bugs": {
|
|
82
|
+
"url": "https://github.com/malikrajat/rm-image-slider/issues",
|
|
83
|
+
"email": "mr.rajatmalik@gmail.com"
|
|
84
|
+
},
|
|
85
|
+
"peerDependencies": {
|
|
86
|
+
"@angular/core": "^20.0.0 || ^26.0.0",
|
|
87
|
+
"@angular/common": "^20.0.0 || ^26.0.0"
|
|
88
|
+
},
|
|
89
|
+
"engines": {
|
|
90
|
+
"node": ">=16.0.0",
|
|
91
|
+
"npm": ">=8.0.0"
|
|
92
|
+
},
|
|
93
|
+
"dependencies": {
|
|
94
|
+
"tslib": "^2.6.0"
|
|
95
|
+
},
|
|
96
|
+
"sideEffects": false,
|
|
97
|
+
"publishConfig": {
|
|
98
|
+
"access": "public",
|
|
99
|
+
"registry": "https://registry.npmjs.org/"
|
|
100
|
+
},
|
|
101
|
+
"funding": {
|
|
102
|
+
"type": "individual",
|
|
103
|
+
"url": "https://github.com/sponsors/malikrajat"
|
|
104
|
+
},
|
|
105
|
+
"os": [
|
|
106
|
+
"darwin",
|
|
107
|
+
"linux",
|
|
108
|
+
"win32"
|
|
109
|
+
],
|
|
110
|
+
"cpu": [
|
|
111
|
+
"x64",
|
|
112
|
+
"arm64"
|
|
113
|
+
],
|
|
114
|
+
"ng-add": {
|
|
115
|
+
"save": "dependencies"
|
|
116
|
+
},
|
|
117
|
+
"ng-update": {
|
|
118
|
+
"packageGroup": [
|
|
119
|
+
"rm-image-slider"
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
"directories": {
|
|
123
|
+
"lib": "./src",
|
|
124
|
+
"doc": "./docs"
|
|
125
|
+
},
|
|
126
|
+
"packageManager": "pnpm@10.11.1",
|
|
127
|
+
"type": "module",
|
|
128
|
+
"private": false,
|
|
129
|
+
"readme": "README.md",
|
|
130
|
+
"module": "fesm2022/rm-image-slider.mjs",
|
|
131
|
+
"typings": "types/rm-image-slider.d.ts",
|
|
132
|
+
"exports": {
|
|
133
|
+
"./package.json": {
|
|
134
|
+
"default": "./package.json"
|
|
135
|
+
},
|
|
136
|
+
".": {
|
|
137
|
+
"types": "./types/rm-image-slider.d.ts",
|
|
138
|
+
"default": "./fesm2022/rm-image-slider.mjs"
|
|
139
|
+
}
|
|
140
|
+
}
|
|
52
141
|
}
|
|
File without changes
|