UNPKG

ngx-material-timepicker

Version:
59 lines 8.58 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'; let NgxTimepickerPeriodSelectorComponent = class NgxTimepickerPeriodSelectorComponent { constructor() { this.periodSelected = new EventEmitter(); this.period = TimePeriod; } open() { if (!this.disabled) { this.isOpened = true; } } select(period) { this.periodSelected.next(period); this.isOpened = false; } backdropClick() { 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); export { NgxTimepickerPeriodSelectorComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRpbWVwaWNrZXItcGVyaW9kLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1tYXRlcmlhbC10aW1lcGlja2VyLyIsInNvdXJjZXMiOlsic3JjL2FwcC9tYXRlcmlhbC10aW1lcGlja2VyL2NvbXBvbmVudHMvdGltZXBpY2tlci1maWVsZC90aW1lcGlja2VyLXBlcmlvZC1zZWxlY3Rvci9uZ3gtdGltZXBpY2tlci1wZXJpb2Qtc2VsZWN0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFvQjFFLElBQWEsb0NBQW9DLEdBQWpELE1BQWEsb0NBQW9DO0lBbEJqRDtRQXdCYyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFFMUQsV0FBTSxHQUFHLFVBQVUsQ0FBQztJQWdCeEIsQ0FBQztJQWRHLElBQUk7UUFDQSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBa0I7UUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0NBQ0osQ0FBQTtBQXRCWTtJQUFSLEtBQUssRUFBRTs7NEVBQTRCO0FBQzNCO0lBQVIsS0FBSyxFQUFFOztzRUFBbUI7QUFDbEI7SUFBUixLQUFLLEVBQUU7O3NFQUFtQjtBQUVqQjtJQUFULE1BQU0sRUFBRTs7NEVBQWlEO0FBTmpELG9DQUFvQztJQWxCaEQsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGdDQUFnQztRQUMxQyw4dUNBQTREO1FBRTVELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLFVBQVUsRUFBRTtZQUNSLE9BQU8sQ0FBQyxZQUFZLEVBQUU7Z0JBQ2xCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7b0JBQ2pCLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDO29CQUMxQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7aUJBQzNELENBQUM7Z0JBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDakIsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO2lCQUMzRCxDQUFDO2FBQ0wsQ0FBQztTQUNMOztLQUNKLENBQUM7R0FFVyxvQ0FBb0MsQ0F3QmhEO1NBeEJZLG9DQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGltZVBlcmlvZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90aW1lLXBlcmlvZC5lbnVtJztcbmltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LXRpbWVwaWNrZXItcGVyaW9kLXNlbGVjdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJ25neC10aW1lcGlja2VyLXBlcmlvZC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmd4LXRpbWVwaWNrZXItcGVyaW9kLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdzY2FsZUluT3V0JywgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSgwKScsIG9wYWNpdHk6IDB9KSxcbiAgICAgICAgICAgICAgICBhbmltYXRlKDIwMCwgc3R5bGUoe3RyYW5zZm9ybTogJ3NjYWxlKDEpJywgb3BhY2l0eTogMX0pKVxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgyMDAsIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSgwKScsIG9wYWNpdHk6IDB9KSlcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXVxufSlcblxuZXhwb3J0IGNsYXNzIE5neFRpbWVwaWNrZXJQZXJpb2RTZWxlY3RvckNvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoKSBzZWxlY3RlZFBlcmlvZDogVGltZVBlcmlvZDtcbiAgICBASW5wdXQoKSBpc09wZW5lZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSBwZXJpb2RTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VGltZVBlcmlvZD4oKTtcblxuICAgIHBlcmlvZCA9IFRpbWVQZXJpb2Q7XG5cbiAgICBvcGVuKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0KHBlcmlvZDogVGltZVBlcmlvZCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBlcmlvZFNlbGVjdGVkLm5leHQocGVyaW9kKTtcbiAgICAgICAgdGhpcy5pc09wZW5lZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGJhY2tkcm9wQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNPcGVuZWQgPSBmYWxzZTtcbiAgICB9XG59XG4iXX0=