@taiga-ui/kit 2.63.0 → 2.65.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/bundles/taiga-ui-kit-components-avatar.umd.js +13 -5
  2. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-avatar.umd.min.js +1 -1
  4. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-carousel.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-carousel.umd.min.js +1 -1
  7. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-multi-select.umd.js +1 -1
  9. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
  10. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  11. package/components/avatar/avatar.component.d.ts +1 -0
  12. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  13. package/components/carousel/taiga-ui-kit-components-carousel.metadata.json +1 -1
  14. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  15. package/esm2015/components/avatar/avatar.component.js +9 -5
  16. package/esm2015/components/avatar/avatar.module.js +3 -2
  17. package/esm2015/components/carousel/carousel.component.js +1 -1
  18. package/esm2015/components/multi-select/multi-select.component.js +1 -1
  19. package/esm5/components/avatar/avatar.component.js +13 -5
  20. package/esm5/components/avatar/avatar.module.js +3 -2
  21. package/esm5/components/carousel/carousel.component.js +1 -1
  22. package/esm5/components/multi-select/multi-select.component.js +1 -1
  23. package/fesm2015/taiga-ui-kit-components-avatar.js +10 -6
  24. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  25. package/fesm2015/taiga-ui-kit-components-carousel.js +1 -1
  26. package/fesm2015/taiga-ui-kit-components-multi-select.js +1 -1
  27. package/fesm5/taiga-ui-kit-components-avatar.js +14 -6
  28. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  29. package/fesm5/taiga-ui-kit-components-carousel.js +1 -1
  30. package/fesm5/taiga-ui-kit-components-multi-select.js +1 -1
  31. package/package.json +4 -4
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __param } from 'tslib';
2
2
  import { InjectionToken, Inject, Input, HostBinding, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
3
  import { tuiDefaultProp, tuiRequiredSetter } from '@taiga-ui/cdk';
4
- import { sizeBigger } from '@taiga-ui/core';
4
+ import { sizeBigger, TuiSvgModule } from '@taiga-ui/core';
5
5
  import { stringHashToHsl } from '@taiga-ui/kit/utils/format';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import { TuiLazyLoadingModule } from '@taiga-ui/kit/directives';
@@ -31,8 +31,8 @@ let TuiAvatarComponent = class TuiAvatarComponent {
31
31
  this.isUrlValid = false;
32
32
  }
33
33
  set avatarUrlSetter(avatarUrl) {
34
- this.isUrlValid = !!avatarUrl;
35
34
  this.avatarUrl = avatarUrl;
35
+ this.isUrlValid = !!avatarUrl && !this.iconAvatar;
36
36
  }
37
37
  get bgColor() {
38
38
  return this.autoColor ? stringHashToHsl(this.text) : ``;
@@ -40,8 +40,12 @@ let TuiAvatarComponent = class TuiAvatarComponent {
40
40
  get hasAvatar() {
41
41
  return this.avatarUrl !== null && this.isUrlValid;
42
42
  }
43
+ get iconAvatar() {
44
+ var _a;
45
+ return !!((_a = this.avatarUrl) === null || _a === void 0 ? void 0 : _a.startsWith(`tuiIcon`));
46
+ }
43
47
  get computedText() {
44
- if (this.hasAvatar || this.text === ``) {
48
+ if (this.hasAvatar || this.iconAvatar || this.text === ``) {
45
49
  return ``;
46
50
  }
47
51
  const words = this.text.split(` `);
@@ -88,8 +92,8 @@ TuiAvatarComponent = __decorate([
88
92
  Component({
89
93
  selector: `tui-avatar`,
90
94
  changeDetection: ChangeDetectionStrategy.OnPush,
91
- template: "<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<span class=\"t-text\">{{ computedText }}</span>\n",
92
- styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background,currentColor);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size='s']{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size='m']{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size='l']{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-l)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-l)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color,var(--tui-text-01))}"]
95
+ template: "<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"iconAvatar\"\n class=\"t-icon\"\n [src]=\"avatarUrl || ''\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n",
96
+ styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background,currentColor);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size='s']{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size='m']{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size='l']{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-l)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-l)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color,var(--tui-text-01))}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-avatar-color,var(--tui-text-01))}:host[data-size=xs] .t-icon{transform:scale(.5)}:host[data-size='m'] .t-icon{transform:scale(1.6)}:host[data-size='l'] .t-icon{transform:scale(2)}:host[data-size=xl] .t-icon{transform:scale(3.2)}"]
93
97
  }),
