@taiga-ui/core 2.21.0 → 2.25.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 (724) 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 +16 -40
  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.js.map +1 -1
  26. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js +1 -1
  27. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-core-components-error.umd.js +1 -1
  29. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  30. package/bundles/taiga-ui-core-components-error.umd.min.js +1 -1
  31. package/bundles/taiga-ui-core-components-error.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-core-components-expand.umd.js +3 -2
  33. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  34. package/bundles/taiga-ui-core-components-expand.umd.min.js +1 -1
  35. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  36. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  37. package/bundles/taiga-ui-core-components-group.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-core-components-hints-host.umd.js +20 -14
  39. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  40. package/bundles/taiga-ui-core-components-hints-host.umd.min.js +2 -2
  41. package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
  42. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +2 -15
  43. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  44. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js +1 -1
  45. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-core-components-label.umd.js +1 -1
  47. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  48. package/bundles/taiga-ui-core-components-label.umd.min.js +1 -1
  49. package/bundles/taiga-ui-core-components-label.umd.min.js.map +1 -1
  50. package/bundles/taiga-ui-core-components-link.umd.js +1 -1
  51. package/bundles/taiga-ui-core-components-link.umd.min.js +1 -1
  52. package/bundles/taiga-ui-core-components-link.umd.min.js.map +1 -1
  53. package/bundles/taiga-ui-core-components-loader.umd.js +2 -2
  54. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  55. package/bundles/taiga-ui-core-components-loader.umd.min.js +1 -1
  56. package/bundles/taiga-ui-core-components-loader.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-core-components-notification.umd.js +1 -1
  58. package/bundles/taiga-ui-core-components-notification.umd.min.js +1 -1
  59. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +2 -2
  60. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  61. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js +1 -1
  62. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  63. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  64. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js.map +1 -1
  65. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +2 -2
  66. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js +1 -1
  67. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +138 -106
  68. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  69. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +2 -2
  70. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  71. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +2 -2
  72. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  73. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js +1 -1
  74. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
  75. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  76. package/bundles/taiga-ui-core-components-root.umd.min.js.map +1 -1
  77. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +61 -61
  78. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  79. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js +2 -2
  80. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-core-components-scrollbar.umd.js +52 -42
  82. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  83. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js +2 -2
  84. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
  85. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  86. package/bundles/taiga-ui-core-components-svg.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
  88. package/bundles/taiga-ui-core-components-theme-night.umd.min.js.map +1 -1
  89. package/bundles/taiga-ui-core-components-tooltip.umd.js +1 -1
  90. package/bundles/taiga-ui-core-components-tooltip.umd.min.js +1 -1
  91. package/bundles/taiga-ui-core-components-wrapper.umd.js +1 -1
  92. package/bundles/taiga-ui-core-components-wrapper.umd.js.map +1 -1
  93. package/bundles/taiga-ui-core-components-wrapper.umd.min.js +1 -1
  94. package/bundles/taiga-ui-core-components-wrapper.umd.min.js.map +1 -1
  95. package/bundles/taiga-ui-core-components.umd.js +8 -8
  96. package/bundles/taiga-ui-core-components.umd.min.js +1 -1
  97. package/bundles/taiga-ui-core-constants.umd.js +12 -3
  98. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  99. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  100. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  101. package/bundles/taiga-ui-core-directives-border.umd.js +291 -0
  102. package/bundles/taiga-ui-core-directives-border.umd.js.map +1 -0
  103. package/bundles/taiga-ui-core-directives-border.umd.min.js +16 -0
  104. package/bundles/taiga-ui-core-directives-border.umd.min.js.map +1 -0
  105. package/bundles/taiga-ui-core-directives-color.umd.js.map +1 -1
  106. package/bundles/taiga-ui-core-directives-color.umd.min.js.map +1 -1
  107. package/bundles/taiga-ui-core-directives-described-by.umd.js.map +1 -1
  108. package/bundles/taiga-ui-core-directives-described-by.umd.min.js.map +1 -1
  109. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.js.map +1 -1
  110. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.min.js.map +1 -1
  111. package/bundles/taiga-ui-core-directives-hint-controller.umd.js.map +1 -1
  112. package/bundles/taiga-ui-core-directives-hint-controller.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-core-directives-hint.umd.js +7 -4
  114. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  115. package/bundles/taiga-ui-core-directives-hint.umd.min.js +1 -1
  116. package/bundles/taiga-ui-core-directives-hint.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-core-directives-manual-hint.umd.js +7 -4
  118. package/bundles/taiga-ui-core-directives-manual-hint.umd.js.map +1 -1
  119. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js +1 -1
  120. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js.map +1 -1
  121. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js.map +1 -1
  122. package/bundles/taiga-ui-core-directives-mask-accessor.umd.min.js.map +1 -1
  123. package/bundles/taiga-ui-core-directives-mode.umd.js.map +1 -1
  124. package/bundles/taiga-ui-core-directives-mode.umd.min.js.map +1 -1
  125. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js +1 -1
  126. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js.map +1 -1
  127. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js +1 -1
  128. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
  130. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.min.js.map +1 -1
  131. package/bundles/taiga-ui-core-directives-table-mode.umd.js.map +1 -1
  132. package/bundles/taiga-ui-core-directives-table-mode.umd.min.js.map +1 -1
  133. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +9 -3
  134. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  135. package/bundles/taiga-ui-core-directives-textfield-controller.umd.min.js.map +1 -1
  136. package/bundles/taiga-ui-core-directives.umd.js +16 -8
  137. package/bundles/taiga-ui-core-directives.umd.js.map +1 -1
  138. package/bundles/taiga-ui-core-directives.umd.min.js +1 -1
  139. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +1 -1
  140. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  141. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js +1 -1
  142. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js.map +1 -1
  143. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js.map +1 -1
  144. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.min.js.map +1 -1
  145. package/bundles/taiga-ui-core-modules-notifications.umd.js +25 -25
  146. package/bundles/taiga-ui-core-modules-notifications.umd.js.map +1 -1
  147. package/bundles/taiga-ui-core-modules-notifications.umd.min.js +1 -1
  148. package/bundles/taiga-ui-core-modules-notifications.umd.min.js.map +1 -1
  149. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
  150. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.min.js.map +1 -1
  151. package/bundles/taiga-ui-core-pipes-format-number.umd.js.map +1 -1
  152. package/bundles/taiga-ui-core-pipes-format-number.umd.min.js.map +1 -1
  153. package/bundles/taiga-ui-core-pipes-month.umd.js.map +1 -1
  154. package/bundles/taiga-ui-core-pipes-month.umd.min.js.map +1 -1
  155. package/bundles/taiga-ui-core-pipes-pluralize.umd.js.map +1 -1
  156. package/bundles/taiga-ui-core-pipes-pluralize.umd.min.js.map +1 -1
  157. package/bundles/taiga-ui-core-pipes.umd.js +12 -12
  158. package/bundles/taiga-ui-core-pipes.umd.min.js +1 -1
  159. package/bundles/taiga-ui-core-providers.umd.js +9 -9
  160. package/bundles/taiga-ui-core-providers.umd.js.map +1 -1
  161. package/bundles/taiga-ui-core-providers.umd.min.js +1 -1
  162. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  163. package/bundles/taiga-ui-core-services.umd.min.js.map +1 -1
  164. package/bundles/taiga-ui-core-tokens.umd.js +28 -19
  165. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  166. package/bundles/taiga-ui-core-tokens.umd.min.js +1 -1
  167. package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
  168. package/bundles/taiga-ui-core-utils-dom.umd.js +3 -1
  169. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  170. package/bundles/taiga-ui-core-utils-dom.umd.min.js +1 -1
  171. package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
  172. package/bundles/taiga-ui-core-utils-mask.umd.js +28 -8
  173. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  174. package/bundles/taiga-ui-core-utils-mask.umd.min.js +1 -1
  175. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  176. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js +2 -4
  177. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js.map +1 -1
  178. package/bundles/taiga-ui-core-utils-miscellaneous.umd.min.js +1 -1
  179. package/bundles/taiga-ui-core-utils-miscellaneous.umd.min.js.map +1 -1
  180. package/components/button/button-options.d.ts +10 -0
  181. package/components/button/button.component.d.ts +8 -7
  182. package/components/button/index.d.ts +1 -0
  183. package/components/button/taiga-ui-core-components-button.metadata.json +1 -1
  184. package/components/calendar/taiga-ui-core-components-calendar.metadata.json +1 -1
  185. package/components/data-list/index.d.ts +1 -1
  186. package/components/data-list/taiga-ui-core-components-data-list.metadata.json +1 -1
  187. package/components/dialog/dialog.directive.d.ts +2 -11
  188. package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
  189. package/components/dropdown-box/taiga-ui-core-components-dropdown-box.metadata.json +1 -1
  190. package/components/error/taiga-ui-core-components-error.metadata.json +1 -1
  191. package/components/expand/taiga-ui-core-components-expand.metadata.json +1 -1
  192. package/components/group/taiga-ui-core-components-group.metadata.json +1 -1
  193. package/components/hints-host/index.d.ts +2 -2
  194. package/components/hints-host/taiga-ui-core-components-hints-host.metadata.json +1 -1
  195. package/components/hosted-dropdown/hosted-dropdown.component.d.ts +1 -3
  196. package/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.metadata.json +1 -1
  197. package/components/index.d.ts +1 -1
  198. package/components/label/taiga-ui-core-components-label.metadata.json +1 -1
  199. package/components/link/taiga-ui-core-components-link.metadata.json +1 -1
  200. package/components/loader/taiga-ui-core-components-loader.metadata.json +1 -1
  201. package/components/notification/taiga-ui-core-components-notification.metadata.json +1 -1
  202. package/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.metadata.json +1 -1
  203. package/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.metadata.json +1 -1
  204. package/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.metadata.json +1 -1
  205. package/components/primitive-textfield/index.d.ts +1 -0
  206. package/components/primitive-textfield/primitive-textfield.component.d.ts +9 -16
  207. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
  208. package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +18 -0
  209. package/components/primitive-year-picker/taiga-ui-core-components-primitive-year-picker.metadata.json +1 -1
  210. package/components/root/taiga-ui-core-components-root.metadata.json +1 -1
  211. package/components/scroll-controls/index.d.ts +1 -1
  212. package/components/scroll-controls/taiga-ui-core-components-scroll-controls.metadata.json +1 -1
  213. package/components/scrollbar/index.d.ts +1 -1
  214. package/components/scrollbar/scrollable.directive.d.ts +5 -1
  215. package/components/scrollbar/scrollbar.component.d.ts +4 -3
  216. package/components/scrollbar/taiga-ui-core-components-scrollbar.metadata.json +1 -1
  217. package/components/svg/taiga-ui-core-components-svg.metadata.json +1 -1
  218. package/components/taiga-ui-core-components.metadata.json +1 -1
  219. package/components/theme-night/taiga-ui-core-components-theme-night.metadata.json +1 -1
  220. package/components/tooltip/taiga-ui-core-components-tooltip.metadata.json +1 -1
  221. package/components/wrapper/taiga-ui-core-components-wrapper.metadata.json +1 -1
  222. package/constants/events.d.ts +5 -0
  223. package/constants/index.d.ts +1 -1
  224. package/constants/media.d.ts +1 -0
  225. package/constants/regexp.d.ts +1 -0
  226. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  227. package/constants/version.d.ts +1 -1
  228. package/directives/border/border.directive.d.ts +9 -0
  229. package/directives/border/border.module.d.ts +2 -0
  230. package/directives/border/index.d.ts +2 -0
  231. package/directives/border/package.json +13 -0
  232. package/directives/border/taiga-ui-core-directives-border.d.ts +4 -0
  233. package/directives/border/taiga-ui-core-directives-border.metadata.json +1 -0
  234. package/directives/color/index.d.ts +1 -1
  235. package/directives/color/taiga-ui-core-directives-color.metadata.json +1 -1
  236. package/directives/described-by/taiga-ui-core-directives-described-by.metadata.json +1 -1
  237. package/directives/dropdown-controller/taiga-ui-core-directives-dropdown-controller.metadata.json +1 -1
  238. package/directives/hint/hint.directive.d.ts +2 -2
  239. package/directives/hint/taiga-ui-core-directives-hint.metadata.json +1 -1
  240. package/directives/hint-controller/taiga-ui-core-directives-hint-controller.metadata.json +1 -1
  241. package/directives/index.d.ts +2 -1
  242. package/directives/manual-hint/manual-hint.directive.d.ts +2 -1
  243. package/directives/manual-hint/taiga-ui-core-directives-manual-hint.metadata.json +1 -1
  244. package/directives/mask-accessor/taiga-ui-core-directives-mask-accessor.metadata.json +1 -1
  245. package/directives/mode/taiga-ui-core-directives-mode.metadata.json +1 -1
  246. package/directives/pointer-hint/taiga-ui-core-directives-pointer-hint.metadata.json +1 -1
  247. package/directives/scroll-into-view/taiga-ui-core-directives-scroll-into-view.metadata.json +1 -1
  248. package/directives/table-mode/taiga-ui-core-directives-table-mode.metadata.json +1 -1
  249. package/directives/taiga-ui-core-directives.metadata.json +1 -1
  250. package/directives/textfield-controller/index.d.ts +2 -2
  251. package/directives/textfield-controller/taiga-ui-core-directives-textfield-controller.metadata.json +1 -1
  252. package/directives/textfield-controller/textfield-controller.provider.d.ts +1 -1
  253. package/esm2015/abstract/abstract-hint.js +6 -4
  254. package/esm2015/components/button/button-options.js +10 -0
  255. package/esm2015/components/button/button.component.js +12 -8
  256. package/esm2015/components/button/button.module.js +1 -1
  257. package/esm2015/components/button/index.js +2 -1
  258. package/esm2015/components/calendar/calendar.component.js +2 -2
  259. package/esm2015/components/data-list/data-list.component.js +4 -3
  260. package/esm2015/components/data-list/data-list.module.js +2 -2
  261. package/esm2015/components/data-list/index.js +2 -2
  262. package/esm2015/components/data-list/option/option.component.js +4 -4
  263. package/esm2015/components/dialog/dialog.component.js +3 -3
  264. package/esm2015/components/dialog/dialog.directive.js +14 -36
  265. package/esm2015/components/dialog/dialog.module.js +1 -1
  266. package/esm2015/components/dialog/dialog.service.js +1 -1
  267. package/esm2015/components/dropdown-box/dropdown-box.component.js +1 -1
  268. package/esm2015/components/dropdown-box/dropdown-box.module.js +1 -1
  269. package/esm2015/components/error/error.component.js +1 -1
  270. package/esm2015/components/error/error.module.js +1 -1
  271. package/esm2015/components/expand/expand.component.js +4 -3
  272. package/esm2015/components/expand/expand.module.js +2 -2
  273. package/esm2015/components/group/group.component.js +1 -1
  274. package/esm2015/components/group/group.module.js +1 -1
  275. package/esm2015/components/hints-host/hint-box/hint-box.component.js +3 -3
  276. package/esm2015/components/hints-host/hint-box/hint-box.module.js +1 -1
  277. package/esm2015/components/hints-host/hints-host.component.js +3 -3
  278. package/esm2015/components/hints-host/hints-host.module.js +9 -3
  279. package/esm2015/components/hints-host/index.js +3 -3
  280. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +4 -13
  281. package/esm2015/components/hosted-dropdown/hosted-dropdown.module.js +2 -2
  282. package/esm2015/components/index.js +2 -2
  283. package/esm2015/components/label/label.component.js +2 -2
  284. package/esm2015/components/label/label.module.js +1 -1
  285. package/esm2015/components/link/link.component.js +1 -1
  286. package/esm2015/components/loader/loader.component.js +3 -3
  287. package/esm2015/components/loader/loader.module.js +1 -1
  288. package/esm2015/components/notification/notification.component.js +1 -1
  289. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +3 -3
  290. package/esm2015/components/primitive-calendar/primitive-calendar.module.js +1 -1
  291. package/esm2015/components/primitive-checkbox/primitive-checkbox.component.js +1 -1
  292. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +2 -2
  293. package/esm2015/components/primitive-textfield/index.js +2 -1
  294. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +38 -67
  295. package/esm2015/components/primitive-textfield/primitive-textfield.module.js +7 -2
  296. package/esm2015/components/primitive-textfield/primitive-textfield.providers.js +1 -1
  297. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +65 -0
  298. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  299. package/esm2015/components/root/root.module.js +1 -1
  300. package/esm2015/components/scroll-controls/index.js +2 -2
  301. package/esm2015/components/scroll-controls/scroll-controls.component.js +2 -2
  302. package/esm2015/components/scroll-controls/scroll-controls.module.js +2 -2
  303. package/esm2015/components/scrollbar/index.js +2 -2
  304. package/esm2015/components/scrollbar/scrollable.directive.js +18 -4
  305. package/esm2015/components/scrollbar/scrollbar.component.js +20 -18
  306. package/esm2015/components/scrollbar/scrollbar.module.js +1 -1
  307. package/esm2015/components/svg/svg.module.js +1 -1
  308. package/esm2015/components/theme-night/theme-night.module.js +1 -1
  309. package/esm2015/components/tooltip/tooltip.component.js +1 -1
  310. package/esm2015/components/wrapper/wrapper.component.js +1 -1
  311. package/esm2015/components/wrapper/wrapper.module.js +1 -1
  312. package/esm2015/constants/events.js +6 -1
  313. package/esm2015/constants/index.js +2 -2
  314. package/esm2015/constants/media.js +2 -1
  315. package/esm2015/constants/regexp.js +2 -1
  316. package/esm2015/constants/version.js +2 -2
  317. package/esm2015/directives/border/border.directive.js +42 -0
  318. package/esm2015/directives/border/border.module.js +13 -0
  319. package/esm2015/directives/border/index.js +3 -0
  320. package/esm2015/directives/border/taiga-ui-core-directives-border.js +5 -0
  321. package/esm2015/directives/color/color.module.js +1 -1
  322. package/esm2015/directives/color/index.js +2 -2
  323. package/esm2015/directives/described-by/described-by.module.js +1 -1
  324. package/esm2015/directives/dropdown-controller/dropdown-controller.directive.js +1 -1
  325. package/esm2015/directives/dropdown-controller/dropdown-controller.module.js +1 -1
  326. package/esm2015/directives/dropdown-controller/dropdown-controller.provider.js +1 -1
  327. package/esm2015/directives/dropdown-controller/dropdown-controller.token.js +1 -1
  328. package/esm2015/directives/hint/hint.directive.js +10 -7
  329. package/esm2015/directives/hint/hint.module.js +1 -1
  330. package/esm2015/directives/hint-controller/hint-controller.directive.js +1 -1
  331. package/esm2015/directives/hint-controller/hint-controller.module.js +1 -1
  332. package/esm2015/directives/hint-controller/hint-controller.provider.js +1 -1
  333. package/esm2015/directives/hint-controller/hint-controller.token.js +1 -1
  334. package/esm2015/directives/index.js +3 -2
  335. package/esm2015/directives/manual-hint/manual-hint.directive.js +10 -7
  336. package/esm2015/directives/manual-hint/manual-hint.module.js +1 -1
  337. package/esm2015/directives/mask-accessor/mask-accessor.module.js +1 -1
  338. package/esm2015/directives/mode/mode.module.js +1 -1
  339. package/esm2015/directives/pointer-hint/pointer-hint.directive.js +2 -2
  340. package/esm2015/directives/pointer-hint/pointer-hint.module.js +1 -1
  341. package/esm2015/directives/scroll-into-view/scroll-into-view.module.js +1 -1
  342. package/esm2015/directives/table-mode/table-mode.module.js +1 -1
  343. package/esm2015/directives/textfield-controller/index.js +3 -3
  344. package/esm2015/directives/textfield-controller/textfield-cleaner.directive.js +4 -2
  345. package/esm2015/directives/textfield-controller/textfield-controller.module.js +1 -1
  346. package/esm2015/directives/textfield-controller/textfield-controller.provider.js +2 -2
  347. package/esm2015/directives/textfield-controller/textfield-size.directive.js +4 -2
  348. package/esm2015/directives/textfield-controller/textfield-type.directive.js +4 -2
  349. package/esm2015/directives/textfield-controller/textfield.controller.js +1 -1
  350. package/esm2015/interfaces/dialog-context.js +1 -1
  351. package/esm2015/interfaces/index.js +1 -1
  352. package/esm2015/interfaces/media.js +1 -0
  353. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  354. package/esm2015/internal/svg-defs-host/svg-defs-host.module.js +1 -1
  355. package/esm2015/mask/index.js +1 -1
  356. package/esm2015/modules/notifications/index.js +3 -3
  357. package/esm2015/modules/notifications/notification-alert/Notification-alert.js +1 -1
  358. package/esm2015/modules/notifications/notification-alert/notification-alert.component.js +2 -2
  359. package/esm2015/modules/notifications/notifications-host/notifications-host.component.js +2 -2
  360. package/esm2015/modules/notifications/notifications.module.js +1 -1
  361. package/esm2015/modules/notifications/notifications.service.js +1 -1
  362. package/esm2015/pipes/calendar-sheet/calendar-sheet.module.js +1 -1
  363. package/esm2015/pipes/calendar-sheet/calendar-sheet.pipe.js +1 -1
  364. package/esm2015/pipes/calendar-sheet/index.js +2 -2
  365. package/esm2015/pipes/format-number/format-number.pipe.js +1 -1
  366. package/esm2015/pipes/index.js +2 -2
  367. package/esm2015/pipes/month/month.module.js +1 -1
  368. package/esm2015/pipes/pluralize/pluralize.module.js +1 -1
  369. package/esm2015/providers/index.js +2 -2
  370. package/esm2015/services/hint.service.js +1 -1
  371. package/esm2015/tokens/animation-options.js +1 -1
  372. package/esm2015/tokens/index.js +5 -4
  373. package/esm2015/tokens/media.js +9 -0
  374. package/esm2015/tokens/ordered-short-week-days.js +1 -1
  375. package/esm2015/types/marker-handler.js +1 -1
  376. package/esm2015/utils/dom/process-icon.js +4 -2
  377. package/esm2015/utils/mask/create-number-mask.js +28 -10
  378. package/esm2015/utils/miscellaneous/get-border.js +3 -5
  379. package/esm5/abstract/abstract-hint.js +6 -4
  380. package/esm5/components/button/button-options.js +10 -0
  381. package/esm5/components/button/button.component.js +12 -8
  382. package/esm5/components/button/button.module.js +1 -1
  383. package/esm5/components/button/index.js +2 -1
  384. package/esm5/components/calendar/calendar.component.js +2 -2
  385. package/esm5/components/data-list/data-list.component.js +4 -3
  386. package/esm5/components/data-list/data-list.module.js +2 -2
  387. package/esm5/components/data-list/index.js +2 -2
  388. package/esm5/components/data-list/option/option.component.js +4 -4
  389. package/esm5/components/dialog/dialog.component.js +3 -3
  390. package/esm5/components/dialog/dialog.directive.js +18 -43
  391. package/esm5/components/dialog/dialog.module.js +1 -1
  392. package/esm5/components/dialog/dialog.service.js +1 -1
  393. package/esm5/components/dropdown-box/dropdown-box.component.js +1 -1
  394. package/esm5/components/dropdown-box/dropdown-box.module.js +1 -1
  395. package/esm5/components/error/error.component.js +1 -1
  396. package/esm5/components/error/error.module.js +1 -1
  397. package/esm5/components/expand/expand.component.js +4 -3
  398. package/esm5/components/expand/expand.module.js +2 -2
  399. package/esm5/components/group/group.component.js +1 -1
  400. package/esm5/components/group/group.module.js +1 -1
  401. package/esm5/components/hints-host/hint-box/hint-box.component.js +3 -3
  402. package/esm5/components/hints-host/hint-box/hint-box.module.js +1 -1
  403. package/esm5/components/hints-host/hints-host.component.js +3 -3
  404. package/esm5/components/hints-host/hints-host.module.js +9 -3
  405. package/esm5/components/hints-host/index.js +3 -3
  406. package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +4 -17
  407. package/esm5/components/hosted-dropdown/hosted-dropdown.module.js +2 -2
  408. package/esm5/components/index.js +2 -2
  409. package/esm5/components/label/label.component.js +2 -2
  410. package/esm5/components/label/label.module.js +1 -1
  411. package/esm5/components/link/link.component.js +1 -1
  412. package/esm5/components/loader/loader.component.js +3 -3
  413. package/esm5/components/loader/loader.module.js +1 -1
  414. package/esm5/components/notification/notification.component.js +1 -1
  415. package/esm5/components/primitive-calendar/primitive-calendar.component.js +3 -3
  416. package/esm5/components/primitive-calendar/primitive-calendar.module.js +1 -1
  417. package/esm5/components/primitive-checkbox/primitive-checkbox.component.js +1 -1
  418. package/esm5/components/primitive-spin-button/primitive-spin-button.component.js +2 -2
  419. package/esm5/components/primitive-textfield/index.js +2 -1
  420. package/esm5/components/primitive-textfield/primitive-textfield.component.js +43 -104
  421. package/esm5/components/primitive-textfield/primitive-textfield.module.js +7 -2
  422. package/esm5/components/primitive-textfield/primitive-textfield.providers.js +1 -1
  423. package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +99 -0
  424. package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  425. package/esm5/components/root/root.module.js +1 -1
  426. package/esm5/components/scroll-controls/index.js +2 -2
  427. package/esm5/components/scroll-controls/scroll-controls.component.js +2 -2
  428. package/esm5/components/scroll-controls/scroll-controls.module.js +2 -2
  429. package/esm5/components/scrollbar/index.js +2 -2
  430. package/esm5/components/scrollbar/scrollable.directive.js +17 -5
  431. package/esm5/components/scrollbar/scrollbar.component.js +20 -22
  432. package/esm5/components/scrollbar/scrollbar.module.js +1 -1
  433. package/esm5/components/svg/svg.module.js +1 -1
  434. package/esm5/components/theme-night/theme-night.module.js +1 -1
  435. package/esm5/components/tooltip/tooltip.component.js +1 -1
  436. package/esm5/components/wrapper/wrapper.component.js +1 -1
  437. package/esm5/components/wrapper/wrapper.module.js +1 -1
  438. package/esm5/constants/events.js +6 -1
  439. package/esm5/constants/index.js +2 -2
  440. package/esm5/constants/media.js +2 -1
  441. package/esm5/constants/regexp.js +2 -1
  442. package/esm5/constants/version.js +2 -2
  443. package/esm5/directives/border/border.directive.js +51 -0
  444. package/esm5/directives/border/border.module.js +16 -0
  445. package/esm5/directives/border/index.js +3 -0
  446. package/esm5/directives/border/taiga-ui-core-directives-border.js +5 -0
  447. package/esm5/directives/color/color.module.js +1 -1
  448. package/esm5/directives/color/index.js +2 -2
  449. package/esm5/directives/described-by/described-by.module.js +1 -1
  450. package/esm5/directives/dropdown-controller/dropdown-controller.directive.js +1 -1
  451. package/esm5/directives/dropdown-controller/dropdown-controller.module.js +1 -1
  452. package/esm5/directives/dropdown-controller/dropdown-controller.provider.js +1 -1
  453. package/esm5/directives/dropdown-controller/dropdown-controller.token.js +1 -1
  454. package/esm5/directives/hint/hint.directive.js +10 -7
  455. package/esm5/directives/hint/hint.module.js +1 -1
  456. package/esm5/directives/hint-controller/hint-controller.directive.js +1 -1
  457. package/esm5/directives/hint-controller/hint-controller.module.js +1 -1
  458. package/esm5/directives/hint-controller/hint-controller.provider.js +1 -1
  459. package/esm5/directives/hint-controller/hint-controller.token.js +1 -1
  460. package/esm5/directives/index.js +3 -2
  461. package/esm5/directives/manual-hint/manual-hint.directive.js +10 -7
  462. package/esm5/directives/manual-hint/manual-hint.module.js +1 -1
  463. package/esm5/directives/mask-accessor/mask-accessor.module.js +1 -1
  464. package/esm5/directives/mode/mode.module.js +1 -1
  465. package/esm5/directives/pointer-hint/pointer-hint.directive.js +2 -2
  466. package/esm5/directives/pointer-hint/pointer-hint.module.js +1 -1
  467. package/esm5/directives/scroll-into-view/scroll-into-view.module.js +1 -1
  468. package/esm5/directives/table-mode/table-mode.module.js +1 -1
  469. package/esm5/directives/textfield-controller/index.js +3 -3
  470. package/esm5/directives/textfield-controller/textfield-cleaner.directive.js +4 -2
  471. package/esm5/directives/textfield-controller/textfield-controller.module.js +1 -1
  472. package/esm5/directives/textfield-controller/textfield-controller.provider.js +2 -2
  473. package/esm5/directives/textfield-controller/textfield-size.directive.js +4 -2
  474. package/esm5/directives/textfield-controller/textfield-type.directive.js +4 -2
  475. package/esm5/directives/textfield-controller/textfield.controller.js +1 -1
  476. package/esm5/interfaces/dialog-context.js +1 -1
  477. package/esm5/interfaces/index.js +1 -1
  478. package/esm5/interfaces/media.js +1 -0
  479. package/esm5/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  480. package/esm5/internal/svg-defs-host/svg-defs-host.module.js +1 -1
  481. package/esm5/mask/index.js +1 -1
  482. package/esm5/modules/notifications/index.js +3 -3
  483. package/esm5/modules/notifications/notification-alert/Notification-alert.js +1 -1
  484. package/esm5/modules/notifications/notification-alert/notification-alert.component.js +2 -2
  485. package/esm5/modules/notifications/notifications-host/notifications-host.component.js +2 -2
  486. package/esm5/modules/notifications/notifications.module.js +1 -1
  487. package/esm5/modules/notifications/notifications.service.js +1 -1
  488. package/esm5/pipes/calendar-sheet/calendar-sheet.module.js +1 -1
  489. package/esm5/pipes/calendar-sheet/calendar-sheet.pipe.js +1 -1
  490. package/esm5/pipes/calendar-sheet/index.js +2 -2
  491. package/esm5/pipes/format-number/format-number.pipe.js +1 -1
  492. package/esm5/pipes/index.js +2 -2
  493. package/esm5/pipes/month/month.module.js +1 -1
  494. package/esm5/pipes/pluralize/pluralize.module.js +1 -1
  495. package/esm5/providers/index.js +2 -2
  496. package/esm5/services/hint.service.js +1 -1
  497. package/esm5/tokens/animation-options.js +1 -1
  498. package/esm5/tokens/index.js +5 -4
  499. package/esm5/tokens/media.js +9 -0
  500. package/esm5/tokens/ordered-short-week-days.js +1 -1
  501. package/esm5/types/marker-handler.js +1 -1
  502. package/esm5/utils/dom/process-icon.js +4 -2
  503. package/esm5/utils/mask/create-number-mask.js +30 -10
  504. package/esm5/utils/miscellaneous/get-border.js +3 -5
  505. package/fesm2015/taiga-ui-core-abstract.js +4 -2
  506. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  507. package/fesm2015/taiga-ui-core-components-button.js +21 -9
  508. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  509. package/fesm2015/taiga-ui-core-components-calendar.js +1 -1
  510. package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
  511. package/fesm2015/taiga-ui-core-components-data-list.js +6 -5
  512. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  513. package/fesm2015/taiga-ui-core-components-dialog.js +16 -37
  514. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  515. package/fesm2015/taiga-ui-core-components-dropdown-box.js +1 -1
  516. package/fesm2015/taiga-ui-core-components-dropdown-box.js.map +1 -1
  517. package/fesm2015/taiga-ui-core-components-error.js +1 -1
  518. package/fesm2015/taiga-ui-core-components-error.js.map +1 -1
  519. package/fesm2015/taiga-ui-core-components-expand.js +3 -2
  520. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  521. package/fesm2015/taiga-ui-core-components-group.js.map +1 -1
  522. package/fesm2015/taiga-ui-core-components-hints-host.js +16 -10
  523. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  524. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +3 -12
  525. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  526. package/fesm2015/taiga-ui-core-components-label.js +1 -1
  527. package/fesm2015/taiga-ui-core-components-label.js.map +1 -1
  528. package/fesm2015/taiga-ui-core-components-link.js +1 -1
  529. package/fesm2015/taiga-ui-core-components-loader.js +2 -2
  530. package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
  531. package/fesm2015/taiga-ui-core-components-notification.js +1 -1
  532. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +2 -2
  533. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  534. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  535. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +2 -2
  536. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +102 -69
  537. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  538. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +2 -2
  539. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  540. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  541. package/fesm2015/taiga-ui-core-components-scroll-controls.js +56 -56
  542. package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
  543. package/fesm2015/taiga-ui-core-components-scrollbar.js +49 -33
  544. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  545. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  546. package/fesm2015/taiga-ui-core-components-theme-night.js.map +1 -1
  547. package/fesm2015/taiga-ui-core-components-tooltip.js +1 -1
  548. package/fesm2015/taiga-ui-core-components-wrapper.js +1 -1
  549. package/fesm2015/taiga-ui-core-components-wrapper.js.map +1 -1
  550. package/fesm2015/taiga-ui-core-components.js +1 -1
  551. package/fesm2015/taiga-ui-core-constants.js +11 -4
  552. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  553. package/fesm2015/taiga-ui-core-directives-border.js +57 -0
  554. package/fesm2015/taiga-ui-core-directives-border.js.map +1 -0
  555. package/fesm2015/taiga-ui-core-directives-color.js.map +1 -1
  556. package/fesm2015/taiga-ui-core-directives-described-by.js.map +1 -1
  557. package/fesm2015/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  558. package/fesm2015/taiga-ui-core-directives-hint-controller.js.map +1 -1
  559. package/fesm2015/taiga-ui-core-directives-hint.js +9 -6
  560. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  561. package/fesm2015/taiga-ui-core-directives-manual-hint.js +9 -6
  562. package/fesm2015/taiga-ui-core-directives-manual-hint.js.map +1 -1
  563. package/fesm2015/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  564. package/fesm2015/taiga-ui-core-directives-mode.js.map +1 -1
  565. package/fesm2015/taiga-ui-core-directives-pointer-hint.js +1 -1
  566. package/fesm2015/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  567. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  568. package/fesm2015/taiga-ui-core-directives-table-mode.js.map +1 -1
  569. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +9 -3
  570. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  571. package/fesm2015/taiga-ui-core-directives.js +2 -1
  572. package/fesm2015/taiga-ui-core-directives.js.map +1 -1
  573. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  574. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  575. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  576. package/fesm2015/taiga-ui-core-modules-notifications.js +24 -24
  577. package/fesm2015/taiga-ui-core-modules-notifications.js.map +1 -1
  578. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  579. package/fesm2015/taiga-ui-core-pipes-format-number.js.map +1 -1
  580. package/fesm2015/taiga-ui-core-pipes-month.js.map +1 -1
  581. package/fesm2015/taiga-ui-core-pipes-pluralize.js.map +1 -1
  582. package/fesm2015/taiga-ui-core-pipes.js +1 -1
  583. package/fesm2015/taiga-ui-core-providers.js +7 -7
  584. package/fesm2015/taiga-ui-core-providers.js.map +1 -1
  585. package/fesm2015/taiga-ui-core-services.js.map +1 -1
  586. package/fesm2015/taiga-ui-core-tokens.js +28 -20
  587. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  588. package/fesm2015/taiga-ui-core-utils-dom.js +3 -1
  589. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  590. package/fesm2015/taiga-ui-core-utils-mask.js +27 -9
  591. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  592. package/fesm2015/taiga-ui-core-utils-miscellaneous.js +2 -4
  593. package/fesm2015/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  594. package/fesm5/taiga-ui-core-abstract.js +4 -2
  595. package/fesm5/taiga-ui-core-abstract.js.map +1 -1
  596. package/fesm5/taiga-ui-core-components-button.js +21 -9
  597. package/fesm5/taiga-ui-core-components-button.js.map +1 -1
  598. package/fesm5/taiga-ui-core-components-calendar.js +1 -1
  599. package/fesm5/taiga-ui-core-components-calendar.js.map +1 -1
  600. package/fesm5/taiga-ui-core-components-data-list.js +6 -5
  601. package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
  602. package/fesm5/taiga-ui-core-components-dialog.js +20 -44
  603. package/fesm5/taiga-ui-core-components-dialog.js.map +1 -1
  604. package/fesm5/taiga-ui-core-components-dropdown-box.js +1 -1
  605. package/fesm5/taiga-ui-core-components-dropdown-box.js.map +1 -1
  606. package/fesm5/taiga-ui-core-components-error.js +1 -1
  607. package/fesm5/taiga-ui-core-components-error.js.map +1 -1
  608. package/fesm5/taiga-ui-core-components-expand.js +3 -2
  609. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  610. package/fesm5/taiga-ui-core-components-group.js.map +1 -1
  611. package/fesm5/taiga-ui-core-components-hints-host.js +16 -10
  612. package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
  613. package/fesm5/taiga-ui-core-components-hosted-dropdown.js +3 -16
  614. package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  615. package/fesm5/taiga-ui-core-components-label.js +1 -1
  616. package/fesm5/taiga-ui-core-components-label.js.map +1 -1
  617. package/fesm5/taiga-ui-core-components-link.js +1 -1
  618. package/fesm5/taiga-ui-core-components-loader.js +2 -2
  619. package/fesm5/taiga-ui-core-components-loader.js.map +1 -1
  620. package/fesm5/taiga-ui-core-components-notification.js +1 -1
  621. package/fesm5/taiga-ui-core-components-primitive-calendar.js +2 -2
  622. package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  623. package/fesm5/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  624. package/fesm5/taiga-ui-core-components-primitive-spin-button.js +2 -2
  625. package/fesm5/taiga-ui-core-components-primitive-textfield.js +141 -106
  626. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  627. package/fesm5/taiga-ui-core-components-primitive-year-picker.js +2 -2
  628. package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  629. package/fesm5/taiga-ui-core-components-root.js.map +1 -1
  630. package/fesm5/taiga-ui-core-components-scroll-controls.js +63 -63
  631. package/fesm5/taiga-ui-core-components-scroll-controls.js.map +1 -1
  632. package/fesm5/taiga-ui-core-components-scrollbar.js +51 -41
  633. package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
  634. package/fesm5/taiga-ui-core-components-svg.js.map +1 -1
  635. package/fesm5/taiga-ui-core-components-theme-night.js.map +1 -1
  636. package/fesm5/taiga-ui-core-components-tooltip.js +1 -1
  637. package/fesm5/taiga-ui-core-components-wrapper.js +1 -1
  638. package/fesm5/taiga-ui-core-components-wrapper.js.map +1 -1
  639. package/fesm5/taiga-ui-core-components.js +1 -1
  640. package/fesm5/taiga-ui-core-constants.js +11 -4
  641. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  642. package/fesm5/taiga-ui-core-directives-border.js +69 -0
  643. package/fesm5/taiga-ui-core-directives-border.js.map +1 -0
  644. package/fesm5/taiga-ui-core-directives-color.js.map +1 -1
  645. package/fesm5/taiga-ui-core-directives-described-by.js.map +1 -1
  646. package/fesm5/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  647. package/fesm5/taiga-ui-core-directives-hint-controller.js.map +1 -1
  648. package/fesm5/taiga-ui-core-directives-hint.js +9 -6
  649. package/fesm5/taiga-ui-core-directives-hint.js.map +1 -1
  650. package/fesm5/taiga-ui-core-directives-manual-hint.js +9 -6
  651. package/fesm5/taiga-ui-core-directives-manual-hint.js.map +1 -1
  652. package/fesm5/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  653. package/fesm5/taiga-ui-core-directives-mode.js.map +1 -1
  654. package/fesm5/taiga-ui-core-directives-pointer-hint.js +1 -1
  655. package/fesm5/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  656. package/fesm5/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  657. package/fesm5/taiga-ui-core-directives-table-mode.js.map +1 -1
  658. package/fesm5/taiga-ui-core-directives-textfield-controller.js +9 -3
  659. package/fesm5/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  660. package/fesm5/taiga-ui-core-directives.js +2 -1
  661. package/fesm5/taiga-ui-core-directives.js.map +1 -1
  662. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  663. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  664. package/fesm5/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  665. package/fesm5/taiga-ui-core-modules-notifications.js +25 -25
  666. package/fesm5/taiga-ui-core-modules-notifications.js.map +1 -1
  667. package/fesm5/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  668. package/fesm5/taiga-ui-core-pipes-format-number.js.map +1 -1
  669. package/fesm5/taiga-ui-core-pipes-month.js.map +1 -1
  670. package/fesm5/taiga-ui-core-pipes-pluralize.js.map +1 -1
  671. package/fesm5/taiga-ui-core-pipes.js +1 -1
  672. package/fesm5/taiga-ui-core-providers.js +7 -7
  673. package/fesm5/taiga-ui-core-providers.js.map +1 -1
  674. package/fesm5/taiga-ui-core-services.js.map +1 -1
  675. package/fesm5/taiga-ui-core-tokens.js +28 -20
  676. package/fesm5/taiga-ui-core-tokens.js.map +1 -1
  677. package/fesm5/taiga-ui-core-utils-dom.js +3 -1
  678. package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
  679. package/fesm5/taiga-ui-core-utils-mask.js +30 -10
  680. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  681. package/fesm5/taiga-ui-core-utils-miscellaneous.js +2 -4
  682. package/fesm5/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  683. package/interfaces/index.d.ts +2 -1
  684. package/interfaces/media.d.ts +6 -0
  685. package/interfaces/taiga-ui-core-interfaces.metadata.json +1 -1
  686. package/internal/primitive-year-month-pagination/taiga-ui-core-internal-primitive-year-month-pagination.metadata.json +1 -1
  687. package/internal/svg-defs-host/taiga-ui-core-internal-svg-defs-host.metadata.json +1 -1
  688. package/mask/index.d.ts +1 -1
  689. package/mask/taiga-ui-core-mask.metadata.json +1 -1
  690. package/modules/notifications/index.d.ts +2 -2
  691. package/modules/notifications/taiga-ui-core-modules-notifications.metadata.json +1 -1
  692. package/package.json +5 -5
  693. package/pipes/calendar-sheet/index.d.ts +1 -1
  694. package/pipes/calendar-sheet/taiga-ui-core-pipes-calendar-sheet.metadata.json +1 -1
  695. package/pipes/index.d.ts +1 -1
  696. package/pipes/month/taiga-ui-core-pipes-month.metadata.json +1 -1
  697. package/pipes/pluralize/taiga-ui-core-pipes-pluralize.metadata.json +1 -1
  698. package/pipes/taiga-ui-core-pipes.metadata.json +1 -1
  699. package/providers/index.d.ts +1 -1
  700. package/providers/taiga-ui-core-providers.metadata.json +1 -1
  701. package/services/taiga-ui-core-services.metadata.json +1 -1
  702. package/styles/basic/main.less +2 -4
  703. package/styles/markup/tui-autofill.less +2 -0
  704. package/styles/markup/tui-container-old.less +69 -0
  705. package/styles/markup/tui-form-old.less +141 -0
  706. package/styles/markup/tui-form.less +12 -12
  707. package/styles/markup/tui-group-old.less +322 -0
  708. package/styles/markup/tui-group.less +2 -2
  709. package/styles/markup/tui-row-old.less +157 -0
  710. package/styles/markup/tui-table.less +2 -2
  711. package/styles/mixins/mixins.less +8 -3
  712. package/styles/mixins/picker.less +1 -1
  713. package/styles/mixins/textfield.less +37 -78
  714. package/styles/taiga-ui-global-old.less +18 -0
  715. package/styles/taiga-ui-local-old.less +7 -0
  716. package/styles/theme/variables.less +4 -0
  717. package/styles/theme/wrapper/table.less +4 -0
  718. package/styles/variables/media-old.less +48 -0
  719. package/styles/variables/media.less +4 -4
  720. package/tokens/index.d.ts +4 -3
  721. package/tokens/media.d.ts +3 -0
  722. package/tokens/taiga-ui-core-tokens.metadata.json +1 -1
  723. package/utils/mask/create-number-mask.d.ts +1 -0
  724. package/utils/miscellaneous/get-border.d.ts +1 -1
