@taiga-ui/core 5.19.0 → 5.20.0-canary.4d72ec2

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 (62) hide show
  1. package/components/calendar/calendar.component.d.ts +1 -1
  2. package/components/input/input.directive.d.ts +14 -3
  3. package/components/scrollbar/scroll-controls.component.d.ts +3 -2
  4. package/components/scrollbar/scroll-ref.directive.d.ts +1 -0
  5. package/components/scrollbar/scrollbar.component.d.ts +1 -1
  6. package/components/scrollbar/scrollbar.directive.d.ts +2 -3
  7. package/components/scrollbar/scrollbar.service.d.ts +4 -1
  8. package/fesm2022/taiga-ui-core-components-button.mjs +2 -2
  9. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  10. package/fesm2022/taiga-ui-core-components-calendar.mjs +2 -2
  11. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  12. package/fesm2022/taiga-ui-core-components-carousel.mjs +3 -1
  13. package/fesm2022/taiga-ui-core-components-carousel.mjs.map +1 -1
  14. package/fesm2022/taiga-ui-core-components-cell.mjs +3 -3
  15. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  16. package/fesm2022/taiga-ui-core-components-checkbox.mjs +2 -2
  17. package/fesm2022/taiga-ui-core-components-checkbox.mjs.map +1 -1
  18. package/fesm2022/taiga-ui-core-components-data-list.mjs +4 -4
  19. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  20. package/fesm2022/taiga-ui-core-components-error.mjs +5 -7
  21. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-core-components-icon.mjs +2 -2
  23. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  24. package/fesm2022/taiga-ui-core-components-input.mjs +19 -8
  25. package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-core-components-label.mjs +3 -3
  27. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-core-components-link.mjs +2 -2
  29. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-core-components-notification.mjs +2 -2
  31. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-core-components-radio.mjs +2 -2
  33. package/fesm2022/taiga-ui-core-components-radio.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-core-components-root.mjs +3 -3
  35. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  36. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +86 -53
  37. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-core-components-textfield.mjs +4 -4
  39. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-core-components-title.mjs +3 -3
  41. package/fesm2022/taiga-ui-core-components-title.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-core-directives-appearance.mjs +3 -3
  43. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-core-directives-group.mjs +3 -3
  45. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-core-directives-icons.mjs +3 -3
  47. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-core-portals-alert.mjs +3 -3
  49. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-core-portals-dialog.mjs +2 -2
  51. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-core-portals-dropdown.mjs +25 -12
  53. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-core-portals-modal.mjs +3 -3
  55. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-core-tokens.mjs +4 -2
  57. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  58. package/package.json +4 -4
  59. package/portals/dropdown/dropdown-context.directive.d.ts +1 -0
  60. package/portals/dropdown/dropdown-hover.directive.d.ts +1 -0
  61. package/tokens/index.d.ts +1 -0
  62. package/tokens/timeline-support.d.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-error.mjs","sources":["../../../projects/core/components/error/error.component.ts","../../../projects/core/components/error/error.template.html","../../../projects/core/components/error/error.directive.ts","../../../projects/core/components/error/error.pipe.ts","../../../projects/core/components/error/error.ts","../../../projects/core/components/error/taiga-ui-core-components-error.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, computed, inject, input} from '@angular/core';\nimport {TuiValidationError} from '@taiga-ui/cdk/classes';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_DEFAULT_ERROR_MESSAGE} from '@taiga-ui/core/tokens';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\n@Component({\n selector: 'tui-error',\n imports: [PolymorpheusOutlet, TuiAnimated],\n templateUrl: './error.template.html',\n styleUrl: './error.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'[class._error]': 'content()'},\n})\nexport class TuiErrorComponent {\n protected readonly default = inject(TUI_DEFAULT_ERROR_MESSAGE);\n\n protected readonly content = computed((error = this.error()) =>\n tuiIsString(error) ? new TuiValidationError(error) : error,\n );\n\n public readonly error = input<TuiValidationError | string | null>(null);\n}\n","@if (content(); as error) {\n <span\n tuiAnimated\n class=\"t-message-text\"\n >\n <span\n *polymorpheusOutlet=\"error.message || default() as text; context: error.context || {}\"\n [innerHTML]=\"text\"\n ></span>\n </span>\n}\n","import {\n computed,\n Directive,\n inject,\n input,\n isSignal,\n model,\n type Signal,\n TemplateRef,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {\n type AbstractControl,\n type ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n NgControl,\n type ValidationErrors,\n type Validator,\n} from '@angular/forms';\nimport {\n type TuiFormValueControl,\n type TuiSignalValidationError,\n TuiValidationError,\n} from '@taiga-ui/cdk/classes';\nimport {TuiId} from '@taiga-ui/cdk/directives/id';\nimport {type TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiDirectiveBinding, tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_VALIDATION_ERRORS} from '@taiga-ui/core/tokens';\nimport {\n PolymorpheusComponent,\n type PolymorpheusContent,\n PolymorpheusTemplate,\n} from '@taiga-ui/polymorpheus';\nimport {\n BehaviorSubject,\n distinctUntilChanged,\n filter,\n map,\n startWith,\n switchMap,\n} from 'rxjs';\n\nimport {TuiErrorComponent} from './error.component';\n\n@Directive({\n hostDirectives: [TuiId],\n host: {'aria-live': 'polite'},\n})\nexport abstract class AbstractTuiErrorDirective {\n protected abstract readonly error: Signal<TuiValidationError | null>;\n protected readonly el = tuiInjectElement();\n protected readonly content = inject(TUI_VALIDATION_ERRORS);\n\n public readonly order = input<readonly string[]>([]);\n\n protected readonly $ = tuiDirectiveBinding(\n TuiErrorComponent,\n 'error',\n computed(() => this.error()),\n {self: true, optional: true},\n );\n\n protected getError(\n context: unknown,\n content?: PolymorpheusContent | Signal<PolymorpheusContent>,\n ): TuiValidationError {\n context = isSignal(context) ? context() : context;\n\n if (context instanceof TuiValidationError) {\n return context;\n }\n\n if (content === undefined && isContent(context)) {\n return getError(context);\n }\n\n if (isSignal(content)) {\n return getError(content(), context);\n }\n\n if (content instanceof Function) {\n const message = content(context);\n\n return getError(isSignal(message) ? message() : message, context);\n }\n\n return getError(content, context);\n }\n}\n\n@Directive({\n selector:\n 'tui-error[ngModel], tui-error[formControlName], tui-error[formControl], tui-error[formGroup], tui-error[formGroupName], tui-error[formArrayName], tui-error[formArray]',\n providers: [\n tuiProvide(NG_VALUE_ACCESSOR, TuiErrorDirective, true),\n tuiProvide(NG_VALIDATORS, TuiErrorDirective, true),\n ],\n host: {'(document:tui-validator.zoneless)': 'onValidator($event.detail)'},\n})\nexport class TuiErrorDirective\n extends AbstractTuiErrorDirective\n implements ControlValueAccessor, Validator\n{\n private readonly control = new BehaviorSubject<AbstractControl | null>(null);\n private readonly errors = toSignal(\n this.control.pipe(\n filter(Boolean),\n distinctUntilChanged(),\n switchMap((control) =>\n control.events.pipe(\n startWith(null),\n map(() => !control.disabled && control.touched && control.errors),\n ),\n ),\n ),\n );\n\n private readonly key = computed(\n (errors = this.errors() || {}) =>\n this.order().find((id) => errors[id]) || Object.keys(errors)[0] || '',\n );\n\n public readonly error = computed(\n (errors = this.errors() || null) =>\n errors && this.getError(errors[this.key()], this.content[this.key()]),\n );\n\n public registerOnChange(): void {}\n\n public registerOnTouched(): void {}\n\n public writeValue(): void {}\n\n public validate(control: AbstractControl): ValidationErrors | null {\n this.control.next(control);\n\n return null;\n }\n\n protected onValidator(validator: TuiNativeValidator): void {\n if (this.control.value && validator.control === this.control.value) {\n validator.id = this.el.id;\n }\n }\n}\n\n@Directive({\n selector: 'tui-error[formField]',\n host: {'(document:tui-validator.zoneless)': 'onValidator($event.detail)'},\n})\nexport class TuiErrorField\n extends AbstractTuiErrorDirective\n implements TuiFormValueControl<unknown>\n{\n // TODO: use inject(FORM_FIELD) from `@angular/forms/signals` after update to Angular >= 21\n // @ts-expect-error\n private readonly field = inject(NgControl, {self: true}).field;\n\n public readonly errors = input<readonly TuiSignalValidationError[]>([]);\n public readonly touched = input(false);\n public readonly value = model<unknown>(null);\n\n public readonly error = computed((errors = this.errors()) => {\n if (!this.touched()) {\n return null;\n }\n\n const kind = this.order().find((id) => errors.find(({kind}) => kind === id));\n const error = kind ? errors.find((x) => x.kind === kind) : errors[0];\n\n return error\n ? this.getError(error, error.message ?? this.content[error.kind])\n : null;\n });\n\n protected onValidator(validator: TuiNativeValidator): void {\n /**\n * Signal forms have no `AbstractControl`: `inject(NgControl)` returns Angular's internal\n * `InteropNgControl`, and every `[formField]` builds ITS OWN INSTANCE. So two bindings of the\n * same field hold two different controls, and comparing them by identity is meaningless:\n *\n * ```html\n * <input [formField]=\"form.name\" />\n * <tui-error [formField]=\"form.name\" />\n * ```\n *\n * What they do share is the `FieldState` behind them, but the only way to it is the\n * undocumented `field` property — hence the index access.\n *\n * TODO: read the state through the public `FORM_FIELD` token once Taiga UI drops Angular < 22\n * https://angular.dev/api/forms/signals/FORM_FIELD\n */\n // @ts-ignore\n const validatorField = validator.control.field?.();\n const field = this.field?.();\n\n if (field && validatorField === field) {\n validator.id = this.el.id;\n }\n }\n}\n\nfunction getError(content: unknown = '', context?: any): TuiValidationError {\n return new TuiValidationError(content as PolymorpheusContent, context);\n}\n\nfunction isContent(value: unknown): value is PolymorpheusContent {\n return (\n tuiIsString(value) ||\n value instanceof TemplateRef ||\n value instanceof PolymorpheusTemplate ||\n value instanceof PolymorpheusComponent\n );\n}\n","import {inject, Pipe, type PipeTransform, untracked} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TuiErrorDirective} from './error.directive';\n\n@Pipe({\n name: 'tuiError',\n pure: false,\n})\nexport class TuiErrorPipe implements PipeTransform {\n private readonly control = inject(NgControl);\n private readonly directive = new TuiErrorDirective();\n\n public transform(order: readonly string[]): PolymorpheusContent {\n untracked(() => {\n this.directive.validate(this.control.control!);\n tuiSetSignal(this.directive.order, order);\n });\n\n const error = this.directive.error();\n\n if (!error) {\n return '';\n }\n\n return typeof error.message === 'function'\n ? error.message(error.context)\n : error.message;\n }\n}\n","import {TuiErrorComponent} from './error.component';\nimport {TuiErrorDirective, TuiErrorField} from './error.directive';\nimport {TuiErrorPipe} from './error.pipe';\n\nexport const TuiError = [\n TuiErrorComponent,\n TuiErrorDirective,\n TuiErrorField,\n TuiErrorPipe,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-error.mjs","sources":["../../../projects/core/components/error/error.component.ts","../../../projects/core/components/error/error.template.html","../../../projects/core/components/error/error.directive.ts","../../../projects/core/components/error/error.pipe.ts","../../../projects/core/components/error/error.ts","../../../projects/core/components/error/taiga-ui-core-components-error.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, computed, inject, input} from '@angular/core';\nimport {TuiValidationError} from '@taiga-ui/cdk/classes';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_DEFAULT_ERROR_MESSAGE} from '@taiga-ui/core/tokens';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\n@Component({\n selector: 'tui-error',\n imports: [PolymorpheusOutlet, TuiAnimated],\n templateUrl: './error.template.html',\n styleUrl: './error.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'[class._error]': 'content()'},\n})\nexport class TuiErrorComponent {\n protected readonly default = inject(TUI_DEFAULT_ERROR_MESSAGE);\n\n protected readonly content = computed((error = this.error()) =>\n tuiIsString(error) ? new TuiValidationError(error) : error,\n );\n\n public readonly error = input<TuiValidationError | string | null>(null);\n}\n","@if (content(); as error) {\n <span\n tuiAnimated\n class=\"t-content\"\n >\n <span\n *polymorpheusOutlet=\"error.message || default() as text; context: error.context || {}\"\n [innerHTML]=\"text\"\n ></span>\n </span>\n}\n","import {\n computed,\n Directive,\n inject,\n input,\n isSignal,\n model,\n type Signal,\n TemplateRef,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {\n type AbstractControl,\n type ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n type ValidationErrors,\n type Validator,\n} from '@angular/forms';\nimport {\n type TuiFormValueControl,\n type TuiSignalValidationError,\n TuiValidationError,\n} from '@taiga-ui/cdk/classes';\nimport {TuiId} from '@taiga-ui/cdk/directives/id';\nimport {type TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {\n tuiDirectiveBinding,\n tuiInjectFormField,\n tuiProvide,\n} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_VALIDATION_ERRORS} from '@taiga-ui/core/tokens';\nimport {\n PolymorpheusComponent,\n type PolymorpheusContent,\n PolymorpheusTemplate,\n} from '@taiga-ui/polymorpheus';\nimport {\n BehaviorSubject,\n distinctUntilChanged,\n filter,\n map,\n startWith,\n switchMap,\n} from 'rxjs';\n\nimport {TuiErrorComponent} from './error.component';\n\n@Directive({\n hostDirectives: [TuiId],\n host: {'aria-live': 'polite'},\n})\nexport abstract class AbstractTuiErrorDirective {\n protected abstract readonly error: Signal<TuiValidationError | null>;\n protected readonly el = tuiInjectElement();\n protected readonly content = inject(TUI_VALIDATION_ERRORS);\n\n public readonly order = input<readonly string[]>([]);\n\n protected readonly $ = tuiDirectiveBinding(\n TuiErrorComponent,\n 'error',\n computed(() => this.error()),\n {self: true, optional: true},\n );\n\n protected getError(\n context: unknown,\n content?: PolymorpheusContent | Signal<PolymorpheusContent>,\n ): TuiValidationError {\n context = isSignal(context) ? context() : context;\n\n if (context instanceof TuiValidationError) {\n return context;\n }\n\n if (content === undefined && isContent(context)) {\n return getError(context);\n }\n\n if (isSignal(content)) {\n return getError(content(), context);\n }\n\n if (content instanceof Function) {\n const message = content(context);\n\n return getError(isSignal(message) ? message() : message, context);\n }\n\n return getError(content, context);\n }\n}\n\n@Directive({\n selector:\n 'tui-error[ngModel], tui-error[formControlName], tui-error[formControl], tui-error[formGroup], tui-error[formGroupName], tui-error[formArrayName], tui-error[formArray]',\n providers: [\n tuiProvide(NG_VALUE_ACCESSOR, TuiErrorDirective, true),\n tuiProvide(NG_VALIDATORS, TuiErrorDirective, true),\n ],\n host: {'(document:tui-validator.zoneless)': 'onValidator($event.detail)'},\n})\nexport class TuiErrorDirective\n extends AbstractTuiErrorDirective\n implements ControlValueAccessor, Validator\n{\n private readonly control = new BehaviorSubject<AbstractControl | null>(null);\n private readonly errors = toSignal(\n this.control.pipe(\n filter(Boolean),\n distinctUntilChanged(),\n switchMap((control) =>\n control.events.pipe(\n startWith(null),\n map(() => !control.disabled && control.touched && control.errors),\n ),\n ),\n ),\n );\n\n private readonly key = computed(\n (errors = this.errors() || {}) =>\n this.order().find((id) => errors[id]) || Object.keys(errors)[0] || '',\n );\n\n public readonly error = computed(\n (errors = this.errors() || null) =>\n errors && this.getError(errors[this.key()], this.content[this.key()]),\n );\n\n public registerOnChange(): void {}\n\n public registerOnTouched(): void {}\n\n public writeValue(): void {}\n\n public validate(control: AbstractControl): ValidationErrors | null {\n this.control.next(control);\n\n return null;\n }\n\n protected onValidator(validator: TuiNativeValidator): void {\n if (this.control.value && validator.control === this.control.value) {\n validator.id = this.el.id;\n }\n }\n}\n\n@Directive({\n selector: 'tui-error[formField]',\n host: {'(document:tui-validator.zoneless)': 'onValidator($event.detail)'},\n})\nexport class TuiErrorField\n extends AbstractTuiErrorDirective\n implements TuiFormValueControl<unknown>\n{\n private readonly field = tuiInjectFormField({self: true});\n\n public readonly errors = input<readonly TuiSignalValidationError[]>([]);\n public readonly touched = input(false);\n public readonly value = model<unknown>(null);\n\n public readonly error = computed((errors = this.errors()) => {\n if (!this.touched()) {\n return null;\n }\n\n const kind = this.order().find((id) => errors.find(({kind}) => kind === id));\n const error = kind ? errors.find((x) => x.kind === kind) : errors[0];\n\n return error\n ? this.getError(error, error.message ?? this.content[error.kind])\n : null;\n });\n\n protected onValidator(validator: TuiNativeValidator): void {\n /**\n * Signal forms have no `AbstractControl`: `inject(NgControl)` returns Angular's internal\n * `InteropNgControl`, and every `[formField]` builds ITS OWN INSTANCE. So two bindings of the\n * same field hold two different controls, and comparing them by identity is meaningless:\n *\n * ```html\n * <input [formField]=\"form.name\" />\n * <tui-error [formField]=\"form.name\" />\n * ```\n *\n * What they do share is the `FieldState` behind them, but the only way to it is the\n * undocumented `field` property — hence the index access.\n *\n * TODO: read the state through the public `FORM_FIELD` token once Taiga UI drops Angular < 22\n * https://angular.dev/api/forms/signals/FORM_FIELD\n */\n // @ts-ignore\n const validatorField = validator.control.field?.();\n const field = this.field();\n\n if (field && validatorField === field) {\n validator.id = this.el.id;\n }\n }\n}\n\nfunction getError(content: unknown = '', context?: any): TuiValidationError {\n return new TuiValidationError(content as PolymorpheusContent, context);\n}\n\nfunction isContent(value: unknown): value is PolymorpheusContent {\n return (\n tuiIsString(value) ||\n value instanceof TemplateRef ||\n value instanceof PolymorpheusTemplate ||\n value instanceof PolymorpheusComponent\n );\n}\n","import {inject, Pipe, type PipeTransform, untracked} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TuiErrorDirective} from './error.directive';\n\n@Pipe({\n name: 'tuiError',\n pure: false,\n})\nexport class TuiErrorPipe implements PipeTransform {\n private readonly control = inject(NgControl);\n private readonly directive = new TuiErrorDirective();\n\n public transform(order: readonly string[]): PolymorpheusContent {\n untracked(() => {\n this.directive.validate(this.control.control!);\n tuiSetSignal(this.directive.order, order);\n });\n\n const error = this.directive.error();\n\n if (!error) {\n return '';\n }\n\n return typeof error.message === 'function'\n ? error.message(error.context)\n : error.message;\n }\n}\n","import {TuiErrorComponent} from './error.component';\nimport {TuiErrorDirective, TuiErrorField} from './error.directive';\nimport {TuiErrorPipe} from './error.pipe';\n\nexport const TuiError = [\n TuiErrorComponent,\n TuiErrorDirective,\n TuiErrorField,\n TuiErrorPipe,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ class TuiIcon {
12
12
  this.background = input('');
13
13
  }
14
14
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.25", type: TuiIcon, isStandalone: true, selector: "tui-icon:not([tuiBadge])", inputs: { background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--t-icon-bg": "mask()" } }, hostDirectives: [{ directive: i1.TuiIcons, inputs: ["iconStart", "icon", "iconEnd", "badge"] }], ngImport: i0, template: '', isInline: true, styles: ["tui-icon:where(*[data-tui-version=\"5.19.0\"]){--tui-icon-size: 1em;position:relative;display:inline-flex;inline-size:1em;block-size:1em;font-size:1.5rem;flex-shrink:0;border:0 solid transparent;vertical-align:middle;box-sizing:border-box;-webkit-mask-image:var(--t-icon-bg);mask-image:var(--t-icon-bg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;zoom:calc(100%*clamp(0px,var(--tui-font-offset) - 10px,1px)/.8px)}@media(hover:hover)and (pointer:fine){tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-appearance=icon]:hover{color:var(--tui-text-secondary)}}tui-icon:where(*[data-tui-version=\"5.19.0\"])[tuiIcons]:before,tui-icon:where(*[data-tui-version=\"5.19.0\"])[tuiIcons]:after{zoom:1}tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-end]:before{-webkit-mask-image:var(--t-icon-start),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em);mask-image:var(--t-icon-start),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em);-webkit-mask-composite:source-in;mask-composite:intersect}tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-end][data-icon-start=img]:before,tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-end][data-icon-start=font]:before{-webkit-mask-image:radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em);mask-image:radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em)}tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-end]:after{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-start]:before{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-start]:after{transform:translate(36%,36%);--tui-icon-size: .5715em}tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-start=font]:before,tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-end=font]:after{zoom:.667}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.25", type: TuiIcon, isStandalone: true, selector: "tui-icon:not([tuiBadge])", inputs: { background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--t-icon-bg": "mask()" } }, hostDirectives: [{ directive: i1.TuiIcons, inputs: ["iconStart", "icon", "iconEnd", "badge"] }], ngImport: i0, template: '', isInline: true, styles: ["tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]){--tui-icon-size: 1em;position:relative;display:inline-flex;inline-size:1em;block-size:1em;font-size:1.5rem;flex-shrink:0;border:0 solid transparent;vertical-align:middle;box-sizing:border-box;-webkit-mask-image:var(--t-icon-bg);mask-image:var(--t-icon-bg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;zoom:calc(100%*clamp(0px,var(--tui-font-offset) - 10px,1px)/.8px)}@media(hover:hover)and (pointer:fine){tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-appearance=icon]:hover{color:var(--tui-text-secondary)}}tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[tuiIcons]:before,tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[tuiIcons]:after{zoom:1}tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-end]:before{-webkit-mask-image:var(--t-icon-start),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em);mask-image:var(--t-icon-start),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em);-webkit-mask-composite:source-in;mask-composite:intersect}tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-end][data-icon-start=img]:before,tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-end][data-icon-start=font]:before{-webkit-mask-image:radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em);mask-image:radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em)}tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-end]:after{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-start]:before{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-start]:after{transform:translate(36%,36%);--tui-icon-size: .5715em}tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-start=font]:before,tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-end=font]:after{zoom:.667}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
16
16
  }