94
98
  __param(0, Inject(TUI_AVATAR_OPTIONS))
95
99
  ], TuiAvatarComponent);
@@ -98,7 +102,7 @@ let TuiAvatarModule = class TuiAvatarModule {
98
102
  };
99
103
  TuiAvatarModule = __decorate([
100
104
  NgModule({
101
- imports: [CommonModule, TuiLazyLoadingModule],
105
+ imports: [CommonModule, TuiLazyLoadingModule, TuiSvgModule],
102
106
  declarations: [TuiAvatarComponent],
103
107
  exports: [TuiAvatarComponent],
104
108
  })
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-avatar.js","sources":["ng://@taiga-ui/kit/components/avatar/avatar-options.ts","ng://@taiga-ui/kit/components/avatar/avatar.component.ts","ng://@taiga-ui/kit/components/avatar/avatar.module.ts","ng://@taiga-ui/kit/components/avatar/taiga-ui-kit-components-avatar.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiSizeXS, TuiSizeXXL} from '@taiga-ui/core';\n\nexport interface TuiAvatarOptions {\n readonly size: TuiSizeXS | TuiSizeXXL;\n readonly autoColor: boolean;\n readonly rounded: boolean;\n}\n\n/** Default values for the avatar options. */\nexport const TUI_AVATAR_DEFAULT_OPTIONS: TuiAvatarOptions = {\n size: `m`,\n autoColor: false,\n rounded: false,\n};\n\nexport const TUI_AVATAR_OPTIONS = new InjectionToken<TuiAvatarOptions>(\n `Default parameters for avatar component`,\n {\n factory: () => TUI_AVATAR_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiAvatarOptionsProvider: (\n options: Partial<TuiAvatarOptions>,\n) => ValueProvider = (options: Partial<TuiAvatarOptions>) => ({\n provide: TUI_AVATAR_OPTIONS,\n useValue: {...TUI_AVATAR_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk';\nimport {sizeBigger} from '@taiga-ui/core';\nimport {stringHashToHsl} from '@taiga-ui/kit/utils/format';\n\nimport {TUI_AVATAR_OPTIONS, TuiAvatarOptions} from './avatar-options';\n\n@Component({\n selector: `tui-avatar`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: `./avatar.template.html`,\n styleUrls: [`./avatar.style.less`],\n})\nexport class TuiAvatarComponent {\n @Input()\n @HostBinding(`attr.data-size`)\n @tuiDefaultProp()\n size = this.options.size;\n\n @Input(`avatarUrl`)\n @tuiRequiredSetter()\n set avatarUrlSetter(avatarUrl: string | null) {\n this.isUrlValid = !!avatarUrl;\n this.avatarUrl = avatarUrl;\n }\n\n @Input()\n @tuiDefaultProp()\n text = ``;\n\n @Input()\n @tuiDefaultProp()\n autoColor: boolean = this.options.autoColor;\n\n @Input()\n @HostBinding(`class._rounded`)\n @tuiDefaultProp()\n rounded: boolean = this.options.rounded;\n\n avatarUrl: string | null = null;\n\n isUrlValid = false;\n\n constructor(@Inject(TUI_AVATAR_OPTIONS) private readonly options: TuiAvatarOptions) {}\n\n @HostBinding(`style.background`)\n get bgColor(): string {\n return this.autoColor ? stringHashToHsl(this.text) : ``;\n }\n\n @HostBinding(`class._has-avatar`)\n get hasAvatar(): boolean {\n return this.avatarUrl !== null && this.isUrlValid;\n }\n\n get computedText(): string {\n if (this.hasAvatar || this.text === ``) {\n return ``;\n }\n\n const words = this.text.split(` `);\n\n return words.length > 1 && sizeBigger(this.size)\n ? words[0].slice(0, 1) + words[1].slice(0, 1)\n : words[0].slice(0, 1);\n }\n\n onError(): void {\n this.isUrlValid = false;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLazyLoadingModule} from '@taiga-ui/kit/directives';\n\nimport {TuiAvatarComponent} from './avatar.component';\n\n@NgModule({\n imports: [CommonModule, 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-kit-components-avatar.js","sources":["ng://@taiga-ui/kit/components/avatar/avatar-options.ts","ng://@taiga-ui/kit/components/avatar/avatar.component.ts","ng://@taiga-ui/kit/components/avatar/avatar.module.ts","ng://@taiga-ui/kit/components/avatar/taiga-ui-kit-components-avatar.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiSizeXS, TuiSizeXXL} from '@taiga-ui/core';\n\nexport interface TuiAvatarOptions {\n readonly size: TuiSizeXS | TuiSizeXXL;\n readonly autoColor: boolean;\n readonly rounded: boolean;\n}\n\n/** Default values for the avatar options. */\nexport const TUI_AVATAR_DEFAULT_OPTIONS: TuiAvatarOptions = {\n size: `m`,\n autoColor: false,\n rounded: false,\n};\n\nexport const TUI_AVATAR_OPTIONS = new InjectionToken<TuiAvatarOptions>(\n `Default parameters for avatar component`,\n {\n factory: () => TUI_AVATAR_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiAvatarOptionsProvider: (\n options: Partial<TuiAvatarOptions>,\n) => ValueProvider = (options: Partial<TuiAvatarOptions>) => ({\n provide: TUI_AVATAR_OPTIONS,\n useValue: {...TUI_AVATAR_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk';\nimport {sizeBigger} from '@taiga-ui/core';\nimport {stringHashToHsl} from '@taiga-ui/kit/utils/format';\n\nimport {TUI_AVATAR_OPTIONS, TuiAvatarOptions} from './avatar-options';\n\n@Component({\n selector: `tui-avatar`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: `./avatar.template.html`,\n styleUrls: [`./avatar.style.less`],\n})\nexport class TuiAvatarComponent {\n @Input()\n @HostBinding(`attr.data-size`)\n @tuiDefaultProp()\n size = this.options.size;\n\n @Input(`avatarUrl`)\n @tuiRequiredSetter()\n set avatarUrlSetter(avatarUrl: string | null) {\n this.avatarUrl = avatarUrl;\n this.isUrlValid = !!avatarUrl && !this.iconAvatar;\n }\n\n @Input()\n @tuiDefaultProp()\n text = ``;\n\n @Input()\n @tuiDefaultProp()\n autoColor: boolean = this.options.autoColor;\n\n @Input()\n @HostBinding(`class._rounded`)\n @tuiDefaultProp()\n rounded: boolean = this.options.rounded;\n\n avatarUrl: string | null = null;\n\n isUrlValid = false;\n\n constructor(@Inject(TUI_AVATAR_OPTIONS) private readonly options: TuiAvatarOptions) {}\n\n @HostBinding(`style.background`)\n get bgColor(): string {\n return this.autoColor ? stringHashToHsl(this.text) : ``;\n }\n\n @HostBinding(`class._has-avatar`)\n get hasAvatar(): boolean {\n return this.avatarUrl !== null && this.isUrlValid;\n }\n\n get iconAvatar(): boolean {\n return !!this.avatarUrl?.startsWith(`tuiIcon`);\n }\n\n get computedText(): string {\n if (this.hasAvatar || this.iconAvatar || this.text === ``) {\n return ``;\n }\n\n const words = this.text.split(` `);\n\n return words.length > 1 && sizeBigger(this.size)\n ? words[0].slice(0, 1) + words[1].slice(0, 1)\n : words[0].slice(0, 1);\n }\n\n onError(): void {\n this.isUrlValid = false;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {TuiLazyLoadingModule} from '@taiga-ui/kit/directives';\n\nimport {TuiAvatarComponent} from './avatar.component';\n\n@NgModule({\n imports: [CommonModule, TuiLazyLoadingModule, TuiSvgModule],\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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"}
@@ -140,7 +140,7 @@ TuiCarouselComponent = __decorate([
140
140
  useExisting: ElementRef,
141
141
  },
142
142
  ],
143
- styles: [":host{position:relative;display:block;overflow:hidden}:host._draggable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._draggable:hover{cursor:-webkit-grab;cursor:grab}:host._draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.t-items{display:flex;align-items:center}:host._transitioned .t-items{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-item{padding:0 1.25rem;flex:1;min-width:100%;max-width:100%;box-sizing:border-box;border:none;margin:0}.t-wrapper{position:-webkit-sticky;position:sticky;left:0;right:0;min-width:100%;overflow:hidden}.t-scroller{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;overscroll-behavior-x:none;padding-bottom:2rem;margin-bottom:-2rem}.t-scroller::-webkit-scrollbar,.t-scroller::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}.t-scroller:after,.t-scroller:before{content:'';display:block;min-width:1rem}"]
143
+ styles: [":host{position:relative;display:block;overflow:hidden}:host._draggable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._draggable:hover{cursor:-webkit-grab;cursor:grab}:host._draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.t-items{display:flex}:host._transitioned .t-items{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-item{display:flex;flex-direction:column;justify-content:center;padding:0 1.25rem;flex:1;min-width:100%;max-width:100%;box-sizing:border-box;border:none;margin:0}.t-wrapper{position:-webkit-sticky;position:sticky;left:0;right:0;min-width:100%;overflow:hidden}.t-scroller{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;overscroll-behavior-x:none;padding-bottom:2rem;margin-bottom:-2rem}.t-scroller::-webkit-scrollbar,.t-scroller::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}.t-scroller:after,.t-scroller:before{content:'';display:block;min-width:1rem}"]
144
144
  }),
