@taiga-ui/core 3.44.1 → 3.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/animations/animations.d.ts +1 -0
  2. package/bundles/taiga-ui-core-animations.umd.js +13 -0
  3. package/bundles/taiga-ui-core-animations.umd.js.map +1 -1
  4. package/bundles/taiga-ui-core-components-alert.umd.js +1 -3
  5. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  6. package/bundles/taiga-ui-core-components-button.umd.js +10 -25
  7. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-dialog.umd.js +1 -0
  9. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +3 -3
  11. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-notification.umd.js +1 -1
  13. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +1 -1
  15. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  16. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  17. package/bundles/taiga-ui-core-components-svg.umd.js +7 -9
  18. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-directives-dropdown.umd.js +5 -4
  20. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  21. package/bundles/taiga-ui-core-directives-hint.umd.js +1 -3
  22. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  23. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +10 -38
  24. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  25. package/bundles/taiga-ui-core-services.umd.js +1 -1
  26. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  27. package/bundles/taiga-ui-core-tokens.umd.js +40 -68
  28. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  29. package/components/alert/alert.providers.d.ts +1 -2
  30. package/components/button/button.component.d.ts +3 -3
  31. package/constants/cache-basting-payload.d.ts +1 -1
  32. package/directives/dropdown/dropdown.providers.d.ts +2 -2
  33. package/directives/hint/hint.providers.d.ts +2 -2
  34. package/directives/textfield-controller/textfield-appearance.directive.d.ts +1 -2
  35. package/directives/textfield-controller/textfield-cleaner.directive.d.ts +1 -2
  36. package/directives/textfield-controller/textfield-custom-content.directive.d.ts +1 -2
  37. package/directives/textfield-controller/textfield-filler.directive.d.ts +1 -2
  38. package/directives/textfield-controller/textfield-icon-left.directive.d.ts +1 -3
  39. package/directives/textfield-controller/textfield-icon.directive.d.ts +1 -3
  40. package/directives/textfield-controller/textfield-label-outside.directive.d.ts +1 -2
  41. package/directives/textfield-controller/textfield-postfix.directive.d.ts +1 -2
  42. package/directives/textfield-controller/textfield-prefix.directive.d.ts +1 -2
  43. package/directives/textfield-controller/textfield-size.directive.d.ts +1 -2
  44. package/esm2015/animations/animations.js +13 -1
  45. package/esm2015/components/alert/alert.providers.js +4 -6
  46. package/esm2015/components/button/button.component.js +6 -21
  47. package/esm2015/components/dialog/dialog-close.service.js +2 -1
  48. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +4 -4
  49. package/esm2015/components/notification/notification.component.js +1 -1
  50. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +1 -1
  51. package/esm2015/components/root/root.component.js +1 -1
  52. package/esm2015/components/svg/svg-options.js +9 -11
  53. package/esm2015/directives/dropdown/dropdown-position.directive.js +4 -1
  54. package/esm2015/directives/dropdown/dropdown.component.js +2 -2
  55. package/esm2015/directives/dropdown/dropdown.providers.js +3 -5
  56. package/esm2015/directives/hint/hint.providers.js +3 -5
  57. package/esm2015/directives/textfield-controller/textfield-appearance.directive.js +4 -6
  58. package/esm2015/directives/textfield-controller/textfield-cleaner.directive.js +4 -6
  59. package/esm2015/directives/textfield-controller/textfield-custom-content.directive.js +4 -6
  60. package/esm2015/directives/textfield-controller/textfield-filler.directive.js +4 -6
  61. package/esm2015/directives/textfield-controller/textfield-icon-left.directive.js +4 -9
  62. package/esm2015/directives/textfield-controller/textfield-icon.directive.js +4 -9
  63. package/esm2015/directives/textfield-controller/textfield-label-outside.directive.js +4 -6
  64. package/esm2015/directives/textfield-controller/textfield-postfix.directive.js +4 -6
  65. package/esm2015/directives/textfield-controller/textfield-prefix.directive.js +4 -6
  66. package/esm2015/directives/textfield-controller/textfield-size.directive.js +4 -6
  67. package/esm2015/services/position.service.js +4 -4
  68. package/esm2015/tokens/animation-options.js +9 -10
  69. package/esm2015/tokens/animations-duration.js +1 -1
  70. package/esm2015/tokens/assert-enabled.js +4 -5
  71. package/esm2015/tokens/i18n.js +8 -20
  72. package/esm2015/tokens/icons-path.js +4 -5
  73. package/esm2015/tokens/is-mobile-resolution.js +7 -9
  74. package/esm2015/tokens/ordered-short-week-days.js +9 -10
  75. package/esm2015/tokens/scroll-ref.js +4 -5
  76. package/esm2015/tokens/selection-stream.js +6 -8
  77. package/esm2015/tokens/viewport.js +18 -19
  78. package/fesm2015/taiga-ui-core-animations.js +13 -1
  79. package/fesm2015/taiga-ui-core-animations.js.map +1 -1
  80. package/fesm2015/taiga-ui-core-components-alert.js +3 -5
  81. package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
  82. package/fesm2015/taiga-ui-core-components-button.js +5 -20
  83. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  84. package/fesm2015/taiga-ui-core-components-dialog.js +1 -0
  85. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  86. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +3 -3
  87. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  88. package/fesm2015/taiga-ui-core-components-notification.js +1 -1
  89. package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
  90. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +1 -1
  91. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  92. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  93. package/fesm2015/taiga-ui-core-components-svg.js +9 -11
  94. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  95. package/fesm2015/taiga-ui-core-directives-dropdown.js +7 -6
  96. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  97. package/fesm2015/taiga-ui-core-directives-hint.js +3 -5
  98. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  99. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +13 -39
  100. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  101. package/fesm2015/taiga-ui-core-services.js +3 -3
  102. package/fesm2015/taiga-ui-core-services.js.map +1 -1
  103. package/fesm2015/taiga-ui-core-tokens.js +44 -72
  104. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  105. package/package.json +4 -4
  106. package/styles/mixins/wrapper.less +6 -0
  107. package/styles/theme/wrapper/base.less +1 -1
  108. package/styles/theme/wrapper/secondary.less +30 -6
  109. package/tokens/animation-options.d.ts +1 -2
  110. package/tokens/animations-duration.d.ts +1 -1
  111. package/tokens/assert-enabled.d.ts +1 -2
  112. package/tokens/i18n.d.ts +6 -7
  113. package/tokens/icons-path.d.ts +1 -3
  114. package/tokens/is-mobile-resolution.d.ts +1 -3
  115. package/tokens/ordered-short-week-days.d.ts +1 -6
  116. package/tokens/scroll-ref.d.ts +2 -2
  117. package/tokens/selection-stream.d.ts +1 -2
  118. package/tokens/viewport.d.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-services.js","sources":["../../../projects/core/services/breakpoint.service.ts","../../../projects/core/services/format-date.service.ts","../../../projects/core/services/hint.service.ts","../../../projects/core/services/night-theme.service.ts","../../../projects/core/services/position.service.ts","../../../projects/core/services/router-link-active.service.ts","../../../projects/core/services/svg.service.ts","../../../projects/core/services/visual-viewport.service.ts","../../../projects/core/services/taiga-ui-core-services.ts"],"sourcesContent":["import {Inject, Injectable} from '@angular/core';\nimport {TUI_WINDOW_SIZE} from '@taiga-ui/cdk';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\nimport {TUI_MEDIA} from '@taiga-ui/core/tokens';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, shareReplay} from 'rxjs/operators';\n\nexport type TuiBreakpointMediaKey = keyof Omit<TuiMedia, 'tablet'>;\n\n/**\n * Service to provide the current breakpoint based on Taiga UI's media queries\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiBreakpointService extends Observable<TuiBreakpointMediaKey | null> {\n private readonly sorted: number[] = Object.values(this.media).sort((a, b) => a - b);\n private readonly invert: Record<number, TuiBreakpointMediaKey> = Object.keys(\n this.media,\n ).reduce(\n (ret, key) => ({\n ...ret,\n [this.media[key as TuiBreakpointMediaKey]]: key,\n }),\n {},\n );\n\n private readonly stream$ = this.size$.pipe(\n map(({width}) => this.sorted.find(size => size > width)),\n map(key => this.invert[key || this.sorted[this.sorted.length - 1]]),\n distinctUntilChanged(),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n\n constructor(\n @Inject(TUI_MEDIA) private readonly media: TuiMedia,\n @Inject(TUI_WINDOW_SIZE) private readonly size$: Observable<ClientRect>,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n}\n","import {Inject, Injectable, LOCALE_ID} from '@angular/core';\nimport {Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiFormatDateService {\n constructor(@Inject(LOCALE_ID) protected readonly locale: string) {}\n\n format(timestamp: number): Observable<string> {\n return of(\n new Date(timestamp).toLocaleTimeString(this.locale, {\n hour: `numeric`,\n minute: `2-digit`,\n }),\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {BehaviorSubject} from 'rxjs';\n\n/**\n * Service for displaying hints/tooltips\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiHintService extends BehaviorSubject<readonly TuiPortalItem[]> {\n constructor() {\n super([]);\n }\n\n add(directive: TuiPortalItem): void {\n this.next(this.value.concat(directive));\n }\n\n remove(directive: TuiPortalItem): void {\n if (this.value.includes(directive)) {\n this.next(this.value.filter(hint => hint !== directive));\n }\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {fromEvent, Observable} from 'rxjs';\nimport {map, share, startWith} from 'rxjs/operators';\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiNightThemeService extends Observable<boolean> {\n constructor(@Inject(WINDOW) win: Window) {\n const media = win.matchMedia(`(prefers-color-scheme: dark)`);\n const media$ = fromEvent(media, `change`).pipe(\n startWith(null),\n map(() => media.matches),\n share(),\n );\n\n super(subscriber => media$.subscribe(subscriber));\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {tuiZonefree} from '@taiga-ui/cdk';\nimport {TuiPositionAccessor} from '@taiga-ui/core/abstract';\nimport {TuiPoint} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable()\nexport class TuiPositionService extends Observable<TuiPoint> {\n constructor(\n // Destructuring here causes memory leak\n @Inject(ElementRef) el: ElementRef<HTMLElement>,\n @Inject(ANIMATION_FRAME) animationFrame: Observable<unknown>,\n @Inject(NgZone) zone: NgZone,\n @Inject(TuiPositionAccessor) accessor: TuiPositionAccessor,\n ) {\n super(subscriber =>\n animationFrame\n .pipe(\n map(() => el.nativeElement.getBoundingClientRect()),\n map(rect => accessor.getPosition(rect)),\n tuiZonefree(zone),\n )\n .subscribe(subscriber),\n );\n }\n}\n","import {Inject, Injectable, NgZone, Optional, Self} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {TuiDestroyService, tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {EMPTY, merge, Observable, timer} from 'rxjs';\nimport {distinctUntilChanged, map, takeUntil} from 'rxjs/operators';\n\n// TODO: Remove when Angular is update and `RouterLinkActive` has output\n@Injectable()\nexport class TuiRouterLinkActiveService extends Observable<boolean> {\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n routerLinkActive: RouterLinkActive | null,\n @Inject(NgZone) zone: NgZone,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n @Self() @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n const stream$ = routerLinkActive\n ? merge(\n timer(0), // SSR (animationFrame$ never emits value during SSR)\n animationFrame$,\n ).pipe(\n map(() => routerLinkActive.isActive),\n distinctUntilChanged(),\n tuiZoneOptimized(zone),\n takeUntil(destroy$),\n )\n : EMPTY;\n\n super(subscriber => stream$.subscribe(subscriber));\n }\n}\n","import {Inject, Injectable, Optional, Sanitizer, SecurityContext} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {tuiAssert} from '@taiga-ui/cdk';\nimport {TUI_ICONS, TUI_SANITIZER} from '@taiga-ui/core/tokens';\nimport {tuiProcessIcon} from '@taiga-ui/core/utils/dom';\nimport {BehaviorSubject} from 'rxjs';\n\n/**\n * Service for reusing SVGs without inlining each instance\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiSvgService {\n private originals: Record<string, string> = {};\n\n readonly items$ = new BehaviorSubject<Map<string, SafeHtml>>(new Map());\n\n constructor(\n @Optional()\n @Inject(TUI_SANITIZER)\n private readonly tuiSanitizer: Sanitizer | null,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_ICONS) icons: Record<string, string>,\n ) {\n this.define(icons);\n }\n\n define(icons: Record<string, string>): void {\n const {value} = this.items$;\n\n Object.keys(icons).forEach(key => {\n this.defineIcon(key, icons[key], value);\n });\n\n this.items$.next(value);\n }\n\n getOriginal(name: string): string | null {\n return this.originals[name] || null;\n }\n\n private defineIcon(name: string, src: string, map: Map<string, SafeHtml>): void {\n if (map.has(name)) {\n return;\n }\n\n const parsed = this.parseSrc(name, src);\n\n if (!parsed) {\n ngDevMode && tuiAssert.assert(false, `Unable to parse given SVG src`);\n\n return;\n }\n\n map.set(name, parsed);\n this.originals = {\n ...this.originals,\n [name]: src,\n };\n }\n\n private parseSrc(name: string, src: string): SafeHtml {\n return this.sanitize(tuiProcessIcon(src, name));\n }\n\n private sanitize(src: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(\n (this.tuiSanitizer\n ? this.tuiSanitizer.sanitize(SecurityContext.HTML, src)\n : this.sanitizer.sanitize(SecurityContext.HTML, src)) || ``,\n );\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {TUI_IS_WEBKIT} from '@taiga-ui/cdk';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiVisualViewportService {\n constructor(\n @Inject(WINDOW) private readonly win: Window,\n @Inject(TUI_IS_WEBKIT) private readonly isWebkit: boolean,\n ) {}\n\n // https://bugs.webkit.org/show_bug.cgi?id=207089\n correct(point: TuiPoint): TuiPoint {\n return this.isWebkit\n ? [\n point[0] + (this.win.visualViewport?.offsetTop ?? 0),\n point[1] + (this.win.visualViewport?.offsetLeft ?? 0),\n ]\n : point;\n }\n}\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-services.js","sources":["../../../projects/core/services/breakpoint.service.ts","../../../projects/core/services/format-date.service.ts","../../../projects/core/services/hint.service.ts","../../../projects/core/services/night-theme.service.ts","../../../projects/core/services/position.service.ts","../../../projects/core/services/router-link-active.service.ts","../../../projects/core/services/svg.service.ts","../../../projects/core/services/visual-viewport.service.ts","../../../projects/core/services/taiga-ui-core-services.ts"],"sourcesContent":["import {Inject, Injectable} from '@angular/core';\nimport {TUI_WINDOW_SIZE} from '@taiga-ui/cdk';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\nimport {TUI_MEDIA} from '@taiga-ui/core/tokens';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, shareReplay} from 'rxjs/operators';\n\nexport type TuiBreakpointMediaKey = keyof Omit<TuiMedia, 'tablet'>;\n\n/**\n * Service to provide the current breakpoint based on Taiga UI's media queries\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiBreakpointService extends Observable<TuiBreakpointMediaKey | null> {\n private readonly sorted: number[] = Object.values(this.media).sort((a, b) => a - b);\n private readonly invert: Record<number, TuiBreakpointMediaKey> = Object.keys(\n this.media,\n ).reduce(\n (ret, key) => ({\n ...ret,\n [this.media[key as TuiBreakpointMediaKey]]: key,\n }),\n {},\n );\n\n private readonly stream$ = this.size$.pipe(\n map(({width}) => this.sorted.find(size => size > width)),\n map(key => this.invert[key || this.sorted[this.sorted.length - 1]]),\n distinctUntilChanged(),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n\n constructor(\n @Inject(TUI_MEDIA) private readonly media: TuiMedia,\n @Inject(TUI_WINDOW_SIZE) private readonly size$: Observable<ClientRect>,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n}\n","import {Inject, Injectable, LOCALE_ID} from '@angular/core';\nimport {Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiFormatDateService {\n constructor(@Inject(LOCALE_ID) protected readonly locale: string) {}\n\n format(timestamp: number): Observable<string> {\n return of(\n new Date(timestamp).toLocaleTimeString(this.locale, {\n hour: `numeric`,\n minute: `2-digit`,\n }),\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {BehaviorSubject} from 'rxjs';\n\n/**\n * Service for displaying hints/tooltips\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiHintService extends BehaviorSubject<readonly TuiPortalItem[]> {\n constructor() {\n super([]);\n }\n\n add(directive: TuiPortalItem): void {\n this.next(this.value.concat(directive));\n }\n\n remove(directive: TuiPortalItem): void {\n if (this.value.includes(directive)) {\n this.next(this.value.filter(hint => hint !== directive));\n }\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {fromEvent, Observable} from 'rxjs';\nimport {map, share, startWith} from 'rxjs/operators';\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiNightThemeService extends Observable<boolean> {\n constructor(@Inject(WINDOW) win: Window) {\n const media = win.matchMedia(`(prefers-color-scheme: dark)`);\n const media$ = fromEvent(media, `change`).pipe(\n startWith(null),\n map(() => media.matches),\n share(),\n );\n\n super(subscriber => media$.subscribe(subscriber));\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {EMPTY_CLIENT_RECT, tuiZonefree} from '@taiga-ui/cdk';\nimport {TuiPositionAccessor} from '@taiga-ui/core/abstract';\nimport {TuiPoint} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {finalize, map} from 'rxjs/operators';\n\n@Injectable()\nexport class TuiPositionService extends Observable<TuiPoint> {\n constructor(\n // Destructuring here causes memory leak\n @Inject(ElementRef) el: ElementRef<HTMLElement>,\n @Inject(ANIMATION_FRAME) animationFrame: Observable<unknown>,\n @Inject(NgZone) zone: NgZone,\n @Inject(TuiPositionAccessor) accessor: TuiPositionAccessor,\n ) {\n super(subscriber =>\n animationFrame\n .pipe(\n map(() => el.nativeElement.getBoundingClientRect()),\n map(rect => accessor.getPosition(rect)),\n tuiZonefree(zone),\n finalize(() => accessor.getPosition(EMPTY_CLIENT_RECT)),\n )\n .subscribe(subscriber),\n );\n }\n}\n","import {Inject, Injectable, NgZone, Optional, Self} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {TuiDestroyService, tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {EMPTY, merge, Observable, timer} from 'rxjs';\nimport {distinctUntilChanged, map, takeUntil} from 'rxjs/operators';\n\n// TODO: Remove when Angular is update and `RouterLinkActive` has output\n@Injectable()\nexport class TuiRouterLinkActiveService extends Observable<boolean> {\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n routerLinkActive: RouterLinkActive | null,\n @Inject(NgZone) zone: NgZone,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n @Self() @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n const stream$ = routerLinkActive\n ? merge(\n timer(0), // SSR (animationFrame$ never emits value during SSR)\n animationFrame$,\n ).pipe(\n map(() => routerLinkActive.isActive),\n distinctUntilChanged(),\n tuiZoneOptimized(zone),\n takeUntil(destroy$),\n )\n : EMPTY;\n\n super(subscriber => stream$.subscribe(subscriber));\n }\n}\n","import {Inject, Injectable, Optional, Sanitizer, SecurityContext} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {tuiAssert} from '@taiga-ui/cdk';\nimport {TUI_ICONS, TUI_SANITIZER} from '@taiga-ui/core/tokens';\nimport {tuiProcessIcon} from '@taiga-ui/core/utils/dom';\nimport {BehaviorSubject} from 'rxjs';\n\n/**\n * Service for reusing SVGs without inlining each instance\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiSvgService {\n private originals: Record<string, string> = {};\n\n readonly items$ = new BehaviorSubject<Map<string, SafeHtml>>(new Map());\n\n constructor(\n @Optional()\n @Inject(TUI_SANITIZER)\n private readonly tuiSanitizer: Sanitizer | null,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_ICONS) icons: Record<string, string>,\n ) {\n this.define(icons);\n }\n\n define(icons: Record<string, string>): void {\n const {value} = this.items$;\n\n Object.keys(icons).forEach(key => {\n this.defineIcon(key, icons[key], value);\n });\n\n this.items$.next(value);\n }\n\n getOriginal(name: string): string | null {\n return this.originals[name] || null;\n }\n\n private defineIcon(name: string, src: string, map: Map<string, SafeHtml>): void {\n if (map.has(name)) {\n return;\n }\n\n const parsed = this.parseSrc(name, src);\n\n if (!parsed) {\n ngDevMode && tuiAssert.assert(false, `Unable to parse given SVG src`);\n\n return;\n }\n\n map.set(name, parsed);\n this.originals = {\n ...this.originals,\n [name]: src,\n };\n }\n\n private parseSrc(name: string, src: string): SafeHtml {\n return this.sanitize(tuiProcessIcon(src, name));\n }\n\n private sanitize(src: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(\n (this.tuiSanitizer\n ? this.tuiSanitizer.sanitize(SecurityContext.HTML, src)\n : this.sanitizer.sanitize(SecurityContext.HTML, src)) || ``,\n );\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {TUI_IS_WEBKIT} from '@taiga-ui/cdk';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiVisualViewportService {\n constructor(\n @Inject(WINDOW) private readonly win: Window,\n @Inject(TUI_IS_WEBKIT) private readonly isWebkit: boolean,\n ) {}\n\n // https://bugs.webkit.org/show_bug.cgi?id=207089\n correct(point: TuiPoint): TuiPoint {\n return this.isWebkit\n ? [\n point[0] + (this.win.visualViewport?.offsetTop ?? 0),\n point[1] + (this.win.visualViewport?.offsetLeft ?? 0),\n ]\n : point;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { inject, InjectionToken, isDevMode, NgZone, ElementRef } from '@angular/core';
1
+ import { inject, isDevMode, InjectionToken, NgZone, ElementRef } from '@angular/core';
2
2
  import { tuiCreateTokenFromFactory, tuiCreateToken, tuiProvideOptions, TuiDayOfWeek, tuiTypedFromEvent, tuiZoneOptimized, tuiSvgLinearGradientProcessor } from '@taiga-ui/cdk';
3
3
  import { DOCUMENT } from '@angular/common';
4
4
  import { tuiExtractI18n } from '@taiga-ui/i18n';
@@ -23,14 +23,12 @@ const TUI_ANIMATIONS_DURATION = tuiCreateTokenFromFactory(() => inject(TUI_REDUC
23
23
  /**
24
24
  * Options for Taiga UI animations
25
25
  */
