@taiga-ui/kit 3.52.0 → 3.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +2 -1
  2. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +2 -1
  4. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-combo-box.umd.js +4 -3
  6. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +2 -1
  8. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +11 -10
  10. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-input-date.umd.js +3 -2
  12. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +2 -1
  14. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-time.umd.js +3 -2
  16. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-pagination.umd.js +2 -2
  18. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-radio-block.umd.js +2 -1
  20. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +2 -1
  22. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-radio-list.umd.js +4 -3
  24. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-select.umd.js +2 -1
  26. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-toggle.umd.js +5 -3
  28. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  29. package/esm2015/components/checkbox-block/checkbox-block.component.js +3 -2
  30. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +3 -2
  31. package/esm2015/components/combo-box/combo-box.component.js +5 -4
  32. package/esm2015/components/input-date/input-date.component.js +3 -2
  33. package/esm2015/components/input-date-range/input-date-range.component.js +3 -2
  34. package/esm2015/components/input-date-time/input-date-time.component.js +4 -3
  35. package/esm2015/components/input-month-range/input-month-range.component.js +3 -2
  36. package/esm2015/components/input-time/input-time.component.js +3 -2
  37. package/esm2015/components/pagination/pagination.component.js +3 -3
  38. package/esm2015/components/radio-block/radio-block.component.js +3 -2
  39. package/esm2015/components/radio-labeled/radio-labeled.component.js +3 -2
  40. package/esm2015/components/radio-list/radio-list.component.js +3 -2
  41. package/esm2015/components/select/select.component.js +3 -2
  42. package/esm2015/components/toggle/toggle.component.js +6 -4
  43. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +2 -1
  44. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  45. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +2 -1
  46. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  47. package/fesm2015/taiga-ui-kit-components-combo-box.js +4 -3
  48. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  49. package/fesm2015/taiga-ui-kit-components-input-date-range.js +2 -1
  50. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  51. package/fesm2015/taiga-ui-kit-components-input-date-time.js +3 -2
  52. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  53. package/fesm2015/taiga-ui-kit-components-input-date.js +2 -1
  54. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  55. package/fesm2015/taiga-ui-kit-components-input-month-range.js +2 -1
  56. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  57. package/fesm2015/taiga-ui-kit-components-input-time.js +2 -1
  58. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  59. package/fesm2015/taiga-ui-kit-components-pagination.js +2 -2
  60. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  61. package/fesm2015/taiga-ui-kit-components-radio-block.js +2 -1
  62. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  63. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +2 -1
  64. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  65. package/fesm2015/taiga-ui-kit-components-radio-list.js +2 -1
  66. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  67. package/fesm2015/taiga-ui-kit-components-select.js +2 -1
  68. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  69. package/fesm2015/taiga-ui-kit-components-toggle.js +5 -3
  70. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  71. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-month-range.js","sources":["../../../projects/kit/components/input-month-range/input-month-range.component.ts","../../../projects/kit/components/input-month-range/input-month-range.template.html","../../../projects/kit/components/input-month-range/input-month-range.directive.ts","../../../projects/kit/components/input-month-range/input-month-range.module.ts","../../../projects/kit/components/input-month-range/taiga-ui-kit-components-input-month-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n ALWAYS_FALSE_HANDLER,\n CHAR_EN_DASH,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n tuiDateClamp,\n TuiDay,\n TuiFocusableElementAccessor,\n TuiHandler,\n TuiMonth,\n TuiMonthRange,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_SIZE,\n TuiMonthPipe,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiMonthContext} from '@taiga-ui/kit/interfaces';\nimport {TUI_MONTH_FORMATTER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {\n TUI_INPUT_DATE_OPTIONS,\n TUI_MONTH_FORMATTER,\n TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {TuiBooleanHandlerWithContext} from '@taiga-ui/kit/types';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-input-month-range',\n templateUrl: './input-month-range.template.html',\n styleUrls: ['./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})\nexport class TuiInputMonthRangeComponent\n extends AbstractTuiNullableControl<TuiMonthRange>\n implements TuiWithOptionalMinMax<TuiMonth>, TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n min: TuiMonth = this.options.min;\n\n @Input()\n max: TuiMonth = this.options.max;\n\n @Input()\n disabledItemHandler: TuiBooleanHandlerWithContext<TuiMonth, TuiMonthContext> =\n ALWAYS_FALSE_HANDLER;\n\n @Input()\n defaultActiveYear: TuiYear = TuiDay.currentLocal();\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_MONTH_FORMATTER)\n readonly formatter: TuiHandler<TuiMonth | null, Observable<string>>,\n @Inject(TUI_INPUT_DATE_OPTIONS)\n private readonly options: TuiInputDateOptions,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n ) {\n super(control, cdr);\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get computedDefaultActiveYear(): TuiYear {\n return (\n this.value?.from || tuiDateClamp(this.defaultActiveYear, this.min, this.max)\n );\n }\n\n get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n 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 onValueChange(value: string): void {\n if (value) {\n return;\n }\n\n this.value = null;\n this.onOpenChange(true);\n }\n\n onMonthClick(month: TuiMonth): void {\n if (this.value === null || !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 onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n 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 override setDisabledState(): void {\n super.setDisabledState();\n this.close();\n }\n\n private close(): void {\n this.open = false;\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n 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></ng-content>\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #dropdown>\n <tui-calendar-month\n tuiPreventDefault=\"mousedown\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [max]=\"max\"\n [min]=\"min\"\n [value]=\"value\"\n [year]=\"computedDefaultActiveYear\"\n (monthClick)=\"onMonthClick($event)\"\n ></tui-calendar-month>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Directive, DoCheck, Inject, Self} from '@angular/core';\nimport {\n AbstractTuiControl,\n TuiDestroyService,\n TuiHandler,\n TuiMonth,\n TuiMonthRange,\n} from '@taiga-ui/cdk';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\nimport {TUI_MONTH_FORMATTER} from '@taiga-ui/kit/tokens';\nimport {combineLatest, Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TuiInputMonthRangeComponent} from './input-month-range.component';\n\n@Directive({\n selector: 'tui-input-month-range',\n providers: [tuiAsTextfieldHost(TuiInputMonthRangeDirective), TuiDestroyService],\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 constructor(\n @Inject(AbstractTuiControl) host: TuiInputMonthRangeComponent,\n @Inject(TUI_MONTH_FORMATTER)\n formatter: TuiHandler<TuiMonth | null, Observable<string>>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n ) {\n super(host);\n\n this.value$\n .pipe(\n distinctUntilChanged(),\n switchMap((value: TuiMonthRange | null) =>\n combineLatest([\n formatter(value?.from || null),\n formatter(value?.to || null),\n ]),\n ),\n takeUntil(destroy$),\n )\n .subscribe(localizedValue => {\n this.localizedValue = localizedValue;\n });\n }\n\n override get readOnly(): boolean {\n return true;\n }\n\n override get value(): string {\n return this.localizedValue[0]\n ? this.host.computeValue(...this.localizedValue)\n : '';\n }\n\n ngDoCheck(): void {\n this.value$.next(this.host.value);\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiActiveZoneModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiCalendarMonthModule} from '@taiga-ui/kit/components/calendar-month';\n\nimport {TuiInputMonthRangeComponent} from './input-month-range.component';\nimport {TuiInputMonthRangeDirective} from './input-month-range.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiCalendarMonthModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiPreventDefaultModule,\n TuiActiveZoneModule,\n TuiMapperPipeModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [TuiInputMonthRangeComponent, TuiInputMonthRangeDirective],\n exports: [\n TuiInputMonthRangeComponent,\n TuiInputMonthRangeDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiInputMonthRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-input-month-range.js","sources":["../../../projects/kit/components/input-month-range/input-month-range.component.ts","../../../projects/kit/components/input-month-range/input-month-range.template.html","../../../projects/kit/components/input-month-range/input-month-range.directive.ts","../../../projects/kit/components/input-month-range/input-month-range.module.ts","../../../projects/kit/components/input-month-range/taiga-ui-kit-components-input-month-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n ALWAYS_FALSE_HANDLER,\n CHAR_EN_DASH,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n tuiDateClamp,\n TuiDay,\n TuiFocusableElementAccessor,\n TuiHandler,\n TuiMonth,\n TuiMonthRange,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_SIZE,\n TuiMonthPipe,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiMonthContext} from '@taiga-ui/kit/interfaces';\nimport {TUI_MONTH_FORMATTER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {\n TUI_INPUT_DATE_OPTIONS,\n TUI_MONTH_FORMATTER,\n TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {TuiBooleanHandlerWithContext} from '@taiga-ui/kit/types';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-input-month-range',\n templateUrl: './input-month-range.template.html',\n styleUrls: ['./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})\nexport class TuiInputMonthRangeComponent\n extends AbstractTuiNullableControl<TuiMonthRange>\n implements TuiWithOptionalMinMax<TuiMonth>, TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n min: TuiMonth = this.options.min;\n\n @Input()\n max: TuiMonth = this.options.max;\n\n @Input()\n disabledItemHandler: TuiBooleanHandlerWithContext<TuiMonth, TuiMonthContext> =\n ALWAYS_FALSE_HANDLER;\n\n @Input()\n defaultActiveYear: TuiYear = TuiDay.currentLocal();\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_MONTH_FORMATTER)\n readonly formatter: TuiHandler<TuiMonth | null, Observable<string>>,\n @Inject(TUI_INPUT_DATE_OPTIONS)\n private readonly options: TuiInputDateOptions,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n ) {\n super(control, cdr);\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n get computedDefaultActiveYear(): TuiYear {\n return (\n this.value?.from || tuiDateClamp(this.defaultActiveYear, this.min, this.max)\n );\n }\n\n get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n 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 onValueChange(value: string): void {\n if (value) {\n return;\n }\n\n this.value = null;\n this.onOpenChange(true);\n }\n\n onMonthClick(month: TuiMonth): void {\n if (this.value === null || !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 onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n 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 override setDisabledState(): void {\n super.setDisabledState();\n this.close();\n }\n\n private close(): void {\n this.open = false;\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n 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></ng-content>\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #dropdown>\n <tui-calendar-month\n tuiPreventDefault=\"mousedown\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [max]=\"max\"\n [min]=\"min\"\n [value]=\"value\"\n [year]=\"computedDefaultActiveYear\"\n (monthClick)=\"onMonthClick($event)\"\n ></tui-calendar-month>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Directive, DoCheck, Inject, Self} from '@angular/core';\nimport {\n AbstractTuiControl,\n TuiDestroyService,\n TuiHandler,\n TuiMonth,\n TuiMonthRange,\n} from '@taiga-ui/cdk';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\nimport {TUI_MONTH_FORMATTER} from '@taiga-ui/kit/tokens';\nimport {combineLatest, Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TuiInputMonthRangeComponent} from './input-month-range.component';\n\n@Directive({\n selector: 'tui-input-month-range',\n providers: [tuiAsTextfieldHost(TuiInputMonthRangeDirective), TuiDestroyService],\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 constructor(\n @Inject(AbstractTuiControl) host: TuiInputMonthRangeComponent,\n @Inject(TUI_MONTH_FORMATTER)\n formatter: TuiHandler<TuiMonth | null, Observable<string>>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n ) {\n super(host);\n\n this.value$\n .pipe(\n distinctUntilChanged(),\n switchMap((value: TuiMonthRange | null) =>\n combineLatest([\n formatter(value?.from || null),\n formatter(value?.to || null),\n ]),\n ),\n takeUntil(destroy$),\n )\n .subscribe(localizedValue => {\n this.localizedValue = localizedValue;\n });\n }\n\n override get readOnly(): boolean {\n return true;\n }\n\n override get value(): string {\n return this.localizedValue[0]\n ? this.host.computeValue(...this.localizedValue)\n : '';\n }\n\n ngDoCheck(): void {\n this.value$.next(this.host.value);\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiActiveZoneModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiCalendarMonthModule} from '@taiga-ui/kit/components/calendar-month';\n\nimport {TuiInputMonthRangeComponent} from './input-month-range.component';\nimport {TuiInputMonthRangeDirective} from './input-month-range.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiCalendarMonthModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiPreventDefaultModule,\n TuiActiveZoneModule,\n TuiMapperPipeModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [TuiInputMonthRangeComponent, TuiInputMonthRangeDirective],\n exports: [\n TuiInputMonthRangeComponent,\n TuiInputMonthRangeDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiInputMonthRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -133,7 +133,8 @@ class TuiInputTimeComponent extends AbstractTuiNullableControl {
133
133
  return this.textfieldSize.size;
134
134
  }
135
135
  get nativeFocusableElement() {
136
- return this.textfield ? this.textfield.nativeFocusableElement : null;
136
+ var _a, _b;
137
+ return (_b = (_a = this.textfield) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) !== null && _b !== void 0 ? _b : null;
137
138
  }
138
139
  get focused() {
139
140
  return tuiIsNativeFocused(this.nativeFocusableElement);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-time.js","sources":["../../../projects/kit/components/input-time/input-time.options.ts","../../../projects/kit/components/input-time/native-time/native-time.component.ts","../../../projects/kit/components/input-time/input-time.component.ts","../../../projects/kit/components/input-time/input-time.template.html","../../../projects/kit/components/input-time/input-time.directive.ts","../../../projects/kit/components/input-time/input-time.module.ts","../../../projects/kit/components/input-time/taiga-ui-kit-components-input-time.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {\n TuiContextWithImplicit,\n tuiCreateToken,\n tuiProvideOptions,\n TuiTimeMode,\n} from '@taiga-ui/cdk';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {MAX_TIME_VALUES} from '@taiga-ui/kit/constants';\nimport {TuiTimeFormatParts} from '@taiga-ui/kit/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiInputTimeOptions {\n readonly icon: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>>;\n readonly itemSize: TuiSizeL | TuiSizeS;\n readonly maxValues: Record<TuiTimeFormatParts, number>;\n readonly mode: TuiTimeMode;\n readonly nativePicker?: boolean;\n readonly postfix: string;\n}\n\nexport const TUI_INPUT_TIME_DEFAULT_OPTIONS: TuiInputTimeOptions = {\n icon: ({$implicit}) => ($implicit === `s` ? `tuiIconClock` : `tuiIconClockLarge`),\n mode: `HH:MM`,\n postfix: ``,\n maxValues: MAX_TIME_VALUES,\n itemSize: `m`,\n nativePicker: false,\n};\n\n/**\n * Default parameters for InputTime component\n */\nexport const TUI_INPUT_TIME_OPTIONS = tuiCreateToken(TUI_INPUT_TIME_DEFAULT_OPTIONS);\n\nexport function tuiInputTimeOptionsProvider(\n options: Partial<TuiInputTimeOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_TIME_OPTIONS,\n options,\n TUI_INPUT_TIME_DEFAULT_OPTIONS,\n );\n}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {TuiIdService} from '@taiga-ui/cdk';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/core';\n\nimport type {TuiInputTimeDirective} from '../input-time.directive';\n\n@Component({\n selector: 'input[tuiTime]',\n template: `\n <datalist\n *ngIf=\"items.length\"\n [id]=\"autoIdString\"\n >\n <option\n *ngFor=\"let item of items\"\n value=\"{{ item }}\"\n ></option>\n </datalist>\n `,\n host: {\n type: 'time',\n '[attr.list]': 'autoIdString',\n '[tabIndex]': '-1',\n '[value]': 'value',\n '[step]': 'step',\n '(change.stop)': 'onChange($event.target.value)',\n '(click.stop.silent)': '0',\n '(mousedown.stop.silent)': '0',\n },\n styleUrls: ['./native-time.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiNativeTimeComponent {\n autoIdString: string;\n constructor(\n @Inject(TUI_TEXTFIELD_HOST) readonly host: TuiInputTimeDirective,\n @Inject(TuiIdService) idService: TuiIdService,\n ) {\n this.autoIdString = idService.generate();\n }\n\n get items(): string[] {\n return this.host.items.map(item => item.toString(this.host.mode));\n }\n\n get value(): string {\n return this.host.value.length === this.host.mode.length ? this.host.value : '';\n }\n\n get step(): number {\n switch (this.host.mode) {\n case 'HH:MM:SS':\n return 1;\n case 'HH:MM:SS.MSS':\n return 0.001;\n default:\n return 60;\n }\n }\n\n onChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {MaskitoOptions} from '@maskito/core';\nimport {maskitoTimeOptionsGenerator} from '@maskito/kit';\nimport {\n AbstractTuiNullableControl,\n ALWAYS_FALSE_HANDLER,\n TUI_IS_IOS,\n TUI_IS_MOBILE,\n TUI_STRICT_MATCHER,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n TuiFocusableElementAccessor,\n tuiIsElement,\n tuiIsInput,\n tuiIsNativeFocused,\n tuiPure,\n TuiTime,\n TuiTimeLike,\n TuiTimeMode,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_SIZE,\n tuiAsDataListHost,\n tuiAsOptionContent,\n TuiDataListHost,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n} from '@taiga-ui/core';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/kit/components/select-option';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {TUI_TIME_TEXTS} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_INPUT_TIME_OPTIONS, TuiInputTimeOptions} from './input-time.options';\n\n@Component({\n selector: 'tui-input-time',\n templateUrl: './input-time.template.html',\n styleUrls: ['./input-time.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputTimeComponent),\n tuiAsControl(TuiInputTimeComponent),\n tuiAsDataListHost(TuiInputTimeComponent),\n tuiAsOptionContent(TUI_SELECT_OPTION),\n ],\n viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER],\n})\nexport class TuiInputTimeComponent\n extends AbstractTuiNullableControl<TuiTime>\n implements TuiFocusableElementAccessor, TuiDataListHost<TuiTime>\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<TuiTime> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n items: readonly TuiTime[] = [];\n\n @Input()\n itemSize: TuiInputTimeOptions['itemSize'] = this.options.itemSize;\n\n @Input()\n strict = false;\n\n @Input()\n mode: TuiInputTimeOptions['mode'] = this.options.mode;\n\n /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */\n @Input()\n postfix: TuiInputTimeOptions['postfix'] = this.options.postfix;\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_TIME_TEXTS)\n private readonly timeTexts$: Observable<Record<TuiTimeMode, string>>,\n @Inject(TUI_INPUT_TIME_OPTIONS)\n private readonly options: TuiInputTimeOptions,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n ) {\n super(control, cdr);\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get canOpen(): boolean {\n return this.interactive && !!this.filtered.length;\n }\n\n get filtered(): readonly TuiTime[] {\n return this.filter(this.items, this.mode, this.computedSearch);\n }\n\n get showNativePicker(): boolean {\n return (\n this.nativePicker &&\n (!this.isIos || (this.mode === 'HH:MM' && !this.items.length))\n );\n }\n\n get nativeDatalist(): boolean {\n return this.nativePicker && !this.isIos;\n }\n\n get maskOptions(): MaskitoOptions {\n return this.calculateMask(this.mode);\n }\n\n get computedValue(): string {\n return this.value ? this.value.toString(this.mode) : this.nativeValue;\n }\n\n get computedSearch(): string {\n return this.computedValue.length !== this.mode.length ? this.computedValue : '';\n }\n\n get innerPseudoFocused(): boolean | null {\n if (this.pseudoFocus === false) {\n return false;\n }\n\n if ((this.open && this.canOpen) || this.computedFocused) {\n return true;\n }\n\n return null;\n }\n\n get icon(): TuiInputTimeOptions['icon'] {\n return this.options.icon;\n }\n\n get nativeValue(): string {\n return this.nativeFocusableElement?.value || '';\n }\n\n set nativeValue(value: string) {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n this.nativeFocusableElement.value = value;\n }\n\n @tuiPure\n getFiller$(mode: TuiTimeMode): Observable<string> {\n return this.timeTexts$.pipe(map(texts => texts[mode]));\n }\n\n @HostListener('click')\n onClick(): void {\n this.open = !this.open;\n }\n\n onValueChange(value: string): void {\n this.open = !!this.items.length;\n\n if (this.control) {\n this.control.updateValueAndValidity({emitEvent: false});\n }\n\n const match = this.getMatch(value);\n\n if (match !== undefined) {\n this.value = match;\n\n return;\n }\n\n if (value.length !== this.mode.length) {\n this.value = null;\n\n return;\n }\n\n const time = TuiTime.fromString(value);\n\n this.value = this.strict ? this.findNearestTimeFromItems(time) : time;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n focused ||\n this.value !== null ||\n this.nativeValue === '' ||\n this.mode === 'HH:MM'\n ) {\n return;\n }\n\n this.value = TuiTime.fromString(this.nativeValue);\n\n setTimeout(() => {\n if (this.nativeValue.endsWith('.') || this.nativeValue.endsWith(':')) {\n this.nativeValue = this.nativeValue.slice(0, -1);\n }\n });\n }\n\n onArrowUp(event: Event): void {\n if (this.items.length) {\n return;\n }\n\n this.processArrow(event, 1);\n }\n\n onArrowDown(event: Event): void {\n if (this.items.length) {\n return;\n }\n\n this.processArrow(event, -1);\n }\n\n handleOption(item: TuiTime): void {\n this.focusInput();\n this.value = item;\n }\n\n onOpen(open: boolean): void {\n this.open = open;\n }\n\n override writeValue(value: TuiTime | null): void {\n super.writeValue(value);\n this.nativeValue = value ? this.computedValue : '';\n }\n\n private get nativePicker(): boolean {\n return !!this.options.nativePicker && this.isMobile;\n }\n\n @tuiPure\n private calculateMask(mode: TuiTimeMode): MaskitoOptions {\n const {HH, MM, SS, MS} = this.options.maxValues;\n\n return maskitoTimeOptionsGenerator({\n mode,\n timeSegmentMaxValues: {\n hours: HH,\n minutes: MM,\n seconds: SS,\n milliseconds: MS,\n },\n });\n }\n\n @tuiPure\n private filter(\n items: readonly TuiTime[],\n mode: TuiTimeMode,\n search: string,\n ): readonly TuiTime[] {\n return items.filter(item => item.toString(mode).includes(search));\n }\n\n private findNearestTimeFromItems(value: TuiTime): TuiTime | null {\n return this.items.reduce((previous, current) =>\n Math.abs(current.toAbsoluteMilliseconds() - value.toAbsoluteMilliseconds()) <\n Math.abs(previous.toAbsoluteMilliseconds() - value.toAbsoluteMilliseconds())\n ? current\n : previous,\n );\n }\n\n private getMatch(value: string): TuiTime | undefined {\n return this.items.find(item => TUI_STRICT_MATCHER(item, value));\n }\n\n private close(): void {\n this.open = false;\n }\n\n private processArrow(event: Event, shift: -1 | 1): void {\n const {target} = event;\n\n if (this.readOnly || !tuiIsElement(target) || !tuiIsInput(target)) {\n return;\n }\n\n const selectionStart = target.selectionStart || 0;\n\n this.shiftTime(this.calculateShift(selectionStart, shift));\n\n target.setSelectionRange(selectionStart, selectionStart);\n event.preventDefault();\n }\n\n private calculateShift(selectionStart: number, shift: number): TuiTimeLike {\n if (selectionStart <= 2) {\n return {hours: shift};\n }\n\n if (selectionStart <= 5) {\n return {minutes: shift};\n }\n\n if (selectionStart <= 8) {\n return {seconds: shift};\n }\n\n return {ms: shift};\n }\n\n private shiftTime(shift: TuiTimeLike): void {\n if (this.value === null) {\n return;\n }\n\n const increasedTime = this.value.shift(shift);\n\n // Manual update so we can set caret position properly\n this.nativeValue = increasedTime.toString(this.mode);\n this.value = increasedTime;\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n this.close();\n }\n }\n}\n","<tui-hosted-dropdown\n class=\"t-wrapper\"\n [canOpen]=\"canOpen && !nativeDatalist\"\n [content]=\"dropdownContent\"\n [open]=\"canOpen && open\"\n (focusedChange)=\"onFocused($event)\"\n (openChange)=\"onOpen($event)\"\n>\n <tui-primitive-textfield\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"maskOptions\"\n [nativeId]=\"nativeId\"\n [postfix]=\"postfix\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"(getFiller$(mode) | async) || ''\"\n [tuiTextfieldIcon]=\"iconContent\"\n [value]=\"computedValue\"\n (keydown.arrowDown)=\"onArrowDown($event)\"\n (keydown.arrowUp)=\"onArrowUp($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <input\n inputmode=\"numeric\"\n tuiTextfield\n />\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n<ng-template #dropdownContent>\n <tui-data-list\n automation-id=\"tui-input-time__dropdown\"\n [size]=\"itemSize\"\n >\n <button\n *ngFor=\"let item of filtered\"\n automation-id=\"tui-input-time__item\"\n tuiOption\n [disabled]=\"disabledItemHandler(item)\"\n [value]=\"item\"\n >\n {{ item }}\n </button>\n </tui-data-list>\n</ng-template>\n\n<ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n appearance=\"icon\"\n tuiWrapper\n [src]=\"src\"\n ></tui-svg>\n <input\n *ngIf=\"showNativePicker\"\n tuiTime\n />\n</ng-template>\n","import {Directive} from '@angular/core';\nimport {TuiTime, TuiTimeMode} from '@taiga-ui/cdk';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputTimeComponent} from './input-time.component';\n\n@Directive({\n selector: 'tui-input-time',\n providers: [tuiAsTextfieldHost(TuiInputTimeDirective)],\n})\nexport class TuiInputTimeDirective extends AbstractTuiTextfieldHost<TuiInputTimeComponent> {\n override get value(): string {\n return this.host.computedValue;\n }\n\n get mode(): TuiTimeMode {\n return this.host.mode;\n }\n\n get items(): readonly TuiTime[] {\n return this.host.items;\n }\n\n onValueChange(value: string): void {\n if (!value) {\n this.host.nativeValue = '';\n }\n\n this.host.onValueChange(value);\n }\n\n override process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoModule} from '@maskito/angular';\nimport {\n TuiDataListModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputTimeComponent} from './input-time.component';\nimport {TuiInputTimeDirective} from './input-time.directive';\nimport {TuiNativeTimeComponent} from './native-time/native-time.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MaskitoModule,\n TuiSelectOptionModule,\n TuiDataListModule,\n TuiWrapperModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiValueAccessorModule,\n TuiTextfieldControllerModule,\n TuiSvgModule,\n PolymorpheusModule,\n ],\n declarations: [TuiInputTimeComponent, TuiNativeTimeComponent, TuiInputTimeDirective],\n exports: [TuiInputTimeComponent, TuiInputTimeDirective],\n})\nexport class TuiInputTimeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.TuiNativeTimeComponent"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-input-time.js","sources":["../../../projects/kit/components/input-time/input-time.options.ts","../../../projects/kit/components/input-time/native-time/native-time.component.ts","../../../projects/kit/components/input-time/input-time.component.ts","../../../projects/kit/components/input-time/input-time.template.html","../../../projects/kit/components/input-time/input-time.directive.ts","../../../projects/kit/components/input-time/input-time.module.ts","../../../projects/kit/components/input-time/taiga-ui-kit-components-input-time.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {\n TuiContextWithImplicit,\n tuiCreateToken,\n tuiProvideOptions,\n TuiTimeMode,\n} from '@taiga-ui/cdk';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {MAX_TIME_VALUES} from '@taiga-ui/kit/constants';\nimport {TuiTimeFormatParts} from '@taiga-ui/kit/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiInputTimeOptions {\n readonly icon: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>>;\n readonly itemSize: TuiSizeL | TuiSizeS;\n readonly maxValues: Record<TuiTimeFormatParts, number>;\n readonly mode: TuiTimeMode;\n readonly nativePicker?: boolean;\n readonly postfix: string;\n}\n\nexport const TUI_INPUT_TIME_DEFAULT_OPTIONS: TuiInputTimeOptions = {\n icon: ({$implicit}) => ($implicit === `s` ? `tuiIconClock` : `tuiIconClockLarge`),\n mode: `HH:MM`,\n postfix: ``,\n maxValues: MAX_TIME_VALUES,\n itemSize: `m`,\n nativePicker: false,\n};\n\n/**\n * Default parameters for InputTime component\n */\nexport const TUI_INPUT_TIME_OPTIONS = tuiCreateToken(TUI_INPUT_TIME_DEFAULT_OPTIONS);\n\nexport function tuiInputTimeOptionsProvider(\n options: Partial<TuiInputTimeOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_TIME_OPTIONS,\n options,\n TUI_INPUT_TIME_DEFAULT_OPTIONS,\n );\n}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {TuiIdService} from '@taiga-ui/cdk';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/core';\n\nimport type {TuiInputTimeDirective} from '../input-time.directive';\n\n@Component({\n selector: 'input[tuiTime]',\n template: `\n <datalist\n *ngIf=\"items.length\"\n [id]=\"autoIdString\"\n >\n <option\n *ngFor=\"let item of items\"\n value=\"{{ item }}\"\n ></option>\n </datalist>\n `,\n host: {\n type: 'time',\n '[attr.list]': 'autoIdString',\n '[tabIndex]': '-1',\n '[value]': 'value',\n '[step]': 'step',\n '(change.stop)': 'onChange($event.target.value)',\n '(click.stop.silent)': '0',\n '(mousedown.stop.silent)': '0',\n },\n styleUrls: ['./native-time.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiNativeTimeComponent {\n autoIdString: string;\n constructor(\n @Inject(TUI_TEXTFIELD_HOST) readonly host: TuiInputTimeDirective,\n @Inject(TuiIdService) idService: TuiIdService,\n ) {\n this.autoIdString = idService.generate();\n }\n\n get items(): string[] {\n return this.host.items.map(item => item.toString(this.host.mode));\n }\n\n get value(): string {\n return this.host.value.length === this.host.mode.length ? this.host.value : '';\n }\n\n get step(): number {\n switch (this.host.mode) {\n case 'HH:MM:SS':\n return 1;\n case 'HH:MM:SS.MSS':\n return 0.001;\n default:\n return 60;\n }\n }\n\n onChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {MaskitoOptions} from '@maskito/core';\nimport {maskitoTimeOptionsGenerator} from '@maskito/kit';\nimport {\n AbstractTuiNullableControl,\n ALWAYS_FALSE_HANDLER,\n TUI_IS_IOS,\n TUI_IS_MOBILE,\n TUI_STRICT_MATCHER,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n TuiFocusableElementAccessor,\n tuiIsElement,\n tuiIsInput,\n tuiIsNativeFocused,\n tuiPure,\n TuiTime,\n TuiTimeLike,\n TuiTimeMode,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_SIZE,\n tuiAsDataListHost,\n tuiAsOptionContent,\n TuiDataListHost,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n} from '@taiga-ui/core';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/kit/components/select-option';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {TUI_TIME_TEXTS} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_INPUT_TIME_OPTIONS, TuiInputTimeOptions} from './input-time.options';\n\n@Component({\n selector: 'tui-input-time',\n templateUrl: './input-time.template.html',\n styleUrls: ['./input-time.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputTimeComponent),\n tuiAsControl(TuiInputTimeComponent),\n tuiAsDataListHost(TuiInputTimeComponent),\n tuiAsOptionContent(TUI_SELECT_OPTION),\n ],\n viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER],\n})\nexport class TuiInputTimeComponent\n extends AbstractTuiNullableControl<TuiTime>\n implements TuiFocusableElementAccessor, TuiDataListHost<TuiTime>\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<TuiTime> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n items: readonly TuiTime[] = [];\n\n @Input()\n itemSize: TuiInputTimeOptions['itemSize'] = this.options.itemSize;\n\n @Input()\n strict = false;\n\n @Input()\n mode: TuiInputTimeOptions['mode'] = this.options.mode;\n\n /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */\n @Input()\n postfix: TuiInputTimeOptions['postfix'] = this.options.postfix;\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_TIME_TEXTS)\n private readonly timeTexts$: Observable<Record<TuiTimeMode, string>>,\n @Inject(TUI_INPUT_TIME_OPTIONS)\n private readonly options: TuiInputTimeOptions,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n ) {\n super(control, cdr);\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get canOpen(): boolean {\n return this.interactive && !!this.filtered.length;\n }\n\n get filtered(): readonly TuiTime[] {\n return this.filter(this.items, this.mode, this.computedSearch);\n }\n\n get showNativePicker(): boolean {\n return (\n this.nativePicker &&\n (!this.isIos || (this.mode === 'HH:MM' && !this.items.length))\n );\n }\n\n get nativeDatalist(): boolean {\n return this.nativePicker && !this.isIos;\n }\n\n get maskOptions(): MaskitoOptions {\n return this.calculateMask(this.mode);\n }\n\n get computedValue(): string {\n return this.value ? this.value.toString(this.mode) : this.nativeValue;\n }\n\n get computedSearch(): string {\n return this.computedValue.length !== this.mode.length ? this.computedValue : '';\n }\n\n get innerPseudoFocused(): boolean | null {\n if (this.pseudoFocus === false) {\n return false;\n }\n\n if ((this.open && this.canOpen) || this.computedFocused) {\n return true;\n }\n\n return null;\n }\n\n get icon(): TuiInputTimeOptions['icon'] {\n return this.options.icon;\n }\n\n get nativeValue(): string {\n return this.nativeFocusableElement?.value || '';\n }\n\n set nativeValue(value: string) {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n this.nativeFocusableElement.value = value;\n }\n\n @tuiPure\n getFiller$(mode: TuiTimeMode): Observable<string> {\n return this.timeTexts$.pipe(map(texts => texts[mode]));\n }\n\n @HostListener('click')\n onClick(): void {\n this.open = !this.open;\n }\n\n onValueChange(value: string): void {\n this.open = !!this.items.length;\n\n if (this.control) {\n this.control.updateValueAndValidity({emitEvent: false});\n }\n\n const match = this.getMatch(value);\n\n if (match !== undefined) {\n this.value = match;\n\n return;\n }\n\n if (value.length !== this.mode.length) {\n this.value = null;\n\n return;\n }\n\n const time = TuiTime.fromString(value);\n\n this.value = this.strict ? this.findNearestTimeFromItems(time) : time;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n focused ||\n this.value !== null ||\n this.nativeValue === '' ||\n this.mode === 'HH:MM'\n ) {\n return;\n }\n\n this.value = TuiTime.fromString(this.nativeValue);\n\n setTimeout(() => {\n if (this.nativeValue.endsWith('.') || this.nativeValue.endsWith(':')) {\n this.nativeValue = this.nativeValue.slice(0, -1);\n }\n });\n }\n\n onArrowUp(event: Event): void {\n if (this.items.length) {\n return;\n }\n\n this.processArrow(event, 1);\n }\n\n onArrowDown(event: Event): void {\n if (this.items.length) {\n return;\n }\n\n this.processArrow(event, -1);\n }\n\n handleOption(item: TuiTime): void {\n this.focusInput();\n this.value = item;\n }\n\n onOpen(open: boolean): void {\n this.open = open;\n }\n\n override writeValue(value: TuiTime | null): void {\n super.writeValue(value);\n this.nativeValue = value ? this.computedValue : '';\n }\n\n private get nativePicker(): boolean {\n return !!this.options.nativePicker && this.isMobile;\n }\n\n @tuiPure\n private calculateMask(mode: TuiTimeMode): MaskitoOptions {\n const {HH, MM, SS, MS} = this.options.maxValues;\n\n return maskitoTimeOptionsGenerator({\n mode,\n timeSegmentMaxValues: {\n hours: HH,\n minutes: MM,\n seconds: SS,\n milliseconds: MS,\n },\n });\n }\n\n @tuiPure\n private filter(\n items: readonly TuiTime[],\n mode: TuiTimeMode,\n search: string,\n ): readonly TuiTime[] {\n return items.filter(item => item.toString(mode).includes(search));\n }\n\n private findNearestTimeFromItems(value: TuiTime): TuiTime | null {\n return this.items.reduce((previous, current) =>\n Math.abs(current.toAbsoluteMilliseconds() - value.toAbsoluteMilliseconds()) <\n Math.abs(previous.toAbsoluteMilliseconds() - value.toAbsoluteMilliseconds())\n ? current\n : previous,\n );\n }\n\n private getMatch(value: string): TuiTime | undefined {\n return this.items.find(item => TUI_STRICT_MATCHER(item, value));\n }\n\n private close(): void {\n this.open = false;\n }\n\n private processArrow(event: Event, shift: -1 | 1): void {\n const {target} = event;\n\n if (this.readOnly || !tuiIsElement(target) || !tuiIsInput(target)) {\n return;\n }\n\n const selectionStart = target.selectionStart || 0;\n\n this.shiftTime(this.calculateShift(selectionStart, shift));\n\n target.setSelectionRange(selectionStart, selectionStart);\n event.preventDefault();\n }\n\n private calculateShift(selectionStart: number, shift: number): TuiTimeLike {\n if (selectionStart <= 2) {\n return {hours: shift};\n }\n\n if (selectionStart <= 5) {\n return {minutes: shift};\n }\n\n if (selectionStart <= 8) {\n return {seconds: shift};\n }\n\n return {ms: shift};\n }\n\n private shiftTime(shift: TuiTimeLike): void {\n if (this.value === null) {\n return;\n }\n\n const increasedTime = this.value.shift(shift);\n\n // Manual update so we can set caret position properly\n this.nativeValue = increasedTime.toString(this.mode);\n this.value = increasedTime;\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n this.close();\n }\n }\n}\n","<tui-hosted-dropdown\n class=\"t-wrapper\"\n [canOpen]=\"canOpen && !nativeDatalist\"\n [content]=\"dropdownContent\"\n [open]=\"canOpen && open\"\n (focusedChange)=\"onFocused($event)\"\n (openChange)=\"onOpen($event)\"\n>\n <tui-primitive-textfield\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"maskOptions\"\n [nativeId]=\"nativeId\"\n [postfix]=\"postfix\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"(getFiller$(mode) | async) || ''\"\n [tuiTextfieldIcon]=\"iconContent\"\n [value]=\"computedValue\"\n (keydown.arrowDown)=\"onArrowDown($event)\"\n (keydown.arrowUp)=\"onArrowUp($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <input\n inputmode=\"numeric\"\n tuiTextfield\n />\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n<ng-template #dropdownContent>\n <tui-data-list\n automation-id=\"tui-input-time__dropdown\"\n [size]=\"itemSize\"\n >\n <button\n *ngFor=\"let item of filtered\"\n automation-id=\"tui-input-time__item\"\n tuiOption\n [disabled]=\"disabledItemHandler(item)\"\n [value]=\"item\"\n >\n {{ item }}\n </button>\n </tui-data-list>\n</ng-template>\n\n<ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n appearance=\"icon\"\n tuiWrapper\n [src]=\"src\"\n ></tui-svg>\n <input\n *ngIf=\"showNativePicker\"\n tuiTime\n />\n</ng-template>\n","import {Directive} from '@angular/core';\nimport {TuiTime, TuiTimeMode} from '@taiga-ui/cdk';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputTimeComponent} from './input-time.component';\n\n@Directive({\n selector: 'tui-input-time',\n providers: [tuiAsTextfieldHost(TuiInputTimeDirective)],\n})\nexport class TuiInputTimeDirective extends AbstractTuiTextfieldHost<TuiInputTimeComponent> {\n override get value(): string {\n return this.host.computedValue;\n }\n\n get mode(): TuiTimeMode {\n return this.host.mode;\n }\n\n get items(): readonly TuiTime[] {\n return this.host.items;\n }\n\n onValueChange(value: string): void {\n if (!value) {\n this.host.nativeValue = '';\n }\n\n this.host.onValueChange(value);\n }\n\n override process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoModule} from '@maskito/angular';\nimport {\n TuiDataListModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputTimeComponent} from './input-time.component';\nimport {TuiInputTimeDirective} from './input-time.directive';\nimport {TuiNativeTimeComponent} from './native-time/native-time.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MaskitoModule,\n TuiSelectOptionModule,\n TuiDataListModule,\n TuiWrapperModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiValueAccessorModule,\n TuiTextfieldControllerModule,\n TuiSvgModule,\n PolymorpheusModule,\n ],\n declarations: [TuiInputTimeComponent, TuiNativeTimeComponent, TuiInputTimeDirective],\n exports: [TuiInputTimeComponent, TuiInputTimeDirective],\n})\nexport class TuiInputTimeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.TuiNativeTimeComponent"],"mappings":"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"}
@@ -45,6 +45,7 @@ class TuiPaginationComponent extends AbstractTuiInteractive {
45
45
  : EMPTY;
46
46
  }
47
47
  get nativeFocusableElement() {
48
+ var _a, _b;
48
49
  if (this.disabled) {
49
50
  return null;
50
51
  }
@@ -59,8 +60,7 @@ class TuiPaginationComponent extends AbstractTuiInteractive {
59
60
  break;
60
61
  }
61
62
  }
62
- const activeElement = this.els.find((_, index) => index === activeElementIndex);
63
- return activeElement ? activeElement.nativeFocusableElement : null;
63
+ return ((_b = (_a = this.els.find((_, index) => index === activeElementIndex)) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) !== null && _b !== void 0 ? _b : null);
64
64
  }
65
65
  get focused() {
66
66
  return tuiIsNativeFocusedIn(this.el.nativeElement);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-pagination.js","sources":["../../../projects/kit/components/pagination/pagination.component.ts","../../../projects/kit/components/pagination/pagination.template.html","../../../projects/kit/components/pagination/pagination.module.ts","../../../projects/kit/components/pagination/taiga-ui-kit-components-pagination.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n EMPTY_QUERY,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiAsFocusableItemAccessor,\n tuiClamp,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiIsNativeFocusedIn,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TUI_SPIN_ICONS,\n TuiAppearance,\n TuiBrightness,\n TuiButtonComponent,\n TuiHorizontalDirection,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeS,\n TuiSizeXS,\n TuiSpinIcons,\n} from '@taiga-ui/core';\nimport {TUI_PAGINATION_TEXTS} from '@taiga-ui/kit/tokens';\nimport {tuiHorizontalDirectionToNumber} from '@taiga-ui/kit/utils/math';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nconst DOTS_LENGTH = 1;\nconst ACTIVE_ITEM_LENGTH = 1;\n\n@Component({\n selector: 'tui-pagination',\n templateUrl: './pagination.template.html',\n styleUrls: ['./pagination.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsFocusableItemAccessor(TuiPaginationComponent)],\n})\nexport class TuiPaginationComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChildren('element', {read: TUI_FOCUSABLE_ITEM_ACCESSOR})\n private readonly els: QueryList<TuiFocusableElementAccessor> = EMPTY_QUERY;\n\n @Input()\n length = 1;\n\n @Input()\n size: TuiSizeL | TuiSizeS = 'l';\n\n @Input()\n readonly disabled = false;\n\n /**\n * Amount of visible pages around active page\n */\n @Input()\n activePadding = 1;\n\n /**\n * Amount of visible pages at the edges\n */\n @Input()\n sidePadding = 1;\n\n /**\n * Customization for page number display.\n */\n @Input()\n content: PolymorpheusContent<TuiContextWithImplicit<number>>;\n\n /**\n * Active page index\n */\n @Input()\n index = 0;\n\n @Output()\n readonly indexChange = new EventEmitter<number>();\n\n readonly mode$ = this.modeDirective\n ? this.modeDirective.change$.pipe(map(() => this.modeDirective?.mode || null))\n : EMPTY;\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_PAGINATION_TEXTS) readonly texts$: Observable<[string, string]>,\n @Inject(TUI_SPIN_ICONS) readonly icons: TuiSpinIcons,\n ) {\n super();\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n if (this.disabled) {\n return null;\n }\n\n let activeElementIndex = 0;\n const {elementsLength} = this;\n\n for (let i = 0; i < elementsLength; i++) {\n const itemIndex = this.getItemIndexByElementIndex(i);\n\n if (itemIndex) {\n activeElementIndex++;\n }\n\n if (itemIndex === this.index) {\n break;\n }\n }\n\n const activeElement = this.els.find((_, index) => index === activeElementIndex);\n\n return activeElement ? activeElement.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el.nativeElement);\n }\n\n /**\n * Number of items in a container.\n */\n get elementsLength(): number {\n return this.itemsFit ? this.length : this.maxElementsLength;\n }\n\n get buttonSize(): TuiSizeXS {\n return this.size === 'm' ? 'xs' : 's';\n }\n\n get arrowIsDisabledLeft(): boolean {\n return this.index === 0;\n }\n\n get arrowIsDisabledRight(): boolean {\n return this.reverseIndex === 0;\n }\n\n elementIsFocusable(index: number): boolean {\n return this.index === index && !this.focused;\n }\n\n /**\n * Get index by element index\n * @param elementIndex\n * @returns index or null (for '…')\n */\n getItemIndexByElementIndex(elementIndex: number): number | null {\n if (this.size === 's') {\n return elementIndex;\n }\n\n if (elementIndex < this.sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === this.sidePadding && this.hasCollapsedItems(this.index)) {\n return null;\n }\n\n const reverseElementIndex = this.lastElementIndex - elementIndex;\n\n if (\n reverseElementIndex === this.sidePadding &&\n this.hasCollapsedItems(this.reverseIndex)\n ) {\n return null;\n }\n\n if (reverseElementIndex < this.sidePadding) {\n return this.lastIndex - reverseElementIndex;\n }\n\n const computedIndex = this.index - this.maxHalfLength + elementIndex;\n\n return tuiClamp(\n computedIndex,\n elementIndex,\n this.lastIndex - reverseElementIndex,\n );\n }\n\n getElementMode(index: number): TuiAppearance {\n return this.index === index ? TuiAppearance.Primary : TuiAppearance.Flat;\n }\n\n getSmallElementMode(index: number, mode: TuiBrightness | null): TuiAppearance {\n return this.index === index && mode !== 'onLight'\n ? TuiAppearance.Primary\n : TuiAppearance.Secondary;\n }\n\n onElementClick(index: number): void {\n this.updateIndex(index);\n }\n\n onElementKeyDownArrowLeft(element: TuiButtonComponent): void {\n if (element === this.els.first) {\n return;\n }\n\n const previous = this.els.find((_, index, array) => array[index + 1] === element);\n\n if (previous?.nativeFocusableElement) {\n previous.nativeFocusableElement.focus();\n }\n }\n\n onElementKeyDownArrowRight(element: TuiButtonComponent): void {\n if (element === this.els.last) {\n return;\n }\n\n const next = this.els.find((_, index, array) => array[index - 1] === element);\n\n if (next?.nativeFocusableElement) {\n next.nativeFocusableElement.focus();\n }\n }\n\n onArrowClick(direction: TuiHorizontalDirection): void {\n this.tryChangeTo(direction);\n this.focusActive();\n }\n\n onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n /**\n * Active index from the end\n */\n private get reverseIndex(): number {\n return this.lastIndex - this.index;\n }\n\n /**\n * Max number of elements in half (not counting the middle one).\n */\n private get maxHalfLength(): number {\n return this.sidePadding + DOTS_LENGTH + this.activePadding;\n }\n\n /**\n * Is there '...' anywhere\n */\n private get itemsFit(): boolean {\n return this.length <= this.maxElementsLength;\n }\n\n /**\n * Max number of elements\n */\n private get maxElementsLength(): number {\n return this.maxHalfLength * 2 + ACTIVE_ITEM_LENGTH;\n }\n\n private get lastIndex(): number {\n return this.length - 1;\n }\n\n private get lastElementIndex(): number {\n return this.elementsLength - 1;\n }\n\n /**\n * Are there collapsed items at that index\n * @param index\n * @returns there are collapsed items\n */\n private hasCollapsedItems(index: number): boolean {\n return !this.itemsFit && index > this.maxHalfLength;\n }\n\n private tryChangeTo(direction: TuiHorizontalDirection): void {\n this.updateIndex(\n tuiClamp(\n this.index + tuiHorizontalDirectionToNumber(direction),\n 0,\n this.lastIndex,\n ),\n );\n }\n\n private focusActive(): void {\n const {nativeFocusableElement} = this;\n\n if (nativeFocusableElement) {\n nativeFocusableElement.focus();\n }\n }\n\n private updateIndex(index: number): void {\n if (this.index === index) {\n return;\n }\n\n this.index = index;\n this.indexChange.emit(index);\n }\n}\n","<div\n class=\"t-content\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-container *ngIf=\"size !== 's'; else smallButtons\">\n <ng-container *ngIf=\"texts$ | async as texts\">\n <button\n appearance=\"flat\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"arrowIsDisabledLeft\"\n [focusable]=\"false\"\n [icon]=\"icons.decrement\"\n [size]=\"buttonSize\"\n [title]=\"texts[0]\"\n (click)=\"onArrowClick('left')\"\n (mousedown.silent.prevent)=\"(0)\"\n ></button>\n <ng-container *tuiRepeatTimes=\"let elementIndex of elementsLength\">\n <ng-container *tuiLet=\"getItemIndexByElementIndex(elementIndex) as index\">\n <button\n *ngIf=\"index !== null; else dotsTemplate\"\n #element\n automation-id=\"tui-pagination__element\"\n shape=\"square\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode(index)\"\n [disabled]=\"disabled\"\n [focusable]=\"elementIsFocusable(index)\"\n [size]=\"buttonSize\"\n (click)=\"onElementClick(index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n <ng-container *polymorpheusOutlet=\"content || index + 1 as text; context: {$implicit: index}\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </ng-container>\n <button\n appearance=\"flat\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"arrowIsDisabledRight\"\n [focusable]=\"false\"\n [icon]=\"icons.increment\"\n [size]=\"buttonSize\"\n [title]=\"texts[1]\"\n (click)=\"onArrowClick('right')\"\n (mousedown.silent.prevent)=\"(0)\"\n ></button>\n </ng-container>\n </ng-container>\n <ng-template #smallButtons>\n <button\n *tuiRepeatTimes=\"let indexItem of length\"\n #element\n shape=\"square\"\n tuiButton\n type=\"button\"\n class=\"t-button t-button_small\"\n [appearance]=\"getSmallElementMode(indexItem, mode$ | async)\"\n [class.t-button_active]=\"indexItem === index\"\n [disabled]=\"disabled\"\n [focusable]=\"elementIsFocusable(indexItem)\"\n (click)=\"onElementClick(indexItem)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n ></button>\n </ng-template>\n <ng-template #dotsTemplate>\n <div\n automation-id=\"tui-pagination__element\"\n class=\"t-dots\"\n ></div>\n </ng-template>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiLetModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPaginationComponent} from './pagination.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiRepeatTimesModule,\n TuiLetModule,\n TuiActiveZoneModule,\n TuiButtonModule,\n ],\n declarations: [TuiPaginationComponent],\n exports: [TuiPaginationComponent],\n})\nexport class TuiPaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-pagination.js","sources":["../../../projects/kit/components/pagination/pagination.component.ts","../../../projects/kit/components/pagination/pagination.template.html","../../../projects/kit/components/pagination/pagination.module.ts","../../../projects/kit/components/pagination/taiga-ui-kit-components-pagination.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n EMPTY_QUERY,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiAsFocusableItemAccessor,\n tuiClamp,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiIsNativeFocusedIn,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TUI_SPIN_ICONS,\n TuiAppearance,\n TuiBrightness,\n TuiButtonComponent,\n TuiHorizontalDirection,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeS,\n TuiSizeXS,\n TuiSpinIcons,\n} from '@taiga-ui/core';\nimport {TUI_PAGINATION_TEXTS} from '@taiga-ui/kit/tokens';\nimport {tuiHorizontalDirectionToNumber} from '@taiga-ui/kit/utils/math';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nconst DOTS_LENGTH = 1;\nconst ACTIVE_ITEM_LENGTH = 1;\n\n@Component({\n selector: 'tui-pagination',\n templateUrl: './pagination.template.html',\n styleUrls: ['./pagination.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsFocusableItemAccessor(TuiPaginationComponent)],\n})\nexport class TuiPaginationComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChildren('element', {read: TUI_FOCUSABLE_ITEM_ACCESSOR})\n private readonly els: QueryList<TuiFocusableElementAccessor> = EMPTY_QUERY;\n\n @Input()\n length = 1;\n\n @Input()\n size: TuiSizeL | TuiSizeS = 'l';\n\n @Input()\n readonly disabled = false;\n\n /**\n * Amount of visible pages around active page\n */\n @Input()\n activePadding = 1;\n\n /**\n * Amount of visible pages at the edges\n */\n @Input()\n sidePadding = 1;\n\n /**\n * Customization for page number display.\n */\n @Input()\n content: PolymorpheusContent<TuiContextWithImplicit<number>>;\n\n /**\n * Active page index\n */\n @Input()\n index = 0;\n\n @Output()\n readonly indexChange = new EventEmitter<number>();\n\n readonly mode$ = this.modeDirective\n ? this.modeDirective.change$.pipe(map(() => this.modeDirective?.mode || null))\n : EMPTY;\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_PAGINATION_TEXTS) readonly texts$: Observable<[string, string]>,\n @Inject(TUI_SPIN_ICONS) readonly icons: TuiSpinIcons,\n ) {\n super();\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n if (this.disabled) {\n return null;\n }\n\n let activeElementIndex = 0;\n const {elementsLength} = this;\n\n for (let i = 0; i < elementsLength; i++) {\n const itemIndex = this.getItemIndexByElementIndex(i);\n\n if (itemIndex) {\n activeElementIndex++;\n }\n\n if (itemIndex === this.index) {\n break;\n }\n }\n\n return (\n this.els.find((_, index) => index === activeElementIndex)\n ?.nativeFocusableElement ?? null\n );\n }\n\n get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el.nativeElement);\n }\n\n /**\n * Number of items in a container.\n */\n get elementsLength(): number {\n return this.itemsFit ? this.length : this.maxElementsLength;\n }\n\n get buttonSize(): TuiSizeXS {\n return this.size === 'm' ? 'xs' : 's';\n }\n\n get arrowIsDisabledLeft(): boolean {\n return this.index === 0;\n }\n\n get arrowIsDisabledRight(): boolean {\n return this.reverseIndex === 0;\n }\n\n elementIsFocusable(index: number): boolean {\n return this.index === index && !this.focused;\n }\n\n /**\n * Get index by element index\n * @param elementIndex\n * @returns index or null (for '…')\n */\n getItemIndexByElementIndex(elementIndex: number): number | null {\n if (this.size === 's') {\n return elementIndex;\n }\n\n if (elementIndex < this.sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === this.sidePadding && this.hasCollapsedItems(this.index)) {\n return null;\n }\n\n const reverseElementIndex = this.lastElementIndex - elementIndex;\n\n if (\n reverseElementIndex === this.sidePadding &&\n this.hasCollapsedItems(this.reverseIndex)\n ) {\n return null;\n }\n\n if (reverseElementIndex < this.sidePadding) {\n return this.lastIndex - reverseElementIndex;\n }\n\n const computedIndex = this.index - this.maxHalfLength + elementIndex;\n\n return tuiClamp(\n computedIndex,\n elementIndex,\n this.lastIndex - reverseElementIndex,\n );\n }\n\n getElementMode(index: number): TuiAppearance {\n return this.index === index ? TuiAppearance.Primary : TuiAppearance.Flat;\n }\n\n getSmallElementMode(index: number, mode: TuiBrightness | null): TuiAppearance {\n return this.index === index && mode !== 'onLight'\n ? TuiAppearance.Primary\n : TuiAppearance.Secondary;\n }\n\n onElementClick(index: number): void {\n this.updateIndex(index);\n }\n\n onElementKeyDownArrowLeft(element: TuiButtonComponent): void {\n if (element === this.els.first) {\n return;\n }\n\n const previous = this.els.find((_, index, array) => array[index + 1] === element);\n\n if (previous?.nativeFocusableElement) {\n previous.nativeFocusableElement.focus();\n }\n }\n\n onElementKeyDownArrowRight(element: TuiButtonComponent): void {\n if (element === this.els.last) {\n return;\n }\n\n const next = this.els.find((_, index, array) => array[index - 1] === element);\n\n if (next?.nativeFocusableElement) {\n next.nativeFocusableElement.focus();\n }\n }\n\n onArrowClick(direction: TuiHorizontalDirection): void {\n this.tryChangeTo(direction);\n this.focusActive();\n }\n\n onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n /**\n * Active index from the end\n */\n private get reverseIndex(): number {\n return this.lastIndex - this.index;\n }\n\n /**\n * Max number of elements in half (not counting the middle one).\n */\n private get maxHalfLength(): number {\n return this.sidePadding + DOTS_LENGTH + this.activePadding;\n }\n\n /**\n * Is there '...' anywhere\n */\n private get itemsFit(): boolean {\n return this.length <= this.maxElementsLength;\n }\n\n /**\n * Max number of elements\n */\n private get maxElementsLength(): number {\n return this.maxHalfLength * 2 + ACTIVE_ITEM_LENGTH;\n }\n\n private get lastIndex(): number {\n return this.length - 1;\n }\n\n private get lastElementIndex(): number {\n return this.elementsLength - 1;\n }\n\n /**\n * Are there collapsed items at that index\n * @param index\n * @returns there are collapsed items\n */\n private hasCollapsedItems(index: number): boolean {\n return !this.itemsFit && index > this.maxHalfLength;\n }\n\n private tryChangeTo(direction: TuiHorizontalDirection): void {\n this.updateIndex(\n tuiClamp(\n this.index + tuiHorizontalDirectionToNumber(direction),\n 0,\n this.lastIndex,\n ),\n );\n }\n\n private focusActive(): void {\n const {nativeFocusableElement} = this;\n\n if (nativeFocusableElement) {\n nativeFocusableElement.focus();\n }\n }\n\n private updateIndex(index: number): void {\n if (this.index === index) {\n return;\n }\n\n this.index = index;\n this.indexChange.emit(index);\n }\n}\n","<div\n class=\"t-content\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-container *ngIf=\"size !== 's'; else smallButtons\">\n <ng-container *ngIf=\"texts$ | async as texts\">\n <button\n appearance=\"flat\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"arrowIsDisabledLeft\"\n [focusable]=\"false\"\n [icon]=\"icons.decrement\"\n [size]=\"buttonSize\"\n [title]=\"texts[0]\"\n (click)=\"onArrowClick('left')\"\n (mousedown.silent.prevent)=\"(0)\"\n ></button>\n <ng-container *tuiRepeatTimes=\"let elementIndex of elementsLength\">\n <ng-container *tuiLet=\"getItemIndexByElementIndex(elementIndex) as index\">\n <button\n *ngIf=\"index !== null; else dotsTemplate\"\n #element\n automation-id=\"tui-pagination__element\"\n shape=\"square\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode(index)\"\n [disabled]=\"disabled\"\n [focusable]=\"elementIsFocusable(index)\"\n [size]=\"buttonSize\"\n (click)=\"onElementClick(index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n <ng-container *polymorpheusOutlet=\"content || index + 1 as text; context: {$implicit: index}\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </ng-container>\n <button\n appearance=\"flat\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"arrowIsDisabledRight\"\n [focusable]=\"false\"\n [icon]=\"icons.increment\"\n [size]=\"buttonSize\"\n [title]=\"texts[1]\"\n (click)=\"onArrowClick('right')\"\n (mousedown.silent.prevent)=\"(0)\"\n ></button>\n </ng-container>\n </ng-container>\n <ng-template #smallButtons>\n <button\n *tuiRepeatTimes=\"let indexItem of length\"\n #element\n shape=\"square\"\n tuiButton\n type=\"button\"\n class=\"t-button t-button_small\"\n [appearance]=\"getSmallElementMode(indexItem, mode$ | async)\"\n [class.t-button_active]=\"indexItem === index\"\n [disabled]=\"disabled\"\n [focusable]=\"elementIsFocusable(indexItem)\"\n (click)=\"onElementClick(indexItem)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n ></button>\n </ng-template>\n <ng-template #dotsTemplate>\n <div\n automation-id=\"tui-pagination__element\"\n class=\"t-dots\"\n ></div>\n </ng-template>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiLetModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPaginationComponent} from './pagination.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiRepeatTimesModule,\n TuiLetModule,\n TuiActiveZoneModule,\n TuiButtonModule,\n ],\n declarations: [TuiPaginationComponent],\n exports: [TuiPaginationComponent],\n})\nexport class TuiPaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -21,7 +21,8 @@ class TuiRadioBlockComponent extends AbstractTuiNullableControl {
21
21
  this.pseudoDisabled = false;
22
22
  }
23
23
  get nativeFocusableElement() {
24
- return this.radio ? this.radio.nativeFocusableElement : null;
24
+ var _a, _b;
25
+ return (_b = (_a = this.radio) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) !== null && _b !== void 0 ? _b : null;
25
26
  }
26
27
  get focused() {
27
28
  return !!this.radio && this.radio.focused;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-radio-block.js","sources":["../../../projects/kit/components/radio-block/radio-block.component.ts","../../../projects/kit/components/radio-block/radio-block.template.html","../../../projects/kit/components/radio-block/radio-block.module.ts","../../../projects/kit/components/radio-block/taiga-ui-kit-components-radio-block.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiFocusableElementAccessor,\n TuiIdentityMatcher,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiHorizontalDirection,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {TuiRadioComponent} from '@taiga-ui/kit/components/radio';\n\n@Component({\n selector: 'tui-radio-block',\n templateUrl: './radio-block.template.html',\n styleUrls: ['../checkbox-block/checkbox-block.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiRadioBlockComponent),\n tuiAsControl(TuiRadioBlockComponent),\n ],\n})\nexport class TuiRadioBlockComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiRadioComponent)\n private readonly radio?: TuiRadioComponent<T>;\n\n @Input()\n item?: T;\n\n @Input()\n identityMatcher: TuiIdentityMatcher<T> = TUI_DEFAULT_IDENTITY_MATCHER;\n\n @Input()\n @HostBinding('attr.data-align')\n contentAlign: TuiHorizontalDirection = 'right';\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeL | TuiSizeXS = 'l';\n\n @Input()\n @HostBinding('class._hidden_input')\n hideRadio = false;\n\n @Input()\n pseudoDisabled = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n readonly modeDirective: TuiModeDirective | null,\n ) {\n super(control, cdr);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.radio ? this.radio.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.radio && this.radio.focused;\n }\n\n @HostBinding('class._disabled')\n override get computedDisabled(): boolean {\n return this.disabled || this.pseudoDisabled;\n }\n\n @HostBinding('class._active')\n get checked(): boolean {\n return !!this.radio?.checked && this.hideRadio;\n }\n\n get checkboxSize(): TuiSizeL {\n return this.size === 'l' ? 'l' : 'm';\n }\n\n get appearance(): TuiAppearance {\n if (!this.modeDirective?.mode) {\n return this.checked\n ? TuiAppearance.WhiteblockActive\n : TuiAppearance.Whiteblock;\n }\n\n return this.checked ? TuiAppearance.Primary : TuiAppearance.Secondary;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n\n /** @deprecated use 'value' setter */\n onModelChange(value: T): void {\n this.value = value;\n }\n}\n","<ng-container *ngIf=\"modeDirective && (modeDirective.change$ | async)\"></ng-container>\n<label\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n>\n <tui-radio\n class=\"t-view\"\n [focusable]=\"focusable\"\n [identityMatcher]=\"identityMatcher\"\n [item]=\"item\"\n [name]=\"computedName || ''\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoDisabled]=\"computedDisabled\"\n [pseudoFocus]=\"false\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [size]=\"checkboxSize\"\n [(ngModel)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n (focusVisibleChange)=\"onFocusVisible($event)\"\n ></tui-radio>\n <div class=\"t-label\">\n <div class=\"t-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</label>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiRadioModule} from '@taiga-ui/kit/components/radio';\n\nimport {TuiRadioBlockComponent} from './radio-block.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, TuiRadioModule, TuiWrapperModule],\n declarations: [TuiRadioBlockComponent],\n exports: [TuiRadioBlockComponent],\n})\nexport class TuiRadioBlockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-radio-block.js","sources":["../../../projects/kit/components/radio-block/radio-block.component.ts","../../../projects/kit/components/radio-block/radio-block.template.html","../../../projects/kit/components/radio-block/radio-block.module.ts","../../../projects/kit/components/radio-block/taiga-ui-kit-components-radio-block.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiFocusableElementAccessor,\n TuiIdentityMatcher,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiHorizontalDirection,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {TuiRadioComponent} from '@taiga-ui/kit/components/radio';\n\n@Component({\n selector: 'tui-radio-block',\n templateUrl: './radio-block.template.html',\n styleUrls: ['../checkbox-block/checkbox-block.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiRadioBlockComponent),\n tuiAsControl(TuiRadioBlockComponent),\n ],\n})\nexport class TuiRadioBlockComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiRadioComponent)\n private readonly radio?: TuiRadioComponent<T>;\n\n @Input()\n item?: T;\n\n @Input()\n identityMatcher: TuiIdentityMatcher<T> = TUI_DEFAULT_IDENTITY_MATCHER;\n\n @Input()\n @HostBinding('attr.data-align')\n contentAlign: TuiHorizontalDirection = 'right';\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeL | TuiSizeXS = 'l';\n\n @Input()\n @HostBinding('class._hidden_input')\n hideRadio = false;\n\n @Input()\n pseudoDisabled = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n readonly modeDirective: TuiModeDirective | null,\n ) {\n super(control, cdr);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.radio?.nativeFocusableElement ?? null;\n }\n\n get focused(): boolean {\n return !!this.radio && this.radio.focused;\n }\n\n @HostBinding('class._disabled')\n override get computedDisabled(): boolean {\n return this.disabled || this.pseudoDisabled;\n }\n\n @HostBinding('class._active')\n get checked(): boolean {\n return !!this.radio?.checked && this.hideRadio;\n }\n\n get checkboxSize(): TuiSizeL {\n return this.size === 'l' ? 'l' : 'm';\n }\n\n get appearance(): TuiAppearance {\n if (!this.modeDirective?.mode) {\n return this.checked\n ? TuiAppearance.WhiteblockActive\n : TuiAppearance.Whiteblock;\n }\n\n return this.checked ? TuiAppearance.Primary : TuiAppearance.Secondary;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n\n /** @deprecated use 'value' setter */\n onModelChange(value: T): void {\n this.value = value;\n }\n}\n","<ng-container *ngIf=\"modeDirective && (modeDirective.change$ | async)\"></ng-container>\n<label\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n>\n <tui-radio\n class=\"t-view\"\n [focusable]=\"focusable\"\n [identityMatcher]=\"identityMatcher\"\n [item]=\"item\"\n [name]=\"computedName || ''\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoDisabled]=\"computedDisabled\"\n [pseudoFocus]=\"false\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [size]=\"checkboxSize\"\n [(ngModel)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n (focusVisibleChange)=\"onFocusVisible($event)\"\n ></tui-radio>\n <div class=\"t-label\">\n <div class=\"t-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</label>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiRadioModule} from '@taiga-ui/kit/components/radio';\n\nimport {TuiRadioBlockComponent} from './radio-block.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, TuiRadioModule, TuiWrapperModule],\n declarations: [TuiRadioBlockComponent],\n exports: [TuiRadioBlockComponent],\n})\nexport class TuiRadioBlockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -19,7 +19,8 @@ class TuiRadioLabeledComponent extends AbstractTuiNullableControl {
19
19
  this.pseudoDisabled = false;
20
20
  }
21
21
  get nativeFocusableElement() {
22
- return this.radio ? this.radio.nativeFocusableElement : null;
22
+ var _a, _b;
23
+ return (_b = (_a = this.radio) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) !== null && _b !== void 0 ? _b : null;
23
24
  }
24
25
  get focused() {
25
26
  return !!this.radio && this.radio.focused;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-radio-labeled.js","sources":["../../../projects/kit/components/radio-labeled/radio-labeled.component.ts","../../../projects/kit/components/radio-labeled/radio-labeled.template.html","../../../projects/kit/components/radio-labeled/radio-labeled.module.ts","../../../projects/kit/components/radio-labeled/taiga-ui-kit-components-radio-labeled.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiFocusableElementAccessor,\n TuiIdentityMatcher,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness, TuiSizeL} from '@taiga-ui/core';\nimport {\n TUI_RADIO_OPTIONS,\n TuiRadioComponent,\n TuiRadioOptions,\n} from '@taiga-ui/kit/components/radio';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-radio-labeled',\n templateUrl: './radio-labeled.template.html',\n styleUrls: ['./radio-labeled.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiRadioLabeledComponent),\n tuiAsControl(TuiRadioLabeledComponent),\n MODE_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiRadioLabeledComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiRadioComponent)\n private readonly radio?: TuiRadioComponent<T>;\n\n @Input()\n item?: T;\n\n @Input()\n size: TuiSizeL = this.options.size;\n\n @Input()\n identityMatcher: TuiIdentityMatcher<T> = TUI_DEFAULT_IDENTITY_MATCHER;\n\n @Input()\n pseudoDisabled = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_RADIO_OPTIONS)\n private readonly options: TuiRadioOptions,\n ) {\n super(control, cdr);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.radio ? this.radio.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.radio && this.radio.focused;\n }\n\n override get computedDisabled(): boolean {\n return this.disabled || this.pseudoDisabled;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n /** @deprecated use 'value' setter */\n onModelChange(value: T): void {\n this.value = value;\n }\n}\n","<label class=\"t-wrapper\">\n <tui-radio\n [focusable]=\"focusable\"\n [identityMatcher]=\"identityMatcher\"\n [item]=\"item\"\n [name]=\"computedName || ''\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoDisabled]=\"computedDisabled\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [size]=\"size\"\n [(ngModel)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n ></tui-radio>\n <div\n class=\"t-content\"\n [class.t-content_disabled]=\"computedDisabled\"\n >\n <ng-content></ng-content>\n </div>\n</label>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiFocusedModule} from '@taiga-ui/cdk';\nimport {TuiRadioModule} from '@taiga-ui/kit/components/radio';\n\nimport {TuiRadioLabeledComponent} from './radio-labeled.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiRadioModule,\n ],\n declarations: [TuiRadioLabeledComponent],\n exports: [TuiRadioLabeledComponent],\n})\nexport class TuiRadioLabeledModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-radio-labeled.js","sources":["../../../projects/kit/components/radio-labeled/radio-labeled.component.ts","../../../projects/kit/components/radio-labeled/radio-labeled.template.html","../../../projects/kit/components/radio-labeled/radio-labeled.module.ts","../../../projects/kit/components/radio-labeled/taiga-ui-kit-components-radio-labeled.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiFocusableElementAccessor,\n TuiIdentityMatcher,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness, TuiSizeL} from '@taiga-ui/core';\nimport {\n TUI_RADIO_OPTIONS,\n TuiRadioComponent,\n TuiRadioOptions,\n} from '@taiga-ui/kit/components/radio';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-radio-labeled',\n templateUrl: './radio-labeled.template.html',\n styleUrls: ['./radio-labeled.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiRadioLabeledComponent),\n tuiAsControl(TuiRadioLabeledComponent),\n MODE_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiRadioLabeledComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiRadioComponent)\n private readonly radio?: TuiRadioComponent<T>;\n\n @Input()\n item?: T;\n\n @Input()\n size: TuiSizeL = this.options.size;\n\n @Input()\n identityMatcher: TuiIdentityMatcher<T> = TUI_DEFAULT_IDENTITY_MATCHER;\n\n @Input()\n pseudoDisabled = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_RADIO_OPTIONS)\n private readonly options: TuiRadioOptions,\n ) {\n super(control, cdr);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.radio?.nativeFocusableElement ?? null;\n }\n\n get focused(): boolean {\n return !!this.radio && this.radio.focused;\n }\n\n override get computedDisabled(): boolean {\n return this.disabled || this.pseudoDisabled;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n /** @deprecated use 'value' setter */\n onModelChange(value: T): void {\n this.value = value;\n }\n}\n","<label class=\"t-wrapper\">\n <tui-radio\n [focusable]=\"focusable\"\n [identityMatcher]=\"identityMatcher\"\n [item]=\"item\"\n [name]=\"computedName || ''\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoDisabled]=\"computedDisabled\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [size]=\"size\"\n [(ngModel)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n ></tui-radio>\n <div\n class=\"t-content\"\n [class.t-content_disabled]=\"computedDisabled\"\n >\n <ng-content></ng-content>\n </div>\n</label>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiFocusedModule} from '@taiga-ui/cdk';\nimport {TuiRadioModule} from '@taiga-ui/kit/components/radio';\n\nimport {TuiRadioLabeledComponent} from './radio-labeled.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiRadioModule,\n ],\n declarations: [TuiRadioLabeledComponent],\n exports: [TuiRadioLabeledComponent],\n})\nexport class TuiRadioLabeledModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -26,8 +26,9 @@ class TuiRadioListComponent extends AbstractTuiNullableControl {
26
26
  this.itemContent = ({ $implicit, }) => String($implicit);
27
27
  }
