ngx-typed-js
Version:
An Angular integration for [Typed.js](https://github.com/mattboldt/typed.js/).
1 lines • 9.75 kB
Source Map (JSON)
{"version":3,"file":"ngx-typed-js.mjs","sources":["../../../projects/ngx-typed-js/src/lib/ngx-typed-js.component.ts","../../../projects/ngx-typed-js/src/lib/ngx-typed-js.component.html","../../../projects/ngx-typed-js/src/lib/ngx-typed-js.module.ts","../../../projects/ngx-typed-js/src/public_api.ts","../../../projects/ngx-typed-js/src/ngx-typed-js.ts"],"sourcesContent":["import { AfterViewInit, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport Typed, { TypedOptions } from 'typed.js';\n\n@Component({\n selector: 'ngx-typed-js',\n templateUrl: 'ngx-typed-js.component.html',\n styleUrls: ['ngx-typed-js.component.css']\n})\nexport class NgxTypedJsComponent implements AfterViewInit, OnChanges {\n @Input() public cursorColor?: string;\n\n @Input() public strings: string[];\n @Input() public stringsElement?: string;\n @Input() public typeSpeed = 30;\n @Input() public startDelay?: number;\n @Input() public backSpeed?: number;\n @Input() public smartBackspace?: boolean;\n @Input() public shuffle?: boolean;\n @Input() public backDelay?: number;\n @Input() public fadeOut?: boolean;\n @Input() public fadeOutClass?: string;\n @Input() public fadeOutDelay?: number;\n @Input() public loop?: boolean;\n @Input() public loopCount?: number;\n @Input() public showCursor?: boolean;\n @Input() public cursorChar?: string;\n @Input() public autoInsertCss?: boolean;\n @Input() public attr?: string;\n @Input() public bindInputFocusEvents?: boolean;\n @Input() public contentType?: string;\n\n @Output() private completed: EventEmitter<void> = new EventEmitter<void>();\n @Output() private preStringTyped: EventEmitter<number> = new EventEmitter<number>();\n @Output() private stringTyped: EventEmitter<number> = new EventEmitter<number>();\n @Output() private lastStringBackspaced: EventEmitter<void> = new EventEmitter<void>();\n @Output() private typingPaused: EventEmitter<number> = new EventEmitter<number>();\n @Output() private typingResumed: EventEmitter<number> = new EventEmitter<number>();\n @Output() private reset: EventEmitter<void> = new EventEmitter<void>();\n @Output() private stopped: EventEmitter<number> = new EventEmitter<number>();\n @Output() private started: EventEmitter<number> = new EventEmitter<number>();\n @Output() private destroyed: EventEmitter<void> = new EventEmitter<void>();\n\n private typed: Typed;\n @ViewChild('wrapper', { static: true }) private content;\n\n ngAfterViewInit(): void {\n this.typed = new Typed(\n this.content.nativeElement.querySelector('.typing'),\n this.options,\n );\n\n if (this.showCursor !== false) {\n this.updateCursorStyle();\n }\n }\n\n public toggle(): void {\n this.typed.toggle();\n }\n\n public stop(): void {\n this.typed.stop();\n }\n\n public start(): void {\n this.typed.start();\n }\n\n public destroy(): void {\n this.typed.destroy();\n }\n\n public doReset(restart?: boolean): void {\n this.typed.reset(restart);\n }\n\n private get options(): TypedOptions {\n const emit: (emitter: EventEmitter<void>) => (self: Typed) => void\n = (emitter: EventEmitter<void>) => () => emitter.emit();\n\n const emitIndex: (emitter: EventEmitter<number>) => (index: number, self: Typed) => void\n = (emitter: EventEmitter<number>) => (index: number) => emitter.emit(index);\n\n const opts = {\n strings: this.strings ?? [''],\n stringsElement: this.stringsElement,\n typeSpeed: this.typeSpeed,\n startDelay: this.startDelay,\n backSpeed: this.backSpeed,\n smartBackspace: this.smartBackspace,\n shuffle: this.shuffle,\n backDelay: this.backDelay,\n fadeOut: this.fadeOut,\n fadeOutClass: this.fadeOutClass,\n fadeOutDelay: this.fadeOutDelay,\n loop: this.loop,\n loopCount: this.loopCount,\n showCursor: this.showCursor,\n autoInsertCss: this.autoInsertCss,\n attr: this.attr,\n bindInputFocusEvents: this.bindInputFocusEvents,\n contentType: this.contentType,\n onComplete: emit(this.completed),\n preStringTyped: emitIndex(this.preStringTyped),\n onStringTyped: emitIndex(this.stringTyped),\n onLastStringBackspaced: emit(this.lastStringBackspaced),\n onTypingPaused: emitIndex(this.typingPaused),\n onTypingResumed: emitIndex(this.typingResumed),\n onReset: emit(this.reset),\n onStop: emitIndex(this.stopped),\n onStart: emitIndex(this.started),\n onDestroy: emit(this.destroyed),\n } as TypedOptions;\n\n Object.keys(opts).forEach(key => {\n if (opts[key] === undefined) {\n delete opts[key];\n }\n });\n\n return opts;\n }\n\n private updateCursorStyle(): void {\n const textElementStyle = getComputedStyle(this.content.nativeElement.querySelector('.typing'));\n const cursorElementStyle = this.content.nativeElement.querySelector('.typed-cursor').style;\n\n cursorElementStyle.fontSize = textElementStyle.fontSize;\n cursorElementStyle.color = this.cursorColor || textElementStyle.color;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.typed) {\n this.typed.destroy();\n this.ngAfterViewInit();\n }\n }\n}\n","<div #wrapper>\n <ng-content></ng-content>\n</div>\n","import {NgModule} from '@angular/core';\nimport {NgxTypedJsComponent} from './ngx-typed-js.component';\n\n@NgModule({\n declarations: [NgxTypedJsComponent],\n imports: [],\n exports: [NgxTypedJsComponent]\n})\nexport class NgxTypedJsModule {\n}\n","/*\n * Public API Surface of ngx-typed-js\n */\n\nexport * from './lib/ngx-typed-js.component';\nexport * from './lib/ngx-typed-js.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}