@taiga-ui/experimental 3.79.0 → 3.81.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 (31) hide show
  1. package/LICENSE +1 -1
  2. package/bundles/taiga-ui-experimental-components-avatar.umd.js +18 -7
  3. package/bundles/taiga-ui-experimental-components-avatar.umd.js.map +1 -1
  4. package/bundles/taiga-ui-experimental-components-icon.umd.js +13 -5
  5. package/bundles/taiga-ui-experimental-components-icon.umd.js.map +1 -1
  6. package/bundles/taiga-ui-experimental-constants.umd.js +22 -0
  7. package/bundles/taiga-ui-experimental-constants.umd.js.map +1 -0
  8. package/bundles/taiga-ui-experimental.umd.js +10 -4
  9. package/bundles/taiga-ui-experimental.umd.js.map +1 -1
  10. package/components/avatar/avatar.component.d.ts +4 -1
  11. package/components/icon/icon.pipe.d.ts +3 -1
  12. package/constants/events.d.ts +5 -0
  13. package/constants/index.d.ts +1 -0
  14. package/constants/package.json +10 -0
  15. package/constants/taiga-ui-experimental-constants.d.ts +5 -0
  16. package/esm2015/components/avatar/avatar.component.js +17 -5
  17. package/esm2015/components/icon/icon.pipe.js +11 -3
  18. package/esm2015/constants/events.js +6 -0
  19. package/esm2015/constants/index.js +2 -0
  20. package/esm2015/constants/taiga-ui-experimental-constants.js +5 -0
  21. package/esm2015/index.js +2 -1
  22. package/fesm2015/taiga-ui-experimental-components-avatar.js +16 -4
  23. package/fesm2015/taiga-ui-experimental-components-avatar.js.map +1 -1
  24. package/fesm2015/taiga-ui-experimental-components-icon.js +10 -2
  25. package/fesm2015/taiga-ui-experimental-components-icon.js.map +1 -1
  26. package/fesm2015/taiga-ui-experimental-constants.js +12 -0
  27. package/fesm2015/taiga-ui-experimental-constants.js.map +1 -0
  28. package/fesm2015/taiga-ui-experimental.js +1 -0
  29. package/fesm2015/taiga-ui-experimental.js.map +1 -1
  30. package/index.d.ts +1 -0
  31. package/package.json +5 -5
package/LICENSE CHANGED
@@ -187,4 +187,4 @@
187
187
  distributed under the License is distributed on an "AS IS" BASIS,
188
188
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
189
189
  See the License for the specific language governing permissions and
190
- limitations under the License.
190
+ limitations under the License.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/cdk'), require('@taiga-ui/experimental/tokens'), require('@angular/common'), require('@taiga-ui/kit'), require('@taiga-ui/experimental/components/icon')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/experimental/components/avatar', ['exports', '@angular/core', '@taiga-ui/cdk', '@taiga-ui/experimental/tokens', '@angular/common', '@taiga-ui/kit', '@taiga-ui/experimental/components/icon'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].experimental = global["taiga-ui"].experimental || {}, global["taiga-ui"].experimental.components = global["taiga-ui"].experimental.components || {}, global["taiga-ui"].experimental.components.avatar = {}), global.ng.core, global.cdk, global["taiga-ui"].experimental.tokens, global.ng.common, global.i2, global["taiga-ui"].experimental.components.icon));
5
- })(this, (function (exports, i0, cdk, tokens, i1, i2, icon) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/cdk'), require('@taiga-ui/experimental/constants'), require('@taiga-ui/experimental/tokens'), require('@angular/common'), require('@taiga-ui/kit'), require('@taiga-ui/experimental/components/icon')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/experimental/components/avatar', ['exports', '@angular/core', '@taiga-ui/cdk', '@taiga-ui/experimental/constants', '@taiga-ui/experimental/tokens', '@angular/common', '@taiga-ui/kit', '@taiga-ui/experimental/components/icon'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].experimental = global["taiga-ui"].experimental || {}, global["taiga-ui"].experimental.components = global["taiga-ui"].experimental.components || {}, global["taiga-ui"].experimental.components.avatar = {}), global.ng.core, global.cdk, global["taiga-ui"].experimental.constants, global["taiga-ui"].experimental.tokens, global.ng.common, global.i2, global["taiga-ui"].experimental.components.icon));
5
+ })(this, (function (exports, i0, cdk, constants, tokens, i1, i2, icon) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -37,9 +37,10 @@
37
37
  }
38
38
 
39
39
  var TuiAvatarComponent = /** @class */ (function () {
40
- function TuiAvatarComponent(options, resolver) {
40
+ function TuiAvatarComponent(options, resolver, renderer) {
41
41
  this.options = options;
42
42
  this.resolver = resolver;
43
+ this.renderer = renderer;
43
44
  this.size = this.options.size;
44
45
  this.round = this.options.round;
45
46
  this.src = null;
@@ -76,10 +77,14 @@
76
77
  enumerable: false,
77
78
  configurable: true
78
79
  });
80
+ // TODO: Consider another way in v4.0
81
+ TuiAvatarComponent.prototype.onColoredIcon = function (target) {
82
+ this.renderer.setStyle(target, 'padding', '20%');
83
+ };
79
84
  return TuiAvatarComponent;
80
85
  }());
81
- TuiAvatarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiAvatarComponent, deps: [{ token: TUI_AVATAR_OPTIONS }, { token: tokens.TUI_ICON_RESOLVER }], target: i0__namespace.ɵɵFactoryTarget.Component });
82
- TuiAvatarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", round: "round", src: "src", appearance: "appearance" }, host: { attributes: { "tuiAppearance": "" }, properties: { "attr.data-appearance": "appearance", "attr.data-size": "size", "attr.data-type": "type", "style.--t-mask": "\"url(\" + resolver(safeSrc) + \")\"", "class._round": "round" } }, ngImport: i0__namespace, template: "<ng-container [ngSwitch]=\"type\">\n <img\n *ngSwitchCase=\"'img'\"\n alt=\"\"\n loading=\"lazy\"\n [src]=\"value\"\n />\n <ng-container *ngSwitchCase=\"'text'\">{{ value }}</ng-container>\n <ng-container *ngSwitchDefault>\n <ng-content></ng-content>\n </ng-container>\n</ng-container>\n", styles: [":host{--t-size: 3.5rem;--t-radius: .75rem;position:relative;display:inline-flex;flex-shrink:0;width:var(--t-size);height:var(--t-size);align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;border-radius:var(--t-radius);background:var(--tui-secondary);color:var(--tui-text-02);vertical-align:middle;box-sizing:border-box;padding:.25rem;opacity:.999}:host:before{position:absolute;top:0;left:0;width:100%;height:100%;background:currentColor;-webkit-mask:var(--t-mask) no-repeat center / 60%;mask:var(--t-mask) no-repeat center / 60%}:host[data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: .5rem;font:var(--tui-font-text-xs);font-weight:bold}:host[data-size=xs][data-type=content]{font:var(--tui-font-text-m);font-size:.5625rem}:host[data-size=s]{--t-size: var(--tui-height-s);--t-radius: .5rem;font:var(--tui-font-text-s);font-weight:bold}:host[data-size=s][data-type=content]{font:var(--tui-font-text-xs);font-weight:bold}:host[data-size=m]{--t-size: calc(var(--tui-height-m) - .25rem);--t-radius: .75rem;font:var(--tui-font-text-l);font-weight:bold}:host[data-size=m][data-type=content]{font:var(--tui-font-text-m);font-weight:bold}:host[data-size=l]{--t-size: var(--tui-height-l);--t-radius: .75rem;font:var(--tui-font-heading-5)}:host[data-size=l][data-type=content]{font:var(--tui-font-text-l);font-weight:bold}:host[data-size=xl]{--t-size: 5rem;--t-radius: .75rem;font:var(--tui-font-heading-3)}:host[data-size=xl][data-type=content]{font:var(--tui-font-heading-4)}:host[data-size=xxl]{--t-size: 6rem;--t-radius: 1rem;font:var(--tui-font-heading-3)}:host[data-size=xxl][data-type=content]{font:var(--tui-font-heading-3)}:host[data-size=xxxl]{--t-size: 8rem;--t-radius: 1.25rem;font:var(--tui-font-heading-2)}:host[data-size=xxxl][data-type=content]{font:var(--tui-font-heading-3)}:host[data-type=img]{background:transparent}:host[data-type=icon]:before{content:\"\"}:host._round{--t-radius: calc(var(--t-size) / 2)}:host ::ng-deep img,:host ::ng-deep picture,:host ::ng-deep video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}\n"], directives: [{ type: i1__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2__namespace.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }, { type: i1__namespace.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
86
+ TuiAvatarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiAvatarComponent, deps: [{ token: TUI_AVATAR_OPTIONS }, { token: tokens.TUI_ICON_RESOLVER }, { token: i0.Renderer2 }], target: i0__namespace.ɵɵFactoryTarget.Component });
87
+ TuiAvatarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", round: "round", src: "src", appearance: "appearance" }, host: { attributes: { "tuiAppearance": "" }, listeners: { "tui-icon-colored": "onColoredIcon($event.target)" }, properties: { "attr.data-appearance": "appearance", "attr.data-size": "size", "attr.data-type": "type", "style.--t-mask": "\"url(\" + resolver(safeSrc) + \")\"", "class._round": "round" } }, ngImport: i0__namespace, template: "<ng-container [ngSwitch]=\"type\">\n <img\n *ngSwitchCase=\"'img'\"\n alt=\"\"\n loading=\"lazy\"\n [src]=\"value\"\n />\n <ng-container *ngSwitchCase=\"'text'\">{{ value }}</ng-container>\n <ng-container *ngSwitchDefault>\n <ng-content></ng-content>\n </ng-container>\n</ng-container>\n", styles: [":host{--t-size: 3.5rem;--t-radius: .75rem;position:relative;display:inline-flex;flex-shrink:0;width:var(--t-size);height:var(--t-size);align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;border-radius:var(--t-radius);background:var(--tui-secondary);color:var(--tui-text-02);vertical-align:middle;box-sizing:border-box;padding:.25rem;opacity:.999}:host:before{position:absolute;top:0;left:0;width:100%;height:100%;background:currentColor;-webkit-mask:var(--t-mask) no-repeat center / 60%;mask:var(--t-mask) no-repeat center / 60%}:host[data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: .5rem;font:var(--tui-font-text-xs);font-weight:bold}:host[data-size=xs][data-type=content]{font:var(--tui-font-text-m);font-size:.5625rem}:host[data-size=s]{--t-size: var(--tui-height-s);--t-radius: .5rem;font:var(--tui-font-text-s);font-weight:bold}:host[data-size=s][data-type=content]{font:var(--tui-font-text-xs);font-weight:bold}:host[data-size=m]{--t-size: calc(var(--tui-height-m) - .25rem);--t-radius: .75rem;font:var(--tui-font-text-l);font-weight:bold}:host[data-size=m][data-type=content]{font:var(--tui-font-text-m);font-weight:bold}:host[data-size=l]{--t-size: var(--tui-height-l);--t-radius: .75rem;font:var(--tui-font-heading-5)}:host[data-size=l][data-type=content]{font:var(--tui-font-text-l);font-weight:bold}:host[data-size=xl]{--t-size: 5rem;--t-radius: .75rem;font:var(--tui-font-heading-3)}:host[data-size=xl][data-type=content]{font:var(--tui-font-heading-4)}:host[data-size=xxl]{--t-size: 6rem;--t-radius: 1rem;font:var(--tui-font-heading-3)}:host[data-size=xxl][data-type=content]{font:var(--tui-font-heading-3)}:host[data-size=xxxl]{--t-size: 8rem;--t-radius: 1.25rem;font:var(--tui-font-heading-2)}:host[data-size=xxxl][data-type=content]{font:var(--tui-font-heading-3)}:host[data-type=img]{background:transparent}:host[data-type=icon]:before{content:\"\"}:host._round{--t-radius: calc(var(--t-size) / 2)}:host ::ng-deep img,:host ::ng-deep picture,:host ::ng-deep video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;box-sizing:border-box}\n"], directives: [{ type: i1__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2__namespace.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }, { type: i1__namespace.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
83
88
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiAvatarComponent, decorators: [{
84
89
  type: i0.Component,
85
90
  args: [{
@@ -103,6 +108,9 @@
103
108
  }] }, { type: undefined, decorators: [{
104
109
  type: i0.Inject,
105
110
  args: [tokens.TUI_ICON_RESOLVER]
111
+ }] }, { type: i0__namespace.Renderer2, decorators: [{
112
+ type: i0.Inject,
113
+ args: [i0.Renderer2]
106
114
  }] }];
107
115
  }, propDecorators: { size: [{
108
116
  type: i0.Input
@@ -112,6 +120,9 @@
112
120
  type: i0.Input
113
121
  }], appearance: [{
114
122
  type: i0.Input
123
+ }], onColoredIcon: [{
124
+ type: i0.HostListener,
125
+ args: [constants.TUI_ICON_COLORED, ['$event.target']]
115
126
  }] } });
