primeng 14.2.10-lts → 14.2.12-lts

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.
Files changed (44) hide show
  1. package/esm2020/autocomplete/autocomplete.mjs +2 -2
  2. package/esm2020/button/button.mjs +4 -3
  3. package/esm2020/calendar/calendar.mjs +1 -2
  4. package/esm2020/dialog/dialog.mjs +2 -2
  5. package/esm2020/dropdown/dropdown.mjs +2 -2
  6. package/esm2020/fileupload/fileupload.mjs +2 -2
  7. package/esm2020/image/image.mjs +11 -3
  8. package/esm2020/tabview/tabview.mjs +35 -10
  9. package/fesm2015/primeng-autocomplete.mjs +1 -1
  10. package/fesm2015/primeng-autocomplete.mjs.map +1 -1
  11. package/fesm2015/primeng-button.mjs +3 -2
  12. package/fesm2015/primeng-button.mjs.map +1 -1
  13. package/fesm2015/primeng-calendar.mjs +0 -1
  14. package/fesm2015/primeng-calendar.mjs.map +1 -1
  15. package/fesm2015/primeng-dialog.mjs +1 -1
  16. package/fesm2015/primeng-dialog.mjs.map +1 -1
  17. package/fesm2015/primeng-dropdown.mjs +1 -1
  18. package/fesm2015/primeng-dropdown.mjs.map +1 -1
  19. package/fesm2015/primeng-fileupload.mjs +1 -1
  20. package/fesm2015/primeng-fileupload.mjs.map +1 -1
  21. package/fesm2015/primeng-image.mjs +10 -2
  22. package/fesm2015/primeng-image.mjs.map +1 -1
  23. package/fesm2015/primeng-tabview.mjs +34 -9
  24. package/fesm2015/primeng-tabview.mjs.map +1 -1
  25. package/fesm2020/primeng-autocomplete.mjs +1 -1
  26. package/fesm2020/primeng-autocomplete.mjs.map +1 -1
  27. package/fesm2020/primeng-button.mjs +3 -2
  28. package/fesm2020/primeng-button.mjs.map +1 -1
  29. package/fesm2020/primeng-calendar.mjs +0 -1
  30. package/fesm2020/primeng-calendar.mjs.map +1 -1
  31. package/fesm2020/primeng-dialog.mjs +1 -1
  32. package/fesm2020/primeng-dialog.mjs.map +1 -1
  33. package/fesm2020/primeng-dropdown.mjs +1 -1
  34. package/fesm2020/primeng-dropdown.mjs.map +1 -1
  35. package/fesm2020/primeng-fileupload.mjs +1 -1
  36. package/fesm2020/primeng-fileupload.mjs.map +1 -1
  37. package/fesm2020/primeng-image.mjs +10 -2
  38. package/fesm2020/primeng-image.mjs.map +1 -1
  39. package/fesm2020/primeng-tabview.mjs +34 -9
  40. package/fesm2020/primeng-tabview.mjs.map +1 -1
  41. package/image/image.d.ts +1 -0
  42. package/package.json +1 -1
  43. package/resources/components/tabview/tabview.css +2 -1
  44. package/tabview/tabview.d.ts +6 -0
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-fileupload.mjs","sources":["../../src/app/components/fileupload/fileupload.ts","../../src/app/components/fileupload/primeng-fileupload.ts"],"sourcesContent":["import {\n NgModule,\n Component,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n TemplateRef,\n AfterViewInit,\n AfterContentInit,\n ContentChildren,\n QueryList,\n ViewChild,\n ElementRef,\n NgZone,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ChangeDetectorRef,\n OnInit\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ButtonModule } from 'primeng/button';\nimport { MessagesModule } from 'primeng/messages';\nimport { ProgressBarModule } from 'primeng/progressbar';\nimport { DomHandler } from 'primeng/dom';\nimport { LicenseManager, Message, TranslationKeys } from 'primeng/api';\nimport { PrimeTemplate, SharedModule, PrimeNGConfig } from 'primeng/api';\nimport { BlockableUI } from 'primeng/api';\nimport { RippleModule } from 'primeng/ripple';\nimport { HttpClient, HttpEvent, HttpEventType, HttpHeaders } from '@angular/common/http';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'p-fileUpload',\n template: `\n <div [ngClass]=\"'p-fileupload p-fileupload-advanced p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" *ngIf=\"mode === 'advanced'\">\n <div class=\"p-fileupload-buttonbar\">\n <span\n class=\"p-button p-component p-fileupload-choose\"\n [ngClass]=\"{ 'p-focus': focus, 'p-disabled': disabled || isChooseDisabled() }\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n pRipple\n (click)=\"choose()\"\n (keydown.enter)=\"choose()\"\n tabindex=\"0\"\n [class]=\"chooseStyleClass\"\n >\n <input #advancedfileinput type=\"file\" (change)=\"onFileSelect($event)\" [multiple]=\"multiple\" [accept]=\"accept\" [disabled]=\"disabled || isChooseDisabled()\" [attr.title]=\"''\" />\n <span [ngClass]=\"'p-button-icon p-button-icon-left'\" [class]=\"chooseIcon\"></span>\n <span class=\"p-button-label\">{{ chooseButtonLabel }}</span>\n </span>\n\n <p-button *ngIf=\"!auto && showUploadButton\" type=\"button\" [label]=\"uploadButtonLabel\" [icon]=\"uploadIcon\" (onClick)=\"upload()\" [disabled]=\"!hasFiles() || isFileLimitExceeded()\" [styleClass]=\"uploadStyleClass\"></p-button>\n <p-button *ngIf=\"!auto && showCancelButton\" type=\"button\" [label]=\"cancelButtonLabel\" [icon]=\"cancelIcon\" (onClick)=\"clear()\" [disabled]=\"!hasFiles() || uploading\" [styleClass]=\"cancelStyleClass\"></p-button>\n\n <ng-container *ngTemplateOutlet=\"toolbarTemplate\"></ng-container>\n </div>\n <div #content class=\"p-fileupload-content\" (dragenter)=\"onDragEnter($event)\" (dragleave)=\"onDragLeave($event)\" (drop)=\"onDrop($event)\">\n <p-progressBar [value]=\"progress\" [showValue]=\"false\" *ngIf=\"hasFiles()\"></p-progressBar>\n\n <p-messages [value]=\"msgs\" [enableService]=\"false\"></p-messages>\n\n <div class=\"p-fileupload-files\" *ngIf=\"hasFiles()\">\n <div *ngIf=\"!fileTemplate\">\n <div class=\"p-fileupload-row\" *ngFor=\"let file of files; let i = index\">\n <div><img [src]=\"file.objectURL\" *ngIf=\"isImage(file)\" [width]=\"previewWidth\" (error)=\"imageError($event)\" /></div>\n <div class=\"p-fileupload-filename\">{{ file.name }}</div>\n <div>{{ formatSize(file.size) }}</div>\n <div>\n <button type=\"button\" icon=\"pi pi-times\" pButton (click)=\"remove($event, i)\" [disabled]=\"uploading\" [class]=\"removeStyleClass\"></button>\n </div>\n </div>\n </div>\n <div *ngIf=\"fileTemplate\">\n <ng-template ngFor [ngForOf]=\"files\" [ngForTemplate]=\"fileTemplate\"></ng-template>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: files }\"></ng-container>\n </div>\n </div>\n <div class=\"p-fileupload p-fileupload-basic p-component\" *ngIf=\"mode === 'basic'\">\n <p-messages [value]=\"msgs\" [enableService]=\"false\"></p-messages>\n <span\n [ngClass]=\"{ 'p-button p-component p-fileupload-choose': true, 'p-button-icon-only': !chooseLabel, 'p-fileupload-choose-selected': hasFiles(), 'p-focus': focus, 'p-disabled': disabled }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n (mouseup)=\"onBasicUploaderClick()\"\n (keydown)=\"onBasicKeydown($event)\"\n tabindex=\"0\"\n pRipple\n >\n <span class=\"p-button-icon p-button-icon-left pi\" [ngClass]=\"hasFiles() && !auto ? uploadIcon : chooseIcon\"></span>\n <span class=\"p-button-label\">{{ basicButtonLabel }}</span>\n <input #basicfileinput type=\"file\" [accept]=\"accept\" [multiple]=\"multiple\" [disabled]=\"disabled\" (change)=\"onFileSelect($event)\" *ngIf=\"!hasFiles()\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" />\n </span>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./fileupload.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class FileUpload implements AfterViewInit, AfterContentInit, OnInit, OnDestroy, BlockableUI {\n @Input() name: string;\n\n @Input() url: string;\n\n @Input() method: string = 'post';\n\n @Input() multiple: boolean;\n\n @Input() accept: string;\n\n @Input() disabled: boolean;\n\n @Input() auto: boolean;\n\n @Input() withCredentials: boolean;\n\n @Input() maxFileSize: number;\n\n @Input() invalidFileSizeMessageSummary: string = '{0}: Invalid file size, ';\n\n @Input() invalidFileSizeMessageDetail: string = 'maximum upload size is {0}.';\n\n @Input() invalidFileTypeMessageSummary: string = '{0}: Invalid file type, ';\n\n @Input() invalidFileTypeMessageDetail: string = 'allowed file types: {0}.';\n\n @Input() invalidFileLimitMessageDetail: string = 'limit is {0} at most.';\n\n @Input() invalidFileLimitMessageSummary: string = 'Maximum number of files exceeded, ';\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() previewWidth: number = 50;\n\n @Input() chooseLabel: string;\n\n @Input() uploadLabel: string;\n\n @Input() cancelLabel: string;\n\n @Input() chooseIcon: string = 'pi pi-plus';\n\n @Input() uploadIcon: string = 'pi pi-upload';\n\n @Input() cancelIcon: string = 'pi pi-times';\n\n @Input() showUploadButton: boolean = true;\n\n @Input() showCancelButton: boolean = true;\n\n @Input() mode: string = 'advanced';\n\n @Input() headers: HttpHeaders;\n\n @Input() customUpload: boolean;\n\n @Input() fileLimit: number;\n\n @Input() uploadStyleClass: string;\n\n @Input() cancelStyleClass: string;\n\n @Input() removeStyleClass: string;\n\n @Input() chooseStyleClass: string;\n\n @Output() onBeforeUpload: EventEmitter<any> = new EventEmitter();\n\n @Output() onSend: EventEmitter<any> = new EventEmitter();\n\n @Output() onUpload: EventEmitter<any> = new EventEmitter();\n\n @Output() onError: EventEmitter<any> = new EventEmitter();\n\n @Output() onClear: EventEmitter<any> = new EventEmitter();\n\n @Output() onRemove: EventEmitter<any> = new EventEmitter();\n\n @Output() onSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onProgress: EventEmitter<any> = new EventEmitter();\n\n @Output() uploadHandler: EventEmitter<any> = new EventEmitter();\n\n @Output() onImageError: EventEmitter<any> = new EventEmitter();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @ViewChild('advancedfileinput') advancedFileInput: ElementRef;\n\n @ViewChild('basicfileinput') basicFileInput: ElementRef;\n\n @ViewChild('content') content: ElementRef;\n\n @Input() set files(files) {\n this._files = [];\n\n for (let i = 0; i < files.length; i++) {\n let file = files[i];\n\n if (this.validate(file)) {\n if (this.isImage(file)) {\n (<any>file).objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(files[i]));\n }\n\n this._files.push(files[i]);\n }\n }\n }\n\n get files(): File[] {\n return this._files;\n }\n\n public get basicButtonLabel(): string {\n if (this.auto || !this.hasFiles()) {\n return this.chooseLabel;\n }\n\n return this.uploadLabel ?? this.files[0].name;\n }\n\n public _files: File[] = [];\n\n public progress: number = 0;\n\n public dragHighlight: boolean;\n\n public msgs: Message[];\n\n public fileTemplate: TemplateRef<any>;\n\n public contentTemplate: TemplateRef<any>;\n\n public toolbarTemplate: TemplateRef<any>;\n\n public uploadedFileCount: number = 0;\n\n focus: boolean;\n\n uploading: boolean;\n\n duplicateIEEvent: boolean; // flag to recognize duplicate onchange event for file input\n\n translationSubscription: Subscription;\n\n constructor(private el: ElementRef, public sanitizer: DomSanitizer, public zone: NgZone, private http: HttpClient, public cd: ChangeDetectorRef, public config: PrimeNGConfig) {}\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'file':\n this.fileTemplate = item.template;\n break;\n\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'toolbar':\n this.toolbarTemplate = item.template;\n break;\n\n default:\n this.fileTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnInit() {\n this.translationSubscription = this.config.translationObserver.subscribe(() => {\n this.cd.markForCheck();\n });\n }\n\n ngAfterViewInit() {\n if (this.mode === 'advanced') {\n this.zone.runOutsideAngular(() => {\n if (this.content) this.content.nativeElement.addEventListener('dragover', this.onDragOver.bind(this));\n });\n }\n LicenseManager.check();\n }\n\n choose() {\n this.advancedFileInput.nativeElement.click();\n }\n\n onFileSelect(event) {\n if (event.type !== 'drop' && this.isIE11() && this.duplicateIEEvent) {\n this.duplicateIEEvent = false;\n return;\n }\n\n this.msgs = [];\n if (!this.multiple) {\n this.files = [];\n }\n\n let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n for (let i = 0; i < files.length; i++) {\n let file = files[i];\n\n if (!this.isFileSelected(file)) {\n if (this.validate(file)) {\n if (this.isImage(file)) {\n file.objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(files[i]));\n }\n\n this.files.push(files[i]);\n }\n }\n }\n\n this.onSelect.emit({ originalEvent: event, files: files, currentFiles: this.files });\n\n if (this.fileLimit) {\n this.checkFileLimit();\n }\n\n if (this.hasFiles() && this.auto && (!(this.mode === 'advanced') || !this.isFileLimitExceeded())) {\n this.upload();\n }\n\n if (event.type !== 'drop' && this.isIE11()) {\n this.clearIEInput();\n } else {\n this.clearInputElement();\n }\n }\n\n isFileSelected(file: File): boolean {\n for (let sFile of this.files) {\n if (sFile.name + sFile.type + sFile.size === file.name + file.type + file.size) {\n return true;\n }\n }\n\n return false;\n }\n\n isIE11() {\n return !!window['MSInputMethodContext'] && !!document['documentMode'];\n }\n\n validate(file: File): boolean {\n this.msgs = [];\n if (this.accept && !this.isFileTypeValid(file)) {\n this.msgs.push({\n severity: 'error',\n summary: this.invalidFileTypeMessageSummary.replace('{0}', file.name),\n detail: this.invalidFileTypeMessageDetail.replace('{0}', this.accept)\n });\n return false;\n }\n\n if (this.maxFileSize && file.size > this.maxFileSize) {\n this.msgs.push({\n severity: 'error',\n summary: this.invalidFileSizeMessageSummary.replace('{0}', file.name),\n detail: this.invalidFileSizeMessageDetail.replace('{0}', this.formatSize(this.maxFileSize))\n });\n return false;\n }\n\n return true;\n }\n\n private isFileTypeValid(file: File): boolean {\n let acceptableTypes = this.accept.split(',').map((type) => type.trim());\n for (let type of acceptableTypes) {\n let acceptable = this.isWildcard(type) ? this.getTypeClass(file.type) === this.getTypeClass(type) : file.type == type || this.getFileExtension(file).toLowerCase() === type.toLowerCase();\n\n if (acceptable) {\n return true;\n }\n }\n\n return false;\n }\n\n getTypeClass(fileType: string): string {\n return fileType.substring(0, fileType.indexOf('/'));\n }\n\n isWildcard(fileType: string): boolean {\n return fileType.indexOf('*') !== -1;\n }\n\n getFileExtension(file: File): string {\n return '.' + file.name.split('.').pop();\n }\n\n isImage(file: File): boolean {\n return /^image\\//.test(file.type);\n }\n\n onImageLoad(img: any) {\n window.URL.revokeObjectURL(img.src);\n }\n\n upload() {\n if (this.customUpload) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.uploadHandler.emit({\n files: this.files\n });\n\n this.cd.markForCheck();\n } else {\n this.uploading = true;\n this.msgs = [];\n let formData = new FormData();\n\n this.onBeforeUpload.emit({\n formData: formData\n });\n\n for (let i = 0; i < this.files.length; i++) {\n formData.append(this.name, this.files[i], this.files[i].name);\n }\n\n this.http[this.method](this.url, formData, {\n headers: this.headers,\n reportProgress: true,\n observe: 'events',\n withCredentials: this.withCredentials\n }).subscribe(\n (event: HttpEvent<any>) => {\n switch (event.type) {\n case HttpEventType.Sent:\n this.onSend.emit({\n originalEvent: event,\n formData: formData\n });\n break;\n case HttpEventType.Response:\n this.uploading = false;\n this.progress = 0;\n\n if (event['status'] >= 200 && event['status'] < 300) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.onUpload.emit({ originalEvent: event, files: this.files });\n } else {\n this.onError.emit({ files: this.files });\n }\n\n this.clear();\n break;\n case HttpEventType.UploadProgress: {\n if (event['loaded']) {\n this.progress = Math.round((event['loaded'] * 100) / event['total']);\n }\n\n this.onProgress.emit({ originalEvent: event, progress: this.progress });\n break;\n }\n }\n\n this.cd.markForCheck();\n },\n (error) => {\n this.uploading = false;\n this.onError.emit({ files: this.files, error: error });\n }\n );\n }\n }\n\n clear() {\n this.files = [];\n this.onClear.emit();\n this.clearInputElement();\n this.cd.markForCheck();\n }\n\n remove(event: Event, index: number) {\n this.clearInputElement();\n this.onRemove.emit({ originalEvent: event, file: this.files[index] });\n this.files.splice(index, 1);\n this.checkFileLimit();\n }\n\n isFileLimitExceeded() {\n if (this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount && this.focus) {\n this.focus = false;\n }\n\n return this.fileLimit && this.fileLimit < this.files.length + this.uploadedFileCount;\n }\n\n isChooseDisabled() {\n return this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount;\n }\n\n checkFileLimit() {\n this.msgs = [];\n if (this.isFileLimitExceeded()) {\n this.msgs.push({\n severity: 'error',\n summary: this.invalidFileLimitMessageSummary.replace('{0}', this.fileLimit.toString()),\n detail: this.invalidFileLimitMessageDetail.replace('{0}', this.fileLimit.toString())\n });\n } else {\n this.msgs = [];\n }\n }\n\n clearInputElement() {\n if (this.advancedFileInput && this.advancedFileInput.nativeElement) {\n this.advancedFileInput.nativeElement.value = '';\n }\n\n if (this.basicFileInput && this.basicFileInput.nativeElement) {\n this.basicFileInput.nativeElement.value = '';\n }\n }\n\n clearIEInput() {\n if (this.advancedFileInput && this.advancedFileInput.nativeElement) {\n this.duplicateIEEvent = true; //IE11 fix to prevent onFileChange trigger again\n this.advancedFileInput.nativeElement.value = '';\n }\n }\n\n hasFiles(): boolean {\n return this.files && this.files.length > 0;\n }\n\n onDragEnter(e) {\n if (!this.disabled) {\n e.stopPropagation();\n e.preventDefault();\n }\n }\n\n onDragOver(e) {\n if (!this.disabled) {\n DomHandler.addClass(this.content.nativeElement, 'p-fileupload-highlight');\n this.dragHighlight = true;\n e.stopPropagation();\n e.preventDefault();\n }\n }\n\n onDragLeave(event) {\n if (!this.disabled) {\n DomHandler.removeClass(this.content.nativeElement, 'p-fileupload-highlight');\n }\n }\n\n onDrop(event) {\n if (!this.disabled) {\n DomHandler.removeClass(this.content.nativeElement, 'p-fileupload-highlight');\n event.stopPropagation();\n event.preventDefault();\n\n let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n let allowDrop = this.multiple || (files && files.length === 1);\n\n if (allowDrop) {\n this.onFileSelect(event);\n }\n }\n }\n\n onFocus() {\n this.focus = true;\n }\n\n onBlur() {\n this.focus = false;\n }\n\n formatSize(bytes) {\n if (bytes == 0) {\n return '0 B';\n }\n let k = 1000,\n dm = 3,\n sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],\n i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n }\n\n onBasicUploaderClick() {\n if (this.hasFiles()) this.upload();\n else this.basicFileInput.nativeElement.click();\n }\n\n onBasicKeydown(event: KeyboardEvent) {\n switch (event.code) {\n case 'Space':\n case 'Enter':\n this.onBasicUploaderClick();\n\n event.preventDefault();\n break;\n }\n }\n\n imageError(event) {\n this.onImageError.emit(event);\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n get chooseButtonLabel(): string {\n return this.chooseLabel || this.config.getTranslation(TranslationKeys.CHOOSE);\n }\n\n get uploadButtonLabel(): string {\n return this.uploadLabel || this.config.getTranslation(TranslationKeys.UPLOAD);\n }\n\n get cancelButtonLabel(): string {\n return this.cancelLabel || this.config.getTranslation(TranslationKeys.CANCEL);\n }\n\n ngOnDestroy() {\n if (this.content && this.content.nativeElement) {\n this.content.nativeElement.removeEventListener('dragover', this.onDragOver);\n }\n\n if (this.translationSubscription) {\n this.translationSubscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule],\n exports: [FileUpload, SharedModule, ButtonModule, ProgressBarModule, MessagesModule],\n declarations: [FileUpload]\n})\nexport class FileUploadModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-fileupload.mjs","sources":["../../src/app/components/fileupload/fileupload.ts","../../src/app/components/fileupload/primeng-fileupload.ts"],"sourcesContent":["import {\n NgModule,\n Component,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n TemplateRef,\n AfterViewInit,\n AfterContentInit,\n ContentChildren,\n QueryList,\n ViewChild,\n ElementRef,\n NgZone,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ChangeDetectorRef,\n OnInit\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ButtonModule } from 'primeng/button';\nimport { MessagesModule } from 'primeng/messages';\nimport { ProgressBarModule } from 'primeng/progressbar';\nimport { DomHandler } from 'primeng/dom';\nimport { LicenseManager, Message, TranslationKeys } from 'primeng/api';\nimport { PrimeTemplate, SharedModule, PrimeNGConfig } from 'primeng/api';\nimport { BlockableUI } from 'primeng/api';\nimport { RippleModule } from 'primeng/ripple';\nimport { HttpClient, HttpEvent, HttpEventType, HttpHeaders } from '@angular/common/http';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'p-fileUpload',\n template: `\n <div [ngClass]=\"'p-fileupload p-fileupload-advanced p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" *ngIf=\"mode === 'advanced'\">\n <div class=\"p-fileupload-buttonbar\">\n <span\n class=\"p-button p-component p-fileupload-choose\"\n [ngClass]=\"{ 'p-focus': focus, 'p-disabled': disabled || isChooseDisabled() }\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n pRipple\n (click)=\"choose()\"\n (keydown.enter)=\"choose()\"\n tabindex=\"0\"\n [class]=\"chooseStyleClass\"\n >\n <input #advancedfileinput type=\"file\" (change)=\"onFileSelect($event)\" [multiple]=\"multiple\" [accept]=\"accept\" [disabled]=\"disabled || isChooseDisabled()\" [attr.title]=\"''\" />\n <span [ngClass]=\"'p-button-icon p-button-icon-left'\" [class]=\"chooseIcon\"></span>\n <span class=\"p-button-label\">{{ chooseButtonLabel }}</span>\n </span>\n\n <p-button *ngIf=\"!auto && showUploadButton\" type=\"button\" [label]=\"uploadButtonLabel\" [icon]=\"uploadIcon\" (onClick)=\"upload()\" [disabled]=\"!hasFiles() || isFileLimitExceeded()\" [styleClass]=\"uploadStyleClass\"></p-button>\n <p-button *ngIf=\"!auto && showCancelButton\" type=\"button\" [label]=\"cancelButtonLabel\" [icon]=\"cancelIcon\" (onClick)=\"clear()\" [disabled]=\"!hasFiles() || uploading\" [styleClass]=\"cancelStyleClass\"></p-button>\n\n <ng-container *ngTemplateOutlet=\"toolbarTemplate\"></ng-container>\n </div>\n <div #content class=\"p-fileupload-content\" (dragenter)=\"onDragEnter($event)\" (dragleave)=\"onDragLeave($event)\" (drop)=\"onDrop($event)\">\n <p-progressBar [value]=\"progress\" [showValue]=\"false\" *ngIf=\"hasFiles()\"></p-progressBar>\n\n <p-messages [value]=\"msgs\" [enableService]=\"false\"></p-messages>\n\n <div class=\"p-fileupload-files\" *ngIf=\"hasFiles()\">\n <div *ngIf=\"!fileTemplate\">\n <div class=\"p-fileupload-row\" *ngFor=\"let file of files; let i = index\">\n <div><img [src]=\"file.objectURL\" *ngIf=\"isImage(file)\" [width]=\"previewWidth\" (error)=\"imageError($event)\" /></div>\n <div class=\"p-fileupload-filename\">{{ file.name }}</div>\n <div>{{ formatSize(file.size) }}</div>\n <div>\n <button type=\"button\" icon=\"pi pi-times\" pButton (click)=\"remove($event, i)\" [disabled]=\"uploading\" [class]=\"removeStyleClass\"></button>\n </div>\n </div>\n </div>\n <div *ngIf=\"fileTemplate\">\n <ng-template ngFor [ngForOf]=\"files\" [ngForTemplate]=\"fileTemplate\"></ng-template>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: files }\"></ng-container>\n </div>\n </div>\n <div class=\"p-fileupload p-fileupload-basic p-component\" *ngIf=\"mode === 'basic'\">\n <p-messages [value]=\"msgs\" [enableService]=\"false\"></p-messages>\n <span\n [ngClass]=\"{ 'p-button p-component p-fileupload-choose': true, 'p-button-icon-only': !chooseLabel, 'p-fileupload-choose-selected': hasFiles(), 'p-focus': focus, 'p-disabled': disabled }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n (mouseup)=\"onBasicUploaderClick()\"\n (keydown)=\"onBasicKeydown($event)\"\n tabindex=\"0\"\n pRipple\n >\n <span class=\"p-button-icon p-button-icon-left pi\" [ngClass]=\"hasFiles() && !auto ? uploadIcon : chooseIcon\"></span>\n <span class=\"p-button-label\">{{ basicButtonLabel }}</span>\n <input #basicfileinput type=\"file\" [accept]=\"accept\" [multiple]=\"multiple\" [disabled]=\"disabled\" (change)=\"onFileSelect($event)\" *ngIf=\"!hasFiles()\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" />\n </span>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./fileupload.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class FileUpload implements AfterViewInit, AfterContentInit, OnInit, OnDestroy, BlockableUI {\n @Input() name: string;\n\n @Input() url: string;\n\n @Input() method: string = 'post';\n\n @Input() multiple: boolean;\n\n @Input() accept: string;\n\n @Input() disabled: boolean;\n\n @Input() auto: boolean;\n\n @Input() withCredentials: boolean;\n\n @Input() maxFileSize: number;\n\n @Input() invalidFileSizeMessageSummary: string = '{0}: Invalid file size, ';\n\n @Input() invalidFileSizeMessageDetail: string = 'maximum upload size is {0}.';\n\n @Input() invalidFileTypeMessageSummary: string = '{0}: Invalid file type, ';\n\n @Input() invalidFileTypeMessageDetail: string = 'allowed file types: {0}.';\n\n @Input() invalidFileLimitMessageDetail: string = 'limit is {0} at most.';\n\n @Input() invalidFileLimitMessageSummary: string = 'Maximum number of files exceeded, ';\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() previewWidth: number = 50;\n\n @Input() chooseLabel: string;\n\n @Input() uploadLabel: string;\n\n @Input() cancelLabel: string;\n\n @Input() chooseIcon: string = 'pi pi-plus';\n\n @Input() uploadIcon: string = 'pi pi-upload';\n\n @Input() cancelIcon: string = 'pi pi-times';\n\n @Input() showUploadButton: boolean = true;\n\n @Input() showCancelButton: boolean = true;\n\n @Input() mode: string = 'advanced';\n\n @Input() headers: HttpHeaders;\n\n @Input() customUpload: boolean;\n\n @Input() fileLimit: number;\n\n @Input() uploadStyleClass: string;\n\n @Input() cancelStyleClass: string;\n\n @Input() removeStyleClass: string;\n\n @Input() chooseStyleClass: string;\n\n @Output() onBeforeUpload: EventEmitter<any> = new EventEmitter();\n\n @Output() onSend: EventEmitter<any> = new EventEmitter();\n\n @Output() onUpload: EventEmitter<any> = new EventEmitter();\n\n @Output() onError: EventEmitter<any> = new EventEmitter();\n\n @Output() onClear: EventEmitter<any> = new EventEmitter();\n\n @Output() onRemove: EventEmitter<any> = new EventEmitter();\n\n @Output() onSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onProgress: EventEmitter<any> = new EventEmitter();\n\n @Output() uploadHandler: EventEmitter<any> = new EventEmitter();\n\n @Output() onImageError: EventEmitter<any> = new EventEmitter();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @ViewChild('advancedfileinput') advancedFileInput: ElementRef;\n\n @ViewChild('basicfileinput') basicFileInput: ElementRef;\n\n @ViewChild('content') content: ElementRef;\n\n @Input() set files(files) {\n this._files = [];\n\n for (let i = 0; i < files.length; i++) {\n let file = files[i];\n\n if (this.validate(file)) {\n if (this.isImage(file)) {\n (<any>file).objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(files[i]));\n }\n\n this._files.push(files[i]);\n }\n }\n }\n\n get files(): File[] {\n return this._files;\n }\n\n public get basicButtonLabel(): string {\n if (this.auto || !this.hasFiles()) {\n return this.chooseLabel;\n }\n\n return this.uploadLabel ?? this.files[0].name;\n }\n\n public _files: File[] = [];\n\n public progress: number = 0;\n\n public dragHighlight: boolean;\n\n public msgs: Message[];\n\n public fileTemplate: TemplateRef<any>;\n\n public contentTemplate: TemplateRef<any>;\n\n public toolbarTemplate: TemplateRef<any>;\n\n public uploadedFileCount: number = 0;\n\n focus: boolean;\n\n uploading: boolean;\n\n duplicateIEEvent: boolean; // flag to recognize duplicate onchange event for file input\n\n translationSubscription: Subscription;\n\n constructor(private el: ElementRef, public sanitizer: DomSanitizer, public zone: NgZone, private http: HttpClient, public cd: ChangeDetectorRef, public config: PrimeNGConfig) {}\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'file':\n this.fileTemplate = item.template;\n break;\n\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'toolbar':\n this.toolbarTemplate = item.template;\n break;\n\n default:\n this.fileTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnInit() {\n this.translationSubscription = this.config.translationObserver.subscribe(() => {\n this.cd.markForCheck();\n });\n }\n\n ngAfterViewInit() {\n if (this.mode === 'advanced') {\n this.zone.runOutsideAngular(() => {\n if (this.content) this.content.nativeElement.addEventListener('dragover', this.onDragOver.bind(this));\n });\n }\n LicenseManager.check();\n }\n\n choose() {\n this.advancedFileInput.nativeElement.click();\n }\n\n onFileSelect(event) {\n if (event.type !== 'drop' && this.isIE11() && this.duplicateIEEvent) {\n this.duplicateIEEvent = false;\n return;\n }\n\n this.msgs = [];\n if (!this.multiple) {\n this.files = [];\n }\n\n let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n for (let i = 0; i < files.length; i++) {\n let file = files[i];\n\n if (!this.isFileSelected(file)) {\n if (this.validate(file)) {\n if (this.isImage(file)) {\n file.objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(files[i]));\n }\n\n this.files.push(files[i]);\n }\n }\n }\n\n this.onSelect.emit({ originalEvent: event, files: files, currentFiles: this.files });\n\n if (this.fileLimit) {\n this.checkFileLimit();\n }\n\n if (this.hasFiles() && this.auto && (!(this.mode === 'advanced') || !this.isFileLimitExceeded())) {\n this.upload();\n }\n\n if (event.type !== 'drop' && this.isIE11()) {\n this.clearIEInput();\n } else {\n this.clearInputElement();\n }\n }\n\n isFileSelected(file: File): boolean {\n for (let sFile of this.files) {\n if (sFile.name + sFile.type + sFile.size === file.name + file.type + file.size) {\n return true;\n }\n }\n\n return false;\n }\n\n isIE11() {\n return !!window['MSInputMethodContext'] && !!document['documentMode'];\n }\n\n validate(file: File): boolean {\n this.msgs = this.msgs || [];\n if (this.accept && !this.isFileTypeValid(file)) {\n this.msgs.push({\n severity: 'error',\n summary: this.invalidFileTypeMessageSummary.replace('{0}', file.name),\n detail: this.invalidFileTypeMessageDetail.replace('{0}', this.accept)\n });\n return false;\n }\n\n if (this.maxFileSize && file.size > this.maxFileSize) {\n this.msgs.push({\n severity: 'error',\n summary: this.invalidFileSizeMessageSummary.replace('{0}', file.name),\n detail: this.invalidFileSizeMessageDetail.replace('{0}', this.formatSize(this.maxFileSize))\n });\n return false;\n }\n\n return true;\n }\n\n private isFileTypeValid(file: File): boolean {\n let acceptableTypes = this.accept.split(',').map((type) => type.trim());\n for (let type of acceptableTypes) {\n let acceptable = this.isWildcard(type) ? this.getTypeClass(file.type) === this.getTypeClass(type) : file.type == type || this.getFileExtension(file).toLowerCase() === type.toLowerCase();\n\n if (acceptable) {\n return true;\n }\n }\n\n return false;\n }\n\n getTypeClass(fileType: string): string {\n return fileType.substring(0, fileType.indexOf('/'));\n }\n\n isWildcard(fileType: string): boolean {\n return fileType.indexOf('*') !== -1;\n }\n\n getFileExtension(file: File): string {\n return '.' + file.name.split('.').pop();\n }\n\n isImage(file: File): boolean {\n return /^image\\//.test(file.type);\n }\n\n onImageLoad(img: any) {\n window.URL.revokeObjectURL(img.src);\n }\n\n upload() {\n if (this.customUpload) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.uploadHandler.emit({\n files: this.files\n });\n\n this.cd.markForCheck();\n } else {\n this.uploading = true;\n this.msgs = [];\n let formData = new FormData();\n\n this.onBeforeUpload.emit({\n formData: formData\n });\n\n for (let i = 0; i < this.files.length; i++) {\n formData.append(this.name, this.files[i], this.files[i].name);\n }\n\n this.http[this.method](this.url, formData, {\n headers: this.headers,\n reportProgress: true,\n observe: 'events',\n withCredentials: this.withCredentials\n }).subscribe(\n (event: HttpEvent<any>) => {\n switch (event.type) {\n case HttpEventType.Sent:\n this.onSend.emit({\n originalEvent: event,\n formData: formData\n });\n break;\n case HttpEventType.Response:\n this.uploading = false;\n this.progress = 0;\n\n if (event['status'] >= 200 && event['status'] < 300) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.onUpload.emit({ originalEvent: event, files: this.files });\n } else {\n this.onError.emit({ files: this.files });\n }\n\n this.clear();\n break;\n case HttpEventType.UploadProgress: {\n if (event['loaded']) {\n this.progress = Math.round((event['loaded'] * 100) / event['total']);\n }\n\n this.onProgress.emit({ originalEvent: event, progress: this.progress });\n break;\n }\n }\n\n this.cd.markForCheck();\n },\n (error) => {\n this.uploading = false;\n this.onError.emit({ files: this.files, error: error });\n }\n );\n }\n }\n\n clear() {\n this.files = [];\n this.onClear.emit();\n this.clearInputElement();\n this.cd.markForCheck();\n }\n\n remove(event: Event, index: number) {\n this.clearInputElement();\n this.onRemove.emit({ originalEvent: event, file: this.files[index] });\n this.files.splice(index, 1);\n this.checkFileLimit();\n }\n\n isFileLimitExceeded() {\n if (this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount && this.focus) {\n this.focus = false;\n }\n\n return this.fileLimit && this.fileLimit < this.files.length + this.uploadedFileCount;\n }\n\n isChooseDisabled() {\n return this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount;\n }\n\n checkFileLimit() {\n this.msgs = [];\n if (this.isFileLimitExceeded()) {\n this.msgs.push({\n severity: 'error',\n summary: this.invalidFileLimitMessageSummary.replace('{0}', this.fileLimit.toString()),\n detail: this.invalidFileLimitMessageDetail.replace('{0}', this.fileLimit.toString())\n });\n } else {\n this.msgs = [];\n }\n }\n\n clearInputElement() {\n if (this.advancedFileInput && this.advancedFileInput.nativeElement) {\n this.advancedFileInput.nativeElement.value = '';\n }\n\n if (this.basicFileInput && this.basicFileInput.nativeElement) {\n this.basicFileInput.nativeElement.value = '';\n }\n }\n\n clearIEInput() {\n if (this.advancedFileInput && this.advancedFileInput.nativeElement) {\n this.duplicateIEEvent = true; //IE11 fix to prevent onFileChange trigger again\n this.advancedFileInput.nativeElement.value = '';\n }\n }\n\n hasFiles(): boolean {\n return this.files && this.files.length > 0;\n }\n\n onDragEnter(e) {\n if (!this.disabled) {\n e.stopPropagation();\n e.preventDefault();\n }\n }\n\n onDragOver(e) {\n if (!this.disabled) {\n DomHandler.addClass(this.content.nativeElement, 'p-fileupload-highlight');\n this.dragHighlight = true;\n e.stopPropagation();\n e.preventDefault();\n }\n }\n\n onDragLeave(event) {\n if (!this.disabled) {\n DomHandler.removeClass(this.content.nativeElement, 'p-fileupload-highlight');\n }\n }\n\n onDrop(event) {\n if (!this.disabled) {\n DomHandler.removeClass(this.content.nativeElement, 'p-fileupload-highlight');\n event.stopPropagation();\n event.preventDefault();\n\n let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n let allowDrop = this.multiple || (files && files.length === 1);\n\n if (allowDrop) {\n this.onFileSelect(event);\n }\n }\n }\n\n onFocus() {\n this.focus = true;\n }\n\n onBlur() {\n this.focus = false;\n }\n\n formatSize(bytes) {\n if (bytes == 0) {\n return '0 B';\n }\n let k = 1000,\n dm = 3,\n sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],\n i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n }\n\n onBasicUploaderClick() {\n if (this.hasFiles()) this.upload();\n else this.basicFileInput.nativeElement.click();\n }\n\n onBasicKeydown(event: KeyboardEvent) {\n switch (event.code) {\n case 'Space':\n case 'Enter':\n this.onBasicUploaderClick();\n\n event.preventDefault();\n break;\n }\n }\n\n imageError(event) {\n this.onImageError.emit(event);\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n get chooseButtonLabel(): string {\n return this.chooseLabel || this.config.getTranslation(TranslationKeys.CHOOSE);\n }\n\n get uploadButtonLabel(): string {\n return this.uploadLabel || this.config.getTranslation(TranslationKeys.UPLOAD);\n }\n\n get cancelButtonLabel(): string {\n return this.cancelLabel || this.config.getTranslation(TranslationKeys.CANCEL);\n }\n\n ngOnDestroy() {\n if (this.content && this.content.nativeElement) {\n this.content.nativeElement.removeEventListener('dragover', this.onDragOver);\n }\n\n if (this.translationSubscription) {\n this.translationSubscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule],\n exports: [FileUpload, SharedModule, ButtonModule, ProgressBarModule, MessagesModule],\n declarations: [FileUpload]\n})\nexport class FileUploadModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, ContentChildren, NgModule } from '@angular/core';
2
+ import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, ContentChildren, HostListener, NgModule } from '@angular/core';
3
3
  import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1 from 'primeng/api';