145
145
  __param(0, Inject(ChangeDetectorRef)),
146
146
  __param(1, Inject(ElementRef)),
@@ -249,7 +249,7 @@ TuiMultiSelectComponent = TuiMultiSelectComponent_1 = __decorate([
249
249
  FIXED_DROPDOWN_CONTROLLER_PROVIDER,
250
250
  TEXTFIELD_CONTROLLER_PROVIDER,
251
251
  ],
252
- styles: [":host{position:relative;display:block;border-radius:var(--tui-radius-m)}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-input{border-radius:inherit}:host:not(._editable):not(._readonly) .t-input{cursor:pointer}.t-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;pointer-events:none;justify-content:flex-end}.t-wrapper_disabled{opacity:var(--tui-disabled-opacity)}:host[data-size='s'] .t-wrapper{height:var(--tui-height-s)}:host[data-size='m'] .t-wrapper{height:var(--tui-height-m)}:host[data-size='l'] .t-wrapper{height:var(--tui-height-l)}.t-group{display:flex;flex:1;align-items:center;padding:1.6875rem 1rem .5625rem}.t-group_fullsize{padding-top:.0625rem;padding-bottom:0}:host[data-size='m'] .t-group_fullsize.t-group_fullsize{padding-top:0}:host[data-size='m'] .t-group{padding:1.1875rem .75rem 0;font-size:.8125rem}.t-arrow{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;transition-property:color,transform;width:1.5rem;height:auto;margin:0 .75rem;pointer-events:auto;cursor:pointer}.t-arrow:hover{color:var(--tui-text-02)}:host._disabled .t-arrow,:host._readonly .t-arrow{pointer-events:none}:host[data-mode=onDark] .t-arrow{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-arrow:hover{color:var(--tui-text-01-night)}"]
252
+ styles: [":host{position:relative;display:block;border-radius:var(--tui-radius-m)}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-input{border-radius:inherit}:host:not(._editable):not(._readonly) .t-input{cursor:pointer}.t-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;pointer-events:none;justify-content:flex-end}.t-wrapper_disabled{opacity:var(--tui-disabled-opacity)}:host[data-size='s'] .t-wrapper{height:var(--tui-height-s)}:host[data-size='m'] .t-wrapper{height:var(--tui-height-m)}:host[data-size='l'] .t-wrapper{height:var(--tui-height-l)}.t-group{display:flex;flex:1;align-items:center;padding:1.6875rem 0 .5625rem 1rem;overflow:hidden}.t-group_fullsize{padding-top:.0625rem;padding-bottom:0}:host[data-size='m'] .t-group_fullsize.t-group_fullsize{padding-top:0}:host[data-size='m'] .t-group{padding:1.1875rem 0 0 .75rem;font-size:.8125rem}.t-arrow{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;transition-property:color,transform;width:1.5rem;height:auto;margin:0 .75rem;pointer-events:auto;cursor:pointer}.t-arrow:hover{color:var(--tui-text-02)}:host._disabled .t-arrow,:host._readonly .t-arrow{pointer-events:none}:host[data-mode=onDark] .t-arrow{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-arrow:hover{color:var(--tui-text-01-night)}"]
253
253
  }),
