UNPKG

@period-year-norway/ngx-bootstrap

Version:
1 lines 12.7 kB
{"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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"}