UNPKG

@ng-bootstrap/ng-bootstrap

Version:
1 lines 8.05 kB
{"version":3,"file":"ng-bootstrap-ng-bootstrap-collapse.mjs","sources":["../../../src/collapse/collapse-config.ts","../../../src/collapse/collapse.ts","../../../src/collapse/collapse.module.ts","../../../src/collapse/ng-bootstrap-ng-bootstrap-collapse.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { NgbConfig } from '@ng-bootstrap/ng-bootstrap/config';\n\n/**\n * A configuration service for the [NgbCollapse](#/components/collapse/api#NgbCollapse) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all collapses used in the application.\n */\n@Injectable({ providedIn: 'root' })\nexport class NgbCollapseConfig {\n\tprivate _ngbConfig = inject(NgbConfig);\n\tprivate _animation: boolean;\n\n\thorizontal = false;\n\n\tget animation(): boolean {\n\t\treturn this._animation ?? this._ngbConfig.animation;\n\t}\n\tset animation(animation: boolean) {\n\t\tthis._animation = animation;\n\t}\n}\n","import { Directive, ElementRef, EventEmitter, inject, Input, NgZone, OnInit, Output } from '@angular/core';\nimport { ngbRunTransition, ngbCollapsingTransition } from './_ngb-ngbootstrap-utilities.mjs';\nimport { NgbCollapseConfig } from './collapse-config';\n\n/**\n * A directive to provide a simple way of hiding and showing elements on the\n * page.\n */\n@Directive({\n\tselector: '[ngbCollapse]',\n\texportAs: 'ngbCollapse',\n\thost: {\n\t\t'[class.collapse-horizontal]': 'horizontal',\n\t},\n})\nexport class NgbCollapse implements OnInit {\n\tprivate _config = inject(NgbCollapseConfig);\n\tprivate _element = inject(ElementRef);\n\tprivate _zone = inject(NgZone);\n\n\t/**\n\t * If `true`, collapse will be animated.\n\t *\n\t * Animation is triggered only when clicked on triggering element\n\t * or via the `.toggle()` function\n\t *\n\t * @since 8.0.0\n\t */\n\t@Input() animation = this._config.animation;\n\n\t/**\n\t * Flag used to track if the collapse setter is invoked during initialization\n\t * or not. This distinction is made in order to avoid running the transition during initialization.\n\t */\n\tprivate _afterInit = false;\n\n\tprivate _isCollapsed = false;\n\n\t/**\n\t * If `true`, will collapse the element or show it otherwise.\n\t */\n\t@Input('ngbCollapse')\n\tset collapsed(isCollapsed: boolean) {\n\t\tif (this._isCollapsed !== isCollapsed) {\n\t\t\tthis._isCollapsed = isCollapsed;\n\t\t\tif (this._afterInit) {\n\t\t\t\tthis._runTransitionWithEvents(isCollapsed, this.animation);\n\t\t\t}\n\t\t}\n\t}\n\n\t@Output() ngbCollapseChange = new EventEmitter<boolean>();\n\n\t/**\n\t * If `true`, will collapse horizontally.\n\t *\n\t * @since 13.1.0\n\t */\n\t@Input() horizontal = this._config.horizontal;\n\n\t/**\n\t * An event emitted when the collapse element is shown, after the transition.\n\t * It has no payload.\n\t *\n\t * @since 8.0.0\n\t */\n\t@Output() shown = new EventEmitter<void>();\n\n\t/**\n\t * An event emitted when the collapse element is hidden, after the transition.\n\t * It has no payload.\n\t *\n\t * @since 8.0.0\n\t */\n\t@Output() hidden = new EventEmitter<void>();\n\n\tngOnInit() {\n\t\tthis._runTransition(this._isCollapsed, false);\n\t\tthis._afterInit = true;\n\t}\n\n\t/**\n\t * Triggers collapsing programmatically.\n\t *\n\t * If there is a collapsing transition running already, it will be reversed.\n\t * If the animations are turned off this happens synchronously.\n\t *\n\t * @since 8.0.0\n\t */\n\ttoggle(open: boolean = this._isCollapsed) {\n\t\tthis.collapsed = !open;\n\t\tthis.ngbCollapseChange.next(this._isCollapsed);\n\t}\n\n\tprivate _runTransition(collapsed: boolean, animation: boolean) {\n\t\treturn ngbRunTransition(this._zone, this._element.nativeElement, ngbCollapsingTransition, {\n\t\t\tanimation,\n\t\t\trunningTransition: 'stop',\n\t\t\tcontext: { direction: collapsed ? 'hide' : 'show', dimension: this.horizontal ? 'width' : 'height' },\n\t\t});\n\t}\n\n\tprivate _runTransitionWithEvents(collapsed: boolean, animation: boolean) {\n\t\tthis._runTransition(collapsed, animation).subscribe(() => {\n\t\t\tif (collapsed) {\n\t\t\t\tthis.hidden.emit();\n\t\t\t} else {\n\t\t\t\tthis.shown.emit();\n\t\t\t}\n\t\t});\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { NgbCollapse } from './collapse';\n\nexport { NgbCollapse } from './collapse';\nexport { NgbCollapseConfig } from './collapse-config';\n\n@NgModule({\n\timports: [NgbCollapse],\n\texports: [NgbCollapse],\n})\nexport class NgbCollapseModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}