@taiga-ui/core 4.52.0-canary.24b31eb → 4.52.0-canary.2fa3dd5

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 (174) hide show
  1. package/README.md +1 -1
  2. package/classes/accessors.d.ts +1 -1
  3. package/components/alert/alert.component.d.ts +5 -6
  4. package/components/alert/alert.directive.d.ts +4 -3
  5. package/components/alert/alert.interfaces.d.ts +6 -6
  6. package/components/alert/alert.service.d.ts +6 -2
  7. package/components/alert/alert.tokens.d.ts +1 -7
  8. package/components/alert/index.d.ts +0 -1
  9. package/components/calendar/calendar-sheet.options.d.ts +1 -3
  10. package/components/data-list/data-list.component.d.ts +1 -1
  11. package/components/dialog/dialog.component.d.ts +3 -4
  12. package/components/dialog/dialog.directive.d.ts +4 -3
  13. package/components/dialog/dialog.options.d.ts +2 -3
  14. package/components/dialog/dialog.providers.d.ts +1 -2
  15. package/components/dialog/dialog.service.d.ts +5 -2
  16. package/components/dialog/index.d.ts +0 -1
  17. package/components/error/error.component.d.ts +1 -1
  18. package/components/index.d.ts +1 -1
  19. package/components/link/link.directive.d.ts +2 -2
  20. package/components/link/link.options.d.ts +1 -3
  21. package/components/loader/loader.component.d.ts +7 -7
  22. package/components/loader/loader.options.d.ts +1 -3
  23. package/components/modal/index.d.ts +2 -0
  24. package/components/modal/modal.component.d.ts +17 -0
  25. package/components/modal/modal.service.d.ts +13 -0
  26. package/components/notification/notification.directive.d.ts +6 -11
  27. package/components/root/root.component.d.ts +1 -1
  28. package/components/scrollbar/scroll-into-view.directive.d.ts +3 -2
  29. package/components/scrollbar/scrollbar.component.d.ts +2 -2
  30. package/components/scrollbar/scrollbar.directive.d.ts +2 -2
  31. package/components/spin-button/spin-button.component.d.ts +8 -9
  32. package/components/textfield/index.d.ts +1 -3
  33. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +5 -6
  34. package/components/textfield/textfield.component.d.ts +5 -7
  35. package/components/textfield/textfield.d.ts +2 -3
  36. package/components/textfield/textfield.directive.d.ts +10 -13
  37. package/components/textfield/textfield.options.d.ts +8 -11
  38. package/directives/appearance/appearance.directive.d.ts +1 -1
  39. package/directives/appearance/appearance.options.d.ts +1 -1
  40. package/directives/date-format/date-format.directive.d.ts +3 -7
  41. package/directives/dropdown/dropdown-content.directive.d.ts +9 -0
  42. package/directives/dropdown/dropdown-hover.options.d.ts +1 -3
  43. package/directives/dropdown/dropdown-position.directive.d.ts +1 -1
  44. package/directives/dropdown/dropdown.d.ts +2 -2
  45. package/directives/dropdown/dropdown.directive.d.ts +1 -2
  46. package/directives/dropdown/index.d.ts +1 -3
  47. package/directives/group/group.options.d.ts +1 -3
  48. package/directives/hint/hint-describe.directive.d.ts +4 -6
  49. package/directives/hint/hint-host.directive.d.ts +2 -2
  50. package/directives/hint/hint-hover.directive.d.ts +3 -4
  51. package/directives/hint/hint-manual.directive.d.ts +2 -2
  52. package/directives/hint/hint-options.directive.d.ts +1 -1
  53. package/directives/hint/hint-overflow.directive.d.ts +2 -2
  54. package/directives/hint/hint-position.directive.d.ts +4 -5
  55. package/directives/hint/hint-unstyled.component.d.ts +2 -7
  56. package/directives/hint/hint.component.d.ts +7 -6
  57. package/directives/hint/hint.directive.d.ts +9 -11
  58. package/directives/hint/index.d.ts +0 -2
  59. package/directives/index.d.ts +1 -0
  60. package/directives/notification/index.d.ts +2 -0
  61. package/directives/notification/notification.directive.d.ts +11 -0
  62. package/directives/notification/notification.service.d.ts +12 -0
  63. package/directives/number-format/number-format.directive.d.ts +3 -7
  64. package/directives/popup/popup.directive.d.ts +6 -5
  65. package/directives/popup/popup.service.d.ts +1 -1
  66. package/directives/popup/popups.component.d.ts +2 -2
  67. package/fesm2022/taiga-ui-core-classes.mjs +1 -1
  68. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-core-components-alert.mjs +57 -96
  70. package/fesm2022/taiga-ui-core-components-alert.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-core-components-calendar.mjs +11 -16
  73. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-core-components-data-list.mjs +4 -11
  76. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-core-components-dialog.mjs +34 -91
  78. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
  79. package/fesm2022/taiga-ui-core-components-error.mjs +2 -2
  80. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  81. package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-core-components-icon.mjs +1 -2
  83. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  85. package/fesm2022/taiga-ui-core-components-link.mjs +10 -16
  86. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  87. package/fesm2022/taiga-ui-core-components-loader.mjs +14 -32
  88. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  89. package/fesm2022/taiga-ui-core-components-modal.mjs +89 -0
  90. package/fesm2022/taiga-ui-core-components-modal.mjs.map +1 -0
  91. package/fesm2022/taiga-ui-core-components-notification.mjs +12 -28
  92. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  93. package/fesm2022/taiga-ui-core-components-root.mjs +3 -14
  94. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  95. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +35 -43
  96. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-core-components-spin-button.mjs +14 -27
  98. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  99. package/fesm2022/taiga-ui-core-components-textfield.mjs +127 -271
  100. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  101. package/fesm2022/taiga-ui-core-components.mjs +1 -1
  102. package/fesm2022/taiga-ui-core-directives-appearance.mjs +0 -1
  103. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  104. package/fesm2022/taiga-ui-core-directives-date-format.mjs +24 -18
  105. package/fesm2022/taiga-ui-core-directives-date-format.mjs.map +1 -1
  106. package/fesm2022/taiga-ui-core-directives-dropdown.mjs +46 -110
  107. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
  108. package/fesm2022/taiga-ui-core-directives-group.mjs +4 -8
  109. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  110. package/fesm2022/taiga-ui-core-directives-hint.mjs +98 -189
  111. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +1 -1
  112. package/fesm2022/taiga-ui-core-directives-icons.mjs +0 -1
  113. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  114. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +2 -5
  115. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  116. package/fesm2022/taiga-ui-core-directives-notification.mjs +73 -0
  117. package/fesm2022/taiga-ui-core-directives-notification.mjs.map +1 -0
  118. package/fesm2022/taiga-ui-core-directives-number-format.mjs +30 -18
  119. package/fesm2022/taiga-ui-core-directives-number-format.mjs.map +1 -1
  120. package/fesm2022/taiga-ui-core-directives-popup.mjs +13 -20
  121. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +1 -1
  122. package/fesm2022/taiga-ui-core-directives-title.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-core-directives.mjs +1 -0
  124. package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +0 -1
  126. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +1 -1
  127. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +0 -1
  128. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +1 -1
  129. package/fesm2022/taiga-ui-core-pipes-flag.mjs +0 -1
  130. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +1 -1
  131. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +0 -1
  132. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +1 -1
  133. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +21 -12
  134. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  135. package/fesm2022/taiga-ui-core-pipes-initials.mjs +0 -1
  136. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +1 -1
  137. package/fesm2022/taiga-ui-core-pipes-month.mjs +2 -2
  138. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +1 -1
  139. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +0 -1
  140. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +1 -1
  141. package/fesm2022/taiga-ui-core-tokens.mjs +22 -16
  142. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  143. package/fesm2022/taiga-ui-core-utils-format.mjs +1 -0
  144. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  145. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +1 -1
  146. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  147. package/package.json +21 -14
  148. package/pipes/format-number/format-number.pipe.d.ts +5 -3
  149. package/styles/components/link.less +1 -0
  150. package/styles/mixins/appearance.less +1 -1
  151. package/styles/mixins/mixins.less +0 -5
  152. package/styles/mixins/mixins.scss +0 -5
  153. package/styles/mixins/slider.less +24 -14
  154. package/styles/theme/variables.less +2 -4
  155. package/tokens/common-icons.d.ts +1 -3
  156. package/tokens/date-format.d.ts +2 -3
  157. package/tokens/i18n.d.ts +7 -7
  158. package/tokens/number-format.d.ts +2 -3
  159. package/types/index.d.ts +0 -1
  160. package/components/alert/alerts.component.d.ts +0 -12
  161. package/components/dialog/active-zone-adapter.directive.d.ts +0 -11
  162. package/components/dialog/dialogs.component.d.ts +0 -8
  163. package/components/header/header.directive.d.ts +0 -17
  164. package/components/header/index.d.ts +0 -1
  165. package/components/textfield/select.directive.d.ts +0 -19
  166. package/components/textfield/textfield-dropdown.directive.d.ts +0 -16
  167. package/directives/dropdown/dropdown-portal.directive.d.ts +0 -14
  168. package/directives/dropdown/dropdown.service.d.ts +0 -6
  169. package/directives/dropdown/dropdowns.component.d.ts +0 -9
  170. package/directives/hint/hint.service.d.ts +0 -13
  171. package/directives/hint/hints.component.d.ts +0 -12
  172. package/fesm2022/taiga-ui-core-components-header.mjs +0 -42
  173. package/fesm2022/taiga-ui-core-components-header.mjs.map +0 -1
  174. package/types/portal-item.d.ts +0 -9
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, inject, TemplateRef, Input, Directive, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { TuiPortalService, TuiPortals, tuiAsPortal } from '@taiga-ui/cdk/classes';
2
+ import { Injectable, inject, TemplateRef, input, Directive, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { TuiPortalService, TuiPortals } from '@taiga-ui/cdk/portals';
4
+ import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
4
5
 
5
6
  class TuiPopupService extends TuiPortalService {
6
7
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPopupService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -17,42 +18,34 @@ class TuiPopup {
17
18
  constructor() {
18
19
  this.template = inject(TemplateRef);
19
20
  this.service = inject(TuiPopupService);
21
+ this.show = input(false, { alias: 'tuiPopup' });
20
22
  }
21
- set tuiPopup(show) {
22
- this.viewRef?.destroy();
23
- if (show) {
24
- this.viewRef = this.service.addTemplate(this.template);
23
+ ngOnChanges() {
24
+ this.ref?.destroy();
25
+ if (this.show()) {
26
+ this.ref = this.service.add(this.template);
25
27
  }
26
28
  }
27
29
  ngOnDestroy() {
28
- this.viewRef?.destroy();
30
+ this.ref?.destroy();
29
31
  }
30
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPopup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiPopup, isStandalone: true, selector: "ng-template[tuiPopup]", inputs: { tuiPopup: "tuiPopup" }, ngImport: i0 }); }
33
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiPopup, isStandalone: true, selector: "ng-template[tuiPopup]", inputs: { show: { classPropertyName: "show", publicName: "tuiPopup", isSignal: true, isRequired: false, transformFunction: null } }, usesOnChanges: true, ngImport: i0 }); }
32
34
  }
