UNPKG

primeng

Version:

PrimeNG is an open source UI library for Angular featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeB

1 lines 18.3 kB
{"version":3,"file":"primeng-styleclass.mjs","sources":["../../src/styleclass/styleclass.ts","../../src/styleclass/primeng-styleclass.ts"],"sourcesContent":["import { booleanAttribute, Directive, ElementRef, HostListener, Input, NgModule, NgZone, OnDestroy, Renderer2 } from '@angular/core';\nimport { addClass, hasClass, removeClass } from '@primeuix/utils';\nimport { VoidListener } from 'primeng/ts-helpers';\n\n/**\n * StyleClass manages css classes declaratively to during enter/leave animations or just to toggle classes on an element.\n * @group Components\n */\n@Directive({\n selector: '[pStyleClass]',\n standalone: true\n})\nexport class StyleClass implements OnDestroy {\n constructor(\n public el: ElementRef,\n public renderer: Renderer2,\n private zone: NgZone\n ) {}\n /**\n * Selector to define the target element. Available selectors are '@next', '@prev', '@parent' and '@grandparent'.\n * @group Props\n */\n @Input('pStyleClass') selector: string | undefined;\n /**\n * Style class to add when item begins to get displayed.\n * @group Props\n * @deprecated Use enterFromClass instead\n */\n @Input() set enterClass(value: string) {\n this._enterClass = value;\n console.log('enterClass is deprecated, use enterFromClass instead');\n }\n get enterClass() {\n return this._enterClass;\n }\n /**\n * Style class to add when item begins to get displayed.\n * @group Props\n */\n @Input() enterFromClass: string | undefined;\n /**\n * Style class to add during enter animation.\n * @group Props\n */\n @Input() enterActiveClass: string | undefined;\n /**\n * Style class to add when item begins to get displayed.\n * @group Props\n */\n @Input() enterToClass: string | undefined;\n /**\n * Style class to add when item begins to get hidden.\n * @group Props\n * @deprecated Use leaveFromClass instead\n */\n @Input() set leaveClass(value: string) {\n this._leaveClass = value;\n console.log('leaveClass is deprecated, use leaveFromClass instead');\n }\n get leaveClass() {\n return this._leaveClass;\n }\n /**\n * Style class to add when item begins to get hidden.\n * @group Props\n */\n @Input() leaveFromClass: string | undefined;\n /**\n * Style class to add during leave animation.\n * @group Props\n */\n @Input() leaveActiveClass: string | undefined;\n /**\n * Style class to add when leave animation is completed.\n * @group Props\n */\n @Input() leaveToClass: string | undefined;\n /**\n * Whether to trigger leave animation when outside of the element is clicked.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) hideOnOutsideClick: boolean | undefined;\n /**\n * Adds or removes a class when no enter-leave animation is required.\n * @group Props\n */\n @Input() toggleClass: string | undefined;\n /**\n * Whether to trigger leave animation when escape key pressed.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) hideOnEscape: boolean | undefined;\n\n eventListener: VoidListener;\n\n documentClickListener: VoidListener;\n\n documentKeydownListener: VoidListener;\n\n target: HTMLElement | null | undefined;\n\n enterListener: VoidListener;\n\n leaveListener: VoidListener;\n\n animating: boolean | undefined;\n\n _enterClass: string | undefined;\n\n _leaveClass: string | undefined;\n\n @HostListener('click', ['$event'])\n clickListener() {\n this.target = this.resolveTarget();\n\n if (this.toggleClass) {\n this.toggle();\n } else {\n if ((this.target as HTMLElement)?.offsetParent === null) this.enter();\n else this.leave();\n }\n }\n\n toggle() {\n if (hasClass(this.target, this.toggleClass as string)) removeClass(this.target, this.toggleClass as string);\n else addClass(this.target, this.toggleClass as string);\n }\n\n enter() {\n if (this.enterActiveClass) {\n if (!this.animating) {\n this.animating = true;\n\n if (this.enterActiveClass === 'animate-slidedown') {\n (this.target as HTMLElement).style.height = '0px';\n removeClass(this.target, 'hidden');\n (this.target as HTMLElement).style.maxHeight = (this.target as HTMLElement).scrollHeight + 'px';\n addClass(this.target, 'hidden');\n (this.target as HTMLElement).style.height = '';\n }\n\n addClass(this.target, this.enterActiveClass);\n if (this.enterClass || this.enterFromClass) {\n removeClass(this.target, this.enterClass || this.enterFromClass);\n }\n\n this.enterListener = this.renderer.listen(this.target, 'animationend', () => {\n removeClass(this.target, this.enterActiveClass as string);\n if (this.enterToClass) {\n addClass(this.target, this.enterToClass);\n }\n this.enterListener && this.enterListener();\n\n if (this.enterActiveClass === 'animate-slidedown') {\n (this.target as HTMLElement).style.maxHeight = '';\n }\n this.animating = false;\n });\n }\n } else {\n if (this.enterClass || this.enterFromClass) {\n removeClass(this.target, this.enterClass || this.enterFromClass);\n }\n\n if (this.enterToClass) {\n addClass(this.target, this.enterToClass);\n }\n }\n\n if (this.hideOnOutsideClick) {\n this.bindDocumentClickListener();\n }\n\n if (this.hideOnEscape) {\n this.bindDocumentKeydownListener();\n }\n }\n\n leave() {\n if (this.leaveActiveClass) {\n if (!this.animating) {\n this.animating = true;\n addClass(this.target, this.leaveActiveClass);\n if (this.leaveClass || this.leaveFromClass) {\n removeClass(this.target, this.leaveClass || this.leaveFromClass);\n }\n\n this.leaveListener = this.renderer.listen(this.target, 'animationend', () => {\n removeClass(this.target, this.leaveActiveClass as string);\n if (this.leaveToClass) {\n addClass(this.target, this.leaveToClass);\n }\n this.leaveListener && this.leaveListener();\n this.animating = false;\n });\n }\n } else {\n if (this.leaveClass || this.leaveFromClass) {\n removeClass(this.target, this.leaveClass || this.leaveFromClass);\n }\n\n if (this.leaveToClass) {\n addClass(this.target, this.leaveToClass);\n }\n }\n\n if (this.hideOnOutsideClick) {\n this.unbindDocumentClickListener();\n }\n\n if (this.hideOnEscape) {\n this.unbindDocumentKeydownListener();\n }\n }\n\n resolveTarget() {\n if (this.target) {\n return this.target;\n }\n\n switch (this.selector) {\n case '@next':\n return this.el.nativeElement.nextElementSibling;\n\n case '@prev':\n return this.el.nativeElement.previousElementSibling;\n\n case '@parent':\n return this.el.nativeElement.parentElement;\n\n case '@grandparent':\n return this.el.nativeElement.parentElement.parentElement;\n\n default:\n return document.querySelector(this.selector as string);\n }\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n this.documentClickListener = this.renderer.listen(this.el.nativeElement.ownerDocument, 'click', (event) => {\n if (!this.isVisible() || getComputedStyle(this.target as HTMLElement).getPropertyValue('position') === 'static') this.unbindDocumentClickListener();\n else if (this.isOutsideClick(event)) this.leave();\n });\n }\n }\n\n bindDocumentKeydownListener() {\n if (!this.documentKeydownListener) {\n this.zone.runOutsideAngular(() => {\n this.documentKeydownListener = this.renderer.listen(this.el.nativeElement.ownerDocument, 'keydown', (event) => {\n const { key, keyCode, which, type } = event;\n if (!this.isVisible() || getComputedStyle(this.target as HTMLElement).getPropertyValue('position') === 'static') this.unbindDocumentKeydownListener();\n if (this.isVisible() && key === 'Escape' && keyCode === 27 && which === 27) this.leave();\n });\n });\n }\n }\n\n isVisible() {\n return (this.target as HTMLElement).offsetParent !== null;\n }\n\n isOutsideClick(event: MouseEvent) {\n return !this.el.nativeElement.isSameNode(event.target) && !this.el.nativeElement.contains(event.target) && !(this.target as HTMLElement).contains(<HTMLElement>event.target);\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n unbindDocumentKeydownListener() {\n if (this.documentKeydownListener) {\n this.documentKeydownListener();\n this.documentKeydownListener = null;\n }\n }\n\n ngOnDestroy() {\n this.target = null;\n if (this.eventListener) {\n this.eventListener();\n }\n this.unbindDocumentClickListener();\n this.unbindDocumentKeydownListener();\n }\n}\n\n@NgModule({\n imports: [StyleClass],\n exports: [StyleClass]\n})\nexport class StyleClassModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}