UNPKG

3.18 kBSource Map (JSON)View Raw
1{"version":3,"file":"accordion.component.js","sourceRoot":"","sources":["../../src/accordion/accordion.component.ts"],"names":[],"mappings":"OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe;OAEzC,EAAE,eAAe,EAAE,MAAM,oBAAoB;AAEpD,mGAAmG;AAEnG;IAME,4BAAmB,MAAuB;QAFhC,WAAM,GAA8B,EAAE,CAAC;QAG/C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEM,6CAAgB,GAAvB,UAAwB,SAAkC;QACxD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,KAA8B;YACjD,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;gBACxB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,qCAAQ,GAAf,UAAgB,KAA8B;QAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAEM,wCAAW,GAAlB,UAAmB,KAA8B;QAC/C,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACI,6BAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;oBACxB,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,2BAA2B;oBACrC,2BAA2B;oBAC3B,IAAI,EAAE;wBACJ,qBAAqB,EAAE,MAAM;wBAC7B,6BAA6B,EAAC,aAAa;wBAC3C,IAAI,EAAE,SAAS;qBAChB;iBACF,EAAG,EAAE;KACL,CAAC;IACF,kBAAkB;IACX,iCAAc,GAAmE,cAAM,OAAA;QAC9F,EAAC,IAAI,EAAE,eAAe,GAAG;KACxB,EAF6F,CAE7F,CAAC;IACK,iCAAc,GAA2C;QAChE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;KAChC,CAAC;IACF,yBAAC;AAAD,CAAC,AAnDD,IAmDC","sourcesContent":["import { Component, Input } from '@angular/core';\nimport { AccordionPanelComponent } from './accordion-group.component';\nimport { AccordionConfig } from './accordion.config';\n\n/** Displays collapsible content panels for presenting information in a limited amount of space. */\n\nexport class AccordionComponent {\n /** if `true` expanding one item will close all others */\n public closeOthers: boolean;\n\n protected groups: AccordionPanelComponent[] = [];\n\n public constructor(config: AccordionConfig) {\n Object.assign(this, config);\n }\n\n public closeOtherPanels(openGroup: AccordionPanelComponent): void {\n if (!this.closeOthers) {\n return;\n }\n\n this.groups.forEach((group: AccordionPanelComponent) => {\n if (group !== openGroup) {\n group.isOpen = false;\n }\n });\n }\n\n public addGroup(group: AccordionPanelComponent): void {\n this.groups.push(group);\n }\n\n public removeGroup(group: AccordionPanelComponent): void {\n let index = this.groups.indexOf(group);\n if (index !== -1) {\n this.groups.splice(index, 1);\n }\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Component, args: [{\n selector: 'accordion',\n template: `<ng-content></ng-content>`,\n // tslint:disable-next-line\n host: {\n '[class.panel-group]': 'true',\n '[attr.aria-multiselectable]':'closeOthers',\n role: 'tablist'\n }\n}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: AccordionConfig, },\n];\nstatic propDecorators: {[key: string]: DecoratorInvocation[]} = {\n'closeOthers': [{ type: Input },],\n};\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
\No newline at end of file