@taiga-ui/cdk 2.25.0 → 2.28.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 (192) hide show
  1. package/abstract/control.d.ts +1 -1
  2. package/abstract/interactive.d.ts +4 -4
  3. package/abstract/taiga-ui-cdk-abstract.metadata.json +1 -1
  4. package/bundles/taiga-ui-cdk-abstract.umd.js +3 -3
  5. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  6. package/bundles/taiga-ui-cdk-abstract.umd.min.js +1 -1
  7. package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
  8. package/bundles/taiga-ui-cdk-date-time.umd.js +331 -331
  9. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  10. package/bundles/taiga-ui-cdk-date-time.umd.min.js +1 -1
  11. package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js +276 -0
  13. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js.map +1 -0
  14. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.min.js +16 -0
  15. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.min.js.map +1 -0
  16. package/bundles/taiga-ui-cdk-directives-for.umd.js.map +1 -1
  17. package/bundles/taiga-ui-cdk-directives-for.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-cdk-directives-item.umd.js +259 -0
  19. package/bundles/taiga-ui-cdk-directives-item.umd.js.map +1 -0
  20. package/bundles/taiga-ui-cdk-directives-item.umd.min.js +16 -0
  21. package/bundles/taiga-ui-cdk-directives-item.umd.min.js.map +1 -0
  22. package/bundles/taiga-ui-cdk-directives-media.umd.js +1 -1
  23. package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
  24. package/bundles/taiga-ui-cdk-directives-media.umd.min.js +1 -1
  25. package/bundles/taiga-ui-cdk-directives-media.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-cdk-directives-pan.umd.js +5 -5
  27. package/bundles/taiga-ui-cdk-directives-pan.umd.js.map +1 -1
  28. package/bundles/taiga-ui-cdk-directives-pan.umd.min.js +2 -2
  29. package/bundles/taiga-ui-cdk-directives-pan.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-cdk-directives-swipe.umd.js +5 -5
  31. package/bundles/taiga-ui-cdk-directives-swipe.umd.js.map +1 -1
  32. package/bundles/taiga-ui-cdk-directives-swipe.umd.min.js +2 -2
  33. package/bundles/taiga-ui-cdk-directives-swipe.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-cdk-directives-zoom.umd.js +5 -5
  35. package/bundles/taiga-ui-cdk-directives-zoom.umd.js.map +1 -1
  36. package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js +2 -2
  37. package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-cdk-directives.umd.js +12 -4
  39. package/bundles/taiga-ui-cdk-directives.umd.js.map +1 -1
  40. package/bundles/taiga-ui-cdk-directives.umd.min.js +1 -1
  41. package/bundles/taiga-ui-cdk-services.umd.js +2 -2
  42. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  43. package/bundles/taiga-ui-cdk-services.umd.min.js +1 -1
  44. package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-cdk-tokens.umd.js +5 -0
  46. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  47. package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -1
  48. package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js +3 -0
  50. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
  51. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.min.js.map +1 -1
  52. package/date-time/day-range.d.ts +14 -14
  53. package/date-time/day.d.ts +57 -57
  54. package/date-time/month-range.d.ts +1 -1
  55. package/date-time/month.d.ts +26 -26
  56. package/date-time/taiga-ui-cdk-date-time.metadata.json +1 -1
  57. package/date-time/time.d.ts +12 -12
  58. package/date-time/year.d.ts +27 -27
  59. package/directives/copy-processor/copy-processor.directive.d.ts +7 -0
  60. package/directives/copy-processor/copy-processor.module.d.ts +2 -0
  61. package/directives/copy-processor/index.d.ts +2 -0
  62. package/directives/copy-processor/package.json +13 -0
  63. package/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.d.ts +4 -0
  64. package/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.metadata.json +1 -0
  65. package/directives/for/for.directive.d.ts +1 -1
  66. package/directives/for/taiga-ui-cdk-directives-for.metadata.json +1 -1
  67. package/directives/index.d.ts +1 -0
  68. package/directives/item/index.d.ts +2 -0
  69. package/directives/item/item.directive.d.ts +6 -0
  70. package/directives/item/item.module.d.ts +2 -0
  71. package/directives/item/package.json +13 -0
  72. package/directives/item/taiga-ui-cdk-directives-item.d.ts +4 -0
  73. package/directives/item/taiga-ui-cdk-directives-item.metadata.json +1 -0
  74. package/directives/media/media.directive.d.ts +1 -1
  75. package/directives/media/taiga-ui-cdk-directives-media.metadata.json +1 -1
  76. package/directives/pan/pan.directive.d.ts +3 -3
  77. package/directives/pan/taiga-ui-cdk-directives-pan.metadata.json +1 -1
  78. package/directives/swipe/swipe.directive.d.ts +4 -3
  79. package/directives/swipe/taiga-ui-cdk-directives-swipe.metadata.json +1 -1
  80. package/directives/taiga-ui-cdk-directives.metadata.json +1 -1
  81. package/directives/zoom/taiga-ui-cdk-directives-zoom.metadata.json +1 -1
  82. package/directives/zoom/zoom.directive.d.ts +4 -3
  83. package/esm2015/abstract/control.js +1 -1
  84. package/esm2015/abstract/interactive.js +4 -4
  85. package/esm2015/date-time/day-range.js +26 -26
  86. package/esm2015/date-time/day.js +120 -120
  87. package/esm2015/date-time/month-range.js +6 -6
  88. package/esm2015/date-time/month.js +56 -56
  89. package/esm2015/date-time/time.js +40 -40
  90. package/esm2015/date-time/year.js +49 -49
  91. package/esm2015/directives/copy-processor/copy-processor.directive.js +37 -0
  92. package/esm2015/directives/copy-processor/copy-processor.module.js +13 -0
  93. package/esm2015/directives/copy-processor/index.js +3 -0
  94. package/esm2015/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.js +5 -0
  95. package/esm2015/directives/for/for.directive.js +1 -1
  96. package/esm2015/directives/index.js +2 -1
  97. package/esm2015/directives/item/index.js +3 -0
  98. package/esm2015/directives/item/item.directive.js +15 -0
  99. package/esm2015/directives/item/item.module.js +13 -0
  100. package/esm2015/directives/item/taiga-ui-cdk-directives-item.js +5 -0
  101. package/esm2015/directives/media/media.directive.js +2 -2
  102. package/esm2015/directives/pan/pan.directive.js +3 -2
  103. package/esm2015/directives/swipe/swipe.directive.js +3 -2
  104. package/esm2015/directives/zoom/zoom.directive.js +3 -2
  105. package/esm2015/interfaces/focusable-element-accessor.js +1 -1
  106. package/esm2015/services/pan.service.js +3 -3
  107. package/esm2015/tokens/index.js +2 -1
  108. package/esm2015/tokens/touch-supported.js +6 -0
  109. package/esm2015/utils/miscellaneous/identity.js +4 -1
  110. package/esm5/abstract/control.js +1 -1
  111. package/esm5/abstract/interactive.js +4 -4
  112. package/esm5/date-time/day-range.js +26 -26
  113. package/esm5/date-time/day.js +120 -120
  114. package/esm5/date-time/month-range.js +6 -6
  115. package/esm5/date-time/month.js +56 -56
  116. package/esm5/date-time/time.js +41 -41
  117. package/esm5/date-time/year.js +49 -49
  118. package/esm5/directives/copy-processor/copy-processor.directive.js +38 -0
  119. package/esm5/directives/copy-processor/copy-processor.module.js +16 -0
  120. package/esm5/directives/copy-processor/index.js +3 -0
  121. package/esm5/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.js +5 -0
  122. package/esm5/directives/for/for.directive.js +1 -1
  123. package/esm5/directives/index.js +2 -1
  124. package/esm5/directives/item/index.js +3 -0
  125. package/esm5/directives/item/item.directive.js +18 -0
  126. package/esm5/directives/item/item.module.js +16 -0
  127. package/esm5/directives/item/taiga-ui-cdk-directives-item.js +5 -0
  128. package/esm5/directives/media/media.directive.js +2 -2
  129. package/esm5/directives/pan/pan.directive.js +3 -2
  130. package/esm5/directives/swipe/swipe.directive.js +3 -2
  131. package/esm5/directives/zoom/zoom.directive.js +3 -2
  132. package/esm5/interfaces/focusable-element-accessor.js +1 -1
  133. package/esm5/services/pan.service.js +3 -3
  134. package/esm5/tokens/index.js +2 -1
  135. package/esm5/tokens/touch-supported.js +6 -0
  136. package/esm5/utils/miscellaneous/identity.js +4 -1
  137. package/fesm2015/taiga-ui-cdk-abstract.js +3 -3
  138. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  139. package/fesm2015/taiga-ui-cdk-date-time.js +322 -322
  140. package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
  141. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js +52 -0
  142. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js.map +1 -0
  143. package/fesm2015/taiga-ui-cdk-directives-for.js.map +1 -1
  144. package/fesm2015/taiga-ui-cdk-directives-item.js +30 -0
  145. package/fesm2015/taiga-ui-cdk-directives-item.js.map +1 -0
  146. package/fesm2015/taiga-ui-cdk-directives-media.js +1 -1
  147. package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
  148. package/fesm2015/taiga-ui-cdk-directives-pan.js +2 -1
  149. package/fesm2015/taiga-ui-cdk-directives-pan.js.map +1 -1
  150. package/fesm2015/taiga-ui-cdk-directives-swipe.js +2 -1
  151. package/fesm2015/taiga-ui-cdk-directives-swipe.js.map +1 -1
  152. package/fesm2015/taiga-ui-cdk-directives-zoom.js +2 -1
  153. package/fesm2015/taiga-ui-cdk-directives-zoom.js.map +1 -1
  154. package/fesm2015/taiga-ui-cdk-directives.js +1 -0
  155. package/fesm2015/taiga-ui-cdk-directives.js.map +1 -1
  156. package/fesm2015/taiga-ui-cdk-services.js +2 -2
  157. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  158. package/fesm2015/taiga-ui-cdk-tokens.js +5 -1
  159. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  160. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js +3 -0
  161. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  162. package/fesm5/taiga-ui-cdk-abstract.js +3 -3
  163. package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
  164. package/fesm5/taiga-ui-cdk-date-time.js +331 -331
  165. package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
  166. package/fesm5/taiga-ui-cdk-directives-copy-processor.js +56 -0
  167. package/fesm5/taiga-ui-cdk-directives-copy-processor.js.map +1 -0
  168. package/fesm5/taiga-ui-cdk-directives-for.js.map +1 -1
  169. package/fesm5/taiga-ui-cdk-directives-item.js +36 -0
  170. package/fesm5/taiga-ui-cdk-directives-item.js.map +1 -0
  171. package/fesm5/taiga-ui-cdk-directives-media.js +1 -1
  172. package/fesm5/taiga-ui-cdk-directives-media.js.map +1 -1
  173. package/fesm5/taiga-ui-cdk-directives-pan.js +2 -1
  174. package/fesm5/taiga-ui-cdk-directives-pan.js.map +1 -1
  175. package/fesm5/taiga-ui-cdk-directives-swipe.js +2 -1
  176. package/fesm5/taiga-ui-cdk-directives-swipe.js.map +1 -1
  177. package/fesm5/taiga-ui-cdk-directives-zoom.js +2 -1
  178. package/fesm5/taiga-ui-cdk-directives-zoom.js.map +1 -1
  179. package/fesm5/taiga-ui-cdk-directives.js +1 -0
  180. package/fesm5/taiga-ui-cdk-directives.js.map +1 -1
  181. package/fesm5/taiga-ui-cdk-services.js +2 -2
  182. package/fesm5/taiga-ui-cdk-services.js.map +1 -1
  183. package/fesm5/taiga-ui-cdk-tokens.js +5 -1
  184. package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
  185. package/fesm5/taiga-ui-cdk-utils-miscellaneous.js +3 -0
  186. package/fesm5/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  187. package/interfaces/focusable-element-accessor.d.ts +2 -0
  188. package/package.json +2 -2
  189. package/tokens/index.d.ts +1 -0
  190. package/tokens/taiga-ui-cdk-tokens.metadata.json +1 -1
  191. package/tokens/touch-supported.d.ts +2 -0
  192. package/utils/miscellaneous/identity.d.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/cdk/tokens/removed-element.ts","ng://@taiga-ui/cdk/tokens/active-element.ts","ng://@taiga-ui/cdk/tokens/default-renderer.ts","ng://@taiga-ui/cdk/tokens/dialogs.ts","ng://@taiga-ui/cdk/tokens/focusable-item-accessor.ts","ng://@taiga-ui/cdk/tokens/is-ios.ts","ng://@taiga-ui/cdk/tokens/is-mobile.ts","ng://@taiga-ui/cdk/tokens/is-android.ts","ng://@taiga-ui/cdk/tokens/is-cypress.ts","ng://@taiga-ui/cdk/tokens/sanitizer.ts","ng://@taiga-ui/cdk/tokens/swipe-options.ts","ng://@taiga-ui/cdk/tokens/take-only-trusted-events.ts","ng://@taiga-ui/cdk/tokens/window-height.ts","ng://@taiga-ui/cdk/tokens/zoom-options.ts"],"names":["__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","TUI_REMOVED_ELEMENT","InjectionToken","factory","stub","onRemovalComplete","element$","BehaviorSubject","engine","_a","inject","ɵAnimationEngine","InjectFlags","Optional","_b","element","context","pipe","switchMap","timer","mapTo","startWith","share","TUI_ACTIVE_ELEMENT","removedElement$","windowRef","WINDOW","documentRef","DOCUMENT","focusout$","typedFromEvent","focusin$","blur$","mousedown$","mouseup$","merge","takeUntil","repeatWhen","withLatestFrom","filter","event","removedElement","isValidFocusout","getActualTarget","map","relatedTarget","activeElement","matches","target","root","getDocumentOrShadowRoot","of","shadowRootActiveElement","body","take","distinctUntilChanged","disabled","contains","TUI_DEFAULT_RENDERER","RendererFactory2","createRenderer","TUI_DIALOGS","TUI_FOCUSABLE_ITEM_ACCESSOR","IOS_REG_EXP","TUI_IS_IOS","test","USER_AGENT","toLowerCase","firstRegex","secondRegex","TUI_IS_MOBILE","substr","TUI_IS_ANDROID","TUI_IS_CYPRESS","Cypress","TUI_SANITIZER","TUI_SWIPE_OPTIONS","timeout","threshold","TUI_TAKE_ONLY_TRUSTED_EVENTS","TUI_WINDOW_HEIGHT","innerHeight","shareReplay","refCount","bufferSize","TUI_ZOOM_OPTIONS","wheelSensitivity"],"mappings":";;;;;;;;;;;;;;oFA8HO,SAASA,EAAOC,EAAGC,GACtB,IAAIC,EAAsB,mBAAXC,QAAyBH,EAAEG,OAAOC,UACjD,IAAKF,EAAG,OAAOF,EACf,IAAmBK,EAAYC,EAA3BC,EAAIL,EAAEM,KAAKR,GAAOS,EAAK,GAC3B,IACI,WAAc,IAANR,GAAgBA,KAAM,MAAQI,EAAIE,EAAEG,QAAQC,MAAMF,EAAGG,KAAKP,EAAEQ,OAExE,MAAOC,GAASR,EAAI,CAAEQ,MAAOA,GACjC,QACQ,IACQT,IAAMA,EAAEM,OAAST,EAAIK,EAAU,SAAIL,EAAEM,KAAKD,GAE1D,QAAkB,GAAID,EAAG,MAAMA,EAAEQ,OAE7B,OAAOL,MCvIEM,EAAsB,IAAIC,EAAAA,eACnC,qDACA,CACIC,QAAS,iBACCC,EAAO,CAACC,kBAAmB,cAC3BC,EAAW,IAAIC,EAAAA,gBAAgC,MAC/CC,EAAuD,QAAjDC,EAAGC,EAAAA,OAAOC,EAAAA,iBAAkBC,EAAAA,YAAYC,iBAAS,IAAAJ,EAAAA,EAAIL,EAC1DU,EAAAN,EAAAH,kBAAAA,OAAA,IAAAS,EAAAV,EAAAC,kBAAAS,EAOP,OALAN,EAAOH,kBAAoB,SAACU,EAASC,GACjCV,EAASV,KAAKmB,GACdV,EAAkBU,EAASC,IAGxBV,EAASW,KACZC,EAAAA,WAAU,SAAAH,GAAW,OAAAI,EAAAA,MAAM,GAAGF,KAAKG,EAAAA,MAAM,MAAOC,EAAAA,UAAUN,OAC1DO,EAAAA,YCCHC,EAAqB,IAAIrB,EAAAA,eAClC,gDACA,CACIC,QAAS,WACL,IAAMqB,EAAkBd,EAAAA,OAAOT,GACzBwB,EAAYf,EAAAA,OAAOgB,EAAAA,QACnBC,EAAcjB,EAAAA,OAAOkB,EAAAA,UACrBC,EAAYC,EAAAA,eAAeL,EAAW,YACtCM,EAAWD,EAAAA,eAAeL,EAAW,WACrCO,EAAQF,EAAAA,eAAeL,EAAW,QAClCQ,EAAaH,EAAAA,eAAeL,EAAW,aACvCS,EAAWJ,EAAAA,eAAeL,EAAW,WAE3C,OAAOU,EAAAA,MACHN,EAAUZ,KACNmB,EAAAA,UAAUH,GACVI,EAAAA,YAAW,WAAM,OAAAH,KACjBI,EAAAA,eAAed,GACfe,EAAAA,QAAO,SAAC9B,OAAAK,EAAA7B,EAAAwB,EAAA,GAAC+B,EAAA1B,EAAA,GAAO2B,EAAA3B,EAAA,GACZ,OAAA4B,EAAgBC,EAAAA,gBAAgBH,GAAQC,MAE5CG,EAAAA,KAAI,SAACnC,GAAsB,OAAtBxB,EAAAwB,EAAA,GAAE,GAAAoC,kBAEXb,EAAMf,KACF2B,EAAAA,KAAI,WAAM,OAAAjB,EAAYmB,iBACtBP,EAAAA,QAAO,SAAAxB,GAAW,QAAEA,GAAWA,EAAQgC,QAAQ,cAEnDhB,EAASd,KACLC,EAAAA,WAAU,SAAAsB,GACN,IAAMQ,EAASL,EAAAA,gBAAgBH,GACzBS,EAAOC,EAAAA,wBAAwBF,GAErC,OAAOC,IAAStB,EACVwB,EAAAA,GAAGH,GAiCjC,SAAiCC,GAC7B,OAAOd,EAAAA,MACHL,EAAAA,eAAemB,EAAM,WAAWhC,KAAK2B,EAAAA,KAAI,SAACnC,GAAa,OAAZA,EAAAuC,WAC3ClB,EAAAA,eAAemB,EAAM,YAAYhC,KAC7BsB,EAAAA,QACI,SAAC9B,OAACuC,EAAAvC,EAAAuC,OAA2B,QAAnBvC,EAAAoC,eAAsCH,EAAgBM,MAEpEJ,EAAAA,KAAI,SAACnC,GAAoB,OAAnBA,EAAAoC,mBAvCYO,CAAwBH,GAAMhC,KAAKI,EAAAA,UAAU2B,QAG3Df,EAAWhB,KACPC,EAAAA,WAAU,SAAAsB,GACN,OAACb,EAAYmB,eACbnB,EAAYmB,gBAAkBnB,EAAY0B,KAEpCxB,EAAUZ,KACNqC,EAAAA,KAAK,GACLlB,EAAAA,UAAUjB,EAAAA,MAAM,IAChBC,EAAAA,MAAMuB,EAAAA,gBAAgBH,KAJ1BW,EAAAA,GAAGR,EAAAA,gBAAgBH,SAQnCvB,KAAKsC,EAAAA,uBAAwBjC,EAAAA,YAM3C,SAASoB,EAAgBM,EAAaP,GAClC,YADkC,IAAAA,IAAAA,EAAA,QAG9BS,EAAAA,wBAAwBF,GAAQF,gBAAkBE,GAEjDA,EAAOQ,UAENf,GAAmBA,EAAegB,SAAST,QCjFxCU,EAAuB,IAAIxD,EAAAA,eACpC,kCACA,CAEIC,QAAS,WAAM,OAAAO,EAAAA,OAAOiD,EAAAA,kBAAkBC,eAAe,KAAM,SCHxDC,EAAc,IAAI3D,EAAAA,eAE7B,uBCHW4D,EACT,IAAI5D,EAAAA,eAA4C,mCCD9C6D,EAAc,mBAEPC,EAAa,IAAI9D,EAAAA,eAAwB,wBAAyB,CAC3EC,QAAS,WAAM,OAAA4D,EAAYE,KAAKvD,EAAAA,OAAOwD,EAAAA,YAAYC,kBCFjDC,EACF,0TACEC,EACF,ykDAESC,EAAgB,IAAIpE,EAAAA,eAAwB,2BAA4B,CACjFC,QAAS,WACL,OAAAiE,EAAWH,KAAKvD,EAAAA,OAAOwD,EAAAA,YAAYC,gBACnCE,EAAYJ,KAAKvD,EAAAA,OAAOwD,EAAAA,YAAYK,OAAO,EAAG,GAAGJ,kBCP5CK,EAAiB,IAAItE,EAAAA,eAC9B,uFACA,CACIC,QAAS,WAAM,OAAAO,EAAAA,OAAO4D,KAAmB5D,EAAAA,OAAOsD,MCE3CS,EAAiB,IAAIvE,EAAAA,eAC9B,yCACA,CACIC,QAAS,WAAM,QAAEO,EAAAA,OAA0BgB,EAAAA,QAAQgD,WCV9CC,EAAgB,IAAIzE,EAAAA,eAC7B,yDCDS0E,EAAoB,IAAI1E,EAAAA,eAAgC,gBAAiB,CAClFC,QAAS,WAAM,MAAA,CAAE0E,QAAS,IAAKC,UAAW,OCIjCC,EACT,IAAI7E,EAAAA,eACA,yEACA,CACIC,QAAS,WAAM,OAAA,KCNd6E,EAAoB,IAAI9E,EAAAA,eACjC,wDACA,CACIC,QAAS,WACL,IAAMsB,EAAYf,EAAAA,OAAOgB,EAAAA,QAEzB,OAAOI,EAAAA,eAAeL,EAAW,UAAUR,KACvCI,EAAAA,UAAU,MACVuB,EAAAA,KAAI,WAAM,OAAAnB,EAAUwD,eACpBC,EAAAA,YAAY,CAACC,UAAU,EAAMC,WAAY,QCZ5CC,EAAmB,IAAInF,EAAAA,eAA+B,eAAgB,CAC/EC,QAAS,WAAM,MAAA,CACXmF,iBAAkB","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {ɵAnimationEngine} from '@angular/animations/browser';\nimport {inject, InjectFlags, InjectionToken} from '@angular/core';\nimport {BehaviorSubject, Observable, timer} from 'rxjs';\nimport {mapTo, share, startWith, switchMap} from 'rxjs/operators';\n\nexport const TUI_REMOVED_ELEMENT = new InjectionToken<Observable<Element | null>>(\n 'Element currently being removed by AnimationEngine',\n {\n factory: () => {\n const stub = {onRemovalComplete: () => {}};\n const element$ = new BehaviorSubject<Element | null>(null);\n const engine = inject(ɵAnimationEngine, InjectFlags.Optional) ?? stub;\n const {onRemovalComplete = stub.onRemovalComplete} = engine;\n\n engine.onRemovalComplete = (element, context) => {\n element$.next(element);\n onRemovalComplete(element, context);\n };\n\n return element$.pipe(\n switchMap(element => timer(0).pipe(mapTo(null), startWith(element))),\n share(),\n );\n },\n },\n);\n","import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {getActualTarget, getDocumentOrShadowRoot} from '@taiga-ui/cdk/utils';\nimport {merge, Observable, of, timer} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n mapTo,\n repeatWhen,\n share,\n startWith,\n switchMap,\n take,\n takeUntil,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {TUI_REMOVED_ELEMENT} from './removed-element';\n\nexport const TUI_ACTIVE_ELEMENT = new InjectionToken<Observable<EventTarget | null>>(\n 'Active element on the document for ActiveZone',\n {\n factory: () => {\n const removedElement$ = inject(TUI_REMOVED_ELEMENT);\n const windowRef = inject(WINDOW);\n const documentRef = inject(DOCUMENT);\n const focusout$ = typedFromEvent(windowRef, 'focusout');\n const focusin$ = typedFromEvent(windowRef, 'focusin');\n const blur$ = typedFromEvent(windowRef, 'blur');\n const mousedown$ = typedFromEvent(windowRef, 'mousedown');\n const mouseup$ = typedFromEvent(windowRef, 'mouseup');\n\n return merge(\n focusout$.pipe(\n takeUntil(mousedown$),\n repeatWhen(() => mouseup$),\n withLatestFrom(removedElement$),\n filter(([event, removedElement]) =>\n isValidFocusout(getActualTarget(event), removedElement),\n ),\n map(([{relatedTarget}]) => relatedTarget),\n ),\n blur$.pipe(\n map(() => documentRef.activeElement),\n filter(element => !!element && element.matches('iframe')),\n ),\n focusin$.pipe(\n switchMap(event => {\n const target = getActualTarget(event);\n const root = getDocumentOrShadowRoot(target) as Document;\n\n return root === documentRef\n ? of(target)\n : shadowRootActiveElement(root).pipe(startWith(target));\n }),\n ),\n mousedown$.pipe(\n switchMap(event =>\n !documentRef.activeElement ||\n documentRef.activeElement === documentRef.body\n ? of(getActualTarget(event))\n : focusout$.pipe(\n take(1),\n takeUntil(timer(0)),\n mapTo(getActualTarget(event)),\n ),\n ),\n ),\n ).pipe(distinctUntilChanged(), share());\n },\n },\n);\n\n// Checks if focusout event should be considered leaving active zone\nfunction isValidFocusout(target: any, removedElement: Element | null = null): boolean {\n return (\n // Not due to switching tabs/going to DevTools\n getDocumentOrShadowRoot(target).activeElement !== target &&\n // Not due to button/input becoming disabled\n !target.disabled &&\n // Not due to element being removed from DOM\n (!removedElement || !removedElement.contains(target))\n );\n}\n\nfunction shadowRootActiveElement(root: Document): Observable<EventTarget | null> {\n return merge(\n typedFromEvent(root, 'focusin').pipe(map(({target}) => target)),\n typedFromEvent(root, 'focusout').pipe(\n filter(\n ({target, relatedTarget}) => !!relatedTarget && isValidFocusout(target),\n ),\n map(({relatedTarget}) => relatedTarget),\n ),\n );\n}\n","import {inject, InjectionToken, Renderer2, RendererFactory2} from '@angular/core';\n\n// https://github.com/angular/angular/issues/17824#issuecomment-353239017\nexport const TUI_DEFAULT_RENDERER = new InjectionToken<Renderer2>(\n 'A Renderer2 for global services',\n {\n // @ts-ignore\n factory: () => inject(RendererFactory2).createRenderer(null, null),\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiAriaDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {Observable} from 'rxjs';\n\nexport const TUI_DIALOGS = new InjectionToken<\n ReadonlyArray<Observable<ReadonlyArray<TuiAriaDialogContext>>>\n>('A stream of dialogs');\n","import {InjectionToken} from '@angular/core';\nimport {TuiFocusableElementAccessor} from '@taiga-ui/cdk/interfaces';\n\nexport const TUI_FOCUSABLE_ITEM_ACCESSOR =\n new InjectionToken<TuiFocusableElementAccessor>('A component that can be focused');\n","import {inject, InjectionToken} from '@angular/core';\nimport {USER_AGENT} from '@ng-web-apis/common';\n\nconst IOS_REG_EXP = /ipad|iphone|ipod/;\n\nexport const TUI_IS_IOS = new InjectionToken<boolean>('iOS browser detection', {\n factory: () => IOS_REG_EXP.test(inject(USER_AGENT).toLowerCase()),\n});\n","import {inject, InjectionToken} from '@angular/core';\nimport {USER_AGENT} from '@ng-web-apis/common';\n\n// https://stackoverflow.com/a/11381730/2706426 http://detectmobilebrowsers.com/\nconst firstRegex =\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/;\nconst secondRegex =\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/;\n\nexport const TUI_IS_MOBILE = new InjectionToken<boolean>('Mobile browser detection', {\n factory: () =>\n firstRegex.test(inject(USER_AGENT).toLowerCase()) ||\n secondRegex.test(inject(USER_AGENT).substr(0, 4).toLowerCase()),\n});\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {TUI_IS_IOS} from './is-ios';\nimport {TUI_IS_MOBILE} from './is-mobile';\n\nexport const TUI_IS_ANDROID = new InjectionToken<boolean>(\n 'Mobile browser that is not iOS (technically includes Windows Phone, Blackberry etc.)',\n {\n factory: () => inject(TUI_IS_MOBILE) && !inject(TUI_IS_IOS),\n },\n);\n","import {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\n\nexport interface WindowWithCypress extends Window {\n Cypress?: unknown;\n}\n\n/**\n * {@link https://docs.cypress.io/faq/questions/using-cypress-faq#Is-there-any-way-to-detect-if-my-app-is-running-under-Cypress Cypress docs}\n */\nexport const TUI_IS_CYPRESS = new InjectionToken<boolean>(\n 'Detect if app is running under Cypress',\n {\n factory: () => !!inject<WindowWithCypress>(WINDOW).Cypress,\n },\n);\n","import {InjectionToken, Sanitizer} from '@angular/core';\n\n/* @deprecated export token from @taiga-ui/core package **/\nexport const TUI_SANITIZER = new InjectionToken<Sanitizer>(\n 'A custom Sanitizer to sanitize source before inlining',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiSwipeOptions} from '@taiga-ui/cdk/interfaces';\n\nexport const TUI_SWIPE_OPTIONS = new InjectionToken<TuiSwipeOptions>('Swipe options', {\n factory: () => ({timeout: 500, threshold: 30}),\n});\n","import {InjectionToken} from '@angular/core';\n\n/**\n * @description:\n * The isTrusted read-only property of the Event interface is a boolean value that is true\n * when the event was generated by a user action, and false when the event was created or\n * modified by a script or dispatched via EventTarget.dispatchEvent().\n */\nexport const TUI_TAKE_ONLY_TRUSTED_EVENTS: InjectionToken<boolean> =\n new InjectionToken<boolean>(\n 'This token need for override behavior the `pressedObservable` function',\n {\n factory: () => true,\n },\n );\n","import {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {map, shareReplay, startWith} from 'rxjs/operators';\n\nexport const TUI_WINDOW_HEIGHT = new InjectionToken<Observable<number>>(\n 'Window height accounting for disappearing address bar',\n {\n factory: () => {\n const windowRef = inject(WINDOW);\n\n return typedFromEvent(windowRef, 'resize').pipe(\n startWith(null),\n map(() => windowRef.innerHeight),\n shareReplay({refCount: true, bufferSize: 1}),\n );\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiZoomOptions} from '@taiga-ui/cdk/interfaces';\n\nexport const TUI_ZOOM_OPTIONS = new InjectionToken<TuiZoomOptions>('Zoom options', {\n factory: () => ({\n wheelSensitivity: 0.01,\n }),\n});\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/cdk/tokens/removed-element.ts","ng://@taiga-ui/cdk/tokens/active-element.ts","ng://@taiga-ui/cdk/tokens/default-renderer.ts","ng://@taiga-ui/cdk/tokens/dialogs.ts","ng://@taiga-ui/cdk/tokens/focusable-item-accessor.ts","ng://@taiga-ui/cdk/tokens/is-ios.ts","ng://@taiga-ui/cdk/tokens/is-mobile.ts","ng://@taiga-ui/cdk/tokens/is-android.ts","ng://@taiga-ui/cdk/tokens/is-cypress.ts","ng://@taiga-ui/cdk/tokens/sanitizer.ts","ng://@taiga-ui/cdk/tokens/swipe-options.ts","ng://@taiga-ui/cdk/tokens/take-only-trusted-events.ts","ng://@taiga-ui/cdk/tokens/touch-supported.ts","ng://@taiga-ui/cdk/tokens/window-height.ts","ng://@taiga-ui/cdk/tokens/zoom-options.ts"],"names":["__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","TUI_REMOVED_ELEMENT","InjectionToken","factory","stub","onRemovalComplete","element$","BehaviorSubject","engine","_a","inject","ɵAnimationEngine","InjectFlags","Optional","_b","element","context","pipe","switchMap","timer","mapTo","startWith","share","TUI_ACTIVE_ELEMENT","removedElement$","windowRef","WINDOW","documentRef","DOCUMENT","focusout$","typedFromEvent","focusin$","blur$","mousedown$","mouseup$","merge","takeUntil","repeatWhen","withLatestFrom","filter","event","removedElement","isValidFocusout","getActualTarget","map","relatedTarget","activeElement","matches","target","root","getDocumentOrShadowRoot","of","shadowRootActiveElement","body","take","distinctUntilChanged","disabled","contains","TUI_DEFAULT_RENDERER","RendererFactory2","createRenderer","TUI_DIALOGS","TUI_FOCUSABLE_ITEM_ACCESSOR","IOS_REG_EXP","TUI_IS_IOS","test","USER_AGENT","toLowerCase","firstRegex","secondRegex","TUI_IS_MOBILE","substr","TUI_IS_ANDROID","TUI_IS_CYPRESS","Cypress","TUI_SANITIZER","TUI_SWIPE_OPTIONS","timeout","threshold","TUI_TAKE_ONLY_TRUSTED_EVENTS","TUI_TOUCH_SUPPORTED","matchMedia","TUI_WINDOW_HEIGHT","innerHeight","shareReplay","refCount","bufferSize","TUI_ZOOM_OPTIONS","wheelSensitivity"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {ɵAnimationEngine} from '@angular/animations/browser';\nimport {inject, InjectFlags, InjectionToken} from '@angular/core';\nimport {BehaviorSubject, Observable, timer} from 'rxjs';\nimport {mapTo, share, startWith, switchMap} from 'rxjs/operators';\n\nexport const TUI_REMOVED_ELEMENT = new InjectionToken<Observable<Element | null>>(\n 'Element currently being removed by AnimationEngine',\n {\n factory: () => {\n const stub = {onRemovalComplete: () => {}};\n const element$ = new BehaviorSubject<Element | null>(null);\n const engine = inject(ɵAnimationEngine, InjectFlags.Optional) ?? stub;\n const {onRemovalComplete = stub.onRemovalComplete} = engine;\n\n engine.onRemovalComplete = (element, context) => {\n element$.next(element);\n onRemovalComplete(element, context);\n };\n\n return element$.pipe(\n switchMap(element => timer(0).pipe(mapTo(null), startWith(element))),\n share(),\n );\n },\n },\n);\n","import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {getActualTarget, getDocumentOrShadowRoot} from '@taiga-ui/cdk/utils';\nimport {merge, Observable, of, timer} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n mapTo,\n repeatWhen,\n share,\n startWith,\n switchMap,\n take,\n takeUntil,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {TUI_REMOVED_ELEMENT} from './removed-element';\n\nexport const TUI_ACTIVE_ELEMENT = new InjectionToken<Observable<EventTarget | null>>(\n 'Active element on the document for ActiveZone',\n {\n factory: () => {\n const removedElement$ = inject(TUI_REMOVED_ELEMENT);\n const windowRef = inject(WINDOW);\n const documentRef = inject(DOCUMENT);\n const focusout$ = typedFromEvent(windowRef, 'focusout');\n const focusin$ = typedFromEvent(windowRef, 'focusin');\n const blur$ = typedFromEvent(windowRef, 'blur');\n const mousedown$ = typedFromEvent(windowRef, 'mousedown');\n const mouseup$ = typedFromEvent(windowRef, 'mouseup');\n\n return merge(\n focusout$.pipe(\n takeUntil(mousedown$),\n repeatWhen(() => mouseup$),\n withLatestFrom(removedElement$),\n filter(([event, removedElement]) =>\n isValidFocusout(getActualTarget(event), removedElement),\n ),\n map(([{relatedTarget}]) => relatedTarget),\n ),\n blur$.pipe(\n map(() => documentRef.activeElement),\n filter(element => !!element && element.matches('iframe')),\n ),\n focusin$.pipe(\n switchMap(event => {\n const target = getActualTarget(event);\n const root = getDocumentOrShadowRoot(target) as Document;\n\n return root === documentRef\n ? of(target)\n : shadowRootActiveElement(root).pipe(startWith(target));\n }),\n ),\n mousedown$.pipe(\n switchMap(event =>\n !documentRef.activeElement ||\n documentRef.activeElement === documentRef.body\n ? of(getActualTarget(event))\n : focusout$.pipe(\n take(1),\n takeUntil(timer(0)),\n mapTo(getActualTarget(event)),\n ),\n ),\n ),\n ).pipe(distinctUntilChanged(), share());\n },\n },\n);\n\n// Checks if focusout event should be considered leaving active zone\nfunction isValidFocusout(target: any, removedElement: Element | null = null): boolean {\n return (\n // Not due to switching tabs/going to DevTools\n getDocumentOrShadowRoot(target).activeElement !== target &&\n // Not due to button/input becoming disabled\n !target.disabled &&\n // Not due to element being removed from DOM\n (!removedElement || !removedElement.contains(target))\n );\n}\n\nfunction shadowRootActiveElement(root: Document): Observable<EventTarget | null> {\n return merge(\n typedFromEvent(root, 'focusin').pipe(map(({target}) => target)),\n typedFromEvent(root, 'focusout').pipe(\n filter(\n ({target, relatedTarget}) => !!relatedTarget && isValidFocusout(target),\n ),\n map(({relatedTarget}) => relatedTarget),\n ),\n );\n}\n","import {inject, InjectionToken, Renderer2, RendererFactory2} from '@angular/core';\n\n// https://github.com/angular/angular/issues/17824#issuecomment-353239017\nexport const TUI_DEFAULT_RENDERER = new InjectionToken<Renderer2>(\n 'A Renderer2 for global services',\n {\n // @ts-ignore\n factory: () => inject(RendererFactory2).createRenderer(null, null),\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiAriaDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {Observable} from 'rxjs';\n\nexport const TUI_DIALOGS = new InjectionToken<\n ReadonlyArray<Observable<ReadonlyArray<TuiAriaDialogContext>>>\n>('A stream of dialogs');\n","import {InjectionToken} from '@angular/core';\nimport {TuiFocusableElementAccessor} from '@taiga-ui/cdk/interfaces';\n\nexport const TUI_FOCUSABLE_ITEM_ACCESSOR =\n new InjectionToken<TuiFocusableElementAccessor>('A component that can be focused');\n","import {inject, InjectionToken} from '@angular/core';\nimport {USER_AGENT} from '@ng-web-apis/common';\n\nconst IOS_REG_EXP = /ipad|iphone|ipod/;\n\nexport const TUI_IS_IOS = new InjectionToken<boolean>('iOS browser detection', {\n factory: () => IOS_REG_EXP.test(inject(USER_AGENT).toLowerCase()),\n});\n","import {inject, InjectionToken} from '@angular/core';\nimport {USER_AGENT} from '@ng-web-apis/common';\n\n// https://stackoverflow.com/a/11381730/2706426 http://detectmobilebrowsers.com/\nconst firstRegex =\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/;\nconst secondRegex =\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/;\n\nexport const TUI_IS_MOBILE = new InjectionToken<boolean>('Mobile browser detection', {\n factory: () =>\n firstRegex.test(inject(USER_AGENT).toLowerCase()) ||\n secondRegex.test(inject(USER_AGENT).substr(0, 4).toLowerCase()),\n});\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {TUI_IS_IOS} from './is-ios';\nimport {TUI_IS_MOBILE} from './is-mobile';\n\nexport const TUI_IS_ANDROID = new InjectionToken<boolean>(\n 'Mobile browser that is not iOS (technically includes Windows Phone, Blackberry etc.)',\n {\n factory: () => inject(TUI_IS_MOBILE) && !inject(TUI_IS_IOS),\n },\n);\n","import {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\n\nexport interface WindowWithCypress extends Window {\n Cypress?: unknown;\n}\n\n/**\n * {@link https://docs.cypress.io/faq/questions/using-cypress-faq#Is-there-any-way-to-detect-if-my-app-is-running-under-Cypress Cypress docs}\n */\nexport const TUI_IS_CYPRESS = new InjectionToken<boolean>(\n 'Detect if app is running under Cypress',\n {\n factory: () => !!inject<WindowWithCypress>(WINDOW).Cypress,\n },\n);\n","import {InjectionToken, Sanitizer} from '@angular/core';\n\n/* @deprecated export token from @taiga-ui/core package **/\nexport const TUI_SANITIZER = new InjectionToken<Sanitizer>(\n 'A custom Sanitizer to sanitize source before inlining',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiSwipeOptions} from '@taiga-ui/cdk/interfaces';\n\nexport const TUI_SWIPE_OPTIONS = new InjectionToken<TuiSwipeOptions>('Swipe options', {\n factory: () => ({timeout: 500, threshold: 30}),\n});\n","import {InjectionToken} from '@angular/core';\n\n/**\n * @description:\n * The isTrusted read-only property of the Event interface is a boolean value that is true\n * when the event was generated by a user action, and false when the event was created or\n * modified by a script or dispatched via EventTarget.dispatchEvent().\n */\nexport const TUI_TAKE_ONLY_TRUSTED_EVENTS: InjectionToken<boolean> =\n new InjectionToken<boolean>(\n 'This token need for override behavior the `pressedObservable` function',\n {\n factory: () => true,\n },\n );\n","import {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\n\nexport const TUI_TOUCH_SUPPORTED = new InjectionToken('Touch support detection', {\n factory: () => inject(WINDOW).matchMedia('(any-pointer: coarse)').matches,\n});\n","import {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {map, shareReplay, startWith} from 'rxjs/operators';\n\nexport const TUI_WINDOW_HEIGHT = new InjectionToken<Observable<number>>(\n 'Window height accounting for disappearing address bar',\n {\n factory: () => {\n const windowRef = inject(WINDOW);\n\n return typedFromEvent(windowRef, 'resize').pipe(\n startWith(null),\n map(() => windowRef.innerHeight),\n shareReplay({refCount: true, bufferSize: 1}),\n );\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiZoomOptions} from '@taiga-ui/cdk/interfaces';\n\nexport const TUI_ZOOM_OPTIONS = new InjectionToken<TuiZoomOptions>('Zoom options', {\n factory: () => ({\n wheelSensitivity: 0.01,\n }),\n});\n"]}