26
- const TUI_ANIMATION_OPTIONS = new InjectionToken(`[TUI_ANIMATION_OPTIONS]`, {
27
- factory: () => ({
28
- value: ``,
29
- params: {
30
- duration: inject(TUI_ANIMATIONS_DURATION),
31
- },
32
- }),
33
- });
26
+ const TUI_ANIMATION_OPTIONS = tuiCreateTokenFromFactory(() => ({
27
+ value: ``,
28
+ params: {
29
+ duration: inject(TUI_ANIMATIONS_DURATION),
30
+ },
31
+ }));
34
32
 
35
33
  /**
36
34
  * @deprecated:
@@ -39,9 +37,7 @@ const TUI_ANIMATION_OPTIONS = new InjectionToken(`[TUI_ANIMATION_OPTIONS]`, {
39
37
  * The current token no longer matters as
40
38
  * it will not be provided in production
41
39
  */
42
- const TUI_ASSERT_ENABLED = new InjectionToken(`[TUI_ASSERT_ENABLED]`, {
43
- factory: () => isDevMode(),
44
- });
40
+ const TUI_ASSERT_ENABLED = tuiCreateTokenFromFactory(() => isDevMode());
45
41
 
46
42
  const COMMON_ICONS = {
47
43
  check: `tuiIconCheck`,
@@ -96,39 +92,27 @@ const TUI_FIRST_DAY_OF_WEEK = tuiCreateToken(TuiDayOfWeek.Monday);
96
92
  /**
97
93
  * Localized months names
98
94
  */
99
- const TUI_MONTHS = new InjectionToken(`[TUI_MONTHS]`, {
100
- factory: tuiExtractI18n(`months`),
101
- });
95
+ const TUI_MONTHS = tuiCreateTokenFromFactory(tuiExtractI18n(`months`));
102
96
  /**
103
97
  * i18n 'close' word
104
98
  */
105
- const TUI_CLOSE_WORD = new InjectionToken(`[TUI_CLOSE_WORD]`, {
106
- factory: tuiExtractI18n(`close`),
107
- });
99
+ const TUI_CLOSE_WORD = tuiCreateTokenFromFactory(tuiExtractI18n(`close`));
108
100
  /**
109
101
  * i18n 'Nothing found' message
110
102
  */
111
- const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(`[TUI_NOTHING_FOUND_MESSAGE]`, {
112
- factory: tuiExtractI18n(`nothingFoundMessage`),
113
- });
103
+ const TUI_NOTHING_FOUND_MESSAGE = tuiCreateTokenFromFactory(tuiExtractI18n(`nothingFoundMessage`));
114
104
  /**
115
105
  * i18n of error message
116
106
  */
117
- const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(`[TUI_DEFAULT_ERROR_MESSAGE]`, {
118
- factory: tuiExtractI18n(`defaultErrorMessage`),
119
- });
107
+ const TUI_DEFAULT_ERROR_MESSAGE = tuiCreateTokenFromFactory(tuiExtractI18n(`defaultErrorMessage`));
120
108
  /**
121
109
  * spin i18n texts
122
110
  */
123
- const TUI_SPIN_TEXTS = new InjectionToken(`[TUI_SPIN_TEXTS]`, {
124
- factory: tuiExtractI18n(`spinTexts`),
125
- });
111
+ const TUI_SPIN_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n(`spinTexts`));
126
112
  /**
127
113
  * calendars i18n texts
128
114
  */