254
254
  __param(0, Optional()),
255
255
  __param(0, Self()),
@@ -1,7 +1,7 @@
1
1
  import { __assign, __decorate, __param } from 'tslib';
2
2
  import { InjectionToken, Inject, Input, HostBinding, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
3
  import { tuiDefaultProp, tuiRequiredSetter } from '@taiga-ui/cdk';
4
- import { sizeBigger } from '@taiga-ui/core';
4
+ import { sizeBigger, TuiSvgModule } from '@taiga-ui/core';
5
5
  import { stringHashToHsl } from '@taiga-ui/kit/utils/format';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import { TuiLazyLoadingModule } from '@taiga-ui/kit/directives';
@@ -32,8 +32,8 @@ var TuiAvatarComponent = /** @class */ (function () {
32
32
  }
33
33
  Object.defineProperty(TuiAvatarComponent.prototype, "avatarUrlSetter", {
34
34
  set: function (avatarUrl) {
35
- this.isUrlValid = !!avatarUrl;
36
35
  this.avatarUrl = avatarUrl;
36
+ this.isUrlValid = !!avatarUrl && !this.iconAvatar;
37
37
  },
38
38
  enumerable: true,
39
39
  configurable: true
@@ -52,9 +52,17 @@ var TuiAvatarComponent = /** @class */ (function () {
52
52
  enumerable: true,
53
53
  configurable: true
54
54
  });
55
+ Object.defineProperty(TuiAvatarComponent.prototype, "iconAvatar", {
56
+ get: function () {
57
+ var _a;
58
+ return !!((_a = this.avatarUrl) === null || _a === void 0 ? void 0 : _a.startsWith("tuiIcon"));
59
+ },
60
+ enumerable: true,
61
+ configurable: true
62
+ });
55
63
  Object.defineProperty(TuiAvatarComponent.prototype, "computedText", {
56
64
  get: function () {
57
- if (this.hasAvatar || this.text === "") {
65
+ if (this.hasAvatar || this.iconAvatar || this.text === "") {
58
66
  return "";
59
67
  }
60
68
  var words = this.text.split(" ");
@@ -103,8 +111,8 @@ var TuiAvatarComponent = /** @class */ (function () {
103
111
  Component({
104
112
  selector: "tui-avatar",
105
113
  changeDetection: ChangeDetectionStrategy.OnPush,
106
- template: "<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<span class=\"t-text\">{{ computedText }}</span>\n",
107
- styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background,currentColor);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size='s']{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size='m']{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size='l']{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-l)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-l)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color,var(--tui-text-01))}"]
114
+ template: "<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"iconAvatar\"\n class=\"t-icon\"\n [src]=\"avatarUrl || ''\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n",
115
+ styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background,currentColor);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size='s']{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size='m']{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size='l']{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-l)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-l)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color,var(--tui-text-01))}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-avatar-color,var(--tui-text-01))}:host[data-size=xs] .t-icon{transform:scale(.5)}:host[data-size='m'] .t-icon{transform:scale(1.6)}:host[data-size='l'] .t-icon{transform:scale(2)}:host[data-size=xl] .t-icon{transform:scale(3.2)}"]
108
116
  }),
