@taiga-ui/core 2.23.0 → 2.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (699) hide show
  1. package/README.md +7 -3
  2. package/abstract/abstract-dropdown.d.ts +1 -1
  3. package/abstract/taiga-ui-core-abstract.metadata.json +1 -1
  4. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-abstract.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-core-components-button.umd.js +21 -7
  7. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-button.umd.min.js +1 -1
  9. package/bundles/taiga-ui-core-components-button.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-calendar.umd.js +1 -1
  11. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-calendar.umd.min.js +1 -1
  13. package/bundles/taiga-ui-core-components-calendar.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-data-list.umd.js +24 -23
  15. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  16. package/bundles/taiga-ui-core-components-data-list.umd.min.js +2 -2
  17. package/bundles/taiga-ui-core-components-data-list.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-core-components-dialog.umd.js +15 -39
  19. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  20. package/bundles/taiga-ui-core-components-dialog.umd.min.js +1 -1
  21. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-core-components-dropdown-box.umd.js +1 -1
  23. package/bundles/taiga-ui-core-components-dropdown-box.umd.js.map +1 -1
  24. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js +1 -1
  25. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-core-components-error.umd.js +1 -1
  27. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  28. package/bundles/taiga-ui-core-components-error.umd.min.js +1 -1
  29. package/bundles/taiga-ui-core-components-error.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-core-components-expand.umd.js +5 -5
  31. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  32. package/bundles/taiga-ui-core-components-expand.umd.min.js +1 -1
  33. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  35. package/bundles/taiga-ui-core-components-group.umd.min.js.map +1 -1
  36. package/bundles/taiga-ui-core-components-hints-host.umd.js +29 -22
  37. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  38. package/bundles/taiga-ui-core-components-hints-host.umd.min.js +2 -2
  39. package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
  40. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +10 -23
  41. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  42. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js +1 -1
  43. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  44. package/bundles/taiga-ui-core-components-label.umd.js +1 -1
  45. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  46. package/bundles/taiga-ui-core-components-label.umd.min.js +1 -1
  47. package/bundles/taiga-ui-core-components-label.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-core-components-link.umd.js +5 -4
  49. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  50. package/bundles/taiga-ui-core-components-link.umd.min.js +2 -2
  51. package/bundles/taiga-ui-core-components-link.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-core-components-loader.umd.js +2 -2
  53. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  54. package/bundles/taiga-ui-core-components-loader.umd.min.js +1 -1
  55. package/bundles/taiga-ui-core-components-loader.umd.min.js.map +1 -1
  56. package/bundles/taiga-ui-core-components-notification.umd.js +1 -1
  57. package/bundles/taiga-ui-core-components-notification.umd.min.js +1 -1
  58. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +3 -3
  59. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  60. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js +1 -1
  61. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  62. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +2 -15
  63. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  64. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js +1 -1
  65. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js.map +1 -1
  66. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +4 -4
  67. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
  68. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js +1 -1
  69. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +18 -15
  71. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  72. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +1 -1
  73. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  74. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +4 -4
  75. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  76. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js +1 -1
  77. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
  78. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  79. package/bundles/taiga-ui-core-components-root.umd.min.js.map +1 -1
  80. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +61 -61
  81. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  82. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js +2 -2
  83. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
  84. package/bundles/taiga-ui-core-components-scrollbar.umd.js +53 -43
  85. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  86. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js +2 -2
  87. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
  88. package/bundles/taiga-ui-core-components-svg.umd.js +1 -1
  89. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  90. package/bundles/taiga-ui-core-components-svg.umd.min.js +1 -1
  91. package/bundles/taiga-ui-core-components-svg.umd.min.js.map +1 -1
  92. package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
  93. package/bundles/taiga-ui-core-components-theme-night.umd.min.js.map +1 -1
  94. package/bundles/taiga-ui-core-components-tooltip.umd.js +2 -2
  95. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  96. package/bundles/taiga-ui-core-components-tooltip.umd.min.js +1 -1
  97. package/bundles/taiga-ui-core-components-tooltip.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-core-components-wrapper.umd.js.map +1 -1
  99. package/bundles/taiga-ui-core-components-wrapper.umd.min.js.map +1 -1
  100. package/bundles/taiga-ui-core-components.umd.js +8 -8
  101. package/bundles/taiga-ui-core-components.umd.min.js +1 -1
  102. package/bundles/taiga-ui-core-constants.umd.js +11 -3
  103. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  104. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  105. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  106. package/bundles/taiga-ui-core-directives-border.umd.js.map +1 -1
  107. package/bundles/taiga-ui-core-directives-border.umd.min.js.map +1 -1
  108. package/bundles/taiga-ui-core-directives-color.umd.js.map +1 -1
  109. package/bundles/taiga-ui-core-directives-color.umd.min.js.map +1 -1
  110. package/bundles/taiga-ui-core-directives-described-by.umd.js.map +1 -1
  111. package/bundles/taiga-ui-core-directives-described-by.umd.min.js.map +1 -1
  112. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.js.map +1 -1
  113. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.min.js.map +1 -1
  114. package/bundles/taiga-ui-core-directives-hint-controller.umd.js.map +1 -1
  115. package/bundles/taiga-ui-core-directives-hint-controller.umd.min.js.map +1 -1
  116. package/bundles/taiga-ui-core-directives-hint.umd.js +1 -1
  117. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  118. package/bundles/taiga-ui-core-directives-hint.umd.min.js +1 -1
  119. package/bundles/taiga-ui-core-directives-hint.umd.min.js.map +1 -1
  120. package/bundles/taiga-ui-core-directives-manual-hint.umd.js.map +1 -1
  121. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js.map +1 -1
  122. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js.map +1 -1
  123. package/bundles/taiga-ui-core-directives-mask-accessor.umd.min.js.map +1 -1
  124. package/bundles/taiga-ui-core-directives-mode.umd.js.map +1 -1
  125. package/bundles/taiga-ui-core-directives-mode.umd.min.js.map +1 -1
  126. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js +1 -1
  127. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js.map +1 -1
  128. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js +1 -1
  129. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js.map +1 -1
  130. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
  131. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.min.js.map +1 -1
  132. package/bundles/taiga-ui-core-directives-table-mode.umd.js.map +1 -1
  133. package/bundles/taiga-ui-core-directives-table-mode.umd.min.js.map +1 -1
  134. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +9 -3
  135. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  136. package/bundles/taiga-ui-core-directives-textfield-controller.umd.min.js.map +1 -1
  137. package/bundles/taiga-ui-core-directives.umd.js +8 -8
  138. package/bundles/taiga-ui-core-directives.umd.min.js +1 -1
  139. package/bundles/taiga-ui-core-enums.umd.js +1 -0
  140. package/bundles/taiga-ui-core-enums.umd.js.map +1 -1
  141. package/bundles/taiga-ui-core-enums.umd.min.js +1 -1
  142. package/bundles/taiga-ui-core-enums.umd.min.js.map +1 -1
  143. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +1 -1
  144. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  145. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js +1 -1
  146. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js.map +1 -1
  147. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js.map +1 -1
  148. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.min.js.map +1 -1
  149. package/bundles/taiga-ui-core-modules-notifications.umd.js +25 -25
  150. package/bundles/taiga-ui-core-modules-notifications.umd.js.map +1 -1
  151. package/bundles/taiga-ui-core-modules-notifications.umd.min.js +1 -1
  152. package/bundles/taiga-ui-core-modules-notifications.umd.min.js.map +1 -1
  153. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
  154. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.min.js.map +1 -1
  155. package/bundles/taiga-ui-core-pipes-format-number.umd.js.map +1 -1
  156. package/bundles/taiga-ui-core-pipes-format-number.umd.min.js.map +1 -1
  157. package/bundles/taiga-ui-core-pipes-month.umd.js.map +1 -1
  158. package/bundles/taiga-ui-core-pipes-month.umd.min.js.map +1 -1
  159. package/bundles/taiga-ui-core-pipes-pluralize.umd.js.map +1 -1
  160. package/bundles/taiga-ui-core-pipes-pluralize.umd.min.js.map +1 -1
  161. package/bundles/taiga-ui-core-pipes.umd.js +12 -12
  162. package/bundles/taiga-ui-core-pipes.umd.min.js +1 -1
  163. package/bundles/taiga-ui-core-providers.umd.js +9 -9
  164. package/bundles/taiga-ui-core-providers.umd.js.map +1 -1
  165. package/bundles/taiga-ui-core-providers.umd.min.js +1 -1
  166. package/bundles/taiga-ui-core-services.umd.js +1 -1
  167. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  168. package/bundles/taiga-ui-core-services.umd.min.js +1 -1
  169. package/bundles/taiga-ui-core-services.umd.min.js.map +1 -1
  170. package/bundles/taiga-ui-core-tokens.umd.js +25 -25
  171. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  172. package/bundles/taiga-ui-core-tokens.umd.min.js +1 -1
  173. package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
  174. package/bundles/taiga-ui-core-utils-mask.umd.js +27 -8
  175. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  176. package/bundles/taiga-ui-core-utils-mask.umd.min.js +1 -1
  177. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  178. package/components/button/button-options.d.ts +10 -0
  179. package/components/button/button.component.d.ts +8 -7
  180. package/components/button/index.d.ts +1 -0
  181. package/components/button/taiga-ui-core-components-button.metadata.json +1 -1
  182. package/components/calendar/taiga-ui-core-components-calendar.metadata.json +1 -1
  183. package/components/data-list/data-list.component.d.ts +4 -4
  184. package/components/data-list/index.d.ts +1 -1
  185. package/components/data-list/taiga-ui-core-components-data-list.metadata.json +1 -1
  186. package/components/dialog/dialog.directive.d.ts +2 -11
  187. package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
  188. package/components/dropdown-box/dropdown-box.component.d.ts +2 -2
  189. package/components/dropdown-box/taiga-ui-core-components-dropdown-box.metadata.json +1 -1
  190. package/components/error/taiga-ui-core-components-error.metadata.json +1 -1
  191. package/components/expand/expand.component.d.ts +2 -2
  192. package/components/expand/taiga-ui-core-components-expand.metadata.json +1 -1
  193. package/components/group/taiga-ui-core-components-group.metadata.json +1 -1
  194. package/components/hints-host/hint-box/hint-box.component.d.ts +5 -3
  195. package/components/hints-host/index.d.ts +2 -2
  196. package/components/hints-host/taiga-ui-core-components-hints-host.metadata.json +1 -1
  197. package/components/hosted-dropdown/hosted-dropdown.component.d.ts +4 -6
  198. package/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.metadata.json +1 -1
  199. package/components/index.d.ts +1 -1
  200. package/components/label/taiga-ui-core-components-label.metadata.json +1 -1
  201. package/components/link/link.component.d.ts +1 -0
  202. package/components/link/taiga-ui-core-components-link.metadata.json +1 -1
  203. package/components/loader/taiga-ui-core-components-loader.metadata.json +1 -1
  204. package/components/notification/taiga-ui-core-components-notification.metadata.json +1 -1
  205. package/components/primitive-calendar/primitive-calendar.component.d.ts +3 -3
  206. package/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.metadata.json +1 -1
  207. package/components/primitive-checkbox/primitive-checkbox.component.d.ts +1 -3
  208. package/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.metadata.json +1 -1
  209. package/components/primitive-spin-button/primitive-spin-button.component.d.ts +1 -1
  210. package/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.metadata.json +1 -1
  211. package/components/primitive-textfield/primitive-textfield.component.d.ts +2 -3
  212. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
  213. package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +2 -1
  214. package/components/primitive-year-picker/primitive-year-picker.component.d.ts +3 -3
  215. package/components/primitive-year-picker/taiga-ui-core-components-primitive-year-picker.metadata.json +1 -1
  216. package/components/root/taiga-ui-core-components-root.metadata.json +1 -1
  217. package/components/scroll-controls/index.d.ts +1 -1
  218. package/components/scroll-controls/taiga-ui-core-components-scroll-controls.metadata.json +1 -1
  219. package/components/scrollbar/index.d.ts +1 -1
  220. package/components/scrollbar/scrollable.directive.d.ts +5 -1
  221. package/components/scrollbar/scrollbar.component.d.ts +5 -4
  222. package/components/scrollbar/taiga-ui-core-components-scrollbar.metadata.json +1 -1
  223. package/components/svg/svg.component.d.ts +3 -3
  224. package/components/svg/taiga-ui-core-components-svg.metadata.json +1 -1
  225. package/components/taiga-ui-core-components.metadata.json +1 -1
  226. package/components/theme-night/taiga-ui-core-components-theme-night.metadata.json +1 -1
  227. package/components/tooltip/taiga-ui-core-components-tooltip.metadata.json +1 -1
  228. package/components/tooltip/tooltip.component.d.ts +1 -1
  229. package/components/wrapper/taiga-ui-core-components-wrapper.metadata.json +1 -1
  230. package/constants/events.d.ts +5 -0
  231. package/constants/index.d.ts +1 -1
  232. package/constants/regexp.d.ts +1 -0
  233. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  234. package/constants/version.d.ts +1 -1
  235. package/directives/border/taiga-ui-core-directives-border.metadata.json +1 -1
  236. package/directives/color/index.d.ts +1 -1
  237. package/directives/color/taiga-ui-core-directives-color.metadata.json +1 -1
  238. package/directives/described-by/taiga-ui-core-directives-described-by.metadata.json +1 -1
  239. package/directives/dropdown-controller/taiga-ui-core-directives-dropdown-controller.metadata.json +1 -1
  240. package/directives/hint/hint.directive.d.ts +1 -1
  241. package/directives/hint/taiga-ui-core-directives-hint.metadata.json +1 -1
  242. package/directives/hint-controller/taiga-ui-core-directives-hint-controller.metadata.json +1 -1
  243. package/directives/index.d.ts +1 -1
  244. package/directives/manual-hint/taiga-ui-core-directives-manual-hint.metadata.json +1 -1
  245. package/directives/mask-accessor/taiga-ui-core-directives-mask-accessor.metadata.json +1 -1
  246. package/directives/mode/taiga-ui-core-directives-mode.metadata.json +1 -1
  247. package/directives/pointer-hint/pointer-hint.directive.d.ts +1 -1
  248. package/directives/pointer-hint/taiga-ui-core-directives-pointer-hint.metadata.json +1 -1
  249. package/directives/scroll-into-view/taiga-ui-core-directives-scroll-into-view.metadata.json +1 -1
  250. package/directives/table-mode/taiga-ui-core-directives-table-mode.metadata.json +1 -1
  251. package/directives/taiga-ui-core-directives.metadata.json +1 -1
  252. package/directives/textfield-controller/index.d.ts +2 -2
  253. package/directives/textfield-controller/taiga-ui-core-directives-textfield-controller.metadata.json +1 -1
  254. package/directives/textfield-controller/textfield-controller.provider.d.ts +1 -1
  255. package/enums/appearance.d.ts +1 -0
  256. package/enums/taiga-ui-core-enums.metadata.json +1 -1
  257. package/esm2015/abstract/abstract-dropdown.js +1 -1
  258. package/esm2015/components/button/button-options.js +10 -0
  259. package/esm2015/components/button/button.component.js +12 -8
  260. package/esm2015/components/button/button.module.js +1 -1
  261. package/esm2015/components/button/index.js +2 -1
  262. package/esm2015/components/calendar/calendar.component.js +2 -2
  263. package/esm2015/components/data-list/data-list.component.js +19 -18
  264. package/esm2015/components/data-list/data-list.module.js +2 -2
  265. package/esm2015/components/data-list/index.js +2 -2
  266. package/esm2015/components/data-list/option/option.component.js +3 -3
  267. package/esm2015/components/dialog/dialog.component.js +2 -2
  268. package/esm2015/components/dialog/dialog.directive.js +14 -36
  269. package/esm2015/components/dialog/dialog.module.js +1 -1
  270. package/esm2015/components/dialog/dialog.service.js +1 -1
  271. package/esm2015/components/dropdown-box/dropdown-box.component.js +2 -2
  272. package/esm2015/components/dropdown-box/dropdown-box.module.js +1 -1
  273. package/esm2015/components/error/error.component.js +2 -2
  274. package/esm2015/components/error/error.module.js +1 -1
  275. package/esm2015/components/expand/expand.component.js +6 -6
  276. package/esm2015/components/expand/expand.module.js +2 -2
  277. package/esm2015/components/group/group.component.js +1 -1
  278. package/esm2015/components/group/group.module.js +1 -1
  279. package/esm2015/components/hints-host/hint-box/hint-box.component.js +17 -13
  280. package/esm2015/components/hints-host/hint-box/hint-box.module.js +1 -1
  281. package/esm2015/components/hints-host/hints-host.component.js +2 -2
  282. package/esm2015/components/hints-host/hints-host.module.js +1 -1
  283. package/esm2015/components/hints-host/index.js +3 -3
  284. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +12 -21
  285. package/esm2015/components/hosted-dropdown/hosted-dropdown.module.js +2 -2
  286. package/esm2015/components/index.js +2 -2
  287. package/esm2015/components/label/label.component.js +2 -2
  288. package/esm2015/components/label/label.module.js +1 -1
  289. package/esm2015/components/link/link.component.js +5 -3
  290. package/esm2015/components/loader/loader.component.js +3 -3
  291. package/esm2015/components/loader/loader.module.js +1 -1
  292. package/esm2015/components/notification/notification.component.js +1 -1
  293. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +4 -4
  294. package/esm2015/components/primitive-calendar/primitive-calendar.module.js +1 -1
  295. package/esm2015/components/primitive-checkbox/primitive-checkbox.component.js +4 -13
  296. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +5 -5
  297. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +7 -10
  298. package/esm2015/components/primitive-textfield/primitive-textfield.module.js +1 -1
  299. package/esm2015/components/primitive-textfield/primitive-textfield.providers.js +1 -1
  300. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +10 -4
  301. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +5 -5
  302. package/esm2015/components/root/root.module.js +1 -1
  303. package/esm2015/components/scroll-controls/index.js +2 -2
  304. package/esm2015/components/scroll-controls/scroll-controls.component.js +1 -1
  305. package/esm2015/components/scroll-controls/scroll-controls.module.js +2 -2
  306. package/esm2015/components/scrollbar/index.js +2 -2
  307. package/esm2015/components/scrollbar/scrollable.directive.js +18 -4
  308. package/esm2015/components/scrollbar/scrollbar.component.js +21 -19
  309. package/esm2015/components/scrollbar/scrollbar.module.js +1 -1
  310. package/esm2015/components/svg/svg.component.js +2 -2
  311. package/esm2015/components/svg/svg.module.js +1 -1
  312. package/esm2015/components/theme-night/theme-night.module.js +1 -1
  313. package/esm2015/components/tooltip/tooltip.component.js +3 -3
  314. package/esm2015/components/wrapper/wrapper.module.js +1 -1
  315. package/esm2015/constants/events.js +6 -1
  316. package/esm2015/constants/index.js +2 -2
  317. package/esm2015/constants/regexp.js +2 -1
  318. package/esm2015/constants/version.js +2 -2
  319. package/esm2015/directives/border/border.module.js +1 -1
  320. package/esm2015/directives/color/color.module.js +1 -1
  321. package/esm2015/directives/color/index.js +2 -2
  322. package/esm2015/directives/described-by/described-by.module.js +1 -1
  323. package/esm2015/directives/dropdown-controller/dropdown-controller.directive.js +1 -1
  324. package/esm2015/directives/dropdown-controller/dropdown-controller.module.js +1 -1
  325. package/esm2015/directives/dropdown-controller/dropdown-controller.provider.js +1 -1
  326. package/esm2015/directives/dropdown-controller/dropdown-controller.token.js +1 -1
  327. package/esm2015/directives/hint/hint.directive.js +2 -2
  328. package/esm2015/directives/hint/hint.module.js +1 -1
  329. package/esm2015/directives/hint-controller/hint-controller.directive.js +1 -1
  330. package/esm2015/directives/hint-controller/hint-controller.module.js +1 -1
  331. package/esm2015/directives/hint-controller/hint-controller.provider.js +1 -1
  332. package/esm2015/directives/hint-controller/hint-controller.token.js +1 -1
  333. package/esm2015/directives/index.js +2 -2
  334. package/esm2015/directives/manual-hint/manual-hint.module.js +1 -1
  335. package/esm2015/directives/mask-accessor/mask-accessor.module.js +1 -1
  336. package/esm2015/directives/mode/mode.module.js +1 -1
  337. package/esm2015/directives/pointer-hint/pointer-hint.directive.js +2 -2
  338. package/esm2015/directives/pointer-hint/pointer-hint.module.js +1 -1
  339. package/esm2015/directives/scroll-into-view/scroll-into-view.module.js +1 -1
  340. package/esm2015/directives/table-mode/table-mode.module.js +1 -1
  341. package/esm2015/directives/textfield-controller/index.js +3 -3
  342. package/esm2015/directives/textfield-controller/textfield-cleaner.directive.js +4 -2
  343. package/esm2015/directives/textfield-controller/textfield-controller.module.js +1 -1
  344. package/esm2015/directives/textfield-controller/textfield-controller.provider.js +2 -2
  345. package/esm2015/directives/textfield-controller/textfield-size.directive.js +4 -2
  346. package/esm2015/directives/textfield-controller/textfield-type.directive.js +4 -2
  347. package/esm2015/directives/textfield-controller/textfield.controller.js +1 -1
  348. package/esm2015/enums/appearance.js +2 -1
  349. package/esm2015/interfaces/dialog-context.js +1 -1
  350. package/esm2015/interfaces/index.js +1 -1
  351. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  352. package/esm2015/internal/svg-defs-host/svg-defs-host.module.js +1 -1
  353. package/esm2015/mask/index.js +1 -1
  354. package/esm2015/modules/notifications/index.js +3 -3
  355. package/esm2015/modules/notifications/notification-alert/Notification-alert.js +1 -1
  356. package/esm2015/modules/notifications/notification-alert/notification-alert.component.js +2 -2
  357. package/esm2015/modules/notifications/notifications-host/notifications-host.component.js +2 -2
  358. package/esm2015/modules/notifications/notifications.module.js +1 -1
  359. package/esm2015/modules/notifications/notifications.service.js +1 -1
  360. package/esm2015/pipes/calendar-sheet/calendar-sheet.module.js +1 -1
  361. package/esm2015/pipes/calendar-sheet/calendar-sheet.pipe.js +1 -1
  362. package/esm2015/pipes/calendar-sheet/index.js +2 -2
  363. package/esm2015/pipes/format-number/format-number.pipe.js +1 -1
  364. package/esm2015/pipes/index.js +2 -2
  365. package/esm2015/pipes/month/month.module.js +1 -1
  366. package/esm2015/pipes/pluralize/pluralize.module.js +1 -1
  367. package/esm2015/providers/index.js +2 -2
  368. package/esm2015/services/hint.service.js +1 -1
  369. package/esm2015/services/svg.service.js +2 -2
  370. package/esm2015/tokens/animation-options.js +1 -1
  371. package/esm2015/tokens/index.js +5 -5
  372. package/esm2015/tokens/ordered-short-week-days.js +1 -1
  373. package/esm2015/types/marker-handler.js +1 -1
  374. package/esm2015/utils/mask/create-number-mask.js +27 -10
  375. package/esm5/abstract/abstract-dropdown.js +1 -1
  376. package/esm5/components/button/button-options.js +10 -0
  377. package/esm5/components/button/button.component.js +12 -8
  378. package/esm5/components/button/button.module.js +1 -1
  379. package/esm5/components/button/index.js +2 -1
  380. package/esm5/components/calendar/calendar.component.js +2 -2
  381. package/esm5/components/data-list/data-list.component.js +23 -22
  382. package/esm5/components/data-list/data-list.module.js +2 -2
  383. package/esm5/components/data-list/index.js +2 -2
  384. package/esm5/components/data-list/option/option.component.js +3 -3
  385. package/esm5/components/dialog/dialog.component.js +2 -2
  386. package/esm5/components/dialog/dialog.directive.js +18 -43
  387. package/esm5/components/dialog/dialog.module.js +1 -1
  388. package/esm5/components/dialog/dialog.service.js +1 -1
  389. package/esm5/components/dropdown-box/dropdown-box.component.js +2 -2
  390. package/esm5/components/dropdown-box/dropdown-box.module.js +1 -1
  391. package/esm5/components/error/error.component.js +2 -2
  392. package/esm5/components/error/error.module.js +1 -1
  393. package/esm5/components/expand/expand.component.js +6 -6
  394. package/esm5/components/expand/expand.module.js +2 -2
  395. package/esm5/components/group/group.component.js +1 -1
  396. package/esm5/components/group/group.module.js +1 -1
  397. package/esm5/components/hints-host/hint-box/hint-box.component.js +21 -13
  398. package/esm5/components/hints-host/hint-box/hint-box.module.js +1 -1
  399. package/esm5/components/hints-host/hints-host.component.js +2 -2
  400. package/esm5/components/hints-host/hints-host.module.js +1 -1
  401. package/esm5/components/hints-host/index.js +3 -3
  402. package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +12 -25
  403. package/esm5/components/hosted-dropdown/hosted-dropdown.module.js +2 -2
  404. package/esm5/components/index.js +2 -2
  405. package/esm5/components/label/label.component.js +2 -2
  406. package/esm5/components/label/label.module.js +1 -1
  407. package/esm5/components/link/link.component.js +5 -3
  408. package/esm5/components/loader/loader.component.js +3 -3
  409. package/esm5/components/loader/loader.module.js +1 -1
  410. package/esm5/components/notification/notification.component.js +1 -1
  411. package/esm5/components/primitive-calendar/primitive-calendar.component.js +4 -4
  412. package/esm5/components/primitive-calendar/primitive-calendar.module.js +1 -1
  413. package/esm5/components/primitive-checkbox/primitive-checkbox.component.js +4 -17
  414. package/esm5/components/primitive-spin-button/primitive-spin-button.component.js +5 -5
  415. package/esm5/components/primitive-textfield/primitive-textfield.component.js +7 -14
  416. package/esm5/components/primitive-textfield/primitive-textfield.module.js +1 -1
  417. package/esm5/components/primitive-textfield/primitive-textfield.providers.js +1 -1
  418. package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +14 -4
  419. package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +5 -5
  420. package/esm5/components/root/root.module.js +1 -1
  421. package/esm5/components/scroll-controls/index.js +2 -2
  422. package/esm5/components/scroll-controls/scroll-controls.component.js +1 -1
  423. package/esm5/components/scroll-controls/scroll-controls.module.js +2 -2
  424. package/esm5/components/scrollbar/index.js +2 -2
  425. package/esm5/components/scrollbar/scrollable.directive.js +17 -5
  426. package/esm5/components/scrollbar/scrollbar.component.js +21 -23
  427. package/esm5/components/scrollbar/scrollbar.module.js +1 -1
  428. package/esm5/components/svg/svg.component.js +2 -2
  429. package/esm5/components/svg/svg.module.js +1 -1
  430. package/esm5/components/theme-night/theme-night.module.js +1 -1
  431. package/esm5/components/tooltip/tooltip.component.js +3 -3
  432. package/esm5/components/wrapper/wrapper.module.js +1 -1
  433. package/esm5/constants/events.js +6 -1
  434. package/esm5/constants/index.js +2 -2
  435. package/esm5/constants/regexp.js +2 -1
  436. package/esm5/constants/version.js +2 -2
  437. package/esm5/directives/border/border.module.js +1 -1
  438. package/esm5/directives/color/color.module.js +1 -1
  439. package/esm5/directives/color/index.js +2 -2
  440. package/esm5/directives/described-by/described-by.module.js +1 -1
  441. package/esm5/directives/dropdown-controller/dropdown-controller.directive.js +1 -1
  442. package/esm5/directives/dropdown-controller/dropdown-controller.module.js +1 -1
  443. package/esm5/directives/dropdown-controller/dropdown-controller.provider.js +1 -1
  444. package/esm5/directives/dropdown-controller/dropdown-controller.token.js +1 -1
  445. package/esm5/directives/hint/hint.directive.js +2 -2
  446. package/esm5/directives/hint/hint.module.js +1 -1
  447. package/esm5/directives/hint-controller/hint-controller.directive.js +1 -1
  448. package/esm5/directives/hint-controller/hint-controller.module.js +1 -1
  449. package/esm5/directives/hint-controller/hint-controller.provider.js +1 -1
  450. package/esm5/directives/hint-controller/hint-controller.token.js +1 -1
  451. package/esm5/directives/index.js +2 -2
  452. package/esm5/directives/manual-hint/manual-hint.module.js +1 -1
  453. package/esm5/directives/mask-accessor/mask-accessor.module.js +1 -1
  454. package/esm5/directives/mode/mode.module.js +1 -1
  455. package/esm5/directives/pointer-hint/pointer-hint.directive.js +2 -2
  456. package/esm5/directives/pointer-hint/pointer-hint.module.js +1 -1
  457. package/esm5/directives/scroll-into-view/scroll-into-view.module.js +1 -1
  458. package/esm5/directives/table-mode/table-mode.module.js +1 -1
  459. package/esm5/directives/textfield-controller/index.js +3 -3
  460. package/esm5/directives/textfield-controller/textfield-cleaner.directive.js +4 -2
  461. package/esm5/directives/textfield-controller/textfield-controller.module.js +1 -1
  462. package/esm5/directives/textfield-controller/textfield-controller.provider.js +2 -2
  463. package/esm5/directives/textfield-controller/textfield-size.directive.js +4 -2
  464. package/esm5/directives/textfield-controller/textfield-type.directive.js +4 -2
  465. package/esm5/directives/textfield-controller/textfield.controller.js +1 -1
  466. package/esm5/enums/appearance.js +2 -1
  467. package/esm5/interfaces/dialog-context.js +1 -1
  468. package/esm5/interfaces/index.js +1 -1
  469. package/esm5/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  470. package/esm5/internal/svg-defs-host/svg-defs-host.module.js +1 -1
  471. package/esm5/mask/index.js +1 -1
  472. package/esm5/modules/notifications/index.js +3 -3
  473. package/esm5/modules/notifications/notification-alert/Notification-alert.js +1 -1
  474. package/esm5/modules/notifications/notification-alert/notification-alert.component.js +2 -2
  475. package/esm5/modules/notifications/notifications-host/notifications-host.component.js +2 -2
  476. package/esm5/modules/notifications/notifications.module.js +1 -1
  477. package/esm5/modules/notifications/notifications.service.js +1 -1
  478. package/esm5/pipes/calendar-sheet/calendar-sheet.module.js +1 -1
  479. package/esm5/pipes/calendar-sheet/calendar-sheet.pipe.js +1 -1
  480. package/esm5/pipes/calendar-sheet/index.js +2 -2
  481. package/esm5/pipes/format-number/format-number.pipe.js +1 -1
  482. package/esm5/pipes/index.js +2 -2
  483. package/esm5/pipes/month/month.module.js +1 -1
  484. package/esm5/pipes/pluralize/pluralize.module.js +1 -1
  485. package/esm5/providers/index.js +2 -2
  486. package/esm5/services/hint.service.js +1 -1
  487. package/esm5/services/svg.service.js +2 -2
  488. package/esm5/tokens/animation-options.js +1 -1
  489. package/esm5/tokens/index.js +5 -5
  490. package/esm5/tokens/ordered-short-week-days.js +1 -1
  491. package/esm5/types/marker-handler.js +1 -1
  492. package/esm5/utils/mask/create-number-mask.js +29 -10
  493. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  494. package/fesm2015/taiga-ui-core-components-button.js +21 -9
  495. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  496. package/fesm2015/taiga-ui-core-components-calendar.js +1 -1
  497. package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
  498. package/fesm2015/taiga-ui-core-components-data-list.js +21 -20
  499. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  500. package/fesm2015/taiga-ui-core-components-dialog.js +15 -36
  501. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  502. package/fesm2015/taiga-ui-core-components-dropdown-box.js +1 -1
  503. package/fesm2015/taiga-ui-core-components-dropdown-box.js.map +1 -1
  504. package/fesm2015/taiga-ui-core-components-error.js +1 -1
  505. package/fesm2015/taiga-ui-core-components-error.js.map +1 -1
  506. package/fesm2015/taiga-ui-core-components-expand.js +6 -6
  507. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  508. package/fesm2015/taiga-ui-core-components-group.js.map +1 -1
  509. package/fesm2015/taiga-ui-core-components-hints-host.js +22 -19
  510. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  511. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +12 -21
  512. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  513. package/fesm2015/taiga-ui-core-components-label.js +1 -1
  514. package/fesm2015/taiga-ui-core-components-label.js.map +1 -1
  515. package/fesm2015/taiga-ui-core-components-link.js +4 -2
  516. package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
  517. package/fesm2015/taiga-ui-core-components-loader.js +2 -2
  518. package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
  519. package/fesm2015/taiga-ui-core-components-notification.js +1 -1
  520. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +4 -4
  521. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  522. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +3 -12
  523. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  524. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +5 -5
  525. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  526. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +15 -12
  527. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  528. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +4 -4
  529. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  530. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  531. package/fesm2015/taiga-ui-core-components-scroll-controls.js +56 -56
  532. package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
  533. package/fesm2015/taiga-ui-core-components-scrollbar.js +50 -34
  534. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  535. package/fesm2015/taiga-ui-core-components-svg.js +1 -1
  536. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  537. package/fesm2015/taiga-ui-core-components-theme-night.js.map +1 -1
  538. package/fesm2015/taiga-ui-core-components-tooltip.js +2 -2
  539. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  540. package/fesm2015/taiga-ui-core-components-wrapper.js.map +1 -1
  541. package/fesm2015/taiga-ui-core-components.js +1 -1
  542. package/fesm2015/taiga-ui-core-constants.js +10 -4
  543. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  544. package/fesm2015/taiga-ui-core-directives-border.js.map +1 -1
  545. package/fesm2015/taiga-ui-core-directives-color.js.map +1 -1
  546. package/fesm2015/taiga-ui-core-directives-described-by.js.map +1 -1
  547. package/fesm2015/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  548. package/fesm2015/taiga-ui-core-directives-hint-controller.js.map +1 -1
  549. package/fesm2015/taiga-ui-core-directives-hint.js +1 -1
  550. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  551. package/fesm2015/taiga-ui-core-directives-manual-hint.js.map +1 -1
  552. package/fesm2015/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  553. package/fesm2015/taiga-ui-core-directives-mode.js.map +1 -1
  554. package/fesm2015/taiga-ui-core-directives-pointer-hint.js +1 -1
  555. package/fesm2015/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  556. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  557. package/fesm2015/taiga-ui-core-directives-table-mode.js.map +1 -1
  558. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +9 -3
  559. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  560. package/fesm2015/taiga-ui-core-directives.js +1 -1
  561. package/fesm2015/taiga-ui-core-enums.js +1 -0
  562. package/fesm2015/taiga-ui-core-enums.js.map +1 -1
  563. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  564. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  565. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  566. package/fesm2015/taiga-ui-core-modules-notifications.js +24 -24
  567. package/fesm2015/taiga-ui-core-modules-notifications.js.map +1 -1
  568. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  569. package/fesm2015/taiga-ui-core-pipes-format-number.js.map +1 -1
  570. package/fesm2015/taiga-ui-core-pipes-month.js.map +1 -1
  571. package/fesm2015/taiga-ui-core-pipes-pluralize.js.map +1 -1
  572. package/fesm2015/taiga-ui-core-pipes.js +1 -1
  573. package/fesm2015/taiga-ui-core-providers.js +7 -7
  574. package/fesm2015/taiga-ui-core-providers.js.map +1 -1
  575. package/fesm2015/taiga-ui-core-services.js +1 -1
  576. package/fesm2015/taiga-ui-core-services.js.map +1 -1
  577. package/fesm2015/taiga-ui-core-tokens.js +25 -25
  578. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  579. package/fesm2015/taiga-ui-core-utils-mask.js +26 -9
  580. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  581. package/fesm5/taiga-ui-core-abstract.js.map +1 -1
  582. package/fesm5/taiga-ui-core-components-button.js +21 -9
  583. package/fesm5/taiga-ui-core-components-button.js.map +1 -1
  584. package/fesm5/taiga-ui-core-components-calendar.js +1 -1
  585. package/fesm5/taiga-ui-core-components-calendar.js.map +1 -1
  586. package/fesm5/taiga-ui-core-components-data-list.js +25 -24
  587. package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
  588. package/fesm5/taiga-ui-core-components-dialog.js +19 -43
  589. package/fesm5/taiga-ui-core-components-dialog.js.map +1 -1
  590. package/fesm5/taiga-ui-core-components-dropdown-box.js +1 -1
  591. package/fesm5/taiga-ui-core-components-dropdown-box.js.map +1 -1
  592. package/fesm5/taiga-ui-core-components-error.js +1 -1
  593. package/fesm5/taiga-ui-core-components-error.js.map +1 -1
  594. package/fesm5/taiga-ui-core-components-expand.js +6 -6
  595. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  596. package/fesm5/taiga-ui-core-components-group.js.map +1 -1
  597. package/fesm5/taiga-ui-core-components-hints-host.js +26 -19
  598. package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
  599. package/fesm5/taiga-ui-core-components-hosted-dropdown.js +12 -25
  600. package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  601. package/fesm5/taiga-ui-core-components-label.js +1 -1
  602. package/fesm5/taiga-ui-core-components-label.js.map +1 -1
  603. package/fesm5/taiga-ui-core-components-link.js +4 -2
  604. package/fesm5/taiga-ui-core-components-link.js.map +1 -1
  605. package/fesm5/taiga-ui-core-components-loader.js +2 -2
  606. package/fesm5/taiga-ui-core-components-loader.js.map +1 -1
  607. package/fesm5/taiga-ui-core-components-notification.js +1 -1
  608. package/fesm5/taiga-ui-core-components-primitive-calendar.js +4 -4
  609. package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  610. package/fesm5/taiga-ui-core-components-primitive-checkbox.js +3 -16
  611. package/fesm5/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  612. package/fesm5/taiga-ui-core-components-primitive-spin-button.js +5 -5
  613. package/fesm5/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  614. package/fesm5/taiga-ui-core-components-primitive-textfield.js +19 -16
  615. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  616. package/fesm5/taiga-ui-core-components-primitive-year-picker.js +4 -4
  617. package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  618. package/fesm5/taiga-ui-core-components-root.js.map +1 -1
  619. package/fesm5/taiga-ui-core-components-scroll-controls.js +63 -63
  620. package/fesm5/taiga-ui-core-components-scroll-controls.js.map +1 -1
  621. package/fesm5/taiga-ui-core-components-scrollbar.js +52 -42
  622. package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
  623. package/fesm5/taiga-ui-core-components-svg.js +1 -1
  624. package/fesm5/taiga-ui-core-components-svg.js.map +1 -1
  625. package/fesm5/taiga-ui-core-components-theme-night.js.map +1 -1
  626. package/fesm5/taiga-ui-core-components-tooltip.js +2 -2
  627. package/fesm5/taiga-ui-core-components-tooltip.js.map +1 -1
  628. package/fesm5/taiga-ui-core-components-wrapper.js.map +1 -1
  629. package/fesm5/taiga-ui-core-components.js +1 -1
  630. package/fesm5/taiga-ui-core-constants.js +10 -4
  631. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  632. package/fesm5/taiga-ui-core-directives-border.js.map +1 -1
  633. package/fesm5/taiga-ui-core-directives-color.js.map +1 -1
  634. package/fesm5/taiga-ui-core-directives-described-by.js.map +1 -1
  635. package/fesm5/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  636. package/fesm5/taiga-ui-core-directives-hint-controller.js.map +1 -1
  637. package/fesm5/taiga-ui-core-directives-hint.js +1 -1
  638. package/fesm5/taiga-ui-core-directives-hint.js.map +1 -1
  639. package/fesm5/taiga-ui-core-directives-manual-hint.js.map +1 -1
  640. package/fesm5/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  641. package/fesm5/taiga-ui-core-directives-mode.js.map +1 -1
  642. package/fesm5/taiga-ui-core-directives-pointer-hint.js +1 -1
  643. package/fesm5/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  644. package/fesm5/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  645. package/fesm5/taiga-ui-core-directives-table-mode.js.map +1 -1
  646. package/fesm5/taiga-ui-core-directives-textfield-controller.js +9 -3
  647. package/fesm5/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  648. package/fesm5/taiga-ui-core-directives.js +1 -1
  649. package/fesm5/taiga-ui-core-enums.js +1 -0
  650. package/fesm5/taiga-ui-core-enums.js.map +1 -1
  651. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  652. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  653. package/fesm5/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  654. package/fesm5/taiga-ui-core-modules-notifications.js +25 -25
  655. package/fesm5/taiga-ui-core-modules-notifications.js.map +1 -1
  656. package/fesm5/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  657. package/fesm5/taiga-ui-core-pipes-format-number.js.map +1 -1
  658. package/fesm5/taiga-ui-core-pipes-month.js.map +1 -1
  659. package/fesm5/taiga-ui-core-pipes-pluralize.js.map +1 -1
  660. package/fesm5/taiga-ui-core-pipes.js +1 -1
  661. package/fesm5/taiga-ui-core-providers.js +7 -7
  662. package/fesm5/taiga-ui-core-providers.js.map +1 -1
  663. package/fesm5/taiga-ui-core-services.js +1 -1
  664. package/fesm5/taiga-ui-core-services.js.map +1 -1
  665. package/fesm5/taiga-ui-core-tokens.js +25 -25
  666. package/fesm5/taiga-ui-core-tokens.js.map +1 -1
  667. package/fesm5/taiga-ui-core-utils-mask.js +29 -10
  668. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  669. package/interfaces/index.d.ts +2 -2
  670. package/interfaces/taiga-ui-core-interfaces.metadata.json +1 -1
  671. package/internal/primitive-year-month-pagination/taiga-ui-core-internal-primitive-year-month-pagination.metadata.json +1 -1
  672. package/internal/svg-defs-host/taiga-ui-core-internal-svg-defs-host.metadata.json +1 -1
  673. package/mask/index.d.ts +1 -1
  674. package/mask/taiga-ui-core-mask.metadata.json +1 -1
  675. package/modules/notifications/index.d.ts +2 -2
  676. package/modules/notifications/taiga-ui-core-modules-notifications.metadata.json +1 -1
  677. package/package.json +6 -4
  678. package/pipes/calendar-sheet/index.d.ts +1 -1
  679. package/pipes/calendar-sheet/taiga-ui-core-pipes-calendar-sheet.metadata.json +1 -1
  680. package/pipes/index.d.ts +1 -1
  681. package/pipes/month/taiga-ui-core-pipes-month.metadata.json +1 -1
  682. package/pipes/pluralize/taiga-ui-core-pipes-pluralize.metadata.json +1 -1
  683. package/pipes/taiga-ui-core-pipes.metadata.json +1 -1
  684. package/providers/index.d.ts +1 -1
  685. package/providers/taiga-ui-core-providers.metadata.json +1 -1
  686. package/services/hint.service.d.ts +3 -3
  687. package/services/svg.service.d.ts +1 -1
  688. package/services/taiga-ui-core-services.metadata.json +1 -1
  689. package/styles/mixins/textfield.less +1 -0
  690. package/styles/theme/variables.less +1 -1
  691. package/styles/theme/wrapper/accent.less +31 -0
  692. package/styles/theme/wrapper/icon.less +1 -0
  693. package/styles/theme/wrapper/outline.less +1 -0
  694. package/styles/theme/wrapper/primary.less +1 -0
  695. package/styles/theme/wrapper/secondary.less +1 -0
  696. package/styles/theme/wrapper/whiteblock.less +2 -0
  697. package/styles/theme/wrapper.less +1 -0
  698. package/tokens/index.d.ts +4 -4
  699. package/tokens/taiga-ui-core-tokens.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-primitive-calendar.js","sources":["ng://@taiga-ui/core/components/primitive-calendar/primitive-calendar.component.ts","ng://@taiga-ui/core/components/primitive-calendar/primitive-calendar.module.ts","ng://@taiga-ui/core/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n nullableSame,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n tuiDefaultProp,\n TuiMonth,\n} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_MARKER_HANDLER} from '@taiga-ui/core/constants';\nimport {TuiInteractiveState, TuiRangeState} from '@taiga-ui/core/enums';\nimport {TUI_ORDERED_SHORT_WEEK_DAYS, WEEK_DAYS_NAMES} from '@taiga-ui/core/tokens';\nimport {TuiColor, TuiMarkerHandler} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\n// @dynamic\n@Component({\n selector: 'tui-primitive-calendar',\n templateUrl: './primitive-calendar.template.html',\n styleUrls: ['./primitive-calendar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPrimitiveCalendarComponent {\n @Input()\n @tuiDefaultProp()\n month: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n value: TuiDayRange | TuiDay | null = null;\n\n @Input()\n @tuiDefaultProp()\n hoveredItem: TuiDay | null = null;\n\n @Input()\n @tuiDefaultProp()\n showAdjacent = true;\n\n @Output()\n readonly hoveredItemChange = new EventEmitter<TuiDay | null>();\n\n @Output()\n readonly dayClick = new EventEmitter<TuiDay>();\n\n private pressedItem: TuiDay | null = null;\n\n private today = TuiDay.currentLocal();\n\n readonly toMarkers = (\n day: TuiDay,\n today: boolean,\n inRange: boolean,\n ): null | [TuiColor | string] | [TuiColor | string, TuiColor | string] => {\n if (today || inRange) {\n return null;\n }\n\n const markers = this.markerHandler(day);\n\n return markers.length === 0 ? null : markers;\n };\n\n constructor(\n @Inject(TUI_ORDERED_SHORT_WEEK_DAYS)\n readonly weekDays$: Observable<WEEK_DAYS_NAMES>,\n ) {}\n\n @HostBinding('class._single')\n get isSingle(): boolean {\n return (\n this.value !== null &&\n (this.value instanceof TuiDay || this.value.isSingleDay)\n );\n }\n\n getItemState(item: TuiDay): TuiInteractiveState | null {\n const {disabledItemHandler, pressedItem, hoveredItem} = this;\n\n if (disabledItemHandler(item)) {\n return TuiInteractiveState.Disabled;\n }\n\n if (pressedItem && pressedItem.daySame(item)) {\n return TuiInteractiveState.Pressed;\n }\n\n if (hoveredItem && hoveredItem.daySame(item)) {\n return TuiInteractiveState.Hovered;\n }\n\n return null;\n }\n\n getItemRange(item: TuiDay): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (!value) {\n return null;\n }\n\n if (value instanceof TuiDay) {\n return value.daySame(item) ? TuiRangeState.Single : null;\n }\n\n if (\n (value.from.daySame(item) && !value.isSingleDay) ||\n (hoveredItem &&\n hoveredItem.dayAfter(value.from) &&\n value.from.daySame(item) &&\n value.isSingleDay) ||\n (hoveredItem &&\n hoveredItem.daySame(item) &&\n hoveredItem.dayBefore(value.from) &&\n value.isSingleDay)\n ) {\n return TuiRangeState.Start;\n }\n\n if (\n (value.to.daySame(item) && !value.isSingleDay) ||\n (hoveredItem &&\n hoveredItem.dayBefore(value.from) &&\n value.from.daySame(item) &&\n value.isSingleDay) ||\n (hoveredItem &&\n hoveredItem.daySame(item) &&\n hoveredItem.dayAfter(value.from) &&\n value.isSingleDay)\n ) {\n return TuiRangeState.End;\n }\n\n return value.isSingleDay && value.from.daySame(item)\n ? TuiRangeState.Single\n : null;\n }\n\n itemIsDisabled(day: TuiDay): boolean {\n const {disabledItemHandler} = this;\n\n return disabledItemHandler(day);\n }\n\n itemIsToday(item: TuiDay): boolean {\n return this.today.daySame(item);\n }\n\n itemIsUnavailable(item: TuiDay): boolean {\n return !this.month.monthSame(item);\n }\n\n itemIsInterval(day: TuiDay): boolean {\n const {value, hoveredItem} = this;\n\n if (value === null || value instanceof TuiDay) {\n return false;\n }\n\n if (!value.isSingleDay) {\n return value.from.daySameOrBefore(day) && value.to.dayAfter(day);\n }\n\n if (hoveredItem === null) {\n return false;\n }\n\n const range = TuiDayRange.sort(value.from, hoveredItem);\n\n return range.from.daySameOrBefore(day) && range.to.dayAfter(day);\n }\n\n onItemHovered(item: TuiDay | false) {\n this.updateHoveredItem(item || null);\n }\n\n onItemPressed(item: TuiDay | false) {\n this.pressedItem = item || null;\n }\n\n onItemClick(item: TuiDay) {\n this.dayClick.emit(item);\n }\n\n private updateHoveredItem(day: TuiDay | null) {\n if (nullableSame(this.hoveredItem, day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem = day;\n this.hoveredItemChange.emit(day);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiHoveredModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiPressedModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {TuiColorModule} from '@taiga-ui/core/directives/color';\nimport {TuiCalendarSheetPipeModule} from '@taiga-ui/core/pipes';\nimport {TuiPrimitiveCalendarComponent} from './primitive-calendar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiRepeatTimesModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiColorModule,\n TuiCalendarSheetPipeModule,\n ],\n declarations: [TuiPrimitiveCalendarComponent],\n exports: [TuiPrimitiveCalendarComponent],\n})\nexport class TuiPrimitiveCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-primitive-calendar.js","sources":["ng://@taiga-ui/core/components/primitive-calendar/primitive-calendar.component.ts","ng://@taiga-ui/core/components/primitive-calendar/primitive-calendar.module.ts","ng://@taiga-ui/core/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n nullableSame,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n tuiDefaultProp,\n TuiMonth,\n} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_MARKER_HANDLER} from '@taiga-ui/core/constants';\nimport {TuiInteractiveState, TuiRangeState} from '@taiga-ui/core/enums';\nimport {TUI_ORDERED_SHORT_WEEK_DAYS, WEEK_DAYS_NAMES} from '@taiga-ui/core/tokens';\nimport {TuiColor, TuiMarkerHandler} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\n// @dynamic\n@Component({\n selector: 'tui-primitive-calendar',\n templateUrl: './primitive-calendar.template.html',\n styleUrls: ['./primitive-calendar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPrimitiveCalendarComponent {\n private pressedItem: TuiDay | null = null;\n private today = TuiDay.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n month: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n value: TuiDayRange | TuiDay | null = null;\n\n @Input()\n @tuiDefaultProp()\n hoveredItem: TuiDay | null = null;\n\n @Input()\n @tuiDefaultProp()\n showAdjacent = true;\n\n @Output()\n readonly hoveredItemChange = new EventEmitter<TuiDay | null>();\n\n @Output()\n readonly dayClick = new EventEmitter<TuiDay>();\n\n constructor(\n @Inject(TUI_ORDERED_SHORT_WEEK_DAYS)\n readonly weekDays$: Observable<WEEK_DAYS_NAMES>,\n ) {}\n\n @HostBinding('class._single')\n get isSingle(): boolean {\n return (\n this.value !== null &&\n (this.value instanceof TuiDay || this.value.isSingleDay)\n );\n }\n\n readonly toMarkers = (\n day: TuiDay,\n today: boolean,\n inRange: boolean,\n ): null | [TuiColor | string] | [TuiColor | string, TuiColor | string] => {\n if (today || inRange) {\n return null;\n }\n\n const markers = this.markerHandler(day);\n\n return markers.length === 0 ? null : markers;\n };\n\n getItemState(item: TuiDay): TuiInteractiveState | null {\n const {disabledItemHandler, pressedItem, hoveredItem} = this;\n\n if (disabledItemHandler(item)) {\n return TuiInteractiveState.Disabled;\n }\n\n if (pressedItem && pressedItem.daySame(item)) {\n return TuiInteractiveState.Pressed;\n }\n\n if (hoveredItem && hoveredItem.daySame(item)) {\n return TuiInteractiveState.Hovered;\n }\n\n return null;\n }\n\n getItemRange(item: TuiDay): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (!value) {\n return null;\n }\n\n if (value instanceof TuiDay) {\n return value.daySame(item) ? TuiRangeState.Single : null;\n }\n\n if (\n (value.from.daySame(item) && !value.isSingleDay) ||\n (hoveredItem &&\n hoveredItem.dayAfter(value.from) &&\n value.from.daySame(item) &&\n value.isSingleDay) ||\n (hoveredItem &&\n hoveredItem.daySame(item) &&\n hoveredItem.dayBefore(value.from) &&\n value.isSingleDay)\n ) {\n return TuiRangeState.Start;\n }\n\n if (\n (value.to.daySame(item) && !value.isSingleDay) ||\n (hoveredItem &&\n hoveredItem.dayBefore(value.from) &&\n value.from.daySame(item) &&\n value.isSingleDay) ||\n (hoveredItem &&\n hoveredItem.daySame(item) &&\n hoveredItem.dayAfter(value.from) &&\n value.isSingleDay)\n ) {\n return TuiRangeState.End;\n }\n\n return value.isSingleDay && value.from.daySame(item)\n ? TuiRangeState.Single\n : null;\n }\n\n itemIsDisabled(day: TuiDay): boolean {\n const {disabledItemHandler} = this;\n\n return disabledItemHandler(day);\n }\n\n itemIsToday(item: TuiDay): boolean {\n return this.today.daySame(item);\n }\n\n itemIsUnavailable(item: TuiDay): boolean {\n return !this.month.monthSame(item);\n }\n\n itemIsInterval(day: TuiDay): boolean {\n const {value, hoveredItem} = this;\n\n if (value === null || value instanceof TuiDay) {\n return false;\n }\n\n if (!value.isSingleDay) {\n return value.from.daySameOrBefore(day) && value.to.dayAfter(day);\n }\n\n if (hoveredItem === null) {\n return false;\n }\n\n const range = TuiDayRange.sort(value.from, hoveredItem);\n\n return range.from.daySameOrBefore(day) && range.to.dayAfter(day);\n }\n\n onItemHovered(item: TuiDay | false) {\n this.updateHoveredItem(item || null);\n }\n\n onItemPressed(item: TuiDay | false) {\n this.pressedItem = item || null;\n }\n\n onItemClick(item: TuiDay) {\n this.dayClick.emit(item);\n }\n\n private updateHoveredItem(day: TuiDay | null) {\n if (nullableSame(this.hoveredItem, day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem = day;\n this.hoveredItemChange.emit(day);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiHoveredModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiPressedModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {TuiColorModule} from '@taiga-ui/core/directives/color';\nimport {TuiCalendarSheetPipeModule} from '@taiga-ui/core/pipes';\n\nimport {TuiPrimitiveCalendarComponent} from './primitive-calendar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiRepeatTimesModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiColorModule,\n TuiCalendarSheetPipeModule,\n ],\n declarations: [TuiPrimitiveCalendarComponent],\n exports: [TuiPrimitiveCalendarComponent],\n})\nexport class TuiPrimitiveCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { InjectionToken, Inject, Input, HostBinding, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