17
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiIcon, decorators: [{
18
18
  type: Component,
@@ -21,7 +21,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
21
21
  directive: TuiIcons,
22
22
  inputs: ['iconStart: icon', 'iconEnd: badge'],
23
23
  },
24
- ], host: { '[style.--t-icon-bg]': 'mask()' }, styles: ["tui-icon:where(*[data-tui-version=\"5.19.0\"]){--tui-icon-size: 1em;position:relative;display:inline-flex;inline-size:1em;block-size:1em;font-size:1.5rem;flex-shrink:0;border:0 solid transparent;vertical-align:middle;box-sizing:border-box;-webkit-mask-image:var(--t-icon-bg);mask-image:var(--t-icon-bg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;zoom:calc(100%*clamp(0px,var(--tui-font-offset) - 10px,1px)/.8px)}@media(hover:hover)and (pointer:fine){tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-appearance=icon]:hover{color:var(--tui-text-secondary)}}tui-icon:where(*[data-tui-version=\"5.19.0\"])[tuiIcons]:before,tui-icon:where(*[data-tui-version=\"5.19.0\"])[tuiIcons]:after{zoom:1}tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-end]:before{-webkit-mask-image:var(--t-icon-start),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em);mask-image:var(--t-icon-start),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em);-webkit-mask-composite:source-in;mask-composite:intersect}tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-end][data-icon-start=img]:before,tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-end][data-icon-start=font]:before{-webkit-mask-image:radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em);mask-image:radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em)}tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-end]:after{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-start]:before{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-start]:after{transform:translate(36%,36%);--tui-icon-size: .5715em}tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-start=font]:before,tui-icon:where(*[data-tui-version=\"5.19.0\"])[data-icon-end=font]:after{zoom:.667}\n"] }]
24
+ ], host: { '[style.--t-icon-bg]': 'mask()' }, styles: ["tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]){--tui-icon-size: 1em;position:relative;display:inline-flex;inline-size:1em;block-size:1em;font-size:1.5rem;flex-shrink:0;border:0 solid transparent;vertical-align:middle;box-sizing:border-box;-webkit-mask-image:var(--t-icon-bg);mask-image:var(--t-icon-bg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;zoom:calc(100%*clamp(0px,var(--tui-font-offset) - 10px,1px)/.8px)}@media(hover:hover)and (pointer:fine){tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-appearance=icon]:hover{color:var(--tui-text-secondary)}}tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[tuiIcons]:before,tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[tuiIcons]:after{zoom:1}tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-end]:before{-webkit-mask-image:var(--t-icon-start),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em);mask-image:var(--t-icon-start),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em);-webkit-mask-composite:source-in;mask-composite:intersect}tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-end][data-icon-start=img]:before,tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-end][data-icon-start=font]:before{-webkit-mask-image:radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em);mask-image:radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em)}tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-end]:after{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-start]:before{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-start]:after{transform:translate(36%,36%);--tui-icon-size: .5715em}tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-start=font]:before,tui-icon:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-end=font]:after{zoom:.667}\n"] }]
25
25
  }] });