@@ -141,9 +141,14 @@ class Image {
141
141
  imageError(event) {
142
142
  this.onImageError.emit(event);
143
143
  }
144
+ onKeydownHandler(event) {
145
+ if (this.previewVisible) {
146
+ this.closePreview();
147
+ }
148
+ }
144
149
  }
145
150
  Image.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: Image, deps: [{ token: i1.PrimeNGConfig }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
146
- Image.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: Image, selector: "p-image", inputs: { imageClass: "imageClass", imageStyle: "imageStyle", styleClass: "styleClass", style: "style", src: "src", alt: "alt", width: "width", height: "height", appendTo: "appendTo", preview: "preview", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onShow: "onShow", onHide: "onHide", onImageError: "onImageError" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "mask", first: true, predicate: ["mask"], descendants: true }], ngImport: i0, template: `
151
+ Image.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: Image, selector: "p-image", inputs: { imageClass: "imageClass", imageStyle: "imageStyle", styleClass: "styleClass", style: "style", src: "src", alt: "alt", width: "width", height: "height", appendTo: "appendTo", preview: "preview", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onShow: "onShow", onHide: "onHide", onImageError: "onImageError" }, host: { listeners: { "document:keydown.escape": "onKeydownHandler($event)" }, classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "mask", first: true, predicate: ["mask"], descendants: true }], ngImport: i0, template: `
147
152
  <span [ngClass]="containerClass()" [class]="styleClass" [ngStyle]="style">
