@taiga-ui/core 3.88.0 → 3.89.0-canary.301953f

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 (32) hide show
  1. package/bundles/taiga-ui-core-components-dialog.umd.js +2 -3
  2. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +2 -2
  4. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  6. package/bundles/taiga-ui-core-components-scrollbar.umd.js +18 -3
  7. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  9. package/components/dialog/dialog.component.d.ts +0 -1
  10. package/components/scrollbar/index.d.ts +1 -0
  11. package/components/scrollbar/scrollbar.component.d.ts +3 -1
  12. package/components/scrollbar/scrollbar.options.d.ts +7 -0
  13. package/constants/cache-basting-payload.d.ts +1 -1
  14. package/esm2015/components/dialog/dialog.component.js +4 -5
  15. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +1 -1
  16. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +1 -1
  17. package/esm2015/components/root/root.component.js +1 -1
  18. package/esm2015/components/scrollbar/index.js +2 -1
  19. package/esm2015/components/scrollbar/scrollbar.component.js +9 -4
  20. package/esm2015/components/scrollbar/scrollbar.options.js +9 -0
  21. package/esm2015/tokens/data-list-host.js +1 -1
  22. package/fesm2015/taiga-ui-core-components-dialog.js +3 -4
  23. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  24. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +2 -2
  25. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  26. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  27. package/fesm2015/taiga-ui-core-components-scrollbar.js +17 -5
  28. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  29. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  30. package/package.json +42 -42
  31. package/styles/mixins/mixins.less +0 -6
  32. package/tokens/data-list-host.d.ts +1 -1
@@ -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 {\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TUI_FONTS_READY,\n TuiInjectionTokenType,\n} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {BehaviorSubject, merge} 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$ = merge(this.fontsReady$, 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 @Inject(TUI_FONTS_READY)\n private readonly fontsReady$: TuiInjectionTokenType<typeof TUI_FONTS_READY>,\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 @HostBinding('class._filler')\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 && !this.placeholder);\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\"\n [textContent]=\"prefix\"\n></span>\n<span\n class=\"t-ghost\"\n [textContent]=\"value\"\n></span>\n<span\n class=\"t-filler\"\n [textContent]=\"filler\"\n></span>\n<span\n class=\"t-postfix\"\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 tuiIsNativeFocusedIn,\n tuiPure,\n tuiRetargetedBoundaryCrossing,\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 {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\nexport const TUI_ICON_PADDINGS: Record<TuiSizeL | TuiSizeS, number> = {\n s: 1.25,\n m: 1.75,\n l: 2.25,\n};\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 ],\n host: {\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 editable = true;\n\n /** @deprecated use `tuiTextfieldFiller` from {@link TuiTextfieldControllerModule} instead */\n @Input('filler')\n textfieldFiller = '';\n\n /**\n * @deprecated:\n * use `tuiTextfieldOptionsProvider({iconCleaner: `tuiIconChevronUp`})`\n */\n @Input()\n iconCleaner = this.options.iconCleaner;\n\n @Input()\n @HostBinding('class._readonly')\n readOnly = false;\n\n @Input()\n invalid = false;\n\n @Input()\n disabled = false;\n\n /** @deprecated use `tuiTextfieldPrefix` from {@link TuiTextfieldControllerModule} instead */\n @Input('prefix')\n textfieldPrefix = '';\n\n /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */\n @Input('postfix')\n textfieldPostfix = '';\n\n @Input()\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_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 el: 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.el.nativeElement);\n }\n\n get appearance(): string {\n return this.controller.appearance;\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 placeholderVisible(): boolean {\n const hasDecor =\n this.nativeFocusableElement?.placeholder ||\n this.prefix ||\n this.postfix ||\n this.filler;\n const showDecor = hasDecor && !this.readOnly && this.computedFocused;\n\n return !this.hasValue && !showDecor;\n }\n\n get hasPlaceholder(): boolean {\n return this.placeholderRaisable || this.placeholderVisible;\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 this.size,\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 get showHint(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.options.hintOnDisabled || !this.computedDisabled)\n );\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(\n map(() => -1 * Math.max(element.scrollLeft, 0)),\n );\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 detectRetargetFromLabel(event: Event): void {\n if (tuiRetargetedBoundaryCrossing(event)) {\n event.stopImmediatePropagation();\n }\n }\n\n private get iconPaddingLeft(): number {\n return TUI_ICON_PADDINGS[this.size];\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 automation-id=\"tui-primitive-textfield__wrapper\"\n tuiWrapper\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (click.prevent.silent)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n>\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"select\"></ng-content>\n <input\n #focusableElement\n automation-id=\"tui-primitive-textfield__native-input\"\n tuiMaskAccessor\n class=\"t-input\"\n [attr.aria-invalid]=\"computedInvalid\"\n [attr.name]=\"name\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"value\"\n [readOnly]=\"readOnly || !editable\"\n [tuiFocusable]=\"computedFocusable\"\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 appearance=\"icon\"\n tuiWrapper\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 aria-hidden=\"true\"\n automation-id=\"tui-primitive-textfield__value-decoration\"\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 class=\"t-icons\">\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 appearance=\"icon\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n tuiWrapper\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-svg\n *polymorpheusOutlet=\"\n iconCleaner || controller.options.iconCleaner as src;\n context: {$implicit: size}\n \"\n [src]=\"src\"\n ></tui-svg>\n </span>\n <tui-tooltip\n *ngIf=\"showHint\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"computedId\"\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 appearance=\"icon\"\n tuiWrapper\n [src]=\"src\"\n ></tui-svg>\n </div>\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 Inject,\n Optional,\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_LEGACY_MASK, TUI_TEXTFIELD_HOST} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: 'input[tuiTextfield], textarea[tuiTextfield]',\n template: '',\n styleUrls: ['./textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TEXTFIELD_CONTROLLER_PROVIDER],\n host: {\n type: 'text',\n '[attr.id]': 'id',\n '[attr.inputMode]': 'inputMode',\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)': '!legacyMask && host.onValueChange($event.target.value)',\n },\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 el: ElementRef<HTMLInputElement>,\n @Inject(TuiIdService)\n private readonly idService: TuiIdService,\n @Optional()\n @Inject(TUI_LEGACY_MASK)\n readonly legacyMask: boolean | null,\n ) {\n this.host.process(this.el.nativeElement);\n }\n\n get id(): string {\n return this.el.nativeElement.id || this.idService.generate();\n }\n\n get inputMode(): string | null {\n const mode = this.el.nativeElement.inputMode || this.host.inputMode;\n\n return mode === 'text' ? null : mode;\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 {\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TUI_FONTS_READY,\n TuiInjectionTokenType,\n} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {BehaviorSubject, merge} 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$ = merge(this.fontsReady$, 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 @Inject(TUI_FONTS_READY)\n private readonly fontsReady$: TuiInjectionTokenType<typeof TUI_FONTS_READY>,\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 @HostBinding('class._filler')\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 && !this.placeholder);\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\"\n [textContent]=\"prefix\"\n></span>\n<span\n class=\"t-ghost\"\n [textContent]=\"value\"\n></span>\n<span\n class=\"t-filler\"\n [textContent]=\"filler\"\n></span>\n<span\n class=\"t-postfix\"\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 tuiIsNativeFocusedIn,\n tuiPure,\n tuiRetargetedBoundaryCrossing,\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 {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\nexport const TUI_ICON_PADDINGS: Record<TuiSizeL | TuiSizeS, number> = {\n s: 1.25,\n m: 1.75,\n l: 2.25,\n};\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 ],\n host: {\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 editable = true;\n\n /** @deprecated use `tuiTextfieldFiller` from {@link TuiTextfieldControllerModule} instead */\n @Input('filler')\n textfieldFiller = '';\n\n /**\n * @deprecated:\n * use `tuiTextfieldOptionsProvider({iconCleaner: `tuiIconChevronUp`})`\n */\n @Input()\n iconCleaner = this.options.iconCleaner;\n\n @Input()\n @HostBinding('class._readonly')\n readOnly = false;\n\n @Input()\n invalid = false;\n\n @Input()\n disabled = false;\n\n /** @deprecated use `tuiTextfieldPrefix` from {@link TuiTextfieldControllerModule} instead */\n @Input('prefix')\n textfieldPrefix = '';\n\n /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */\n @Input('postfix')\n textfieldPostfix = '';\n\n @Input()\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_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 el: 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.el.nativeElement);\n }\n\n get appearance(): string {\n return this.controller.appearance;\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 placeholderVisible(): boolean {\n const hasDecor =\n this.nativeFocusableElement?.placeholder ||\n this.prefix ||\n this.postfix ||\n this.filler;\n const showDecor = hasDecor && !this.readOnly && this.computedFocused;\n\n return !this.hasValue && !showDecor;\n }\n\n get hasPlaceholder(): boolean {\n return this.placeholderRaisable || this.placeholderVisible;\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 this.size,\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 get showHint(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.options.hintOnDisabled || !this.computedDisabled)\n );\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(\n map(() => -1 * Math.max(element.scrollLeft, 0)),\n );\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 detectRetargetFromLabel(event: Event): void {\n if (tuiRetargetedBoundaryCrossing(event)) {\n event.stopImmediatePropagation();\n }\n }\n\n private get iconPaddingLeft(): number {\n return TUI_ICON_PADDINGS[this.size];\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 automation-id=\"tui-primitive-textfield__wrapper\"\n tuiWrapper\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (click.prevent.silent)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n>\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"select\"></ng-content>\n <input\n #focusableElement\n automation-id=\"tui-primitive-textfield__native-input\"\n tuiMaskAccessor\n class=\"t-input\"\n [attr.aria-invalid]=\"computedInvalid\"\n [attr.name]=\"name\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"value\"\n [readOnly]=\"readOnly || !editable\"\n [tuiFocusable]=\"computedFocusable\"\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 appearance=\"icon\"\n tuiWrapper\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 aria-hidden=\"true\"\n automation-id=\"tui-primitive-textfield__value-decoration\"\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 class=\"t-icons\">\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 appearance=\"icon\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n tuiWrapper\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-svg\n *polymorpheusOutlet=\"\n iconCleaner || controller.options.iconCleaner as src;\n context: {$implicit: size}\n \"\n [src]=\"src\"\n ></tui-svg>\n </span>\n <tui-tooltip\n *ngIf=\"showHint\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"computedId\"\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 appearance=\"icon\"\n tuiWrapper\n [src]=\"src\"\n ></tui-svg>\n </div>\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 Inject,\n Optional,\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_LEGACY_MASK, TUI_TEXTFIELD_HOST} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: 'input[tuiTextfield], textarea[tuiTextfield]',\n template: '',\n styleUrls: ['./textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TEXTFIELD_CONTROLLER_PROVIDER],\n host: {\n type: 'text',\n '[attr.id]': 'id',\n '[attr.inputMode]': 'inputMode',\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)': '!legacyMask && host.onValueChange($event.target.value)',\n },\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 el: ElementRef<HTMLInputElement>,\n @Inject(TuiIdService)\n private readonly idService: TuiIdService,\n @Optional()\n @Inject(TUI_LEGACY_MASK)\n readonly legacyMask: boolean | null,\n ) {\n this.host.process(this.el.nativeElement);\n }\n\n get id(): string {\n return this.el.nativeElement.id || this.idService.generate();\n }\n\n get inputMode(): string | null {\n const mode = this.el.nativeElement.inputMode || this.host.inputMode;\n\n return mode === 'text' ? null : mode;\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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"}
@@ -33,7 +33,7 @@ class TuiRootComponent {
33
33
  }
