{"version":3,"file":"period-year-norway-ngx-bootstrap-collapse.mjs","sources":["../../../../src/collapse/collapse-animations.ts","../../../../src/collapse/collapse.directive.ts","../../../../src/collapse/collapse.module.ts","../../../../src/collapse/period-year-norway-ngx-bootstrap-collapse.ts"],"sourcesContent":["import {\r\n  animate,\r\n  style,\r\n  AnimationMetadata\r\n} from '@angular/animations';\r\n\r\nexport const COLLAPSE_ANIMATION_TIMING = '400ms cubic-bezier(0.4,0.0,0.2,1)';\r\n\r\nexport const expandAnimation: AnimationMetadata[] = [\r\n  style({ height: 0, visibility: 'hidden' }),\r\n  animate(\r\n    COLLAPSE_ANIMATION_TIMING,\r\n    style({ height: '*', visibility: 'visible' })\r\n  )\r\n];\r\n\r\nexport const collapseAnimation: AnimationMetadata[] = [\r\n  style({ height: '*', visibility: 'visible' }),\r\n  animate(\r\n    COLLAPSE_ANIMATION_TIMING,\r\n    style({ height: 0, visibility: 'hidden' })\r\n  )\r\n];\r\n","import { AnimationBuilder, AnimationFactory, AnimationPlayer } from '@angular/animations';\r\n\r\nimport {\r\n  AfterViewChecked,\r\n  Directive,\r\n  ElementRef,\r\n  EventEmitter,\r\n  HostBinding,\r\n  Input,\r\n  Output,\r\n  Renderer2\r\n} from '@angular/core';\r\n\r\nimport { collapseAnimation, expandAnimation } from './collapse-animations';\r\n\r\n@Directive({\r\n  selector: '[collapse]',\r\n  exportAs: 'bs-collapse',\r\n  host: {\r\n    '[class.collapse]': 'true'\r\n  },\r\n  standalone: false\r\n})\r\nexport class CollapseDirective implements AfterViewChecked {\r\n  /** This event fires as soon as content collapses */\r\n  @Output() collapsed: EventEmitter<CollapseDirective> = new EventEmitter();\r\n  /** This event fires when collapsing is started */\r\n  @Output() collapses: EventEmitter<CollapseDirective> = new EventEmitter();\r\n  /** This event fires as soon as content becomes visible */\r\n  @Output() expanded: EventEmitter<CollapseDirective> = new EventEmitter();\r\n  /** This event fires when expansion is started */\r\n  @Output() expands: EventEmitter<CollapseDirective> = new EventEmitter();\r\n  // shown\r\n  @HostBinding('class.in')\r\n  @HostBinding('class.show')\r\n  isExpanded = true;\r\n  collapseNewValue = true;\r\n  // hidden\r\n  @HostBinding('attr.aria-hidden') isCollapsed = false;\r\n  // stale state\r\n  @HostBinding('class.collapse') isCollapse = true;\r\n  // animation state\r\n  @HostBinding('class.collapsing') isCollapsing = false;\r\n\r\n  @Input()\r\n  set display(value: string) {\r\n    this._display = value;\r\n    if (value === 'none') {\r\n      this.hide();\r\n      return;\r\n    }\r\n\r\n    this.isAnimated ? this.toggle() : this.show();\r\n  }\r\n\r\n  /** turn on/off animation */\r\n  @Input() isAnimated = false;\r\n  /** A flag indicating visibility of content (shown or hidden) */\r\n  @Input()\r\n  set collapse(value: boolean) {\r\n    this.collapseNewValue = value;\r\n    if (!this._player || this._isAnimationDone) {\r\n      this.isExpanded = value;\r\n      this.toggle();\r\n    }\r\n  }\r\n\r\n  get collapse(): boolean {\r\n    return this.isExpanded;\r\n  }\r\n\r\n  private _display = 'block';\r\n  private _isAnimationDone?: boolean;\r\n  private _player?: AnimationPlayer;\r\n  private _stylesLoaded = false;\r\n\r\n  private _COLLAPSE_ACTION_NAME = 'collapse';\r\n  private _EXPAND_ACTION_NAME = 'expand';\r\n\r\n  private readonly _factoryCollapseAnimation: AnimationFactory;\r\n  private readonly _factoryExpandAnimation: AnimationFactory;\r\n\r\n  constructor(\r\n    private _el: ElementRef,\r\n    private _renderer: Renderer2,\r\n    _builder: AnimationBuilder\r\n  ) {\r\n    this._factoryCollapseAnimation = _builder.build(collapseAnimation);\r\n    this._factoryExpandAnimation = _builder.build(expandAnimation);\r\n  }\r\n\r\n  ngAfterViewChecked(): void {\r\n    this._stylesLoaded = true;\r\n\r\n    if (!this._player || !this._isAnimationDone) {\r\n      return;\r\n    }\r\n\r\n    this._player.reset();\r\n    this._renderer.setStyle(this._el.nativeElement, 'height', '*');\r\n  }\r\n\r\n  /** allows to manually toggle content visibility */\r\n  toggle(): void {\r\n    if (this.isExpanded) {\r\n      this.hide();\r\n    } else {\r\n      this.show();\r\n    }\r\n  }\r\n\r\n  /** allows to manually hide content */\r\n  hide(): void {\r\n    this.isCollapsing = true;\r\n    this.isExpanded = false;\r\n    this.isCollapsed = true;\r\n    this.isCollapsing = false;\r\n\r\n    this.collapses.emit(this);\r\n\r\n    this._isAnimationDone = false;\r\n\r\n    this.animationRun(\r\n      this.isAnimated,\r\n      this._COLLAPSE_ACTION_NAME\r\n    )(() => {\r\n      this._isAnimationDone = true;\r\n      if (this.collapseNewValue !== this.isCollapsed && this.isAnimated) {\r\n        this.show();\r\n\r\n        return;\r\n      }\r\n      this.collapsed.emit(this);\r\n      this._renderer.setStyle(this._el.nativeElement, 'display', 'none');\r\n    });\r\n  }\r\n  /** allows to manually show collapsed content */\r\n  show(): void {\r\n    this._renderer.setStyle(this._el.nativeElement, 'display', this._display);\r\n\r\n    this.isCollapsing = true;\r\n    this.isExpanded = true;\r\n    this.isCollapsed = false;\r\n    this.isCollapsing = false;\r\n\r\n    this.expands.emit(this);\r\n\r\n    this._isAnimationDone = false;\r\n    this.animationRun(\r\n      this.isAnimated,\r\n      this._EXPAND_ACTION_NAME\r\n    )(() => {\r\n      this._isAnimationDone = true;\r\n      if (this.collapseNewValue !== this.isCollapsed && this.isAnimated) {\r\n        this.hide();\r\n\r\n        return;\r\n      }\r\n      this.expanded.emit(this);\r\n      this._renderer.removeStyle(this._el.nativeElement, 'overflow');\r\n    });\r\n  }\r\n\r\n  animationRun(isAnimated: boolean, action: string) {\r\n    if (!isAnimated || !this._stylesLoaded) {\r\n      return (callback: () => void) => callback();\r\n    }\r\n\r\n    this._renderer.setStyle(this._el.nativeElement, 'overflow', 'hidden');\r\n    this._renderer.addClass(this._el.nativeElement, 'collapse');\r\n\r\n    const factoryAnimation =\r\n      action === this._EXPAND_ACTION_NAME ? this._factoryExpandAnimation : this._factoryCollapseAnimation;\r\n\r\n    if (this._player) {\r\n      this._player.reset();\r\n    }\r\n\r\n    this._player = factoryAnimation.create(this._el.nativeElement);\r\n    this._player.play();\r\n\r\n    return (callback: () => void) => this._player?.onDone(callback);\r\n  }\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\n\r\nimport { CollapseDirective } from './collapse.directive';\r\n\r\n@NgModule({\r\n  declarations: [CollapseDirective],\r\n  exports: [CollapseDirective]\r\n})\r\nexport class CollapseModule {\r\n  static forRoot(): ModuleWithProviders<CollapseModule> {\r\n    return { ngModule: CollapseModule, providers: [] };\r\n  }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}