@taiga-ui/legacy 4.8.1 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/components/color-selector/color-selector.options.d.ts +2 -3
  2. package/components/input/input.module.d.ts +2 -1
  3. package/components/input-month-range/input-month-range.directive.d.ts +1 -1
  4. package/components/input-number/input-number.component.d.ts +1 -2
  5. package/components/sheet/sheet-tokens.d.ts +3 -4
  6. package/components/svg/svg-options.d.ts +2 -3
  7. package/directives/textfield-controller/textfield-controller.provider.d.ts +1 -2
  8. package/esm2022/components/color-selector/color-selector.options.mjs +5 -5
  9. package/esm2022/components/input/input.component.mjs +3 -2
  10. package/esm2022/components/input/input.module.mjs +12 -4
  11. package/esm2022/components/input-month-range/input-month-range.directive.mjs +2 -2
  12. package/esm2022/components/input-number/input-number.component.mjs +4 -4
  13. package/esm2022/components/input-tag/input-tag.component.mjs +3 -3
  14. package/esm2022/components/primitive-textfield/primitive-textfield.component.mjs +2 -2
  15. package/esm2022/components/sheet/sheet-tokens.mjs +5 -5
  16. package/esm2022/components/svg/svg-options.mjs +4 -4
  17. package/esm2022/directives/textfield-controller/textfield-controller.provider.mjs +4 -3
  18. package/esm2022/tokens/focusable-item-accessor.mjs +3 -4
  19. package/esm2022/tokens/fonts-ready.mjs +4 -5
  20. package/esm2022/tokens/month-formatter.mjs +3 -3
  21. package/esm2022/tokens/sanitizer.mjs +3 -3
  22. package/esm2022/tokens/textfield-host.mjs +3 -4
  23. package/esm2022/tokens/value-accessor.mjs +3 -3
  24. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +5 -4
  25. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +2 -2
  28. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +2 -2
  30. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-legacy-components-input.mjs +13 -5
  32. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +2 -2
  34. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-legacy-components-sheet.mjs +5 -5
  36. package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-legacy-components-svg.mjs +3 -3
  38. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +2 -2
  40. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-legacy-tokens.mjs +7 -9
  42. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +1 -1
  43. package/package.json +7 -7
  44. package/styles/mixins/textfield.less +1 -1
  45. package/styles/mixins/textfield.scss +1 -1
  46. package/tokens/focusable-item-accessor.d.ts +1 -2
  47. package/tokens/fonts-ready.d.ts +1 -2
  48. package/tokens/month-formatter.d.ts +1 -2
  49. package/tokens/sanitizer.d.ts +1 -2
  50. package/tokens/textfield-host.d.ts +1 -2
  51. package/tokens/value-accessor.d.ts +1 -2
  52. package/utils/icons-path-factory.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-primitive-textfield.mjs","sources":["../../../projects/legacy/components/primitive-textfield/value-decoration/value-decoration.component.ts","../../../projects/legacy/components/primitive-textfield/value-decoration/value-decoration.template.html","../../../projects/legacy/components/primitive-textfield/primitive-textfield.component.ts","../../../projects/legacy/components/primitive-textfield/primitive-textfield.template.html","../../../projects/legacy/components/primitive-textfield/primitive-textfield.directive.ts","../../../projects/legacy/components/primitive-textfield/textfield/textfield.component.ts","../../../projects/legacy/components/primitive-textfield/primitive-textfield.module.ts","../../../projects/legacy/components/primitive-textfield/primitive-textfield-options.ts","../../../projects/legacy/components/primitive-textfield/taiga-ui-legacy-components-primitive-textfield.ts"],"sourcesContent":["import type {DoCheck} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n ViewChild,\n} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_FONTS_READY} from '@taiga-ui/legacy/tokens';\nimport {BehaviorSubject, delay, distinctUntilChanged, filter, map, merge} from 'rxjs';\n\nimport type {TuiPrimitiveTextfield} from '../primitive-textfield-types';\n\n@Component({\n standalone: false,\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 host: {\n ngSkipHydration: 'true',\n '[class._table]': 'isContextTable',\n '[class._filler]': 'filler',\n '(animationstart)': 'ngDoCheck()',\n },\n})\nexport class TuiValueDecorationComponent implements DoCheck {\n @ViewChild('pre', {read: ElementRef, static: true})\n private readonly pre?: ElementRef<HTMLElement>;\n\n private readonly textfield = inject<TuiPrimitiveTextfield>(\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n );\n\n private readonly fontsReady$ = inject(TUI_FONTS_READY);\n\n private readonly prefix$ = new BehaviorSubject('');\n\n public 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 public ngDoCheck(): void {\n this.prefix$.next(this.prefix);\n }\n\n protected get isContextTable(): boolean {\n return this.textfield.appearance === 'table';\n }\n\n protected 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 protected get value(): string {\n return this.textfield.value;\n }\n\n protected get prefix(): string {\n return this.decorationsVisible ? this.textfield.prefix : '';\n }\n\n protected get postfix(): string {\n return this.decorationsVisible ? this.computedPostfix : '';\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 type {ElementRef, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement, tuiRetargetedBoundaryCrossing} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_TEXTFIELD_OPTIONS as OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {AbstractTuiInteractive} from '@taiga-ui/legacy/classes';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_OPTIONS as LEGACY_OPTIONS,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiGetBorder} from '@taiga-ui/legacy/utils';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport type {Observable} from 'rxjs';\nimport {fromEvent, map} from 'rxjs';\n\nimport type {TuiPrimitiveTextfield} from './primitive-textfield-types';\n\nexport const TUI_ICON_START_PADDINGS: Record<TuiSizeL | TuiSizeS, number> = {\n s: 1.25,\n m: 1.75,\n l: 2.25,\n};\n\n/**\n * @deprecated: use {@link TuiTextfield}\n * https://taiga-ui.dev/components/textfield\n */\n@Component({\n standalone: false,\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 ngSkipHydration: 'true',\n '[attr.data-size]': 'size',\n '[class._readonly]': 'readOnly',\n '[class._hidden]': 'inputHidden',\n '[class._invalid]': 'computedInvalid',\n '[class._autofilled]': 'autofilled',\n '[style.--border-start.rem]': 'borderStart',\n '[style.--border-end.rem]': 'borderEnd',\n '[class._label-outside]':\n 'options.appearance() === \"table\" || controller.labelOutside',\n '(focusin)': 'onFocused(true)',\n '(focusout)': 'onFocused(false)',\n '(transitionstart.capture)': 'transitionStartHandler($event)',\n },\n})\nexport class TuiPrimitiveTextfieldComponent\n extends AbstractTuiInteractive\n implements TuiPrimitiveTextfield\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n private readonly legacyOptions = inject(LEGACY_OPTIONS);\n private readonly el = tuiInjectElement();\n\n @ContentChildren(PolymorpheusOutlet, {descendants: true})\n protected readonly content?: QueryList<unknown>;\n\n protected readonly options = inject(OPTIONS);\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n protected autofilled = false;\n\n @Input()\n public editable = true;\n\n /**\n * @deprecated:\n * use `tuiTextfieldOptionsProvider({iconCleaner: `@tui.chevron-up`})`\n */\n @Input()\n public iconCleaner = this.legacyOptions.iconCleaner;\n\n @Input()\n public readOnly = false;\n\n @Input()\n public invalid = false;\n\n @Input()\n public disabled = false;\n\n @Input()\n public value = '';\n\n @Output()\n public readonly valueChange = new EventEmitter<string>();\n\n public get prefix(): string {\n return this.controller.prefix;\n }\n\n public get postfix(): string {\n return this.controller.postfix;\n }\n\n public get filler(): string {\n return this.controller.filler;\n }\n\n public 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 public get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el);\n }\n\n public get appearance(): string {\n return this.options.appearance() === 'table'\n ? 'table'\n : this.controller.appearance;\n }\n\n public onModelChange(value: string): void {\n this.updateValue(value);\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n protected get computedInvalid(): boolean {\n return !this.readOnly && !this.disabled && this.invalid;\n }\n\n protected get inputHidden(): boolean {\n return !!this.content?.length;\n }\n\n protected get borderStart(): number {\n return this.iconLeftContent ? this.iconPaddingLeft : 0;\n }\n\n protected 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 protected get hasValue(): boolean {\n return !!this.value;\n }\n\n protected get hasCleaner(): boolean {\n return (\n this.controller.cleaner &&\n this.hasValue &&\n !this.computedDisabled &&\n !this.readOnly\n );\n }\n\n protected get hasTooltip(): boolean {\n return !!this.hintOptions?.content && !this.computedDisabled;\n }\n\n protected get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n protected 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 protected get hasPlaceholder(): boolean {\n return this.placeholderRaisable || this.placeholderVisible;\n }\n\n protected get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled)\n );\n }\n\n protected get iconContent(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n protected get iconLeftContent(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeS>\n > {\n return this.controller.iconStart;\n }\n\n protected get showHint(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.legacyOptions.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n // Safari expiration date autofill workaround\n protected get name(): 'ccexpiryyear' | null {\n return this.nativeFocusableElement?.autocomplete === 'cc-exp'\n ? 'ccexpiryyear'\n : null;\n }\n\n protected get computedId(): string {\n return this.nativeFocusableElement?.id || '';\n }\n\n @tuiPure\n protected getIndent$(element: HTMLElement): Observable<number> {\n return fromEvent(element, 'scroll').pipe(\n map(() => -1 * Math.max(element.scrollLeft, 0)),\n );\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected clear(): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = '';\n }\n\n this.updateValue('');\n }\n\n protected 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 protected transitionStartHandler({propertyName, target}: TransitionEvent): void {\n const matchedAutofill =\n propertyName.includes('box-shadow') && (target as Element)?.matches('input');\n\n if (matchedAutofill) {\n this.onAutofilled(!this.autofilled);\n }\n }\n\n protected onAutofilled(autofilled: boolean): void {\n this.updateAutofilled(autofilled);\n }\n\n protected detectRetargetFromLabel(event: Event): void {\n if (tuiRetargetedBoundaryCrossing(event)) {\n event.stopImmediatePropagation();\n }\n }\n\n private get iconPaddingLeft(): number {\n return TUI_ICON_START_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\" />\n<ng-container *ngIf=\"hintOptions?.change$ | async\" />\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>\n <ng-content select=\"input\" />\n <ng-content select=\"select\" />\n <input\n #focusableElement\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [attr.aria-invalid]=\"computedInvalid\"\n [attr.name]=\"name\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly || !editable\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\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\" />\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-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\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 />\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 />\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-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [icon]=\"src\"\n />\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-icon\n *polymorpheusOutlet=\"\n iconCleaner || controller.options.iconCleaner as src;\n context: {$implicit: size}\n \"\n [icon]=\"src.toString()\"\n [style.border]=\"'0.25rem solid transparent'\"\n />\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 />\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n </div>\n </div>\n</div>\n","import {Directive, inject} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\n/**\n * @deprecated: use {@link TuiTextfield}\n * https://taiga-ui.dev/components/textfield\n */\n@Directive({\n standalone: false,\n selector: 'tui-primitive-textfield',\n providers: [tuiAsTextfieldHost(TuiPrimitiveTextfieldDirective)],\n})\nexport class TuiPrimitiveTextfieldDirective extends AbstractTuiTextfieldHost<any> {\n protected override readonly host = inject(TuiPrimitiveTextfieldComponent);\n\n public override get readOnly(): boolean {\n return this.host.readOnly || !this.host.editable;\n }\n\n public onValueChange(value: string): void {\n this.host.onModelChange(value);\n }\n}\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {tuiInjectId} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport type {TuiTextfieldHost} from '@taiga-ui/legacy/tokens';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/legacy/tokens';\n\n@Component({\n standalone: false,\n selector: 'input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]',\n template: '',\n styleUrls: ['./textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TEXTFIELD_CONTROLLER_PROVIDER],\n host: {\n ngSkipHydration: 'true',\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)': 'host.onValueChange($event.target.value)',\n },\n})\nexport class TuiTextfieldComponent {\n private readonly autoId = tuiInjectId();\n private readonly el = tuiInjectElement<HTMLInputElement>();\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly host = inject<TuiTextfieldHost>(TUI_TEXTFIELD_HOST);\n\n constructor() {\n this.host.process(this.el);\n }\n\n protected get id(): string {\n return this.el.id || this.autoId;\n }\n\n protected get inputMode(): string {\n return this.el.inputMode || this.host.inputMode;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiTooltipModule} from '@taiga-ui/legacy/components/tooltip';\nimport {TuiWrapperModule} from '@taiga-ui/legacy/directives/wrapper';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/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/**\n * @deprecated: use {@link TuiTextfield}\n * https://taiga-ui.dev/components/textfield\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiWrapperModule,\n TuiTooltipModule,\n TuiIcon,\n TuiAppearance,\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 type {TuiTextfieldOptions} from '@taiga-ui/legacy/directives';\nimport {\n TUI_TEXTFIELD_DEFAULT_OPTIONS,\n TUI_TEXTFIELD_OPTIONS,\n tuiTextfieldOptionsProvider,\n} from '@taiga-ui/legacy/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":["LEGACY_OPTIONS","OPTIONS","i8.TuiValueDecorationComponent"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-legacy-components-primitive-textfield.mjs","sources":["../../../projects/legacy/components/primitive-textfield/value-decoration/value-decoration.component.ts","../../../projects/legacy/components/primitive-textfield/value-decoration/value-decoration.template.html","../../../projects/legacy/components/primitive-textfield/primitive-textfield.component.ts","../../../projects/legacy/components/primitive-textfield/primitive-textfield.template.html","../../../projects/legacy/components/primitive-textfield/primitive-textfield.directive.ts","../../../projects/legacy/components/primitive-textfield/textfield/textfield.component.ts","../../../projects/legacy/components/primitive-textfield/primitive-textfield.module.ts","../../../projects/legacy/components/primitive-textfield/primitive-textfield-options.ts","../../../projects/legacy/components/primitive-textfield/taiga-ui-legacy-components-primitive-textfield.ts"],"sourcesContent":["import type {DoCheck} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n ViewChild,\n} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_FONTS_READY} from '@taiga-ui/legacy/tokens';\nimport {BehaviorSubject, delay, distinctUntilChanged, filter, map, merge} from 'rxjs';\n\nimport type {TuiPrimitiveTextfield} from '../primitive-textfield-types';\n\n@Component({\n standalone: false,\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 host: {\n ngSkipHydration: 'true',\n '[class._table]': 'isContextTable',\n '[class._filler]': 'filler',\n '(animationstart)': 'ngDoCheck()',\n },\n})\nexport class TuiValueDecorationComponent implements DoCheck {\n @ViewChild('pre', {read: ElementRef, static: true})\n private readonly pre?: ElementRef<HTMLElement>;\n\n private readonly textfield = inject<TuiPrimitiveTextfield>(\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n );\n\n private readonly fontsReady$ = inject(TUI_FONTS_READY);\n\n private readonly prefix$ = new BehaviorSubject('');\n\n public 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 public ngDoCheck(): void {\n this.prefix$.next(this.prefix);\n }\n\n protected get isContextTable(): boolean {\n return this.textfield.appearance === 'table';\n }\n\n protected 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 protected get value(): string {\n return this.textfield.value;\n }\n\n protected get prefix(): string {\n return this.decorationsVisible ? this.textfield.prefix : '';\n }\n\n protected get postfix(): string {\n return this.decorationsVisible ? this.computedPostfix : '';\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 type {ElementRef, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement, tuiRetargetedBoundaryCrossing} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_TEXTFIELD_OPTIONS as OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {AbstractTuiInteractive} from '@taiga-ui/legacy/classes';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_OPTIONS as LEGACY_OPTIONS,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiGetBorder} from '@taiga-ui/legacy/utils';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport type {Observable} from 'rxjs';\nimport {fromEvent, map} from 'rxjs';\n\nimport type {TuiPrimitiveTextfield} from './primitive-textfield-types';\n\nexport const TUI_ICON_START_PADDINGS: Record<TuiSizeL | TuiSizeS, number> = {\n s: 1.25,\n m: 1.75,\n l: 2.25,\n};\n\n/**\n * @deprecated: use {@link TuiTextfield}\n * https://taiga-ui.dev/components/textfield\n */\n@Component({\n standalone: false,\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 ngSkipHydration: 'true',\n '[attr.data-size]': 'size',\n '[class._readonly]': 'readOnly',\n '[class._hidden]': 'inputHidden',\n '[class._invalid]': 'computedInvalid',\n '[class._autofilled]': 'autofilled',\n '[style.--border-start.rem]': 'borderStart',\n '[style.--border-end.rem]': 'borderEnd',\n '[class._label-outside]':\n 'options.appearance() === \"table\" || controller.labelOutside',\n '(focusin)': 'onFocused(true)',\n '(focusout)': 'onFocused(false)',\n '(transitionstart.capture)': 'transitionStartHandler($event)',\n },\n})\nexport class TuiPrimitiveTextfieldComponent\n extends AbstractTuiInteractive\n implements TuiPrimitiveTextfield\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n private readonly legacyOptions = inject(LEGACY_OPTIONS);\n private readonly el = tuiInjectElement();\n\n @ContentChildren(PolymorpheusOutlet, {descendants: true})\n protected readonly content?: QueryList<unknown>;\n\n protected readonly options = inject(OPTIONS);\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n protected autofilled = false;\n\n @Input()\n public editable = true;\n\n /**\n * @deprecated:\n * use `tuiTextfieldOptionsProvider({iconCleaner: `@tui.chevron-up`})`\n */\n @Input()\n public iconCleaner = this.legacyOptions.iconCleaner;\n\n @Input()\n public readOnly = false;\n\n @Input()\n public invalid = false;\n\n @Input()\n public disabled = false;\n\n @Input()\n public value = '';\n\n @Output()\n public readonly valueChange = new EventEmitter<string>();\n\n public get prefix(): string {\n return this.controller.prefix;\n }\n\n public get postfix(): string {\n return this.controller.postfix;\n }\n\n public get filler(): string {\n return this.controller.filler;\n }\n\n public 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 public get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el);\n }\n\n public get appearance(): string {\n return this.options.appearance() === 'table'\n ? 'table'\n : this.controller.appearance;\n }\n\n public onModelChange(value: string): void {\n this.updateValue(value);\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n protected get computedInvalid(): boolean {\n return !this.readOnly && !this.disabled && this.invalid;\n }\n\n protected get inputHidden(): boolean {\n return !!this.content?.length;\n }\n\n protected get borderStart(): number {\n return this.iconLeftContent ? this.iconPaddingLeft : 0;\n }\n\n protected 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 protected get hasValue(): boolean {\n return !!this.value;\n }\n\n protected get hasCleaner(): boolean {\n return (\n this.controller.cleaner &&\n this.hasValue &&\n !this.computedDisabled &&\n !this.readOnly\n );\n }\n\n protected get hasTooltip(): boolean {\n return !!this.hintOptions?.content && !this.computedDisabled;\n }\n\n protected get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n protected 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 protected get hasPlaceholder(): boolean {\n return this.placeholderRaisable || this.placeholderVisible;\n }\n\n protected get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled)\n );\n }\n\n protected get iconContent(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n protected get iconLeftContent(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeS>\n > {\n return this.controller.iconStart;\n }\n\n protected get showHint(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.legacyOptions.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n // Safari expiration date autofill workaround\n protected get name(): 'ccexpiryyear' | null {\n return this.nativeFocusableElement?.autocomplete === 'cc-exp'\n ? 'ccexpiryyear'\n : null;\n }\n\n protected get computedId(): string {\n return this.nativeFocusableElement?.id || '';\n }\n\n @tuiPure\n protected getIndent$(element: HTMLElement): Observable<number> {\n return fromEvent(element, 'scroll').pipe(\n map(() => -1 * Math.max(element.scrollLeft, 0)),\n );\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected clear(): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = '';\n }\n\n this.updateValue('');\n }\n\n protected 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 protected transitionStartHandler({propertyName, target}: TransitionEvent): void {\n const matchedAutofill =\n propertyName.includes('box-shadow') && (target as Element)?.matches('input');\n\n if (matchedAutofill) {\n this.onAutofilled(!this.autofilled);\n }\n }\n\n protected onAutofilled(autofilled: boolean): void {\n this.updateAutofilled(autofilled);\n }\n\n protected detectRetargetFromLabel(event: Event): void {\n if (tuiRetargetedBoundaryCrossing(event)) {\n event.stopImmediatePropagation();\n }\n }\n\n private get iconPaddingLeft(): number {\n return TUI_ICON_START_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\" />\n<ng-container *ngIf=\"hintOptions?.change$ | async\" />\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>\n <ng-content select=\"input\" />\n <ng-content select=\"select\" />\n <input\n #focusableElement\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [attr.aria-invalid]=\"computedInvalid\"\n [attr.name]=\"name\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly || !editable\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\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\" />\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-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\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 />\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 />\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-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [icon]=\"src\"\n />\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-icon\n *polymorpheusOutlet=\"\n iconCleaner || controller.options.iconCleaner as src;\n context: {$implicit: size}\n \"\n [icon]=\"src.toString()\"\n [style.border]=\"'0.25rem solid transparent'\"\n />\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 />\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n </div>\n </div>\n</div>\n","import {Directive, inject} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\n/**\n * @deprecated: use {@link TuiTextfield}\n * https://taiga-ui.dev/components/textfield\n */\n@Directive({\n standalone: false,\n selector: 'tui-primitive-textfield',\n providers: [tuiAsTextfieldHost(TuiPrimitiveTextfieldDirective)],\n})\nexport class TuiPrimitiveTextfieldDirective extends AbstractTuiTextfieldHost<any> {\n protected override readonly host = inject(TuiPrimitiveTextfieldComponent);\n\n public override get readOnly(): boolean {\n return this.host.readOnly || !this.host.editable;\n }\n\n public onValueChange(value: string): void {\n this.host.onModelChange(value);\n }\n}\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {tuiInjectId} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport type {TuiTextfieldHost} from '@taiga-ui/legacy/tokens';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/legacy/tokens';\n\n@Component({\n standalone: false,\n selector: 'input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]',\n template: '',\n styleUrls: ['./textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TEXTFIELD_CONTROLLER_PROVIDER],\n host: {\n ngSkipHydration: 'true',\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)': 'host.onValueChange($event.target.value)',\n },\n})\nexport class TuiTextfieldComponent {\n private readonly autoId = tuiInjectId();\n private readonly el = tuiInjectElement<HTMLInputElement>();\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly host = inject<TuiTextfieldHost>(TUI_TEXTFIELD_HOST);\n\n constructor() {\n this.host.process(this.el);\n }\n\n protected get id(): string {\n return this.el.id || this.autoId;\n }\n\n protected get inputMode(): string {\n return this.el.inputMode || this.host.inputMode;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiTooltipModule} from '@taiga-ui/legacy/components/tooltip';\nimport {TuiWrapperModule} from '@taiga-ui/legacy/directives/wrapper';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/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/**\n * @deprecated: use {@link TuiTextfield}\n * https://taiga-ui.dev/components/textfield\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiWrapperModule,\n TuiTooltipModule,\n TuiIcon,\n TuiAppearance,\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 type {TuiTextfieldOptions} from '@taiga-ui/legacy/directives';\nimport {\n TUI_TEXTFIELD_DEFAULT_OPTIONS,\n TUI_TEXTFIELD_OPTIONS,\n tuiTextfieldOptionsProvider,\n} from '@taiga-ui/legacy/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":["LEGACY_OPTIONS","OPTIONS","i8.TuiValueDecorationComponent"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, Component, ChangeDetectionStrategy, ElementRef, NgZone, forwardRef, Directive, Input, DestroyRef, ViewChild, ViewChildren, Injectable, ContentChild, Output, ChangeDetectorRef, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
3
+ import { inject, Component, ChangeDetectionStrategy, ElementRef, NgZone, forwardRef, Directive, Input, DestroyRef, ViewChild, ViewChildren, Injectable, ContentChild, Output, ChangeDetectorRef, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
4
4
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
5
  import { TUI_TRUE_HANDLER, TUI_FALSE_HANDLER, EMPTY_QUERY } from '@taiga-ui/cdk/constants';
6
6
  import { tuiTypedFromEvent, tuiZonefree, tuiZonefull, tuiIfMap } from '@taiga-ui/cdk/observables';
7
7
  import { TUI_IS_IOS, TUI_WINDOW_SIZE } from '@taiga-ui/cdk/tokens';
8
8
  import { tuiInjectElement, tuiIsHTMLElement } from '@taiga-ui/cdk/utils/dom';
9
- import { tuiProvide, tuiPure, tuiCreateToken, tuiIsFalsy } from '@taiga-ui/cdk/utils/miscellaneous';
9
+ import { tuiCreateToken, tuiProvide, tuiPure, tuiIsFalsy } from '@taiga-ui/cdk/utils/miscellaneous';
10
10
  import { tuiSlideInTop, tuiFadeIn } from '@taiga-ui/core/animations';
11
11
  import { TUI_MORE_WORD } from '@taiga-ui/kit/tokens';
12
12
  import { merge, map, share, delay, switchMap, concat, zip, takeUntil, take, distinctUntilChanged, withLatestFrom, filter, throttleTime, timer, BehaviorSubject, Observable, EMPTY, race, debounceTime, startWith, Subject, ignoreElements, endWith } from 'rxjs';
@@ -30,17 +30,17 @@ import { TuiScrollbar } from '@taiga-ui/core/components/scrollbar';
30
30
  * @deprecated: drop in v5.0 use {@link TuiSheetDialog}
31
31
  * https://taiga-ui.dev/components/sheet-dialog
32
32
  */
33
- const TUI_SHEET = new InjectionToken('[TUI_SHEET]');
33
+ const TUI_SHEET = tuiCreateToken();
34
34
  /**
35
35
  * @deprecated: drop in v5.0 use {@link TuiSheetDialog}
36
36
  * https://taiga-ui.dev/components/sheet-dialog
37
37
  */
38
- const TUI_SHEET_SCROLL = new InjectionToken('[TUI_SHEET_SCROLL]');
38
+ const TUI_SHEET_SCROLL = tuiCreateToken();
39
39
  /**
40
40
  * @deprecated: drop in v5.0 use {@link TuiSheetDialog}
41
41
  * https://taiga-ui.dev/components/sheet-dialog
42
42
  */
43
- const TUI_SHEET_DRAGGED = new InjectionToken('[TUI_SHEET_DRAGGED]');
43
+ const TUI_SHEET_DRAGGED = tuiCreateToken();
44
44
 
45
45
  const TUI_SHEET_CLOSE = 'tui-sheet-close';
46
46
  const TUI_SHEET_ID = 'tui-sheet-id';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-sheet.mjs","sources":["../../../projects/legacy/components/sheet/sheet-tokens.ts","../../../projects/legacy/components/sheet/components/sheet-heading/sheet-heading.component.ts","../../../projects/legacy/components/sheet/components/sheet-heading/sheet-heading.template.html","../../../projects/legacy/components/sheet/components/sheet/sheet.providers.ts","../../../projects/legacy/components/sheet/components/sheet-bar/sheet-bar.component.ts","../../../projects/legacy/components/sheet/components/sheet-bar/sheet-bar.template.html","../../../projects/legacy/components/sheet/directives/sheet-top/sheet-top.directive.ts","../../../projects/legacy/components/sheet/directives/sheet-stop/sheet-stop.directive.ts","../../../projects/legacy/components/sheet/components/sheet/sheet.component.ts","../../../projects/legacy/components/sheet/components/sheet/sheet.template.html","../../../projects/legacy/components/sheet/sheet-options.ts","../../../projects/legacy/components/sheet/sheet.service.ts","../../../projects/legacy/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.ts","../../../projects/legacy/components/sheet/directives/sheet-close/sheet-close.directive.ts","../../../projects/legacy/components/sheet/components/sheets-host/sheets-host.component.ts","../../../projects/legacy/components/sheet/components/sheets-host/sheets-host.template.html","../../../projects/legacy/components/sheet/sheet.directive.ts","../../../projects/legacy/components/sheet/sheet.module.ts","../../../projects/legacy/components/sheet/taiga-ui-legacy-components-sheet.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport type {Observable} from 'rxjs';\n\nimport type {TuiSheetRequiredProps} from './sheet';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\nexport const TUI_SHEET = new InjectionToken<TuiSheetRequiredProps>('[TUI_SHEET]');\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\nexport const TUI_SHEET_SCROLL = new InjectionToken<Observable<number>>(\n '[TUI_SHEET_SCROLL]',\n);\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\nexport const TUI_SHEET_DRAGGED = new InjectionToken<Observable<boolean>>(\n '[TUI_SHEET_DRAGGED]',\n);\n","import type {AfterViewInit} from '@angular/core';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {tuiInjectId} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\n\nexport const TUI_SHEET_CLOSE = 'tui-sheet-close';\nexport const TUI_SHEET_ID = 'tui-sheet-id';\n\n@Component({\n standalone: false,\n selector: '[tuiSheetHeading]',\n templateUrl: './sheet-heading.template.html',\n styleUrls: ['./sheet-heading.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n ngSkipHydration: 'true',\n },\n})\nexport class TuiSheetHeadingComponent implements AfterViewInit {\n private readonly el = tuiInjectElement();\n protected readonly closeWord$ = inject(TUI_CLOSE_WORD);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly autoId = tuiInjectId();\n\n public ngAfterViewInit(): void {\n this.el.dispatchEvent(\n new CustomEvent(TUI_SHEET_ID, {bubbles: true, detail: this.autoId}),\n );\n }\n\n protected onClick(): void {\n this.el.dispatchEvent(new CustomEvent(TUI_SHEET_CLOSE, {bubbles: true}));\n }\n}\n","<button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n (click)=\"onClick()\"\n>\n {{ closeWord$ | async }}\n</button>\n<span [id]=\"autoId\">\n <ng-content />\n</span>\n","import {DOCUMENT} from '@angular/common';\nimport type {Provider} from '@angular/core';\nimport {ElementRef, forwardRef, NgZone} from '@angular/core';\nimport {TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiTypedFromEvent, tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport type {Observable} from 'rxjs';\nimport {concat, delay, map, merge, share, switchMap, take, takeUntil, zip} from 'rxjs';\n\nimport {TUI_SHEET, TUI_SHEET_DRAGGED, TUI_SHEET_SCROLL} from '../../sheet-tokens';\nimport {TuiSheetComponent} from './sheet.component';\n\nexport const TUI_SHEET_PROVIDERS: Provider[] = [\n {\n provide: TUI_SHEET_DRAGGED,\n deps: [ElementRef],\n useFactory: ({nativeElement}: ElementRef<HTMLElement>): Observable<boolean> =>\n merge(\n tuiTypedFromEvent(nativeElement, 'touchstart', {passive: true}).pipe(\n map(TUI_TRUE_HANDLER),\n ),\n tuiTypedFromEvent(nativeElement, 'touchend').pipe(map(TUI_FALSE_HANDLER)),\n ),\n },\n {\n provide: TUI_SHEET_SCROLL,\n deps: [ElementRef, NgZone, DOCUMENT, TUI_IS_IOS],\n useFactory: (\n {nativeElement}: ElementRef<HTMLElement>,\n zone: NgZone,\n doc: Document,\n isIos: boolean,\n ): Observable<number> =>\n isIos\n ? iosScrollFactory(nativeElement, doc, zone)\n : merge(\n tuiTypedFromEvent(nativeElement, 'scroll'),\n tuiTypedFromEvent(nativeElement, 'load', {capture: true}),\n ).pipe(\n map(() => nativeElement.scrollTop),\n tuiZonefree(zone),\n share(),\n ),\n },\n tuiProvide(TUI_SCROLL_REF, ElementRef),\n tuiProvide(\n TUI_SHEET,\n forwardRef(() => TuiSheetComponent),\n ),\n];\n\nfunction iosScrollFactory(\n element: HTMLElement,\n doc: Document,\n zone: NgZone,\n): Observable<number> {\n const load$ = tuiTypedFromEvent(element, 'load', {capture: true});\n const touchstart$ = tuiTypedFromEvent(element, 'touchstart', {passive: true});\n const touchmove$ = tuiTypedFromEvent(doc, 'touchmove', {passive: true});\n const touchend$ = tuiTypedFromEvent(doc, 'touchend');\n const scroll$ = tuiTypedFromEvent(element, 'scroll').pipe(\n map(() => element.scrollTop),\n );\n const result$ = merge(\n load$.pipe(\n delay(0),\n map(() => element.scrollTop),\n ),\n touchstart$.pipe(\n switchMap(({touches}) => {\n const {screenY = 0} = touches[0] ?? {};\n const {scrollTop} = element;\n\n return concat(\n // Sometimes touch is triggered without scroll in iOS, filter that\n zip(touchmove$, scroll$).pipe(\n map(\n ([{touches}]) =>\n scrollTop + screenY - (touches[0]?.screenY ?? 0),\n ),\n takeUntil(touchend$),\n ),\n scroll$,\n );\n }),\n ),\n );\n\n return concat(scroll$.pipe(take(1)), result$).pipe(tuiZonefree(zone), share());\n}\n","import {ChangeDetectionStrategy, Component, inject, NgZone} from '@angular/core';\nimport {tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {distinctUntilChanged, map} from 'rxjs';\n\nimport {TUI_SHEET, TUI_SHEET_SCROLL} from '../../sheet-tokens';\n\n@Component({\n standalone: false,\n selector: 'tui-sheet-bar',\n templateUrl: './sheet-bar.template.html',\n styleUrls: ['./sheet-bar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n ngSkipHydration: 'true',\n },\n})\nexport class TuiSheetBarComponent {\n private readonly sheet = inject(TUI_SHEET);\n private readonly scroll$ = inject(TUI_SHEET_SCROLL);\n private readonly zone = inject(NgZone);\n\n protected readonly rotate$ = this.scroll$.pipe(\n map((y) => tuiClamp(10 - (y - this.stop) / 5, 0, 10)),\n distinctUntilChanged(),\n tuiZonefull(this.zone),\n );\n\n private get stop(): number {\n return this.sheet.stops[0] || 0;\n }\n}\n","<ng-container *tuiLet=\"rotate$ | async as deg\">\n <div\n class=\"t-bar\"\n [ngStyle]=\"{transform: 'rotate(-' + deg + 'deg)'}\"\n ></div>\n <ng-content *ngIf=\"deg\" />\n <div\n class=\"t-bar\"\n [ngStyle]=\"{transform: 'rotate(' + deg + 'deg)'}\"\n ></div>\n</ng-container>\n","import {Directive, inject, Input} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {map} from 'rxjs';\n\nimport {TUI_SHEET, TUI_SHEET_SCROLL} from '../../sheet-tokens';\n\n// So that borders get rounded when image is visible for at least 10px\nconst OFFSET = 10;\n\n@Directive({\n standalone: false,\n selector: '[tuiSheetTop]',\n})\nexport class TuiSheetTopDirective {\n private readonly scroll$ = inject(TUI_SHEET_SCROLL);\n private readonly component = inject(TUI_SHEET);\n private readonly win = inject(WA_WINDOW);\n private readonly el = tuiInjectElement();\n\n protected readonly rounded$ = this.scroll$\n .pipe(map((y) => y < this.stop + OFFSET))\n .pipe(takeUntilDestroyed())\n .subscribe((add) =>\n add\n ? this.el.classList.add('_rounded')\n : this.el.classList.remove('_rounded'),\n );\n\n protected readonly transform$ = this.scroll$\n .pipe(\n map((y) => `translateY(${this.getY(y)}%) scaleX(-1)`),\n takeUntilDestroyed(),\n )\n .subscribe((transform) => this.el.style.setProperty('transform', transform));\n\n protected readonly clickthrough$ = this.scroll$\n .pipe(\n map((y) => !!Math.round(this.getY(y))),\n takeUntilDestroyed(),\n )\n .subscribe((add) =>\n add\n ? this.el.classList.add('_clickthrough')\n : this.el.classList.remove('_clickthrough'),\n );\n\n @Input('tuiSheetTop')\n public stop = 0;\n\n private getY(scrollTop: number): number {\n const value = scrollTop - this.stop;\n const total = this.win.innerHeight - this.component.item.offset - this.stop;\n\n return this.stop && tuiClamp(100 - (value / total) * 100, 0, 100);\n }\n}\n","import {DestroyRef, Directive, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {\n distinctUntilChanged,\n filter,\n map,\n throttleTime,\n timer,\n withLatestFrom,\n} from 'rxjs';\n\nimport {TUI_SHEET_DRAGGED, TUI_SHEET_SCROLL} from '../../sheet-tokens';\n\n@Directive({\n standalone: false,\n selector: '[tuiSheetStop]',\n})\nexport class TuiSheetStopDirective {\n private readonly scrollRef = inject(TUI_SCROLL_REF).nativeElement;\n private readonly destroyRef = inject(DestroyRef);\n private readonly el = tuiInjectElement();\n\n protected readonly $ = inject(TUI_SHEET_SCROLL)\n .pipe(\n map((y) => Math.floor(y) > this.el.offsetTop),\n distinctUntilChanged(),\n withLatestFrom(inject(TUI_SHEET_DRAGGED)),\n map(([above, dragged]) => !above && !dragged),\n filter(Boolean),\n throttleTime(100),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => {\n this.scrollRef.style.overflow = 'hidden';\n this.scrollRef.classList.remove('_stuck'); // iOS\n this.scrollRef.scrollTop = this.el.offsetTop;\n\n timer(100)\n .pipe(takeUntilDestroyed(this.destroyRef))\n // eslint-disable-next-line rxjs/no-nested-subscribe\n .subscribe(() => {\n this.scrollRef.style.overflow = '';\n });\n });\n}\n","import type {AfterViewInit, ElementRef, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n inject,\n Input,\n NgZone,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit/tokens';\nimport {map, timer} from 'rxjs';\n\nimport type {TuiSheet, TuiSheetRequiredProps} from '../../sheet';\nimport {TUI_SHEET_SCROLL} from '../../sheet-tokens';\nimport {TUI_SHEET_ID} from '../sheet-heading/sheet-heading.component';\nimport {TUI_SHEET_PROVIDERS} from './sheet.providers';\n\n@Component({\n standalone: false,\n selector: 'tui-sheet',\n templateUrl: './sheet.template.html',\n styleUrls: ['./sheet.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_SHEET_PROVIDERS,\n animations: [tuiSlideInTop],\n host: {\n ngSkipHydration: 'true',\n role: 'dialog',\n '[attr.aria-labelledby]': 'id',\n '[class._ios]': 'isIos',\n [`(${TUI_SHEET_ID})`]: 'onId($event.detail)',\n },\n})\nexport class TuiSheetComponent<T> implements TuiSheetRequiredProps<T>, AfterViewInit {\n @ViewChild('sheet')\n private readonly sheet?: ElementRef<HTMLElement>;\n\n @ViewChild('content')\n private readonly content?: ElementRef<HTMLElement>;\n\n @ViewChildren('stops')\n private readonly stopsRefs: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly scroll$ = inject(TUI_SHEET_SCROLL);\n private readonly el = tuiInjectElement();\n private readonly zone = inject(NgZone);\n\n protected id = '';\n protected readonly isIos = inject(TUI_IS_IOS);\n protected readonly moreWord$ = inject(TUI_MORE_WORD);\n protected readonly stuck$ = this.scroll$.pipe(\n map((y) => Math.floor(y) > this.contentTop),\n );\n\n protected readonly stuck$$ = this.stuck$\n .pipe(takeUntilDestroyed())\n .subscribe((add) =>\n add ? this.el.classList.add('_stuck') : this.el.classList.remove('_stuck'),\n );\n\n @Input()\n public item!: TuiSheet<T>;\n\n @tuiPure\n public get context(): TuiSheet<T> {\n return {\n ...this.item,\n scroll$: this.scroll$.pipe(tuiZonefull(this.zone)),\n };\n }\n\n public get stops(): readonly number[] {\n return this.getStops(this.stopsRefs);\n }\n\n public get imageStop(): number {\n return (this.item.imageSlide && this.stops[this.stops.length - 1]) || 0;\n }\n\n public get imageHeight(): number {\n return this.contentTop - this.sheetTop;\n }\n\n public ngAfterViewInit(): void {\n this.el.scrollTop =\n [...this.stops, this.sheetTop, this.contentTop][this.item.initial] ?? 0;\n }\n\n protected onId(id: string): void {\n this.id = id;\n }\n\n protected scrollTo(top: number = this.sheetTop): void {\n if (this.isIos) {\n const offset = top - this.el.scrollTop - 16;\n\n this.el.style.transition = 'none';\n this.el.style.transform = `scaleX(-1) translate3d(0, ${offset}px, 0)`;\n\n timer(0)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.el.style.transition = '';\n this.el.style.transform = '';\n });\n }\n\n this.el.scrollTo({top, behavior: 'smooth'});\n }\n\n protected close(): void {\n if (this.context.closeable) {\n this.context.$implicit.complete();\n }\n }\n\n private get contentTop(): number {\n return this.content?.nativeElement.offsetTop ?? Infinity;\n }\n\n private get sheetTop(): number {\n return this.sheet?.nativeElement.offsetTop ?? Infinity;\n }\n\n @tuiPure\n private getStops(stops: QueryList<ElementRef<HTMLElement>>): readonly number[] {\n return stops.map(\n ({nativeElement}) => nativeElement.offsetTop + nativeElement.clientHeight,\n );\n }\n}\n","<div\n class=\"t-bumpers\"\n (click)=\"close()\"\n>\n <div\n *ngFor=\"let stop of item.stops\"\n #stops\n class=\"t-bumper\"\n [style.marginTop]=\"stop\"\n ></div>\n</div>\n<div\n #sheet\n class=\"t-wrapper\"\n [class.t-wrapper_shadow]=\"!item.image\"\n>\n <header\n *ngIf=\"item.image\"\n class=\"t-top\"\n [tuiSheetTop]=\"imageStop\"\n >\n <img\n *polymorpheusOutlet=\"item.image as src; context: context\"\n alt=\"\"\n class=\"t-image\"\n [src]=\"src\"\n />\n </header>\n <section\n #content\n tuiSheetStop\n class=\"t-sheet\"\n >\n <div class=\"t-bar\"></div>\n <tui-sheet-bar>\n <button\n type=\"button\"\n class=\"t-button\"\n [title]=\"moreWord$ | async\"\n (click)=\"scrollTo(stops[1])\"\n ></button>\n </tui-sheet-bar>\n <div class=\"t-content\">\n <h2\n *polymorpheusOutlet=\"item.content as text; context: context\"\n tuiSheetHeading\n class=\"t-heading\"\n >\n {{ text }}\n </h2>\n </div>\n </section>\n</div>\n","import {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport type {TuiSheet} from './sheet';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\nexport interface TuiSheetOptions<I = undefined, O = unknown> {\n readonly closeable: boolean;\n readonly data: I;\n readonly image: PolymorpheusContent<TuiSheet<O, I>>;\n readonly imageSlide: boolean;\n readonly initial: number;\n readonly offset: number;\n readonly overlay: boolean;\n readonly stops: readonly string[];\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\nexport const TUI_SHEET_DEFAULT_OPTIONS: Omit<TuiSheetOptions, 'data'> = {\n image: '',\n imageSlide: true,\n stops: [],\n initial: 0,\n offset: 16,\n closeable: true,\n overlay: false,\n};\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\nexport const TUI_SHEET_OPTIONS = tuiCreateToken<Omit<TuiSheetOptions, 'data'>>({\n ...TUI_SHEET_DEFAULT_OPTIONS,\n});\n","import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGetNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {BehaviorSubject, EMPTY, Observable} from 'rxjs';\n\nimport type {TuiSheet} from './sheet';\nimport type {TuiSheetOptions} from './sheet-options';\nimport {TUI_SHEET_OPTIONS} from './sheet-options';\n\n/**\n * @deprecated: use {@link TuiSheetDialogService}\n * https://taiga-ui.dev/components/sheet-dialog\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiSheetService {\n private readonly doc = inject(DOCUMENT);\n private readonly options = inject<TuiSheetOptions>(TUI_SHEET_OPTIONS);\n public readonly sheets$ = new BehaviorSubject<Array<TuiSheet<any, any>>>([]);\n\n public open<G>(\n content: PolymorpheusContent<TuiSheet<G>>,\n options: Partial<TuiSheetOptions> = {},\n ): Observable<G> {\n return new Observable(($implicit) => {\n const completeWith = (result: G): void => {\n $implicit.next(result);\n $implicit.complete();\n };\n const sheet: TuiSheet<any> = {\n ...this.options,\n ...options,\n content,\n completeWith,\n $implicit,\n scroll$: EMPTY,\n };\n const focused = tuiGetNativeFocused(this.doc);\n\n if (tuiIsHTMLElement(focused) && sheet.overlay) {\n focused.blur();\n }\n\n this.sheets$.next([...this.sheets$.value, sheet]);\n\n return () => {\n this.sheets$.next(this.sheets$.value.filter((item) => item !== sheet));\n };\n });\n }\n}\n","import {ContentChild, Directive, inject, Input, NgZone} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiIsFalsy, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {\n debounceTime,\n distinctUntilChanged,\n filter,\n map,\n race,\n startWith,\n switchMap,\n take,\n timer,\n} from 'rxjs';\n\nimport {TuiSheetComponent} from '../../components/sheet/sheet.component';\nimport {TUI_SHEET_DRAGGED, TUI_SHEET_SCROLL} from '../../sheet-tokens';\n\n// Safety offset for shadow\nconst OFFSET = 16;\n\nfunction processDragged(\n dragged$: Observable<boolean>,\n scroll$: Observable<unknown>,\n): Observable<boolean> {\n const touchstart$ = dragged$.pipe(filter(Boolean));\n const touchend$ = dragged$.pipe(filter(tuiIsFalsy));\n const race$ = race(scroll$, timer(100)).pipe(\n debounceTime(200),\n take(1),\n map(TUI_FALSE_HANDLER),\n );\n\n return touchstart$.pipe(\n switchMap(() =>\n touchend$.pipe(\n switchMap(() => race$),\n startWith(true),\n ),\n ),\n startWith(false),\n );\n}\n\n@Directive({\n standalone: false,\n selector: '[tuiSheetWrapper]',\n exportAs: 'tuiSheetWrapper',\n})\nexport class TuiSheetWrapperDirective {\n @ContentChild(TuiSheetComponent)\n private readonly sheet?: TuiSheetComponent<unknown>;\n\n @ContentChild(TuiSheetComponent, {read: TUI_SHEET_DRAGGED, static: true})\n private readonly dragged$!: Observable<boolean>;\n\n @ContentChild(TuiSheetComponent, {read: TUI_SHEET_SCROLL, static: true})\n private readonly scroll$!: Observable<number>;\n\n private readonly zone = inject(NgZone);\n private readonly win = inject(WA_WINDOW);\n\n @Input()\n public tuiSheetWrapper = 16;\n\n @tuiPure\n public get overlay$(): Observable<boolean> {\n return this.scroll$.pipe(\n map((y) => y + 16 > this.win.innerHeight - this.tuiSheetWrapper),\n distinctUntilChanged(),\n tuiZonefull(this.zone),\n );\n }\n\n @tuiPure\n public get visible$(): Observable<boolean> {\n return processDragged(this.dragged$, this.scroll$).pipe(\n distinctUntilChanged(),\n tuiZonefull(this.zone),\n );\n }\n\n @tuiPure\n public get height$(): Observable<number | null> {\n return this.scroll$.pipe(map(this.getHeight.bind(this)));\n }\n\n private getHeight(value: number): number | null {\n return this.sheet?.context.overlay\n ? null\n : tuiClamp(this.withImage(value) + OFFSET, OFFSET, this.win.innerHeight);\n }\n\n private withImage(value: number): number {\n return !this.sheet?.imageStop || Math.floor(value) > this.sheet.imageStop\n ? value\n : value - this.sheet.imageHeight;\n }\n}\n","import {Directive, inject, NgZone, Output} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiIfMap, tuiTypedFromEvent, tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFalsy} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {distinctUntilChanged, filter, merge, startWith} from 'rxjs';\n\nimport {TuiSheetComponent} from '../../components/sheet/sheet.component';\nimport {TUI_SHEET_CLOSE} from '../../components/sheet-heading/sheet-heading.component';\nimport {TUI_SHEET_DRAGGED, TUI_SHEET_SCROLL} from '../../sheet-tokens';\n\n@Directive({\n standalone: false,\n selector: 'tui-sheet[close]',\n})\nexport class TuiSheetCloseDirective {\n private readonly zone = inject(NgZone);\n private readonly dragged$ = inject(TUI_SHEET_DRAGGED);\n private readonly scroll$ = inject(TUI_SHEET_SCROLL);\n private readonly win = inject(WA_WINDOW);\n private readonly el = tuiInjectElement();\n private readonly sheet = inject(TuiSheetComponent);\n\n @Output()\n public readonly close: Observable<unknown> = merge(\n tuiTypedFromEvent(this.el, TUI_SHEET_CLOSE),\n this.dragged$.pipe(\n tuiIfMap(() => this.scroll$.pipe(startWith(this.el.scrollTop)), tuiIsFalsy),\n filter((y) => this.sheet.item?.closeable && this.shouldClose(y)),\n distinctUntilChanged(),\n tuiZonefull(this.zone),\n ),\n );\n\n private shouldClose(scrollTop: number): boolean {\n const height = Math.min(\n this.win.innerHeight,\n this.el.scrollHeight - this.win.innerHeight,\n );\n const min = Math.min(height, this.sheet.stops[0] || Infinity);\n\n return scrollTop < min / 2;\n }\n}\n","import type {OnInit} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n inject,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {TUI_WINDOW_SIZE} from '@taiga-ui/cdk/tokens';\nimport {tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TUI_ANIMATIONS_SPEED} from '@taiga-ui/core/tokens';\nimport {tuiToAnimationOptions} from '@taiga-ui/core/utils/miscellaneous';\nimport {map} from 'rxjs';\n\nimport type {TuiSheet} from '../../sheet';\nimport {TuiSheetService} from '../../sheet.service';\n\n@Component({\n standalone: false,\n selector: 'tui-sheets-host',\n templateUrl: './sheets-host.template.html',\n styleUrls: ['./sheets-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideInTop, tuiFadeIn],\n host: {\n ngSkipHydration: 'true',\n },\n})\nexport class TuiSheetsHostComponent implements OnInit {\n private readonly service = inject(TuiSheetService);\n private readonly destroyRef = inject(DestroyRef);\n private readonly cdr = inject(ChangeDetectorRef);\n protected readonly height$ = inject(TUI_WINDOW_SIZE).pipe(map(({height}) => height));\n\n protected sheets: ReadonlyArray<TuiSheet<any>> = [];\n\n protected readonly options = tuiToAnimationOptions(inject(TUI_ANIMATIONS_SPEED));\n\n public ngOnInit(): void {\n // Due to this view being parallel to app content, `markForCheck` from `async` pipe\n // can happen after view was checked, so calling `detectChanges` instead\n this.service.sheets$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((sheets) => {\n this.sheets = sheets;\n this.cdr.detectChanges();\n });\n }\n\n protected close({closeable, $implicit}: TuiSheet<unknown>): void {\n if (closeable) {\n $implicit.complete();\n }\n }\n}\n","<div\n *ngFor=\"let item of sheets\"\n #wrapper=\"tuiSheetWrapper\"\n class=\"t-wrapper\"\n [@tuiFadeIn]=\"options\"\n [@tuiSlideInTop]=\"options\"\n [class.t-wrapper_closeable]=\"item.closeable\"\n [class.t-wrapper_overlay]=\"item.overlay || (wrapper.overlay$ | async)\"\n [class.t-wrapper_visible]=\"wrapper.visible$ | async\"\n [style.height.px]=\"wrapper.height$ | async\"\n [tuiSheetWrapper]=\"item.offset\"\n (click.self)=\"close(item)\"\n>\n <tui-sheet\n tuiScrollRef\n [item]=\"item\"\n [style.height.px]=\"((height$ | async) || 0) - item.offset\"\n (close)=\"close(item)\"\n />\n</div>\n<div\n class=\"t-overlay\"\n (click)=\"sheets[0] && close(sheets[0])\"\n></div>\n","import {Directive, inject, Input, Output} from '@angular/core';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\nimport {endWith, ignoreElements, share, Subject} from 'rxjs';\n\nimport type {TuiSheet} from './sheet';\nimport {TuiSheetService} from './sheet.service';\nimport type {TuiSheetOptions} from './sheet-options';\n\n/**\n * @deprecated: use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\n@Directive({\n standalone: false,\n selector: 'ng-template[tuiSheet]',\n})\nexport class TuiSheetDirective extends PolymorpheusTemplate<TuiSheet<never>> {\n private readonly service = inject(TuiSheetService);\n private readonly open$ = new Subject<boolean>();\n\n @Input('tuiSheetOptions')\n public options: Partial<TuiSheetOptions> = {};\n\n @Output()\n public readonly tuiSheetChange = this.open$.pipe(\n tuiIfMap(() =>\n this.service.open(this, this.options).pipe(ignoreElements(), endWith(false)),\n ),\n share(),\n );\n\n @Input()\n public set tuiSheet(open: boolean) {\n this.open$.next(open);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule, NO_ERRORS_SCHEMA} from '@angular/core';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiSheetComponent} from './components/sheet/sheet.component';\nimport {TuiSheetBarComponent} from './components/sheet-bar/sheet-bar.component';\nimport {TuiSheetHeadingComponent} from './components/sheet-heading/sheet-heading.component';\nimport {TuiSheetsHostComponent} from './components/sheets-host/sheets-host.component';\nimport {TuiSheetCloseDirective} from './directives/sheet-close/sheet-close.directive';\nimport {TuiSheetStopDirective} from './directives/sheet-stop/sheet-stop.directive';\nimport {TuiSheetTopDirective} from './directives/sheet-top/sheet-top.directive';\nimport {TuiSheetWrapperDirective} from './directives/sheet-wrapper/sheet-wrapper.directive';\nimport {TuiSheetDirective} from './sheet.directive';\n\n/**\n * @deprecated: use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiLet,\n TuiButton,\n TuiScrollbar,\n ],\n declarations: [\n TuiSheetsHostComponent,\n TuiSheetComponent,\n TuiSheetBarComponent,\n TuiSheetHeadingComponent,\n TuiSheetTopDirective,\n TuiSheetDirective,\n TuiSheetWrapperDirective,\n TuiSheetCloseDirective,\n TuiSheetStopDirective,\n ],\n exports: [\n TuiSheetsHostComponent,\n TuiSheetComponent,\n TuiSheetHeadingComponent,\n TuiSheetDirective,\n ],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class TuiSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","OFFSET","i3.TuiSheetBarComponent","i4.TuiSheetHeadingComponent","i5.TuiSheetTopDirective","i6.TuiSheetStopDirective","i2.TuiSheetComponent","i3.TuiSheetWrapperDirective","i4.TuiSheetCloseDirective"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-legacy-components-sheet.mjs","sources":["../../../projects/legacy/components/sheet/sheet-tokens.ts","../../../projects/legacy/components/sheet/components/sheet-heading/sheet-heading.component.ts","../../../projects/legacy/components/sheet/components/sheet-heading/sheet-heading.template.html","../../../projects/legacy/components/sheet/components/sheet/sheet.providers.ts","../../../projects/legacy/components/sheet/components/sheet-bar/sheet-bar.component.ts","../../../projects/legacy/components/sheet/components/sheet-bar/sheet-bar.template.html","../../../projects/legacy/components/sheet/directives/sheet-top/sheet-top.directive.ts","../../../projects/legacy/components/sheet/directives/sheet-stop/sheet-stop.directive.ts","../../../projects/legacy/components/sheet/components/sheet/sheet.component.ts","../../../projects/legacy/components/sheet/components/sheet/sheet.template.html","../../../projects/legacy/components/sheet/sheet-options.ts","../../../projects/legacy/components/sheet/sheet.service.ts","../../../projects/legacy/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.ts","../../../projects/legacy/components/sheet/directives/sheet-close/sheet-close.directive.ts","../../../projects/legacy/components/sheet/components/sheets-host/sheets-host.component.ts","../../../projects/legacy/components/sheet/components/sheets-host/sheets-host.template.html","../../../projects/legacy/components/sheet/sheet.directive.ts","../../../projects/legacy/components/sheet/sheet.module.ts","../../../projects/legacy/components/sheet/taiga-ui-legacy-components-sheet.ts"],"sourcesContent":["import {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\n\nimport type {TuiSheetRequiredProps} from './sheet';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\nexport const TUI_SHEET = tuiCreateToken<TuiSheetRequiredProps>();\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\nexport const TUI_SHEET_SCROLL = tuiCreateToken<Observable<number>>();\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\nexport const TUI_SHEET_DRAGGED = tuiCreateToken<Observable<boolean>>();\n","import type {AfterViewInit} from '@angular/core';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {tuiInjectId} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\n\nexport const TUI_SHEET_CLOSE = 'tui-sheet-close';\nexport const TUI_SHEET_ID = 'tui-sheet-id';\n\n@Component({\n standalone: false,\n selector: '[tuiSheetHeading]',\n templateUrl: './sheet-heading.template.html',\n styleUrls: ['./sheet-heading.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n ngSkipHydration: 'true',\n },\n})\nexport class TuiSheetHeadingComponent implements AfterViewInit {\n private readonly el = tuiInjectElement();\n protected readonly closeWord$ = inject(TUI_CLOSE_WORD);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly autoId = tuiInjectId();\n\n public ngAfterViewInit(): void {\n this.el.dispatchEvent(\n new CustomEvent(TUI_SHEET_ID, {bubbles: true, detail: this.autoId}),\n );\n }\n\n protected onClick(): void {\n this.el.dispatchEvent(new CustomEvent(TUI_SHEET_CLOSE, {bubbles: true}));\n }\n}\n","<button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n (click)=\"onClick()\"\n>\n {{ closeWord$ | async }}\n</button>\n<span [id]=\"autoId\">\n <ng-content />\n</span>\n","import {DOCUMENT} from '@angular/common';\nimport type {Provider} from '@angular/core';\nimport {ElementRef, forwardRef, NgZone} from '@angular/core';\nimport {TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiTypedFromEvent, tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport type {Observable} from 'rxjs';\nimport {concat, delay, map, merge, share, switchMap, take, takeUntil, zip} from 'rxjs';\n\nimport {TUI_SHEET, TUI_SHEET_DRAGGED, TUI_SHEET_SCROLL} from '../../sheet-tokens';\nimport {TuiSheetComponent} from './sheet.component';\n\nexport const TUI_SHEET_PROVIDERS: Provider[] = [\n {\n provide: TUI_SHEET_DRAGGED,\n deps: [ElementRef],\n useFactory: ({nativeElement}: ElementRef<HTMLElement>): Observable<boolean> =>\n merge(\n tuiTypedFromEvent(nativeElement, 'touchstart', {passive: true}).pipe(\n map(TUI_TRUE_HANDLER),\n ),\n tuiTypedFromEvent(nativeElement, 'touchend').pipe(map(TUI_FALSE_HANDLER)),\n ),\n },\n {\n provide: TUI_SHEET_SCROLL,\n deps: [ElementRef, NgZone, DOCUMENT, TUI_IS_IOS],\n useFactory: (\n {nativeElement}: ElementRef<HTMLElement>,\n zone: NgZone,\n doc: Document,\n isIos: boolean,\n ): Observable<number> =>\n isIos\n ? iosScrollFactory(nativeElement, doc, zone)\n : merge(\n tuiTypedFromEvent(nativeElement, 'scroll'),\n tuiTypedFromEvent(nativeElement, 'load', {capture: true}),\n ).pipe(\n map(() => nativeElement.scrollTop),\n tuiZonefree(zone),\n share(),\n ),\n },\n tuiProvide(TUI_SCROLL_REF, ElementRef),\n tuiProvide(\n TUI_SHEET,\n forwardRef(() => TuiSheetComponent),\n ),\n];\n\nfunction iosScrollFactory(\n element: HTMLElement,\n doc: Document,\n zone: NgZone,\n): Observable<number> {\n const load$ = tuiTypedFromEvent(element, 'load', {capture: true});\n const touchstart$ = tuiTypedFromEvent(element, 'touchstart', {passive: true});\n const touchmove$ = tuiTypedFromEvent(doc, 'touchmove', {passive: true});\n const touchend$ = tuiTypedFromEvent(doc, 'touchend');\n const scroll$ = tuiTypedFromEvent(element, 'scroll').pipe(\n map(() => element.scrollTop),\n );\n const result$ = merge(\n load$.pipe(\n delay(0),\n map(() => element.scrollTop),\n ),\n touchstart$.pipe(\n switchMap(({touches}) => {\n const {screenY = 0} = touches[0] ?? {};\n const {scrollTop} = element;\n\n return concat(\n // Sometimes touch is triggered without scroll in iOS, filter that\n zip(touchmove$, scroll$).pipe(\n map(\n ([{touches}]) =>\n scrollTop + screenY - (touches[0]?.screenY ?? 0),\n ),\n takeUntil(touchend$),\n ),\n scroll$,\n );\n }),\n ),\n );\n\n return concat(scroll$.pipe(take(1)), result$).pipe(tuiZonefree(zone), share());\n}\n","import {ChangeDetectionStrategy, Component, inject, NgZone} from '@angular/core';\nimport {tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {distinctUntilChanged, map} from 'rxjs';\n\nimport {TUI_SHEET, TUI_SHEET_SCROLL} from '../../sheet-tokens';\n\n@Component({\n standalone: false,\n selector: 'tui-sheet-bar',\n templateUrl: './sheet-bar.template.html',\n styleUrls: ['./sheet-bar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n ngSkipHydration: 'true',\n },\n})\nexport class TuiSheetBarComponent {\n private readonly sheet = inject(TUI_SHEET);\n private readonly scroll$ = inject(TUI_SHEET_SCROLL);\n private readonly zone = inject(NgZone);\n\n protected readonly rotate$ = this.scroll$.pipe(\n map((y) => tuiClamp(10 - (y - this.stop) / 5, 0, 10)),\n distinctUntilChanged(),\n tuiZonefull(this.zone),\n );\n\n private get stop(): number {\n return this.sheet.stops[0] || 0;\n }\n}\n","<ng-container *tuiLet=\"rotate$ | async as deg\">\n <div\n class=\"t-bar\"\n [ngStyle]=\"{transform: 'rotate(-' + deg + 'deg)'}\"\n ></div>\n <ng-content *ngIf=\"deg\" />\n <div\n class=\"t-bar\"\n [ngStyle]=\"{transform: 'rotate(' + deg + 'deg)'}\"\n ></div>\n</ng-container>\n","import {Directive, inject, Input} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {map} from 'rxjs';\n\nimport {TUI_SHEET, TUI_SHEET_SCROLL} from '../../sheet-tokens';\n\n// So that borders get rounded when image is visible for at least 10px\nconst OFFSET = 10;\n\n@Directive({\n standalone: false,\n selector: '[tuiSheetTop]',\n})\nexport class TuiSheetTopDirective {\n private readonly scroll$ = inject(TUI_SHEET_SCROLL);\n private readonly component = inject(TUI_SHEET);\n private readonly win = inject(WA_WINDOW);\n private readonly el = tuiInjectElement();\n\n protected readonly rounded$ = this.scroll$\n .pipe(map((y) => y < this.stop + OFFSET))\n .pipe(takeUntilDestroyed())\n .subscribe((add) =>\n add\n ? this.el.classList.add('_rounded')\n : this.el.classList.remove('_rounded'),\n );\n\n protected readonly transform$ = this.scroll$\n .pipe(\n map((y) => `translateY(${this.getY(y)}%) scaleX(-1)`),\n takeUntilDestroyed(),\n )\n .subscribe((transform) => this.el.style.setProperty('transform', transform));\n\n protected readonly clickthrough$ = this.scroll$\n .pipe(\n map((y) => !!Math.round(this.getY(y))),\n takeUntilDestroyed(),\n )\n .subscribe((add) =>\n add\n ? this.el.classList.add('_clickthrough')\n : this.el.classList.remove('_clickthrough'),\n );\n\n @Input('tuiSheetTop')\n public stop = 0;\n\n private getY(scrollTop: number): number {\n const value = scrollTop - this.stop;\n const total = this.win.innerHeight - this.component.item.offset - this.stop;\n\n return this.stop && tuiClamp(100 - (value / total) * 100, 0, 100);\n }\n}\n","import {DestroyRef, Directive, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {\n distinctUntilChanged,\n filter,\n map,\n throttleTime,\n timer,\n withLatestFrom,\n} from 'rxjs';\n\nimport {TUI_SHEET_DRAGGED, TUI_SHEET_SCROLL} from '../../sheet-tokens';\n\n@Directive({\n standalone: false,\n selector: '[tuiSheetStop]',\n})\nexport class TuiSheetStopDirective {\n private readonly scrollRef = inject(TUI_SCROLL_REF).nativeElement;\n private readonly destroyRef = inject(DestroyRef);\n private readonly el = tuiInjectElement();\n\n protected readonly $ = inject(TUI_SHEET_SCROLL)\n .pipe(\n map((y) => Math.floor(y) > this.el.offsetTop),\n distinctUntilChanged(),\n withLatestFrom(inject(TUI_SHEET_DRAGGED)),\n map(([above, dragged]) => !above && !dragged),\n filter(Boolean),\n throttleTime(100),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => {\n this.scrollRef.style.overflow = 'hidden';\n this.scrollRef.classList.remove('_stuck'); // iOS\n this.scrollRef.scrollTop = this.el.offsetTop;\n\n timer(100)\n .pipe(takeUntilDestroyed(this.destroyRef))\n // eslint-disable-next-line rxjs/no-nested-subscribe\n .subscribe(() => {\n this.scrollRef.style.overflow = '';\n });\n });\n}\n","import type {AfterViewInit, ElementRef, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n inject,\n Input,\n NgZone,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit/tokens';\nimport {map, timer} from 'rxjs';\n\nimport type {TuiSheet, TuiSheetRequiredProps} from '../../sheet';\nimport {TUI_SHEET_SCROLL} from '../../sheet-tokens';\nimport {TUI_SHEET_ID} from '../sheet-heading/sheet-heading.component';\nimport {TUI_SHEET_PROVIDERS} from './sheet.providers';\n\n@Component({\n standalone: false,\n selector: 'tui-sheet',\n templateUrl: './sheet.template.html',\n styleUrls: ['./sheet.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_SHEET_PROVIDERS,\n animations: [tuiSlideInTop],\n host: {\n ngSkipHydration: 'true',\n role: 'dialog',\n '[attr.aria-labelledby]': 'id',\n '[class._ios]': 'isIos',\n [`(${TUI_SHEET_ID})`]: 'onId($event.detail)',\n },\n})\nexport class TuiSheetComponent<T> implements TuiSheetRequiredProps<T>, AfterViewInit {\n @ViewChild('sheet')\n private readonly sheet?: ElementRef<HTMLElement>;\n\n @ViewChild('content')\n private readonly content?: ElementRef<HTMLElement>;\n\n @ViewChildren('stops')\n private readonly stopsRefs: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly scroll$ = inject(TUI_SHEET_SCROLL);\n private readonly el = tuiInjectElement();\n private readonly zone = inject(NgZone);\n\n protected id = '';\n protected readonly isIos = inject(TUI_IS_IOS);\n protected readonly moreWord$ = inject(TUI_MORE_WORD);\n protected readonly stuck$ = this.scroll$.pipe(\n map((y) => Math.floor(y) > this.contentTop),\n );\n\n protected readonly stuck$$ = this.stuck$\n .pipe(takeUntilDestroyed())\n .subscribe((add) =>\n add ? this.el.classList.add('_stuck') : this.el.classList.remove('_stuck'),\n );\n\n @Input()\n public item!: TuiSheet<T>;\n\n @tuiPure\n public get context(): TuiSheet<T> {\n return {\n ...this.item,\n scroll$: this.scroll$.pipe(tuiZonefull(this.zone)),\n };\n }\n\n public get stops(): readonly number[] {\n return this.getStops(this.stopsRefs);\n }\n\n public get imageStop(): number {\n return (this.item.imageSlide && this.stops[this.stops.length - 1]) || 0;\n }\n\n public get imageHeight(): number {\n return this.contentTop - this.sheetTop;\n }\n\n public ngAfterViewInit(): void {\n this.el.scrollTop =\n [...this.stops, this.sheetTop, this.contentTop][this.item.initial] ?? 0;\n }\n\n protected onId(id: string): void {\n this.id = id;\n }\n\n protected scrollTo(top: number = this.sheetTop): void {\n if (this.isIos) {\n const offset = top - this.el.scrollTop - 16;\n\n this.el.style.transition = 'none';\n this.el.style.transform = `scaleX(-1) translate3d(0, ${offset}px, 0)`;\n\n timer(0)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.el.style.transition = '';\n this.el.style.transform = '';\n });\n }\n\n this.el.scrollTo({top, behavior: 'smooth'});\n }\n\n protected close(): void {\n if (this.context.closeable) {\n this.context.$implicit.complete();\n }\n }\n\n private get contentTop(): number {\n return this.content?.nativeElement.offsetTop ?? Infinity;\n }\n\n private get sheetTop(): number {\n return this.sheet?.nativeElement.offsetTop ?? Infinity;\n }\n\n @tuiPure\n private getStops(stops: QueryList<ElementRef<HTMLElement>>): readonly number[] {\n return stops.map(\n ({nativeElement}) => nativeElement.offsetTop + nativeElement.clientHeight,\n );\n }\n}\n","<div\n class=\"t-bumpers\"\n (click)=\"close()\"\n>\n <div\n *ngFor=\"let stop of item.stops\"\n #stops\n class=\"t-bumper\"\n [style.marginTop]=\"stop\"\n ></div>\n</div>\n<div\n #sheet\n class=\"t-wrapper\"\n [class.t-wrapper_shadow]=\"!item.image\"\n>\n <header\n *ngIf=\"item.image\"\n class=\"t-top\"\n [tuiSheetTop]=\"imageStop\"\n >\n <img\n *polymorpheusOutlet=\"item.image as src; context: context\"\n alt=\"\"\n class=\"t-image\"\n [src]=\"src\"\n />\n </header>\n <section\n #content\n tuiSheetStop\n class=\"t-sheet\"\n >\n <div class=\"t-bar\"></div>\n <tui-sheet-bar>\n <button\n type=\"button\"\n class=\"t-button\"\n [title]=\"moreWord$ | async\"\n (click)=\"scrollTo(stops[1])\"\n ></button>\n </tui-sheet-bar>\n <div class=\"t-content\">\n <h2\n *polymorpheusOutlet=\"item.content as text; context: context\"\n tuiSheetHeading\n class=\"t-heading\"\n >\n {{ text }}\n </h2>\n </div>\n </section>\n</div>\n","import {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport type {TuiSheet} from './sheet';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\nexport interface TuiSheetOptions<I = undefined, O = unknown> {\n readonly closeable: boolean;\n readonly data: I;\n readonly image: PolymorpheusContent<TuiSheet<O, I>>;\n readonly imageSlide: boolean;\n readonly initial: number;\n readonly offset: number;\n readonly overlay: boolean;\n readonly stops: readonly string[];\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\nexport const TUI_SHEET_DEFAULT_OPTIONS: Omit<TuiSheetOptions, 'data'> = {\n image: '',\n imageSlide: true,\n stops: [],\n initial: 0,\n offset: 16,\n closeable: true,\n overlay: false,\n};\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\nexport const TUI_SHEET_OPTIONS = tuiCreateToken<Omit<TuiSheetOptions, 'data'>>({\n ...TUI_SHEET_DEFAULT_OPTIONS,\n});\n","import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGetNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {BehaviorSubject, EMPTY, Observable} from 'rxjs';\n\nimport type {TuiSheet} from './sheet';\nimport type {TuiSheetOptions} from './sheet-options';\nimport {TUI_SHEET_OPTIONS} from './sheet-options';\n\n/**\n * @deprecated: use {@link TuiSheetDialogService}\n * https://taiga-ui.dev/components/sheet-dialog\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiSheetService {\n private readonly doc = inject(DOCUMENT);\n private readonly options = inject<TuiSheetOptions>(TUI_SHEET_OPTIONS);\n public readonly sheets$ = new BehaviorSubject<Array<TuiSheet<any, any>>>([]);\n\n public open<G>(\n content: PolymorpheusContent<TuiSheet<G>>,\n options: Partial<TuiSheetOptions> = {},\n ): Observable<G> {\n return new Observable(($implicit) => {\n const completeWith = (result: G): void => {\n $implicit.next(result);\n $implicit.complete();\n };\n const sheet: TuiSheet<any> = {\n ...this.options,\n ...options,\n content,\n completeWith,\n $implicit,\n scroll$: EMPTY,\n };\n const focused = tuiGetNativeFocused(this.doc);\n\n if (tuiIsHTMLElement(focused) && sheet.overlay) {\n focused.blur();\n }\n\n this.sheets$.next([...this.sheets$.value, sheet]);\n\n return () => {\n this.sheets$.next(this.sheets$.value.filter((item) => item !== sheet));\n };\n });\n }\n}\n","import {ContentChild, Directive, inject, Input, NgZone} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiIsFalsy, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {\n debounceTime,\n distinctUntilChanged,\n filter,\n map,\n race,\n startWith,\n switchMap,\n take,\n timer,\n} from 'rxjs';\n\nimport {TuiSheetComponent} from '../../components/sheet/sheet.component';\nimport {TUI_SHEET_DRAGGED, TUI_SHEET_SCROLL} from '../../sheet-tokens';\n\n// Safety offset for shadow\nconst OFFSET = 16;\n\nfunction processDragged(\n dragged$: Observable<boolean>,\n scroll$: Observable<unknown>,\n): Observable<boolean> {\n const touchstart$ = dragged$.pipe(filter(Boolean));\n const touchend$ = dragged$.pipe(filter(tuiIsFalsy));\n const race$ = race(scroll$, timer(100)).pipe(\n debounceTime(200),\n take(1),\n map(TUI_FALSE_HANDLER),\n );\n\n return touchstart$.pipe(\n switchMap(() =>\n touchend$.pipe(\n switchMap(() => race$),\n startWith(true),\n ),\n ),\n startWith(false),\n );\n}\n\n@Directive({\n standalone: false,\n selector: '[tuiSheetWrapper]',\n exportAs: 'tuiSheetWrapper',\n})\nexport class TuiSheetWrapperDirective {\n @ContentChild(TuiSheetComponent)\n private readonly sheet?: TuiSheetComponent<unknown>;\n\n @ContentChild(TuiSheetComponent, {read: TUI_SHEET_DRAGGED, static: true})\n private readonly dragged$!: Observable<boolean>;\n\n @ContentChild(TuiSheetComponent, {read: TUI_SHEET_SCROLL, static: true})\n private readonly scroll$!: Observable<number>;\n\n private readonly zone = inject(NgZone);\n private readonly win = inject(WA_WINDOW);\n\n @Input()\n public tuiSheetWrapper = 16;\n\n @tuiPure\n public get overlay$(): Observable<boolean> {\n return this.scroll$.pipe(\n map((y) => y + 16 > this.win.innerHeight - this.tuiSheetWrapper),\n distinctUntilChanged(),\n tuiZonefull(this.zone),\n );\n }\n\n @tuiPure\n public get visible$(): Observable<boolean> {\n return processDragged(this.dragged$, this.scroll$).pipe(\n distinctUntilChanged(),\n tuiZonefull(this.zone),\n );\n }\n\n @tuiPure\n public get height$(): Observable<number | null> {\n return this.scroll$.pipe(map(this.getHeight.bind(this)));\n }\n\n private getHeight(value: number): number | null {\n return this.sheet?.context.overlay\n ? null\n : tuiClamp(this.withImage(value) + OFFSET, OFFSET, this.win.innerHeight);\n }\n\n private withImage(value: number): number {\n return !this.sheet?.imageStop || Math.floor(value) > this.sheet.imageStop\n ? value\n : value - this.sheet.imageHeight;\n }\n}\n","import {Directive, inject, NgZone, Output} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiIfMap, tuiTypedFromEvent, tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFalsy} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {distinctUntilChanged, filter, merge, startWith} from 'rxjs';\n\nimport {TuiSheetComponent} from '../../components/sheet/sheet.component';\nimport {TUI_SHEET_CLOSE} from '../../components/sheet-heading/sheet-heading.component';\nimport {TUI_SHEET_DRAGGED, TUI_SHEET_SCROLL} from '../../sheet-tokens';\n\n@Directive({\n standalone: false,\n selector: 'tui-sheet[close]',\n})\nexport class TuiSheetCloseDirective {\n private readonly zone = inject(NgZone);\n private readonly dragged$ = inject(TUI_SHEET_DRAGGED);\n private readonly scroll$ = inject(TUI_SHEET_SCROLL);\n private readonly win = inject(WA_WINDOW);\n private readonly el = tuiInjectElement();\n private readonly sheet = inject(TuiSheetComponent);\n\n @Output()\n public readonly close: Observable<unknown> = merge(\n tuiTypedFromEvent(this.el, TUI_SHEET_CLOSE),\n this.dragged$.pipe(\n tuiIfMap(() => this.scroll$.pipe(startWith(this.el.scrollTop)), tuiIsFalsy),\n filter((y) => this.sheet.item?.closeable && this.shouldClose(y)),\n distinctUntilChanged(),\n tuiZonefull(this.zone),\n ),\n );\n\n private shouldClose(scrollTop: number): boolean {\n const height = Math.min(\n this.win.innerHeight,\n this.el.scrollHeight - this.win.innerHeight,\n );\n const min = Math.min(height, this.sheet.stops[0] || Infinity);\n\n return scrollTop < min / 2;\n }\n}\n","import type {OnInit} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n inject,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {TUI_WINDOW_SIZE} from '@taiga-ui/cdk/tokens';\nimport {tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TUI_ANIMATIONS_SPEED} from '@taiga-ui/core/tokens';\nimport {tuiToAnimationOptions} from '@taiga-ui/core/utils/miscellaneous';\nimport {map} from 'rxjs';\n\nimport type {TuiSheet} from '../../sheet';\nimport {TuiSheetService} from '../../sheet.service';\n\n@Component({\n standalone: false,\n selector: 'tui-sheets-host',\n templateUrl: './sheets-host.template.html',\n styleUrls: ['./sheets-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideInTop, tuiFadeIn],\n host: {\n ngSkipHydration: 'true',\n },\n})\nexport class TuiSheetsHostComponent implements OnInit {\n private readonly service = inject(TuiSheetService);\n private readonly destroyRef = inject(DestroyRef);\n private readonly cdr = inject(ChangeDetectorRef);\n protected readonly height$ = inject(TUI_WINDOW_SIZE).pipe(map(({height}) => height));\n\n protected sheets: ReadonlyArray<TuiSheet<any>> = [];\n\n protected readonly options = tuiToAnimationOptions(inject(TUI_ANIMATIONS_SPEED));\n\n public ngOnInit(): void {\n // Due to this view being parallel to app content, `markForCheck` from `async` pipe\n // can happen after view was checked, so calling `detectChanges` instead\n this.service.sheets$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((sheets) => {\n this.sheets = sheets;\n this.cdr.detectChanges();\n });\n }\n\n protected close({closeable, $implicit}: TuiSheet<unknown>): void {\n if (closeable) {\n $implicit.complete();\n }\n }\n}\n","<div\n *ngFor=\"let item of sheets\"\n #wrapper=\"tuiSheetWrapper\"\n class=\"t-wrapper\"\n [@tuiFadeIn]=\"options\"\n [@tuiSlideInTop]=\"options\"\n [class.t-wrapper_closeable]=\"item.closeable\"\n [class.t-wrapper_overlay]=\"item.overlay || (wrapper.overlay$ | async)\"\n [class.t-wrapper_visible]=\"wrapper.visible$ | async\"\n [style.height.px]=\"wrapper.height$ | async\"\n [tuiSheetWrapper]=\"item.offset\"\n (click.self)=\"close(item)\"\n>\n <tui-sheet\n tuiScrollRef\n [item]=\"item\"\n [style.height.px]=\"((height$ | async) || 0) - item.offset\"\n (close)=\"close(item)\"\n />\n</div>\n<div\n class=\"t-overlay\"\n (click)=\"sheets[0] && close(sheets[0])\"\n></div>\n","import {Directive, inject, Input, Output} from '@angular/core';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\nimport {endWith, ignoreElements, share, Subject} from 'rxjs';\n\nimport type {TuiSheet} from './sheet';\nimport {TuiSheetService} from './sheet.service';\nimport type {TuiSheetOptions} from './sheet-options';\n\n/**\n * @deprecated: use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\n@Directive({\n standalone: false,\n selector: 'ng-template[tuiSheet]',\n})\nexport class TuiSheetDirective extends PolymorpheusTemplate<TuiSheet<never>> {\n private readonly service = inject(TuiSheetService);\n private readonly open$ = new Subject<boolean>();\n\n @Input('tuiSheetOptions')\n public options: Partial<TuiSheetOptions> = {};\n\n @Output()\n public readonly tuiSheetChange = this.open$.pipe(\n tuiIfMap(() =>\n this.service.open(this, this.options).pipe(ignoreElements(), endWith(false)),\n ),\n share(),\n );\n\n @Input()\n public set tuiSheet(open: boolean) {\n this.open$.next(open);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule, NO_ERRORS_SCHEMA} from '@angular/core';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiSheetComponent} from './components/sheet/sheet.component';\nimport {TuiSheetBarComponent} from './components/sheet-bar/sheet-bar.component';\nimport {TuiSheetHeadingComponent} from './components/sheet-heading/sheet-heading.component';\nimport {TuiSheetsHostComponent} from './components/sheets-host/sheets-host.component';\nimport {TuiSheetCloseDirective} from './directives/sheet-close/sheet-close.directive';\nimport {TuiSheetStopDirective} from './directives/sheet-stop/sheet-stop.directive';\nimport {TuiSheetTopDirective} from './directives/sheet-top/sheet-top.directive';\nimport {TuiSheetWrapperDirective} from './directives/sheet-wrapper/sheet-wrapper.directive';\nimport {TuiSheetDirective} from './sheet.directive';\n\n/**\n * @deprecated: use {@link TuiSheetDialog}\n * https://taiga-ui.dev/components/sheet-dialog\n */\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiLet,\n TuiButton,\n TuiScrollbar,\n ],\n declarations: [\n TuiSheetsHostComponent,\n TuiSheetComponent,\n TuiSheetBarComponent,\n TuiSheetHeadingComponent,\n TuiSheetTopDirective,\n TuiSheetDirective,\n TuiSheetWrapperDirective,\n TuiSheetCloseDirective,\n TuiSheetStopDirective,\n ],\n exports: [\n TuiSheetsHostComponent,\n TuiSheetComponent,\n TuiSheetHeadingComponent,\n TuiSheetDirective,\n ],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class TuiSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","OFFSET","i3.TuiSheetBarComponent","i4.TuiSheetHeadingComponent","i5.TuiSheetTopDirective","i6.TuiSheetStopDirective","i2.TuiSheetComponent","i3.TuiSheetWrapperDirective","i4.TuiSheetCloseDirective"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { tuiIsString, tuiCreateTokenFromFactory, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
1
+ import { tuiIsString, tuiCreateTokenFromFactory, tuiCreateToken, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
2
2
  import { __decorate } from 'tslib';
3
3
  import { DOCUMENT, AsyncPipe, NgIf } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { inject, SecurityContext, Injectable, InjectionToken, SkipSelf, Optional, Component, ChangeDetectionStrategy, Input } from '@angular/core';
5
+ import { inject, SecurityContext, Injectable, SkipSelf, Optional, Component, ChangeDetectionStrategy, Input } from '@angular/core';
6
6
  import { DomSanitizer } from '@angular/platform-browser';
7
7
  import { WA_WINDOW } from '@ng-web-apis/common';
8
8
  import { TuiLet } from '@taiga-ui/cdk/directives/let';
@@ -210,7 +210,7 @@ const TUI_SVG_OPTIONS = tuiCreateTokenFromFactory(() => ({
210
210
  * @deprecated: drop in v5.0 use {@link TuiIcon}
211
211
  * https://taiga-ui.dev/components/icon
212
212
  */
213
- const TUI_SVG_SRC_INTERCEPTORS = new InjectionToken('[TUI_SVG_SRC_INTERCEPTORS]');
213
+ const TUI_SVG_SRC_INTERCEPTORS = tuiCreateToken();
214
214
  /**
215
215
  * @deprecated: drop in v5.0 use {@link TuiIcon}
216
216
  * https://taiga-ui.dev/components/icon