angular2-collapsible
Version:
Angular collapsible component styled with Materialize CSS.
99 lines (95 loc) • 7.25 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/collapsible-list/collapsible-list.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, ContentChildren } from '@angular/core';
import { CollapsibleListItemComponent } from '../collapsible-list-item/collapsible-list-item.component';
import { CollapsibleService } from '../services/collapsible.service';
export class CollapsibleListComponent {
/**
* @param {?} collapsibleService
*/
constructor(collapsibleService) {
this.collapsibleService = collapsibleService;
// component options
//
// describes the type of the collapsible list: 'accordion' or 'expandable'
this.type = 'accordion';
}
/**
* @return {?}
*/
ngOnInit() {
this.collapsibleService.setType(this.type);
}
/**
* @param {?} changes
* @return {?}
*/
ngOnChanges(changes) {
for (const change in changes) {
if (change === 'type') {
this.type = changes.type.currentValue;
this.collapsibleService.setType(this.type);
}
}
}
}
CollapsibleListComponent.decorators = [
{ type: Component, args: [{
selector: 'collapsible-list',
template: `<ng-content select="collapsible-list-item"></ng-content>`,
providers: [CollapsibleService],
styles: [`
:host {
display: block;
margin: 0.5rem 0 1rem 0;
border-top: 1px solid #ddd;
border-right: 1px solid #ddd;
border-left: 1px solid #ddd;
box-shadow:
0 2px 2px 0 rgba(0, 0, 0, 0.14),
0 1px 5px 0 rgba(0, 0, 0, 0.12),
0 3px 1px -2px rgba(0, 0, 0, 0.2);
}
.side-nav :host,
.side-nav.fixed :host {
border: none;
box-shadow: none;
}
:host(.popout) {
border: none;
box-shadow: none;
}
:host(.popout) > li {
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
margin: 0 24px;
transition: margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.side-nav :host {
margin: 0;
}
`]
}] }
];
/** @nocollapse */
CollapsibleListComponent.ctorParameters = () => [
{ type: CollapsibleService }
];
CollapsibleListComponent.propDecorators = {
type: [{ type: Input }],
contentListItems: [{ type: ContentChildren, args: [CollapsibleListItemComponent,] }]
};
if (false) {
/** @type {?} */
CollapsibleListComponent.prototype.type;
/** @type {?} */
CollapsibleListComponent.prototype.contentListItems;
/**
* @type {?}
* @private
*/
CollapsibleListComponent.prototype.collapsibleService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyMi1jb2xsYXBzaWJsZS8iLCJzb3VyY2VzIjpbImxpYi9jb2xsYXBzaWJsZS1saXN0L2NvbGxhcHNpYmxlLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsZUFBZSxFQUNoQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUV4RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQXlDckUsTUFBTSxPQUFPLHdCQUF3Qjs7OztJQVFuQyxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjs7OztRQUpqRCxTQUFJLEdBQStCLFdBQVcsQ0FBQztJQUlNLENBQUM7Ozs7SUFFL0QsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO1lBQzVCLElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRTtnQkFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDdEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDNUM7U0FDRjtJQUNILENBQUM7OztZQTVERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFLDBEQUEwRDtnQkFtQ3BFLFNBQVMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO3lCQWxDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDUjthQUVGOzs7O1lBeENRLGtCQUFrQjs7O21CQTZDeEIsS0FBSzsrQkFFTCxlQUFlLFNBQUMsNEJBQTRCOzs7O0lBRjdDLHdDQUF3RDs7SUFFeEQsb0RBQXFHOzs7OztJQUV6RixzREFBOEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyxcclxuICBJbnB1dCxcclxuICBDb250ZW50Q2hpbGRyZW5cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbGxhcHNpYmxlTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9jb2xsYXBzaWJsZS1saXN0LWl0ZW0vY29sbGFwc2libGUtbGlzdC1pdGVtLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBDb2xsYXBzaWJsZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb2xsYXBzaWJsZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29sbGFwc2libGUtbGlzdCcsXHJcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudCBzZWxlY3Q9XCJjb2xsYXBzaWJsZS1saXN0LWl0ZW1cIj48L25nLWNvbnRlbnQ+YCxcclxuICBzdHlsZXM6IFtgXHJcbiAgICA6aG9zdCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDAuNXJlbSAwIDFyZW0gMDtcclxuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcclxuICAgICAgYm94LXNoYWRvdzpcclxuICAgICAgICAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLFxyXG4gICAgICAgIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksXHJcbiAgICAgICAgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlLW5hdiA6aG9zdCxcclxuICAgIC5zaWRlLW5hdi5maXhlZCA6aG9zdCB7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICA6aG9zdCgucG9wb3V0KSB7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICA6aG9zdCgucG9wb3V0KSA+IGxpIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcbiAgICAgIG1hcmdpbjogMCAyNHB4O1xyXG4gICAgICB0cmFuc2l0aW9uOiBtYXJnaW4gMC4zNXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlLW5hdiA6aG9zdCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICBgXSxcclxuICBwcm92aWRlcnM6IFtDb2xsYXBzaWJsZVNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2xsYXBzaWJsZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgLy8gY29tcG9uZW50IG9wdGlvbnNcclxuICAvL1xyXG4gIC8vIGRlc2NyaWJlcyB0aGUgdHlwZSBvZiB0aGUgY29sbGFwc2libGUgbGlzdDogJ2FjY29yZGlvbicgb3IgJ2V4cGFuZGFibGUnXHJcbiAgQElucHV0KCkgdHlwZTogJ2FjY29yZGlvbicgfCAnZXhwYW5kYWJsZScgPSAnYWNjb3JkaW9uJztcclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihDb2xsYXBzaWJsZUxpc3RJdGVtQ29tcG9uZW50KSBjb250ZW50TGlzdEl0ZW1zOiBBcnJheTxDb2xsYXBzaWJsZUxpc3RJdGVtQ29tcG9uZW50PjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb2xsYXBzaWJsZVNlcnZpY2U6IENvbGxhcHNpYmxlU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb2xsYXBzaWJsZVNlcnZpY2Uuc2V0VHlwZSh0aGlzLnR5cGUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgZm9yIChjb25zdCBjaGFuZ2UgaW4gY2hhbmdlcykge1xyXG4gICAgICBpZiAoY2hhbmdlID09PSAndHlwZScpIHtcclxuICAgICAgICB0aGlzLnR5cGUgPSBjaGFuZ2VzLnR5cGUuY3VycmVudFZhbHVlO1xyXG4gICAgICAgIHRoaXMuY29sbGFwc2libGVTZXJ2aWNlLnNldFR5cGUodGhpcy50eXBlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=