@taiga-ui/kit 4.43.0 → 4.44.0-canary.ef702cb

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 (216) hide show
  1. package/components/avatar/avatar.options.d.ts +2 -1
  2. package/components/badge/badge.options.d.ts +2 -1
  3. package/components/badge-notification/badge-notification.options.d.ts +2 -1
  4. package/components/block/block.options.d.ts +2 -1
  5. package/components/breadcrumbs/breadcrumbs.options.d.ts +2 -1
  6. package/components/checkbox/checkbox.options.d.ts +2 -1
  7. package/components/chip/chip.options.d.ts +2 -1
  8. package/components/combo-box/combo-box.directive.d.ts +0 -1
  9. package/components/files/input-files/input-files.options.d.ts +2 -1
  10. package/components/input-chip/input-chip.directive.d.ts +1 -0
  11. package/components/input-date-range/input-date-range.options.d.ts +2 -1
  12. package/components/input-month/input-month.options.d.ts +2 -1
  13. package/components/input-month-range/input-month-range.options.d.ts +2 -1
  14. package/components/input-password/input-password.options.d.ts +2 -1
  15. package/components/input-phone-international/input-phone-international.options.d.ts +2 -1
  16. package/components/input-time/input-time.directive.d.ts +7 -2
  17. package/components/input-time/input-time.options.d.ts +1 -1
  18. package/components/line-clamp/line-clamp.options.d.ts +2 -1
  19. package/components/multi-select/index.d.ts +1 -0
  20. package/components/multi-select/multi-select-native/multi-select-native.component.d.ts +20 -0
  21. package/components/multi-select/multi-select.d.ts +3 -1
  22. package/components/pdf-viewer/pdf-viewer.options.d.ts +2 -1
  23. package/components/progress/progress.options.d.ts +2 -1
  24. package/components/push/push.options.d.ts +2 -1
  25. package/components/radio/radio.options.d.ts +2 -1
  26. package/components/rating/rating.options.d.ts +2 -1
  27. package/components/select/select-option/select-option.component.d.ts +2 -2
  28. package/components/slider/slider.options.d.ts +2 -1
  29. package/components/switch/switch.options.d.ts +2 -1
  30. package/components/tabs/tabs.options.d.ts +2 -1
  31. package/components/tabs/tabs.providers.d.ts +2 -1
  32. package/components/tiles/tiles.tokens.d.ts +2 -1
  33. package/components/tree/misc/tree.tokens.d.ts +9 -8
  34. package/directives/chevron/chevron.directive.d.ts +2 -1
  35. package/directives/fluid-typography/fluid-typography.options.d.ts +2 -1
  36. package/esm2022/components/accordion/accordion-item.component.mjs +3 -3
  37. package/esm2022/components/avatar/avatar-labeled.component.mjs +3 -3
  38. package/esm2022/components/avatar/avatar-stack.component.mjs +2 -2
  39. package/esm2022/components/avatar/avatar.options.mjs +6 -3
  40. package/esm2022/components/badge/badge.options.mjs +6 -3
  41. package/esm2022/components/badge-notification/badge-notification.options.mjs +6 -3
  42. package/esm2022/components/block/block.options.mjs +6 -3
  43. package/esm2022/components/breadcrumbs/breadcrumbs.options.mjs +6 -3
  44. package/esm2022/components/checkbox/checkbox.options.mjs +6 -3
  45. package/esm2022/components/chip/chip.options.mjs +6 -3
  46. package/esm2022/components/combo-box/combo-box.directive.mjs +6 -7
  47. package/esm2022/components/confirm/confirm.component.mjs +3 -3
  48. package/esm2022/components/elastic-container/elastic-container.component.mjs +3 -3
  49. package/esm2022/components/files/file/file.component.mjs +3 -3
  50. package/esm2022/components/files/files/files.component.mjs +3 -3
  51. package/esm2022/components/files/input-files/input-files.options.mjs +6 -3
  52. package/esm2022/components/filter/filter.component.mjs +3 -3
  53. package/esm2022/components/floating-container/floating-container.directive.mjs +2 -2
  54. package/esm2022/components/input-chip/input-chip.directive.mjs +5 -3
  55. package/esm2022/components/input-date-range/input-date-range.options.mjs +9 -7
  56. package/esm2022/components/input-inline/input-inline.component.mjs +3 -3
  57. package/esm2022/components/input-month/input-month.options.mjs +9 -7
  58. package/esm2022/components/input-month-range/input-month-range.options.mjs +9 -7
  59. package/esm2022/components/input-password/input-password.options.mjs +6 -3
  60. package/esm2022/components/input-phone-international/input-phone-international.options.mjs +6 -3
  61. package/esm2022/components/input-pin/input-pin.component.mjs +3 -3
  62. package/esm2022/components/input-time/input-time.component.mjs +2 -5
  63. package/esm2022/components/input-time/input-time.directive.mjs +39 -11
  64. package/esm2022/components/input-time/input-time.options.mjs +2 -1
  65. package/esm2022/components/line-clamp/line-clamp-box.component.mjs +3 -3
  66. package/esm2022/components/line-clamp/line-clamp.component.mjs +3 -3
  67. package/esm2022/components/line-clamp/line-clamp.options.mjs +6 -3
  68. package/esm2022/components/multi-select/index.mjs +2 -1
  69. package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +3 -3
  70. package/esm2022/components/multi-select/multi-select-native/multi-select-native.component.mjs +56 -0
  71. package/esm2022/components/multi-select/multi-select-option/multi-select-option.component.mjs +4 -9
  72. package/esm2022/components/multi-select/multi-select.mjs +3 -1
  73. package/esm2022/components/pagination/pagination.component.mjs +3 -3
  74. package/esm2022/components/pdf-viewer/pdf-viewer.component.mjs +3 -3
  75. package/esm2022/components/pdf-viewer/pdf-viewer.options.mjs +6 -3
  76. package/esm2022/components/pin/pin.directive.mjs +2 -2
  77. package/esm2022/components/preview/preview.component.mjs +3 -3
  78. package/esm2022/components/preview/zoom/preview-zoom.component.mjs +3 -3
  79. package/esm2022/components/progress/progress-bar/fixed-gradient/progress-fixed-gradient.directive.mjs +2 -2
  80. package/esm2022/components/progress/progress-bar/progress-bar.component.mjs +2 -2
  81. package/esm2022/components/progress/progress.options.mjs +6 -3
  82. package/esm2022/components/push/push-alert.component.mjs +3 -3
  83. package/esm2022/components/push/push.component.mjs +3 -3
  84. package/esm2022/components/push/push.options.mjs +6 -3
  85. package/esm2022/components/radio/radio.options.mjs +6 -3
  86. package/esm2022/components/rating/rating.options.mjs +6 -3
  87. package/esm2022/components/select/select-option/select-option.component.mjs +23 -9
  88. package/esm2022/components/slider/slider.component.mjs +2 -2
  89. package/esm2022/components/slider/slider.options.mjs +6 -3
  90. package/esm2022/components/stepper/step.component.mjs +3 -3
  91. package/esm2022/components/switch/switch.options.mjs +6 -3
  92. package/esm2022/components/tabs/tabs-with-more.component.mjs +3 -3
  93. package/esm2022/components/tabs/tabs.options.mjs +6 -3
  94. package/esm2022/components/tabs/tabs.providers.mjs +3 -4
  95. package/esm2022/components/textarea/textarea-limit.directive.mjs +2 -2
  96. package/esm2022/components/textarea/textarea.component.mjs +3 -3
  97. package/esm2022/components/tiles/tiles.tokens.mjs +5 -3
  98. package/esm2022/components/tree/components/tree-item/tree-item.component.mjs +3 -3
  99. package/esm2022/components/tree/components/tree-item-content/tree-item-content.component.mjs +3 -3
  100. package/esm2022/components/tree/misc/tree.tokens.mjs +18 -10
  101. package/esm2022/directives/chevron/chevron.directive.mjs +6 -4
  102. package/esm2022/directives/fluid-typography/fluid-typography.options.mjs +6 -3
  103. package/esm2022/pipes/emails/emails.options.mjs +13 -11
  104. package/esm2022/pipes/filter-by-input/filter-by-input.pipe.mjs +2 -2
  105. package/esm2022/tokens/calendar-date-stream.mjs +3 -4
  106. package/esm2022/tokens/date-inputs-value-transformers.mjs +8 -6
  107. package/esm2022/tokens/i18n.mjs +74 -26
  108. package/esm2022/tokens/items-handlers.mjs +6 -3
  109. package/esm2022/tokens/mobile-calendar.mjs +3 -4
  110. package/esm2022/tokens/month-formatter.mjs +10 -9
  111. package/esm2022/tokens/preview-icons.mjs +6 -3
  112. package/esm2022/tokens/validation-errors.mjs +5 -3
  113. package/fesm2022/taiga-ui-kit-components-accordion.mjs +2 -2
  114. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-kit-components-avatar.mjs +9 -7
  116. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  117. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +5 -3
  118. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  119. package/fesm2022/taiga-ui-kit-components-badge.mjs +5 -3
  120. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-kit-components-block.mjs +5 -3
  122. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +5 -3
  124. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-kit-components-checkbox.mjs +5 -3
  126. package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
  127. package/fesm2022/taiga-ui-kit-components-chip.mjs +5 -3
  128. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  129. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +5 -6
  130. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  131. package/fesm2022/taiga-ui-kit-components-confirm.mjs +2 -2
  132. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  133. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs +2 -2
  134. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs.map +1 -1
  135. package/fesm2022/taiga-ui-kit-components-files.mjs +9 -7
  136. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  137. package/fesm2022/taiga-ui-kit-components-filter.mjs +2 -2
  138. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  139. package/fesm2022/taiga-ui-kit-components-floating-container.mjs +2 -2
  140. package/fesm2022/taiga-ui-kit-components-floating-container.mjs.map +1 -1
  141. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +3 -2
  142. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  143. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +8 -6
  144. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  145. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +2 -2
  146. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  147. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +8 -6
  148. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  149. package/fesm2022/taiga-ui-kit-components-input-month.mjs +8 -6
  150. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  151. package/fesm2022/taiga-ui-kit-components-input-password.mjs +5 -3
  152. package/fesm2022/taiga-ui-kit-components-input-password.mjs.map +1 -1
  153. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +5 -3
  154. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  155. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +2 -2
  156. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  157. package/fesm2022/taiga-ui-kit-components-input-time.mjs +41 -15
  158. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  159. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +9 -7
  160. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  161. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +57 -14
  162. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  163. package/fesm2022/taiga-ui-kit-components-pagination.mjs +2 -2
  164. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  165. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs +7 -5
  166. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs.map +1 -1
  167. package/fesm2022/taiga-ui-kit-components-pin.mjs +2 -2
  168. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  169. package/fesm2022/taiga-ui-kit-components-preview.mjs +4 -4
  170. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  171. package/fesm2022/taiga-ui-kit-components-progress.mjs +9 -7
  172. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  173. package/fesm2022/taiga-ui-kit-components-push.mjs +9 -7
  174. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  175. package/fesm2022/taiga-ui-kit-components-radio.mjs +5 -3
  176. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  177. package/fesm2022/taiga-ui-kit-components-rating.mjs +5 -3
  178. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  179. package/fesm2022/taiga-ui-kit-components-select.mjs +22 -8
  180. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  181. package/fesm2022/taiga-ui-kit-components-slider.mjs +7 -5
  182. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  183. package/fesm2022/taiga-ui-kit-components-stepper.mjs +2 -2
  184. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  185. package/fesm2022/taiga-ui-kit-components-switch.mjs +5 -3
  186. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  187. package/fesm2022/taiga-ui-kit-components-tabs.mjs +8 -6
  188. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  189. package/fesm2022/taiga-ui-kit-components-textarea.mjs +4 -4
  190. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  191. package/fesm2022/taiga-ui-kit-components-tiles.mjs +5 -3
  192. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  193. package/fesm2022/taiga-ui-kit-components-tree.mjs +22 -14
  194. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  195. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +5 -3
  196. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  197. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +5 -3
  198. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
  199. package/fesm2022/taiga-ui-kit-pipes-emails.mjs +12 -11
  200. package/fesm2022/taiga-ui-kit-pipes-emails.mjs.map +1 -1
  201. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs +1 -1
  202. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs.map +1 -1
  203. package/fesm2022/taiga-ui-kit-tokens.mjs +99 -41
  204. package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
  205. package/package.json +38 -38
  206. package/pipes/emails/emails.options.d.ts +2 -1
  207. package/styles/components/pin.less +2 -2
  208. package/styles/components/progress-bar.less +1 -1
  209. package/tokens/calendar-date-stream.d.ts +2 -1
  210. package/tokens/date-inputs-value-transformers.d.ts +5 -4
  211. package/tokens/i18n.d.ts +25 -24
  212. package/tokens/items-handlers.d.ts +2 -1
  213. package/tokens/mobile-calendar.d.ts +2 -1
  214. package/tokens/month-formatter.d.ts +2 -1
  215. package/tokens/preview-icons.d.ts +2 -1
  216. package/tokens/validation-errors.d.ts +2 -1
