@taiga-ui/core 3.18.0 → 3.19.0-dev.main-9e6bc23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/abstract/abstract-driver.directive.d.ts +9 -2
  2. package/abstract/driver.d.ts +1 -0
  3. package/abstract/position-accessor.d.ts +3 -1
  4. package/abstract/rect-accessor.d.ts +4 -1
  5. package/abstract/vehicle.d.ts +1 -0
  6. package/bundles/taiga-ui-core-abstract.umd.js +59 -29
  7. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-alert.umd.js +14 -23
  9. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-button.umd.js +11 -20
  11. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-calendar.umd.js +11 -20
  13. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-data-list.umd.js +20 -29
  15. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  16. package/bundles/taiga-ui-core-components-dialog.umd.js +20 -29
  17. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  18. package/bundles/taiga-ui-core-components-error.umd.js +11 -20
  19. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  20. package/bundles/taiga-ui-core-components-expand.umd.js +14 -23
  21. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  22. package/bundles/taiga-ui-core-components-group.umd.js +14 -23
  23. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  24. package/bundles/taiga-ui-core-components-hints-host.umd.js +7 -7
  25. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +14 -23
  26. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  27. package/bundles/taiga-ui-core-components-label.umd.js +11 -20
  28. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  29. package/bundles/taiga-ui-core-components-link.umd.js +12 -21
  30. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  31. package/bundles/taiga-ui-core-components-loader.umd.js +11 -20
  32. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  33. package/bundles/taiga-ui-core-components-notification.umd.js +11 -20
  34. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  35. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +11 -20
  36. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  37. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +11 -20
  38. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  39. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +11 -20
  40. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
  41. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +28 -34
  42. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  43. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +11 -20
  44. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  45. package/bundles/taiga-ui-core-components-root.umd.js +11 -20
  46. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  47. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +17 -26
  48. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  49. package/bundles/taiga-ui-core-components-scrollbar.umd.js +17 -26
  50. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  51. package/bundles/taiga-ui-core-components-svg.umd.js +11 -20
  52. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  53. package/bundles/taiga-ui-core-components-theme-night.umd.js +11 -20
  54. package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
  55. package/bundles/taiga-ui-core-components-tooltip.umd.js +11 -20
  56. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  57. package/bundles/taiga-ui-core-directives-dropdown.umd.js +186 -147
  58. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  59. package/bundles/taiga-ui-core-directives-hint.umd.js +258 -212
  60. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  61. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js +7 -7
  62. package/bundles/taiga-ui-core-directives-mode.umd.js +11 -20
  63. package/bundles/taiga-ui-core-directives-mode.umd.js.map +1 -1
  64. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js +11 -20
  65. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
  66. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +100 -54
  67. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  68. package/bundles/taiga-ui-core-directives-wrapper.umd.js +7 -7
  69. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +11 -20
  70. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  71. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js +7 -7
  72. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js +7 -7
  73. package/bundles/taiga-ui-core-pipes-flag.umd.js +96 -0
  74. package/bundles/taiga-ui-core-pipes-flag.umd.js.map +1 -0
  75. package/bundles/taiga-ui-core-pipes-format-date.umd.js +7 -7
  76. package/bundles/taiga-ui-core-pipes-format-number.umd.js +7 -7
  77. package/bundles/taiga-ui-core-pipes-format-phone.umd.js +7 -7
  78. package/bundles/taiga-ui-core-pipes-month.umd.js +7 -7
  79. package/bundles/taiga-ui-core-pipes-order-week-days.umd.js +11 -20
  80. package/bundles/taiga-ui-core-pipes-order-week-days.umd.js.map +1 -1
  81. package/bundles/taiga-ui-core-pipes.umd.js +10 -4
  82. package/bundles/taiga-ui-core-pipes.umd.js.map +1 -1
  83. package/bundles/taiga-ui-core-services.umd.js +22 -31
  84. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  85. package/bundles/taiga-ui-core-tokens.umd.js +7 -13
  86. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  87. package/bundles/taiga-ui-core-utils-format.umd.js +4 -13
  88. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  89. package/bundles/taiga-ui-core-utils-mask.umd.js +4 -13
  90. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  91. package/components/primitive-textfield/primitive-textfield.component.d.ts +3 -3
  92. package/directives/dropdown/dropdown-context.directive.d.ts +1 -0
  93. package/directives/dropdown/dropdown-driver.directive.d.ts +5 -2
  94. package/directives/dropdown/dropdown-host.directive.d.ts +1 -0
  95. package/directives/dropdown/dropdown-hover.directive.d.ts +1 -0
  96. package/directives/dropdown/dropdown-manual.directive.d.ts +1 -0
  97. package/directives/dropdown/dropdown-position-sided.directive.d.ts +4 -3
  98. package/directives/dropdown/dropdown-position.directive.d.ts +7 -3
  99. package/directives/dropdown/dropdown-selection.directive.d.ts +1 -0
  100. package/directives/dropdown/dropdown.directive.d.ts +7 -4
  101. package/directives/hint/hint-describe.directive.d.ts +3 -5
  102. package/directives/hint/hint-driver.directive.d.ts +5 -2
  103. package/directives/hint/hint-host.directive.d.ts +1 -0
  104. package/directives/hint/hint-hover.directive.d.ts +2 -0
  105. package/directives/hint/hint-manual.directive.d.ts +3 -1
  106. package/directives/hint/hint-position.directive.d.ts +6 -3
  107. package/directives/hint/hint.directive.d.ts +3 -2
  108. package/directives/textfield-controller/index.d.ts +1 -0
  109. package/directives/textfield-controller/textfield-appearance.directive.d.ts +9 -0
  110. package/directives/textfield-controller/textfield-controller.module.d.ts +11 -10
  111. package/directives/textfield-controller/textfield.controller.d.ts +5 -1
  112. package/esm2015/abstract/abstract-driver.directive.js +18 -10
  113. package/esm2015/abstract/abstract-textfield-host.js +3 -3
  114. package/esm2015/abstract/driver.js +2 -1
  115. package/esm2015/abstract/position-accessor.js +10 -1
  116. package/esm2015/abstract/rect-accessor.js +14 -1
  117. package/esm2015/abstract/vehicle.js +2 -1
  118. package/esm2015/components/alert/alert.component.js +3 -3
  119. package/esm2015/components/alert/alert.module.js +4 -4
  120. package/esm2015/components/alert/alert.service.js +3 -3
  121. package/esm2015/components/button/button.component.js +3 -3
  122. package/esm2015/components/button/button.module.js +4 -4
  123. package/esm2015/components/calendar/calendar.component.js +3 -3
  124. package/esm2015/components/calendar/calendar.module.js +4 -4
  125. package/esm2015/components/data-list/data-list.component.js +3 -3
  126. package/esm2015/components/data-list/data-list.directive.js +3 -3
  127. package/esm2015/components/data-list/data-list.module.js +4 -4
  128. package/esm2015/components/data-list/opt-group.directive.js +3 -3
  129. package/esm2015/components/data-list/option/option.component.js +3 -3
  130. package/esm2015/components/dialog/dialog-close.service.js +3 -3
  131. package/esm2015/components/dialog/dialog.component.js +3 -3
  132. package/esm2015/components/dialog/dialog.directive.js +3 -3
  133. package/esm2015/components/dialog/dialog.module.js +4 -4
  134. package/esm2015/components/dialog/dialog.service.js +3 -3
  135. package/esm2015/components/error/error.component.js +3 -3
  136. package/esm2015/components/error/error.module.js +4 -4
  137. package/esm2015/components/expand/expand-content.directive.js +3 -3
  138. package/esm2015/components/expand/expand.component.js +3 -3
  139. package/esm2015/components/expand/expand.module.js +4 -4
  140. package/esm2015/components/group/group-styles.component.js +3 -3
  141. package/esm2015/components/group/group.directive.js +3 -3
  142. package/esm2015/components/group/group.module.js +4 -4
  143. package/esm2015/components/hints-host/hints-host.component.js +3 -3
  144. package/esm2015/components/hints-host/hints-host.module.js +4 -4
  145. package/esm2015/components/hosted-dropdown/hosted-dropdown-connector.directive.js +3 -3
  146. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +3 -3
  147. package/esm2015/components/hosted-dropdown/hosted-dropdown.module.js +4 -4
  148. package/esm2015/components/label/label.component.js +3 -3
  149. package/esm2015/components/label/label.module.js +4 -4
  150. package/esm2015/components/link/link.component.js +4 -4
  151. package/esm2015/components/link/link.module.js +4 -4
  152. package/esm2015/components/loader/loader.component.js +3 -3
  153. package/esm2015/components/loader/loader.module.js +4 -4
  154. package/esm2015/components/notification/notification.component.js +3 -3
  155. package/esm2015/components/notification/notification.module.js +4 -4
  156. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +3 -3
  157. package/esm2015/components/primitive-calendar/primitive-calendar.module.js +4 -4
  158. package/esm2015/components/primitive-checkbox/primitive-checkbox.component.js +3 -3
  159. package/esm2015/components/primitive-checkbox/primitive-checkbox.module.js +4 -4
  160. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +3 -3
  161. package/esm2015/components/primitive-spin-button/primitive-spin-button.module.js +4 -4
  162. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +9 -10
  163. package/esm2015/components/primitive-textfield/primitive-textfield.directive.js +3 -3
  164. package/esm2015/components/primitive-textfield/primitive-textfield.module.js +4 -4
  165. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +3 -3
  166. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +3 -3
  167. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  168. package/esm2015/components/primitive-year-picker/primitive-year-picker.module.js +4 -4
  169. package/esm2015/components/root/root.component.js +3 -3
  170. package/esm2015/components/root/root.module.js +4 -4
  171. package/esm2015/components/scroll-controls/scroll-controls.component.js +3 -3
  172. package/esm2015/components/scroll-controls/scroll-controls.module.js +4 -4
  173. package/esm2015/components/scroll-controls/scrollbar-wrapper.directive.js +3 -3
  174. package/esm2015/components/scroll-controls/scrollbar.directive.js +3 -3
  175. package/esm2015/components/scrollbar/scroll-ref.directive.js +3 -3
  176. package/esm2015/components/scrollbar/scrollable.directive.js +3 -3
  177. package/esm2015/components/scrollbar/scrollbar.component.js +3 -3
  178. package/esm2015/components/scrollbar/scrollbar.module.js +4 -4
  179. package/esm2015/components/svg/svg.component.js +3 -3
  180. package/esm2015/components/svg/svg.module.js +4 -4
  181. package/esm2015/components/theme-night/theme-night.component.js +3 -3
  182. package/esm2015/components/theme-night/theme-night.module.js +4 -4
  183. package/esm2015/components/tooltip/tooltip.component.js +3 -3
  184. package/esm2015/components/tooltip/tooltip.module.js +4 -4
  185. package/esm2015/directives/dropdown/dropdown-context.directive.js +5 -4
  186. package/esm2015/directives/dropdown/dropdown-driver.directive.js +24 -7
  187. package/esm2015/directives/dropdown/dropdown-host.directive.js +8 -4
  188. package/esm2015/directives/dropdown/dropdown-hover.directive.js +5 -4
  189. package/esm2015/directives/dropdown/dropdown-manual.directive.js +7 -6
  190. package/esm2015/directives/dropdown/dropdown-options.directive.js +3 -3
  191. package/esm2015/directives/dropdown/dropdown-position-sided.directive.js +15 -14
  192. package/esm2015/directives/dropdown/dropdown-position.directive.js +28 -11
  193. package/esm2015/directives/dropdown/dropdown-selection.directive.js +5 -4
  194. package/esm2015/directives/dropdown/dropdown.component.js +21 -11
  195. package/esm2015/directives/dropdown/dropdown.directive.js +16 -21
  196. package/esm2015/directives/dropdown/dropdown.module.js +4 -4
  197. package/esm2015/directives/hint/hint-describe.directive.js +7 -13
  198. package/esm2015/directives/hint/hint-driver.directive.js +24 -7
  199. package/esm2015/directives/hint/hint-host.directive.js +8 -4
  200. package/esm2015/directives/hint/hint-hover.directive.js +8 -6
  201. package/esm2015/directives/hint/hint-manual.directive.js +14 -7
  202. package/esm2015/directives/hint/hint-options.directive.js +3 -3
  203. package/esm2015/directives/hint/hint-pointer.directive.js +3 -3
  204. package/esm2015/directives/hint/hint-position.directive.js +25 -11
  205. package/esm2015/directives/hint/hint.component.js +20 -6
  206. package/esm2015/directives/hint/hint.directive.js +6 -4
  207. package/esm2015/directives/hint/hint.module.js +4 -4
  208. package/esm2015/directives/hint/hint.providers.js +2 -1
  209. package/esm2015/directives/mask-accessor/mask-accessor.directive.js +3 -3
  210. package/esm2015/directives/mask-accessor/mask-accessor.module.js +4 -4
  211. package/esm2015/directives/mode/mode.directive.js +3 -3
  212. package/esm2015/directives/mode/mode.module.js +4 -4
  213. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +3 -3
  214. package/esm2015/directives/scroll-into-view/scroll-into-view.module.js +4 -4
  215. package/esm2015/directives/textfield-controller/index.js +2 -1
  216. package/esm2015/directives/textfield-controller/textfield-appearance.directive.js +38 -0
  217. package/esm2015/directives/textfield-controller/textfield-cleaner.directive.js +3 -3
  218. package/esm2015/directives/textfield-controller/textfield-controller.module.js +11 -6
  219. package/esm2015/directives/textfield-controller/textfield-controller.provider.js +7 -3
  220. package/esm2015/directives/textfield-controller/textfield-custom-content.directive.js +3 -3
  221. package/esm2015/directives/textfield-controller/textfield-filler.directive.js +3 -3
  222. package/esm2015/directives/textfield-controller/textfield-icon-left.directive.js +3 -3
  223. package/esm2015/directives/textfield-controller/textfield-icon.directive.js +3 -3
  224. package/esm2015/directives/textfield-controller/textfield-label-outside.directive.js +3 -3
  225. package/esm2015/directives/textfield-controller/textfield-postfix.directive.js +3 -3
  226. package/esm2015/directives/textfield-controller/textfield-prefix.directive.js +3 -3
  227. package/esm2015/directives/textfield-controller/textfield-size.directive.js +3 -3
  228. package/esm2015/directives/textfield-controller/textfield.controller.js +7 -2
  229. package/esm2015/directives/wrapper/wrapper.directive.js +3 -3
  230. package/esm2015/directives/wrapper/wrapper.module.js +4 -4
  231. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +3 -3
  232. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.module.js +4 -4
  233. package/esm2015/internal/svg-defs-host/svg-defs-host.component.js +3 -3
  234. package/esm2015/internal/svg-defs-host/svg-defs-host.module.js +4 -4
  235. package/esm2015/pipes/calendar-sheet/calendar-sheet.module.js +4 -4
  236. package/esm2015/pipes/calendar-sheet/calendar-sheet.pipe.js +3 -3
  237. package/esm2015/pipes/flag/flag.module.js +16 -0
  238. package/esm2015/pipes/flag/flag.pipe.js +44 -0
  239. package/esm2015/pipes/flag/index.js +3 -0
  240. package/esm2015/pipes/flag/taiga-ui-core-pipes-flag.js +5 -0
  241. package/esm2015/pipes/format-date/format-date.module.js +4 -4
  242. package/esm2015/pipes/format-date/format-date.pipe.js +3 -3
  243. package/esm2015/pipes/format-number/format-number.module.js +4 -4
  244. package/esm2015/pipes/format-number/format-number.pipe.js +3 -3
  245. package/esm2015/pipes/format-phone/format-phone.module.js +4 -4
  246. package/esm2015/pipes/format-phone/format-phone.pipe.js +3 -3
  247. package/esm2015/pipes/index.js +2 -1
  248. package/esm2015/pipes/month/month.module.js +4 -4
  249. package/esm2015/pipes/month/month.pipe.js +3 -3
  250. package/esm2015/pipes/order-week-days/order-week-days.module.js +4 -4
  251. package/esm2015/pipes/order-week-days/order-week-days.pipe.js +3 -3
  252. package/esm2015/services/format-date.service.js +3 -3
  253. package/esm2015/services/hint.service.js +3 -3
  254. package/esm2015/services/night-theme.service.js +3 -3
  255. package/esm2015/services/position.service.js +3 -3
  256. package/esm2015/services/router-link-active.service.js +3 -3
  257. package/esm2015/services/svg.service.js +3 -3
  258. package/esm2015/tokens/textfield-appearance.js +3 -1
  259. package/esm2015/tokens/viewport.js +2 -1
  260. package/fesm2015/taiga-ui-core-abstract.js +45 -15
  261. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  262. package/fesm2015/taiga-ui-core-components-alert.js +10 -10
  263. package/fesm2015/taiga-ui-core-components-button.js +7 -7
  264. package/fesm2015/taiga-ui-core-components-calendar.js +7 -7
  265. package/fesm2015/taiga-ui-core-components-data-list.js +16 -16
  266. package/fesm2015/taiga-ui-core-components-dialog.js +16 -16
  267. package/fesm2015/taiga-ui-core-components-error.js +7 -7
  268. package/fesm2015/taiga-ui-core-components-expand.js +10 -10
  269. package/fesm2015/taiga-ui-core-components-group.js +10 -10
  270. package/fesm2015/taiga-ui-core-components-hints-host.js +7 -7
  271. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +10 -10
  272. package/fesm2015/taiga-ui-core-components-label.js +7 -7
  273. package/fesm2015/taiga-ui-core-components-link.js +8 -8
  274. package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
  275. package/fesm2015/taiga-ui-core-components-loader.js +7 -7
  276. package/fesm2015/taiga-ui-core-components-notification.js +7 -7
  277. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +7 -7
  278. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +7 -7
  279. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +7 -7
  280. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +21 -22
  281. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  282. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +7 -7
  283. package/fesm2015/taiga-ui-core-components-root.js +7 -7
  284. package/fesm2015/taiga-ui-core-components-scroll-controls.js +13 -13
  285. package/fesm2015/taiga-ui-core-components-scrollbar.js +13 -13
  286. package/fesm2015/taiga-ui-core-components-svg.js +7 -7
  287. package/fesm2015/taiga-ui-core-components-theme-night.js +7 -7
  288. package/fesm2015/taiga-ui-core-components-tooltip.js +7 -7
  289. package/fesm2015/taiga-ui-core-directives-dropdown.js +123 -81
  290. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  291. package/fesm2015/taiga-ui-core-directives-hint.js +205 -156
  292. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  293. package/fesm2015/taiga-ui-core-directives-mask-accessor.js +7 -7
  294. package/fesm2015/taiga-ui-core-directives-mode.js +7 -7
  295. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js +7 -7
  296. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +83 -36
  297. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  298. package/fesm2015/taiga-ui-core-directives-wrapper.js +7 -7
  299. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +7 -7
  300. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js +7 -7
  301. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js +7 -7
  302. package/fesm2015/taiga-ui-core-pipes-flag.js +64 -0
  303. package/fesm2015/taiga-ui-core-pipes-flag.js.map +1 -0
  304. package/fesm2015/taiga-ui-core-pipes-format-date.js +7 -7
  305. package/fesm2015/taiga-ui-core-pipes-format-number.js +7 -7
  306. package/fesm2015/taiga-ui-core-pipes-format-phone.js +7 -7
  307. package/fesm2015/taiga-ui-core-pipes-month.js +7 -7
  308. package/fesm2015/taiga-ui-core-pipes-order-week-days.js +7 -7
  309. package/fesm2015/taiga-ui-core-pipes.js +1 -0
  310. package/fesm2015/taiga-ui-core-pipes.js.map +1 -1
  311. package/fesm2015/taiga-ui-core-services.js +18 -18
  312. package/fesm2015/taiga-ui-core-tokens.js +3 -0
  313. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  314. package/package.json +4 -4
  315. package/pipes/flag/flag.module.d.ts +7 -0
  316. package/pipes/flag/flag.pipe.d.ts +13 -0
  317. package/pipes/flag/index.d.ts +2 -0
  318. package/pipes/flag/package.json +10 -0
  319. package/pipes/flag/taiga-ui-core-pipes-flag.d.ts +5 -0
  320. package/pipes/index.d.ts +1 -0
  321. package/tokens/textfield-appearance.d.ts +1 -0