148
153
  <img [attr.src]="src" [attr.alt]="alt" [attr.width]="width" [attr.height]="height" [ngStyle]="imageStyle" [class]="imageClass" (error)="imageError($event)" />
149
154
  <div class="p-image-preview-indicator" *ngIf="preview" (click)="onImageClick()">
@@ -273,6 +278,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
273
278
  }], templates: [{
274
279
  type: ContentChildren,
275
280
  args: [PrimeTemplate]
281
+ }], onKeydownHandler: [{
282
+ type: HostListener,
283
+ args: ['document:keydown.escape', ['$event']]
276
284
  }] } });
277
285
  class ImageModule {
278
286
  }
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-image.mjs","sources":["../../src/app/components/image/image.ts","../../src/app/components/image/primeng-image.ts"],"sourcesContent":["import { NgModule, Component, Input, ElementRef, ChangeDetectionStrategy, ViewEncapsulation, TemplateRef, AfterContentInit, ContentChildren, QueryList, Output, EventEmitter, ChangeDetectorRef, ViewChild, AfterViewInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule, PrimeTemplate, PrimeNGConfig, LicenseManager } from 'primeng/api';\nimport { trigger, style, transition, animate, AnimationEvent } from '@angular/animations';\nimport { SafeUrl } from '@angular/platform-browser';\nimport { DomHandler } from 'primeng/dom';\nimport { ZIndexUtils } from 'primeng/utils';\n\n@Component({\n selector: 'p-image',\n template: `\n <span [ngClass]=\"containerClass()\" [class]=\"styleClass\" [ngStyle]=\"style\">\n <img [attr.src]=\"src\" [attr.alt]=\"alt\" [attr.width]=\"width\" [attr.height]=\"height\" [ngStyle]=\"imageStyle\" [class]=\"imageClass\" (error)=\"imageError($event)\" />\n <div class=\"p-image-preview-indicator\" *ngIf=\"preview\" (click)=\"onImageClick()\">\n <ng-container *ngIf=\"indicatorTemplate; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"indicatorTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultTemplate>\n <i class=\"p-image-preview-icon pi pi-eye\"></i>\n </ng-template>\n </div>\n <div #mask class=\"p-image-mask p-component-overlay p-component-overlay-enter\" *ngIf=\"maskVisible\" (click)=\"onMaskClick()\">\n <div class=\"p-image-toolbar\" (click)=\"handleToolbarClick($event)\">\n <button class=\"p-image-action p-link\" (click)=\"rotateRight()\" type=\"button\">\n <i class=\"pi pi-refresh\"></i>\n </button>\n <button class=\"p-image-action p-link\" (click)=\"rotateLeft()\" type=\"button\">\n <i class=\"pi pi-undo\"></i>\n </button>\n <button class=\"p-image-action p-link\" (click)=\"zoomOut()\" type=\"button\" [disabled]=\"isZoomOutDisabled\">\n <i class=\"pi pi-search-minus\"></i>\n </button>\n <button class=\"p-image-action p-link\" (click)=\"zoomIn()\" type=\"button\" [disabled]=\"isZoomInDisabled\">\n <i class=\"pi pi-search-plus\"></i>\n </button>\n <button class=\"p-image-action p-link\" type=\"button\" (click)=\"closePreview()\">\n <i class=\"pi pi-times\"></i>\n </button>\n </div>\n <div\n *ngIf=\"previewVisible\"\n [@animation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\n (@animation.start)=\"onAnimationStart($event)\"\n (@animation.done)=\"onAnimationEnd($event)\"\n >\n <img [attr.src]=\"src\" class=\"p-image-preview\" [ngStyle]=\"imagePreviewStyle()\" (click)=\"onPreviewImageClick()\" />\n </div>\n </div>\n </span>\n `,\n animations: [\n trigger('animation', [\n transition('void => visible', [style({ transform: 'scale(0.7)', opacity: 0 }), animate('{{showTransitionParams}}')]),\n transition('visible => void', [animate('{{hideTransitionParams}}', style({ transform: 'scale(0.7)', opacity: 0 }))])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./image.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Image implements AfterContentInit, AfterViewInit {\n @Input() imageClass: string;\n\n @Input() imageStyle: any;\n\n @Input() styleClass: string;\n\n @Input() style: any;\n\n @Input() src: string | SafeUrl;\n\n @Input() alt: string;\n\n @Input() width: string;\n\n @Input() height: string;\n\n @Input() appendTo: any;\n\n @Input() preview: boolean = false;\n\n @Input() showTransitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n @Output() onImageError: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('mask') mask: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n indicatorTemplate: TemplateRef<any>;\n\n maskVisible: boolean = false;\n\n previewVisible: boolean = false;\n\n rotate: number = 0;\n\n scale: number = 1;\n\n previewClick: boolean = false;\n\n container: HTMLElement;\n\n wrapper: HTMLElement;\n\n public get isZoomOutDisabled(): boolean {\n return this.scale - this.zoomSettings.step <= this.zoomSettings.min;\n }\n\n public get isZoomInDisabled(): boolean {\n return this.scale + this.zoomSettings.step >= this.zoomSettings.max;\n }\n\n private zoomSettings = {\n default: 1,\n step: 0.1,\n max: 1.5,\n min: 0.5\n };\n\n constructor(private config: PrimeNGConfig, private cd: ChangeDetectorRef) {}\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'indicator':\n this.indicatorTemplate = item.template;\n break;\n\n default:\n this.indicatorTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewInit() {\n LicenseManager.check();\n }\n\n onImageClick() {\n if (this.preview) {\n this.maskVisible = true;\n this.previewVisible = true;\n }\n }\n\n onMaskClick() {\n if (!this.previewClick) {\n this.closePreview();\n }\n\n this.previewClick = false;\n }\n\n onPreviewImageClick() {\n this.previewClick = true;\n }\n\n rotateRight() {\n this.rotate += 90;\n this.previewClick = true;\n }\n\n rotateLeft() {\n this.rotate -= 90;\n this.previewClick = true;\n }\n\n zoomIn() {\n this.scale = this.scale + this.zoomSettings.step;\n this.previewClick = true;\n }\n\n zoomOut() {\n this.scale = this.scale - this.zoomSettings.step;\n this.previewClick = true;\n }\n\n onAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.container = event.element;\n this.wrapper = this.container.parentElement;\n this.appendContainer();\n this.moveOnTop();\n break;\n\n case 'void':\n DomHandler.addClass(this.wrapper, 'p-component-overlay-leave');\n break;\n }\n }\n\n onAnimationEnd(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n ZIndexUtils.clear(this.wrapper);\n this.maskVisible = false;\n this.container = null;\n this.wrapper = null;\n this.cd.markForCheck();\n this.onHide.emit({});\n break;\n case 'visible':\n this.onShow.emit({});\n break;\n }\n }\n\n moveOnTop() {\n ZIndexUtils.set('modal', this.wrapper, this.config.zIndex.modal);\n }\n\n appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body') document.body.appendChild(this.wrapper);\n else DomHandler.appendChild(this.wrapper, this.appendTo);\n }\n }\n\n imagePreviewStyle() {\n return { transform: 'rotate(' + this.rotate + 'deg) scale(' + this.scale + ')' };\n }\n\n containerClass() {\n return {\n 'p-image p-component': true,\n 'p-image-preview-container': this.preview\n };\n }\n\n handleToolbarClick(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n closePreview(): void {\n this.previewVisible = false;\n this.rotate = 0;\n this.scale = this.zoomSettings.default;\n }\n\n imageError(event) {\n this.onImageError.emit(event);\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Image, SharedModule],\n declarations: [Image]\n})\nexport class ImageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-image.mjs","sources":["../../src/app/components/image/image.ts","../../src/app/components/image/primeng-image.ts"],"sourcesContent":["import {\n NgModule,\n Component,\n Input,\n ElementRef,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n TemplateRef,\n AfterContentInit,\n ContentChildren,\n QueryList,\n Output,\n EventEmitter,\n HostListener,\n ChangeDetectorRef,\n ViewChild,\n AfterViewInit\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule, PrimeTemplate, PrimeNGConfig, LicenseManager } from 'primeng/api';\nimport { trigger, style, transition, animate, AnimationEvent } from '@angular/animations';\nimport { SafeUrl } from '@angular/platform-browser';\nimport { DomHandler } from 'primeng/dom';\nimport { ZIndexUtils } from 'primeng/utils';\n\n@Component({\n selector: 'p-image',\n template: `\n <span [ngClass]=\"containerClass()\" [class]=\"styleClass\" [ngStyle]=\"style\">\n <img [attr.src]=\"src\" [attr.alt]=\"alt\" [attr.width]=\"width\" [attr.height]=\"height\" [ngStyle]=\"imageStyle\" [class]=\"imageClass\" (error)=\"imageError($event)\" />\n <div class=\"p-image-preview-indicator\" *ngIf=\"preview\" (click)=\"onImageClick()\">\n <ng-container *ngIf=\"indicatorTemplate; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"indicatorTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultTemplate>\n <i class=\"p-image-preview-icon pi pi-eye\"></i>\n </ng-template>\n </div>\n <div #mask class=\"p-image-mask p-component-overlay p-component-overlay-enter\" *ngIf=\"maskVisible\" (click)=\"onMaskClick()\">\n <div class=\"p-image-toolbar\" (click)=\"handleToolbarClick($event)\">\n <button class=\"p-image-action p-link\" (click)=\"rotateRight()\" type=\"button\">\n <i class=\"pi pi-refresh\"></i>\n </button>\n <button class=\"p-image-action p-link\" (click)=\"rotateLeft()\" type=\"button\">\n <i class=\"pi pi-undo\"></i>\n </button>\n <button class=\"p-image-action p-link\" (click)=\"zoomOut()\" type=\"button\" [disabled]=\"isZoomOutDisabled\">\n <i class=\"pi pi-search-minus\"></i>\n </button>\n <button class=\"p-image-action p-link\" (click)=\"zoomIn()\" type=\"button\" [disabled]=\"isZoomInDisabled\">\n <i class=\"pi pi-search-plus\"></i>\n </button>\n <button class=\"p-image-action p-link\" type=\"button\" (click)=\"closePreview()\">\n <i class=\"pi pi-times\"></i>\n </button>\n </div>\n <div\n *ngIf=\"previewVisible\"\n [@animation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\n (@animation.start)=\"onAnimationStart($event)\"\n (@animation.done)=\"onAnimationEnd($event)\"\n >\n <img [attr.src]=\"src\" class=\"p-image-preview\" [ngStyle]=\"imagePreviewStyle()\" (click)=\"onPreviewImageClick()\" />\n </div>\n </div>\n </span>\n `,\n animations: [\n trigger('animation', [\n transition('void => visible', [style({ transform: 'scale(0.7)', opacity: 0 }), animate('{{showTransitionParams}}')]),\n transition('visible => void', [animate('{{hideTransitionParams}}', style({ transform: 'scale(0.7)', opacity: 0 }))])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./image.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Image implements AfterContentInit, AfterViewInit {\n @Input() imageClass: string;\n\n @Input() imageStyle: any;\n\n @Input() styleClass: string;\n\n @Input() style: any;\n\n @Input() src: string | SafeUrl;\n\n @Input() alt: string;\n\n @Input() width: string;\n\n @Input() height: string;\n\n @Input() appendTo: any;\n\n @Input() preview: boolean = false;\n\n @Input() showTransitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n @Output() onImageError: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('mask') mask: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n indicatorTemplate: TemplateRef<any>;\n\n maskVisible: boolean = false;\n\n previewVisible: boolean = false;\n\n rotate: number = 0;\n\n scale: number = 1;\n\n previewClick: boolean = false;\n\n container: HTMLElement;\n\n wrapper: HTMLElement;\n\n public get isZoomOutDisabled(): boolean {\n return this.scale - this.zoomSettings.step <= this.zoomSettings.min;\n }\n\n public get isZoomInDisabled(): boolean {\n return this.scale + this.zoomSettings.step >= this.zoomSettings.max;\n }\n\n private zoomSettings = {\n default: 1,\n step: 0.1,\n max: 1.5,\n min: 0.5\n };\n\n constructor(private config: PrimeNGConfig, private cd: ChangeDetectorRef) {}\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'indicator':\n this.indicatorTemplate = item.template;\n break;\n\n default:\n this.indicatorTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewInit() {\n LicenseManager.check();\n }\n\n onImageClick() {\n if (this.preview) {\n this.maskVisible = true;\n this.previewVisible = true;\n }\n }\n\n onMaskClick() {\n if (!this.previewClick) {\n this.closePreview();\n }\n\n this.previewClick = false;\n }\n\n onPreviewImageClick() {\n this.previewClick = true;\n }\n\n rotateRight() {\n this.rotate += 90;\n this.previewClick = true;\n }\n\n rotateLeft() {\n this.rotate -= 90;\n this.previewClick = true;\n }\n\n zoomIn() {\n this.scale = this.scale + this.zoomSettings.step;\n this.previewClick = true;\n }\n\n zoomOut() {\n this.scale = this.scale - this.zoomSettings.step;\n this.previewClick = true;\n }\n\n onAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.container = event.element;\n this.wrapper = this.container.parentElement;\n this.appendContainer();\n this.moveOnTop();\n break;\n\n case 'void':\n DomHandler.addClass(this.wrapper, 'p-component-overlay-leave');\n break;\n }\n }\n\n onAnimationEnd(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n ZIndexUtils.clear(this.wrapper);\n this.maskVisible = false;\n this.container = null;\n this.wrapper = null;\n this.cd.markForCheck();\n this.onHide.emit({});\n break;\n case 'visible':\n this.onShow.emit({});\n break;\n }\n }\n\n moveOnTop() {\n ZIndexUtils.set('modal', this.wrapper, this.config.zIndex.modal);\n }\n\n appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body') document.body.appendChild(this.wrapper);\n else DomHandler.appendChild(this.wrapper, this.appendTo);\n }\n }\n\n imagePreviewStyle() {\n return { transform: 'rotate(' + this.rotate + 'deg) scale(' + this.scale + ')' };\n }\n\n containerClass() {\n return {\n 'p-image p-component': true,\n 'p-image-preview-container': this.preview\n };\n }\n\n handleToolbarClick(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n closePreview(): void {\n this.previewVisible = false;\n this.rotate = 0;\n this.scale = this.zoomSettings.default;\n }\n\n imageError(event) {\n this.onImageError.emit(event);\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.previewVisible) {\n this.closePreview();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Image, SharedModule],\n declarations: [Image]\n})\nexport class ImageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -161,6 +161,27 @@ class TabView {
161
161
  this.initTabs();
162
162
  });
