{"version":3,"file":"taiga-ui-kit-components-input-date-range.mjs","sources":["../../../projects/kit/components/input-date-range/input-date-range.options.ts","../../../projects/kit/components/input-date-range/input-date-range.directive.ts","../../../projects/kit/components/input-date-range/input-date-range.ts","../../../projects/kit/components/input-date-range/taiga-ui-kit-components-input-date-range.ts"],"sourcesContent":["import {type FactoryProvider, inject, InjectionToken} from '@angular/core';\nimport {\n    TUI_IDENTITY_VALUE_TRANSFORMER,\n    type TuiValueTransformer,\n} from '@taiga-ui/cdk/classes';\nimport {type TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/di';\nimport {\n    TUI_INPUT_DATE_DEFAULT_OPTIONS,\n    TUI_INPUT_DATE_OPTIONS,\n    type TuiInputDateOptions,\n} from '@taiga-ui/kit/components/input-date';\n\nexport interface TuiInputDateRangeOptions extends Omit<\n    TuiInputDateOptions,\n    'valueTransformer'\n> {\n    readonly valueTransformer: TuiValueTransformer<TuiDayRange | null, any>;\n}\n\nexport const TUI_INPUT_DATE_RANGE_OPTIONS = new InjectionToken<TuiInputDateRangeOptions>(\n    ngDevMode ? 'TUI_INPUT_DATE_RANGE_OPTIONS' : '',\n    {\n        factory: () => ({\n            ...inject(TUI_INPUT_DATE_OPTIONS),\n            valueTransformer: TUI_IDENTITY_VALUE_TRANSFORMER,\n        }),\n    },\n);\n\nexport const tuiInputDateRangeOptionsProvider = (\n    options: Partial<TuiInputDateRangeOptions>,\n): FactoryProvider =>\n    tuiProvideOptions(\n        TUI_INPUT_DATE_RANGE_OPTIONS,\n        options,\n        TUI_INPUT_DATE_DEFAULT_OPTIONS,\n    );\n","import {computed, Directive, input} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {maskitoDateRangeOptionsGenerator} from '@maskito/kit';\nimport {tuiAsControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {\n    DATE_RANGE_FILLER_LENGTH,\n    RANGE_SEPARATOR_CHAR,\n    TUI_FIRST_DAY,\n    TUI_LAST_DAY,\n    TuiDay,\n    type TuiDayLike,\n    TuiDayRange,\n} from '@taiga-ui/cdk/date-time';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiWithInput} from '@taiga-ui/core/components/input';\nimport {TuiDropdownAuto} from '@taiga-ui/core/portals/dropdown';\nimport {type TuiCalendarRange} from '@taiga-ui/kit/components/calendar-range';\nimport {\n    TUI_INPUT_DATE_OPTIONS,\n    TuiInputDateBase,\n    tuiWithDateFiller,\n} from '@taiga-ui/kit/components/input-date';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\nimport {TUI_INPUT_DATE_RANGE_OPTIONS} from './input-date-range.options';\n\n@Directive({\n    selector: 'input[tuiInputDateRange]',\n    providers: [\n        // TODO: Add SelectOption after data-list in calendar-range is refactored\n        tuiAsControl(TuiInputDateRangeDirective),\n        tuiValueTransformerFrom(TUI_INPUT_DATE_RANGE_OPTIONS),\n        tuiProvide(TUI_INPUT_DATE_OPTIONS, TUI_INPUT_DATE_RANGE_OPTIONS),\n    ],\n    hostDirectives: [TuiWithInput, TuiDropdownAuto, MaskitoDirective],\n})\nexport class TuiInputDateRangeDirective extends TuiInputDateBase<TuiDayRange> {\n    public override readonly max = input(this.options.max, {\n        transform: (max: TuiDay | null): TuiDay =>\n            max instanceof TuiDay ? max : TUI_LAST_DAY,\n    });\n\n    public override readonly min = input(this.options.min, {\n        transform: (min: TuiDay | null): TuiDay =>\n            min instanceof TuiDay ? min : TUI_FIRST_DAY,\n    });\n\n    protected override readonly filler = tuiWithDateFiller(\n        (filler) => `${filler}${RANGE_SEPARATOR_CHAR}${filler}`,\n    );\n\n    protected readonly mask = tuiMaskito(\n        computed(() =>\n            maskitoDateRangeOptionsGenerator({\n                dateSeparator: this.format().separator,\n                mode: this.format().mode,\n                min: this.min().toLocalNativeDate(),\n                max: this.max().toLocalNativeDate(),\n                minLength: this.minLength() || {},\n                maxLength: this.maxLength() || {},\n            }),\n        ),\n    );\n\n    public readonly minLength = input<TuiDayLike | null>(null);\n    public readonly maxLength = input<TuiDayLike | null>(null);\n\n    protected override processCalendar(calendar: TuiCalendarRange): void {\n        super.processCalendar(calendar);\n\n        tuiSetSignal(calendar.minLength, this.minLength());\n        tuiSetSignal(calendar.maxLength, this.maxLength());\n    }\n\n    protected override onValueChange(value: string): void {\n        this.control?.control?.updateValueAndValidity({emitEvent: false});\n        this.onChange(\n            value.length === DATE_RANGE_FILLER_LENGTH\n                ? TuiDayRange.normalizeParse(value, this.format().mode)\n                : null,\n        );\n    }\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n    TuiTextfieldComponent,\n    TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\nimport {TuiCalendarRange} from '@taiga-ui/kit/components/calendar-range';\n\nimport {TuiInputDateRangeDirective} from './input-date-range.directive';\n\nexport const TuiInputDateRange = [\n    TuiInputDateRangeDirective,\n    TuiCalendarRange,\n    TuiLabel,\n    TuiTextfieldComponent,\n    TuiTextfieldOptionsDirective,\n    TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}