129
- const TUI_SHORT_WEEK_DAYS = new InjectionToken(`[TUI_SHORT_WEEK_DAYS]`, {
130
- factory: tuiExtractI18n(`shortWeekDays`),
131
- });
115
+ const TUI_SHORT_WEEK_DAYS = tuiCreateTokenFromFactory(tuiExtractI18n(`shortWeekDays`));
132
116
 
133
117
  const TUI_DEFAULT_ICONS_PLACE = `assets/taiga-ui/icons`;
134
118
  /**
@@ -146,9 +130,7 @@ const TUI_ICONS = tuiCreateToken({});
146
130
  * A handler to retrieve USE id for icon by name
147
131
  * @deprecated Use {@link TUI_SVG_OPTIONS} instead
148
132
  */
149
- const TUI_ICONS_PATH = new InjectionToken(`[TUI_ICONS_PATH]`, {
150
- factory: () => tuiIconsPathFactory(inject(TUI_ICONS_PLACE)),
151
- });
133
+ const TUI_ICONS_PATH = tuiCreateTokenFromFactory(() => tuiIconsPathFactory(inject(TUI_ICONS_PLACE)));
152
134
 
153
135
  /**
154
136
  * Token for media constant
@@ -164,12 +146,10 @@ const TUI_MEDIA = tuiCreateToken({
164
146
  * TODO: drop in v4.0
165
147
  * Mobile resolution stream for private providers
166
148
  */