163
163
  }
164
+ ngAfterViewInit() {
165
+ LicenseManager.check();
166
+ this.bindResizeObserver();
167
+ }
168
+ bindResizeObserver() {
169
+ if (!this.resizeObserver) {
170
+ this.resizeObserver = new ResizeObserver((entries) => {
171
+ for (let entry of entries) {
172
+ const navbarWidth = parseFloat(getComputedStyle(this.navbar.nativeElement).width);
173
+ const rect = entry.contentRect;
174
+ this.shouldVisible = rect.width < navbarWidth;
175
+ this.cd.detectChanges();
176
+ }
177
+ });
178
+ this.resizeObserver.observe(this.elementToObserve.nativeElement);
179
+ }
180
+ }
181
+ unbindResizeObserver() {
182
+ this.resizeObserver.unobserve(this.elementToObserve.nativeElement);
183
+ this.resizeObserver = null;
184
+ }
164
185
  ngAfterViewChecked() {
165
186
  if (this.tabChanged) {
166
187
  this.updateInkBar();
@@ -171,6 +192,9 @@ class TabView {
171
192
  if (this.tabChangesSubscription) {
172
193
  this.tabChangesSubscription.unsubscribe();
173
194
  }
195
+ if (this.resizeObserver) {
196
+ this.unbindResizeObserver();
197
+ }
174
198
  }
175
199
  initTabs() {
176
200
  this.tabs = this.tabPanels.toArray();
@@ -324,9 +348,9 @@ class TabView {
324
348
  }
325
349
  }
326
350
  TabView.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: TabView, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
327
- TabView.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: TabView, selector: "p-tabView", inputs: { orientation: "orientation", style: "style", styleClass: "styleClass", controlClose: "controlClose", scrollable: "scrollable", activeIndex: "activeIndex" }, outputs: { onChange: "onChange", onClose: "onClose", activeIndexChange: "activeIndexChange" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "tabPanels", predicate: TabPanel }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "navbar", first: true, predicate: ["navbar"], descendants: true }, { propertyName: "prevBtn", first: true, predicate: ["prevBtn"], descendants: true }, { propertyName: "nextBtn", first: true, predicate: ["nextBtn"], descendants: true }, { propertyName: "inkbar", first: true, predicate: ["inkbar"], descendants: true }], ngImport: i0, template: `
351
+ TabView.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: TabView, selector: "p-tabView", inputs: { orientation: "orientation", style: "style", styleClass: "styleClass", controlClose: "controlClose", scrollable: "scrollable", activeIndex: "activeIndex" }, outputs: { onChange: "onChange", onClose: "onClose", activeIndexChange: "activeIndexChange" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "tabPanels", predicate: TabPanel }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "navbar", first: true, predicate: ["navbar"], descendants: true }, { propertyName: "prevBtn", first: true, predicate: ["prevBtn"], descendants: true }, { propertyName: "nextBtn", first: true, predicate: ["nextBtn"], descendants: true }, { propertyName: "inkbar", first: true, predicate: ["inkbar"], descendants: true }, { propertyName: "elementToObserve", first: true, predicate: ["elementToObserve"], descendants: true }], ngImport: i0, template: `
328
352
  <div [ngClass]="{ 'p-tabview p-component': true, 'p-tabview-scrollable': scrollable }" [ngStyle]="style" [class]="styleClass">
