@taiga-ui/core 4.52.0-canary.e10b718 → 4.52.0-canary.e53e79e

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 (321) hide show
  1. package/README.md +1 -1
  2. package/classes/accessors.d.ts +2 -2
  3. package/components/button/button.directive.d.ts +2 -2
  4. package/components/calendar/calendar-sheet.component.d.ts +1 -1
  5. package/components/calendar/calendar-sheet.options.d.ts +1 -3
  6. package/{pipes/calendar-sheet → components/calendar}/calendar-sheet.pipe.d.ts +2 -2
  7. package/components/calendar/calendar-spin.component.d.ts +1 -0
  8. package/components/calendar/calendar-year.component.d.ts +1 -1
  9. package/components/calendar/calendar.options.d.ts +9 -0
  10. package/components/calendar/index.d.ts +3 -0
  11. package/{pipes/order-week-days → components/calendar}/order-week-days.pipe.d.ts +1 -1
  12. package/components/cell/cell.directive.d.ts +9 -0
  13. package/components/cell/cell.options.d.ts +6 -0
  14. package/components/cell/index.d.ts +2 -0
  15. package/components/data-list/data-list.component.d.ts +8 -12
  16. package/components/data-list/data-list.d.ts +3 -4
  17. package/components/data-list/data-list.tokens.d.ts +1 -23
  18. package/components/data-list/index.d.ts +3 -4
  19. package/components/data-list/opt-group.directive.d.ts +2 -2
  20. package/components/data-list/option-content.directive.d.ts +14 -0
  21. package/components/data-list/option-with-value.directive.d.ts +9 -0
  22. package/components/data-list/option.directive.d.ts +19 -0
  23. package/components/error/error.component.d.ts +6 -8
  24. package/components/error/error.d.ts +4 -0
  25. package/components/error/error.directive.d.ts +19 -0
  26. package/components/error/error.pipe.d.ts +10 -0
  27. package/components/error/index.d.ts +3 -0
  28. package/components/expand/expand.component.d.ts +9 -28
  29. package/components/expand/index.d.ts +0 -2
  30. package/components/icon/icon.component.d.ts +2 -2
  31. package/components/index.d.ts +3 -3
  32. package/components/input/index.d.ts +2 -0
  33. package/components/input/input.d.ts +5 -0
  34. package/components/input/input.directive.d.ts +30 -0
  35. package/components/label/label.directive.d.ts +1 -1
  36. package/components/link/index.d.ts +0 -1
  37. package/components/link/link.directive.d.ts +8 -6
  38. package/components/loader/loader.component.d.ts +7 -7
  39. package/components/loader/loader.options.d.ts +1 -3
  40. package/components/notification/index.d.ts +3 -0
  41. package/components/notification/notification.component.d.ts +14 -0
  42. package/components/notification/notification.d.ts +3 -0
  43. package/components/notification/notification.directive.d.ts +7 -12
  44. package/components/notification/notification.options.d.ts +10 -7
  45. package/components/notification/notification.service.d.ts +17 -0
  46. package/components/root/root.component.d.ts +2 -3
  47. package/components/scrollbar/scroll-into-view.directive.d.ts +3 -2
  48. package/components/scrollbar/scroll-ref.directive.d.ts +2 -0
  49. package/components/scrollbar/scrollbar.component.d.ts +1 -5
  50. package/components/scrollbar/scrollbar.directive.d.ts +2 -2
  51. package/components/spin-button/spin-button.component.d.ts +9 -10
  52. package/components/textfield/index.d.ts +1 -4
  53. package/components/textfield/textfield-multi/textfield-item.component.d.ts +3 -2
  54. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +10 -15
  55. package/components/textfield/textfield.component.d.ts +23 -37
  56. package/components/textfield/textfield.d.ts +2 -4
  57. package/components/textfield/textfield.options.d.ts +8 -11
  58. package/{directives → components}/title/title.directive.d.ts +2 -3
  59. package/directives/appearance/appearance.directive.d.ts +1 -1
  60. package/directives/appearance/appearance.options.d.ts +1 -1
  61. package/directives/date-format/date-format.directive.d.ts +3 -7
  62. package/directives/group/group.directive.d.ts +7 -7
  63. package/directives/group/group.options.d.ts +1 -3
  64. package/directives/index.d.ts +0 -5
  65. package/directives/items-handlers/items-handlers.directive.d.ts +5 -9
  66. package/directives/items-handlers/items-handlers.tokens.d.ts +4 -4
  67. package/directives/number-format/number-format.directive.d.ts +3 -7
  68. package/fesm2022/taiga-ui-core-classes.mjs +9 -11
  69. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-core-components-button.mjs +13 -20
  71. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-core-components-calendar.mjs +140 -36
  73. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-core-components-cell.mjs +45 -0
  75. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -0
  76. package/fesm2022/taiga-ui-core-components-data-list.mjs +112 -281
  77. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-core-components-error.mjs +109 -24
  79. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-core-components-expand.mjs +33 -131
  81. package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-core-components-icon.mjs +9 -10
  83. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-core-components-input.mjs +103 -0
  85. package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -0
  86. package/fesm2022/taiga-ui-core-components-label.mjs +13 -18
  87. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-core-components-link.mjs +16 -36
  89. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-core-components-loader.mjs +16 -34
  91. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  92. package/fesm2022/taiga-ui-core-components-notification.mjs +108 -68
  93. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  94. package/fesm2022/taiga-ui-core-components-root.mjs +8 -22
  95. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  96. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +68 -82
  97. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  98. package/fesm2022/taiga-ui-core-components-spin-button.mjs +18 -31
  99. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  100. package/fesm2022/taiga-ui-core-components-textfield.mjs +122 -421
  101. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  102. package/fesm2022/taiga-ui-core-components-title.mjs +37 -0
  103. package/fesm2022/taiga-ui-core-components-title.mjs.map +1 -0
  104. package/fesm2022/taiga-ui-core-components.mjs +3 -3
  105. package/fesm2022/taiga-ui-core-directives-appearance.mjs +18 -21
  106. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  107. package/fesm2022/taiga-ui-core-directives-date-format.mjs +26 -20
  108. package/fesm2022/taiga-ui-core-directives-date-format.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-core-directives-group.mjs +25 -40
  110. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-core-directives-icons.mjs +14 -17
  112. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +18 -42
  114. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-core-directives-number-format.mjs +32 -20
  116. package/fesm2022/taiga-ui-core-directives-number-format.mjs.map +1 -1
  117. package/fesm2022/taiga-ui-core-directives.mjs +0 -5
  118. package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
  119. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +21 -15
  120. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-core-pipes.mjs +0 -7
  122. package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-core-portals-alert.mjs +73 -0
  124. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -0
  125. package/fesm2022/taiga-ui-core-portals-dialog.mjs +158 -0
  126. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -0
  127. package/fesm2022/{taiga-ui-core-directives-dropdown.mjs → taiga-ui-core-portals-dropdown.mjs} +180 -332
  128. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -0
  129. package/fesm2022/taiga-ui-core-portals-hint.mjs +607 -0
  130. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -0
  131. package/fesm2022/taiga-ui-core-portals-modal.mjs +89 -0
  132. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -0
  133. package/fesm2022/taiga-ui-core-portals-popup.mjs +56 -0
  134. package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -0
  135. package/fesm2022/taiga-ui-core-portals.mjs +11 -0
  136. package/fesm2022/taiga-ui-core-portals.mjs.map +1 -0
  137. package/fesm2022/taiga-ui-core-services.mjs +16 -55
  138. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  139. package/fesm2022/taiga-ui-core-tokens.mjs +29 -51
  140. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  141. package/fesm2022/taiga-ui-core-utils-format.mjs +1 -22
  142. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  143. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +8 -18
  144. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  145. package/fesm2022/taiga-ui-core.mjs +1 -1
  146. package/index.d.ts +1 -1
  147. package/package.json +58 -80
  148. package/pipes/format-number/format-number.pipe.d.ts +6 -4
  149. package/pipes/index.d.ts +0 -7
  150. package/portals/alert/alert.directive.d.ts +11 -0
  151. package/portals/alert/alert.service.d.ts +12 -0
  152. package/portals/alert/index.d.ts +2 -0
  153. package/portals/dialog/dialog.component.d.ts +14 -0
  154. package/portals/dialog/dialog.directive.d.ts +8 -0
  155. package/{components → portals}/dialog/dialog.factory.d.ts +1 -1
  156. package/portals/dialog/dialog.options.d.ts +25 -0
  157. package/{components/dialog/dialog-close.service.d.ts → portals/dialog/dialog.providers.d.ts} +2 -0
  158. package/portals/dialog/dialog.service.d.ts +10 -0
  159. package/portals/dialog/index.d.ts +6 -0
  160. package/portals/dropdown/dropdown-content.directive.d.ts +9 -0
  161. package/{directives → portals}/dropdown/dropdown-hover.directive.d.ts +5 -10
  162. package/{directives → portals}/dropdown/dropdown-hover.options.d.ts +1 -3
  163. package/{directives → portals}/dropdown/dropdown-manual.directive.d.ts +2 -2
  164. package/portals/dropdown/dropdown-open.directive.d.ts +30 -0
  165. package/{directives → portals}/dropdown/dropdown-position-sided.directive.d.ts +3 -3
  166. package/{directives → portals}/dropdown/dropdown-position.directive.d.ts +5 -5
  167. package/{directives → portals}/dropdown/dropdown-selection.directive.d.ts +4 -5
  168. package/{directives → portals}/dropdown/dropdown.bindings.d.ts +0 -1
  169. package/{directives → portals}/dropdown/dropdown.d.ts +2 -3
  170. package/{directives → portals}/dropdown/dropdown.directive.d.ts +6 -8
  171. package/{directives → portals}/dropdown/index.d.ts +1 -4
  172. package/{directives → portals}/hint/hint-describe.directive.d.ts +4 -6
  173. package/{directives → portals}/hint/hint-host.directive.d.ts +2 -2
  174. package/{directives → portals}/hint/hint-hover.directive.d.ts +3 -4
  175. package/{directives → portals}/hint/hint-manual.directive.d.ts +2 -2
  176. package/{directives → portals}/hint/hint-options.directive.d.ts +3 -3
  177. package/{directives → portals}/hint/hint-overflow.directive.d.ts +2 -2
  178. package/{directives → portals}/hint/hint-position.directive.d.ts +5 -6
  179. package/{directives → portals}/hint/hint-unstyled.component.d.ts +2 -7
  180. package/portals/hint/hint.component.d.ts +29 -0
  181. package/portals/hint/hint.directive.d.ts +24 -0
  182. package/{directives → portals}/hint/index.d.ts +0 -2
  183. package/portals/index.d.ts +6 -0
  184. package/portals/modal/index.d.ts +2 -0
  185. package/portals/modal/modal.component.d.ts +17 -0
  186. package/portals/modal/modal.service.d.ts +13 -0
  187. package/portals/popup/popup.directive.d.ts +12 -0
  188. package/{directives → portals}/popup/popup.service.d.ts +1 -1
  189. package/{directives → portals}/popup/popups.component.d.ts +2 -2
  190. package/services/index.d.ts +0 -2
  191. package/styles/components/link.less +9 -23
  192. package/styles/components/textfield.less +10 -7
  193. package/styles/mixins/appearance.less +2 -2
  194. package/styles/mixins/mixins.less +0 -5
  195. package/styles/mixins/mixins.scss +0 -5
  196. package/styles/mixins/slider.less +21 -16
  197. package/styles/mixins/slider.scss +1 -2
  198. package/styles/theme/variables.less +2 -4
  199. package/tokens/common-icons.d.ts +3 -3
  200. package/tokens/date-format.d.ts +2 -3
  201. package/tokens/i18n.d.ts +7 -7
  202. package/tokens/icon-resolver.d.ts +0 -4
  203. package/tokens/icons.d.ts +0 -4
  204. package/tokens/index.d.ts +1 -4
  205. package/tokens/number-format.d.ts +2 -3
  206. package/tokens/validation-errors.d.ts +4 -0
  207. package/types/index.d.ts +0 -3
  208. package/types/point.d.ts +1 -1
  209. package/types/size.d.ts +0 -11
  210. package/utils/format/index.d.ts +0 -1
  211. package/utils/miscellaneous/get-duration.d.ts +2 -0
  212. package/utils/miscellaneous/index.d.ts +1 -1
  213. package/animations/animations.d.ts +0 -109
  214. package/animations/index.d.ts +0 -1
  215. package/components/alert/alert.component.d.ts +0 -15
  216. package/components/alert/alert.directive.d.ts +0 -7
  217. package/components/alert/alert.interfaces.d.ts +0 -12
  218. package/components/alert/alert.service.d.ts +0 -7
  219. package/components/alert/alert.tokens.d.ts +0 -12
  220. package/components/alert/alerts.component.d.ts +0 -12
  221. package/components/alert/index.d.ts +0 -6
  222. package/components/data-list/data-list.directive.d.ts +0 -7
  223. package/components/data-list/option/option-content.d.ts +0 -16
  224. package/components/data-list/option/option-legacy.component.d.ts +0 -24
  225. package/components/data-list/option/option.directive.d.ts +0 -27
  226. package/components/dialog/active-zone-adapter.directive.d.ts +0 -11
  227. package/components/dialog/dialog.component.d.ts +0 -20
  228. package/components/dialog/dialog.directive.d.ts +0 -7
  229. package/components/dialog/dialog.interfaces.d.ts +0 -34
  230. package/components/dialog/dialog.service.d.ts +0 -7
  231. package/components/dialog/dialog.tokens.d.ts +0 -15
  232. package/components/dialog/dialogs.component.d.ts +0 -8
  233. package/components/dialog/index.d.ts +0 -8
  234. package/components/expand/expand-content.directive.d.ts +0 -8
  235. package/components/expand/expand.d.ts +0 -6
  236. package/components/fullscreen/fullscreen.component.d.ts +0 -14
  237. package/components/fullscreen/index.d.ts +0 -1
  238. package/components/link/link.options.d.ts +0 -12
  239. package/components/textfield/select.directive.d.ts +0 -19
  240. package/components/textfield/textfield-dropdown.directive.d.ts +0 -16
  241. package/components/textfield/textfield.directive.d.ts +0 -38
  242. package/directives/dropdown/dropdown-open-legacy.directive.d.ts +0 -12
  243. package/directives/dropdown/dropdown-open.directive.d.ts +0 -33
  244. package/directives/dropdown/dropdown-portal.directive.d.ts +0 -14
  245. package/directives/dropdown/dropdown.service.d.ts +0 -6
  246. package/directives/dropdown/dropdowns.component.d.ts +0 -9
  247. package/directives/hint/hint.component.d.ts +0 -30
  248. package/directives/hint/hint.directive.d.ts +0 -26
  249. package/directives/hint/hint.service.d.ts +0 -13
  250. package/directives/hint/hints.component.d.ts +0 -12
  251. package/directives/popup/popup.directive.d.ts +0 -11
  252. package/directives/surface/index.d.ts +0 -1
  253. package/directives/surface/surface.directive.d.ts +0 -8
  254. package/fesm2022/taiga-ui-core-animations.mjs +0 -370
  255. package/fesm2022/taiga-ui-core-animations.mjs.map +0 -1
  256. package/fesm2022/taiga-ui-core-components-alert.mjs +0 -149
  257. package/fesm2022/taiga-ui-core-components-alert.mjs.map +0 -1
  258. package/fesm2022/taiga-ui-core-components-dialog.mjs +0 -229
  259. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +0 -1
  260. package/fesm2022/taiga-ui-core-components-fullscreen.mjs +0 -77
  261. package/fesm2022/taiga-ui-core-components-fullscreen.mjs.map +0 -1
  262. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +0 -1
  263. package/fesm2022/taiga-ui-core-directives-hint.mjs +0 -709
  264. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +0 -1
  265. package/fesm2022/taiga-ui-core-directives-popup.mjs +0 -63
  266. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +0 -1
  267. package/fesm2022/taiga-ui-core-directives-surface.mjs +0 -50
  268. package/fesm2022/taiga-ui-core-directives-surface.mjs.map +0 -1
  269. package/fesm2022/taiga-ui-core-directives-title.mjs +0 -43
  270. package/fesm2022/taiga-ui-core-directives-title.mjs.map +0 -1
  271. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +0 -25
  272. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +0 -1
  273. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +0 -94
  274. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +0 -1
  275. package/fesm2022/taiga-ui-core-pipes-flag.mjs +0 -32
  276. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +0 -1
  277. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +0 -28
  278. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +0 -1
  279. package/fesm2022/taiga-ui-core-pipes-initials.mjs +0 -29
  280. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +0 -1
  281. package/fesm2022/taiga-ui-core-pipes-month.mjs +0 -29
  282. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +0 -1
  283. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +0 -36
  284. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +0 -1
  285. package/pipes/auto-color/auto-color.pipe.d.ts +0 -7
  286. package/pipes/auto-color/index.d.ts +0 -1
  287. package/pipes/calendar-sheet/index.d.ts +0 -1
  288. package/pipes/calendar-sheet/utils.d.ts +0 -20
  289. package/pipes/flag/flag.pipe.d.ts +0 -14
  290. package/pipes/flag/index.d.ts +0 -1
  291. package/pipes/format-date/format-date.pipe.d.ts +0 -9
  292. package/pipes/format-date/index.d.ts +0 -1
  293. package/pipes/initials/index.d.ts +0 -1
  294. package/pipes/initials/initials.pipe.d.ts +0 -7
  295. package/pipes/month/index.d.ts +0 -1
  296. package/pipes/month/month.pipe.d.ts +0 -10
  297. package/pipes/order-week-days/index.d.ts +0 -1
  298. package/services/dark-theme.service.d.ts +0 -10
  299. package/services/format-date.service.d.ts +0 -8
  300. package/tokens/day-type-handler.d.ts +0 -7
  301. package/tokens/first-day-of-week.d.ts +0 -5
  302. package/tokens/scroll-ref.d.ts +0 -2
  303. package/tokens/spin-icons.d.ts +0 -6
  304. package/types/portal-item.d.ts +0 -9
  305. package/types/range-state.d.ts +0 -4
  306. package/types/value-content-context.d.ts +0 -4
  307. package/utils/format/string-hash-to-hsl.d.ts +0 -6
  308. package/utils/miscellaneous/to-animation-options.d.ts +0 -4
  309. /package/{directives → components}/title/index.d.ts +0 -0
  310. /package/{directives → portals}/dropdown/dropdown-context.directive.d.ts +0 -0
  311. /package/{directives → portals}/dropdown/dropdown-limit-width.d.ts +0 -0
  312. /package/{directives → portals}/dropdown/dropdown-options.directive.d.ts +0 -0
  313. /package/{directives → portals}/dropdown/dropdown.component.d.ts +0 -0
  314. /package/{directives → portals}/dropdown/dropdown.driver.d.ts +0 -0
  315. /package/{directives → portals}/dropdown/dropdown.providers.d.ts +0 -0
  316. /package/{directives → portals}/dropdown/with-dropdown-open.directive.d.ts +0 -0
  317. /package/{directives → portals}/hint/hint-driver.directive.d.ts +0 -0
  318. /package/{directives → portals}/hint/hint-pointer.directive.d.ts +0 -0
  319. /package/{directives → portals}/hint/hint.d.ts +0 -0
  320. /package/{directives → portals}/hint/hint.providers.d.ts +0 -0
  321. /package/{directives → portals}/popup/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-classes.mjs","sources":["../../../projects/core/classes/accessors.ts","../../../projects/core/classes/vehicle.ts","../../../projects/core/classes/driver.ts","../../../projects/core/classes/taiga-ui-core-classes.ts"],"sourcesContent":["import {\n type AbstractType,\n type ExistingProvider,\n type FactoryProvider,\n Optional,\n SkipSelf,\n type Type,\n} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiPoint} from '@taiga-ui/core/types';\n\nexport abstract class TuiAccessor {\n public abstract readonly type: string;\n}\n\nexport abstract class TuiPositionAccessor extends TuiAccessor {\n /*\n * TODO @deprecated switching from DOMRect to HTMLElement in v5\n */\n public abstract getPosition(rect: DOMRect, element?: HTMLElement): TuiPoint;\n}\n\nexport abstract class TuiRectAccessor extends TuiAccessor {\n public abstract getClientRect(): DOMRect;\n}\n\nexport function tuiProvideAccessor<T extends TuiAccessor>(\n provide: AbstractType<T>,\n type: string,\n fallback: Type<T>,\n): FactoryProvider {\n return {\n provide,\n deps: [[new SkipSelf(), new Optional(), provide], fallback],\n useFactory: tuiFallbackAccessor<T>(type),\n };\n}\n\nexport function tuiFallbackAccessor<T extends TuiAccessor>(\n type: string,\n): (accessors: readonly T[] | null, fallback: T) => T {\n return (accessors, fallback) =>\n accessors?.find?.(\n (accessor) => accessor !== fallback && accessor.type === type,\n ) || fallback;\n}\n\nexport function tuiPositionAccessorFor(\n type: string,\n fallback: Type<TuiPositionAccessor>,\n): FactoryProvider {\n return tuiProvideAccessor(TuiPositionAccessor, type, fallback);\n}\n\nexport function tuiRectAccessorFor(\n type: string,\n fallback: Type<TuiRectAccessor>,\n): FactoryProvider {\n return tuiProvideAccessor(TuiRectAccessor, type, fallback);\n}\n\nexport function tuiAsPositionAccessor(\n accessor: Type<TuiPositionAccessor>,\n): ExistingProvider {\n return tuiProvide(TuiPositionAccessor, accessor, true);\n}\n\nexport function tuiAsRectAccessor(accessor: Type<TuiRectAccessor>): ExistingProvider {\n return tuiProvide(TuiRectAccessor, accessor, true);\n}\n","import {type ExistingProvider, type Type} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport abstract class TuiVehicle {\n public abstract readonly type: string;\n public abstract toggle(value: boolean): void;\n}\n\nexport function tuiAsVehicle(vehicle: Type<TuiVehicle>): ExistingProvider {\n return tuiProvide(TuiVehicle, vehicle, true);\n}\n","import {\n type AfterViewInit,\n DestroyRef,\n Directive,\n type ExistingProvider,\n inject,\n type Type,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {distinctUntilChanged, merge, Observable} from 'rxjs';\n\nimport {TuiVehicle} from './vehicle';\n\nexport abstract class TuiDriver extends Observable<boolean> {\n public abstract readonly type: string;\n}\n\nexport function tuiAsDriver(driver: Type<TuiDriver>): ExistingProvider {\n return tuiProvide(TuiDriver, driver, true);\n}\n\n@Directive()\nexport abstract class TuiDriverDirective implements AfterViewInit {\n public abstract type: string;\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly drivers: readonly TuiDriver[] =\n inject<any>(TuiDriver, {self: true, optional: true}) || [];\n\n private readonly vehicles: readonly TuiVehicle[] = inject<any>(TuiVehicle, {\n self: true,\n optional: true,\n });\n\n public ngAfterViewInit(): void {\n const vehicle = this.vehicles?.find(({type}) => type === this.type);\n\n merge(...this.drivers.filter(({type}) => type === this.type))\n .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n vehicle?.toggle(value);\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAWsB,WAAW,CAAA;AAEhC;AAEK,MAAgB,mBAAoB,SAAQ,WAAW,CAAA;AAK5D;AAEK,MAAgB,eAAgB,SAAQ,WAAW,CAAA;AAExD;SAEe,kBAAkB,CAC9B,OAAwB,EACxB,IAAY,EACZ,QAAiB,EAAA;IAEjB,OAAO;QACH,OAAO;AACP,QAAA,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;AAC3D,QAAA,UAAU,EAAE,mBAAmB,CAAI,IAAI,CAAC;KAC3C;AACL;AAEM,SAAU,mBAAmB,CAC/B,IAAY,EAAA;AAEZ,IAAA,OAAO,CAAC,SAAS,EAAE,QAAQ,KACvB,SAAS,EAAE,IAAI,GACX,CAAC,QAAQ,KAAK,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAChE,IAAI,QAAQ;AACrB;AAEgB,SAAA,sBAAsB,CAClC,IAAY,EACZ,QAAmC,EAAA;IAEnC,OAAO,kBAAkB,CAAC,mBAAmB,EAAE,IAAI,EAAE,QAAQ,CAAC;AAClE;AAEgB,SAAA,kBAAkB,CAC9B,IAAY,EACZ,QAA+B,EAAA;IAE/B,OAAO,kBAAkB,CAAC,eAAe,EAAE,IAAI,EAAE,QAAQ,CAAC;AAC9D;AAEM,SAAU,qBAAqB,CACjC,QAAmC,EAAA;IAEnC,OAAO,UAAU,CAAC,mBAAmB,EAAE,QAAQ,EAAE,IAAI,CAAC;AAC1D;AAEM,SAAU,iBAAiB,CAAC,QAA+B,EAAA;IAC7D,OAAO,UAAU,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC;AACtD;;MClEsB,UAAU,CAAA;AAG/B;AAEK,SAAU,YAAY,CAAC,OAAyB,EAAA;IAClD,OAAO,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC;AAChD;;ACIM,MAAgB,SAAU,SAAQ,UAAmB,CAAA;AAE1D;AAEK,SAAU,WAAW,CAAC,MAAuB,EAAA;IAC/C,OAAO,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC;AAC9C;MAGsB,kBAAkB,CAAA;AADxC,IAAA,WAAA,GAAA;AAIqB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,QAAA,IAAA,CAAA,OAAO,GACpB,MAAM,CAAM,SAAS,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,IAAI,EAAE;AAE7C,QAAA,IAAA,CAAA,QAAQ,GAA0B,MAAM,CAAM,UAAU,EAAE;AACvE,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,QAAQ,EAAE,IAAI;AACjB,SAAA,CAAC;AAWL;IATU,eAAe,GAAA;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,KAAK,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;QAEnE,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAC,IAAI,EAAC,KAAK,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;aACvD,IAAI,CAAC,oBAAoB,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AAChE,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;AACjB,YAAA,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;AAC1B,SAAC,CAAC;;+GAnBQ,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBADvC;;;ACtBD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-classes.mjs","sources":["../../../projects/core/classes/accessors.ts","../../../projects/core/classes/vehicle.ts","../../../projects/core/classes/driver.ts","../../../projects/core/classes/taiga-ui-core-classes.ts"],"sourcesContent":["import {\n type AbstractType,\n type ExistingProvider,\n type FactoryProvider,\n Optional,\n SkipSelf,\n type Type,\n} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {type TuiPoint} from '@taiga-ui/core/types';\n\nexport abstract class TuiAccessor {\n public abstract readonly type: string;\n}\n\nexport abstract class TuiPositionAccessor extends TuiAccessor {\n public abstract getPosition(rect: DOMRect): TuiPoint;\n}\n\nexport abstract class TuiRectAccessor extends TuiAccessor {\n public abstract getClientRect(): DOMRect;\n}\n\nexport function tuiProvideAccessor<T extends TuiAccessor>(\n provide: AbstractType<T>,\n type: string,\n fallback: Type<T>,\n): FactoryProvider {\n return {\n provide,\n deps: [[new SkipSelf(), new Optional(), provide], fallback],\n useFactory: tuiFallbackAccessor<T>(type),\n };\n}\n\nexport function tuiFallbackAccessor<T extends TuiAccessor>(\n type: string,\n): (accessors: readonly T[] | null, fallback: Omit<T, 'type'>) => T {\n return (accessors, fallback) =>\n accessors?.find?.(\n (accessor) => accessor !== fallback && accessor.type === type,\n ) || Object.create(fallback, {type: {value: type}});\n}\n\nexport function tuiPositionAccessorFor(\n type: string,\n fallback: Type<TuiPositionAccessor>,\n): FactoryProvider {\n return tuiProvideAccessor(TuiPositionAccessor, type, fallback);\n}\n\nexport function tuiRectAccessorFor(\n type: string,\n fallback: Type<TuiRectAccessor>,\n): FactoryProvider {\n return tuiProvideAccessor(TuiRectAccessor, type, fallback);\n}\n\nexport function tuiAsPositionAccessor(\n accessor: Type<TuiPositionAccessor>,\n): ExistingProvider {\n return tuiProvide(TuiPositionAccessor, accessor, true);\n}\n\nexport function tuiAsRectAccessor(accessor: Type<TuiRectAccessor>): ExistingProvider {\n return tuiProvide(TuiRectAccessor, accessor, true);\n}\n","import {type ExistingProvider, type Type} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nexport abstract class TuiVehicle {\n public abstract readonly type: string;\n public abstract toggle(value: boolean): void;\n}\n\nexport function tuiAsVehicle(vehicle: Type<TuiVehicle>): ExistingProvider {\n return tuiProvide(TuiVehicle, vehicle, true);\n}\n","import {coerceArray} from '@angular/cdk/coercion';\nimport {\n type AfterViewInit,\n DestroyRef,\n Directive,\n type ExistingProvider,\n inject,\n type Type,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {distinctUntilChanged, merge, Observable} from 'rxjs';\n\nimport {TuiVehicle} from './vehicle';\n\nexport abstract class TuiDriver extends Observable<boolean> {\n public abstract readonly type: string;\n}\n\nexport function tuiAsDriver(driver: Type<TuiDriver>): ExistingProvider {\n return tuiProvide(TuiDriver, driver, true);\n}\n\n@Directive()\nexport abstract class TuiDriverDirective implements AfterViewInit {\n public abstract type: string;\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly drivers = coerceArray(\n inject(TuiDriver, {self: true, optional: true}) || [],\n );\n\n private readonly vehicles = coerceArray(\n inject(TuiVehicle, {self: true, optional: true}) || [],\n );\n\n public ngAfterViewInit(): void {\n const vehicle = this.vehicles.find(({type}) => type === this.type);\n\n merge(...this.drivers.filter(({type}) => type === this.type))\n .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n vehicle?.toggle(value);\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAWsB,WAAW,CAAA;AAEhC;AAEK,MAAgB,mBAAoB,SAAQ,WAAW,CAAA;AAE5D;AAEK,MAAgB,eAAgB,SAAQ,WAAW,CAAA;AAExD;SAEe,kBAAkB,CAC9B,OAAwB,EACxB,IAAY,EACZ,QAAiB,EAAA;IAEjB,OAAO;QACH,OAAO;AACP,QAAA,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;AAC3D,QAAA,UAAU,EAAE,mBAAmB,CAAI,IAAI,CAAC;KAC3C;AACL;AAEM,SAAU,mBAAmB,CAC/B,IAAY,EAAA;IAEZ,OAAO,CAAC,SAAS,EAAE,QAAQ,KACvB,SAAS,EAAE,IAAI,GACX,CAAC,QAAQ,KAAK,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAChE,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,EAAC,CAAC;AAC3D;AAEgB,SAAA,sBAAsB,CAClC,IAAY,EACZ,QAAmC,EAAA;IAEnC,OAAO,kBAAkB,CAAC,mBAAmB,EAAE,IAAI,EAAE,QAAQ,CAAC;AAClE;AAEgB,SAAA,kBAAkB,CAC9B,IAAY,EACZ,QAA+B,EAAA;IAE/B,OAAO,kBAAkB,CAAC,eAAe,EAAE,IAAI,EAAE,QAAQ,CAAC;AAC9D;AAEM,SAAU,qBAAqB,CACjC,QAAmC,EAAA;IAEnC,OAAO,UAAU,CAAC,mBAAmB,EAAE,QAAQ,EAAE,IAAI,CAAC;AAC1D;AAEM,SAAU,iBAAiB,CAAC,QAA+B,EAAA;IAC7D,OAAO,UAAU,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC;AACtD;;MC/DsB,UAAU,CAAA;AAG/B;AAEK,SAAU,YAAY,CAAC,OAAyB,EAAA;IAClD,OAAO,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC;AAChD;;ACKM,MAAgB,SAAU,SAAQ,UAAmB,CAAA;AAE1D;AAEK,SAAU,WAAW,CAAC,MAAuB,EAAA;IAC/C,OAAO,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC;AAC9C;MAGsB,kBAAkB,CAAA;AADxC,IAAA,WAAA,GAAA;AAIqB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC/B,IAAO,CAAA,OAAA,GAAG,WAAW,CAClC,MAAM,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,IAAI,EAAE,CACxD;QAEgB,IAAQ,CAAA,QAAA,GAAG,WAAW,CACnC,MAAM,CAAC,UAAU,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,IAAI,EAAE,CACzD;AAWJ;IATU,eAAe,GAAA;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,KAAK,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;QAElE,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAC,IAAI,EAAC,KAAK,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;aACvD,IAAI,CAAC,oBAAoB,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AAChE,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;AACjB,YAAA,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;AAC1B,SAAC,CAAC;;+GAnBQ,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBADvC;;;ACvBD;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, Input, Directive } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, input, inject, Directive } from '@angular/core';
3
3
  import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
4
  import * as i1 from '@taiga-ui/core/directives/appearance';
5
5
  import { tuiAppearanceOptionsProvider, TuiWithAppearance } from '@taiga-ui/core/directives/appearance';
@@ -13,38 +13,31 @@ const TUI_BUTTON_DEFAULT_OPTIONS = {
13
13
  };
14
14
  const [TUI_BUTTON_OPTIONS, tuiButtonOptionsProvider] = tuiCreateOptions(TUI_BUTTON_DEFAULT_OPTIONS);
15
15
 
16
- class TuiButtonStyles {
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiButtonStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiButtonStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-button" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiButton],[tuiIconButton]{--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-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;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-font-text-m);font-weight:700}[tuiButton]>img,[tuiIconButton]>img,[tuiButton]>tui-icon,[tuiIconButton]>tui-icon,[tuiButton]>[tuiAvatar],[tuiIconButton]>[tuiAvatar],[tuiButton]>tui-badge,[tuiIconButton]>tui-badge,[tuiButton]>[tuiBadge],[tuiIconButton]>[tuiBadge],[tuiButton]>[tuiRadio],[tuiIconButton]>[tuiRadio],[tuiButton]>[tuiSwitch],[tuiIconButton]>[tuiSwitch],[tuiButton]>[tuiCheckbox],[tuiIconButton]>[tuiCheckbox],[tuiButton][tuiIcons]:before,[tuiIconButton][tuiIcons]:before,[tuiButton][tuiIcons]:after,[tuiIconButton][tuiIcons]:after{margin:var(--t-margin)}[tuiButton]>.t-loader,[tuiIconButton]>.t-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[tuiButton]>.t-loader .t-text,[tuiIconButton]>.t-loader .t-text{position:absolute}[tuiButton][data-size=xs],[tuiIconButton][data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-font-text-s)}[tuiButton][data-size=xs] tui-icon,[tuiIconButton][data-size=xs] tui-icon,[tuiButton][data-size=xs]:before,[tuiIconButton][data-size=xs]:before{font-size:1rem}[tuiButton][data-size=s],[tuiIconButton][data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-font-text-s)}[tuiButton][data-size=s] tui-icon,[tuiIconButton][data-size=s] tui-icon,[tuiButton][data-size=s]:not([tuiIconButton][data-appearance=icon]):not([tuiIconButton][data-appearance=link]):before,[tuiIconButton][data-size=s]:not([tuiIconButton][data-appearance=icon]):not([tuiIconButton][data-appearance=link]):before{font-size:1rem}[tuiButton][data-size=m],[tuiIconButton][data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-font-text-m);font-weight:700}[tuiButton][data-size=m]:after,[tuiIconButton][data-size=m]:after{margin-inline-end:-.125rem}[tuiButton]._loading,[tuiIconButton]._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]._loading>*,[tuiIconButton]._loading>*,[tuiButton]._loading:before,[tuiIconButton]._loading:before,[tuiButton]._loading:after,[tuiIconButton]._loading:after{opacity:0}[tuiButton]._loading>.t-loader,[tuiIconButton]._loading>.t-loader{opacity:1}[tuiButton][tuiIcons]:after,[tuiIconButton][tuiIcons]:after{font-size:1rem}[tuiButton][tuiButtonVertical],[tuiIconButton][tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-font-text-ui-s)}[tuiButton][tuiButtonVertical]>*,[tuiIconButton][tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiIconButton]{gap:0;inline-size:var(--t-size);font-size:0!important;padding:0}[tuiIconButton][data-size=l]:after{margin:0}[tuiIconButton][tuiIconButton][style*=\"--t-icon-start:\"]:after{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
16
+ class Styles {
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-button" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiButton],[tuiIconButton]{--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-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;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-font-text-m);font-weight:700}[tuiButton]>img,[tuiIconButton]>img,[tuiButton]>tui-icon,[tuiIconButton]>tui-icon,[tuiButton]>[tuiAvatar],[tuiIconButton]>[tuiAvatar],[tuiButton]>tui-badge,[tuiIconButton]>tui-badge,[tuiButton]>[tuiBadge],[tuiIconButton]>[tuiBadge],[tuiButton]>[tuiRadio],[tuiIconButton]>[tuiRadio],[tuiButton]>[tuiSwitch],[tuiIconButton]>[tuiSwitch],[tuiButton]>[tuiCheckbox],[tuiIconButton]>[tuiCheckbox],[tuiButton][tuiIcons]:before,[tuiIconButton][tuiIcons]:before,[tuiButton][tuiIcons]:after,[tuiIconButton][tuiIcons]:after{margin:var(--t-margin)}[tuiButton]>.t-loader,[tuiIconButton]>.t-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[tuiButton]>.t-loader .t-text,[tuiIconButton]>.t-loader .t-text{position:absolute}[tuiButton][data-size=xs],[tuiIconButton][data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-font-text-s)}[tuiButton][data-size=xs] tui-icon,[tuiIconButton][data-size=xs] tui-icon,[tuiButton][data-size=xs]:before,[tuiIconButton][data-size=xs]:before{font-size:1rem}[tuiButton][data-size=s],[tuiIconButton][data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-font-text-s)}[tuiButton][data-size=s] tui-icon,[tuiIconButton][data-size=s] tui-icon,[tuiButton][data-size=s]:not([tuiIconButton][data-appearance=icon]):not([tuiIconButton][data-appearance=link]):before,[tuiIconButton][data-size=s]:not([tuiIconButton][data-appearance=icon]):not([tuiIconButton][data-appearance=link]):before{font-size:1rem}[tuiButton][data-size=m],[tuiIconButton][data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-font-text-m);font-weight:700}[tuiButton][data-size=m]:after,[tuiIconButton][data-size=m]:after{margin-inline-end:-.125rem}[tuiButton]._loading,[tuiIconButton]._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]._loading>*,[tuiIconButton]._loading>*,[tuiButton]._loading:before,[tuiIconButton]._loading:before,[tuiButton]._loading:after,[tuiIconButton]._loading:after{opacity:0}[tuiButton]._loading>.t-loader,[tuiIconButton]._loading>.t-loader{opacity:1}[tuiButton][tuiIcons]:after,[tuiIconButton][tuiIcons]:after{font-size:1rem}[tuiButton][tuiButtonVertical],[tuiIconButton][tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-font-text-ui-s)}[tuiButton][tuiButtonVertical]>*,[tuiIconButton][tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiIconButton]{gap:0;inline-size:var(--t-size);font-size:0!important;padding:0}[tuiIconButton][data-size=l]:after{margin:0}[tuiIconButton][tuiIconButton][style*=\"--t-icon-start:\"]:after{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiButtonStyles, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Styles, decorators: [{
21
21
  type: Component,
22
- args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
23
- class: 'tui-button',
24
- }, styles: ["[tuiButton],[tuiIconButton]{--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-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;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-font-text-m);font-weight:700}[tuiButton]>img,[tuiIconButton]>img,[tuiButton]>tui-icon,[tuiIconButton]>tui-icon,[tuiButton]>[tuiAvatar],[tuiIconButton]>[tuiAvatar],[tuiButton]>tui-badge,[tuiIconButton]>tui-badge,[tuiButton]>[tuiBadge],[tuiIconButton]>[tuiBadge],[tuiButton]>[tuiRadio],[tuiIconButton]>[tuiRadio],[tuiButton]>[tuiSwitch],[tuiIconButton]>[tuiSwitch],[tuiButton]>[tuiCheckbox],[tuiIconButton]>[tuiCheckbox],[tuiButton][tuiIcons]:before,[tuiIconButton][tuiIcons]:before,[tuiButton][tuiIcons]:after,[tuiIconButton][tuiIcons]:after{margin:var(--t-margin)}[tuiButton]>.t-loader,[tuiIconButton]>.t-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[tuiButton]>.t-loader .t-text,[tuiIconButton]>.t-loader .t-text{position:absolute}[tuiButton][data-size=xs],[tuiIconButton][data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-font-text-s)}[tuiButton][data-size=xs] tui-icon,[tuiIconButton][data-size=xs] tui-icon,[tuiButton][data-size=xs]:before,[tuiIconButton][data-size=xs]:before{font-size:1rem}[tuiButton][data-size=s],[tuiIconButton][data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-font-text-s)}[tuiButton][data-size=s] tui-icon,[tuiIconButton][data-size=s] tui-icon,[tuiButton][data-size=s]:not([tuiIconButton][data-appearance=icon]):not([tuiIconButton][data-appearance=link]):before,[tuiIconButton][data-size=s]:not([tuiIconButton][data-appearance=icon]):not([tuiIconButton][data-appearance=link]):before{font-size:1rem}[tuiButton][data-size=m],[tuiIconButton][data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-font-text-m);font-weight:700}[tuiButton][data-size=m]:after,[tuiIconButton][data-size=m]:after{margin-inline-end:-.125rem}[tuiButton]._loading,[tuiIconButton]._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]._loading>*,[tuiIconButton]._loading>*,[tuiButton]._loading:before,[tuiIconButton]._loading:before,[tuiButton]._loading:after,[tuiIconButton]._loading:after{opacity:0}[tuiButton]._loading>.t-loader,[tuiIconButton]._loading>.t-loader{opacity:1}[tuiButton][tuiIcons]:after,[tuiIconButton][tuiIcons]:after{font-size:1rem}[tuiButton][tuiButtonVertical],[tuiIconButton][tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-font-text-ui-s)}[tuiButton][tuiButtonVertical]>*,[tuiIconButton][tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiIconButton]{gap:0;inline-size:var(--t-size);font-size:0!important;padding:0}[tuiIconButton][data-size=l]:after{margin:0}[tuiIconButton][tuiIconButton][style*=\"--t-icon-start:\"]:after{display:none}\n"] }]
22
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-button' }, styles: ["[tuiButton],[tuiIconButton]{--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-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;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-font-text-m);font-weight:700}[tuiButton]>img,[tuiIconButton]>img,[tuiButton]>tui-icon,[tuiIconButton]>tui-icon,[tuiButton]>[tuiAvatar],[tuiIconButton]>[tuiAvatar],[tuiButton]>tui-badge,[tuiIconButton]>tui-badge,[tuiButton]>[tuiBadge],[tuiIconButton]>[tuiBadge],[tuiButton]>[tuiRadio],[tuiIconButton]>[tuiRadio],[tuiButton]>[tuiSwitch],[tuiIconButton]>[tuiSwitch],[tuiButton]>[tuiCheckbox],[tuiIconButton]>[tuiCheckbox],[tuiButton][tuiIcons]:before,[tuiIconButton][tuiIcons]:before,[tuiButton][tuiIcons]:after,[tuiIconButton][tuiIcons]:after{margin:var(--t-margin)}[tuiButton]>.t-loader,[tuiIconButton]>.t-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[tuiButton]>.t-loader .t-text,[tuiIconButton]>.t-loader .t-text{position:absolute}[tuiButton][data-size=xs],[tuiIconButton][data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-font-text-s)}[tuiButton][data-size=xs] tui-icon,[tuiIconButton][data-size=xs] tui-icon,[tuiButton][data-size=xs]:before,[tuiIconButton][data-size=xs]:before{font-size:1rem}[tuiButton][data-size=s],[tuiIconButton][data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-font-text-s)}[tuiButton][data-size=s] tui-icon,[tuiIconButton][data-size=s] tui-icon,[tuiButton][data-size=s]:not([tuiIconButton][data-appearance=icon]):not([tuiIconButton][data-appearance=link]):before,[tuiIconButton][data-size=s]:not([tuiIconButton][data-appearance=icon]):not([tuiIconButton][data-appearance=link]):before{font-size:1rem}[tuiButton][data-size=m],[tuiIconButton][data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-font-text-m);font-weight:700}[tuiButton][data-size=m]:after,[tuiIconButton][data-size=m]:after{margin-inline-end:-.125rem}[tuiButton]._loading,[tuiIconButton]._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]._loading>*,[tuiIconButton]._loading>*,[tuiButton]._loading:before,[tuiIconButton]._loading:before,[tuiButton]._loading:after,[tuiIconButton]._loading:after{opacity:0}[tuiButton]._loading>.t-loader,[tuiIconButton]._loading>.t-loader{opacity:1}[tuiButton][tuiIcons]:after,[tuiIconButton][tuiIcons]:after{font-size:1rem}[tuiButton][tuiButtonVertical],[tuiIconButton][tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-font-text-ui-s)}[tuiButton][tuiButtonVertical]>*,[tuiIconButton][tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiIconButton]{gap:0;inline-size:var(--t-size);font-size:0!important;padding:0}[tuiIconButton][data-size=l]:after{margin:0}[tuiIconButton][tuiIconButton][style*=\"--t-icon-start:\"]:after{display:none}\n"] }]
25
23
  }] });
