UNPKG

ngx-glide

Version:

Angular wrapper component of Glide carousel library

1 lines 28.9 kB
{"version":3,"file":"ngx-glide.mjs","sources":["../../../../packages/ngx-glide/src/lib/shared/default-extra-settings.ts","../../../../packages/ngx-glide/src/lib/shared/default-settings.ts","../../../../packages/ngx-glide/src/lib/ngx-glide.component.ts","../../../../packages/ngx-glide/src/lib/ngx-glide.component.html","../../../../packages/ngx-glide/src/lib/ngx-glide.module.ts","../../../../packages/ngx-glide/src/ngx-glide.ts"],"sourcesContent":["import { ExtraSettings } from './extra-settings';\n\nexport const defaultExtraSettings: ExtraSettings = {\n showArrows: true,\n showBullets: true,\n arrowLeftLabel: 'left',\n arrowRightLabel: 'right',\n listenToEvents: false,\n};\n","import { Settings } from './settings';\n\nexport const defaultSettings: Settings = {\n type: 'slider',\n startAt: 0,\n perView: 1,\n focusAt: 0,\n gap: 10,\n autoplay: false,\n hoverpause: true,\n keyboard: true,\n bound: false,\n swipeThreshold: 80,\n dragThreshold: 120,\n perTouch: false,\n touchRatio: 0.5,\n touchAngle: 45,\n animationDuration: 400,\n rewind: true,\n rewindDuration: 800,\n animationTimingFunc: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n direction: 'ltr',\n peek: 0,\n breakpoints: {},\n classes: {\n direction: {\n ltr: 'glide--ltr',\n rtl: 'glide--rtl',\n },\n slider: 'glide--slider',\n carousel: 'glide--carousel',\n swipeable: 'glide--swipeable',\n dragging: 'glide--dragging',\n cloneSlide: 'glide__slide--clone',\n activeNav: 'glide__bullet--active',\n activeSlide: 'glide__slide--active',\n disabledArrow: 'glide__arrow--disabled',\n },\n throttle: 25,\n};\n","import {\n isPlatformBrowser,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n PLATFORM_ID,\n SimpleChange,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport Glide from '@glidejs/glide';\n\nimport { defaultExtraSettings, defaultSettings, Settings } from './shared';\n\n// noinspection TypeScriptFieldCanBeMadeReadonly,DuplicatedCode\n@Component({\n standalone: true,\n imports: [NgIf, NgForOf, NgTemplateOutlet],\n selector: 'ngx-glide',\n templateUrl: './ngx-glide.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgxGlideComponent implements OnChanges, AfterViewInit, OnDestroy {\n @Input() showArrows: boolean;\n @Input() showBullets: boolean;\n @Input() arrowLeftLabel: string;\n @Input() arrowLeftTemplate: TemplateRef<unknown> | null;\n @Input() arrowRightLabel: string;\n @Input() arrowRightTemplate: TemplateRef<unknown> | null;\n @Input() listenToEvents: boolean;\n\n glideBullets: number[];\n\n @Input() type: string;\n @Input() startAt: number;\n @Input() perView: number;\n @Input() focusAt: number | string;\n @Input() gap: number;\n @Input() autoplay: number | boolean;\n @Input() hoverpause: boolean;\n @Input() keyboard: boolean;\n @Input() bound: boolean;\n @Input() swipeThreshold: number | boolean;\n @Input() dragThreshold: number | boolean;\n @Input() perTouch: number | boolean;\n @Input() touchRatio: number;\n @Input() touchAngle: number;\n @Input() animationDuration: number;\n @Input() rewind: boolean;\n @Input() rewindDuration: number;\n @Input() animationTimingFunc: string;\n @Input() direction: string;\n @Input() peek: number | Record<string, unknown>;\n @Input() breakpoints: Record<string, unknown>;\n @Input() classes: Record<string, unknown>;\n @Input() throttle: number;\n\n @Output() private mountedBefore: EventEmitter<void>;\n @Output() private mountedAfter: EventEmitter<void>;\n @Output() private updated: EventEmitter<void>;\n @Output() private played: EventEmitter<void>;\n @Output() private paused: EventEmitter<void>;\n @Output() private buildedBefore: EventEmitter<void>;\n @Output() private buildedAfter: EventEmitter<void>;\n @Output() private ranBefore: EventEmitter<Record<string, unknown>>;\n @Output() private ran: EventEmitter<Record<string, unknown>>;\n @Output() private ranAfter: EventEmitter<Record<string, unknown>>;\n @Output() private ranOffset: EventEmitter<Record<string, unknown>>;\n @Output() private runStarted: EventEmitter<Record<string, unknown>>;\n @Output() private runEnded: EventEmitter<Record<string, unknown>>;\n @Output() private moved: EventEmitter<Record<string, unknown>>;\n @Output() private movedAfter: EventEmitter<Record<string, unknown>>;\n @Output() private resized: EventEmitter<void>;\n @Output() private swipeStarted: EventEmitter<void>;\n @Output() private swipeMoved: EventEmitter<void>;\n @Output() private swipeEnded: EventEmitter<void>;\n @Output() private translateJumped: EventEmitter<Record<string, unknown>>;\n\n @ViewChild('glideEl', { static: false }) private glideEl?: ElementRef;\n @ViewChild('glideSlidesEl', { static: false })\n private glideSlidesEl?: ElementRef;\n\n private glide: Glide;\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n @Inject(PLATFORM_ID) private platformId: string\n ) {\n this.showArrows = defaultExtraSettings.showArrows;\n this.showBullets = defaultExtraSettings.showBullets;\n this.arrowLeftLabel = defaultExtraSettings.arrowLeftLabel;\n this.arrowLeftTemplate = null;\n this.arrowRightLabel = defaultExtraSettings.arrowRightLabel;\n this.arrowRightTemplate = null;\n this.listenToEvents = defaultExtraSettings.listenToEvents;\n\n this.glideBullets = [];\n\n this.type = defaultSettings.type;\n this.startAt = defaultSettings.startAt;\n this.perView = defaultSettings.perView;\n this.focusAt = defaultSettings.focusAt;\n this.gap = defaultSettings.gap;\n this.autoplay = defaultSettings.autoplay;\n this.hoverpause = defaultSettings.hoverpause;\n this.keyboard = defaultSettings.keyboard;\n this.bound = defaultSettings.bound;\n this.swipeThreshold = defaultSettings.swipeThreshold;\n this.dragThreshold = defaultSettings.dragThreshold;\n this.perTouch = defaultSettings.perTouch;\n this.touchRatio = defaultSettings.touchRatio;\n this.touchAngle = defaultSettings.touchAngle;\n this.animationDuration = defaultSettings.animationDuration;\n this.rewind = defaultSettings.rewind;\n this.rewindDuration = defaultSettings.rewindDuration;\n this.animationTimingFunc = defaultSettings.animationTimingFunc;\n this.direction = defaultSettings.direction;\n this.peek = defaultSettings.peek;\n this.breakpoints = defaultSettings.breakpoints;\n this.classes = defaultSettings.classes;\n this.throttle = defaultSettings.throttle;\n\n this.mountedBefore = new EventEmitter<void>();\n this.mountedAfter = new EventEmitter<void>();\n this.updated = new EventEmitter<void>();\n this.played = new EventEmitter<void>();\n this.paused = new EventEmitter<void>();\n this.buildedBefore = new EventEmitter<void>();\n this.buildedAfter = new EventEmitter<void>();\n this.ranBefore = new EventEmitter<Record<string, unknown>>();\n this.ran = new EventEmitter<Record<string, unknown>>();\n this.ranAfter = new EventEmitter<Record<string, unknown>>();\n this.ranOffset = new EventEmitter<Record<string, unknown>>();\n this.runStarted = new EventEmitter<Record<string, unknown>>();\n this.runEnded = new EventEmitter<Record<string, unknown>>();\n this.moved = new EventEmitter<Record<string, unknown>>();\n this.movedAfter = new EventEmitter<Record<string, unknown>>();\n this.resized = new EventEmitter<void>();\n this.swipeStarted = new EventEmitter<void>();\n this.swipeMoved = new EventEmitter<void>();\n this.swipeEnded = new EventEmitter<void>();\n this.translateJumped = new EventEmitter<Record<string, unknown>>();\n }\n\n private static getGlideUpdateSettings(\n changes: SimpleChanges\n ): Record<string, unknown> {\n const settings: Record<string, unknown> = {};\n\n for (const key in changes) {\n if (!Object.prototype.hasOwnProperty.call(changes, key)) {\n continue;\n }\n if (!Object.prototype.hasOwnProperty.call(defaultSettings, key)) {\n continue;\n }\n const change = changes[key] as SimpleChange;\n if (change.previousValue !== change.currentValue) {\n settings[key] = change.currentValue;\n }\n }\n\n return settings;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (isPlatformBrowser(this.platformId) && changes && this.glide) {\n this.update(NgxGlideComponent.getGlideUpdateSettings(changes));\n }\n }\n\n ngAfterViewInit(): void {\n if (isPlatformBrowser(this.platformId) && Glide) {\n this.create();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy();\n }\n\n getStyleDisplay(condition: boolean): string {\n return condition ? 'block' : 'none';\n }\n\n getIndex(): number {\n return this.glide && this.glide.index;\n }\n\n // noinspection JSUnusedGlobalSymbols\n getSettings(): Settings {\n return this.glide && this.glide.settings;\n }\n\n // noinspection JSUnusedGlobalSymbols\n getType(): string {\n return this.glide && this.glide.type;\n }\n\n // noinspection JSUnusedGlobalSymbols\n isDisabled(): boolean {\n return this.glide && this.glide.disabled;\n }\n\n mount(): void {\n if (this.glide) {\n this.glide.mount();\n }\n }\n\n update(settings: Record<string, unknown>): void {\n if (this.glide) {\n this.glide.update(settings);\n this.changeDetectorRef.detectChanges();\n }\n }\n\n destroy(): void {\n if (this.glide) {\n this.glide.destroy();\n }\n }\n\n // noinspection JSUnusedGlobalSymbols\n go(pattern: string): void {\n if (this.glide) {\n this.glide.go(pattern);\n }\n }\n\n pause(): void {\n if (this.glide) {\n this.glide.pause();\n }\n }\n\n play(force?: number): void {\n if (this.glide) {\n if (typeof force === 'number') {\n this.glide.play(force);\n } else {\n this.glide.play();\n }\n }\n }\n\n // noinspection JSUnusedGlobalSymbols\n disable(): void {\n if (this.glide) {\n this.glide.disable();\n }\n }\n\n enable(): void {\n if (this.glide) {\n this.glide.enable();\n }\n }\n\n isType(type: string): boolean {\n return this.glide && this.glide.isType(type);\n }\n\n recreate(): void {\n if (this.glide) {\n this.destroy();\n }\n this.create();\n }\n\n private create(): void {\n this.initGlideBullets();\n this.glide = new Glide(\n this.glideEl?.nativeElement,\n this.getGlideInitSettings()\n );\n this.initGlideEvents();\n this.mount();\n this.changeDetectorRef.detectChanges();\n }\n\n private initGlideBullets(): void {\n const glideSlidesNativeElement: HTMLElement =\n this.glideSlidesEl?.nativeElement;\n const childrenLength: number = glideSlidesNativeElement.children.length;\n this.glideBullets = [...new Array(childrenLength).keys()];\n this.changeDetectorRef.detectChanges();\n }\n\n private initGlideEvents(): void {\n if (!this.glide || !this.listenToEvents) {\n return;\n }\n\n this.glide.on('mount.before', () => this.mountedBefore.emit());\n this.glide.on('mount.after', () => this.mountedAfter.emit());\n this.glide.on('update', () => this.updated.emit());\n this.glide.on('play', () => this.played.emit());\n this.glide.on('pause', () => this.paused.emit());\n this.glide.on('build.before', () => this.buildedBefore.emit());\n this.glide.on('build.after', () => this.buildedAfter.emit());\n this.glide.on('run.before', (move: Record<string, unknown>) =>\n this.ranBefore.emit(move)\n );\n this.glide.on('run', (move: Record<string, unknown>) =>\n this.ran.emit(move)\n );\n this.glide.on('run.after', (move: Record<string, unknown>) =>\n this.ranAfter.emit(move)\n );\n this.glide.on('run.offset', (move: Record<string, unknown>) =>\n this.ranOffset.emit(move)\n );\n this.glide.on('run.start', (move: Record<string, unknown>) =>\n this.runStarted.emit(move)\n );\n this.glide.on('run.end', (move: Record<string, unknown>) =>\n this.runEnded.emit(move)\n );\n this.glide.on('move', (movement: Record<string, unknown>) =>\n this.moved.emit(movement)\n );\n this.glide.on('move.after', (movement: Record<string, unknown>) =>\n this.movedAfter.emit(movement)\n );\n this.glide.on('resize', () => this.resized.emit());\n this.glide.on('swipe.start', () => this.swipeStarted.emit());\n this.glide.on('swipe.move', () => this.swipeMoved.emit());\n this.glide.on('swipe.end', () => this.swipeEnded.emit());\n this.glide.on('translate.jump', (movement: Record<string, unknown>) =>\n this.translateJumped.emit(movement)\n );\n }\n\n private getGlideInitSettings(): Settings {\n return {\n type: this.type,\n startAt: this.startAt,\n perView: this.perView,\n focusAt: this.focusAt,\n gap: this.gap,\n autoplay: this.autoplay,\n hoverpause: this.hoverpause,\n keyboard: this.keyboard,\n bound: this.bound,\n swipeThreshold: this.swipeThreshold,\n dragThreshold: this.dragThreshold,\n perTouch: this.perTouch,\n touchRatio: this.touchRatio,\n touchAngle: this.touchAngle,\n animationDuration: this.animationDuration,\n rewind: this.rewind,\n rewindDuration: this.rewindDuration,\n animationTimingFunc: this.animationTimingFunc,\n direction: this.direction,\n peek: this.peek,\n breakpoints: this.breakpoints,\n classes: this.classes,\n throttle: this.throttle,\n };\n }\n}\n","<div #glideEl class=\"glide\">\n <div class=\"glide__track\" data-glide-el=\"track\">\n <div #glideSlidesEl class=\"glide__slides\">\n <ng-content></ng-content>\n </div>\n </div>\n <div\n class=\"glide__arrows\"\n data-glide-el=\"controls\"\n [style.display]=\"showArrows ? 'block' : 'none'\"\n >\n <button\n class=\"glide__arrow glide__arrow--left\"\n data-glide-dir=\"<\"\n [style.display]=\"getStyleDisplay(!arrowLeftTemplate)\"\n >\n {{ arrowLeftLabel }}\n </button>\n <button\n class=\"glide__arrow glide__arrow--right\"\n data-glide-dir=\">\"\n [style.display]=\"getStyleDisplay(!arrowRightTemplate)\"\n >\n {{ arrowRightLabel }}\n </button>\n <div\n data-glide-dir=\"<\"\n [style.display]=\"getStyleDisplay(!!arrowLeftTemplate)\"\n >\n <ng-container *ngTemplateOutlet=\"arrowLeftTemplate\"></ng-container>\n </div>\n <div\n data-glide-dir=\">\"\n [style.display]=\"getStyleDisplay(!!arrowRightTemplate)\"\n >\n <ng-container *ngTemplateOutlet=\"arrowRightTemplate\"></ng-container>\n </div>\n </div>\n <div\n class=\"glide__bullets\"\n data-glide-el=\"controls[nav]\"\n [style.display]=\"showBullets ? 'block' : 'none'\"\n >\n <ng-container *ngIf=\"glideBullets\">\n <button\n *ngFor=\"let glideBullet of glideBullets\"\n class=\"glide__bullet\"\n [attr.data-glide-dir]=\"'=' + glideBullet\"\n ></button>\n </ng-container>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { NgxGlideComponent } from './ngx-glide.component';\n\n@NgModule({\n imports: [NgxGlideComponent],\n exports: [NgxGlideComponent],\n})\nexport class NgxGlideModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}