34
34
  }
35
35
  TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_REDUCED_MOTION }, { token: TUI_ANIMATIONS_DURATION }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TuiBreakpointService }, { token: TUI_IS_IOS }, { token: TUI_IS_ANDROID }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
36
- TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.88.0" }, listeners: { "touchstart.passive.silent": "0", "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "$.class._mobile": "isMobileRes$" } }, 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<!--TODO: 4.0 rename to tuiOverDropdowns-->\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\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}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{display:none}body[data-tui-theme]{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-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;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);height:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}.t-overscroll-none{overscroll-behavior:none}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
36
+ TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.89.0" }, listeners: { "touchstart.passive.silent": "0", "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "$.class._mobile": "isMobileRes$" } }, 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<!--TODO: 4.0 rename to tuiOverDropdowns-->\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\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}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{display:none}body[data-tui-theme]{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-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;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);height:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}.t-overscroll-none{overscroll-behavior:none}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { ElementRef, Directive, Inject, Component, ChangeDetectionStrategy, Input, HostBinding, HostListener, NgModule } from '@angular/core';
3
3
  import * as i1 from '@taiga-ui/cdk';
4
- import { TUI_SCROLL_REF, tuiIsFirefox, tuiGetElementOffset, TUI_IS_IOS, TuiScrollControlsModule } from '@taiga-ui/cdk';
4
+ import { TUI_SCROLL_REF, tuiCreateToken, tuiProvideOptions, tuiIsFirefox, tuiGetElementOffset, TUI_IS_IOS, TuiScrollControlsModule } from '@taiga-ui/cdk';
5
5
  import { TUI_SCROLLABLE, TUI_SCROLL_INTO_VIEW } from '@taiga-ui/core/constants';
6
6
  import { CSS, USER_AGENT } from '@ng-web-apis/common';
7
7
  import * as i2 from '@angular/common';
@@ -55,13 +55,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
55
55
  args: [ElementRef]
56
56
  }] }]; } });
57
57
 
58
+ const TUI_DEFAULT_SCROLLBAR_OPTIONS = {
59
+ mode: 'always',
60
+ };
61
+ const TUI_SCROLLBAR_OPTIONS = tuiCreateToken(TUI_DEFAULT_SCROLLBAR_OPTIONS);
62
+ function tuiScrollbarOptionsProvider(options) {
63
+ return tuiProvideOptions(TUI_SCROLLBAR_OPTIONS, options, TUI_DEFAULT_SCROLLBAR_OPTIONS);
64
+ }
65
+
58
66
  // TODO: Remove all legacy code in 4.0