26
24
  class TuiButton {
27
25
  constructor() {
28
- this.nothing = tuiWithStyles(TuiButtonStyles);
29
- this.size = inject(TUI_BUTTON_OPTIONS).size;
26
+ this.nothing = tuiWithStyles(Styles);
27
+ this.size = input(inject(TUI_BUTTON_OPTIONS).size);
30
28
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiButton, isStandalone: true, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: { size: "size" }, host: { properties: { "attr.data-size": "size" } }, providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)], hostDirectives: [{ directive: i1.TuiWithAppearance }, { directive: i2.TuiWithIcons }], ngImport: i0 }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.16", type: TuiButton, isStandalone: true, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()" } }, providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)], hostDirectives: [{ directive: i1.TuiWithAppearance }, { directive: i2.TuiWithIcons }], ngImport: i0 }); }
33
31
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiButton, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiButton, decorators: [{
35
33
  type: Directive,
36
34
  args: [{
37
- standalone: true,
38
35
  selector: 'a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]',
39
36
  providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)],
40
37
  hostDirectives: [TuiWithAppearance, TuiWithIcons],
41
- host: {
42
- '[attr.data-size]': 'size',
43
- },
38
+ host: { '[attr.data-size]': 'size()' },
44
39
  }]
45
- }], propDecorators: { size: [{
46
- type: Input
47
- }] } });
40
+ }] });
48
41
 
