@taiga-ui/kit 3.83.0 → 3.85.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js +10 -3
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js +34 -16
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js +1 -0
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-push.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
- package/components/calendar-range/calendar-range.component.d.ts +2 -0
- package/components/input-date-range/input-date-range.component.d.ts +6 -3
- package/esm2015/components/calendar-range/calendar-range.component.js +11 -4
- package/esm2015/components/carousel/carousel.component.js +2 -2
- package/esm2015/components/input-date/input-date.component.js +3 -3
- package/esm2015/components/input-date-range/input-date-range.component.js +33 -14
- package/esm2015/components/input-number/input-number.component.js +2 -1
- package/esm2015/components/push/push.component.js +2 -2
- package/fesm2015/taiga-ui-kit-components-calendar-range.js +10 -3
- package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-range.js +33 -15
- package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js +1 -0
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-push.js +1 -1
- package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-calendar-range.js","sources":["../../../projects/kit/components/calendar-range/calendar-range.component.ts","../../../projects/kit/components/calendar-range/calendar-range.template.html","../../../projects/kit/components/calendar-range/calendar-range.module.ts","../../../projects/kit/components/calendar-range/taiga-ui-kit-components-calendar-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayLike,\n TuiDayRange,\n TuiDestroyService,\n tuiIsString,\n TuiMonth,\n tuiNullableSame,\n tuiObjectFromEntries,\n tuiPure,\n TuiTypedMapper,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {\n TUI_COMMON_ICONS,\n TUI_DEFAULT_MARKER_HANDLER,\n TuiCommonIcons,\n TuiMarkerHandler,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiDayRangePeriod} from '@taiga-ui/kit/classes';\nimport {MAX_DAY_RANGE_LENGTH_MAPPER} from '@taiga-ui/kit/constants';\nimport {TUI_CALENDAR_DATE_STREAM, TUI_OTHER_DATE_TEXT} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-calendar-range',\n templateUrl: './calendar-range.template.html',\n styleUrls: ['./calendar-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiCalendarRangeComponent implements TuiWithOptionalMinMax<TuiDay> {\n @Input()\n defaultViewedMonth: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n min: TuiDay | null = TUI_FIRST_DAY;\n\n @Input()\n max: TuiDay | null = TUI_LAST_DAY;\n\n @Input()\n minLength: TuiDayLike | null = null;\n\n @Input()\n maxLength: TuiDayLike | null = null;\n\n @Input()\n value: TuiDayRange | null = null;\n\n @Output()\n readonly valueChange = new EventEmitter<TuiDayRange | null>();\n\n previousValue: TuiDayRange | null = null;\n\n readonly maxLengthMapper = MAX_DAY_RANGE_LENGTH_MAPPER;\n\n get computedMin(): TuiDay {\n return this.min ?? TUI_FIRST_DAY;\n }\n\n get computedMax(): TuiDay {\n return this.max ?? TUI_LAST_DAY;\n }\n\n constructor(\n @Optional()\n @Inject(TUI_CALENDAR_DATE_STREAM)\n valueChanges: Observable<TuiDayRange | null> | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Self() @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_OTHER_DATE_TEXT) readonly otherDateText$: Observable<string>,\n @Inject(TUI_COMMON_ICONS) readonly icons: TuiCommonIcons,\n ) {\n if (!valueChanges) {\n return;\n }\n\n valueChanges.pipe(tuiWatch(cdr), takeUntil(destroy$)).subscribe(value => {\n this.value = value;\n });\n }\n\n @HostListener('document:keydown.capture', ['$event'])\n onEsc(event: KeyboardEvent): void {\n if (event.key !== 'Escape' || !this.value?.isSingleDay) {\n return;\n }\n\n event.stopPropagation();\n this.value = this.previousValue;\n }\n\n readonly mapper: TuiTypedMapper<\n [\n readonly TuiDayRangePeriod[],\n TuiDay | null,\n TuiDay | null,\n TuiDayLike | null,\n string?,\n ],\n ReadonlyArray<TuiDayRangePeriod | string>\n > = (items, min, max, minLength, otherDateText = '') => [\n ...items.filter(\n item =>\n (minLength === null ||\n item.range.from.append(minLength).daySameOrBefore(item.range.to)) &&\n (min === null || item.range.to.daySameOrAfter(min)) &&\n (max === null || item.range.from.daySameOrBefore(max)),\n ),\n otherDateText,\n ];\n\n get calculatedDisabledItemHandler(): TuiBooleanHandler<TuiDay> {\n return this.calculateDisabledItemHandler(\n this.disabledItemHandler,\n this.value,\n this.minLength,\n );\n }\n\n get computedMonth(): TuiMonth {\n return this.value ? this.value.to : this.defaultViewedMonth;\n }\n\n isItemActive(item: TuiDayRangePeriod | string): boolean {\n const {activePeriod} = this;\n\n return (tuiIsString(item) && activePeriod === null) || activePeriod === item;\n }\n\n // TODO: investigate if it is used anywhere and (if not) delete it in v4.0\n onRangeChange(dayRange: TuiDayRange): void {\n this.updateValue(dayRange);\n }\n\n onDayClick(day: TuiDay): void {\n const {value} = this;\n\n this.previousValue = value;\n\n if (value === null || !value.isSingleDay) {\n this.value = new TuiDayRange(day, day);\n\n return;\n }\n\n this.updateValue(TuiDayRange.sort(value.from, day));\n }\n\n onItemSelect(item: TuiDayRangePeriod | string): void {\n if (typeof item !== 'string') {\n this.updateValue(item.range.dayLimit(this.min, this.max));\n\n return;\n }\n\n if (this.activePeriod !== null) {\n this.updateValue(null);\n }\n }\n\n updateValue(value: TuiDayRange | null): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n\n private get activePeriod(): TuiDayRangePeriod | null {\n return (\n this.items.find(item =>\n tuiNullableSame<TuiDayRange>(\n this.value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) || null\n );\n }\n\n @tuiPure\n private calculateDisabledItemHandler(\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDayRange | null,\n minLength: TuiDayLike | null,\n ): TuiBooleanHandler<TuiDay> {\n return item => {\n if (!value?.isSingleDay || !minLength) {\n return disabledItemHandler(item);\n }\n\n const negativeMinLength = tuiObjectFromEntries(\n Object.entries(minLength).map(([key, value]) => [key, -value]),\n );\n const disabledBefore = value.from.append(negativeMinLength).append({day: 1});\n const disabledAfter = value.from.append(minLength).append({day: -1});\n const inDisabledRange =\n disabledBefore.dayBefore(item) && disabledAfter.dayAfter(item);\n\n return inDisabledRange || disabledItemHandler(item);\n };\n }\n}\n","<tui-primitive-calendar-range\n *ngIf=\"!items.length; else presets\"\n automation-id=\"tui-calendar-range__calendars\"\n tuiPreventDefault=\"mousedown\"\n [defaultViewedMonthFirst]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax | tuiMapper: maxLengthMapper : value : maxLength : false\"\n [min]=\"computedMin | tuiMapper: maxLengthMapper : value : maxLength : true\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n></tui-primitive-calendar-range>\n<ng-template #presets>\n <div class=\"t-wrapper\">\n <tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n tuiPreventDefault=\"mousedown\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax | tuiMapper: maxLengthMapper : value : maxLength : false\"\n [min]=\"computedMin | tuiMapper: maxLengthMapper : value : maxLength : true\"\n [month]=\"computedMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n ></tui-calendar>\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n class=\"t-menu\"\n >\n <button\n *ngFor=\"let item of items | tuiMapper: mapper : min : max : minLength : (otherDateText$ | async)\"\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n tuiPreventDefault=\"mousedown\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (keydown.enter.prevent)=\"onItemSelect(item)\"\n (keydown.space.prevent)=\"onItemSelect(item)\"\n >\n {{ item }}\n <tui-svg\n *ngIf=\"isItemActive(item)\"\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-checkmark\"\n [src]=\"icons.check\"\n ></tui-svg>\n </button>\n </tui-data-list>\n </div>\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule, TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiCalendarModule, TuiDataListModule, TuiSvgModule} from '@taiga-ui/core';\nimport {TuiPrimitiveCalendarRangeModule} from '@taiga-ui/kit/internal/primitive-calendar-range';\n\nimport {TuiCalendarRangeComponent} from './calendar-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n TuiCalendarModule,\n TuiCalendarModule,\n TuiSvgModule,\n TuiDataListModule,\n TuiPrimitiveCalendarRangeModule,\n ],\n declarations: [TuiCalendarRangeComponent],\n exports: [TuiCalendarRangeComponent],\n})\nexport class TuiCalendarRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-calendar-range.js","sources":["../../../projects/kit/components/calendar-range/calendar-range.component.ts","../../../projects/kit/components/calendar-range/calendar-range.template.html","../../../projects/kit/components/calendar-range/calendar-range.module.ts","../../../projects/kit/components/calendar-range/taiga-ui-kit-components-calendar-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayLike,\n TuiDayRange,\n TuiDestroyService,\n tuiIsString,\n TuiMonth,\n tuiNullableSame,\n tuiObjectFromEntries,\n tuiPure,\n TuiTypedMapper,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {\n TUI_COMMON_ICONS,\n TUI_DEFAULT_MARKER_HANDLER,\n TuiCommonIcons,\n TuiMarkerHandler,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiDayRangePeriod} from '@taiga-ui/kit/classes';\nimport {MAX_DAY_RANGE_LENGTH_MAPPER} from '@taiga-ui/kit/constants';\nimport {TUI_CALENDAR_DATE_STREAM, TUI_OTHER_DATE_TEXT} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-calendar-range',\n templateUrl: './calendar-range.template.html',\n styleUrls: ['./calendar-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiCalendarRangeComponent implements TuiWithOptionalMinMax<TuiDay> {\n @Input()\n defaultViewedMonth: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n min: TuiDay | null = TUI_FIRST_DAY;\n\n @Input()\n max: TuiDay | null = TUI_LAST_DAY;\n\n @Input()\n minLength: TuiDayLike | null = null;\n\n @Input()\n maxLength: TuiDayLike | null = null;\n\n @Input()\n value: TuiDayRange | null = null;\n\n @Output()\n readonly valueChange = new EventEmitter<TuiDayRange | null>();\n\n previousValue: TuiDayRange | null = null;\n\n selectedActivePeriod: TuiDayRangePeriod | null = null;\n\n readonly maxLengthMapper = MAX_DAY_RANGE_LENGTH_MAPPER;\n\n get computedMin(): TuiDay {\n return this.min ?? TUI_FIRST_DAY;\n }\n\n get computedMax(): TuiDay {\n return this.max ?? TUI_LAST_DAY;\n }\n\n constructor(\n @Optional()\n @Inject(TUI_CALENDAR_DATE_STREAM)\n valueChanges: Observable<TuiDayRange | null> | null,\n @Inject(ChangeDetectorRef) readonly cdr: ChangeDetectorRef,\n @Self() @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(TUI_OTHER_DATE_TEXT) readonly otherDateText$: Observable<string>,\n @Inject(TUI_COMMON_ICONS) readonly icons: TuiCommonIcons,\n ) {\n if (!valueChanges) {\n return;\n }\n\n valueChanges.pipe(tuiWatch(cdr), takeUntil(destroy$)).subscribe(value => {\n this.value = value;\n });\n }\n\n @HostListener('document:keydown.capture', ['$event'])\n onEsc(event: KeyboardEvent): void {\n if (event.key !== 'Escape' || !this.value?.isSingleDay) {\n return;\n }\n\n event.stopPropagation();\n this.value = this.previousValue;\n }\n\n readonly mapper: TuiTypedMapper<\n [\n readonly TuiDayRangePeriod[],\n TuiDay | null,\n TuiDay | null,\n TuiDayLike | null,\n string?,\n ],\n ReadonlyArray<TuiDayRangePeriod | string>\n > = (items, min, max, minLength, otherDateText = '') => [\n ...items.filter(\n item =>\n (minLength === null ||\n item.range.from.append(minLength).daySameOrBefore(item.range.to)) &&\n (min === null || item.range.to.daySameOrAfter(min)) &&\n (max === null || item.range.from.daySameOrBefore(max)),\n ),\n otherDateText,\n ];\n\n get calculatedDisabledItemHandler(): TuiBooleanHandler<TuiDay> {\n return this.calculateDisabledItemHandler(\n this.disabledItemHandler,\n this.value,\n this.minLength,\n );\n }\n\n get computedMonth(): TuiMonth {\n return this.value ? this.value.to : this.defaultViewedMonth;\n }\n\n isItemActive(item: TuiDayRangePeriod | string): boolean {\n const {activePeriod} = this;\n\n return (tuiIsString(item) && activePeriod === null) || activePeriod === item;\n }\n\n // TODO: investigate if it is used anywhere and (if not) delete it in v4.0\n onRangeChange(dayRange: TuiDayRange): void {\n this.updateValue(dayRange);\n }\n\n onDayClick(day: TuiDay): void {\n const {value} = this;\n\n this.previousValue = value;\n this.selectedActivePeriod = null;\n\n if (value === null || !value.isSingleDay) {\n this.value = new TuiDayRange(day, day);\n\n return;\n }\n\n this.updateValue(TuiDayRange.sort(value.from, day));\n }\n\n onItemSelect(item: TuiDayRangePeriod | string): void {\n if (!tuiIsString(item)) {\n this.selectedActivePeriod = item;\n this.updateValue(item.range.dayLimit(this.min, this.max));\n\n return;\n }\n\n if (this.activePeriod !== null) {\n this.selectedActivePeriod = null;\n this.updateValue(null);\n }\n }\n\n updateValue(value: TuiDayRange | null): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n\n private get activePeriod(): TuiDayRangePeriod | null {\n return (\n this.selectedActivePeriod ??\n (this.items.find(item =>\n tuiNullableSame<TuiDayRange>(\n this.value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) ||\n null)\n );\n }\n\n @tuiPure\n private calculateDisabledItemHandler(\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDayRange | null,\n minLength: TuiDayLike | null,\n ): TuiBooleanHandler<TuiDay> {\n return item => {\n if (!value?.isSingleDay || !minLength) {\n return disabledItemHandler(item);\n }\n\n const negativeMinLength = tuiObjectFromEntries(\n Object.entries(minLength).map(([key, value]) => [key, -value]),\n );\n const disabledBefore = value.from.append(negativeMinLength).append({day: 1});\n const disabledAfter = value.from.append(minLength).append({day: -1});\n const inDisabledRange =\n disabledBefore.dayBefore(item) && disabledAfter.dayAfter(item);\n\n return inDisabledRange || disabledItemHandler(item);\n };\n }\n}\n","<tui-primitive-calendar-range\n *ngIf=\"!items.length; else presets\"\n automation-id=\"tui-calendar-range__calendars\"\n tuiPreventDefault=\"mousedown\"\n [defaultViewedMonthFirst]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax | tuiMapper: maxLengthMapper : value : maxLength : false\"\n [min]=\"computedMin | tuiMapper: maxLengthMapper : value : maxLength : true\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n></tui-primitive-calendar-range>\n<ng-template #presets>\n <div class=\"t-wrapper\">\n <tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n tuiPreventDefault=\"mousedown\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax | tuiMapper: maxLengthMapper : value : maxLength : false\"\n [min]=\"computedMin | tuiMapper: maxLengthMapper : value : maxLength : true\"\n [month]=\"computedMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n ></tui-calendar>\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n class=\"t-menu\"\n >\n <button\n *ngFor=\"let item of items | tuiMapper: mapper : min : max : minLength : (otherDateText$ | async)\"\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n tuiPreventDefault=\"mousedown\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (keydown.enter.prevent)=\"onItemSelect(item)\"\n (keydown.space.prevent)=\"onItemSelect(item)\"\n >\n {{ item }}\n <tui-svg\n *ngIf=\"isItemActive(item)\"\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-checkmark\"\n [src]=\"icons.check\"\n ></tui-svg>\n </button>\n </tui-data-list>\n </div>\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule, TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiCalendarModule, TuiDataListModule, TuiSvgModule} from '@taiga-ui/core';\nimport {TuiPrimitiveCalendarRangeModule} from '@taiga-ui/kit/internal/primitive-calendar-range';\n\nimport {TuiCalendarRangeComponent} from './calendar-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n TuiCalendarModule,\n TuiCalendarModule,\n TuiSvgModule,\n TuiDataListModule,\n TuiPrimitiveCalendarRangeModule,\n ],\n declarations: [TuiCalendarRangeComponent],\n exports: [TuiCalendarRangeComponent],\n})\nexport class TuiCalendarRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-carousel.js","sources":["../../../projects/kit/components/carousel/carousel-scroll.directive.ts","../../../projects/kit/components/carousel/carousel.directive.ts","../../../projects/kit/components/carousel/carousel-autoscroll.directive.ts","../../../projects/kit/components/carousel/carousel.component.ts","../../../projects/kit/components/carousel/carousel.template.html","../../../projects/kit/components/carousel/carousel-buttons.directive.ts","../../../projects/kit/components/carousel/carousel.module.ts","../../../projects/kit/components/carousel/taiga-ui-kit-components-carousel.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {filter, map, tap, throttleTime} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiCarouselScroll]',\n})\nexport class TuiCarouselScrollDirective {\n @Output()\n readonly tuiCarouselScroll = tuiTypedFromEvent(this.el.nativeElement, 'wheel').pipe(\n filter(({deltaX}) => Math.abs(deltaX) > 20),\n throttleTime(500),\n map(({deltaX}) => Math.sign(deltaX)),\n tap(() => {\n // So we always have space to scroll and overflow-behavior saves us from back nav\n this.el.nativeElement.scrollLeft = 10;\n }),\n );\n\n constructor(@Inject(ElementRef) private readonly el: ElementRef<HTMLElement>) {}\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {PAGE_VISIBILITY} from '@ng-web-apis/common';\nimport {\n ALWAYS_FALSE_HANDLER,\n ALWAYS_TRUE_HANDLER,\n tuiIfMap,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {BehaviorSubject, combineLatest, interval, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Directive({\n selector: 'tui-carousel',\n})\nexport class TuiCarouselDirective extends Observable<unknown> {\n private readonly duration$ = new BehaviorSubject(0);\n\n private readonly running$ = merge(\n tuiTypedFromEvent(this.el.nativeElement, 'mouseenter').pipe(\n map(ALWAYS_FALSE_HANDLER),\n ),\n tuiTypedFromEvent(this.el.nativeElement, 'touchstart').pipe(\n map(ALWAYS_FALSE_HANDLER),\n ),\n tuiTypedFromEvent(this.el.nativeElement, 'touchend').pipe(\n map(ALWAYS_TRUE_HANDLER),\n ),\n tuiTypedFromEvent(this.el.nativeElement, 'mouseleave').pipe(\n map(ALWAYS_TRUE_HANDLER),\n ),\n this.visible$,\n );\n\n private readonly output$ = combineLatest([this.duration$, this.running$]).pipe(\n tuiIfMap(\n ([duration]) => interval(duration),\n values => values.every(Boolean),\n ),\n );\n\n @Input()\n set duration(duration: number) {\n this.duration$.next(duration);\n }\n\n @Input()\n set index(_: number) {\n this.duration$.next(this.duration$.value);\n }\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(PAGE_VISIBILITY) private readonly visible$: Observable<boolean>,\n ) {\n super(subscriber => this.output$.subscribe(subscriber));\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiCarouselDirective} from './carousel.directive';\n\n@Directive({\n selector: '[tuiCarouselAutoscroll]',\n outputs: ['tuiCarouselAutoscroll'],\n})\nexport class TuiCarouselAutoscrollDirective {\n constructor(\n @Inject(TuiCarouselDirective) readonly tuiCarouselAutoscroll: Observable<unknown>,\n ) {}\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n TUI_IS_MOBILE,\n TUI_SWIPE_OPTIONS,\n tuiClamp,\n TuiItemDirective,\n tuiPure,\n TuiSwipeDirection,\n} from '@taiga-ui/cdk';\n\n@Component({\n selector: 'tui-carousel',\n templateUrl: './carousel.template.html',\n styleUrls: ['./carousel.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: TUI_SWIPE_OPTIONS, useValue: {timeout: 200, threshold: 30}}],\n})\nexport class TuiCarouselComponent {\n private translate = 0;\n\n @Input()\n @HostBinding('class._draggable')\n draggable = false;\n\n @Input()\n itemsCount = 1;\n\n @Input()\n index = 0;\n\n @Output()\n readonly indexChange = new EventEmitter<number>();\n\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> = EMPTY_QUERY;\n\n @HostBinding('class._transitioned')\n transitioned = true;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n ) {}\n\n get transform(): string {\n const x = this.transitioned ? this.computedTranslate : this.translate;\n\n return `translateX(${100 * x}%)`;\n }\n\n @HostListener('touchstart', ['false'])\n @HostListener('touchend', ['true'])\n @HostListener('mousedown', ['false'])\n @HostListener('document:mouseup.silent', ['true'])\n onTransitioned(transitioned: boolean): void {\n this.transitioned = transitioned;\n\n if (!transitioned) {\n this.translate = this.computedTranslate;\n }\n }\n\n @tuiPure\n getStyle(itemsCount: number): Partial<CSSStyleDeclaration> {\n const percent = `${100 / itemsCount}%`;\n\n return {\n flexBasis: percent,\n minWidth: percent,\n maxWidth: percent,\n };\n }\n\n next(): void {\n if (this.items && this.index === this.items.length - this.itemsCount) {\n return;\n }\n\n this.updateIndex(this.index + 1);\n }\n\n prev(): void {\n this.updateIndex(this.index - 1);\n }\n\n isDisabled(index: number): boolean {\n return index < this.index || index > this.index + this.itemsCount;\n }\n\n onIntersection({intersectionRatio}: IntersectionObserverEntry, index: number): void {\n if (intersectionRatio && intersectionRatio >= 0.5 && !this.transitioned) {\n this.updateIndex(this.index < index ? index - this.itemsCount + 1 : index);\n }\n }\n\n onScroll(delta: number): void {\n if (!this.isMobile) {\n this.updateIndex(this.index + delta);\n }\n }\n\n onPan(x: number): void {\n if (!this.computedDraggable) {\n return;\n }\n\n const {clientWidth} = this.el.nativeElement;\n const min = 1 - this.items.length / this.itemsCount;\n\n this.translate = tuiClamp(x / clientWidth + this.translate, min, 0);\n }\n\n onSwipe(direction: TuiSwipeDirection): void {\n if (direction === 'left') {\n this.next();\n } else if (direction === 'right') {\n this.prev();\n }\n }\n\n onAutoscroll(): void {\n this.updateIndex(this.index === this.items.length - 1 ? 0 : this.index + 1);\n }\n\n private get computedTranslate(): number {\n return -this.index / this.itemsCount;\n }\n\n private get computedDraggable(): boolean {\n return this.isMobile || this.draggable;\n }\n\n private updateIndex(index: number): void {\n this.index = tuiClamp(index, 0, this.items.length - 1);\n this.indexChange.emit(this.index);\n this.cdr.markForCheck();\n }\n}\n","<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div\n class=\"t-scroller\"\n (tuiCarouselScroll)=\"onScroll($event)\"\n>\n <div\n waIntersectionObserver\n waIntersectionThreshold=\"0.5\"\n class=\"t-wrapper\"\n >\n <div\n class=\"t-items\"\n [style.transform]=\"transform\"\n (tuiCarouselAutoscroll)=\"onAutoscroll()\"\n (tuiPan)=\"onPan($event[0])\"\n (tuiSwipe)=\"onSwipe($event.direction)\"\n >\n <fieldset\n *ngFor=\"let item of items; let i = index\"\n class=\"t-item\"\n [disabled]=\"isDisabled(i)\"\n [ngStyle]=\"getStyle(itemsCount)\"\n (waIntersectionObservee)=\"onIntersection($event[0], i)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </fieldset>\n </div>\n </div>\n</div>\n","import {Directive} from '@angular/core';\nimport {TuiAppearance, tuiButtonOptionsProvider} from '@taiga-ui/core';\n\n@Directive({\n selector: '[tuiCarouselButtons]',\n providers: [\n tuiButtonOptionsProvider({\n appearance: TuiAppearance.Secondary,\n shape: 'rounded',\n size: 'm',\n }),\n ],\n})\nexport class TuiCarouselButtonsDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {IntersectionObserverModule} from '@ng-web-apis/intersection-observer';\nimport {\n TuiItemDirective,\n TuiItemModule,\n TuiPanModule,\n TuiSwipeModule,\n} from '@taiga-ui/cdk';\n\nimport {TuiCarouselComponent} from './carousel.component';\nimport {TuiCarouselDirective} from './carousel.directive';\nimport {TuiCarouselAutoscrollDirective} from './carousel-autoscroll.directive';\nimport {TuiCarouselButtonsDirective} from './carousel-buttons.directive';\nimport {TuiCarouselScrollDirective} from './carousel-scroll.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n IntersectionObserverModule,\n TuiPanModule,\n TuiSwipeModule,\n TuiItemModule,\n ],\n declarations: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiCarouselAutoscrollDirective,\n TuiCarouselScrollDirective,\n ],\n exports: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiItemDirective,\n ],\n})\nexport class TuiCarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.TuiCarouselScrollDirective","i4.TuiCarouselAutoscrollDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-carousel.js","sources":["../../../projects/kit/components/carousel/carousel-scroll.directive.ts","../../../projects/kit/components/carousel/carousel.directive.ts","../../../projects/kit/components/carousel/carousel-autoscroll.directive.ts","../../../projects/kit/components/carousel/carousel.component.ts","../../../projects/kit/components/carousel/carousel.template.html","../../../projects/kit/components/carousel/carousel-buttons.directive.ts","../../../projects/kit/components/carousel/carousel.module.ts","../../../projects/kit/components/carousel/taiga-ui-kit-components-carousel.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {filter, map, tap, throttleTime} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiCarouselScroll]',\n})\nexport class TuiCarouselScrollDirective {\n @Output()\n readonly tuiCarouselScroll = tuiTypedFromEvent(this.el.nativeElement, 'wheel').pipe(\n filter(({deltaX}) => Math.abs(deltaX) > 20),\n throttleTime(500),\n map(({deltaX}) => Math.sign(deltaX)),\n tap(() => {\n // So we always have space to scroll and overflow-behavior saves us from back nav\n this.el.nativeElement.scrollLeft = 10;\n }),\n );\n\n constructor(@Inject(ElementRef) private readonly el: ElementRef<HTMLElement>) {}\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {PAGE_VISIBILITY} from '@ng-web-apis/common';\nimport {\n ALWAYS_FALSE_HANDLER,\n ALWAYS_TRUE_HANDLER,\n tuiIfMap,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {BehaviorSubject, combineLatest, interval, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Directive({\n selector: 'tui-carousel',\n})\nexport class TuiCarouselDirective extends Observable<unknown> {\n private readonly duration$ = new BehaviorSubject(0);\n\n private readonly running$ = merge(\n tuiTypedFromEvent(this.el.nativeElement, 'mouseenter').pipe(\n map(ALWAYS_FALSE_HANDLER),\n ),\n tuiTypedFromEvent(this.el.nativeElement, 'touchstart').pipe(\n map(ALWAYS_FALSE_HANDLER),\n ),\n tuiTypedFromEvent(this.el.nativeElement, 'touchend').pipe(\n map(ALWAYS_TRUE_HANDLER),\n ),\n tuiTypedFromEvent(this.el.nativeElement, 'mouseleave').pipe(\n map(ALWAYS_TRUE_HANDLER),\n ),\n this.visible$,\n );\n\n private readonly output$ = combineLatest([this.duration$, this.running$]).pipe(\n tuiIfMap(\n ([duration]) => interval(duration),\n values => values.every(Boolean),\n ),\n );\n\n @Input()\n set duration(duration: number) {\n this.duration$.next(duration);\n }\n\n @Input()\n set index(_: number) {\n this.duration$.next(this.duration$.value);\n }\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(PAGE_VISIBILITY) private readonly visible$: Observable<boolean>,\n ) {\n super(subscriber => this.output$.subscribe(subscriber));\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiCarouselDirective} from './carousel.directive';\n\n@Directive({\n selector: '[tuiCarouselAutoscroll]',\n outputs: ['tuiCarouselAutoscroll'],\n})\nexport class TuiCarouselAutoscrollDirective {\n constructor(\n @Inject(TuiCarouselDirective) readonly tuiCarouselAutoscroll: Observable<unknown>,\n ) {}\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n TUI_IS_MOBILE,\n TUI_SWIPE_OPTIONS,\n tuiClamp,\n TuiItemDirective,\n tuiPure,\n TuiSwipeDirection,\n} from '@taiga-ui/cdk';\n\n@Component({\n selector: 'tui-carousel',\n templateUrl: './carousel.template.html',\n styleUrls: ['./carousel.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: TUI_SWIPE_OPTIONS, useValue: {timeout: 200, threshold: 30}}],\n})\nexport class TuiCarouselComponent {\n private translate = 0;\n\n @Input()\n @HostBinding('class._draggable')\n draggable = false;\n\n @Input()\n itemsCount = 1;\n\n @Input()\n index = 0;\n\n @Output()\n readonly indexChange = new EventEmitter<number>();\n\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> = EMPTY_QUERY;\n\n @HostBinding('class._transitioned')\n transitioned = true;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n ) {}\n\n get transform(): string {\n const x = this.transitioned ? this.computedTranslate : this.translate;\n\n return `translateX(${100 * x}%)`;\n }\n\n @HostListener('touchstart', ['false'])\n @HostListener('touchend', ['true'])\n @HostListener('mousedown', ['false'])\n @HostListener('document:mouseup.silent', ['true'])\n onTransitioned(transitioned: boolean): void {\n this.transitioned = transitioned;\n\n if (!transitioned) {\n this.translate = this.computedTranslate;\n }\n }\n\n @tuiPure\n getStyle(itemsCount: number): Partial<CSSStyleDeclaration> {\n const percent = `${100 / itemsCount}%`;\n\n return {\n flexBasis: percent,\n minWidth: percent,\n maxWidth: percent,\n };\n }\n\n next(): void {\n if (this.items && this.index === this.items.length - this.itemsCount) {\n return;\n }\n\n this.updateIndex(this.index + 1);\n }\n\n prev(): void {\n this.updateIndex(this.index - 1);\n }\n\n isDisabled(index: number): boolean {\n return index < this.index || index > this.index + this.itemsCount;\n }\n\n onIntersection({intersectionRatio}: IntersectionObserverEntry, index: number): void {\n if (intersectionRatio && intersectionRatio >= 0.5 && !this.transitioned) {\n this.updateIndex(this.index < index ? index - this.itemsCount + 1 : index);\n }\n }\n\n onScroll(delta: number): void {\n if (!this.isMobile) {\n delta > 0 ? this.next() : this.prev();\n }\n }\n\n onPan(x: number): void {\n if (!this.computedDraggable) {\n return;\n }\n\n const {clientWidth} = this.el.nativeElement;\n const min = 1 - this.items.length / this.itemsCount;\n\n this.translate = tuiClamp(x / clientWidth + this.translate, min, 0);\n }\n\n onSwipe(direction: TuiSwipeDirection): void {\n if (direction === 'left') {\n this.next();\n } else if (direction === 'right') {\n this.prev();\n }\n }\n\n onAutoscroll(): void {\n this.updateIndex(this.index === this.items.length - 1 ? 0 : this.index + 1);\n }\n\n private get computedTranslate(): number {\n return -this.index / this.itemsCount;\n }\n\n private get computedDraggable(): boolean {\n return this.isMobile || this.draggable;\n }\n\n private updateIndex(index: number): void {\n this.index = tuiClamp(index, 0, this.items.length - 1);\n this.indexChange.emit(this.index);\n this.cdr.markForCheck();\n }\n}\n","<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div\n class=\"t-scroller\"\n (tuiCarouselScroll)=\"onScroll($event)\"\n>\n <div\n waIntersectionObserver\n waIntersectionThreshold=\"0.5\"\n class=\"t-wrapper\"\n >\n <div\n class=\"t-items\"\n [style.transform]=\"transform\"\n (tuiCarouselAutoscroll)=\"onAutoscroll()\"\n (tuiPan)=\"onPan($event[0])\"\n (tuiSwipe)=\"onSwipe($event.direction)\"\n >\n <fieldset\n *ngFor=\"let item of items; let i = index\"\n class=\"t-item\"\n [disabled]=\"isDisabled(i)\"\n [ngStyle]=\"getStyle(itemsCount)\"\n (waIntersectionObservee)=\"onIntersection($event[0], i)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </fieldset>\n </div>\n </div>\n</div>\n","import {Directive} from '@angular/core';\nimport {TuiAppearance, tuiButtonOptionsProvider} from '@taiga-ui/core';\n\n@Directive({\n selector: '[tuiCarouselButtons]',\n providers: [\n tuiButtonOptionsProvider({\n appearance: TuiAppearance.Secondary,\n shape: 'rounded',\n size: 'm',\n }),\n ],\n})\nexport class TuiCarouselButtonsDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {IntersectionObserverModule} from '@ng-web-apis/intersection-observer';\nimport {\n TuiItemDirective,\n TuiItemModule,\n TuiPanModule,\n TuiSwipeModule,\n} from '@taiga-ui/cdk';\n\nimport {TuiCarouselComponent} from './carousel.component';\nimport {TuiCarouselDirective} from './carousel.directive';\nimport {TuiCarouselAutoscrollDirective} from './carousel-autoscroll.directive';\nimport {TuiCarouselButtonsDirective} from './carousel-buttons.directive';\nimport {TuiCarouselScrollDirective} from './carousel-scroll.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n IntersectionObserverModule,\n TuiPanModule,\n TuiSwipeModule,\n TuiItemModule,\n ],\n declarations: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiCarouselAutoscrollDirective,\n TuiCarouselScrollDirective,\n ],\n exports: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiItemDirective,\n ],\n})\nexport class TuiCarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.TuiCarouselScrollDirective","i4.TuiCarouselAutoscrollDirective"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { ChangeDetectorRef, inject, InjectFlags, Component, ChangeDetectionStrategy, Optional, Self, Inject, ViewChild,
|
|
3
|
+
import { ChangeDetectorRef, inject, InjectFlags, Component, ChangeDetectionStrategy, Optional, Self, Inject, ViewChild, forwardRef, Input, HostListener, HostBinding, Directive, NgModule } from '@angular/core';
|
|
4
4
|
import * as i8 from '@angular/forms';
|
|
5
5
|
import { NgControl } from '@angular/forms';
|
|
6
6
|
import { MASKITO_DEFAULT_OPTIONS } from '@maskito/core';
|
|
@@ -9,11 +9,11 @@ import * as i3 from '@taiga-ui/cdk';
|
|
|
9
9
|
import { AbstractTuiNullableControl, ALWAYS_FALSE_HANDLER, TuiMonth, changeDateSeparator, TUI_FIRST_DAY, TUI_LAST_DAY, tuiNullableSame, tuiIsPresent, DATE_RANGE_FILLER_LENGTH, TuiDayRange, DATE_FILLER_LENGTH, RANGE_SEPARATOR_CHAR, TUI_IS_MOBILE, TUI_DATE_FORMAT, TUI_DATE_SEPARATOR, tuiAsFocusableItemAccessor, tuiAsControl, tuiPure, TuiActiveZoneModule, TuiLetModule } from '@taiga-ui/cdk';
|
|
10
10
|
import * as i1 from '@taiga-ui/core';
|
|
11
11
|
import { TUI_DEFAULT_MARKER_HANDLER, TUI_TEXTFIELD_SIZE, TUI_DROPDOWN_COMPONENT, TuiPrimitiveTextfieldComponent, AbstractTuiTextfieldHost, tuiAsTextfieldHost, TuiWrapperModule, TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule, TuiHostedDropdownModule, TuiSvgModule, TuiTextfieldComponent } from '@taiga-ui/core';
|
|
12
|
+
import * as i2 from '@taiga-ui/kit/components/calendar-range';
|
|
13
|
+
import { TuiCalendarRangeComponent, TuiCalendarRangeModule } from '@taiga-ui/kit/components/calendar-range';
|
|
12
14
|
import { MAX_DAY_RANGE_LENGTH_MAPPER, TUI_DATE_MODE_MASKITO_ADAPTER } from '@taiga-ui/kit/constants';
|
|
13
15
|
import { TUI_MOBILE_CALENDAR, TUI_DATE_TEXTS, TUI_DATE_RANGE_VALUE_TRANSFORMER, TUI_INPUT_DATE_OPTIONS, tuiDateStreamWithTransformer } from '@taiga-ui/kit/tokens';
|
|
14
16
|
import { map } from 'rxjs/operators';
|
|
15
|
-
import * as i2 from '@taiga-ui/kit/components/calendar-range';
|
|
16
|
-
import { TuiCalendarRangeModule } from '@taiga-ui/kit/components/calendar-range';
|
|
17
17
|
import * as i4 from '@taiga-ui/kit/directives';
|
|
18
18
|
import { TuiValueAccessorModule } from '@taiga-ui/kit/directives';
|
|
19
19
|
import * as i5 from '@maskito/angular';
|
|
@@ -44,9 +44,22 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
|
|
|
44
44
|
this.minLength = null;
|
|
45
45
|
this.maxLength = null;
|
|
46
46
|
this.open = false;
|
|
47
|
+
this.selectedActivePeriod = null;
|
|
47
48
|
this.maxLengthMapper = MAX_DAY_RANGE_LENGTH_MAPPER;
|
|
48
49
|
this.dateFiller$ = this.dateTexts$.pipe(map(dateTexts => changeDateSeparator(dateTexts[this.dateFormat], this.dateSeparator)));
|
|
49
50
|
}
|
|
51
|
+
onClick() {
|
|
52
|
+
if (!this.isMobile && this.interactive) {
|
|
53
|
+
this.toggle();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// TODO: remove this after refactor controls to hold whole TuiDayRangePeriod
|
|
57
|
+
ngAfterViewChecked() {
|
|
58
|
+
if (this.calendarRange) {
|
|
59
|
+
this.calendarRange.selectedActivePeriod = this.selectedActivePeriod;
|
|
60
|
+
this.calendarRange.cdr.markForCheck();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
50
63
|
get size() {
|
|
51
64
|
return this.textfieldSize.size;
|
|
52
65
|
}
|
|
@@ -91,8 +104,10 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
|
|
|
91
104
|
: this.calculateMask(this.dateFormat, this.dateSeparator, this.computedMin, this.computedMax, this.minLength, this.maxLength);
|
|
92
105
|
}
|
|
93
106
|
get activePeriod() {
|
|
94
|
-
|
|
95
|
-
|
|
107
|
+
var _a;
|
|
108
|
+
return ((_a = this.selectedActivePeriod) !== null && _a !== void 0 ? _a : (this.items.find(item => tuiNullableSame(this.value, item.range, (a, b) => a.from.daySame(b.from.dayLimit(this.min, this.max)) &&
|
|
109
|
+
a.to.daySame(b.to.dayLimit(this.min, this.max)))) ||
|
|
110
|
+
null));
|
|
96
111
|
}
|
|
97
112
|
get computedValue() {
|
|
98
113
|
const { value, nativeValue, activePeriod } = this;
|
|
@@ -128,17 +143,12 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
|
|
|
128
143
|
this.nativeFocusableElement.value = value;
|
|
129
144
|
}
|
|
130
145
|
}
|
|
131
|
-
onClick() {
|
|
132
|
-
if (!this.isMobile && this.interactive) {
|
|
133
|
-
this.open = !this.open;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
146
|
getComputedRangeFiller(dateFiller) {
|
|
137
147
|
return this.activePeriod ? '' : this.getDateRangeFiller(dateFiller);
|
|
138
148
|
}
|
|
139
149
|
onIconClick() {
|
|
140
150
|
if (this.isMobile && this.interactive) {
|
|
141
|
-
this.
|
|
151
|
+
this.onOpenChange(true);
|
|
142
152
|
}
|
|
143
153
|
}
|
|
144
154
|
onOpenChange(open) {
|
|
@@ -155,14 +165,19 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
|
|
|
155
165
|
value.length === DATE_RANGE_FILLER_LENGTH
|
|
156
166
|
? TuiDayRange.normalizeParse(value, this.dateFormat)
|
|
157
167
|
: null;
|
|
168
|
+
if (!this.value) {
|
|
169
|
+
this.selectedActivePeriod = null;
|
|
170
|
+
}
|
|
158
171
|
}
|
|
159
172
|
onRangeChange(range) {
|
|
173
|
+
var _a, _b;
|
|
160
174
|
this.toggle();
|
|
161
175
|
this.focusInput();
|
|
162
176
|
if (!range) {
|
|
163
177
|
this.nativeValue = '';
|
|
164
178
|
}
|
|
165
179
|
this.value = range;
|
|
180
|
+
this.selectedActivePeriod = (_b = (_a = this.calendarRange) === null || _a === void 0 ? void 0 : _a.selectedActivePeriod) !== null && _b !== void 0 ? _b : null;
|
|
166
181
|
}
|
|
167
182
|
// TODO: investigate if it is used anywhere and (if not) delete it in v4.0
|
|
168
183
|
onItemSelect(item) {
|
|
@@ -231,7 +246,7 @@ TuiInputDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
231
246
|
inject(TUI_MOBILE_CALENDAR, InjectFlags.Optional)) ||
|
|
232
247
|
inject(TUI_DROPDOWN_COMPONENT, InjectFlags.SkipSelf),
|
|
233
248
|
},
|
|
234
|
-
], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"dateFiller$ | async as dateFiller\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n ></ng-content>\n\n <div\n *ngIf=\"showValueTemplate\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n appearance=\"icon\"\n automation-id=\"tui-input-date-range__icon\"\n tuiWrapper\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n (click)=\"onIconClick()\"\n ></tui-svg>\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax\"\n [maxLength]=\"maxLength\"\n [min]=\"computedMin\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n (valueChange)=\"onRangeChange($event)\"\n ></tui-calendar-range>\n </ng-template>\n</tui-hosted-dropdown>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-value{display:flex;width:100%;align-items:center}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2.TuiCalendarRangeComponent, selector: "tui-calendar-range", inputs: ["defaultViewedMonth", "disabledItemHandler", "markerHandler", "items", "min", "max", "minLength", "maxLength", "value"], outputs: ["valueChange"] }], directives: [{ type: i3.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i4.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { type: i5.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { type: i1.TuiTextfieldFillerDirective, selector: "[tuiTextfieldFiller]", inputs: ["tuiTextfieldFiller"] }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
249
|
+
], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }, { propertyName: "calendarRange", first: true, predicate: i0.forwardRef(function () { return TuiCalendarRangeComponent; }), descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"dateFiller$ | async as dateFiller\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n ></ng-content>\n\n <div\n *ngIf=\"showValueTemplate\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n appearance=\"icon\"\n automation-id=\"tui-input-date-range__icon\"\n tuiWrapper\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n (click)=\"onIconClick()\"\n ></tui-svg>\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax\"\n [maxLength]=\"maxLength\"\n [min]=\"computedMin\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n (valueChange)=\"onRangeChange($event)\"\n ></tui-calendar-range>\n </ng-template>\n</tui-hosted-dropdown>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-value{display:flex;width:100%;align-items:center}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2.TuiCalendarRangeComponent, selector: "tui-calendar-range", inputs: ["defaultViewedMonth", "disabledItemHandler", "markerHandler", "items", "min", "max", "minLength", "maxLength", "value"], outputs: ["valueChange"] }], directives: [{ type: i3.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i4.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { type: i5.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { type: i1.TuiTextfieldFillerDirective, selector: "[tuiTextfieldFiller]", inputs: ["tuiTextfieldFiller"] }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
235
250
|
__decorate([
|
|
236
251
|
tuiPure
|
|
237
252
|
], TuiInputDateRangeComponent.prototype, "calculateMask", null);
|
|
@@ -295,6 +310,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
295
310
|
}] }]; }, propDecorators: { textfield: [{
|
|
296
311
|
type: ViewChild,
|
|
297
312
|
args: [TuiPrimitiveTextfieldComponent]
|
|
313
|
+
}], calendarRange: [{
|
|
314
|
+
type: ViewChild,
|
|
315
|
+
args: [forwardRef(() => TuiCalendarRangeComponent)]
|
|
298
316
|
}], disabledItemHandler: [{
|
|
299
317
|
type: Input
|
|
300
318
|
}], markerHandler: [{
|
|
@@ -311,12 +329,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
311
329
|
type: Input
|
|
312
330
|
}], maxLength: [{
|
|
313
331
|
type: Input
|
|
314
|
-
}], size: [{
|
|
315
|
-
type: HostBinding,
|
|
316
|
-
args: ['attr.data-size']
|
|
317
332
|
}], onClick: [{
|
|
318
333
|
type: HostListener,
|
|
319
334
|
args: ['click']
|
|
335
|
+
}], size: [{
|
|
336
|
+
type: HostBinding,
|
|
337
|
+
args: ['attr.data-size']
|
|
320
338
|
}], calculateMask: [] } });
|
|
321
339
|
|
|
322
340
|
class TuiInputDateRangeDirective extends AbstractTuiTextfieldHost {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-input-date-range.js","sources":["../../../projects/kit/components/input-date-range/input-date-range.component.ts","../../../projects/kit/components/input-date-range/input-date-range.template.html","../../../projects/kit/components/input-date-range/input-date-range.directive.ts","../../../projects/kit/components/input-date-range/input-date-range.module.ts","../../../projects/kit/components/input-date-range/taiga-ui-kit-components-input-date-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n HostListener,\n Inject,\n inject,\n InjectFlags,\n Input,\n Optional,\n Self,\n Type,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {MASKITO_DEFAULT_OPTIONS, MaskitoOptions} from '@maskito/core';\nimport {maskitoDateRangeOptionsGenerator} from '@maskito/kit';\nimport {\n AbstractTuiNullableControl,\n AbstractTuiValueTransformer,\n ALWAYS_FALSE_HANDLER,\n changeDateSeparator,\n DATE_FILLER_LENGTH,\n DATE_RANGE_FILLER_LENGTH,\n RANGE_SEPARATOR_CHAR,\n TUI_DATE_FORMAT,\n TUI_DATE_SEPARATOR,\n TUI_FIRST_DAY,\n TUI_IS_MOBILE,\n TUI_LAST_DAY,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n TuiDateMode,\n TuiDay,\n TuiDayLike,\n TuiDayRange,\n TuiFocusableElementAccessor,\n tuiIsPresent,\n TuiMonth,\n tuiNullableSame,\n tuiPure,\n TuiTypedMapper,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DEFAULT_MARKER_HANDLER,\n TUI_DROPDOWN_COMPONENT,\n TUI_TEXTFIELD_SIZE,\n TuiMarkerHandler,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiDayRangePeriod} from '@taiga-ui/kit/classes';\nimport {\n MAX_DAY_RANGE_LENGTH_MAPPER,\n TUI_DATE_MODE_MASKITO_ADAPTER,\n} from '@taiga-ui/kit/constants';\nimport {\n TUI_DATE_RANGE_VALUE_TRANSFORMER,\n TUI_DATE_TEXTS,\n TUI_INPUT_DATE_OPTIONS,\n TUI_MOBILE_CALENDAR,\n tuiDateStreamWithTransformer,\n TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-input-date-range',\n templateUrl: './input-date-range.template.html',\n styleUrls: ['./input-date-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputDateRangeComponent),\n tuiAsControl(TuiInputDateRangeComponent),\n tuiDateStreamWithTransformer(TUI_DATE_RANGE_VALUE_TRANSFORMER),\n {\n provide: TUI_DROPDOWN_COMPONENT,\n useFactory: () =>\n (inject(TUI_IS_MOBILE) &&\n inject(TUI_MOBILE_CALENDAR, InjectFlags.Optional)) ||\n inject(TUI_DROPDOWN_COMPONENT, InjectFlags.SkipSelf),\n },\n ],\n})\nexport class TuiInputDateRangeComponent\n extends AbstractTuiNullableControl<TuiDayRange>\n implements TuiWithOptionalMinMax<TuiDay>, TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n defaultViewedMonth = TuiMonth.currentLocal();\n\n @Input()\n items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n min: TuiDay | null = this.options.min;\n\n @Input()\n max: TuiDay | null = this.options.max;\n\n @Input()\n minLength: TuiDayLike | null = null;\n\n @Input()\n maxLength: TuiDayLike | null = null;\n\n open = false;\n\n readonly maxLengthMapper: TuiTypedMapper<\n [TuiDay, TuiDayRange | null, TuiDayLike | null, boolean],\n TuiDay\n > = MAX_DAY_RANGE_LENGTH_MAPPER;\n\n readonly dateFiller$ = this.dateTexts$.pipe(\n map(dateTexts =>\n changeDateSeparator(dateTexts[this.dateFormat], this.dateSeparator),\n ),\n );\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Optional()\n @Inject(TUI_MOBILE_CALENDAR)\n private readonly mobileCalendar: Type<Record<string, any>> | null,\n @Inject(TUI_DATE_FORMAT) readonly dateFormat: TuiDateMode,\n @Inject(TUI_DATE_SEPARATOR) readonly dateSeparator: string,\n @Inject(TUI_DATE_TEXTS)\n readonly dateTexts$: Observable<Record<TuiDateMode, string>>,\n @Optional()\n @Inject(TUI_DATE_RANGE_VALUE_TRANSFORMER)\n override readonly valueTransformer: AbstractTuiValueTransformer<TuiDayRange | null> | null,\n @Inject(TUI_INPUT_DATE_OPTIONS) private readonly options: TuiInputDateOptions,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n ) {\n super(control, cdr, valueTransformer);\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n get computedMin(): TuiDay {\n return this.min ?? TUI_FIRST_DAY;\n }\n\n get computedMax(): TuiDay {\n return this.max ?? TUI_LAST_DAY;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n get computedMobile(): boolean {\n return this.isMobile && !!this.mobileCalendar;\n }\n\n get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n get computedExampleText(): string {\n return this.items.length\n ? this.textfield?.nativeFocusableElement?.placeholder || ''\n : '';\n }\n\n get computedMask(): MaskitoOptions {\n /**\n * TODO: we can delete this workaround in v4.0\n * after solving this issue:\n * https://github.com/taiga-family/maskito/issues/604\n */\n const nativeValueIsNotSynced =\n this.textfield?.nativeFocusableElement?.value !== this.computedValue;\n\n return this.activePeriod || nativeValueIsNotSynced\n ? MASKITO_DEFAULT_OPTIONS\n : this.calculateMask(\n this.dateFormat,\n this.dateSeparator,\n this.computedMin,\n this.computedMax,\n this.minLength,\n this.maxLength,\n );\n }\n\n get activePeriod(): TuiDayRangePeriod | null {\n return (\n this.items.find(item =>\n tuiNullableSame(\n this.value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) || null\n );\n }\n\n get computedValue(): string {\n const {value, nativeValue, activePeriod} = this;\n\n if (activePeriod) {\n return String(activePeriod);\n }\n\n return value\n ? value.getFormattedDayRange(this.dateFormat, this.dateSeparator)\n : nativeValue;\n }\n\n get showValueTemplate(): boolean {\n return tuiIsPresent(this.value) && !this.focused;\n }\n\n get computedContent(): PolymorpheusContent {\n return this.activePeriod?.content || this.computedValue;\n }\n\n get innerPseudoFocused(): boolean | null {\n if (this.pseudoFocus === false) {\n return false;\n }\n\n if (this.open || this.computedFocused) {\n return true;\n }\n\n return null;\n }\n\n get nativeValue(): string {\n return this.nativeFocusableElement?.value || '';\n }\n\n set nativeValue(value: string) {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n\n @HostListener('click')\n onClick(): void {\n if (!this.isMobile && this.interactive) {\n this.open = !this.open;\n }\n }\n\n getComputedRangeFiller(dateFiller: string): string {\n return this.activePeriod ? '' : this.getDateRangeFiller(dateFiller);\n }\n\n onIconClick(): void {\n if (this.isMobile && this.interactive) {\n this.open = true;\n }\n }\n\n onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n onValueChange(value: string): void {\n if (this.control) {\n this.control.updateValueAndValidity({emitEvent: false});\n }\n\n if (!value && !this.mobileCalendar) {\n this.onOpenChange(true);\n }\n\n this.value =\n value.length === DATE_RANGE_FILLER_LENGTH\n ? TuiDayRange.normalizeParse(value, this.dateFormat)\n : null;\n }\n\n onRangeChange(range: TuiDayRange | null): void {\n this.toggle();\n this.focusInput();\n\n if (!range) {\n this.nativeValue = '';\n }\n\n this.value = range;\n }\n\n // TODO: investigate if it is used anywhere and (if not) delete it in v4.0\n onItemSelect(item: TuiDayRangePeriod | string): void {\n this.toggle();\n this.focusInput();\n\n if (typeof item !== 'string') {\n this.value = item.range.dayLimit(this.min, this.max);\n\n return;\n }\n\n if (this.activePeriod === null) {\n return;\n }\n\n this.value = null;\n this.nativeValue = '';\n }\n\n onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n !focused &&\n !this.itemSelected &&\n (this.nativeValue.length === DATE_FILLER_LENGTH ||\n this.nativeValue.length ===\n DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length)\n ) {\n this.value = TuiDayRange.normalizeParse(this.nativeValue, this.dateFormat);\n }\n }\n\n override writeValue(value: TuiDayRange | null): void {\n super.writeValue(value);\n this.nativeValue = value ? this.computedValue : '';\n }\n\n protected override valueIdenticalComparator(\n oldValue: TuiDayRange | null,\n newValue: TuiDayRange | null,\n ): boolean {\n return tuiNullableSame(oldValue, newValue, (a, b) => a.daySame(b));\n }\n\n @tuiPure\n private calculateMask(\n dateFormat: TuiDateMode,\n separator: string,\n min: TuiDay,\n max: TuiDay,\n minLength: TuiDayLike | null,\n maxLength: TuiDayLike | null,\n ): MaskitoOptions {\n return maskitoDateRangeOptionsGenerator({\n separator,\n mode: TUI_DATE_MODE_MASKITO_ADAPTER[dateFormat],\n min: min.toLocalNativeDate(),\n max: max.toLocalNativeDate(),\n minLength: minLength || {},\n maxLength: maxLength || {},\n });\n }\n\n private get itemSelected(): boolean {\n return this.items.findIndex(item => String(item) === this.nativeValue) !== -1;\n }\n\n private toggle(): void {\n this.open = !this.open;\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n\n private getDateRangeFiller(dateFiller: string): string {\n return `${dateFiller}${RANGE_SEPARATOR_CHAR}${dateFiller}`;\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"dateFiller$ | async as dateFiller\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n ></ng-content>\n\n <div\n *ngIf=\"showValueTemplate\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n appearance=\"icon\"\n automation-id=\"tui-input-date-range__icon\"\n tuiWrapper\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n (click)=\"onIconClick()\"\n ></tui-svg>\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax\"\n [maxLength]=\"maxLength\"\n [min]=\"computedMin\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n (valueChange)=\"onRangeChange($event)\"\n ></tui-calendar-range>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Directive, DoCheck} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\n\n@Directive({\n selector: 'tui-input-date-range',\n providers: [tuiAsTextfieldHost(TuiInputDateRangeDirective)],\n})\nexport class TuiInputDateRangeDirective\n extends AbstractTuiTextfieldHost<TuiInputDateRangeComponent>\n implements DoCheck\n{\n override get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n override process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n\n ngDoCheck(): void {\n if (this.host.nativeFocusableElement) {\n this.host.nativeFocusableElement.placeholder = this.host.computedExampleText;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoModule} from '@maskito/angular';\nimport {TuiActiveZoneModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {TuiCalendarRangeModule} from '@taiga-ui/kit/components/calendar-range';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\nimport {TuiInputDateRangeDirective} from './input-date-range.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n MaskitoModule,\n TuiActiveZoneModule,\n TuiLetModule,\n PolymorpheusModule,\n TuiWrapperModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiHostedDropdownModule,\n TuiSvgModule,\n TuiCalendarRangeModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective],\n exports: [\n TuiInputDateRangeComponent,\n TuiInputDateRangeDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiInputDateRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-input-date-range.js","sources":["../../../projects/kit/components/input-date-range/input-date-range.component.ts","../../../projects/kit/components/input-date-range/input-date-range.template.html","../../../projects/kit/components/input-date-range/input-date-range.directive.ts","../../../projects/kit/components/input-date-range/input-date-range.module.ts","../../../projects/kit/components/input-date-range/taiga-ui-kit-components-input-date-range.ts"],"sourcesContent":["import {\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n inject,\n InjectFlags,\n Input,\n Optional,\n Self,\n Type,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {MASKITO_DEFAULT_OPTIONS, MaskitoOptions} from '@maskito/core';\nimport {maskitoDateRangeOptionsGenerator} from '@maskito/kit';\nimport {\n AbstractTuiNullableControl,\n AbstractTuiValueTransformer,\n ALWAYS_FALSE_HANDLER,\n changeDateSeparator,\n DATE_FILLER_LENGTH,\n DATE_RANGE_FILLER_LENGTH,\n RANGE_SEPARATOR_CHAR,\n TUI_DATE_FORMAT,\n TUI_DATE_SEPARATOR,\n TUI_FIRST_DAY,\n TUI_IS_MOBILE,\n TUI_LAST_DAY,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n TuiDateMode,\n TuiDay,\n TuiDayLike,\n TuiDayRange,\n TuiFocusableElementAccessor,\n tuiIsPresent,\n TuiMonth,\n tuiNullableSame,\n tuiPure,\n TuiTypedMapper,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DEFAULT_MARKER_HANDLER,\n TUI_DROPDOWN_COMPONENT,\n TUI_TEXTFIELD_SIZE,\n TuiMarkerHandler,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiDayRangePeriod} from '@taiga-ui/kit/classes';\nimport {TuiCalendarRangeComponent} from '@taiga-ui/kit/components/calendar-range';\nimport {\n MAX_DAY_RANGE_LENGTH_MAPPER,\n TUI_DATE_MODE_MASKITO_ADAPTER,\n} from '@taiga-ui/kit/constants';\nimport {\n TUI_DATE_RANGE_VALUE_TRANSFORMER,\n TUI_DATE_TEXTS,\n TUI_INPUT_DATE_OPTIONS,\n TUI_MOBILE_CALENDAR,\n tuiDateStreamWithTransformer,\n TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-input-date-range',\n templateUrl: './input-date-range.template.html',\n styleUrls: ['./input-date-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputDateRangeComponent),\n tuiAsControl(TuiInputDateRangeComponent),\n tuiDateStreamWithTransformer(TUI_DATE_RANGE_VALUE_TRANSFORMER),\n {\n provide: TUI_DROPDOWN_COMPONENT,\n useFactory: () =>\n (inject(TUI_IS_MOBILE) &&\n inject(TUI_MOBILE_CALENDAR, InjectFlags.Optional)) ||\n inject(TUI_DROPDOWN_COMPONENT, InjectFlags.SkipSelf),\n },\n ],\n})\nexport class TuiInputDateRangeComponent\n extends AbstractTuiNullableControl<TuiDayRange>\n implements\n TuiWithOptionalMinMax<TuiDay>,\n TuiFocusableElementAccessor,\n AfterViewChecked\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @ViewChild(forwardRef(() => TuiCalendarRangeComponent))\n private readonly calendarRange?: TuiCalendarRangeComponent;\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n defaultViewedMonth = TuiMonth.currentLocal();\n\n @Input()\n items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n min: TuiDay | null = this.options.min;\n\n @Input()\n max: TuiDay | null = this.options.max;\n\n @Input()\n minLength: TuiDayLike | null = null;\n\n @Input()\n maxLength: TuiDayLike | null = null;\n\n open = false;\n\n selectedActivePeriod: TuiDayRangePeriod | null = null;\n\n readonly maxLengthMapper: TuiTypedMapper<\n [TuiDay, TuiDayRange | null, TuiDayLike | null, boolean],\n TuiDay\n > = MAX_DAY_RANGE_LENGTH_MAPPER;\n\n readonly dateFiller$ = this.dateTexts$.pipe(\n map(dateTexts =>\n changeDateSeparator(dateTexts[this.dateFormat], this.dateSeparator),\n ),\n );\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Optional()\n @Inject(TUI_MOBILE_CALENDAR)\n private readonly mobileCalendar: Type<Record<string, any>> | null,\n @Inject(TUI_DATE_FORMAT) readonly dateFormat: TuiDateMode,\n @Inject(TUI_DATE_SEPARATOR) readonly dateSeparator: string,\n @Inject(TUI_DATE_TEXTS)\n readonly dateTexts$: Observable<Record<TuiDateMode, string>>,\n @Optional()\n @Inject(TUI_DATE_RANGE_VALUE_TRANSFORMER)\n override readonly valueTransformer: AbstractTuiValueTransformer<TuiDayRange | null> | null,\n @Inject(TUI_INPUT_DATE_OPTIONS) private readonly options: TuiInputDateOptions,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n ) {\n super(control, cdr, valueTransformer);\n }\n\n @HostListener('click')\n onClick(): void {\n if (!this.isMobile && this.interactive) {\n this.toggle();\n }\n }\n\n // TODO: remove this after refactor controls to hold whole TuiDayRangePeriod\n ngAfterViewChecked(): void {\n if (this.calendarRange) {\n this.calendarRange.selectedActivePeriod = this.selectedActivePeriod;\n this.calendarRange.cdr.markForCheck();\n }\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n get computedMin(): TuiDay {\n return this.min ?? TUI_FIRST_DAY;\n }\n\n get computedMax(): TuiDay {\n return this.max ?? TUI_LAST_DAY;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n get computedMobile(): boolean {\n return this.isMobile && !!this.mobileCalendar;\n }\n\n get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n get computedExampleText(): string {\n return this.items.length\n ? this.textfield?.nativeFocusableElement?.placeholder || ''\n : '';\n }\n\n get computedMask(): MaskitoOptions {\n /**\n * TODO: we can delete this workaround in v4.0\n * after solving this issue:\n * https://github.com/taiga-family/maskito/issues/604\n */\n const nativeValueIsNotSynced =\n this.textfield?.nativeFocusableElement?.value !== this.computedValue;\n\n return this.activePeriod || nativeValueIsNotSynced\n ? MASKITO_DEFAULT_OPTIONS\n : this.calculateMask(\n this.dateFormat,\n this.dateSeparator,\n this.computedMin,\n this.computedMax,\n this.minLength,\n this.maxLength,\n );\n }\n\n get activePeriod(): TuiDayRangePeriod | null {\n return (\n this.selectedActivePeriod ??\n (this.items.find(item =>\n tuiNullableSame(\n this.value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) ||\n null)\n );\n }\n\n get computedValue(): string {\n const {value, nativeValue, activePeriod} = this;\n\n if (activePeriod) {\n return String(activePeriod);\n }\n\n return value\n ? value.getFormattedDayRange(this.dateFormat, this.dateSeparator)\n : nativeValue;\n }\n\n get showValueTemplate(): boolean {\n return tuiIsPresent(this.value) && !this.focused;\n }\n\n get computedContent(): PolymorpheusContent {\n return this.activePeriod?.content || this.computedValue;\n }\n\n get innerPseudoFocused(): boolean | null {\n if (this.pseudoFocus === false) {\n return false;\n }\n\n if (this.open || this.computedFocused) {\n return true;\n }\n\n return null;\n }\n\n get nativeValue(): string {\n return this.nativeFocusableElement?.value || '';\n }\n\n set nativeValue(value: string) {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n\n getComputedRangeFiller(dateFiller: string): string {\n return this.activePeriod ? '' : this.getDateRangeFiller(dateFiller);\n }\n\n onIconClick(): void {\n if (this.isMobile && this.interactive) {\n this.onOpenChange(true);\n }\n }\n\n onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n onValueChange(value: string): void {\n if (this.control) {\n this.control.updateValueAndValidity({emitEvent: false});\n }\n\n if (!value && !this.mobileCalendar) {\n this.onOpenChange(true);\n }\n\n this.value =\n value.length === DATE_RANGE_FILLER_LENGTH\n ? TuiDayRange.normalizeParse(value, this.dateFormat)\n : null;\n\n if (!this.value) {\n this.selectedActivePeriod = null;\n }\n }\n\n onRangeChange(range: TuiDayRange | null): void {\n this.toggle();\n this.focusInput();\n\n if (!range) {\n this.nativeValue = '';\n }\n\n this.value = range;\n this.selectedActivePeriod = this.calendarRange?.selectedActivePeriod ?? null;\n }\n\n // TODO: investigate if it is used anywhere and (if not) delete it in v4.0\n onItemSelect(item: TuiDayRangePeriod | string): void {\n this.toggle();\n this.focusInput();\n\n if (typeof item !== 'string') {\n this.value = item.range.dayLimit(this.min, this.max);\n\n return;\n }\n\n if (this.activePeriod === null) {\n return;\n }\n\n this.value = null;\n this.nativeValue = '';\n }\n\n onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n !focused &&\n !this.itemSelected &&\n (this.nativeValue.length === DATE_FILLER_LENGTH ||\n this.nativeValue.length ===\n DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length)\n ) {\n this.value = TuiDayRange.normalizeParse(this.nativeValue, this.dateFormat);\n }\n }\n\n override writeValue(value: TuiDayRange | null): void {\n super.writeValue(value);\n this.nativeValue = value ? this.computedValue : '';\n }\n\n protected override valueIdenticalComparator(\n oldValue: TuiDayRange | null,\n newValue: TuiDayRange | null,\n ): boolean {\n return tuiNullableSame(oldValue, newValue, (a, b) => a.daySame(b));\n }\n\n @tuiPure\n private calculateMask(\n dateFormat: TuiDateMode,\n separator: string,\n min: TuiDay,\n max: TuiDay,\n minLength: TuiDayLike | null,\n maxLength: TuiDayLike | null,\n ): MaskitoOptions {\n return maskitoDateRangeOptionsGenerator({\n separator,\n mode: TUI_DATE_MODE_MASKITO_ADAPTER[dateFormat],\n min: min.toLocalNativeDate(),\n max: max.toLocalNativeDate(),\n minLength: minLength || {},\n maxLength: maxLength || {},\n });\n }\n\n private get itemSelected(): boolean {\n return this.items.findIndex(item => String(item) === this.nativeValue) !== -1;\n }\n\n private toggle(): void {\n this.open = !this.open;\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n\n private getDateRangeFiller(dateFiller: string): string {\n return `${dateFiller}${RANGE_SEPARATOR_CHAR}${dateFiller}`;\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"dateFiller$ | async as dateFiller\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n ></ng-content>\n\n <div\n *ngIf=\"showValueTemplate\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n appearance=\"icon\"\n automation-id=\"tui-input-date-range__icon\"\n tuiWrapper\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n (click)=\"onIconClick()\"\n ></tui-svg>\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax\"\n [maxLength]=\"maxLength\"\n [min]=\"computedMin\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n (valueChange)=\"onRangeChange($event)\"\n ></tui-calendar-range>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Directive, DoCheck} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\n\n@Directive({\n selector: 'tui-input-date-range',\n providers: [tuiAsTextfieldHost(TuiInputDateRangeDirective)],\n})\nexport class TuiInputDateRangeDirective\n extends AbstractTuiTextfieldHost<TuiInputDateRangeComponent>\n implements DoCheck\n{\n override get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n override process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n\n ngDoCheck(): void {\n if (this.host.nativeFocusableElement) {\n this.host.nativeFocusableElement.placeholder = this.host.computedExampleText;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoModule} from '@maskito/angular';\nimport {TuiActiveZoneModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {TuiCalendarRangeModule} from '@taiga-ui/kit/components/calendar-range';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\nimport {TuiInputDateRangeDirective} from './input-date-range.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n MaskitoModule,\n TuiActiveZoneModule,\n TuiLetModule,\n PolymorpheusModule,\n TuiWrapperModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiHostedDropdownModule,\n TuiSvgModule,\n TuiCalendarRangeModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective],\n exports: [\n TuiInputDateRangeComponent,\n TuiInputDateRangeDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiInputDateRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -115,7 +115,7 @@ class TuiInputDateComponent extends AbstractTuiNullableControl {
|
|
|
115
115
|
return this.isMobile && (!!this.mobileCalendar || this.nativePicker);
|
|
116
116
|
}
|
|
117
117
|
get nativePicker() {
|
|
118
|
-
return this.options.nativePicker;
|
|
118
|
+
return this.options.nativePicker && !!this.mobileCalendar && this.isMobile;
|
|
119
119
|
}
|
|
120
120
|
get calendarIcon() {
|
|
121
121
|
return this.options.icon;
|
|
@@ -230,7 +230,7 @@ TuiInputDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
230
230
|
inject(TUI_MOBILE_CALENDAR, InjectFlags.Optional)) ||
|
|
231
231
|
inject(TUI_DROPDOWN_COMPONENT, InjectFlags.SkipSelf),
|
|
232
232
|
},
|
|
233
|
-
], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive && !nativePicker\"\n [content]=\"dropdown\"\n [open]=\"open && interactive && !nativePicker\"\n (openChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"filler$ | async as filler\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedFiller(filler || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (focusedChange)=\"onFocused($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n appearance=\"icon\"\n automation-id=\"tui-input-date-range__icon\"\n tuiWrapper\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n (click)=\"onIconClick()\"\n ></tui-svg>\n <input\n *ngIf=\"
|
|
233
|
+
], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive && !nativePicker\"\n [content]=\"dropdown\"\n [open]=\"open && interactive && !nativePicker\"\n (openChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"filler$ | async as filler\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedFiller(filler || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (focusedChange)=\"onFocused($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n appearance=\"icon\"\n automation-id=\"tui-input-date-range__icon\"\n tuiWrapper\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n (click)=\"onIconClick()\"\n ></tui-svg>\n <input\n *ngIf=\"nativePicker\"\n tuiDate\n class=\"t-native-input\"\n />\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n automation-id=\"tui-input-date__calendar\"\n tuiPreventDefault=\"mousedown\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax\"\n [min]=\"computedMin\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n ></tui-calendar>\n <div\n *ngIf=\"items.length === 1\"\n tuiPreventDefault=\"mousedown\"\n class=\"t-button\"\n >\n <button\n tuiLink\n type=\"button\"\n (click)=\"onDayClick(items[0].day)\"\n >\n {{ items[0] }}\n </button>\n </div>\n </ng-template>\n</tui-hosted-dropdown>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-button{display:flex;height:2.75rem;justify-content:center;box-shadow:inset 0 1px var(--tui-base-03)}.t-button button{flex:1;text-align:center}.t-native-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;pointer-events:auto;font-size:2rem}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiCalendarComponent, selector: "tui-calendar", inputs: ["initialView", "month", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler", "value"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }, { type: i1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }], directives: [{ type: i2.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i3.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { type: i4.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { type: i1.TuiTextfieldFillerDirective, selector: "[tuiTextfieldFiller]", inputs: ["tuiTextfieldFiller"] }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i5.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TuiNativeDateDirective, selector: "input[tuiDate]" }, { type: i5.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { type: i2.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: ["tuiPreventDefault"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
234
234
|
__decorate([
|
|
235
235
|
tuiPure
|
|
236
236
|
], TuiInputDateComponent.prototype, "computeMaskOptions", null);
|