@taiga-ui/kit 4.3.0 → 4.4.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 (74) hide show
  1. package/components/calendar-range/calendar-range.component.d.ts +16 -6
  2. package/components/preview/preview.component.d.ts +1 -1
  3. package/directives/button-close/index.d.ts +0 -1
  4. package/directives/icon-badge/icon-badge.directive.d.ts +9 -0
  5. package/directives/icon-badge/index.d.ts +1 -0
  6. package/directives/index.d.ts +1 -0
  7. package/esm2022/components/calendar-range/calendar-range.component.mjs +37 -41
  8. package/esm2022/components/carousel/carousel.component.mjs +3 -3
  9. package/esm2022/components/checkbox/checkbox.component.mjs +2 -2
  10. package/esm2022/components/files/input-files/input-files.directive.mjs +6 -3
  11. package/esm2022/components/items-with-more/items-with-more.service.mjs +3 -3
  12. package/esm2022/components/pagination/pagination.component.mjs +2 -2
  13. package/esm2022/components/preview/preview.component.mjs +4 -6
  14. package/esm2022/components/push/push-alert.component.mjs +3 -3
  15. package/esm2022/components/radio/radio.component.mjs +2 -2
  16. package/esm2022/components/range/range-change.directive.mjs +5 -5
  17. package/esm2022/components/range/range.component.mjs +3 -3
  18. package/esm2022/components/slider/helpers/key-steps.mjs +3 -2
  19. package/esm2022/components/slider/helpers/slider-key-steps.directive.mjs +2 -2
  20. package/esm2022/components/switch/switch.component.mjs +3 -3
  21. package/esm2022/components/tabs/tabs-with-more.component.mjs +7 -6
  22. package/esm2022/components/tiles/tiles.component.mjs +3 -3
  23. package/esm2022/directives/button-close/button-close.directive.mjs +5 -6
  24. package/esm2022/directives/button-close/index.mjs +1 -2
  25. package/esm2022/directives/icon-badge/icon-badge.directive.mjs +41 -0
  26. package/esm2022/directives/icon-badge/index.mjs +2 -0
  27. package/esm2022/directives/icon-badge/taiga-ui-kit-directives-icon-badge.mjs +5 -0
  28. package/esm2022/directives/index.mjs +2 -1
  29. package/esm2022/directives/lazy-loading/lazy-loading.service.mjs +2 -2
  30. package/esm2022/directives/sensitive/sensitive.directive.mjs +5 -5
  31. package/esm2022/directives/skeleton/skeleton.directive.mjs +2 -2
  32. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +36 -40
  33. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-kit-components-carousel.mjs +2 -2
  35. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
  36. package/fesm2022/taiga-ui-kit-components-checkbox.mjs +1 -1
  37. package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-kit-components-files.mjs +5 -2
  39. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +2 -2
  41. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-kit-components-pagination.mjs +1 -1
  43. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-kit-components-preview.mjs +3 -5
  45. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-kit-components-push.mjs +2 -2
  47. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-kit-components-radio.mjs +1 -1
  49. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-kit-components-range.mjs +6 -6
  51. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-kit-components-slider.mjs +3 -2
  53. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-kit-components-switch.mjs +2 -2
  55. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-kit-components-tabs.mjs +6 -5
  57. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-kit-components-tiles.mjs +2 -2
  59. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-kit-directives-button-close.mjs +5 -8
  61. package/fesm2022/taiga-ui-kit-directives-button-close.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-kit-directives-icon-badge.mjs +47 -0
  63. package/fesm2022/taiga-ui-kit-directives-icon-badge.mjs.map +1 -0
  64. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs +1 -1
  65. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +4 -4
  67. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +1 -1
  69. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-kit-directives.mjs +1 -0
  71. package/fesm2022/taiga-ui-kit-directives.mjs.map +1 -1
  72. package/package.json +10 -4
  73. package/directives/button-close/button-close.options.d.ts +0 -1
  74. package/esm2022/directives/button-close/button-close.options.mjs +0 -3
@@ -1,10 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive } from '@angular/core';
2
+ import { inject, Directive } from '@angular/core';
3
3
  import { tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
4
- import { TUI_ICON_START } from '@taiga-ui/core/tokens';
5
- import { tuiCreateToken } from '@taiga-ui/cdk/utils/miscellaneous';
6
-
7
- const TUI_BUTTON_CLOSE_ICON = tuiCreateToken('@tui.x');
4
+ import { TUI_ICON_START, TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
8
5
 
9
6
  class TuiButtonClose {
10
7
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiButtonClose, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
@@ -12,7 +9,7 @@ class TuiButtonClose {
12
9
  tuiButtonOptionsProvider({ appearance: 'neutral', size: 's' }),
13
10
  {
14
11
  provide: TUI_ICON_START,
15
- useExisting: TUI_BUTTON_CLOSE_ICON,
12
+ useFactory: () => inject(TUI_COMMON_ICONS).close,
16
13
  },
17
14
  ], ngImport: i0 }); }
