@taiga-ui/kit 5.0.0-rc.4 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/components/accordion/accordion.component.d.ts +4 -1
  2. package/components/accordion/accordion.directive.d.ts +1 -0
  3. package/components/calendar-month/calendar-month.component.d.ts +10 -18
  4. package/components/calendar-range/calendar-range.component.d.ts +15 -20
  5. package/components/copy/copy.component.d.ts +3 -1
  6. package/components/copy/copy.options.d.ts +7 -1
  7. package/components/files/input-files/input-files.component.d.ts +4 -1
  8. package/components/filter/filter.component.d.ts +1 -1
  9. package/components/index.d.ts +1 -1
  10. package/components/input-date/input-date.directive.d.ts +1 -0
  11. package/components/input-date-time/input-date-time.component.d.ts +2 -2
  12. package/components/input-phone/input-phone.directive.d.ts +1 -1
  13. package/components/input-pin/input-pin.component.d.ts +0 -1
  14. package/components/input-range/input-range.component.d.ts +1 -1
  15. package/components/line-clamp/line-clamp.component.d.ts +3 -3
  16. package/components/multi-select/multi-select-native/multi-select-native.component.d.ts +1 -1
  17. package/components/progress/progress-bar/progress-color-segments.directive.d.ts +2 -2
  18. package/components/radio-list/radio-list.component.d.ts +1 -5
  19. package/components/select/native-select/native-select.component.d.ts +1 -1
  20. package/components/shrink-wrap/index.d.ts +3 -0
  21. package/components/shrink-wrap/shrink-wrap.component.d.ts +5 -0
  22. package/components/shrink-wrap/shrink-wrap.d.ts +3 -0
  23. package/components/shrink-wrap/shrink-wrap.directive.d.ts +6 -0
  24. package/components/stepper/step.component.d.ts +1 -1
  25. package/components/textarea/textarea.directive.d.ts +1 -1
  26. package/components/toast/toast.directive.d.ts +4 -1
  27. package/components/tree/components/tree/tree.component.d.ts +1 -3
  28. package/directives/password/password.options.d.ts +16 -1
  29. package/fesm2022/taiga-ui-kit-components-accordion.mjs +20 -10
  30. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +5 -5
  32. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-kit-components-avatar.mjs +24 -24
  34. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +4 -4
  36. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-kit-components-badge.mjs +8 -8
  38. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-kit-components-badged-content.mjs +7 -7
  40. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-kit-components-block.mjs +8 -8
  42. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +3 -3
  44. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-kit-components-button-loading.mjs +3 -3
  46. package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +18 -40
  48. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +63 -93
  50. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-kit-components-chip.mjs +8 -8
  52. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +3 -3
  54. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-kit-components-comment.mjs +7 -7
  56. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-kit-components-compass.mjs +4 -4
  58. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  59. package/fesm2022/taiga-ui-kit-components-confirm.mjs +7 -7
  60. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  61. package/fesm2022/taiga-ui-kit-components-copy.mjs +15 -13
  62. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-kit-components-counter.mjs +5 -4
  64. package/fesm2022/taiga-ui-kit-components-counter.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +6 -6
  66. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-kit-components-drawer.mjs +4 -4
  68. package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-kit-components-files.mjs +37 -30
  70. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-kit-components-filter.mjs +5 -4
  72. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +3 -3
  74. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +6 -6
  76. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-kit-components-input-color.mjs +5 -4
  78. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  79. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +5 -6
  80. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  81. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +6 -5
  82. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  83. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +10 -8
  84. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  85. package/fesm2022/taiga-ui-kit-components-input-date.mjs +26 -17
  86. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  87. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +5 -4
  88. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  89. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +7 -4
  90. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  91. package/fesm2022/taiga-ui-kit-components-input-month.mjs +13 -10
  92. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  93. package/fesm2022/taiga-ui-kit-components-input-number.mjs +36 -39
  94. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  95. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +7 -8
  96. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +4 -4
  98. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
  99. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +5 -12
  100. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  101. package/fesm2022/taiga-ui-kit-components-input-range.mjs +4 -4
  102. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  103. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +8 -7
  104. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  105. package/fesm2022/taiga-ui-kit-components-input-time.mjs +11 -10
  106. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  107. package/fesm2022/taiga-ui-kit-components-input-year.mjs +3 -3
  108. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +14 -14
  110. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-kit-components-like.mjs +5 -5
  112. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +10 -10
  114. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-kit-components-message.mjs +8 -8
  116. package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
  117. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +14 -14
  118. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  119. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +11 -11
  120. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-kit-components-pager.mjs +3 -3
  122. package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-kit-components-pagination.mjs +3 -3
  124. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-kit-components-pin.mjs +7 -7
  126. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  127. package/fesm2022/taiga-ui-kit-components-preview.mjs +31 -28
  128. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  129. package/fesm2022/taiga-ui-kit-components-progress.mjs +37 -50
  130. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  131. package/fesm2022/taiga-ui-kit-components-pulse.mjs +3 -3
  132. package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
  133. package/fesm2022/taiga-ui-kit-components-push.mjs +15 -14
  134. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  135. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +7 -5
  136. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  137. package/fesm2022/taiga-ui-kit-components-range.mjs +8 -10
  138. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  139. package/fesm2022/taiga-ui-kit-components-rating.mjs +4 -4
  140. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  141. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs +3 -3
  142. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs.map +1 -1
  143. package/fesm2022/taiga-ui-kit-components-segmented.mjs +9 -8
  144. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  145. package/fesm2022/taiga-ui-kit-components-select.mjs +11 -12
  146. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  147. package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs +40 -0
  148. package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs.map +1 -0
  149. package/fesm2022/taiga-ui-kit-components-status.mjs +7 -7
  150. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  151. package/fesm2022/taiga-ui-kit-components-stepper.mjs +6 -6
  152. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  153. package/fesm2022/taiga-ui-kit-components-switch.mjs +4 -4
  154. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  155. package/fesm2022/taiga-ui-kit-components-tabs.mjs +23 -23
  156. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  157. package/fesm2022/taiga-ui-kit-components-textarea.mjs +16 -15
  158. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  159. package/fesm2022/taiga-ui-kit-components-tiles.mjs +16 -14
  160. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  161. package/fesm2022/taiga-ui-kit-components-timeline.mjs +6 -6
  162. package/fesm2022/taiga-ui-kit-components-timeline.mjs.map +1 -1
  163. package/fesm2022/taiga-ui-kit-components-toast.mjs +29 -25
  164. package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -1
  165. package/fesm2022/taiga-ui-kit-components-tree.mjs +24 -24
  166. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  167. package/fesm2022/taiga-ui-kit-components.mjs +1 -1
  168. package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs +3 -3
  169. package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs.map +1 -1
  170. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +12 -8
  171. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  172. package/fesm2022/taiga-ui-kit-directives-button-select.mjs +3 -3
  173. package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
  174. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +8 -7
  175. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  176. package/fesm2022/taiga-ui-kit-directives-connected.mjs +12 -8
  177. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  178. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +3 -3
  179. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs.map +1 -1
  180. package/fesm2022/taiga-ui-kit-directives-fade.mjs +9 -7
  181. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  182. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +3 -3
  183. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
  184. package/fesm2022/taiga-ui-kit-directives-highlight.mjs +3 -3
  185. package/fesm2022/taiga-ui-kit-directives-highlight.mjs.map +1 -1
  186. package/fesm2022/taiga-ui-kit-directives-password.mjs +3 -3
  187. package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
  188. package/fesm2022/taiga-ui-kit-directives-present.mjs +3 -3
  189. package/fesm2022/taiga-ui-kit-directives-present.mjs.map +1 -1
  190. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +9 -7
  191. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  192. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +8 -7
  193. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  194. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +9 -8
  195. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  196. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +8 -7
  197. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  198. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +3 -3
  199. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
  200. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs +3 -3
  201. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs.map +1 -1
  202. package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs +3 -3
  203. package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs.map +1 -1
  204. package/fesm2022/taiga-ui-kit-pipes-emails.mjs +3 -3
  205. package/fesm2022/taiga-ui-kit-pipes-emails.mjs.map +1 -1
  206. package/fesm2022/taiga-ui-kit-pipes-flag.mjs +3 -3
  207. package/fesm2022/taiga-ui-kit-pipes-flag.mjs.map +1 -1
  208. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs +4 -4
  209. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs.map +1 -1
  210. package/fesm2022/taiga-ui-kit-pipes-initials.mjs +3 -3
  211. package/fesm2022/taiga-ui-kit-pipes-initials.mjs.map +1 -1
  212. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs +3 -3
  213. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs.map +1 -1
  214. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs +3 -3
  215. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs.map +1 -1
  216. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs +3 -3
  217. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs.map +1 -1
  218. package/fesm2022/taiga-ui-kit-pipes.mjs +0 -1
  219. package/fesm2022/taiga-ui-kit-pipes.mjs.map +1 -1
  220. package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
  221. package/fesm2022/taiga-ui-kit-utils.mjs +1 -5
  222. package/fesm2022/taiga-ui-kit-utils.mjs.map +1 -1
  223. package/package.json +87 -77
  224. package/pipes/index.d.ts +0 -1
  225. package/utils/index.d.ts +0 -1
  226. package/components/carousel/carousel-autoscroll.directive.d.ts +0 -6
  227. package/components/carousel/carousel-buttons.directive.d.ts +0 -5
  228. package/components/carousel/carousel-scroll.directive.d.ts +0 -7
  229. package/components/carousel/carousel.component.d.ts +0 -34
  230. package/components/carousel/carousel.d.ts +0 -7
  231. package/components/carousel/carousel.directive.d.ts +0 -16
  232. package/components/carousel/index.d.ts +0 -6
  233. package/fesm2022/taiga-ui-kit-components-carousel.mjs +0 -211
  234. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +0 -1
  235. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs +0 -60
  236. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs.map +0 -1
  237. package/pipes/filter-by-input/filter-by-input.pipe.d.ts +0 -21
  238. package/pipes/filter-by-input/index.d.ts +0 -1
  239. package/utils/is-flat.d.ts +0 -1