329
- <div class="p-tabview-nav-container">
353
+ <div #elementToObserve class="p-tabview-nav-container">
330
354
  <button *ngIf="scrollable && !backwardIsDisabled" #prevBtn class="p-tabview-nav-prev p-tabview-nav-btn p-link" (click)="navBackward()" type="button" pRipple>
331
355
  <span class="pi pi-chevron-left"></span>
332
356
  </button>
@@ -342,7 +366,6 @@ TabView.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0
342
366
  [attr.aria-controls]="tab.id"
343
367
  [pTooltip]="tab.tooltip"
344
368
  [tooltipPosition]="tab.tooltipPosition"
345
- [attr.aria-selected]="tab.selected"
346
369
  [positionStyle]="tab.tooltipPositionStyle"
347
370
  [tooltipStyleClass]="tab.tooltipStyleClass"
348
371
  (click)="open($event, tab)"
@@ -363,7 +386,7 @@ TabView.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0
363
386
  <li #inkbar class="p-tabview-ink-bar"></li>
364
387
  </ul>
365
388
  </div>
366
- <button *ngIf="scrollable && !forwardIsDisabled" #nextBtn class="p-tabview-nav-next p-tabview-nav-btn p-link" (click)="navForward()" type="button" pRipple>
389
+ <button *ngIf="scrollable && !forwardIsDisabled && shouldVisible" #nextBtn class="p-tabview-nav-next p-tabview-nav-btn p-link" (click)="navForward()" type="button" pRipple>
367
390
  <span class="pi pi-chevron-right"></span>
