@taiga-ui/core 3.17.0 → 3.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/bundles/taiga-ui-core-abstract.umd.js +1 -0
  2. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-dialog.umd.js +189 -167
  4. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-notification.umd.js +2 -2
  6. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +1 -1
  8. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  10. package/bundles/taiga-ui-core-components-svg.umd.js +100 -20
  11. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-tooltip.umd.js +31 -13
  13. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  14. package/bundles/taiga-ui-core-directives-dropdown.umd.js +45 -25
  15. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  16. package/bundles/taiga-ui-core-directives-hint.umd.js +67 -63
  17. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  18. package/bundles/taiga-ui-core-tokens.umd.js +39 -1
  19. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  20. package/components/dialog/dialog-close.service.d.ts +15 -0
  21. package/components/dialog/dialog.component.d.ts +5 -4
  22. package/components/dialog/dialog.tokens.d.ts +2 -0
  23. package/components/dialog/index.d.ts +1 -1
  24. package/components/notification/notification.component.d.ts +2 -2
  25. package/components/svg/deprecated-icons.d.ts +1 -0
  26. package/components/svg/index.d.ts +2 -0
  27. package/components/svg/svg-options.d.ts +14 -0
  28. package/components/svg/svg.component.d.ts +5 -7
  29. package/components/tooltip/tooltip.component.d.ts +2 -2
  30. package/components/tooltip/tooltip.module.d.ts +5 -4
  31. package/directives/dropdown/dropdown-hover-options.directive.d.ts +9 -0
  32. package/directives/dropdown/dropdown-hover.directive.d.ts +3 -1
  33. package/directives/dropdown/dropdown-position-sided.directive.d.ts +2 -2
  34. package/directives/dropdown/dropdown-position.directive.d.ts +2 -2
  35. package/directives/dropdown/index.d.ts +1 -0
  36. package/directives/hint/hint-hover.directive.d.ts +4 -2
  37. package/directives/hint/hint-position.directive.d.ts +2 -2
  38. package/esm2015/abstract/rect-accessor.js +2 -1
  39. package/esm2015/components/dialog/dialog-close.service.js +51 -0
  40. package/esm2015/components/dialog/dialog.component.js +26 -10
  41. package/esm2015/components/dialog/dialog.tokens.js +5 -1
  42. package/esm2015/components/dialog/index.js +2 -2
  43. package/esm2015/components/notification/notification.component.js +3 -3
  44. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +2 -2
  45. package/esm2015/components/root/root.component.js +1 -1
  46. package/esm2015/components/svg/deprecated-icons.js +59 -0
  47. package/esm2015/components/svg/index.js +3 -1
  48. package/esm2015/components/svg/svg-options.js +29 -0
  49. package/esm2015/components/svg/svg.component.js +13 -18
  50. package/esm2015/components/tooltip/tooltip.component.js +13 -13
  51. package/esm2015/components/tooltip/tooltip.module.js +21 -4
  52. package/esm2015/directives/dropdown/dropdown-hover-options.directive.js +14 -0
  53. package/esm2015/directives/dropdown/dropdown-hover.directive.js +10 -5
  54. package/esm2015/directives/dropdown/dropdown-position-sided.directive.js +12 -12
  55. package/esm2015/directives/dropdown/dropdown-position.directive.js +11 -11
  56. package/esm2015/directives/dropdown/index.js +2 -1
  57. package/esm2015/directives/hint/hint-hover.directive.js +13 -10
  58. package/esm2015/directives/hint/hint-options.directive.js +2 -2
  59. package/esm2015/directives/hint/hint-position.directive.js +12 -11
  60. package/esm2015/directives/hint/hint.component.js +3 -2
  61. package/esm2015/interfaces/dialog-options.js +1 -1
  62. package/esm2015/tokens/icon-place.js +5 -2
  63. package/esm2015/tokens/icons-path.js +4 -1
  64. package/esm2015/tokens/index.js +2 -1
  65. package/esm2015/tokens/svg-content-processor.js +4 -1
  66. package/esm2015/tokens/svg-src-processor.js +4 -1
  67. package/esm2015/tokens/viewport.js +26 -0
  68. package/fesm2015/taiga-ui-core-abstract.js +1 -0
  69. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  70. package/fesm2015/taiga-ui-core-components-dialog.js +85 -69
  71. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  72. package/fesm2015/taiga-ui-core-components-notification.js +2 -2
  73. package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
  74. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +1 -1
  75. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  76. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  77. package/fesm2015/taiga-ui-core-components-svg.js +98 -21
  78. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  79. package/fesm2015/taiga-ui-core-components-tooltip.js +32 -15
  80. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  81. package/fesm2015/taiga-ui-core-directives-dropdown.js +42 -25
  82. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  83. package/fesm2015/taiga-ui-core-directives-hint.js +30 -27
  84. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  85. package/fesm2015/taiga-ui-core-tokens.js +38 -2
  86. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  87. package/interfaces/dialog-options.d.ts +4 -3
  88. package/package.json +4 -4
  89. package/styles/mixins/textfield.less +4 -22
  90. package/styles/mixins/textfield.scss +3 -22
  91. package/styles/theme/wrapper/icon.less +17 -27
  92. package/tokens/icon-place.d.ts +3 -0
  93. package/tokens/icons-path.d.ts +3 -0
  94. package/tokens/index.d.ts +1 -0
  95. package/tokens/svg-content-processor.d.ts +3 -0
  96. package/tokens/svg-src-processor.d.ts +3 -0
  97. package/tokens/viewport.d.ts +4 -0
  98. package/components/dialog/dialog.providers.d.ts +0 -5
  99. package/esm2015/components/dialog/dialog.providers.js +0 -51
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-primitive-textfield.js","sources":["../../../projects/core/components/primitive-textfield/value-decoration/value-decoration.component.ts","../../../projects/core/components/primitive-textfield/value-decoration/value-decoration.template.html","../../../projects/core/components/primitive-textfield/primitive-textfield.component.ts","../../../projects/core/components/primitive-textfield/primitive-textfield.template.html","../../../projects/core/components/primitive-textfield/primitive-textfield.directive.ts","../../../projects/core/components/primitive-textfield/textfield/textfield.component.ts","../../../projects/core/components/primitive-textfield/primitive-textfield.module.ts","../../../projects/core/components/primitive-textfield/primitive-textfield-options.ts","../../../projects/core/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n ViewChild,\n} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {BehaviorSubject} from 'rxjs';\nimport {delay, distinctUntilChanged, filter, map} from 'rxjs/operators';\n\nimport {TuiPrimitiveTextfield} from '../primitive-textfield-types';\n\n@Component({\n selector: 'tui-value-decoration',\n templateUrl: './value-decoration.template.html',\n styleUrls: ['./value-decoration.style.less'],\n // It follows Change Detection of PrimitiveTextfield\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiValueDecorationComponent implements DoCheck {\n @ViewChild('pre', {read: ElementRef, static: true})\n private readonly pre?: ElementRef<HTMLElement>;\n\n private readonly prefix$ = new BehaviorSubject('');\n\n readonly pre$ = this.prefix$.pipe(\n delay(0),\n filter(() => !!this.pre?.nativeElement.isConnected),\n map(() => this.pre?.nativeElement.offsetWidth || 0),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n private readonly textfield: TuiPrimitiveTextfield,\n ) {}\n\n @HostBinding('class._table')\n get isContextTable(): boolean {\n return this.textfield.appearance === TuiAppearance.Table;\n }\n\n get value(): string {\n return this.textfield.value;\n }\n\n get filler(): string {\n const {focused, placeholder, exampleText, value, textfield} = this;\n\n if (placeholder && exampleText) {\n return '';\n }\n\n return focused ? exampleText || textfield.filler.slice(value.length) : '';\n }\n\n get prefix(): string {\n return this.decorationsVisible ? this.textfield.prefix : '';\n }\n\n get postfix(): string {\n return this.decorationsVisible ? this.computedPostfix : '';\n }\n\n @HostListener('animationstart')\n ngDoCheck(): void {\n this.prefix$.next(this.prefix);\n }\n\n private get placeholder(): string {\n return this.textfield.nativeFocusableElement?.placeholder || '';\n }\n\n private get exampleText(): string {\n return !this.value && this.focused ? this.placeholder : '';\n }\n\n private get decorationsVisible(): boolean {\n return !!this.value || this.focused;\n }\n\n private get focused(): boolean {\n return this.textfield.computedFocused && !this.textfield.readOnly;\n }\n\n private get computedPostfix(): string {\n return this.textfield.postfix && (this.filler || this.value)\n ? ` ${this.textfield.postfix}`\n : this.textfield.postfix;\n }\n}\n","<span\n #pre\n class=\"t-prefix t-inline\"\n [textContent]=\"prefix\"\n></span>\n<span\n class=\"t-ghost t-inline\"\n [textContent]=\"value\"\n></span>\n<span\n class=\"t-filler t-inline\"\n [textContent]=\"filler\"\n></span>\n<span\n class=\"t-postfix t-inline\"\n [textContent]=\"postfix\"\n></span>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n tuiDefaultProp,\n tuiIsNativeFocusedIn,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_OPTIONS,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n TuiTextfieldOptions,\n} from '@taiga-ui/core/directives/textfield-controller';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TUI_MODE, TUI_TEXTFIELD_APPEARANCE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness, TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {tuiGetBorder} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusContent, PolymorpheusOutletDirective} from '@tinkoff/ng-polymorpheus';\nimport {fromEvent, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TuiPrimitiveTextfield} from './primitive-textfield-types';\n\nconst ICON_PADDING = 1.75;\nconst ICON_PADDING_S = 1.5;\n\n@Component({\n selector: 'tui-primitive-textfield',\n templateUrl: './primitive-textfield.template.html',\n styleUrls: ['./primitive-textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiPrimitiveTextfieldComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n '[class._autofilled]': 'autofilled',\n '[class._label-outside]': 'controller.labelOutside',\n },\n})\nexport class TuiPrimitiveTextfieldComponent\n extends AbstractTuiInteractive\n implements TuiPrimitiveTextfield\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n editable = true;\n\n /** @deprecated use `tuiTextfieldFiller` from {@link TuiTextfieldControllerModule} instead */\n @Input('filler')\n @tuiDefaultProp()\n textfieldFiller = '';\n\n /**\n * @deprecated:\n * use `tuiTextfieldOptionsProvider({iconCleaner: `tuiIconChevronUp`})`\n */\n @Input()\n @tuiDefaultProp()\n iconCleaner = this.options.iconCleaner;\n\n @Input()\n @HostBinding('class._readonly')\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n invalid = false;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n /** @deprecated use `tuiTextfieldPrefix` from {@link TuiTextfieldControllerModule} instead */\n @Input('prefix')\n @tuiDefaultProp()\n textfieldPrefix = '';\n\n /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */\n @Input('postfix')\n @tuiDefaultProp()\n textfieldPostfix = '';\n\n @Input()\n @tuiDefaultProp()\n value = '';\n\n @Output()\n readonly valueChange = new EventEmitter<string>();\n\n @ContentChildren(PolymorpheusOutletDirective, {descendants: true})\n readonly content?: QueryList<unknown>;\n\n autofilled = false;\n\n constructor(\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Optional()\n @Inject(TuiHintOptionsDirective)\n readonly hintOptions: TuiHintOptionsDirective | null,\n @Inject(TUI_TEXTFIELD_OPTIONS)\n readonly options: TuiTextfieldOptions,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n super();\n }\n\n get prefix(): string {\n return this.textfieldPrefix || this.controller.prefix;\n }\n\n get postfix(): string {\n return this.textfieldPostfix || this.controller.postfix;\n }\n\n get filler(): string {\n return this.textfieldFiller || this.controller.filler;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n if (this.computedDisabled || !this.focusableElement) {\n return null;\n }\n\n const {nativeElement} = this.focusableElement;\n\n return (nativeElement.previousElementSibling ||\n nativeElement) as HTMLInputElement | null;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n @HostBinding('class._invalid')\n get computedInvalid(): boolean {\n return !this.readOnly && !this.disabled && this.invalid;\n }\n\n @HostBinding('class._hidden')\n get inputHidden(): boolean {\n return !!this.content?.length;\n }\n\n get hasValue(): boolean {\n return !!this.value;\n }\n\n get hasCleaner(): boolean {\n return (\n this.controller.cleaner &&\n this.hasValue &&\n !this.computedDisabled &&\n !this.readOnly\n );\n }\n\n get hasTooltip(): boolean {\n return !!this.hintOptions?.content && !this.computedDisabled;\n }\n\n get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n get showOnlyPlaceholder(): boolean {\n return (\n this.focused &&\n this.placeholderVisible &&\n (this.size === 's' || (this.size === 'm' && !this.placeholderRaisable))\n );\n }\n\n get placeholderVisible(): boolean {\n const hasDecor =\n this.nativeFocusableElement?.placeholder || this.prefix || this.postfix;\n const showDecor = hasDecor && !this.readOnly && this.computedFocused;\n\n return !this.hasValue && !showDecor;\n }\n\n get hasPlaceholder(): boolean {\n return (\n !this.showOnlyPlaceholder &&\n (this.placeholderRaisable || this.placeholderVisible)\n );\n }\n\n get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled)\n );\n }\n\n @HostBinding('style.--border-start.rem')\n get borderStart(): number {\n return this.iconLeftContent ? this.iconPaddingLeft : 0;\n }\n\n @HostBinding('style.--border-end.rem')\n get borderEnd(): number {\n return tuiGetBorder(\n !!this.iconContent,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n );\n }\n\n get iconContent(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n get iconLeftContent(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeL | TuiSizeS>\n > {\n return this.controller.iconLeft;\n }\n\n // Safari expiration date autofill workaround\n get name(): 'ccexpiryyear' | null {\n return this.nativeFocusableElement?.autocomplete === 'cc-exp'\n ? 'ccexpiryyear'\n : null;\n }\n\n get computedId(): string {\n return this.nativeFocusableElement?.id || '';\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n @tuiPure\n getIndent$(element: HTMLElement): Observable<number> {\n return fromEvent(element, 'scroll').pipe(map(() => -1 * element.scrollLeft));\n }\n\n clear(): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = '';\n }\n\n this.updateValue('');\n }\n\n onMouseDown(event: MouseEvent): void {\n const {nativeFocusableElement} = this;\n\n if (!nativeFocusableElement || event.target === nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n nativeFocusableElement.focus();\n }\n\n onModelChange(value: string): void {\n this.updateValue(value);\n }\n\n onAutofilled(autofilled: boolean): void {\n this.updateAutofilled(autofilled);\n }\n\n private get iconPaddingLeft(): number {\n return this.size === 's' ? ICON_PADDING_S : ICON_PADDING;\n }\n\n private get placeholderRaisable(): boolean {\n return this.size !== 's' && !this.controller.labelOutside;\n }\n\n private updateAutofilled(autofilled: boolean): void {\n if (this.autofilled === autofilled) {\n return;\n }\n\n this.autofilled = autofilled;\n }\n\n private updateValue(value: string): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<ng-container *ngIf=\"hintOptions?.change$ | async\"></ng-container>\n<div\n tuiWrapper\n automation-id=\"tui-primitive-textfield__wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [active]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (mousedown)=\"onMouseDown($event)\"\n (click.prevent.silent)=\"(0)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n>\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"select\"></ng-content>\n <input\n #focusableElement\n tuiMaskAccessor\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [attr.disabled]=\"computedDisabled || null\"\n [attr.name]=\"name\"\n [attr.aria-invalid]=\"computedInvalid\"\n [id]=\"id\"\n [readOnly]=\"readOnly || !editable\"\n [tuiFocusable]=\"computedFocusable\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"t-input t-input_template\"\n >\n <ng-content select=\"tuiContent\"></ng-content>\n </div>\n <div class=\"t-content\">\n <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n <div class=\"t-wrapper\">\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n [for]=\"computedId\"\n >\n <ng-content></ng-content>\n </label>\n <div class=\"t-wrapper-value-decoration\">\n <tui-value-decoration\n #decor\n automation-id=\"tui-primitive-textfield__value-decoration\"\n aria-hidden=\"true\"\n class=\"t-value-decoration\"\n [class.t-has-value]=\"value\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n ></tui-value-decoration>\n </div>\n </div>\n <div\n *ngIf=\"hasCustomContent\"\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n >\n <tui-svg\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n <span\n *ngIf=\"hasCleaner\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconCleaner || controller.options.iconCleaner as src; context: {$implicit: size}\"\n [src]=\"src\"\n ></tui-svg>\n </span>\n <tui-tooltip\n *ngIf=\"hintOptions && hintOptions.content && !computedDisabled\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n [describeId]=\"computedId\"\n [content]=\"hintOptions.content\"\n [direction]=\"hintOptions.direction\"\n [appearance]=\"hintOptions.appearance\"\n [showDelay]=\"hintOptions.showDelay\"\n [hideDelay]=\"hintOptions.hideDelay\"\n ></tui-tooltip>\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n </div>\n</div>\n","import {Directive, Inject} from '@angular/core';\nimport {AbstractTuiControl} from '@taiga-ui/cdk';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/core/abstract';\nimport {tuiAsTextfieldHost} from '@taiga-ui/core/tokens';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\n@Directive({\n selector: 'tui-primitive-textfield',\n providers: [tuiAsTextfieldHost(TuiPrimitiveTextfieldDirective)],\n})\nexport class TuiPrimitiveTextfieldDirective extends AbstractTuiTextfieldHost<any> {\n constructor(\n @Inject(TuiPrimitiveTextfieldComponent)\n private readonly textfield: TuiPrimitiveTextfieldComponent,\n ) {\n /**\n * TuiPrimitiveTextfieldComponent satisfies all required parts of\n * AbstractTuiControl interface. A new interface is not introduced\n * so AbstractTuiControl is automatically injected for all other controls.\n */\n super(textfield as unknown as AbstractTuiControl<unknown>);\n }\n\n override get readOnly(): boolean {\n return this.textfield.readOnly || !this.textfield.editable;\n }\n\n onValueChange(value: string): void {\n this.textfield.onModelChange(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {TuiIdService} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: 'input[tuiTextfield], textarea[tuiTextfield]',\n template: '',\n providers: [TEXTFIELD_CONTROLLER_PROVIDER],\n host: {\n type: 'text',\n '[attr.aria-invalid]': 'host.invalid',\n '[attr.disabled]': 'host.disabled || null',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '[readOnly]': 'host.readOnly',\n '[value]': 'host.value',\n '(input)': 'host.onValueChange($event.target.value)',\n },\n styleUrls: ['./textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTextfieldComponent {\n constructor(\n @Inject(TUI_TEXTFIELD_HOST) readonly host: TuiTextfieldHost,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(TuiIdService)\n private readonly idService: TuiIdService,\n ) {\n this.host.process(this.elementRef.nativeElement);\n }\n\n @HostBinding('id')\n get id(): string {\n return this.elementRef.nativeElement.id || this.idService.generate();\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiAutofilledModule, TuiFocusableModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiTooltipModule} from '@taiga-ui/core/components/tooltip';\nimport {TuiMaskAccessorModule} from '@taiga-ui/core/directives/mask-accessor';\nimport {TuiWrapperModule} from '@taiga-ui/core/directives/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\nimport {TuiPrimitiveTextfieldDirective} from './primitive-textfield.directive';\nimport {TuiTextfieldComponent} from './textfield/textfield.component';\nimport {TuiValueDecorationComponent} from './value-decoration/value-decoration.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiMaskAccessorModule,\n TuiFocusableModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiTooltipModule,\n TuiAutofilledModule,\n ],\n declarations: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n TuiValueDecorationComponent,\n ],\n exports: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiPrimitiveTextfieldModule {}\n","import {\n TUI_TEXTFIELD_DEFAULT_OPTIONS,\n TUI_TEXTFIELD_OPTIONS,\n TuiTextfieldOptions,\n tuiTextfieldOptionsProvider,\n} from '@taiga-ui/core/directives';\n\n/**\n * @deprecated:\n * use {@link TuiTextfieldOptions}\n */\nexport type TuiPrimitiveTextfieldOptions = TuiTextfieldOptions;\n\n/**\n * @deprecated:\n * use {@link TUI_TEXTFIELD_DEFAULT_OPTIONS}\n */\nexport const TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS: TuiPrimitiveTextfieldOptions =\n TUI_TEXTFIELD_DEFAULT_OPTIONS;\n\n/**\n * @deprecated:\n * use {@link TUI_TEXTFIELD_OPTIONS}\n */\nexport const TUI_PRIMITIVE_TEXTFIELD_OPTIONS = TUI_TEXTFIELD_OPTIONS;\n\n/**\n * @deprecated:\n * use {@link tuiTextfieldOptionsProvider}\n */\nexport const tuiPrimitiveTextfieldOptionsProvider = tuiTextfieldOptionsProvider;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.TuiValueDecorationComponent","TUI_TEXTFIELD_WATCHED_CONTROLLER","TEXTFIELD_CONTROLLER_PROVIDER","TUI_TEXTFIELD_OPTIONS"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-primitive-textfield.js","sources":["../../../projects/core/components/primitive-textfield/value-decoration/value-decoration.component.ts","../../../projects/core/components/primitive-textfield/value-decoration/value-decoration.template.html","../../../projects/core/components/primitive-textfield/primitive-textfield.component.ts","../../../projects/core/components/primitive-textfield/primitive-textfield.template.html","../../../projects/core/components/primitive-textfield/primitive-textfield.directive.ts","../../../projects/core/components/primitive-textfield/textfield/textfield.component.ts","../../../projects/core/components/primitive-textfield/primitive-textfield.module.ts","../../../projects/core/components/primitive-textfield/primitive-textfield-options.ts","../../../projects/core/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n ViewChild,\n} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {BehaviorSubject} from 'rxjs';\nimport {delay, distinctUntilChanged, filter, map} from 'rxjs/operators';\n\nimport {TuiPrimitiveTextfield} from '../primitive-textfield-types';\n\n@Component({\n selector: 'tui-value-decoration',\n templateUrl: './value-decoration.template.html',\n styleUrls: ['./value-decoration.style.less'],\n // It follows Change Detection of PrimitiveTextfield\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiValueDecorationComponent implements DoCheck {\n @ViewChild('pre', {read: ElementRef, static: true})\n private readonly pre?: ElementRef<HTMLElement>;\n\n private readonly prefix$ = new BehaviorSubject('');\n\n readonly pre$ = this.prefix$.pipe(\n delay(0),\n filter(() => !!this.pre?.nativeElement.isConnected),\n map(() => this.pre?.nativeElement.offsetWidth || 0),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n private readonly textfield: TuiPrimitiveTextfield,\n ) {}\n\n @HostBinding('class._table')\n get isContextTable(): boolean {\n return this.textfield.appearance === TuiAppearance.Table;\n }\n\n get value(): string {\n return this.textfield.value;\n }\n\n get filler(): string {\n const {focused, placeholder, exampleText, value, textfield} = this;\n\n if (placeholder && exampleText) {\n return '';\n }\n\n return focused ? exampleText || textfield.filler.slice(value.length) : '';\n }\n\n get prefix(): string {\n return this.decorationsVisible ? this.textfield.prefix : '';\n }\n\n get postfix(): string {\n return this.decorationsVisible ? this.computedPostfix : '';\n }\n\n @HostListener('animationstart')\n ngDoCheck(): void {\n this.prefix$.next(this.prefix);\n }\n\n private get placeholder(): string {\n return this.textfield.nativeFocusableElement?.placeholder || '';\n }\n\n private get exampleText(): string {\n return !this.value && this.focused ? this.placeholder : '';\n }\n\n private get decorationsVisible(): boolean {\n return !!this.value || this.focused;\n }\n\n private get focused(): boolean {\n return this.textfield.computedFocused && !this.textfield.readOnly;\n }\n\n private get computedPostfix(): string {\n return this.textfield.postfix && (this.filler || this.value)\n ? ` ${this.textfield.postfix}`\n : this.textfield.postfix;\n }\n}\n","<span\n #pre\n class=\"t-prefix t-inline\"\n [textContent]=\"prefix\"\n></span>\n<span\n class=\"t-ghost t-inline\"\n [textContent]=\"value\"\n></span>\n<span\n class=\"t-filler t-inline\"\n [textContent]=\"filler\"\n></span>\n<span\n class=\"t-postfix t-inline\"\n [textContent]=\"postfix\"\n></span>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n tuiDefaultProp,\n tuiIsNativeFocusedIn,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_OPTIONS,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n TuiTextfieldOptions,\n} from '@taiga-ui/core/directives/textfield-controller';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TUI_MODE, TUI_TEXTFIELD_APPEARANCE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness, TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {tuiGetBorder} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusContent, PolymorpheusOutletDirective} from '@tinkoff/ng-polymorpheus';\nimport {fromEvent, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TuiPrimitiveTextfield} from './primitive-textfield-types';\n\nconst ICON_PADDING = 1.75;\nconst ICON_PADDING_S = 1.5;\n\n@Component({\n selector: 'tui-primitive-textfield',\n templateUrl: './primitive-textfield.template.html',\n styleUrls: ['./primitive-textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiPrimitiveTextfieldComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n '[class._autofilled]': 'autofilled',\n '[class._label-outside]': 'controller.labelOutside',\n },\n})\nexport class TuiPrimitiveTextfieldComponent\n extends AbstractTuiInteractive\n implements TuiPrimitiveTextfield\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n editable = true;\n\n /** @deprecated use `tuiTextfieldFiller` from {@link TuiTextfieldControllerModule} instead */\n @Input('filler')\n @tuiDefaultProp()\n textfieldFiller = '';\n\n /**\n * @deprecated:\n * use `tuiTextfieldOptionsProvider({iconCleaner: `tuiIconChevronUp`})`\n */\n @Input()\n @tuiDefaultProp()\n iconCleaner = this.options.iconCleaner;\n\n @Input()\n @HostBinding('class._readonly')\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n invalid = false;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n /** @deprecated use `tuiTextfieldPrefix` from {@link TuiTextfieldControllerModule} instead */\n @Input('prefix')\n @tuiDefaultProp()\n textfieldPrefix = '';\n\n /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */\n @Input('postfix')\n @tuiDefaultProp()\n textfieldPostfix = '';\n\n @Input()\n @tuiDefaultProp()\n value = '';\n\n @Output()\n readonly valueChange = new EventEmitter<string>();\n\n @ContentChildren(PolymorpheusOutletDirective, {descendants: true})\n readonly content?: QueryList<unknown>;\n\n autofilled = false;\n\n constructor(\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Optional()\n @Inject(TuiHintOptionsDirective)\n readonly hintOptions: TuiHintOptionsDirective | null,\n @Inject(TUI_TEXTFIELD_OPTIONS)\n readonly options: TuiTextfieldOptions,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n super();\n }\n\n get prefix(): string {\n return this.textfieldPrefix || this.controller.prefix;\n }\n\n get postfix(): string {\n return this.textfieldPostfix || this.controller.postfix;\n }\n\n get filler(): string {\n return this.textfieldFiller || this.controller.filler;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n if (this.computedDisabled || !this.focusableElement) {\n return null;\n }\n\n const {nativeElement} = this.focusableElement;\n\n return (nativeElement.previousElementSibling ||\n nativeElement) as HTMLInputElement | null;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n @HostBinding('class._invalid')\n get computedInvalid(): boolean {\n return !this.readOnly && !this.disabled && this.invalid;\n }\n\n @HostBinding('class._hidden')\n get inputHidden(): boolean {\n return !!this.content?.length;\n }\n\n get hasValue(): boolean {\n return !!this.value;\n }\n\n get hasCleaner(): boolean {\n return (\n this.controller.cleaner &&\n this.hasValue &&\n !this.computedDisabled &&\n !this.readOnly\n );\n }\n\n get hasTooltip(): boolean {\n return !!this.hintOptions?.content && !this.computedDisabled;\n }\n\n get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n get showOnlyPlaceholder(): boolean {\n return (\n this.focused &&\n this.placeholderVisible &&\n (this.size === 's' || (this.size === 'm' && !this.placeholderRaisable))\n );\n }\n\n get placeholderVisible(): boolean {\n const hasDecor =\n this.nativeFocusableElement?.placeholder || this.prefix || this.postfix;\n const showDecor = hasDecor && !this.readOnly && this.computedFocused;\n\n return !this.hasValue && !showDecor;\n }\n\n get hasPlaceholder(): boolean {\n return (\n !this.showOnlyPlaceholder &&\n (this.placeholderRaisable || this.placeholderVisible)\n );\n }\n\n get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled)\n );\n }\n\n @HostBinding('style.--border-start.rem')\n get borderStart(): number {\n return this.iconLeftContent ? this.iconPaddingLeft : 0;\n }\n\n @HostBinding('style.--border-end.rem')\n get borderEnd(): number {\n return tuiGetBorder(\n !!this.iconContent,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n );\n }\n\n get iconContent(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n get iconLeftContent(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeL | TuiSizeS>\n > {\n return this.controller.iconLeft;\n }\n\n // Safari expiration date autofill workaround\n get name(): 'ccexpiryyear' | null {\n return this.nativeFocusableElement?.autocomplete === 'cc-exp'\n ? 'ccexpiryyear'\n : null;\n }\n\n get computedId(): string {\n return this.nativeFocusableElement?.id || '';\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n @tuiPure\n getIndent$(element: HTMLElement): Observable<number> {\n return fromEvent(element, 'scroll').pipe(map(() => -1 * element.scrollLeft));\n }\n\n clear(): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = '';\n }\n\n this.updateValue('');\n }\n\n onMouseDown(event: MouseEvent): void {\n const {nativeFocusableElement} = this;\n\n if (!nativeFocusableElement || event.target === nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n nativeFocusableElement.focus();\n }\n\n onModelChange(value: string): void {\n this.updateValue(value);\n }\n\n onAutofilled(autofilled: boolean): void {\n this.updateAutofilled(autofilled);\n }\n\n private get iconPaddingLeft(): number {\n return this.size === 's' ? ICON_PADDING_S : ICON_PADDING;\n }\n\n private get placeholderRaisable(): boolean {\n return this.size !== 's' && !this.controller.labelOutside;\n }\n\n private updateAutofilled(autofilled: boolean): void {\n if (this.autofilled === autofilled) {\n return;\n }\n\n this.autofilled = autofilled;\n }\n\n private updateValue(value: string): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<ng-container *ngIf=\"hintOptions?.change$ | async\"></ng-container>\n<div\n tuiWrapper\n automation-id=\"tui-primitive-textfield__wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [active]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (mousedown)=\"onMouseDown($event)\"\n (click.prevent.silent)=\"(0)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n>\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"select\"></ng-content>\n <input\n #focusableElement\n tuiMaskAccessor\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [attr.disabled]=\"computedDisabled || null\"\n [attr.name]=\"name\"\n [attr.aria-invalid]=\"computedInvalid\"\n [id]=\"id\"\n [readOnly]=\"readOnly || !editable\"\n [tuiFocusable]=\"computedFocusable\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"t-input t-input_template\"\n >\n <ng-content select=\"tuiContent\"></ng-content>\n </div>\n <div class=\"t-content\">\n <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n class=\"t-icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n <div class=\"t-wrapper\">\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n [for]=\"computedId\"\n >\n <ng-content></ng-content>\n </label>\n <div class=\"t-wrapper-value-decoration\">\n <tui-value-decoration\n #decor\n automation-id=\"tui-primitive-textfield__value-decoration\"\n aria-hidden=\"true\"\n class=\"t-value-decoration\"\n [class.t-has-value]=\"value\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n ></tui-value-decoration>\n </div>\n </div>\n <div\n *ngIf=\"hasCustomContent\"\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n >\n <tui-svg\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n <span\n *ngIf=\"hasCleaner\"\n tuiWrapper\n appearance=\"icon\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconCleaner || controller.options.iconCleaner as src; context: {$implicit: size}\"\n [src]=\"src\"\n ></tui-svg>\n </span>\n <tui-tooltip\n *ngIf=\"hintOptions && hintOptions.content && !computedDisabled\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n [describeId]=\"computedId\"\n [content]=\"hintOptions.content\"\n [direction]=\"hintOptions.direction\"\n [appearance]=\"hintOptions.appearance\"\n [showDelay]=\"hintOptions.showDelay\"\n [hideDelay]=\"hintOptions.hideDelay\"\n ></tui-tooltip>\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n </div>\n</div>\n","import {Directive, Inject} from '@angular/core';\nimport {AbstractTuiControl} from '@taiga-ui/cdk';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/core/abstract';\nimport {tuiAsTextfieldHost} from '@taiga-ui/core/tokens';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\n@Directive({\n selector: 'tui-primitive-textfield',\n providers: [tuiAsTextfieldHost(TuiPrimitiveTextfieldDirective)],\n})\nexport class TuiPrimitiveTextfieldDirective extends AbstractTuiTextfieldHost<any> {\n constructor(\n @Inject(TuiPrimitiveTextfieldComponent)\n private readonly textfield: TuiPrimitiveTextfieldComponent,\n ) {\n /**\n * TuiPrimitiveTextfieldComponent satisfies all required parts of\n * AbstractTuiControl interface. A new interface is not introduced\n * so AbstractTuiControl is automatically injected for all other controls.\n */\n super(textfield as unknown as AbstractTuiControl<unknown>);\n }\n\n override get readOnly(): boolean {\n return this.textfield.readOnly || !this.textfield.editable;\n }\n\n onValueChange(value: string): void {\n this.textfield.onModelChange(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {TuiIdService} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: 'input[tuiTextfield], textarea[tuiTextfield]',\n template: '',\n providers: [TEXTFIELD_CONTROLLER_PROVIDER],\n host: {\n type: 'text',\n '[attr.aria-invalid]': 'host.invalid',\n '[attr.disabled]': 'host.disabled || null',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '[readOnly]': 'host.readOnly',\n '[value]': 'host.value',\n '(input)': 'host.onValueChange($event.target.value)',\n },\n styleUrls: ['./textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTextfieldComponent {\n constructor(\n @Inject(TUI_TEXTFIELD_HOST) readonly host: TuiTextfieldHost,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(TuiIdService)\n private readonly idService: TuiIdService,\n ) {\n this.host.process(this.elementRef.nativeElement);\n }\n\n @HostBinding('id')\n get id(): string {\n return this.elementRef.nativeElement.id || this.idService.generate();\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiAutofilledModule, TuiFocusableModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiTooltipModule} from '@taiga-ui/core/components/tooltip';\nimport {TuiMaskAccessorModule} from '@taiga-ui/core/directives/mask-accessor';\nimport {TuiWrapperModule} from '@taiga-ui/core/directives/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\nimport {TuiPrimitiveTextfieldDirective} from './primitive-textfield.directive';\nimport {TuiTextfieldComponent} from './textfield/textfield.component';\nimport {TuiValueDecorationComponent} from './value-decoration/value-decoration.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiMaskAccessorModule,\n TuiFocusableModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiTooltipModule,\n TuiAutofilledModule,\n ],\n declarations: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n TuiValueDecorationComponent,\n ],\n exports: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiPrimitiveTextfieldModule {}\n","import {\n TUI_TEXTFIELD_DEFAULT_OPTIONS,\n TUI_TEXTFIELD_OPTIONS,\n TuiTextfieldOptions,\n tuiTextfieldOptionsProvider,\n} from '@taiga-ui/core/directives';\n\n/**\n * @deprecated:\n * use {@link TuiTextfieldOptions}\n */\nexport type TuiPrimitiveTextfieldOptions = TuiTextfieldOptions;\n\n/**\n * @deprecated:\n * use {@link TUI_TEXTFIELD_DEFAULT_OPTIONS}\n */\nexport const TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS: TuiPrimitiveTextfieldOptions =\n TUI_TEXTFIELD_DEFAULT_OPTIONS;\n\n/**\n * @deprecated:\n * use {@link TUI_TEXTFIELD_OPTIONS}\n */\nexport const TUI_PRIMITIVE_TEXTFIELD_OPTIONS = TUI_TEXTFIELD_OPTIONS;\n\n/**\n * @deprecated:\n * use {@link tuiTextfieldOptionsProvider}\n */\nexport const tuiPrimitiveTextfieldOptionsProvider = tuiTextfieldOptionsProvider;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.TuiValueDecorationComponent","TUI_TEXTFIELD_WATCHED_CONTROLLER","TEXTFIELD_CONTROLLER_PROVIDER","TUI_TEXTFIELD_OPTIONS"],"mappings":"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"}
@@ -32,7 +32,7 @@ class TuiRootComponent {
32
32
  }
33
33
  }
34
34
  TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_ANIMATIONS_DURATION }, { token: ElementRef }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TUI_ASSERT_ENABLED }, { token: TUI_IS_MOBILE_RES }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
