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