@doku-dev/doku-fragment
Version:
A new Angular UI library that moving away from Bootstrap and built from scratch.
117 lines • 11.8 kB
JavaScript
import { CommonModule } from '@angular/common';
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
import { ReplaySubject } from 'rxjs';
import * as i0 from "@angular/core";
export class DokuDatePickerRangeProps {
/**
* Value of the date picker.
*
* If it's a string, it must be in ISO String.
*
* @default null
*/
get value() {
return this._value;
}
set value(date) {
this._value = { start: this.normalizeDate(date?.start), end: this.normalizeDate(date?.end) };
this.notifyChange$.next('value');
}
/**
* Minimum date allowed to be selected.
*
* If it's a string, it must be in ISO String.
*
* @default null
*/
get minDate() {
return this._minDate;
}
set minDate(date) {
this._minDate = this.normalizeDate(date);
this.notifyChange$.next('minDate');
}
/**
* Maximum date allowed to be selected.
*
* If it's a string, it must be in ISO String.
*
* @default null
*/
get maxDate() {
return this._maxDate;
}
set maxDate(date) {
this._maxDate = this.normalizeDate(date);
this.notifyChange$.next('maxDate');
}
/**
* Whether date picker is disabled.
*
* @default false
*/
get disabled() {
return this._disabled;
}
set disabled(value) {
this._disabled = value;
this.notifyChange$.next('disabled');
}
/**
* Whether date picker is readonly.
*
* @default false
*/
get readonly() {
return this._readonly;
}
set readonly(value) {
this._readonly = value;
this.notifyChange$.next('readonly');
}
constructor(_cdr) {
this._cdr = _cdr;
this._value = { start: null, end: null };
this._minDate = null;
this._maxDate = null;
this._disabled = false;
this._readonly = false;
/**
* An event emitted when the value changes.
*/
this.valueChange = new EventEmitter();
this.notifyChange$ = new ReplaySubject();
}
normalizeDate(date) {
if (!date)
return null;
if (!(date instanceof Date || typeof date === 'string'))
return null;
return date instanceof Date ? date : new Date(date);
}
}
DokuDatePickerRangeProps.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DokuDatePickerRangeProps, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
DokuDatePickerRangeProps.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DokuDatePickerRangeProps, isStandalone: true, selector: "doku-date-picker-range-props", inputs: { minDate: "minDate", maxDate: "maxDate", disabled: "disabled", readonly: "readonly" }, outputs: { valueChange: "valueChange" }, exportAs: ["dokuDatePickerRangeProps"], ngImport: i0, template: '', isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DokuDatePickerRangeProps, decorators: [{
type: Component,
args: [{
selector: 'doku-date-picker-range-props',
exportAs: 'dokuDatePickerRangeProps',
standalone: true,
imports: [CommonModule],
template: '',
encapsulation: ViewEncapsulation.None,
changeDetection: ChangeDetectionStrategy.OnPush,
}]
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { minDate: [{
type: Input
}], maxDate: [{
type: Input
}], disabled: [{
type: Input
}], readonly: [{
type: Input
}], valueChange: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXItcmFuZ2UtcHJvcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG9rdS1mcmFnbWVudC9zcmMvbGliL2RhdGUtcGlja2VyL2NvbW1vbi9kYXRlLXBpY2tlci1yYW5nZS1wcm9wcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQWFyQyxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DOzs7Ozs7T0FNRztJQUNILElBQWMsS0FBSztRQUNqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQWMsS0FBSyxDQUFDLElBQWtDO1FBQ3BELElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDN0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUdEOzs7Ozs7T0FNRztJQUNILElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsSUFBc0M7UUFDaEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFHRDs7Ozs7O09BTUc7SUFDSCxJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLElBQXNDO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBR0Q7Ozs7T0FJRztJQUNILElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBR0Q7Ozs7T0FJRztJQUNILElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBY0QsWUFBc0IsSUFBdUI7UUFBdkIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUE3RXJDLFdBQU0sR0FBYyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO1FBaUIvQyxhQUFRLEdBQWdCLElBQUksQ0FBQztRQWlCN0IsYUFBUSxHQUFnQixJQUFJLENBQUM7UUFlN0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQWVsQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTFCOztXQUVHO1FBQ08sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUVsRCxrQkFBYSxHQUFHLElBQUksYUFBYSxFQUV4QyxDQUFDO0lBSTRDLENBQUM7SUFFekMsYUFBYSxDQUFDLElBQTJCO1FBQy9DLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLENBQUMsSUFBSSxZQUFZLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUNyRSxPQUFPLElBQUksWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7cUhBbEdVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHlRQUp6QixFQUFFLDJEQURGLFlBQVk7MkZBS1gsd0JBQXdCO2tCQVRwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7d0dBMEJLLE9BQU87c0JBRFYsS0FBSztnQkFrQkYsT0FBTztzQkFEVixLQUFLO2dCQWdCRixRQUFRO3NCQURYLEtBQUs7Z0JBZ0JGLFFBQVE7c0JBRFgsS0FBSztnQkFhSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhdGVWYWx1ZSB9IGZyb20gJy4uL2Jhc2UvZGF0ZS1waWNrZXItYmFzZS1wcm9wcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlUmVzdWx0IH0gZnJvbSAnLi4vZGF0ZS1waWNrZXIuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZG9rdS1kYXRlLXBpY2tlci1yYW5nZS1wcm9wcycsXG4gIGV4cG9ydEFzOiAnZG9rdURhdGVQaWNrZXJSYW5nZVByb3BzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiAnJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERva3VEYXRlUGlja2VyUmFuZ2VQcm9wcyB7XG4gIC8qKlxuICAgKiBWYWx1ZSBvZiB0aGUgZGF0ZSBwaWNrZXIuXG4gICAqXG4gICAqIElmIGl0J3MgYSBzdHJpbmcsIGl0IG11c3QgYmUgaW4gSVNPIFN0cmluZy5cbiAgICpcbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldCB2YWx1ZSgpOiBEYXRlVmFsdWUge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuICBwcm90ZWN0ZWQgc2V0IHZhbHVlKGRhdGU6IERhdGVWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHsgc3RhcnQ6IHRoaXMubm9ybWFsaXplRGF0ZShkYXRlPy5zdGFydCksIGVuZDogdGhpcy5ub3JtYWxpemVEYXRlKGRhdGU/LmVuZCkgfTtcbiAgICB0aGlzLm5vdGlmeUNoYW5nZSQubmV4dCgndmFsdWUnKTtcbiAgfVxuICBwcml2YXRlIF92YWx1ZTogRGF0ZVZhbHVlID0geyBzdGFydDogbnVsbCwgZW5kOiBudWxsIH07XG5cbiAgLyoqXG4gICAqIE1pbmltdW0gZGF0ZSBhbGxvd2VkIHRvIGJlIHNlbGVjdGVkLlxuICAgKlxuICAgKiBJZiBpdCdzIGEgc3RyaW5nLCBpdCBtdXN0IGJlIGluIElTTyBTdHJpbmcuXG4gICAqXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBtaW5EYXRlKCk6IERhdGUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbWluRGF0ZTtcbiAgfVxuICBzZXQgbWluRGF0ZShkYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX21pbkRhdGUgPSB0aGlzLm5vcm1hbGl6ZURhdGUoZGF0ZSk7XG4gICAgdGhpcy5ub3RpZnlDaGFuZ2UkLm5leHQoJ21pbkRhdGUnKTtcbiAgfVxuICBwcml2YXRlIF9taW5EYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gZGF0ZSBhbGxvd2VkIHRvIGJlIHNlbGVjdGVkLlxuICAgKlxuICAgKiBJZiBpdCdzIGEgc3RyaW5nLCBpdCBtdXN0IGJlIGluIElTTyBTdHJpbmcuXG4gICAqXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBtYXhEYXRlKCk6IERhdGUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4RGF0ZTtcbiAgfVxuICBzZXQgbWF4RGF0ZShkYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX21heERhdGUgPSB0aGlzLm5vcm1hbGl6ZURhdGUoZGF0ZSk7XG4gICAgdGhpcy5ub3RpZnlDaGFuZ2UkLm5leHQoJ21heERhdGUnKTtcbiAgfVxuICBwcml2YXRlIF9tYXhEYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgZGF0ZSBwaWNrZXIgaXMgZGlzYWJsZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgdGhpcy5ub3RpZnlDaGFuZ2UkLm5leHQoJ2Rpc2FibGVkJyk7XG4gIH1cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciBkYXRlIHBpY2tlciBpcyByZWFkb25seS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCByZWFkb25seSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZG9ubHk7XG4gIH1cbiAgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVhZG9ubHkgPSB2YWx1ZTtcbiAgICB0aGlzLm5vdGlmeUNoYW5nZSQubmV4dCgncmVhZG9ubHknKTtcbiAgfVxuICBwcml2YXRlIF9yZWFkb25seSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBbiBldmVudCBlbWl0dGVkIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVSYW5nZVJlc3VsdD4oKTtcblxuICBwcm90ZWN0ZWQgbm90aWZ5Q2hhbmdlJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgICd2YWx1ZScgfCAnbWluRGF0ZScgfCAnbWF4RGF0ZScgfCAnZGlzYWJsZWQnIHwgJ3JlYWRvbmx5J1xuICA+KCk7XG5cbiAgcHJvdGVjdGVkIGRhdGVDaGFuZ2VIYW5kbGVyPzogKHZhbHVlOiBEYXRlVmFsdWUpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHByaXZhdGUgbm9ybWFsaXplRGF0ZShkYXRlPzogRGF0ZSB8IHN0cmluZyB8IG51bGwpOiBEYXRlIHwgbnVsbCB7XG4gICAgaWYgKCFkYXRlKSByZXR1cm4gbnVsbDtcbiAgICBpZiAoIShkYXRlIGluc3RhbmNlb2YgRGF0ZSB8fCB0eXBlb2YgZGF0ZSA9PT0gJ3N0cmluZycpKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gZGF0ZSBpbnN0YW5jZW9mIERhdGUgPyBkYXRlIDogbmV3IERhdGUoZGF0ZSk7XG4gIH1cbn1cbiJdfQ==