@taiga-ui/legacy 4.101.0 → 4.103.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.
- package/components/input-color/input-color.component.d.ts +3 -0
- package/esm2022/components/combo-box/combo-box.component.mjs +2 -2
- package/esm2022/components/input/input.component.mjs +2 -2
- package/esm2022/components/input-color/input-color.component.mjs +9 -3
- package/esm2022/components/input-copy/input-copy.component.mjs +2 -2
- package/esm2022/components/input-date/input-date.component.mjs +2 -2
- package/esm2022/components/input-date-multi/input-date-multi.component.mjs +2 -2
- package/esm2022/components/input-date-range/input-date-range.component.mjs +2 -2
- package/esm2022/components/input-date-time/input-date-time.component.mjs +2 -2
- package/esm2022/components/input-month/input-month.component.mjs +2 -2
- package/esm2022/components/input-month-range/input-month-range.component.mjs +2 -2
- package/esm2022/components/input-number/input-number.component.mjs +2 -2
- package/esm2022/components/input-password/input-password.component.mjs +2 -2
- package/esm2022/components/input-phone/input-phone.component.mjs +2 -2
- package/esm2022/components/input-range/input-range.component.mjs +2 -2
- package/esm2022/components/input-tag/input-tag.component.mjs +2 -2
- package/esm2022/components/input-time/input-time.component.mjs +2 -2
- package/esm2022/components/input-year/input-year.component.mjs +2 -2
- package/esm2022/components/multi-select/multi-select.component.mjs +2 -2
- package/esm2022/components/primitive-textfield/primitive-textfield.component.mjs +2 -2
- package/esm2022/components/primitive-textfield/textfield/textfield.component.mjs +2 -2
- package/esm2022/components/select/select.component.mjs +2 -2
- package/esm2022/components/textarea/textarea.component.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-color.mjs +8 -2
- package/fesm2022/taiga-ui-legacy-components-input-color.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-date.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-month.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-number.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-password.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-time.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-year.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +4 -4
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-select.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-textarea.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
- package/package.json +42 -42
- package/styles/mixins/textfield.less +18 -12
- package/utils/icons-path-factory.d.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-combo-box.mjs","sources":["../../../projects/legacy/components/combo-box/combo-box.component.ts","../../../projects/legacy/components/combo-box/combo-box.template.html","../../../projects/legacy/components/combo-box/combo-box.directive.ts","../../../projects/legacy/components/combo-box/combo-box-strict.directive.ts","../../../projects/legacy/components/combo-box/combo-box.module.ts","../../../projects/legacy/components/combo-box/taiga-ui-legacy-components-combo-box.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {TUI_STRICT_MATCHER} from '@taiga-ui/cdk/constants';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {type TuiContext, type TuiStringMatcher} from '@taiga-ui/cdk/types';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n tuiAsDataListHost,\n tuiAsOptionContent,\n type TuiDataListAccessor,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {\n type TuiSizeL,\n type TuiSizeM,\n type TuiSizeS,\n type TuiValueContentContext,\n} from '@taiga-ui/core/types';\nimport {TUI_ITEMS_HANDLERS, type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNullableControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TUI_ARROW_MODE} from '@taiga-ui/legacy/components/arrow';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/legacy/components/select-option';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-combo-box',\n templateUrl: './combo-box.template.html',\n styleUrls: ['./combo-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiComboBoxComponent),\n tuiAsDataListHost(TuiComboBoxComponent),\n tuiAsControl(TuiComboBoxComponent),\n tuiAsOptionContent(TUI_SELECT_OPTION),\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n },\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(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly arrowMode = inject(TUI_ARROW_MODE);\n private readonly itemsHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n @Input()\n public stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n public strictMatcher: TuiStringMatcher<T> | null = TUI_STRICT_MATCHER;\n\n @Input()\n public identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n public valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n\n @Input()\n public strict = true;\n\n @Input()\n public search: string | null = null;\n\n @Output()\n public readonly searchChange = new EventEmitter<string | null>();\n\n public open = false;\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return (\n tuiIsNativeFocused(this.nativeFocusableElement) ||\n !!this.dropdown?.tuiDropdownOpen\n );\n }\n\n public get nativeValue(): string {\n return this.value === null ? this.search || '' : this.stringify(this.value);\n }\n\n public checkOption(option: T): void {\n if (!this.isStrictMatch(option)) {\n return;\n }\n\n this.value = option;\n this.updateSearch(null);\n }\n\n public handleOption(item: T): void {\n this.focusInput();\n this.close();\n this.updateSearch(null);\n this.value = item;\n\n if (this.value) {\n this.setNativeValue(this.stringify(item));\n }\n }\n\n public onValueChange(value: string): void {\n this.updateSearch(value);\n\n const match = this.accessor\n ?.getOptions()\n .find((item) => this.isStrictMatch(item));\n\n if (match !== undefined) {\n this.value = match;\n this.updateSearch(null);\n\n return;\n }\n\n if (this.strict || this.search === '') {\n this.value = null;\n }\n\n // Clearing sets the empty value, the dropdown should not be opened on clear.\n if (this.search !== '') {\n this.open = true;\n }\n }\n\n public toggle(): void {\n if (this.interactive) {\n this.open = !this.open;\n }\n }\n\n protected get arrow(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n protected get showValueTemplate(): boolean {\n return tuiIsPresent(this.value) && !this.focused;\n }\n\n protected get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.nativeValue;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected 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.value = options[0] ?? null;\n this.updateSearch(null);\n this.close();\n }\n\n private isStrictMatch(item: T): boolean {\n return !!this.search && !!this.strictMatcher?.(item, this.search, this.stringify);\n }\n\n private close(): void {\n this.open = 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 = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !!datalist\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-combo-box__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"nativeValue\"\n (click)=\"toggle()\"\n (keydown.enter)=\"onFieldKeyDownEnter($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n <div\n *ngIf=\"showValueTemplate\"\n automation-id=\"tui-combo-box__template\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value!, active: computedFocused}\"\n >\n {{ text }}\n </ng-container>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiComboBoxComponent} from './combo-box.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-combo-box',\n providers: [tuiAsTextfieldHost(TuiComboBoxDirective)],\n})\nexport class TuiComboBoxDirective extends AbstractTuiTextfieldHost<\n TuiComboBoxComponent<unknown>\n> {\n public override get value(): string {\n return this.host.nativeValue;\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {Directive, inject, Input} from '@angular/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-combo-box[strict]',\n host: {\n '(input)': 'onInput()',\n },\n})\nexport class TuiComboBoxStrictDirective<T> {\n private readonly comboBox = inject(TuiComboBoxComponent<T | string>);\n\n @Input()\n public strict = true;\n\n protected onInput(): void {\n if (!this.strict && this.comboBox.search) {\n this.comboBox.value = this.comboBox.search;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiArrowComponent} from '@taiga-ui/legacy/components/arrow';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiSelectOptionModule} from '@taiga-ui/legacy/components/select-option';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\nimport {TuiComboBoxDirective} from './combo-box.directive';\nimport {TuiComboBoxStrictDirective} from './combo-box-strict.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiPrimitiveTextfieldModule,\n TuiSelectOptionModule,\n TuiArrowComponent,\n TuiWrapperModule,\n TuiTextfieldControllerModule,\n TuiLegacyDropdownOpenMonitorDirective,\n ...TuiDropdown,\n ],\n declarations: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n ],\n exports: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\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-legacy-components-combo-box.mjs","sources":["../../../projects/legacy/components/combo-box/combo-box.component.ts","../../../projects/legacy/components/combo-box/combo-box.template.html","../../../projects/legacy/components/combo-box/combo-box.directive.ts","../../../projects/legacy/components/combo-box/combo-box-strict.directive.ts","../../../projects/legacy/components/combo-box/combo-box.module.ts","../../../projects/legacy/components/combo-box/taiga-ui-legacy-components-combo-box.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {TUI_STRICT_MATCHER} from '@taiga-ui/cdk/constants';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {type TuiContext, type TuiStringMatcher} from '@taiga-ui/cdk/types';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n tuiAsDataListHost,\n tuiAsOptionContent,\n type TuiDataListAccessor,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {\n type TuiSizeL,\n type TuiSizeM,\n type TuiSizeS,\n type TuiValueContentContext,\n} from '@taiga-ui/core/types';\nimport {TUI_ITEMS_HANDLERS, type TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNullableControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TUI_ARROW_MODE} from '@taiga-ui/legacy/components/arrow';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/legacy/components/select-option';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-combo-box',\n templateUrl: './combo-box.template.html',\n styleUrls: ['./combo-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiComboBoxComponent),\n tuiAsDataListHost(TuiComboBoxComponent),\n tuiAsControl(TuiComboBoxComponent),\n tuiAsOptionContent(TUI_SELECT_OPTION),\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n },\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(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly arrowMode = inject(TUI_ARROW_MODE);\n private readonly itemsHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n @Input()\n public stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n public strictMatcher: TuiStringMatcher<T> | null = TUI_STRICT_MATCHER;\n\n @Input()\n public identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n public valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n\n @Input()\n public strict = true;\n\n @Input()\n public search: string | null = null;\n\n @Output()\n public readonly searchChange = new EventEmitter<string | null>();\n\n public open = false;\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return (\n tuiIsNativeFocused(this.nativeFocusableElement) ||\n !!this.dropdown?.tuiDropdownOpen\n );\n }\n\n public get nativeValue(): string {\n return this.value === null ? this.search || '' : this.stringify(this.value);\n }\n\n public checkOption(option: T): void {\n if (!this.isStrictMatch(option)) {\n return;\n }\n\n this.value = option;\n this.updateSearch(null);\n }\n\n public handleOption(item: T): void {\n this.focusInput();\n this.close();\n this.updateSearch(null);\n this.value = item;\n\n if (this.value) {\n this.setNativeValue(this.stringify(item));\n }\n }\n\n public onValueChange(value: string): void {\n this.updateSearch(value);\n\n const match = this.accessor\n ?.getOptions()\n .find((item) => this.isStrictMatch(item));\n\n if (match !== undefined) {\n this.value = match;\n this.updateSearch(null);\n\n return;\n }\n\n if (this.strict || this.search === '') {\n this.value = null;\n }\n\n // Clearing sets the empty value, the dropdown should not be opened on clear.\n if (this.search !== '') {\n this.open = true;\n }\n }\n\n public toggle(): void {\n if (this.interactive) {\n this.open = !this.open;\n }\n }\n\n protected get arrow(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n protected get showValueTemplate(): boolean {\n return tuiIsPresent(this.value) && !this.focused;\n }\n\n protected get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.nativeValue;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected 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.value = options[0] ?? null;\n this.updateSearch(null);\n this.close();\n }\n\n private isStrictMatch(item: T): boolean {\n return !!this.search && !!this.strictMatcher?.(item, this.search, this.stringify);\n }\n\n private close(): void {\n this.open = 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 = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !!datalist\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-combo-box__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"nativeValue\"\n (click)=\"toggle()\"\n (keydown.enter)=\"onFieldKeyDownEnter($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n <div\n *ngIf=\"showValueTemplate\"\n automation-id=\"tui-combo-box__template\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value!, active: computedFocused}\"\n >\n {{ text }}\n </ng-container>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiComboBoxComponent} from './combo-box.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-combo-box',\n providers: [tuiAsTextfieldHost(TuiComboBoxDirective)],\n})\nexport class TuiComboBoxDirective extends AbstractTuiTextfieldHost<\n TuiComboBoxComponent<unknown>\n> {\n public override get value(): string {\n return this.host.nativeValue;\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {Directive, inject, Input} from '@angular/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-combo-box[strict]',\n host: {\n '(input)': 'onInput()',\n },\n})\nexport class TuiComboBoxStrictDirective<T> {\n private readonly comboBox = inject(TuiComboBoxComponent<T | string>);\n\n @Input()\n public strict = true;\n\n protected onInput(): void {\n if (!this.strict && this.comboBox.search) {\n this.comboBox.value = this.comboBox.search;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiArrowComponent} from '@taiga-ui/legacy/components/arrow';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiSelectOptionModule} from '@taiga-ui/legacy/components/select-option';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\nimport {TuiComboBoxDirective} from './combo-box.directive';\nimport {TuiComboBoxStrictDirective} from './combo-box-strict.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiPrimitiveTextfieldModule,\n TuiSelectOptionModule,\n TuiArrowComponent,\n TuiWrapperModule,\n TuiTextfieldControllerModule,\n TuiLegacyDropdownOpenMonitorDirective,\n ...TuiDropdown,\n ],\n declarations: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n ],\n exports: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\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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"}
|
|
@@ -9,6 +9,7 @@ import { tuiDropdownOptionsProvider, TuiDropdown } from '@taiga-ui/core/directiv
|
|
|
9
9
|
import { AbstractTuiControl } from '@taiga-ui/legacy/classes';
|
|
10
10
|
import * as i1 from '@taiga-ui/legacy/components/primitive-textfield';
|
|
11
11
|
import { TuiPrimitiveTextfieldComponent, TuiPrimitiveTextfieldModule } from '@taiga-ui/legacy/components/primitive-textfield';
|
|
12
|
+
import { TUI_TEXTFIELD_SIZE } from '@taiga-ui/legacy/directives';
|
|
12
13
|
import * as i2 from '@taiga-ui/legacy/directives/textfield-controller';
|
|
13
14
|
import { TuiTextfieldControllerModule } from '@taiga-ui/legacy/directives/textfield-controller';
|
|
14
15
|
import * as i3 from '@taiga-ui/legacy/components/color-selector';
|
|
@@ -25,9 +26,13 @@ class TuiInputColorComponent extends AbstractTuiControl {
|
|
|
25
26
|
constructor() {
|
|
26
27
|
super(...arguments);
|
|
27
28
|
this.domSanitizer = inject(DomSanitizer);
|
|
29
|
+
this.textfieldSize = inject(TUI_TEXTFIELD_SIZE);
|
|
28
30
|
this.colors = new Map();
|
|
29
31
|
this.open = false;
|
|
30
32
|
}
|
|
33
|
+
get size() {
|
|
34
|
+
return this.textfieldSize.size;
|
|
35
|
+
}
|
|
31
36
|
get focused() {
|
|
32
37
|
return !!this.textfield?.focused;
|
|
33
38
|
}
|
|
@@ -67,7 +72,7 @@ class TuiInputColorComponent extends AbstractTuiControl {
|
|
|
67
72
|
: value;
|
|
68
73
|
}
|
|
69
74
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputColorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
70
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputColorComponent, selector: "tui-input-color", inputs: { colors: "colors" }, host: { listeners: { "click": "onClick()" } }, viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"t-wrapper\"\n [tuiDropdown]=\"picker\"\n [(tuiDropdownOpen)]=\"open\"\n>\n <tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"maskitoOptions(mode)\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIconLeft]=\"color\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n >\n <ng-content />\n </tui-primitive-textfield>\n</div>\n\n<ng-template #color>\n <div\n class=\"t-color\"\n [style.background]=\"background\"\n ></div>\n</ng-template>\n\n<ng-template #picker>\n <tui-color-selector\n [colors]=\"colors\"\n [(color)]=\"value\"\n />\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-wrapper{display:flex;border-radius:inherit;inline-size:100%}.t-textfield{border-radius:inherit;text-align:inherit;inline-size:inherit}.t-textfield ::ng-deep .t-input{text-transform:lowercase!important}.t-color{inline-size:1.5rem;block-size:1.5rem;box-shadow:inset 0 0 0 1px var(--tui-base-03-dark);border-radius:.125rem;pointer-events:auto!important}\n"], dependencies: [{ kind: "component", type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i2.TuiTextfieldIconLeftDirective, selector: "[tuiTextfieldIconLeft]", inputs: ["tuiTextfieldIconLeft"] }, { kind: "component", type: i3.TuiColorSelectorComponent, selector: "tui-color-selector", inputs: ["colors", "color"], outputs: ["colorChange"] }, { kind: "directive", type: i4.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }], viewProviders: [tuiDropdownOptionsProvider({ maxHeight: 600 })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
75
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputColorComponent, selector: "tui-input-color", inputs: { colors: "colors" }, host: { listeners: { "click": "onClick()" }, properties: { "attr.data-size": "size" } }, viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"t-wrapper\"\n [tuiDropdown]=\"picker\"\n [(tuiDropdownOpen)]=\"open\"\n>\n <tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"maskitoOptions(mode)\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIconLeft]=\"color\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n >\n <ng-content />\n </tui-primitive-textfield>\n</div>\n\n<ng-template #color>\n <div\n class=\"t-color\"\n [style.background]=\"background\"\n ></div>\n</ng-template>\n\n<ng-template #picker>\n <tui-color-selector\n [colors]=\"colors\"\n [(color)]=\"value\"\n />\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host[data-size=l]{border-radius:var(--tui-radius-l)}:host :host-context(*:disabled){pointer-events:none}.t-wrapper{display:flex;border-radius:inherit;inline-size:100%}.t-textfield{border-radius:inherit;text-align:inherit;inline-size:inherit}.t-textfield ::ng-deep .t-input{text-transform:lowercase!important}.t-color{inline-size:1.5rem;block-size:1.5rem;box-shadow:inset 0 0 0 1px var(--tui-base-03-dark);border-radius:.125rem;pointer-events:auto!important}\n"], dependencies: [{ kind: "component", type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i2.TuiTextfieldIconLeftDirective, selector: "[tuiTextfieldIconLeft]", inputs: ["tuiTextfieldIconLeft"] }, { kind: "component", type: i3.TuiColorSelectorComponent, selector: "tui-color-selector", inputs: ["colors", "color"], outputs: ["colorChange"] }, { kind: "directive", type: i4.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }], viewProviders: [tuiDropdownOptionsProvider({ maxHeight: 600 })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
71
76
|
}
|
|
72
77
|
__decorate([
|
|
73
78
|
tuiPure
|
|
@@ -78,8 +83,9 @@ __decorate([
|
|
|
78
83
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputColorComponent, decorators: [{
|
|
79
84
|
type: Component,
|
|
80
85
|
args: [{ standalone: false, selector: 'tui-input-color', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [tuiDropdownOptionsProvider({ maxHeight: 600 })], host: {
|
|
86
|
+
'[attr.data-size]': 'size',
|
|
81
87
|
'(click)': 'onClick()',
|
|
82
|
-
}, template: "<div\n class=\"t-wrapper\"\n [tuiDropdown]=\"picker\"\n [(tuiDropdownOpen)]=\"open\"\n>\n <tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"maskitoOptions(mode)\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIconLeft]=\"color\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n >\n <ng-content />\n </tui-primitive-textfield>\n</div>\n\n<ng-template #color>\n <div\n class=\"t-color\"\n [style.background]=\"background\"\n ></div>\n</ng-template>\n\n<ng-template #picker>\n <tui-color-selector\n [colors]=\"colors\"\n [(color)]=\"value\"\n />\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-wrapper{display:flex;border-radius:inherit;inline-size:100%}.t-textfield{border-radius:inherit;text-align:inherit;inline-size:inherit}.t-textfield ::ng-deep .t-input{text-transform:lowercase!important}.t-color{inline-size:1.5rem;block-size:1.5rem;box-shadow:inset 0 0 0 1px var(--tui-base-03-dark);border-radius:.125rem;pointer-events:auto!important}\n"] }]
|
|
88
|
+
}, template: "<div\n class=\"t-wrapper\"\n [tuiDropdown]=\"picker\"\n [(tuiDropdownOpen)]=\"open\"\n>\n <tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"maskitoOptions(mode)\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIconLeft]=\"color\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n >\n <ng-content />\n </tui-primitive-textfield>\n</div>\n\n<ng-template #color>\n <div\n class=\"t-color\"\n [style.background]=\"background\"\n ></div>\n</ng-template>\n\n<ng-template #picker>\n <tui-color-selector\n [colors]=\"colors\"\n [(color)]=\"value\"\n />\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host[data-size=l]{border-radius:var(--tui-radius-l)}:host :host-context(*:disabled){pointer-events:none}.t-wrapper{display:flex;border-radius:inherit;inline-size:100%}.t-textfield{border-radius:inherit;text-align:inherit;inline-size:inherit}.t-textfield ::ng-deep .t-input{text-transform:lowercase!important}.t-color{inline-size:1.5rem;block-size:1.5rem;box-shadow:inset 0 0 0 1px var(--tui-base-03-dark);border-radius:.125rem;pointer-events:auto!important}\n"] }]
|
|
83
89
|
}], propDecorators: { textfield: [{
|
|
84
90
|
type: ViewChild,
|
|
85
91
|
args: [TuiPrimitiveTextfieldComponent]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-input-color.mjs","sources":["../../../projects/legacy/components/input-color/input-color.component.ts","../../../projects/legacy/components/input-color/input-color.template.html","../../../projects/legacy/components/input-color/input-color.module.ts","../../../projects/legacy/components/input-color/taiga-ui-legacy-components-input-color.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {DomSanitizer, type SafeStyle} from '@angular/platform-browser';\nimport {type MaskitoOptions} from '@maskito/core';\nimport {\n tuiGetGradientData,\n tuiParseGradient,\n tuiToGradient,\n} from '@taiga-ui/cdk/utils/color';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiDropdownOptionsProvider} from '@taiga-ui/core/directives/dropdown';\nimport {AbstractTuiControl} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n type TuiFocusableElementAccessor,\n type TuiNativeFocusableElement,\n} from '@taiga-ui/legacy/tokens';\n\ntype MaskMode = 'gradient' | 'hex' | 'rgb';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-color TuiInputColor} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-color',\n templateUrl: './input-color.template.html',\n styleUrls: ['./input-color.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n viewProviders: [tuiDropdownOptionsProvider({maxHeight: 600})],\n host: {\n '(click)': 'onClick()',\n },\n})\nexport class TuiInputColorComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly domSanitizer = inject(DomSanitizer);\n\n @Input()\n public colors: ReadonlyMap<string, string> = new Map<string, string>();\n\n public open = false;\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n public get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.computedDisabled || !this.textfield\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n public get background(): SafeStyle {\n return this.sanitize(this.value, this.domSanitizer);\n }\n\n public get mode(): MaskMode {\n if (this.value.startsWith('#')) {\n return 'hex';\n }\n\n return this.value.startsWith('rgb') ? 'rgb' : 'gradient';\n }\n\n @tuiPure\n public maskitoOptions(mode: MaskMode): MaskitoOptions | null {\n return mode === 'hex' ? {mask: ['#', ...new Array(6).fill(/[0-9a-f]/i)]} : null;\n }\n\n public onClick(): void {\n this.open = !this.open;\n }\n\n /** deprecated use 'value' setter */\n public onValueChange(textValue: string): void {\n this.value = textValue;\n }\n\n public onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected getFallbackValue(): string {\n return '#000000';\n }\n\n @tuiPure\n private sanitize(value: string, domSanitizer: DomSanitizer): SafeStyle | string {\n return value.startsWith('linear-gradient(')\n ? domSanitizer.bypassSecurityTrustStyle(\n tuiToGradient(tuiParseGradient(tuiGetGradientData(value))),\n )\n : value;\n }\n}\n","<div\n class=\"t-wrapper\"\n [tuiDropdown]=\"picker\"\n [(tuiDropdownOpen)]=\"open\"\n>\n <tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"maskitoOptions(mode)\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIconLeft]=\"color\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n >\n <ng-content />\n </tui-primitive-textfield>\n</div>\n\n<ng-template #color>\n <div\n class=\"t-color\"\n [style.background]=\"background\"\n ></div>\n</ng-template>\n\n<ng-template #picker>\n <tui-color-selector\n [colors]=\"colors\"\n [(color)]=\"value\"\n />\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiColorSelectorModule} from '@taiga-ui/legacy/components/color-selector';\nimport {TuiPrimitiveTextfieldModule} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiTextfieldControllerModule} from '@taiga-ui/legacy/directives/textfield-controller';\n\nimport {TuiInputColorComponent} from './input-color.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-color TuiInputColor} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiColorSelectorModule,\n MaskitoDirective,\n ...TuiDropdown,\n ],\n declarations: [TuiInputColorComponent],\n exports: [TuiInputColorComponent, ...TuiDropdown],\n})\nexport class TuiInputColorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;;;AAyBA;;;AAGG;AACH,MAWa,sBACT,SAAQ,kBAA0B,CAAA;AAZtC,IAAA,WAAA,GAAA;;AAkBqB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAG9C,QAAA,IAAA,CAAA,MAAM,GAAgC,IAAI,GAAG,EAAkB,CAAC;QAEhE,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;AAsDvB,KAAA;AApDG,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;KACpC;AAED,IAAA,IAAW,sBAAsB,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,SAAS;AAC3C,cAAE,IAAI;AACN,cAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;KAC/C;AAED,IAAA,IAAW,UAAU,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KACvD;AAED,IAAA,IAAW,IAAI,GAAA;QACX,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC5B,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,UAAU,CAAC;KAC5D;AAGM,IAAA,cAAc,CAAC,IAAc,EAAA;AAChC,QAAA,OAAO,IAAI,KAAK,KAAK,GAAG,EAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,GAAG,IAAI,CAAC;KACnF;IAEM,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;KAC1B;;AAGM,IAAA,aAAa,CAAC,SAAiB,EAAA;AAClC,QAAA,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;KAC1B;AAEM,IAAA,SAAS,CAAC,OAAgB,EAAA;AAC7B,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAES,gBAAgB,GAAA;AACtB,QAAA,OAAO,SAAS,CAAC;KACpB;IAGO,QAAQ,CAAC,KAAa,EAAE,YAA0B,EAAA;AACtD,QAAA,OAAO,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC;AACvC,cAAE,YAAY,CAAC,wBAAwB,CACjC,aAAa,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAC7D;cACD,KAAK,CAAC;KACf;+GAjEQ,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAIpB,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,8BAA8B,EC5C7C,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,27BAqCA,8kDDFmB,CAAC,0BAA0B,CAAC,EAAC,SAAS,EAAE,GAAG,EAAC,CAAC,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AA0CtD,UAAA,CAAA;IADN,OAAO;AAGP,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,IAAA,CAAA,CAAA;AAoBO,UAAA,CAAA;IADP,OAAO;AAOP,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,IAAA,CAAA,CAAA;4FAjEQ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAXlC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,YACP,iBAAiB,EAAA,eAAA,EAGV,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,CAAC,0BAA0B,CAAC,EAAC,SAAS,EAAE,GAAG,EAAC,CAAC,CAAC,EACvD,IAAA,EAAA;AACF,wBAAA,SAAS,EAAE,WAAW;AACzB,qBAAA,EAAA,QAAA,EAAA,27BAAA,EAAA,MAAA,EAAA,CAAA,geAAA,CAAA,EAAA,CAAA;8BAOgB,SAAS,EAAA,CAAA;sBADzB,SAAS;uBAAC,8BAA8B,CAAA;gBAMlC,MAAM,EAAA,CAAA;sBADZ,KAAK;AA4BC,aAAA,CAAA,EAAA,cAAc,MAsBb,QAAQ,EAAA,EAAA,EAAA,EAAA,CAAA;;AEzFpB;;;AAGG;AACH,MAYa,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAHb,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAPjC,YAAY;YACZ,2BAA2B;YAC3B,4BAA4B;YAC5B,sBAAsB;AACtB,YAAA,gBAAgB,kYAIV,sBAAsB,EAAAA,IAAA,CAAA,2BAAA,EAAAA,IAAA,CAAA,0BAAA,EAAAA,IAAA,CAAA,oBAAA,EAAAA,IAAA,CAAA,oBAAA,EAAAA,IAAA,CAAA,eAAA,EAAAA,IAAA,CAAA,qBAAA,EAAAA,IAAA,CAAA,iBAAA,EAAAA,IAAA,CAAA,iBAAA,EAAAA,IAAA,CAAA,gBAAA,EAAAA,IAAA,CAAA,kBAAA,EAAAA,IAAA,CAAA,mBAAA,EAAAA,IAAA,CAAA,wBAAA,EAAAA,IAAA,CAAA,oBAAA,EAAAA,IAAA,CAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA;AAEvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAVxB,YAAY;YACZ,2BAA2B;YAC3B,4BAA4B;YAC5B,sBAAsB,EAAAA,IAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAOjB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAZ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,2BAA2B;wBAC3B,4BAA4B;wBAC5B,sBAAsB;wBACtB,gBAAgB;AAChB,wBAAA,GAAG,WAAW;AACjB,qBAAA;oBACD,YAAY,EAAE,CAAC,sBAAsB,CAAC;AACtC,oBAAA,OAAO,EAAE,CAAC,sBAAsB,EAAE,GAAG,WAAW,CAAC;AACpD,iBAAA,CAAA;;;ACzBD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-input-color.mjs","sources":["../../../projects/legacy/components/input-color/input-color.component.ts","../../../projects/legacy/components/input-color/input-color.template.html","../../../projects/legacy/components/input-color/input-color.module.ts","../../../projects/legacy/components/input-color/taiga-ui-legacy-components-input-color.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {DomSanitizer, type SafeStyle} from '@angular/platform-browser';\nimport {type MaskitoOptions} from '@maskito/core';\nimport {\n tuiGetGradientData,\n tuiParseGradient,\n tuiToGradient,\n} from '@taiga-ui/cdk/utils/color';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiDropdownOptionsProvider} from '@taiga-ui/core/directives/dropdown';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {AbstractTuiControl} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n type TuiFocusableElementAccessor,\n type TuiNativeFocusableElement,\n} from '@taiga-ui/legacy/tokens';\n\ntype MaskMode = 'gradient' | 'hex' | 'rgb';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-color TuiInputColor} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-color',\n templateUrl: './input-color.template.html',\n styleUrls: ['./input-color.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n viewProviders: [tuiDropdownOptionsProvider({maxHeight: 600})],\n host: {\n '[attr.data-size]': 'size',\n '(click)': 'onClick()',\n },\n})\nexport class TuiInputColorComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly domSanitizer = inject(DomSanitizer);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n @Input()\n public colors: ReadonlyMap<string, string> = new Map<string, string>();\n\n public open = false;\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n public get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.computedDisabled || !this.textfield\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n public get background(): SafeStyle {\n return this.sanitize(this.value, this.domSanitizer);\n }\n\n public get mode(): MaskMode {\n if (this.value.startsWith('#')) {\n return 'hex';\n }\n\n return this.value.startsWith('rgb') ? 'rgb' : 'gradient';\n }\n\n @tuiPure\n public maskitoOptions(mode: MaskMode): MaskitoOptions | null {\n return mode === 'hex' ? {mask: ['#', ...new Array(6).fill(/[0-9a-f]/i)]} : null;\n }\n\n public onClick(): void {\n this.open = !this.open;\n }\n\n /** deprecated use 'value' setter */\n public onValueChange(textValue: string): void {\n this.value = textValue;\n }\n\n public onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected getFallbackValue(): string {\n return '#000000';\n }\n\n @tuiPure\n private sanitize(value: string, domSanitizer: DomSanitizer): SafeStyle | string {\n return value.startsWith('linear-gradient(')\n ? domSanitizer.bypassSecurityTrustStyle(\n tuiToGradient(tuiParseGradient(tuiGetGradientData(value))),\n )\n : value;\n }\n}\n","<div\n class=\"t-wrapper\"\n [tuiDropdown]=\"picker\"\n [(tuiDropdownOpen)]=\"open\"\n>\n <tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"maskitoOptions(mode)\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIconLeft]=\"color\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n >\n <ng-content />\n </tui-primitive-textfield>\n</div>\n\n<ng-template #color>\n <div\n class=\"t-color\"\n [style.background]=\"background\"\n ></div>\n</ng-template>\n\n<ng-template #picker>\n <tui-color-selector\n [colors]=\"colors\"\n [(color)]=\"value\"\n />\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiColorSelectorModule} from '@taiga-ui/legacy/components/color-selector';\nimport {TuiPrimitiveTextfieldModule} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiTextfieldControllerModule} from '@taiga-ui/legacy/directives/textfield-controller';\n\nimport {TuiInputColorComponent} from './input-color.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-color TuiInputColor} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiColorSelectorModule,\n MaskitoDirective,\n ...TuiDropdown,\n ],\n declarations: [TuiInputColorComponent],\n exports: [TuiInputColorComponent, ...TuiDropdown],\n})\nexport class TuiInputColorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -103,7 +103,7 @@ class TuiInputCopyComponent extends AbstractTuiControl {
|
|
|
103
103
|
TUI_VALUE_ACCESSOR_PROVIDER,
|
|
104
104
|
tuiAsFocusableItemAccessor(TuiInputCopyComponent),
|
|
105
105
|
tuiAsControl(TuiInputCopyComponent),
|
|
106
|
-
], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"!disabled ? iconContent : ''\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n</tui-primitive-textfield>\n\n<ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n automation-id=\"tui-copy__icon\"\n tuiAppearance=\"icon\"\n class=\"t-icon\"\n [class.t-icon_small]=\"size === 's'\"\n [icon]=\"src.toString()\"\n [tuiAppearanceState]=\"!value ? 'disabled' : null\"\n [tuiHint]=\"hint\"\n [tuiHintAppearance]=\"messageAppearance\"\n [tuiHintDirection]=\"messageDirection\"\n (click)=\"copy()\"\n />\n</ng-template>\n\n<ng-template #hint>\n <ng-container *polymorpheusOutlet=\"hintText$ | async as text\">\n {{ text }}\n </ng-container>\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-icon{position:relative;cursor:pointer;pointer-events:auto}.t-icon_small{border-width:.25rem}.t-textfield{border-radius:inherit;text-align:inherit}\n"], dependencies: [{ kind: "directive", type: i1.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i2.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i2.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i3.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i4.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "component", type: i5.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i1$1.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"], outputs: ["tuiHintVisible"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
106
|
+
], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"!disabled ? iconContent : ''\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n</tui-primitive-textfield>\n\n<ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n automation-id=\"tui-copy__icon\"\n tuiAppearance=\"icon\"\n class=\"t-icon\"\n [class.t-icon_small]=\"size === 's'\"\n [icon]=\"src.toString()\"\n [tuiAppearanceState]=\"!value ? 'disabled' : null\"\n [tuiHint]=\"hint\"\n [tuiHintAppearance]=\"messageAppearance\"\n [tuiHintDirection]=\"messageDirection\"\n (click)=\"copy()\"\n />\n</ng-template>\n\n<ng-template #hint>\n <ng-container *polymorpheusOutlet=\"hintText$ | async as text\">\n {{ text }}\n </ng-container>\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host[data-size=l]{border-radius:var(--tui-radius-l)}:host :host-context(*:disabled){pointer-events:none}.t-icon{position:relative;cursor:pointer;pointer-events:auto}.t-icon_small{border-width:.25rem}.t-textfield{border-radius:inherit;text-align:inherit}\n"], dependencies: [{ kind: "directive", type: i1.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i2.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i2.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i3.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i4.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "component", type: i5.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i1$1.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"], outputs: ["tuiHintVisible"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
107
107
|
}
|
|
108
108
|
__decorate([
|
|
109
109
|
tuiPure
|
|
@@ -116,7 +116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
116
116
|
tuiAsControl(TuiInputCopyComponent),
|
|
117
117
|
], host: {
|
|
118
118
|
'[attr.data-size]': 'size',
|
|
119
|
-
}, template: "<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"!disabled ? iconContent : ''\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n</tui-primitive-textfield>\n\n<ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n automation-id=\"tui-copy__icon\"\n tuiAppearance=\"icon\"\n class=\"t-icon\"\n [class.t-icon_small]=\"size === 's'\"\n [icon]=\"src.toString()\"\n [tuiAppearanceState]=\"!value ? 'disabled' : null\"\n [tuiHint]=\"hint\"\n [tuiHintAppearance]=\"messageAppearance\"\n [tuiHintDirection]=\"messageDirection\"\n (click)=\"copy()\"\n />\n</ng-template>\n\n<ng-template #hint>\n <ng-container *polymorpheusOutlet=\"hintText$ | async as text\">\n {{ text }}\n </ng-container>\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-icon{position:relative;cursor:pointer;pointer-events:auto}.t-icon_small{border-width:.25rem}.t-textfield{border-radius:inherit;text-align:inherit}\n"] }]
|
|
119
|
+
}, template: "<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"!disabled ? iconContent : ''\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n</tui-primitive-textfield>\n\n<ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n automation-id=\"tui-copy__icon\"\n tuiAppearance=\"icon\"\n class=\"t-icon\"\n [class.t-icon_small]=\"size === 's'\"\n [icon]=\"src.toString()\"\n [tuiAppearanceState]=\"!value ? 'disabled' : null\"\n [tuiHint]=\"hint\"\n [tuiHintAppearance]=\"messageAppearance\"\n [tuiHintDirection]=\"messageDirection\"\n (click)=\"copy()\"\n />\n</ng-template>\n\n<ng-template #hint>\n <ng-container *polymorpheusOutlet=\"hintText$ | async as text\">\n {{ text }}\n </ng-container>\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host[data-size=l]{border-radius:var(--tui-radius-l)}:host :host-context(*:disabled){pointer-events:none}.t-icon{position:relative;cursor:pointer;pointer-events:auto}.t-icon_small{border-width:.25rem}.t-textfield{border-radius:inherit;text-align:inherit}\n"] }]
|
|
120
120
|
}], propDecorators: { textfield: [{
|
|
121
121
|
type: ViewChild,
|
|
122
122
|
args: [TuiPrimitiveTextfieldComponent]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-input-copy.mjs","sources":["../../../projects/legacy/components/input-copy/input-copy.options.ts","../../../projects/legacy/components/input-copy/input-copy.component.ts","../../../projects/legacy/components/input-copy/input-copy.template.html","../../../projects/legacy/components/input-copy/input-copy.directive.ts","../../../projects/legacy/components/input-copy/input-copy.module.ts","../../../projects/legacy/components/input-copy/taiga-ui-legacy-components-input-copy.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiHintDirection} from '@taiga-ui/core/directives/hint';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * @deprecated use {@link TuiCopy} with {@link TuiTextfield}\n */\nexport interface TuiInputCopyOptions {\n readonly icon: PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>>;\n readonly messageAppearance: string;\n readonly messageDirection: TuiHintDirection;\n readonly successMessage: PolymorpheusContent;\n}\n\n/**\n * @deprecated use {@link TuiCopy} with {@link TuiTextfield}\n */\nexport const TUI_INPUT_COPY_DEFAULT_OPTIONS: TuiInputCopyOptions = {\n successMessage: '',\n messageDirection: 'bottom-left',\n messageAppearance: '',\n icon: () => '@tui.copy',\n};\n\n/**\n * @deprecated use {@link TuiCopy} with {@link TuiTextfield}\n */\nexport const TUI_INPUT_COPY_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_COPY_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_COPY_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * @deprecated use {@link TuiCopy} with {@link TuiTextfield}\n */\nexport function tuiInputCopyOptionsProvider(\n options: Partial<TuiInputCopyOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_COPY_OPTIONS,\n options,\n TUI_INPUT_COPY_DEFAULT_OPTIONS,\n );\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiHintDirection} from '@taiga-ui/core/directives/hint';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TUI_TEXTFIELD_SIZE,\n TUI_VALUE_ACCESSOR_PROVIDER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n type TuiNativeFocusableElement,\n} from '@taiga-ui/legacy/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {BehaviorSubject, map, merge, type Observable, of, switchMap, timer} from 'rxjs';\n\nimport {TUI_INPUT_COPY_OPTIONS, type TuiInputCopyOptions} from './input-copy.options';\n\n/**\n * @deprecated use {@link TuiCopy} with {@link TuiTextfield}\n */\n@Component({\n standalone: false,\n selector: 'tui-input-copy',\n templateUrl: './input-copy.template.html',\n styleUrls: ['./input-copy.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TUI_VALUE_ACCESSOR_PROVIDER,\n tuiAsFocusableItemAccessor(TuiInputCopyComponent),\n tuiAsControl(TuiInputCopyComponent),\n ],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiInputCopyComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly copied$ = new BehaviorSubject<boolean>(false);\n private readonly doc = inject(DOCUMENT);\n private readonly copyTexts$ = inject(TUI_COPY_TEXTS);\n private readonly options = inject(TUI_INPUT_COPY_OPTIONS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n @Input()\n public successMessage = this.options.successMessage;\n\n @Input()\n public messageDirection: TuiHintDirection = this.options.messageDirection;\n\n @Input()\n public messageAppearance = this.options.messageAppearance;\n\n public get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.computedDisabled || !this.textfield\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n public onValueChange(value: string): void {\n this.value = value;\n }\n\n @tuiPure\n protected get hintText$(): Observable<PolymorpheusContent> {\n return this.copyTexts$.pipe(\n switchMap((texts) =>\n this.copied$.pipe(\n switchMap((copied) => {\n if (!copied) {\n return of(texts[0]);\n }\n\n this.copied$.next(false);\n\n return merge(\n of(this.successMessage || texts[1]),\n timer(3000).pipe(map(() => texts[0])),\n );\n }),\n ),\n ),\n );\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n protected get icon(): TuiInputCopyOptions['icon'] {\n return this.options.icon;\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected copy(): void {\n if (!this.textfield?.nativeFocusableElement) {\n return;\n }\n\n this.textfield.nativeFocusableElement.select();\n this.doc.execCommand('copy');\n this.copied$.next(true);\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n}\n","<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"!disabled ? iconContent : ''\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n</tui-primitive-textfield>\n\n<ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n automation-id=\"tui-copy__icon\"\n tuiAppearance=\"icon\"\n class=\"t-icon\"\n [class.t-icon_small]=\"size === 's'\"\n [icon]=\"src.toString()\"\n [tuiAppearanceState]=\"!value ? 'disabled' : null\"\n [tuiHint]=\"hint\"\n [tuiHintAppearance]=\"messageAppearance\"\n [tuiHintDirection]=\"messageDirection\"\n (click)=\"copy()\"\n />\n</ng-template>\n\n<ng-template #hint>\n <ng-container *polymorpheusOutlet=\"hintText$ | async as text\">\n {{ text }}\n </ng-container>\n</ng-template>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiInputCopyComponent} from './input-copy.component';\n\n/**\n * @deprecated use {@link TuiCopy} with {@link TuiTextfield}\n */\n@Directive({\n standalone: false,\n selector: 'tui-input-copy',\n providers: [tuiAsTextfieldHost(TuiInputCopyDirective)],\n})\nexport class TuiInputCopyDirective extends AbstractTuiTextfieldHost<TuiInputCopyComponent> {\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiHint} from '@taiga-ui/core/directives/hint';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiTextfieldControllerModule} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputCopyComponent} from './input-copy.component';\nimport {TuiInputCopyDirective} from './input-copy.directive';\n\n/**\n * @deprecated use {@link TuiCopy} with {@link TuiTextfield}\n */\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiAppearance,\n TuiIcon,\n ...TuiHint,\n ],\n declarations: [TuiInputCopyComponent, TuiInputCopyDirective],\n exports: [\n TuiInputCopyComponent,\n TuiInputCopyDirective,\n TuiTextfieldComponent,\n ...TuiHint,\n ],\n})\nexport class TuiInputCopyModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i6","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-input-copy.mjs","sources":["../../../projects/legacy/components/input-copy/input-copy.options.ts","../../../projects/legacy/components/input-copy/input-copy.component.ts","../../../projects/legacy/components/input-copy/input-copy.template.html","../../../projects/legacy/components/input-copy/input-copy.directive.ts","../../../projects/legacy/components/input-copy/input-copy.module.ts","../../../projects/legacy/components/input-copy/taiga-ui-legacy-components-input-copy.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiHintDirection} from '@taiga-ui/core/directives/hint';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * @deprecated use {@link TuiCopy} with {@link TuiTextfield}\n */\nexport interface TuiInputCopyOptions {\n readonly icon: PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>>;\n readonly messageAppearance: string;\n readonly messageDirection: TuiHintDirection;\n readonly successMessage: PolymorpheusContent;\n}\n\n/**\n * @deprecated use {@link TuiCopy} with {@link TuiTextfield}\n */\nexport const TUI_INPUT_COPY_DEFAULT_OPTIONS: TuiInputCopyOptions = {\n successMessage: '',\n messageDirection: 'bottom-left',\n messageAppearance: '',\n icon: () => '@tui.copy',\n};\n\n/**\n * @deprecated use {@link TuiCopy} with {@link TuiTextfield}\n */\nexport const TUI_INPUT_COPY_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_COPY_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_COPY_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * @deprecated use {@link TuiCopy} with {@link TuiTextfield}\n */\nexport function tuiInputCopyOptionsProvider(\n options: Partial<TuiInputCopyOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_COPY_OPTIONS,\n options,\n TUI_INPUT_COPY_DEFAULT_OPTIONS,\n );\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiHintDirection} from '@taiga-ui/core/directives/hint';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TUI_TEXTFIELD_SIZE,\n TUI_VALUE_ACCESSOR_PROVIDER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n type TuiNativeFocusableElement,\n} from '@taiga-ui/legacy/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {BehaviorSubject, map, merge, type Observable, of, switchMap, timer} from 'rxjs';\n\nimport {TUI_INPUT_COPY_OPTIONS, type TuiInputCopyOptions} from './input-copy.options';\n\n/**\n * @deprecated use {@link TuiCopy} with {@link TuiTextfield}\n */\n@Component({\n standalone: false,\n selector: 'tui-input-copy',\n templateUrl: './input-copy.template.html',\n styleUrls: ['./input-copy.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TUI_VALUE_ACCESSOR_PROVIDER,\n tuiAsFocusableItemAccessor(TuiInputCopyComponent),\n tuiAsControl(TuiInputCopyComponent),\n ],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiInputCopyComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly copied$ = new BehaviorSubject<boolean>(false);\n private readonly doc = inject(DOCUMENT);\n private readonly copyTexts$ = inject(TUI_COPY_TEXTS);\n private readonly options = inject(TUI_INPUT_COPY_OPTIONS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n @Input()\n public successMessage = this.options.successMessage;\n\n @Input()\n public messageDirection: TuiHintDirection = this.options.messageDirection;\n\n @Input()\n public messageAppearance = this.options.messageAppearance;\n\n public get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.computedDisabled || !this.textfield\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n public onValueChange(value: string): void {\n this.value = value;\n }\n\n @tuiPure\n protected get hintText$(): Observable<PolymorpheusContent> {\n return this.copyTexts$.pipe(\n switchMap((texts) =>\n this.copied$.pipe(\n switchMap((copied) => {\n if (!copied) {\n return of(texts[0]);\n }\n\n this.copied$.next(false);\n\n return merge(\n of(this.successMessage || texts[1]),\n timer(3000).pipe(map(() => texts[0])),\n );\n }),\n ),\n ),\n );\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n protected get icon(): TuiInputCopyOptions['icon'] {\n return this.options.icon;\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected copy(): void {\n if (!this.textfield?.nativeFocusableElement) {\n return;\n }\n\n this.textfield.nativeFocusableElement.select();\n this.doc.execCommand('copy');\n this.copied$.next(true);\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n}\n","<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"!disabled ? iconContent : ''\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n</tui-primitive-textfield>\n\n<ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n automation-id=\"tui-copy__icon\"\n tuiAppearance=\"icon\"\n class=\"t-icon\"\n [class.t-icon_small]=\"size === 's'\"\n [icon]=\"src.toString()\"\n [tuiAppearanceState]=\"!value ? 'disabled' : null\"\n [tuiHint]=\"hint\"\n [tuiHintAppearance]=\"messageAppearance\"\n [tuiHintDirection]=\"messageDirection\"\n (click)=\"copy()\"\n />\n</ng-template>\n\n<ng-template #hint>\n <ng-container *polymorpheusOutlet=\"hintText$ | async as text\">\n {{ text }}\n </ng-container>\n</ng-template>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiInputCopyComponent} from './input-copy.component';\n\n/**\n * @deprecated use {@link TuiCopy} with {@link TuiTextfield}\n */\n@Directive({\n standalone: false,\n selector: 'tui-input-copy',\n providers: [tuiAsTextfieldHost(TuiInputCopyDirective)],\n})\nexport class TuiInputCopyDirective extends AbstractTuiTextfieldHost<TuiInputCopyComponent> {\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiHint} from '@taiga-ui/core/directives/hint';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiTextfieldControllerModule} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputCopyComponent} from './input-copy.component';\nimport {TuiInputCopyDirective} from './input-copy.directive';\n\n/**\n * @deprecated use {@link TuiCopy} with {@link TuiTextfield}\n */\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiAppearance,\n TuiIcon,\n ...TuiHint,\n ],\n declarations: [TuiInputCopyComponent, TuiInputCopyDirective],\n exports: [\n TuiInputCopyComponent,\n TuiInputCopyDirective,\n TuiTextfieldComponent,\n ...TuiHint,\n ],\n})\nexport class TuiInputCopyModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i6","i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAiBA;;AAEG;AACU,MAAA,8BAA8B,GAAwB;AAC/D,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,gBAAgB,EAAE,aAAa;AAC/B,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,IAAI,EAAE,MAAM,WAAW;EACzB;AAEF;;AAEG;AACU,MAAA,sBAAsB,GAAG,IAAI,cAAc,CACpD,SAAS,GAAG,wBAAwB,GAAG,EAAE,EACzC;AACI,IAAA,OAAO,EAAE,MAAM,8BAA8B;AAChD,CAAA,EACH;AAEF;;AAEG;AACG,SAAU,2BAA2B,CACvC,OAAqC,EAAA;IAErC,OAAO,iBAAiB,CACpB,sBAAsB,EACtB,OAAO,EACP,8BAA8B,CACjC,CAAC;AACN;;ACpBA;;AAEG;AACH,MAea,qBACT,SAAQ,kBAA0B,CAAA;AAhBtC,IAAA,WAAA,GAAA;;AAsBqB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAC9C,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACpC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AACzC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAGrD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;AAG7C,QAAA,IAAA,CAAA,gBAAgB,GAAqB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;AAGnE,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;AA+D7D,KAAA;AA7DG,IAAA,IAAW,sBAAsB,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,SAAS;AAC3C,cAAE,IAAI;AACN,cAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;KAC/C;AAED,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;KACpC;AAEM,IAAA,aAAa,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;AAGD,IAAA,IAAc,SAAS,GAAA;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACvB,SAAS,CAAC,CAAC,KAAK,KACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CACb,SAAS,CAAC,CAAC,MAAM,KAAI;YACjB,IAAI,CAAC,MAAM,EAAE;AACT,gBAAA,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,aAAA;AAED,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEzB,YAAA,OAAO,KAAK,CACR,EAAE,CAAC,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EACnC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CACxC,CAAC;AACN,SAAC,CAAC,CACL,CACJ,CACJ,CAAC;KACL;AAED,IAAA,IAAc,IAAI,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;KAClC;AAED,IAAA,IAAc,IAAI,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;KAC5B;AAES,IAAA,SAAS,CAAC,OAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAES,IAAI,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,EAAE;YACzC,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;AAC/C,QAAA,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;IAES,gBAAgB,GAAA;AACtB,QAAA,OAAO,EAAE,CAAC;KACb;+GAlFQ,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EATnB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACP,2BAA2B;YAC3B,0BAA0B,CAAC,qBAAqB,CAAC;YACjD,YAAY,CAAC,qBAAqB,CAAC;SACtC,EASU,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,8BAA8B,uEClD7C,wvCA0CA,EAAA,MAAA,EAAA,CAAA,yUAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,mBAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;ADyCI,UAAA,CAAA;IADC,OAAO;AAoBP,CAAA,EAAA,qBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,IAAA,CAAA,CAAA;4FAxDQ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAfjC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,YACP,gBAAgB,EAAA,eAAA,EAGT,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;wBACP,2BAA2B;AAC3B,wBAAA,0BAA0B,CAAuB,qBAAA,CAAA;AACjD,wBAAA,YAAY,CAAuB,qBAAA,CAAA;qBACtC,EACK,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC7B,qBAAA,EAAA,QAAA,EAAA,wvCAAA,EAAA,MAAA,EAAA,CAAA,yUAAA,CAAA,EAAA,CAAA;8BAOgB,SAAS,EAAA,CAAA;sBADzB,SAAS;uBAAC,8BAA8B,CAAA;gBAUlC,cAAc,EAAA,CAAA;sBADpB,KAAK;gBAIC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAkBQ,SAAS,EAAA,EAAA,EAAA,EAAA,CAAA;;AE7E3B;;AAEG;AACH,MAKa,qBAAsB,SAAQ,wBAA+C,CAAA;AAC/E,IAAA,aAAa,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAClC;+GAHQ,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,yCAFnB,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAE7C,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAA,qBAAA,CAAuB,CAAC;AACzD,iBAAA,CAAA;;;ACED;;AAEG;AACH,MAmBa,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EARZ,YAAA,EAAA,CAAA,qBAAqB,EAAE,qBAAqB,aATvD,YAAY;YACZ,kBAAkB;YAClB,oBAAoB;YACpB,2BAA2B;YAC3B,4BAA4B;YAC5B,aAAa;AACb,YAAA,OAAO,mRAKP,qBAAqB;YACrB,qBAAqB;YACrB,qBAAqB,EAAAC,IAAA,CAAA,gBAAA,EAAAA,IAAA,CAAA,gBAAA,EAAAA,IAAA,CAAA,uBAAA,EAAAA,IAAA,CAAA,eAAA,EAAAA,IAAA,CAAA,aAAA,EAAAA,IAAA,CAAA,eAAA,EAAAA,IAAA,CAAA,YAAA,EAAAA,IAAA,CAAA,eAAA,EAAAA,IAAA,CAAA,eAAA,EAAAA,IAAA,CAAA,WAAA,EAAAA,IAAA,CAAA,aAAA,EAAAA,IAAA,CAAA,cAAA,CAAA,EAAA,CAAA,CAAA,EAAA;AAIhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAjBvB,YAAY;YAGZ,2BAA2B;YAC3B,4BAA4B;YAE5B,OAAO,EAAAA,IAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAWF,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAnB9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,kBAAkB;wBAClB,oBAAoB;wBACpB,2BAA2B;wBAC3B,4BAA4B;wBAC5B,aAAa;wBACb,OAAO;AACP,wBAAA,GAAG,OAAO;AACb,qBAAA;AACD,oBAAA,YAAY,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;AAC5D,oBAAA,OAAO,EAAE;wBACL,qBAAqB;wBACrB,qBAAqB;wBACrB,qBAAqB;AACrB,wBAAA,GAAG,OAAO;AACb,qBAAA;AACJ,iBAAA,CAAA;;;ACpCD;;AAEG;;;;"}
|
|
@@ -170,7 +170,7 @@ class TuiInputDateMultiComponent extends AbstractTuiMultipleControl {
|
|
|
170
170
|
tuiAsControl$1(TuiInputDateMultiComponent),
|
|
171
171
|
tuiDateStreamWithTransformer(TUI_DATE_VALUE_TRANSFORMER),
|
|
172
172
|
TUI_MOBILE_CALENDAR_PROVIDER,
|
|
173
|
-
], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }, { propertyName: "inputTag", first: true, predicate: TuiInputTagComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-input-tag\n #inputTag\n class=\"t-input\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [editable]=\"editable\"\n [inputHidden]=\"inputHidden\"\n [maskito]=\"maskitoOptions\"\n [nativeId]=\"nativeId\"\n [ngModel]=\"value | tuiMapper: valueMapper\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [removable]=\"!nativeDropdownMode\"\n [rows]=\"rows\"\n [tagValidator]=\"tagValidator | tuiMapper: disabledItemHandlerWrapper\"\n [tuiTextfieldFiller]=\"(filler$ | async) || ''\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n (keydown.enter)=\"onEnter(inputTag.search || '')\"\n (ngModelChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-input-tag>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax\"\n [min]=\"computedMin\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n (mousedown.zoneless.prevent)=\"(0)\"\n />\n <div\n class=\"t-button\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n <button\n tuiLink\n type=\"button\"\n (click)=\"done()\"\n >\n {{ doneWord$ | async }}\n </button>\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-icon_small{border-width:.25rem}.t-button{display:flex;block-size:2.75rem;justify-content:center;box-shadow:inset 0 1px var(--tui-border-normal)}.t-button button{flex:1;text-align:center}.t-native-input{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;pointer-events:auto;font-size:2rem}\n"], dependencies: [{ kind: "directive", type: i1.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i2.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i3.TuiCalendar, selector: "tui-calendar", inputs: ["month", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler", "value", "initialView"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }, { kind: "directive", type: i4.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "component", type: i5.TuiInputTagComponent, selector: "tui-input-tag", inputs: ["separator", "search", "editable", "tagValidator", "rows", "inputHidden", "uniqueTags", "autoColor", "maxLength", "placeholder", "removable", "disabledItemHandler", "pseudoFocused", "pseudoOpen"], outputs: ["searchChange"] }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i8.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i8.TuiTextfieldFillerDirective, selector: "[tuiTextfieldFiller]", inputs: ["tuiTextfieldFiller"] }, { kind: "directive", type: i8.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "component", type: i9.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i10.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "pipe", type: i11.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TuiMapperPipe, name: "tuiMapper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
173
|
+
], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }, { propertyName: "inputTag", first: true, predicate: TuiInputTagComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-input-tag\n #inputTag\n class=\"t-input\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [editable]=\"editable\"\n [inputHidden]=\"inputHidden\"\n [maskito]=\"maskitoOptions\"\n [nativeId]=\"nativeId\"\n [ngModel]=\"value | tuiMapper: valueMapper\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [removable]=\"!nativeDropdownMode\"\n [rows]=\"rows\"\n [tagValidator]=\"tagValidator | tuiMapper: disabledItemHandlerWrapper\"\n [tuiTextfieldFiller]=\"(filler$ | async) || ''\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n (keydown.enter)=\"onEnter(inputTag.search || '')\"\n (ngModelChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-input-tag>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax\"\n [min]=\"computedMin\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n (mousedown.zoneless.prevent)=\"(0)\"\n />\n <div\n class=\"t-button\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n <button\n tuiLink\n type=\"button\"\n (click)=\"done()\"\n >\n {{ doneWord$ | async }}\n </button>\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host[data-size=l]{border-radius:var(--tui-radius-l)}:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-icon_small{border-width:.25rem}.t-button{display:flex;block-size:2.75rem;justify-content:center;box-shadow:inset 0 1px var(--tui-border-normal)}.t-button button{flex:1;text-align:center}.t-native-input{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;pointer-events:auto;font-size:2rem}\n"], dependencies: [{ kind: "directive", type: i1.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i2.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i3.TuiCalendar, selector: "tui-calendar", inputs: ["month", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler", "value", "initialView"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }, { kind: "directive", type: i4.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "component", type: i5.TuiInputTagComponent, selector: "tui-input-tag", inputs: ["separator", "search", "editable", "tagValidator", "rows", "inputHidden", "uniqueTags", "autoColor", "maxLength", "placeholder", "removable", "disabledItemHandler", "pseudoFocused", "pseudoOpen"], outputs: ["searchChange"] }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i8.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i8.TuiTextfieldFillerDirective, selector: "[tuiTextfieldFiller]", inputs: ["tuiTextfieldFiller"] }, { kind: "directive", type: i8.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "component", type: i9.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i10.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "pipe", type: i11.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TuiMapperPipe, name: "tuiMapper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
174
174
|
}
|
|
175
175
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateMultiComponent, decorators: [{
|
|
176
176
|
type: Component,
|
|
@@ -184,7 +184,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
184
184
|
'[class._editable]': 'editable',
|
|
185
185
|
'[attr.data-size]': 'size',
|
|
186
186
|
'(click)': 'onClick()',
|
|
187
|
-
}, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-input-tag\n #inputTag\n class=\"t-input\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [editable]=\"editable\"\n [inputHidden]=\"inputHidden\"\n [maskito]=\"maskitoOptions\"\n [nativeId]=\"nativeId\"\n [ngModel]=\"value | tuiMapper: valueMapper\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [removable]=\"!nativeDropdownMode\"\n [rows]=\"rows\"\n [tagValidator]=\"tagValidator | tuiMapper: disabledItemHandlerWrapper\"\n [tuiTextfieldFiller]=\"(filler$ | async) || ''\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n (keydown.enter)=\"onEnter(inputTag.search || '')\"\n (ngModelChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-input-tag>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax\"\n [min]=\"computedMin\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n (mousedown.zoneless.prevent)=\"(0)\"\n />\n <div\n class=\"t-button\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n <button\n tuiLink\n type=\"button\"\n (click)=\"done()\"\n >\n {{ doneWord$ | async }}\n </button>\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-icon_small{border-width:.25rem}.t-button{display:flex;block-size:2.75rem;justify-content:center;box-shadow:inset 0 1px var(--tui-border-normal)}.t-button button{flex:1;text-align:center}.t-native-input{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;pointer-events:auto;font-size:2rem}\n"] }]
|
|
187
|
+
}, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-input-tag\n #inputTag\n class=\"t-input\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [editable]=\"editable\"\n [inputHidden]=\"inputHidden\"\n [maskito]=\"maskitoOptions\"\n [nativeId]=\"nativeId\"\n [ngModel]=\"value | tuiMapper: valueMapper\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [removable]=\"!nativeDropdownMode\"\n [rows]=\"rows\"\n [tagValidator]=\"tagValidator | tuiMapper: disabledItemHandlerWrapper\"\n [tuiTextfieldFiller]=\"(filler$ | async) || ''\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n (keydown.enter)=\"onEnter(inputTag.search || '')\"\n (ngModelChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-input-tag>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax\"\n [min]=\"computedMin\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n (mousedown.zoneless.prevent)=\"(0)\"\n />\n <div\n class=\"t-button\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n <button\n tuiLink\n type=\"button\"\n (click)=\"done()\"\n >\n {{ doneWord$ | async }}\n </button>\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host[data-size=l]{border-radius:var(--tui-radius-l)}:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-icon_small{border-width:.25rem}.t-button{display:flex;block-size:2.75rem;justify-content:center;box-shadow:inset 0 1px var(--tui-border-normal)}.t-button button{flex:1;text-align:center}.t-native-input{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;pointer-events:auto;font-size:2rem}\n"] }]
|
|
188
188
|
}], propDecorators: { textfield: [{
|
|
189
189
|
type: ViewChild,
|
|
190
190
|
args: [TuiPrimitiveTextfieldComponent]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-input-date-multi.mjs","sources":["../../../projects/legacy/components/input-date-multi/input-date-multi.component.ts","../../../projects/legacy/components/input-date-multi/input-date-multi.template.html","../../../projects/legacy/components/input-date-multi/input-date-multi.module.ts","../../../projects/legacy/components/input-date-multi/taiga-ui-legacy-components-input-date-multi.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {type MaskitoOptions} from '@maskito/core';\nimport {maskitoDateOptionsGenerator} from '@maskito/kit';\nimport {tuiAsControl, type TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiDateClamp, TuiDay, TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {type TuiBooleanHandler, type TuiMapper} from '@taiga-ui/cdk/types';\nimport {changeDateSeparator, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiMarkerHandler} from '@taiga-ui/core/components/calendar';\nimport {TUI_DATE_FORMAT, TUI_DEFAULT_DATE_FORMAT} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {\n TUI_DATE_TEXTS,\n TUI_DATE_VALUE_TRANSFORMER,\n TUI_DONE_WORD,\n TUI_INPUT_DATE_OPTIONS,\n TUI_MOBILE_CALENDAR,\n TUI_MOBILE_CALENDAR_PROVIDER,\n tuiDateStreamWithTransformer,\n type TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {tuiToggleDay} from '@taiga-ui/kit/utils';\nimport {\n AbstractTuiMultipleControl,\n tuiAsControl as tuiAsLegacyControl,\n TuiStringifiableItem,\n} from '@taiga-ui/legacy/classes';\nimport {TuiInputTagComponent} from '@taiga-ui/legacy/components/input-tag';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {map, type Observable} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'tui-input-date[multiple]',\n templateUrl: './input-date-multi.template.html',\n styleUrls: ['../input-date/input-date.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputDateMultiComponent),\n tuiAsControl(TuiInputDateMultiComponent as any),\n tuiAsLegacyControl(TuiInputDateMultiComponent),\n tuiDateStreamWithTransformer(TUI_DATE_VALUE_TRANSFORMER),\n TUI_MOBILE_CALENDAR_PROVIDER,\n ],\n host: {\n '[class._editable]': 'editable',\n '[attr.data-size]': 'size',\n '(click)': 'onClick()',\n },\n})\nexport class TuiInputDateMultiComponent\n extends AbstractTuiMultipleControl<TuiDay>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @ViewChild(TuiInputTagComponent)\n private readonly inputTag?: TuiInputTagComponent;\n\n private month: TuiMonth | null = null;\n private readonly mobileCalendar = inject(TUI_MOBILE_CALENDAR, {optional: true});\n private readonly options = inject(TUI_INPUT_DATE_OPTIONS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n protected readonly dateTexts$ = inject(TUI_DATE_TEXTS);\n protected override readonly valueTransformer = inject<\n TuiValueTransformer<readonly TuiDay[]>\n >(TUI_DATE_VALUE_TRANSFORMER, {optional: true});\n\n protected open = false;\n\n protected dateFormat = TUI_DEFAULT_DATE_FORMAT;\n protected readonly isMobile = inject(TUI_IS_MOBILE);\n protected readonly doneWord$ = inject(TUI_DONE_WORD);\n protected readonly filler$: Observable<string> = this.dateTexts$.pipe(\n map((dateTexts) =>\n changeDateSeparator(\n dateTexts[this.dateFormat.mode],\n this.dateFormat.separator,\n ),\n ),\n );\n\n protected readonly dateFormat$ = inject(TUI_DATE_FORMAT)\n .pipe(tuiWatch(this.cdr), takeUntilDestroyed())\n .subscribe((format) => {\n this.dateFormat = format;\n });\n\n @Input()\n public min: TuiDay | null = this.options.min;\n\n @Input()\n public max: TuiDay | null = this.options.max;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Input()\n public defaultActiveYearMonth = TuiMonth.currentLocal();\n\n @Input()\n public inputHidden = false;\n\n @Input()\n public editable = true;\n\n @Input()\n public search: string | null = '';\n\n @Input()\n public placeholder = '';\n\n @Input()\n public rows = 1;\n\n public readonly maskitoOptions: MaskitoOptions = maskitoDateOptionsGenerator({\n mode: 'dd/mm/yyyy',\n separator: '.',\n min: this.min?.toLocalNativeDate(),\n max: this.max?.toLocalNativeDate(),\n });\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement || null;\n }\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n @Input()\n public tagValidator: TuiBooleanHandler<string> = (tag: TuiDay | string) => {\n const {year, month, day} = tuiIsString(tag)\n ? TuiDay.parseRawDateString(tag)\n : tag;\n const date = new TuiDay(year, month, day);\n\n return (\n (TuiDay.isValidDay(year, month, day) &&\n this.min?.daySameOrBefore(date) &&\n this.max?.daySameOrAfter(date)) ??\n false\n );\n };\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n protected get nativeDropdownMode(): boolean {\n return this.isMobile && !this.editable;\n }\n\n protected get computedMin(): TuiDay {\n return this.min ?? this.options.min;\n }\n\n protected get computedMax(): TuiDay {\n return this.max ?? this.options.max;\n }\n\n protected get computedMobile(): boolean {\n return this.isMobile && !!this.mobileCalendar;\n }\n\n protected get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n protected get computedActiveYearMonth(): TuiMonth {\n return (\n this.month ||\n this.value[this.value.length - 1] ||\n tuiDateClamp(this.defaultActiveYearMonth, this.computedMin, this.computedMax)\n );\n }\n\n protected onClick(): void {\n if (!this.isMobile && this.interactive) {\n this.open = !this.open;\n }\n }\n\n protected onIconClick(): void {\n if (this.isMobile && this.interactive) {\n this.open = true;\n }\n }\n\n protected readonly disabledItemHandlerWrapper: TuiMapper<\n [TuiBooleanHandler<string> | TuiBooleanHandler<TuiDay>],\n TuiBooleanHandler<TuiStringifiableItem<any> | string>\n > = (handler) => (stringifiable) =>\n tuiIsString(stringifiable) || handler(stringifiable.item);\n\n protected readonly valueMapper: TuiMapper<\n [readonly TuiDay[]],\n ReadonlyArray<TuiStringifiableItem<TuiDay>>\n > = (value) =>\n value.map((item) => new TuiStringifiableItem(item, (item) => String(item)));\n\n protected onEnter(search: string): void {\n if (!this.tagValidator(search)) {\n return;\n }\n\n this.value = tuiToggleDay(this.value, TuiDay.normalizeParse(search));\n\n if (this.inputTag) {\n this.inputTag.search = '';\n }\n\n this.done();\n }\n\n protected onValueChange(value: ReadonlyArray<TuiStringifiableItem<TuiDay>>): void {\n this.control?.updateValueAndValidity({emitEvent: false});\n\n if (!value.length && !this.mobileCalendar) {\n this.onOpenChange(true);\n }\n\n this.value = value.map(({item}) => item);\n }\n\n protected onDayClick(value: TuiDay): void {\n this.value = tuiToggleDay(this.value, value);\n }\n\n protected done(): void {\n this.open = false;\n }\n\n protected onMonthChange(month: TuiMonth): void {\n this.month = month;\n }\n\n protected onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-input-tag\n #inputTag\n class=\"t-input\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [editable]=\"editable\"\n [inputHidden]=\"inputHidden\"\n [maskito]=\"maskitoOptions\"\n [nativeId]=\"nativeId\"\n [ngModel]=\"value | tuiMapper: valueMapper\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [removable]=\"!nativeDropdownMode\"\n [rows]=\"rows\"\n [tagValidator]=\"tagValidator | tuiMapper: disabledItemHandlerWrapper\"\n [tuiTextfieldFiller]=\"(filler$ | async) || ''\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n (keydown.enter)=\"onEnter(inputTag.search || '')\"\n (ngModelChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-input-tag>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax\"\n [min]=\"computedMin\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n (mousedown.zoneless.prevent)=\"(0)\"\n />\n <div\n class=\"t-button\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n <button\n tuiLink\n type=\"button\"\n (click)=\"done()\"\n >\n {{ doneWord$ | async }}\n </button>\n </div>\n </ng-template>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {TuiCalendar} from '@taiga-ui/core/components/calendar';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiInputTagModule} from '@taiga-ui/legacy/components/input-tag';\nimport {TuiPrimitiveTextfieldModule} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputDateMultiComponent} from './input-date-multi.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MaskitoDirective,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiCalendar,\n TuiLink,\n TuiInputTagModule,\n FormsModule,\n TuiMapperPipe,\n TuiTextfieldControllerModule,\n TuiPrimitiveTextfieldModule,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiIcon,\n TuiAppearance,\n ...TuiDropdown,\n ],\n declarations: [TuiInputDateMultiComponent],\n exports: [TuiInputDateMultiComponent, ...TuiDropdown],\n})\nexport class TuiInputDateMultiModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiAsLegacyControl","i6","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-input-date-multi.mjs","sources":["../../../projects/legacy/components/input-date-multi/input-date-multi.component.ts","../../../projects/legacy/components/input-date-multi/input-date-multi.template.html","../../../projects/legacy/components/input-date-multi/input-date-multi.module.ts","../../../projects/legacy/components/input-date-multi/taiga-ui-legacy-components-input-date-multi.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {type MaskitoOptions} from '@maskito/core';\nimport {maskitoDateOptionsGenerator} from '@maskito/kit';\nimport {tuiAsControl, type TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiDateClamp, TuiDay, TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {type TuiBooleanHandler, type TuiMapper} from '@taiga-ui/cdk/types';\nimport {changeDateSeparator, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiMarkerHandler} from '@taiga-ui/core/components/calendar';\nimport {TUI_DATE_FORMAT, TUI_DEFAULT_DATE_FORMAT} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {\n TUI_DATE_TEXTS,\n TUI_DATE_VALUE_TRANSFORMER,\n TUI_DONE_WORD,\n TUI_INPUT_DATE_OPTIONS,\n TUI_MOBILE_CALENDAR,\n TUI_MOBILE_CALENDAR_PROVIDER,\n tuiDateStreamWithTransformer,\n type TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {tuiToggleDay} from '@taiga-ui/kit/utils';\nimport {\n AbstractTuiMultipleControl,\n tuiAsControl as tuiAsLegacyControl,\n TuiStringifiableItem,\n} from '@taiga-ui/legacy/classes';\nimport {TuiInputTagComponent} from '@taiga-ui/legacy/components/input-tag';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {map, type Observable} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'tui-input-date[multiple]',\n templateUrl: './input-date-multi.template.html',\n styleUrls: ['../input-date/input-date.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputDateMultiComponent),\n tuiAsControl(TuiInputDateMultiComponent as any),\n tuiAsLegacyControl(TuiInputDateMultiComponent),\n tuiDateStreamWithTransformer(TUI_DATE_VALUE_TRANSFORMER),\n TUI_MOBILE_CALENDAR_PROVIDER,\n ],\n host: {\n '[class._editable]': 'editable',\n '[attr.data-size]': 'size',\n '(click)': 'onClick()',\n },\n})\nexport class TuiInputDateMultiComponent\n extends AbstractTuiMultipleControl<TuiDay>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @ViewChild(TuiInputTagComponent)\n private readonly inputTag?: TuiInputTagComponent;\n\n private month: TuiMonth | null = null;\n private readonly mobileCalendar = inject(TUI_MOBILE_CALENDAR, {optional: true});\n private readonly options = inject(TUI_INPUT_DATE_OPTIONS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n protected readonly dateTexts$ = inject(TUI_DATE_TEXTS);\n protected override readonly valueTransformer = inject<\n TuiValueTransformer<readonly TuiDay[]>\n >(TUI_DATE_VALUE_TRANSFORMER, {optional: true});\n\n protected open = false;\n\n protected dateFormat = TUI_DEFAULT_DATE_FORMAT;\n protected readonly isMobile = inject(TUI_IS_MOBILE);\n protected readonly doneWord$ = inject(TUI_DONE_WORD);\n protected readonly filler$: Observable<string> = this.dateTexts$.pipe(\n map((dateTexts) =>\n changeDateSeparator(\n dateTexts[this.dateFormat.mode],\n this.dateFormat.separator,\n ),\n ),\n );\n\n protected readonly dateFormat$ = inject(TUI_DATE_FORMAT)\n .pipe(tuiWatch(this.cdr), takeUntilDestroyed())\n .subscribe((format) => {\n this.dateFormat = format;\n });\n\n @Input()\n public min: TuiDay | null = this.options.min;\n\n @Input()\n public max: TuiDay | null = this.options.max;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Input()\n public defaultActiveYearMonth = TuiMonth.currentLocal();\n\n @Input()\n public inputHidden = false;\n\n @Input()\n public editable = true;\n\n @Input()\n public search: string | null = '';\n\n @Input()\n public placeholder = '';\n\n @Input()\n public rows = 1;\n\n public readonly maskitoOptions: MaskitoOptions = maskitoDateOptionsGenerator({\n mode: 'dd/mm/yyyy',\n separator: '.',\n min: this.min?.toLocalNativeDate(),\n max: this.max?.toLocalNativeDate(),\n });\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement || null;\n }\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n @Input()\n public tagValidator: TuiBooleanHandler<string> = (tag: TuiDay | string) => {\n const {year, month, day} = tuiIsString(tag)\n ? TuiDay.parseRawDateString(tag)\n : tag;\n const date = new TuiDay(year, month, day);\n\n return (\n (TuiDay.isValidDay(year, month, day) &&\n this.min?.daySameOrBefore(date) &&\n this.max?.daySameOrAfter(date)) ??\n false\n );\n };\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n protected get nativeDropdownMode(): boolean {\n return this.isMobile && !this.editable;\n }\n\n protected get computedMin(): TuiDay {\n return this.min ?? this.options.min;\n }\n\n protected get computedMax(): TuiDay {\n return this.max ?? this.options.max;\n }\n\n protected get computedMobile(): boolean {\n return this.isMobile && !!this.mobileCalendar;\n }\n\n protected get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n protected get computedActiveYearMonth(): TuiMonth {\n return (\n this.month ||\n this.value[this.value.length - 1] ||\n tuiDateClamp(this.defaultActiveYearMonth, this.computedMin, this.computedMax)\n );\n }\n\n protected onClick(): void {\n if (!this.isMobile && this.interactive) {\n this.open = !this.open;\n }\n }\n\n protected onIconClick(): void {\n if (this.isMobile && this.interactive) {\n this.open = true;\n }\n }\n\n protected readonly disabledItemHandlerWrapper: TuiMapper<\n [TuiBooleanHandler<string> | TuiBooleanHandler<TuiDay>],\n TuiBooleanHandler<TuiStringifiableItem<any> | string>\n > = (handler) => (stringifiable) =>\n tuiIsString(stringifiable) || handler(stringifiable.item);\n\n protected readonly valueMapper: TuiMapper<\n [readonly TuiDay[]],\n ReadonlyArray<TuiStringifiableItem<TuiDay>>\n > = (value) =>\n value.map((item) => new TuiStringifiableItem(item, (item) => String(item)));\n\n protected onEnter(search: string): void {\n if (!this.tagValidator(search)) {\n return;\n }\n\n this.value = tuiToggleDay(this.value, TuiDay.normalizeParse(search));\n\n if (this.inputTag) {\n this.inputTag.search = '';\n }\n\n this.done();\n }\n\n protected onValueChange(value: ReadonlyArray<TuiStringifiableItem<TuiDay>>): void {\n this.control?.updateValueAndValidity({emitEvent: false});\n\n if (!value.length && !this.mobileCalendar) {\n this.onOpenChange(true);\n }\n\n this.value = value.map(({item}) => item);\n }\n\n protected onDayClick(value: TuiDay): void {\n this.value = tuiToggleDay(this.value, value);\n }\n\n protected done(): void {\n this.open = false;\n }\n\n protected onMonthChange(month: TuiMonth): void {\n this.month = month;\n }\n\n protected onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-input-tag\n #inputTag\n class=\"t-input\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [editable]=\"editable\"\n [inputHidden]=\"inputHidden\"\n [maskito]=\"maskitoOptions\"\n [nativeId]=\"nativeId\"\n [ngModel]=\"value | tuiMapper: valueMapper\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [removable]=\"!nativeDropdownMode\"\n [rows]=\"rows\"\n [tagValidator]=\"tagValidator | tuiMapper: disabledItemHandlerWrapper\"\n [tuiTextfieldFiller]=\"(filler$ | async) || ''\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n (keydown.enter)=\"onEnter(inputTag.search || '')\"\n (ngModelChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-input-tag>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax\"\n [min]=\"computedMin\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n (mousedown.zoneless.prevent)=\"(0)\"\n />\n <div\n class=\"t-button\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n <button\n tuiLink\n type=\"button\"\n (click)=\"done()\"\n >\n {{ doneWord$ | async }}\n </button>\n </div>\n </ng-template>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {TuiCalendar} from '@taiga-ui/core/components/calendar';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiInputTagModule} from '@taiga-ui/legacy/components/input-tag';\nimport {TuiPrimitiveTextfieldModule} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputDateMultiComponent} from './input-date-multi.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MaskitoDirective,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiCalendar,\n TuiLink,\n TuiInputTagModule,\n FormsModule,\n TuiMapperPipe,\n TuiTextfieldControllerModule,\n TuiPrimitiveTextfieldModule,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiIcon,\n TuiAppearance,\n ...TuiDropdown,\n ],\n declarations: [TuiInputDateMultiComponent],\n exports: [TuiInputDateMultiComponent, ...TuiDropdown],\n})\nexport class TuiInputDateMultiModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiAsLegacyControl","i6","i1"],"mappings":"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"}
|