@taiga-ui/core 3.23.1 → 3.24.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 (196) hide show
  1. package/bundles/taiga-ui-core-components-alert.umd.js +6 -6
  2. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-button.umd.js +4 -4
  4. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-data-list.umd.js +7 -7
  6. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-dialog.umd.js +18 -11
  8. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-expand.umd.js +3 -3
  10. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +5 -5
  12. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-link.umd.js +4 -4
  14. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-loader.umd.js +6 -6
  16. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-notification.umd.js +8 -2
  18. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +8 -8
  20. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  21. package/bundles/taiga-ui-core-components-root.umd.js +3 -11
  22. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  23. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +14 -14
  24. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  25. package/bundles/taiga-ui-core-components-scrollbar.umd.js +7 -7
  26. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  27. package/bundles/taiga-ui-core-components-svg.umd.js +10 -13
  28. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  29. package/bundles/taiga-ui-core-directives-dropdown.umd.js +26 -30
  30. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  31. package/bundles/taiga-ui-core-directives-hint.umd.js +17 -19
  32. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  33. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js +4 -4
  34. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
  35. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +2 -2
  36. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  37. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js +3 -3
  38. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js.map +1 -1
  39. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js +4 -4
  40. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
  41. package/bundles/taiga-ui-core-pipes-format-phone.umd.js +2 -1
  42. package/bundles/taiga-ui-core-pipes-format-phone.umd.js.map +1 -1
  43. package/bundles/taiga-ui-core-providers.umd.js +2 -2
  44. package/bundles/taiga-ui-core-providers.umd.js.map +1 -1
  45. package/bundles/taiga-ui-core-services.umd.js +11 -10
  46. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  47. package/bundles/taiga-ui-core-tokens.umd.js +13 -9
  48. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  49. package/bundles/taiga-ui-core-utils-dom.umd.js +2 -2
  50. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  51. package/bundles/taiga-ui-core-utils-mask.umd.js +8 -9
  52. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  53. package/bundles/taiga-ui-core-utils-mobile.umd.js +2 -2
  54. package/bundles/taiga-ui-core-utils-mobile.umd.js.map +1 -1
  55. package/components/alert/alert.component.d.ts +2 -2
  56. package/components/alert/alert.service.d.ts +1 -1
  57. package/components/button/button.component.d.ts +2 -2
  58. package/components/data-list/data-list.component.d.ts +2 -2
  59. package/components/data-list/option/option.component.d.ts +2 -2
  60. package/components/dialog/dialog-close.service.d.ts +4 -4
  61. package/components/dialog/dialog.component.d.ts +1 -0
  62. package/components/dialog/dialog.service.d.ts +1 -1
  63. package/components/expand/expand.component.d.ts +2 -2
  64. package/components/hosted-dropdown/hosted-dropdown.component.d.ts +2 -2
  65. package/components/link/link.component.d.ts +2 -2
  66. package/components/loader/loader.component.d.ts +3 -3
  67. package/components/notification/notification.component.d.ts +2 -1
  68. package/components/primitive-textfield/primitive-textfield.component.d.ts +2 -2
  69. package/components/primitive-textfield/textfield/textfield.component.d.ts +2 -2
  70. package/components/root/root.component.d.ts +1 -3
  71. package/components/scroll-controls/scroll-controls.component.d.ts +2 -2
  72. package/components/scroll-controls/scrollbar.directive.d.ts +4 -4
  73. package/components/scrollbar/scrollable.directive.d.ts +2 -2
  74. package/components/scrollbar/scrollbar.component.d.ts +2 -2
  75. package/components/svg/svg.component.d.ts +4 -4
  76. package/directives/dropdown/dropdown-selection.directive.d.ts +4 -4
  77. package/directives/dropdown/dropdown.component.d.ts +3 -3
  78. package/directives/dropdown/dropdown.directive.d.ts +3 -3
  79. package/directives/hint/hint-describe.directive.d.ts +3 -3
  80. package/directives/hint/hint-hover.directive.d.ts +2 -2
  81. package/directives/hint/hint.component.d.ts +2 -2
  82. package/directives/hint/hint.directive.d.ts +3 -3
  83. package/directives/scroll-into-view/scroll-into-view.directive.d.ts +2 -2
  84. package/esm2015/components/alert/alert.component.js +7 -7
  85. package/esm2015/components/button/button.component.js +5 -5
  86. package/esm2015/components/data-list/data-list.component.js +5 -5
  87. package/esm2015/components/data-list/option/option.component.js +4 -4
  88. package/esm2015/components/dialog/dialog-close.service.js +10 -10
  89. package/esm2015/components/dialog/dialog.component.js +6 -3
  90. package/esm2015/components/expand/expand.component.js +4 -4
  91. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +6 -6
  92. package/esm2015/components/link/link.component.js +5 -5
  93. package/esm2015/components/loader/loader.component.js +7 -7
  94. package/esm2015/components/notification/notification.component.js +9 -3
  95. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +4 -4
  96. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +6 -6
  97. package/esm2015/components/root/root.component.js +7 -15
  98. package/esm2015/components/scroll-controls/scroll-controls.component.js +5 -5
  99. package/esm2015/components/scroll-controls/scrollbar.directive.js +11 -11
  100. package/esm2015/components/scrollbar/scrollable.directive.js +5 -5
  101. package/esm2015/components/scrollbar/scrollbar.component.js +4 -4
  102. package/esm2015/components/svg/svg.component.js +11 -14
  103. package/esm2015/directives/dropdown/dropdown-selection.directive.js +15 -17
  104. package/esm2015/directives/dropdown/dropdown.component.js +9 -9
  105. package/esm2015/directives/dropdown/dropdown.directive.js +5 -7
  106. package/esm2015/directives/hint/hint-describe.directive.js +7 -8
  107. package/esm2015/directives/hint/hint-hover.directive.js +3 -3
  108. package/esm2015/directives/hint/hint.component.js +7 -8
  109. package/esm2015/directives/hint/hint.directive.js +4 -4
  110. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +5 -5
  111. package/esm2015/directives/textfield-controller/textfield-controller.provider.js +3 -3
  112. package/esm2015/interfaces/data-list-host.js +1 -1
  113. package/esm2015/interfaces/portal-item.js +1 -1
  114. package/esm2015/internal/svg-defs-host/svg-defs-host.component.js +4 -4
  115. package/esm2015/pipes/calendar-sheet/utils.js +5 -5
  116. package/esm2015/pipes/format-phone/format-phone.pipe.js +3 -2
  117. package/esm2015/providers/watched-controller-provider-factory.js +3 -3
  118. package/esm2015/services/breakpoint.service.js +5 -5
  119. package/esm2015/services/night-theme.service.js +3 -3
  120. package/esm2015/services/router-link-active.service.js +2 -1
  121. package/esm2015/services/svg.service.js +2 -2
  122. package/esm2015/services/visual-viewport.service.js +5 -5
  123. package/esm2015/tokens/assert-enabled.js +5 -1
  124. package/esm2015/tokens/is-mobile-resolution.js +3 -3
  125. package/esm2015/tokens/selection-stream.js +3 -3
  126. package/esm2015/tokens/viewport.js +6 -6
  127. package/esm2015/utils/dom/get-screen-width.js +3 -3
  128. package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +3 -4
  129. package/esm2015/utils/mask/create-correction-mask.js +3 -2
  130. package/esm2015/utils/mask/create-number-mask.js +5 -6
  131. package/esm2015/utils/mobile/is-mobile.js +3 -3
  132. package/fesm2015/taiga-ui-core-components-alert.js +6 -6
  133. package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
  134. package/fesm2015/taiga-ui-core-components-button.js +4 -4
  135. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  136. package/fesm2015/taiga-ui-core-components-data-list.js +7 -7
  137. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  138. package/fesm2015/taiga-ui-core-components-dialog.js +14 -11
  139. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  140. package/fesm2015/taiga-ui-core-components-expand.js +3 -3
  141. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  142. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +5 -5
  143. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  144. package/fesm2015/taiga-ui-core-components-link.js +4 -4
  145. package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
  146. package/fesm2015/taiga-ui-core-components-loader.js +6 -6
  147. package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
  148. package/fesm2015/taiga-ui-core-components-notification.js +8 -2
  149. package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
  150. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +8 -8
  151. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  152. package/fesm2015/taiga-ui-core-components-root.js +6 -14
  153. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  154. package/fesm2015/taiga-ui-core-components-scroll-controls.js +14 -14
  155. package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
  156. package/fesm2015/taiga-ui-core-components-scrollbar.js +7 -7
  157. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  158. package/fesm2015/taiga-ui-core-components-svg.js +10 -13
  159. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  160. package/fesm2015/taiga-ui-core-directives-dropdown.js +26 -30
  161. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  162. package/fesm2015/taiga-ui-core-directives-hint.js +17 -19
  163. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  164. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js +4 -4
  165. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  166. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +2 -2
  167. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  168. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js +3 -3
  169. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  170. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js +4 -4
  171. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  172. package/fesm2015/taiga-ui-core-pipes-format-phone.js +2 -1
  173. package/fesm2015/taiga-ui-core-pipes-format-phone.js.map +1 -1
  174. package/fesm2015/taiga-ui-core-providers.js +2 -2
  175. package/fesm2015/taiga-ui-core-providers.js.map +1 -1
  176. package/fesm2015/taiga-ui-core-services.js +12 -11
  177. package/fesm2015/taiga-ui-core-services.js.map +1 -1
  178. package/fesm2015/taiga-ui-core-tokens.js +13 -9
  179. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  180. package/fesm2015/taiga-ui-core-utils-dom.js +2 -2
  181. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  182. package/fesm2015/taiga-ui-core-utils-mask.js +8 -9
  183. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  184. package/fesm2015/taiga-ui-core-utils-mobile.js +2 -2
  185. package/fesm2015/taiga-ui-core-utils-mobile.js.map +1 -1
  186. package/interfaces/data-list-host.d.ts +2 -1
  187. package/interfaces/portal-item.d.ts +1 -1
  188. package/internal/svg-defs-host/svg-defs-host.component.d.ts +2 -2
  189. package/package.json +4 -4
  190. package/providers/watched-controller-provider-factory.d.ts +1 -1
  191. package/services/breakpoint.service.d.ts +1 -1
  192. package/services/night-theme.service.d.ts +1 -1
  193. package/services/visual-viewport.service.d.ts +2 -2
  194. package/tokens/assert-enabled.d.ts +4 -0
  195. package/utils/dom/get-screen-width.d.ts +1 -1
  196. package/utils/mobile/is-mobile.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-scrollbar.js","sources":["../../../projects/core/components/scrollbar/scroll-ref.directive.ts","../../../projects/core/components/scrollbar/scrollable.directive.ts","../../../projects/core/components/scrollbar/scrollbar.component.ts","../../../projects/core/components/scrollbar/scrollbar.template.html","../../../projects/core/components/scrollbar/scrollbar.module.ts","../../../projects/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\nexport const SCROLL_REF_SELECTOR = '[tuiScrollRef]';\n\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: '[tuiScrollable]',\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n ngOnInit(): void {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.elementRef.nativeElement,\n }),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS as CSS_TOKEN, USER_AGENT} from '@ng-web-apis/common';\nimport {\n TUI_IS_IOS,\n tuiDefaultProp,\n tuiGetElementOffset,\n TuiInjectionTokenType,\n tuiIsFirefox,\n} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW, TUI_SCROLLABLE} from '@taiga-ui/core/constants';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: 'tui-scrollbar',\n templateUrl: './scrollbar.template.html',\n styleUrls: ['./scrollbar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: ({\n browserScrollRef,\n }: TuiScrollbarComponent): ElementRef<HTMLElement> => browserScrollRef,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n private delegated = false;\n\n private readonly isLegacy: boolean =\n !this.cssRef.supports('position', 'sticky') ||\n (tuiIsFirefox(this.userAgent) &&\n !this.cssRef.supports('scrollbar-width', 'none'));\n\n @Input()\n @tuiDefaultProp()\n hidden = false;\n\n readonly browserScrollRef = new ElementRef(this.elementRef.nativeElement);\n\n constructor(\n @Inject(CSS_TOKEN)\n private readonly cssRef: TuiInjectionTokenType<typeof CSS_TOKEN>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);\n }\n\n @HostBinding('class._legacy')\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.delegated;\n }\n\n @HostListener(`${TUI_SCROLLABLE}.stop`, ['$event.detail'])\n onScrollable(element: HTMLElement): void {\n this.delegated = true;\n this.browserScrollRef.nativeElement = element;\n }\n\n @HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, ['$event.detail'])\n scrollIntoView(detail: HTMLElement): void {\n if (this.delegated) {\n return;\n }\n\n const {nativeElement} = this.browserScrollRef;\n const {offsetTop, offsetLeft} = tuiGetElementOffset(nativeElement, detail);\n const {clientHeight, clientWidth} = nativeElement;\n const {offsetHeight, offsetWidth} = detail;\n const scrollTop = offsetTop + offsetHeight / 2 - clientHeight / 2;\n const scrollLeft = offsetLeft + offsetWidth / 2 - clientWidth / 2;\n\n // ?. for our clients on Windows XP and Chrome 49\n nativeElement.scrollTo?.(scrollLeft, scrollTop);\n }\n}\n","<tui-scroll-controls *ngIf=\"showScrollbars\"></tui-scroll-controls>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\n\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CSS_TOKEN"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-scrollbar.js","sources":["../../../projects/core/components/scrollbar/scroll-ref.directive.ts","../../../projects/core/components/scrollbar/scrollable.directive.ts","../../../projects/core/components/scrollbar/scrollbar.component.ts","../../../projects/core/components/scrollbar/scrollbar.template.html","../../../projects/core/components/scrollbar/scrollbar.module.ts","../../../projects/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\nexport const SCROLL_REF_SELECTOR = '[tuiScrollRef]';\n\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: '[tuiScrollable]',\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(@Inject(ElementRef) private readonly el: ElementRef<HTMLElement>) {}\n\n ngOnInit(): void {\n this.el.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.el.nativeElement,\n }),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS as CSS_TOKEN, USER_AGENT} from '@ng-web-apis/common';\nimport {\n TUI_IS_IOS,\n tuiDefaultProp,\n tuiGetElementOffset,\n TuiInjectionTokenType,\n tuiIsFirefox,\n} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW, TUI_SCROLLABLE} from '@taiga-ui/core/constants';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: 'tui-scrollbar',\n templateUrl: './scrollbar.template.html',\n styleUrls: ['./scrollbar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: ({\n browserScrollRef,\n }: TuiScrollbarComponent): ElementRef<HTMLElement> => browserScrollRef,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n private delegated = false;\n\n private readonly isLegacy: boolean =\n !this.cssRef.supports('position', 'sticky') ||\n (tuiIsFirefox(this.userAgent) &&\n !this.cssRef.supports('scrollbar-width', 'none'));\n\n @Input()\n @tuiDefaultProp()\n hidden = false;\n\n readonly browserScrollRef = new ElementRef(this.el.nativeElement);\n\n constructor(\n @Inject(CSS_TOKEN)\n private readonly cssRef: TuiInjectionTokenType<typeof CSS_TOKEN>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);\n }\n\n @HostBinding('class._legacy')\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.delegated;\n }\n\n @HostListener(`${TUI_SCROLLABLE}.stop`, ['$event.detail'])\n onScrollable(element: HTMLElement): void {\n this.delegated = true;\n this.browserScrollRef.nativeElement = element;\n }\n\n @HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, ['$event.detail'])\n scrollIntoView(detail: HTMLElement): void {\n if (this.delegated) {\n return;\n }\n\n const {nativeElement} = this.browserScrollRef;\n const {offsetTop, offsetLeft} = tuiGetElementOffset(nativeElement, detail);\n const {clientHeight, clientWidth} = nativeElement;\n const {offsetHeight, offsetWidth} = detail;\n const scrollTop = offsetTop + offsetHeight / 2 - clientHeight / 2;\n const scrollLeft = offsetLeft + offsetWidth / 2 - clientWidth / 2;\n\n // ?. for our clients on Windows XP and Chrome 49\n nativeElement.scrollTo?.(scrollLeft, scrollTop);\n }\n}\n","<tui-scroll-controls *ngIf=\"showScrollbars\"></tui-scroll-controls>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\n\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CSS_TOKEN"],"mappings":"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"}
@@ -107,15 +107,15 @@ const MISSING_EXTERNAL_ICON = 'External icon is missing on the given URL';
107
107
  const FAILED_EXTERNAL_ICON = 'Failed to load external SVG';
108
108
  // TODO: Consider moving to CDK along with SvgService and SvgDefsHostComponent
109
109
  class TuiSvgComponent {
110
- constructor(documentRef, windowRef, options, tuiSanitizer, svgService, staticRequestService, sanitizer, elementRef) {
111
- this.documentRef = documentRef;
112
- this.windowRef = windowRef;
110
+ constructor(doc, win, options, tuiSanitizer, svgService, staticRequestService, sanitizer, el) {
111
+ this.doc = doc;
112
+ this.win = win;
113
113
  this.options = options;
114
114
  this.tuiSanitizer = tuiSanitizer;
115
115
  this.svgService = svgService;
116
116
  this.staticRequestService = staticRequestService;
117
117
  this.sanitizer = sanitizer;
118
- this.elementRef = elementRef;
118
+ this.el = el;
119
119
  this.src$ = new ReplaySubject(1);
120
120
  this.icon = '';
121
121
  this.innerHTML$ = this.src$.pipe(switchMap(() => {
@@ -129,7 +129,7 @@ class TuiSvgComponent {
129
129
  }
130
130
  set src(src) {
131
131
  const deprecated = this.options.deprecated(String(src));
132
- tuiAssert.assert(!deprecated, deprecated);
132
+ ngDevMode && tuiAssert.assert(!deprecated, deprecated);
133
133
  this.icon = this.options.srcProcessor(src);
134
134
  this.src$.next();
135
135
  }
@@ -151,7 +151,7 @@ class TuiSvgComponent {
151
151
  (this.isName && this.isShadowDOM));
152
152
  }
153
153
  get isShadowDOM() {
154
- return (tuiGetDocumentOrShadowRoot(this.elementRef.nativeElement) !== this.documentRef);
154
+ return tuiGetDocumentOrShadowRoot(this.el.nativeElement) !== this.doc;
155
155
  }
156
156
  get isUse() {
157
157
  return this.use.includes('.svg#');
@@ -169,11 +169,8 @@ class TuiSvgComponent {
169
169
  return !this.isUrl && !this.isUse && !this.isSrc;
170
170
  }
171
171
  get isCrossDomain() {
172
- const { use, isUse, windowRef } = this;
173
- return (isUse &&
174
- use.startsWith('http') &&
175
- !!windowRef.origin &&
176
- !use.startsWith(windowRef.origin));
172
+ const { use, isUse, win } = this;
173
+ return (isUse && use.startsWith('http') && !!win.origin && !use.startsWith(win.origin));
177
174
  }
178
175
  onError(message = MISSING_EXTERNAL_ICON) {
179
176
  const { icon } = this;
@@ -184,8 +181,8 @@ class TuiSvgComponent {
184
181
  icon: icon,
185
182
  },
186
183
  });
187
- tuiAssert.assert(false, message, icon);
188
- this.elementRef.nativeElement.dispatchEvent(event);
184
+ ngDevMode && tuiAssert.assert(false, message, icon);
185
+ this.el.nativeElement.dispatchEvent(event);
189
186
  }
190
187
  resolveName(name, iconsPath) {
191
188
  return iconsPath(name);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-svg.js","sources":["../../../projects/core/components/svg/deprecated-icons.ts","../../../projects/core/components/svg/svg-options.ts","../../../projects/core/components/svg/svg.component.ts","../../../projects/core/components/svg/svg.template.html","../../../projects/core/components/svg/svg.module.ts","../../../projects/core/components/svg/taiga-ui-core-components-svg.ts"],"sourcesContent":["export const TUI_DEPRECATED_ICONS: Record<string, string> = {\n tuiIconAttach: `tuiIconPaperclip`,\n tuiIconAttention: `tuiIconAlertCircle`,\n tuiIconBackCircle: `tuiIconArrowLeftCircle`,\n tuiIconCall: `tuiIconPhone`,\n tuiIconCallIn: `tuiIconPhoneIncoming`,\n tuiIconCallOut: `tuiIconPhoneOutgoing`,\n tuiIconCallTransfer: `tuiIconPhoneForwarded`,\n tuiIconCancel: `tuiIconXCircle`,\n tuiIconCancelCircle: `tuiIconSlash`,\n tuiIconCard: `tuiIconCreditCard`,\n tuiIconCards: `tuiIconCreditCard`,\n tuiIconChartBar: `tuiIconBarChart`,\n tuiIconChart: `tuiIconBarChart`,\n tuiIconCheckList: `tuiIconClipboard`,\n tuiIconCloseCircle: `tuiIconXCircle`,\n tuiIconCollapse: `tuiIconMinimize`,\n tuiIconComment: `tuiIconMessageSquare`,\n tuiIconCommentFw: `tuiIconMessageForward`,\n tuiIconCompany: `tuiIconBriefcase`,\n tuiIconDefaultDoc: `tuiIconFile`,\n tuiIconDesktop: `tuiIconMonitor`,\n tuiIconDesktopOff: `tuiIconMonitorOff`,\n tuiIconDislike: `tuiIconThumbsDown`,\n tuiIconDone: `tuiIconCheckCircle`,\n tuiIconDraft: `tuiIconEdit2`,\n tuiIconEyeOpen: `tuiIconEye`,\n tuiIconEyeClosed: `tuiIconEyeOff`,\n tuiIconExpand: `tuiIconMaximize`,\n tuiIconExternal: `tuiIconExternalLink`,\n tuiIconFrame: `tuiIconLayout`,\n tuiIconGeo: `tuiIconMapPin`,\n tuiIconHeartFilled: `tuiIconHeart`,\n tuiIconHide: `tuiIconEyeOff`,\n tuiIconImg: `tuiIconImage`,\n tuiIconInfoCircle: `tuiIconInfo`,\n tuiIconLike: `tuiIconThumbsUp`,\n tuiIconLockOpen: `tuiIconUnlock`,\n tuiIconMobile: `tuiIconSmartphone`,\n tuiIconMoreHor: `tuiIconMoreHorizontal`,\n tuiIconMoreVer: `tuiIconMoreVertical`,\n tuiIconMoreVert: `tuiIconMoreVertical`,\n tuiIconPicture: `tuiIconImage`,\n tuiIconPin: `tuiIconMapPin`,\n tuiIconPrint: `tuiIconPrinter`,\n tuiIconRefresh: `tuiIconRefreshCw`,\n tuiIconRemove: `tuiIconX`,\n tuiIconShow: `tuiIconEye`,\n tuiIconSound: `tuiIconVolume`,\n tuiIconSoundOff: `tuiIconVolumeX`,\n tuiIconStarFilled: `tuiIconStar`,\n tuiIconStop: `tuiIconSquare`,\n tuiIconStructure: `tuiIconGrid`,\n tuiIconTime: `tuiIconClock`,\n tuiIconTooltip: `tuiIconHelpCircle`,\n tuiIconViewList: `tuiIconList`,\n tuiIconWifiOn: `tuiIconWifi`,\n};\n","import {inject, InjectionToken, ValueProvider} from '@angular/core';\nimport {SafeHtml} from '@angular/platform-browser';\nimport {\n TuiHandler,\n tuiIsString,\n TuiStringHandler,\n tuiSvgLinearGradientProcessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_ICONS_PATH,\n TUI_SVG_CONTENT_PROCESSOR,\n TUI_SVG_SRC_PROCESSOR,\n} from '@taiga-ui/core/tokens';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\nimport {identity} from 'rxjs';\n\nimport {TUI_DEPRECATED_ICONS} from './deprecated-icons';\n\nexport interface TuiSvgOptions {\n readonly path: TuiStringHandler<string>;\n readonly deprecated: TuiStringHandler<string>;\n readonly srcProcessor: TuiHandler<SafeHtml | string, SafeHtml | string>;\n readonly contentProcessor: TuiHandler<SafeHtml | string, SafeHtml | string>;\n}\n\nexport const TUI_SVG_DEFAULT_OPTIONS: TuiSvgOptions = {\n path: tuiIconsPathFactory(`assets/taiga-ui/icons`),\n srcProcessor: identity,\n contentProcessor: tuiSvgLinearGradientProcessor,\n deprecated: src =>\n TUI_DEPRECATED_ICONS[src.replace(`Large`, ``).replace(`Outline`, ``)]\n ? `${src} is deprecated, use ${\n TUI_DEPRECATED_ICONS[src.replace(`Large`, ``)]\n }/Large instead`\n : ``,\n};\n\n/**\n * SVG component options\n */\nexport const TUI_SVG_OPTIONS = new InjectionToken<TuiSvgOptions>(`[TUI_SVG_OPTIONS]`, {\n factory: () => ({\n path: inject(TUI_ICONS_PATH),\n deprecated: TUI_SVG_DEFAULT_OPTIONS.deprecated,\n srcProcessor: inject(TUI_SVG_SRC_PROCESSOR),\n contentProcessor: inject(TUI_SVG_CONTENT_PROCESSOR),\n }),\n});\n\nexport const tuiSvgOptionsProvider: (\n options: Partial<Omit<TuiSvgOptions, 'path'>> & {\n path?: TuiSvgOptions['path'] | string;\n },\n) => ValueProvider = options => ({\n provide: TUI_SVG_OPTIONS,\n useValue: {\n ...TUI_SVG_DEFAULT_OPTIONS,\n ...options,\n path: tuiIsString(options.path)\n ? tuiIconsPathFactory(options.path)\n : options.path || TUI_SVG_DEFAULT_OPTIONS.path,\n },\n});\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n Optional,\n Sanitizer,\n SecurityContext,\n} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAssert,\n tuiGetDocumentOrShadowRoot,\n tuiIsString,\n tuiPure,\n tuiRequiredSetter,\n TuiStaticRequestService,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\nimport {TUI_ICON_ERROR} from '@taiga-ui/core/constants';\nimport {TuiIconError} from '@taiga-ui/core/interfaces';\nimport {TuiSvgService} from '@taiga-ui/core/services';\nimport {TUI_SANITIZER} from '@taiga-ui/core/tokens';\nimport {tuiIsPresumedHTMLString} from '@taiga-ui/core/utils/miscellaneous';\nimport {Observable, of, ReplaySubject} from 'rxjs';\nimport {catchError, map, startWith, switchMap} from 'rxjs/operators';\n\nimport {TUI_SVG_OPTIONS, TuiSvgOptions} from './svg-options';\n\nconst UNDEFINED_NAMED_ICON = 'Attempted to use undefined named icon';\nconst MISSING_EXTERNAL_ICON = 'External icon is missing on the given URL';\nconst FAILED_EXTERNAL_ICON = 'Failed to load external SVG';\n\n// TODO: Consider moving to CDK along with SvgService and SvgDefsHostComponent\n@Component({\n selector: 'tui-svg',\n templateUrl: './svg.template.html',\n styleUrls: ['./svg.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSvgComponent {\n private readonly src$ = new ReplaySubject<void>(1);\n private icon: SafeHtml | string = '';\n\n readonly innerHTML$: Observable<SafeHtml>;\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TUI_SVG_OPTIONS) private readonly options: TuiSvgOptions,\n @Optional()\n @Inject(TUI_SANITIZER)\n private readonly tuiSanitizer: Sanitizer | null,\n @Inject(TuiSvgService) private readonly svgService: TuiSvgService,\n @Inject(TuiStaticRequestService)\n private readonly staticRequestService: TuiStaticRequestService,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(ElementRef) private readonly elementRef: ElementRef<Element>,\n ) {\n this.innerHTML$ = this.src$.pipe(\n switchMap(() => {\n if (tuiIsString(this.icon)) {\n return this.isExternal\n ? this.getExternalIcon(this.icon)\n : of(this.getSafeHtml(this.icon));\n }\n\n return of(this.icon);\n }),\n startWith(''),\n );\n }\n\n @Input()\n @tuiRequiredSetter()\n set src(src: SafeHtml | string) {\n const deprecated = this.options.deprecated(String(src));\n\n tuiAssert.assert(!deprecated, deprecated);\n this.icon = this.options.srcProcessor(src);\n this.src$.next();\n }\n\n get src(): SafeHtml | string {\n return this.icon;\n }\n\n get use(): string {\n if (tuiIsString(this.icon)) {\n return this.icon.includes('.svg#')\n ? this.icon\n : this.resolveName(this.icon, this.options.path);\n }\n\n return '';\n }\n\n get isInnerHTML(): boolean {\n return (\n !tuiIsString(this.icon) ||\n this.isSrc ||\n this.isExternal ||\n (this.isName && this.isShadowDOM)\n );\n }\n\n private get isShadowDOM(): boolean {\n return (\n tuiGetDocumentOrShadowRoot(this.elementRef.nativeElement) !== this.documentRef\n );\n }\n\n private get isUse(): boolean {\n return this.use.includes('.svg#');\n }\n\n private get isExternal(): boolean {\n return this.isUrl || this.isCrossDomain;\n }\n\n private get isUrl(): boolean {\n return tuiIsString(this.icon) && this.icon.endsWith('.svg');\n }\n\n private get isSrc(): boolean {\n return tuiIsString(this.icon) && tuiIsPresumedHTMLString(this.icon);\n }\n\n private get isName(): boolean {\n return !this.isUrl && !this.isUse && !this.isSrc;\n }\n\n private get isCrossDomain(): boolean {\n const {use, isUse, windowRef} = this;\n\n return (\n isUse &&\n use.startsWith('http') &&\n !!windowRef.origin &&\n !use.startsWith(windowRef.origin)\n );\n }\n\n onError(message: string = MISSING_EXTERNAL_ICON): void {\n const {icon} = this;\n const event = new CustomEvent<TuiIconError>(TUI_ICON_ERROR, {\n bubbles: true,\n detail: {\n message,\n icon: icon as string,\n },\n });\n\n tuiAssert.assert(false, message, icon);\n this.elementRef.nativeElement.dispatchEvent(event);\n }\n\n @tuiPure\n private resolveName(name: string, iconsPath: TuiStringHandler<string>): string {\n return iconsPath(name);\n }\n\n private getSafeHtml(src: string): SafeHtml {\n return this.isSrc ? this.sanitize(src) : this.process(src);\n }\n\n private process(src: string): SafeHtml {\n const icon = this.svgService.getOriginal(src);\n\n if (this.isName && !icon && !!src) {\n this.onError(UNDEFINED_NAMED_ICON);\n }\n\n // Empty line for innerHTML when icon is shown through USE tag\n return !this.isShadowDOM || !this.isName ? '' : this.sanitize(icon || '');\n }\n\n private sanitize(src: SafeHtml | string): SafeHtml | string {\n src = this.options.contentProcessor(src);\n\n return this.tuiSanitizer && tuiIsString(src)\n ? this.sanitizer.bypassSecurityTrustHtml(\n this.tuiSanitizer.sanitize(SecurityContext.HTML, src) || '',\n )\n : src;\n }\n\n private getExternalIcon(src: string): Observable<SafeHtml> {\n const url = src.includes('.svg') ? src : this.use;\n\n return this.staticRequestService.request(url).pipe(\n catchError(() => {\n this.onError(FAILED_EXTERNAL_ICON);\n\n return of('');\n }),\n map(response =>\n this.sanitize(response.replace('<svg', '<svg focusable=\"false\"')),\n ),\n );\n }\n}\n","<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n focusable=\"false\"\n width=\"100%\"\n height=\"100%\"\n class=\"t-svg\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\n\nimport {TuiSvgComponent} from './svg.component';\n\n@NgModule({\n imports: [CommonModule, TuiLetModule],\n declarations: [TuiSvgComponent],\n exports: [TuiSvgComponent],\n})\nexport class TuiSvgModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-svg.js","sources":["../../../projects/core/components/svg/deprecated-icons.ts","../../../projects/core/components/svg/svg-options.ts","../../../projects/core/components/svg/svg.component.ts","../../../projects/core/components/svg/svg.template.html","../../../projects/core/components/svg/svg.module.ts","../../../projects/core/components/svg/taiga-ui-core-components-svg.ts"],"sourcesContent":["export const TUI_DEPRECATED_ICONS: Record<string, string> = {\n tuiIconAttach: `tuiIconPaperclip`,\n tuiIconAttention: `tuiIconAlertCircle`,\n tuiIconBackCircle: `tuiIconArrowLeftCircle`,\n tuiIconCall: `tuiIconPhone`,\n tuiIconCallIn: `tuiIconPhoneIncoming`,\n tuiIconCallOut: `tuiIconPhoneOutgoing`,\n tuiIconCallTransfer: `tuiIconPhoneForwarded`,\n tuiIconCancel: `tuiIconXCircle`,\n tuiIconCancelCircle: `tuiIconSlash`,\n tuiIconCard: `tuiIconCreditCard`,\n tuiIconCards: `tuiIconCreditCard`,\n tuiIconChartBar: `tuiIconBarChart`,\n tuiIconChart: `tuiIconBarChart`,\n tuiIconCheckList: `tuiIconClipboard`,\n tuiIconCloseCircle: `tuiIconXCircle`,\n tuiIconCollapse: `tuiIconMinimize`,\n tuiIconComment: `tuiIconMessageSquare`,\n tuiIconCommentFw: `tuiIconMessageForward`,\n tuiIconCompany: `tuiIconBriefcase`,\n tuiIconDefaultDoc: `tuiIconFile`,\n tuiIconDesktop: `tuiIconMonitor`,\n tuiIconDesktopOff: `tuiIconMonitorOff`,\n tuiIconDislike: `tuiIconThumbsDown`,\n tuiIconDone: `tuiIconCheckCircle`,\n tuiIconDraft: `tuiIconEdit2`,\n tuiIconEyeOpen: `tuiIconEye`,\n tuiIconEyeClosed: `tuiIconEyeOff`,\n tuiIconExpand: `tuiIconMaximize`,\n tuiIconExternal: `tuiIconExternalLink`,\n tuiIconFrame: `tuiIconLayout`,\n tuiIconGeo: `tuiIconMapPin`,\n tuiIconHeartFilled: `tuiIconHeart`,\n tuiIconHide: `tuiIconEyeOff`,\n tuiIconImg: `tuiIconImage`,\n tuiIconInfoCircle: `tuiIconInfo`,\n tuiIconLike: `tuiIconThumbsUp`,\n tuiIconLockOpen: `tuiIconUnlock`,\n tuiIconMobile: `tuiIconSmartphone`,\n tuiIconMoreHor: `tuiIconMoreHorizontal`,\n tuiIconMoreVer: `tuiIconMoreVertical`,\n tuiIconMoreVert: `tuiIconMoreVertical`,\n tuiIconPicture: `tuiIconImage`,\n tuiIconPin: `tuiIconMapPin`,\n tuiIconPrint: `tuiIconPrinter`,\n tuiIconRefresh: `tuiIconRefreshCw`,\n tuiIconRemove: `tuiIconX`,\n tuiIconShow: `tuiIconEye`,\n tuiIconSound: `tuiIconVolume`,\n tuiIconSoundOff: `tuiIconVolumeX`,\n tuiIconStarFilled: `tuiIconStar`,\n tuiIconStop: `tuiIconSquare`,\n tuiIconStructure: `tuiIconGrid`,\n tuiIconTime: `tuiIconClock`,\n tuiIconTooltip: `tuiIconHelpCircle`,\n tuiIconViewList: `tuiIconList`,\n tuiIconWifiOn: `tuiIconWifi`,\n};\n","import {inject, InjectionToken, ValueProvider} from '@angular/core';\nimport {SafeHtml} from '@angular/platform-browser';\nimport {\n TuiHandler,\n tuiIsString,\n TuiStringHandler,\n tuiSvgLinearGradientProcessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_ICONS_PATH,\n TUI_SVG_CONTENT_PROCESSOR,\n TUI_SVG_SRC_PROCESSOR,\n} from '@taiga-ui/core/tokens';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\nimport {identity} from 'rxjs';\n\nimport {TUI_DEPRECATED_ICONS} from './deprecated-icons';\n\nexport interface TuiSvgOptions {\n readonly path: TuiStringHandler<string>;\n readonly deprecated: TuiStringHandler<string>;\n readonly srcProcessor: TuiHandler<SafeHtml | string, SafeHtml | string>;\n readonly contentProcessor: TuiHandler<SafeHtml | string, SafeHtml | string>;\n}\n\nexport const TUI_SVG_DEFAULT_OPTIONS: TuiSvgOptions = {\n path: tuiIconsPathFactory(`assets/taiga-ui/icons`),\n srcProcessor: identity,\n contentProcessor: tuiSvgLinearGradientProcessor,\n deprecated: src =>\n TUI_DEPRECATED_ICONS[src.replace(`Large`, ``).replace(`Outline`, ``)]\n ? `${src} is deprecated, use ${\n TUI_DEPRECATED_ICONS[src.replace(`Large`, ``)]\n }/Large instead`\n : ``,\n};\n\n/**\n * SVG component options\n */\nexport const TUI_SVG_OPTIONS = new InjectionToken<TuiSvgOptions>(`[TUI_SVG_OPTIONS]`, {\n factory: () => ({\n path: inject(TUI_ICONS_PATH),\n deprecated: TUI_SVG_DEFAULT_OPTIONS.deprecated,\n srcProcessor: inject(TUI_SVG_SRC_PROCESSOR),\n contentProcessor: inject(TUI_SVG_CONTENT_PROCESSOR),\n }),\n});\n\nexport const tuiSvgOptionsProvider: (\n options: Partial<Omit<TuiSvgOptions, 'path'>> & {\n path?: TuiSvgOptions['path'] | string;\n },\n) => ValueProvider = options => ({\n provide: TUI_SVG_OPTIONS,\n useValue: {\n ...TUI_SVG_DEFAULT_OPTIONS,\n ...options,\n path: tuiIsString(options.path)\n ? tuiIconsPathFactory(options.path)\n : options.path || TUI_SVG_DEFAULT_OPTIONS.path,\n },\n});\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n Optional,\n Sanitizer,\n SecurityContext,\n} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAssert,\n tuiGetDocumentOrShadowRoot,\n tuiIsString,\n tuiPure,\n tuiRequiredSetter,\n TuiStaticRequestService,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\nimport {TUI_ICON_ERROR} from '@taiga-ui/core/constants';\nimport {TuiIconError} from '@taiga-ui/core/interfaces';\nimport {TuiSvgService} from '@taiga-ui/core/services';\nimport {TUI_SANITIZER} from '@taiga-ui/core/tokens';\nimport {tuiIsPresumedHTMLString} from '@taiga-ui/core/utils/miscellaneous';\nimport {Observable, of, ReplaySubject} from 'rxjs';\nimport {catchError, map, startWith, switchMap} from 'rxjs/operators';\n\nimport {TUI_SVG_OPTIONS, TuiSvgOptions} from './svg-options';\n\nconst UNDEFINED_NAMED_ICON = 'Attempted to use undefined named icon';\nconst MISSING_EXTERNAL_ICON = 'External icon is missing on the given URL';\nconst FAILED_EXTERNAL_ICON = 'Failed to load external SVG';\n\n// TODO: Consider moving to CDK along with SvgService and SvgDefsHostComponent\n@Component({\n selector: 'tui-svg',\n templateUrl: './svg.template.html',\n styleUrls: ['./svg.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSvgComponent {\n private readonly src$ = new ReplaySubject<void>(1);\n private icon: SafeHtml | string = '';\n\n readonly innerHTML$: Observable<SafeHtml>;\n\n constructor(\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(WINDOW) private readonly win: Window,\n @Inject(TUI_SVG_OPTIONS) private readonly options: TuiSvgOptions,\n @Optional()\n @Inject(TUI_SANITIZER)\n private readonly tuiSanitizer: Sanitizer | null,\n @Inject(TuiSvgService) private readonly svgService: TuiSvgService,\n @Inject(TuiStaticRequestService)\n private readonly staticRequestService: TuiStaticRequestService,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(ElementRef) private readonly el: ElementRef<Element>,\n ) {\n this.innerHTML$ = this.src$.pipe(\n switchMap(() => {\n if (tuiIsString(this.icon)) {\n return this.isExternal\n ? this.getExternalIcon(this.icon)\n : of(this.getSafeHtml(this.icon));\n }\n\n return of(this.icon);\n }),\n startWith(''),\n );\n }\n\n @Input()\n @tuiRequiredSetter()\n set src(src: SafeHtml | string) {\n const deprecated = this.options.deprecated(String(src));\n\n ngDevMode && tuiAssert.assert(!deprecated, deprecated);\n this.icon = this.options.srcProcessor(src);\n this.src$.next();\n }\n\n get src(): SafeHtml | string {\n return this.icon;\n }\n\n get use(): string {\n if (tuiIsString(this.icon)) {\n return this.icon.includes('.svg#')\n ? this.icon\n : this.resolveName(this.icon, this.options.path);\n }\n\n return '';\n }\n\n get isInnerHTML(): boolean {\n return (\n !tuiIsString(this.icon) ||\n this.isSrc ||\n this.isExternal ||\n (this.isName && this.isShadowDOM)\n );\n }\n\n private get isShadowDOM(): boolean {\n return tuiGetDocumentOrShadowRoot(this.el.nativeElement) !== this.doc;\n }\n\n private get isUse(): boolean {\n return this.use.includes('.svg#');\n }\n\n private get isExternal(): boolean {\n return this.isUrl || this.isCrossDomain;\n }\n\n private get isUrl(): boolean {\n return tuiIsString(this.icon) && this.icon.endsWith('.svg');\n }\n\n private get isSrc(): boolean {\n return tuiIsString(this.icon) && tuiIsPresumedHTMLString(this.icon);\n }\n\n private get isName(): boolean {\n return !this.isUrl && !this.isUse && !this.isSrc;\n }\n\n private get isCrossDomain(): boolean {\n const {use, isUse, win} = this;\n\n return (\n isUse && use.startsWith('http') && !!win.origin && !use.startsWith(win.origin)\n );\n }\n\n onError(message: string = MISSING_EXTERNAL_ICON): void {\n const {icon} = this;\n const event = new CustomEvent<TuiIconError>(TUI_ICON_ERROR, {\n bubbles: true,\n detail: {\n message,\n icon: icon as string,\n },\n });\n\n ngDevMode && tuiAssert.assert(false, message, icon);\n this.el.nativeElement.dispatchEvent(event);\n }\n\n @tuiPure\n private resolveName(name: string, iconsPath: TuiStringHandler<string>): string {\n return iconsPath(name);\n }\n\n private getSafeHtml(src: string): SafeHtml {\n return this.isSrc ? this.sanitize(src) : this.process(src);\n }\n\n private process(src: string): SafeHtml {\n const icon = this.svgService.getOriginal(src);\n\n if (this.isName && !icon && !!src) {\n this.onError(UNDEFINED_NAMED_ICON);\n }\n\n // Empty line for innerHTML when icon is shown through USE tag\n return !this.isShadowDOM || !this.isName ? '' : this.sanitize(icon || '');\n }\n\n private sanitize(src: SafeHtml | string): SafeHtml | string {\n src = this.options.contentProcessor(src);\n\n return this.tuiSanitizer && tuiIsString(src)\n ? this.sanitizer.bypassSecurityTrustHtml(\n this.tuiSanitizer.sanitize(SecurityContext.HTML, src) || '',\n )\n : src;\n }\n\n private getExternalIcon(src: string): Observable<SafeHtml> {\n const url = src.includes('.svg') ? src : this.use;\n\n return this.staticRequestService.request(url).pipe(\n catchError(() => {\n this.onError(FAILED_EXTERNAL_ICON);\n\n return of('');\n }),\n map(response =>\n this.sanitize(response.replace('<svg', '<svg focusable=\"false\"')),\n ),\n );\n }\n}\n","<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n focusable=\"false\"\n width=\"100%\"\n height=\"100%\"\n class=\"t-svg\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\n\nimport {TuiSvgComponent} from './svg.component';\n\n@NgModule({\n imports: [CommonModule, TuiLetModule],\n declarations: [TuiSvgComponent],\n exports: [TuiSvgComponent],\n})\nexport class TuiSvgModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -31,8 +31,8 @@ const TUI_DROPDOWN_COMPONENT = new InjectionToken(`[TUI_DROPDOWN_COMPONENT]`, {
31
31
  });
32
32
 
33
33
  class TuiDropdownDirective {
34
- constructor(elementRef, hapica, injector, dropdownService) {
35
- this.elementRef = elementRef;
34
+ constructor(el, hapica, injector, dropdownService) {
35
+ this.el = el;
36
36
  this.hapica = hapica;
37
37
  this.injector = injector;
38
38
  this.dropdownService = dropdownService;
@@ -42,9 +42,7 @@ class TuiDropdownDirective {
42
42
  this.component = new PolymorpheusComponent(this.hapica, this.injector);
43
43
  }
44
44
  get position() {
45
- return tuiCheckFixedPosition(this.elementRef.nativeElement)
46
- ? 'fixed'
47
- : 'absolute';
45
+ return tuiCheckFixedPosition(this.el.nativeElement) ? 'fixed' : 'absolute';
48
46
  }
49
47
  ngAfterViewChecked() {
50
48
  var _a, _b;
@@ -60,7 +58,7 @@ class TuiDropdownDirective {
60
58
  this.toggle(false);
61
59
  }
62
60
  getClientRect() {
63
- return this.elementRef.nativeElement.getBoundingClientRect();
61
+ return this.el.nativeElement.getBoundingClientRect();
64
62
  }
65
63
  toggle(show) {
66
64
  if (show && this.content && !this.dropdownBoxRef) {
@@ -273,12 +271,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
273
271
  * using default style of white rounded box with a shadow
274
272
  */
275
273
  class TuiDropdownComponent {
276
- constructor(position$, destroy$, directive, elementRef, host, accessor, windowRef, animationOptions, options, hoverDirective, visualViewportService) {
274
+ constructor(position$, destroy$, directive, el, host, accessor, win, animationOptions, options, hoverDirective, visualViewportService) {
277
275
  this.directive = directive;
278
- this.elementRef = elementRef;
276
+ this.el = el;
279
277
  this.host = host;
280
278
  this.accessor = accessor;
281
- this.windowRef = windowRef;
279
+ this.win = win;
282
280
  this.animationOptions = animationOptions;
283
281
  this.options = options;
284
282
  this.hoverDirective = hoverDirective;
@@ -307,10 +305,10 @@ class TuiDropdownComponent {
307
305
  this.moveFocusOutside(false);
308
306
  }
309
307
  update(top, left) {
310
- const { style } = this.elementRef.nativeElement;
311
- const { right } = this.elementRef.nativeElement.getBoundingClientRect();
308
+ const { style } = this.el.nativeElement;
309
+ const { right } = this.el.nativeElement.getBoundingClientRect();
312
310
  const { maxHeight, offset } = this.options;
313
- const { innerHeight } = this.windowRef;
311
+ const { innerHeight } = this.win;
314
312
  const { clientRect } = this.host;
315
313
  const { position } = this.directive;
316
314
  const rect = this.accessor.getClientRect();
@@ -331,7 +329,7 @@ class TuiDropdownComponent {
331
329
  this.updateWidth();
332
330
  }
333
331
  updateWidth() {
334
- const { style } = this.elementRef.nativeElement;
332
+ const { style } = this.el.nativeElement;
335
333
  const rect = this.accessor.getClientRect();
336
334
  const { limitWidth } = this.options;
337
335
  switch (limitWidth) {
@@ -346,7 +344,7 @@ class TuiDropdownComponent {
346
344
  }
347
345
  }
348
346
  moveFocusOutside(previous) {
349
- const { nativeElement } = this.directive.elementRef;
347
+ const { nativeElement } = this.directive.el;
350
348
  const { ownerDocument } = nativeElement;
351
349
  const root = ownerDocument ? ownerDocument.body : nativeElement;
352
350
  let focusable = tuiGetClosestFocusable({ initial: nativeElement, root, previous });
@@ -689,20 +687,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
689
687
  }] } });
690
688
 
691
689
  class TuiDropdownSelectionDirective extends TuiDriver {
692
- constructor(range, documentRef, selection$, elementRef, viewContainerRef, dropdown) {
690
+ constructor(range, doc, selection$, el, vcr, dropdown) {
693
691
  super(subscriber => this.stream$.subscribe(subscriber));
694
692
  this.range = range;
695
- this.documentRef = documentRef;
693
+ this.doc = doc;
696
694
  this.selection$ = selection$;
697
- this.elementRef = elementRef;
698
- this.viewContainerRef = viewContainerRef;
695
+ this.el = el;
696
+ this.vcr = vcr;
699
697
  this.dropdown = dropdown;
700
698
  this.handler$ = new BehaviorSubject(ALWAYS_TRUE_HANDLER);
701
699
  this.stream$ = combineLatest([
702
700
  this.handler$,
703
701
  this.selection$.pipe(map(() => this.getRange()), distinctUntilChanged()),
704
702
  ]).pipe(map(([handler, range]) => {
705
- const contained = this.elementRef.nativeElement.contains(range.commonAncestorContainer);
703
+ const contained = this.el.nativeElement.contains(range.commonAncestorContainer);
706
704
  this.range =
707
705
  contained && tuiIsTextNode(range.commonAncestorContainer)
708
706
  ? range
@@ -736,14 +734,13 @@ class TuiDropdownSelectionDirective extends TuiDriver {
736
734
  }
737
735
  ngOnDestroy() {
738
736
  if (this.ghost) {
739
- this.viewContainerRef.element.nativeElement.removeChild(this.ghost);
737
+ this.vcr.element.nativeElement.removeChild(this.ghost);
740
738
  }
741
739
  }
742
740
  getRange() {
743
- const { nativeElement } = this.elementRef;
744
- const active = tuiGetNativeFocused(this.documentRef);
745
- const selection = this.documentRef.getSelection();
746
- if (active && tuiIsTextfield(active) && nativeElement.contains(active)) {
741
+ const active = tuiGetNativeFocused(this.doc);
742
+ const selection = this.doc.getSelection();
743
+ if (active && tuiIsTextfield(active) && this.el.nativeElement.contains(active)) {
747
744
  return this.veryVerySadInputFix(active);
748
745
  }
749
746
  return (selection === null || selection === void 0 ? void 0 : selection.rangeCount) ? selection.getRangeAt(0) : this.range;
@@ -760,7 +757,7 @@ class TuiDropdownSelectionDirective extends TuiDriver {
760
757
  */
761
758
  inDropdown(range) {
762
759
  const { startContainer, endContainer } = range;
763
- const { nativeElement } = this.elementRef;
760
+ const { nativeElement } = this.el;
764
761
  const inDropdown = this.boxContains(range.commonAncestorContainer);
765
762
  const hostToDropdown = this.boxContains(endContainer) && nativeElement.contains(startContainer);
766
763
  const dropdownToHost = this.boxContains(startContainer) && nativeElement.contains(endContainer);
@@ -770,8 +767,8 @@ class TuiDropdownSelectionDirective extends TuiDriver {
770
767
  const { ghost = this.initGhost(element) } = this;
771
768
  const { top, left, width, height } = element.getBoundingClientRect();
772
769
  const { selectionStart, selectionEnd, value } = element;
773
- const range = this.documentRef.createRange();
774
- const hostRect = this.elementRef.nativeElement.getBoundingClientRect();
770
+ const range = this.doc.createRange();
771
+ const hostRect = this.el.nativeElement.getBoundingClientRect();
775
772
  ghost.style.top = tuiPx(top - hostRect.top);
776
773
  ghost.style.left = tuiPx(left - hostRect.left);
777
774
  ghost.style.width = tuiPx(width);
@@ -785,8 +782,7 @@ class TuiDropdownSelectionDirective extends TuiDriver {
785
782
  * Create an invisible DIV styled exactly like input/textarea element inside directive
786
783
  */
787
784
  initGhost(element) {
788
- const ghost = this.documentRef.createElement('div');
789
- const { nativeElement } = this.viewContainerRef.element;
785
+ const ghost = this.doc.createElement('div');
790
786
  const { font, letterSpacing, textTransform, padding } = getComputedStyle(element);
791
787
  ghost.style.position = 'absolute';
792
788
  ghost.style.pointerEvents = 'none';
@@ -796,7 +792,7 @@ class TuiDropdownSelectionDirective extends TuiDriver {
796
792
  ghost.style.letterSpacing = letterSpacing;
797
793
  ghost.style.textTransform = textTransform;
798
794
  ghost.style.padding = padding;
799
- nativeElement.appendChild(ghost);
795
+ this.vcr.element.nativeElement.appendChild(ghost);
800
796
  this.ghost = ghost;
801
797
  return ghost;
802
798
  }