UNPKG

theme-lib

Version:

This is a simple example Angular Library published to npm.

161 lines 11.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 { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core'; import { convertToBoolProperty } from '../helpers'; /* * The `NbRadioComponent` provides the same functionality as native `<input type="radio">` * with Nebular styles and animations. * * @stacked-example(Showcase, radio/radio-showcase.component) * * ### Installation * * Import `NbRadioModule` to your feature module. * * ```ts * @NgModule({ * imports: [ * // ... * NbRadioModule, * ], * }) * export class PageModule { } * ``` * * ### Usage * * Radio buttons should be wrapped in `nb-radio-group` to provide form bindings. * * ```html * <nb-radio-group [(ngModel)]="selectedOption"> * <nb-radio>Option 1</nb-radio> * <nb-radio>Option 2</nb-radio> * <nb-radio>Option 3</nb-radio> * </nb-radio-group> * ``` * * You can disable some radios in the group using a `disabled` attribute. * * @stacked-example(Disabled, radio/radio-disabled.component) * * * @styles * * radio-bg * radio-fg * radio-size * radio-border-size * radio-border-color * radio-checkmark * radio-checked-bg * radio-checked-size * radio-checked-border-size * radio-checked-border-color * radio-checked-checkmark * radio-disabled-bg * radio-disabled-size * radio-disabled-border-size * radio-disabled-border-color * radio-disabled-checkmark * */ var NbRadioComponent = /** @class */ (function () { function NbRadioComponent(cd) { this.cd = cd; this.valueChange = new EventEmitter(); this.blur = new EventEmitter(); } Object.defineProperty(NbRadioComponent.prototype, "setDisabled", { set: /** * @param {?} disabled * @return {?} */ function (disabled) { this.disabled = convertToBoolProperty(disabled); }, enumerable: true, configurable: true }); /** * @return {?} */ NbRadioComponent.prototype.markForCheck = /** * @return {?} */ function () { this.cd.markForCheck(); this.cd.detectChanges(); }; /** * @param {?} event * @return {?} */ NbRadioComponent.prototype.onChange = /** * @param {?} event * @return {?} */ function (event) { event.stopPropagation(); this.checked = true; this.valueChange.emit(this.value); }; /** * @param {?} event * @return {?} */ NbRadioComponent.prototype.onClick = /** * @param {?} event * @return {?} */ function (event) { event.stopPropagation(); }; NbRadioComponent.decorators = [ { type: Component, args: [{ selector: 'nb-radio', template: "\n <label>\n <input\n type=\"radio\"\n [name]=\"name\"\n [value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n (click)=\"onClick($event)\">\n <span class=\"radio-indicator\"></span>\n <span class=\"radio-description\">\n <ng-content></ng-content>\n </span>\n </label>\n ", changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}:host label{position:relative;display:inline-flex;margin:0;min-height:inherit;padding:.375rem 1.5rem .375rem 0}:host input{position:absolute;opacity:0}:host input:disabled+.radio-indicator,:host input:disabled~.radio-description{opacity:.5}:host .radio-indicator{border-radius:50%;flex-shrink:0;display:flex;justify-content:center;align-items:center}:host .radio-indicator::before{content:'';transition:.1s;border-radius:50%}[dir=ltr] :host .radio-description{padding-left:.5rem}[dir=rtl] :host .radio-description{padding-right:.5rem}"] }] } ]; /** @nocollapse */ NbRadioComponent.ctorParameters = function () { return [ { type: ChangeDetectorRef } ]; }; NbRadioComponent.propDecorators = { name: [{ type: Input }], checked: [{ type: Input }], value: [{ type: Input }], setDisabled: [{ type: Input, args: ['disabled',] }], valueChange: [{ type: Output }], blur: [{ type: Output }] }; return NbRadioComponent; }()); export { NbRadioComponent }; if (false) { /** @type {?} */ NbRadioComponent.prototype.name; /** @type {?} */ NbRadioComponent.prototype.checked; /** @type {?} */ NbRadioComponent.prototype.value; /** @type {?} */ NbRadioComponent.prototype.valueChange; /** @type {?} */ NbRadioComponent.prototype.blur; /** @type {?} */ NbRadioComponent.prototype.disabled; /** * @type {?} * @protected */ NbRadioComponent.prototype.cd; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGhlbWUtbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcmFkaW8vcmFkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQU1BLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyRG5EO0lBd0NFLDBCQUFzQixFQUFxQjtRQUFyQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQU5qQyxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXBELFNBQUksR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUlWLENBQUM7SUFYL0Msc0JBQ0kseUNBQVc7Ozs7O1FBRGYsVUFDZ0IsUUFBaUI7WUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxDQUFDOzs7T0FBQTs7OztJQVVELHVDQUFZOzs7SUFBWjtRQUNFLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7OztJQUVELG1DQUFROzs7O0lBQVIsVUFBUyxLQUFZO1FBQ25CLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7Ozs7SUFFRCxrQ0FBTzs7OztJQUFQLFVBQVEsS0FBWTtRQUNsQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7Z0JBdkRGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLG1aQWVUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztpQkFFaEQ7Ozs7Z0JBakZpQyxpQkFBaUI7Ozt1QkFvRmhELEtBQUs7MEJBRUwsS0FBSzt3QkFFTCxLQUFLOzhCQUVMLEtBQUssU0FBQyxVQUFVOzhCQUtoQixNQUFNO3VCQUVOLE1BQU07O0lBb0JULHVCQUFDO0NBQUEsQUF4REQsSUF3REM7U0FuQ1ksZ0JBQWdCOzs7SUFFM0IsZ0NBQXNCOztJQUV0QixtQ0FBMEI7O0lBRTFCLGlDQUFvQjs7SUFPcEIsdUNBQThEOztJQUU5RCxnQ0FBd0Q7O0lBRXhELG9DQUFrQjs7Ozs7SUFFTiw4QkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgQWt2ZW8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgY29udmVydFRvQm9vbFByb3BlcnR5IH0gZnJvbSAnLi4vaGVscGVycyc7XHJcblxyXG5cclxuLypcclxuICogVGhlIGBOYlJhZGlvQ29tcG9uZW50YCBwcm92aWRlcyB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IGFzIG5hdGl2ZSBgPGlucHV0IHR5cGU9XCJyYWRpb1wiPmBcclxuICogd2l0aCBOZWJ1bGFyIHN0eWxlcyBhbmQgYW5pbWF0aW9ucy5cclxuICpcclxuICogQHN0YWNrZWQtZXhhbXBsZShTaG93Y2FzZSwgcmFkaW8vcmFkaW8tc2hvd2Nhc2UuY29tcG9uZW50KVxyXG4gKlxyXG4gKiAjIyMgSW5zdGFsbGF0aW9uXHJcbiAqXHJcbiAqIEltcG9ydCBgTmJSYWRpb01vZHVsZWAgdG8geW91ciBmZWF0dXJlIG1vZHVsZS5cclxuICpcclxuICogYGBgdHNcclxuICogQE5nTW9kdWxlKHtcclxuICogICBpbXBvcnRzOiBbXHJcbiAqICAgXHQvLyAuLi5cclxuICogICAgIE5iUmFkaW9Nb2R1bGUsXHJcbiAqICAgXSxcclxuICogfSlcclxuICogZXhwb3J0IGNsYXNzIFBhZ2VNb2R1bGUgeyB9XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiAjIyMgVXNhZ2VcclxuICpcclxuICogUmFkaW8gYnV0dG9ucyBzaG91bGQgYmUgd3JhcHBlZCBpbiBgbmItcmFkaW8tZ3JvdXBgIHRvIHByb3ZpZGUgZm9ybSBiaW5kaW5ncy5cclxuICpcclxuICogYGBgaHRtbFxyXG4gKiA8bmItcmFkaW8tZ3JvdXAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZE9wdGlvblwiPlxyXG4gKiAgIDxuYi1yYWRpbz5PcHRpb24gMTwvbmItcmFkaW8+XHJcbiAqICAgPG5iLXJhZGlvPk9wdGlvbiAyPC9uYi1yYWRpbz5cclxuICogICA8bmItcmFkaW8+T3B0aW9uIDM8L25iLXJhZGlvPlxyXG4gKiA8L25iLXJhZGlvLWdyb3VwPlxyXG4gKiBgYGBcclxuICpcclxuICogWW91IGNhbiBkaXNhYmxlIHNvbWUgcmFkaW9zIGluIHRoZSBncm91cCB1c2luZyBhIGBkaXNhYmxlZGAgYXR0cmlidXRlLlxyXG4gKlxyXG4gKiBAc3RhY2tlZC1leGFtcGxlKERpc2FibGVkLCByYWRpby9yYWRpby1kaXNhYmxlZC5jb21wb25lbnQpXHJcbiAqXHJcbiAqXHJcbiAqIEBzdHlsZXNcclxuICpcclxuICogcmFkaW8tYmdcclxuICogcmFkaW8tZmdcclxuICogcmFkaW8tc2l6ZVxyXG4gKiByYWRpby1ib3JkZXItc2l6ZVxyXG4gKiByYWRpby1ib3JkZXItY29sb3JcclxuICogcmFkaW8tY2hlY2ttYXJrXHJcbiAqIHJhZGlvLWNoZWNrZWQtYmdcclxuICogcmFkaW8tY2hlY2tlZC1zaXplXHJcbiAqIHJhZGlvLWNoZWNrZWQtYm9yZGVyLXNpemVcclxuICogcmFkaW8tY2hlY2tlZC1ib3JkZXItY29sb3JcclxuICogcmFkaW8tY2hlY2tlZC1jaGVja21hcmtcclxuICogcmFkaW8tZGlzYWJsZWQtYmdcclxuICogcmFkaW8tZGlzYWJsZWQtc2l6ZVxyXG4gKiByYWRpby1kaXNhYmxlZC1ib3JkZXItc2l6ZVxyXG4gKiByYWRpby1kaXNhYmxlZC1ib3JkZXItY29sb3JcclxuICogcmFkaW8tZGlzYWJsZWQtY2hlY2ttYXJrXHJcbiAqICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmItcmFkaW8nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bGFiZWw+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXHJcbiAgICAgICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInJhZGlvLWluZGljYXRvclwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJyYWRpby1kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9sYWJlbD5cclxuICBgLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHN0eWxlVXJsczogWycuL3JhZGlvLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYlJhZGlvQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBjaGVja2VkOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSB2YWx1ZTogYW55O1xyXG5cclxuICBASW5wdXQoJ2Rpc2FibGVkJylcclxuICBzZXQgc2V0RGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBjb252ZXJ0VG9Cb29sUHJvcGVydHkoZGlzYWJsZWQpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIGJsdXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIG1hcmtGb3JDaGVjaygpIHtcclxuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgb25DbGljayhldmVudDogRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxufVxyXG4iXX0=