33
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPopup, decorators: [{
34
36
  type: Directive,
35
37
  args: [{
36
- standalone: true,
37
38
  selector: 'ng-template[tuiPopup]',
38
39
  }]
39
- }], propDecorators: { tuiPopup: [{
40
- type: Input
41
- }] } });
40
+ }] });
42
41
 
43
42
  class TuiPopups extends TuiPortals {
44
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPopups, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiPopups, isStandalone: true, selector: "tui-popups", providers: [tuiAsPortal(TuiPopupService)], usesInheritance: true, ngImport: i0, template: '<ng-container #viewContainer />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiPopups, isStandalone: true, selector: "tui-popups", providers: [tuiProvide(TuiPortalService, TuiPopupService)], usesInheritance: true, ngImport: i0, template: '<ng-content/><ng-container #vcr />', isInline: true, styles: [":host{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;display:grid;grid-template-rows:repeat(9,min-content) 1fr;pointer-events:none;overflow:hidden;overflow-wrap:break-word;box-sizing:border-box;padding:env(safe-area-inset-top) env(safe-area-inset-left) env(safe-area-inset-bottom) env(safe-area-inset-right)}:host ::ng-deep>*{pointer-events:auto}:host:after{content:\"\";grid-row:10}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
46
45
  }
47
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPopups, decorators: [{
48
47
  type: Component,
49
- args: [{
50
- standalone: true,
51
- selector: 'tui-popups',
52
- template: '<ng-container #viewContainer />',
53
- changeDetection: ChangeDetectionStrategy.OnPush,
54
- providers: [tuiAsPortal(TuiPopupService)],
55
- }]
48
+ args: [{ selector: 'tui-popups', template: '<ng-content/><ng-container #vcr />', changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiProvide(TuiPortalService, TuiPopupService)], styles: [":host{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;display:grid;grid-template-rows:repeat(9,min-content) 1fr;pointer-events:none;overflow:hidden;overflow-wrap:break-word;box-sizing:border-box;padding:env(safe-area-inset-top) env(safe-area-inset-left) env(safe-area-inset-bottom) env(safe-area-inset-right)}:host ::ng-deep>*{pointer-events:auto}:host:after{content:\"\";grid-row:10}\n"] }]
56
49
  }] });
57
50
 