@@ -1,13 +1,15 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Component, ChangeDetectionStrategy, Input } from '@angular/core';
2
+ import { InjectionToken, inject, Component, ChangeDetectionStrategy, Input } from '@angular/core';
3
3
  import * as i1 from '@taiga-ui/cdk/directives/animated';
4
4
  import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
5
- import { tuiCreateToken, tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
5
+ import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
6
6
 
7
7
  const TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS = {
8
8
  size: 'm',
9
9
  };
10
- const TUI_BADGE_NOTIFICATION_OPTIONS = tuiCreateToken(TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS);
10
+ const TUI_BADGE_NOTIFICATION_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_BADGE_NOTIFICATION_OPTIONS' : '', {
11
+ factory: () => TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS,
12
+ });
11
13
  function tuiBadgeNotificationOptionsProvider(options) {
12
14
  return tuiProvideOptions(TUI_BADGE_NOTIFICATION_OPTIONS, options, TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS);
13
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-badge-notification.mjs","sources":["../../../projects/kit/components/badge-notification/badge-notification.options.ts","../../../projects/kit/components/badge-notification/badge-notification.component.ts","../../../projects/kit/components/badge-notification/taiga-ui-kit-components-badge-notification.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiBadgeNotificationOptions {\n readonly size: TuiSizeL | TuiSizeXS;\n}\n\nexport const TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS: TuiBadgeNotificationOptions = {\n size: 'm',\n};\n\nexport const TUI_BADGE_NOTIFICATION_OPTIONS = tuiCreateToken(\n TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS,\n);\n\nexport function tuiBadgeNotificationOptionsProvider(\n options: Partial<TuiBadgeNotificationOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_BADGE_NOTIFICATION_OPTIONS,\n options,\n TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS,\n );\n}\n","import {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport type {TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\n\nimport {TUI_BADGE_NOTIFICATION_OPTIONS} from './badge-notification.options';\n\n@Component({\n standalone: true,\n selector: 'tui-badge-notification',\n template: '<ng-content />',\n styleUrls: ['./badge-notification.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiAnimated],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiBadgeNotification {\n @Input()\n public size: TuiSizeL | TuiSizeXS = inject(TUI_BADGE_NOTIFICATION_OPTIONS).size;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAQa,MAAA,sCAAsC,GAAgC;AAC/E,IAAA,IAAI,EAAE,GAAG;EACX;MAEW,8BAA8B,GAAG,cAAc,CACxD,sCAAsC,EACxC;AAEI,SAAU,mCAAmC,CAC/C,OAA6C,EAAA;IAE7C,OAAO,iBAAiB,CACpB,8BAA8B,EAC9B,OAAO,EACP,sCAAsC,CACzC,CAAC;AACN;;AClBA,MAWa,oBAAoB,CAAA;AAXjC,IAAA,WAAA,GAAA;AAaW,QAAA,IAAA,CAAA,IAAI,GAAyB,MAAM,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC;AACnF,KAAA;+GAHY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,iNARnB,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,8vBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAQjB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAXhC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,gBAAgB,EAET,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAC/B,cAAA,EAAA,CAAC,WAAW,CAAC,EACvB,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC7B,qBAAA,EAAA,MAAA,EAAA,CAAA,8vBAAA,CAAA,EAAA,CAAA;8BAIM,IAAI,EAAA,CAAA;sBADV,KAAK;;;AClBV;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-badge-notification.mjs","sources":["../../../projects/kit/components/badge-notification/badge-notification.options.ts","../../../projects/kit/components/badge-notification/badge-notification.component.ts","../../../projects/kit/components/badge-notification/taiga-ui-kit-components-badge-notification.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiBadgeNotificationOptions {\n readonly size: TuiSizeL | TuiSizeXS;\n}\n\nexport const TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS: TuiBadgeNotificationOptions = {\n size: 'm',\n};\n\nexport const TUI_BADGE_NOTIFICATION_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_BADGE_NOTIFICATION_OPTIONS' : '',\n {\n factory: () => TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiBadgeNotificationOptionsProvider(\n options: Partial<TuiBadgeNotificationOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_BADGE_NOTIFICATION_OPTIONS,\n options,\n TUI_BADGE_NOTIFICATION_DEFAULT_OPTIONS,\n );\n}\n","import {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport type {TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\n\nimport {TUI_BADGE_NOTIFICATION_OPTIONS} from './badge-notification.options';\n\n@Component({\n standalone: true,\n selector: 'tui-badge-notification',\n template: '<ng-content />',\n styleUrls: ['./badge-notification.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiAnimated],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiBadgeNotification {\n @Input()\n public size: TuiSizeL | TuiSizeXS = inject(TUI_BADGE_NOTIFICATION_OPTIONS).size;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AASa,MAAA,sCAAsC,GAAgC;AAC/E,IAAA,IAAI,EAAE,GAAG;EACX;AAEW,MAAA,8BAA8B,GAAG,IAAI,cAAc,CAC5D,SAAS,GAAG,gCAAgC,GAAG,EAAE,EACjD;AACI,IAAA,OAAO,EAAE,MAAM,sCAAsC;AACxD,CAAA,EACH;AAEI,SAAU,mCAAmC,CAC/C,OAA6C,EAAA;IAE7C,OAAO,iBAAiB,CACpB,8BAA8B,EAC9B,OAAO,EACP,sCAAsC,CACzC,CAAC;AACN;;ACtBA,MAWa,oBAAoB,CAAA;AAXjC,IAAA,WAAA,GAAA;AAaW,QAAA,IAAA,CAAA,IAAI,GAAyB,MAAM,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC;AACnF,KAAA;+GAHY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,iNARnB,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,8vBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAQjB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAXhC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,gBAAgB,EAET,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAC/B,cAAA,EAAA,CAAC,WAAW,CAAC,EACvB,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC7B,qBAAA,EAAA,MAAA,EAAA,CAAA,8vBAAA,CAAA,EAAA,CAAA;8BAIM,IAAI,EAAA,CAAA;sBADV,KAAK;;;AClBV;;AAEG;;;;"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, Directive, Input } from '@angular/core';
3
- import { tuiCreateToken, tuiProvideOptions, tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
2
+ import { InjectionToken, Component, ViewEncapsulation, ChangeDetectionStrategy, inject, Directive, Input } from '@angular/core';
3
+ import { tuiProvideOptions, tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
4
  import * as i1 from '@taiga-ui/core/directives/appearance';
5
5
  import { tuiAppearanceOptionsProvider, TuiWithAppearance } from '@taiga-ui/core/directives/appearance';
6
6
  import * as i2 from '@taiga-ui/core/directives/icons';
@@ -10,7 +10,9 @@ const TUI_BADGE_DEFAULT_OPTIONS = {
10
10
  appearance: '',
11
11
  size: 'l',
12
12
  };
13
- const TUI_BADGE_OPTIONS = tuiCreateToken(TUI_BADGE_DEFAULT_OPTIONS);
13
+ const TUI_BADGE_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_BADGE_OPTIONS' : '', {
14
+ factory: () => TUI_BADGE_DEFAULT_OPTIONS,
15
+ });
14
16
  function tuiBadgeOptionsProvider(options) {
15
17
  return tuiProvideOptions(TUI_BADGE_OPTIONS, options, TUI_BADGE_DEFAULT_OPTIONS);
16
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-badge.mjs","sources":["../../../projects/kit/components/badge/badge.options.ts","../../../projects/kit/components/badge/badge.directive.ts","../../../projects/kit/components/badge/taiga-ui-kit-components-badge.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport type {TuiSizeS, TuiSizeXL} from '@taiga-ui/core/types';\n\nexport interface TuiBadgeOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeS | TuiSizeXL;\n}\n\nexport const TUI_BADGE_DEFAULT_OPTIONS: TuiBadgeOptions = {\n appearance: '',\n size: 'l',\n};\n\nexport const TUI_BADGE_OPTIONS = tuiCreateToken(TUI_BADGE_DEFAULT_OPTIONS);\n\nexport function tuiBadgeOptionsProvider(options: Partial<TuiBadgeOptions>): Provider {\n return tuiProvideOptions(TUI_BADGE_OPTIONS, options, TUI_BADGE_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 {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_BADGE_OPTIONS} from './badge.options';\n\n@Component({\n standalone: true,\n template: '',\n styles: ['@import \"@taiga-ui/kit/styles/components/badge.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-badge',\n },\n})\nclass TuiBadgeStyles {}\n\n@Directive({\n standalone: true,\n selector: 'tui-badge,[tuiBadge]',\n providers: [tuiAppearanceOptionsProvider(TUI_BADGE_OPTIONS)],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiBadge {\n protected readonly nothing = tuiWithStyles(TuiBadgeStyles);\n\n @Input()\n public size = inject(TUI_BADGE_OPTIONS).size;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AASa,MAAA,yBAAyB,GAAoB;AACtD,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,IAAI,EAAE,GAAG;EACX;MAEW,iBAAiB,GAAG,cAAc,CAAC,yBAAyB,EAAE;AAErE,SAAU,uBAAuB,CAAC,OAAiC,EAAA;IACrE,OAAO,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC;AACpF;;ACDA,MAUM,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,+GARN,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2hIAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQV,cAAc,EAAA,UAAA,EAAA,CAAA;kBAVnB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,WAAW;AACrB,qBAAA,EAAA,MAAA,EAAA,CAAA,2hIAAA,CAAA,EAAA,CAAA;;AAIL,MASa,QAAQ,CAAA;AATrB,IAAA,WAAA,GAAA;AAUuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;AAGpD,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC;AAChD,KAAA;+GALY,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,iJANN,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAMnD,QAAQ,EAAA,UAAA,EAAA,CAAA;kBATpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,SAAS,EAAE,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;AAC5D,oBAAA,cAAc,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;AACjD,oBAAA,IAAI,EAAE;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC7B,qBAAA;AACJ,iBAAA,CAAA;8BAKU,IAAI,EAAA,CAAA;sBADV,KAAK;;;ACzCV;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-badge.mjs","sources":["../../../projects/kit/components/badge/badge.options.ts","../../../projects/kit/components/badge/badge.directive.ts","../../../projects/kit/components/badge/taiga-ui-kit-components-badge.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport type {TuiSizeS, TuiSizeXL} from '@taiga-ui/core/types';\n\nexport interface TuiBadgeOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeS | TuiSizeXL;\n}\n\nexport const TUI_BADGE_DEFAULT_OPTIONS: TuiBadgeOptions = {\n appearance: '',\n size: 'l',\n};\n\nexport const TUI_BADGE_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_BADGE_OPTIONS' : '',\n {\n factory: () => TUI_BADGE_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiBadgeOptionsProvider(options: Partial<TuiBadgeOptions>): Provider {\n return tuiProvideOptions(TUI_BADGE_OPTIONS, options, TUI_BADGE_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 {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_BADGE_OPTIONS} from './badge.options';\n\n@Component({\n standalone: true,\n template: '',\n styles: ['@import \"@taiga-ui/kit/styles/components/badge.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-badge',\n },\n})\nclass TuiBadgeStyles {}\n\n@Directive({\n standalone: true,\n selector: 'tui-badge,[tuiBadge]',\n providers: [tuiAppearanceOptionsProvider(TUI_BADGE_OPTIONS)],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiBadge {\n protected readonly nothing = tuiWithStyles(TuiBadgeStyles);\n\n @Input()\n public size = inject(TUI_BADGE_OPTIONS).size;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAUa,MAAA,yBAAyB,GAAoB;AACtD,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,IAAI,EAAE,GAAG;EACX;AAEW,MAAA,iBAAiB,GAAG,IAAI,cAAc,CAC/C,SAAS,GAAG,mBAAmB,GAAG,EAAE,EACpC;AACI,IAAA,OAAO,EAAE,MAAM,yBAAyB;AAC3C,CAAA,EACH;AAEI,SAAU,uBAAuB,CAAC,OAAiC,EAAA;IACrE,OAAO,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC;AACpF;;ACPA,MAUM,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,+GARN,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2hIAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQV,cAAc,EAAA,UAAA,EAAA,CAAA;kBAVnB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,WAAW;AACrB,qBAAA,EAAA,MAAA,EAAA,CAAA,2hIAAA,CAAA,EAAA,CAAA;;AAIL,MASa,QAAQ,CAAA;AATrB,IAAA,WAAA,GAAA;AAUuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;AAGpD,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC;AAChD,KAAA;+GALY,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,iJANN,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAMnD,QAAQ,EAAA,UAAA,EAAA,CAAA;kBATpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,SAAS,EAAE,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;AAC5D,oBAAA,cAAc,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;AACjD,oBAAA,IAAI,EAAE;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC7B,qBAAA;AACJ,iBAAA,CAAA;8BAKU,IAAI,EAAA,CAAA;sBADV,KAAK;;;ACzCV;;AAEG;;;;"}
@@ -1,9 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, Directive, ContentChild, Input } from '@angular/core';
2
+ import { InjectionToken, Component, ViewEncapsulation, ChangeDetectionStrategy, inject, Directive, ContentChild, Input } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
4
  import * as i1 from '@taiga-ui/cdk/directives/native-validator';
5
5
  import { TuiNativeValidator } from '@taiga-ui/cdk/directives/native-validator';
6
- import { tuiCreateToken, tuiProvideOptions, tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
6
+ import { tuiProvideOptions, tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
7
7
  import * as i2 from '@taiga-ui/core/directives/appearance';
8
8
  import { tuiAppearanceOptionsProvider, TuiWithAppearance } from '@taiga-ui/core/directives/appearance';
9
9
  import * as i3 from '@taiga-ui/core/directives/icons';
@@ -14,7 +14,9 @@ const TUI_BLOCK_DEFAULT_OPTIONS = {
14
14
  appearance: 'outline-grayscale',
15
15
  size: 'l',
16
16
  };
17
- const TUI_BLOCK_OPTIONS = tuiCreateToken(TUI_BLOCK_DEFAULT_OPTIONS);
17
+ const TUI_BLOCK_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_BLOCK_OPTIONS' : '', {
18
+ factory: () => TUI_BLOCK_DEFAULT_OPTIONS,
19
+ });
18
20
  function tuiBlockOptionsProvider(options) {
19
21
  return tuiProvideOptions(TUI_BLOCK_OPTIONS, options, TUI_BLOCK_DEFAULT_OPTIONS);
20
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-block.mjs","sources":["../../../projects/kit/components/block/block.options.ts","../../../projects/kit/components/block/block.directive.ts","../../../projects/kit/components/block/taiga-ui-kit-components-block.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiBlockOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeL | TuiSizeS;\n}\n\nexport const TUI_BLOCK_DEFAULT_OPTIONS: TuiBlockOptions = {\n appearance: 'outline-grayscale',\n size: 'l',\n};\n\nexport const TUI_BLOCK_OPTIONS = tuiCreateToken(TUI_BLOCK_DEFAULT_OPTIONS);\n\nexport function tuiBlockOptionsProvider(options: Partial<TuiBlockOptions>): Provider {\n return tuiProvideOptions(TUI_BLOCK_OPTIONS, options, TUI_BLOCK_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\n\nimport {TUI_BLOCK_OPTIONS} from './block.options';\n\n@Component({\n standalone: true,\n template: '',\n styles: ['@import \"@taiga-ui/kit/styles/components/block.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-block',\n },\n})\nclass TuiBlockStyles {}\n\n@Directive({\n standalone: true,\n selector: 'label[tuiBlock],input[tuiBlock]',\n providers: [\n tuiAppearanceOptionsProvider(TUI_BLOCK_OPTIONS),\n tuiAvatarOptionsProvider({size: 's'}),\n ],\n hostDirectives: [TuiNativeValidator, TuiWithAppearance, TuiWithIcons],\n host: {\n tuiBlock: '',\n '[attr.data-size]': 'size || \"l\"',\n '[class._disabled]': '!!this.control?.disabled',\n },\n})\nexport class TuiBlock {\n @ContentChild(NgControl)\n protected readonly control?: NgControl;\n\n protected readonly nothing = tuiWithStyles(TuiBlockStyles);\n\n @Input('tuiBlock')\n public size: TuiSizeL | TuiSizeS | '' = inject(TUI_BLOCK_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-kit-components-block.mjs","sources":["../../../projects/kit/components/block/block.options.ts","../../../projects/kit/components/block/block.directive.ts","../../../projects/kit/components/block/taiga-ui-kit-components-block.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiBlockOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeL | TuiSizeS;\n}\n\nexport const TUI_BLOCK_DEFAULT_OPTIONS: TuiBlockOptions = {\n appearance: 'outline-grayscale',\n size: 'l',\n};\n\nexport const TUI_BLOCK_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_BLOCK_OPTIONS' : '',\n {\n factory: () => TUI_BLOCK_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiBlockOptionsProvider(options: Partial<TuiBlockOptions>): Provider {\n return tuiProvideOptions(TUI_BLOCK_OPTIONS, options, TUI_BLOCK_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\n\nimport {TUI_BLOCK_OPTIONS} from './block.options';\n\n@Component({\n standalone: true,\n template: '',\n styles: ['@import \"@taiga-ui/kit/styles/components/block.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-block',\n },\n})\nclass TuiBlockStyles {}\n\n@Directive({\n standalone: true,\n selector: 'label[tuiBlock],input[tuiBlock]',\n providers: [\n tuiAppearanceOptionsProvider(TUI_BLOCK_OPTIONS),\n tuiAvatarOptionsProvider({size: 's'}),\n ],\n hostDirectives: [TuiNativeValidator, TuiWithAppearance, TuiWithIcons],\n host: {\n tuiBlock: '',\n '[attr.data-size]': 'size || \"l\"',\n '[class._disabled]': '!!this.control?.disabled',\n },\n})\nexport class TuiBlock {\n @ContentChild(NgControl)\n protected readonly control?: NgControl;\n\n protected readonly nothing = tuiWithStyles(TuiBlockStyles);\n\n @Input('tuiBlock')\n public size: TuiSizeL | TuiSizeS | '' = inject(TUI_BLOCK_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,6 @@
1
1
  import { AsyncPipe, NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, TemplateRef, Component, ChangeDetectionStrategy, ContentChildren, Input } from '@angular/core';
3
+ import { InjectionToken, inject, TemplateRef, Component, ChangeDetectionStrategy, ContentChildren, Input } from '@angular/core';
4
4
  import { toSignal } from '@angular/core/rxjs-interop';
5
5
  import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
6
6
  import * as i4 from '@taiga-ui/cdk/directives/item';
@@ -17,14 +17,16 @@ import { TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
17
17
  import * as i3 from '@taiga-ui/kit/components/items-with-more';
18
18
  import { TuiItemsWithMore } from '@taiga-ui/kit/components/items-with-more';
19
19
  import { TUI_MORE_WORD } from '@taiga-ui/kit/tokens';
20
- import { tuiCreateToken, tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
20
+ import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
21
21
 
22
22
  const TUI_BREADCRUMBS_DEFAULT_OPTIONS = {
23
23
  icon: '@tui.chevron-right',
24
24
  size: 'm',
25
25
  itemsLimit: 0,
26
26
  };
27
- const TUI_BREADCRUMBS_OPTIONS = tuiCreateToken(TUI_BREADCRUMBS_DEFAULT_OPTIONS);
27
+ const TUI_BREADCRUMBS_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_BREADCRUMBS_OPTIONS' : '', {
28
+ factory: () => TUI_BREADCRUMBS_DEFAULT_OPTIONS,
29
+ });
28
30
  function tuiBreadcrumbsOptionsProvider(options) {
29
31
  return tuiProvideOptions(TUI_BREADCRUMBS_OPTIONS, options, TUI_BREADCRUMBS_DEFAULT_OPTIONS);
30
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-breadcrumbs.mjs","sources":["../../../projects/kit/components/breadcrumbs/breadcrumbs.options.ts","../../../projects/kit/components/breadcrumbs/breadcrumbs.component.ts","../../../projects/kit/components/breadcrumbs/breadcrumbs.template.html","../../../projects/kit/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL} from '@taiga-ui/core/types';\n\nexport interface TuiBreadcrumbsOptions {\n readonly icon: string;\n readonly size: TuiSizeL;\n readonly itemsLimit: number;\n}\n\nexport const TUI_BREADCRUMBS_DEFAULT_OPTIONS: TuiBreadcrumbsOptions = {\n icon: '@tui.chevron-right',\n size: 'm',\n itemsLimit: 0,\n};\n\nexport const TUI_BREADCRUMBS_OPTIONS = tuiCreateToken(TUI_BREADCRUMBS_DEFAULT_OPTIONS);\n\nexport function tuiBreadcrumbsOptionsProvider(\n options: Partial<TuiBreadcrumbsOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_BREADCRUMBS_OPTIONS,\n options,\n TUI_BREADCRUMBS_DEFAULT_OPTIONS,\n );\n}\n","import {AsyncPipe, NgForOf, NgIf, NgTemplateOutlet} from '@angular/common';\nimport type {QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n inject,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {tuiLinkOptionsProvider} from '@taiga-ui/core/components/link';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {tuiHintOptionsProvider} from '@taiga-ui/core/directives/hint';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {TuiItemsWithMore} from '@taiga-ui/kit/components/items-with-more';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit/tokens';\n\nimport type {TuiBreadcrumbsOptions} from './breadcrumbs.options';\nimport {TUI_BREADCRUMBS_OPTIONS} from './breadcrumbs.options';\n\n@Component({\n standalone: true,\n selector: 'tui-breadcrumbs',\n imports: [\n AsyncPipe,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n TuiButton,\n TuiDataList,\n TuiDropdown,\n TuiIcon,\n TuiItemsWithMore,\n ],\n templateUrl: './breadcrumbs.template.html',\n styleUrls: ['./breadcrumbs.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiLinkOptionsProvider({appearance: 'action-grayscale'}),\n tuiHintOptionsProvider({direction: 'bottom'}),\n ],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiBreadcrumbs {\n @ContentChildren(TuiItem, {read: TemplateRef})\n protected readonly items: QueryList<TemplateRef<Record<string, unknown>>> =\n EMPTY_QUERY;\n\n protected readonly options = inject(TUI_BREADCRUMBS_OPTIONS);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly more = toSignal(inject(TUI_MORE_WORD), {initialValue: ''});\n\n @Input()\n public size: TuiBreadcrumbsOptions['size'] = this.options.size;\n\n @Input()\n public itemsLimit = this.options.itemsLimit;\n\n protected get limit(): number {\n return this.itemsLimit ? this.itemsLimit - 2 : Infinity;\n }\n\n protected get offset(): number {\n return this.itemsLimit === 2 ? 1 : 0;\n }\n}\n","<ng-container *ngIf=\"items.changes | async\" />\n<ng-container *ngIf=\"itemsLimit > 1; else plain\">\n <ng-container *ngIf=\"itemsLimit !== 2\">\n <ng-container [ngTemplateOutlet]=\"items.first\" />\n <ng-container [ngTemplateOutlet]=\"separator\" />\n </ng-container>\n <tui-items-with-more\n side=\"start\"\n [itemsLimit]=\"itemsLimit - 2\"\n [required]=\"items.length + offset - 2\"\n >\n <ng-container *ngFor=\"let item of items; let last = last\">\n <ng-container *ngIf=\"item !== items.first || itemsLimit === 2\">\n <ng-container *tuiItem>\n <ng-container [ngTemplateOutlet]=\"item\" />\n <ng-container\n *ngIf=\"!last\"\n [ngTemplateOutlet]=\"separator\"\n />\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-template\n let-index\n tuiMore\n >\n <span class=\"t-more\">\n <button\n appearance=\"flat\"\n size=\"xs\"\n tuiDropdownOpen\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.ellipsis\"\n [tuiDropdown]=\"dropdown\"\n >\n {{ more() }}\n </button>\n <ng-container [ngTemplateOutlet]=\"separator\" />\n </span>\n <ng-template #dropdown>\n <tui-data-list size=\"s\">\n <ng-container *ngFor=\"let item of items; let i = index\">\n <span\n *ngIf=\"i + offset && i <= index && item !== items.last\"\n tuiOption\n class=\"t-option\"\n >\n <ng-container [ngTemplateOutlet]=\"item\" />\n </span>\n </ng-container>\n </tui-data-list>\n </ng-template>\n </ng-template>\n </tui-items-with-more>\n</ng-container>\n<ng-template #separator>\n <tui-icon\n *ngIf=\"options.icon.length > 1; else char\"\n class=\"t-icon\"\n [icon]=\"options.icon\"\n />\n <ng-template #char>\n <span class=\"t-char\">{{ options.icon }}</span>\n </ng-template>\n</ng-template>\n<ng-template #plain>\n <ng-container *ngFor=\"let item of items; let last = last\">\n <ng-container [ngTemplateOutlet]=\"item\" />\n <ng-container\n *ngIf=\"!last\"\n [ngTemplateOutlet]=\"separator\"\n />\n </ng-container>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-breadcrumbs.mjs","sources":["../../../projects/kit/components/breadcrumbs/breadcrumbs.options.ts","../../../projects/kit/components/breadcrumbs/breadcrumbs.component.ts","../../../projects/kit/components/breadcrumbs/breadcrumbs.template.html","../../../projects/kit/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL} from '@taiga-ui/core/types';\n\nexport interface TuiBreadcrumbsOptions {\n readonly icon: string;\n readonly size: TuiSizeL;\n readonly itemsLimit: number;\n}\n\nexport const TUI_BREADCRUMBS_DEFAULT_OPTIONS: TuiBreadcrumbsOptions = {\n icon: '@tui.chevron-right',\n size: 'm',\n itemsLimit: 0,\n};\n\nexport const TUI_BREADCRUMBS_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_BREADCRUMBS_OPTIONS' : '',\n {\n factory: () => TUI_BREADCRUMBS_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiBreadcrumbsOptionsProvider(\n options: Partial<TuiBreadcrumbsOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_BREADCRUMBS_OPTIONS,\n options,\n TUI_BREADCRUMBS_DEFAULT_OPTIONS,\n );\n}\n","import {AsyncPipe, NgForOf, NgIf, NgTemplateOutlet} from '@angular/common';\nimport type {QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n inject,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {tuiLinkOptionsProvider} from '@taiga-ui/core/components/link';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {tuiHintOptionsProvider} from '@taiga-ui/core/directives/hint';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {TuiItemsWithMore} from '@taiga-ui/kit/components/items-with-more';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit/tokens';\n\nimport type {TuiBreadcrumbsOptions} from './breadcrumbs.options';\nimport {TUI_BREADCRUMBS_OPTIONS} from './breadcrumbs.options';\n\n@Component({\n standalone: true,\n selector: 'tui-breadcrumbs',\n imports: [\n AsyncPipe,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n TuiButton,\n TuiDataList,\n TuiDropdown,\n TuiIcon,\n TuiItemsWithMore,\n ],\n templateUrl: './breadcrumbs.template.html',\n styleUrls: ['./breadcrumbs.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiLinkOptionsProvider({appearance: 'action-grayscale'}),\n tuiHintOptionsProvider({direction: 'bottom'}),\n ],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiBreadcrumbs {\n @ContentChildren(TuiItem, {read: TemplateRef})\n protected readonly items: QueryList<TemplateRef<Record<string, unknown>>> =\n EMPTY_QUERY;\n\n protected readonly options = inject(TUI_BREADCRUMBS_OPTIONS);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly more = toSignal(inject(TUI_MORE_WORD), {initialValue: ''});\n\n @Input()\n public size: TuiBreadcrumbsOptions['size'] = this.options.size;\n\n @Input()\n public itemsLimit = this.options.itemsLimit;\n\n protected get limit(): number {\n return this.itemsLimit ? this.itemsLimit - 2 : Infinity;\n }\n\n protected get offset(): number {\n return this.itemsLimit === 2 ? 1 : 0;\n }\n}\n","<ng-container *ngIf=\"items.changes | async\" />\n<ng-container *ngIf=\"itemsLimit > 1; else plain\">\n <ng-container *ngIf=\"itemsLimit !== 2\">\n <ng-container [ngTemplateOutlet]=\"items.first\" />\n <ng-container [ngTemplateOutlet]=\"separator\" />\n </ng-container>\n <tui-items-with-more\n side=\"start\"\n [itemsLimit]=\"itemsLimit - 2\"\n [required]=\"items.length + offset - 2\"\n >\n <ng-container *ngFor=\"let item of items; let last = last\">\n <ng-container *ngIf=\"item !== items.first || itemsLimit === 2\">\n <ng-container *tuiItem>\n <ng-container [ngTemplateOutlet]=\"item\" />\n <ng-container\n *ngIf=\"!last\"\n [ngTemplateOutlet]=\"separator\"\n />\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-template\n let-index\n tuiMore\n >\n <span class=\"t-more\">\n <button\n appearance=\"flat\"\n size=\"xs\"\n tuiDropdownOpen\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.ellipsis\"\n [tuiDropdown]=\"dropdown\"\n >\n {{ more() }}\n </button>\n <ng-container [ngTemplateOutlet]=\"separator\" />\n </span>\n <ng-template #dropdown>\n <tui-data-list size=\"s\">\n <ng-container *ngFor=\"let item of items; let i = index\">\n <span\n *ngIf=\"i + offset && i <= index && item !== items.last\"\n tuiOption\n class=\"t-option\"\n >\n <ng-container [ngTemplateOutlet]=\"item\" />\n </span>\n </ng-container>\n </tui-data-list>\n </ng-template>\n </ng-template>\n </tui-items-with-more>\n</ng-container>\n<ng-template #separator>\n <tui-icon\n *ngIf=\"options.icon.length > 1; else char\"\n class=\"t-icon\"\n [icon]=\"options.icon\"\n />\n <ng-template #char>\n <span class=\"t-char\">{{ options.icon }}</span>\n </ng-template>\n</ng-template>\n<ng-template #plain>\n <ng-container *ngFor=\"let item of items; let last = last\">\n <ng-container [ngTemplateOutlet]=\"item\" />\n <ng-container\n *ngIf=\"!last\"\n [ngTemplateOutlet]=\"separator\"\n />\n </ng-container>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ChangeDetectorRef, DestroyRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Input } from '@angular/core';
2
+ import { InjectionToken, inject, ChangeDetectorRef, DestroyRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Input } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { NgControl, NgModel } from '@angular/forms';
5
5
  import * as i2 from '@taiga-ui/cdk/directives/native-validator';
6
6
  import { TuiNativeValidator } from '@taiga-ui/cdk/directives/native-validator';
7
7
  import { tuiControlValue, tuiWatch } from '@taiga-ui/cdk/observables';
8
8
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
9
- import { tuiCreateToken, tuiProvideOptions, tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous';
9
+ import { tuiProvideOptions, tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous';
10
10
  import * as i1 from '@taiga-ui/core/directives/appearance';
11
11
  import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
12
12
  import { tuiInjectIconResolver } from '@taiga-ui/core/tokens';
@@ -19,7 +19,9 @@ const TUI_CHECKBOX_DEFAULT_OPTIONS = {
19
19
  indeterminate: '@tui.minus',
20
20
  },
21
21
  };
22
- const TUI_CHECKBOX_OPTIONS = tuiCreateToken(TUI_CHECKBOX_DEFAULT_OPTIONS);
22
+ const TUI_CHECKBOX_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_CHECKBOX_OPTIONS' : '', {
23
+ factory: () => TUI_CHECKBOX_DEFAULT_OPTIONS,
24
+ });
23
25
  function tuiCheckboxOptionsProvider(options) {
24
26
  return tuiProvideOptions(TUI_CHECKBOX_OPTIONS, options, TUI_CHECKBOX_DEFAULT_OPTIONS);
25
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-checkbox.mjs","sources":["../../../projects/kit/components/checkbox/checkbox.options.ts","../../../projects/kit/components/checkbox/checkbox.component.ts","../../../projects/kit/components/checkbox/taiga-ui-kit-components-checkbox.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport type {TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiCheckboxOptions {\n readonly size: TuiSizeS;\n readonly appearance: TuiStringHandler<HTMLInputElement> | string;\n readonly icons: Readonly<{\n checked: TuiStringHandler<TuiSizeS> | string;\n indeterminate: TuiStringHandler<TuiSizeS> | string;\n }>;\n}\n\nexport const TUI_CHECKBOX_DEFAULT_OPTIONS: TuiCheckboxOptions = {\n size: 'm',\n appearance: (el) =>\n el.checked || el.indeterminate ? 'primary' : 'outline-grayscale',\n icons: {\n checked: '@tui.check',\n indeterminate: '@tui.minus',\n },\n};\n\nexport const TUI_CHECKBOX_OPTIONS = tuiCreateToken(TUI_CHECKBOX_DEFAULT_OPTIONS);\n\nexport function tuiCheckboxOptionsProvider(\n options: Partial<TuiCheckboxOptions>,\n): Provider {\n return tuiProvideOptions(TUI_CHECKBOX_OPTIONS, options, TUI_CHECKBOX_DEFAULT_OPTIONS);\n}\n","import type {DoCheck, OnInit} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiControlValue, tuiWatch} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {tuiInjectIconResolver} from '@taiga-ui/core/tokens';\nimport type {TuiSizeS} from '@taiga-ui/core/types';\n\nimport {TUI_CHECKBOX_OPTIONS} from './checkbox.options';\n\n@Component({\n standalone: true,\n selector: 'input[type=\"checkbox\"][tuiCheckbox]',\n template: '',\n styles: ['@import \"@taiga-ui/kit/styles/components/checkbox.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: TuiAppearance,\n inputs: ['tuiAppearanceState', 'tuiAppearanceFocus', 'tuiAppearanceMode'],\n },\n\n TuiNativeValidator,\n ],\n host: {\n '[disabled]': '!control || control.disabled',\n '[attr.data-size]': 'size',\n '[class._readonly]': '!control',\n '[style.--t-checked-icon]': 'getIcon(\"checked\")',\n '[style.--t-indeterminate-icon]': 'getIcon(\"indeterminate\")',\n },\n})\nexport class TuiCheckbox implements OnInit, DoCheck {\n private readonly appearance = inject(TuiAppearance);\n private readonly options = inject(TUI_CHECKBOX_OPTIONS);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly resolver = tuiInjectIconResolver();\n private readonly destroyRef = inject(DestroyRef);\n private readonly el = tuiInjectElement<HTMLInputElement>();\n\n @Input()\n public size: TuiSizeS = this.options.size;\n\n public readonly control: NgControl | null = inject(NgControl, {\n optional: true,\n self: true,\n });\n\n public ngOnInit(): void {\n if (!this.control?.valueChanges) {\n return;\n }\n\n tuiControlValue(this.control)\n .pipe(tuiWatch(this.cdr), takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n // https://github.com/angular/angular/issues/14988\n const fix =\n this.control instanceof NgModel && value === null\n ? this.control.model\n : value;\n\n this.el.indeterminate = fix === null;\n });\n }\n\n public ngDoCheck(): void {\n this.appearance.tuiAppearance = tuiIsString(this.options.appearance)\n ? this.options.appearance\n : this.options.appearance(this.el);\n }\n\n protected getIcon(state: 'checked' | 'indeterminate'): string {\n const option = this.options.icons[state];\n const icon = tuiIsString(option) ? option : option(this.size);\n\n return icon && `url(${this.resolver(icon)})`;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-checkbox.mjs","sources":["../../../projects/kit/components/checkbox/checkbox.options.ts","../../../projects/kit/components/checkbox/checkbox.component.ts","../../../projects/kit/components/checkbox/taiga-ui-kit-components-checkbox.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport type {TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiCheckboxOptions {\n readonly size: TuiSizeS;\n readonly appearance: TuiStringHandler<HTMLInputElement> | string;\n readonly icons: Readonly<{\n checked: TuiStringHandler<TuiSizeS> | string;\n indeterminate: TuiStringHandler<TuiSizeS> | string;\n }>;\n}\n\nexport const TUI_CHECKBOX_DEFAULT_OPTIONS: TuiCheckboxOptions = {\n size: 'm',\n appearance: (el) =>\n el.checked || el.indeterminate ? 'primary' : 'outline-grayscale',\n icons: {\n checked: '@tui.check',\n indeterminate: '@tui.minus',\n },\n};\n\nexport const TUI_CHECKBOX_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_CHECKBOX_OPTIONS' : '',\n {\n factory: () => TUI_CHECKBOX_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiCheckboxOptionsProvider(\n options: Partial<TuiCheckboxOptions>,\n): Provider {\n return tuiProvideOptions(TUI_CHECKBOX_OPTIONS, options, TUI_CHECKBOX_DEFAULT_OPTIONS);\n}\n","import type {DoCheck, OnInit} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiControlValue, tuiWatch} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {tuiInjectIconResolver} from '@taiga-ui/core/tokens';\nimport type {TuiSizeS} from '@taiga-ui/core/types';\n\nimport {TUI_CHECKBOX_OPTIONS} from './checkbox.options';\n\n@Component({\n standalone: true,\n selector: 'input[type=\"checkbox\"][tuiCheckbox]',\n template: '',\n styles: ['@import \"@taiga-ui/kit/styles/components/checkbox.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: TuiAppearance,\n inputs: ['tuiAppearanceState', 'tuiAppearanceFocus', 'tuiAppearanceMode'],\n },\n\n TuiNativeValidator,\n ],\n host: {\n '[disabled]': '!control || control.disabled',\n '[attr.data-size]': 'size',\n '[class._readonly]': '!control',\n '[style.--t-checked-icon]': 'getIcon(\"checked\")',\n '[style.--t-indeterminate-icon]': 'getIcon(\"indeterminate\")',\n },\n})\nexport class TuiCheckbox implements OnInit, DoCheck {\n private readonly appearance = inject(TuiAppearance);\n private readonly options = inject(TUI_CHECKBOX_OPTIONS);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly resolver = tuiInjectIconResolver();\n private readonly destroyRef = inject(DestroyRef);\n private readonly el = tuiInjectElement<HTMLInputElement>();\n\n @Input()\n public size: TuiSizeS = this.options.size;\n\n public readonly control: NgControl | null = inject(NgControl, {\n optional: true,\n self: true,\n });\n\n public ngOnInit(): void {\n if (!this.control?.valueChanges) {\n return;\n }\n\n tuiControlValue(this.control)\n .pipe(tuiWatch(this.cdr), takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n // https://github.com/angular/angular/issues/14988\n const fix =\n this.control instanceof NgModel && value === null\n ? this.control.model\n : value;\n\n this.el.indeterminate = fix === null;\n });\n }\n\n public ngDoCheck(): void {\n this.appearance.tuiAppearance = tuiIsString(this.options.appearance)\n ? this.options.appearance\n : this.options.appearance(this.el);\n }\n\n protected getIcon(state: 'checked' | 'indeterminate'): string {\n const option = this.options.icons[state];\n const icon = tuiIsString(option) ? option : option(this.size);\n\n return icon && `url(${this.resolver(icon)})`;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, Directive, Input } from '@angular/core';
3
- import { tuiCreateToken, tuiProvideOptions, tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
2
+ import { InjectionToken, Component, ViewEncapsulation, ChangeDetectionStrategy, inject, Directive, Input } from '@angular/core';
3
+ import { tuiProvideOptions, tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
4
  import { tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
5
5
  import * as i1 from '@taiga-ui/core/directives/appearance';
6
6
  import { tuiAppearanceOptionsProvider, TuiWithAppearance } from '@taiga-ui/core/directives/appearance';
@@ -14,7 +14,9 @@ const TUI_CHIP_DEFAULT_OPTIONS = {
14
14
  appearance: 'neutral',
15
15
  size: 's',
16
16
  };
17
- const TUI_CHIP_OPTIONS = tuiCreateToken(TUI_CHIP_DEFAULT_OPTIONS);
17
+ const TUI_CHIP_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_CHIP_OPTIONS' : '', {
18
+ factory: () => TUI_CHIP_DEFAULT_OPTIONS,
19
+ });
18
20
  function tuiChipOptionsProvider(options) {
19
21
  return tuiProvideOptions(TUI_CHIP_OPTIONS, options, TUI_CHIP_DEFAULT_OPTIONS);
20
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-chip.mjs","sources":["../../../projects/kit/components/chip/chip.options.ts","../../../projects/kit/components/chip/chip.directive.ts","../../../projects/kit/components/chip/taiga-ui-kit-components-chip.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport type {TuiSizeXXS} from '@taiga-ui/core/types';\n\nexport interface TuiChipOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeXXS;\n}\n\nexport const TUI_CHIP_DEFAULT_OPTIONS: TuiChipOptions = {\n appearance: 'neutral',\n size: 's',\n};\n\nexport const TUI_CHIP_OPTIONS = tuiCreateToken(TUI_CHIP_DEFAULT_OPTIONS);\n\nexport function tuiChipOptionsProvider(options: Partial<TuiChipOptions>): Provider {\n return tuiProvideOptions(TUI_CHIP_OPTIONS, options, TUI_CHIP_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 {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport type {TuiSizeXXS} from '@taiga-ui/core/types';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\nimport {tuiCheckboxOptionsProvider} from '@taiga-ui/kit/components/checkbox';\nimport {tuiSwitchOptionsProvider} from '@taiga-ui/kit/components/switch';\n\nimport {TUI_CHIP_OPTIONS} from './chip.options';\n\n@Component({\n standalone: true,\n template: '',\n styles: ['@import \"@taiga-ui/kit/styles/components/chip.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-chip',\n },\n})\nclass TuiChipStyles {}\n\n@Directive({\n standalone: true,\n selector: 'tui-chip,[tuiChip]',\n providers: [\n tuiAppearanceOptionsProvider(TUI_CHIP_OPTIONS),\n tuiSwitchOptionsProvider({size: 's'}),\n tuiCheckboxOptionsProvider({size: 's'}),\n tuiAvatarOptionsProvider({size: 'xs'}),\n tuiButtonOptionsProvider({\n size: 'xs',\n appearance: 'icon',\n }),\n ],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {'[attr.data-size]': 'size'},\n})\nexport class TuiChip {\n private readonly options = inject(TUI_CHIP_OPTIONS);\n\n protected readonly nothing = tuiWithStyles(TuiChipStyles);\n\n @Input()\n public size: TuiSizeXXS = 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-kit-components-chip.mjs","sources":["../../../projects/kit/components/chip/chip.options.ts","../../../projects/kit/components/chip/chip.directive.ts","../../../projects/kit/components/chip/taiga-ui-kit-components-chip.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport type {TuiSizeXXS} from '@taiga-ui/core/types';\n\nexport interface TuiChipOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeXXS;\n}\n\nexport const TUI_CHIP_DEFAULT_OPTIONS: TuiChipOptions = {\n appearance: 'neutral',\n size: 's',\n};\n\nexport const TUI_CHIP_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_CHIP_OPTIONS' : '', {\n factory: () => TUI_CHIP_DEFAULT_OPTIONS,\n});\n\nexport function tuiChipOptionsProvider(options: Partial<TuiChipOptions>): Provider {\n return tuiProvideOptions(TUI_CHIP_OPTIONS, options, TUI_CHIP_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 {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport type {TuiSizeXXS} from '@taiga-ui/core/types';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\nimport {tuiCheckboxOptionsProvider} from '@taiga-ui/kit/components/checkbox';\nimport {tuiSwitchOptionsProvider} from '@taiga-ui/kit/components/switch';\n\nimport {TUI_CHIP_OPTIONS} from './chip.options';\n\n@Component({\n standalone: true,\n template: '',\n styles: ['@import \"@taiga-ui/kit/styles/components/chip.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-chip',\n },\n})\nclass TuiChipStyles {}\n\n@Directive({\n standalone: true,\n selector: 'tui-chip,[tuiChip]',\n providers: [\n tuiAppearanceOptionsProvider(TUI_CHIP_OPTIONS),\n tuiSwitchOptionsProvider({size: 's'}),\n tuiCheckboxOptionsProvider({size: 's'}),\n tuiAvatarOptionsProvider({size: 'xs'}),\n tuiButtonOptionsProvider({\n size: 'xs',\n appearance: 'icon',\n }),\n ],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {'[attr.data-size]': 'size'},\n})\nexport class TuiChip {\n private readonly options = inject(TUI_CHIP_OPTIONS);\n\n protected readonly nothing = tuiWithStyles(TuiChipStyles);\n\n @Input()\n public size: TuiSizeXXS = this.options.size;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -27,7 +27,9 @@ class TuiComboBox extends TuiControl {
27
27
  ?.options?.() // TODO(v5): remove optional call `?.()`
28
28
  .filter((x) => !this.itemsHandlers.disabledItemHandler()(x)) ?? []);
29
29
  this.nonStrictValueEffect = effect(() => {
30
- if (!this.options().length && !this.strict()) {
30
+ if (!this.options().length &&
31
+ !this.strict() &&
32
+ this.stringify(this.value()) !== this.textfield.value()) {
31
33
  this.onChange(this.textfield.value() || null);
32
34
  }
33
35
  }, TUI_ALLOW_SIGNAL_WRITES);
@@ -81,9 +83,6 @@ class TuiComboBox extends TuiControl {
81
83
  this.open.set(open);
82
84
  }
83
85
  }
84
- onInput() {
85
- setTimeout(() => this.toggleDropdown(true));
86
- }
87
86
  keydownEnter(event) {
88
87
  if (!this.open()) {
89
88
  return;
@@ -99,7 +98,7 @@ class TuiComboBox extends TuiControl {
99
98
  return value ? this.itemsHandlers.stringify()(value) : '';
100
99
  }
101
100
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiComboBox, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
102
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiComboBox, isStandalone: true, selector: "input[tuiComboBox]", inputs: { strictSetter: ["strict", "strictSetter"], matcherSetter: ["matcher", "matcherSetter"] }, host: { listeners: { "click": "toggleDropdown()", "input": "onInput()", "keydown.enter": "keydownEnter($event)" }, properties: { "disabled": "disabled()" } }, providers: [
101
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiComboBox, isStandalone: true, selector: "input[tuiComboBox]", inputs: { strictSetter: ["strict", "strictSetter"], matcherSetter: ["matcher", "matcherSetter"] }, host: { listeners: { "click": "toggleDropdown()", "input": "toggleDropdown(true)", "keydown.enter": "keydownEnter($event)" }, properties: { "disabled": "disabled()" } }, providers: [
103
102
  tuiAsOptionContent(TuiSelectOption),
104
103
  tuiAsTextfieldAccessor(TuiComboBox),
105
104
  tuiAsControl(TuiComboBox),
@@ -119,7 +118,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
119
118
  host: {
120
119
  '[disabled]': 'disabled()',
121
120
  '(click)': 'toggleDropdown()',
122
- '(input)': 'onInput()',
121
+ '(input)': 'toggleDropdown(true)',
123
122
  '(keydown.enter)': 'keydownEnter($event)',
124
123
  },
125
124
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-combo-box.mjs","sources":["../../../projects/kit/components/combo-box/combo-box.directive.ts","../../../projects/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {\n computed,\n Directive,\n effect,\n inject,\n Input,\n isSignal,\n signal,\n untracked,\n} from '@angular/core';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_ALLOW_SIGNAL_WRITES, TUI_STRICT_MATCHER} from '@taiga-ui/cdk/constants';\nimport type {TuiStringMatcher} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport type {TuiDataListAccessor} from '@taiga-ui/core/components/data-list';\nimport {tuiAsOptionContent} from '@taiga-ui/core/components/data-list';\nimport type {TuiTextfieldAccessor} from '@taiga-ui/core/components/textfield';\nimport {\n tuiAsTextfieldAccessor,\n tuiInjectAuxiliary,\n TuiTextfieldComponent,\n TuiTextfieldDirective,\n TuiWithTextfield,\n} from '@taiga-ui/core/components/textfield';\nimport {\n TuiDropdownDirective,\n tuiDropdownEnabled,\n tuiDropdownOpen,\n} from '@taiga-ui/core/directives/dropdown';\nimport type {TuiItemsHandlers} from '@taiga-ui/core/directives/items-handlers';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/core/directives/items-handlers';\nimport {TuiSelectOption} from '@taiga-ui/kit/components/select';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiComboBox]',\n providers: [\n tuiAsOptionContent(TuiSelectOption),\n tuiAsTextfieldAccessor(TuiComboBox),\n tuiAsControl(TuiComboBox),\n ],\n hostDirectives: [TuiWithTextfield],\n host: {\n '[disabled]': 'disabled()',\n '(click)': 'toggleDropdown()',\n '(input)': 'onInput()',\n '(keydown.enter)': 'keydownEnter($event)',\n },\n})\nexport class TuiComboBox<T>\n extends TuiControl<T | string | null>\n implements TuiTextfieldAccessor<T>\n{\n private readonly el = tuiInjectElement<HTMLInputElement>();\n private readonly host: TuiTextfieldComponent<T> = inject(TuiTextfieldComponent);\n private readonly textfield: TuiTextfieldDirective<T> = inject(TuiTextfieldDirective);\n private readonly open = tuiDropdownOpen();\n private readonly dropdownEnabled = tuiDropdownEnabled(this.interactive);\n private readonly dropdown = inject(TuiDropdownDirective);\n private readonly itemsHandlers: TuiItemsHandlers<T | string> =\n inject(TUI_ITEMS_HANDLERS);\n\n private readonly matcher = signal<TuiStringMatcher<T> | null>(TUI_STRICT_MATCHER);\n private readonly strict = signal(true);\n private readonly datalist = tuiInjectAuxiliary<TuiDataListAccessor<T>>(\n (x) => x !== this && 'options' in x && isSignal(x.options),\n );\n\n private readonly options = computed(\n () =>\n this.datalist()\n ?.options?.() // TODO(v5): remove optional call `?.()`\n .filter((x) => !this.itemsHandlers.disabledItemHandler()(x)) ?? [],\n );\n\n protected readonly nonStrictValueEffect = effect(() => {\n if (!this.options().length && !this.strict()) {\n this.onChange(this.textfield.value() || null);\n }\n }, TUI_ALLOW_SIGNAL_WRITES);\n\n protected readonly matchingEffect = effect(() => {\n const options = this.options();\n const matcher = this.matcher();\n\n if (!options.length || !matcher) {\n return;\n }\n\n const textfieldValue = this.textfield.value();\n const selectedOption =\n options.find((x) =>\n matcher(x, textfieldValue, this.itemsHandlers.stringify()),\n ) ?? null;\n const stringified = this.stringify(selectedOption);\n const fallback = this.strict() || !textfieldValue ? null : textfieldValue;\n\n this.onChange(selectedOption ?? fallback);\n\n if (stringified && stringified !== textfieldValue) {\n this.textfield.value.set(stringified);\n }\n }, TUI_ALLOW_SIGNAL_WRITES);\n\n protected readonly blurEffect = effect(() => {\n const incomplete = untracked(() => this.strict() && !this.value());\n\n if (!this.host.focused() && incomplete) {\n this.textfield.value.set('');\n }\n }, TUI_ALLOW_SIGNAL_WRITES);\n\n // TODO(v5): use signal input\n @Input('strict')\n public set strictSetter(x: boolean) {\n this.strict.set(x);\n }\n\n // TODO(v5): use signal input\n @Input('matcher')\n public set matcherSetter(x: TuiStringMatcher<T> | null) {\n this.matcher.set(x);\n }\n\n public setValue(value: T | null): void {\n const stringified = this.stringify(value);\n\n if (stringified !== this.textfield.value()) {\n this.textfield.value.set(stringified);\n setTimeout((end = stringified.length) => this.el.setSelectionRange(end, end));\n }\n\n this.onChange(value);\n\n if (!value) {\n this.toggleDropdown(true);\n }\n }\n\n public override writeValue(value: T | string | null): void {\n super.writeValue(value);\n this.textfield.value.set(this.stringify(value));\n }\n\n protected toggleDropdown(open = !this.open()): void {\n if (this.dropdownEnabled() && this.dropdown._content()) {\n this.open.set(open);\n }\n }\n\n protected onInput(): void {\n setTimeout(() => this.toggleDropdown(true));\n }\n\n protected keydownEnter(event: KeyboardEvent): void {\n if (!this.open()) {\n return;\n }\n\n event.preventDefault();\n\n const options = this.options();\n\n if (options.length === 1 && options[0]) {\n this.setValue(options[0]);\n this.toggleDropdown(false);\n }\n }\n\n private stringify(value: T | string | null): string {\n return value ? this.itemsHandlers.stringify()(value) : '';\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-combo-box.mjs","sources":["../../../projects/kit/components/combo-box/combo-box.directive.ts","../../../projects/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {\n computed,\n Directive,\n effect,\n inject,\n Input,\n isSignal,\n signal,\n untracked,\n} from '@angular/core';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_ALLOW_SIGNAL_WRITES, TUI_STRICT_MATCHER} from '@taiga-ui/cdk/constants';\nimport type {TuiStringMatcher} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport type {TuiDataListAccessor} from '@taiga-ui/core/components/data-list';\nimport {tuiAsOptionContent} from '@taiga-ui/core/components/data-list';\nimport type {TuiTextfieldAccessor} from '@taiga-ui/core/components/textfield';\nimport {\n tuiAsTextfieldAccessor,\n tuiInjectAuxiliary,\n TuiTextfieldComponent,\n TuiTextfieldDirective,\n TuiWithTextfield,\n} from '@taiga-ui/core/components/textfield';\nimport {\n TuiDropdownDirective,\n tuiDropdownEnabled,\n tuiDropdownOpen,\n} from '@taiga-ui/core/directives/dropdown';\nimport type {TuiItemsHandlers} from '@taiga-ui/core/directives/items-handlers';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/core/directives/items-handlers';\nimport {TuiSelectOption} from '@taiga-ui/kit/components/select';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiComboBox]',\n providers: [\n tuiAsOptionContent(TuiSelectOption),\n tuiAsTextfieldAccessor(TuiComboBox),\n tuiAsControl(TuiComboBox),\n ],\n hostDirectives: [TuiWithTextfield],\n host: {\n '[disabled]': 'disabled()',\n '(click)': 'toggleDropdown()',\n '(input)': 'toggleDropdown(true)',\n '(keydown.enter)': 'keydownEnter($event)',\n },\n})\nexport class TuiComboBox<T>\n extends TuiControl<T | string | null>\n implements TuiTextfieldAccessor<T>\n{\n private readonly el = tuiInjectElement<HTMLInputElement>();\n private readonly host: TuiTextfieldComponent<T> = inject(TuiTextfieldComponent);\n private readonly textfield: TuiTextfieldDirective<T> = inject(TuiTextfieldDirective);\n private readonly open = tuiDropdownOpen();\n private readonly dropdownEnabled = tuiDropdownEnabled(this.interactive);\n private readonly dropdown = inject(TuiDropdownDirective);\n private readonly itemsHandlers: TuiItemsHandlers<T | string> =\n inject(TUI_ITEMS_HANDLERS);\n\n private readonly matcher = signal<TuiStringMatcher<T> | null>(TUI_STRICT_MATCHER);\n private readonly strict = signal(true);\n private readonly datalist = tuiInjectAuxiliary<TuiDataListAccessor<T>>(\n (x) => x !== this && 'options' in x && isSignal(x.options),\n );\n\n private readonly options = computed(\n () =>\n this.datalist()\n ?.options?.() // TODO(v5): remove optional call `?.()`\n .filter((x) => !this.itemsHandlers.disabledItemHandler()(x)) ?? [],\n );\n\n protected readonly nonStrictValueEffect = effect(() => {\n if (\n !this.options().length &&\n !this.strict() &&\n this.stringify(this.value()) !== this.textfield.value()\n ) {\n this.onChange(this.textfield.value() || null);\n }\n }, TUI_ALLOW_SIGNAL_WRITES);\n\n protected readonly matchingEffect = effect(() => {\n const options = this.options();\n const matcher = this.matcher();\n\n if (!options.length || !matcher) {\n return;\n }\n\n const textfieldValue = this.textfield.value();\n const selectedOption =\n options.find((x) =>\n matcher(x, textfieldValue, this.itemsHandlers.stringify()),\n ) ?? null;\n const stringified = this.stringify(selectedOption);\n const fallback = this.strict() || !textfieldValue ? null : textfieldValue;\n\n this.onChange(selectedOption ?? fallback);\n\n if (stringified && stringified !== textfieldValue) {\n this.textfield.value.set(stringified);\n }\n }, TUI_ALLOW_SIGNAL_WRITES);\n\n protected readonly blurEffect = effect(() => {\n const incomplete = untracked(() => this.strict() && !this.value());\n\n if (!this.host.focused() && incomplete) {\n this.textfield.value.set('');\n }\n }, TUI_ALLOW_SIGNAL_WRITES);\n\n // TODO(v5): use signal input\n @Input('strict')\n public set strictSetter(x: boolean) {\n this.strict.set(x);\n }\n\n // TODO(v5): use signal input\n @Input('matcher')\n public set matcherSetter(x: TuiStringMatcher<T> | null) {\n this.matcher.set(x);\n }\n\n public setValue(value: T | null): void {\n const stringified = this.stringify(value);\n\n if (stringified !== this.textfield.value()) {\n this.textfield.value.set(stringified);\n setTimeout((end = stringified.length) => this.el.setSelectionRange(end, end));\n }\n\n this.onChange(value);\n\n if (!value) {\n this.toggleDropdown(true);\n }\n }\n\n public override writeValue(value: T | string | null): void {\n super.writeValue(value);\n this.textfield.value.set(this.stringify(value));\n }\n\n protected toggleDropdown(open = !this.open()): void {\n if (this.dropdownEnabled() && this.dropdown._content()) {\n this.open.set(open);\n }\n }\n\n protected keydownEnter(event: KeyboardEvent): void {\n if (!this.open()) {\n return;\n }\n\n event.preventDefault();\n\n const options = this.options();\n\n if (options.length === 1 && options[0]) {\n this.setValue(options[0]);\n this.toggleDropdown(false);\n }\n }\n\n private stringify(value: T | string | null): string {\n return value ? this.itemsHandlers.stringify()(value) : '';\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -20,11 +20,11 @@ class TuiConfirm {
20
20
  return this.isMobile ? 'secondary' : 'flat';
21
21
  }
22
22
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiConfirm, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiConfirm, isStandalone: true, selector: "tui-confirm", ngImport: i0, template: "<div\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<div\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</div>\n", styles: [".t-content:not(:empty){margin-bottom:.875rem;overflow-wrap:break-word}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1;overflow:visible}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiConfirm, isStandalone: true, selector: "tui-confirm", ngImport: i0, template: "<div\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<div\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</div>\n", styles: [".t-content:not(:empty){margin-block-end:.875rem;overflow-wrap:break-word}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1;overflow:visible}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
24
  }
25
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiConfirm, decorators: [{
26
26
  type: Component,
27
- args: [{ standalone: true, selector: 'tui-confirm', imports: [CommonModule, PolymorpheusOutlet, TuiAutoFocus, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<div\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</div>\n", styles: [".t-content:not(:empty){margin-bottom:.875rem;overflow-wrap:break-word}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1;overflow:visible}\n"] }]
27
+ args: [{ standalone: true, selector: 'tui-confirm', imports: [CommonModule, PolymorpheusOutlet, TuiAutoFocus, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<div\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</div>\n", styles: [".t-content:not(:empty){margin-block-end:.875rem;overflow-wrap:break-word}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1;overflow:visible}\n"] }]
28
28
  }] });
29
29
  const TUI_CONFIRM = new PolymorpheusComponent(TuiConfirm);
30
30
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-confirm.mjs","sources":["../../../projects/kit/components/confirm/confirm.component.ts","../../../projects/kit/components/confirm/confirm.template.html","../../../projects/kit/components/confirm/confirm.service.ts","../../../projects/kit/components/confirm/taiga-ui-kit-components-confirm.ts"],"sourcesContent":["import {CommonModule} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TuiAutoFocus} from '@taiga-ui/cdk/directives/auto-focus';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport type {TuiDialogContext} from '@taiga-ui/core/components/dialog';\nimport {TUI_CONFIRM_WORDS} from '@taiga-ui/kit/tokens';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {\n injectContext,\n PolymorpheusComponent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\n\nexport interface TuiConfirmData {\n readonly content?: PolymorpheusContent;\n readonly no?: string;\n readonly yes?: string;\n readonly appearance?: string;\n}\n\n@Component({\n standalone: true,\n selector: 'tui-confirm',\n imports: [CommonModule, PolymorpheusOutlet, TuiAutoFocus, TuiButton],\n templateUrl: './confirm.template.html',\n styleUrls: ['./confirm.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiConfirm {\n private readonly isMobile = inject(TUI_IS_MOBILE);\n protected readonly words$ = inject(TUI_CONFIRM_WORDS);\n\n public readonly context =\n injectContext<TuiDialogContext<boolean, TuiConfirmData | undefined>>();\n\n protected get appearance(): string {\n return this.isMobile ? 'secondary' : 'flat';\n }\n}\n\nexport const TUI_CONFIRM = new PolymorpheusComponent(TuiConfirm);\n","<div\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<div\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</div>\n","import {inject, Injectable} from '@angular/core';\nimport type {TuiDialogOptions} from '@taiga-ui/core/components/dialog';\nimport {TuiDialogService} from '@taiga-ui/core/components/dialog';\nimport type {Observable} from 'rxjs';\nimport {defer, of} from 'rxjs';\n\nimport type {TuiConfirmData} from './confirm.component';\nimport {TUI_CONFIRM} from './confirm.component';\n\n@Injectable()\nexport class TuiConfirmService {\n private readonly dialogs = inject(TuiDialogService);\n private dirty = false;\n\n public markAsDirty(): void {\n this.dirty = true;\n }\n\n public markAsPristine(): void {\n this.dirty = false;\n }\n\n public withConfirm(\n options: Partial<TuiDialogOptions<TuiConfirmData>>,\n ): Observable<boolean> {\n return defer(() =>\n this.dirty\n ? this.dialogs.open<boolean>(TUI_CONFIRM, {\n size: 's',\n ...options,\n })\n : of(true),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AAqBA,MAQa,UAAU,CAAA;AARvB,IAAA,WAAA,GAAA;AASqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAC/B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAEtC,IAAO,CAAA,OAAA,GACnB,aAAa,EAAyD,CAAC;AAK9E,KAAA;AAHG,IAAA,IAAc,UAAU,GAAA;QACpB,OAAO,IAAI,CAAC,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;KAC/C;+GATQ,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7BvB,owBA+BA,EDPc,MAAA,EAAA,CAAA,iSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,wLAAE,kBAAkB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,YAAY,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAK1D,UAAU,EAAA,UAAA,EAAA,CAAA;kBARtB,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,aAAa,EACd,OAAA,EAAA,CAAC,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,SAAS,CAAC,EAGnD,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,owBAAA,EAAA,MAAA,EAAA,CAAA,iSAAA,CAAA,EAAA,CAAA;;MActC,WAAW,GAAG,IAAI,qBAAqB,CAAC,UAAU;;AEhC/D,MACa,iBAAiB,CAAA;AAD9B,IAAA,WAAA,GAAA;AAEqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC5C,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;AAsBzB,KAAA;IApBU,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KACrB;IAEM,cAAc,GAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;AAEM,IAAA,WAAW,CACd,OAAkD,EAAA;AAElD,QAAA,OAAO,KAAK,CAAC,MACT,IAAI,CAAC,KAAK;cACJ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAU,WAAW,EAAE;AACpC,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,GAAG,OAAO;aACb,CAAC;AACJ,cAAE,EAAE,CAAC,IAAI,CAAC,CACjB,CAAC;KACL;+GAvBQ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAjB,iBAAiB,EAAA,CAAA,CAAA,EAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;ACTX;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-confirm.mjs","sources":["../../../projects/kit/components/confirm/confirm.component.ts","../../../projects/kit/components/confirm/confirm.template.html","../../../projects/kit/components/confirm/confirm.service.ts","../../../projects/kit/components/confirm/taiga-ui-kit-components-confirm.ts"],"sourcesContent":["import {CommonModule} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TuiAutoFocus} from '@taiga-ui/cdk/directives/auto-focus';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport type {TuiDialogContext} from '@taiga-ui/core/components/dialog';\nimport {TUI_CONFIRM_WORDS} from '@taiga-ui/kit/tokens';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {\n injectContext,\n PolymorpheusComponent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\n\nexport interface TuiConfirmData {\n readonly content?: PolymorpheusContent;\n readonly no?: string;\n readonly yes?: string;\n readonly appearance?: string;\n}\n\n@Component({\n standalone: true,\n selector: 'tui-confirm',\n imports: [CommonModule, PolymorpheusOutlet, TuiAutoFocus, TuiButton],\n templateUrl: './confirm.template.html',\n styleUrls: ['./confirm.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiConfirm {\n private readonly isMobile = inject(TUI_IS_MOBILE);\n protected readonly words$ = inject(TUI_CONFIRM_WORDS);\n\n public readonly context =\n injectContext<TuiDialogContext<boolean, TuiConfirmData | undefined>>();\n\n protected get appearance(): string {\n return this.isMobile ? 'secondary' : 'flat';\n }\n}\n\nexport const TUI_CONFIRM = new PolymorpheusComponent(TuiConfirm);\n","<div\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<div\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</div>\n","import {inject, Injectable} from '@angular/core';\nimport type {TuiDialogOptions} from '@taiga-ui/core/components/dialog';\nimport {TuiDialogService} from '@taiga-ui/core/components/dialog';\nimport type {Observable} from 'rxjs';\nimport {defer, of} from 'rxjs';\n\nimport type {TuiConfirmData} from './confirm.component';\nimport {TUI_CONFIRM} from './confirm.component';\n\n@Injectable()\nexport class TuiConfirmService {\n private readonly dialogs = inject(TuiDialogService);\n private dirty = false;\n\n public markAsDirty(): void {\n this.dirty = true;\n }\n\n public markAsPristine(): void {\n this.dirty = false;\n }\n\n public withConfirm(\n options: Partial<TuiDialogOptions<TuiConfirmData>>,\n ): Observable<boolean> {\n return defer(() =>\n this.dirty\n ? this.dialogs.open<boolean>(TUI_CONFIRM, {\n size: 's',\n ...options,\n })\n : of(true),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AAqBA,MAQa,UAAU,CAAA;AARvB,IAAA,WAAA,GAAA;AASqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAC/B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAEtC,IAAO,CAAA,OAAA,GACnB,aAAa,EAAyD,CAAC;AAK9E,KAAA;AAHG,IAAA,IAAc,UAAU,GAAA;QACpB,OAAO,IAAI,CAAC,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;KAC/C;+GATQ,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7BvB,owBA+BA,EDPc,MAAA,EAAA,CAAA,oSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,wLAAE,kBAAkB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,YAAY,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAK1D,UAAU,EAAA,UAAA,EAAA,CAAA;kBARtB,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,aAAa,EACd,OAAA,EAAA,CAAC,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,SAAS,CAAC,EAGnD,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,owBAAA,EAAA,MAAA,EAAA,CAAA,oSAAA,CAAA,EAAA,CAAA;;MActC,WAAW,GAAG,IAAI,qBAAqB,CAAC,UAAU;;AEhC/D,MACa,iBAAiB,CAAA;AAD9B,IAAA,WAAA,GAAA;AAEqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC5C,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;AAsBzB,KAAA;IApBU,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KACrB;IAEM,cAAc,GAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;AAEM,IAAA,WAAW,CACd,OAAkD,EAAA;AAElD,QAAA,OAAO,KAAK,CAAC,MACT,IAAI,CAAC,KAAK;cACJ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAU,WAAW,EAAE;AACpC,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,GAAG,OAAO;aACb,CAAC;AACJ,cAAE,EAAE,CAAC,IAAI,CAAC,CACjB,CAAC;KACL;+GAvBQ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAjB,iBAAiB,EAAA,CAAA,CAAA,EAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;ACTX;;AAEG;;;;"}
@@ -57,7 +57,7 @@ class TuiElasticContainer {
57
57
  this.transitions += count;
58
58
  }
59
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiElasticContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiElasticContainer, isStandalone: true, selector: "tui-elastic-container", host: { properties: { "style.height.px": "height", "class._transitioning": "transitions" } }, ngImport: i0, template: "<div\n class=\"t-wrapper\"\n (transitioncancel.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionend.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionstart.zoneless)=\"onAnimation($any($event).propertyName, 1)\"\n (tuiElasticContainer)=\"height = $event\"\n>\n <ng-content />\n</div>\n", styles: [":host{transition-property:height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;overflow:hidden}:host._transitioning{block-size:auto!important}.t-wrapper{padding-top:1px;margin-top:-1px}\n"], dependencies: [{ kind: "directive", type: TuiElasticContainerDirective, selector: "[tuiElasticContainer]", outputs: ["tuiElasticContainer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiElasticContainer, isStandalone: true, selector: "tui-elastic-container", host: { properties: { "style.height.px": "height", "class._transitioning": "transitions" } }, ngImport: i0, template: "<div\n class=\"t-wrapper\"\n (transitioncancel.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionend.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionstart.zoneless)=\"onAnimation($any($event).propertyName, 1)\"\n (tuiElasticContainer)=\"height = $event\"\n>\n <ng-content />\n</div>\n", styles: [":host{transition-property:height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;overflow:hidden}:host._transitioning{block-size:auto!important}.t-wrapper{padding-block-start:1px;margin-block-start:-1px}\n"], dependencies: [{ kind: "directive", type: TuiElasticContainerDirective, selector: "[tuiElasticContainer]", outputs: ["tuiElasticContainer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
61
61
  }
62
62
  __decorate([
63
63
  shouldCall((name) => name === 'height')
@@ -67,7 +67,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
67
67
  args: [{ standalone: true, selector: 'tui-elastic-container', imports: [TuiElasticContainerDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: {
68
68
  '[style.height.px]': 'height',
69
69
  '[class._transitioning]': 'transitions',
70
- }, template: "<div\n class=\"t-wrapper\"\n (transitioncancel.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionend.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionstart.zoneless)=\"onAnimation($any($event).propertyName, 1)\"\n (tuiElasticContainer)=\"height = $event\"\n>\n <ng-content />\n</div>\n", styles: [":host{transition-property:height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;overflow:hidden}:host._transitioning{block-size:auto!important}.t-wrapper{padding-top:1px;margin-top:-1px}\n"] }]
70
+ }, template: "<div\n class=\"t-wrapper\"\n (transitioncancel.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionend.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionstart.zoneless)=\"onAnimation($any($event).propertyName, 1)\"\n (tuiElasticContainer)=\"height = $event\"\n>\n <ng-content />\n</div>\n", styles: [":host{transition-property:height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;overflow:hidden}:host._transitioning{block-size:auto!important}.t-wrapper{padding-block-start:1px;margin-block-start:-1px}\n"] }]
71
71
  }], propDecorators: { onAnimation: [] } });
72
72
 
73
73
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-elastic-container.mjs","sources":["../../../projects/kit/components/elastic-container/elastic-container.directive.ts","../../../projects/kit/components/elastic-container/elastic-container.component.ts","../../../projects/kit/components/elastic-container/elastic-container.component.html","../../../projects/kit/components/elastic-container/taiga-ui-kit-components-elastic-container.ts"],"sourcesContent":["import {Directive, inject, Output} from '@angular/core';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {debounceTime, distinctUntilChanged, map, merge} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiElasticContainer]',\n providers: [\n ResizeObserverService,\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n childList: true,\n characterData: true,\n subtree: true,\n },\n },\n ],\n})\nexport class TuiElasticContainerDirective {\n private readonly el = tuiInjectElement();\n\n @Output()\n public readonly tuiElasticContainer = merge(\n inject(ResizeObserverService, {self: true}),\n inject(MutationObserverService, {self: true}),\n ).pipe(\n debounceTime(0),\n map(() => this.el.clientHeight - 1),\n distinctUntilChanged(),\n );\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {shouldCall} from '@taiga-ui/event-plugins';\n\nimport {TuiElasticContainerDirective} from './elastic-container.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-elastic-container',\n imports: [TuiElasticContainerDirective],\n templateUrl: './elastic-container.component.html',\n styleUrls: ['./elastic-container.component.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style.height.px]': 'height',\n '[class._transitioning]': 'transitions',\n },\n})\nexport class TuiElasticContainer {\n protected height = NaN;\n protected transitions = 0;\n\n @shouldCall((name) => name === 'height')\n protected onAnimation(_name: string, count: number): void {\n this.transitions += count;\n }\n}\n","<div\n class=\"t-wrapper\"\n (transitioncancel.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionend.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionstart.zoneless)=\"onAnimation($any($event).propertyName, 1)\"\n (tuiElasticContainer)=\"height = $event\"\n>\n <ng-content />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-elastic-container.mjs","sources":["../../../projects/kit/components/elastic-container/elastic-container.directive.ts","../../../projects/kit/components/elastic-container/elastic-container.component.ts","../../../projects/kit/components/elastic-container/elastic-container.component.html","../../../projects/kit/components/elastic-container/taiga-ui-kit-components-elastic-container.ts"],"sourcesContent":["import {Directive, inject, Output} from '@angular/core';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {debounceTime, distinctUntilChanged, map, merge} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiElasticContainer]',\n providers: [\n ResizeObserverService,\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n childList: true,\n characterData: true,\n subtree: true,\n },\n },\n ],\n})\nexport class TuiElasticContainerDirective {\n private readonly el = tuiInjectElement();\n\n @Output()\n public readonly tuiElasticContainer = merge(\n inject(ResizeObserverService, {self: true}),\n inject(MutationObserverService, {self: true}),\n ).pipe(\n debounceTime(0),\n map(() => this.el.clientHeight - 1),\n distinctUntilChanged(),\n );\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {shouldCall} from '@taiga-ui/event-plugins';\n\nimport {TuiElasticContainerDirective} from './elastic-container.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-elastic-container',\n imports: [TuiElasticContainerDirective],\n templateUrl: './elastic-container.component.html',\n styleUrls: ['./elastic-container.component.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style.height.px]': 'height',\n '[class._transitioning]': 'transitions',\n },\n})\nexport class TuiElasticContainer {\n protected height = NaN;\n protected transitions = 0;\n\n @shouldCall((name) => name === 'height')\n protected onAnimation(_name: string, count: number): void {\n this.transitions += count;\n }\n}\n","<div\n class=\"t-wrapper\"\n (transitioncancel.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionend.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionstart.zoneless)=\"onAnimation($any($event).propertyName, 1)\"\n (tuiElasticContainer)=\"height = $event\"\n>\n <ng-content />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AASA,MAgBa,4BAA4B,CAAA;AAhBzC,IAAA,WAAA,GAAA;QAiBqB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;QAGzB,IAAmB,CAAA,mBAAA,GAAG,KAAK,CACvC,MAAM,CAAC,qBAAqB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,EAC3C,MAAM,CAAC,uBAAuB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAChD,CAAC,IAAI,CACF,YAAY,CAAC,CAAC,CAAC,EACf,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC,EACnC,oBAAoB,EAAE,CACzB,CAAC;AACL,KAAA;+GAZY,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAb1B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,SAAA,EAAA;YACP,qBAAqB;YACrB,uBAAuB;AACvB,YAAA;AACI,gBAAA,OAAO,EAAE,yBAAyB;AAClC,gBAAA,QAAQ,EAAE;AACN,oBAAA,SAAS,EAAE,IAAI;AACf,oBAAA,aAAa,EAAE,IAAI;AACnB,oBAAA,OAAO,EAAE,IAAI;AAChB,iBAAA;AACJ,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEQ,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAhBxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,SAAS,EAAE;wBACP,qBAAqB;wBACrB,uBAAuB;AACvB,wBAAA;AACI,4BAAA,OAAO,EAAE,yBAAyB;AAClC,4BAAA,QAAQ,EAAE;AACN,gCAAA,SAAS,EAAE,IAAI;AACf,gCAAA,aAAa,EAAE,IAAI;AACnB,gCAAA,OAAO,EAAE,IAAI;AAChB,6BAAA;AACJ,yBAAA;AACJ,qBAAA;AACJ,iBAAA,CAAA;8BAKmB,mBAAmB,EAAA,CAAA;sBADlC,MAAM;;;ACvBX,MAYa,mBAAmB,CAAA;AAZhC,IAAA,WAAA,GAAA;QAac,IAAM,CAAA,MAAA,GAAG,GAAG,CAAC;QACb,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC;AAM7B,KAAA;IAHa,WAAW,CAAC,KAAa,EAAE,KAAa,EAAA;AAC9C,QAAA,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC;KAC7B;+GAPQ,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjBhC,0VASA,EAAA,MAAA,EAAA,CAAA,iQAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDDc,4BAA4B,EAAA,QAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AAc5B,UAAA,CAAA;IADT,UAAU,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,QAAQ,CAAC;AAGvC,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,IAAA,CAAA,CAAA;4FAPQ,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAZ/B,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,uBAAuB,EAAA,OAAA,EACxB,CAAC,4BAA4B,CAAC,EAGtB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,mBAAmB,EAAE,QAAQ;AAC7B,wBAAA,wBAAwB,EAAE,aAAa;AAC1C,qBAAA,EAAA,QAAA,EAAA,0VAAA,EAAA,MAAA,EAAA,CAAA,iQAAA,CAAA,EAAA,CAAA;8BAOS,WAAW,EAAA,EAAA,EAAA,EAAA,CAAA;;AEtBzB;;AAEG;;;;"}