theme-lib
Version:
This is a simple example Angular Library published to npm.
161 lines • 11.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 { 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=