109
117
  __param(0, Inject(TUI_AVATAR_OPTIONS))
110
118
  ], TuiAvatarComponent);
@@ -116,7 +124,7 @@ var TuiAvatarModule = /** @class */ (function () {
116
124
  }
117
125
  TuiAvatarModule = __decorate([
118
126
  NgModule({
119
- imports: [CommonModule, TuiLazyLoadingModule],
127
+ imports: [CommonModule, TuiLazyLoadingModule, TuiSvgModule],
120
128
  declarations: [TuiAvatarComponent],
121
129
  exports: [TuiAvatarComponent],
122
130
  })
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-avatar.js","sources":["ng://@taiga-ui/kit/components/avatar/avatar-options.ts","ng://@taiga-ui/kit/components/avatar/avatar.component.ts","ng://@taiga-ui/kit/components/avatar/avatar.module.ts","ng://@taiga-ui/kit/components/avatar/taiga-ui-kit-components-avatar.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiSizeXS, TuiSizeXXL} from '@taiga-ui/core';\n\nexport interface TuiAvatarOptions {\n readonly size: TuiSizeXS | TuiSizeXXL;\n readonly autoColor: boolean;\n readonly rounded: boolean;\n}\n\n/** Default values for the avatar options. */\nexport const TUI_AVATAR_DEFAULT_OPTIONS: TuiAvatarOptions = {\n size: `m`,\n autoColor: false,\n rounded: false,\n};\n\nexport const TUI_AVATAR_OPTIONS = new InjectionToken<TuiAvatarOptions>(\n `Default parameters for avatar component`,\n {\n factory: () => TUI_AVATAR_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiAvatarOptionsProvider: (\n options: Partial<TuiAvatarOptions>,\n) => ValueProvider = (options: Partial<TuiAvatarOptions>) => ({\n provide: TUI_AVATAR_OPTIONS,\n useValue: {...TUI_AVATAR_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk';\nimport {sizeBigger} from '@taiga-ui/core';\nimport {stringHashToHsl} from '@taiga-ui/kit/utils/format';\n\nimport {TUI_AVATAR_OPTIONS, TuiAvatarOptions} from './avatar-options';\n\n@Component({\n selector: `tui-avatar`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: `./avatar.template.html`,\n styleUrls: [`./avatar.style.less`],\n})\nexport class TuiAvatarComponent {\n @Input()\n @HostBinding(`attr.data-size`)\n @tuiDefaultProp()\n size = this.options.size;\n\n @Input(`avatarUrl`)\n @tuiRequiredSetter()\n set avatarUrlSetter(avatarUrl: string | null) {\n this.isUrlValid = !!avatarUrl;\n this.avatarUrl = avatarUrl;\n }\n\n @Input()\n @tuiDefaultProp()\n text = ``;\n\n @Input()\n @tuiDefaultProp()\n autoColor: boolean = this.options.autoColor;\n\n @Input()\n @HostBinding(`class._rounded`)\n @tuiDefaultProp()\n rounded: boolean = this.options.rounded;\n\n avatarUrl: string | null = null;\n\n isUrlValid = false;\n\n constructor(@Inject(TUI_AVATAR_OPTIONS) private readonly options: TuiAvatarOptions) {}\n\n @HostBinding(`style.background`)\n get bgColor(): string {\n return this.autoColor ? stringHashToHsl(this.text) : ``;\n }\n\n @HostBinding(`class._has-avatar`)\n get hasAvatar(): boolean {\n return this.avatarUrl !== null && this.isUrlValid;\n }\n\n get computedText(): string {\n if (this.hasAvatar || this.text === ``) {\n return ``;\n }\n\n const words = this.text.split(` `);\n\n return words.length > 1 && sizeBigger(this.size)\n ? words[0].slice(0, 1) + words[1].slice(0, 1)\n : words[0].slice(0, 1);\n }\n\n onError(): void {\n this.isUrlValid = false;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLazyLoadingModule} from '@taiga-ui/kit/directives';\n\nimport {TuiAvatarComponent} from './avatar.component';\n\n@NgModule({\n imports: [CommonModule, 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-kit-components-avatar.js","sources":["ng://@taiga-ui/kit/components/avatar/avatar-options.ts","ng://@taiga-ui/kit/components/avatar/avatar.component.ts","ng://@taiga-ui/kit/components/avatar/avatar.module.ts","ng://@taiga-ui/kit/components/avatar/taiga-ui-kit-components-avatar.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiSizeXS, TuiSizeXXL} from '@taiga-ui/core';\n\nexport interface TuiAvatarOptions {\n readonly size: TuiSizeXS | TuiSizeXXL;\n readonly autoColor: boolean;\n readonly rounded: boolean;\n}\n\n/** Default values for the avatar options. */\nexport const TUI_AVATAR_DEFAULT_OPTIONS: TuiAvatarOptions = {\n size: `m`,\n autoColor: false,\n rounded: false,\n};\n\nexport const TUI_AVATAR_OPTIONS = new InjectionToken<TuiAvatarOptions>(\n `Default parameters for avatar component`,\n {\n factory: () => TUI_AVATAR_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiAvatarOptionsProvider: (\n options: Partial<TuiAvatarOptions>,\n) => ValueProvider = (options: Partial<TuiAvatarOptions>) => ({\n provide: TUI_AVATAR_OPTIONS,\n useValue: {...TUI_AVATAR_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk';\nimport {sizeBigger} from '@taiga-ui/core';\nimport {stringHashToHsl} from '@taiga-ui/kit/utils/format';\n\nimport {TUI_AVATAR_OPTIONS, TuiAvatarOptions} from './avatar-options';\n\n@Component({\n selector: `tui-avatar`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: `./avatar.template.html`,\n styleUrls: [`./avatar.style.less`],\n})\nexport class TuiAvatarComponent {\n @Input()\n @HostBinding(`attr.data-size`)\n @tuiDefaultProp()\n size = this.options.size;\n\n @Input(`avatarUrl`)\n @tuiRequiredSetter()\n set avatarUrlSetter(avatarUrl: string | null) {\n this.avatarUrl = avatarUrl;\n this.isUrlValid = !!avatarUrl && !this.iconAvatar;\n }\n\n @Input()\n @tuiDefaultProp()\n text = ``;\n\n @Input()\n @tuiDefaultProp()\n autoColor: boolean = this.options.autoColor;\n\n @Input()\n @HostBinding(`class._rounded`)\n @tuiDefaultProp()\n rounded: boolean = this.options.rounded;\n\n avatarUrl: string | null = null;\n\n isUrlValid = false;\n\n constructor(@Inject(TUI_AVATAR_OPTIONS) private readonly options: TuiAvatarOptions) {}\n\n @HostBinding(`style.background`)\n get bgColor(): string {\n return this.autoColor ? stringHashToHsl(this.text) : ``;\n }\n\n @HostBinding(`class._has-avatar`)\n get hasAvatar(): boolean {\n return this.avatarUrl !== null && this.isUrlValid;\n }\n\n get iconAvatar(): boolean {\n return !!this.avatarUrl?.startsWith(`tuiIcon`);\n }\n\n get computedText(): string {\n if (this.hasAvatar || this.iconAvatar || this.text === ``) {\n return ``;\n }\n\n const words = this.text.split(` `);\n\n return words.length > 1 && sizeBigger(this.size)\n ? words[0].slice(0, 1) + words[1].slice(0, 1)\n : words[0].slice(0, 1);\n }\n\n onError(): void {\n this.isUrlValid = false;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {TuiLazyLoadingModule} from '@taiga-ui/kit/directives';\n\nimport {TuiAvatarComponent} from './avatar.component';\n\n@NgModule({\n imports: [CommonModule, TuiLazyLoadingModule, TuiSvgModule],\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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"}
@@ -152,7 +152,7 @@ var TuiCarouselComponent = /** @class */ (function () {
152
152
  useExisting: ElementRef,
153
153
  },
154
154
  ],
155
- styles: [":host{position:relative;display:block;overflow:hidden}:host._draggable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._draggable:hover{cursor:-webkit-grab;cursor:grab}:host._draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.t-items{display:flex;align-items:center}:host._transitioned .t-items{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-item{padding:0 1.25rem;flex:1;min-width:100%;max-width:100%;box-sizing:border-box;border:none;margin:0}.t-wrapper{position:-webkit-sticky;position:sticky;left:0;right:0;min-width:100%;overflow:hidden}.t-scroller{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;overscroll-behavior-x:none;padding-bottom:2rem;margin-bottom:-2rem}.t-scroller::-webkit-scrollbar,.t-scroller::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}.t-scroller:after,.t-scroller:before{content:'';display:block;min-width:1rem}"]
155
+ styles: [":host{position:relative;display:block;overflow:hidden}:host._draggable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._draggable:hover{cursor:-webkit-grab;cursor:grab}:host._draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.t-items{display:flex}:host._transitioned .t-items{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-item{display:flex;flex-direction:column;justify-content:center;padding:0 1.25rem;flex:1;min-width:100%;max-width:100%;box-sizing:border-box;border:none;margin:0}.t-wrapper{position:-webkit-sticky;position:sticky;left:0;right:0;min-width:100%;overflow:hidden}.t-scroller{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;overscroll-behavior-x:none;padding-bottom:2rem;margin-bottom:-2rem}.t-scroller::-webkit-scrollbar,.t-scroller::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}.t-scroller:after,.t-scroller:before{content:'';display:block;min-width:1rem}"]
156
156
  }),
157
157
  __param(0, Inject(ChangeDetectorRef)),
158
158
  __param(1, Inject(ElementRef)),
@@ -306,7 +306,7 @@ var TuiMultiSelectComponent = /** @class */ (function (_super) {
306
306
  FIXED_DROPDOWN_CONTROLLER_PROVIDER,
307
307
  TEXTFIELD_CONTROLLER_PROVIDER,
308
308
  ],
309
- styles: [":host{position:relative;display:block;border-radius:var(--tui-radius-m)}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-input{border-radius:inherit}:host:not(._editable):not(._readonly) .t-input{cursor:pointer}.t-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;pointer-events:none;justify-content:flex-end}.t-wrapper_disabled{opacity:var(--tui-disabled-opacity)}:host[data-size='s'] .t-wrapper{height:var(--tui-height-s)}:host[data-size='m'] .t-wrapper{height:var(--tui-height-m)}:host[data-size='l'] .t-wrapper{height:var(--tui-height-l)}.t-group{display:flex;flex:1;align-items:center;padding:1.6875rem 1rem .5625rem}.t-group_fullsize{padding-top:.0625rem;padding-bottom:0}:host[data-size='m'] .t-group_fullsize.t-group_fullsize{padding-top:0}:host[data-size='m'] .t-group{padding:1.1875rem .75rem 0;font-size:.8125rem}.t-arrow{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;transition-property:color,transform;width:1.5rem;height:auto;margin:0 .75rem;pointer-events:auto;cursor:pointer}.t-arrow:hover{color:var(--tui-text-02)}:host._disabled .t-arrow,:host._readonly .t-arrow{pointer-events:none}:host[data-mode=onDark] .t-arrow{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-arrow:hover{color:var(--tui-text-01-night)}"]
309
+ styles: [":host{position:relative;display:block;border-radius:var(--tui-radius-m)}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-input{border-radius:inherit}:host:not(._editable):not(._readonly) .t-input{cursor:pointer}.t-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;pointer-events:none;justify-content:flex-end}.t-wrapper_disabled{opacity:var(--tui-disabled-opacity)}:host[data-size='s'] .t-wrapper{height:var(--tui-height-s)}:host[data-size='m'] .t-wrapper{height:var(--tui-height-m)}:host[data-size='l'] .t-wrapper{height:var(--tui-height-l)}.t-group{display:flex;flex:1;align-items:center;padding:1.6875rem 0 .5625rem 1rem;overflow:hidden}.t-group_fullsize{padding-top:.0625rem;padding-bottom:0}:host[data-size='m'] .t-group_fullsize.t-group_fullsize{padding-top:0}:host[data-size='m'] .t-group{padding:1.1875rem 0 0 .75rem;font-size:.8125rem}.t-arrow{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;transition-property:color,transform;width:1.5rem;height:auto;margin:0 .75rem;pointer-events:auto;cursor:pointer}.t-arrow:hover{color:var(--tui-text-02)}:host._disabled .t-arrow,:host._readonly .t-arrow{pointer-events:none}:host[data-mode=onDark] .t-arrow{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-arrow:hover{color:var(--tui-text-01-night)}"]
310
310
  }),
311
311
  __param(0, Optional()),
312
312
  __param(0, Self()),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/kit",
3
- "version": "2.63.0",
3
+ "version": "2.65.0",
4
4
  "description": "Taiga UI Angular main components kit",
5
5
  "keywords": [
6
6
  "angular",
@@ -24,9 +24,9 @@
24
24
  "@angular/router": ">=9.0.0",
25
25
  "@ng-web-apis/common": ">=1.12.1 < 2",
26
26
  "@ng-web-apis/mutation-observer": ">=1.1.0 < 2",
27
- "@taiga-ui/cdk": ">=2.63.0",
28
- "@taiga-ui/core": ">=2.63.0",
29
- "@taiga-ui/i18n": ">=2.63.0",
27
+ "@taiga-ui/cdk": ">=2.65.0",
28
+ "@taiga-ui/core": ">=2.65.0",
29
+ "@taiga-ui/i18n": ">=2.65.0",
30
30
  "@tinkoff/ng-polymorpheus": ">=3.1.12 < 4",
31
31
  "rxjs": ">=6.0.0"
32
32
  },