26
26
 
27
27
  class TuiIconPipe {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-icon.mjs","sources":["../../../projects/core/components/icon/icon.component.ts","../../../projects/core/components/icon/icon.pipe.ts","../../../projects/core/components/icon/taiga-ui-core-components-icon.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TuiIcons} from '@taiga-ui/core/directives/icons';\n\n@Component({\n // :not([tuiBadge]) is required to avoid double matching of TuiIcons\n selector: 'tui-icon:not([tuiBadge])',\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/icon.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: TuiIcons,\n inputs: ['iconStart: icon', 'iconEnd: badge'],\n },\n ],\n host: {'[style.--t-icon-bg]': 'mask()'},\n})\nexport class TuiIcon {\n protected readonly icons = inject(TuiIcons);\n protected readonly mask = computed(() => this.icons.resolve(this.background()));\n\n public readonly background = input('');\n}\n","import {Pipe, type PipeTransform} from '@angular/core';\nimport {tuiInjectIconResolver} from '@taiga-ui/core/tokens';\n\n@Pipe({name: 'tuiIcon'})\nexport class TuiIconPipe implements PipeTransform {\n public readonly transform = tuiInjectIconResolver();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MA8Ba,OAAO,CAAA;AAnBpB,IAAA,WAAA,GAAA;AAoBuB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;AACxB,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AAE/D,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC;AACzC,IAAA;+GALY,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,OAAO,iYAhBN,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2sEAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAgBH,OAAO,EAAA,UAAA,EAAA,CAAA;kBAnBnB,SAAS;+BAEI,0BAA0B,EAAA,QAAA,EAC1B,EAAE,EAAA,aAAA,EAMG,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,cAAA,EAC/B;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,QAAQ;AACnB,4BAAA,MAAM,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;AAChD,yBAAA;AACJ,qBAAA,EAAA,IAAA,EACK,EAAC,qBAAqB,EAAE,QAAQ,EAAC,EAAA,MAAA,EAAA,CAAA,2sEAAA,CAAA,EAAA;;;MCxB9B,WAAW,CAAA;AADxB,IAAA,WAAA,GAAA;QAEoB,IAAA,CAAA,SAAS,GAAG,qBAAqB,EAAE;AACtD,IAAA;+GAFY,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,IAAI;mBAAC,EAAC,IAAI,EAAE,SAAS,EAAC;;;ACHvB;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-icon.mjs","sources":["../../../projects/core/components/icon/icon.component.ts","../../../projects/core/components/icon/icon.pipe.ts","../../../projects/core/components/icon/taiga-ui-core-components-icon.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TuiIcons} from '@taiga-ui/core/directives/icons';\n\n@Component({\n // :not([tuiBadge]) is required to avoid double matching of TuiIcons\n selector: 'tui-icon:not([tuiBadge])',\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/icon.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: TuiIcons,\n inputs: ['iconStart: icon', 'iconEnd: badge'],\n },\n ],\n host: {'[style.--t-icon-bg]': 'mask()'},\n})\nexport class TuiIcon {\n protected readonly icons = inject(TuiIcons);\n protected readonly mask = computed(() => this.icons.resolve(this.background()));\n\n public readonly background = input('');\n}\n","import {Pipe, type PipeTransform} from '@angular/core';\nimport {tuiInjectIconResolver} from '@taiga-ui/core/tokens';\n\n@Pipe({name: 'tuiIcon'})\nexport class TuiIconPipe implements PipeTransform {\n public readonly transform = tuiInjectIconResolver();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MA8Ba,OAAO,CAAA;AAnBpB,IAAA,WAAA,GAAA;AAoBuB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;AACxB,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AAE/D,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC;AACzC,IAAA;+GALY,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,OAAO,iYAhBN,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+3EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAgBH,OAAO,EAAA,UAAA,EAAA,CAAA;kBAnBnB,SAAS;+BAEI,0BAA0B,EAAA,QAAA,EAC1B,EAAE,EAAA,aAAA,EAMG,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,cAAA,EAC/B;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,QAAQ;AACnB,4BAAA,MAAM,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;AAChD,yBAAA;AACJ,qBAAA,EAAA,IAAA,EACK,EAAC,qBAAqB,EAAE,QAAQ,EAAC,EAAA,MAAA,EAAA,CAAA,+3EAAA,CAAA,EAAA;;;MCxB9B,WAAW,CAAA;AADxB,IAAA,WAAA,GAAA;QAEoB,IAAA,CAAA,SAAS,GAAG,qBAAqB,EAAE;AACtD,IAAA;+GAFY,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,IAAI;mBAAC,EAAC,IAAI,EAAE,SAAS,EAAC;;;ACHvB;;AAEG;;;;"}
@@ -2,13 +2,14 @@ import { TuiLabel } from '@taiga-ui/core/components/label';
2
2
  import { TuiTextfieldComponent, TUI_TEXTFIELD_OPTIONS, tuiAsTextfieldAccessor, TuiTextfieldOptionsDirective } from '@taiga-ui/core/components/textfield';
3
3
  import { TuiDropdownDirective, TuiDropdownContent } from '@taiga-ui/core/portals/dropdown';
4
4
  import * as i0 from '@angular/core';
5
- import { inject, computed, input, INJECTOR, effect, Directive } from '@angular/core';
5
+ import { computed, inject, input, INJECTOR, effect, Directive } from '@angular/core';
6
6
  import { NgControl } from '@angular/forms';
7
7
  import { TuiControl } from '@taiga-ui/cdk/classes';
8
8
  import * as i2 from '@taiga-ui/cdk/directives/id';
9
9
  import { TuiId } from '@taiga-ui/cdk/directives/id';
10
10
  import * as i1 from '@taiga-ui/cdk/directives/native-validator';
11
11
  import { TuiNativeValidator } from '@taiga-ui/cdk/directives/native-validator';
12
+ import { tuiInjectFormField } from '@taiga-ui/cdk/utils/di';
12
13
  import { tuiInjectElement, tuiValue } from '@taiga-ui/cdk/utils/dom';
13
14
  import { tuiSetSignal } from '@taiga-ui/cdk/utils/miscellaneous';
14
15
  import { tuiAppearance, tuiAppearanceState, tuiAppearanceMode, tuiAppearanceFocus } from '@taiga-ui/core/directives/appearance';
@@ -21,6 +22,8 @@ class TuiInputDirective {
21
22
  * TODO(v6): remove all logic inside constructor
22
23
  */
23
24
  constructor() {
25
+ this.field = tuiInjectFormField({ self: true, optional: true });
26
+ this.computedInvalid = computed(() => this.textfield.invalid() ?? (this.field() ? null : this.invalid()));
24
27
  this.el = tuiInjectElement();
25
28
  this.control = inject(NgControl, { optional: true });
26
29
  this.handlers = inject(TUI_ITEMS_HANDLERS);
@@ -33,7 +36,16 @@ class TuiInputDirective {
33
36
  this.f = tuiAppearanceFocus(computed(() => this.focused() ??
34
37
  this.textfield.tuiAppearanceFocus() ??
35
38
  this.textfield.focused()));
36
- this.readOnly = input(false);
39
+ /**
40
+ * @deprecated use `<input [readonly]="..." />` instead
41
+ * TODO(v6): delete
42
+ */
43
+ this.readOnlyLegacy = input(false, { alias: 'readOnly' });
44
+ /**
45
+ * TODO(v6): delete, it's only for backward compatibility
46
+ */
47
+ this.readOnly = computed(() => this.readonly() || this.readOnlyLegacy());
48
+ this.readonly = input(false);
37
49
  /**
38
50
  * @deprecated use `<tui-textfield [invalid]="..." />` instead
39
51
  * TODO(v6): delete
@@ -51,7 +63,7 @@ class TuiInputDirective {
51
63
  this.state = input(null);
52
64
  this.value = tuiValue(this.el);
53
65
  this.mode = computed(() => {
54
- const invalid = this.textfield.invalid() ?? this.invalid();
66
+ const invalid = this.computedInvalid();
55
67
  if (this.readOnly()) {
56
68
  return 'readonly';
57
69
  }
@@ -61,11 +73,10 @@ class TuiInputDirective {
61
73
  return invalid ? 'invalid' : null;
62
74
  });
63
75
  const injector = inject(INJECTOR);
64
- const invalid = computed(() => this.textfield.invalid() ?? this.invalid());
65
76
  effect(() => {
66
77
  const control = injector.get(TuiControl, null, { self: true });
67
78
  if (control) {
68
- tuiSetSignal(control.pseudoInvalid, invalid());
79
+ tuiSetSignal(control.pseudoInvalid, this.computedInvalid());
69
80
  }
70
81
  });
71
82
  }
@@ -83,7 +94,7 @@ class TuiInputDirective {
83
94
  }
84
95
  }
85
96
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
86
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.25", type: TuiInputDirective, isStandalone: true, selector: "input[tuiInput]", inputs: { readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, focused: { classPropertyName: "focused", publicName: "focused", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiInput": "" }, listeners: { "focusin": "0", "focusout": "0", "input": "0" }, properties: { "attr.role": "dropdown.content() && !el.matches(\"select\") ? \"combobox\" : null", "class._empty": "value() === \"\"", "readOnly": "readOnly()" } }, providers: [tuiAsTextfieldAccessor(TuiInputDirective)], hostDirectives: [{ directive: i1.TuiNativeValidator }, { directive: i2.TuiId }], ngImport: i0 }); }
97
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.25", type: TuiInputDirective, isStandalone: true, selector: "input[tuiInput]", inputs: { readOnlyLegacy: { classPropertyName: "readOnlyLegacy", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, focused: { classPropertyName: "focused", publicName: "focused", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiInput": "" }, listeners: { "focusin": "0", "focusout": "0", "input": "0" }, properties: { "attr.role": "dropdown.content() && !el.matches(\"select\") ? \"combobox\" : null", "class._empty": "value() === \"\"", "readOnly": "readOnly()" } }, providers: [tuiAsTextfieldAccessor(TuiInputDirective)], hostDirectives: [{ directive: i1.TuiNativeValidator }, { directive: i2.TuiId }], ngImport: i0 }); }
87
98
  }
88
99
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiInputDirective, decorators: [{
89
100
  type: Directive,
@@ -104,7 +115,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
104
115
  }], ctorParameters: () => [] });
105
116
  class TuiWithInput {
106
117
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiWithInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
107
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: TuiWithInput, isStandalone: true, hostDirectives: [{ directive: TuiInputDirective, inputs: ["invalid", "invalid", "focused", "focused", "readOnly", "readOnly", "state", "state"] }], ngImport: i0 }); }
118
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: TuiWithInput, isStandalone: true, hostDirectives: [{ directive: TuiInputDirective, inputs: ["invalid", "invalid", "focused", "focused", "readOnly", "readOnly", "readonly", "readonly", "state", "state"] }], ngImport: i0 }); }
108
119
  }
109
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiWithInput, decorators: [{
110
121
  type: Directive,
@@ -112,7 +123,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
112
123
  hostDirectives: [
113
124
  {
114
125
  directive: TuiInputDirective,
115
- inputs: ['invalid', 'focused', 'readOnly', 'state'],
126
+ inputs: ['invalid', 'focused', 'readOnly', 'readonly', 'state'],
116
127
  },
117
128
  ],
118
129
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-input.mjs","sources":["../../../projects/core/components/input/input.directive.ts","../../../projects/core/components/input/input.ts","../../../projects/core/components/input/taiga-ui-core-components-input.ts"],"sourcesContent":["import {computed, Directive, effect, inject, INJECTOR, input} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {TuiId} from '@taiga-ui/cdk/directives/id';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiInjectElement, tuiValue} from '@taiga-ui/cdk/utils/dom';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_TEXTFIELD_OPTIONS,\n tuiAsTextfieldAccessor,\n type TuiTextfieldAccessor,\n TuiTextfieldComponent,\n} from '@taiga-ui/core/components/textfield';\nimport {\n tuiAppearance,\n tuiAppearanceFocus,\n tuiAppearanceMode,\n tuiAppearanceState,\n} from '@taiga-ui/core/directives/appearance';\nimport {\n TUI_ITEMS_HANDLERS,\n type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {TuiDropdownDirective} from '@taiga-ui/core/portals/dropdown';\nimport {type TuiInteractiveState} from '@taiga-ui/core/types';\n\n@Directive({\n selector: 'input[tuiInput]',\n providers: [tuiAsTextfieldAccessor(TuiInputDirective)],\n hostDirectives: [TuiNativeValidator, TuiId],\n host: {\n tuiInput: '',\n '[attr.role]': 'dropdown.content() && !el.matches(\"select\") ? \"combobox\" : null',\n '[class._empty]': 'value() === \"\"',\n '[readOnly]': 'readOnly()',\n '(focusin)': '0',\n '(focusout)': '0',\n '(input)': '0',\n },\n})\nexport class TuiInputDirective<T> implements TuiTextfieldAccessor<T> {\n protected readonly el = tuiInjectElement<HTMLInputElement>();\n protected readonly control = inject(NgControl, {optional: true});\n protected readonly handlers: TuiItemsHandlers<T> = inject(TUI_ITEMS_HANDLERS);\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected readonly dropdown = inject(TuiDropdownDirective);\n protected readonly a = tuiAppearance(inject(TUI_TEXTFIELD_OPTIONS).appearance);\n\n protected readonly s = tuiAppearanceState(\n computed(() => this.state() ?? this.textfield.tuiAppearanceState()),\n );\n\n protected readonly m = tuiAppearanceMode(computed(() => this.mode()));\n\n // TODO(v6): move to {@link TuiTextfieldComponent}\n protected readonly f = tuiAppearanceFocus(\n computed(\n () =>\n this.focused() ??\n this.textfield.tuiAppearanceFocus() ??\n this.textfield.focused(),\n ),\n );\n\n public readonly readOnly = input(false);\n\n /**\n * @deprecated use `<tui-textfield [invalid]=\"...\" />` instead\n * TODO(v6): delete\n */\n public readonly invalid = input<boolean | null>(null);\n\n /**\n * @deprecated use `<tui-textfield [tuiAppearanceFocus]=\"...\" />` instead\n * TODO(v6): delete\n */\n public readonly focused = input<boolean | null>(null);\n\n /**\n * @deprecated use `<tui-textfield [tuiAppearanceState]=\"...\" />` instead\n * TODO(v6): delete\n */\n public readonly state = input<TuiInteractiveState | null>(null);\n public readonly value = tuiValue(this.el);\n\n public readonly mode = computed<string | null>(() => {\n const invalid = this.textfield.invalid() ?? this.invalid();\n\n if (this.readOnly()) {\n return 'readonly';\n }\n\n if (invalid === false) {\n return 'valid';\n }\n\n return invalid ? 'invalid' : null;\n });\n\n /**\n * Temporary workaround until TuiControl has deprecated `pseudoInvalid` property\n * We cannot inject `TuiTextfieldComponent` (@taiga-ui/core) inside `TuiControl` (`@taiga-ui/cdk`)\n * TODO(v6): remove all logic inside constructor\n */\n constructor() {\n const injector = inject(INJECTOR);\n const invalid = computed(() => this.textfield.invalid() ?? this.invalid());\n\n effect(() => {\n const control = injector.get(TuiControl, null, {self: true});\n\n if (control) {\n tuiSetSignal(control.pseudoInvalid, invalid());\n }\n });\n }\n\n public setValue(value: T | null): void {\n this.el.focus();\n this.el.select();\n\n if (value == null) {\n this.el.ownerDocument.execCommand('delete');\n\n // see https://github.com/taiga-family/taiga-ui/issues/11634\n // ensure non-erasable affixes actually deleted\n this.el.value = '';\n } else {\n this.el.ownerDocument.execCommand(\n 'insertText',\n false,\n this.handlers.stringify()(value),\n );\n }\n }\n}\n\n@Directive({\n hostDirectives: [\n {\n directive: TuiInputDirective,\n inputs: ['invalid', 'focused', 'readOnly', 'state'],\n },\n ],\n})\nexport class TuiWithInput {}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiInputDirective} from './input.directive';\n\nexport const TuiInput = [\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n TuiDropdownContent,\n TuiInputDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-input.mjs","sources":["../../../projects/core/components/input/input.directive.ts","../../../projects/core/components/input/input.ts","../../../projects/core/components/input/taiga-ui-core-components-input.ts"],"sourcesContent":["import {computed, Directive, effect, inject, INJECTOR, input} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {TuiId} from '@taiga-ui/cdk/directives/id';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiInjectFormField} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement, tuiValue} from '@taiga-ui/cdk/utils/dom';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_TEXTFIELD_OPTIONS,\n tuiAsTextfieldAccessor,\n type TuiTextfieldAccessor,\n TuiTextfieldComponent,\n} from '@taiga-ui/core/components/textfield';\nimport {\n tuiAppearance,\n tuiAppearanceFocus,\n tuiAppearanceMode,\n tuiAppearanceState,\n} from '@taiga-ui/core/directives/appearance';\nimport {\n TUI_ITEMS_HANDLERS,\n type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {TuiDropdownDirective} from '@taiga-ui/core/portals/dropdown';\nimport {type TuiInteractiveState} from '@taiga-ui/core/types';\n\n@Directive({\n selector: 'input[tuiInput]',\n providers: [tuiAsTextfieldAccessor(TuiInputDirective)],\n hostDirectives: [TuiNativeValidator, TuiId],\n host: {\n tuiInput: '',\n '[attr.role]': 'dropdown.content() && !el.matches(\"select\") ? \"combobox\" : null',\n '[class._empty]': 'value() === \"\"',\n '[readOnly]': 'readOnly()',\n '(focusin)': '0',\n '(focusout)': '0',\n '(input)': '0',\n },\n})\nexport class TuiInputDirective<T> implements TuiTextfieldAccessor<T> {\n private readonly field = tuiInjectFormField({self: true, optional: true});\n private readonly computedInvalid = computed(\n () => this.textfield.invalid() ?? (this.field() ? null : this.invalid()),\n );\n\n protected readonly el = tuiInjectElement<HTMLInputElement>();\n protected readonly control = inject(NgControl, {optional: true});\n protected readonly handlers: TuiItemsHandlers<T> = inject(TUI_ITEMS_HANDLERS);\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected readonly dropdown = inject(TuiDropdownDirective);\n protected readonly a = tuiAppearance(inject(TUI_TEXTFIELD_OPTIONS).appearance);\n\n protected readonly s = tuiAppearanceState(\n computed(() => this.state() ?? this.textfield.tuiAppearanceState()),\n );\n\n protected readonly m = tuiAppearanceMode(computed(() => this.mode()));\n\n // TODO(v6): move to {@link TuiTextfieldComponent}\n protected readonly f = tuiAppearanceFocus(\n computed(\n () =>\n this.focused() ??\n this.textfield.tuiAppearanceFocus() ??\n this.textfield.focused(),\n ),\n );\n\n /**\n * @deprecated use `<input [readonly]=\"...\" />` instead\n * TODO(v6): delete\n */\n public readonly readOnlyLegacy = input(false, {alias: 'readOnly'});\n /**\n * TODO(v6): delete, it's only for backward compatibility\n */\n public readonly readOnly = computed(() => this.readonly() || this.readOnlyLegacy());\n public readonly readonly = input(false);\n\n /**\n * @deprecated use `<tui-textfield [invalid]=\"...\" />` instead\n * TODO(v6): delete\n */\n public readonly invalid = input<boolean | null>(null);\n\n /**\n * @deprecated use `<tui-textfield [tuiAppearanceFocus]=\"...\" />` instead\n * TODO(v6): delete\n */\n public readonly focused = input<boolean | null>(null);\n\n /**\n * @deprecated use `<tui-textfield [tuiAppearanceState]=\"...\" />` instead\n * TODO(v6): delete\n */\n public readonly state = input<TuiInteractiveState | null>(null);\n public readonly value = tuiValue(this.el);\n\n public readonly mode = computed<string | null>(() => {\n const invalid = this.computedInvalid();\n\n if (this.readOnly()) {\n return 'readonly';\n }\n\n if (invalid === false) {\n return 'valid';\n }\n\n return invalid ? 'invalid' : null;\n });\n\n /**\n * Temporary workaround until TuiControl has deprecated `pseudoInvalid` property\n * We cannot inject `TuiTextfieldComponent` (@taiga-ui/core) inside `TuiControl` (`@taiga-ui/cdk`)\n * TODO(v6): remove all logic inside constructor\n */\n constructor() {\n const injector = inject(INJECTOR);\n\n effect(() => {\n const control = injector.get(TuiControl, null, {self: true});\n\n if (control) {\n tuiSetSignal(control.pseudoInvalid, this.computedInvalid());\n }\n });\n }\n\n public setValue(value: T | null): void {\n this.el.focus();\n this.el.select();\n\n if (value == null) {\n this.el.ownerDocument.execCommand('delete');\n\n // see https://github.com/taiga-family/taiga-ui/issues/11634\n // ensure non-erasable affixes actually deleted\n this.el.value = '';\n } else {\n this.el.ownerDocument.execCommand(\n 'insertText',\n false,\n this.handlers.stringify()(value),\n );\n }\n }\n}\n\n@Directive({\n hostDirectives: [\n {\n directive: TuiInputDirective,\n inputs: ['invalid', 'focused', 'readOnly', 'readonly', 'state'],\n },\n ],\n})\nexport class TuiWithInput {}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiInputDirective} from './input.directive';\n\nexport const TuiInput = [\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n TuiDropdownContent,\n TuiInputDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -7,11 +7,11 @@ import { TUI_DATA_LIST_HOST } from '@taiga-ui/core/components/data-list';
7
7
 
8
8
  class Styles {
9
9
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-label-5.19.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]){display:flex;gap:.25rem;flex-direction:column;font:var(--tui-typography-body-s);color:var(--tui-text-primary)}[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]):not([data-orientation=vertical]){flex-direction:row;inline-size:fit-content;font:var(--tui-typography-body-m)}[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]) input[type=checkbox],[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]) input[type=radio]{font:inherit;inset-block-start:calc(var(--tui-lh) / 2);transform:translateY(-50%);margin-inline-end:.5rem}[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]) input[type=checkbox][data-size=s],[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]) input[type=radio][data-size=s]{line-height:1.3;margin-inline-end:.25rem}[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]) small{font:var(--tui-typography-body-s)}[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]) [tuiTitle]:where(:not([tuiCell] *)){margin-block-start:.125rem}[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]) [tuiSubtitle]{color:var(--tui-text-secondary)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-label-5.20.0-canary.4d72ec2"], ngImport: i0, template: '', isInline: true, styles: ["[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]){display:flex;gap:.25rem;flex-direction:column;font:var(--tui-typography-body-s);color:var(--tui-text-primary)}[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):not([data-orientation=vertical]){flex-direction:row;inline-size:fit-content;font:var(--tui-typography-body-m)}[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) input[type=checkbox],[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) input[type=radio]{font:inherit;inset-block-start:calc(var(--tui-lh) / 2);transform:translateY(-50%);margin-inline-end:.5rem}[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) input[type=checkbox][data-size=s],[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) input[type=radio][data-size=s]{line-height:1.3;margin-inline-end:.25rem}[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) small{font:var(--tui-typography-body-s)}[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) [tuiTitle]:where(:not([tuiCell] *)){margin-block-start:.125rem}[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) [tuiSubtitle]{color:var(--tui-text-secondary)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
11
11
  }
