@taiga-ui/cdk 2.46.0 → 2.47.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 (233) hide show
  1. package/bundles/taiga-ui-cdk-abstract.umd.js +50 -20
  2. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  3. package/bundles/taiga-ui-cdk-abstract.umd.min.js +1 -15
  4. package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-cdk-components-alert-host.umd.js +50 -20
  6. package/bundles/taiga-ui-cdk-components-alert-host.umd.js.map +1 -1
  7. package/bundles/taiga-ui-cdk-components-alert-host.umd.min.js +1 -15
  8. package/bundles/taiga-ui-cdk-components-alert-host.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +50 -20
  10. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
  11. package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js +1 -15
  12. package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js +50 -20
  14. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js.map +1 -1
  15. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js +1 -15
  16. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-cdk-components-portal-host.umd.js +50 -20
  18. package/bundles/taiga-ui-cdk-components-portal-host.umd.js.map +1 -1
  19. package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js +1 -15
  20. package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-cdk-date-time.umd.js +50 -20
  22. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  23. package/bundles/taiga-ui-cdk-date-time.umd.min.js +1 -15
  24. package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-cdk-decorators.umd.js +50 -20
  26. package/bundles/taiga-ui-cdk-decorators.umd.js.map +1 -1
  27. package/bundles/taiga-ui-cdk-decorators.umd.min.js +1 -15
  28. package/bundles/taiga-ui-cdk-decorators.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js +50 -20
  30. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js.map +1 -1
  31. package/bundles/taiga-ui-cdk-directives-active-zone.umd.min.js +1 -15
  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 +50 -20
  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 +1 -15
  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 +50 -20
  38. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
  39. package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js +1 -15
  40. package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-cdk-directives-checked.umd.js +50 -20
  42. package/bundles/taiga-ui-cdk-directives-checked.umd.js.map +1 -1
  43. package/bundles/taiga-ui-cdk-directives-checked.umd.min.js +1 -15
  44. package/bundles/taiga-ui-cdk-directives-checked.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js +50 -20
  46. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js.map +1 -1
  47. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.min.js +1 -15
  48. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-cdk-directives-drag.umd.js +50 -20
  50. package/bundles/taiga-ui-cdk-directives-drag.umd.js.map +1 -1
  51. package/bundles/taiga-ui-cdk-directives-drag.umd.min.js +1 -15
  52. package/bundles/taiga-ui-cdk-directives-drag.umd.min.js.map +1 -1
  53. package/bundles/taiga-ui-cdk-directives-droppable.umd.js +50 -20
  54. package/bundles/taiga-ui-cdk-directives-droppable.umd.js.map +1 -1
  55. package/bundles/taiga-ui-cdk-directives-droppable.umd.min.js +1 -15
  56. package/bundles/taiga-ui-cdk-directives-droppable.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-cdk-directives-element.umd.js +50 -20
  58. package/bundles/taiga-ui-cdk-directives-element.umd.js.map +1 -1
  59. package/bundles/taiga-ui-cdk-directives-element.umd.min.js +1 -15
  60. package/bundles/taiga-ui-cdk-directives-element.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js +50 -20
  62. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js.map +1 -1
  63. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.min.js +1 -15
  64. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.min.js.map +1 -1
  65. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.js +50 -20
  66. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.js.map +1 -1
  67. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.min.js +1 -15
  68. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.min.js.map +1 -1
  69. package/bundles/taiga-ui-cdk-directives-focusable.umd.js +50 -20
  70. package/bundles/taiga-ui-cdk-directives-focusable.umd.js.map +1 -1
  71. package/bundles/taiga-ui-cdk-directives-focusable.umd.min.js +1 -15
  72. package/bundles/taiga-ui-cdk-directives-focusable.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-cdk-directives-focused.umd.js +50 -20
  74. package/bundles/taiga-ui-cdk-directives-focused.umd.js.map +1 -1
  75. package/bundles/taiga-ui-cdk-directives-focused.umd.min.js +1 -15
  76. package/bundles/taiga-ui-cdk-directives-focused.umd.min.js.map +1 -1
  77. package/bundles/taiga-ui-cdk-directives-for-async.umd.js +324 -0
  78. package/bundles/taiga-ui-cdk-directives-for-async.umd.js.map +1 -0
  79. package/bundles/taiga-ui-cdk-directives-for-async.umd.min.js +2 -0
  80. package/bundles/taiga-ui-cdk-directives-for-async.umd.min.js.map +1 -0
  81. package/bundles/taiga-ui-cdk-directives-for.umd.js +50 -20
  82. package/bundles/taiga-ui-cdk-directives-for.umd.js.map +1 -1
  83. package/bundles/taiga-ui-cdk-directives-for.umd.min.js +1 -15
  84. package/bundles/taiga-ui-cdk-directives-for.umd.min.js.map +1 -1
  85. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js +50 -20
  86. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js.map +1 -1
  87. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.min.js +1 -15
  88. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.min.js.map +1 -1
  89. package/bundles/taiga-ui-cdk-directives-hovered.umd.js +50 -20
  90. package/bundles/taiga-ui-cdk-directives-hovered.umd.js.map +1 -1
  91. package/bundles/taiga-ui-cdk-directives-hovered.umd.min.js +1 -15
  92. package/bundles/taiga-ui-cdk-directives-hovered.umd.min.js.map +1 -1
  93. package/bundles/taiga-ui-cdk-directives-input-mode.umd.js +50 -20
  94. package/bundles/taiga-ui-cdk-directives-input-mode.umd.js.map +1 -1
  95. package/bundles/taiga-ui-cdk-directives-input-mode.umd.min.js +1 -15
  96. package/bundles/taiga-ui-cdk-directives-input-mode.umd.min.js.map +1 -1
  97. package/bundles/taiga-ui-cdk-directives-item.umd.js +50 -20
  98. package/bundles/taiga-ui-cdk-directives-item.umd.js.map +1 -1
  99. package/bundles/taiga-ui-cdk-directives-item.umd.min.js +1 -15
  100. package/bundles/taiga-ui-cdk-directives-item.umd.min.js.map +1 -1
  101. package/bundles/taiga-ui-cdk-directives-let.umd.js +50 -20
  102. package/bundles/taiga-ui-cdk-directives-let.umd.js.map +1 -1
  103. package/bundles/taiga-ui-cdk-directives-let.umd.min.js +1 -15
  104. package/bundles/taiga-ui-cdk-directives-let.umd.min.js.map +1 -1
  105. package/bundles/taiga-ui-cdk-directives-media.umd.js +50 -20
  106. package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
  107. package/bundles/taiga-ui-cdk-directives-media.umd.min.js +1 -15
  108. package/bundles/taiga-ui-cdk-directives-media.umd.min.js.map +1 -1
  109. package/bundles/taiga-ui-cdk-directives-obscured.umd.js +50 -20
  110. package/bundles/taiga-ui-cdk-directives-obscured.umd.js.map +1 -1
  111. package/bundles/taiga-ui-cdk-directives-obscured.umd.min.js +1 -15
  112. package/bundles/taiga-ui-cdk-directives-obscured.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js +50 -20
  114. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js.map +1 -1
  115. package/bundles/taiga-ui-cdk-directives-overscroll.umd.min.js +1 -15
  116. package/bundles/taiga-ui-cdk-directives-overscroll.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-cdk-directives-pan.umd.js +50 -20
  118. package/bundles/taiga-ui-cdk-directives-pan.umd.js.map +1 -1
  119. package/bundles/taiga-ui-cdk-directives-pan.umd.min.js +1 -15
  120. package/bundles/taiga-ui-cdk-directives-pan.umd.min.js.map +1 -1
  121. package/bundles/taiga-ui-cdk-directives-portal.umd.js +50 -20
  122. package/bundles/taiga-ui-cdk-directives-portal.umd.js.map +1 -1
  123. package/bundles/taiga-ui-cdk-directives-portal.umd.min.js +1 -15
  124. package/bundles/taiga-ui-cdk-directives-portal.umd.min.js.map +1 -1
  125. package/bundles/taiga-ui-cdk-directives-pressed.umd.js +50 -20
  126. package/bundles/taiga-ui-cdk-directives-pressed.umd.js.map +1 -1
  127. package/bundles/taiga-ui-cdk-directives-pressed.umd.min.js +1 -15
  128. package/bundles/taiga-ui-cdk-directives-pressed.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js +50 -20
  130. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js.map +1 -1
  131. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.min.js +1 -15
  132. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.min.js.map +1 -1
  133. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js +50 -20
  134. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js.map +1 -1
  135. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.min.js +1 -15
  136. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.min.js.map +1 -1
  137. package/bundles/taiga-ui-cdk-directives-resize.umd.js +50 -20
  138. package/bundles/taiga-ui-cdk-directives-resize.umd.js.map +1 -1
  139. package/bundles/taiga-ui-cdk-directives-resize.umd.min.js +1 -15
  140. package/bundles/taiga-ui-cdk-directives-resize.umd.min.js.map +1 -1
  141. package/bundles/taiga-ui-cdk-directives-swipe.umd.js +50 -20
  142. package/bundles/taiga-ui-cdk-directives-swipe.umd.js.map +1 -1
  143. package/bundles/taiga-ui-cdk-directives-swipe.umd.min.js +1 -15
  144. package/bundles/taiga-ui-cdk-directives-swipe.umd.min.js.map +1 -1
  145. package/bundles/taiga-ui-cdk-directives-validator.umd.js +50 -20
  146. package/bundles/taiga-ui-cdk-directives-validator.umd.js.map +1 -1
  147. package/bundles/taiga-ui-cdk-directives-validator.umd.min.js +1 -15
  148. package/bundles/taiga-ui-cdk-directives-validator.umd.min.js.map +1 -1
  149. package/bundles/taiga-ui-cdk-directives-zoom.umd.js +50 -20
  150. package/bundles/taiga-ui-cdk-directives-zoom.umd.js.map +1 -1
  151. package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js +1 -15
  152. package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js.map +1 -1
  153. package/bundles/taiga-ui-cdk-directives.umd.js +12 -4
  154. package/bundles/taiga-ui-cdk-directives.umd.js.map +1 -1
  155. package/bundles/taiga-ui-cdk-directives.umd.min.js +1 -1
  156. package/bundles/taiga-ui-cdk-exceptions.umd.js +50 -20
  157. package/bundles/taiga-ui-cdk-exceptions.umd.js.map +1 -1
  158. package/bundles/taiga-ui-cdk-exceptions.umd.min.js +1 -15
  159. package/bundles/taiga-ui-cdk-exceptions.umd.min.js.map +1 -1
  160. package/bundles/taiga-ui-cdk-pipes-filter.umd.js +50 -20
  161. package/bundles/taiga-ui-cdk-pipes-filter.umd.js.map +1 -1
  162. package/bundles/taiga-ui-cdk-pipes-filter.umd.min.js +1 -15
  163. package/bundles/taiga-ui-cdk-pipes-filter.umd.min.js.map +1 -1
  164. package/bundles/taiga-ui-cdk-pipes-mapper.umd.js +50 -20
  165. package/bundles/taiga-ui-cdk-pipes-mapper.umd.js.map +1 -1
  166. package/bundles/taiga-ui-cdk-pipes-mapper.umd.min.js +1 -15
  167. package/bundles/taiga-ui-cdk-pipes-mapper.umd.min.js.map +1 -1
  168. package/bundles/taiga-ui-cdk-services.umd.js +50 -20
  169. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  170. package/bundles/taiga-ui-cdk-services.umd.min.js +1 -15
  171. package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
  172. package/bundles/taiga-ui-cdk-tokens.umd.js +50 -20
  173. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  174. package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -15
  175. package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
  176. package/bundles/taiga-ui-cdk-utils-os.umd.js +17 -3
  177. package/bundles/taiga-ui-cdk-utils-os.umd.js.map +1 -1
  178. package/bundles/taiga-ui-cdk-utils-os.umd.min.js +1 -1
  179. package/bundles/taiga-ui-cdk-utils-os.umd.min.js.map +1 -1
  180. package/bundles/taiga-ui-cdk-utils-svg.umd.js +50 -20
  181. package/bundles/taiga-ui-cdk-utils-svg.umd.js.map +1 -1
  182. package/bundles/taiga-ui-cdk-utils-svg.umd.min.js +1 -15
  183. package/bundles/taiga-ui-cdk-utils-svg.umd.min.js.map +1 -1
  184. package/directives/for-async/for-async.directive.d.ts +13 -0
  185. package/directives/for-async/for-async.module.d.ts +5 -0
  186. package/directives/for-async/index.d.ts +2 -0
  187. package/directives/for-async/package.json +13 -0
  188. package/directives/for-async/taiga-ui-cdk-directives-for-async.d.ts +4 -0
  189. package/directives/for-async/taiga-ui-cdk-directives-for-async.metadata.json +1 -0
  190. package/directives/index.d.ts +1 -0
  191. package/directives/taiga-ui-cdk-directives.metadata.json +1 -1
  192. package/esm2015/directives/for-async/for-async.directive.js +48 -0
  193. package/esm2015/directives/for-async/for-async.module.js +16 -0
  194. package/esm2015/directives/for-async/index.js +3 -0
  195. package/esm2015/directives/for-async/taiga-ui-cdk-directives-for-async.js +5 -0
  196. package/esm2015/directives/index.js +2 -1
  197. package/esm2015/utils/os/index.js +2 -1
  198. package/esm2015/utils/os/is-apple-platform.js +14 -0
  199. package/esm2015/utils/os/is-ios.js +4 -4
  200. package/esm5/directives/for-async/for-async.directive.js +52 -0
  201. package/esm5/directives/for-async/for-async.module.js +19 -0
  202. package/esm5/directives/for-async/index.js +3 -0
  203. package/esm5/directives/for-async/taiga-ui-cdk-directives-for-async.js +5 -0
  204. package/esm5/directives/index.js +2 -1
  205. package/esm5/utils/os/index.js +2 -1
  206. package/esm5/utils/os/is-apple-platform.js +14 -0
  207. package/esm5/utils/os/is-ios.js +4 -4
  208. package/fesm2015/taiga-ui-cdk-directives-for-async.js +66 -0
  209. package/fesm2015/taiga-ui-cdk-directives-for-async.js.map +1 -0
  210. package/fesm2015/taiga-ui-cdk-directives.js +1 -0
  211. package/fesm2015/taiga-ui-cdk-directives.js.map +1 -1
  212. package/fesm2015/taiga-ui-cdk-utils-os.js +17 -4
  213. package/fesm2015/taiga-ui-cdk-utils-os.js.map +1 -1
  214. package/fesm5/taiga-ui-cdk-directives-for-async.js +73 -0
  215. package/fesm5/taiga-ui-cdk-directives-for-async.js.map +1 -0
  216. package/fesm5/taiga-ui-cdk-directives.js +1 -0
  217. package/fesm5/taiga-ui-cdk-directives.js.map +1 -1
  218. package/fesm5/taiga-ui-cdk-utils-os.js +17 -4
  219. package/fesm5/taiga-ui-cdk-utils-os.js.map +1 -1
  220. package/package.json +1 -1
  221. package/schematics/ng-update/constants/consts.d.ts +7 -7
  222. package/schematics/ng-update/constants/enums.d.ts +3 -3
  223. package/schematics/ng-update/constants/types.d.ts +3 -3
  224. package/schematics/ng-update/constants/types.js +26 -0
  225. package/schematics/ng-update/constants/warnings.d.ts +6 -0
  226. package/schematics/ng-update/constants/warnings.js +8 -0
  227. package/schematics/ng-update/index.js +2 -0
  228. package/schematics/ng-update/steps/rename-types.js +16 -9
  229. package/schematics/ng-update/steps/show-warnings.d.ts +2 -0
  230. package/schematics/ng-update/steps/show-warnings.js +18 -0
  231. package/utils/os/index.d.ts +1 -0
  232. package/utils/os/is-apple-platform.d.ts +11 -0
  233. package/utils/os/taiga-ui-cdk-utils-os.metadata.json +1 -1