@@ -102,7 +102,7 @@
102
102
  return nowSpaces - wereSpaces;
103
103
  }
104
104
 
105
- /******************************************************************************
105
+ /*! *****************************************************************************
106
106
  Copyright (c) Microsoft Corporation.
107
107
 
108
108
  Permission to use, copy, modify, and/or distribute this software for any
@@ -200,7 +200,7 @@
200
200
  function step(op) {
201
201
  if (f)
202
202
  throw new TypeError("Generator is already executing.");
203
- while (g && (g = 0, op[0] && (_ = 0)), _)
203
+ while (_)
204
204
  try {
205
205
  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)
206
206
  return t;
@@ -264,11 +264,7 @@
264
264
  var __createBinding = Object.create ? (function (o, m, k, k2) {
265
265
  if (k2 === undefined)
266
266
  k2 = k;
267
- var desc = Object.getOwnPropertyDescriptor(m, k);
268
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
269
- desc = { enumerable: true, get: function () { return m[k]; } };
270
- }
271
- Object.defineProperty(o, k2, desc);
267
+ Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
272
268
  }) : (function (o, m, k, k2) {
273
269
  if (k2 === undefined)
274
270
  k2 = k;
@@ -341,7 +337,7 @@
341
337
  ar[i] = from[i];
342
338
  }
343
339
  }
344
- return to.concat(ar || Array.prototype.slice.call(from));
340
+ return to.concat(ar || from);
345
341
  }
346
342
  function __await(v) {
347
343
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -423,11 +419,6 @@
423
419
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
424
420
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
425
421
  }
426
- function __classPrivateFieldIn(state, receiver) {
427
- if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
428
- throw new TypeError("Cannot use 'in' operator on non-object");
429
- return typeof state === "function" ? receiver === state : state.has(receiver);
430
- }
431
422
 
432
423
  var ASSERTION = "Correction function must return single char or null";
433
424
  function tuiCreateCorrectionMask(allowed, correctionHandler) {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-utils-mask.umd.js","sources":["../../../projects/core/utils/mask/create-auto-corrected-money-pipe.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/core/utils/mask/create-correction-mask.ts","../../../projects/core/utils/mask/create-number-mask.ts","../../../projects/core/utils/mask/enable-auto-correct-decimal-symbol.ts","../../../projects/core/utils/mask/masked-money-value-is-empty.ts","../../../projects/core/utils/mask/masked-number-string-to-number.ts","../../../projects/core/utils/mask/taiga-ui-core-utils-mask.ts"],"sourcesContent":["import {\n CHAR_HYPHEN,\n CHAR_NO_BREAK_SPACE,\n tuiAssert,\n tuiGetDocumentOrShadowRoot,\n tuiIsNativeFocused,\n tuiIsSafari,\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 && tuiIsSafari(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 === CHAR_HYPHEN && allowNegative) {\n return CHAR_HYPHEN;\n }\n\n // remove these hacks after text mask library has changed\n if (nativeInput && unlucky && tuiIsNativeFocused(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 !== tuiGetDocumentOrShadowRoot(nativeInput) &&\n tuiIsNativeFocused(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","/******************************************************************************\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\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_HYPHEN, 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 {tuiOtherDecimalSymbol} 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 // eslint-disable-next-line max-statements\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] === CHAR_HYPHEN || rawValue[0] === CHAR_EN_DASH) &&\n 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.slice(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] !== tuiOtherDecimalSymbol(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(CHAR_HYPHEN);\n }\n\n return preventLeadingZeroes(mask, isOnlyZeroDigit, leadingZerosAmount);\n };\n}\n\nfunction preventLeadingZeroes(\n mask: Array<RegExp | string>,\n isOnlyZeroDigit: boolean = false,\n leadingZerosAmount: number = 0,\n): Array<RegExp | string> {\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 }\n\n 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(tuiOtherDecimalSymbol(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<RegExp | string> {\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 ? // TODO: investigate to disallow potentially catastrophic exponential-time regular expressions.\n // eslint-disable-next-line unicorn/no-unsafe-regex\n strNumber.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSymbol)\n : strNumber;\n}\n","import {TUI_DECIMAL_SYMBOLS} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport function tuiEnableAutoCorrectDecimalSymbol({\n thousandSeparator,\n}: TuiNumberFormatSettings): boolean {\n return !TUI_DECIMAL_SYMBOLS.includes(thousandSeparator);\n}\n","import {CHAR_HYPHEN} from '@taiga-ui/cdk';\n\nexport function tuiMaskedMoneyValueIsEmpty(value: string): boolean {\n switch (value) {\n case ``:\n case CHAR_HYPHEN:\n case `,`:\n case `${CHAR_HYPHEN},`:\n return true;\n default:\n return false;\n }\n}\n","import {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\nexport function tuiMaskedNumberStringToNumber(\n value: string,\n decimalsSymbol: TuiDecimalSymbol,\n thousandSymbol: string,\n): number {\n return parseFloat(\n value.split(thousandSymbol).join(``).split(decimalsSymbol).join(`.`),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CHAR_NO_BREAK_SPACE","tuiAssert","tuiIsSafari","CHAR_HYPHEN","tuiIsNativeFocused","tuiGetDocumentOrShadowRoot","MASK_CARET_TRAP","CHAR_EN_DASH","TUI_DIGIT_REGEXP","TUI_NON_DIGITS_REGEXP","TUI_LEADING_ZEROES_REGEXP","tuiOtherDecimalSymbol","TUI_DECIMAL_SYMBOLS"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-utils-mask.umd.js","sources":["../../../projects/core/utils/mask/create-auto-corrected-money-pipe.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/core/utils/mask/create-correction-mask.ts","../../../projects/core/utils/mask/create-number-mask.ts","../../../projects/core/utils/mask/enable-auto-correct-decimal-symbol.ts","../../../projects/core/utils/mask/masked-money-value-is-empty.ts","../../../projects/core/utils/mask/masked-number-string-to-number.ts","../../../projects/core/utils/mask/taiga-ui-core-utils-mask.ts"],"sourcesContent":["import {\n CHAR_HYPHEN,\n CHAR_NO_BREAK_SPACE,\n tuiAssert,\n tuiGetDocumentOrShadowRoot,\n tuiIsNativeFocused,\n tuiIsSafari,\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 && tuiIsSafari(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 === CHAR_HYPHEN && allowNegative) {\n return CHAR_HYPHEN;\n }\n\n // remove these hacks after text mask library has changed\n if (nativeInput && unlucky && tuiIsNativeFocused(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 !== tuiGetDocumentOrShadowRoot(nativeInput) &&\n tuiIsNativeFocused(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","/*! *****************************************************************************\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\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_HYPHEN, 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 {tuiOtherDecimalSymbol} 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 // eslint-disable-next-line max-statements\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] === CHAR_HYPHEN || rawValue[0] === CHAR_EN_DASH) &&\n 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.slice(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] !== tuiOtherDecimalSymbol(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(CHAR_HYPHEN);\n }\n\n return preventLeadingZeroes(mask, isOnlyZeroDigit, leadingZerosAmount);\n };\n}\n\nfunction preventLeadingZeroes(\n mask: Array<RegExp | string>,\n isOnlyZeroDigit: boolean = false,\n leadingZerosAmount: number = 0,\n): Array<RegExp | string> {\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 }\n\n 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(tuiOtherDecimalSymbol(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<RegExp | string> {\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 ? // TODO: investigate to disallow potentially catastrophic exponential-time regular expressions.\n // eslint-disable-next-line unicorn/no-unsafe-regex\n strNumber.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSymbol)\n : strNumber;\n}\n","import {TUI_DECIMAL_SYMBOLS} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport function tuiEnableAutoCorrectDecimalSymbol({\n thousandSeparator,\n}: TuiNumberFormatSettings): boolean {\n return !TUI_DECIMAL_SYMBOLS.includes(thousandSeparator);\n}\n","import {CHAR_HYPHEN} from '@taiga-ui/cdk';\n\nexport function tuiMaskedMoneyValueIsEmpty(value: string): boolean {\n switch (value) {\n case ``:\n case CHAR_HYPHEN:\n case `,`:\n case `${CHAR_HYPHEN},`:\n return true;\n default:\n return false;\n }\n}\n","import {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\nexport function tuiMaskedNumberStringToNumber(\n value: string,\n decimalsSymbol: TuiDecimalSymbol,\n thousandSymbol: string,\n): number {\n return parseFloat(\n value.split(thousandSymbol).join(``).split(decimalsSymbol).join(`.`),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CHAR_NO_BREAK_SPACE","tuiAssert","tuiIsSafari","CHAR_HYPHEN","tuiIsNativeFocused","tuiGetDocumentOrShadowRoot","MASK_CARET_TRAP","CHAR_EN_DASH","TUI_DIGIT_REGEXP","TUI_NON_DIGITS_REGEXP","TUI_LEADING_ZEROES_REGEXP","tuiOtherDecimalSymbol","TUI_DECIMAL_SYMBOLS"],"mappings":"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"}
@@ -9,7 +9,6 @@ import { TuiPrimitiveTextfield } from './primitive-textfield-types';
9
9
  import * as i0 from "@angular/core";
10
10
  export declare class TuiPrimitiveTextfieldComponent extends AbstractTuiInteractive implements TuiPrimitiveTextfield {
11
11
  readonly mode$: Observable<TuiBrightness | null>;
12
- readonly appearance: string;
13
12
  readonly controller: TuiTextfieldController;
14
13
  readonly hintOptions: TuiHintOptionsDirective | null;
15
14
  readonly options: TuiTextfieldOptions;
@@ -34,12 +33,13 @@ export declare class TuiPrimitiveTextfieldComponent extends AbstractTuiInteracti
34
33
  readonly valueChange: EventEmitter<string>;
35
34
  readonly content?: QueryList<unknown>;
36
35
  autofilled: boolean;
37
- constructor(mode$: Observable<TuiBrightness | null>, appearance: string, controller: TuiTextfieldController, hintOptions: TuiHintOptionsDirective | null, options: TuiTextfieldOptions, elementRef: ElementRef<HTMLElement>);
36
+ constructor(mode$: Observable<TuiBrightness | null>, controller: TuiTextfieldController, hintOptions: TuiHintOptionsDirective | null, options: TuiTextfieldOptions, elementRef: ElementRef<HTMLElement>);
38
37
  get prefix(): string;
39
38
  get postfix(): string;
40
39
  get filler(): string;
41
40
  get nativeFocusableElement(): HTMLInputElement | null;
42
41
  get focused(): boolean;
42
+ get appearance(): string;
43
43
  get size(): TuiSizeL | TuiSizeS;
44
44
  get computedInvalid(): boolean;
45
45
  get inputHidden(): boolean;
@@ -67,6 +67,6 @@ export declare class TuiPrimitiveTextfieldComponent extends AbstractTuiInteracti
67
67
  private get placeholderRaisable();
68
68
  private updateAutofilled;
69
69
  private updateValue;
70
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiPrimitiveTextfieldComponent, [null, null, null, { optional: true; }, null, null]>;
70
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiPrimitiveTextfieldComponent, [null, null, { optional: true; }, null, null]>;
71
71
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiPrimitiveTextfieldComponent, "tui-primitive-textfield", never, { "editable": "editable"; "textfieldFiller": "filler"; "iconCleaner": "iconCleaner"; "readOnly": "readOnly"; "invalid": "invalid"; "disabled": "disabled"; "textfieldPrefix": "prefix"; "textfieldPostfix": "postfix"; "value": "value"; }, { "valueChange": "valueChange"; }, ["content"], ["input", "select", "tuiContent", "*"]>;
72
72
  }
@@ -5,6 +5,7 @@ export declare class TuiDropdownContextDirective extends TuiDriver implements Tu
5
5
  readonly activeZone: TuiActiveZoneDirective;
6
6
  private readonly stream$;
7
7
  private currentRect;
8
+ readonly type = "dropdown";
8
9
  constructor(activeZone: TuiActiveZoneDirective);
9
10
  onContextMenu(x: number, y: number): void;
10
11
  closeDropdown(): void;
@@ -1,6 +1,9 @@
1
- import { AbstractTuiDriverDirective } from '@taiga-ui/core/abstract';
1
+ import { AbstractTuiDriverDirective, TuiDriver, TuiVehicle } from '@taiga-ui/core/abstract';
2
+ import { Observable } from 'rxjs';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class TuiDropdownDriverDirective extends AbstractTuiDriverDirective {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownDriverDirective, never>;
5
+ readonly type = "dropdown";
6
+ constructor(destroy$: Observable<unknown>, drivers: TuiDriver[], vehicles: TuiVehicle[]);
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownDriverDirective, [{ self: true; }, null, null]>;
5
8
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownDriverDirective, "[tuiDropdown]", never, {}, {}, never>;
6
9
  }
@@ -2,6 +2,7 @@ import { TuiRectAccessor } from '@taiga-ui/core/abstract';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiDropdownHostDirective extends TuiRectAccessor {
4
4
  tuiDropdownHost?: HTMLElement;
5
+ readonly type = "dropdown";
5
6
  getClientRect(): ClientRect;
6
7
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownHostDirective, never>;
7
8
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownHostDirective, "[tuiDropdown][tuiDropdownHost]", never, { "tuiDropdownHost": "tuiDropdownHost"; }, {}, never>;
@@ -10,6 +10,7 @@ export declare class TuiDropdownHoverDirective extends TuiDriver {
10
10
  showDelay: number;
11
11
  hideDelay: number;
12
12
  hovered: boolean;
13
+ readonly type = "dropdown";
13
14
  constructor(hovered$: Observable<boolean>, options: TuiDropdownHoverOptions);
14
15
  toggle(visible: boolean): void;
15
16
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownHoverDirective, never>;
@@ -4,6 +4,7 @@ import * as i0 from "@angular/core";
4
4
  export declare class TuiDropdownManualDirective extends TuiDriver implements OnChanges {
5
5
  private readonly stream$;
6
6
  tuiDropdownManual: boolean;
7
+ readonly type = "dropdown";
7
8
  constructor();
8
9
  ngOnChanges(): void;
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownManualDirective, never>;
@@ -1,16 +1,17 @@
1
1
  import { TuiPositionAccessor, TuiRectAccessor } from '@taiga-ui/core/abstract';
2
2
  import { TuiPoint } from '@taiga-ui/core/types';
3
3
  import { TuiDropdownOptions } from './dropdown-options.directive';
4
+ import { TuiDropdownPositionDirective } from './dropdown-position.directive';
4
5
  import * as i0 from "@angular/core";
5
- export declare class TuiDropdownPositionSidedDirective implements TuiPositionAccessor {
6
+ export declare class TuiDropdownPositionSidedDirective extends TuiPositionAccessor {
6
7
  private readonly options;
7
8
  private readonly viewport;
8
- private readonly accessor;
9
9
  private readonly vertical;
10
10
  private previous;
11
11
  tuiDropdownSided: boolean | string;
12
12
  tuiDropdownSidedOffset: number;
13
- constructor(options: TuiDropdownOptions, viewport: TuiRectAccessor, accessor: TuiRectAccessor, vertical: TuiPositionAccessor);
13
+ readonly type = "dropdown";
14
+ constructor(options: TuiDropdownOptions, viewport: TuiRectAccessor, vertical: TuiDropdownPositionDirective);
14
15
  getPosition(rect: ClientRect): TuiPoint;
15
16
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownPositionSidedDirective, never>;
16
17
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownPositionSidedDirective, "[tuiDropdownSided]", never, { "tuiDropdownSided": "tuiDropdownSided"; "tuiDropdownSidedOffset": "tuiDropdownSidedOffset"; }, {}, never>;
@@ -1,14 +1,18 @@
1
1
  import { TuiPositionAccessor, TuiRectAccessor } from '@taiga-ui/core/abstract';
2
2
  import { TuiPoint } from '@taiga-ui/core/types';
3
+ import { TuiDropdownDirective } from './dropdown.directive';
3
4
  import { TuiDropdownOptions } from './dropdown-options.directive';
4
5
  import * as i0 from "@angular/core";
5
- export declare class TuiDropdownPositionDirective implements TuiPositionAccessor {
6
+ export declare class TuiDropdownPositionDirective extends TuiPositionAccessor {
6
7
  private readonly options;
7
8
  private readonly viewport;
8
- private readonly accessor;
9
+ private readonly accessors;
10
+ private readonly directive;
9
11
  private previous?;
10
- constructor(options: TuiDropdownOptions, viewport: TuiRectAccessor, accessor: TuiRectAccessor);
12
+ readonly type = "dropdown";
13
+ constructor(options: TuiDropdownOptions, viewport: TuiRectAccessor, accessors: readonly TuiRectAccessor[], directive: TuiDropdownDirective);
11
14
  getPosition({ width, height }: ClientRect): TuiPoint;
15
+ get accessor(): TuiRectAccessor;
12
16
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownPositionDirective, never>;
13
17
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownPositionDirective, "[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])", never, {}, {}, never>;
14
18
  }
@@ -16,6 +16,7 @@ export declare class TuiDropdownSelectionDirective extends TuiDriver implements
16
16
  private ghost?;
17
17
  position: 'selection' | 'tag' | 'word';
18
18
  set tuiDropdownSelection(visible: TuiBooleanHandler<Range> | string);
19
+ readonly type = "dropdown";
19
20
  constructor(range: Range, documentRef: Document, selection$: Observable<unknown>, elementRef: ElementRef<HTMLElement>, viewContainerRef: ViewContainerRef, dropdown: TuiDropdownDirective);
20
21
  getClientRect(): ClientRect;
21
22
  ngOnDestroy(): void;
@@ -1,16 +1,19 @@
1
- import { AfterViewChecked, ComponentRef, ElementRef, OnChanges, OnDestroy } from '@angular/core';
1
+ import { AfterViewChecked, ComponentRef, ElementRef, Injector, OnChanges, OnDestroy, Type } from '@angular/core';
2
2
  import { TuiActiveZoneDirective, TuiContextWithImplicit, TuiDropdownPortalService } from '@taiga-ui/cdk';
3
3
  import { TuiRectAccessor, TuiVehicle } from '@taiga-ui/core/abstract';
4
4
  import { TuiPortalItem } from '@taiga-ui/core/interfaces';
5
5
  import { PolymorpheusComponent, PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class TuiDropdownDirective implements AfterViewChecked, OnDestroy, OnChanges, TuiPortalItem, TuiRectAccessor, TuiVehicle {
8
- private readonly elementRef;
9
- readonly component: PolymorpheusComponent<unknown, any>;
8
+ readonly elementRef: ElementRef<HTMLElement>;
9
+ private readonly hapica;
10
+ private readonly injector;
10
11
  private readonly dropdownService;
11
12
  content: PolymorpheusContent<TuiContextWithImplicit<TuiActiveZoneDirective>>;
12
13
  dropdownBoxRef: ComponentRef<unknown> | null;
13
- constructor(elementRef: ElementRef<HTMLElement>, component: PolymorpheusComponent<unknown, any>, dropdownService: TuiDropdownPortalService);
14
+ readonly type = "dropdown";
15
+ readonly component: PolymorpheusComponent<unknown, unknown>;
16
+ constructor(elementRef: ElementRef<HTMLElement>, hapica: Type<unknown>, injector: Injector, dropdownService: TuiDropdownPortalService);
14
17
  get position(): 'absolute' | 'fixed';
15
18
  ngAfterViewChecked(): void;
16
19
  ngOnChanges(): void;
@@ -1,16 +1,14 @@
1
1
  import { ElementRef, NgZone } from '@angular/core';
2
2
  import { TuiDriver } from '@taiga-ui/core/abstract';
3
- import { Observable } from 'rxjs';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class TuiHintDescribeDirective extends TuiDriver {
6
5
  private readonly ngZone;
7
- private readonly hover$;
8
6
  private readonly documentRef;
9
7
  private readonly elementRef;
10
- private readonly focus$;
11
8
  private readonly stream$;
12
- tuiHintDescribe: string;
13
- constructor(ngZone: NgZone, hover$: Observable<boolean>, documentRef: Document, elementRef: ElementRef<HTMLElement>);
9
+ tuiHintDescribe: string | '';
10
+ readonly type = "hint";
11
+ constructor(ngZone: NgZone, documentRef: Document, elementRef: ElementRef<HTMLElement>);
14
12
  private get focused();
15
13
  private get element();
16
14
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintDescribeDirective, never>;
@@ -1,6 +1,9 @@
1
- import { AbstractTuiDriverDirective } from '@taiga-ui/core/abstract';
1
+ import { AbstractTuiDriverDirective, TuiDriver, TuiVehicle } from '@taiga-ui/core/abstract';
2
+ import { Observable } from 'rxjs';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class TuiHintDriverDirective extends AbstractTuiDriverDirective {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintDriverDirective, never>;
5
+ readonly type = "hint";
6
+ constructor(destroy$: Observable<unknown>, drivers: TuiDriver[], vehicles: TuiVehicle[]);
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintDriverDirective, [{ self: true; }, null, null]>;
5
8
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHintDriverDirective, "[tuiHint]", never, {}, {}, never>;
6
9
  }
@@ -2,6 +2,7 @@ import { TuiRectAccessor } from '@taiga-ui/core/abstract';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiHintHostDirective extends TuiRectAccessor {
4
4
  tuiHintHost?: HTMLElement;
5
+ readonly type = "hint";
5
6
  getClientRect(): ClientRect;
6
7
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintHostDirective, never>;
7
8
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHintHostDirective, "[tuiHint][tuiHintHost]", never, { "tuiHintHost": "tuiHintHost"; }, {}, never>;
@@ -11,6 +11,8 @@ export declare class TuiHintHoverDirective extends TuiDriver {
11
11
  private readonly stream$;
12
12
  showDelay: TuiHintOptions['showDelay'];
13
13
  hideDelay: TuiHintOptions['hideDelay'];
14
+ readonly type = "hint";
15
+ enabled: boolean;
14
16
  constructor(hovered$: Observable<boolean>, options: TuiHintOptions, elementRef: ElementRef<HTMLElement>);
15
17
  toggle(visible: boolean): void;
16
18
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintHoverDirective, never>;
@@ -1,10 +1,12 @@
1
1
  import { OnChanges } from '@angular/core';
2
2
  import { TuiDriver } from '@taiga-ui/core/abstract';
3
+ import { TuiHintHoverDirective } from './hint-hover.directive';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class TuiHintManualDirective extends TuiDriver implements OnChanges {
5
6
  private readonly stream$;
6
7
  tuiHintManual: boolean;
7
- constructor();
8
+ readonly type = "hint";
9
+ constructor(hover: TuiHintHoverDirective);
8
10
  ngOnChanges(): void;
9
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintManualDirective, never>;
10
12
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHintManualDirective, "[tuiHint][tuiHintManual]", never, { "tuiHintManual": "tuiHintManual"; }, {}, never>;
@@ -2,14 +2,17 @@ import { TuiPositionAccessor, TuiRectAccessor } from '@taiga-ui/core/abstract';
2
2
  import { TuiPoint } from '@taiga-ui/core/types';
3
3
  import { TuiHintOptions } from './hint-options.directive';
4
4
  import * as i0 from "@angular/core";
5
- export declare class TuiHintPositionDirective implements TuiPositionAccessor {
5
+ export declare class TuiHintPositionDirective extends TuiPositionAccessor {
6
6
  private readonly options;
7
7
  private readonly viewport;
8
- private readonly accessor;
8
+ private readonly directive;
9
+ private readonly accessors;
9
10
  private readonly points;
10
11
  direction: TuiHintOptions['direction'];
11
- constructor(options: TuiHintOptions, viewport: TuiRectAccessor, accessor: TuiRectAccessor);
12
+ readonly type = "hint";
13
+ constructor(options: TuiHintOptions, viewport: TuiRectAccessor, directive: TuiRectAccessor, accessors: readonly TuiRectAccessor[]);
12
14
  getPosition({ width, height }: ClientRect): TuiPoint;
15
+ private get accessor();
13
16
  private get fallback();
14
17
  private checkPosition;
15
18
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintPositionDirective, never>;
@@ -8,14 +8,15 @@ import { TuiHintOptions } from './hint-options.directive';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class TuiHintDirective<C> implements OnDestroy, OnChanges, TuiPortalItem<C>, TuiRectAccessor, TuiVehicle {
10
10
  private readonly elementRef;
11
- readonly component: PolymorpheusComponent<Record<string, any>, Record<string, any>>;
11
+ readonly component: PolymorpheusComponent<unknown, any>;
12
12
  private readonly hintService;
13
13
  private readonly options;
14
14
  readonly activeZone?: TuiActiveZoneDirective | null | undefined;
15
15
  content: PolymorpheusContent<C>;
16
16
  context?: C;
17
17
  tuiHintAppearance: string | null;
18
- constructor(elementRef: ElementRef<HTMLElement>, component: PolymorpheusComponent<Record<string, any>, Record<string, any>>, hintService: TuiHintService, options: TuiHintOptions, activeZone?: TuiActiveZoneDirective | null | undefined);
18
+ readonly type = "hint";
19
+ constructor(elementRef: ElementRef<HTMLElement>, component: PolymorpheusComponent<unknown, any>, hintService: TuiHintService, options: TuiHintOptions, activeZone?: TuiActiveZoneDirective | null | undefined);
19
20
  get appearance(): string;
20
21
  ngOnChanges(): void;
21
22
  ngOnDestroy(): void;
@@ -1,4 +1,5 @@
1
1
  export * from './textfield.controller';
2
+ export * from './textfield-appearance.directive';
2
3
  export * from './textfield-cleaner.directive';
3
4
  export * from './textfield-controller.module';
4
5
  export * from './textfield-controller.provider';