35
- TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.17.0" }, listeners: { "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration" } }, providers: [TUI_IS_MOBILE_RES_PROVIDER], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}body{font:var(--tui-font-text-s);color:var(--tui-text-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-root-content{position:relative;z-index:0;height:100%}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i3.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i3.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i3.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i4.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
35
+ TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.18.0" }, listeners: { "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration" } }, providers: [TUI_IS_MOBILE_RES_PROVIDER], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}body{font:var(--tui-font-text-s);color:var(--tui-text-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-root-content{position:relative;z-index:0;height:100%}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i3.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i3.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i3.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i4.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiRootComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{
@@ -2,36 +2,117 @@ import { __decorate } from 'tslib';
2
2
  import * as i2 from '@angular/common';
3
3
  import { DOCUMENT, CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { SecurityContext, ElementRef, Component, ChangeDetectionStrategy, Inject, Optional, Input, NgModule } from '@angular/core';
5
+ import { InjectionToken, inject, SecurityContext, ElementRef, Component, ChangeDetectionStrategy, Inject, Optional, Input, NgModule } from '@angular/core';
6
6
  import * as i4 from '@angular/platform-browser';
7
7
  import { DomSanitizer } from '@angular/platform-browser';
8
8
  import { WINDOW } from '@ng-web-apis/common';
9
9
  import * as i1 from '@taiga-ui/cdk';
10
- import { tuiIsString, tuiGetDocumentOrShadowRoot, tuiAssert, TuiStaticRequestService, tuiRequiredSetter, tuiPure, TuiLetModule } from '@taiga-ui/cdk';
10
+ import { tuiSvgLinearGradientProcessor, tuiIsString, tuiAssert, tuiGetDocumentOrShadowRoot, TuiStaticRequestService, tuiRequiredSetter, tuiPure, TuiLetModule } from '@taiga-ui/cdk';
11
11
  import { TUI_ICON_ERROR } from '@taiga-ui/core/constants';
12
12
  import * as i3 from '@taiga-ui/core/services';
13
13
  import { TuiSvgService } from '@taiga-ui/core/services';
14
- import { TUI_ICONS_PATH, TUI_SANITIZER, TUI_SVG_SRC_PROCESSOR, TUI_SVG_CONTENT_PROCESSOR } from '@taiga-ui/core/tokens';
14
+ import { TUI_ICONS_PATH, TUI_SVG_SRC_PROCESSOR, TUI_SVG_CONTENT_PROCESSOR, TUI_SANITIZER } from '@taiga-ui/core/tokens';
15
15
  import { tuiIsPresumedHTMLString } from '@taiga-ui/core/utils/miscellaneous';
16
- import { ReplaySubject, of } from 'rxjs';
16
+ import { identity, ReplaySubject, of } from 'rxjs';
17
17
  import { switchMap, startWith, catchError, map } from 'rxjs/operators';
18
+ import { tuiIconsPathFactory } from '@taiga-ui/core/utils';
19
+
20
+ const TUI_DEPRECATED_ICONS = {
21
+ tuiIconAttach: `tuiIconPaperclip`,
22
+ tuiIconAttention: `tuiIconAlertCircle`,
23
+ tuiIconBackCircle: `tuiIconArrowLeftCircle`,
24
+ tuiIconCall: `tuiIconPhone`,
25
+ tuiIconCallIn: `tuiIconPhoneIncoming`,
26
+ tuiIconCallOut: `tuiIconPhoneOutgoing`,
27
+ tuiIconCallTransfer: `tuiIconPhoneForwarded`,
28
+ tuiIconCancel: `tuiIconXCircle`,
29
+ tuiIconCancelCircle: `tuiIconSlash`,
30
+ tuiIconCard: `tuiIconCreditCard`,
31
+ tuiIconCards: `tuiIconCreditCard`,
32
+ tuiIconChartBar: `tuiIconBarChart`,
33
+ tuiIconChart: `tuiIconBarChart`,
34
+ tuiIconCheckList: `tuiIconClipboard`,
35
+ tuiIconCloseCircle: `tuiIconXCircle`,
36
+ tuiIconCollapse: `tuiIconMinimize`,
37
+ tuiIconComment: `tuiIconMessageSquare`,
38
+ tuiIconCommentFw: `tuiIconMessageForward`,
39
+ tuiIconCompany: `tuiIconBriefcase`,
40
+ tuiIconDefaultDoc: `tuiIconFile`,
41
+ tuiIconDesktop: `tuiIconMonitor`,
42
+ tuiIconDesktopOff: `tuiIconMonitorOff`,
43
+ tuiIconDislike: `tuiIconThumbsDown`,
44
+ tuiIconDone: `tuiIconCheckCircle`,
45
+ tuiIconDraft: `tuiIconEdit2`,
46
+ tuiIconEyeOpen: `tuiIconEye`,
47
+ tuiIconEyeClosed: `tuiIconEyeOff`,
48
+ tuiIconExpand: `tuiIconMaximize`,
49
+ tuiIconExternal: `tuiIconExternalLink`,
50
+ tuiIconFrame: `tuiIconLayout`,
51
+ tuiIconGeo: `tuiIconMapPin`,
52
+ tuiIconHeartFilled: `tuiIconHeart`,
53
+ tuiIconHide: `tuiIconEyeOff`,
54
+ tuiIconImg: `tuiIconImage`,
55
+ tuiIconInfoCircle: `tuiIconInfo`,
56
+ tuiIconLike: `tuiIconThumbsUp`,
57
+ tuiIconLockOpen: `tuiIconUnlock`,
58
+ tuiIconMobile: `tuiIconSmartphone`,
59
+ tuiIconMoreHor: `tuiIconMoreHorizontal`,
60
+ tuiIconMoreVer: `tuiIconMoreVertical`,
61
+ tuiIconMoreVert: `tuiIconMoreVertical`,
62
+ tuiIconPicture: `tuiIconImage`,
63
+ tuiIconPin: `tuiIconMapPin`,
64
+ tuiIconPrint: `tuiIconPrinter`,
65
+ tuiIconRefresh: `tuiIconRefreshCw`,
66
+ tuiIconRemove: `tuiIconX`,
67
+ tuiIconShow: `tuiIconEye`,
68
+ tuiIconSound: `tuiIconVolume`,
69
+ tuiIconSoundOff: `tuiIconVolumeX`,
70
+ tuiIconStarFilled: `tuiIconStar`,
71
+ tuiIconStop: `tuiIconSquare`,
72
+ tuiIconStructure: `tuiIconGrid`,
73
+ tuiIconTime: `tuiIconClock`,
74
+ tuiIconTooltip: `tuiIconHelpCircle`,
75
+ tuiIconViewList: `tuiIconList`,
76
+ tuiIconWifiOn: `tuiIconWifi`,
77
+ };
78
+
79
+ const TUI_SVG_DEFAULT_OPTIONS = {
80
+ path: tuiIconsPathFactory(`assets/taiga-ui/icons`),
81
+ srcProcessor: identity,
82
+ contentProcessor: tuiSvgLinearGradientProcessor,
83
+ deprecated: src => TUI_DEPRECATED_ICONS[src.replace(`Large`, ``).replace(`Outline`, ``)]
84
+ ? `${src} is deprecated, use ${TUI_DEPRECATED_ICONS[src.replace(`Large`, ``)]}/Large instead`
85
+ : ``,
86
+ };
87
+ const TUI_SVG_OPTIONS = new InjectionToken(`[TUI_SVG_OPTIONS]: SVG component options`, {
88
+ factory: () => ({
89
+ path: inject(TUI_ICONS_PATH),
90
+ deprecated: TUI_SVG_DEFAULT_OPTIONS.deprecated,
91
+ srcProcessor: inject(TUI_SVG_SRC_PROCESSOR),
92
+ contentProcessor: inject(TUI_SVG_CONTENT_PROCESSOR),
93
+ }),
94
+ });
95
+ const tuiSvgOptionsProvider = options => ({
96
+ provide: TUI_SVG_OPTIONS,
97
+ useValue: Object.assign(Object.assign(Object.assign({}, TUI_SVG_DEFAULT_OPTIONS), options), { path: tuiIsString(options.path)
98
+ ? tuiIconsPathFactory(options.path)
99
+ : options.path || TUI_SVG_DEFAULT_OPTIONS.path }),
100
+ });
18
101
 
19
102
  const UNDEFINED_NAMED_ICON = 'Attempted to use undefined named icon';
20
103
  const MISSING_EXTERNAL_ICON = 'External icon is missing on the given URL';
21
104
  const FAILED_EXTERNAL_ICON = 'Failed to load external SVG';
22
105
  // TODO: Consider moving to CDK along with SvgService and SvgDefsHostComponent
23
106
  class TuiSvgComponent {
24
- constructor(documentRef, windowRef, iconsPath, tuiSanitizer, svgService, staticRequestService, sanitizer, elementRef, srcProcessor, contentProcessor) {
107
+ constructor(documentRef, windowRef, options, tuiSanitizer, svgService, staticRequestService, sanitizer, elementRef) {
25
108
  this.documentRef = documentRef;
26
109
  this.windowRef = windowRef;
27
- this.iconsPath = iconsPath;
110
+ this.options = options;
28
111
  this.tuiSanitizer = tuiSanitizer;
29
112
  this.svgService = svgService;
30
113
  this.staticRequestService = staticRequestService;
31
114
  this.sanitizer = sanitizer;
32
115
  this.elementRef = elementRef;
33
- this.srcProcessor = srcProcessor;
34
- this.contentProcessor = contentProcessor;
35
116
  this.src$ = new ReplaySubject(1);
36
117
  this.icon = '';
37
118
  this.innerHTML$ = this.src$.pipe(switchMap(() => {
@@ -44,7 +125,9 @@ class TuiSvgComponent {
44
125
  }), startWith(''));
45
126
  }
46
127
  set src(src) {
47
- this.icon = this.srcProcessor(src);
128
+ const deprecated = this.options.deprecated(String(src));
129
+ tuiAssert.assert(!deprecated, deprecated);
130
+ this.icon = this.options.srcProcessor(src);
48
131
  this.src$.next();
49
132
  }
50
133
  get src() {
@@ -54,7 +137,7 @@ class TuiSvgComponent {
54
137
  if (tuiIsString(this.icon)) {
55
138
  return this.icon.includes('.svg#')
56
139
  ? this.icon
57
- : this.resolveName(this.icon, this.iconsPath);
140
+ : this.resolveName(this.icon, this.options.path);
58
141
  }
59
142
  return '';
60
143
  }
@@ -116,7 +199,7 @@ class TuiSvgComponent {
116
199
  return !this.isShadowDOM || !this.isName ? '' : this.sanitize(icon || '');
117
200
  }
118
201
  sanitize(src) {
119
- src = this.contentProcessor(src);
202
+ src = this.options.contentProcessor(src);
120
203
  return this.tuiSanitizer && tuiIsString(src)
121
204
  ? this.sanitizer.bypassSecurityTrustHtml(this.tuiSanitizer.sanitize(SecurityContext.HTML, src) || '')
122
205
  : src;
@@ -129,8 +212,8 @@ class TuiSvgComponent {
129
212
  }), map(response => this.sanitize(response.replace('<svg', '<svg focusable="false"'))));
130
213
  }
131
214
  }
132
- TuiSvgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSvgComponent, deps: [{ token: DOCUMENT }, { token: WINDOW }, { token: TUI_ICONS_PATH }, { token: TUI_SANITIZER, optional: true }, { token: TuiSvgService }, { token: TuiStaticRequestService }, { token: DomSanitizer }, { token: ElementRef }, { token: TUI_SVG_SRC_PROCESSOR }, { token: TUI_SVG_CONTENT_PROCESSOR }], target: i0.ɵɵFactoryTarget.Component });
133
- TuiSvgComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiSvgComponent, selector: "tui-svg", inputs: { src: "src" }, ngImport: i0, template: "<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n focusable=\"false\"\n width=\"100%\"\n height=\"100%\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n", styles: [":host{display:inline-block;vertical-align:middle;flex-shrink:0;line-height:0;height:1.5rem;width:1.5rem;fill:currentColor;font-size:1rem}.t-src{display:flex;height:100%;align-items:center;justify-content:center}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
215
+ TuiSvgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSvgComponent, deps: [{ token: DOCUMENT }, { token: WINDOW }, { token: TUI_SVG_OPTIONS }, { token: TUI_SANITIZER, optional: true }, { token: TuiSvgService }, { token: TuiStaticRequestService }, { token: DomSanitizer }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
216
+ TuiSvgComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiSvgComponent, selector: "tui-svg", inputs: { src: "src" }, ngImport: i0, template: "<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n focusable=\"false\"\n width=\"100%\"\n height=\"100%\"\n class=\"t-svg\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n", styles: [":host{display:inline-block;vertical-align:middle;flex-shrink:0;line-height:0;height:1.5rem;width:1.5rem;fill:transparent;stroke:transparent;font-size:1rem}.t-src{display:flex;height:100%;align-items:center;justify-content:center;fill:inherit;stroke:inherit}.t-svg{fill:inherit;stroke:inherit}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
134
217
  __decorate([
135
218
  tuiRequiredSetter()
136
219
  ], TuiSvgComponent.prototype, "src", null);
@@ -153,7 +236,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
153
236
  args: [WINDOW]
154
237
  }] }, { type: undefined, decorators: [{
155
238
  type: Inject,
156
- args: [TUI_ICONS_PATH]
239
+ args: [TUI_SVG_OPTIONS]
157
240
  }] }, { type: i0.Sanitizer, decorators: [{
158
241
  type: Optional
159
242
  }, {
@@ -171,12 +254,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
171
254
  }] }, { type: i0.ElementRef, decorators: [{
172
255
  type: Inject,
173
256
  args: [ElementRef]
174
- }] }, { type: undefined, decorators: [{
175
- type: Inject,
176
- args: [TUI_SVG_SRC_PROCESSOR]
177
- }] }, { type: undefined, decorators: [{
178
- type: Inject,
179
- args: [TUI_SVG_CONTENT_PROCESSOR]
180
257
  }] }]; }, propDecorators: { src: [{
181
258
  type: Input
182
259
  }], resolveName: [] } });