49
42
  /**
50
43
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-button.mjs","sources":["../../../projects/core/components/button/button.options.ts","../../../projects/core/components/button/button.directive.ts","../../../projects/core/components/button/taiga-ui-core-components-button.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiSizeXL, type TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiButtonOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeXL | TuiSizeXS;\n}\n\nexport const TUI_BUTTON_DEFAULT_OPTIONS: TuiButtonOptions = {\n appearance: 'primary',\n size: 'l',\n};\n\nexport const [TUI_BUTTON_OPTIONS, tuiButtonOptionsProvider] = tuiCreateOptions(\n TUI_BUTTON_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_BUTTON_OPTIONS} from './button.options';\n\n@Component({\n standalone: true,\n template: '',\n styles: ['@import \"@taiga-ui/core/styles/components/button.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-button',\n },\n})\nclass TuiButtonStyles {}\n\n@Directive({\n standalone: true,\n selector: 'a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]',\n providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiButton {\n protected readonly nothing = tuiWithStyles(TuiButtonStyles);\n\n @Input()\n public size = inject(TUI_BUTTON_OPTIONS).size;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAQa,MAAA,0BAA0B,GAAqB;AACxD,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,IAAI,EAAE,GAAG;;AAGN,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAAG,gBAAgB,CAC1E,0BAA0B;;ACG9B,MAUM,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,gHARP,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+lHAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAQV,eAAe,EAAA,UAAA,EAAA,CAAA;kBAVpB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,YAAY;AACtB,qBAAA,EAAA,MAAA,EAAA,CAAA,+lHAAA,CAAA,EAAA;;MAaQ,SAAS,CAAA;AATtB,IAAA,WAAA,GAAA;AAUuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,eAAe,CAAC;AAGpD,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI;AAChD;+GALY,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,kMANP,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAMpD,SAAS,EAAA,UAAA,EAAA,CAAA;kBATrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,uEAAuE;AACjF,oBAAA,SAAS,EAAE,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC;AAC7D,oBAAA,cAAc,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;AACjD,oBAAA,IAAI,EAAE;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC7B,qBAAA;AACJ,iBAAA;8BAKU,IAAI,EAAA,CAAA;sBADV;;;ACzCL;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-button.mjs","sources":["../../../projects/core/components/button/button.options.ts","../../../projects/core/components/button/button.directive.ts","../../../projects/core/components/button/taiga-ui-core-components-button.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiSizeXL, type TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiButtonOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeXL | TuiSizeXS;\n}\n\nexport const TUI_BUTTON_DEFAULT_OPTIONS: TuiButtonOptions = {\n appearance: 'primary',\n size: 'l',\n};\n\nexport const [TUI_BUTTON_OPTIONS, tuiButtonOptionsProvider] = tuiCreateOptions(\n TUI_BUTTON_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_BUTTON_OPTIONS} from './button.options';\n\n@Component({\n template: '',\n styles: '@import \"@taiga-ui/core/styles/components/button.less\";',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-button'},\n})\nclass Styles {}\n\n@Directive({\n selector: 'a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]',\n providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiButton {\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly size = input(inject(TUI_BUTTON_OPTIONS).size);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAQa,MAAA,0BAA0B,GAAqB;AACxD,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,IAAI,EAAE,GAAG;;AAGN,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAAG,gBAAgB,CAC1E,0BAA0B;;ACG9B,MAOM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,gHANE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+lHAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAMV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAPX,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAE,EAEG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA,EAAC,KAAK,EAAE,YAAY,EAAC,EAAA,MAAA,EAAA,CAAA,+lHAAA,CAAA,EAAA;;MAUlB,SAAS,CAAA;AANtB,IAAA,WAAA,GAAA;AAOuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;QAElC,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC;AAChE;+GAJY,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,2SAJP,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAIpD,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uEAAuE;AACjF,oBAAA,SAAS,EAAE,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC;AAC7D,oBAAA,cAAc,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;AACjD,oBAAA,IAAI,EAAE,EAAC,kBAAkB,EAAE,QAAQ,EAAC;AACvC,iBAAA;;;AC/BD;;AAEG;;;;"}
@@ -1,38 +1,143 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, EventEmitter, Output, Input, ChangeDetectionStrategy, Component, signal, computed, ChangeDetectorRef } from '@angular/core';
3
- import { TuiDay, TuiMonth, TuiDayRange, TUI_FIRST_DAY, TUI_LAST_DAY, MIN_YEAR, MAX_YEAR, TuiYear, TuiMonthRange, TUI_LAST_DISPLAYED_DAY } from '@taiga-ui/cdk/date-time';
2
+ import { signal, inject, Pipe, EventEmitter, Output, Input, ChangeDetectionStrategy, Component, computed, ChangeDetectorRef } from '@angular/core';
3
+ import { TuiDayOfWeek, DAYS_IN_WEEK, TuiDay, TuiMonth, TuiDayRange, TUI_FIRST_DAY, TUI_LAST_DAY, MIN_YEAR, MAX_YEAR, TuiYear, TuiMonthRange, TUI_LAST_DISPLAYED_DAY } from '@taiga-ui/cdk/date-time';
4
4
  import { TuiMapperPipe } from '@taiga-ui/cdk/pipes/mapper';
5
- import { tuiProvideOptions, tuiNullableSame, tuiPure, tuiIsNumber } from '@taiga-ui/cdk/utils/miscellaneous';
5
+ import { tuiNullableSame, tuiPure, tuiIsNumber } from '@taiga-ui/cdk/utils/miscellaneous';
6
6
  import { TuiScrollIntoView, TuiScrollbar } from '@taiga-ui/core/components/scrollbar';
7
- import { TUI_ITEMS_HANDLERS } from '@taiga-ui/core/directives';
8
- import { TUI_SHORT_WEEK_DAYS, TUI_DAY_TYPE_HANDLER, tuiAsAuxiliary } from '@taiga-ui/core/tokens';
9
- import { Subject } from 'rxjs';
7
+ import { TUI_ITEMS_HANDLERS } from '@taiga-ui/core/directives/items-handlers';
8
+ import { TUI_SHORT_WEEK_DAYS, TUI_MONTHS, tuiAsAuxiliary } from '@taiga-ui/core/tokens';
9
+ import { map, Subject } from 'rxjs';
10
10
  import { __decorate } from 'tslib';
11
11
  import { AsyncPipe } from '@angular/common';
12
+ import { toObservable } from '@angular/core/rxjs-interop';
12
13
  import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
13
14
  import { TuiHovered } from '@taiga-ui/cdk/directives/hovered';
14
- import { TuiLet } from '@taiga-ui/cdk/directives/let';
15
- import { TuiRepeatTimes } from '@taiga-ui/cdk/directives/repeat-times';
16
- import { TuiCalendarSheetPipe, TuiOrderWeekDaysPipe, TuiMonthPipe } from '@taiga-ui/core/pipes';
15
+ import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
16
+ import { tuiInRange } from '@taiga-ui/cdk/utils/math';
17
17
  import { TuiLink } from '@taiga-ui/core/components/link';
18
18
  import { TuiSpinButton } from '@taiga-ui/core/components/spin-button';
19
19
 
20
+ const TUI_CALENDAR_DEFAULT_OPTIONS = {
21
+ dayType: (day) => (day.isWeekend ? 'weekend' : 'weekday'),
22
+ weekStart: signal(TuiDayOfWeek.Monday),
23
+ };
24
+ const [TUI_CALENDAR_OPTIONS, tuiCalendarOptionsProvider] = tuiCreateOptions(TUI_CALENDAR_DEFAULT_OPTIONS);
25
+
20
26
  const TUI_CALENDAR_SHEET_DEFAULT_OPTIONS = {
21
27
  rangeMode: false,
22
28
  };
23
- const TUI_CALENDAR_SHEET_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_CALENDAR_SHEET_OPTIONS' : '', {
24
- factory: () => TUI_CALENDAR_SHEET_DEFAULT_OPTIONS,
25
- });
26
- function tuiCalendarSheetOptionsProvider(options) {
27
- return tuiProvideOptions(TUI_CALENDAR_SHEET_OPTIONS, options, TUI_CALENDAR_SHEET_DEFAULT_OPTIONS);
29
+ const [TUI_CALENDAR_SHEET_OPTIONS, tuiCalendarSheetOptionsProvider] = tuiCreateOptions(TUI_CALENDAR_SHEET_DEFAULT_OPTIONS);
30
+
31
+ /// <reference types="@taiga-ui/tsconfig/ng-dev-mode" />
32
+ const CALENDAR_ROWS_COUNT = 6;
33
+ class TuiCalendarSheetPipe {
34
+ constructor() {
35
+ this.options = inject(TUI_CALENDAR_OPTIONS);
36
+ this.currentMonth = null;
37
+ this.currentSheet = [];
38
+ }
39
+ transform(month, showAdjacentDays = false) {
40
+ if (this.currentMonth?.monthSame(month)) {
41
+ return this.currentSheet;
42
+ }
43
+ const sheet = [];
44
+ for (let rowIndex = 0; rowIndex < CALENDAR_ROWS_COUNT; rowIndex++) {
45
+ const row = [];
46
+ for (let colIndex = 0; colIndex < DAYS_IN_WEEK; colIndex++) {
47
+ const day = getDayFromMonthRowCol({
48
+ month,
49
+ rowIndex,
50
+ colIndex,
51
+ firstDayOfWeek: this.options.weekStart(),
52
+ });
53
+ const isPrevMonthDay = (day, relativeToMonth = month) => day.year < relativeToMonth.year || day.month < relativeToMonth.month;
54
+ const isNextMonthDay = (day, relativeToMonth = month) => day.year > relativeToMonth.year || day.month > relativeToMonth.month;
55
+ if (isPrevMonthDay(day) && !showAdjacentDays) {
56
+ continue;
57
+ }
58
+ if (isNextMonthDay(day) && !showAdjacentDays) {
59
+ break;
60
+ }
61
+ row.push(day);
62
+ }
63
+ sheet.push(row);
64
+ }
65
+ this.currentSheet = sheet.filter((row) => row.length);
66
+ this.currentMonth = month;
67
+ return this.currentSheet;
68
+ }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiCalendarSheetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
70
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: TuiCalendarSheetPipe, isStandalone: true, name: "tuiCalendarSheet" }); }
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiCalendarSheetPipe, decorators: [{
73
+ type: Pipe,
74
+ args: [{
75
+ name: 'tuiCalendarSheet',
76
+ }]
77
+ }] });
78
+ /**
79
+ * Computes day of week offset of the beginning of the month
80
+ */
81
+ function getMonthStartDaysOffset(month, firstDayOfWeek) {
82
+ const startMonthOffsetFromSunday = new Date(month.year, month.month, 1).getDay();
83
+ return startMonthOffsetFromSunday >= firstDayOfWeek
84
+ ? startMonthOffsetFromSunday - firstDayOfWeek
85
+ : DAYS_IN_WEEK - (firstDayOfWeek - startMonthOffsetFromSunday);
86
+ }
87
+ /**
88
+ * Calculated day on a calendar grid
89
+ * @return resulting day on these coordinates (could exceed passed month)
90
+ */
91
+ function getDayFromMonthRowCol({ month, rowIndex, colIndex, firstDayOfWeek, }) {
92
+ ngDevMode && console.assert(Number.isInteger(rowIndex));
93
+ ngDevMode && console.assert(tuiInRange(rowIndex, 0, 6));
94
+ ngDevMode && console.assert(Number.isInteger(colIndex));
95
+ ngDevMode && console.assert(tuiInRange(colIndex, 0, DAYS_IN_WEEK));
96
+ let day = rowIndex * DAYS_IN_WEEK +
97
+ colIndex -
98
+ getMonthStartDaysOffset(month, firstDayOfWeek) +
99
+ 1;
100
+ if (day > month.daysCount) {
101
+ day -= month.daysCount;
102
+ month = month.append({ month: 1 });
103
+ }
104
+ if (day <= 0) {
105
+ month = month.append({ month: -1 });
106
+ day = month.daysCount + day;
107
+ }
108
+ return new TuiDay(month.year, month.month, day);
109
+ }
110
+
111
+ function convertToSundayFirstWeekFormat(weekDaysNames) {
112
+ const sundayIndex = weekDaysNames.length - 1;
113
+ return [weekDaysNames[sundayIndex] || '', ...weekDaysNames.slice(0, sundayIndex)];
114
+ }
115
+ class TuiOrderWeekDaysPipe {
116
+ constructor() {
117
+ this.options = inject(TUI_CALENDAR_OPTIONS);
118
+ }
119
+ transform(mondayFirstWeekDays$) {
120
+ return mondayFirstWeekDays$.pipe(map(convertToSundayFirstWeekFormat), map((weekDays) => [
121
+ ...weekDays.slice(this.options.weekStart()),
122
+ ...weekDays.slice(0, this.options.weekStart()),
123
+ ]));
124
+ }
125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiOrderWeekDaysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
126
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: TuiOrderWeekDaysPipe, isStandalone: true, name: "tuiOrderWeekDays" }); }
28
127
  }
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiOrderWeekDaysPipe, decorators: [{
129
+ type: Pipe,
130
+ args: [{
131
+ name: 'tuiOrderWeekDays',
132
+ }]
133
+ }] });
29
134
 