12
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, decorators: [{
13
13
  type: Component,
14
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-label-${TUI_VERSION}`, styles: ["[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]){display:flex;gap:.25rem;flex-direction:column;font:var(--tui-typography-body-s);color:var(--tui-text-primary)}[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]):not([data-orientation=vertical]){flex-direction:row;inline-size:fit-content;font:var(--tui-typography-body-m)}[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]) input[type=checkbox],[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]) input[type=radio]{font:inherit;inset-block-start:calc(var(--tui-lh) / 2);transform:translateY(-50%);margin-inline-end:.5rem}[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]) input[type=checkbox][data-size=s],[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]) input[type=radio][data-size=s]{line-height:1.3;margin-inline-end:.25rem}[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]) small{font:var(--tui-typography-body-s)}[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]) [tuiTitle]:where(:not([tuiCell] *)){margin-block-start:.125rem}[tuiLabel]:where(*[data-tui-version=\"5.19.0\"]) [tuiSubtitle]{color:var(--tui-text-secondary)}\n"] }]
14
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-label-${TUI_VERSION}`, styles: ["[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]){display:flex;gap:.25rem;flex-direction:column;font:var(--tui-typography-body-s);color:var(--tui-text-primary)}[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):not([data-orientation=vertical]){flex-direction:row;inline-size:fit-content;font:var(--tui-typography-body-m)}[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) input[type=checkbox],[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) input[type=radio]{font:inherit;inset-block-start:calc(var(--tui-lh) / 2);transform:translateY(-50%);margin-inline-end:.5rem}[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) input[type=checkbox][data-size=s],[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) input[type=radio][data-size=s]{line-height:1.3;margin-inline-end:.25rem}[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) small{font:var(--tui-typography-body-s)}[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) [tuiTitle]:where(:not([tuiCell] *)){margin-block-start:.125rem}[tuiLabel]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) [tuiSubtitle]{color:var(--tui-text-secondary)}\n"] }]
15
15
  }] });
