@taiga-ui/core 2.38.0 → 2.41.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 (403) hide show
  1. package/bundles/{taiga-ui-core-modules-notifications.umd.js → taiga-ui-core-components-alert.umd.js} +94 -136
  2. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -0
  3. package/bundles/taiga-ui-core-components-alert.umd.min.js +16 -0
  4. package/bundles/taiga-ui-core-components-alert.umd.min.js.map +1 -0
  5. package/bundles/taiga-ui-core-components-button.umd.js +1 -1
  6. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-button.umd.min.js +1 -1
  8. package/bundles/taiga-ui-core-components-button.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-data-list.umd.js +2 -2
  10. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-data-list.umd.min.js +2 -2
  12. package/bundles/taiga-ui-core-components-data-list.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-dialog.umd.js +1 -1
  14. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-dialog.umd.min.js +1 -1
  16. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-dropdown-box.umd.js +1 -1
  18. package/bundles/taiga-ui-core-components-dropdown-box.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js +1 -1
  20. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-core-components-expand.umd.js +1 -1
  22. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  23. package/bundles/taiga-ui-core-components-expand.umd.min.js +1 -1
  24. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-core-components-group.umd.js +1 -0
  26. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  27. package/bundles/taiga-ui-core-components-group.umd.min.js +1 -1
  28. package/bundles/taiga-ui-core-components-group.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-core-components-hints-host.umd.js +18 -3
  30. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  31. package/bundles/taiga-ui-core-components-hints-host.umd.min.js +2 -2
  32. package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +1 -1
  34. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  35. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js +1 -1
  36. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-core-components-label.umd.js +1 -1
  38. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  39. package/bundles/taiga-ui-core-components-label.umd.min.js +1 -1
  40. package/bundles/taiga-ui-core-components-label.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +1 -1
  42. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  43. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js +1 -1
  44. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +1 -1
  46. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  47. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js +1 -1
  48. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +5 -5
  50. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  51. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +1 -1
  52. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  53. package/bundles/taiga-ui-core-components-root.umd.js +14 -18
  54. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  55. package/bundles/taiga-ui-core-components-root.umd.min.js +2 -2
  56. package/bundles/taiga-ui-core-components-root.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +1 -1
  58. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  59. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js +1 -1
  60. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-core-components.umd.js +12 -4
  62. package/bundles/taiga-ui-core-components.umd.js.map +1 -1
  63. package/bundles/taiga-ui-core-components.umd.min.js +1 -1
  64. package/bundles/taiga-ui-core-constants.umd.js +3 -1
  65. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  66. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  67. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  68. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js.map +1 -1
  69. package/bundles/taiga-ui-core-directives-mask-accessor.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js +1 -1
  71. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js.map +1 -1
  72. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.min.js +1 -1
  73. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.min.js.map +1 -1
  74. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
  75. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.min.js.map +1 -1
  76. package/bundles/taiga-ui-core-pipes-format-number.umd.js +4 -2
  77. package/bundles/taiga-ui-core-pipes-format-number.umd.js.map +1 -1
  78. package/bundles/taiga-ui-core-pipes-format-number.umd.min.js +1 -1
  79. package/bundles/taiga-ui-core-pipes-format-number.umd.min.js.map +1 -1
  80. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  81. package/bundles/taiga-ui-core-services.umd.min.js.map +1 -1
  82. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  83. package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
  84. package/bundles/taiga-ui-core-utils-format.umd.js +14 -8
  85. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  86. package/bundles/taiga-ui-core-utils-format.umd.min.js +1 -1
  87. package/bundles/taiga-ui-core-utils-format.umd.min.js.map +1 -1
  88. package/bundles/taiga-ui-core-utils-mask.umd.js +3 -2
  89. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  90. package/bundles/taiga-ui-core-utils-mask.umd.min.js +1 -1
  91. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  92. package/bundles/taiga-ui-core.umd.js +4 -12
  93. package/bundles/taiga-ui-core.umd.js.map +1 -1
  94. package/bundles/taiga-ui-core.umd.min.js +1 -1
  95. package/components/alert/alert.component.d.ts +35 -0
  96. package/components/alert/alert.module.d.ts +4 -0
  97. package/components/alert/alert.service.d.ts +18 -0
  98. package/components/alert/index.d.ts +3 -0
  99. package/components/alert/package.json +13 -0
  100. package/{modules/notifications/taiga-ui-core-modules-notifications.d.ts → components/alert/taiga-ui-core-components-alert.d.ts} +0 -0
  101. package/components/alert/taiga-ui-core-components-alert.metadata.json +1 -0
  102. package/components/button/taiga-ui-core-components-button.metadata.json +1 -1
  103. package/components/data-list/data-list.component.d.ts +1 -1
  104. package/components/data-list/taiga-ui-core-components-data-list.metadata.json +1 -1
  105. package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
  106. package/components/dropdown-box/taiga-ui-core-components-dropdown-box.metadata.json +1 -1
  107. package/components/expand/taiga-ui-core-components-expand.metadata.json +1 -1
  108. package/components/group/taiga-ui-core-components-group.metadata.json +1 -1
  109. package/components/hints-host/taiga-ui-core-components-hints-host.metadata.json +1 -1
  110. package/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.metadata.json +1 -1
  111. package/components/index.d.ts +1 -0
  112. package/components/label/taiga-ui-core-components-label.metadata.json +1 -1
  113. package/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.metadata.json +1 -1
  114. package/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.metadata.json +1 -1
  115. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
  116. package/components/root/root.component.d.ts +3 -4
  117. package/components/root/taiga-ui-core-components-root.metadata.json +1 -1
  118. package/components/scroll-controls/taiga-ui-core-components-scroll-controls.metadata.json +1 -1
  119. package/components/taiga-ui-core-components.metadata.json +1 -1
  120. package/constants/decimal-symbols.d.ts +1 -1
  121. package/constants/regexp.d.ts +1 -0
  122. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  123. package/constants/version.d.ts +1 -1
  124. package/directives/mask-accessor/mask-accessor.directive.d.ts +1 -1
  125. package/esm2015/components/alert/alert.component.js +89 -0
  126. package/esm2015/components/alert/alert.module.js +29 -0
  127. package/esm2015/components/alert/alert.service.js +49 -0
  128. package/esm2015/components/alert/index.js +4 -0
  129. package/esm2015/components/alert/taiga-ui-core-components-alert.js +5 -0
  130. package/esm2015/components/button/button.component.js +2 -2
  131. package/esm2015/components/data-list/data-list-dropdown-manager.directive.js +1 -1
  132. package/esm2015/components/data-list/data-list.component.js +2 -2
  133. package/esm2015/components/data-list/option/option.component.js +2 -2
  134. package/esm2015/components/dialog/dialog.component.js +2 -2
  135. package/esm2015/components/dropdown-box/dropdown-box.component.js +2 -2
  136. package/esm2015/components/expand/expand.component.js +2 -2
  137. package/esm2015/components/group/group.module.js +2 -1
  138. package/esm2015/components/hints-host/hint-box/hint-box.component.js +18 -3
  139. package/esm2015/components/hints-host/hints-host.component.js +2 -2
  140. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +2 -2
  141. package/esm2015/components/index.js +2 -1
  142. package/esm2015/components/label/label.component.js +2 -2
  143. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +2 -2
  144. package/esm2015/components/primitive-checkbox/primitive-checkbox.component.js +2 -2
  145. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +3 -3
  146. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +1 -1
  147. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +3 -3
  148. package/esm2015/components/root/root.component.js +11 -17
  149. package/esm2015/components/root/root.module.js +3 -2
  150. package/esm2015/components/scroll-controls/scroll-controls.component.js +2 -2
  151. package/esm2015/constants/decimal-symbols.js +1 -1
  152. package/esm2015/constants/regexp.js +2 -1
  153. package/esm2015/constants/version.js +2 -2
  154. package/esm2015/directives/mask-accessor/mask-accessor.directive.js +1 -1
  155. package/esm2015/index.js +1 -2
  156. package/esm2015/interfaces/alert-options.js +1 -0
  157. package/esm2015/interfaces/data-list-accessor.js +1 -1
  158. package/esm2015/interfaces/index.js +1 -1
  159. package/esm2015/interfaces/notification-options.js +1 -1
  160. package/esm2015/internal/svg-defs-host/svg-defs-host.component.js +2 -2
  161. package/esm2015/pipes/calendar-sheet/calendar-sheet.pipe.js +1 -1
  162. package/esm2015/pipes/format-number/format-number.pipe.js +4 -3
  163. package/esm2015/services/hint.service.js +1 -1
  164. package/esm2015/tokens/notification-options.js +1 -1
  165. package/esm2015/types/direction.js +1 -1
  166. package/esm2015/utils/format/capitalize-first-letter.js +4 -0
  167. package/esm2015/utils/format/format-number.js +10 -9
  168. package/esm2015/utils/format/index.js +2 -1
  169. package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +3 -3
  170. package/esm2015/utils/mask/create-number-mask.js +1 -1
  171. package/esm5/components/alert/alert.component.js +96 -0
  172. package/esm5/components/alert/alert.module.js +32 -0
  173. package/esm5/components/alert/alert.service.js +54 -0
  174. package/esm5/components/alert/index.js +4 -0
  175. package/esm5/components/alert/taiga-ui-core-components-alert.js +5 -0
  176. package/esm5/components/button/button.component.js +2 -2
  177. package/esm5/components/data-list/data-list-dropdown-manager.directive.js +1 -1
  178. package/esm5/components/data-list/data-list.component.js +2 -2
  179. package/esm5/components/data-list/option/option.component.js +2 -2
  180. package/esm5/components/dialog/dialog.component.js +2 -2
  181. package/esm5/components/dropdown-box/dropdown-box.component.js +2 -2
  182. package/esm5/components/expand/expand.component.js +2 -2
  183. package/esm5/components/group/group.module.js +2 -1
  184. package/esm5/components/hints-host/hint-box/hint-box.component.js +18 -3
  185. package/esm5/components/hints-host/hints-host.component.js +2 -2
  186. package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +2 -2
  187. package/esm5/components/index.js +2 -1
  188. package/esm5/components/label/label.component.js +2 -2
  189. package/esm5/components/primitive-calendar/primitive-calendar.component.js +2 -2
  190. package/esm5/components/primitive-checkbox/primitive-checkbox.component.js +2 -2
  191. package/esm5/components/primitive-textfield/primitive-textfield.component.js +3 -3
  192. package/esm5/components/primitive-textfield/textfield/textfield.component.js +1 -1
  193. package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +3 -3
  194. package/esm5/components/root/root.component.js +11 -17
  195. package/esm5/components/root/root.module.js +3 -2
  196. package/esm5/components/scroll-controls/scroll-controls.component.js +2 -2
  197. package/esm5/constants/decimal-symbols.js +1 -1
  198. package/esm5/constants/regexp.js +2 -1
  199. package/esm5/constants/version.js +2 -2
  200. package/esm5/directives/mask-accessor/mask-accessor.directive.js +1 -1
  201. package/esm5/index.js +1 -2
  202. package/esm5/interfaces/alert-options.js +1 -0
  203. package/esm5/interfaces/data-list-accessor.js +1 -1
  204. package/esm5/interfaces/index.js +1 -1
  205. package/esm5/interfaces/notification-options.js +1 -1
  206. package/esm5/internal/svg-defs-host/svg-defs-host.component.js +2 -2
  207. package/esm5/pipes/calendar-sheet/calendar-sheet.pipe.js +1 -1
  208. package/esm5/pipes/format-number/format-number.pipe.js +5 -3
  209. package/esm5/services/hint.service.js +1 -1
  210. package/esm5/tokens/notification-options.js +1 -1
  211. package/esm5/types/direction.js +1 -1
  212. package/esm5/utils/format/capitalize-first-letter.js +4 -0
  213. package/esm5/utils/format/format-number.js +10 -9
  214. package/esm5/utils/format/index.js +2 -1
  215. package/esm5/utils/mask/create-auto-corrected-money-pipe.js +4 -3
  216. package/esm5/utils/mask/create-number-mask.js +1 -1
  217. package/fesm2015/taiga-ui-core-components-alert.js +156 -0
  218. package/fesm2015/taiga-ui-core-components-alert.js.map +1 -0
  219. package/fesm2015/taiga-ui-core-components-button.js +1 -1
  220. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  221. package/fesm2015/taiga-ui-core-components-data-list.js +2 -2
  222. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  223. package/fesm2015/taiga-ui-core-components-dialog.js +1 -1
  224. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  225. package/fesm2015/taiga-ui-core-components-dropdown-box.js +1 -1
  226. package/fesm2015/taiga-ui-core-components-dropdown-box.js.map +1 -1
  227. package/fesm2015/taiga-ui-core-components-expand.js +1 -1
  228. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  229. package/fesm2015/taiga-ui-core-components-group.js +1 -0
  230. package/fesm2015/taiga-ui-core-components-group.js.map +1 -1
  231. package/fesm2015/taiga-ui-core-components-hints-host.js +18 -3
  232. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  233. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +1 -1
  234. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  235. package/fesm2015/taiga-ui-core-components-label.js +1 -1
  236. package/fesm2015/taiga-ui-core-components-label.js.map +1 -1
  237. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +1 -1
  238. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  239. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +1 -1
  240. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  241. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +5 -5
  242. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  243. package/fesm2015/taiga-ui-core-components-root.js +12 -17
  244. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  245. package/fesm2015/taiga-ui-core-components-scroll-controls.js +1 -1
  246. package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
  247. package/fesm2015/taiga-ui-core-components.js +1 -0
  248. package/fesm2015/taiga-ui-core-components.js.map +1 -1
  249. package/fesm2015/taiga-ui-core-constants.js +3 -2
  250. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  251. package/fesm2015/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  252. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js +1 -1
  253. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  254. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  255. package/fesm2015/taiga-ui-core-pipes-format-number.js +3 -2
  256. package/fesm2015/taiga-ui-core-pipes-format-number.js.map +1 -1
  257. package/fesm2015/taiga-ui-core-services.js.map +1 -1
  258. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  259. package/fesm2015/taiga-ui-core-utils-format.js +14 -9
  260. package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
  261. package/fesm2015/taiga-ui-core-utils-mask.js +2 -2
  262. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  263. package/fesm2015/taiga-ui-core.js +0 -1
  264. package/fesm2015/taiga-ui-core.js.map +1 -1
  265. package/fesm5/taiga-ui-core-components-alert.js +171 -0
  266. package/fesm5/taiga-ui-core-components-alert.js.map +1 -0
  267. package/fesm5/taiga-ui-core-components-button.js +1 -1
  268. package/fesm5/taiga-ui-core-components-button.js.map +1 -1
  269. package/fesm5/taiga-ui-core-components-data-list.js +2 -2
  270. package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
  271. package/fesm5/taiga-ui-core-components-dialog.js +1 -1
  272. package/fesm5/taiga-ui-core-components-dialog.js.map +1 -1
  273. package/fesm5/taiga-ui-core-components-dropdown-box.js +1 -1
  274. package/fesm5/taiga-ui-core-components-dropdown-box.js.map +1 -1
  275. package/fesm5/taiga-ui-core-components-expand.js +1 -1
  276. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  277. package/fesm5/taiga-ui-core-components-group.js +1 -0
  278. package/fesm5/taiga-ui-core-components-group.js.map +1 -1
  279. package/fesm5/taiga-ui-core-components-hints-host.js +18 -3
  280. package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
  281. package/fesm5/taiga-ui-core-components-hosted-dropdown.js +1 -1
  282. package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  283. package/fesm5/taiga-ui-core-components-label.js +1 -1
  284. package/fesm5/taiga-ui-core-components-label.js.map +1 -1
  285. package/fesm5/taiga-ui-core-components-primitive-calendar.js +1 -1
  286. package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  287. package/fesm5/taiga-ui-core-components-primitive-checkbox.js +1 -1
  288. package/fesm5/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  289. package/fesm5/taiga-ui-core-components-primitive-textfield.js +5 -5
  290. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  291. package/fesm5/taiga-ui-core-components-root.js +12 -17
  292. package/fesm5/taiga-ui-core-components-root.js.map +1 -1
  293. package/fesm5/taiga-ui-core-components-scroll-controls.js +1 -1
  294. package/fesm5/taiga-ui-core-components-scroll-controls.js.map +1 -1
  295. package/fesm5/taiga-ui-core-components.js +1 -0
  296. package/fesm5/taiga-ui-core-components.js.map +1 -1
  297. package/fesm5/taiga-ui-core-constants.js +3 -2
  298. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  299. package/fesm5/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  300. package/fesm5/taiga-ui-core-internal-svg-defs-host.js +1 -1
  301. package/fesm5/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  302. package/fesm5/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  303. package/fesm5/taiga-ui-core-pipes-format-number.js +4 -2
  304. package/fesm5/taiga-ui-core-pipes-format-number.js.map +1 -1
  305. package/fesm5/taiga-ui-core-services.js.map +1 -1
  306. package/fesm5/taiga-ui-core-tokens.js.map +1 -1
  307. package/fesm5/taiga-ui-core-utils-format.js +14 -9
  308. package/fesm5/taiga-ui-core-utils-format.js.map +1 -1
  309. package/fesm5/taiga-ui-core-utils-mask.js +3 -2
  310. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  311. package/fesm5/taiga-ui-core.js +0 -1
  312. package/fesm5/taiga-ui-core.js.map +1 -1
  313. package/index.d.ts +0 -1
  314. package/interfaces/alert-options.d.ts +12 -0
  315. package/interfaces/data-list-accessor.d.ts +1 -1
  316. package/interfaces/index.d.ts +1 -0
  317. package/interfaces/notification-options.d.ts +3 -0
  318. package/interfaces/taiga-ui-core-interfaces.metadata.json +1 -1
  319. package/internal/svg-defs-host/taiga-ui-core-internal-svg-defs-host.metadata.json +1 -1
  320. package/package.json +4 -4
  321. package/pipes/calendar-sheet/calendar-sheet.pipe.d.ts +1 -1
  322. package/pipes/format-number/format-number.pipe.d.ts +2 -1
  323. package/services/hint.service.d.ts +1 -1
  324. package/styles/markup/tui-group.less +1 -1
  325. package/styles/mixins/mixins.less +1 -0
  326. package/styles/mixins/slider.less +17 -0
  327. package/styles/taiga-ui-global-old.less +18 -18
  328. package/styles/taiga-ui-global.less +18 -18
  329. package/styles/taiga-ui-local-old.less +5 -5
  330. package/styles/taiga-ui-local.less +7 -7
  331. package/styles/taiga-ui-local.scss +7 -7
  332. package/styles/taiga-ui-theme.less +4 -4
  333. package/styles/theme/dialog.less +1 -1
  334. package/styles/theme/wrapper/accent.less +1 -1
  335. package/styles/theme/wrapper/base.less +1 -1
  336. package/styles/theme/wrapper/icon.less +1 -1
  337. package/styles/theme/wrapper/none.less +6 -0
  338. package/styles/theme/wrapper/outline.less +1 -1
  339. package/styles/theme/wrapper/primary.less +1 -1
  340. package/styles/theme/wrapper/secondary.less +1 -1
  341. package/styles/theme/wrapper/table.less +1 -1
  342. package/styles/theme/wrapper/textfield.less +2 -2
  343. package/styles/theme/wrapper/whiteblock.less +2 -2
  344. package/styles/theme/wrapper.less +10 -10
  345. package/taiga-ui-core.metadata.json +1 -1
  346. package/tokens/notification-options.d.ts +2 -10
  347. package/tokens/taiga-ui-core-tokens.metadata.json +1 -1
  348. package/types/direction.d.ts +1 -1
  349. package/utils/format/capitalize-first-letter.d.ts +1 -0
  350. package/utils/format/index.d.ts +1 -0
  351. package/utils/format/taiga-ui-core-utils-format.metadata.json +1 -1
  352. package/utils/mask/create-auto-corrected-money-pipe.d.ts +1 -1
  353. package/bundles/taiga-ui-core-modules-notifications.umd.js.map +0 -1
  354. package/bundles/taiga-ui-core-modules-notifications.umd.min.js +0 -16
  355. package/bundles/taiga-ui-core-modules-notifications.umd.min.js.map +0 -1
  356. package/bundles/taiga-ui-core-modules.umd.js +0 -23
  357. package/bundles/taiga-ui-core-modules.umd.js.map +0 -1
  358. package/bundles/taiga-ui-core-modules.umd.min.js +0 -2
  359. package/bundles/taiga-ui-core-modules.umd.min.js.map +0 -1
  360. package/esm2015/modules/index.js +0 -2
  361. package/esm2015/modules/notifications/index.js +0 -7
  362. package/esm2015/modules/notifications/notification-alert/Notification-alert.js +0 -22
  363. package/esm2015/modules/notifications/notification-alert/notification-alert.component.js +0 -74
  364. package/esm2015/modules/notifications/notification-alert/notification-alert.module.js +0 -17
  365. package/esm2015/modules/notifications/notification-content-context.js +0 -1
  366. package/esm2015/modules/notifications/notifications-host/notifications-host.component.js +0 -35
  367. package/esm2015/modules/notifications/notifications.module.js +0 -26
  368. package/esm2015/modules/notifications/notifications.service.js +0 -38
  369. package/esm2015/modules/notifications/taiga-ui-core-modules-notifications.js +0 -5
  370. package/esm2015/modules/taiga-ui-core-modules.js +0 -5
  371. package/esm5/modules/index.js +0 -2
  372. package/esm5/modules/notifications/index.js +0 -7
  373. package/esm5/modules/notifications/notification-alert/Notification-alert.js +0 -24
  374. package/esm5/modules/notifications/notification-alert/notification-alert.component.js +0 -81
  375. package/esm5/modules/notifications/notification-alert/notification-alert.module.js +0 -20
  376. package/esm5/modules/notifications/notification-content-context.js +0 -1
  377. package/esm5/modules/notifications/notifications-host/notifications-host.component.js +0 -36
  378. package/esm5/modules/notifications/notifications.module.js +0 -29
  379. package/esm5/modules/notifications/notifications.service.js +0 -41
  380. package/esm5/modules/notifications/taiga-ui-core-modules-notifications.js +0 -5
  381. package/esm5/modules/taiga-ui-core-modules.js +0 -5
  382. package/fesm2015/taiga-ui-core-modules-notifications.js +0 -192
  383. package/fesm2015/taiga-ui-core-modules-notifications.js.map +0 -1
  384. package/fesm2015/taiga-ui-core-modules.js +0 -6
  385. package/fesm2015/taiga-ui-core-modules.js.map +0 -1
  386. package/fesm5/taiga-ui-core-modules-notifications.js +0 -210
  387. package/fesm5/taiga-ui-core-modules-notifications.js.map +0 -1
  388. package/fesm5/taiga-ui-core-modules.js +0 -6
  389. package/fesm5/taiga-ui-core-modules.js.map +0 -1
  390. package/modules/index.d.ts +0 -1
  391. package/modules/notifications/index.d.ts +0 -7
  392. package/modules/notifications/notification-alert/Notification-alert.d.ts +0 -19
  393. package/modules/notifications/notification-alert/notification-alert.component.d.ts +0 -17
  394. package/modules/notifications/notification-alert/notification-alert.module.d.ts +0 -2
  395. package/modules/notifications/notification-content-context.d.ts +0 -10
  396. package/modules/notifications/notifications-host/notifications-host.component.d.ts +0 -9
  397. package/modules/notifications/notifications.module.d.ts +0 -4
  398. package/modules/notifications/notifications.service.d.ts +0 -15
  399. package/modules/notifications/package.json +0 -13
  400. package/modules/notifications/taiga-ui-core-modules-notifications.metadata.json +0 -1
  401. package/modules/package.json +0 -13
  402. package/modules/taiga-ui-core-modules.d.ts +0 -4
  403. package/modules/taiga-ui-core-modules.metadata.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-utils-mask.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","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/enable-auto-correct-decimal-symbol.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"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","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 | null,\n allowNegative?: boolean,\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 // Removing everything by selecting and pressing '-'\n if (!conformedValue && config.rawValue === '-' && allowNegative) {\n return '-';\n }\n\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.includes(decimalSymbol) ? 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 */\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","import {TUI_DECIMAL_SYMBOLS} from '@taiga-ui/core/constants';\nimport {NumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport function tuiEnableAutoCorrectDecimalSymbol({\n thousandSeparator,\n}: NumberFormatSettings): boolean {\n return !TUI_DECIMAL_SYMBOLS.includes(thousandSeparator);\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"],"names":["tuiAssert","isSafari","isNativeFocused","getDocumentOrShadowRoot","MASK_CARET_TRAP","CHAR_EN_DASH","TUI_DIGIT_REGEXP","TUI_NON_DIGITS_REGEXP","otherDecimalSymbol","TUI_DECIMAL_SYMBOLS"],"mappings":";;;;;;IAAA;IACA;AACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;AACF;IACO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;AACD;IACO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;AACD;IACO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;AACD;IACO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;AACD;IACO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;AACD;IACO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;AACD;IACO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAChH,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACtH,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;AACD;IACO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;AACD;IACO,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;IAC7C,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACD;IACO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;AACD;IACO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClF,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,OAAO;IAClD,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,IAAI,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;AACD;IACO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;AACD;IACO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;AACD;IACO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;AACF;IACO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;AACD;IACO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;AACD;IACO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;AACD;IACO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;AACD;IACO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACF;IACO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;AACD;IACO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;AACD;IACO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE;IAC7D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;IACnC,QAAQ,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC9E,KAAK;IACL,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;AACD;IACO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE;IACpE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;IACnC,QAAQ,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC9E,KAAK;IACL,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpC,IAAI,OAAO,KAAK,CAAC;IACjB;;IC/MA;;;aAGgB,gCAAgC,CAC5C,YAAwB,EACxB,aAAqC,EACrC,cAA4C,EAC5C,WAAqC,EACrC,aAAuB;QAJvB,6BAAA,EAAA,gBAAwB;QACxB,8BAAA,EAAA,mBAAqC;QACrC,+BAAA,EAAA,wCAA4C;QAI5CA,aAAS,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QACjDA,aAAS,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;;QAGpC,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;QAEvB,IAAM,OAAO,GAAG,CAAC,CAAC,WAAW,IAAIC,YAAQ,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,WAAW,IAAI,OAAO,EAAE;YACxB,WAAW,CAAC,gBAAgB,CAAC,aAAa,EAAE;gBACxC,aAAa,GAAG,WAAW,CAAC,cAAc,IAAI,CAAC,CAAC;aACnD,CAAC,CAAC;SACN;QAED,OAAO,UAAC,cAAc,EAAE,MAAM;;YAE1B,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,KAAK,GAAG,IAAI,aAAa,EAAE;gBAC7D,OAAO,GAAG,CAAC;aACd;;YAGD,IAAI,WAAW,IAAI,OAAO,IAAIC,mBAAe,CAAC,WAAW,CAAC,EAAE;gBACxD,IAAM,OAAK,GAAG,oBAAoB,CAC9B,MAAM,CAAC,sBAAsB,EAC7B,cAAc,EACd,aAAa,CAChB,CAAC;gBAEF,UAAU,CAAC;oBACP,WAAW,CAAC,iBAAiB,CAAC,OAAK,EAAE,OAAK,CAAC,CAAC;iBAC/C,CAAC,CAAC;aACN;YAED,IACI,WAAW;gBACX,WAAW,CAAC,aAAa,KAAKC,2BAAuB,CAAC,WAAW,CAAC;gBAClED,mBAAe,CAAC,WAAW,CAAC;gBAC5B,MAAM,CAAC,oBAAoB,EAC7B;gBACE,IAAM,mBAAiB,GACnB,MAAM,CAAC,oBAAoB;oBAC3B,iBAAiB,CACb,MAAM,CAAC,sBAAsB,EAC7B,cAAc,EACd,cAAc,CACjB,CAAC;gBAEN,UAAU,CAAC;oBACP,WAAW,CAAC,iBAAiB,CAAC,mBAAiB,EAAE,mBAAiB,CAAC,CAAC;iBACvE,CAAC,CAAC;aACN;YAED,IAAI,cAAc,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE;gBACxC,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,CAAC;aAClC;YAED,IAAM,iBAAiB,GAAG,wBAAwB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YAClF,IAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAM,eAAe,GAAG,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC;YAE1D,OAAO;gBACH,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC;aACzD,CAAC;SACL,CAAC;IACN,CAAC;IAED,SAAS,wBAAwB,CAC7B,KAAa,EACb,aAAqC;QAArC,8BAAA,EAAA,mBAAqC;QAErC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,KAAK,GAAG,aAAa,GAAG,KAAK,CAAC;IAC1E,CAAC;IAED,SAAS,oBAAoB,CACzB,aAA0B,EAC1B,OAAe,EACf,aAAqB,EACrB,aAA2B;QAH3B,8BAAA,EAAA,kBAA0B;QAG1B,8BAAA,EAAA,mBAA2B;QAE3B,IAAM,SAAS,GAAG,IAAI,MAAM,CAAI,aAAa,OAAI,CAAC,CAAC;QACnD,IAAM,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACjE,IAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAE1D,IAAM,mBAAmB,GACrB,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEzE,IAAI,mBAAmB,EAAE;YACrB,OAAO,OAAO,CAAC,MAAM,CAAC;SACzB;QAED,IAAI,aAAa,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE;YACzC,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,EAAE;gBACvD,OAAO,yBAAyB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;aAC5D;YAED,OAAO,mBAAmB,KAAK,kBAAkB;kBAC3C,aAAa,GAAG,CAAC;kBACjB,aAAa,GAAG,CAAC,CAAC;SAC3B;QAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,OAAO,CAAC,CAAC;SACZ;QAED,IAAM,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;QAE3D,OAAO,aAAa,GAAG,YAAY,CAAC;IACxC,CAAC;IAED,SAAS,yBAAyB,CAAC,QAAgB,EAAE,OAAe;QAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC5B,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACzC;SACJ;QAED,OAAO,OAAO,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,SAAS,iBAAiB,CACtB,aAA0B,EAC1B,OAAe,EACf,cAAsB;QAFtB,8BAAA,EAAA,kBAA0B;QAI1B,IAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEhF,IAAI,mBAAmB,EAAE;YACrB,OAAO,CAAC,CAAC;SACZ;QAED,IAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;QAC9D,IAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;QAEvD,OAAO,SAAS,GAAG,UAAU,CAAC;IAClC;;IClJA,IAAM,SAAS,GAAG,qDAAqD,CAAC;aAExD,uBAAuB,CACnC,OAAe,EACf,iBAA+C;QAE/C,OAAO,UAAA,QAAQ;YACX,IAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAkB,UAAC,MAAM,EAAE,IAAI,EAAE,KAAK;gBACxE,IAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAEjDF,aAAS,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;gBAE1E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;oBACnC,OAAO,MAAM,CAAC;iBACjB;gBAED,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACpB,gBAAW,MAAM,GAAE,OAAO,GAAE;iBAC/B;gBAED,IAAI,SAAS,EAAE;oBACX,gBAAW,MAAM,GAAE,SAAS,EAAEI,yBAAe,GAAE;iBAClD;gBAED,OAAO,MAAM,CAAC;aACjB,EAAE,EAAE,CAAC,CAAC;YACP,IAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAACA,yBAAe,CAAC,CAAC;YACpD,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CACxB,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,IAAI,KAAKA,yBAAe,IAAI,KAAK,KAAK,SAAS,GAAA,CACnE,CAAC;YAEF,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,OAAO,GAAA,CAAC;2BACpC,QAAQ,GAAE,OAAO,KACrB,QAAQ,CAAC;SAClB,CAAC;IACN;;IChCA,IAAM,cAAc,GAAG,OAAO,CAAC;IAE/B;;;aAGgB,mBAAmB,CAAC,EASR;YATQ,4BASR,EARxB,oBAAoB,EAApB,yCAAoB,EACpB,qBAAmB,EAAnB,wCAAmB,EACnB,sBAAoC,EAApC,6DAAoC,EACpC,gCAA+B,EAA/B,oDAA+B,EAC/B,oBAAgB,EAAhB,qCAAgB,EAChB,sBAAsB,EAAtB,2CAAsB,EACtB,qBAAqB,EAArB,0CAAqB,EACrB,oBAAgB,EAAhB,qCAAgB;QAEhBJ,aAAS,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QACjDA,aAAS,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QACpCA,aAAS,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QACjDA,aAAS,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAEpC,OAAO,UAAC,QAAQ,EAAE,EAAwB;gBAAvB,kDAAsB;YACrC,IAAI,sBAAsB,IAAI,cAAc,EAAE;gBAC1C,IAAM,yBAAyB,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1E,IAAM,sDAAsD,GACxD,sBAAsB;qBACjB,KAAK,CAAC,cAAc,CAAC;qBACrB,IAAI,CAAC,EAAE,CAAC;qBACR,KAAK,CAAC,aAAa,CAAC;qBACpB,IAAI,CAAC,EAAE,CAAC,CAAC;;gBAGlB,IACI,yBAAyB;oBACzB,sDAAsD,EACxD;oBACE,QAAQ,GAAG,sBAAsB,CAAC;iBACrC;aACJ;YAED,IAAM,UAAU,GACZ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAKK,gBAAY,KAAK,aAAa,CAAC;YAE3E,IACI,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,wBAAwB,CAAC;gBAClE,YAAY,EACd;gBACE,OAAO,CAAC,GAAG,EAAE,aAAa,EAAEC,0BAAgB,CAAC,CAAC;aACjD;YAED,IAAI,UAAU,EAAE;gBACZ,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACjC;YAED,IAAM,YAAY,GAAG,qBAAqB,CACtC,QAAQ,EACR,aAAa,EACb,wBAAwB,CAC3B,CAAC;YACF,IAAM,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC;YACvC,IAAM,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC;YACxE,IAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAChF,IAAM,aAAa,GAAG,YAAY;kBAC5B,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC;kBAC1D,OAAO,CAAC;YACd,IAAM,kBAAkB,GAAG,aAAa,CAAC,OAAO,CAACC,+BAAqB,EAAE,EAAE,CAAC,CAAC;YACtE,IAAA,qFAEG,EAFF,yBAEE,CAAC;YACV,IAAM,kBAAkB,GAAG,iBAAiB,CAAC,MAAM,CAAC;YACpD,IAAM,uBAAuB,GAAG,kBAAkB;iBAC7C,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;iBAC1B,IAAI,EAAE,CAAC;YACZ,IAAM,aAAa,GAAG,qBAAqB,CACvC,uBAAuB,EACvB,cAAc,CACjB,CAAC;YACF,IAAM,IAAI,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;YAE1C,IAAI,CAAC,UAAU,IAAI,YAAY,KAAK,cAAc,EAAE;gBAChD,IAAM,QAAQ,GAAG,UAAU;sBACrB,aAAa,CACT,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,CAACA,+BAAqB,EAAE,EAAE,CAAC,CACtE;sBACD,EAAE,CAAC;gBACT,IAAM,cAAc,GAAG,YAAY;sBAC7B,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC;sBAC/B,QAAQ,CAAC;gBAEf,IAAI,QAAQ,CAAC,YAAY,CAAC,KAAKC,yBAAkB,CAAC,aAAa,CAAC,EAAE;oBAC9D,IAAI,CAAC,IAAI,CAACJ,yBAAe,CAAC,CAAC;iBAC9B;gBAED,IAAI,CAAC,IAAI,OAAT,IAAI,YAAM,aAAa,EAAEA,yBAAe,GAAK,cAAc,GAAE;gBAE7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3D,IAAI,CAAC,IAAI,CAACE,0BAAgB,CAAC,CAAC;iBAC/B;aACJ;YAED,IAAM,eAAe,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,uBAAuB,KAAK,GAAG,CAAC;YAE7E,IAAI,UAAU,EAAE;gBACZ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnB,IAAI,CAAC,IAAI,CAACA,0BAAgB,CAAC,CAAC;iBAC/B;gBAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;aACrB;YAED,OAAO,oBAAoB,CAAC,IAAI,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;SAC1E,CAAC;IACN,CAAC;IAED,SAAS,oBAAoB,CACzB,IAA4B,EAC5B,eAAgC,EAChC,kBAA8B;QAD9B,gCAAA,EAAA,uBAAgC;QAChC,mCAAA,EAAA,sBAA8B;QAE9B,IAAI,eAAe,IAAI,kBAAkB,KAAK,CAAC,EAAE;YAC7C,OAAO,IAAI,CAAC;SACf;QAED,IAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAACA,0BAAgB,CAAC,CAAC;QAEvD,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC;SACf;QAED,IAAM,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QAClD,IAAM,WAAW,GAAG,eAAe,KAAKF,yBAAe,CAAC;QAExD,IAAI,WAAW,IAAI,kBAAkB,KAAK,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC;SACf;aAAM,IAAI,WAAW,EAAE;YACpB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAE7B,OAAO,IAAI,CAAC;SACf;QAED,IAAI,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC;QAEvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,SAAS,qBAAqB,CAC1B,GAAW,EACX,aAA+B,EAC/B,wBAAiC;QAEjC,IAAI,CAAC,wBAAwB,EAAE;YAC3B,OAAO,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;SACzC;QAED,OAAO,IAAI,CAAC,GAAG,CACX,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,EAC9B,GAAG,CAAC,WAAW,CAACI,yBAAkB,CAAC,aAAa,CAAC,CAAC,CACrD,CAAC;IACN,CAAC;IAED,SAAS,eAAe,CACpB,GAAW,EACX,aAA+B,EAC/B,wBAAiC;QAEjC,IAAI,wBAAwB,EAAE;YAC1B,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC7B;QAED,OAAO,GAAG,KAAK,aAAa,CAAC;IACjC,CAAC;IAED,SAAS,aAAa,CAAC,SAAiB;QACpC,OAAO,SAAS;aACX,KAAK,CAAC,EAAE,CAAC;aACT,GAAG,CAAC,UAAA,IAAI,IAAI,QAACF,0BAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAGA,0BAAgB,GAAG,IAAI,IAAC,CAAC,CAAC;IAC9E,CAAC;IAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,cAAsB;QACpE,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC;cACrB,SAAS,CAAC,OAAO,CAAC,uBAAuB,EAAE,cAAc,CAAC;cAC1D,SAAS,CAAC;IACpB;;aC7LgB,iCAAiC,CAAC,EAE3B;YADnB,wCAAiB;QAEjB,OAAO,CAACG,6BAAmB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC5D;;aCPgB,uBAAuB,CAAC,KAAa;QACjD,QAAQ,KAAK;YACT,KAAK,EAAE,CAAC;YACR,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,IAAI;gBACL,OAAO,IAAI,CAAC;YAChB;gBACI,OAAO,KAAK,CAAC;SACpB;IACL;;aCRgB,0BAA0B,CACtC,KAAa,EACb,cAAgC,EAChC,cAAsB;QAEtB,OAAO,UAAU,CACb,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACvE,CAAC;IACN;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-utils-mask.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","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/enable-auto-correct-decimal-symbol.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"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","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 | null,\n allowNegative?: boolean,\n isIOS = false,\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 const unlucky = (!!nativeInput && isSafari(nativeInput)) || isIOS;\n\n if (nativeInput && unlucky) {\n nativeInput.addEventListener('beforeinput', () => {\n previousCaret = nativeInput.selectionStart || 0;\n });\n }\n\n return (conformedValue, config) => {\n // Removing everything by selecting and pressing '-'\n if (!conformedValue && config.rawValue === '-' && allowNegative) {\n return '-';\n }\n\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.includes(decimalSymbol) ? 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 */\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: (string | RegExp)[],\n isOnlyZeroDigit: boolean = false,\n leadingZerosAmount: number = 0,\n): (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): (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","import {TUI_DECIMAL_SYMBOLS} from '@taiga-ui/core/constants';\nimport {NumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport function tuiEnableAutoCorrectDecimalSymbol({\n thousandSeparator,\n}: NumberFormatSettings): boolean {\n return !TUI_DECIMAL_SYMBOLS.includes(thousandSeparator);\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"],"names":["tuiAssert","isSafari","isNativeFocused","getDocumentOrShadowRoot","MASK_CARET_TRAP","CHAR_EN_DASH","TUI_DIGIT_REGEXP","TUI_NON_DIGITS_REGEXP","otherDecimalSymbol","TUI_DECIMAL_SYMBOLS"],"mappings":"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"}
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */function n(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,n,u=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(i=u.next()).done;)a.push(i.value)}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}return a}function u(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(n(arguments[t]));return e}var a=/[1-9]/;function o(e){return e.split("").map((function(e){return r.TUI_DIGIT_REGEXP.test(e)?r.TUI_DIGIT_REGEXP:e}))}e.maskedMoneyValueIsEmpty=function(e){switch(e){case"":case"-":case",":case"-,":return!0;default:return!1}},e.maskedNumberStringToNumber=function(e,t,r){return parseFloat(e.split(r).join("").split(t).join("."))},e.tuiCreateAutoCorrectedNumberPipe=function(e,r,i,n,u){void 0===e&&(e=0),void 0===r&&(r=","),void 0===i&&(i=t.CHAR_NO_BREAK_SPACE),t.tuiAssert.assert(Number.isInteger(e)),t.tuiAssert.assert(e>=0);var a=-1,o=!!n&&t.isSafari(n);return n&&o&&n.addEventListener("beforeinput",(function(){a=n.selectionStart||0})),function(s,l){if(!s&&"-"===l.rawValue&&u)return"-";if(n&&o&&t.isNativeFocused(n)){var c=function(e,t,r,i){void 0===e&&(e="");void 0===i&&(i=",");var n=new RegExp(i+".+"),u=e.replace(n,""),a=t.replace(n,"");if(Math.abs(u.length-a.length)>2)return t.length;if(e.length===t.length)return e.indexOf(i)<=r?function(e,t){for(var r=0;r<t.length;r++)if(e[r]!==t[r])return"0"===t[r]?r:r+1;return t.length}(e,t):u===a?r-1:r+1;if(0===e.length)return 1;var o=t.length-e.length;return r+o}(l.previousConformedValue,s,a);setTimeout((function(){n.setSelectionRange(c,c)}))}if(n&&n.ownerDocument!==t.getDocumentOrShadowRoot(n)&&t.isNativeFocused(n)&&l.currentCaretPosition){var f=l.currentCaretPosition+function(e,t,r){void 0===e&&(e="");if(Math.abs(e.length-t.length)>2)return 0;var i=e.split(r).length;return t.split(r).length-i}(l.previousConformedValue,s,i);setTimeout((function(){n.setSelectionRange(f,f)}))}if(""===s||!e)return{value:s};var d=function(e,t){void 0===t&&(t=",");return e.includes(t)?e:e+t}(s,r),v=d.split(r)[1],g=e-v.length;return{value:d+"0".repeat(g)}}},e.tuiCreateCorrectionMask=function(e,i){return function(n){var a=n.split("").reduce((function(n,a,o){var s=i(a,o);return t.tuiAssert.assert(null===s||1===s.length,"Correction function must return single char or null"),e.test(a)||s?e.test(a)?u(n,[e]):s?u(n,[s,r.MASK_CARET_TRAP]):n:n}),[]),o=a.lastIndexOf(r.MASK_CARET_TRAP),s=a.filter((function(e,t){return e!==r.MASK_CARET_TRAP||t===o}));return s.some((function(t){return t!==e}))?u(s,[e]):s}},e.tuiCreateNumberMask=function(e){var s=void 0===e?{}:e,l=s.allowDecimal,c=void 0!==l&&l,f=s.decimalSymbol,d=void 0===f?",":f,v=s.thousandSymbol,g=void 0===v?t.CHAR_NO_BREAK_SPACE:v,m=s.autoCorrectDecimalSymbol,h=void 0===m||m,_=s.decimalLimit,p=void 0===_?2:_,E=s.requireDecimal,A=void 0!==E&&E,I=s.allowNegative,T=void 0!==I&&I,R=s.integerLimit,S=void 0===R?0:R;return t.tuiAssert.assert(Number.isInteger(p)),t.tuiAssert.assert(p>=0),t.tuiAssert.assert(Number.isInteger(S)),t.tuiAssert.assert(S>=0),function(e,s){var l=s.previousConformedValue;l&&A&&(e.split(g).join("")===l.split(g).join("").split(d).join("")&&(e=l));var f=("-"===e[0]||e[0]===t.CHAR_EN_DASH)&&T;if(function(e,t,r){if(r)return/^[,.]$/.test(e);return e===t}(e,d,h)&&c)return["0",d,r.TUI_DIGIT_REGEXP];f&&(e=e.substr(1));var v=function(e,t,r){if(!r)return e.lastIndexOf(t);return Math.max(e.lastIndexOf(t),e.lastIndexOf(i.otherDecimalSymbol(t)))}(e,d,h),m=-1!==v,_=m?e.slice(0,v):e,E=_.match(new RegExp(g,"g"))||[],I=(S?_.slice(0,S+E.length):_).replace(r.TUI_NON_DIGITS_REGEXP,""),R=n(I.match(r.TUI_LEADING_ZEROES_REGEXP)||[""],1)[0].length,C=I.replace(/^0+(?!\.|$)/,"").trim(),b=o(function(e,t){return e.length>3?e.replace(/\B(?=(\d{3})+(?!\d))/g,t):e}(C,g));if(m&&c||A){var P=m?o(e.slice(v+1).replace(r.TUI_NON_DIGITS_REGEXP,"")):[],y=p?P.slice(0,p):P;e[v]!==i.otherDecimalSymbol(d)&&b.push(r.MASK_CARET_TRAP),b.push.apply(b,u([d,r.MASK_CARET_TRAP],y));for(var D=0;D<p-y.length;D++)b.push(r.TUI_DIGIT_REGEXP)}var G=1===b.length&&"0"===C;return f&&(0===b.length&&b.push(r.TUI_DIGIT_REGEXP),b.unshift("-")),function(e,t,i){void 0===t&&(t=!1);void 0===i&&(i=0);if(t||0===i)return e;var n=e.indexOf(r.TUI_DIGIT_REGEXP);if(-1===n)return e;var u=e[n+1]===r.MASK_CARET_TRAP;if(u&&1===i)return e;if(u)return e.unshift(a),e;return e[n]=a,e}(b,G,R)}},e.tuiEnableAutoCorrectDecimalSymbol=function(e){var t=e.thousandSeparator;return!r.TUI_DECIMAL_SYMBOLS.includes(t)},Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */function n(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,n,u=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(i=u.next()).done;)o.push(i.value)}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}return o}function u(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(n(arguments[t]));return e}var o=/[1-9]/;function a(e){return e.split("").map((function(e){return r.TUI_DIGIT_REGEXP.test(e)?r.TUI_DIGIT_REGEXP:e}))}e.maskedMoneyValueIsEmpty=function(e){switch(e){case"":case"-":case",":case"-,":return!0;default:return!1}},e.maskedNumberStringToNumber=function(e,t,r){return parseFloat(e.split(r).join("").split(t).join("."))},e.tuiCreateAutoCorrectedNumberPipe=function(e,r,i,n,u,o){void 0===e&&(e=0),void 0===r&&(r=","),void 0===i&&(i=t.CHAR_NO_BREAK_SPACE),void 0===o&&(o=!1),t.tuiAssert.assert(Number.isInteger(e)),t.tuiAssert.assert(e>=0);var a=-1,s=!!n&&t.isSafari(n)||o;return n&&s&&n.addEventListener("beforeinput",(function(){a=n.selectionStart||0})),function(o,l){if(!o&&"-"===l.rawValue&&u)return"-";if(n&&s&&t.isNativeFocused(n)){var c=function(e,t,r,i){void 0===e&&(e="");void 0===i&&(i=",");var n=new RegExp(i+".+"),u=e.replace(n,""),o=t.replace(n,"");if(Math.abs(u.length-o.length)>2)return t.length;if(e.length===t.length)return e.indexOf(i)<=r?function(e,t){for(var r=0;r<t.length;r++)if(e[r]!==t[r])return"0"===t[r]?r:r+1;return t.length}(e,t):u===o?r-1:r+1;if(0===e.length)return 1;var a=t.length-e.length;return r+a}(l.previousConformedValue,o,a);setTimeout((function(){n.setSelectionRange(c,c)}))}if(n&&n.ownerDocument!==t.getDocumentOrShadowRoot(n)&&t.isNativeFocused(n)&&l.currentCaretPosition){var f=l.currentCaretPosition+function(e,t,r){void 0===e&&(e="");if(Math.abs(e.length-t.length)>2)return 0;var i=e.split(r).length;return t.split(r).length-i}(l.previousConformedValue,o,i);setTimeout((function(){n.setSelectionRange(f,f)}))}if(""===o||!e)return{value:o};var d=function(e,t){void 0===t&&(t=",");return e.includes(t)?e:e+t}(o,r),v=d.split(r)[1],g=e-v.length;return{value:d+"0".repeat(g)}}},e.tuiCreateCorrectionMask=function(e,i){return function(n){var o=n.split("").reduce((function(n,o,a){var s=i(o,a);return t.tuiAssert.assert(null===s||1===s.length,"Correction function must return single char or null"),e.test(o)||s?e.test(o)?u(n,[e]):s?u(n,[s,r.MASK_CARET_TRAP]):n:n}),[]),a=o.lastIndexOf(r.MASK_CARET_TRAP),s=o.filter((function(e,t){return e!==r.MASK_CARET_TRAP||t===a}));return s.some((function(t){return t!==e}))?u(s,[e]):s}},e.tuiCreateNumberMask=function(e){var s=void 0===e?{}:e,l=s.allowDecimal,c=void 0!==l&&l,f=s.decimalSymbol,d=void 0===f?",":f,v=s.thousandSymbol,g=void 0===v?t.CHAR_NO_BREAK_SPACE:v,m=s.autoCorrectDecimalSymbol,h=void 0===m||m,_=s.decimalLimit,p=void 0===_?2:_,E=s.requireDecimal,A=void 0!==E&&E,I=s.allowNegative,T=void 0!==I&&I,R=s.integerLimit,S=void 0===R?0:R;return t.tuiAssert.assert(Number.isInteger(p)),t.tuiAssert.assert(p>=0),t.tuiAssert.assert(Number.isInteger(S)),t.tuiAssert.assert(S>=0),function(e,s){var l=s.previousConformedValue;l&&A&&(e.split(g).join("")===l.split(g).join("").split(d).join("")&&(e=l));var f=("-"===e[0]||e[0]===t.CHAR_EN_DASH)&&T;if(function(e,t,r){if(r)return/^[,.]$/.test(e);return e===t}(e,d,h)&&c)return["0",d,r.TUI_DIGIT_REGEXP];f&&(e=e.substr(1));var v=function(e,t,r){if(!r)return e.lastIndexOf(t);return Math.max(e.lastIndexOf(t),e.lastIndexOf(i.otherDecimalSymbol(t)))}(e,d,h),m=-1!==v,_=m?e.slice(0,v):e,E=_.match(new RegExp(g,"g"))||[],I=(S?_.slice(0,S+E.length):_).replace(r.TUI_NON_DIGITS_REGEXP,""),R=n(I.match(r.TUI_LEADING_ZEROES_REGEXP)||[""],1)[0].length,C=I.replace(/^0+(?!\.|$)/,"").trim(),b=a(function(e,t){return e.length>3?e.replace(/\B(?=(\d{3})+(?!\d))/g,t):e}(C,g));if(m&&c||A){var P=m?a(e.slice(v+1).replace(r.TUI_NON_DIGITS_REGEXP,"")):[],y=p?P.slice(0,p):P;e[v]!==i.otherDecimalSymbol(d)&&b.push(r.MASK_CARET_TRAP),b.push.apply(b,u([d,r.MASK_CARET_TRAP],y));for(var D=0;D<p-y.length;D++)b.push(r.TUI_DIGIT_REGEXP)}var G=1===b.length&&"0"===C;return f&&(0===b.length&&b.push(r.TUI_DIGIT_REGEXP),b.unshift("-")),function(e,t,i){void 0===t&&(t=!1);void 0===i&&(i=0);if(t||0===i)return e;var n=e.indexOf(r.TUI_DIGIT_REGEXP);if(-1===n)return e;var u=e[n+1]===r.MASK_CARET_TRAP;if(u&&1===i)return e;if(u)return e.unshift(o),e;return e[n]=o,e}(b,G,R)}},e.tuiEnableAutoCorrectDecimalSymbol=function(e){var t=e.thousandSeparator;return!r.TUI_DECIMAL_SYMBOLS.includes(t)},Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=taiga-ui-core-utils-mask.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","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/create-auto-corrected-money-pipe.ts","ng://@taiga-ui/core/utils/mask/create-correction-mask.ts","ng://@taiga-ui/core/utils/mask/enable-auto-correct-decimal-symbol.ts"],"names":["__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","__spread","arguments","length","concat","NON_ZERO_DIGIT","convertToMask","strNumber","split","map","char","TUI_DIGIT_REGEXP","test","decimalsSymbol","thousandSymbol","parseFloat","join","decimalLimit","decimalSymbol","nativeInput","allowNegative","cdk","CHAR_NO_BREAK_SPACE","tuiAssert","assert","Number","isInteger","previousCaret","unlucky","isSafari","addEventListener","selectionStart","conformedValue","config","rawValue","isNativeFocused","caret_1","previousValue","current","tailRegex","RegExp","previousWithoutTail","replace","currentWithoutTail","Math","abs","indexOf","previous","calculateChangedTailIndex","changeLength","calculateSafariCaret","previousConformedValue","setTimeout","setSelectionRange","ownerDocument","getDocumentOrShadowRoot","currentCaretPosition","realCaretPosition_1","wereSpaces","calculateCaretGap","withDecimalSymbol","includes","addDecimalSymbolIfNeeded","decimalPart","zeroPaddingSize","repeat","allowed","correctionHandler","mask","reduce","result","index","corrected","MASK_CARET_TRAP","lastIndex","lastIndexOf","filtered","filter","item","some","_a","_b","_c","allowDecimal","_d","_e","_f","autoCorrectDecimalSymbol","_g","_h","requireDecimal","_j","_k","integerLimit","isNegative","CHAR_EN_DASH","str","isDecimalSymbol","substr","decimalIndex","max","otherDecimalSymbol","getDecimalSymbolIndex","hasDecimal","integer","slice","thousandSeparators","match","integerCappedClean","TUI_NON_DIGITS_REGEXP","leadingZerosAmount","constants","TUI_LEADING_ZEROES_REGEXP","integerCappedZerosClean","trim","addThousandsSeparator","fraction","fractionCapped","apply","isOnlyZeroDigit","unshift","firstDigitIndex","isCaretTrap","preventLeadingZeroes","thousandSeparator","TUI_DECIMAL_SYMBOLS"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\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 */\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","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 | null,\n allowNegative?: boolean,\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 // Removing everything by selecting and pressing '-'\n if (!conformedValue && config.rawValue === '-' && allowNegative) {\n return '-';\n }\n\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.includes(decimalSymbol) ? 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 {TUI_DECIMAL_SYMBOLS} from '@taiga-ui/core/constants';\nimport {NumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport function tuiEnableAutoCorrectDecimalSymbol({\n thousandSeparator,\n}: NumberFormatSettings): boolean {\n return !TUI_DECIMAL_SYMBOLS.includes(thousandSeparator);\n}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","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/create-auto-corrected-money-pipe.ts","ng://@taiga-ui/core/utils/mask/create-correction-mask.ts","ng://@taiga-ui/core/utils/mask/enable-auto-correct-decimal-symbol.ts"],"names":["__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","__spread","arguments","length","concat","NON_ZERO_DIGIT","convertToMask","strNumber","split","map","char","TUI_DIGIT_REGEXP","test","decimalsSymbol","thousandSymbol","parseFloat","join","decimalLimit","decimalSymbol","nativeInput","allowNegative","isIOS","cdk","CHAR_NO_BREAK_SPACE","tuiAssert","assert","Number","isInteger","previousCaret","unlucky","isSafari","addEventListener","selectionStart","conformedValue","config","rawValue","isNativeFocused","caret_1","previousValue","current","tailRegex","RegExp","previousWithoutTail","replace","currentWithoutTail","Math","abs","indexOf","previous","calculateChangedTailIndex","changeLength","calculateSafariCaret","previousConformedValue","setTimeout","setSelectionRange","ownerDocument","getDocumentOrShadowRoot","currentCaretPosition","realCaretPosition_1","wereSpaces","calculateCaretGap","withDecimalSymbol","includes","addDecimalSymbolIfNeeded","decimalPart","zeroPaddingSize","repeat","allowed","correctionHandler","mask","reduce","result","index","corrected","MASK_CARET_TRAP","lastIndex","lastIndexOf","filtered","filter","item","some","_a","_b","_c","allowDecimal","_d","_e","_f","autoCorrectDecimalSymbol","_g","_h","requireDecimal","_j","_k","integerLimit","isNegative","CHAR_EN_DASH","str","isDecimalSymbol","substr","decimalIndex","max","otherDecimalSymbol","getDecimalSymbolIndex","hasDecimal","integer","slice","thousandSeparators","match","integerCappedClean","TUI_NON_DIGITS_REGEXP","leadingZerosAmount","constants","TUI_LEADING_ZEROES_REGEXP","integerCappedZerosClean","trim","addThousandsSeparator","fraction","fractionCapped","apply","isOnlyZeroDigit","unshift","firstDigitIndex","isCaretTrap","preventLeadingZeroes","thousandSeparator","TUI_DECIMAL_SYMBOLS"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\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 */\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: (string | RegExp)[],\n isOnlyZeroDigit: boolean = false,\n leadingZerosAmount: number = 0,\n): (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): (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","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 | null,\n allowNegative?: boolean,\n isIOS = false,\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 const unlucky = (!!nativeInput && isSafari(nativeInput)) || isIOS;\n\n if (nativeInput && unlucky) {\n nativeInput.addEventListener('beforeinput', () => {\n previousCaret = nativeInput.selectionStart || 0;\n });\n }\n\n return (conformedValue, config) => {\n // Removing everything by selecting and pressing '-'\n if (!conformedValue && config.rawValue === '-' && allowNegative) {\n return '-';\n }\n\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.includes(decimalSymbol) ? 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 {TUI_DECIMAL_SYMBOLS} from '@taiga-ui/core/constants';\nimport {NumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport function tuiEnableAutoCorrectDecimalSymbol({\n thousandSeparator,\n}: NumberFormatSettings): boolean {\n return !TUI_DECIMAL_SYMBOLS.includes(thousandSeparator);\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@taiga-ui/core/abstract'), require('@taiga-ui/core/animations'), require('@taiga-ui/core/components'), require('@taiga-ui/core/constants'), require('@taiga-ui/core/directives'), require('@taiga-ui/core/enums'), require('@taiga-ui/core/internal'), require('@taiga-ui/core/modules'), require('@taiga-ui/core/observables'), require('@taiga-ui/core/pipes'), require('@taiga-ui/core/providers'), require('@taiga-ui/core/services'), require('@taiga-ui/core/tokens'), require('@taiga-ui/core/utils')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/core', ['exports', '@taiga-ui/core/abstract', '@taiga-ui/core/animations', '@taiga-ui/core/components', '@taiga-ui/core/constants', '@taiga-ui/core/directives', '@taiga-ui/core/enums', '@taiga-ui/core/internal', '@taiga-ui/core/modules', '@taiga-ui/core/observables', '@taiga-ui/core/pipes', '@taiga-ui/core/providers', '@taiga-ui/core/services', '@taiga-ui/core/tokens', '@taiga-ui/core/utils'], factory) :
4
- (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui'].core = {}), global['taiga-ui'].core.abstract, global['taiga-ui'].core.animations, global['taiga-ui'].core.components, global['taiga-ui'].core.constants, global['taiga-ui'].core.directives, global['taiga-ui'].core.enums, global['taiga-ui'].core.internal, global['taiga-ui'].core.modules, global['taiga-ui'].core.observables, global['taiga-ui'].core.pipes, global['taiga-ui'].core.providers, global['taiga-ui'].core.services, global['taiga-ui'].core.tokens, global['taiga-ui'].core.utils));
5
- }(this, (function (exports, abstract, animations, components, constants, directives, enums, internal, modules, observables, pipes, providers, services, tokens, utils) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@taiga-ui/core/abstract'), require('@taiga-ui/core/animations'), require('@taiga-ui/core/components'), require('@taiga-ui/core/constants'), require('@taiga-ui/core/directives'), require('@taiga-ui/core/enums'), require('@taiga-ui/core/internal'), require('@taiga-ui/core/observables'), require('@taiga-ui/core/pipes'), require('@taiga-ui/core/providers'), require('@taiga-ui/core/services'), require('@taiga-ui/core/tokens'), require('@taiga-ui/core/utils')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/core', ['exports', '@taiga-ui/core/abstract', '@taiga-ui/core/animations', '@taiga-ui/core/components', '@taiga-ui/core/constants', '@taiga-ui/core/directives', '@taiga-ui/core/enums', '@taiga-ui/core/internal', '@taiga-ui/core/observables', '@taiga-ui/core/pipes', '@taiga-ui/core/providers', '@taiga-ui/core/services', '@taiga-ui/core/tokens', '@taiga-ui/core/utils'], factory) :
4
+ (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui'].core = {}), global['taiga-ui'].core.abstract, global['taiga-ui'].core.animations, global['taiga-ui'].core.components, global['taiga-ui'].core.constants, global['taiga-ui'].core.directives, global['taiga-ui'].core.enums, global['taiga-ui'].core.internal, global['taiga-ui'].core.observables, global['taiga-ui'].core.pipes, global['taiga-ui'].core.providers, global['taiga-ui'].core.services, global['taiga-ui'].core.tokens, global['taiga-ui'].core.utils));
5
+ }(this, (function (exports, abstract, animations, components, constants, directives, enums, internal, observables, pipes, providers, services, tokens, utils) { 'use strict';
6
6
 
7
7
  /**
8
8
  * Generated bundle index. Do not edit.
@@ -64,14 +64,6 @@
64
64
  }
65
65
  });
66
66
  });
67
- Object.keys(modules).forEach(function (k) {
68
- if (k !== 'default') Object.defineProperty(exports, k, {
69
- enumerable: true,
70
- get: function () {
71
- return modules[k];
72
- }
73
- });
74
- });
75
67
  Object.keys(observables).forEach(function (k) {
76
68
  if (k !== 'default') Object.defineProperty(exports, k, {
77
69
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core.umd.js","sources":["ng://@taiga-ui/core/taiga-ui-core.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-core.umd.js","sources":["ng://@taiga-ui/core/taiga-ui-core.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@taiga-ui/core/abstract"),require("@taiga-ui/core/animations"),require("@taiga-ui/core/components"),require("@taiga-ui/core/constants"),require("@taiga-ui/core/directives"),require("@taiga-ui/core/enums"),require("@taiga-ui/core/internal"),require("@taiga-ui/core/modules"),require("@taiga-ui/core/observables"),require("@taiga-ui/core/pipes"),require("@taiga-ui/core/providers"),require("@taiga-ui/core/services"),require("@taiga-ui/core/tokens"),require("@taiga-ui/core/utils")):"function"==typeof define&&define.amd?define("@taiga-ui/core",["exports","@taiga-ui/core/abstract","@taiga-ui/core/animations","@taiga-ui/core/components","@taiga-ui/core/constants","@taiga-ui/core/directives","@taiga-ui/core/enums","@taiga-ui/core/internal","@taiga-ui/core/modules","@taiga-ui/core/observables","@taiga-ui/core/pipes","@taiga-ui/core/providers","@taiga-ui/core/services","@taiga-ui/core/tokens","@taiga-ui/core/utils"],t):t(((e=e||self)["taiga-ui"]=e["taiga-ui"]||{},e["taiga-ui"].core={}),e["taiga-ui"].core.abstract,e["taiga-ui"].core.animations,e["taiga-ui"].core.components,e["taiga-ui"].core.constants,e["taiga-ui"].core.directives,e["taiga-ui"].core.enums,e["taiga-ui"].core.internal,e["taiga-ui"].core.modules,e["taiga-ui"].core.observables,e["taiga-ui"].core.pipes,e["taiga-ui"].core.providers,e["taiga-ui"].core.services,e["taiga-ui"].core.tokens,e["taiga-ui"].core.utils)}(this,(function(e,t,i,r,a,u,n,o,c,f,s,g,b,d,l){"use strict";Object.keys(t).forEach((function(i){"default"!==i&&Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[i]}})})),Object.keys(i).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return i[t]}})})),Object.keys(r).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return r[t]}})})),Object.keys(a).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return a[t]}})})),Object.keys(u).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return u[t]}})})),Object.keys(n).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return n[t]}})})),Object.keys(o).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return o[t]}})})),Object.keys(c).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return c[t]}})})),Object.keys(f).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return f[t]}})})),Object.keys(s).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return s[t]}})})),Object.keys(g).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return g[t]}})})),Object.keys(b).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return b[t]}})})),Object.keys(d).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return d[t]}})})),Object.keys(l).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return l[t]}})})),Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@taiga-ui/core/abstract"),require("@taiga-ui/core/animations"),require("@taiga-ui/core/components"),require("@taiga-ui/core/constants"),require("@taiga-ui/core/directives"),require("@taiga-ui/core/enums"),require("@taiga-ui/core/internal"),require("@taiga-ui/core/observables"),require("@taiga-ui/core/pipes"),require("@taiga-ui/core/providers"),require("@taiga-ui/core/services"),require("@taiga-ui/core/tokens"),require("@taiga-ui/core/utils")):"function"==typeof define&&define.amd?define("@taiga-ui/core",["exports","@taiga-ui/core/abstract","@taiga-ui/core/animations","@taiga-ui/core/components","@taiga-ui/core/constants","@taiga-ui/core/directives","@taiga-ui/core/enums","@taiga-ui/core/internal","@taiga-ui/core/observables","@taiga-ui/core/pipes","@taiga-ui/core/providers","@taiga-ui/core/services","@taiga-ui/core/tokens","@taiga-ui/core/utils"],t):t(((e=e||self)["taiga-ui"]=e["taiga-ui"]||{},e["taiga-ui"].core={}),e["taiga-ui"].core.abstract,e["taiga-ui"].core.animations,e["taiga-ui"].core.components,e["taiga-ui"].core.constants,e["taiga-ui"].core.directives,e["taiga-ui"].core.enums,e["taiga-ui"].core.internal,e["taiga-ui"].core.observables,e["taiga-ui"].core.pipes,e["taiga-ui"].core.providers,e["taiga-ui"].core.services,e["taiga-ui"].core.tokens,e["taiga-ui"].core.utils)}(this,(function(e,t,i,r,a,u,n,c,o,f,s,g,b,d){"use strict";Object.keys(t).forEach((function(i){"default"!==i&&Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[i]}})})),Object.keys(i).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return i[t]}})})),Object.keys(r).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return r[t]}})})),Object.keys(a).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return a[t]}})})),Object.keys(u).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return u[t]}})})),Object.keys(n).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return n[t]}})})),Object.keys(c).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return c[t]}})})),Object.keys(o).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return o[t]}})})),Object.keys(f).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return f[t]}})})),Object.keys(s).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return s[t]}})})),Object.keys(g).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return g[t]}})})),Object.keys(b).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return b[t]}})})),Object.keys(d).forEach((function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return d[t]}})})),Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=taiga-ui-core.umd.min.js.map
@@ -0,0 +1,35 @@
1
+ import { AnimationOptions } from '@angular/animations';
2
+ import { ElementRef, OnInit } from '@angular/core';
3
+ import { TuiContextWithImplicit, TuiDestroyService, TuiDialog } from '@taiga-ui/cdk';
4
+ import { TuiNotification } from '@taiga-ui/core/enums';
5
+ import { TuiAlertOptions } from '@taiga-ui/core/interfaces';
6
+ import { TuiNotificationDefaultOptions } from '@taiga-ui/core/tokens';
7
+ import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
8
+ export interface TuiNotificationContentContext<O = void, I = undefined> extends TuiContextWithImplicit<TuiNotification> {
9
+ label: PolymorpheusContent<TuiContextWithImplicit<TuiNotification>>;
10
+ data: I;
11
+ closeHook: () => void;
12
+ emitHook: (data: O) => void;
13
+ emitAndCloseHook: (data: O) => void;
14
+ }
15
+ export declare class TuiAlertComponent<O, I> implements OnInit {
16
+ private readonly elementRef;
17
+ private readonly destroy$;
18
+ private readonly options;
19
+ private readonly animationOptions;
20
+ readonly item: TuiDialog<TuiAlertOptions<I>, O>;
21
+ private readonly autoClose;
22
+ readonly animation: {
23
+ readonly delay?: string | number | undefined;
24
+ readonly params?: {
25
+ [name: string]: any;
26
+ } | undefined;
27
+ readonly value: "";
28
+ };
29
+ constructor(elementRef: ElementRef<HTMLElement>, destroy$: TuiDestroyService, options: TuiNotificationDefaultOptions, animationOptions: AnimationOptions, item: TuiDialog<TuiAlertOptions<I>, O>);
30
+ ngOnInit(): void;
31
+ get context(): TuiNotificationContentContext<O, I>;
32
+ closeNotification(): void;
33
+ private calculateContext;
34
+ private initAutoClose;
35
+ }
@@ -0,0 +1,4 @@
1
+ export declare class TuiAlertModule {
2
+ }
3
+ /** @deprecated use {@link TuiAlertModule} */
4
+ export declare const TuiNotificationsModule: typeof TuiAlertModule;
@@ -0,0 +1,18 @@
1
+ import { AbstractTuiDialogService, TuiIdService } from '@taiga-ui/cdk';
2
+ import { TuiAlertOptions, TuiNotificationOptions, TuiNotificationOptionsWithData } from '@taiga-ui/core/interfaces';
3
+ import { PolymorpheusComponent, PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
4
+ import { Observable } from 'rxjs';
5
+ import { TuiAlertComponent, TuiNotificationContentContext } from './alert.component';
6
+ export declare class TuiAlertService extends AbstractTuiDialogService<TuiAlertOptions<any>> {
7
+ protected readonly defaultOptions: TuiAlertOptions<any>;
8
+ protected readonly component: PolymorpheusComponent<TuiAlertComponent<unknown, unknown>, object>;
9
+ constructor(defaultOptions: TuiAlertOptions<any>, idService: TuiIdService);
10
+ }
11
+ /** @deprecated use {@link TuiAlertService} */
12
+ export declare class TuiNotificationsService {
13
+ private readonly alert;
14
+ constructor(alert: TuiAlertService);
15
+ show<O = void>(content: PolymorpheusContent<TuiNotificationContentContext<O>>): Observable<O>;
16
+ show<O = void>(content: PolymorpheusContent<TuiNotificationContentContext<O>>, options: TuiNotificationOptions): Observable<O>;
17
+ show<O, I>(content: PolymorpheusContent<TuiNotificationContentContext<O, I>>, options: TuiNotificationOptionsWithData<I>): Observable<O>;
18
+ }
@@ -0,0 +1,3 @@
1
+ export * from './alert.component';
2
+ export * from './alert.module';
3
+ export * from './alert.service';
@@ -0,0 +1,13 @@
1
+ {
2
+ "main": "../../bundles/taiga-ui-core-components-alert.umd.js",
3
+ "module": "../../fesm5/taiga-ui-core-components-alert.js",
4
+ "es2015": "../../fesm2015/taiga-ui-core-components-alert.js",
5
+ "esm5": "../../esm5/components/alert/taiga-ui-core-components-alert.js",
6
+ "esm2015": "../../esm2015/components/alert/taiga-ui-core-components-alert.js",
7
+ "fesm5": "../../fesm5/taiga-ui-core-components-alert.js",
8
+ "fesm2015": "../../fesm2015/taiga-ui-core-components-alert.js",
9
+ "typings": "taiga-ui-core-components-alert.d.ts",
10
+ "metadata": "taiga-ui-core-components-alert.metadata.json",
11
+ "sideEffects": false,
12
+ "name": "@taiga-ui/core/components/alert"
13
+ }