@@ -199,5 +276,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
199
276
  * Generated bundle index. Do not edit.
200
277
  */
201
278
 
202
- export { TuiSvgComponent, TuiSvgModule };
279
+ export { TUI_DEPRECATED_ICONS, TUI_SVG_DEFAULT_OPTIONS, TUI_SVG_OPTIONS, TuiSvgComponent, TuiSvgModule, tuiSvgOptionsProvider };
203
280
  //# sourceMappingURL=taiga-ui-core-components-svg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-svg.js","sources":["../../../projects/core/components/svg/svg.component.ts","../../../projects/core/components/svg/svg.template.html","../../../projects/core/components/svg/svg.module.ts","../../../projects/core/components/svg/taiga-ui-core-components-svg.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n Optional,\n Sanitizer,\n SecurityContext,\n} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAssert,\n tuiGetDocumentOrShadowRoot,\n TuiInjectionTokenType,\n tuiIsString,\n tuiPure,\n tuiRequiredSetter,\n TuiStaticRequestService,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\nimport {TUI_ICON_ERROR} from '@taiga-ui/core/constants';\nimport {TuiIconError} from '@taiga-ui/core/interfaces';\nimport {TuiSvgService} from '@taiga-ui/core/services';\nimport {\n TUI_ICONS_PATH,\n TUI_SANITIZER,\n TUI_SVG_CONTENT_PROCESSOR,\n TUI_SVG_SRC_PROCESSOR,\n} from '@taiga-ui/core/tokens';\nimport {tuiIsPresumedHTMLString} from '@taiga-ui/core/utils/miscellaneous';\nimport {Observable, of, ReplaySubject} from 'rxjs';\nimport {catchError, map, startWith, switchMap} from 'rxjs/operators';\n\nconst UNDEFINED_NAMED_ICON = 'Attempted to use undefined named icon';\nconst MISSING_EXTERNAL_ICON = 'External icon is missing on the given URL';\nconst FAILED_EXTERNAL_ICON = 'Failed to load external SVG';\n\n// TODO: Consider moving to CDK along with SvgService and SvgDefsHostComponent\n@Component({\n selector: 'tui-svg',\n templateUrl: './svg.template.html',\n styleUrls: ['./svg.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSvgComponent {\n private readonly src$ = new ReplaySubject<void>(1);\n private icon: SafeHtml | string = '';\n readonly innerHTML$: Observable<SafeHtml>;\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TUI_ICONS_PATH) private readonly iconsPath: TuiStringHandler<string>,\n @Optional()\n @Inject(TUI_SANITIZER)\n private readonly tuiSanitizer: Sanitizer | null,\n @Inject(TuiSvgService) private readonly svgService: TuiSvgService,\n @Inject(TuiStaticRequestService)\n private readonly staticRequestService: TuiStaticRequestService,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(ElementRef) private readonly elementRef: ElementRef<Element>,\n @Inject(TUI_SVG_SRC_PROCESSOR)\n private readonly srcProcessor: TuiInjectionTokenType<\n typeof TUI_SVG_SRC_PROCESSOR\n >,\n @Inject(TUI_SVG_CONTENT_PROCESSOR)\n private readonly contentProcessor: TuiInjectionTokenType<\n typeof TUI_SVG_CONTENT_PROCESSOR\n >,\n ) {\n this.innerHTML$ = this.src$.pipe(\n switchMap(() => {\n if (tuiIsString(this.icon)) {\n return this.isExternal\n ? this.getExternalIcon(this.icon)\n : of(this.getSafeHtml(this.icon));\n }\n\n return of(this.icon);\n }),\n startWith(''),\n );\n }\n\n @Input()\n @tuiRequiredSetter()\n set src(src: SafeHtml | string) {\n this.icon = this.srcProcessor(src);\n this.src$.next();\n }\n\n get src(): SafeHtml | string {\n return this.icon;\n }\n\n get use(): string {\n if (tuiIsString(this.icon)) {\n return this.icon.includes('.svg#')\n ? this.icon\n : this.resolveName(this.icon, this.iconsPath);\n }\n\n return '';\n }\n\n get isInnerHTML(): boolean {\n return (\n !tuiIsString(this.icon) ||\n this.isSrc ||\n this.isExternal ||\n (this.isName && this.isShadowDOM)\n );\n }\n\n private get isShadowDOM(): boolean {\n return (\n tuiGetDocumentOrShadowRoot(this.elementRef.nativeElement) !== this.documentRef\n );\n }\n\n private get isUse(): boolean {\n return this.use.includes('.svg#');\n }\n\n private get isExternal(): boolean {\n return this.isUrl || this.isCrossDomain;\n }\n\n private get isUrl(): boolean {\n return tuiIsString(this.icon) && this.icon.endsWith('.svg');\n }\n\n private get isSrc(): boolean {\n return tuiIsString(this.icon) && tuiIsPresumedHTMLString(this.icon);\n }\n\n private get isName(): boolean {\n return !this.isUrl && !this.isUse && !this.isSrc;\n }\n\n private get isCrossDomain(): boolean {\n const {use, isUse, windowRef} = this;\n\n return (\n isUse &&\n use.startsWith('http') &&\n !!windowRef.origin &&\n !use.startsWith(windowRef.origin)\n );\n }\n\n onError(message: string = MISSING_EXTERNAL_ICON): void {\n const {icon} = this;\n const event = new CustomEvent<TuiIconError>(TUI_ICON_ERROR, {\n bubbles: true,\n detail: {\n message,\n icon: icon as string,\n },\n });\n\n tuiAssert.assert(false, message, icon);\n this.elementRef.nativeElement.dispatchEvent(event);\n }\n\n @tuiPure\n private resolveName(name: string, iconsPath: TuiStringHandler<string>): string {\n return iconsPath(name);\n }\n\n private getSafeHtml(src: string): SafeHtml {\n return this.isSrc ? this.sanitize(src) : this.process(src);\n }\n\n private process(src: string): SafeHtml {\n const icon = this.svgService.getOriginal(src);\n\n if (this.isName && !icon && !!src) {\n this.onError(UNDEFINED_NAMED_ICON);\n }\n\n // Empty line for innerHTML when icon is shown through USE tag\n return !this.isShadowDOM || !this.isName ? '' : this.sanitize(icon || '');\n }\n\n private sanitize(src: SafeHtml | string): SafeHtml | string {\n src = this.contentProcessor(src);\n\n return this.tuiSanitizer && tuiIsString(src)\n ? this.sanitizer.bypassSecurityTrustHtml(\n this.tuiSanitizer.sanitize(SecurityContext.HTML, src) || '',\n )\n : src;\n }\n\n private getExternalIcon(src: string): Observable<SafeHtml> {\n const url = src.includes('.svg') ? src : this.use;\n\n return this.staticRequestService.request(url).pipe(\n catchError(() => {\n this.onError(FAILED_EXTERNAL_ICON);\n\n return of('');\n }),\n map(response =>\n this.sanitize(response.replace('<svg', '<svg focusable=\"false\"')),\n ),\n );\n }\n}\n","<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n focusable=\"false\"\n width=\"100%\"\n height=\"100%\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\n\nimport {TuiSvgComponent} from './svg.component';\n\n@NgModule({\n imports: [CommonModule, TuiLetModule],\n declarations: [TuiSvgComponent],\n exports: [TuiSvgComponent],\n})\nexport class TuiSvgModule {}\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-core-components-svg.js","sources":["../../../projects/core/components/svg/deprecated-icons.ts","../../../projects/core/components/svg/svg-options.ts","../../../projects/core/components/svg/svg.component.ts","../../../projects/core/components/svg/svg.template.html","../../../projects/core/components/svg/svg.module.ts","../../../projects/core/components/svg/taiga-ui-core-components-svg.ts"],"sourcesContent":["export const TUI_DEPRECATED_ICONS: Record<string, string> = {\n tuiIconAttach: `tuiIconPaperclip`,\n tuiIconAttention: `tuiIconAlertCircle`,\n tuiIconBackCircle: `tuiIconArrowLeftCircle`,\n tuiIconCall: `tuiIconPhone`,\n tuiIconCallIn: `tuiIconPhoneIncoming`,\n tuiIconCallOut: `tuiIconPhoneOutgoing`,\n tuiIconCallTransfer: `tuiIconPhoneForwarded`,\n tuiIconCancel: `tuiIconXCircle`,\n tuiIconCancelCircle: `tuiIconSlash`,\n tuiIconCard: `tuiIconCreditCard`,\n tuiIconCards: `tuiIconCreditCard`,\n tuiIconChartBar: `tuiIconBarChart`,\n tuiIconChart: `tuiIconBarChart`,\n tuiIconCheckList: `tuiIconClipboard`,\n tuiIconCloseCircle: `tuiIconXCircle`,\n tuiIconCollapse: `tuiIconMinimize`,\n tuiIconComment: `tuiIconMessageSquare`,\n tuiIconCommentFw: `tuiIconMessageForward`,\n tuiIconCompany: `tuiIconBriefcase`,\n tuiIconDefaultDoc: `tuiIconFile`,\n tuiIconDesktop: `tuiIconMonitor`,\n tuiIconDesktopOff: `tuiIconMonitorOff`,\n tuiIconDislike: `tuiIconThumbsDown`,\n tuiIconDone: `tuiIconCheckCircle`,\n tuiIconDraft: `tuiIconEdit2`,\n tuiIconEyeOpen: `tuiIconEye`,\n tuiIconEyeClosed: `tuiIconEyeOff`,\n tuiIconExpand: `tuiIconMaximize`,\n tuiIconExternal: `tuiIconExternalLink`,\n tuiIconFrame: `tuiIconLayout`,\n tuiIconGeo: `tuiIconMapPin`,\n tuiIconHeartFilled: `tuiIconHeart`,\n tuiIconHide: `tuiIconEyeOff`,\n tuiIconImg: `tuiIconImage`,\n tuiIconInfoCircle: `tuiIconInfo`,\n tuiIconLike: `tuiIconThumbsUp`,\n tuiIconLockOpen: `tuiIconUnlock`,\n tuiIconMobile: `tuiIconSmartphone`,\n tuiIconMoreHor: `tuiIconMoreHorizontal`,\n tuiIconMoreVer: `tuiIconMoreVertical`,\n tuiIconMoreVert: `tuiIconMoreVertical`,\n tuiIconPicture: `tuiIconImage`,\n tuiIconPin: `tuiIconMapPin`,\n tuiIconPrint: `tuiIconPrinter`,\n tuiIconRefresh: `tuiIconRefreshCw`,\n tuiIconRemove: `tuiIconX`,\n tuiIconShow: `tuiIconEye`,\n tuiIconSound: `tuiIconVolume`,\n tuiIconSoundOff: `tuiIconVolumeX`,\n tuiIconStarFilled: `tuiIconStar`,\n tuiIconStop: `tuiIconSquare`,\n tuiIconStructure: `tuiIconGrid`,\n tuiIconTime: `tuiIconClock`,\n tuiIconTooltip: `tuiIconHelpCircle`,\n tuiIconViewList: `tuiIconList`,\n tuiIconWifiOn: `tuiIconWifi`,\n};\n","import {inject, InjectionToken, ValueProvider} from '@angular/core';\nimport {SafeHtml} from '@angular/platform-browser';\nimport {\n TuiHandler,\n tuiIsString,\n TuiStringHandler,\n tuiSvgLinearGradientProcessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_ICONS_PATH,\n TUI_SVG_CONTENT_PROCESSOR,\n TUI_SVG_SRC_PROCESSOR,\n} from '@taiga-ui/core/tokens';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\nimport {identity} from 'rxjs';\n\nimport {TUI_DEPRECATED_ICONS} from './deprecated-icons';\n\nexport interface TuiSvgOptions {\n readonly path: TuiStringHandler<string>;\n readonly deprecated: TuiStringHandler<string>;\n readonly srcProcessor: TuiHandler<SafeHtml | string, SafeHtml | string>;\n readonly contentProcessor: TuiHandler<SafeHtml | string, SafeHtml | string>;\n}\n\nexport const TUI_SVG_DEFAULT_OPTIONS: TuiSvgOptions = {\n path: tuiIconsPathFactory(`assets/taiga-ui/icons`),\n srcProcessor: identity,\n contentProcessor: tuiSvgLinearGradientProcessor,\n deprecated: src =>\n TUI_DEPRECATED_ICONS[src.replace(`Large`, ``).replace(`Outline`, ``)]\n ? `${src} is deprecated, use ${\n TUI_DEPRECATED_ICONS[src.replace(`Large`, ``)]\n }/Large instead`\n : ``,\n};\n\nexport const TUI_SVG_OPTIONS = new InjectionToken<TuiSvgOptions>(\n `[TUI_SVG_OPTIONS]: SVG component options`,\n {\n factory: () => ({\n path: inject(TUI_ICONS_PATH),\n deprecated: TUI_SVG_DEFAULT_OPTIONS.deprecated,\n srcProcessor: inject(TUI_SVG_SRC_PROCESSOR),\n contentProcessor: inject(TUI_SVG_CONTENT_PROCESSOR),\n }),\n },\n);\n\nexport const tuiSvgOptionsProvider: (\n options: Partial<Omit<TuiSvgOptions, 'path'>> & {\n path?: TuiSvgOptions['path'] | string;\n },\n) => ValueProvider = options => ({\n provide: TUI_SVG_OPTIONS,\n useValue: {\n ...TUI_SVG_DEFAULT_OPTIONS,\n ...options,\n path: tuiIsString(options.path)\n ? tuiIconsPathFactory(options.path)\n : options.path || TUI_SVG_DEFAULT_OPTIONS.path,\n },\n});\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n Optional,\n Sanitizer,\n SecurityContext,\n} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAssert,\n tuiGetDocumentOrShadowRoot,\n tuiIsString,\n tuiPure,\n tuiRequiredSetter,\n TuiStaticRequestService,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\nimport {TUI_ICON_ERROR} from '@taiga-ui/core/constants';\nimport {TuiIconError} from '@taiga-ui/core/interfaces';\nimport {TuiSvgService} from '@taiga-ui/core/services';\nimport {TUI_SANITIZER} from '@taiga-ui/core/tokens';\nimport {tuiIsPresumedHTMLString} from '@taiga-ui/core/utils/miscellaneous';\nimport {Observable, of, ReplaySubject} from 'rxjs';\nimport {catchError, map, startWith, switchMap} from 'rxjs/operators';\n\nimport {TUI_SVG_OPTIONS, TuiSvgOptions} from './svg-options';\n\nconst UNDEFINED_NAMED_ICON = 'Attempted to use undefined named icon';\nconst MISSING_EXTERNAL_ICON = 'External icon is missing on the given URL';\nconst FAILED_EXTERNAL_ICON = 'Failed to load external SVG';\n\n// TODO: Consider moving to CDK along with SvgService and SvgDefsHostComponent\n@Component({\n selector: 'tui-svg',\n templateUrl: './svg.template.html',\n styleUrls: ['./svg.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSvgComponent {\n private readonly src$ = new ReplaySubject<void>(1);\n private icon: SafeHtml | string = '';\n\n readonly innerHTML$: Observable<SafeHtml>;\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TUI_SVG_OPTIONS) private readonly options: TuiSvgOptions,\n @Optional()\n @Inject(TUI_SANITIZER)\n private readonly tuiSanitizer: Sanitizer | null,\n @Inject(TuiSvgService) private readonly svgService: TuiSvgService,\n @Inject(TuiStaticRequestService)\n private readonly staticRequestService: TuiStaticRequestService,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(ElementRef) private readonly elementRef: ElementRef<Element>,\n ) {\n this.innerHTML$ = this.src$.pipe(\n switchMap(() => {\n if (tuiIsString(this.icon)) {\n return this.isExternal\n ? this.getExternalIcon(this.icon)\n : of(this.getSafeHtml(this.icon));\n }\n\n return of(this.icon);\n }),\n startWith(''),\n );\n }\n\n @Input()\n @tuiRequiredSetter()\n set src(src: SafeHtml | string) {\n const deprecated = this.options.deprecated(String(src));\n\n tuiAssert.assert(!deprecated, deprecated);\n this.icon = this.options.srcProcessor(src);\n this.src$.next();\n }\n\n get src(): SafeHtml | string {\n return this.icon;\n }\n\n get use(): string {\n if (tuiIsString(this.icon)) {\n return this.icon.includes('.svg#')\n ? this.icon\n : this.resolveName(this.icon, this.options.path);\n }\n\n return '';\n }\n\n get isInnerHTML(): boolean {\n return (\n !tuiIsString(this.icon) ||\n this.isSrc ||\n this.isExternal ||\n (this.isName && this.isShadowDOM)\n );\n }\n\n private get isShadowDOM(): boolean {\n return (\n tuiGetDocumentOrShadowRoot(this.elementRef.nativeElement) !== this.documentRef\n );\n }\n\n private get isUse(): boolean {\n return this.use.includes('.svg#');\n }\n\n private get isExternal(): boolean {\n return this.isUrl || this.isCrossDomain;\n }\n\n private get isUrl(): boolean {\n return tuiIsString(this.icon) && this.icon.endsWith('.svg');\n }\n\n private get isSrc(): boolean {\n return tuiIsString(this.icon) && tuiIsPresumedHTMLString(this.icon);\n }\n\n private get isName(): boolean {\n return !this.isUrl && !this.isUse && !this.isSrc;\n }\n\n private get isCrossDomain(): boolean {\n const {use, isUse, windowRef} = this;\n\n return (\n isUse &&\n use.startsWith('http') &&\n !!windowRef.origin &&\n !use.startsWith(windowRef.origin)\n );\n }\n\n onError(message: string = MISSING_EXTERNAL_ICON): void {\n const {icon} = this;\n const event = new CustomEvent<TuiIconError>(TUI_ICON_ERROR, {\n bubbles: true,\n detail: {\n message,\n icon: icon as string,\n },\n });\n\n tuiAssert.assert(false, message, icon);\n this.elementRef.nativeElement.dispatchEvent(event);\n }\n\n @tuiPure\n private resolveName(name: string, iconsPath: TuiStringHandler<string>): string {\n return iconsPath(name);\n }\n\n private getSafeHtml(src: string): SafeHtml {\n return this.isSrc ? this.sanitize(src) : this.process(src);\n }\n\n private process(src: string): SafeHtml {\n const icon = this.svgService.getOriginal(src);\n\n if (this.isName && !icon && !!src) {\n this.onError(UNDEFINED_NAMED_ICON);\n }\n\n // Empty line for innerHTML when icon is shown through USE tag\n return !this.isShadowDOM || !this.isName ? '' : this.sanitize(icon || '');\n }\n\n private sanitize(src: SafeHtml | string): SafeHtml | string {\n src = this.options.contentProcessor(src);\n\n return this.tuiSanitizer && tuiIsString(src)\n ? this.sanitizer.bypassSecurityTrustHtml(\n this.tuiSanitizer.sanitize(SecurityContext.HTML, src) || '',\n )\n : src;\n }\n\n private getExternalIcon(src: string): Observable<SafeHtml> {\n const url = src.includes('.svg') ? src : this.use;\n\n return this.staticRequestService.request(url).pipe(\n catchError(() => {\n this.onError(FAILED_EXTERNAL_ICON);\n\n return of('');\n }),\n map(response =>\n this.sanitize(response.replace('<svg', '<svg focusable=\"false\"')),\n ),\n );\n }\n}\n","<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n focusable=\"false\"\n width=\"100%\"\n height=\"100%\"\n class=\"t-svg\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\n\nimport {TuiSvgComponent} from './svg.component';\n\n@NgModule({\n imports: [CommonModule, TuiLetModule],\n declarations: [TuiSvgComponent],\n exports: [TuiSvgComponent],\n})\nexport class TuiSvgModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}