@taiga-ui/kit 3.56.0 → 3.57.0-canary.15a487b

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 (82) hide show
  1. package/bundles/taiga-ui-kit-components-input-copy.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-input-date-multi.umd.js +1 -1
  4. package/bundles/taiga-ui-kit-components-input-date-multi.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +0 -1
  6. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-input-password.umd.js +1 -1
  9. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
  11. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-input-time.umd.js +3 -3
  13. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +2 -2
  15. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-multi-select.umd.js +1 -1
  17. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-push.umd.js +4 -3
  19. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-select.umd.js +1 -1
  21. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  23. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-tabs.umd.js +1 -1
  25. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-tiles.umd.js +1 -1
  27. package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -1
  28. package/bundles/taiga-ui-kit-utils-date.umd.js +5 -4
  29. package/bundles/taiga-ui-kit-utils-date.umd.js.map +1 -1
  30. package/components/push/push.component.d.ts +3 -1
  31. package/components/push/push.options.d.ts +1 -1
  32. package/esm2015/components/input-copy/input-copy.component.js +1 -1
  33. package/esm2015/components/input-date/input-date.component.js +1 -1
  34. package/esm2015/components/input-date-multi/input-date-multi.component.js +2 -2
  35. package/esm2015/components/input-date-range/input-date-range.component.js +1 -2
  36. package/esm2015/components/input-password/input-password.component.js +1 -1
  37. package/esm2015/components/input-tag/input-tag.component.js +2 -2
  38. package/esm2015/components/input-time/input-time.component.js +4 -4
  39. package/esm2015/components/line-clamp/line-clamp-box.component.js +1 -1
  40. package/esm2015/components/line-clamp/line-clamp.component.js +1 -1
  41. package/esm2015/components/multi-select/native-multi-select/native-multi-select-group.component.js +2 -2
  42. package/esm2015/components/push/push.component.js +5 -4
  43. package/esm2015/components/push/push.options.js +2 -2
  44. package/esm2015/components/select/native-select/native-select-group.component.js +2 -2
  45. package/esm2015/components/stepper/stepper.component.js +1 -1
  46. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +2 -2
  47. package/esm2015/components/tiles/tiles.component.js +1 -1
  48. package/esm2015/interfaces/mobile-calendar-data.js +1 -1
  49. package/esm2015/utils/date/update.js +5 -5
  50. package/fesm2015/taiga-ui-kit-components-input-copy.js +1 -1
  51. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  52. package/fesm2015/taiga-ui-kit-components-input-date-multi.js +1 -1
  53. package/fesm2015/taiga-ui-kit-components-input-date-multi.js.map +1 -1
  54. package/fesm2015/taiga-ui-kit-components-input-date-range.js +0 -1
  55. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  56. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  57. package/fesm2015/taiga-ui-kit-components-input-password.js +1 -1
  58. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  59. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  60. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  61. package/fesm2015/taiga-ui-kit-components-input-time.js +3 -3
  62. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  63. package/fesm2015/taiga-ui-kit-components-line-clamp.js +2 -2
  64. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  65. package/fesm2015/taiga-ui-kit-components-multi-select.js +1 -1
  66. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  67. package/fesm2015/taiga-ui-kit-components-push.js +5 -4
  68. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  69. package/fesm2015/taiga-ui-kit-components-select.js +1 -1
  70. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  71. package/fesm2015/taiga-ui-kit-components-stepper.js +1 -1
  72. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  73. package/fesm2015/taiga-ui-kit-components-tabs.js +1 -1
  74. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  75. package/fesm2015/taiga-ui-kit-components-tiles.js +1 -1
  76. package/fesm2015/taiga-ui-kit-components-tiles.js.map +1 -1
  77. package/fesm2015/taiga-ui-kit-utils-date.js +4 -4
  78. package/fesm2015/taiga-ui-kit-utils-date.js.map +1 -1
  79. package/interfaces/mobile-calendar-data.d.ts +3 -2
  80. package/package.json +42 -42
  81. package/tokens/i18n.d.ts +1 -1
  82. package/utils/date/update.d.ts +1 -1
