@pepperi-addons/ngx-lib 0.4.0-angular14.10 → 0.4.0-angular14.13

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.
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-images-filmstrip.mjs","sources":["../../../projects/ngx-lib/images-filmstrip/images-filmstrip.component.ts","../../../projects/ngx-lib/images-filmstrip/images-filmstrip.component.html","../../../projects/ngx-lib/images-filmstrip/images-filmstrip.module.ts","../../../projects/ngx-lib/images-filmstrip/public-api.ts","../../../projects/ngx-lib/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.ts"],"sourcesContent":["import {\n Component,\n ViewChild,\n OnInit,\n OnDestroy,\n AfterViewInit,\n ElementRef,\n Input,\n TemplateRef,\n Renderer2,\n ChangeDetectorRef,\n Inject,\n Optional,\n ViewContainerRef,\n OnChanges,\n} from '@angular/core';\nimport {\n trigger,\n state,\n style,\n transition,\n animate,\n} from '@angular/animations';\nimport { FormGroup } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n Gallery,\n GalleryConfig,\n LoadingStrategy,\n SlidingDirection,\n ThumbnailsPosition,\n GalleryItem,\n ImageItem,\n GalleryRef,\n} from 'ng-gallery';\nimport {\n PepCustomizationService,\n PepLayoutType,\n PepLayoutService,\n PepFileService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepImagesField,\n PepUtilitiesService,\n PepGuid\n} from '@pepperi-addons/ngx-lib';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\nimport { pepIconArrowRightAlt, pepIconArrowLeftAlt, PepIconRegistry, pepIconNoImage2 } from '@pepperi-addons/ngx-lib/icon';\n\nimport 'hammerjs';\n\ninterface IPepImagesFilmstripDialogData {\n currIndex: number;\n key: string;\n value: string;\n label: string;\n showFooter: boolean;\n uid: string;\n showThumbnails: boolean;\n}\n\n// export const slideInAnimation = trigger('slideAnimation', [\n// state('in', style({ transform: 'translateY(0)', opacity: 1 })),\n// transition(':enter', [\n// style({ transform: 'translateY(-100%)', opacity: 0 }),\n// animate(400)\n// ]),\n// transition(':leave', [\n// animate(400, style({ transform: 'translateY(-100%)', opacity: 0 }))\n// ])\n// ]);\n\n// import {\n// IMAGEVIEWER_CONFIG,\n// ImageViewerConfig,\n// createButtonConfig,\n// } from '@hallysonh/ngx-imageviewer';\nimport { DOCUMENT } from '@angular/common';\n\n// export function createViewerConfig(\n// translate: TranslateService\n// ): ImageViewerConfig {\n// return {\n// // width: 850,\n// // height: 150,\n// bgStyle: '#FFF', // component background style\n// // scaleStep: 0.1, // zoom scale step (using the zoom in/out buttons)\n// // rotateStepper: false, // touch rotate should rotate only 90 to 90 degrees\n// loadingMessage: translate.instant('MESSAGES.INFO_LOADING_FILE'), // 'Loading...',\n// // buttonStyle: {\n// // iconFontFamily: 'Material Icons', // font used to render the button icons\n// // alpha: 0.5, // buttons' transparence value\n// // hoverAlpha: 0.7, // buttons' transparence value when mouse is over\n// // bgStyle: '#000000', // buttons' background style\n// // iconStyle: '#ffffff', // buttons' icon colors\n// // borderStyle: '#000000', // buttons' border style\n// // borderWidth: 0, // buttons' border width (0 == disabled)\n// // },\n// // tooltips: {\n// // enabled: true, // enable or disable tooltips for buttons\n// // bgStyle: '#000000', // tooltip background style\n// // bgAlpha: 0.5, // tooltip background transparence\n// // textStyle: '#ffffff', // tooltip's text style\n// // textAlpha: 0.9, // tooltip's text transparence\n// // padding: 15, // tooltip padding\n// // radius: 20, // tooltip border radius\n// // },\n// // shorter button configuration style\n// nextPageButton: createButtonConfig(\n// 'navigate_next',\n// 'Next page',\n// 0,\n// false\n// ),\n// beforePageButton: createButtonConfig(\n// 'navigate_before',\n// 'Previous page',\n// 1,\n// false\n// ),\n// zoomOutButton: createButtonConfig('zoom_out', 'Zoom out', 0, false),\n// zoomInButton: createButtonConfig('zoom_in', 'Zoom in', 1, false),\n// rotateLeftButton: createButtonConfig(\n// 'rotate_left',\n// 'Rotate left',\n// 2,\n// false\n// ),\n// rotateRightButton: createButtonConfig(\n// 'rotate_right',\n// 'Rotate right',\n// 3,\n// false\n// ),\n// resetButton: createButtonConfig('autorenew', 'Reset', 4, false),\n// };\n// }\n\n@Component({\n selector: 'pep-images-filmstrip',\n templateUrl: './images-filmstrip.component.html',\n styleUrls: ['./images-filmstrip.component.scss', './images-filmstrip.component.theme.scss'],\n // animations: [slideInAnimation],\n providers: [\n // {\n // provide: IMAGEVIEWER_CONFIG,\n // // useValue: IMAGEVIEWER_CONFIG_DEFAULT,\n // useFactory: createViewerConfig,\n // deps: [TranslateService],\n // },\n ],\n})\nexport class PepImagesFilmstripComponent\n implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n // @ViewChild('ngxViewerImage') ngxViewerImage: any; // TODO: Check if we need to use this??\n @Input() key = '';\n @Input() value = '';\n @Input() label = '';\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n this.setFieldHeight();\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n controlType = 'images';\n\n @Input() form: FormGroup = null;\n @Input() uid = '0';\n @Input() showTitle = false;\n @Input() renderTitle = true;\n\n private _layoutType: PepLayoutType = 'form';\n @Input()\n set layoutType(value: PepLayoutType) {\n this._layoutType = value;\n this.setFieldHeight();\n }\n get layoutType(): PepLayoutType {\n return this._layoutType;\n }\n\n @Input() currIndex = 0;\n @Input() showThumbnails = false;\n\n @ViewChild('galleryCont') galleryCont: ElementRef;\n @ViewChild('galleryDialogTemplate', { read: TemplateRef })\n galleryDialogTemplate: TemplateRef<any>;\n @ViewChild('galleryDialogCont') galleryDialogCont: ElementRef;\n\n config: GalleryConfig;\n items: GalleryItem[] = null;\n inDialog = false;\n showFooter = false;\n showClose = true;\n \n mandatory = false;\n readonly = false;\n disabled = false;\n fieldHeight = '';\n standAlone = false;\n\n galleryWidth = 0;\n galleryHeight;\n isVertical = false;\n galleryRef: GalleryRef;\n dialogGalleryRef: GalleryRef;\n guid: string;\n\n private enlargeImageDialogRef: MatDialogRef<any>;\n\n constructor(\n private customizationService: PepCustomizationService,\n private dialogService: PepDialogService,\n private layoutService: PepLayoutService,\n private fileService: PepFileService,\n private iconRegistry: PepIconRegistry,\n private utilitiesService: PepUtilitiesService,\n private gallery: Gallery,\n private renderer: Renderer2,\n private element: ElementRef,\n private cd: ChangeDetectorRef,\n @Optional() @Inject(DOCUMENT) private document: any,\n @Optional()\n private dialogRef: MatDialogRef<PepImagesFilmstripComponent>,\n @Optional()\n @Inject(MAT_DIALOG_DATA)\n private data: IPepImagesFilmstripDialogData\n ) {\n // If data exist copy all data properties into this.\n if (dialogRef && data) {\n this.inDialog = true;\n\n Object.keys(data).forEach((key) => {\n if (key in this) {\n this[key] = data[key];\n }\n });\n }\n\n this.config = {\n nav: false, // Show navigation buttons\n // navIcon: pepIconArrowRightAlt.data,\n // loop: true,\n // zoomOut: 0,\n // dots: false,\n // dotsPosition: 'bottom',\n // counterPosition: 'top',\n // thumb: true,\n counter: false, // Show counter\n gestures: true, // Use touch events (requires hammer.js)\n // autoPlay: false,\n // thumbWidth: 120,\n // thumbHeight: 90,\n imageSize: 'contain',\n // panSensitivity: 25,\n // disableThumb: false,\n // playerInterval: 3000,\n // thumbMode: ThumbnailsMode.Free,\n // thumbPosition: ThumbnailsPosition.Bottom,\n loadingStrategy: LoadingStrategy.Preload,\n // slidingDirection: SlidingDirection.Horizontal,\n };\n\n this.guid = PepGuid.newGuid();\n }\n\n private setFieldHeight(): void {\n this.fieldHeight = this.customizationService.calculateFieldHeight(\n this.layoutType,\n this.rowSpan,\n this.standAlone\n );\n }\n\n private setDefaultForm(): void {\n const pepField = new PepImagesField({\n key: this.key,\n value: this.value,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n // private renderNavIcon(galleryContainer, isLeft: boolean) {\n // let iconName = isLeft ? pepIconArrowLeftAlt.name : pepIconArrowRightAlt.name;\n // const svgData = this.iconRegistry.getIcon(iconName);\n // const svgIcon = this.utilitiesService.getSvgElementFromString(\n // this.document,\n // svgData\n // );\n\n // const elementNameToFind = isLeft ? 'g-nav-prev' : 'g-nav-next'\n\n // const elementArr = galleryContainer.nativeElement.querySelectorAll(`.${elementNameToFind}`);\n // if (elementArr && elementArr.length > 0) {\n // elementArr[0].appendChild(svgIcon);\n // this.renderer.addClass(svgIcon, 'svg-icon');\n // }\n // }\n\n ngOnInit(): void {\n if (!this.inDialog) {\n if (this.form === null) {\n this.standAlone = true;\n this.setFieldHeight();\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n }\n\n if (this.items === null) {\n const imgArr = this.value ? this.value.split(';') : [];\n // add No image image when there is no images\n if (imgArr.length === 0) {\n const noImageSrc = this.fileService.getSvgAsImageSrc(\n pepIconNoImage2.data\n );\n imgArr.push(noImageSrc);\n }\n\n this.items = imgArr.map(\n (img) => new ImageItem({ src: img, thumb: img })\n );\n }\n\n this.config.dots = this.config.nav = this.items.length > 1;\n this.config.thumb =\n (this.key === 'ItemFilmstripImages' || this.showThumbnails) &&\n this.items.length > 1\n ? true\n : false;\n this.currIndex =\n this.key === 'ItemFilmstripImages' &&\n this.currIndex === 0 &&\n this.items.length > 1\n ? Math.floor(this.items.length / 2) - 1\n : this.currIndex;\n }\n\n ngAfterViewInit(): void {\n if (this.inDialog) {\n this.afterDialogOpened();\n } else {\n this.galleryRef = this.gallery.ref(\n `${this.guid}-gallery`\n );\n this.initGalleryStyle(this.galleryCont, this.galleryRef);\n }\n }\n\n ngOnChanges(): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n }\n\n ngOnDestroy(): void {\n if (this.galleryRef) {\n this.galleryRef.destroy();\n }\n if (this.dialogGalleryRef) {\n this.dialogGalleryRef.destroy();\n }\n // if (this.myPinch) { this.myPinch.destroy(); }\n }\n\n initGalleryStyle(galleryContainer, galleryRef): void {\n setTimeout(() => {\n // Set thumbnails position and sliding direction\n this.setThumbnailDimension(galleryContainer);\n galleryRef.setConfig(this.config);\n // this.renderNavIcon(galleryContainer, true);\n // this.renderNavIcon(galleryContainer, false);\n }, 0);\n\n const currentIndex = this.currIndex;\n if (currentIndex > 0) {\n setTimeout(() => {\n galleryRef.load(this.items);\n galleryRef.set(currentIndex);\n }, 0);\n // galleryRef.set(currentIndex);\n } else {\n galleryRef.load(this.items);\n }\n }\n\n onError(e): void {\n const noImageSrc = this.fileService.getSvgAsImageSrc(\n pepIconNoImage2.data\n );\n const noimg = new ImageItem({ src: noImageSrc, thumb: noImageSrc });\n this.items.splice(e.itemIndex, 1, noimg);\n }\n\n enlargeImage(event: any): void {\n const config = this.dialogService.getDialogConfig({}, 'inline');\n config.maxWidth = '75vw';\n config.height = '95vh';\n\n this.enlargeImageDialogRef = this.dialogService.openDialog(\n this.galleryDialogTemplate,\n {\n currIndex: this.currIndex,\n },\n config\n );\n\n this.enlargeImageDialogRef.afterOpened().subscribe(() => {\n this.afterDialogOpened();\n });\n\n // Update currentIndex in galleryRef\n // dialogRef.afterClosed().subscribe(value => {\n // this.galleryRef.set(this.currIndex);\n // });\n }\n\n afterDialogOpened(): void {\n this.dialogGalleryRef = this.gallery.ref(\n `${this.guid}-dlgGallery`\n );\n this.initGalleryStyle(this.galleryDialogCont, this.dialogGalleryRef);\n }\n\n closeDialog(event) {\n if (this.inDialog) {\n this.dialogRef?.close(event);\n } else {\n this.enlargeImageDialogRef?.close(event);\n }\n }\n\n setThumbnailDimension(galleryContainer): void {\n this.galleryWidth = galleryContainer.nativeElement.clientWidth;\n // this.galleryHeight = galleryContainer.nativeElement.clientHeight - 32; // TODO - TALK WITH TOMER\n this.galleryHeight = this.inDialog\n ? galleryContainer.nativeElement.clientHeight - 32\n : galleryContainer.nativeElement.clientHeight;\n // this.galleryHeight = galleryContainer.nativeElement.clientHeight - 32;\n this.cd.detectChanges();\n\n this.isVertical = this.galleryWidth < this.galleryHeight;\n this.cd.detectChanges();\n if (this.isVertical) {\n let width =\n (this.galleryWidth - (this.items.length - 1) * 16) /\n this.items.length;\n width = Math.min(Math.max(width, 24), 96);\n\n this.config.thumbHeight = width;\n this.config.thumbWidth = width + 16;\n } else {\n let height =\n (this.galleryHeight - (this.items.length - 1) * 16) /\n this.items.length;\n height = Math.min(Math.max(height, 24), 96);\n\n this.config.thumbHeight = height + 16;\n this.config.thumbWidth = height;\n }\n\n this.config.thumbPosition = this.isVertical\n ? ThumbnailsPosition.Bottom\n : this.layoutService.isRtl()\n ? ThumbnailsPosition.Right\n : ThumbnailsPosition.Left;\n this.config.slidingDirection =\n this.key !== 'ItemFilmstripImages'\n ? SlidingDirection.Horizontal\n : this.isVertical\n ? SlidingDirection.Horizontal\n : SlidingDirection.Vertical;\n\n this.config.imageSize = 'contain';\n }\n\n indexChange(item: any): void {\n this.currIndex = item.currIndex;\n // if (this.ngxViewerImage && this.ngxViewerImage.scale) {\n // this.ngxViewerImage.scale = 1;\n // this.updateStyle();\n // }\n }\n\n\n // scrollFunction(e: any): boolean {\n // e.deltaY > 0 ? this.zoomOut() : this.zoomIn();\n // return false;\n // }\n\n // zoomIn(): void {\n // if (this.ngxViewerImage.scale < 2) {\n // this.ngxViewerImage.scale *= (1 + this.ngxViewerImage.config.zoomFactor);\n // } else {\n // this.ngxViewerImage.scale = 2;\n // }\n // this.updateStyle();\n // }\n\n // zoomOut(): void {\n // if (this.ngxViewerImage.scale > this.ngxViewerImage.config.zoomFactor) {\n // this.ngxViewerImage.scale /= (1 + this.ngxViewerImage.config.zoomFactor);\n // }\n // this.updateStyle();\n // }\n\n // private updateStyle(): void {\n // this.ngxViewerImage.style.transform = `translate(${this.ngxViewerImage.translateX}px,\n // ${this.ngxViewerImage.translateY}px) rotate(${this.ngxViewerImage.rotation}deg) scale(${this.ngxViewerImage.scale})`;\n\n // this.cd.detectChanges();\n // }\n}\n","<ng-container *ngIf=\"inDialog; then galleryDialogTemplate; else regularTemplate\"></ng-container>\n<ng-template #regularTemplate>\n <ng-container [formGroup]=\"form\">\n <div class=\"images-filmstrip-container\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <div #galleryCont class=\"img-wrapper\" [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\"\n [style.height]=\"fieldHeight\">\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_left_alt\" styleType=\"weak-invert\" sizeType=\"sm\"\n (click)=\"formGallery.prev()\" class=\"gallery-arrow start-arrow\">\n </pep-button>\n <gallery #formGallery id=\"{{guid}}-gallery\" (itemClick)=\"enlargeImage($event);\" [imageSize]=\"'contain'\"\n (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\n </gallery>\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_right_alt\" styleType=\"weak-invert\" sizeType=\"sm\"\n (click)=\"formGallery.next()\" class=\"gallery-arrow end-arrow\">\n </pep-button>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #galleryDialogTemplate>\n <div class=\"gallery-dialog\">\n <pep-dialog [title]=\"label\" [showFooter]=\"showFooter\" [showClose]=\"showClose\" (close)=\"closeDialog($event)\">\n <div pep-dialog-content #galleryDialogCont class=\"gallery-dialog-content\"\n [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\">\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_left_alt\" styleType=\"weak-invert\"\n (click)=\"dialogGallery.prev()\" class=\"gallery-arrow start-arrow\">\n </pep-button>\n <gallery #dialogGallery id=\"{{guid}}-dlgGallery\" [imageSize]=\"'contain'\"\n (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\n </gallery>\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_right_alt\" styleType=\"weak-invert\"\n (click)=\"dialogGallery.next()\" class=\"gallery-arrow end-arrow\">\n </pep-button>\n </div>\n </pep-dialog>\n </div>\n</ng-template>\n\n<!-- Add custom template to image items -->\n<!-- <ng-template #itemTemplate let-index=\"index\" let-type=\"type\" let-data=\"data\" let-currIndex=\"currIndex\">\n <ng-container *ngIf=\"index === currIndex\">\n <ngx-imageviewer [src]=\"data.src\">\n </ngx-imageviewer>\n </ng-container>\n</ng-template> -->","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemEdit,\n pepIconSystemClose,\n pepIconArrowRightAlt,\n pepIconArrowLeftAlt,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { GalleryModule } from 'ng-gallery';\n// import { ImageViewerModule } from '@hallysonh/ngx-imageviewer';\n\nimport { PepImagesFilmstripComponent } from './images-filmstrip.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatFormFieldModule,\n MatDialogModule,\n MatIconModule,\n // External modules\n GalleryModule,\n // ImageViewerModule,\n // ImageViewerModule.forRoot({\n // btnClass: 'default', // The CSS class(es) that will apply to the buttons\n // zoomFactor: 0.1, // The amount that the scale will be increased by\n // containerBackgroundColor: 'transparent', // The color to use for the background. This can provided in hex, or rgb(a).\n // wheelZoom: true, // If true, the mouse wheel can be used to zoom in\n // allowFullscreen: false, // If true, the fullscreen button will be shown, allowing the user to entr fullscreen mode\n // btnIcons: {\n // // The icon classes that will apply to the buttons. By default, font-awesome is used.\n // zoomIn: 'fa fa-plus',\n // zoomOut: 'fa fa-minus',\n // rotateClockwise: 'fa fa-repeat',\n // rotateCounterClockwise: 'fa fa-undo',\n // next: 'fa fa-arrow-right',\n // prev: 'fa fa-arrow-left',\n // fullscreen: 'fa fa-arrows-alt'\n // }\n // }),\n // ngx-lib modules\n PepNgxLibModule,\n PepButtonModule,\n PepIconModule,\n PepFieldTitleModule,\n PepDialogModule,\n ],\n exports: [PepImagesFilmstripComponent],\n declarations: [PepImagesFilmstripComponent],\n})\nexport class PepImagesFilmstripModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemEdit,\n pepIconSystemClose,\n pepIconArrowRightAlt,\n pepIconArrowLeftAlt,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/images-filmstrip\n */\nexport * from './images-filmstrip.module';\nexport * from './images-filmstrip.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAgFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MAgBa,2BAA2B,CAAA;IAgEpC,WACY,CAAA,oBAA6C,EAC7C,aAA+B,EAC/B,aAA+B,EAC/B,WAA2B,EAC3B,YAA6B,EAC7B,gBAAqC,EACrC,OAAgB,EAChB,QAAmB,EACnB,OAAmB,EACnB,EAAqB,EACS,QAAa,EAE3C,SAAoD,EAGpD,IAAmC,EAAA;AAfnC,QAAA,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAyB;AAC7C,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;AAC/B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;AAC/B,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAgB;AAC3B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAiB;AAC7B,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAqB;AACrC,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;AAChB,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AACnB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;AACnB,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;AACS,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAK;AAE3C,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAA2C;AAGpD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAA+B;;AA7EtC,QAAA,IAAG,CAAA,GAAA,GAAG,EAAE,CAAC;AACT,QAAA,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AACX,QAAA,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AACX,QAAA,IAAU,CAAA,UAAA,GAA2B,4BAA4B,CAAC;AAEnE,QAAA,IAAQ,CAAA,QAAA,GAAG,CAAC,CAAC;AAUrB,QAAA,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC;AAEd,QAAA,IAAI,CAAA,IAAA,GAAc,IAAI,CAAC;AACvB,QAAA,IAAG,CAAA,GAAA,GAAG,GAAG,CAAC;AACV,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAClB,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;AAEpB,QAAA,IAAW,CAAA,WAAA,GAAkB,MAAM,CAAC;AAUnC,QAAA,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;AACd,QAAA,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AAQhC,QAAA,IAAK,CAAA,KAAA,GAAkB,IAAI,CAAC;AAC5B,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AACnB,QAAA,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;AAEjB,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAClB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AACjB,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAEnB,QAAA,IAAY,CAAA,YAAA,GAAG,CAAC,CAAC;AAEjB,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;;QA0Bf,IAAI,SAAS,IAAI,IAAI,EAAE;AACnB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAErB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;gBAC9B,IAAI,GAAG,IAAI,IAAI,EAAE;oBACb,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;QAED,IAAI,CAAC,MAAM,GAAG;AACV,YAAA,GAAG,EAAE,KAAK;;;;;;;;AAQV,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,QAAQ,EAAE,IAAI;;;;AAId,YAAA,SAAS,EAAE,SAAS;;;;;;YAMpB,eAAe,EAAE,eAAe,CAAC,OAAO;;SAE3C,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;KACjC;IA7GD,IACI,OAAO,CAAC,KAAK,EAAA;AACb,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;AACD,IAAA,IAAI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;IAUD,IACI,UAAU,CAAC,KAAoB,EAAA;AAC/B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;AACD,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;IAuFO,cAAc,GAAA;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAC7D,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,CAClB,CAAC;KACL;IAEO,cAAc,GAAA;AAClB,QAAA,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC;YAChC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC1B,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;KACvE;;;;;;;;;;;;;;;IAmBD,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;AACpB,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,cAAc,EAAE,CAAC;AAEtB,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,OAAO,CAAC,aAAa,EAC1B,uBAAuB,CAAC,4BAA4B,CACvD,CAAC;AAEF,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACnB,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,OAAO,CAAC,aAAa,EAC1B,uBAAuB,CAAC,uCAAuC,CAClE,CAAC;AACL,iBAAA;AACJ,aAAA;AACJ,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;;AAEvD,YAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAChD,eAAe,CAAC,IAAI,CACvB,CAAC;AACF,gBAAA,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3B,aAAA;YAED,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CACnB,CAAC,GAAG,KAAK,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CACnD,CAAC;AACL,SAAA;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,KAAK;YACb,CAAC,IAAI,CAAC,GAAG,KAAK,qBAAqB,IAAI,IAAI,CAAC,cAAc;AACtD,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;AACrB,kBAAE,IAAI;kBACJ,KAAK,CAAC;AAChB,QAAA,IAAI,CAAC,SAAS;YACV,IAAI,CAAC,GAAG,KAAK,qBAAqB;gBAC9B,IAAI,CAAC,SAAS,KAAK,CAAC;AACpB,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;AACrB,kBAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC;AACvC,kBAAE,IAAI,CAAC,SAAS,CAAC;KAC5B;IAED,eAAe,GAAA;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC5B,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAC9B,GAAG,IAAI,CAAC,IAAI,CAAA,QAAA,CAAU,CACzB,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAC5D,SAAA;KACJ;IAED,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,cAAc,EAAE,CAAC;AACzB,SAAA;KACJ;IAED,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;AAC7B,SAAA;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;AACnC,SAAA;;KAEJ;IAED,gBAAgB,CAAC,gBAAgB,EAAE,UAAU,EAAA;QACzC,UAAU,CAAC,MAAK;;AAEZ,YAAA,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;AAC7C,YAAA,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;;SAGrC,EAAE,CAAC,CAAC,CAAC;AAEN,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;QACpC,IAAI,YAAY,GAAG,CAAC,EAAE;YAClB,UAAU,CAAC,MAAK;AACZ,gBAAA,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,gBAAA,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aAChC,EAAE,CAAC,CAAC,CAAC;;AAET,SAAA;AAAM,aAAA;AACH,YAAA,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,SAAA;KACJ;AAED,IAAA,OAAO,CAAC,CAAC,EAAA;AACL,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAChD,eAAe,CAAC,IAAI,CACvB,CAAC;AACF,QAAA,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACpE,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;KAC5C;AAED,IAAA,YAAY,CAAC,KAAU,EAAA;AACnB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AAChE,QAAA,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;AACzB,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;AAEvB,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CACtD,IAAI,CAAC,qBAAqB,EAC1B;YACI,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,EACD,MAAM,CACT,CAAC;QAEF,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAK;YACpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;;;;;KAMN;IAED,iBAAiB,GAAA;AACb,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CACpC,GAAG,IAAI,CAAC,IAAI,CAAA,WAAA,CAAa,CAC5B,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACxE;AAED,IAAA,WAAW,CAAC,KAAK,EAAA;;QACb,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAChC,SAAA;AAAM,aAAA;YACH,CAAA,EAAA,GAAA,IAAI,CAAC,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAC5C,SAAA;KACJ;AAED,IAAA,qBAAqB,CAAC,gBAAgB,EAAA;QAClC,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,aAAa,CAAC,WAAW,CAAC;;AAE/D,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ;AAC9B,cAAE,gBAAgB,CAAC,aAAa,CAAC,YAAY,GAAG,EAAE;AAClD,cAAE,gBAAgB,CAAC,aAAa,CAAC,YAAY,CAAC;;AAElD,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;QAExB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;AACzD,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,KAAK,GACL,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE;AACjD,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AACtB,YAAA,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAE1C,YAAA,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,GAAG,EAAE,CAAC;AACvC,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,MAAM,GACN,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE;AAClD,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AACtB,YAAA,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAE5C,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,GAAG,EAAE,CAAC;AACtC,YAAA,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC;AACnC,SAAA;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU;cACrC,kBAAkB,CAAC,MAAM;AAC3B,cAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;kBACtB,kBAAkB,CAAC,KAAK;AAC1B,kBAAE,kBAAkB,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,gBAAgB;YACxB,IAAI,CAAC,GAAG,KAAK,qBAAqB;kBAC5B,gBAAgB,CAAC,UAAU;kBAC3B,IAAI,CAAC,UAAU;sBACX,gBAAgB,CAAC,UAAU;AAC7B,sBAAE,gBAAgB,CAAC,QAAQ,CAAC;AAExC,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;KACrC;AAED,IAAA,WAAW,CAAC,IAAS,EAAA;AACjB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;;;;;KAKnC;;wHA9VQ,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EA2EZ,QAAQ,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAIpB,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA/ElB,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EATzB,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,EAAA,KAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,SAAA,EAAA;;;;;;;KAOV,EAyC2C,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAW,2JChM3D,iwFA+CkB,EAAA,MAAA,EAAA,CAAA,shEAAA,EAAA,0oFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,WAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,aAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD0GL,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAdvC,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EAIrB,SAAA,EAAA;;;;;;;AAOV,qBAAA,EAAA,QAAA,EAAA,iwFAAA,EAAA,MAAA,EAAA,CAAA,shEAAA,EAAA,0oFAAA,CAAA,EAAA,CAAA;;;8BA6EI,QAAQ;;8BAAI,MAAM;+BAAC,QAAQ,CAAA;;8BAC3B,QAAQ;;8BAER,QAAQ;;8BACR,MAAM;+BAAC,eAAe,CAAA;;yBA5ElB,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAIF,OAAO,EAAA,CAAA;sBADV,KAAK;gBAWG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAIF,UAAU,EAAA,CAAA;sBADb,KAAK;gBASG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEoB,WAAW,EAAA,CAAA;sBAApC,SAAS;uBAAC,aAAa,CAAA;gBAExB,qBAAqB,EAAA,CAAA;sBADpB,SAAS;gBAAC,IAAA,EAAA,CAAA,uBAAuB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;gBAEzB,iBAAiB,EAAA,CAAA;sBAAhD,SAAS;uBAAC,mBAAmB,CAAA;;;MEhIrB,wBAAwB,CAAA;AACjC,IAAA,WAAA,CAAoB,eAAgC,EAAA;AAAhC,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;AAChD,QAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;YAC/B,iBAAiB;YACjB,kBAAkB;YAClB,oBAAoB;YACpB,mBAAmB;AACtB,SAAA,CAAC,CAAC;KACN;;qHARQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sHAAxB,wBAAwB,EAAA,YAAA,EAAA,CAFlB,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAnCtC,YAAY;QACZ,mBAAmB;;QAEnB,eAAe;QACf,kBAAkB;QAClB,eAAe;QACf,aAAa;;QAEb,aAAa;;;;;;;;;;;;;;;;;;;;QAoBb,eAAe;QACf,eAAe;QACf,aAAa;QACb,mBAAmB;QACnB,eAAe,aAET,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAG5B,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YArC7B,YAAY;QACZ,mBAAmB;;QAEnB,eAAe;QACf,kBAAkB;QAClB,eAAe;QACf,aAAa;;QAEb,aAAa;;;;;;;;;;;;;;;;;;;;QAoBb,eAAe;QACf,eAAe;QACf,aAAa;QACb,mBAAmB;QACnB,eAAe,CAAA,EAAA,CAAA,CAAA;2FAKV,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAvCpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,mBAAmB;;wBAEnB,eAAe;wBACf,kBAAkB;wBAClB,eAAe;wBACf,aAAa;;wBAEb,aAAa;;;;;;;;;;;;;;;;;;;;wBAoBb,eAAe;wBACf,eAAe;wBACf,aAAa;wBACb,mBAAmB;wBACnB,eAAe;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,2BAA2B,CAAC;oBACtC,YAAY,EAAE,CAAC,2BAA2B,CAAC;iBAC9C,CAAA;;;ACjED;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-images-filmstrip.mjs","sources":["../../../projects/ngx-lib/images-filmstrip/images-filmstrip.component.ts","../../../projects/ngx-lib/images-filmstrip/images-filmstrip.component.html","../../../projects/ngx-lib/images-filmstrip/images-filmstrip.module.ts","../../../projects/ngx-lib/images-filmstrip/public-api.ts","../../../projects/ngx-lib/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.ts"],"sourcesContent":["import {\n Component,\n ViewChild,\n OnInit,\n OnDestroy,\n AfterViewInit,\n ElementRef,\n Input,\n TemplateRef,\n Renderer2,\n ChangeDetectorRef,\n Inject,\n Optional,\n ViewContainerRef,\n OnChanges,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport {\n Gallery,\n GalleryConfig,\n LoadingStrategy,\n SlidingDirection,\n ThumbnailsPosition,\n GalleryItem,\n ImageItem,\n GalleryRef,\n} from 'ng-gallery';\nimport {\n PepCustomizationService,\n PepLayoutType,\n PepLayoutService,\n PepFileService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepImagesField,\n PepUtilitiesService,\n PepGuid\n} from '@pepperi-addons/ngx-lib';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\nimport { PepIconRegistry, pepIconNoImage2 } from '@pepperi-addons/ngx-lib/icon';\n\nimport 'hammerjs';\n\ninterface IPepImagesFilmstripDialogData {\n currIndex: number;\n key: string;\n value: string;\n label: string;\n showFooter: boolean;\n uid: string;\n showThumbnails: boolean;\n}\n\nimport { DOCUMENT } from '@angular/common';\n\n@Component({\n selector: 'pep-images-filmstrip',\n templateUrl: './images-filmstrip.component.html',\n styleUrls: ['./images-filmstrip.component.scss', './images-filmstrip.component.theme.scss'],\n})\nexport class PepImagesFilmstripComponent\n implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n @Input() key = '';\n @Input() value = '';\n @Input() label = '';\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n this.setFieldHeight();\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n controlType = 'images';\n\n @Input() form: FormGroup = null;\n @Input() uid = '0';\n @Input() showTitle = false;\n @Input() renderTitle = true;\n\n private _layoutType: PepLayoutType = 'form';\n @Input()\n set layoutType(value: PepLayoutType) {\n this._layoutType = value;\n this.setFieldHeight();\n }\n get layoutType(): PepLayoutType {\n return this._layoutType;\n }\n\n @Input() currIndex = 0;\n @Input() showThumbnails = false;\n\n @ViewChild('galleryCont') galleryCont: ElementRef;\n @ViewChild('galleryDialogTemplate', { read: TemplateRef })\n galleryDialogTemplate: TemplateRef<any>;\n @ViewChild('galleryDialogCont') galleryDialogCont: ElementRef;\n\n config: GalleryConfig;\n items: GalleryItem[] = null;\n inDialog = false;\n showFooter = false;\n showClose = true;\n \n mandatory = false;\n readonly = false;\n disabled = false;\n fieldHeight = '';\n standAlone = false;\n\n galleryWidth = 0;\n galleryHeight;\n isVertical = false;\n galleryRef: GalleryRef;\n dialogGalleryRef: GalleryRef;\n guid: string;\n\n private enlargeImageDialogRef: MatDialogRef<any>;\n\n constructor(\n private customizationService: PepCustomizationService,\n private dialogService: PepDialogService,\n private layoutService: PepLayoutService,\n private fileService: PepFileService,\n private iconRegistry: PepIconRegistry,\n private utilitiesService: PepUtilitiesService,\n private gallery: Gallery,\n private renderer: Renderer2,\n private element: ElementRef,\n private cd: ChangeDetectorRef,\n @Optional() @Inject(DOCUMENT) private document: any,\n @Optional()\n private dialogRef: MatDialogRef<PepImagesFilmstripComponent>,\n @Optional()\n @Inject(MAT_DIALOG_DATA)\n private data: IPepImagesFilmstripDialogData\n ) {\n // If data exist copy all data properties into this.\n if (dialogRef && data) {\n this.inDialog = true;\n\n Object.keys(data).forEach((key) => {\n if (key in this) {\n this[key] = data[key];\n }\n });\n }\n\n this.config = {\n nav: false, // Show navigation buttons\n // navIcon: pepIconArrowRightAlt.data,\n // loop: true,\n // zoomOut: 0,\n // dots: false,\n // dotsPosition: 'bottom',\n // counterPosition: 'top',\n // thumb: true,\n counter: false, // Show counter\n gestures: true, // Use touch events (requires hammer.js)\n // autoPlay: false,\n // thumbWidth: 120,\n // thumbHeight: 90,\n imageSize: 'contain',\n // panSensitivity: 25,\n // disableThumb: false,\n // playerInterval: 3000,\n // thumbMode: ThumbnailsMode.Free,\n // thumbPosition: ThumbnailsPosition.Bottom,\n loadingStrategy: LoadingStrategy.Preload,\n // slidingDirection: SlidingDirection.Horizontal,\n };\n\n this.guid = PepGuid.newGuid();\n }\n\n private setFieldHeight(): void {\n this.fieldHeight = this.customizationService.calculateFieldHeight(\n this.layoutType,\n this.rowSpan,\n this.standAlone\n );\n }\n\n private setDefaultForm(): void {\n const pepField = new PepImagesField({\n key: this.key,\n value: this.value,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n // private renderNavIcon(galleryContainer, isLeft: boolean) {\n // let iconName = isLeft ? pepIconArrowLeftAlt.name : pepIconArrowRightAlt.name;\n // const svgData = this.iconRegistry.getIcon(iconName);\n // const svgIcon = this.utilitiesService.getSvgElementFromString(\n // this.document,\n // svgData\n // );\n\n // const elementNameToFind = isLeft ? 'g-nav-prev' : 'g-nav-next'\n\n // const elementArr = galleryContainer.nativeElement.querySelectorAll(`.${elementNameToFind}`);\n // if (elementArr && elementArr.length > 0) {\n // elementArr[0].appendChild(svgIcon);\n // this.renderer.addClass(svgIcon, 'svg-icon');\n // }\n // }\n\n ngOnInit(): void {\n if (!this.inDialog) {\n if (this.form === null) {\n this.standAlone = true;\n this.setFieldHeight();\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n }\n\n if (this.items === null) {\n const imgArr = this.value ? this.value.split(';') : [];\n // add No image image when there is no images\n if (imgArr.length === 0) {\n const noImageSrc = this.fileService.getSvgAsImageSrc(\n pepIconNoImage2.data\n );\n imgArr.push(noImageSrc);\n }\n\n this.items = imgArr.map(\n (img) => new ImageItem({ src: img, thumb: img })\n );\n }\n\n this.config.dots = this.config.nav = this.items.length > 1;\n this.config.thumb =\n (this.key === 'ItemFilmstripImages' || this.showThumbnails) &&\n this.items.length > 1\n ? true\n : false;\n this.currIndex =\n this.key === 'ItemFilmstripImages' &&\n this.currIndex === 0 &&\n this.items.length > 1\n ? Math.floor(this.items.length / 2) - 1\n : this.currIndex;\n }\n\n ngAfterViewInit(): void {\n if (this.inDialog) {\n this.afterDialogOpened();\n } else {\n this.galleryRef = this.gallery.ref(\n `${this.guid}-gallery`\n );\n this.initGalleryStyle(this.galleryCont, this.galleryRef);\n }\n }\n\n ngOnChanges(): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n }\n\n ngOnDestroy(): void {\n if (this.galleryRef) {\n this.galleryRef.destroy();\n }\n if (this.dialogGalleryRef) {\n this.dialogGalleryRef.destroy();\n }\n // if (this.myPinch) { this.myPinch.destroy(); }\n }\n\n initGalleryStyle(galleryContainer, galleryRef): void {\n setTimeout(() => {\n // Set thumbnails position and sliding direction\n this.setThumbnailDimension(galleryContainer);\n galleryRef.setConfig(this.config);\n // this.renderNavIcon(galleryContainer, true);\n // this.renderNavIcon(galleryContainer, false);\n }, 0);\n\n const currentIndex = this.currIndex;\n if (currentIndex > 0) {\n setTimeout(() => {\n galleryRef.load(this.items);\n galleryRef.set(currentIndex);\n }, 0);\n // galleryRef.set(currentIndex);\n } else {\n galleryRef.load(this.items);\n }\n }\n\n onError(e): void {\n const noImageSrc = this.fileService.getSvgAsImageSrc(\n pepIconNoImage2.data\n );\n const noimg = new ImageItem({ src: noImageSrc, thumb: noImageSrc });\n this.items.splice(e.itemIndex, 1, noimg);\n }\n\n enlargeImage(event: any): void {\n const config = this.dialogService.getDialogConfig({}, 'inline');\n config.maxWidth = '75vw';\n config.height = '95vh';\n\n this.enlargeImageDialogRef = this.dialogService.openDialog(\n this.galleryDialogTemplate,\n {\n currIndex: this.currIndex,\n },\n config\n );\n\n this.enlargeImageDialogRef.afterOpened().subscribe(() => {\n this.afterDialogOpened();\n });\n\n // Update currentIndex in galleryRef\n // dialogRef.afterClosed().subscribe(value => {\n // this.galleryRef.set(this.currIndex);\n // });\n }\n\n afterDialogOpened(): void {\n this.dialogGalleryRef = this.gallery.ref(\n `${this.guid}-dlgGallery`\n );\n this.initGalleryStyle(this.galleryDialogCont, this.dialogGalleryRef);\n }\n\n closeDialog(event) {\n if (this.inDialog) {\n this.dialogRef?.close(event);\n } else {\n this.enlargeImageDialogRef?.close(event);\n }\n }\n\n setThumbnailDimension(galleryContainer): void {\n this.galleryWidth = galleryContainer.nativeElement.clientWidth;\n // this.galleryHeight = galleryContainer.nativeElement.clientHeight - 32; // TODO - TALK WITH TOMER\n this.galleryHeight = this.inDialog\n ? galleryContainer.nativeElement.clientHeight - 32\n : galleryContainer.nativeElement.clientHeight;\n // this.galleryHeight = galleryContainer.nativeElement.clientHeight - 32;\n this.cd.detectChanges();\n\n this.isVertical = this.galleryWidth < this.galleryHeight;\n this.cd.detectChanges();\n if (this.isVertical) {\n let width =\n (this.galleryWidth - (this.items.length - 1) * 16) /\n this.items.length;\n width = Math.min(Math.max(width, 24), 96);\n\n this.config.thumbHeight = width;\n this.config.thumbWidth = width + 16;\n } else {\n let height =\n (this.galleryHeight - (this.items.length - 1) * 16) /\n this.items.length;\n height = Math.min(Math.max(height, 24), 96);\n\n this.config.thumbHeight = height + 16;\n this.config.thumbWidth = height;\n }\n\n this.config.thumbPosition = this.isVertical\n ? ThumbnailsPosition.Bottom\n : this.layoutService.isRtl()\n ? ThumbnailsPosition.Right\n : ThumbnailsPosition.Left;\n this.config.slidingDirection =\n this.key !== 'ItemFilmstripImages'\n ? SlidingDirection.Horizontal\n : this.isVertical\n ? SlidingDirection.Horizontal\n : SlidingDirection.Vertical;\n\n this.config.imageSize = 'contain';\n }\n\n indexChange(item: any): void {\n this.currIndex = item.currIndex;\n // if (this.ngxViewerImage && this.ngxViewerImage.scale) {\n // this.ngxViewerImage.scale = 1;\n // this.updateStyle();\n // }\n }\n\n\n // scrollFunction(e: any): boolean {\n // e.deltaY > 0 ? this.zoomOut() : this.zoomIn();\n // return false;\n // }\n\n // zoomIn(): void {\n // if (this.ngxViewerImage.scale < 2) {\n // this.ngxViewerImage.scale *= (1 + this.ngxViewerImage.config.zoomFactor);\n // } else {\n // this.ngxViewerImage.scale = 2;\n // }\n // this.updateStyle();\n // }\n\n // zoomOut(): void {\n // if (this.ngxViewerImage.scale > this.ngxViewerImage.config.zoomFactor) {\n // this.ngxViewerImage.scale /= (1 + this.ngxViewerImage.config.zoomFactor);\n // }\n // this.updateStyle();\n // }\n\n // private updateStyle(): void {\n // this.ngxViewerImage.style.transform = `translate(${this.ngxViewerImage.translateX}px,\n // ${this.ngxViewerImage.translateY}px) rotate(${this.ngxViewerImage.rotation}deg) scale(${this.ngxViewerImage.scale})`;\n\n // this.cd.detectChanges();\n // }\n}\n","<ng-container *ngIf=\"inDialog; then galleryDialogTemplate; else regularTemplate\"></ng-container>\n<ng-template #regularTemplate>\n <ng-container [formGroup]=\"form\">\n <div class=\"images-filmstrip-container\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <div #galleryCont class=\"img-wrapper\" [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\"\n [style.height]=\"fieldHeight\">\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_left_alt\" styleType=\"weak-invert\" sizeType=\"sm\"\n (click)=\"formGallery.prev()\" class=\"gallery-arrow start-arrow\">\n </pep-button>\n <gallery #formGallery id=\"{{guid}}-gallery\" (itemClick)=\"enlargeImage($event);\" [imageSize]=\"'contain'\"\n (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\n </gallery>\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_right_alt\" styleType=\"weak-invert\" sizeType=\"sm\"\n (click)=\"formGallery.next()\" class=\"gallery-arrow end-arrow\">\n </pep-button>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #galleryDialogTemplate>\n <div class=\"gallery-dialog\">\n <pep-dialog [title]=\"label\" [showFooter]=\"showFooter\" [showClose]=\"showClose\" (close)=\"closeDialog($event)\">\n <div pep-dialog-content #galleryDialogCont class=\"gallery-dialog-content\"\n [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\">\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_left_alt\" styleType=\"weak-invert\"\n (click)=\"dialogGallery.prev()\" class=\"gallery-arrow start-arrow\">\n </pep-button>\n <gallery #dialogGallery id=\"{{guid}}-dlgGallery\" [imageSize]=\"'contain'\"\n (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\n </gallery>\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_right_alt\" styleType=\"weak-invert\"\n (click)=\"dialogGallery.next()\" class=\"gallery-arrow end-arrow\">\n </pep-button>\n </div>\n </pep-dialog>\n </div>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemEdit,\n pepIconSystemClose,\n pepIconArrowRightAlt,\n pepIconArrowLeftAlt,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { GalleryModule } from 'ng-gallery';\n\nimport { PepImagesFilmstripComponent } from './images-filmstrip.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatFormFieldModule,\n MatDialogModule,\n MatIconModule,\n // External modules\n GalleryModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepButtonModule,\n PepIconModule,\n PepFieldTitleModule,\n PepDialogModule,\n ],\n exports: [PepImagesFilmstripComponent],\n declarations: [PepImagesFilmstripComponent],\n})\nexport class PepImagesFilmstripModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemEdit,\n pepIconSystemClose,\n pepIconArrowRightAlt,\n pepIconArrowLeftAlt,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/images-filmstrip\n */\nexport * from './images-filmstrip.module';\nexport * from './images-filmstrip.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -44,13 +44,15 @@ class PepPluginProxyComponent {
44
44
  return __awaiter(this, void 0, void 0, function* () {
45
45
  this.viewContainer.clear();
46
46
  debugger;
47
- // TODO: Implement on the relation.
48
- this.options.type = 'module';
49
47
  if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.addonId) && (this.options.type === 'module' || this.options.type === 'script')) {
50
- const publicPathArr = (_b = this.options.remoteEntry) === null || _b === void 0 ? void 0 : _b.split('/');
51
- const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/') + '/';
52
- __webpack_public_path__ = publicPath;
53
- this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
48
+ const lastSlashIndex = ((_b = this.options.remoteEntry) === null || _b === void 0 ? void 0 : _b.lastIndexOf('/')) || -1;
49
+ if (lastSlashIndex > 0) {
50
+ // const publicPathArr = this.options.remoteEntry?.split('/');
51
+ // const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';
52
+ const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);
53
+ __webpack_public_path__ = publicPath;
54
+ this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
55
+ }
54
56
  }
