primeng 17.18.11 → 17.18.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.
- package/accordion/accordion.d.ts +1 -0
- package/api/primeicons.d.ts +3 -3
- package/api/selectitemgroup.d.ts +2 -2
- package/api/treenode.d.ts +8 -0
- package/avatar/avatar.d.ts +12 -2
- package/carousel/carousel.d.ts +2 -0
- package/chips/chips.d.ts +9 -2
- package/chips/chips.interface.d.ts +8 -0
- package/dom/domhandler.d.ts +2 -2
- package/dropdown/dropdown.d.ts +8 -2
- package/editor/editor.d.ts +0 -2
- package/esm2022/accordion/accordion.mjs +8 -1
- package/esm2022/api/primeicons.mjs +4 -4
- package/esm2022/api/selectitemgroup.mjs +1 -1
- package/esm2022/api/treenode.mjs +1 -1
- package/esm2022/autocomplete/autocomplete.mjs +11 -7
- package/esm2022/avatar/avatar.mjs +16 -4
- package/esm2022/calendar/calendar.mjs +2 -2
- package/esm2022/carousel/carousel.mjs +16 -1
- package/esm2022/chips/chips.interface.mjs +1 -1
- package/esm2022/chips/chips.mjs +18 -2
- package/esm2022/dom/domhandler.mjs +1 -1
- package/esm2022/dropdown/dropdown.mjs +18 -6
- package/esm2022/editor/editor.mjs +3 -23
- package/esm2022/fileupload/fileupload.mjs +12 -6
- package/esm2022/galleria/galleria.mjs +11 -5
- package/esm2022/inputmask/inputmask.mjs +13 -4
- package/esm2022/inputnumber/inputnumber.mjs +16 -18
- package/esm2022/inputotp/inputotp.mjs +4 -2
- package/esm2022/listbox/listbox.mjs +16 -9
- package/esm2022/menu/menu.mjs +4 -3
- package/esm2022/multiselect/multiselect.mjs +43 -4
- package/esm2022/paginator/paginator.mjs +2 -2
- package/esm2022/panelmenu/panelmenu.mjs +19 -6
- package/esm2022/password/password.mjs +15 -5
- package/esm2022/picklist/picklist.mjs +16 -8
- package/esm2022/radiobutton/radiobutton.mjs +1 -4
- package/esm2022/scroller/scroller.mjs +11 -6
- package/esm2022/scrollpanel/scrollpanel.mjs +15 -11
- package/esm2022/sidebar/sidebar.mjs +3 -3
- package/esm2022/splitbutton/splitbutton.mjs +2 -1
- package/esm2022/steps/steps.mjs +5 -5
- package/esm2022/table/table.mjs +39 -16
- package/esm2022/tabview/tabview.mjs +2 -2
- package/esm2022/togglebutton/togglebutton.mjs +14 -11
- package/esm2022/tooltip/tooltip.mjs +27 -11
- package/esm2022/tree/tree.interface.mjs +1 -1
- package/esm2022/tree/tree.mjs +22 -29
- package/esm2022/treeselect/treeselect.mjs +4 -17
- package/fesm2022/primeng-accordion.mjs +7 -0
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs +3 -3
- package/fesm2022/primeng-api.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +10 -6
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-avatar.mjs +15 -3
- package/fesm2022/primeng-avatar.mjs.map +1 -1
- package/fesm2022/primeng-calendar.mjs +1 -1
- package/fesm2022/primeng-calendar.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +15 -0
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-chips.mjs +17 -1
- package/fesm2022/primeng-chips.mjs.map +1 -1
- package/fesm2022/primeng-dom.mjs.map +1 -1
- package/fesm2022/primeng-dropdown.mjs +17 -5
- package/fesm2022/primeng-dropdown.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +2 -22
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +11 -5
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +10 -4
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-inputmask.mjs +12 -3
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +15 -17
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +3 -1
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +15 -8
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +3 -2
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +42 -3
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +1 -1
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +18 -5
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +14 -4
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +15 -7
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +0 -3
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +10 -5
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +14 -10
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-sidebar.mjs +2 -2
- package/fesm2022/primeng-sidebar.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +1 -0
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +4 -4
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +38 -15
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabview.mjs +1 -1
- package/fesm2022/primeng-tabview.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +13 -10
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +26 -10
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +21 -28
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +3 -16
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fileupload/fileupload.d.ts +3 -1
- package/galleria/galleria.d.ts +2 -0
- package/inputnumber/inputnumber.d.ts +0 -1
- package/listbox/listbox.d.ts +1 -0
- package/multiselect/multiselect.d.ts +1 -0
- package/package.json +209 -209
- package/panelmenu/panelmenu.d.ts +2 -0
- package/password/password.d.ts +1 -0
- package/radiobutton/radiobutton.d.ts +1 -1
- package/scroller/scroller.d.ts +2 -2
- package/splitbutton/splitbutton.d.ts +3 -2
- package/table/table.d.ts +7 -1
- package/tooltip/tooltip.d.ts +3 -1
- package/tree/tree.d.ts +2 -2
- package/tree/tree.interface.d.ts +4 -0
- package/treeselect/treeselect.d.ts +1 -1
@@ -25,6 +25,20 @@ class Carousel {
|
|
25
25
|
document;
|
26
26
|
platformId;
|
27
27
|
config;
|
28
|
+
updateSlideAccessibility(slide, isActive) {
|
29
|
+
const focusableElements = slide.querySelectorAll('a, button, input, select, textarea, [tabindex]');
|
30
|
+
focusableElements.forEach((element) => {
|
31
|
+
element.tabIndex = isActive ? 0 : -1;
|
32
|
+
});
|
33
|
+
}
|
34
|
+
updateCarouselItemsAccessibility() {
|
35
|
+
const slides = this.el.nativeElement.querySelectorAll('.p-carousel-item');
|
36
|
+
slides.forEach((slide, index) => {
|
37
|
+
const isActive = index === this._page;
|
38
|
+
slide.setAttribute('aria-hidden', !isActive ? 'true' : 'false');
|
39
|
+
this.updateSlideAccessibility(slide, isActive);
|
40
|
+
});
|
41
|
+
}
|
28
42
|
/**
|
29
43
|
* Index of the first item.
|
30
44
|
* @defaultValue 0
|
@@ -573,6 +587,7 @@ class Carousel {
|
|
573
587
|
page: this.page
|
574
588
|
});
|
575
589
|
this.cd.markForCheck();
|
590
|
+
this.updateCarouselItemsAccessibility();
|
576
591
|
}
|
577
592
|
startAutoplay() {
|
578
593
|
this.interval = setInterval(() => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-carousel.mjs","sources":["../../src/app/components/carousel/carousel.ts","../../src/app/components/carousel/primeng-carousel.ts"],"sourcesContent":["import { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgModule,\n NgZone,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\nimport { Footer, Header, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { ChevronDownIcon } from 'primeng/icons/chevrondown';\nimport { ChevronLeftIcon } from 'primeng/icons/chevronleft';\nimport { ChevronRightIcon } from 'primeng/icons/chevronright';\nimport { ChevronUpIcon } from 'primeng/icons/chevronup';\nimport { RippleModule } from 'primeng/ripple';\nimport { UniqueComponentId } from 'primeng/utils';\nimport { CarouselPageEvent, CarouselResponsiveOptions } from './carousel.interface';\nimport { PrimeNGConfig } from 'primeng/api';\nimport { DomHandler } from 'primeng/dom';\n/**\n * Carousel is a content slider featuring various customization options.\n * @group Components\n */\n@Component({\n selector: 'p-carousel',\n template: `\n <div [attr.id]=\"id\" [ngClass]=\"{ 'p-carousel p-component': true, 'p-carousel-vertical': isVertical(), 'p-carousel-horizontal': !isVertical() }\" [ngStyle]=\"style\" [class]=\"styleClass\" role=\"region\">\n <div class=\"p-carousel-header\" *ngIf=\"headerFacet || headerTemplate\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n <div [class]=\"contentClass\" [ngClass]=\"'p-carousel-content'\">\n <div class=\"p-carousel-container\" [attr.aria-live]=\"allowAutoplay ? 'polite' : 'off'\">\n <button\n type=\"button\"\n *ngIf=\"showNavigators\"\n [ngClass]=\"{ 'p-carousel-prev p-link': true, 'p-disabled': isBackwardNavDisabled() }\"\n [disabled]=\"isBackwardNavDisabled()\"\n [attr.aria-label]=\"ariaPrevButtonLabel()\"\n (click)=\"navBackward($event)\"\n pRipple\n >\n <ng-container *ngIf=\"!previousIconTemplate\">\n <ChevronLeftIcon *ngIf=\"!isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n <ChevronUpIcon *ngIf=\"isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n </ng-container>\n <span *ngIf=\"previousIconTemplate\" class=\"p-carousel-prev-icon\">\n <ng-template *ngTemplateOutlet=\"previousIconTemplate\"></ng-template>\n </span>\n </button>\n <div class=\"p-carousel-items-content\" [ngStyle]=\"{ height: isVertical() ? verticalViewPortHeight : 'auto' }\" (touchend)=\"onTouchEnd($event)\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\">\n <div #itemsContainer class=\"p-carousel-items-container\" (transitionend)=\"onTransitionEnd()\">\n <div\n *ngFor=\"let item of clonedItemsForStarting; let index = index\"\n [ngClass]=\"{\n 'p-carousel-item p-carousel-item-cloned': true,\n 'p-carousel-item-active': totalShiftedItems * -1 === value.length,\n 'p-carousel-item-start': 0 === index,\n 'p-carousel-item-end': clonedItemsForStarting.length - 1 === index\n }\"\n [attr.aria-hidden]=\"!(totalShiftedItems * -1 === value.length)\"\n [attr.aria-label]=\"ariaSlideNumber(index)\"\n [attr.aria-roledescription]=\"ariaSlideLabel()\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div\n *ngFor=\"let item of value; let index = index\"\n [ngClass]=\"{ 'p-carousel-item': true, 'p-carousel-item-active': firstIndex() <= index && lastIndex() >= index, 'p-carousel-item-start': firstIndex() === index, 'p-carousel-item-end': lastIndex() === index }\"\n [attr.aria-hidden]=\"!(totalShiftedItems * -1 === value.length)\"\n [attr.aria-label]=\"ariaSlideNumber(index)\"\n [attr.aria-roledescription]=\"ariaSlideLabel()\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div\n *ngFor=\"let item of clonedItemsForFinishing; let index = index\"\n [ngClass]=\"{\n 'p-carousel-item p-carousel-item-cloned': true,\n 'p-carousel-item-active': totalShiftedItems * -1 === numVisible,\n 'p-carousel-item-start': 0 === index,\n 'p-carousel-item-end': clonedItemsForFinishing.length - 1 === index\n }\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n </div>\n </div>\n <button\n type=\"button\"\n *ngIf=\"showNavigators\"\n [ngClass]=\"{ 'p-carousel-next p-link': true, 'p-disabled': isForwardNavDisabled() }\"\n [disabled]=\"isForwardNavDisabled()\"\n (click)=\"navForward($event)\"\n pRipple\n [attr.aria-label]=\"ariaNextButtonLabel()\"\n >\n <ng-container *ngIf=\"!nextIconTemplate\">\n <ChevronRightIcon *ngIf=\"!isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n <ChevronDownIcon *ngIf=\"isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n </ng-container>\n <span *ngIf=\"nextIconTemplate\" class=\"p-carousel-prev-icon\">\n <ng-template *ngTemplateOutlet=\"nextIconTemplate\"></ng-template>\n </span>\n </button>\n </div>\n <ul #indicatorContent [ngClass]=\"'p-carousel-indicators p-reset'\" [class]=\"indicatorsContentClass\" [ngStyle]=\"indicatorsContentStyle\" *ngIf=\"showIndicators\" (keydown)=\"onIndicatorKeydown($event)\">\n <li *ngFor=\"let totalDot of totalDotsArray(); let i = index\" [ngClass]=\"{ 'p-carousel-indicator': true, 'p-highlight': _page === i }\" [attr.data-pc-section]=\"'indicator'\">\n <button\n type=\"button\"\n [ngClass]=\"'p-link'\"\n (click)=\"onDotClick($event, i)\"\n [class]=\"indicatorStyleClass\"\n [ngStyle]=\"indicatorStyle\"\n [attr.aria-label]=\"ariaPageLabel(i + 1)\"\n [attr.aria-current]=\"_page === i ? 'page' : undefined\"\n [tabindex]=\"_page === i ? 0 : -1\"\n ></button>\n </li>\n </ul>\n </div>\n <div class=\"p-carousel-footer\" *ngIf=\"footerFacet || footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./carousel.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Carousel implements AfterContentInit {\n /**\n * Index of the first item.\n * @defaultValue 0\n * @group Props\n */\n @Input() get page(): number {\n return this._page;\n }\n set page(val: number) {\n if (this.isCreated && val !== this._page) {\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (val > this._page && val <= this.totalDots() - 1) {\n this.step(-1, val);\n } else if (val < this._page) {\n this.step(1, val);\n }\n }\n\n this._page = val;\n }\n /**\n * Number of items per page.\n * @defaultValue 1\n * @group Props\n */\n @Input() get numVisible(): number {\n return this._numVisible;\n }\n set numVisible(val: number) {\n this._numVisible = val;\n }\n /**\n * Number of items to scroll.\n * @defaultValue 1\n * @group Props\n */\n @Input() get numScroll(): number {\n return this._numVisible;\n }\n set numScroll(val: number) {\n this._numScroll = val;\n }\n /**\n * An array of options for responsive design.\n * @see {CarouselResponsiveOptions}\n * @group Props\n */\n @Input() responsiveOptions: CarouselResponsiveOptions[] | undefined;\n /**\n * Specifies the layout of the component.\n * @group Props\n */\n @Input() orientation: 'horizontal' | 'vertical' = 'horizontal';\n /**\n * Height of the viewport in vertical layout.\n * @group Props\n */\n @Input() verticalViewPortHeight: string = '300px';\n /**\n * Style class of main content.\n * @group Props\n */\n @Input() contentClass: string = '';\n /**\n * Style class of the indicator items.\n * @group Props\n */\n @Input() indicatorsContentClass: string = '';\n /**\n * Inline style of the indicator items.\n * @group Props\n */\n @Input() indicatorsContentStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the indicators.\n * @group Props\n */\n @Input() indicatorStyleClass: string = '';\n /**\n * Style of the indicators.\n * @group Props\n */\n @Input() indicatorStyle: { [klass: string]: any } | null | undefined;\n /**\n * An array of objects to display.\n * @defaultValue null\n * @group Props\n */\n @Input() get value(): any[] {\n return this._value as any[];\n }\n set value(val) {\n this._value = val;\n }\n /**\n * Defines if scrolling would be infinite.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) circular: boolean = false;\n /**\n * Whether to display indicator container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showIndicators: boolean = true;\n /**\n * Whether to display navigation buttons in container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showNavigators: boolean = true;\n /**\n * Time in milliseconds to scroll items automatically.\n * @group Props\n */\n @Input({ transform: numberAttribute }) autoplayInterval: number = 0;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the viewport container.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Callback to invoke after scroll.\n * @param {CarouselPageEvent} event - Custom page event.\n * @group Emits\n */\n @Output() onPage: EventEmitter<CarouselPageEvent> = new EventEmitter<CarouselPageEvent>();\n\n @ViewChild('itemsContainer') itemsContainer: ElementRef | undefined;\n\n @ViewChild('indicatorContent') indicatorContent: ElementRef | undefined;\n\n @ContentChild(Header) headerFacet: QueryList<Header> | undefined;\n\n @ContentChild(Footer) footerFacet: QueryList<Footer> | undefined;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n _numVisible: number = 1;\n\n _numScroll: number = 1;\n\n _oldNumScroll: number = 0;\n\n prevState: any = {\n numScroll: 0,\n numVisible: 0,\n value: []\n };\n\n defaultNumScroll: number = 1;\n\n defaultNumVisible: number = 1;\n\n _page: number = 0;\n\n _value: any[] | null | undefined;\n\n carouselStyle: any;\n\n id: string | undefined;\n\n totalShiftedItems;\n\n isRemainingItemsAdded: boolean = false;\n\n animationTimeout: any;\n\n translateTimeout: any;\n\n remainingItems: number = 0;\n\n _items: any[] | undefined;\n\n startPos: any;\n\n documentResizeListener: any;\n\n clonedItemsForStarting: any[] | undefined;\n\n clonedItemsForFinishing: any[] | undefined;\n\n allowAutoplay: boolean | undefined;\n\n interval: any;\n\n isCreated: boolean | undefined;\n\n swipeThreshold: number = 20;\n\n itemTemplate: TemplateRef<any> | undefined;\n\n headerTemplate: TemplateRef<any> | undefined;\n\n footerTemplate: TemplateRef<any> | undefined;\n\n previousIconTemplate: TemplateRef<any> | undefined;\n\n nextIconTemplate: TemplateRef<any> | undefined;\n\n window: Window;\n\n constructor(\n public el: ElementRef,\n public zone: NgZone,\n public cd: ChangeDetectorRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: any,\n private config: PrimeNGConfig\n ) {\n this.totalShiftedItems = this.page * this.numScroll * -1;\n this.window = this.document.defaultView as Window;\n }\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (isPlatformBrowser(this.platformId)) {\n if (simpleChange.value) {\n if (this.circular && this._value) {\n this.setCloneItems();\n }\n }\n\n if (this.isCreated) {\n if (simpleChange.numVisible) {\n if (this.responsiveOptions) {\n this.defaultNumVisible = this.numVisible;\n }\n\n if (this.isCircular()) {\n this.setCloneItems();\n }\n\n this.createStyle();\n this.calculatePosition();\n }\n\n if (simpleChange.numScroll) {\n if (this.responsiveOptions) {\n this.defaultNumScroll = this.numScroll;\n }\n }\n }\n }\n this.cd.markForCheck();\n }\n\n ngAfterContentInit() {\n this.id = UniqueComponentId();\n if (isPlatformBrowser(this.platformId)) {\n this.allowAutoplay = !!this.autoplayInterval;\n\n if (this.circular) {\n this.setCloneItems();\n }\n\n if (this.responsiveOptions) {\n this.defaultNumScroll = this._numScroll;\n this.defaultNumVisible = this._numVisible;\n }\n\n this.createStyle();\n this.calculatePosition();\n\n if (this.responsiveOptions) {\n this.bindDocumentListeners();\n }\n }\n\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n case 'previousicon':\n this.previousIconTemplate = item.template;\n break;\n\n case 'nexticon':\n this.nextIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n this.cd.detectChanges();\n }\n\n ngAfterContentChecked() {\n if (isPlatformBrowser(this.platformId)) {\n const isCircular = this.isCircular();\n let totalShiftedItems = this.totalShiftedItems;\n\n if (this.value && this.itemsContainer && (this.prevState.numScroll !== this._numScroll || this.prevState.numVisible !== this._numVisible || this.prevState.value.length !== this.value.length)) {\n if (this.autoplayInterval) {\n this.stopAutoplay(false);\n }\n\n this.remainingItems = (this.value.length - this._numVisible) % this._numScroll;\n\n let page = this._page;\n if (this.totalDots() !== 0 && page >= this.totalDots()) {\n page = this.totalDots() - 1;\n this._page = page;\n this.onPage.emit({\n page: this.page\n });\n }\n\n totalShiftedItems = page * this._numScroll * -1;\n if (isCircular) {\n totalShiftedItems -= this._numVisible;\n }\n\n if (page === this.totalDots() - 1 && this.remainingItems > 0) {\n totalShiftedItems += -1 * this.remainingItems + this._numScroll;\n this.isRemainingItemsAdded = true;\n } else {\n this.isRemainingItemsAdded = false;\n }\n\n if (totalShiftedItems !== this.totalShiftedItems) {\n this.totalShiftedItems = totalShiftedItems;\n }\n\n this._oldNumScroll = this._numScroll;\n this.prevState.numScroll = this._numScroll;\n this.prevState.numVisible = this._numVisible;\n this.prevState.value = [...(this._value as any[])];\n\n if (this.totalDots() > 0 && this.itemsContainer.nativeElement) {\n this.itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n }\n\n this.isCreated = true;\n\n if (this.autoplayInterval && this.isAutoplay()) {\n this.startAutoplay();\n }\n }\n\n if (isCircular) {\n if (this.page === 0) {\n totalShiftedItems = -1 * this._numVisible;\n } else if (totalShiftedItems === 0) {\n totalShiftedItems = -1 * this.value.length;\n if (this.remainingItems > 0) {\n this.isRemainingItemsAdded = true;\n }\n }\n\n if (totalShiftedItems !== this.totalShiftedItems) {\n this.totalShiftedItems = totalShiftedItems;\n }\n }\n }\n }\n\n createStyle() {\n if (!this.carouselStyle) {\n this.carouselStyle = this.renderer.createElement('style');\n this.carouselStyle.type = 'text/css';\n DomHandler.setAttribute(this.carouselStyle, 'nonce', this.config?.csp()?.nonce);\n this.renderer.appendChild(this.document.head, this.carouselStyle);\n }\n\n let innerHTML = `\n #${this.id} .p-carousel-item {\n\t\t\t\tflex: 1 0 ${100 / this.numVisible}%\n\t\t\t}\n `;\n\n if (this.responsiveOptions) {\n this.responsiveOptions.sort((data1, data2) => {\n const value1 = data1.breakpoint;\n const value2 = data2.breakpoint;\n let result = null;\n\n if (value1 == null && value2 != null) result = -1;\n else if (value1 != null && value2 == null) result = 1;\n else if (value1 == null && value2 == null) result = 0;\n else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2, undefined, { numeric: true });\n else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n\n return -1 * result;\n });\n\n for (let i = 0; i < this.responsiveOptions.length; i++) {\n let res = this.responsiveOptions[i];\n\n innerHTML += `\n @media screen and (max-width: ${res.breakpoint}) {\n #${this.id} .p-carousel-item {\n flex: 1 0 ${100 / res.numVisible}%\n }\n }\n `;\n }\n }\n\n this.carouselStyle.innerHTML = innerHTML;\n }\n\n calculatePosition() {\n if (this.responsiveOptions) {\n let matchedResponsiveData = {\n numVisible: this.defaultNumVisible,\n numScroll: this.defaultNumScroll\n };\n\n if (typeof window !== 'undefined') {\n let windowWidth = window.innerWidth;\n for (let i = 0; i < this.responsiveOptions.length; i++) {\n let res = this.responsiveOptions[i];\n\n if (parseInt(res.breakpoint, 10) >= windowWidth) {\n matchedResponsiveData = res;\n }\n }\n }\n\n if (this._numScroll !== matchedResponsiveData.numScroll) {\n let page = this._page;\n page = Math.floor((page * this._numScroll) / matchedResponsiveData.numScroll);\n\n let totalShiftedItems = matchedResponsiveData.numScroll * this.page * -1;\n\n if (this.isCircular()) {\n totalShiftedItems -= matchedResponsiveData.numVisible;\n }\n\n this.totalShiftedItems = totalShiftedItems;\n this._numScroll = matchedResponsiveData.numScroll;\n\n this._page = page;\n this.onPage.emit({\n page: this.page\n });\n }\n\n if (this._numVisible !== matchedResponsiveData.numVisible) {\n this._numVisible = matchedResponsiveData.numVisible;\n this.setCloneItems();\n }\n\n this.cd.markForCheck();\n }\n }\n\n setCloneItems() {\n this.clonedItemsForStarting = [];\n this.clonedItemsForFinishing = [];\n if (this.isCircular()) {\n this.clonedItemsForStarting.push(...this.value.slice(-1 * this._numVisible));\n this.clonedItemsForFinishing.push(...this.value.slice(0, this._numVisible));\n }\n }\n\n firstIndex() {\n return this.isCircular() ? -1 * (this.totalShiftedItems + this.numVisible) : this.totalShiftedItems * -1;\n }\n\n lastIndex() {\n return this.firstIndex() + this.numVisible - 1;\n }\n\n totalDots() {\n return this.value?.length ? Math.ceil((this.value.length - this._numVisible) / this._numScroll) + 1 : 0;\n }\n\n totalDotsArray() {\n const totalDots = this.totalDots();\n return totalDots <= 0 ? [] : Array(totalDots).fill(0);\n }\n\n isVertical() {\n return this.orientation === 'vertical';\n }\n\n isCircular() {\n return this.circular && this.value && this.value.length >= this.numVisible;\n }\n\n isAutoplay() {\n return this.autoplayInterval && this.allowAutoplay;\n }\n\n isForwardNavDisabled() {\n return this.isEmpty() || (this._page >= this.totalDots() - 1 && !this.isCircular());\n }\n\n isBackwardNavDisabled() {\n return this.isEmpty() || (this._page <= 0 && !this.isCircular());\n }\n\n isEmpty() {\n return !this.value || this.value.length === 0;\n }\n\n navForward(e: MouseEvent | TouchEvent, index?: number) {\n if (this.isCircular() || this._page < this.totalDots() - 1) {\n this.step(-1, index);\n }\n\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n navBackward(e: MouseEvent | TouchEvent, index?: number) {\n if (this.isCircular() || this._page !== 0) {\n this.step(1, index);\n }\n\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n onDotClick(e: MouseEvent, index: number) {\n let page = this._page;\n\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (index > page) {\n this.navForward(e, index);\n } else if (index < page) {\n this.navBackward(e, index);\n }\n }\n\n onIndicatorKeydown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowRight':\n this.onRightKey();\n break;\n\n case 'ArrowLeft':\n this.onLeftKey();\n break;\n }\n }\n\n onRightKey() {\n const indicators = [...DomHandler.find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n }\n\n onLeftKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n }\n onHomeKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, 0);\n }\n\n onEndKey() {\n const indicators = [...DomHandler.find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]r')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n }\n\n onTabKey() {\n const indicators = [...DomHandler.find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n const highlightedIndex = indicators.findIndex((ind) => DomHandler.getAttribute(ind, 'data-p-highlight') === true);\n\n const activeIndicator = DomHandler.findSingle(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n\n indicators[activeIndex].children[0].tabIndex = '-1';\n indicators[highlightedIndex].children[0].tabIndex = '0';\n }\n\n findFocusedIndicatorIndex() {\n const indicators = [...DomHandler.find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndicator = DomHandler.findSingle(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n }\n\n changedFocusedIndicator(prevInd, nextInd) {\n const indicators = [...DomHandler.find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n\n indicators[prevInd].children[0].tabIndex = '-1';\n indicators[nextInd].children[0].tabIndex = '0';\n indicators[nextInd].children[0].focus();\n }\n\n step(dir: number, page?: number) {\n let totalShiftedItems = this.totalShiftedItems;\n const isCircular = this.isCircular();\n\n if (page != null) {\n totalShiftedItems = this._numScroll * page * -1;\n\n if (isCircular) {\n totalShiftedItems -= this._numVisible;\n }\n\n this.isRemainingItemsAdded = false;\n } else {\n totalShiftedItems += this._numScroll * dir;\n if (this.isRemainingItemsAdded) {\n totalShiftedItems += this.remainingItems - this._numScroll * dir;\n this.isRemainingItemsAdded = false;\n }\n\n let originalShiftedItems = isCircular ? totalShiftedItems + this._numVisible : totalShiftedItems;\n page = Math.abs(Math.floor(originalShiftedItems / this._numScroll));\n }\n\n if (isCircular && this.page === this.totalDots() - 1 && dir === -1) {\n totalShiftedItems = -1 * (this.value.length + this._numVisible);\n page = 0;\n } else if (isCircular && this.page === 0 && dir === 1) {\n totalShiftedItems = 0;\n page = this.totalDots() - 1;\n } else if (page === this.totalDots() - 1 && this.remainingItems > 0) {\n totalShiftedItems += this.remainingItems * -1 - this._numScroll * dir;\n this.isRemainingItemsAdded = true;\n }\n\n if (this.itemsContainer) {\n this.itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n this.itemsContainer.nativeElement.style.transition = 'transform 500ms ease 0s';\n }\n\n this.totalShiftedItems = totalShiftedItems;\n this._page = page;\n this.onPage.emit({\n page: this.page\n });\n this.cd.markForCheck();\n }\n\n startAutoplay() {\n this.interval = setInterval(() => {\n if (this.totalDots() > 0) {\n if (this.page === this.totalDots() - 1) {\n this.step(-1, 0);\n } else {\n this.step(-1, this.page + 1);\n }\n }\n }, this.autoplayInterval);\n this.allowAutoplay = true;\n this.cd.markForCheck();\n }\n\n stopAutoplay(changeAllow: boolean = true) {\n if (this.interval) {\n clearInterval(this.interval);\n this.interval = undefined;\n if (changeAllow) {\n this.allowAutoplay = false;\n }\n }\n this.cd.markForCheck();\n }\n\n isPlaying(): boolean {\n return !!this.interval;\n }\n\n onTransitionEnd() {\n if (this.itemsContainer) {\n this.itemsContainer.nativeElement.style.transition = '';\n\n if ((this.page === 0 || this.page === this.totalDots() - 1) && this.isCircular()) {\n this.itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${this.totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${this.totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n }\n }\n }\n\n onTouchStart(e: TouchEvent) {\n let touchobj = e.changedTouches[0];\n\n this.startPos = {\n x: touchobj.pageX,\n y: touchobj.pageY\n };\n }\n\n onTouchMove(e: TouchEvent | MouseEvent) {\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n onTouchEnd(e: TouchEvent) {\n let touchobj = e.changedTouches[0];\n\n if (this.isVertical()) {\n this.changePageOnTouch(e, touchobj.pageY - this.startPos.y);\n } else {\n this.changePageOnTouch(e, touchobj.pageX - this.startPos.x);\n }\n }\n\n changePageOnTouch(e: TouchEvent | MouseEvent, diff: number) {\n if (Math.abs(diff) > this.swipeThreshold) {\n if (diff < 0) {\n this.navForward(e);\n } else {\n this.navBackward(e);\n }\n }\n }\n\n ariaPrevButtonLabel() {\n return this.config.translation.aria ? this.config.translation.aria.prevPageLabel : undefined;\n }\n\n ariaSlideLabel() {\n return this.config.translation.aria ? this.config.translation.aria.slide : undefined;\n }\n\n ariaNextButtonLabel() {\n return this.config.translation.aria ? this.config.translation.aria.nextPageLabel : undefined;\n }\n\n ariaSlideNumber(value) {\n return this.config.translation.aria ? this.config.translation.aria.slideNumber.replace(/{slideNumber}/g, value) : undefined;\n }\n\n ariaPageLabel(value) {\n return this.config.translation.aria ? this.config.translation.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n\n bindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', (event) => {\n this.calculatePosition();\n });\n }\n }\n }\n\n unbindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n }\n\n ngOnDestroy() {\n if (this.responsiveOptions) {\n this.unbindDocumentListeners();\n }\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, RippleModule, ChevronRightIcon, ChevronLeftIcon, ChevronDownIcon, ChevronUpIcon],\n exports: [CommonModule, Carousel, SharedModule],\n declarations: [Carousel]\n})\nexport class CarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-carousel.mjs","sources":["../../src/app/components/carousel/carousel.ts","../../src/app/components/carousel/primeng-carousel.ts"],"sourcesContent":["import { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgModule,\n NgZone,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\nimport { Footer, Header, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { ChevronDownIcon } from 'primeng/icons/chevrondown';\nimport { ChevronLeftIcon } from 'primeng/icons/chevronleft';\nimport { ChevronRightIcon } from 'primeng/icons/chevronright';\nimport { ChevronUpIcon } from 'primeng/icons/chevronup';\nimport { RippleModule } from 'primeng/ripple';\nimport { UniqueComponentId } from 'primeng/utils';\nimport { CarouselPageEvent, CarouselResponsiveOptions } from './carousel.interface';\nimport { PrimeNGConfig } from 'primeng/api';\nimport { DomHandler } from 'primeng/dom';\n/**\n * Carousel is a content slider featuring various customization options.\n * @group Components\n */\n@Component({\n selector: 'p-carousel',\n template: `\n <div [attr.id]=\"id\" [ngClass]=\"{ 'p-carousel p-component': true, 'p-carousel-vertical': isVertical(), 'p-carousel-horizontal': !isVertical() }\" [ngStyle]=\"style\" [class]=\"styleClass\" role=\"region\">\n <div class=\"p-carousel-header\" *ngIf=\"headerFacet || headerTemplate\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n <div [class]=\"contentClass\" [ngClass]=\"'p-carousel-content'\">\n <div class=\"p-carousel-container\" [attr.aria-live]=\"allowAutoplay ? 'polite' : 'off'\">\n <button\n type=\"button\"\n *ngIf=\"showNavigators\"\n [ngClass]=\"{ 'p-carousel-prev p-link': true, 'p-disabled': isBackwardNavDisabled() }\"\n [disabled]=\"isBackwardNavDisabled()\"\n [attr.aria-label]=\"ariaPrevButtonLabel()\"\n (click)=\"navBackward($event)\"\n pRipple\n >\n <ng-container *ngIf=\"!previousIconTemplate\">\n <ChevronLeftIcon *ngIf=\"!isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n <ChevronUpIcon *ngIf=\"isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n </ng-container>\n <span *ngIf=\"previousIconTemplate\" class=\"p-carousel-prev-icon\">\n <ng-template *ngTemplateOutlet=\"previousIconTemplate\"></ng-template>\n </span>\n </button>\n <div class=\"p-carousel-items-content\" [ngStyle]=\"{ height: isVertical() ? verticalViewPortHeight : 'auto' }\" (touchend)=\"onTouchEnd($event)\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\">\n <div #itemsContainer class=\"p-carousel-items-container\" (transitionend)=\"onTransitionEnd()\">\n <div\n *ngFor=\"let item of clonedItemsForStarting; let index = index\"\n [ngClass]=\"{\n 'p-carousel-item p-carousel-item-cloned': true,\n 'p-carousel-item-active': totalShiftedItems * -1 === value.length,\n 'p-carousel-item-start': 0 === index,\n 'p-carousel-item-end': clonedItemsForStarting.length - 1 === index\n }\"\n [attr.aria-hidden]=\"!(totalShiftedItems * -1 === value.length)\"\n [attr.aria-label]=\"ariaSlideNumber(index)\"\n [attr.aria-roledescription]=\"ariaSlideLabel()\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div\n *ngFor=\"let item of value; let index = index\"\n [ngClass]=\"{ 'p-carousel-item': true, 'p-carousel-item-active': firstIndex() <= index && lastIndex() >= index, 'p-carousel-item-start': firstIndex() === index, 'p-carousel-item-end': lastIndex() === index }\"\n [attr.aria-hidden]=\"!(totalShiftedItems * -1 === value.length)\"\n [attr.aria-label]=\"ariaSlideNumber(index)\"\n [attr.aria-roledescription]=\"ariaSlideLabel()\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div\n *ngFor=\"let item of clonedItemsForFinishing; let index = index\"\n [ngClass]=\"{\n 'p-carousel-item p-carousel-item-cloned': true,\n 'p-carousel-item-active': totalShiftedItems * -1 === numVisible,\n 'p-carousel-item-start': 0 === index,\n 'p-carousel-item-end': clonedItemsForFinishing.length - 1 === index\n }\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n </div>\n </div>\n <button\n type=\"button\"\n *ngIf=\"showNavigators\"\n [ngClass]=\"{ 'p-carousel-next p-link': true, 'p-disabled': isForwardNavDisabled() }\"\n [disabled]=\"isForwardNavDisabled()\"\n (click)=\"navForward($event)\"\n pRipple\n [attr.aria-label]=\"ariaNextButtonLabel()\"\n >\n <ng-container *ngIf=\"!nextIconTemplate\">\n <ChevronRightIcon *ngIf=\"!isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n <ChevronDownIcon *ngIf=\"isVertical()\" [styleClass]=\"'carousel-prev-icon'\" />\n </ng-container>\n <span *ngIf=\"nextIconTemplate\" class=\"p-carousel-prev-icon\">\n <ng-template *ngTemplateOutlet=\"nextIconTemplate\"></ng-template>\n </span>\n </button>\n </div>\n <ul #indicatorContent [ngClass]=\"'p-carousel-indicators p-reset'\" [class]=\"indicatorsContentClass\" [ngStyle]=\"indicatorsContentStyle\" *ngIf=\"showIndicators\" (keydown)=\"onIndicatorKeydown($event)\">\n <li *ngFor=\"let totalDot of totalDotsArray(); let i = index\" [ngClass]=\"{ 'p-carousel-indicator': true, 'p-highlight': _page === i }\" [attr.data-pc-section]=\"'indicator'\">\n <button\n type=\"button\"\n [ngClass]=\"'p-link'\"\n (click)=\"onDotClick($event, i)\"\n [class]=\"indicatorStyleClass\"\n [ngStyle]=\"indicatorStyle\"\n [attr.aria-label]=\"ariaPageLabel(i + 1)\"\n [attr.aria-current]=\"_page === i ? 'page' : undefined\"\n [tabindex]=\"_page === i ? 0 : -1\"\n ></button>\n </li>\n </ul>\n </div>\n <div class=\"p-carousel-footer\" *ngIf=\"footerFacet || footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./carousel.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Carousel implements AfterContentInit {\n private updateSlideAccessibility(slide: HTMLElement, isActive: boolean): void {\n const focusableElements = slide.querySelectorAll<HTMLElement>('a, button, input, select, textarea, [tabindex]');\n focusableElements.forEach((element) => {\n element.tabIndex = isActive ? 0 : -1;\n });\n }\n\n private updateCarouselItemsAccessibility(): void {\n const slides = this.el.nativeElement.querySelectorAll('.p-carousel-item');\n slides.forEach((slide, index) => {\n const isActive = index === this._page;\n slide.setAttribute('aria-hidden', !isActive ? 'true' : 'false');\n this.updateSlideAccessibility(slide as HTMLElement, isActive);\n });\n }\n\n /**\n * Index of the first item.\n * @defaultValue 0\n * @group Props\n */\n @Input() get page(): number {\n return this._page;\n }\n set page(val: number) {\n if (this.isCreated && val !== this._page) {\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (val > this._page && val <= this.totalDots() - 1) {\n this.step(-1, val);\n } else if (val < this._page) {\n this.step(1, val);\n }\n }\n\n this._page = val;\n }\n /**\n * Number of items per page.\n * @defaultValue 1\n * @group Props\n */\n @Input() get numVisible(): number {\n return this._numVisible;\n }\n set numVisible(val: number) {\n this._numVisible = val;\n }\n /**\n * Number of items to scroll.\n * @defaultValue 1\n * @group Props\n */\n @Input() get numScroll(): number {\n return this._numVisible;\n }\n set numScroll(val: number) {\n this._numScroll = val;\n }\n /**\n * An array of options for responsive design.\n * @see {CarouselResponsiveOptions}\n * @group Props\n */\n @Input() responsiveOptions: CarouselResponsiveOptions[] | undefined;\n /**\n * Specifies the layout of the component.\n * @group Props\n */\n @Input() orientation: 'horizontal' | 'vertical' = 'horizontal';\n /**\n * Height of the viewport in vertical layout.\n * @group Props\n */\n @Input() verticalViewPortHeight: string = '300px';\n /**\n * Style class of main content.\n * @group Props\n */\n @Input() contentClass: string = '';\n /**\n * Style class of the indicator items.\n * @group Props\n */\n @Input() indicatorsContentClass: string = '';\n /**\n * Inline style of the indicator items.\n * @group Props\n */\n @Input() indicatorsContentStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the indicators.\n * @group Props\n */\n @Input() indicatorStyleClass: string = '';\n /**\n * Style of the indicators.\n * @group Props\n */\n @Input() indicatorStyle: { [klass: string]: any } | null | undefined;\n /**\n * An array of objects to display.\n * @defaultValue null\n * @group Props\n */\n @Input() get value(): any[] {\n return this._value as any[];\n }\n set value(val) {\n this._value = val;\n }\n /**\n * Defines if scrolling would be infinite.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) circular: boolean = false;\n /**\n * Whether to display indicator container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showIndicators: boolean = true;\n /**\n * Whether to display navigation buttons in container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showNavigators: boolean = true;\n /**\n * Time in milliseconds to scroll items automatically.\n * @group Props\n */\n @Input({ transform: numberAttribute }) autoplayInterval: number = 0;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the viewport container.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Callback to invoke after scroll.\n * @param {CarouselPageEvent} event - Custom page event.\n * @group Emits\n */\n @Output() onPage: EventEmitter<CarouselPageEvent> = new EventEmitter<CarouselPageEvent>();\n\n @ViewChild('itemsContainer') itemsContainer: ElementRef | undefined;\n\n @ViewChild('indicatorContent') indicatorContent: ElementRef | undefined;\n\n @ContentChild(Header) headerFacet: QueryList<Header> | undefined;\n\n @ContentChild(Footer) footerFacet: QueryList<Footer> | undefined;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n _numVisible: number = 1;\n\n _numScroll: number = 1;\n\n _oldNumScroll: number = 0;\n\n prevState: any = {\n numScroll: 0,\n numVisible: 0,\n value: []\n };\n\n defaultNumScroll: number = 1;\n\n defaultNumVisible: number = 1;\n\n _page: number = 0;\n\n _value: any[] | null | undefined;\n\n carouselStyle: any;\n\n id: string | undefined;\n\n totalShiftedItems;\n\n isRemainingItemsAdded: boolean = false;\n\n animationTimeout: any;\n\n translateTimeout: any;\n\n remainingItems: number = 0;\n\n _items: any[] | undefined;\n\n startPos: any;\n\n documentResizeListener: any;\n\n clonedItemsForStarting: any[] | undefined;\n\n clonedItemsForFinishing: any[] | undefined;\n\n allowAutoplay: boolean | undefined;\n\n interval: any;\n\n isCreated: boolean | undefined;\n\n swipeThreshold: number = 20;\n\n itemTemplate: TemplateRef<any> | undefined;\n\n headerTemplate: TemplateRef<any> | undefined;\n\n footerTemplate: TemplateRef<any> | undefined;\n\n previousIconTemplate: TemplateRef<any> | undefined;\n\n nextIconTemplate: TemplateRef<any> | undefined;\n\n window: Window;\n\n constructor(\n public el: ElementRef,\n public zone: NgZone,\n public cd: ChangeDetectorRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: any,\n private config: PrimeNGConfig\n ) {\n this.totalShiftedItems = this.page * this.numScroll * -1;\n this.window = this.document.defaultView as Window;\n }\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (isPlatformBrowser(this.platformId)) {\n if (simpleChange.value) {\n if (this.circular && this._value) {\n this.setCloneItems();\n }\n }\n\n if (this.isCreated) {\n if (simpleChange.numVisible) {\n if (this.responsiveOptions) {\n this.defaultNumVisible = this.numVisible;\n }\n\n if (this.isCircular()) {\n this.setCloneItems();\n }\n\n this.createStyle();\n this.calculatePosition();\n }\n\n if (simpleChange.numScroll) {\n if (this.responsiveOptions) {\n this.defaultNumScroll = this.numScroll;\n }\n }\n }\n }\n this.cd.markForCheck();\n }\n\n ngAfterContentInit() {\n this.id = UniqueComponentId();\n if (isPlatformBrowser(this.platformId)) {\n this.allowAutoplay = !!this.autoplayInterval;\n\n if (this.circular) {\n this.setCloneItems();\n }\n\n if (this.responsiveOptions) {\n this.defaultNumScroll = this._numScroll;\n this.defaultNumVisible = this._numVisible;\n }\n\n this.createStyle();\n this.calculatePosition();\n\n if (this.responsiveOptions) {\n this.bindDocumentListeners();\n }\n }\n\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n case 'previousicon':\n this.previousIconTemplate = item.template;\n break;\n\n case 'nexticon':\n this.nextIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n this.cd.detectChanges();\n }\n\n ngAfterContentChecked() {\n if (isPlatformBrowser(this.platformId)) {\n const isCircular = this.isCircular();\n let totalShiftedItems = this.totalShiftedItems;\n\n if (this.value && this.itemsContainer && (this.prevState.numScroll !== this._numScroll || this.prevState.numVisible !== this._numVisible || this.prevState.value.length !== this.value.length)) {\n if (this.autoplayInterval) {\n this.stopAutoplay(false);\n }\n\n this.remainingItems = (this.value.length - this._numVisible) % this._numScroll;\n\n let page = this._page;\n if (this.totalDots() !== 0 && page >= this.totalDots()) {\n page = this.totalDots() - 1;\n this._page = page;\n this.onPage.emit({\n page: this.page\n });\n }\n\n totalShiftedItems = page * this._numScroll * -1;\n if (isCircular) {\n totalShiftedItems -= this._numVisible;\n }\n\n if (page === this.totalDots() - 1 && this.remainingItems > 0) {\n totalShiftedItems += -1 * this.remainingItems + this._numScroll;\n this.isRemainingItemsAdded = true;\n } else {\n this.isRemainingItemsAdded = false;\n }\n\n if (totalShiftedItems !== this.totalShiftedItems) {\n this.totalShiftedItems = totalShiftedItems;\n }\n\n this._oldNumScroll = this._numScroll;\n this.prevState.numScroll = this._numScroll;\n this.prevState.numVisible = this._numVisible;\n this.prevState.value = [...(this._value as any[])];\n\n if (this.totalDots() > 0 && this.itemsContainer.nativeElement) {\n this.itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n }\n\n this.isCreated = true;\n\n if (this.autoplayInterval && this.isAutoplay()) {\n this.startAutoplay();\n }\n }\n\n if (isCircular) {\n if (this.page === 0) {\n totalShiftedItems = -1 * this._numVisible;\n } else if (totalShiftedItems === 0) {\n totalShiftedItems = -1 * this.value.length;\n if (this.remainingItems > 0) {\n this.isRemainingItemsAdded = true;\n }\n }\n\n if (totalShiftedItems !== this.totalShiftedItems) {\n this.totalShiftedItems = totalShiftedItems;\n }\n }\n }\n }\n\n createStyle() {\n if (!this.carouselStyle) {\n this.carouselStyle = this.renderer.createElement('style');\n this.carouselStyle.type = 'text/css';\n DomHandler.setAttribute(this.carouselStyle, 'nonce', this.config?.csp()?.nonce);\n this.renderer.appendChild(this.document.head, this.carouselStyle);\n }\n\n let innerHTML = `\n #${this.id} .p-carousel-item {\n\t\t\t\tflex: 1 0 ${100 / this.numVisible}%\n\t\t\t}\n `;\n\n if (this.responsiveOptions) {\n this.responsiveOptions.sort((data1, data2) => {\n const value1 = data1.breakpoint;\n const value2 = data2.breakpoint;\n let result = null;\n\n if (value1 == null && value2 != null) result = -1;\n else if (value1 != null && value2 == null) result = 1;\n else if (value1 == null && value2 == null) result = 0;\n else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2, undefined, { numeric: true });\n else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n\n return -1 * result;\n });\n\n for (let i = 0; i < this.responsiveOptions.length; i++) {\n let res = this.responsiveOptions[i];\n\n innerHTML += `\n @media screen and (max-width: ${res.breakpoint}) {\n #${this.id} .p-carousel-item {\n flex: 1 0 ${100 / res.numVisible}%\n }\n }\n `;\n }\n }\n\n this.carouselStyle.innerHTML = innerHTML;\n }\n\n calculatePosition() {\n if (this.responsiveOptions) {\n let matchedResponsiveData = {\n numVisible: this.defaultNumVisible,\n numScroll: this.defaultNumScroll\n };\n\n if (typeof window !== 'undefined') {\n let windowWidth = window.innerWidth;\n for (let i = 0; i < this.responsiveOptions.length; i++) {\n let res = this.responsiveOptions[i];\n\n if (parseInt(res.breakpoint, 10) >= windowWidth) {\n matchedResponsiveData = res;\n }\n }\n }\n\n if (this._numScroll !== matchedResponsiveData.numScroll) {\n let page = this._page;\n page = Math.floor((page * this._numScroll) / matchedResponsiveData.numScroll);\n\n let totalShiftedItems = matchedResponsiveData.numScroll * this.page * -1;\n\n if (this.isCircular()) {\n totalShiftedItems -= matchedResponsiveData.numVisible;\n }\n\n this.totalShiftedItems = totalShiftedItems;\n this._numScroll = matchedResponsiveData.numScroll;\n\n this._page = page;\n this.onPage.emit({\n page: this.page\n });\n }\n\n if (this._numVisible !== matchedResponsiveData.numVisible) {\n this._numVisible = matchedResponsiveData.numVisible;\n this.setCloneItems();\n }\n\n this.cd.markForCheck();\n }\n }\n\n setCloneItems() {\n this.clonedItemsForStarting = [];\n this.clonedItemsForFinishing = [];\n if (this.isCircular()) {\n this.clonedItemsForStarting.push(...this.value.slice(-1 * this._numVisible));\n this.clonedItemsForFinishing.push(...this.value.slice(0, this._numVisible));\n }\n }\n\n firstIndex() {\n return this.isCircular() ? -1 * (this.totalShiftedItems + this.numVisible) : this.totalShiftedItems * -1;\n }\n\n lastIndex() {\n return this.firstIndex() + this.numVisible - 1;\n }\n\n totalDots() {\n return this.value?.length ? Math.ceil((this.value.length - this._numVisible) / this._numScroll) + 1 : 0;\n }\n\n totalDotsArray() {\n const totalDots = this.totalDots();\n return totalDots <= 0 ? [] : Array(totalDots).fill(0);\n }\n\n isVertical() {\n return this.orientation === 'vertical';\n }\n\n isCircular() {\n return this.circular && this.value && this.value.length >= this.numVisible;\n }\n\n isAutoplay() {\n return this.autoplayInterval && this.allowAutoplay;\n }\n\n isForwardNavDisabled() {\n return this.isEmpty() || (this._page >= this.totalDots() - 1 && !this.isCircular());\n }\n\n isBackwardNavDisabled() {\n return this.isEmpty() || (this._page <= 0 && !this.isCircular());\n }\n\n isEmpty() {\n return !this.value || this.value.length === 0;\n }\n\n navForward(e: MouseEvent | TouchEvent, index?: number) {\n if (this.isCircular() || this._page < this.totalDots() - 1) {\n this.step(-1, index);\n }\n\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n navBackward(e: MouseEvent | TouchEvent, index?: number) {\n if (this.isCircular() || this._page !== 0) {\n this.step(1, index);\n }\n\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n onDotClick(e: MouseEvent, index: number) {\n let page = this._page;\n\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n\n if (index > page) {\n this.navForward(e, index);\n } else if (index < page) {\n this.navBackward(e, index);\n }\n }\n\n onIndicatorKeydown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowRight':\n this.onRightKey();\n break;\n\n case 'ArrowLeft':\n this.onLeftKey();\n break;\n }\n }\n\n onRightKey() {\n const indicators = [...DomHandler.find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n }\n\n onLeftKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n }\n onHomeKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, 0);\n }\n\n onEndKey() {\n const indicators = [...DomHandler.find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]r')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n }\n\n onTabKey() {\n const indicators = [...DomHandler.find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n const highlightedIndex = indicators.findIndex((ind) => DomHandler.getAttribute(ind, 'data-p-highlight') === true);\n\n const activeIndicator = DomHandler.findSingle(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n\n indicators[activeIndex].children[0].tabIndex = '-1';\n indicators[highlightedIndex].children[0].tabIndex = '0';\n }\n\n findFocusedIndicatorIndex() {\n const indicators = [...DomHandler.find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndicator = DomHandler.findSingle(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator.parentElement);\n }\n\n changedFocusedIndicator(prevInd, nextInd) {\n const indicators = [...DomHandler.find(this.indicatorContent.nativeElement, '[data-pc-section=\"indicator\"]')];\n\n indicators[prevInd].children[0].tabIndex = '-1';\n indicators[nextInd].children[0].tabIndex = '0';\n indicators[nextInd].children[0].focus();\n }\n\n step(dir: number, page?: number) {\n let totalShiftedItems = this.totalShiftedItems;\n const isCircular = this.isCircular();\n\n if (page != null) {\n totalShiftedItems = this._numScroll * page * -1;\n\n if (isCircular) {\n totalShiftedItems -= this._numVisible;\n }\n\n this.isRemainingItemsAdded = false;\n } else {\n totalShiftedItems += this._numScroll * dir;\n if (this.isRemainingItemsAdded) {\n totalShiftedItems += this.remainingItems - this._numScroll * dir;\n this.isRemainingItemsAdded = false;\n }\n\n let originalShiftedItems = isCircular ? totalShiftedItems + this._numVisible : totalShiftedItems;\n page = Math.abs(Math.floor(originalShiftedItems / this._numScroll));\n }\n\n if (isCircular && this.page === this.totalDots() - 1 && dir === -1) {\n totalShiftedItems = -1 * (this.value.length + this._numVisible);\n page = 0;\n } else if (isCircular && this.page === 0 && dir === 1) {\n totalShiftedItems = 0;\n page = this.totalDots() - 1;\n } else if (page === this.totalDots() - 1 && this.remainingItems > 0) {\n totalShiftedItems += this.remainingItems * -1 - this._numScroll * dir;\n this.isRemainingItemsAdded = true;\n }\n\n if (this.itemsContainer) {\n this.itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n this.itemsContainer.nativeElement.style.transition = 'transform 500ms ease 0s';\n }\n\n this.totalShiftedItems = totalShiftedItems;\n this._page = page;\n this.onPage.emit({\n page: this.page\n });\n this.cd.markForCheck();\n this.updateCarouselItemsAccessibility();\n }\n\n startAutoplay() {\n this.interval = setInterval(() => {\n if (this.totalDots() > 0) {\n if (this.page === this.totalDots() - 1) {\n this.step(-1, 0);\n } else {\n this.step(-1, this.page + 1);\n }\n }\n }, this.autoplayInterval);\n this.allowAutoplay = true;\n this.cd.markForCheck();\n }\n\n stopAutoplay(changeAllow: boolean = true) {\n if (this.interval) {\n clearInterval(this.interval);\n this.interval = undefined;\n if (changeAllow) {\n this.allowAutoplay = false;\n }\n }\n this.cd.markForCheck();\n }\n\n isPlaying(): boolean {\n return !!this.interval;\n }\n\n onTransitionEnd() {\n if (this.itemsContainer) {\n this.itemsContainer.nativeElement.style.transition = '';\n\n if ((this.page === 0 || this.page === this.totalDots() - 1) && this.isCircular()) {\n this.itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${this.totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${this.totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n }\n }\n }\n\n onTouchStart(e: TouchEvent) {\n let touchobj = e.changedTouches[0];\n\n this.startPos = {\n x: touchobj.pageX,\n y: touchobj.pageY\n };\n }\n\n onTouchMove(e: TouchEvent | MouseEvent) {\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n onTouchEnd(e: TouchEvent) {\n let touchobj = e.changedTouches[0];\n\n if (this.isVertical()) {\n this.changePageOnTouch(e, touchobj.pageY - this.startPos.y);\n } else {\n this.changePageOnTouch(e, touchobj.pageX - this.startPos.x);\n }\n }\n\n changePageOnTouch(e: TouchEvent | MouseEvent, diff: number) {\n if (Math.abs(diff) > this.swipeThreshold) {\n if (diff < 0) {\n this.navForward(e);\n } else {\n this.navBackward(e);\n }\n }\n }\n\n ariaPrevButtonLabel() {\n return this.config.translation.aria ? this.config.translation.aria.prevPageLabel : undefined;\n }\n\n ariaSlideLabel() {\n return this.config.translation.aria ? this.config.translation.aria.slide : undefined;\n }\n\n ariaNextButtonLabel() {\n return this.config.translation.aria ? this.config.translation.aria.nextPageLabel : undefined;\n }\n\n ariaSlideNumber(value) {\n return this.config.translation.aria ? this.config.translation.aria.slideNumber.replace(/{slideNumber}/g, value) : undefined;\n }\n\n ariaPageLabel(value) {\n return this.config.translation.aria ? this.config.translation.aria.pageLabel.replace(/{page}/g, value) : undefined;\n }\n\n bindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', (event) => {\n this.calculatePosition();\n });\n }\n }\n }\n\n unbindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n }\n\n ngOnDestroy() {\n if (this.responsiveOptions) {\n this.unbindDocumentListeners();\n }\n if (this.autoplayInterval) {\n this.stopAutoplay();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, RippleModule, ChevronRightIcon, ChevronLeftIcon, ChevronDownIcon, ChevronUpIcon],\n exports: [CommonModule, Carousel, SharedModule],\n declarations: [Carousel]\n})\nexport class CarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -161,6 +161,12 @@ class Chips {
|
|
161
161
|
* @group Emits
|
162
162
|
*/
|
163
163
|
onChipClick = new EventEmitter();
|
164
|
+
/**
|
165
|
+
* Callback to invoke on chip contextmenu.
|
166
|
+
* @param {ChipsClickEvent} event - Custom chip contextmenu event.
|
167
|
+
* @group Emits
|
168
|
+
*/
|
169
|
+
onChipContextMenu = new EventEmitter();
|
164
170
|
/**
|
165
171
|
* Callback to invoke on clear token clicked.
|
166
172
|
* @group Emits
|
@@ -294,6 +300,12 @@ class Chips {
|
|
294
300
|
value: item
|
295
301
|
});
|
296
302
|
}
|
303
|
+
onItemContextMenu(event, item) {
|
304
|
+
this.onChipContextMenu.emit({
|
305
|
+
originalEvent: event,
|
306
|
+
value: item
|
307
|
+
});
|
308
|
+
}
|
297
309
|
writeValue(value) {
|
298
310
|
this.value = value;
|
299
311
|
this.updateMaxedOut();
|
@@ -447,7 +459,7 @@ class Chips {
|
|
447
459
|
}
|
448
460
|
}
|
449
461
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Chips, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
|
450
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.1", type: Chips, selector: "p-chips", inputs: { style: "style", styleClass: "styleClass", disabled: ["disabled", "disabled", booleanAttribute], field: "field", placeholder: "placeholder", max: ["max", "max", numberAttribute], maxLength: "maxLength", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", tabindex: ["tabindex", "tabindex", numberAttribute], inputId: "inputId", allowDuplicate: ["allowDuplicate", "allowDuplicate", booleanAttribute], caseSensitiveDuplication: ["caseSensitiveDuplication", "caseSensitiveDuplication", booleanAttribute], inputStyle: "inputStyle", inputStyleClass: "inputStyleClass", addOnTab: ["addOnTab", "addOnTab", booleanAttribute], addOnBlur: ["addOnBlur", "addOnBlur", booleanAttribute], separator: "separator", showClear: ["showClear", "showClear", booleanAttribute], autofocus: ["autofocus", "autofocus", booleanAttribute], variant: "variant" }, outputs: { onAdd: "onAdd", onRemove: "onRemove", onFocus: "onFocus", onBlur: "onBlur", onChipClick: "onChipClick", onClear: "onClear" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focused", "class.p-chips-clearable": "showClear" }, classAttribute: "p-element p-inputwrapper" }, providers: [CHIPS_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["inputtext"], descendants: true }, { propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: `
|
462
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.1", type: Chips, selector: "p-chips", inputs: { style: "style", styleClass: "styleClass", disabled: ["disabled", "disabled", booleanAttribute], field: "field", placeholder: "placeholder", max: ["max", "max", numberAttribute], maxLength: "maxLength", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", tabindex: ["tabindex", "tabindex", numberAttribute], inputId: "inputId", allowDuplicate: ["allowDuplicate", "allowDuplicate", booleanAttribute], caseSensitiveDuplication: ["caseSensitiveDuplication", "caseSensitiveDuplication", booleanAttribute], inputStyle: "inputStyle", inputStyleClass: "inputStyleClass", addOnTab: ["addOnTab", "addOnTab", booleanAttribute], addOnBlur: ["addOnBlur", "addOnBlur", booleanAttribute], separator: "separator", showClear: ["showClear", "showClear", booleanAttribute], autofocus: ["autofocus", "autofocus", booleanAttribute], variant: "variant" }, outputs: { onAdd: "onAdd", onRemove: "onRemove", onFocus: "onFocus", onBlur: "onBlur", onChipClick: "onChipClick", onChipContextMenu: "onChipContextMenu", onClear: "onClear" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focused", "class.p-chips-clearable": "showClear" }, classAttribute: "p-element p-inputwrapper" }, providers: [CHIPS_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["inputtext"], descendants: true }, { propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: `
|
451
463
|
<div
|
452
464
|
[ngClass]="{
|
453
465
|
'p-chips p-component p-input-wrapper': true,
|
@@ -488,6 +500,7 @@ class Chips {
|
|
488
500
|
[attr.data-p-focused]="focusedIndex === i"
|
489
501
|
[ngClass]="{ 'p-chips-token': true, 'p-focus': focusedIndex === i }"
|
490
502
|
(click)="onItemClick($event, item)"
|
503
|
+
(contextmenu)="onItemContextMenu($event, item)"
|
491
504
|
[attr.data-pc-section]="'token'"
|
492
505
|
>
|
493
506
|
<ng-container *ngTemplateOutlet="itemTemplate; context: { $implicit: item }"></ng-container>
|
@@ -572,6 +585,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
572
585
|
[attr.data-p-focused]="focusedIndex === i"
|
573
586
|
[ngClass]="{ 'p-chips-token': true, 'p-focus': focusedIndex === i }"
|
574
587
|
(click)="onItemClick($event, item)"
|
588
|
+
(contextmenu)="onItemContextMenu($event, item)"
|
575
589
|
[attr.data-pc-section]="'token'"
|
576
590
|
>
|
577
591
|
<ng-container *ngTemplateOutlet="itemTemplate; context: { $implicit: item }"></ng-container>
|
@@ -681,6 +695,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
681
695
|
type: Output
|
682
696
|
}], onChipClick: [{
|
683
697
|
type: Output
|
698
|
+
}], onChipContextMenu: [{
|
699
|
+
type: Output
|
684
700
|
}], onClear: [{
|
685
701
|
type: Output
|
686
702
|
}], inputViewChild: [{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-chips.mjs","sources":["../../src/app/components/chips/chips.ts","../../src/app/components/chips/primeng-chips.ts"],"sourcesContent":["import { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgModule,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n forwardRef,\n numberAttribute\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeNGConfig, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { AutoFocusModule } from 'primeng/autofocus';\nimport { TimesIcon } from 'primeng/icons/times';\nimport { TimesCircleIcon } from 'primeng/icons/timescircle';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { UniqueComponentId } from 'primeng/utils';\nimport { ChipsAddEvent, ChipsClickEvent, ChipsRemoveEvent } from './chips.interface';\n\nexport const CHIPS_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Chips),\n multi: true\n};\n/**\n * Chips groups a collection of contents in tabs.\n * @group Components\n */\n@Component({\n selector: 'p-chips',\n template: `\n <div\n [ngClass]=\"{\n 'p-chips p-component p-input-wrapper': true,\n 'p-disabled': disabled,\n 'p-focus': focused,\n 'p-inputwrapper-filled': (value && value.length) || (this.inputViewChild?.nativeElement.value && this.inputViewChild?.nativeElement.value.length),\n 'p-inputwrapper-focus': focused\n }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'chips'\"\n [attr.data-pc-section]=\"'root'\"\n >\n <ul\n #container\n [ngClass]=\"{ 'p-inputtext p-chips-multiple-container': true, 'p-variant-filled': variant === 'filled' || config.inputStyle() === 'filled' }\"\n tabindex=\"-1\"\n role=\"listbox\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n [attr.aria-orientation]=\"'horizontal'\"\n (click)=\"onWrapperClick()\"\n (focus)=\"onContainerFocus()\"\n (blur)=\"onContainerBlur()\"\n (keydown)=\"onContainerKeyDown($event)\"\n [attr.data-pc-section]=\"'container'\"\n >\n <li\n #token\n *ngFor=\"let item of value; let i = index\"\n [attr.id]=\"id + '_chips_item_' + i\"\n role=\"option\"\n [attr.ariaLabel]=\"item\"\n [attr.aria-selected]=\"true\"\n [attr.aria-setsize]=\"value.length\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.data-p-focused]=\"focusedIndex === i\"\n [ngClass]=\"{ 'p-chips-token': true, 'p-focus': focusedIndex === i }\"\n (click)=\"onItemClick($event, item)\"\n [attr.data-pc-section]=\"'token'\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <span *ngIf=\"!itemTemplate\" class=\"p-chips-token-label\" [attr.data-pc-section]=\"'label'\">{{ field ? resolveFieldData(item, field) : item }}</span>\n <ng-container *ngIf=\"!disabled\">\n <TimesCircleIcon [styleClass]=\"'p-chips-token-icon'\" *ngIf=\"!removeTokenIconTemplate\" (click)=\"removeItem($event, i)\" [attr.data-pc-section]=\"'removeTokenIcon'\" [attr.aria-hidden]=\"true\" />\n <span *ngIf=\"removeTokenIconTemplate\" class=\"p-chips-token-icon\" (click)=\"removeItem($event, i)\" [attr.data-pc-section]=\"'removeTokenIcon'\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"removeTokenIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </li>\n <li class=\"p-chips-input-token\" [ngClass]=\"{ 'p-chips-clearable': showClear && !disabled }\" [attr.data-pc-section]=\"'inputToken'\" role=\"option\">\n <input\n #inputtext\n type=\"text\"\n [attr.id]=\"inputId\"\n [attr.maxlength]=\"maxLength\"\n [attr.placeholder]=\"value && value.length ? null : placeholder\"\n [attr.tabindex]=\"tabindex\"\n (keydown)=\"onKeyDown($event)\"\n (input)=\"onInput()\"\n (paste)=\"onPaste($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [disabled]=\"disabled || isMaxedOut\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n />\n </li>\n <li *ngIf=\"value != null && filled && !disabled && showClear\">\n <TimesIcon *ngIf=\"!clearIconTemplate\" [styleClass]=\"'p-chips-clear-icon'\" (click)=\"clear()\" />\n <span *ngIf=\"clearIconTemplate\" class=\"p-chips-clear-icon\" (click)=\"clear()\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\n </span>\n </li>\n </ul>\n </div>\n `,\n host: {\n class: 'p-element p-inputwrapper',\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focused',\n '[class.p-chips-clearable]': 'showClear'\n },\n providers: [CHIPS_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./chips.css']\n})\nexport class Chips implements AfterContentInit, ControlValueAccessor {\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * Name of the property to display on a chip.\n * @group Props\n */\n @Input() field: string | undefined;\n /**\n * Advisory information to display on input.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * Maximum number of entries allowed.\n * @group Props\n */\n @Input({ transform: numberAttribute }) max: number | undefined;\n /**\n * Maximum length of a chip.\n * @group Props\n */\n @Input() maxLength: number | undefined;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Whether to allow duplicate values or not.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) allowDuplicate: boolean = true;\n /**\n * Defines whether duplication check should be case-sensitive\n * @group Props\n */\n @Input({ transform: booleanAttribute }) caseSensitiveDuplication: boolean = true;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() inputStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the input field.\n * @group Props\n */\n @Input() inputStyleClass: string | undefined;\n /**\n * Whether to add an item on tab key press.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) addOnTab: boolean | undefined;\n /**\n * Whether to add an item when the input loses focus.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) addOnBlur: boolean | undefined;\n /**\n * Separator char to add an item when pressed in addition to the enter key.\n * @group Props\n */\n @Input() separator: string | RegExp | undefined;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showClear: boolean = false;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Callback to invoke on chip add.\n * @param {ChipsAddEvent} event - Custom chip add event.\n * @group Emits\n */\n @Output() onAdd: EventEmitter<ChipsAddEvent> = new EventEmitter<ChipsAddEvent>();\n /**\n * Callback to invoke on chip remove.\n * @param {ChipsRemoveEvent} event - Custom chip remove event.\n * @group Emits\n */\n @Output() onRemove: EventEmitter<ChipsRemoveEvent> = new EventEmitter<ChipsRemoveEvent>();\n /**\n * Callback to invoke on focus of input field.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on blur of input field.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on chip clicked.\n * @param {ChipsClickEvent} event - Custom chip click event.\n * @group Emits\n */\n @Output() onChipClick: EventEmitter<ChipsClickEvent> = new EventEmitter<ChipsClickEvent>();\n /**\n * Callback to invoke on clear token clicked.\n * @group Emits\n */\n @Output() onClear: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild('inputtext') inputViewChild!: ElementRef;\n\n @ViewChild('container') containerViewChild!: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<any>;\n\n public itemTemplate: Nullable<TemplateRef<any>>;\n\n removeTokenIconTemplate: Nullable<TemplateRef<any>>;\n\n clearIconTemplate: Nullable<TemplateRef<any>>;\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n valueChanged: Nullable<boolean>;\n\n id = UniqueComponentId();\n\n focused: Nullable<boolean>;\n\n focusedIndex: Nullable<number>;\n\n filled: Nullable<boolean>;\n\n get focusedOptionId() {\n return this.focusedIndex !== null ? `${this.id}_chips_item_${this.focusedIndex}` : null;\n }\n\n get isMaxedOut(): boolean {\n return this.max && this.value && this.max === this.value.length;\n }\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n public el: ElementRef,\n public cd: ChangeDetectorRef,\n public config: PrimeNGConfig\n ) {}\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'removetokenicon':\n this.removeTokenIconTemplate = item.template;\n break;\n\n case 'clearicon':\n this.clearIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n\n this.updateFilledState();\n }\n\n onWrapperClick() {\n this.inputViewChild?.nativeElement.focus();\n }\n\n onContainerFocus() {\n this.focused = true;\n }\n\n onContainerBlur() {\n this.focusedIndex = -1;\n this.focused = false;\n }\n\n onContainerKeyDown(event) {\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOn();\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOn();\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOn(event);\n break;\n\n case 'Space':\n if (this.focusedIndex !== null && this.value && this.value.length > 0) {\n this.onItemClick(event, this.value[this.focusedIndex]);\n }\n break;\n\n default:\n break;\n }\n }\n\n onArrowLeftKeyOn() {\n if (this.inputViewChild.nativeElement.value.length === 0 && this.value && this.value.length > 0) {\n this.focusedIndex = this.focusedIndex === null ? this.value.length - 1 : this.focusedIndex - 1;\n if (this.focusedIndex < 0) this.focusedIndex = 0;\n }\n }\n\n onArrowRightKeyOn() {\n if (this.inputViewChild.nativeElement.value.length === 0 && this.value && this.value.length > 0) {\n if (this.focusedIndex === this.value.length - 1) {\n this.focusedIndex = null;\n this.inputViewChild?.nativeElement.focus();\n } else {\n this.focusedIndex++;\n }\n }\n }\n\n onBackspaceKeyOn(event) {\n if (this.focusedIndex !== null) {\n this.removeItem(event, this.focusedIndex);\n }\n }\n\n onInput() {\n this.updateFilledState();\n this.focusedIndex = null;\n }\n\n onPaste(event: any) {\n if (!this.disabled) {\n if (this.separator) {\n const pastedData: string = (event.clipboardData || (this.document.defaultView as any)['clipboardData']).getData('Text');\n pastedData.split(this.separator).forEach((val: any) => {\n this.addItem(event, val, true);\n });\n this.inputViewChild.nativeElement.value = '';\n }\n\n this.updateFilledState();\n }\n }\n\n updateFilledState() {\n if (!this.value || this.value.length === 0) {\n this.filled = this.inputViewChild && this.inputViewChild.nativeElement && this.inputViewChild.nativeElement.value != '';\n } else {\n this.filled = true;\n }\n }\n\n onItemClick(event: Event, item: any) {\n this.onChipClick.emit({\n originalEvent: event,\n value: item\n });\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.updateMaxedOut();\n this.updateFilledState();\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n resolveFieldData(data: any, field: string): any {\n if (data && field) {\n if (field.indexOf('.') == -1) {\n return data[field];\n } else {\n let fields: string[] = field.split('.');\n let value = data;\n for (var i = 0, len = fields.length; i < len; ++i) {\n value = value[fields[i]];\n }\n return value;\n }\n } else {\n return null;\n }\n }\n\n onInputFocus(event: FocusEvent) {\n this.focused = true;\n this.focusedIndex = null;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: FocusEvent) {\n this.focused = false;\n this.focusedIndex = null;\n if (this.addOnBlur && this.inputViewChild.nativeElement.value) {\n this.addItem(event, this.inputViewChild.nativeElement.value, false);\n }\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n removeItem(event: Event, index: number): void {\n if (this.disabled) {\n return;\n }\n\n let removedItem = this.value[index];\n this.value = this.value.filter((val: any, i: number) => i != index);\n this.focusedIndex = null;\n this.inputViewChild.nativeElement.focus();\n\n this.onModelChange(this.value);\n this.onRemove.emit({\n originalEvent: event,\n value: removedItem\n });\n this.updateFilledState();\n this.updateMaxedOut();\n }\n\n addItem(event: Event, item: string, preventDefault: boolean): void {\n this.value = this.value || [];\n\n if (item && item.trim().length) {\n const newItemIsDuplicate = this.caseSensitiveDuplication ? this.value.includes(item) : this.value.some((val) => val.toLowerCase() === item.toLowerCase());\n\n if ((this.allowDuplicate || !newItemIsDuplicate) && !this.isMaxedOut) {\n this.value = [...this.value, item];\n this.onModelChange(this.value);\n this.onAdd.emit({\n originalEvent: event,\n value: item\n });\n }\n }\n\n this.updateFilledState();\n this.updateMaxedOut();\n this.inputViewChild.nativeElement.value = '';\n\n if (preventDefault) {\n event.preventDefault();\n }\n }\n\n /**\n * Callback to invoke on filter reset.\n * @group Method\n */\n public clear() {\n this.value = null;\n this.updateFilledState();\n this.onModelChange(this.value);\n this.updateMaxedOut();\n this.onClear.emit();\n }\n\n onKeyDown(event) {\n const inputValue = event.target.value;\n\n switch (event.code) {\n case 'Backspace':\n if (inputValue.length === 0 && this.value && this.value.length > 0) {\n if (this.focusedIndex !== null) {\n this.removeItem(event, this.focusedIndex);\n } else this.removeItem(event, this.value.length - 1);\n }\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n if (inputValue && inputValue.trim().length && !this.isMaxedOut) {\n this.addItem(event, inputValue, true);\n }\n\n break;\n\n case 'Tab':\n if (this.addOnTab && inputValue && inputValue.trim().length && !this.isMaxedOut) {\n this.addItem(event, inputValue, true);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowLeft':\n if (inputValue.length === 0 && this.value && this.value.length > 0) {\n this.containerViewChild?.nativeElement.focus();\n }\n\n break;\n\n case 'ArrowRight':\n event.stopPropagation();\n break;\n\n default:\n if (this.separator) {\n if (this.separator === event.key || event.key.match(this.separator)) {\n this.addItem(event, inputValue, true);\n }\n }\n\n break;\n }\n }\n\n updateMaxedOut(): void {\n if (this.inputViewChild && this.inputViewChild.nativeElement) {\n if (this.isMaxedOut) {\n // Calling `blur` is necessary because firefox does not call `onfocus` events\n // for disabled inputs, unlike chromium browsers.\n this.inputViewChild.nativeElement.blur();\n this.inputViewChild.nativeElement.disabled = true;\n } else {\n if (this.disabled) {\n this.inputViewChild.nativeElement.blur();\n }\n\n this.inputViewChild.nativeElement.disabled = this.disabled || false;\n }\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, InputTextModule, SharedModule, AutoFocusModule, TimesCircleIcon, TimesIcon],\n exports: [Chips, InputTextModule, SharedModule],\n declarations: [Chips]\n})\nexport class ChipsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-chips.mjs","sources":["../../src/app/components/chips/chips.ts","../../src/app/components/chips/primeng-chips.ts"],"sourcesContent":["import { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgModule,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n forwardRef,\n numberAttribute\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeNGConfig, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { AutoFocusModule } from 'primeng/autofocus';\nimport { TimesIcon } from 'primeng/icons/times';\nimport { TimesCircleIcon } from 'primeng/icons/timescircle';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { UniqueComponentId } from 'primeng/utils';\nimport { ChipsAddEvent, ChipsClickEvent, ChipsContextMenuEvent, ChipsRemoveEvent } from './chips.interface';\n\nexport const CHIPS_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Chips),\n multi: true\n};\n/**\n * Chips groups a collection of contents in tabs.\n * @group Components\n */\n@Component({\n selector: 'p-chips',\n template: `\n <div\n [ngClass]=\"{\n 'p-chips p-component p-input-wrapper': true,\n 'p-disabled': disabled,\n 'p-focus': focused,\n 'p-inputwrapper-filled': (value && value.length) || (this.inputViewChild?.nativeElement.value && this.inputViewChild?.nativeElement.value.length),\n 'p-inputwrapper-focus': focused\n }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'chips'\"\n [attr.data-pc-section]=\"'root'\"\n >\n <ul\n #container\n [ngClass]=\"{ 'p-inputtext p-chips-multiple-container': true, 'p-variant-filled': variant === 'filled' || config.inputStyle() === 'filled' }\"\n tabindex=\"-1\"\n role=\"listbox\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n [attr.aria-orientation]=\"'horizontal'\"\n (click)=\"onWrapperClick()\"\n (focus)=\"onContainerFocus()\"\n (blur)=\"onContainerBlur()\"\n (keydown)=\"onContainerKeyDown($event)\"\n [attr.data-pc-section]=\"'container'\"\n >\n <li\n #token\n *ngFor=\"let item of value; let i = index\"\n [attr.id]=\"id + '_chips_item_' + i\"\n role=\"option\"\n [attr.ariaLabel]=\"item\"\n [attr.aria-selected]=\"true\"\n [attr.aria-setsize]=\"value.length\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.data-p-focused]=\"focusedIndex === i\"\n [ngClass]=\"{ 'p-chips-token': true, 'p-focus': focusedIndex === i }\"\n (click)=\"onItemClick($event, item)\"\n (contextmenu)=\"onItemContextMenu($event, item)\"\n [attr.data-pc-section]=\"'token'\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <span *ngIf=\"!itemTemplate\" class=\"p-chips-token-label\" [attr.data-pc-section]=\"'label'\">{{ field ? resolveFieldData(item, field) : item }}</span>\n <ng-container *ngIf=\"!disabled\">\n <TimesCircleIcon [styleClass]=\"'p-chips-token-icon'\" *ngIf=\"!removeTokenIconTemplate\" (click)=\"removeItem($event, i)\" [attr.data-pc-section]=\"'removeTokenIcon'\" [attr.aria-hidden]=\"true\" />\n <span *ngIf=\"removeTokenIconTemplate\" class=\"p-chips-token-icon\" (click)=\"removeItem($event, i)\" [attr.data-pc-section]=\"'removeTokenIcon'\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"removeTokenIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </li>\n <li class=\"p-chips-input-token\" [ngClass]=\"{ 'p-chips-clearable': showClear && !disabled }\" [attr.data-pc-section]=\"'inputToken'\" role=\"option\">\n <input\n #inputtext\n type=\"text\"\n [attr.id]=\"inputId\"\n [attr.maxlength]=\"maxLength\"\n [attr.placeholder]=\"value && value.length ? null : placeholder\"\n [attr.tabindex]=\"tabindex\"\n (keydown)=\"onKeyDown($event)\"\n (input)=\"onInput()\"\n (paste)=\"onPaste($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [disabled]=\"disabled || isMaxedOut\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n />\n </li>\n <li *ngIf=\"value != null && filled && !disabled && showClear\">\n <TimesIcon *ngIf=\"!clearIconTemplate\" [styleClass]=\"'p-chips-clear-icon'\" (click)=\"clear()\" />\n <span *ngIf=\"clearIconTemplate\" class=\"p-chips-clear-icon\" (click)=\"clear()\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\n </span>\n </li>\n </ul>\n </div>\n `,\n host: {\n class: 'p-element p-inputwrapper',\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focused',\n '[class.p-chips-clearable]': 'showClear'\n },\n providers: [CHIPS_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./chips.css']\n})\nexport class Chips implements AfterContentInit, ControlValueAccessor {\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * Name of the property to display on a chip.\n * @group Props\n */\n @Input() field: string | undefined;\n /**\n * Advisory information to display on input.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * Maximum number of entries allowed.\n * @group Props\n */\n @Input({ transform: numberAttribute }) max: number | undefined;\n /**\n * Maximum length of a chip.\n * @group Props\n */\n @Input() maxLength: number | undefined;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Whether to allow duplicate values or not.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) allowDuplicate: boolean = true;\n /**\n * Defines whether duplication check should be case-sensitive\n * @group Props\n */\n @Input({ transform: booleanAttribute }) caseSensitiveDuplication: boolean = true;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() inputStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the input field.\n * @group Props\n */\n @Input() inputStyleClass: string | undefined;\n /**\n * Whether to add an item on tab key press.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) addOnTab: boolean | undefined;\n /**\n * Whether to add an item when the input loses focus.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) addOnBlur: boolean | undefined;\n /**\n * Separator char to add an item when pressed in addition to the enter key.\n * @group Props\n */\n @Input() separator: string | RegExp | undefined;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showClear: boolean = false;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Callback to invoke on chip add.\n * @param {ChipsAddEvent} event - Custom chip add event.\n * @group Emits\n */\n @Output() onAdd: EventEmitter<ChipsAddEvent> = new EventEmitter<ChipsAddEvent>();\n /**\n * Callback to invoke on chip remove.\n * @param {ChipsRemoveEvent} event - Custom chip remove event.\n * @group Emits\n */\n @Output() onRemove: EventEmitter<ChipsRemoveEvent> = new EventEmitter<ChipsRemoveEvent>();\n /**\n * Callback to invoke on focus of input field.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on blur of input field.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on chip clicked.\n * @param {ChipsClickEvent} event - Custom chip click event.\n * @group Emits\n */\n @Output() onChipClick: EventEmitter<ChipsClickEvent> = new EventEmitter<ChipsClickEvent>();\n /**\n * Callback to invoke on chip contextmenu.\n * @param {ChipsClickEvent} event - Custom chip contextmenu event.\n * @group Emits\n */\n @Output() onChipContextMenu: EventEmitter<ChipsContextMenuEvent> = new EventEmitter<ChipsContextMenuEvent>();\n /**\n * Callback to invoke on clear token clicked.\n * @group Emits\n */\n @Output() onClear: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild('inputtext') inputViewChild!: ElementRef;\n\n @ViewChild('container') containerViewChild!: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<any>;\n\n public itemTemplate: Nullable<TemplateRef<any>>;\n\n removeTokenIconTemplate: Nullable<TemplateRef<any>>;\n\n clearIconTemplate: Nullable<TemplateRef<any>>;\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n valueChanged: Nullable<boolean>;\n\n id = UniqueComponentId();\n\n focused: Nullable<boolean>;\n\n focusedIndex: Nullable<number>;\n\n filled: Nullable<boolean>;\n\n get focusedOptionId() {\n return this.focusedIndex !== null ? `${this.id}_chips_item_${this.focusedIndex}` : null;\n }\n\n get isMaxedOut(): boolean {\n return this.max && this.value && this.max === this.value.length;\n }\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n public el: ElementRef,\n public cd: ChangeDetectorRef,\n public config: PrimeNGConfig\n ) {}\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'removetokenicon':\n this.removeTokenIconTemplate = item.template;\n break;\n\n case 'clearicon':\n this.clearIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n\n this.updateFilledState();\n }\n\n onWrapperClick() {\n this.inputViewChild?.nativeElement.focus();\n }\n\n onContainerFocus() {\n this.focused = true;\n }\n\n onContainerBlur() {\n this.focusedIndex = -1;\n this.focused = false;\n }\n\n onContainerKeyDown(event) {\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOn();\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOn();\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOn(event);\n break;\n\n case 'Space':\n if (this.focusedIndex !== null && this.value && this.value.length > 0) {\n this.onItemClick(event, this.value[this.focusedIndex]);\n }\n break;\n\n default:\n break;\n }\n }\n\n onArrowLeftKeyOn() {\n if (this.inputViewChild.nativeElement.value.length === 0 && this.value && this.value.length > 0) {\n this.focusedIndex = this.focusedIndex === null ? this.value.length - 1 : this.focusedIndex - 1;\n if (this.focusedIndex < 0) this.focusedIndex = 0;\n }\n }\n\n onArrowRightKeyOn() {\n if (this.inputViewChild.nativeElement.value.length === 0 && this.value && this.value.length > 0) {\n if (this.focusedIndex === this.value.length - 1) {\n this.focusedIndex = null;\n this.inputViewChild?.nativeElement.focus();\n } else {\n this.focusedIndex++;\n }\n }\n }\n\n onBackspaceKeyOn(event) {\n if (this.focusedIndex !== null) {\n this.removeItem(event, this.focusedIndex);\n }\n }\n\n onInput() {\n this.updateFilledState();\n this.focusedIndex = null;\n }\n\n onPaste(event: any) {\n if (!this.disabled) {\n if (this.separator) {\n const pastedData: string = (event.clipboardData || (this.document.defaultView as any)['clipboardData']).getData('Text');\n pastedData.split(this.separator).forEach((val: any) => {\n this.addItem(event, val, true);\n });\n this.inputViewChild.nativeElement.value = '';\n }\n\n this.updateFilledState();\n }\n }\n\n updateFilledState() {\n if (!this.value || this.value.length === 0) {\n this.filled = this.inputViewChild && this.inputViewChild.nativeElement && this.inputViewChild.nativeElement.value != '';\n } else {\n this.filled = true;\n }\n }\n\n onItemClick(event: Event, item: any) {\n this.onChipClick.emit({\n originalEvent: event,\n value: item\n });\n }\n\n onItemContextMenu(event: Event, item: any) {\n this.onChipContextMenu.emit({\n originalEvent: event,\n value: item\n });\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.updateMaxedOut();\n this.updateFilledState();\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n resolveFieldData(data: any, field: string): any {\n if (data && field) {\n if (field.indexOf('.') == -1) {\n return data[field];\n } else {\n let fields: string[] = field.split('.');\n let value = data;\n for (var i = 0, len = fields.length; i < len; ++i) {\n value = value[fields[i]];\n }\n return value;\n }\n } else {\n return null;\n }\n }\n\n onInputFocus(event: FocusEvent) {\n this.focused = true;\n this.focusedIndex = null;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: FocusEvent) {\n this.focused = false;\n this.focusedIndex = null;\n if (this.addOnBlur && this.inputViewChild.nativeElement.value) {\n this.addItem(event, this.inputViewChild.nativeElement.value, false);\n }\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n removeItem(event: Event, index: number): void {\n if (this.disabled) {\n return;\n }\n\n let removedItem = this.value[index];\n this.value = this.value.filter((val: any, i: number) => i != index);\n this.focusedIndex = null;\n this.inputViewChild.nativeElement.focus();\n\n this.onModelChange(this.value);\n this.onRemove.emit({\n originalEvent: event,\n value: removedItem\n });\n this.updateFilledState();\n this.updateMaxedOut();\n }\n\n addItem(event: Event, item: string, preventDefault: boolean): void {\n this.value = this.value || [];\n\n if (item && item.trim().length) {\n const newItemIsDuplicate = this.caseSensitiveDuplication ? this.value.includes(item) : this.value.some((val) => val.toLowerCase() === item.toLowerCase());\n\n if ((this.allowDuplicate || !newItemIsDuplicate) && !this.isMaxedOut) {\n this.value = [...this.value, item];\n this.onModelChange(this.value);\n this.onAdd.emit({\n originalEvent: event,\n value: item\n });\n }\n }\n\n this.updateFilledState();\n this.updateMaxedOut();\n this.inputViewChild.nativeElement.value = '';\n\n if (preventDefault) {\n event.preventDefault();\n }\n }\n\n /**\n * Callback to invoke on filter reset.\n * @group Method\n */\n public clear() {\n this.value = null;\n this.updateFilledState();\n this.onModelChange(this.value);\n this.updateMaxedOut();\n this.onClear.emit();\n }\n\n onKeyDown(event) {\n const inputValue = event.target.value;\n\n switch (event.code) {\n case 'Backspace':\n if (inputValue.length === 0 && this.value && this.value.length > 0) {\n if (this.focusedIndex !== null) {\n this.removeItem(event, this.focusedIndex);\n } else this.removeItem(event, this.value.length - 1);\n }\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n if (inputValue && inputValue.trim().length && !this.isMaxedOut) {\n this.addItem(event, inputValue, true);\n }\n\n break;\n\n case 'Tab':\n if (this.addOnTab && inputValue && inputValue.trim().length && !this.isMaxedOut) {\n this.addItem(event, inputValue, true);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowLeft':\n if (inputValue.length === 0 && this.value && this.value.length > 0) {\n this.containerViewChild?.nativeElement.focus();\n }\n\n break;\n\n case 'ArrowRight':\n event.stopPropagation();\n break;\n\n default:\n if (this.separator) {\n if (this.separator === event.key || event.key.match(this.separator)) {\n this.addItem(event, inputValue, true);\n }\n }\n\n break;\n }\n }\n\n updateMaxedOut(): void {\n if (this.inputViewChild && this.inputViewChild.nativeElement) {\n if (this.isMaxedOut) {\n // Calling `blur` is necessary because firefox does not call `onfocus` events\n // for disabled inputs, unlike chromium browsers.\n this.inputViewChild.nativeElement.blur();\n this.inputViewChild.nativeElement.disabled = true;\n } else {\n if (this.disabled) {\n this.inputViewChild.nativeElement.blur();\n }\n\n this.inputViewChild.nativeElement.disabled = this.disabled || false;\n }\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, InputTextModule, SharedModule, AutoFocusModule, TimesCircleIcon, TimesIcon],\n exports: [Chips, InputTextModule, SharedModule],\n declarations: [Chips]\n})\nexport class ChipsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AA+Ba,MAAA,oBAAoB,GAAQ;AACrC,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC;AACpC,IAAA,KAAK,EAAE,IAAI;EACb;AACF;;;AAGG;MAgGU,KAAK,CAAA;AAyLgB,IAAA,QAAA,CAAA;AACnB,IAAA,EAAA,CAAA;AACA,IAAA,EAAA,CAAA;AACA,IAAA,MAAA,CAAA;AA3LX;;;AAGG;AACM,IAAA,KAAK,CAA8C;AAC5D;;;AAGG;AACM,IAAA,UAAU,CAAqB;AACxC;;;AAGG;AACqC,IAAA,QAAQ,CAAsB;AACtE;;;AAGG;AACM,IAAA,KAAK,CAAqB;AACnC;;;AAGG;AACM,IAAA,WAAW,CAAqB;AACzC;;;AAGG;AACoC,IAAA,GAAG,CAAqB;AAC/D;;;AAGG;AACM,IAAA,SAAS,CAAqB;AACvC;;;AAGG;AACM,IAAA,SAAS,CAAqB;AACvC;;;AAGG;AACM,IAAA,cAAc,CAAqB;AAC5C;;;AAGG;AACoC,IAAA,QAAQ,CAAqB;AACpE;;;AAGG;AACM,IAAA,OAAO,CAAqB;AACrC;;;AAGG;IACqC,cAAc,GAAY,IAAI,CAAC;AACvE;;;AAGG;IACqC,wBAAwB,GAAY,IAAI,CAAC;AACjF;;;AAGG;AACM,IAAA,UAAU,CAA8C;AACjE;;;AAGG;AACM,IAAA,eAAe,CAAqB;AAC7C;;;AAGG;AACqC,IAAA,QAAQ,CAAsB;AACtE;;;AAGG;AACqC,IAAA,SAAS,CAAsB;AACvE;;;AAGG;AACM,IAAA,SAAS,CAA8B;AAChD;;;AAGG;IACqC,SAAS,GAAY,KAAK,CAAC;AACnE;;;AAGG;AACqC,IAAA,SAAS,CAAsB;AACvE;;;AAGG;IACM,OAAO,GAA0B,UAAU,CAAC;AACrD;;;;AAIG;AACO,IAAA,KAAK,GAAgC,IAAI,YAAY,EAAiB,CAAC;AACjF;;;;AAIG;AACO,IAAA,QAAQ,GAAmC,IAAI,YAAY,EAAoB,CAAC;AAC1F;;;;AAIG;AACO,IAAA,OAAO,GAAwB,IAAI,YAAY,EAAS,CAAC;AACnE;;;;AAIG;AACO,IAAA,MAAM,GAAwB,IAAI,YAAY,EAAS,CAAC;AAClE;;;;AAIG;AACO,IAAA,WAAW,GAAkC,IAAI,YAAY,EAAmB,CAAC;AAC3F;;;;AAIG;AACO,IAAA,iBAAiB,GAAwC,IAAI,YAAY,EAAyB,CAAC;AAC7G;;;AAGG;AACO,IAAA,OAAO,GAAsB,IAAI,YAAY,EAAO,CAAC;AAEvC,IAAA,cAAc,CAAc;AAE5B,IAAA,kBAAkB,CAAc;AAExB,IAAA,SAAS,CAAkB;AAEpD,IAAA,YAAY,CAA6B;AAEhD,IAAA,uBAAuB,CAA6B;AAEpD,IAAA,iBAAiB,CAA6B;AAE9C,IAAA,KAAK,CAAM;AAEX,IAAA,aAAa,GAAa,MAAK,GAAG,CAAC;AAEnC,IAAA,cAAc,GAAa,MAAK,GAAG,CAAC;AAEpC,IAAA,YAAY,CAAoB;IAEhC,EAAE,GAAG,iBAAiB,EAAE,CAAC;AAEzB,IAAA,OAAO,CAAoB;AAE3B,IAAA,YAAY,CAAmB;AAE/B,IAAA,MAAM,CAAoB;AAE1B,IAAA,IAAI,eAAe,GAAA;QACf,OAAO,IAAI,CAAC,YAAY,KAAK,IAAI,GAAG,CAAG,EAAA,IAAI,CAAC,EAAE,CAAA,YAAA,EAAe,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC;KAC3F;AAED,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;KACnE;AAED,IAAA,WAAA,CAC8B,QAAkB,EACrC,EAAc,EACd,EAAqB,EACrB,MAAqB,EAAA;QAHF,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QACrC,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACd,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;QACrB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;KAC5B;IAEJ,kBAAkB,GAAA;QACd,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,MAAM;AACP,oBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAClC,MAAM;AAEV,gBAAA,KAAK,iBAAiB;AAClB,oBAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC7C,MAAM;AAEV,gBAAA,KAAK,WAAW;AACZ,oBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACvC,MAAM;AAEV,gBAAA;AACI,oBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAClC,MAAM;aACb;AACL,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC5B;IAED,cAAc,GAAA;AACV,QAAA,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;KAC9C;IAED,gBAAgB,GAAA;AACZ,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACvB;IAED,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACxB;AAED,IAAA,kBAAkB,CAAC,KAAK,EAAA;AACpB,QAAA,QAAQ,KAAK,CAAC,IAAI;AACd,YAAA,KAAK,WAAW;gBACZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,MAAM;AAEV,YAAA,KAAK,YAAY;gBACb,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,MAAM;AAEV,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC7B,MAAM;AAEV,YAAA,KAAK,OAAO;AACR,gBAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACnE,oBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;iBAC1D;gBACD,MAAM;AAEV,YAAA;gBACI,MAAM;SACb;KACJ;IAED,gBAAgB,GAAA;QACZ,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7F,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,KAAK,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;AAC/F,YAAA,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC;AAAE,gBAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACpD;KACJ;IAED,iBAAiB,GAAA;QACb,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7F,YAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7C,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,gBAAA,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;aAC9C;iBAAM;gBACH,IAAI,CAAC,YAAY,EAAE,CAAC;aACvB;SACJ;KACJ;AAED,IAAA,gBAAgB,CAAC,KAAK,EAAA;AAClB,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC7C;KACJ;IAED,OAAO,GAAA;QACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;KAC5B;AAED,IAAA,OAAO,CAAC,KAAU,EAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,MAAM,UAAU,GAAW,CAAC,KAAK,CAAC,aAAa,IAAK,IAAI,CAAC,QAAQ,CAAC,WAAmB,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AACxH,gBAAA,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAQ,KAAI;oBAClD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACnC,iBAAC,CAAC,CAAC;gBACH,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;aAChD;YAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B;KACJ;IAED,iBAAiB,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC;SAC3H;aAAM;AACH,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;KACJ;IAED,WAAW,CAAC,KAAY,EAAE,IAAS,EAAA;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AAClB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,KAAK,EAAE,IAAI;AACd,SAAA,CAAC,CAAC;KACN;IAED,iBAAiB,CAAC,KAAY,EAAE,IAAS,EAAA;AACrC,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AACxB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,KAAK,EAAE,IAAI;AACd,SAAA,CAAC,CAAC;KACN;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;AAED,IAAA,gBAAgB,CAAC,EAAY,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KAC3B;AAED,IAAA,iBAAiB,CAAC,EAAY,EAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;KAC5B;AAED,IAAA,gBAAgB,CAAC,GAAY,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;AACpB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;IAED,gBAAgB,CAAC,IAAS,EAAE,KAAa,EAAA;AACrC,QAAA,IAAI,IAAI,IAAI,KAAK,EAAE;YACf,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;AAC1B,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;aACtB;iBAAM;gBACH,IAAI,MAAM,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,KAAK,GAAG,IAAI,CAAC;AACjB,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;oBAC/C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5B;AACD,gBAAA,OAAO,KAAK,CAAC;aAChB;SACJ;aAAM;AACH,YAAA,OAAO,IAAI,CAAC;SACf;KACJ;AAED,IAAA,YAAY,CAAC,KAAiB,EAAA;AAC1B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;AAED,IAAA,WAAW,CAAC,KAAiB,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE;AAC3D,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACvE;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;IAED,UAAU,CAAC,KAAY,EAAE,KAAa,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO;SACV;QAED,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,CAAS,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;AACpE,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AAE1C,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACf,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,KAAK,EAAE,WAAW;AACrB,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;AAED,IAAA,OAAO,CAAC,KAAY,EAAE,IAAY,EAAE,cAAuB,EAAA;QACvD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAE9B,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE;AAC5B,YAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAE1J,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClE,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnC,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACZ,oBAAA,aAAa,EAAE,KAAK;AACpB,oBAAA,KAAK,EAAE,IAAI;AACd,iBAAA,CAAC,CAAC;aACN;SACJ;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;QAE7C,IAAI,cAAc,EAAE;YAChB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;KACJ;AAED;;;AAGG;IACI,KAAK,GAAA;AACR,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACvB;AAED,IAAA,SAAS,CAAC,KAAK,EAAA;AACX,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AAEtC,QAAA,QAAQ,KAAK,CAAC,IAAI;AACd,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAChE,oBAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;wBAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;qBAC7C;;AAAM,wBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;iBACxD;gBAED,MAAM;AAEV,YAAA,KAAK,OAAO,CAAC;AACb,YAAA,KAAK,aAAa;AACd,gBAAA,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBAC5D,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;iBACzC;gBAED,MAAM;AAEV,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBAC7E,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;oBACtC,KAAK,CAAC,cAAc,EAAE,CAAC;iBAC1B;gBAED,MAAM;AAEV,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAChE,oBAAA,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;iBAClD;gBAED,MAAM;AAEV,YAAA,KAAK,YAAY;gBACb,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,MAAM;AAEV,YAAA;AACI,gBAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,oBAAA,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;wBACjE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;qBACzC;iBACJ;gBAED,MAAM;SACb;KACJ;IAED,cAAc,GAAA;QACV,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;AAC1D,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;;;AAGjB,gBAAA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBACzC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;aACrD;iBAAM;AACH,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,oBAAA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;iBAC5C;AAED,gBAAA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;aACvE;SACJ;KACJ;AA7eQ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,KAAK,kBAyLF,QAAQ,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAzLX,KAAK,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAeM,gBAAgB,CAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,GAAA,EAAA,CAAA,KAAA,EAAA,KAAA,EAehB,eAAe,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAoBf,eAAe,CAUf,EAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAgB,CAKhB,EAAA,wBAAA,EAAA,CAAA,0BAAA,EAAA,0BAAA,EAAA,gBAAgB,CAehB,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,yCAKhB,gBAAgB,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAUhB,gBAAgB,CAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAKhB,gBAAgB,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,SAAA,EAAA,yBAAA,EAAA,WAAA,EAAA,EAAA,cAAA,EAAA,0BAAA,EAAA,EAAA,SAAA,EAzGzB,CAAC,oBAAoB,CAAC,EA6JhB,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,aAAa,EArPpB,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiFT,EA6fuE,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,oxBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,IAAA,CAAA,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,UAAA,CAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,eAAe,iFAAE,SAAS,CAAA,EAAA,QAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAjfzF,KAAK,EAAA,UAAA,EAAA,CAAA;kBA/FjB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,EACT,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiFT,EACK,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,0BAA0B;AACjC,wBAAA,+BAA+B,EAAE,QAAQ;AACzC,wBAAA,8BAA8B,EAAE,SAAS;AACzC,wBAAA,2BAA2B,EAAE,WAAW;qBAC3C,EACU,SAAA,EAAA,CAAC,oBAAoB,CAAC,EAChB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,oxBAAA,CAAA,EAAA,CAAA;;0BA4LhC,MAAM;2BAAC,QAAQ,CAAA;8HApLX,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKkC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAK7B,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKiC,GAAG,EAAA,CAAA;sBAAzC,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;gBAK5B,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAKiC,QAAQ,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;gBAK5B,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKkC,cAAc,EAAA,CAAA;sBAArD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKE,wBAAwB,EAAA,CAAA;sBAA/D,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAK7B,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAKkC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKE,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAK7B,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKkC,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKE,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAK7B,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAMI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBAMG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAMG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAMG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAMG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAMG,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBAKG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAEiB,cAAc,EAAA,CAAA;sBAArC,SAAS;uBAAC,WAAW,CAAA;gBAEE,kBAAkB,EAAA,CAAA;sBAAzC,SAAS;uBAAC,WAAW,CAAA;gBAEU,SAAS,EAAA,CAAA;sBAAxC,eAAe;uBAAC,aAAa,CAAA;;MA6VrB,WAAW,CAAA;uGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,iBArfX,KAAK,CAAA,EAAA,OAAA,EAAA,CAifJ,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,CAAA,EAAA,OAAA,EAAA,CAjfzF,KAAK,EAkfG,eAAe,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA;AAGrC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,EAJV,OAAA,EAAA,CAAA,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EACjF,eAAe,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAGrC,WAAW,EAAA,UAAA,EAAA,CAAA;kBALvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,CAAC;AACnG,oBAAA,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,CAAC;oBAC/C,YAAY,EAAE,CAAC,KAAK,CAAC;AACxB,iBAAA,CAAA;;;AC3nBD;;AAEG;;;;"}
|