@@ -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?.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(\n (previous, current) =>\n Math.abs(current.valueOf() - value.valueOf()) <\n Math.abs(previous.valueOf() - value.valueOf())\n ? current\n : previous,\n new TuiTime(0, 0),\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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"}
@@ -36,7 +36,7 @@ TuiLineClampBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
36
36
  tuiRectAccessorFor('hint', TuiHintDirective),
37
37
  ], usesInheritance: true, ngImport: i0, template: `
38
38
  <ng-container *polymorpheusOutlet="content as text">{{ text }}</ng-container>
39
- `, isInline: true, styles: [":host{box-shadow:var(--tui-shadow-dropdown);position:absolute;width:-webkit-min-content;width:min-content;padding:.75rem 1rem;margin-left:calc(-1px - 1rem);margin-top:calc(-1px - .75rem);border-radius:var(--tui-radius-l);box-sizing:content-box;border:1px solid var(--tui-base-03);background:var(--tui-base-01);color:var(--tui-text-01);word-wrap:break-word}\n"], directives: [{ type: i1.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
+ `, isInline: true, styles: [":host{position:absolute;box-shadow:var(--tui-shadow-dropdown);width:-webkit-min-content;width:min-content;padding:.75rem 1rem;margin-left:calc(-1px - 1rem);margin-top:calc(-1px - .75rem);border-radius:var(--tui-radius-l);box-sizing:content-box;border:1px solid var(--tui-base-03);background:var(--tui-base-01);color:var(--tui-text-01);word-wrap:break-word}\n"], directives: [{ type: i1.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiLineClampBoxComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{
@@ -149,7 +149,7 @@ TuiLineClampComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
149
149
  provide: TUI_HINT_COMPONENT,
150
150
  useValue: TuiLineClampBoxComponent,
151
151
  },
152
- ], viewQueries: [{ propertyName: "outlet", first: true, predicate: TuiHintDirective, descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n *tuiLet=\"lineClamp$ | async as lineClamp\"\n tuiHintCustomPosition\n class=\"t-wrapper\"\n [style.-webkit-line-clamp]=\"lineClamp\"\n [style.word-break]=\"(lineClamp || 0) > 1 ? 'break-word' : 'break-all'\"\n [tuiHint]=\"computedContent\"\n (mouseenter)=\"updateView()\"\n (tuiResize)=\"updateView()\"\n>\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden}:host._initialized{transition-property:max-height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-wrapper{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.t-wrapper ::ng-deep>*{white-space:initial}\n"], directives: [{ type: i1$1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: TuiLineClampPositionDirective, selector: "[tuiHintCustomPosition]" }, { type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { type: i3.TuiHintDriverDirective, selector: "[tuiHint]" }, { type: i3.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { type: i1$1.TuiResizeDirective, selector: "[tuiResize]", outputs: ["tuiResize"] }, { type: i1.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
152
+ ], viewQueries: [{ propertyName: "outlet", first: true, predicate: TuiHintDirective, descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n *tuiLet=\"lineClamp$ | async as lineClamp\"\n tuiHintCustomPosition\n class=\"t-wrapper\"\n [style.-webkit-line-clamp]=\"lineClamp\"\n [style.word-break]=\"(lineClamp || 0) > 1 ? 'break-word' : 'break-all'\"\n [tuiHint]=\"computedContent\"\n (mouseenter)=\"updateView()\"\n (tuiResize)=\"updateView()\"\n>\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden}:host._initialized{transition-property:max-height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-wrapper{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.t-wrapper ::ng-deep>*{white-space:initial}\n"], directives: [{ type: i1$1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: TuiLineClampPositionDirective, selector: "[tuiHintCustomPosition]" }, { type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { type: i3.TuiHintDriverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)" }, { type: i3.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { type: i1$1.TuiResizeDirective, selector: "[tuiResize]", outputs: ["tuiResize"] }, { type: i1.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
153
153
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiLineClampComponent, decorators: [{
154
154
  type: Component,
155
155
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-line-clamp.js","sources":["../../../projects/kit/components/line-clamp/line-clamp.options.ts","../../../projects/kit/components/line-clamp/line-clamp-box.component.ts","../../../projects/kit/components/line-clamp/line-clamp-position.directive.ts","../../../projects/kit/components/line-clamp/line-clamp.component.ts","../../../projects/kit/components/line-clamp/line-clamp.template.html","../../../projects/kit/components/line-clamp/line-clamp.module.ts","../../../projects/kit/components/line-clamp/taiga-ui-kit-components-line-clamp.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\n\nexport interface TuiLineClampOptions {\n readonly showHint: boolean;\n}\n\nexport const TUI_LINE_CLAMP_DEFAULT_OPTIONS: TuiLineClampOptions = {\n showHint: true,\n};\n\n/**\n * Default parameters for LineClamp component\n */\nexport const TUI_LINE_CLAMP_OPTIONS = tuiCreateToken(TUI_LINE_CLAMP_DEFAULT_OPTIONS);\n\nexport function tuiLineClampOptionsProvider(\n options: Partial<TuiLineClampOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_LINE_CLAMP_OPTIONS,\n options,\n TUI_LINE_CLAMP_DEFAULT_OPTIONS,\n );\n}\n","import {ChangeDetectionStrategy, Component, HostBinding} from '@angular/core';\nimport {TuiDestroyService, TuiHoveredService} from '@taiga-ui/cdk';\nimport {\n tuiFadeIn,\n TuiHintComponent,\n TuiHintDirective,\n tuiPositionAccessorFor,\n TuiPositionService,\n tuiRectAccessorFor,\n} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-line-clamp-box',\n template: `\n <ng-container *polymorpheusOutlet=\"content as text\">{{ text }}</ng-container>\n `,\n styleUrls: ['./line-clamp-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n TuiPositionService,\n TuiHoveredService,\n tuiPositionAccessorFor('hint'),\n tuiRectAccessorFor('hint', TuiHintDirective),\n ],\n animations: [tuiFadeIn],\n})\nexport class TuiLineClampBoxComponent extends TuiHintComponent {\n @HostBinding('style.minWidth.px')\n get width(): number {\n return this.accessor.getClientRect().width;\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {\n tuiAsPositionAccessor,\n TuiHintDirective,\n TuiPoint,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core';\n\n@Directive({\n selector: '[tuiHintCustomPosition]',\n providers: [tuiAsPositionAccessor(TuiLineClampPositionDirective)],\n})\nexport class TuiLineClampPositionDirective extends TuiPositionAccessor {\n readonly type = 'hint';\n\n constructor(@Inject(TuiHintDirective) private readonly accessor: TuiRectAccessor) {\n super();\n }\n\n getPosition(): TuiPoint {\n const {top, left} = this.accessor.getClientRect();\n\n return [top, left];\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DoCheck,\n ElementRef,\n HostListener,\n Inject,\n Input,\n NgZone,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {tuiIsCurrentTarget, tuiPx, tuiTypedFromEvent, tuiZonefree} from '@taiga-ui/cdk';\nimport {TUI_HINT_COMPONENT, TuiHintDirective} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable, of, Subject, timer} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n pairwise,\n startWith,\n switchMap,\n} from 'rxjs/operators';\n\nimport {TUI_LINE_CLAMP_OPTIONS, TuiLineClampOptions} from './line-clamp.options';\nimport {TuiLineClampBoxComponent} from './line-clamp-box.component';\n\n@Component({\n selector: 'tui-line-clamp',\n templateUrl: './line-clamp.template.html',\n styleUrls: ['./line-clamp.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_HINT_COMPONENT,\n useValue: TuiLineClampBoxComponent,\n },\n ],\n})\nexport class TuiLineClampComponent implements DoCheck, AfterViewInit {\n @ViewChild(TuiHintDirective, {read: ElementRef})\n private readonly outlet?: ElementRef<HTMLElement>;\n\n private readonly linesLimit$ = new BehaviorSubject(1);\n private readonly isOverflown$ = new Subject<boolean>();\n private initialized = false;\n\n @Input()\n set linesLimit(linesLimit: number) {\n this.linesLimit$.next(linesLimit);\n }\n\n @Input()\n lineHeight = 24;\n\n @Input()\n content: PolymorpheusContent;\n\n @Output()\n readonly overflownChange: Observable<boolean> =\n this.isOverflown$.pipe(distinctUntilChanged());\n\n lineClamp$ = this.linesLimit$.pipe(\n startWith(1),\n pairwise(),\n switchMap(([prev, next]) =>\n next >= prev\n ? of(next)\n : tuiTypedFromEvent(this.el.nativeElement, 'transitionend').pipe(\n filter(tuiIsCurrentTarget),\n map(() => next),\n ),\n ),\n );\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ChangeDetectorRef) private readonly cd: ChangeDetectorRef,\n @Inject(NgZone) private readonly zone: NgZone,\n @Inject(TUI_LINE_CLAMP_OPTIONS) private readonly options: TuiLineClampOptions,\n ) {\n this.skipInitialTransition();\n }\n\n get overflown(): boolean {\n if (!this.outlet) {\n return false;\n }\n\n const {scrollHeight, scrollWidth} = this.outlet.nativeElement;\n const {clientHeight, clientWidth} = this.el.nativeElement;\n\n // 4px buffer for IE/Edge incorrectly rounding scrollHeight\n return scrollHeight - clientHeight > 4 || scrollWidth - clientWidth > 0;\n }\n\n get computedContent(): PolymorpheusContent {\n return this.options.showHint && this.overflown ? this.content : '';\n }\n\n @HostListener('transitionend')\n updateView(): void {\n this.cd.detectChanges();\n }\n\n ngDoCheck(): void {\n this.update();\n this.isOverflown$.next(this.overflown);\n }\n\n ngAfterViewInit(): void {\n this.initialized = true;\n }\n\n private skipInitialTransition(): void {\n timer(0)\n .pipe(tuiZonefree(this.zone))\n .subscribe(() => {\n this.renderer.addClass(this.el.nativeElement, '_initialized');\n this.cd.detectChanges();\n });\n }\n\n private update(): void {\n if (this.outlet) {\n this.renderer.setStyle(\n this.el.nativeElement,\n 'height',\n tuiPx(this.outlet.nativeElement.scrollHeight + 4),\n );\n }\n\n if (this.initialized) {\n this.renderer.setStyle(\n this.el.nativeElement,\n 'max-height',\n tuiPx(this.lineHeight * this.linesLimit$.value),\n );\n }\n }\n}\n","<div\n *tuiLet=\"lineClamp$ | async as lineClamp\"\n tuiHintCustomPosition\n class=\"t-wrapper\"\n [style.-webkit-line-clamp]=\"lineClamp\"\n [style.word-break]=\"(lineClamp || 0) > 1 ? 'break-word' : 'break-all'\"\n [tuiHint]=\"computedContent\"\n (mouseenter)=\"updateView()\"\n (tuiResize)=\"updateView()\"\n>\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule, TuiResizeModule} from '@taiga-ui/cdk';\nimport {TuiHintModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiLineClampComponent} from './line-clamp.component';\nimport {TuiLineClampBoxComponent} from './line-clamp-box.component';\nimport {TuiLineClampPositionDirective} from './line-clamp-position.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiHintModule,\n TuiResizeModule,\n TuiLetModule,\n ],\n declarations: [\n TuiLineClampComponent,\n TuiLineClampBoxComponent,\n TuiLineClampPositionDirective,\n ],\n exports: [TuiLineClampComponent],\n})\nexport class TuiLineClampModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.TuiLineClampPositionDirective","i4"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-line-clamp.js","sources":["../../../projects/kit/components/line-clamp/line-clamp.options.ts","../../../projects/kit/components/line-clamp/line-clamp-box.component.ts","../../../projects/kit/components/line-clamp/line-clamp-position.directive.ts","../../../projects/kit/components/line-clamp/line-clamp.component.ts","../../../projects/kit/components/line-clamp/line-clamp.template.html","../../../projects/kit/components/line-clamp/line-clamp.module.ts","../../../projects/kit/components/line-clamp/taiga-ui-kit-components-line-clamp.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\n\nexport interface TuiLineClampOptions {\n readonly showHint: boolean;\n}\n\nexport const TUI_LINE_CLAMP_DEFAULT_OPTIONS: TuiLineClampOptions = {\n showHint: true,\n};\n\n/**\n * Default parameters for LineClamp component\n */\nexport const TUI_LINE_CLAMP_OPTIONS = tuiCreateToken(TUI_LINE_CLAMP_DEFAULT_OPTIONS);\n\nexport function tuiLineClampOptionsProvider(\n options: Partial<TuiLineClampOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_LINE_CLAMP_OPTIONS,\n options,\n TUI_LINE_CLAMP_DEFAULT_OPTIONS,\n );\n}\n","import {ChangeDetectionStrategy, Component, HostBinding} from '@angular/core';\nimport {TuiDestroyService, TuiHoveredService} from '@taiga-ui/cdk';\nimport {\n tuiFadeIn,\n TuiHintComponent,\n TuiHintDirective,\n tuiPositionAccessorFor,\n TuiPositionService,\n tuiRectAccessorFor,\n} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-line-clamp-box',\n template: `\n <ng-container *polymorpheusOutlet=\"content as text\">{{ text }}</ng-container>\n `,\n styleUrls: ['./line-clamp-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n TuiPositionService,\n TuiHoveredService,\n tuiPositionAccessorFor('hint'),\n tuiRectAccessorFor('hint', TuiHintDirective),\n ],\n animations: [tuiFadeIn],\n})\nexport class TuiLineClampBoxComponent extends TuiHintComponent {\n @HostBinding('style.minWidth.px')\n get width(): number {\n return this.accessor.getClientRect().width;\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {\n tuiAsPositionAccessor,\n TuiHintDirective,\n TuiPoint,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core';\n\n@Directive({\n selector: '[tuiHintCustomPosition]',\n providers: [tuiAsPositionAccessor(TuiLineClampPositionDirective)],\n})\nexport class TuiLineClampPositionDirective extends TuiPositionAccessor {\n readonly type = 'hint';\n\n constructor(@Inject(TuiHintDirective) private readonly accessor: TuiRectAccessor) {\n super();\n }\n\n getPosition(): TuiPoint {\n const {top, left} = this.accessor.getClientRect();\n\n return [top, left];\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DoCheck,\n ElementRef,\n HostListener,\n Inject,\n Input,\n NgZone,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {tuiIsCurrentTarget, tuiPx, tuiTypedFromEvent, tuiZonefree} from '@taiga-ui/cdk';\nimport {TUI_HINT_COMPONENT, TuiHintDirective} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable, of, Subject, timer} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n pairwise,\n startWith,\n switchMap,\n} from 'rxjs/operators';\n\nimport {TUI_LINE_CLAMP_OPTIONS, TuiLineClampOptions} from './line-clamp.options';\nimport {TuiLineClampBoxComponent} from './line-clamp-box.component';\n\n@Component({\n selector: 'tui-line-clamp',\n templateUrl: './line-clamp.template.html',\n styleUrls: ['./line-clamp.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_HINT_COMPONENT,\n useValue: TuiLineClampBoxComponent,\n },\n ],\n})\nexport class TuiLineClampComponent implements DoCheck, AfterViewInit {\n @ViewChild(TuiHintDirective, {read: ElementRef})\n private readonly outlet?: ElementRef<HTMLElement>;\n\n private readonly linesLimit$ = new BehaviorSubject(1);\n private readonly isOverflown$ = new Subject<boolean>();\n private initialized = false;\n\n @Input()\n set linesLimit(linesLimit: number) {\n this.linesLimit$.next(linesLimit);\n }\n\n @Input()\n lineHeight = 24;\n\n @Input()\n content: PolymorpheusContent;\n\n @Output()\n readonly overflownChange: Observable<boolean> =\n this.isOverflown$.pipe(distinctUntilChanged());\n\n lineClamp$ = this.linesLimit$.pipe(\n startWith(1),\n pairwise(),\n switchMap(([prev, next]) =>\n next >= prev\n ? of(next)\n : tuiTypedFromEvent(this.el.nativeElement, 'transitionend').pipe(\n filter(tuiIsCurrentTarget),\n map(() => next),\n ),\n ),\n );\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ChangeDetectorRef) private readonly cd: ChangeDetectorRef,\n @Inject(NgZone) private readonly zone: NgZone,\n @Inject(TUI_LINE_CLAMP_OPTIONS) private readonly options: TuiLineClampOptions,\n ) {\n this.skipInitialTransition();\n }\n\n get overflown(): boolean {\n if (!this.outlet) {\n return false;\n }\n\n const {scrollHeight, scrollWidth} = this.outlet.nativeElement;\n const {clientHeight, clientWidth} = this.el.nativeElement;\n\n // 4px buffer for IE/Edge incorrectly rounding scrollHeight\n return scrollHeight - clientHeight > 4 || scrollWidth - clientWidth > 0;\n }\n\n get computedContent(): PolymorpheusContent {\n return this.options.showHint && this.overflown ? this.content : '';\n }\n\n @HostListener('transitionend')\n updateView(): void {\n this.cd.detectChanges();\n }\n\n ngDoCheck(): void {\n this.update();\n this.isOverflown$.next(this.overflown);\n }\n\n ngAfterViewInit(): void {\n this.initialized = true;\n }\n\n private skipInitialTransition(): void {\n timer(0)\n .pipe(tuiZonefree(this.zone))\n .subscribe(() => {\n this.renderer.addClass(this.el.nativeElement, '_initialized');\n this.cd.detectChanges();\n });\n }\n\n private update(): void {\n if (this.outlet) {\n this.renderer.setStyle(\n this.el.nativeElement,\n 'height',\n tuiPx(this.outlet.nativeElement.scrollHeight + 4),\n );\n }\n\n if (this.initialized) {\n this.renderer.setStyle(\n this.el.nativeElement,\n 'max-height',\n tuiPx(this.lineHeight * this.linesLimit$.value),\n );\n }\n }\n}\n","<div\n *tuiLet=\"lineClamp$ | async as lineClamp\"\n tuiHintCustomPosition\n class=\"t-wrapper\"\n [style.-webkit-line-clamp]=\"lineClamp\"\n [style.word-break]=\"(lineClamp || 0) > 1 ? 'break-word' : 'break-all'\"\n [tuiHint]=\"computedContent\"\n (mouseenter)=\"updateView()\"\n (tuiResize)=\"updateView()\"\n>\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule, TuiResizeModule} from '@taiga-ui/cdk';\nimport {TuiHintModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiLineClampComponent} from './line-clamp.component';\nimport {TuiLineClampBoxComponent} from './line-clamp-box.component';\nimport {TuiLineClampPositionDirective} from './line-clamp-position.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiHintModule,\n TuiResizeModule,\n TuiLetModule,\n ],\n declarations: [\n TuiLineClampComponent,\n TuiLineClampBoxComponent,\n TuiLineClampPositionDirective,\n ],\n exports: [TuiLineClampComponent],\n})\nexport class TuiLineClampModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.TuiLineClampPositionDirective","i4"],"mappings":"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"}
@@ -568,7 +568,7 @@ class TuiNativeMultiSelectGroupComponent extends AbstractTuiNativeMultiSelect {
568
568
  onValueChange(selectedOptions) {
569
569
  var _a;
570
570
  const selected = Array.from(selectedOptions).map(option => option.index);
571
- const flatItems = ((_a = this.items) === null || _a === void 0 ? void 0 : _a.reduce((acc, val) => acc.concat(val))) || [];
571
+ const flatItems = ((_a = this.items) === null || _a === void 0 ? void 0 : _a.reduce((acc, val) => acc.concat(val), [])) || [];
572
572
  const value = flatItems.filter((_, index) => selected.includes(index));
573
573
  this.host.onSelectionChange(value);
574
574
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-multi-select.js","sources":["../../../projects/kit/components/multi-select/multi-select.options.ts","../../../projects/kit/components/multi-select/native-multi-select/native-multi-select.ts","../../../projects/kit/components/multi-select/multi-select.component.ts","../../../projects/kit/components/multi-select/multi-select.template.html","../../../projects/kit/components/multi-select/hide-selected.pipe.ts","../../../projects/kit/components/multi-select/multi-select.directive.ts","../../../projects/kit/components/multi-select/multi-select-group/multi-select-group.component.ts","../../../projects/kit/components/multi-select/multi-select-group/multi-select-group.template.html","../../../projects/kit/components/multi-select/multi-select-group/multi-select-group.directive.ts","../../../projects/kit/components/multi-select/native-multi-select/native-multi-select.component.ts","../../../projects/kit/components/multi-select/native-multi-select/native-multi-select.template.html","../../../projects/kit/components/multi-select/native-multi-select/native-multi-select-group.component.ts","../../../projects/kit/components/multi-select/native-multi-select/native-multi-select-group.template.html","../../../projects/kit/components/multi-select/multi-select.module.ts","../../../projects/kit/components/multi-select/taiga-ui-kit-components-multi-select.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {TuiContextWithImplicit, tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiMultiSelectOptions<T> {\n readonly expandable: boolean;\n readonly valueContent: PolymorpheusContent<TuiContextWithImplicit<readonly T[]>>;\n}\n\nexport const TUI_MULTI_SELECT_DEFAULT_OPTIONS: TuiMultiSelectOptions<unknown> = {\n expandable: true,\n valueContent: ``,\n};\n\n/**\n * Default parameters for MultiSelect component\n */\nexport const TUI_MULTI_SELECT_OPTIONS = tuiCreateToken(TUI_MULTI_SELECT_DEFAULT_OPTIONS);\n\nexport function tuiMultiSelectOptionsProvider<T>(\n options: Partial<TuiMultiSelectOptions<T>>,\n): Provider {\n return tuiProvideOptions(\n TUI_MULTI_SELECT_OPTIONS,\n options,\n TUI_MULTI_SELECT_DEFAULT_OPTIONS,\n );\n}\n","import {Directive} from '@angular/core';\nimport {TuiTypedMapper} from '@taiga-ui/cdk';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/kit/abstract';\nimport {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\n\nimport type {TuiMultiSelectDirective} from '../multi-select.directive';\n\n@Directive()\nexport abstract class AbstractTuiNativeMultiSelect<T> extends AbstractTuiNativeSelect<\n TuiMultiSelectDirective<T>,\n T\n> {\n selectedMapper: TuiTypedMapper<[T, ...any[]], boolean> = (option, value) =>\n value.includes(option);\n\n get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiMultipleControl,\n ALWAYS_TRUE_HANDLER,\n EMPTY_ARRAY,\n TUI_IS_MOBILE,\n TuiActiveZoneDirective,\n tuiArrayToggle,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n tuiIsString,\n tuiPure,\n TuiStringHandler,\n TuiTypedMapper,\n} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_DATA_LIST_ACCESSOR,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n tuiAsDataListHost,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {TuiStringifiableItem} from '@taiga-ui/kit/classes';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TuiInputTagComponent} from '@taiga-ui/kit/components/input-tag';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_MULTI_SELECT_OPTIONS, TuiMultiSelectOptions} from './multi-select.options';\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select/native-multi-select';\n\n@Component({\n selector: 'tui-multi-select',\n templateUrl: './multi-select.template.html',\n styleUrls: ['./multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiMultiSelectComponent),\n tuiAsControl(TuiMultiSelectComponent),\n tuiAsDataListHost(TuiMultiSelectComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER],\n})\nexport class TuiMultiSelectComponent<T>\n extends AbstractTuiMultipleControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ContentChild(AbstractTuiNativeMultiSelect, {static: true})\n private readonly nativeSelect?: AbstractTuiNativeMultiSelect<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiInputTagComponent)\n private readonly input?: TuiInputTagComponent;\n\n @Input()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n expandable: TuiMultiSelectOptions<T>['expandable'] = this.options.expandable;\n\n @Input()\n search: string | null = '';\n\n @Input()\n placeholder = '';\n\n @Input()\n @HostBinding('class._editable')\n editable = true;\n\n @Input()\n disabledItemHandler: TuiItemsHandlers<T>['disabledItemHandler'] =\n this.itemsHandlers.disabledItemHandler;\n\n @Input()\n valueContent: TuiMultiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n @Input()\n tagValidator: TuiBooleanHandler<T> = ALWAYS_TRUE_HANDLER;\n\n @Input()\n rows = Infinity;\n\n @Output()\n readonly searchChange = new EventEmitter<string | null>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent<\n TuiContextWithImplicit<TuiActiveZoneDirective>\n >;\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_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n @Inject(TUI_MULTI_SELECT_OPTIONS)\n private readonly options: TuiMultiSelectOptions<T>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_IS_MOBILE)\n readonly isMobile: boolean,\n ) {\n super(control, cdr);\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return this.interactive ? this.arrowMode.interactive : this.arrowMode.disabled;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input?.nativeFocusableElement ?? null;\n }\n\n get focused(): boolean {\n return !!this.input?.focused || !!this.hostedDropdown?.focused;\n }\n\n get nativeDropdownMode(): boolean {\n return !!this.nativeSelect && this.isMobile && !this.editable;\n }\n\n get computedValue(): readonly T[] {\n return this.computedGroup ? EMPTY_ARRAY : this.value;\n }\n\n // @bad TODO: think of a better way\n get searchOrSpace(): string {\n return this.computedGroup ? ' ' : this.searchString;\n }\n\n get searchString(): string {\n return this.search === null ? '' : this.search;\n }\n\n get computedGroup(): boolean {\n return (\n !!this.valueContent &&\n this.value.length > 0 &&\n (!this.focused || !this.editable)\n );\n }\n\n @tuiPure\n getStringifier(\n stringify: TuiStringHandler<T>,\n ): TuiStringHandler<TuiContextWithImplicit<T>> {\n return ({$implicit}) => stringify($implicit);\n }\n\n readonly valueMapper: TuiTypedMapper<\n [readonly T[], TuiStringHandler<T>, boolean?],\n ReadonlyArray<TuiStringifiableItem<T>>\n > = (value, stringify, group) =>\n group\n ? EMPTY_ARRAY\n : value.map(item => new TuiStringifiableItem(item, stringify));\n\n readonly disabledItemHandlerWrapper: TuiTypedMapper<\n [TuiBooleanHandler<T>],\n TuiBooleanHandler<TuiStringifiableItem<T> | string>\n > = handler => stringifiable =>\n tuiIsString(stringifiable) || handler(stringifiable.item);\n\n onSpace(event: Event): void {\n if (!this.editable) {\n event.preventDefault();\n }\n\n if (!this.readOnly) {\n this.hostedDropdown?.updateOpen(true);\n }\n }\n\n handleOption(option: T): void {\n const {value, identityMatcher} = this;\n const index = value.findIndex(item => identityMatcher(item, option));\n\n this.value =\n index === -1 ? [...value, option] : value.filter((_, i) => i !== index);\n this.updateSearch(null);\n }\n\n onEnter(event: Event): void {\n const {value} = this;\n const options = this.accessor ? this.accessor.getOptions() : [];\n\n if (options.length !== 1) {\n return;\n }\n\n event.preventDefault();\n this.value = tuiArrayToggle(value, options[0]);\n this.updateSearch(null);\n }\n\n onClick({nativeFocusableElement}: TuiInputTagComponent): void {\n if (\n this.interactive &&\n nativeFocusableElement &&\n tuiIsNativeFocused(nativeFocusableElement)\n ) {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n }\n\n onInput(value: ReadonlyArray<TuiStringifiableItem<T>>): void {\n this.value = value.map(({item}) => item);\n }\n\n onValueChange(value: readonly T[]): void {\n this.value = value;\n }\n\n onSearch(search: string | null): void {\n // Clearing sets the empty value, the dropdown should not be opened on clear.\n if (search !== '') {\n this.hostedDropdown?.updateOpen(true);\n }\n\n this.updateSearch(search);\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n override setDisabledState(): void {\n super.setDisabledState();\n this.hostedDropdown?.updateOpen(false);\n }\n\n private updateSearch(search: string | null): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive && !nativeDropdownMode\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-tag\n #inputTag\n automation-id=\"tui-multi-select__input\"\n class=\"t-input\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [editable]=\"false\"\n [expandable]=\"expandable\"\n [inputHidden]=\"!editable\"\n [nativeId]=\"nativeId\"\n [ngModel]=\"computedValue | tuiMapper: valueMapper : stringify\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [removable]=\"!nativeDropdownMode\"\n [rows]=\"rows\"\n [search]=\"searchOrSpace\"\n [tagValidator]=\"tagValidator | tuiMapper: disabledItemHandlerWrapper\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n (click.prevent)=\"onClick(inputTag)\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.space)=\"onSpace($event)\"\n (ngModelChange)=\"onInput($event)\"\n (searchChange)=\"onSearch($event)\"\n >\n <ng-content></ng-content>\n <ng-template #select>\n <ng-content\n *ngIf=\"isMobile\"\n select=\"select\"\n ></ng-content>\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n ></ng-container>\n\n <div\n *ngIf=\"computedGroup\"\n ngProjectAs=\"tuiContent\"\n class=\"t-content\"\n [class.t-content_fullsize]=\"inputTag.labelOutside\"\n >\n <span\n *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </span>\n </div>\n </tui-input-tag>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n automation-id=\"tui-multi-select__arrow\"\n tuiPreventDefault=\"mousedown\"\n tuiWrapper\n class=\"t-arrow\"\n [class.t-arrow_native-dropdown]=\"nativeDropdownMode\"\n >\n <ng-container *polymorpheusOutlet=\"arrow as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiIdentityMatcher, tuiPure} from '@taiga-ui/cdk';\nimport {tuiIsFlat} from '@taiga-ui/kit/utils';\n\nimport {TuiMultiSelectComponent} from './multi-select.component';\n\n@Pipe({\n name: `tuiHideSelected`,\n pure: false,\n})\nexport class TuiHideSelectedPipe implements PipeTransform {\n constructor(\n @Inject(TuiMultiSelectComponent)\n private readonly component: TuiMultiSelectComponent<any>,\n ) {}\n\n transform<T>(items: readonly T[] | null): readonly T[] | null;\n transform<T>(\n items: ReadonlyArray<readonly T[]> | null,\n ): ReadonlyArray<readonly T[]> | null;\n transform<T>(\n items: ReadonlyArray<readonly T[]> | readonly T[] | null,\n ): ReadonlyArray<readonly T[]> | readonly T[] | null {\n const {value, identityMatcher} = this.component;\n\n if (!items) {\n return null;\n }\n\n return tuiIsFlat(items)\n ? this.filter(items, value, identityMatcher)\n : this.filter2d(items, value, identityMatcher);\n }\n\n @tuiPure\n private filter2d<T>(\n items: ReadonlyArray<readonly T[]>,\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): ReadonlyArray<readonly T[]> {\n return items.map(subItems => this.filter(subItems, value, matcher));\n }\n\n @tuiPure\n private filter<T>(\n items: readonly T[],\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): readonly T[] {\n return items.filter(item => value.every(selected => !matcher(selected, item)));\n }\n}\n","import {Directive} from '@angular/core';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\nimport {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\n\nimport type {TuiMultiSelectComponent} from './multi-select.component';\n\n@Directive({\n selector: 'tui-multi-select',\n providers: [tuiAsTextfieldHost(TuiMultiSelectDirective)],\n})\nexport class TuiMultiSelectDirective<T = string> extends AbstractTuiTextfieldHost<\n TuiMultiSelectComponent<T>\n> {\n override get readOnly(): boolean {\n return true;\n }\n\n disableItemHandler: TuiBooleanHandler<T> = item =>\n this.host.disabledItemHandler(item);\n\n onValueChange(): void {}\n\n get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n onSelectionChange(value: T[]): void {\n this.host.onValueChange(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n HostBinding,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n EMPTY_QUERY,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiControlValue,\n tuiGetOriginalArrayFromQueryList,\n TuiIdentityMatcher,\n TuiInjectionTokenType,\n tuiIsPresent,\n tuiPure,\n tuiQueryListChanges,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_HOST,\n TuiDataListHost,\n TuiOptionComponent,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {TUI_MULTI_SELECT_TEXTS} from '@taiga-ui/kit/tokens';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-opt-group[tuiMultiSelectGroup]',\n templateUrl: './multi-select-group.template.html',\n styleUrls: ['./multi-select-group.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiMultiSelectGroupComponent<T> {\n @ContentChildren(TuiOptionComponent)\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n @HostBinding('class._label')\n @Input()\n label = '';\n\n constructor(\n @Inject(TUI_MULTI_SELECT_TEXTS)\n readonly multiSelectTexts$: TuiInjectionTokenType<typeof TUI_MULTI_SELECT_TEXTS>,\n @Inject(TUI_DATA_LIST_HOST) private readonly host: TuiDataListHost<T>,\n @Inject(NgControl) private readonly control: NgControl,\n ) {}\n\n get size(): TuiSizeL | TuiSizeXS {\n return this.options.first?.size || 'm';\n }\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return tuiQueryListChanges(this.options).pipe(map(({length}) => !length));\n }\n\n @tuiPure\n get disabled$(): Observable<boolean> {\n return tuiQueryListChanges(this.options).pipe(\n map(items => items.every(({disabled}) => disabled)),\n );\n }\n\n @tuiPure\n get value$(): Observable<boolean | null> {\n return combineLatest([this.items$, this.valueChanges$]).pipe(\n map(([items, current]) => {\n let result = false;\n\n for (let i = 0; i < items.length; i++) {\n const selected = current.some(selected =>\n this.matcher(selected, items[i]),\n );\n\n if ((!selected && result) || (selected && !result && i)) {\n return null;\n }\n\n result = selected;\n }\n\n return result;\n }),\n );\n }\n\n onClick(checked: boolean | null): void {\n if (!this.control.control) {\n return;\n }\n\n const controlValue: readonly T[] = this.control.value || [];\n const {values} = this;\n const filtered = controlValue.filter(current =>\n values.every(item => !this.matcher(current, item)),\n );\n\n this.control.control.setValue(checked ? filtered : [...filtered, ...values]);\n }\n\n private get values(): readonly T[] {\n return this.filter(tuiGetOriginalArrayFromQueryList(this.options));\n }\n\n private get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n @tuiPure\n private get items$(): Observable<readonly T[]> {\n return tuiQueryListChanges(this.options).pipe(\n map(options => options.map(({value}) => value).filter(tuiIsPresent)),\n );\n }\n\n @tuiPure\n private get valueChanges$(): Observable<readonly T[]> {\n return tuiControlValue<readonly T[]>(this.control).pipe(\n map(value => value || []),\n );\n }\n\n @tuiPure\n private filter(items: ReadonlyArray<TuiOptionComponent<T>>): readonly T[] {\n return items.map(({value}) => value).filter(tuiIsPresent);\n }\n}\n","<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content></ng-content>\n","import {Directive, forwardRef, Optional} from '@angular/core';\nimport {NG_VALUE_ACCESSOR, NgControl} from '@angular/forms';\nimport {EMPTY_FUNCTION, tuiArrayToggle} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, tuiAsOptionContent, TuiDataListHost} from '@taiga-ui/core';\nimport {TuiMultiSelectOptionComponent} from '@taiga-ui/kit/components/multi-select-option';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiMultiSelectComponent} from '../multi-select.component';\n\nexport const TUI_MULTI_SELECT_OPTION = new PolymorpheusComponent(\n TuiMultiSelectOptionComponent,\n);\n\n@Directive({\n selector: '[tuiMultiSelectGroup]',\n providers: [\n tuiAsOptionContent(TUI_MULTI_SELECT_OPTION),\n {\n provide: TUI_DATA_LIST_HOST,\n deps: [\n NgControl,\n [new Optional(), forwardRef(() => TuiMultiSelectComponent)],\n ],\n useFactory: <T>(\n control: NgControl,\n host: TuiDataListHost<T> | null,\n ): TuiDataListHost<T> =>\n host || {\n handleOption: option =>\n control.control?.setValue(\n tuiArrayToggle(control.value || [], option),\n ),\n },\n },\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useValue: {\n writeValue: EMPTY_FUNCTION,\n registerOnChange: EMPTY_FUNCTION,\n registerOnTouched: EMPTY_FUNCTION,\n },\n },\n ],\n})\nexport class TuiMultiSelectGroupDirective {}\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiAsDataList} from '@taiga-ui/core';\n\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select';\n\n@Component({\n selector: 'select[multiple][tuiSelect]:not([labels])',\n templateUrl: './native-multi-select.template.html',\n styleUrls: ['./native-multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeMultiSelectComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeMultiSelectComponent],\n useFactory: ({datalist}: TuiNativeMultiSelectComponent<unknown>) => datalist,\n },\n {\n provide: AbstractTuiNativeMultiSelect,\n useExisting: TuiNativeMultiSelectComponent,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '(change)': 'onValueChange($event.target.selectedOptions)',\n '(click.stop.silent)': '0',\n '(mousedown.stop.silent)': '0',\n },\n})\nexport class TuiNativeMultiSelectComponent<T> extends AbstractTuiNativeMultiSelect<T> {\n @Input()\n items: readonly T[] | null = [];\n\n onValueChange(selectedOptions: HTMLSelectElement['selectedOptions']): void {\n const selected = Array.from(selectedOptions).map(option => option.index);\n const value = this.items?.filter((_, index) => selected.includes(index)) || [];\n\n this.host.onSelectionChange(value);\n }\n}\n","<ng-container *ngIf=\"control.control?.valueChanges | async\"></ng-container>\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n></tui-data-list-wrapper>\n<option\n *ngFor=\"let option of items\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n>\n {{ stringify(option) }}\n</option>\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiAsDataList} from '@taiga-ui/core';\n\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select';\n\n@Component({\n selector: 'select[multiple][tuiSelect][labels]',\n templateUrl: './native-multi-select-group.template.html',\n styleUrls: ['./native-multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeMultiSelectGroupComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeMultiSelectGroupComponent],\n useFactory: ({datalist}: TuiNativeMultiSelectGroupComponent<unknown>) =>\n datalist,\n },\n {\n provide: AbstractTuiNativeMultiSelect,\n useExisting: TuiNativeMultiSelectGroupComponent,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '(change)': 'onValueChange($event.target.selectedOptions)',\n '(click.stop.silent)': '0',\n '(mousedown.stop.silent)': '0',\n },\n})\nexport class TuiNativeMultiSelectGroupComponent<\n T,\n> extends AbstractTuiNativeMultiSelect<T> {\n @Input()\n items: readonly T[][] | null = [];\n\n @Input()\n labels: readonly string[] = [];\n\n onValueChange(selectedOptions: HTMLSelectElement['selectedOptions']): void {\n const selected = Array.from(selectedOptions).map(option => option.index);\n const flatItems = this.items?.reduce((acc, val) => acc.concat(val)) || [];\n const value = flatItems.filter((_, index) => selected.includes(index));\n\n this.host.onSelectionChange(value);\n }\n}\n","<ng-container *ngIf=\"control.control?.valueChanges | async\"></ng-container>\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n></tui-data-list-wrapper>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n</optgroup>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {\n TuiActiveZoneModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiDataListModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiDataListWrapperModule} from '@taiga-ui/kit/components/data-list-wrapper';\nimport {TuiInputTagModule} from '@taiga-ui/kit/components/input-tag';\nimport {TuiMultiSelectOptionModule} from '@taiga-ui/kit/components/multi-select-option';\nimport {TuiStringifyContentPipeModule} from '@taiga-ui/kit/pipes/stringify-content';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHideSelectedPipe} from './hide-selected.pipe';\nimport {TuiMultiSelectComponent} from './multi-select.component';\nimport {TuiMultiSelectDirective} from './multi-select.directive';\nimport {TuiMultiSelectGroupComponent} from './multi-select-group/multi-select-group.component';\nimport {TuiMultiSelectGroupDirective} from './multi-select-group/multi-select-group.directive';\nimport {TuiNativeMultiSelectComponent} from './native-multi-select/native-multi-select.component';\nimport {TuiNativeMultiSelectGroupComponent} from './native-multi-select/native-multi-select-group.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiWrapperModule,\n TuiPreventDefaultModule,\n TuiActiveZoneModule,\n TuiArrowModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiSvgModule,\n TuiHostedDropdownModule,\n TuiInputTagModule,\n TuiMultiSelectOptionModule,\n TuiDataListWrapperModule,\n TuiMapperPipeModule,\n TuiLinkModule,\n TuiDataListModule,\n TuiTextfieldControllerModule,\n TuiStringifyContentPipeModule,\n ],\n declarations: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n TuiNativeMultiSelectComponent,\n TuiNativeMultiSelectGroupComponent,\n TuiMultiSelectDirective,\n ],\n exports: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n TuiMultiSelectDirective,\n TuiNativeMultiSelectComponent,\n TuiNativeMultiSelectGroupComponent,\n ],\n})\nexport class TuiMultiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i5","i2","i3","i1","i4.TuiMultiSelectGroupDirective","i6","i7"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-multi-select.js","sources":["../../../projects/kit/components/multi-select/multi-select.options.ts","../../../projects/kit/components/multi-select/native-multi-select/native-multi-select.ts","../../../projects/kit/components/multi-select/multi-select.component.ts","../../../projects/kit/components/multi-select/multi-select.template.html","../../../projects/kit/components/multi-select/hide-selected.pipe.ts","../../../projects/kit/components/multi-select/multi-select.directive.ts","../../../projects/kit/components/multi-select/multi-select-group/multi-select-group.component.ts","../../../projects/kit/components/multi-select/multi-select-group/multi-select-group.template.html","../../../projects/kit/components/multi-select/multi-select-group/multi-select-group.directive.ts","../../../projects/kit/components/multi-select/native-multi-select/native-multi-select.component.ts","../../../projects/kit/components/multi-select/native-multi-select/native-multi-select.template.html","../../../projects/kit/components/multi-select/native-multi-select/native-multi-select-group.component.ts","../../../projects/kit/components/multi-select/native-multi-select/native-multi-select-group.template.html","../../../projects/kit/components/multi-select/multi-select.module.ts","../../../projects/kit/components/multi-select/taiga-ui-kit-components-multi-select.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {TuiContextWithImplicit, tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiMultiSelectOptions<T> {\n readonly expandable: boolean;\n readonly valueContent: PolymorpheusContent<TuiContextWithImplicit<readonly T[]>>;\n}\n\nexport const TUI_MULTI_SELECT_DEFAULT_OPTIONS: TuiMultiSelectOptions<unknown> = {\n expandable: true,\n valueContent: ``,\n};\n\n/**\n * Default parameters for MultiSelect component\n */\nexport const TUI_MULTI_SELECT_OPTIONS = tuiCreateToken(TUI_MULTI_SELECT_DEFAULT_OPTIONS);\n\nexport function tuiMultiSelectOptionsProvider<T>(\n options: Partial<TuiMultiSelectOptions<T>>,\n): Provider {\n return tuiProvideOptions(\n TUI_MULTI_SELECT_OPTIONS,\n options,\n TUI_MULTI_SELECT_DEFAULT_OPTIONS,\n );\n}\n","import {Directive} from '@angular/core';\nimport {TuiTypedMapper} from '@taiga-ui/cdk';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/kit/abstract';\nimport {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\n\nimport type {TuiMultiSelectDirective} from '../multi-select.directive';\n\n@Directive()\nexport abstract class AbstractTuiNativeMultiSelect<T> extends AbstractTuiNativeSelect<\n TuiMultiSelectDirective<T>,\n T\n> {\n selectedMapper: TuiTypedMapper<[T, ...any[]], boolean> = (option, value) =>\n value.includes(option);\n\n get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiMultipleControl,\n ALWAYS_TRUE_HANDLER,\n EMPTY_ARRAY,\n TUI_IS_MOBILE,\n TuiActiveZoneDirective,\n tuiArrayToggle,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n tuiIsString,\n tuiPure,\n TuiStringHandler,\n TuiTypedMapper,\n} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_DATA_LIST_ACCESSOR,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n tuiAsDataListHost,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {TuiStringifiableItem} from '@taiga-ui/kit/classes';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TuiInputTagComponent} from '@taiga-ui/kit/components/input-tag';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_MULTI_SELECT_OPTIONS, TuiMultiSelectOptions} from './multi-select.options';\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select/native-multi-select';\n\n@Component({\n selector: 'tui-multi-select',\n templateUrl: './multi-select.template.html',\n styleUrls: ['./multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiMultiSelectComponent),\n tuiAsControl(TuiMultiSelectComponent),\n tuiAsDataListHost(TuiMultiSelectComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER],\n})\nexport class TuiMultiSelectComponent<T>\n extends AbstractTuiMultipleControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ContentChild(AbstractTuiNativeMultiSelect, {static: true})\n private readonly nativeSelect?: AbstractTuiNativeMultiSelect<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiInputTagComponent)\n private readonly input?: TuiInputTagComponent;\n\n @Input()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n expandable: TuiMultiSelectOptions<T>['expandable'] = this.options.expandable;\n\n @Input()\n search: string | null = '';\n\n @Input()\n placeholder = '';\n\n @Input()\n @HostBinding('class._editable')\n editable = true;\n\n @Input()\n disabledItemHandler: TuiItemsHandlers<T>['disabledItemHandler'] =\n this.itemsHandlers.disabledItemHandler;\n\n @Input()\n valueContent: TuiMultiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n @Input()\n tagValidator: TuiBooleanHandler<T> = ALWAYS_TRUE_HANDLER;\n\n @Input()\n rows = Infinity;\n\n @Output()\n readonly searchChange = new EventEmitter<string | null>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent<\n TuiContextWithImplicit<TuiActiveZoneDirective>\n >;\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_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n @Inject(TUI_MULTI_SELECT_OPTIONS)\n private readonly options: TuiMultiSelectOptions<T>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_IS_MOBILE)\n readonly isMobile: boolean,\n ) {\n super(control, cdr);\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return this.interactive ? this.arrowMode.interactive : this.arrowMode.disabled;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input?.nativeFocusableElement ?? null;\n }\n\n get focused(): boolean {\n return !!this.input?.focused || !!this.hostedDropdown?.focused;\n }\n\n get nativeDropdownMode(): boolean {\n return !!this.nativeSelect && this.isMobile && !this.editable;\n }\n\n get computedValue(): readonly T[] {\n return this.computedGroup ? EMPTY_ARRAY : this.value;\n }\n\n // @bad TODO: think of a better way\n get searchOrSpace(): string {\n return this.computedGroup ? ' ' : this.searchString;\n }\n\n get searchString(): string {\n return this.search === null ? '' : this.search;\n }\n\n get computedGroup(): boolean {\n return (\n !!this.valueContent &&\n this.value.length > 0 &&\n (!this.focused || !this.editable)\n );\n }\n\n @tuiPure\n getStringifier(\n stringify: TuiStringHandler<T>,\n ): TuiStringHandler<TuiContextWithImplicit<T>> {\n return ({$implicit}) => stringify($implicit);\n }\n\n readonly valueMapper: TuiTypedMapper<\n [readonly T[], TuiStringHandler<T>, boolean?],\n ReadonlyArray<TuiStringifiableItem<T>>\n > = (value, stringify, group) =>\n group\n ? EMPTY_ARRAY\n : value.map(item => new TuiStringifiableItem(item, stringify));\n\n readonly disabledItemHandlerWrapper: TuiTypedMapper<\n [TuiBooleanHandler<T>],\n TuiBooleanHandler<TuiStringifiableItem<T> | string>\n > = handler => stringifiable =>\n tuiIsString(stringifiable) || handler(stringifiable.item);\n\n onSpace(event: Event): void {\n if (!this.editable) {\n event.preventDefault();\n }\n\n if (!this.readOnly) {\n this.hostedDropdown?.updateOpen(true);\n }\n }\n\n handleOption(option: T): void {\n const {value, identityMatcher} = this;\n const index = value.findIndex(item => identityMatcher(item, option));\n\n this.value =\n index === -1 ? [...value, option] : value.filter((_, i) => i !== index);\n this.updateSearch(null);\n }\n\n onEnter(event: Event): void {\n const {value} = this;\n const options = this.accessor ? this.accessor.getOptions() : [];\n\n if (options.length !== 1) {\n return;\n }\n\n event.preventDefault();\n this.value = tuiArrayToggle(value, options[0]);\n this.updateSearch(null);\n }\n\n onClick({nativeFocusableElement}: TuiInputTagComponent): void {\n if (\n this.interactive &&\n nativeFocusableElement &&\n tuiIsNativeFocused(nativeFocusableElement)\n ) {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n }\n\n onInput(value: ReadonlyArray<TuiStringifiableItem<T>>): void {\n this.value = value.map(({item}) => item);\n }\n\n onValueChange(value: readonly T[]): void {\n this.value = value;\n }\n\n onSearch(search: string | null): void {\n // Clearing sets the empty value, the dropdown should not be opened on clear.\n if (search !== '') {\n this.hostedDropdown?.updateOpen(true);\n }\n\n this.updateSearch(search);\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n override setDisabledState(): void {\n super.setDisabledState();\n this.hostedDropdown?.updateOpen(false);\n }\n\n private updateSearch(search: string | null): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive && !nativeDropdownMode\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-tag\n #inputTag\n automation-id=\"tui-multi-select__input\"\n class=\"t-input\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [editable]=\"false\"\n [expandable]=\"expandable\"\n [inputHidden]=\"!editable\"\n [nativeId]=\"nativeId\"\n [ngModel]=\"computedValue | tuiMapper: valueMapper : stringify\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [removable]=\"!nativeDropdownMode\"\n [rows]=\"rows\"\n [search]=\"searchOrSpace\"\n [tagValidator]=\"tagValidator | tuiMapper: disabledItemHandlerWrapper\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n (click.prevent)=\"onClick(inputTag)\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.space)=\"onSpace($event)\"\n (ngModelChange)=\"onInput($event)\"\n (searchChange)=\"onSearch($event)\"\n >\n <ng-content></ng-content>\n <ng-template #select>\n <ng-content\n *ngIf=\"isMobile\"\n select=\"select\"\n ></ng-content>\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n ></ng-container>\n\n <div\n *ngIf=\"computedGroup\"\n ngProjectAs=\"tuiContent\"\n class=\"t-content\"\n [class.t-content_fullsize]=\"inputTag.labelOutside\"\n >\n <span\n *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </span>\n </div>\n </tui-input-tag>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n automation-id=\"tui-multi-select__arrow\"\n tuiPreventDefault=\"mousedown\"\n tuiWrapper\n class=\"t-arrow\"\n [class.t-arrow_native-dropdown]=\"nativeDropdownMode\"\n >\n <ng-container *polymorpheusOutlet=\"arrow as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiIdentityMatcher, tuiPure} from '@taiga-ui/cdk';\nimport {tuiIsFlat} from '@taiga-ui/kit/utils';\n\nimport {TuiMultiSelectComponent} from './multi-select.component';\n\n@Pipe({\n name: `tuiHideSelected`,\n pure: false,\n})\nexport class TuiHideSelectedPipe implements PipeTransform {\n constructor(\n @Inject(TuiMultiSelectComponent)\n private readonly component: TuiMultiSelectComponent<any>,\n ) {}\n\n transform<T>(items: readonly T[] | null): readonly T[] | null;\n transform<T>(\n items: ReadonlyArray<readonly T[]> | null,\n ): ReadonlyArray<readonly T[]> | null;\n transform<T>(\n items: ReadonlyArray<readonly T[]> | readonly T[] | null,\n ): ReadonlyArray<readonly T[]> | readonly T[] | null {\n const {value, identityMatcher} = this.component;\n\n if (!items) {\n return null;\n }\n\n return tuiIsFlat(items)\n ? this.filter(items, value, identityMatcher)\n : this.filter2d(items, value, identityMatcher);\n }\n\n @tuiPure\n private filter2d<T>(\n items: ReadonlyArray<readonly T[]>,\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): ReadonlyArray<readonly T[]> {\n return items.map(subItems => this.filter(subItems, value, matcher));\n }\n\n @tuiPure\n private filter<T>(\n items: readonly T[],\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): readonly T[] {\n return items.filter(item => value.every(selected => !matcher(selected, item)));\n }\n}\n","import {Directive} from '@angular/core';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\nimport {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\n\nimport type {TuiMultiSelectComponent} from './multi-select.component';\n\n@Directive({\n selector: 'tui-multi-select',\n providers: [tuiAsTextfieldHost(TuiMultiSelectDirective)],\n})\nexport class TuiMultiSelectDirective<T = string> extends AbstractTuiTextfieldHost<\n TuiMultiSelectComponent<T>\n> {\n override get readOnly(): boolean {\n return true;\n }\n\n disableItemHandler: TuiBooleanHandler<T> = item =>\n this.host.disabledItemHandler(item);\n\n onValueChange(): void {}\n\n get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n onSelectionChange(value: T[]): void {\n this.host.onValueChange(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n HostBinding,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n EMPTY_QUERY,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiControlValue,\n tuiGetOriginalArrayFromQueryList,\n TuiIdentityMatcher,\n TuiInjectionTokenType,\n tuiIsPresent,\n tuiPure,\n tuiQueryListChanges,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_HOST,\n TuiDataListHost,\n TuiOptionComponent,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {TUI_MULTI_SELECT_TEXTS} from '@taiga-ui/kit/tokens';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-opt-group[tuiMultiSelectGroup]',\n templateUrl: './multi-select-group.template.html',\n styleUrls: ['./multi-select-group.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiMultiSelectGroupComponent<T> {\n @ContentChildren(TuiOptionComponent)\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n @HostBinding('class._label')\n @Input()\n label = '';\n\n constructor(\n @Inject(TUI_MULTI_SELECT_TEXTS)\n readonly multiSelectTexts$: TuiInjectionTokenType<typeof TUI_MULTI_SELECT_TEXTS>,\n @Inject(TUI_DATA_LIST_HOST) private readonly host: TuiDataListHost<T>,\n @Inject(NgControl) private readonly control: NgControl,\n ) {}\n\n get size(): TuiSizeL | TuiSizeXS {\n return this.options.first?.size || 'm';\n }\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return tuiQueryListChanges(this.options).pipe(map(({length}) => !length));\n }\n\n @tuiPure\n get disabled$(): Observable<boolean> {\n return tuiQueryListChanges(this.options).pipe(\n map(items => items.every(({disabled}) => disabled)),\n );\n }\n\n @tuiPure\n get value$(): Observable<boolean | null> {\n return combineLatest([this.items$, this.valueChanges$]).pipe(\n map(([items, current]) => {\n let result = false;\n\n for (let i = 0; i < items.length; i++) {\n const selected = current.some(selected =>\n this.matcher(selected, items[i]),\n );\n\n if ((!selected && result) || (selected && !result && i)) {\n return null;\n }\n\n result = selected;\n }\n\n return result;\n }),\n );\n }\n\n onClick(checked: boolean | null): void {\n if (!this.control.control) {\n return;\n }\n\n const controlValue: readonly T[] = this.control.value || [];\n const {values} = this;\n const filtered = controlValue.filter(current =>\n values.every(item => !this.matcher(current, item)),\n );\n\n this.control.control.setValue(checked ? filtered : [...filtered, ...values]);\n }\n\n private get values(): readonly T[] {\n return this.filter(tuiGetOriginalArrayFromQueryList(this.options));\n }\n\n private get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n @tuiPure\n private get items$(): Observable<readonly T[]> {\n return tuiQueryListChanges(this.options).pipe(\n map(options => options.map(({value}) => value).filter(tuiIsPresent)),\n );\n }\n\n @tuiPure\n private get valueChanges$(): Observable<readonly T[]> {\n return tuiControlValue<readonly T[]>(this.control).pipe(\n map(value => value || []),\n );\n }\n\n @tuiPure\n private filter(items: ReadonlyArray<TuiOptionComponent<T>>): readonly T[] {\n return items.map(({value}) => value).filter(tuiIsPresent);\n }\n}\n","<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content></ng-content>\n","import {Directive, forwardRef, Optional} from '@angular/core';\nimport {NG_VALUE_ACCESSOR, NgControl} from '@angular/forms';\nimport {EMPTY_FUNCTION, tuiArrayToggle} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, tuiAsOptionContent, TuiDataListHost} from '@taiga-ui/core';\nimport {TuiMultiSelectOptionComponent} from '@taiga-ui/kit/components/multi-select-option';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiMultiSelectComponent} from '../multi-select.component';\n\nexport const TUI_MULTI_SELECT_OPTION = new PolymorpheusComponent(\n TuiMultiSelectOptionComponent,\n);\n\n@Directive({\n selector: '[tuiMultiSelectGroup]',\n providers: [\n tuiAsOptionContent(TUI_MULTI_SELECT_OPTION),\n {\n provide: TUI_DATA_LIST_HOST,\n deps: [\n NgControl,\n [new Optional(), forwardRef(() => TuiMultiSelectComponent)],\n ],\n useFactory: <T>(\n control: NgControl,\n host: TuiDataListHost<T> | null,\n ): TuiDataListHost<T> =>\n host || {\n handleOption: option =>\n control.control?.setValue(\n tuiArrayToggle(control.value || [], option),\n ),\n },\n },\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useValue: {\n writeValue: EMPTY_FUNCTION,\n registerOnChange: EMPTY_FUNCTION,\n registerOnTouched: EMPTY_FUNCTION,\n },\n },\n ],\n})\nexport class TuiMultiSelectGroupDirective {}\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiAsDataList} from '@taiga-ui/core';\n\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select';\n\n@Component({\n selector: 'select[multiple][tuiSelect]:not([labels])',\n templateUrl: './native-multi-select.template.html',\n styleUrls: ['./native-multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeMultiSelectComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeMultiSelectComponent],\n useFactory: ({datalist}: TuiNativeMultiSelectComponent<unknown>) => datalist,\n },\n {\n provide: AbstractTuiNativeMultiSelect,\n useExisting: TuiNativeMultiSelectComponent,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '(change)': 'onValueChange($event.target.selectedOptions)',\n '(click.stop.silent)': '0',\n '(mousedown.stop.silent)': '0',\n },\n})\nexport class TuiNativeMultiSelectComponent<T> extends AbstractTuiNativeMultiSelect<T> {\n @Input()\n items: readonly T[] | null = [];\n\n onValueChange(selectedOptions: HTMLSelectElement['selectedOptions']): void {\n const selected = Array.from(selectedOptions).map(option => option.index);\n const value = this.items?.filter((_, index) => selected.includes(index)) || [];\n\n this.host.onSelectionChange(value);\n }\n}\n","<ng-container *ngIf=\"control.control?.valueChanges | async\"></ng-container>\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n></tui-data-list-wrapper>\n<option\n *ngFor=\"let option of items\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n>\n {{ stringify(option) }}\n</option>\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiAsDataList} from '@taiga-ui/core';\n\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select';\n\n@Component({\n selector: 'select[multiple][tuiSelect][labels]',\n templateUrl: './native-multi-select-group.template.html',\n styleUrls: ['./native-multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeMultiSelectGroupComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeMultiSelectGroupComponent],\n useFactory: ({datalist}: TuiNativeMultiSelectGroupComponent<unknown>) =>\n datalist,\n },\n {\n provide: AbstractTuiNativeMultiSelect,\n useExisting: TuiNativeMultiSelectGroupComponent,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '(change)': 'onValueChange($event.target.selectedOptions)',\n '(click.stop.silent)': '0',\n '(mousedown.stop.silent)': '0',\n },\n})\nexport class TuiNativeMultiSelectGroupComponent<\n T,\n> extends AbstractTuiNativeMultiSelect<T> {\n @Input()\n items: readonly T[][] | null = [];\n\n @Input()\n labels: readonly string[] = [];\n\n onValueChange(selectedOptions: HTMLSelectElement['selectedOptions']): void {\n const selected = Array.from(selectedOptions).map(option => option.index);\n const flatItems = this.items?.reduce((acc, val) => acc.concat(val), []) || [];\n const value = flatItems.filter((_, index) => selected.includes(index));\n\n this.host.onSelectionChange(value);\n }\n}\n","<ng-container *ngIf=\"control.control?.valueChanges | async\"></ng-container>\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n></tui-data-list-wrapper>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n</optgroup>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {\n TuiActiveZoneModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiDataListModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiDataListWrapperModule} from '@taiga-ui/kit/components/data-list-wrapper';\nimport {TuiInputTagModule} from '@taiga-ui/kit/components/input-tag';\nimport {TuiMultiSelectOptionModule} from '@taiga-ui/kit/components/multi-select-option';\nimport {TuiStringifyContentPipeModule} from '@taiga-ui/kit/pipes/stringify-content';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHideSelectedPipe} from './hide-selected.pipe';\nimport {TuiMultiSelectComponent} from './multi-select.component';\nimport {TuiMultiSelectDirective} from './multi-select.directive';\nimport {TuiMultiSelectGroupComponent} from './multi-select-group/multi-select-group.component';\nimport {TuiMultiSelectGroupDirective} from './multi-select-group/multi-select-group.directive';\nimport {TuiNativeMultiSelectComponent} from './native-multi-select/native-multi-select.component';\nimport {TuiNativeMultiSelectGroupComponent} from './native-multi-select/native-multi-select-group.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiWrapperModule,\n TuiPreventDefaultModule,\n TuiActiveZoneModule,\n TuiArrowModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiSvgModule,\n TuiHostedDropdownModule,\n TuiInputTagModule,\n TuiMultiSelectOptionModule,\n TuiDataListWrapperModule,\n TuiMapperPipeModule,\n TuiLinkModule,\n TuiDataListModule,\n TuiTextfieldControllerModule,\n TuiStringifyContentPipeModule,\n ],\n declarations: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n TuiNativeMultiSelectComponent,\n TuiNativeMultiSelectGroupComponent,\n TuiMultiSelectDirective,\n ],\n exports: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n TuiMultiSelectDirective,\n TuiNativeMultiSelectComponent,\n TuiNativeMultiSelectGroupComponent,\n ],\n})\nexport class TuiMultiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i5","i2","i3","i1","i4.TuiMultiSelectGroupDirective","i6","i7"],"mappings":"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"}