UNPKG

ngx-material-timepicker

Version:
60 lines 8.98 kB
import * as tslib_1 from "tslib"; import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'; import { TimePeriod } from '../../../models/time-period.enum'; import { animate, style, transition, trigger } from '@angular/animations'; var NgxTimepickerPeriodSelectorComponent = /** @class */ (function () { function NgxTimepickerPeriodSelectorComponent() { this.periodSelected = new EventEmitter(); this.period = TimePeriod; } NgxTimepickerPeriodSelectorComponent.prototype.open = function () { if (!this.disabled) { this.isOpened = true; } }; NgxTimepickerPeriodSelectorComponent.prototype.select = function (period) { this.periodSelected.next(period); this.isOpened = false; }; NgxTimepickerPeriodSelectorComponent.prototype.backdropClick = function () { this.isOpened = false; }; tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String) ], NgxTimepickerPeriodSelectorComponent.prototype, "selectedPeriod", void 0); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean) ], NgxTimepickerPeriodSelectorComponent.prototype, "isOpened", void 0); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean) ], NgxTimepickerPeriodSelectorComponent.prototype, "disabled", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", Object) ], NgxTimepickerPeriodSelectorComponent.prototype, "periodSelected", void 0); NgxTimepickerPeriodSelectorComponent = tslib_1.__decorate([ Component({ selector: 'ngx-timepicker-period-selector', template: "<div class=\"period\">\n <div class=\"period-control\">\n <button class=\"period-control__button period__btn--default\"\n [ngClass]=\"{'period-control__button--disabled': disabled}\"\n type=\"button\"\n (click)=\"open()\">\n <span>{{selectedPeriod}}</span>\n <span class=\"period-control__arrow\">&#9660;</span>\n </button>\n </div>\n <ul class=\"period-selector\" @scaleInOut *ngIf=\"isOpened\" [timepickerAutofocus]=\"true\">\n <li>\n <button class=\"period-selector__button period__btn--default\"\n type=\"button\"\n (click)=\"select(period.AM)\"\n [ngClass]=\"{'period-selector__button--active': selectedPeriod === period.AM}\">{{period.AM}}</button>\n </li>\n <li>\n <button class=\"period-selector__button period__btn--default\"\n type=\"button\"\n (click)=\"select(period.PM)\"\n [ngClass]=\"{'period-selector__button--active': selectedPeriod === period.PM}\">{{period.PM}}</button>\n </li>\n </ul>\n</div>\n<div class=\"overlay\" (click)=\"backdropClick()\" *ngIf=\"isOpened\"></div>\n", changeDetection: ChangeDetectionStrategy.OnPush, animations: [ trigger('scaleInOut', [ transition(':enter', [ style({ transform: 'scale(0)', opacity: 0 }), animate(200, style({ transform: 'scale(1)', opacity: 1 })) ]), transition(':leave', [ animate(200, style({ transform: 'scale(0)', opacity: 0 })) ]) ]) ], styles: [".period{position:relative}.period__btn--default{padding:0;border:none;background-color:transparent;cursor:pointer;text-align:left;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;outline:0}.period-control{position:relative}.period-control__button{position:relative;width:60px;font-size:1rem;color:inherit;text-align:center}.period-control__button:not(.period-control__button--disabled):focus:after{content:'';position:absolute;bottom:-8px;left:0;width:100%;height:1px;background-color:#00bfff}.period-control__arrow{margin-left:10px;font-size:12px;color:rgba(0,0,0,.4)}.period-selector{position:absolute;top:calc(50% - 50px);right:calc(-50% + -50px);max-width:135px;width:150px;padding:6px 0;margin:0;list-style:none;background-color:#f5f5f5;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);z-index:201}.period-selector__button{width:100%;height:48px;padding:0 16px;line-height:48px}.period-selector__button--active{color:#00bfff}.period-selector__button:focus{background-color:#eee}.overlay{position:fixed;width:100%;height:100%;top:0;left:0;background-color:transparent;z-index:200}"] }) ], NgxTimepickerPeriodSelectorComponent); return NgxTimepickerPeriodSelectorComponent; }()); export { NgxTimepickerPeriodSelectorComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRpbWVwaWNrZXItcGVyaW9kLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1tYXRlcmlhbC10aW1lcGlja2VyLyIsInNvdXJjZXMiOlsic3JjL2FwcC9tYXRlcmlhbC10aW1lcGlja2VyL2NvbXBvbmVudHMvdGltZXBpY2tlci1maWVsZC90aW1lcGlja2VyLXBlcmlvZC1zZWxlY3Rvci9uZ3gtdGltZXBpY2tlci1wZXJpb2Qtc2VsZWN0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFvQjFFO0lBbEJBO1FBd0JjLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUUxRCxXQUFNLEdBQUcsVUFBVSxDQUFDO0lBZ0J4QixDQUFDO0lBZEcsbURBQUksR0FBSjtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELHFEQUFNLEdBQU4sVUFBTyxNQUFrQjtRQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsNERBQWEsR0FBYjtRQUNJLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFyQlE7UUFBUixLQUFLLEVBQUU7O2dGQUE0QjtJQUMzQjtRQUFSLEtBQUssRUFBRTs7MEVBQW1CO0lBQ2xCO1FBQVIsS0FBSyxFQUFFOzswRUFBbUI7SUFFakI7UUFBVCxNQUFNLEVBQUU7O2dGQUFpRDtJQU5qRCxvQ0FBb0M7UUFsQmhELFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxnQ0FBZ0M7WUFDMUMsOHVDQUE0RDtZQUU1RCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQyxVQUFVLEVBQUU7Z0JBQ1IsT0FBTyxDQUFDLFlBQVksRUFBRTtvQkFDbEIsVUFBVSxDQUFDLFFBQVEsRUFBRTt3QkFDakIsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUM7d0JBQzFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztxQkFDM0QsQ0FBQztvQkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO3dCQUNqQixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7cUJBQzNELENBQUM7aUJBQ0wsQ0FBQzthQUNMOztTQUNKLENBQUM7T0FFVyxvQ0FBb0MsQ0F3QmhEO0lBQUQsMkNBQUM7Q0FBQSxBQXhCRCxJQXdCQztTQXhCWSxvQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpbWVQZXJpb2QgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdGltZS1wZXJpb2QuZW51bSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC10aW1lcGlja2VyLXBlcmlvZC1zZWxlY3RvcicsXG4gICAgdGVtcGxhdGVVcmw6ICduZ3gtdGltZXBpY2tlci1wZXJpb2Qtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25neC10aW1lcGlja2VyLXBlcmlvZC1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignc2NhbGVJbk91dCcsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoMCknLCBvcGFjaXR5OiAwfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgyMDAsIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSgxKScsIG9wYWNpdHk6IDF9KSlcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoMjAwLCBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoMCknLCBvcGFjaXR5OiAwfSkpXG4gICAgICAgICAgICBdKVxuICAgICAgICBdKVxuICAgIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBOZ3hUaW1lcGlja2VyUGVyaW9kU2VsZWN0b3JDb21wb25lbnQge1xuXG4gICAgQElucHV0KCkgc2VsZWN0ZWRQZXJpb2Q6IFRpbWVQZXJpb2Q7XG4gICAgQElucHV0KCkgaXNPcGVuZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgcGVyaW9kU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRpbWVQZXJpb2Q+KCk7XG5cbiAgICBwZXJpb2QgPSBUaW1lUGVyaW9kO1xuXG4gICAgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbmVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdChwZXJpb2Q6IFRpbWVQZXJpb2QpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wZXJpb2RTZWxlY3RlZC5uZXh0KHBlcmlvZCk7XG4gICAgICAgIHRoaXMuaXNPcGVuZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBiYWNrZHJvcENsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzT3BlbmVkID0gZmFsc2U7XG4gICAgfVxufVxuIl19