cax-design-system 2.7.6 → 2.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/README.md +1 -1
  2. package/calendar/calendar.d.ts +2 -1
  3. package/esm2022/calendar/calendar.mjs +6 -3
  4. package/esm2022/dropdown/dropdown.mjs +3 -3
  5. package/esm2022/multiselect/multiselect.mjs +3 -3
  6. package/esm2022/sidebar/sidebar.mjs +2 -2
  7. package/esm2022/table/components/column-filter/column-filter.mjs +2 -2
  8. package/esm2022/table/components/column-filter-form-element/column-filter-form-element.mjs +2 -2
  9. package/esm2022/treeselect/treeselect.mjs +2 -2
  10. package/fesm2022/cax-design-system-calendar.mjs +5 -2
  11. package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
  12. package/fesm2022/cax-design-system-dropdown.mjs +2 -2
  13. package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
  14. package/fesm2022/cax-design-system-multiselect.mjs +2 -2
  15. package/fesm2022/cax-design-system-multiselect.mjs.map +1 -1
  16. package/fesm2022/cax-design-system-sidebar.mjs +1 -1
  17. package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
  18. package/fesm2022/cax-design-system-table.mjs +2 -2
  19. package/fesm2022/cax-design-system-table.mjs.map +1 -1
  20. package/fesm2022/cax-design-system-treeselect.mjs +2 -2
  21. package/fesm2022/cax-design-system-treeselect.mjs.map +1 -1
  22. package/package.json +268 -268
  23. package/resources/cax.min.scss +1 -1
  24. package/resources/cax.scss +3 -1
  25. package/resources/components/calendar/calendar.scss +9 -2
  26. package/resources/components/dropdown/dropdown.scss +1 -1
  27. package/resources/components/multiselect/multiselect.scss +3 -2
  28. package/resources/components/treeselect/treeselect.scss +3 -2
@@ -224,7 +224,7 @@ class Sidebar {
224
224
  }
225
225
  }