58
51
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-popup.mjs","sources":["../../../projects/core/directives/popup/popup.service.ts","../../../projects/core/directives/popup/popup.directive.ts","../../../projects/core/directives/popup/popups.component.ts","../../../projects/core/directives/popup/taiga-ui-core-directives-popup.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {TuiPortalService} from '@taiga-ui/cdk/classes';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiPopupService extends TuiPortalService {}\n","import {\n Directive,\n type EmbeddedViewRef,\n inject,\n Input,\n type OnDestroy,\n TemplateRef,\n} from '@angular/core';\n\nimport {TuiPopupService} from './popup.service';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiPopup]',\n})\nexport class TuiPopup implements OnDestroy {\n private readonly template = inject(TemplateRef);\n private readonly service = inject(TuiPopupService);\n\n private viewRef?: EmbeddedViewRef<unknown>;\n\n @Input()\n public set tuiPopup(show: boolean) {\n this.viewRef?.destroy();\n\n if (show) {\n this.viewRef = this.service.addTemplate(this.template);\n }\n }\n\n public ngOnDestroy(): void {\n this.viewRef?.destroy();\n }\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {tuiAsPortal, TuiPortals} from '@taiga-ui/cdk/classes';\n\nimport {TuiPopupService} from './popup.service';\n\n@Component({\n standalone: true,\n selector: 'tui-popups',\n template: '<ng-container #viewContainer />',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsPortal(TuiPopupService)],\n})\nexport class TuiPopups extends TuiPortals {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAMM,MAAO,eAAgB,SAAQ,gBAAgB,CAAA;+GAAxC,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFZ,MAAM,EAAA,CAAA,CAAA;;4FAET,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;;MCUY,QAAQ,CAAA;AAJrB,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;AAC9B,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC;AAgBrD;IAZG,IACW,QAAQ,CAAC,IAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE;QAEvB,IAAI,IAAI,EAAE;AACN,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;;;IAIvD,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE;;+GAhBlB,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAJpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,uBAAuB;AACpC,iBAAA;8BAQc,QAAQ,EAAA,CAAA;sBADlB;;;ACTC,MAAO,SAAU,SAAQ,UAAU,CAAA;+GAA5B,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAFP,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,iDAF/B,iCAAiC,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAIlC,SAAS,EAAA,UAAA,EAAA,CAAA;kBAPrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,iCAAiC;oBAC3C,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;AAC5C,iBAAA;;;ACXD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-directives-popup.mjs","sources":["../../../projects/core/directives/popup/popup.service.ts","../../../projects/core/directives/popup/popup.directive.ts","../../../projects/core/directives/popup/popups.component.ts","../../../projects/core/directives/popup/taiga-ui-core-directives-popup.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {TuiPortalService} from '@taiga-ui/cdk/portals';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiPopupService extends TuiPortalService {}\n","import {\n Directive,\n type EmbeddedViewRef,\n inject,\n input,\n type OnChanges,\n type OnDestroy,\n TemplateRef,\n} from '@angular/core';\n\nimport {TuiPopupService} from './popup.service';\n\n@Directive({\n selector: 'ng-template[tuiPopup]',\n})\nexport class TuiPopup implements OnChanges, OnDestroy {\n private readonly template = inject(TemplateRef);\n private readonly service = inject(TuiPopupService);\n private ref?: EmbeddedViewRef<unknown>;\n\n public readonly show = input(false, {alias: 'tuiPopup'});\n\n public ngOnChanges(): void {\n this.ref?.destroy();\n\n if (this.show()) {\n this.ref = this.service.add(this.template);\n }\n }\n\n public ngOnDestroy(): void {\n this.ref?.destroy();\n }\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {TuiPortals, TuiPortalService} from '@taiga-ui/cdk/portals';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiPopupService} from './popup.service';\n\n@Component({\n selector: 'tui-popups',\n template: '<ng-content/><ng-container #vcr />',\n styleUrl: './popups.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiProvide(TuiPortalService, TuiPopupService)],\n})\nexport class TuiPopups extends TuiPortals {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMM,MAAO,eAAgB,SAAQ,gBAAgB,CAAA;+GAAxC,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFZ,MAAM,EAAA,CAAA,CAAA;;4FAET,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;;MCUY,QAAQ,CAAA;AAHrB,IAAA,WAAA,GAAA;AAIqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;AAC9B,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC;QAGlC,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC,CAAC;AAa3D;IAXU,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE;AAEnB,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;AACb,YAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;;;IAI3C,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE;;+GAhBd,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAHpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACpC,iBAAA;;;ACDK,MAAO,SAAU,SAAQ,UAAU,CAAA;+GAA5B,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAFP,CAAC,UAAU,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAHhD,oCAAoC,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,iZAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAKrC,SAAS,EAAA,UAAA,EAAA,CAAA;kBAPrB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACZ,QAAA,EAAA,oCAAoC,EAE7B,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,UAAU,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,EAAA,MAAA,EAAA,CAAA,iZAAA,CAAA,EAAA;;;ACX9D;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-title.mjs","sources":["../../../projects/core/directives/title/title.directive.ts","../../../projects/core/directives/title/taiga-ui-core-directives-title.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\n@Component({\n template: '',\n styles: ['@import \"@taiga-ui/core/styles/components/title.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-title'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiTitle]',\n host: {\n tuiTitle: '',\n '[attr.data-size]': 'tuiTitle() || null',\n },\n})\nexport class TuiTitle {\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly tuiTitle = input<TuiSizeL | TuiSizeS | ''>('');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAUA,MAOM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,+GANE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wzBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAMV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAPX,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAE,EAEG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA,EAAC,KAAK,EAAE,WAAW,EAAC,EAAA,MAAA,EAAA,CAAA,wzBAAA,CAAA,EAAA;;MAWjB,QAAQ,CAAA;AAPrB,IAAA,WAAA,GAAA;AAQuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;AAElC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAA2B,EAAE,CAAC;AACjE;+GAJY,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAPpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,IAAI,EAAE;AACF,wBAAA,QAAQ,EAAE,EAAE;AACZ,wBAAA,kBAAkB,EAAE,oBAAoB;AAC3C,qBAAA;AACJ,iBAAA;;;ACzBD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-directives-title.mjs","sources":["../../../projects/core/directives/title/title.directive.ts","../../../projects/core/directives/title/taiga-ui-core-directives-title.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\n@Component({\n template: '',\n styles: '@import \"@taiga-ui/core/styles/components/title.less\";',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-title'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiTitle]',\n host: {\n tuiTitle: '',\n '[attr.data-size]': 'tuiTitle() || null',\n },\n})\nexport class TuiTitle {\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly tuiTitle = input<TuiSizeL | TuiSizeS | ''>('');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAUA,MAOM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,+GANE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wzBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAMV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAPX,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAE,EAEG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA,EAAC,KAAK,EAAE,WAAW,EAAC,EAAA,MAAA,EAAA,CAAA,wzBAAA,CAAA,EAAA;;MAWjB,QAAQ,CAAA;AAPrB,IAAA,WAAA,GAAA;AAQuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;AAElC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAA2B,EAAE,CAAC;AACjE;+GAJY,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAPpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,IAAI,EAAE;AACF,wBAAA,QAAQ,EAAE,EAAE;AACZ,wBAAA,kBAAkB,EAAE,oBAAoB;AAC3C,qBAAA;AACJ,iBAAA;;;ACzBD;;AAEG;;;;"}
@@ -5,6 +5,7 @@ export * from '@taiga-ui/core/directives/group';
5
5
  export * from '@taiga-ui/core/directives/hint';
6
6
  export * from '@taiga-ui/core/directives/icons';
7
7
  export * from '@taiga-ui/core/directives/items-handlers';
8
+ export * from '@taiga-ui/core/directives/notification';
8
9
  export * from '@taiga-ui/core/directives/number-format';
9
10
  export * from '@taiga-ui/core/directives/popup';
10
11
  export * from '@taiga-ui/core/directives/title';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives.mjs","sources":["../../../projects/core/directives/taiga-ui-core-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-core-directives.mjs","sources":["../../../projects/core/directives/taiga-ui-core-directives.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;AAEG"}