16
16
  // TODO: Replace TUI_DATA_LIST_HOST with proper token once we refactor textfields
17
17
  class TuiLabel {
@@ -22,7 +22,7 @@ class TuiLabel {
22
22
  this.parent = inject(forwardRef(() => TUI_DATA_LIST_HOST), { optional: true });
23
23
  }
24
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
25
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.25", type: TuiLabel, isStandalone: true, selector: "label[tuiLabel]", host: { attributes: { "data-tui-version": "5.19.0" }, properties: { "attr.data-orientation": "textfield() ? \"vertical\" : \"horizontal\"", "attr.for": "el.htmlFor || parent?.id" } }, queries: [{ propertyName: "textfield", first: true, predicate: i0.forwardRef(() => TUI_DATA_LIST_HOST), descendants: true, isSignal: true }], ngImport: i0 }); }
25
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.25", type: TuiLabel, isStandalone: true, selector: "label[tuiLabel]", host: { attributes: { "data-tui-version": "5.20.0-canary.4d72ec2" }, properties: { "attr.data-orientation": "textfield() ? \"vertical\" : \"horizontal\"", "attr.for": "el.htmlFor || parent?.id" } }, queries: [{ propertyName: "textfield", first: true, predicate: i0.forwardRef(() => TUI_DATA_LIST_HOST), descendants: true, isSignal: true }], ngImport: i0 }); }
26
26
  }
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiLabel, decorators: [{
28
28
  type: Directive,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-label.mjs","sources":["../../../projects/core/components/label/label.directive.ts","../../../projects/core/components/label/taiga-ui-core-components-label.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n contentChild,\n Directive,\n forwardRef,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_DATA_LIST_HOST} from '@taiga-ui/core/components/data-list';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/label.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-label-${TUI_VERSION}`,\n})\nclass Styles {}\n\n// TODO: Replace TUI_DATA_LIST_HOST with proper token once we refactor textfields\n@Directive({\n selector: 'label[tuiLabel]',\n host: {\n 'data-tui-version': TUI_VERSION,\n '[attr.data-orientation]': 'textfield() ? \"vertical\" : \"horizontal\"',\n '[attr.for]': 'el.htmlFor || parent?.id',\n },\n})\nexport class TuiLabel {\n protected readonly textfield = contentChild(forwardRef(() => TUI_DATA_LIST_HOST));\n protected readonly el = tuiInjectElement<HTMLLabelElement>();\n protected readonly nothing = tuiWithStyles(Styles);\n\n protected readonly parent = inject(\n forwardRef(() => TUI_DATA_LIST_HOST),\n {optional: true},\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAcA,MAWM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,wGAVE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,yiCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAUV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAXX,SAAS;+BACI,EAAE,EAAA,aAAA,EAMG,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,CAAA,UAAA,EAAa,WAAW,CAAA,CAAE,EAAA,MAAA,EAAA,CAAA,yiCAAA,CAAA,EAAA;;AAIxC;MASa,QAAQ,CAAA;AARrB,IAAA,WAAA,GAAA;QASuB,IAAA,CAAA,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAC9D,IAAA,CAAA,EAAE,GAAG,gBAAgB,EAAoB;AACzC,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;AAE/B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAC9B,UAAU,CAAC,MAAM,kBAAkB,CAAC,EACpC,EAAC,QAAQ,EAAE,IAAI,EAAC,CACnB;AACJ,IAAA;+GATY,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,8TAC4C,kBAAkB,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FADtE,QAAQ,EAAA,UAAA,EAAA,CAAA;kBARpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,IAAI,EAAE;AACF,wBAAA,kBAAkB,EAAE,WAAW;AAC/B,wBAAA,yBAAyB,EAAE,yCAAyC;AACpE,wBAAA,YAAY,EAAE,0BAA0B;AAC3C,qBAAA;AACJ,iBAAA;;;ACnCD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-label.mjs","sources":["../../../projects/core/components/label/label.directive.ts","../../../projects/core/components/label/taiga-ui-core-components-label.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n contentChild,\n Directive,\n forwardRef,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_DATA_LIST_HOST} from '@taiga-ui/core/components/data-list';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/label.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-label-${TUI_VERSION}`,\n})\nclass Styles {}\n\n// TODO: Replace TUI_DATA_LIST_HOST with proper token once we refactor textfields\n@Directive({\n selector: 'label[tuiLabel]',\n host: {\n 'data-tui-version': TUI_VERSION,\n '[attr.data-orientation]': 'textfield() ? \"vertical\" : \"horizontal\"',\n '[attr.for]': 'el.htmlFor || parent?.id',\n },\n})\nexport class TuiLabel {\n protected readonly textfield = contentChild(forwardRef(() => TUI_DATA_LIST_HOST));\n protected readonly el = tuiInjectElement<HTMLLabelElement>();\n protected readonly nothing = tuiWithStyles(Styles);\n\n protected readonly parent = inject(\n forwardRef(() => TUI_DATA_LIST_HOST),\n {optional: true},\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAcA,MAWM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,uHAVE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,grCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAUV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAXX,SAAS;+BACI,EAAE,EAAA,aAAA,EAMG,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,CAAA,UAAA,EAAa,WAAW,CAAA,CAAE,EAAA,MAAA,EAAA,CAAA,grCAAA,CAAA,EAAA;;AAIxC;MASa,QAAQ,CAAA;AARrB,IAAA,WAAA,GAAA;QASuB,IAAA,CAAA,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAC9D,IAAA,CAAA,EAAE,GAAG,gBAAgB,EAAoB;AACzC,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;AAE/B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAC9B,UAAU,CAAC,MAAM,kBAAkB,CAAC,EACpC,EAAC,QAAQ,EAAE,IAAI,EAAC,CACnB;AACJ,IAAA;+GATY,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,6UAC4C,kBAAkB,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FADtE,QAAQ,EAAA,UAAA,EAAA,CAAA;kBARpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,IAAI,EAAE;AACF,wBAAA,kBAAkB,EAAE,WAAW;AAC/B,wBAAA,yBAAyB,EAAE,yCAAyC;AACpE,wBAAA,YAAY,EAAE,0BAA0B;AAC3C,qBAAA;AACJ,iBAAA;;;ACnCD;;AAEG;;;;"}
@@ -13,11 +13,11 @@ const [TUI_LINK_OPTIONS, tuiLinkOptionsProvider] = tuiCreateOptions({
13
13
  });