@@ -30,6 +30,10 @@ const TUI_DROPDOWN_DIRECTIVE = new InjectionToken('Directive controlling TuiDrop
30
30
 
31
31
  const TUI_ELEMENT_REF = new InjectionToken('ElementRef when you cannot use @Input for single time injection');
32
32
 
33
+ const TUI_FIRST_DAY_OF_WEEK = new InjectionToken('The first day of the week index', {
34
+ factory: () => 1 /* Monday */,
35
+ });
36
+
33
37
  const TUI_MONTHS = new InjectionToken('Localized months names', {
34
38
  factory: extractI18n('months'),
35
39
  });
@@ -57,16 +61,16 @@ const TUI_ICONS_PATH = new InjectionToken('A handler to retrieve USE id for icon
57
61
  factory: () => iconsPathFactory('assets/taiga-ui/icons/'),
58
62
  });
59
63
 
60
- const TUI_MODE = new InjectionToken('Mode stream for private providers');
61
-
62
- const TUI_NUMBER_FORMAT = new InjectionToken('Formatting configuration for displayed numbers', {
64
+ const TUI_MEDIA = new InjectionToken('Token for media constant', {
63
65
  factory: () => ({
64
- decimalSeparator: ',',
65
- thousandSeparator: CHAR_NO_BREAK_SPACE,
66
- zeroPadding: true,
66
+ mobile: 768,
67
+ desktopSmall: 1024,
68
+ desktopLarge: 1280,
67
69
  }),
68
70
  });
69
71
 
72
+ const TUI_MODE = new InjectionToken('Mode stream for private providers');
73
+
70
74
  /** Default values for the notification options. */
71
75
  const TUI_NOTIFICATION_DEFAULT_OPTIONS = {
72
76
  autoClose: true,
@@ -79,21 +83,15 @@ const TUI_NOTIFICATION_OPTIONS = new InjectionToken('Default parameters for noti
79
83
  factory: () => TUI_NOTIFICATION_DEFAULT_OPTIONS,
80
84
  });
81
85
 
82
- const TUI_OPTION_CONTENT = new InjectionToken('Content for tuiOption component');
83
-
84
- const TUI_SANITIZER = TUI_SANITIZER$1;
85
-
86
- const TUI_SCROLL_REF = new InjectionToken('Scrollable container');
87
-
88
- const TUI_TEXTFIELD_APPEARANCE = new InjectionToken('Appearance for inputs', {
89
- factory: () => "textfield" /* Textfield */,
86
+ const TUI_NUMBER_FORMAT = new InjectionToken('Formatting configuration for displayed numbers', {
87
+ factory: () => ({
88
+ decimalSeparator: ',',
89
+ thousandSeparator: CHAR_NO_BREAK_SPACE,
90
+ zeroPadding: true,
91
+ }),
90
92
  });
91
93
 
92
- const TUI_VALUE_ACCESSOR = new InjectionToken('Buffer token to pass NG_VALUE_ACCESSOR to a different Injector');
93
-
94
- const TUI_FIRST_DAY_OF_WEEK = new InjectionToken('The first day of the week index', {
95
- factory: () => 1 /* Monday */,
96
- });
94
+ const TUI_OPTION_CONTENT = new InjectionToken('Content for tuiOption component');
97
95
 
98
96
  // TODO: Remove export in ivy compiation
99
97
  const convertToSundayFirstWeekFormat = (weekDaysNames) => {
@@ -113,9 +111,19 @@ const TUI_ORDERED_SHORT_WEEK_DAYS = new InjectionToken('Ordered calendars i18n t
113
111
  },
114
112
  });
115
113
 
114
+ const TUI_SANITIZER = TUI_SANITIZER$1;
115
+
116
+ const TUI_SCROLL_REF = new InjectionToken('Scrollable container');
117
+
118
+ const TUI_TEXTFIELD_APPEARANCE = new InjectionToken('Appearance for inputs', {
119
+ factory: () => "textfield" /* Textfield */,
120
+ });
121
+
122
+ const TUI_VALUE_ACCESSOR = new InjectionToken('Buffer token to pass NG_VALUE_ACCESSOR to a different Injector');
123
+
116
124
  /**
117
125
  * Generated bundle index. Do not edit.
118
126
  */
119
127
 
120
- export { TUI_ANIMATIONS_DURATION, TUI_ANIMATION_OPTIONS, TUI_ASSERT_ENABLED, TUI_CLOSE_WORD, TUI_DATA_LIST_ACCESSOR, TUI_DATA_LIST_HOST, TUI_DEFAULT_ERROR_MESSAGE, TUI_DOCUMENT_OR_SHADOW_ROOT, TUI_DROPDOWN_DIRECTIVE, TUI_ELEMENT_REF, TUI_FIRST_DAY_OF_WEEK, TUI_ICONS, TUI_ICONS_PATH, TUI_MODE, TUI_MONTHS, TUI_NOTHING_FOUND_MESSAGE, TUI_NOTIFICATION_DEFAULT_OPTIONS, TUI_NOTIFICATION_OPTIONS, TUI_NUMBER_FORMAT, TUI_OPTION_CONTENT, TUI_ORDERED_SHORT_WEEK_DAYS, TUI_SANITIZER, TUI_SCROLL_REF, TUI_SHORT_WEEK_DAYS, TUI_SPIN_TEXTS, TUI_TEXTFIELD_APPEARANCE, TUI_VALUE_ACCESSOR, convertToSundayFirstWeekFormat };
128
+ export { TUI_ANIMATIONS_DURATION, TUI_ANIMATION_OPTIONS, TUI_ASSERT_ENABLED, TUI_CLOSE_WORD, TUI_DATA_LIST_ACCESSOR, TUI_DATA_LIST_HOST, TUI_DEFAULT_ERROR_MESSAGE, TUI_DOCUMENT_OR_SHADOW_ROOT, TUI_DROPDOWN_DIRECTIVE, TUI_ELEMENT_REF, TUI_FIRST_DAY_OF_WEEK, TUI_ICONS, TUI_ICONS_PATH, TUI_MEDIA, TUI_MODE, TUI_MONTHS, TUI_NOTHING_FOUND_MESSAGE, TUI_NOTIFICATION_DEFAULT_OPTIONS, TUI_NOTIFICATION_OPTIONS, TUI_NUMBER_FORMAT, TUI_OPTION_CONTENT, TUI_ORDERED_SHORT_WEEK_DAYS, TUI_SANITIZER, TUI_SCROLL_REF, TUI_SHORT_WEEK_DAYS, TUI_SPIN_TEXTS, TUI_TEXTFIELD_APPEARANCE, TUI_VALUE_ACCESSOR, convertToSundayFirstWeekFormat };
121
129
  //# sourceMappingURL=taiga-ui-core-tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-tokens.js","sources":["ng://@taiga-ui/core/tokens/animations-duration.ts","ng://@taiga-ui/core/tokens/animation-options.ts","ng://@taiga-ui/core/tokens/assert-enabled.ts","ng://@taiga-ui/core/tokens/data-list-accessor.ts","ng://@taiga-ui/core/tokens/data-list-host.ts","ng://@taiga-ui/core/tokens/document-or-shadow-root.ts","ng://@taiga-ui/core/tokens/dropdown-directive.ts","ng://@taiga-ui/core/tokens/element-ref.ts","ng://@taiga-ui/core/tokens/i18n.ts","ng://@taiga-ui/core/tokens/icons.ts","ng://@taiga-ui/core/tokens/icons-path.ts","ng://@taiga-ui/core/tokens/mode.ts","ng://@taiga-ui/core/tokens/number-format.ts","ng://@taiga-ui/core/tokens/notification-options.ts","ng://@taiga-ui/core/tokens/option-content.ts","ng://@taiga-ui/core/tokens/sanitizer.ts","ng://@taiga-ui/core/tokens/scroll-ref.ts","ng://@taiga-ui/core/tokens/textfield-appearance.ts","ng://@taiga-ui/core/tokens/value-accessor.ts","ng://@taiga-ui/core/tokens/first-day-of-week.ts","ng://@taiga-ui/core/tokens/ordered-short-week-days.ts","ng://@taiga-ui/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\n\nexport const TUI_ANIMATIONS_DURATION = new InjectionToken<number>(\n 'Duration of all Taiga UI animations in ms',\n {\n factory: () => 300,\n },\n);\n","import {AnimationOptions} from '@angular/animations';\nimport {inject, InjectionToken} from '@angular/core';\nimport {TUI_ANIMATIONS_DURATION} from './animations-duration';\n\nexport const TUI_ANIMATION_OPTIONS = new InjectionToken<AnimationOptions>(\n 'Options for Taiga UI animations',\n {\n factory: () => ({\n params: {\n duration: inject(TUI_ANIMATIONS_DURATION),\n },\n }),\n },\n);\n","import {InjectionToken, isDevMode} from '@angular/core';\n\nexport const TUI_ASSERT_ENABLED = new InjectionToken(\n 'Flag to enable assertions across Taiga UI',\n {\n factory: () => isDevMode(),\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n 'Accessor for options',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<any>>(\n 'DataList controller',\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOCUMENT_OR_SHADOW_ROOT = new InjectionToken<DocumentOrShadowRoot>(\n 'Document or ShadowRoot',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDropdown} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DROPDOWN_DIRECTIVE = new InjectionToken<TuiDropdown>(\n 'Directive controlling TuiDropdownBoxComponent',\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\nexport const TUI_ELEMENT_REF = new InjectionToken<ElementRef>(\n 'ElementRef when you cannot use @Input for single time injection',\n);\n","import {InjectionToken} from '@angular/core';\nimport {extractI18n} from '@taiga-ui/i18n';\n\nexport const TUI_MONTHS = new InjectionToken('Localized months names', {\n factory: extractI18n('months'),\n});\n\nexport const TUI_CLOSE_WORD = new InjectionToken(`i18n 'close' word`, {\n factory: extractI18n('close'),\n});\n\nexport const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(\n `i18n 'Nothing found' message`,\n {\n factory: extractI18n('nothingFoundMessage'),\n },\n);\n\nexport const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(`i18n of error message`, {\n factory: extractI18n('defaultErrorMessage'),\n});\n\nexport const TUI_SPIN_TEXTS = new InjectionToken('spin i18n texts', {\n factory: extractI18n('spinTexts'),\n});\n\nexport const TUI_SHORT_WEEK_DAYS = new InjectionToken('calendars i18n texts', {\n factory: extractI18n('shortWeekDays'),\n});\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_ICONS = new InjectionToken<Record<string, string>>(\n 'A key/value dictionary of icon names and src to be defined with TuiSvgService',\n {\n factory: () => ({}),\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {iconsPathFactory} from '@taiga-ui/core/utils';\n\nexport const TUI_ICONS_PATH: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>(\n 'A handler to retrieve USE id for icon by name',\n {\n factory: () => iconsPathFactory('assets/taiga-ui/icons/'),\n },\n );\n","import {InjectionToken} from '@angular/core';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\nexport const TUI_MODE: InjectionToken<Observable<TuiBrightness | null>> =\n new InjectionToken<Observable<TuiBrightness | null>>(\n 'Mode stream for private providers',\n );\n","import {InjectionToken} from '@angular/core';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk';\nimport {NumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport const TUI_NUMBER_FORMAT = new InjectionToken<NumberFormatSettings>(\n 'Formatting configuration for displayed numbers',\n {\n factory: () => ({\n decimalSeparator: ',',\n thousandSeparator: CHAR_NO_BREAK_SPACE,\n zeroPadding: true,\n }),\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiNotification} from '@taiga-ui/core/enums';\nimport {TuiNotificationAutoClose} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface NotificationTokenOptions {\n readonly autoClose: TuiNotificationAutoClose;\n readonly label: PolymorpheusContent<TuiContextWithImplicit<TuiNotification>>;\n readonly status: TuiNotification;\n readonly hasIcon: boolean;\n readonly hasCloseButton: boolean;\n}\n\n/** Default values for the notification options. */\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: NotificationTokenOptions = {\n autoClose: true,\n label: '',\n status: TuiNotification.Info,\n hasIcon: true,\n hasCloseButton: true,\n};\n\nexport const TUI_NOTIFICATION_OPTIONS = new InjectionToken<NotificationTokenOptions>(\n 'Default parameters for notification alert component',\n {\n factory: () => TUI_NOTIFICATION_DEFAULT_OPTIONS,\n },\n);\n","import {InjectionToken, TemplateRef} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<TemplateRef<{}>>>\n>('Content for tuiOption component');\n","import {TUI_SANITIZER as TOKEN} from '@taiga-ui/cdk';\n\nexport const TUI_SANITIZER = TOKEN;\n","import {ElementRef, InjectionToken} from '@angular/core';\n\nexport const TUI_SCROLL_REF = new InjectionToken<ElementRef<HTMLElement>>(\n 'Scrollable container',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\n\nexport const TUI_TEXTFIELD_APPEARANCE = new InjectionToken<string>(\n 'Appearance for inputs',\n {\n factory: () => TuiAppearance.Textfield,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\n\nexport const TUI_VALUE_ACCESSOR = new InjectionToken<ControlValueAccessor>(\n 'Buffer token to pass NG_VALUE_ACCESSOR to a different Injector',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDayOfWeek} from '@taiga-ui/cdk';\n\nexport const TUI_FIRST_DAY_OF_WEEK = new InjectionToken<TuiDayOfWeek>(\n 'The first day of the week index',\n {\n factory: () => TuiDayOfWeek.Monday,\n },\n);\n","import {inject, InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {TUI_FIRST_DAY_OF_WEEK, TUI_SHORT_WEEK_DAYS} from './index';\n\nexport type WEEK_DAYS_NAMES = [string, string, string, string, string, string, string];\n\n// TODO: Remove export in ivy compiation\nexport const convertToSundayFirstWeekFormat = (weekDaysNames: WEEK_DAYS_NAMES) => {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [\n weekDaysNames[sundayIndex],\n ...weekDaysNames.slice(0, sundayIndex),\n ] as WEEK_DAYS_NAMES;\n};\n\nexport const TUI_ORDERED_SHORT_WEEK_DAYS = new InjectionToken<\n Observable<WEEK_DAYS_NAMES>\n>('Ordered calendars i18n texts', {\n factory: () => {\n const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n return inject(TUI_SHORT_WEEK_DAYS).pipe(\n map(convertToSundayFirstWeekFormat),\n map(\n weekDays =>\n [\n ...weekDays.slice(firstDayOfWeekIndex),\n ...weekDays.slice(0, firstDayOfWeekIndex),\n ] as WEEK_DAYS_NAMES,\n ),\n );\n },\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TOKEN"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-tokens.js","sources":["ng://@taiga-ui/core/tokens/animations-duration.ts","ng://@taiga-ui/core/tokens/animation-options.ts","ng://@taiga-ui/core/tokens/assert-enabled.ts","ng://@taiga-ui/core/tokens/data-list-accessor.ts","ng://@taiga-ui/core/tokens/data-list-host.ts","ng://@taiga-ui/core/tokens/document-or-shadow-root.ts","ng://@taiga-ui/core/tokens/dropdown-directive.ts","ng://@taiga-ui/core/tokens/element-ref.ts","ng://@taiga-ui/core/tokens/first-day-of-week.ts","ng://@taiga-ui/core/tokens/i18n.ts","ng://@taiga-ui/core/tokens/icons.ts","ng://@taiga-ui/core/tokens/icons-path.ts","ng://@taiga-ui/core/tokens/media.ts","ng://@taiga-ui/core/tokens/mode.ts","ng://@taiga-ui/core/tokens/notification-options.ts","ng://@taiga-ui/core/tokens/number-format.ts","ng://@taiga-ui/core/tokens/option-content.ts","ng://@taiga-ui/core/tokens/ordered-short-week-days.ts","ng://@taiga-ui/core/tokens/sanitizer.ts","ng://@taiga-ui/core/tokens/scroll-ref.ts","ng://@taiga-ui/core/tokens/textfield-appearance.ts","ng://@taiga-ui/core/tokens/value-accessor.ts","ng://@taiga-ui/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\n\nexport const TUI_ANIMATIONS_DURATION = new InjectionToken<number>(\n 'Duration of all Taiga UI animations in ms',\n {\n factory: () => 300,\n },\n);\n","import {AnimationOptions} from '@angular/animations';\nimport {inject, InjectionToken} from '@angular/core';\n\nimport {TUI_ANIMATIONS_DURATION} from './animations-duration';\n\nexport const TUI_ANIMATION_OPTIONS = new InjectionToken<AnimationOptions>(\n 'Options for Taiga UI animations',\n {\n factory: () => ({\n params: {\n duration: inject(TUI_ANIMATIONS_DURATION),\n },\n }),\n },\n);\n","import {InjectionToken, isDevMode} from '@angular/core';\n\nexport const TUI_ASSERT_ENABLED = new InjectionToken(\n 'Flag to enable assertions across Taiga UI',\n {\n factory: () => isDevMode(),\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n 'Accessor for options',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<any>>(\n 'DataList controller',\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOCUMENT_OR_SHADOW_ROOT = new InjectionToken<DocumentOrShadowRoot>(\n 'Document or ShadowRoot',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDropdown} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DROPDOWN_DIRECTIVE = new InjectionToken<TuiDropdown>(\n 'Directive controlling TuiDropdownBoxComponent',\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\nexport const TUI_ELEMENT_REF = new InjectionToken<ElementRef>(\n 'ElementRef when you cannot use @Input for single time injection',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDayOfWeek} from '@taiga-ui/cdk';\n\nexport const TUI_FIRST_DAY_OF_WEEK = new InjectionToken<TuiDayOfWeek>(\n 'The first day of the week index',\n {\n factory: () => TuiDayOfWeek.Monday,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {extractI18n} from '@taiga-ui/i18n';\n\nexport const TUI_MONTHS = new InjectionToken('Localized months names', {\n factory: extractI18n('months'),\n});\n\nexport const TUI_CLOSE_WORD = new InjectionToken(`i18n 'close' word`, {\n factory: extractI18n('close'),\n});\n\nexport const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(\n `i18n 'Nothing found' message`,\n {\n factory: extractI18n('nothingFoundMessage'),\n },\n);\n\nexport const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(`i18n of error message`, {\n factory: extractI18n('defaultErrorMessage'),\n});\n\nexport const TUI_SPIN_TEXTS = new InjectionToken('spin i18n texts', {\n factory: extractI18n('spinTexts'),\n});\n\nexport const TUI_SHORT_WEEK_DAYS = new InjectionToken('calendars i18n texts', {\n factory: extractI18n('shortWeekDays'),\n});\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_ICONS = new InjectionToken<Record<string, string>>(\n 'A key/value dictionary of icon names and src to be defined with TuiSvgService',\n {\n factory: () => ({}),\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {iconsPathFactory} from '@taiga-ui/core/utils';\n\nexport const TUI_ICONS_PATH: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>(\n 'A handler to retrieve USE id for icon by name',\n {\n factory: () => iconsPathFactory('assets/taiga-ui/icons/'),\n },\n );\n","import {InjectionToken} from '@angular/core';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\n\nexport const TUI_MEDIA = new InjectionToken<TuiMedia>('Token for media constant', {\n factory: () => ({\n mobile: 768,\n desktopSmall: 1024,\n desktopLarge: 1280,\n }),\n});\n","import {InjectionToken} from '@angular/core';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\nexport const TUI_MODE: InjectionToken<Observable<TuiBrightness | null>> =\n new InjectionToken<Observable<TuiBrightness | null>>(\n 'Mode stream for private providers',\n );\n","import {InjectionToken} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiNotification} from '@taiga-ui/core/enums';\nimport {TuiNotificationAutoClose} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface NotificationTokenOptions {\n readonly autoClose: TuiNotificationAutoClose;\n readonly label: PolymorpheusContent<TuiContextWithImplicit<TuiNotification>>;\n readonly status: TuiNotification;\n readonly hasIcon: boolean;\n readonly hasCloseButton: boolean;\n}\n\n/** Default values for the notification options. */\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: NotificationTokenOptions = {\n autoClose: true,\n label: '',\n status: TuiNotification.Info,\n hasIcon: true,\n hasCloseButton: true,\n};\n\nexport const TUI_NOTIFICATION_OPTIONS = new InjectionToken<NotificationTokenOptions>(\n 'Default parameters for notification alert component',\n {\n factory: () => TUI_NOTIFICATION_DEFAULT_OPTIONS,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk';\nimport {NumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport const TUI_NUMBER_FORMAT = new InjectionToken<NumberFormatSettings>(\n 'Formatting configuration for displayed numbers',\n {\n factory: () => ({\n decimalSeparator: ',',\n thousandSeparator: CHAR_NO_BREAK_SPACE,\n zeroPadding: true,\n }),\n },\n);\n","import {InjectionToken, TemplateRef} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<TemplateRef<{}>>>\n>('Content for tuiOption component');\n","import {inject, InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_FIRST_DAY_OF_WEEK, TUI_SHORT_WEEK_DAYS} from './index';\n\nexport type WEEK_DAYS_NAMES = [string, string, string, string, string, string, string];\n\n// TODO: Remove export in ivy compiation\nexport const convertToSundayFirstWeekFormat = (weekDaysNames: WEEK_DAYS_NAMES) => {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [\n weekDaysNames[sundayIndex],\n ...weekDaysNames.slice(0, sundayIndex),\n ] as WEEK_DAYS_NAMES;\n};\n\nexport const TUI_ORDERED_SHORT_WEEK_DAYS = new InjectionToken<\n Observable<WEEK_DAYS_NAMES>\n>('Ordered calendars i18n texts', {\n factory: () => {\n const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n return inject(TUI_SHORT_WEEK_DAYS).pipe(\n map(convertToSundayFirstWeekFormat),\n map(\n weekDays =>\n [\n ...weekDays.slice(firstDayOfWeekIndex),\n ...weekDays.slice(0, firstDayOfWeekIndex),\n ] as WEEK_DAYS_NAMES,\n ),\n );\n },\n});\n","import {TUI_SANITIZER as TOKEN} from '@taiga-ui/cdk';\n\nexport const TUI_SANITIZER = TOKEN;\n","import {ElementRef, InjectionToken} from '@angular/core';\n\nexport const TUI_SCROLL_REF = new InjectionToken<ElementRef<HTMLElement>>(\n 'Scrollable container',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\n\nexport const TUI_TEXTFIELD_APPEARANCE = new InjectionToken<string>(\n 'Appearance for inputs',\n {\n factory: () => TuiAppearance.Textfield,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\n\nexport const TUI_VALUE_ACCESSOR = new InjectionToken<ControlValueAccessor>(\n 'Buffer token to pass NG_VALUE_ACCESSOR to a different Injector',\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TOKEN"],"mappings":"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"}
@@ -60,7 +60,9 @@ function processIcon(source, name) {
60
60
  if (!heightString ||
61
61
  !widthString ||
62
62
  widthString.includes('%') ||
63
- heightString.includes('%')) {
63
+ heightString.includes('%') ||
64
+ widthString.includes('em') ||
65
+ heightString.includes('em')) {
64
66
  return src.replace(START, `<svg id="${name}"`);
65
67
  }
66
68
  const width = parseInt(widthString, 10);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-utils-dom.js","sources":["ng://@taiga-ui/core/utils/dom/are-css-vars-supported.ts","ng://@taiga-ui/core/utils/dom/check-fixed-position.ts","ng://@taiga-ui/core/utils/dom/get-safe-area-size.ts","ng://@taiga-ui/core/utils/dom/get-screen-width.ts","ng://@taiga-ui/core/utils/dom/process-icon.ts","ng://@taiga-ui/core/utils/dom/taiga-ui-core-utils-dom.ts"],"sourcesContent":["import {isEdgeOlderThan} from '@taiga-ui/cdk';\n\n/**\n * TODO: remove \"any\" in new TS version; https://github.com/ng-web-apis/common/pull/6\n */\nexport function areCssVarsSupported(cssRef: any, userAgent: string): boolean {\n return cssRef.supports('(--a: 0)') && !isEdgeOlderThan(17, userAgent);\n}\n","export function checkFixedPosition(element: HTMLElement | null): boolean {\n if (!element || typeof getComputedStyle === 'undefined') {\n return false;\n }\n\n const style = getComputedStyle(element);\n\n return (\n style.getPropertyValue('position') === 'fixed' ||\n checkFixedPosition(element.parentElement)\n );\n}\n","/**\n * Calculates size of safe area on mobile devices (status bars)\n *\n * ATTENTION: Only use in browser environment\n */\nexport function getSafeAreaSize(): number {\n if (!CSS.supports('padding-top: env(safe-area-inset-top)')) {\n return 0;\n }\n\n const div = document.createElement('div');\n\n div.style.paddingTop = 'env(safe-area-inset-top)';\n document.body.appendChild(div);\n\n const safeAreaSize = parseInt(window.getComputedStyle(div).paddingTop!, 10) || 0;\n\n document.body.removeChild(div);\n\n return safeAreaSize;\n}\n","export function getScreenWidth(documentRef: Document): number {\n return Math.max(\n documentRef.documentElement.clientWidth,\n documentRef.defaultView ? documentRef.defaultView.innerWidth : 0,\n );\n}\n","const WIDTH_SEARCH = 'width=\"';\nconst HEIGHT_SEARCH = 'height=\"';\nconst START = '<svg';\n\nexport function processIcon(source: string, name: string): string {\n if (source.includes(`id=\"${name}\"`)) {\n return source;\n }\n\n const src = source.substring(source.indexOf(START));\n const attributes = src.substring(0, src.indexOf('>'));\n\n if (\n !attributes ||\n !attributes.includes(WIDTH_SEARCH) ||\n !attributes.includes(HEIGHT_SEARCH)\n ) {\n return (\n src.replace(\n START,\n `<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg`,\n ) + '</g></svg>'\n );\n }\n\n const indexOfWidth = attributes.indexOf(WIDTH_SEARCH);\n const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);\n const widthOffset = indexOfWidth + WIDTH_SEARCH.length;\n const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;\n const widthString = attributes.substring(\n widthOffset,\n attributes.indexOf('\"', widthOffset),\n );\n const heightString = attributes.substring(\n heightOffset,\n attributes.indexOf('\"', heightOffset),\n );\n\n if (\n !heightString ||\n !widthString ||\n widthString.includes('%') ||\n heightString.includes('%')\n ) {\n return src.replace(START, `<svg id=\"${name}\"`);\n }\n\n const width = parseInt(widthString, 10);\n const height = parseInt(heightString, 10);\n\n return `<g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg x=\"50%\" y=\"50%\" width=\"${\n width / 16\n }em\" height=\"${\n height / 16\n }em\" overflow=\"visible\" viewBox=\"0 0 ${width} ${height}\"><svg x=\"${-width / 2}\" y=\"${\n -width / 2\n }\">${src}</svg></svg></g>`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-utils-dom.js","sources":["ng://@taiga-ui/core/utils/dom/are-css-vars-supported.ts","ng://@taiga-ui/core/utils/dom/check-fixed-position.ts","ng://@taiga-ui/core/utils/dom/get-safe-area-size.ts","ng://@taiga-ui/core/utils/dom/get-screen-width.ts","ng://@taiga-ui/core/utils/dom/process-icon.ts","ng://@taiga-ui/core/utils/dom/taiga-ui-core-utils-dom.ts"],"sourcesContent":["import {isEdgeOlderThan} from '@taiga-ui/cdk';\n\n/**\n * TODO: remove \"any\" in new TS version; https://github.com/ng-web-apis/common/pull/6\n */\nexport function areCssVarsSupported(cssRef: any, userAgent: string): boolean {\n return cssRef.supports('(--a: 0)') && !isEdgeOlderThan(17, userAgent);\n}\n","export function checkFixedPosition(element: HTMLElement | null): boolean {\n if (!element || typeof getComputedStyle === 'undefined') {\n return false;\n }\n\n const style = getComputedStyle(element);\n\n return (\n style.getPropertyValue('position') === 'fixed' ||\n checkFixedPosition(element.parentElement)\n );\n}\n","/**\n * Calculates size of safe area on mobile devices (status bars)\n *\n * ATTENTION: Only use in browser environment\n */\nexport function getSafeAreaSize(): number {\n if (!CSS.supports('padding-top: env(safe-area-inset-top)')) {\n return 0;\n }\n\n const div = document.createElement('div');\n\n div.style.paddingTop = 'env(safe-area-inset-top)';\n document.body.appendChild(div);\n\n const safeAreaSize = parseInt(window.getComputedStyle(div).paddingTop!, 10) || 0;\n\n document.body.removeChild(div);\n\n return safeAreaSize;\n}\n","export function getScreenWidth(documentRef: Document): number {\n return Math.max(\n documentRef.documentElement.clientWidth,\n documentRef.defaultView ? documentRef.defaultView.innerWidth : 0,\n );\n}\n","const WIDTH_SEARCH = 'width=\"';\nconst HEIGHT_SEARCH = 'height=\"';\nconst START = '<svg';\n\nexport function processIcon(source: string, name: string): string {\n if (source.includes(`id=\"${name}\"`)) {\n return source;\n }\n\n const src = source.substring(source.indexOf(START));\n const attributes = src.substring(0, src.indexOf('>'));\n\n if (\n !attributes ||\n !attributes.includes(WIDTH_SEARCH) ||\n !attributes.includes(HEIGHT_SEARCH)\n ) {\n return (\n src.replace(\n START,\n `<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg`,\n ) + '</g></svg>'\n );\n }\n\n const indexOfWidth = attributes.indexOf(WIDTH_SEARCH);\n const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);\n const widthOffset = indexOfWidth + WIDTH_SEARCH.length;\n const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;\n const widthString = attributes.substring(\n widthOffset,\n attributes.indexOf('\"', widthOffset),\n );\n const heightString = attributes.substring(\n heightOffset,\n attributes.indexOf('\"', heightOffset),\n );\n\n if (\n !heightString ||\n !widthString ||\n widthString.includes('%') ||\n heightString.includes('%') ||\n widthString.includes('em') ||\n heightString.includes('em')\n ) {\n return src.replace(START, `<svg id=\"${name}\"`);\n }\n\n const width = parseInt(widthString, 10);\n const height = parseInt(heightString, 10);\n\n return `<g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg x=\"50%\" y=\"50%\" width=\"${\n width / 16\n }em\" height=\"${\n height / 16\n }em\" overflow=\"visible\" viewBox=\"0 0 ${width} ${height}\"><svg x=\"${-width / 2}\" y=\"${\n -width / 2\n }\">${src}</svg></svg></g>`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAEA;;;SAGgB,mBAAmB,CAAC,MAAW,EAAE,SAAiB;IAC9D,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AAC1E;;SCPgB,kBAAkB,CAAC,OAA2B;IAC1D,IAAI,CAAC,OAAO,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;QACrD,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAExC,QACI,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,OAAO;QAC9C,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,EAC3C;AACN;;ACXA;;;;;SAKgB,eAAe;IAC3B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,uCAAuC,CAAC,EAAE;QACxD,OAAO,CAAC,CAAC;KACZ;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAE1C,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,0BAA0B,CAAC;IAClD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,UAAW,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAEjF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAE/B,OAAO,YAAY,CAAC;AACxB;;SCpBgB,cAAc,CAAC,WAAqB;IAChD,OAAO,IAAI,CAAC,GAAG,CACX,WAAW,CAAC,eAAe,CAAC,WAAW,EACvC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,CACnE,CAAC;AACN;;ACLA,MAAM,YAAY,GAAG,SAAS,CAAC;AAC/B,MAAM,aAAa,GAAG,UAAU,CAAC;AACjC,MAAM,KAAK,GAAG,MAAM,CAAC;SAEL,WAAW,CAAC,MAAc,EAAE,IAAY;IACpD,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE;QACjC,OAAO,MAAM,CAAC;KACjB;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAEtD,IACI,CAAC,UAAU;QACX,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;QAClC,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EACrC;QACE,QACI,GAAG,CAAC,OAAO,CACP,KAAK,EACL,kDAAkD,IAAI,2CAA2C,CACpG,GAAG,YAAY,EAClB;KACL;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;IACvD,MAAM,YAAY,GAAG,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;IAC1D,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CACpC,WAAW,EACX,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CACvC,CAAC;IACF,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CACrC,YAAY,EACZ,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CACxC,CAAC;IAEF,IACI,CAAC,YAAY;QACb,CAAC,WAAW;QACZ,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;QACzB,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC1B,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1B,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC7B;QACE,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,IAAI,GAAG,CAAC,CAAC;KAClD;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAE1C,OAAO,UAAU,IAAI,qEACjB,KAAK,GAAG,EACZ,eACI,MAAM,GAAG,EACb,uCAAuC,KAAK,IAAI,MAAM,aAAa,CAAC,KAAK,GAAG,CAAC,QACzE,CAAC,KAAK,GAAG,CACb,KAAK,GAAG,kBAAkB,CAAC;AAC/B;;AC3DA;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { CHAR_NO_BREAK_SPACE, tuiAssert, isSafari, isNativeFocused, getDocumentOrShadowRoot, CHAR_EN_DASH } from '@taiga-ui/cdk';
2
- import { MASK_CARET_TRAP, TUI_DIGIT_REGEXP, TUI_NON_DIGITS_REGEXP } from '@taiga-ui/core/constants';
2
+ import { MASK_CARET_TRAP, TUI_DIGIT_REGEXP, TUI_NON_DIGITS_REGEXP, TUI_LEADING_ZEROES_REGEXP } from '@taiga-ui/core/constants';
3
3
  import { otherDecimalSymbol } from '@taiga-ui/core/utils/format';
4
4
 
5
5
  /**
@@ -116,6 +116,7 @@ function tuiCreateCorrectionMask(allowed, correctionHandler) {
116
116
  const NON_ZERO_DIGIT = /[1-9]/;
117
117
  /**
118
118
  * Adaptation for {@link https://github.com/text-mask/text-mask/tree/master/addons#createnumbermask `createNumberMask`}
119
+ * @todo TODO: autocCorrectDecimalSymbol is no longer needed. Remove it in 3.0
119
120
  */
120
121
  function tuiCreateNumberMask({ allowDecimal = false, decimalSymbol = ',', thousandSymbol = CHAR_NO_BREAK_SPACE, autoCorrectDecimalSymbol = true, decimalLimit = 2, requireDecimal = false, allowNegative = false, integerLimit = 0, } = {}) {
121
122
  tuiAssert.assert(Number.isInteger(decimalLimit));
@@ -151,10 +152,13 @@ function tuiCreateNumberMask({ allowDecimal = false, decimalSymbol = ',', thousa
151
152
  const integerCapped = integerLimit
152
153
  ? integer.slice(0, integerLimit + thousandSeparators.length)
153
154
  : integer;
154
- const integerCappedClean = integerCapped
155
- .replace(TUI_NON_DIGITS_REGEXP, '')
156
- .replace(/^0+(?!\.|$)/, '0');
157
- const withSeparator = addThousandsSeparator(integerCappedClean, thousandSymbol);
155
+ const integerCappedClean = integerCapped.replace(TUI_NON_DIGITS_REGEXP, '');
156
+ const [leadingZerosMatch] = integerCappedClean.match(TUI_LEADING_ZEROES_REGEXP) || [''];
157
+ const leadingZerosAmount = leadingZerosMatch.length;
158
+ const integerCappedZerosClean = integerCappedClean
159
+ .replace(/^0+(?!\.|$)/, '')
160
+ .trim();
161
+ const withSeparator = addThousandsSeparator(integerCappedZerosClean, thousandSymbol);
158
162
  const mask = convertToMask(withSeparator);
159
163
  if ((hasDecimal && allowDecimal) || requireDecimal) {
160
164
  const fraction = hasDecimal
@@ -171,20 +175,34 @@ function tuiCreateNumberMask({ allowDecimal = false, decimalSymbol = ',', thousa
171
175
  mask.push(TUI_DIGIT_REGEXP);
172
176
  }
173
177
  }
178
+ const isOnlyZeroDigit = mask.length === 1 && integerCappedZerosClean === '0';
174
179
  if (isNegative) {
175
180
  if (mask.length === 0) {
176
181
  mask.push(TUI_DIGIT_REGEXP);
177
182
  }
178
183
  mask.unshift('-');
179
184
  }
180
- return preventLeadingZeroes(mask);
185
+ return preventLeadingZeroes(mask, isOnlyZeroDigit, leadingZerosAmount);
181
186
  };
182
187
  }
183
- function preventLeadingZeroes(mask) {
188
+ function preventLeadingZeroes(mask, isOnlyZeroDigit = false, leadingZerosAmount = 0) {
189
+ if (isOnlyZeroDigit || leadingZerosAmount === 0) {
190
+ return mask;
191
+ }
184
192
  const firstDigitIndex = mask.indexOf(TUI_DIGIT_REGEXP);
185
- if (firstDigitIndex !== -1 && mask[firstDigitIndex + 1] === TUI_DIGIT_REGEXP) {
186
- mask[firstDigitIndex] = NON_ZERO_DIGIT;
193
+ if (firstDigitIndex === -1) {
194
+ return mask;
195
+ }
196
+ const secondMaskDigit = mask[firstDigitIndex + 1];
197
+ const isCaretTrap = secondMaskDigit === MASK_CARET_TRAP;
198
+ if (isCaretTrap && leadingZerosAmount === 1) {
199
+ return mask;
200
+ }
201
+ else if (isCaretTrap) {
202
+ mask.unshift(NON_ZERO_DIGIT);
203
+ return mask;
187
204
  }
205
+ mask[firstDigitIndex] = NON_ZERO_DIGIT;
188
206
  return mask;
189
207
  }
190
208
  function getDecimalSymbolIndex(str, decimalSymbol, autoCorrectDecimalSymbol) {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-utils-mask.js","sources":["ng://@taiga-ui/core/utils/mask/create-auto-corrected-money-pipe.ts","ng://@taiga-ui/core/utils/mask/create-correction-mask.ts","ng://@taiga-ui/core/utils/mask/create-number-mask.ts","ng://@taiga-ui/core/utils/mask/masked-money-value-is-empty.ts","ng://@taiga-ui/core/utils/mask/masked-number-string-to-number.ts","ng://@taiga-ui/core/utils/mask/taiga-ui-core-utils-mask.ts"],"sourcesContent":["import {\n CHAR_NO_BREAK_SPACE,\n getDocumentOrShadowRoot,\n isNativeFocused,\n isSafari,\n tuiAssert,\n} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler} from '@taiga-ui/core/mask';\nimport {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\n/**\n * Used to finish a number with zeros to a given precision\n */\nexport function tuiCreateAutoCorrectedNumberPipe(\n decimalLimit: number = 0,\n decimalSymbol: TuiDecimalSymbol = ',',\n thousandSymbol: string = CHAR_NO_BREAK_SPACE,\n nativeInput?: HTMLInputElement,\n): TuiTextMaskPipeHandler {\n tuiAssert.assert(Number.isInteger(decimalLimit));\n tuiAssert.assert(decimalLimit >= 0);\n\n // Guess for which browser I need this :)\n let previousCaret = -1;\n\n const unlucky = !!nativeInput && isSafari(nativeInput);\n\n if (nativeInput && unlucky) {\n nativeInput.addEventListener('beforeinput', () => {\n previousCaret = nativeInput.selectionStart || 0;\n });\n }\n\n return (conformedValue, config) => {\n // remove these hacks after text mask library has changed\n if (nativeInput && unlucky && isNativeFocused(nativeInput)) {\n const caret = calculateSafariCaret(\n config.previousConformedValue,\n conformedValue,\n previousCaret,\n );\n\n setTimeout(() => {\n nativeInput.setSelectionRange(caret, caret);\n });\n }\n\n if (\n nativeInput &&\n nativeInput.ownerDocument !== getDocumentOrShadowRoot(nativeInput) &&\n isNativeFocused(nativeInput) &&\n config.currentCaretPosition\n ) {\n const realCaretPosition =\n config.currentCaretPosition +\n calculateCaretGap(\n config.previousConformedValue,\n conformedValue,\n thousandSymbol,\n );\n\n setTimeout(() => {\n nativeInput.setSelectionRange(realCaretPosition, realCaretPosition);\n });\n }\n\n if (conformedValue === '' || !decimalLimit) {\n return {value: conformedValue};\n }\n\n const withDecimalSymbol = addDecimalSymbolIfNeeded(conformedValue, decimalSymbol);\n const decimalPart = withDecimalSymbol.split(decimalSymbol)[1];\n const zeroPaddingSize = decimalLimit - decimalPart.length;\n\n return {\n value: withDecimalSymbol + '0'.repeat(zeroPaddingSize),\n };\n };\n}\n\nfunction addDecimalSymbolIfNeeded(\n value: string,\n decimalSymbol: TuiDecimalSymbol = ',',\n): string {\n return value.indexOf(decimalSymbol) === -1 ? value + decimalSymbol : value;\n}\n\nfunction calculateSafariCaret(\n previousValue: string = '',\n current: string,\n previousCaret: number,\n decimalSymbol: string = ',',\n): number {\n const tailRegex = new RegExp(`${decimalSymbol}.+`);\n const previousWithoutTail = previousValue.replace(tailRegex, '');\n const currentWithoutTail = current.replace(tailRegex, '');\n\n const pasteOrCutOperation =\n Math.abs(previousWithoutTail.length - currentWithoutTail.length) > 2;\n\n if (pasteOrCutOperation) {\n return current.length;\n }\n\n if (previousValue.length === current.length) {\n if (previousValue.indexOf(decimalSymbol) <= previousCaret) {\n return calculateChangedTailIndex(previousValue, current);\n }\n\n return previousWithoutTail === currentWithoutTail\n ? previousCaret - 1\n : previousCaret + 1;\n }\n\n if (previousValue.length === 0) {\n return 1;\n }\n\n const changeLength = current.length - previousValue.length;\n\n return previousCaret + changeLength;\n}\n\nfunction calculateChangedTailIndex(previous: string, current: string): number {\n for (let i = 0; i < current.length; i++) {\n if (previous[i] !== current[i]) {\n return current[i] === '0' ? i : i + 1;\n }\n }\n\n return current.length;\n}\n\nfunction calculateCaretGap(\n previousValue: string = '',\n current: string,\n thousandSymbol: string,\n): number {\n const pasteOrCutOperation = Math.abs(previousValue.length - current.length) > 2;\n\n if (pasteOrCutOperation) {\n return 0;\n }\n\n const wereSpaces = previousValue.split(thousandSymbol).length;\n const nowSpaces = current.split(thousandSymbol).length;\n\n return nowSpaces - wereSpaces;\n}\n","import {tuiAssert} from '@taiga-ui/cdk';\nimport {MASK_CARET_TRAP} from '@taiga-ui/core/constants';\nimport {\n TuiTextMaskCorrectionHandler,\n TuiTextMaskList,\n TuiTextMaskListHandler,\n} from '@taiga-ui/core/mask';\n\nconst ASSERTION = 'Correction function must return single char or null';\n\nexport function tuiCreateCorrectionMask(\n allowed: RegExp,\n correctionHandler: TuiTextMaskCorrectionHandler,\n): TuiTextMaskListHandler {\n return rawValue => {\n const mask = rawValue.split('').reduce<TuiTextMaskList>((result, char, index) => {\n const corrected = correctionHandler(char, index);\n\n tuiAssert.assert(corrected === null || corrected.length === 1, ASSERTION);\n\n if (!allowed.test(char) && !corrected) {\n return result;\n }\n\n if (allowed.test(char)) {\n return [...result, allowed];\n }\n\n if (corrected) {\n return [...result, corrected, MASK_CARET_TRAP];\n }\n\n return result;\n }, []);\n const lastIndex = mask.lastIndexOf(MASK_CARET_TRAP);\n const filtered = mask.filter(\n (item, index) => item !== MASK_CARET_TRAP || index === lastIndex,\n );\n\n return filtered.some(item => item !== allowed)\n ? [...filtered, allowed]\n : filtered;\n };\n}\n","import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE, tuiAssert} from '@taiga-ui/cdk';\nimport {\n MASK_CARET_TRAP,\n TUI_DIGIT_REGEXP,\n TUI_NON_DIGITS_REGEXP,\n} from '@taiga-ui/core/constants';\nimport {TuiNumberMaskOptions, TuiTextMaskListHandler} from '@taiga-ui/core/mask';\nimport {TuiDecimalSymbol} from '@taiga-ui/core/types';\nimport {otherDecimalSymbol} from '@taiga-ui/core/utils/format';\n\nconst NON_ZERO_DIGIT = /[1-9]/;\n\n/**\n * Adaptation for {@link https://github.com/text-mask/text-mask/tree/master/addons#createnumbermask `createNumberMask`}\n */\nexport function tuiCreateNumberMask({\n allowDecimal = false,\n decimalSymbol = ',',\n thousandSymbol = CHAR_NO_BREAK_SPACE,\n autoCorrectDecimalSymbol = true,\n decimalLimit = 2,\n requireDecimal = false,\n allowNegative = false,\n integerLimit = 0,\n}: TuiNumberMaskOptions = {}): TuiTextMaskListHandler {\n tuiAssert.assert(Number.isInteger(decimalLimit));\n tuiAssert.assert(decimalLimit > 0);\n tuiAssert.assert(Number.isInteger(integerLimit));\n tuiAssert.assert(integerLimit >= 0);\n\n return (rawValue, {previousConformedValue}) => {\n if (previousConformedValue && requireDecimal) {\n const conformedWithoutSeparator = rawValue.split(thousandSymbol).join('');\n const previousConformedValueWithoutDecimalSymbolAndSeparator =\n previousConformedValue\n .split(thousandSymbol)\n .join('')\n .split(decimalSymbol)\n .join('');\n\n // Forbid removal of decimal separator if decimal part is required\n if (\n conformedWithoutSeparator ===\n previousConformedValueWithoutDecimalSymbolAndSeparator\n ) {\n rawValue = previousConformedValue;\n }\n }\n\n const isNegative =\n (rawValue[0] === '-' || rawValue[0] === CHAR_EN_DASH) && allowNegative;\n\n if (\n isDecimalSymbol(rawValue, decimalSymbol, autoCorrectDecimalSymbol) &&\n allowDecimal\n ) {\n return ['0', decimalSymbol, TUI_DIGIT_REGEXP];\n }\n\n if (isNegative) {\n rawValue = rawValue.substr(1);\n }\n\n const decimalIndex = getDecimalSymbolIndex(\n rawValue,\n decimalSymbol,\n autoCorrectDecimalSymbol,\n );\n const hasDecimal = decimalIndex !== -1;\n const integer = hasDecimal ? rawValue.slice(0, decimalIndex) : rawValue;\n const thousandSeparators = integer.match(new RegExp(thousandSymbol, 'g')) || [];\n const integerCapped = integerLimit\n ? integer.slice(0, integerLimit + thousandSeparators.length)\n : integer;\n const integerCappedClean = integerCapped\n .replace(TUI_NON_DIGITS_REGEXP, '')\n .replace(/^0+(?!\\.|$)/, '0');\n const withSeparator = addThousandsSeparator(integerCappedClean, thousandSymbol);\n const mask = convertToMask(withSeparator);\n\n if ((hasDecimal && allowDecimal) || requireDecimal) {\n const fraction = hasDecimal\n ? convertToMask(\n rawValue.slice(decimalIndex + 1).replace(TUI_NON_DIGITS_REGEXP, ''),\n )\n : [];\n const fractionCapped = decimalLimit\n ? fraction.slice(0, decimalLimit)\n : fraction;\n\n if (rawValue[decimalIndex] !== otherDecimalSymbol(decimalSymbol)) {\n mask.push(MASK_CARET_TRAP);\n }\n\n mask.push(decimalSymbol, MASK_CARET_TRAP, ...fractionCapped);\n\n for (let i = 0; i < decimalLimit - fractionCapped.length; i++) {\n mask.push(TUI_DIGIT_REGEXP);\n }\n }\n\n if (isNegative) {\n if (mask.length === 0) {\n mask.push(TUI_DIGIT_REGEXP);\n }\n\n mask.unshift('-');\n }\n\n return preventLeadingZeroes(mask);\n };\n}\n\nfunction preventLeadingZeroes(mask: Array<string | RegExp>): Array<string | RegExp> {\n const firstDigitIndex = mask.indexOf(TUI_DIGIT_REGEXP);\n\n if (firstDigitIndex !== -1 && mask[firstDigitIndex + 1] === TUI_DIGIT_REGEXP) {\n mask[firstDigitIndex] = NON_ZERO_DIGIT;\n }\n\n return mask;\n}\n\nfunction getDecimalSymbolIndex(\n str: string,\n decimalSymbol: TuiDecimalSymbol,\n autoCorrectDecimalSymbol: boolean,\n): number {\n if (!autoCorrectDecimalSymbol) {\n return str.lastIndexOf(decimalSymbol);\n }\n\n return Math.max(\n str.lastIndexOf(decimalSymbol),\n str.lastIndexOf(otherDecimalSymbol(decimalSymbol)),\n );\n}\n\nfunction isDecimalSymbol(\n str: string,\n decimalSymbol: TuiDecimalSymbol,\n autoCorrectDecimalSymbol: boolean,\n): boolean {\n if (autoCorrectDecimalSymbol) {\n return /^[,.]$/.test(str);\n }\n\n return str === decimalSymbol;\n}\n\nfunction convertToMask(strNumber: string): Array<string | RegExp> {\n return strNumber\n .split('')\n .map(char => (TUI_DIGIT_REGEXP.test(char) ? TUI_DIGIT_REGEXP : char));\n}\n\nfunction addThousandsSeparator(strNumber: string, thousandSymbol: string): string {\n return strNumber.length > 3\n ? strNumber.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSymbol)\n : strNumber;\n}\n","export function maskedMoneyValueIsEmpty(value: string): boolean {\n switch (value) {\n case '':\n case '-':\n case ',':\n case '-,':\n return true;\n default:\n return false;\n }\n}\n","import {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\nexport function maskedNumberStringToNumber(\n value: string,\n decimalsSymbol: TuiDecimalSymbol,\n thousandSymbol: string,\n): number {\n return parseFloat(\n value.split(thousandSymbol).join('').split(decimalsSymbol).join('.'),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-utils-mask.js","sources":["ng://@taiga-ui/core/utils/mask/create-auto-corrected-money-pipe.ts","ng://@taiga-ui/core/utils/mask/create-correction-mask.ts","ng://@taiga-ui/core/utils/mask/create-number-mask.ts","ng://@taiga-ui/core/utils/mask/masked-money-value-is-empty.ts","ng://@taiga-ui/core/utils/mask/masked-number-string-to-number.ts","ng://@taiga-ui/core/utils/mask/taiga-ui-core-utils-mask.ts"],"sourcesContent":["import {\n CHAR_NO_BREAK_SPACE,\n getDocumentOrShadowRoot,\n isNativeFocused,\n isSafari,\n tuiAssert,\n} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler} from '@taiga-ui/core/mask';\nimport {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\n/**\n * Used to finish a number with zeros to a given precision\n */\nexport function tuiCreateAutoCorrectedNumberPipe(\n decimalLimit: number = 0,\n decimalSymbol: TuiDecimalSymbol = ',',\n thousandSymbol: string = CHAR_NO_BREAK_SPACE,\n nativeInput?: HTMLInputElement,\n): TuiTextMaskPipeHandler {\n tuiAssert.assert(Number.isInteger(decimalLimit));\n tuiAssert.assert(decimalLimit >= 0);\n\n // Guess for which browser I need this :)\n let previousCaret = -1;\n\n const unlucky = !!nativeInput && isSafari(nativeInput);\n\n if (nativeInput && unlucky) {\n nativeInput.addEventListener('beforeinput', () => {\n previousCaret = nativeInput.selectionStart || 0;\n });\n }\n\n return (conformedValue, config) => {\n // remove these hacks after text mask library has changed\n if (nativeInput && unlucky && isNativeFocused(nativeInput)) {\n const caret = calculateSafariCaret(\n config.previousConformedValue,\n conformedValue,\n previousCaret,\n );\n\n setTimeout(() => {\n nativeInput.setSelectionRange(caret, caret);\n });\n }\n\n if (\n nativeInput &&\n nativeInput.ownerDocument !== getDocumentOrShadowRoot(nativeInput) &&\n isNativeFocused(nativeInput) &&\n config.currentCaretPosition\n ) {\n const realCaretPosition =\n config.currentCaretPosition +\n calculateCaretGap(\n config.previousConformedValue,\n conformedValue,\n thousandSymbol,\n );\n\n setTimeout(() => {\n nativeInput.setSelectionRange(realCaretPosition, realCaretPosition);\n });\n }\n\n if (conformedValue === '' || !decimalLimit) {\n return {value: conformedValue};\n }\n\n const withDecimalSymbol = addDecimalSymbolIfNeeded(conformedValue, decimalSymbol);\n const decimalPart = withDecimalSymbol.split(decimalSymbol)[1];\n const zeroPaddingSize = decimalLimit - decimalPart.length;\n\n return {\n value: withDecimalSymbol + '0'.repeat(zeroPaddingSize),\n };\n };\n}\n\nfunction addDecimalSymbolIfNeeded(\n value: string,\n decimalSymbol: TuiDecimalSymbol = ',',\n): string {\n return value.indexOf(decimalSymbol) === -1 ? value + decimalSymbol : value;\n}\n\nfunction calculateSafariCaret(\n previousValue: string = '',\n current: string,\n previousCaret: number,\n decimalSymbol: string = ',',\n): number {\n const tailRegex = new RegExp(`${decimalSymbol}.+`);\n const previousWithoutTail = previousValue.replace(tailRegex, '');\n const currentWithoutTail = current.replace(tailRegex, '');\n\n const pasteOrCutOperation =\n Math.abs(previousWithoutTail.length - currentWithoutTail.length) > 2;\n\n if (pasteOrCutOperation) {\n return current.length;\n }\n\n if (previousValue.length === current.length) {\n if (previousValue.indexOf(decimalSymbol) <= previousCaret) {\n return calculateChangedTailIndex(previousValue, current);\n }\n\n return previousWithoutTail === currentWithoutTail\n ? previousCaret - 1\n : previousCaret + 1;\n }\n\n if (previousValue.length === 0) {\n return 1;\n }\n\n const changeLength = current.length - previousValue.length;\n\n return previousCaret + changeLength;\n}\n\nfunction calculateChangedTailIndex(previous: string, current: string): number {\n for (let i = 0; i < current.length; i++) {\n if (previous[i] !== current[i]) {\n return current[i] === '0' ? i : i + 1;\n }\n }\n\n return current.length;\n}\n\nfunction calculateCaretGap(\n previousValue: string = '',\n current: string,\n thousandSymbol: string,\n): number {\n const pasteOrCutOperation = Math.abs(previousValue.length - current.length) > 2;\n\n if (pasteOrCutOperation) {\n return 0;\n }\n\n const wereSpaces = previousValue.split(thousandSymbol).length;\n const nowSpaces = current.split(thousandSymbol).length;\n\n return nowSpaces - wereSpaces;\n}\n","import {tuiAssert} from '@taiga-ui/cdk';\nimport {MASK_CARET_TRAP} from '@taiga-ui/core/constants';\nimport {\n TuiTextMaskCorrectionHandler,\n TuiTextMaskList,\n TuiTextMaskListHandler,\n} from '@taiga-ui/core/mask';\n\nconst ASSERTION = 'Correction function must return single char or null';\n\nexport function tuiCreateCorrectionMask(\n allowed: RegExp,\n correctionHandler: TuiTextMaskCorrectionHandler,\n): TuiTextMaskListHandler {\n return rawValue => {\n const mask = rawValue.split('').reduce<TuiTextMaskList>((result, char, index) => {\n const corrected = correctionHandler(char, index);\n\n tuiAssert.assert(corrected === null || corrected.length === 1, ASSERTION);\n\n if (!allowed.test(char) && !corrected) {\n return result;\n }\n\n if (allowed.test(char)) {\n return [...result, allowed];\n }\n\n if (corrected) {\n return [...result, corrected, MASK_CARET_TRAP];\n }\n\n return result;\n }, []);\n const lastIndex = mask.lastIndexOf(MASK_CARET_TRAP);\n const filtered = mask.filter(\n (item, index) => item !== MASK_CARET_TRAP || index === lastIndex,\n );\n\n return filtered.some(item => item !== allowed)\n ? [...filtered, allowed]\n : filtered;\n };\n}\n","import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE, tuiAssert} from '@taiga-ui/cdk';\nimport {\n MASK_CARET_TRAP,\n TUI_DIGIT_REGEXP,\n TUI_LEADING_ZEROES_REGEXP,\n TUI_NON_DIGITS_REGEXP,\n} from '@taiga-ui/core/constants';\nimport {TuiNumberMaskOptions, TuiTextMaskListHandler} from '@taiga-ui/core/mask';\nimport {TuiDecimalSymbol} from '@taiga-ui/core/types';\nimport {otherDecimalSymbol} from '@taiga-ui/core/utils/format';\n\nconst NON_ZERO_DIGIT = /[1-9]/;\n\n/**\n * Adaptation for {@link https://github.com/text-mask/text-mask/tree/master/addons#createnumbermask `createNumberMask`}\n * @todo TODO: autocCorrectDecimalSymbol is no longer needed. Remove it in 3.0\n */\nexport function tuiCreateNumberMask({\n allowDecimal = false,\n decimalSymbol = ',',\n thousandSymbol = CHAR_NO_BREAK_SPACE,\n autoCorrectDecimalSymbol = true,\n decimalLimit = 2,\n requireDecimal = false,\n allowNegative = false,\n integerLimit = 0,\n}: TuiNumberMaskOptions = {}): TuiTextMaskListHandler {\n tuiAssert.assert(Number.isInteger(decimalLimit));\n tuiAssert.assert(decimalLimit > 0);\n tuiAssert.assert(Number.isInteger(integerLimit));\n tuiAssert.assert(integerLimit >= 0);\n\n return (rawValue, {previousConformedValue}) => {\n if (previousConformedValue && requireDecimal) {\n const conformedWithoutSeparator = rawValue.split(thousandSymbol).join('');\n const previousConformedValueWithoutDecimalSymbolAndSeparator =\n previousConformedValue\n .split(thousandSymbol)\n .join('')\n .split(decimalSymbol)\n .join('');\n\n // Forbid removal of decimal separator if decimal part is required\n if (\n conformedWithoutSeparator ===\n previousConformedValueWithoutDecimalSymbolAndSeparator\n ) {\n rawValue = previousConformedValue;\n }\n }\n\n const isNegative =\n (rawValue[0] === '-' || rawValue[0] === CHAR_EN_DASH) && allowNegative;\n\n if (\n isDecimalSymbol(rawValue, decimalSymbol, autoCorrectDecimalSymbol) &&\n allowDecimal\n ) {\n return ['0', decimalSymbol, TUI_DIGIT_REGEXP];\n }\n\n if (isNegative) {\n rawValue = rawValue.substr(1);\n }\n\n const decimalIndex = getDecimalSymbolIndex(\n rawValue,\n decimalSymbol,\n autoCorrectDecimalSymbol,\n );\n const hasDecimal = decimalIndex !== -1;\n const integer = hasDecimal ? rawValue.slice(0, decimalIndex) : rawValue;\n const thousandSeparators = integer.match(new RegExp(thousandSymbol, 'g')) || [];\n const integerCapped = integerLimit\n ? integer.slice(0, integerLimit + thousandSeparators.length)\n : integer;\n const integerCappedClean = integerCapped.replace(TUI_NON_DIGITS_REGEXP, '');\n const [leadingZerosMatch] = integerCappedClean.match(\n TUI_LEADING_ZEROES_REGEXP,\n ) || [''];\n const leadingZerosAmount = leadingZerosMatch.length;\n const integerCappedZerosClean = integerCappedClean\n .replace(/^0+(?!\\.|$)/, '')\n .trim();\n const withSeparator = addThousandsSeparator(\n integerCappedZerosClean,\n thousandSymbol,\n );\n const mask = convertToMask(withSeparator);\n\n if ((hasDecimal && allowDecimal) || requireDecimal) {\n const fraction = hasDecimal\n ? convertToMask(\n rawValue.slice(decimalIndex + 1).replace(TUI_NON_DIGITS_REGEXP, ''),\n )\n : [];\n const fractionCapped = decimalLimit\n ? fraction.slice(0, decimalLimit)\n : fraction;\n\n if (rawValue[decimalIndex] !== otherDecimalSymbol(decimalSymbol)) {\n mask.push(MASK_CARET_TRAP);\n }\n\n mask.push(decimalSymbol, MASK_CARET_TRAP, ...fractionCapped);\n\n for (let i = 0; i < decimalLimit - fractionCapped.length; i++) {\n mask.push(TUI_DIGIT_REGEXP);\n }\n }\n\n const isOnlyZeroDigit = mask.length === 1 && integerCappedZerosClean === '0';\n\n if (isNegative) {\n if (mask.length === 0) {\n mask.push(TUI_DIGIT_REGEXP);\n }\n\n mask.unshift('-');\n }\n\n return preventLeadingZeroes(mask, isOnlyZeroDigit, leadingZerosAmount);\n };\n}\n\nfunction preventLeadingZeroes(\n mask: Array<string | RegExp>,\n isOnlyZeroDigit: boolean = false,\n leadingZerosAmount: number = 0,\n): Array<string | RegExp> {\n if (isOnlyZeroDigit || leadingZerosAmount === 0) {\n return mask;\n }\n\n const firstDigitIndex = mask.indexOf(TUI_DIGIT_REGEXP);\n\n if (firstDigitIndex === -1) {\n return mask;\n }\n\n const secondMaskDigit = mask[firstDigitIndex + 1];\n const isCaretTrap = secondMaskDigit === MASK_CARET_TRAP;\n\n if (isCaretTrap && leadingZerosAmount === 1) {\n return mask;\n } else if (isCaretTrap) {\n mask.unshift(NON_ZERO_DIGIT);\n\n return mask;\n }\n\n mask[firstDigitIndex] = NON_ZERO_DIGIT;\n\n return mask;\n}\n\nfunction getDecimalSymbolIndex(\n str: string,\n decimalSymbol: TuiDecimalSymbol,\n autoCorrectDecimalSymbol: boolean,\n): number {\n if (!autoCorrectDecimalSymbol) {\n return str.lastIndexOf(decimalSymbol);\n }\n\n return Math.max(\n str.lastIndexOf(decimalSymbol),\n str.lastIndexOf(otherDecimalSymbol(decimalSymbol)),\n );\n}\n\nfunction isDecimalSymbol(\n str: string,\n decimalSymbol: TuiDecimalSymbol,\n autoCorrectDecimalSymbol: boolean,\n): boolean {\n if (autoCorrectDecimalSymbol) {\n return /^[,.]$/.test(str);\n }\n\n return str === decimalSymbol;\n}\n\nfunction convertToMask(strNumber: string): Array<string | RegExp> {\n return strNumber\n .split('')\n .map(char => (TUI_DIGIT_REGEXP.test(char) ? TUI_DIGIT_REGEXP : char));\n}\n\nfunction addThousandsSeparator(strNumber: string, thousandSymbol: string): string {\n return strNumber.length > 3\n ? strNumber.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSymbol)\n : strNumber;\n}\n","export function maskedMoneyValueIsEmpty(value: string): boolean {\n switch (value) {\n case '':\n case '-':\n case ',':\n case '-,':\n return true;\n default:\n return false;\n }\n}\n","import {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\nexport function maskedNumberStringToNumber(\n value: string,\n decimalsSymbol: TuiDecimalSymbol,\n thousandSymbol: string,\n): number {\n return parseFloat(\n value.split(thousandSymbol).join('').split(decimalsSymbol).join('.'),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -14,12 +14,10 @@ function colorFallback(color) {
14
14
  }
15
15
  }
16
16
 
17
- const BORDER_SMALL = 0.75;
18
- const BORDER_LARGE = 1;
19
17
  const ITEM_SIZE = 1.5;
20
18
  const CONTENT_SIZE = 2.5;
21
- function getBorder(sizeBig, hasIcon, hasCleaner = false, hasTooltip = false, hasContent = false) {
22
- let border = sizeBig ? BORDER_LARGE : BORDER_SMALL;
19
+ function getBorder(hasIcon, hasCleaner = false, hasTooltip = false, hasContent = false) {
20
+ let border = 0;
23
21
  if (hasIcon) {
24
22
  border += ITEM_SIZE;
25
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-utils-miscellaneous.js","sources":["ng://@taiga-ui/core/utils/miscellaneous/color-fallback.ts","ng://@taiga-ui/core/utils/miscellaneous/get-border.ts","ng://@taiga-ui/core/utils/miscellaneous/icons-path-factory.ts","ng://@taiga-ui/core/utils/miscellaneous/is-editing-key.ts","ng://@taiga-ui/core/utils/miscellaneous/is-presumed-hTMLString.ts","ng://@taiga-ui/core/utils/miscellaneous/size-bigger.ts","ng://@taiga-ui/core/utils/miscellaneous/taiga-ui-core-utils-miscellaneous.ts"],"sourcesContent":["/** @deprecated */\nexport function colorFallback(color: string | null): string {\n switch (color) {\n case 'secondary':\n return 'var(--tui-info-fill)';\n case 'error':\n return 'var(--tui-error-fill)';\n case 'success':\n return 'var(--tui-success-fill)';\n default:\n return `var(--tui-${color || 'base-05'})`;\n }\n}\n","const BORDER_SMALL = 0.75;\nconst BORDER_LARGE = 1;\nconst ITEM_SIZE = 1.5;\nconst CONTENT_SIZE = 2.5;\n\nexport function getBorder(\n sizeBig: boolean,\n hasIcon: boolean,\n hasCleaner: boolean = false,\n hasTooltip: boolean = false,\n hasContent: boolean = false,\n): number {\n let border = sizeBig ? BORDER_LARGE : BORDER_SMALL;\n\n if (hasIcon) {\n border += ITEM_SIZE;\n }\n\n if (hasCleaner) {\n border += ITEM_SIZE;\n }\n\n if (hasTooltip) {\n border += ITEM_SIZE;\n }\n\n if (hasContent) {\n border += CONTENT_SIZE;\n }\n\n return border;\n}\n","import {TuiStringHandler} from '@taiga-ui/cdk';\nimport {DEFAULT_ICONS_PATH} from '@taiga-ui/core/constants';\n\nexport function iconsPathFactory(staticPath: string): TuiStringHandler<string> {\n const base =\n staticPath[staticPath.length - 1] === '/' ? staticPath : staticPath + '/';\n\n return name => {\n if (name.startsWith('tuiIcon')) {\n return `${base}${name}.svg#${name}`;\n }\n\n return DEFAULT_ICONS_PATH(name);\n };\n}\n","import {tuiEditingKeys} from '@taiga-ui/core/constants';\n\n/**\n * Check if pressed key is interactive in terms of input field\n */\nexport function isEditingKey(key: string): boolean {\n return key.length === 1 || tuiEditingKeys.indexOf(key) !== -1;\n}\n","export function isPresumedHTMLString(candidate: string): boolean {\n const trimmed = candidate.trim();\n\n return trimmed.startsWith('<') && trimmed.endsWith('>');\n}\n","import {TuiSizeXS, TuiSizeXXL} from '@taiga-ui/core/types';\n\nconst SIZES: ReadonlyArray<TuiSizeXS | TuiSizeXXL> = ['xs', 's', 'm', 'l', 'xl', 'xxl'];\n\n/**\n * Compares size constants to determine if first size is bigger than the second\n *\n * @param size size that we need to compare\n * @param biggerThanSize size to compare with, 's' by default\n */\nexport function sizeBigger(\n size: TuiSizeXS | TuiSizeXXL,\n biggerThanSize: TuiSizeXS | TuiSizeXXL = 's',\n): boolean {\n return SIZES.indexOf(size) > SIZES.indexOf(biggerThanSize);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;SACgB,aAAa,CAAC,KAAoB;IAC9C,QAAQ,KAAK;QACT,KAAK,WAAW;YACZ,OAAO,sBAAsB,CAAC;QAClC,KAAK,OAAO;YACR,OAAO,uBAAuB,CAAC;QACnC,KAAK,SAAS;YACV,OAAO,yBAAyB,CAAC;QACrC;YACI,OAAO,aAAa,KAAK,IAAI,SAAS,GAAG,CAAC;KACjD;AACL;;ACZA,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,YAAY,GAAG,GAAG,CAAC;SAET,SAAS,CACrB,OAAgB,EAChB,OAAgB,EAChB,aAAsB,KAAK,EAC3B,aAAsB,KAAK,EAC3B,aAAsB,KAAK;IAE3B,IAAI,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,YAAY,CAAC;IAEnD,IAAI,OAAO,EAAE;QACT,MAAM,IAAI,SAAS,CAAC;KACvB;IAED,IAAI,UAAU,EAAE;QACZ,MAAM,IAAI,SAAS,CAAC;KACvB;IAED,IAAI,UAAU,EAAE;QACZ,MAAM,IAAI,SAAS,CAAC;KACvB;IAED,IAAI,UAAU,EAAE;QACZ,MAAM,IAAI,YAAY,CAAC;KAC1B;IAED,OAAO,MAAM,CAAC;AAClB;;SC5BgB,gBAAgB,CAAC,UAAkB;IAC/C,MAAM,IAAI,GACN,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,UAAU,GAAG,UAAU,GAAG,GAAG,CAAC;IAE9E,OAAO,IAAI;QACP,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC5B,OAAO,GAAG,IAAI,GAAG,IAAI,QAAQ,IAAI,EAAE,CAAC;SACvC;QAED,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;KACnC,CAAC;AACN;;ACZA;;;SAGgB,YAAY,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE;;SCPgB,oBAAoB,CAAC,SAAiB;IAClD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAEjC,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC5D;;ACFA,MAAM,KAAK,GAA0C,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAExF;;;;;;SAMgB,UAAU,CACtB,IAA4B,EAC5B,iBAAyC,GAAG;IAE5C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAC/D;;ACfA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-utils-miscellaneous.js","sources":["ng://@taiga-ui/core/utils/miscellaneous/color-fallback.ts","ng://@taiga-ui/core/utils/miscellaneous/get-border.ts","ng://@taiga-ui/core/utils/miscellaneous/icons-path-factory.ts","ng://@taiga-ui/core/utils/miscellaneous/is-editing-key.ts","ng://@taiga-ui/core/utils/miscellaneous/is-presumed-hTMLString.ts","ng://@taiga-ui/core/utils/miscellaneous/size-bigger.ts","ng://@taiga-ui/core/utils/miscellaneous/taiga-ui-core-utils-miscellaneous.ts"],"sourcesContent":["/** @deprecated */\nexport function colorFallback(color: string | null): string {\n switch (color) {\n case 'secondary':\n return 'var(--tui-info-fill)';\n case 'error':\n return 'var(--tui-error-fill)';\n case 'success':\n return 'var(--tui-success-fill)';\n default:\n return `var(--tui-${color || 'base-05'})`;\n }\n}\n","const ITEM_SIZE = 1.5;\nconst CONTENT_SIZE = 2.5;\n\nexport function getBorder(\n hasIcon: boolean,\n hasCleaner: boolean = false,\n hasTooltip: boolean = false,\n hasContent: boolean = false,\n): number {\n let border = 0;\n\n if (hasIcon) {\n border += ITEM_SIZE;\n }\n\n if (hasCleaner) {\n border += ITEM_SIZE;\n }\n\n if (hasTooltip) {\n border += ITEM_SIZE;\n }\n\n if (hasContent) {\n border += CONTENT_SIZE;\n }\n\n return border;\n}\n","import {TuiStringHandler} from '@taiga-ui/cdk';\nimport {DEFAULT_ICONS_PATH} from '@taiga-ui/core/constants';\n\nexport function iconsPathFactory(staticPath: string): TuiStringHandler<string> {\n const base =\n staticPath[staticPath.length - 1] === '/' ? staticPath : staticPath + '/';\n\n return name => {\n if (name.startsWith('tuiIcon')) {\n return `${base}${name}.svg#${name}`;\n }\n\n return DEFAULT_ICONS_PATH(name);\n };\n}\n","import {tuiEditingKeys} from '@taiga-ui/core/constants';\n\n/**\n * Check if pressed key is interactive in terms of input field\n */\nexport function isEditingKey(key: string): boolean {\n return key.length === 1 || tuiEditingKeys.indexOf(key) !== -1;\n}\n","export function isPresumedHTMLString(candidate: string): boolean {\n const trimmed = candidate.trim();\n\n return trimmed.startsWith('<') && trimmed.endsWith('>');\n}\n","import {TuiSizeXS, TuiSizeXXL} from '@taiga-ui/core/types';\n\nconst SIZES: ReadonlyArray<TuiSizeXS | TuiSizeXXL> = ['xs', 's', 'm', 'l', 'xl', 'xxl'];\n\n/**\n * Compares size constants to determine if first size is bigger than the second\n *\n * @param size size that we need to compare\n * @param biggerThanSize size to compare with, 's' by default\n */\nexport function sizeBigger(\n size: TuiSizeXS | TuiSizeXXL,\n biggerThanSize: TuiSizeXS | TuiSizeXXL = 's',\n): boolean {\n return SIZES.indexOf(size) > SIZES.indexOf(biggerThanSize);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;SACgB,aAAa,CAAC,KAAoB;IAC9C,QAAQ,KAAK;QACT,KAAK,WAAW;YACZ,OAAO,sBAAsB,CAAC;QAClC,KAAK,OAAO;YACR,OAAO,uBAAuB,CAAC;QACnC,KAAK,SAAS;YACV,OAAO,yBAAyB,CAAC;QACrC;YACI,OAAO,aAAa,KAAK,IAAI,SAAS,GAAG,CAAC;KACjD;AACL;;ACZA,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,YAAY,GAAG,GAAG,CAAC;SAET,SAAS,CACrB,OAAgB,EAChB,aAAsB,KAAK,EAC3B,aAAsB,KAAK,EAC3B,aAAsB,KAAK;IAE3B,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,IAAI,OAAO,EAAE;QACT,MAAM,IAAI,SAAS,CAAC;KACvB;IAED,IAAI,UAAU,EAAE;QACZ,MAAM,IAAI,SAAS,CAAC;KACvB;IAED,IAAI,UAAU,EAAE;QACZ,MAAM,IAAI,SAAS,CAAC;KACvB;IAED,IAAI,UAAU,EAAE;QACZ,MAAM,IAAI,YAAY,CAAC;KAC1B;IAED,OAAO,MAAM,CAAC;AAClB;;SCzBgB,gBAAgB,CAAC,UAAkB;IAC/C,MAAM,IAAI,GACN,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,UAAU,GAAG,UAAU,GAAG,GAAG,CAAC;IAE9E,OAAO,IAAI;QACP,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC5B,OAAO,GAAG,IAAI,GAAG,IAAI,QAAQ,IAAI,EAAE,CAAC;SACvC;QAED,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;KACnC,CAAC;AACN;;ACZA;;;SAGgB,YAAY,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE;;SCPgB,oBAAoB,CAAC,SAAiB;IAClD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAEjC,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC5D;;ACFA,MAAM,KAAK,GAA0C,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAExF;;;;;;SAMgB,UAAU,CACtB,IAA4B,EAC5B,iBAAyC,GAAG;IAE5C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAC/D;;ACfA;;;;;;"}
@@ -119,9 +119,10 @@ var AbstractTuiDropdown = /** @class */ (function () {
119
119
  }());
120
120
 
121
121
  var AbstractTuiHint = /** @class */ (function () {
122
- function AbstractTuiHint(elementRef, hintService) {
122
+ function AbstractTuiHint(elementRef, hintService, activeZone) {
123
123
  this.elementRef = elementRef;
124
124
  this.hintService = hintService;
125
+ this.activeZone = activeZone;
125
126
  this.mode = null;
126
127
  this.direction = 'bottom-left';
127
128
  this.content = '';
@@ -137,7 +138,8 @@ var AbstractTuiHint = /** @class */ (function () {
137
138
  };
138
139
  AbstractTuiHint.ctorParameters = function () { return [
139
140
  { type: ElementRef },
140
- { type: TuiHintService }
141
+ { type: TuiHintService },
142
+ { type: TuiActiveZoneDirective }
141
143
  ]; };
142
144
  __decorate([
143
145
  Input('tuiHintMode'),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-abstract.js","sources":["ng://@taiga-ui/core/abstract/abstract-dropdown.ts","ng://@taiga-ui/core/abstract/abstract-hint.ts","ng://@taiga-ui/core/abstract/taiga-ui-core-abstract.ts"],"sourcesContent":["import {\n AfterViewChecked,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n Injector,\n Input,\n OnDestroy,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n tuiDefaultProp,\n TuiPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownBoxComponent} from '@taiga-ui/core/components/dropdown-box';\nimport {DEFAULT_MAX_HEIGHT, DEFAULT_MIN_HEIGHT} from '@taiga-ui/core/constants';\nimport {TuiDropdown} from '@taiga-ui/core/interfaces';\nimport {\n TuiDropdownWidthT,\n TuiHorizontalDirection,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {checkFixedPosition} from '@taiga-ui/core/utils/dom';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n// @bad TODO: Possibly refactor to make more abstract\n@Directive()\nexport abstract class AbstractTuiDropdown\n implements TuiDropdown, AfterViewChecked, OnDestroy\n{\n @Input('tuiDropdownContent')\n @tuiDefaultProp()\n content: PolymorpheusContent = '';\n\n @Input('tuiDropdownHost')\n @tuiDefaultProp()\n tuiDropdownHost: HTMLElement | null = null;\n\n @Input('tuiDropdownMinHeight')\n @tuiDefaultProp()\n minHeight = DEFAULT_MIN_HEIGHT;\n\n @Input('tuiDropdownMaxHeight')\n @tuiDefaultProp()\n maxHeight = DEFAULT_MAX_HEIGHT;\n\n @Input('tuiDropdownAlign')\n @tuiDefaultProp()\n align: TuiHorizontalDirection = 'left';\n\n @Input('tuiDropdownDirection')\n @tuiDefaultProp()\n direction: TuiVerticalDirection | null = null;\n\n @Input('tuiDropdownSided')\n @tuiDefaultProp()\n sided = false;\n\n @Input('tuiDropdownLimitWidth')\n @tuiDefaultProp()\n limitMinWidth: TuiDropdownWidthT = 'min';\n\n dropdownBoxRef: ComponentRef<TuiDropdownBoxComponent> | null = null;\n\n abstract refresh$: Observable<unknown>;\n\n constructor(\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly injector: Injector,\n private readonly portalService: TuiPortalService,\n protected readonly elementRef: ElementRef<HTMLElement>,\n readonly activeZone: TuiActiveZoneDirective | null,\n ) {}\n\n ngOnDestroy() {\n this.closeDropdownBox();\n }\n\n ngAfterViewChecked() {\n // @awful TODO: This is probably wrong to call both but in TuiHostedDropdown some changes do not propagate otherwise\n if (this.dropdownBoxRef !== null) {\n this.dropdownBoxRef.changeDetectorRef.detectChanges();\n this.dropdownBoxRef.changeDetectorRef.markForCheck();\n }\n }\n\n get clientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n get host(): HTMLElement {\n return this.tuiDropdownHost || this.elementRef.nativeElement;\n }\n\n @tuiPure\n get fixed(): boolean {\n return checkFixedPosition(this.elementRef.nativeElement);\n }\n\n protected openDropdownBox() {\n if (this.dropdownBoxRef !== null) {\n return;\n }\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n TuiDropdownBoxComponent,\n );\n\n this.dropdownBoxRef = this.portalService.add(componentFactory, this.injector);\n this.dropdownBoxRef.changeDetectorRef.detectChanges();\n }\n\n protected closeDropdownBox() {\n if (this.dropdownBoxRef === null) {\n return;\n }\n\n this.portalService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n }\n}\n","import {Directive, ElementRef, Input, OnDestroy} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiHintService} from '@taiga-ui/core/services';\nimport {TuiDirection, TuiHintModeT} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Directive()\nexport abstract class AbstractTuiHint implements OnDestroy {\n @Input('tuiHintMode')\n @tuiDefaultProp()\n mode: TuiHintModeT | null = null;\n\n @Input('tuiHintDirection')\n @tuiDefaultProp()\n direction: TuiDirection = 'bottom-left';\n\n content: PolymorpheusContent = '';\n\n constructor(\n protected readonly elementRef: ElementRef<HTMLElement>,\n protected readonly hintService: TuiHintService,\n ) {}\n\n abstract getElementClientRect(): ClientRect;\n\n ngOnDestroy() {\n this.hideTooltip();\n }\n\n protected showTooltip() {\n this.hintService.add(this);\n }\n\n protected hideTooltip() {\n this.hintService.remove(this);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-abstract.js","sources":["ng://@taiga-ui/core/abstract/abstract-dropdown.ts","ng://@taiga-ui/core/abstract/abstract-hint.ts","ng://@taiga-ui/core/abstract/taiga-ui-core-abstract.ts"],"sourcesContent":["import {\n AfterViewChecked,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n Injector,\n Input,\n OnDestroy,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n tuiDefaultProp,\n TuiPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownBoxComponent} from '@taiga-ui/core/components/dropdown-box';\nimport {DEFAULT_MAX_HEIGHT, DEFAULT_MIN_HEIGHT} from '@taiga-ui/core/constants';\nimport {TuiDropdown} from '@taiga-ui/core/interfaces';\nimport {\n TuiDropdownWidthT,\n TuiHorizontalDirection,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {checkFixedPosition} from '@taiga-ui/core/utils/dom';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n// @bad TODO: Possibly refactor to make more abstract\n@Directive()\nexport abstract class AbstractTuiDropdown\n implements TuiDropdown, AfterViewChecked, OnDestroy\n{\n @Input('tuiDropdownContent')\n @tuiDefaultProp()\n content: PolymorpheusContent = '';\n\n @Input('tuiDropdownHost')\n @tuiDefaultProp()\n tuiDropdownHost: HTMLElement | null = null;\n\n @Input('tuiDropdownMinHeight')\n @tuiDefaultProp()\n minHeight = DEFAULT_MIN_HEIGHT;\n\n @Input('tuiDropdownMaxHeight')\n @tuiDefaultProp()\n maxHeight = DEFAULT_MAX_HEIGHT;\n\n @Input('tuiDropdownAlign')\n @tuiDefaultProp()\n align: TuiHorizontalDirection = 'left';\n\n @Input('tuiDropdownDirection')\n @tuiDefaultProp()\n direction: TuiVerticalDirection | null = null;\n\n @Input('tuiDropdownSided')\n @tuiDefaultProp()\n sided = false;\n\n @Input('tuiDropdownLimitWidth')\n @tuiDefaultProp()\n limitMinWidth: TuiDropdownWidthT = 'min';\n\n dropdownBoxRef: ComponentRef<TuiDropdownBoxComponent> | null = null;\n\n abstract refresh$: Observable<unknown>;\n\n constructor(\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly injector: Injector,\n private readonly portalService: TuiPortalService,\n protected readonly elementRef: ElementRef<HTMLElement>,\n readonly activeZone: TuiActiveZoneDirective | null,\n ) {}\n\n ngOnDestroy() {\n this.closeDropdownBox();\n }\n\n ngAfterViewChecked() {\n // @awful TODO: This is probably wrong to call both but in TuiHostedDropdown some changes do not propagate otherwise\n if (this.dropdownBoxRef !== null) {\n this.dropdownBoxRef.changeDetectorRef.detectChanges();\n this.dropdownBoxRef.changeDetectorRef.markForCheck();\n }\n }\n\n get clientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n get host(): HTMLElement {\n return this.tuiDropdownHost || this.elementRef.nativeElement;\n }\n\n @tuiPure\n get fixed(): boolean {\n return checkFixedPosition(this.elementRef.nativeElement);\n }\n\n protected openDropdownBox() {\n if (this.dropdownBoxRef !== null) {\n return;\n }\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n TuiDropdownBoxComponent,\n );\n\n this.dropdownBoxRef = this.portalService.add(componentFactory, this.injector);\n this.dropdownBoxRef.changeDetectorRef.detectChanges();\n }\n\n protected closeDropdownBox() {\n if (this.dropdownBoxRef === null) {\n return;\n }\n\n this.portalService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n }\n}\n","import {Directive, ElementRef, Input, OnDestroy} from '@angular/core';\nimport {TuiActiveZoneDirective, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiHintService} from '@taiga-ui/core/services';\nimport {TuiDirection, TuiHintModeT} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Directive()\nexport abstract class AbstractTuiHint implements OnDestroy {\n @Input('tuiHintMode')\n @tuiDefaultProp()\n mode: TuiHintModeT | null = null;\n\n @Input('tuiHintDirection')\n @tuiDefaultProp()\n direction: TuiDirection = 'bottom-left';\n\n content: PolymorpheusContent = '';\n\n constructor(\n protected readonly elementRef: ElementRef<HTMLElement>,\n protected readonly hintService: TuiHintService,\n readonly activeZone: TuiActiveZoneDirective | null,\n ) {}\n\n abstract getElementClientRect(): ClientRect;\n\n ngOnDestroy() {\n this.hideTooltip();\n }\n\n protected showTooltip() {\n this.hintService.add(this);\n }\n\n protected hideTooltip() {\n this.hintService.remove(this);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { __extends, __decorate, __param } from 'tslib';
2
- import { ElementRef, Inject, ChangeDetectorRef, Input, HostBinding, HostListener, Component, ChangeDetectionStrategy, forwardRef, NgModule } from '@angular/core';
2
+ import { InjectionToken, ElementRef, Inject, ChangeDetectorRef, Input, HostBinding, HostListener, Component, ChangeDetectionStrategy, forwardRef, NgModule } from '@angular/core';
3
3
  import { watch, pressedObservable, isNativeFocused, TuiFocusVisibleService, TuiHoveredService, TuiDestroyService, TUI_TAKE_ONLY_TRUSTED_EVENTS, tuiDefaultProp, TUI_FOCUSABLE_ITEM_ACCESSOR, AbstractTuiInteractive } from '@taiga-ui/cdk';
4
4
  import { Observable } from 'rxjs';
5
5
  import { takeUntil } from 'rxjs/operators';
@@ -9,19 +9,29 @@ import { TuiSvgModule } from '@taiga-ui/core/components/svg';
9
9
  import { TuiWrapperModule } from '@taiga-ui/core/components/wrapper';
10
10
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
11
11
 
12
+ var TUI_BUTTON_DEFAULT_OPTIONS = {
13
+ size: 'l',
14
+ shape: null,
15
+ appearance: "primary" /* Primary */,
16
+ };
17
+ var TUI_BUTTON_OPTIONS = new InjectionToken('Default parameters for button component', {
18
+ factory: function () { return TUI_BUTTON_DEFAULT_OPTIONS; },
19
+ });
20
+
12
21
  var TuiButtonComponent = /** @class */ (function (_super) {
13
22
  __extends(TuiButtonComponent, _super);
14
- function TuiButtonComponent(elementRef, focusVisible$, hoveredService, destroy$, changeDetectorRef, takeOnlyTrustedEvents) {
23
+ function TuiButtonComponent(elementRef, focusVisible$, hoveredService, destroy$, changeDetectorRef, takeOnlyTrustedEvents, options) {
15
24
  var _this = _super.call(this) || this;
16
25
  _this.elementRef = elementRef;
17
26
  _this.takeOnlyTrustedEvents = takeOnlyTrustedEvents;
18
- _this.appearance = "primary" /* Primary */;
27
+ _this.options = options;
28
+ _this.appearance = _this.options.appearance;
19
29
  _this.disabled = false;
20
30
  _this.icon = '';
21
31
  _this.iconRight = '';
22
- _this.shape = null;
32
+ _this.shape = _this.options.shape;
23
33
  _this.showLoader = false;
24
- _this.size = 'l';
34
+ _this.size = _this.options.size;
25
35
  hoveredService
26
36
  .createHovered$(elementRef.nativeElement)
27
37
  .pipe(watch(changeDetectorRef), takeUntil(destroy$))
@@ -86,7 +96,8 @@ var TuiButtonComponent = /** @class */ (function (_super) {
86
96
  { type: TuiHoveredService, decorators: [{ type: Inject, args: [TuiHoveredService,] }] },
87
97
  { type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
88
98
  { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
89
- { type: Boolean, decorators: [{ type: Inject, args: [TUI_TAKE_ONLY_TRUSTED_EVENTS,] }] }
99
+ { type: Boolean, decorators: [{ type: Inject, args: [TUI_TAKE_ONLY_TRUSTED_EVENTS,] }] },
100
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_BUTTON_OPTIONS,] }] }
90
101
  ]; };
91
102
  __decorate([
92
103
  Input(),
@@ -133,7 +144,7 @@ var TuiButtonComponent = /** @class */ (function (_super) {
133
144
  TuiButtonComponent = TuiButtonComponent_1 = __decorate([
134
145
  Component({
135
146
  selector: 'button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]',
136
- template: "<tui-wrapper\n class=\"wrapper\"\n [appearance]=\"appearance\"\n [hovered]=\"computedHovered\"\n [pressed]=\"computedPressed\"\n [disabled]=\"computedDisabled\"\n [focused]=\"computedFocusVisible\"\n>\n <span class=\"content\">\n <span *ngIf=\"icon\" class=\"left\" polymorpheus-outlet [content]=\"icon\">\n <ng-template let-icon>\n <tui-svg class=\"icon\" [src]=\"icon\"></tui-svg>\n </ng-template>\n </span>\n <ng-content></ng-content>\n <span\n *ngIf=\"iconRight\"\n class=\"right\"\n polymorpheus-outlet\n [content]=\"iconRight\"\n >\n <ng-template let-icon>\n <tui-svg class=\"icon\" [src]=\"icon\"></tui-svg>\n </ng-template>\n </span>\n </span>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n ></tui-loader>\n</tui-wrapper>\n",
147
+ template: "<tui-wrapper\n class=\"wrapper\"\n [appearance]=\"appearance\"\n [hovered]=\"computedHovered\"\n [pressed]=\"computedPressed\"\n [disabled]=\"computedDisabled\"\n [focused]=\"computedFocusVisible\"\n>\n <span class=\"content\">\n <span *ngIf=\"icon\" polymorpheus-outlet class=\"left\" [content]=\"icon\">\n <ng-template let-icon>\n <tui-svg class=\"icon\" [src]=\"icon\"></tui-svg>\n </ng-template>\n </span>\n <ng-content></ng-content>\n <span\n *ngIf=\"iconRight\"\n polymorpheus-outlet\n class=\"right\"\n [content]=\"iconRight\"\n >\n <ng-template let-icon>\n <tui-svg class=\"icon\" [src]=\"icon\"></tui-svg>\n </ng-template>\n </span>\n </span>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n ></tui-loader>\n</tui-wrapper>\n",
137
148
  changeDetection: ChangeDetectionStrategy.OnPush,
138
149
  providers: [
139
150
  {
@@ -150,7 +161,8 @@ var TuiButtonComponent = /** @class */ (function (_super) {
150
161
  __param(2, Inject(TuiHoveredService)),
151
162
  __param(3, Inject(TuiDestroyService)),
152
163
  __param(4, Inject(ChangeDetectorRef)),
153
- __param(5, Inject(TUI_TAKE_ONLY_TRUSTED_EVENTS))
164
+ __param(5, Inject(TUI_TAKE_ONLY_TRUSTED_EVENTS)),
165
+ __param(6, Inject(TUI_BUTTON_OPTIONS))
154
166
  ], TuiButtonComponent);
155
167
  return TuiButtonComponent;
156
168
  }(AbstractTuiInteractive));
@@ -178,5 +190,5 @@ var TuiButtonModule = /** @class */ (function () {
178
190
  * Generated bundle index. Do not edit.
179
191
  */
180
192
 
181
- export { TuiButtonComponent, TuiButtonModule };
193
+ export { TUI_BUTTON_DEFAULT_OPTIONS, TUI_BUTTON_OPTIONS, TuiButtonComponent, TuiButtonModule };
182
194
  //# sourceMappingURL=taiga-ui-core-components-button.js.map