mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-20 05:16:07 +00:00
1 line
55 KiB
JSON
1 line
55 KiB
JSON
{"ast":null,"code":"import { Subject, of, Observable, ReplaySubject, never, empty } from 'rxjs';\nimport { filter, tap, take, mergeMap, map, catchError, switchMap, startWith, sampleTime, share } from 'rxjs/operators';\nimport { isPlatformServer } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, EventEmitter, PLATFORM_ID, Directive, Inject, Input, Output, NgModule } from '@angular/core';\nfunction getNavigator() {\n return typeof window !== 'undefined' ? window.navigator : undefined;\n}\nfunction isChildOfPicture(element) {\n return Boolean(element.parentElement && element.parentElement.nodeName.toLowerCase() === 'picture');\n}\nfunction isImageElement(element) {\n return element.nodeName.toLowerCase() === 'img';\n}\nfunction setImage(element, imagePath, useSrcset) {\n if (isImageElement(element)) {\n if (useSrcset && 'srcset' in element) {\n element.srcset = imagePath;\n } else {\n element.src = imagePath;\n }\n } else {\n element.style.backgroundImage = `url('${imagePath}')`;\n }\n return element;\n}\nfunction setSources(attrName) {\n return image => {\n const sources = image.parentElement.getElementsByTagName('source');\n for (let i = 0; i < sources.length; i++) {\n const attrValue = sources[i].getAttribute(attrName);\n if (attrValue) {\n // Check if `srcset` is supported by the current browser\n if ('srcset' in sources[i]) {\n sources[i].srcset = attrValue;\n } else {\n sources[i].src = attrValue;\n }\n }\n }\n };\n}\nconst setSourcesToDefault = setSources('defaultImage');\nconst setSourcesToLazy = setSources('lazyLoad');\nconst setSourcesToError = setSources('errorImage');\nfunction setImageAndSources(setSourcesFn) {\n return (element, imagePath, useSrcset) => {\n if (isImageElement(element) && isChildOfPicture(element)) {\n setSourcesFn(element);\n }\n if (imagePath) {\n setImage(element, imagePath, useSrcset);\n }\n };\n}\nconst setImageAndSourcesToDefault = setImageAndSources(setSourcesToDefault);\nconst setImageAndSourcesToLazy = setImageAndSources(setSourcesToLazy);\nconst setImageAndSourcesToError = setImageAndSources(setSourcesToError);\nclass Hooks {\n constructor() {\n this.navigator = getNavigator();\n }\n setPlatformId(platformId) {\n this.platformId = platformId;\n }\n onDestroy(attributes) {}\n onAttributeChange(newAttributes) {}\n}\nconst cssClassNames = {\n loaded: 'ng-lazyloaded',\n loading: 'ng-lazyloading',\n failed: 'ng-failed-lazyloaded'\n};\nfunction removeCssClassName(element, cssClassName) {\n element.className = element.className.replace(cssClassName, '');\n}\nfunction addCssClassName(element, cssClassName) {\n if (!element.className.includes(cssClassName)) {\n element.className += ` ${cssClassName}`;\n }\n}\nfunction hasCssClassName(element, cssClassName) {\n return element.className && element.className.includes(cssClassName);\n}\nclass SharedHooks extends Hooks {\n setup(attributes) {\n setImageAndSourcesToDefault(attributes.element, attributes.defaultImagePath, attributes.useSrcset);\n if (attributes.imagePath) {\n addCssClassName(attributes.element, cssClassNames.loading);\n }\n if (hasCssClassName(attributes.element, cssClassNames.loaded)) {\n removeCssClassName(attributes.element, cssClassNames.loaded);\n }\n }\n finally(attributes) {\n addCssClassName(attributes.element, cssClassNames.loaded);\n removeCssClassName(attributes.element, cssClassNames.loading);\n }\n loadImage(attributes) {\n if (this.skipLazyLoading(attributes)) {\n // Set the image right away for bots for better SEO\n return [attributes.imagePath];\n }\n const {\n element,\n useSrcset,\n imagePath,\n decode\n } = attributes;\n let img;\n if (isImageElement(element) && isChildOfPicture(element)) {\n const parentClone = element.parentNode.cloneNode(true);\n img = parentClone.getElementsByTagName('img')[0];\n setSourcesToLazy(img);\n setImage(img, imagePath, useSrcset);\n } else {\n img = new Image();\n if (isImageElement(element) && element.referrerPolicy) {\n img.referrerPolicy = element.referrerPolicy;\n }\n if (isImageElement(element) && element.sizes) {\n img.sizes = element.sizes;\n }\n if (useSrcset && 'srcset' in img) {\n img.srcset = imagePath;\n } else {\n img.src = imagePath;\n }\n }\n if (decode && img.decode) {\n return img.decode().then(() => imagePath);\n }\n return new Promise((resolve, reject) => {\n img.onload = () => resolve(imagePath);\n img.onerror = () => reject(null);\n });\n }\n setErrorImage(error, attributes) {\n const {\n element,\n useSrcset,\n errorImagePath\n } = attributes;\n setImageAndSourcesToError(element, errorImagePath, useSrcset);\n addCssClassName(element, cssClassNames.failed);\n }\n setLoadedImage(imagePath, attributes) {\n const {\n element,\n useSrcset\n } = attributes;\n setImageAndSourcesToLazy(element, imagePath, useSrcset);\n }\n isDisabled() {\n // Disable if SSR and the user isn't a bot\n return isPlatformServer(this.platformId) && !this.isBot();\n }\n skipLazyLoading(attributes) {\n return this.isBot(attributes);\n }\n isBot(attributes) {\n if (this.navigator?.userAgent) {\n return /googlebot|bingbot|yandex|baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\\ link\\ preview|showyoubot|outbrain|pinterest\\/0\\.|pinterestbot|slackbot|vkShare|W3C_Validator|whatsapp|duckduckbot/i.test(this.navigator.userAgent);\n }\n return false;\n }\n}\nclass IntersectionObserverHooks extends SharedHooks {\n constructor() {\n super(...arguments);\n this.observers = new WeakMap();\n this.intersectionSubject = new Subject();\n this.uniqKey = {};\n }\n getObservable(attributes) {\n if (this.skipLazyLoading(attributes)) {\n return of({\n isIntersecting: true\n });\n }\n if (attributes.customObservable) {\n return attributes.customObservable;\n }\n const scrollContainerKey = attributes.scrollContainer || this.uniqKey;\n const options = {\n root: attributes.scrollContainer || null\n };\n if (attributes.offset) {\n options.rootMargin = `${attributes.offset}px`;\n }\n let observer = this.observers.get(scrollContainerKey);\n if (!observer) {\n observer = new IntersectionObserver(entrys => this.loadingCallback(entrys), options);\n this.observers.set(scrollContainerKey, observer);\n }\n observer.observe(attributes.element);\n return Observable.create(obs => {\n const subscription = this.intersectionSubject.pipe(filter(entry => entry.target === attributes.element)).subscribe(obs);\n return () => {\n subscription.unsubscribe();\n observer.unobserve(attributes.element);\n };\n });\n }\n isVisible(event) {\n return event.isIntersecting;\n }\n loadingCallback(entrys) {\n entrys.forEach(entry => this.intersectionSubject.next(entry));\n }\n}\nfunction lazyLoadImage(hooks, attributes) {\n return evntObservable => {\n return evntObservable.pipe(tap(data => attributes.onStateChange.emit({\n reason: 'observer-emit',\n data\n })), filter(event => hooks.isVisible(event, attributes)), take(1), tap(() => attributes.onStateChange.emit({\n reason: 'start-loading'\n })), mergeMap(() => hooks.loadImage(attributes)), tap(() => attributes.onStateChange.emit({\n reason: 'mount-image'\n })), tap(imagePath => hooks.setLoadedImage(imagePath, attributes)), tap(() => attributes.onStateChange.emit({\n reason: 'loading-succeeded'\n })), map(() => true), catchError(error => {\n attributes.onStateChange.emit({\n reason: 'loading-failed',\n data: error\n });\n hooks.setErrorImage(error, attributes);\n return of(false);\n }), tap(() => {\n attributes.onStateChange.emit({\n reason: 'finally'\n });\n hooks.finally(attributes);\n }));\n };\n}\nconst LAZYLOAD_IMAGE_HOOKS = new InjectionToken('LazyLoadImageHooks');\nclass LazyLoadImageDirective {\n constructor(el, ngZone, platformId, hooks) {\n this.onStateChange = new EventEmitter(); // Emits an event on every state change\n this.elementRef = el;\n this.ngZone = ngZone;\n this.propertyChanges$ = new ReplaySubject();\n this.hooks = hooks;\n this.hooks.setPlatformId(platformId);\n this.uid = Math.random().toString(36).substr(2, 9);\n }\n ngOnChanges() {\n if (this.debug === true && !this.debugSubscription) {\n this.debugSubscription = this.onStateChange.subscribe(e => console.log(e));\n }\n this.propertyChanges$.next({\n element: this.elementRef.nativeElement,\n imagePath: this.lazyImage,\n defaultImagePath: this.defaultImage,\n errorImagePath: this.errorImage,\n useSrcset: this.useSrcset,\n offset: this.offset ? this.offset | 0 : 0,\n scrollContainer: this.scrollTarget,\n customObservable: this.customObservable,\n decode: this.decode,\n onStateChange: this.onStateChange,\n id: this.uid\n });\n }\n ngAfterContentInit() {\n if (this.hooks.isDisabled()) {\n return null;\n }\n this.ngZone.runOutsideAngular(() => {\n this.loadSubscription = this.propertyChanges$.pipe(tap(attributes => this.hooks.onAttributeChange(attributes)), tap(attributes => attributes.onStateChange.emit({\n reason: 'setup'\n })), tap(attributes => this.hooks.setup(attributes)), switchMap(attributes => {\n if (!attributes.imagePath) {\n return never();\n }\n return this.hooks.getObservable(attributes).pipe(lazyLoadImage(this.hooks, attributes));\n })).subscribe({\n next: () => null\n });\n });\n }\n ngOnDestroy() {\n this.propertyChanges$.pipe(take(1)).subscribe({\n next: attributes => this.hooks.onDestroy(attributes)\n }).unsubscribe();\n this.loadSubscription?.unsubscribe();\n this.debugSubscription?.unsubscribe();\n }\n}\nLazyLoadImageDirective.ɵfac = function LazyLoadImageDirective_Factory(t) {\n return new (t || LazyLoadImageDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(PLATFORM_ID), i0.ɵɵdirectiveInject(LAZYLOAD_IMAGE_HOOKS));\n};\nLazyLoadImageDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: LazyLoadImageDirective,\n selectors: [[\"\", \"lazyLoad\", \"\"]],\n inputs: {\n lazyImage: [\"lazyLoad\", \"lazyImage\"],\n defaultImage: \"defaultImage\",\n errorImage: \"errorImage\",\n scrollTarget: \"scrollTarget\",\n customObservable: \"customObservable\",\n offset: \"offset\",\n useSrcset: \"useSrcset\",\n decode: \"decode\",\n debug: \"debug\"\n },\n outputs: {\n onStateChange: \"onStateChange\"\n },\n features: [i0.ɵɵNgOnChangesFeature]\n});\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(LazyLoadImageDirective, [{\n type: Directive,\n args: [{\n selector: '[lazyLoad]'\n }]\n }], function () {\n return [{\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }, {\n type: Object,\n decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }]\n }, {\n type: Hooks,\n decorators: [{\n type: Inject,\n args: [LAZYLOAD_IMAGE_HOOKS]\n }]\n }];\n }, {\n lazyImage: [{\n type: Input,\n args: ['lazyLoad']\n }],\n defaultImage: [{\n type: Input\n }],\n errorImage: [{\n type: Input\n }],\n scrollTarget: [{\n type: Input\n }],\n customObservable: [{\n type: Input\n }],\n offset: [{\n type: Input\n }],\n useSrcset: [{\n type: Input\n }],\n decode: [{\n type: Input\n }],\n debug: [{\n type: Input\n }],\n onStateChange: [{\n type: Output\n }]\n });\n})();\nclass LazyLoadImageModule {}\nLazyLoadImageModule.ɵfac = function LazyLoadImageModule_Factory(t) {\n return new (t || LazyLoadImageModule)();\n};\nLazyLoadImageModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: LazyLoadImageModule,\n declarations: [LazyLoadImageDirective],\n exports: [LazyLoadImageDirective]\n});\nLazyLoadImageModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [{\n provide: LAZYLOAD_IMAGE_HOOKS,\n useClass: IntersectionObserverHooks\n }]\n});\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(LazyLoadImageModule, [{\n type: NgModule,\n args: [{\n declarations: [LazyLoadImageDirective],\n exports: [LazyLoadImageDirective],\n providers: [{\n provide: LAZYLOAD_IMAGE_HOOKS,\n useClass: IntersectionObserverHooks\n }]\n }]\n }], null, null);\n})();\nclass Rect {\n constructor(left, top, right, bottom) {\n this.left = left;\n this.top = top;\n this.right = right;\n this.bottom = bottom;\n }\n static fromElement(element) {\n const {\n left,\n top,\n right,\n bottom\n } = element.getBoundingClientRect();\n if (left === 0 && top === 0 && right === 0 && bottom === 0) {\n return Rect.empty;\n } else {\n return new Rect(left, top, right, bottom);\n }\n }\n static fromWindow(_window) {\n return new Rect(0, 0, _window.innerWidth, _window.innerHeight);\n }\n inflate(inflateBy) {\n this.left -= inflateBy;\n this.top -= inflateBy;\n this.right += inflateBy;\n this.bottom += inflateBy;\n }\n intersectsWith(rect) {\n return rect.left < this.right && this.left < rect.right && rect.top < this.bottom && this.top < rect.bottom;\n }\n getIntersectionWith(rect) {\n const left = Math.max(this.left, rect.left);\n const top = Math.max(this.top, rect.top);\n const right = Math.min(this.right, rect.right);\n const bottom = Math.min(this.bottom, rect.bottom);\n if (right >= left && bottom >= top) {\n return new Rect(left, top, right, bottom);\n } else {\n return Rect.empty;\n }\n }\n}\nRect.empty = new Rect(0, 0, 0, 0);\nclass ScrollHooks extends SharedHooks {\n constructor() {\n super(...arguments);\n this.getWindow = () => window;\n this.scrollListeners = new WeakMap();\n // Only create one scroll listener per target and share the observable.\n // Typical, there will only be one observable per application\n this.getScrollListener = scrollTarget => {\n if (!scrollTarget || typeof scrollTarget.addEventListener !== 'function') {\n console.warn('`addEventListener` on ' + scrollTarget + ' (scrollTarget) is not a function. Skipping this target');\n return empty();\n }\n const scrollListener = this.scrollListeners.get(scrollTarget);\n if (scrollListener) {\n return scrollListener;\n }\n const srollEvent = Observable.create(observer => {\n const eventName = 'scroll';\n const handler = event => observer.next(event);\n const options = {\n passive: true,\n capture: false\n };\n scrollTarget.addEventListener(eventName, handler, options);\n return () => scrollTarget.removeEventListener(eventName, handler, options);\n });\n const listener = this.sampleObservable(srollEvent);\n this.scrollListeners.set(scrollTarget, listener);\n return listener;\n };\n }\n getObservable(attributes) {\n if (this.skipLazyLoading(attributes)) {\n return of('load');\n } else if (attributes.customObservable) {\n return attributes.customObservable.pipe(startWith(''));\n } else if (attributes.scrollContainer) {\n return this.getScrollListener(attributes.scrollContainer);\n }\n return this.getScrollListener(this.getWindow());\n }\n isVisible(event, attributes) {\n const elementBounds = Rect.fromElement(attributes.element);\n if (elementBounds === Rect.empty) {\n return false;\n }\n const windowBounds = Rect.fromWindow(this.getWindow());\n elementBounds.inflate(attributes.offset);\n if (attributes.scrollContainer) {\n const scrollContainerBounds = Rect.fromElement(attributes.scrollContainer);\n const intersection = scrollContainerBounds.getIntersectionWith(windowBounds);\n return elementBounds.intersectsWith(intersection);\n } else {\n return elementBounds.intersectsWith(windowBounds);\n }\n }\n sampleObservable(obs, scheduler) {\n return obs.pipe(sampleTime(100, scheduler), share(), startWith(''));\n }\n}\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Hooks, IntersectionObserverHooks, LAZYLOAD_IMAGE_HOOKS, LazyLoadImageDirective, LazyLoadImageModule, ScrollHooks, SharedHooks };","map":{"version":3,"names":["Subject","of","Observable","ReplaySubject","never","empty","filter","tap","take","mergeMap","map","catchError","switchMap","startWith","sampleTime","share","isPlatformServer","i0","InjectionToken","EventEmitter","PLATFORM_ID","Directive","Inject","Input","Output","NgModule","getNavigator","window","navigator","undefined","isChildOfPicture","element","Boolean","parentElement","nodeName","toLowerCase","isImageElement","setImage","imagePath","useSrcset","srcset","src","style","backgroundImage","setSources","attrName","image","sources","getElementsByTagName","i","length","attrValue","getAttribute","setSourcesToDefault","setSourcesToLazy","setSourcesToError","setImageAndSources","setSourcesFn","setImageAndSourcesToDefault","setImageAndSourcesToLazy","setImageAndSourcesToError","Hooks","constructor","setPlatformId","platformId","onDestroy","attributes","onAttributeChange","newAttributes","cssClassNames","loaded","loading","failed","removeCssClassName","cssClassName","className","replace","addCssClassName","includes","hasCssClassName","SharedHooks","setup","defaultImagePath","finally","loadImage","skipLazyLoading","decode","img","parentClone","parentNode","cloneNode","Image","referrerPolicy","sizes","then","Promise","resolve","reject","onload","onerror","setErrorImage","error","errorImagePath","setLoadedImage","isDisabled","isBot","userAgent","test","IntersectionObserverHooks","arguments","observers","WeakMap","intersectionSubject","uniqKey","getObservable","isIntersecting","customObservable","scrollContainerKey","scrollContainer","options","root","offset","rootMargin","observer","get","IntersectionObserver","entrys","loadingCallback","set","observe","create","obs","subscription","pipe","entry","target","subscribe","unsubscribe","unobserve","isVisible","event","forEach","next","lazyLoadImage","hooks","evntObservable","data","onStateChange","emit","reason","LAZYLOAD_IMAGE_HOOKS","LazyLoadImageDirective","el","ngZone","elementRef","propertyChanges$","uid","Math","random","toString","substr","ngOnChanges","debug","debugSubscription","e","console","log","nativeElement","lazyImage","defaultImage","errorImage","scrollTarget","id","ngAfterContentInit","runOutsideAngular","loadSubscription","ngOnDestroy","ɵfac","LazyLoadImageDirective_Factory","t","ɵɵdirectiveInject","ElementRef","NgZone","ɵdir","ɵɵdefineDirective","type","selectors","inputs","outputs","features","ɵɵNgOnChangesFeature","ngDevMode","ɵsetClassMetadata","args","selector","Object","decorators","LazyLoadImageModule","LazyLoadImageModule_Factory","ɵmod","ɵɵdefineNgModule","declarations","exports","ɵinj","ɵɵdefineInjector","providers","provide","useClass","Rect","left","top","right","bottom","fromElement","getBoundingClientRect","fromWindow","_window","innerWidth","innerHeight","inflate","inflateBy","intersectsWith","rect","getIntersectionWith","max","min","ScrollHooks","getWindow","scrollListeners","getScrollListener","addEventListener","warn","scrollListener","srollEvent","eventName","handler","passive","capture","removeEventListener","listener","sampleObservable","elementBounds","windowBounds","scrollContainerBounds","intersection","scheduler"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/ng-lazyload-image/fesm2020/ng-lazyload-image.mjs"],"sourcesContent":["import { Subject, of, Observable, ReplaySubject, never, empty } from 'rxjs';\nimport { filter, tap, take, mergeMap, map, catchError, switchMap, startWith, sampleTime, share } from 'rxjs/operators';\nimport { isPlatformServer } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, EventEmitter, PLATFORM_ID, Directive, Inject, Input, Output, NgModule } from '@angular/core';\n\nfunction getNavigator() {\n return typeof window !== 'undefined' ? window.navigator : undefined;\n}\nfunction isChildOfPicture(element) {\n return Boolean(element.parentElement && element.parentElement.nodeName.toLowerCase() === 'picture');\n}\nfunction isImageElement(element) {\n return element.nodeName.toLowerCase() === 'img';\n}\nfunction setImage(element, imagePath, useSrcset) {\n if (isImageElement(element)) {\n if (useSrcset && 'srcset' in element) {\n element.srcset = imagePath;\n }\n else {\n element.src = imagePath;\n }\n }\n else {\n element.style.backgroundImage = `url('${imagePath}')`;\n }\n return element;\n}\nfunction setSources(attrName) {\n return (image) => {\n const sources = image.parentElement.getElementsByTagName('source');\n for (let i = 0; i < sources.length; i++) {\n const attrValue = sources[i].getAttribute(attrName);\n if (attrValue) {\n // Check if `srcset` is supported by the current browser\n if ('srcset' in sources[i]) {\n sources[i].srcset = attrValue;\n }\n else {\n sources[i].src = attrValue;\n }\n }\n }\n };\n}\nconst setSourcesToDefault = setSources('defaultImage');\nconst setSourcesToLazy = setSources('lazyLoad');\nconst setSourcesToError = setSources('errorImage');\nfunction setImageAndSources(setSourcesFn) {\n return (element, imagePath, useSrcset) => {\n if (isImageElement(element) && isChildOfPicture(element)) {\n setSourcesFn(element);\n }\n if (imagePath) {\n setImage(element, imagePath, useSrcset);\n }\n };\n}\nconst setImageAndSourcesToDefault = setImageAndSources(setSourcesToDefault);\nconst setImageAndSourcesToLazy = setImageAndSources(setSourcesToLazy);\nconst setImageAndSourcesToError = setImageAndSources(setSourcesToError);\n\nclass Hooks {\n constructor() {\n this.navigator = getNavigator();\n }\n setPlatformId(platformId) {\n this.platformId = platformId;\n }\n onDestroy(attributes) { }\n onAttributeChange(newAttributes) { }\n}\n\nconst cssClassNames = {\n loaded: 'ng-lazyloaded',\n loading: 'ng-lazyloading',\n failed: 'ng-failed-lazyloaded',\n};\nfunction removeCssClassName(element, cssClassName) {\n element.className = element.className.replace(cssClassName, '');\n}\nfunction addCssClassName(element, cssClassName) {\n if (!element.className.includes(cssClassName)) {\n element.className += ` ${cssClassName}`;\n }\n}\nfunction hasCssClassName(element, cssClassName) {\n return element.className && element.className.includes(cssClassName);\n}\n\nclass SharedHooks extends Hooks {\n setup(attributes) {\n setImageAndSourcesToDefault(attributes.element, attributes.defaultImagePath, attributes.useSrcset);\n if (attributes.imagePath) {\n addCssClassName(attributes.element, cssClassNames.loading);\n }\n if (hasCssClassName(attributes.element, cssClassNames.loaded)) {\n removeCssClassName(attributes.element, cssClassNames.loaded);\n }\n }\n finally(attributes) {\n addCssClassName(attributes.element, cssClassNames.loaded);\n removeCssClassName(attributes.element, cssClassNames.loading);\n }\n loadImage(attributes) {\n if (this.skipLazyLoading(attributes)) {\n // Set the image right away for bots for better SEO\n return [attributes.imagePath];\n }\n const { element, useSrcset, imagePath, decode } = attributes;\n let img;\n if (isImageElement(element) && isChildOfPicture(element)) {\n const parentClone = element.parentNode.cloneNode(true);\n img = parentClone.getElementsByTagName('img')[0];\n setSourcesToLazy(img);\n setImage(img, imagePath, useSrcset);\n }\n else {\n img = new Image();\n if (isImageElement(element) && element.referrerPolicy) {\n img.referrerPolicy = element.referrerPolicy;\n }\n if (isImageElement(element) && element.sizes) {\n img.sizes = element.sizes;\n }\n if (useSrcset && 'srcset' in img) {\n img.srcset = imagePath;\n }\n else {\n img.src = imagePath;\n }\n }\n if (decode && img.decode) {\n return img.decode().then(() => imagePath);\n }\n return new Promise((resolve, reject) => {\n img.onload = () => resolve(imagePath);\n img.onerror = () => reject(null);\n });\n }\n setErrorImage(error, attributes) {\n const { element, useSrcset, errorImagePath } = attributes;\n setImageAndSourcesToError(element, errorImagePath, useSrcset);\n addCssClassName(element, cssClassNames.failed);\n }\n setLoadedImage(imagePath, attributes) {\n const { element, useSrcset } = attributes;\n setImageAndSourcesToLazy(element, imagePath, useSrcset);\n }\n isDisabled() {\n // Disable if SSR and the user isn't a bot\n return isPlatformServer(this.platformId) && !this.isBot();\n }\n skipLazyLoading(attributes) {\n return this.isBot(attributes);\n }\n isBot(attributes) {\n if (this.navigator?.userAgent) {\n return /googlebot|bingbot|yandex|baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\\ link\\ preview|showyoubot|outbrain|pinterest\\/0\\.|pinterestbot|slackbot|vkShare|W3C_Validator|whatsapp|duckduckbot/i.test(this.navigator.userAgent);\n }\n return false;\n }\n}\n\nclass IntersectionObserverHooks extends SharedHooks {\n constructor() {\n super(...arguments);\n this.observers = new WeakMap();\n this.intersectionSubject = new Subject();\n this.uniqKey = {};\n }\n getObservable(attributes) {\n if (this.skipLazyLoading(attributes)) {\n return of({ isIntersecting: true });\n }\n if (attributes.customObservable) {\n return attributes.customObservable;\n }\n const scrollContainerKey = attributes.scrollContainer || this.uniqKey;\n const options = {\n root: attributes.scrollContainer || null,\n };\n if (attributes.offset) {\n options.rootMargin = `${attributes.offset}px`;\n }\n let observer = this.observers.get(scrollContainerKey);\n if (!observer) {\n observer = new IntersectionObserver((entrys) => this.loadingCallback(entrys), options);\n this.observers.set(scrollContainerKey, observer);\n }\n observer.observe(attributes.element);\n return Observable.create((obs) => {\n const subscription = this.intersectionSubject.pipe(filter((entry) => entry.target === attributes.element)).subscribe(obs);\n return () => {\n subscription.unsubscribe();\n observer.unobserve(attributes.element);\n };\n });\n }\n isVisible(event) {\n return event.isIntersecting;\n }\n loadingCallback(entrys) {\n entrys.forEach((entry) => this.intersectionSubject.next(entry));\n }\n}\n\nfunction lazyLoadImage(hooks, attributes) {\n return (evntObservable) => {\n return evntObservable.pipe(tap((data) => attributes.onStateChange.emit({ reason: 'observer-emit', data })), filter((event) => hooks.isVisible(event, attributes)), take(1), tap(() => attributes.onStateChange.emit({ reason: 'start-loading' })), mergeMap(() => hooks.loadImage(attributes)), tap(() => attributes.onStateChange.emit({ reason: 'mount-image' })), tap((imagePath) => hooks.setLoadedImage(imagePath, attributes)), tap(() => attributes.onStateChange.emit({ reason: 'loading-succeeded' })), map(() => true), catchError((error) => {\n attributes.onStateChange.emit({ reason: 'loading-failed', data: error });\n hooks.setErrorImage(error, attributes);\n return of(false);\n }), tap(() => {\n attributes.onStateChange.emit({ reason: 'finally' });\n hooks.finally(attributes);\n }));\n };\n}\n\nconst LAZYLOAD_IMAGE_HOOKS = new InjectionToken('LazyLoadImageHooks');\n\nclass LazyLoadImageDirective {\n constructor(el, ngZone, platformId, hooks) {\n this.onStateChange = new EventEmitter(); // Emits an event on every state change\n this.elementRef = el;\n this.ngZone = ngZone;\n this.propertyChanges$ = new ReplaySubject();\n this.hooks = hooks;\n this.hooks.setPlatformId(platformId);\n this.uid = Math.random().toString(36).substr(2, 9);\n }\n ngOnChanges() {\n if (this.debug === true && !this.debugSubscription) {\n this.debugSubscription = this.onStateChange.subscribe((e) => console.log(e));\n }\n this.propertyChanges$.next({\n element: this.elementRef.nativeElement,\n imagePath: this.lazyImage,\n defaultImagePath: this.defaultImage,\n errorImagePath: this.errorImage,\n useSrcset: this.useSrcset,\n offset: this.offset ? this.offset | 0 : 0,\n scrollContainer: this.scrollTarget,\n customObservable: this.customObservable,\n decode: this.decode,\n onStateChange: this.onStateChange,\n id: this.uid,\n });\n }\n ngAfterContentInit() {\n if (this.hooks.isDisabled()) {\n return null;\n }\n this.ngZone.runOutsideAngular(() => {\n this.loadSubscription = this.propertyChanges$\n .pipe(tap((attributes) => this.hooks.onAttributeChange(attributes)), tap((attributes) => attributes.onStateChange.emit({ reason: 'setup' })), tap((attributes) => this.hooks.setup(attributes)), switchMap((attributes) => {\n if (!attributes.imagePath) {\n return never();\n }\n return this.hooks.getObservable(attributes).pipe(lazyLoadImage(this.hooks, attributes));\n }))\n .subscribe({\n next: () => null,\n });\n });\n }\n ngOnDestroy() {\n this.propertyChanges$\n .pipe(take(1))\n .subscribe({ next: (attributes) => this.hooks.onDestroy(attributes) })\n .unsubscribe();\n this.loadSubscription?.unsubscribe();\n this.debugSubscription?.unsubscribe();\n }\n}\nLazyLoadImageDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: LazyLoadImageDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: LAZYLOAD_IMAGE_HOOKS }], target: i0.ɵɵFactoryTarget.Directive });\nLazyLoadImageDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.1.1\", type: LazyLoadImageDirective, selector: \"[lazyLoad]\", inputs: { lazyImage: [\"lazyLoad\", \"lazyImage\"], defaultImage: \"defaultImage\", errorImage: \"errorImage\", scrollTarget: \"scrollTarget\", customObservable: \"customObservable\", offset: \"offset\", useSrcset: \"useSrcset\", decode: \"decode\", debug: \"debug\" }, outputs: { onStateChange: \"onStateChange\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: LazyLoadImageDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[lazyLoad]',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }, { type: Hooks, decorators: [{\n type: Inject,\n args: [LAZYLOAD_IMAGE_HOOKS]\n }] }]; }, propDecorators: { lazyImage: [{\n type: Input,\n args: ['lazyLoad']\n }], defaultImage: [{\n type: Input\n }], errorImage: [{\n type: Input\n }], scrollTarget: [{\n type: Input\n }], customObservable: [{\n type: Input\n }], offset: [{\n type: Input\n }], useSrcset: [{\n type: Input\n }], decode: [{\n type: Input\n }], debug: [{\n type: Input\n }], onStateChange: [{\n type: Output\n }] } });\n\nclass LazyLoadImageModule {\n}\nLazyLoadImageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: LazyLoadImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nLazyLoadImageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: LazyLoadImageModule, declarations: [LazyLoadImageDirective], exports: [LazyLoadImageDirective] });\nLazyLoadImageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: LazyLoadImageModule, providers: [{ provide: LAZYLOAD_IMAGE_HOOKS, useClass: IntersectionObserverHooks }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: LazyLoadImageModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [LazyLoadImageDirective],\n exports: [LazyLoadImageDirective],\n providers: [{ provide: LAZYLOAD_IMAGE_HOOKS, useClass: IntersectionObserverHooks }],\n }]\n }] });\n\nclass Rect {\n constructor(left, top, right, bottom) {\n this.left = left;\n this.top = top;\n this.right = right;\n this.bottom = bottom;\n }\n static fromElement(element) {\n const { left, top, right, bottom } = element.getBoundingClientRect();\n if (left === 0 && top === 0 && right === 0 && bottom === 0) {\n return Rect.empty;\n }\n else {\n return new Rect(left, top, right, bottom);\n }\n }\n static fromWindow(_window) {\n return new Rect(0, 0, _window.innerWidth, _window.innerHeight);\n }\n inflate(inflateBy) {\n this.left -= inflateBy;\n this.top -= inflateBy;\n this.right += inflateBy;\n this.bottom += inflateBy;\n }\n intersectsWith(rect) {\n return rect.left < this.right && this.left < rect.right && rect.top < this.bottom && this.top < rect.bottom;\n }\n getIntersectionWith(rect) {\n const left = Math.max(this.left, rect.left);\n const top = Math.max(this.top, rect.top);\n const right = Math.min(this.right, rect.right);\n const bottom = Math.min(this.bottom, rect.bottom);\n if (right >= left && bottom >= top) {\n return new Rect(left, top, right, bottom);\n }\n else {\n return Rect.empty;\n }\n }\n}\nRect.empty = new Rect(0, 0, 0, 0);\n\nclass ScrollHooks extends SharedHooks {\n constructor() {\n super(...arguments);\n this.getWindow = () => window;\n this.scrollListeners = new WeakMap();\n // Only create one scroll listener per target and share the observable.\n // Typical, there will only be one observable per application\n this.getScrollListener = (scrollTarget) => {\n if (!scrollTarget || typeof scrollTarget.addEventListener !== 'function') {\n console.warn('`addEventListener` on ' + scrollTarget + ' (scrollTarget) is not a function. Skipping this target');\n return empty();\n }\n const scrollListener = this.scrollListeners.get(scrollTarget);\n if (scrollListener) {\n return scrollListener;\n }\n const srollEvent = Observable.create((observer) => {\n const eventName = 'scroll';\n const handler = (event) => observer.next(event);\n const options = { passive: true, capture: false };\n scrollTarget.addEventListener(eventName, handler, options);\n return () => scrollTarget.removeEventListener(eventName, handler, options);\n });\n const listener = this.sampleObservable(srollEvent);\n this.scrollListeners.set(scrollTarget, listener);\n return listener;\n };\n }\n getObservable(attributes) {\n if (this.skipLazyLoading(attributes)) {\n return of('load');\n }\n else if (attributes.customObservable) {\n return attributes.customObservable.pipe(startWith(''));\n }\n else if (attributes.scrollContainer) {\n return this.getScrollListener(attributes.scrollContainer);\n }\n return this.getScrollListener(this.getWindow());\n }\n isVisible(event, attributes) {\n const elementBounds = Rect.fromElement(attributes.element);\n if (elementBounds === Rect.empty) {\n return false;\n }\n const windowBounds = Rect.fromWindow(this.getWindow());\n elementBounds.inflate(attributes.offset);\n if (attributes.scrollContainer) {\n const scrollContainerBounds = Rect.fromElement(attributes.scrollContainer);\n const intersection = scrollContainerBounds.getIntersectionWith(windowBounds);\n return elementBounds.intersectsWith(intersection);\n }\n else {\n return elementBounds.intersectsWith(windowBounds);\n }\n }\n sampleObservable(obs, scheduler) {\n return obs.pipe(sampleTime(100, scheduler), share(), startWith(''));\n }\n}\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Hooks, IntersectionObserverHooks, LAZYLOAD_IMAGE_HOOKS, LazyLoadImageDirective, LazyLoadImageModule, ScrollHooks, SharedHooks };\n"],"mappings":"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"},"metadata":{},"sourceType":"module"} |