@taiga-ui/kit 2.84.0 → 2.85.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/bundles/taiga-ui-kit-components-combo-box.umd.js +3 -1
  2. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
  4. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +2 -1
  6. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +1 -1
  8. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  9. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  10. package/esm2015/components/combo-box/combo-box.component.js +4 -2
  11. package/esm2015/components/input-date-time/input-date-time.component.js +3 -2
  12. package/esm5/components/combo-box/combo-box.component.js +4 -2
  13. package/esm5/components/input-date-time/input-date-time.component.js +3 -2
  14. package/fesm2015/taiga-ui-kit-components-combo-box.js +3 -1
  15. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  16. package/fesm2015/taiga-ui-kit-components-input-date-time.js +2 -1
  17. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  18. package/fesm5/taiga-ui-kit-components-combo-box.js +3 -1
  19. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  20. package/fesm5/taiga-ui-kit-components-input-date-time.js +2 -1
  21. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  22. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-combo-box.js","sources":["ng://@taiga-ui/kit/components/combo-box/combo-box.providers.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.component.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.directive.ts","ng://@taiga-ui/kit/components/combo-box/combo-box-strict.directive.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.module.ts","ng://@taiga-ui/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} 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';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n// TODO: 3.0 remove in ivy compilation\nexport const COMBOBOX_OPTION: unknown = TUI_SELECT_OPTION;\n\nexport const TUI_COMBO_BOX_PROVIDERS = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_OPTION_CONTENT,\n useValue: COMBOBOX_OPTION,\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\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 AbstractTuiNullableControl,\n isNativeFocused,\n isPresent,\n setNativeFocused,\n TUI_STRICT_MATCHER,\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_COMBO_BOX_PROVIDERS} from './combo-box.providers';\n\n@Component({\n selector: 'tui-combo-box',\n templateUrl: './combo-box.template.html',\n styleUrls: ['./combo-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_COMBO_BOX_PROVIDERS,\n})\nexport class TuiComboBoxComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n strictMatcher: TuiStringMatcher<T> = TUI_STRICT_MATCHER;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n valueContent: PolymorpheusContent<TuiValueContentContext<T>> = '';\n\n @Input()\n @tuiDefaultProp()\n strict = true;\n\n @Input()\n @tuiDefaultProp()\n search: string | null = null;\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) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get nativeValue(): string {\n return this.value === null ? this.search || '' : this.stringify(this.value);\n }\n\n get showValueTemplate(): boolean {\n return isPresent(this.value) && !this.focused;\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.nativeValue;\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n checkOption(option: T): void {\n if (!this.isStrictMatch(option)) {\n return;\n }\n\n this.updateValue(option);\n this.updateSearch(null);\n }\n\n handleOption(item: T): void {\n this.setNativeValue(this.stringify(item));\n this.focusInput();\n this.close();\n this.updateSearch(null);\n this.updateValue(item);\n }\n\n onFieldKeyDownEnter(event: Event): void {\n if (this.open) {\n event.preventDefault();\n }\n\n const options = this.accessor?.getOptions() || [];\n\n if (options.length !== 1) {\n return;\n }\n\n this.updateValue(options[0]);\n this.updateSearch(null);\n this.close();\n }\n\n onValueChange(value: string): void {\n this.updateSearch(value);\n\n const match = this.accessor?.getOptions().find(item => this.isStrictMatch(item));\n\n if (match !== undefined) {\n this.updateValue(match);\n this.updateSearch(null);\n\n return;\n }\n\n if (this.strict || this.search === '') {\n this.updateValue(null);\n }\n\n this.hostedDropdown?.updateOpen(true);\n }\n\n updateValue(value: T | null): void {\n super.updateValue(value);\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n toggle(): void {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n\n private isStrictMatch(item: T): boolean {\n return this.strictMatcher(item, this.search || '', this.stringify);\n }\n\n private close(): void {\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 private setNativeValue(value: string): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiComboBoxDirective),\n },\n ],\n})\nexport class TuiComboBoxDirective extends TuiAbstractTextfieldHost<\n TuiComboBoxComponent<unknown>\n> {\n get value(): string {\n return this.host.nativeValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {Directive, HostListener, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box[strict]',\n})\nexport class TuiComboBoxStrictDirective<T> {\n @Input()\n @tuiDefaultProp()\n strict = true;\n\n constructor(\n @Inject(TuiComboBoxComponent)\n private readonly comboBox: TuiComboBoxComponent<T | string>,\n ) {}\n\n @HostListener('input')\n onInput(): void {\n if (!this.strict && this.comboBox.search) {\n this.comboBox.updateValue(this.comboBox.search);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\nimport {TuiComboBoxDirective} from './combo-box.directive';\nimport {TuiComboBoxStrictDirective} from './combo-box-strict.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n ],\n declarations: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n ],\n exports: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiComboBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-combo-box.js","sources":["ng://@taiga-ui/kit/components/combo-box/combo-box.providers.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.component.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.directive.ts","ng://@taiga-ui/kit/components/combo-box/combo-box-strict.directive.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.module.ts","ng://@taiga-ui/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} 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';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n// TODO: 3.0 remove in ivy compilation\nexport const COMBOBOX_OPTION: unknown = TUI_SELECT_OPTION;\n\nexport const TUI_COMBO_BOX_PROVIDERS = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_OPTION_CONTENT,\n useValue: COMBOBOX_OPTION,\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\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 AbstractTuiNullableControl,\n isNativeFocused,\n isPresent,\n setNativeFocused,\n TUI_STRICT_MATCHER,\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_COMBO_BOX_PROVIDERS} from './combo-box.providers';\n\n@Component({\n selector: 'tui-combo-box',\n templateUrl: './combo-box.template.html',\n styleUrls: ['./combo-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_COMBO_BOX_PROVIDERS,\n})\nexport class TuiComboBoxComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n strictMatcher: TuiStringMatcher<T> = TUI_STRICT_MATCHER;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n valueContent: PolymorpheusContent<TuiValueContentContext<T>> = '';\n\n @Input()\n @tuiDefaultProp()\n strict = true;\n\n @Input()\n @tuiDefaultProp()\n search: string | null = null;\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) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get nativeValue(): string {\n return this.value === null ? this.search || '' : this.stringify(this.value);\n }\n\n get showValueTemplate(): boolean {\n return isPresent(this.value) && !this.focused;\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.nativeValue;\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n checkOption(option: T): void {\n if (!this.isStrictMatch(option)) {\n return;\n }\n\n this.updateValue(option);\n this.updateSearch(null);\n }\n\n handleOption(item: T): void {\n this.focusInput();\n this.close();\n this.updateSearch(null);\n this.updateValue(item);\n\n if (this.value) {\n this.setNativeValue(this.stringify(item));\n }\n }\n\n onFieldKeyDownEnter(event: Event): void {\n if (this.open) {\n event.preventDefault();\n }\n\n const options = this.accessor?.getOptions() || [];\n\n if (options.length !== 1) {\n return;\n }\n\n this.updateValue(options[0]);\n this.updateSearch(null);\n this.close();\n }\n\n onValueChange(value: string): void {\n this.updateSearch(value);\n\n const match = this.accessor?.getOptions().find(item => this.isStrictMatch(item));\n\n if (match !== undefined) {\n this.updateValue(match);\n this.updateSearch(null);\n\n return;\n }\n\n if (this.strict || this.search === '') {\n this.updateValue(null);\n }\n\n this.hostedDropdown?.updateOpen(true);\n }\n\n updateValue(value: T | null): void {\n super.updateValue(value);\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n toggle(): void {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n\n private isStrictMatch(item: T): boolean {\n return this.strictMatcher(item, this.search || '', this.stringify);\n }\n\n private close(): void {\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 private setNativeValue(value: string): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiComboBoxDirective),\n },\n ],\n})\nexport class TuiComboBoxDirective extends TuiAbstractTextfieldHost<\n TuiComboBoxComponent<unknown>\n> {\n get value(): string {\n return this.host.nativeValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {Directive, HostListener, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box[strict]',\n})\nexport class TuiComboBoxStrictDirective<T> {\n @Input()\n @tuiDefaultProp()\n strict = true;\n\n constructor(\n @Inject(TuiComboBoxComponent)\n private readonly comboBox: TuiComboBoxComponent<T | string>,\n ) {}\n\n @HostListener('input')\n onInput(): void {\n if (!this.strict && this.comboBox.search) {\n this.comboBox.updateValue(this.comboBox.search);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\nimport {TuiComboBoxDirective} from './combo-box.directive';\nimport {TuiComboBoxStrictDirective} from './combo-box-strict.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n ],\n declarations: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n ],\n exports: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiComboBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -167,7 +167,8 @@ let TuiInputDateTimeComponent = class TuiInputDateTimeComponent extends Abstract
167
167
  }
168
168
  writeValue(value) {
169
169
  super.writeValue(value);
170
- this.nativeValue = value && (value[0] || value[1]) ? this.computedValue : '';
170
+ this.nativeValue =
171
+ this.value && (this.value[0] || this.value[1]) ? this.computedValue : '';
171
172
  }