28
28
  get nativeFocusableElement() {
29
+ var _a;
29
30
  const focusableRadioButton = this.radioButtons.find(radioButton => radioButton.nativeFocusableElement !== null);
30
- return focusableRadioButton ? focusableRadioButton.nativeFocusableElement : null;
31
+ return (_a = focusableRadioButton === null || focusableRadioButton === void 0 ? void 0 : focusableRadioButton.nativeFocusableElement) !== null && _a !== void 0 ? _a : null;
31
32
  }
32
33
  get focused() {
33
34
  return tuiIsNativeFocusedIn(this.el.nativeElement);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-radio-list.js","sources":["../../../projects/kit/components/radio-list/radio-list.component.ts","../../../projects/kit/components/radio-list/radio-list.template.html","../../../projects/kit/components/radio-list/radio-list.module.ts","../../../projects/kit/components/radio-list/taiga-ui-kit-components-radio-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n QueryList,\n Self,\n ViewChildren,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n ALWAYS_FALSE_HANDLER,\n EMPTY_QUERY,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n TuiIdentityMatcher,\n tuiIsNativeFocusedIn,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {TuiOrientation, TuiSizeL, TuiValueContentContext} from '@taiga-ui/core';\nimport {TuiRadioLabeledComponent} from '@taiga-ui/kit/components/radio-labeled';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n selector: 'tui-radio-list',\n templateUrl: './radio-list.template.html',\n styleUrls: ['./radio-list.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiRadioListComponent),\n tuiAsControl(TuiRadioListComponent),\n ],\n})\nexport class TuiRadioListComponent<T> extends AbstractTuiNullableControl<T> {\n @ViewChildren(TuiRadioLabeledComponent)\n private readonly radioButtons: QueryList<TuiRadioLabeledComponent<unknown>> =\n EMPTY_QUERY;\n\n @Input()\n items: readonly T[] = [];\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeL = 'm';\n\n @Input()\n identityMatcher: TuiIdentityMatcher<T> = TUI_DEFAULT_IDENTITY_MATCHER;\n\n @Input()\n @HostBinding('attr.data-orientation')\n orientation: TuiOrientation = 'vertical';\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<T> = ALWAYS_FALSE_HANDLER;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {\n super(control, cdr);\n }\n\n // @bad TODO: Remove & { index: number }\n @Input()\n itemContent: PolymorpheusContent<TuiValueContentContext<T> & {index: number}> = ({\n $implicit,\n }) => String($implicit);\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n const focusableRadioButton = this.radioButtons.find(\n radioButton => radioButton.nativeFocusableElement !== null,\n );\n\n return focusableRadioButton ? focusableRadioButton.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el.nativeElement);\n }\n\n computeId(index: number): string {\n return `${this.id}-${index}`;\n }\n\n itemIsDisabled(item: T): boolean {\n return this.disabledItemHandler(item);\n }\n\n /** @deprecated use 'value' setter */\n onModelChange(value: T): void {\n this.value = value;\n }\n\n itemIsActive(item: T): boolean {\n return this.value === null\n ? item === null\n : this.identityMatcher(this.value, item);\n }\n}\n","<tui-radio-group class=\"t-group\">\n <tui-radio-labeled\n *ngFor=\"let item of items; index as index\"\n class=\"t-item\"\n [disabled]=\"disabled\"\n [item]=\"item\"\n [nativeId]=\"computeId(index)\"\n [pseudoDisabled]=\"itemIsDisabled(item)\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [size]=\"size\"\n [(ngModel)]=\"value\"\n >\n <ng-container\n *polymorpheusOutlet=\"\n itemContent as text;\n context: {$implicit: item, index: index, active: itemIsActive(item)}\n \"\n >\n {{ text }}\n </ng-container>\n </tui-radio-labeled>\n</tui-radio-group>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiRadioGroupModule} from '@taiga-ui/kit/components/radio-group';\nimport {TuiRadioLabeledModule} from '@taiga-ui/kit/components/radio-labeled';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiRadioListComponent} from './radio-list.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiRadioGroupModule,\n TuiRadioLabeledModule,\n ],\n declarations: [TuiRadioListComponent],\n exports: [TuiRadioListComponent],\n})\nexport class TuiRadioListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-radio-list.js","sources":["../../../projects/kit/components/radio-list/radio-list.component.ts","../../../projects/kit/components/radio-list/radio-list.template.html","../../../projects/kit/components/radio-list/radio-list.module.ts","../../../projects/kit/components/radio-list/taiga-ui-kit-components-radio-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n QueryList,\n Self,\n ViewChildren,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n ALWAYS_FALSE_HANDLER,\n EMPTY_QUERY,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n TuiIdentityMatcher,\n tuiIsNativeFocusedIn,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {TuiOrientation, TuiSizeL, TuiValueContentContext} from '@taiga-ui/core';\nimport {TuiRadioLabeledComponent} from '@taiga-ui/kit/components/radio-labeled';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n selector: 'tui-radio-list',\n templateUrl: './radio-list.template.html',\n styleUrls: ['./radio-list.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiRadioListComponent),\n tuiAsControl(TuiRadioListComponent),\n ],\n})\nexport class TuiRadioListComponent<T> extends AbstractTuiNullableControl<T> {\n @ViewChildren(TuiRadioLabeledComponent)\n private readonly radioButtons: QueryList<TuiRadioLabeledComponent<unknown>> =\n EMPTY_QUERY;\n\n @Input()\n items: readonly T[] = [];\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeL = 'm';\n\n @Input()\n identityMatcher: TuiIdentityMatcher<T> = TUI_DEFAULT_IDENTITY_MATCHER;\n\n @Input()\n @HostBinding('attr.data-orientation')\n orientation: TuiOrientation = 'vertical';\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<T> = ALWAYS_FALSE_HANDLER;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {\n super(control, cdr);\n }\n\n // @bad TODO: Remove & { index: number }\n @Input()\n itemContent: PolymorpheusContent<TuiValueContentContext<T> & {index: number}> = ({\n $implicit,\n }) => String($implicit);\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n const focusableRadioButton = this.radioButtons.find(\n radioButton => radioButton.nativeFocusableElement !== null,\n );\n\n return focusableRadioButton?.nativeFocusableElement ?? null;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el.nativeElement);\n }\n\n computeId(index: number): string {\n return `${this.id}-${index}`;\n }\n\n itemIsDisabled(item: T): boolean {\n return this.disabledItemHandler(item);\n }\n\n /** @deprecated use 'value' setter */\n onModelChange(value: T): void {\n this.value = value;\n }\n\n itemIsActive(item: T): boolean {\n return this.value === null\n ? item === null\n : this.identityMatcher(this.value, item);\n }\n}\n","<tui-radio-group class=\"t-group\">\n <tui-radio-labeled\n *ngFor=\"let item of items; index as index\"\n class=\"t-item\"\n [disabled]=\"disabled\"\n [item]=\"item\"\n [nativeId]=\"computeId(index)\"\n [pseudoDisabled]=\"itemIsDisabled(item)\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [size]=\"size\"\n [(ngModel)]=\"value\"\n >\n <ng-container\n *polymorpheusOutlet=\"\n itemContent as text;\n context: {$implicit: item, index: index, active: itemIsActive(item)}\n \"\n >\n {{ text }}\n </ng-container>\n </tui-radio-labeled>\n</tui-radio-group>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiRadioGroupModule} from '@taiga-ui/kit/components/radio-group';\nimport {TuiRadioLabeledModule} from '@taiga-ui/kit/components/radio-labeled';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiRadioListComponent} from './radio-list.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiRadioGroupModule,\n TuiRadioLabeledModule,\n ],\n declarations: [TuiRadioListComponent],\n exports: [TuiRadioListComponent],\n})\nexport class TuiRadioListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}