@taiga-ui/core 4.52.0-canary.615c741 → 4.52.0-canary.61fea47

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 (237) hide show
  1. package/README.md +1 -1
  2. package/classes/accessors.d.ts +1 -1
  3. package/components/calendar/calendar-sheet.options.d.ts +1 -3
  4. package/{pipes/calendar-sheet → components/calendar}/calendar-sheet.pipe.d.ts +1 -1
  5. package/components/calendar/calendar-spin.component.d.ts +1 -0
  6. package/components/calendar/calendar-year.component.d.ts +1 -1
  7. package/components/calendar/index.d.ts +2 -0
  8. package/components/data-list/data-list.component.d.ts +7 -11
  9. package/components/data-list/data-list.d.ts +2 -4
  10. package/components/data-list/data-list.tokens.d.ts +1 -5
  11. package/components/data-list/index.d.ts +0 -2
  12. package/components/data-list/opt-group.directive.d.ts +2 -2
  13. package/components/data-list/option/option-content.d.ts +6 -8
  14. package/components/data-list/option/option.directive.d.ts +7 -8
  15. package/components/index.d.ts +1 -4
  16. package/components/link/link.options.d.ts +1 -3
  17. package/components/loader/loader.options.d.ts +1 -3
  18. package/components/notification/index.d.ts +3 -0
  19. package/components/notification/notification.component.d.ts +14 -0
  20. package/components/notification/notification.d.ts +3 -0
  21. package/components/notification/notification.directive.d.ts +4 -5
  22. package/components/notification/notification.options.d.ts +10 -7
  23. package/components/notification/notification.service.d.ts +17 -0
  24. package/components/root/root.component.d.ts +1 -1
  25. package/components/textfield/textfield-multi/textfield-item.component.d.ts +3 -2
  26. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +8 -12
  27. package/components/textfield/textfield.component.d.ts +23 -35
  28. package/components/textfield/textfield.d.ts +1 -1
  29. package/components/textfield/textfield.directive.d.ts +6 -10
  30. package/directives/date-format/date-format.directive.d.ts +3 -7
  31. package/directives/group/group.directive.d.ts +7 -7
  32. package/directives/group/group.options.d.ts +1 -3
  33. package/directives/index.d.ts +0 -5
  34. package/directives/number-format/number-format.directive.d.ts +3 -7
  35. package/fesm2022/taiga-ui-core-classes.mjs +6 -8
  36. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-core-components-calendar.mjs +120 -21
  38. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-core-components-data-list.mjs +45 -205
  40. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-core-components-error.mjs +2 -1
  42. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-core-components-icon.mjs +1 -2
  44. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-core-components-link.mjs +6 -10
  46. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-core-components-loader.mjs +3 -8
  48. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-core-components-notification.mjs +92 -20
  50. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-core-components-root.mjs +6 -8
  52. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +1 -5
  54. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-core-components-textfield.mjs +95 -175
  56. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  57. package/fesm2022/{taiga-ui-core-directives-title.mjs → taiga-ui-core-components-title.mjs} +1 -1
  58. package/fesm2022/{taiga-ui-core-directives-title.mjs.map → taiga-ui-core-components-title.mjs.map} +1 -1
  59. package/fesm2022/taiga-ui-core-components.mjs +1 -4
  60. package/fesm2022/taiga-ui-core-components.mjs.map +1 -1
  61. package/fesm2022/taiga-ui-core-directives-appearance.mjs +6 -6
  62. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-core-directives-date-format.mjs +24 -18
  64. package/fesm2022/taiga-ui-core-directives-date-format.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-core-directives-group.mjs +17 -29
  66. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-core-directives-icons.mjs +2 -2
  68. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +1 -4
  70. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-core-directives-number-format.mjs +30 -18
  72. package/fesm2022/taiga-ui-core-directives-number-format.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-core-directives.mjs +0 -5
  74. package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +19 -13
  76. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-core-pipes.mjs +0 -7
  78. package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
  79. package/fesm2022/taiga-ui-core-portals-alert.mjs +73 -0
  80. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -0
  81. package/fesm2022/taiga-ui-core-portals-dialog.mjs +158 -0
  82. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -0
  83. package/fesm2022/{taiga-ui-core-directives-dropdown.mjs → taiga-ui-core-portals-dropdown.mjs} +112 -227
  84. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -0
  85. package/fesm2022/{taiga-ui-core-directives-hint.mjs → taiga-ui-core-portals-hint.mjs} +9 -11
  86. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -0
  87. package/fesm2022/taiga-ui-core-portals-modal.mjs +89 -0
  88. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -0
  89. package/fesm2022/{taiga-ui-core-directives-popup.mjs → taiga-ui-core-portals-popup.mjs} +2 -2
  90. package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -0
  91. package/fesm2022/taiga-ui-core-portals.mjs +11 -0
  92. package/fesm2022/taiga-ui-core-portals.mjs.map +1 -0
  93. package/fesm2022/taiga-ui-core-services.mjs +3 -23
  94. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  95. package/fesm2022/taiga-ui-core-tokens.mjs +22 -21
  96. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-core-utils-format.mjs +1 -22
  98. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  99. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +7 -16
  100. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  101. package/fesm2022/taiga-ui-core.mjs +1 -0
  102. package/fesm2022/taiga-ui-core.mjs.map +1 -1
  103. package/index.d.ts +1 -0
  104. package/package.json +71 -100
  105. package/pipes/format-number/format-number.pipe.d.ts +6 -4
  106. package/pipes/index.d.ts +0 -7
  107. package/{directives/notification/notification.directive.d.ts → portals/alert/alert.directive.d.ts} +3 -3
  108. package/{directives/notification/notification.service.d.ts → portals/alert/alert.service.d.ts} +3 -3
  109. package/portals/alert/index.d.ts +2 -0
  110. package/{components → portals}/dialog/dialog.component.d.ts +2 -3
  111. package/{components → portals}/dialog/dialog.options.d.ts +2 -3
  112. package/{components → portals}/dialog/dialog.providers.d.ts +1 -2
  113. package/{components → portals}/dialog/dialog.service.d.ts +1 -1
  114. package/{components → portals}/dialog/index.d.ts +0 -1
  115. package/{directives → portals}/dropdown/dropdown-hover.directive.d.ts +5 -10
  116. package/{directives → portals}/dropdown/dropdown-hover.options.d.ts +1 -3
  117. package/{directives → portals}/dropdown/dropdown-manual.directive.d.ts +2 -2
  118. package/portals/dropdown/dropdown-open.directive.d.ts +30 -0
  119. package/{directives → portals}/dropdown/dropdown-position-sided.directive.d.ts +3 -3
  120. package/{directives → portals}/dropdown/dropdown-position.directive.d.ts +5 -5
  121. package/{directives → portals}/dropdown/dropdown-selection.directive.d.ts +4 -5
  122. package/{directives → portals}/dropdown/dropdown.bindings.d.ts +0 -1
  123. package/{directives → portals}/dropdown/dropdown.d.ts +1 -2
  124. package/{directives → portals}/dropdown/dropdown.directive.d.ts +5 -6
  125. package/{directives → portals}/dropdown/index.d.ts +0 -1
  126. package/portals/index.d.ts +6 -0
  127. package/{components → portals}/modal/modal.component.d.ts +3 -3
  128. package/{components → portals}/modal/modal.service.d.ts +3 -3
  129. package/services/index.d.ts +0 -1
  130. package/styles/components/link.less +1 -0
  131. package/styles/mixins/appearance.less +1 -1
  132. package/styles/mixins/mixins.less +0 -5
  133. package/styles/mixins/mixins.scss +0 -5
  134. package/styles/mixins/slider.scss +1 -2
  135. package/styles/theme/variables.less +2 -4
  136. package/tokens/common-icons.d.ts +1 -3
  137. package/tokens/date-format.d.ts +2 -3
  138. package/tokens/icons.d.ts +0 -4
  139. package/tokens/number-format.d.ts +2 -3
  140. package/types/index.d.ts +0 -2
  141. package/types/size.d.ts +0 -11
  142. package/utils/format/index.d.ts +0 -1
  143. package/utils/miscellaneous/get-duration.d.ts +2 -0
  144. package/utils/miscellaneous/index.d.ts +1 -1
  145. package/components/alert/alert.component.d.ts +0 -14
  146. package/components/alert/alert.directive.d.ts +0 -8
  147. package/components/alert/alert.interfaces.d.ts +0 -13
  148. package/components/alert/alert.service.d.ts +0 -11
  149. package/components/alert/alert.tokens.d.ts +0 -6
  150. package/components/alert/index.d.ts +0 -5
  151. package/components/data-list/data-list.directive.d.ts +0 -7
  152. package/components/data-list/option/option-legacy.component.d.ts +0 -24
  153. package/components/dialog/active-zone-adapter.directive.d.ts +0 -11
  154. package/components/dialog/dialogs.component.d.ts +0 -8
  155. package/components/header/header.directive.d.ts +0 -17
  156. package/components/header/index.d.ts +0 -1
  157. package/directives/dropdown/dropdown-open-legacy.directive.d.ts +0 -12
  158. package/directives/dropdown/dropdown-open.directive.d.ts +0 -33
  159. package/directives/notification/index.d.ts +0 -2
  160. package/fesm2022/taiga-ui-core-components-alert.mjs +0 -110
  161. package/fesm2022/taiga-ui-core-components-alert.mjs.map +0 -1
  162. package/fesm2022/taiga-ui-core-components-dialog.mjs +0 -227
  163. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +0 -1
  164. package/fesm2022/taiga-ui-core-components-header.mjs +0 -42
  165. package/fesm2022/taiga-ui-core-components-header.mjs.map +0 -1
  166. package/fesm2022/taiga-ui-core-components-modal.mjs +0 -89
  167. package/fesm2022/taiga-ui-core-components-modal.mjs.map +0 -1
  168. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +0 -1
  169. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +0 -1
  170. package/fesm2022/taiga-ui-core-directives-notification.mjs +0 -73
  171. package/fesm2022/taiga-ui-core-directives-notification.mjs.map +0 -1
  172. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +0 -1
  173. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +0 -25
  174. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +0 -1
  175. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +0 -94
  176. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +0 -1
  177. package/fesm2022/taiga-ui-core-pipes-flag.mjs +0 -32
  178. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +0 -1
  179. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +0 -28
  180. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +0 -1
  181. package/fesm2022/taiga-ui-core-pipes-initials.mjs +0 -29
  182. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +0 -1
  183. package/fesm2022/taiga-ui-core-pipes-month.mjs +0 -30
  184. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +0 -1
  185. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +0 -36
  186. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +0 -1
  187. package/pipes/auto-color/auto-color.pipe.d.ts +0 -7
  188. package/pipes/auto-color/index.d.ts +0 -1
  189. package/pipes/calendar-sheet/index.d.ts +0 -1
  190. package/pipes/calendar-sheet/utils.d.ts +0 -20
  191. package/pipes/flag/flag.pipe.d.ts +0 -14
  192. package/pipes/flag/index.d.ts +0 -1
  193. package/pipes/format-date/format-date.pipe.d.ts +0 -9
  194. package/pipes/format-date/index.d.ts +0 -1
  195. package/pipes/initials/index.d.ts +0 -1
  196. package/pipes/initials/initials.pipe.d.ts +0 -7
  197. package/pipes/month/index.d.ts +0 -1
  198. package/pipes/month/month.pipe.d.ts +0 -10
  199. package/pipes/order-week-days/index.d.ts +0 -1
  200. package/services/format-date.service.d.ts +0 -8
  201. package/types/range-state.d.ts +0 -4
  202. package/types/value-content-context.d.ts +0 -4
  203. package/utils/format/string-hash-to-hsl.d.ts +0 -6
  204. package/utils/miscellaneous/to-animation-options.d.ts +0 -4
  205. /package/{pipes/order-week-days → components/calendar}/order-week-days.pipe.d.ts +0 -0
  206. /package/{directives → components}/title/index.d.ts +0 -0
  207. /package/{directives → components}/title/title.directive.d.ts +0 -0
  208. /package/{components → portals}/dialog/dialog.directive.d.ts +0 -0
  209. /package/{components → portals}/dialog/dialog.factory.d.ts +0 -0
  210. /package/{directives → portals}/dropdown/dropdown-content.directive.d.ts +0 -0
  211. /package/{directives → portals}/dropdown/dropdown-context.directive.d.ts +0 -0
  212. /package/{directives → portals}/dropdown/dropdown-limit-width.d.ts +0 -0
  213. /package/{directives → portals}/dropdown/dropdown-options.directive.d.ts +0 -0
  214. /package/{directives → portals}/dropdown/dropdown.component.d.ts +0 -0
  215. /package/{directives → portals}/dropdown/dropdown.driver.d.ts +0 -0
  216. /package/{directives → portals}/dropdown/dropdown.providers.d.ts +0 -0
  217. /package/{directives → portals}/dropdown/with-dropdown-open.directive.d.ts +0 -0
  218. /package/{directives → portals}/hint/hint-describe.directive.d.ts +0 -0
  219. /package/{directives → portals}/hint/hint-driver.directive.d.ts +0 -0
  220. /package/{directives → portals}/hint/hint-host.directive.d.ts +0 -0
  221. /package/{directives → portals}/hint/hint-hover.directive.d.ts +0 -0
  222. /package/{directives → portals}/hint/hint-manual.directive.d.ts +0 -0
  223. /package/{directives → portals}/hint/hint-options.directive.d.ts +0 -0
  224. /package/{directives → portals}/hint/hint-overflow.directive.d.ts +0 -0
  225. /package/{directives → portals}/hint/hint-pointer.directive.d.ts +0 -0
  226. /package/{directives → portals}/hint/hint-position.directive.d.ts +0 -0
  227. /package/{directives → portals}/hint/hint-unstyled.component.d.ts +0 -0
  228. /package/{directives → portals}/hint/hint.component.d.ts +0 -0
  229. /package/{directives → portals}/hint/hint.d.ts +0 -0
  230. /package/{directives → portals}/hint/hint.directive.d.ts +0 -0
  231. /package/{directives → portals}/hint/hint.providers.d.ts +0 -0
  232. /package/{directives → portals}/hint/index.d.ts +0 -0
  233. /package/{components → portals}/modal/index.d.ts +0 -0
  234. /package/{directives → portals}/popup/index.d.ts +0 -0
  235. /package/{directives → portals}/popup/popup.directive.d.ts +0 -0
  236. /package/{directives → portals}/popup/popup.service.d.ts +0 -0
  237. /package/{directives → portals}/popup/popups.component.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-group.mjs","sources":["../../../projects/core/directives/group/group.options.ts","../../../projects/core/directives/group/group.directive.ts","../../../projects/core/directives/group/taiga-ui-core-directives-group.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiOrientation, type TuiSizeL} from '@taiga-ui/core/types';\n\nexport interface TuiGroupOptions {\n readonly size: TuiSizeL;\n readonly collapsed: boolean;\n readonly rounded: boolean;\n readonly orientation: TuiOrientation;\n}\n\nexport const TUI_GROUP_DEFAULT_OPTIONS: TuiGroupOptions = {\n size: 'l',\n collapsed: false,\n rounded: true,\n orientation: 'horizontal',\n};\n\nexport const TUI_GROUP_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_GROUP_OPTIONS' : '',\n {\n factory: () => TUI_GROUP_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiGroupOptionsProvider(options: Partial<TuiGroupOptions>): Provider {\n return tuiProvideOptions(TUI_GROUP_OPTIONS, options, TUI_GROUP_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiOrientation, type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nimport {TUI_GROUP_OPTIONS} from './group.options';\n\n@Component({\n template: '',\n styleUrl: './group.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-group'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiGroup]:not(ng-container)',\n host: {\n tuiGroup: '',\n '[attr.data-orientation]': 'orientation',\n '[attr.data-size]': 'size',\n '[style.--t-group-radius]': 'rounded ? null : 0',\n '[style.--t-group-margin.rem]': 'collapsed ? null : 0.125',\n '[style.--t-group-mask]': 'collapsed ? null : \"none\"',\n '[style.--t-group-mask-start]': 'collapsed ? null : \"none\"',\n '[style.--t-group-mask-end]': 'collapsed ? null : \"none\"',\n },\n})\nexport class TuiGroup {\n private readonly options = inject(TUI_GROUP_OPTIONS);\n\n protected readonly nothing = tuiWithStyles(Styles);\n\n @Input()\n public orientation: TuiOrientation = this.options.orientation;\n\n @Input()\n public collapsed = this.options.collapsed;\n\n @Input()\n public rounded = this.options.rounded;\n\n @Input()\n public size: TuiSizeL | TuiSizeS = this.options.size;\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-directives-group.mjs","sources":["../../../projects/core/directives/group/group.options.ts","../../../projects/core/directives/group/group.directive.ts","../../../projects/core/directives/group/taiga-ui-core-directives-group.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiOrientation, type TuiSizeL} from '@taiga-ui/core/types';\n\nexport interface TuiGroupOptions {\n readonly size: TuiSizeL;\n readonly collapsed: boolean;\n readonly rounded: boolean;\n readonly orientation: TuiOrientation;\n}\n\nexport const TUI_GROUP_DEFAULT_OPTIONS: TuiGroupOptions = {\n size: 'l',\n collapsed: false,\n rounded: true,\n orientation: 'horizontal',\n};\n\nexport const [TUI_GROUP_OPTIONS, tuiGroupOptionsProvider] = tuiCreateOptions(\n TUI_GROUP_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiOrientation, type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nimport {TUI_GROUP_OPTIONS} from './group.options';\n\n@Component({\n template: '',\n styleUrl: './group.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-group'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiGroup]:not(ng-container)',\n host: {\n tuiGroup: '',\n '[attr.data-orientation]': 'orientation()',\n '[attr.data-size]': 'size()',\n '[style.--t-group-radius]': 'rounded() ? null : 0',\n '[style.--t-group-margin.rem]': 'collapsed() ? null : 0.125',\n '[style.--t-group-mask]': 'collapsed() ? null : \"none\"',\n '[style.--t-group-mask-start]': 'collapsed() ? null : \"none\"',\n '[style.--t-group-mask-end]': 'collapsed() ? null : \"none\"',\n },\n})\nexport class TuiGroup {\n protected readonly options = inject(TUI_GROUP_OPTIONS);\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly orientation = input<TuiOrientation>(this.options.orientation);\n public readonly collapsed = input(this.options.collapsed);\n public readonly rounded = input(this.options.rounded);\n public readonly size = input<TuiSizeL | TuiSizeS>(this.options.size);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { tuiWithStyles, tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous';
1
+ import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils/di';
2
2
  import * as i0 from '@angular/core';
3
3
  import { ChangeDetectionStrategy, ViewEncapsulation, Component, computed, input, inject, Directive } from '@angular/core';
4
+ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
5
  import { tuiInjectIconResolver, tuiGetIconMode, TUI_ICON_END, TUI_ICON_START } from '@taiga-ui/core/tokens';
5
6
 
6
7
  const OPT = { self: true, optional: true };
@@ -61,7 +62,6 @@ class TuiWithIcons {
61
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithIcons, decorators: [{
62
63
  type: Directive,
63
64
  args: [{
64
- standalone: true,
65
65
  hostDirectives: [
66
66
  {
67
67
  directive: TuiIcons,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-icons.mjs","sources":["../../../projects/core/directives/icons/icons.directive.ts","../../../projects/core/directives/icons/icons.bindings.ts","../../../projects/core/directives/icons/with-icons.ts","../../../projects/core/directives/icons/taiga-ui-core-directives-icons.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_ICON_END,\n TUI_ICON_START,\n tuiGetIconMode,\n tuiInjectIconResolver,\n} from '@taiga-ui/core/tokens';\n\nconst OPT = {self: true, optional: true} as const;\n\n@Component({\n template: '',\n styles: '@import \"@taiga-ui/core/styles/components/icons.less\";',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-icons'},\n})\nclass Styles {}\n\n@Directive({\n host: {\n tuiIcons: '',\n '[style.--t-icon-start]': 'start()',\n '[style.--t-icon-end]': 'end()',\n '[attr.data-icon-start]': 'startMode()',\n '[attr.data-icon-end]': 'endMode()',\n },\n})\nexport class TuiIcons {\n private readonly resolver: TuiStringHandler<string> = tuiInjectIconResolver();\n\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly start = computed(() => this.resolve(this.iconStart()));\n protected readonly end = computed(() => this.resolve(this.iconEnd()));\n protected readonly startMode = computed(() => tuiGetIconMode(this.iconStart()));\n protected readonly endMode = computed(() => tuiGetIconMode(this.iconEnd()));\n\n public readonly iconEnd = input(inject<string | undefined>(TUI_ICON_END, OPT));\n public readonly iconStart = input(inject<string | undefined>(TUI_ICON_START, OPT));\n\n public resolve(icon?: string | null): string | null {\n if (!icon) {\n return null;\n }\n\n return tuiGetIconMode(icon) === 'font'\n ? `'${this.resolver(icon)}'`\n : `url(${this.resolver(icon)})`;\n }\n}\n","import {type InjectOptions, type Signal, type WritableSignal} from '@angular/core';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiIcons} from './icons.directive';\n\nexport function tuiIconStart(\n value: WritableSignal<string> | string,\n options?: InjectOptions,\n): WritableSignal<string>;\nexport function tuiIconStart(\n value: Signal<string>,\n options?: InjectOptions,\n): Signal<string>;\nexport function tuiIconStart(\n value: Signal<string> | string,\n options?: InjectOptions,\n): Signal<string> {\n return tuiDirectiveBinding(TuiIcons, 'iconStart', value, options);\n}\n\nexport function tuiIconEnd(\n value: WritableSignal<string> | string,\n options?: InjectOptions,\n): WritableSignal<string>;\nexport function tuiIconEnd(\n value: Signal<string>,\n options?: InjectOptions,\n): Signal<string>;\nexport function tuiIconEnd(\n value: Signal<string> | string,\n options: InjectOptions = {},\n): Signal<string> {\n return tuiDirectiveBinding(TuiIcons, 'iconEnd', value, options);\n}\n","import {Directive} from '@angular/core';\n\nimport {TuiIcons} from './icons.directive';\n\n@Directive({\n standalone: true,\n hostDirectives: [\n {\n directive: TuiIcons,\n inputs: ['iconStart', 'iconEnd'],\n },\n ],\n})\nexport class TuiWithIcons {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiIcons"],"mappings":";;;;;AAkBA,MAAM,GAAG,GAAG,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAU;AAEjD,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,wpCAAA,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,wpCAAA,CAAA,EAAA;;MAajB,QAAQ,CAAA;AATrB,IAAA,WAAA,GAAA;QAUqB,IAAQ,CAAA,QAAA,GAA6B,qBAAqB,EAAE;AAE1D,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;AAC/B,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AACtD,QAAA,IAAA,CAAA,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAClD,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5D,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAE3D,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC,MAAM,CAAqB,YAAY,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC,MAAM,CAAqB,cAAc,EAAE,GAAG,CAAC,CAAC;AAWrF;AATU,IAAA,OAAO,CAAC,IAAoB,EAAA;QAC/B,IAAI,CAAC,IAAI,EAAE;AACP,YAAA,OAAO,IAAI;;AAGf,QAAA,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK;cAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAG,CAAA;cAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG;;+GAnB9B,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,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,sBAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBATpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,IAAI,EAAE;AACF,wBAAA,QAAQ,EAAE,EAAE;AACZ,wBAAA,wBAAwB,EAAE,SAAS;AACnC,wBAAA,sBAAsB,EAAE,OAAO;AAC/B,wBAAA,wBAAwB,EAAE,aAAa;AACvC,wBAAA,sBAAsB,EAAE,WAAW;AACtC,qBAAA;AACJ,iBAAA;;;ACxBe,SAAA,YAAY,CACxB,KAA8B,EAC9B,OAAuB,EAAA;IAEvB,OAAO,mBAAmB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC;AACrE;SAUgB,UAAU,CACtB,KAA8B,EAC9B,UAAyB,EAAE,EAAA;IAE3B,OAAO,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC;AACnE;;MCpBa,YAAY,CAAA;+GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBATxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,cAAc,EAAE;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,QAAQ;AACnB,4BAAA,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;AACnC,yBAAA;AACJ,qBAAA;AACJ,iBAAA;;;ACZD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-directives-icons.mjs","sources":["../../../projects/core/directives/icons/icons.directive.ts","../../../projects/core/directives/icons/icons.bindings.ts","../../../projects/core/directives/icons/with-icons.ts","../../../projects/core/directives/icons/taiga-ui-core-directives-icons.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_ICON_END,\n TUI_ICON_START,\n tuiGetIconMode,\n tuiInjectIconResolver,\n} from '@taiga-ui/core/tokens';\n\nconst OPT = {self: true, optional: true} as const;\n\n@Component({\n template: '',\n styles: '@import \"@taiga-ui/core/styles/components/icons.less\";',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-icons'},\n})\nclass Styles {}\n\n@Directive({\n host: {\n tuiIcons: '',\n '[style.--t-icon-start]': 'start()',\n '[style.--t-icon-end]': 'end()',\n '[attr.data-icon-start]': 'startMode()',\n '[attr.data-icon-end]': 'endMode()',\n },\n})\nexport class TuiIcons {\n private readonly resolver: TuiStringHandler<string> = tuiInjectIconResolver();\n\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly start = computed(() => this.resolve(this.iconStart()));\n protected readonly end = computed(() => this.resolve(this.iconEnd()));\n protected readonly startMode = computed(() => tuiGetIconMode(this.iconStart()));\n protected readonly endMode = computed(() => tuiGetIconMode(this.iconEnd()));\n\n public readonly iconEnd = input(inject<string | undefined>(TUI_ICON_END, OPT));\n public readonly iconStart = input(inject<string | undefined>(TUI_ICON_START, OPT));\n\n public resolve(icon?: string | null): string | null {\n if (!icon) {\n return null;\n }\n\n return tuiGetIconMode(icon) === 'font'\n ? `'${this.resolver(icon)}'`\n : `url(${this.resolver(icon)})`;\n }\n}\n","import {type InjectOptions, type Signal, type WritableSignal} from '@angular/core';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/di';\n\nimport {TuiIcons} from './icons.directive';\n\nexport function tuiIconStart(\n value: WritableSignal<string> | string,\n options?: InjectOptions,\n): WritableSignal<string>;\nexport function tuiIconStart(\n value: Signal<string>,\n options?: InjectOptions,\n): Signal<string>;\nexport function tuiIconStart(\n value: Signal<string> | string,\n options?: InjectOptions,\n): Signal<string> {\n return tuiDirectiveBinding(TuiIcons, 'iconStart', value, options);\n}\n\nexport function tuiIconEnd(\n value: WritableSignal<string> | string,\n options?: InjectOptions,\n): WritableSignal<string>;\nexport function tuiIconEnd(\n value: Signal<string>,\n options?: InjectOptions,\n): Signal<string>;\nexport function tuiIconEnd(\n value: Signal<string> | string,\n options: InjectOptions = {},\n): Signal<string> {\n return tuiDirectiveBinding(TuiIcons, 'iconEnd', value, options);\n}\n","import {Directive} from '@angular/core';\n\nimport {TuiIcons} from './icons.directive';\n\n@Directive({\n hostDirectives: [\n {\n directive: TuiIcons,\n inputs: ['iconStart', 'iconEnd'],\n },\n ],\n})\nexport class TuiWithIcons {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiIcons"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { signal, InjectionToken, Optional, SkipSelf, inject, Input, Directive, effect } from '@angular/core';
3
- import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
3
+ import { tuiProvide } from '@taiga-ui/cdk/utils/di';
4
4
  import { TUI_FALSE_HANDLER, TUI_DEFAULT_IDENTITY_MATCHER } from '@taiga-ui/cdk/constants';
5
5
  import { NG_VALIDATORS } from '@angular/forms';
6
6
  import { TuiValidator } from '@taiga-ui/cdk/directives/validator';
@@ -57,7 +57,6 @@ class TuiItemsHandlersDirective {
57
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemsHandlersDirective, decorators: [{
58
58
  type: Directive,
59
59
  args: [{
60
- standalone: true,
61
60
  providers: [tuiProvide(TUI_ITEMS_HANDLERS, TuiItemsHandlersDirective)],
62
61
  }]
63
62
  }], propDecorators: { stringifySetter: [{
@@ -77,7 +76,6 @@ class TuiWithItemsHandlers {
77
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithItemsHandlers, decorators: [{
78
77
  type: Directive,
79
78
  args: [{
80
- standalone: true,
81
79
  hostDirectives: [
82
80
  {
83
81
  directive: TuiItemsHandlersDirective,
@@ -106,7 +104,6 @@ class TuiItemsHandlersValidator extends TuiValidator {
106
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemsHandlersValidator, decorators: [{
107
105
  type: Directive,
108
106
  args: [{
109
- standalone: true,
110
107
  providers: [tuiProvide(NG_VALIDATORS, TuiItemsHandlersValidator, true)],
111
108
  }]
112
109
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-items-handlers.mjs","sources":["../../../projects/core/directives/items-handlers/items-handlers.tokens.ts","../../../projects/core/directives/items-handlers/items-handlers.directive.ts","../../../projects/core/directives/items-handlers/items-handlers.validator.ts","../../../projects/core/directives/items-handlers/taiga-ui-core-directives-items-handlers.ts"],"sourcesContent":["import {\n InjectionToken,\n Optional,\n type Provider,\n signal,\n SkipSelf,\n type WritableSignal,\n} from '@angular/core';\nimport {TUI_DEFAULT_IDENTITY_MATCHER, TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n type TuiBooleanHandler,\n type TuiIdentityMatcher,\n type TuiStringHandler,\n} from '@taiga-ui/cdk/types';\n\nexport interface TuiItemsHandlers<T> {\n readonly disabledItemHandler: WritableSignal<TuiBooleanHandler<T>>;\n readonly identityMatcher: WritableSignal<TuiIdentityMatcher<T>>;\n readonly stringify: WritableSignal<TuiStringHandler<T>>;\n}\n\nexport const TUI_DEFAULT_ITEMS_HANDLERS: TuiItemsHandlers<unknown> = {\n stringify: signal(String),\n identityMatcher: signal(TUI_DEFAULT_IDENTITY_MATCHER),\n disabledItemHandler: signal(TUI_FALSE_HANDLER),\n};\n\n/**\n * Default items handlers for components\n */\nexport const TUI_ITEMS_HANDLERS = new InjectionToken(\n ngDevMode ? 'TUI_ITEMS_HANDLERS' : '',\n {\n factory: () => TUI_DEFAULT_ITEMS_HANDLERS,\n },\n);\n\nexport function tuiItemsHandlersProvider<T>(\n options: Partial<TuiItemsHandlers<T>>,\n): Provider {\n return {\n provide: TUI_ITEMS_HANDLERS,\n deps: [[new Optional(), new SkipSelf(), TUI_ITEMS_HANDLERS]],\n useFactory: (parent: TuiItemsHandlers<T> | null): TuiItemsHandlers<T> => ({\n stringify: signal(\n parent?.stringify() ?? TUI_DEFAULT_ITEMS_HANDLERS.stringify(),\n ),\n identityMatcher: signal(\n parent?.identityMatcher() ?? TUI_DEFAULT_ITEMS_HANDLERS.identityMatcher(),\n ),\n disabledItemHandler: signal(\n parent?.disabledItemHandler() ??\n TUI_DEFAULT_ITEMS_HANDLERS.disabledItemHandler(),\n ),\n ...options,\n }),\n };\n}\n","import {Directive, inject, Input, signal} from '@angular/core';\nimport {\n type TuiBooleanHandler,\n type TuiIdentityMatcher,\n type TuiStringHandler,\n} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TUI_ITEMS_HANDLERS, type TuiItemsHandlers} from './items-handlers.tokens';\n\n@Directive({\n standalone: true,\n providers: [tuiProvide(TUI_ITEMS_HANDLERS, TuiItemsHandlersDirective)],\n})\nexport class TuiItemsHandlersDirective<T> implements TuiItemsHandlers<T> {\n private readonly defaultHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS, {\n skipSelf: true,\n });\n\n public readonly stringify = signal(this.defaultHandlers.stringify());\n public readonly identityMatcher = signal(this.defaultHandlers.identityMatcher());\n public readonly disabledItemHandler = signal(\n this.defaultHandlers.disabledItemHandler(),\n );\n\n // TODO(v5): use signal inputs\n @Input('stringify')\n public set stringifySetter(x: TuiStringHandler<T>) {\n this.stringify.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('identityMatcher')\n public set identityMatcherSetter(x: TuiIdentityMatcher<T>) {\n this.identityMatcher.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('disabledItemHandler')\n public set disabledItemHandlerSetter(x: TuiBooleanHandler<T>) {\n this.disabledItemHandler.set(x);\n }\n}\n\n@Directive({\n standalone: true,\n hostDirectives: [\n {\n directive: TuiItemsHandlersDirective,\n inputs: ['stringify', 'identityMatcher', 'disabledItemHandler'],\n },\n ],\n})\nexport class TuiWithItemsHandlers {}\n","import {Directive, effect, inject} from '@angular/core';\nimport {NG_VALIDATORS, type ValidatorFn} from '@angular/forms';\nimport {TuiValidator} from '@taiga-ui/cdk/directives/validator';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiItemsHandlersDirective} from './items-handlers.directive';\n\n@Directive({\n standalone: true,\n providers: [tuiProvide(NG_VALIDATORS, TuiItemsHandlersValidator, true)],\n})\nexport class TuiItemsHandlersValidator extends TuiValidator {\n private readonly handlers = inject(TuiItemsHandlersDirective);\n\n protected readonly update = effect(() => {\n this.handlers.disabledItemHandler();\n this.onChange();\n });\n\n public disabledItemHandler: TuiBooleanHandler<any> = (value) =>\n Array.isArray(value)\n ? value.some((item) => this.handlers.disabledItemHandler()(item))\n : Boolean(value) && this.handlers.disabledItemHandler()(value);\n\n public override validate: ValidatorFn = ({value}) =>\n this.disabledItemHandler(value) ? {tuiDisabledItem: value} : null;\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-directives-items-handlers.mjs","sources":["../../../projects/core/directives/items-handlers/items-handlers.tokens.ts","../../../projects/core/directives/items-handlers/items-handlers.directive.ts","../../../projects/core/directives/items-handlers/items-handlers.validator.ts","../../../projects/core/directives/items-handlers/taiga-ui-core-directives-items-handlers.ts"],"sourcesContent":["import {\n InjectionToken,\n Optional,\n type Provider,\n signal,\n SkipSelf,\n type WritableSignal,\n} from '@angular/core';\nimport {TUI_DEFAULT_IDENTITY_MATCHER, TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n type TuiBooleanHandler,\n type TuiIdentityMatcher,\n type TuiStringHandler,\n} from '@taiga-ui/cdk/types';\n\nexport interface TuiItemsHandlers<T> {\n readonly disabledItemHandler: WritableSignal<TuiBooleanHandler<T>>;\n readonly identityMatcher: WritableSignal<TuiIdentityMatcher<T>>;\n readonly stringify: WritableSignal<TuiStringHandler<T>>;\n}\n\nexport const TUI_DEFAULT_ITEMS_HANDLERS: TuiItemsHandlers<unknown> = {\n stringify: signal(String),\n identityMatcher: signal(TUI_DEFAULT_IDENTITY_MATCHER),\n disabledItemHandler: signal(TUI_FALSE_HANDLER),\n};\n\n/**\n * Default items handlers for components\n */\nexport const TUI_ITEMS_HANDLERS = new InjectionToken(\n ngDevMode ? 'TUI_ITEMS_HANDLERS' : '',\n {\n factory: () => TUI_DEFAULT_ITEMS_HANDLERS,\n },\n);\n\nexport function tuiItemsHandlersProvider<T>(\n options: Partial<TuiItemsHandlers<T>>,\n): Provider {\n return {\n provide: TUI_ITEMS_HANDLERS,\n deps: [[new Optional(), new SkipSelf(), TUI_ITEMS_HANDLERS]],\n useFactory: (parent: TuiItemsHandlers<T> | null): TuiItemsHandlers<T> => ({\n stringify: signal(\n parent?.stringify() ?? TUI_DEFAULT_ITEMS_HANDLERS.stringify(),\n ),\n identityMatcher: signal(\n parent?.identityMatcher() ?? TUI_DEFAULT_ITEMS_HANDLERS.identityMatcher(),\n ),\n disabledItemHandler: signal(\n parent?.disabledItemHandler() ??\n TUI_DEFAULT_ITEMS_HANDLERS.disabledItemHandler(),\n ),\n ...options,\n }),\n };\n}\n","import {Directive, inject, Input, signal} from '@angular/core';\nimport {\n type TuiBooleanHandler,\n type TuiIdentityMatcher,\n type TuiStringHandler,\n} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nimport {TUI_ITEMS_HANDLERS, type TuiItemsHandlers} from './items-handlers.tokens';\n\n@Directive({\n providers: [tuiProvide(TUI_ITEMS_HANDLERS, TuiItemsHandlersDirective)],\n})\nexport class TuiItemsHandlersDirective<T> implements TuiItemsHandlers<T> {\n private readonly defaultHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS, {\n skipSelf: true,\n });\n\n public readonly stringify = signal(this.defaultHandlers.stringify());\n public readonly identityMatcher = signal(this.defaultHandlers.identityMatcher());\n public readonly disabledItemHandler = signal(\n this.defaultHandlers.disabledItemHandler(),\n );\n\n // TODO(v5): use signal inputs\n @Input('stringify')\n public set stringifySetter(x: TuiStringHandler<T>) {\n this.stringify.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('identityMatcher')\n public set identityMatcherSetter(x: TuiIdentityMatcher<T>) {\n this.identityMatcher.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('disabledItemHandler')\n public set disabledItemHandlerSetter(x: TuiBooleanHandler<T>) {\n this.disabledItemHandler.set(x);\n }\n}\n\n@Directive({\n hostDirectives: [\n {\n directive: TuiItemsHandlersDirective,\n inputs: ['stringify', 'identityMatcher', 'disabledItemHandler'],\n },\n ],\n})\nexport class TuiWithItemsHandlers {}\n","import {Directive, effect, inject} from '@angular/core';\nimport {NG_VALIDATORS, type ValidatorFn} from '@angular/forms';\nimport {TuiValidator} from '@taiga-ui/cdk/directives/validator';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nimport {TuiItemsHandlersDirective} from './items-handlers.directive';\n\n@Directive({\n providers: [tuiProvide(NG_VALIDATORS, TuiItemsHandlersValidator, true)],\n})\nexport class TuiItemsHandlersValidator extends TuiValidator {\n private readonly handlers = inject(TuiItemsHandlersDirective);\n\n protected readonly update = effect(() => {\n this.handlers.disabledItemHandler();\n this.onChange();\n });\n\n public disabledItemHandler: TuiBooleanHandler<any> = (value) =>\n Array.isArray(value)\n ? value.some((item) => this.handlers.disabledItemHandler()(item))\n : Boolean(value) && this.handlers.disabledItemHandler()(value);\n\n public override validate: ValidatorFn = ({value}) =>\n this.disabledItemHandler(value) ? {tuiDisabledItem: value} : null;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAqBa,MAAA,0BAA0B,GAA8B;AACjE,IAAA,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;AACzB,IAAA,eAAe,EAAE,MAAM,CAAC,4BAA4B,CAAC;AACrD,IAAA,mBAAmB,EAAE,MAAM,CAAC,iBAAiB,CAAC;;AAGlD;;AAEG;AACU,MAAA,kBAAkB,GAAG,IAAI,cAAc,CAChD,SAAS,GAAG,oBAAoB,GAAG,EAAE,EACrC;AACI,IAAA,OAAO,EAAE,MAAM,0BAA0B;AAC5C,CAAA;AAGC,SAAU,wBAAwB,CACpC,OAAqC,EAAA;IAErC,OAAO;AACH,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAC5D,QAAA,UAAU,EAAE,CAAC,MAAkC,MAA2B;AACtE,YAAA,SAAS,EAAE,MAAM,CACb,MAAM,EAAE,SAAS,EAAE,IAAI,0BAA0B,CAAC,SAAS,EAAE,CAChE;AACD,YAAA,eAAe,EAAE,MAAM,CACnB,MAAM,EAAE,eAAe,EAAE,IAAI,0BAA0B,CAAC,eAAe,EAAE,CAC5E;AACD,YAAA,mBAAmB,EAAE,MAAM,CACvB,MAAM,EAAE,mBAAmB,EAAE;gBACzB,0BAA0B,CAAC,mBAAmB,EAAE,CACvD;AACD,YAAA,GAAG,OAAO;SACb,CAAC;KACL;AACL;;MC5Ca,yBAAyB,CAAA;AAHtC,IAAA,WAAA,GAAA;AAIqB,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAsB,kBAAkB,EAAE;AAC/E,YAAA,QAAQ,EAAE,IAAI;AACjB,SAAA,CAAC;QAEc,IAAS,CAAA,SAAA,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QACpD,IAAe,CAAA,eAAA,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;QAChE,IAAmB,CAAA,mBAAA,GAAG,MAAM,CACxC,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAC7C;AAmBJ;;IAhBG,IACW,eAAe,CAAC,CAAsB,EAAA;AAC7C,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;;;IAIzB,IACW,qBAAqB,CAAC,CAAwB,EAAA;AACrD,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;;;IAI/B,IACW,yBAAyB,CAAC,CAAuB,EAAA;AACxD,QAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;;+GA1B1B,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,CAAA,WAAA,EAAA,iBAAA,CAAA,EAAA,qBAAA,EAAA,CAAA,iBAAA,EAAA,uBAAA,CAAA,EAAA,yBAAA,EAAA,CAAA,qBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,SAAA,EAFvB,CAAC,UAAU,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAE7D,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,SAAS,EAAE,CAAC,UAAU,CAAC,kBAAkB,4BAA4B,CAAC;AACzE,iBAAA;8BAcc,eAAe,EAAA,CAAA;sBADzB,KAAK;uBAAC,WAAW;gBAOP,qBAAqB,EAAA,CAAA;sBAD/B,KAAK;uBAAC,iBAAiB;gBAOb,yBAAyB,EAAA,CAAA;sBADnC,KAAK;uBAAC,qBAAqB;;MAcnB,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,oDAtCpB,yBAAyB,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAsCzB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,cAAc,EAAE;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,yBAAyB;AACpC,4BAAA,MAAM,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;AAClE,yBAAA;AACJ,qBAAA;AACJ,iBAAA;;;ACvCK,MAAO,yBAA0B,SAAQ,YAAY,CAAA;AAH3D,IAAA,WAAA,GAAA;;AAIqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAE1C,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAK;AACpC,YAAA,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;YACnC,IAAI,CAAC,QAAQ,EAAE;AACnB,SAAC,CAAC;QAEK,IAAmB,CAAA,mBAAA,GAA2B,CAAC,KAAK,KACvD,KAAK,CAAC,OAAO,CAAC,KAAK;AACf,cAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC;AAChE,cAAE,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC;QAEtD,IAAQ,CAAA,QAAA,GAAgB,CAAC,EAAC,KAAK,EAAC,KAC5C,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAC,eAAe,EAAE,KAAK,EAAC,GAAG,IAAI;AACxE;+GAfY,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,SAAA,EAFvB,CAAC,UAAU,CAAC,aAAa,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAE9D,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;oBACP,SAAS,EAAE,CAAC,UAAU,CAAC,aAAa,EAA6B,yBAAA,EAAA,IAAI,CAAC,CAAC;AAC1E,iBAAA;;;ACVD;;AAEG;;;;"}
@@ -1,33 +1,45 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Input, Directive } from '@angular/core';
3
- import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
2
+ import { input, inject, computed, Directive } from '@angular/core';
4
3
  import { TUI_NUMBER_FORMAT } from '@taiga-ui/core/tokens';
5
- import { Observable, combineLatest, map, ReplaySubject } from 'rxjs';
6
4
 
7
- class TuiNumberFormat extends Observable {
5
+ class TuiNumberFormat {
8
6
  constructor() {
9
- super((subscriber) => combineLatest([this.parent, this.settings])
10
- .pipe(map(([parent, settings]) => ({ ...parent, ...settings })))
11
- .subscribe(subscriber));
12
- this.settings = new ReplaySubject(1);
13
- this.parent = inject(TUI_NUMBER_FORMAT, { skipSelf: true });
14
- }
15
- set tuiNumberFormat(format) {
16
- this.settings.next(format);
7
+ this.tuiNumberFormat = input.required();
17
8
  }
18
9
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNumberFormat, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiNumberFormat, isStandalone: true, selector: "[tuiNumberFormat]", inputs: { tuiNumberFormat: "tuiNumberFormat" }, providers: [tuiProvide(TUI_NUMBER_FORMAT, TuiNumberFormat)], usesInheritance: true, ngImport: i0 }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiNumberFormat, isStandalone: true, selector: "[tuiNumberFormat]", inputs: { tuiNumberFormat: { classPropertyName: "tuiNumberFormat", publicName: "tuiNumberFormat", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
11
+ {
12
+ provide: TUI_NUMBER_FORMAT,
13
+ useFactory: () => {
14
+ const parent = inject(TUI_NUMBER_FORMAT, { skipSelf: true });
15
+ const format = inject(TuiNumberFormat).tuiNumberFormat;
16
+ return computed(() => ({
17
+ ...parent(),
18
+ ...format(),
19
+ }));
20
+ },
21
+ },
22
+ ], ngImport: i0 }); }
20
23
  }
21
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNumberFormat, decorators: [{
22
25
  type: Directive,
23
26
  args: [{
24
- standalone: true,
25
27
  selector: '[tuiNumberFormat]',
26
- providers: [tuiProvide(TUI_NUMBER_FORMAT, TuiNumberFormat)],
28
+ providers: [
29
+ {
30
+ provide: TUI_NUMBER_FORMAT,
31
+ useFactory: () => {
32
+ const parent = inject(TUI_NUMBER_FORMAT, { skipSelf: true });
33
+ const format = inject(TuiNumberFormat).tuiNumberFormat;
34
+ return computed(() => ({
35
+ ...parent(),
36
+ ...format(),
37
+ }));
38
+ },
39
+ },
40
+ ],
27
41
  }]
28
- }], ctorParameters: () => [], propDecorators: { tuiNumberFormat: [{
29
- type: Input
30
- }] } });
42
+ }] });
31
43
 
32
44
  /**
33
45
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-number-format.mjs","sources":["../../../projects/core/directives/number-format/number-format.directive.ts","../../../projects/core/directives/number-format/taiga-ui-core-directives-number-format.ts"],"sourcesContent":["import {Directive, inject, Input} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_NUMBER_FORMAT, type TuiNumberFormatSettings} from '@taiga-ui/core/tokens';\nimport {combineLatest, map, Observable, ReplaySubject} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiNumberFormat]',\n providers: [tuiProvide(TUI_NUMBER_FORMAT, TuiNumberFormat)],\n})\nexport class TuiNumberFormat extends Observable<TuiNumberFormatSettings> {\n private readonly settings = new ReplaySubject<Partial<TuiNumberFormatSettings>>(1);\n private readonly parent = inject(TUI_NUMBER_FORMAT, {skipSelf: true});\n\n constructor() {\n super((subscriber) =>\n combineLatest([this.parent, this.settings])\n .pipe(map(([parent, settings]) => ({...parent, ...settings})))\n .subscribe(subscriber),\n );\n }\n\n @Input()\n public set tuiNumberFormat(format: Partial<TuiNumberFormatSettings>) {\n this.settings.next(format);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAUM,MAAO,eAAgB,SAAQ,UAAmC,CAAA;AAIpE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,CAAC,UAAU,KACb,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;aACrC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAC,CAAC,CAAC;AAC5D,aAAA,SAAS,CAAC,UAAU,CAAC,CAC7B;AARY,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,aAAa,CAAmC,CAAC,CAAC;QACjE,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;;IAUrE,IACW,eAAe,CAAC,MAAwC,EAAA;AAC/D,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;+GAdrB,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,SAAA,EAFb,CAAC,UAAU,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAElD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,SAAS,EAAE,CAAC,UAAU,CAAC,iBAAiB,kBAAkB,CAAC;AAC9D,iBAAA;wDAcc,eAAe,EAAA,CAAA;sBADzB;;;ACtBL;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-directives-number-format.mjs","sources":["../../../projects/core/directives/number-format/number-format.directive.ts","../../../projects/core/directives/number-format/taiga-ui-core-directives-number-format.ts"],"sourcesContent":["import {computed, Directive, inject, input} from '@angular/core';\nimport {TUI_NUMBER_FORMAT, type TuiNumberFormatSettings} from '@taiga-ui/core/tokens';\n\n@Directive({\n selector: '[tuiNumberFormat]',\n providers: [\n {\n provide: TUI_NUMBER_FORMAT,\n useFactory: () => {\n const parent = inject(TUI_NUMBER_FORMAT, {skipSelf: true});\n const format = inject(TuiNumberFormat).tuiNumberFormat;\n\n return computed(() => ({\n ...parent(),\n ...format(),\n }));\n },\n },\n ],\n})\nexport class TuiNumberFormat {\n public readonly tuiNumberFormat = input.required<Partial<TuiNumberFormatSettings>>();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAoBa,eAAe,CAAA;AAjB5B,IAAA,WAAA,GAAA;AAkBoB,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAoC;AACvF;+GAFY,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EAfb,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,EAAE,MAAK;AACb,oBAAA,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;oBAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,eAAe;AAEtD,oBAAA,OAAO,QAAQ,CAAC,OAAO;AACnB,wBAAA,GAAG,MAAM,EAAE;AACX,wBAAA,GAAG,MAAM,EAAE;AACd,qBAAA,CAAC,CAAC;iBACN;AACJ,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEQ,eAAe,EAAA,UAAA,EAAA,CAAA;kBAjB3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;4BAC1B,UAAU,EAAE,MAAK;AACb,gCAAA,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAC1D,gCAAA,MAAM,MAAM,GAAG,MAAM,CAAiB,eAAA,CAAA,CAAC,eAAe;AAEtD,gCAAA,OAAO,QAAQ,CAAC,OAAO;AACnB,oCAAA,GAAG,MAAM,EAAE;AACX,oCAAA,GAAG,MAAM,EAAE;AACd,iCAAA,CAAC,CAAC;6BACN;AACJ,yBAAA;AACJ,qBAAA;AACJ,iBAAA;;;ACnBD;;AAEG;;;;"}
@@ -1,14 +1,9 @@
1
1
  export * from '@taiga-ui/core/directives/appearance';
2
2
  export * from '@taiga-ui/core/directives/date-format';
3
- export * from '@taiga-ui/core/directives/dropdown';
4
3
  export * from '@taiga-ui/core/directives/group';
5
- export * from '@taiga-ui/core/directives/hint';
6
4
  export * from '@taiga-ui/core/directives/icons';
7
5
  export * from '@taiga-ui/core/directives/items-handlers';
8
- export * from '@taiga-ui/core/directives/notification';
9
6
  export * from '@taiga-ui/core/directives/number-format';
10
- export * from '@taiga-ui/core/directives/popup';
11
- export * from '@taiga-ui/core/directives/title';
12
7
 
13
8
  /**
14
9
  * Generated bundle index. Do not edit.
@@ -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"}
@@ -1,36 +1,42 @@
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
3
  import { TUI_NUMBER_FORMAT } from '@taiga-ui/core/tokens';
4
4
  import { tuiFormatNumber } from '@taiga-ui/core/utils/format';
5
- import { map } from 'rxjs';
6
5
 
7
6
  class TuiFormatNumberPipe {
8
7
  constructor() {
9
- this.numberFormat = inject(TUI_NUMBER_FORMAT);
8
+ this.format = inject(TUI_NUMBER_FORMAT);
9
+ this.value = signal(NaN);
10
+ this.settings = signal({});
11
+ this.formatted = computed(() => tuiFormatNumber(this.value(), {
12
+ ...this.format(),
13
+ precision: Number.isNaN(this.format().precision)
14
+ ? Infinity
15
+ : this.format().precision,
16
+ ...this.settings(),
17
+ }));
10
18
  }
11
19
  /**
12
- * Formats number adding thousand separators and correct decimal separator
20
+ * Formats number adding a thousand separators and correct decimal separator
13
21
  * padding decimal part with zeroes to given length
14
22
  * @param value number
15
23
  * @param settings See {@link TuiNumberFormatSettings}
16
24
  */
17
25
  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
- })));
26
+ untracked(() => {
27
+ this.value.set(value);
28
+ this.settings.set(settings);
29
+ });
30
+ return this.formatted();
25
31
  }
26
32
  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" }); }
33
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiFormatNumberPipe, isStandalone: true, name: "tuiFormatNumber", pure: false }); }
28
34
  }
29
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiFormatNumberPipe, decorators: [{
30
36
  type: Pipe,
31
37
  args: [{
32
- standalone: true,
33
38
  name: 'tuiFormatNumber',
39
+ pure: false,
34
40
  }]
35
41
  }] });
36
42
 
@@ -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 {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 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 a 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":";;;;;MAea,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,CAAmC,EAAE,CAAC;AACvD,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;;+GA7BlB,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;;;ACdD;;AAEG;;;;"}
@@ -1,11 +1,4 @@
1
- export * from '@taiga-ui/core/pipes/auto-color';
2
- export * from '@taiga-ui/core/pipes/calendar-sheet';
3
- export * from '@taiga-ui/core/pipes/flag';
4
- export * from '@taiga-ui/core/pipes/format-date';
5
1
  export * from '@taiga-ui/core/pipes/format-number';
6
- export * from '@taiga-ui/core/pipes/initials';
7
- export * from '@taiga-ui/core/pipes/month';
8
- export * from '@taiga-ui/core/pipes/order-week-days';
9
2
 
10
3
  /**
11
4
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-pipes.mjs","sources":["../../../projects/core/pipes/taiga-ui-core-pipes.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-pipes.mjs","sources":["../../../projects/core/pipes/taiga-ui-core-pipes.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;;AAEG"}
@@ -0,0 +1,73 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, Directive, inject, Injectable } from '@angular/core';
3
+ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
+ import { injectContext } from '@taiga-ui/polymorpheus';
5
+ import { TuiPortal } from '@taiga-ui/cdk/portals';
6
+ import { TuiPopupService } from '@taiga-ui/core/portals/popup';
7
+
8
+ class Styles {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-alert-styles" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiAlert]{position:relative;display:grid;grid-column:1;place-self:start start;isolation:isolate;--tui-from: translateX(-100%)}[tuiAlert][data-inline=end]{justify-self:end;--tui-from: translateX(100%)}[tuiAlert][data-inline=center]{justify-self:center;--tui-from: translateY(-100%)}[tuiAlert][data-block=end]{align-self:end}[tuiAlert][data-block=end][data-inline=center]{--tui-from: translateY(100%)}[tuiAlert][data-block=end]:nth-of-type(1){grid-row:11}[tuiAlert][data-block=end]:nth-of-type(2){grid-row:12}[tuiAlert][data-block=end]:nth-of-type(3){grid-row:13}[tuiAlert][data-block=end]:nth-of-type(4){grid-row:14}[tuiAlert][data-block=end]:nth-of-type(5){grid-row:15}[tuiAlert][data-block=end]:nth-of-type(6){grid-row:16}[tuiAlert][data-block=end]:nth-of-type(7){grid-row:17}[tuiAlert][data-block=end]:nth-of-type(8){grid-row:18}[tuiAlert].tui-enter,[tuiAlert].tui-leave{animation-name:tuiFade,tuiSlide,tuiCollapse}[tuiAlert]:not(:first-of-type){margin-block-start:0}[tuiAlert]:not(:last-of-type){margin-block-end:0}[tuiAlert]:nth-of-type(1){grid-row:5}[tuiAlert]:nth-of-type(2){grid-row:6}[tuiAlert]:nth-of-type(3){grid-row:7}[tuiAlert]:nth-of-type(4){grid-row:8}[tuiAlert]:nth-of-type(5){grid-row:9}[tuiAlert]>*{grid-row:1 / span 2}[tuiAlert]>*:before,[tuiAlert]>*:after{content:\"\";display:block;block-size:.375rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
13
+ type: Component,
14
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-alert-styles' }, styles: ["[tuiAlert]{position:relative;display:grid;grid-column:1;place-self:start start;isolation:isolate;--tui-from: translateX(-100%)}[tuiAlert][data-inline=end]{justify-self:end;--tui-from: translateX(100%)}[tuiAlert][data-inline=center]{justify-self:center;--tui-from: translateY(-100%)}[tuiAlert][data-block=end]{align-self:end}[tuiAlert][data-block=end][data-inline=center]{--tui-from: translateY(100%)}[tuiAlert][data-block=end]:nth-of-type(1){grid-row:11}[tuiAlert][data-block=end]:nth-of-type(2){grid-row:12}[tuiAlert][data-block=end]:nth-of-type(3){grid-row:13}[tuiAlert][data-block=end]:nth-of-type(4){grid-row:14}[tuiAlert][data-block=end]:nth-of-type(5){grid-row:15}[tuiAlert][data-block=end]:nth-of-type(6){grid-row:16}[tuiAlert][data-block=end]:nth-of-type(7){grid-row:17}[tuiAlert][data-block=end]:nth-of-type(8){grid-row:18}[tuiAlert].tui-enter,[tuiAlert].tui-leave{animation-name:tuiFade,tuiSlide,tuiCollapse}[tuiAlert]:not(:first-of-type){margin-block-start:0}[tuiAlert]:not(:last-of-type){margin-block-end:0}[tuiAlert]:nth-of-type(1){grid-row:5}[tuiAlert]:nth-of-type(2){grid-row:6}[tuiAlert]:nth-of-type(3){grid-row:7}[tuiAlert]:nth-of-type(4){grid-row:8}[tuiAlert]:nth-of-type(5){grid-row:9}[tuiAlert]>*{grid-row:1 / span 2}[tuiAlert]>*:before,[tuiAlert]>*:after{content:\"\";display:block;block-size:.375rem}\n"] }]
15
+ }] });
16
+ class TuiAlertDirective {
17
+ constructor() {
18
+ this.nothing = tuiWithStyles(Styles);
19
+ this.context = injectContext();
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAlertDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiAlertDirective, isStandalone: true, host: { attributes: { "role": "alert", "tuiAlert": "" }, properties: { "attr.data-block": "context.block", "attr.data-inline": "context.inline" } }, ngImport: i0 }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAlertDirective, decorators: [{
25
+ type: Directive,
26
+ args: [{
27
+ host: {
28
+ role: 'alert',
29
+ tuiAlert: '',
30
+ '[attr.data-block]': 'context.block',
31
+ '[attr.data-inline]': 'context.inline',
32
+ },
33
+ }]
34
+ }] });
35
+
36
+ class TuiAlertService extends TuiPortal {
37
+ constructor(concurrency) {
38
+ super(inject(TuiPopupService));
39
+ this.current = new Map();
40
+ this.queue = new Set();
41
+ this.concurrency = Math.min(concurrency, 5);
42
+ }
43
+ add(component) {
44
+ if (this.current.size < this.concurrency) {
45
+ this.current.set(component, this.service.add(component));
46
+ }
47
+ else {
48
+ this.queue.add(component);
49
+ }
50
+ return () => {
51
+ this.current.get(component)?.destroy();
52
+ this.current.delete(component);
53
+ this.queue.delete(component);
54
+ const [next] = this.queue;
55
+ if (this.current.size < this.concurrency && next) {
56
+ this.current.set(next, this.service.add(next));
57
+ this.queue.delete(next);
58
+ }
59
+ };
60
+ }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAlertService, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
62
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAlertService }); }
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAlertService, decorators: [{
65
+ type: Injectable
66
+ }], ctorParameters: () => [{ type: undefined }] });
67
+
68
+ /**
69
+ * Generated bundle index. Do not edit.
70
+ */
71
+
72
+ export { TuiAlertDirective, TuiAlertService };
73
+ //# sourceMappingURL=taiga-ui-core-portals-alert.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-core-portals-alert.mjs","sources":["../../../projects/core/portals/alert/alert.directive.ts","../../../projects/core/portals/alert/alert.service.ts","../../../projects/core/portals/alert/taiga-ui-core-portals-alert.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {injectContext} from '@taiga-ui/polymorpheus';\n\nexport interface TuiPositionOptions {\n readonly block: 'end' | 'start';\n readonly inline: 'center' | 'end' | 'start';\n}\n\n@Component({\n template: '',\n styleUrl: './alert.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-alert-styles'},\n})\nclass Styles {}\n\n@Directive({\n host: {\n role: 'alert',\n tuiAlert: '',\n '[attr.data-block]': 'context.block',\n '[attr.data-inline]': 'context.inline',\n },\n})\nexport class TuiAlertDirective {\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly context = injectContext<TuiPositionOptions>();\n}\n","import {type ComponentRef, inject, Injectable} from '@angular/core';\nimport {TuiPortal} from '@taiga-ui/cdk/portals';\nimport {TuiPopupService} from '@taiga-ui/core/portals/popup';\nimport {type PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\n@Injectable()\nexport abstract class TuiAlertService<T, K = void> extends TuiPortal<T, K> {\n private readonly concurrency: number;\n private readonly current = new Map<unknown, ComponentRef<unknown>>();\n private readonly queue = new Set<PolymorpheusComponent<unknown>>();\n\n constructor(concurrency: number) {\n super(inject(TuiPopupService));\n this.concurrency = Math.min(concurrency, 5);\n }\n\n protected override add(component: PolymorpheusComponent<unknown>): () => void {\n if (this.current.size < this.concurrency) {\n this.current.set(component, this.service.add(component));\n } else {\n this.queue.add(component);\n }\n\n return () => {\n this.current.get(component)?.destroy();\n this.current.delete(component);\n this.queue.delete(component);\n\n const [next] = this.queue;\n\n if (this.current.size < this.concurrency && next) {\n this.current.set(next, this.service.add(next));\n this.queue.delete(next);\n }\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}