@taiga-ui/kit
Version:
Taiga UI Angular main components kit
79 lines • 13.3 kB
JavaScript
import { computed, Directive, inject, Input, signal } from '@angular/core';
import { MaskitoDirective } from '@maskito/angular';
import { maskitoDateRangeOptionsGenerator } from '@maskito/kit';
import { tuiAsControl, tuiValueTransformerFrom } from '@taiga-ui/cdk/classes';
import { DATE_RANGE_FILLER_LENGTH, RANGE_SEPARATOR_CHAR, TuiDayRange, } from '@taiga-ui/cdk/date-time';
import { tuiDirectiveBinding, tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
import { TuiTextfieldComponent, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
import { TuiDropdownAuto } from '@taiga-ui/core/directives/dropdown';
import { TUI_ITEMS_HANDLERS } from '@taiga-ui/core/directives/items-handlers';
import { TUI_DATE_ADAPTER, TUI_INPUT_DATE_OPTIONS_NEW, TuiInputDateBase, } from '@taiga-ui/kit/components/input-date';
import { tuiMaskito } from '@taiga-ui/kit/utils';
import { TUI_INPUT_DATE_RANGE_OPTIONS } from './input-date-range.options';
import * as i0 from "@angular/core";
import * as i1 from "@taiga-ui/core/components/textfield";
import * as i2 from "@taiga-ui/core/directives/dropdown";
import * as i3 from "@maskito/angular";
class TuiInputDateRangeDirective extends TuiInputDateBase {
constructor() {
super(...arguments);
this.identity = inject(TUI_ITEMS_HANDLERS).identityMatcher.set((a, b) => a.daySame(b));
this.rangeFiller = tuiDirectiveBinding(TuiTextfieldComponent, 'fillerSetter', computed((filler = this.filler()) => `${filler}${RANGE_SEPARATOR_CHAR}${filler}`), {});
this.mask = tuiMaskito(computed(() => maskitoDateRangeOptionsGenerator({
dateSeparator: this.format().separator,
mode: TUI_DATE_ADAPTER[this.format().mode],
min: this.min().toLocalNativeDate(),
max: this.max().toLocalNativeDate(),
minLength: this.minLength() || {},
maxLength: this.maxLength() || {},
})));
this.minLength = signal(null);
this.maxLength = signal(null);
}
set minLengthSetter(minLength) {
this.minLength.set(minLength);
}
set maxLengthSetter(maxLength) {
this.maxLength.set(maxLength);
}
processCalendar(calendar) {
super.processCalendar(calendar);
calendar.minLength = this.minLength();
calendar.maxLength = this.maxLength();
}
onValueChange(value) {
this.control?.control?.updateValueAndValidity({ emitEvent: false });
this.onChange(value.length === DATE_RANGE_FILLER_LENGTH
? TuiDayRange.normalizeParse(value, this.format().mode)
: null);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateRangeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputDateRangeDirective, isStandalone: true, selector: "input[tuiInputDateRange]", inputs: { minLengthSetter: ["minLength", "minLengthSetter"], maxLengthSetter: ["maxLength", "maxLengthSetter"] }, providers: [
// TODO: Add SelectOption after data-list in calendar-range is refactored
tuiAsControl(TuiInputDateRangeDirective),
tuiValueTransformerFrom(TUI_INPUT_DATE_RANGE_OPTIONS),
tuiProvide(TUI_INPUT_DATE_OPTIONS_NEW, TUI_INPUT_DATE_RANGE_OPTIONS),
], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i2.TuiDropdownAuto }, { directive: i3.MaskitoDirective }], ngImport: i0 }); }
}
export { TuiInputDateRangeDirective };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateRangeDirective, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: 'input[tuiInputDateRange]',
providers: [
// TODO: Add SelectOption after data-list in calendar-range is refactored
tuiAsControl(TuiInputDateRangeDirective),
tuiValueTransformerFrom(TUI_INPUT_DATE_RANGE_OPTIONS),
tuiProvide(TUI_INPUT_DATE_OPTIONS_NEW, TUI_INPUT_DATE_RANGE_OPTIONS),
],
hostDirectives: [TuiWithTextfield, TuiDropdownAuto, MaskitoDirective],
}]
}], propDecorators: { minLengthSetter: [{
type: Input,
args: ['minLength']
}], maxLengthSetter: [{
type: Input,
args: ['maxLength']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXJhbmdlL2lucHV0LWRhdGUtcmFuZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsWUFBWSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFNUUsT0FBTyxFQUNILHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsV0FBVyxHQUNkLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLG1CQUFtQixFQUFFLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRW5FLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBRTVFLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsMEJBQTBCLEVBQzFCLGdCQUFnQixHQUNuQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvQyxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFFeEUsTUFXYSwwQkFBMkIsU0FBUSxnQkFBNkI7SUFYN0U7O1FBWXVCLGFBQVEsR0FB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LEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLENBQUM7aUJBQ3hFOzhCQThCYyxlQUFlO3NCQUR6QixLQUFLO3VCQUFDLFdBQVc7Z0JBTVAsZUFBZTtzQkFEekIsS0FBSzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZCwgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXNraXRvRGlyZWN0aXZlfSBmcm9tICdAbWFza2l0by9hbmd1bGFyJztcbmltcG9ydCB7bWFza2l0b0RhdGVSYW5nZU9wdGlvbnNHZW5lcmF0b3J9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb219IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQgdHlwZSB7VHVpRGF5TGlrZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtcbiAgICBEQVRFX1JBTkdFX0ZJTExFUl9MRU5HVEgsXG4gICAgUkFOR0VfU0VQQVJBVE9SX0NIQVIsXG4gICAgVHVpRGF5UmFuZ2UsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7dHVpRGlyZWN0aXZlQmluZGluZywgdHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7XG4gICAgVHVpVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVdpdGhUZXh0ZmllbGQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7VHVpRHJvcGRvd25BdXRvfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB0eXBlIHtUdWlJdGVtc0hhbmRsZXJzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VFVJX0lURU1TX0hBTkRMRVJTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB0eXBlIHtUdWlDYWxlbmRhclJhbmdlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItcmFuZ2UnO1xuaW1wb3J0IHtcbiAgICBUVUlfREFURV9BREFQVEVSLFxuICAgIFRVSV9JTlBVVF9EQVRFX09QVElPTlNfTkVXLFxuICAgIFR1aUlucHV0RGF0ZUJhc2UsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlJztcbmltcG9ydCB7dHVpTWFza2l0b30gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX0RBVEVfUkFOR0VfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1kYXRlLXJhbmdlLm9wdGlvbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXREYXRlUmFuZ2VdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgLy8gVE9ETzogQWRkIFNlbGVjdE9wdGlvbiBhZnRlciBkYXRhLWxpc3QgaW4gY2FsZW5kYXItcmFuZ2UgaXMgcmVmYWN0b3JlZFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXREYXRlUmFuZ2VEaXJlY3RpdmUpLFxuICAgICAgICB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbShUVUlfSU5QVVRfREFURV9SQU5HRV9PUFRJT05TKSxcbiAgICAgICAgdHVpUHJvdmlkZShUVUlfSU5QVVRfREFURV9PUFRJT05TX05FVywgVFVJX0lOUFVUX0RBVEVfUkFOR0VfT1BUSU9OUyksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aVdpdGhUZXh0ZmllbGQsIFR1aURyb3Bkb3duQXV0bywgTWFza2l0b0RpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZVJhbmdlRGlyZWN0aXZlIGV4dGVuZHMgVHVpSW5wdXREYXRlQmFzZTxUdWlEYXlSYW5nZT4ge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpZGVudGl0eSA9IGluamVjdDxUdWlJdGVtc0hhbmRsZXJzPFR1aURheVJhbmdlPj4oXG4gICAgICAgIFRVSV9JVEVNU19IQU5ETEVSUyxcbiAgICApLmlkZW50aXR5TWF0Y2hlci5zZXQoKGEsIGIpID0+IGEuZGF5U2FtZShiKSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmFuZ2VGaWxsZXIgPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFxuICAgICAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgICAgICdmaWxsZXJTZXR0ZXInLFxuICAgICAgICBjb21wdXRlZCgoZmlsbGVyID0gdGhpcy5maWxsZXIoKSkgPT4gYCR7ZmlsbGVyfSR7UkFOR0VfU0VQQVJBVE9SX0NIQVJ9JHtmaWxsZXJ9YCksXG4gICAgICAgIHt9LFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbWFzayA9IHR1aU1hc2tpdG8oXG4gICAgICAgIGNvbXB1dGVkKCgpID0+XG4gICAgICAgICAgICBtYXNraXRvRGF0ZVJhbmdlT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICAgICAgICAgICAgZGF0ZVNlcGFyYXRvcjogdGhpcy5mb3JtYXQoKS5zZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgbW9kZTogVFVJX0RBVEVfQURBUFRFUlt0aGlzLmZvcm1hdCgpLm1vZGVdLFxuICAgICAgICAgICAgICAgIG1pbjogdGhpcy5taW4oKS50b0xvY2FsTmF0aXZlRGF0ZSgpLFxuICAgICAgICAgICAgICAgIG1heDogdGhpcy5tYXgoKS50b0xvY2FsTmF0aXZlRGF0ZSgpLFxuICAgICAgICAgICAgICAgIG1pbkxlbmd0aDogdGhpcy5taW5MZW5ndGgoKSB8fCB7fSxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IHRoaXMubWF4TGVuZ3RoKCkgfHwge30sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbkxlbmd0aCA9IHNpZ25hbDxUdWlEYXlMaWtlIHwgbnVsbD4obnVsbCk7XG4gICAgcHVibGljIHJlYWRvbmx5IG1heExlbmd0aCA9IHNpZ25hbDxUdWlEYXlMaWtlIHwgbnVsbD4obnVsbCk7XG5cbiAgICBASW5wdXQoJ21pbkxlbmd0aCcpXG4gICAgcHVibGljIHNldCBtaW5MZW5ndGhTZXR0ZXIobWluTGVuZ3RoOiBUdWlEYXlMaWtlIHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1pbkxlbmd0aC5zZXQobWluTGVuZ3RoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ21heExlbmd0aCcpXG4gICAgcHVibGljIHNldCBtYXhMZW5ndGhTZXR0ZXIobWF4TGVuZ3RoOiBUdWlEYXlMaWtlIHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1heExlbmd0aC5zZXQobWF4TGVuZ3RoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcHJvY2Vzc0NhbGVuZGFyKGNhbGVuZGFyOiBUdWlDYWxlbmRhclJhbmdlKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnByb2Nlc3NDYWxlbmRhcihjYWxlbmRhcik7XG5cbiAgICAgICAgY2FsZW5kYXIubWluTGVuZ3RoID0gdGhpcy5taW5MZW5ndGgoKTtcbiAgICAgICAgY2FsZW5kYXIubWF4TGVuZ3RoID0gdGhpcy5tYXhMZW5ndGgoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udHJvbD8uY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKFxuICAgICAgICAgICAgdmFsdWUubGVuZ3RoID09PSBEQVRFX1JBTkdFX0ZJTExFUl9MRU5HVEhcbiAgICAgICAgICAgICAgICA/IFR1aURheVJhbmdlLm5vcm1hbGl6ZVBhcnNlKHZhbHVlLCB0aGlzLmZvcm1hdCgpLm1vZGUpXG4gICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==