226
226
  handleContentShift() {
227
- const body = document.body;
227
+ const body = this.document.body;
228
228
  body.style.margin = '0'; // Clear any old shifts
229
229
  if (!this.sidebarElement || this.mode !== 'inline')
230
230
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-sidebar.mjs","sources":["../../src/app/components/sidebar/sidebar.ts","../../src/app/components/sidebar/sidebar.html","../../src/app/components/sidebar/sidebar.module.ts","../../src/app/components/sidebar/cax-design-system-sidebar.ts"],"sourcesContent":["import { animate, animation, style, transition, trigger, useAnimation } from '@angular/animations';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\nimport { caxConfig, CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Nullable, VoidListener } from 'cax-design-system/ts-helpers';\nimport { ZIndexUtils } from 'cax-design-system/utils';\n\nconst showAnimation = animation([style({ transform: '{{transform}}', opacity: 0 }), animate('{{transition}}')]);\n\nconst hideAnimation = animation([animate('{{transition}}', style({ transform: '{{transform}}', opacity: 0 }))]);\n/**\n * Sidebar is a panel component displayed as an overlay at the edges of the screen.\n * @group Components\n */\n@Component({\n selector: 'cax-sidebar',\n templateUrl: './sidebar.html',\n styleUrls: ['./sidebar.scss'],\n animations: [trigger('panelState', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule, RippleModule, SharedModule, TimesIcon, ButtonModule],\n host: {\n class: 'cax-element'\n }\n})\nexport class Sidebar implements AfterViewInit, AfterContentInit, OnDestroy {\n sidebarVisible = false;\n\n toggleSidebar() {\n this.sidebarVisible = this.visible;\n this.sidebarVisible = !this.sidebarVisible;\n }\n @Input() headerText: string = '';\n /**\n * Target element to attach the dialog, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Whether to block scrolling of the document when sidebar is active.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) blockScroll: boolean = false;\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 component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Aria label of the close icon.\n * @group Props\n */\n @Input() ariaCloseLabel: string | undefined;\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * Whether an overlay mask is displayed behind the sidebar.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) modal: boolean = true;\n /**\n * Whether to dismiss sidebar on click of the mask.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dismissible: boolean = true;\n /**\n * Whether to display the close icon.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showCloseIcon: boolean = true;\n /**\n * Specifies if pressing escape key should hide the sidebar.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) closeOnEscape: boolean = true;\n /**\n * Transition options of the animation.\n * @group Props\n */\n @Input() transitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Specifies the visibility of the dialog.\n * @group Props\n */\n @Input() get visible(): boolean {\n return this._visible as boolean;\n }\n set visible(val: boolean) {\n this._visible = val;\n this.visibleChange.emit(this._visible);\n }\n /**\n * Specifies the position of the sidebar, valid values are \"left\", \"right\", \"bottom\" and \"top\".\n * @group Props\n */\n @Input() get position(): string {\n return this._position;\n }\n set position(value: string) {\n this._position = value;\n\n switch (value) {\n case 'left':\n this.transformOptions = 'translate3d(-100%, 0px, 0px)';\n break;\n case 'right':\n this.transformOptions = 'translate3d(100%, 0px, 0px)';\n break;\n case 'bottom':\n this.transformOptions = 'translate3d(0px, 100%, 0px)';\n break;\n case 'top':\n this.transformOptions = 'translate3d(0px, -100%, 0px)';\n break;\n }\n }\n /**\n * Adds a close icon to the header to hide the dialog.\n * @group Props\n */\n @Input() get fullScreen(): boolean {\n return this._fullScreen;\n }\n set fullScreen(value: boolean) {\n this._fullScreen = value;\n\n if (value) this.transformOptions = 'none';\n }\n @Input() mode: 'overlay' | 'inline' = 'overlay';\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n /**\n * Callback to invoke when dialog is shown.\n * @group Emits\n */\n @Output() onShow: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when dialog is hidden.\n * @group Emits\n */\n @Output() onHide: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when dialog visibility is changed.\n * @param {boolean} value - Visible value.\n * @group Emits\n */\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n initialized: boolean | undefined;\n\n _visible: boolean | undefined;\n\n _position: string = 'left';\n\n _fullScreen: boolean = false;\n\n container: Nullable<HTMLDivElement>;\n\n transformOptions: any = 'translate3d(-100%, 0px, 0px)';\n\n mask: Nullable<HTMLDivElement>;\n\n maskClickListener: VoidListener;\n\n documentEscapeListener: VoidListener;\n\n animationEndListener: VoidListener;\n\n @Input() contentTemplate: TemplateRef<any> | null = null;\n\n @Input() headerTemplate: TemplateRef<any> | null = null;\n @Input() headlessTemplate: TemplateRef<any> | null = null;\n\n @Input() footerTemplate: Nullable<TemplateRef<any>>;\n\n @Input() closeIconTemplate: TemplateRef<any> | null = null;\n\n /**\n * Inline style of the header section.\n * @group Props\n */\n @Input() headerStyle: { [klass: string]: any } = {}; // Changed to initialize with empty object\n\n // headlessTemplate: Nullable<TemplateRef<any>>;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n public el: ElementRef,\n public renderer: Renderer2,\n public cd: ChangeDetectorRef,\n public config: caxConfig\n ) {}\n\n ngAfterViewInit() {\n this.initialized = true;\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n case 'header':\n this.headerTemplate = item.template;\n break;\n case 'footer':\n this.footerTemplate = item.template;\n break;\n case 'closeicon':\n this.closeIconTemplate = item.template;\n break;\n case 'headless':\n this.headlessTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n @HostBinding('class.sidebar-inline') isInlineMode = false;\n @ViewChild('container') sidebarElement!: ElementRef;\n private hasShifted = false;\n ngAfterViewChecked(): void {\n if (this.visible && this.sidebarElement && !this.hasShifted) {\n this.handleContentShift();\n this.hasShifted = true;\n } else if (!this.visible && this.hasShifted) {\n this.resetBodyShift(); // optional cleanup\n this.hasShifted = false;\n }\n }\n\n handleContentShift(): void {\n const body = document.body;\n body.style.margin = '0'; // Clear any old shifts\n\n if (!this.sidebarElement || this.mode !== 'inline') return;\n const sidebar = this.sidebarElement.nativeElement as HTMLElement;\n const width = sidebar.offsetWidth;\n const height = sidebar.offsetHeight;\n switch (this.position) {\n case 'left':\n body.style.marginLeft = `${width}px`;\n break;\n case 'right':\n body.style.marginRight = `${width}px`;\n break;\n case 'top':\n body.style.marginTop = `${height}px`;\n break;\n case 'bottom':\n body.style.marginBottom = `${height}px`;\n break;\n }\n }\n\n resetBodyShift(): void {\n const body = document.body;\n body.style.marginLeft = '';\n body.style.marginRight = '';\n body.style.marginTop = '';\n body.style.marginBottom = '';\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (event.code === 'Escape') {\n this.hide(false);\n }\n }\n\n show() {\n if (this.autoZIndex) {\n ZIndexUtils.set('modal', this.container, this.baseZIndex || this.config.zIndex.modal);\n }\n\n if (this.modal) {\n this.enableModality();\n }\n\n this.onShow.emit({});\n this.visibleChange.emit(true);\n }\n\n hide(emit: boolean = true) {\n if (emit) {\n this.onHide.emit({});\n }\n\n if (this.modal) {\n this.disableModality();\n }\n }\n\n close(event: Event) {\n this.hide();\n this.visible = false;\n this.visibleChange.emit(this.visible);\n event.preventDefault();\n }\n\n enableModality() {\n const activeDrawers = this.document.querySelectorAll('.cax-sidebar-active');\n const activeDrawersLength = activeDrawers.length;\n const zIndex = activeDrawersLength == 1 ? String(parseInt((this.container as HTMLDivElement).style.zIndex) - 1) : String(parseInt((activeDrawers[0] as HTMLElement).style.zIndex) - 1);\n\n if (!this.mask) {\n this.mask = this.renderer.createElement('div');\n this.renderer.setStyle(this.mask, 'zIndex', zIndex);\n DomHandler.addMultipleClasses(this.mask, 'cax-component-overlay cax-sidebar-mask cax-component-overlay cax-component-overlay-enter');\n\n if (this.dismissible) {\n this.maskClickListener = this.renderer.listen(this.mask, 'click', (event: any) => {\n if (this.dismissible) {\n this.close(event);\n }\n });\n }\n\n this.renderer.appendChild(this.document.body, this.mask);\n if (this.blockScroll) {\n DomHandler.blockBodyScroll();\n }\n }\n }\n\n disableModality() {\n if (this.mask) {\n DomHandler.addClass(this.mask, 'cax-component-overlay-leave');\n this.animationEndListener = this.renderer.listen(this.mask, 'animationend', this.destroyModal.bind(this));\n }\n }\n\n destroyModal() {\n this.unbindMaskClickListener();\n\n if (this.mask) {\n this.renderer.removeChild(this.document.body, this.mask);\n }\n\n if (this.blockScroll) {\n DomHandler.unblockBodyScroll();\n }\n\n this.unbindAnimationEndListener();\n this.mask = null;\n }\n\n onAnimationStart(event: any) {\n switch (event.toState) {\n case 'visible':\n this.container = event.element;\n this.appendContainer();\n this.show();\n\n if (this.closeOnEscape) {\n this.bindDocumentEscapeListener();\n }\n break;\n }\n }\n\n onAnimationEnd(event: any) {\n switch (event.toState) {\n case 'void':\n this.hide(false);\n ZIndexUtils.clear(this.container);\n this.unbindGlobalListeners();\n break;\n }\n }\n\n appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body') this.renderer.appendChild(this.document.body, this.container);\n else DomHandler.appendChild(this.container, this.appendTo);\n }\n }\n\n bindDocumentEscapeListener() {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentEscapeListener = this.renderer.listen(documentTarget, 'keydown', (event) => {\n if (event.which == 27) {\n if (parseInt((this.container as HTMLDivElement).style.zIndex) === ZIndexUtils.get(this.container)) {\n this.close(event);\n }\n }\n });\n }\n\n unbindDocumentEscapeListener() {\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n this.documentEscapeListener = null;\n }\n }\n\n unbindMaskClickListener() {\n if (this.maskClickListener) {\n this.maskClickListener();\n this.maskClickListener = null;\n }\n }\n\n unbindGlobalListeners() {\n this.unbindMaskClickListener();\n this.unbindDocumentEscapeListener();\n }\n\n unbindAnimationEndListener() {\n if (this.animationEndListener && this.mask) {\n this.animationEndListener();\n this.animationEndListener = null;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['mode']) {\n this.modal = this.mode !== 'inline';\n this.isInlineMode = this.mode === 'inline';\n this.handleContentShift();\n }\n\n if (changes['visible']) {\n this.handleContentShift();\n }\n }\n ngOnDestroy() {\n this.initialized = false;\n\n if (this.visible && this.modal) {\n this.destroyModal();\n }\n\n if (this.appendTo && this.container) {\n this.renderer.appendChild(this.el.nativeElement, this.container);\n }\n\n if (this.container && this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n this.container = null;\n this.unbindGlobalListeners();\n this.unbindAnimationEndListener();\n }\n}\n"," <!-- Sidebar Panel -->\r\n <div\r\n #container\r\n [ngClass]=\"{\r\n 'cax-sidebar': true,\r\n 'cax-sidebar-active': visible,\r\n 'cax-sidebar-overlay': mode === 'overlay',\r\n 'cax-sidebar-inline': mode === 'inline',\r\n 'cax-sidebar-left': position === 'left' && !fullScreen,\r\n 'cax-sidebar-right': position === 'right' && !fullScreen,\r\n 'cax-sidebar-top': position === 'top' && !fullScreen,\r\n 'cax-sidebar-bottom': position === 'bottom' && !fullScreen,\r\n 'cax-sidebar-full': fullScreen\r\n }\"\r\n *ngIf=\"visible\"\r\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\r\n (@panelState.start)=\"onAnimationStart($event)\"\r\n (@panelState.done)=\"onAnimationEnd($event)\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n role=\"complementary\"\r\n [attr.data-pc-name]=\"'sidebar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n (keydown)=\"onKeyDown($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"sidebarTemplate\"></ng-container>\r\n\r\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\r\n <ng-container *ngTemplateOutlet=\"headlessTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #notHeadless>\r\n <div class=\"cax-sidebar-header\" [ngStyle]=\"headerStyle\">\r\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <div>{{ headerText || 'Sidebar' }}</div>\r\n </ng-template>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"cax-sidebar-close cax-sidebar-icon-css cax-link\"\r\n (click)=\"close($event)\"\r\n (keydown.enter)=\"close($event)\"\r\n [attr.aria-label]=\"ariaCloseLabel\"\r\n *ngIf=\"showCloseIcon\"\r\n caxRipple\r\n [attr.data-pc-section]=\"'closebutton'\"\r\n [attr.data-pc-groucax-section]=\"'iconcontainer'\"\r\n >\r\n <TimesIcon *ngIf=\"!closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\" />\r\n <span *ngIf=\"closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"cax-sidebar-content\"[attr.data-pc-section]=\"'content'\">\r\n <ng-content></ng-content>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"footerTemplate\" class=\"cax-sidebar-footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Sidebar } from './sidebar';\n\n@NgModule({\n imports: [Sidebar, CommonModule, RippleModule, SharedModule, TimesIcon, ButtonModule],\n exports: [SharedModule, Sidebar]\n})\nexport class SidebarModule {}\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":"cax-design-system-sidebar.mjs","sources":["../../src/app/components/sidebar/sidebar.ts","../../src/app/components/sidebar/sidebar.html","../../src/app/components/sidebar/sidebar.module.ts","../../src/app/components/sidebar/cax-design-system-sidebar.ts"],"sourcesContent":["import { animate, animation, style, transition, trigger, useAnimation } from '@angular/animations';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\nimport { caxConfig, CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Nullable, VoidListener } from 'cax-design-system/ts-helpers';\nimport { ZIndexUtils } from 'cax-design-system/utils';\n\nconst showAnimation = animation([style({ transform: '{{transform}}', opacity: 0 }), animate('{{transition}}')]);\n\nconst hideAnimation = animation([animate('{{transition}}', style({ transform: '{{transform}}', opacity: 0 }))]);\n/**\n * Sidebar is a panel component displayed as an overlay at the edges of the screen.\n * @group Components\n */\n@Component({\n selector: 'cax-sidebar',\n templateUrl: './sidebar.html',\n styleUrls: ['./sidebar.scss'],\n animations: [trigger('panelState', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule, RippleModule, SharedModule, TimesIcon, ButtonModule],\n host: {\n class: 'cax-element'\n }\n})\nexport class Sidebar implements AfterViewInit, AfterContentInit, OnDestroy {\n sidebarVisible = false;\n\n toggleSidebar() {\n this.sidebarVisible = this.visible;\n this.sidebarVisible = !this.sidebarVisible;\n }\n @Input() headerText: string = '';\n /**\n * Target element to attach the dialog, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Whether to block scrolling of the document when sidebar is active.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) blockScroll: boolean = false;\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 component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Aria label of the close icon.\n * @group Props\n */\n @Input() ariaCloseLabel: string | undefined;\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * Whether an overlay mask is displayed behind the sidebar.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) modal: boolean = true;\n /**\n * Whether to dismiss sidebar on click of the mask.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dismissible: boolean = true;\n /**\n * Whether to display the close icon.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showCloseIcon: boolean = true;\n /**\n * Specifies if pressing escape key should hide the sidebar.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) closeOnEscape: boolean = true;\n /**\n * Transition options of the animation.\n * @group Props\n */\n @Input() transitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Specifies the visibility of the dialog.\n * @group Props\n */\n @Input() get visible(): boolean {\n return this._visible as boolean;\n }\n set visible(val: boolean) {\n this._visible = val;\n this.visibleChange.emit(this._visible);\n }\n /**\n * Specifies the position of the sidebar, valid values are \"left\", \"right\", \"bottom\" and \"top\".\n * @group Props\n */\n @Input() get position(): string {\n return this._position;\n }\n set position(value: string) {\n this._position = value;\n\n switch (value) {\n case 'left':\n this.transformOptions = 'translate3d(-100%, 0px, 0px)';\n break;\n case 'right':\n this.transformOptions = 'translate3d(100%, 0px, 0px)';\n break;\n case 'bottom':\n this.transformOptions = 'translate3d(0px, 100%, 0px)';\n break;\n case 'top':\n this.transformOptions = 'translate3d(0px, -100%, 0px)';\n break;\n }\n }\n /**\n * Adds a close icon to the header to hide the dialog.\n * @group Props\n */\n @Input() get fullScreen(): boolean {\n return this._fullScreen;\n }\n set fullScreen(value: boolean) {\n this._fullScreen = value;\n\n if (value) this.transformOptions = 'none';\n }\n @Input() mode: 'overlay' | 'inline' = 'overlay';\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n /**\n * Callback to invoke when dialog is shown.\n * @group Emits\n */\n @Output() onShow: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when dialog is hidden.\n * @group Emits\n */\n @Output() onHide: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when dialog visibility is changed.\n * @param {boolean} value - Visible value.\n * @group Emits\n */\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n initialized: boolean | undefined;\n\n _visible: boolean | undefined;\n\n _position: string = 'left';\n\n _fullScreen: boolean = false;\n\n container: Nullable<HTMLDivElement>;\n\n transformOptions: any = 'translate3d(-100%, 0px, 0px)';\n\n mask: Nullable<HTMLDivElement>;\n\n maskClickListener: VoidListener;\n\n documentEscapeListener: VoidListener;\n\n animationEndListener: VoidListener;\n\n @Input() contentTemplate: TemplateRef<any> | null = null;\n\n @Input() headerTemplate: TemplateRef<any> | null = null;\n @Input() headlessTemplate: TemplateRef<any> | null = null;\n\n @Input() footerTemplate: Nullable<TemplateRef<any>>;\n\n @Input() closeIconTemplate: TemplateRef<any> | null = null;\n\n /**\n * Inline style of the header section.\n * @group Props\n */\n @Input() headerStyle: { [klass: string]: any } = {}; // Changed to initialize with empty object\n\n // headlessTemplate: Nullable<TemplateRef<any>>;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n public el: ElementRef,\n public renderer: Renderer2,\n public cd: ChangeDetectorRef,\n public config: caxConfig\n ) {}\n\n ngAfterViewInit() {\n this.initialized = true;\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n case 'header':\n this.headerTemplate = item.template;\n break;\n case 'footer':\n this.footerTemplate = item.template;\n break;\n case 'closeicon':\n this.closeIconTemplate = item.template;\n break;\n case 'headless':\n this.headlessTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n @HostBinding('class.sidebar-inline') isInlineMode = false;\n @ViewChild('container') sidebarElement!: ElementRef;\n private hasShifted = false;\n ngAfterViewChecked(): void {\n if (this.visible && this.sidebarElement && !this.hasShifted) {\n this.handleContentShift();\n this.hasShifted = true;\n } else if (!this.visible && this.hasShifted) {\n this.resetBodyShift(); // optional cleanup\n this.hasShifted = false;\n }\n }\n\n handleContentShift(): void {\n const body = this.document.body;\n body.style.margin = '0'; // Clear any old shifts\n\n if (!this.sidebarElement || this.mode !== 'inline') return;\n const sidebar = this.sidebarElement.nativeElement as HTMLElement;\n const width = sidebar.offsetWidth;\n const height = sidebar.offsetHeight;\n switch (this.position) {\n case 'left':\n body.style.marginLeft = `${width}px`;\n break;\n case 'right':\n body.style.marginRight = `${width}px`;\n break;\n case 'top':\n body.style.marginTop = `${height}px`;\n break;\n case 'bottom':\n body.style.marginBottom = `${height}px`;\n break;\n }\n }\n\n resetBodyShift(): void {\n const body = document.body;\n body.style.marginLeft = '';\n body.style.marginRight = '';\n body.style.marginTop = '';\n body.style.marginBottom = '';\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (event.code === 'Escape') {\n this.hide(false);\n }\n }\n\n show() {\n if (this.autoZIndex) {\n ZIndexUtils.set('modal', this.container, this.baseZIndex || this.config.zIndex.modal);\n }\n\n if (this.modal) {\n this.enableModality();\n }\n\n this.onShow.emit({});\n this.visibleChange.emit(true);\n }\n\n hide(emit: boolean = true) {\n if (emit) {\n this.onHide.emit({});\n }\n\n if (this.modal) {\n this.disableModality();\n }\n }\n\n close(event: Event) {\n this.hide();\n this.visible = false;\n this.visibleChange.emit(this.visible);\n event.preventDefault();\n }\n\n enableModality() {\n const activeDrawers = this.document.querySelectorAll('.cax-sidebar-active');\n const activeDrawersLength = activeDrawers.length;\n const zIndex = activeDrawersLength == 1 ? String(parseInt((this.container as HTMLDivElement).style.zIndex) - 1) : String(parseInt((activeDrawers[0] as HTMLElement).style.zIndex) - 1);\n\n if (!this.mask) {\n this.mask = this.renderer.createElement('div');\n this.renderer.setStyle(this.mask, 'zIndex', zIndex);\n DomHandler.addMultipleClasses(this.mask, 'cax-component-overlay cax-sidebar-mask cax-component-overlay cax-component-overlay-enter');\n\n if (this.dismissible) {\n this.maskClickListener = this.renderer.listen(this.mask, 'click', (event: any) => {\n if (this.dismissible) {\n this.close(event);\n }\n });\n }\n\n this.renderer.appendChild(this.document.body, this.mask);\n if (this.blockScroll) {\n DomHandler.blockBodyScroll();\n }\n }\n }\n\n disableModality() {\n if (this.mask) {\n DomHandler.addClass(this.mask, 'cax-component-overlay-leave');\n this.animationEndListener = this.renderer.listen(this.mask, 'animationend', this.destroyModal.bind(this));\n }\n }\n\n destroyModal() {\n this.unbindMaskClickListener();\n\n if (this.mask) {\n this.renderer.removeChild(this.document.body, this.mask);\n }\n\n if (this.blockScroll) {\n DomHandler.unblockBodyScroll();\n }\n\n this.unbindAnimationEndListener();\n this.mask = null;\n }\n\n onAnimationStart(event: any) {\n switch (event.toState) {\n case 'visible':\n this.container = event.element;\n this.appendContainer();\n this.show();\n\n if (this.closeOnEscape) {\n this.bindDocumentEscapeListener();\n }\n break;\n }\n }\n\n onAnimationEnd(event: any) {\n switch (event.toState) {\n case 'void':\n this.hide(false);\n ZIndexUtils.clear(this.container);\n this.unbindGlobalListeners();\n break;\n }\n }\n\n appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body') this.renderer.appendChild(this.document.body, this.container);\n else DomHandler.appendChild(this.container, this.appendTo);\n }\n }\n\n bindDocumentEscapeListener() {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentEscapeListener = this.renderer.listen(documentTarget, 'keydown', (event) => {\n if (event.which == 27) {\n if (parseInt((this.container as HTMLDivElement).style.zIndex) === ZIndexUtils.get(this.container)) {\n this.close(event);\n }\n }\n });\n }\n\n unbindDocumentEscapeListener() {\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n this.documentEscapeListener = null;\n }\n }\n\n unbindMaskClickListener() {\n if (this.maskClickListener) {\n this.maskClickListener();\n this.maskClickListener = null;\n }\n }\n\n unbindGlobalListeners() {\n this.unbindMaskClickListener();\n this.unbindDocumentEscapeListener();\n }\n\n unbindAnimationEndListener() {\n if (this.animationEndListener && this.mask) {\n this.animationEndListener();\n this.animationEndListener = null;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['mode']) {\n this.modal = this.mode !== 'inline';\n this.isInlineMode = this.mode === 'inline';\n this.handleContentShift();\n }\n\n if (changes['visible']) {\n this.handleContentShift();\n }\n }\n ngOnDestroy() {\n this.initialized = false;\n\n if (this.visible && this.modal) {\n this.destroyModal();\n }\n\n if (this.appendTo && this.container) {\n this.renderer.appendChild(this.el.nativeElement, this.container);\n }\n\n if (this.container && this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n this.container = null;\n this.unbindGlobalListeners();\n this.unbindAnimationEndListener();\n }\n}\n"," <!-- Sidebar Panel -->\r\n <div\r\n #container\r\n [ngClass]=\"{\r\n 'cax-sidebar': true,\r\n 'cax-sidebar-active': visible,\r\n 'cax-sidebar-overlay': mode === 'overlay',\r\n 'cax-sidebar-inline': mode === 'inline',\r\n 'cax-sidebar-left': position === 'left' && !fullScreen,\r\n 'cax-sidebar-right': position === 'right' && !fullScreen,\r\n 'cax-sidebar-top': position === 'top' && !fullScreen,\r\n 'cax-sidebar-bottom': position === 'bottom' && !fullScreen,\r\n 'cax-sidebar-full': fullScreen\r\n }\"\r\n *ngIf=\"visible\"\r\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\r\n (@panelState.start)=\"onAnimationStart($event)\"\r\n (@panelState.done)=\"onAnimationEnd($event)\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n role=\"complementary\"\r\n [attr.data-pc-name]=\"'sidebar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n (keydown)=\"onKeyDown($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"sidebarTemplate\"></ng-container>\r\n\r\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\r\n <ng-container *ngTemplateOutlet=\"headlessTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #notHeadless>\r\n <div class=\"cax-sidebar-header\" [ngStyle]=\"headerStyle\">\r\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <div>{{ headerText || 'Sidebar' }}</div>\r\n </ng-template>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"cax-sidebar-close cax-sidebar-icon-css cax-link\"\r\n (click)=\"close($event)\"\r\n (keydown.enter)=\"close($event)\"\r\n [attr.aria-label]=\"ariaCloseLabel\"\r\n *ngIf=\"showCloseIcon\"\r\n caxRipple\r\n [attr.data-pc-section]=\"'closebutton'\"\r\n [attr.data-pc-groucax-section]=\"'iconcontainer'\"\r\n >\r\n <TimesIcon *ngIf=\"!closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\" />\r\n <span *ngIf=\"closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"cax-sidebar-content\"[attr.data-pc-section]=\"'content'\">\r\n <ng-content></ng-content>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"footerTemplate\" class=\"cax-sidebar-footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Sidebar } from './sidebar';\n\n@NgModule({\n imports: [Sidebar, CommonModule, RippleModule, SharedModule, TimesIcon, ButtonModule],\n exports: [SharedModule, Sidebar]\n})\nexport class SidebarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAiCA,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEhH,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAChH;;;AAGG;MAcU,OAAO,CAAA;AA8Kc,IAAA,QAAA,CAAA;AACnB,IAAA,EAAA,CAAA;AACA,IAAA,QAAA,CAAA;AACA,IAAA,EAAA,CAAA;AACA,IAAA,MAAA,CAAA;IAjLX,cAAc,GAAG,KAAK,CAAC;IAEvB,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;AACnC,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;KAC9C;IACQ,UAAU,GAAW,EAAE,CAAC;AACjC;;;AAGG;AACM,IAAA,QAAQ,CAAgF;AACjG;;;AAGG;IACqC,WAAW,GAAY,KAAK,CAAC;AACrE;;;AAGG;AACM,IAAA,KAAK,CAA8C;AAC5D;;;AAGG;AACM,IAAA,UAAU,CAAqB;AACxC;;;AAGG;AACM,IAAA,cAAc,CAAqB;AAC5C;;;AAGG;IACqC,UAAU,GAAY,IAAI,CAAC;AACnE;;;AAGG;IACoC,UAAU,GAAW,CAAC,CAAC;AAC9D;;;AAGG;IACqC,KAAK,GAAY,IAAI,CAAC;AAC9D;;;AAGG;IACqC,WAAW,GAAY,IAAI,CAAC;AACpE;;;AAGG;IACqC,aAAa,GAAY,IAAI,CAAC;AACtE;;;AAGG;IACqC,aAAa,GAAY,IAAI,CAAC;AACtE;;;AAGG;IACM,iBAAiB,GAAW,kCAAkC,CAAC;AACxE;;;AAGG;AACH,IAAA,IAAa,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAmB,CAAC;KACnC;IACD,IAAI,OAAO,CAAC,GAAY,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC1C;AACD;;;AAGG;AACH,IAAA,IAAa,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IACD,IAAI,QAAQ,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,QAAQ,KAAK;AACT,YAAA,KAAK,MAAM;AACP,gBAAA,IAAI,CAAC,gBAAgB,GAAG,8BAA8B,CAAC;gBACvD,MAAM;AACV,YAAA,KAAK,OAAO;AACR,gBAAA,IAAI,CAAC,gBAAgB,GAAG,6BAA6B,CAAC;gBACtD,MAAM;AACV,YAAA,KAAK,QAAQ;AACT,gBAAA,IAAI,CAAC,gBAAgB,GAAG,6BAA6B,CAAC;gBACtD,MAAM;AACV,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,CAAC,gBAAgB,GAAG,8BAA8B,CAAC;gBACvD,MAAM;SACb;KACJ;AACD;;;AAGG;AACH,IAAA,IAAa,UAAU,GAAA;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;IACD,IAAI,UAAU,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AAEzB,QAAA,IAAI,KAAK;AAAE,YAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;KAC7C;IACQ,IAAI,GAAyB,SAAS,CAAC;AAElB,IAAA,SAAS,CAAqC;AAC5E;;;AAGG;AACO,IAAA,MAAM,GAAsB,IAAI,YAAY,EAAO,CAAC;AAC9D;;;AAGG;AACO,IAAA,MAAM,GAAsB,IAAI,YAAY,EAAO,CAAC;AAC9D;;;;AAIG;AACO,IAAA,aAAa,GAA0B,IAAI,YAAY,EAAW,CAAC;AAE7E,IAAA,WAAW,CAAsB;AAEjC,IAAA,QAAQ,CAAsB;IAE9B,SAAS,GAAW,MAAM,CAAC;IAE3B,WAAW,GAAY,KAAK,CAAC;AAE7B,IAAA,SAAS,CAA2B;IAEpC,gBAAgB,GAAQ,8BAA8B,CAAC;AAEvD,IAAA,IAAI,CAA2B;AAE/B,IAAA,iBAAiB,CAAe;AAEhC,IAAA,sBAAsB,CAAe;AAErC,IAAA,oBAAoB,CAAe;IAE1B,eAAe,GAA4B,IAAI,CAAC;IAEhD,cAAc,GAA4B,IAAI,CAAC;IAC/C,gBAAgB,GAA4B,IAAI,CAAC;AAEjD,IAAA,cAAc,CAA6B;IAE3C,iBAAiB,GAA4B,IAAI,CAAC;AAE3D;;;AAGG;AACM,IAAA,WAAW,GAA6B,EAAE,CAAC;;IAIpD,WAC8B,CAAA,QAAkB,EACrC,EAAc,EACd,QAAmB,EACnB,EAAqB,EACrB,MAAiB,EAAA;QAJE,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QACrC,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACd,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACnB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;QACrB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;KACxB;IAEJ,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KAC3B;IAED,kBAAkB,GAAA;QACd,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,SAAS;AACV,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACrC,MAAM;AACV,gBAAA,KAAK,QAAQ;AACT,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACpC,MAAM;AACV,gBAAA,KAAK,QAAQ;AACT,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACpC,MAAM;AACV,gBAAA,KAAK,WAAW;AACZ,oBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACvC,MAAM;AACV,gBAAA,KAAK,UAAU;AACX,oBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACtC,MAAM;AAEV,gBAAA;AACI,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACrC,MAAM;aACb;AACL,SAAC,CAAC,CAAC;KACN;IAEoC,YAAY,GAAG,KAAK,CAAC;AAClC,IAAA,cAAc,CAAc;IAC5C,UAAU,GAAG,KAAK,CAAC;IAC3B,kBAAkB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACzD,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B;aAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;AACzC,YAAA,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SAC3B;KACJ;IAED,kBAAkB,GAAA;AACd,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QAExB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;AAC3D,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,aAA4B,CAAC;AACjE,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;AAClC,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;AACpC,QAAA,QAAQ,IAAI,CAAC,QAAQ;AACjB,YAAA,KAAK,MAAM;gBACP,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAG,EAAA,KAAK,IAAI,CAAC;gBACrC,MAAM;AACV,YAAA,KAAK,OAAO;gBACR,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAG,EAAA,KAAK,IAAI,CAAC;gBACtC,MAAM;AACV,YAAA,KAAK,KAAK;gBACN,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAG,EAAA,MAAM,IAAI,CAAC;gBACrC,MAAM;AACV,YAAA,KAAK,QAAQ;gBACT,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAG,EAAA,MAAM,IAAI,CAAC;gBACxC,MAAM;SACb;KACJ;IAED,cAAc,GAAA;AACV,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC3B,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;KAChC;AAED,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC1B,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AACzB,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;KACJ;IAED,IAAI,GAAA;AACA,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACzF;AAED,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjC;IAED,IAAI,CAAC,OAAgB,IAAI,EAAA;QACrB,IAAI,IAAI,EAAE;AACN,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACxB;AAED,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;KACJ;AAED,IAAA,KAAK,CAAC,KAAY,EAAA;QACd,IAAI,CAAC,IAAI,EAAE,CAAC;AACZ,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,KAAK,CAAC,cAAc,EAAE,CAAC;KAC1B;IAED,cAAc,GAAA;QACV,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;AAC5E,QAAA,MAAM,mBAAmB,GAAG,aAAa,CAAC,MAAM,CAAC;AACjD,QAAA,MAAM,MAAM,GAAG,mBAAmB,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAE,IAAI,CAAC,SAA4B,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAE,aAAa,CAAC,CAAC,CAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAEvL,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACpD,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,0FAA0F,CAAC,CAAC;AAErI,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,gBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,KAAU,KAAI;AAC7E,oBAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,wBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBACrB;AACL,iBAAC,CAAC,CAAC;aACN;AAED,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACzD,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,UAAU,CAAC,eAAe,EAAE,CAAC;aAChC;SACJ;KACJ;IAED,eAAe,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;YAC9D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7G;KACJ;IAED,YAAY,GAAA;QACR,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAE/B,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACX,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5D;AAED,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,UAAU,CAAC,iBAAiB,EAAE,CAAC;SAClC;QAED,IAAI,CAAC,0BAA0B,EAAE,CAAC;AAClC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KACpB;AAED,IAAA,gBAAgB,CAAC,KAAU,EAAA;AACvB,QAAA,QAAQ,KAAK,CAAC,OAAO;AACjB,YAAA,KAAK,SAAS;AACV,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC/B,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,EAAE,CAAC;AAEZ,gBAAA,IAAI,IAAI,CAAC,aAAa,EAAE;oBACpB,IAAI,CAAC,0BAA0B,EAAE,CAAC;iBACrC;gBACD,MAAM;SACb;KACJ;AAED,IAAA,cAAc,CAAC,KAAU,EAAA;AACrB,QAAA,QAAQ,KAAK,CAAC,OAAO;AACjB,YAAA,KAAK,MAAM;AACP,gBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjB,gBAAA,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClC,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,MAAM;SACb;KACJ;IAED,eAAe,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM;AAAE,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;;gBACvF,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9D;KACJ;IAED,0BAA0B,GAAA;QACtB,MAAM,cAAc,GAAQ,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;AAE1F,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,KAAK,KAAI;AACpF,YAAA,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE;gBACnB,IAAI,QAAQ,CAAE,IAAI,CAAC,SAA4B,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AAC/F,oBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACrB;aACJ;AACL,SAAC,CAAC,CAAC;KACN;IAED,4BAA4B,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;SACtC;KACJ;IAED,uBAAuB,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACzB,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SACjC;KACJ;IAED,qBAAqB,GAAA;QACjB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,4BAA4B,EAAE,CAAC;KACvC;IAED,0BAA0B,GAAA;QACtB,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,IAAI,EAAE;YACxC,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC5B,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SACpC;KACJ;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;YAC3C,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;AAED,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;YACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;KACJ;IACD,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE;YAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;AACjC,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACpE;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;AACnC,YAAA,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACrC;AAED,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,0BAA0B,EAAE,CAAC;KACrC;AArbQ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,OAAO,kBA8KJ,QAAQ,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA9KX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,EAiBI,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAgB,CAoBhB,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,gBAAgB,CAKhB,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,eAAe,CAKf,EAAA,KAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,gBAAgB,CAKhB,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAgB,CAKhB,EAAA,aAAA,EAAA,CAAA,eAAA,EAAA,eAAA,EAAA,gBAAgB,CAKhB,EAAA,aAAA,EAAA,CAAA,eAAA,EAAA,eAAA,EAAA,gBAAgB,CAwDnB,EAAA,iBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,EAAA,cAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAW,EC3KhC,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,28FAmEU,EDnBI,MAAA,EAAA,CAAA,0jDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,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,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,SAAS,EAAE,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAJ/D,CAAA,EAAA,UAAA,EAAA,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FASxJ,OAAO,EAAA,UAAA,EAAA,CAAA;kBAbnB,SAAS;+BACI,aAAa,EAAA,UAAA,EAGX,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAA,eAAA,EAChJ,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,UAAA,EACzB,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC,EACtE,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,aAAa;AACvB,qBAAA,EAAA,QAAA,EAAA,28FAAA,EAAA,MAAA,EAAA,CAAA,0jDAAA,CAAA,EAAA,CAAA;;0BAgLI,MAAM;2BAAC,QAAQ,CAAA;kJAvKX,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKkC,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAK7B,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAKkC,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKC,UAAU,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;gBAKG,KAAK,EAAA,CAAA;sBAA5C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKE,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKE,aAAa,EAAA,CAAA;sBAApD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKE,aAAa,EAAA,CAAA;sBAApD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAK7B,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAKO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAWO,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAyBO,UAAU,EAAA,CAAA;sBAAtB,KAAK;gBAQG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEwB,SAAS,EAAA,CAAA;sBAAtC,eAAe;uBAAC,WAAW,CAAA;gBAKlB,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAKG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAMG,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBAsBE,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAEG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAEG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAMG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBA0C+B,YAAY,EAAA,CAAA;sBAAhD,WAAW;uBAAC,sBAAsB,CAAA;gBACX,cAAc,EAAA,CAAA;sBAArC,SAAS;uBAAC,WAAW,CAAA;;;ME7Pb,aAAa,CAAA;uGAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAHZ,OAAA,EAAA,CAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,CAC1E,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,OAAO,CAAA,EAAA,CAAA,CAAA;AAEtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAHZ,OAAA,EAAA,CAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAC1E,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAEb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC;AACrF,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC;AACnC,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
@@ -3467,7 +3467,7 @@ class ColumnFilterFormElement {
3467
3467
  }
3468
3468
  }
3469
3469
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ColumnFilterFormElement, deps: [{ token: Table }, { token: ColumnFilter }], target: i0.ɵɵFactoryTarget.Component });
3470
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: ColumnFilterFormElement, isStandalone: true, selector: "cax-columnFilterFormElement", inputs: { field: "field", type: "type", filterConstraint: "filterConstraint", filterTemplate: "filterTemplate", placeholder: "placeholder", minFractionDigits: ["minFractionDigits", "minFractionDigits", (value) => numberAttribute(value, null)], maxFractionDigits: ["maxFractionDigits", "maxFractionDigits", (value) => numberAttribute(value, null)], prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: ["useGrouping", "useGrouping", booleanAttribute], ariaLabel: "ariaLabel" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<ng-container *ngIf=\"filterTemplate; else builtInElement\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n filterTemplate;\r\n context: {\r\n $implicit: filterConstraint.value,\r\n filterCallback: filterCallback,\r\n type: type,\r\n field: field,\r\n filterConstraint: filterConstraint,\r\n placeholder: placeholder,\r\n minFractionDigits: minFractionDigits,\r\n maxFractionDigits: maxFractionDigits,\r\n prefix: prefix,\r\n suffix: suffix,\r\n locale: locale,\r\n localeMatcher: localeMatcher,\r\n currency: currency,\r\n currencyDisplay: currencyDisplay,\r\n useGrouping: useGrouping,\r\n showButtons: showButtons\r\n }\r\n \"\r\n ></ng-container>\r\n</ng-container>\r\n<ng-template #builtInElement>\r\n <ng-container [ngSwitch]=\"type\">\r\n <input\r\n *ngSwitchCase=\"'text'\"\r\n type=\"text\"\r\n [ariaLabel]=\"ariaLabel\"\r\n caxInputText\r\n [value]=\"filterConstraint?.value\"\r\n (input)=\"onModelChange($event.target.value)\"\r\n (keydown.enter)=\"onTextInputEnterKeyDown($event)\"\r\n [attr.placeholder]=\"placeholder\"\r\n />\r\n <cax-inputNumber\r\n *ngSwitchCase=\"'numeric'\"\r\n [ngModel]=\"filterConstraint?.value\"\r\n (ngModelChange)=\"onModelChange($event)\"\r\n (onKeyDown)=\"onNumericInputKeyDown($event)\"\r\n [showButtons]=\"showButtons\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [ariaLabel]=\"ariaLabel\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [placeholder]=\"placeholder\"\r\n [mode]=\"currency ? 'currency' : 'decimal'\"\r\n [locale]=\"locale\"\r\n [localeMatcher]=\"localeMatcher\"\r\n [currency]=\"currency\"\r\n [currencyDisplay]=\"currencyDisplay\"\r\n [useGrouping]=\"useGrouping\"\r\n ></cax-inputNumber>\r\n <cax-triStateCheckbox [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'boolean'\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\"></cax-triStateCheckbox>\r\n <cax-calendar [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'date'\" [placeholder]=\"placeholder\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\" appendTo=\"body\"></cax-calendar>\r\n </ng-container>\r\n</ng-template>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i4.InputtextDirective, selector: "[caxInputText]", inputs: ["placeholder", "disabled", "variant"], outputs: ["valueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i6$1.Calendar, selector: "cax-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "leftIcon", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onInlineSaved", "onInlineCancelled", "onShow"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i7.InputNumber, selector: "cax-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefixIcon", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: TriStateCheckboxModule }, { kind: "component", type: i8.TriStateCheckbox, selector: "cax-triStateCheckbox", inputs: ["disabled", "name", "ariaLabel", "ariaLabelledBy", "variant", "tabindex", "inputId", "style", "styleClass", "label", "readonly", "checkboxTrueIcon", "checkboxFalseIcon", "autofocus"], outputs: ["onChange"] }], encapsulation: i0.ViewEncapsulation.None });
3470
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: ColumnFilterFormElement, isStandalone: true, selector: "cax-columnFilterFormElement", inputs: { field: "field", type: "type", filterConstraint: "filterConstraint", filterTemplate: "filterTemplate", placeholder: "placeholder", minFractionDigits: ["minFractionDigits", "minFractionDigits", (value) => numberAttribute(value, null)], maxFractionDigits: ["maxFractionDigits", "maxFractionDigits", (value) => numberAttribute(value, null)], prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: ["useGrouping", "useGrouping", booleanAttribute], ariaLabel: "ariaLabel" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<ng-container *ngIf=\"filterTemplate; else builtInElement\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n filterTemplate;\r\n context: {\r\n $implicit: filterConstraint.value,\r\n filterCallback: filterCallback,\r\n type: type,\r\n field: field,\r\n filterConstraint: filterConstraint,\r\n placeholder: placeholder,\r\n minFractionDigits: minFractionDigits,\r\n maxFractionDigits: maxFractionDigits,\r\n prefix: prefix,\r\n suffix: suffix,\r\n locale: locale,\r\n localeMatcher: localeMatcher,\r\n currency: currency,\r\n currencyDisplay: currencyDisplay,\r\n useGrouping: useGrouping,\r\n showButtons: showButtons\r\n }\r\n \"\r\n ></ng-container>\r\n</ng-container>\r\n<ng-template #builtInElement>\r\n <ng-container [ngSwitch]=\"type\">\r\n <input\r\n *ngSwitchCase=\"'text'\"\r\n type=\"text\"\r\n [ariaLabel]=\"ariaLabel\"\r\n caxInputText\r\n [value]=\"filterConstraint?.value\"\r\n (input)=\"onModelChange($event.target.value)\"\r\n (keydown.enter)=\"onTextInputEnterKeyDown($event)\"\r\n [attr.placeholder]=\"placeholder\"\r\n />\r\n <cax-inputNumber\r\n *ngSwitchCase=\"'numeric'\"\r\n [ngModel]=\"filterConstraint?.value\"\r\n (ngModelChange)=\"onModelChange($event)\"\r\n (onKeyDown)=\"onNumericInputKeyDown($event)\"\r\n [showButtons]=\"showButtons\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [ariaLabel]=\"ariaLabel\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [placeholder]=\"placeholder\"\r\n [mode]=\"currency ? 'currency' : 'decimal'\"\r\n [locale]=\"locale\"\r\n [localeMatcher]=\"localeMatcher\"\r\n [currency]=\"currency\"\r\n [currencyDisplay]=\"currencyDisplay\"\r\n [useGrouping]=\"useGrouping\"\r\n ></cax-inputNumber>\r\n <cax-triStateCheckbox [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'boolean'\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\"></cax-triStateCheckbox>\r\n <cax-calendar [ariaLabel]=\"ariaLabel\" *ngSwitchCase=\"'date'\" [placeholder]=\"placeholder\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\" appendTo=\"body\"></cax-calendar>\r\n </ng-container>\r\n</ng-template>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i4.InputtextDirective, selector: "[caxInputText]", inputs: ["placeholder", "disabled", "variant"], outputs: ["valueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i6$1.Calendar, selector: "cax-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "labelText", "timeSeparator", "leftIcon", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onInlineSaved", "onInlineCancelled", "onShow"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i7.InputNumber, selector: "cax-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefixIcon", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: TriStateCheckboxModule }, { kind: "component", type: i8.TriStateCheckbox, selector: "cax-triStateCheckbox", inputs: ["disabled", "name", "ariaLabel", "ariaLabelledBy", "variant", "tabindex", "inputId", "style", "styleClass", "label", "readonly", "checkboxTrueIcon", "checkboxFalseIcon", "autofocus"], outputs: ["onChange"] }], encapsulation: i0.ViewEncapsulation.None });
3471
3471
  }
