theme-lib
Version:
This is a simple example Angular Library published to npm.
153 lines • 10.3 kB
JavaScript
/**
* @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==