55
57
  const componentType = yield loadRemoteModule(this.options).then(m => m[this.options.componentName]);
56
58
  this.compRef = this.viewContainer.createComponent(componentType);
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-plugin.mjs","sources":["../../../projects/ngx-lib/plugin/plugin-proxy.component.ts","../../../projects/ngx-lib/plugin/public-api.ts","../../../projects/ngx-lib/plugin/pepperi-addons-ngx-lib-plugin.ts"],"sourcesContent":["import { Component, ComponentRef, EventEmitter, Input, OnChanges, OnDestroy, Output, ViewChild, ViewContainerRef } from '@angular/core';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { PepPluginOptions } from './plugin.model';\nimport { Subscription } from 'rxjs';\ndeclare let __webpack_public_path__;\n\n@Component({\n standalone: true,\n selector: 'pep-plugin-proxy',\n template: `\n <ng-container #placeHolder></ng-container>\n `\n})\nexport class PepPluginProxyComponent implements OnChanges, OnDestroy {\n @ViewChild('placeHolder', { read: ViewContainerRef, static: true })\n viewContainer: ViewContainerRef;\n \n private _options: PepPluginOptions = null;\n @Input()\n set options(value: PepPluginOptions) {\n this._options = value;\n if (value) {\n this.loadModule();\n }\n }\n get options(): PepPluginOptions {\n return this._options;\n }\n\n // This is the data passed by the API Design documentation.\n private _hostObject: any = null;\n @Input()\n set hostObject(value: any) { \n this._hostObject = value;\n this.setHostComponentIntoComponentRef();\n }\n get hostObject(): any {\n return this._hostObject;\n }\n\n @Output() hostEvents: EventEmitter<any> = new EventEmitter();\n @Output() load: EventEmitter<any> = new EventEmitter();\n\n private compRef: ComponentRef<any>;\n private hostEvents$: Subscription;\n\n constructor(\n private pepAddonService: PepAddonService,\n ) { }\n\n private setHostComponentIntoComponentRef() {\n if (this.hostObject && this.compRef?.instance) {\n this.compRef.instance['hostObject'] = this.hostObject;\n\n // TODO: Check if this is needed?? if not remove this.\n // if (this.compRef?.instance?.ngOnChanges) {\n // this.compRef.instance.ngOnChanges(this.hostObject);\n // }\n }\n }\n\n private async loadModule() {\n this.viewContainer.clear();\n \n debugger;\n // TODO: Implement on the relation.\n this.options.type = 'module';\n\n if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {\n const publicPathArr = this.options.remoteEntry?.split('/');\n const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';\n __webpack_public_path__ = publicPath;\n this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n }\n\n const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);\n this.compRef = this.viewContainer.createComponent(componentType);\n \n if (this.compRef) {\n this.setHostComponentIntoComponentRef();\n \n this.hostEvents$ = this.compRef.instance['hostEvents']?.subscribe((e: any) => {\n this.hostEvents.emit(e)\n });\n }\n\n this.load.emit();\n }\n\n ngOnChanges() {\n }\n \n ngOnDestroy(): void {\n if (this.hostEvents$) {\n this.hostEvents$.unsubscribe();\n }\n\n this.compRef?.destroy();\n this.viewContainer?.clear();\n }\n}\n\n","/*\r\n * Public API Surface of ngx-lib/plugin\r\n */\r\nexport * from './plugin-proxy.component';\r\nexport * from './plugin.model';\r\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":"pepperi-addons-ngx-lib-plugin.mjs","sources":["../../../projects/ngx-lib/plugin/plugin-proxy.component.ts","../../../projects/ngx-lib/plugin/public-api.ts","../../../projects/ngx-lib/plugin/pepperi-addons-ngx-lib-plugin.ts"],"sourcesContent":["import { Component, ComponentRef, EventEmitter, Input, OnChanges, OnDestroy, Output, ViewChild, ViewContainerRef } from '@angular/core';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { PepPluginOptions } from './plugin.model';\nimport { Subscription } from 'rxjs';\ndeclare let __webpack_public_path__;\n\n@Component({\n standalone: true,\n selector: 'pep-plugin-proxy',\n template: `\n <ng-container #placeHolder></ng-container>\n `\n})\nexport class PepPluginProxyComponent implements OnChanges, OnDestroy {\n @ViewChild('placeHolder', { read: ViewContainerRef, static: true })\n viewContainer: ViewContainerRef;\n \n private _options: PepPluginOptions = null;\n @Input()\n set options(value: PepPluginOptions) {\n this._options = value;\n if (value) {\n this.loadModule();\n }\n }\n get options(): PepPluginOptions {\n return this._options;\n }\n\n // This is the data passed by the API Design documentation.\n private _hostObject: any = null;\n @Input()\n set hostObject(value: any) { \n this._hostObject = value;\n this.setHostComponentIntoComponentRef();\n }\n get hostObject(): any {\n return this._hostObject;\n }\n\n @Output() hostEvents: EventEmitter<any> = new EventEmitter();\n @Output() load: EventEmitter<any> = new EventEmitter();\n\n private compRef: ComponentRef<any>;\n private hostEvents$: Subscription;\n\n constructor(\n private pepAddonService: PepAddonService,\n ) { }\n\n private setHostComponentIntoComponentRef() {\n if (this.hostObject && this.compRef?.instance) {\n this.compRef.instance['hostObject'] = this.hostObject;\n\n // TODO: Check if this is needed?? if not remove this.\n // if (this.compRef?.instance?.ngOnChanges) {\n // this.compRef.instance.ngOnChanges(this.hostObject);\n // }\n }\n }\n\n private async loadModule() {\n this.viewContainer.clear();\n \n debugger;\n \n if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {\n \n const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;\n if (lastSlashIndex > 0) {\n // const publicPathArr = this.options.remoteEntry?.split('/');\n // const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';\n \n const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);\n __webpack_public_path__ = publicPath;\n this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n }\n }\n\n const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);\n this.compRef = this.viewContainer.createComponent(componentType);\n \n if (this.compRef) {\n this.setHostComponentIntoComponentRef();\n \n this.hostEvents$ = this.compRef.instance['hostEvents']?.subscribe((e: any) => {\n this.hostEvents.emit(e)\n });\n }\n\n this.load.emit();\n }\n\n ngOnChanges() {\n }\n \n ngOnDestroy(): void {\n if (this.hostEvents$) {\n this.hostEvents$.unsubscribe();\n }\n\n this.compRef?.destroy();\n this.viewContainer?.clear();\n }\n}\n\n","/*\r\n * Public API Surface of ngx-lib/plugin\r\n */\r\nexport * from './plugin-proxy.component';\r\nexport * from './plugin.model';\r\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 { Injectable, EventEmitter, ViewContainerRef, Component, ViewChild, Input, Output, TemplateRef, NgModule } from '@angular/core';
2
+ import { Injectable, EventEmitter, createNgModuleRef, ViewContainerRef, Component, ViewChild, Input, Output, TemplateRef, NgModule } from '@angular/core';
3
3
  import { __awaiter } from 'tslib';
4
4
  import * as i1 from '@pepperi-addons/ngx-lib';
5
5
  import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
@@ -113,7 +113,7 @@ class PepRemoteLoaderComponent {
113
113
  });
