@taiga-ui/legacy 4.52.0-canary.eb5ffe3 → 4.52.0-canary.ece97e9
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/components/input/input.module.d.ts +4 -4
- package/components/input-date-range/input-date-range.module.d.ts +8 -9
- package/components/input-date-time/input-date-time.module.d.ts +6 -6
- package/components/input-month-range/input-month-range.module.d.ts +3 -3
- package/components/input-number/input-number.module.d.ts +5 -5
- package/components/input-range/input-range.module.d.ts +4 -4
- package/components/input-tag/input-tag.module.d.ts +8 -8
- package/components/multi-select/multi-select.module.d.ts +11 -12
- package/components/primitive-textfield/primitive-textfield.module.d.ts +5 -5
- package/components/select/select.module.d.ts +8 -8
- package/components/select-option/select-option.module.d.ts +3 -3
- package/components/tag/tag.module.d.ts +4 -4
- package/components/textarea/textarea.module.d.ts +7 -7
- package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +23 -27
- package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +18 -18
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +9 -9
- package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-number.mjs +12 -12
- package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs +11 -11
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +22 -22
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input.mjs +6 -5
- package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +27 -31
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +16 -16
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-select-option.mjs +6 -6
- package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-select.mjs +23 -23
- package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-tag.mjs +10 -10
- package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-textarea.mjs +23 -23
- package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-utils.mjs +1 -7
- package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -1
- package/package.json +14 -14
- package/utils/icons-path-factory.d.ts +1 -1
- package/utils/index.d.ts +0 -1
- package/utils/is-apple.d.ts +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-input-month-range.mjs","sources":["../../../projects/legacy/components/input-month-range/input-month-range.component.ts","../../../projects/legacy/components/input-month-range/input-month-range.template.html","../../../projects/legacy/components/input-month-range/input-month-range.directive.ts","../../../projects/legacy/components/input-month-range/input-month-range.module.ts","../../../projects/legacy/components/input-month-range/taiga-ui-legacy-components-input-month-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {CHAR_EN_DASH, TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n tuiDateClamp,\n TuiDay,\n type TuiMonth,\n TuiMonthRange,\n type TuiYear,\n} from '@taiga-ui/cdk/date-time';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {TuiMonthPipe} from '@taiga-ui/core/pipes/month';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {TUI_INPUT_DATE_OPTIONS, type TuiInputDateOptions} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNullableControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n TUI_MONTH_FORMATTER,\n TUI_MONTH_FORMATTER_PROVIDER,\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-month#range TuiInputMonth} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-month-range',\n templateUrl: './input-month-range.template.html',\n styleUrl: './input-month-range.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputMonthRangeComponent),\n tuiAsControl(TuiInputMonthRangeComponent),\n TUI_MONTH_FORMATTER_PROVIDER,\n TuiMonthPipe,\n ],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiInputMonthRangeComponent\n extends AbstractTuiNullableControl<TuiMonthRange>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly options = inject(TUI_INPUT_DATE_OPTIONS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n protected readonly formatter = inject(TUI_MONTH_FORMATTER);\n\n @Input()\n public min: TuiMonth = this.options.min;\n\n @Input()\n public max: TuiMonth = this.options.max;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiMonth> = TUI_FALSE_HANDLER;\n\n @Input()\n public minLength: number | null = null;\n\n @Input()\n public maxLength: number | null = null;\n\n @Input()\n public defaultActiveYear: TuiYear = TuiDay.currentLocal();\n\n public open = false;\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.close();\n }\n\n public computeValue(from: string | null, to: string | null): string {\n const formattedTo = from === to && this.focused && !this.readOnly ? '' : to;\n\n return `${from} ${CHAR_EN_DASH} ${formattedTo}`;\n }\n\n public onValueChange(value: string): void {\n if (value) {\n return;\n }\n\n this.value = null;\n this.onOpenChange(true);\n }\n\n public onMonthClick(month: TuiMonth): void {\n if (!this.value?.isSingleMonth) {\n this.writeValue(new TuiMonthRange(month, month));\n\n return;\n }\n\n this.value = TuiMonthRange.sort(this.value.from, month);\n this.close();\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n protected get computedDefaultActiveYear(): TuiYear {\n return (\n this.value?.from || tuiDateClamp(this.defaultActiveYear, this.min, this.max)\n );\n }\n\n protected get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n protected onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n protected onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n\n if (focused) {\n return;\n }\n\n if (this.value?.isSingleMonth) {\n this.value = new TuiMonthRange(this.value.from, this.value.from);\n }\n }\n\n private close(): void {\n this.open = false;\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [editable]=\"false\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"calendarIcon\"\n [value]=\"\n value\n ? computeValue(value.from | tuiMapper: formatter | async, value.to | tuiMapper: formatter | async)\n : ''\n \"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\n\n <ng-template #dropdown>\n <tui-calendar-month\n [disabledItemHandler]=\"disabledItemHandler\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n [min]=\"min\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n [year]=\"computedDefaultActiveYear\"\n (monthClick)=\"onMonthClick($event)\"\n (mousedown.prevent.zoneless)=\"(0)\"\n />\n </ng-template>\n</div>\n","import {Directive, type DoCheck, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {type TuiMonth, type TuiMonthRange} from '@taiga-ui/cdk/date-time';\nimport {type TuiHandler} from '@taiga-ui/cdk/types';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {TUI_MONTH_FORMATTER, tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\nimport {\n combineLatest,\n distinctUntilChanged,\n type Observable,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {type TuiInputMonthRangeComponent} from './input-month-range.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-month#range TuiInputMonth} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-input-month-range',\n providers: [tuiAsTextfieldHost(TuiInputMonthRangeDirective)],\n})\nexport class TuiInputMonthRangeDirective\n extends AbstractTuiTextfieldHost<TuiInputMonthRangeComponent>\n implements DoCheck\n{\n private readonly value$ = new Subject<TuiMonthRange | null>();\n\n private localizedValue: [string, string] = ['', ''];\n\n protected readonly formatter: TuiHandler<TuiMonth | null, Observable<string>> =\n inject(TUI_MONTH_FORMATTER);\n\n protected readonly $ = this.value$\n .pipe(\n distinctUntilChanged(),\n switchMap((value: TuiMonthRange | null) =>\n combineLatest([\n this.formatter(value?.from || null),\n this.formatter(value?.to || null),\n ]),\n ),\n takeUntilDestroyed(),\n )\n .subscribe((localizedValue) => {\n this.localizedValue = localizedValue;\n });\n\n public override get readOnly(): boolean {\n return true;\n }\n\n public override get value(): string {\n return this.localizedValue[0]\n ? this.host.computeValue(...this.localizedValue)\n : '';\n }\n\n public ngDoCheck(): void {\n this.value$.next(this.host.value);\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiCalendarMonth} from '@taiga-ui/kit/components/calendar-month';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/legacy/directives';\n\nimport {TuiInputMonthRangeComponent} from './input-month-range.component';\nimport {TuiInputMonthRangeDirective} from './input-month-range.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-month#range TuiInputMonth} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n TuiCalendarMonth,\n TuiPrimitiveTextfieldModule,\n TuiMapperPipe,\n TuiTextfieldControllerModule,\n TuiLegacyDropdownOpenMonitorDirective,\n ...TuiDropdown,\n ],\n declarations: [TuiInputMonthRangeComponent, TuiInputMonthRangeDirective],\n exports: [\n TuiInputMonthRangeComponent,\n TuiInputMonthRangeDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiInputMonthRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-input-month-range.mjs","sources":["../../../projects/legacy/components/input-month-range/input-month-range.component.ts","../../../projects/legacy/components/input-month-range/input-month-range.template.html","../../../projects/legacy/components/input-month-range/input-month-range.directive.ts","../../../projects/legacy/components/input-month-range/input-month-range.module.ts","../../../projects/legacy/components/input-month-range/taiga-ui-legacy-components-input-month-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {CHAR_EN_DASH, TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n tuiDateClamp,\n TuiDay,\n type TuiMonth,\n TuiMonthRange,\n type TuiYear,\n} from '@taiga-ui/cdk/date-time';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {TuiMonthPipe} from '@taiga-ui/core/pipes/month';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {TUI_INPUT_DATE_OPTIONS, type TuiInputDateOptions} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNullableControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n TUI_MONTH_FORMATTER,\n TUI_MONTH_FORMATTER_PROVIDER,\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-month#range TuiInputMonth} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-month-range',\n templateUrl: './input-month-range.template.html',\n styleUrl: './input-month-range.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputMonthRangeComponent),\n tuiAsControl(TuiInputMonthRangeComponent),\n TUI_MONTH_FORMATTER_PROVIDER,\n TuiMonthPipe,\n ],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiInputMonthRangeComponent\n extends AbstractTuiNullableControl<TuiMonthRange>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly options = inject(TUI_INPUT_DATE_OPTIONS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n protected readonly formatter = inject(TUI_MONTH_FORMATTER);\n\n @Input()\n public min: TuiMonth = this.options.min;\n\n @Input()\n public max: TuiMonth = this.options.max;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiMonth> = TUI_FALSE_HANDLER;\n\n @Input()\n public minLength: number | null = null;\n\n @Input()\n public maxLength: number | null = null;\n\n @Input()\n public defaultActiveYear: TuiYear = TuiDay.currentLocal();\n\n public open = false;\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.close();\n }\n\n public computeValue(from: string | null, to: string | null): string {\n const formattedTo = from === to && this.focused && !this.readOnly ? '' : to;\n\n return `${from} ${CHAR_EN_DASH} ${formattedTo}`;\n }\n\n public onValueChange(value: string): void {\n if (value) {\n return;\n }\n\n this.value = null;\n this.onOpenChange(true);\n }\n\n public onMonthClick(month: TuiMonth): void {\n if (!this.value?.isSingleMonth) {\n this.writeValue(new TuiMonthRange(month, month));\n\n return;\n }\n\n this.value = TuiMonthRange.sort(this.value.from, month);\n this.close();\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n protected get computedDefaultActiveYear(): TuiYear {\n return (\n this.value?.from || tuiDateClamp(this.defaultActiveYear, this.min, this.max)\n );\n }\n\n protected get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n protected onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n protected onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n\n if (focused) {\n return;\n }\n\n if (this.value?.isSingleMonth) {\n this.value = new TuiMonthRange(this.value.from, this.value.from);\n }\n }\n\n private close(): void {\n this.open = false;\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [editable]=\"false\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"calendarIcon\"\n [value]=\"\n value\n ? computeValue(value.from | tuiMapper: formatter | async, value.to | tuiMapper: formatter | async)\n : ''\n \"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\n\n <ng-template #dropdown>\n <tui-calendar-month\n [disabledItemHandler]=\"disabledItemHandler\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n [min]=\"min\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n [year]=\"computedDefaultActiveYear\"\n (monthClick)=\"onMonthClick($event)\"\n (mousedown.prevent.zoneless)=\"(0)\"\n />\n </ng-template>\n</div>\n","import {Directive, type DoCheck, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {type TuiMonth, type TuiMonthRange} from '@taiga-ui/cdk/date-time';\nimport {type TuiHandler} from '@taiga-ui/cdk/types';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {TUI_MONTH_FORMATTER, tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\nimport {\n combineLatest,\n distinctUntilChanged,\n type Observable,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {type TuiInputMonthRangeComponent} from './input-month-range.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-month#range TuiInputMonth} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-input-month-range',\n providers: [tuiAsTextfieldHost(TuiInputMonthRangeDirective)],\n})\nexport class TuiInputMonthRangeDirective\n extends AbstractTuiTextfieldHost<TuiInputMonthRangeComponent>\n implements DoCheck\n{\n private readonly value$ = new Subject<TuiMonthRange | null>();\n\n private localizedValue: [string, string] = ['', ''];\n\n protected readonly formatter: TuiHandler<TuiMonth | null, Observable<string>> =\n inject(TUI_MONTH_FORMATTER);\n\n protected readonly $ = this.value$\n .pipe(\n distinctUntilChanged(),\n switchMap((value: TuiMonthRange | null) =>\n combineLatest([\n this.formatter(value?.from || null),\n this.formatter(value?.to || null),\n ]),\n ),\n takeUntilDestroyed(),\n )\n .subscribe((localizedValue) => {\n this.localizedValue = localizedValue;\n });\n\n public override get readOnly(): boolean {\n return true;\n }\n\n public override get value(): string {\n return this.localizedValue[0]\n ? this.host.computeValue(...this.localizedValue)\n : '';\n }\n\n public ngDoCheck(): void {\n this.value$.next(this.host.value);\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiCalendarMonth} from '@taiga-ui/kit/components/calendar-month';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/legacy/directives';\n\nimport {TuiInputMonthRangeComponent} from './input-month-range.component';\nimport {TuiInputMonthRangeDirective} from './input-month-range.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-month#range TuiInputMonth} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n TuiCalendarMonth,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiMapperPipe,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n ...TuiDropdown,\n ],\n declarations: [TuiInputMonthRangeComponent, TuiInputMonthRangeDirective],\n exports: [\n TuiInputMonthRangeComponent,\n TuiInputMonthRangeDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiInputMonthRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4","i1"],"mappings":"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"}
|
|
@@ -12,16 +12,16 @@ import { tuiProvideOptions, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
|
12
12
|
import { TUI_DEFAULT_NUMBER_FORMAT, TUI_NUMBER_FORMAT } from '@taiga-ui/core/tokens';
|
|
13
13
|
import { tuiFormatNumber } from '@taiga-ui/core/utils/format';
|
|
14
14
|
import { AbstractTuiNullableControl, tuiAsControl, AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
|
|
15
|
-
import * as
|
|
15
|
+
import * as i4 from '@taiga-ui/legacy/components/primitive-textfield';
|
|
16
16
|
import { TuiPrimitiveTextfieldComponent, TuiTextfieldComponent, TuiPrimitiveTextfieldModule } from '@taiga-ui/legacy/components/primitive-textfield';
|
|
17
|
-
import * as
|
|
17
|
+
import * as i5 from '@taiga-ui/legacy/directives';
|
|
18
18
|
import { TUI_TEXTFIELD_SIZE, TUI_TEXTFIELD_WATCHED_CONTROLLER, TEXTFIELD_CONTROLLER_PROVIDER, TuiTextfieldControllerModule, TuiValueAccessorModule } from '@taiga-ui/legacy/directives';
|
|
19
19
|
import { tuiAsFocusableItemAccessor, tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
|
|
20
|
-
import * as
|
|
20
|
+
import * as i2 from '@taiga-ui/polymorpheus';
|
|
21
21
|
import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
|
|
22
22
|
import * as i1 from '@maskito/angular';
|
|
23
23
|
import { MaskitoDirective } from '@maskito/angular';
|
|
24
|
-
import * as
|
|
24
|
+
import * as i3 from '@taiga-ui/core/components/button';
|
|
25
25
|
import { TuiButton } from '@taiga-ui/core/components/button';
|
|
26
26
|
import * as i6 from '@angular/common';
|
|
27
27
|
import { CommonModule } from '@angular/common';
|
|
@@ -276,7 +276,7 @@ class TuiInputNumberComponent extends AbstractTuiNullableControl {
|
|
|
276
276
|
tuiAsFocusableItemAccessor(TuiInputNumberComponent),
|
|
277
277
|
tuiAsControl(TuiInputNumberComponent),
|
|
278
278
|
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
279
|
-
], queries: [{ propertyName: "polymorpheusValueContent", predicate: PolymorpheusOutlet, descendants: true }], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n #textfield\n tuiTextfieldPostfix=\"\"\n tuiTextfieldPrefix=\"\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"mask\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [value]=\"computedValue\"\n (focusedChange)=\"onFocused($event)\"\n (valueChange)=\"onValueChange($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n @if (polymorpheusValueContent.length) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-value-content\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text\">\n {{ text }}\n </ng-container>\n </div>\n }\n</tui-primitive-textfield>\n\n@if (step) {\n <section class=\"t-buttons\">\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canIncrement\"\n [iconStart]=\"icons.up\"\n (click.prevent)=\"onArrow(step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n +\n </button>\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canDecrement\"\n [iconStart]=\"icons.down\"\n (click.prevent)=\"onArrow(-step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n -\n </button>\n </section>\n}\n\n@if (polymorpheusValueContent.changes | async) {}\n\n<ng-template #valueContent>\n <ng-content select=\"tuiContent\" />\n</ng-template>\n", styles: [":host{display:flex;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-textfield{flex:1;min-inline-size:0;max-inline-size:100%;border-radius:inherit;text-align:inherit}.t-textfield:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.t-value-content{inline-size:100%}.t-buttons{display:flex;flex-direction:column;align-items:stretch;margin-inline-start:.125rem;border-radius:inherit}[data-size=s]+.t-buttons{flex-direction:row-reverse}[data-size=s]+.t-buttons .t-button:first-child{margin:0 0 0 .125rem;border-top-right-radius:inherit;border-bottom-right-radius:inherit}[data-size=s]+.t-buttons .t-button:last-child{border-radius:0}[data-size=m]+.t-buttons .t-button{inline-size:calc(var(--tui-height-m) * .75)}[data-size=l]+.t-buttons .t-button{inline-size:calc(var(--tui-height-l) * .75)}.t-buttons .t-button{display:flex;flex:1;block-size:auto;align-items:center;justify-content:center;border-radius:0}.t-buttons .t-button:first-child{margin-block-end:.125rem;border-top-right-radius:inherit}.t-buttons .t-button:last-child{border-bottom-right-radius:inherit}\n"], dependencies: [{ kind: "directive", type: i1.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"], outputs: ["maskitoChange", "maskitoElementChange"] }, { kind: "
|
|
279
|
+
], queries: [{ propertyName: "polymorpheusValueContent", predicate: PolymorpheusOutlet, descendants: true }], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n #textfield\n tuiTextfieldPostfix=\"\"\n tuiTextfieldPrefix=\"\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"mask\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [value]=\"computedValue\"\n (focusedChange)=\"onFocused($event)\"\n (valueChange)=\"onValueChange($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n @if (polymorpheusValueContent.length) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-value-content\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text\">\n {{ text }}\n </ng-container>\n </div>\n }\n</tui-primitive-textfield>\n\n@if (step) {\n <section class=\"t-buttons\">\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canIncrement\"\n [iconStart]=\"icons.up\"\n (click.prevent)=\"onArrow(step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n +\n </button>\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canDecrement\"\n [iconStart]=\"icons.down\"\n (click.prevent)=\"onArrow(-step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n -\n </button>\n </section>\n}\n\n@if (polymorpheusValueContent.changes | async) {}\n\n<ng-template #valueContent>\n <ng-content select=\"tuiContent\" />\n</ng-template>\n", styles: [":host{display:flex;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-textfield{flex:1;min-inline-size:0;max-inline-size:100%;border-radius:inherit;text-align:inherit}.t-textfield:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.t-value-content{inline-size:100%}.t-buttons{display:flex;flex-direction:column;align-items:stretch;margin-inline-start:.125rem;border-radius:inherit}[data-size=s]+.t-buttons{flex-direction:row-reverse}[data-size=s]+.t-buttons .t-button:first-child{margin:0 0 0 .125rem;border-top-right-radius:inherit;border-bottom-right-radius:inherit}[data-size=s]+.t-buttons .t-button:last-child{border-radius:0}[data-size=m]+.t-buttons .t-button{inline-size:calc(var(--tui-height-m) * .75)}[data-size=l]+.t-buttons .t-button{inline-size:calc(var(--tui-height-l) * .75)}.t-buttons .t-button{display:flex;flex:1;block-size:auto;align-items:center;justify-content:center;border-radius:0}.t-buttons .t-button:first-child{margin-block-end:.125rem;border-top-right-radius:inherit}.t-buttons .t-button:last-child{border-bottom-right-radius:inherit}\n"], dependencies: [{ kind: "directive", type: i1.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"], outputs: ["maskitoChange", "maskitoElementChange"] }, { kind: "directive", type: i2.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i3.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i4.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i4.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i5.TuiTextfieldPrefixDirective, selector: "[tuiTextfieldPrefix]", inputs: ["tuiTextfieldPrefix"] }, { kind: "directive", type: i5.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { kind: "directive", type: i5.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
280
280
|
}
|
|
281
281
|
__decorate([
|
|
282
282
|
tuiPure
|
|
@@ -353,12 +353,12 @@ class TuiInputNumberModule {
|
|
|
353
353
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
354
354
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiInputNumberModule, declarations: [TuiInputNumberComponent, TuiInputNumberDirective], imports: [CommonModule,
|
|
355
355
|
MaskitoDirective,
|
|
356
|
-
TuiPrimitiveTextfieldModule,
|
|
357
|
-
TuiTextfieldControllerModule,
|
|
358
|
-
TuiValueAccessorModule,
|
|
359
356
|
PolymorpheusOutlet,
|
|
360
357
|
PolymorpheusTemplate,
|
|
361
|
-
TuiButton
|
|
358
|
+
TuiButton,
|
|
359
|
+
TuiPrimitiveTextfieldModule,
|
|
360
|
+
TuiTextfieldControllerModule,
|
|
361
|
+
TuiValueAccessorModule], exports: [TuiInputNumberComponent, TuiInputNumberDirective, TuiTextfieldComponent] }); }
|
|
362
362
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputNumberModule, imports: [CommonModule,
|
|
363
363
|
TuiPrimitiveTextfieldModule,
|
|
364
364
|
TuiTextfieldControllerModule,
|
|
@@ -370,12 +370,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
370
370
|
imports: [
|
|
371
371
|
CommonModule,
|
|
372
372
|
MaskitoDirective,
|
|
373
|
-
TuiPrimitiveTextfieldModule,
|
|
374
|
-
TuiTextfieldControllerModule,
|
|
375
|
-
TuiValueAccessorModule,
|
|
376
373
|
PolymorpheusOutlet,
|
|
377
374
|
PolymorpheusTemplate,
|
|
378
375
|
TuiButton,
|
|
376
|
+
TuiPrimitiveTextfieldModule,
|
|
377
|
+
TuiTextfieldControllerModule,
|
|
378
|
+
TuiValueAccessorModule,
|
|
379
379
|
],
|
|
380
380
|
declarations: [TuiInputNumberComponent, TuiInputNumberDirective],
|
|
381
381
|
exports: [TuiInputNumberComponent, TuiInputNumberDirective, TuiTextfieldComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-input-number.mjs","sources":["../../../projects/legacy/components/input-number/input-number.options.ts","../../../projects/legacy/components/input-number/input-number.component.ts","../../../projects/legacy/components/input-number/input-number.template.html","../../../projects/legacy/components/input-number/input-number.directive.ts","../../../projects/legacy/components/input-number/input-number.module.ts","../../../projects/legacy/components/input-number/taiga-ui-legacy-components-input-number.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\n/**\n * @deprecated use new version of {@link TuiInputNumberOptions} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport interface TuiInputNumberOptions {\n readonly icons: Readonly<{\n down: string;\n up: string;\n }>;\n readonly max: number;\n readonly min: number;\n readonly step: number;\n}\n\n/**\n * @deprecated use new version of {@link TUI_INPUT_NUMBER_DEFAULT_OPTIONS} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport const TUI_INPUT_NUMBER_DEFAULT_OPTIONS: TuiInputNumberOptions = {\n icons: {\n up: '@tui.plus',\n down: '@tui.minus',\n },\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n step: 0,\n};\n\n/**\n * @deprecated use new version of {@link TUI_INPUT_NUMBER_OPTIONS} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport const TUI_INPUT_NUMBER_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_NUMBER_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_NUMBER_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * @deprecated use new version of {@link tuiInputNumberOptionsProvider} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport function tuiInputNumberOptionsProvider(\n options: Partial<TuiInputNumberOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_NUMBER_OPTIONS,\n options,\n TUI_INPUT_NUMBER_DEFAULT_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n inject,\n InjectionToken,\n Input,\n type QueryList,\n ViewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {maskitoInitialCalibrationPlugin, type MaskitoOptions} from '@maskito/core';\nimport {\n maskitoCaretGuard,\n maskitoNumberOptionsGenerator,\n type MaskitoNumberParams,\n maskitoParseNumber,\n} from '@maskito/kit';\nimport {type TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {CHAR_HYPHEN, CHAR_MINUS, EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {tuiClamp, tuiIsSafeToRound} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DEFAULT_NUMBER_FORMAT,\n TUI_NUMBER_FORMAT,\n type TuiDecimalMode,\n} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {tuiFormatNumber} from '@taiga-ui/core/utils/format';\nimport {AbstractTuiNullableControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_SIZE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {\n TUI_INPUT_NUMBER_OPTIONS,\n type TuiInputNumberOptions,\n} from './input-number.options';\n\nconst DEFAULT_MAX_LENGTH = 18;\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number tuiInputNumberOptionsProvider} (from @taiga-ui/kit) (property `valueTransformer`) instead\n * TODO(v5): delete it\n */\nexport const TUI_NUMBER_VALUE_TRANSFORMER = new InjectionToken<\n TuiValueTransformer<number | null>\n>(ngDevMode ? 'TUI_NUMBER_VALUE_TRANSFORMER' : '');\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\n@Component({\n standalone: false,\n selector: 'tui-input-number',\n templateUrl: './input-number.template.html',\n styleUrl: './input-number.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputNumberComponent),\n tuiAsControl(TuiInputNumberComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'size',\n '(keydown.arrowDown)': 'onArrow(-step)',\n '(keydown.arrowUp)': 'onArrow(step)',\n },\n})\nexport class TuiInputNumberComponent\n extends AbstractTuiNullableControl<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly isIOS = inject(TUI_IS_IOS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly options = inject(TUI_INPUT_NUMBER_OPTIONS);\n private unfinishedValue: string | null = '';\n\n @ContentChildren(PolymorpheusOutlet, {descendants: true})\n protected readonly polymorpheusValueContent: QueryList<unknown> = EMPTY_QUERY;\n\n protected override readonly valueTransformer = inject<\n TuiValueTransformer<number | null>\n >(TUI_NUMBER_VALUE_TRANSFORMER, {optional: true});\n\n protected numberFormat = TUI_DEFAULT_NUMBER_FORMAT;\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly numberFormat$ = inject(TUI_NUMBER_FORMAT)\n .pipe(tuiWatch(this.cdr), takeUntilDestroyed())\n .subscribe((format) => {\n this.numberFormat = format;\n });\n\n @Input()\n public min: number | null = this.options.min;\n\n @Input()\n public max: number | null = this.options.max;\n\n @Input()\n public step = this.options.step;\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return !this.textfield || this.computedDisabled\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n public get inputMode(): string {\n if (this.isIOS) {\n return this.isNegativeAllowed\n ? 'text' // iPhone does not have minus sign if inputMode is equal to 'numeric' / 'decimal'\n : 'decimal';\n }\n\n /**\n * Samsung Keyboard does not have minus sign for `inputmode=decimal`\n * @see https://github.com/taiga-family/taiga-ui/issues/11061#issuecomment-2939103792\n */\n return 'numeric';\n }\n\n public get calculatedMaxLength(): number {\n const decimalPart =\n !!this.precision &&\n this.nativeValue.includes(this.numberFormat.decimalSeparator);\n const precision = decimalPart ? Math.min(this.precision + 1, 20) : 0;\n const takeThousand = this.numberFormat.thousandSeparator.repeat(5).length;\n\n return DEFAULT_MAX_LENGTH + precision + takeThousand;\n }\n\n public get computedValue(): string {\n return this.focused ? this.nativeValue : this.formattedValue;\n }\n\n public onValueChange(nativeValue: string): void {\n const parsedValue = maskitoParseNumber(nativeValue, this.numberFormat);\n\n this.unfinishedValue = null;\n\n if (Number.isNaN(parsedValue)) {\n this.value = null;\n\n return;\n }\n\n if (this.isNativeValueNotFinished) {\n this.unfinishedValue = nativeValue;\n this.cdr.markForCheck();\n\n return;\n }\n\n if (parsedValue < this.computedMin || parsedValue > this.computedMax) {\n return;\n }\n\n this.value = parsedValue;\n }\n\n public override writeValue(value: number | null): void {\n super.writeValue(value);\n this.nativeValue = this.formattedValue;\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n protected get icons(): TuiInputNumberOptions['icons'] {\n return this.options.icons;\n }\n\n protected get computedMin(): number {\n return this.computeMin(this.min, this.max);\n }\n\n protected get computedMax(): number {\n return this.computeMax(this.min, this.max);\n }\n\n protected get isNegativeAllowed(): boolean {\n return this.computedMin < 0;\n }\n\n protected get formattedValue(): string {\n return this.value !== null ? this.getFormattedValue(this.value || 0) : '';\n }\n\n protected get canDecrement(): boolean {\n return this.interactive && (this.value || 0) > this.computedMin;\n }\n\n protected get canIncrement(): boolean {\n return this.interactive && (this.value || 0) < this.computedMax;\n }\n\n protected get computedPrefix(): string {\n return this.controller.prefix;\n }\n\n protected get computedPostfix(): string {\n const {postfix} = this.controller;\n\n return postfix && ` ${postfix}`;\n }\n\n protected get mask(): MaskitoOptions {\n return this.calculateMask(\n this.precision,\n this.numberFormat.decimalMode,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n this.computedMin,\n this.computedMax,\n this.computedPrefix,\n this.computedPostfix,\n );\n }\n\n protected get nativeValue(): string {\n return this.nativeFocusableElement?.value || '';\n }\n\n protected set nativeValue(value: string) {\n if (!this.textfield || !this.nativeFocusableElement) {\n return;\n }\n\n this.textfield.value = value;\n this.nativeFocusableElement.value = value;\n }\n\n protected onArrow(step: number | null): void {\n if (!step) {\n return;\n }\n\n this.value = tuiClamp(\n (this.value || 0) + step,\n this.computedMin,\n this.computedMax,\n );\n this.nativeValue = this.formattedValue;\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n\n const nativeNumberValue = this.unfinishedValue\n ? maskitoParseNumber(this.unfinishedValue, this.numberFormat)\n : this.nativeNumberValue;\n\n this.unfinishedValue = null;\n\n if (Number.isNaN(nativeNumberValue)) {\n this.nativeValue =\n focused && !this.readOnly\n ? this.computedPrefix + this.computedPostfix\n : '';\n this.value = null;\n\n return;\n }\n\n if (!focused) {\n this.value = nativeNumberValue;\n this.nativeValue = this.formattedValue;\n }\n }\n\n protected getFormattedValue(value: number): string {\n return (\n this.computedPrefix +\n tuiFormatNumber(value, {\n ...this.numberFormat,\n /**\n * Number can satisfy interval [Number.MIN_SAFE_INTEGER; Number.MAX_SAFE_INTEGER]\n * but its rounding can violate it.\n * Before BigInt support there is no perfect solution – only trade off.\n * No rounding is better than lose precision and incorrect mutation of already valid value.\n */\n precision: tuiIsSafeToRound(value, this.precision)\n ? this.precision\n : Infinity,\n }).replace(CHAR_HYPHEN, CHAR_MINUS) +\n this.computedPostfix\n );\n }\n\n private get isNativeValueNotFinished(): boolean {\n const {nativeNumberValue} = this;\n\n return nativeNumberValue < 0\n ? nativeNumberValue > this.computedMax\n : nativeNumberValue < this.computedMin;\n }\n\n private get nativeNumberValue(): number {\n return maskitoParseNumber(this.nativeValue, this.numberFormat);\n }\n\n private get precision(): number {\n return Number.isNaN(this.numberFormat.precision)\n ? 2\n : this.numberFormat.precision;\n }\n\n @tuiPure\n private computeMin(min: number | null, max: number | null): number {\n return Math.min(\n this.valueTransformer?.fromControlValue(min) ?? min ?? this.options.min,\n this.valueTransformer?.fromControlValue(max) ?? max ?? this.options.max,\n );\n }\n\n @tuiPure\n private computeMax(min: number | null, max: number | null): number {\n return Math.max(\n this.valueTransformer?.fromControlValue(min) ?? min ?? this.options.min,\n this.valueTransformer?.fromControlValue(max) ?? max ?? this.options.max,\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/max-params,max-params\n @tuiPure\n private calculateMask(\n precision: number,\n decimalMode: TuiDecimalMode,\n decimalSeparator: string,\n thousandSeparator: string,\n min: number,\n max: number,\n prefix: string,\n postfix: string,\n ): MaskitoOptions {\n const params: MaskitoNumberParams = {\n decimalSeparator,\n thousandSeparator,\n min,\n max,\n prefix,\n postfix,\n maximumFractionDigits: precision,\n minimumFractionDigits: decimalMode === 'always' ? precision : 0,\n };\n const {plugins, ...options} = maskitoNumberOptionsGenerator(params);\n const initialCalibrationPlugin = maskitoInitialCalibrationPlugin(\n maskitoNumberOptionsGenerator({\n ...params,\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n }),\n );\n\n return {\n ...options,\n plugins: [\n ...plugins,\n initialCalibrationPlugin,\n maskitoCaretGuard((value) => [\n prefix.length,\n value.length - postfix.length,\n ]),\n ],\n };\n }\n}\n","<tui-primitive-textfield\n #textfield\n tuiTextfieldPostfix=\"\"\n tuiTextfieldPrefix=\"\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"mask\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [value]=\"computedValue\"\n (focusedChange)=\"onFocused($event)\"\n (valueChange)=\"onValueChange($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n @if (polymorpheusValueContent.length) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-value-content\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text\">\n {{ text }}\n </ng-container>\n </div>\n }\n</tui-primitive-textfield>\n\n@if (step) {\n <section class=\"t-buttons\">\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canIncrement\"\n [iconStart]=\"icons.up\"\n (click.prevent)=\"onArrow(step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n +\n </button>\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canDecrement\"\n [iconStart]=\"icons.down\"\n (click.prevent)=\"onArrow(-step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n -\n </button>\n </section>\n}\n\n@if (polymorpheusValueContent.changes | async) {}\n\n<ng-template #valueContent>\n <ng-content select=\"tuiContent\" />\n</ng-template>\n","import {Directive, type DoCheck} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiInputNumberComponent} from './input-number.component';\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\n@Directive({\n standalone: false,\n selector: 'tui-input-number',\n providers: [tuiAsTextfieldHost(TuiInputNumberDirective)],\n})\nexport class TuiInputNumberDirective\n extends AbstractTuiTextfieldHost<TuiInputNumberComponent>\n implements DoCheck\n{\n protected input?: HTMLInputElement;\n\n public override get value(): string {\n return this.host.computedValue;\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n public ngDoCheck(): void {\n if (!this.host.nativeFocusableElement) {\n return;\n }\n\n this.host.nativeFocusableElement.inputMode = this.host.inputMode;\n this.host.nativeFocusableElement.maxLength =\n this.host.nativeFocusableElement.maxLength > 0\n ? this.host.nativeFocusableElement.maxLength\n : this.host.calculatedMaxLength;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputNumberComponent} from './input-number.component';\nimport {TuiInputNumberDirective} from './input-number.directive';\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\n@NgModule({\n imports: [\n CommonModule,\n MaskitoDirective,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiButton,\n ],\n declarations: [TuiInputNumberComponent, TuiInputNumberDirective],\n exports: [TuiInputNumberComponent, TuiInputNumberDirective, TuiTextfieldComponent],\n})\nexport class TuiInputNumberModule {}\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-legacy-components-input-number.mjs","sources":["../../../projects/legacy/components/input-number/input-number.options.ts","../../../projects/legacy/components/input-number/input-number.component.ts","../../../projects/legacy/components/input-number/input-number.template.html","../../../projects/legacy/components/input-number/input-number.directive.ts","../../../projects/legacy/components/input-number/input-number.module.ts","../../../projects/legacy/components/input-number/taiga-ui-legacy-components-input-number.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\n/**\n * @deprecated use new version of {@link TuiInputNumberOptions} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport interface TuiInputNumberOptions {\n readonly icons: Readonly<{\n down: string;\n up: string;\n }>;\n readonly max: number;\n readonly min: number;\n readonly step: number;\n}\n\n/**\n * @deprecated use new version of {@link TUI_INPUT_NUMBER_DEFAULT_OPTIONS} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport const TUI_INPUT_NUMBER_DEFAULT_OPTIONS: TuiInputNumberOptions = {\n icons: {\n up: '@tui.plus',\n down: '@tui.minus',\n },\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n step: 0,\n};\n\n/**\n * @deprecated use new version of {@link TUI_INPUT_NUMBER_OPTIONS} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport const TUI_INPUT_NUMBER_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_NUMBER_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_NUMBER_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * @deprecated use new version of {@link tuiInputNumberOptionsProvider} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport function tuiInputNumberOptionsProvider(\n options: Partial<TuiInputNumberOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_NUMBER_OPTIONS,\n options,\n TUI_INPUT_NUMBER_DEFAULT_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n inject,\n InjectionToken,\n Input,\n type QueryList,\n ViewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {maskitoInitialCalibrationPlugin, type MaskitoOptions} from '@maskito/core';\nimport {\n maskitoCaretGuard,\n maskitoNumberOptionsGenerator,\n type MaskitoNumberParams,\n maskitoParseNumber,\n} from '@maskito/kit';\nimport {type TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {CHAR_HYPHEN, CHAR_MINUS, EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {tuiClamp, tuiIsSafeToRound} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DEFAULT_NUMBER_FORMAT,\n TUI_NUMBER_FORMAT,\n type TuiDecimalMode,\n} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {tuiFormatNumber} from '@taiga-ui/core/utils/format';\nimport {AbstractTuiNullableControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_SIZE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {\n TUI_INPUT_NUMBER_OPTIONS,\n type TuiInputNumberOptions,\n} from './input-number.options';\n\nconst DEFAULT_MAX_LENGTH = 18;\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number tuiInputNumberOptionsProvider} (from @taiga-ui/kit) (property `valueTransformer`) instead\n * TODO(v5): delete it\n */\nexport const TUI_NUMBER_VALUE_TRANSFORMER = new InjectionToken<\n TuiValueTransformer<number | null>\n>(ngDevMode ? 'TUI_NUMBER_VALUE_TRANSFORMER' : '');\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\n@Component({\n standalone: false,\n selector: 'tui-input-number',\n templateUrl: './input-number.template.html',\n styleUrl: './input-number.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputNumberComponent),\n tuiAsControl(TuiInputNumberComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'size',\n '(keydown.arrowDown)': 'onArrow(-step)',\n '(keydown.arrowUp)': 'onArrow(step)',\n },\n})\nexport class TuiInputNumberComponent\n extends AbstractTuiNullableControl<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly isIOS = inject(TUI_IS_IOS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly options = inject(TUI_INPUT_NUMBER_OPTIONS);\n private unfinishedValue: string | null = '';\n\n @ContentChildren(PolymorpheusOutlet, {descendants: true})\n protected readonly polymorpheusValueContent: QueryList<unknown> = EMPTY_QUERY;\n\n protected override readonly valueTransformer = inject<\n TuiValueTransformer<number | null>\n >(TUI_NUMBER_VALUE_TRANSFORMER, {optional: true});\n\n protected numberFormat = TUI_DEFAULT_NUMBER_FORMAT;\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly numberFormat$ = inject(TUI_NUMBER_FORMAT)\n .pipe(tuiWatch(this.cdr), takeUntilDestroyed())\n .subscribe((format) => {\n this.numberFormat = format;\n });\n\n @Input()\n public min: number | null = this.options.min;\n\n @Input()\n public max: number | null = this.options.max;\n\n @Input()\n public step = this.options.step;\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return !this.textfield || this.computedDisabled\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n public get inputMode(): string {\n if (this.isIOS) {\n return this.isNegativeAllowed\n ? 'text' // iPhone does not have minus sign if inputMode is equal to 'numeric' / 'decimal'\n : 'decimal';\n }\n\n /**\n * Samsung Keyboard does not have minus sign for `inputmode=decimal`\n * @see https://github.com/taiga-family/taiga-ui/issues/11061#issuecomment-2939103792\n */\n return 'numeric';\n }\n\n public get calculatedMaxLength(): number {\n const decimalPart =\n !!this.precision &&\n this.nativeValue.includes(this.numberFormat.decimalSeparator);\n const precision = decimalPart ? Math.min(this.precision + 1, 20) : 0;\n const takeThousand = this.numberFormat.thousandSeparator.repeat(5).length;\n\n return DEFAULT_MAX_LENGTH + precision + takeThousand;\n }\n\n public get computedValue(): string {\n return this.focused ? this.nativeValue : this.formattedValue;\n }\n\n public onValueChange(nativeValue: string): void {\n const parsedValue = maskitoParseNumber(nativeValue, this.numberFormat);\n\n this.unfinishedValue = null;\n\n if (Number.isNaN(parsedValue)) {\n this.value = null;\n\n return;\n }\n\n if (this.isNativeValueNotFinished) {\n this.unfinishedValue = nativeValue;\n this.cdr.markForCheck();\n\n return;\n }\n\n if (parsedValue < this.computedMin || parsedValue > this.computedMax) {\n return;\n }\n\n this.value = parsedValue;\n }\n\n public override writeValue(value: number | null): void {\n super.writeValue(value);\n this.nativeValue = this.formattedValue;\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n protected get icons(): TuiInputNumberOptions['icons'] {\n return this.options.icons;\n }\n\n protected get computedMin(): number {\n return this.computeMin(this.min, this.max);\n }\n\n protected get computedMax(): number {\n return this.computeMax(this.min, this.max);\n }\n\n protected get isNegativeAllowed(): boolean {\n return this.computedMin < 0;\n }\n\n protected get formattedValue(): string {\n return this.value !== null ? this.getFormattedValue(this.value || 0) : '';\n }\n\n protected get canDecrement(): boolean {\n return this.interactive && (this.value || 0) > this.computedMin;\n }\n\n protected get canIncrement(): boolean {\n return this.interactive && (this.value || 0) < this.computedMax;\n }\n\n protected get computedPrefix(): string {\n return this.controller.prefix;\n }\n\n protected get computedPostfix(): string {\n const {postfix} = this.controller;\n\n return postfix && ` ${postfix}`;\n }\n\n protected get mask(): MaskitoOptions {\n return this.calculateMask(\n this.precision,\n this.numberFormat.decimalMode,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n this.computedMin,\n this.computedMax,\n this.computedPrefix,\n this.computedPostfix,\n );\n }\n\n protected get nativeValue(): string {\n return this.nativeFocusableElement?.value || '';\n }\n\n protected set nativeValue(value: string) {\n if (!this.textfield || !this.nativeFocusableElement) {\n return;\n }\n\n this.textfield.value = value;\n this.nativeFocusableElement.value = value;\n }\n\n protected onArrow(step: number | null): void {\n if (!step) {\n return;\n }\n\n this.value = tuiClamp(\n (this.value || 0) + step,\n this.computedMin,\n this.computedMax,\n );\n this.nativeValue = this.formattedValue;\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n\n const nativeNumberValue = this.unfinishedValue\n ? maskitoParseNumber(this.unfinishedValue, this.numberFormat)\n : this.nativeNumberValue;\n\n this.unfinishedValue = null;\n\n if (Number.isNaN(nativeNumberValue)) {\n this.nativeValue =\n focused && !this.readOnly\n ? this.computedPrefix + this.computedPostfix\n : '';\n this.value = null;\n\n return;\n }\n\n if (!focused) {\n this.value = nativeNumberValue;\n this.nativeValue = this.formattedValue;\n }\n }\n\n protected getFormattedValue(value: number): string {\n return (\n this.computedPrefix +\n tuiFormatNumber(value, {\n ...this.numberFormat,\n /**\n * Number can satisfy interval [Number.MIN_SAFE_INTEGER; Number.MAX_SAFE_INTEGER]\n * but its rounding can violate it.\n * Before BigInt support there is no perfect solution – only trade off.\n * No rounding is better than lose precision and incorrect mutation of already valid value.\n */\n precision: tuiIsSafeToRound(value, this.precision)\n ? this.precision\n : Infinity,\n }).replace(CHAR_HYPHEN, CHAR_MINUS) +\n this.computedPostfix\n );\n }\n\n private get isNativeValueNotFinished(): boolean {\n const {nativeNumberValue} = this;\n\n return nativeNumberValue < 0\n ? nativeNumberValue > this.computedMax\n : nativeNumberValue < this.computedMin;\n }\n\n private get nativeNumberValue(): number {\n return maskitoParseNumber(this.nativeValue, this.numberFormat);\n }\n\n private get precision(): number {\n return Number.isNaN(this.numberFormat.precision)\n ? 2\n : this.numberFormat.precision;\n }\n\n @tuiPure\n private computeMin(min: number | null, max: number | null): number {\n return Math.min(\n this.valueTransformer?.fromControlValue(min) ?? min ?? this.options.min,\n this.valueTransformer?.fromControlValue(max) ?? max ?? this.options.max,\n );\n }\n\n @tuiPure\n private computeMax(min: number | null, max: number | null): number {\n return Math.max(\n this.valueTransformer?.fromControlValue(min) ?? min ?? this.options.min,\n this.valueTransformer?.fromControlValue(max) ?? max ?? this.options.max,\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/max-params,max-params\n @tuiPure\n private calculateMask(\n precision: number,\n decimalMode: TuiDecimalMode,\n decimalSeparator: string,\n thousandSeparator: string,\n min: number,\n max: number,\n prefix: string,\n postfix: string,\n ): MaskitoOptions {\n const params: MaskitoNumberParams = {\n decimalSeparator,\n thousandSeparator,\n min,\n max,\n prefix,\n postfix,\n maximumFractionDigits: precision,\n minimumFractionDigits: decimalMode === 'always' ? precision : 0,\n };\n const {plugins, ...options} = maskitoNumberOptionsGenerator(params);\n const initialCalibrationPlugin = maskitoInitialCalibrationPlugin(\n maskitoNumberOptionsGenerator({\n ...params,\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n }),\n );\n\n return {\n ...options,\n plugins: [\n ...plugins,\n initialCalibrationPlugin,\n maskitoCaretGuard((value) => [\n prefix.length,\n value.length - postfix.length,\n ]),\n ],\n };\n }\n}\n","<tui-primitive-textfield\n #textfield\n tuiTextfieldPostfix=\"\"\n tuiTextfieldPrefix=\"\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"mask\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [value]=\"computedValue\"\n (focusedChange)=\"onFocused($event)\"\n (valueChange)=\"onValueChange($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n @if (polymorpheusValueContent.length) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-value-content\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text\">\n {{ text }}\n </ng-container>\n </div>\n }\n</tui-primitive-textfield>\n\n@if (step) {\n <section class=\"t-buttons\">\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canIncrement\"\n [iconStart]=\"icons.up\"\n (click.prevent)=\"onArrow(step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n +\n </button>\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canDecrement\"\n [iconStart]=\"icons.down\"\n (click.prevent)=\"onArrow(-step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n -\n </button>\n </section>\n}\n\n@if (polymorpheusValueContent.changes | async) {}\n\n<ng-template #valueContent>\n <ng-content select=\"tuiContent\" />\n</ng-template>\n","import {Directive, type DoCheck} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiInputNumberComponent} from './input-number.component';\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\n@Directive({\n standalone: false,\n selector: 'tui-input-number',\n providers: [tuiAsTextfieldHost(TuiInputNumberDirective)],\n})\nexport class TuiInputNumberDirective\n extends AbstractTuiTextfieldHost<TuiInputNumberComponent>\n implements DoCheck\n{\n protected input?: HTMLInputElement;\n\n public override get value(): string {\n return this.host.computedValue;\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n public ngDoCheck(): void {\n if (!this.host.nativeFocusableElement) {\n return;\n }\n\n this.host.nativeFocusableElement.inputMode = this.host.inputMode;\n this.host.nativeFocusableElement.maxLength =\n this.host.nativeFocusableElement.maxLength > 0\n ? this.host.nativeFocusableElement.maxLength\n : this.host.calculatedMaxLength;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputNumberComponent} from './input-number.component';\nimport {TuiInputNumberDirective} from './input-number.directive';\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\n@NgModule({\n imports: [\n CommonModule,\n MaskitoDirective,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiButton,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputNumberComponent, TuiInputNumberDirective],\n exports: [TuiInputNumberComponent, TuiInputNumberDirective, TuiTextfieldComponent],\n})\nexport class TuiInputNumberModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -8,14 +8,14 @@ import { tuiIsFocusedIn, tuiIsFocused } from '@taiga-ui/cdk/utils/focus';
|
|
|
8
8
|
import { tuiRound, tuiClamp } from '@taiga-ui/cdk/utils/math';
|
|
9
9
|
import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
10
10
|
import { tuiGetFractionPartPadded } from '@taiga-ui/core/utils/format';
|
|
11
|
-
import * as
|
|
11
|
+
import * as i6 from '@taiga-ui/kit/components/range';
|
|
12
12
|
import { TuiRange } from '@taiga-ui/kit/components/range';
|
|
13
13
|
import { TUI_FLOATING_PRECISION, tuiSliderOptionsProvider } from '@taiga-ui/kit/components/slider';
|
|
14
14
|
import { AbstractTuiControl, tuiAsControl } from '@taiga-ui/legacy/classes';
|
|
15
15
|
import * as i4 from '@taiga-ui/legacy/components/input-number';
|
|
16
16
|
import { TuiInputNumberComponent, TuiInputNumberModule } from '@taiga-ui/legacy/components/input-number';
|
|
17
|
-
import * as
|
|
18
|
-
import { TUI_TEXTFIELD_WATCHED_CONTROLLER, TEXTFIELD_CONTROLLER_PROVIDER,
|
|
17
|
+
import * as i7 from '@taiga-ui/legacy/directives';
|
|
18
|
+
import { TUI_TEXTFIELD_WATCHED_CONTROLLER, TEXTFIELD_CONTROLLER_PROVIDER, TuiTextfieldControllerModule, TuiWrapperModule } from '@taiga-ui/legacy/directives';
|
|
19
19
|
import { tuiAsFocusableItemAccessor } from '@taiga-ui/legacy/tokens';
|
|
20
20
|
import * as i1 from '@angular/forms';
|
|
21
21
|
import { FormsModule } from '@angular/forms';
|
|
@@ -23,7 +23,7 @@ import * as i2 from '@taiga-ui/polymorpheus';
|
|
|
23
23
|
import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
|
|
24
24
|
import * as i3 from '@taiga-ui/cdk/directives/active-zone';
|
|
25
25
|
import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
|
|
26
|
-
import * as
|
|
26
|
+
import * as i5 from '@taiga-ui/core/directives/number-format';
|
|
27
27
|
import { TuiNumberFormat } from '@taiga-ui/core/directives/number-format';
|
|
28
28
|
import * as i8 from '@angular/common';
|
|
29
29
|
import { CommonModule } from '@angular/common';
|
|
@@ -168,7 +168,7 @@ class TuiInputRangeComponent extends AbstractTuiControl {
|
|
|
168
168
|
tuiAsControl(TuiInputRangeComponent),
|
|
169
169
|
tuiSliderOptionsProvider({ trackColor: 'transparent' }),
|
|
170
170
|
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
171
|
-
], viewQueries: [{ propertyName: "range", first: true, predicate: TuiRange, descendants: true, read: ElementRef }, { propertyName: "inputNumberRefs", predicate: TuiInputNumberComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n automation-id=\"tui-input-range__left-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-left\"\n [disabled]=\"computedDisabled\"\n [max]=\"value[1]\"\n [min]=\"min\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[0] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"leftTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (ngModelChange)=\"onInputLeft($event)\"\n >\n <ng-content />\n @if (showLeftValueContent) {\n <div ngProjectAs=\"tuiContent\">\n <ng-container *polymorpheusOutlet=\"leftValueContent as text; context: {$implicit: value[0]}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-input-number>\n\n <tui-input-number\n automation-id=\"tui-input-range__right-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-right\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"value[0]\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[1] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"rightTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (ngModelChange)=\"onInputRight($event)\"\n >\n @if (showRightValueContent) {\n <div ngProjectAs=\"tuiContent\">\n <ng-container *polymorpheusOutlet=\"rightValueContent as text; context: {$implicit: value[1]}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-input-number>\n\n <tui-range\n class=\"t-range\"\n [disabled]=\"readOnly || disabled\"\n [focusable]=\"false\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (mousedown.prevent)=\"focusToTextInput()\"\n (ngModelChange)=\"onExternalValueUpdate($event)\"\n />\n</div>\n", styles: [".t-wrapper{position:relative}.t-left{inline-size:100%}.t-right{position:absolute;right:0;top:0;display:flex;inline-size:50%;block-size:100%;text-align:end}:host{display:block;border-radius:var(--tui-radius-m)}:host :host-context(*:disabled){pointer-events:none}.t-range{position:absolute;top:100%;left:0;right:0;z-index:1;margin:-.125rem 0 0}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i3.TuiActiveZone, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { kind: "component", type: i4.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "step"] }, { kind: "directive", type: i4.TuiInputNumberDirective, selector: "tui-input-number" }, { kind: "
|
|
171
|
+
], viewQueries: [{ propertyName: "range", first: true, predicate: TuiRange, descendants: true, read: ElementRef }, { propertyName: "inputNumberRefs", predicate: TuiInputNumberComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n automation-id=\"tui-input-range__left-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-left\"\n [disabled]=\"computedDisabled\"\n [max]=\"value[1]\"\n [min]=\"min\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[0] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"leftTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (ngModelChange)=\"onInputLeft($event)\"\n >\n <ng-content />\n @if (showLeftValueContent) {\n <div ngProjectAs=\"tuiContent\">\n <ng-container *polymorpheusOutlet=\"leftValueContent as text; context: {$implicit: value[0]}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-input-number>\n\n <tui-input-number\n automation-id=\"tui-input-range__right-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-right\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"value[0]\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[1] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"rightTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (ngModelChange)=\"onInputRight($event)\"\n >\n @if (showRightValueContent) {\n <div ngProjectAs=\"tuiContent\">\n <ng-container *polymorpheusOutlet=\"rightValueContent as text; context: {$implicit: value[1]}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-input-number>\n\n <tui-range\n class=\"t-range\"\n [disabled]=\"readOnly || disabled\"\n [focusable]=\"false\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (mousedown.prevent)=\"focusToTextInput()\"\n (ngModelChange)=\"onExternalValueUpdate($event)\"\n />\n</div>\n", styles: [".t-wrapper{position:relative}.t-left{inline-size:100%}.t-right{position:absolute;right:0;top:0;display:flex;inline-size:50%;block-size:100%;text-align:end}:host{display:block;border-radius:var(--tui-radius-m)}:host :host-context(*:disabled){pointer-events:none}.t-range{position:absolute;top:100%;left:0;right:0;z-index:1;margin:-.125rem 0 0}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i3.TuiActiveZone, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { kind: "component", type: i4.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "step"] }, { kind: "directive", type: i4.TuiInputNumberDirective, selector: "tui-input-number" }, { kind: "directive", type: i5.TuiNumberFormat, selector: "[tuiNumberFormat]", inputs: ["tuiNumberFormat"] }, { kind: "component", type: i6.TuiRange, selector: "tui-range", inputs: ["min", "max", "step", "size", "segments", "keySteps", "focusable", "margin", "limit"] }, { kind: "directive", type: i7.TuiTextfieldAppearanceDirective, selector: "[tuiTextfieldAppearance]", inputs: ["tuiTextfieldAppearance"] }, { kind: "directive", type: i7.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { kind: "directive", type: i7.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "pipe", type: i8.I18nPluralPipe, name: "i18nPlural" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
172
172
|
}
|
|
173
173
|
__decorate([
|
|
174
174
|
tuiPure
|
|
@@ -222,16 +222,16 @@ class TuiInputRangeModule {
|
|
|
222
222
|
PolymorpheusTemplate,
|
|
223
223
|
TuiActiveZone,
|
|
224
224
|
TuiInputNumberModule,
|
|
225
|
+
TuiNumberFormat,
|
|
225
226
|
TuiRange,
|
|
226
|
-
TuiWrapperModule,
|
|
227
227
|
TuiTextfieldControllerModule,
|
|
228
|
-
|
|
228
|
+
TuiWrapperModule], exports: [TuiInputRangeComponent] }); }
|
|
229
229
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputRangeModule, imports: [CommonModule,
|
|
230
230
|
FormsModule,
|
|
231
231
|
TuiInputNumberModule,
|
|
232
232
|
TuiRange,
|
|
233
|
-
|
|
234
|
-
|
|
233
|
+
TuiTextfieldControllerModule,
|
|
234
|
+
TuiWrapperModule] }); }
|
|
235
235
|
}
|
|
236
236
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputRangeModule, decorators: [{
|
|
237
237
|
type: NgModule,
|
|
@@ -243,10 +243,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
243
243
|
PolymorpheusTemplate,
|
|
244
244
|
TuiActiveZone,
|
|
245
245
|
TuiInputNumberModule,
|
|
246
|
+
TuiNumberFormat,
|
|
246
247
|
TuiRange,
|
|
247
|
-
TuiWrapperModule,
|
|
248
248
|
TuiTextfieldControllerModule,
|
|
249
|
-
|
|
249
|
+
TuiWrapperModule,
|
|
250
250
|
],
|
|
251
251
|
declarations: [TuiInputRangeComponent],
|
|
252
252
|
exports: [TuiInputRangeComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-input-range.mjs","sources":["../../../projects/legacy/components/input-range/input-range.component.ts","../../../projects/legacy/components/input-range/input-range.template.html","../../../projects/legacy/components/input-range/input-range.module.ts","../../../projects/legacy/components/input-range/taiga-ui-legacy-components-input-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n Input,\n type QueryList,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocused, tuiIsFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiClamp, tuiRound} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiGetFractionPartPadded} from '@taiga-ui/core/utils/format';\nimport {TuiRange} from '@taiga-ui/kit/components/range';\nimport {\n TUI_FLOATING_PRECISION,\n type TuiKeySteps,\n tuiSliderOptionsProvider,\n} from '@taiga-ui/kit/components/slider';\nimport {AbstractTuiControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiInputNumberComponent} from '@taiga-ui/legacy/components/input-number';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n type TuiNativeFocusableElement,\n} from '@taiga-ui/legacy/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-range TuiInputRange} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-range',\n templateUrl: './input-range.template.html',\n styleUrl: './input-range.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputRangeComponent),\n tuiAsControl(TuiInputRangeComponent),\n tuiSliderOptionsProvider({trackColor: 'transparent'}),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'controller.size',\n '[class._label-outside]': 'controller.labelOutside',\n },\n})\nexport class TuiInputRangeComponent\n extends AbstractTuiControl<[number, number]>\n implements TuiFocusableElementAccessor\n{\n @ViewChildren(TuiInputNumberComponent)\n private readonly inputNumberRefs: QueryList<TuiInputNumberComponent> = EMPTY_QUERY;\n\n @ViewChild(TuiRange, {read: ElementRef})\n private readonly range?: ElementRef<HTMLElement>;\n\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly el = tuiInjectElement();\n\n protected leftTextfieldValue = this.safeCurrentValue[0];\n protected rightTextfieldValue = this.safeCurrentValue[1];\n protected lastActiveSide: 'left' | 'right' = 'left';\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n\n @Input()\n public min = 0;\n\n @Input()\n public max = 100;\n\n @Input()\n public quantum = 1;\n\n @Input()\n public steps = 0;\n\n @Input()\n public segments = 1;\n\n @Input()\n public keySteps: TuiKeySteps | null = null;\n\n @Input()\n public leftValueContent: PolymorpheusContent<TuiContext<number>>;\n\n @Input()\n public rightValueContent: PolymorpheusContent<TuiContext<number>>;\n\n @Input()\n public pluralize: Record<string, string> | null = null;\n\n public get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.disabled\n ? null\n : this.leftFocusableElement || this.rightFocusableElement;\n }\n\n public get focused(): boolean {\n return tuiIsFocusedIn(this.el);\n }\n\n public override writeValue(value: [number, number]): void {\n super.writeValue(value);\n this.updateTextfieldValues(this.value);\n }\n\n protected get leftFocusableElement(): HTMLInputElement | null {\n return this.inputNumberRefs.first?.nativeFocusableElement || null;\n }\n\n protected get rightFocusableElement(): HTMLInputElement | null {\n return this.inputNumberRefs.last?.nativeFocusableElement || null;\n }\n\n protected get appearance(): string {\n return this.controller.appearance;\n }\n\n protected get showLeftValueContent(): boolean {\n return Boolean(\n this.leftValueContent &&\n !tuiIsFocused(this.leftFocusableElement) &&\n (!tuiIsFocusedIn(this.range?.nativeElement) ||\n this.lastActiveSide !== 'left'),\n );\n }\n\n protected get showRightValueContent(): boolean {\n return Boolean(\n this.rightValueContent &&\n !tuiIsFocused(this.rightFocusableElement) &&\n (!tuiIsFocusedIn(this.range?.nativeElement) ||\n this.lastActiveSide !== 'right'),\n );\n }\n\n protected get precision(): number {\n return tuiGetFractionPartPadded(this.quantum).length;\n }\n\n protected get computedSteps(): number {\n return this.steps || (this.max - this.min) / this.quantum;\n }\n\n protected get step(): number {\n return (this.max - this.min) / this.computedSteps;\n }\n\n @tuiPure\n protected computeKeySteps(\n keySteps: TuiKeySteps | null,\n min: number,\n max: number,\n ): TuiKeySteps {\n return (\n keySteps || [\n [0, min],\n [100, max],\n ]\n );\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected onTextInputFocused(focused: boolean): void {\n if (!focused) {\n this.updateTextfieldValues(this.value);\n }\n }\n\n protected changeByStep(\n event: Event | KeyboardEvent,\n [leftCoefficient, rightCoefficient]: [number, number],\n ): void {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n\n const newValue = this.valueGuard([\n this.value[0] + leftCoefficient * this.step,\n this.value[1] + rightCoefficient * this.step,\n ]);\n\n if (newValue[0] !== this.value[0] || newValue[1] !== this.value[1]) {\n this.onExternalValueUpdate(newValue);\n }\n }\n\n protected onInputLeft(value: number | null): void {\n this.safelyUpdateValue([value ?? this.safeCurrentValue[0], this.value[1]]);\n }\n\n protected onInputRight(value: number | null): void {\n this.safelyUpdateValue([this.value[0], value ?? this.safeCurrentValue[1]]);\n }\n\n protected onExternalValueUpdate(value: [number, number]): void {\n this.safelyUpdateValue(value);\n this.updateTextfieldValues(this.value);\n }\n\n protected focusToTextInput(): void {\n const element =\n this.lastActiveSide === 'left'\n ? this.leftFocusableElement\n : this.rightFocusableElement;\n\n if (!this.isMobile && element) {\n element.focus();\n }\n }\n\n protected onActiveThumbChange(activeThumb: 'end' | 'start'): void {\n this.lastActiveSide = activeThumb === 'start' ? 'left' : 'right';\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n private safelyUpdateValue(value: [number, number]): void {\n this.value = this.valueGuard(value);\n }\n\n private valueGuard([leftValue, rightValue]: [number, number]): [number, number] {\n const leftCalibratedValue = this.calibrate(leftValue);\n const rightCalibratedValue = this.calibrate(rightValue);\n\n return [\n Math.min(leftCalibratedValue, this.value[1]),\n Math.max(rightCalibratedValue, this.value[0]),\n ];\n }\n\n private calibrate(value: number): number {\n const roundedValue = tuiRound(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n );\n\n return tuiClamp(roundedValue, this.min, this.max);\n }\n\n private updateTextfieldValues([leftValue, rightValue]: [number, number]): void {\n this.leftTextfieldValue = leftValue;\n this.rightTextfieldValue = rightValue;\n }\n}\n","<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n automation-id=\"tui-input-range__left-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-left\"\n [disabled]=\"computedDisabled\"\n [max]=\"value[1]\"\n [min]=\"min\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[0] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"leftTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (ngModelChange)=\"onInputLeft($event)\"\n >\n <ng-content />\n @if (showLeftValueContent) {\n <div ngProjectAs=\"tuiContent\">\n <ng-container *polymorpheusOutlet=\"leftValueContent as text; context: {$implicit: value[0]}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-input-number>\n\n <tui-input-number\n automation-id=\"tui-input-range__right-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-right\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"value[0]\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[1] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"rightTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (ngModelChange)=\"onInputRight($event)\"\n >\n @if (showRightValueContent) {\n <div ngProjectAs=\"tuiContent\">\n <ng-container *polymorpheusOutlet=\"rightValueContent as text; context: {$implicit: value[1]}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-input-number>\n\n <tui-range\n class=\"t-range\"\n [disabled]=\"readOnly || disabled\"\n [focusable]=\"false\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (mousedown.prevent)=\"focusToTextInput()\"\n (ngModelChange)=\"onExternalValueUpdate($event)\"\n />\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TuiNumberFormat} from '@taiga-ui/core/directives/number-format';\nimport {TuiRange} from '@taiga-ui/kit/components/range';\nimport {TuiInputNumberModule} from '@taiga-ui/legacy/components/input-number';\nimport {\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputRangeComponent} from './input-range.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-range TuiInputRange} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiActiveZone,\n TuiInputNumberModule,\n TuiRange,\n TuiWrapperModule,\n TuiTextfieldControllerModule,\n TuiNumberFormat,\n ],\n declarations: [TuiInputRangeComponent],\n exports: [TuiInputRangeComponent],\n})\nexport class TuiInputRangeModule {}\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-legacy-components-input-range.mjs","sources":["../../../projects/legacy/components/input-range/input-range.component.ts","../../../projects/legacy/components/input-range/input-range.template.html","../../../projects/legacy/components/input-range/input-range.module.ts","../../../projects/legacy/components/input-range/taiga-ui-legacy-components-input-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n Input,\n type QueryList,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocused, tuiIsFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiClamp, tuiRound} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiGetFractionPartPadded} from '@taiga-ui/core/utils/format';\nimport {TuiRange} from '@taiga-ui/kit/components/range';\nimport {\n TUI_FLOATING_PRECISION,\n type TuiKeySteps,\n tuiSliderOptionsProvider,\n} from '@taiga-ui/kit/components/slider';\nimport {AbstractTuiControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiInputNumberComponent} from '@taiga-ui/legacy/components/input-number';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n type TuiNativeFocusableElement,\n} from '@taiga-ui/legacy/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-range TuiInputRange} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-range',\n templateUrl: './input-range.template.html',\n styleUrl: './input-range.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputRangeComponent),\n tuiAsControl(TuiInputRangeComponent),\n tuiSliderOptionsProvider({trackColor: 'transparent'}),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'controller.size',\n '[class._label-outside]': 'controller.labelOutside',\n },\n})\nexport class TuiInputRangeComponent\n extends AbstractTuiControl<[number, number]>\n implements TuiFocusableElementAccessor\n{\n @ViewChildren(TuiInputNumberComponent)\n private readonly inputNumberRefs: QueryList<TuiInputNumberComponent> = EMPTY_QUERY;\n\n @ViewChild(TuiRange, {read: ElementRef})\n private readonly range?: ElementRef<HTMLElement>;\n\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly el = tuiInjectElement();\n\n protected leftTextfieldValue = this.safeCurrentValue[0];\n protected rightTextfieldValue = this.safeCurrentValue[1];\n protected lastActiveSide: 'left' | 'right' = 'left';\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n\n @Input()\n public min = 0;\n\n @Input()\n public max = 100;\n\n @Input()\n public quantum = 1;\n\n @Input()\n public steps = 0;\n\n @Input()\n public segments = 1;\n\n @Input()\n public keySteps: TuiKeySteps | null = null;\n\n @Input()\n public leftValueContent: PolymorpheusContent<TuiContext<number>>;\n\n @Input()\n public rightValueContent: PolymorpheusContent<TuiContext<number>>;\n\n @Input()\n public pluralize: Record<string, string> | null = null;\n\n public get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.disabled\n ? null\n : this.leftFocusableElement || this.rightFocusableElement;\n }\n\n public get focused(): boolean {\n return tuiIsFocusedIn(this.el);\n }\n\n public override writeValue(value: [number, number]): void {\n super.writeValue(value);\n this.updateTextfieldValues(this.value);\n }\n\n protected get leftFocusableElement(): HTMLInputElement | null {\n return this.inputNumberRefs.first?.nativeFocusableElement || null;\n }\n\n protected get rightFocusableElement(): HTMLInputElement | null {\n return this.inputNumberRefs.last?.nativeFocusableElement || null;\n }\n\n protected get appearance(): string {\n return this.controller.appearance;\n }\n\n protected get showLeftValueContent(): boolean {\n return Boolean(\n this.leftValueContent &&\n !tuiIsFocused(this.leftFocusableElement) &&\n (!tuiIsFocusedIn(this.range?.nativeElement) ||\n this.lastActiveSide !== 'left'),\n );\n }\n\n protected get showRightValueContent(): boolean {\n return Boolean(\n this.rightValueContent &&\n !tuiIsFocused(this.rightFocusableElement) &&\n (!tuiIsFocusedIn(this.range?.nativeElement) ||\n this.lastActiveSide !== 'right'),\n );\n }\n\n protected get precision(): number {\n return tuiGetFractionPartPadded(this.quantum).length;\n }\n\n protected get computedSteps(): number {\n return this.steps || (this.max - this.min) / this.quantum;\n }\n\n protected get step(): number {\n return (this.max - this.min) / this.computedSteps;\n }\n\n @tuiPure\n protected computeKeySteps(\n keySteps: TuiKeySteps | null,\n min: number,\n max: number,\n ): TuiKeySteps {\n return (\n keySteps || [\n [0, min],\n [100, max],\n ]\n );\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected onTextInputFocused(focused: boolean): void {\n if (!focused) {\n this.updateTextfieldValues(this.value);\n }\n }\n\n protected changeByStep(\n event: Event | KeyboardEvent,\n [leftCoefficient, rightCoefficient]: [number, number],\n ): void {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n\n const newValue = this.valueGuard([\n this.value[0] + leftCoefficient * this.step,\n this.value[1] + rightCoefficient * this.step,\n ]);\n\n if (newValue[0] !== this.value[0] || newValue[1] !== this.value[1]) {\n this.onExternalValueUpdate(newValue);\n }\n }\n\n protected onInputLeft(value: number | null): void {\n this.safelyUpdateValue([value ?? this.safeCurrentValue[0], this.value[1]]);\n }\n\n protected onInputRight(value: number | null): void {\n this.safelyUpdateValue([this.value[0], value ?? this.safeCurrentValue[1]]);\n }\n\n protected onExternalValueUpdate(value: [number, number]): void {\n this.safelyUpdateValue(value);\n this.updateTextfieldValues(this.value);\n }\n\n protected focusToTextInput(): void {\n const element =\n this.lastActiveSide === 'left'\n ? this.leftFocusableElement\n : this.rightFocusableElement;\n\n if (!this.isMobile && element) {\n element.focus();\n }\n }\n\n protected onActiveThumbChange(activeThumb: 'end' | 'start'): void {\n this.lastActiveSide = activeThumb === 'start' ? 'left' : 'right';\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n private safelyUpdateValue(value: [number, number]): void {\n this.value = this.valueGuard(value);\n }\n\n private valueGuard([leftValue, rightValue]: [number, number]): [number, number] {\n const leftCalibratedValue = this.calibrate(leftValue);\n const rightCalibratedValue = this.calibrate(rightValue);\n\n return [\n Math.min(leftCalibratedValue, this.value[1]),\n Math.max(rightCalibratedValue, this.value[0]),\n ];\n }\n\n private calibrate(value: number): number {\n const roundedValue = tuiRound(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n );\n\n return tuiClamp(roundedValue, this.min, this.max);\n }\n\n private updateTextfieldValues([leftValue, rightValue]: [number, number]): void {\n this.leftTextfieldValue = leftValue;\n this.rightTextfieldValue = rightValue;\n }\n}\n","<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n automation-id=\"tui-input-range__left-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-left\"\n [disabled]=\"computedDisabled\"\n [max]=\"value[1]\"\n [min]=\"min\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[0] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"leftTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (ngModelChange)=\"onInputLeft($event)\"\n >\n <ng-content />\n @if (showLeftValueContent) {\n <div ngProjectAs=\"tuiContent\">\n <ng-container *polymorpheusOutlet=\"leftValueContent as text; context: {$implicit: value[0]}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-input-number>\n\n <tui-input-number\n automation-id=\"tui-input-range__right-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-right\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"value[0]\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[1] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"rightTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (ngModelChange)=\"onInputRight($event)\"\n >\n @if (showRightValueContent) {\n <div ngProjectAs=\"tuiContent\">\n <ng-container *polymorpheusOutlet=\"rightValueContent as text; context: {$implicit: value[1]}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-input-number>\n\n <tui-range\n class=\"t-range\"\n [disabled]=\"readOnly || disabled\"\n [focusable]=\"false\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (mousedown.prevent)=\"focusToTextInput()\"\n (ngModelChange)=\"onExternalValueUpdate($event)\"\n />\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TuiNumberFormat} from '@taiga-ui/core/directives/number-format';\nimport {TuiRange} from '@taiga-ui/kit/components/range';\nimport {TuiInputNumberModule} from '@taiga-ui/legacy/components/input-number';\nimport {\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputRangeComponent} from './input-range.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-range TuiInputRange} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiActiveZone,\n TuiInputNumberModule,\n TuiNumberFormat,\n TuiRange,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n ],\n declarations: [TuiInputRangeComponent],\n exports: [TuiInputRangeComponent],\n})\nexport class TuiInputRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA;;;AAGG;AAkBG,MAAO,sBACT,SAAQ,kBAAoC,CAAA;AAlBhD,IAAA,WAAA,GAAA;;QAsBqB,IAAe,CAAA,eAAA,GAAuC,WAAW;AAKjE,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC;QAChC,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE;AAE9B,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC7C,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC9C,IAAc,CAAA,cAAA,GAAqB,MAAM;AAChC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,gCAAgC,CAAC;QAGjE,IAAG,CAAA,GAAA,GAAG,CAAC;QAGP,IAAG,CAAA,GAAA,GAAG,GAAG;QAGT,IAAO,CAAA,OAAA,GAAG,CAAC;QAGX,IAAK,CAAA,KAAA,GAAG,CAAC;QAGT,IAAQ,CAAA,QAAA,GAAG,CAAC;QAGZ,IAAQ,CAAA,QAAA,GAAuB,IAAI;QASnC,IAAS,CAAA,SAAA,GAAkC,IAAI;AAkKzD;AAhKG,IAAA,IAAW,sBAAsB,GAAA;QAC7B,OAAO,IAAI,CAAC;AACR,cAAE;cACA,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,qBAAqB;;AAGjE,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;;AAGlB,IAAA,UAAU,CAAC,KAAuB,EAAA;AAC9C,QAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;;AAG1C,IAAA,IAAc,oBAAoB,GAAA;QAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,sBAAsB,IAAI,IAAI;;AAGrE,IAAA,IAAc,qBAAqB,GAAA;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,sBAAsB,IAAI,IAAI;;AAGpE,IAAA,IAAc,UAAU,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU;;AAGrC,IAAA,IAAc,oBAAoB,GAAA;AAC9B,QAAA,OAAO,OAAO,CACV,IAAI,CAAC,gBAAgB;AACjB,YAAA,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC;aACvC,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC;AACvC,gBAAA,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,CAC1C;;AAGL,IAAA,IAAc,qBAAqB,GAAA;AAC/B,QAAA,OAAO,OAAO,CACV,IAAI,CAAC,iBAAiB;AAClB,YAAA,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC;aACxC,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC;AACvC,gBAAA,IAAI,CAAC,cAAc,KAAK,OAAO,CAAC,CAC3C;;AAGL,IAAA,IAAc,SAAS,GAAA;QACnB,OAAO,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM;;AAGxD,IAAA,IAAc,aAAa,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO;;AAG7D,IAAA,IAAc,IAAI,GAAA;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,aAAa;;AAI3C,IAAA,eAAe,CACrB,QAA4B,EAC5B,GAAW,EACX,GAAW,EAAA;QAEX,QACI,QAAQ,IAAI;YACR,CAAC,CAAC,EAAE,GAAG,CAAC;YACR,CAAC,GAAG,EAAE,GAAG,CAAC;AACb,SAAA;;AAIC,IAAA,YAAY,CAAC,MAAe,EAAA;AAClC,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;;AAGpB,IAAA,kBAAkB,CAAC,OAAgB,EAAA;QACzC,IAAI,CAAC,OAAO,EAAE;AACV,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;;;AAIpC,IAAA,YAAY,CAClB,KAA4B,EAC5B,CAAC,eAAe,EAAE,gBAAgB,CAAmB,EAAA;AAErD,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf;;QAGJ,KAAK,CAAC,cAAc,EAAE;AAEtB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC,IAAI;YAC3C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAAC,IAAI;AAC/C,SAAA,CAAC;QAEF,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;AAChE,YAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC;;;AAIlC,IAAA,WAAW,CAAC,KAAoB,EAAA;QACtC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;;AAGpE,IAAA,YAAY,CAAC,KAAoB,EAAA;QACvC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;;AAGpE,IAAA,qBAAqB,CAAC,KAAuB,EAAA;AACnD,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;AAC7B,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhC,gBAAgB,GAAA;AACtB,QAAA,MAAM,OAAO,GACT,IAAI,CAAC,cAAc,KAAK;cAClB,IAAI,CAAC;AACP,cAAE,IAAI,CAAC,qBAAqB;AAEpC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE;YAC3B,OAAO,CAAC,KAAK,EAAE;;;AAIb,IAAA,mBAAmB,CAAC,WAA4B,EAAA;AACtD,QAAA,IAAI,CAAC,cAAc,GAAG,WAAW,KAAK,OAAO,GAAG,MAAM,GAAG,OAAO;;IAG1D,gBAAgB,GAAA;AACtB,QAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;;AAGT,IAAA,iBAAiB,CAAC,KAAuB,EAAA;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;;AAG/B,IAAA,UAAU,CAAC,CAAC,SAAS,EAAE,UAAU,CAAmB,EAAA;QACxD,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QACrD,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAEvD,OAAO;YACH,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAChD;;AAGG,IAAA,SAAS,CAAC,KAAa,EAAA;QAC3B,MAAM,YAAY,GAAG,QAAQ,CACzB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,EAC/C,sBAAsB,CACzB;AAED,QAAA,OAAO,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;;AAG7C,IAAA,qBAAqB,CAAC,CAAC,SAAS,EAAE,UAAU,CAAmB,EAAA;AACnE,QAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS;AACnC,QAAA,IAAI,CAAC,mBAAmB,GAAG,UAAU;;+GA3MhC,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAXpB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACP,0BAA0B,CAAC,sBAAsB,CAAC;YAClD,YAAY,CAAC,sBAAsB,CAAC;AACpC,YAAA,wBAAwB,CAAC,EAAC,UAAU,EAAE,aAAa,EAAC,CAAC;YACrD,6BAA6B;AAChC,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAaU,QAAQ,EAAS,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,EAHxB,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,uBAAuB,uEC9DzC,u5FAgFA,EAAA,MAAA,EAAA,CAAA,0VAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,qHAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,KAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,KAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,+BAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;ADiFc,UAAA,CAAA;IADT;AAYA,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,IAAA,CAAA;4FAlHQ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAjBlC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,YACP,iBAAiB,EAAA,eAAA,EAGV,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA,0BAA0B,CAAwB,sBAAA,CAAA;AAClD,wBAAA,YAAY,CAAwB,sBAAA,CAAA;AACpC,wBAAA,wBAAwB,CAAC,EAAC,UAAU,EAAE,aAAa,EAAC,CAAC;wBACrD,6BAA6B;qBAChC,EACK,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,iBAAiB;AACrC,wBAAA,wBAAwB,EAAE,yBAAyB;AACtD,qBAAA,EAAA,QAAA,EAAA,u5FAAA,EAAA,MAAA,EAAA,CAAA,0VAAA,CAAA,EAAA;8BAOgB,eAAe,EAAA,CAAA;sBAD/B,YAAY;uBAAC,uBAAuB;gBAIpB,KAAK,EAAA,CAAA;sBADrB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC;gBAYhC,GAAG,EAAA,CAAA;sBADT;gBAIM,GAAG,EAAA,CAAA;sBADT;gBAIM,OAAO,EAAA,CAAA;sBADb;gBAIM,KAAK,EAAA,CAAA;sBADX;gBAIM,QAAQ,EAAA,CAAA;sBADd;gBAIM,QAAQ,EAAA,CAAA;sBADd;gBAIM,gBAAgB,EAAA,CAAA;sBADtB;gBAIM,iBAAiB,EAAA,CAAA;sBADvB;gBAIM,SAAS,EAAA,CAAA;sBADf;gBA6DS,eAAe,EAAA,EAAA,EAAA,EAAA,CAAA;;AElJ7B;;;AAGG;MAiBU,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAHb,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAXjC,YAAY;YACZ,WAAW;YACX,kBAAkB;YAClB,oBAAoB;YACpB,aAAa;YACb,oBAAoB;YACpB,eAAe;YACf,QAAQ;YACR,4BAA4B;AAC5B,YAAA,gBAAgB,aAGV,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAEvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAdxB,YAAY;YACZ,WAAW;YAIX,oBAAoB;YAEpB,QAAQ;YACR,4BAA4B;YAC5B,gBAAgB,CAAA,EAAA,CAAA,CAAA;;4FAKX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAhB/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,WAAW;wBACX,kBAAkB;wBAClB,oBAAoB;wBACpB,aAAa;wBACb,oBAAoB;wBACpB,eAAe;wBACf,QAAQ;wBACR,4BAA4B;wBAC5B,gBAAgB;AACnB,qBAAA;oBACD,YAAY,EAAE,CAAC,sBAAsB,CAAC;oBACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACpC,iBAAA;;;AClCD;;AAEG;;;;"}
|