theme-lib
Version:
This is a simple example Angular Library published to npm.
211 lines • 14.9 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, Input, HostBinding, } from '@angular/core';
import { convertToBoolProperty } from '../helpers';
/*
* Action item, display a link with an icon, or any other content provided instead.
*/
export class NbActionComponent {
constructor() {
this.disabledValue = false;
}
/*
* Disables the item (changes item opacity and mouse cursor)
* @type boolean
*/
/**
* @param {?} val
* @return {?}
*/
set disabled(val) {
this.disabledValue = convertToBoolProperty(val);
}
}
NbActionComponent.decorators = [
{ type: Component, args: [{
selector: 'nb-action',
template: `
<a class="icon-container" href="#" *ngIf="icon; else showContent" (click)="$event.preventDefault()">
<i class="control-icon {{ icon }}"></i>
</a>
<ng-template #showContent>
<ng-content></ng-content>
</ng-template>
<nb-badge *ngIf="badgeText" [text]="badgeText" [status]="badgeStatus" [position]="badgePosition"></nb-badge>
`
}] }
];
NbActionComponent.propDecorators = {
disabledValue: [{ type: HostBinding, args: ['class.disabled',] }],
icon: [{ type: Input }],
disabled: [{ type: Input }],
badgeText: [{ type: Input }],
badgeStatus: [{ type: Input }],
badgePosition: [{ type: Input }]
};
if (false) {
/** @type {?} */
NbActionComponent.prototype.disabledValue;
/** @type {?} */
NbActionComponent.prototype.icon;
/** @type {?} */
NbActionComponent.prototype.badgeText;
/** @type {?} */
NbActionComponent.prototype.badgeStatus;
/** @type {?} */
NbActionComponent.prototype.badgePosition;
}
/*
* Shows a horizontal list of actions, available in multiple sizes.
* Aligns items vertically.
*
* @stacked-example(Showcase, action/action-showcase.component)
*
* Basic actions setup:
* ```html
* <nb-actions size="small">
* <nb-action icon="nb-search"></nb-action>
* <nb-action icon="nb-power-circled"></nb-action>
* <nb-action icon="nb-person"></nb-action>
* </nb-actions>
* ```
* ### Installation
*
* Import `NbActionsModule` to your feature module.
* ```ts
* @NgModule({
* imports: [
* // ...
* NbActionsModule,
* ],
* })
* export class PageModule { }
* ```
* ### Usage
*
* Multiple sizes example:
* @stacked-example(Multiple Sizes, action/action-sizes.component)
*
* It is also possible to specify a `badge` value:
*
* @stacked-example(Action Badge, action/action-badge.component)
*
* and we can set it to full a width of a parent component
* @stacked-example(Full Width, action/action-width.component)
*
* @styles
*
* actions-font-size:
* actions-font-family:
* actions-line-height:
* actions-fg:
* actions-bg:
* actions-separator:
* actions-padding:
* actions-size-small:
* actions-size-medium:
* actions-size-large:
*/
export class NbActionsComponent {
constructor() {
this.fullWidthValue = false;
}
/**
* @return {?}
*/
get small() {
return this.sizeValue === NbActionsComponent.SIZE_SMALL;
}
/**
* @return {?}
*/
get medium() {
return this.sizeValue === NbActionsComponent.SIZE_MEDIUM;
}
/**
* @return {?}
*/
get large() {
return this.sizeValue === NbActionsComponent.SIZE_LARGE;
}
/*
* Size of the component, small|medium|large
* @type string
*/
/**
* @param {?} val
* @return {?}
*/
set size(val) {
this.sizeValue = val;
}
/*
* Makes colors inverse based on current theme
* @type boolean
*/
/**
* @param {?} val
* @return {?}
*/
set inverse(val) {
this.inverseValue = convertToBoolProperty(val);
}
/*
* Component will fill full width of the container
* @type boolean
*/
/**
* @param {?} val
* @return {?}
*/
set fullWidth(val) {
this.fullWidthValue = convertToBoolProperty(val);
}
}
NbActionsComponent.SIZE_SMALL = 'small';
NbActionsComponent.SIZE_MEDIUM = 'medium';
NbActionsComponent.SIZE_LARGE = 'large';
NbActionsComponent.decorators = [
{ type: Component, args: [{
selector: 'nb-actions',
template: `
<ng-content select="nb-action"></ng-content>
`,
styles: [":host{display:flex;align-items:center}:host /deep/ nb-action{display:flex;flex-wrap:wrap;align-items:center;position:relative}:host /deep/ nb-action i.control-icon:hover{cursor:pointer}:host /deep/ nb-action.disabled{cursor:not-allowed}:host /deep/ nb-action.disabled>*{opacity:.5}:host /deep/ nb-action.disabled a,:host /deep/ nb-action.disabled i{cursor:not-allowed!important}"]
}] }
];
NbActionsComponent.propDecorators = {
inverseValue: [{ type: HostBinding, args: ['class.inverse',] }],
small: [{ type: HostBinding, args: ['class.small',] }],
medium: [{ type: HostBinding, args: ['class.medium',] }],
large: [{ type: HostBinding, args: ['class.large',] }],
fullWidthValue: [{ type: HostBinding, args: ['class.full-width',] }],
size: [{ type: Input }],
inverse: [{ type: Input }],
fullWidth: [{ type: Input }]
};
if (false) {
/** @type {?} */
NbActionsComponent.SIZE_SMALL;
/** @type {?} */
NbActionsComponent.SIZE_MEDIUM;
/** @type {?} */
NbActionsComponent.SIZE_LARGE;
/**
* @type {?}
* @private
*/
NbActionsComponent.prototype.sizeValue;
/** @type {?} */
NbActionsComponent.prototype.inverseValue;
/** @type {?} */
NbActionsComponent.prototype.fullWidthValue;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aGVtZS1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hY3Rpb25zL2FjdGlvbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQU1BLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7QUFpQm5ELE1BQU0sT0FBTyxpQkFBaUI7SUFaOUI7UUFjaUMsa0JBQWEsR0FBWSxLQUFLLENBQUM7SUF1Q2hFLENBQUM7Ozs7Ozs7OztJQTNCQyxJQUNJLFFBQVEsQ0FBQyxHQUFZO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7O1lBN0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsUUFBUSxFQUFFOzs7Ozs7OztHQVFUO2FBQ0Y7Ozs0QkFHRSxXQUFXLFNBQUMsZ0JBQWdCO21CQU01QixLQUFLO3VCQU1MLEtBQUs7d0JBU0wsS0FBSzswQkFPTCxLQUFLOzRCQVNMLEtBQUs7Ozs7SUFyQ04sMENBQThEOztJQU05RCxpQ0FBc0I7O0lBZXRCLHNDQUEyQjs7SUFPM0Isd0NBQTZCOztJQVM3QiwwQ0FBK0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBOERqQyxNQUFNLE9BQU8sa0JBQWtCO0lBUC9CO1FBaUNFLG1CQUFjLEdBQVksS0FBSyxDQUFDO0lBNEJsQyxDQUFDOzs7O0lBNUNDLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7SUFDMUQsQ0FBQzs7OztJQUVELElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7SUFDM0QsQ0FBQzs7OztJQUVELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7SUFDMUQsQ0FBQzs7Ozs7Ozs7O0lBU0QsSUFDSSxJQUFJLENBQUMsR0FBVztRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztJQUN2QixDQUFDOzs7Ozs7Ozs7SUFNRCxJQUNJLE9BQU8sQ0FBQyxHQUFZO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakQsQ0FBQzs7Ozs7Ozs7O0lBTUQsSUFDSSxTQUFTLENBQUMsR0FBWTtRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7O0FBbkRlLDZCQUFVLEdBQUcsT0FBTyxDQUFDO0FBQ3JCLDhCQUFXLEdBQUcsUUFBUSxDQUFDO0FBQ3ZCLDZCQUFVLEdBQUcsT0FBTyxDQUFDOztZQVh0QyxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBRXRCLFFBQVEsRUFBRTs7R0FFVDs7YUFDRjs7OzJCQVNFLFdBQVcsU0FBQyxlQUFlO29CQUUzQixXQUFXLFNBQUMsYUFBYTtxQkFLekIsV0FBVyxTQUFDLGNBQWM7b0JBSzFCLFdBQVcsU0FBQyxhQUFhOzZCQUt6QixXQUFXLFNBQUMsa0JBQWtCO21CQU85QixLQUFLO3NCQVNMLEtBQUs7d0JBU0wsS0FBSzs7OztJQWhETiw4QkFBcUM7O0lBQ3JDLCtCQUF1Qzs7SUFDdkMsOEJBQXFDOzs7OztJQUVyQyx1Q0FBMEI7O0lBRTFCLDBDQUFvRDs7SUFpQnBELDRDQUNnQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBBa3Zlby4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cclxuICovXHJcblxyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBIb3N0QmluZGluZyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xQcm9wZXJ0eSB9IGZyb20gJy4uL2hlbHBlcnMnO1xyXG5cclxuLypcclxuICogQWN0aW9uIGl0ZW0sIGRpc3BsYXkgYSBsaW5rIHdpdGggYW4gaWNvbiwgb3IgYW55IG90aGVyIGNvbnRlbnQgcHJvdmlkZWQgaW5zdGVhZC5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmItYWN0aW9uJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGEgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiIGhyZWY9XCIjXCIgKm5nSWY9XCJpY29uOyBlbHNlIHNob3dDb250ZW50XCIgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiY29udHJvbC1pY29uIHt7IGljb24gfX1cIj48L2k+XHJcbiAgICA8L2E+XHJcbiAgICA8bmctdGVtcGxhdGUgI3Nob3dDb250ZW50PlxyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5iLWJhZGdlICpuZ0lmPVwiYmFkZ2VUZXh0XCIgW3RleHRdPVwiYmFkZ2VUZXh0XCIgW3N0YXR1c109XCJiYWRnZVN0YXR1c1wiIFtwb3NpdGlvbl09XCJiYWRnZVBvc2l0aW9uXCI+PC9uYi1iYWRnZT5cclxuICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmJBY3Rpb25Db21wb25lbnQge1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRpc2FibGVkJykgZGlzYWJsZWRWYWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKlxyXG4gICAqIEljb24gY2xhc3MgdG8gZGlzcGxheVxyXG4gICAqIEB0eXBlIHN0cmluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGljb246IHN0cmluZztcclxuXHJcbiAgLypcclxuICAgKiBEaXNhYmxlcyB0aGUgaXRlbSAoY2hhbmdlcyBpdGVtIG9wYWNpdHkgYW5kIG1vdXNlIGN1cnNvcilcclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgZGlzYWJsZWQodmFsOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmRpc2FibGVkVmFsdWUgPSBjb252ZXJ0VG9Cb29sUHJvcGVydHkodmFsKTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICogQmFkZ2UgdGV4dCB0byBkaXNwbGF5XHJcbiAgICogQHR5cGUgc3RyaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgYmFkZ2VUZXh0OiBzdHJpbmc7XHJcblxyXG4gIC8qXHJcbiAgICogQmFkZ2Ugc3RhdHVzIChhZGRzIHNwZWNpZmljIHN0eWxlcyk6XHJcbiAgICogJ3ByaW1hcnknLCAnaW5mbycsICdzdWNjZXNzJywgJ3dhcm5pbmcnLCAnZGFuZ2VyJ1xyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWxcclxuICAgKi9cclxuICBASW5wdXQoKSBiYWRnZVN0YXR1czogc3RyaW5nO1xyXG5cclxuICAvKlxyXG4gICAqIEJhZGdlIHBvc2l0aW9uLlxyXG4gICAqIENhbiBiZSBzZXQgdG8gYW55IGNsYXNzIG9yIHRvIG9uZSBvZiBwcmVkZWZpbmVkIHBvc2l0aW9uczpcclxuICAgKiAndG9wIGxlZnQnLCAndG9wIHJpZ2h0JywgJ2JvdHRvbSBsZWZ0JywgJ2JvdHRvbSByaWdodCcsXHJcbiAgICogJ3RvcCBzdGFydCcsICd0b3AgZW5kJywgJ2JvdHRvbSBzdGFydCcsICdib3R0b20gZW5kJ1xyXG4gICAqIEB0eXBlIHN0cmluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGJhZGdlUG9zaXRpb246IHN0cmluZztcclxuXHJcbn1cclxuXHJcbi8qXHJcbiAqIFNob3dzIGEgaG9yaXpvbnRhbCBsaXN0IG9mIGFjdGlvbnMsIGF2YWlsYWJsZSBpbiBtdWx0aXBsZSBzaXplcy5cclxuICogQWxpZ25zIGl0ZW1zIHZlcnRpY2FsbHkuXHJcbiAqXHJcbiAqIEBzdGFja2VkLWV4YW1wbGUoU2hvd2Nhc2UsIGFjdGlvbi9hY3Rpb24tc2hvd2Nhc2UuY29tcG9uZW50KVxyXG4gKlxyXG4gKiBCYXNpYyBhY3Rpb25zIHNldHVwOlxyXG4gKiBgYGBodG1sXHJcbiAqIDxuYi1hY3Rpb25zIHNpemU9XCJzbWFsbFwiPlxyXG4gKiAgIDxuYi1hY3Rpb24gaWNvbj1cIm5iLXNlYXJjaFwiPjwvbmItYWN0aW9uPlxyXG4gKiAgIDxuYi1hY3Rpb24gaWNvbj1cIm5iLXBvd2VyLWNpcmNsZWRcIj48L25iLWFjdGlvbj5cclxuICogICA8bmItYWN0aW9uIGljb249XCJuYi1wZXJzb25cIj48L25iLWFjdGlvbj5cclxuICogPC9uYi1hY3Rpb25zPlxyXG4gKiBgYGBcclxuICogIyMjIEluc3RhbGxhdGlvblxyXG4gKlxyXG4gKiBJbXBvcnQgYE5iQWN0aW9uc01vZHVsZWAgdG8geW91ciBmZWF0dXJlIG1vZHVsZS5cclxuICogYGBgdHNcclxuICogQE5nTW9kdWxlKHtcclxuICogICBpbXBvcnRzOiBbXHJcbiAqICAgXHQvLyAuLi5cclxuICogICAgIE5iQWN0aW9uc01vZHVsZSxcclxuICogICBdLFxyXG4gKiB9KVxyXG4gKiBleHBvcnQgY2xhc3MgUGFnZU1vZHVsZSB7IH1cclxuICogYGBgXHJcbiAqICMjIyBVc2FnZVxyXG4gKlxyXG4gKiBNdWx0aXBsZSBzaXplcyBleGFtcGxlOlxyXG4gKiBAc3RhY2tlZC1leGFtcGxlKE11bHRpcGxlIFNpemVzLCBhY3Rpb24vYWN0aW9uLXNpemVzLmNvbXBvbmVudClcclxuICpcclxuICogSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBzcGVjaWZ5IGEgYGJhZGdlYCB2YWx1ZTpcclxuICpcclxuICogQHN0YWNrZWQtZXhhbXBsZShBY3Rpb24gQmFkZ2UsIGFjdGlvbi9hY3Rpb24tYmFkZ2UuY29tcG9uZW50KVxyXG4gKlxyXG4gKiBhbmQgd2UgY2FuIHNldCBpdCB0byBmdWxsIGEgd2lkdGggb2YgYSBwYXJlbnQgY29tcG9uZW50XHJcbiAqIEBzdGFja2VkLWV4YW1wbGUoRnVsbCBXaWR0aCwgYWN0aW9uL2FjdGlvbi13aWR0aC5jb21wb25lbnQpXHJcbiAqXHJcbiAqIEBzdHlsZXNcclxuICpcclxuICogYWN0aW9ucy1mb250LXNpemU6XHJcbiAqIGFjdGlvbnMtZm9udC1mYW1pbHk6XHJcbiAqIGFjdGlvbnMtbGluZS1oZWlnaHQ6XHJcbiAqIGFjdGlvbnMtZmc6XHJcbiAqIGFjdGlvbnMtYmc6XHJcbiAqIGFjdGlvbnMtc2VwYXJhdG9yOlxyXG4gKiBhY3Rpb25zLXBhZGRpbmc6XHJcbiAqIGFjdGlvbnMtc2l6ZS1zbWFsbDpcclxuICogYWN0aW9ucy1zaXplLW1lZGl1bTpcclxuICogYWN0aW9ucy1zaXplLWxhcmdlOlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduYi1hY3Rpb25zJyxcclxuICBzdHlsZVVybHM6IFsnLi9hY3Rpb25zLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm5iLWFjdGlvblwiPjwvbmctY29udGVudD5cclxuICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmJBY3Rpb25zQ29tcG9uZW50IHtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IFNJWkVfU01BTEwgPSAnc21hbGwnO1xyXG4gIHN0YXRpYyByZWFkb25seSBTSVpFX01FRElVTSA9ICdtZWRpdW0nO1xyXG4gIHN0YXRpYyByZWFkb25seSBTSVpFX0xBUkdFID0gJ2xhcmdlJztcclxuXHJcbiAgcHJpdmF0ZSBzaXplVmFsdWU6IHN0cmluZztcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pbnZlcnNlJykgaW52ZXJzZVZhbHVlOiBib29sZWFuO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNtYWxsJylcclxuICBnZXQgc21hbGwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaXplVmFsdWUgPT09IE5iQWN0aW9uc0NvbXBvbmVudC5TSVpFX1NNQUxMO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tZWRpdW0nKVxyXG4gIGdldCBtZWRpdW0oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaXplVmFsdWUgPT09IE5iQWN0aW9uc0NvbXBvbmVudC5TSVpFX01FRElVTTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MubGFyZ2UnKVxyXG4gIGdldCBsYXJnZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnNpemVWYWx1ZSA9PT0gTmJBY3Rpb25zQ29tcG9uZW50LlNJWkVfTEFSR0U7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZ1bGwtd2lkdGgnKVxyXG4gIGZ1bGxXaWR0aFZhbHVlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qXHJcbiAgICogU2l6ZSBvZiB0aGUgY29tcG9uZW50LCBzbWFsbHxtZWRpdW18bGFyZ2VcclxuICAgKiBAdHlwZSBzdHJpbmdcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBzaXplKHZhbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNpemVWYWx1ZSA9IHZhbDtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICogTWFrZXMgY29sb3JzIGludmVyc2UgYmFzZWQgb24gY3VycmVudCB0aGVtZVxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBpbnZlcnNlKHZhbDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5pbnZlcnNlVmFsdWUgPSBjb252ZXJ0VG9Cb29sUHJvcGVydHkodmFsKTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICogQ29tcG9uZW50IHdpbGwgZmlsbCBmdWxsIHdpZHRoIG9mIHRoZSBjb250YWluZXJcclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgZnVsbFdpZHRoKHZhbDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5mdWxsV2lkdGhWYWx1ZSA9IGNvbnZlcnRUb0Jvb2xQcm9wZXJ0eSh2YWwpO1xyXG4gIH1cclxufVxyXG4iXX0=