114
114
  }
115
115
  loadModule() {
116
- var _a, _b, _c, _d, _e, _f, _g;
116
+ var _a, _b, _c, _d, _e, _f;
117
117
  return __awaiter(this, void 0, void 0, function* () {
118
118
  const t0 = performance.now();
119
119
  // Check if only need update
@@ -148,14 +148,14 @@ class PepRemoteLoaderComponent {
148
148
  // this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
149
149
  const module = yield loadRemoteModule(this.options).then(m => m);
150
150
  // New code
151
- // const moduleRef = createNgModuleRef(module, this.injector);
152
- // const component = module[this.options.componentName];
153
- // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector, ngModuleRef: moduleRef });
151
+ const moduleRef = createNgModuleRef(module, this.injector);
152
+ const component = module[this.options.componentName];
153
+ this.compRef = this.viewContainer.createComponent(component, { injector: this.injector, ngModuleRef: moduleRef });
154
154
  // Old code
155
- const moduleFactory = this.compiler.compileModuleSync(module[this.options.exposedModule.replace('./', '')]);
156
- const moduleRef = moduleFactory.create(this.injector);
157
- const componentFactory = (_e = moduleRef === null || moduleRef === void 0 ? void 0 : moduleRef.componentFactoryResolver) === null || _e === void 0 ? void 0 : _e.resolveComponentFactory(module[this.options.componentName]);
158
- this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector, null, moduleRef);
155
+ // const moduleFactory: NgModuleFactory<any> = this.compiler.compileModuleSync(module[this.options.exposedModule.replace('./','')]);
156
+ // const moduleRef = moduleFactory.create(this.injector);
157
+ // const componentFactory = moduleRef?.componentFactoryResolver?.resolveComponentFactory(module[this.options.componentName]);
158
+ // this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector, null, moduleRef);
159
159
  const t1 = performance.now();
160
160
  console.log('remote module load performance: ' + (t1 - t0) / 1000);
161
161
  }
@@ -164,7 +164,7 @@ class PepRemoteLoaderComponent {
164
164
  }
165
165
  if (this.compRef) {
166
166
  this.setHostComponentIntoComponentRef();
167
- (_g = (_f = this.compRef) === null || _f === void 0 ? void 0 : _f.instance['hostEvents']) === null || _g === void 0 ? void 0 : _g.subscribe(e => {
167
+ (_f = (_e = this.compRef) === null || _e === void 0 ? void 0 : _e.instance['hostEvents']) === null || _f === void 0 ? void 0 : _f.subscribe(e => {
168
168
  // switch(e.action){
169
169
  // case 'addon-loaded':
170
170
  // this.showSpinner = false;
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-remote-loader.mjs","sources":["../../../projects/ngx-lib/remote-loader/remote-loader.service.ts","../../../projects/ngx-lib/remote-loader/remote-loader.component.ts","../../../projects/ngx-lib/remote-loader/addon-block-loader.component.ts","../../../projects/ngx-lib/remote-loader/addon-block-loader.component.html","../../../projects/ngx-lib/remote-loader/addon-block-loader.service.ts","../../../projects/ngx-lib/remote-loader/remote-loader.module.ts","../../../projects/ngx-lib/remote-loader/public-api.ts","../../../projects/ngx-lib/remote-loader/pepperi-addons-ngx-lib-remote-loader.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { PepAddonService, PepHttpService, PepSessionService} from '@pepperi-addons/ngx-lib';\nimport { PepBlockDataType, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { IBlockLoaderData } from './remote-loader.model';\nimport { ActivatedRoute } from '@angular/router';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class PepRemoteLoaderService {\n \n constructor(\n private httpService: PepHttpService,\n private sessionService: PepSessionService,\n private addonService: PepAddonService,\n private route: ActivatedRoute,\n ) {\n //\n }\n\n getRemoteLoaderOptions(blockLoaderData: IBlockLoaderData, remoteEntry = ''): PepRemoteLoaderOptions {\n return {\n addonId: blockLoaderData.relation.AddonUUID,\n remoteEntry: remoteEntry.length > 0 ? remoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,\n remoteName: blockLoaderData.relation.AddonRelativeURL,\n exposedModule: `./${blockLoaderData.relation.ModuleName}`,\n componentName: blockLoaderData.relation.ComponentName, \n }\n }\n\n private getAddonBaseUrl(addonUUID: string, fileName = 'api'): string {\n // For devServer run server on localhost.\n const devServer = this.route.snapshot.queryParamMap.get('devServer') === 'true';\n if(devServer) {\n return `http://localhost:4500/${fileName}`;\n } else {\n const baseUrl = this.sessionService.getPapiBaseUrl();\n return `${baseUrl}/addons/api/${addonUUID}/${fileName}`;\n }\n }\n \n async getBlockRemoteLoaderOptions(name: string, blockType: PepBlockDataType = 'AddonBlock', remoteEntry = ''): Promise<PepRemoteLoaderOptions> {\n return new Promise((resolve, reject) => {\n const pagesAddonUuid = this.addonService.getPagesAddonUUID();\n const pagesBaseUrl = this.getAddonBaseUrl(pagesAddonUuid, 'addon_blocks');\n const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${name}&blockType=${blockType}`;\n this.httpService.getHttpCall(url).toPromise().then((data: IBlockLoaderData) => {\n if (data) {\n resolve(this.getRemoteLoaderOptions(data, remoteEntry));\n } else {\n reject(`Addon block with name - ${name} is not found for type - ${blockType}`);\n }\n }); \n });\n }\n}\n","import { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { Component, Input, OnChanges, ViewChild, ViewContainerRef, ComponentFactoryResolver,\n Injector, NgModuleFactory, Compiler, EventEmitter, Output, ComponentRef, SimpleChanges, NgZone, createNgModuleRef } from '@angular/core';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepRemoteLoaderOptions } from './remote-loader.model';\ndeclare let __webpack_public_path__;\n\n@Component({\n selector: 'pep-remote-loader',\n template: `\n <!-- <mat-spinner *ngIf=\"showSpinner; else placeHolder\"></mat-spinner> -->\n <ng-template #placeHolder></ng-template>\n `\n})\nexport class PepRemoteLoaderComponent implements OnChanges {\n @ViewChild('placeHolder', { read: ViewContainerRef, static: true }) viewContainer: ViewContainerRef;\n \n private _options: PepRemoteLoaderOptions = null;\n @Input()\n set options(value: PepRemoteLoaderOptions) {\n this._options = value;\n if (value) {\n this.loadModule();\n }\n }\n get options(): PepRemoteLoaderOptions {\n return this._options;\n }\n \n // This is the data passed by the API Design documentation.\n private _hostObject: any = null;\n @Input()\n set hostObject(value: any) { \n this._hostObject = value;\n this.setHostComponentIntoComponentRef();\n }\n get hostObject(): any {\n return this._hostObject;\n }\n\n @Output() hostEvents: EventEmitter<any> = new EventEmitter();\n @Output() load: EventEmitter<any> = new EventEmitter();\n // showSpinner = true;\n \n private compRef: ComponentRef<any>;\n\n constructor(\n private injector: Injector,\n private cfr: ComponentFactoryResolver,\n private compiler: Compiler,\n private pepAddonService: PepAddonService,\n // private zone: NgZone,\n ) { }\n\n private setHostComponentIntoComponentRef() {\n if (this.hostObject && this.compRef?.instance) {\n this.compRef.instance.hostObject = this.hostObject;\n\n // TODO: Check if this is needed?? if not remove this.\n if (this.compRef?.instance?.ngOnChanges) {\n this.compRef.instance.ngOnChanges(this.hostObject);\n }\n }\n }\n\n async ngOnChanges(changes: SimpleChanges) {\n // if (changes?.options?.currentValue) {\n // this.loadModule(changes?.options?.currentValue);\n // }\n }\n\n private async loadModule() {\n const t0 = performance.now();\n \n // Check if only need update\n if (!this.options?.update) {\n this.viewContainer?.clear();\n \n // try {\n // if (this.options.addonId) {\n // const publicPathArr = this.options.remoteEntry.split('/');\n // const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';\n // __webpack_public_path__ = publicPath;\n // this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n // }\n \n // const module = await loadRemoteModule(this.options).then(m => m);\n // const component = module[this.options.componentName];\n // this.compRef = this.viewContainer.createComponent(component);\n\n // } catch (e) {\n \n this.viewContainer?.clear();\n // Load Component\n if (this.options?.noModule) {\n const component = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);\n \n // New code\n // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector });\n \n // Old code\n const componentFactory = this.cfr.resolveComponentFactory(component);\n this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector);\n }\n // Load Module\n else {\n // const publicPathArr = this.options.remoteEntry.split('/');\n // const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';\n // __webpack_public_path__ = publicPath;\n // this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n \n const module = await loadRemoteModule(this.options).then(m => m);\n \n // New code\n // const moduleRef = createNgModuleRef(module, this.injector);\n // const component = module[this.options.componentName];\n // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector, ngModuleRef: moduleRef });\n \n // Old code\n const moduleFactory: NgModuleFactory<any> = this.compiler.compileModuleSync(module[this.options.exposedModule.replace('./','')]);\n const moduleRef = moduleFactory.create(this.injector);\n \n const componentFactory = moduleRef?.componentFactoryResolver?.resolveComponentFactory(module[this.options.componentName]);\n this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector, null, moduleRef);\n \n const t1 = performance.now();\n console.log('remote module load performance: ' + (t1-t0)/1000);\n }\n\n // }\n\n \n this.load.emit();\n }\n\n if (this.compRef) {\n this.setHostComponentIntoComponentRef();\n \n this.compRef?.instance['hostEvents']?.subscribe(e => {\n // switch(e.action){\n // case 'addon-loaded':\n // this.showSpinner = false;\n // }\n this.hostEvents.emit(e)\n });\n }\n }\n\n ngOnDestroy(): void {\n this.compRef?.destroy();\n this.viewContainer?.clear();\n }\n}\n\n","import { Component, OnInit, Input, Output, EventEmitter, TemplateRef, ViewChild, OnDestroy } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepBlockDataType, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { PepRemoteLoaderService } from './remote-loader.service';\n\n@Component({\n selector: 'pep-addon-block-loader',\n templateUrl: './addon-block-loader.component.html',\n styleUrls: ['./addon-block-loader.component.scss']\n})\nexport class PepAddonBlockLoaderComponent implements OnInit, OnDestroy {\n @ViewChild('dialogTemplate', { static: true, read: TemplateRef }) dialogTemplate!: TemplateRef<any>;\n \n @Input() remoteEntry: string = '';\n\n private _blockType: PepBlockDataType = 'AddonBlock';\n @Input() \n set blockType(value: PepBlockDataType) {\n this._blockType = value;\n }\n get blockType(): PepBlockDataType {\n return this._blockType;\n }\n\n private _name = '';\n @Input() \n set name(value: string) {\n this._name = value;\n }\n get name(): string {\n return this._name;\n }\n\n @Input() hostObject = null;\n \n private _dialogRef: MatDialogRef<any> = null;\n @Input()\n set dialogRef(value: MatDialogRef<any>) {\n this._dialogRef = value;\n this.inDialog = this._dialogRef != null;\n }\n get dialogRef(): MatDialogRef<any> {\n return this._dialogRef;\n }\n \n @Output() hostEvents: EventEmitter<any> = new EventEmitter<any>();\n @Output() blockLoad: EventEmitter<void> = new EventEmitter<void>();\n \n inDialog = false;\n remotePathOptions: PepRemoteLoaderOptions = null;\n \n constructor(private remoteLoaderService: PepRemoteLoaderService) {\n //\n }\n \n ngOnInit() {\n this.remoteLoaderService.getBlockRemoteLoaderOptions(this.name, this.blockType, this.remoteEntry).then(options => {\n this.remotePathOptions = options;\n });\n }\n\n ngOnDestroy(): void {\n if (this.dialogRef) {\n this.dialogRef = null;\n }\n\n this.remotePathOptions = null;\n }\n\n onBlockLoad() {\n this.blockLoad.emit();\n }\n\n onHostEvents(event: any) {\n this.hostEvents.emit(event);\n }\n\n closeDialog(event) {\n this.dialogRef?.close(event);\n }\n}","<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n</ng-template>","import { ComponentFactoryResolver, ComponentRef, Injectable, Injector } from '@angular/core';\nimport { IAddonBlockLoaderDialogOptions, IAddonBlockLoaderOptions, IBlockLoaderData } from './remote-loader.model';\nimport { PepAddonBlockLoaderComponent } from './addon-block-loader.component';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class PepAddonBlockLoaderService {\n \n constructor(\n private resolver: ComponentFactoryResolver,\n private dialogService: PepDialogService,\n ) {\n //\n }\n\n private loadAddonBlockInternal(options: IAddonBlockLoaderDialogOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n if (options.container !== null) {\n const factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);\n const componentRef = options.container.createComponent(factory);\n const addonBlockInstance = componentRef.instance;\n\n addonBlockInstance.blockType = options.blockType || 'AddonBlock';\n addonBlockInstance.name = options.name;\n addonBlockInstance.hostObject = options.hostObject;\n\n addonBlockInstance.hostEvents.subscribe((event) => {\n if (options.hostEventsCallback) {\n options.hostEventsCallback(event);\n }\n });\n\n return componentRef;\n } else {\n return null;\n }\n }\n\n loadAddonBlockInContainer(options: IAddonBlockLoaderOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n return this.loadAddonBlockInternal(options);\n }\n\n loadAddonBlockInDialog(options: IAddonBlockLoaderDialogOptions): MatDialogRef<any> | null {\n const componentRef = this.loadAddonBlockInternal(options);\n \n if (componentRef) {\n const addonBlockInstance = componentRef.instance;\n const pepConfig = this.dialogService.getDialogConfig({ disableClose: false, panelClass: 'remote-loader-dialog' }, options.size || 'full-screen');\n const mergeConfig = {...options.config, ...pepConfig}; \n const data = options.data || null;\n addonBlockInstance.dialogRef = this.dialogService.openDialog(addonBlockInstance.dialogTemplate, data, mergeConfig);\n addonBlockInstance.dialogRef.afterClosed().subscribe(() => {\n componentRef.hostView.detach();\n componentRef.hostView.destroy();\n componentRef.destroy();\n });\n return addonBlockInstance.dialogRef;\n\n } else {\n return null;\n }\n }\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { PepAddonBlockLoaderComponent } from './addon-block-loader.component';\nimport { PepAddonBlockLoaderService } from './addon-block-loader.service';\n\nimport { PepRemoteLoaderComponent } from './remote-loader.component';\nimport { PepRemoteLoaderService } from './remote-loader.service';\n\n@NgModule({\n declarations: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n // Material modules,\n MatDialogModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepDialogModule,\n ],\n exports: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n ],\n providers: [\n PepAddonBlockLoaderService,\n PepRemoteLoaderService\n ]\n})\nexport class PepRemoteLoaderModule {\n\n\n}\n","/*\n * Public API Surface of remote-loader\n */\nexport * from './addon-block-loader.component';\nexport * from './addon-block-loader.service';\nexport * from './remote-loader.component';\nexport * from './remote-loader.module';\nexport * from './remote-loader.model';\nexport * from './remote-loader.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PepRemoteLoaderService","i2","i3","i4.PepRemoteLoaderComponent","i1"],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-remote-loader.mjs","sources":["../../../projects/ngx-lib/remote-loader/remote-loader.service.ts","../../../projects/ngx-lib/remote-loader/remote-loader.component.ts","../../../projects/ngx-lib/remote-loader/addon-block-loader.component.ts","../../../projects/ngx-lib/remote-loader/addon-block-loader.component.html","../../../projects/ngx-lib/remote-loader/addon-block-loader.service.ts","../../../projects/ngx-lib/remote-loader/remote-loader.module.ts","../../../projects/ngx-lib/remote-loader/public-api.ts","../../../projects/ngx-lib/remote-loader/pepperi-addons-ngx-lib-remote-loader.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { PepAddonService, PepHttpService, PepSessionService} from '@pepperi-addons/ngx-lib';\nimport { PepBlockDataType, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { IBlockLoaderData } from './remote-loader.model';\nimport { ActivatedRoute } from '@angular/router';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class PepRemoteLoaderService {\n \n constructor(\n private httpService: PepHttpService,\n private sessionService: PepSessionService,\n private addonService: PepAddonService,\n private route: ActivatedRoute,\n ) {\n //\n }\n\n getRemoteLoaderOptions(blockLoaderData: IBlockLoaderData, remoteEntry = ''): PepRemoteLoaderOptions {\n return {\n addonId: blockLoaderData.relation.AddonUUID,\n remoteEntry: remoteEntry.length > 0 ? remoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,\n remoteName: blockLoaderData.relation.AddonRelativeURL,\n exposedModule: `./${blockLoaderData.relation.ModuleName}`,\n componentName: blockLoaderData.relation.ComponentName, \n }\n }\n\n private getAddonBaseUrl(addonUUID: string, fileName = 'api'): string {\n // For devServer run server on localhost.\n const devServer = this.route.snapshot.queryParamMap.get('devServer') === 'true';\n if(devServer) {\n return `http://localhost:4500/${fileName}`;\n } else {\n const baseUrl = this.sessionService.getPapiBaseUrl();\n return `${baseUrl}/addons/api/${addonUUID}/${fileName}`;\n }\n }\n \n async getBlockRemoteLoaderOptions(name: string, blockType: PepBlockDataType = 'AddonBlock', remoteEntry = ''): Promise<PepRemoteLoaderOptions> {\n return new Promise((resolve, reject) => {\n const pagesAddonUuid = this.addonService.getPagesAddonUUID();\n const pagesBaseUrl = this.getAddonBaseUrl(pagesAddonUuid, 'addon_blocks');\n const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${name}&blockType=${blockType}`;\n this.httpService.getHttpCall(url).toPromise().then((data: IBlockLoaderData) => {\n if (data) {\n resolve(this.getRemoteLoaderOptions(data, remoteEntry));\n } else {\n reject(`Addon block with name - ${name} is not found for type - ${blockType}`);\n }\n }); \n });\n }\n}\n","import { PepAddonService } from '@pepperi-addons/ngx-lib';\nimport { Component, Input, OnChanges, ViewChild, ViewContainerRef, ComponentFactoryResolver,\n Injector, NgModuleFactory, Compiler, EventEmitter, Output, ComponentRef, SimpleChanges, NgZone, createNgModuleRef } from '@angular/core';\nimport { loadRemoteModule } from '@angular-architects/module-federation';\nimport { PepRemoteLoaderOptions } from './remote-loader.model';\ndeclare let __webpack_public_path__;\n\n@Component({\n selector: 'pep-remote-loader',\n template: `\n <!-- <mat-spinner *ngIf=\"showSpinner; else placeHolder\"></mat-spinner> -->\n <ng-template #placeHolder></ng-template>\n `\n})\nexport class PepRemoteLoaderComponent implements OnChanges {\n @ViewChild('placeHolder', { read: ViewContainerRef, static: true }) viewContainer: ViewContainerRef;\n \n private _options: PepRemoteLoaderOptions = null;\n @Input()\n set options(value: PepRemoteLoaderOptions) {\n this._options = value;\n if (value) {\n this.loadModule();\n }\n }\n get options(): PepRemoteLoaderOptions {\n return this._options;\n }\n \n // This is the data passed by the API Design documentation.\n private _hostObject: any = null;\n @Input()\n set hostObject(value: any) { \n this._hostObject = value;\n this.setHostComponentIntoComponentRef();\n }\n get hostObject(): any {\n return this._hostObject;\n }\n\n @Output() hostEvents: EventEmitter<any> = new EventEmitter();\n @Output() load: EventEmitter<any> = new EventEmitter();\n // showSpinner = true;\n \n private compRef: ComponentRef<any>;\n\n constructor(\n private injector: Injector,\n private cfr: ComponentFactoryResolver,\n private compiler: Compiler,\n private pepAddonService: PepAddonService,\n // private zone: NgZone,\n ) { }\n\n private setHostComponentIntoComponentRef() {\n if (this.hostObject && this.compRef?.instance) {\n this.compRef.instance.hostObject = this.hostObject;\n\n // TODO: Check if this is needed?? if not remove this.\n if (this.compRef?.instance?.ngOnChanges) {\n this.compRef.instance.ngOnChanges(this.hostObject);\n }\n }\n }\n\n async ngOnChanges(changes: SimpleChanges) {\n // if (changes?.options?.currentValue) {\n // this.loadModule(changes?.options?.currentValue);\n // }\n }\n\n private async loadModule() {\n const t0 = performance.now();\n \n // Check if only need update\n if (!this.options?.update) {\n this.viewContainer?.clear();\n \n // try {\n // if (this.options.addonId) {\n // const publicPathArr = this.options.remoteEntry.split('/');\n // const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';\n // __webpack_public_path__ = publicPath;\n // this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n // }\n \n // const module = await loadRemoteModule(this.options).then(m => m);\n // const component = module[this.options.componentName];\n // this.compRef = this.viewContainer.createComponent(component);\n\n // } catch (e) {\n \n this.viewContainer?.clear();\n // Load Component\n if (this.options?.noModule) {\n const component = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);\n \n // New code\n // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector });\n \n // Old code\n const componentFactory = this.cfr.resolveComponentFactory(component);\n this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector);\n }\n // Load Module\n else {\n // const publicPathArr = this.options.remoteEntry.split('/');\n // const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';\n // __webpack_public_path__ = publicPath;\n // this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);\n \n const module = await loadRemoteModule(this.options).then(m => m);\n \n // New code\n const moduleRef = createNgModuleRef(module, this.injector);\n const component = module[this.options.componentName];\n this.compRef = this.viewContainer.createComponent(component, { injector: this.injector, ngModuleRef: moduleRef });\n \n // Old code\n // const moduleFactory: NgModuleFactory<any> = this.compiler.compileModuleSync(module[this.options.exposedModule.replace('./','')]);\n // const moduleRef = moduleFactory.create(this.injector);\n \n // const componentFactory = moduleRef?.componentFactoryResolver?.resolveComponentFactory(module[this.options.componentName]);\n // this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector, null, moduleRef);\n \n const t1 = performance.now();\n console.log('remote module load performance: ' + (t1-t0)/1000);\n }\n\n // }\n\n \n this.load.emit();\n }\n\n if (this.compRef) {\n this.setHostComponentIntoComponentRef();\n \n this.compRef?.instance['hostEvents']?.subscribe(e => {\n // switch(e.action){\n // case 'addon-loaded':\n // this.showSpinner = false;\n // }\n this.hostEvents.emit(e)\n });\n }\n }\n\n ngOnDestroy(): void {\n this.compRef?.destroy();\n this.viewContainer?.clear();\n }\n}\n\n","import { Component, OnInit, Input, Output, EventEmitter, TemplateRef, ViewChild, OnDestroy } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepBlockDataType, PepRemoteLoaderOptions } from './remote-loader.model';\nimport { PepRemoteLoaderService } from './remote-loader.service';\n\n@Component({\n selector: 'pep-addon-block-loader',\n templateUrl: './addon-block-loader.component.html',\n styleUrls: ['./addon-block-loader.component.scss']\n})\nexport class PepAddonBlockLoaderComponent implements OnInit, OnDestroy {\n @ViewChild('dialogTemplate', { static: true, read: TemplateRef }) dialogTemplate!: TemplateRef<any>;\n \n @Input() remoteEntry: string = '';\n\n private _blockType: PepBlockDataType = 'AddonBlock';\n @Input() \n set blockType(value: PepBlockDataType) {\n this._blockType = value;\n }\n get blockType(): PepBlockDataType {\n return this._blockType;\n }\n\n private _name = '';\n @Input() \n set name(value: string) {\n this._name = value;\n }\n get name(): string {\n return this._name;\n }\n\n @Input() hostObject = null;\n \n private _dialogRef: MatDialogRef<any> = null;\n @Input()\n set dialogRef(value: MatDialogRef<any>) {\n this._dialogRef = value;\n this.inDialog = this._dialogRef != null;\n }\n get dialogRef(): MatDialogRef<any> {\n return this._dialogRef;\n }\n \n @Output() hostEvents: EventEmitter<any> = new EventEmitter<any>();\n @Output() blockLoad: EventEmitter<void> = new EventEmitter<void>();\n \n inDialog = false;\n remotePathOptions: PepRemoteLoaderOptions = null;\n \n constructor(private remoteLoaderService: PepRemoteLoaderService) {\n //\n }\n \n ngOnInit() {\n this.remoteLoaderService.getBlockRemoteLoaderOptions(this.name, this.blockType, this.remoteEntry).then(options => {\n this.remotePathOptions = options;\n });\n }\n\n ngOnDestroy(): void {\n if (this.dialogRef) {\n this.dialogRef = null;\n }\n\n this.remotePathOptions = null;\n }\n\n onBlockLoad() {\n this.blockLoad.emit();\n }\n\n onHostEvents(event: any) {\n this.hostEvents.emit(event);\n }\n\n closeDialog(event) {\n this.dialogRef?.close(event);\n }\n}","<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n</ng-template>","import { ComponentFactoryResolver, ComponentRef, Injectable, Injector } from '@angular/core';\nimport { IAddonBlockLoaderDialogOptions, IAddonBlockLoaderOptions, IBlockLoaderData } from './remote-loader.model';\nimport { PepAddonBlockLoaderComponent } from './addon-block-loader.component';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class PepAddonBlockLoaderService {\n \n constructor(\n private resolver: ComponentFactoryResolver,\n private dialogService: PepDialogService,\n ) {\n //\n }\n\n private loadAddonBlockInternal(options: IAddonBlockLoaderDialogOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n if (options.container !== null) {\n const factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);\n const componentRef = options.container.createComponent(factory);\n const addonBlockInstance = componentRef.instance;\n\n addonBlockInstance.blockType = options.blockType || 'AddonBlock';\n addonBlockInstance.name = options.name;\n addonBlockInstance.hostObject = options.hostObject;\n\n addonBlockInstance.hostEvents.subscribe((event) => {\n if (options.hostEventsCallback) {\n options.hostEventsCallback(event);\n }\n });\n\n return componentRef;\n } else {\n return null;\n }\n }\n\n loadAddonBlockInContainer(options: IAddonBlockLoaderOptions): ComponentRef<PepAddonBlockLoaderComponent> | null {\n return this.loadAddonBlockInternal(options);\n }\n\n loadAddonBlockInDialog(options: IAddonBlockLoaderDialogOptions): MatDialogRef<any> | null {\n const componentRef = this.loadAddonBlockInternal(options);\n \n if (componentRef) {\n const addonBlockInstance = componentRef.instance;\n const pepConfig = this.dialogService.getDialogConfig({ disableClose: false, panelClass: 'remote-loader-dialog' }, options.size || 'full-screen');\n const mergeConfig = {...options.config, ...pepConfig}; \n const data = options.data || null;\n addonBlockInstance.dialogRef = this.dialogService.openDialog(addonBlockInstance.dialogTemplate, data, mergeConfig);\n addonBlockInstance.dialogRef.afterClosed().subscribe(() => {\n componentRef.hostView.detach();\n componentRef.hostView.destroy();\n componentRef.destroy();\n });\n return addonBlockInstance.dialogRef;\n\n } else {\n return null;\n }\n }\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { PepAddonBlockLoaderComponent } from './addon-block-loader.component';\nimport { PepAddonBlockLoaderService } from './addon-block-loader.service';\n\nimport { PepRemoteLoaderComponent } from './remote-loader.component';\nimport { PepRemoteLoaderService } from './remote-loader.service';\n\n@NgModule({\n declarations: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n // Material modules,\n MatDialogModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepDialogModule,\n ],\n exports: [\n PepAddonBlockLoaderComponent,\n PepRemoteLoaderComponent,\n ],\n providers: [\n PepAddonBlockLoaderService,\n PepRemoteLoaderService\n ]\n})\nexport class PepRemoteLoaderModule {\n\n\n}\n","/*\n * Public API Surface of remote-loader\n */\nexport * from './addon-block-loader.component';\nexport * from './addon-block-loader.service';\nexport * from './remote-loader.component';\nexport * from './remote-loader.module';\nexport * from './remote-loader.model';\nexport * from './remote-loader.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PepRemoteLoaderService","i2","i3","i4.PepRemoteLoaderComponent","i1"],"mappings":"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"}
@@ -693,6 +693,10 @@ class PepUtilitiesService {
693
693
  this.translate = translate;
694
694
  this.culture = 'en-US';
695
695
  this.culture = ((_a = this.translate) === null || _a === void 0 ? void 0 : _a.getBrowserCultureLang()) || 'en-US';
696
+ try {
697
+ import(`@angular/common/locales/global/${this.culture}`);
698
+ }
699
+ catch (_b) { }
696
700
  }
697
701
  changeDecimalSeperator(value, reverse = false) {
698
702
  // If the decimal separator is ','
@@ -805,15 +809,28 @@ class PepUtilitiesService {
805
809
  }
806
810
  else {
807
811
  return formatPercent(number / 100, this.culture, digitsInfo);
812
+ // return new Intl.NumberFormat(this.culture, {
813
+ // style: 'percent',
814
+ // minimumFractionDigits: 0,
815
+ // maximumFractionDigits: 2,
816
+ // }).format(number / 100);
808
817
  }
809
818
  }
810
819
  formatCurrency(value, currencySign = '', digitsInfo = '1.2-2') {
811
820
  const number = this.coerceNumberProperty(value);
821
+ // const styleOptions = {
822
+ // style: 'currency',
823
+ // currencySign: currencySign,
824
+ // minimumFractionDigits: 0,
825
+ // maximumFractionDigits: 2,
826
+ // };
812
827
  if (number === 0) {
813
828
  return formatCurrency(0, this.culture, currencySign, undefined, digitsInfo);
829
+ // return new Intl.NumberFormat(this.culture, styleOptions).format(0);
814
830
  }
815
831
  else {
816
832
  return formatCurrency(value, this.culture, currencySign, undefined, digitsInfo);
833
+ // return new Intl.NumberFormat(this.culture, styleOptions).format(number);
817
834
  }
818
835
  }
819
836
  formatDecimal(value, digitsInfo = '1.2-2') {
@@ -823,6 +840,10 @@ class PepUtilitiesService {
823
840
  }
824
841
  else {
825
842
  return formatNumber(value, this.culture, digitsInfo);
843
+ // return new Intl.NumberFormat(this.culture, {
844
+ // minimumFractionDigits: 2,
845
+ // maximumFractionDigits: 2,
846
+ // }).format(number)
826
847
  }
827
848
  }
828
849
  formatNumber(value, digitsInfo = '1.0-0') {
@@ -832,6 +853,10 @@ class PepUtilitiesService {
832
853
  }
833
854
  else {
834
855
  return formatNumber(value, this.culture, digitsInfo);
856
+ // return new Intl.NumberFormat(this.culture, {
857
+ // minimumFractionDigits: 0,
858
+ // maximumFractionDigits: 0,
859
+ // }).format(number)
835
860
  }
836
861
  }
837
862
  /**