{"version":3,"file":"accordion.d.ts","sources":["accordion.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA","sourcesContent":["import { AfterContentChecked, ChangeDetectorRef, ElementRef, EventEmitter, QueryList, TemplateRef, NgZone } from '@angular/core';\nimport { NgbAccordionConfig } from './accordion-config';\n/**\n * The context for the [NgbPanelHeader](#/components/accordion/api#NgbPanelHeader) template\n *\n * @since 4.1.0\n */\nexport interface NgbPanelHeaderContext {\n /**\n * `True` if current panel is opened\n */\n opened: boolean;\n}\n/**\n * A directive that wraps an accordion panel header with any HTML markup and a toggling button\n * marked with [`NgbPanelToggle`](#/components/accordion/api#NgbPanelToggle).\n * See the [header customization demo](#/components/accordion/examples#header) for more details.\n *\n * You can also use [`NgbPanelTitle`](#/components/accordion/api#NgbPanelTitle) to customize only the panel title.\n *\n * @since 4.1.0\n */\nexport declare class NgbPanelHeader {\n templateRef: TemplateRef;\n constructor(templateRef: TemplateRef);\n}\n/**\n * A directive that wraps only the panel title with HTML markup inside.\n *\n * You can also use [`NgbPanelHeader`](#/components/accordion/api#NgbPanelHeader) to customize the full panel header.\n */\nexport declare class NgbPanelTitle {\n templateRef: TemplateRef;\n constructor(templateRef: TemplateRef);\n}\n/**\n * A directive that wraps the accordion panel content.\n */\nexport declare class NgbPanelContent {\n templateRef: TemplateRef;\n constructor(templateRef: TemplateRef);\n}\n/**\n * A directive that wraps an individual accordion panel with title and collapsible content.\n */\nexport declare class NgbPanel implements AfterContentChecked {\n /**\n * If `true`, the panel is disabled an can't be toggled.\n */\n disabled: boolean;\n /**\n * An optional id for the panel that must be unique on the page.\n *\n * If not provided, it will be auto-generated in the `ngb-panel-xxx` format.\n */\n id: string;\n isOpen: boolean;\n initClassDone: boolean;\n transitionRunning: boolean;\n /**\n * The panel title.\n *\n * You can alternatively use [`NgbPanelTitle`](#/components/accordion/api#NgbPanelTitle) to set panel title.\n */\n title: string;\n /**\n * Type of the current panel.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n type: string;\n /**\n * An optional class applied to the accordion card element that wraps both panel title and content.\n *\n * @since 5.3.0\n */\n cardClass: string;\n /**\n * An event emitted when the panel is shown, after the transition. It has no payload.\n *\n * @since 8.0.0\n */\n shown: EventEmitter;\n /**\n * An event emitted when the panel is hidden, after the transition. It has no payload.\n *\n * @since 8.0.0\n */\n hidden: EventEmitter;\n titleTpl: NgbPanelTitle;\n headerTpl: NgbPanelHeader;\n contentTpl: NgbPanelContent;\n titleTpls: QueryList;\n headerTpls: QueryList;\n contentTpls: QueryList;\n ngAfterContentChecked(): void;\n}\n/**\n * An event emitted right before toggling an accordion panel.\n */\nexport interface NgbPanelChangeEvent {\n /**\n * The id of the accordion panel being toggled.\n */\n panelId: string;\n /**\n * The next state of the panel.\n *\n * `true` if it will be opened, `false` if closed.\n */\n nextState: boolean;\n /**\n * Calling this function will prevent panel toggling.\n */\n preventDefault: () => void;\n}\n/**\n * Accordion is a collection of collapsible panels (bootstrap cards).\n *\n * It can ensure only one panel is opened at a time and allows to customize panel\n * headers.\n */\nexport declare class NgbAccordion implements AfterContentChecked {\n private _element;\n private _ngZone;\n private _changeDetector;\n panels: QueryList;\n /**\n * If `true`, accordion will be animated.\n *\n * @since 8.0.0\n */\n animation: any;\n /**\n * An array or comma separated strings of panel ids that should be opened **initially**.\n *\n * For subsequent changes use methods like `expand()`, `collapse()`, etc. and\n * the `(panelChange)` event.\n */\n activeIds: string | readonly string[];\n /**\n * If `true`, only one panel could be opened at a time.\n *\n * Opening a new panel will close others.\n */\n closeOtherPanels: boolean;\n /**\n * If `true`, panel content will be detached from DOM and not simply hidden when the panel is collapsed.\n */\n destroyOnHide: boolean;\n /**\n * Type of panels.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n type: string;\n /**\n * Event emitted right before the panel toggle happens.\n *\n * See [NgbPanelChangeEvent](#/components/accordion/api#NgbPanelChangeEvent) for payload details.\n */\n panelChange: EventEmitter;\n /**\n * An event emitted when the expanding animation is finished on the panel. The payload is the panel id.\n *\n * @since 8.0.0\n */\n shown: EventEmitter;\n /**\n * An event emitted when the collapsing animation is finished on the panel, and before the panel element is removed.\n * The payload is the panel id.\n *\n * @since 8.0.0\n */\n hidden: EventEmitter;\n constructor(config: NgbAccordionConfig, _element: ElementRef, _ngZone: NgZone, _changeDetector: ChangeDetectorRef);\n /**\n * Checks if a panel with a given id is expanded.\n */\n isExpanded(panelId: string): boolean;\n /**\n * Expands a panel with a given id.\n *\n * Has no effect if the panel is already expanded or disabled.\n */\n expand(panelId: string): void;\n /**\n * Expands all panels, if `[closeOthers]` is `false`.\n *\n * If `[closeOthers]` is `true`, it will expand the first panel, unless there is already a panel opened.\n */\n expandAll(): void;\n /**\n * Collapses a panel with the given id.\n *\n * Has no effect if the panel is already collapsed or disabled.\n */\n collapse(panelId: string): void;\n /**\n * Collapses all opened panels.\n */\n collapseAll(): void;\n /**\n * Toggles a panel with the given id.\n *\n * Has no effect if the panel is disabled.\n */\n toggle(panelId: string): void;\n ngAfterContentChecked(): void;\n private _changeOpenState;\n private _closeOthers;\n private _findPanelById;\n private _updateActiveIds;\n private _runTransitions;\n private _getPanelElement;\n}\n/**\n * A directive to put on a button that toggles panel opening and closing.\n *\n * To be used inside the [`NgbPanelHeader`](#/components/accordion/api#NgbPanelHeader)\n *\n * @since 4.1.0\n */\nexport declare class NgbPanelToggle {\n accordion: NgbAccordion;\n panel: NgbPanel;\n static ngAcceptInputType_ngbPanelToggle: NgbPanel | '';\n set ngbPanelToggle(panel: NgbPanel);\n constructor(accordion: NgbAccordion, panel: NgbPanel);\n}\n"]}