59
67
  class TuiScrollbarComponent {
60
- constructor(cssRef, el, userAgent, isIos) {
68
+ constructor(cssRef, el, userAgent, isIos, options) {
61
69
  this.cssRef = cssRef;
62
70
  this.el = el;
63
71
  this.userAgent = userAgent;
64
72
  this.isIos = isIos;
73
+ this.options = options;
65
74
  this.isLegacy = !this.cssRef.supports('position', 'sticky') ||
66
75
  (tuiIsFirefox(this.userAgent) &&
67
76
  !this.cssRef.supports('scrollbar-width', 'none'));
@@ -95,14 +104,14 @@ class TuiScrollbarComponent {
95
104
  (_a = nativeElement.scrollTo) === null || _a === void 0 ? void 0 : _a.call(nativeElement, scrollLeft, scrollTop);
96
105
  }
97
106
  }
98
- TuiScrollbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiScrollbarComponent, deps: [{ token: CSS }, { token: ElementRef }, { token: USER_AGENT }, { token: TUI_IS_IOS }], target: i0.ɵɵFactoryTarget.Component });
107
+ TuiScrollbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiScrollbarComponent, deps: [{ token: CSS }, { token: ElementRef }, { token: USER_AGENT }, { token: TUI_IS_IOS }, { token: TUI_SCROLLBAR_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
99
108
  TuiScrollbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiScrollbarComponent, selector: "tui-scrollbar", inputs: { hidden: "hidden" }, host: { listeners: { "tui-scrollable.stop": "onScrollable($event.detail)", "tui-scroll-into-view.stop": "scrollIntoView($event.detail)" }, properties: { "class._legacy": "this.showNative" } }, providers: [
100
109
  {
101
110
  provide: TUI_SCROLL_REF,
102
111
  deps: [TuiScrollbarComponent],
103
112
  useFactory: ({ browserScrollRef, }) => browserScrollRef,
104
113
  },
105
- ], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"showScrollbars\"\n class=\"t-bars\"\n></tui-scroll-controls>\n<div\n class=\"t-content\"\n [class.t-content_delegated]=\"delegated\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;isolation:isolate;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:.375rem solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}.t-content{isolation:isolate;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:max-content}.t-content_delegated{height:100%}.t-bars{color:var(--tui-text-01)}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
114
+ ], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"showScrollbars\"\n class=\"t-bars\"\n [class.t-hover-mode]=\"options.mode === 'hover'\"\n></tui-scroll-controls>\n<div\n class=\"t-content\"\n [class.t-content_delegated]=\"delegated\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;isolation:isolate;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:.375rem solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host .t-hover-mode:not(:active){transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;opacity:0}:host:hover .t-hover-mode{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;opacity:1}.t-content{isolation:isolate;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:max-content}.t-content_delegated{height:100%}.t-bars{color:var(--tui-text-01)}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
106
115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiScrollbarComponent, decorators: [{
107
116
  type: Component,
108
117
  args: [{
@@ -130,6 +139,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
130
139
  }] }, { type: undefined, decorators: [{
131
140
  type: Inject,
132
141
  args: [TUI_IS_IOS]
142
+ }] }, { type: undefined, decorators: [{
143
+ type: Inject,
144
+ args: [TUI_SCROLLBAR_OPTIONS]
133
145
  }] }]; }, propDecorators: { hidden: [{
134
146
  type: Input
135
147
  }], showNative: [{
@@ -161,5 +173,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
161
173
  * Generated bundle index. Do not edit.
162
174
  */
163
175
 
164
- export { SCROLL_REF_SELECTOR, TuiScrollRefDirective, TuiScrollableDirective, TuiScrollbarComponent, TuiScrollbarModule };
176
+ export { SCROLL_REF_SELECTOR, TUI_DEFAULT_SCROLLBAR_OPTIONS, TUI_SCROLLBAR_OPTIONS, TuiScrollRefDirective, TuiScrollableDirective, TuiScrollbarComponent, TuiScrollbarModule, tuiScrollbarOptionsProvider };
165
177
  //# sourceMappingURL=taiga-ui-core-components-scrollbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-scrollbar.js","sources":["../../../projects/core/components/scrollbar/scroll-ref.directive.ts","../../../projects/core/components/scrollbar/scrollable.directive.ts","../../../projects/core/components/scrollbar/scrollbar.component.ts","../../../projects/core/components/scrollbar/scrollbar.template.html","../../../projects/core/components/scrollbar/scrollbar.module.ts","../../../projects/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/cdk';\n\n/** @deprecated import from `@taiga-ui/cdk` instead */\nexport const SCROLL_REF_SELECTOR = '[tuiScrollRef]';\n\n/** @deprecated import from `@taiga-ui/cdk` instead */\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: '[tuiScrollable]',\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(@Inject(ElementRef) private readonly el: ElementRef<HTMLElement>) {}\n\n ngOnInit(): void {\n this.el.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.el.nativeElement,\n }),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS as CSS_TOKEN, USER_AGENT} from '@ng-web-apis/common';\nimport {\n TUI_IS_IOS,\n TUI_SCROLL_REF,\n tuiGetElementOffset,\n TuiInjectionTokenType,\n tuiIsFirefox,\n} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW, TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n// TODO: Remove all legacy code in 4.0\n@Component({\n selector: 'tui-scrollbar',\n templateUrl: './scrollbar.template.html',\n styleUrls: ['./scrollbar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: ({\n browserScrollRef,\n }: TuiScrollbarComponent): ElementRef<HTMLElement> => browserScrollRef,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n private readonly isLegacy: boolean =\n !this.cssRef.supports('position', 'sticky') ||\n (tuiIsFirefox(this.userAgent) &&\n !this.cssRef.supports('scrollbar-width', 'none'));\n\n @Input()\n hidden = false;\n\n readonly browserScrollRef = new ElementRef(this.el.nativeElement);\n\n constructor(\n @Inject(CSS_TOKEN)\n private readonly cssRef: TuiInjectionTokenType<typeof CSS_TOKEN>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get delegated(): boolean {\n return this.browserScrollRef.nativeElement !== this.el.nativeElement;\n }\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);\n }\n\n @HostBinding('class._legacy')\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.delegated;\n }\n\n @HostListener(`${TUI_SCROLLABLE}.stop`, ['$event.detail'])\n onScrollable(element: HTMLElement): void {\n this.browserScrollRef.nativeElement = element;\n }\n\n @HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, ['$event.detail'])\n scrollIntoView(detail: HTMLElement): void {\n if (this.delegated) {\n return;\n }\n\n const {nativeElement} = this.browserScrollRef;\n const {offsetTop, offsetLeft} = tuiGetElementOffset(nativeElement, detail);\n const {clientHeight, clientWidth} = nativeElement;\n const {offsetHeight, offsetWidth} = detail;\n const scrollTop = offsetTop + offsetHeight / 2 - clientHeight / 2;\n const scrollLeft = offsetLeft + offsetWidth / 2 - clientWidth / 2;\n\n // ?. for our clients on Windows XP and Chrome 49\n nativeElement.scrollTo?.(scrollLeft, scrollTop);\n }\n}\n","<tui-scroll-controls\n *ngIf=\"showScrollbars\"\n class=\"t-bars\"\n></tui-scroll-controls>\n<div\n class=\"t-content\"\n [class.t-content_delegated]=\"delegated\"\n>\n <ng-content></ng-content>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/cdk';\n\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CSS_TOKEN"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-scrollbar.js","sources":["../../../projects/core/components/scrollbar/scroll-ref.directive.ts","../../../projects/core/components/scrollbar/scrollable.directive.ts","../../../projects/core/components/scrollbar/scrollbar.options.ts","../../../projects/core/components/scrollbar/scrollbar.component.ts","../../../projects/core/components/scrollbar/scrollbar.template.html","../../../projects/core/components/scrollbar/scrollbar.module.ts","../../../projects/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/cdk';\n\n/** @deprecated import from `@taiga-ui/cdk` instead */\nexport const SCROLL_REF_SELECTOR = '[tuiScrollRef]';\n\n/** @deprecated import from `@taiga-ui/cdk` instead */\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: '[tuiScrollable]',\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(@Inject(ElementRef) private readonly el: ElementRef<HTMLElement>) {}\n\n ngOnInit(): void {\n this.el.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.el.nativeElement,\n }),\n );\n }\n}\n","import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\n\nexport interface TuiScrollbarOptions {\n mode: 'always' | 'hover';\n}\n\nexport const TUI_DEFAULT_SCROLLBAR_OPTIONS: TuiScrollbarOptions = {\n mode: 'always',\n};\n\nexport const TUI_SCROLLBAR_OPTIONS = tuiCreateToken(TUI_DEFAULT_SCROLLBAR_OPTIONS);\n\nexport function tuiScrollbarOptionsProvider(\n options: Partial<TuiScrollbarOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_SCROLLBAR_OPTIONS,\n options,\n TUI_DEFAULT_SCROLLBAR_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS as CSS_TOKEN, USER_AGENT} from '@ng-web-apis/common';\nimport {\n TUI_IS_IOS,\n TUI_SCROLL_REF,\n tuiGetElementOffset,\n TuiInjectionTokenType,\n tuiIsFirefox,\n} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW, TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\nimport {TUI_SCROLLBAR_OPTIONS, TuiScrollbarOptions} from './scrollbar.options';\n\n// TODO: Remove all legacy code in 4.0\n@Component({\n selector: 'tui-scrollbar',\n templateUrl: './scrollbar.template.html',\n styleUrls: ['./scrollbar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: ({\n browserScrollRef,\n }: TuiScrollbarComponent): ElementRef<HTMLElement> => browserScrollRef,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n private readonly isLegacy: boolean =\n !this.cssRef.supports('position', 'sticky') ||\n (tuiIsFirefox(this.userAgent) &&\n !this.cssRef.supports('scrollbar-width', 'none'));\n\n @Input()\n hidden = false;\n\n readonly browserScrollRef = new ElementRef(this.el.nativeElement);\n\n constructor(\n @Inject(CSS_TOKEN)\n private readonly cssRef: TuiInjectionTokenType<typeof CSS_TOKEN>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n @Inject(TUI_SCROLLBAR_OPTIONS) readonly options: TuiScrollbarOptions,\n ) {}\n\n get delegated(): boolean {\n return this.browserScrollRef.nativeElement !== this.el.nativeElement;\n }\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);\n }\n\n @HostBinding('class._legacy')\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.delegated;\n }\n\n @HostListener(`${TUI_SCROLLABLE}.stop`, ['$event.detail'])\n onScrollable(element: HTMLElement): void {\n this.browserScrollRef.nativeElement = element;\n }\n\n @HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, ['$event.detail'])\n scrollIntoView(detail: HTMLElement): void {\n if (this.delegated) {\n return;\n }\n\n const {nativeElement} = this.browserScrollRef;\n const {offsetTop, offsetLeft} = tuiGetElementOffset(nativeElement, detail);\n const {clientHeight, clientWidth} = nativeElement;\n const {offsetHeight, offsetWidth} = detail;\n const scrollTop = offsetTop + offsetHeight / 2 - clientHeight / 2;\n const scrollLeft = offsetLeft + offsetWidth / 2 - clientWidth / 2;\n\n // ?. for our clients on Windows XP and Chrome 49\n nativeElement.scrollTo?.(scrollLeft, scrollTop);\n }\n}\n","<tui-scroll-controls\n *ngIf=\"showScrollbars\"\n class=\"t-bars\"\n [class.t-hover-mode]=\"options.mode === 'hover'\"\n></tui-scroll-controls>\n<div\n class=\"t-content\"\n [class.t-content_delegated]=\"delegated\"\n>\n <ng-content></ng-content>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/cdk';\n\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CSS_TOKEN"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-tokens.js","sources":["../../../projects/core/tokens/reduced-motion.ts","../../../projects/core/tokens/animations-duration.ts","../../../projects/core/tokens/animation-options.ts","../../../projects/core/tokens/assert-enabled.ts","../../../projects/core/tokens/common-icon.ts","../../../projects/core/tokens/data-list-accessor.ts","../../../projects/core/tokens/data-list-host.ts","../../../projects/core/tokens/day-type-handler.ts","../../../projects/core/tokens/document-or-shadow-root.ts","../../../projects/core/tokens/element-ref.ts","../../../projects/core/tokens/first-day-of-week.ts","../../../projects/core/tokens/i18n.ts","../../../projects/core/tokens/icon-place.ts","../../../projects/core/tokens/icons.ts","../../../projects/core/tokens/icons-path.ts","../../../projects/core/tokens/media.ts","../../../projects/core/tokens/is-mobile-resolution.ts","../../../projects/core/tokens/legacy-mask.ts","../../../projects/core/tokens/mode.ts","../../../projects/core/tokens/notification-options.ts","../../../projects/core/tokens/number-format.ts","../../../projects/core/tokens/number-format-observable.ts","../../../projects/core/tokens/option-content.ts","../../../projects/core/tokens/ordered-short-week-days.ts","../../../projects/core/tokens/sanitizer.ts","../../../projects/core/tokens/scroll-ref.ts","../../../projects/core/tokens/selection-stream.ts","../../../projects/core/tokens/spin-icons.ts","../../../projects/core/tokens/svg-content-processor.ts","../../../projects/core/tokens/svg-src-processor.ts","../../../projects/core/tokens/textfield-appearance.ts","../../../projects/core/tokens/textfield-host.ts","../../../projects/core/tokens/theme.ts","../../../projects/core/tokens/value-accessor.ts","../../../projects/core/tokens/viewport.ts","../../../projects/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\nexport const TUI_REDUCED_MOTION = tuiCreateTokenFromFactory(\n () =>\n inject(DOCUMENT).defaultView?.matchMedia?.('(prefers-reduced-motion: reduce)')\n .matches ?? false,\n);\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\nimport {TUI_REDUCED_MOTION} from './reduced-motion';\n\nexport const TUI_ANIMATIONS_DEFAULT_DURATION = 300;\n\n/**\n * Duration of all Taiga UI animations in ms\n */\nexport const TUI_ANIMATIONS_DURATION = tuiCreateTokenFromFactory<number>(() =>\n inject(TUI_REDUCED_MOTION) ? 0 : TUI_ANIMATIONS_DEFAULT_DURATION,\n);\n","import {AnimationOptions} from '@angular/animations';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\nimport {TUI_ANIMATIONS_DURATION} from './animations-duration';\n\n/**\n * Options for Taiga UI animations\n */\nexport const TUI_ANIMATION_OPTIONS = tuiCreateTokenFromFactory<AnimationOptions>(() => ({\n value: '',\n params: {\n duration: inject(TUI_ANIMATIONS_DURATION),\n },\n}));\n","import {isDevMode} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\n/**\n * @deprecated:\n * Flag to enable assertions across Taiga UI\n *\n * The current token no longer matters as\n * it will not be provided in production\n */\nexport const TUI_ASSERT_ENABLED = tuiCreateTokenFromFactory(() => isDevMode());\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\n\nconst COMMON_ICONS: TuiCommonIcons = {\n check: 'tuiIconCheck',\n close: 'tuiIconClose',\n error: 'tuiIconAlertCircle',\n more: 'tuiIconChevronRight',\n};\n\nexport interface TuiCommonIcons {\n readonly check: string;\n readonly close: string;\n readonly error: string;\n readonly more: string;\n}\n\nexport const TUI_COMMON_ICONS = tuiCreateToken(COMMON_ICONS);\n\nexport function tuiCommonIconsProvider(icons: Partial<TuiCommonIcons>): Provider {\n return tuiProvideOptions(TUI_COMMON_ICONS, icons, COMMON_ICONS);\n}\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\n\n/**\n * Accessor for data-list options\n */\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n '[TUI_DATA_LIST_ACCESSOR]',\n);\n\nexport function tuiAsDataListAccessor(useExisting: Type<TuiDataListAccessor>): Provider {\n return {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting,\n };\n}\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\n\n/**\n * DataList controller\n */\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<unknown>>(\n '[TUI_DATA_LIST_HOST]',\n);\n\nexport function tuiAsDataListHost(useExisting: Type<TuiDataListHost<unknown>>): Provider {\n return {\n provide: TUI_DATA_LIST_HOST,\n useExisting,\n };\n}\n","import {tuiCreateToken, TuiDay, TuiHandler} from '@taiga-ui/cdk';\n\n/**\n * Token for adding data-type attribute to calendar cell\n */\nexport const TUI_DAY_TYPE_HANDLER = tuiCreateToken<TuiHandler<TuiDay, string>>(day =>\n day.isWeekend ? 'weekend' : 'weekday',\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOCUMENT_OR_SHADOW_ROOT = new InjectionToken<DocumentOrShadowRoot>(\n '[TUI_DOCUMENT_OR_SHADOW_ROOT]',\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\n/**\n * ElementRef when you cannot use @Input for single time injection\n */\nexport const TUI_ELEMENT_REF = new InjectionToken<ElementRef>('[TUI_ELEMENT_REF]');\n","import {tuiCreateToken, TuiDayOfWeek} from '@taiga-ui/cdk';\n\n/**\n * The first day of the week index\n */\nexport const TUI_FIRST_DAY_OF_WEEK = tuiCreateToken<TuiDayOfWeek>(TuiDayOfWeek.Monday);\n","import {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\nimport {tuiExtractI18n} from '@taiga-ui/i18n';\n\n/**\n * Localized months names\n */\nexport const TUI_MONTHS = tuiCreateTokenFromFactory(tuiExtractI18n('months'));\n\n/**\n * i18n 'close' word\n */\nexport const TUI_CLOSE_WORD = tuiCreateTokenFromFactory(tuiExtractI18n('close'));\n\n/**\n * i18n 'Nothing found' message\n */\nexport const TUI_NOTHING_FOUND_MESSAGE = tuiCreateTokenFromFactory(\n tuiExtractI18n('nothingFoundMessage'),\n);\n\n/**\n * i18n of error message\n */\nexport const TUI_DEFAULT_ERROR_MESSAGE = tuiCreateTokenFromFactory(\n tuiExtractI18n('defaultErrorMessage'),\n);\n\n/**\n * spin i18n texts\n */\nexport const TUI_SPIN_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n('spinTexts'));\n\n/**\n * calendars i18n texts\n */\nexport const TUI_SHORT_WEEK_DAYS = tuiCreateTokenFromFactory(\n tuiExtractI18n('shortWeekDays'),\n);\n","import {InjectionToken} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\n\nexport const TUI_DEFAULT_ICONS_PLACE = 'assets/taiga-ui/icons' as const;\n\n/**\n * Path to icons\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PLACE: InjectionToken<string> = tuiCreateToken<string>(\n TUI_DEFAULT_ICONS_PLACE,\n);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * A key/value dictionary of icon names and src to be defined with TuiSvgService\n */\nexport const TUI_ICONS = tuiCreateToken<Record<string, string>>({});\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\n\nimport {TUI_ICONS_PLACE} from './icon-place';\n\n/**\n * A handler to retrieve USE id for icon by name\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PATH = tuiCreateTokenFromFactory(() =>\n tuiIconsPathFactory(inject(TUI_ICONS_PLACE)),\n);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\n\n/**\n * Token for media constant\n */\nexport const TUI_MEDIA = tuiCreateToken<TuiMedia>({\n mobile: 768,\n desktopSmall: 1024,\n desktopLarge: 1280,\n});\n","import {inject, NgZone} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiCreateTokenFromFactory,\n tuiTypedFromEvent,\n tuiZoneOptimized,\n} from '@taiga-ui/cdk';\nimport {tuiIsMobile} from '@taiga-ui/core/utils';\nimport {distinctUntilChanged, map, share, startWith} from 'rxjs/operators';\n\nimport {TUI_MEDIA} from './media';\n\n/**\n * @deprecated use {@link https://taiga-ui.dev/services/breakpoint-service TuiBreakpointService}\n * TODO: drop in v4.0\n * Mobile resolution stream for private providers\n */\nexport const TUI_IS_MOBILE_RES = tuiCreateTokenFromFactory(() => {\n const win = inject(WINDOW);\n const media = inject(TUI_MEDIA);\n\n return tuiTypedFromEvent(win, 'resize').pipe(\n share(),\n startWith(null),\n map(() => tuiIsMobile(win, media)),\n distinctUntilChanged(),\n tuiZoneOptimized(inject(NgZone)),\n );\n});\n","import {InjectionToken} from '@angular/core';\n\n/**\n * @internal\n * @deprecated\n * Don't use it! Will be removed after changing the mask.\n */\nexport const TUI_LEGACY_MASK = new InjectionToken('[TUI_LEGACY_MASK]');\n","import {InjectionToken} from '@angular/core';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\n/**\n * Mode stream for private providers\n */\nexport const TUI_MODE: InjectionToken<Observable<TuiBrightness | null>> =\n new InjectionToken<Observable<TuiBrightness | null>>('[TUI_MODE]');\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiNotificationDefaultOptions\n extends Omit<TuiAlertOptions<unknown>, 'data'> {\n size: TuiSizeL | TuiSizeS;\n}\n\n/** @deprecated remove export */\nexport const STATUS_ICON = {\n info: 'tuiIconInfo',\n success: 'tuiIconCheckCircle',\n error: 'tuiIconXCircle',\n warning: 'tuiIconAlertCircle',\n neutral: 'tuiIconInfo',\n} as const;\n\n/** Default values for the notification options. */\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: TuiNotificationDefaultOptions = {\n autoClose: 3000,\n label: '',\n status: 'info',\n hasCloseButton: true,\n icon: ({$implicit}) => STATUS_ICON[$implicit],\n size: 'm',\n hasIcon: true,\n defaultAutoCloseTime: 3000,\n};\n\n/**\n * Default parameters for notification alert component\n */\nexport const TUI_NOTIFICATION_OPTIONS = tuiCreateToken(TUI_NOTIFICATION_DEFAULT_OPTIONS);\n\nexport function tuiNotificationOptionsProvider(\n options: Partial<TuiNotificationDefaultOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_NOTIFICATION_OPTIONS,\n options,\n TUI_NOTIFICATION_DEFAULT_OPTIONS,\n );\n}\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_NUMBER_FORMAT} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport const TUI_NUMBER_FORMAT = tuiCreateToken(TUI_DEFAULT_NUMBER_FORMAT);\n\nexport function tuiNumberFormatProvider(\n options: Partial<TuiNumberFormatSettings>,\n): Provider {\n return tuiProvideOptions(TUI_NUMBER_FORMAT, options, TUI_DEFAULT_NUMBER_FORMAT);\n}\n","import {InjectionToken} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_NUMBER_FORMAT} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\nimport {Observable, of} from 'rxjs';\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport const TUI_NUMBER_FORMAT_OBSERVABLE: InjectionToken<\n Observable<TuiNumberFormatSettings>\n> = tuiCreateToken(of({...TUI_DEFAULT_NUMBER_FORMAT, decimalLimit: NaN}));\n","import {InjectionToken, Provider, TemplateRef} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Content for tuiOption component\n */\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>>\n>('[TUI_OPTION_CONTENT]');\n\nexport function tuiAsOptionContent(\n useValue: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n >,\n): Provider {\n return {\n provide: TUI_OPTION_CONTENT,\n useValue,\n };\n}\n","/**\n * TODO: v4.0 delete the whole file\n */\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_FIRST_DAY_OF_WEEK} from './first-day-of-week';\nimport {TUI_SHORT_WEEK_DAYS} from './i18n';\n\nconst convertToSundayFirstWeekFormat = (\n weekDaysNames: WEEK_DAYS_NAMES,\n): WEEK_DAYS_NAMES => {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [\n weekDaysNames[sundayIndex],\n ...weekDaysNames.slice(0, sundayIndex),\n ] as WEEK_DAYS_NAMES;\n};\n\n/**\n * @deprecated\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport type WEEK_DAYS_NAMES = [string, string, string, string, string, string, string];\n\n/**\n * Ordered calendars i18n texts\n * @deprecated\n */\nexport const TUI_ORDERED_SHORT_WEEK_DAYS = tuiCreateTokenFromFactory(() => {\n const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n return inject(TUI_SHORT_WEEK_DAYS).pipe(\n map(convertToSundayFirstWeekFormat),\n map(\n weekDays =>\n [\n ...weekDays.slice(firstDayOfWeekIndex),\n ...weekDays.slice(0, firstDayOfWeekIndex),\n ] as WEEK_DAYS_NAMES,\n ),\n );\n});\n","import {InjectionToken, Sanitizer} from '@angular/core';\n\n/**\n * A custom Sanitizer to sanitize source before inlining\n */\nexport const TUI_SANITIZER = new InjectionToken<Sanitizer>('[TUI_SANITIZER]');\n","import {TUI_SCROLL_REF as TOKEN} from '@taiga-ui/cdk';\n\n/**\n * @deprecated import from `@taiga-ui/cdk` instead\n */\nexport const TUI_SCROLL_REF = TOKEN;\n","import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory, tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {share, switchMap, takeUntil} from 'rxjs/operators';\n\n/**\n * A stream of possible selection changes\n */\nexport const TUI_SELECTION_STREAM = tuiCreateTokenFromFactory<Observable<unknown>>(() => {\n const doc = inject(DOCUMENT);\n\n return merge(\n tuiTypedFromEvent(doc, 'selectionchange'),\n tuiTypedFromEvent(doc, 'mouseup'),\n tuiTypedFromEvent(doc, 'mousedown').pipe(\n switchMap(() =>\n tuiTypedFromEvent(doc, 'mousemove').pipe(\n takeUntil(tuiTypedFromEvent(doc, 'mouseup')),\n ),\n ),\n ),\n tuiTypedFromEvent(doc, 'keydown'),\n tuiTypedFromEvent(doc, 'keyup'),\n ).pipe(share());\n});\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiSpinIcons {\n readonly decrement: PolymorpheusContent;\n readonly increment: PolymorpheusContent;\n}\n\nexport const TUI_SPIN_ICONS = tuiCreateToken<TuiSpinIcons>({\n decrement: 'tuiIconChevronLeft',\n increment: 'tuiIconChevronRight',\n});\n","import {\n tuiCreateToken,\n TuiHandler,\n TuiSafeHtml,\n tuiSvgLinearGradientProcessor,\n} from '@taiga-ui/cdk';\n\n/**\n * Transform function the contents of the loaded svg file\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_CONTENT_PROCESSOR = tuiCreateToken<\n TuiHandler<TuiSafeHtml, TuiSafeHtml>\n>(tuiSvgLinearGradientProcessor);\n","import {tuiCreateToken, TuiHandler, TuiSafeHtml} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\n/**\n * Source path processor for svg\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_SRC_PROCESSOR =\n tuiCreateToken<TuiHandler<TuiSafeHtml, TuiSafeHtml>>(identity);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\n\n/**\n * Appearance for inputs\n * @deprecated use {@link TUI_TEXTFIELD_APPEARANCE_DIRECTIVE} instead\n * TODO: Remove in 4.0\n */\nexport const TUI_TEXTFIELD_APPEARANCE = tuiCreateToken<string>(TuiAppearance.Textfield);\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\n\n/**\n * An interface to communicate with textfield based controls\n */\nexport const TUI_TEXTFIELD_HOST = new InjectionToken<TuiTextfieldHost>(\n '[TUI_TEXTFIELD_HOST]',\n);\n\nexport function tuiAsTextfieldHost(useExisting: Type<TuiTextfieldHost>): Provider {\n return {\n provide: TUI_TEXTFIELD_HOST,\n useExisting,\n };\n}\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\nexport const TUI_THEME = tuiCreateToken('Taiga');\n","import {InjectionToken} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\n\n/**\n * Buffer token to pass NG_VALUE_ACCESSOR to a different Injector\n */\nexport const TUI_VALUE_ACCESSOR = new InjectionToken<ControlValueAccessor>(\n '[TUI_VALUE_ACCESSOR]',\n);\n","import {inject, Provider, Type} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n/**\n * Viewport accessor\n */\nexport const TUI_VIEWPORT = tuiCreateTokenFromFactory<TuiRectAccessor>(() => {\n const win = inject(WINDOW);\n\n return {\n type: 'viewport',\n getClientRect() {\n return {\n top: 0,\n left: 0,\n right: win.innerWidth,\n bottom: win.innerHeight,\n width: win.innerWidth,\n height: win.innerHeight,\n };\n },\n };\n});\n\nexport function tuiAsViewport(useExisting: Type<TuiRectAccessor>): Provider {\n return {\n provide: TUI_VIEWPORT,\n useExisting,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TOKEN"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-tokens.js","sources":["../../../projects/core/tokens/reduced-motion.ts","../../../projects/core/tokens/animations-duration.ts","../../../projects/core/tokens/animation-options.ts","../../../projects/core/tokens/assert-enabled.ts","../../../projects/core/tokens/common-icon.ts","../../../projects/core/tokens/data-list-accessor.ts","../../../projects/core/tokens/data-list-host.ts","../../../projects/core/tokens/day-type-handler.ts","../../../projects/core/tokens/document-or-shadow-root.ts","../../../projects/core/tokens/element-ref.ts","../../../projects/core/tokens/first-day-of-week.ts","../../../projects/core/tokens/i18n.ts","../../../projects/core/tokens/icon-place.ts","../../../projects/core/tokens/icons.ts","../../../projects/core/tokens/icons-path.ts","../../../projects/core/tokens/media.ts","../../../projects/core/tokens/is-mobile-resolution.ts","../../../projects/core/tokens/legacy-mask.ts","../../../projects/core/tokens/mode.ts","../../../projects/core/tokens/notification-options.ts","../../../projects/core/tokens/number-format.ts","../../../projects/core/tokens/number-format-observable.ts","../../../projects/core/tokens/option-content.ts","../../../projects/core/tokens/ordered-short-week-days.ts","../../../projects/core/tokens/sanitizer.ts","../../../projects/core/tokens/scroll-ref.ts","../../../projects/core/tokens/selection-stream.ts","../../../projects/core/tokens/spin-icons.ts","../../../projects/core/tokens/svg-content-processor.ts","../../../projects/core/tokens/svg-src-processor.ts","../../../projects/core/tokens/textfield-appearance.ts","../../../projects/core/tokens/textfield-host.ts","../../../projects/core/tokens/theme.ts","../../../projects/core/tokens/value-accessor.ts","../../../projects/core/tokens/viewport.ts","../../../projects/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\nexport const TUI_REDUCED_MOTION = tuiCreateTokenFromFactory(\n () =>\n inject(DOCUMENT).defaultView?.matchMedia?.('(prefers-reduced-motion: reduce)')\n .matches ?? false,\n);\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\nimport {TUI_REDUCED_MOTION} from './reduced-motion';\n\nexport const TUI_ANIMATIONS_DEFAULT_DURATION = 300;\n\n/**\n * Duration of all Taiga UI animations in ms\n */\nexport const TUI_ANIMATIONS_DURATION = tuiCreateTokenFromFactory<number>(() =>\n inject(TUI_REDUCED_MOTION) ? 0 : TUI_ANIMATIONS_DEFAULT_DURATION,\n);\n","import {AnimationOptions} from '@angular/animations';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\nimport {TUI_ANIMATIONS_DURATION} from './animations-duration';\n\n/**\n * Options for Taiga UI animations\n */\nexport const TUI_ANIMATION_OPTIONS = tuiCreateTokenFromFactory<AnimationOptions>(() => ({\n value: '',\n params: {\n duration: inject(TUI_ANIMATIONS_DURATION),\n },\n}));\n","import {isDevMode} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\n/**\n * @deprecated:\n * Flag to enable assertions across Taiga UI\n *\n * The current token no longer matters as\n * it will not be provided in production\n */\nexport const TUI_ASSERT_ENABLED = tuiCreateTokenFromFactory(() => isDevMode());\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\n\nconst COMMON_ICONS: TuiCommonIcons = {\n check: 'tuiIconCheck',\n close: 'tuiIconClose',\n error: 'tuiIconAlertCircle',\n more: 'tuiIconChevronRight',\n};\n\nexport interface TuiCommonIcons {\n readonly check: string;\n readonly close: string;\n readonly error: string;\n readonly more: string;\n}\n\nexport const TUI_COMMON_ICONS = tuiCreateToken(COMMON_ICONS);\n\nexport function tuiCommonIconsProvider(icons: Partial<TuiCommonIcons>): Provider {\n return tuiProvideOptions(TUI_COMMON_ICONS, icons, COMMON_ICONS);\n}\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\n\n/**\n * Accessor for data-list options\n */\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n '[TUI_DATA_LIST_ACCESSOR]',\n);\n\nexport function tuiAsDataListAccessor(useExisting: Type<TuiDataListAccessor>): Provider {\n return {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting,\n };\n}\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\n\n/**\n * DataList controller\n */\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<unknown>>(\n '[TUI_DATA_LIST_HOST]',\n);\n\nexport function tuiAsDataListHost<T>(useExisting: Type<TuiDataListHost<T>>): Provider {\n return {\n provide: TUI_DATA_LIST_HOST,\n useExisting,\n };\n}\n","import {tuiCreateToken, TuiDay, TuiHandler} from '@taiga-ui/cdk';\n\n/**\n * Token for adding data-type attribute to calendar cell\n */\nexport const TUI_DAY_TYPE_HANDLER = tuiCreateToken<TuiHandler<TuiDay, string>>(day =>\n day.isWeekend ? 'weekend' : 'weekday',\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOCUMENT_OR_SHADOW_ROOT = new InjectionToken<DocumentOrShadowRoot>(\n '[TUI_DOCUMENT_OR_SHADOW_ROOT]',\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\n/**\n * ElementRef when you cannot use @Input for single time injection\n */\nexport const TUI_ELEMENT_REF = new InjectionToken<ElementRef>('[TUI_ELEMENT_REF]');\n","import {tuiCreateToken, TuiDayOfWeek} from '@taiga-ui/cdk';\n\n/**\n * The first day of the week index\n */\nexport const TUI_FIRST_DAY_OF_WEEK = tuiCreateToken<TuiDayOfWeek>(TuiDayOfWeek.Monday);\n","import {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\nimport {tuiExtractI18n} from '@taiga-ui/i18n';\n\n/**\n * Localized months names\n */\nexport const TUI_MONTHS = tuiCreateTokenFromFactory(tuiExtractI18n('months'));\n\n/**\n * i18n 'close' word\n */\nexport const TUI_CLOSE_WORD = tuiCreateTokenFromFactory(tuiExtractI18n('close'));\n\n/**\n * i18n 'Nothing found' message\n */\nexport const TUI_NOTHING_FOUND_MESSAGE = tuiCreateTokenFromFactory(\n tuiExtractI18n('nothingFoundMessage'),\n);\n\n/**\n * i18n of error message\n */\nexport const TUI_DEFAULT_ERROR_MESSAGE = tuiCreateTokenFromFactory(\n tuiExtractI18n('defaultErrorMessage'),\n);\n\n/**\n * spin i18n texts\n */\nexport const TUI_SPIN_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n('spinTexts'));\n\n/**\n * calendars i18n texts\n */\nexport const TUI_SHORT_WEEK_DAYS = tuiCreateTokenFromFactory(\n tuiExtractI18n('shortWeekDays'),\n);\n","import {InjectionToken} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\n\nexport const TUI_DEFAULT_ICONS_PLACE = 'assets/taiga-ui/icons' as const;\n\n/**\n * Path to icons\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PLACE: InjectionToken<string> = tuiCreateToken<string>(\n TUI_DEFAULT_ICONS_PLACE,\n);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * A key/value dictionary of icon names and src to be defined with TuiSvgService\n */\nexport const TUI_ICONS = tuiCreateToken<Record<string, string>>({});\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\n\nimport {TUI_ICONS_PLACE} from './icon-place';\n\n/**\n * A handler to retrieve USE id for icon by name\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PATH = tuiCreateTokenFromFactory(() =>\n tuiIconsPathFactory(inject(TUI_ICONS_PLACE)),\n);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\n\n/**\n * Token for media constant\n */\nexport const TUI_MEDIA = tuiCreateToken<TuiMedia>({\n mobile: 768,\n desktopSmall: 1024,\n desktopLarge: 1280,\n});\n","import {inject, NgZone} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiCreateTokenFromFactory,\n tuiTypedFromEvent,\n tuiZoneOptimized,\n} from '@taiga-ui/cdk';\nimport {tuiIsMobile} from '@taiga-ui/core/utils';\nimport {distinctUntilChanged, map, share, startWith} from 'rxjs/operators';\n\nimport {TUI_MEDIA} from './media';\n\n/**\n * @deprecated use {@link https://taiga-ui.dev/services/breakpoint-service TuiBreakpointService}\n * TODO: drop in v4.0\n * Mobile resolution stream for private providers\n */\nexport const TUI_IS_MOBILE_RES = tuiCreateTokenFromFactory(() => {\n const win = inject(WINDOW);\n const media = inject(TUI_MEDIA);\n\n return tuiTypedFromEvent(win, 'resize').pipe(\n share(),\n startWith(null),\n map(() => tuiIsMobile(win, media)),\n distinctUntilChanged(),\n tuiZoneOptimized(inject(NgZone)),\n );\n});\n","import {InjectionToken} from '@angular/core';\n\n/**\n * @internal\n * @deprecated\n * Don't use it! Will be removed after changing the mask.\n */\nexport const TUI_LEGACY_MASK = new InjectionToken('[TUI_LEGACY_MASK]');\n","import {InjectionToken} from '@angular/core';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\n/**\n * Mode stream for private providers\n */\nexport const TUI_MODE: InjectionToken<Observable<TuiBrightness | null>> =\n new InjectionToken<Observable<TuiBrightness | null>>('[TUI_MODE]');\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiNotificationDefaultOptions\n extends Omit<TuiAlertOptions<unknown>, 'data'> {\n size: TuiSizeL | TuiSizeS;\n}\n\n/** @deprecated remove export */\nexport const STATUS_ICON = {\n info: 'tuiIconInfo',\n success: 'tuiIconCheckCircle',\n error: 'tuiIconXCircle',\n warning: 'tuiIconAlertCircle',\n neutral: 'tuiIconInfo',\n} as const;\n\n/** Default values for the notification options. */\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: TuiNotificationDefaultOptions = {\n autoClose: 3000,\n label: '',\n status: 'info',\n hasCloseButton: true,\n icon: ({$implicit}) => STATUS_ICON[$implicit],\n size: 'm',\n hasIcon: true,\n defaultAutoCloseTime: 3000,\n};\n\n/**\n * Default parameters for notification alert component\n */\nexport const TUI_NOTIFICATION_OPTIONS = tuiCreateToken(TUI_NOTIFICATION_DEFAULT_OPTIONS);\n\nexport function tuiNotificationOptionsProvider(\n options: Partial<TuiNotificationDefaultOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_NOTIFICATION_OPTIONS,\n options,\n TUI_NOTIFICATION_DEFAULT_OPTIONS,\n );\n}\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_NUMBER_FORMAT} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport const TUI_NUMBER_FORMAT = tuiCreateToken(TUI_DEFAULT_NUMBER_FORMAT);\n\nexport function tuiNumberFormatProvider(\n options: Partial<TuiNumberFormatSettings>,\n): Provider {\n return tuiProvideOptions(TUI_NUMBER_FORMAT, options, TUI_DEFAULT_NUMBER_FORMAT);\n}\n","import {InjectionToken} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_NUMBER_FORMAT} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\nimport {Observable, of} from 'rxjs';\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport const TUI_NUMBER_FORMAT_OBSERVABLE: InjectionToken<\n Observable<TuiNumberFormatSettings>\n> = tuiCreateToken(of({...TUI_DEFAULT_NUMBER_FORMAT, decimalLimit: NaN}));\n","import {InjectionToken, Provider, TemplateRef} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Content for tuiOption component\n */\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>>\n>('[TUI_OPTION_CONTENT]');\n\nexport function tuiAsOptionContent(\n useValue: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n >,\n): Provider {\n return {\n provide: TUI_OPTION_CONTENT,\n useValue,\n };\n}\n","/**\n * TODO: v4.0 delete the whole file\n */\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_FIRST_DAY_OF_WEEK} from './first-day-of-week';\nimport {TUI_SHORT_WEEK_DAYS} from './i18n';\n\nconst convertToSundayFirstWeekFormat = (\n weekDaysNames: WEEK_DAYS_NAMES,\n): WEEK_DAYS_NAMES => {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [\n weekDaysNames[sundayIndex],\n ...weekDaysNames.slice(0, sundayIndex),\n ] as WEEK_DAYS_NAMES;\n};\n\n/**\n * @deprecated\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport type WEEK_DAYS_NAMES = [string, string, string, string, string, string, string];\n\n/**\n * Ordered calendars i18n texts\n * @deprecated\n */\nexport const TUI_ORDERED_SHORT_WEEK_DAYS = tuiCreateTokenFromFactory(() => {\n const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n return inject(TUI_SHORT_WEEK_DAYS).pipe(\n map(convertToSundayFirstWeekFormat),\n map(\n weekDays =>\n [\n ...weekDays.slice(firstDayOfWeekIndex),\n ...weekDays.slice(0, firstDayOfWeekIndex),\n ] as WEEK_DAYS_NAMES,\n ),\n );\n});\n","import {InjectionToken, Sanitizer} from '@angular/core';\n\n/**\n * A custom Sanitizer to sanitize source before inlining\n */\nexport const TUI_SANITIZER = new InjectionToken<Sanitizer>('[TUI_SANITIZER]');\n","import {TUI_SCROLL_REF as TOKEN} from '@taiga-ui/cdk';\n\n/**\n * @deprecated import from `@taiga-ui/cdk` instead\n */\nexport const TUI_SCROLL_REF = TOKEN;\n","import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory, tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {share, switchMap, takeUntil} from 'rxjs/operators';\n\n/**\n * A stream of possible selection changes\n */\nexport const TUI_SELECTION_STREAM = tuiCreateTokenFromFactory<Observable<unknown>>(() => {\n const doc = inject(DOCUMENT);\n\n return merge(\n tuiTypedFromEvent(doc, 'selectionchange'),\n tuiTypedFromEvent(doc, 'mouseup'),\n tuiTypedFromEvent(doc, 'mousedown').pipe(\n switchMap(() =>\n tuiTypedFromEvent(doc, 'mousemove').pipe(\n takeUntil(tuiTypedFromEvent(doc, 'mouseup')),\n ),\n ),\n ),\n tuiTypedFromEvent(doc, 'keydown'),\n tuiTypedFromEvent(doc, 'keyup'),\n ).pipe(share());\n});\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiSpinIcons {\n readonly decrement: PolymorpheusContent;\n readonly increment: PolymorpheusContent;\n}\n\nexport const TUI_SPIN_ICONS = tuiCreateToken<TuiSpinIcons>({\n decrement: 'tuiIconChevronLeft',\n increment: 'tuiIconChevronRight',\n});\n","import {\n tuiCreateToken,\n TuiHandler,\n TuiSafeHtml,\n tuiSvgLinearGradientProcessor,\n} from '@taiga-ui/cdk';\n\n/**\n * Transform function the contents of the loaded svg file\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_CONTENT_PROCESSOR = tuiCreateToken<\n TuiHandler<TuiSafeHtml, TuiSafeHtml>\n>(tuiSvgLinearGradientProcessor);\n","import {tuiCreateToken, TuiHandler, TuiSafeHtml} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\n/**\n * Source path processor for svg\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_SRC_PROCESSOR =\n tuiCreateToken<TuiHandler<TuiSafeHtml, TuiSafeHtml>>(identity);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\n\n/**\n * Appearance for inputs\n * @deprecated use {@link TUI_TEXTFIELD_APPEARANCE_DIRECTIVE} instead\n * TODO: Remove in 4.0\n */\nexport const TUI_TEXTFIELD_APPEARANCE = tuiCreateToken<string>(TuiAppearance.Textfield);\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\n\n/**\n * An interface to communicate with textfield based controls\n */\nexport const TUI_TEXTFIELD_HOST = new InjectionToken<TuiTextfieldHost>(\n '[TUI_TEXTFIELD_HOST]',\n);\n\nexport function tuiAsTextfieldHost(useExisting: Type<TuiTextfieldHost>): Provider {\n return {\n provide: TUI_TEXTFIELD_HOST,\n useExisting,\n };\n}\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\nexport const TUI_THEME = tuiCreateToken('Taiga');\n","import {InjectionToken} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\n\n/**\n * Buffer token to pass NG_VALUE_ACCESSOR to a different Injector\n */\nexport const TUI_VALUE_ACCESSOR = new InjectionToken<ControlValueAccessor>(\n '[TUI_VALUE_ACCESSOR]',\n);\n","import {inject, Provider, Type} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n/**\n * Viewport accessor\n */\nexport const TUI_VIEWPORT = tuiCreateTokenFromFactory<TuiRectAccessor>(() => {\n const win = inject(WINDOW);\n\n return {\n type: 'viewport',\n getClientRect() {\n return {\n top: 0,\n left: 0,\n right: win.innerWidth,\n bottom: win.innerHeight,\n width: win.innerWidth,\n height: win.innerHeight,\n };\n },\n };\n});\n\nexport function tuiAsViewport(useExisting: Type<TuiRectAccessor>): Provider {\n return {\n provide: TUI_VIEWPORT,\n useExisting,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TOKEN"],"mappings":"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"}
package/package.json CHANGED
@@ -1,44 +1,44 @@
1
1
  {
2
- "name": "@taiga-ui/core",
3
- "version": "3.88.0",
4
- "description": "Core library for creating Angular components and applications using Taiga UI",
5
- "keywords": [
6
- "angular",
7
- "kit",
8
- "ui",
9
- "component-library",
10
- "component",
11
- "service",
12
- "directive"
13
- ],
14
- "homepage": "https://github.com/taiga-family/taiga-ui",
15
- "repository": "https://github.com/taiga-family/taiga-ui",
16
- "license": "Apache-2.0",
17
- "dependencies": {
18
- "@taiga-ui/i18n": "^3.88.0",
19
- "tslib": "^2.6.2"
20
- },
21
- "peerDependencies": {
22
- "@angular/animations": ">=12.0.0",
23
- "@angular/common": ">=12.0.0",
24
- "@angular/core": ">=12.0.0",
25
- "@angular/forms": ">=12.0.0",
26
- "@angular/platform-browser": ">=12.0.0",
27
- "@angular/router": ">=12.0.0",
28
- "@ng-web-apis/common": "^3.0.6",
29
- "@ng-web-apis/mutation-observer": "^3.1.0",
30
- "@taiga-ui/cdk": "^3.88.0",
31
- "@taiga-ui/i18n": "^3.88.0",
32
- "@tinkoff/ng-event-plugins": "^3.2.0",
33
- "@tinkoff/ng-polymorpheus": "^4.3.0",
34
- "rxjs": ">=6.0.0"
35
- },
36
- "schematics": "./schematics/collection.json",
37
- "main": "bundles/taiga-ui-core.umd.js",
38
- "module": "fesm2015/taiga-ui-core.js",
39
- "es2015": "fesm2015/taiga-ui-core.js",
40
- "esm2015": "esm2015/taiga-ui-core.js",
41
- "fesm2015": "fesm2015/taiga-ui-core.js",
42
- "typings": "taiga-ui-core.d.ts",
43
- "sideEffects": false
2
+ "name": "@taiga-ui/core",
3
+ "version": "3.89.0-canary.301953f",
4
+ "description": "Core library for creating Angular components and applications using Taiga UI",
5
+ "keywords": [
6
+ "angular",
7
+ "kit",
8
+ "ui",
9
+ "component-library",
10
+ "component",
11
+ "service",
12
+ "directive"
13
+ ],
14
+ "homepage": "https://github.com/taiga-family/taiga-ui",
15
+ "repository": "https://github.com/taiga-family/taiga-ui",
16
+ "license": "Apache-2.0",
17
+ "dependencies": {
18
+ "@taiga-ui/i18n": "^3.89.0-canary.301953f",
19
+ "tslib": "^2.6.2"
20
+ },
21
+ "peerDependencies": {
22
+ "@angular/animations": ">=12.0.0",
23
+ "@angular/common": ">=12.0.0",
24
+ "@angular/core": ">=12.0.0",
25
+ "@angular/forms": ">=12.0.0",
26
+ "@angular/platform-browser": ">=12.0.0",
27
+ "@angular/router": ">=12.0.0",
28
+ "@ng-web-apis/common": "^3.0.6",
29
+ "@ng-web-apis/mutation-observer": "^3.1.0",
30
+ "@taiga-ui/cdk": "^3.89.0-canary.301953f",
31
+ "@taiga-ui/i18n": "^3.89.0-canary.301953f",
32
+ "@tinkoff/ng-event-plugins": "^3.2.0",
33
+ "@tinkoff/ng-polymorpheus": "^4.3.0",
34
+ "rxjs": ">=6.0.0"
35
+ },
36
+ "schematics": "./schematics/collection.json",
37
+ "main": "bundles/taiga-ui-core.umd.js",
38
+ "module": "fesm2015/taiga-ui-core.js",
39
+ "es2015": "fesm2015/taiga-ui-core.js",
40
+ "esm2015": "esm2015/taiga-ui-core.js",
41
+ "fesm2015": "fesm2015/taiga-ui-core.js",
42
+ "typings": "taiga-ui-core.d.ts",
43
+ "sideEffects": false
44
44
  }