@@ -61,6 +61,9 @@
61
61
  }
62
62
  }
63
63
 
64
+ /**
65
+ * @deprecated: use identity from rxjs
66
+ */
64
67
  function identity(item) {
65
68
  return item;
66
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-miscellaneous.umd.js","sources":["ng://@taiga-ui/cdk/utils/miscellaneous/distance-between-touches.ts","ng://@taiga-ui/cdk/utils/miscellaneous/ease-in-out-quad.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-present.ts","ng://@taiga-ui/cdk/utils/miscellaneous/fallback-value.ts","ng://@taiga-ui/cdk/utils/miscellaneous/flat-length.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-original-array-from-query-list.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-swipe-direction.ts","ng://@taiga-ui/cdk/utils/miscellaneous/identity.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-element-editable.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-number.ts","ng://@taiga-ui/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","ng://@taiga-ui/cdk/utils/miscellaneous/nullable-same.ts","ng://@taiga-ui/cdk/utils/miscellaneous/uniq-by.ts"],"sourcesContent":["export function distanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n touches[0].clientX - touches[1].clientX,\n touches[0].clientY - touches[1].clientY,\n );\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nexport function easeInOutQuad(t: number): number {\n tuiAssert.assert(0 <= t && t <= 1, 'Input must be between 0 and 1 inclusive.');\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n","export function isPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n","import {isPresent} from './is-present';\n\n/**\n * If the value is null or undefined, returns default value\n * @param value\n * @param fallback alternative fallback\n * @deprecated use nullish coalescing operator\n */\nexport function fallbackValue<T>(value: T | null | undefined, fallback: T): T {\n return isPresent(value) ? value : fallback;\n}\n","/**\n * Flattens two dimensional array and calculates resulting length\n *\n * @param array twi dimensional array\n */\nexport function flatLength(array: ReadonlyArray<ReadonlyArray<unknown>>): number {\n return array.reduce((count, section) => count + section.length, 0);\n}\n","import {QueryList} from '@angular/core';\n\n/**\n * Extracts original array from {@link QueryList} rather than\n * creating a copy like {@link QueryList.toArray} does.\n * @param queryList\n * @returns original array from {@link QueryList}.\n */\nexport function getOriginalArrayFromQueryList<T>(\n queryList: QueryList<T>,\n): ReadonlyArray<T> {\n let array: ReadonlyArray<T> = [];\n\n queryList.find((_item, _index, originalArray) => {\n array = originalArray;\n\n return true;\n });\n\n return array;\n}\n","import {TuiSwipeDirection} from '@taiga-ui/cdk/interfaces';\n\nexport function getSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? 'top' : 'bottom';\n } else {\n return deltaX > 0 ? 'left' : 'right';\n }\n}\n","export function identity<T>(item: T): T {\n return item;\n}\n","export function isElementEditable(element: HTMLElement): boolean {\n // TODO: iframe warning\n return (\n (element instanceof HTMLInputElement && !element.readOnly) ||\n (element instanceof HTMLTextAreaElement && !element.readOnly) ||\n element.isContentEditable\n );\n}\n","export function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n","import {AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\nexport function markControlAsTouchedAndValidate(control: AbstractControl) {\n if (control instanceof FormArray) {\n control.controls.forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n","import {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\nexport function nullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n","export function uniqBy<T extends object>(\n array: ReadonlyArray<T>,\n key: keyof T,\n): ReadonlyArray<T> {\n return Array.from(\n array\n .reduce(\n (map, item) => (map.has(item[key]) ? map : map.set(item[key], item)),\n new Map<T[keyof T], T>(),\n )\n .values(),\n );\n}\n"],"names":["tuiAssert","FormArray","FormGroup"],"mappings":";;;;;;aAAgB,sBAAsB,CAAC,EAAqB;YAApB,oBAAO;QAC3C,OAAO,IAAI,CAAC,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EACvC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAC1C,CAAC;IACN;;aCHgB,aAAa,CAAC,CAAS;QACnCA,iBAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,0CAA0C,CAAC,CAAC;QAE/E,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtD;;aCNgB,SAAS,CAAI,KAAgB;QACzC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;IACjD;;ICAA;;;;;;aAMgB,aAAa,CAAI,KAA2B,EAAE,QAAW;QACrE,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC/C;;ICVA;;;;;aAKgB,UAAU,CAAC,KAA4C;QACnE,OAAO,KAAK,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,OAAO,IAAK,OAAA,KAAK,GAAG,OAAO,CAAC,MAAM,GAAA,EAAE,CAAC,CAAC,CAAC;IACvE;;ICLA;;;;;;aAMgB,6BAA6B,CACzC,SAAuB;QAEvB,IAAI,KAAK,GAAqB,EAAE,CAAC;QAEjC,SAAS,CAAC,IAAI,CAAC,UAAC,KAAK,EAAE,MAAM,EAAE,aAAa;YACxC,KAAK,GAAG,aAAa,CAAC;YAEtB,OAAO,IAAI,CAAC;SACf,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACjB;;aClBgB,iBAAiB,CAAC,MAAc,EAAE,MAAc;QAC5D,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACrC,OAAO,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC;SACxC;aAAM;YACH,OAAO,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC;SACxC;IACL;;aCRgB,QAAQ,CAAI,IAAO;QAC/B,OAAO,IAAI,CAAC;IAChB;;aCFgB,iBAAiB,CAAC,OAAoB;;QAElD,QACI,CAAC,OAAO,YAAY,gBAAgB,IAAI,CAAC,OAAO,CAAC,QAAQ;aACxD,OAAO,YAAY,mBAAmB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC7D,OAAO,CAAC,iBAAiB,EAC3B;IACN;;aCPgB,QAAQ,CAAC,KAAc;QACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;IACrC;;aCAgB,+BAA+B,CAAC,OAAwB;QACpE,IAAI,OAAO,YAAYC,eAAS,EAAE;YAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAA,aAAa;gBAClC,+BAA+B,CAAC,aAAa,CAAC,CAAC;aAClD,CAAC,CAAC;SACN;QAED,IAAI,OAAO,YAAYC,eAAS,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAA,aAAa;gBACjD,+BAA+B,CAAC,aAAa,CAAC,CAAC;aAClD,CAAC,CAAC;SACN;QAED,OAAO,CAAC,aAAa,EAAE,CAAC;QACxB,OAAO,CAAC,sBAAsB,EAAE,CAAC;IACrC;;ICfA;;;;;;;;aAQgB,YAAY,CACxB,CAAW,EACX,CAAW,EACX,OAA8B;QAE9B,IAAI,CAAC,KAAK,IAAI,EAAE;YACZ,OAAO,CAAC,KAAK,IAAI,CAAC;SACrB;QAED,IAAI,CAAC,KAAK,IAAI,EAAE;YACZ,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB;;aCxBgB,MAAM,CAClB,KAAuB,EACvB,GAAY;QAEZ,OAAO,KAAK,CAAC,IAAI,CACb,KAAK;aACA,MAAM,CACH,UAAC,GAAG,EAAE,IAAI,IAAK,QAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAC,EACpE,IAAI,GAAG,EAAiB,CAC3B;aACA,MAAM,EAAE,CAChB,CAAC;IACN;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils-miscellaneous.umd.js","sources":["ng://@taiga-ui/cdk/utils/miscellaneous/distance-between-touches.ts","ng://@taiga-ui/cdk/utils/miscellaneous/ease-in-out-quad.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-present.ts","ng://@taiga-ui/cdk/utils/miscellaneous/fallback-value.ts","ng://@taiga-ui/cdk/utils/miscellaneous/flat-length.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-original-array-from-query-list.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-swipe-direction.ts","ng://@taiga-ui/cdk/utils/miscellaneous/identity.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-element-editable.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-number.ts","ng://@taiga-ui/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","ng://@taiga-ui/cdk/utils/miscellaneous/nullable-same.ts","ng://@taiga-ui/cdk/utils/miscellaneous/uniq-by.ts"],"sourcesContent":["export function distanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n touches[0].clientX - touches[1].clientX,\n touches[0].clientY - touches[1].clientY,\n );\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nexport function easeInOutQuad(t: number): number {\n tuiAssert.assert(0 <= t && t <= 1, 'Input must be between 0 and 1 inclusive.');\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n","export function isPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n","import {isPresent} from './is-present';\n\n/**\n * If the value is null or undefined, returns default value\n * @param value\n * @param fallback alternative fallback\n * @deprecated use nullish coalescing operator\n */\nexport function fallbackValue<T>(value: T | null | undefined, fallback: T): T {\n return isPresent(value) ? value : fallback;\n}\n","/**\n * Flattens two dimensional array and calculates resulting length\n *\n * @param array twi dimensional array\n */\nexport function flatLength(array: ReadonlyArray<ReadonlyArray<unknown>>): number {\n return array.reduce((count, section) => count + section.length, 0);\n}\n","import {QueryList} from '@angular/core';\n\n/**\n * Extracts original array from {@link QueryList} rather than\n * creating a copy like {@link QueryList.toArray} does.\n * @param queryList\n * @returns original array from {@link QueryList}.\n */\nexport function getOriginalArrayFromQueryList<T>(\n queryList: QueryList<T>,\n): ReadonlyArray<T> {\n let array: ReadonlyArray<T> = [];\n\n queryList.find((_item, _index, originalArray) => {\n array = originalArray;\n\n return true;\n });\n\n return array;\n}\n","import {TuiSwipeDirection} from '@taiga-ui/cdk/interfaces';\n\nexport function getSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? 'top' : 'bottom';\n } else {\n return deltaX > 0 ? 'left' : 'right';\n }\n}\n","/**\n * @deprecated: use identity from rxjs\n */\nexport function identity<T>(item: T): T {\n return item;\n}\n","export function isElementEditable(element: HTMLElement): boolean {\n // TODO: iframe warning\n return (\n (element instanceof HTMLInputElement && !element.readOnly) ||\n (element instanceof HTMLTextAreaElement && !element.readOnly) ||\n element.isContentEditable\n );\n}\n","export function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n","import {AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\nexport function markControlAsTouchedAndValidate(control: AbstractControl) {\n if (control instanceof FormArray) {\n control.controls.forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n","import {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\nexport function nullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n","export function uniqBy<T extends object>(\n array: ReadonlyArray<T>,\n key: keyof T,\n): ReadonlyArray<T> {\n return Array.from(\n array\n .reduce(\n (map, item) => (map.has(item[key]) ? map : map.set(item[key], item)),\n new Map<T[keyof T], T>(),\n )\n .values(),\n );\n}\n"],"names":["tuiAssert","FormArray","FormGroup"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["ng://@taiga-ui/cdk/utils/miscellaneous/is-present.ts","ng://@taiga-ui/cdk/utils/miscellaneous/distance-between-touches.ts","ng://@taiga-ui/cdk/utils/miscellaneous/ease-in-out-quad.ts","ng://@taiga-ui/cdk/utils/miscellaneous/fallback-value.ts","ng://@taiga-ui/cdk/utils/miscellaneous/flat-length.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-original-array-from-query-list.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-swipe-direction.ts","ng://@taiga-ui/cdk/utils/miscellaneous/identity.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-element-editable.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-number.ts","ng://@taiga-ui/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","ng://@taiga-ui/cdk/utils/miscellaneous/nullable-same.ts","ng://@taiga-ui/cdk/utils/miscellaneous/uniq-by.ts"],"names":["isPresent","value","_a","touches","Math","hypot","clientX","clientY","t","tuiAssert","assert","fallback","array","reduce","count","section","length","queryList","find","_item","_index","originalArray","deltaX","deltaY","abs","item","element","HTMLInputElement","readOnly","HTMLTextAreaElement","isContentEditable","markControlAsTouchedAndValidate","control","FormArray","controls","forEach","nestedControl","FormGroup","Object","values","markAsTouched","updateValueAndValidity","a","b","handler","key","Array","from","map","has","set","Map"],"mappings":"yhBAAgBA,EAAaC,GACzB,OAAOA,MAAAA,oCCD4BC,OAACC,EAAAD,EAAAC,QACpC,OAAOC,KAAKC,MACRF,EAAQ,GAAGG,QAAUH,EAAQ,GAAGG,QAChCH,EAAQ,GAAGI,QAAUJ,EAAQ,GAAGI,mCCDVC,GAG1B,OAFAC,EAAAA,UAAUC,OAAO,GAAKF,GAAKA,GAAK,EAAG,4CAE5BA,EAAI,GAAM,EAAIA,EAAIA,GAAU,EAAI,EAAIA,GAAKA,EAAlB,4BCGDP,EAA6BU,GAC1D,OAAOX,EAAUC,GAASA,EAAQU,yBCJXC,GACvB,OAAOA,EAAMC,QAAO,SAACC,EAAOC,GAAY,OAAAD,EAAQC,EAAQC,SAAQ,6CCGhEC,GAEA,IAAIL,EAA0B,GAQ9B,OANAK,EAAUC,MAAK,SAACC,EAAOC,EAAQC,GAG3B,OAFAT,EAAQS,GAED,KAGJT,gCCjBuBU,EAAgBC,GAC9C,OAAInB,KAAKoB,IAAID,GAAUnB,KAAKoB,IAAIF,GACrBC,EAAS,EAAI,MAAQ,SAErBD,EAAS,EAAI,OAAS,6BCNTG,GACxB,OAAOA,gCCDuBC,GAE9B,OACKA,aAAmBC,mBAAqBD,EAAQE,UAChDF,aAAmBG,sBAAwBH,EAAQE,UACpDF,EAAQI,uCCLS7B,GACrB,MAAwB,iBAAVA,4DCCF8B,EAAgCC,GACxCA,aAAmBC,EAAAA,WACnBD,EAAQE,SAASC,SAAQ,SAAAC,GACrBL,EAAgCK,MAIpCJ,aAAmBK,EAAAA,WACnBC,OAAOC,OAAOP,EAAQE,UAAUC,SAAQ,SAAAC,GACpCL,EAAgCK,MAIxCJ,EAAQQ,gBACRR,EAAQS,kDCLRC,EACAC,EACAC,GAEA,OAAU,OAANF,EACa,OAANC,EAGD,OAANA,GAIGC,EAAQF,EAAGC,sBCtBlB/B,EACAiC,GAEA,OAAOC,MAAMC,KACTnC,EACKC,QACG,SAACmC,EAAKvB,GAAS,OAACuB,EAAIC,IAAIxB,EAAKoB,IAAQG,EAAMA,EAAIE,IAAIzB,EAAKoB,GAAMpB,KAC9D,IAAI0B,KAEPZ","sourcesContent":["export function isPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n","export function distanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n touches[0].clientX - touches[1].clientX,\n touches[0].clientY - touches[1].clientY,\n );\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nexport function easeInOutQuad(t: number): number {\n tuiAssert.assert(0 <= t && t <= 1, 'Input must be between 0 and 1 inclusive.');\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n","import {isPresent} from './is-present';\n\n/**\n * If the value is null or undefined, returns default value\n * @param value\n * @param fallback alternative fallback\n * @deprecated use nullish coalescing operator\n */\nexport function fallbackValue<T>(value: T | null | undefined, fallback: T): T {\n return isPresent(value) ? value : fallback;\n}\n","/**\n * Flattens two dimensional array and calculates resulting length\n *\n * @param array twi dimensional array\n */\nexport function flatLength(array: ReadonlyArray<ReadonlyArray<unknown>>): number {\n return array.reduce((count, section) => count + section.length, 0);\n}\n","import {QueryList} from '@angular/core';\n\n/**\n * Extracts original array from {@link QueryList} rather than\n * creating a copy like {@link QueryList.toArray} does.\n * @param queryList\n * @returns original array from {@link QueryList}.\n */\nexport function getOriginalArrayFromQueryList<T>(\n queryList: QueryList<T>,\n): ReadonlyArray<T> {\n let array: ReadonlyArray<T> = [];\n\n queryList.find((_item, _index, originalArray) => {\n array = originalArray;\n\n return true;\n });\n\n return array;\n}\n","import {TuiSwipeDirection} from '@taiga-ui/cdk/interfaces';\n\nexport function getSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? 'top' : 'bottom';\n } else {\n return deltaX > 0 ? 'left' : 'right';\n }\n}\n","export function identity<T>(item: T): T {\n return item;\n}\n","export function isElementEditable(element: HTMLElement): boolean {\n // TODO: iframe warning\n return (\n (element instanceof HTMLInputElement && !element.readOnly) ||\n (element instanceof HTMLTextAreaElement && !element.readOnly) ||\n element.isContentEditable\n );\n}\n","export function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n","import {AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\nexport function markControlAsTouchedAndValidate(control: AbstractControl) {\n if (control instanceof FormArray) {\n control.controls.forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n","import {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\nexport function nullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n","export function uniqBy<T extends object>(\n array: ReadonlyArray<T>,\n key: keyof T,\n): ReadonlyArray<T> {\n return Array.from(\n array\n .reduce(\n (map, item) => (map.has(item[key]) ? map : map.set(item[key], item)),\n new Map<T[keyof T], T>(),\n )\n .values(),\n );\n}\n"]}
1
+ {"version":3,"sources":["ng://@taiga-ui/cdk/utils/miscellaneous/is-present.ts","ng://@taiga-ui/cdk/utils/miscellaneous/distance-between-touches.ts","ng://@taiga-ui/cdk/utils/miscellaneous/ease-in-out-quad.ts","ng://@taiga-ui/cdk/utils/miscellaneous/fallback-value.ts","ng://@taiga-ui/cdk/utils/miscellaneous/flat-length.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-original-array-from-query-list.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-swipe-direction.ts","ng://@taiga-ui/cdk/utils/miscellaneous/identity.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-element-editable.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-number.ts","ng://@taiga-ui/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","ng://@taiga-ui/cdk/utils/miscellaneous/nullable-same.ts","ng://@taiga-ui/cdk/utils/miscellaneous/uniq-by.ts"],"names":["isPresent","value","_a","touches","Math","hypot","clientX","clientY","t","tuiAssert","assert","fallback","array","reduce","count","section","length","queryList","find","_item","_index","originalArray","deltaX","deltaY","abs","item","element","HTMLInputElement","readOnly","HTMLTextAreaElement","isContentEditable","markControlAsTouchedAndValidate","control","FormArray","controls","forEach","nestedControl","FormGroup","Object","values","markAsTouched","updateValueAndValidity","a","b","handler","key","Array","from","map","has","set","Map"],"mappings":"yhBAAgBA,EAAaC,GACzB,OAAOA,MAAAA,oCCD4BC,OAACC,EAAAD,EAAAC,QACpC,OAAOC,KAAKC,MACRF,EAAQ,GAAGG,QAAUH,EAAQ,GAAGG,QAChCH,EAAQ,GAAGI,QAAUJ,EAAQ,GAAGI,mCCDVC,GAG1B,OAFAC,EAAAA,UAAUC,OAAO,GAAKF,GAAKA,GAAK,EAAG,4CAE5BA,EAAI,GAAM,EAAIA,EAAIA,GAAU,EAAI,EAAIA,GAAKA,EAAlB,4BCGDP,EAA6BU,GAC1D,OAAOX,EAAUC,GAASA,EAAQU,yBCJXC,GACvB,OAAOA,EAAMC,QAAO,SAACC,EAAOC,GAAY,OAAAD,EAAQC,EAAQC,SAAQ,6CCGhEC,GAEA,IAAIL,EAA0B,GAQ9B,OANAK,EAAUC,MAAK,SAACC,EAAOC,EAAQC,GAG3B,OAFAT,EAAQS,GAED,KAGJT,gCCjBuBU,EAAgBC,GAC9C,OAAInB,KAAKoB,IAAID,GAAUnB,KAAKoB,IAAIF,GACrBC,EAAS,EAAI,MAAQ,SAErBD,EAAS,EAAI,OAAS,6BCHTG,GACxB,OAAOA,gCCJuBC,GAE9B,OACKA,aAAmBC,mBAAqBD,EAAQE,UAChDF,aAAmBG,sBAAwBH,EAAQE,UACpDF,EAAQI,uCCLS7B,GACrB,MAAwB,iBAAVA,4DCCF8B,EAAgCC,GACxCA,aAAmBC,EAAAA,WACnBD,EAAQE,SAASC,SAAQ,SAAAC,GACrBL,EAAgCK,MAIpCJ,aAAmBK,EAAAA,WACnBC,OAAOC,OAAOP,EAAQE,UAAUC,SAAQ,SAAAC,GACpCL,EAAgCK,MAIxCJ,EAAQQ,gBACRR,EAAQS,kDCLRC,EACAC,EACAC,GAEA,OAAU,OAANF,EACa,OAANC,EAGD,OAANA,GAIGC,EAAQF,EAAGC,sBCtBlB/B,EACAiC,GAEA,OAAOC,MAAMC,KACTnC,EACKC,QACG,SAACmC,EAAKvB,GAAS,OAACuB,EAAIC,IAAIxB,EAAKoB,IAAQG,EAAMA,EAAIE,IAAIzB,EAAKoB,GAAMpB,KAC9D,IAAI0B,KAEPZ","sourcesContent":["export function isPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n","export function distanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n touches[0].clientX - touches[1].clientX,\n touches[0].clientY - touches[1].clientY,\n );\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nexport function easeInOutQuad(t: number): number {\n tuiAssert.assert(0 <= t && t <= 1, 'Input must be between 0 and 1 inclusive.');\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n","import {isPresent} from './is-present';\n\n/**\n * If the value is null or undefined, returns default value\n * @param value\n * @param fallback alternative fallback\n * @deprecated use nullish coalescing operator\n */\nexport function fallbackValue<T>(value: T | null | undefined, fallback: T): T {\n return isPresent(value) ? value : fallback;\n}\n","/**\n * Flattens two dimensional array and calculates resulting length\n *\n * @param array twi dimensional array\n */\nexport function flatLength(array: ReadonlyArray<ReadonlyArray<unknown>>): number {\n return array.reduce((count, section) => count + section.length, 0);\n}\n","import {QueryList} from '@angular/core';\n\n/**\n * Extracts original array from {@link QueryList} rather than\n * creating a copy like {@link QueryList.toArray} does.\n * @param queryList\n * @returns original array from {@link QueryList}.\n */\nexport function getOriginalArrayFromQueryList<T>(\n queryList: QueryList<T>,\n): ReadonlyArray<T> {\n let array: ReadonlyArray<T> = [];\n\n queryList.find((_item, _index, originalArray) => {\n array = originalArray;\n\n return true;\n });\n\n return array;\n}\n","import {TuiSwipeDirection} from '@taiga-ui/cdk/interfaces';\n\nexport function getSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? 'top' : 'bottom';\n } else {\n return deltaX > 0 ? 'left' : 'right';\n }\n}\n","/**\n * @deprecated: use identity from rxjs\n */\nexport function identity<T>(item: T): T {\n return item;\n}\n","export function isElementEditable(element: HTMLElement): boolean {\n // TODO: iframe warning\n return (\n (element instanceof HTMLInputElement && !element.readOnly) ||\n (element instanceof HTMLTextAreaElement && !element.readOnly) ||\n element.isContentEditable\n );\n}\n","export function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n","import {AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\nexport function markControlAsTouchedAndValidate(control: AbstractControl) {\n if (control instanceof FormArray) {\n control.controls.forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n","import {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\nexport function nullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n","export function uniqBy<T extends object>(\n array: ReadonlyArray<T>,\n key: keyof T,\n): ReadonlyArray<T> {\n return Array.from(\n array\n .reduce(\n (map, item) => (map.has(item[key]) ? map : map.set(item[key], item)),\n new Map<T[keyof T], T>(),\n )\n .values(),\n );\n}\n"]}
@@ -7,6 +7,20 @@ export declare class TuiDayRange extends TuiMonthRange {
7
7
  readonly from: TuiDay;
8
8
  readonly to: TuiDay;
9
9
  constructor(from: TuiDay, to: TuiDay);
10
+ /**
11
+ * Creates range from two days after sorting them
12
+ *
13
+ * @param day1
14
+ * @param day2
15
+ * @return new range with sorted days
16
+ */
17
+ static sort(day1: TuiDay, day2: TuiDay): TuiDayRange;
18
+ /**
19
+ * @deprecated
20
+ * TODO rm deprecated version in v3.0
21
+ */
22
+ static normalizeParse(rangeString: string, dateFiller: string, dateRangeFiller: string): TuiDayRange;
23
+ static normalizeParse(rangeString: string): TuiDayRange;
10
24
  get isSingleDay(): boolean;
11
25
  /**
12
26
  * Human readable format.
@@ -27,18 +41,4 @@ export declare class TuiDayRange extends TuiMonthRange {
27
41
  * @return range — clamped range
28
42
  */
29
43
  dayLimit(min: TuiDay | null, max: TuiDay | null): TuiDayRange;
30
- /**
31
- * Creates range from two days after sorting them
32
- *
33
- * @param day1
34
- * @param day2
35
- * @return new range with sorted days
36
- */
37
- static sort(day1: TuiDay, day2: TuiDay): TuiDayRange;
38
- /**
39
- * @deprecated
40
- * TODO rm deprecated version in v3.0
41
- */
42
- static normalizeParse(rangeString: string, dateFiller: string, dateRangeFiller: string): TuiDayRange;
43
- static normalizeParse(rangeString: string): TuiDayRange;
44
44
  }
@@ -6,6 +6,63 @@ import { TuiMonth } from './month';
6
6
  export declare class TuiDay extends TuiMonth {
7
7
  readonly day: number;
8
8
  constructor(year: number, month: number, day: number);
9
+ /**
10
+ * Creates {@link TuiDay} from native {@link Date} based on local time zone
11
+ */
12
+ static fromLocalNativeDate(date: Date): TuiDay;
13
+ /**
14
+ * Creates {@link TuiDay} from native {@link Date} using UTC
15
+ */
16
+ static fromUtcNativeDate(date: Date): TuiDay;
17
+ /**
18
+ * Check validity of year, month and day
19
+ *
20
+ * @param year
21
+ * @param month
22
+ * @param day
23
+ * @return boolean validity
24
+ */
25
+ static isValidDay(year: number, month: number, day: number): boolean;
26
+ /**
27
+ * @deprecated DONT USE IT (will be deleted soon)
28
+ *
29
+ * Calculated day on a calendar grid
30
+ *
31
+ * @param month
32
+ * @param row row in a calendar
33
+ * @param col column in a calendar
34
+ * @return resulting day on these coordinates (could exceed passed month)
35
+ */
36
+ static getDayFromMonthRowCol(month: TuiMonth, row: number, col: number): TuiDay;
37
+ /**
38
+ * Current day based on local time zone
39
+ */
40
+ static currentLocal(): TuiDay;
41
+ /**
42
+ * Calculates {@link TuiDay} normalizing year, month and day. {@link NaN} is turned into minimal value.
43
+ *
44
+ * @param year any year value, including invalid
45
+ * @param month any month value, including invalid (months start with 0)
46
+ * @param day any day value, including invalid
47
+ * @return normalized date
48
+ */
49
+ static normalizeOf(year: number, month: number, day: number): TuiDay;
50
+ static lengthBetween(from: TuiDay, to: TuiDay): number;
51
+ /**
52
+ * Parsing a string with date with normalization
53
+ *
54
+ * @param yearMonthDayString date string in format of DD.MM.Yyyy
55
+ * @return normalized date
56
+ */
57
+ static normalizeParse(yearMonthDayString: string): TuiDay;
58
+ /**
59
+ * Parsing a date stringified in a toJSON format
60
+ * @param yearMonthDayString date string in format of YYYY-MM-DD
61
+ * @return date
62
+ * @throws exceptions if any part of the date is invalid
63
+ */
64
+ static jsonParse(yearMonthDayString: string): TuiDay;
65
+ protected static normalizeDayPart(day: number, month: number, year: number): number;
9
66
  get formattedDayPart(): string;
10
67
  /**
11
68
  * Formatted whole date
@@ -69,61 +126,4 @@ export declare class TuiDay extends TuiMonth {
69
126
  * Returns native {@link Date} based on UTC
70
127
  */
71
128
  toUtcNativeDate(): Date;
72
- /**
73
- * Creates {@link TuiDay} from native {@link Date} based on local time zone
74
- */
75
- static fromLocalNativeDate(date: Date): TuiDay;
76
- /**
77
- * Creates {@link TuiDay} from native {@link Date} using UTC
78
- */
79
- static fromUtcNativeDate(date: Date): TuiDay;
80
- /**
81
- * Check validity of year, month and day
82
- *
83
- * @param year
84
- * @param month
85
- * @param day
86
- * @return boolean validity
87
- */
88
- static isValidDay(year: number, month: number, day: number): boolean;
89
- /**
90
- * @deprecated DONT USE IT (will be deleted soon)
91
- *
92
- * Calculated day on a calendar grid
93
- *
94
- * @param month
95
- * @param row row in a calendar
96
- * @param col column in a calendar
97
- * @return resulting day on these coordinates (could exceed passed month)
98
- */
99
- static getDayFromMonthRowCol(month: TuiMonth, row: number, col: number): TuiDay;
100
- /**
101
- * Current day based on local time zone
102
- */
103
- static currentLocal(): TuiDay;
104
- /**
105
- * Calculates {@link TuiDay} normalizing year, month and day. {@link NaN} is turned into minimal value.
106
- *
107
- * @param year any year value, including invalid
108
- * @param month any month value, including invalid (months start with 0)
109
- * @param day any day value, including invalid
110
- * @return normalized date
111
- */
112
- static normalizeOf(year: number, month: number, day: number): TuiDay;
113
- static lengthBetween(from: TuiDay, to: TuiDay): number;
114
- /**
115
- * Parsing a string with date with normalization
116
- *
117
- * @param yearMonthDayString date string in format of DD.MM.Yyyy
118
- * @return normalized date
119
- */
120
- static normalizeParse(yearMonthDayString: string): TuiDay;
121
- /**
122
- * Parsing a date stringified in a toJSON format
123
- * @param yearMonthDayString date string in format of YYYY-MM-DD
124
- * @return date
125
- * @throws exceptions if any part of the date is invalid
126
- */
127
- static jsonParse(yearMonthDayString: string): TuiDay;
128
- protected static normalizeDayPart(day: number, month: number, year: number): number;
129
129
  }
@@ -6,9 +6,9 @@ export declare class TuiMonthRange {
6
6
  readonly from: TuiMonth;
7
7
  readonly to: TuiMonth;
8
8
  constructor(from: TuiMonth, to: TuiMonth);
9
+ static sort(month1: TuiMonth, month2: TuiMonth): TuiMonthRange;
9
10
  get isSingleMonth(): boolean;
10
11
  get formattedMonthRange(): string;
11
12
  monthSame(another: TuiMonthRange): boolean;
12
13
  toString(): string;
13
- static sort(month1: TuiMonth, month2: TuiMonth): TuiMonthRange;
14
14
  }
@@ -10,6 +10,32 @@ export declare class TuiMonth extends TuiYear implements TuiMonthLike {
10
10
  * @param month (starting with 0)
11
11
  */
12
12
  constructor(year: number, month: number);
13
+ /**
14
+ * Tests month and year for validity
15
+ */
16
+ static isValidMonth(year: number, month: number): boolean;
17
+ /**
18
+ * Returns number of days in a month
19
+ */
20
+ static getMonthDaysCount(month: number, isLeapYear: boolean): number;
21
+ /**
22
+ * Returns current month and year based on local time zone
23
+ * @nosideeffects
24
+ */
25
+ static currentLocal(): TuiMonth;
26
+ /**
27
+ * Returns current month and year based on UTC
28
+ */
29
+ static currentUtc(): TuiMonth;
30
+ static lengthBetween(from: TuiMonth, to: TuiMonth): number;
31
+ /**
32
+ * Normalizes number by clamping it between min and max month
33
+ */
34
+ protected static normalizeMonthPart(month: number): number;
35
+ /**
36
+ * Tests month for validity
37
+ */
38
+ private static isValidMonthPart;
13
39
  get formattedMonthPart(): string;
14
40
  /**
15
41
  * Formatter month and year
@@ -69,30 +95,4 @@ export declare class TuiMonth extends TuiYear implements TuiMonthLike {
69
95
  * Returns native {@link Date} based on UTC
70
96
  */
71
97
  toUtcNativeDate(): Date;
72
- /**
73
- * Tests month and year for validity
74
- */
75
- static isValidMonth(year: number, month: number): boolean;
76
- /**
77
- * Returns number of days in a month
78
- */
79
- static getMonthDaysCount(month: number, isLeapYear: boolean): number;
80
- /**
81
- * Returns current month and year based on local time zone
82
- * @nosideeffects
83
- */
84
- static currentLocal(): TuiMonth;
85
- /**
86
- * Returns current month and year based on UTC
87
- */
88
- static currentUtc(): TuiMonth;
89
- static lengthBetween(from: TuiMonth, to: TuiMonth): number;
90
- /**
91
- * Normalizes number by clamping it between min and max month
92
- */
93
- protected static normalizeMonthPart(month: number): number;
94
- /**
95
- * Tests month for validity
96
- */
97
- private static isValidMonthPart;
98
98
  }