@taiga-ui/kit 3.36.2 → 3.37.0-dev.main.8b16409
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js +8 -5
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +11 -8
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.js +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
- package/components/input-tag/input-tag.component.d.ts +1 -1
- package/esm2015/components/breadcrumbs/breadcrumbs.component.js +1 -1
- package/esm2015/components/calendar-month/calendar-month.component.js +1 -1
- package/esm2015/components/files/files.component.js +2 -2
- package/esm2015/components/input-date-time/input-date-time.component.js +4 -1
- package/esm2015/components/input-phone-international/input-phone-international.component.js +2 -2
- package/esm2015/components/input-tag/input-tag.component.js +9 -6
- package/esm2015/components/line-clamp/line-clamp.component.js +2 -2
- package/esm2015/components/progress/progress-label/progress-label.component.js +1 -1
- package/esm2015/components/text-area/text-area.component.js +5 -5
- package/esm2015/tokens/countries-masks.js +2 -2
- package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +1 -1
- package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-files.js +1 -1
- package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-time.js +3 -0
- package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +8 -5
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-line-clamp.js +1 -1
- package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-progress.js +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js +4 -4
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm2015/taiga-ui-kit-tokens.js +1 -1
- package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-files.js","sources":["../../../projects/kit/components/files/file/file-options.ts","../../../projects/kit/components/files/file/file.component.ts","../../../projects/kit/components/files/file/file.template.html","../../../projects/kit/components/files/files.component.ts","../../../projects/kit/components/files/files.component.html","../../../projects/kit/components/files/files.module.ts","../../../projects/kit/components/files/taiga-ui-kit-components-files.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {tuiFormatSize} from '@taiga-ui/kit/utils';\n\nexport interface TuiFileOptions {\n readonly formatSize: (\n units: [string, string, string],\n size?: number,\n ) => string | null;\n}\n\nexport const TUI_FILE_DEFAULT_OPTIONS: TuiFileOptions = {\n formatSize: tuiFormatSize,\n};\n\n/**\n * Default parameters for file component\n */\nexport const TUI_FILE_OPTIONS = new InjectionToken<TuiFileOptions>(`[TUI_FILE_OPTIONS]`, {\n factory: () => TUI_FILE_DEFAULT_OPTIONS,\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, SafeValue} from '@angular/platform-browser';\nimport {TuiInjectionTokenType, tuiIsObserved, tuiPure} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {TuiLanguage} from '@taiga-ui/i18n';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {TuiFileState} from '@taiga-ui/kit/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_FILE_OPTIONS} from './file-options';\n\n@Component({\n selector: 'tui-file',\n templateUrl: './file.template.html',\n styleUrls: ['./file.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiFileComponent {\n @Input()\n file: TuiFileLike = {name: ''};\n\n @Input()\n state: TuiFileState = 'normal';\n\n @Input()\n size: TuiSizeL = 'm';\n\n @Input()\n showDelete = true;\n\n @Input()\n showSize = true;\n\n @Input()\n leftContent: PolymorpheusContent;\n\n @Output()\n readonly removed = new EventEmitter<void>();\n\n @HostBinding('class._focused')\n focused = false;\n\n constructor(\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_FILE_TEXTS)\n readonly fileTexts$: TuiInjectionTokenType<typeof TUI_FILE_TEXTS>,\n @Inject(TUI_FILE_OPTIONS)\n private readonly options: TuiInjectionTokenType<typeof TUI_FILE_OPTIONS>,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n private readonly units$: TuiInjectionTokenType<\n typeof TUI_DIGITAL_INFORMATION_UNITS\n >,\n ) {}\n\n get preview(): SafeValue {\n return this.isBig ? this.createPreview(this.file, this.sanitizer) : '';\n }\n\n get isBig(): boolean {\n return this.size === 'l';\n }\n\n get isLoading(): boolean {\n return this.state === 'loading';\n }\n\n get isError(): boolean {\n return this.state === 'error';\n }\n\n get isDeleted(): boolean {\n return this.state === 'deleted';\n }\n\n get allowDelete(): boolean {\n return this.showDelete && tuiIsObserved(this.removed);\n }\n\n get icon(): string {\n if (this.state === 'normal' && this.isBig) {\n return 'tuiIconFileLarge';\n }\n\n switch (this.state) {\n case 'deleted':\n return 'tuiIconTrashLarge';\n case 'error':\n return 'tuiIconAlertCircleLarge';\n default:\n return 'tuiIconCheckCircleLarge';\n }\n }\n\n @HostBinding('class._link')\n get src(): string {\n return this.file.src || '';\n }\n\n get name(): string {\n return this.getName(this.file);\n }\n\n get type(): string {\n return this.getType(this.file);\n }\n\n get content$(): Observable<PolymorpheusContent> {\n return this.calculateContent$(this.state, this.file, this.fileTexts$);\n }\n\n get fileSize$(): Observable<string | null> {\n return this.calculateFileSize$(this.file, this.units$);\n }\n\n onRemoveClick(): void {\n this.removed.emit();\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.focused = focusVisible;\n }\n\n @tuiPure\n private calculateContent$(\n state: TuiFileState,\n file: TuiFileLike,\n fileTexts$: Observable<Record<keyof TuiLanguage['fileTexts'], string>>,\n ): Observable<PolymorpheusContent> {\n return state === 'error' && !file.content\n ? fileTexts$.pipe(map(texts => texts.loadingError))\n : of(this.file.content || '');\n }\n\n @tuiPure\n private calculateFileSize$(\n file: TuiFileLike,\n units$: Observable<[string, string, string]>,\n ): Observable<string | null> {\n return units$.pipe(map(units => this.options.formatSize(units, file.size)));\n }\n\n @tuiPure\n private createPreview(file: TuiFileLike, sanitizer: DomSanitizer): SafeValue {\n if (file.src) {\n return file.src;\n }\n\n // TODO: iframe warning\n if (file instanceof File && file.type && file.type.startsWith('image/')) {\n return sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\n }\n\n return '';\n }\n\n @tuiPure\n private getName(file: TuiFileLike): string {\n return file.name.split('.').slice(0, -1).join('.');\n }\n\n @tuiPure\n private getType(file: TuiFileLike): string {\n return `.${file.name.split('.').pop()}` || '';\n }\n}\n","<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent || defaultLeftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n tuiPreventDefault=\"mousedown\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n alt=\"file preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_blank]=\"isBig || isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {EMPTY_QUERY, TuiItemDirective} from '@taiga-ui/cdk';\nimport {TUI_HIDE_TEXT, TUI_SHOW_ALL_TEXT} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-files',\n templateUrl: './files.component.html',\n styleUrls: ['./files.component.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiFilesComponent {\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> = EMPTY_QUERY;\n\n @Input()\n max = 0;\n\n @Input()\n expanded = false;\n\n @Output()\n readonly expandedChange = new EventEmitter<boolean>();\n\n constructor(\n @Inject(TUI_HIDE_TEXT) readonly hideText$: Observable<string>,\n @Inject(TUI_SHOW_ALL_TEXT) readonly showAllText$: Observable<string>,\n ) {}\n\n get hasExtraItems(): boolean {\n return !!this.max && this.items.length > this.max;\n }\n\n toggle(): void {\n this.expanded = !this.expanded;\n this.expandedChange.emit(this.expanded);\n }\n}\n","<ng-container *ngIf=\"items?.changes | async\"></ng-container>\n\n<section\n tuiGroup\n orientation=\"vertical\"\n class=\"t-files\"\n [collapsed]=\"true\"\n>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"!max || index < max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n <tui-expand\n *ngIf=\"hasExtraItems\"\n [expanded]=\"expanded\"\n >\n <div class=\"t-extra-items\">\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"max && index >= max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n </div>\n </tui-expand>\n <button\n *ngIf=\"hasExtraItems\"\n tuiButton\n appearance=\"outline\"\n size=\"m\"\n type=\"button\"\n class=\"t-button\"\n [class.t-button_collapsed]=\"!expanded\"\n (click)=\"toggle()\"\n >\n {{ (expanded ? hideText$ : showAllText$) | async }}\n </button>\n</section>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiFocusVisibleModule,\n TuiItemDirective,\n TuiItemModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiLoaderModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFileComponent} from './file/file.component';\nimport {TuiFilesComponent} from './files.component';\n\n@NgModule({\n declarations: [TuiFilesComponent, TuiFileComponent],\n imports: [\n CommonModule,\n TuiGroupModule,\n TuiLoaderModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiFocusVisibleModule,\n TuiButtonModule,\n TuiItemModule,\n TuiExpandModule,\n TuiPreventDefaultModule,\n ],\n exports: [TuiFilesComponent, TuiFileComponent, TuiItemDirective],\n})\nexport class TuiFilesModule {}\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-files.js","sources":["../../../projects/kit/components/files/file/file-options.ts","../../../projects/kit/components/files/file/file.component.ts","../../../projects/kit/components/files/file/file.template.html","../../../projects/kit/components/files/files.component.ts","../../../projects/kit/components/files/files.component.html","../../../projects/kit/components/files/files.module.ts","../../../projects/kit/components/files/taiga-ui-kit-components-files.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {tuiFormatSize} from '@taiga-ui/kit/utils';\n\nexport interface TuiFileOptions {\n readonly formatSize: (\n units: [string, string, string],\n size?: number,\n ) => string | null;\n}\n\nexport const TUI_FILE_DEFAULT_OPTIONS: TuiFileOptions = {\n formatSize: tuiFormatSize,\n};\n\n/**\n * Default parameters for file component\n */\nexport const TUI_FILE_OPTIONS = new InjectionToken<TuiFileOptions>(`[TUI_FILE_OPTIONS]`, {\n factory: () => TUI_FILE_DEFAULT_OPTIONS,\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, SafeValue} from '@angular/platform-browser';\nimport {TuiInjectionTokenType, tuiIsObserved, tuiPure} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {TuiLanguage} from '@taiga-ui/i18n';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {TuiFileState} from '@taiga-ui/kit/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_FILE_OPTIONS} from './file-options';\n\n@Component({\n selector: 'tui-file',\n templateUrl: './file.template.html',\n styleUrls: ['./file.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiFileComponent {\n @Input()\n file: TuiFileLike = {name: ''};\n\n @Input()\n state: TuiFileState = 'normal';\n\n @Input()\n size: TuiSizeL = 'm';\n\n @Input()\n showDelete = true;\n\n @Input()\n showSize = true;\n\n @Input()\n leftContent: PolymorpheusContent;\n\n @Output()\n readonly removed = new EventEmitter<void>();\n\n @HostBinding('class._focused')\n focused = false;\n\n constructor(\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_FILE_TEXTS)\n readonly fileTexts$: TuiInjectionTokenType<typeof TUI_FILE_TEXTS>,\n @Inject(TUI_FILE_OPTIONS)\n private readonly options: TuiInjectionTokenType<typeof TUI_FILE_OPTIONS>,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n private readonly units$: TuiInjectionTokenType<\n typeof TUI_DIGITAL_INFORMATION_UNITS\n >,\n ) {}\n\n get preview(): SafeValue {\n return this.isBig ? this.createPreview(this.file, this.sanitizer) : '';\n }\n\n get isBig(): boolean {\n return this.size === 'l';\n }\n\n get isLoading(): boolean {\n return this.state === 'loading';\n }\n\n get isError(): boolean {\n return this.state === 'error';\n }\n\n get isDeleted(): boolean {\n return this.state === 'deleted';\n }\n\n get allowDelete(): boolean {\n return this.showDelete && tuiIsObserved(this.removed);\n }\n\n get icon(): string {\n if (this.state === 'normal' && this.isBig) {\n return 'tuiIconFileLarge';\n }\n\n switch (this.state) {\n case 'deleted':\n return 'tuiIconTrashLarge';\n case 'error':\n return 'tuiIconAlertCircleLarge';\n default:\n return 'tuiIconCheckCircleLarge';\n }\n }\n\n @HostBinding('class._link')\n get src(): string {\n return this.file.src || '';\n }\n\n get name(): string {\n return this.getName(this.file);\n }\n\n get type(): string {\n return this.getType(this.file);\n }\n\n get content$(): Observable<PolymorpheusContent> {\n return this.calculateContent$(this.state, this.file, this.fileTexts$);\n }\n\n get fileSize$(): Observable<string | null> {\n return this.calculateFileSize$(this.file, this.units$);\n }\n\n onRemoveClick(): void {\n this.removed.emit();\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.focused = focusVisible;\n }\n\n @tuiPure\n private calculateContent$(\n state: TuiFileState,\n file: TuiFileLike,\n fileTexts$: Observable<Record<keyof TuiLanguage['fileTexts'], string>>,\n ): Observable<PolymorpheusContent> {\n return state === 'error' && !file.content\n ? fileTexts$.pipe(map(texts => texts.loadingError))\n : of(this.file.content || '');\n }\n\n @tuiPure\n private calculateFileSize$(\n file: TuiFileLike,\n units$: Observable<[string, string, string]>,\n ): Observable<string | null> {\n return units$.pipe(map(units => this.options.formatSize(units, file.size)));\n }\n\n @tuiPure\n private createPreview(file: TuiFileLike, sanitizer: DomSanitizer): SafeValue {\n if (file.src) {\n return file.src;\n }\n\n // TODO: iframe warning\n if (file instanceof File && file.type && file.type.startsWith('image/')) {\n return sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\n }\n\n return '';\n }\n\n @tuiPure\n private getName(file: TuiFileLike): string {\n return file.name.split('.').slice(0, -1).join('.');\n }\n\n @tuiPure\n private getType(file: TuiFileLike): string {\n return `.${file.name.split('.').pop()}` || '';\n }\n}\n","<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent || defaultLeftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n tuiPreventDefault=\"mousedown\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n alt=\"file preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_blank]=\"isBig || isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {EMPTY_QUERY, TuiItemDirective} from '@taiga-ui/cdk';\nimport {TUI_HIDE_TEXT, TUI_SHOW_ALL_TEXT} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-files',\n templateUrl: './files.component.html',\n styleUrls: ['./files.component.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiFilesComponent {\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> = EMPTY_QUERY;\n\n @Input()\n max = 0;\n\n @Input()\n expanded = false;\n\n @Output()\n readonly expandedChange = new EventEmitter<boolean>();\n\n constructor(\n @Inject(TUI_HIDE_TEXT) readonly hideText$: Observable<string>,\n @Inject(TUI_SHOW_ALL_TEXT) readonly showAllText$: Observable<string>,\n ) {}\n\n get hasExtraItems(): boolean {\n return !!this.max && this.items.length > this.max;\n }\n\n toggle(): void {\n this.expanded = !this.expanded;\n this.expandedChange.emit(this.expanded);\n }\n}\n","<ng-container *ngIf=\"items?.changes | async\"></ng-container>\n\n<section\n tuiGroup\n orientation=\"vertical\"\n class=\"t-files\"\n [collapsed]=\"true\"\n>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"!max || index < max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n <tui-expand\n *ngIf=\"hasExtraItems\"\n [expanded]=\"expanded\"\n >\n <div class=\"t-extra-items\">\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"max && index >= max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n </div>\n </tui-expand>\n <button\n *ngIf=\"hasExtraItems\"\n tuiButton\n appearance=\"whiteblock\"\n size=\"m\"\n type=\"button\"\n class=\"t-button\"\n [class.t-button_collapsed]=\"!expanded\"\n (click)=\"toggle()\"\n >\n {{ (expanded ? hideText$ : showAllText$) | async }}\n </button>\n</section>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiFocusVisibleModule,\n TuiItemDirective,\n TuiItemModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiLoaderModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFileComponent} from './file/file.component';\nimport {TuiFilesComponent} from './files.component';\n\n@NgModule({\n declarations: [TuiFilesComponent, TuiFileComponent],\n imports: [\n CommonModule,\n TuiGroupModule,\n TuiLoaderModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiFocusVisibleModule,\n TuiButtonModule,\n TuiItemModule,\n TuiExpandModule,\n TuiPreventDefaultModule,\n ],\n exports: [TuiFilesComponent, TuiFileComponent, TuiItemDirective],\n})\nexport class TuiFilesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -165,9 +165,12 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
|
|
|
165
165
|
this.value = [parsedDate, parsedTime];
|
|
166
166
|
}
|
|
167
167
|
onDayClick(day) {
|
|
168
|
+
var _a;
|
|
168
169
|
const modifiedTime = this.value[1] && this.clampTime(this.value[1], day);
|
|
170
|
+
const newCaretIndex = DATE_FILLER_LENGTH + DATE_TIME_SEPARATOR.length;
|
|
169
171
|
this.value = [day, modifiedTime];
|
|
170
172
|
this.updateNativeValue(day);
|
|
173
|
+
(_a = this.nativeFocusableElement) === null || _a === void 0 ? void 0 : _a.setSelectionRange(newCaretIndex, newCaretIndex);
|
|
171
174
|
this.open = false;
|
|
172
175
|
}
|
|
173
176
|
onMonthChange(month) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-input-date-time.js","sources":["../../../projects/kit/components/input-date-time/native-date-time/native-date-time.directive.ts","../../../projects/kit/components/input-date-time/input-date-time.component.ts","../../../projects/kit/components/input-date-time/input-date-time.template.html","../../../projects/kit/components/input-date-time/input-date-time.directive.ts","../../../projects/kit/components/input-date-time/input-date-time.module.ts","../../../projects/kit/components/input-date-time/taiga-ui-kit-components-input-date-time.ts"],"sourcesContent":["import {Directive, Inject} from '@angular/core';\nimport {TuiDay, TuiTime} from '@taiga-ui/cdk';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/core';\n\nimport type {TuiInputDateTimeDirective} from '../input-date-time.directive';\n\n@Directive({\n selector: 'input[tuiDateTime]',\n host: {\n type: 'datetime-local',\n '[tabIndex]': '-1',\n '[value]': 'value',\n '(change.stop)': 'onChange($event.target.value)',\n '(input.stop)': 'onChange($event.target.value)',\n '(click.stop.silent)': '0',\n '(mousedown.stop.silent)': '0',\n },\n})\nexport class TuiNativeDateTimeDirective {\n constructor(@Inject(TUI_TEXTFIELD_HOST) readonly host: TuiInputDateTimeDirective) {}\n\n get value(): string {\n if (!this.host.rawValue[0] || !this.host.rawValue[1]) {\n return '';\n }\n\n return `${this.host.rawValue[0]?.toString(\n 'YMD',\n '-',\n )}T${this.host.rawValue[1]?.toString('HH:MM')}`;\n }\n\n onChange(value: string): void {\n if (!value) {\n this.host.writeValue([null, null]);\n\n return;\n }\n\n const date = new Date(value);\n const day = TuiDay.fromLocalNativeDate(date);\n const time = TuiTime.fromLocalNativeDate(date);\n\n this.host.writeValue([day, time]);\n }\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 {MaskitoOptions} from '@maskito/core';\nimport {maskitoDateTimeOptionsGenerator} from '@maskito/kit';\nimport {\n AbstractTuiControl,\n AbstractTuiValueTransformer,\n ALWAYS_FALSE_HANDLER,\n changeDateSeparator,\n DATE_FILLER_LENGTH,\n TUI_DATE_FORMAT,\n TUI_DATE_SEPARATOR,\n TUI_IS_IOS,\n TUI_IS_MOBILE,\n TuiActiveZoneDirective,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n tuiClamp,\n TuiContextWithImplicit,\n tuiDateClamp,\n TuiDateMode,\n TuiDay,\n TuiFocusableElementAccessor,\n TuiMonth,\n tuiNullableSame,\n tuiPure,\n TuiTime,\n TuiTimeMode,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_SIZE,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {\n DATE_TIME_SEPARATOR,\n TUI_DATE_MODE_MASKITO_ADAPTER,\n} from '@taiga-ui/kit/constants';\nimport {\n TUI_DATE_TEXTS,\n TUI_DATE_TIME_VALUE_TRANSFORMER,\n TUI_INPUT_DATE_OPTIONS,\n TUI_TIME_TEXTS,\n tuiDateStreamWithTransformer,\n TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\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: [\n tuiAsFocusableItemAccessor(TuiInputDateTimeComponent),\n tuiAsControl(TuiInputDateTimeComponent),\n tuiDateStreamWithTransformer(TUI_DATE_TIME_VALUE_TRANSFORMER),\n ],\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 min: TuiDay | [TuiDay, TuiTime] = this.options.min;\n\n @Input()\n max: TuiDay | [TuiDay, TuiTime] = this.options.max;\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n defaultActiveYearMonth = TuiMonth.currentLocal();\n\n @Input()\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(map(texts => texts[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) cdr: 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 override readonly valueTransformer: AbstractTuiValueTransformer<\n [TuiDay | null, TuiTime | null]\n > | null,\n @Inject(TUI_INPUT_DATE_OPTIONS)\n private readonly options: TuiInputDateOptions,\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(TUI_IS_IOS) readonly isIos: boolean,\n ) {\n super(control, cdr, valueTransformer);\n }\n\n get fillerLength(): number {\n return DATE_FILLER_LENGTH + DATE_TIME_SEPARATOR.length + this.timeMode.length;\n }\n\n get maskOptions(): MaskitoOptions {\n return this.calculateMask(\n this.min,\n this.max,\n this.timeMode,\n this.dateFormat,\n this.dateSeparator,\n );\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(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n private get nativePicker(): boolean {\n return !!this.options.nativePicker && this.isMobile;\n }\n\n get showNativePicker(): boolean {\n return this.nativePicker && this.timeMode === 'HH:MM';\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 (\n this.month ||\n this.value[0] ||\n tuiDateClamp(\n this.defaultActiveYearMonth,\n Array.isArray(this.min) ? this.min[0] : this.min,\n Array.isArray(this.max) ? this.max[0] : this.max,\n )\n );\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 get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\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.value = [null, null];\n\n return;\n }\n\n const [date, time] = value.split(DATE_TIME_SEPARATOR);\n const parsedDate = TuiDay.normalizeParse(date, this.dateFormat);\n const parsedTime =\n time && time.length === this.timeMode.length\n ? TuiTime.fromString(time)\n : null;\n\n this.open = false;\n this.value = [parsedDate, parsedTime];\n }\n\n onDayClick(day: TuiDay): void {\n const modifiedTime = this.value[1] && this.clampTime(this.value[1], day);\n\n this.value = [day, modifiedTime];\n this.updateNativeValue(day);\n this.open = false;\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 (focused) {\n return;\n }\n\n setTimeout(() => {\n this.nativeValue = this.trimTrailingSeparator(this.nativeValue);\n });\n\n if (\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.value = [this.value[0], parsedTime];\n }\n\n override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n override 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 override valueIdenticalComparator(\n oldValue: [TuiDay | null, TuiTime | null],\n newValue: [TuiDay | null, TuiTime | null],\n ): boolean {\n return (\n tuiNullableSame(oldValue[0], newValue[0], (a, b) => a.daySame(b)) &&\n tuiNullableSame(oldValue[1], newValue[1], (a, b) => String(a) === String(b))\n );\n }\n\n @tuiPure\n private calculateMask(\n min: TuiDay | [TuiDay, TuiTime],\n max: TuiDay | [TuiDay, TuiTime],\n timeMode: TuiTimeMode,\n dateFormat: TuiDateMode,\n dateSeparator: string,\n ): MaskitoOptions {\n return maskitoDateTimeOptionsGenerator({\n timeMode,\n dateSeparator,\n dateMode: TUI_DATE_MODE_MASKITO_ADAPTER[dateFormat],\n min: this.toNativeDate(min),\n max: this.toNativeDate(max),\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 timeString\n ? `${dateString}${DATE_TIME_SEPARATOR}${timeString}`\n : dateString;\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(tuiClamp(ms, min, max));\n }\n\n private trimTrailingSeparator(value: string): string {\n return value.replace(\n new RegExp(`(\\\\${this.dateSeparator}|${DATE_TIME_SEPARATOR}|\\\\.)$`),\n '',\n );\n }\n\n private toNativeDate(value: TuiDay | [TuiDay, TuiTime]): Date {\n if (!Array.isArray(value)) {\n return value.toLocalNativeDate();\n }\n\n const [{year, month, day}, {hours, minutes, seconds, ms}] = value;\n\n return new Date(year, month, day, hours, minutes, seconds, ms);\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive && !showNativePicker\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input-date-time__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [tuiTextfieldFiller]=\"(filler$ | async) || ''\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [maskito]=\"maskOptions\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n ></tui-svg>\n <input\n *ngIf=\"showNativePicker\"\n tuiDateTime\n class=\"t-native-input\"\n />\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-input-date-time__calendar\"\n [min]=\"calendarMinDay\"\n [max]=\"calendarMaxDay\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"calendarValue\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n ></tui-calendar>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Directive} from '@angular/core';\nimport {TuiDay, TuiTime} from '@taiga-ui/cdk';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\n\n@Directive({\n selector: 'tui-input-date-time',\n providers: [tuiAsTextfieldHost(TuiInputDateTimeDirective)],\n})\nexport class TuiInputDateTimeDirective extends AbstractTuiTextfieldHost<TuiInputDateTimeComponent> {\n override get value(): string {\n return this.host.computedValue;\n }\n\n get rawValue(): [TuiDay | null, TuiTime | null] {\n return this.host.value;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n writeValue(value: [TuiDay | null, TuiTime | null]): void {\n this.host.writeValue(value);\n }\n\n override process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoModule} from '@maskito/angular';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {\n TuiCalendarModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\nimport {TuiInputDateTimeDirective} from './input-date-time.directive';\nimport {TuiNativeDateTimeDirective} from './native-date-time/native-date-time.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n MaskitoModule,\n PolymorpheusModule,\n TuiWrapperModule,\n TuiPreventDefaultModule,\n TuiCalendarModule,\n TuiSvgModule,\n TuiLinkModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiValueAccessorModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [\n TuiInputDateTimeComponent,\n TuiInputDateTimeDirective,\n TuiNativeDateTimeDirective,\n ],\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":["i6.TuiNativeDateTimeDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-input-date-time.js","sources":["../../../projects/kit/components/input-date-time/native-date-time/native-date-time.directive.ts","../../../projects/kit/components/input-date-time/input-date-time.component.ts","../../../projects/kit/components/input-date-time/input-date-time.template.html","../../../projects/kit/components/input-date-time/input-date-time.directive.ts","../../../projects/kit/components/input-date-time/input-date-time.module.ts","../../../projects/kit/components/input-date-time/taiga-ui-kit-components-input-date-time.ts"],"sourcesContent":["import {Directive, Inject} from '@angular/core';\nimport {TuiDay, TuiTime} from '@taiga-ui/cdk';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/core';\n\nimport type {TuiInputDateTimeDirective} from '../input-date-time.directive';\n\n@Directive({\n selector: 'input[tuiDateTime]',\n host: {\n type: 'datetime-local',\n '[tabIndex]': '-1',\n '[value]': 'value',\n '(change.stop)': 'onChange($event.target.value)',\n '(input.stop)': 'onChange($event.target.value)',\n '(click.stop.silent)': '0',\n '(mousedown.stop.silent)': '0',\n },\n})\nexport class TuiNativeDateTimeDirective {\n constructor(@Inject(TUI_TEXTFIELD_HOST) readonly host: TuiInputDateTimeDirective) {}\n\n get value(): string {\n if (!this.host.rawValue[0] || !this.host.rawValue[1]) {\n return '';\n }\n\n return `${this.host.rawValue[0]?.toString(\n 'YMD',\n '-',\n )}T${this.host.rawValue[1]?.toString('HH:MM')}`;\n }\n\n onChange(value: string): void {\n if (!value) {\n this.host.writeValue([null, null]);\n\n return;\n }\n\n const date = new Date(value);\n const day = TuiDay.fromLocalNativeDate(date);\n const time = TuiTime.fromLocalNativeDate(date);\n\n this.host.writeValue([day, time]);\n }\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 {MaskitoOptions} from '@maskito/core';\nimport {maskitoDateTimeOptionsGenerator} from '@maskito/kit';\nimport {\n AbstractTuiControl,\n AbstractTuiValueTransformer,\n ALWAYS_FALSE_HANDLER,\n changeDateSeparator,\n DATE_FILLER_LENGTH,\n TUI_DATE_FORMAT,\n TUI_DATE_SEPARATOR,\n TUI_IS_IOS,\n TUI_IS_MOBILE,\n TuiActiveZoneDirective,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n tuiClamp,\n TuiContextWithImplicit,\n tuiDateClamp,\n TuiDateMode,\n TuiDay,\n TuiFocusableElementAccessor,\n TuiMonth,\n tuiNullableSame,\n tuiPure,\n TuiTime,\n TuiTimeMode,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_SIZE,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {\n DATE_TIME_SEPARATOR,\n TUI_DATE_MODE_MASKITO_ADAPTER,\n} from '@taiga-ui/kit/constants';\nimport {\n TUI_DATE_TEXTS,\n TUI_DATE_TIME_VALUE_TRANSFORMER,\n TUI_INPUT_DATE_OPTIONS,\n TUI_TIME_TEXTS,\n tuiDateStreamWithTransformer,\n TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\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: [\n tuiAsFocusableItemAccessor(TuiInputDateTimeComponent),\n tuiAsControl(TuiInputDateTimeComponent),\n tuiDateStreamWithTransformer(TUI_DATE_TIME_VALUE_TRANSFORMER),\n ],\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 min: TuiDay | [TuiDay, TuiTime] = this.options.min;\n\n @Input()\n max: TuiDay | [TuiDay, TuiTime] = this.options.max;\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n defaultActiveYearMonth = TuiMonth.currentLocal();\n\n @Input()\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(map(texts => texts[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) cdr: 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 override readonly valueTransformer: AbstractTuiValueTransformer<\n [TuiDay | null, TuiTime | null]\n > | null,\n @Inject(TUI_INPUT_DATE_OPTIONS)\n private readonly options: TuiInputDateOptions,\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(TUI_IS_IOS) readonly isIos: boolean,\n ) {\n super(control, cdr, valueTransformer);\n }\n\n get fillerLength(): number {\n return DATE_FILLER_LENGTH + DATE_TIME_SEPARATOR.length + this.timeMode.length;\n }\n\n get maskOptions(): MaskitoOptions {\n return this.calculateMask(\n this.min,\n this.max,\n this.timeMode,\n this.dateFormat,\n this.dateSeparator,\n );\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(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n private get nativePicker(): boolean {\n return !!this.options.nativePicker && this.isMobile;\n }\n\n get showNativePicker(): boolean {\n return this.nativePicker && this.timeMode === 'HH:MM';\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 (\n this.month ||\n this.value[0] ||\n tuiDateClamp(\n this.defaultActiveYearMonth,\n Array.isArray(this.min) ? this.min[0] : this.min,\n Array.isArray(this.max) ? this.max[0] : this.max,\n )\n );\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 get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\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.value = [null, null];\n\n return;\n }\n\n const [date, time] = value.split(DATE_TIME_SEPARATOR);\n const parsedDate = TuiDay.normalizeParse(date, this.dateFormat);\n const parsedTime =\n time && time.length === this.timeMode.length\n ? TuiTime.fromString(time)\n : null;\n\n this.open = false;\n this.value = [parsedDate, parsedTime];\n }\n\n onDayClick(day: TuiDay): void {\n const modifiedTime = this.value[1] && this.clampTime(this.value[1], day);\n const newCaretIndex = DATE_FILLER_LENGTH + DATE_TIME_SEPARATOR.length;\n\n this.value = [day, modifiedTime];\n this.updateNativeValue(day);\n this.nativeFocusableElement?.setSelectionRange(newCaretIndex, newCaretIndex);\n this.open = false;\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 (focused) {\n return;\n }\n\n setTimeout(() => {\n this.nativeValue = this.trimTrailingSeparator(this.nativeValue);\n });\n\n if (\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.value = [this.value[0], parsedTime];\n }\n\n override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n override 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 override valueIdenticalComparator(\n oldValue: [TuiDay | null, TuiTime | null],\n newValue: [TuiDay | null, TuiTime | null],\n ): boolean {\n return (\n tuiNullableSame(oldValue[0], newValue[0], (a, b) => a.daySame(b)) &&\n tuiNullableSame(oldValue[1], newValue[1], (a, b) => String(a) === String(b))\n );\n }\n\n @tuiPure\n private calculateMask(\n min: TuiDay | [TuiDay, TuiTime],\n max: TuiDay | [TuiDay, TuiTime],\n timeMode: TuiTimeMode,\n dateFormat: TuiDateMode,\n dateSeparator: string,\n ): MaskitoOptions {\n return maskitoDateTimeOptionsGenerator({\n timeMode,\n dateSeparator,\n dateMode: TUI_DATE_MODE_MASKITO_ADAPTER[dateFormat],\n min: this.toNativeDate(min),\n max: this.toNativeDate(max),\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 timeString\n ? `${dateString}${DATE_TIME_SEPARATOR}${timeString}`\n : dateString;\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(tuiClamp(ms, min, max));\n }\n\n private trimTrailingSeparator(value: string): string {\n return value.replace(\n new RegExp(`(\\\\${this.dateSeparator}|${DATE_TIME_SEPARATOR}|\\\\.)$`),\n '',\n );\n }\n\n private toNativeDate(value: TuiDay | [TuiDay, TuiTime]): Date {\n if (!Array.isArray(value)) {\n return value.toLocalNativeDate();\n }\n\n const [{year, month, day}, {hours, minutes, seconds, ms}] = value;\n\n return new Date(year, month, day, hours, minutes, seconds, ms);\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive && !showNativePicker\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input-date-time__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [tuiTextfieldFiller]=\"(filler$ | async) || ''\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [maskito]=\"maskOptions\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n ></tui-svg>\n <input\n *ngIf=\"showNativePicker\"\n tuiDateTime\n class=\"t-native-input\"\n />\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-input-date-time__calendar\"\n [min]=\"calendarMinDay\"\n [max]=\"calendarMaxDay\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"calendarValue\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n ></tui-calendar>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Directive} from '@angular/core';\nimport {TuiDay, TuiTime} from '@taiga-ui/cdk';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\n\n@Directive({\n selector: 'tui-input-date-time',\n providers: [tuiAsTextfieldHost(TuiInputDateTimeDirective)],\n})\nexport class TuiInputDateTimeDirective extends AbstractTuiTextfieldHost<TuiInputDateTimeComponent> {\n override get value(): string {\n return this.host.computedValue;\n }\n\n get rawValue(): [TuiDay | null, TuiTime | null] {\n return this.host.value;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n writeValue(value: [TuiDay | null, TuiTime | null]): void {\n this.host.writeValue(value);\n }\n\n override process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoModule} from '@maskito/angular';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {\n TuiCalendarModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\nimport {TuiInputDateTimeDirective} from './input-date-time.directive';\nimport {TuiNativeDateTimeDirective} from './native-date-time/native-date-time.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n MaskitoModule,\n PolymorpheusModule,\n TuiWrapperModule,\n TuiPreventDefaultModule,\n TuiCalendarModule,\n TuiSvgModule,\n TuiLinkModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiValueAccessorModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [\n TuiInputDateTimeComponent,\n TuiInputDateTimeDirective,\n TuiNativeDateTimeDirective,\n ],\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":["i6.TuiNativeDateTimeDirective"],"mappings":"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"}
|
|
@@ -161,7 +161,7 @@ TuiInputPhoneInternationalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersi
|
|
|
161
161
|
// TODO: for backward compatibility only. Drop in v4.0
|
|
162
162
|
TuiFlagPipe,
|
|
163
163
|
TuiToCountryCodePipe,
|
|
164
|
-
], viewQueries: [{ propertyName: "inputPhoneComponent", first: true, predicate: TuiInputPhoneComponent, descendants: true }, { propertyName: "primitiveTextfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n *ngIf=\"countriesNames$ | async as countriesNames\"\n class=\"t-hosted-dropdown\"\n [content]=\"dropdown\"\n [canOpen]=\"!readOnly\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div tuiGroup>\n <tui-primitive-textfield\n tuiHintContent=\"\"\n tuiTextfieldPrefix=\"\"\n tuiTextfieldPostfix=\"\"\n class=\"t-country-select tui-group__auto-width-item\"\n [tuiTextfieldCustomContent]=\"countryValueContent\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldIcon]=\"icon\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [editable]=\"false\"\n [pseudoFocus]=\"open || null\"\n [readOnly]=\"readOnly\"\n ></tui-primitive-textfield>\n <tui-input-phone\n class=\"t-input-phone tui-group__auto-width-item\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [countryCode]=\"inputPhoneCountryCode\"\n [phoneMaskAfterCountryCode]=\"phoneMaskAfterCountryCode\"\n [readOnly]=\"readOnly\"\n [pseudoInvalid]=\"computedInvalid\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [(ngModel)]=\"value\"\n >\n <ng-content></ng-content>\n <input\n tuiTextfield\n autocomplete=\"new-password\"\n />\n </tui-input-phone>\n </div>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-country-item-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiMapper : isoToCountryCodeMapper }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n\n <ng-template #countryValueContent>\n <!-- eslint-disable @html-eslint/require-img-alt -->\n <img\n class=\"t-flag\"\n [alt]=\"countriesNames[countryIsoCode]\"\n [src]=\"countryIsoCode | tuiFlag\"\n />\n </ng-template>\n\n <ng-template #icon>\n <div\n tuiWrapper\n appearance=\"icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\"></ng-container>\n </div>\n </ng-template>\n</tui-hosted-dropdown>\n", styles: [":host{display:block}:host._disabled{pointer-events:none}.t-hosted-dropdown{display:block}.t-country-select{width:5.625rem}.t-country-select:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}.t-country-select._readonly ::ng-deep input{cursor:default}.t-country-select[data-size=m]{width:5.5rem}.t-country-select[data-size=s]{width:2rem}.t-country-select[data-size=s] .t-flag{margin-left:-1rem}.t-arrow-icon{position:relative;display:flex;width:1.5rem;height:1.5rem;
|
|
164
|
+
], viewQueries: [{ propertyName: "inputPhoneComponent", first: true, predicate: TuiInputPhoneComponent, descendants: true }, { propertyName: "primitiveTextfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n *ngIf=\"countriesNames$ | async as countriesNames\"\n class=\"t-hosted-dropdown\"\n [content]=\"dropdown\"\n [canOpen]=\"!readOnly\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div tuiGroup>\n <tui-primitive-textfield\n tuiHintContent=\"\"\n tuiTextfieldPrefix=\"\"\n tuiTextfieldPostfix=\"\"\n class=\"t-country-select tui-group__auto-width-item\"\n [tuiTextfieldCustomContent]=\"countryValueContent\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldIcon]=\"icon\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [editable]=\"false\"\n [pseudoFocus]=\"open || null\"\n [readOnly]=\"readOnly\"\n ></tui-primitive-textfield>\n <tui-input-phone\n class=\"t-input-phone tui-group__auto-width-item\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [countryCode]=\"inputPhoneCountryCode\"\n [phoneMaskAfterCountryCode]=\"phoneMaskAfterCountryCode\"\n [readOnly]=\"readOnly\"\n [pseudoInvalid]=\"computedInvalid\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [(ngModel)]=\"value\"\n >\n <ng-content></ng-content>\n <input\n tuiTextfield\n autocomplete=\"new-password\"\n />\n </tui-input-phone>\n </div>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-country-item-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiMapper : isoToCountryCodeMapper }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n\n <ng-template #countryValueContent>\n <!-- eslint-disable @html-eslint/require-img-alt -->\n <img\n class=\"t-flag\"\n [alt]=\"countriesNames[countryIsoCode]\"\n [src]=\"countryIsoCode | tuiFlag\"\n />\n </ng-template>\n\n <ng-template #icon>\n <div\n tuiWrapper\n appearance=\"icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\"></ng-container>\n </div>\n </ng-template>\n</tui-hosted-dropdown>\n", styles: [":host{display:block}:host._disabled{pointer-events:none}.t-hosted-dropdown{display:block}.t-country-select{width:5.625rem}.t-country-select:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}.t-country-select._readonly ::ng-deep input{cursor:default}.t-country-select[data-size=m]{width:5.5rem}.t-country-select[data-size=s]{width:2rem}.t-country-select[data-size=s] .t-flag{margin-left:-1rem}.t-arrow-icon{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none;pointer-events:auto}:host._readonly .t-arrow-icon,:host._disabled .t-arrow-icon{pointer-events:none}.t-arrow-icon_open{transform:rotate(180deg)}.t-input-phone{flex:1}.t-flag{width:1.75rem;height:1.25rem;margin-left:-.5rem}.t-country-item-flag{width:1.75rem;height:1.25rem}.t-country-item-name{margin-left:.75rem;margin-right:auto}.t-country-item-code{color:var(--tui-text-02);margin-right:.25rem}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i2.TuiInputPhoneComponent, selector: "tui-input-phone", inputs: ["countryCode", "phoneMaskAfterCountryCode", "allowText", "search"], outputs: ["searchChange"] }, { type: i1.TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]" }, { type: i1.TuiDataListComponent, selector: "tui-data-list", inputs: ["role", "emptyContent", "size"] }, { type: i1.TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: ["size", "role", "disabled", "value"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i1.TuiHintOptionsDirective, selector: "[tuiHintContent]", inputs: ["tuiHintContent", "tuiHintDirection", "tuiHintAppearance", "tuiHintShowDelay", "tuiHintHideDelay"] }, { type: i1.TuiTextfieldPrefixDirective, selector: "[tuiTextfieldPrefix]", inputs: ["tuiTextfieldPrefix"] }, { type: i1.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { type: i1.TuiTextfieldCustomContentDirective, selector: "[tuiTextfieldCustomContent]", inputs: ["tuiTextfieldCustomContent"] }, { type: i1.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i2.TuiInputPhoneDirective, selector: "tui-input-phone" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i3.AsyncPipe, "tuiFlag": i1.TuiFlagPipe, "tuiMapper": i4.TuiMapperPipe }, viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
165
165
|
__decorate([
|
|
166
166
|
tuiPure
|
|
167
167
|
], TuiInputPhoneInternationalComponent.prototype, "calculateMaskAfterCountryCode", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-input-phone-international.js","sources":["../../../projects/kit/components/input-phone-international/input-phone-international.options.ts","../../../projects/kit/components/input-phone-international/utils/extract-value-from-event.ts","../../../projects/kit/components/input-phone-international/input-phone-international.component.ts","../../../projects/kit/components/input-phone-international/input-phone-international.template.html","../../../projects/kit/components/input-phone-international/input-phone-international.module.ts","../../../projects/kit/components/input-phone-international/taiga-ui-kit-components-input-phone-international.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateOptions, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiCountryIsoCode} from '@taiga-ui/i18n';\n\nexport interface TuiInputPhoneInternationalOptions {\n readonly countries: readonly TuiCountryIsoCode[];\n readonly countryIsoCode: TuiCountryIsoCode;\n}\n\nexport const TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS: TuiInputPhoneInternationalOptions =\n {\n countries: [],\n countryIsoCode: TuiCountryIsoCode.RU,\n };\n\n/**\n * Default parameters for input phone international component\n */\nexport const TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS = tuiCreateOptions(\n TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS,\n);\n\nexport function tuiInputPhoneInternationalOptionsProvider(\n options: Partial<TuiInputPhoneInternationalOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS,\n options,\n TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS,\n );\n}\n","import {tuiGetClipboardDataText} from '@taiga-ui/cdk';\n\nexport function tuiExtractValueFromEvent(event: ClipboardEvent | DragEvent): string {\n return `dataTransfer` in event\n ? event.dataTransfer?.getData(`text/plain`) || ``\n : tuiGetClipboardDataText(event);\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n CHAR_PLUS,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n TuiMapper,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_MASK_SYMBOLS_REGEXP,\n TUI_NON_DIGITS_REGEXP,\n TuiFlagPipe,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n} from '@taiga-ui/core';\nimport {TuiCountryIsoCode} from '@taiga-ui/i18n';\nimport {TUI_ARROW} from '@taiga-ui/kit/components/arrow';\nimport {TuiInputPhoneComponent} from '@taiga-ui/kit/components/input-phone';\nimport {TuiToCountryCodePipe} from '@taiga-ui/kit/pipes';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {TUI_COUNTRIES, TUI_COUNTRIES_MASKS} from '@taiga-ui/kit/tokens';\nimport {tuiGetMaxAllowedPhoneLength, tuiIsoToCountryCode} from '@taiga-ui/kit/utils';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {\n TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS,\n TuiInputPhoneInternationalOptions,\n} from './input-phone-international.options';\nimport {tuiExtractValueFromEvent} from './utils/extract-value-from-event';\n\n@Component({\n selector: 'tui-input-phone-international',\n templateUrl: './input-phone-international.template.html',\n styleUrls: ['./input-phone-international.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputPhoneInternationalComponent),\n tuiAsControl(TuiInputPhoneInternationalComponent),\n // TODO: for backward compatibility only. Drop in v4.0\n TuiFlagPipe,\n TuiToCountryCodePipe,\n ],\n viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER],\n})\nexport class TuiInputPhoneInternationalComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiInputPhoneComponent)\n private readonly inputPhoneComponent?: TuiInputPhoneComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly primitiveTextfield?: TuiPrimitiveTextfieldComponent;\n\n @Input('countryIsoCode')\n set isoCode(code: TuiCountryIsoCode) {\n if (this.countryIsoCode === code) {\n return;\n }\n\n this.inputPhoneComponent?.writeValue(this.value);\n this.countryIsoCode = code;\n }\n\n @Input()\n countries = this.options.countries;\n\n @Output()\n readonly countryIsoCodeChange = new EventEmitter<TuiCountryIsoCode>();\n\n countryIsoCode = this.options.countryIsoCode;\n\n open = false;\n\n readonly arrow: PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeL | TuiSizeM | TuiSizeS>\n > = TUI_ARROW;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_COUNTRIES)\n readonly countriesNames$: Observable<Record<TuiCountryIsoCode, string>>,\n @Inject(TUI_COUNTRIES_MASKS)\n readonly countriesMasks: Record<TuiCountryIsoCode, string>,\n @Inject(TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS)\n private readonly options: TuiInputPhoneInternationalOptions,\n @Inject(TuiFlagPipe)\n private readonly flagPipe: TuiFlagPipe,\n @Inject(TuiToCountryCodePipe)\n private readonly extractCountryCodePipe: TuiToCountryCodePipe,\n ) {\n super(control, cdr);\n }\n\n get nativeFocusableElement(): HTMLElement | null {\n return this.inputPhoneComponent && !this.computedDisabled\n ? this.inputPhoneComponent.nativeFocusableElement\n : null;\n }\n\n get focused(): boolean {\n return (\n (!!this.primitiveTextfield && this.primitiveTextfield.focused) ||\n (!!this.inputPhoneComponent && this.inputPhoneComponent.focused)\n );\n }\n\n get inputPhoneCountryCode(): string {\n return tuiIsoToCountryCode(this.countriesMasks, this.countryIsoCode);\n }\n\n get phoneMaskAfterCountryCode(): string {\n const countryCode = this.inputPhoneCountryCode;\n\n return this.calculateMaskAfterCountryCode(\n this.countriesMasks[this.countryIsoCode],\n countryCode,\n );\n }\n\n /**\n * @deprecated use `<img [src]=\"countryIsoCode | tuiFlagPipe\" />`\n * TODO drop in v4.0\n */\n get countryFlagPath(): string {\n return this.getFlagPath(this.countryIsoCode);\n }\n\n @HostListener('paste.capture.prevent.stop', ['$event'])\n @HostListener('drop.capture.prevent.stop', ['$event'])\n onPaste(event: ClipboardEvent | DragEvent): void {\n let value = tuiExtractValueFromEvent(event).replace(TUI_NON_DIGITS_REGEXP, '');\n const countryIsoCode = this.extractCountryCodePipe.transform(\n value,\n this.countries,\n );\n\n if (!countryIsoCode) {\n this.value = `${this.inputPhoneCountryCode}${value}`\n .replace(TUI_MASK_SYMBOLS_REGEXP, '')\n .slice(\n 0,\n tuiGetMaxAllowedPhoneLength(this.countriesMasks, this.countryIsoCode),\n );\n\n return;\n }\n\n if (countryIsoCode === TuiCountryIsoCode.RU) {\n value = value.replace(/^8/, '7');\n }\n\n this.updateCountryIsoCode(countryIsoCode);\n this.value = `${CHAR_PLUS}${value}`;\n }\n\n readonly isoToCountryCodeMapper: TuiMapper<TuiCountryIsoCode, string> = item =>\n tuiIsoToCountryCode(this.countriesMasks, item);\n\n /**\n * @deprecated use `<img [src]=\"countryIsoCode | tuiFlagPipe\" />`\n * TODO drop in v4.0\n */\n getFlagPath(code: TuiCountryIsoCode): string {\n return this.flagPipe.transform(code);\n }\n\n onItemClick(isoCode: TuiCountryIsoCode): void {\n this.open = false;\n this.updateCountryIsoCode(isoCode);\n // recalculates mask inside inputPhone to prevent isoCode conflict\n this.cdr.detectChanges();\n\n const maxLength = tuiGetMaxAllowedPhoneLength(this.countriesMasks, isoCode);\n\n if (this.value.length > maxLength) {\n this.value = this.value.slice(0, maxLength);\n }\n\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus();\n }\n }\n\n override setDisabledState(): void {\n super.setDisabledState();\n this.close();\n }\n\n /**\n * @deprecated use `{{ countryIsoCode | tuiIsoToCountryCode }}`\n * TODO drop in v4.0\n */\n isoToCountryCode(isoCode: TuiCountryIsoCode): string {\n return tuiIsoToCountryCode(this.countriesMasks, isoCode);\n }\n\n /** @deprecated use 'value' setter */\n onModelChange(value: string): void {\n this.value = value;\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n @tuiPure\n private calculateMaskAfterCountryCode(mask: string, countryCode: string): string {\n return mask.replace(countryCode, '').trim();\n }\n\n private close(): void {\n this.open = false;\n }\n\n private updateCountryIsoCode(code: TuiCountryIsoCode): void {\n this.countryIsoCode = code;\n this.countryIsoCodeChange.emit(code);\n }\n}\n","<tui-hosted-dropdown\n *ngIf=\"countriesNames$ | async as countriesNames\"\n class=\"t-hosted-dropdown\"\n [content]=\"dropdown\"\n [canOpen]=\"!readOnly\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div tuiGroup>\n <tui-primitive-textfield\n tuiHintContent=\"\"\n tuiTextfieldPrefix=\"\"\n tuiTextfieldPostfix=\"\"\n class=\"t-country-select tui-group__auto-width-item\"\n [tuiTextfieldCustomContent]=\"countryValueContent\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldIcon]=\"icon\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [editable]=\"false\"\n [pseudoFocus]=\"open || null\"\n [readOnly]=\"readOnly\"\n ></tui-primitive-textfield>\n <tui-input-phone\n class=\"t-input-phone tui-group__auto-width-item\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [countryCode]=\"inputPhoneCountryCode\"\n [phoneMaskAfterCountryCode]=\"phoneMaskAfterCountryCode\"\n [readOnly]=\"readOnly\"\n [pseudoInvalid]=\"computedInvalid\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [(ngModel)]=\"value\"\n >\n <ng-content></ng-content>\n <input\n tuiTextfield\n autocomplete=\"new-password\"\n />\n </tui-input-phone>\n </div>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-country-item-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiMapper : isoToCountryCodeMapper }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n\n <ng-template #countryValueContent>\n <!-- eslint-disable @html-eslint/require-img-alt -->\n <img\n class=\"t-flag\"\n [alt]=\"countriesNames[countryIsoCode]\"\n [src]=\"countryIsoCode | tuiFlag\"\n />\n </ng-template>\n\n <ng-template #icon>\n <div\n tuiWrapper\n appearance=\"icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\"></ng-container>\n </div>\n </ng-template>\n</tui-hosted-dropdown>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiActiveZoneModule, TuiLetModule, TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {\n TuiDataListModule,\n TuiFlagPipeModule,\n TuiGroupModule,\n TuiHintModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiInputPhoneModule} from '@taiga-ui/kit/components/input-phone';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputPhoneInternationalComponent} from './input-phone-international.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiInputPhoneModule,\n TuiGroupModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiHintModule,\n TuiHostedDropdownModule,\n TuiDataListModule,\n TuiArrowModule,\n TuiWrapperModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiActiveZoneModule,\n TuiFlagPipeModule,\n ],\n declarations: [TuiInputPhoneInternationalComponent],\n exports: [TuiInputPhoneInternationalComponent],\n})\nexport class TuiInputPhoneInternationalModule {}\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-phone-international.js","sources":["../../../projects/kit/components/input-phone-international/input-phone-international.options.ts","../../../projects/kit/components/input-phone-international/utils/extract-value-from-event.ts","../../../projects/kit/components/input-phone-international/input-phone-international.component.ts","../../../projects/kit/components/input-phone-international/input-phone-international.template.html","../../../projects/kit/components/input-phone-international/input-phone-international.module.ts","../../../projects/kit/components/input-phone-international/taiga-ui-kit-components-input-phone-international.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateOptions, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiCountryIsoCode} from '@taiga-ui/i18n';\n\nexport interface TuiInputPhoneInternationalOptions {\n readonly countries: readonly TuiCountryIsoCode[];\n readonly countryIsoCode: TuiCountryIsoCode;\n}\n\nexport const TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS: TuiInputPhoneInternationalOptions =\n {\n countries: [],\n countryIsoCode: TuiCountryIsoCode.RU,\n };\n\n/**\n * Default parameters for input phone international component\n */\nexport const TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS = tuiCreateOptions(\n TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS,\n);\n\nexport function tuiInputPhoneInternationalOptionsProvider(\n options: Partial<TuiInputPhoneInternationalOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS,\n options,\n TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS,\n );\n}\n","import {tuiGetClipboardDataText} from '@taiga-ui/cdk';\n\nexport function tuiExtractValueFromEvent(event: ClipboardEvent | DragEvent): string {\n return `dataTransfer` in event\n ? event.dataTransfer?.getData(`text/plain`) || ``\n : tuiGetClipboardDataText(event);\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n CHAR_PLUS,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n TuiMapper,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_MASK_SYMBOLS_REGEXP,\n TUI_NON_DIGITS_REGEXP,\n TuiFlagPipe,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n} from '@taiga-ui/core';\nimport {TuiCountryIsoCode} from '@taiga-ui/i18n';\nimport {TUI_ARROW} from '@taiga-ui/kit/components/arrow';\nimport {TuiInputPhoneComponent} from '@taiga-ui/kit/components/input-phone';\nimport {TuiToCountryCodePipe} from '@taiga-ui/kit/pipes';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {TUI_COUNTRIES, TUI_COUNTRIES_MASKS} from '@taiga-ui/kit/tokens';\nimport {tuiGetMaxAllowedPhoneLength, tuiIsoToCountryCode} from '@taiga-ui/kit/utils';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {\n TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS,\n TuiInputPhoneInternationalOptions,\n} from './input-phone-international.options';\nimport {tuiExtractValueFromEvent} from './utils/extract-value-from-event';\n\n@Component({\n selector: 'tui-input-phone-international',\n templateUrl: './input-phone-international.template.html',\n styleUrls: ['./input-phone-international.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputPhoneInternationalComponent),\n tuiAsControl(TuiInputPhoneInternationalComponent),\n // TODO: for backward compatibility only. Drop in v4.0\n TuiFlagPipe,\n TuiToCountryCodePipe,\n ],\n viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER],\n})\nexport class TuiInputPhoneInternationalComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiInputPhoneComponent)\n private readonly inputPhoneComponent?: TuiInputPhoneComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly primitiveTextfield?: TuiPrimitiveTextfieldComponent;\n\n @Input('countryIsoCode')\n set isoCode(code: TuiCountryIsoCode) {\n if (this.countryIsoCode === code) {\n return;\n }\n\n this.inputPhoneComponent?.writeValue(this.value);\n this.countryIsoCode = code;\n }\n\n @Input()\n countries = this.options.countries;\n\n @Output()\n readonly countryIsoCodeChange = new EventEmitter<TuiCountryIsoCode>();\n\n countryIsoCode = this.options.countryIsoCode;\n\n open = false;\n\n readonly arrow: PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeL | TuiSizeM | TuiSizeS>\n > = TUI_ARROW;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_COUNTRIES)\n readonly countriesNames$: Observable<Record<TuiCountryIsoCode, string>>,\n @Inject(TUI_COUNTRIES_MASKS)\n readonly countriesMasks: Record<TuiCountryIsoCode, string>,\n @Inject(TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS)\n private readonly options: TuiInputPhoneInternationalOptions,\n @Inject(TuiFlagPipe)\n private readonly flagPipe: TuiFlagPipe,\n @Inject(TuiToCountryCodePipe)\n private readonly extractCountryCodePipe: TuiToCountryCodePipe,\n ) {\n super(control, cdr);\n }\n\n get nativeFocusableElement(): HTMLElement | null {\n return this.inputPhoneComponent && !this.computedDisabled\n ? this.inputPhoneComponent.nativeFocusableElement\n : null;\n }\n\n get focused(): boolean {\n return (\n (!!this.primitiveTextfield && this.primitiveTextfield.focused) ||\n (!!this.inputPhoneComponent && this.inputPhoneComponent.focused)\n );\n }\n\n get inputPhoneCountryCode(): string {\n return tuiIsoToCountryCode(this.countriesMasks, this.countryIsoCode);\n }\n\n get phoneMaskAfterCountryCode(): string {\n const countryCode = this.inputPhoneCountryCode;\n\n return this.calculateMaskAfterCountryCode(\n this.countriesMasks[this.countryIsoCode],\n countryCode,\n );\n }\n\n /**\n * @deprecated use `<img [src]=\"countryIsoCode | tuiFlagPipe\" />`\n * TODO drop in v4.0\n */\n get countryFlagPath(): string {\n return this.getFlagPath(this.countryIsoCode);\n }\n\n @HostListener('paste.capture.prevent.stop', ['$event'])\n @HostListener('drop.capture.prevent.stop', ['$event'])\n onPaste(event: ClipboardEvent | DragEvent): void {\n let value = tuiExtractValueFromEvent(event).replace(TUI_NON_DIGITS_REGEXP, '');\n const countryIsoCode = this.extractCountryCodePipe.transform(\n value,\n this.countries,\n );\n\n if (!countryIsoCode) {\n this.value = `${this.inputPhoneCountryCode}${value}`\n .replace(TUI_MASK_SYMBOLS_REGEXP, '')\n .slice(\n 0,\n tuiGetMaxAllowedPhoneLength(this.countriesMasks, this.countryIsoCode),\n );\n\n return;\n }\n\n if (countryIsoCode === TuiCountryIsoCode.RU) {\n value = value.replace(/^8/, '7');\n }\n\n this.updateCountryIsoCode(countryIsoCode);\n this.value = `${CHAR_PLUS}${value}`;\n }\n\n readonly isoToCountryCodeMapper: TuiMapper<TuiCountryIsoCode, string> = item =>\n tuiIsoToCountryCode(this.countriesMasks, item);\n\n /**\n * @deprecated use `<img [src]=\"countryIsoCode | tuiFlagPipe\" />`\n * TODO drop in v4.0\n */\n getFlagPath(code: TuiCountryIsoCode): string {\n return this.flagPipe.transform(code);\n }\n\n onItemClick(isoCode: TuiCountryIsoCode): void {\n this.open = false;\n this.updateCountryIsoCode(isoCode);\n // recalculates mask inside inputPhone to prevent isoCode conflict\n this.cdr.detectChanges();\n\n const maxLength = tuiGetMaxAllowedPhoneLength(this.countriesMasks, isoCode);\n\n if (this.value.length > maxLength) {\n this.value = this.value.slice(0, maxLength);\n }\n\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus();\n }\n }\n\n override setDisabledState(): void {\n super.setDisabledState();\n this.close();\n }\n\n /**\n * @deprecated use `{{ countryIsoCode | tuiIsoToCountryCode }}`\n * TODO drop in v4.0\n */\n isoToCountryCode(isoCode: TuiCountryIsoCode): string {\n return tuiIsoToCountryCode(this.countriesMasks, isoCode);\n }\n\n /** @deprecated use 'value' setter */\n onModelChange(value: string): void {\n this.value = value;\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n @tuiPure\n private calculateMaskAfterCountryCode(mask: string, countryCode: string): string {\n return mask.replace(countryCode, '').trim();\n }\n\n private close(): void {\n this.open = false;\n }\n\n private updateCountryIsoCode(code: TuiCountryIsoCode): void {\n this.countryIsoCode = code;\n this.countryIsoCodeChange.emit(code);\n }\n}\n","<tui-hosted-dropdown\n *ngIf=\"countriesNames$ | async as countriesNames\"\n class=\"t-hosted-dropdown\"\n [content]=\"dropdown\"\n [canOpen]=\"!readOnly\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div tuiGroup>\n <tui-primitive-textfield\n tuiHintContent=\"\"\n tuiTextfieldPrefix=\"\"\n tuiTextfieldPostfix=\"\"\n class=\"t-country-select tui-group__auto-width-item\"\n [tuiTextfieldCustomContent]=\"countryValueContent\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldIcon]=\"icon\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [editable]=\"false\"\n [pseudoFocus]=\"open || null\"\n [readOnly]=\"readOnly\"\n ></tui-primitive-textfield>\n <tui-input-phone\n class=\"t-input-phone tui-group__auto-width-item\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [countryCode]=\"inputPhoneCountryCode\"\n [phoneMaskAfterCountryCode]=\"phoneMaskAfterCountryCode\"\n [readOnly]=\"readOnly\"\n [pseudoInvalid]=\"computedInvalid\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [(ngModel)]=\"value\"\n >\n <ng-content></ng-content>\n <input\n tuiTextfield\n autocomplete=\"new-password\"\n />\n </tui-input-phone>\n </div>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-country-item-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiMapper : isoToCountryCodeMapper }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n\n <ng-template #countryValueContent>\n <!-- eslint-disable @html-eslint/require-img-alt -->\n <img\n class=\"t-flag\"\n [alt]=\"countriesNames[countryIsoCode]\"\n [src]=\"countryIsoCode | tuiFlag\"\n />\n </ng-template>\n\n <ng-template #icon>\n <div\n tuiWrapper\n appearance=\"icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\"></ng-container>\n </div>\n </ng-template>\n</tui-hosted-dropdown>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiActiveZoneModule, TuiLetModule, TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {\n TuiDataListModule,\n TuiFlagPipeModule,\n TuiGroupModule,\n TuiHintModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiInputPhoneModule} from '@taiga-ui/kit/components/input-phone';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputPhoneInternationalComponent} from './input-phone-international.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiInputPhoneModule,\n TuiGroupModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiHintModule,\n TuiHostedDropdownModule,\n TuiDataListModule,\n TuiArrowModule,\n TuiWrapperModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiActiveZoneModule,\n TuiFlagPipeModule,\n ],\n declarations: [TuiInputPhoneInternationalComponent],\n exports: [TuiInputPhoneInternationalComponent],\n})\nexport class TuiInputPhoneInternationalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|