14
14
  class Styles {
15
15
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-link-5.19.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiLink]:where(*[data-tui-version=\"5.19.0\"]){transition-property:color,text-decoration,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);padding:0;background:transparent;border:none;cursor:pointer;font:inherit;color:inherit;border-radius:.125rem;outline-width:1px;outline-offset:-1px;text-underline-offset:.2em;text-decoration:none dashed currentColor 1px;text-decoration-color:color-mix(in lch,currentColor,transparent)}[tuiLink]:where(*[data-tui-version=\"5.19.0\"]):before{margin-inline-end:.25rem}[tuiLink]:where(*[data-tui-version=\"5.19.0\"]):after{margin-inline-start:.25rem}[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[tuiIcons]:where(:not([data-icon-start=font])):before,[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[tuiIcons]:where(:not([data-icon-end=font])):after{content:\"\\2060\";padding:calc(var(--tui-icon-size, 1rem) / 2);vertical-align:super;font-size:0;line-height:0;box-sizing:border-box;-webkit-mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;transition:none}[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[data-icon-start=font]:before,[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[data-icon-end=font]:after{display:inline;font-size:var(--tui-icon-size, 1rem);vertical-align:sub}[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[tuiChevron]:after{display:inline-block;vertical-align:initial}@media(hover:hover)and (pointer:fine){[tuiLink]:where(*[data-tui-version=\"5.19.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover:not([data-state]){text-decoration-color:currentColor}}[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[data-state=hover]{text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.19.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active:not([data-state]){text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[data-state=active]{text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[data-appearance=\"\"]{text-decoration-line:underline;text-decoration-style:solid}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-link-5.20.0-canary.4d72ec2"], ngImport: i0, template: '', isInline: true, styles: ["[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]){transition-property:color,text-decoration,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);padding:0;background:transparent;border:none;cursor:pointer;font:inherit;color:inherit;border-radius:.125rem;outline-width:1px;outline-offset:-1px;text-underline-offset:.2em;text-decoration:none dashed currentColor 1px;text-decoration-color:color-mix(in lch,currentColor,transparent)}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):before{margin-inline-end:.25rem}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):after{margin-inline-start:.25rem}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[tuiIcons]:where(:not([data-icon-start=font])):before,[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[tuiIcons]:where(:not([data-icon-end=font])):after{content:\"\\2060\";padding:calc(var(--tui-icon-size, 1rem) / 2);vertical-align:super;font-size:0;line-height:0;box-sizing:border-box;-webkit-mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;transition:none}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-start=font]:before,[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-end=font]:after{display:inline;font-size:var(--tui-icon-size, 1rem);vertical-align:sub}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[tuiChevron]:after{display:inline-block;vertical-align:initial}@media(hover:hover)and (pointer:fine){[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover:not([data-state]){text-decoration-color:currentColor}}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-state=hover]{text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active:not([data-state]){text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-state=active]{text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-appearance=\"\"]{text-decoration-line:underline;text-decoration-style:solid}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
17
17
  }
18
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, decorators: [{
19
19
  type: Component,
20
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-link-${TUI_VERSION}`, styles: ["[tuiLink]:where(*[data-tui-version=\"5.19.0\"]){transition-property:color,text-decoration,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);padding:0;background:transparent;border:none;cursor:pointer;font:inherit;color:inherit;border-radius:.125rem;outline-width:1px;outline-offset:-1px;text-underline-offset:.2em;text-decoration:none dashed currentColor 1px;text-decoration-color:color-mix(in lch,currentColor,transparent)}[tuiLink]:where(*[data-tui-version=\"5.19.0\"]):before{margin-inline-end:.25rem}[tuiLink]:where(*[data-tui-version=\"5.19.0\"]):after{margin-inline-start:.25rem}[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[tuiIcons]:where(:not([data-icon-start=font])):before,[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[tuiIcons]:where(:not([data-icon-end=font])):after{content:\"\\2060\";padding:calc(var(--tui-icon-size, 1rem) / 2);vertical-align:super;font-size:0;line-height:0;box-sizing:border-box;-webkit-mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;transition:none}[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[data-icon-start=font]:before,[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[data-icon-end=font]:after{display:inline;font-size:var(--tui-icon-size, 1rem);vertical-align:sub}[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[tuiChevron]:after{display:inline-block;vertical-align:initial}@media(hover:hover)and (pointer:fine){[tuiLink]:where(*[data-tui-version=\"5.19.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover:not([data-state]){text-decoration-color:currentColor}}[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[data-state=hover]{text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.19.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active:not([data-state]){text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[data-state=active]{text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.19.0\"])[data-appearance=\"\"]{text-decoration-line:underline;text-decoration-style:solid}\n"] }]
20
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-link-${TUI_VERSION}`, styles: ["[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]){transition-property:color,text-decoration,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);padding:0;background:transparent;border:none;cursor:pointer;font:inherit;color:inherit;border-radius:.125rem;outline-width:1px;outline-offset:-1px;text-underline-offset:.2em;text-decoration:none dashed currentColor 1px;text-decoration-color:color-mix(in lch,currentColor,transparent)}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):before{margin-inline-end:.25rem}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):after{margin-inline-start:.25rem}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[tuiIcons]:where(:not([data-icon-start=font])):before,[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[tuiIcons]:where(:not([data-icon-end=font])):after{content:\"\\2060\";padding:calc(var(--tui-icon-size, 1rem) / 2);vertical-align:super;font-size:0;line-height:0;box-sizing:border-box;-webkit-mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;transition:none}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-start=font]:before,[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-end=font]:after{display:inline;font-size:var(--tui-icon-size, 1rem);vertical-align:sub}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[tuiChevron]:after{display:inline-block;vertical-align:initial}@media(hover:hover)and (pointer:fine){[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover:not([data-state]){text-decoration-color:currentColor}}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-state=hover]{text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active:not([data-state]){text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-state=active]{text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-appearance=\"\"]{text-decoration-line:underline;text-decoration-style:solid}\n"] }]
21
21
  }] });
22
22
  class TuiLink {
23
23
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-link.mjs","sources":["../../../projects/core/components/link/link.directive.ts","../../../projects/core/components/link/taiga-ui-core-components-link.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nexport const [TUI_LINK_OPTIONS, tuiLinkOptionsProvider] = tuiCreateOptions({\n appearance: 'action',\n});\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/link.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-link-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: 'a[tuiLink], button[tuiLink]',\n providers: [tuiAppearanceOptionsProvider(TUI_LINK_OPTIONS)],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {tuiLink: ''},\n})\nexport class TuiLink {\n protected readonly nothing = tuiWithStyles(Styles);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;MAea,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,GAAG,gBAAgB,CAAC;AACvE,IAAA,UAAU,EAAE,QAAQ;AACvB,CAAA;AAED,MAWM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,uGAVE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,8oEAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAUV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAXX,SAAS;+BACI,EAAE,EAAA,aAAA,EAMG,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,CAAA,SAAA,EAAY,WAAW,CAAA,CAAE,EAAA,MAAA,EAAA,CAAA,8oEAAA,CAAA,EAAA;;MAU1B,OAAO,CAAA;AANpB,IAAA,WAAA,GAAA;AAOuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;AACrD,IAAA;+GAFY,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,OAAO,mHAJL,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAIlD,OAAO,EAAA,UAAA,EAAA,CAAA;kBANnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,SAAS,EAAE,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;AAC3D,oBAAA,cAAc,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;AACjD,oBAAA,IAAI,EAAE,EAAC,OAAO,EAAE,EAAE,EAAC;AACtB,iBAAA;;;ACrCD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-link.mjs","sources":["../../../projects/core/components/link/link.directive.ts","../../../projects/core/components/link/taiga-ui-core-components-link.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nexport const [TUI_LINK_OPTIONS, tuiLinkOptionsProvider] = tuiCreateOptions({\n appearance: 'action',\n});\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/link.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-link-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: 'a[tuiLink], button[tuiLink]',\n providers: [tuiAppearanceOptionsProvider(TUI_LINK_OPTIONS)],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {tuiLink: ''},\n})\nexport class TuiLink {\n protected readonly nothing = tuiWithStyles(Styles);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;MAea,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,GAAG,gBAAgB,CAAC;AACvE,IAAA,UAAU,EAAE,QAAQ;AACvB,CAAA;AAED,MAWM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,sHAVE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,i1EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAUV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAXX,SAAS;+BACI,EAAE,EAAA,aAAA,EAMG,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,CAAA,SAAA,EAAY,WAAW,CAAA,CAAE,EAAA,MAAA,EAAA,CAAA,i1EAAA,CAAA,EAAA;;MAU1B,OAAO,CAAA;AANpB,IAAA,WAAA,GAAA;AAOuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;AACrD,IAAA;+GAFY,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,OAAO,mHAJL,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAIlD,OAAO,EAAA,UAAA,EAAA,CAAA;kBANnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,SAAS,EAAE,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;AAC3D,oBAAA,cAAc,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;AACjD,oBAAA,IAAI,EAAE,EAAC,OAAO,EAAE,EAAE,EAAC;AACtB,iBAAA;;;ACrCD;;AAEG;;;;"}
@@ -46,11 +46,11 @@ const TUI_NOTIFICATION_CONCURRENCY = new InjectionToken(ngDevMode ? 'TUI_NOTIFIC
46
46
 
47
47
  class Styles {
48
48
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-notification-5.19.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiNotification]:where(*[data-tui-version=\"5.19.0\"]){-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;position:relative;display:flow-root;max-block-size:100%;color:var(--tui-text-primary);padding:var(--t-offset) var(--tui-padding-l);font:var(--tui-typography-body-m);border-radius:var(--tui-radius-l);box-sizing:border-box;text-align:start;text-decoration:none;border-inline-start:var(--t-start) solid transparent;border-inline-end:var(--t-end) solid transparent;--t-offset: calc((var(--t-height) - var(--tui-lh)) / 2);--t-height: var(--tui-height-l);--t-start: 0;--t-end: 0}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-icon-start]{--t-start: 2rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-icon-end]{--t-end: 1.5rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"]):before{position:absolute;inset-inline-start:-1rem;inset-block-start:calc((var(--t-offset) + var(--tui-lh)) * (1 - .15 * var(--t-zoom)));transform:translateY(-100%)}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"]):after{position:absolute;top:50%;transform:translateY(-50%);inset-inline-end:-.5rem;font-size:1rem;margin:0;margin-inline-end:-.25rem;margin-inline-start:auto;color:var(--tui-text-tertiary)!important}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s]{padding:var(--t-offset) .5rem;font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);--t-height: var(--tui-height-s)}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s][data-icon-start]{--t-start: 1.5rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s]:before{inset-inline-start:calc(-1rem * (1 - .2 * var(--t-zoom)));inset-block-start:calc((var(--t-offset) + var(--tui-lh)) * (1 - .1 * var(--t-zoom)));font-size:1rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s]:after{inset-inline-end:-.875rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s] tui-icon{font-size:1rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s] [tuiTitle]{font:var(--tui-typography-body-s);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s] [tuiSubtitle]{font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s] [tuiSubtitle]+*{gap:1rem;margin:.375rem 0 .25rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s]>[tuiIconButton]{inset-block-start:0;inset-inline-end:0}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m]{padding:var(--t-offset) var(--tui-padding-m);font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);--t-height: var(--tui-height-m)}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m][data-icon-start]{--t-start: 1.625rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m]:before{inset-inline-start:-.875rem;font-size:1.25rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m]:after{inset-inline-end:-.75rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m] tui-icon{font-size:1.25rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m] [tuiTitle]{font:var(--tui-typography-ui-m);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m] [tuiSubtitle]{font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m] [tuiSubtitle]+*{gap:1rem;margin:.625rem 0 .25rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m]>[tuiIconButton]{inset-block-start:.375rem;inset-inline-end:.5rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"]) [tuiTitle]{gap:.125rem;font:var(--tui-typography-ui-l);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"]) [tuiSubtitle]{font:var(--tui-typography-body-m)}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"]) [tuiSubtitle]+*{display:flex;align-items:center;gap:1.25rem;margin-block-start:.625rem;font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])>[tuiIconButton]{position:absolute;inset-block-start:.75rem;inset-inline-end:.75rem;box-shadow:none!important;background:transparent!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-notification-5.20.0-canary.4d72ec2"], ngImport: i0, template: '', isInline: true, styles: ["[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]){-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;position:relative;display:flow-root;max-block-size:100%;color:var(--tui-text-primary);padding:var(--t-offset) var(--tui-padding-l);font:var(--tui-typography-body-m);border-radius:var(--tui-radius-l);box-sizing:border-box;text-align:start;text-decoration:none;border-inline-start:var(--t-start) solid transparent;border-inline-end:var(--t-end) solid transparent;--t-offset: calc((var(--t-height) - var(--tui-lh)) / 2);--t-height: var(--tui-height-l);--t-start: 0;--t-end: 0}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-start]{--t-start: 2rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-end]{--t-end: 1.5rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):before{position:absolute;inset-inline-start:-1rem;inset-block-start:calc((var(--t-offset) + var(--tui-lh)) * (1 - .15 * var(--t-zoom)));transform:translateY(-100%)}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):after{position:absolute;top:50%;transform:translateY(-50%);inset-inline-end:-.5rem;font-size:1rem;margin:0;margin-inline-end:-.25rem;margin-inline-start:auto;color:var(--tui-text-tertiary)!important}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s]{padding:var(--t-offset) .5rem;font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);--t-height: var(--tui-height-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s][data-icon-start]{--t-start: 1.5rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s]:before{inset-inline-start:calc(-1rem * (1 - .2 * var(--t-zoom)));inset-block-start:calc((var(--t-offset) + var(--tui-lh)) * (1 - .1 * var(--t-zoom)));font-size:1rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s]:after{inset-inline-end:-.875rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s] tui-icon{font-size:1rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s] [tuiTitle]{font:var(--tui-typography-body-s);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s] [tuiSubtitle]{font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s] [tuiSubtitle]+*{gap:1rem;margin:.375rem 0 .25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s]>[tuiIconButton]{inset-block-start:0;inset-inline-end:0}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m]{padding:var(--t-offset) var(--tui-padding-m);font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);--t-height: var(--tui-height-m)}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m][data-icon-start]{--t-start: 1.625rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m]:before{inset-inline-start:-.875rem;font-size:1.25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m]:after{inset-inline-end:-.75rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m] tui-icon{font-size:1.25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m] [tuiTitle]{font:var(--tui-typography-ui-m);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m] [tuiSubtitle]{font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m] [tuiSubtitle]+*{gap:1rem;margin:.625rem 0 .25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m]>[tuiIconButton]{inset-block-start:.375rem;inset-inline-end:.5rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) [tuiTitle]{gap:.125rem;font:var(--tui-typography-ui-l);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) [tuiSubtitle]{font:var(--tui-typography-body-m)}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) [tuiSubtitle]+*{display:flex;align-items:center;gap:1.25rem;margin-block-start:.625rem;font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])>[tuiIconButton]{position:absolute;inset-block-start:.75rem;inset-inline-end:.75rem;box-shadow:none!important;background:transparent!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
50
50
  }