116
127
 
117
128
  var TuiAvatarModule = /** @class */ (function () {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-avatar.umd.js","sources":["../../../projects/experimental/components/avatar/avatar.options.ts","../../../projects/experimental/components/avatar/avatar.component.ts","../../../projects/experimental/components/avatar/avatar.template.html","../../../projects/experimental/components/avatar/avatar.module.ts","../../../projects/experimental/components/avatar/taiga-ui-experimental-components-avatar.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeXS, TuiSizeXXL} from '@taiga-ui/core';\n\nexport interface TuiAvatarOptions {\n readonly appearance: string;\n readonly round: boolean;\n readonly size: TuiSizeXS | TuiSizeXXL;\n}\n\nexport const TUI_AVATAR_DEFAULT_OPTIONS: TuiAvatarOptions = {\n appearance: '',\n round: true,\n size: 'l',\n};\n\nexport const TUI_AVATAR_OPTIONS = tuiCreateToken(TUI_AVATAR_DEFAULT_OPTIONS);\n\nexport function tuiAvatarOptionsProvider(options: Partial<TuiAvatarOptions>): Provider {\n return tuiProvideOptions(TUI_AVATAR_OPTIONS, options, TUI_AVATAR_DEFAULT_OPTIONS);\n}\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {SafeResourceUrl} from '@angular/platform-browser';\nimport {tuiIsString, TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\n\nimport {TUI_AVATAR_OPTIONS, TuiAvatarOptions} from './avatar.options';\n\n@Component({\n selector: 'tui-avatar',\n templateUrl: './avatar.template.html',\n styleUrls: ['./avatar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tuiAppearance: '',\n '[attr.data-appearance]': 'appearance',\n '[attr.data-size]': 'size',\n '[attr.data-type]': 'type',\n '[style.--t-mask]': '\"url(\" + resolver(safeSrc) + \")\"',\n '[class._round]': 'round',\n },\n})\nexport class TuiAvatarComponent {\n @Input()\n size = this.options.size;\n\n @Input()\n round = this.options.round;\n\n @Input()\n src: SafeResourceUrl | string | null = null;\n\n @Input()\n appearance = this.options.appearance;\n\n constructor(\n @Inject(TUI_AVATAR_OPTIONS) private readonly options: TuiAvatarOptions,\n @Inject(TUI_ICON_RESOLVER) readonly resolver: TuiStringHandler<string>,\n ) {}\n\n get safeSrc(): string {\n return this.src?.toString() ?? '';\n }\n\n get value(): SafeResourceUrl | string {\n return this.src || '';\n }\n\n get type(): 'content' | 'icon' | 'img' | 'text' {\n if (this.value && !tuiIsString(this.value)) {\n return 'img';\n }\n\n if (this.value.startsWith('tuiIcon') || this.value.endsWith('.svg')) {\n return 'icon';\n }\n\n if (this.value.length > 0 && this.value.length < 3) {\n return 'text';\n }\n\n return this.value.length ? 'img' : 'content';\n }\n}\n","<ng-container [ngSwitch]=\"type\">\n <img\n *ngSwitchCase=\"'img'\"\n alt=\"\"\n loading=\"lazy\"\n [src]=\"value\"\n />\n <ng-container *ngSwitchCase=\"'text'\">{{ value }}</ng-container>\n <ng-container *ngSwitchDefault>\n <ng-content></ng-content>\n </ng-container>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiIconModule} from '@taiga-ui/experimental/components/icon';\nimport {TuiLazyLoadingModule} from '@taiga-ui/kit';\n\nimport {TuiAvatarComponent} from './avatar.component';\n\n@NgModule({\n imports: [CommonModule, TuiIconModule, TuiLazyLoadingModule],\n declarations: [TuiAvatarComponent],\n exports: [TuiAvatarComponent],\n})\nexport class TuiAvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiCreateToken","tuiProvideOptions","tuiIsString","TUI_ICON_RESOLVER","i0","i1","i2","Component","ChangeDetectionStrategy","Inject","Input","CommonModule","TuiIconModule","TuiLazyLoadingModule","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-experimental-components-avatar.umd.js","sources":["../../../projects/experimental/components/avatar/avatar.options.ts","../../../projects/experimental/components/avatar/avatar.component.ts","../../../projects/experimental/components/avatar/avatar.template.html","../../../projects/experimental/components/avatar/avatar.module.ts","../../../projects/experimental/components/avatar/taiga-ui-experimental-components-avatar.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeXS, TuiSizeXXL} from '@taiga-ui/core';\n\nexport interface TuiAvatarOptions {\n readonly appearance: string;\n readonly round: boolean;\n readonly size: TuiSizeXS | TuiSizeXXL;\n}\n\nexport const TUI_AVATAR_DEFAULT_OPTIONS: TuiAvatarOptions = {\n appearance: '',\n round: true,\n size: 'l',\n};\n\nexport const TUI_AVATAR_OPTIONS = tuiCreateToken(TUI_AVATAR_DEFAULT_OPTIONS);\n\nexport function tuiAvatarOptionsProvider(options: Partial<TuiAvatarOptions>): Provider {\n return tuiProvideOptions(TUI_AVATAR_OPTIONS, options, TUI_AVATAR_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostListener,\n Inject,\n Input,\n Renderer2,\n} from '@angular/core';\nimport {SafeResourceUrl} from '@angular/platform-browser';\nimport {tuiIsString, TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICON_COLORED} from '@taiga-ui/experimental/constants';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\n\nimport {TUI_AVATAR_OPTIONS, TuiAvatarOptions} from './avatar.options';\n\n@Component({\n selector: 'tui-avatar',\n templateUrl: './avatar.template.html',\n styleUrls: ['./avatar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tuiAppearance: '',\n '[attr.data-appearance]': 'appearance',\n '[attr.data-size]': 'size',\n '[attr.data-type]': 'type',\n '[style.--t-mask]': '\"url(\" + resolver(safeSrc) + \")\"',\n '[class._round]': 'round',\n },\n})\nexport class TuiAvatarComponent {\n @Input()\n size = this.options.size;\n\n @Input()\n round = this.options.round;\n\n @Input()\n src: SafeResourceUrl | string | null = null;\n\n @Input()\n appearance = this.options.appearance;\n\n constructor(\n @Inject(TUI_AVATAR_OPTIONS) private readonly options: TuiAvatarOptions,\n @Inject(TUI_ICON_RESOLVER) readonly resolver: TuiStringHandler<string>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n ) {}\n\n get safeSrc(): string {\n return this.src?.toString() ?? '';\n }\n\n get value(): SafeResourceUrl | string {\n return this.src || '';\n }\n\n get type(): 'content' | 'icon' | 'img' | 'text' {\n if (this.value && !tuiIsString(this.value)) {\n return 'img';\n }\n\n if (this.value.startsWith('tuiIcon') || this.value.endsWith('.svg')) {\n return 'icon';\n }\n\n if (this.value.length > 0 && this.value.length < 3) {\n return 'text';\n }\n\n return this.value.length ? 'img' : 'content';\n }\n\n // TODO: Consider another way in v4.0\n @HostListener(TUI_ICON_COLORED, ['$event.target'])\n onColoredIcon(target: HTMLElement): void {\n this.renderer.setStyle(target, 'padding', '20%');\n }\n}\n","<ng-container [ngSwitch]=\"type\">\n <img\n *ngSwitchCase=\"'img'\"\n alt=\"\"\n loading=\"lazy\"\n [src]=\"value\"\n />\n <ng-container *ngSwitchCase=\"'text'\">{{ value }}</ng-container>\n <ng-container *ngSwitchDefault>\n <ng-content></ng-content>\n </ng-container>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiIconModule} from '@taiga-ui/experimental/components/icon';\nimport {TuiLazyLoadingModule} from '@taiga-ui/kit';\n\nimport {TuiAvatarComponent} from './avatar.component';\n\n@NgModule({\n imports: [CommonModule, TuiIconModule, TuiLazyLoadingModule],\n declarations: [TuiAvatarComponent],\n exports: [TuiAvatarComponent],\n})\nexport class TuiAvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiCreateToken","tuiProvideOptions","tuiIsString","i0","TUI_ICON_RESOLVER","Renderer2","i1","i2","Component","ChangeDetectionStrategy","Inject","Input","HostListener","TUI_ICON_COLORED","CommonModule","TuiIconModule","TuiLazyLoadingModule","NgModule"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/experimental/tokens')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/experimental/components/icon', ['exports', '@angular/core', '@taiga-ui/experimental/tokens'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].experimental = global["taiga-ui"].experimental || {}, global["taiga-ui"].experimental.components = global["taiga-ui"].experimental.components || {}, global["taiga-ui"].experimental.components.icon = {}), global.ng.core, global["taiga-ui"].experimental.tokens));
5
- })(this, (function (exports, i0, tokens) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/experimental/tokens'), require('@taiga-ui/experimental/constants')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/experimental/components/icon', ['exports', '@angular/core', '@taiga-ui/experimental/tokens', '@taiga-ui/experimental/constants'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].experimental = global["taiga-ui"].experimental || {}, global["taiga-ui"].experimental.components = global["taiga-ui"].experimental.components || {}, global["taiga-ui"].experimental.components.icon = {}), global.ng.core, global["taiga-ui"].experimental.tokens, global["taiga-ui"].experimental.constants));
5
+ })(this, (function (exports, i0, tokens, constants) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -61,7 +61,15 @@
61
61
 
62
62
  var TuiIconPipe = /** @class */ (function () {
63
63
  function TuiIconPipe() {
64
+ var _this = this;
64
65
  this.transform = i0.inject(tokens.TUI_ICON_RESOLVER);
66
+ this.el = i0.inject(i0.ElementRef).nativeElement;
67
+ // TODO: Consider another way in v4.0
68
+ /**
69
+ * This would cause dispatch after parent component change detection run
70
+ * and handlers (such HostListener) will be attached
71
+ */
72
+ void Promise.resolve().then(function () { return _this.el.dispatchEvent(new CustomEvent(constants.TUI_ICON_COLORED, { bubbles: true })); });
65
73
  }
66
74
  return TuiIconPipe;
67
75
  }());
@@ -72,7 +80,7 @@
72
80
  args: [{
73
81
  name: 'tuiIcon',
74
82
  }]
75
- }] });
83
+ }], ctorParameters: function () { return []; } });
76
84
 