172
173
  getFallbackValue() {
173
174
  return [null, null];
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-date-time.js","sources":["ng://@taiga-ui/kit/components/input-date-time/input-date-time.providers.ts","ng://@taiga-ui/kit/components/input-date-time/input-date-time.component.ts","ng://@taiga-ui/kit/components/input-date-time/input-date-time.directive.ts","ng://@taiga-ui/kit/components/input-date-time/input-date-time.module.ts","ng://@taiga-ui/kit/components/input-date-time/taiga-ui-kit-components-input-date-time.ts"],"sourcesContent":["import {forwardRef, Optional, Self} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiControlValueTransformer,\n TuiDay,\n TuiTime,\n} from '@taiga-ui/cdk';\nimport {LEFT_ALIGNED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {\n TUI_CALENDAR_DATA_STREAM,\n TUI_DATE_TIME_VALUE_TRANSFORMER,\n} from '@taiga-ui/kit/tokens';\nimport {TuiReplayControlValueChangesFactory} from '@taiga-ui/kit/utils/miscellaneous';\nimport {Observable} from 'rxjs';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\n\n// TODO: 3.0 remove in ivy compilation\nexport const TIME_STREAM_FACTORY = <T extends [TuiDay | null, TuiTime | null]>(\n control: NgControl | null,\n valueTransformer: TuiControlValueTransformer<T>,\n): Observable<T | null> | null =>\n TuiReplayControlValueChangesFactory<T>(control, valueTransformer);\n\nexport const TUI_INPUT_DATE_TIME_PROVIDERS = [\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiInputDateTimeComponent),\n },\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputDateTimeComponent),\n },\n {\n provide: TUI_CALENDAR_DATA_STREAM,\n deps: [\n [new Optional(), new Self(), NgControl],\n [new Optional(), forwardRef(() => TUI_DATE_TIME_VALUE_TRANSFORMER)],\n ],\n useFactory: TIME_STREAM_FACTORY,\n },\n LEFT_ALIGNED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n ALWAYS_FALSE_HANDLER,\n changeDateSeparator,\n clamp,\n DATE_FILLER_LENGTH,\n nullableSame,\n TUI_DATE_FORMAT,\n TUI_DATE_SEPARATOR,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiActiveZoneDirective,\n TuiBooleanHandler,\n TuiContextWithImplicit,\n TuiControlValueTransformer,\n TuiDateMode,\n TuiDay,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiMonth,\n tuiPure,\n TuiTime,\n TuiTimeMode,\n} from '@taiga-ui/cdk';\nimport {\n sizeBigger,\n TUI_TEXTFIELD_SIZE,\n TuiPrimitiveTextfieldComponent,\n TuiTextfieldSizeDirective,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {DATE_TIME_SEPARATOR} from '@taiga-ui/kit/constants';\nimport {\n TUI_DATE_TEXTS,\n TUI_DATE_TIME_VALUE_TRANSFORMER,\n TUI_TIME_TEXTS,\n} from '@taiga-ui/kit/tokens';\nimport {\n tuiCreateAutoCorrectedDateTimePipe,\n tuiCreateDateMask,\n tuiCreateTimeMask,\n} from '@taiga-ui/kit/utils/mask';\nimport {TextMaskConfig} from 'angular2-text-mask';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map, pluck} from 'rxjs/operators';\n\nimport {TUI_INPUT_DATE_TIME_PROVIDERS} from './input-date-time.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-input-date-time',\n templateUrl: './input-date-time.template.html',\n styleUrls: ['./input-date-time.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_INPUT_DATE_TIME_PROVIDERS,\n})\nexport class TuiInputDateTimeComponent\n extends AbstractTuiControl<[TuiDay | null, TuiTime | null]>\n implements\n TuiWithOptionalMinMax<TuiDay | [TuiDay, TuiTime]>,\n TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private month: TuiMonth | null = null;\n\n @Input()\n @tuiDefaultProp()\n min: TuiDay | [TuiDay, TuiTime] = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max: TuiDay | [TuiDay, TuiTime] = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n defaultActiveYearMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n timeMode: TuiTimeMode = 'HH:MM';\n\n open = false;\n\n readonly type!: TuiContextWithImplicit<TuiActiveZoneDirective>;\n\n readonly filler$: Observable<string> = combineLatest([\n this.dateTexts$.pipe(\n map(dateTexts =>\n changeDateSeparator(dateTexts[this.dateFormat], this.dateSeparator),\n ),\n ),\n this.timeTexts$.pipe(pluck(this.timeMode)),\n ]).pipe(map(fillers => this.getDateTimeString(...fillers)));\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n @Inject(TUI_DATE_FORMAT) readonly dateFormat: TuiDateMode,\n @Inject(TUI_DATE_SEPARATOR) readonly dateSeparator: string,\n @Inject(TUI_TIME_TEXTS)\n readonly timeTexts$: Observable<Record<TuiTimeMode, string>>,\n @Inject(TUI_DATE_TEXTS)\n readonly dateTexts$: Observable<Record<TuiDateMode, string>>,\n @Optional()\n @Inject(TUI_DATE_TIME_VALUE_TRANSFORMER)\n readonly valueTransformer: TuiControlValueTransformer<\n [TuiDay | null, TuiTime | null]\n > | null,\n ) {\n super(control, changeDetectorRef, valueTransformer);\n }\n\n get fillerLength(): number {\n return DATE_FILLER_LENGTH + DATE_TIME_SEPARATOR.length + this.timeMode.length;\n }\n\n get textMaskOptions(): TextMaskConfig {\n return this.calculateMask(\n this.value[0],\n this.calendarMinDay,\n this.calendarMaxDay,\n this.timeMode,\n this.dateFormat,\n this.dateSeparator,\n ) as unknown as TextMaskConfig;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.textfield && this.textfield.focused;\n }\n\n get calendarIcon(): string {\n return sizeBigger(this.textfieldSize.size)\n ? 'tuiIconCalendarLarge'\n : 'tuiIconCalendar';\n }\n\n get computedValue(): string {\n const {value, nativeValue, timeMode} = this;\n const [date, time] = value;\n const hasTimeInputChars = nativeValue.length > DATE_FILLER_LENGTH;\n\n if (!date || (!time && hasTimeInputChars)) {\n return nativeValue;\n }\n\n return this.getDateTimeString(date, time, timeMode);\n }\n\n get calendarValue(): TuiDay | null {\n return this.value[0];\n }\n\n get calendarMinDay(): TuiDay {\n return Array.isArray(this.min) ? this.min[0] : this.min;\n }\n\n get calendarMaxDay(): TuiDay {\n return Array.isArray(this.max) ? this.max[0] : this.max;\n }\n\n get computedActiveYearMonth(): TuiMonth {\n return this.month || this.value[0] || this.defaultActiveYearMonth;\n }\n\n get nativeValue(): string {\n return this.nativeFocusableElement ? 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 @HostListener('click')\n onClick(): void {\n this.open = !this.open;\n }\n\n onValueChange(value: string): void {\n if (!value) {\n this.onOpenChange(true);\n }\n\n if (value.length < DATE_FILLER_LENGTH) {\n this.updateValue([null, null]);\n\n return;\n }\n\n const [date, time] = value.split(DATE_TIME_SEPARATOR);\n\n const parsedDate = TuiDay.normalizeParse(date, this.dateFormat);\n const parsedTime =\n time && time.length === this.timeMode.length\n ? this.clampTime(TuiTime.fromString(time), parsedDate)\n : null;\n\n this.open = false;\n this.updateValue([parsedDate, parsedTime]);\n }\n\n onDayClick(day: TuiDay): void {\n const modifiedTime = this.value[1] && this.clampTime(this.value[1], day);\n\n this.updateValue([day, modifiedTime]);\n this.updateNativeValue(day);\n this.open = false;\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onMonthChange(month: TuiMonth): void {\n this.month = month;\n }\n\n onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n focused ||\n this.value[0] === null ||\n this.value[1] !== null ||\n this.nativeValue.length <= this.fillerLength + DATE_TIME_SEPARATOR.length ||\n this.timeMode === 'HH:MM'\n ) {\n return;\n }\n\n const [, time] = this.nativeValue.split(DATE_TIME_SEPARATOR);\n\n if (!time) {\n return;\n }\n\n const parsedTime = TuiTime.fromString(time);\n\n this.updateValue([this.value[0], parsedTime]);\n\n setTimeout(() => {\n if (this.nativeValue.endsWith('.') || this.nativeValue.endsWith(':')) {\n this.nativeValue = this.nativeValue.slice(0, -1);\n }\n });\n }\n\n setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n writeValue(value: [TuiDay | null, TuiTime | null] | null): void {\n super.writeValue(value);\n\n this.nativeValue = value && (value[0] || value[1]) ? this.computedValue : '';\n }\n\n protected getFallbackValue(): [TuiDay | null, TuiTime | null] {\n return [null, null];\n }\n\n protected valueIdenticalComparator(\n oldValue: [TuiDay | null, TuiTime | null],\n newValue: [TuiDay | null, TuiTime | null],\n ): boolean {\n return (\n nullableSame(oldValue[0], newValue[0], (a, b) => a.daySame(b)) &&\n nullableSame(oldValue[1], newValue[1], (a, b) => String(a) === String(b))\n );\n }\n\n @tuiPure\n private calculateMask(\n day: TuiDay | null,\n min: TuiDay,\n max: TuiDay,\n timeMode: TuiTimeMode,\n dateFormat: TuiDateMode,\n dateSeparator: string,\n ): TuiTextMaskOptions {\n return {\n mask: [\n ...tuiCreateDateMask(dateFormat, dateSeparator),\n ',',\n ' ',\n ...tuiCreateTimeMask(timeMode),\n ],\n pipe: tuiCreateAutoCorrectedDateTimePipe({\n value: day,\n min,\n max,\n dateFormat,\n dateSeparator,\n timeMode,\n }),\n guide: false,\n };\n }\n\n @tuiPure\n private getDateTimeString(\n date: TuiDay | string,\n time: TuiTime | string | null,\n timeMode: TuiTimeMode = 'HH:MM',\n ): string {\n const dateString =\n date instanceof TuiDay\n ? date.toString(this.dateFormat, this.dateSeparator)\n : date;\n const timeString = time instanceof TuiTime ? time.toString(timeMode) : time || '';\n\n return `${dateString}${DATE_TIME_SEPARATOR}${timeString}`;\n }\n\n private updateNativeValue(day: TuiDay): void {\n const time = this.nativeValue.split(DATE_TIME_SEPARATOR)[1] || '';\n\n this.nativeValue = this.getDateTimeString(day, time);\n }\n\n private clampTime(time: TuiTime, day: TuiDay): TuiTime {\n const ms = time.toAbsoluteMilliseconds();\n const min =\n Array.isArray(this.min) && day.daySame(this.calendarMinDay)\n ? this.min[1].toAbsoluteMilliseconds()\n : -Infinity;\n const max =\n Array.isArray(this.max) && day.daySame(this.calendarMaxDay)\n ? this.max[1].toAbsoluteMilliseconds()\n : Infinity;\n\n return TuiTime.fromAbsoluteMilliseconds(clamp(ms, min, max));\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\n\n@Directive({\n selector: 'tui-input-date-time',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiInputDateTimeDirective),\n },\n ],\n})\nexport class TuiInputDateTimeDirective extends TuiAbstractTextfieldHost<TuiInputDateTimeComponent> {\n get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {\n TuiCalendarModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\nimport {TuiInputDateTimeDirective} from './input-date-time.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TextMaskModule,\n PolymorpheusModule,\n TuiPreventDefaultModule,\n TuiCalendarModule,\n TuiSvgModule,\n TuiLinkModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiValueAccessorModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [TuiInputDateTimeComponent, TuiInputDateTimeDirective],\n exports: [\n TuiInputDateTimeComponent,\n TuiInputDateTimeDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiInputDateTimeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-input-date-time.js","sources":["ng://@taiga-ui/kit/components/input-date-time/input-date-time.providers.ts","ng://@taiga-ui/kit/components/input-date-time/input-date-time.component.ts","ng://@taiga-ui/kit/components/input-date-time/input-date-time.directive.ts","ng://@taiga-ui/kit/components/input-date-time/input-date-time.module.ts","ng://@taiga-ui/kit/components/input-date-time/taiga-ui-kit-components-input-date-time.ts"],"sourcesContent":["import {forwardRef, Optional, Self} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiControlValueTransformer,\n TuiDay,\n TuiTime,\n} from '@taiga-ui/cdk';\nimport {LEFT_ALIGNED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {\n TUI_CALENDAR_DATA_STREAM,\n TUI_DATE_TIME_VALUE_TRANSFORMER,\n} from '@taiga-ui/kit/tokens';\nimport {TuiReplayControlValueChangesFactory} from '@taiga-ui/kit/utils/miscellaneous';\nimport {Observable} from 'rxjs';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\n\n// TODO: 3.0 remove in ivy compilation\nexport const TIME_STREAM_FACTORY = <T extends [TuiDay | null, TuiTime | null]>(\n control: NgControl | null,\n valueTransformer: TuiControlValueTransformer<T>,\n): Observable<T | null> | null =>\n TuiReplayControlValueChangesFactory<T>(control, valueTransformer);\n\nexport const TUI_INPUT_DATE_TIME_PROVIDERS = [\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiInputDateTimeComponent),\n },\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputDateTimeComponent),\n },\n {\n provide: TUI_CALENDAR_DATA_STREAM,\n deps: [\n [new Optional(), new Self(), NgControl],\n [new Optional(), forwardRef(() => TUI_DATE_TIME_VALUE_TRANSFORMER)],\n ],\n useFactory: TIME_STREAM_FACTORY,\n },\n LEFT_ALIGNED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n ALWAYS_FALSE_HANDLER,\n changeDateSeparator,\n clamp,\n DATE_FILLER_LENGTH,\n nullableSame,\n TUI_DATE_FORMAT,\n TUI_DATE_SEPARATOR,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiActiveZoneDirective,\n TuiBooleanHandler,\n TuiContextWithImplicit,\n TuiControlValueTransformer,\n TuiDateMode,\n TuiDay,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiMonth,\n tuiPure,\n TuiTime,\n TuiTimeMode,\n} from '@taiga-ui/cdk';\nimport {\n sizeBigger,\n TUI_TEXTFIELD_SIZE,\n TuiPrimitiveTextfieldComponent,\n TuiTextfieldSizeDirective,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {DATE_TIME_SEPARATOR} from '@taiga-ui/kit/constants';\nimport {\n TUI_DATE_TEXTS,\n TUI_DATE_TIME_VALUE_TRANSFORMER,\n TUI_TIME_TEXTS,\n} from '@taiga-ui/kit/tokens';\nimport {\n tuiCreateAutoCorrectedDateTimePipe,\n tuiCreateDateMask,\n tuiCreateTimeMask,\n} from '@taiga-ui/kit/utils/mask';\nimport {TextMaskConfig} from 'angular2-text-mask';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map, pluck} from 'rxjs/operators';\n\nimport {TUI_INPUT_DATE_TIME_PROVIDERS} from './input-date-time.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-input-date-time',\n templateUrl: './input-date-time.template.html',\n styleUrls: ['./input-date-time.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_INPUT_DATE_TIME_PROVIDERS,\n})\nexport class TuiInputDateTimeComponent\n extends AbstractTuiControl<[TuiDay | null, TuiTime | null]>\n implements\n TuiWithOptionalMinMax<TuiDay | [TuiDay, TuiTime]>,\n TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private month: TuiMonth | null = null;\n\n @Input()\n @tuiDefaultProp()\n min: TuiDay | [TuiDay, TuiTime] = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max: TuiDay | [TuiDay, TuiTime] = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n defaultActiveYearMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n timeMode: TuiTimeMode = 'HH:MM';\n\n open = false;\n\n readonly type!: TuiContextWithImplicit<TuiActiveZoneDirective>;\n\n readonly filler$: Observable<string> = combineLatest([\n this.dateTexts$.pipe(\n map(dateTexts =>\n changeDateSeparator(dateTexts[this.dateFormat], this.dateSeparator),\n ),\n ),\n this.timeTexts$.pipe(pluck(this.timeMode)),\n ]).pipe(map(fillers => this.getDateTimeString(...fillers)));\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n @Inject(TUI_DATE_FORMAT) readonly dateFormat: TuiDateMode,\n @Inject(TUI_DATE_SEPARATOR) readonly dateSeparator: string,\n @Inject(TUI_TIME_TEXTS)\n readonly timeTexts$: Observable<Record<TuiTimeMode, string>>,\n @Inject(TUI_DATE_TEXTS)\n readonly dateTexts$: Observable<Record<TuiDateMode, string>>,\n @Optional()\n @Inject(TUI_DATE_TIME_VALUE_TRANSFORMER)\n readonly valueTransformer: TuiControlValueTransformer<\n [TuiDay | null, TuiTime | null]\n > | null,\n ) {\n super(control, changeDetectorRef, valueTransformer);\n }\n\n get fillerLength(): number {\n return DATE_FILLER_LENGTH + DATE_TIME_SEPARATOR.length + this.timeMode.length;\n }\n\n get textMaskOptions(): TextMaskConfig {\n return this.calculateMask(\n this.value[0],\n this.calendarMinDay,\n this.calendarMaxDay,\n this.timeMode,\n this.dateFormat,\n this.dateSeparator,\n ) as unknown as TextMaskConfig;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.textfield && this.textfield.focused;\n }\n\n get calendarIcon(): string {\n return sizeBigger(this.textfieldSize.size)\n ? 'tuiIconCalendarLarge'\n : 'tuiIconCalendar';\n }\n\n get computedValue(): string {\n const {value, nativeValue, timeMode} = this;\n const [date, time] = value;\n const hasTimeInputChars = nativeValue.length > DATE_FILLER_LENGTH;\n\n if (!date || (!time && hasTimeInputChars)) {\n return nativeValue;\n }\n\n return this.getDateTimeString(date, time, timeMode);\n }\n\n get calendarValue(): TuiDay | null {\n return this.value[0];\n }\n\n get calendarMinDay(): TuiDay {\n return Array.isArray(this.min) ? this.min[0] : this.min;\n }\n\n get calendarMaxDay(): TuiDay {\n return Array.isArray(this.max) ? this.max[0] : this.max;\n }\n\n get computedActiveYearMonth(): TuiMonth {\n return this.month || this.value[0] || this.defaultActiveYearMonth;\n }\n\n get nativeValue(): string {\n return this.nativeFocusableElement ? 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 @HostListener('click')\n onClick(): void {\n this.open = !this.open;\n }\n\n onValueChange(value: string): void {\n if (!value) {\n this.onOpenChange(true);\n }\n\n if (value.length < DATE_FILLER_LENGTH) {\n this.updateValue([null, null]);\n\n return;\n }\n\n const [date, time] = value.split(DATE_TIME_SEPARATOR);\n\n const parsedDate = TuiDay.normalizeParse(date, this.dateFormat);\n const parsedTime =\n time && time.length === this.timeMode.length\n ? this.clampTime(TuiTime.fromString(time), parsedDate)\n : null;\n\n this.open = false;\n this.updateValue([parsedDate, parsedTime]);\n }\n\n onDayClick(day: TuiDay): void {\n const modifiedTime = this.value[1] && this.clampTime(this.value[1], day);\n\n this.updateValue([day, modifiedTime]);\n this.updateNativeValue(day);\n this.open = false;\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onMonthChange(month: TuiMonth): void {\n this.month = month;\n }\n\n onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n focused ||\n this.value[0] === null ||\n this.value[1] !== null ||\n this.nativeValue.length <= this.fillerLength + DATE_TIME_SEPARATOR.length ||\n this.timeMode === 'HH:MM'\n ) {\n return;\n }\n\n const [, time] = this.nativeValue.split(DATE_TIME_SEPARATOR);\n\n if (!time) {\n return;\n }\n\n const parsedTime = TuiTime.fromString(time);\n\n this.updateValue([this.value[0], parsedTime]);\n\n setTimeout(() => {\n if (this.nativeValue.endsWith('.') || this.nativeValue.endsWith(':')) {\n this.nativeValue = this.nativeValue.slice(0, -1);\n }\n });\n }\n\n setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n writeValue(value: [TuiDay | null, TuiTime | null] | null): void {\n super.writeValue(value);\n\n this.nativeValue =\n this.value && (this.value[0] || this.value[1]) ? this.computedValue : '';\n }\n\n protected getFallbackValue(): [TuiDay | null, TuiTime | null] {\n return [null, null];\n }\n\n protected valueIdenticalComparator(\n oldValue: [TuiDay | null, TuiTime | null],\n newValue: [TuiDay | null, TuiTime | null],\n ): boolean {\n return (\n nullableSame(oldValue[0], newValue[0], (a, b) => a.daySame(b)) &&\n nullableSame(oldValue[1], newValue[1], (a, b) => String(a) === String(b))\n );\n }\n\n @tuiPure\n private calculateMask(\n day: TuiDay | null,\n min: TuiDay,\n max: TuiDay,\n timeMode: TuiTimeMode,\n dateFormat: TuiDateMode,\n dateSeparator: string,\n ): TuiTextMaskOptions {\n return {\n mask: [\n ...tuiCreateDateMask(dateFormat, dateSeparator),\n ',',\n ' ',\n ...tuiCreateTimeMask(timeMode),\n ],\n pipe: tuiCreateAutoCorrectedDateTimePipe({\n value: day,\n min,\n max,\n dateFormat,\n dateSeparator,\n timeMode,\n }),\n guide: false,\n };\n }\n\n @tuiPure\n private getDateTimeString(\n date: TuiDay | string,\n time: TuiTime | string | null,\n timeMode: TuiTimeMode = 'HH:MM',\n ): string {\n const dateString =\n date instanceof TuiDay\n ? date.toString(this.dateFormat, this.dateSeparator)\n : date;\n const timeString = time instanceof TuiTime ? time.toString(timeMode) : time || '';\n\n return `${dateString}${DATE_TIME_SEPARATOR}${timeString}`;\n }\n\n private updateNativeValue(day: TuiDay): void {\n const time = this.nativeValue.split(DATE_TIME_SEPARATOR)[1] || '';\n\n this.nativeValue = this.getDateTimeString(day, time);\n }\n\n private clampTime(time: TuiTime, day: TuiDay): TuiTime {\n const ms = time.toAbsoluteMilliseconds();\n const min =\n Array.isArray(this.min) && day.daySame(this.calendarMinDay)\n ? this.min[1].toAbsoluteMilliseconds()\n : -Infinity;\n const max =\n Array.isArray(this.max) && day.daySame(this.calendarMaxDay)\n ? this.max[1].toAbsoluteMilliseconds()\n : Infinity;\n\n return TuiTime.fromAbsoluteMilliseconds(clamp(ms, min, max));\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\n\n@Directive({\n selector: 'tui-input-date-time',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiInputDateTimeDirective),\n },\n ],\n})\nexport class TuiInputDateTimeDirective extends TuiAbstractTextfieldHost<TuiInputDateTimeComponent> {\n get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {\n TuiCalendarModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\nimport {TuiInputDateTimeDirective} from './input-date-time.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TextMaskModule,\n PolymorpheusModule,\n TuiPreventDefaultModule,\n TuiCalendarModule,\n TuiSvgModule,\n TuiLinkModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiValueAccessorModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [TuiInputDateTimeComponent, TuiInputDateTimeDirective],\n exports: [\n TuiInputDateTimeComponent,\n TuiInputDateTimeDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiInputDateTimeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -103,11 +103,13 @@ var TuiComboBoxComponent = /** @class */ (function (_super) {
103
103
  this.updateSearch(null);
104
104
  };