18
15
  }
@@ -25,7 +22,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
25
22
  tuiButtonOptionsProvider({ appearance: 'neutral', size: 's' }),
26
23
  {
27
24
  provide: TUI_ICON_START,
28
- useExisting: TUI_BUTTON_CLOSE_ICON,
25
+ useFactory: () => inject(TUI_COMMON_ICONS).close,
29
26
  },
30
27
  ],
31
28
  host: {
@@ -39,5 +36,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
39
36
  * Generated bundle index. Do not edit.
40
37
  */
41
38
 
42
- export { TUI_BUTTON_CLOSE_ICON, TuiButtonClose };
39
+ export { TuiButtonClose };
43
40
  //# sourceMappingURL=taiga-ui-kit-directives-button-close.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-button-close.mjs","sources":["../../../projects/kit/directives/button-close/button-close.options.ts","../../../projects/kit/directives/button-close/button-close.directive.ts","../../../projects/kit/directives/button-close/taiga-ui-kit-directives-button-close.ts"],"sourcesContent":["import {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_BUTTON_CLOSE_ICON = tuiCreateToken('@tui.x');\n","import {Directive} from '@angular/core';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {TUI_ICON_START} from '@taiga-ui/core/tokens';\n\nimport {TUI_BUTTON_CLOSE_ICON} from './button-close.options';\n\n@Directive({\n standalone: true,\n selector: '[tuiIconButton][tuiButtonClose]',\n providers: [\n tuiButtonOptionsProvider({appearance: 'neutral', size: 's'}),\n {\n provide: TUI_ICON_START,\n useExisting: TUI_BUTTON_CLOSE_ICON,\n },\n ],\n host: {\n '[style.--t-radius.%]': '100',\n '[style.--tui-height-s.rem]': '1.875',\n },\n})\nexport class TuiButtonClose {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAEa,qBAAqB,GAAG,cAAc,CAAC,QAAQ;;ACI5D,MAea,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,EAZZ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,0BAAA,EAAA,OAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACP,wBAAwB,CAAC,EAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC;AAC5D,YAAA;AACI,gBAAA,OAAO,EAAE,cAAc;AACvB,gBAAA,WAAW,EAAE,qBAAqB;AACrC,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAMQ,cAAc,EAAA,UAAA,EAAA,CAAA;kBAf1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iCAAiC;AAC3C,oBAAA,SAAS,EAAE;wBACP,wBAAwB,CAAC,EAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC;AAC5D,wBAAA;AACI,4BAAA,OAAO,EAAE,cAAc;AACvB,4BAAA,WAAW,EAAE,qBAAqB;AACrC,yBAAA;AACJ,qBAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,sBAAsB,EAAE,KAAK;AAC7B,wBAAA,4BAA4B,EAAE,OAAO;AACxC,qBAAA;AACJ,iBAAA,CAAA;;;ACpBD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-button-close.mjs","sources":["../../../projects/kit/directives/button-close/button-close.directive.ts","../../../projects/kit/directives/button-close/taiga-ui-kit-directives-button-close.ts"],"sourcesContent":["import {Directive, inject} from '@angular/core';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {TUI_COMMON_ICONS, TUI_ICON_START} from '@taiga-ui/core/tokens';\n\n@Directive({\n standalone: true,\n selector: '[tuiIconButton][tuiButtonClose]',\n providers: [\n tuiButtonOptionsProvider({appearance: 'neutral', size: 's'}),\n {\n provide: TUI_ICON_START,\n useFactory: () => inject(TUI_COMMON_ICONS).close,\n },\n ],\n host: {\n '[style.--t-radius.%]': '100',\n '[style.--tui-height-s.rem]': '1.875',\n },\n})\nexport class TuiButtonClose {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIA,MAea,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,EAZZ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,0BAAA,EAAA,OAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACP,wBAAwB,CAAC,EAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC;AAC5D,YAAA;AACI,gBAAA,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,KAAK;AACnD,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAMQ,cAAc,EAAA,UAAA,EAAA,CAAA;kBAf1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iCAAiC;AAC3C,oBAAA,SAAS,EAAE;wBACP,wBAAwB,CAAC,EAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC;AAC5D,wBAAA;AACI,4BAAA,OAAO,EAAE,cAAc;4BACvB,UAAU,EAAE,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,KAAK;AACnD,yBAAA;AACJ,qBAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,sBAAsB,EAAE,KAAK;AAC7B,wBAAA,4BAA4B,EAAE,OAAO;AACxC,qBAAA;AACJ,iBAAA,CAAA;;;AClBD;;AAEG;;;;"}
@@ -0,0 +1,47 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, signal, Directive, Input } from '@angular/core';
3
+ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
+ import { TuiIcon } from '@taiga-ui/core/components/icon';
5
+
6
+ class TuiIconBadgeStyles {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIconBadgeStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiIconBadgeStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-icon-badge" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiIconBadge]:before{content:\"\";position:absolute;right:.143em;bottom:.143em;display:var(--t-icon-badge, none);width:.57em;height:.57em;transform:translate(50%,50%);-webkit-mask:var(--t-icon-badge) no-repeat center / contain;mask:var(--t-icon-badge) no-repeat center / contain;background:currentColor}[tuiIconBadge][style*=\"--t-icon-badge:\"]:after{-webkit-mask-image:var(--t-icon),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),black .4em);mask-image:var(--t-icon),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),black .4em)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIconBadgeStyles, decorators: [{
11
+ type: Component,
12
+ args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
13
+ class: 'tui-icon-badge',
14
+ }, styles: ["[tuiIconBadge]:before{content:\"\";position:absolute;right:.143em;bottom:.143em;display:var(--t-icon-badge, none);width:.57em;height:.57em;transform:translate(50%,50%);-webkit-mask:var(--t-icon-badge) no-repeat center / contain;mask:var(--t-icon-badge) no-repeat center / contain;background:currentColor}[tuiIconBadge][style*=\"--t-icon-badge:\"]:after{-webkit-mask-image:var(--t-icon),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),black .4em);mask-image:var(--t-icon),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),black .4em)}\n"] }]
15
+ }] });
16
+ class TuiIconBadge {
17
+ constructor() {
18
+ this.icon = inject(TuiIcon);
19
+ this.nothing = tuiWithStyles(TuiIconBadgeStyles);
20
+ this.badgeSrc = signal(null);
21
+ }
22
+ set badge(icon) {
23
+ this.badgeSrc.set(this.icon.resolve(icon));
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIconBadge, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiIconBadge, isStandalone: true, selector: "tui-icon[badge]", inputs: { badge: "badge" }, host: { attributes: { "tuiIconBadge": "" }, properties: { "style.--t-icon-badge": "badgeSrc()" } }, ngImport: i0 }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIconBadge, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ standalone: true,
32
+ selector: 'tui-icon[badge]',
33
+ host: {
34
+ tuiIconBadge: '',
35
+ '[style.--t-icon-badge]': 'badgeSrc()',
36
+ },
37
+ }]
38
+ }], propDecorators: { badge: [{
39
+ type: Input
40
+ }] } });
41
+
42
+ /**
43
+ * Generated bundle index. Do not edit.
44
+ */
45
+
46
+ export { TuiIconBadge };
47
+ //# sourceMappingURL=taiga-ui-kit-directives-icon-badge.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-kit-directives-icon-badge.mjs","sources":["../../../projects/kit/directives/icon-badge/icon-badge.directive.ts","../../../projects/kit/directives/icon-badge/taiga-ui-kit-directives-icon-badge.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./icon-badge.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-icon-badge',\n },\n})\nclass TuiIconBadgeStyles {}\n\n@Directive({\n standalone: true,\n selector: 'tui-icon[badge]',\n host: {\n tuiIconBadge: '',\n '[style.--t-icon-badge]': 'badgeSrc()',\n },\n})\nexport class TuiIconBadge {\n private readonly icon = inject(TuiIcon);\n\n protected readonly nothing = tuiWithStyles(TuiIconBadgeStyles);\n protected readonly badgeSrc = signal<string | null>(null);\n\n @Input()\n public set badge(icon: string) {\n this.badgeSrc.set(this.icon.resolve(icon));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAYA,MAUM,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,oHARV,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,qlBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQV,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAVvB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,gBAAgB;AAC1B,qBAAA,EAAA,MAAA,EAAA,CAAA,qlBAAA,CAAA,EAAA,CAAA;;AAIL,MAQa,YAAY,CAAA;AARzB,IAAA,WAAA,GAAA;AASqB,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAErB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;AAC5C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;AAM7D,KAAA;IAJG,IACW,KAAK,CAAC,IAAY,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KAC9C;+GATQ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBARxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,IAAI,EAAE;AACF,wBAAA,YAAY,EAAE,EAAE;AAChB,wBAAA,wBAAwB,EAAE,YAAY;AACzC,qBAAA;AACJ,iBAAA,CAAA;8BAQc,KAAK,EAAA,CAAA;sBADf,KAAK;;;ACtCV;;AAEG;;;;"}
@@ -11,7 +11,7 @@ class TuiLazyLoadingService extends Observable {
11
11
  super((subscriber) => this.stream$.subscribe(subscriber));
12
12
  this.src$ = new Subject();
13
13
  this.intersections$ = inject(IntersectionObserverService);
14
- this.stream$ = this.src$.pipe(switchMap((src) => this.intersections$.pipe(filter(([{ isIntersecting }]) => isIntersecting), map(() => src), take(1))), tuiWatch(inject(ChangeDetectorRef)));
14
+ this.stream$ = this.src$.pipe(switchMap((src) => this.intersections$.pipe(filter((entry) => !!entry[0]?.isIntersecting), map(() => src), take(1))), tuiWatch(inject(ChangeDetectorRef)));
15
15
  }