30
135
  class TuiCalendarSheet {
31
136
  constructor() {
32
137
  this.options = inject(TUI_CALENDAR_SHEET_OPTIONS);
33
138
  this.today = TuiDay.currentLocal();
34
- this.unorderedWeekDays$ = inject(TUI_SHORT_WEEK_DAYS);
35
- this.dayTypeHandler = inject(TUI_DAY_TYPE_HANDLER);
139
+ this.unorderedWeekDays$ = toObservable(inject(TUI_SHORT_WEEK_DAYS));
140
+ this.dayType = inject(TUI_CALENDAR_OPTIONS).dayType;
36
141
  this.month = TuiMonth.currentLocal();
37
142
  this.disabledItemHandler = TUI_FALSE_HANDLER;
38
143
  this.markerHandler = null;
@@ -139,25 +244,23 @@ class TuiCalendarSheet {
139
244
  this.hoveredItem = day;
140
245
  this.hoveredItemChange.emit(day);
141
246
  }
142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCalendarSheet, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
143
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiCalendarSheet, isStandalone: true, selector: "tui-calendar-sheet", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", value: "value", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent", single: "single" }, outputs: { hoveredItemChange: "hoveredItemChange", dayClick: "dayClick" }, host: { properties: { "class._picking": "isRangePicking" } }, ngImport: i0, template: "<div class=\"t-row t-row_weekday\">\n @for (day of unorderedWeekDays$ | tuiOrderWeekDays | async; track day) {\n <div\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n }\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex]?.length || 0\">\n <ng-container *tuiLet=\"sheet[rowIndex]?.[colIndex] as item\">\n @if (item && (!itemIsUnavailable(item) || showAdjacent)) {\n <div\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n {{ item.day }}\n @if (\n item | tuiMapper: toMarkers : itemIsToday(item) : getItemRange(item) : markerHandler;\n as markers\n ) {\n <div class=\"t-dots\">\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n @if (markers.length > 1) {\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n }\n </div>\n }\n </div>\n }\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}.t-cell{inline-size:calc(100% / 7)}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-cell_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{position:absolute;bottom:0;display:flex;justify-content:center;margin-block-start:-.5rem;padding-block-end:.25rem}.t-dot{display:inline-block;inline-size:.25rem;block-size:.25rem;border-radius:100%;margin:0 .0625rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TuiCalendarSheetPipe, name: "tuiCalendarSheet" }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "pipe", type: TuiOrderWeekDaysPipe, name: "tuiOrderWeekDays" }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
247
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiCalendarSheet, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
248
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.16", type: TuiCalendarSheet, isStandalone: true, selector: "tui-calendar-sheet", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", value: "value", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent", single: "single" }, outputs: { hoveredItemChange: "hoveredItemChange", dayClick: "dayClick" }, host: { properties: { "class._picking": "isRangePicking" } }, ngImport: i0, template: "<div class=\"t-row t-row_weekday\">\n @for (day of unorderedWeekDays$ | tuiOrderWeekDays | async; track day) {\n <div\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n }\n</div>\n@let sheet = month | tuiCalendarSheet: true;\n<div>\n @for (_ of '-'.repeat(sheet.length); track $index) {\n @let rowIndex = $index;\n <div\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n @for (_ of '-'.repeat(sheet[rowIndex]?.length ?? 0); track $index) {\n @let item = sheet[rowIndex]?.[$index];\n @if (item && (!itemIsUnavailable(item) || showAdjacent)) {\n <div\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-type]=\"item | tuiMapper: dayType\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n {{ item.day }}\n @if (\n item | tuiMapper: toMarkers : itemIsToday(item) : getItemRange(item) : markerHandler;\n as markers\n ) {\n <div class=\"t-dots\">\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n @if (markers.length > 1) {\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n }\n </div>\n }\n </div>\n }\n }\n </div>\n }\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;inset:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}.t-cell{inline-size:calc(100% / 7)}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-cell_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{position:absolute;bottom:0;display:flex;justify-content:center;margin-block-start:-.5rem;padding-block-end:.25rem}.t-dot{display:inline-block;inline-size:.25rem;block-size:.25rem;border-radius:100%;margin:0 .0625rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TuiCalendarSheetPipe, name: "tuiCalendarSheet" }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "pipe", type: TuiOrderWeekDaysPipe, name: "tuiOrderWeekDays" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
144
249
  }