@@ -1,7 +1,7 @@
1
+ import { isApplePlatform } from './is-apple-platform';
1
2
  const IOS_REG_EXP = /ipad|iphone|ipod/;
2
3
  export function isIos(navigator) {
3
- const userAgentValue = navigator.userAgent.toLowerCase();
4
- return (IOS_REG_EXP.test(userAgentValue) ||
5
- (userAgentValue.includes('apple') && navigator.maxTouchPoints > 1));
4
+ return (IOS_REG_EXP.test(navigator.userAgent.toLowerCase()) ||
5
+ (isApplePlatform(navigator) && navigator.maxTouchPoints > 1));
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaW9zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay91dGlscy9vcy8iLCJzb3VyY2VzIjpbImlzLWlvcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztBQUV2QyxNQUFNLFVBQVUsS0FBSyxDQUFDLFNBQW9CO0lBQ3RDLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFekQsT0FBTyxDQUNILFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ2hDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxTQUFTLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUNyRSxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IElPU19SRUdfRVhQID0gL2lwYWR8aXBob25lfGlwb2QvO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNJb3MobmF2aWdhdG9yOiBOYXZpZ2F0b3IpOiBib29sZWFuIHtcbiAgICBjb25zdCB1c2VyQWdlbnRWYWx1ZSA9IG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIElPU19SRUdfRVhQLnRlc3QodXNlckFnZW50VmFsdWUpIHx8XG4gICAgICAgICh1c2VyQWdlbnRWYWx1ZS5pbmNsdWRlcygnYXBwbGUnKSAmJiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAxKVxuICAgICk7XG59XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaW9zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay91dGlscy9vcy8iLCJzb3VyY2VzIjpbImlzLWlvcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUM7QUFFdkMsTUFBTSxVQUFVLEtBQUssQ0FBQyxTQUFvQjtJQUN0QyxPQUFPLENBQ0gsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25ELENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQy9ELENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc0FwcGxlUGxhdGZvcm19IGZyb20gJy4vaXMtYXBwbGUtcGxhdGZvcm0nO1xuXG5jb25zdCBJT1NfUkVHX0VYUCA9IC9pcGFkfGlwaG9uZXxpcG9kLztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSW9zKG5hdmlnYXRvcjogTmF2aWdhdG9yKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgSU9TX1JFR19FWFAudGVzdChuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkpIHx8XG4gICAgICAgIChpc0FwcGxlUGxhdGZvcm0obmF2aWdhdG9yKSAmJiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAxKVxuICAgICk7XG59XG4iXX0=
@@ -0,0 +1,52 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { Directive, Inject, Input, OnChanges, OnDestroy, TemplateRef, ViewContainerRef, } from '@angular/core';
3
+ import { from, of, Subject } from 'rxjs';
4
+ import { concatMap, delay, takeUntil } from 'rxjs/operators';
5
+ var TuiForAsyncDirective = /** @class */ (function () {
6
+ function TuiForAsyncDirective(view, template) {
7
+ this.view = view;
8
+ this.template = template;
9
+ this.destroy$ = new Subject();
10
+ this.tuiForAsyncTimeout = 10;
11
+ }
12
+ TuiForAsyncDirective.prototype.ngOnChanges = function () {
13
+ this.clearViewForOldNodes();
14
+ this.createAsyncViewForNewNodes();
15
+ };
16
+ TuiForAsyncDirective.prototype.ngOnDestroy = function () {
17
+ this.clearViewForOldNodes();
18
+ this.destroy$.complete();
19
+ };
20
+ TuiForAsyncDirective.prototype.createAsyncViewForNewNodes = function () {
21
+ var _this = this;
22
+ from(this.tuiForAsyncOf || [])
23
+ .pipe(concatMap(function (item) { return of(item).pipe(delay(_this.tuiForAsyncTimeout)); }), takeUntil(this.destroy$))
24
+ .subscribe(function (item) {
25
+ return _this.view
26
+ .createEmbeddedView(_this.template, { $implicit: item })
27
+ .detectChanges();
28
+ });
29
+ };
30
+ TuiForAsyncDirective.prototype.clearViewForOldNodes = function () {
31
+ this.destroy$.next();
32
+ this.view.clear();
33
+ };
34
+ TuiForAsyncDirective.ctorParameters = function () { return [
35
+ { type: ViewContainerRef, decorators: [{ type: Inject, args: [ViewContainerRef,] }] },
36
+ { type: TemplateRef, decorators: [{ type: Inject, args: [TemplateRef,] }] }
37
+ ]; };
38
+ __decorate([
39
+ Input()
40
+ ], TuiForAsyncDirective.prototype, "tuiForAsyncOf", void 0);
41
+ __decorate([
42
+ Input()
43
+ ], TuiForAsyncDirective.prototype, "tuiForAsyncTimeout", void 0);
44
+ TuiForAsyncDirective = __decorate([
45
+ Directive({ selector: '[tuiForAsync][tuiForAsyncOf]' }),
46
+ __param(0, Inject(ViewContainerRef)),
47
+ __param(1, Inject(TemplateRef))
48
+ ], TuiForAsyncDirective);
49
+ return TuiForAsyncDirective;
50
+ }());
51
+ export { TuiForAsyncDirective };
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLWFzeW5jLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9mb3ItYXN5bmMvIiwic291cmNlcyI6WyJmb3ItYXN5bmMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxXQUFXLEVBQ1gsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUczRDtJQVNJLDhCQUMrQyxJQUFzQixFQUMzQixRQUE4QjtRQUR6QixTQUFJLEdBQUosSUFBSSxDQUFrQjtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFzQjtRQVZ2RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU1oRCx1QkFBa0IsR0FBRyxFQUFFLENBQUM7SUFLckIsQ0FBQztJQUVKLDBDQUFXLEdBQVg7UUFDSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsMENBQVcsR0FBWDtRQUNJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLHlEQUEwQixHQUFsQztRQUFBLGlCQVdDO1FBVkcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO2FBQ3pCLElBQUksQ0FDRCxTQUFTLENBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUE3QyxDQUE2QyxDQUFDLEVBQ2hFLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQzNCO2FBQ0EsU0FBUyxDQUFDLFVBQUEsSUFBSTtZQUNYLE9BQUEsS0FBSSxDQUFDLElBQUk7aUJBQ0osa0JBQWtCLENBQUMsS0FBSSxDQUFDLFFBQVEsRUFBRSxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQztpQkFDcEQsYUFBYSxFQUFFO1FBRnBCLENBRW9CLENBQ3ZCLENBQUM7SUFDVixDQUFDO0lBRU8sbURBQW9CLEdBQTVCO1FBQ0ksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLENBQUM7O2dCQTlCb0QsZ0JBQWdCLHVCQUFoRSxNQUFNLFNBQUMsZ0JBQWdCO2dCQUN3QixXQUFXLHVCQUExRCxNQUFNLFNBQUMsV0FBVzs7SUFQdkI7UUFEQyxLQUFLLEVBQUU7K0RBQ3VDO0lBRy9DO1FBREMsS0FBSyxFQUFFO29FQUNnQjtJQVBmLG9CQUFvQjtRQURoQyxTQUFTLENBQUMsRUFBQyxRQUFRLEVBQUUsOEJBQThCLEVBQUMsQ0FBQztRQVc3QyxXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBQ3hCLFdBQUEsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO09BWGYsb0JBQW9CLENBeUNoQztJQUFELDJCQUFDO0NBQUEsQUF6Q0QsSUF5Q0M7U0F6Q1ksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Zyb20sIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y29uY2F0TWFwLCBkZWxheSwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnW3R1aUZvckFzeW5jXVt0dWlGb3JBc3luY09mXSd9KVxuZXhwb3J0IGNsYXNzIFR1aUZvckFzeW5jRGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgQElucHV0KClcbiAgICB0dWlGb3JBc3luY09mOiByZWFkb25seSBUW10gfCB1bmRlZmluZWQgfCBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICB0dWlGb3JBc3luY1RpbWVvdXQgPSAxMDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFZpZXdDb250YWluZXJSZWYpIHByaXZhdGUgcmVhZG9ubHkgdmlldzogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQEluamVjdChUZW1wbGF0ZVJlZikgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj4sXG4gICAgKSB7fVxuXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJWaWV3Rm9yT2xkTm9kZXMoKTtcbiAgICAgICAgdGhpcy5jcmVhdGVBc3luY1ZpZXdGb3JOZXdOb2RlcygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyVmlld0Zvck9sZE5vZGVzKCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFzeW5jVmlld0Zvck5ld05vZGVzKCk6IHZvaWQge1xuICAgICAgICBmcm9tKHRoaXMudHVpRm9yQXN5bmNPZiB8fCBbXSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGNvbmNhdE1hcChpdGVtID0+IG9mKGl0ZW0pLnBpcGUoZGVsYXkodGhpcy50dWlGb3JBc3luY1RpbWVvdXQpKSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShpdGVtID0+XG4gICAgICAgICAgICAgICAgdGhpcy52aWV3XG4gICAgICAgICAgICAgICAgICAgIC5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZSwgeyRpbXBsaWNpdDogaXRlbX0pXG4gICAgICAgICAgICAgICAgICAgIC5kZXRlY3RDaGFuZ2VzKCksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJWaWV3Rm9yT2xkTm9kZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLnZpZXcuY2xlYXIoKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { __decorate } from "tslib";
2
+ import { NgModule } from '@angular/core';
3
+ import { TuiForAsyncDirective } from './for-async.directive';
4
+ /**
5
+ * @experimental
6
+ */
7
+ var TuiForAsyncModule = /** @class */ (function () {
8
+ function TuiForAsyncModule() {
9
+ }
10
+ TuiForAsyncModule = __decorate([
11
+ NgModule({
12
+ declarations: [TuiForAsyncDirective],
13
+ exports: [TuiForAsyncDirective],
14
+ })
15
+ ], TuiForAsyncModule);
16
+ return TuiForAsyncModule;
17
+ }());
18
+ export { TuiForAsyncModule };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLWFzeW5jLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9mb3ItYXN5bmMvIiwic291cmNlcyI6WyJmb3ItYXN5bmMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTNEOztHQUVHO0FBS0g7SUFBQTtJQUFnQyxDQUFDO0lBQXBCLGlCQUFpQjtRQUo3QixRQUFRLENBQUM7WUFDTixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztZQUNwQyxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztTQUNsQyxDQUFDO09BQ1csaUJBQWlCLENBQUc7SUFBRCx3QkFBQztDQUFBLEFBQWpDLElBQWlDO1NBQXBCLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1R1aUZvckFzeW5jRGlyZWN0aXZlfSBmcm9tICcuL2Zvci1hc3luYy5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlGb3JBc3luY0RpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW1R1aUZvckFzeW5jRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRm9yQXN5bmNNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './for-async.directive';
2
+ export * from './for-async.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvZm9yLWFzeW5jLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3ItYXN5bmMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9yLWFzeW5jLm1vZHVsZSc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktY2RrLWRpcmVjdGl2ZXMtZm9yLWFzeW5jLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2Zvci1hc3luYy8iLCJzb3VyY2VzIjpbInRhaWdhLXVpLWNkay1kaXJlY3RpdmVzLWZvci1hc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -10,6 +10,7 @@ export * from '@taiga-ui/cdk/directives/focus-visible';
10
10
  export * from '@taiga-ui/cdk/directives/focusable';
11
11
  export * from '@taiga-ui/cdk/directives/focused';
12
12
  export * from '@taiga-ui/cdk/directives/for';
13
+ export * from '@taiga-ui/cdk/directives/for-async';
13
14
  export * from '@taiga-ui/cdk/directives/high-dpi';
14
15
  export * from '@taiga-ui/cdk/directives/hovered';
15
16
  export * from '@taiga-ui/cdk/directives/input-mode';
@@ -27,4 +28,4 @@ export * from '@taiga-ui/cdk/directives/resize';
27
28
  export * from '@taiga-ui/cdk/directives/swipe';
28
29
  export * from '@taiga-ui/cdk/directives/validator';
29
30
  export * from '@taiga-ui/cdk/directives/zoom';
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYWN0aXZlLXpvbmUnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2F1dG8tZm9jdXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2F1dG9maWxsZWQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2NoZWNrZWQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2RyYWcnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2Ryb3BwYWJsZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvZm9jdXMtdHJhcCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvZm9jdXMtdmlzaWJsZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvZm9jdXNhYmxlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9mb2N1c2VkJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9mb3InO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2hpZ2gtZHBpJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9ob3ZlcmVkJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9pbnB1dC1tb2RlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9pdGVtJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9sZXQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL21lZGlhJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9vYnNjdXJlZCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvb3ZlcnNjcm9sbCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcGFuJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9wb3J0YWwnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3ByZXNzZWQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3ByZXZlbnQtZGVmYXVsdCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcmVwZWF0LXRpbWVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9yZXNpemUnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3N3aXBlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy92YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3pvb20nO1xuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hY3RpdmUtem9uZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvY2hlY2tlZCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvZHJhZyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvZHJvcHBhYmxlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9lbGVtZW50JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9mb2N1cy10cmFwJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9mb2N1cy12aXNpYmxlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9mb2N1c2FibGUnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2ZvY3VzZWQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2Zvcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvZm9yLWFzeW5jJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9oaWdoLWRwaSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvaG92ZXJlZCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvaW5wdXQtbW9kZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvaXRlbSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvbGV0JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9tZWRpYSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvb2JzY3VyZWQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL292ZXJzY3JvbGwnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3Bhbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcG9ydGFsJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9wcmVzc2VkJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9wcmV2ZW50LWRlZmF1bHQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3JlcGVhdC10aW1lcyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcmVzaXplJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9zd2lwZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvdmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy96b29tJztcbiJdfQ==
@@ -1,3 +1,4 @@
1
1
  export * from './is-apple';
2
+ export * from './is-apple-platform';
2
3
  export * from './is-ios';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL29zLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lzLWFwcGxlJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtaW9zJztcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL29zLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaXMtYXBwbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1hcHBsZS1wbGF0Zm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWlvcyc7XG4iXX0=
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @note:
3
+ * All Chrome / Chromium-based browsers will return MacIntel on macOS,
4
+ * no matter what the hardware architecture is. See the source code here:
5
+ * https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/frame/navigator_id.cc;l=64;drc=703d3c472cf27470dad21a3f2c8972aca3732cd6
6
+ * But maybe in future years, it will be changed to MacM1
7
+ *
8
+ * Documentation:
9
+ * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform
10
+ */
11
+ export function isApplePlatform(navigator) {
12
+ return navigator.platform.indexOf('Mac') === 0 || navigator.platform === 'iPhone';
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYXBwbGUtcGxhdGZvcm0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL3V0aWxzL29zLyIsInNvdXJjZXMiOlsiaXMtYXBwbGUtcGxhdGZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxTQUFvQjtJQUNoRCxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQztBQUN0RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbm90ZTpcbiAqIEFsbCBDaHJvbWUgLyBDaHJvbWl1bS1iYXNlZCBicm93c2VycyB3aWxsIHJldHVybiBNYWNJbnRlbCBvbiBtYWNPUyxcbiAqIG5vIG1hdHRlciB3aGF0IHRoZSBoYXJkd2FyZSBhcmNoaXRlY3R1cmUgaXMuIFNlZSB0aGUgc291cmNlIGNvZGUgaGVyZTpcbiAqIGh0dHBzOi8vc291cmNlLmNocm9taXVtLm9yZy9jaHJvbWl1bS9jaHJvbWl1bS9zcmMvKy9tYXN0ZXI6dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9mcmFtZS9uYXZpZ2F0b3JfaWQuY2M7bD02NDtkcmM9NzAzZDNjNDcyY2YyNzQ3MGRhZDIxYTNmMmM4OTcyYWNhMzczMmNkNlxuICogQnV0IG1heWJlIGluIGZ1dHVyZSB5ZWFycywgaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIE1hY00xXG4gKlxuICogRG9jdW1lbnRhdGlvbjpcbiAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9OYXZpZ2F0b3IvcGxhdGZvcm1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQXBwbGVQbGF0Zm9ybShuYXZpZ2F0b3I6IE5hdmlnYXRvcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBuYXZpZ2F0b3IucGxhdGZvcm0uaW5kZXhPZignTWFjJykgPT09IDAgfHwgbmF2aWdhdG9yLnBsYXRmb3JtID09PSAnaVBob25lJztcbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
+ import { isApplePlatform } from './is-apple-platform';
1
2
  var IOS_REG_EXP = /ipad|iphone|ipod/;
2
3
  export function isIos(navigator) {
3
- var userAgentValue = navigator.userAgent.toLowerCase();
4
- return (IOS_REG_EXP.test(userAgentValue) ||
5
- (userAgentValue.includes('apple') && navigator.maxTouchPoints > 1));
4
+ return (IOS_REG_EXP.test(navigator.userAgent.toLowerCase()) ||
5
+ (isApplePlatform(navigator) && navigator.maxTouchPoints > 1));
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaW9zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay91dGlscy9vcy8iLCJzb3VyY2VzIjpbImlzLWlvcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxJQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztBQUV2QyxNQUFNLFVBQVUsS0FBSyxDQUFDLFNBQW9CO0lBQ3RDLElBQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFekQsT0FBTyxDQUNILFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ2hDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxTQUFTLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUNyRSxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IElPU19SRUdfRVhQID0gL2lwYWR8aXBob25lfGlwb2QvO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNJb3MobmF2aWdhdG9yOiBOYXZpZ2F0b3IpOiBib29sZWFuIHtcbiAgICBjb25zdCB1c2VyQWdlbnRWYWx1ZSA9IG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIElPU19SRUdfRVhQLnRlc3QodXNlckFnZW50VmFsdWUpIHx8XG4gICAgICAgICh1c2VyQWdlbnRWYWx1ZS5pbmNsdWRlcygnYXBwbGUnKSAmJiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAxKVxuICAgICk7XG59XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaW9zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay91dGlscy9vcy8iLCJzb3VyY2VzIjpbImlzLWlvcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsSUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUM7QUFFdkMsTUFBTSxVQUFVLEtBQUssQ0FBQyxTQUFvQjtJQUN0QyxPQUFPLENBQ0gsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25ELENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQy9ELENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc0FwcGxlUGxhdGZvcm19IGZyb20gJy4vaXMtYXBwbGUtcGxhdGZvcm0nO1xuXG5jb25zdCBJT1NfUkVHX0VYUCA9IC9pcGFkfGlwaG9uZXxpcG9kLztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSW9zKG5hdmlnYXRvcjogTmF2aWdhdG9yKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgSU9TX1JFR19FWFAudGVzdChuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkpIHx8XG4gICAgICAgIChpc0FwcGxlUGxhdGZvcm0obmF2aWdhdG9yKSAmJiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAxKVxuICAgICk7XG59XG4iXX0=
@@ -0,0 +1,66 @@
1
+ import { __decorate, __param } from 'tslib';
2
+ import { ViewContainerRef, Inject, TemplateRef, Input, Directive, NgModule } from '@angular/core';
3
+ import { Subject, from, of } from 'rxjs';
4
+ import { concatMap, delay, takeUntil } from 'rxjs/operators';
5
+
6
+ let TuiForAsyncDirective = class TuiForAsyncDirective {
7
+ constructor(view, template) {
8
+ this.view = view;
9
+ this.template = template;
10
+ this.destroy$ = new Subject();
11
+ this.tuiForAsyncTimeout = 10;
12
+ }
13
+ ngOnChanges() {
14
+ this.clearViewForOldNodes();
15
+ this.createAsyncViewForNewNodes();
16
+ }
17
+ ngOnDestroy() {
18
+ this.clearViewForOldNodes();
19
+ this.destroy$.complete();
20
+ }
21
+ createAsyncViewForNewNodes() {
22
+ from(this.tuiForAsyncOf || [])
23
+ .pipe(concatMap(item => of(item).pipe(delay(this.tuiForAsyncTimeout))), takeUntil(this.destroy$))
24
+ .subscribe(item => this.view
25
+ .createEmbeddedView(this.template, { $implicit: item })
26
+ .detectChanges());
27
+ }
28
+ clearViewForOldNodes() {
29
+ this.destroy$.next();
30
+ this.view.clear();
31
+ }
32
+ };
33
+ TuiForAsyncDirective.ctorParameters = () => [
34
+ { type: ViewContainerRef, decorators: [{ type: Inject, args: [ViewContainerRef,] }] },
35
+ { type: TemplateRef, decorators: [{ type: Inject, args: [TemplateRef,] }] }
36
+ ];
37
+ __decorate([
38
+ Input()
39
+ ], TuiForAsyncDirective.prototype, "tuiForAsyncOf", void 0);
40
+ __decorate([
41
+ Input()
42
+ ], TuiForAsyncDirective.prototype, "tuiForAsyncTimeout", void 0);
43
+ TuiForAsyncDirective = __decorate([
44
+ Directive({ selector: '[tuiForAsync][tuiForAsyncOf]' }),
45
+ __param(0, Inject(ViewContainerRef)),
46
+ __param(1, Inject(TemplateRef))
47
+ ], TuiForAsyncDirective);
48
+
49
+ /**
50
+ * @experimental
51
+ */
52
+ let TuiForAsyncModule = class TuiForAsyncModule {
53
+ };
54
+ TuiForAsyncModule = __decorate([
55
+ NgModule({
56
+ declarations: [TuiForAsyncDirective],
57
+ exports: [TuiForAsyncDirective],
58
+ })
59
+ ], TuiForAsyncModule);
60
+
61
+ /**
62
+ * Generated bundle index. Do not edit.
63
+ */
64
+
65
+ export { TuiForAsyncDirective, TuiForAsyncModule };
66
+ //# sourceMappingURL=taiga-ui-cdk-directives-for-async.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-cdk-directives-for-async.js","sources":["ng://@taiga-ui/cdk/directives/for-async/for-async.directive.ts","ng://@taiga-ui/cdk/directives/for-async/for-async.module.ts","ng://@taiga-ui/cdk/directives/for-async/taiga-ui-cdk-directives-for-async.ts"],"sourcesContent":["import {\n Directive,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport {from, of, Subject} from 'rxjs';\nimport {concatMap, delay, takeUntil} from 'rxjs/operators';\n\n@Directive({selector: '[tuiForAsync][tuiForAsyncOf]'})\nexport class TuiForAsyncDirective<T> implements OnChanges, OnDestroy {\n private readonly destroy$ = new Subject<void>();\n\n @Input()\n tuiForAsyncOf: readonly T[] | undefined | null;\n\n @Input()\n tuiForAsyncTimeout = 10;\n\n constructor(\n @Inject(ViewContainerRef) private readonly view: ViewContainerRef,\n @Inject(TemplateRef) private readonly template: TemplateRef<unknown>,\n ) {}\n\n ngOnChanges(): void {\n this.clearViewForOldNodes();\n this.createAsyncViewForNewNodes();\n }\n\n ngOnDestroy(): void {\n this.clearViewForOldNodes();\n this.destroy$.complete();\n }\n\n private createAsyncViewForNewNodes(): void {\n from(this.tuiForAsyncOf || [])\n .pipe(\n concatMap(item => of(item).pipe(delay(this.tuiForAsyncTimeout))),\n takeUntil(this.destroy$),\n )\n .subscribe(item =>\n this.view\n .createEmbeddedView(this.template, {$implicit: item})\n .detectChanges(),\n );\n }\n\n private clearViewForOldNodes(): void {\n this.destroy$.next();\n this.view.clear();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiForAsyncDirective} from './for-async.directive';\n\n/**\n * @experimental\n */\n@NgModule({\n declarations: [TuiForAsyncDirective],\n exports: [TuiForAsyncDirective],\n})\nexport class TuiForAsyncModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;IAaa,oBAAoB,GAAjC,MAAa,oBAAoB;IAS7B,YAC+C,IAAsB,EAC3B,QAA8B;QADzB,SAAI,GAAJ,IAAI,CAAkB;QAC3B,aAAQ,GAAR,QAAQ,CAAsB;QAVvD,aAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QAMhD,uBAAkB,GAAG,EAAE,CAAC;KAKpB;IAEJ,WAAW;QACP,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,0BAA0B,EAAE,CAAC;KACrC;IAED,WAAW;QACP,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC5B;IAEO,0BAA0B;QAC9B,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;aACzB,IAAI,CACD,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAChE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3B;aACA,SAAS,CAAC,IAAI,IACX,IAAI,CAAC,IAAI;aACJ,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;aACpD,aAAa,EAAE,CACvB,CAAC;KACT;IAEO,oBAAoB;QACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;KACrB;EACJ;;YA/BwD,gBAAgB,uBAAhE,MAAM,SAAC,gBAAgB;YACwB,WAAW,uBAA1D,MAAM,SAAC,WAAW;;AAPvB;IADC,KAAK,EAAE;2DACuC;AAG/C;IADC,KAAK,EAAE;gEACgB;AAPf,oBAAoB;IADhC,SAAS,CAAC,EAAC,QAAQ,EAAE,8BAA8B,EAAC,CAAC;IAW7C,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACxB,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;GAXf,oBAAoB,CAyChC;;AClDD;;;IAOa,iBAAiB,GAA9B,MAAa,iBAAiB;EAAG;AAApB,iBAAiB;IAJ7B,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,oBAAoB,CAAC;QACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;KAClC,CAAC;GACW,iBAAiB,CAAG;;ACXjC;;;;;;"}
@@ -10,6 +10,7 @@ export * from '@taiga-ui/cdk/directives/focus-visible';
10
10
  export * from '@taiga-ui/cdk/directives/focusable';
11
11
  export * from '@taiga-ui/cdk/directives/focused';
12
12
  export * from '@taiga-ui/cdk/directives/for';
13
+ export * from '@taiga-ui/cdk/directives/for-async';
13
14
  export * from '@taiga-ui/cdk/directives/high-dpi';
14
15
  export * from '@taiga-ui/cdk/directives/hovered';
15
16
  export * from '@taiga-ui/cdk/directives/input-mode';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives.js","sources":["ng://@taiga-ui/cdk/directives/taiga-ui-cdk-directives.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-directives.js","sources":["ng://@taiga-ui/cdk/directives/taiga-ui-cdk-directives.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;"}
@@ -1,8 +1,21 @@
1
+ /**
2
+ * @note:
3
+ * All Chrome / Chromium-based browsers will return MacIntel on macOS,
4
+ * no matter what the hardware architecture is. See the source code here:
5
+ * https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/frame/navigator_id.cc;l=64;drc=703d3c472cf27470dad21a3f2c8972aca3732cd6
6
+ * But maybe in future years, it will be changed to MacM1
7
+ *
8
+ * Documentation:
9
+ * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform
10
+ */
11
+ function isApplePlatform(navigator) {
12
+ return navigator.platform.indexOf('Mac') === 0 || navigator.platform === 'iPhone';
13
+ }
14
+
1
15
  const IOS_REG_EXP = /ipad|iphone|ipod/;
2
16
  function isIos(navigator) {
3
- const userAgentValue = navigator.userAgent.toLowerCase();
4
- return (IOS_REG_EXP.test(userAgentValue) ||
5
- (userAgentValue.includes('apple') && navigator.maxTouchPoints > 1));
17
+ return (IOS_REG_EXP.test(navigator.userAgent.toLowerCase()) ||
18
+ (isApplePlatform(navigator) && navigator.maxTouchPoints > 1));
6
19
  }
7
20
 
8
21
  const SAFARI_REG_EXP = /^((?!chrome|android).)*safari/i;
@@ -14,5 +27,5 @@ function isApple(navigator) {
14
27
  * Generated bundle index. Do not edit.
15
28
  */
16
29
 
17
- export { isApple, isIos };
30
+ export { isApple, isApplePlatform, isIos };
18
31
  //# sourceMappingURL=taiga-ui-cdk-utils-os.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-os.js","sources":["ng://@taiga-ui/cdk/utils/os/is-ios.ts","ng://@taiga-ui/cdk/utils/os/is-apple.ts","ng://@taiga-ui/cdk/utils/os/taiga-ui-cdk-utils-os.ts"],"sourcesContent":["const IOS_REG_EXP = /ipad|iphone|ipod/;\n\nexport function isIos(navigator: Navigator): boolean {\n const userAgentValue = navigator.userAgent.toLowerCase();\n\n return (\n IOS_REG_EXP.test(userAgentValue) ||\n (userAgentValue.includes('apple') && navigator.maxTouchPoints > 1)\n );\n}\n","import {isIos} from './is-ios';\n\nconst SAFARI_REG_EXP = /^((?!chrome|android).)*safari/i;\n\nexport function isApple(navigator: Navigator): boolean {\n return isIos(navigator) || SAFARI_REG_EXP.test(navigator.userAgent.toLowerCase());\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,kBAAkB,CAAC;SAEvB,KAAK,CAAC,SAAoB;IACtC,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IAEzD,QACI,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC;SAC/B,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,EACpE;AACN;;ACPA,MAAM,cAAc,GAAG,gCAAgC,CAAC;SAExC,OAAO,CAAC,SAAoB;IACxC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;AACtF;;ACNA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils-os.js","sources":["ng://@taiga-ui/cdk/utils/os/is-apple-platform.ts","ng://@taiga-ui/cdk/utils/os/is-ios.ts","ng://@taiga-ui/cdk/utils/os/is-apple.ts","ng://@taiga-ui/cdk/utils/os/taiga-ui-cdk-utils-os.ts"],"sourcesContent":["/**\n * @note:\n * All Chrome / Chromium-based browsers will return MacIntel on macOS,\n * no matter what the hardware architecture is. See the source code here:\n * https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/frame/navigator_id.cc;l=64;drc=703d3c472cf27470dad21a3f2c8972aca3732cd6\n * But maybe in future years, it will be changed to MacM1\n *\n * Documentation:\n * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform\n */\nexport function isApplePlatform(navigator: Navigator): boolean {\n return navigator.platform.indexOf('Mac') === 0 || navigator.platform === 'iPhone';\n}\n","import {isApplePlatform} from './is-apple-platform';\n\nconst IOS_REG_EXP = /ipad|iphone|ipod/;\n\nexport function isIos(navigator: Navigator): boolean {\n return (\n IOS_REG_EXP.test(navigator.userAgent.toLowerCase()) ||\n (isApplePlatform(navigator) && navigator.maxTouchPoints > 1)\n );\n}\n","import {isIos} from './is-ios';\n\nconst SAFARI_REG_EXP = /^((?!chrome|android).)*safari/i;\n\nexport function isApple(navigator: Navigator): boolean {\n return isIos(navigator) || SAFARI_REG_EXP.test(navigator.userAgent.toLowerCase());\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;;;;;;;;;SAUgB,eAAe,CAAC,SAAoB;IAChD,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACtF;;ACVA,MAAM,WAAW,GAAG,kBAAkB,CAAC;SAEvB,KAAK,CAAC,SAAoB;IACtC,QACI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;SAClD,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,EAC9D;AACN;;ACPA,MAAM,cAAc,GAAG,gCAAgC,CAAC;SAExC,OAAO,CAAC,SAAoB;IACxC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;AACtF;;ACNA;;;;;;"}
@@ -0,0 +1,73 @@
1
+ import { __decorate, __param } from 'tslib';
2
+ import { ViewContainerRef, Inject, TemplateRef, Input, Directive, NgModule } from '@angular/core';
3
+ import { Subject, from, of } from 'rxjs';
4
+ import { concatMap, delay, takeUntil } from 'rxjs/operators';
5
+
6
+ var TuiForAsyncDirective = /** @class */ (function () {
7
+ function TuiForAsyncDirective(view, template) {
8
+ this.view = view;
9
+ this.template = template;
10
+ this.destroy$ = new Subject();
11
+ this.tuiForAsyncTimeout = 10;
12
+ }
13
+ TuiForAsyncDirective.prototype.ngOnChanges = function () {
14
+ this.clearViewForOldNodes();
15
+ this.createAsyncViewForNewNodes();
16
+ };
17
+ TuiForAsyncDirective.prototype.ngOnDestroy = function () {
18
+ this.clearViewForOldNodes();
19
+ this.destroy$.complete();
20
+ };
21
+ TuiForAsyncDirective.prototype.createAsyncViewForNewNodes = function () {
22
+ var _this = this;
23
+ from(this.tuiForAsyncOf || [])
24
+ .pipe(concatMap(function (item) { return of(item).pipe(delay(_this.tuiForAsyncTimeout)); }), takeUntil(this.destroy$))
25
+ .subscribe(function (item) {
26
+ return _this.view
27
+ .createEmbeddedView(_this.template, { $implicit: item })
28
+ .detectChanges();
29
+ });
30
+ };
31
+ TuiForAsyncDirective.prototype.clearViewForOldNodes = function () {
32
+ this.destroy$.next();
33
+ this.view.clear();
34
+ };
35
+ TuiForAsyncDirective.ctorParameters = function () { return [
36
+ { type: ViewContainerRef, decorators: [{ type: Inject, args: [ViewContainerRef,] }] },
37
+ { type: TemplateRef, decorators: [{ type: Inject, args: [TemplateRef,] }] }
38
+ ]; };
39
+ __decorate([
40
+ Input()
41
+ ], TuiForAsyncDirective.prototype, "tuiForAsyncOf", void 0);
42
+ __decorate([
43
+ Input()
44
+ ], TuiForAsyncDirective.prototype, "tuiForAsyncTimeout", void 0);
45
+ TuiForAsyncDirective = __decorate([
46
+ Directive({ selector: '[tuiForAsync][tuiForAsyncOf]' }),
47
+ __param(0, Inject(ViewContainerRef)),
48
+ __param(1, Inject(TemplateRef))
49
+ ], TuiForAsyncDirective);
50
+ return TuiForAsyncDirective;
51
+ }());
52
+
53
+ /**
54
+ * @experimental
55
+ */
56
+ var TuiForAsyncModule = /** @class */ (function () {
57
+ function TuiForAsyncModule() {
58
+ }
59
+ TuiForAsyncModule = __decorate([
60
+ NgModule({
61
+ declarations: [TuiForAsyncDirective],
62
+ exports: [TuiForAsyncDirective],
63
+ })
64
+ ], TuiForAsyncModule);
65
+ return TuiForAsyncModule;
66
+ }());
67
+
68
+ /**
69
+ * Generated bundle index. Do not edit.
70
+ */
71
+
72
+ export { TuiForAsyncDirective, TuiForAsyncModule };
73
+ //# sourceMappingURL=taiga-ui-cdk-directives-for-async.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-cdk-directives-for-async.js","sources":["ng://@taiga-ui/cdk/directives/for-async/for-async.directive.ts","ng://@taiga-ui/cdk/directives/for-async/for-async.module.ts","ng://@taiga-ui/cdk/directives/for-async/taiga-ui-cdk-directives-for-async.ts"],"sourcesContent":["import {\n Directive,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport {from, of, Subject} from 'rxjs';\nimport {concatMap, delay, takeUntil} from 'rxjs/operators';\n\n@Directive({selector: '[tuiForAsync][tuiForAsyncOf]'})\nexport class TuiForAsyncDirective<T> implements OnChanges, OnDestroy {\n private readonly destroy$ = new Subject<void>();\n\n @Input()\n tuiForAsyncOf: readonly T[] | undefined | null;\n\n @Input()\n tuiForAsyncTimeout = 10;\n\n constructor(\n @Inject(ViewContainerRef) private readonly view: ViewContainerRef,\n @Inject(TemplateRef) private readonly template: TemplateRef<unknown>,\n ) {}\n\n ngOnChanges(): void {\n this.clearViewForOldNodes();\n this.createAsyncViewForNewNodes();\n }\n\n ngOnDestroy(): void {\n this.clearViewForOldNodes();\n this.destroy$.complete();\n }\n\n private createAsyncViewForNewNodes(): void {\n from(this.tuiForAsyncOf || [])\n .pipe(\n concatMap(item => of(item).pipe(delay(this.tuiForAsyncTimeout))),\n takeUntil(this.destroy$),\n )\n .subscribe(item =>\n this.view\n .createEmbeddedView(this.template, {$implicit: item})\n .detectChanges(),\n );\n }\n\n private clearViewForOldNodes(): void {\n this.destroy$.next();\n this.view.clear();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiForAsyncDirective} from './for-async.directive';\n\n/**\n * @experimental\n */\n@NgModule({\n declarations: [TuiForAsyncDirective],\n exports: [TuiForAsyncDirective],\n})\nexport class TuiForAsyncModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;IAsBI,8BAC+C,IAAsB,EAC3B,QAA8B;QADzB,SAAI,GAAJ,IAAI,CAAkB;QAC3B,aAAQ,GAAR,QAAQ,CAAsB;QAVvD,aAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QAMhD,uBAAkB,GAAG,EAAE,CAAC;KAKpB;IAEJ,0CAAW,GAAX;QACI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,0BAA0B,EAAE,CAAC;KACrC;IAED,0CAAW,GAAX;QACI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC5B;IAEO,yDAA0B,GAAlC;QAAA,iBAWC;QAVG,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;aACzB,IAAI,CACD,SAAS,CAAC,UAAA,IAAI,IAAI,OAAA,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC,GAAA,CAAC,EAChE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3B;aACA,SAAS,CAAC,UAAA,IAAI;YACX,OAAA,KAAI,CAAC,IAAI;iBACJ,kBAAkB,CAAC,KAAI,CAAC,QAAQ,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;iBACpD,aAAa,EAAE;SAAA,CACvB,CAAC;KACT;IAEO,mDAAoB,GAA5B;QACI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;KACrB;;gBA9BoD,gBAAgB,uBAAhE,MAAM,SAAC,gBAAgB;gBACwB,WAAW,uBAA1D,MAAM,SAAC,WAAW;;IAPvB;QADC,KAAK,EAAE;+DACuC;IAG/C;QADC,KAAK,EAAE;oEACgB;IAPf,oBAAoB;QADhC,SAAS,CAAC,EAAC,QAAQ,EAAE,8BAA8B,EAAC,CAAC;QAW7C,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACxB,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;OAXf,oBAAoB,CAyChC;IAAD,2BAAC;CAzCD;;ACTA;;;;IAOA;KAAiC;IAApB,iBAAiB;QAJ7B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,oBAAoB,CAAC;YACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;SAClC,CAAC;OACW,iBAAiB,CAAG;IAAD,wBAAC;CAAjC;;ACXA;;;;;;"}
@@ -10,6 +10,7 @@ export * from '@taiga-ui/cdk/directives/focus-visible';
10
10
  export * from '@taiga-ui/cdk/directives/focusable';
11
11
  export * from '@taiga-ui/cdk/directives/focused';
12
12
  export * from '@taiga-ui/cdk/directives/for';
13
+ export * from '@taiga-ui/cdk/directives/for-async';
13
14
  export * from '@taiga-ui/cdk/directives/high-dpi';
14
15
  export * from '@taiga-ui/cdk/directives/hovered';
15
16
  export * from '@taiga-ui/cdk/directives/input-mode';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives.js","sources":["ng://@taiga-ui/cdk/directives/taiga-ui-cdk-directives.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-directives.js","sources":["ng://@taiga-ui/cdk/directives/taiga-ui-cdk-directives.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;"}
@@ -1,8 +1,21 @@
1
+ /**
2
+ * @note:
3
+ * All Chrome / Chromium-based browsers will return MacIntel on macOS,
4
+ * no matter what the hardware architecture is. See the source code here:
5
+ * https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/frame/navigator_id.cc;l=64;drc=703d3c472cf27470dad21a3f2c8972aca3732cd6
6
+ * But maybe in future years, it will be changed to MacM1
7
+ *
8
+ * Documentation:
9
+ * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform
10
+ */
11
+ function isApplePlatform(navigator) {
12
+ return navigator.platform.indexOf('Mac') === 0 || navigator.platform === 'iPhone';
13
+ }
14
+
1
15
  var IOS_REG_EXP = /ipad|iphone|ipod/;
2
16
  function isIos(navigator) {
3
- var userAgentValue = navigator.userAgent.toLowerCase();
4
- return (IOS_REG_EXP.test(userAgentValue) ||
5
- (userAgentValue.includes('apple') && navigator.maxTouchPoints > 1));
17
+ return (IOS_REG_EXP.test(navigator.userAgent.toLowerCase()) ||
18
+ (isApplePlatform(navigator) && navigator.maxTouchPoints > 1));
6
19
  }
7
20
 
8
21
  var SAFARI_REG_EXP = /^((?!chrome|android).)*safari/i;
@@ -14,5 +27,5 @@ function isApple(navigator) {
14
27
  * Generated bundle index. Do not edit.
15
28
  */
16
29
 
17
- export { isApple, isIos };
30
+ export { isApple, isApplePlatform, isIos };
18
31
  //# sourceMappingURL=taiga-ui-cdk-utils-os.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-os.js","sources":["ng://@taiga-ui/cdk/utils/os/is-ios.ts","ng://@taiga-ui/cdk/utils/os/is-apple.ts","ng://@taiga-ui/cdk/utils/os/taiga-ui-cdk-utils-os.ts"],"sourcesContent":["const IOS_REG_EXP = /ipad|iphone|ipod/;\n\nexport function isIos(navigator: Navigator): boolean {\n const userAgentValue = navigator.userAgent.toLowerCase();\n\n return (\n IOS_REG_EXP.test(userAgentValue) ||\n (userAgentValue.includes('apple') && navigator.maxTouchPoints > 1)\n );\n}\n","import {isIos} from './is-ios';\n\nconst SAFARI_REG_EXP = /^((?!chrome|android).)*safari/i;\n\nexport function isApple(navigator: Navigator): boolean {\n return isIos(navigator) || SAFARI_REG_EXP.test(navigator.userAgent.toLowerCase());\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA,IAAM,WAAW,GAAG,kBAAkB,CAAC;SAEvB,KAAK,CAAC,SAAoB;IACtC,IAAM,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IAEzD,QACI,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC;SAC/B,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,EACpE;AACN;;ACPA,IAAM,cAAc,GAAG,gCAAgC,CAAC;SAExC,OAAO,CAAC,SAAoB;IACxC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;AACtF;;ACNA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils-os.js","sources":["ng://@taiga-ui/cdk/utils/os/is-apple-platform.ts","ng://@taiga-ui/cdk/utils/os/is-ios.ts","ng://@taiga-ui/cdk/utils/os/is-apple.ts","ng://@taiga-ui/cdk/utils/os/taiga-ui-cdk-utils-os.ts"],"sourcesContent":["/**\n * @note:\n * All Chrome / Chromium-based browsers will return MacIntel on macOS,\n * no matter what the hardware architecture is. See the source code here:\n * https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/frame/navigator_id.cc;l=64;drc=703d3c472cf27470dad21a3f2c8972aca3732cd6\n * But maybe in future years, it will be changed to MacM1\n *\n * Documentation:\n * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform\n */\nexport function isApplePlatform(navigator: Navigator): boolean {\n return navigator.platform.indexOf('Mac') === 0 || navigator.platform === 'iPhone';\n}\n","import {isApplePlatform} from './is-apple-platform';\n\nconst IOS_REG_EXP = /ipad|iphone|ipod/;\n\nexport function isIos(navigator: Navigator): boolean {\n return (\n IOS_REG_EXP.test(navigator.userAgent.toLowerCase()) ||\n (isApplePlatform(navigator) && navigator.maxTouchPoints > 1)\n );\n}\n","import {isIos} from './is-ios';\n\nconst SAFARI_REG_EXP = /^((?!chrome|android).)*safari/i;\n\nexport function isApple(navigator: Navigator): boolean {\n return isIos(navigator) || SAFARI_REG_EXP.test(navigator.userAgent.toLowerCase());\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;;;;;;;;;SAUgB,eAAe,CAAC,SAAoB;IAChD,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACtF;;ACVA,IAAM,WAAW,GAAG,kBAAkB,CAAC;SAEvB,KAAK,CAAC,SAAoB;IACtC,QACI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;SAClD,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,EAC9D;AACN;;ACPA,IAAM,cAAc,GAAG,gCAAgC,CAAC;SAExC,OAAO,CAAC,SAAoB;IACxC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;AACtF;;ACNA;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/cdk",
3
- "version": "2.46.0",
3
+ "version": "2.47.0",
4
4
  "description": "Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance",
5
5
  "keywords": [
6
6
  "angular",
@@ -1,12 +1,12 @@
1
1
  export interface ReplacementConst {
2
- from: {
3
- name: string;
4
- moduleSpecifier?: string;
2
+ readonly from: {
3
+ readonly name: string;
4
+ readonly moduleSpecifier?: string;
5
5
  };
6
- to: {
7
- name: string;
8
- namedImport?: string;
9
- moduleSpecifier: string;
6
+ readonly to: {
7
+ readonly name: string;
8
+ readonly namedImport?: string;
9
+ readonly moduleSpecifier: string;
10
10
  };
11
11
  }
12
12
  export declare const CONSTS_TO_REPLACE: ReplacementConst[];
@@ -1,7 +1,7 @@
1
1
  interface ReplacementEnum {
2
- name: string;
3
- replaceValues: Record<string, string>;
4
- keepAsType?: boolean;
2
+ readonly name: string;
3
+ readonly replaceValues: Record<string, string>;
4
+ readonly keepAsType?: boolean;
5
5
  }
6
6
  export declare const ENUMS_TO_REPLACE: ReplacementEnum[];
7
7
  export {};
@@ -1,7 +1,7 @@
1
1
  interface TypeToRename {
2
- from: string;
3
- to: string;
4
- moduleSpecifier?: string | string[];
2
+ readonly from: string;
3
+ readonly to?: string;
4
+ readonly moduleSpecifier?: string | string[];
5
5
  }
6
6
  export declare const TYPES_TO_RENAME: readonly TypeToRename[];
7
7
  export {};
@@ -6,6 +6,26 @@ exports.TYPES_TO_RENAME = [
6
6
  to: 'TuiButtonOptions',
7
7
  moduleSpecifier: ['@taiga-ui/core'],
8
8
  },
9
+ {
10
+ from: 'InputCountOptions',
11
+ to: 'TuiInputCountOptions',
12
+ moduleSpecifier: ['@taiga-ui/kit'],
13
+ },
14
+ {
15
+ from: 'InputPasswordOptions',
16
+ to: 'TuiInputPasswordOptions',
17
+ moduleSpecifier: ['@taiga-ui/kit'],
18
+ },
19
+ {
20
+ from: 'InputTimeOptions',
21
+ to: 'TuiInputTimeOptions',
22
+ moduleSpecifier: ['@taiga-ui/kit'],
23
+ },
24
+ {
25
+ from: 'ToggleOptions',
26
+ to: 'TuiToggleOptions',
27
+ moduleSpecifier: ['@taiga-ui/cdk'],
28
+ },
9
29
  {
10
30
  from: 'RadioOptions',
11
31
  to: 'TuiRadioOptions',
@@ -16,4 +36,10 @@ exports.TYPES_TO_RENAME = [
16
36
  to: 'TuiCodeEditor',
17
37
  moduleSpecifier: ['@taiga-ui/addon-doc'],
18
38
  },
39
+ {
40
+ from: 'WithDateMaskPipeConfig',
41
+ },
42
+ {
43
+ from: 'TuiBreadCrumbsItem',
44
+ },
19
45
  ];
@@ -0,0 +1,6 @@
1
+ export interface MigrationWarning {
2
+ readonly name: string;
3
+ readonly moduleSpecifier?: string;
4
+ readonly message: string;
5
+ }
6
+ export declare const MIGRATION_WARNINGS: readonly MigrationWarning[];
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MIGRATION_WARNINGS = [
4
+ {
5
+ name: 'TUI_MOBILE_AWARE',
6
+ message: 'TUI_MOBILE_AWARE has been deleted in 3.0, please use TuiMobileTabsDirective from @taiga-ui/addon-mobile',
7
+ },
8
+ ];
@@ -7,6 +7,7 @@ const replace_enums_1 = require("./steps/replace-enums");
7
7
  const rename_types_1 = require("./steps/rename-types");
8
8
  const replace_const_1 = require("./steps/replace-const");
9
9
  const replace_deep_import_1 = require("./steps/replace-deep-import");
10
+ const show_warnings_1 = require("./steps/show-warnings");
10
11
  function updateToV3(_) {
11
12
  return (tree, context) => tslib_1.__awaiter(this, void 0, void 0, function* () {
12
13
  context.logger.info(`taiga packages will be updated to ${versions_1.TAIGA_VERSION}`);
@@ -15,6 +16,7 @@ function updateToV3(_) {
15
16
  replace_enums_1.replaceEnums();
16
17
  rename_types_1.renameTypes();
17
18
  replace_const_1.replaceConsts();
19
+ show_warnings_1.showWarnings(context);
18
20
  ng_morph_1.saveActiveProject();
19
21
  });
20
22
  }