167
- const TUI_IS_MOBILE_RES = new InjectionToken(`[TUI_IS_MOBILE_RES]`, {
168
- factory: () => {
169
- const win = inject(WINDOW);
170
- const media = inject(TUI_MEDIA);
171
- return tuiTypedFromEvent(win, `resize`).pipe(share(), startWith(null), map(() => tuiIsMobile(win, media)), distinctUntilChanged(), tuiZoneOptimized(inject(NgZone)));
172
- },
149
+ const TUI_IS_MOBILE_RES = tuiCreateTokenFromFactory(() => {
150
+ const win = inject(WINDOW);
151
+ const media = inject(TUI_MEDIA);
152
+ return tuiTypedFromEvent(win, `resize`).pipe(share(), startWith(null), map(() => tuiIsMobile(win, media)), distinctUntilChanged(), tuiZoneOptimized(inject(NgZone)));
173
153
  });
174
154
 
175
155
  /**
@@ -244,14 +224,12 @@ const convertToSundayFirstWeekFormat = (weekDaysNames) => {
244
224
  * Ordered calendars i18n texts
245
225
  * @deprecated
246
226
  */
247
- const TUI_ORDERED_SHORT_WEEK_DAYS = new InjectionToken(`[TUI_ORDERED_SHORT_WEEK_DAYS]`, {
248
- factory: () => {
249
- const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);
250
- return inject(TUI_SHORT_WEEK_DAYS).pipe(map(convertToSundayFirstWeekFormat), map(weekDays => [
251
- ...weekDays.slice(firstDayOfWeekIndex),
252
- ...weekDays.slice(0, firstDayOfWeekIndex),
253
- ]));
254
- },
227
+ const TUI_ORDERED_SHORT_WEEK_DAYS = tuiCreateTokenFromFactory(() => {
228
+ const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);
229
+ return inject(TUI_SHORT_WEEK_DAYS).pipe(map(convertToSundayFirstWeekFormat), map(weekDays => [
230
+ ...weekDays.slice(firstDayOfWeekIndex),
231
+ ...weekDays.slice(0, firstDayOfWeekIndex),
232
+ ]));
255
233
  });
256
234
 
257
235
  /**
@@ -262,18 +240,14 @@ const TUI_SANITIZER = new InjectionToken(`[TUI_SANITIZER]`);
262
240
  /**
263
241
  * Scrollable container
264
242
  */
265
- const TUI_SCROLL_REF = new InjectionToken(`[TUI_SCROLL_REF]`, {
266
- factory: () => new ElementRef(inject(DOCUMENT).documentElement),
267
- });
243
+ const TUI_SCROLL_REF = tuiCreateTokenFromFactory(() => new ElementRef(inject(DOCUMENT).documentElement));
268
244
 
269
245
  /**
270
246
  * A stream of possible selection changes
271
247
  */
272
- const TUI_SELECTION_STREAM = new InjectionToken(`[TUI_SELECTION_STREAM]`, {
273
- factory: () => {
274
- const doc = inject(DOCUMENT);
275
- return merge(tuiTypedFromEvent(doc, `selectionchange`), tuiTypedFromEvent(doc, `mouseup`), tuiTypedFromEvent(doc, `mousedown`).pipe(switchMap(() => tuiTypedFromEvent(doc, `mousemove`).pipe(takeUntil(tuiTypedFromEvent(doc, `mouseup`))))), tuiTypedFromEvent(doc, `keydown`), tuiTypedFromEvent(doc, `keyup`)).pipe(share());
276
- },
248
+ const TUI_SELECTION_STREAM = tuiCreateTokenFromFactory(() => {
249
+ const doc = inject(DOCUMENT);
250
+ return merge(tuiTypedFromEvent(doc, `selectionchange`), tuiTypedFromEvent(doc, `mouseup`), tuiTypedFromEvent(doc, `mousedown`).pipe(switchMap(() => tuiTypedFromEvent(doc, `mousemove`).pipe(takeUntil(tuiTypedFromEvent(doc, `mouseup`))))), tuiTypedFromEvent(doc, `keydown`), tuiTypedFromEvent(doc, `keyup`)).pipe(share());
277
251
  });
278
252
 
279
253
  const TUI_SPIN_ICONS = tuiCreateToken({
@@ -321,23 +295,21 @@ const TUI_VALUE_ACCESSOR = new InjectionToken(`[TUI_VALUE_ACCESSOR]`);
321
295
  /**
322
296
  * Viewport accessor
323
297
  */
324
- const TUI_VIEWPORT = new InjectionToken(`[TUI_VIEWPORT]`, {
325
- factory: () => {
326
- const win = inject(WINDOW);
327
- return {
328
- type: `viewport`,
329
- getClientRect() {
330
- return {
331
- top: 0,
332
- left: 0,
333
- right: win.innerWidth,
334
- bottom: win.innerHeight,
335
- width: win.innerWidth,
336
- height: win.innerHeight,
337
- };
338
- },
339
- };
340
- },
298
+ const TUI_VIEWPORT = tuiCreateTokenFromFactory(() => {
299
+ const win = inject(WINDOW);
300
+ return {
301
+ type: `viewport`,
302
+ getClientRect() {
303
+ return {
304
+ top: 0,
305
+ left: 0,
306
+ right: win.innerWidth,
307
+ bottom: win.innerHeight,
308
+ width: win.innerWidth,
309
+ height: win.innerHeight,
310
+ };
311
+ },
312
+ };
341
313
  });
342
314
  function tuiAsViewport(useExisting) {
343
315
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-tokens.js","sources":["../../../projects/core/tokens/reduced-motion.ts","../../../projects/core/tokens/animations-duration.ts","../../../projects/core/tokens/animation-options.ts","../../../projects/core/tokens/assert-enabled.ts","../../../projects/core/tokens/common-icon.ts","../../../projects/core/tokens/data-list-accessor.ts","../../../projects/core/tokens/data-list-host.ts","../../../projects/core/tokens/day-type-handler.ts","../../../projects/core/tokens/document-or-shadow-root.ts","../../../projects/core/tokens/element-ref.ts","../../../projects/core/tokens/first-day-of-week.ts","../../../projects/core/tokens/i18n.ts","../../../projects/core/tokens/icon-place.ts","../../../projects/core/tokens/icons.ts","../../../projects/core/tokens/icons-path.ts","../../../projects/core/tokens/media.ts","../../../projects/core/tokens/is-mobile-resolution.ts","../../../projects/core/tokens/legacy-mask.ts","../../../projects/core/tokens/mode.ts","../../../projects/core/tokens/notification-options.ts","../../../projects/core/tokens/number-format.ts","../../../projects/core/tokens/option-content.ts","../../../projects/core/tokens/ordered-short-week-days.ts","../../../projects/core/tokens/sanitizer.ts","../../../projects/core/tokens/scroll-ref.ts","../../../projects/core/tokens/selection-stream.ts","../../../projects/core/tokens/spin-icons.ts","../../../projects/core/tokens/svg-content-processor.ts","../../../projects/core/tokens/svg-src-processor.ts","../../../projects/core/tokens/textfield-appearance.ts","../../../projects/core/tokens/textfield-host.ts","../../../projects/core/tokens/theme.ts","../../../projects/core/tokens/value-accessor.ts","../../../projects/core/tokens/viewport.ts","../../../projects/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\nexport const TUI_REDUCED_MOTION = tuiCreateTokenFromFactory(\n () =>\n inject(DOCUMENT).defaultView?.matchMedia?.(`(prefers-reduced-motion: reduce)`)\n .matches ?? false,\n);\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\nimport {TUI_REDUCED_MOTION} from './reduced-motion';\n\nexport const TUI_ANIMATIONS_DEFAULT_DURATION = 300;\n\n/**\n * Duration of all Taiga UI animations in ms\n */\nexport const TUI_ANIMATIONS_DURATION = tuiCreateTokenFromFactory(() =>\n inject(TUI_REDUCED_MOTION) ? 0 : TUI_ANIMATIONS_DEFAULT_DURATION,\n);\n","import {AnimationOptions} from '@angular/animations';\nimport {inject, InjectionToken} from '@angular/core';\n\nimport {TUI_ANIMATIONS_DURATION} from './animations-duration';\n\n/**\n * Options for Taiga UI animations\n */\nexport const TUI_ANIMATION_OPTIONS = new InjectionToken<AnimationOptions>(\n `[TUI_ANIMATION_OPTIONS]`,\n {\n factory: () => ({\n value: ``,\n params: {\n duration: inject(TUI_ANIMATIONS_DURATION),\n },\n }),\n },\n);\n","import {InjectionToken, isDevMode} from '@angular/core';\n\n/**\n * @deprecated:\n * Flag to enable assertions across Taiga UI\n *\n * The current token no longer matters as\n * it will not be provided in production\n */\nexport const TUI_ASSERT_ENABLED = new InjectionToken(`[TUI_ASSERT_ENABLED]`, {\n factory: () => isDevMode(),\n});\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\n\nexport interface TuiCommonIcons {\n readonly check: string;\n readonly close: string;\n readonly error: string;\n readonly more: string;\n}\n\nconst COMMON_ICONS: TuiCommonIcons = {\n check: `tuiIconCheck`,\n close: `tuiIconClose`,\n error: `tuiIconAlertCircle`,\n more: `tuiIconChevronRight`,\n};\n\nexport const TUI_COMMON_ICONS = tuiCreateToken(COMMON_ICONS);\n\nexport function tuiCommonIconsProvider(icons: TuiCommonIcons): Provider {\n return tuiProvideOptions(TUI_COMMON_ICONS, icons, COMMON_ICONS);\n}\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\n\n/**\n * Accessor for data-list options\n */\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n `[TUI_DATA_LIST_ACCESSOR]`,\n);\n\nexport function tuiAsDataListAccessor(useExisting: Type<TuiDataListAccessor>): Provider {\n return {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting,\n };\n}\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\n\n/**\n * DataList controller\n */\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<unknown>>(\n `[TUI_DATA_LIST_HOST]`,\n);\n\nexport function tuiAsDataListHost(useExisting: Type<TuiDataListHost<unknown>>): Provider {\n return {\n provide: TUI_DATA_LIST_HOST,\n useExisting,\n };\n}\n","import {tuiCreateToken, TuiDay, TuiHandler} from '@taiga-ui/cdk';\n\n/**\n * Token for adding data-type attribute to calendar cell\n */\nexport const TUI_DAY_TYPE_HANDLER = tuiCreateToken<TuiHandler<TuiDay, string>>(day =>\n day.isWeekend ? `weekend` : `weekday`,\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOCUMENT_OR_SHADOW_ROOT = new InjectionToken<DocumentOrShadowRoot>(\n `[TUI_DOCUMENT_OR_SHADOW_ROOT]`,\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\n/**\n * ElementRef when you cannot use @Input for single time injection\n */\nexport const TUI_ELEMENT_REF = new InjectionToken<ElementRef>(`[TUI_ELEMENT_REF]`);\n","import {tuiCreateToken, TuiDayOfWeek} from '@taiga-ui/cdk';\n\n/**\n * The first day of the week index\n */\nexport const TUI_FIRST_DAY_OF_WEEK = tuiCreateToken<TuiDayOfWeek>(TuiDayOfWeek.Monday);\n","import {InjectionToken} from '@angular/core';\nimport {tuiExtractI18n} from '@taiga-ui/i18n';\n\n/**\n * Localized months names\n */\nexport const TUI_MONTHS = new InjectionToken(`[TUI_MONTHS]`, {\n factory: tuiExtractI18n(`months`),\n});\n\n/**\n * i18n 'close' word\n */\nexport const TUI_CLOSE_WORD = new InjectionToken(`[TUI_CLOSE_WORD]`, {\n factory: tuiExtractI18n(`close`),\n});\n\n/**\n * i18n 'Nothing found' message\n */\nexport const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(\n `[TUI_NOTHING_FOUND_MESSAGE]`,\n {\n factory: tuiExtractI18n(`nothingFoundMessage`),\n },\n);\n\n/**\n * i18n of error message\n */\nexport const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(\n `[TUI_DEFAULT_ERROR_MESSAGE]`,\n {\n factory: tuiExtractI18n(`defaultErrorMessage`),\n },\n);\n\n/**\n * spin i18n texts\n */\nexport const TUI_SPIN_TEXTS = new InjectionToken(`[TUI_SPIN_TEXTS]`, {\n factory: tuiExtractI18n(`spinTexts`),\n});\n\n/**\n * calendars i18n texts\n */\nexport const TUI_SHORT_WEEK_DAYS = new InjectionToken(`[TUI_SHORT_WEEK_DAYS]`, {\n factory: tuiExtractI18n(`shortWeekDays`),\n});\n","import {InjectionToken} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\n\nexport const TUI_DEFAULT_ICONS_PLACE = `assets/taiga-ui/icons` as const;\n\n/**\n * Path to icons\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PLACE: InjectionToken<string> = tuiCreateToken<string>(\n TUI_DEFAULT_ICONS_PLACE,\n);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * A key/value dictionary of icon names and src to be defined with TuiSvgService\n */\nexport const TUI_ICONS = tuiCreateToken<Record<string, string>>({});\n","import {inject, InjectionToken} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\n\nimport {TUI_ICONS_PLACE} from './icon-place';\n\n/**\n * A handler to retrieve USE id for icon by name\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PATH: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>(`[TUI_ICONS_PATH]`, {\n factory: () => tuiIconsPathFactory(inject(TUI_ICONS_PLACE)),\n });\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\n\n/**\n * Token for media constant\n */\nexport const TUI_MEDIA = tuiCreateToken<TuiMedia>({\n mobile: 768,\n desktopSmall: 1024,\n desktopLarge: 1280,\n});\n","import {inject, InjectionToken, NgZone} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent, tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {tuiIsMobile} from '@taiga-ui/core/utils';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, share, startWith} from 'rxjs/operators';\n\nimport {TUI_MEDIA} from './media';\n\n/**\n * @deprecated use {@link https://taiga-ui.dev/services/breakpoint-service TuiBreakpointService}\n * TODO: drop in v4.0\n * Mobile resolution stream for private providers\n */\nexport const TUI_IS_MOBILE_RES = new InjectionToken<Observable<boolean>>(\n `[TUI_IS_MOBILE_RES]`,\n {\n factory: () => {\n const win = inject(WINDOW);\n const media = inject(TUI_MEDIA);\n\n return tuiTypedFromEvent(win, `resize`).pipe(\n share(),\n startWith(null),\n map(() => tuiIsMobile(win, media)),\n distinctUntilChanged(),\n tuiZoneOptimized(inject(NgZone)),\n );\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\n\n/**\n * @internal\n * @deprecated\n * Don't use it! Will be removed after changing the mask.\n */\nexport const TUI_LEGACY_MASK = new InjectionToken(`[TUI_LEGACY_MASK]`);\n","import {InjectionToken} from '@angular/core';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\n/**\n * Mode stream for private providers\n */\nexport const TUI_MODE: InjectionToken<Observable<TuiBrightness | null>> =\n new InjectionToken<Observable<TuiBrightness | null>>(`[TUI_MODE]`);\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiNotificationDefaultOptions\n extends Omit<TuiAlertOptions<unknown>, 'data'> {\n size: TuiSizeL | TuiSizeS;\n}\n\n/** @deprecated remove export */\nexport const STATUS_ICON = {\n info: `tuiIconInfo`,\n success: `tuiIconCheckCircle`,\n error: `tuiIconXCircle`,\n warning: `tuiIconAlertCircle`,\n neutral: `tuiIconInfo`,\n} as const;\n\n/** Default values for the notification options. */\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: TuiNotificationDefaultOptions = {\n autoClose: 3000,\n label: ``,\n status: `info`,\n hasCloseButton: true,\n icon: ({$implicit}) => STATUS_ICON[$implicit],\n size: `m`,\n hasIcon: true,\n defaultAutoCloseTime: 3000,\n};\n\n/**\n * Default parameters for notification alert component\n */\nexport const TUI_NOTIFICATION_OPTIONS = tuiCreateToken(TUI_NOTIFICATION_DEFAULT_OPTIONS);\n\nexport function tuiNotificationOptionsProvider(\n options: Partial<TuiNotificationDefaultOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_NOTIFICATION_OPTIONS,\n options,\n TUI_NOTIFICATION_DEFAULT_OPTIONS,\n );\n}\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_NUMBER_FORMAT} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport const TUI_NUMBER_FORMAT = tuiCreateToken(TUI_DEFAULT_NUMBER_FORMAT);\n\nexport function tuiNumberFormatProvider(\n options: Partial<TuiNumberFormatSettings>,\n): Provider {\n return tuiProvideOptions(TUI_NUMBER_FORMAT, options, TUI_DEFAULT_NUMBER_FORMAT);\n}\n","import {InjectionToken, Provider, TemplateRef} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Content for tuiOption component\n */\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>>\n>(`[TUI_OPTION_CONTENT]`);\n\nexport function tuiAsOptionContent(\n useValue: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n >,\n): Provider {\n return {\n provide: TUI_OPTION_CONTENT,\n useValue,\n };\n}\n","/**\n * TODO: v4.0 delete the whole file\n */\nimport {inject, InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_FIRST_DAY_OF_WEEK} from './first-day-of-week';\nimport {TUI_SHORT_WEEK_DAYS} from './i18n';\n\n/**\n * @deprecated\n */\nexport type WEEK_DAYS_NAMES = [string, string, string, string, string, string, string];\n\nconst convertToSundayFirstWeekFormat = (\n weekDaysNames: WEEK_DAYS_NAMES,\n): WEEK_DAYS_NAMES => {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [\n weekDaysNames[sundayIndex],\n ...weekDaysNames.slice(0, sundayIndex),\n ] as WEEK_DAYS_NAMES;\n};\n\n/**\n * Ordered calendars i18n texts\n * @deprecated\n */\nexport const TUI_ORDERED_SHORT_WEEK_DAYS = new InjectionToken<\n Observable<WEEK_DAYS_NAMES>\n>(`[TUI_ORDERED_SHORT_WEEK_DAYS]`, {\n factory: () => {\n const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n return inject(TUI_SHORT_WEEK_DAYS).pipe(\n map(convertToSundayFirstWeekFormat),\n map(\n weekDays =>\n [\n ...weekDays.slice(firstDayOfWeekIndex),\n ...weekDays.slice(0, firstDayOfWeekIndex),\n ] as WEEK_DAYS_NAMES,\n ),\n );\n },\n});\n","import {InjectionToken, Sanitizer} from '@angular/core';\n\n/**\n * A custom Sanitizer to sanitize source before inlining\n */\nexport const TUI_SANITIZER = new InjectionToken<Sanitizer>(`[TUI_SANITIZER]`);\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, inject, InjectionToken} from '@angular/core';\n\n/**\n * Scrollable container\n */\nexport const TUI_SCROLL_REF = new InjectionToken<ElementRef<HTMLElement>>(\n `[TUI_SCROLL_REF]`,\n {\n factory: () => new ElementRef(inject(DOCUMENT).documentElement),\n },\n);\n","import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {share, switchMap, takeUntil} from 'rxjs/operators';\n\n/**\n * A stream of possible selection changes\n */\nexport const TUI_SELECTION_STREAM = new InjectionToken<Observable<unknown>>(\n `[TUI_SELECTION_STREAM]`,\n {\n factory: () => {\n const doc = inject(DOCUMENT);\n\n return merge(\n tuiTypedFromEvent(doc, `selectionchange`),\n tuiTypedFromEvent(doc, `mouseup`),\n tuiTypedFromEvent(doc, `mousedown`).pipe(\n switchMap(() =>\n tuiTypedFromEvent(doc, `mousemove`).pipe(\n takeUntil(tuiTypedFromEvent(doc, `mouseup`)),\n ),\n ),\n ),\n tuiTypedFromEvent(doc, `keydown`),\n tuiTypedFromEvent(doc, `keyup`),\n ).pipe(share());\n },\n },\n);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiSpinIcons {\n readonly decrement: PolymorpheusContent;\n readonly increment: PolymorpheusContent;\n}\n\nexport const TUI_SPIN_ICONS = tuiCreateToken<TuiSpinIcons>({\n decrement: `tuiIconChevronLeft`,\n increment: `tuiIconChevronRight`,\n});\n","import {\n tuiCreateToken,\n TuiHandler,\n TuiSafeHtml,\n tuiSvgLinearGradientProcessor,\n} from '@taiga-ui/cdk';\n\n/**\n * Transform function the contents of the loaded svg file\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_CONTENT_PROCESSOR = tuiCreateToken<\n TuiHandler<TuiSafeHtml, TuiSafeHtml>\n>(tuiSvgLinearGradientProcessor);\n","import {tuiCreateToken, TuiHandler, TuiSafeHtml} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\n/**\n * Source path processor for svg\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_SRC_PROCESSOR =\n tuiCreateToken<TuiHandler<TuiSafeHtml, TuiSafeHtml>>(identity);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\n\n/**\n * Appearance for inputs\n * @deprecated use {@link TUI_TEXTFIELD_APPEARANCE_DIRECTIVE} instead\n * TODO: Remove in 4.0\n */\nexport const TUI_TEXTFIELD_APPEARANCE = tuiCreateToken<string>(TuiAppearance.Textfield);\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\n\n/**\n * An interface to communicate with textfield based controls\n */\nexport const TUI_TEXTFIELD_HOST = new InjectionToken<TuiTextfieldHost>(\n `[TUI_TEXTFIELD_HOST]`,\n);\n\nexport function tuiAsTextfieldHost(useExisting: Type<TuiTextfieldHost>): Provider {\n return {\n provide: TUI_TEXTFIELD_HOST,\n useExisting,\n };\n}\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\nexport const TUI_THEME = tuiCreateToken(`Taiga`);\n","import {InjectionToken} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\n\n/**\n * Buffer token to pass NG_VALUE_ACCESSOR to a different Injector\n */\nexport const TUI_VALUE_ACCESSOR = new InjectionToken<ControlValueAccessor>(\n `[TUI_VALUE_ACCESSOR]`,\n);\n","import {inject, InjectionToken, Provider, Type} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n/**\n * Viewport accessor\n */\nexport const TUI_VIEWPORT = new InjectionToken<TuiRectAccessor>(`[TUI_VIEWPORT]`, {\n factory: () => {\n const win = inject(WINDOW);\n\n return {\n type: `viewport`,\n getClientRect() {\n return {\n top: 0,\n left: 0,\n right: win.innerWidth,\n bottom: win.innerHeight,\n width: win.innerWidth,\n height: win.innerHeight,\n };\n },\n };\n },\n});\n\nexport function tuiAsViewport(useExisting: Type<TuiRectAccessor>): Provider {\n return {\n provide: TUI_VIEWPORT,\n useExisting,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-tokens.js","sources":["../../../projects/core/tokens/reduced-motion.ts","../../../projects/core/tokens/animations-duration.ts","../../../projects/core/tokens/animation-options.ts","../../../projects/core/tokens/assert-enabled.ts","../../../projects/core/tokens/common-icon.ts","../../../projects/core/tokens/data-list-accessor.ts","../../../projects/core/tokens/data-list-host.ts","../../../projects/core/tokens/day-type-handler.ts","../../../projects/core/tokens/document-or-shadow-root.ts","../../../projects/core/tokens/element-ref.ts","../../../projects/core/tokens/first-day-of-week.ts","../../../projects/core/tokens/i18n.ts","../../../projects/core/tokens/icon-place.ts","../../../projects/core/tokens/icons.ts","../../../projects/core/tokens/icons-path.ts","../../../projects/core/tokens/media.ts","../../../projects/core/tokens/is-mobile-resolution.ts","../../../projects/core/tokens/legacy-mask.ts","../../../projects/core/tokens/mode.ts","../../../projects/core/tokens/notification-options.ts","../../../projects/core/tokens/number-format.ts","../../../projects/core/tokens/option-content.ts","../../../projects/core/tokens/ordered-short-week-days.ts","../../../projects/core/tokens/sanitizer.ts","../../../projects/core/tokens/scroll-ref.ts","../../../projects/core/tokens/selection-stream.ts","../../../projects/core/tokens/spin-icons.ts","../../../projects/core/tokens/svg-content-processor.ts","../../../projects/core/tokens/svg-src-processor.ts","../../../projects/core/tokens/textfield-appearance.ts","../../../projects/core/tokens/textfield-host.ts","../../../projects/core/tokens/theme.ts","../../../projects/core/tokens/value-accessor.ts","../../../projects/core/tokens/viewport.ts","../../../projects/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\nexport const TUI_REDUCED_MOTION = tuiCreateTokenFromFactory(\n () =>\n inject(DOCUMENT).defaultView?.matchMedia?.(`(prefers-reduced-motion: reduce)`)\n .matches ?? false,\n);\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\nimport {TUI_REDUCED_MOTION} from './reduced-motion';\n\nexport const TUI_ANIMATIONS_DEFAULT_DURATION = 300;\n\n/**\n * Duration of all Taiga UI animations in ms\n */\nexport const TUI_ANIMATIONS_DURATION = tuiCreateTokenFromFactory<number>(() =>\n inject(TUI_REDUCED_MOTION) ? 0 : TUI_ANIMATIONS_DEFAULT_DURATION,\n);\n","import {AnimationOptions} from '@angular/animations';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\nimport {TUI_ANIMATIONS_DURATION} from './animations-duration';\n\n/**\n * Options for Taiga UI animations\n */\nexport const TUI_ANIMATION_OPTIONS = tuiCreateTokenFromFactory<AnimationOptions>(() => ({\n value: ``,\n params: {\n duration: inject(TUI_ANIMATIONS_DURATION),\n },\n}));\n","import {isDevMode} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\n/**\n * @deprecated:\n * Flag to enable assertions across Taiga UI\n *\n * The current token no longer matters as\n * it will not be provided in production\n */\nexport const TUI_ASSERT_ENABLED = tuiCreateTokenFromFactory(() => isDevMode());\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\n\nexport interface TuiCommonIcons {\n readonly check: string;\n readonly close: string;\n readonly error: string;\n readonly more: string;\n}\n\nconst COMMON_ICONS: TuiCommonIcons = {\n check: `tuiIconCheck`,\n close: `tuiIconClose`,\n error: `tuiIconAlertCircle`,\n more: `tuiIconChevronRight`,\n};\n\nexport const TUI_COMMON_ICONS = tuiCreateToken(COMMON_ICONS);\n\nexport function tuiCommonIconsProvider(icons: TuiCommonIcons): Provider {\n return tuiProvideOptions(TUI_COMMON_ICONS, icons, COMMON_ICONS);\n}\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\n\n/**\n * Accessor for data-list options\n */\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n `[TUI_DATA_LIST_ACCESSOR]`,\n);\n\nexport function tuiAsDataListAccessor(useExisting: Type<TuiDataListAccessor>): Provider {\n return {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting,\n };\n}\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\n\n/**\n * DataList controller\n */\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<unknown>>(\n `[TUI_DATA_LIST_HOST]`,\n);\n\nexport function tuiAsDataListHost(useExisting: Type<TuiDataListHost<unknown>>): Provider {\n return {\n provide: TUI_DATA_LIST_HOST,\n useExisting,\n };\n}\n","import {tuiCreateToken, TuiDay, TuiHandler} from '@taiga-ui/cdk';\n\n/**\n * Token for adding data-type attribute to calendar cell\n */\nexport const TUI_DAY_TYPE_HANDLER = tuiCreateToken<TuiHandler<TuiDay, string>>(day =>\n day.isWeekend ? `weekend` : `weekday`,\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOCUMENT_OR_SHADOW_ROOT = new InjectionToken<DocumentOrShadowRoot>(\n `[TUI_DOCUMENT_OR_SHADOW_ROOT]`,\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\n/**\n * ElementRef when you cannot use @Input for single time injection\n */\nexport const TUI_ELEMENT_REF = new InjectionToken<ElementRef>(`[TUI_ELEMENT_REF]`);\n","import {tuiCreateToken, TuiDayOfWeek} from '@taiga-ui/cdk';\n\n/**\n * The first day of the week index\n */\nexport const TUI_FIRST_DAY_OF_WEEK = tuiCreateToken<TuiDayOfWeek>(TuiDayOfWeek.Monday);\n","import {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\nimport {tuiExtractI18n} from '@taiga-ui/i18n';\n\n/**\n * Localized months names\n */\nexport const TUI_MONTHS = tuiCreateTokenFromFactory(tuiExtractI18n(`months`));\n\n/**\n * i18n 'close' word\n */\nexport const TUI_CLOSE_WORD = tuiCreateTokenFromFactory(tuiExtractI18n(`close`));\n\n/**\n * i18n 'Nothing found' message\n */\nexport const TUI_NOTHING_FOUND_MESSAGE = tuiCreateTokenFromFactory(\n tuiExtractI18n(`nothingFoundMessage`),\n);\n\n/**\n * i18n of error message\n */\nexport const TUI_DEFAULT_ERROR_MESSAGE = tuiCreateTokenFromFactory(\n tuiExtractI18n(`defaultErrorMessage`),\n);\n\n/**\n * spin i18n texts\n */\nexport const TUI_SPIN_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n(`spinTexts`));\n\n/**\n * calendars i18n texts\n */\nexport const TUI_SHORT_WEEK_DAYS = tuiCreateTokenFromFactory(\n tuiExtractI18n(`shortWeekDays`),\n);\n","import {InjectionToken} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\n\nexport const TUI_DEFAULT_ICONS_PLACE = `assets/taiga-ui/icons` as const;\n\n/**\n * Path to icons\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PLACE: InjectionToken<string> = tuiCreateToken<string>(\n TUI_DEFAULT_ICONS_PLACE,\n);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * A key/value dictionary of icon names and src to be defined with TuiSvgService\n */\nexport const TUI_ICONS = tuiCreateToken<Record<string, string>>({});\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\n\nimport {TUI_ICONS_PLACE} from './icon-place';\n\n/**\n * A handler to retrieve USE id for icon by name\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PATH = tuiCreateTokenFromFactory(() =>\n tuiIconsPathFactory(inject(TUI_ICONS_PLACE)),\n);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\n\n/**\n * Token for media constant\n */\nexport const TUI_MEDIA = tuiCreateToken<TuiMedia>({\n mobile: 768,\n desktopSmall: 1024,\n desktopLarge: 1280,\n});\n","import {inject, NgZone} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiCreateTokenFromFactory,\n tuiTypedFromEvent,\n tuiZoneOptimized,\n} from '@taiga-ui/cdk';\nimport {tuiIsMobile} from '@taiga-ui/core/utils';\nimport {distinctUntilChanged, map, share, startWith} from 'rxjs/operators';\n\nimport {TUI_MEDIA} from './media';\n\n/**\n * @deprecated use {@link https://taiga-ui.dev/services/breakpoint-service TuiBreakpointService}\n * TODO: drop in v4.0\n * Mobile resolution stream for private providers\n */\nexport const TUI_IS_MOBILE_RES = tuiCreateTokenFromFactory(() => {\n const win = inject(WINDOW);\n const media = inject(TUI_MEDIA);\n\n return tuiTypedFromEvent(win, `resize`).pipe(\n share(),\n startWith(null),\n map(() => tuiIsMobile(win, media)),\n distinctUntilChanged(),\n tuiZoneOptimized(inject(NgZone)),\n );\n});\n","import {InjectionToken} from '@angular/core';\n\n/**\n * @internal\n * @deprecated\n * Don't use it! Will be removed after changing the mask.\n */\nexport const TUI_LEGACY_MASK = new InjectionToken(`[TUI_LEGACY_MASK]`);\n","import {InjectionToken} from '@angular/core';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\n/**\n * Mode stream for private providers\n */\nexport const TUI_MODE: InjectionToken<Observable<TuiBrightness | null>> =\n new InjectionToken<Observable<TuiBrightness | null>>(`[TUI_MODE]`);\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiNotificationDefaultOptions\n extends Omit<TuiAlertOptions<unknown>, 'data'> {\n size: TuiSizeL | TuiSizeS;\n}\n\n/** @deprecated remove export */\nexport const STATUS_ICON = {\n info: `tuiIconInfo`,\n success: `tuiIconCheckCircle`,\n error: `tuiIconXCircle`,\n warning: `tuiIconAlertCircle`,\n neutral: `tuiIconInfo`,\n} as const;\n\n/** Default values for the notification options. */\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: TuiNotificationDefaultOptions = {\n autoClose: 3000,\n label: ``,\n status: `info`,\n hasCloseButton: true,\n icon: ({$implicit}) => STATUS_ICON[$implicit],\n size: `m`,\n hasIcon: true,\n defaultAutoCloseTime: 3000,\n};\n\n/**\n * Default parameters for notification alert component\n */\nexport const TUI_NOTIFICATION_OPTIONS = tuiCreateToken(TUI_NOTIFICATION_DEFAULT_OPTIONS);\n\nexport function tuiNotificationOptionsProvider(\n options: Partial<TuiNotificationDefaultOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_NOTIFICATION_OPTIONS,\n options,\n TUI_NOTIFICATION_DEFAULT_OPTIONS,\n );\n}\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_NUMBER_FORMAT} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport const TUI_NUMBER_FORMAT = tuiCreateToken(TUI_DEFAULT_NUMBER_FORMAT);\n\nexport function tuiNumberFormatProvider(\n options: Partial<TuiNumberFormatSettings>,\n): Provider {\n return tuiProvideOptions(TUI_NUMBER_FORMAT, options, TUI_DEFAULT_NUMBER_FORMAT);\n}\n","import {InjectionToken, Provider, TemplateRef} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Content for tuiOption component\n */\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>>\n>(`[TUI_OPTION_CONTENT]`);\n\nexport function tuiAsOptionContent(\n useValue: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n >,\n): Provider {\n return {\n provide: TUI_OPTION_CONTENT,\n useValue,\n };\n}\n","/**\n * TODO: v4.0 delete the whole file\n */\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_FIRST_DAY_OF_WEEK} from './first-day-of-week';\nimport {TUI_SHORT_WEEK_DAYS} from './i18n';\n\n/**\n * @deprecated\n */\nexport type WEEK_DAYS_NAMES = [string, string, string, string, string, string, string];\n\nconst convertToSundayFirstWeekFormat = (\n weekDaysNames: WEEK_DAYS_NAMES,\n): WEEK_DAYS_NAMES => {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [\n weekDaysNames[sundayIndex],\n ...weekDaysNames.slice(0, sundayIndex),\n ] as WEEK_DAYS_NAMES;\n};\n\n/**\n * Ordered calendars i18n texts\n * @deprecated\n */\nexport const TUI_ORDERED_SHORT_WEEK_DAYS = tuiCreateTokenFromFactory(() => {\n const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n return inject(TUI_SHORT_WEEK_DAYS).pipe(\n map(convertToSundayFirstWeekFormat),\n map(\n weekDays =>\n [\n ...weekDays.slice(firstDayOfWeekIndex),\n ...weekDays.slice(0, firstDayOfWeekIndex),\n ] as WEEK_DAYS_NAMES,\n ),\n );\n});\n","import {InjectionToken, Sanitizer} from '@angular/core';\n\n/**\n * A custom Sanitizer to sanitize source before inlining\n */\nexport const TUI_SANITIZER = new InjectionToken<Sanitizer>(`[TUI_SANITIZER]`);\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\n/**\n * Scrollable container\n */\nexport const TUI_SCROLL_REF = tuiCreateTokenFromFactory(\n () => new ElementRef(inject(DOCUMENT).documentElement),\n);\n","import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory, tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {share, switchMap, takeUntil} from 'rxjs/operators';\n\n/**\n * A stream of possible selection changes\n */\nexport const TUI_SELECTION_STREAM = tuiCreateTokenFromFactory<Observable<unknown>>(() => {\n const doc = inject(DOCUMENT);\n\n return merge(\n tuiTypedFromEvent(doc, `selectionchange`),\n tuiTypedFromEvent(doc, `mouseup`),\n tuiTypedFromEvent(doc, `mousedown`).pipe(\n switchMap(() =>\n tuiTypedFromEvent(doc, `mousemove`).pipe(\n takeUntil(tuiTypedFromEvent(doc, `mouseup`)),\n ),\n ),\n ),\n tuiTypedFromEvent(doc, `keydown`),\n tuiTypedFromEvent(doc, `keyup`),\n ).pipe(share());\n});\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiSpinIcons {\n readonly decrement: PolymorpheusContent;\n readonly increment: PolymorpheusContent;\n}\n\nexport const TUI_SPIN_ICONS = tuiCreateToken<TuiSpinIcons>({\n decrement: `tuiIconChevronLeft`,\n increment: `tuiIconChevronRight`,\n});\n","import {\n tuiCreateToken,\n TuiHandler,\n TuiSafeHtml,\n tuiSvgLinearGradientProcessor,\n} from '@taiga-ui/cdk';\n\n/**\n * Transform function the contents of the loaded svg file\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_CONTENT_PROCESSOR = tuiCreateToken<\n TuiHandler<TuiSafeHtml, TuiSafeHtml>\n>(tuiSvgLinearGradientProcessor);\n","import {tuiCreateToken, TuiHandler, TuiSafeHtml} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\n/**\n * Source path processor for svg\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_SRC_PROCESSOR =\n tuiCreateToken<TuiHandler<TuiSafeHtml, TuiSafeHtml>>(identity);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\n\n/**\n * Appearance for inputs\n * @deprecated use {@link TUI_TEXTFIELD_APPEARANCE_DIRECTIVE} instead\n * TODO: Remove in 4.0\n */\nexport const TUI_TEXTFIELD_APPEARANCE = tuiCreateToken<string>(TuiAppearance.Textfield);\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\n\n/**\n * An interface to communicate with textfield based controls\n */\nexport const TUI_TEXTFIELD_HOST = new InjectionToken<TuiTextfieldHost>(\n `[TUI_TEXTFIELD_HOST]`,\n);\n\nexport function tuiAsTextfieldHost(useExisting: Type<TuiTextfieldHost>): Provider {\n return {\n provide: TUI_TEXTFIELD_HOST,\n useExisting,\n };\n}\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\nexport const TUI_THEME = tuiCreateToken(`Taiga`);\n","import {InjectionToken} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\n\n/**\n * Buffer token to pass NG_VALUE_ACCESSOR to a different Injector\n */\nexport const TUI_VALUE_ACCESSOR = new InjectionToken<ControlValueAccessor>(\n `[TUI_VALUE_ACCESSOR]`,\n);\n","import {inject, Provider, Type} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n/**\n * Viewport accessor\n */\nexport const TUI_VIEWPORT = tuiCreateTokenFromFactory<TuiRectAccessor>(() => {\n const win = inject(WINDOW);\n\n return {\n type: `viewport`,\n getClientRect() {\n return {\n top: 0,\n left: 0,\n right: win.innerWidth,\n bottom: win.innerHeight,\n width: win.innerWidth,\n height: win.innerHeight,\n };\n },\n };\n});\n\nexport function tuiAsViewport(useExisting: Type<TuiRectAccessor>): Provider {\n return {\n provide: TUI_VIEWPORT,\n useExisting,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAIa,MAAA,kBAAkB,GAAG,yBAAyB,CACvD,MAAK;;AACD,IAAA,OAAA,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,MAAG,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,CAAA,gCAAA,CAAkC,EACxE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,KAAK,CAAA;AAAA,CAAA;;ACFtB,MAAM,+BAA+B,GAAG,IAAI;AAEnD;;AAEG;MACU,uBAAuB,GAAG,yBAAyB,CAAS,MACrE,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,+BAA+B;;ACLpE;;AAEG;MACU,qBAAqB,GAAG,yBAAyB,CAAmB,OAAO;AACpF,IAAA,KAAK,EAAE,CAAE,CAAA;AACT,IAAA,MAAM,EAAE;AACJ,QAAA,QAAQ,EAAE,MAAM,CAAC,uBAAuB,CAAC;AAC5C,KAAA;AACJ,CAAA,CAAC;;ACXF;;;;;;AAMG;AACI,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,MAAM,SAAS,EAAE;;ACA7E,MAAM,YAAY,GAAmB;AACjC,IAAA,KAAK,EAAE,CAAc,YAAA,CAAA;AACrB,IAAA,KAAK,EAAE,CAAc,YAAA,CAAA;AACrB,IAAA,KAAK,EAAE,CAAoB,kBAAA,CAAA;AAC3B,IAAA,IAAI,EAAE,CAAqB,mBAAA,CAAA;CAC9B,CAAC;MAEW,gBAAgB,GAAG,cAAc,CAAC,YAAY,EAAE;AAEvD,SAAU,sBAAsB,CAAC,KAAqB,EAAA;IACxD,OAAO,iBAAiB,CAAC,gBAAgB,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;AACpE;;AClBA;;AAEG;MACU,sBAAsB,GAAG,IAAI,cAAc,CACpD,CAA0B,wBAAA,CAAA,EAC5B;AAEI,SAAU,qBAAqB,CAAC,WAAsC,EAAA;IACxE,OAAO;AACH,QAAA,OAAO,EAAE,sBAAsB;QAC/B,WAAW;KACd,CAAC;AACN;;ACZA;;AAEG;MACU,kBAAkB,GAAG,IAAI,cAAc,CAChD,CAAsB,oBAAA,CAAA,EACxB;AAEI,SAAU,iBAAiB,CAAC,WAA2C,EAAA;IACzE,OAAO;AACH,QAAA,OAAO,EAAE,kBAAkB;QAC3B,WAAW;KACd,CAAC;AACN;;ACbA;;AAEG;MACU,oBAAoB,GAAG,cAAc,CAA6B,GAAG,IAC9E,GAAG,CAAC,SAAS,GAAG,CAAA,OAAA,CAAS,GAAG,CAAS,OAAA,CAAA;;MCJ5B,2BAA2B,GAAG,IAAI,cAAc,CACzD,CAA+B,6BAAA,CAAA;;ACDnC;;AAEG;MACU,eAAe,GAAG,IAAI,cAAc,CAAa,CAAmB,iBAAA,CAAA;;ACHjF;;AAEG;AACU,MAAA,qBAAqB,GAAG,cAAc,CAAe,YAAY,CAAC,MAAM;;ACFrF;;AAEG;AACU,MAAA,UAAU,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAA,MAAA,CAAQ,CAAC,EAAE;AAE9E;;AAEG;AACU,MAAA,cAAc,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAA,KAAA,CAAO,CAAC,EAAE;AAEjF;;AAEG;AACU,MAAA,yBAAyB,GAAG,yBAAyB,CAC9D,cAAc,CAAC,CAAA,mBAAA,CAAqB,CAAC,EACvC;AAEF;;AAEG;AACU,MAAA,yBAAyB,GAAG,yBAAyB,CAC9D,cAAc,CAAC,CAAA,mBAAA,CAAqB,CAAC,EACvC;AAEF;;AAEG;AACU,MAAA,cAAc,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAA,SAAA,CAAW,CAAC,EAAE;AAErF;;AAEG;AACU,MAAA,mBAAmB,GAAG,yBAAyB,CACxD,cAAc,CAAC,CAAA,aAAA,CAAe,CAAC;;ACjC5B,MAAM,uBAAuB,GAAG,wBAAiC;AAExE;;;AAGG;MACU,eAAe,GAA2B,cAAc,CACjE,uBAAuB;;ACR3B;;AAEG;MACU,SAAS,GAAG,cAAc,CAAyB,EAAE;;ACClE;;;AAGG;AACU,MAAA,cAAc,GAAG,yBAAyB,CAAC,MACpD,mBAAmB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;;ACRhD;;AAEG;AACI,MAAM,SAAS,GAAG,cAAc,CAAW;AAC9C,IAAA,MAAM,EAAE,GAAG;AACX,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,YAAY,EAAE,IAAI;AACrB,CAAA;;ACED;;;;AAIG;AACU,MAAA,iBAAiB,GAAG,yBAAyB,CAAC,MAAK;AAC5D,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3B,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAEhC,IAAA,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAQ,MAAA,CAAA,CAAC,CAAC,IAAI,CACxC,KAAK,EAAE,EACP,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAClC,oBAAoB,EAAE,EACtB,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CACnC,CAAC;AACN,CAAC;;AC1BD;;;;AAIG;MACU,eAAe,GAAG,IAAI,cAAc,CAAC,CAAmB,iBAAA,CAAA;;ACHrE;;AAEG;MACU,QAAQ,GACjB,IAAI,cAAc,CAAmC,CAAY,UAAA,CAAA;;ACErE;AACa,MAAA,WAAW,GAAG;AACvB,IAAA,IAAI,EAAE,CAAa,WAAA,CAAA;AACnB,IAAA,OAAO,EAAE,CAAoB,kBAAA,CAAA;AAC7B,IAAA,KAAK,EAAE,CAAgB,cAAA,CAAA;AACvB,IAAA,OAAO,EAAE,CAAoB,kBAAA,CAAA;AAC7B,IAAA,OAAO,EAAE,CAAa,WAAA,CAAA;EACf;AAEX;AACa,MAAA,gCAAgC,GAAkC;AAC3E,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,KAAK,EAAE,CAAE,CAAA;AACT,IAAA,MAAM,EAAE,CAAM,IAAA,CAAA;AACd,IAAA,cAAc,EAAE,IAAI;IACpB,IAAI,EAAE,CAAC,EAAC,SAAS,EAAC,KAAK,WAAW,CAAC,SAAS,CAAC;AAC7C,IAAA,IAAI,EAAE,CAAG,CAAA,CAAA;AACT,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,oBAAoB,EAAE,IAAI;EAC5B;AAEF;;AAEG;MACU,wBAAwB,GAAG,cAAc,CAAC,gCAAgC,EAAE;AAEnF,SAAU,8BAA8B,CAC1C,OAA+C,EAAA;IAE/C,OAAO,iBAAiB,CACpB,wBAAwB,EACxB,OAAO,EACP,gCAAgC,CACnC,CAAC;AACN;;ACvCA;;AAEG;MACU,iBAAiB,GAAG,cAAc,CAAC,yBAAyB,EAAE;AAErE,SAAU,uBAAuB,CACnC,OAAyC,EAAA;IAEzC,OAAO,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC;AACpF;;ACVA;;AAEG;MACU,kBAAkB,GAAG,IAAI,cAAc,CAElD,CAAsB,oBAAA,CAAA,EAAE;AAEpB,SAAU,kBAAkB,CAC9B,QAEC,EAAA;IAED,OAAO;AACH,QAAA,OAAO,EAAE,kBAAkB;QAC3B,QAAQ;KACX,CAAC;AACN;;ACpBA;;AAEG;AAaH,MAAM,8BAA8B,GAAG,CACnC,aAA8B,KACb;AACjB,IAAA,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7C,OAAO;QACH,aAAa,CAAC,WAAW,CAAC;AAC1B,QAAA,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC;KACtB,CAAC;AACzB,CAAC,CAAC;AAEF;;;AAGG;AACU,MAAA,2BAA2B,GAAG,yBAAyB,CAAC,MAAK;AACtE,IAAA,MAAM,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAE1D,IAAA,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CACnC,GAAG,CAAC,8BAA8B,CAAC,EACnC,GAAG,CACC,QAAQ,IACJ;AACI,QAAA,GAAG,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC;AACtC,QAAA,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC;AACzB,KAAA,CAC3B,CACJ,CAAC;AACN,CAAC;;ACzCD;;AAEG;MACU,aAAa,GAAG,IAAI,cAAc,CAAY,CAAiB,eAAA,CAAA;;ACD5E;;AAEG;MACU,cAAc,GAAG,yBAAyB,CACnD,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC;;ACF1D;;AAEG;AACU,MAAA,oBAAoB,GAAG,yBAAyB,CAAsB,MAAK;AACpF,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE7B,IAAA,OAAO,KAAK,CACR,iBAAiB,CAAC,GAAG,EAAE,CAAA,eAAA,CAAiB,CAAC,EACzC,iBAAiB,CAAC,GAAG,EAAE,CAAA,OAAA,CAAS,CAAC,EACjC,iBAAiB,CAAC,GAAG,EAAE,CAAA,SAAA,CAAW,CAAC,CAAC,IAAI,CACpC,SAAS,CAAC,MACN,iBAAiB,CAAC,GAAG,EAAE,CAAW,SAAA,CAAA,CAAC,CAAC,IAAI,CACpC,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAS,OAAA,CAAA,CAAC,CAAC,CAC/C,CACJ,CACJ,EACD,iBAAiB,CAAC,GAAG,EAAE,CAAA,OAAA,CAAS,CAAC,EACjC,iBAAiB,CAAC,GAAG,EAAE,CAAA,KAAA,CAAO,CAAC,CAClC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACpB,CAAC;;ACjBM,MAAM,cAAc,GAAG,cAAc,CAAe;AACvD,IAAA,SAAS,EAAE,CAAoB,kBAAA,CAAA;AAC/B,IAAA,SAAS,EAAE,CAAqB,mBAAA,CAAA;AACnC,CAAA;;ACJD;;;AAGG;MACU,yBAAyB,GAAG,cAAc,CAErD,6BAA6B;;ACV/B;;;AAGG;MACU,qBAAqB,GAC9B,cAAc,CAAuC,QAAQ;;ACLjE;;;;AAIG;AACU,MAAA,wBAAwB,GAAG,cAAc,CAAS,aAAa,CAAC,SAAS;;ACLtF;;AAEG;MACU,kBAAkB,GAAG,IAAI,cAAc,CAChD,CAAsB,oBAAA,CAAA,EACxB;AAEI,SAAU,kBAAkB,CAAC,WAAmC,EAAA;IAClE,OAAO;AACH,QAAA,OAAO,EAAE,kBAAkB;QAC3B,WAAW;KACd,CAAC;AACN;;MCba,SAAS,GAAG,cAAc,CAAC,CAAA,KAAA,CAAO;;ACC/C;;AAEG;MACU,kBAAkB,GAAG,IAAI,cAAc,CAChD,CAAsB,oBAAA,CAAA;;ACF1B;;AAEG;AACU,MAAA,YAAY,GAAG,yBAAyB,CAAkB,MAAK;AACxE,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAE3B,OAAO;AACH,QAAA,IAAI,EAAE,CAAU,QAAA,CAAA;QAChB,aAAa,GAAA;YACT,OAAO;AACH,gBAAA,GAAG,EAAE,CAAC;AACN,gBAAA,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,GAAG,CAAC,UAAU;gBACrB,MAAM,EAAE,GAAG,CAAC,WAAW;gBACvB,KAAK,EAAE,GAAG,CAAC,UAAU;gBACrB,MAAM,EAAE,GAAG,CAAC,WAAW;aAC1B,CAAC;SACL;KACJ,CAAC;AACN,CAAC,EAAE;AAEG,SAAU,aAAa,CAAC,WAAkC,EAAA;IAC5D,OAAO;AACH,QAAA,OAAO,EAAE,YAAY;QACrB,WAAW;KACd,CAAC;AACN;;AC/BA;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/core",
3
- "version": "3.44.1",
3
+ "version": "3.45.0",
4
4
  "description": "Core library for creating Angular components and applications using Taiga UI",
5
5
  "keywords": [
6
6
  "angular",
@@ -15,7 +15,7 @@
15
15
  "repository": "https://github.com/taiga-family/taiga-ui",
16
16
  "license": "Apache-2.0",
17
17
  "dependencies": {
18
- "@taiga-ui/i18n": "^3.44.1",
18
+ "@taiga-ui/i18n": "^3.45.0",
19
19
  "tslib": ">=2.0.0"
20
20
  },
21
21
  "peerDependencies": {
@@ -27,8 +27,8 @@
27
27
  "@angular/router": ">=12.0.0",
28
28
  "@ng-web-apis/common": ">=3.0.0",
29
29
  "@ng-web-apis/mutation-observer": ">=3.0.0",
30
- "@taiga-ui/cdk": ">=3.44.1",
31
- "@taiga-ui/i18n": ">=3.44.1",
30
+ "@taiga-ui/cdk": ">=3.45.0",
31
+ "@taiga-ui/i18n": ">=3.45.0",
32
32
  "@tinkoff/ng-event-plugins": ">=3.1.0",
33
33
  "@tinkoff/ng-polymorpheus": ">=4.0.0",
34
34
  "rxjs": ">=6.0.0"
@@ -40,6 +40,12 @@
40
40
  }
41
41
 
42
42
  .wrapper-focus(@ruleset) {
43
+ // Temporary rule until we get hostDirectives with Angular 15
44
+ :focus-visible:not([data-focused='false']) > &,
45
+ [data-focused='true'] > & {
46
+ @ruleset();
47
+ }
48
+
43
49
  // TODO: Join rules together once all browsers support focus-visible
44
50
  // Specificity artificially increased to match `:hover:not()` level
45
51
  &:focus-visible:focus-visible {
@@ -11,7 +11,7 @@
11
11
  border-radius: inherit;
12
12
 
13
13
  &:after {
14
- .transition(box-shadow);
14
+ .transition(~'box-shadow, color');
15
15
  .fullsize(absolute, inset);
16
16
  content: '';
17
17
  border-radius: inherit;
@@ -2,7 +2,8 @@
2
2
 
3
3
  /* stylelint-disable order/order */
4
4
  [tuiWrapper][data-appearance='secondary'],
5
- [tuiWrapper][data-appearance='flat'] {
5
+ [tuiWrapper][data-appearance='flat'],
6
+ [tuiWrapper][data-appearance='destructive'] {
6
7
  background: var(--tui-secondary);
7
8
  color: var(--tui-link);
8
9
 
@@ -12,7 +13,6 @@
12
13
 
13
14
  .wrapper-hover({
14
15
  background: var(--tui-clear-inverse-hover);
15
- color: var(--tui-text-01-night);
16
16
  });
17
17
 
18
18
  .wrapper-active({
@@ -30,7 +30,6 @@
30
30
 
31
31
  .wrapper-hover({
32
32
  background: var(--tui-clear-hover);
33
- color: var(--tui-text-01);
34
33
  });
35
34
 
36
35
  .wrapper-active({
@@ -40,7 +39,6 @@
40
39
 
41
40
  .wrapper-hover({
42
41
  background: var(--tui-secondary-hover);
43
- color: var(--tui-link-hover);
44
42
  });
45
43
 
46
44
  .wrapper-active({
@@ -48,7 +46,7 @@
48
46
  });
49
47
 
50
48
  .wrapper-invalid({
51
- color: var(--tui-error-fill);
49
+ color: var(--tui-negative);
52
50
  background: var(--tui-error-bg);
53
51
 
54
52
  .wrapper-hover({
@@ -56,7 +54,7 @@
56
54
  });
57
55
 
58
56
  .wrapper-focus({
59
- --tui-focus: var(--tui-error-fill);
57
+ --tui-focus: var(--tui-negative);
60
58
  });
61
59
  });
62
60
  }
@@ -69,3 +67,29 @@
69
67
  background: transparent;
70
68
  }
71
69
  }
70
+
71
+ [tuiWrapper][data-appearance='destructive'] {
72
+ color: var(--tui-negative);
73
+ background: var(--tui-error-bg);
74
+
75
+ .wrapper-hover({
76
+ background: var(--tui-error-bg-hover);
77
+ });
78
+
79
+ .wrapper-active({
80
+ background: var(--tui-error-bg-hover);
81
+ });
82
+
83
+ &[data-mode='onDark'] {
84
+ color: var(--tui-negative-night);
85
+ background: var(--tui-error-bg-night);
86
+
87
+ .wrapper-hover({
88
+ background: var(--tui-error-bg-night-hover);
89
+ });
90
+
91
+ .wrapper-active({
92
+ background: var(--tui-error-bg-night-hover);
93
+ });
94
+ }
95
+ }
@@ -1,6 +1,5 @@
1
1
  import { AnimationOptions } from '@angular/animations';
2
- import { InjectionToken } from '@angular/core';
3
2
  /**
4
3
  * Options for Taiga UI animations
5
4
  */
6
- export declare const TUI_ANIMATION_OPTIONS: InjectionToken<AnimationOptions>;
5
+ export declare const TUI_ANIMATION_OPTIONS: import("@angular/core").InjectionToken<AnimationOptions>;
@@ -2,4 +2,4 @@ export declare const TUI_ANIMATIONS_DEFAULT_DURATION = 300;
2
2
  /**
3
3
  * Duration of all Taiga UI animations in ms
4
4
  */
5
- export declare const TUI_ANIMATIONS_DURATION: import("@angular/core").InjectionToken<300 | 0>;
5
+ export declare const TUI_ANIMATIONS_DURATION: import("@angular/core").InjectionToken<number>;
@@ -1,4 +1,3 @@
1
- import { InjectionToken } from '@angular/core';
2
1
  /**
3
2
  * @deprecated:
4
3
  * Flag to enable assertions across Taiga UI
@@ -6,4 +5,4 @@ import { InjectionToken } from '@angular/core';
6
5
  * The current token no longer matters as
7
6
  * it will not be provided in production
8
7
  */
9
- export declare const TUI_ASSERT_ENABLED: InjectionToken<boolean>;
8
+ export declare const TUI_ASSERT_ENABLED: import("@angular/core").InjectionToken<boolean>;
package/tokens/i18n.d.ts CHANGED
@@ -1,25 +1,24 @@
1
- import { InjectionToken } from '@angular/core';
2
1
  /**
3
2
  * Localized months names
4
3
  */
5
- export declare const TUI_MONTHS: InjectionToken<import("rxjs").Observable<[string, string, string, string, string, string, string, string, string, string, string, string]>>;
4
+ export declare const TUI_MONTHS: import("@angular/core").InjectionToken<import("rxjs").Observable<[string, string, string, string, string, string, string, string, string, string, string, string]>>;
6
5
  /**
7
6
  * i18n 'close' word
8
7
  */
9
- export declare const TUI_CLOSE_WORD: InjectionToken<import("rxjs").Observable<string>>;
8
+ export declare const TUI_CLOSE_WORD: import("@angular/core").InjectionToken<import("rxjs").Observable<string>>;
10
9
  /**
11
10
  * i18n 'Nothing found' message
12
11
  */
13
- export declare const TUI_NOTHING_FOUND_MESSAGE: InjectionToken<import("rxjs").Observable<string>>;
12
+ export declare const TUI_NOTHING_FOUND_MESSAGE: import("@angular/core").InjectionToken<import("rxjs").Observable<string>>;
14
13
  /**
15
14
  * i18n of error message
16
15
  */
17
- export declare const TUI_DEFAULT_ERROR_MESSAGE: InjectionToken<import("rxjs").Observable<string>>;
16
+ export declare const TUI_DEFAULT_ERROR_MESSAGE: import("@angular/core").InjectionToken<import("rxjs").Observable<string>>;
18
17
  /**
19
18
  * spin i18n texts
20
19
  */
21
- export declare const TUI_SPIN_TEXTS: InjectionToken<import("rxjs").Observable<[string, string]>>;
20
+ export declare const TUI_SPIN_TEXTS: import("@angular/core").InjectionToken<import("rxjs").Observable<[string, string]>>;
22
21
  /**
23
22
  * calendars i18n texts
24
23
  */
25
- export declare const TUI_SHORT_WEEK_DAYS: InjectionToken<import("rxjs").Observable<[string, string, string, string, string, string, string]>>;
24
+ export declare const TUI_SHORT_WEEK_DAYS: import("@angular/core").InjectionToken<import("rxjs").Observable<[string, string, string, string, string, string, string]>>;
@@ -1,7 +1,5 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { TuiStringHandler } from '@taiga-ui/cdk';
3
1
  /**
4
2
  * A handler to retrieve USE id for icon by name
5
3
  * @deprecated Use {@link TUI_SVG_OPTIONS} instead
6
4
  */
7
- export declare const TUI_ICONS_PATH: InjectionToken<TuiStringHandler<string>>;
5
+ export declare const TUI_ICONS_PATH: import("@angular/core").InjectionToken<import("@taiga-ui/cdk").TuiStringHandler<string>>;