import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, Input, Output, ContentChildren, NgModule } from '@angular/core'; import { trigger, state, style, transition, animate } from '@angular/animations'; import { CommonModule } from '@angular/common'; import { PrimeTemplate, SharedModule } from 'primeng/api'; import { RippleModule } from 'primeng/ripple'; let idx = 0; class Fieldset { constructor(el) { this.el = el; this.collapsed = false; this.collapsedChange = new EventEmitter(); this.onBeforeToggle = new EventEmitter(); this.onAfterToggle = new EventEmitter(); this.transitionOptions = '400ms cubic-bezier(0.86, 0, 0.07, 1)'; this.id = `p-fieldset-${idx++}`; } ngAfterContentInit() { this.templates.forEach((item) => { switch (item.getType()) { case 'header': this.headerTemplate = item.template; break; case 'content': this.contentTemplate = item.template; break; } }); } toggle(event) { if (this.animating) { return false; } this.animating = true; this.onBeforeToggle.emit({ originalEvent: event, collapsed: this.collapsed }); if (this.collapsed) this.expand(event); else this.collapse(event); this.onAfterToggle.emit({ originalEvent: event, collapsed: this.collapsed }); event.preventDefault(); } expand(event) { this.collapsed = false; this.collapsedChange.emit(this.collapsed); } collapse(event) { this.collapsed = true; this.collapsedChange.emit(this.collapsed); } getBlockableElement() { return this.el.nativeElement.children[0]; } onToggleDone(event) { this.animating = false; } } Fieldset.decorators = [ { type: Component, args: [{ selector: 'p-fieldset', template: `
{{legend}}
`, animations: [ trigger('fieldsetContent', [ state('hidden', style({ height: '0', overflow: 'hidden' })), state('visible', style({ height: '*' })), transition('visible <=> hidden', [style({ overflow: 'hidden' }), animate('{{transitionParams}}')]), transition('void => *', animate(0)) ]) ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".p-fieldset-legend>a,.p-fieldset-legend>span{-ms-flex-align:center;-ms-flex-pack:center;align-items:center;display:-ms-flexbox;display:flex;justify-content:center}.p-fieldset-toggleable .p-fieldset-legend a{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:pointer;overflow:hidden;position:relative;user-select:none}.p-fieldset-legend-text{line-height:1}"] },] } ]; Fieldset.ctorParameters = () => [ { type: ElementRef } ]; Fieldset.propDecorators = { legend: [{ type: Input }], toggleable: [{ type: Input }], collapsed: [{ type: Input }], collapsedChange: [{ type: Output }], onBeforeToggle: [{ type: Output }], onAfterToggle: [{ type: Output }], style: [{ type: Input }], styleClass: [{ type: Input }], transitionOptions: [{ type: Input }], templates: [{ type: ContentChildren, args: [PrimeTemplate,] }] }; class FieldsetModule { } FieldsetModule.decorators = [ { type: NgModule, args: [{ imports: [CommonModule, RippleModule], exports: [Fieldset, SharedModule], declarations: [Fieldset] },] } ]; /** * Generated bundle index. Do not edit. */ export { Fieldset, FieldsetModule }; //# sourceMappingURL=primeng-fieldset.js.map