UNPKG

theme-lib

Version:

This is a simple example Angular Library published to npm.

153 lines 10.3 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /* * @license * Copyright Akveo. All Rights Reserved. * Licensed under the MIT License. See License.txt in the project root for license information. */ import { Component, ChangeDetectionStrategy, Input } from '@angular/core'; import { Subject } from 'rxjs'; import { convertToBoolProperty } from '../helpers'; /* * An accordion allows to toggle the display of sections of content * * Basic example * @stacked-example(Showcase, accordion/accordion-showcase.component) * * ```ts * <nb-accordion> * <nb-accordion-item> * <nb-accordion-item-header>Product Details</nb-accordion-item-header> * <nb-accordion-item-body> * Item Content * </nb-accordion-item-body> * </nb-accordion-item> * </nb-accordion> * ``` * ### Installation * * Import `NbAccordionModule` to your feature module. * ```ts * @NgModule({ * imports: [ * // ... * NbAccordionModule, * ], * }) * export class PageModule { } * ``` * ### Usage * * With `multi` mode acordion can have multiple items expanded: * @stacked-example(Showcase, accordion/accordion-multi.component) * * `NbAccordionItemComponent` has several method, for example it is possible to trigger item click/toggle: * @stacked-example(Showcase, accordion/accordion-toggle.component) * * @styles * * accordion-padding: * accordion-separator: * accordion-header-font-family: * accordion-header-font-size: * accordion-header-font-weight: * accordion-header-fg-heading: * accordion-header-disabled-fg: * accordion-header-border-width: * accordion-header-border-type: * accordion-header-border-color: * accordion-item-bg: * accordion-item-font-size: * accordion-item-font-weight: * accordion-item-font-family: * accordion-item-fg-text: * accordion-item-shadow: */ export class NbAccordionComponent { constructor() { this.openCloseItems = new Subject(); this.multiValue = false; } /* * Allow multiple items to be expanded at the same time. * @type {boolean} */ /** * @return {?} */ get multi() { return this.multiValue; } /** * @param {?} val * @return {?} */ set multi(val) { this.multiValue = convertToBoolProperty(val); } /* * Opens all enabled accordion items. */ /** * @return {?} */ openAll() { if (this.multi) { this.openCloseItems.next(false); } } /* * Closes all enabled accordion items. */ /** * @return {?} */ closeAll() { this.openCloseItems.next(true); } } NbAccordionComponent.STATUS_ACTIVE = 'active'; NbAccordionComponent.STATUS_DISABLED = 'disabled'; NbAccordionComponent.STATUS_PRIMARY = 'primary'; NbAccordionComponent.STATUS_INFO = 'info'; NbAccordionComponent.STATUS_SUCCESS = 'success'; NbAccordionComponent.STATUS_WARNING = 'warning'; NbAccordionComponent.STATUS_DANGER = 'danger'; NbAccordionComponent.decorators = [ { type: Component, args: [{ selector: 'nb-accordion', template: ` <ng-content select="nb-accordion-item"></ng-content> `, changeDetection: ChangeDetectionStrategy.OnPush }] } ]; NbAccordionComponent.propDecorators = { multi: [{ type: Input, args: ['multi',] }] }; if (false) { /** @type {?} */ NbAccordionComponent.STATUS_ACTIVE; /** @type {?} */ NbAccordionComponent.STATUS_DISABLED; /** @type {?} */ NbAccordionComponent.STATUS_PRIMARY; /** @type {?} */ NbAccordionComponent.STATUS_INFO; /** @type {?} */ NbAccordionComponent.STATUS_SUCCESS; /** @type {?} */ NbAccordionComponent.STATUS_WARNING; /** @type {?} */ NbAccordionComponent.STATUS_DANGER; /** @type {?} */ NbAccordionComponent.prototype.openCloseItems; /** * @type {?} * @private */ NbAccordionComponent.prototype.multiValue; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3RoZW1lLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQU1BLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdFbkQsTUFBTSxPQUFPLG9CQUFvQjtJQVBqQztRQWlCRSxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFjaEMsZUFBVSxHQUFHLEtBQUssQ0FBQztJQWlCN0IsQ0FBQzs7Ozs7Ozs7SUF6QkMsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7Ozs7O0lBQ0QsSUFBSSxLQUFLLENBQUMsR0FBWTtRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7Ozs7Ozs7SUFPRCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDOzs7Ozs7O0lBS0QsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7O0FBdENlLGtDQUFhLEdBQUcsUUFBUSxDQUFDO0FBQ3pCLG9DQUFlLEdBQUcsVUFBVSxDQUFDO0FBQzdCLG1DQUFjLEdBQUcsU0FBUyxDQUFDO0FBQzNCLGdDQUFXLEdBQUcsTUFBTSxDQUFDO0FBQ3JCLG1DQUFjLEdBQUcsU0FBUyxDQUFDO0FBQzNCLG1DQUFjLEdBQUcsU0FBUyxDQUFDO0FBQzNCLGtDQUFhLEdBQUcsUUFBUSxDQUFDOztZQWYxQyxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLFFBQVEsRUFBRTs7R0FFVDtnQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDs7O29CQWlCRSxLQUFLLFNBQUMsT0FBTzs7OztJQWRkLG1DQUF5Qzs7SUFDekMscUNBQTZDOztJQUM3QyxvQ0FBMkM7O0lBQzNDLGlDQUFxQzs7SUFDckMsb0NBQTJDOztJQUMzQyxvQ0FBMkM7O0lBQzNDLG1DQUF5Qzs7SUFFekMsOENBQXdDOzs7OztJQWN4QywwQ0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgQWt2ZW8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sUHJvcGVydHkgfSBmcm9tICcuLi9oZWxwZXJzJztcclxuXHJcbi8qXHJcbiAqIEFuIGFjY29yZGlvbiBhbGxvd3MgdG8gdG9nZ2xlIHRoZSBkaXNwbGF5IG9mIHNlY3Rpb25zIG9mIGNvbnRlbnRcclxuICpcclxuICogQmFzaWMgZXhhbXBsZVxyXG4gKiBAc3RhY2tlZC1leGFtcGxlKFNob3djYXNlLCBhY2NvcmRpb24vYWNjb3JkaW9uLXNob3djYXNlLmNvbXBvbmVudClcclxuICpcclxuICogYGBgdHNcclxuICogPG5iLWFjY29yZGlvbj5cclxuICogIDxuYi1hY2NvcmRpb24taXRlbT5cclxuICogICA8bmItYWNjb3JkaW9uLWl0ZW0taGVhZGVyPlByb2R1Y3QgRGV0YWlsczwvbmItYWNjb3JkaW9uLWl0ZW0taGVhZGVyPlxyXG4gKiAgIDxuYi1hY2NvcmRpb24taXRlbS1ib2R5PlxyXG4gKiAgICAgSXRlbSBDb250ZW50XHJcbiAqICAgPC9uYi1hY2NvcmRpb24taXRlbS1ib2R5PlxyXG4gKiAgPC9uYi1hY2NvcmRpb24taXRlbT5cclxuICogPC9uYi1hY2NvcmRpb24+XHJcbiAqIGBgYFxyXG4gKiAjIyMgSW5zdGFsbGF0aW9uXHJcbiAqXHJcbiAqIEltcG9ydCBgTmJBY2NvcmRpb25Nb2R1bGVgIHRvIHlvdXIgZmVhdHVyZSBtb2R1bGUuXHJcbiAqIGBgYHRzXHJcbiAqIEBOZ01vZHVsZSh7XHJcbiAqICAgaW1wb3J0czogW1xyXG4gKiAgIFx0Ly8gLi4uXHJcbiAqICAgICBOYkFjY29yZGlvbk1vZHVsZSxcclxuICogICBdLFxyXG4gKiB9KVxyXG4gKiBleHBvcnQgY2xhc3MgUGFnZU1vZHVsZSB7IH1cclxuICogYGBgXHJcbiAqICMjIyBVc2FnZVxyXG4gKlxyXG4gKiBXaXRoIGBtdWx0aWAgbW9kZSBhY29yZGlvbiBjYW4gaGF2ZSBtdWx0aXBsZSBpdGVtcyBleHBhbmRlZDpcclxuICogQHN0YWNrZWQtZXhhbXBsZShTaG93Y2FzZSwgYWNjb3JkaW9uL2FjY29yZGlvbi1tdWx0aS5jb21wb25lbnQpXHJcbiAqXHJcbiAqIGBOYkFjY29yZGlvbkl0ZW1Db21wb25lbnRgIGhhcyBzZXZlcmFsIG1ldGhvZCwgZm9yIGV4YW1wbGUgaXQgaXMgcG9zc2libGUgdG8gdHJpZ2dlciBpdGVtIGNsaWNrL3RvZ2dsZTpcclxuICogQHN0YWNrZWQtZXhhbXBsZShTaG93Y2FzZSwgYWNjb3JkaW9uL2FjY29yZGlvbi10b2dnbGUuY29tcG9uZW50KVxyXG4gKlxyXG4gKiBAc3R5bGVzXHJcbiAqXHJcbiAqIGFjY29yZGlvbi1wYWRkaW5nOlxyXG4gKiBhY2NvcmRpb24tc2VwYXJhdG9yOlxyXG4gKiBhY2NvcmRpb24taGVhZGVyLWZvbnQtZmFtaWx5OlxyXG4gKiBhY2NvcmRpb24taGVhZGVyLWZvbnQtc2l6ZTpcclxuICogYWNjb3JkaW9uLWhlYWRlci1mb250LXdlaWdodDpcclxuICogYWNjb3JkaW9uLWhlYWRlci1mZy1oZWFkaW5nOlxyXG4gKiBhY2NvcmRpb24taGVhZGVyLWRpc2FibGVkLWZnOlxyXG4gKiBhY2NvcmRpb24taGVhZGVyLWJvcmRlci13aWR0aDpcclxuICogYWNjb3JkaW9uLWhlYWRlci1ib3JkZXItdHlwZTpcclxuICogYWNjb3JkaW9uLWhlYWRlci1ib3JkZXItY29sb3I6XHJcbiAqIGFjY29yZGlvbi1pdGVtLWJnOlxyXG4gKiBhY2NvcmRpb24taXRlbS1mb250LXNpemU6XHJcbiAqIGFjY29yZGlvbi1pdGVtLWZvbnQtd2VpZ2h0OlxyXG4gKiBhY2NvcmRpb24taXRlbS1mb250LWZhbWlseTpcclxuICogYWNjb3JkaW9uLWl0ZW0tZmctdGV4dDpcclxuICogYWNjb3JkaW9uLWl0ZW0tc2hhZG93OlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduYi1hY2NvcmRpb24nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJuYi1hY2NvcmRpb24taXRlbVwiPjwvbmctY29udGVudD5cclxuICBgLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmJBY2NvcmRpb25Db21wb25lbnQge1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgU1RBVFVTX0FDVElWRSA9ICdhY3RpdmUnO1xyXG4gIHN0YXRpYyByZWFkb25seSBTVEFUVVNfRElTQUJMRUQgPSAnZGlzYWJsZWQnO1xyXG4gIHN0YXRpYyByZWFkb25seSBTVEFUVVNfUFJJTUFSWSA9ICdwcmltYXJ5JztcclxuICBzdGF0aWMgcmVhZG9ubHkgU1RBVFVTX0lORk8gPSAnaW5mbyc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFNUQVRVU19TVUNDRVNTID0gJ3N1Y2Nlc3MnO1xyXG4gIHN0YXRpYyByZWFkb25seSBTVEFUVVNfV0FSTklORyA9ICd3YXJuaW5nJztcclxuICBzdGF0aWMgcmVhZG9ubHkgU1RBVFVTX0RBTkdFUiA9ICdkYW5nZXInO1xyXG5cclxuICBvcGVuQ2xvc2VJdGVtcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG4gIC8qXHJcbiAgICogIEFsbG93IG11bHRpcGxlIGl0ZW1zIHRvIGJlIGV4cGFuZGVkIGF0IHRoZSBzYW1lIHRpbWUuXHJcbiAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICovXHJcbiAgQElucHV0KCdtdWx0aScpXHJcbiAgZ2V0IG11bHRpKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubXVsdGlWYWx1ZTtcclxuICB9XHJcbiAgc2V0IG11bHRpKHZhbDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5tdWx0aVZhbHVlID0gY29udmVydFRvQm9vbFByb3BlcnR5KHZhbCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG11bHRpVmFsdWUgPSBmYWxzZTtcclxuXHJcbiAgLypcclxuICAgKiBPcGVucyBhbGwgZW5hYmxlZCBhY2NvcmRpb24gaXRlbXMuXHJcbiAgICovXHJcbiAgb3BlbkFsbCgpIHtcclxuICAgIGlmICh0aGlzLm11bHRpKSB7XHJcbiAgICAgIHRoaXMub3BlbkNsb3NlSXRlbXMubmV4dChmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIENsb3NlcyBhbGwgZW5hYmxlZCBhY2NvcmRpb24gaXRlbXMuXHJcbiAgICovXHJcbiAgY2xvc2VBbGwoKSB7XHJcbiAgICB0aGlzLm9wZW5DbG9zZUl0ZW1zLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==