51
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, decorators: [{
52
52
  type: Component,
53
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-notification-${TUI_VERSION}`, styles: ["[tuiNotification]:where(*[data-tui-version=\"5.19.0\"]){-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;position:relative;display:flow-root;max-block-size:100%;color:var(--tui-text-primary);padding:var(--t-offset) var(--tui-padding-l);font:var(--tui-typography-body-m);border-radius:var(--tui-radius-l);box-sizing:border-box;text-align:start;text-decoration:none;border-inline-start:var(--t-start) solid transparent;border-inline-end:var(--t-end) solid transparent;--t-offset: calc((var(--t-height) - var(--tui-lh)) / 2);--t-height: var(--tui-height-l);--t-start: 0;--t-end: 0}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-icon-start]{--t-start: 2rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-icon-end]{--t-end: 1.5rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"]):before{position:absolute;inset-inline-start:-1rem;inset-block-start:calc((var(--t-offset) + var(--tui-lh)) * (1 - .15 * var(--t-zoom)));transform:translateY(-100%)}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"]):after{position:absolute;top:50%;transform:translateY(-50%);inset-inline-end:-.5rem;font-size:1rem;margin:0;margin-inline-end:-.25rem;margin-inline-start:auto;color:var(--tui-text-tertiary)!important}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s]{padding:var(--t-offset) .5rem;font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);--t-height: var(--tui-height-s)}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s][data-icon-start]{--t-start: 1.5rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s]:before{inset-inline-start:calc(-1rem * (1 - .2 * var(--t-zoom)));inset-block-start:calc((var(--t-offset) + var(--tui-lh)) * (1 - .1 * var(--t-zoom)));font-size:1rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s]:after{inset-inline-end:-.875rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s] tui-icon{font-size:1rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s] [tuiTitle]{font:var(--tui-typography-body-s);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s] [tuiSubtitle]{font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s] [tuiSubtitle]+*{gap:1rem;margin:.375rem 0 .25rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=s]>[tuiIconButton]{inset-block-start:0;inset-inline-end:0}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m]{padding:var(--t-offset) var(--tui-padding-m);font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);--t-height: var(--tui-height-m)}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m][data-icon-start]{--t-start: 1.625rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m]:before{inset-inline-start:-.875rem;font-size:1.25rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m]:after{inset-inline-end:-.75rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m] tui-icon{font-size:1.25rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m] [tuiTitle]{font:var(--tui-typography-ui-m);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m] [tuiSubtitle]{font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m] [tuiSubtitle]+*{gap:1rem;margin:.625rem 0 .25rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])[data-size=m]>[tuiIconButton]{inset-block-start:.375rem;inset-inline-end:.5rem}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"]) [tuiTitle]{gap:.125rem;font:var(--tui-typography-ui-l);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"]) [tuiSubtitle]{font:var(--tui-typography-body-m)}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"]) [tuiSubtitle]+*{display:flex;align-items:center;gap:1.25rem;margin-block-start:.625rem;font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.19.0\"])>[tuiIconButton]{position:absolute;inset-block-start:.75rem;inset-inline-end:.75rem;box-shadow:none!important;background:transparent!important}\n"] }]
53
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-notification-${TUI_VERSION}`, styles: ["[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]){-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;position:relative;display:flow-root;max-block-size:100%;color:var(--tui-text-primary);padding:var(--t-offset) var(--tui-padding-l);font:var(--tui-typography-body-m);border-radius:var(--tui-radius-l);box-sizing:border-box;text-align:start;text-decoration:none;border-inline-start:var(--t-start) solid transparent;border-inline-end:var(--t-end) solid transparent;--t-offset: calc((var(--t-height) - var(--tui-lh)) / 2);--t-height: var(--tui-height-l);--t-start: 0;--t-end: 0}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-start]{--t-start: 2rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-icon-end]{--t-end: 1.5rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):before{position:absolute;inset-inline-start:-1rem;inset-block-start:calc((var(--t-offset) + var(--tui-lh)) * (1 - .15 * var(--t-zoom)));transform:translateY(-100%)}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]):after{position:absolute;top:50%;transform:translateY(-50%);inset-inline-end:-.5rem;font-size:1rem;margin:0;margin-inline-end:-.25rem;margin-inline-start:auto;color:var(--tui-text-tertiary)!important}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s]{padding:var(--t-offset) .5rem;font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);--t-height: var(--tui-height-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s][data-icon-start]{--t-start: 1.5rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s]:before{inset-inline-start:calc(-1rem * (1 - .2 * var(--t-zoom)));inset-block-start:calc((var(--t-offset) + var(--tui-lh)) * (1 - .1 * var(--t-zoom)));font-size:1rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s]:after{inset-inline-end:-.875rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s] tui-icon{font-size:1rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s] [tuiTitle]{font:var(--tui-typography-body-s);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s] [tuiSubtitle]{font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s] [tuiSubtitle]+*{gap:1rem;margin:.375rem 0 .25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=s]>[tuiIconButton]{inset-block-start:0;inset-inline-end:0}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m]{padding:var(--t-offset) var(--tui-padding-m);font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);--t-height: var(--tui-height-m)}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m][data-icon-start]{--t-start: 1.625rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m]:before{inset-inline-start:-.875rem;font-size:1.25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m]:after{inset-inline-end:-.75rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m] tui-icon{font-size:1.25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m] [tuiTitle]{font:var(--tui-typography-ui-m);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m] [tuiSubtitle]{font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m] [tuiSubtitle]+*{gap:1rem;margin:.625rem 0 .25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])[data-size=m]>[tuiIconButton]{inset-block-start:.375rem;inset-inline-end:.5rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) [tuiTitle]{gap:.125rem;font:var(--tui-typography-ui-l);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) [tuiSubtitle]{font:var(--tui-typography-body-m)}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"]) [tuiSubtitle]+*{display:flex;align-items:center;gap:1.25rem;margin-block-start:.625rem;font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0-canary.4d72ec2\"])>[tuiIconButton]{position:absolute;inset-block-start:.75rem;inset-inline-end:.75rem;box-shadow:none!important;background:transparent!important}\n"] }]
54
54
  }] });