3472
3472
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ColumnFilterFormElement, decorators: [{
3473
3473
  type: Component,
@@ -4254,7 +4254,7 @@ class ColumnFilter {
4254
4254
  this.hide();
4255
4255
  }
4256
4256
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ColumnFilter, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: Table }, { token: i0.Renderer2 }, { token: i2.caxConfig }, { token: i2.OverlayService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4257
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: ColumnFilter, isStandalone: true, selector: "cax-columnFilter", inputs: { field: "field", type: "type", disabled: "disabled", display: "display", showMenu: ["showMenu", "showMenu", booleanAttribute], matchMode: "matchMode", operator: "operator", showOperator: ["showOperator", "showOperator", booleanAttribute], showClearButton: ["showClearButton", "showClearButton", booleanAttribute], showApplyButton: ["showApplyButton", "showApplyButton", booleanAttribute], showMatchModes: ["showMatchModes", "showMatchModes", booleanAttribute], showAddButton: ["showAddButton", "showAddButton", booleanAttribute], hideOnClear: ["hideOnClear", "hideOnClear", booleanAttribute], placeholder: "placeholder", matchModeOptions: "matchModeOptions", maxConstraints: ["maxConstraints", "maxConstraints", numberAttribute], minFractionDigits: ["minFractionDigits", "minFractionDigits", (value) => numberAttribute(value, null)], maxFractionDigits: ["maxFractionDigits", "maxFractionDigits", (value) => numberAttribute(value, null)], prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: ["useGrouping", "useGrouping", booleanAttribute], showButtons: ["showButtons", "showButtons", booleanAttribute], ariaLabel: "ariaLabel" }, outputs: { onShow: "onShow", onHide: "onHide" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "icon", first: true, predicate: ["icon"], descendants: true }, { propertyName: "clearButtonViewChild", first: true, predicate: ["clearBtn"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"cax-column-filter\"\r\n [ngClass]=\"{ 'cax-column-filter-row': display === 'row' && dt.filterType === 'default', 'cax-column-filter-menu': display === 'menu' && dt.filterType === 'default', 'cax-column-filter-custom': dt.filterType === 'custom' }\"\r\n>\r\n <cax-columnFilterFormElement\r\n *ngIf=\"display === 'row' && dt.filterType === 'default'\"\r\n class=\"cax-fluid\"\r\n [type]=\"type\"\r\n [field]=\"field\"\r\n [ariaLabel]=\"ariaLabel\"\r\n [filterConstraint]=\"dt.filters[field]\"\r\n [filterTemplate]=\"filterTemplate\"\r\n [placeholder]=\"placeholder\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [locale]=\"locale\"\r\n [localeMatcher]=\"localeMatcher\"\r\n [currency]=\"currency\"\r\n [currencyDisplay]=\"currencyDisplay\"\r\n [useGrouping]=\"useGrouping\"\r\n [showButtons]=\"showButtons\"\r\n ></cax-columnFilterFormElement>\r\n <button\r\n #icon\r\n *ngIf=\"showMenuButton\"\r\n type=\"button\"\r\n class=\"cax-column-filter-menu-button cax-link\"\r\n aria-haspopup=\"true\"\r\n [attr.aria-label]=\"filterMenuButtonAriaLabel\"\r\n [attr.aria-controls]=\"overlayVisible ? overlayId : null\"\r\n [attr.aria-expanded]=\"overlayVisible ?? false\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"{ 'cax-column-filter-menu-button-open': overlayVisible, 'cax-column-filter-menu-button-active': hasFilter() }\"\r\n (click)=\"toggleMenu()\"\r\n (keydown)=\"onToggleButtonKeyDown($event)\"\r\n >\r\n <i *ngIf=\"!filterIconTemplate\" [styleClass]=\"'pi-filter-icon'\" class=\"cax cax-filter\"></i>\r\n <span class=\"pi-filter-icon\" *ngIf=\"filterIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"filterIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n <button\r\n #icon\r\n *ngIf=\"showClearButton && display === 'row' && dt.filterType === 'default'\"\r\n [ngClass]=\"{ 'cax-hidden-space': !hasRowFilter() }\"\r\n type=\"button\"\r\n class=\"cax-column-filter-clear-button cax-link\"\r\n (click)=\"clearFilter()\"\r\n [attr.aria-label]=\"clearButtonLabel\"\r\n >\r\n <FilterSlashIcon *ngIf=\"!clearFilterIconTemplate\" />\r\n <ng-template *ngTemplateOutlet=\"clearFilterIconTemplate\"></ng-template>\r\n </button>\r\n <div\r\n *ngIf=\"showMenu && overlayVisible\"\r\n [ngClass]=\"{ 'cax-column-filter-overlay cax-component cax-fluid': true, 'cax-column-filter-overlay-menu': display === 'menu' && dt.filterType === 'default' , 'cax-column-filter-overlay-custom': dt.filterType === 'custom' }\"\r\n [id]=\"overlayId\"\r\n [attr.aria-modal]=\"true\"\r\n role=\"dialog\"\r\n (click)=\"onContentClick()\"\r\n [@overlayAnimation]=\"'visible'\"\r\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\r\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\r\n (keydown.escape)=\"onEscape()\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: field }\"></ng-container>\r\n <ul *ngIf=\"display === 'row' && dt.filterType === 'default'; else menu\" class=\"cax-column-filter-row-items\">\r\n <li\r\n class=\"cax-column-filter-row-item\"\r\n *ngFor=\"let matchMode of matchModes; let i = index\"\r\n (click)=\"onRowMatchModeChange(matchMode.value)\"\r\n (keydown)=\"onRowMatchModeKeyDown($event)\"\r\n (keydown.enter)=\"this.onRowMatchModeChange(matchMode.value)\"\r\n [ngClass]=\"{ 'cax-highlight': isRowMatchModeSelected(matchMode.value) }\"\r\n [attr.tabindex]=\"i === 0 ? '0' : null\"\r\n >\r\n {{ matchMode.label }}\r\n </li>\r\n <li class=\"cax-column-filter-separator\"></li>\r\n <li class=\"cax-column-filter-row-item\" (click)=\"onRowClearItemClick()\" (keydown)=\"onRowMatchModeKeyDown($event)\" (keydown.enter)=\"onRowClearItemClick()\">{{ noFilterLabel }}</li>\r\n </ul>\r\n <ng-template #menu>\r\n <ng-container *ngIf=\"display === 'menu' && dt.filterType === 'default'; else custom\">\r\n <div class=\"cax-column-filter-operator\" *ngIf=\"isShowOperator\">\r\n <cax-dropdown [options]=\"operatorOptions\" [ngModel]=\"operator\" (ngModelChange)=\"onOperatorChange($event)\" styleClass=\"cax-column-filter-operator-dropdown\"></cax-dropdown>\r\n </div>\r\n <div class=\"cax-column-filter-constraints\">\r\n <div *ngFor=\"let fieldConstraint of fieldConstraints; let i = index\" class=\"cax-column-filter-constraint\">\r\n <cax-dropdown\r\n *ngIf=\"showMatchModes && matchModes\"\r\n [options]=\"matchModes\"\r\n [ngModel]=\"fieldConstraint.matchMode\"\r\n (ngModelChange)=\"onMenuMatchModeChange($event, fieldConstraint)\"\r\n styleClass=\"cax-column-filter-matchmode-dropdown\"\r\n ></cax-dropdown>\r\n <cax-columnFilterFormElement\r\n [type]=\"type\"\r\n [field]=\"field\"\r\n [filterConstraint]=\"fieldConstraint\"\r\n [filterTemplate]=\"filterTemplate\"\r\n [placeholder]=\"placeholder\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [locale]=\"locale\"\r\n [localeMatcher]=\"localeMatcher\"\r\n [currency]=\"currency\"\r\n [currencyDisplay]=\"currencyDisplay\"\r\n [useGrouping]=\"useGrouping\"\r\n ></cax-columnFilterFormElement>\r\n <div>\r\n <button\r\n *ngIf=\"showRemoveIcon\"\r\n type=\"button\"\r\n caxButton\r\n class=\"cax-column-filter-remove-button cax-button-text cax-button-danger cax-button-sm\"\r\n (click)=\"removeConstraint(fieldConstraint)\"\r\n pRipple\r\n [attr.aria-label]=\"removeRuleButtonLabel\"\r\n [label]=\"removeRuleButtonLabel\"\r\n >\r\n <TrashIcon *ngIf=\"!removeRuleIconTemplate\" [styleClass]=\"'cax-button-icon-left'\" />\r\n <ng-template *ngTemplateOutlet=\"removeRuleIconTemplate\"></ng-template>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"cax-column-filter-add-rule\" *ngIf=\"isShowAddConstraint\">\r\n <button type=\"button\" caxButton [label]=\"addRuleButtonLabel\" [attr.aria-label]=\"addRuleButtonLabel\" class=\"cax-column-filter-add-button cax-button-text cax-button-sm\" (click)=\"addConstraint()\" pRipple>\r\n <PlusIcon *ngIf=\"!addRuleIconTemplate\" [styleClass]=\"'cax-button-icon-left'\" />\r\n <ng-template *ngTemplateOutlet=\"addRuleIconTemplate\"></ng-template>\r\n </button>\r\n </div>\r\n <div class=\"cax-column-filter-buttonbar\" *ngIf=\"showButtons\">\r\n <button\r\n #clearBtn\r\n *ngIf=\"showClearButton\"\r\n type=\"button\"\r\n caxButton\r\n class=\"cax-button-outlined cax-button-danger cax-button-sm\"\r\n (click)=\"clearFilter()\"\r\n [attr.aria-label]=\"clearButtonLabel\"\r\n [label]=\"clearButtonLabel\"\r\n pRipple\r\n ></button>\r\n <button *ngIf=\"showApplyButton\" type=\"button\" caxButton (click)=\"applyFilter()\" class=\"cax-button-sm\" [label]=\"applyButtonLabel\" pRipple [attr.aria-label]=\"applyButtonLabel\"></button>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #custom>\r\n <div class=\"cax-column-filter-custom-container\">\r\n <div>\r\n <div class=\"cax-column-filter-custom-list-header\" (click)=\"toggleCustomFilterList()\">\r\n <span *ngIf=\"!selectedCustomFilter?.label?.length\">Select a condition</span>\r\n <div *ngIf=\"selectedCustomFilter\">{{ selectedCustomFilter.label }}</div>\r\n <i class=\"cax cax-alt-arrow-down\"></i>\r\n </div>\r\n <div class=\"cax-column-filter-custom-list\" *ngIf=\"customFilterListVisible\">\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of commonFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of stringFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of numberFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of dateFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"isCustomStringFilterSelected\">\r\n <cax-inputtext [(ngModel)]=\"customInputFilter\" [clearIcon]=\"false\"></cax-inputtext>\r\n </div>\r\n <div *ngIf=\"isCustomNumberFilterSelected\" style=\"display: flex; gap: 12px\">\r\n <cax-inputNumber [(ngModel)]=\"customNumberFilter1\"></cax-inputNumber>\r\n <cax-inputNumber [(ngModel)]=\"customNumberFilter2\" *ngIf=\"selectedCustomFilter.key === 'gtlt'\"></cax-inputNumber>\r\n </div>\r\n <div *ngIf=\"isCustomDateFilterSelected && selectedCustomFilter.key !== 'today'\">\r\n <cax-calendar [(ngModel)]=\"customDateFilter\" [showIcon]=\"true\" iconDisplay=\"input\"></cax-calendar>\r\n </div>\r\n <div class=\"cax-column-filter-custom-buttons\">\r\n <cax-button (click)=\"onClearCustomFilters()\" [disabled]=\"!selectedCustomFilter\" [label]=\"'Clear'\" [severity]=\"'danger'\" outlined=\"true\"></cax-button>\r\n <cax-button (click)=\"onApplyCustomFilters()\" [label]=\"'Apply'\"></cax-button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: field }\"></ng-container>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i4$1.Dropdown, selector: "cax-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "labelText", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6$2.ButtonDirective, selector: "[caxButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "link"] }, { kind: "component", type: i6$2.Button, selector: "cax-button", inputs: ["type", "iconPos", "icon", "badge", "rightIcon", "leftIcon", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: FilterSlashIcon, selector: "FilterSlashIcon" }, { kind: "component", type: PlusIcon, selector: "PlusIcon" }, { kind: "component", type: TrashIcon, selector: "TrashIcon" }, { kind: "component", type: ColumnFilterFormElement, selector: "cax-columnFilterFormElement", inputs: ["field", "type", "filterConstraint", "filterTemplate", "placeholder", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "ariaLabel"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i7$1.Divider, selector: "cax-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "component", type: i4.InputTextComponent, selector: "cax-inputtext", inputs: ["value", "placeholder", "disabled", "maxlength", "successText", "errorText", "showLabel", "leftIcon", "rightIcon", "rightIconClickable", "clearIcon", "label", "iconPath", "disabledIcon", "showIcon", "iconClass", "leftIconClass", "rightIconClass", "invalid", "required", "style", "size", "styleClass"], outputs: ["valueChange", "rightIconClick"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i7.InputNumber, selector: "cax-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefixIcon", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i6$1.Calendar, selector: "cax-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "leftIcon", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onInlineSaved", "onInlineCancelled", "onShow"] }], animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('.12s cubic-bezier(0, 0, 0.2, 1)')]), transition(':leave', [animate('.1s linear', style({ opacity: 0 }))])])], encapsulation: i0.ViewEncapsulation.None });
4257
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: ColumnFilter, isStandalone: true, selector: "cax-columnFilter", inputs: { field: "field", type: "type", disabled: "disabled", display: "display", showMenu: ["showMenu", "showMenu", booleanAttribute], matchMode: "matchMode", operator: "operator", showOperator: ["showOperator", "showOperator", booleanAttribute], showClearButton: ["showClearButton", "showClearButton", booleanAttribute], showApplyButton: ["showApplyButton", "showApplyButton", booleanAttribute], showMatchModes: ["showMatchModes", "showMatchModes", booleanAttribute], showAddButton: ["showAddButton", "showAddButton", booleanAttribute], hideOnClear: ["hideOnClear", "hideOnClear", booleanAttribute], placeholder: "placeholder", matchModeOptions: "matchModeOptions", maxConstraints: ["maxConstraints", "maxConstraints", numberAttribute], minFractionDigits: ["minFractionDigits", "minFractionDigits", (value) => numberAttribute(value, null)], maxFractionDigits: ["maxFractionDigits", "maxFractionDigits", (value) => numberAttribute(value, null)], prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: ["useGrouping", "useGrouping", booleanAttribute], showButtons: ["showButtons", "showButtons", booleanAttribute], ariaLabel: "ariaLabel" }, outputs: { onShow: "onShow", onHide: "onHide" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "icon", first: true, predicate: ["icon"], descendants: true }, { propertyName: "clearButtonViewChild", first: true, predicate: ["clearBtn"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"cax-column-filter\"\r\n [ngClass]=\"{ 'cax-column-filter-row': display === 'row' && dt.filterType === 'default', 'cax-column-filter-menu': display === 'menu' && dt.filterType === 'default', 'cax-column-filter-custom': dt.filterType === 'custom' }\"\r\n>\r\n <cax-columnFilterFormElement\r\n *ngIf=\"display === 'row' && dt.filterType === 'default'\"\r\n class=\"cax-fluid\"\r\n [type]=\"type\"\r\n [field]=\"field\"\r\n [ariaLabel]=\"ariaLabel\"\r\n [filterConstraint]=\"dt.filters[field]\"\r\n [filterTemplate]=\"filterTemplate\"\r\n [placeholder]=\"placeholder\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [locale]=\"locale\"\r\n [localeMatcher]=\"localeMatcher\"\r\n [currency]=\"currency\"\r\n [currencyDisplay]=\"currencyDisplay\"\r\n [useGrouping]=\"useGrouping\"\r\n [showButtons]=\"showButtons\"\r\n ></cax-columnFilterFormElement>\r\n <button\r\n #icon\r\n *ngIf=\"showMenuButton\"\r\n type=\"button\"\r\n class=\"cax-column-filter-menu-button cax-link\"\r\n aria-haspopup=\"true\"\r\n [attr.aria-label]=\"filterMenuButtonAriaLabel\"\r\n [attr.aria-controls]=\"overlayVisible ? overlayId : null\"\r\n [attr.aria-expanded]=\"overlayVisible ?? false\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"{ 'cax-column-filter-menu-button-open': overlayVisible, 'cax-column-filter-menu-button-active': hasFilter() }\"\r\n (click)=\"toggleMenu()\"\r\n (keydown)=\"onToggleButtonKeyDown($event)\"\r\n >\r\n <i *ngIf=\"!filterIconTemplate\" [styleClass]=\"'pi-filter-icon'\" class=\"cax cax-filter\"></i>\r\n <span class=\"pi-filter-icon\" *ngIf=\"filterIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"filterIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n <button\r\n #icon\r\n *ngIf=\"showClearButton && display === 'row' && dt.filterType === 'default'\"\r\n [ngClass]=\"{ 'cax-hidden-space': !hasRowFilter() }\"\r\n type=\"button\"\r\n class=\"cax-column-filter-clear-button cax-link\"\r\n (click)=\"clearFilter()\"\r\n [attr.aria-label]=\"clearButtonLabel\"\r\n >\r\n <FilterSlashIcon *ngIf=\"!clearFilterIconTemplate\" />\r\n <ng-template *ngTemplateOutlet=\"clearFilterIconTemplate\"></ng-template>\r\n </button>\r\n <div\r\n *ngIf=\"showMenu && overlayVisible\"\r\n [ngClass]=\"{ 'cax-column-filter-overlay cax-component cax-fluid': true, 'cax-column-filter-overlay-menu': display === 'menu' && dt.filterType === 'default' , 'cax-column-filter-overlay-custom': dt.filterType === 'custom' }\"\r\n [id]=\"overlayId\"\r\n [attr.aria-modal]=\"true\"\r\n role=\"dialog\"\r\n (click)=\"onContentClick()\"\r\n [@overlayAnimation]=\"'visible'\"\r\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\r\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\r\n (keydown.escape)=\"onEscape()\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: field }\"></ng-container>\r\n <ul *ngIf=\"display === 'row' && dt.filterType === 'default'; else menu\" class=\"cax-column-filter-row-items\">\r\n <li\r\n class=\"cax-column-filter-row-item\"\r\n *ngFor=\"let matchMode of matchModes; let i = index\"\r\n (click)=\"onRowMatchModeChange(matchMode.value)\"\r\n (keydown)=\"onRowMatchModeKeyDown($event)\"\r\n (keydown.enter)=\"this.onRowMatchModeChange(matchMode.value)\"\r\n [ngClass]=\"{ 'cax-highlight': isRowMatchModeSelected(matchMode.value) }\"\r\n [attr.tabindex]=\"i === 0 ? '0' : null\"\r\n >\r\n {{ matchMode.label }}\r\n </li>\r\n <li class=\"cax-column-filter-separator\"></li>\r\n <li class=\"cax-column-filter-row-item\" (click)=\"onRowClearItemClick()\" (keydown)=\"onRowMatchModeKeyDown($event)\" (keydown.enter)=\"onRowClearItemClick()\">{{ noFilterLabel }}</li>\r\n </ul>\r\n <ng-template #menu>\r\n <ng-container *ngIf=\"display === 'menu' && dt.filterType === 'default'; else custom\">\r\n <div class=\"cax-column-filter-operator\" *ngIf=\"isShowOperator\">\r\n <cax-dropdown [options]=\"operatorOptions\" [ngModel]=\"operator\" (ngModelChange)=\"onOperatorChange($event)\" styleClass=\"cax-column-filter-operator-dropdown\"></cax-dropdown>\r\n </div>\r\n <div class=\"cax-column-filter-constraints\">\r\n <div *ngFor=\"let fieldConstraint of fieldConstraints; let i = index\" class=\"cax-column-filter-constraint\">\r\n <cax-dropdown\r\n *ngIf=\"showMatchModes && matchModes\"\r\n [options]=\"matchModes\"\r\n [ngModel]=\"fieldConstraint.matchMode\"\r\n (ngModelChange)=\"onMenuMatchModeChange($event, fieldConstraint)\"\r\n styleClass=\"cax-column-filter-matchmode-dropdown\"\r\n ></cax-dropdown>\r\n <cax-columnFilterFormElement\r\n [type]=\"type\"\r\n [field]=\"field\"\r\n [filterConstraint]=\"fieldConstraint\"\r\n [filterTemplate]=\"filterTemplate\"\r\n [placeholder]=\"placeholder\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [locale]=\"locale\"\r\n [localeMatcher]=\"localeMatcher\"\r\n [currency]=\"currency\"\r\n [currencyDisplay]=\"currencyDisplay\"\r\n [useGrouping]=\"useGrouping\"\r\n ></cax-columnFilterFormElement>\r\n <div>\r\n <button\r\n *ngIf=\"showRemoveIcon\"\r\n type=\"button\"\r\n caxButton\r\n class=\"cax-column-filter-remove-button cax-button-text cax-button-danger cax-button-sm\"\r\n (click)=\"removeConstraint(fieldConstraint)\"\r\n pRipple\r\n [attr.aria-label]=\"removeRuleButtonLabel\"\r\n [label]=\"removeRuleButtonLabel\"\r\n >\r\n <TrashIcon *ngIf=\"!removeRuleIconTemplate\" [styleClass]=\"'cax-button-icon-left'\" />\r\n <ng-template *ngTemplateOutlet=\"removeRuleIconTemplate\"></ng-template>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"cax-column-filter-add-rule\" *ngIf=\"isShowAddConstraint\">\r\n <button type=\"button\" caxButton [label]=\"addRuleButtonLabel\" [attr.aria-label]=\"addRuleButtonLabel\" class=\"cax-column-filter-add-button cax-button-text cax-button-sm\" (click)=\"addConstraint()\" pRipple>\r\n <PlusIcon *ngIf=\"!addRuleIconTemplate\" [styleClass]=\"'cax-button-icon-left'\" />\r\n <ng-template *ngTemplateOutlet=\"addRuleIconTemplate\"></ng-template>\r\n </button>\r\n </div>\r\n <div class=\"cax-column-filter-buttonbar\" *ngIf=\"showButtons\">\r\n <button\r\n #clearBtn\r\n *ngIf=\"showClearButton\"\r\n type=\"button\"\r\n caxButton\r\n class=\"cax-button-outlined cax-button-danger cax-button-sm\"\r\n (click)=\"clearFilter()\"\r\n [attr.aria-label]=\"clearButtonLabel\"\r\n [label]=\"clearButtonLabel\"\r\n pRipple\r\n ></button>\r\n <button *ngIf=\"showApplyButton\" type=\"button\" caxButton (click)=\"applyFilter()\" class=\"cax-button-sm\" [label]=\"applyButtonLabel\" pRipple [attr.aria-label]=\"applyButtonLabel\"></button>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #custom>\r\n <div class=\"cax-column-filter-custom-container\">\r\n <div>\r\n <div class=\"cax-column-filter-custom-list-header\" (click)=\"toggleCustomFilterList()\">\r\n <span *ngIf=\"!selectedCustomFilter?.label?.length\">Select a condition</span>\r\n <div *ngIf=\"selectedCustomFilter\">{{ selectedCustomFilter.label }}</div>\r\n <i class=\"cax cax-alt-arrow-down\"></i>\r\n </div>\r\n <div class=\"cax-column-filter-custom-list\" *ngIf=\"customFilterListVisible\">\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of commonFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of stringFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of numberFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n <cax-divider [style]=\"{margin: 0}\"></cax-divider>\r\n <div class=\"cax-column-filter-custom-list-item\" *ngFor=\"let opt of dateFilterOptions\" (click)=\"selectCustomFilter(opt)\">\r\n <span>{{ opt.label }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"isCustomStringFilterSelected\">\r\n <cax-inputtext [(ngModel)]=\"customInputFilter\" [clearIcon]=\"false\"></cax-inputtext>\r\n </div>\r\n <div *ngIf=\"isCustomNumberFilterSelected\" style=\"display: flex; gap: 12px\">\r\n <cax-inputNumber [(ngModel)]=\"customNumberFilter1\"></cax-inputNumber>\r\n <cax-inputNumber [(ngModel)]=\"customNumberFilter2\" *ngIf=\"selectedCustomFilter.key === 'gtlt'\"></cax-inputNumber>\r\n </div>\r\n <div *ngIf=\"isCustomDateFilterSelected && selectedCustomFilter.key !== 'today'\">\r\n <cax-calendar [(ngModel)]=\"customDateFilter\" [showIcon]=\"true\" iconDisplay=\"input\"></cax-calendar>\r\n </div>\r\n <div class=\"cax-column-filter-custom-buttons\">\r\n <cax-button (click)=\"onClearCustomFilters()\" [disabled]=\"!selectedCustomFilter\" [label]=\"'Clear'\" [severity]=\"'danger'\" outlined=\"true\"></cax-button>\r\n <cax-button (click)=\"onApplyCustomFilters()\" [label]=\"'Apply'\"></cax-button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: field }\"></ng-container>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i4$1.Dropdown, selector: "cax-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "labelText", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6$2.ButtonDirective, selector: "[caxButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "link"] }, { kind: "component", type: i6$2.Button, selector: "cax-button", inputs: ["type", "iconPos", "icon", "badge", "rightIcon", "leftIcon", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: FilterSlashIcon, selector: "FilterSlashIcon" }, { kind: "component", type: PlusIcon, selector: "PlusIcon" }, { kind: "component", type: TrashIcon, selector: "TrashIcon" }, { kind: "component", type: ColumnFilterFormElement, selector: "cax-columnFilterFormElement", inputs: ["field", "type", "filterConstraint", "filterTemplate", "placeholder", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "ariaLabel"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i7$1.Divider, selector: "cax-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "component", type: i4.InputTextComponent, selector: "cax-inputtext", inputs: ["value", "placeholder", "disabled", "maxlength", "successText", "errorText", "showLabel", "leftIcon", "rightIcon", "rightIconClickable", "clearIcon", "label", "iconPath", "disabledIcon", "showIcon", "iconClass", "leftIconClass", "rightIconClass", "invalid", "required", "style", "size", "styleClass"], outputs: ["valueChange", "rightIconClick"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i7.InputNumber, selector: "cax-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefixIcon", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i6$1.Calendar, selector: "cax-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "labelText", "timeSeparator", "leftIcon", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onInlineSaved", "onInlineCancelled", "onShow"] }], animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('.12s cubic-bezier(0, 0, 0.2, 1)')]), transition(':leave', [animate('.1s linear', style({ opacity: 0 }))])])], encapsulation: i0.ViewEncapsulation.None });
4258
4258
  }
4259
4259
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ColumnFilter, decorators: [{
4260
4260
  type: Component,