2
2
  import { __decorate, __param } from 'tslib';
3
- import { tuiDefaultProp, tuiPure } from '@taiga-ui/cdk';
3
+ import { tuiDefaultProp } from '@taiga-ui/cdk';
4
4
  import { TuiSvgModule } from '@taiga-ui/core/components/svg';
5
5
  import { TuiWrapperModule } from '@taiga-ui/core/components/wrapper';
6
6
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
@@ -30,13 +30,13 @@ const TUI_CHECKBOX_OPTIONS = new InjectionToken('Default parameters for checkbox
30
30
  let TuiPrimitiveCheckboxComponent = class TuiPrimitiveCheckboxComponent {
31
31
  constructor(options) {
32
32
  this.options = options;
33
- this.icon = this.options.icons.checked;
34
33
  this.size = this.options.size;
35
34
  this.disabled = false;
36
35
  this.focused = false;
37
36
  this.hovered = false;
38
37
  this.pressed = false;
39
38
  this.invalid = false;
39
+ this.icon = this.options.icons.checked;
40
40
  this.value = false;
41
41
  }
42
42
  set valueSetter(value) {
@@ -58,12 +58,6 @@ let TuiPrimitiveCheckboxComponent = class TuiPrimitiveCheckboxComponent {
58
58
  get empty() {
59
59
  return this.value === false;
60
60
  }
61
- get context() {
62
- return this.getContext(this.size);
63
- }
64
- getContext($implicit) {
65
- return { $implicit };
66
- }
67
61
  setCurrentIcon(value) {
68
62
  this.icon =
69
63
  value === null
@@ -103,13 +97,10 @@ __decorate([
103
97
  Input('value'),
104
98
  tuiDefaultProp()
105
99
  ], TuiPrimitiveCheckboxComponent.prototype, "valueSetter", null);
106
- __decorate([
107
- tuiPure
108
- ], TuiPrimitiveCheckboxComponent.prototype, "getContext", null);
109
100
  TuiPrimitiveCheckboxComponent = __decorate([
110
101
  Component({
111
102
  selector: 'tui-primitive-checkbox',
112
- template: "<tui-wrapper\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focused]=\"focused\"\n [hovered]=\"hovered\"\n [pressed]=\"pressed\"\n [invalid]=\"invalid\"\n>\n <span polymorpheus-outlet [content]=\"icon\" [context]=\"context\">\n <ng-template let-icon>\n <tui-svg\n class=\"mark\"\n [class.mark_on]=\"!empty\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </span>\n</tui-wrapper>\n",
103
+ template: "<tui-wrapper\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focused]=\"focused\"\n [hovered]=\"hovered\"\n [pressed]=\"pressed\"\n [invalid]=\"invalid\"\n>\n <span polymorpheus-outlet [content]=\"icon\" [context]=\"{$implicit: size}\">\n <ng-template let-icon>\n <tui-svg\n class=\"mark\"\n [class.mark_on]=\"!empty\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </span>\n</tui-wrapper>\n",
113
104
  changeDetection: ChangeDetectionStrategy.OnPush,
114
105
  styles: [":host{display:block;font-size:0;flex-shrink:0}:host[data-tui-host-size='m']{width:1rem;height:1rem;border-radius:var(--tui-radius-xs)}:host[data-tui-host-size='l']{width:1.5rem;height:1.5rem;border-radius:var(--tui-radius-s)}.mark{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:block;width:100%;height:100%;transform:scale(0)}.mark_on{transform:scale(1)}"]
115
106
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-primitive-checkbox.js","sources":["ng://@taiga-ui/core/components/primitive-checkbox/checkbox-options.ts","ng://@taiga-ui/core/components/primitive-checkbox/primitive-checkbox.component.ts","ng://@taiga-ui/core/components/primitive-checkbox/primitive-checkbox.module.ts","ng://@taiga-ui/core/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TuiSizeL} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface CheckboxOptions {\n readonly size: TuiSizeL;\n readonly appearances: Readonly<{\n unchecked: string;\n checked: string;\n indeterminate: string;\n }>;\n readonly icons: Readonly<{\n checked: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n indeterminate: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n }>;\n}\n\n/** Default values for the checkbox options. */\nexport const TUI_CHECKBOX_DEFAULT_OPTIONS: CheckboxOptions = {\n size: 'm',\n appearances: {\n unchecked: TuiAppearance.Outline,\n checked: TuiAppearance.Primary,\n indeterminate: TuiAppearance.Primary,\n },\n icons: {\n checked({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconCheck' : 'tuiIconCheckLarge';\n },\n indeterminate({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconMinus' : 'tuiIconMinusLarge';\n },\n },\n};\n\nexport const TUI_CHECKBOX_OPTIONS = new InjectionToken<CheckboxOptions>(\n 'Default parameters for checkbox component',\n {\n factory: () => TUI_CHECKBOX_DEFAULT_OPTIONS,\n },\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {TuiContextWithImplicit, tuiDefaultProp, tuiPure} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {CheckboxOptions, TUI_CHECKBOX_OPTIONS} from './checkbox-options';\n\n// @dynamic\n@Component({\n selector: 'tui-primitive-checkbox',\n templateUrl: './primitive-checkbox.template.html',\n styleUrls: ['./primitive-checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPrimitiveCheckboxComponent {\n icon: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> =\n this.options.icons.checked;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n focused = false;\n\n @Input()\n @tuiDefaultProp()\n hovered = false;\n\n @Input()\n @tuiDefaultProp()\n pressed = false;\n\n @Input()\n @tuiDefaultProp()\n invalid = false;\n\n @Input('value')\n @tuiDefaultProp()\n set valueSetter(value: boolean | null) {\n if (value !== false) {\n this.setCurrentIcon(value);\n }\n\n this.value = value;\n }\n\n value: boolean | null = false;\n\n constructor(\n @Inject(TUI_CHECKBOX_OPTIONS) private readonly options: CheckboxOptions,\n ) {}\n\n get appearance(): string {\n switch (this.value) {\n case false:\n return this.options.appearances.unchecked;\n case true:\n return this.options.appearances.checked;\n default:\n return this.options.appearances.indeterminate;\n }\n }\n\n get empty(): boolean {\n return this.value === false;\n }\n\n get context(): TuiContextWithImplicit<TuiSizeL> {\n return this.getContext(this.size);\n }\n\n @tuiPure\n private getContext($implicit: TuiSizeL): TuiContextWithImplicit<TuiSizeL> {\n return {$implicit};\n }\n\n private setCurrentIcon(value: null | boolean) {\n this.icon =\n value === null\n ? this.options.icons.indeterminate\n : this.options.icons.checked;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiWrapperModule} from '@taiga-ui/core/components/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPrimitiveCheckboxComponent} from './primitive-checkbox.component';\n\n@NgModule({\n imports: [TuiSvgModule, TuiWrapperModule, PolymorpheusModule],\n declarations: [TuiPrimitiveCheckboxComponent],\n exports: [TuiPrimitiveCheckboxComponent],\n})\nexport class TuiPrimitiveCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-primitive-checkbox.js","sources":["ng://@taiga-ui/core/components/primitive-checkbox/checkbox-options.ts","ng://@taiga-ui/core/components/primitive-checkbox/primitive-checkbox.component.ts","ng://@taiga-ui/core/components/primitive-checkbox/primitive-checkbox.module.ts","ng://@taiga-ui/core/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TuiSizeL} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface CheckboxOptions {\n readonly size: TuiSizeL;\n readonly appearances: Readonly<{\n unchecked: string;\n checked: string;\n indeterminate: string;\n }>;\n readonly icons: Readonly<{\n checked: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n indeterminate: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n }>;\n}\n\n/** Default values for the checkbox options. */\nexport const TUI_CHECKBOX_DEFAULT_OPTIONS: CheckboxOptions = {\n size: 'm',\n appearances: {\n unchecked: TuiAppearance.Outline,\n checked: TuiAppearance.Primary,\n indeterminate: TuiAppearance.Primary,\n },\n icons: {\n checked({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconCheck' : 'tuiIconCheckLarge';\n },\n indeterminate({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconMinus' : 'tuiIconMinusLarge';\n },\n },\n};\n\nexport const TUI_CHECKBOX_OPTIONS = new InjectionToken<CheckboxOptions>(\n 'Default parameters for checkbox component',\n {\n factory: () => TUI_CHECKBOX_DEFAULT_OPTIONS,\n },\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {TuiContextWithImplicit, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {CheckboxOptions, TUI_CHECKBOX_OPTIONS} from './checkbox-options';\n\n// @dynamic\n@Component({\n selector: 'tui-primitive-checkbox',\n templateUrl: './primitive-checkbox.template.html',\n styleUrls: ['./primitive-checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPrimitiveCheckboxComponent {\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n focused = false;\n\n @Input()\n @tuiDefaultProp()\n hovered = false;\n\n @Input()\n @tuiDefaultProp()\n pressed = false;\n\n @Input()\n @tuiDefaultProp()\n invalid = false;\n\n @Input('value')\n @tuiDefaultProp()\n set valueSetter(value: boolean | null) {\n if (value !== false) {\n this.setCurrentIcon(value);\n }\n\n this.value = value;\n }\n\n icon: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> =\n this.options.icons.checked;\n\n value: boolean | null = false;\n\n constructor(\n @Inject(TUI_CHECKBOX_OPTIONS) private readonly options: CheckboxOptions,\n ) {}\n\n get appearance(): string {\n switch (this.value) {\n case false:\n return this.options.appearances.unchecked;\n case true:\n return this.options.appearances.checked;\n default:\n return this.options.appearances.indeterminate;\n }\n }\n\n get empty(): boolean {\n return this.value === false;\n }\n\n private setCurrentIcon(value: null | boolean) {\n this.icon =\n value === null\n ? this.options.icons.indeterminate\n : this.options.icons.checked;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiWrapperModule} from '@taiga-ui/core/components/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPrimitiveCheckboxComponent} from './primitive-checkbox.component';\n\n@NgModule({\n imports: [TuiSvgModule, TuiWrapperModule, PolymorpheusModule],\n declarations: [TuiPrimitiveCheckboxComponent],\n exports: [TuiPrimitiveCheckboxComponent],\n})\nexport class TuiPrimitiveCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __param } from 'tslib';
2
- import { EventEmitter, Inject, Input, Output, ViewChild, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
2
+ import { EventEmitter, Inject, ViewChild, Input, Output, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
3
  import { AbstractTuiInteractive, isNativeFocused, tuiDefaultProp, TuiFocusVisibleModule, TuiFocusedModule, TuiFocusableModule, TuiPreventDefaultModule } from '@taiga-ui/cdk';
4
4
  import { TUI_SPIN_TEXTS } from '@taiga-ui/core/tokens';
5
5
  import { Observable } from 'rxjs';
@@ -47,6 +47,9 @@ let TuiPrimitiveSpinButtonComponent = class TuiPrimitiveSpinButtonComponent exte
47
47
  TuiPrimitiveSpinButtonComponent.ctorParameters = () => [
48
48
  { type: Observable, decorators: [{ type: Inject, args: [TUI_SPIN_TEXTS,] }] }
49
49
  ];
50
+ __decorate([
51
+ ViewChild('wrapper')
52
+ ], TuiPrimitiveSpinButtonComponent.prototype, "wrapper", void 0);
50
53
  __decorate([
51
54
  Input(),
52
55
  tuiDefaultProp()
@@ -69,14 +72,11 @@ __decorate([
69
72
  __decorate([
70
73
  Output()
71
74
  ], TuiPrimitiveSpinButtonComponent.prototype, "rightClick", void 0);
72
- __decorate([
73
- ViewChild('wrapper')
74
- ], TuiPrimitiveSpinButtonComponent.prototype, "wrapper", void 0);
75
75
  TuiPrimitiveSpinButtonComponent = __decorate([
76
76
  Component({
77
77
  selector: 'tui-primitive-spin-button',
78
78
  changeDetection: ChangeDetectionStrategy.OnPush,
79
- template: "<div\n *ngIf=\"spinTexts$ | async as texts\"\n class=\"wrapper\"\n tuiPreventDefault=\"mousedown\"\n #wrapper\n [tuiFocusable]=\"computedFocusable\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n (keydown.arrowLeft)=\"onLeftClick()\"\n (keydown.arrowRight)=\"onRightClick()\"\n>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__left\"\n icon=\"tuiIconChevronLeftLarge\"\n class=\"arrow\"\n [class.arrow_hidden]=\"leftComputedDisabled\"\n [title]=\"texts[0]\"\n [focusable]=\"false\"\n (click)=\"onLeftClick()\"\n ></button>\n <span class=\"content\">\n <ng-content></ng-content>\n </span>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__right\"\n icon=\"tuiIconChevronRightLarge\"\n class=\"arrow\"\n [class.arrow_hidden]=\"rightComputedDisabled\"\n [title]=\"texts[1]\"\n [focusable]=\"false\"\n (click)=\"onRightClick()\"\n ></button>\n</div>\n",
79
+ template: "<div\n *ngIf=\"spinTexts$ | async as texts\"\n #wrapper\n tuiPreventDefault=\"mousedown\"\n class=\"wrapper\"\n [tuiFocusable]=\"computedFocusable\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n (keydown.arrowLeft)=\"onLeftClick()\"\n (keydown.arrowRight)=\"onRightClick()\"\n>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__left\"\n icon=\"tuiIconChevronLeftLarge\"\n class=\"arrow\"\n [class.arrow_hidden]=\"leftComputedDisabled\"\n [title]=\"texts[0]\"\n [focusable]=\"false\"\n (click)=\"onLeftClick()\"\n ></button>\n <span class=\"content\">\n <ng-content></ng-content>\n </span>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__right\"\n icon=\"tuiIconChevronRightLarge\"\n class=\"arrow\"\n [class.arrow_hidden]=\"rightComputedDisabled\"\n [title]=\"texts[1]\"\n [focusable]=\"false\"\n (click)=\"onRightClick()\"\n ></button>\n</div>\n",
80
80
  styles: [":host{display:block;font:var(--tui-font-text-l);text-align:center;font-weight:700}.wrapper{display:flex;align-items:center;justify-content:space-between;outline:0}.arrow{margin:0 .25rem}.arrow_hidden{visibility:hidden}.content{padding:0 .5rem}:host._focus-visible .content{box-shadow:0 0 0 1px var(--tui-focus)}"]
81
81
  }),
82
82
  __param(0, Inject(TUI_SPIN_TEXTS))
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-primitive-spin-button.js","sources":["ng://@taiga-ui/core/components/primitive-spin-button/primitive-spin-button.component.ts","ng://@taiga-ui/core/components/primitive-spin-button/primitive-spin-button.module.ts","ng://@taiga-ui/core/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {AbstractTuiInteractive, isNativeFocused, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TUI_SPIN_TEXTS} from '@taiga-ui/core/tokens';\nimport {Observable} from 'rxjs';\n\n// @dynamic\n@Component({\n selector: 'tui-primitive-spin-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './primitive-spin-button.template.html',\n styleUrls: ['./primitive-spin-button.style.less'],\n})\nexport class TuiPrimitiveSpinButtonComponent extends AbstractTuiInteractive {\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n mode: TuiAppearance = TuiAppearance.Flat;\n\n @Input()\n @tuiDefaultProp()\n leftDisabled = false;\n\n @Input()\n @tuiDefaultProp()\n rightDisabled = false;\n\n @Output()\n readonly leftClick = new EventEmitter<void>();\n\n @Output()\n readonly rightClick = new EventEmitter<void>();\n\n @ViewChild('wrapper')\n private readonly wrapper?: ElementRef<HTMLElement>;\n\n constructor(\n @Inject(TUI_SPIN_TEXTS) readonly spinTexts$: Observable<[string, string]>,\n ) {\n super();\n }\n\n get focused(): boolean {\n return !!this.wrapper && isNativeFocused(this.wrapper.nativeElement);\n }\n\n get leftComputedDisabled(): boolean {\n return this.computedDisabled || this.leftDisabled;\n }\n\n get rightComputedDisabled(): boolean {\n return this.computedDisabled || this.rightDisabled;\n }\n\n onLeftClick() {\n if (!this.leftComputedDisabled) {\n this.leftClick.emit();\n }\n }\n\n onRightClick() {\n if (!this.rightComputedDisabled) {\n this.rightClick.emit();\n }\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\n\nimport {TuiPrimitiveSpinButtonComponent} from './primitive-spin-button.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusVisibleModule,\n TuiFocusedModule,\n TuiFocusableModule,\n TuiPreventDefaultModule,\n TuiButtonModule,\n ],\n declarations: [TuiPrimitiveSpinButtonComponent],\n exports: [TuiPrimitiveSpinButtonComponent],\n})\nexport class TuiPrimitiveSpinButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAeA;IAOa,+BAA+B,GAA5C,MAAa,+BAAgC,SAAQ,sBAAsB;IA0BvE,YACqC,UAAwC;QAEzE,KAAK,EAAE,CAAC;QAFyB,eAAU,GAAV,UAAU,CAA8B;QAxB7E,aAAQ,GAAG,KAAK,CAAC;QAIjB,SAAI,qBAAqC;QAIzC,iBAAY,GAAG,KAAK,CAAC;QAIrB,kBAAa,GAAG,KAAK,CAAC;QAGb,cAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;QAGrC,eAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;KAS9C;IAED,IAAI,OAAO;QACP,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;KACxE;IAED,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,YAAY,CAAC;KACrD;IAED,IAAI,qBAAqB;QACrB,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,CAAC;KACtD;IAED,WAAW;QACP,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACzB;KACJ;IAED,YAAY;QACR,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SAC1B;KACJ;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,cAAc,CAAC,YAAqB;QAChC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;KACzC;EACJ;;YApCoD,UAAU,uBAAtD,MAAM,SAAC,cAAc;;AAxB1B;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;iEACA;AAIjB;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;6DACwB;AAIzC;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;qEACI;AAIrB;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;sEACK;AAGtB;IADC,MAAM,EAAE;kEACqC;AAG9C;IADC,MAAM,EAAE;mEACsC;AAG/C;IADC,SAAS,CAAC,SAAS,CAAC;gEAC8B;AAxB1C,+BAA+B;IAN3C,SAAS,CAAC;QACP,QAAQ,EAAE,2BAA2B;QACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,4uCAAoD;;KAEvD,CAAC;IA4BO,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;GA3BlB,+BAA+B,CA+D3C;;IC7DY,4BAA4B,GAAzC,MAAa,4BAA4B;EAAG;AAA/B,4BAA4B;IAZxC,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,YAAY;YACZ,qBAAqB;YACrB,gBAAgB;YAChB,kBAAkB;YAClB,uBAAuB;YACvB,eAAe;SAClB;QACD,YAAY,EAAE,CAAC,+BAA+B,CAAC;QAC/C,OAAO,EAAE,CAAC,+BAA+B,CAAC;KAC7C,CAAC;GACW,4BAA4B,CAAG;;ACxB5C;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-primitive-spin-button.js","sources":["ng://@taiga-ui/core/components/primitive-spin-button/primitive-spin-button.component.ts","ng://@taiga-ui/core/components/primitive-spin-button/primitive-spin-button.module.ts","ng://@taiga-ui/core/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {AbstractTuiInteractive, isNativeFocused, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TUI_SPIN_TEXTS} from '@taiga-ui/core/tokens';\nimport {Observable} from 'rxjs';\n\n// @dynamic\n@Component({\n selector: 'tui-primitive-spin-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './primitive-spin-button.template.html',\n styleUrls: ['./primitive-spin-button.style.less'],\n})\nexport class TuiPrimitiveSpinButtonComponent extends AbstractTuiInteractive {\n @ViewChild('wrapper')\n private readonly wrapper?: ElementRef<HTMLElement>;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n mode: TuiAppearance = TuiAppearance.Flat;\n\n @Input()\n @tuiDefaultProp()\n leftDisabled = false;\n\n @Input()\n @tuiDefaultProp()\n rightDisabled = false;\n\n @Output()\n readonly leftClick = new EventEmitter<void>();\n\n @Output()\n readonly rightClick = new EventEmitter<void>();\n\n constructor(\n @Inject(TUI_SPIN_TEXTS) readonly spinTexts$: Observable<[string, string]>,\n ) {\n super();\n }\n\n get focused(): boolean {\n return !!this.wrapper && isNativeFocused(this.wrapper.nativeElement);\n }\n\n get leftComputedDisabled(): boolean {\n return this.computedDisabled || this.leftDisabled;\n }\n\n get rightComputedDisabled(): boolean {\n return this.computedDisabled || this.rightDisabled;\n }\n\n onLeftClick() {\n if (!this.leftComputedDisabled) {\n this.leftClick.emit();\n }\n }\n\n onRightClick() {\n if (!this.rightComputedDisabled) {\n this.rightClick.emit();\n }\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\n\nimport {TuiPrimitiveSpinButtonComponent} from './primitive-spin-button.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusVisibleModule,\n TuiFocusedModule,\n TuiFocusableModule,\n TuiPreventDefaultModule,\n TuiButtonModule,\n ],\n declarations: [TuiPrimitiveSpinButtonComponent],\n exports: [TuiPrimitiveSpinButtonComponent],\n})\nexport class TuiPrimitiveSpinButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAeA;IAOa,+BAA+B,GAA5C,MAAa,+BAAgC,SAAQ,sBAAsB;IA0BvE,YACqC,UAAwC;QAEzE,KAAK,EAAE,CAAC;QAFyB,eAAU,GAAV,UAAU,CAA8B;QArB7E,aAAQ,GAAG,KAAK,CAAC;QAIjB,SAAI,qBAAqC;QAIzC,iBAAY,GAAG,KAAK,CAAC;QAIrB,kBAAa,GAAG,KAAK,CAAC;QAGb,cAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;QAGrC,eAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;KAM9C;IAED,IAAI,OAAO;QACP,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;KACxE;IAED,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,YAAY,CAAC;KACrD;IAED,IAAI,qBAAqB;QACrB,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,CAAC;KACtD;IAED,WAAW;QACP,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACzB;KACJ;IAED,YAAY;QACR,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SAC1B;KACJ;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,cAAc,CAAC,YAAqB;QAChC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;KACzC;EACJ;;YApCoD,UAAU,uBAAtD,MAAM,SAAC,cAAc;;AAzB1B;IADC,SAAS,CAAC,SAAS,CAAC;gEAC8B;AAInD;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;iEACA;AAIjB;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;6DACwB;AAIzC;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;qEACI;AAIrB;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;sEACK;AAGtB;IADC,MAAM,EAAE;kEACqC;AAG9C;IADC,MAAM,EAAE;mEACsC;AAxBtC,+BAA+B;IAN3C,SAAS,CAAC;QACP,QAAQ,EAAE,2BAA2B;QACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,4uCAAoD;;KAEvD,CAAC;IA4BO,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;GA3BlB,+BAA+B,CA+D3C;;IC7DY,4BAA4B,GAAzC,MAAa,4BAA4B;EAAG;AAA/B,4BAA4B;IAZxC,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,YAAY;YACZ,qBAAqB;YACrB,gBAAgB;YAChB,kBAAkB;YAClB,uBAAuB;YACvB,eAAe;SAClB;QACD,YAAY,EAAE,CAAC,+BAA+B,CAAC;QAC/C,OAAO,EAAE,CAAC,+BAA+B,CAAC;KAC7C,CAAC;GACW,4BAA4B,CAAG;;ACxB5C;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __param } from 'tslib';
2
- import { forwardRef, EventEmitter, Inject, Input, HostBinding, Output, ViewChild, ContentChildren, Component, ChangeDetectionStrategy, ElementRef, NgModule } from '@angular/core';
2
+ import { forwardRef, EventEmitter, Inject, ViewChild, Input, HostBinding, Output, ContentChildren, Component, ChangeDetectionStrategy, ElementRef, NgModule } from '@angular/core';
3
3
  import { TUI_FOCUSABLE_ITEM_ACCESSOR, AbstractTuiInteractive, isNativeFocused, setNativeFocused, tuiDefaultProp, tuiPure, TuiFocusableModule, TuiFocusedModule, TuiHoveredModule, TuiInputModeModule, TuiAutofilledModule, TuiPreventDefaultModule } from '@taiga-ui/cdk';
4
4
  import { HINT_CONTROLLER_PROVIDER, TuiHintControllerDirective, TUI_HINT_WATCHED_CONTROLLER } from '@taiga-ui/core/directives/hint-controller';
5
5
  import { TEXTFIELD_CONTROLLER_PROVIDER, TuiTextfieldController, TUI_TEXTFIELD_WATCHED_CONTROLLER } from '@taiga-ui/core/directives/textfield-controller';
@@ -39,6 +39,7 @@ let TuiPrimitiveTextfieldComponent = class TuiPrimitiveTextfieldComponent extend
39
39
  this.appearance = appearance;
40
40
  this.controller = controller;
41
41
  this.hintController = hintController;
42
+ this.autofilled = false;
42
43
  this.editable = true;
43
44
  this.filler = '';
44
45
  this.iconAlign = 'right';
@@ -52,7 +53,6 @@ let TuiPrimitiveTextfieldComponent = class TuiPrimitiveTextfieldComponent extend
52
53
  this.value = '';
53
54
  this.valueChange = new EventEmitter();
54
55
  this.autofilledChange = new EventEmitter();
55
- this.autofilled = false;
56
56
  }
57
57
  get nativeFocusableElement() {
58
58
  return this.computedDisabled || !this.focusableElement
@@ -75,9 +75,6 @@ let TuiPrimitiveTextfieldComponent = class TuiPrimitiveTextfieldComponent extend
75
75
  var _a;
76
76
  return !!((_a = this.content) === null || _a === void 0 ? void 0 : _a.length);
77
77
  }
78
- get isContextTable() {
79
- return this.appearance === "table" /* Table */;
80
- }
81
78
  get hasValue() {
82
79
  return !!this.value;
83
80
  }
@@ -175,6 +172,9 @@ TuiPrimitiveTextfieldComponent.ctorParameters = () => [
175
172
  { type: TuiTextfieldController, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_WATCHED_CONTROLLER,] }] },
176
173
  { type: TuiHintControllerDirective, decorators: [{ type: Inject, args: [TUI_HINT_WATCHED_CONTROLLER,] }] }
177
174
  ];
175
+ __decorate([
176
+ ViewChild('focusableElement')
177
+ ], TuiPrimitiveTextfieldComponent.prototype, "focusableElement", void 0);
178
178
  __decorate([
179
179
  Input(),
180
180
  tuiDefaultProp()
@@ -222,9 +222,6 @@ __decorate([
222
222
  __decorate([
223
223
  Output()
224
224
  ], TuiPrimitiveTextfieldComponent.prototype, "autofilledChange", void 0);
225
- __decorate([
226
- ViewChild('focusableElement')
227
- ], TuiPrimitiveTextfieldComponent.prototype, "focusableElement", void 0);
228
225
  __decorate([
229
226
  ContentChildren(PolymorpheusOutletComponent)
230
227
  ], TuiPrimitiveTextfieldComponent.prototype, "content", void 0);
@@ -243,13 +240,13 @@ __decorate([
243
240
  TuiPrimitiveTextfieldComponent = __decorate([
244
241
  Component({
245
242
  selector: 'tui-primitive-textfield',
246
- template: "<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<tui-wrapper\n automation-id=\"tui-primitive-textfield__wrapper\"\n tuiPreventDefault=\"click\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [pressed]=\"computedPressed\"\n [invalid]=\"computedInvalid\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <input\n #focusableElement\n tuiMaskAccessor\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"input\"\n [class.input_hidden]=\"inputHidden\"\n [style.textIndent.px]=\"decor.pre$ | async\"\n [attr.disabled]=\"computedDisabled || null\"\n [attr.maxLength]=\"controller.maxLength\"\n [attr.name]=\"name\"\n [attr.aria-placeholder]=\"controller.exampleText\"\n [attr.aria-invalid]=\"computedInvalid\"\n [autocomplete]=\"controller.autocomplete\"\n [type]=\"controller.type\"\n [id]=\"id\"\n [readOnly]=\"readOnly || !editable\"\n [tuiBorderStart]=\"borderLeft\"\n [tuiBorderEnd]=\"borderRight\"\n [tuiInputMode]=\"controller.inputMode\"\n [tuiFocusable]=\"computedFocusable\"\n [tuiDescribedBy]=\"id\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"input input_template\"\n [tuiBorderStart]=\"borderLeft\"\n [tuiBorderEnd]=\"borderRight\"\n >\n <ng-content select=\"[polymorpheus-outlet]\"></ng-content>\n </div>\n <div class=\"content\">\n <div\n polymorpheus-outlet\n *ngIf=\"iconAlignLeft\"\n class=\"icon icon_left\"\n [content]=\"iconContent\"\n [context]=\"{ $implicit: size }\"\n >\n <ng-template let-iconSrc>\n <tui-svg [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n <div class=\"wrapper\">\n <span\n aria-hidden=\"true\"\n class=\"value\"\n [class.value_visible]=\"isContextTable\"\n >\n {{value}}\n </span>\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"placeholder\"\n [class.placeholder_raised]=\"placeholderRaised\"\n [for]=\"id\"\n >\n <ng-content></ng-content>\n </label>\n <tui-value-decoration\n #decor\n automation-id=\"tui-primitive-textfield__value-decoration\"\n aria-hidden=\"true\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n ></tui-value-decoration>\n </div>\n <div\n polymorpheus-outlet\n *ngIf=\"hasCustomContent\"\n class=\"custom-content\"\n automation-id=\"tui-primitive-textfield__custom-content\"\n [content]=\"controller.customContent\"\n >\n <ng-template let-iconSrc>\n <tui-svg class=\"custom-icon\" [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n class=\"cleaner\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n src=\"tuiIconCloseLarge\"\n (click.stop)=\"clear()\"\n ></tui-svg>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n [describeId]=\"id\"\n [content]=\"hintController.content\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n ></tui-tooltip>\n <div\n polymorpheus-outlet\n *ngIf=\"iconAlignRight\"\n class=\"icon\"\n [content]=\"iconContent\"\n [context]=\"{ $implicit: size }\"\n >\n <ng-template let-iconSrc>\n <tui-svg [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n </div>\n</tui-wrapper>\n",
243
+ template: "<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<tui-wrapper\n automation-id=\"tui-primitive-textfield__wrapper\"\n tuiPreventDefault=\"click\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [pressed]=\"computedPressed\"\n [invalid]=\"computedInvalid\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <input\n #focusableElement\n tuiMaskAccessor\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"input\"\n [class.input_hidden]=\"inputHidden\"\n [style.textIndent.px]=\"decor.pre$ | async\"\n [attr.disabled]=\"computedDisabled || null\"\n [attr.maxLength]=\"controller.maxLength\"\n [attr.name]=\"name\"\n [attr.aria-placeholder]=\"controller.exampleText\"\n [attr.aria-invalid]=\"computedInvalid\"\n [autocomplete]=\"controller.autocomplete\"\n [type]=\"controller.type\"\n [id]=\"id\"\n [readOnly]=\"readOnly || !editable\"\n [tuiBorderStart]=\"borderLeft\"\n [tuiBorderEnd]=\"borderRight\"\n [tuiInputMode]=\"controller.inputMode\"\n [tuiFocusable]=\"computedFocusable\"\n [tuiDescribedBy]=\"id\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"input input_template\"\n [tuiBorderStart]=\"borderLeft\"\n [tuiBorderEnd]=\"borderRight\"\n >\n <ng-content select=\"[polymorpheus-outlet]\"></ng-content>\n </div>\n <div class=\"content\">\n <div\n *ngIf=\"iconAlignLeft\"\n polymorpheus-outlet\n class=\"icon icon_left\"\n [content]=\"iconContent\"\n [context]=\"{$implicit: size}\"\n >\n <ng-template let-iconSrc>\n <tui-svg [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n <div class=\"wrapper\">\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"placeholder\"\n [class.placeholder_raised]=\"placeholderRaised\"\n [for]=\"id\"\n >\n <ng-content></ng-content>\n </label>\n <tui-value-decoration\n #decor\n automation-id=\"tui-primitive-textfield__value-decoration\"\n aria-hidden=\"true\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n ></tui-value-decoration>\n </div>\n <div\n *ngIf=\"hasCustomContent\"\n polymorpheus-outlet\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"custom-content\"\n [content]=\"controller.customContent\"\n >\n <ng-template let-iconSrc>\n <tui-svg class=\"custom-icon\" [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"cleaner\"\n (click.stop)=\"clear()\"\n ></tui-svg>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n [describeId]=\"id\"\n [content]=\"hintController.content\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n ></tui-tooltip>\n <div\n *ngIf=\"iconAlignRight\"\n polymorpheus-outlet\n class=\"icon\"\n [content]=\"iconContent\"\n [context]=\"{$implicit: size}\"\n >\n <ng-template let-iconSrc>\n <tui-svg [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n </div>\n</tui-wrapper>\n",
247
244
  changeDetection: ChangeDetectionStrategy.OnPush,
248
245
  providers: TUI_PRIMITIVE_TEXTFIELD_PROVIDERS,
249
246
  host: {
250
247
  '($.data-mode.attr)': 'mode$',
251
248
  },
252
- styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m);text-align:left}:host[data-tui-host-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-tui-host-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-tui-host-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font-size:.9375rem}.input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;border:0 solid transparent;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit}.input:-webkit-autofill,.input:-webkit-autofill:focus,.input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host[data-mode=onDark] .input:-webkit-autofill,:host[data-mode=onDark] .input:-webkit-autofill:focus,:host[data-mode=onDark] .input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}:host[data-tui-host-size='s'] .input{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .input{padding:0 var(--tui-padding-l)}:host._disabled .input{pointer-events:none}:host._right-aligned .input{text-align:right}:host[data-tui-host-size='l']:not(._label-outside) .input{padding-top:1.25rem}:host[data-tui-host-size='l']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-tui-host-size='m']:not(._label-outside) .input{padding-top:1.125rem}:host[data-tui-host-size='m']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.filler{vertical-align:middle}.content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-tui-host-size='s'] .content{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .content{padding:0 var(--tui-padding-l)}.content:after{content:'';margin-right:-.25rem}:host[data-tui-host-size='m'] .content:after{display:none}.wrapper{flex:1;min-width:0;padding-right:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;-webkit-padding-start:0;padding-inline-start:0}.placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02)}.placeholder_raised{transform:translateY(-.625rem)}:host[data-tui-host-size='m'] .placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .placeholder_raised,:host._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .placeholder,:host[data-tui-host-size='l']._focused._label-outside .placeholder,:host[data-tui-host-size='m']._focused._label-outside .placeholder{color:var(--tui-text-03)}:host[data-tui-host-size='l'] .placeholder{font-size:.9375rem}:host[data-tui-host-size='l'] .placeholder_raised{font-size:.8156rem}:host[data-tui-host-size='l']._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m']._focused:not(._label-outside) .placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .placeholder{color:var(--tui-text-02-night)}:host[data-tui-host-size='l'][data-mode=onDark]._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused:not(._label-outside) .placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .placeholder,:host[data-tui-host-size='l'][data-mode=onDark]._focused._label-outside .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused._label-outside .placeholder{color:var(--tui-text-02-night)}.cleaner{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.cleaner:hover{color:var(--tui-text-02)}:host._disabled .cleaner,:host._readonly .cleaner{pointer-events:none}:host[data-mode=onDark] .cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .cleaner:hover{color:var(--tui-text-01-night)}.icon{display:flex;align-items:center;justify-content:center;color:var(--tui-text-03)}.icon_left{margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host[data-tui-host-size='s'] .icon_left{margin-right:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}.value{display:none;height:0;visibility:hidden;white-space:pre}.value_visible{display:block}.custom-content{position:relative;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-right:.25rem;pointer-events:none}.custom-icon{width:100%;height:100%}.icon{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);box-sizing:border-box;cursor:pointer;transition-property:color,transform;position:relative;pointer-events:none}.icon:hover{color:var(--tui-text-02)}:host._disabled .icon,:host._readonly .icon{pointer-events:none}:host[data-mode=onDark] .icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .icon:hover{color:var(--tui-text-01-night)}:host._hovered:not(._readonly) .icon{color:var(--tui-text-02)}:host[data-mode=onDark]._hovered:not(._readonly) .icon{color:var(--tui-text-01-night)}:host[data-mode=onLight]._hovered:not(._readonly) .icon{color:var(--tui-text-01)}.input_hidden{opacity:0;text-indent:-10em;-webkit-user-select:none}:host[data-tui-host-size] .input_template{display:flex;width:100%;max-width:100%;align-items:center;pointer-events:none}.input::-webkit-caps-lock-indicator{margin-right:.375rem;align-self:center}:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-caps-lock-indicator{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button,.input::-webkit-credentials-auto-fill-button,.input::-webkit-credit-card-auto-fill-button{background-color:var(--tui-text-03)}:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-contacts-auto-fill-button,:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-credentials-auto-fill-button,:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-credit-card-auto-fill-button{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button:hover,.input::-webkit-credentials-auto-fill-button:hover,.input::-webkit-credit-card-auto-fill-button:hover{background-color:var(--tui-text-02)}.text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]
249
+ styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m);text-align:left}:host[data-tui-host-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-tui-host-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-tui-host-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font-size:.9375rem}.input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;border:0 solid transparent;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit}.input:-webkit-autofill,.input:-webkit-autofill:focus,.input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host[data-mode=onDark] .input:-webkit-autofill,:host[data-mode=onDark] .input:-webkit-autofill:focus,:host[data-mode=onDark] .input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}:host[data-tui-host-size='s'] .input{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .input{padding:0 var(--tui-padding-l)}:host._disabled .input{pointer-events:none}:host._right-aligned .input{text-align:right}:host[data-tui-host-size='l']:not(._label-outside) .input{padding-top:1.25rem}:host[data-tui-host-size='l']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-tui-host-size='m']:not(._label-outside) .input{padding-top:1.125rem}:host[data-tui-host-size='m']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.filler{vertical-align:middle}.content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-tui-host-size='s'] .content{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .content{padding:0 var(--tui-padding-l)}.content:after{content:'';margin-right:-.25rem}:host[data-tui-host-size='m'] .content:after{display:none}.wrapper{flex:1;min-width:0;padding-right:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;-webkit-padding-start:0;padding-inline-start:0}.placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none}.placeholder_raised{transform:translateY(-.625rem)}:host[data-tui-host-size='m'] .placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .placeholder_raised,:host._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .placeholder,:host[data-tui-host-size='l']._focused._label-outside .placeholder,:host[data-tui-host-size='m']._focused._label-outside .placeholder{color:var(--tui-text-03)}:host[data-tui-host-size='l'] .placeholder{font-size:.9375rem}:host[data-tui-host-size='l'] .placeholder_raised{font-size:.8156rem}:host[data-tui-host-size='l']._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m']._focused:not(._label-outside) .placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .placeholder{color:var(--tui-text-02-night)}:host[data-tui-host-size='l'][data-mode=onDark]._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused:not(._label-outside) .placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .placeholder,:host[data-tui-host-size='l'][data-mode=onDark]._focused._label-outside .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused._label-outside .placeholder{color:var(--tui-text-02-night)}.cleaner{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.cleaner:hover{color:var(--tui-text-02)}:host._disabled .cleaner,:host._readonly .cleaner{pointer-events:none}:host[data-mode=onDark] .cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .cleaner:hover{color:var(--tui-text-01-night)}.icon{display:flex;align-items:center;justify-content:center;color:var(--tui-text-03)}.icon_left{margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host[data-tui-host-size='s'] .icon_left{margin-right:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}.value_visible{display:block}.custom-content{position:relative;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-right:.25rem;pointer-events:none}.custom-icon{width:100%;height:100%}.icon{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);box-sizing:border-box;cursor:pointer;transition-property:color,transform;position:relative;pointer-events:none}.icon:hover{color:var(--tui-text-02)}:host._disabled .icon,:host._readonly .icon{pointer-events:none}:host[data-mode=onDark] .icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .icon:hover{color:var(--tui-text-01-night)}:host._hovered:not(._readonly) .icon{color:var(--tui-text-02)}:host[data-mode=onDark]._hovered:not(._readonly) .icon{color:var(--tui-text-01-night)}:host[data-mode=onLight]._hovered:not(._readonly) .icon{color:var(--tui-text-01)}.input_hidden{opacity:0;text-indent:-10em;-webkit-user-select:none}:host[data-tui-host-size] .input_template{display:flex;width:100%;max-width:100%;align-items:center;pointer-events:none}.input::-webkit-caps-lock-indicator{margin-right:.375rem;align-self:center}:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-caps-lock-indicator{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button,.input::-webkit-credentials-auto-fill-button,.input::-webkit-credit-card-auto-fill-button{background-color:var(--tui-text-03)}:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-contacts-auto-fill-button,:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-credentials-auto-fill-button,:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-credit-card-auto-fill-button{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button:hover,.input::-webkit-credentials-auto-fill-button:hover,.input::-webkit-credit-card-auto-fill-button:hover{background-color:var(--tui-text-02)}.text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]
253
250
  }),
254
251
  __param(0, Inject(TUI_MODE)),
255
252
  __param(1, Inject(TUI_TEXTFIELD_APPEARANCE)),
@@ -263,6 +260,9 @@ let TuiValueDecorationComponent = class TuiValueDecorationComponent {
263
260
  this.controller = controller;
264
261
  this.pre$ = defer(() => { var _a, _b; return (_b = (_a = this.directive) === null || _a === void 0 ? void 0 : _a.waMutationObserver) !== null && _b !== void 0 ? _b : EMPTY; }).pipe(map(() => { var _a, _b; return (_b = (_a = this.pre) === null || _a === void 0 ? void 0 : _a.nativeElement.offsetWidth) !== null && _b !== void 0 ? _b : 0; }), startWith(0), distinctUntilChanged());
265
262
  }
263
+ get isContextTable() {
264
+ return this.textfield.appearance === "table" /* Table */;
265
+ }
266
266
  get value() {
267
267
  return this.textfield.value;
268
268
  }
@@ -302,13 +302,16 @@ __decorate([
302
302
  __decorate([
303
303
  ViewChild(MutationObserverDirective, { static: true })
304
304
  ], TuiValueDecorationComponent.prototype, "directive", void 0);
305
+ __decorate([
306
+ HostBinding('class._table')
307
+ ], TuiValueDecorationComponent.prototype, "isContextTable", null);
305
308
  TuiValueDecorationComponent = __decorate([
306
309
  Component({
307
310
  selector: 'tui-value-decoration',
308
- template: "<span #pre subtree characterData waMutationObserver>{{prefix}}</span>\n<span class=\"t-ghost\">{{value}}</span>\n<span class=\"t-filler\">{{filler}}</span>\n{{postfix}}\n",
311
+ template: "<span #pre subtree characterData waMutationObserver>{{ prefix }}</span>\n<span class=\"t-ghost\">{{ value }}</span>\n<span class=\"t-filler\">{{ filler }}</span>\n{{ postfix }}\n",
309
312
  // It follows Change Detection of PrimitiveTextfield
310
313
  changeDetection: ChangeDetectionStrategy.Default,
311
- styles: [":host{display:block;height:1.25rem;margin:-1.25rem 0;padding:.625rem 0;box-sizing:content-box;color:var(--tui-text-01);white-space:nowrap;overflow:hidden}:host-context(tui-textfield[data-mode=onDark]) :host{color:var(--tui-text-01-night)}.t-ghost{visibility:hidden;white-space:pre;text-overflow:clip}.t-filler{color:var(--tui-text-03)}:host-context(tui-textfield[data-mode=onDark]) .t-filler{color:var(--tui-text-03-night)}"]
314
+ styles: [":host{position:absolute;display:block;height:1.25rem;max-width:calc(100% - 2rem);margin:-1.25rem 0;padding:.625rem 0;box-sizing:content-box;color:var(--tui-text-01);white-space:nowrap;overflow:hidden}:host._table{position:static}:host-context(tui-textfield[data-mode=onDark]) :host{color:var(--tui-text-01-night)}.t-ghost{visibility:hidden;white-space:pre;text-overflow:clip}.t-filler{color:var(--tui-text-03)}:host-context(tui-textfield[data-mode=onDark]) .t-filler{color:var(--tui-text-03-night)}"]
312
315
  }),
313
316
  __param(0, Inject(TuiPrimitiveTextfieldComponent)),
314
317
  __param(1, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER$1))
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-primitive-textfield.js","sources":["ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.providers.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.component.ts","ng://@taiga-ui/core/components/primitive-textfield/value-decoration/value-decoration.component.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.module.ts","ng://@taiga-ui/core/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {HINT_CONTROLLER_PROVIDER} from '@taiga-ui/core/directives/hint-controller';\nimport {TEXTFIELD_CONTROLLER_PROVIDER} from '@taiga-ui/core/directives/textfield-controller';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\nexport const TUI_PRIMITIVE_TEXTFIELD_PROVIDERS = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiPrimitiveTextfieldComponent),\n },\n TEXTFIELD_CONTROLLER_PROVIDER,\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocused,\n setNativeFocused,\n TuiCreditCardAutofillName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_HINT_WATCHED_CONTROLLER,\n TuiHintControllerDirective,\n} from '@taiga-ui/core/directives/hint-controller';\nimport {\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives/textfield-controller';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TUI_MODE, TUI_TEXTFIELD_APPEARANCE} from '@taiga-ui/core/tokens';\nimport {\n TuiBrightness,\n TuiHorizontalDirection,\n TuiSizeL,\n TuiSizeS,\n} from '@taiga-ui/core/types';\nimport {getBorder} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusContent, PolymorpheusOutletComponent} from '@tinkoff/ng-polymorpheus';\nimport {fromEvent, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {TUI_PRIMITIVE_TEXTFIELD_PROVIDERS} from './primitive-textfield.providers';\n\nconst ICON_PADDING = 1.75;\nconst ICON_PADDING_S = 1.5;\n\n@Component({\n selector: 'tui-primitive-textfield',\n templateUrl: './primitive-textfield.template.html',\n styleUrls: ['./primitive-textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_PRIMITIVE_TEXTFIELD_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiPrimitiveTextfieldComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp()\n editable = true;\n\n @Input()\n @tuiDefaultProp()\n filler = '';\n\n @Input()\n @tuiDefaultProp()\n iconAlign: TuiHorizontalDirection = 'right';\n\n // TODO: Remove null in 3.0\n @Input()\n @tuiDefaultProp()\n iconContent: PolymorpheusContent | null = null;\n\n @Input()\n @HostBinding('class._readonly')\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n invalid = false;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n prefix = '';\n\n @Input()\n @tuiDefaultProp()\n postfix = '';\n\n @Input()\n @tuiDefaultProp()\n value = '';\n\n @Output()\n readonly valueChange = new EventEmitter<string>();\n\n @Output()\n readonly autofilledChange = new EventEmitter<boolean>();\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @ContentChildren(PolymorpheusOutletComponent)\n readonly content?: QueryList<unknown>;\n\n private autofilled = false;\n\n constructor(\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_HINT_WATCHED_CONTROLLER)\n readonly hintController: TuiHintControllerDirective,\n ) {\n super();\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.computedDisabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n @HostBinding('attr.data-tui-host-size')\n get size(): TuiSizeS | TuiSizeL {\n return this.controller.size;\n }\n\n @HostBinding('class._label-outside')\n get labelOutside(): boolean {\n return this.controller.labelOutside;\n }\n\n @HostBinding('class._invalid')\n get computedInvalid(): boolean {\n return !this.readOnly && !this.disabled && this.invalid;\n }\n\n get inputHidden(): boolean {\n return !!this.content?.length;\n }\n\n get isContextTable(): boolean {\n return this.appearance === TuiAppearance.Table;\n }\n\n get hasValue(): boolean {\n return !!this.value;\n }\n\n get hasCleaner(): boolean {\n return (\n this.controller.cleaner && this.hasValue && !this.disabled && !this.readOnly\n );\n }\n\n get hasTooltip(): boolean {\n return !!this.hintController?.content && !this.disabled;\n }\n\n get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n get hasPlaceholder(): boolean {\n const hasDecor = this.controller.exampleText || this.prefix || this.postfix;\n const showDecor = hasDecor && !this.readOnly && this.computedFocused;\n const placeholderVisible = !this.hasValue && !showDecor;\n\n return this.placeholderRaisable || placeholderVisible;\n }\n\n get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled)\n );\n }\n\n get borderLeft(): number {\n return this.iconAlignLeft ? this.iconPaddingLeft : 0;\n }\n\n get borderRight(): number {\n return getBorder(\n this.iconAlignRight,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n );\n }\n\n get iconAlignLeft(): boolean {\n return this.hasIcon && this.iconAlign === 'left';\n }\n\n get iconAlignRight(): boolean {\n return this.hasIcon && this.iconAlign === 'right';\n }\n\n // Safari expiration date autofill workaround\n get name(): 'ccexpiryyear' | null {\n return this.controller.autocomplete === TuiCreditCardAutofillName.CcExp\n ? 'ccexpiryyear'\n : null;\n }\n\n @tuiPure\n getIndent$(element: HTMLElement): Observable<number> {\n return fromEvent(element, 'scroll').pipe(map(() => -1 * element.scrollLeft));\n }\n\n clear() {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = '';\n }\n\n this.updateValue('');\n }\n\n onMouseDown(event: MouseEvent) {\n if (\n !this.focusableElement ||\n event.target === this.focusableElement.nativeElement\n ) {\n return;\n }\n\n event.preventDefault();\n setNativeFocused(this.focusableElement.nativeElement);\n }\n\n onModelChange(value: string) {\n this.updateValue(value);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onAutofilled(autofilled: boolean) {\n this.updateAutofilled(autofilled);\n }\n\n private get iconPaddingLeft(): number {\n return this.size === 's' ? ICON_PADDING_S : ICON_PADDING;\n }\n\n private get placeholderRaisable(): boolean {\n return this.size !== 's' && !this.labelOutside;\n }\n\n private get hasIcon(): boolean {\n return !!this.iconContent;\n }\n\n private updateAutofilled(autofilled: boolean) {\n if (this.autofilled === autofilled) {\n return;\n }\n\n this.autofilled = autofilled;\n this.autofilledChange.emit(autofilled);\n }\n\n private updateValue(value: string) {\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n ViewChild,\n} from '@angular/core';\nimport {MutationObserverDirective} from '@ng-web-apis/mutation-observer';\nimport {\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives';\nimport {defer, EMPTY} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\nimport {TuiPrimitiveTextfieldComponent} from '../primitive-textfield.component';\n\n@Component({\n selector: 'tui-value-decoration',\n templateUrl: 'value-decoration.template.html',\n styleUrls: ['value-decoration.style.less'],\n // It follows Change Detection of PrimitiveTextfield\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiValueDecorationComponent {\n readonly pre$ = defer(() => this.directive?.waMutationObserver ?? EMPTY).pipe(\n map(() => this.pre?.nativeElement.offsetWidth ?? 0),\n startWith(0),\n distinctUntilChanged(),\n );\n\n @ViewChild('pre', {read: ElementRef, static: true})\n private readonly pre?: ElementRef<HTMLElement>;\n\n @ViewChild(MutationObserverDirective, {static: true})\n private readonly directive?: MutationObserverDirective;\n\n constructor(\n @Inject(TuiPrimitiveTextfieldComponent)\n private readonly textfield: TuiPrimitiveTextfieldComponent,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n private readonly controller: TuiTextfieldController,\n ) {}\n\n get value(): string {\n return this.textfield.value;\n }\n\n get filler(): string {\n return this.focused\n ? this.exampleText || this.textfield.filler.slice(this.value.length)\n : '';\n }\n\n get prefix(): string {\n return this.decorationsVisible ? this.textfield.prefix : '';\n }\n\n get postfix(): string {\n return this.decorationsVisible ? this.computedPostfix : '';\n }\n\n private get exampleText(): string {\n return !this.value && this.focused ? this.controller.exampleText : '';\n }\n\n private get decorationsVisible(): boolean {\n return !!this.value || this.focused;\n }\n\n private get focused(): boolean {\n return this.textfield.computedFocused && !this.textfield.readOnly;\n }\n\n private get computedPostfix(): string {\n return this.textfield.postfix && (this.filler || this.value)\n ? ` ${this.textfield.postfix}`\n : this.textfield.postfix;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {MutationObserverModule} from '@ng-web-apis/mutation-observer';\nimport {\n TuiAutofilledModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiTooltipModule} from '@taiga-ui/core/components/tooltip';\nimport {TuiWrapperModule} from '@taiga-ui/core/components/wrapper';\nimport {TuiBorderModule} from '@taiga-ui/core/directives/border';\nimport {TuiDescribedByModule} from '@taiga-ui/core/directives/described-by';\nimport {TuiMaskAccessorModule} from '@taiga-ui/core/directives/mask-accessor';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\nimport {TuiValueDecorationComponent} from './value-decoration/value-decoration.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiMaskAccessorModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiInputModeModule,\n PolymorpheusModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiTooltipModule,\n TuiAutofilledModule,\n TuiDescribedByModule,\n TuiPreventDefaultModule,\n TuiBorderModule,\n MutationObserverModule,\n ],\n declarations: [TuiPrimitiveTextfieldComponent, TuiValueDecorationComponent],\n exports: [TuiPrimitiveTextfieldComponent],\n})\nexport class TuiPrimitiveTextfieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TuiTextfieldController","TUI_TEXTFIELD_WATCHED_CONTROLLER"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-primitive-textfield.js","sources":["ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.providers.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.component.ts","ng://@taiga-ui/core/components/primitive-textfield/value-decoration/value-decoration.component.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.module.ts","ng://@taiga-ui/core/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {HINT_CONTROLLER_PROVIDER} from '@taiga-ui/core/directives/hint-controller';\nimport {TEXTFIELD_CONTROLLER_PROVIDER} from '@taiga-ui/core/directives/textfield-controller';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\nexport const TUI_PRIMITIVE_TEXTFIELD_PROVIDERS = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiPrimitiveTextfieldComponent),\n },\n TEXTFIELD_CONTROLLER_PROVIDER,\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocused,\n setNativeFocused,\n TuiCreditCardAutofillName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_HINT_WATCHED_CONTROLLER,\n TuiHintControllerDirective,\n} from '@taiga-ui/core/directives/hint-controller';\nimport {\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives/textfield-controller';\nimport {TUI_MODE, TUI_TEXTFIELD_APPEARANCE} from '@taiga-ui/core/tokens';\nimport {\n TuiBrightness,\n TuiHorizontalDirection,\n TuiSizeL,\n TuiSizeS,\n} from '@taiga-ui/core/types';\nimport {getBorder} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusContent, PolymorpheusOutletComponent} from '@tinkoff/ng-polymorpheus';\nimport {fromEvent, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_PRIMITIVE_TEXTFIELD_PROVIDERS} from './primitive-textfield.providers';\n\nconst ICON_PADDING = 1.75;\nconst ICON_PADDING_S = 1.5;\n\n@Component({\n selector: 'tui-primitive-textfield',\n templateUrl: './primitive-textfield.template.html',\n styleUrls: ['./primitive-textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_PRIMITIVE_TEXTFIELD_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiPrimitiveTextfieldComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n private autofilled = false;\n\n @Input()\n @tuiDefaultProp()\n editable = true;\n\n @Input()\n @tuiDefaultProp()\n filler = '';\n\n @Input()\n @tuiDefaultProp()\n iconAlign: TuiHorizontalDirection = 'right';\n\n // TODO: Remove null in 3.0\n @Input()\n @tuiDefaultProp()\n iconContent: PolymorpheusContent | null = null;\n\n @Input()\n @HostBinding('class._readonly')\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n invalid = false;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n prefix = '';\n\n @Input()\n @tuiDefaultProp()\n postfix = '';\n\n @Input()\n @tuiDefaultProp()\n value = '';\n\n @Output()\n readonly valueChange = new EventEmitter<string>();\n\n @Output()\n readonly autofilledChange = new EventEmitter<boolean>();\n\n @ContentChildren(PolymorpheusOutletComponent)\n readonly content?: QueryList<unknown>;\n\n constructor(\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_HINT_WATCHED_CONTROLLER)\n readonly hintController: TuiHintControllerDirective,\n ) {\n super();\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.computedDisabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n @HostBinding('attr.data-tui-host-size')\n get size(): TuiSizeS | TuiSizeL {\n return this.controller.size;\n }\n\n @HostBinding('class._label-outside')\n get labelOutside(): boolean {\n return this.controller.labelOutside;\n }\n\n @HostBinding('class._invalid')\n get computedInvalid(): boolean {\n return !this.readOnly && !this.disabled && this.invalid;\n }\n\n get inputHidden(): boolean {\n return !!this.content?.length;\n }\n\n get hasValue(): boolean {\n return !!this.value;\n }\n\n get hasCleaner(): boolean {\n return (\n this.controller.cleaner && this.hasValue && !this.disabled && !this.readOnly\n );\n }\n\n get hasTooltip(): boolean {\n return !!this.hintController?.content && !this.disabled;\n }\n\n get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n get hasPlaceholder(): boolean {\n const hasDecor = this.controller.exampleText || this.prefix || this.postfix;\n const showDecor = hasDecor && !this.readOnly && this.computedFocused;\n const placeholderVisible = !this.hasValue && !showDecor;\n\n return this.placeholderRaisable || placeholderVisible;\n }\n\n get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled)\n );\n }\n\n get borderLeft(): number {\n return this.iconAlignLeft ? this.iconPaddingLeft : 0;\n }\n\n get borderRight(): number {\n return getBorder(\n this.iconAlignRight,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n );\n }\n\n get iconAlignLeft(): boolean {\n return this.hasIcon && this.iconAlign === 'left';\n }\n\n get iconAlignRight(): boolean {\n return this.hasIcon && this.iconAlign === 'right';\n }\n\n // Safari expiration date autofill workaround\n get name(): 'ccexpiryyear' | null {\n return this.controller.autocomplete === TuiCreditCardAutofillName.CcExp\n ? 'ccexpiryyear'\n : null;\n }\n\n @tuiPure\n getIndent$(element: HTMLElement): Observable<number> {\n return fromEvent(element, 'scroll').pipe(map(() => -1 * element.scrollLeft));\n }\n\n clear() {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = '';\n }\n\n this.updateValue('');\n }\n\n onMouseDown(event: MouseEvent) {\n if (\n !this.focusableElement ||\n event.target === this.focusableElement.nativeElement\n ) {\n return;\n }\n\n event.preventDefault();\n setNativeFocused(this.focusableElement.nativeElement);\n }\n\n onModelChange(value: string) {\n this.updateValue(value);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onAutofilled(autofilled: boolean) {\n this.updateAutofilled(autofilled);\n }\n\n private get iconPaddingLeft(): number {\n return this.size === 's' ? ICON_PADDING_S : ICON_PADDING;\n }\n\n private get placeholderRaisable(): boolean {\n return this.size !== 's' && !this.labelOutside;\n }\n\n private get hasIcon(): boolean {\n return !!this.iconContent;\n }\n\n private updateAutofilled(autofilled: boolean) {\n if (this.autofilled === autofilled) {\n return;\n }\n\n this.autofilled = autofilled;\n this.autofilledChange.emit(autofilled);\n }\n\n private updateValue(value: string) {\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n ViewChild,\n} from '@angular/core';\nimport {MutationObserverDirective} from '@ng-web-apis/mutation-observer';\nimport {\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {defer, EMPTY} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiPrimitiveTextfieldComponent} from '../primitive-textfield.component';\n\n@Component({\n selector: 'tui-value-decoration',\n templateUrl: 'value-decoration.template.html',\n styleUrls: ['value-decoration.style.less'],\n // It follows Change Detection of PrimitiveTextfield\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiValueDecorationComponent {\n @ViewChild('pre', {read: ElementRef, static: true})\n private readonly pre?: ElementRef<HTMLElement>;\n\n @ViewChild(MutationObserverDirective, {static: true})\n private readonly directive?: MutationObserverDirective;\n\n readonly pre$ = defer(() => this.directive?.waMutationObserver ?? EMPTY).pipe(\n map(() => this.pre?.nativeElement.offsetWidth ?? 0),\n startWith(0),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(TuiPrimitiveTextfieldComponent)\n private readonly textfield: TuiPrimitiveTextfieldComponent,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n private readonly controller: TuiTextfieldController,\n ) {}\n\n @HostBinding('class._table')\n get isContextTable(): boolean {\n return this.textfield.appearance === TuiAppearance.Table;\n }\n\n get value(): string {\n return this.textfield.value;\n }\n\n get filler(): string {\n return this.focused\n ? this.exampleText || this.textfield.filler.slice(this.value.length)\n : '';\n }\n\n get prefix(): string {\n return this.decorationsVisible ? this.textfield.prefix : '';\n }\n\n get postfix(): string {\n return this.decorationsVisible ? this.computedPostfix : '';\n }\n\n private get exampleText(): string {\n return !this.value && this.focused ? this.controller.exampleText : '';\n }\n\n private get decorationsVisible(): boolean {\n return !!this.value || this.focused;\n }\n\n private get focused(): boolean {\n return this.textfield.computedFocused && !this.textfield.readOnly;\n }\n\n private get computedPostfix(): string {\n return this.textfield.postfix && (this.filler || this.value)\n ? ` ${this.textfield.postfix}`\n : this.textfield.postfix;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {MutationObserverModule} from '@ng-web-apis/mutation-observer';\nimport {\n TuiAutofilledModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiTooltipModule} from '@taiga-ui/core/components/tooltip';\nimport {TuiWrapperModule} from '@taiga-ui/core/components/wrapper';\nimport {TuiBorderModule} from '@taiga-ui/core/directives/border';\nimport {TuiDescribedByModule} from '@taiga-ui/core/directives/described-by';\nimport {TuiMaskAccessorModule} from '@taiga-ui/core/directives/mask-accessor';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\nimport {TuiValueDecorationComponent} from './value-decoration/value-decoration.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiMaskAccessorModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiInputModeModule,\n PolymorpheusModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiTooltipModule,\n TuiAutofilledModule,\n TuiDescribedByModule,\n TuiPreventDefaultModule,\n TuiBorderModule,\n MutationObserverModule,\n ],\n declarations: [TuiPrimitiveTextfieldComponent, TuiValueDecorationComponent],\n exports: [TuiPrimitiveTextfieldComponent],\n})\nexport class TuiPrimitiveTextfieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TuiTextfieldController","TUI_TEXTFIELD_WATCHED_CONTROLLER"],"mappings":"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"}
@@ -7,15 +7,15 @@ const LIMIT = 100;
7
7
  const ITEMS_IN_ROW = 4;
8
8
  let TuiPrimitiveYearPickerComponent = class TuiPrimitiveYearPickerComponent {
9
9
  constructor() {
10
+ this.hoveredItem = null;
11
+ this.pressedItem = null;
12
+ this.currentYear = TuiMonth.currentLocal().year;
10
13
  this.value = null;
11
14
  this.initialItem = TuiMonth.currentLocal();
12
15
  this.min = TUI_FIRST_DAY;
13
16
  this.max = TUI_LAST_DAY;
14
17
  this.disabledItemHandler = ALWAYS_FALSE_HANDLER;
15
18
  this.yearClick = new EventEmitter();
16
- this.hoveredItem = null;
17
- this.pressedItem = null;
18
- this.currentYear = TuiMonth.currentLocal().year;
19
19
  }
20
20
  get isSingle() {
21
21
  const { value } = this;
@@ -150,7 +150,7 @@ __decorate([
150
150
  TuiPrimitiveYearPickerComponent = __decorate([
151
151
  Component({
152
152
  selector: 'tui-primitive-year-picker',
153
- template: "<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-primitive-year-picker__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-primitive-year-picker__cell\"\n class=\"t-cell\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [attr.data-tui-element-range]=\"getItemRange(item)\"\n [attr.data-tui-element-state]=\"getItemState(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n (tuiPressedChange)=\"onItemPressed($event, item)\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"t-item\">{{item}}</div>\n </div>\n </ng-container>\n</div>\n",
153
+ template: "<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-primitive-year-picker__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-primitive-year-picker__cell\"\n class=\"t-cell\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [attr.data-tui-element-range]=\"getItemRange(item)\"\n [attr.data-tui-element-state]=\"getItemState(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n (tuiPressedChange)=\"onItemPressed($event, item)\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"t-item\">{{ item }}</div>\n </div>\n </ng-container>\n</div>\n",
154
154
  changeDetection: ChangeDetectionStrategy.OnPush,
155
155
  styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem;margin:.875rem 0}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:after,.t-item:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:3.9375rem;text-align:center;outline:0;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:2px solid transparent}.t-cell:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%,0);content:'';bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-02)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-3.9375rem}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-tui-element-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-tui-element-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-tui-element-range]>.t-item:after,.t-cell[data-tui-element-range]>.t-item:before{background-color:var(--tui-primary)}.t-cell[data-tui-element-range][data-tui-element-state=hovered]>.t-item:after,.t-cell[data-tui-element-range][data-tui-element-state=hovered]>.t-item:before{background-color:var(--tui-primary-hover)}.t-cell[data-tui-element-range][data-tui-element-state=pressed]>.t-item:after,.t-cell[data-tui-element-range][data-tui-element-state=pressed]>.t-item:before{background-color:var(--tui-primary-active)}.t-cell[data-tui-element-range=end]>.t-item:before{left:.25rem}.t-cell[data-tui-element-range=end]>.t-item:after{left:-2rem;right:100%;transform:translateX(1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-tui-element-range=start]>.t-item:before{right:.25rem}.t-cell[data-tui-element-range=start]>.t-item:after{left:100%;right:-2rem;transform:translateX(-1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-tui-element-state=disabled]{pointer-events:none}.t-cell[data-tui-element-state=disabled]>.t-item{opacity:.36}.t-cell[data-tui-element-state=hovered]:hover:not([data-tui-element-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-tui-element-state=pressed]:hover:not([data-tui-element-range])>.t-item{background-color:var(--tui-secondary-active)}:host{width:15.75rem}.t-row:first-child{margin-top:0}.t-row:last-child{margin-bottom:0}"]
156
156
  })
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-primitive-year-picker.js","sources":["ng://@taiga-ui/core/components/primitive-year-picker/primitive-year-picker.component.ts","ng://@taiga-ui/core/components/primitive-year-picker/primitive-year-picker.module.ts","ng://@taiga-ui/core/components/primitive-year-picker/taiga-ui-core-components-primitive-year-picker.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n inRange,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDayRange,\n tuiDefaultProp,\n TuiMonth,\n TuiMonthRange,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {TuiInteractiveState, TuiRangeState} from '@taiga-ui/core/enums';\n\nconst LIMIT = 100;\nconst ITEMS_IN_ROW = 4;\n\n@Component({\n selector: 'tui-primitive-year-picker',\n templateUrl: './primitive-year-picker.template.html',\n styleUrls: ['./primitive-year-picker.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPrimitiveYearPickerComponent {\n @Input()\n @tuiDefaultProp()\n value: TuiYear | TuiDayRange | null = null;\n\n @Input()\n @tuiDefaultProp()\n initialItem = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n min: TuiYear = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max: TuiYear = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<number> = ALWAYS_FALSE_HANDLER;\n\n @Output()\n readonly yearClick = new EventEmitter<TuiYear | TuiDayRange>();\n\n private hoveredItem: number | null = null;\n\n private pressedItem: number | null = null;\n\n private currentYear = TuiMonth.currentLocal().year;\n\n @HostBinding('class._single')\n get isSingle(): boolean {\n const {value} = this;\n\n return !!value && this.isRange(value) && value.from.yearSame(value.to);\n }\n\n get rows(): number {\n return Math.ceil((this.calculatedMax - this.calculatedMin) / ITEMS_IN_ROW);\n }\n\n get calculatedMin(): number {\n const initial = this.initialItem.year - LIMIT;\n\n return this.min.year > initial ? this.min.year : initial;\n }\n\n get calculatedMax(): number {\n const initial = this.initialItem.year + LIMIT;\n\n return this.max.year < initial ? this.max.year + 1 : initial;\n }\n\n isRange(item: TuiMonthRange | TuiYear): item is TuiMonthRange {\n return item instanceof TuiMonthRange;\n }\n\n scrollItemIntoView(item: number): boolean {\n return this.initialItem.year === item;\n }\n\n getItem(rowIndex: number, colIndex: number): number {\n return rowIndex * ITEMS_IN_ROW + colIndex + this.calculatedMin;\n }\n\n getItemState(item: number): TuiInteractiveState | null {\n const {disabledItemHandler, max, pressedItem, hoveredItem} = this;\n\n if (\n max.year < item ||\n (disabledItemHandler !== ALWAYS_FALSE_HANDLER && disabledItemHandler(item))\n ) {\n return TuiInteractiveState.Disabled;\n }\n\n if (pressedItem === item) {\n return TuiInteractiveState.Pressed;\n }\n\n if (hoveredItem === item) {\n return TuiInteractiveState.Hovered;\n }\n\n return null;\n }\n\n getItemRange(item: number): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (value === null) {\n return null;\n }\n\n if (value instanceof TuiYear) {\n return value.year === item ? TuiRangeState.Single : null;\n }\n\n if (\n (value.from.year === item && !value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem > value.from.year &&\n value.from.year === item &&\n value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem === item &&\n hoveredItem < value.from.year &&\n value.from.yearSame(value.to))\n ) {\n return TuiRangeState.Start;\n }\n\n if (\n (value.to.year === item && !value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem < value.from.year &&\n value.from.year === item &&\n value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem === item &&\n hoveredItem > value.from.year &&\n value.from.yearSame(value.to))\n ) {\n return TuiRangeState.End;\n }\n\n return value.from.yearSame(value.to) && value.from.year === item\n ? TuiRangeState.Single\n : null;\n }\n\n itemIsToday(item: number): boolean {\n return this.currentYear === item;\n }\n\n itemIsInterval(item: number): boolean {\n const {value, hoveredItem} = this;\n\n if (value === null || !this.isRange(value)) {\n return false;\n }\n\n if (!value.from.yearSame(value.to)) {\n return value.from.year <= item && value.to.year > item;\n }\n\n if (hoveredItem === null || value.from.year === hoveredItem) {\n return false;\n }\n\n return inRange(\n item,\n Math.min(value.from.year, hoveredItem),\n Math.max(value.from.year, hoveredItem),\n );\n }\n\n onItemHovered(hovered: boolean, item: number) {\n this.updateHoveredItem(hovered, item);\n }\n\n onItemPressed(pressed: boolean, item: number) {\n this.updatePressedItem(pressed, item);\n }\n\n onItemClick(item: number) {\n this.yearClick.emit(new TuiYear(item));\n }\n\n private updateHoveredItem(hovered: boolean, item: number) {\n this.hoveredItem = hovered ? item : null;\n }\n\n private updatePressedItem(pressed: boolean, item: number) {\n this.pressedItem = pressed ? item : null;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {\n TuiHoveredModule,\n TuiLetModule,\n TuiPressedModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {TuiScrollIntoViewModule} from '@taiga-ui/core/directives/scroll-into-view';\n\nimport {TuiPrimitiveYearPickerComponent} from './primitive-year-picker.component';\n\n@NgModule({\n imports: [\n TuiHoveredModule,\n TuiPressedModule,\n TuiRepeatTimesModule,\n TuiLetModule,\n TuiScrollIntoViewModule,\n ],\n declarations: [TuiPrimitiveYearPickerComponent],\n exports: [TuiPrimitiveYearPickerComponent],\n})\nexport class TuiPrimitiveYearPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-primitive-year-picker.js","sources":["ng://@taiga-ui/core/components/primitive-year-picker/primitive-year-picker.component.ts","ng://@taiga-ui/core/components/primitive-year-picker/primitive-year-picker.module.ts","ng://@taiga-ui/core/components/primitive-year-picker/taiga-ui-core-components-primitive-year-picker.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n inRange,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDayRange,\n tuiDefaultProp,\n TuiMonth,\n TuiMonthRange,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {TuiInteractiveState, TuiRangeState} from '@taiga-ui/core/enums';\n\nconst LIMIT = 100;\nconst ITEMS_IN_ROW = 4;\n\n@Component({\n selector: 'tui-primitive-year-picker',\n templateUrl: './primitive-year-picker.template.html',\n styleUrls: ['./primitive-year-picker.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPrimitiveYearPickerComponent {\n private hoveredItem: number | null = null;\n private pressedItem: number | null = null;\n private currentYear = TuiMonth.currentLocal().year;\n\n @Input()\n @tuiDefaultProp()\n value: TuiYear | TuiDayRange | null = null;\n\n @Input()\n @tuiDefaultProp()\n initialItem = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n min: TuiYear = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max: TuiYear = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<number> = ALWAYS_FALSE_HANDLER;\n\n @Output()\n readonly yearClick = new EventEmitter<TuiYear | TuiDayRange>();\n\n @HostBinding('class._single')\n get isSingle(): boolean {\n const {value} = this;\n\n return !!value && this.isRange(value) && value.from.yearSame(value.to);\n }\n\n get rows(): number {\n return Math.ceil((this.calculatedMax - this.calculatedMin) / ITEMS_IN_ROW);\n }\n\n get calculatedMin(): number {\n const initial = this.initialItem.year - LIMIT;\n\n return this.min.year > initial ? this.min.year : initial;\n }\n\n get calculatedMax(): number {\n const initial = this.initialItem.year + LIMIT;\n\n return this.max.year < initial ? this.max.year + 1 : initial;\n }\n\n isRange(item: TuiMonthRange | TuiYear): item is TuiMonthRange {\n return item instanceof TuiMonthRange;\n }\n\n scrollItemIntoView(item: number): boolean {\n return this.initialItem.year === item;\n }\n\n getItem(rowIndex: number, colIndex: number): number {\n return rowIndex * ITEMS_IN_ROW + colIndex + this.calculatedMin;\n }\n\n getItemState(item: number): TuiInteractiveState | null {\n const {disabledItemHandler, max, pressedItem, hoveredItem} = this;\n\n if (\n max.year < item ||\n (disabledItemHandler !== ALWAYS_FALSE_HANDLER && disabledItemHandler(item))\n ) {\n return TuiInteractiveState.Disabled;\n }\n\n if (pressedItem === item) {\n return TuiInteractiveState.Pressed;\n }\n\n if (hoveredItem === item) {\n return TuiInteractiveState.Hovered;\n }\n\n return null;\n }\n\n getItemRange(item: number): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (value === null) {\n return null;\n }\n\n if (value instanceof TuiYear) {\n return value.year === item ? TuiRangeState.Single : null;\n }\n\n if (\n (value.from.year === item && !value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem > value.from.year &&\n value.from.year === item &&\n value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem === item &&\n hoveredItem < value.from.year &&\n value.from.yearSame(value.to))\n ) {\n return TuiRangeState.Start;\n }\n\n if (\n (value.to.year === item && !value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem < value.from.year &&\n value.from.year === item &&\n value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem === item &&\n hoveredItem > value.from.year &&\n value.from.yearSame(value.to))\n ) {\n return TuiRangeState.End;\n }\n\n return value.from.yearSame(value.to) && value.from.year === item\n ? TuiRangeState.Single\n : null;\n }\n\n itemIsToday(item: number): boolean {\n return this.currentYear === item;\n }\n\n itemIsInterval(item: number): boolean {\n const {value, hoveredItem} = this;\n\n if (value === null || !this.isRange(value)) {\n return false;\n }\n\n if (!value.from.yearSame(value.to)) {\n return value.from.year <= item && value.to.year > item;\n }\n\n if (hoveredItem === null || value.from.year === hoveredItem) {\n return false;\n }\n\n return inRange(\n item,\n Math.min(value.from.year, hoveredItem),\n Math.max(value.from.year, hoveredItem),\n );\n }\n\n onItemHovered(hovered: boolean, item: number) {\n this.updateHoveredItem(hovered, item);\n }\n\n onItemPressed(pressed: boolean, item: number) {\n this.updatePressedItem(pressed, item);\n }\n\n onItemClick(item: number) {\n this.yearClick.emit(new TuiYear(item));\n }\n\n private updateHoveredItem(hovered: boolean, item: number) {\n this.hoveredItem = hovered ? item : null;\n }\n\n private updatePressedItem(pressed: boolean, item: number) {\n this.pressedItem = pressed ? item : null;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {\n TuiHoveredModule,\n TuiLetModule,\n TuiPressedModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {TuiScrollIntoViewModule} from '@taiga-ui/core/directives/scroll-into-view';\n\nimport {TuiPrimitiveYearPickerComponent} from './primitive-year-picker.component';\n\n@NgModule({\n imports: [\n TuiHoveredModule,\n TuiPressedModule,\n TuiRepeatTimesModule,\n TuiLetModule,\n TuiScrollIntoViewModule,\n ],\n declarations: [TuiPrimitiveYearPickerComponent],\n exports: [TuiPrimitiveYearPickerComponent],\n})\nexport class TuiPrimitiveYearPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}