16
16
  next(src) {
17
17
  this.src$.next(src);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-lazy-loading.mjs","sources":["../../../projects/kit/directives/lazy-loading/lazy-loading.service.ts","../../../projects/kit/directives/lazy-loading/lazy-loading.directive.ts","../../../projects/kit/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.ts"],"sourcesContent":["import {ChangeDetectorRef, inject, Injectable} from '@angular/core';\nimport type {SafeResourceUrl} from '@angular/platform-browser';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {filter, map, Observable, Subject, switchMap, take} from 'rxjs';\n\n@Injectable()\nexport class TuiLazyLoadingService extends Observable<SafeResourceUrl | string> {\n private readonly src$ = new Subject<SafeResourceUrl | string>();\n private readonly intersections$ = inject(IntersectionObserverService);\n private readonly stream$ = this.src$.pipe(\n switchMap((src) =>\n this.intersections$.pipe(\n filter(([{isIntersecting}]) => isIntersecting),\n map(() => src),\n take(1),\n ),\n ),\n tuiWatch(inject(ChangeDetectorRef)),\n );\n\n constructor() {\n super((subscriber) => this.stream$.subscribe(subscriber));\n }\n\n public next(src: SafeResourceUrl | string): void {\n this.src$.next(src);\n }\n}\n","import {Directive, inject, Input} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport type {SafeResourceUrl} from '@angular/platform-browser';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {TuiLazyLoadingService} from './lazy-loading.service';\n\n@Directive({\n standalone: true,\n selector: 'img[loading=\"lazy\"]',\n providers: [TuiLazyLoadingService, IntersectionObserverService],\n host: {\n '[style.animation]': 'animation',\n '[style.background]': 'background',\n '[attr.src]': 'src',\n '(load)': 'onLoad()',\n },\n})\nexport class TuiImgLazyLoading {\n private readonly el = tuiInjectElement<HTMLImageElement>();\n private readonly src$ = inject(TuiLazyLoadingService);\n protected animation = 'tuiSkeletonVibe ease-in-out 1s infinite alternate';\n protected background = 'var(--tui-background-neutral-2)';\n protected src: SafeResourceUrl | string | null = null;\n\n constructor() {\n if (this.supported) {\n return;\n }\n\n this.src$.pipe(takeUntilDestroyed()).subscribe((src) => {\n this.src = src;\n });\n }\n\n @Input('src')\n public set srcSetter(src: SafeResourceUrl | string) {\n this.src = this.supported ? src : null;\n this.src$.next(src);\n }\n\n protected onLoad(): void {\n this.background = '';\n this.animation = '';\n }\n\n private get supported(): boolean {\n return 'loading' in this.el;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-lazy-loading.mjs","sources":["../../../projects/kit/directives/lazy-loading/lazy-loading.service.ts","../../../projects/kit/directives/lazy-loading/lazy-loading.directive.ts","../../../projects/kit/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.ts"],"sourcesContent":["import {ChangeDetectorRef, inject, Injectable} from '@angular/core';\nimport type {SafeResourceUrl} from '@angular/platform-browser';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {filter, map, Observable, Subject, switchMap, take} from 'rxjs';\n\n@Injectable()\nexport class TuiLazyLoadingService extends Observable<SafeResourceUrl | string> {\n private readonly src$ = new Subject<SafeResourceUrl | string>();\n private readonly intersections$ = inject(IntersectionObserverService);\n private readonly stream$ = this.src$.pipe(\n switchMap((src) =>\n this.intersections$.pipe(\n filter((entry) => !!entry[0]?.isIntersecting),\n map(() => src),\n take(1),\n ),\n ),\n tuiWatch(inject(ChangeDetectorRef)),\n );\n\n constructor() {\n super((subscriber) => this.stream$.subscribe(subscriber));\n }\n\n public next(src: SafeResourceUrl | string): void {\n this.src$.next(src);\n }\n}\n","import {Directive, inject, Input} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport type {SafeResourceUrl} from '@angular/platform-browser';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {TuiLazyLoadingService} from './lazy-loading.service';\n\n@Directive({\n standalone: true,\n selector: 'img[loading=\"lazy\"]',\n providers: [TuiLazyLoadingService, IntersectionObserverService],\n host: {\n '[style.animation]': 'animation',\n '[style.background]': 'background',\n '[attr.src]': 'src',\n '(load)': 'onLoad()',\n },\n})\nexport class TuiImgLazyLoading {\n private readonly el = tuiInjectElement<HTMLImageElement>();\n private readonly src$ = inject(TuiLazyLoadingService);\n protected animation = 'tuiSkeletonVibe ease-in-out 1s infinite alternate';\n protected background = 'var(--tui-background-neutral-2)';\n protected src: SafeResourceUrl | string | null = null;\n\n constructor() {\n if (this.supported) {\n return;\n }\n\n this.src$.pipe(takeUntilDestroyed()).subscribe((src) => {\n this.src = src;\n });\n }\n\n @Input('src')\n public set srcSetter(src: SafeResourceUrl | string) {\n this.src = this.supported ? src : null;\n this.src$.next(src);\n }\n\n protected onLoad(): void {\n this.background = '';\n this.animation = '';\n }\n\n private get supported(): boolean {\n return 'loading' in this.el;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -21,10 +21,10 @@ class TuiSensitive {
21
21
  constructor() {
22
22
  this.nothing = tuiWithStyles(TuiSensitiveStyles);
23
23
  this.offset = Math.round(Math.random() * 10) * 10;
24
- this.height = toSignal(inject(ResizeObserverService, { self: true }).pipe(map(([{ contentRect }]) => [
25
- Math.max(2, Math.floor(contentRect.height / 16) + 1),
26
- contentRect.height,
27
- ]), map(([rows, height]) => height * (rowsInSvg / rows)), tuiZonefull(inject(NgZone)), tuiWatch(inject(ChangeDetectorRef))));
24
+ this.height = toSignal(inject(ResizeObserverService, { self: true }).pipe(map((entry) => {
25
+ const height = entry[0]?.contentRect.height ?? 0;
26
+ return [Math.max(2, Math.floor(height / 16) + 1), height];
27
+ }), map(([rows, height]) => height * (rowsInSvg / rows)), tuiZonefull(inject(NgZone)), tuiWatch(inject(ChangeDetectorRef))));
28
28
  this.tuiSensitive = false;
29
29
  }
30
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSensitive, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-sensitive.mjs","sources":["../../../projects/kit/directives/sensitive/sensitive.directive.ts","../../../projects/kit/directives/sensitive/taiga-ui-kit-directives-sensitive.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n inject,\n Input,\n NgZone,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiWatch, tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {map} from 'rxjs';\n\nconst rowsInSvg = 3;\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./sensitive.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-sensitive-styles',\n },\n})\nclass TuiSensitiveStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiSensitive]',\n providers: [ResizeObserverService],\n host: {\n '[style.--t-offset.px]': 'offset',\n '[style.--t-mask-height.px]': 'height()',\n '[class.tui-sensitive]': 'tuiSensitive',\n },\n})\nexport class TuiSensitive {\n protected readonly nothing = tuiWithStyles(TuiSensitiveStyles);\n protected readonly offset = Math.round(Math.random() * 10) * 10;\n\n protected readonly height = toSignal(\n inject(ResizeObserverService, {self: true}).pipe(\n map(([{contentRect}]) => [\n Math.max(2, Math.floor(contentRect.height / 16) + 1),\n contentRect.height,\n ]),\n map(([rows, height]) => height * (rowsInSvg / rows)),\n tuiZonefull(inject(NgZone)),\n tuiWatch(inject(ChangeDetectorRef)),\n ),\n );\n\n @Input()\n public tuiSensitive: boolean | null = false;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-sensitive.mjs","sources":["../../../projects/kit/directives/sensitive/sensitive.directive.ts","../../../projects/kit/directives/sensitive/taiga-ui-kit-directives-sensitive.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n inject,\n Input,\n NgZone,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiWatch, tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {map} from 'rxjs';\n\nconst rowsInSvg = 3;\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./sensitive.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-sensitive-styles',\n },\n})\nclass TuiSensitiveStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiSensitive]',\n providers: [ResizeObserverService],\n host: {\n '[style.--t-offset.px]': 'offset',\n '[style.--t-mask-height.px]': 'height()',\n '[class.tui-sensitive]': 'tuiSensitive',\n },\n})\nexport class TuiSensitive {\n protected readonly nothing = tuiWithStyles(TuiSensitiveStyles);\n protected readonly offset = Math.round(Math.random() * 10) * 10;\n\n protected readonly height = toSignal(\n inject(ResizeObserverService, {self: true}).pipe(\n map((entry): [number, number] => {\n const height = entry[0]?.contentRect.height ?? 0;\n\n return [Math.max(2, Math.floor(height / 16) + 1), height];\n }),\n map(([rows, height]) => height * (rowsInSvg / rows)),\n tuiZonefull(inject(NgZone)),\n tuiWatch(inject(ChangeDetectorRef)),\n ),\n );\n\n @Input()\n public tuiSensitive: boolean | null = false;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAgBA,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,MAUM,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,0HARV,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,msNAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQV,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAVvB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,sBAAsB;AAChC,qBAAA,EAAA,MAAA,EAAA,CAAA,msNAAA,CAAA,EAAA,CAAA;;AAIL,MAUa,YAAY,CAAA;AAVzB,IAAA,WAAA,GAAA;AAWuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;AAC5C,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QAE7C,IAAM,CAAA,MAAA,GAAG,QAAQ,CAChC,MAAM,CAAC,qBAAqB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,IAAI,CAC5C,GAAG,CAAC,CAAC,KAAK,KAAsB;AAC5B,YAAA,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC;YAEjD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAC9D,SAAC,CAAC,EACF,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,IAAI,SAAS,GAAG,IAAI,CAAC,CAAC,EACpD,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAC3B,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CACtC,CACJ,CAAC;QAGK,IAAY,CAAA,YAAA,GAAmB,KAAK,CAAC;AAC/C,KAAA;+GAnBY,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,EAAA,EAAA,SAAA,EAPV,CAAC,qBAAqB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAOzB,YAAY,EAAA,UAAA,EAAA,CAAA;kBAVxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,SAAS,EAAE,CAAC,qBAAqB,CAAC;AAClC,oBAAA,IAAI,EAAE;AACF,wBAAA,uBAAuB,EAAE,QAAQ;AACjC,wBAAA,4BAA4B,EAAE,UAAU;AACxC,wBAAA,uBAAuB,EAAE,cAAc;AAC1C,qBAAA;AACJ,iBAAA,CAAA;8BAmBU,YAAY,EAAA,CAAA;sBADlB,KAAK;;;ACzDV;;AAEG;;;;"}
@@ -27,7 +27,7 @@ class TuiSkeleton {
27
27
  }
28
28
  ngOnChanges({ tuiSkeleton }) {
29
29
  this.animation?.cancel();
30
- if (!tuiSkeleton.currentValue && !tuiSkeleton.firstChange) {
30
+ if (!tuiSkeleton?.currentValue && !tuiSkeleton?.firstChange) {
31
31
  this.animation = this.el.animate(FADE, this.duration);
32
32
  }
33
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-skeleton.mjs","sources":["../../../projects/kit/directives/skeleton/skeleton.directive.ts","../../../projects/kit/directives/skeleton/taiga-ui-kit-directives-skeleton.ts"],"sourcesContent":["import type {OnChanges, SimpleChanges} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiPure, tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_ANIMATIONS_SPEED} from '@taiga-ui/core/tokens';\nimport {TUI_ANIMATIONS_DEFAULT_DURATION} from '@taiga-ui/core/utils/miscellaneous';\n\nconst FADE = [{opacity: 0.06}, {opacity: 1}];\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./skeleton.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-skeleton-styles',\n },\n})\nclass TuiSkeletonStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiSkeleton]',\n host: {\n tuiSkeleton: '',\n '[class._skeleton]': 'tuiSkeleton',\n '[attr.data-tui-skeleton]': 'getPlaceholder(tuiSkeleton)',\n },\n})\nexport class TuiSkeleton implements OnChanges {\n private animation?: Animation;\n private readonly el = tuiInjectElement();\n private readonly duration =\n inject(TUI_ANIMATIONS_SPEED) * TUI_ANIMATIONS_DEFAULT_DURATION * 2;\n\n protected readonly nothing = tuiWithStyles(TuiSkeletonStyles);\n\n @Input()\n public tuiSkeleton: boolean | number | string = false;\n\n public ngOnChanges({tuiSkeleton}: SimpleChanges): void {\n this.animation?.cancel();\n\n if (!tuiSkeleton.currentValue && !tuiSkeleton.firstChange) {\n this.animation = this.el.animate(FADE, this.duration);\n }\n }\n\n @tuiPure\n protected getPlaceholder(value: boolean | number | string): string | null {\n switch (typeof value) {\n case 'number':\n return Array.from({length: value})\n .map(() => CHAR_NO_BREAK_SPACE.repeat(getLength()))\n .join(' ');\n case 'string':\n return value;\n default:\n return null;\n }\n }\n}\n\nfunction getLength(): number {\n return Math.floor(Math.random() * (15 - 5 + 1)) + 5;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAeA,MAAM,IAAI,GAAG,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,EAAE,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;AAE7C,MAUM,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,yHART,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,0qBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQV,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAVtB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,qBAAqB;AAC/B,qBAAA,EAAA,MAAA,EAAA,CAAA,0qBAAA,CAAA,EAAA,CAAA;;AAIL,MASa,WAAW,CAAA;AATxB,IAAA,WAAA,GAAA;QAWqB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;QACxB,IAAQ,CAAA,QAAA,GACrB,MAAM,CAAC,oBAAoB,CAAC,GAAG,+BAA+B,GAAG,CAAC,CAAC;AAEpD,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAGvD,IAAW,CAAA,WAAA,GAA8B,KAAK,CAAC;AAuBzD,KAAA;IArBU,WAAW,CAAC,EAAC,WAAW,EAAgB,EAAA;AAC3C,QAAA,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAEzB,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;AACvD,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzD,SAAA;KACJ;AAGS,IAAA,cAAc,CAAC,KAAgC,EAAA;QACrD,QAAQ,OAAO,KAAK;AAChB,YAAA,KAAK,QAAQ;gBACT,OAAO,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC;qBAC7B,GAAG,CAAC,MAAM,mBAAmB,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;qBAClD,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,YAAA,KAAK,QAAQ;AACT,gBAAA,OAAO,KAAK,CAAC;AACjB,YAAA;AACI,gBAAA,OAAO,IAAI,CAAC;AACnB,SAAA;KACJ;+GA/BQ,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;AAoBV,UAAA,CAAA;IADT,OAAO;AAYP,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,IAAA,CAAA,CAAA;4FA/BQ,WAAW,EAAA,UAAA,EAAA,CAAA;kBATvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,IAAI,EAAE;AACF,wBAAA,WAAW,EAAE,EAAE;AACf,wBAAA,mBAAmB,EAAE,aAAa;AAClC,wBAAA,0BAA0B,EAAE,6BAA6B;AAC5D,qBAAA;AACJ,iBAAA,CAAA;8BAUU,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAYI,cAAc,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAc5B,SAAS,SAAS,GAAA;AACd,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACxD;;AC1EA;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-skeleton.mjs","sources":["../../../projects/kit/directives/skeleton/skeleton.directive.ts","../../../projects/kit/directives/skeleton/taiga-ui-kit-directives-skeleton.ts"],"sourcesContent":["import type {OnChanges, SimpleChanges} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiPure, tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_ANIMATIONS_SPEED} from '@taiga-ui/core/tokens';\nimport {TUI_ANIMATIONS_DEFAULT_DURATION} from '@taiga-ui/core/utils/miscellaneous';\n\nconst FADE = [{opacity: 0.06}, {opacity: 1}];\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./skeleton.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-skeleton-styles',\n },\n})\nclass TuiSkeletonStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiSkeleton]',\n host: {\n tuiSkeleton: '',\n '[class._skeleton]': 'tuiSkeleton',\n '[attr.data-tui-skeleton]': 'getPlaceholder(tuiSkeleton)',\n },\n})\nexport class TuiSkeleton implements OnChanges {\n private animation?: Animation;\n private readonly el = tuiInjectElement();\n private readonly duration =\n inject(TUI_ANIMATIONS_SPEED) * TUI_ANIMATIONS_DEFAULT_DURATION * 2;\n\n protected readonly nothing = tuiWithStyles(TuiSkeletonStyles);\n\n @Input()\n public tuiSkeleton: boolean | number | string = false;\n\n public ngOnChanges({tuiSkeleton}: SimpleChanges): void {\n this.animation?.cancel();\n\n if (!tuiSkeleton?.currentValue && !tuiSkeleton?.firstChange) {\n this.animation = this.el.animate(FADE, this.duration);\n }\n }\n\n @tuiPure\n protected getPlaceholder(value: boolean | number | string): string | null {\n switch (typeof value) {\n case 'number':\n return Array.from({length: value})\n .map(() => CHAR_NO_BREAK_SPACE.repeat(getLength()))\n .join(' ');\n case 'string':\n return value;\n default:\n return null;\n }\n }\n}\n\nfunction getLength(): number {\n return Math.floor(Math.random() * (15 - 5 + 1)) + 5;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export * from '@taiga-ui/kit/directives/data-list-dropdown-manager';
7
7
  export * from '@taiga-ui/kit/directives/fade';
8
8
  export * from '@taiga-ui/kit/directives/fluid-typography';
9
9
  export * from '@taiga-ui/kit/directives/highlight';
10
+ export * from '@taiga-ui/kit/directives/icon-badge';
10
11
  export * from '@taiga-ui/kit/directives/lazy-loading';
11
12
  export * from '@taiga-ui/kit/directives/present';
12
13
  export * from '@taiga-ui/kit/directives/sensitive';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives.mjs","sources":["../../../projects/kit/directives/taiga-ui-kit-directives.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-kit-directives.mjs","sources":["../../../projects/kit/directives/taiga-ui-kit-directives.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AAEG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/kit",
3
- "version": "4.3.0",
3
+ "version": "4.4.0",
4
4
  "description": "Taiga UI Angular main components kit",
5
5
  "keywords": [
6
6
  "angular",
@@ -377,6 +377,12 @@
377
377
  "esm": "./esm2022/directives/highlight/taiga-ui-kit-directives-highlight.mjs",
378
378
  "default": "./fesm2022/taiga-ui-kit-directives-highlight.mjs"
379
379
  },
380
+ "./directives/icon-badge": {
381
+ "types": "./directives/icon-badge/index.d.ts",
382
+ "esm2022": "./esm2022/directives/icon-badge/taiga-ui-kit-directives-icon-badge.mjs",
383
+ "esm": "./esm2022/directives/icon-badge/taiga-ui-kit-directives-icon-badge.mjs",
384
+ "default": "./fesm2022/taiga-ui-kit-directives-icon-badge.mjs"
385
+ },
380
386
  "./directives/lazy-loading": {
381
387
  "types": "./directives/lazy-loading/index.d.ts",
382
388
  "esm2022": "./esm2022/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.mjs",
@@ -481,9 +487,9 @@
481
487
  "@ng-web-apis/intersection-observer": "^4.2.1",
482
488
  "@ng-web-apis/mutation-observer": "^4.2.1",
483
489
  "@ng-web-apis/resize-observer": "^4.2.1",
484
- "@taiga-ui/cdk": "^4.3.0",
485
- "@taiga-ui/core": "^4.3.0",
486
- "@taiga-ui/i18n": "^4.3.0",
490
+ "@taiga-ui/cdk": "^4.4.0",
491
+ "@taiga-ui/core": "^4.4.0",
492
+ "@taiga-ui/i18n": "^4.4.0",
487
493
  "@taiga-ui/polymorpheus": "^4.6.4",
488
494
  "rxjs": ">=7.0.0"
489
495
  },
@@ -1 +0,0 @@
1
- export declare const TUI_BUTTON_CLOSE_ICON: import("@angular/core").InjectionToken<string>;
@@ -1,3 +0,0 @@
1
- import { tuiCreateToken } from '@taiga-ui/cdk/utils/miscellaneous';
2
- export const TUI_BUTTON_CLOSE_ICON = tuiCreateToken('@tui.x');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWNsb3NlLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvZGlyZWN0aXZlcy9idXR0b24tY2xvc2UvYnV0dG9uLWNsb3NlLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQ3JlYXRlVG9rZW59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5cbmV4cG9ydCBjb25zdCBUVUlfQlVUVE9OX0NMT1NFX0lDT04gPSB0dWlDcmVhdGVUb2tlbignQHR1aS54Jyk7XG4iXX0=