368
391
  </button>
369
392
  </div>
@@ -371,12 +394,12 @@ TabView.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0
371
394
  <ng-content></ng-content>
372
395
  </div>
373
396
  </div>
374
- `, isInline: true, styles: [".p-tabview-nav-container{position:relative}.p-tabview-scrollable .p-tabview-nav-container{overflow:hidden}.p-tabview-nav-content{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior:contain auto}.p-tabview-nav{display:flex;margin:0;padding:0;list-style-type:none;flex:1 1 auto}.p-tabview-nav-link{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;position:relative;text-decoration:none;overflow:hidden}.p-tabview-ink-bar{display:none;z-index:1}.p-tabview-nav-link:focus{z-index:1}.p-tabview-title{line-height:1;white-space:nowrap}.p-tabview-nav-btn{position:absolute;top:0;z-index:2;height:100%;display:flex;align-items:center;justify-content:center}.p-tabview-nav-prev{left:0}.p-tabview-nav-next{right:0}.p-tabview-nav-content::-webkit-scrollbar{display:none}.p-tabview-close{z-index:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i3.Ripple, selector: "[pRipple]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
397
+ `, isInline: true, styles: [".p-tabview-nav-container{position:relative}.p-tabview-scrollable .p-tabview-nav-container{overflow:hidden}.p-tabview-nav-content{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior:contain auto}.p-tabview-nav{display:inline-flex;min-width:100%;margin:0;padding:0;list-style-type:none;flex:1 1 auto}.p-tabview-nav-link{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;position:relative;text-decoration:none;overflow:hidden}.p-tabview-ink-bar{display:none;z-index:1}.p-tabview-nav-link:focus{z-index:1}.p-tabview-title{line-height:1;white-space:nowrap}.p-tabview-nav-btn{position:absolute;top:0;z-index:2;height:100%;display:flex;align-items:center;justify-content:center}.p-tabview-nav-prev{left:0}.p-tabview-nav-next{right:0}.p-tabview-nav-content::-webkit-scrollbar{display:none}.p-tabview-close{z-index:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i3.Ripple, selector: "[pRipple]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
375
398
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: TabView, decorators: [{
376
399
  type: Component,
377
400
  args: [{ selector: 'p-tabView', template: `
378
401
  <div [ngClass]="{ 'p-tabview p-component': true, 'p-tabview-scrollable': scrollable }" [ngStyle]="style" [class]="styleClass">
379
- <div class="p-tabview-nav-container">
402
+ <div #elementToObserve class="p-tabview-nav-container">
380
403
  <button *ngIf="scrollable && !backwardIsDisabled" #prevBtn class="p-tabview-nav-prev p-tabview-nav-btn p-link" (click)="navBackward()" type="button" pRipple>
381
404
  <span class="pi pi-chevron-left"></span>
382
405
  </button>
@@ -392,7 +415,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
392
415
  [attr.aria-controls]="tab.id"
393
416
  [pTooltip]="tab.tooltip"
394
417
  [tooltipPosition]="tab.tooltipPosition"
395
- [attr.aria-selected]="tab.selected"
396
418
  [positionStyle]="tab.tooltipPositionStyle"
397
419
  [tooltipStyleClass]="tab.tooltipStyleClass"
398
420
  (click)="open($event, tab)"
@@ -413,7 +435,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
413
435
  <li #inkbar class="p-tabview-ink-bar"></li>
414
436
  </ul>
415
437
  </div>
416
- <button *ngIf="scrollable && !forwardIsDisabled" #nextBtn class="p-tabview-nav-next p-tabview-nav-btn p-link" (click)="navForward()" type="button" pRipple>
438
+ <button *ngIf="scrollable && !forwardIsDisabled && shouldVisible" #nextBtn class="p-tabview-nav-next p-tabview-nav-btn p-link" (click)="navForward()" type="button" pRipple>
417
439
  <span class="pi pi-chevron-right"></span>
418
440
  </button>
419
441
  </div>
@@ -423,7 +445,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
423
445
  </div>
424
446
  `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
425
447
  class: 'p-element'
426
- }, styles: [".p-tabview-nav-container{position:relative}.p-tabview-scrollable .p-tabview-nav-container{overflow:hidden}.p-tabview-nav-content{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior:contain auto}.p-tabview-nav{display:flex;margin:0;padding:0;list-style-type:none;flex:1 1 auto}.p-tabview-nav-link{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;position:relative;text-decoration:none;overflow:hidden}.p-tabview-ink-bar{display:none;z-index:1}.p-tabview-nav-link:focus{z-index:1}.p-tabview-title{line-height:1;white-space:nowrap}.p-tabview-nav-btn{position:absolute;top:0;z-index:2;height:100%;display:flex;align-items:center;justify-content:center}.p-tabview-nav-prev{left:0}.p-tabview-nav-next{right:0}.p-tabview-nav-content::-webkit-scrollbar{display:none}.p-tabview-close{z-index:1}\n"] }]
448
+ }, styles: [".p-tabview-nav-container{position:relative}.p-tabview-scrollable .p-tabview-nav-container{overflow:hidden}.p-tabview-nav-content{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior:contain auto}.p-tabview-nav{display:inline-flex;min-width:100%;margin:0;padding:0;list-style-type:none;flex:1 1 auto}.p-tabview-nav-link{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;position:relative;text-decoration:none;overflow:hidden}.p-tabview-ink-bar{display:none;z-index:1}.p-tabview-nav-link:focus{z-index:1}.p-tabview-title{line-height:1;white-space:nowrap}.p-tabview-nav-btn{position:absolute;top:0;z-index:2;height:100%;display:flex;align-items:center;justify-content:center}.p-tabview-nav-prev{left:0}.p-tabview-nav-next{right:0}.p-tabview-nav-content::-webkit-scrollbar{display:none}.p-tabview-close{z-index:1}\n"] }]
427
449
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { orientation: [{
428
450
  type: Input
429
451
  }], style: [{
@@ -458,6 +480,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
458
480
  type: Output
459
481
  }], activeIndexChange: [{
460
482
  type: Output
483
+ }], elementToObserve: [{
484
+ type: ViewChild,
485
+ args: ['elementToObserve']
461
486
  }], activeIndex: [{
462
487
  type: Input
463
488
  }] } });