@taiga-ui/core 2.20.0 → 2.24.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 (456) hide show
  1. package/README.md +7 -3
  2. package/abstract/abstract-hint.d.ts +3 -1
  3. package/abstract/taiga-ui-core-abstract.metadata.json +1 -1
  4. package/bundles/taiga-ui-core-abstract.umd.js +4 -2
  5. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  6. package/bundles/taiga-ui-core-abstract.umd.min.js +1 -1
  7. package/bundles/taiga-ui-core-abstract.umd.min.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-button.umd.js +21 -7
  9. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-button.umd.min.js +1 -1
  11. package/bundles/taiga-ui-core-components-button.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-calendar.umd.js +1 -1
  13. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-calendar.umd.min.js +1 -1
  15. package/bundles/taiga-ui-core-components-calendar.umd.min.js.map +1 -1
  16. package/bundles/taiga-ui-core-components-data-list.umd.js +6 -5
  17. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  18. package/bundles/taiga-ui-core-components-data-list.umd.min.js +2 -2
  19. package/bundles/taiga-ui-core-components-data-list.umd.min.js.map +1 -1
  20. package/bundles/taiga-ui-core-components-dialog.umd.js +2 -2
  21. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  22. package/bundles/taiga-ui-core-components-dialog.umd.min.js +1 -1
  23. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-core-components-dropdown-box.umd.js +1 -1
  25. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js +1 -1
  26. package/bundles/taiga-ui-core-components-error.umd.js +1 -1
  27. package/bundles/taiga-ui-core-components-error.umd.min.js +1 -1
  28. package/bundles/taiga-ui-core-components-expand.umd.js +3 -2
  29. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  30. package/bundles/taiga-ui-core-components-expand.umd.min.js +1 -1
  31. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-core-components-hints-host.umd.js +11 -5
  33. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  34. package/bundles/taiga-ui-core-components-hints-host.umd.min.js +1 -1
  35. package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
  36. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +2 -15
  37. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  38. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js +1 -1
  39. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  40. package/bundles/taiga-ui-core-components-label.umd.js +1 -1
  41. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  42. package/bundles/taiga-ui-core-components-label.umd.min.js +1 -1
  43. package/bundles/taiga-ui-core-components-label.umd.min.js.map +1 -1
  44. package/bundles/taiga-ui-core-components-link.umd.js +1 -1
  45. package/bundles/taiga-ui-core-components-link.umd.min.js +1 -1
  46. package/bundles/taiga-ui-core-components-link.umd.min.js.map +1 -1
  47. package/bundles/taiga-ui-core-components-loader.umd.js +2 -2
  48. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  49. package/bundles/taiga-ui-core-components-loader.umd.min.js +1 -1
  50. package/bundles/taiga-ui-core-components-loader.umd.min.js.map +1 -1
  51. package/bundles/taiga-ui-core-components-notification.umd.js +1 -1
  52. package/bundles/taiga-ui-core-components-notification.umd.min.js +1 -1
  53. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +2 -2
  54. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  55. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js +1 -1
  56. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +2 -2
  58. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js +1 -1
  59. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +138 -106
  60. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  61. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +2 -2
  62. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  63. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +2 -2
  64. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  65. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js +1 -1
  66. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
  67. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +2 -2
  68. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js +1 -1
  69. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-core-components-scrollbar.umd.js +34 -24
  71. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  72. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js +2 -2
  73. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
  74. package/bundles/taiga-ui-core-components-theme-night.umd.js +7 -11
  75. package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
  76. package/bundles/taiga-ui-core-components-theme-night.umd.min.js +2 -2
  77. package/bundles/taiga-ui-core-components-theme-night.umd.min.js.map +1 -1
  78. package/bundles/taiga-ui-core-components-tooltip.umd.js +1 -1
  79. package/bundles/taiga-ui-core-components-tooltip.umd.min.js +1 -1
  80. package/bundles/taiga-ui-core-components-wrapper.umd.js +1 -1
  81. package/bundles/taiga-ui-core-components-wrapper.umd.min.js +1 -1
  82. package/bundles/taiga-ui-core-components-wrapper.umd.min.js.map +1 -1
  83. package/bundles/taiga-ui-core-constants.umd.js +10 -1
  84. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  85. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  86. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-core-directives-border.umd.js +291 -0
  88. package/bundles/taiga-ui-core-directives-border.umd.js.map +1 -0
  89. package/bundles/taiga-ui-core-directives-border.umd.min.js +16 -0
  90. package/bundles/taiga-ui-core-directives-border.umd.min.js.map +1 -0
  91. package/bundles/taiga-ui-core-directives-hint.umd.js +7 -4
  92. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  93. package/bundles/taiga-ui-core-directives-hint.umd.min.js +1 -1
  94. package/bundles/taiga-ui-core-directives-hint.umd.min.js.map +1 -1
  95. package/bundles/taiga-ui-core-directives-manual-hint.umd.js +7 -4
  96. package/bundles/taiga-ui-core-directives-manual-hint.umd.js.map +1 -1
  97. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js +1 -1
  98. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js.map +1 -1
  99. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js +1 -1
  100. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js.map +1 -1
  101. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js +1 -1
  102. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js.map +1 -1
  103. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +9 -3
  104. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  105. package/bundles/taiga-ui-core-directives-textfield-controller.umd.min.js.map +1 -1
  106. package/bundles/taiga-ui-core-directives.umd.js +12 -4
  107. package/bundles/taiga-ui-core-directives.umd.js.map +1 -1
  108. package/bundles/taiga-ui-core-directives.umd.min.js +1 -1
  109. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +1 -1
  110. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  111. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js +1 -1
  112. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-core-modules-notifications.umd.js +2 -2
  114. package/bundles/taiga-ui-core-modules-notifications.umd.js.map +1 -1
  115. package/bundles/taiga-ui-core-modules-notifications.umd.min.js +1 -1
  116. package/bundles/taiga-ui-core-modules-notifications.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-core-tokens.umd.js +9 -0
  118. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  119. package/bundles/taiga-ui-core-tokens.umd.min.js +1 -1
  120. package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
  121. package/bundles/taiga-ui-core-utils-dom.umd.js +3 -1
  122. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  123. package/bundles/taiga-ui-core-utils-dom.umd.min.js +1 -1
  124. package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
  125. package/bundles/taiga-ui-core-utils-mask.umd.js +28 -8
  126. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  127. package/bundles/taiga-ui-core-utils-mask.umd.min.js +1 -1
  128. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js +2 -4
  130. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js.map +1 -1
  131. package/bundles/taiga-ui-core-utils-miscellaneous.umd.min.js +1 -1
  132. package/bundles/taiga-ui-core-utils-miscellaneous.umd.min.js.map +1 -1
  133. package/components/button/button-options.d.ts +10 -0
  134. package/components/button/button.component.d.ts +8 -7
  135. package/components/button/index.d.ts +1 -0
  136. package/components/button/taiga-ui-core-components-button.metadata.json +1 -1
  137. package/components/calendar/taiga-ui-core-components-calendar.metadata.json +1 -1
  138. package/components/data-list/taiga-ui-core-components-data-list.metadata.json +1 -1
  139. package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
  140. package/components/dropdown-box/taiga-ui-core-components-dropdown-box.metadata.json +1 -1
  141. package/components/error/taiga-ui-core-components-error.metadata.json +1 -1
  142. package/components/expand/taiga-ui-core-components-expand.metadata.json +1 -1
  143. package/components/hints-host/taiga-ui-core-components-hints-host.metadata.json +1 -1
  144. package/components/hosted-dropdown/hosted-dropdown.component.d.ts +1 -3
  145. package/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.metadata.json +1 -1
  146. package/components/label/taiga-ui-core-components-label.metadata.json +1 -1
  147. package/components/link/taiga-ui-core-components-link.metadata.json +1 -1
  148. package/components/loader/taiga-ui-core-components-loader.metadata.json +1 -1
  149. package/components/notification/taiga-ui-core-components-notification.metadata.json +1 -1
  150. package/components/primitive-calendar/primitive-calendar.component.d.ts +1 -1
  151. package/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.metadata.json +1 -1
  152. package/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.metadata.json +1 -1
  153. package/components/primitive-textfield/index.d.ts +1 -0
  154. package/components/primitive-textfield/primitive-textfield.component.d.ts +9 -16
  155. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
  156. package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +18 -0
  157. package/components/primitive-year-picker/taiga-ui-core-components-primitive-year-picker.metadata.json +1 -1
  158. package/components/scroll-controls/scroll-controls.component.d.ts +1 -1
  159. package/components/scroll-controls/taiga-ui-core-components-scroll-controls.metadata.json +1 -1
  160. package/components/scrollbar/scrollable.directive.d.ts +5 -1
  161. package/components/scrollbar/scrollbar.component.d.ts +4 -3
  162. package/components/scrollbar/taiga-ui-core-components-scrollbar.metadata.json +1 -1
  163. package/components/theme-night/taiga-ui-core-components-theme-night.metadata.json +1 -1
  164. package/components/theme-night/theme-night.component.d.ts +0 -1
  165. package/components/tooltip/taiga-ui-core-components-tooltip.metadata.json +1 -1
  166. package/components/wrapper/taiga-ui-core-components-wrapper.metadata.json +1 -1
  167. package/constants/events.d.ts +5 -0
  168. package/constants/media.d.ts +1 -0
  169. package/constants/regexp.d.ts +1 -0
  170. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  171. package/constants/version.d.ts +1 -1
  172. package/directives/border/border.directive.d.ts +9 -0
  173. package/directives/border/border.module.d.ts +2 -0
  174. package/directives/border/index.d.ts +2 -0
  175. package/directives/border/package.json +13 -0
  176. package/directives/border/taiga-ui-core-directives-border.d.ts +4 -0
  177. package/directives/border/taiga-ui-core-directives-border.metadata.json +1 -0
  178. package/directives/hint/hint.directive.d.ts +2 -2
  179. package/directives/hint/taiga-ui-core-directives-hint.metadata.json +1 -1
  180. package/directives/index.d.ts +1 -0
  181. package/directives/manual-hint/manual-hint.directive.d.ts +2 -1
  182. package/directives/manual-hint/taiga-ui-core-directives-manual-hint.metadata.json +1 -1
  183. package/directives/taiga-ui-core-directives.metadata.json +1 -1
  184. package/directives/textfield-controller/taiga-ui-core-directives-textfield-controller.metadata.json +1 -1
  185. package/esm2015/abstract/abstract-hint.js +6 -4
  186. package/esm2015/components/button/button-options.js +10 -0
  187. package/esm2015/components/button/button.component.js +12 -8
  188. package/esm2015/components/button/index.js +2 -1
  189. package/esm2015/components/calendar/calendar.component.js +2 -2
  190. package/esm2015/components/data-list/data-list.component.js +4 -3
  191. package/esm2015/components/data-list/option/option.component.js +4 -4
  192. package/esm2015/components/dialog/dialog.component.js +3 -3
  193. package/esm2015/components/dropdown-box/dropdown-box.component.js +1 -1
  194. package/esm2015/components/error/error.component.js +1 -1
  195. package/esm2015/components/expand/expand.component.js +4 -3
  196. package/esm2015/components/hints-host/hint-box/hint-box.component.js +3 -3
  197. package/esm2015/components/hints-host/hints-host.component.js +3 -3
  198. package/esm2015/components/hints-host/hints-host.module.js +9 -3
  199. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +4 -13
  200. package/esm2015/components/label/label.component.js +2 -2
  201. package/esm2015/components/link/link.component.js +1 -1
  202. package/esm2015/components/loader/loader.component.js +3 -3
  203. package/esm2015/components/notification/notification.component.js +1 -1
  204. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +3 -3
  205. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +2 -2
  206. package/esm2015/components/primitive-textfield/index.js +2 -1
  207. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +38 -67
  208. package/esm2015/components/primitive-textfield/primitive-textfield.module.js +7 -2
  209. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +65 -0
  210. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  211. package/esm2015/components/scroll-controls/scroll-controls.component.js +2 -2
  212. package/esm2015/components/scrollbar/scrollable.directive.js +18 -4
  213. package/esm2015/components/scrollbar/scrollbar.component.js +20 -18
  214. package/esm2015/components/theme-night/theme-night.component.js +4 -12
  215. package/esm2015/components/tooltip/tooltip.component.js +1 -1
  216. package/esm2015/components/wrapper/wrapper.component.js +1 -1
  217. package/esm2015/constants/events.js +6 -1
  218. package/esm2015/constants/media.js +2 -1
  219. package/esm2015/constants/regexp.js +2 -1
  220. package/esm2015/constants/version.js +2 -2
  221. package/esm2015/directives/border/border.directive.js +42 -0
  222. package/esm2015/directives/border/border.module.js +13 -0
  223. package/esm2015/directives/border/index.js +3 -0
  224. package/esm2015/directives/border/taiga-ui-core-directives-border.js +5 -0
  225. package/esm2015/directives/hint/hint.directive.js +10 -7
  226. package/esm2015/directives/index.js +2 -1
  227. package/esm2015/directives/manual-hint/manual-hint.directive.js +10 -7
  228. package/esm2015/directives/pointer-hint/pointer-hint.directive.js +2 -2
  229. package/esm2015/directives/textfield-controller/textfield-cleaner.directive.js +4 -2
  230. package/esm2015/directives/textfield-controller/textfield-size.directive.js +4 -2
  231. package/esm2015/directives/textfield-controller/textfield-type.directive.js +4 -2
  232. package/esm2015/interfaces/index.js +1 -1
  233. package/esm2015/interfaces/media.js +1 -0
  234. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  235. package/esm2015/modules/notifications/notification-alert/notification-alert.component.js +2 -2
  236. package/esm2015/modules/notifications/notifications-host/notifications-host.component.js +1 -1
  237. package/esm2015/tokens/index.js +2 -1
  238. package/esm2015/tokens/media.js +9 -0
  239. package/esm2015/utils/dom/process-icon.js +4 -2
  240. package/esm2015/utils/mask/create-number-mask.js +28 -10
  241. package/esm2015/utils/miscellaneous/get-border.js +3 -5
  242. package/esm5/abstract/abstract-hint.js +6 -4
  243. package/esm5/components/button/button-options.js +10 -0
  244. package/esm5/components/button/button.component.js +12 -8
  245. package/esm5/components/button/index.js +2 -1
  246. package/esm5/components/calendar/calendar.component.js +2 -2
  247. package/esm5/components/data-list/data-list.component.js +4 -3
  248. package/esm5/components/data-list/option/option.component.js +4 -4
  249. package/esm5/components/dialog/dialog.component.js +3 -3
  250. package/esm5/components/dropdown-box/dropdown-box.component.js +1 -1
  251. package/esm5/components/error/error.component.js +1 -1
  252. package/esm5/components/expand/expand.component.js +4 -3
  253. package/esm5/components/hints-host/hint-box/hint-box.component.js +3 -3
  254. package/esm5/components/hints-host/hints-host.component.js +3 -3
  255. package/esm5/components/hints-host/hints-host.module.js +9 -3
  256. package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +4 -17
  257. package/esm5/components/label/label.component.js +2 -2
  258. package/esm5/components/link/link.component.js +1 -1
  259. package/esm5/components/loader/loader.component.js +3 -3
  260. package/esm5/components/notification/notification.component.js +1 -1
  261. package/esm5/components/primitive-calendar/primitive-calendar.component.js +3 -3
  262. package/esm5/components/primitive-spin-button/primitive-spin-button.component.js +2 -2
  263. package/esm5/components/primitive-textfield/index.js +2 -1
  264. package/esm5/components/primitive-textfield/primitive-textfield.component.js +43 -104
  265. package/esm5/components/primitive-textfield/primitive-textfield.module.js +7 -2
  266. package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +99 -0
  267. package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  268. package/esm5/components/scroll-controls/scroll-controls.component.js +2 -2
  269. package/esm5/components/scrollbar/scrollable.directive.js +17 -5
  270. package/esm5/components/scrollbar/scrollbar.component.js +20 -22
  271. package/esm5/components/theme-night/theme-night.component.js +6 -11
  272. package/esm5/components/tooltip/tooltip.component.js +1 -1
  273. package/esm5/components/wrapper/wrapper.component.js +1 -1
  274. package/esm5/constants/events.js +6 -1
  275. package/esm5/constants/media.js +2 -1
  276. package/esm5/constants/regexp.js +2 -1
  277. package/esm5/constants/version.js +2 -2
  278. package/esm5/directives/border/border.directive.js +51 -0
  279. package/esm5/directives/border/border.module.js +16 -0
  280. package/esm5/directives/border/index.js +3 -0
  281. package/esm5/directives/border/taiga-ui-core-directives-border.js +5 -0
  282. package/esm5/directives/hint/hint.directive.js +10 -7
  283. package/esm5/directives/index.js +2 -1
  284. package/esm5/directives/manual-hint/manual-hint.directive.js +10 -7
  285. package/esm5/directives/pointer-hint/pointer-hint.directive.js +2 -2
  286. package/esm5/directives/textfield-controller/textfield-cleaner.directive.js +4 -2
  287. package/esm5/directives/textfield-controller/textfield-size.directive.js +4 -2
  288. package/esm5/directives/textfield-controller/textfield-type.directive.js +4 -2
  289. package/esm5/interfaces/index.js +1 -1
  290. package/esm5/interfaces/media.js +1 -0
  291. package/esm5/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  292. package/esm5/modules/notifications/notification-alert/notification-alert.component.js +2 -2
  293. package/esm5/modules/notifications/notifications-host/notifications-host.component.js +1 -1
  294. package/esm5/tokens/index.js +2 -1
  295. package/esm5/tokens/media.js +9 -0
  296. package/esm5/utils/dom/process-icon.js +4 -2
  297. package/esm5/utils/mask/create-number-mask.js +30 -10
  298. package/esm5/utils/miscellaneous/get-border.js +3 -5
  299. package/fesm2015/taiga-ui-core-abstract.js +4 -2
  300. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  301. package/fesm2015/taiga-ui-core-components-button.js +21 -9
  302. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  303. package/fesm2015/taiga-ui-core-components-calendar.js +1 -1
  304. package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
  305. package/fesm2015/taiga-ui-core-components-data-list.js +6 -5
  306. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  307. package/fesm2015/taiga-ui-core-components-dialog.js +2 -2
  308. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  309. package/fesm2015/taiga-ui-core-components-dropdown-box.js +1 -1
  310. package/fesm2015/taiga-ui-core-components-error.js +1 -1
  311. package/fesm2015/taiga-ui-core-components-expand.js +3 -2
  312. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  313. package/fesm2015/taiga-ui-core-components-hints-host.js +12 -6
  314. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  315. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +3 -12
  316. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  317. package/fesm2015/taiga-ui-core-components-label.js +1 -1
  318. package/fesm2015/taiga-ui-core-components-label.js.map +1 -1
  319. package/fesm2015/taiga-ui-core-components-link.js +1 -1
  320. package/fesm2015/taiga-ui-core-components-loader.js +2 -2
  321. package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
  322. package/fesm2015/taiga-ui-core-components-notification.js +1 -1
  323. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +2 -2
  324. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  325. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +2 -2
  326. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +102 -69
  327. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  328. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +2 -2
  329. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  330. package/fesm2015/taiga-ui-core-components-scroll-controls.js +2 -2
  331. package/fesm2015/taiga-ui-core-components-scrollbar.js +33 -17
  332. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  333. package/fesm2015/taiga-ui-core-components-theme-night.js +3 -11
  334. package/fesm2015/taiga-ui-core-components-theme-night.js.map +1 -1
  335. package/fesm2015/taiga-ui-core-components-tooltip.js +1 -1
  336. package/fesm2015/taiga-ui-core-components-wrapper.js +1 -1
  337. package/fesm2015/taiga-ui-core-constants.js +9 -2
  338. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  339. package/fesm2015/taiga-ui-core-directives-border.js +57 -0
  340. package/fesm2015/taiga-ui-core-directives-border.js.map +1 -0
  341. package/fesm2015/taiga-ui-core-directives-hint.js +9 -6
  342. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  343. package/fesm2015/taiga-ui-core-directives-manual-hint.js +9 -6
  344. package/fesm2015/taiga-ui-core-directives-manual-hint.js.map +1 -1
  345. package/fesm2015/taiga-ui-core-directives-pointer-hint.js +1 -1
  346. package/fesm2015/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  347. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +9 -3
  348. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  349. package/fesm2015/taiga-ui-core-directives.js +1 -0
  350. package/fesm2015/taiga-ui-core-directives.js.map +1 -1
  351. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  352. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  353. package/fesm2015/taiga-ui-core-modules-notifications.js +2 -2
  354. package/fesm2015/taiga-ui-core-modules-notifications.js.map +1 -1
  355. package/fesm2015/taiga-ui-core-tokens.js +9 -1
  356. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  357. package/fesm2015/taiga-ui-core-utils-dom.js +3 -1
  358. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  359. package/fesm2015/taiga-ui-core-utils-mask.js +27 -9
  360. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  361. package/fesm2015/taiga-ui-core-utils-miscellaneous.js +2 -4
  362. package/fesm2015/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  363. package/fesm5/taiga-ui-core-abstract.js +4 -2
  364. package/fesm5/taiga-ui-core-abstract.js.map +1 -1
  365. package/fesm5/taiga-ui-core-components-button.js +21 -9
  366. package/fesm5/taiga-ui-core-components-button.js.map +1 -1
  367. package/fesm5/taiga-ui-core-components-calendar.js +1 -1
  368. package/fesm5/taiga-ui-core-components-calendar.js.map +1 -1
  369. package/fesm5/taiga-ui-core-components-data-list.js +6 -5
  370. package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
  371. package/fesm5/taiga-ui-core-components-dialog.js +2 -2
  372. package/fesm5/taiga-ui-core-components-dialog.js.map +1 -1
  373. package/fesm5/taiga-ui-core-components-dropdown-box.js +1 -1
  374. package/fesm5/taiga-ui-core-components-error.js +1 -1
  375. package/fesm5/taiga-ui-core-components-expand.js +3 -2
  376. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  377. package/fesm5/taiga-ui-core-components-hints-host.js +12 -6
  378. package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
  379. package/fesm5/taiga-ui-core-components-hosted-dropdown.js +3 -16
  380. package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  381. package/fesm5/taiga-ui-core-components-label.js +1 -1
  382. package/fesm5/taiga-ui-core-components-label.js.map +1 -1
  383. package/fesm5/taiga-ui-core-components-link.js +1 -1
  384. package/fesm5/taiga-ui-core-components-loader.js +2 -2
  385. package/fesm5/taiga-ui-core-components-loader.js.map +1 -1
  386. package/fesm5/taiga-ui-core-components-notification.js +1 -1
  387. package/fesm5/taiga-ui-core-components-primitive-calendar.js +2 -2
  388. package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  389. package/fesm5/taiga-ui-core-components-primitive-spin-button.js +2 -2
  390. package/fesm5/taiga-ui-core-components-primitive-textfield.js +141 -106
  391. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  392. package/fesm5/taiga-ui-core-components-primitive-year-picker.js +2 -2
  393. package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  394. package/fesm5/taiga-ui-core-components-scroll-controls.js +2 -2
  395. package/fesm5/taiga-ui-core-components-scrollbar.js +32 -22
  396. package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
  397. package/fesm5/taiga-ui-core-components-theme-night.js +5 -10
  398. package/fesm5/taiga-ui-core-components-theme-night.js.map +1 -1
  399. package/fesm5/taiga-ui-core-components-tooltip.js +1 -1
  400. package/fesm5/taiga-ui-core-components-wrapper.js +1 -1
  401. package/fesm5/taiga-ui-core-constants.js +9 -2
  402. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  403. package/fesm5/taiga-ui-core-directives-border.js +69 -0
  404. package/fesm5/taiga-ui-core-directives-border.js.map +1 -0
  405. package/fesm5/taiga-ui-core-directives-hint.js +9 -6
  406. package/fesm5/taiga-ui-core-directives-hint.js.map +1 -1
  407. package/fesm5/taiga-ui-core-directives-manual-hint.js +9 -6
  408. package/fesm5/taiga-ui-core-directives-manual-hint.js.map +1 -1
  409. package/fesm5/taiga-ui-core-directives-pointer-hint.js +1 -1
  410. package/fesm5/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  411. package/fesm5/taiga-ui-core-directives-textfield-controller.js +9 -3
  412. package/fesm5/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  413. package/fesm5/taiga-ui-core-directives.js +1 -0
  414. package/fesm5/taiga-ui-core-directives.js.map +1 -1
  415. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  416. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  417. package/fesm5/taiga-ui-core-modules-notifications.js +2 -2
  418. package/fesm5/taiga-ui-core-modules-notifications.js.map +1 -1
  419. package/fesm5/taiga-ui-core-tokens.js +9 -1
  420. package/fesm5/taiga-ui-core-tokens.js.map +1 -1
  421. package/fesm5/taiga-ui-core-utils-dom.js +3 -1
  422. package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
  423. package/fesm5/taiga-ui-core-utils-mask.js +30 -10
  424. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  425. package/fesm5/taiga-ui-core-utils-miscellaneous.js +2 -4
  426. package/fesm5/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  427. package/interfaces/index.d.ts +1 -0
  428. package/interfaces/media.d.ts +6 -0
  429. package/interfaces/taiga-ui-core-interfaces.metadata.json +1 -1
  430. package/internal/primitive-year-month-pagination/taiga-ui-core-internal-primitive-year-month-pagination.metadata.json +1 -1
  431. package/modules/notifications/taiga-ui-core-modules-notifications.metadata.json +1 -1
  432. package/package.json +5 -5
  433. package/styles/basic/main.less +2 -4
  434. package/styles/markup/tui-autofill.less +2 -0
  435. package/styles/markup/tui-container-old.less +69 -0
  436. package/styles/markup/tui-form-old.less +141 -0
  437. package/styles/markup/tui-form.less +12 -12
  438. package/styles/markup/tui-group-old.less +322 -0
  439. package/styles/markup/tui-group.less +2 -2
  440. package/styles/markup/tui-mobile-only.less +1 -1
  441. package/styles/markup/tui-row-old.less +157 -0
  442. package/styles/markup/tui-table.less +2 -2
  443. package/styles/mixins/mixins.less +8 -3
  444. package/styles/mixins/picker.less +1 -1
  445. package/styles/mixins/textfield.less +37 -78
  446. package/styles/taiga-ui-global-old.less +18 -0
  447. package/styles/taiga-ui-local-old.less +7 -0
  448. package/styles/theme/variables.less +4 -0
  449. package/styles/theme/wrapper/table.less +4 -0
  450. package/styles/variables/media-old.less +48 -0
  451. package/styles/variables/media.less +4 -4
  452. package/tokens/index.d.ts +1 -0
  453. package/tokens/media.d.ts +3 -0
  454. package/tokens/taiga-ui-core-tokens.metadata.json +1 -1
  455. package/utils/mask/create-number-mask.d.ts +1 -0
  456. package/utils/miscellaneous/get-border.d.ts +1 -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/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 TuiContextWithImplicit,\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, sizeBigger} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusContent, PolymorpheusOutletComponent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\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 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 hasTooltip(): boolean {\n return !!this.hintController && !!this.hintController.content && !this.disabled;\n }\n\n get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n get iconPaddingLeft(): number {\n return this.size === 's' ? ICON_PADDING_S : ICON_PADDING;\n }\n\n get borderLeft(): number {\n return (\n (this.iconAlignLeft ? this.iconPaddingLeft : 0) +\n getBorder(sizeBigger(this.size, 'm'), false)\n );\n }\n\n get borderRight(): number {\n return getBorder(\n sizeBigger(this.size, 'm'),\n this.iconAlignRight,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n );\n }\n\n get hasPlaceholder(): boolean {\n return (\n (this.big && !this.labelOutside) ||\n (!this.hasValue && !this.hasExampleText && !this.hasPostfix)\n );\n }\n\n get placeholderRaised(): boolean {\n return (\n this.big &&\n !this.labelOutside &&\n ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled)\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 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 @HostBinding('class._right-aligned')\n get rightAligned(): boolean {\n return (\n this.appearance === TuiAppearance.Table &&\n (this.controller.inputMode === 'numeric' ||\n this.controller.inputMode === 'decimal')\n );\n }\n\n get hasValueDecoration(): boolean {\n const fillerOrExampleShown =\n this.computedFocused && !this.readOnly && this.hasFillerOrExampleText;\n\n return fillerOrExampleShown || this.hasPostfix;\n }\n\n get hasPostfix(): boolean {\n const isPostfixAllowed =\n this.hasValue || (this.computedFocused && !this.readOnly);\n\n return isPostfixAllowed && !!this.postfix;\n }\n\n get hasFillerOrExampleText(): boolean {\n return this.hasValue ? !!this.computedFiller : !!this.controller.exampleText;\n }\n\n get postfixShifted(): boolean {\n return this.postfix !== '%' && (this.hasFillerOrExampleText || this.hasValue);\n }\n\n get computedFiller(): string {\n return this.hasExampleText\n ? this.controller.exampleText\n : this.filler.slice(this.value.length);\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 get context(): TuiContextWithImplicit<TuiSizeS | TuiSizeL> {\n return this.getContext(this.size);\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 big(): boolean {\n return this.size !== 's';\n }\n\n private get hasIcon(): boolean {\n return !!this.iconContent;\n }\n\n private get hasExampleText(): boolean {\n return (\n !!this.controller.exampleText &&\n this.computedFocused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n @tuiPure\n private getContext(\n $implicit: TuiSizeS | TuiSizeL,\n ): TuiContextWithImplicit<TuiSizeS | TuiSizeL> {\n return {$implicit};\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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\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 {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';\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 ],\n declarations: [TuiPrimitiveTextfieldComponent],\n exports: [TuiPrimitiveTextfieldComponent],\n})\nexport class TuiPrimitiveTextfieldModule {}\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-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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"}
@@ -165,9 +165,9 @@ var TuiPrimitiveYearPickerComponent = /** @class */ (function () {
165
165
  TuiPrimitiveYearPickerComponent = __decorate([
166
166
  Component({
167
167
  selector: 'tui-primitive-year-picker',
168
- 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",
168
+ 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",
169
169
  changeDetection: ChangeDetectionStrategy.OnPush,
170
- styles: [":host{font:var(--tui-font-text-m);display:block}.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}"]
170
+ 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}"]
171
171
  })
172
172
  ], TuiPrimitiveYearPickerComponent);
173
173
  return TuiPrimitiveYearPickerComponent;
@@ -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 @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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"}
@@ -208,14 +208,14 @@ var TuiScrollControlsComponent = /** @class */ (function () {
208
208
  TuiScrollControlsComponent = __decorate([
209
209
  Component({
210
210
  selector: 'tui-scroll-controls',
211
- template: "<ng-container *tuiLet=\"refresh$ | async as bars\">\n <div\n *ngIf=\"bars[0]\"\n tuiScrollbarWrapper\n class=\"bar bar_vertical\"\n [class.bar_has-horizontal]=\"bars[1]\"\n [@tuiFadeIn]=\"animation\"\n >\n <div tuiScrollbar=\"vertical\" class=\"thumb\"></div>\n </div>\n <div\n *ngIf=\"bars[1]\"\n tuiScrollbarWrapper\n class=\"bar bar_horizontal\"\n [class.bar_has-vertical]=\"bars[0]\"\n [@tuiFadeIn]=\"animation\"\n >\n <div tuiScrollbar=\"horizontal\" class=\"thumb\"></div>\n </div>\n</ng-container>\n",
211
+ template: "<ng-container *tuiLet=\"refresh$ | async as bars\">\n <div\n *ngIf=\"bars[0]\"\n tuiScrollbarWrapper\n class=\"bar bar_vertical\"\n [@tuiFadeIn]=\"animation\"\n [class.bar_has-horizontal]=\"bars[1]\"\n >\n <div tuiScrollbar=\"vertical\" class=\"thumb\"></div>\n </div>\n <div\n *ngIf=\"bars[1]\"\n tuiScrollbarWrapper\n class=\"bar bar_horizontal\"\n [@tuiFadeIn]=\"animation\"\n [class.bar_has-vertical]=\"bars[0]\"\n >\n <div tuiScrollbar=\"horizontal\" class=\"thumb\"></div>\n </div>\n</ng-container>\n",
212
212
  changeDetection: ChangeDetectionStrategy.OnPush,
213
213
  animations: [tuiFadeIn],
214
214
  providers: [MODE_PROVIDER],
215
215
  host: {
216
216
  '($.data-mode.attr)': 'mode$',
217
217
  },
218
- styles: [":host{position:-webkit-sticky;position:sticky;top:0;left:0;z-index:1;min-width:calc(100% - 1px);min-height:calc(100% - 1px);float:left;margin-right:calc(-100% + 1px);pointer-events:none}.bar{position:absolute;right:0;bottom:0;pointer-events:auto}.bar_vertical{top:0;width:.875rem}.bar_horizontal{left:0;height:.875rem}.bar_has-horizontal{bottom:.5rem}.bar_has-vertical{right:.5rem}.thumb{transition-duration:.15s;transition-timing-function:ease-in-out;position:absolute;border-radius:6.25rem;border:.25rem solid transparent;cursor:pointer;pointer-events:auto;background:var(--tui-text-01);background-clip:content-box;box-sizing:border-box;transition-property:width,height;opacity:.2}.thumb:hover{opacity:.24}.thumb:active{opacity:.48}:host[data-mode=onDark] .thumb{background-color:var(--tui-text-01-night)}.bar_vertical .thumb{right:0;width:.75rem;min-height:1.25rem}.bar_vertical .thumb:active,.bar_vertical:hover .thumb{width:.875rem}.bar_horizontal .thumb{bottom:0;height:.75rem;min-width:1.25rem}.bar_horizontal .thumb:active,.bar_horizontal:hover .thumb{height:.875rem}"]
218
+ styles: [":host{position:sticky;top:0;left:0;z-index:1;min-width:calc(100% - 1px);min-height:calc(100% - 1px);float:left;margin-right:calc(-100% + 1px);-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:calc(-100% + 1px);margin-inline-end:calc(-100% + 1px);pointer-events:none}.bar{position:absolute;right:0;bottom:0;pointer-events:auto}.bar_vertical{top:0;width:.875rem}.bar_horizontal{left:0;height:.875rem}.bar_has-horizontal{bottom:.5rem}.bar_has-vertical{right:.5rem}.thumb{transition-duration:.15s;transition-timing-function:ease-in-out;position:absolute;border-radius:6.25rem;border:.25rem solid transparent;cursor:pointer;pointer-events:auto;background:var(--tui-text-01);background-clip:content-box;box-sizing:border-box;transition-property:width,height;opacity:.2}.thumb:hover{opacity:.24}.thumb:active{opacity:.48}:host[data-mode=onDark] .thumb{background-color:var(--tui-text-01-night)}.bar_vertical .thumb{right:0;width:.75rem;min-height:1.25rem}.bar_vertical .thumb:active,.bar_vertical:hover .thumb{width:.875rem}.bar_horizontal .thumb{bottom:0;height:.75rem;min-width:1.25rem}.bar_horizontal .thumb:active,.bar_horizontal:hover .thumb{height:.875rem}"]
219
219
  }),
220
220
  __param(0, Inject(TUI_ANIMATION_OPTIONS)),
221
221
  __param(1, Inject(NgZone)),
@@ -1,19 +1,30 @@
1
1
  import { __decorate, __param } from 'tslib';
2
- import { Directive, Inject, ElementRef, Input, HostBinding, ContentChild, HostListener, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
2
+ import { ElementRef, Inject, Directive, Input, HostBinding, HostListener, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
+ import { TUI_SCROLLABLE, TUI_SCROLL_INTO_VIEW } from '@taiga-ui/core/constants';
3
4
  import { CSS, USER_AGENT } from '@ng-web-apis/common';
4
5
  import { isFirefox, getElementOffset, TUI_IS_IOS, tuiDefaultProp } from '@taiga-ui/cdk';
5
- import { TUI_SCROLL_INTO_VIEW } from '@taiga-ui/core/constants';
6
6
  import { TUI_SCROLL_REF } from '@taiga-ui/core/tokens';
7
7
  import { CommonModule } from '@angular/common';
8
8
  import { TuiScrollControlsModule } from '@taiga-ui/core/components/scroll-controls';
9
9
 
10
10
  var TuiScrollableDirective = /** @class */ (function () {
11
- function TuiScrollableDirective() {
11
+ function TuiScrollableDirective(elementRef) {
12
+ this.elementRef = elementRef;
12
13
  }
14
+ TuiScrollableDirective.prototype.ngOnInit = function () {
15
+ this.elementRef.nativeElement.dispatchEvent(new CustomEvent(TUI_SCROLLABLE, {
16
+ bubbles: true,
17
+ detail: this.elementRef.nativeElement,
18
+ }));
19
+ };
20
+ TuiScrollableDirective.ctorParameters = function () { return [
21
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] }
22
+ ]; };
13
23
  TuiScrollableDirective = __decorate([
14
24
  Directive({
15
25
  selector: '[tuiScrollable]',
16
- })
26
+ }),
27
+ __param(0, Inject(ElementRef))
17
28
  ], TuiScrollableDirective);
18
29
  return TuiScrollableDirective;
19
30
  }());
@@ -34,35 +45,35 @@ var TuiScrollbarComponent = /** @class */ (function () {
34
45
  this.userAgent = userAgent;
35
46
  this.isIos = isIos;
36
47
  this.hidden = false;
48
+ this.browserScrollRef = new ElementRef(this.elementRef.nativeElement);
49
+ this.delegated = false;
37
50
  this.isLegacy = !this.cssRef.supports('position', 'sticky') ||
38
51
  (isFirefox(this.userAgent) && !this.cssRef.supports('scrollbar-width', 'none'));
39
52
  }
40
53
  TuiScrollbarComponent_1 = TuiScrollbarComponent;
41
54
  Object.defineProperty(TuiScrollbarComponent.prototype, "showScrollbars", {
42
55
  get: function () {
43
- return !this.hidden && !this.isIos && (!this.isLegacy || !!this.scrollable);
44
- },
45
- enumerable: true,
46
- configurable: true
47
- });
48
- Object.defineProperty(TuiScrollbarComponent.prototype, "browserScrollRef", {
49
- get: function () {
50
- return this.scrollable || this.elementRef;
56
+ return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);
51
57
  },
52
58
  enumerable: true,
53
59
  configurable: true
54
60
  });
55
61
  Object.defineProperty(TuiScrollbarComponent.prototype, "showNative", {
56
62
  get: function () {
57
- return this.isLegacy && !this.hidden && !this.scrollable;
63
+ return this.isLegacy && !this.hidden && !this.delegated;
58
64
  },
59
65
  enumerable: true,
60
66
  configurable: true
61
67
  });
62
- TuiScrollbarComponent.prototype.scrollIntoView = function (event) {
63
- var detail = event.detail;
68
+ TuiScrollbarComponent.prototype.onScrollable = function (element) {
69
+ this.delegated = true;
70
+ this.browserScrollRef.nativeElement = element;
71
+ };
72
+ TuiScrollbarComponent.prototype.scrollIntoView = function (detail) {
73
+ if (this.delegated) {
74
+ return;
75
+ }
64
76
  var nativeElement = this.browserScrollRef.nativeElement;
65
- event.stopPropagation();
66
77
  var _a = getElementOffset(nativeElement, detail), offsetTop = _a.offsetTop, offsetLeft = _a.offsetLeft;
67
78
  nativeElement.scrollTop =
68
79
  offsetTop + detail.offsetHeight / 2 - nativeElement.clientHeight / 2;
@@ -80,15 +91,14 @@ var TuiScrollbarComponent = /** @class */ (function () {
80
91
  Input(),
81
92
  tuiDefaultProp()
82
93
  ], TuiScrollbarComponent.prototype, "hidden", void 0);
83
- __decorate([
84
- HostBinding('class._container'),
85
- ContentChild(TuiScrollableDirective, { read: ElementRef })
86
- ], TuiScrollbarComponent.prototype, "scrollable", void 0);
87
94
  __decorate([
88
95
  HostBinding('class._legacy')
89
96
  ], TuiScrollbarComponent.prototype, "showNative", null);
90
97
  __decorate([
91
- HostListener(TUI_SCROLL_INTO_VIEW, ['$event'])
98
+ HostListener(TUI_SCROLLABLE + ".stop", ['$event.detail'])
99
+ ], TuiScrollbarComponent.prototype, "onScrollable", null);
100
+ __decorate([
101
+ HostListener(TUI_SCROLL_INTO_VIEW + ".stop", ['$event.detail'])
92
102
  ], TuiScrollbarComponent.prototype, "scrollIntoView", null);
93
103
  TuiScrollbarComponent = TuiScrollbarComponent_1 = __decorate([
94
104
  Component({
@@ -102,7 +112,7 @@ var TuiScrollbarComponent = /** @class */ (function () {
102
112
  useFactory: scrollRefFactory,
103
113
  },
104
114
  ],
105
- styles: [":host{z-index:0;position:relative;display:flex;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:6px solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host._container tui-scroll-controls{position:absolute}.content{position:relative;z-index:0;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:-moz-max-content;height:max-content}"]
115
+ styles: [":host{z-index:0;position:relative;display:flex;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:6px solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}.content{position:relative;z-index:0;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:-moz-max-content;height:max-content}"]
106
116
  }),
107
117
  __param(0, Inject(CSS)),
108
118
  __param(1, Inject(ElementRef)),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-scrollbar.js","sources":["ng://@taiga-ui/core/components/scrollbar/scrollable.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.component.ts","ng://@taiga-ui/core/components/scrollbar/scroll-ref.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.module.ts","ng://@taiga-ui/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiScrollable]',\n})\nexport class TuiScrollableDirective {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS, USER_AGENT} from '@ng-web-apis/common';\nimport {getElementOffset, isFirefox, TUI_IS_IOS, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW} from '@taiga-ui/core/constants';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {TuiScrollableDirective} from './scrollable.directive';\n\nexport function scrollRefFactory({\n browserScrollRef,\n}: TuiScrollbarComponent): ElementRef<HTMLElement> {\n return browserScrollRef;\n}\n\n// @dynamic\n@Component({\n selector: 'tui-scrollbar',\n templateUrl: './scrollbar.template.html',\n styleUrls: ['./scrollbar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: scrollRefFactory,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n @Input()\n @tuiDefaultProp()\n hidden = false;\n\n @HostBinding('class._container')\n @ContentChild(TuiScrollableDirective, {read: ElementRef})\n readonly scrollable?: ElementRef<HTMLDivElement>;\n\n private readonly isLegacy: boolean =\n !this.cssRef.supports('position', 'sticky') ||\n (isFirefox(this.userAgent) && !this.cssRef.supports('scrollbar-width', 'none'));\n\n constructor(\n /**\n * TODO: remove \"any\" in new TS version; https://github.com/ng-web-apis/common/pull/6\n */\n @Inject(CSS) private readonly cssRef: any,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || !!this.scrollable);\n }\n\n get browserScrollRef(): ElementRef<HTMLElement> {\n return this.scrollable || this.elementRef;\n }\n\n @HostBinding('class._legacy')\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.scrollable;\n }\n\n @HostListener(TUI_SCROLL_INTO_VIEW, ['$event'])\n scrollIntoView(event: CustomEvent<HTMLElement>) {\n const {detail} = event;\n const {nativeElement} = this.browserScrollRef;\n\n event.stopPropagation();\n\n const {offsetTop, offsetLeft} = getElementOffset(nativeElement, detail);\n\n nativeElement.scrollTop =\n offsetTop + detail.offsetHeight / 2 - nativeElement.clientHeight / 2;\n nativeElement.scrollLeft =\n offsetLeft + detail.offsetWidth / 2 - nativeElement.clientWidth / 2;\n }\n}\n","import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\nexport const SCROLL_REF_SELECTOR = '[tuiScrollRef]';\n\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\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-scrollbar.js","sources":["ng://@taiga-ui/core/components/scrollbar/scrollable.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.component.ts","ng://@taiga-ui/core/components/scrollbar/scroll-ref.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.module.ts","ng://@taiga-ui/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: '[tuiScrollable]',\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n ngOnInit() {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.elementRef.nativeElement,\n }),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS, USER_AGENT} from '@ng-web-apis/common';\nimport {getElementOffset, isFirefox, TUI_IS_IOS, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW, TUI_SCROLLABLE} from '@taiga-ui/core/constants';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\nexport function scrollRefFactory({\n browserScrollRef,\n}: TuiScrollbarComponent): ElementRef<HTMLElement> {\n return browserScrollRef;\n}\n\n// @dynamic\n@Component({\n selector: 'tui-scrollbar',\n templateUrl: './scrollbar.template.html',\n styleUrls: ['./scrollbar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: scrollRefFactory,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n @Input()\n @tuiDefaultProp()\n hidden = false;\n\n readonly browserScrollRef = new ElementRef(this.elementRef.nativeElement);\n\n private delegated = false;\n\n private readonly isLegacy: boolean =\n !this.cssRef.supports('position', 'sticky') ||\n (isFirefox(this.userAgent) && !this.cssRef.supports('scrollbar-width', 'none'));\n\n constructor(\n /**\n * TODO: remove \"any\" in new TS version; https://github.com/ng-web-apis/common/pull/6\n */\n @Inject(CSS) private readonly cssRef: any,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);\n }\n\n @HostBinding('class._legacy')\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.delegated;\n }\n\n @HostListener(`${TUI_SCROLLABLE}.stop`, ['$event.detail'])\n onScrollable(element: HTMLElement) {\n this.delegated = true;\n this.browserScrollRef.nativeElement = element;\n }\n\n @HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, ['$event.detail'])\n scrollIntoView(detail: HTMLElement) {\n if (this.delegated) {\n return;\n }\n\n const {nativeElement} = this.browserScrollRef;\n const {offsetTop, offsetLeft} = getElementOffset(nativeElement, detail);\n\n nativeElement.scrollTop =\n offsetTop + detail.offsetHeight / 2 - nativeElement.clientHeight / 2;\n nativeElement.scrollLeft =\n offsetLeft + detail.offsetWidth / 2 - nativeElement.clientWidth / 2;\n }\n}\n","import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\nexport const SCROLL_REF_SELECTOR = '[tuiScrollRef]';\n\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,25 +1,20 @@
1
- import { __extends, __decorate, __param } from 'tslib';
2
- import { DOCUMENT } from '@angular/common';
3
- import { Inject, Component, ViewEncapsulation, NgModule } from '@angular/core';
1
+ import { __extends, __decorate } from 'tslib';
2
+ import { Component, ViewEncapsulation, NgModule } from '@angular/core';
4
3
  import { AbstractTuiThemeSwitcher } from '@taiga-ui/cdk';
5
4
 
6
5
  // @dynamic
7
6
  var TuiThemeNightComponent = /** @class */ (function (_super) {
8
7
  __extends(TuiThemeNightComponent, _super);
9
- function TuiThemeNightComponent(documentRef) {
10
- return _super.call(this, documentRef) || this;
8
+ function TuiThemeNightComponent() {
9
+ return _super !== null && _super.apply(this, arguments) || this;
11
10
  }
12
- TuiThemeNightComponent.ctorParameters = function () { return [
13
- { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
14
- ]; };
15
11
  TuiThemeNightComponent = __decorate([
16
12
  Component({
17
13
  selector: 'tui-theme-night',
18
14
  template: '',
19
15
  encapsulation: ViewEncapsulation.None,
20
16
  styles: [":root{--tui-base-01:#222;--tui-base-02:#333;--tui-base-03:#808080;--tui-base-04:#959595;--tui-base-05:#b0b0b0;--tui-base-06:#d7d7d7;--tui-base-07:#ededed;--tui-base-08:#f6f6f6;--tui-base-09:#fff;--tui-focus:rgba(51, 51, 51, 0.64);--tui-secondary:rgba(255, 255, 255, 0.16);--tui-secondary-hover:rgba(255, 255, 255, 0.24);--tui-secondary-active:rgba(255, 255, 255, 0.4);--tui-clear:rgba(255, 255, 255, 0.16);--tui-clear-disabled:rgba(255, 255, 255, 0.08);--tui-clear-hover:rgba(255, 255, 255, 0.24);--tui-clear-active:rgba(255, 255, 255, 0.4);--tui-error-fill:#ff8c67;--tui-error-bg:rgba(244, 87, 37, 0.32);--tui-error-bg-hover:rgba(244, 87, 37, 0.4);--tui-success-fill:#4ac99b;--tui-success-bg:rgba(74, 201, 155, 0.32);--tui-success-bg-hover:rgba(74, 201, 155, 0.4);--tui-warning-fill:#ffc700;--tui-warning-bg:rgba(255, 199, 0, 0.32);--tui-warning-bg-hover:rgba(255, 199, 0, 0.4);--tui-info-fill:#70b6f6;--tui-info-bg:rgba(112, 182, 246, 0.32);--tui-info-bg-hover:rgba(112, 182, 246, 0.4);--tui-neutral-fill:#959ba4;--tui-neutral-bg:rgba(149, 155, 164, 0.32);--tui-neutral-bg-hover:rgba(149, 155, 164, 0.48);--tui-text-01:#ffffff;--tui-text-02:rgba(255, 255, 255, 0.72);--tui-text-03:rgba(255, 255, 255, 0.6);--tui-link:#6788ff;--tui-link-hover:#526ed3;--tui-positive:#44c596;--tui-positive-hover:#3aa981;--tui-negative:#ff8c67;--tui-negative-hover:#bb593a;--tui-autofill:var(--tui-autofill-night)}tui-notification{--tui-base-01:#000}"]
21
- }),
22
- __param(0, Inject(DOCUMENT))
17
+ })
23
18
  ], TuiThemeNightComponent);
24
19
  return TuiThemeNightComponent;
25
20
  }(AbstractTuiThemeSwitcher));
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-theme-night.js","sources":["ng://@taiga-ui/core/components/theme-night/theme-night.component.ts","ng://@taiga-ui/core/components/theme-night/theme-night.module.ts","ng://@taiga-ui/core/components/theme-night/taiga-ui-core-components-theme-night.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {Component, Inject, ViewEncapsulation} from '@angular/core';\nimport {AbstractTuiThemeSwitcher} from '@taiga-ui/cdk';\n\n// @dynamic\n@Component({\n selector: 'tui-theme-night',\n template: '',\n styleUrls: ['./theme-night.style.less'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiThemeNightComponent extends AbstractTuiThemeSwitcher {\n constructor(@Inject(DOCUMENT) documentRef: Document) {\n super(documentRef);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiThemeNightComponent} from './theme-night.component';\n\n@NgModule({\n declarations: [TuiThemeNightComponent],\n exports: [TuiThemeNightComponent],\n})\nexport class TuiThemeNightModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIA;;IAO4C,0CAAwB;IAChE,gCAA8B,WAAqB;eAC/C,kBAAM,WAAW,CAAC;KACrB;;gBAF0C,QAAQ,uBAAtC,MAAM,SAAC,QAAQ;;IADnB,sBAAsB;QANlC,SAAS,CAAC;YACP,QAAQ,EAAE,iBAAiB;YAC3B,QAAQ,EAAE,EAAE;YAEZ,aAAa,EAAE,iBAAiB,CAAC,IAAI;;SACxC,CAAC;QAEe,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;OADpB,sBAAsB,CAIlC;IAAD,6BAAC;CAAA,CAJ2C,wBAAwB;;;ICJpE;KAAmC;IAAtB,mBAAmB;QAJ/B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,sBAAsB,CAAC;YACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;SACpC,CAAC;OACW,mBAAmB,CAAG;IAAD,0BAAC;CAAnC;;ACPA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-theme-night.js","sources":["ng://@taiga-ui/core/components/theme-night/theme-night.component.ts","ng://@taiga-ui/core/components/theme-night/theme-night.module.ts","ng://@taiga-ui/core/components/theme-night/taiga-ui-core-components-theme-night.ts"],"sourcesContent":["import {Component, ViewEncapsulation} from '@angular/core';\nimport {AbstractTuiThemeSwitcher} from '@taiga-ui/cdk';\n\n// @dynamic\n@Component({\n selector: 'tui-theme-night',\n template: '',\n styleUrls: ['./theme-night.style.less'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiThemeNightComponent extends AbstractTuiThemeSwitcher {}\n","import {NgModule} from '@angular/core';\nimport {TuiThemeNightComponent} from './theme-night.component';\n\n@NgModule({\n declarations: [TuiThemeNightComponent],\n exports: [TuiThemeNightComponent],\n})\nexport class TuiThemeNightModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;;IAO4C,0CAAwB;IAApE;;KAAuE;IAA1D,sBAAsB;QANlC,SAAS,CAAC;YACP,QAAQ,EAAE,iBAAiB;YAC3B,QAAQ,EAAE,EAAE;YAEZ,aAAa,EAAE,iBAAiB,CAAC,IAAI;;SACxC,CAAC;OACW,sBAAsB,CAAoC;IAAD,6BAAC;CAAA,CAA3B,wBAAwB;;;ICHpE;KAAmC;IAAtB,mBAAmB;QAJ/B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,sBAAsB,CAAC;YACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;SACpC,CAAC;OACW,mBAAmB,CAAG;IAAD,0BAAC;CAAnC;;ACPA;;;;;;"}
@@ -77,7 +77,7 @@ var TuiTooltipComponent = /** @class */ (function () {
77
77
  TuiTooltipComponent = __decorate([
78
78
  Component({
79
79
  selector: 'tui-tooltip',
80
- template: "<tui-svg\n class=\"icon\"\n src=\"tuiIconTooltipLarge\"\n automation-id=\"tui-tooltip__icon\"\n [tuiHintId]=\"describeId\"\n [tuiHint]=\"content\"\n [tuiHintDirection]=\"direction\"\n [tuiHintShowDelay]=\"showDelay\"\n [tuiHintHideDelay]=\"hideDelay\"\n [tuiHintMode]=\"computedMode\"\n></tui-svg>\n",
80
+ template: "<tui-svg\n src=\"tuiIconTooltipLarge\"\n automation-id=\"tui-tooltip__icon\"\n class=\"icon\"\n [tuiHintId]=\"describeId\"\n [tuiHint]=\"content\"\n [tuiHintDirection]=\"direction\"\n [tuiHintShowDelay]=\"showDelay\"\n [tuiHintHideDelay]=\"hideDelay\"\n [tuiHintMode]=\"computedMode\"\n></tui-svg>\n",
81
81
  changeDetection: ChangeDetectionStrategy.OnPush,
82
82
  providers: [TuiDestroyService, MODE_PROVIDER],
83
83
  styles: [":host{transition-property:color;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:relative;display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;font-size:0;line-height:0;cursor:pointer;color:var(--tui-text-03)}:host:hover{color:var(--tui-text-02)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host[data-mode=onLight]{color:var(--tui-text-01)}:host[data-mode=error]{color:var(--tui-error-fill)}.icon{transition-property:opacity,color;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;width:100%;height:100%}:host:not([data-mode]) .icon._hint_hovered{color:var(--tui-text-02)}:host[data-mode=onDark] .icon,:host[data-mode=onLight] .icon{opacity:var(--tui-disabled-opacity)}:host[data-mode=onDark] .icon._hint_hovered,:host[data-mode=onDark] .icon:hover,:host[data-mode=onLight] .icon._hint_hovered,:host[data-mode=onLight] .icon:hover{opacity:1}"]
@@ -94,7 +94,7 @@ var TuiWrapperComponent = /** @class */ (function () {
94
94
  host: {
95
95
  '($.data-mode.attr)': 'mode$',
96
96
  },
97
- styles: [":host{transition-property:color,background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:relative;display:block;height:100%;width:100%;text-align:left;border-radius:inherit}:host:after{transition-property:box-shadow;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;border:1px solid currentColor;pointer-events:none;color:transparent}:host._focused:after{border-width:2px;color:var(--tui-focus)}:host[data-state=disabled]{pointer-events:none}"]
97
+ styles: [":host{transition-property:color,background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:relative;display:block;height:100%;width:100%;border-radius:inherit}:host:after{transition-property:box-shadow;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;border:1px solid currentColor;pointer-events:none;color:transparent}:host._focused:after{border-width:2px;color:var(--tui-focus)}:host[data-state=disabled]{pointer-events:none}"]
98
98
  }),
99
99
  __param(0, Inject(TUI_IS_MOBILE)),
100
100
  __param(1, Inject(TUI_MODE))
@@ -34,6 +34,11 @@ var TUI_EXPAND_LOADED = 'tui-expand-loaded';
34
34
  * An event for scrolling an element into view within {@link TuiScrollbarComponent}.
35
35
  */
36
36
  var TUI_SCROLL_INTO_VIEW = 'tui-scroll-into-view';
37
+ /**
38
+ * An event to notify {@link TuiScrollbarComponent} that
39
+ * it should control a nested element.
40
+ */
41
+ var TUI_SCROLLABLE = 'tui-scrollable';
37
42
  /**
38
43
  * An event indicating and error during icon loading in {@link TuiSvgComponent}.
39
44
  */
@@ -43,6 +48,7 @@ var MASK_CARET_TRAP = '[]';
43
48
 
44
49
  /**
45
50
  * Media constants are exact the same as css media breakpoints
51
+ * @deprecated use TUI_MEDIA token
46
52
  */
47
53
  var MEDIA = {
48
54
  mobile: 320,
@@ -54,15 +60,16 @@ var MEDIA = {
54
60
  var TUI_DIGIT_REGEXP = /\d/;
55
61
  var TUI_NON_DIGIT_REGEXP = /\D/;
56
62
  var TUI_NON_DIGITS_REGEXP = /\D+/g;
63
+ var TUI_LEADING_ZEROES_REGEXP = /^0+/;
57
64
  var TUI_LAST_PUNCTUATION_MARK_REGEXP = /[.,\\/#!$%\\^&\\*;:{}=\\-_\`~()]$/;
58
65
  var TUI_LATIN_REGEXP = /[A-z]/;
59
66
  var TUI_LATIN_AND_NUMBERS_REGEXP = /[A-z|0-9]/;
60
67
 
61
- var VERSION = '2.20.0';
68
+ var VERSION = '2.24.0';
62
69
 
63
70
  /**
64
71
  * Generated bundle index. Do not edit.
65
72
  */
66
73
 
67
- export { DEFAULT_ICONS_PATH, DEFAULT_MARGIN, DEFAULT_MAX_HEIGHT, DEFAULT_MAX_WIDTH, DEFAULT_MIN_HEIGHT, MASK_CARET_TRAP, MEDIA, TUI_DECIMAL_SYMBOLS, TUI_DEFAULT_MARKER_HANDLER, TUI_DIGIT_REGEXP, TUI_EXPAND_LOADED, TUI_ICON_ERROR, TUI_LAST_PUNCTUATION_MARK_REGEXP, TUI_LATIN_AND_NUMBERS_REGEXP, TUI_LATIN_REGEXP, TUI_NON_DIGITS_REGEXP, TUI_NON_DIGIT_REGEXP, TUI_SCROLL_INTO_VIEW, VERSION, tuiEditingKeys };
74
+ export { DEFAULT_ICONS_PATH, DEFAULT_MARGIN, DEFAULT_MAX_HEIGHT, DEFAULT_MAX_WIDTH, DEFAULT_MIN_HEIGHT, MASK_CARET_TRAP, MEDIA, TUI_DECIMAL_SYMBOLS, TUI_DEFAULT_MARKER_HANDLER, TUI_DIGIT_REGEXP, TUI_EXPAND_LOADED, TUI_ICON_ERROR, TUI_LAST_PUNCTUATION_MARK_REGEXP, TUI_LATIN_AND_NUMBERS_REGEXP, TUI_LATIN_REGEXP, TUI_LEADING_ZEROES_REGEXP, TUI_NON_DIGITS_REGEXP, TUI_NON_DIGIT_REGEXP, TUI_SCROLLABLE, TUI_SCROLL_INTO_VIEW, VERSION, tuiEditingKeys };
68
75
  //# sourceMappingURL=taiga-ui-core-constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-constants.js","sources":["ng://@taiga-ui/core/constants/absolute-box-sizes.ts","ng://@taiga-ui/core/constants/default-icons-path.ts","ng://@taiga-ui/core/constants/default-marker-handler.ts","ng://@taiga-ui/core/constants/decimal-symbols.ts","ng://@taiga-ui/core/constants/editing-keys.ts","ng://@taiga-ui/core/constants/events.ts","ng://@taiga-ui/core/constants/mask-caret-trap.ts","ng://@taiga-ui/core/constants/media.ts","ng://@taiga-ui/core/constants/regexp.ts","ng://@taiga-ui/core/constants/version.ts","ng://@taiga-ui/core/constants/taiga-ui-core-constants.ts"],"sourcesContent":["export const DEFAULT_MARGIN = 4;\nexport const DEFAULT_MIN_HEIGHT = 80;\nexport const DEFAULT_MAX_HEIGHT = 400;\nexport const DEFAULT_MAX_WIDTH = 600;\n","import {TuiStringHandler} from '@taiga-ui/cdk';\n\nexport const DEFAULT_ICONS_PATH: TuiStringHandler<string> = name =>\n name.includes('.svg#') ? name : `#${name}`;\n","import {EMPTY_ARRAY} from '@taiga-ui/cdk';\nimport {TuiMarkerHandler} from '@taiga-ui/core/types';\n\nexport const TUI_DEFAULT_MARKER_HANDLER: TuiMarkerHandler = () => EMPTY_ARRAY;\n","export const TUI_DECIMAL_SYMBOLS: ReadonlyArray<string> = [',', '.'];\n","export const tuiEditingKeys: readonly string[] = [\n 'Spacebar',\n 'Backspace',\n 'Delete',\n 'ArrowLeft',\n 'ArrowRight',\n 'Left',\n 'Right',\n 'End',\n 'Home',\n];\n","/**\n * An event indicating that async data for expand has finished loading.\n * Dispatch to finish loading states for {@link TuiExpandComponent}.\n */\nexport const TUI_EXPAND_LOADED = 'tui-expand-loaded';\n\n/**\n * An event for scrolling an element into view within {@link TuiScrollbarComponent}.\n */\nexport const TUI_SCROLL_INTO_VIEW = 'tui-scroll-into-view';\n\n/**\n * An event indicating and error during icon loading in {@link TuiSvgComponent}.\n */\nexport const TUI_ICON_ERROR = 'tui-icon-error';\n","export const MASK_CARET_TRAP = '[]';\n","/**\n * Media constants are exact the same as css media breakpoints\n */\nexport const MEDIA = {\n mobile: 320,\n tablet: 600,\n desktopSmall: 1024,\n desktopLarge: 1280,\n};\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\nexport const TUI_LAST_PUNCTUATION_MARK_REGEXP = /[.,\\\\/#!$%\\\\^&\\\\*;:{}=\\\\-_\\`~()]$/;\nexport const TUI_LATIN_REGEXP = /[A-z]/;\nexport const TUI_LATIN_AND_NUMBERS_REGEXP = /[A-z|0-9]/;\n","export const VERSION = '2.20.0';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;IAAa,cAAc,GAAG,EAAE;IACnB,kBAAkB,GAAG,GAAG;IACxB,kBAAkB,GAAG,IAAI;IACzB,iBAAiB,GAAG;;ICDpB,kBAAkB,GAA6B,UAAA,IAAI;IAC5D,OAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,MAAI,IAAM;AAA1C;;ICAS,0BAA0B,GAAqB,cAAM,OAAA,WAAW;;ICHhE,mBAAmB,GAA0B,CAAC,GAAG,EAAE,GAAG;;ICAtD,cAAc,GAAsB;IAC7C,UAAU;IACV,WAAW;IACX,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;;;ACTV;;;;IAIa,iBAAiB,GAAG,oBAAoB;AAErD;;;IAGa,oBAAoB,GAAG,uBAAuB;AAE3D;;;IAGa,cAAc,GAAG;;ICdjB,eAAe,GAAG;;ACA/B;;;IAGa,KAAK,GAAG;IACjB,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,IAAI;;;ICPT,gBAAgB,GAAG,KAAK;IACxB,oBAAoB,GAAG,KAAK;IAC5B,qBAAqB,GAAG,OAAO;IAC/B,gCAAgC,GAAG,oCAAoC;IACvE,gBAAgB,GAAG,QAAQ;IAC3B,4BAA4B,GAAG;;ICL/B,OAAO,GAAG;;ACAvB;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-constants.js","sources":["ng://@taiga-ui/core/constants/absolute-box-sizes.ts","ng://@taiga-ui/core/constants/default-icons-path.ts","ng://@taiga-ui/core/constants/default-marker-handler.ts","ng://@taiga-ui/core/constants/decimal-symbols.ts","ng://@taiga-ui/core/constants/editing-keys.ts","ng://@taiga-ui/core/constants/events.ts","ng://@taiga-ui/core/constants/mask-caret-trap.ts","ng://@taiga-ui/core/constants/media.ts","ng://@taiga-ui/core/constants/regexp.ts","ng://@taiga-ui/core/constants/version.ts","ng://@taiga-ui/core/constants/taiga-ui-core-constants.ts"],"sourcesContent":["export const DEFAULT_MARGIN = 4;\nexport const DEFAULT_MIN_HEIGHT = 80;\nexport const DEFAULT_MAX_HEIGHT = 400;\nexport const DEFAULT_MAX_WIDTH = 600;\n","import {TuiStringHandler} from '@taiga-ui/cdk';\n\nexport const DEFAULT_ICONS_PATH: TuiStringHandler<string> = name =>\n name.includes('.svg#') ? name : `#${name}`;\n","import {EMPTY_ARRAY} from '@taiga-ui/cdk';\nimport {TuiMarkerHandler} from '@taiga-ui/core/types';\n\nexport const TUI_DEFAULT_MARKER_HANDLER: TuiMarkerHandler = () => EMPTY_ARRAY;\n","export const TUI_DECIMAL_SYMBOLS: ReadonlyArray<string> = [',', '.'];\n","export const tuiEditingKeys: readonly string[] = [\n 'Spacebar',\n 'Backspace',\n 'Delete',\n 'ArrowLeft',\n 'ArrowRight',\n 'Left',\n 'Right',\n 'End',\n 'Home',\n];\n","/**\n * An event indicating that async data for expand has finished loading.\n * Dispatch to finish loading states for {@link TuiExpandComponent}.\n */\nexport const TUI_EXPAND_LOADED = 'tui-expand-loaded';\n\n/**\n * An event for scrolling an element into view within {@link TuiScrollbarComponent}.\n */\nexport const TUI_SCROLL_INTO_VIEW = 'tui-scroll-into-view';\n\n/**\n * An event to notify {@link TuiScrollbarComponent} that\n * it should control a nested element.\n */\nexport const TUI_SCROLLABLE = 'tui-scrollable';\n\n/**\n * An event indicating and error during icon loading in {@link TuiSvgComponent}.\n */\nexport const TUI_ICON_ERROR = 'tui-icon-error';\n","export const MASK_CARET_TRAP = '[]';\n","/**\n * Media constants are exact the same as css media breakpoints\n * @deprecated use TUI_MEDIA token\n */\nexport const MEDIA = {\n mobile: 320,\n tablet: 600,\n desktopSmall: 1024,\n desktopLarge: 1280,\n};\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\nexport const TUI_LEADING_ZEROES_REGEXP = /^0+/;\nexport const TUI_LAST_PUNCTUATION_MARK_REGEXP = /[.,\\\\/#!$%\\\\^&\\\\*;:{}=\\\\-_\\`~()]$/;\nexport const TUI_LATIN_REGEXP = /[A-z]/;\nexport const TUI_LATIN_AND_NUMBERS_REGEXP = /[A-z|0-9]/;\n","export const VERSION = '2.24.0';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;IAAa,cAAc,GAAG,EAAE;IACnB,kBAAkB,GAAG,GAAG;IACxB,kBAAkB,GAAG,IAAI;IACzB,iBAAiB,GAAG;;ICDpB,kBAAkB,GAA6B,UAAA,IAAI;IAC5D,OAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,MAAI,IAAM;AAA1C;;ICAS,0BAA0B,GAAqB,cAAM,OAAA,WAAW;;ICHhE,mBAAmB,GAA0B,CAAC,GAAG,EAAE,GAAG;;ICAtD,cAAc,GAAsB;IAC7C,UAAU;IACV,WAAW;IACX,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;;;ACTV;;;;IAIa,iBAAiB,GAAG,oBAAoB;AAErD;;;IAGa,oBAAoB,GAAG,uBAAuB;AAE3D;;;;IAIa,cAAc,GAAG,iBAAiB;AAE/C;;;IAGa,cAAc,GAAG;;ICpBjB,eAAe,GAAG;;ACA/B;;;;IAIa,KAAK,GAAG;IACjB,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,IAAI;;;ICRT,gBAAgB,GAAG,KAAK;IACxB,oBAAoB,GAAG,KAAK;IAC5B,qBAAqB,GAAG,OAAO;IAC/B,yBAAyB,GAAG,MAAM;IAClC,gCAAgC,GAAG,oCAAoC;IACvE,gBAAgB,GAAG,QAAQ;IAC3B,4BAA4B,GAAG;;ICN/B,OAAO,GAAG;;ACAvB;;;;;;"}
@@ -0,0 +1,69 @@
1
+ import { __decorate, __param } from 'tslib';
2
+ import { Inject, Input, HostBinding, Directive, NgModule } from '@angular/core';
3
+ import { CSS } from '@ng-web-apis/common';
4
+
5
+ var TuiBorderDirective = /** @class */ (function () {
6
+ function TuiBorderDirective(css) {
7
+ this.css = css;
8
+ this.start = 0;
9
+ this.end = 0;
10
+ this.modern = this.css.supports('border-inline-start-width', '0');
11
+ }
12
+ Object.defineProperty(TuiBorderDirective.prototype, "oldStart", {
13
+ get: function () {
14
+ return this.modern ? null : this.start;
15
+ },
16
+ enumerable: true,
17
+ configurable: true
18
+ });
19
+ Object.defineProperty(TuiBorderDirective.prototype, "oldEnd", {
20
+ get: function () {
21
+ return this.modern ? null : this.end;
22
+ },
23
+ enumerable: true,
24
+ configurable: true
25
+ });
26
+ TuiBorderDirective.ctorParameters = function () { return [
27
+ { type: undefined, decorators: [{ type: Inject, args: [CSS,] }] }
28
+ ]; };
29
+ __decorate([
30
+ Input('tuiBorderStart'),
31
+ HostBinding('style.borderInlineStartWidth.rem')
32
+ ], TuiBorderDirective.prototype, "start", void 0);
33
+ __decorate([
34
+ Input('tuiBorderEnd'),
35
+ HostBinding('style.borderInlineEndWidth.rem')
36
+ ], TuiBorderDirective.prototype, "end", void 0);
37
+ __decorate([
38
+ HostBinding('style.borderLeftWidth.rem')
39
+ ], TuiBorderDirective.prototype, "oldStart", null);
40
+ __decorate([
41
+ HostBinding('style.borderRightWidth.rem')
42
+ ], TuiBorderDirective.prototype, "oldEnd", null);
43
+ TuiBorderDirective = __decorate([
44
+ Directive({
45
+ selector: '[tuiBorderStart], [tuiBorderEnd]',
46
+ }),
47
+ __param(0, Inject(CSS))
48
+ ], TuiBorderDirective);
49
+ return TuiBorderDirective;
50
+ }());
51
+
52
+ var TuiBorderModule = /** @class */ (function () {
53
+ function TuiBorderModule() {
54
+ }
55
+ TuiBorderModule = __decorate([
56
+ NgModule({
57
+ declarations: [TuiBorderDirective],
58
+ exports: [TuiBorderDirective],
59
+ })
60
+ ], TuiBorderModule);
61
+ return TuiBorderModule;
62
+ }());
63
+
64
+ /**
65
+ * Generated bundle index. Do not edit.
66
+ */
67
+
68
+ export { TuiBorderDirective, TuiBorderModule };
69
+ //# sourceMappingURL=taiga-ui-core-directives-border.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-core-directives-border.js","sources":["ng://@taiga-ui/core/directives/border/border.directive.ts","ng://@taiga-ui/core/directives/border/border.module.ts","ng://@taiga-ui/core/directives/border/taiga-ui-core-directives-border.ts"],"sourcesContent":["import {Directive, HostBinding, Inject, Input} from '@angular/core';\nimport {CSS} from '@ng-web-apis/common';\n\n@Directive({\n selector: '[tuiBorderStart], [tuiBorderEnd]',\n})\nexport class TuiBorderDirective {\n @Input('tuiBorderStart')\n @HostBinding('style.borderInlineStartWidth.rem')\n start = 0;\n\n @Input('tuiBorderEnd')\n @HostBinding('style.borderInlineEndWidth.rem')\n end = 0;\n\n readonly modern = this.css.supports('border-inline-start-width', '0');\n\n constructor(@Inject(CSS) private readonly css: any) {}\n\n @HostBinding('style.borderLeftWidth.rem')\n get oldStart(): number | null {\n return this.modern ? null : this.start;\n }\n\n @HostBinding('style.borderRightWidth.rem')\n get oldEnd(): number | null {\n return this.modern ? null : this.end;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiBorderDirective} from './border.directive';\n\n@NgModule({\n declarations: [TuiBorderDirective],\n exports: [TuiBorderDirective],\n})\nexport class TuiBorderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;IAiBI,4BAA0C,GAAQ;QAAR,QAAG,GAAH,GAAG,CAAK;QARlD,UAAK,GAAG,CAAC,CAAC;QAIV,QAAG,GAAG,CAAC,CAAC;QAEC,WAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;KAEhB;IAGtD,sBAAI,wCAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;SAC1C;;;OAAA;IAGD,sBAAI,sCAAM;aAAV;YACI,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;SACxC;;;OAAA;;gDAVY,MAAM,SAAC,GAAG;;IARvB;QAFC,KAAK,CAAC,gBAAgB,CAAC;QACvB,WAAW,CAAC,kCAAkC,CAAC;qDACtC;IAIV;QAFC,KAAK,CAAC,cAAc,CAAC;QACrB,WAAW,CAAC,gCAAgC,CAAC;mDACtC;IAOR;QADC,WAAW,CAAC,2BAA2B,CAAC;sDAGxC;IAGD;QADC,WAAW,CAAC,4BAA4B,CAAC;oDAGzC;IArBQ,kBAAkB;QAH9B,SAAS,CAAC;YACP,QAAQ,EAAE,kCAAkC;SAC/C,CAAC;QAYe,WAAA,MAAM,CAAC,GAAG,CAAC,CAAA;OAXf,kBAAkB,CAsB9B;IAAD,yBAAC;CAtBD;;;ICCA;KAA+B;IAAlB,eAAe;QAJ3B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,kBAAkB,CAAC;YAClC,OAAO,EAAE,CAAC,kBAAkB,CAAC;SAChC,CAAC;OACW,eAAe,CAAG;IAAD,sBAAC;CAA/B;;ACPA;;;;;;"}