@taiga-ui/legacy 4.52.0-canary.eb5ffe3 → 4.52.0-canary.ece97e9
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/input.module.d.ts +4 -4
- package/components/input-date-range/input-date-range.module.d.ts +8 -9
- package/components/input-date-time/input-date-time.module.d.ts +6 -6
- package/components/input-month-range/input-month-range.module.d.ts +3 -3
- package/components/input-number/input-number.module.d.ts +5 -5
- package/components/input-range/input-range.module.d.ts +4 -4
- package/components/input-tag/input-tag.module.d.ts +8 -8
- package/components/multi-select/multi-select.module.d.ts +11 -12
- package/components/primitive-textfield/primitive-textfield.module.d.ts +5 -5
- package/components/select/select.module.d.ts +8 -8
- package/components/select-option/select-option.module.d.ts +3 -3
- package/components/tag/tag.module.d.ts +4 -4
- package/components/textarea/textarea.module.d.ts +7 -7
- package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +23 -27
- package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +18 -18
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +9 -9
- package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-number.mjs +12 -12
- package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs +11 -11
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +22 -22
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input.mjs +6 -5
- package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +27 -31
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +16 -16
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-select-option.mjs +6 -6
- package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-select.mjs +23 -23
- package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-tag.mjs +10 -10
- package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-textarea.mjs +23 -23
- package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-utils.mjs +1 -7
- package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -1
- package/package.json +14 -14
- package/utils/icons-path-factory.d.ts +1 -1
- package/utils/index.d.ts +0 -1
- package/utils/is-apple.d.ts +0 -5
|
@@ -6,7 +6,7 @@ import { tuiInjectElement, tuiRetargetedBoundaryCrossing, tuiGetActualTarget, tu
|
|
|
6
6
|
import { tuiIsFocusedIn } from '@taiga-ui/cdk/utils/focus';
|
|
7
7
|
import { tuiProvideOptions, tuiIsString, tuiArrayRemove } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
8
8
|
import { TuiDataListDirective, tuiAsDataListHost } from '@taiga-ui/core/components/data-list';
|
|
9
|
-
import * as
|
|
9
|
+
import * as i7 from '@taiga-ui/core/components/scrollbar';
|
|
10
10
|
import { TuiScrollbar } from '@taiga-ui/core/components/scrollbar';
|
|
11
11
|
import { TUI_TEXTFIELD_OPTIONS } from '@taiga-ui/core/components/textfield';
|
|
12
12
|
import * as i1 from '@taiga-ui/core/directives/dropdown';
|
|
@@ -14,22 +14,22 @@ import { TuiDropdownOpen, TuiDropdownFixed, TuiDropdown } from '@taiga-ui/core/d
|
|
|
14
14
|
import { TuiHintOptionsDirective } from '@taiga-ui/core/directives/hint';
|
|
15
15
|
import { TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
|
|
16
16
|
import { AbstractTuiMultipleControl, tuiAsControl } from '@taiga-ui/legacy/classes';
|
|
17
|
-
import * as
|
|
18
|
-
import { TUI_TEXTFIELD_WATCHED_CONTROLLER, TEXTFIELD_CONTROLLER_PROVIDER,
|
|
17
|
+
import * as i6 from '@taiga-ui/legacy/directives';
|
|
18
|
+
import { TUI_TEXTFIELD_WATCHED_CONTROLLER, TEXTFIELD_CONTROLLER_PROVIDER, TuiLegacyDropdownOpenMonitorDirective, TuiWrapperModule } from '@taiga-ui/legacy/directives';
|
|
19
19
|
import { tuiAsFocusableItemAccessor } from '@taiga-ui/legacy/tokens';
|
|
20
20
|
import * as i3 from '@taiga-ui/polymorpheus';
|
|
21
21
|
import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
|
|
22
22
|
import { timer } from 'rxjs';
|
|
23
23
|
import * as i2 from '@angular/forms';
|
|
24
24
|
import { FormsModule } from '@angular/forms';
|
|
25
|
-
import * as
|
|
26
|
-
import { TuiTooltipModule } from '@taiga-ui/legacy/components/tooltip';
|
|
27
|
-
import * as i6 from '@taiga-ui/legacy/components/tag';
|
|
28
|
-
import { TuiTagModule } from '@taiga-ui/legacy/components/tag';
|
|
29
|
-
import * as i8 from '@taiga-ui/core/directives/appearance';
|
|
25
|
+
import * as i4 from '@taiga-ui/core/directives/appearance';
|
|
30
26
|
import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
|
|
31
|
-
import * as
|
|
27
|
+
import * as i5 from '@taiga-ui/core/components/icon';
|
|
32
28
|
import { TuiIcon } from '@taiga-ui/core/components/icon';
|
|
29
|
+
import * as i8 from '@taiga-ui/legacy/components/tag';
|
|
30
|
+
import { TuiTagModule } from '@taiga-ui/legacy/components/tag';
|
|
31
|
+
import * as i9 from '@taiga-ui/legacy/components/tooltip';
|
|
32
|
+
import { TuiTooltipModule } from '@taiga-ui/legacy/components/tooltip';
|
|
33
33
|
import * as i10 from '@angular/common';
|
|
34
34
|
import { CommonModule } from '@angular/common';
|
|
35
35
|
import { TuiHovered } from '@taiga-ui/cdk/directives/hovered';
|
|
@@ -388,7 +388,7 @@ class TuiInputTagComponent extends AbstractTuiMultipleControl {
|
|
|
388
388
|
tuiAsControl(TuiInputTagComponent),
|
|
389
389
|
tuiAsDataListHost(TuiInputTagComponent),
|
|
390
390
|
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
391
|
-
], queries: [{ propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }, { propertyName: "valueContent", first: true, predicate: PolymorpheusOutlet, descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: TuiDropdownOpen, descendants: true }, { propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }, { propertyName: "tagsContainer", first: true, predicate: ["tagsContainer"], descendants: true }, { propertyName: "cleanerSvg", first: true, predicate: ["cleaner"], descendants: true, read: ElementRef }, { propertyName: "scrollBar", first: true, predicate: TuiScrollbar, descendants: true, read: ElementRef }, { propertyName: "errorIconTemplate", first: true, predicate: ["errorIcon"], descendants: true }, { propertyName: "tags", predicate: ["tag"], descendants: true, read: ElementRef }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownFixed }], ngImport: i0, template: "@if (hintOptions?.change$ | async) {}\n<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div\n tuiWrapper\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (click.prevent.zoneless)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-content\">\n @if (iconStart) {\n <div class=\"t-icon t-icon_left t-textfield-icon t-icon-wrapper\">\n <tui-icon\n *polymorpheusOutlet=\"iconStart as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n <div class=\"t-wrapper\">\n <div class=\"t-absolute-wrapper\">\n @if (hasPlaceholder) {\n <div\n automation-id=\"tui-input-tag__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\n }\n </div>\n <tui-scrollbar\n class=\"t-scrollbar\"\n [hidden]=\"!expandable\"\n [style.maxHeight.rem]=\"computeMaxHeight\"\n >\n <div\n class=\"t-tags\"\n [class.t-tags_empty]=\"tagsEmpty\"\n >\n @if (labelOutside) {\n @for (item of value; track trackByFn($index, item)) {\n <tui-tag\n #tag\n automation-id=\"tui-input-tag__tag\"\n tabIndex=\"-1\"\n class=\"t-tag\"\n [autoColor]=\"autoColor\"\n [disabled]=\"computedDisabled || disabledItemHandler(item)\"\n [editable]=\"editable && !readOnly\"\n [hoverable]=\"!readOnly\"\n [leftContent]=\"getLeftContent(item)\"\n [maxLength]=\"maxLength\"\n [removable]=\"!readOnly && removable\"\n [separator]=\"separator\"\n [size]=\"controller.size\"\n [status]=\"status\"\n [value]=\"item.toString()\"\n (edited)=\"onTagEdited($event, $index)\"\n (keydown.arrowLeft.prevent)=\"onTagKeyDownArrowLeft($index)\"\n (keydown.arrowRight.prevent)=\"onTagKeyDownArrowRight($index)\"\n />\n }\n } @else {\n @for (item of value; track item) {\n <span\n class=\"t-text\"\n [class.t-text_comma]=\"computedFocused && !inputHidden\"\n [class.t-text_disabled]=\"disabledItemHandler(item)\"\n [class.t-text_error]=\"!tagValidator(item)\"\n [textContent]=\"item\"\n ></span>\n }\n }\n <div\n class=\"t-input-wrapper\"\n [class.t-input-wrapper_collapsed]=\"computedDisabled || readOnly || inputHidden\"\n >\n <div class=\"t-ghost\">{{ search }}</div>\n <input\n #focusableElement\n automation-id=\"tui-input-tag__native\"\n type=\"text\"\n class=\"t-native\"\n [attr.maxLength]=\"maxLength\"\n [class.t-native_hidden]=\"inputHidden\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"search\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly || inputHidden\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n (drop.prevent)=\"onDrop($any($event))\"\n (keydown.arrowLeft)=\"onFieldKeyDownArrowLeft($event)\"\n (keydown.backspace)=\"onFieldKeyDownBackspace($event)\"\n (keydown.enter.prevent)=\"onFieldKeyDownEnter()\"\n (ngModelChange)=\"onInput($event)\"\n (paste.prevent)=\"onPaste($event)\"\n />\n </div>\n </div>\n <div class=\"t-value-content\">\n <ng-content select=\"tuiContent\" />\n </div>\n </tui-scrollbar>\n </div>\n <ng-content select=\"select\" />\n @if (hasRightIcons) {\n <div class=\"t-icons t-icon-wrapper\">\n @if (hasCleaner) {\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n #cleaner\n automation-id=\"tui-input-tag__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onCleanerClick()\"\n />\n }\n @if (showHint) {\n <tui-tooltip\n automation-id=\"tui-input-tag__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n }\n @if (icon) {\n <div class=\"t-icon t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n </div>\n }\n </div>\n <ng-template #errorIcon>\n <tui-icon\n class=\"t-error-icon\"\n [icon]=\"icons.error\"\n />\n </ng-template>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;text-align:start;border-radius:var(--tui-radius-m);block-size:var(--tui-height);min-block-size:var(--tui-height);max-block-size:var(--tui-height)}:host[data-size=s]{--tui-height: var(--tui-height-s);font:var(--tui-font-text-s)}:host[data-size=m]{--tui-height: var(--tui-height-m);font:var(--tui-font-text-s)}:host[data-size=l]{--tui-height: var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}:host :host-context(*:disabled){pointer-events:none}.t-input{padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;border-style:solid;border-color:transparent;border-inline-start-width:var(--t-border-start, 0);border-inline-end-width:var(--t-border-end, 0);text-indent:var(--t-text-indent);color:var(--tui-text-primary);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}.t-input[inputMode=none]{caret-color:transparent}.t-input:-webkit-autofill,.t-input:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}.t-input::-webkit-caps-lock-indicator,.t-input::-webkit-contacts-auto-fill-button,.t-input::-webkit-credit-card-auto-fill-button,.t-input::-webkit-credentials-auto-fill-button,.t-input::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input::placeholder{color:var(--tui-text-tertiary);opacity:0}:host._focused:not(._readonly) .t-input::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-textarea._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-text-area._focused:not(._readonly)) .t-input::placeholder{opacity:1}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"s\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"m\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"l\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-textarea._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-block-start:1.25rem}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-block-start:1rem}:host[data-size=l]:not(._label-outside) .t-input{padding-block-start:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em}.t-content{display:flex;block-size:100%;inline-size:100%;box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size=s] .t-content{padding:0 var(--tui-padding-s)}:host[data-size=m] .t-content{padding:0 var(--tui-padding-m)}:host[data-size=l] .t-content{padding:0 var(--tui-padding-l)}.t-wrapper{flex:1;min-inline-size:0;padding-inline-end:.25rem}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;inline-size:100%;-webkit-user-select:none;user-select:none;font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none;will-change:transform;transform:translateY(0)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);line-height:1.25rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-text-negative)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-tertiary)}:host[data-size=l] .t-placeholder{font:var(--tui-font-text-m);line-height:1.25rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-primary)}.t-cleaner{position:relative;display:flex;inline-size:1.5rem;block-size:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none;pointer-events:auto}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-cleaner:before{font-size:1rem}.t-icon{position:relative;display:flex;inline-size:1.5rem;block-size:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}:host[data-size=s] .t-icon_left{margin:0 .125rem 0 -.375rem}:host[data-size=m] .t-icon_left{margin-inline-start:-.125rem;margin-inline-end:.375rem}:host[data-size=l] .t-icon_left{margin-inline-end:.75rem}.t-icons{display:flex;align-items:center}:host[data-size=m] .t-icons{margin-inline-end:-.125rem}:host[data-size=s] .t-icons{margin-inline-end:-.375rem}:host:not([data-size=s]) .t-icons>:not(:first-child){margin-inline-start:.25rem}:host{cursor:text}:host._expandable{block-size:auto;max-block-size:none}:host._disabled,:host :host-context(*:disabled){pointer-events:none}:host._readonly{cursor:default}:host[data-size=m]{line-height:1rem}.t-hosted{display:block;border-radius:inherit}.t-scrollbar{scroll-behavior:var(--tui-scroll-behavior);margin-inline-start:-.25rem;min-inline-size:100%}:host:not(._label-outside) .t-scrollbar,:host._label-outside._icon-start .t-scrollbar{margin:0}:host[data-size=s]._icon-start .t-scrollbar{margin-inline-start:.25rem}:host[data-size=m]:not(._label-outside) .t-scrollbar{border-block-start:1rem solid transparent}:host[data-size=l]:not(._label-outside) .t-scrollbar{border-block-start:1.25rem solid transparent}.t-tags{display:flex;padding-inline-start:.25rem}.t-tags_expandable{overflow:hidden}.t-tags_empty{block-size:0}:host._expandable .t-tags{flex-wrap:wrap;white-space:normal;overflow:hidden}:host._readonly .t-tags{pointer-events:none}:host[data-size=m]:not(._label-outside) .t-tags,:host[data-size=l]:not(._label-outside) .t-tags{padding:0}.t-tags tui-tag:last-of-type{max-inline-size:80%}.t-content{align-items:flex-start}:host[data-size=s] .t-content{min-block-size:var(--tui-height-s)}:host[data-size=m] .t-content{min-block-size:var(--tui-height-m)}:host[data-size=l] .t-content{min-block-size:var(--tui-height-l)}:host[data-size=s] .t-icon-wrapper{block-size:var(--tui-height-s)}:host[data-size=m] .t-icon-wrapper{block-size:var(--tui-height-m)}:host[data-size=l] .t-icon-wrapper{block-size:var(--tui-height-l)}.t-absolute-wrapper{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;display:flex;flex-direction:column;justify-content:center}:host[data-size=m] .t-absolute-wrapper{block-size:var(--tui-height-m)}:host[data-size=l] .t-absolute-wrapper{block-size:var(--tui-height-l)}.t-wrapper{position:relative;display:flex;align-items:center;padding:0;box-sizing:border-box}:host[data-size=s] .t-wrapper{min-block-size:var(--tui-height-s);padding:calc((var(--tui-height-s) - 1.5rem) / 2) 0}:host[data-size=m] .t-wrapper{min-block-size:var(--tui-height-m);padding:calc((var(--tui-height-m) - var(--tui-height-xs) - .25rem) / 2) 0}:host[data-size=l] .t-wrapper{padding:calc((var(--tui-height-l) - var(--tui-height-s) - .25rem) / 2) 0}:host[data-size=m]:not(._label-outside) .t-wrapper{padding:calc((var(--tui-height-m) - 2rem) / 2) 0}:host[data-size=l]:not(._label-outside) .t-wrapper{padding:calc((var(--tui-height-l) - 2.5rem) / 2) 0}.t-tag{margin:.125rem .5rem .125rem -.25rem;margin-inline-start:-.25rem;margin-inline-end:.5rem;max-inline-size:100%;flex-shrink:0}:host[data-size=m] .t-tag{margin-inline-start:-.125rem;margin-inline-end:.375rem}.t-text:after{content:\",\\a0\"}.t-text_disabled{color:var(--tui-text-tertiary)}.t-text_error{color:var(--tui-text-negative)}.t-text:not(.t-text_comma):last-of-type:after{content:\"\"}:host:not(._expandable) .t-text{white-space:nowrap}.t-input-wrapper,.t-value-content{position:relative;display:flex;flex:1;max-inline-size:100%}:host[data-size=s] .t-input-wrapper,:host[data-size=s] .t-value-content{min-block-size:1.5rem}:host[data-size=m] .t-input-wrapper,:host[data-size=m] .t-value-content{min-block-size:calc(var(--tui-height-xs) + 2 * .125rem)}:host[data-size=l] .t-input-wrapper,:host[data-size=l] .t-value-content{min-block-size:calc(var(--tui-height-s) + 2 * .125rem)}:host:not(._label-outside) .t-input-wrapper,:host:not(._label-outside) .t-value-content{min-block-size:1rem}.t-input-wrapper_collapsed{flex:0;margin-inline-start:-.5rem}.t-value-content:empty{display:none}.t-ghost{visibility:hidden;white-space:pre;text-overflow:clip;min-inline-size:.125rem}:host:not(._expandable) .t-ghost{min-inline-size:2rem}.t-native{margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;padding:0;cursor:inherit}.t-native:-webkit-autofill,.t-native:-webkit-autofill:hover,.t-native:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}.t-native[inputMode=none]{caret-color:transparent}.t-native_hidden{opacity:0;text-indent:-10em}.t-native::placeholder{color:var(--tui-text-tertiary);opacity:0}:host-context([tuiTheme=\"dark\"]) .t-native::placeholder{color:var(--tui-text-tertiary)}:host._focused .t-native:not(:read-only)::placeholder{opacity:1}.t-error-icon{display:block;color:var(--tui-status-negative);font-size:1rem}:host._readonly .t-textfield-icon ::ng-deep [tuiAppearance][data-appearance=icon]{pointer-events:none}@media (hover: hover) and (pointer: fine){:host:not(._readonly):not(._disabled):hover .t-textfield-icon ::ng-deep [tuiAppearance][data-appearance=icon]:before{color:var(--tui-text-secondary)}}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i4.TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }, { kind: "component", type: i5.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId", "context"] }, { kind: "component", type: i6.TuiTagComponent, selector: "tui-tag, a[tuiTag], button[tuiTag]", inputs: ["value", "editable", "separator", "maxLength", "size", "showLoader", "status", "hoverable", "removable", "disabled", "autoColor", "leftContent"], outputs: ["edited"] }, { kind: "directive", type: i7.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "directive", type: i7.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "directive", type: i8.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "component", type: i9.TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "directive", type: i1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
391
|
+
], queries: [{ propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }, { propertyName: "valueContent", first: true, predicate: PolymorpheusOutlet, descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: TuiDropdownOpen, descendants: true }, { propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }, { propertyName: "tagsContainer", first: true, predicate: ["tagsContainer"], descendants: true }, { propertyName: "cleanerSvg", first: true, predicate: ["cleaner"], descendants: true, read: ElementRef }, { propertyName: "scrollBar", first: true, predicate: TuiScrollbar, descendants: true, read: ElementRef }, { propertyName: "errorIconTemplate", first: true, predicate: ["errorIcon"], descendants: true }, { propertyName: "tags", predicate: ["tag"], descendants: true, read: ElementRef }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownFixed }], ngImport: i0, template: "@if (hintOptions?.change$ | async) {}\n<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div\n tuiWrapper\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (click.prevent.zoneless)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-content\">\n @if (iconStart) {\n <div class=\"t-icon t-icon_left t-textfield-icon t-icon-wrapper\">\n <tui-icon\n *polymorpheusOutlet=\"iconStart as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n <div class=\"t-wrapper\">\n <div class=\"t-absolute-wrapper\">\n @if (hasPlaceholder) {\n <div\n automation-id=\"tui-input-tag__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\n }\n </div>\n <tui-scrollbar\n class=\"t-scrollbar\"\n [hidden]=\"!expandable\"\n [style.maxHeight.rem]=\"computeMaxHeight\"\n >\n <div\n class=\"t-tags\"\n [class.t-tags_empty]=\"tagsEmpty\"\n >\n @if (labelOutside) {\n @for (item of value; track trackByFn($index, item)) {\n <tui-tag\n #tag\n automation-id=\"tui-input-tag__tag\"\n tabIndex=\"-1\"\n class=\"t-tag\"\n [autoColor]=\"autoColor\"\n [disabled]=\"computedDisabled || disabledItemHandler(item)\"\n [editable]=\"editable && !readOnly\"\n [hoverable]=\"!readOnly\"\n [leftContent]=\"getLeftContent(item)\"\n [maxLength]=\"maxLength\"\n [removable]=\"!readOnly && removable\"\n [separator]=\"separator\"\n [size]=\"controller.size\"\n [status]=\"status\"\n [value]=\"item.toString()\"\n (edited)=\"onTagEdited($event, $index)\"\n (keydown.arrowLeft.prevent)=\"onTagKeyDownArrowLeft($index)\"\n (keydown.arrowRight.prevent)=\"onTagKeyDownArrowRight($index)\"\n />\n }\n } @else {\n @for (item of value; track item) {\n <span\n class=\"t-text\"\n [class.t-text_comma]=\"computedFocused && !inputHidden\"\n [class.t-text_disabled]=\"disabledItemHandler(item)\"\n [class.t-text_error]=\"!tagValidator(item)\"\n [textContent]=\"item\"\n ></span>\n }\n }\n <div\n class=\"t-input-wrapper\"\n [class.t-input-wrapper_collapsed]=\"computedDisabled || readOnly || inputHidden\"\n >\n <div class=\"t-ghost\">{{ search }}</div>\n <input\n #focusableElement\n automation-id=\"tui-input-tag__native\"\n type=\"text\"\n class=\"t-native\"\n [attr.maxLength]=\"maxLength\"\n [class.t-native_hidden]=\"inputHidden\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"search\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly || inputHidden\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n (drop.prevent)=\"onDrop($any($event))\"\n (keydown.arrowLeft)=\"onFieldKeyDownArrowLeft($event)\"\n (keydown.backspace)=\"onFieldKeyDownBackspace($event)\"\n (keydown.enter.prevent)=\"onFieldKeyDownEnter()\"\n (ngModelChange)=\"onInput($event)\"\n (paste.prevent)=\"onPaste($event)\"\n />\n </div>\n </div>\n <div class=\"t-value-content\">\n <ng-content select=\"tuiContent\" />\n </div>\n </tui-scrollbar>\n </div>\n <ng-content select=\"select\" />\n @if (hasRightIcons) {\n <div class=\"t-icons t-icon-wrapper\">\n @if (hasCleaner) {\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n #cleaner\n automation-id=\"tui-input-tag__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onCleanerClick()\"\n />\n }\n @if (showHint) {\n <tui-tooltip\n automation-id=\"tui-input-tag__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n }\n @if (icon) {\n <div class=\"t-icon t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n </div>\n }\n </div>\n <ng-template #errorIcon>\n <tui-icon\n class=\"t-error-icon\"\n [icon]=\"icons.error\"\n />\n </ng-template>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;text-align:start;border-radius:var(--tui-radius-m);block-size:var(--tui-height);min-block-size:var(--tui-height);max-block-size:var(--tui-height)}:host[data-size=s]{--tui-height: var(--tui-height-s);font:var(--tui-font-text-s)}:host[data-size=m]{--tui-height: var(--tui-height-m);font:var(--tui-font-text-s)}:host[data-size=l]{--tui-height: var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}:host :host-context(*:disabled){pointer-events:none}.t-input{padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;border-style:solid;border-color:transparent;border-inline-start-width:var(--t-border-start, 0);border-inline-end-width:var(--t-border-end, 0);text-indent:var(--t-text-indent);color:var(--tui-text-primary);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}.t-input[inputMode=none]{caret-color:transparent}.t-input:-webkit-autofill,.t-input:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}.t-input::-webkit-caps-lock-indicator,.t-input::-webkit-contacts-auto-fill-button,.t-input::-webkit-credit-card-auto-fill-button,.t-input::-webkit-credentials-auto-fill-button,.t-input::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input::placeholder{color:var(--tui-text-tertiary);opacity:0}:host._focused:not(._readonly) .t-input::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-textarea._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-text-area._focused:not(._readonly)) .t-input::placeholder{opacity:1}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"s\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"m\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"l\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-textarea._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-block-start:1.25rem}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-block-start:1rem}:host[data-size=l]:not(._label-outside) .t-input{padding-block-start:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em}.t-content{display:flex;block-size:100%;inline-size:100%;box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size=s] .t-content{padding:0 var(--tui-padding-s)}:host[data-size=m] .t-content{padding:0 var(--tui-padding-m)}:host[data-size=l] .t-content{padding:0 var(--tui-padding-l)}.t-wrapper{flex:1;min-inline-size:0;padding-inline-end:.25rem}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;inline-size:100%;-webkit-user-select:none;user-select:none;font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none;will-change:transform;transform:translateY(0)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);line-height:1.25rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-text-negative)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-tertiary)}:host[data-size=l] .t-placeholder{font:var(--tui-font-text-m);line-height:1.25rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-primary)}.t-cleaner{position:relative;display:flex;inline-size:1.5rem;block-size:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none;pointer-events:auto}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-cleaner:before{font-size:1rem}.t-icon{position:relative;display:flex;inline-size:1.5rem;block-size:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}:host[data-size=s] .t-icon_left{margin:0 .125rem 0 -.375rem}:host[data-size=m] .t-icon_left{margin-inline-start:-.125rem;margin-inline-end:.375rem}:host[data-size=l] .t-icon_left{margin-inline-end:.75rem}.t-icons{display:flex;align-items:center}:host[data-size=m] .t-icons{margin-inline-end:-.125rem}:host[data-size=s] .t-icons{margin-inline-end:-.375rem}:host:not([data-size=s]) .t-icons>:not(:first-child){margin-inline-start:.25rem}:host{cursor:text}:host._expandable{block-size:auto;max-block-size:none}:host._disabled,:host :host-context(*:disabled){pointer-events:none}:host._readonly{cursor:default}:host[data-size=m]{line-height:1rem}.t-hosted{display:block;border-radius:inherit}.t-scrollbar{scroll-behavior:var(--tui-scroll-behavior);margin-inline-start:-.25rem;min-inline-size:100%}:host:not(._label-outside) .t-scrollbar,:host._label-outside._icon-start .t-scrollbar{margin:0}:host[data-size=s]._icon-start .t-scrollbar{margin-inline-start:.25rem}:host[data-size=m]:not(._label-outside) .t-scrollbar{border-block-start:1rem solid transparent}:host[data-size=l]:not(._label-outside) .t-scrollbar{border-block-start:1.25rem solid transparent}.t-tags{display:flex;padding-inline-start:.25rem}.t-tags_expandable{overflow:hidden}.t-tags_empty{block-size:0}:host._expandable .t-tags{flex-wrap:wrap;white-space:normal;overflow:hidden}:host._readonly .t-tags{pointer-events:none}:host[data-size=m]:not(._label-outside) .t-tags,:host[data-size=l]:not(._label-outside) .t-tags{padding:0}.t-tags tui-tag:last-of-type{max-inline-size:80%}.t-content{align-items:flex-start}:host[data-size=s] .t-content{min-block-size:var(--tui-height-s)}:host[data-size=m] .t-content{min-block-size:var(--tui-height-m)}:host[data-size=l] .t-content{min-block-size:var(--tui-height-l)}:host[data-size=s] .t-icon-wrapper{block-size:var(--tui-height-s)}:host[data-size=m] .t-icon-wrapper{block-size:var(--tui-height-m)}:host[data-size=l] .t-icon-wrapper{block-size:var(--tui-height-l)}.t-absolute-wrapper{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;display:flex;flex-direction:column;justify-content:center}:host[data-size=m] .t-absolute-wrapper{block-size:var(--tui-height-m)}:host[data-size=l] .t-absolute-wrapper{block-size:var(--tui-height-l)}.t-wrapper{position:relative;display:flex;align-items:center;padding:0;box-sizing:border-box}:host[data-size=s] .t-wrapper{min-block-size:var(--tui-height-s);padding:calc((var(--tui-height-s) - 1.5rem) / 2) 0}:host[data-size=m] .t-wrapper{min-block-size:var(--tui-height-m);padding:calc((var(--tui-height-m) - var(--tui-height-xs) - .25rem) / 2) 0}:host[data-size=l] .t-wrapper{padding:calc((var(--tui-height-l) - var(--tui-height-s) - .25rem) / 2) 0}:host[data-size=m]:not(._label-outside) .t-wrapper{padding:calc((var(--tui-height-m) - 2rem) / 2) 0}:host[data-size=l]:not(._label-outside) .t-wrapper{padding:calc((var(--tui-height-l) - 2.5rem) / 2) 0}.t-tag{margin:.125rem .5rem .125rem -.25rem;margin-inline-start:-.25rem;margin-inline-end:.5rem;max-inline-size:100%;flex-shrink:0}:host[data-size=m] .t-tag{margin-inline-start:-.125rem;margin-inline-end:.375rem}.t-text:after{content:\",\\a0\"}.t-text_disabled{color:var(--tui-text-tertiary)}.t-text_error{color:var(--tui-text-negative)}.t-text:not(.t-text_comma):last-of-type:after{content:\"\"}:host:not(._expandable) .t-text{white-space:nowrap}.t-input-wrapper,.t-value-content{position:relative;display:flex;flex:1;max-inline-size:100%}:host[data-size=s] .t-input-wrapper,:host[data-size=s] .t-value-content{min-block-size:1.5rem}:host[data-size=m] .t-input-wrapper,:host[data-size=m] .t-value-content{min-block-size:calc(var(--tui-height-xs) + 2 * .125rem)}:host[data-size=l] .t-input-wrapper,:host[data-size=l] .t-value-content{min-block-size:calc(var(--tui-height-s) + 2 * .125rem)}:host:not(._label-outside) .t-input-wrapper,:host:not(._label-outside) .t-value-content{min-block-size:1rem}.t-input-wrapper_collapsed{flex:0;margin-inline-start:-.5rem}.t-value-content:empty{display:none}.t-ghost{visibility:hidden;white-space:pre;text-overflow:clip;min-inline-size:.125rem}:host:not(._expandable) .t-ghost{min-inline-size:2rem}.t-native{margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;padding:0;cursor:inherit}.t-native:-webkit-autofill,.t-native:-webkit-autofill:hover,.t-native:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}.t-native[inputMode=none]{caret-color:transparent}.t-native_hidden{opacity:0;text-indent:-10em}.t-native::placeholder{color:var(--tui-text-tertiary);opacity:0}:host-context([tuiTheme=\"dark\"]) .t-native::placeholder{color:var(--tui-text-tertiary)}:host._focused .t-native:not(:read-only)::placeholder{opacity:1}.t-error-icon{display:block;color:var(--tui-status-negative);font-size:1rem}:host._readonly .t-textfield-icon ::ng-deep [tuiAppearance][data-appearance=icon]{pointer-events:none}@media (hover: hover) and (pointer: fine){:host:not(._readonly):not(._disabled):hover .t-textfield-icon ::ng-deep [tuiAppearance][data-appearance=icon]:before{color:var(--tui-text-secondary)}}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i4.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "component", type: i5.TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "directive", type: i6.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "component", type: i7.TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }, { kind: "component", type: i8.TuiTagComponent, selector: "tui-tag, a[tuiTag], button[tuiTag]", inputs: ["value", "editable", "separator", "maxLength", "size", "showLoader", "status", "hoverable", "removable", "disabled", "autoColor", "leftContent"], outputs: ["edited"] }, { kind: "component", type: i9.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId", "context"] }, { kind: "directive", type: i6.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "directive", type: i1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
392
392
|
}
|
|
393
393
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputTagComponent, decorators: [{
|
|
394
394
|
type: Component,
|
|
@@ -476,21 +476,21 @@ class TuiInputTagModule {
|
|
|
476
476
|
FormsModule,
|
|
477
477
|
PolymorpheusOutlet,
|
|
478
478
|
PolymorpheusTemplate,
|
|
479
|
+
TuiAppearance,
|
|
479
480
|
TuiHovered,
|
|
481
|
+
TuiIcon,
|
|
482
|
+
TuiLegacyDropdownOpenMonitorDirective,
|
|
480
483
|
TuiScrollbar,
|
|
481
|
-
TuiTooltipModule,
|
|
482
484
|
TuiTagModule,
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
TuiAppearance,
|
|
486
|
-
TuiIcon, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContent, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection], exports: [TuiInputTagComponent, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContent, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection] }); }
|
|
485
|
+
TuiTooltipModule,
|
|
486
|
+
TuiWrapperModule, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContent, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection], exports: [TuiInputTagComponent, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContent, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection] }); }
|
|
487
487
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputTagModule, providers: [TuiScrollService], imports: [CommonModule,
|
|
488
488
|
FormsModule,
|
|
489
|
+
TuiIcon,
|
|
489
490
|
TuiScrollbar,
|
|
490
|
-
TuiTooltipModule,
|
|
491
491
|
TuiTagModule,
|
|
492
|
-
|
|
493
|
-
|
|
492
|
+
TuiTooltipModule,
|
|
493
|
+
TuiWrapperModule, i1.TuiDropdownComponent] }); }
|
|
494
494
|
}
|
|
495
495
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputTagModule, decorators: [{
|
|
496
496
|
type: NgModule,
|
|
@@ -500,14 +500,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
500
500
|
FormsModule,
|
|
501
501
|
PolymorpheusOutlet,
|
|
502
502
|
PolymorpheusTemplate,
|
|
503
|
+
TuiAppearance,
|
|
503
504
|
TuiHovered,
|
|
505
|
+
TuiIcon,
|
|
506
|
+
TuiLegacyDropdownOpenMonitorDirective,
|
|
504
507
|
TuiScrollbar,
|
|
505
|
-
TuiTooltipModule,
|
|
506
508
|
TuiTagModule,
|
|
509
|
+
TuiTooltipModule,
|
|
507
510
|
TuiWrapperModule,
|
|
508
|
-
TuiLegacyDropdownOpenMonitorDirective,
|
|
509
|
-
TuiAppearance,
|
|
510
|
-
TuiIcon,
|
|
511
511
|
...TuiDropdown,
|
|
512
512
|
],
|
|
513
513
|
declarations: [TuiInputTagComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-input-tag.mjs","sources":["../../../projects/legacy/components/input-tag/input-tag.options.ts","../../../projects/legacy/components/input-tag/input-tag.component.ts","../../../projects/legacy/components/input-tag/input-tag.template.html","../../../projects/legacy/components/input-tag/input-tag.module.ts","../../../projects/legacy/components/input-tag/taiga-ui-legacy-components-input-tag.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiStatus} from '@taiga-ui/legacy/utils';\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport interface TuiInputTagOptions {\n readonly autoColor: boolean;\n readonly separator: RegExp | string;\n readonly tagStatus: TuiStatus;\n readonly uniqueTags: boolean;\n}\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport const TUI_INPUT_TAG_DEFAULT_OPTIONS: TuiInputTagOptions = {\n autoColor: false,\n separator: ',',\n tagStatus: 'default',\n uniqueTags: true,\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for InputTag component\n */\nexport const TUI_INPUT_TAG_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_TAG_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_TAG_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport function tuiInputTagOptionsProvider(\n options: Partial<TuiInputTagOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_TAG_OPTIONS,\n options,\n TUI_INPUT_TAG_DEFAULT_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n type QueryList,\n signal,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY, TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {type TuiBooleanHandler, type TuiContext} from '@taiga-ui/cdk/types';\nimport {\n tuiGetActualTarget,\n tuiGetClipboardDataText,\n tuiInjectElement,\n tuiIsElement,\n tuiRetargetedBoundaryCrossing,\n} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiArrayRemove, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAsDataListHost,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {\n AbstractTuiMultipleControl,\n tuiAsControl,\n type TuiStringifiableItem,\n} from '@taiga-ui/legacy/classes';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {type TuiStatus} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {timer} from 'rxjs';\n\nimport {TUI_INPUT_TAG_OPTIONS} from './input-tag.options';\n\nconst TAG_SIZE_REM = {\n s: 1.25,\n m: 1.5,\n l: 2,\n};\nconst LINE_HEIGHT_REM = {\n s: 1,\n m: 1.25,\n l: 1.25,\n};\nconst TAG_VERTICAL_SPACE_REM = 0.125;\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-tag',\n templateUrl: './input-tag.template.html',\n styleUrl: './input-tag.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputTagComponent),\n tuiAsControl(TuiInputTagComponent),\n tuiAsDataListHost(TuiInputTagComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n '[class._icon-start]': 'iconStart',\n '[class._expandable]': 'expandable',\n '[class._label-outside]': 'labelOutside',\n '(focusin.capture.zoneless)': 'onFocusInOut()',\n '(focusout.capture.zoneless)': 'onFocusInOut()',\n },\n})\nexport class TuiInputTagComponent\n extends AbstractTuiMultipleControl<string>\n implements TuiFocusableElementAccessor, TuiDataListHost<string>\n{\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @ViewChild('tagsContainer')\n private readonly tagsContainer?: ElementRef<HTMLElement>;\n\n @ViewChildren('tag', {read: ElementRef})\n private readonly tags: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @ViewChild('cleaner', {read: ElementRef})\n private readonly cleanerSvg?: ElementRef<HTMLElement>;\n\n @ViewChild(TuiScrollbar, {read: ElementRef})\n private readonly scrollBar?: ElementRef<HTMLElement>;\n\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_INPUT_TAG_OPTIONS);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist?: TemplateRef<TuiContext<TuiActiveZone>>;\n\n @ContentChild(PolymorpheusOutlet)\n protected readonly valueContent?: unknown;\n\n @ViewChild('errorIcon')\n protected readonly errorIconTemplate?: TemplateRef<Record<string, unknown>>;\n\n protected readonly textfieldOptions = inject(TUI_TEXTFIELD_OPTIONS);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected status: TuiStatus = this.options.tagStatus;\n protected open = false;\n\n @Input()\n public separator: RegExp | string = this.options.separator;\n\n @Input()\n public search: string | null = '';\n\n @Input()\n public editable = true;\n\n @Input()\n public tagValidator:\n | TuiBooleanHandler<string>\n | TuiBooleanHandler<TuiStringifiableItem<unknown> | string> = TUI_TRUE_HANDLER;\n\n @Input()\n public rows = Infinity;\n\n @Input()\n public inputHidden = false;\n\n @Input()\n public uniqueTags = this.options.uniqueTags;\n\n @Input()\n public autoColor = this.options.autoColor;\n\n @Input()\n public maxLength: number | null = null;\n\n @Input()\n public placeholder = '';\n\n @Input()\n public removable = true;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiStringifiableItem<any> | string> =\n TUI_FALSE_HANDLER;\n\n @Output()\n public readonly searchChange = new EventEmitter<string>();\n\n public pseudoOpen = signal(false);\n\n @Input('pseudoFocused')\n public set pseudoFocusedSetter(value: boolean | null) {\n if (!value && !this.focused) {\n this.scrollTo(0);\n }\n\n this.pseudoFocus = value;\n }\n\n /**\n * @deprecated hack\n */\n @Input('pseudoOpen')\n public set setPseudoOpen(value: boolean) {\n this.pseudoOpen.set(value);\n }\n\n public get labelOutside(): boolean {\n const {size, labelOutside} = this.controller;\n\n return this.appearance === 'table' || size === 's' || labelOutside;\n }\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return !this.focusableElement || this.computedDisabled\n ? null\n : this.focusableElement.nativeElement;\n }\n\n public get hasValue(): boolean {\n return !!this.value.length || this.hasNativeValue;\n }\n\n public get hasExampleText(): boolean {\n return (\n !!this.nativeFocusableElement?.placeholder &&\n this.computedFocused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n public get hasPlaceholder(): boolean {\n return (\n !this.labelOutside ||\n (!this.hasValue && (!this.hasExampleText || this.inputHidden))\n );\n }\n\n public get focused(): boolean {\n return tuiIsFocusedIn(this.el) || !!this.dropdown?.tuiDropdownOpen;\n }\n\n public get tagsEmpty(): boolean {\n return (\n ((!this.focused || this.inputHidden) &&\n !this.value.length &&\n !this.search?.trim()?.length &&\n !this.placeholder) ||\n !!this.valueContent\n );\n }\n\n public onTagEdited(value: string, index: number): void {\n this.focusInput(value === '');\n this.value = this.filterValue(\n this.value\n .map((tag, tagIndex) =>\n tagIndex !== index\n ? tag\n : value\n .split(this.separator)\n .map((tag) => tag.trim())\n .filter(Boolean),\n )\n .reduce<string[]>(\n (result, item: string[] | string) => result.concat(item),\n [],\n ),\n );\n }\n\n public handleOption(item: string): void {\n this.focusInput();\n this.updateSearch('');\n this.value = this.filterValue(this.value.concat(item));\n this.open = false;\n this.scrollTo();\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n protected get iconStart(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.iconStart;\n }\n\n protected get appearance(): string {\n return this.textfieldOptions.appearance() === 'table'\n ? 'table'\n : this.controller.appearance;\n }\n\n protected get expandable(): boolean {\n return this.rows > 1;\n }\n\n protected get icon(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n protected get iconCleaner(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.options.iconCleaner;\n }\n\n protected get hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n protected get hasNativeValue(): boolean {\n return !!this.search;\n }\n\n protected get placeholderRaised(): boolean {\n return (\n !this.labelOutside &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n protected get hasRightIcons(): boolean {\n return (\n this.hasCleaner ||\n !!this.icon ||\n (!!this.hintOptions?.content && !this.computedDisabled)\n );\n }\n\n protected get showHint(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.controller.options.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n protected get canOpen(): boolean {\n return this.interactive && !!this.datalist;\n }\n\n protected get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n protected onFocusInOut(): void {\n this.cdr.detectChanges();\n }\n\n protected detectRetargetFromLabel(event: Event): void {\n if (tuiRetargetedBoundaryCrossing(event)) {\n event.stopImmediatePropagation();\n }\n }\n\n protected getLeftContent(tag: string): PolymorpheusContent {\n return !this.tagValidator(tag) && this.errorIconTemplate\n ? this.errorIconTemplate\n : '';\n }\n\n protected onCleanerClick(): void {\n this.updateSearch('');\n this.clear();\n this.focusInput();\n }\n\n protected onActiveZone(active: boolean): void {\n this.open = false;\n this.addTag();\n this.updateFocused(active);\n\n if (!active && !this.computedFocused) {\n this.scrollTo(0);\n }\n }\n\n protected onMouseDown(event: MouseEvent): void {\n const actualTarget = tuiGetActualTarget(event);\n\n if (\n !this.focusableElement ||\n actualTarget === this.focusableElement.nativeElement ||\n !tuiIsElement(event.target) ||\n this.cleanerSvg?.nativeElement.contains(event.target) ||\n (this.tagsContainer &&\n actualTarget !== this.tagsContainer.nativeElement &&\n this.tagsContainer.nativeElement.contains(actualTarget))\n ) {\n return;\n }\n\n event.preventDefault();\n this.focusInput();\n }\n\n protected onFieldKeyDownBackspace(event: Event): void {\n if (!this.labelOutside && !this.hasNativeValue && this.value.length) {\n this.deleteLastEnabledItem();\n } else {\n this.onFieldKeyDownArrowLeft(event);\n }\n }\n\n protected onFieldKeyDownArrowLeft(event: Event): void {\n if (!this.labelOutside || this.hasNativeValue || !this.value.length) {\n return;\n }\n\n event.preventDefault();\n this.tags.last.nativeElement.focus();\n }\n\n protected onFieldKeyDownEnter(): void {\n this.addTag();\n this.scrollTo();\n }\n\n protected onTagKeyDownArrowLeft(currentIndex: number): void {\n if (currentIndex > 0) {\n this.onScrollKeyDown(currentIndex, -1);\n }\n }\n\n protected onTagKeyDownArrowRight(currentIndex: number): void {\n if (currentIndex === this.value.length - 1) {\n this.focusInput();\n } else {\n this.onScrollKeyDown(currentIndex, 1);\n }\n }\n\n protected onInput(value: string): void {\n const array = value.split(this.separator);\n const tags = array\n .map((item) => this.clippedValue(item.trim()))\n .filter((item) => item.length > 0);\n const validated = tags.filter((tag) => !this.disabledItemHandler(tag));\n const invalid = tags.filter((tag) => this.disabledItemHandler(tag));\n\n if (array.length > 1) {\n const search = invalid.length\n ? invalid.join(tuiIsString(this.separator) ? this.separator : ',')\n : '';\n\n this.updateSearch(this.clippedValue(search));\n\n this.value = this.filterValue([...this.value, ...validated]);\n } else {\n this.updateSearch(this.clippedValue(value));\n }\n\n this.open = this.hasNativeValue;\n }\n\n protected onPaste(event: Event): void {\n const pasted = tuiGetClipboardDataText(event as ClipboardEvent);\n\n this.onInput(pasted || '');\n }\n\n protected onDrop({dataTransfer}: DragEvent): void {\n if (dataTransfer) {\n this.onInput(dataTransfer.getData('text') || '');\n }\n }\n\n protected trackByFn(_: number, tag: string): string {\n // Actually tag has TuiStringifiableItem type not string\n return tag;\n }\n\n private get lineHeight(): number {\n return this.labelOutside\n ? TAG_SIZE_REM[this.controller.size] + 2 * TAG_VERTICAL_SPACE_REM\n : LINE_HEIGHT_REM[this.controller.size];\n }\n\n private scrollTo(scrollLeft = this.scrollBar?.nativeElement.scrollWidth): void {\n // Allow change detection to run and add new tag to DOM\n timer(0)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n if (this.scrollBar) {\n this.scrollBar.nativeElement.scrollLeft = scrollLeft || 0;\n }\n });\n }\n\n private filterValue(value: string[]): string[] {\n const seen = new Set();\n\n return value\n .reverse()\n .filter(\n (item) => !this.uniqueTags || (item && !seen.has(item) && seen.add(item)),\n )\n .reverse();\n }\n\n private onScrollKeyDown(currentIndex: number, flag: number): void {\n const tag = this.tags.find((_item, index) => index === currentIndex + flag);\n\n if (!tag || !this.scrollBar) {\n return;\n }\n\n tag.nativeElement.focus();\n\n if (\n flag * this.scrollBar.nativeElement.clientWidth -\n flag * tag.nativeElement.offsetLeft -\n tag.nativeElement.clientWidth <\n 0\n ) {\n this.scrollBar.nativeElement.scrollLeft +=\n flag * tag.nativeElement.clientWidth;\n }\n }\n\n private updateSearch(value: string): void {\n if (this.focusableElement) {\n this.focusableElement.nativeElement.value = value;\n }\n\n this.search = value;\n this.searchChange.emit(value);\n }\n\n private addTag(): void {\n const inputValue = this.search?.trim() ?? '';\n\n if (!inputValue || this.disabledItemHandler(inputValue)) {\n return;\n }\n\n this.updateSearch('');\n this.value = this.filterValue(this.value.concat(inputValue));\n }\n\n private deleteLastEnabledItem(): void {\n for (let index = this.value.length - 1; index >= 0; index--) {\n if (!this.disabledItemHandler(this.value[index] ?? '')) {\n this.value = tuiArrayRemove(this.value, index);\n\n break;\n }\n }\n }\n\n private focusInput(preventScroll = false): void {\n this.nativeFocusableElement?.focus({preventScroll});\n }\n\n private clippedValue(value: string): string {\n return value.slice(0, this.maxLength || value.length);\n }\n}\n","@if (hintOptions?.change$ | async) {}\n<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div\n tuiWrapper\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (click.prevent.zoneless)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-content\">\n @if (iconStart) {\n <div class=\"t-icon t-icon_left t-textfield-icon t-icon-wrapper\">\n <tui-icon\n *polymorpheusOutlet=\"iconStart as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n <div class=\"t-wrapper\">\n <div class=\"t-absolute-wrapper\">\n @if (hasPlaceholder) {\n <div\n automation-id=\"tui-input-tag__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\n }\n </div>\n <tui-scrollbar\n class=\"t-scrollbar\"\n [hidden]=\"!expandable\"\n [style.maxHeight.rem]=\"computeMaxHeight\"\n >\n <div\n class=\"t-tags\"\n [class.t-tags_empty]=\"tagsEmpty\"\n >\n @if (labelOutside) {\n @for (item of value; track trackByFn($index, item)) {\n <tui-tag\n #tag\n automation-id=\"tui-input-tag__tag\"\n tabIndex=\"-1\"\n class=\"t-tag\"\n [autoColor]=\"autoColor\"\n [disabled]=\"computedDisabled || disabledItemHandler(item)\"\n [editable]=\"editable && !readOnly\"\n [hoverable]=\"!readOnly\"\n [leftContent]=\"getLeftContent(item)\"\n [maxLength]=\"maxLength\"\n [removable]=\"!readOnly && removable\"\n [separator]=\"separator\"\n [size]=\"controller.size\"\n [status]=\"status\"\n [value]=\"item.toString()\"\n (edited)=\"onTagEdited($event, $index)\"\n (keydown.arrowLeft.prevent)=\"onTagKeyDownArrowLeft($index)\"\n (keydown.arrowRight.prevent)=\"onTagKeyDownArrowRight($index)\"\n />\n }\n } @else {\n @for (item of value; track item) {\n <span\n class=\"t-text\"\n [class.t-text_comma]=\"computedFocused && !inputHidden\"\n [class.t-text_disabled]=\"disabledItemHandler(item)\"\n [class.t-text_error]=\"!tagValidator(item)\"\n [textContent]=\"item\"\n ></span>\n }\n }\n <div\n class=\"t-input-wrapper\"\n [class.t-input-wrapper_collapsed]=\"computedDisabled || readOnly || inputHidden\"\n >\n <div class=\"t-ghost\">{{ search }}</div>\n <input\n #focusableElement\n automation-id=\"tui-input-tag__native\"\n type=\"text\"\n class=\"t-native\"\n [attr.maxLength]=\"maxLength\"\n [class.t-native_hidden]=\"inputHidden\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"search\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly || inputHidden\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n (drop.prevent)=\"onDrop($any($event))\"\n (keydown.arrowLeft)=\"onFieldKeyDownArrowLeft($event)\"\n (keydown.backspace)=\"onFieldKeyDownBackspace($event)\"\n (keydown.enter.prevent)=\"onFieldKeyDownEnter()\"\n (ngModelChange)=\"onInput($event)\"\n (paste.prevent)=\"onPaste($event)\"\n />\n </div>\n </div>\n <div class=\"t-value-content\">\n <ng-content select=\"tuiContent\" />\n </div>\n </tui-scrollbar>\n </div>\n <ng-content select=\"select\" />\n @if (hasRightIcons) {\n <div class=\"t-icons t-icon-wrapper\">\n @if (hasCleaner) {\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n #cleaner\n automation-id=\"tui-input-tag__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onCleanerClick()\"\n />\n }\n @if (showHint) {\n <tui-tooltip\n automation-id=\"tui-input-tag__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n }\n @if (icon) {\n <div class=\"t-icon t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n </div>\n }\n </div>\n <ng-template #errorIcon>\n <tui-icon\n class=\"t-error-icon\"\n [icon]=\"icons.error\"\n />\n </ng-template>\n </div>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiScrollService} from '@taiga-ui/cdk/services';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiTagModule} from '@taiga-ui/legacy/components/tag';\nimport {TuiTooltipModule} from '@taiga-ui/legacy/components/tooltip';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputTagComponent} from './input-tag.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiHovered,\n TuiScrollbar,\n TuiTooltipModule,\n TuiTagModule,\n TuiWrapperModule,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiAppearance,\n TuiIcon,\n ...TuiDropdown,\n ],\n declarations: [TuiInputTagComponent],\n providers: [TuiScrollService],\n exports: [TuiInputTagComponent, ...TuiDropdown],\n})\nexport class TuiInputTagModule {}\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-input-tag.mjs","sources":["../../../projects/legacy/components/input-tag/input-tag.options.ts","../../../projects/legacy/components/input-tag/input-tag.component.ts","../../../projects/legacy/components/input-tag/input-tag.template.html","../../../projects/legacy/components/input-tag/input-tag.module.ts","../../../projects/legacy/components/input-tag/taiga-ui-legacy-components-input-tag.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiStatus} from '@taiga-ui/legacy/utils';\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport interface TuiInputTagOptions {\n readonly autoColor: boolean;\n readonly separator: RegExp | string;\n readonly tagStatus: TuiStatus;\n readonly uniqueTags: boolean;\n}\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport const TUI_INPUT_TAG_DEFAULT_OPTIONS: TuiInputTagOptions = {\n autoColor: false,\n separator: ',',\n tagStatus: 'default',\n uniqueTags: true,\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for InputTag component\n */\nexport const TUI_INPUT_TAG_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_TAG_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_TAG_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport function tuiInputTagOptionsProvider(\n options: Partial<TuiInputTagOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_TAG_OPTIONS,\n options,\n TUI_INPUT_TAG_DEFAULT_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n type QueryList,\n signal,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY, TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {type TuiBooleanHandler, type TuiContext} from '@taiga-ui/cdk/types';\nimport {\n tuiGetActualTarget,\n tuiGetClipboardDataText,\n tuiInjectElement,\n tuiIsElement,\n tuiRetargetedBoundaryCrossing,\n} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiArrayRemove, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAsDataListHost,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {\n AbstractTuiMultipleControl,\n tuiAsControl,\n type TuiStringifiableItem,\n} from '@taiga-ui/legacy/classes';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {type TuiStatus} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {timer} from 'rxjs';\n\nimport {TUI_INPUT_TAG_OPTIONS} from './input-tag.options';\n\nconst TAG_SIZE_REM = {\n s: 1.25,\n m: 1.5,\n l: 2,\n};\nconst LINE_HEIGHT_REM = {\n s: 1,\n m: 1.25,\n l: 1.25,\n};\nconst TAG_VERTICAL_SPACE_REM = 0.125;\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-tag',\n templateUrl: './input-tag.template.html',\n styleUrl: './input-tag.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputTagComponent),\n tuiAsControl(TuiInputTagComponent),\n tuiAsDataListHost(TuiInputTagComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n '[class._icon-start]': 'iconStart',\n '[class._expandable]': 'expandable',\n '[class._label-outside]': 'labelOutside',\n '(focusin.capture.zoneless)': 'onFocusInOut()',\n '(focusout.capture.zoneless)': 'onFocusInOut()',\n },\n})\nexport class TuiInputTagComponent\n extends AbstractTuiMultipleControl<string>\n implements TuiFocusableElementAccessor, TuiDataListHost<string>\n{\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @ViewChild('tagsContainer')\n private readonly tagsContainer?: ElementRef<HTMLElement>;\n\n @ViewChildren('tag', {read: ElementRef})\n private readonly tags: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @ViewChild('cleaner', {read: ElementRef})\n private readonly cleanerSvg?: ElementRef<HTMLElement>;\n\n @ViewChild(TuiScrollbar, {read: ElementRef})\n private readonly scrollBar?: ElementRef<HTMLElement>;\n\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_INPUT_TAG_OPTIONS);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist?: TemplateRef<TuiContext<TuiActiveZone>>;\n\n @ContentChild(PolymorpheusOutlet)\n protected readonly valueContent?: unknown;\n\n @ViewChild('errorIcon')\n protected readonly errorIconTemplate?: TemplateRef<Record<string, unknown>>;\n\n protected readonly textfieldOptions = inject(TUI_TEXTFIELD_OPTIONS);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected status: TuiStatus = this.options.tagStatus;\n protected open = false;\n\n @Input()\n public separator: RegExp | string = this.options.separator;\n\n @Input()\n public search: string | null = '';\n\n @Input()\n public editable = true;\n\n @Input()\n public tagValidator:\n | TuiBooleanHandler<string>\n | TuiBooleanHandler<TuiStringifiableItem<unknown> | string> = TUI_TRUE_HANDLER;\n\n @Input()\n public rows = Infinity;\n\n @Input()\n public inputHidden = false;\n\n @Input()\n public uniqueTags = this.options.uniqueTags;\n\n @Input()\n public autoColor = this.options.autoColor;\n\n @Input()\n public maxLength: number | null = null;\n\n @Input()\n public placeholder = '';\n\n @Input()\n public removable = true;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiStringifiableItem<any> | string> =\n TUI_FALSE_HANDLER;\n\n @Output()\n public readonly searchChange = new EventEmitter<string>();\n\n public pseudoOpen = signal(false);\n\n @Input('pseudoFocused')\n public set pseudoFocusedSetter(value: boolean | null) {\n if (!value && !this.focused) {\n this.scrollTo(0);\n }\n\n this.pseudoFocus = value;\n }\n\n /**\n * @deprecated hack\n */\n @Input('pseudoOpen')\n public set setPseudoOpen(value: boolean) {\n this.pseudoOpen.set(value);\n }\n\n public get labelOutside(): boolean {\n const {size, labelOutside} = this.controller;\n\n return this.appearance === 'table' || size === 's' || labelOutside;\n }\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return !this.focusableElement || this.computedDisabled\n ? null\n : this.focusableElement.nativeElement;\n }\n\n public get hasValue(): boolean {\n return !!this.value.length || this.hasNativeValue;\n }\n\n public get hasExampleText(): boolean {\n return (\n !!this.nativeFocusableElement?.placeholder &&\n this.computedFocused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n public get hasPlaceholder(): boolean {\n return (\n !this.labelOutside ||\n (!this.hasValue && (!this.hasExampleText || this.inputHidden))\n );\n }\n\n public get focused(): boolean {\n return tuiIsFocusedIn(this.el) || !!this.dropdown?.tuiDropdownOpen;\n }\n\n public get tagsEmpty(): boolean {\n return (\n ((!this.focused || this.inputHidden) &&\n !this.value.length &&\n !this.search?.trim()?.length &&\n !this.placeholder) ||\n !!this.valueContent\n );\n }\n\n public onTagEdited(value: string, index: number): void {\n this.focusInput(value === '');\n this.value = this.filterValue(\n this.value\n .map((tag, tagIndex) =>\n tagIndex !== index\n ? tag\n : value\n .split(this.separator)\n .map((tag) => tag.trim())\n .filter(Boolean),\n )\n .reduce<string[]>(\n (result, item: string[] | string) => result.concat(item),\n [],\n ),\n );\n }\n\n public handleOption(item: string): void {\n this.focusInput();\n this.updateSearch('');\n this.value = this.filterValue(this.value.concat(item));\n this.open = false;\n this.scrollTo();\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n protected get iconStart(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.iconStart;\n }\n\n protected get appearance(): string {\n return this.textfieldOptions.appearance() === 'table'\n ? 'table'\n : this.controller.appearance;\n }\n\n protected get expandable(): boolean {\n return this.rows > 1;\n }\n\n protected get icon(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n protected get iconCleaner(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.options.iconCleaner;\n }\n\n protected get hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n protected get hasNativeValue(): boolean {\n return !!this.search;\n }\n\n protected get placeholderRaised(): boolean {\n return (\n !this.labelOutside &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n protected get hasRightIcons(): boolean {\n return (\n this.hasCleaner ||\n !!this.icon ||\n (!!this.hintOptions?.content && !this.computedDisabled)\n );\n }\n\n protected get showHint(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.controller.options.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n protected get canOpen(): boolean {\n return this.interactive && !!this.datalist;\n }\n\n protected get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n protected onFocusInOut(): void {\n this.cdr.detectChanges();\n }\n\n protected detectRetargetFromLabel(event: Event): void {\n if (tuiRetargetedBoundaryCrossing(event)) {\n event.stopImmediatePropagation();\n }\n }\n\n protected getLeftContent(tag: string): PolymorpheusContent {\n return !this.tagValidator(tag) && this.errorIconTemplate\n ? this.errorIconTemplate\n : '';\n }\n\n protected onCleanerClick(): void {\n this.updateSearch('');\n this.clear();\n this.focusInput();\n }\n\n protected onActiveZone(active: boolean): void {\n this.open = false;\n this.addTag();\n this.updateFocused(active);\n\n if (!active && !this.computedFocused) {\n this.scrollTo(0);\n }\n }\n\n protected onMouseDown(event: MouseEvent): void {\n const actualTarget = tuiGetActualTarget(event);\n\n if (\n !this.focusableElement ||\n actualTarget === this.focusableElement.nativeElement ||\n !tuiIsElement(event.target) ||\n this.cleanerSvg?.nativeElement.contains(event.target) ||\n (this.tagsContainer &&\n actualTarget !== this.tagsContainer.nativeElement &&\n this.tagsContainer.nativeElement.contains(actualTarget))\n ) {\n return;\n }\n\n event.preventDefault();\n this.focusInput();\n }\n\n protected onFieldKeyDownBackspace(event: Event): void {\n if (!this.labelOutside && !this.hasNativeValue && this.value.length) {\n this.deleteLastEnabledItem();\n } else {\n this.onFieldKeyDownArrowLeft(event);\n }\n }\n\n protected onFieldKeyDownArrowLeft(event: Event): void {\n if (!this.labelOutside || this.hasNativeValue || !this.value.length) {\n return;\n }\n\n event.preventDefault();\n this.tags.last.nativeElement.focus();\n }\n\n protected onFieldKeyDownEnter(): void {\n this.addTag();\n this.scrollTo();\n }\n\n protected onTagKeyDownArrowLeft(currentIndex: number): void {\n if (currentIndex > 0) {\n this.onScrollKeyDown(currentIndex, -1);\n }\n }\n\n protected onTagKeyDownArrowRight(currentIndex: number): void {\n if (currentIndex === this.value.length - 1) {\n this.focusInput();\n } else {\n this.onScrollKeyDown(currentIndex, 1);\n }\n }\n\n protected onInput(value: string): void {\n const array = value.split(this.separator);\n const tags = array\n .map((item) => this.clippedValue(item.trim()))\n .filter((item) => item.length > 0);\n const validated = tags.filter((tag) => !this.disabledItemHandler(tag));\n const invalid = tags.filter((tag) => this.disabledItemHandler(tag));\n\n if (array.length > 1) {\n const search = invalid.length\n ? invalid.join(tuiIsString(this.separator) ? this.separator : ',')\n : '';\n\n this.updateSearch(this.clippedValue(search));\n\n this.value = this.filterValue([...this.value, ...validated]);\n } else {\n this.updateSearch(this.clippedValue(value));\n }\n\n this.open = this.hasNativeValue;\n }\n\n protected onPaste(event: Event): void {\n const pasted = tuiGetClipboardDataText(event as ClipboardEvent);\n\n this.onInput(pasted || '');\n }\n\n protected onDrop({dataTransfer}: DragEvent): void {\n if (dataTransfer) {\n this.onInput(dataTransfer.getData('text') || '');\n }\n }\n\n protected trackByFn(_: number, tag: string): string {\n // Actually tag has TuiStringifiableItem type not string\n return tag;\n }\n\n private get lineHeight(): number {\n return this.labelOutside\n ? TAG_SIZE_REM[this.controller.size] + 2 * TAG_VERTICAL_SPACE_REM\n : LINE_HEIGHT_REM[this.controller.size];\n }\n\n private scrollTo(scrollLeft = this.scrollBar?.nativeElement.scrollWidth): void {\n // Allow change detection to run and add new tag to DOM\n timer(0)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n if (this.scrollBar) {\n this.scrollBar.nativeElement.scrollLeft = scrollLeft || 0;\n }\n });\n }\n\n private filterValue(value: string[]): string[] {\n const seen = new Set();\n\n return value\n .reverse()\n .filter(\n (item) => !this.uniqueTags || (item && !seen.has(item) && seen.add(item)),\n )\n .reverse();\n }\n\n private onScrollKeyDown(currentIndex: number, flag: number): void {\n const tag = this.tags.find((_item, index) => index === currentIndex + flag);\n\n if (!tag || !this.scrollBar) {\n return;\n }\n\n tag.nativeElement.focus();\n\n if (\n flag * this.scrollBar.nativeElement.clientWidth -\n flag * tag.nativeElement.offsetLeft -\n tag.nativeElement.clientWidth <\n 0\n ) {\n this.scrollBar.nativeElement.scrollLeft +=\n flag * tag.nativeElement.clientWidth;\n }\n }\n\n private updateSearch(value: string): void {\n if (this.focusableElement) {\n this.focusableElement.nativeElement.value = value;\n }\n\n this.search = value;\n this.searchChange.emit(value);\n }\n\n private addTag(): void {\n const inputValue = this.search?.trim() ?? '';\n\n if (!inputValue || this.disabledItemHandler(inputValue)) {\n return;\n }\n\n this.updateSearch('');\n this.value = this.filterValue(this.value.concat(inputValue));\n }\n\n private deleteLastEnabledItem(): void {\n for (let index = this.value.length - 1; index >= 0; index--) {\n if (!this.disabledItemHandler(this.value[index] ?? '')) {\n this.value = tuiArrayRemove(this.value, index);\n\n break;\n }\n }\n }\n\n private focusInput(preventScroll = false): void {\n this.nativeFocusableElement?.focus({preventScroll});\n }\n\n private clippedValue(value: string): string {\n return value.slice(0, this.maxLength || value.length);\n }\n}\n","@if (hintOptions?.change$ | async) {}\n<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div\n tuiWrapper\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (click.prevent.zoneless)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-content\">\n @if (iconStart) {\n <div class=\"t-icon t-icon_left t-textfield-icon t-icon-wrapper\">\n <tui-icon\n *polymorpheusOutlet=\"iconStart as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n <div class=\"t-wrapper\">\n <div class=\"t-absolute-wrapper\">\n @if (hasPlaceholder) {\n <div\n automation-id=\"tui-input-tag__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\n }\n </div>\n <tui-scrollbar\n class=\"t-scrollbar\"\n [hidden]=\"!expandable\"\n [style.maxHeight.rem]=\"computeMaxHeight\"\n >\n <div\n class=\"t-tags\"\n [class.t-tags_empty]=\"tagsEmpty\"\n >\n @if (labelOutside) {\n @for (item of value; track trackByFn($index, item)) {\n <tui-tag\n #tag\n automation-id=\"tui-input-tag__tag\"\n tabIndex=\"-1\"\n class=\"t-tag\"\n [autoColor]=\"autoColor\"\n [disabled]=\"computedDisabled || disabledItemHandler(item)\"\n [editable]=\"editable && !readOnly\"\n [hoverable]=\"!readOnly\"\n [leftContent]=\"getLeftContent(item)\"\n [maxLength]=\"maxLength\"\n [removable]=\"!readOnly && removable\"\n [separator]=\"separator\"\n [size]=\"controller.size\"\n [status]=\"status\"\n [value]=\"item.toString()\"\n (edited)=\"onTagEdited($event, $index)\"\n (keydown.arrowLeft.prevent)=\"onTagKeyDownArrowLeft($index)\"\n (keydown.arrowRight.prevent)=\"onTagKeyDownArrowRight($index)\"\n />\n }\n } @else {\n @for (item of value; track item) {\n <span\n class=\"t-text\"\n [class.t-text_comma]=\"computedFocused && !inputHidden\"\n [class.t-text_disabled]=\"disabledItemHandler(item)\"\n [class.t-text_error]=\"!tagValidator(item)\"\n [textContent]=\"item\"\n ></span>\n }\n }\n <div\n class=\"t-input-wrapper\"\n [class.t-input-wrapper_collapsed]=\"computedDisabled || readOnly || inputHidden\"\n >\n <div class=\"t-ghost\">{{ search }}</div>\n <input\n #focusableElement\n automation-id=\"tui-input-tag__native\"\n type=\"text\"\n class=\"t-native\"\n [attr.maxLength]=\"maxLength\"\n [class.t-native_hidden]=\"inputHidden\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"search\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly || inputHidden\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n (drop.prevent)=\"onDrop($any($event))\"\n (keydown.arrowLeft)=\"onFieldKeyDownArrowLeft($event)\"\n (keydown.backspace)=\"onFieldKeyDownBackspace($event)\"\n (keydown.enter.prevent)=\"onFieldKeyDownEnter()\"\n (ngModelChange)=\"onInput($event)\"\n (paste.prevent)=\"onPaste($event)\"\n />\n </div>\n </div>\n <div class=\"t-value-content\">\n <ng-content select=\"tuiContent\" />\n </div>\n </tui-scrollbar>\n </div>\n <ng-content select=\"select\" />\n @if (hasRightIcons) {\n <div class=\"t-icons t-icon-wrapper\">\n @if (hasCleaner) {\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n #cleaner\n automation-id=\"tui-input-tag__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onCleanerClick()\"\n />\n }\n @if (showHint) {\n <tui-tooltip\n automation-id=\"tui-input-tag__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n }\n @if (icon) {\n <div class=\"t-icon t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n </div>\n }\n </div>\n <ng-template #errorIcon>\n <tui-icon\n class=\"t-error-icon\"\n [icon]=\"icons.error\"\n />\n </ng-template>\n </div>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiScrollService} from '@taiga-ui/cdk/services';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiTagModule} from '@taiga-ui/legacy/components/tag';\nimport {TuiTooltipModule} from '@taiga-ui/legacy/components/tooltip';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputTagComponent} from './input-tag.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiAppearance,\n TuiHovered,\n TuiIcon,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiScrollbar,\n TuiTagModule,\n TuiTooltipModule,\n TuiWrapperModule,\n ...TuiDropdown,\n ],\n declarations: [TuiInputTagComponent],\n providers: [TuiScrollService],\n exports: [TuiInputTagComponent, ...TuiDropdown],\n})\nexport class TuiInputTagModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,9 @@ import { TuiDataListDirective, tuiAsDataListHost } from '@taiga-ui/core/componen
|
|
|
5
5
|
import * as i1 from '@taiga-ui/core/directives/dropdown';
|
|
6
6
|
import { TuiDropdownOpen, TuiDropdownFixed, TuiDropdown } from '@taiga-ui/core/directives/dropdown';
|
|
7
7
|
import { AbstractTuiControl, tuiAsControl, AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
|
|
8
|
-
import * as
|
|
8
|
+
import * as i3 from '@taiga-ui/legacy/components/primitive-textfield';
|
|
9
9
|
import { TuiPrimitiveTextfieldComponent, TuiTextfieldComponent, TuiPrimitiveTextfieldModule } from '@taiga-ui/legacy/components/primitive-textfield';
|
|
10
|
-
import * as
|
|
10
|
+
import * as i2 from '@taiga-ui/legacy/directives';
|
|
11
11
|
import { TUI_TEXTFIELD_SIZE, TUI_VALUE_ACCESSOR_PROVIDER, TuiLegacyDropdownOpenMonitorDirective } from '@taiga-ui/legacy/directives';
|
|
12
12
|
import { tuiAsFocusableItemAccessor, tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
|
|
13
13
|
import { CommonModule } from '@angular/common';
|
|
@@ -72,7 +72,7 @@ class TuiInputComponent extends AbstractTuiControl {
|
|
|
72
72
|
tuiAsFocusableItemAccessor(TuiInputComponent),
|
|
73
73
|
tuiAsDataListHost(TuiInputComponent),
|
|
74
74
|
tuiAsControl(TuiInputComponent),
|
|
75
|
-
], queries: [{ propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: TuiDropdownOpen, descendants: true }, { propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownFixed }], ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input__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 [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}\n"], dependencies: [{ kind: "
|
|
75
|
+
], queries: [{ propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: TuiDropdownOpen, descendants: true }, { propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownFixed }], ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input__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 [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}\n"], dependencies: [{ kind: "directive", type: i2.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "component", type: i3.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i3.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
76
76
|
}
|
|
77
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputComponent, decorators: [{
|
|
78
78
|
type: Component,
|
|
@@ -122,7 +122,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
122
122
|
class TuiInputModule {
|
|
123
123
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
124
124
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiInputModule, declarations: [TuiInputComponent, TuiInputDirective], imports: [CommonModule,
|
|
125
|
-
|
|
125
|
+
TuiLegacyDropdownOpenMonitorDirective,
|
|
126
|
+
TuiPrimitiveTextfieldModule, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContent, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection], exports: [TuiInputComponent,
|
|
126
127
|
TuiInputDirective,
|
|
127
128
|
TuiTextfieldComponent, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContent, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection] }); }
|
|
128
129
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputModule, imports: [CommonModule,
|
|
@@ -133,9 +134,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
133
134
|
args: [{
|
|
134
135
|
imports: [
|
|
135
136
|
CommonModule,
|
|
137
|
+
TuiLegacyDropdownOpenMonitorDirective,
|
|
136
138
|
TuiPrimitiveTextfieldModule,
|
|
137
139
|
...TuiDropdown,
|
|
138
|
-
TuiLegacyDropdownOpenMonitorDirective,
|
|
139
140
|
],
|
|
140
141
|
declarations: [TuiInputComponent, TuiInputDirective],
|
|
141
142
|
exports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-input.mjs","sources":["../../../projects/legacy/components/input/input.component.ts","../../../projects/legacy/components/input/input.template.html","../../../projects/legacy/components/input/input.directive.ts","../../../projects/legacy/components/input/input.module.ts","../../../projects/legacy/components/input/taiga-ui-legacy-components-input.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n inject,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {\n tuiAsDataListHost,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\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} 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/textfield TuiTextfield} (from @taiga-ui/core) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input',\n templateUrl: './input.template.html',\n styleUrl: './input.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TUI_VALUE_ACCESSOR_PROVIDER,\n tuiAsFocusableItemAccessor(TuiInputComponent),\n tuiAsDataListHost(TuiInputComponent),\n tuiAsControl(TuiInputComponent),\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiInputComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor, TuiDataListHost<string>\n{\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\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.computedDisabled || !this.textfield\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n public get focused(): boolean {\n return (\n tuiIsFocused(this.nativeFocusableElement) || !!this.dropdown?.tuiDropdownOpen\n );\n }\n\n public handleOption(item: unknown): void {\n this.setNativeValue(String(item));\n this.focusInput();\n this.value = String(item);\n this.open = false;\n }\n\n public onValueChange(value: string): void {\n this.value = value;\n this.open = this.canOpen;\n setTimeout(() => {\n this.open = this.canOpen;\n this.cdr.detectChanges();\n });\n }\n\n protected get canOpen(): boolean {\n return this.interactive && !!this.datalist;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n\n private setNativeValue(value: string): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input__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 [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\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 TuiInputComponent} from './input.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textfield TuiTextfield} (from @taiga-ui/core) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-input',\n providers: [tuiAsTextfieldHost(TuiInputDirective)],\n})\nexport class TuiInputDirective extends AbstractTuiTextfieldHost<TuiInputComponent> {\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 {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiLegacyDropdownOpenMonitorDirective} from '@taiga-ui/legacy/directives';\n\nimport {TuiInputComponent} from './input.component';\nimport {TuiInputDirective} from './input.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textfield TuiTextfield} (from @taiga-ui/core) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n TuiPrimitiveTextfieldModule,\n ...TuiDropdown,\n TuiLegacyDropdownOpenMonitorDirective,\n ],\n declarations: [TuiInputComponent, TuiInputDirective],\n exports: [\n TuiInputComponent,\n TuiInputDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiInputModule {}\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-input.mjs","sources":["../../../projects/legacy/components/input/input.component.ts","../../../projects/legacy/components/input/input.template.html","../../../projects/legacy/components/input/input.directive.ts","../../../projects/legacy/components/input/input.module.ts","../../../projects/legacy/components/input/taiga-ui-legacy-components-input.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n inject,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {\n tuiAsDataListHost,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\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} 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/textfield TuiTextfield} (from @taiga-ui/core) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input',\n templateUrl: './input.template.html',\n styleUrl: './input.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TUI_VALUE_ACCESSOR_PROVIDER,\n tuiAsFocusableItemAccessor(TuiInputComponent),\n tuiAsDataListHost(TuiInputComponent),\n tuiAsControl(TuiInputComponent),\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiInputComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor, TuiDataListHost<string>\n{\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\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.computedDisabled || !this.textfield\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n public get focused(): boolean {\n return (\n tuiIsFocused(this.nativeFocusableElement) || !!this.dropdown?.tuiDropdownOpen\n );\n }\n\n public handleOption(item: unknown): void {\n this.setNativeValue(String(item));\n this.focusInput();\n this.value = String(item);\n this.open = false;\n }\n\n public onValueChange(value: string): void {\n this.value = value;\n this.open = this.canOpen;\n setTimeout(() => {\n this.open = this.canOpen;\n this.cdr.detectChanges();\n });\n }\n\n protected get canOpen(): boolean {\n return this.interactive && !!this.datalist;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n\n private setNativeValue(value: string): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input__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 [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\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 TuiInputComponent} from './input.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textfield TuiTextfield} (from @taiga-ui/core) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-input',\n providers: [tuiAsTextfieldHost(TuiInputDirective)],\n})\nexport class TuiInputDirective extends AbstractTuiTextfieldHost<TuiInputComponent> {\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 {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiLegacyDropdownOpenMonitorDirective} from '@taiga-ui/legacy/directives';\n\nimport {TuiInputComponent} from './input.component';\nimport {TuiInputDirective} from './input.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textfield TuiTextfield} (from @taiga-ui/core) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiPrimitiveTextfieldModule,\n ...TuiDropdown,\n ],\n declarations: [TuiInputComponent, TuiInputDirective],\n exports: [\n TuiInputComponent,\n TuiInputDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|