77
85
  var TuiIconModule = /** @class */ (function () {
78
86
  function TuiIconModule() {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-icon.umd.js","sources":["../../../projects/experimental/components/icon/icon.component.ts","../../../projects/experimental/components/icon/icon.pipe.ts","../../../projects/experimental/components/icon/icon.module.ts","../../../projects/experimental/components/icon/taiga-ui-experimental-components-icon.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\n\n@Component({\n selector: 'tui-icon',\n template: '',\n host: {\n '[class._duo]': 'background',\n '[style.--t-mask]': '\"url(\" + resolver(icon) + \")\"',\n // TODO: remove Outline hack in 4.0\n '[style.--t-mask-bg]':\n 'background ? \"url(\" + resolver(background).replace(\"Outline\", \"\") + \")\" : null',\n },\n styleUrls: ['./icon.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiIconComponent {\n @Input()\n icon = '';\n\n @Input()\n background = '';\n\n constructor(@Inject(TUI_ICON_RESOLVER) readonly resolver: TuiStringHandler<string>) {}\n}\n","import type {PipeTransform} from '@angular/core';\nimport {inject, Pipe} from '@angular/core';\nimport type {TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\n\n@Pipe({\n name: 'tuiIcon',\n})\nexport class TuiIconPipe implements PipeTransform {\n readonly transform = inject<TuiStringHandler<string>>(TUI_ICON_RESOLVER);\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiIconComponent} from './icon.component';\nimport {TuiIconPipe} from './icon.pipe';\n\n@NgModule({\n declarations: [TuiIconComponent, TuiIconPipe],\n exports: [TuiIconComponent, TuiIconPipe],\n})\nexport class TuiIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i0","TUI_ICON_RESOLVER","Component","ChangeDetectionStrategy","Inject","Input","inject","Pipe","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-experimental-components-icon.umd.js","sources":["../../../projects/experimental/components/icon/icon.component.ts","../../../projects/experimental/components/icon/icon.pipe.ts","../../../projects/experimental/components/icon/icon.module.ts","../../../projects/experimental/components/icon/taiga-ui-experimental-components-icon.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\n\n@Component({\n selector: 'tui-icon',\n template: '',\n host: {\n '[class._duo]': 'background',\n '[style.--t-mask]': '\"url(\" + resolver(icon) + \")\"',\n // TODO: remove Outline hack in 4.0\n '[style.--t-mask-bg]':\n 'background ? \"url(\" + resolver(background).replace(\"Outline\", \"\") + \")\" : null',\n },\n styleUrls: ['./icon.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiIconComponent {\n @Input()\n icon = '';\n\n @Input()\n background = '';\n\n constructor(@Inject(TUI_ICON_RESOLVER) readonly resolver: TuiStringHandler<string>) {}\n}\n","import {ElementRef, inject, Pipe, PipeTransform} from '@angular/core';\nimport type {TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICON_COLORED} from '@taiga-ui/experimental/constants';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\n\n@Pipe({\n name: 'tuiIcon',\n})\nexport class TuiIconPipe implements PipeTransform {\n readonly transform = inject<TuiStringHandler<string>>(TUI_ICON_RESOLVER);\n readonly el = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n\n constructor() {\n // TODO: Consider another way in v4.0\n /**\n * This would cause dispatch after parent component change detection run\n * and handlers (such HostListener) will be attached\n */\n void Promise.resolve().then(() =>\n this.el.dispatchEvent(new CustomEvent(TUI_ICON_COLORED, {bubbles: true})),\n );\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiIconComponent} from './icon.component';\nimport {TuiIconPipe} from './icon.pipe';\n\n@NgModule({\n declarations: [TuiIconComponent, TuiIconPipe],\n exports: [TuiIconComponent, TuiIconPipe],\n})\nexport class TuiIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i0","TUI_ICON_RESOLVER","Component","ChangeDetectionStrategy","Inject","Input","inject","ElementRef","TUI_ICON_COLORED","Pipe","NgModule"],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/experimental/constants', ['exports'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].experimental = global["taiga-ui"].experimental || {}, global["taiga-ui"].experimental.constants = {})));
5
+ })(this, (function (exports) { 'use strict';
6
+
7
+ /**
8
+ * An event to notify {@link TuiAvatarComponent} that
9
+ * it should handle nested element with colored icon
10
+ */
11
+ var TUI_ICON_COLORED = 'tui-icon-colored';
12
+
13
+ /**
14
+ * Generated bundle index. Do not edit.
15
+ */
16
+
17
+ exports.TUI_ICON_COLORED = TUI_ICON_COLORED;
18
+
19
+ Object.defineProperty(exports, '__esModule', { value: true });
20
+
21
+ }));
22
+ //# sourceMappingURL=taiga-ui-experimental-constants.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-experimental-constants.umd.js","sources":["../../../projects/experimental/constants/events.ts","../../../projects/experimental/constants/taiga-ui-experimental-constants.ts"],"sourcesContent":["/**\n * An event to notify {@link TuiAvatarComponent} that\n * it should handle nested element with colored icon\n */\nexport const TUI_ICON_COLORED = 'tui-icon-colored';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;CAAA;;;CAGG;AACI,KAAM,gBAAgB,GAAG;;CCJhC;;CAEG;;;;;;;;;;"}
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@taiga-ui/experimental/components'), require('@taiga-ui/experimental/directives'), require('@taiga-ui/experimental/pipes'), require('@taiga-ui/experimental/tokens')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/experimental', ['exports', '@taiga-ui/experimental/components', '@taiga-ui/experimental/directives', '@taiga-ui/experimental/pipes', '@taiga-ui/experimental/tokens'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].experimental = {}), global["taiga-ui"].experimental.components, global["taiga-ui"].experimental.directives, global["taiga-ui"].experimental.pipes, global["taiga-ui"].experimental.tokens));
5
- })(this, (function (exports, components, directives, pipes, tokens) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@taiga-ui/experimental/components'), require('@taiga-ui/experimental/constants'), require('@taiga-ui/experimental/directives'), require('@taiga-ui/experimental/pipes'), require('@taiga-ui/experimental/tokens')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/experimental', ['exports', '@taiga-ui/experimental/components', '@taiga-ui/experimental/constants', '@taiga-ui/experimental/directives', '@taiga-ui/experimental/pipes', '@taiga-ui/experimental/tokens'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].experimental = {}), global["taiga-ui"].experimental.components, global["taiga-ui"].experimental.constants, global["taiga-ui"].experimental.directives, global["taiga-ui"].experimental.pipes, global["taiga-ui"].experimental.tokens));
5
+ })(this, (function (exports, components, constants, directives, pipes, tokens) { 'use strict';
6
6
 
7
7
  /**
8
8
  * Generated bundle index. Do not edit.
@@ -14,6 +14,12 @@
14
14
  get: function () { return components[k]; }
15
15
  });
16
16
  });
17
+ Object.keys(constants).forEach(function (k) {
18
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
19
+ enumerable: true,
20
+ get: function () { return constants[k]; }
21
+ });
22
+ });
17
23
  Object.keys(directives).forEach(function (k) {
18
24
  if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
19
25
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental.umd.js","sources":["../../../projects/experimental/taiga-ui-experimental.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;CAAA;;CAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-experimental.umd.js","sources":["../../../projects/experimental/taiga-ui-experimental.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;CAAA;;CAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,3 +1,4 @@
1
+ import { Renderer2 } from '@angular/core';
1
2
  import { SafeResourceUrl } from '@angular/platform-browser';
2
3
  import { TuiStringHandler } from '@taiga-ui/cdk';
3
4
  import { TuiAvatarOptions } from './avatar.options';
@@ -5,14 +6,16 @@ import * as i0 from "@angular/core";
5
6
  export declare class TuiAvatarComponent {
6
7
  private readonly options;
7
8
  readonly resolver: TuiStringHandler<string>;
9
+ private readonly renderer;
8
10
  size: "m" | "s" | "xs" | "l" | "xl" | "xxl";
9
11
  round: boolean;
10
12
  src: SafeResourceUrl | string | null;
11
13
  appearance: string;
12
- constructor(options: TuiAvatarOptions, resolver: TuiStringHandler<string>);
14
+ constructor(options: TuiAvatarOptions, resolver: TuiStringHandler<string>, renderer: Renderer2);
13
15
  get safeSrc(): string;
14
16
  get value(): SafeResourceUrl | string;
15
17
  get type(): 'content' | 'icon' | 'img' | 'text';
18
+ onColoredIcon(target: HTMLElement): void;
16
19
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiAvatarComponent, never>;
17
20
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiAvatarComponent, "tui-avatar", never, { "size": "size"; "round": "round"; "src": "src"; "appearance": "appearance"; }, {}, never, ["*"]>;
18
21
  }
@@ -1,8 +1,10 @@
1
- import type { PipeTransform } from '@angular/core';
1
+ import { PipeTransform } from '@angular/core';
2
2
  import type { TuiStringHandler } from '@taiga-ui/cdk';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class TuiIconPipe implements PipeTransform {
5
5
  readonly transform: TuiStringHandler<string>;
6
+ readonly el: HTMLElement;
7
+ constructor();
6
8
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiIconPipe, never>;
7
9
  static ɵpipe: i0.ɵɵPipeDeclaration<TuiIconPipe, "tuiIcon">;
8
10
  }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * An event to notify {@link TuiAvatarComponent} that
3
+ * it should handle nested element with colored icon
4
+ */
5
+ export declare const TUI_ICON_COLORED = "tui-icon-colored";
@@ -0,0 +1 @@
1
+ export * from './events';
@@ -0,0 +1,10 @@
1
+ {
2
+ "main": "../bundles/taiga-ui-experimental-constants.umd.js",
3
+ "module": "../fesm2015/taiga-ui-experimental-constants.js",
4
+ "es2015": "../fesm2015/taiga-ui-experimental-constants.js",
5
+ "esm2015": "../esm2015/constants/taiga-ui-experimental-constants.js",
6
+ "fesm2015": "../fesm2015/taiga-ui-experimental-constants.js",
7
+ "typings": "taiga-ui-experimental-constants.d.ts",
8
+ "sideEffects": false,
9
+ "name": "@taiga-ui/experimental/constants"
10
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@taiga-ui/experimental/constants" />
5
+ export * from './index';
@@ -1,14 +1,16 @@
1
- import { ChangeDetectionStrategy, Component, Inject, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostListener, Inject, Input, Renderer2, } from '@angular/core';
2
2
  import { tuiIsString } from '@taiga-ui/cdk';
3
+ import { TUI_ICON_COLORED } from '@taiga-ui/experimental/constants';
3
4
  import { TUI_ICON_RESOLVER } from '@taiga-ui/experimental/tokens';
4
5
  import { TUI_AVATAR_OPTIONS } from './avatar.options';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/common";
7
8
  import * as i2 from "@taiga-ui/kit";
8
9
  export class TuiAvatarComponent {
9
- constructor(options, resolver) {
10
+ constructor(options, resolver, renderer) {
10
11
  this.options = options;
11
12
  this.resolver = resolver;
13
+ this.renderer = renderer;
12
14
  this.size = this.options.size;
13
15
  this.round = this.options.round;
14
16
  this.src = null;
@@ -33,9 +35,13 @@ export class TuiAvatarComponent {
33
35
  }
34
36
  return this.value.length ? 'img' : 'content';
35
37
  }
38
+ // TODO: Consider another way in v4.0
39
+ onColoredIcon(target) {
40
+ this.renderer.setStyle(target, 'padding', '20%');
41
+ }
36
42
  }
37
- TuiAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAvatarComponent, deps: [{ token: TUI_AVATAR_OPTIONS }, { token: TUI_ICON_RESOLVER }], target: i0.ɵɵFactoryTarget.Component });
38
- TuiAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", round: "round", src: "src", appearance: "appearance" }, host: { attributes: { "tuiAppearance": "" }, properties: { "attr.data-appearance": "appearance", "attr.data-size": "size", "attr.data-type": "type", "style.--t-mask": "\"url(\" + resolver(safeSrc) + \")\"", "class._round": "round" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <img\n *ngSwitchCase=\"'img'\"\n alt=\"\"\n loading=\"lazy\"\n [src]=\"value\"\n />\n <ng-container *ngSwitchCase=\"'text'\">{{ value }}</ng-container>\n <ng-container *ngSwitchDefault>\n <ng-content></ng-content>\n </ng-container>\n</ng-container>\n", styles: [":host{--t-size: 3.5rem;--t-radius: .75rem;position:relative;display:inline-flex;flex-shrink:0;width:var(--t-size);height:var(--t-size);align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;border-radius:var(--t-radius);background:var(--tui-secondary);color:var(--tui-text-02);vertical-align:middle;box-sizing:border-box;padding:.25rem;opacity:.999}:host:before{position:absolute;top:0;left:0;width:100%;height:100%;background:currentColor;-webkit-mask:var(--t-mask) no-repeat center / 60%;mask:var(--t-mask) no-repeat center / 60%}:host[data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: .5rem;font:var(--tui-font-text-xs);font-weight:bold}:host[data-size=xs][data-type=content]{font:var(--tui-font-text-m);font-size:.5625rem}:host[data-size=s]{--t-size: var(--tui-height-s);--t-radius: .5rem;font:var(--tui-font-text-s);font-weight:bold}:host[data-size=s][data-type=content]{font:var(--tui-font-text-xs);font-weight:bold}:host[data-size=m]{--t-size: calc(var(--tui-height-m) - .25rem);--t-radius: .75rem;font:var(--tui-font-text-l);font-weight:bold}:host[data-size=m][data-type=content]{font:var(--tui-font-text-m);font-weight:bold}:host[data-size=l]{--t-size: var(--tui-height-l);--t-radius: .75rem;font:var(--tui-font-heading-5)}:host[data-size=l][data-type=content]{font:var(--tui-font-text-l);font-weight:bold}:host[data-size=xl]{--t-size: 5rem;--t-radius: .75rem;font:var(--tui-font-heading-3)}:host[data-size=xl][data-type=content]{font:var(--tui-font-heading-4)}:host[data-size=xxl]{--t-size: 6rem;--t-radius: 1rem;font:var(--tui-font-heading-3)}:host[data-size=xxl][data-type=content]{font:var(--tui-font-heading-3)}:host[data-size=xxxl]{--t-size: 8rem;--t-radius: 1.25rem;font:var(--tui-font-heading-2)}:host[data-size=xxxl][data-type=content]{font:var(--tui-font-heading-3)}:host[data-type=img]{background:transparent}:host[data-type=icon]:before{content:\"\"}:host._round{--t-radius: calc(var(--t-size) / 2)}:host ::ng-deep img,:host ::ng-deep picture,:host ::ng-deep video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}\n"], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }, { type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
+ TuiAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAvatarComponent, deps: [{ token: TUI_AVATAR_OPTIONS }, { token: TUI_ICON_RESOLVER }, { token: Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
44
+ TuiAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", round: "round", src: "src", appearance: "appearance" }, host: { attributes: { "tuiAppearance": "" }, listeners: { "tui-icon-colored": "onColoredIcon($event.target)" }, properties: { "attr.data-appearance": "appearance", "attr.data-size": "size", "attr.data-type": "type", "style.--t-mask": "\"url(\" + resolver(safeSrc) + \")\"", "class._round": "round" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <img\n *ngSwitchCase=\"'img'\"\n alt=\"\"\n loading=\"lazy\"\n [src]=\"value\"\n />\n <ng-container *ngSwitchCase=\"'text'\">{{ value }}</ng-container>\n <ng-container *ngSwitchDefault>\n <ng-content></ng-content>\n </ng-container>\n</ng-container>\n", styles: [":host{--t-size: 3.5rem;--t-radius: .75rem;position:relative;display:inline-flex;flex-shrink:0;width:var(--t-size);height:var(--t-size);align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;border-radius:var(--t-radius);background:var(--tui-secondary);color:var(--tui-text-02);vertical-align:middle;box-sizing:border-box;padding:.25rem;opacity:.999}:host:before{position:absolute;top:0;left:0;width:100%;height:100%;background:currentColor;-webkit-mask:var(--t-mask) no-repeat center / 60%;mask:var(--t-mask) no-repeat center / 60%}:host[data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: .5rem;font:var(--tui-font-text-xs);font-weight:bold}:host[data-size=xs][data-type=content]{font:var(--tui-font-text-m);font-size:.5625rem}:host[data-size=s]{--t-size: var(--tui-height-s);--t-radius: .5rem;font:var(--tui-font-text-s);font-weight:bold}:host[data-size=s][data-type=content]{font:var(--tui-font-text-xs);font-weight:bold}:host[data-size=m]{--t-size: calc(var(--tui-height-m) - .25rem);--t-radius: .75rem;font:var(--tui-font-text-l);font-weight:bold}:host[data-size=m][data-type=content]{font:var(--tui-font-text-m);font-weight:bold}:host[data-size=l]{--t-size: var(--tui-height-l);--t-radius: .75rem;font:var(--tui-font-heading-5)}:host[data-size=l][data-type=content]{font:var(--tui-font-text-l);font-weight:bold}:host[data-size=xl]{--t-size: 5rem;--t-radius: .75rem;font:var(--tui-font-heading-3)}:host[data-size=xl][data-type=content]{font:var(--tui-font-heading-4)}:host[data-size=xxl]{--t-size: 6rem;--t-radius: 1rem;font:var(--tui-font-heading-3)}:host[data-size=xxl][data-type=content]{font:var(--tui-font-heading-3)}:host[data-size=xxxl]{--t-size: 8rem;--t-radius: 1.25rem;font:var(--tui-font-heading-2)}:host[data-size=xxxl][data-type=content]{font:var(--tui-font-heading-3)}:host[data-type=img]{background:transparent}:host[data-type=icon]:before{content:\"\"}:host._round{--t-radius: calc(var(--t-size) / 2)}:host ::ng-deep img,:host ::ng-deep picture,:host ::ng-deep video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;box-sizing:border-box}\n"], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }, { type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAvatarComponent, decorators: [{
40
46
  type: Component,
41
47
  args: [{
@@ -58,6 +64,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
58
64
  }] }, { type: undefined, decorators: [{
59
65
  type: Inject,
60
66
  args: [TUI_ICON_RESOLVER]
67
+ }] }, { type: i0.Renderer2, decorators: [{
68
+ type: Inject,
69
+ args: [Renderer2]
61
70
  }] }]; }, propDecorators: { size: [{
62
71
  type: Input
63
72
  }], round: [{
@@ -66,5 +75,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
66
75
  type: Input
67
76
  }], appearance: [{
68
77
  type: Input
78
+ }], onColoredIcon: [{
79
+ type: HostListener,
80
+ args: [TUI_ICON_COLORED, ['$event.target']]
69
81
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJpbWVudGFsL2NvbXBvbmVudHMvYXZhdGFyL2F2YXRhci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVoRixPQUFPLEVBQUMsV0FBVyxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFnQnRFLE1BQU0sT0FBTyxrQkFBa0I7SUFhM0IsWUFDaUQsT0FBeUIsRUFDbEMsUUFBa0M7UUFEekIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFiMUUsU0FBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBR3pCLFVBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUczQixRQUFHLEdBQW9DLElBQUksQ0FBQztRQUc1QyxlQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFLbEMsQ0FBQztJQUVKLElBQUksT0FBTzs7UUFDUCxPQUFPLE1BQUEsTUFBQSxJQUFJLENBQUMsR0FBRywwQ0FBRSxRQUFRLEVBQUUsbUNBQUksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNqRSxPQUFPLE1BQU0sQ0FBQztTQUNqQjtRQUVELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNoRCxPQUFPLE1BQU0sQ0FBQztTQUNqQjtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2pELENBQUM7O2dIQXhDUSxrQkFBa0Isa0JBY2Ysa0JBQWtCLGFBQ2xCLGlCQUFpQjtvR0FmcEIsa0JBQWtCLDhXQ3JCL0IsbVZBWUE7NEZEU2Esa0JBQWtCO2tCQWQ5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUsd0JBQXdCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDbEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixhQUFhLEVBQUUsRUFBRTt3QkFDakIsd0JBQXdCLEVBQUUsWUFBWTt3QkFDdEMsa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsa0JBQWtCLEVBQUUsa0NBQWtDO3dCQUN0RCxnQkFBZ0IsRUFBRSxPQUFPO3FCQUM1QjtpQkFDSjs7MEJBZVEsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUN6QixNQUFNOzJCQUFDLGlCQUFpQjs0Q0FiN0IsSUFBSTtzQkFESCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixHQUFHO3NCQURGLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2FmZVJlc291cmNlVXJsfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7dHVpSXNTdHJpbmcsIFR1aVN0cmluZ0hhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfSUNPTl9SRVNPTFZFUn0gZnJvbSAnQHRhaWdhLXVpL2V4cGVyaW1lbnRhbC90b2tlbnMnO1xuXG5pbXBvcnQge1RVSV9BVkFUQVJfT1BUSU9OUywgVHVpQXZhdGFyT3B0aW9uc30gZnJvbSAnLi9hdmF0YXIub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWF2YXRhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHVpQXBwZWFyYW5jZTogJycsXG4gICAgICAgICdbYXR0ci5kYXRhLWFwcGVhcmFuY2VdJzogJ2FwcGVhcmFuY2UnLFxuICAgICAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdzaXplJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtdHlwZV0nOiAndHlwZScsXG4gICAgICAgICdbc3R5bGUuLS10LW1hc2tdJzogJ1widXJsKFwiICsgcmVzb2x2ZXIoc2FmZVNyYykgKyBcIilcIicsXG4gICAgICAgICdbY2xhc3MuX3JvdW5kXSc6ICdyb3VuZCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXZhdGFyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIHNpemUgPSB0aGlzLm9wdGlvbnMuc2l6ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcm91bmQgPSB0aGlzLm9wdGlvbnMucm91bmQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHNyYzogU2FmZVJlc291cmNlVXJsIHwgc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIGFwcGVhcmFuY2UgPSB0aGlzLm9wdGlvbnMuYXBwZWFyYW5jZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9BVkFUQVJfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlBdmF0YXJPcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9JQ09OX1JFU09MVkVSKSByZWFkb25seSByZXNvbHZlcjogVHVpU3RyaW5nSGFuZGxlcjxzdHJpbmc+LFxuICAgICkge31cblxuICAgIGdldCBzYWZlU3JjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnNyYz8udG9TdHJpbmcoKSA/PyAnJztcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogU2FmZVJlc291cmNlVXJsIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3JjIHx8ICcnO1xuICAgIH1cblxuICAgIGdldCB0eXBlKCk6ICdjb250ZW50JyB8ICdpY29uJyB8ICdpbWcnIHwgJ3RleHQnIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgIXR1aUlzU3RyaW5nKHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2ltZyc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy52YWx1ZS5zdGFydHNXaXRoKCd0dWlJY29uJykgfHwgdGhpcy52YWx1ZS5lbmRzV2l0aCgnLnN2ZycpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2ljb24nO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJiB0aGlzLnZhbHVlLmxlbmd0aCA8IDMpIHtcbiAgICAgICAgICAgIHJldHVybiAndGV4dCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGggPyAnaW1nJyA6ICdjb250ZW50JztcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gICAgPGltZ1xuICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2ltZydcIlxuICAgICAgICBhbHQ9XCJcIlxuICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgIFtzcmNdPVwidmFsdWVcIlxuICAgIC8+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCI+e3sgdmFsdWUgfX08L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJpbWVudGFsL2NvbXBvbmVudHMvYXZhdGFyL2F2YXRhci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsV0FBVyxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFnQnRFLE1BQU0sT0FBTyxrQkFBa0I7SUFhM0IsWUFDaUQsT0FBeUIsRUFDbEMsUUFBa0MsRUFDbEMsUUFBbUI7UUFGVixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBZDNELFNBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUd6QixVQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFHM0IsUUFBRyxHQUFvQyxJQUFJLENBQUM7UUFHNUMsZUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO0lBTWxDLENBQUM7SUFFSixJQUFJLE9BQU87O1FBQ1AsT0FBTyxNQUFBLE1BQUEsSUFBSSxDQUFDLEdBQUcsMENBQUUsUUFBUSxFQUFFLG1DQUFJLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakUsT0FBTyxNQUFNLENBQUM7U0FDakI7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDaEQsT0FBTyxNQUFNLENBQUM7U0FDakI7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNqRCxDQUFDO0lBRUQscUNBQXFDO0lBRXJDLGFBQWEsQ0FBQyxNQUFtQjtRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7O2dIQS9DUSxrQkFBa0Isa0JBY2Ysa0JBQWtCLGFBQ2xCLGlCQUFpQixhQUNqQixTQUFTO29HQWhCWixrQkFBa0IsaWJDN0IvQixtVkFZQTs0RkRpQmEsa0JBQWtCO2tCQWQ5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUsd0JBQXdCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDbEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixhQUFhLEVBQUUsRUFBRTt3QkFDakIsd0JBQXdCLEVBQUUsWUFBWTt3QkFDdEMsa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsa0JBQWtCLEVBQUUsa0NBQWtDO3dCQUN0RCxnQkFBZ0IsRUFBRSxPQUFPO3FCQUM1QjtpQkFDSjs7MEJBZVEsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUN6QixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsU0FBUzs0Q0FkckIsSUFBSTtzQkFESCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixHQUFHO3NCQURGLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQW1DTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NhZmVSZXNvdXJjZVVybH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge3R1aUlzU3RyaW5nLCBUdWlTdHJpbmdIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0lDT05fQ09MT1JFRH0gZnJvbSAnQHRhaWdhLXVpL2V4cGVyaW1lbnRhbC9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfSUNPTl9SRVNPTFZFUn0gZnJvbSAnQHRhaWdhLXVpL2V4cGVyaW1lbnRhbC90b2tlbnMnO1xuXG5pbXBvcnQge1RVSV9BVkFUQVJfT1BUSU9OUywgVHVpQXZhdGFyT3B0aW9uc30gZnJvbSAnLi9hdmF0YXIub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWF2YXRhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHVpQXBwZWFyYW5jZTogJycsXG4gICAgICAgICdbYXR0ci5kYXRhLWFwcGVhcmFuY2VdJzogJ2FwcGVhcmFuY2UnLFxuICAgICAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdzaXplJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtdHlwZV0nOiAndHlwZScsXG4gICAgICAgICdbc3R5bGUuLS10LW1hc2tdJzogJ1widXJsKFwiICsgcmVzb2x2ZXIoc2FmZVNyYykgKyBcIilcIicsXG4gICAgICAgICdbY2xhc3MuX3JvdW5kXSc6ICdyb3VuZCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXZhdGFyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIHNpemUgPSB0aGlzLm9wdGlvbnMuc2l6ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcm91bmQgPSB0aGlzLm9wdGlvbnMucm91bmQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHNyYzogU2FmZVJlc291cmNlVXJsIHwgc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIGFwcGVhcmFuY2UgPSB0aGlzLm9wdGlvbnMuYXBwZWFyYW5jZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9BVkFUQVJfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlBdmF0YXJPcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9JQ09OX1JFU09MVkVSKSByZWFkb25seSByZXNvbHZlcjogVHVpU3RyaW5nSGFuZGxlcjxzdHJpbmc+LFxuICAgICAgICBASW5qZWN0KFJlbmRlcmVyMikgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICkge31cblxuICAgIGdldCBzYWZlU3JjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnNyYz8udG9TdHJpbmcoKSA/PyAnJztcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogU2FmZVJlc291cmNlVXJsIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3JjIHx8ICcnO1xuICAgIH1cblxuICAgIGdldCB0eXBlKCk6ICdjb250ZW50JyB8ICdpY29uJyB8ICdpbWcnIHwgJ3RleHQnIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgIXR1aUlzU3RyaW5nKHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2ltZyc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy52YWx1ZS5zdGFydHNXaXRoKCd0dWlJY29uJykgfHwgdGhpcy52YWx1ZS5lbmRzV2l0aCgnLnN2ZycpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2ljb24nO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJiB0aGlzLnZhbHVlLmxlbmd0aCA8IDMpIHtcbiAgICAgICAgICAgIHJldHVybiAndGV4dCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGggPyAnaW1nJyA6ICdjb250ZW50JztcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBDb25zaWRlciBhbm90aGVyIHdheSBpbiB2NC4wXG4gICAgQEhvc3RMaXN0ZW5lcihUVUlfSUNPTl9DT0xPUkVELCBbJyRldmVudC50YXJnZXQnXSlcbiAgICBvbkNvbG9yZWRJY29uKHRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0YXJnZXQsICdwYWRkaW5nJywgJzIwJScpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInR5cGVcIj5cbiAgICA8aW1nXG4gICAgICAgICpuZ1N3aXRjaENhc2U9XCInaW1nJ1wiXG4gICAgICAgIGFsdD1cIlwiXG4gICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgW3NyY109XCJ2YWx1ZVwiXG4gICAgLz5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj57eyB2YWx1ZSB9fTwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,9 +1,17 @@
1
- import { inject, Pipe } from '@angular/core';
1
+ import { ElementRef, inject, Pipe } from '@angular/core';
2
+ import { TUI_ICON_COLORED } from '@taiga-ui/experimental/constants';
2
3
  import { TUI_ICON_RESOLVER } from '@taiga-ui/experimental/tokens';
3
4
  import * as i0 from "@angular/core";
4
5
  export class TuiIconPipe {
5
6
  constructor() {
6
7
  this.transform = inject(TUI_ICON_RESOLVER);
8
+ this.el = inject(ElementRef).nativeElement;
9
+ // TODO: Consider another way in v4.0
10
+ /**
11
+ * This would cause dispatch after parent component change detection run
12
+ * and handlers (such HostListener) will be attached
13
+ */
14
+ void Promise.resolve().then(() => this.el.dispatchEvent(new CustomEvent(TUI_ICON_COLORED, { bubbles: true })));
7
15
  }
8
16
  }
9
17
  TuiIconPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiIconPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
@@ -13,5 +21,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
13
21
  args: [{
14
22
  name: 'tuiIcon',
15
23
  }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJpbWVudGFsL2NvbXBvbmVudHMvaWNvbi9pY29uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7O0FBS2hFLE1BQU0sT0FBTyxXQUFXO0lBSHhCO1FBSWEsY0FBUyxHQUFHLE1BQU0sQ0FBMkIsaUJBQWlCLENBQUMsQ0FBQztLQUM1RTs7eUdBRlksV0FBVzt1R0FBWCxXQUFXOzRGQUFYLFdBQVc7a0JBSHZCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1BpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtpbmplY3QsIFBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1R1aVN0cmluZ0hhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfSUNPTl9SRVNPTFZFUn0gZnJvbSAnQHRhaWdhLXVpL2V4cGVyaW1lbnRhbC90b2tlbnMnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ3R1aUljb24nLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJY29uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHJlYWRvbmx5IHRyYW5zZm9ybSA9IGluamVjdDxUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz4+KFRVSV9JQ09OX1JFU09MVkVSKTtcbn1cbiJdfQ==
24
+ }], ctorParameters: function () { return []; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJpbWVudGFsL2NvbXBvbmVudHMvaWNvbi9pY29uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7QUFLaEUsTUFBTSxPQUFPLFdBQVc7SUFJcEI7UUFIUyxjQUFTLEdBQUcsTUFBTSxDQUEyQixpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hFLE9BQUUsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUdwRSxxQ0FBcUM7UUFDckM7OztXQUdHO1FBQ0gsS0FBSyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUM3QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQzVFLENBQUM7SUFDTixDQUFDOzt5R0FiUSxXQUFXO3VHQUFYLFdBQVc7NEZBQVgsV0FBVztrQkFIdkIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsU0FBUztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VsZW1lbnRSZWYsIGluamVjdCwgUGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7VHVpU3RyaW5nSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9JQ09OX0NPTE9SRUR9IGZyb20gJ0B0YWlnYS11aS9leHBlcmltZW50YWwvY29uc3RhbnRzJztcbmltcG9ydCB7VFVJX0lDT05fUkVTT0xWRVJ9IGZyb20gJ0B0YWlnYS11aS9leHBlcmltZW50YWwvdG9rZW5zJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICd0dWlJY29uJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSWNvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICByZWFkb25seSB0cmFuc2Zvcm0gPSBpbmplY3Q8VHVpU3RyaW5nSGFuZGxlcjxzdHJpbmc+PihUVUlfSUNPTl9SRVNPTFZFUik7XG4gICAgcmVhZG9ubHkgZWwgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgLy8gVE9ETzogQ29uc2lkZXIgYW5vdGhlciB3YXkgaW4gdjQuMFxuICAgICAgICAvKipcbiAgICAgICAgICogVGhpcyB3b3VsZCBjYXVzZSBkaXNwYXRjaCBhZnRlciBwYXJlbnQgY29tcG9uZW50IGNoYW5nZSBkZXRlY3Rpb24gcnVuXG4gICAgICAgICAqIGFuZCBoYW5kbGVycyAoc3VjaCBIb3N0TGlzdGVuZXIpIHdpbGwgYmUgYXR0YWNoZWRcbiAgICAgICAgICovXG4gICAgICAgIHZvaWQgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PlxuICAgICAgICAgICAgdGhpcy5lbC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChUVUlfSUNPTl9DT0xPUkVELCB7YnViYmxlczogdHJ1ZX0pKSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,6 @@
1
+ /**
2
+ * An event to notify {@link TuiAvatarComponent} that
3
+ * it should handle nested element with colored icon
4
+ */
5
+ export const TUI_ICON_COLORED = 'tui-icon-colored';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJpbWVudGFsL2NvbnN0YW50cy9ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFuIGV2ZW50IHRvIG5vdGlmeSB7QGxpbmsgVHVpQXZhdGFyQ29tcG9uZW50fSB0aGF0XG4gKiBpdCBzaG91bGQgaGFuZGxlIG5lc3RlZCBlbGVtZW50IHdpdGggY29sb3JlZCBpY29uXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSUNPTl9DT0xPUkVEID0gJ3R1aS1pY29uLWNvbG9yZWQnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './events';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcmltZW50YWwvY29uc3RhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ldmVudHMnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktZXhwZXJpbWVudGFsLWNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVyaW1lbnRhbC9jb25zdGFudHMvdGFpZ2EtdWktZXhwZXJpbWVudGFsLWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
package/esm2015/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from '@taiga-ui/experimental/components';
2
+ export * from '@taiga-ui/experimental/constants';
2
3
  export * from '@taiga-ui/experimental/directives';
3
4
  export * from '@taiga-ui/experimental/pipes';
4
5
  export * from '@taiga-ui/experimental/tokens';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9leHBlcmltZW50YWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9leHBlcmltZW50YWwvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvZXhwZXJpbWVudGFsL2RpcmVjdGl2ZXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2V4cGVyaW1lbnRhbC9waXBlcyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvZXhwZXJpbWVudGFsL3Rva2Vucyc7XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9leHBlcmltZW50YWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9leHBlcmltZW50YWwvY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9leHBlcmltZW50YWwvZGlyZWN0aXZlcyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvZXhwZXJpbWVudGFsL3BpcGVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9leHBlcmltZW50YWwvdG9rZW5zJztcbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Inject, Input, NgModule } from '@angular/core';
2
+ import { Renderer2, Component, ChangeDetectionStrategy, Inject, Input, HostListener, NgModule } from '@angular/core';
3
3
  import { tuiCreateToken, tuiProvideOptions, tuiIsString } from '@taiga-ui/cdk';
4
+ import { TUI_ICON_COLORED } from '@taiga-ui/experimental/constants';
4
5
  import { TUI_ICON_RESOLVER } from '@taiga-ui/experimental/tokens';
5
6
  import * as i1 from '@angular/common';
6
7
  import { CommonModule } from '@angular/common';
@@ -19,9 +20,10 @@ function tuiAvatarOptionsProvider(options) {
19
20
  }
20
21
 
21
22
  class TuiAvatarComponent {
22
- constructor(options, resolver) {
23
+ constructor(options, resolver, renderer) {
23
24
  this.options = options;
24
25
  this.resolver = resolver;
26
+ this.renderer = renderer;
25
27
  this.size = this.options.size;
26
28
  this.round = this.options.round;
27
29
  this.src = null;
@@ -46,9 +48,13 @@ class TuiAvatarComponent {
46
48
  }
47
49
  return this.value.length ? 'img' : 'content';
48
50
  }
51
+ // TODO: Consider another way in v4.0
52
+ onColoredIcon(target) {
53
+ this.renderer.setStyle(target, 'padding', '20%');
54
+ }
49
55
  }
50
- TuiAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAvatarComponent, deps: [{ token: TUI_AVATAR_OPTIONS }, { token: TUI_ICON_RESOLVER }], target: i0.ɵɵFactoryTarget.Component });
51
- TuiAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", round: "round", src: "src", appearance: "appearance" }, host: { attributes: { "tuiAppearance": "" }, properties: { "attr.data-appearance": "appearance", "attr.data-size": "size", "attr.data-type": "type", "style.--t-mask": "\"url(\" + resolver(safeSrc) + \")\"", "class._round": "round" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <img\n *ngSwitchCase=\"'img'\"\n alt=\"\"\n loading=\"lazy\"\n [src]=\"value\"\n />\n <ng-container *ngSwitchCase=\"'text'\">{{ value }}</ng-container>\n <ng-container *ngSwitchDefault>\n <ng-content></ng-content>\n </ng-container>\n</ng-container>\n", styles: [":host{--t-size: 3.5rem;--t-radius: .75rem;position:relative;display:inline-flex;flex-shrink:0;width:var(--t-size);height:var(--t-size);align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;border-radius:var(--t-radius);background:var(--tui-secondary);color:var(--tui-text-02);vertical-align:middle;box-sizing:border-box;padding:.25rem;opacity:.999}:host:before{position:absolute;top:0;left:0;width:100%;height:100%;background:currentColor;-webkit-mask:var(--t-mask) no-repeat center / 60%;mask:var(--t-mask) no-repeat center / 60%}:host[data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: .5rem;font:var(--tui-font-text-xs);font-weight:bold}:host[data-size=xs][data-type=content]{font:var(--tui-font-text-m);font-size:.5625rem}:host[data-size=s]{--t-size: var(--tui-height-s);--t-radius: .5rem;font:var(--tui-font-text-s);font-weight:bold}:host[data-size=s][data-type=content]{font:var(--tui-font-text-xs);font-weight:bold}:host[data-size=m]{--t-size: calc(var(--tui-height-m) - .25rem);--t-radius: .75rem;font:var(--tui-font-text-l);font-weight:bold}:host[data-size=m][data-type=content]{font:var(--tui-font-text-m);font-weight:bold}:host[data-size=l]{--t-size: var(--tui-height-l);--t-radius: .75rem;font:var(--tui-font-heading-5)}:host[data-size=l][data-type=content]{font:var(--tui-font-text-l);font-weight:bold}:host[data-size=xl]{--t-size: 5rem;--t-radius: .75rem;font:var(--tui-font-heading-3)}:host[data-size=xl][data-type=content]{font:var(--tui-font-heading-4)}:host[data-size=xxl]{--t-size: 6rem;--t-radius: 1rem;font:var(--tui-font-heading-3)}:host[data-size=xxl][data-type=content]{font:var(--tui-font-heading-3)}:host[data-size=xxxl]{--t-size: 8rem;--t-radius: 1.25rem;font:var(--tui-font-heading-2)}:host[data-size=xxxl][data-type=content]{font:var(--tui-font-heading-3)}:host[data-type=img]{background:transparent}:host[data-type=icon]:before{content:\"\"}:host._round{--t-radius: calc(var(--t-size) / 2)}:host ::ng-deep img,:host ::ng-deep picture,:host ::ng-deep video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}\n"], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }, { type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
56
+ TuiAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAvatarComponent, deps: [{ token: TUI_AVATAR_OPTIONS }, { token: TUI_ICON_RESOLVER }, { token: Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
57
+ TuiAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", round: "round", src: "src", appearance: "appearance" }, host: { attributes: { "tuiAppearance": "" }, listeners: { "tui-icon-colored": "onColoredIcon($event.target)" }, properties: { "attr.data-appearance": "appearance", "attr.data-size": "size", "attr.data-type": "type", "style.--t-mask": "\"url(\" + resolver(safeSrc) + \")\"", "class._round": "round" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <img\n *ngSwitchCase=\"'img'\"\n alt=\"\"\n loading=\"lazy\"\n [src]=\"value\"\n />\n <ng-container *ngSwitchCase=\"'text'\">{{ value }}</ng-container>\n <ng-container *ngSwitchDefault>\n <ng-content></ng-content>\n </ng-container>\n</ng-container>\n", styles: [":host{--t-size: 3.5rem;--t-radius: .75rem;position:relative;display:inline-flex;flex-shrink:0;width:var(--t-size);height:var(--t-size);align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;border-radius:var(--t-radius);background:var(--tui-secondary);color:var(--tui-text-02);vertical-align:middle;box-sizing:border-box;padding:.25rem;opacity:.999}:host:before{position:absolute;top:0;left:0;width:100%;height:100%;background:currentColor;-webkit-mask:var(--t-mask) no-repeat center / 60%;mask:var(--t-mask) no-repeat center / 60%}:host[data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: .5rem;font:var(--tui-font-text-xs);font-weight:bold}:host[data-size=xs][data-type=content]{font:var(--tui-font-text-m);font-size:.5625rem}:host[data-size=s]{--t-size: var(--tui-height-s);--t-radius: .5rem;font:var(--tui-font-text-s);font-weight:bold}:host[data-size=s][data-type=content]{font:var(--tui-font-text-xs);font-weight:bold}:host[data-size=m]{--t-size: calc(var(--tui-height-m) - .25rem);--t-radius: .75rem;font:var(--tui-font-text-l);font-weight:bold}:host[data-size=m][data-type=content]{font:var(--tui-font-text-m);font-weight:bold}:host[data-size=l]{--t-size: var(--tui-height-l);--t-radius: .75rem;font:var(--tui-font-heading-5)}:host[data-size=l][data-type=content]{font:var(--tui-font-text-l);font-weight:bold}:host[data-size=xl]{--t-size: 5rem;--t-radius: .75rem;font:var(--tui-font-heading-3)}:host[data-size=xl][data-type=content]{font:var(--tui-font-heading-4)}:host[data-size=xxl]{--t-size: 6rem;--t-radius: 1rem;font:var(--tui-font-heading-3)}:host[data-size=xxl][data-type=content]{font:var(--tui-font-heading-3)}:host[data-size=xxxl]{--t-size: 8rem;--t-radius: 1.25rem;font:var(--tui-font-heading-2)}:host[data-size=xxxl][data-type=content]{font:var(--tui-font-heading-3)}:host[data-type=img]{background:transparent}:host[data-type=icon]:before{content:\"\"}:host._round{--t-radius: calc(var(--t-size) / 2)}:host ::ng-deep img,:host ::ng-deep picture,:host ::ng-deep video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;box-sizing:border-box}\n"], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }, { type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
52
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAvatarComponent, decorators: [{
53
59
  type: Component,
54
60
  args: [{
@@ -71,6 +77,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
71
77
  }] }, { type: undefined, decorators: [{
72
78
  type: Inject,
73
79
  args: [TUI_ICON_RESOLVER]
80
+ }] }, { type: i0.Renderer2, decorators: [{
81
+ type: Inject,
82
+ args: [Renderer2]
74
83
  }] }]; }, propDecorators: { size: [{
75
84
  type: Input
76
85
  }], round: [{
@@ -79,6 +88,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
79
88
  type: Input
80
89
  }], appearance: [{
81
90
  type: Input
91
+ }], onColoredIcon: [{
92
+ type: HostListener,
93
+ args: [TUI_ICON_COLORED, ['$event.target']]
82
94
  }] } });
83
95
 
84
96
  class TuiAvatarModule {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-avatar.js","sources":["../../../projects/experimental/components/avatar/avatar.options.ts","../../../projects/experimental/components/avatar/avatar.component.ts","../../../projects/experimental/components/avatar/avatar.template.html","../../../projects/experimental/components/avatar/avatar.module.ts","../../../projects/experimental/components/avatar/taiga-ui-experimental-components-avatar.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeXS, TuiSizeXXL} from '@taiga-ui/core';\n\nexport interface TuiAvatarOptions {\n readonly appearance: string;\n readonly round: boolean;\n readonly size: TuiSizeXS | TuiSizeXXL;\n}\n\nexport const TUI_AVATAR_DEFAULT_OPTIONS: TuiAvatarOptions = {\n appearance: '',\n round: true,\n size: 'l',\n};\n\nexport const TUI_AVATAR_OPTIONS = tuiCreateToken(TUI_AVATAR_DEFAULT_OPTIONS);\n\nexport function tuiAvatarOptionsProvider(options: Partial<TuiAvatarOptions>): Provider {\n return tuiProvideOptions(TUI_AVATAR_OPTIONS, options, TUI_AVATAR_DEFAULT_OPTIONS);\n}\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {SafeResourceUrl} from '@angular/platform-browser';\nimport {tuiIsString, TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\n\nimport {TUI_AVATAR_OPTIONS, TuiAvatarOptions} from './avatar.options';\n\n@Component({\n selector: 'tui-avatar',\n templateUrl: './avatar.template.html',\n styleUrls: ['./avatar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tuiAppearance: '',\n '[attr.data-appearance]': 'appearance',\n '[attr.data-size]': 'size',\n '[attr.data-type]': 'type',\n '[style.--t-mask]': '\"url(\" + resolver(safeSrc) + \")\"',\n '[class._round]': 'round',\n },\n})\nexport class TuiAvatarComponent {\n @Input()\n size = this.options.size;\n\n @Input()\n round = this.options.round;\n\n @Input()\n src: SafeResourceUrl | string | null = null;\n\n @Input()\n appearance = this.options.appearance;\n\n constructor(\n @Inject(TUI_AVATAR_OPTIONS) private readonly options: TuiAvatarOptions,\n @Inject(TUI_ICON_RESOLVER) readonly resolver: TuiStringHandler<string>,\n ) {}\n\n get safeSrc(): string {\n return this.src?.toString() ?? '';\n }\n\n get value(): SafeResourceUrl | string {\n return this.src || '';\n }\n\n get type(): 'content' | 'icon' | 'img' | 'text' {\n if (this.value && !tuiIsString(this.value)) {\n return 'img';\n }\n\n if (this.value.startsWith('tuiIcon') || this.value.endsWith('.svg')) {\n return 'icon';\n }\n\n if (this.value.length > 0 && this.value.length < 3) {\n return 'text';\n }\n\n return this.value.length ? 'img' : 'content';\n }\n}\n","<ng-container [ngSwitch]=\"type\">\n <img\n *ngSwitchCase=\"'img'\"\n alt=\"\"\n loading=\"lazy\"\n [src]=\"value\"\n />\n <ng-container *ngSwitchCase=\"'text'\">{{ value }}</ng-container>\n <ng-container *ngSwitchDefault>\n <ng-content></ng-content>\n </ng-container>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiIconModule} from '@taiga-ui/experimental/components/icon';\nimport {TuiLazyLoadingModule} from '@taiga-ui/kit';\n\nimport {TuiAvatarComponent} from './avatar.component';\n\n@NgModule({\n imports: [CommonModule, TuiIconModule, TuiLazyLoadingModule],\n declarations: [TuiAvatarComponent],\n exports: [TuiAvatarComponent],\n})\nexport class TuiAvatarModule {}\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-experimental-components-avatar.js","sources":["../../../projects/experimental/components/avatar/avatar.options.ts","../../../projects/experimental/components/avatar/avatar.component.ts","../../../projects/experimental/components/avatar/avatar.template.html","../../../projects/experimental/components/avatar/avatar.module.ts","../../../projects/experimental/components/avatar/taiga-ui-experimental-components-avatar.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeXS, TuiSizeXXL} from '@taiga-ui/core';\n\nexport interface TuiAvatarOptions {\n readonly appearance: string;\n readonly round: boolean;\n readonly size: TuiSizeXS | TuiSizeXXL;\n}\n\nexport const TUI_AVATAR_DEFAULT_OPTIONS: TuiAvatarOptions = {\n appearance: '',\n round: true,\n size: 'l',\n};\n\nexport const TUI_AVATAR_OPTIONS = tuiCreateToken(TUI_AVATAR_DEFAULT_OPTIONS);\n\nexport function tuiAvatarOptionsProvider(options: Partial<TuiAvatarOptions>): Provider {\n return tuiProvideOptions(TUI_AVATAR_OPTIONS, options, TUI_AVATAR_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostListener,\n Inject,\n Input,\n Renderer2,\n} from '@angular/core';\nimport {SafeResourceUrl} from '@angular/platform-browser';\nimport {tuiIsString, TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICON_COLORED} from '@taiga-ui/experimental/constants';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\n\nimport {TUI_AVATAR_OPTIONS, TuiAvatarOptions} from './avatar.options';\n\n@Component({\n selector: 'tui-avatar',\n templateUrl: './avatar.template.html',\n styleUrls: ['./avatar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tuiAppearance: '',\n '[attr.data-appearance]': 'appearance',\n '[attr.data-size]': 'size',\n '[attr.data-type]': 'type',\n '[style.--t-mask]': '\"url(\" + resolver(safeSrc) + \")\"',\n '[class._round]': 'round',\n },\n})\nexport class TuiAvatarComponent {\n @Input()\n size = this.options.size;\n\n @Input()\n round = this.options.round;\n\n @Input()\n src: SafeResourceUrl | string | null = null;\n\n @Input()\n appearance = this.options.appearance;\n\n constructor(\n @Inject(TUI_AVATAR_OPTIONS) private readonly options: TuiAvatarOptions,\n @Inject(TUI_ICON_RESOLVER) readonly resolver: TuiStringHandler<string>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n ) {}\n\n get safeSrc(): string {\n return this.src?.toString() ?? '';\n }\n\n get value(): SafeResourceUrl | string {\n return this.src || '';\n }\n\n get type(): 'content' | 'icon' | 'img' | 'text' {\n if (this.value && !tuiIsString(this.value)) {\n return 'img';\n }\n\n if (this.value.startsWith('tuiIcon') || this.value.endsWith('.svg')) {\n return 'icon';\n }\n\n if (this.value.length > 0 && this.value.length < 3) {\n return 'text';\n }\n\n return this.value.length ? 'img' : 'content';\n }\n\n // TODO: Consider another way in v4.0\n @HostListener(TUI_ICON_COLORED, ['$event.target'])\n onColoredIcon(target: HTMLElement): void {\n this.renderer.setStyle(target, 'padding', '20%');\n }\n}\n","<ng-container [ngSwitch]=\"type\">\n <img\n *ngSwitchCase=\"'img'\"\n alt=\"\"\n loading=\"lazy\"\n [src]=\"value\"\n />\n <ng-container *ngSwitchCase=\"'text'\">{{ value }}</ng-container>\n <ng-container *ngSwitchDefault>\n <ng-content></ng-content>\n </ng-container>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiIconModule} from '@taiga-ui/experimental/components/icon';\nimport {TuiLazyLoadingModule} from '@taiga-ui/kit';\n\nimport {TuiAvatarComponent} from './avatar.component';\n\n@NgModule({\n imports: [CommonModule, TuiIconModule, TuiLazyLoadingModule],\n declarations: [TuiAvatarComponent],\n exports: [TuiAvatarComponent],\n})\nexport class TuiAvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Inject, Input, inject, Pipe, NgModule } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, Inject, Input, inject, ElementRef, Pipe, NgModule } from '@angular/core';
3
3
  import { TUI_ICON_RESOLVER } from '@taiga-ui/experimental/tokens';
4
+ import { TUI_ICON_COLORED } from '@taiga-ui/experimental/constants';
4
5
 
5
6
  class TuiIconComponent {
6
7
  constructor(resolver) {
@@ -37,6 +38,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
37
38
  class TuiIconPipe {
38
39
  constructor() {
39
40
  this.transform = inject(TUI_ICON_RESOLVER);
41
+ this.el = inject(ElementRef).nativeElement;
42
+ // TODO: Consider another way in v4.0
43
+ /**
44
+ * This would cause dispatch after parent component change detection run
45
+ * and handlers (such HostListener) will be attached
46
+ */
47
+ void Promise.resolve().then(() => this.el.dispatchEvent(new CustomEvent(TUI_ICON_COLORED, { bubbles: true })));
40
48
  }
41
49
  }
42
50
  TuiIconPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiIconPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
@@ -46,7 +54,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
46
54
  args: [{
47
55
  name: 'tuiIcon',
48
56
  }]
49
- }] });
57
+ }], ctorParameters: function () { return []; } });
50
58
 
51
59
  class TuiIconModule {
52
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-icon.js","sources":["../../../projects/experimental/components/icon/icon.component.ts","../../../projects/experimental/components/icon/icon.pipe.ts","../../../projects/experimental/components/icon/icon.module.ts","../../../projects/experimental/components/icon/taiga-ui-experimental-components-icon.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\n\n@Component({\n selector: 'tui-icon',\n template: '',\n host: {\n '[class._duo]': 'background',\n '[style.--t-mask]': '\"url(\" + resolver(icon) + \")\"',\n // TODO: remove Outline hack in 4.0\n '[style.--t-mask-bg]':\n 'background ? \"url(\" + resolver(background).replace(\"Outline\", \"\") + \")\" : null',\n },\n styleUrls: ['./icon.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiIconComponent {\n @Input()\n icon = '';\n\n @Input()\n background = '';\n\n constructor(@Inject(TUI_ICON_RESOLVER) readonly resolver: TuiStringHandler<string>) {}\n}\n","import type {PipeTransform} from '@angular/core';\nimport {inject, Pipe} from '@angular/core';\nimport type {TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\n\n@Pipe({\n name: 'tuiIcon',\n})\nexport class TuiIconPipe implements PipeTransform {\n readonly transform = inject<TuiStringHandler<string>>(TUI_ICON_RESOLVER);\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiIconComponent} from './icon.component';\nimport {TuiIconPipe} from './icon.pipe';\n\n@NgModule({\n declarations: [TuiIconComponent, TuiIconPipe],\n exports: [TuiIconComponent, TuiIconPipe],\n})\nexport class TuiIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAiBa,gBAAgB,CAAA;AAOzB,IAAA,WAAA,CAAgD,QAAkC,EAAA;QAAlC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAA0B;QALlF,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;QAGV,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;KAEsE;;AAP7E,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBAOL,iBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAP5B,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,gUAXf,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2bAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FAWH,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,EAAE;AACZ,oBAAA,IAAI,EAAE;AACF,wBAAA,cAAc,EAAE,YAAY;AAC5B,wBAAA,kBAAkB,EAAE,+BAA+B;;AAEnD,wBAAA,qBAAqB,EACjB,gFAAgF;AACvF,qBAAA;oBACD,SAAS,EAAE,CAAC,mBAAmB,CAAC;oBAChC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAClD,iBAAA,CAAA;;0BAQgB,MAAM;2BAAC,iBAAiB,CAAA;4CALrC,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,UAAU,EAAA,CAAA;sBADT,KAAK;;;MCbG,WAAW,CAAA;AAHxB,IAAA,WAAA,GAAA;AAIa,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA2B,iBAAiB,CAAC,CAAC;AAC5E,KAAA;;yGAFY,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;uGAAX,WAAW,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,SAAS;AAClB,iBAAA,CAAA;;;MCEY,aAAa,CAAA;;2GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,iBAHP,gBAAgB,EAAE,WAAW,CAClC,EAAA,OAAA,EAAA,CAAA,gBAAgB,EAAE,WAAW,CAAA,EAAA,CAAA,CAAA;4GAE9B,aAAa,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE,CAAC,gBAAgB,EAAE,WAAW,CAAC;AAC7C,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,WAAW,CAAC;AAC3C,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-experimental-components-icon.js","sources":["../../../projects/experimental/components/icon/icon.component.ts","../../../projects/experimental/components/icon/icon.pipe.ts","../../../projects/experimental/components/icon/icon.module.ts","../../../projects/experimental/components/icon/taiga-ui-experimental-components-icon.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\n\n@Component({\n selector: 'tui-icon',\n template: '',\n host: {\n '[class._duo]': 'background',\n '[style.--t-mask]': '\"url(\" + resolver(icon) + \")\"',\n // TODO: remove Outline hack in 4.0\n '[style.--t-mask-bg]':\n 'background ? \"url(\" + resolver(background).replace(\"Outline\", \"\") + \")\" : null',\n },\n styleUrls: ['./icon.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiIconComponent {\n @Input()\n icon = '';\n\n @Input()\n background = '';\n\n constructor(@Inject(TUI_ICON_RESOLVER) readonly resolver: TuiStringHandler<string>) {}\n}\n","import {ElementRef, inject, Pipe, PipeTransform} from '@angular/core';\nimport type {TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICON_COLORED} from '@taiga-ui/experimental/constants';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\n\n@Pipe({\n name: 'tuiIcon',\n})\nexport class TuiIconPipe implements PipeTransform {\n readonly transform = inject<TuiStringHandler<string>>(TUI_ICON_RESOLVER);\n readonly el = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n\n constructor() {\n // TODO: Consider another way in v4.0\n /**\n * This would cause dispatch after parent component change detection run\n * and handlers (such HostListener) will be attached\n */\n void Promise.resolve().then(() =>\n this.el.dispatchEvent(new CustomEvent(TUI_ICON_COLORED, {bubbles: true})),\n );\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiIconComponent} from './icon.component';\nimport {TuiIconPipe} from './icon.pipe';\n\n@NgModule({\n declarations: [TuiIconComponent, TuiIconPipe],\n exports: [TuiIconComponent, TuiIconPipe],\n})\nexport class TuiIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * An event to notify {@link TuiAvatarComponent} that
3
+ * it should handle nested element with colored icon
4
+ */
5
+ const TUI_ICON_COLORED = 'tui-icon-colored';
6
+
7
+ /**
8
+ * Generated bundle index. Do not edit.
9
+ */
10
+
11
+ export { TUI_ICON_COLORED };
12
+ //# sourceMappingURL=taiga-ui-experimental-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-experimental-constants.js","sources":["../../../projects/experimental/constants/events.ts","../../../projects/experimental/constants/taiga-ui-experimental-constants.ts"],"sourcesContent":["/**\n * An event to notify {@link TuiAvatarComponent} that\n * it should handle nested element with colored icon\n */\nexport const TUI_ICON_COLORED = 'tui-icon-colored';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;;AAGG;AACI,MAAM,gBAAgB,GAAG;;ACJhC;;AAEG;;;;"}
@@ -1,4 +1,5 @@
1
1
  export * from '@taiga-ui/experimental/components';
2
+ export * from '@taiga-ui/experimental/constants';
2
3
  export * from '@taiga-ui/experimental/directives';
3
4
  export * from '@taiga-ui/experimental/pipes';
4
5
  export * from '@taiga-ui/experimental/tokens';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental.js","sources":["../../../projects/experimental/taiga-ui-experimental.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAAA;;AAEG"}
1
+ {"version":3,"file":"taiga-ui-experimental.js","sources":["../../../projects/experimental/taiga-ui-experimental.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAAA;;AAEG"}
package/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from '@taiga-ui/experimental/components';
2
+ export * from '@taiga-ui/experimental/constants';
2
3
  export * from '@taiga-ui/experimental/directives';
3
4
  export * from '@taiga-ui/experimental/pipes';
4
5
  export * from '@taiga-ui/experimental/tokens';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/experimental",
3
- "version": "3.79.0",
3
+ "version": "3.81.0",
4
4
  "description": "A package with Taiga UI experimental components",
5
5
  "keywords": [
6
6
  "angular",
@@ -13,10 +13,10 @@
13
13
  "peerDependencies": {
14
14
  "@angular/common": ">=12.0.0",
15
15
  "@angular/core": ">=12.0.0",
16
- "@taiga-ui/addon-commerce": "^3.79.0",
17
- "@taiga-ui/cdk": "^3.79.0",
18
- "@taiga-ui/core": "^3.79.0",
19
- "@taiga-ui/kit": "^3.79.0",
16
+ "@taiga-ui/addon-commerce": "^3.81.0",
17
+ "@taiga-ui/cdk": "^3.81.0",
18
+ "@taiga-ui/core": "^3.81.0",
19
+ "@taiga-ui/kit": "^3.81.0",
20
20
  "@tinkoff/ng-polymorpheus": "^4.3.0",
21
21
  "rxjs": ">=6.0.0"
22
22
  },