@@ -1,6 +1,6 @@
1
1
  import { TuiDayRange, TUI_FIRST_DAY, TUI_LAST_DAY, TuiDay, TuiMonth } from '@taiga-ui/cdk/date-time';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, ChangeDetectorRef, input, EventEmitter, Input, Output, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { signal, inject, input, model, linkedSignal, untracked, ChangeDetectionStrategy, Component } from '@angular/core';
4
4
  import { WA_IS_MOBILE } from '@ng-web-apis/platform';
5
5
  import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
6
6
  import { TuiMapperPipe } from '@taiga-ui/cdk/pipes/mapper';
@@ -9,6 +9,7 @@ import { TuiCalendar, tuiCalendarSheetOptionsProvider } from '@taiga-ui/core/com
9
9
  import * as i1 from '@taiga-ui/core/components/data-list';
10
10
  import { TuiDataList } from '@taiga-ui/core/components/data-list';
11
11
  import { TuiIcon } from '@taiga-ui/core/components/icon';
12
+ import { TUI_TEXTFIELD_OPTIONS } from '@taiga-ui/core/components/textfield';
12
13
  import { TUI_COMMON_ICONS, tuiAsAuxiliary } from '@taiga-ui/core/tokens';
13
14
  import { TUI_OTHER_DATE_TEXT, TUI_DAY_RANGE_PERIODS } from '@taiga-ui/kit/tokens';
14
15
 