55
55
  class TuiNotificationDirective {
56
56
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-notification.mjs","sources":["../../../projects/core/components/notification/notification.options.ts","../../../projects/core/components/notification/notification.directive.ts","../../../projects/core/components/notification/notification.component.ts","../../../projects/core/components/notification/notification.template.html","../../../projects/core/components/notification/notification.service.ts","../../../projects/core/components/notification/notification.ts","../../../projects/core/components/notification/taiga-ui-core-components-notification.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {type TuiNumberHandler, type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiPositionOptions} from '@taiga-ui/core/portals/alert';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiNotificationOptions<I = undefined>\n extends TuiAppearanceOptions, TuiPositionOptions {\n readonly icon: TuiStringHandler<string> | string;\n readonly size: TuiSizeL | TuiSizeS;\n readonly autoClose: TuiNumberHandler<string> | number;\n readonly closable: boolean;\n readonly label: string;\n readonly data: I;\n}\n\nconst ICONS: Record<string, string> = {\n info: '@tui.info',\n positive: '@tui.circle-check',\n negative: '@tui.circle-x',\n warning: '@tui.circle-alert',\n neutral: '@tui.info',\n};\n\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: TuiNotificationOptions = {\n appearance: 'info',\n icon: (appearance) => ICONS[appearance] ?? '',\n size: 'l',\n data: undefined,\n autoClose: 3000,\n label: '',\n closable: true,\n block: 'start',\n inline: 'end',\n};\n\nexport const [TUI_NOTIFICATION_OPTIONS, tuiNotificationOptionsProvider] =\n tuiCreateOptions(TUI_NOTIFICATION_DEFAULT_OPTIONS);\n\nexport const TUI_NOTIFICATION_CONCURRENCY = new InjectionToken(\n ngDevMode ? 'TUI_NOTIFICATION_CONCURRENCY' : '',\n {factory: () => 5},\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiIsString, tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {tuiLinkOptionsProvider} from '@taiga-ui/core/components/link';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {tuiIconStart, TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_NOTIFICATION_OPTIONS} from './notification.options';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/notification.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-notification-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiNotification]:not(ng-template)',\n providers: [\n tuiAppearanceOptionsProvider(TUI_NOTIFICATION_OPTIONS),\n tuiLinkOptionsProvider({appearance: ''}),\n tuiButtonOptionsProvider({appearance: 'outline-grayscale', size: 's'}),\n ],\n hostDirectives: [TuiWithIcons, TuiWithAppearance],\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiNotificationDirective {\n private readonly options = inject(TUI_NOTIFICATION_OPTIONS);\n\n protected readonly nothing = tuiWithStyles(Styles);\n\n protected readonly icons = tuiIconStart(\n computed((icon = this.icon()) =>\n tuiIsString(icon) ? icon : icon(this.appearance()),\n ),\n );\n\n public readonly appearance = input(this.options.appearance);\n public readonly size = input(this.options.size);\n public readonly icon = input(this.options.icon);\n}\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiTitle} from '@taiga-ui/core/components/title';\nimport {TuiAlertDirective} from '@taiga-ui/core/portals/alert';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {EMPTY, fromEvent, of, repeat, switchMap, takeUntil, timer} from 'rxjs';\n\nimport {TuiNotificationDirective} from './notification.directive';\nimport {type TuiNotificationOptions} from './notification.options';\n\n@Component({\n selector: 'tui-notification-alert',\n imports: [PolymorpheusOutlet, TuiButton, TuiNotificationDirective, TuiTitle],\n templateUrl: './notification.template.html',\n styleUrl: './notification.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiAnimated, TuiAlertDirective],\n host: {role: 'alert'},\n})\nexport class TuiNotificationComponent<O, I> {\n private readonly el = tuiInjectElement();\n\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly close = inject(TUI_CLOSE_WORD);\n\n protected readonly item =\n injectContext<TuiPortalContext<TuiNotificationOptions<I>, O>>();\n\n protected readonly sub = of(\n typeof this.item.autoClose === 'function'\n ? this.item.autoClose(this.item.appearance)\n : this.item.autoClose,\n )\n .pipe(\n switchMap((autoClose) => (autoClose ? timer(autoClose) : EMPTY)),\n takeUntil(fromEvent(this.el, 'mouseenter')),\n repeat({delay: () => fromEvent(this.el, 'mouseleave')}),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.item.$implicit.complete());\n}\n","<div>\n <div class=\"t-wrapper\">\n <div\n size=\"m\"\n tuiNotification\n [appearance]=\"item.appearance\"\n [class.t-closable]=\"item.closable\"\n [icon]=\"item.icon\"\n >\n <span tuiTitle>\n <ng-container *polymorpheusOutlet=\"item.label as text; context: item\">\n {{ text }}\n </ng-container>\n <span tuiSubtitle>\n <span\n *polymorpheusOutlet=\"item.content as text; context: item\"\n [innerHTML]=\"text\"\n ></span>\n </span>\n </span>\n @if (item.closable) {\n <button\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click)=\"item.$implicit.complete()\"\n >\n {{ close() }}\n </button>\n }\n </div>\n </div>\n</div>\n","import {Directive, inject, Injectable, input} from '@angular/core';\nimport {\n tuiAsPortal,\n TuiPortalDirective,\n type TuiPortalService,\n} from '@taiga-ui/cdk/portals';\nimport {TuiAlertService} from '@taiga-ui/core/portals/alert';\nimport {TuiPopupService} from '@taiga-ui/core/portals/popup';\n\nimport {TuiNotificationComponent} from './notification.component';\nimport {\n TUI_NOTIFICATION_CONCURRENCY,\n TUI_NOTIFICATION_OPTIONS,\n type TuiNotificationOptions,\n} from './notification.options';\n\n@Injectable({\n providedIn: 'root',\n deps: [TuiPopupService],\n useClass: TuiNotificationService,\n})\nexport class TuiNotificationService extends TuiAlertService<TuiNotificationOptions<any>> {\n protected override readonly options = inject(TUI_NOTIFICATION_OPTIONS);\n protected override readonly component = TuiNotificationComponent;\n\n // eslint-disable-next-line @angular-eslint/prefer-inject\n constructor(service: TuiPortalService) {\n super(inject(TUI_NOTIFICATION_CONCURRENCY), service);\n }\n}\n\n@Directive({\n selector: 'ng-template[tuiNotification]',\n providers: [tuiAsPortal(TuiNotificationService)],\n hostDirectives: [\n {\n directive: TuiPortalDirective,\n inputs: ['options: tuiNotificationOptions', 'open: tuiNotification'],\n outputs: ['openChange: tuiNotificationChange'],\n },\n ],\n})\nexport class TuiNotificationTemplate<T> {\n public readonly tuiNotificationOptions = input<Partial<TuiNotificationOptions<T>>>(\n {},\n );\n}\n","import {TuiNotificationDirective} from './notification.directive';\nimport {TuiNotificationTemplate} from './notification.service';\n\nexport const TuiNotification = [\n TuiNotificationDirective,\n TuiNotificationTemplate,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-notification.mjs","sources":["../../../projects/core/components/notification/notification.options.ts","../../../projects/core/components/notification/notification.directive.ts","../../../projects/core/components/notification/notification.component.ts","../../../projects/core/components/notification/notification.template.html","../../../projects/core/components/notification/notification.service.ts","../../../projects/core/components/notification/notification.ts","../../../projects/core/components/notification/taiga-ui-core-components-notification.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {type TuiNumberHandler, type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiPositionOptions} from '@taiga-ui/core/portals/alert';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiNotificationOptions<I = undefined>\n extends TuiAppearanceOptions, TuiPositionOptions {\n readonly icon: TuiStringHandler<string> | string;\n readonly size: TuiSizeL | TuiSizeS;\n readonly autoClose: TuiNumberHandler<string> | number;\n readonly closable: boolean;\n readonly label: string;\n readonly data: I;\n}\n\nconst ICONS: Record<string, string> = {\n info: '@tui.info',\n positive: '@tui.circle-check',\n negative: '@tui.circle-x',\n warning: '@tui.circle-alert',\n neutral: '@tui.info',\n};\n\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: TuiNotificationOptions = {\n appearance: 'info',\n icon: (appearance) => ICONS[appearance] ?? '',\n size: 'l',\n data: undefined,\n autoClose: 3000,\n label: '',\n closable: true,\n block: 'start',\n inline: 'end',\n};\n\nexport const [TUI_NOTIFICATION_OPTIONS, tuiNotificationOptionsProvider] =\n tuiCreateOptions(TUI_NOTIFICATION_DEFAULT_OPTIONS);\n\nexport const TUI_NOTIFICATION_CONCURRENCY = new InjectionToken(\n ngDevMode ? 'TUI_NOTIFICATION_CONCURRENCY' : '',\n {factory: () => 5},\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiIsString, tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {tuiLinkOptionsProvider} from '@taiga-ui/core/components/link';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {tuiIconStart, TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_NOTIFICATION_OPTIONS} from './notification.options';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/notification.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-notification-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiNotification]:not(ng-template)',\n providers: [\n tuiAppearanceOptionsProvider(TUI_NOTIFICATION_OPTIONS),\n tuiLinkOptionsProvider({appearance: ''}),\n tuiButtonOptionsProvider({appearance: 'outline-grayscale', size: 's'}),\n ],\n hostDirectives: [TuiWithIcons, TuiWithAppearance],\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiNotificationDirective {\n private readonly options = inject(TUI_NOTIFICATION_OPTIONS);\n\n protected readonly nothing = tuiWithStyles(Styles);\n\n protected readonly icons = tuiIconStart(\n computed((icon = this.icon()) =>\n tuiIsString(icon) ? icon : icon(this.appearance()),\n ),\n );\n\n public readonly appearance = input(this.options.appearance);\n public readonly size = input(this.options.size);\n public readonly icon = input(this.options.icon);\n}\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiTitle} from '@taiga-ui/core/components/title';\nimport {TuiAlertDirective} from '@taiga-ui/core/portals/alert';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {EMPTY, fromEvent, of, repeat, switchMap, takeUntil, timer} from 'rxjs';\n\nimport {TuiNotificationDirective} from './notification.directive';\nimport {type TuiNotificationOptions} from './notification.options';\n\n@Component({\n selector: 'tui-notification-alert',\n imports: [PolymorpheusOutlet, TuiButton, TuiNotificationDirective, TuiTitle],\n templateUrl: './notification.template.html',\n styleUrl: './notification.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiAnimated, TuiAlertDirective],\n host: {role: 'alert'},\n})\nexport class TuiNotificationComponent<O, I> {\n private readonly el = tuiInjectElement();\n\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly close = inject(TUI_CLOSE_WORD);\n\n protected readonly item =\n injectContext<TuiPortalContext<TuiNotificationOptions<I>, O>>();\n\n protected readonly sub = of(\n typeof this.item.autoClose === 'function'\n ? this.item.autoClose(this.item.appearance)\n : this.item.autoClose,\n )\n .pipe(\n switchMap((autoClose) => (autoClose ? timer(autoClose) : EMPTY)),\n takeUntil(fromEvent(this.el, 'mouseenter')),\n repeat({delay: () => fromEvent(this.el, 'mouseleave')}),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.item.$implicit.complete());\n}\n","<div>\n <div class=\"t-wrapper\">\n <div\n size=\"m\"\n tuiNotification\n [appearance]=\"item.appearance\"\n [class.t-closable]=\"item.closable\"\n [icon]=\"item.icon\"\n >\n <span tuiTitle>\n <ng-container *polymorpheusOutlet=\"item.label as text; context: item\">\n {{ text }}\n </ng-container>\n <span tuiSubtitle>\n <span\n *polymorpheusOutlet=\"item.content as text; context: item\"\n [innerHTML]=\"text\"\n ></span>\n </span>\n </span>\n @if (item.closable) {\n <button\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click)=\"item.$implicit.complete()\"\n >\n {{ close() }}\n </button>\n }\n </div>\n </div>\n</div>\n","import {Directive, inject, Injectable, input} from '@angular/core';\nimport {\n tuiAsPortal,\n TuiPortalDirective,\n type TuiPortalService,\n} from '@taiga-ui/cdk/portals';\nimport {TuiAlertService} from '@taiga-ui/core/portals/alert';\nimport {TuiPopupService} from '@taiga-ui/core/portals/popup';\n\nimport {TuiNotificationComponent} from './notification.component';\nimport {\n TUI_NOTIFICATION_CONCURRENCY,\n TUI_NOTIFICATION_OPTIONS,\n type TuiNotificationOptions,\n} from './notification.options';\n\n@Injectable({\n providedIn: 'root',\n deps: [TuiPopupService],\n useClass: TuiNotificationService,\n})\nexport class TuiNotificationService extends TuiAlertService<TuiNotificationOptions<any>> {\n protected override readonly options = inject(TUI_NOTIFICATION_OPTIONS);\n protected override readonly component = TuiNotificationComponent;\n\n // eslint-disable-next-line @angular-eslint/prefer-inject\n constructor(service: TuiPortalService) {\n super(inject(TUI_NOTIFICATION_CONCURRENCY), service);\n }\n}\n\n@Directive({\n selector: 'ng-template[tuiNotification]',\n providers: [tuiAsPortal(TuiNotificationService)],\n hostDirectives: [\n {\n directive: TuiPortalDirective,\n inputs: ['options: tuiNotificationOptions', 'open: tuiNotification'],\n outputs: ['openChange: tuiNotificationChange'],\n },\n ],\n})\nexport class TuiNotificationTemplate<T> {\n public readonly tuiNotificationOptions = input<Partial<TuiNotificationOptions<T>>>(\n {},\n );\n}\n","import {TuiNotificationDirective} from './notification.directive';\nimport {TuiNotificationTemplate} from './notification.service';\n\nexport const TuiNotification = [\n TuiNotificationDirective,\n TuiNotificationTemplate,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}