@@ -12,7 +12,6 @@ class TuiAutoColorPipe {
12
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAutoColorPipe, decorators: [{
13
13
  type: Pipe,
14
14
  args: [{
15
- standalone: true,
16
15
  name: 'tuiAutoColor',
17
16
  }]
18
17
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-pipes-auto-color.mjs","sources":["../../../projects/core/pipes/auto-color/auto-color.pipe.ts","../../../projects/core/pipes/auto-color/taiga-ui-core-pipes-auto-color.ts"],"sourcesContent":["import {Pipe, type PipeTransform} from '@angular/core';\nimport {tuiStringHashToHsl} from '@taiga-ui/core/utils';\n\n@Pipe({\n standalone: true,\n name: 'tuiAutoColor',\n})\nexport class TuiAutoColorPipe implements PipeTransform {\n public transform(text: string): string {\n return tuiStringHashToHsl(text);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAOa,gBAAgB,CAAA;AAClB,IAAA,SAAS,CAAC,IAAY,EAAA;AACzB,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC;;+GAF1B,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,cAAc;AACvB,iBAAA;;;ACND;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-pipes-auto-color.mjs","sources":["../../../projects/core/pipes/auto-color/auto-color.pipe.ts","../../../projects/core/pipes/auto-color/taiga-ui-core-pipes-auto-color.ts"],"sourcesContent":["import {Pipe, type PipeTransform} from '@angular/core';\nimport {tuiStringHashToHsl} from '@taiga-ui/core/utils';\n\n@Pipe({\n name: 'tuiAutoColor',\n})\nexport class TuiAutoColorPipe implements PipeTransform {\n public transform(text: string): string {\n return tuiStringHashToHsl(text);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAMa,gBAAgB,CAAA;AAClB,IAAA,SAAS,CAAC,IAAY,EAAA;AACzB,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC;;+GAF1B,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,cAAc;AACvB,iBAAA;;;ACLD;;AAEG;;;;"}
@@ -81,7 +81,6 @@ class TuiCalendarSheetPipe {
81
81
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCalendarSheetPipe, decorators: [{
82
82
  type: Pipe,
83
83
  args: [{
84
- standalone: true,
85
84
  name: 'tuiCalendarSheet',
86
85
  }]
87
86
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-pipes-calendar-sheet.mjs","sources":["../../../projects/core/pipes/calendar-sheet/utils.ts","../../../projects/core/pipes/calendar-sheet/calendar-sheet.pipe.ts","../../../projects/core/pipes/calendar-sheet/taiga-ui-core-pipes-calendar-sheet.ts"],"sourcesContent":["/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {DAYS_IN_WEEK, TuiDay, type TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {tuiInRange} from '@taiga-ui/cdk/utils/math';\n\n/**\n * Computes day of week offset of the beginning of the month\n */\nconst getMonthStartDaysOffset = (\n month: TuiMonth,\n firstDayOfWeek: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n): number => {\n const startMonthOffsetFromSunday = new Date(month.year, month.month, 1).getDay();\n\n return startMonthOffsetFromSunday >= firstDayOfWeek\n ? startMonthOffsetFromSunday - firstDayOfWeek\n : DAYS_IN_WEEK - (firstDayOfWeek - startMonthOffsetFromSunday);\n};\n\n/**\n * Calculated day on a calendar grid\n * @return resulting day on these coordinates (could exceed passed month)\n */\nexport const getDayFromMonthRowCol = ({\n month,\n rowIndex,\n colIndex,\n firstDayOfWeek,\n}: {\n /**\n * column in a calendar\n */\n colIndex: number;\n /**\n * first day of the week index (Sunday - 0, Saturday - 6)\n */\n firstDayOfWeek: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n month: TuiMonth;\n /**\n * row in a calendar\n */\n rowIndex: number;\n}): TuiDay => {\n ngDevMode && console.assert(Number.isInteger(rowIndex));\n ngDevMode && console.assert(tuiInRange(rowIndex, 0, 6));\n ngDevMode && console.assert(Number.isInteger(colIndex));\n ngDevMode && console.assert(tuiInRange(colIndex, 0, DAYS_IN_WEEK));\n\n let day =\n rowIndex * DAYS_IN_WEEK +\n colIndex -\n getMonthStartDaysOffset(month, firstDayOfWeek) +\n 1;\n\n if (day > month.daysCount) {\n day -= month.daysCount;\n month = month.append({month: 1});\n }\n\n if (day <= 0) {\n month = month.append({month: -1});\n day = month.daysCount + day;\n }\n\n return new TuiDay(month.year, month.month, day);\n};\n","import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {DAYS_IN_WEEK, type TuiDay, type TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TUI_FIRST_DAY_OF_WEEK} from '@taiga-ui/core/tokens';\n\nimport {getDayFromMonthRowCol} from './utils';\n\nconst CALENDAR_ROWS_COUNT = 6;\n\n@Pipe({\n standalone: true,\n name: 'tuiCalendarSheet',\n})\nexport class TuiCalendarSheetPipe implements PipeTransform {\n private readonly firstDayOfWeek = inject(TUI_FIRST_DAY_OF_WEEK);\n private currentMonth: TuiMonth | null = null;\n private currentSheet: ReadonlyArray<readonly TuiDay[]> = [];\n\n public transform(\n month: TuiMonth,\n showAdjacentDays = false,\n ): ReadonlyArray<readonly TuiDay[]> {\n if (this.currentMonth?.monthSame(month)) {\n return this.currentSheet;\n }\n\n const sheet: Array<readonly TuiDay[]> = [];\n\n for (let rowIndex = 0; rowIndex < CALENDAR_ROWS_COUNT; rowIndex++) {\n const row: TuiDay[] = [];\n\n for (let colIndex = 0; colIndex < DAYS_IN_WEEK; colIndex++) {\n const day = getDayFromMonthRowCol({\n month,\n rowIndex,\n colIndex,\n firstDayOfWeek: this.firstDayOfWeek,\n });\n\n const isPrevMonthDay = (day: TuiDay, relativeToMonth = month): boolean =>\n day.year < relativeToMonth.year || day.month < relativeToMonth.month;\n\n const isNextMonthDay = (day: TuiDay, relativeToMonth = month): boolean =>\n day.year > relativeToMonth.year || day.month > relativeToMonth.month;\n\n if (isPrevMonthDay(day) && !showAdjacentDays) {\n continue;\n }\n\n if (isNextMonthDay(day) && !showAdjacentDays) {\n break;\n }\n\n row.push(day);\n }\n\n sheet.push(row);\n }\n\n this.currentSheet = sheet.filter((row) => row.length);\n this.currentMonth = month;\n\n return this.currentSheet;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-pipes-calendar-sheet.mjs","sources":["../../../projects/core/pipes/calendar-sheet/utils.ts","../../../projects/core/pipes/calendar-sheet/calendar-sheet.pipe.ts","../../../projects/core/pipes/calendar-sheet/taiga-ui-core-pipes-calendar-sheet.ts"],"sourcesContent":["/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {DAYS_IN_WEEK, TuiDay, type TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {tuiInRange} from '@taiga-ui/cdk/utils/math';\n\n/**\n * Computes day of week offset of the beginning of the month\n */\nconst getMonthStartDaysOffset = (\n month: TuiMonth,\n firstDayOfWeek: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n): number => {\n const startMonthOffsetFromSunday = new Date(month.year, month.month, 1).getDay();\n\n return startMonthOffsetFromSunday >= firstDayOfWeek\n ? startMonthOffsetFromSunday - firstDayOfWeek\n : DAYS_IN_WEEK - (firstDayOfWeek - startMonthOffsetFromSunday);\n};\n\n/**\n * Calculated day on a calendar grid\n * @return resulting day on these coordinates (could exceed passed month)\n */\nexport const getDayFromMonthRowCol = ({\n month,\n rowIndex,\n colIndex,\n firstDayOfWeek,\n}: {\n /**\n * column in a calendar\n */\n colIndex: number;\n /**\n * first day of the week index (Sunday - 0, Saturday - 6)\n */\n firstDayOfWeek: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n month: TuiMonth;\n /**\n * row in a calendar\n */\n rowIndex: number;\n}): TuiDay => {\n ngDevMode && console.assert(Number.isInteger(rowIndex));\n ngDevMode && console.assert(tuiInRange(rowIndex, 0, 6));\n ngDevMode && console.assert(Number.isInteger(colIndex));\n ngDevMode && console.assert(tuiInRange(colIndex, 0, DAYS_IN_WEEK));\n\n let day =\n rowIndex * DAYS_IN_WEEK +\n colIndex -\n getMonthStartDaysOffset(month, firstDayOfWeek) +\n 1;\n\n if (day > month.daysCount) {\n day -= month.daysCount;\n month = month.append({month: 1});\n }\n\n if (day <= 0) {\n month = month.append({month: -1});\n day = month.daysCount + day;\n }\n\n return new TuiDay(month.year, month.month, day);\n};\n","import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {DAYS_IN_WEEK, type TuiDay, type TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TUI_FIRST_DAY_OF_WEEK} from '@taiga-ui/core/tokens';\n\nimport {getDayFromMonthRowCol} from './utils';\n\nconst CALENDAR_ROWS_COUNT = 6;\n\n@Pipe({\n name: 'tuiCalendarSheet',\n})\nexport class TuiCalendarSheetPipe implements PipeTransform {\n private readonly firstDayOfWeek = inject(TUI_FIRST_DAY_OF_WEEK);\n private currentMonth: TuiMonth | null = null;\n private currentSheet: ReadonlyArray<readonly TuiDay[]> = [];\n\n public transform(\n month: TuiMonth,\n showAdjacentDays = false,\n ): ReadonlyArray<readonly TuiDay[]> {\n if (this.currentMonth?.monthSame(month)) {\n return this.currentSheet;\n }\n\n const sheet: Array<readonly TuiDay[]> = [];\n\n for (let rowIndex = 0; rowIndex < CALENDAR_ROWS_COUNT; rowIndex++) {\n const row: TuiDay[] = [];\n\n for (let colIndex = 0; colIndex < DAYS_IN_WEEK; colIndex++) {\n const day = getDayFromMonthRowCol({\n month,\n rowIndex,\n colIndex,\n firstDayOfWeek: this.firstDayOfWeek,\n });\n\n const isPrevMonthDay = (day: TuiDay, relativeToMonth = month): boolean =>\n day.year < relativeToMonth.year || day.month < relativeToMonth.month;\n\n const isNextMonthDay = (day: TuiDay, relativeToMonth = month): boolean =>\n day.year > relativeToMonth.year || day.month > relativeToMonth.month;\n\n if (isPrevMonthDay(day) && !showAdjacentDays) {\n continue;\n }\n\n if (isNextMonthDay(day) && !showAdjacentDays) {\n break;\n }\n\n row.push(day);\n }\n\n sheet.push(row);\n }\n\n this.currentSheet = sheet.filter((row) => row.length);\n this.currentMonth = month;\n\n return this.currentSheet;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -19,7 +19,6 @@ class TuiFlagPipe {
19
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiFlagPipe, decorators: [{
20
20
  type: Pipe,
21
21
  args: [{
22
- standalone: true,
23
22
  name: 'tuiFlag',
24
23
  }]
25
24
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-pipes-flag.mjs","sources":["../../../projects/core/pipes/flag/flag.pipe.ts","../../../projects/core/pipes/flag/taiga-ui-core-pipes-flag.ts"],"sourcesContent":["import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {type TuiLooseUnion} from '@taiga-ui/cdk/types';\nimport {TUI_ASSETS_PATH} from '@taiga-ui/core/tokens';\nimport {type TuiCountryIsoCode} from '@taiga-ui/i18n/types';\n\ntype IsoCode = TuiLooseUnion<TuiCountryIsoCode>;\n\n// TODO: Move to kit in v5\n@Pipe({\n standalone: true,\n name: 'tuiFlag',\n})\nexport class TuiFlagPipe implements PipeTransform {\n private readonly staticPath = inject(TUI_ASSETS_PATH);\n\n public transform(countryIsoCode: IsoCode): string;\n public transform(countryIsoCode: IsoCode | undefined): string | null;\n public transform(countryIsoCode?: IsoCode | null): string | null;\n public transform(countryIsoCode?: IsoCode | null): string | null {\n if (!countryIsoCode) {\n return null;\n }\n\n return `${this.staticPath}/flags/${countryIsoCode.toLowerCase()}.svg`;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAOA;MAKa,WAAW,CAAA;AAJxB,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;AAYxD;AAPU,IAAA,SAAS,CAAC,cAA+B,EAAA;QAC5C,IAAI,CAAC,cAAc,EAAE;AACjB,YAAA,OAAO,IAAI;;QAGf,OAAO,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,OAAA,EAAU,cAAc,CAAC,WAAW,EAAE,CAAA,IAAA,CAAM;;+GAXhE,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAJvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,SAAS;AAClB,iBAAA;;;ACXD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-pipes-flag.mjs","sources":["../../../projects/core/pipes/flag/flag.pipe.ts","../../../projects/core/pipes/flag/taiga-ui-core-pipes-flag.ts"],"sourcesContent":["import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {type TuiLooseUnion} from '@taiga-ui/cdk/types';\nimport {TUI_ASSETS_PATH} from '@taiga-ui/core/tokens';\nimport {type TuiCountryIsoCode} from '@taiga-ui/i18n/types';\n\ntype IsoCode = TuiLooseUnion<TuiCountryIsoCode>;\n\n// TODO: Move to kit in v5\n@Pipe({\n name: 'tuiFlag',\n})\nexport class TuiFlagPipe implements PipeTransform {\n private readonly staticPath = inject(TUI_ASSETS_PATH);\n\n public transform(countryIsoCode: IsoCode): string;\n public transform(countryIsoCode: IsoCode | undefined): string | null;\n public transform(countryIsoCode?: IsoCode | null): string | null;\n public transform(countryIsoCode?: IsoCode | null): string | null {\n if (!countryIsoCode) {\n return null;\n }\n\n return `${this.staticPath}/flags/${countryIsoCode.toLowerCase()}.svg`;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAOA;MAIa,WAAW,CAAA;AAHxB,IAAA,WAAA,GAAA;AAIqB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;AAYxD;AAPU,IAAA,SAAS,CAAC,cAA+B,EAAA;QAC5C,IAAI,CAAC,cAAc,EAAE;AACjB,YAAA,OAAO,IAAI;;QAGf,OAAO,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,OAAA,EAAU,cAAc,CAAC,WAAW,EAAE,CAAA,IAAA,CAAM;;+GAXhE,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAX,WAAW,EAAA,YAAA,EAAA,IAAA,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;;;ACVD;;AAEG;;;;"}
@@ -15,7 +15,6 @@ class TuiFormatDatePipe {
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiFormatDatePipe, decorators: [{
16
16
  type: Pipe,
17
17
  args: [{
18
- standalone: true,
19
18
  name: 'tuiFormatDate',
20
19
  }]
21
20
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-pipes-format-date.mjs","sources":["../../../projects/core/pipes/format-date/format-date.pipe.ts","../../../projects/core/pipes/format-date/taiga-ui-core-pipes-format-date.ts"],"sourcesContent":["import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {TuiFormatDateService} from '@taiga-ui/core/services';\nimport {type Observable} from 'rxjs';\n\n@Pipe({\n standalone: true,\n name: 'tuiFormatDate',\n})\nexport class TuiFormatDatePipe implements PipeTransform {\n private readonly service = inject(TuiFormatDateService);\n\n public transform(timestampOrDate: Date | number): Observable<string> {\n return this.service.format(timestampOrDate.valueOf());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAQa,iBAAiB,CAAA;AAJ9B,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAK1D;AAHU,IAAA,SAAS,CAAC,eAA8B,EAAA;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;;+GAJhD,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,eAAe;AACxB,iBAAA;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-pipes-format-date.mjs","sources":["../../../projects/core/pipes/format-date/format-date.pipe.ts","../../../projects/core/pipes/format-date/taiga-ui-core-pipes-format-date.ts"],"sourcesContent":["import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {TuiFormatDateService} from '@taiga-ui/core/services';\nimport {type Observable} from 'rxjs';\n\n@Pipe({\n name: 'tuiFormatDate',\n})\nexport class TuiFormatDatePipe implements PipeTransform {\n private readonly service = inject(TuiFormatDateService);\n\n public transform(timestampOrDate: Date | number): Observable<string> {\n return this.service.format(timestampOrDate.valueOf());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAOa,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;AAIqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAK1D;AAHU,IAAA,SAAS,CAAC,eAA8B,EAAA;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;;+GAJhD,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,eAAe;AACxB,iBAAA;;;ACND;;AAEG;;;;"}
@@ -1,12 +1,23 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Pipe } from '@angular/core';
2
+ import { inject, signal, computed, untracked, Pipe } from '@angular/core';
3
+ import { tuiObjectShallowEquals } from '@taiga-ui/cdk/utils/miscellaneous';
3
4
  import { TUI_NUMBER_FORMAT } from '@taiga-ui/core/tokens';
4
5
  import { tuiFormatNumber } from '@taiga-ui/core/utils/format';
5
- import { map } from 'rxjs';
6
6
 
7
7
  class TuiFormatNumberPipe {
8
8
  constructor() {
9
- this.numberFormat = inject(TUI_NUMBER_FORMAT);
9
+ this.format = inject(TUI_NUMBER_FORMAT);
10
+ this.value = signal(NaN);
11
+ this.settings = signal({}, {
12
+ equal: tuiObjectShallowEquals,
13
+ });
14
+ this.formatted = computed(() => tuiFormatNumber(this.value(), {
15
+ ...this.format(),
16
+ precision: Number.isNaN(this.format().precision)
17
+ ? Infinity
18
+ : this.format().precision,
19
+ ...this.settings(),
20
+ }));
10
21
  }
11
22
  /**
12
23
  * Formats number adding thousand separators and correct decimal separator
@@ -15,22 +26,20 @@ class TuiFormatNumberPipe {
15
26
  * @param settings See {@link TuiNumberFormatSettings}
16
27
  */
17
28
  transform(value, settings = {}) {
18
- return this.numberFormat.pipe(map((format) => tuiFormatNumber(value, {
19
- ...format,
20
- precision: Number.isNaN(format.precision)
21
- ? Infinity
22
- : format.precision,
23
- ...settings,
24
- })));
29
+ untracked(() => {
30
+ this.value.set(value);
31
+ this.settings.set(settings);
32
+ });
33
+ return this.formatted();
25
34
  }
26
35
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiFormatNumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
27
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiFormatNumberPipe, isStandalone: true, name: "tuiFormatNumber" }); }
36
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiFormatNumberPipe, isStandalone: true, name: "tuiFormatNumber", pure: false }); }
28
37
  }
29
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiFormatNumberPipe, decorators: [{
30
39
  type: Pipe,
31
40
  args: [{
32
- standalone: true,
33
41
  name: 'tuiFormatNumber',
42
+ pure: false,
34
43
  }]
35
44
  }] });
36
45
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-pipes-format-number.mjs","sources":["../../../projects/core/pipes/format-number/format-number.pipe.ts","../../../projects/core/pipes/format-number/taiga-ui-core-pipes-format-number.ts"],"sourcesContent":["import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {TUI_NUMBER_FORMAT, type TuiNumberFormatSettings} from '@taiga-ui/core/tokens';\nimport {tuiFormatNumber} from '@taiga-ui/core/utils/format';\nimport {map, type Observable} from 'rxjs';\n\n@Pipe({\n standalone: true,\n name: 'tuiFormatNumber',\n})\nexport class TuiFormatNumberPipe implements PipeTransform {\n private readonly numberFormat = inject(TUI_NUMBER_FORMAT);\n\n /**\n * Formats number adding thousand separators and correct decimal separator\n * padding decimal part with zeroes to given length\n * @param value number\n * @param settings See {@link TuiNumberFormatSettings}\n */\n public transform(\n value: number,\n settings: Partial<TuiNumberFormatSettings> = {},\n ): Observable<string> {\n return this.numberFormat.pipe(\n map((format) =>\n tuiFormatNumber(value, {\n ...format,\n precision: Number.isNaN(format.precision)\n ? Infinity\n : format.precision,\n ...settings,\n }),\n ),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MASa,mBAAmB,CAAA;AAJhC,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAwB5D;AAtBG;;;;;AAKG;AACI,IAAA,SAAS,CACZ,KAAa,EACb,QAAA,GAA6C,EAAE,EAAA;AAE/C,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CACzB,GAAG,CAAC,CAAC,MAAM,KACP,eAAe,CAAC,KAAK,EAAE;AACnB,YAAA,GAAG,MAAM;YACT,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS;AACpC,kBAAE;kBACA,MAAM,CAAC,SAAS;AACtB,YAAA,GAAG,QAAQ;SACd,CAAC,CACL,CACJ;;+GAvBI,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,iBAAiB;AAC1B,iBAAA;;;ACRD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-pipes-format-number.mjs","sources":["../../../projects/core/pipes/format-number/format-number.pipe.ts","../../../projects/core/pipes/format-number/taiga-ui-core-pipes-format-number.ts"],"sourcesContent":["import {\n computed,\n inject,\n Pipe,\n type PipeTransform,\n signal,\n untracked,\n} from '@angular/core';\nimport {tuiObjectShallowEquals} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_NUMBER_FORMAT, type TuiNumberFormatSettings} from '@taiga-ui/core/tokens';\nimport {tuiFormatNumber} from '@taiga-ui/core/utils/format';\n\n@Pipe({\n name: 'tuiFormatNumber',\n pure: false,\n})\nexport class TuiFormatNumberPipe implements PipeTransform {\n private readonly format = inject(TUI_NUMBER_FORMAT);\n private readonly value = signal(NaN);\n private readonly settings = signal<Partial<TuiNumberFormatSettings>>(\n {},\n {\n equal: tuiObjectShallowEquals,\n },\n );\n\n private readonly formatted = computed(() =>\n tuiFormatNumber(this.value(), {\n ...this.format(),\n precision: Number.isNaN(this.format().precision)\n ? Infinity\n : this.format().precision,\n ...this.settings(),\n }),\n );\n\n /**\n * Formats number adding thousand separators and correct decimal separator\n * padding decimal part with zeroes to given length\n * @param value number\n * @param settings See {@link TuiNumberFormatSettings}\n */\n public transform(\n value: number,\n settings: Partial<TuiNumberFormatSettings> = {},\n ): string {\n untracked(() => {\n this.value.set(value);\n this.settings.set(settings);\n });\n\n return this.formatted();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAgBa,mBAAmB,CAAA;AAJhC,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAClC,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;AACnB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAC9B,EAAE,EACF;AACI,YAAA,KAAK,EAAE,sBAAsB;AAChC,SAAA,CACJ;AAEgB,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAClC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;YAC1B,GAAG,IAAI,CAAC,MAAM,EAAE;YAChB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS;AAC3C,kBAAE;AACF,kBAAE,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS;YAC7B,GAAG,IAAI,CAAC,QAAQ,EAAE;AACrB,SAAA,CAAC,CACL;AAmBJ;AAjBG;;;;;AAKG;AACI,IAAA,SAAS,CACZ,KAAa,EACb,QAAA,GAA6C,EAAE,EAAA;QAE/C,SAAS,CAAC,MAAK;AACX,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC/B,SAAC,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE;;+GAnClB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,iBAAiB;AACvB,oBAAA,IAAI,EAAE,KAAK;AACd,iBAAA;;;ACfD;;AAEG;;;;"}
@@ -16,7 +16,6 @@ class TuiInitialsPipe {
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInitialsPipe, decorators: [{
17
17
  type: Pipe,
18
18
  args: [{
19
- standalone: true,
20
19
  name: 'tuiInitials',
21
20
  }]
22
21
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-pipes-initials.mjs","sources":["../../../projects/core/pipes/initials/initials.pipe.ts","../../../projects/core/pipes/initials/taiga-ui-core-pipes-initials.ts"],"sourcesContent":["import {Pipe, type PipeTransform} from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'tuiInitials',\n})\nexport class TuiInitialsPipe implements PipeTransform {\n public transform(text: string): string {\n return text\n .toUpperCase()\n .split(' ')\n .map(([char]) => char)\n .join('')\n .slice(0, 2);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAMa,eAAe,CAAA;AACjB,IAAA,SAAS,CAAC,IAAY,EAAA;AACzB,QAAA,OAAO;AACF,aAAA,WAAW;aACX,KAAK,CAAC,GAAG;aACT,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI;aACpB,IAAI,CAAC,EAAE;AACP,aAAA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;+GAPX,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,aAAa;AACtB,iBAAA;;;ACLD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-pipes-initials.mjs","sources":["../../../projects/core/pipes/initials/initials.pipe.ts","../../../projects/core/pipes/initials/taiga-ui-core-pipes-initials.ts"],"sourcesContent":["import {Pipe, type PipeTransform} from '@angular/core';\n\n@Pipe({\n name: 'tuiInitials',\n})\nexport class TuiInitialsPipe implements PipeTransform {\n public transform(text: string): string {\n return text\n .toUpperCase()\n .split(' ')\n .map(([char]) => char)\n .join('')\n .slice(0, 2);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAKa,eAAe,CAAA;AACjB,IAAA,SAAS,CAAC,IAAY,EAAA;AACzB,QAAA,OAAO;AACF,aAAA,WAAW;aACX,KAAK,CAAC,GAAG;aACT,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI;aACpB,IAAI,CAAC,EAAE;AACP,aAAA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;+GAPX,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,aAAa;AACtB,iBAAA;;;ACJD;;AAEG;;;;"}
@@ -1,11 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Pipe } from '@angular/core';
3
+ import { toObservable } from '@angular/core/rxjs-interop';
3
4
  import { TUI_MONTHS } from '@taiga-ui/core/tokens';
4
5
  import { map } from 'rxjs';
5
6
 
6
7
  class TuiMonthPipe {
7
8
  constructor() {
8
- this.months$ = inject(TUI_MONTHS);
9
+ this.months$ = toObservable(inject(TUI_MONTHS));
9
10
  }
10
11
  transform({ month }) {
11
12
  return this.months$.pipe(map((months) => months[month] || months[0]));
@@ -16,7 +17,6 @@ class TuiMonthPipe {
16
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiMonthPipe, decorators: [{
17
18
  type: Pipe,
18
19
  args: [{
19
- standalone: true,
20
20
  name: 'tuiMonth',
21
21
  }]
22
22
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-pipes-month.mjs","sources":["../../../projects/core/pipes/month/month.pipe.ts","../../../projects/core/pipes/month/taiga-ui-core-pipes-month.ts"],"sourcesContent":["import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {type TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TUI_MONTHS} from '@taiga-ui/core/tokens';\nimport {map, type Observable} from 'rxjs';\n\n@Pipe({\n standalone: true,\n name: 'tuiMonth',\n})\nexport class TuiMonthPipe implements PipeTransform {\n private readonly months$ = inject(TUI_MONTHS);\n\n public transform({month}: TuiMonth): Observable<string> {\n return this.months$.pipe(map((months) => months[month] || months[0]));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MASa,YAAY,CAAA;AAJzB,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;AAKhD;IAHU,SAAS,CAAC,EAAC,KAAK,EAAW,EAAA;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;;+GAJhE,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,UAAU;AACnB,iBAAA;;;ACRD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-pipes-month.mjs","sources":["../../../projects/core/pipes/month/month.pipe.ts","../../../projects/core/pipes/month/taiga-ui-core-pipes-month.ts"],"sourcesContent":["import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {toObservable} from '@angular/core/rxjs-interop';\nimport {type TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TUI_MONTHS} from '@taiga-ui/core/tokens';\nimport {map, type Observable} from 'rxjs';\n\n@Pipe({\n name: 'tuiMonth',\n})\nexport class TuiMonthPipe implements PipeTransform {\n private readonly months$ = toObservable(inject(TUI_MONTHS));\n\n public transform({month}: TuiMonth): Observable<string> {\n return this.months$.pipe(map((months) => months[month] || months[0]));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MASa,YAAY,CAAA;AAHzB,IAAA,WAAA,GAAA;QAIqB,IAAO,CAAA,OAAA,GAAG,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAK9D;IAHU,SAAS,CAAC,EAAC,KAAK,EAAW,EAAA;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;;+GAJhE,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,UAAU;AACnB,iBAAA;;;ACRD;;AAEG;;;;"}
@@ -23,7 +23,6 @@ class TuiOrderWeekDaysPipe {
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiOrderWeekDaysPipe, decorators: [{
24
24
  type: Pipe,
25
25
  args: [{
26
- standalone: true,
27
26
  name: 'tuiOrderWeekDays',
28
27
  }]
29
28
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-pipes-order-week-days.mjs","sources":["../../../projects/core/pipes/order-week-days/order-week-days.pipe.ts","../../../projects/core/pipes/order-week-days/taiga-ui-core-pipes-order-week-days.ts"],"sourcesContent":["import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {TUI_FIRST_DAY_OF_WEEK} from '@taiga-ui/core/tokens';\nimport {map, type Observable} from 'rxjs';\n\nfunction convertToSundayFirstWeekFormat(\n weekDaysNames: readonly string[],\n): readonly string[] {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [weekDaysNames[sundayIndex] || '', ...weekDaysNames.slice(0, sundayIndex)];\n}\n\n@Pipe({\n standalone: true,\n name: 'tuiOrderWeekDays',\n})\nexport class TuiOrderWeekDaysPipe implements PipeTransform {\n private readonly firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n public transform(\n mondayFirstWeekDays$: Observable<readonly string[]>,\n ): Observable<readonly string[]> {\n return mondayFirstWeekDays$.pipe(\n map(convertToSundayFirstWeekFormat),\n map((weekDays) => [\n ...weekDays.slice(this.firstDayOfWeekIndex),\n ...weekDays.slice(0, this.firstDayOfWeekIndex),\n ]),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIA,SAAS,8BAA8B,CACnC,aAAgC,EAAA;AAEhC,IAAA,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC;AAE5C,IAAA,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AACrF;MAMa,oBAAoB,CAAA;AAJjC,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAavE;AAXU,IAAA,SAAS,CACZ,oBAAmD,EAAA;AAEnD,QAAA,OAAO,oBAAoB,CAAC,IAAI,CAC5B,GAAG,CAAC,8BAA8B,CAAC,EACnC,GAAG,CAAC,CAAC,QAAQ,KAAK;AACd,YAAA,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACjD,SAAA,CAAC,CACL;;+GAZI,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,CAAA,CAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,kBAAkB;AAC3B,iBAAA;;;ACfD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-pipes-order-week-days.mjs","sources":["../../../projects/core/pipes/order-week-days/order-week-days.pipe.ts","../../../projects/core/pipes/order-week-days/taiga-ui-core-pipes-order-week-days.ts"],"sourcesContent":["import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {TUI_FIRST_DAY_OF_WEEK} from '@taiga-ui/core/tokens';\nimport {map, type Observable} from 'rxjs';\n\nfunction convertToSundayFirstWeekFormat(\n weekDaysNames: readonly string[],\n): readonly string[] {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [weekDaysNames[sundayIndex] || '', ...weekDaysNames.slice(0, sundayIndex)];\n}\n\n@Pipe({\n name: 'tuiOrderWeekDays',\n})\nexport class TuiOrderWeekDaysPipe implements PipeTransform {\n private readonly firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n public transform(\n mondayFirstWeekDays$: Observable<readonly string[]>,\n ): Observable<readonly string[]> {\n return mondayFirstWeekDays$.pipe(\n map(convertToSundayFirstWeekFormat),\n map((weekDays) => [\n ...weekDays.slice(this.firstDayOfWeekIndex),\n ...weekDays.slice(0, this.firstDayOfWeekIndex),\n ]),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIA,SAAS,8BAA8B,CACnC,aAAgC,EAAA;AAEhC,IAAA,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC;AAE5C,IAAA,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AACrF;MAKa,oBAAoB,CAAA;AAHjC,IAAA,WAAA,GAAA;AAIqB,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAavE;AAXU,IAAA,SAAS,CACZ,oBAAmD,EAAA;AAEnD,QAAA,OAAO,oBAAoB,CAAC,IAAI,CAC5B,GAAG,CAAC,8BAA8B,CAAC,EACnC,GAAG,CAAC,CAAC,QAAQ,KAAK;AACd,YAAA,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACjD,SAAA,CAAC,CACL;;+GAZI,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,CAAA,CAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,kBAAkB;AAC3B,iBAAA;;;ACdD;;AAEG;;;;"}
@@ -1,9 +1,10 @@
1
- import { InjectionToken, inject, signal, untracked, effect, Optional, SkipSelf, ElementRef } from '@angular/core';
1
+ import { InjectionToken, inject, signal, untracked, effect, computed, ElementRef } from '@angular/core';
2
2
  import { DOCUMENT } from '@angular/common';
3
- import { tuiProvide, tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
3
+ import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
4
+ import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
4
5
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
6
  import { WA_LOCAL_STORAGE, WA_WINDOW } from '@ng-web-apis/common';
6
- import { fromEvent, filter, of, map, merge, switchMap, takeUntil, share } from 'rxjs';
7
+ import { fromEvent, filter, merge, switchMap, takeUntil, share } from 'rxjs';
7
8
  import { TuiDayOfWeek } from '@taiga-ui/cdk/date-time';
8
9
  import { tuiExtractI18n } from '@taiga-ui/i18n/utils';
9
10
  import { CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk/constants';
@@ -22,7 +23,7 @@ const TUI_ANIMATIONS_SPEED = new InjectionToken(ngDevMode ? 'TUI_ANIMATIONS_SPEE
22
23
  });
23
24
 
24
25
  const TUI_ASSETS_PATH = new InjectionToken(ngDevMode ? 'TUI_ASSETS_PATH' : '', {
25
- factory: () => 'assets/taiga-ui/icons',
26
+ factory: () => '/assets/taiga-ui/icons',
26
27
  });
27
28
  function tuiAssetsPathProvider(useValue) {
28
29
  return {
@@ -47,12 +48,7 @@ const COMMON_ICONS = {
47
48
  search: '@tui.search',
48
49
  ellipsis: '@tui.ellipsis',
49
50
  };
50
- const TUI_COMMON_ICONS = new InjectionToken(ngDevMode ? 'TUI_COMMON_ICONS' : '', {
51
- factory: () => COMMON_ICONS,
52
- });
53
- function tuiCommonIconsProvider(icons) {
54
- return tuiProvideOptions(TUI_COMMON_ICONS, icons, COMMON_ICONS);
55
- }
51
+ const [TUI_COMMON_ICONS, tuiCommonIconsProvider] = tuiCreateOptions(COMMON_ICONS);
56
52
 
57
53
  const TUI_DARK_MODE_DEFAULT_KEY = 'tuiDark';
58
54
  const TUI_DARK_MODE_KEY = new InjectionToken(ngDevMode ? 'TUI_DARK_MODE_KEY' : '', {
@@ -101,13 +97,18 @@ const TUI_DEFAULT_DATE_FORMAT = {
101
97
  * Formatting configuration for displayed dates
102
98
  */
103
99
  const TUI_DATE_FORMAT = new InjectionToken(ngDevMode ? 'TUI_DATE_FORMAT' : '', {
104
- factory: () => of(TUI_DEFAULT_DATE_FORMAT),
100
+ factory: () => signal(TUI_DEFAULT_DATE_FORMAT),
105
101
  });
106
102
  function tuiDateFormatProvider(options) {
107
103
  return {
108
104
  provide: TUI_DATE_FORMAT,
109
- deps: [[new Optional(), new SkipSelf(), TUI_DATE_FORMAT]],
110
- useFactory: (parent) => (parent || of(TUI_DEFAULT_DATE_FORMAT)).pipe(map((format) => ({ ...format, ...options }))),
105
+ useFactory: () => {
106
+ const parent = inject(TUI_DATE_FORMAT, { optional: true, skipSelf: true });
107
+ return computed(() => ({
108
+ ...(parent?.() || TUI_DEFAULT_DATE_FORMAT),
109
+ ...options,
110
+ }));
111
+ },
111
112
  };
112
113
  }
113
114
 
@@ -243,13 +244,18 @@ const TUI_DEFAULT_NUMBER_FORMAT = {
243
244
  * Formatting configuration for displayed numbers
244
245
  */
245
246
  const TUI_NUMBER_FORMAT = new InjectionToken(ngDevMode ? 'TUI_NUMBER_FORMAT' : '', {
246
- factory: () => of(TUI_DEFAULT_NUMBER_FORMAT),
247
+ factory: () => signal(TUI_DEFAULT_NUMBER_FORMAT),
247
248
  });
248
249
  function tuiNumberFormatProvider(options) {
249
250
  return {
250
251
  provide: TUI_NUMBER_FORMAT,
251
- deps: [[new Optional(), new SkipSelf(), TUI_NUMBER_FORMAT]],
252
- useFactory: (parent) => (parent || of(TUI_DEFAULT_NUMBER_FORMAT)).pipe(map((format) => ({ ...format, ...options }))),
252
+ useFactory: () => {
253
+ const parent = inject(TUI_NUMBER_FORMAT, { optional: true, skipSelf: true });
254
+ return computed(() => ({
255
+ ...(parent?.() || TUI_DEFAULT_NUMBER_FORMAT),
256
+ ...options,
257
+ }));
258
+ },
253
259
  };
254
260
  }
255
261