@@ -54,25 +55,34 @@ class TuiCalendarRange {
54
55
  * @deprecated use `item`
55
56
  */
56
57
  this.selectedPeriod = null;
57
- this.cdr = inject(ChangeDetectorRef);
58
- this.currentValue = null;
59
58
  this.previousValue = null;
60
59
  this.hoveredItem = null;
61
- this.month = TuiMonth.currentLocal();
60
+ this.month = signal(TuiMonth.currentLocal());
62
61
  this.otherDateText = inject(TUI_OTHER_DATE_TEXT);
63
62
  this.icons = inject(TUI_COMMON_ICONS);
64
63
  this.capsMapper = TUI_DAY_CAPS_MAPPER;
65
64
  this.mobile = inject(WA_IS_MOBILE);
66
- this.disabledItemHandler = TUI_FALSE_HANDLER;
67
- this.markerHandler = null;
68
- this.items = [];
65
+ this.options = inject(TUI_TEXTFIELD_OPTIONS);
69
66
  this.min = input(TUI_FIRST_DAY);
70
67
  this.max = input(TUI_LAST_DAY);
71
- this.minLength = null;
72
- this.maxLength = null;
73
- this.item = null;
74
- this.valueChange = new EventEmitter();
75
- this.itemChange = new EventEmitter();
68
+ this.minLength = input(null);
69
+ this.maxLength = input(null);
70
+ this.items = input([]);
71
+ this.listSize = input(this.options.size());
72
+ this.defaultViewedMonth = input(TuiMonth.currentLocal());
73
+ this.markerHandler = input(null);
74
+ this.disabledItemHandler = input(TUI_FALSE_HANDLER);
75
+ this.value = model(null);
76
+ this.item = model(null);
77
+ this.currentValue = linkedSignal({
78
+ source: this.value,
79
+ computation: (value, current) => {
80
+ if (value !== current?.value) {
81
+ untracked(() => this.initDefaultViewedMonth(value));
82
+ }
83
+ return value;
84
+ },
85
+ });
76
86
  this.monthOffset = (value, month) => value.append({ month });
77
87
  this.mapper = (items, min, max, minLength, otherDateText) => [
78
88
  ...items.filter((item) => (minLength === null ||
@@ -86,22 +96,6 @@ class TuiCalendarRange {
86
96
  ];
87
97
  this.disabledMapper = (disabledItemHandler, value, minLength) => calculateDisabledItemHandler(disabledItemHandler, value, minLength);
88
98
  }
89
- set valueSetter(value) {
90
- this.currentValue = value;
91
- }
92
- set defaultViewedMonth(month) {
93
- if (!this.currentValue) {
94
- this.month = month;
95
- }
96
- }
97
- set value(value) {
98
- this.cdr.markForCheck();
99
- this.currentValue = value;
100
- this.initDefaultViewedMonth();
101
- }
102
- get defaultViewedMonth() {
103
- return this.month;
104
- }
105
99
  /**
106
100
  * @deprecated use `item`
107
101
  */
@@ -114,8 +108,14 @@ class TuiCalendarRange {
114
108
  set selectedActivePeriod(period) {
115
109
  this.selectedPeriod = period;
116
110
  }
117
- ngOnChanges() {
118
- if (!this.currentValue) {
111
+ ngOnChanges({ defaultViewedMonth }) {
112
+ if (this.currentValue()) {
113
+ return;
114
+ }
115
+ if (defaultViewedMonth) {
116
+ this.month.set(this.defaultViewedMonth());
117
+ }
118
+ else {
119
119
  this.initDefaultViewedMonth();
120
120
  }
121
121
  }
@@ -123,11 +123,11 @@ class TuiCalendarRange {
123
123
  this.initDefaultViewedMonth();
124
124
  }
125
125
  onEsc(event) {
126
- if (event.key !== 'Escape' || !(this.currentValue instanceof TuiDay)) {
126
+ if (event.key !== 'Escape' || !(this.currentValue() instanceof TuiDay)) {
127
127
  return;
128
128
  }
129
129
  event.stopPropagation();
130
- this.currentValue = this.previousValue;
130
+ this.currentValue.set(this.previousValue);
131
131
  }
132
132
  isItemActive(item) {
133
133
  const { activePeriod } = this;
@@ -138,73 +138,64 @@ class TuiCalendarRange {
138
138
  onItemSelect(item) {
139
139
  if (!tuiIsString(item)) {
140
140
  this.selectedActivePeriod = item;
141
- this.itemChange.emit(item);
142
- this.updateValue(item.range.dayLimit(this.min(), this.max()));
141
+ this.item.set(item);
142
+ this.value.set(item.range.dayLimit(this.min(), this.max()));
143
143
  }
144
144
  else if (this.activePeriod !== null) {
145
145
  this.selectedActivePeriod = null;
146
- this.itemChange.emit(null);
147
- this.updateValue(null);
146
+ this.item.set(null);
147
+ this.value.set(null);
148
148
  }
149
149
  this.initDefaultViewedMonth();
150
150
  }
151
- onMonthChange(month) {
152
- this.month = month;
153
- }
154
151
  onDayClick(day) {
155
- this.previousValue = this.currentValue;
152
+ const value = this.currentValue();
153
+ this.previousValue = value;
156
154
  this.selectedActivePeriod = null;
157
- if (this.currentValue instanceof TuiDay) {
158
- const range = TuiDayRange.sort(this.currentValue, day);
159
- this.currentValue = range;
160
- this.itemChange.emit(this.findItemByDayRange(range));
161
- this.updateValue(range);
155
+ if (value instanceof TuiDay) {
156
+ const range = TuiDayRange.sort(value, day);
157
+ this.currentValue.set(range);
158
+ this.item.set(this.findItemByDayRange(range));
159
+ this.value.set(range);
162
160
  }
163
161
  else {
164
- this.currentValue = day;
162
+ this.currentValue.set(day);
165
163
  }
166
164
  }
167
- updateValue(value) {
168
- this.currentValue = value;
169
- this.valueChange.emit(value);
170
- }
171
165
  get activePeriod() {
172
- return (this.item ??
166
+ const value = this.currentValue();
167
+ return (this.item() ??
173
168
  this.selectedActivePeriod ??
174
- (this.items.find((item) => tuiNullableSame(this.currentValue instanceof TuiDay
175
- ? new TuiDayRange(this.currentValue, this.currentValue)
176
- : this.currentValue, item.range, (a, b) => a.from.daySame(b.from.dayLimit(this.min(), this.max())) &&
169
+ (this.items().find((item) => tuiNullableSame(value instanceof TuiDay ? new TuiDayRange(value, value) : value, item.range, (a, b) => a.from.daySame(b.from.dayLimit(this.min(), this.max())) &&
177
170
  a.to.daySame(b.to.dayLimit(this.min(), this.max())))) ||
178
171
  null));
179
172
  }
180
- initDefaultViewedMonth() {
173
+ initDefaultViewedMonth(value = this.currentValue()) {
181
174
  const min = this.min();
182
175
  const max = this.max();
183
- if (this.currentValue instanceof TuiDay) {
184
- this.month = this.currentValue;
176
+ if (value instanceof TuiDay) {
177
+ this.month.set(value);
185
178
  }
186
- else if (this.currentValue) {
187
- this.month = this.items.length
188
- ? this.currentValue.to
189
- : this.currentValue.from;
179
+ else if (value) {
180
+ this.month.set(this.items().length ? value.to : value.from);
190
181
  }
191
- else if (max && this.month.monthSameOrAfter(max)) {
192
- this.month = this.items.length ? max : max.append({ month: -1 });
182
+ else if (max && this.month().monthSameOrAfter(max)) {
183
+ this.month.set(this.items().length ? max : max.append({ month: -1 }));
193
184
  }
194
- else if (min && this.month.monthSameOrBefore(min)) {
195
- this.month = min;
185
+ else if (min && this.month().monthSameOrBefore(min)) {
186
+ this.month.set(min);
196
187
  }
197
188
  }
198
189
  findItemByDayRange(dayRange) {
199
- return this.items.find((item) => dayRange.daySame(item.range)) ?? null;
190
+ return this.items().find((item) => dayRange.daySame(item.range)) ?? null;
200
191
  }
201
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCalendarRange, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
202
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: TuiCalendarRange, isStandalone: true, selector: "tui-calendar-range", inputs: { disabledItemHandler: { classPropertyName: "disabledItemHandler", publicName: "disabledItemHandler", isSignal: false, isRequired: false, transformFunction: null }, markerHandler: { classPropertyName: "markerHandler", publicName: "markerHandler", isSignal: false, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: false, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: false, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: false, isRequired: false, transformFunction: null }, valueSetter: { classPropertyName: "valueSetter", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, defaultViewedMonth: { classPropertyName: "defaultViewedMonth", publicName: "defaultViewedMonth", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", itemChange: "itemChange" }, host: { listeners: { "document:keydown.capture": "onEsc($event)" }, properties: { "class._mobile": "mobile" } }, providers: [
192
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCalendarRange, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
193
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiCalendarRange, isStandalone: true, selector: "tui-calendar-range", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, listSize: { classPropertyName: "listSize", publicName: "listSize", isSignal: true, isRequired: false, transformFunction: null }, defaultViewedMonth: { classPropertyName: "defaultViewedMonth", publicName: "defaultViewedMonth", isSignal: true, isRequired: false, transformFunction: null }, markerHandler: { classPropertyName: "markerHandler", publicName: "markerHandler", isSignal: true, isRequired: false, transformFunction: null }, disabledItemHandler: { classPropertyName: "disabledItemHandler", publicName: "disabledItemHandler", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", item: "itemChange" }, host: { listeners: { "document:keydown.capture": "onEsc($event)" }, properties: { "class._mobile": "mobile" } }, providers: [
203
194
  tuiAsAuxiliary(TuiCalendarRange),
204
195
  tuiCalendarSheetOptionsProvider({ rangeMode: true }),
205
- ], usesOnChanges: true, ngImport: i0, template: "<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n [class.t-calendar]=\"!mobile\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledMapper : currentValue : minLength\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [maxViewedMonth]=\"items.length || mobile ? null : (defaultViewedMonth | tuiMapper: monthOffset : -1)\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [month]=\"defaultViewedMonth\"\n [showAdjacent]=\"!!items.length || mobile\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n/>\n@if (!items.length && !mobile) {\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledMapper : currentValue : minLength\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [minViewedMonth]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [month]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event.append({month: -1}))\"\n />\n} @else {\n @if (!mobile) {\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [style.flex]=\"1\"\n >\n @for (item of items | tuiMapper: mapper : min() : max() : minLength : otherDateText(); track item) {\n <button\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (pointerdown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n @if (isItemActive(item)) {\n <tui-icon\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-check\"\n [icon]=\"icons.check\"\n />\n }\n </button>\n }\n </tui-data-list>\n }\n}\n", styles: [":host:not(._mobile){display:flex;min-inline-size:30rem}.t-calendar{border-inline-end:1px solid var(--tui-border-normal)}.t-check{font-size:1rem;margin-inline-start:auto}\n"], dependencies: [{ kind: "component", type: TuiCalendar, selector: "tui-calendar", inputs: ["month", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler", "value", "initialView"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }, { kind: "component", type: i1.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i1.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled"] }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
196
+ ], usesOnChanges: true, ngImport: i0, template: "<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n [class.t-calendar]=\"!mobile\"\n [disabledItemHandler]=\"disabledItemHandler() | tuiMapper: disabledMapper : currentValue() : minLength()\"\n [markerHandler]=\"markerHandler()\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue() : maxLength() : false\"\n [maxViewedMonth]=\"items().length || mobile ? null : (month() | tuiMapper: monthOffset : -1)\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue() : maxLength() : true\"\n [month]=\"month()\"\n [showAdjacent]=\"!!items().length || mobile\"\n [value]=\"currentValue()\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"month.set($event)\"\n/>\n@if (!items().length && !mobile) {\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler() | tuiMapper: disabledMapper : currentValue() : minLength()\"\n [markerHandler]=\"markerHandler()\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue() : maxLength() : false\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue() : maxLength() : true\"\n [minViewedMonth]=\"month() | tuiMapper: monthOffset : 1\"\n [month]=\"month() | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"currentValue()\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"month.set($event.append({month: -1}))\"\n />\n} @else {\n @if (!mobile) {\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [size]=\"listSize()\"\n [style.flex]=\"1\"\n >\n @for (item of items() | tuiMapper: mapper : min() : max() : minLength() : otherDateText(); track item) {\n <button\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (pointerdown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n @if (isItemActive(item)) {\n <tui-icon\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-check\"\n [icon]=\"icons.check\"\n />\n }\n </button>\n }\n </tui-data-list>\n }\n}\n", styles: [":host:not(._mobile){display:flex;min-inline-size:30rem}.t-calendar{border-inline-end:1px solid var(--tui-border-normal)}.t-check{font-size:1rem;margin-inline-start:auto}\n"], dependencies: [{ kind: "component", type: TuiCalendar, selector: "tui-calendar", inputs: ["disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "showAdjacent", "markerHandler", "initialView", "month", "hoveredItem", "value"], outputs: ["monthChange", "hoveredItemChange", "valueChange", "dayClick"] }, { kind: "component", type: i1.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i1.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled"] }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
206
197
  }
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCalendarRange, decorators: [{
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCalendarRange, decorators: [{
208
199
  type: Component,
209
200
  args: [{ selector: 'tui-calendar-range', imports: [TuiCalendar, TuiDataList, TuiIcon, TuiMapperPipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
210
201
  tuiAsAuxiliary(TuiCalendarRange),
@@ -212,29 +203,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
212
203
  ], host: {
213
204
  '[class._mobile]': 'mobile',
214
205
  '(document:keydown.capture)': 'onEsc($event)',
215
- }, template: "<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n [class.t-calendar]=\"!mobile\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledMapper : currentValue : minLength\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [maxViewedMonth]=\"items.length || mobile ? null : (defaultViewedMonth | tuiMapper: monthOffset : -1)\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [month]=\"defaultViewedMonth\"\n [showAdjacent]=\"!!items.length || mobile\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n/>\n@if (!items.length && !mobile) {\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledMapper : currentValue : minLength\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [minViewedMonth]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [month]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event.append({month: -1}))\"\n />\n} @else {\n @if (!mobile) {\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [style.flex]=\"1\"\n >\n @for (item of items | tuiMapper: mapper : min() : max() : minLength : otherDateText(); track item) {\n <button\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (pointerdown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n @if (isItemActive(item)) {\n <tui-icon\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-check\"\n [icon]=\"icons.check\"\n />\n }\n </button>\n }\n </tui-data-list>\n }\n}\n", styles: [":host:not(._mobile){display:flex;min-inline-size:30rem}.t-calendar{border-inline-end:1px solid var(--tui-border-normal)}.t-check{font-size:1rem;margin-inline-start:auto}\n"] }]
216
- }], propDecorators: { disabledItemHandler: [{
217
- type: Input
218
- }], markerHandler: [{
219
- type: Input
220
- }], items: [{
221
- type: Input
222
- }], minLength: [{
223
- type: Input
224
- }], maxLength: [{
225
- type: Input
226
- }], item: [{
227
- type: Input
228
- }], valueChange: [{
229
- type: Output
230
- }], itemChange: [{
231
- type: Output
232
- }], valueSetter: [{
233
- type: Input,
234
- args: ['value']
235
- }], defaultViewedMonth: [{
236
- type: Input
237
- }] } });
206
+ }, template: "<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n [class.t-calendar]=\"!mobile\"\n [disabledItemHandler]=\"disabledItemHandler() | tuiMapper: disabledMapper : currentValue() : minLength()\"\n [markerHandler]=\"markerHandler()\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue() : maxLength() : false\"\n [maxViewedMonth]=\"items().length || mobile ? null : (month() | tuiMapper: monthOffset : -1)\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue() : maxLength() : true\"\n [month]=\"month()\"\n [showAdjacent]=\"!!items().length || mobile\"\n [value]=\"currentValue()\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"month.set($event)\"\n/>\n@if (!items().length && !mobile) {\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler() | tuiMapper: disabledMapper : currentValue() : minLength()\"\n [markerHandler]=\"markerHandler()\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue() : maxLength() : false\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue() : maxLength() : true\"\n [minViewedMonth]=\"month() | tuiMapper: monthOffset : 1\"\n [month]=\"month() | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"currentValue()\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"month.set($event.append({month: -1}))\"\n />\n} @else {\n @if (!mobile) {\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [size]=\"listSize()\"\n [style.flex]=\"1\"\n >\n @for (item of items() | tuiMapper: mapper : min() : max() : minLength() : otherDateText(); track item) {\n <button\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (pointerdown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n @if (isItemActive(item)) {\n <tui-icon\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-check\"\n [icon]=\"icons.check\"\n />\n }\n </button>\n }\n </tui-data-list>\n }\n}\n", styles: [":host:not(._mobile){display:flex;min-inline-size:30rem}.t-calendar{border-inline-end:1px solid var(--tui-border-normal)}.t-check{font-size:1rem;margin-inline-start:auto}\n"] }]
207
+ }] });
238
208
 
239
209
  class TuiDayRangePeriod {
240
210
  constructor(range, name, content) {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-calendar-range.mjs","sources":["../../../projects/kit/components/calendar-range/calculate-disabled-item-handler.ts","../../../projects/kit/components/calendar-range/day-caps-mapper.ts","../../../projects/kit/components/calendar-range/calendar-range.component.ts","../../../projects/kit/components/calendar-range/calendar-range.template.html","../../../projects/kit/components/calendar-range/day-range-period.ts","../../../projects/kit/components/calendar-range/taiga-ui-kit-components-calendar-range.ts"],"sourcesContent":["import {type TuiDay, type TuiDayLike, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\nexport const calculateDisabledItemHandler: (\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n) => TuiBooleanHandler<TuiDay> = (disabledItemHandler, value, minLength) => (item) => {\n if (!value || value instanceof TuiDayRange || !minLength) {\n return disabledItemHandler(item);\n }\n\n const negativeMinLength = Object.fromEntries(\n Object.entries(minLength).map(([key, value]) => [key, -value]),\n );\n const disabledBefore = value.append(negativeMinLength).append({day: 1});\n const disabledAfter = value.append(minLength).append({day: -1});\n const inDisabledRange =\n disabledBefore.dayBefore(item) && disabledAfter.dayAfter(item);\n\n return inDisabledRange || disabledItemHandler(item);\n};\n","import {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n type TuiDayLike,\n TuiDayRange,\n} from '@taiga-ui/cdk/date-time';\nimport {type TuiMapper} from '@taiga-ui/cdk/types';\n\nexport const TUI_DAY_CAPS_MAPPER: TuiMapper<\n [TuiDay | null, TuiDay | TuiDayRange | null, TuiDayLike | null, boolean],\n TuiDay\n> = (current, value, maxLength, backwards) => {\n if (\n // TODO(v5): replace with `if (!(value instanceof TuiDay) || !maxLength)` (backward compatibility)\n (value instanceof TuiDayRange && !value.isSingleDay) ||\n !value ||\n !maxLength\n ) {\n return backwards ? current || TUI_FIRST_DAY : current || TUI_LAST_DAY;\n }\n\n const negativeMaxLength = Object.fromEntries(\n Object.entries(maxLength).map(([key, value]) => [key, -value]),\n );\n\n // TODO(v5): `value instanceof TuiDay` always `true`\n const from = value instanceof TuiDay ? value : value.from;\n const dateShift = from\n .append(backwards ? negativeMaxLength : maxLength)\n .append({day: !backwards ? -1 : 1});\n\n if (backwards) {\n return dateShift.dayBefore(current || TUI_FIRST_DAY)\n ? current || TUI_FIRST_DAY\n : dateShift;\n }\n\n if (!current) {\n return dateShift;\n }\n\n return dateShift.dayAfter(current) ? current : dateShift;\n};\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n inject,\n Input,\n input,\n type OnChanges,\n type OnInit,\n Output,\n} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n type TuiDayLike,\n TuiDayRange,\n TuiMonth,\n} from '@taiga-ui/cdk/date-time';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {type TuiBooleanHandler, type TuiMapper} from '@taiga-ui/cdk/types';\nimport {tuiIsString, tuiNullableSame} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TuiCalendar,\n tuiCalendarSheetOptionsProvider,\n type TuiMarkerHandler,\n} from '@taiga-ui/core/components/calendar';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TUI_COMMON_ICONS, tuiAsAuxiliary} from '@taiga-ui/core/tokens';\nimport {TUI_OTHER_DATE_TEXT} from '@taiga-ui/kit/tokens';\n\nimport {calculateDisabledItemHandler} from './calculate-disabled-item-handler';\nimport {TUI_DAY_CAPS_MAPPER} from './day-caps-mapper';\nimport {type TuiDayRangePeriod} from './day-range-period';\n\n@Component({\n selector: 'tui-calendar-range',\n imports: [TuiCalendar, TuiDataList, TuiIcon, TuiMapperPipe],\n templateUrl: './calendar-range.template.html',\n styleUrl: './calendar-range.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsAuxiliary(TuiCalendarRange),\n tuiCalendarSheetOptionsProvider({rangeMode: true}),\n ],\n host: {\n '[class._mobile]': 'mobile',\n '(document:keydown.capture)': 'onEsc($event)',\n },\n})\nexport class TuiCalendarRange implements OnInit, OnChanges {\n /**\n * @deprecated use `item`\n */\n private selectedPeriod: TuiDayRangePeriod | null = null;\n private readonly cdr = inject(ChangeDetectorRef);\n\n protected currentValue: TuiDay | TuiDayRange | null = null;\n protected previousValue: TuiDay | TuiDayRange | null = null;\n protected hoveredItem: TuiDay | null = null;\n protected month: TuiMonth = TuiMonth.currentLocal();\n\n protected readonly otherDateText = inject(TUI_OTHER_DATE_TEXT);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly capsMapper = TUI_DAY_CAPS_MAPPER;\n protected readonly mobile = inject(WA_IS_MOBILE);\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Input()\n public items: readonly TuiDayRangePeriod[] = [];\n\n public readonly min = input<TuiDay | null>(TUI_FIRST_DAY);\n public readonly max = input<TuiDay | null>(TUI_LAST_DAY);\n\n @Input()\n public minLength: TuiDayLike | null = null;\n\n @Input()\n public maxLength: TuiDayLike | null = null;\n\n @Input()\n public item: TuiDayRangePeriod | null = null;\n\n @Output()\n public readonly valueChange = new EventEmitter<TuiDayRange | null>();\n\n @Output()\n public readonly itemChange = new EventEmitter<TuiDayRangePeriod | null>();\n\n @Input('value')\n public set valueSetter(value: TuiDayRange | null) {\n this.currentValue = value;\n }\n\n @Input()\n public set defaultViewedMonth(month: TuiMonth) {\n if (!this.currentValue) {\n this.month = month;\n }\n }\n\n public set value(value: TuiDayRange | null) {\n this.cdr.markForCheck();\n this.currentValue = value;\n this.initDefaultViewedMonth();\n }\n\n public get defaultViewedMonth(): TuiMonth {\n return this.month;\n }\n\n /**\n * @deprecated use `item`\n */\n public get selectedActivePeriod(): TuiDayRangePeriod | null {\n return this.selectedPeriod;\n }\n\n /**\n * @deprecated use `item`\n */\n public set selectedActivePeriod(period: TuiDayRangePeriod | null) {\n this.selectedPeriod = period;\n }\n\n public ngOnChanges(): void {\n if (!this.currentValue) {\n this.initDefaultViewedMonth();\n }\n }\n\n public ngOnInit(): void {\n this.initDefaultViewedMonth();\n }\n\n protected onEsc(event: KeyboardEvent): void {\n if (event.key !== 'Escape' || !(this.currentValue instanceof TuiDay)) {\n return;\n }\n\n event.stopPropagation();\n this.currentValue = this.previousValue;\n }\n\n protected readonly monthOffset: TuiMapper<[TuiMonth, number], TuiMonth> = (\n value,\n month,\n ) => value.append({month});\n\n protected readonly mapper: TuiMapper<\n [\n readonly TuiDayRangePeriod[],\n TuiDay | null,\n TuiDay | null,\n TuiDayLike | null,\n string | null | undefined,\n ],\n ReadonlyArray<TuiDayRangePeriod | string>\n > = (items, min, max, minLength, otherDateText) => [\n ...items.filter(\n (item) =>\n (minLength === null ||\n item.range.from\n .append(minLength)\n .append({day: -1})\n .daySameOrBefore(item.range.to)) &&\n (min === null || item.range.to.daySameOrAfter(min)) &&\n (max === null || item.range.from.daySameOrBefore(max)),\n ),\n otherDateText || '',\n ];\n\n protected readonly disabledMapper = (\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n ): TuiBooleanHandler<TuiDay> =>\n calculateDisabledItemHandler(disabledItemHandler, value, minLength);\n\n protected isItemActive(item: TuiDayRangePeriod | string): boolean {\n const {activePeriod} = this;\n\n return (\n (tuiIsString(item) && activePeriod === null) ||\n activePeriod === item ||\n activePeriod?.toString() === item.toString()\n );\n }\n\n protected onItemSelect(item: TuiDayRangePeriod | string): void {\n if (!tuiIsString(item)) {\n this.selectedActivePeriod = item;\n this.itemChange.emit(item);\n this.updateValue(item.range.dayLimit(this.min(), this.max()));\n } else if (this.activePeriod !== null) {\n this.selectedActivePeriod = null;\n this.itemChange.emit(null);\n this.updateValue(null);\n }\n\n this.initDefaultViewedMonth();\n }\n\n protected onMonthChange(month: TuiMonth): void {\n this.month = month;\n }\n\n protected onDayClick(day: TuiDay): void {\n this.previousValue = this.currentValue;\n this.selectedActivePeriod = null;\n\n if (this.currentValue instanceof TuiDay) {\n const range = TuiDayRange.sort(this.currentValue, day);\n\n this.currentValue = range;\n this.itemChange.emit(this.findItemByDayRange(range));\n this.updateValue(range);\n } else {\n this.currentValue = day;\n }\n }\n\n protected updateValue(value: TuiDayRange | null): void {\n this.currentValue = value;\n this.valueChange.emit(value);\n }\n\n private get activePeriod(): TuiDayRangePeriod | null {\n return (\n this.item ??\n this.selectedActivePeriod ??\n (this.items.find((item) =>\n tuiNullableSame<TuiDayRange>(\n this.currentValue instanceof TuiDay\n ? new TuiDayRange(this.currentValue, this.currentValue)\n : this.currentValue,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min(), this.max())) &&\n a.to.daySame(b.to.dayLimit(this.min(), this.max())),\n ),\n ) ||\n null)\n );\n }\n\n private initDefaultViewedMonth(): void {\n const min = this.min();\n const max = this.max();\n\n if (this.currentValue instanceof TuiDay) {\n this.month = this.currentValue;\n } else if (this.currentValue) {\n this.month = this.items.length\n ? this.currentValue.to\n : this.currentValue.from;\n } else if (max && this.month.monthSameOrAfter(max)) {\n this.month = this.items.length ? max : max.append({month: -1});\n } else if (min && this.month.monthSameOrBefore(min)) {\n this.month = min;\n }\n }\n\n private findItemByDayRange(dayRange: TuiDayRange): TuiDayRangePeriod | null {\n return this.items.find((item) => dayRange.daySame(item.range)) ?? null;\n }\n}\n","<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n [class.t-calendar]=\"!mobile\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledMapper : currentValue : minLength\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [maxViewedMonth]=\"items.length || mobile ? null : (defaultViewedMonth | tuiMapper: monthOffset : -1)\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [month]=\"defaultViewedMonth\"\n [showAdjacent]=\"!!items.length || mobile\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n/>\n@if (!items.length && !mobile) {\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledMapper : currentValue : minLength\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [minViewedMonth]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [month]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event.append({month: -1}))\"\n />\n} @else {\n @if (!mobile) {\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [style.flex]=\"1\"\n >\n @for (item of items | tuiMapper: mapper : min() : max() : minLength : otherDateText(); track item) {\n <button\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (pointerdown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n @if (isItemActive(item)) {\n <tui-icon\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-check\"\n [icon]=\"icons.check\"\n />\n }\n </button>\n }\n </tui-data-list>\n }\n}\n","import {inject} from '@angular/core';\nimport {TUI_FIRST_DAY, TuiDay, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {type TuiLanguageKit} from '@taiga-ui/i18n/types';\nimport {TUI_DAY_RANGE_PERIODS} from '@taiga-ui/kit/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiDayRangePeriod {\n constructor(\n public readonly range: TuiDayRange,\n private readonly name: string,\n public readonly content?: PolymorpheusContent<TuiContext<TuiDayRange>>,\n ) {}\n\n public toString(): string {\n return this.name;\n }\n}\n\nfunction getDefaultPeriodTitles(): TuiLanguageKit['dayRangePeriods'] {\n try {\n return inject(TUI_DAY_RANGE_PERIODS)();\n } catch {\n return [\n 'For all the time',\n 'Today',\n 'Yesterday',\n 'Current week',\n 'Current month',\n 'Previous month',\n ];\n }\n}\n\nexport function tuiCreateDefaultDayRangePeriods(\n periodTitles: TuiLanguageKit['dayRangePeriods'] = getDefaultPeriodTitles(),\n): readonly TuiDayRangePeriod[] {\n const today = TuiDay.currentLocal();\n const yesterday = today.append({day: -1});\n const startOfWeek = today.append({day: -today.dayOfWeek()});\n const endOfWeek = startOfWeek.append({day: 6});\n const startOfMonth = today.append({day: 1 - today.day});\n const endOfMonth = startOfMonth.append({month: 1, day: -1});\n const startOfLastMonth = startOfMonth.append({month: -1});\n\n return [\n new TuiDayRangePeriod(new TuiDayRange(TUI_FIRST_DAY, today), periodTitles[0]),\n new TuiDayRangePeriod(new TuiDayRange(today, today), periodTitles[1]),\n new TuiDayRangePeriod(new TuiDayRange(yesterday, yesterday), periodTitles[2]),\n new TuiDayRangePeriod(new TuiDayRange(startOfWeek, endOfWeek), periodTitles[3]),\n new TuiDayRangePeriod(new TuiDayRange(startOfMonth, endOfMonth), periodTitles[4]),\n new TuiDayRangePeriod(\n new TuiDayRange(startOfLastMonth, startOfMonth.append({day: -1})),\n periodTitles[5],\n ),\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-calendar-range.mjs","sources":["../../../projects/kit/components/calendar-range/calculate-disabled-item-handler.ts","../../../projects/kit/components/calendar-range/day-caps-mapper.ts","../../../projects/kit/components/calendar-range/calendar-range.component.ts","../../../projects/kit/components/calendar-range/calendar-range.template.html","../../../projects/kit/components/calendar-range/day-range-period.ts","../../../projects/kit/components/calendar-range/taiga-ui-kit-components-calendar-range.ts"],"sourcesContent":["import {type TuiDay, type TuiDayLike, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\nexport const calculateDisabledItemHandler: (\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n) => TuiBooleanHandler<TuiDay> = (disabledItemHandler, value, minLength) => (item) => {\n if (!value || value instanceof TuiDayRange || !minLength) {\n return disabledItemHandler(item);\n }\n\n const negativeMinLength = Object.fromEntries(\n Object.entries(minLength).map(([key, value]) => [key, -value]),\n );\n const disabledBefore = value.append(negativeMinLength).append({day: 1});\n const disabledAfter = value.append(minLength).append({day: -1});\n const inDisabledRange =\n disabledBefore.dayBefore(item) && disabledAfter.dayAfter(item);\n\n return inDisabledRange || disabledItemHandler(item);\n};\n","import {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n type TuiDayLike,\n TuiDayRange,\n} from '@taiga-ui/cdk/date-time';\nimport {type TuiMapper} from '@taiga-ui/cdk/types';\n\nexport const TUI_DAY_CAPS_MAPPER: TuiMapper<\n [TuiDay | null, TuiDay | TuiDayRange | null, TuiDayLike | null, boolean],\n TuiDay\n> = (current, value, maxLength, backwards) => {\n if (\n // TODO(v5): replace with `if (!(value instanceof TuiDay) || !maxLength)` (backward compatibility)\n (value instanceof TuiDayRange && !value.isSingleDay) ||\n !value ||\n !maxLength\n ) {\n return backwards ? current || TUI_FIRST_DAY : current || TUI_LAST_DAY;\n }\n\n const negativeMaxLength = Object.fromEntries(\n Object.entries(maxLength).map(([key, value]) => [key, -value]),\n );\n\n // TODO(v5): `value instanceof TuiDay` always `true`\n const from = value instanceof TuiDay ? value : value.from;\n const dateShift = from\n .append(backwards ? negativeMaxLength : maxLength)\n .append({day: !backwards ? -1 : 1});\n\n if (backwards) {\n return dateShift.dayBefore(current || TUI_FIRST_DAY)\n ? current || TUI_FIRST_DAY\n : dateShift;\n }\n\n if (!current) {\n return dateShift;\n }\n\n return dateShift.dayAfter(current) ? current : dateShift;\n};\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n linkedSignal,\n model,\n type OnChanges,\n type OnInit,\n signal,\n type SimpleChanges,\n untracked,\n} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n type TuiDayLike,\n TuiDayRange,\n TuiMonth,\n} from '@taiga-ui/cdk/date-time';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {type TuiBooleanHandler, type TuiMapper} from '@taiga-ui/cdk/types';\nimport {tuiIsString, tuiNullableSame} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TuiCalendar,\n tuiCalendarSheetOptionsProvider,\n type TuiMarkerHandler,\n} from '@taiga-ui/core/components/calendar';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TUI_COMMON_ICONS, tuiAsAuxiliary} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {TUI_OTHER_DATE_TEXT} from '@taiga-ui/kit/tokens';\n\nimport {calculateDisabledItemHandler} from './calculate-disabled-item-handler';\nimport {TUI_DAY_CAPS_MAPPER} from './day-caps-mapper';\nimport {type TuiDayRangePeriod} from './day-range-period';\n\n@Component({\n selector: 'tui-calendar-range',\n imports: [TuiCalendar, TuiDataList, TuiIcon, TuiMapperPipe],\n templateUrl: './calendar-range.template.html',\n styleUrl: './calendar-range.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsAuxiliary(TuiCalendarRange),\n tuiCalendarSheetOptionsProvider({rangeMode: true}),\n ],\n host: {\n '[class._mobile]': 'mobile',\n '(document:keydown.capture)': 'onEsc($event)',\n },\n})\nexport class TuiCalendarRange implements OnInit, OnChanges {\n /**\n * @deprecated use `item`\n */\n private selectedPeriod: TuiDayRangePeriod | null = null;\n\n protected previousValue: TuiDay | TuiDayRange | null = null;\n protected hoveredItem: TuiDay | null = null;\n protected readonly month = signal(TuiMonth.currentLocal());\n\n protected readonly otherDateText = inject(TUI_OTHER_DATE_TEXT);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly capsMapper = TUI_DAY_CAPS_MAPPER;\n protected readonly mobile = inject(WA_IS_MOBILE);\n protected readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n\n public readonly min = input<TuiDay | null>(TUI_FIRST_DAY);\n public readonly max = input<TuiDay | null>(TUI_LAST_DAY);\n public readonly minLength = input<TuiDayLike | null>(null);\n public readonly maxLength = input<TuiDayLike | null>(null);\n public readonly items = input<readonly TuiDayRangePeriod[]>([]);\n public readonly listSize = input<TuiSizeL | TuiSizeS>(this.options.size());\n public readonly defaultViewedMonth = input(TuiMonth.currentLocal());\n public readonly markerHandler = input<TuiMarkerHandler | null>(null);\n public readonly disabledItemHandler =\n input<TuiBooleanHandler<TuiDay>>(TUI_FALSE_HANDLER);\n\n public readonly value = model<TuiDayRange | null>(null);\n public readonly item = model<TuiDayRangePeriod | null>(null);\n\n protected readonly currentValue = linkedSignal<\n TuiDayRange | null,\n TuiDay | TuiDayRange | null\n >({\n source: this.value,\n computation: (value, current) => {\n if (value !== current?.value) {\n untracked(() => this.initDefaultViewedMonth(value));\n }\n\n return value;\n },\n });\n\n /**\n * @deprecated use `item`\n */\n public get selectedActivePeriod(): TuiDayRangePeriod | null {\n return this.selectedPeriod;\n }\n\n /**\n * @deprecated use `item`\n */\n public set selectedActivePeriod(period: TuiDayRangePeriod | null) {\n this.selectedPeriod = period;\n }\n\n public ngOnChanges({defaultViewedMonth}: SimpleChanges): void {\n if (this.currentValue()) {\n return;\n }\n\n if (defaultViewedMonth) {\n this.month.set(this.defaultViewedMonth());\n } else {\n this.initDefaultViewedMonth();\n }\n }\n\n public ngOnInit(): void {\n this.initDefaultViewedMonth();\n }\n\n protected onEsc(event: KeyboardEvent): void {\n if (event.key !== 'Escape' || !(this.currentValue() instanceof TuiDay)) {\n return;\n }\n\n event.stopPropagation();\n this.currentValue.set(this.previousValue);\n }\n\n protected readonly monthOffset: TuiMapper<[TuiMonth, number], TuiMonth> = (\n value,\n month,\n ) => value.append({month});\n\n protected readonly mapper: TuiMapper<\n [\n readonly TuiDayRangePeriod[],\n TuiDay | null,\n TuiDay | null,\n TuiDayLike | null,\n string | null | undefined,\n ],\n ReadonlyArray<TuiDayRangePeriod | string>\n > = (items, min, max, minLength, otherDateText) => [\n ...items.filter(\n (item) =>\n (minLength === null ||\n item.range.from\n .append(minLength)\n .append({day: -1})\n .daySameOrBefore(item.range.to)) &&\n (min === null || item.range.to.daySameOrAfter(min)) &&\n (max === null || item.range.from.daySameOrBefore(max)),\n ),\n otherDateText || '',\n ];\n\n protected readonly disabledMapper = (\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n ): TuiBooleanHandler<TuiDay> =>\n calculateDisabledItemHandler(disabledItemHandler, value, minLength);\n\n protected isItemActive(item: TuiDayRangePeriod | string): boolean {\n const {activePeriod} = this;\n\n return (\n (tuiIsString(item) && activePeriod === null) ||\n activePeriod === item ||\n activePeriod?.toString() === item.toString()\n );\n }\n\n protected onItemSelect(item: TuiDayRangePeriod | string): void {\n if (!tuiIsString(item)) {\n this.selectedActivePeriod = item;\n this.item.set(item);\n this.value.set(item.range.dayLimit(this.min(), this.max()));\n } else if (this.activePeriod !== null) {\n this.selectedActivePeriod = null;\n this.item.set(null);\n this.value.set(null);\n }\n\n this.initDefaultViewedMonth();\n }\n\n protected onDayClick(day: TuiDay): void {\n const value = this.currentValue();\n\n this.previousValue = value;\n this.selectedActivePeriod = null;\n\n if (value instanceof TuiDay) {\n const range = TuiDayRange.sort(value, day);\n\n this.currentValue.set(range);\n this.item.set(this.findItemByDayRange(range));\n this.value.set(range);\n } else {\n this.currentValue.set(day);\n }\n }\n\n private get activePeriod(): TuiDayRangePeriod | null {\n const value = this.currentValue();\n\n return (\n this.item() ??\n this.selectedActivePeriod ??\n (this.items().find((item) =>\n tuiNullableSame(\n value instanceof TuiDay ? new TuiDayRange(value, value) : value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min(), this.max())) &&\n a.to.daySame(b.to.dayLimit(this.min(), this.max())),\n ),\n ) ||\n null)\n );\n }\n\n private initDefaultViewedMonth(value = this.currentValue()): void {\n const min = this.min();\n const max = this.max();\n\n if (value instanceof TuiDay) {\n this.month.set(value);\n } else if (value) {\n this.month.set(this.items().length ? value.to : value.from);\n } else if (max && this.month().monthSameOrAfter(max)) {\n this.month.set(this.items().length ? max : max.append({month: -1}));\n } else if (min && this.month().monthSameOrBefore(min)) {\n this.month.set(min);\n }\n }\n\n private findItemByDayRange(dayRange: TuiDayRange): TuiDayRangePeriod | null {\n return this.items().find((item) => dayRange.daySame(item.range)) ?? null;\n }\n}\n","<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n [class.t-calendar]=\"!mobile\"\n [disabledItemHandler]=\"disabledItemHandler() | tuiMapper: disabledMapper : currentValue() : minLength()\"\n [markerHandler]=\"markerHandler()\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue() : maxLength() : false\"\n [maxViewedMonth]=\"items().length || mobile ? null : (month() | tuiMapper: monthOffset : -1)\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue() : maxLength() : true\"\n [month]=\"month()\"\n [showAdjacent]=\"!!items().length || mobile\"\n [value]=\"currentValue()\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"month.set($event)\"\n/>\n@if (!items().length && !mobile) {\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler() | tuiMapper: disabledMapper : currentValue() : minLength()\"\n [markerHandler]=\"markerHandler()\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue() : maxLength() : false\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue() : maxLength() : true\"\n [minViewedMonth]=\"month() | tuiMapper: monthOffset : 1\"\n [month]=\"month() | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"currentValue()\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"month.set($event.append({month: -1}))\"\n />\n} @else {\n @if (!mobile) {\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [size]=\"listSize()\"\n [style.flex]=\"1\"\n >\n @for (item of items() | tuiMapper: mapper : min() : max() : minLength() : otherDateText(); track item) {\n <button\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (pointerdown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n @if (isItemActive(item)) {\n <tui-icon\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-check\"\n [icon]=\"icons.check\"\n />\n }\n </button>\n }\n </tui-data-list>\n }\n}\n","import {inject} from '@angular/core';\nimport {TUI_FIRST_DAY, TuiDay, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {type TuiLanguageKit} from '@taiga-ui/i18n/types';\nimport {TUI_DAY_RANGE_PERIODS} from '@taiga-ui/kit/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiDayRangePeriod {\n constructor(\n public readonly range: TuiDayRange,\n private readonly name: string,\n public readonly content?: PolymorpheusContent<TuiContext<TuiDayRange>>,\n ) {}\n\n public toString(): string {\n return this.name;\n }\n}\n\nfunction getDefaultPeriodTitles(): TuiLanguageKit['dayRangePeriods'] {\n try {\n return inject(TUI_DAY_RANGE_PERIODS)();\n } catch {\n return [\n 'For all the time',\n 'Today',\n 'Yesterday',\n 'Current week',\n 'Current month',\n 'Previous month',\n ];\n }\n}\n\nexport function tuiCreateDefaultDayRangePeriods(\n periodTitles: TuiLanguageKit['dayRangePeriods'] = getDefaultPeriodTitles(),\n): readonly TuiDayRangePeriod[] {\n const today = TuiDay.currentLocal();\n const yesterday = today.append({day: -1});\n const startOfWeek = today.append({day: -today.dayOfWeek()});\n const endOfWeek = startOfWeek.append({day: 6});\n const startOfMonth = today.append({day: 1 - today.day});\n const endOfMonth = startOfMonth.append({month: 1, day: -1});\n const startOfLastMonth = startOfMonth.append({month: -1});\n\n return [\n new TuiDayRangePeriod(new TuiDayRange(TUI_FIRST_DAY, today), periodTitles[0]),\n new TuiDayRangePeriod(new TuiDayRange(today, today), periodTitles[1]),\n new TuiDayRangePeriod(new TuiDayRange(yesterday, yesterday), periodTitles[2]),\n new TuiDayRangePeriod(new TuiDayRange(startOfWeek, endOfWeek), periodTitles[3]),\n new TuiDayRangePeriod(new TuiDayRange(startOfMonth, endOfMonth), periodTitles[4]),\n new TuiDayRangePeriod(\n new TuiDayRange(startOfLastMonth, startOfMonth.append({day: -1})),\n periodTitles[5],\n ),\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
2
  import { ChangeDetectionStrategy, ViewEncapsulation, Component, input, inject, Directive } from '@angular/core';
3
- import '@taiga-ui/cdk/constants';
3
+ import { TUI_VERSION } from '@taiga-ui/cdk/constants';
4
4
  import { TUI_PLATFORM } from '@taiga-ui/cdk/tokens';
5
5
  import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
6
6
  import { tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
@@ -20,20 +20,20 @@ const TUI_CHIP_DEFAULT_OPTIONS = {
20
20
  const [TUI_CHIP_OPTIONS, tuiChipOptionsProvider] = tuiCreateOptions(TUI_CHIP_DEFAULT_OPTIONS);
21
21
 
22
22
  class Styles {
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-chip" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"]){--t-gap: .125rem;--t-margin: -.125rem;--t-icon-size: 1rem;--t-padding: 0 .625rem;--t-size: var(--tui-height-s);-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);padding:var(--t-padding);block-size:var(--t-size);inline-size:fit-content;max-inline-size:100%;isolation:isolate}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>img,[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiAvatar],[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>tui-badge,[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiBadge],[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiRadio],[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiSwitch],[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiCheckbox],[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[tuiIcons]:after{font-size:var(--t-icon-size)!important}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiBadge]{margin-inline-end:0}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-size=xxs]{--t-gap: 0rem;--t-padding: 0 .25rem;--t-size: 1rem;--t-icon-size: .75rem;font:var(--tui-typography-body-xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-size=xxs]>[tuiIconButton]{margin:-.5rem;transform:scale(.75)}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-size=xs]{--t-padding: 0 .375rem;--t-size: var(--tui-height-xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-size=xs]>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-size=m]{--t-margin: -.375rem;--t-icon-size: 1.5rem;--t-padding: 0 1rem;--t-size: var(--tui-height-m);font:var(--tui-typography-body-m)}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-size=m]>[tuiIconButton]{margin:-.75rem}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-size=m]>[tuiBadge]{margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>img,[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"]) [tuiAvatar]{inline-size:1.5rem;margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiFade]:first-of-type{flex:1 0 30%;max-inline-size:fit-content}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiFade]:last-of-type{flex:0 1 auto}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>input[tuiChip]{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;margin:0}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>input[tuiChip][type=checkbox],[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>input[tuiChip][type=radio]{z-index:-1}input[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:text}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-chip-5.0.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiChip]:where(*[data-tui-version=\"5.0.0\"]){--t-gap: .125rem;--t-margin: -.125rem;--t-icon-size: 1rem;--t-padding: 0 .625rem;--t-size: var(--tui-height-s);-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);padding:var(--t-padding);block-size:var(--t-size);inline-size:fit-content;max-inline-size:100%;isolation:isolate}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>img,[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiAvatar],[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>tui-badge,[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiBadge],[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiRadio],[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiSwitch],[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiCheckbox],[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiChip]:where(*[data-tui-version=\"5.0.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:after{font-size:var(--t-icon-size)!important}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiBadge]{margin-inline-end:0}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[data-size=xxs]{--t-gap: 0rem;--t-padding: 0 .25rem;--t-size: 1rem;--t-icon-size: .75rem;font:var(--tui-typography-body-xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[data-size=xxs]>[tuiIconButton]{margin:-.5rem;transform:scale(.75)}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs]{--t-padding: 0 .375rem;--t-size: var(--tui-height-xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs]>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[data-size=m]{--t-margin: -.375rem;--t-icon-size: 1.5rem;--t-padding: 0 1rem;--t-size: var(--tui-height-m);font:var(--tui-typography-body-m)}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[data-size=m]>[tuiIconButton]{margin:-.75rem}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[data-size=m]>[tuiBadge]{margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>img,[tuiChip]:where(*[data-tui-version=\"5.0.0\"]) [tuiAvatar]{inline-size:1.5rem;margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiFade]:first-of-type{flex:1 0 30%;max-inline-size:fit-content}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiFade]:last-of-type{flex:0 1 auto}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>input[tuiChip]{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;margin:0}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>input[tuiChip][type=checkbox],[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>input[tuiChip][type=radio]{z-index:-1}input[tuiChip]:where(*[data-tui-version=\"5.0.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:text}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: Styles, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: Styles, decorators: [{
27
27
  type: Component,
28
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-chip' }, styles: ["[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"]){--t-gap: .125rem;--t-margin: -.125rem;--t-icon-size: 1rem;--t-padding: 0 .625rem;--t-size: var(--tui-height-s);-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);padding:var(--t-padding);block-size:var(--t-size);inline-size:fit-content;max-inline-size:100%;isolation:isolate}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>img,[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiAvatar],[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>tui-badge,[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiBadge],[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiRadio],[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiSwitch],[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiCheckbox],[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[tuiIcons]:after{font-size:var(--t-icon-size)!important}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiBadge]{margin-inline-end:0}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-size=xxs]{--t-gap: 0rem;--t-padding: 0 .25rem;--t-size: 1rem;--t-icon-size: .75rem;font:var(--tui-typography-body-xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-size=xxs]>[tuiIconButton]{margin:-.5rem;transform:scale(.75)}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-size=xs]{--t-padding: 0 .375rem;--t-size: var(--tui-height-xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-size=xs]>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-size=m]{--t-margin: -.375rem;--t-icon-size: 1.5rem;--t-padding: 0 1rem;--t-size: var(--tui-height-m);font:var(--tui-typography-body-m)}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-size=m]>[tuiIconButton]{margin:-.75rem}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-size=m]>[tuiBadge]{margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>img,[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"]) [tuiAvatar]{inline-size:1.5rem;margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiFade]:first-of-type{flex:1 0 30%;max-inline-size:fit-content}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>[tuiFade]:last-of-type{flex:0 1 auto}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>input[tuiChip]{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;margin:0}[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>input[tuiChip][type=checkbox],[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"])>input[tuiChip][type=radio]{z-index:-1}input[tuiChip]:where(*[data-tui-version=\"5.0.0-rc.4\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:text}\n"] }]
28
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-chip-${TUI_VERSION}`, styles: ["[tuiChip]:where(*[data-tui-version=\"5.0.0\"]){--t-gap: .125rem;--t-margin: -.125rem;--t-icon-size: 1rem;--t-padding: 0 .625rem;--t-size: var(--tui-height-s);-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);padding:var(--t-padding);block-size:var(--t-size);inline-size:fit-content;max-inline-size:100%;isolation:isolate}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>img,[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiAvatar],[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>tui-badge,[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiBadge],[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiRadio],[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiSwitch],[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiCheckbox],[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiChip]:where(*[data-tui-version=\"5.0.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:after{font-size:var(--t-icon-size)!important}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiBadge]{margin-inline-end:0}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[data-size=xxs]{--t-gap: 0rem;--t-padding: 0 .25rem;--t-size: 1rem;--t-icon-size: .75rem;font:var(--tui-typography-body-xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[data-size=xxs]>[tuiIconButton]{margin:-.5rem;transform:scale(.75)}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs]{--t-padding: 0 .375rem;--t-size: var(--tui-height-xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs]>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[data-size=m]{--t-margin: -.375rem;--t-icon-size: 1.5rem;--t-padding: 0 1rem;--t-size: var(--tui-height-m);font:var(--tui-typography-body-m)}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[data-size=m]>[tuiIconButton]{margin:-.75rem}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])[data-size=m]>[tuiBadge]{margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>img,[tuiChip]:where(*[data-tui-version=\"5.0.0\"]) [tuiAvatar]{inline-size:1.5rem;margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiFade]:first-of-type{flex:1 0 30%;max-inline-size:fit-content}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>[tuiFade]:last-of-type{flex:0 1 auto}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>input[tuiChip]{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;margin:0}[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>input[tuiChip][type=checkbox],[tuiChip]:where(*[data-tui-version=\"5.0.0\"])>input[tuiChip][type=radio]{z-index:-1}input[tuiChip]:where(*[data-tui-version=\"5.0.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:text}\n"] }]
29
29
  }] });
30
30
  class TuiChip {
31
31
  constructor() {
32
32
  this.nothing = tuiWithStyles(Styles);
33
33
  this.size = input(inject(TUI_CHIP_OPTIONS).size);
34
34
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiChip, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
36
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.18", type: TuiChip, isStandalone: true, selector: "[tuiChip]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()" } }, providers: [
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiChip, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
36
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiChip, isStandalone: true, selector: "[tuiChip]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()" } }, providers: [
37
37
  tuiAppearanceOptionsProvider(TUI_CHIP_OPTIONS),
38
38
  tuiSwitchOptionsProvider({ size: 's' }),
39
39
  tuiCheckboxOptionsProvider({ size: 's' }),
@@ -44,7 +44,7 @@ class TuiChip {
44
44
  tuiButtonOptionsProvider({ size: 'xs', appearance: 'icon' }),
45
45
  ], hostDirectives: [{ directive: i1.TuiWithAppearance }, { directive: i2.TuiWithIcons }], ngImport: i0 }); }
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiChip, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiChip, decorators: [{
48
48
  type: Directive,
49
49
  args: [{
50
50
  selector: '[tuiChip]',
@@ -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 {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\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, tuiChipOptionsProvider] = tuiCreateOptions(\n TUI_CHIP_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TUI_PLATFORM} from '@taiga-ui/cdk/tokens';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {tuiCheckboxOptionsProvider} from '@taiga-ui/core/components/checkbox';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\nimport {tuiSwitchOptionsProvider} from '@taiga-ui/kit/components/switch';\n\nimport {TUI_CHIP_OPTIONS} from './chip.options';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/chip.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-chip'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiChip]',\n providers: [\n tuiAppearanceOptionsProvider(TUI_CHIP_OPTIONS),\n tuiSwitchOptionsProvider({size: 's'}),\n tuiCheckboxOptionsProvider({size: 's'}),\n tuiAvatarOptionsProvider(() => ({\n size: 'xs',\n round: inject(TUI_PLATFORM) !== 'web',\n })),\n tuiButtonOptionsProvider({size: 'xs', appearance: 'icon'}),\n ],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiChip {\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly size = input(inject(TUI_CHIP_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 {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\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, tuiChipOptionsProvider] = tuiCreateOptions(\n TUI_CHIP_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TUI_PLATFORM} from '@taiga-ui/cdk/tokens';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {tuiCheckboxOptionsProvider} from '@taiga-ui/core/components/checkbox';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\nimport {tuiSwitchOptionsProvider} from '@taiga-ui/kit/components/switch';\n\nimport {TUI_CHIP_OPTIONS} from './chip.options';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/chip.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-chip-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiChip]',\n providers: [\n tuiAppearanceOptionsProvider(TUI_CHIP_OPTIONS),\n tuiSwitchOptionsProvider({size: 's'}),\n tuiCheckboxOptionsProvider({size: 's'}),\n tuiAvatarOptionsProvider(() => ({\n size: 'xs',\n round: inject(TUI_PLATFORM) !== 'web',\n })),\n tuiButtonOptionsProvider({size: 'xs', appearance: 'icon'}),\n ],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiChip {\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly size = input(inject(TUI_CHIP_OPTIONS).size);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -102,14 +102,14 @@ class TuiComboBoxDirective extends TuiControl {
102
102
  stringify(value) {
103
103
  return value != null ? this.handlers.stringify()(value) : '';
104
104
  }
105
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiComboBoxDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
106
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.18", type: TuiComboBoxDirective, isStandalone: true, selector: "input[tuiComboBox]", inputs: { strict: { classPropertyName: "strict", publicName: "strict", isSignal: true, isRequired: false, transformFunction: null }, matcher: { classPropertyName: "matcher", publicName: "matcher", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "toggleDropdown()", "input": "toggleDropdown(true)", "keydown.enter": "keydownEnter($event)" }, properties: { "disabled": "disabled()" } }, providers: [
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiComboBoxDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
106
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiComboBoxDirective, isStandalone: true, selector: "input[tuiComboBox]", inputs: { strict: { classPropertyName: "strict", publicName: "strict", isSignal: true, isRequired: false, transformFunction: null }, matcher: { classPropertyName: "matcher", publicName: "matcher", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "toggleDropdown()", "input": "toggleDropdown(true)", "keydown.enter": "keydownEnter($event)" }, properties: { "disabled": "disabled()" } }, providers: [
107
107
  tuiAsOptionContent(TuiSelectOption),
108
108
  tuiAsTextfieldAccessor(TuiComboBoxDirective),
109
109
  tuiAsControl(TuiComboBoxDirective),
110
110
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithInput }], ngImport: i0 }); }
111
111
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiComboBoxDirective, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiComboBoxDirective, decorators: [{
113
113
  type: Directive,
114
114
  args: [{
115
115
  selector: 'input[tuiComboBox]',