@taiga-ui/cdk 2.43.0 → 2.46.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 (445) hide show
  1. package/abstract/dialog.service.d.ts +2 -2
  2. package/abstract/taiga-ui-cdk-abstract.metadata.json +1 -1
  3. package/bundles/taiga-ui-cdk-abstract.umd.js +1 -1
  4. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-cdk-classes.umd.js +4 -2
  7. package/bundles/taiga-ui-cdk-classes.umd.js.map +1 -1
  8. package/bundles/taiga-ui-cdk-classes.umd.min.js +1 -1
  9. package/bundles/taiga-ui-cdk-classes.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-cdk-coercion.umd.js +3 -1
  11. package/bundles/taiga-ui-cdk-coercion.umd.js.map +1 -1
  12. package/bundles/taiga-ui-cdk-coercion.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-cdk-components-alert-host.umd.js.map +1 -1
  14. package/bundles/taiga-ui-cdk-components-alert-host.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +4 -4
  16. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
  17. package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js +2 -2
  18. package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-cdk-components-portal-host.umd.js +1 -1
  20. package/bundles/taiga-ui-cdk-components-portal-host.umd.js.map +1 -1
  21. package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
  23. package/bundles/taiga-ui-cdk-constants.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-cdk-date-time.umd.js +40 -12
  25. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  26. package/bundles/taiga-ui-cdk-date-time.umd.min.js +1 -1
  27. package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-cdk-decorators.umd.js +0 -2
  29. package/bundles/taiga-ui-cdk-decorators.umd.js.map +1 -1
  30. package/bundles/taiga-ui-cdk-decorators.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js.map +1 -1
  32. package/bundles/taiga-ui-cdk-directives-active-zone.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +132 -50
  34. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
  35. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js +2 -2
  36. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js +41 -22
  38. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
  39. package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js +2 -2
  40. package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-cdk-directives-checked.umd.js.map +1 -1
  42. package/bundles/taiga-ui-cdk-directives-checked.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js.map +1 -1
  44. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js +3 -1
  46. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js.map +1 -1
  47. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-cdk-directives-for.umd.js.map +1 -1
  49. package/bundles/taiga-ui-cdk-directives-for.umd.min.js.map +1 -1
  50. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js.map +1 -1
  51. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-cdk-directives-item.umd.js +1 -1
  53. package/bundles/taiga-ui-cdk-directives-item.umd.js.map +1 -1
  54. package/bundles/taiga-ui-cdk-directives-item.umd.min.js.map +1 -1
  55. package/bundles/taiga-ui-cdk-directives-media.umd.js +1 -0
  56. package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
  57. package/bundles/taiga-ui-cdk-directives-media.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js.map +1 -1
  59. package/bundles/taiga-ui-cdk-directives-overscroll.umd.min.js.map +1 -1
  60. package/bundles/taiga-ui-cdk-directives-portal.umd.js +281 -0
  61. package/bundles/taiga-ui-cdk-directives-portal.umd.js.map +1 -0
  62. package/bundles/taiga-ui-cdk-directives-portal.umd.min.js +16 -0
  63. package/bundles/taiga-ui-cdk-directives-portal.umd.min.js.map +1 -0
  64. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js.map +1 -1
  65. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.min.js.map +1 -1
  66. package/bundles/taiga-ui-cdk-directives-validator.umd.js.map +1 -1
  67. package/bundles/taiga-ui-cdk-directives-validator.umd.min.js.map +1 -1
  68. package/bundles/taiga-ui-cdk-directives.umd.js +12 -4
  69. package/bundles/taiga-ui-cdk-directives.umd.js.map +1 -1
  70. package/bundles/taiga-ui-cdk-directives.umd.min.js +1 -1
  71. package/bundles/taiga-ui-cdk-observables.umd.js +1 -1
  72. package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
  73. package/bundles/taiga-ui-cdk-observables.umd.min.js.map +1 -1
  74. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  75. package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
  76. package/bundles/taiga-ui-cdk-tokens.umd.js +5 -7
  77. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  78. package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -1
  79. package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
  80. package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
  81. package/bundles/taiga-ui-cdk-utils-browser.umd.min.js.map +1 -1
  82. package/bundles/taiga-ui-cdk-utils-focus.umd.js +2 -0
  83. package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
  84. package/bundles/taiga-ui-cdk-utils-focus.umd.min.js.map +1 -1
  85. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
  86. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-cdk-utils-os.umd.js +25 -0
  88. package/bundles/taiga-ui-cdk-utils-os.umd.js.map +1 -0
  89. package/bundles/taiga-ui-cdk-utils-os.umd.min.js +2 -0
  90. package/bundles/taiga-ui-cdk-utils-os.umd.min.js.map +1 -0
  91. package/bundles/taiga-ui-cdk-utils-svg.umd.js +259 -0
  92. package/bundles/taiga-ui-cdk-utils-svg.umd.js.map +1 -0
  93. package/bundles/taiga-ui-cdk-utils-svg.umd.min.js +16 -0
  94. package/bundles/taiga-ui-cdk-utils-svg.umd.min.js.map +1 -0
  95. package/bundles/taiga-ui-cdk-utils.umd.js +20 -4
  96. package/bundles/taiga-ui-cdk-utils.umd.js.map +1 -1
  97. package/bundles/taiga-ui-cdk-utils.umd.min.js +1 -1
  98. package/classes/assert.d.ts +1 -1
  99. package/classes/validation-error.d.ts +1 -1
  100. package/coercion/taiga-ui-cdk-coercion.metadata.json +1 -1
  101. package/components/alert-host/alert-host.component.d.ts +2 -2
  102. package/components/alert-host/taiga-ui-cdk-components-alert-host.metadata.json +1 -1
  103. package/components/dialog-host/dialog-host.component.d.ts +1 -1
  104. package/components/dialog-host/taiga-ui-cdk-components-dialog-host.metadata.json +1 -1
  105. package/components/portal-host/portal.service.d.ts +1 -1
  106. package/constants/always-false-handler.d.ts +1 -1
  107. package/constants/always-true-handler.d.ts +1 -1
  108. package/constants/empty.d.ts +1 -1
  109. package/constants/taiga-ui-cdk-constants.metadata.json +1 -1
  110. package/date-time/date-fillers.d.ts +0 -2
  111. package/date-time/day-range.d.ts +1 -2
  112. package/date-time/day.d.ts +4 -1
  113. package/date-time/month-range.d.ts +0 -1
  114. package/date-time/month.d.ts +1 -1
  115. package/date-time/taiga-ui-cdk-date-time.metadata.json +1 -1
  116. package/date-time/time.d.ts +7 -0
  117. package/date-time/year.d.ts +7 -0
  118. package/decorators/default-prop.d.ts +1 -3
  119. package/decorators/pure.d.ts +1 -1
  120. package/decorators/taiga-ui-cdk-decorators.metadata.json +1 -1
  121. package/directives/auto-focus/autofocus.directive.d.ts +4 -13
  122. package/directives/auto-focus/autofocus.options.d.ts +13 -0
  123. package/directives/auto-focus/handlers/abstract.handler.d.ts +11 -0
  124. package/directives/auto-focus/handlers/default.handler.d.ts +9 -0
  125. package/directives/auto-focus/handlers/ios.handler.d.ts +10 -0
  126. package/directives/auto-focus/index.d.ts +4 -0
  127. package/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.metadata.json +1 -1
  128. package/directives/autofilled/autofilled-style.component.d.ts +2 -0
  129. package/directives/autofilled/autofilled.directive.d.ts +5 -4
  130. package/directives/autofilled/index.d.ts +1 -0
  131. package/directives/autofilled/taiga-ui-cdk-directives-autofilled.metadata.json +1 -1
  132. package/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.metadata.json +1 -1
  133. package/directives/for/for.directive.d.ts +1 -1
  134. package/directives/high-dpi/high-dpi.directive.d.ts +1 -1
  135. package/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.metadata.json +1 -1
  136. package/directives/index.d.ts +1 -0
  137. package/directives/item/item.directive.d.ts +1 -1
  138. package/directives/media/taiga-ui-cdk-directives-media.metadata.json +1 -1
  139. package/directives/portal/index.d.ts +2 -0
  140. package/directives/portal/package.json +13 -0
  141. package/directives/portal/portal.directive.d.ts +10 -0
  142. package/directives/portal/portal.module.d.ts +2 -0
  143. package/directives/portal/taiga-ui-cdk-directives-portal.d.ts +4 -0
  144. package/directives/portal/taiga-ui-cdk-directives-portal.metadata.json +1 -0
  145. package/directives/taiga-ui-cdk-directives.metadata.json +1 -1
  146. package/directives/validator/validator.directive.d.ts +1 -1
  147. package/esm2015/abstract/control.js +1 -1
  148. package/esm2015/abstract/controller.js +1 -1
  149. package/esm2015/abstract/dialog.service.js +1 -1
  150. package/esm2015/abstract/interactive.js +2 -2
  151. package/esm2015/abstract/multiple-control.js +1 -1
  152. package/esm2015/abstract/portal-service.js +1 -1
  153. package/esm2015/abstract/theme-switcher.js +1 -1
  154. package/esm2015/classes/assert.js +5 -3
  155. package/esm2015/classes/validation-error.js +1 -1
  156. package/esm2015/coercion/coerce-boolean-property.js +4 -2
  157. package/esm2015/components/alert-host/alert-host.component.js +1 -1
  158. package/esm2015/components/dialog-host/dialog-host.component.js +5 -5
  159. package/esm2015/components/portal-host/portal.service.js +2 -2
  160. package/esm2015/constants/always-false-handler.js +1 -1
  161. package/esm2015/constants/always-true-handler.js +1 -1
  162. package/esm2015/constants/empty.js +1 -1
  163. package/esm2015/constants/matcher.js +1 -1
  164. package/esm2015/date-time/date-fillers.js +1 -3
  165. package/esm2015/date-time/date-separator.js +1 -1
  166. package/esm2015/date-time/day-range.js +2 -2
  167. package/esm2015/date-time/day.js +12 -3
  168. package/esm2015/date-time/month-range.js +1 -2
  169. package/esm2015/date-time/month.js +5 -3
  170. package/esm2015/date-time/time.js +12 -1
  171. package/esm2015/date-time/year.js +13 -2
  172. package/esm2015/decorators/default-prop.js +1 -3
  173. package/esm2015/decorators/pure.js +1 -1
  174. package/esm2015/decorators/required-setter.js +1 -1
  175. package/esm2015/directives/active-zone/active-zone.directive.js +1 -1
  176. package/esm2015/directives/auto-focus/autofocus.directive.js +11 -87
  177. package/esm2015/directives/auto-focus/autofocus.options.js +27 -0
  178. package/esm2015/directives/auto-focus/handlers/abstract.handler.js +25 -0
  179. package/esm2015/directives/auto-focus/handlers/default.handler.js +39 -0
  180. package/esm2015/directives/auto-focus/handlers/ios.handler.js +70 -0
  181. package/esm2015/directives/auto-focus/index.js +5 -1
  182. package/esm2015/directives/autofilled/autofilled-style.component.js +13 -0
  183. package/esm2015/directives/autofilled/autofilled.directive.js +23 -37
  184. package/esm2015/directives/autofilled/autofilled.module.js +4 -2
  185. package/esm2015/directives/autofilled/index.js +2 -1
  186. package/esm2015/directives/checked/checked.directive.js +1 -1
  187. package/esm2015/directives/copy-processor/copy-processor.directive.js +1 -1
  188. package/esm2015/directives/focus-trap/focus-trap.directive.js +4 -2
  189. package/esm2015/directives/for/for.directive.js +1 -1
  190. package/esm2015/directives/high-dpi/high-dpi.directive.js +1 -1
  191. package/esm2015/directives/index.js +2 -1
  192. package/esm2015/directives/item/item.directive.js +2 -2
  193. package/esm2015/directives/media/media.directive.js +2 -1
  194. package/esm2015/directives/overscroll/overscroll.directive.js +1 -1
  195. package/esm2015/directives/portal/index.js +3 -0
  196. package/esm2015/directives/portal/portal.directive.js +36 -0
  197. package/esm2015/directives/portal/portal.module.js +13 -0
  198. package/esm2015/directives/portal/taiga-ui-cdk-directives-portal.js +5 -0
  199. package/esm2015/directives/repeat-times/repeat-times.directive.js +1 -1
  200. package/esm2015/directives/validator/validator.directive.js +1 -1
  201. package/esm2015/interfaces/alert-context.js +1 -0
  202. package/esm2015/interfaces/index.js +1 -1
  203. package/esm2015/observables/replay-control-value-changes.js +2 -2
  204. package/esm2015/services/destroy.service.js +1 -1
  205. package/esm2015/services/directive-styles.service.js +1 -1
  206. package/esm2015/services/parents-scroll.service.js +1 -1
  207. package/esm2015/tokens/index.js +2 -1
  208. package/esm2015/tokens/is-apple.js +5 -0
  209. package/esm2015/tokens/is-ios.js +4 -6
  210. package/esm2015/tokens/is-mobile.js +2 -2
  211. package/esm2015/utils/browser/index.js +2 -2
  212. package/esm2015/utils/browser/{is-IE.js → is-ie.js} +1 -1
  213. package/esm2015/utils/focus/blur-native-focused.js +1 -1
  214. package/esm2015/utils/focus/move-focus.js +1 -1
  215. package/esm2015/utils/focus/set-native-focused.js +3 -1
  216. package/esm2015/utils/focus/set-native-mouse-focused.js +1 -1
  217. package/esm2015/utils/index.js +3 -1
  218. package/esm2015/utils/miscellaneous/mark-control-as-touched-and-validate.js +1 -1
  219. package/esm2015/utils/os/index.js +3 -0
  220. package/esm2015/utils/os/is-apple.js +6 -0
  221. package/esm2015/utils/os/is-ios.js +7 -0
  222. package/esm2015/utils/os/taiga-ui-cdk-utils-os.js +5 -0
  223. package/esm2015/utils/svg/index.js +2 -0
  224. package/esm2015/utils/svg/svg-linear-gradient-processor.js +26 -0
  225. package/esm2015/utils/svg/taiga-ui-cdk-utils-svg.js +5 -0
  226. package/esm5/abstract/control.js +1 -1
  227. package/esm5/abstract/controller.js +1 -1
  228. package/esm5/abstract/dialog.service.js +1 -1
  229. package/esm5/abstract/interactive.js +2 -2
  230. package/esm5/abstract/multiple-control.js +1 -1
  231. package/esm5/abstract/portal-service.js +1 -1
  232. package/esm5/abstract/theme-switcher.js +1 -1
  233. package/esm5/classes/assert.js +5 -3
  234. package/esm5/classes/validation-error.js +1 -1
  235. package/esm5/coercion/coerce-boolean-property.js +4 -2
  236. package/esm5/components/alert-host/alert-host.component.js +1 -1
  237. package/esm5/components/dialog-host/dialog-host.component.js +5 -5
  238. package/esm5/components/portal-host/portal.service.js +2 -2
  239. package/esm5/constants/always-false-handler.js +1 -1
  240. package/esm5/constants/always-true-handler.js +1 -1
  241. package/esm5/constants/empty.js +1 -1
  242. package/esm5/constants/matcher.js +1 -1
  243. package/esm5/date-time/date-fillers.js +1 -3
  244. package/esm5/date-time/date-separator.js +2 -4
  245. package/esm5/date-time/day-range.js +2 -2
  246. package/esm5/date-time/day.js +12 -3
  247. package/esm5/date-time/month-range.js +1 -2
  248. package/esm5/date-time/month.js +5 -3
  249. package/esm5/date-time/time.js +12 -1
  250. package/esm5/date-time/year.js +13 -2
  251. package/esm5/decorators/default-prop.js +1 -3
  252. package/esm5/decorators/pure.js +1 -1
  253. package/esm5/decorators/required-setter.js +1 -1
  254. package/esm5/directives/active-zone/active-zone.directive.js +1 -1
  255. package/esm5/directives/auto-focus/autofocus.directive.js +11 -97
  256. package/esm5/directives/auto-focus/autofocus.options.js +27 -0
  257. package/esm5/directives/auto-focus/handlers/abstract.handler.js +34 -0
  258. package/esm5/directives/auto-focus/handlers/default.handler.js +43 -0
  259. package/esm5/directives/auto-focus/handlers/ios.handler.js +75 -0
  260. package/esm5/directives/auto-focus/index.js +5 -1
  261. package/esm5/directives/autofilled/autofilled-style.component.js +16 -0
  262. package/esm5/directives/autofilled/autofilled.directive.js +24 -21
  263. package/esm5/directives/autofilled/autofilled.module.js +4 -2
  264. package/esm5/directives/autofilled/index.js +2 -1
  265. package/esm5/directives/checked/checked.directive.js +1 -1
  266. package/esm5/directives/copy-processor/copy-processor.directive.js +1 -1
  267. package/esm5/directives/focus-trap/focus-trap.directive.js +4 -2
  268. package/esm5/directives/for/for.directive.js +1 -1
  269. package/esm5/directives/high-dpi/high-dpi.directive.js +1 -1
  270. package/esm5/directives/index.js +2 -1
  271. package/esm5/directives/item/item.directive.js +2 -2
  272. package/esm5/directives/media/media.directive.js +2 -1
  273. package/esm5/directives/overscroll/overscroll.directive.js +1 -1
  274. package/esm5/directives/portal/index.js +3 -0
  275. package/esm5/directives/portal/portal.directive.js +41 -0
  276. package/esm5/directives/portal/portal.module.js +16 -0
  277. package/esm5/directives/portal/taiga-ui-cdk-directives-portal.js +5 -0
  278. package/esm5/directives/repeat-times/repeat-times.directive.js +1 -1
  279. package/esm5/directives/validator/validator.directive.js +1 -1
  280. package/esm5/interfaces/alert-context.js +1 -0
  281. package/esm5/interfaces/index.js +1 -1
  282. package/esm5/observables/replay-control-value-changes.js +2 -2
  283. package/esm5/services/destroy.service.js +1 -1
  284. package/esm5/services/directive-styles.service.js +1 -1
  285. package/esm5/services/parents-scroll.service.js +1 -1
  286. package/esm5/tokens/index.js +2 -1
  287. package/esm5/tokens/is-apple.js +5 -0
  288. package/esm5/tokens/is-ios.js +4 -8
  289. package/esm5/tokens/is-mobile.js +2 -2
  290. package/esm5/utils/browser/index.js +2 -2
  291. package/esm5/utils/browser/{is-IE.js → is-ie.js} +1 -1
  292. package/esm5/utils/focus/blur-native-focused.js +1 -1
  293. package/esm5/utils/focus/move-focus.js +1 -1
  294. package/esm5/utils/focus/set-native-focused.js +3 -1
  295. package/esm5/utils/focus/set-native-mouse-focused.js +1 -1
  296. package/esm5/utils/index.js +3 -1
  297. package/esm5/utils/miscellaneous/mark-control-as-touched-and-validate.js +1 -1
  298. package/esm5/utils/os/index.js +3 -0
  299. package/esm5/utils/os/is-apple.js +6 -0
  300. package/esm5/utils/os/is-ios.js +7 -0
  301. package/esm5/utils/os/taiga-ui-cdk-utils-os.js +5 -0
  302. package/esm5/utils/svg/index.js +2 -0
  303. package/esm5/utils/svg/svg-linear-gradient-processor.js +29 -0
  304. package/esm5/utils/svg/taiga-ui-cdk-utils-svg.js +5 -0
  305. package/fesm2015/taiga-ui-cdk-abstract.js +1 -1
  306. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  307. package/fesm2015/taiga-ui-cdk-classes.js +4 -2
  308. package/fesm2015/taiga-ui-cdk-classes.js.map +1 -1
  309. package/fesm2015/taiga-ui-cdk-coercion.js +3 -1
  310. package/fesm2015/taiga-ui-cdk-coercion.js.map +1 -1
  311. package/fesm2015/taiga-ui-cdk-components-alert-host.js.map +1 -1
  312. package/fesm2015/taiga-ui-cdk-components-dialog-host.js +4 -4
  313. package/fesm2015/taiga-ui-cdk-components-dialog-host.js.map +1 -1
  314. package/fesm2015/taiga-ui-cdk-components-portal-host.js +1 -1
  315. package/fesm2015/taiga-ui-cdk-components-portal-host.js.map +1 -1
  316. package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
  317. package/fesm2015/taiga-ui-cdk-date-time.js +39 -9
  318. package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
  319. package/fesm2015/taiga-ui-cdk-decorators.js +0 -2
  320. package/fesm2015/taiga-ui-cdk-decorators.js.map +1 -1
  321. package/fesm2015/taiga-ui-cdk-directives-active-zone.js.map +1 -1
  322. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +113 -46
  323. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  324. package/fesm2015/taiga-ui-cdk-directives-autofilled.js +33 -37
  325. package/fesm2015/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  326. package/fesm2015/taiga-ui-cdk-directives-checked.js.map +1 -1
  327. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js.map +1 -1
  328. package/fesm2015/taiga-ui-cdk-directives-focus-trap.js +3 -1
  329. package/fesm2015/taiga-ui-cdk-directives-focus-trap.js.map +1 -1
  330. package/fesm2015/taiga-ui-cdk-directives-for.js.map +1 -1
  331. package/fesm2015/taiga-ui-cdk-directives-high-dpi.js.map +1 -1
  332. package/fesm2015/taiga-ui-cdk-directives-item.js +1 -1
  333. package/fesm2015/taiga-ui-cdk-directives-item.js.map +1 -1
  334. package/fesm2015/taiga-ui-cdk-directives-media.js +1 -0
  335. package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
  336. package/fesm2015/taiga-ui-cdk-directives-overscroll.js.map +1 -1
  337. package/fesm2015/taiga-ui-cdk-directives-portal.js +51 -0
  338. package/fesm2015/taiga-ui-cdk-directives-portal.js.map +1 -0
  339. package/fesm2015/taiga-ui-cdk-directives-repeat-times.js.map +1 -1
  340. package/fesm2015/taiga-ui-cdk-directives-validator.js.map +1 -1
  341. package/fesm2015/taiga-ui-cdk-directives.js +1 -0
  342. package/fesm2015/taiga-ui-cdk-directives.js.map +1 -1
  343. package/fesm2015/taiga-ui-cdk-observables.js +1 -1
  344. package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
  345. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  346. package/fesm2015/taiga-ui-cdk-tokens.js +7 -8
  347. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  348. package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
  349. package/fesm2015/taiga-ui-cdk-utils-focus.js +2 -0
  350. package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
  351. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  352. package/fesm2015/taiga-ui-cdk-utils-os.js +18 -0
  353. package/fesm2015/taiga-ui-cdk-utils-os.js.map +1 -0
  354. package/fesm2015/taiga-ui-cdk-utils-svg.js +32 -0
  355. package/fesm2015/taiga-ui-cdk-utils-svg.js.map +1 -0
  356. package/fesm2015/taiga-ui-cdk-utils.js +2 -0
  357. package/fesm2015/taiga-ui-cdk-utils.js.map +1 -1
  358. package/fesm5/taiga-ui-cdk-abstract.js +1 -1
  359. package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
  360. package/fesm5/taiga-ui-cdk-classes.js +4 -2
  361. package/fesm5/taiga-ui-cdk-classes.js.map +1 -1
  362. package/fesm5/taiga-ui-cdk-coercion.js +3 -1
  363. package/fesm5/taiga-ui-cdk-coercion.js.map +1 -1
  364. package/fesm5/taiga-ui-cdk-components-alert-host.js.map +1 -1
  365. package/fesm5/taiga-ui-cdk-components-dialog-host.js +4 -4
  366. package/fesm5/taiga-ui-cdk-components-dialog-host.js.map +1 -1
  367. package/fesm5/taiga-ui-cdk-components-portal-host.js +1 -1
  368. package/fesm5/taiga-ui-cdk-components-portal-host.js.map +1 -1
  369. package/fesm5/taiga-ui-cdk-constants.js.map +1 -1
  370. package/fesm5/taiga-ui-cdk-date-time.js +40 -12
  371. package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
  372. package/fesm5/taiga-ui-cdk-decorators.js +0 -2
  373. package/fesm5/taiga-ui-cdk-decorators.js.map +1 -1
  374. package/fesm5/taiga-ui-cdk-directives-active-zone.js.map +1 -1
  375. package/fesm5/taiga-ui-cdk-directives-auto-focus.js +126 -51
  376. package/fesm5/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  377. package/fesm5/taiga-ui-cdk-directives-autofilled.js +38 -22
  378. package/fesm5/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  379. package/fesm5/taiga-ui-cdk-directives-checked.js.map +1 -1
  380. package/fesm5/taiga-ui-cdk-directives-copy-processor.js.map +1 -1
  381. package/fesm5/taiga-ui-cdk-directives-focus-trap.js +3 -1
  382. package/fesm5/taiga-ui-cdk-directives-focus-trap.js.map +1 -1
  383. package/fesm5/taiga-ui-cdk-directives-for.js.map +1 -1
  384. package/fesm5/taiga-ui-cdk-directives-high-dpi.js.map +1 -1
  385. package/fesm5/taiga-ui-cdk-directives-item.js +1 -1
  386. package/fesm5/taiga-ui-cdk-directives-item.js.map +1 -1
  387. package/fesm5/taiga-ui-cdk-directives-media.js +1 -0
  388. package/fesm5/taiga-ui-cdk-directives-media.js.map +1 -1
  389. package/fesm5/taiga-ui-cdk-directives-overscroll.js.map +1 -1
  390. package/fesm5/taiga-ui-cdk-directives-portal.js +59 -0
  391. package/fesm5/taiga-ui-cdk-directives-portal.js.map +1 -0
  392. package/fesm5/taiga-ui-cdk-directives-repeat-times.js.map +1 -1
  393. package/fesm5/taiga-ui-cdk-directives-validator.js.map +1 -1
  394. package/fesm5/taiga-ui-cdk-directives.js +1 -0
  395. package/fesm5/taiga-ui-cdk-directives.js.map +1 -1
  396. package/fesm5/taiga-ui-cdk-observables.js +1 -1
  397. package/fesm5/taiga-ui-cdk-observables.js.map +1 -1
  398. package/fesm5/taiga-ui-cdk-services.js.map +1 -1
  399. package/fesm5/taiga-ui-cdk-tokens.js +7 -10
  400. package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
  401. package/fesm5/taiga-ui-cdk-utils-browser.js.map +1 -1
  402. package/fesm5/taiga-ui-cdk-utils-focus.js +2 -0
  403. package/fesm5/taiga-ui-cdk-utils-focus.js.map +1 -1
  404. package/fesm5/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  405. package/fesm5/taiga-ui-cdk-utils-os.js +18 -0
  406. package/fesm5/taiga-ui-cdk-utils-os.js.map +1 -0
  407. package/fesm5/taiga-ui-cdk-utils-svg.js +36 -0
  408. package/fesm5/taiga-ui-cdk-utils-svg.js.map +1 -0
  409. package/fesm5/taiga-ui-cdk-utils.js +2 -0
  410. package/fesm5/taiga-ui-cdk-utils.js.map +1 -1
  411. package/interfaces/alert-context.d.ts +2 -0
  412. package/interfaces/index.d.ts +1 -0
  413. package/interfaces/taiga-ui-cdk-interfaces.metadata.json +1 -1
  414. package/observables/replay-control-value-changes.d.ts +1 -1
  415. package/package.json +1 -1
  416. package/schematics/ng-add/constants/modules.d.ts +1 -1
  417. package/schematics/ng-add/constants/modules.js +2 -2
  418. package/schematics/ng-add/index.js +2 -10
  419. package/schematics/ng-add/schema.d.ts +1 -1
  420. package/schematics/ng-add/schema.json +3 -3
  421. package/schematics/ng-add/steps/add-taiga-icons.js +2 -10
  422. package/schematics/ng-add/steps/add-taiga-modules.js +3 -11
  423. package/schematics/ng-add/steps/add-taiga-styles.js +2 -10
  424. package/schematics/ng-add/steps/wrap-with-tui-root.js +2 -10
  425. package/schematics/ng-update/index.js +2 -10
  426. package/tokens/index.d.ts +1 -0
  427. package/tokens/is-apple.d.ts +2 -0
  428. package/tokens/taiga-ui-cdk-tokens.metadata.json +1 -1
  429. package/utils/browser/index.d.ts +1 -1
  430. package/utils/browser/{is-IE.d.ts → is-ie.d.ts} +0 -0
  431. package/utils/browser/taiga-ui-cdk-utils-browser.metadata.json +1 -1
  432. package/utils/focus/set-native-focused.d.ts +2 -0
  433. package/utils/index.d.ts +2 -0
  434. package/utils/os/index.d.ts +2 -0
  435. package/utils/os/is-apple.d.ts +1 -0
  436. package/utils/os/is-ios.d.ts +1 -0
  437. package/utils/os/package.json +13 -0
  438. package/utils/os/taiga-ui-cdk-utils-os.d.ts +4 -0
  439. package/utils/os/taiga-ui-cdk-utils-os.metadata.json +1 -0
  440. package/utils/svg/index.d.ts +1 -0
  441. package/utils/svg/package.json +13 -0
  442. package/utils/svg/svg-linear-gradient-processor.d.ts +15 -0
  443. package/utils/svg/taiga-ui-cdk-utils-svg.d.ts +4 -0
  444. package/utils/svg/taiga-ui-cdk-utils-svg.metadata.json +1 -0
  445. package/utils/taiga-ui-cdk-utils.metadata.json +1 -1
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @note(splincode):
3
+ * Any ‘linearGradient’ attributes which are defined on the referenced
4
+ * element which are not defined on this element are inherited by this element.
5
+ * If this element has no defined gradient stops, and the referenced element does
6
+ * (possibly due to its own ‘xlink:href’ attribute), then this element inherits
7
+ * the gradient stop from the referenced element. Inheritance can be indirect
8
+ * to an arbitrary level; thus, if the referenced element inherits attribute
9
+ * or gradient stops due to its own ‘xlink:href’ attribute, then the current
10
+ * element can inherit those attributes or gradient stops.
11
+ *
12
+ * Documentation: https://www.w3.org/TR/SVG11/pservers.html
13
+ *
14
+ */
15
+ function svgLinearGradientProcessor(svg, salt) {
16
+ const uniqueIds = extractLinearGradientIdsFromSvg(svg);
17
+ return uniqueIds.reduce((processed, previousId) => processed.replace(new RegExp(previousId, 'g'), `${previousId}_${salt || makeRandomSalt()}`), svg);
18
+ }
19
+ function makeRandomSalt() {
20
+ return Math.floor(Math.random() * Date.now());
21
+ }
22
+ function extractLinearGradientIdsFromSvg(svg) {
23
+ const matchedIdsWithPrefix = svg.match(/url\(#(\w\w+)/g) || [];
24
+ return [...new Set(matchedIdsWithPrefix)].map(matched => matched.slice(5));
25
+ }
26
+
27
+ /**
28
+ * Generated bundle index. Do not edit.
29
+ */
30
+
31
+ export { svgLinearGradientProcessor };
32
+ //# sourceMappingURL=taiga-ui-cdk-utils-svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-cdk-utils-svg.js","sources":["ng://@taiga-ui/cdk/utils/svg/svg-linear-gradient-processor.ts","ng://@taiga-ui/cdk/utils/svg/taiga-ui-cdk-utils-svg.ts"],"sourcesContent":["/**\n * @note(splincode):\n * Any ‘linearGradient’ attributes which are defined on the referenced\n * element which are not defined on this element are inherited by this element.\n * If this element has no defined gradient stops, and the referenced element does\n * (possibly due to its own ‘xlink:href’ attribute), then this element inherits\n * the gradient stop from the referenced element. Inheritance can be indirect\n * to an arbitrary level; thus, if the referenced element inherits attribute\n * or gradient stops due to its own ‘xlink:href’ attribute, then the current\n * element can inherit those attributes or gradient stops.\n *\n * Documentation: https://www.w3.org/TR/SVG11/pservers.html\n *\n */\nexport function svgLinearGradientProcessor(svg: string, salt?: number | string): string {\n const uniqueIds = extractLinearGradientIdsFromSvg(svg);\n\n return uniqueIds.reduce(\n (processed, previousId) =>\n processed.replace(\n new RegExp(previousId, 'g'),\n `${previousId}_${salt || makeRandomSalt()}`,\n ),\n svg,\n );\n}\n\nfunction makeRandomSalt(): number {\n return Math.floor(Math.random() * Date.now());\n}\n\nfunction extractLinearGradientIdsFromSvg(svg: string): string[] {\n const matchedIdsWithPrefix = svg.match(/url\\(#(\\w\\w+)/g) || [];\n\n return [...new Set(matchedIdsWithPrefix)].map(\n matched => matched.slice(5), // remove prefix `url(#`\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;SAcgB,0BAA0B,CAAC,GAAW,EAAE,IAAsB;IAC1E,MAAM,SAAS,GAAG,+BAA+B,CAAC,GAAG,CAAC,CAAC;IAEvD,OAAO,SAAS,CAAC,MAAM,CACnB,CAAC,SAAS,EAAE,UAAU,KAClB,SAAS,CAAC,OAAO,CACb,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,EAC3B,GAAG,UAAU,IAAI,IAAI,IAAI,cAAc,EAAE,EAAE,CAC9C,EACL,GAAG,CACN,CAAC;AACN,CAAC;AAED,SAAS,cAAc;IACnB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,+BAA+B,CAAC,GAAW;IAChD,MAAM,oBAAoB,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAE/D,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CACzC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAC9B,CAAC;AACN;;ACrCA;;;;;;"}
@@ -4,6 +4,8 @@ export * from '@taiga-ui/cdk/utils/focus';
4
4
  export * from '@taiga-ui/cdk/utils/format';
5
5
  export * from '@taiga-ui/cdk/utils/math';
6
6
  export * from '@taiga-ui/cdk/utils/miscellaneous';
7
+ export * from '@taiga-ui/cdk/utils/os';
8
+ export * from '@taiga-ui/cdk/utils/svg';
7
9
 
8
10
  /**
9
11
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils.js","sources":["ng://@taiga-ui/cdk/utils/taiga-ui-cdk-utils.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAAA;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils.js","sources":["ng://@taiga-ui/cdk/utils/taiga-ui-cdk-utils.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAAA;;"}
@@ -91,7 +91,7 @@ var AbstractTuiInteractive = /** @class */ (function () {
91
91
  configurable: true
92
92
  });
93
93
  Object.defineProperty(AbstractTuiInteractive.prototype, "id", {
94
- // TODO: Consider removing since native input is exposed
94
+ // TODO: 3.0 Consider removing since native input is exposed
95
95
  get: function () {
96
96
  return this.nativeId ? this.nativeId : this.autoIdString;
97
97
  },
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-abstract.js","sources":["ng://@taiga-ui/cdk/abstract/interactive.ts","ng://@taiga-ui/cdk/abstract/control.ts","ng://@taiga-ui/cdk/abstract/controller.ts","ng://@taiga-ui/cdk/abstract/dialog.service.ts","ng://@taiga-ui/cdk/abstract/dialog.directive.ts","ng://@taiga-ui/cdk/abstract/multiple-control.ts","ng://@taiga-ui/cdk/abstract/nullable-control.ts","ng://@taiga-ui/cdk/abstract/portal-service.ts","ng://@taiga-ui/cdk/abstract/portal-host.ts","ng://@taiga-ui/cdk/abstract/theme-switcher.ts","ng://@taiga-ui/cdk/abstract/taiga-ui-cdk-abstract.ts"],"sourcesContent":["import {Directive, EventEmitter, HostBinding, Input, Output} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\n\nconst TUI = 'tui_interactive_';\n\n/**\n * The most basic class for interactive components\n */\n@Directive()\nexport abstract class AbstractTuiInteractive {\n private static autoId = 0;\n\n abstract disabled: boolean;\n\n abstract focused: boolean;\n\n private readonly autoIdString: string;\n\n @Input()\n @tuiDefaultProp()\n pseudoHovered: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoPressed: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocused: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n @tuiDefaultProp()\n focusable = true;\n\n @Input()\n @tuiDefaultProp()\n nativeId = '';\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n /** @deprecated use `tuiPressedChange` directive */\n @Output()\n readonly pressedChange = new EventEmitter<boolean>();\n\n /** @deprecated use `tuiHoveredChange` directive */\n @Output()\n readonly hoveredChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n /** @deprecated use `tuiHoveredChange` directive */\n hovered = false;\n\n /** @deprecated use `tuiPressedChange` directive */\n pressed = false;\n\n focusVisible = false;\n\n protected constructor() {\n this.autoIdString = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n }\n\n @HostBinding('class._disabled')\n get computedDisabled(): boolean {\n return this.disabled;\n }\n\n /** @deprecated */\n @HostBinding('class._hovered')\n get computedHovered(): boolean {\n return !this.computedDisabled && (this.pseudoHovered ?? this.hovered);\n }\n\n /** @deprecated */\n @HostBinding('class._pressed')\n get computedPressed(): boolean {\n return !this.computedDisabled && (this.pseudoPressed ?? this.pressed);\n }\n\n get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n @HostBinding('class._focused')\n get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focused);\n }\n\n @HostBinding('class._focus-visible')\n get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focusVisible);\n }\n\n // TODO: Consider removing since native input is exposed\n get id(): string {\n return this.nativeId ? this.nativeId : this.autoIdString;\n }\n\n /** @deprecated */\n protected updateHovered(hovered: boolean) {\n if (this.hovered === hovered) {\n return;\n }\n\n this.hovered = hovered;\n this.hoveredChange.emit(hovered);\n }\n\n /** @deprecated */\n protected updatePressed(pressed: boolean) {\n if (this.pressed === pressed) {\n return;\n }\n\n this.pressed = pressed;\n this.pressedChange.emit(pressed);\n }\n\n protected updateFocused(focused: boolean) {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean) {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {AbstractControl, ControlValueAccessor, NgControl, NgModel} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {TuiControlValueTransformer} from '@taiga-ui/cdk/interfaces';\nimport {merge, Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {AbstractTuiInteractive} from './interactive';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnDestroy, OnInit, ControlValueAccessor\n{\n private previousInternalValue?: T | null;\n\n private onTouched = EMPTY_FUNCTION;\n\n private onChange = EMPTY_FUNCTION;\n\n protected readonly fallbackValue = this.getFallbackValue();\n\n protected readonly destroy$ = new Subject<void>();\n\n @Input()\n @HostBinding('class._readonly')\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n pseudoInvalid: boolean | null = null;\n\n protected constructor(\n private readonly ngControl: NgControl | null,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly valueTransformer?: TuiControlValueTransformer<T> | null,\n ) {\n super();\n\n if (this.ngControl === null) {\n tuiAssert.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n 'Use [(ngModel)] or [formControl] or formControlName for correct work.',\n );\n } else {\n this.ngControl.valueAccessor = this;\n }\n }\n\n protected abstract getFallbackValue(): T;\n\n @HostBinding('class._invalid')\n get computedInvalid(): boolean {\n return (\n this.interactive &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n get interactive(): boolean {\n return !this.readOnly && !this.computedDisabled;\n }\n\n get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n get computedName(): string | null {\n return this.controlName?.toString() ?? null;\n }\n\n protected get controlName(): string | null {\n return this.ngControl?.name?.toString() ?? null;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n const controlValue =\n ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n\n return this.fromControlValue(controlValue);\n }\n\n ngOnInit() {\n if (!this.ngControl?.valueChanges || !this.ngControl?.statusChanges) {\n return;\n }\n\n merge(this.ngControl.valueChanges, this.ngControl.statusChanges)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.refreshLocalValue(this.safeCurrentValue));\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n checkControlUpdate() {\n this.changeDetectorRef.markForCheck();\n }\n\n registerOnChange(onChange: (value: T | unknown) => void) {\n this.onChange = (componentValue: T) => {\n onChange(this.toControlValue(componentValue));\n };\n }\n\n registerOnTouched(onTouched: () => void) {\n this.onTouched = onTouched;\n }\n\n setDisabledState() {\n this.checkControlUpdate();\n }\n\n writeValue(value: T | null) {\n const controlValue =\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value;\n\n this.refreshLocalValue(this.fromControlValue(controlValue));\n }\n\n protected updateFocused(focused: boolean) {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n protected updateValue(value: T) {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched() {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T) {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null) {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n\n private fromControlValue(controlValue: unknown): T {\n return this.valueTransformer\n ? this.valueTransformer.fromControlValue(controlValue)\n : (controlValue as T);\n }\n\n private toControlValue(componentValue: T): unknown {\n return this.valueTransformer\n ? this.valueTransformer.toControlValue(componentValue)\n : componentValue;\n }\n}\n","import {OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\nexport abstract class TuiController implements OnChanges {\n readonly change$ = new Subject<void>();\n\n ngOnChanges() {\n this.change$.next();\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport abstract class AbstractTuiDialogService<T extends {}> extends Observable<\n ReadonlyArray<TuiDialog<T, any>>\n> {\n protected abstract readonly component: PolymorpheusComponent<any, TuiDialog<T, any>>;\n\n protected abstract readonly defaultOptions: T;\n\n protected readonly dialogs$ = new BehaviorSubject<ReadonlyArray<TuiDialog<T, any>>>(\n [],\n );\n\n protected constructor(\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n ) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G>(\n content: PolymorpheusContent<TuiBaseDialogContext<G> & T>,\n options: Partial<T> = {},\n ): Observable<G> {\n return new Observable(observer => {\n const completeWith = (result: G) => {\n observer.next(result);\n observer.complete();\n };\n const dialog = {\n ...this.defaultOptions,\n ...options,\n content,\n completeWith,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.idService.generate(),\n };\n\n this.dialogs$.next([...this.dialogs$.value, dialog]);\n\n return () => {\n this.dialogs$.next(this.dialogs$.value.filter(item => item !== dialog));\n };\n });\n }\n}\n","import {ChangeDetectorRef, Directive, Inject, TemplateRef} from '@angular/core';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Subject} from 'rxjs';\nimport {endWith, ignoreElements, switchMap} from 'rxjs/operators';\n\nimport {AbstractTuiDialogService} from './dialog.service';\n\n@Directive()\nexport abstract class AbstractTuiDialogDirective<T> extends PolymorpheusTemplate<\n TuiDialog<T, void>\n> {\n private readonly open$ = new Subject<boolean>();\n\n options: Partial<T> = {};\n\n set open(open: boolean) {\n this.open$.next(open);\n }\n\n openChange = this.open$.pipe(\n switchMap(open =>\n open\n ? this.service\n .open(this, this.options)\n .pipe(ignoreElements(), endWith(false))\n : EMPTY,\n ),\n );\n\n constructor(\n @Inject(TemplateRef)\n templateRef: TemplateRef<TuiDialog<T, void>>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(AbstractTuiDialogService)\n private readonly service: AbstractTuiDialogService<T>,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n readonly T[]\n> {\n clear() {\n this.updateValue([]);\n }\n\n protected getFallbackValue(): readonly T[] {\n return [];\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {\n ComponentFactory,\n ComponentRef,\n EmbeddedViewRef,\n Injectable,\n Injector,\n TemplateRef,\n} from '@angular/core';\nimport {TuiNoHostException} from '@taiga-ui/cdk/exceptions';\n\nimport {AbstractTuiPortalHostComponent} from './portal-host';\n\n/**\n * Abstract service for displaying portals\n */\n@Injectable()\nexport abstract class AbstractTuiPortalService {\n protected host?: AbstractTuiPortalHostComponent;\n\n protected get safeHost(): AbstractTuiPortalHostComponent {\n if (!this.host) {\n throw new TuiNoHostException();\n }\n\n return this.host;\n }\n\n attach(host: AbstractTuiPortalHostComponent) {\n this.host = host;\n }\n\n add<C>(componentFactory: ComponentFactory<C>, injector: Injector): ComponentRef<C> {\n return this.safeHost.addComponentChild(componentFactory, injector);\n }\n\n remove<C>({hostView}: ComponentRef<C>) {\n hostView.destroy();\n }\n\n addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.safeHost.addTemplateChild(templateRef, context);\n }\n\n removeTemplate<C>(viewRef: EmbeddedViewRef<C>) {\n viewRef.destroy();\n }\n}\n","import {\n ComponentFactory,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Inject,\n Injector,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport {AbstractTuiPortalService} from './portal-service';\n\n/**\n * Abstract class for host element for dynamically created portals.\n */\n@Directive()\nexport abstract class AbstractTuiPortalHostComponent {\n @ViewChild('viewContainer', {read: ViewContainerRef})\n viewContainerRef!: ViewContainerRef;\n\n constructor(\n @Inject(ElementRef)\n readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalService) portalService: AbstractTuiPortalService,\n ) {\n portalService.attach(this);\n }\n\n get clientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n addComponentChild<C>(\n componentFactory: ComponentFactory<C>,\n injector: Injector,\n ): ComponentRef<C> {\n return this.viewContainerRef.createComponent<C>(\n componentFactory,\n undefined,\n Injector.create({\n parent: injector,\n providers: [\n {\n provide: AbstractTuiPortalHostComponent,\n useValue: this,\n },\n ],\n }),\n );\n }\n\n addTemplateChild<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.viewContainerRef.createEmbeddedView(templateRef, context);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, Inject, OnDestroy} from '@angular/core';\n\n/**\n * Use this abstract class to create your own toggleable themes.\n * A component extending this class must have CSS variables definitions\n * and have ViewEncapsulation set to NONE. A boolean input allows to\n * switch theme on or off.\n * @dynamic\n */\n@Directive()\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n constructor(@Inject(DOCUMENT) private readonly documentRef: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.documentRef.head.querySelectorAll('style');\n\n (<typeof AbstractTuiThemeSwitcher>this.constructor).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (<typeof AbstractTuiThemeSwitcher>this.constructor).style;\n }\n\n ngOnDestroy() {\n this.removeTheme();\n }\n\n private addTheme() {\n if (this.style) {\n this.documentRef.head.appendChild(this.style);\n }\n }\n\n private removeTheme() {\n if (this.style && this.documentRef.head.contains(this.style)) {\n this.documentRef.head.removeChild(this.style);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-abstract.js","sources":["ng://@taiga-ui/cdk/abstract/interactive.ts","ng://@taiga-ui/cdk/abstract/control.ts","ng://@taiga-ui/cdk/abstract/controller.ts","ng://@taiga-ui/cdk/abstract/dialog.service.ts","ng://@taiga-ui/cdk/abstract/dialog.directive.ts","ng://@taiga-ui/cdk/abstract/multiple-control.ts","ng://@taiga-ui/cdk/abstract/nullable-control.ts","ng://@taiga-ui/cdk/abstract/portal-service.ts","ng://@taiga-ui/cdk/abstract/portal-host.ts","ng://@taiga-ui/cdk/abstract/theme-switcher.ts","ng://@taiga-ui/cdk/abstract/taiga-ui-cdk-abstract.ts"],"sourcesContent":["import {Directive, EventEmitter, HostBinding, Input, Output} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\n\nconst TUI = 'tui_interactive_';\n\n/**\n * The most basic class for interactive components\n */\n@Directive()\nexport abstract class AbstractTuiInteractive {\n private static autoId = 0;\n\n abstract disabled: boolean;\n\n abstract focused: boolean;\n\n private readonly autoIdString: string;\n\n @Input()\n @tuiDefaultProp()\n pseudoHovered: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoPressed: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocused: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n @tuiDefaultProp()\n focusable = true;\n\n @Input()\n @tuiDefaultProp()\n nativeId = '';\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n /** @deprecated use `tuiPressedChange` directive */\n @Output()\n readonly pressedChange = new EventEmitter<boolean>();\n\n /** @deprecated use `tuiHoveredChange` directive */\n @Output()\n readonly hoveredChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n /** @deprecated use `tuiHoveredChange` directive */\n hovered = false;\n\n /** @deprecated use `tuiPressedChange` directive */\n pressed = false;\n\n focusVisible = false;\n\n protected constructor() {\n this.autoIdString = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n }\n\n @HostBinding('class._disabled')\n get computedDisabled(): boolean {\n return this.disabled;\n }\n\n /** @deprecated */\n @HostBinding('class._hovered')\n get computedHovered(): boolean {\n return !this.computedDisabled && (this.pseudoHovered ?? this.hovered);\n }\n\n /** @deprecated */\n @HostBinding('class._pressed')\n get computedPressed(): boolean {\n return !this.computedDisabled && (this.pseudoPressed ?? this.pressed);\n }\n\n get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n @HostBinding('class._focused')\n get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focused);\n }\n\n @HostBinding('class._focus-visible')\n get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focusVisible);\n }\n\n // TODO: 3.0 Consider removing since native input is exposed\n get id(): string {\n return this.nativeId ? this.nativeId : this.autoIdString;\n }\n\n /** @deprecated */\n protected updateHovered(hovered: boolean): void {\n if (this.hovered === hovered) {\n return;\n }\n\n this.hovered = hovered;\n this.hoveredChange.emit(hovered);\n }\n\n /** @deprecated */\n protected updatePressed(pressed: boolean): void {\n if (this.pressed === pressed) {\n return;\n }\n\n this.pressed = pressed;\n this.pressedChange.emit(pressed);\n }\n\n protected updateFocused(focused: boolean): void {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean): void {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {AbstractControl, ControlValueAccessor, NgControl, NgModel} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {TuiControlValueTransformer} from '@taiga-ui/cdk/interfaces';\nimport {merge, Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {AbstractTuiInteractive} from './interactive';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnDestroy, OnInit, ControlValueAccessor\n{\n private previousInternalValue?: T | null;\n\n private onTouched = EMPTY_FUNCTION;\n\n private onChange = EMPTY_FUNCTION;\n\n protected readonly fallbackValue = this.getFallbackValue();\n\n protected readonly destroy$ = new Subject<void>();\n\n @Input()\n @HostBinding('class._readonly')\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n pseudoInvalid: boolean | null = null;\n\n protected constructor(\n private readonly ngControl: NgControl | null,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly valueTransformer?: TuiControlValueTransformer<T> | null,\n ) {\n super();\n\n if (this.ngControl === null) {\n tuiAssert.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n 'Use [(ngModel)] or [formControl] or formControlName for correct work.',\n );\n } else {\n this.ngControl.valueAccessor = this;\n }\n }\n\n protected abstract getFallbackValue(): T;\n\n @HostBinding('class._invalid')\n get computedInvalid(): boolean {\n return (\n this.interactive &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n get interactive(): boolean {\n return !this.readOnly && !this.computedDisabled;\n }\n\n get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n get computedName(): string | null {\n return this.controlName?.toString() ?? null;\n }\n\n protected get controlName(): string | null {\n return this.ngControl?.name?.toString() ?? null;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n const controlValue =\n ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n\n return this.fromControlValue(controlValue);\n }\n\n ngOnInit(): void {\n if (!this.ngControl?.valueChanges || !this.ngControl?.statusChanges) {\n return;\n }\n\n merge(this.ngControl.valueChanges, this.ngControl.statusChanges)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.refreshLocalValue(this.safeCurrentValue));\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n checkControlUpdate(): void {\n this.changeDetectorRef.markForCheck();\n }\n\n registerOnChange(onChange: (value: T | unknown) => void): void {\n this.onChange = (componentValue: T) => {\n onChange(this.toControlValue(componentValue));\n };\n }\n\n registerOnTouched(onTouched: () => void): void {\n this.onTouched = onTouched;\n }\n\n setDisabledState(): void {\n this.checkControlUpdate();\n }\n\n writeValue(value: T | null): void {\n const controlValue =\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value;\n\n this.refreshLocalValue(this.fromControlValue(controlValue));\n }\n\n protected updateFocused(focused: boolean): void {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n protected updateValue(value: T): void {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched(): void {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T): void {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null): void {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n\n private fromControlValue(controlValue: unknown): T {\n return this.valueTransformer\n ? this.valueTransformer.fromControlValue(controlValue)\n : (controlValue as T);\n }\n\n private toControlValue(componentValue: T): unknown {\n return this.valueTransformer\n ? this.valueTransformer.toControlValue(componentValue)\n : componentValue;\n }\n}\n","import {OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\nexport abstract class TuiController implements OnChanges {\n readonly change$ = new Subject<void>();\n\n ngOnChanges(): void {\n this.change$.next();\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport abstract class AbstractTuiDialogService<T> extends Observable<\n ReadonlyArray<TuiDialog<T, any>>\n> {\n protected abstract readonly component: PolymorpheusComponent<any, TuiDialog<T, any>>;\n\n protected abstract readonly defaultOptions: T;\n\n protected readonly dialogs$ = new BehaviorSubject<ReadonlyArray<TuiDialog<T, any>>>(\n [],\n );\n\n protected constructor(\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n ) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G = void>(\n content: PolymorpheusContent<TuiBaseDialogContext<G> & T>,\n options: Partial<T> = {},\n ): Observable<G> {\n return new Observable(observer => {\n const completeWith = (result: G): void => {\n observer.next(result);\n observer.complete();\n };\n const dialog = {\n ...this.defaultOptions,\n ...options,\n content,\n completeWith,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.idService.generate(),\n };\n\n this.dialogs$.next([...this.dialogs$.value, dialog]);\n\n return () => {\n this.dialogs$.next(this.dialogs$.value.filter(item => item !== dialog));\n };\n });\n }\n}\n","import {ChangeDetectorRef, Directive, Inject, TemplateRef} from '@angular/core';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Subject} from 'rxjs';\nimport {endWith, ignoreElements, switchMap} from 'rxjs/operators';\n\nimport {AbstractTuiDialogService} from './dialog.service';\n\n@Directive()\nexport abstract class AbstractTuiDialogDirective<T> extends PolymorpheusTemplate<\n TuiDialog<T, void>\n> {\n private readonly open$ = new Subject<boolean>();\n\n options: Partial<T> = {};\n\n set open(open: boolean) {\n this.open$.next(open);\n }\n\n openChange = this.open$.pipe(\n switchMap(open =>\n open\n ? this.service\n .open(this, this.options)\n .pipe(ignoreElements(), endWith(false))\n : EMPTY,\n ),\n );\n\n constructor(\n @Inject(TemplateRef)\n templateRef: TemplateRef<TuiDialog<T, void>>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(AbstractTuiDialogService)\n private readonly service: AbstractTuiDialogService<T>,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n readonly T[]\n> {\n clear(): void {\n this.updateValue([]);\n }\n\n protected getFallbackValue(): readonly T[] {\n return [];\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {\n ComponentFactory,\n ComponentRef,\n EmbeddedViewRef,\n Injectable,\n Injector,\n TemplateRef,\n} from '@angular/core';\nimport {TuiNoHostException} from '@taiga-ui/cdk/exceptions';\n\nimport {AbstractTuiPortalHostComponent} from './portal-host';\n\n/**\n * Abstract service for displaying portals\n */\n@Injectable()\nexport abstract class AbstractTuiPortalService {\n protected host?: AbstractTuiPortalHostComponent;\n\n protected get safeHost(): AbstractTuiPortalHostComponent {\n if (!this.host) {\n throw new TuiNoHostException();\n }\n\n return this.host;\n }\n\n attach(host: AbstractTuiPortalHostComponent): void {\n this.host = host;\n }\n\n add<C>(componentFactory: ComponentFactory<C>, injector: Injector): ComponentRef<C> {\n return this.safeHost.addComponentChild(componentFactory, injector);\n }\n\n remove<C>({hostView}: ComponentRef<C>): void {\n hostView.destroy();\n }\n\n addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.safeHost.addTemplateChild(templateRef, context);\n }\n\n removeTemplate<C>(viewRef: EmbeddedViewRef<C>): void {\n viewRef.destroy();\n }\n}\n","import {\n ComponentFactory,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Inject,\n Injector,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport {AbstractTuiPortalService} from './portal-service';\n\n/**\n * Abstract class for host element for dynamically created portals.\n */\n@Directive()\nexport abstract class AbstractTuiPortalHostComponent {\n @ViewChild('viewContainer', {read: ViewContainerRef})\n viewContainerRef!: ViewContainerRef;\n\n constructor(\n @Inject(ElementRef)\n readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalService) portalService: AbstractTuiPortalService,\n ) {\n portalService.attach(this);\n }\n\n get clientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n addComponentChild<C>(\n componentFactory: ComponentFactory<C>,\n injector: Injector,\n ): ComponentRef<C> {\n return this.viewContainerRef.createComponent<C>(\n componentFactory,\n undefined,\n Injector.create({\n parent: injector,\n providers: [\n {\n provide: AbstractTuiPortalHostComponent,\n useValue: this,\n },\n ],\n }),\n );\n }\n\n addTemplateChild<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.viewContainerRef.createEmbeddedView(templateRef, context);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, Inject, OnDestroy} from '@angular/core';\n\n/**\n * Use this abstract class to create your own toggleable themes.\n * A component extending this class must have CSS variables definitions\n * and have ViewEncapsulation set to NONE. A boolean input allows to\n * switch theme on or off.\n * @dynamic\n */\n@Directive()\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n constructor(@Inject(DOCUMENT) private readonly documentRef: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.documentRef.head.querySelectorAll('style');\n\n (<typeof AbstractTuiThemeSwitcher>this.constructor).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (<typeof AbstractTuiThemeSwitcher>this.constructor).style;\n }\n\n ngOnDestroy(): void {\n this.removeTheme();\n }\n\n private addTheme(): void {\n if (this.style) {\n this.documentRef.head.appendChild(this.style);\n }\n }\n\n private removeTheme(): void {\n if (this.style && this.documentRef.head.contains(this.style)) {\n this.documentRef.head.removeChild(this.style);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -12,8 +12,10 @@ function tuiAssertIsHTMLElement(node) {
12
12
  var _a;
13
13
  var document = (_a = node) === null || _a === void 0 ? void 0 : _a.ownerDocument;
14
14
  var defaultView = document === null || document === void 0 ? void 0 : document.defaultView;
15
- var isHTMLElement = node instanceof (defaultView === null || defaultView === void 0 ? void 0 : defaultView.HTMLElement);
16
- tuiAssert.assert(isHTMLElement, 'Node is not an HTMLElement');
15
+ var isHTMLElement = node instanceof (defaultView === null || defaultView === void 0 ? void 0 : defaultView.HTMLElement) ||
16
+ node instanceof (defaultView === null || defaultView === void 0 ? void 0 : defaultView.Element) ||
17
+ node instanceof (defaultView === null || defaultView === void 0 ? void 0 : defaultView.HTMLDocument);
18
+ tuiAssert.assert(isHTMLElement, 'Node is not an Element');
17
19
  }
18
20
 
19
21
  var TuiValidationError = /** @class */ (function () {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-classes.js","sources":["ng://@taiga-ui/cdk/classes/assert.ts","ng://@taiga-ui/cdk/classes/validation-error.ts","ng://@taiga-ui/cdk/classes/taiga-ui-cdk-classes.ts"],"sourcesContent":["import {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\n\nexport const tuiAssert = {\n enabled: false,\n get assert(): (assertion: boolean, ...args: any[]) => void {\n return this.enabled\n ? Function.prototype.bind.call(console.assert, console)\n : EMPTY_FUNCTION;\n },\n};\n\ntype PossibleNode = Node | Element | EventTarget | null;\n\nexport function tuiAssertIsHTMLElement(node?: PossibleNode): asserts node is HTMLElement {\n const document = (node as Node)?.ownerDocument;\n const defaultView = document?.defaultView as unknown as {HTMLElement: typeof Node};\n const isHTMLElement = node instanceof defaultView?.HTMLElement;\n\n tuiAssert.assert(isHTMLElement, 'Node is not an HTMLElement');\n}\n","import {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport class TuiValidationError<T extends object = {}> {\n constructor(\n readonly message: PolymorpheusContent<T>,\n readonly context: T = {} as T,\n ) {}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;IAEa,SAAS,GAAG;IACrB,OAAO,EAAE,KAAK;IACd,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO;cACb,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;cACrD,cAAc,CAAC;KACxB;EACH;SAIc,sBAAsB,CAAC,IAAmB;;IACtD,IAAM,QAAQ,SAAI,IAAa,0CAAE,aAAa,CAAC;IAC/C,IAAM,WAAW,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAoD,CAAC;IACnF,IAAM,aAAa,GAAG,IAAI,aAAY,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAA,CAAC;IAE/D,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC;AAClE;;;IChBI,4BACa,OAA+B,EAC/B,OAAoB;QAApB,wBAAA,EAAA,UAAa,EAAO;QADpB,YAAO,GAAP,OAAO,CAAwB;QAC/B,YAAO,GAAP,OAAO,CAAa;KAC7B;IACR,yBAAC;AAAD,CAAC;;ACPD;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-classes.js","sources":["ng://@taiga-ui/cdk/classes/assert.ts","ng://@taiga-ui/cdk/classes/validation-error.ts","ng://@taiga-ui/cdk/classes/taiga-ui-cdk-classes.ts"],"sourcesContent":["import {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\n\nexport const tuiAssert = {\n enabled: false,\n get assert(): (assertion: boolean, ...args: unknown[]) => void {\n return this.enabled\n ? Function.prototype.bind.call(console.assert, console)\n : EMPTY_FUNCTION;\n },\n};\n\ntype PossibleNode = Node | Element | EventTarget | null;\n\ninterface DefaultView {\n Element: typeof Node;\n HTMLElement: typeof Node;\n HTMLDocument: typeof Node;\n}\n\nexport function tuiAssertIsHTMLElement(node?: PossibleNode): asserts node is HTMLElement {\n const document = (node as Node)?.ownerDocument;\n const defaultView = document?.defaultView as unknown as DefaultView;\n const isHTMLElement =\n node instanceof defaultView?.HTMLElement ||\n node instanceof defaultView?.Element ||\n node instanceof defaultView?.HTMLDocument;\n\n tuiAssert.assert(isHTMLElement, 'Node is not an Element');\n}\n","import {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport class TuiValidationError<T extends object = Record<string, any>> {\n constructor(\n readonly message: PolymorpheusContent<T>,\n readonly context: T = {} as T,\n ) {}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;IAEa,SAAS,GAAG;IACrB,OAAO,EAAE,KAAK;IACd,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO;cACb,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;cACrD,cAAc,CAAC;KACxB;EACH;SAUc,sBAAsB,CAAC,IAAmB;;IACtD,IAAM,QAAQ,SAAI,IAAa,0CAAE,aAAa,CAAC;IAC/C,IAAM,WAAW,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAqC,CAAC;IACpE,IAAM,aAAa,GACf,IAAI,aAAY,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAA;QACxC,IAAI,aAAY,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAA;QACpC,IAAI,aAAY,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,CAAA,CAAC;IAE9C,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;AAC9D;;;ICzBI,4BACa,OAA+B,EAC/B,OAAoB;QAApB,wBAAA,EAAA,UAAa,EAAO;QADpB,YAAO,GAAP,OAAO,CAAwB;QAC/B,YAAO,GAAP,OAAO,CAAa;KAC7B;IACR,yBAAC;AAAD,CAAC;;ACPD;;;;;;"}
@@ -3,7 +3,9 @@
3
3
  * @example {@link https://material.angular.io/cdk/coercion/api#functions}
4
4
  */
5
5
  function tuiCoerceBooleanProperty(value) {
6
- return value != null && "" + value !== 'false';
6
+ // If you don't mind "[object Object]" in your strings, then you will not need this rule.
7
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
8
+ return value !== null && typeof value !== 'undefined' && "" + value !== 'false';
7
9
  }
8
10
 
9
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-coercion.js","sources":["ng://@taiga-ui/cdk/coercion/coerce-boolean-property.ts","ng://@taiga-ui/cdk/coercion/taiga-ui-cdk-coercion.ts"],"sourcesContent":["/**\n * Coerces a data-bound value (typically a string) to a boolean.\n * @example {@link https://material.angular.io/cdk/coercion/api#functions}\n */\nexport function tuiCoerceBooleanProperty(\n value: string | number | boolean | null | undefined | object,\n): boolean {\n return value != null && `${value}` !== 'false';\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;;;SAIgB,wBAAwB,CACpC,KAA4D;IAE5D,OAAO,KAAK,IAAI,IAAI,IAAI,KAAG,KAAO,KAAK,OAAO,CAAC;AACnD;;ACRA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-coercion.js","sources":["ng://@taiga-ui/cdk/coercion/coerce-boolean-property.ts","ng://@taiga-ui/cdk/coercion/taiga-ui-cdk-coercion.ts"],"sourcesContent":["/**\n * Coerces a data-bound value (typically a string) to a boolean.\n * @example {@link https://material.angular.io/cdk/coercion/api#functions}\n */\nexport function tuiCoerceBooleanProperty(\n value: string | number | boolean | null | undefined | object,\n): boolean {\n // If you don't mind \"[object Object]\" in your strings, then you will not need this rule.\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n return value !== null && typeof value !== 'undefined' && `${value}` !== 'false';\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;;;SAIgB,wBAAwB,CACpC,KAA4D;;;IAI5D,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,KAAG,KAAO,KAAK,OAAO,CAAC;AACpF;;ACVA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-components-alert-host.js","sources":["ng://@taiga-ui/cdk/components/alert-host/alert-host.component.ts","ng://@taiga-ui/cdk/components/alert-host/alert-host.module.ts","ng://@taiga-ui/cdk/components/alert-host/taiga-ui-cdk-components-alert-host.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n INJECTOR,\n Injector,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk/constants';\nimport {TUI_ALERTS} from '@taiga-ui/cdk/tokens';\nimport {TuiDialog, TuiMapper} from '@taiga-ui/cdk/types';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-alert-host',\n templateUrl: './alert-host.template.html',\n styleUrls: ['./alert-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [TUI_PARENT_ANIMATION],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiAlertHostComponent<T extends TuiDialog<unknown, unknown>> {\n constructor(\n @Inject(TUI_ALERTS) readonly alerts: Observable<readonly T[]>[],\n @Inject(INJECTOR) private readonly injector: Injector,\n ) {}\n\n readonly mapper: TuiMapper<any, Injector> = useValue =>\n Injector.create({\n providers: [\n {\n provide: POLYMORPHEUS_CONTEXT,\n useValue,\n },\n ],\n parent: this.injector,\n });\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk/pipes';\n\nimport {TuiAlertHostComponent} from './alert-host.component';\n\n@NgModule({\n imports: [CommonModule, TuiMapperPipeModule],\n declarations: [TuiAlertHostComponent],\n exports: [TuiAlertHostComponent],\n})\nexport class TuiAlertHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;IAuBI,+BACiC,MAAkC,EAC5B,QAAkB;QAFzD,iBAGI;QAF6B,WAAM,GAAN,MAAM,CAA4B;QAC5B,aAAQ,GAAR,QAAQ,CAAU;QAGhD,WAAM,GAA6B,UAAA,QAAQ;YAChD,OAAA,QAAQ,CAAC,MAAM,CAAC;gBACZ,SAAS,EAAE;oBACP;wBACI,OAAO,EAAE,oBAAoB;wBAC7B,QAAQ,UAAA;qBACX;iBACJ;gBACD,MAAM,EAAE,KAAI,CAAC,QAAQ;aACxB,CAAC;SAAA,CAAC;KAXH;;4CAFC,MAAM,SAAC,UAAU;gBAC2B,QAAQ,uBAApD,MAAM,SAAC,QAAQ;;IAHX,qBAAqB;QARjC,SAAS,CAAC;YACP,QAAQ,EAAE,gBAAgB;YAC1B,uVAAyC;YAEzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,UAAU,EAAE,CAAC,oBAAoB,CAAC;YAClC,aAAa,EAAE,iBAAiB,CAAC,IAAI;;SACxC,CAAC;QAGO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;OAHZ,qBAAqB,CAgBjC;IAAD,4BAAC;CAhBD;;;ICXA;KAAkC;IAArB,kBAAkB;QAL9B,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;YAC5C,YAAY,EAAE,CAAC,qBAAqB,CAAC;YACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;SACnC,CAAC;OACW,kBAAkB,CAAG;IAAD,yBAAC;CAAlC;;ACXA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-components-alert-host.js","sources":["ng://@taiga-ui/cdk/components/alert-host/alert-host.component.ts","ng://@taiga-ui/cdk/components/alert-host/alert-host.module.ts","ng://@taiga-ui/cdk/components/alert-host/taiga-ui-cdk-components-alert-host.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n INJECTOR,\n Injector,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk/constants';\nimport {TUI_ALERTS} from '@taiga-ui/cdk/tokens';\nimport {TuiDialog, TuiMapper} from '@taiga-ui/cdk/types';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-alert-host',\n templateUrl: './alert-host.template.html',\n styleUrls: ['./alert-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [TUI_PARENT_ANIMATION],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiAlertHostComponent<T extends TuiDialog<unknown, unknown>> {\n constructor(\n @Inject(TUI_ALERTS) readonly alerts: Array<Observable<readonly T[]>>,\n @Inject(INJECTOR) private readonly injector: Injector,\n ) {}\n\n readonly mapper: TuiMapper<any, Injector> = useValue =>\n Injector.create({\n providers: [\n {\n provide: POLYMORPHEUS_CONTEXT,\n useValue,\n },\n ],\n parent: this.injector,\n });\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk/pipes';\n\nimport {TuiAlertHostComponent} from './alert-host.component';\n\n@NgModule({\n imports: [CommonModule, TuiMapperPipeModule],\n declarations: [TuiAlertHostComponent],\n exports: [TuiAlertHostComponent],\n})\nexport class TuiAlertHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;IAuBI,+BACiC,MAAuC,EACjC,QAAkB;QAFzD,iBAGI;QAF6B,WAAM,GAAN,MAAM,CAAiC;QACjC,aAAQ,GAAR,QAAQ,CAAU;QAGhD,WAAM,GAA6B,UAAA,QAAQ;YAChD,OAAA,QAAQ,CAAC,MAAM,CAAC;gBACZ,SAAS,EAAE;oBACP;wBACI,OAAO,EAAE,oBAAoB;wBAC7B,QAAQ,UAAA;qBACX;iBACJ;gBACD,MAAM,EAAE,KAAI,CAAC,QAAQ;aACxB,CAAC;SAAA,CAAC;KAXH;;gBAFqC,KAAK,uBAAzC,MAAM,SAAC,UAAU;gBAC2B,QAAQ,uBAApD,MAAM,SAAC,QAAQ;;IAHX,qBAAqB;QARjC,SAAS,CAAC;YACP,QAAQ,EAAE,gBAAgB;YAC1B,uVAAyC;YAEzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,UAAU,EAAE,CAAC,oBAAoB,CAAC;YAClC,aAAa,EAAE,iBAAiB,CAAC,IAAI;;SACxC,CAAC;QAGO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;OAHZ,qBAAqB,CAgBjC;IAAD,4BAAC;CAhBD;;;ICXA;KAAkC;IAArB,kBAAkB;QAL9B,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;YAC5C,YAAY,EAAE,CAAC,qBAAqB,CAAC;YACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;SACnC,CAAC;OACW,kBAAkB,CAAG;IAAD,yBAAC;CAAlC;;ACXA;;;;;;"}
@@ -15,9 +15,9 @@ import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
15
15
  var TUI_DIALOG_CLOSES_ON_BACK = new InjectionToken('Is closing dialog on browser backward navigation enabled', {
16
16
  factory: function () { return of(false); },
17
17
  });
18
- // TODO: remove in ivy compilation
18
+ // TODO: 3.0 remove in ivy compilation
19
19
  var FAKE_HISTORY_STATE = { label: 'ignoreMe' };
20
- // TODO: remove in ivy compilation
20
+ // TODO: 3.0 remove in ivy compilation
21
21
  var isFakeHistoryState = function (historyState) {
22
22
  return (historyState === null || historyState === void 0 ? void 0 : historyState.label) === FAKE_HISTORY_STATE.label;
23
23
  };
@@ -67,10 +67,10 @@ var TuiDialogHostComponent = /** @class */ (function () {
67
67
  TuiDialogHostComponent = __decorate([
68
68
  Component({
69
69
  selector: 'tui-dialog-host',
70
- template: "<ng-container *ngIf=\"dialogs$ | async as dialogs\">\n <section\n *ngFor=\"let item of dialogs\"\n polymorpheus-outlet\n tuiFocusTrap\n tuiScrollRef\n tuiOverscroll=\"all\"\n role=\"dialog\"\n aria-modal=\"true\"\n class=\"dialog\"\n @tuiParentAnimation\n [attr.aria-labelledby]=\"item.id\"\n [content]=\"item.component\"\n [context]=\"item\"\n ></section>\n <div\n *tuiLet=\"isDialogClosesOnBack$ | async as isDialogClosesOnBack\"\n class=\"overlay\"\n [class.overlay_visible]=\"dialogs.length\"\n (window:popstate)=\"closeLast(dialogs, isDialogClosesOnBack)\"\n (transitionend)=\"onDialog($event, !!dialogs.length, isDialogClosesOnBack)\"\n ></div>\n</ng-container>\n",
70
+ template: "<ng-container *ngIf=\"dialogs$ | async as dialogs\">\n <section\n *ngFor=\"let item of dialogs\"\n polymorpheus-outlet\n tuiFocusTrap\n tuiScrollRef\n tuiOverscroll=\"all\"\n role=\"dialog\"\n aria-modal=\"true\"\n class=\"t-dialog\"\n @tuiParentAnimation\n [attr.aria-labelledby]=\"item.id\"\n [content]=\"item.component\"\n [context]=\"item\"\n ></section>\n <div\n *tuiLet=\"isDialogClosesOnBack$ | async as isDialogClosesOnBack\"\n class=\"t-overlay\"\n [class.t-overlay_visible]=\"dialogs.length\"\n (window:popstate)=\"closeLast(dialogs, isDialogClosesOnBack)\"\n (transitionend)=\"onDialog($event, !!dialogs.length, isDialogClosesOnBack)\"\n ></div>\n</ng-container>\n",
71
71
  changeDetection: ChangeDetectionStrategy.OnPush,
72
72
  animations: [TUI_PARENT_ANIMATION],
73
- styles: [":host{position:fixed;left:0;bottom:0;width:100%;height:0}.dialog,.overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:flex-start;outline:0;overflow:auto;overflow:overlay}.dialog{bottom:auto;height:100%}.overlay{height:100vh;pointer-events:none;touch-action:none;opacity:0;letter-spacing:normal;transition:opacity var(--tui-duration),letter-spacing 10ms;background:rgba(0,0,0,.75)}.overlay_visible{opacity:1;letter-spacing:1px}.dialog:last-of-type{z-index:1}"]
73
+ styles: [":host{position:fixed;left:0;bottom:0;width:100%;height:0}.t-dialog,.t-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:flex-start;outline:0;overflow:auto;overflow:overlay}.t-dialog{bottom:auto;height:100%}.t-overlay{height:100vh;pointer-events:none;touch-action:none;opacity:0;letter-spacing:normal;transition:opacity var(--tui-duration),letter-spacing 10ms;background:rgba(0,0,0,.75)}.t-overlay_visible{opacity:1;letter-spacing:1px}.t-dialog:last-of-type{z-index:1}"]
74
74
  }),
75
75
  __param(0, Inject(TUI_DIALOG_CLOSES_ON_BACK)),
76
76
  __param(1, Inject(TUI_DIALOGS)),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-components-dialog-host.js","sources":["ng://@taiga-ui/cdk/components/dialog-host/dialog-host.component.ts","ng://@taiga-ui/cdk/components/dialog-host/dialog-host.module.ts","ng://@taiga-ui/cdk/components/dialog-host/taiga-ui-cdk-components-dialog-host.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject, InjectionToken} from '@angular/core';\nimport {Title} from '@angular/platform-browser';\nimport {HISTORY} from '@ng-web-apis/common';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk/constants';\nimport {TUI_DIALOGS} from '@taiga-ui/cdk/tokens';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport const TUI_DIALOG_CLOSES_ON_BACK = new InjectionToken<Observable<boolean>>(\n 'Is closing dialog on browser backward navigation enabled',\n {\n factory: () => of(false),\n },\n);\n\n// TODO: remove in ivy compilation\nexport const FAKE_HISTORY_STATE = {label: 'ignoreMe'} as const;\n// TODO: remove in ivy compilation\nexport const isFakeHistoryState = (\n historyState: Record<string, unknown>,\n): historyState is typeof FAKE_HISTORY_STATE =>\n historyState?.label === FAKE_HISTORY_STATE.label;\n\n// @dynamic\n@Component({\n selector: 'tui-dialog-host',\n templateUrl: './dialog-host.template.html',\n styleUrls: ['./dialog-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [TUI_PARENT_ANIMATION],\n})\nexport class TuiDialogHostComponent<T extends TuiDialog<unknown, unknown>> {\n readonly dialogs$ = combineLatest(this.dialogsByType).pipe(\n map(allTypesDialogs =>\n new Array<T>()\n .concat(...allTypesDialogs)\n .sort((a, b) => a.createdAt - b.createdAt),\n ),\n );\n\n constructor(\n @Inject(TUI_DIALOG_CLOSES_ON_BACK)\n readonly isDialogClosesOnBack$: Observable<boolean>,\n @Inject(TUI_DIALOGS) private readonly dialogsByType: Observable<readonly T[]>[],\n @Inject(HISTORY) private readonly historyRef: History,\n @Inject(Title) private readonly titleService: Title,\n ) {}\n\n closeLast(dialogs: readonly T[], isDialogClosesOnBack: boolean) {\n if (!isDialogClosesOnBack) {\n return;\n }\n\n const [last] = dialogs.slice(-1);\n\n if (!last) {\n return;\n }\n\n if (dialogs.length > 1) {\n this.historyRef.pushState(FAKE_HISTORY_STATE, this.titleService.getTitle());\n }\n\n last.$implicit.complete();\n }\n\n onDialog(\n {propertyName}: TransitionEvent,\n popupOpened: boolean,\n isDialogClosesOnBack: boolean,\n ) {\n if (!isDialogClosesOnBack || propertyName !== 'letter-spacing') {\n return;\n }\n\n if (popupOpened) {\n this.historyRef.pushState(FAKE_HISTORY_STATE, this.titleService.getTitle());\n } else if (isFakeHistoryState(this.historyRef.state)) {\n this.historyRef.back();\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk/directives';\nimport {TuiFocusTrapModule} from '@taiga-ui/cdk/directives/focus-trap';\nimport {TuiOverscrollModule} from '@taiga-ui/cdk/directives/overscroll';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogHostComponent} from './dialog-host.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiOverscrollModule,\n TuiFocusTrapModule,\n TuiLetModule,\n ],\n declarations: [TuiDialogHostComponent],\n exports: [TuiDialogHostComponent],\n})\nexport class TuiDialogHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-components-dialog-host.js","sources":["ng://@taiga-ui/cdk/components/dialog-host/dialog-host.component.ts","ng://@taiga-ui/cdk/components/dialog-host/dialog-host.module.ts","ng://@taiga-ui/cdk/components/dialog-host/taiga-ui-cdk-components-dialog-host.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject, InjectionToken} from '@angular/core';\nimport {Title} from '@angular/platform-browser';\nimport {HISTORY} from '@ng-web-apis/common';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk/constants';\nimport {TUI_DIALOGS} from '@taiga-ui/cdk/tokens';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport const TUI_DIALOG_CLOSES_ON_BACK = new InjectionToken<Observable<boolean>>(\n 'Is closing dialog on browser backward navigation enabled',\n {\n factory: () => of(false),\n },\n);\n\n// TODO: 3.0 remove in ivy compilation\nexport const FAKE_HISTORY_STATE = {label: 'ignoreMe'} as const;\n// TODO: 3.0 remove in ivy compilation\nexport const isFakeHistoryState = (\n historyState: Record<string, unknown>,\n): historyState is typeof FAKE_HISTORY_STATE =>\n historyState?.label === FAKE_HISTORY_STATE.label;\n\n// @dynamic\n@Component({\n selector: 'tui-dialog-host',\n templateUrl: './dialog-host.template.html',\n styleUrls: ['./dialog-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [TUI_PARENT_ANIMATION],\n})\nexport class TuiDialogHostComponent<T extends TuiDialog<unknown, unknown>> {\n readonly dialogs$ = combineLatest(this.dialogsByType).pipe(\n map(allTypesDialogs =>\n new Array<T>()\n .concat(...allTypesDialogs)\n .sort((a, b) => a.createdAt - b.createdAt),\n ),\n );\n\n constructor(\n @Inject(TUI_DIALOG_CLOSES_ON_BACK)\n readonly isDialogClosesOnBack$: Observable<boolean>,\n @Inject(TUI_DIALOGS)\n private readonly dialogsByType: Array<Observable<readonly T[]>>,\n @Inject(HISTORY) private readonly historyRef: History,\n @Inject(Title) private readonly titleService: Title,\n ) {}\n\n closeLast(dialogs: readonly T[], isDialogClosesOnBack: boolean): void {\n if (!isDialogClosesOnBack) {\n return;\n }\n\n const [last] = dialogs.slice(-1);\n\n if (!last) {\n return;\n }\n\n if (dialogs.length > 1) {\n this.historyRef.pushState(FAKE_HISTORY_STATE, this.titleService.getTitle());\n }\n\n last.$implicit.complete();\n }\n\n onDialog(\n {propertyName}: TransitionEvent,\n popupOpened: boolean,\n isDialogClosesOnBack: boolean,\n ): void {\n if (!isDialogClosesOnBack || propertyName !== 'letter-spacing') {\n return;\n }\n\n if (popupOpened) {\n this.historyRef.pushState(FAKE_HISTORY_STATE, this.titleService.getTitle());\n } else if (isFakeHistoryState(this.historyRef.state)) {\n this.historyRef.back();\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk/directives';\nimport {TuiFocusTrapModule} from '@taiga-ui/cdk/directives/focus-trap';\nimport {TuiOverscrollModule} from '@taiga-ui/cdk/directives/overscroll';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogHostComponent} from './dialog-host.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiOverscrollModule,\n TuiFocusTrapModule,\n TuiLetModule,\n ],\n declarations: [TuiDialogHostComponent],\n exports: [TuiDialogHostComponent],\n})\nexport class TuiDialogHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { AbstractTuiPortalService } from '@taiga-ui/cdk/abstract';
4
4
 
5
5
  /**
6
6
  * @deprecated create your own portal (see {@link https://taiga-ui.dev/portals Portals})
7
- * TODO: replace with {@link TuiDropdownPortalService} in 3.0
7
+ * TODO: 3.0 replace with {@link TuiDropdownPortalService}
8
8
  */
9
9
  var TuiPortalService = /** @class */ (function (_super) {
10
10
  __extends(TuiPortalService, _super);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-components-portal-host.js","sources":["ng://@taiga-ui/cdk/components/portal-host/portal.service.ts","ng://@taiga-ui/cdk/components/portal-host/taiga-ui-cdk-components-portal-host.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {AbstractTuiPortalService} from '@taiga-ui/cdk/abstract';\n\n/**\n * @deprecated create your own portal (see {@link https://taiga-ui.dev/portals Portals})\n * TODO: replace with {@link TuiDropdownPortalService} in 3.0\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiPortalService extends AbstractTuiPortalService {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;;;;;IAOsC,oCAAwB;IAA9D;;KAAiE;;IAApD,gBAAgB;QAH5B,UAAU,CAAC;YACR,UAAU,EAAE,MAAM;SACrB,CAAC;OACW,gBAAgB,CAAoC;2BAVjE;CAUiE,CAA3B,wBAAwB;;ACV9D;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-components-portal-host.js","sources":["ng://@taiga-ui/cdk/components/portal-host/portal.service.ts","ng://@taiga-ui/cdk/components/portal-host/taiga-ui-cdk-components-portal-host.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {AbstractTuiPortalService} from '@taiga-ui/cdk/abstract';\n\n/**\n * @deprecated create your own portal (see {@link https://taiga-ui.dev/portals Portals})\n * TODO: 3.0 replace with {@link TuiDropdownPortalService}\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiPortalService extends AbstractTuiPortalService {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;;;;;IAOsC,oCAAwB;IAA9D;;KAAiE;;IAApD,gBAAgB;QAH5B,UAAU,CAAC;YACR,UAAU,EAAE,MAAM;SACrB,CAAC;OACW,gBAAgB,CAAoC;2BAVjE;CAUiE,CAA3B,wBAAwB;;ACV9D;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-constants.js","sources":["ng://@taiga-ui/cdk/constants/always-false-handler.ts","ng://@taiga-ui/cdk/constants/always-true-handler.ts","ng://@taiga-ui/cdk/constants/browser.ts","ng://@taiga-ui/cdk/constants/empty.ts","ng://@taiga-ui/cdk/constants/stringify.ts","ng://@taiga-ui/cdk/constants/matcher.ts","ng://@taiga-ui/cdk/constants/parent-animation.ts","ng://@taiga-ui/cdk/constants/polling-time.ts","ng://@taiga-ui/cdk/constants/svg-node-filter.ts","ng://@taiga-ui/cdk/constants/unicode-chars.ts","ng://@taiga-ui/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["/**\n * Handler that always returns `false`.\n */\nexport const ALWAYS_FALSE_HANDLER = () => false;\n","/**\n * Handler that always returns `true`.\n */\nexport const ALWAYS_TRUE_HANDLER = () => true;\n","export const CHROMIUM_EDGE_START_VERSION = 79;\n","import {QueryList} from '@angular/core';\nimport {ValidatorFn} from '@angular/forms';\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: Function = () => {};\n/** @deprecated use Validators.nullValidator */\nexport const EMPTY_VALIDATOR: ValidatorFn = () => null;\n","import {TuiStringHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Default method to turn arbitrary object into string\n */\nexport const TUI_DEFAULT_STRINGIFY: TuiStringHandler<any> = item => String(item);\n","import {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nimport {TUI_DEFAULT_STRINGIFY} from './stringify';\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n) => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n) => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n","import {animateChild, query, style, transition, trigger} from '@angular/animations';\n\nexport const TUI_PARENT_ANIMATION = trigger('tuiParentAnimation', [\n transition('* => void', [\n style({overflow: 'hidden'}),\n query('@*', [animateChild()], {optional: true}),\n ]),\n]);\n","export const POLLING_TIME = 1000 / 15;\n","// Filtering SVGElements for TreeWalker\n// Filter must be a function in IE, other modern browsers are compliant to this format\nexport const svgNodeFilter: NodeFilter = ((node: Node) =>\n 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT) as any;\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}.\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200b';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;;IAGa,oBAAoB,GAAG,cAAM,OAAA,KAAK;;ACH/C;;;IAGa,mBAAmB,GAAG,cAAM,OAAA,IAAI;;ICHhC,2BAA2B,GAAG;;ACG3C;;;;;IAKa,WAAW,GAAG,IAAI,SAAS,GAAQ;IACnC,WAAW,GAAO,GAAG;IACrB,cAAc,GAAa,gBAAS;AACjD;IACa,eAAe,GAAgB,cAAM,OAAA,IAAI;;ACVtD;;;IAGa,qBAAqB,GAA0B,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC;;ACDhF;;;;;;IAMa,mBAAmB,GAAG,UAC/B,IAAO,EACP,MAAc,EACd,SAAwD;IAAxD,0BAAA,EAAA,iCAAwD;IACvD,OAAA,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;AAA5D,EAA6D;AAElE;;;;;;IAMa,kBAAkB,GAAG,UAC9B,IAAO,EACP,MAAc,EACd,SAAwD;IAAxD,0BAAA,EAAA,iCAAwD;IACvD,OAAA,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE;AAAtD,EAAuD;AAE5D;;;;;;;IAOa,4BAA4B,GAAgC,UAAC,KAAK,EAAE,KAAK;IAClF,OAAA,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;AAA1C,EAA2C;AAE/C,SAAS,SAAS,CAAC,KAAc,EAAE,KAAc;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAC1F;;ICtCa,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAC9D,UAAU,CAAC,WAAW,EAAE;QACpB,KAAK,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;KAClD,CAAC;CACL;;ICPY,YAAY,GAAG,IAAI,GAAG;;ACAnC;AACA;IACa,aAAa,IAAgB,UAAC,IAAU;IACjD,OAAA,iBAAiB,IAAI,IAAI;UACnB,UAAU,CAAC,aAAa;UACxB,UAAU,CAAC,aAAa;AAF9B,CAE8B;;ACLlC;;;IAGa,mBAAmB,GAAG,SAAS;AAE5C;;;IAGa,YAAY,GAAG,SAAS;AAErC;;;IAGa,WAAW,GAAG,SAAS;AAEpC;;;IAGa,aAAa,GAAG,SAAS;AAEtC;;;IAGa,kBAAkB,GAAG,SAAS;AAE3C;;;IAGa,qBAAqB,GAAG;;AC5BrC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-constants.js","sources":["ng://@taiga-ui/cdk/constants/always-false-handler.ts","ng://@taiga-ui/cdk/constants/always-true-handler.ts","ng://@taiga-ui/cdk/constants/browser.ts","ng://@taiga-ui/cdk/constants/empty.ts","ng://@taiga-ui/cdk/constants/stringify.ts","ng://@taiga-ui/cdk/constants/matcher.ts","ng://@taiga-ui/cdk/constants/parent-animation.ts","ng://@taiga-ui/cdk/constants/polling-time.ts","ng://@taiga-ui/cdk/constants/svg-node-filter.ts","ng://@taiga-ui/cdk/constants/unicode-chars.ts","ng://@taiga-ui/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["/**\n * Handler that always returns `false`.\n */\nexport const ALWAYS_FALSE_HANDLER = (): false => false;\n","/**\n * Handler that always returns `true`.\n */\nexport const ALWAYS_TRUE_HANDLER = (): true => true;\n","export const CHROMIUM_EDGE_START_VERSION = 79;\n","import {QueryList} from '@angular/core';\nimport {ValidatorFn} from '@angular/forms';\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\n/** @deprecated use Validators.nullValidator */\nexport const EMPTY_VALIDATOR: ValidatorFn = () => null;\n","import {TuiStringHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Default method to turn arbitrary object into string\n */\nexport const TUI_DEFAULT_STRINGIFY: TuiStringHandler<any> = item => String(item);\n","import {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nimport {TUI_DEFAULT_STRINGIFY} from './stringify';\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n","import {animateChild, query, style, transition, trigger} from '@angular/animations';\n\nexport const TUI_PARENT_ANIMATION = trigger('tuiParentAnimation', [\n transition('* => void', [\n style({overflow: 'hidden'}),\n query('@*', [animateChild()], {optional: true}),\n ]),\n]);\n","export const POLLING_TIME = 1000 / 15;\n","// Filtering SVGElements for TreeWalker\n// Filter must be a function in IE, other modern browsers are compliant to this format\nexport const svgNodeFilter: NodeFilter = ((node: Node) =>\n 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT) as any;\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}.\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200b';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;;IAGa,oBAAoB,GAAG,cAAa,OAAA,KAAK;;ACHtD;;;IAGa,mBAAmB,GAAG,cAAY,OAAA,IAAI;;ICHtC,2BAA2B,GAAG;;ACG3C;;;;;IAKa,WAAW,GAAG,IAAI,SAAS,GAAQ;IACnC,WAAW,GAAO,GAAG;IACrB,cAAc,GAA6B,gBAAS;AACjE;IACa,eAAe,GAAgB,cAAM,OAAA,IAAI;;ACVtD;;;IAGa,qBAAqB,GAA0B,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC;;ACDhF;;;;;;IAMa,mBAAmB,GAAG,UAC/B,IAAO,EACP,MAAc,EACd,SAAwD;IAAxD,0BAAA,EAAA,iCAAwD;IAC9C,OAAA,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;AAA5D,EAA6D;AAE3E;;;;;;IAMa,kBAAkB,GAAG,UAC9B,IAAO,EACP,MAAc,EACd,SAAwD;IAAxD,0BAAA,EAAA,iCAAwD;IAC9C,OAAA,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE;AAAtD,EAAuD;AAErE;;;;;;;IAOa,4BAA4B,GAAgC,UAAC,KAAK,EAAE,KAAK;IAClF,OAAA,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;AAA1C,EAA2C;AAE/C,SAAS,SAAS,CAAC,KAAc,EAAE,KAAc;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAC1F;;ICtCa,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAC9D,UAAU,CAAC,WAAW,EAAE;QACpB,KAAK,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;KAClD,CAAC;CACL;;ICPY,YAAY,GAAG,IAAI,GAAG;;ACAnC;AACA;IACa,aAAa,IAAgB,UAAC,IAAU;IACjD,OAAA,iBAAiB,IAAI,IAAI;UACnB,UAAU,CAAC,aAAa;UACxB,UAAU,CAAC,aAAa;AAF9B,CAE8B;;ACLlC;;;IAGa,mBAAmB,GAAG,SAAS;AAE5C;;;IAGa,YAAY,GAAG,SAAS;AAErC;;;IAGa,WAAW,GAAG,SAAS;AAEpC;;;IAGa,aAAa,GAAG,SAAS;AAEtC;;;IAGa,kBAAkB,GAAG,SAAS;AAE3C;;;IAGa,qBAAqB,GAAG;;AC5BrC;;;;;;"}
@@ -26,14 +26,12 @@ var MILLISECONDS_IN_DAY = MILLISECONDS_IN_HOUR * HOURS_IN_DAY;
26
26
 
27
27
  /**
28
28
  * @deprecated dont use it. See {@link TUI_DATE_FORMAT}
29
- * TODO: get rid of this in v3.0
30
29
  */
31
30
  var TUI_DATE_FILLER = new InjectionToken('date filler for Taiga UI', {
32
31
  factory: function () { return "dd.mm.yyyy"; },
33
32
  });
34
33
  /**
35
34
  * @deprecated dont use it
36
- * TODO: get rid of this in v3.0
37
35
  */
38
36
  var TUI_DATE_RANGE_FILLER = new InjectionToken('date range filler for Taiga UI', {
39
37
  factory: function () {
@@ -62,9 +60,7 @@ var TUI_DATE_FORMAT = new InjectionToken('Active date format for Taiga UI', {
62
60
  var TUI_DATE_SEPARATOR = new InjectionToken('Date separator for Taiga UI components', {
63
61
  factory: function () { return '.'; },
64
62
  });
65
- var changeDateSeparator = function (dateString, newDateSeparator) {
66
- return dateString.replace(/[^0-9A-Za-zА-Яа-я]/gi, newDateSeparator);
67
- };
63
+ var changeDateSeparator = function (dateString, newDateSeparator) { return dateString.replace(/[^0-9A-Za-zА-Яа-я]/gi, newDateSeparator); };
68
64
 
69
65
  /**
70
66
  * Immutable year object
@@ -194,7 +190,7 @@ var TuiYear = /** @class */ (function () {
194
190
  var year = _a.year;
195
191
  return this.year > year;
196
192
  };
197
- // TODO: Consider removing `backwards` option
193
+ // TODO: 3.0 Consider removing `backwards` option
198
194
  /**
199
195
  * Immutably offsets year
200
196
  */
@@ -212,6 +208,17 @@ var TuiYear = /** @class */ (function () {
212
208
  TuiYear.prototype.toString = function () {
213
209
  return this.formattedYear;
214
210
  };
211
+ TuiYear.prototype.valueOf = function () {
212
+ return this.year;
213
+ };
214
+ /**
215
+ * Returns the primitive value of the given Date object.
216
+ * Depending on the argument, the method can return either a string or a number.
217
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive
218
+ */
219
+ TuiYear.prototype[Symbol.toPrimitive] = function (hint) {
220
+ return Date.prototype[Symbol.toPrimitive].call(this, hint);
221
+ };
215
222
  TuiYear.prototype.toJSON = function () {
216
223
  return this.formattedYear;
217
224
  };
@@ -298,7 +305,6 @@ var TuiMonth = /** @class */ (function (_super) {
298
305
  Object.defineProperty(TuiMonth.prototype, "formattedMonth", {
299
306
  /**
300
307
  * @deprecated
301
- * TODO remove in 3.0
302
308
  * Formatter month and year
303
309
  */
304
310
  get: function () {
@@ -379,7 +385,7 @@ var TuiMonth = /** @class */ (function (_super) {
379
385
  return (this.yearAfter(another) ||
380
386
  (this.yearSame(another) && this.month > another.month));
381
387
  };
382
- // TODO: Consider removing `backwards` option
388
+ // TODO: 3.0 Consider removing `backwards` option
383
389
  /**
384
390
  * Immutably alters current month and year by passed offset
385
391
  *
@@ -400,6 +406,9 @@ var TuiMonth = /** @class */ (function (_super) {
400
406
  TuiMonth.prototype.toString = function () {
401
407
  return this.formattedMonth;
402
408
  };
409
+ TuiMonth.prototype.valueOf = function () {
410
+ return this.toLocalNativeDate().valueOf();
411
+ };
403
412
  TuiMonth.prototype.toJSON = function () {
404
413
  return _super.prototype.toJSON.call(this) + "-" + this.formattedMonthPart;
405
414
  };
@@ -491,6 +500,16 @@ var TuiDay = /** @class */ (function (_super) {
491
500
  var day = nativeDate.getDate();
492
501
  return new TuiDay(year, month, day);
493
502
  };
503
+ /**
504
+ * Returns current day based on UTC
505
+ */
506
+ TuiDay.currentUtc = function () {
507
+ var nativeDate = new Date();
508
+ var year = nativeDate.getUTCFullYear();
509
+ var month = nativeDate.getUTCMonth();
510
+ var day = nativeDate.getUTCDate();
511
+ return new TuiDay(year, month, day);
512
+ };
494
513
  /**
495
514
  * Calculates {@link TuiDay} normalizing year, month and day. {@link NaN} is turned into minimal value.
496
515
  *
@@ -582,7 +601,6 @@ var TuiDay = /** @class */ (function (_super) {
582
601
  Object.defineProperty(TuiDay.prototype, "formattedDay", {
583
602
  /**
584
603
  * @deprecated use {@link getFormattedDay} instead
585
- * TODO remove in 3.0
586
604
  * Formatted whole date
587
605
  */
588
606
  get: function () {
@@ -662,7 +680,7 @@ var TuiDay = /** @class */ (function (_super) {
662
680
  }
663
681
  return this;
664
682
  };
665
- // TODO: Consider removing `backwards` option
683
+ // TODO: 3.0 Consider removing `backwards` option
666
684
  /**
667
685
  * Immutably alters current day by passed offset
668
686
  *
@@ -773,7 +791,6 @@ var TuiMonthRange = /** @class */ (function () {
773
791
  Object.defineProperty(TuiMonthRange.prototype, "formattedMonthRange", {
774
792
  /**
775
793
  * @deprecated
776
- * TODO remove in 3.0
777
794
  */
778
795
  get: function () {
779
796
  return "" + this.from.formattedMonth + RANGE_SEPARATOR_CHAR + this.to.formattedMonth;
@@ -792,7 +809,7 @@ var TuiMonthRange = /** @class */ (function () {
792
809
 
793
810
  /**
794
811
  * Temporary type guard to satisfy ts-overloading of normalizeParse method
795
- * @deprecated TODO rm in v3.0
812
+ * @deprecated
796
813
  */
797
814
  var isDateMode = function (dateMode) {
798
815
  return ['DMY', 'YMD', 'MDY'].includes(dateMode);
@@ -999,6 +1016,17 @@ var TuiTime = /** @class */ (function () {
999
1016
  ("" + (needAddSeconds ? ":" + this.formatTime(this.seconds) : '')) +
1000
1017
  ("" + (needAddMs ? "." + this.formatTime(this.ms, 3) : '')));
1001
1018
  };
1019
+ TuiTime.prototype.valueOf = function () {
1020
+ return this.toAbsoluteMilliseconds();
1021
+ };
1022
+ /**
1023
+ * Returns the primitive value of the given Date object.
1024
+ * Depending on the argument, the method can return either a string or a number.
1025
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive
1026
+ */
1027
+ TuiTime.prototype[Symbol.toPrimitive] = function (hint) {
1028
+ return Date.prototype[Symbol.toPrimitive].call(this, hint);
1029
+ };
1002
1030
  /**
1003
1031
  * Converts TuiTime to milliseconds
1004
1032
  */