145
250
  __decorate([
146
251
  tuiPure
147
252
  ], TuiCalendarSheet.prototype, "getRange", null);
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCalendarSheet, decorators: [{
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiCalendarSheet, decorators: [{
149
254
  type: Component,
150
255
  args: [{ selector: 'tui-calendar-sheet', imports: [
151
256
  AsyncPipe,
152
257
  TuiCalendarSheetPipe,
153
258
  TuiHovered,
154
- TuiLet,
155
259
  TuiMapperPipe,
156
260
  TuiOrderWeekDaysPipe,
157
- TuiRepeatTimes,
158
261
  ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
159
262
  '[class._picking]': 'isRangePicking',
160
- }, template: "<div class=\"t-row t-row_weekday\">\n @for (day of unorderedWeekDays$ | tuiOrderWeekDays | async; track day) {\n <div\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n }\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex]?.length || 0\">\n <ng-container *tuiLet=\"sheet[rowIndex]?.[colIndex] as item\">\n @if (item && (!itemIsUnavailable(item) || showAdjacent)) {\n <div\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n {{ item.day }}\n @if (\n item | tuiMapper: toMarkers : itemIsToday(item) : getItemRange(item) : markerHandler;\n as markers\n ) {\n <div class=\"t-dots\">\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n @if (markers.length > 1) {\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n }\n </div>\n }\n </div>\n }\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}.t-cell{inline-size:calc(100% / 7)}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-cell_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{position:absolute;bottom:0;display:flex;justify-content:center;margin-block-start:-.5rem;padding-block-end:.25rem}.t-dot{display:inline-block;inline-size:.25rem;block-size:.25rem;border-radius:100%;margin:0 .0625rem}\n"] }]
263
+ }, template: "<div class=\"t-row t-row_weekday\">\n @for (day of unorderedWeekDays$ | tuiOrderWeekDays | async; track day) {\n <div\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n }\n</div>\n@let sheet = month | tuiCalendarSheet: true;\n<div>\n @for (_ of '-'.repeat(sheet.length); track $index) {\n @let rowIndex = $index;\n <div\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n @for (_ of '-'.repeat(sheet[rowIndex]?.length ?? 0); track $index) {\n @let item = sheet[rowIndex]?.[$index];\n @if (item && (!itemIsUnavailable(item) || showAdjacent)) {\n <div\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-type]=\"item | tuiMapper: dayType\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n {{ item.day }}\n @if (\n item | tuiMapper: toMarkers : itemIsToday(item) : getItemRange(item) : markerHandler;\n as markers\n ) {\n <div class=\"t-dots\">\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n @if (markers.length > 1) {\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n }\n </div>\n }\n </div>\n }\n }\n </div>\n }\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;inset:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}.t-cell{inline-size:calc(100% / 7)}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-cell_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{position:absolute;bottom:0;display:flex;justify-content:center;margin-block-start:-.5rem;padding-block-end:.25rem}.t-dot{display:inline-block;inline-size:.25rem;block-size:.25rem;border-radius:100%;margin:0 .0625rem}\n"] }]
161
264
  }], propDecorators: { month: [{
162
265
  type: Input
163
266
  }], disabledItemHandler: [{
@@ -180,6 +283,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
180
283
 
181
284
  class TuiCalendarSpin {
182
285
  constructor() {
286
+ this.months = inject(TUI_MONTHS);
183
287
  this.value = TuiMonth.currentLocal();
184
288
  this.min = TUI_FIRST_DAY;
185
289
  this.max = TUI_LAST_DAY;
@@ -205,12 +309,12 @@ class TuiCalendarSpin {
205
309
  this.value = value;
206
310
  this.valueChange.emit(value);
207
311
  }
208
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCalendarSpin, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
209
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiCalendarSpin, isStandalone: true, selector: "tui-calendar-spin", inputs: { value: "value", min: "min", max: "max" }, outputs: { valueChange: "valueChange", yearClick: "yearClick" }, ngImport: i0, template: "<tui-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"value.monthSameOrBefore(min)\"\n [rightDisabled]=\"value.monthSameOrAfter(max)\"\n (leftClick)=\"append({month: -1})\"\n (rightClick)=\"append({month: 1})\"\n>\n {{ value | tuiMonth | async }}\n @if (min.year === max.year) {\n {{ value.formattedYear }}\n } @else {\n <button\n id=\"year-btn\"\n automation-id=\"tui-primitive-year-month-pagination__year-button\"\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ value.formattedYear }}\n </button>\n }\n</tui-spin-button>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "pipe", type: TuiMonthPipe, name: "tuiMonth" }, { kind: "component", type: TuiSpinButton, selector: "tui-spin-button", inputs: ["focusable", "disabled", "leftDisabled", "rightDisabled"], outputs: ["leftClick", "rightClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
312
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiCalendarSpin, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
313
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.16", type: TuiCalendarSpin, isStandalone: true, selector: "tui-calendar-spin", inputs: { value: "value", min: "min", max: "max" }, outputs: { valueChange: "valueChange", yearClick: "yearClick" }, ngImport: i0, template: "<tui-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"value.monthSameOrBefore(min)\"\n [rightDisabled]=\"value.monthSameOrAfter(max)\"\n (leftClick)=\"append({month: -1})\"\n (rightClick)=\"append({month: 1})\"\n>\n {{ months()[value.month] }}\n @if (min.year === max.year) {\n {{ value.formattedYear }}\n } @else {\n <button\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ value.formattedYear }}\n </button>\n }\n</tui-spin-button>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]" }, { kind: "component", type: TuiSpinButton, selector: "tui-spin-button", inputs: ["focusable", "disabled", "leftDisabled", "rightDisabled"], outputs: ["leftClick", "rightClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
210
314
  }
211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCalendarSpin, decorators: [{
315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiCalendarSpin, decorators: [{
212
316
  type: Component,
213
- args: [{ selector: 'tui-calendar-spin', imports: [AsyncPipe, TuiLink, TuiMonthPipe, TuiSpinButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<tui-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"value.monthSameOrBefore(min)\"\n [rightDisabled]=\"value.monthSameOrAfter(max)\"\n (leftClick)=\"append({month: -1})\"\n (rightClick)=\"append({month: 1})\"\n>\n {{ value | tuiMonth | async }}\n @if (min.year === max.year) {\n {{ value.formattedYear }}\n } @else {\n <button\n id=\"year-btn\"\n automation-id=\"tui-primitive-year-month-pagination__year-button\"\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ value.formattedYear }}\n </button>\n }\n</tui-spin-button>\n", styles: [":host{display:block}\n"] }]
317
+ args: [{ selector: 'tui-calendar-spin', imports: [TuiLink, TuiSpinButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<tui-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"value.monthSameOrBefore(min)\"\n [rightDisabled]=\"value.monthSameOrAfter(max)\"\n (leftClick)=\"append({month: -1})\"\n (rightClick)=\"append({month: 1})\"\n>\n {{ months()[value.month] }}\n @if (min.year === max.year) {\n {{ value.formattedYear }}\n } @else {\n <button\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ value.formattedYear }}\n </button>\n }\n</tui-spin-button>\n", styles: [":host{display:block}\n"] }]
214
318
  }], propDecorators: { value: [{
215
319
  type: Input
216
320
  }], min: [{
@@ -312,14 +416,14 @@ class TuiCalendarYear {
312
416
  const max = this.max() ?? MAX_YEAR;
313
417
  return max < initial ? max + 1 : initial;
314
418
  }
315
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCalendarYear, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
316
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.15", type: TuiCalendarYear, isStandalone: true, selector: "tui-calendar-year", inputs: { rangeMode: "rangeMode", disabledItemHandler: "disabledItemHandler", initialItemSetter: ["initialItem", "initialItemSetter", (x) => x ?? CURRENT_YEAR], minSetter: ["min", "minSetter", (x) => x ?? MIN_YEAR], maxSetter: ["max", "maxSetter", (x) => x ?? MAX_YEAR], valueSetter: ["value", "valueSetter"] }, outputs: { yearClick: "yearClick" }, host: { properties: { "class._picking": "isRangePicking()" } }, providers: [tuiAsAuxiliary(TuiCalendarYear)], ngImport: i0, template: "<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-calendar-year__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-calendar-year__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"isDisabled(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"yearClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ item }}\n </div>\n </ng-container>\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;padding-inline-end:1rem;inline-size:15.75rem;padding:0 1.125rem}.t-cell{flex:1;border-block-start-width:.5rem;border-block-end-width:.5rem}\n"], dependencies: [{ kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { kind: "directive", type: TuiScrollIntoView, selector: "[tuiScrollIntoView]", inputs: ["tuiScrollIntoView"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
419
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiCalendarYear, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
420
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.16", type: TuiCalendarYear, isStandalone: true, selector: "tui-calendar-year", inputs: { rangeMode: "rangeMode", disabledItemHandler: "disabledItemHandler", initialItemSetter: ["initialItem", "initialItemSetter", (x) => x ?? CURRENT_YEAR], minSetter: ["min", "minSetter", (x) => x ?? MIN_YEAR], maxSetter: ["max", "maxSetter", (x) => x ?? MAX_YEAR], valueSetter: ["value", "valueSetter"] }, outputs: { yearClick: "yearClick" }, host: { properties: { "class._picking": "isRangePicking()" } }, providers: [tuiAsAuxiliary(TuiCalendarYear)], ngImport: i0, template: "@for (_ of '-'.repeat(rows); track $index) {\n @let rowIndex = $index;\n <div\n automation-id=\"tui-calendar-year__row\"\n class=\"t-row\"\n >\n @for (_ of '-'.repeat(4); track $index) {\n @let item = getItem(rowIndex, $index);\n <div\n automation-id=\"tui-calendar-year__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"isDisabled(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"yearClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ item }}\n </div>\n }\n </div>\n}\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;inset:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;padding-inline-end:1rem;inline-size:15.75rem;padding:0 1.125rem}.t-cell{flex:1;border-block-start-width:.5rem;border-block-end-width:.5rem}\n"], dependencies: [{ kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiScrollIntoView, selector: "[tuiScrollIntoView]", inputs: ["tuiScrollIntoView"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
317
421
  }
318
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCalendarYear, decorators: [{
422
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiCalendarYear, decorators: [{
319
423
  type: Component,
320
- args: [{ selector: 'tui-calendar-year', imports: [TuiHovered, TuiLet, TuiRepeatTimes, TuiScrollIntoView], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsAuxiliary(TuiCalendarYear)], host: {
424
+ args: [{ selector: 'tui-calendar-year', imports: [TuiHovered, TuiScrollIntoView], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsAuxiliary(TuiCalendarYear)], host: {
321
425
  '[class._picking]': 'isRangePicking()',
322
- }, template: "<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-calendar-year__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-calendar-year__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"isDisabled(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"yearClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ item }}\n </div>\n </ng-container>\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;padding-inline-end:1rem;inline-size:15.75rem;padding:0 1.125rem}.t-cell{flex:1;border-block-start-width:.5rem;border-block-end-width:.5rem}\n"] }]
426
+ }, template: "@for (_ of '-'.repeat(rows); track $index) {\n @let rowIndex = $index;\n <div\n automation-id=\"tui-calendar-year__row\"\n class=\"t-row\"\n >\n @for (_ of '-'.repeat(4); track $index) {\n @let item = getItem(rowIndex, $index);\n <div\n automation-id=\"tui-calendar-year__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"isDisabled(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"yearClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ item }}\n </div>\n }\n </div>\n}\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;inset:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;padding-inline-end:1rem;inline-size:15.75rem;padding:0 1.125rem}.t-cell{flex:1;border-block-start-width:.5rem;border-block-end-width:.5rem}\n"] }]
323
427
  }], propDecorators: { rangeMode: [{
324
428
  type: Input
325
429
  }], disabledItemHandler: [{
@@ -427,10 +531,10 @@ class TuiCalendar {
427
531
  this.hoveredItem = day;
428
532
  this.hoveredItemChange.emit(day);
429
533
  }
430
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCalendar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
431
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiCalendar, isStandalone: true, selector: "tui-calendar", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", min: "min", max: "max", minViewedMonth: "minViewedMonth", maxViewedMonth: "maxViewedMonth", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent", markerHandler: "markerHandler", value: "value", initialView: "initialView" }, outputs: { dayClick: "dayClick", monthChange: "monthChange", hoveredItemChange: "hoveredItemChange" }, host: { listeners: { "pointerdown.prevent.zoneless": "0" } }, providers: [tuiAsAuxiliary(TuiCalendar)], ngImport: i0, template: "@if (isInYearView) {\n <tui-scrollbar\n automation-id=\"tui-calendar__scrollbar\"\n class=\"t-scrollbar\"\n >\n <tui-calendar-year\n automation-id=\"tui-calendar__year\"\n [initialItem]=\"month.year\"\n [max]=\"computedMax.year\"\n [min]=\"computedMin.year\"\n [rangeMode]=\"options.rangeMode\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n </tui-scrollbar>\n} @else {\n <tui-calendar-spin\n automation-id=\"tui-calendar__pagination\"\n class=\"t-pagination\"\n [max]=\"computedMaxViewedMonth\"\n [min]=\"computedMinViewedMonth\"\n [value]=\"month\"\n (valueChange)=\"onPaginationValueChange($event)\"\n (yearClick)=\"onPaginationYearClick()\"\n />\n <tui-calendar-sheet\n automation-id=\"tui-calendar__calendar\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerMapper : computedMin : computedMax\"\n [hoveredItem]=\"hoveredItem\"\n [markerHandler]=\"markerHandler\"\n [month]=\"month\"\n [showAdjacent]=\"showAdjacent\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (hoveredItemChange)=\"onHoveredItemChange($event)\"\n />\n}\n", styles: [":host{display:block;min-block-size:20.25rem;inline-size:18rem;padding:1rem 1.125rem;box-sizing:border-box;flex-shrink:0}:host-context(tui-dropdown-mobile){inline-size:100%}tui-calendar-year{padding:0}.t-scrollbar{block-size:18.25rem;inline-size:calc(100% + 1rem)}.t-pagination{margin-block-end:1rem}\n"], dependencies: [{ kind: "component", type: TuiCalendarSheet, selector: "tui-calendar-sheet", inputs: ["month", "disabledItemHandler", "markerHandler", "value", "hoveredItem", "showAdjacent", "single"], outputs: ["hoveredItemChange", "dayClick"] }, { kind: "component", type: TuiCalendarSpin, selector: "tui-calendar-spin", inputs: ["value", "min", "max"], outputs: ["valueChange", "yearClick"] }, { kind: "component", type: TuiCalendarYear, selector: "tui-calendar-year", inputs: ["rangeMode", "disabledItemHandler", "initialItem", "min", "max", "value"], outputs: ["yearClick"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
534
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiCalendar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
535
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.16", type: TuiCalendar, isStandalone: true, selector: "tui-calendar", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", min: "min", max: "max", minViewedMonth: "minViewedMonth", maxViewedMonth: "maxViewedMonth", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent", markerHandler: "markerHandler", value: "value", initialView: "initialView" }, outputs: { dayClick: "dayClick", monthChange: "monthChange", hoveredItemChange: "hoveredItemChange" }, host: { listeners: { "pointerdown.prevent.zoneless": "0" } }, providers: [tuiAsAuxiliary(TuiCalendar)], ngImport: i0, template: "@if (isInYearView) {\n <tui-scrollbar\n automation-id=\"tui-calendar__scrollbar\"\n class=\"t-scrollbar\"\n >\n <tui-calendar-year\n automation-id=\"tui-calendar__year\"\n [initialItem]=\"month.year\"\n [max]=\"computedMax.year\"\n [min]=\"computedMin.year\"\n [rangeMode]=\"options.rangeMode\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n </tui-scrollbar>\n} @else {\n <tui-calendar-spin\n automation-id=\"tui-calendar__pagination\"\n class=\"t-pagination\"\n [max]=\"computedMaxViewedMonth\"\n [min]=\"computedMinViewedMonth\"\n [value]=\"month\"\n (valueChange)=\"onPaginationValueChange($event)\"\n (yearClick)=\"onPaginationYearClick()\"\n />\n <tui-calendar-sheet\n automation-id=\"tui-calendar__calendar\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerMapper : computedMin : computedMax\"\n [hoveredItem]=\"hoveredItem\"\n [markerHandler]=\"markerHandler\"\n [month]=\"month\"\n [showAdjacent]=\"showAdjacent\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (hoveredItemChange)=\"onHoveredItemChange($event)\"\n />\n}\n", styles: [":host{display:block;min-block-size:20.25rem;inline-size:18rem;padding:1rem 1.125rem;box-sizing:border-box;flex-shrink:0}:host-context(tui-sheet-dialog){inline-size:100%}tui-calendar-year{padding:0}.t-scrollbar{block-size:18.25rem;inline-size:calc(100% + 1rem)}.t-pagination{margin-block-end:1rem}\n"], dependencies: [{ kind: "component", type: TuiCalendarSheet, selector: "tui-calendar-sheet", inputs: ["month", "disabledItemHandler", "markerHandler", "value", "hoveredItem", "showAdjacent", "single"], outputs: ["hoveredItemChange", "dayClick"] }, { kind: "component", type: TuiCalendarSpin, selector: "tui-calendar-spin", inputs: ["value", "min", "max"], outputs: ["valueChange", "yearClick"] }, { kind: "component", type: TuiCalendarYear, selector: "tui-calendar-year", inputs: ["rangeMode", "disabledItemHandler", "initialItem", "min", "max", "value"], outputs: ["yearClick"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
432
536
  }
433
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCalendar, decorators: [{
537
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiCalendar, decorators: [{
434
538
  type: Component,
435
539
  args: [{ selector: 'tui-calendar', imports: [
436
540
  TuiCalendarSheet,
@@ -440,7 +544,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
440
544
  TuiScrollbar,
441
545
  ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsAuxiliary(TuiCalendar)], host: {
442
546
  '(pointerdown.prevent.zoneless)': '0',
443
- }, template: "@if (isInYearView) {\n <tui-scrollbar\n automation-id=\"tui-calendar__scrollbar\"\n class=\"t-scrollbar\"\n >\n <tui-calendar-year\n automation-id=\"tui-calendar__year\"\n [initialItem]=\"month.year\"\n [max]=\"computedMax.year\"\n [min]=\"computedMin.year\"\n [rangeMode]=\"options.rangeMode\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n </tui-scrollbar>\n} @else {\n <tui-calendar-spin\n automation-id=\"tui-calendar__pagination\"\n class=\"t-pagination\"\n [max]=\"computedMaxViewedMonth\"\n [min]=\"computedMinViewedMonth\"\n [value]=\"month\"\n (valueChange)=\"onPaginationValueChange($event)\"\n (yearClick)=\"onPaginationYearClick()\"\n />\n <tui-calendar-sheet\n automation-id=\"tui-calendar__calendar\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerMapper : computedMin : computedMax\"\n [hoveredItem]=\"hoveredItem\"\n [markerHandler]=\"markerHandler\"\n [month]=\"month\"\n [showAdjacent]=\"showAdjacent\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (hoveredItemChange)=\"onHoveredItemChange($event)\"\n />\n}\n", styles: [":host{display:block;min-block-size:20.25rem;inline-size:18rem;padding:1rem 1.125rem;box-sizing:border-box;flex-shrink:0}:host-context(tui-dropdown-mobile){inline-size:100%}tui-calendar-year{padding:0}.t-scrollbar{block-size:18.25rem;inline-size:calc(100% + 1rem)}.t-pagination{margin-block-end:1rem}\n"] }]
547
+ }, template: "@if (isInYearView) {\n <tui-scrollbar\n automation-id=\"tui-calendar__scrollbar\"\n class=\"t-scrollbar\"\n >\n <tui-calendar-year\n automation-id=\"tui-calendar__year\"\n [initialItem]=\"month.year\"\n [max]=\"computedMax.year\"\n [min]=\"computedMin.year\"\n [rangeMode]=\"options.rangeMode\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n </tui-scrollbar>\n} @else {\n <tui-calendar-spin\n automation-id=\"tui-calendar__pagination\"\n class=\"t-pagination\"\n [max]=\"computedMaxViewedMonth\"\n [min]=\"computedMinViewedMonth\"\n [value]=\"month\"\n (valueChange)=\"onPaginationValueChange($event)\"\n (yearClick)=\"onPaginationYearClick()\"\n />\n <tui-calendar-sheet\n automation-id=\"tui-calendar__calendar\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerMapper : computedMin : computedMax\"\n [hoveredItem]=\"hoveredItem\"\n [markerHandler]=\"markerHandler\"\n [month]=\"month\"\n [showAdjacent]=\"showAdjacent\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (hoveredItemChange)=\"onHoveredItemChange($event)\"\n />\n}\n", styles: [":host{display:block;min-block-size:20.25rem;inline-size:18rem;padding:1rem 1.125rem;box-sizing:border-box;flex-shrink:0}:host-context(tui-sheet-dialog){inline-size:100%}tui-calendar-year{padding:0}.t-scrollbar{block-size:18.25rem;inline-size:calc(100% + 1rem)}.t-pagination{margin-block-end:1rem}\n"] }]
444
548
  }], propDecorators: { month: [{
445
549
  type: Input
446
550
  }], disabledItemHandler: [{
@@ -475,5 +579,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
475
579
  * Generated bundle index. Do not edit.
476
580
  */
477
581
 
478
- export { TUI_CALENDAR_SHEET_DEFAULT_OPTIONS, TUI_CALENDAR_SHEET_OPTIONS, TuiCalendar, TuiCalendarSheet, TuiCalendarSpin, TuiCalendarYear, tuiCalendarSheetOptionsProvider };
582
+ export { TUI_CALENDAR_DEFAULT_OPTIONS, TUI_CALENDAR_OPTIONS, TUI_CALENDAR_SHEET_DEFAULT_OPTIONS, TUI_CALENDAR_SHEET_OPTIONS, TuiCalendar, TuiCalendarSheet, TuiCalendarSheetPipe, TuiCalendarSpin, TuiCalendarYear, TuiOrderWeekDaysPipe, tuiCalendarOptionsProvider, tuiCalendarSheetOptionsProvider };
479
583
  //# sourceMappingURL=taiga-ui-core-components-calendar.mjs.map