105
105
  TuiComboBoxComponent.prototype.handleOption = function (item) {
106
- this.setNativeValue(this.stringify(item));
107
106
  this.focusInput();
108
107
  this.close();
109
108
  this.updateSearch(null);
110
109
  this.updateValue(item);
110
+ if (this.value) {
111
+ this.setNativeValue(this.stringify(item));
112
+ }
111
113
  };
112
114
  TuiComboBoxComponent.prototype.onFieldKeyDownEnter = function (event) {
113
115
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-combo-box.js","sources":["ng://@taiga-ui/kit/components/combo-box/combo-box.providers.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.component.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.directive.ts","ng://@taiga-ui/kit/components/combo-box/combo-box-strict.directive.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.module.ts","ng://@taiga-ui/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} 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';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n// TODO: 3.0 remove in ivy compilation\nexport const COMBOBOX_OPTION: unknown = TUI_SELECT_OPTION;\n\nexport const TUI_COMBO_BOX_PROVIDERS = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_OPTION_CONTENT,\n useValue: COMBOBOX_OPTION,\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\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 AbstractTuiNullableControl,\n isNativeFocused,\n isPresent,\n setNativeFocused,\n TUI_STRICT_MATCHER,\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_COMBO_BOX_PROVIDERS} from './combo-box.providers';\n\n@Component({\n selector: 'tui-combo-box',\n templateUrl: './combo-box.template.html',\n styleUrls: ['./combo-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_COMBO_BOX_PROVIDERS,\n})\nexport class TuiComboBoxComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n strictMatcher: TuiStringMatcher<T> = TUI_STRICT_MATCHER;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n valueContent: PolymorpheusContent<TuiValueContentContext<T>> = '';\n\n @Input()\n @tuiDefaultProp()\n strict = true;\n\n @Input()\n @tuiDefaultProp()\n search: string | null = null;\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) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get nativeValue(): string {\n return this.value === null ? this.search || '' : this.stringify(this.value);\n }\n\n get showValueTemplate(): boolean {\n return isPresent(this.value) && !this.focused;\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.nativeValue;\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n checkOption(option: T): void {\n if (!this.isStrictMatch(option)) {\n return;\n }\n\n this.updateValue(option);\n this.updateSearch(null);\n }\n\n handleOption(item: T): void {\n this.setNativeValue(this.stringify(item));\n this.focusInput();\n this.close();\n this.updateSearch(null);\n this.updateValue(item);\n }\n\n onFieldKeyDownEnter(event: Event): void {\n if (this.open) {\n event.preventDefault();\n }\n\n const options = this.accessor?.getOptions() || [];\n\n if (options.length !== 1) {\n return;\n }\n\n this.updateValue(options[0]);\n this.updateSearch(null);\n this.close();\n }\n\n onValueChange(value: string): void {\n this.updateSearch(value);\n\n const match = this.accessor?.getOptions().find(item => this.isStrictMatch(item));\n\n if (match !== undefined) {\n this.updateValue(match);\n this.updateSearch(null);\n\n return;\n }\n\n if (this.strict || this.search === '') {\n this.updateValue(null);\n }\n\n this.hostedDropdown?.updateOpen(true);\n }\n\n updateValue(value: T | null): void {\n super.updateValue(value);\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n toggle(): void {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n\n private isStrictMatch(item: T): boolean {\n return this.strictMatcher(item, this.search || '', this.stringify);\n }\n\n private close(): void {\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 private setNativeValue(value: string): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiComboBoxDirective),\n },\n ],\n})\nexport class TuiComboBoxDirective extends TuiAbstractTextfieldHost<\n TuiComboBoxComponent<unknown>\n> {\n get value(): string {\n return this.host.nativeValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {Directive, HostListener, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box[strict]',\n})\nexport class TuiComboBoxStrictDirective<T> {\n @Input()\n @tuiDefaultProp()\n strict = true;\n\n constructor(\n @Inject(TuiComboBoxComponent)\n private readonly comboBox: TuiComboBoxComponent<T | string>,\n ) {}\n\n @HostListener('input')\n onInput(): void {\n if (!this.strict && this.comboBox.search) {\n this.comboBox.updateValue(this.comboBox.search);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\nimport {TuiComboBoxDirective} from './combo-box.directive';\nimport {TuiComboBoxStrictDirective} from './combo-box-strict.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n ],\n declarations: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n ],\n exports: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiComboBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-combo-box.js","sources":["ng://@taiga-ui/kit/components/combo-box/combo-box.providers.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.component.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.directive.ts","ng://@taiga-ui/kit/components/combo-box/combo-box-strict.directive.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.module.ts","ng://@taiga-ui/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} 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';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n// TODO: 3.0 remove in ivy compilation\nexport const COMBOBOX_OPTION: unknown = TUI_SELECT_OPTION;\n\nexport const TUI_COMBO_BOX_PROVIDERS = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_OPTION_CONTENT,\n useValue: COMBOBOX_OPTION,\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\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 AbstractTuiNullableControl,\n isNativeFocused,\n isPresent,\n setNativeFocused,\n TUI_STRICT_MATCHER,\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_COMBO_BOX_PROVIDERS} from './combo-box.providers';\n\n@Component({\n selector: 'tui-combo-box',\n templateUrl: './combo-box.template.html',\n styleUrls: ['./combo-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_COMBO_BOX_PROVIDERS,\n})\nexport class TuiComboBoxComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n strictMatcher: TuiStringMatcher<T> = TUI_STRICT_MATCHER;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n valueContent: PolymorpheusContent<TuiValueContentContext<T>> = '';\n\n @Input()\n @tuiDefaultProp()\n strict = true;\n\n @Input()\n @tuiDefaultProp()\n search: string | null = null;\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) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get nativeValue(): string {\n return this.value === null ? this.search || '' : this.stringify(this.value);\n }\n\n get showValueTemplate(): boolean {\n return isPresent(this.value) && !this.focused;\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.nativeValue;\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n checkOption(option: T): void {\n if (!this.isStrictMatch(option)) {\n return;\n }\n\n this.updateValue(option);\n this.updateSearch(null);\n }\n\n handleOption(item: T): void {\n this.focusInput();\n this.close();\n this.updateSearch(null);\n this.updateValue(item);\n\n if (this.value) {\n this.setNativeValue(this.stringify(item));\n }\n }\n\n onFieldKeyDownEnter(event: Event): void {\n if (this.open) {\n event.preventDefault();\n }\n\n const options = this.accessor?.getOptions() || [];\n\n if (options.length !== 1) {\n return;\n }\n\n this.updateValue(options[0]);\n this.updateSearch(null);\n this.close();\n }\n\n onValueChange(value: string): void {\n this.updateSearch(value);\n\n const match = this.accessor?.getOptions().find(item => this.isStrictMatch(item));\n\n if (match !== undefined) {\n this.updateValue(match);\n this.updateSearch(null);\n\n return;\n }\n\n if (this.strict || this.search === '') {\n this.updateValue(null);\n }\n\n this.hostedDropdown?.updateOpen(true);\n }\n\n updateValue(value: T | null): void {\n super.updateValue(value);\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n toggle(): void {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n\n private isStrictMatch(item: T): boolean {\n return this.strictMatcher(item, this.search || '', this.stringify);\n }\n\n private close(): void {\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 private setNativeValue(value: string): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiComboBoxDirective),\n },\n ],\n})\nexport class TuiComboBoxDirective extends TuiAbstractTextfieldHost<\n TuiComboBoxComponent<unknown>\n> {\n get value(): string {\n return this.host.nativeValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {Directive, HostListener, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box[strict]',\n})\nexport class TuiComboBoxStrictDirective<T> {\n @Input()\n @tuiDefaultProp()\n strict = true;\n\n constructor(\n @Inject(TuiComboBoxComponent)\n private readonly comboBox: TuiComboBoxComponent<T | string>,\n ) {}\n\n @HostListener('input')\n onInput(): void {\n if (!this.strict && this.comboBox.search) {\n this.comboBox.updateValue(this.comboBox.search);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\nimport {TuiComboBoxDirective} from './combo-box.directive';\nimport {TuiComboBoxStrictDirective} from './combo-box-strict.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n ],\n declarations: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n ],\n exports: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiComboBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -218,7 +218,8 @@ var TuiInputDateTimeComponent = /** @class */ (function (_super) {
218
218
  };
219
219
  TuiInputDateTimeComponent.prototype.writeValue = function (value) {
220
220
  _super.prototype.writeValue.call(this, value);
221
- this.nativeValue = value && (value[0] || value[1]) ? this.computedValue : '';
221
+ this.nativeValue =
222
+ this.value && (this.value[0] || this.value[1]) ? this.computedValue : '';
222
223
  };
223
224
  TuiInputDateTimeComponent.prototype.getFallbackValue = function () {
224
225
  return [null, null];
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-date-time.js","sources":["ng://@taiga-ui/kit/components/input-date-time/input-date-time.providers.ts","ng://@taiga-ui/kit/components/input-date-time/input-date-time.component.ts","ng://@taiga-ui/kit/components/input-date-time/input-date-time.directive.ts","ng://@taiga-ui/kit/components/input-date-time/input-date-time.module.ts","ng://@taiga-ui/kit/components/input-date-time/taiga-ui-kit-components-input-date-time.ts"],"sourcesContent":["import {forwardRef, Optional, Self} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiControlValueTransformer,\n TuiDay,\n TuiTime,\n} from '@taiga-ui/cdk';\nimport {LEFT_ALIGNED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {\n TUI_CALENDAR_DATA_STREAM,\n TUI_DATE_TIME_VALUE_TRANSFORMER,\n} from '@taiga-ui/kit/tokens';\nimport {TuiReplayControlValueChangesFactory} from '@taiga-ui/kit/utils/miscellaneous';\nimport {Observable} from 'rxjs';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\n\n// TODO: 3.0 remove in ivy compilation\nexport const TIME_STREAM_FACTORY = <T extends [TuiDay | null, TuiTime | null]>(\n control: NgControl | null,\n valueTransformer: TuiControlValueTransformer<T>,\n): Observable<T | null> | null =>\n TuiReplayControlValueChangesFactory<T>(control, valueTransformer);\n\nexport const TUI_INPUT_DATE_TIME_PROVIDERS = [\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiInputDateTimeComponent),\n },\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputDateTimeComponent),\n },\n {\n provide: TUI_CALENDAR_DATA_STREAM,\n deps: [\n [new Optional(), new Self(), NgControl],\n [new Optional(), forwardRef(() => TUI_DATE_TIME_VALUE_TRANSFORMER)],\n ],\n useFactory: TIME_STREAM_FACTORY,\n },\n LEFT_ALIGNED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n ALWAYS_FALSE_HANDLER,\n changeDateSeparator,\n clamp,\n DATE_FILLER_LENGTH,\n nullableSame,\n TUI_DATE_FORMAT,\n TUI_DATE_SEPARATOR,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiActiveZoneDirective,\n TuiBooleanHandler,\n TuiContextWithImplicit,\n TuiControlValueTransformer,\n TuiDateMode,\n TuiDay,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiMonth,\n tuiPure,\n TuiTime,\n TuiTimeMode,\n} from '@taiga-ui/cdk';\nimport {\n sizeBigger,\n TUI_TEXTFIELD_SIZE,\n TuiPrimitiveTextfieldComponent,\n TuiTextfieldSizeDirective,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {DATE_TIME_SEPARATOR} from '@taiga-ui/kit/constants';\nimport {\n TUI_DATE_TEXTS,\n TUI_DATE_TIME_VALUE_TRANSFORMER,\n TUI_TIME_TEXTS,\n} from '@taiga-ui/kit/tokens';\nimport {\n tuiCreateAutoCorrectedDateTimePipe,\n tuiCreateDateMask,\n tuiCreateTimeMask,\n} from '@taiga-ui/kit/utils/mask';\nimport {TextMaskConfig} from 'angular2-text-mask';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map, pluck} from 'rxjs/operators';\n\nimport {TUI_INPUT_DATE_TIME_PROVIDERS} from './input-date-time.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-input-date-time',\n templateUrl: './input-date-time.template.html',\n styleUrls: ['./input-date-time.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_INPUT_DATE_TIME_PROVIDERS,\n})\nexport class TuiInputDateTimeComponent\n extends AbstractTuiControl<[TuiDay | null, TuiTime | null]>\n implements\n TuiWithOptionalMinMax<TuiDay | [TuiDay, TuiTime]>,\n TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private month: TuiMonth | null = null;\n\n @Input()\n @tuiDefaultProp()\n min: TuiDay | [TuiDay, TuiTime] = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max: TuiDay | [TuiDay, TuiTime] = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n defaultActiveYearMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n timeMode: TuiTimeMode = 'HH:MM';\n\n open = false;\n\n readonly type!: TuiContextWithImplicit<TuiActiveZoneDirective>;\n\n readonly filler$: Observable<string> = combineLatest([\n this.dateTexts$.pipe(\n map(dateTexts =>\n changeDateSeparator(dateTexts[this.dateFormat], this.dateSeparator),\n ),\n ),\n this.timeTexts$.pipe(pluck(this.timeMode)),\n ]).pipe(map(fillers => this.getDateTimeString(...fillers)));\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n @Inject(TUI_DATE_FORMAT) readonly dateFormat: TuiDateMode,\n @Inject(TUI_DATE_SEPARATOR) readonly dateSeparator: string,\n @Inject(TUI_TIME_TEXTS)\n readonly timeTexts$: Observable<Record<TuiTimeMode, string>>,\n @Inject(TUI_DATE_TEXTS)\n readonly dateTexts$: Observable<Record<TuiDateMode, string>>,\n @Optional()\n @Inject(TUI_DATE_TIME_VALUE_TRANSFORMER)\n readonly valueTransformer: TuiControlValueTransformer<\n [TuiDay | null, TuiTime | null]\n > | null,\n ) {\n super(control, changeDetectorRef, valueTransformer);\n }\n\n get fillerLength(): number {\n return DATE_FILLER_LENGTH + DATE_TIME_SEPARATOR.length + this.timeMode.length;\n }\n\n get textMaskOptions(): TextMaskConfig {\n return this.calculateMask(\n this.value[0],\n this.calendarMinDay,\n this.calendarMaxDay,\n this.timeMode,\n this.dateFormat,\n this.dateSeparator,\n ) as unknown as TextMaskConfig;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.textfield && this.textfield.focused;\n }\n\n get calendarIcon(): string {\n return sizeBigger(this.textfieldSize.size)\n ? 'tuiIconCalendarLarge'\n : 'tuiIconCalendar';\n }\n\n get computedValue(): string {\n const {value, nativeValue, timeMode} = this;\n const [date, time] = value;\n const hasTimeInputChars = nativeValue.length > DATE_FILLER_LENGTH;\n\n if (!date || (!time && hasTimeInputChars)) {\n return nativeValue;\n }\n\n return this.getDateTimeString(date, time, timeMode);\n }\n\n get calendarValue(): TuiDay | null {\n return this.value[0];\n }\n\n get calendarMinDay(): TuiDay {\n return Array.isArray(this.min) ? this.min[0] : this.min;\n }\n\n get calendarMaxDay(): TuiDay {\n return Array.isArray(this.max) ? this.max[0] : this.max;\n }\n\n get computedActiveYearMonth(): TuiMonth {\n return this.month || this.value[0] || this.defaultActiveYearMonth;\n }\n\n get nativeValue(): string {\n return this.nativeFocusableElement ? 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 @HostListener('click')\n onClick(): void {\n this.open = !this.open;\n }\n\n onValueChange(value: string): void {\n if (!value) {\n this.onOpenChange(true);\n }\n\n if (value.length < DATE_FILLER_LENGTH) {\n this.updateValue([null, null]);\n\n return;\n }\n\n const [date, time] = value.split(DATE_TIME_SEPARATOR);\n\n const parsedDate = TuiDay.normalizeParse(date, this.dateFormat);\n const parsedTime =\n time && time.length === this.timeMode.length\n ? this.clampTime(TuiTime.fromString(time), parsedDate)\n : null;\n\n this.open = false;\n this.updateValue([parsedDate, parsedTime]);\n }\n\n onDayClick(day: TuiDay): void {\n const modifiedTime = this.value[1] && this.clampTime(this.value[1], day);\n\n this.updateValue([day, modifiedTime]);\n this.updateNativeValue(day);\n this.open = false;\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onMonthChange(month: TuiMonth): void {\n this.month = month;\n }\n\n onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n focused ||\n this.value[0] === null ||\n this.value[1] !== null ||\n this.nativeValue.length <= this.fillerLength + DATE_TIME_SEPARATOR.length ||\n this.timeMode === 'HH:MM'\n ) {\n return;\n }\n\n const [, time] = this.nativeValue.split(DATE_TIME_SEPARATOR);\n\n if (!time) {\n return;\n }\n\n const parsedTime = TuiTime.fromString(time);\n\n this.updateValue([this.value[0], parsedTime]);\n\n setTimeout(() => {\n if (this.nativeValue.endsWith('.') || this.nativeValue.endsWith(':')) {\n this.nativeValue = this.nativeValue.slice(0, -1);\n }\n });\n }\n\n setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n writeValue(value: [TuiDay | null, TuiTime | null] | null): void {\n super.writeValue(value);\n\n this.nativeValue = value && (value[0] || value[1]) ? this.computedValue : '';\n }\n\n protected getFallbackValue(): [TuiDay | null, TuiTime | null] {\n return [null, null];\n }\n\n protected valueIdenticalComparator(\n oldValue: [TuiDay | null, TuiTime | null],\n newValue: [TuiDay | null, TuiTime | null],\n ): boolean {\n return (\n nullableSame(oldValue[0], newValue[0], (a, b) => a.daySame(b)) &&\n nullableSame(oldValue[1], newValue[1], (a, b) => String(a) === String(b))\n );\n }\n\n @tuiPure\n private calculateMask(\n day: TuiDay | null,\n min: TuiDay,\n max: TuiDay,\n timeMode: TuiTimeMode,\n dateFormat: TuiDateMode,\n dateSeparator: string,\n ): TuiTextMaskOptions {\n return {\n mask: [\n ...tuiCreateDateMask(dateFormat, dateSeparator),\n ',',\n ' ',\n ...tuiCreateTimeMask(timeMode),\n ],\n pipe: tuiCreateAutoCorrectedDateTimePipe({\n value: day,\n min,\n max,\n dateFormat,\n dateSeparator,\n timeMode,\n }),\n guide: false,\n };\n }\n\n @tuiPure\n private getDateTimeString(\n date: TuiDay | string,\n time: TuiTime | string | null,\n timeMode: TuiTimeMode = 'HH:MM',\n ): string {\n const dateString =\n date instanceof TuiDay\n ? date.toString(this.dateFormat, this.dateSeparator)\n : date;\n const timeString = time instanceof TuiTime ? time.toString(timeMode) : time || '';\n\n return `${dateString}${DATE_TIME_SEPARATOR}${timeString}`;\n }\n\n private updateNativeValue(day: TuiDay): void {\n const time = this.nativeValue.split(DATE_TIME_SEPARATOR)[1] || '';\n\n this.nativeValue = this.getDateTimeString(day, time);\n }\n\n private clampTime(time: TuiTime, day: TuiDay): TuiTime {\n const ms = time.toAbsoluteMilliseconds();\n const min =\n Array.isArray(this.min) && day.daySame(this.calendarMinDay)\n ? this.min[1].toAbsoluteMilliseconds()\n : -Infinity;\n const max =\n Array.isArray(this.max) && day.daySame(this.calendarMaxDay)\n ? this.max[1].toAbsoluteMilliseconds()\n : Infinity;\n\n return TuiTime.fromAbsoluteMilliseconds(clamp(ms, min, max));\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\n\n@Directive({\n selector: 'tui-input-date-time',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiInputDateTimeDirective),\n },\n ],\n})\nexport class TuiInputDateTimeDirective extends TuiAbstractTextfieldHost<TuiInputDateTimeComponent> {\n get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {\n TuiCalendarModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\nimport {TuiInputDateTimeDirective} from './input-date-time.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TextMaskModule,\n PolymorpheusModule,\n TuiPreventDefaultModule,\n TuiCalendarModule,\n TuiSvgModule,\n TuiLinkModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiValueAccessorModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [TuiInputDateTimeComponent, TuiInputDateTimeDirective],\n exports: [\n TuiInputDateTimeComponent,\n TuiInputDateTimeDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiInputDateTimeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAmBA;IACa,mBAAmB,GAAG,UAC/B,OAAyB,EACzB,gBAA+C;IAE/C,OAAA,mCAAmC,CAAI,OAAO,EAAE,gBAAgB,CAAC;AAAjE,EAAkE;IAEzD,6BAA6B,GAAG;IACzC;QACI,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,yBAAyB,GAAA,CAAC;KAC3D;IACD;QACI,OAAO,EAAE,2BAA2B;QACpC,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,yBAAyB,GAAA,CAAC;KAC3D;IACD;QACI,OAAO,EAAE,wBAAwB;QACjC,IAAI,EAAE;YACF,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,CAAC;YACvC,CAAC,IAAI,QAAQ,EAAE,EAAE,UAAU,CAAC,cAAM,OAAA,+BAA+B,GAAA,CAAC,CAAC;SACtE;QACD,UAAU,EAAE,mBAAmB;KAClC;IACD,yCAAyC;;;ACkB7C;;IASY,6CAAmD;IA2C3D,mCAII,OAAyB,EACE,iBAAoC,EAE9C,aAAwC,EACvB,UAAuB,EACpB,aAAqB,EAEjD,UAAmD,EAEnD,UAAmD,EAGnD,gBAED;QAlBZ,YAoBI,kBAAM,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,SACtD;QAdoB,mBAAa,GAAb,aAAa,CAA2B;QACvB,gBAAU,GAAV,UAAU,CAAa;QACpB,mBAAa,GAAb,aAAa,CAAQ;QAEjD,gBAAU,GAAV,UAAU,CAAyC;QAEnD,gBAAU,GAAV,UAAU,CAAyC;QAGnD,sBAAgB,GAAhB,gBAAgB,CAEjB;QArDJ,WAAK,GAAoB,IAAI,CAAC;QAItC,SAAG,GAA+B,aAAa,CAAC;QAIhD,SAAG,GAA+B,YAAY,CAAC;QAI/C,yBAAmB,GAA8B,oBAAoB,CAAC;QAItE,4BAAsB,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAIjD,cAAQ,GAAgB,OAAO,CAAC;QAEhC,UAAI,GAAG,KAAK,CAAC;QAIJ,aAAO,GAAuB,aAAa,CAAC;YACjD,KAAI,CAAC,UAAU,CAAC,IAAI,CAChB,GAAG,CAAC,UAAA,SAAS;gBACT,OAAA,mBAAmB,CAAC,SAAS,CAAC,KAAI,CAAC,UAAU,CAAC,EAAE,KAAI,CAAC,aAAa,CAAC;aAAA,CACtE,CACJ;YACD,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;SAC7C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAA,OAAO,IAAI,OAAA,KAAI,CAAC,iBAAiB,OAAtB,KAAI,WAAsB,OAAO,KAAC,CAAC,CAAC,CAAC;;KAuB3D;IAED,sBAAI,mDAAY;aAAhB;YACI,OAAO,kBAAkB,GAAG,mBAAmB,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;SACjF;;;OAAA;IAED,sBAAI,sDAAe;aAAnB;YACI,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACb,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,aAAa,CACQ,CAAC;SAClC;;;OAAA;IAED,sBAAI,6DAAsB;aAA1B;YACI,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,GAAG,IAAI,CAAC;SACxE;;;OAAA;IAED,sBAAI,8CAAO;aAAX;YACI,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SACrD;;;OAAA;IAED,sBAAI,mDAAY;aAAhB;YACI,OAAO,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;kBACpC,sBAAsB;kBACtB,iBAAiB,CAAC;SAC3B;;;OAAA;IAED,sBAAI,oDAAa;aAAjB;YACU,IAAA,SAAqC,EAApC,gBAAK,EAAE,4BAAW,EAAE,sBAAgB,CAAC;YACtC,IAAA,qBAAoB,EAAnB,YAAI,EAAE,YAAa,CAAC;YAC3B,IAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,GAAG,kBAAkB,CAAC;YAElE,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,iBAAiB,CAAC,EAAE;gBACvC,OAAO,WAAW,CAAC;aACtB;YAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;SACvD;;;OAAA;IAED,sBAAI,oDAAa;aAAjB;YACI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACxB;;;OAAA;IAED,sBAAI,qDAAc;aAAlB;YACI,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;SAC3D;;;OAAA;IAED,sBAAI,qDAAc;aAAlB;YACI,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;SAC3D;;;OAAA;IAED,sBAAI,8DAAuB;aAA3B;YACI,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC;SACrE;;;OAAA;IAED,sBAAI,kDAAW;aAAf;YACI,OAAO,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,GAAG,EAAE,CAAC;SAC/E;aAED,UAAgB,KAAa;YACzB,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;gBAC9B,OAAO;aACV;YAED,IAAI,CAAC,sBAAsB,CAAC,KAAK,GAAG,KAAK,CAAC;SAC7C;;;OARA;IAWD,2CAAO,GAAP;QACI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;KAC1B;IAED,iDAAa,GAAb,UAAc,KAAa;QACvB,IAAI,CAAC,KAAK,EAAE;YACR,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAC3B;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB,EAAE;YACnC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAE/B,OAAO;SACV;QAEK,IAAA,gDAA+C,EAA9C,YAAI,EAAE,YAAwC,CAAC;QAEtD,IAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,IAAM,UAAU,GACZ,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM;cACtC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;cACpD,IAAI,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;KAC9C;IAED,8CAAU,GAAV,UAAW,GAAW;QAClB,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEzE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACrB;IAED,6CAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,iDAAa,GAAb,UAAc,KAAe;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;IAED,gDAAY,GAAZ,UAAa,IAAa;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KACpB;IAED,6CAAS,GAAT,UAAU,OAAgB;QAA1B,iBA4BC;QA3BG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE5B,IACI,OAAO;YACP,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;YACtB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;YACtB,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,MAAM;YACzE,IAAI,CAAC,QAAQ,KAAK,OAAO,EAC3B;YACE,OAAO;SACV;QAEK,IAAA,2DAAsD,EAAnD,YAAmD,CAAC;QAE7D,IAAI,CAAC,IAAI,EAAE;YACP,OAAO;SACV;QAED,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QAE9C,UAAU,CAAC;YACP,IAAI,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAClE,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACpD;SACJ,CAAC,CAAC;KACN;IAED,oDAAgB,GAAhB;QACI,iBAAM,gBAAgB,WAAE,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACrB;IAED,8CAAU,GAAV,UAAW,KAA6C;QACpD,iBAAM,UAAU,YAAC,KAAK,CAAC,CAAC;QAExB,IAAI,CAAC,WAAW,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KAChF;IAES,oDAAgB,GAA1B;QACI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACvB;IAES,4DAAwB,GAAlC,UACI,QAAyC,EACzC,QAAyC;QAEzC,QACI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAA,CAAC;YAC9D,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAA,CAAC,EAC3E;KACL;IAGO,iDAAa,GAArB,UACI,GAAkB,EAClB,GAAW,EACX,GAAW,EACX,QAAqB,EACrB,UAAuB,EACvB,aAAqB;QAErB,OAAO;YACH,IAAI,WACG,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC;gBAC/C,GAAG;gBACH,GAAG;eACA,iBAAiB,CAAC,QAAQ,CAAC,CACjC;YACD,IAAI,EAAE,kCAAkC,CAAC;gBACrC,KAAK,EAAE,GAAG;gBACV,GAAG,KAAA;gBACH,GAAG,KAAA;gBACH,UAAU,YAAA;gBACV,aAAa,eAAA;gBACb,QAAQ,UAAA;aACX,CAAC;YACF,KAAK,EAAE,KAAK;SACf,CAAC;KACL;IAGO,qDAAiB,GAAzB,UACI,IAAqB,EACrB,IAA6B,EAC7B,QAA+B;QAA/B,yBAAA,EAAA,kBAA+B;QAE/B,IAAM,UAAU,GACZ,IAAI,YAAY,MAAM;cAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;cAClD,IAAI,CAAC;QACf,IAAM,UAAU,GAAG,IAAI,YAAY,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QAElF,OAAO,KAAG,UAAU,GAAG,mBAAmB,GAAG,UAAY,CAAC;KAC7D;IAEO,qDAAiB,GAAzB,UAA0B,GAAW;QACjC,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAElE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;KACxD;IAEO,6CAAS,GAAjB,UAAkB,IAAa,EAAE,GAAW;QACxC,IAAM,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACzC,IAAM,GAAG,GACL,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;cACrD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE;cACpC,CAAC,QAAQ,CAAC;QACpB,IAAM,GAAG,GACL,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;cACrD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE;cACpC,QAAQ,CAAC;QAEnB,OAAO,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;KAChE;;gBA5PY,SAAS,uBAHjB,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,SAAS;gBAE6B,iBAAiB,uBAA9D,MAAM,SAAC,iBAAiB;gBAEO,yBAAyB,uBADxD,MAAM,SAAC,kBAAkB;gDAEzB,MAAM,SAAC,eAAe;6CACtB,MAAM,SAAC,kBAAkB;gBAEL,UAAU,uBAD9B,MAAM,SAAC,cAAc;gBAGD,UAAU,uBAD9B,MAAM,SAAC,cAAc;gDAErB,QAAQ,YACR,MAAM,SAAC,+BAA+B;;IApD3C;QADC,SAAS,CAAC,8BAA8B,CAAC;gEACkB;IAM5D;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;0DAC+B;IAIhD;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;0DAC8B;IAI/C;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;0EACqD;IAItE;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;6EACgC;IAIjD;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;+DACe;IA4GhC;QADC,YAAY,CAAC,OAAO,CAAC;4DAGrB;IAqGD;QADC,OAAO;kEA0BP;IAGD;QADC,OAAO;sEAaP;IAxRQ,yBAAyB;QAPrC,SAAS,CAAC;YACP,QAAQ,EAAE,qBAAqB;YAC/B,+2DAA8C;YAE9C,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE,6BAA6B;;SAC3C,CAAC;QA8CO,WAAA,QAAQ,EAAE,CAAA;QACV,WAAA,IAAI,EAAE,CAAA;QACN,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;QAEjB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACzB,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAE1B,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;QACvB,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAC1B,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;QAEtB,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;QAEtB,WAAA,QAAQ,EAAE,CAAA;QACV,WAAA,MAAM,CAAC,+BAA+B,CAAC,CAAA;OA3DnC,yBAAyB,CA6SrC;IAAD,gCAAC;CAAA,CA5SW,kBAAkB;;;ICxDiB,6CAAmD;IAAlG;;KAYC;kCAZY,yBAAyB;IAClC,sBAAI,4CAAK;aAAT;YACI,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;SAClC;;;OAAA;IAED,iDAAa,GAAb,UAAc,KAAa;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAClC;IAED,2CAAO,GAAP,UAAQ,KAAuB;QAC3B,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;KAC/B;;IAXQ,yBAAyB;QATrC,SAAS,CAAC;YACP,QAAQ,EAAE,qBAAqB;YAC/B,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,kBAAkB;oBAC3B,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,2BAAyB,GAAA,CAAC;iBAC3D;aACJ;SACJ,CAAC;OACW,yBAAyB,CAYrC;IAAD,gCAAC;CAAA,CAZ8C,wBAAwB;;;IC0BvE;KAAsC;IAAzB,sBAAsB;QArBlC,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,cAAc;gBACd,kBAAkB;gBAClB,uBAAuB;gBACvB,iBAAiB;gBACjB,YAAY;gBACZ,aAAa;gBACb,uBAAuB;gBACvB,2BAA2B;gBAC3B,sBAAsB;gBACtB,4BAA4B;aAC/B;YACD,YAAY,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;YACpE,OAAO,EAAE;gBACL,yBAAyB;gBACzB,yBAAyB;gBACzB,qBAAqB;aACxB;SACJ,CAAC;OACW,sBAAsB,CAAG;IAAD,6BAAC;CAAtC;;ACxCA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-input-date-time.js","sources":["ng://@taiga-ui/kit/components/input-date-time/input-date-time.providers.ts","ng://@taiga-ui/kit/components/input-date-time/input-date-time.component.ts","ng://@taiga-ui/kit/components/input-date-time/input-date-time.directive.ts","ng://@taiga-ui/kit/components/input-date-time/input-date-time.module.ts","ng://@taiga-ui/kit/components/input-date-time/taiga-ui-kit-components-input-date-time.ts"],"sourcesContent":["import {forwardRef, Optional, Self} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiControlValueTransformer,\n TuiDay,\n TuiTime,\n} from '@taiga-ui/cdk';\nimport {LEFT_ALIGNED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {\n TUI_CALENDAR_DATA_STREAM,\n TUI_DATE_TIME_VALUE_TRANSFORMER,\n} from '@taiga-ui/kit/tokens';\nimport {TuiReplayControlValueChangesFactory} from '@taiga-ui/kit/utils/miscellaneous';\nimport {Observable} from 'rxjs';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\n\n// TODO: 3.0 remove in ivy compilation\nexport const TIME_STREAM_FACTORY = <T extends [TuiDay | null, TuiTime | null]>(\n control: NgControl | null,\n valueTransformer: TuiControlValueTransformer<T>,\n): Observable<T | null> | null =>\n TuiReplayControlValueChangesFactory<T>(control, valueTransformer);\n\nexport const TUI_INPUT_DATE_TIME_PROVIDERS = [\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiInputDateTimeComponent),\n },\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputDateTimeComponent),\n },\n {\n provide: TUI_CALENDAR_DATA_STREAM,\n deps: [\n [new Optional(), new Self(), NgControl],\n [new Optional(), forwardRef(() => TUI_DATE_TIME_VALUE_TRANSFORMER)],\n ],\n useFactory: TIME_STREAM_FACTORY,\n },\n LEFT_ALIGNED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n ALWAYS_FALSE_HANDLER,\n changeDateSeparator,\n clamp,\n DATE_FILLER_LENGTH,\n nullableSame,\n TUI_DATE_FORMAT,\n TUI_DATE_SEPARATOR,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiActiveZoneDirective,\n TuiBooleanHandler,\n TuiContextWithImplicit,\n TuiControlValueTransformer,\n TuiDateMode,\n TuiDay,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiMonth,\n tuiPure,\n TuiTime,\n TuiTimeMode,\n} from '@taiga-ui/cdk';\nimport {\n sizeBigger,\n TUI_TEXTFIELD_SIZE,\n TuiPrimitiveTextfieldComponent,\n TuiTextfieldSizeDirective,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {DATE_TIME_SEPARATOR} from '@taiga-ui/kit/constants';\nimport {\n TUI_DATE_TEXTS,\n TUI_DATE_TIME_VALUE_TRANSFORMER,\n TUI_TIME_TEXTS,\n} from '@taiga-ui/kit/tokens';\nimport {\n tuiCreateAutoCorrectedDateTimePipe,\n tuiCreateDateMask,\n tuiCreateTimeMask,\n} from '@taiga-ui/kit/utils/mask';\nimport {TextMaskConfig} from 'angular2-text-mask';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map, pluck} from 'rxjs/operators';\n\nimport {TUI_INPUT_DATE_TIME_PROVIDERS} from './input-date-time.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-input-date-time',\n templateUrl: './input-date-time.template.html',\n styleUrls: ['./input-date-time.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_INPUT_DATE_TIME_PROVIDERS,\n})\nexport class TuiInputDateTimeComponent\n extends AbstractTuiControl<[TuiDay | null, TuiTime | null]>\n implements\n TuiWithOptionalMinMax<TuiDay | [TuiDay, TuiTime]>,\n TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private month: TuiMonth | null = null;\n\n @Input()\n @tuiDefaultProp()\n min: TuiDay | [TuiDay, TuiTime] = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max: TuiDay | [TuiDay, TuiTime] = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n defaultActiveYearMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n timeMode: TuiTimeMode = 'HH:MM';\n\n open = false;\n\n readonly type!: TuiContextWithImplicit<TuiActiveZoneDirective>;\n\n readonly filler$: Observable<string> = combineLatest([\n this.dateTexts$.pipe(\n map(dateTexts =>\n changeDateSeparator(dateTexts[this.dateFormat], this.dateSeparator),\n ),\n ),\n this.timeTexts$.pipe(pluck(this.timeMode)),\n ]).pipe(map(fillers => this.getDateTimeString(...fillers)));\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n @Inject(TUI_DATE_FORMAT) readonly dateFormat: TuiDateMode,\n @Inject(TUI_DATE_SEPARATOR) readonly dateSeparator: string,\n @Inject(TUI_TIME_TEXTS)\n readonly timeTexts$: Observable<Record<TuiTimeMode, string>>,\n @Inject(TUI_DATE_TEXTS)\n readonly dateTexts$: Observable<Record<TuiDateMode, string>>,\n @Optional()\n @Inject(TUI_DATE_TIME_VALUE_TRANSFORMER)\n readonly valueTransformer: TuiControlValueTransformer<\n [TuiDay | null, TuiTime | null]\n > | null,\n ) {\n super(control, changeDetectorRef, valueTransformer);\n }\n\n get fillerLength(): number {\n return DATE_FILLER_LENGTH + DATE_TIME_SEPARATOR.length + this.timeMode.length;\n }\n\n get textMaskOptions(): TextMaskConfig {\n return this.calculateMask(\n this.value[0],\n this.calendarMinDay,\n this.calendarMaxDay,\n this.timeMode,\n this.dateFormat,\n this.dateSeparator,\n ) as unknown as TextMaskConfig;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.textfield && this.textfield.focused;\n }\n\n get calendarIcon(): string {\n return sizeBigger(this.textfieldSize.size)\n ? 'tuiIconCalendarLarge'\n : 'tuiIconCalendar';\n }\n\n get computedValue(): string {\n const {value, nativeValue, timeMode} = this;\n const [date, time] = value;\n const hasTimeInputChars = nativeValue.length > DATE_FILLER_LENGTH;\n\n if (!date || (!time && hasTimeInputChars)) {\n return nativeValue;\n }\n\n return this.getDateTimeString(date, time, timeMode);\n }\n\n get calendarValue(): TuiDay | null {\n return this.value[0];\n }\n\n get calendarMinDay(): TuiDay {\n return Array.isArray(this.min) ? this.min[0] : this.min;\n }\n\n get calendarMaxDay(): TuiDay {\n return Array.isArray(this.max) ? this.max[0] : this.max;\n }\n\n get computedActiveYearMonth(): TuiMonth {\n return this.month || this.value[0] || this.defaultActiveYearMonth;\n }\n\n get nativeValue(): string {\n return this.nativeFocusableElement ? 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 @HostListener('click')\n onClick(): void {\n this.open = !this.open;\n }\n\n onValueChange(value: string): void {\n if (!value) {\n this.onOpenChange(true);\n }\n\n if (value.length < DATE_FILLER_LENGTH) {\n this.updateValue([null, null]);\n\n return;\n }\n\n const [date, time] = value.split(DATE_TIME_SEPARATOR);\n\n const parsedDate = TuiDay.normalizeParse(date, this.dateFormat);\n const parsedTime =\n time && time.length === this.timeMode.length\n ? this.clampTime(TuiTime.fromString(time), parsedDate)\n : null;\n\n this.open = false;\n this.updateValue([parsedDate, parsedTime]);\n }\n\n onDayClick(day: TuiDay): void {\n const modifiedTime = this.value[1] && this.clampTime(this.value[1], day);\n\n this.updateValue([day, modifiedTime]);\n this.updateNativeValue(day);\n this.open = false;\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onMonthChange(month: TuiMonth): void {\n this.month = month;\n }\n\n onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n focused ||\n this.value[0] === null ||\n this.value[1] !== null ||\n this.nativeValue.length <= this.fillerLength + DATE_TIME_SEPARATOR.length ||\n this.timeMode === 'HH:MM'\n ) {\n return;\n }\n\n const [, time] = this.nativeValue.split(DATE_TIME_SEPARATOR);\n\n if (!time) {\n return;\n }\n\n const parsedTime = TuiTime.fromString(time);\n\n this.updateValue([this.value[0], parsedTime]);\n\n setTimeout(() => {\n if (this.nativeValue.endsWith('.') || this.nativeValue.endsWith(':')) {\n this.nativeValue = this.nativeValue.slice(0, -1);\n }\n });\n }\n\n setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n writeValue(value: [TuiDay | null, TuiTime | null] | null): void {\n super.writeValue(value);\n\n this.nativeValue =\n this.value && (this.value[0] || this.value[1]) ? this.computedValue : '';\n }\n\n protected getFallbackValue(): [TuiDay | null, TuiTime | null] {\n return [null, null];\n }\n\n protected valueIdenticalComparator(\n oldValue: [TuiDay | null, TuiTime | null],\n newValue: [TuiDay | null, TuiTime | null],\n ): boolean {\n return (\n nullableSame(oldValue[0], newValue[0], (a, b) => a.daySame(b)) &&\n nullableSame(oldValue[1], newValue[1], (a, b) => String(a) === String(b))\n );\n }\n\n @tuiPure\n private calculateMask(\n day: TuiDay | null,\n min: TuiDay,\n max: TuiDay,\n timeMode: TuiTimeMode,\n dateFormat: TuiDateMode,\n dateSeparator: string,\n ): TuiTextMaskOptions {\n return {\n mask: [\n ...tuiCreateDateMask(dateFormat, dateSeparator),\n ',',\n ' ',\n ...tuiCreateTimeMask(timeMode),\n ],\n pipe: tuiCreateAutoCorrectedDateTimePipe({\n value: day,\n min,\n max,\n dateFormat,\n dateSeparator,\n timeMode,\n }),\n guide: false,\n };\n }\n\n @tuiPure\n private getDateTimeString(\n date: TuiDay | string,\n time: TuiTime | string | null,\n timeMode: TuiTimeMode = 'HH:MM',\n ): string {\n const dateString =\n date instanceof TuiDay\n ? date.toString(this.dateFormat, this.dateSeparator)\n : date;\n const timeString = time instanceof TuiTime ? time.toString(timeMode) : time || '';\n\n return `${dateString}${DATE_TIME_SEPARATOR}${timeString}`;\n }\n\n private updateNativeValue(day: TuiDay): void {\n const time = this.nativeValue.split(DATE_TIME_SEPARATOR)[1] || '';\n\n this.nativeValue = this.getDateTimeString(day, time);\n }\n\n private clampTime(time: TuiTime, day: TuiDay): TuiTime {\n const ms = time.toAbsoluteMilliseconds();\n const min =\n Array.isArray(this.min) && day.daySame(this.calendarMinDay)\n ? this.min[1].toAbsoluteMilliseconds()\n : -Infinity;\n const max =\n Array.isArray(this.max) && day.daySame(this.calendarMaxDay)\n ? this.max[1].toAbsoluteMilliseconds()\n : Infinity;\n\n return TuiTime.fromAbsoluteMilliseconds(clamp(ms, min, max));\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\n\n@Directive({\n selector: 'tui-input-date-time',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiInputDateTimeDirective),\n },\n ],\n})\nexport class TuiInputDateTimeDirective extends TuiAbstractTextfieldHost<TuiInputDateTimeComponent> {\n get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {\n TuiCalendarModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\nimport {TuiInputDateTimeDirective} from './input-date-time.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TextMaskModule,\n PolymorpheusModule,\n TuiPreventDefaultModule,\n TuiCalendarModule,\n TuiSvgModule,\n TuiLinkModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiValueAccessorModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [TuiInputDateTimeComponent, TuiInputDateTimeDirective],\n exports: [\n TuiInputDateTimeComponent,\n TuiInputDateTimeDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiInputDateTimeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/kit",
3
- "version": "2.84.0",
3
+ "version": "2.85.0",
4
4
  "description": "Taiga UI Angular main components kit",
5
5
  "keywords": [
6
6
  "angular",
@@ -24,9 +24,9 @@
24
24
  "@angular/router": ">=9.0.0",
25
25
  "@ng-web-apis/common": ">=1.12.1 < 2",
26
26
  "@ng-web-apis/mutation-observer": ">=1.1.0 < 2",
27
- "@taiga-ui/cdk": ">=2.84.0",
28
- "@taiga-ui/core": ">=2.84.0",
29
- "@taiga-ui/i18n": ">=2.84.0",
27
+ "@taiga-ui/cdk": ">=2.85.0",
28
+ "@taiga-ui/core": ">=2.85.0",
29
+ "@taiga-ui/i18n": ">=2.85.0",
30
30
  "@tinkoff/ng-polymorpheus": ">=3.1.12 < 4",
31
31
  "rxjs": ">=6.0.0"
32
32
  },