@taiga-ui/cdk 3.59.0-canary.1c24449 → 3.59.0-canary.326e85e

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 (135) hide show
  1. package/directives/index.d.ts +1 -0
  2. package/directives/native-validator/index.d.ts +1 -0
  3. package/directives/native-validator/native-validator.directive.d.ts +12 -0
  4. package/esm2020/abstract/control.mjs +2 -3
  5. package/esm2020/abstract/dialog.directive.mjs +2 -3
  6. package/esm2020/components/alert-host/alert-host.component.mjs +2 -3
  7. package/esm2020/components/dialog-host/dialog-host.component.mjs +2 -3
  8. package/esm2020/components/scroll-controls/scroll-controls.component.mjs +2 -2
  9. package/esm2020/components/scroll-controls/scrollbar.directive.mjs +2 -3
  10. package/esm2020/directives/active-zone/active-zone.directive.mjs +2 -2
  11. package/esm2020/directives/auto-focus/autofocus.directive.mjs +2 -3
  12. package/esm2020/directives/auto-focus/handlers/default.handler.mjs +2 -3
  13. package/esm2020/directives/click-outside/click-outside.directive.mjs +2 -3
  14. package/esm2020/directives/drag/drag.directive.mjs +2 -2
  15. package/esm2020/directives/droppable/droppable.directive.mjs +2 -3
  16. package/esm2020/directives/focused/focused.directive.mjs +2 -3
  17. package/esm2020/directives/for-async/for-async.directive.mjs +2 -3
  18. package/esm2020/directives/hovered/hovered.service.mjs +2 -3
  19. package/esm2020/directives/index.mjs +2 -1
  20. package/esm2020/directives/native-validator/index.mjs +2 -0
  21. package/esm2020/directives/native-validator/native-validator.directive.mjs +46 -0
  22. package/esm2020/directives/native-validator/taiga-ui-cdk-directives-native-validator.mjs +5 -0
  23. package/esm2020/directives/obscured/obscured.directive.mjs +2 -3
  24. package/esm2020/directives/overscroll/overscroll.directive.mjs +2 -2
  25. package/esm2020/directives/prevent-default/prevent-default.directive.mjs +2 -3
  26. package/esm2020/directives/value-changes/value-changes.directive.mjs +2 -3
  27. package/esm2020/observables/control-value.mjs +2 -3
  28. package/esm2020/observables/drag-and-drop-from.mjs +2 -3
  29. package/esm2020/observables/focus-visible-observable.mjs +2 -3
  30. package/esm2020/observables/if-map.mjs +2 -3
  31. package/esm2020/observables/is-alive.mjs +2 -3
  32. package/esm2020/observables/items-query-list-observable.mjs +2 -2
  33. package/esm2020/observables/must-be-present.mjs +2 -2
  34. package/esm2020/observables/pressed-observable.mjs +2 -2
  35. package/esm2020/observables/prevent-default.mjs +2 -2
  36. package/esm2020/observables/stop-propagation.mjs +2 -2
  37. package/esm2020/observables/watch.mjs +2 -2
  38. package/esm2020/services/focus-visible.service.mjs +2 -3
  39. package/esm2020/services/obscured.service.mjs +2 -3
  40. package/esm2020/services/pan.service.mjs +2 -3
  41. package/esm2020/services/resize.service.mjs +2 -2
  42. package/esm2020/services/scroll.service.mjs +2 -3
  43. package/esm2020/services/static-request.service.mjs +2 -3
  44. package/esm2020/services/swipe.service.mjs +2 -3
  45. package/esm2020/services/zoom.service.mjs +2 -3
  46. package/esm2020/tokens/active-element.mjs +2 -3
  47. package/esm2020/tokens/fonts-ready.mjs +2 -3
  48. package/esm2020/tokens/removed-element.mjs +2 -3
  49. package/esm2020/tokens/window-height.mjs +2 -2
  50. package/esm2020/tokens/window-size.mjs +2 -2
  51. package/fesm2015/taiga-ui-cdk-abstract.mjs +1 -2
  52. package/fesm2015/taiga-ui-cdk-abstract.mjs.map +1 -1
  53. package/fesm2015/taiga-ui-cdk-components-alert-host.mjs +1 -2
  54. package/fesm2015/taiga-ui-cdk-components-alert-host.mjs.map +1 -1
  55. package/fesm2015/taiga-ui-cdk-components-dialog-host.mjs +1 -2
  56. package/fesm2015/taiga-ui-cdk-components-dialog-host.mjs.map +1 -1
  57. package/fesm2015/taiga-ui-cdk-components-scroll-controls.mjs +2 -3
  58. package/fesm2015/taiga-ui-cdk-components-scroll-controls.mjs.map +1 -1
  59. package/fesm2015/taiga-ui-cdk-directives-active-zone.mjs +1 -1
  60. package/fesm2015/taiga-ui-cdk-directives-active-zone.mjs.map +1 -1
  61. package/fesm2015/taiga-ui-cdk-directives-auto-focus.mjs +1 -2
  62. package/fesm2015/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
  63. package/fesm2015/taiga-ui-cdk-directives-click-outside.mjs +1 -2
  64. package/fesm2015/taiga-ui-cdk-directives-click-outside.mjs.map +1 -1
  65. package/fesm2015/taiga-ui-cdk-directives-drag.mjs +1 -1
  66. package/fesm2015/taiga-ui-cdk-directives-drag.mjs.map +1 -1
  67. package/fesm2015/taiga-ui-cdk-directives-droppable.mjs +1 -2
  68. package/fesm2015/taiga-ui-cdk-directives-droppable.mjs.map +1 -1
  69. package/fesm2015/taiga-ui-cdk-directives-focused.mjs +1 -2
  70. package/fesm2015/taiga-ui-cdk-directives-focused.mjs.map +1 -1
  71. package/fesm2015/taiga-ui-cdk-directives-for-async.mjs +1 -2
  72. package/fesm2015/taiga-ui-cdk-directives-for-async.mjs.map +1 -1
  73. package/fesm2015/taiga-ui-cdk-directives-hovered.mjs +1 -2
  74. package/fesm2015/taiga-ui-cdk-directives-hovered.mjs.map +1 -1
  75. package/fesm2015/taiga-ui-cdk-directives-native-validator.mjs +54 -0
  76. package/fesm2015/taiga-ui-cdk-directives-native-validator.mjs.map +1 -0
  77. package/fesm2015/taiga-ui-cdk-directives-obscured.mjs +1 -2
  78. package/fesm2015/taiga-ui-cdk-directives-obscured.mjs.map +1 -1
  79. package/fesm2015/taiga-ui-cdk-directives-overscroll.mjs +1 -1
  80. package/fesm2015/taiga-ui-cdk-directives-overscroll.mjs.map +1 -1
  81. package/fesm2015/taiga-ui-cdk-directives-prevent-default.mjs +1 -2
  82. package/fesm2015/taiga-ui-cdk-directives-prevent-default.mjs.map +1 -1
  83. package/fesm2015/taiga-ui-cdk-directives-value-changes.mjs +1 -2
  84. package/fesm2015/taiga-ui-cdk-directives-value-changes.mjs.map +1 -1
  85. package/fesm2015/taiga-ui-cdk-directives.mjs +1 -0
  86. package/fesm2015/taiga-ui-cdk-directives.mjs.map +1 -1
  87. package/fesm2015/taiga-ui-cdk-observables.mjs +1 -2
  88. package/fesm2015/taiga-ui-cdk-observables.mjs.map +1 -1
  89. package/fesm2015/taiga-ui-cdk-services.mjs +1 -2
  90. package/fesm2015/taiga-ui-cdk-services.mjs.map +1 -1
  91. package/fesm2015/taiga-ui-cdk-tokens.mjs +1 -2
  92. package/fesm2015/taiga-ui-cdk-tokens.mjs.map +1 -1
  93. package/fesm2020/taiga-ui-cdk-abstract.mjs +1 -2
  94. package/fesm2020/taiga-ui-cdk-abstract.mjs.map +1 -1
  95. package/fesm2020/taiga-ui-cdk-components-alert-host.mjs +1 -2
  96. package/fesm2020/taiga-ui-cdk-components-alert-host.mjs.map +1 -1
  97. package/fesm2020/taiga-ui-cdk-components-dialog-host.mjs +1 -2
  98. package/fesm2020/taiga-ui-cdk-components-dialog-host.mjs.map +1 -1
  99. package/fesm2020/taiga-ui-cdk-components-scroll-controls.mjs +2 -3
  100. package/fesm2020/taiga-ui-cdk-components-scroll-controls.mjs.map +1 -1
  101. package/fesm2020/taiga-ui-cdk-directives-active-zone.mjs +1 -1
  102. package/fesm2020/taiga-ui-cdk-directives-active-zone.mjs.map +1 -1
  103. package/fesm2020/taiga-ui-cdk-directives-auto-focus.mjs +1 -2
  104. package/fesm2020/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
  105. package/fesm2020/taiga-ui-cdk-directives-click-outside.mjs +1 -2
  106. package/fesm2020/taiga-ui-cdk-directives-click-outside.mjs.map +1 -1
  107. package/fesm2020/taiga-ui-cdk-directives-drag.mjs +1 -1
  108. package/fesm2020/taiga-ui-cdk-directives-drag.mjs.map +1 -1
  109. package/fesm2020/taiga-ui-cdk-directives-droppable.mjs +1 -2
  110. package/fesm2020/taiga-ui-cdk-directives-droppable.mjs.map +1 -1
  111. package/fesm2020/taiga-ui-cdk-directives-focused.mjs +1 -2
  112. package/fesm2020/taiga-ui-cdk-directives-focused.mjs.map +1 -1
  113. package/fesm2020/taiga-ui-cdk-directives-for-async.mjs +1 -2
  114. package/fesm2020/taiga-ui-cdk-directives-for-async.mjs.map +1 -1
  115. package/fesm2020/taiga-ui-cdk-directives-hovered.mjs +1 -2
  116. package/fesm2020/taiga-ui-cdk-directives-hovered.mjs.map +1 -1
  117. package/fesm2020/taiga-ui-cdk-directives-native-validator.mjs +53 -0
  118. package/fesm2020/taiga-ui-cdk-directives-native-validator.mjs.map +1 -0
  119. package/fesm2020/taiga-ui-cdk-directives-obscured.mjs +1 -2
  120. package/fesm2020/taiga-ui-cdk-directives-obscured.mjs.map +1 -1
  121. package/fesm2020/taiga-ui-cdk-directives-overscroll.mjs +1 -1
  122. package/fesm2020/taiga-ui-cdk-directives-overscroll.mjs.map +1 -1
  123. package/fesm2020/taiga-ui-cdk-directives-prevent-default.mjs +1 -2
  124. package/fesm2020/taiga-ui-cdk-directives-prevent-default.mjs.map +1 -1
  125. package/fesm2020/taiga-ui-cdk-directives-value-changes.mjs +1 -2
  126. package/fesm2020/taiga-ui-cdk-directives-value-changes.mjs.map +1 -1
  127. package/fesm2020/taiga-ui-cdk-directives.mjs +1 -0
  128. package/fesm2020/taiga-ui-cdk-directives.mjs.map +1 -1
  129. package/fesm2020/taiga-ui-cdk-observables.mjs +1 -2
  130. package/fesm2020/taiga-ui-cdk-observables.mjs.map +1 -1
  131. package/fesm2020/taiga-ui-cdk-services.mjs +1 -2
  132. package/fesm2020/taiga-ui-cdk-services.mjs.map +1 -1
  133. package/fesm2020/taiga-ui-cdk-tokens.mjs +1 -2
  134. package/fesm2020/taiga-ui-cdk-tokens.mjs.map +1 -1
  135. package/package.json +11 -3
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-click-outside.mjs","sources":["../../../projects/cdk/directives/click-outside/click-outside.directive.ts","../../../projects/cdk/directives/click-outside/click-outside.module.ts","../../../projects/cdk/directives/click-outside/taiga-ui-cdk-directives-click-outside.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, Inject, NgZone, Output} from '@angular/core';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiContainsOrAfter, tuiGetActualTarget} from '@taiga-ui/cdk/utils';\nimport {fromEvent, Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiClickOutside]',\n})\nexport class TuiClickOutsideDirective {\n @Output()\n readonly tuiClickOutside: Observable<unknown> = fromEvent(this.doc, 'mouseup').pipe(\n map(tuiGetActualTarget),\n filter(target => this.isOutside(target)),\n tuiZoneOptimized(this.zone),\n );\n\n constructor(\n @Inject(NgZone) private readonly zone: NgZone,\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {}\n\n private isOutside(target: Node): boolean {\n return (\n target === this.el.nativeElement ||\n !tuiContainsOrAfter(this.el.nativeElement, target)\n );\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiClickOutsideDirective} from './click-outside.directive';\n\n@NgModule({\n declarations: [TuiClickOutsideDirective],\n exports: [TuiClickOutsideDirective],\n})\nexport class TuiClickOutsideModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAUa,wBAAwB,CAAA;AAQjC,IAAA,WAAA,CACqC,IAAY,EACV,GAAa,EACX,EAA2B,EAAA;AAF/B,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;AACV,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAU;AACX,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAyB;AAT3D,QAAA,IAAA,CAAA,eAAe,GAAwB,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAC/E,GAAG,CAAC,kBAAkB,CAAC,EACvB,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EACxC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9B,CAAC;KAME;AAEI,IAAA,SAAS,CAAC,MAAY,EAAA;AAC1B,QAAA,QACI,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC,aAAa;YAChC,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,EACpD;KACL;;AAnBQ,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,EASrB,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,MAAM,EACN,EAAA,EAAA,KAAA,EAAA,QAAQ,aACR,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0GAXb,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;iBAChC,CAAA;;;8BAUQ,MAAM;+BAAC,MAAM,CAAA;;8BACb,MAAM;+BAAC,QAAQ,CAAA;;8BACf,MAAM;+BAAC,UAAU,CAAA;;yBATb,eAAe,EAAA,CAAA;sBADvB,MAAM;;;MCHE,qBAAqB,CAAA;;mHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oHAArB,qBAAqB,EAAA,YAAA,EAAA,CAHf,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAC7B,wBAAwB,CAAA,EAAA,CAAA,CAAA;oHAEzB,qBAAqB,EAAA,CAAA,CAAA;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,wBAAwB,CAAC;oBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;iBACtC,CAAA;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-click-outside.mjs","sources":["../../../projects/cdk/directives/click-outside/click-outside.directive.ts","../../../projects/cdk/directives/click-outside/click-outside.module.ts","../../../projects/cdk/directives/click-outside/taiga-ui-cdk-directives-click-outside.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, Inject, NgZone, Output} from '@angular/core';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiContainsOrAfter, tuiGetActualTarget} from '@taiga-ui/cdk/utils';\nimport {filter, fromEvent, map, Observable} from 'rxjs';\n\n@Directive({\n selector: '[tuiClickOutside]',\n})\nexport class TuiClickOutsideDirective {\n @Output()\n readonly tuiClickOutside: Observable<unknown> = fromEvent(this.doc, 'mouseup').pipe(\n map(tuiGetActualTarget),\n filter(target => this.isOutside(target)),\n tuiZoneOptimized(this.zone),\n );\n\n constructor(\n @Inject(NgZone) private readonly zone: NgZone,\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {}\n\n private isOutside(target: Node): boolean {\n return (\n target === this.el.nativeElement ||\n !tuiContainsOrAfter(this.el.nativeElement, target)\n );\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiClickOutsideDirective} from './click-outside.directive';\n\n@NgModule({\n declarations: [TuiClickOutsideDirective],\n exports: [TuiClickOutsideDirective],\n})\nexport class TuiClickOutsideModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MASa,wBAAwB,CAAA;AAQjC,IAAA,WAAA,CACqC,IAAY,EACV,GAAa,EACX,EAA2B,EAAA;AAF/B,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;AACV,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAU;AACX,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAyB;AAT3D,QAAA,IAAA,CAAA,eAAe,GAAwB,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAC/E,GAAG,CAAC,kBAAkB,CAAC,EACvB,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EACxC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9B,CAAC;KAME;AAEI,IAAA,SAAS,CAAC,MAAY,EAAA;AAC1B,QAAA,QACI,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC,aAAa;YAChC,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,EACpD;KACL;;AAnBQ,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,EASrB,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,MAAM,EACN,EAAA,EAAA,KAAA,EAAA,QAAQ,aACR,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0GAXb,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;iBAChC,CAAA;;;8BAUQ,MAAM;+BAAC,MAAM,CAAA;;8BACb,MAAM;+BAAC,QAAQ,CAAA;;8BACf,MAAM;+BAAC,UAAU,CAAA;;yBATb,eAAe,EAAA,CAAA;sBADvB,MAAM;;;MCFE,qBAAqB,CAAA;;mHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oHAArB,qBAAqB,EAAA,YAAA,EAAA,CAHf,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAC7B,wBAAwB,CAAA,EAAA,CAAA,CAAA;oHAEzB,qBAAqB,EAAA,CAAA,CAAA;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,wBAAwB,CAAC;oBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;iBACtC,CAAA;;;ACPD;;AAEG;;;;"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { ElementRef, Directive, Inject, Output, NgModule } from '@angular/core';
3
3
  import { tuiDragAndDropFrom, TuiDragStage } from '@taiga-ui/cdk/observables';
4
- import { filter, map } from 'rxjs/operators';
4
+ import { filter, map } from 'rxjs';
5
5
 
6
6
  /**
7
7
  * @deprecated not used anywhere
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-drag.mjs","sources":["../../../projects/cdk/directives/drag/drag.directive.ts","../../../projects/cdk/directives/drag/drag.module.ts","../../../projects/cdk/directives/drag/taiga-ui-cdk-directives-drag.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {tuiDragAndDropFrom, TuiDragStage} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\n\n/**\n * @deprecated not used anywhere\n */\n@Directive({\n selector: '[tuiDragStart], [tuiDragContinues], [tuiDragEnd]',\n})\nexport class TuiDragDirective {\n private readonly dragAndDropFrom$ = tuiDragAndDropFrom(this.el.nativeElement);\n\n @Output('tuiDragStart')\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly start: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.Start),\n map(({event}) => event),\n );\n\n @Output('tuiDragContinues')\n readonly continues: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.Continues),\n map(({event}) => event),\n );\n\n @Output('tuiDragEnd')\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly end: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.End),\n map(({event}) => event),\n );\n\n constructor(@Inject(ElementRef) private readonly el: ElementRef<Element>) {}\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiDragDirective} from './drag.directive';\n\n/**\n * @deprecated not used anywhere\n */\n@NgModule({\n declarations: [TuiDragDirective],\n exports: [TuiDragDirective],\n})\nexport class TuiDragModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAKA;;AAEG;MAIU,gBAAgB,CAAA;AAuBzB,IAAA,WAAA,CAAiD,EAAuB,EAAA;AAAvB,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAqB;QAtBvD,IAAgB,CAAA,gBAAA,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;AAIrE,QAAA,IAAA,CAAA,KAAK,GAA2B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC/D,MAAM,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,KAAK,YAAY,CAAC,KAAK,CAAC,EACjD,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,CAAC,CAC1B,CAAC;AAGO,QAAA,IAAA,CAAA,SAAS,GAA2B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACnE,MAAM,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,KAAK,YAAY,CAAC,SAAS,CAAC,EACrD,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,CAAC,CAC1B,CAAC;AAIO,QAAA,IAAA,CAAA,GAAG,GAA2B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC7D,MAAM,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,KAAK,YAAY,CAAC,GAAG,CAAC,EAC/C,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,CAAC,CAC1B,CAAC;KAE0E;;AAvBnE,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBAuBL,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAvBrB,gBAAgB,EAAA,QAAA,EAAA,kDAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,cAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,GAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kDAAkD;iBAC/D,CAAA;;;8BAwBgB,MAAM;+BAAC,UAAU,CAAA;;yBAlBrB,KAAK,EAAA,CAAA;sBAFb,MAAM;uBAAC,cAAc,CAAA;gBAQb,SAAS,EAAA,CAAA;sBADjB,MAAM;uBAAC,kBAAkB,CAAA;gBAQjB,GAAG,EAAA,CAAA;sBAFX,MAAM;uBAAC,YAAY,CAAA;;;ACvBxB;;AAEG;MAKU,aAAa,CAAA;;2GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4GAAb,aAAa,EAAA,YAAA,EAAA,CAHP,gBAAgB,CAAA,EAAA,OAAA,EAAA,CACrB,gBAAgB,CAAA,EAAA,CAAA,CAAA;4GAEjB,aAAa,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;iBAC9B,CAAA;;;ACVD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-drag.mjs","sources":["../../../projects/cdk/directives/drag/drag.directive.ts","../../../projects/cdk/directives/drag/drag.module.ts","../../../projects/cdk/directives/drag/taiga-ui-cdk-directives-drag.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {tuiDragAndDropFrom, TuiDragStage} from '@taiga-ui/cdk/observables';\nimport {filter, map, Observable} from 'rxjs';\n\n/**\n * @deprecated not used anywhere\n */\n@Directive({\n selector: '[tuiDragStart], [tuiDragContinues], [tuiDragEnd]',\n})\nexport class TuiDragDirective {\n private readonly dragAndDropFrom$ = tuiDragAndDropFrom(this.el.nativeElement);\n\n @Output('tuiDragStart')\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly start: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.Start),\n map(({event}) => event),\n );\n\n @Output('tuiDragContinues')\n readonly continues: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.Continues),\n map(({event}) => event),\n );\n\n @Output('tuiDragEnd')\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly end: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.End),\n map(({event}) => event),\n );\n\n constructor(@Inject(ElementRef) private readonly el: ElementRef<Element>) {}\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiDragDirective} from './drag.directive';\n\n/**\n * @deprecated not used anywhere\n */\n@NgModule({\n declarations: [TuiDragDirective],\n exports: [TuiDragDirective],\n})\nexport class TuiDragModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIA;;AAEG;MAIU,gBAAgB,CAAA;AAuBzB,IAAA,WAAA,CAAiD,EAAuB,EAAA;AAAvB,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAqB;QAtBvD,IAAgB,CAAA,gBAAA,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;AAIrE,QAAA,IAAA,CAAA,KAAK,GAA2B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC/D,MAAM,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,KAAK,YAAY,CAAC,KAAK,CAAC,EACjD,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,CAAC,CAC1B,CAAC;AAGO,QAAA,IAAA,CAAA,SAAS,GAA2B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACnE,MAAM,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,KAAK,YAAY,CAAC,SAAS,CAAC,EACrD,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,CAAC,CAC1B,CAAC;AAIO,QAAA,IAAA,CAAA,GAAG,GAA2B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC7D,MAAM,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,KAAK,YAAY,CAAC,GAAG,CAAC,EAC/C,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,CAAC,CAC1B,CAAC;KAE0E;;AAvBnE,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBAuBL,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAvBrB,gBAAgB,EAAA,QAAA,EAAA,kDAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,cAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,GAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kDAAkD;iBAC/D,CAAA;;;8BAwBgB,MAAM;+BAAC,UAAU,CAAA;;yBAlBrB,KAAK,EAAA,CAAA;sBAFb,MAAM;uBAAC,cAAc,CAAA;gBAQb,SAAS,EAAA,CAAA;sBADjB,MAAM;uBAAC,kBAAkB,CAAA;gBAQjB,GAAG,EAAA,CAAA;sBAFX,MAAM;uBAAC,YAAY,CAAA;;;ACtBxB;;AAEG;MAKU,aAAa,CAAA;;2GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4GAAb,aAAa,EAAA,YAAA,EAAA,CAHP,gBAAgB,CAAA,EAAA,OAAA,EAAA,CACrB,gBAAgB,CAAA,EAAA,CAAA,CAAA;4GAEjB,aAAa,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;iBAC9B,CAAA;;;ACVD;;AAEG;;;;"}
@@ -4,8 +4,7 @@ import { tuiTypedFromEvent, tuiPreventDefault } from '@taiga-ui/cdk/observables'
4
4
  import { TuiDestroyService } from '@taiga-ui/cdk/services';
5
5
  import { tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
6
6
  import * as i1 from 'rxjs';
7
- import { merge } from 'rxjs';
8
- import { map, filter, switchMap, startWith, distinctUntilChanged, takeUntil } from 'rxjs/operators';
7
+ import { map, filter, switchMap, merge, startWith, distinctUntilChanged, takeUntil } from 'rxjs';
9
8
 
10
9
  class TuiDroppableDirective {
11
10
  constructor({ nativeElement }, destroy$) {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-droppable.mjs","sources":["../../../projects/cdk/directives/droppable/droppable.directive.ts","../../../projects/cdk/directives/droppable/droppable.module.ts","../../../projects/cdk/directives/droppable/taiga-ui-cdk-directives-droppable.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output, Self} from '@angular/core';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n startWith,\n switchMap,\n takeUntil,\n} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiDroppableDropped], [tuiDroppableDragOverChange]',\n providers: [TuiDestroyService],\n})\nexport class TuiDroppableDirective {\n @Output()\n readonly tuiDroppableDropped: Observable<DataTransfer>;\n\n @Output()\n readonly tuiDroppableDragOverChange: Observable<DataTransfer | null>;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n this.tuiDroppableDropped = tuiTypedFromEvent(nativeElement, 'drop').pipe(\n tuiPreventDefault(),\n map(event => event.dataTransfer),\n filter(tuiIsPresent),\n );\n\n this.tuiDroppableDragOverChange = tuiTypedFromEvent(\n nativeElement,\n 'dragenter',\n ).pipe(\n switchMap(({target, dataTransfer}) =>\n merge(\n tuiTypedFromEvent(nativeElement, 'dragleave').pipe(\n filter(event => event.target === target),\n ),\n tuiTypedFromEvent(nativeElement, 'drop'),\n ).pipe(\n map(() => null),\n startWith(dataTransfer),\n ),\n ),\n distinctUntilChanged((a, b) => (!!a && !!b) || (!a && !b)),\n );\n\n // Required by Drag and Drop API to stop redirecting\n tuiTypedFromEvent(nativeElement, 'dragover')\n .pipe(tuiPreventDefault(), takeUntil(destroy$))\n .subscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiDroppableDirective} from './droppable.directive';\n\n@NgModule({\n declarations: [TuiDroppableDirective],\n exports: [TuiDroppableDirective],\n})\nexport class TuiDroppableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;MAkBa,qBAAqB,CAAA;AAO9B,IAAA,WAAA,CACwB,EAAC,aAAa,EAA0B,EACzB,QAA0B,EAAA;AAE7D,QAAA,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,IAAI,CACpE,iBAAiB,EAAE,EACnB,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,EAChC,MAAM,CAAC,YAAY,CAAC,CACvB,CAAC;QAEF,IAAI,CAAC,0BAA0B,GAAG,iBAAiB,CAC/C,aAAa,EACb,WAAW,CACd,CAAC,IAAI,CACF,SAAS,CAAC,CAAC,EAAC,MAAM,EAAE,YAAY,EAAC,KAC7B,KAAK,CACD,iBAAiB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAC9C,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAC3C,EACD,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC,CAC3C,CAAC,IAAI,CACF,GAAG,CAAC,MAAM,IAAI,CAAC,EACf,SAAS,CAAC,YAAY,CAAC,CAC1B,CACJ,EACD,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC7D,CAAC;;AAGF,QAAA,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC;aACvC,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC9C,aAAA,SAAS,EAAE,CAAC;KACpB;;mHAvCQ,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAQlB,UAAU,EAAA,EAAA,EAAA,KAAA,EACF,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAT5B,qBAAqB,EAAA,QAAA,EAAA,qDAAA,EAAA,OAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,EAAA,SAAA,EAFnB,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAErB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qDAAqD;oBAC/D,SAAS,EAAE,CAAC,iBAAiB,CAAC;iBACjC,CAAA;;;8BASQ,MAAM;+BAAC,UAAU,CAAA;;8BACjB,IAAI;;8BAAI,MAAM;+BAAC,iBAAiB,CAAA;;yBAP5B,mBAAmB,EAAA,CAAA;sBAD3B,MAAM;gBAIE,0BAA0B,EAAA,CAAA;sBADlC,MAAM;;;MCdE,kBAAkB,CAAA;;gHAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iHAAlB,kBAAkB,EAAA,YAAA,EAAA,CAHZ,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAC1B,qBAAqB,CAAA,EAAA,CAAA,CAAA;iHAEtB,kBAAkB,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;iBACnC,CAAA;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-droppable.mjs","sources":["../../../projects/cdk/directives/droppable/droppable.directive.ts","../../../projects/cdk/directives/droppable/droppable.module.ts","../../../projects/cdk/directives/droppable/taiga-ui-cdk-directives-droppable.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output, Self} from '@angular/core';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n distinctUntilChanged,\n filter,\n map,\n merge,\n Observable,\n startWith,\n switchMap,\n takeUntil,\n} from 'rxjs';\n\n@Directive({\n selector: '[tuiDroppableDropped], [tuiDroppableDragOverChange]',\n providers: [TuiDestroyService],\n})\nexport class TuiDroppableDirective {\n @Output()\n readonly tuiDroppableDropped: Observable<DataTransfer>;\n\n @Output()\n readonly tuiDroppableDragOverChange: Observable<DataTransfer | null>;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n this.tuiDroppableDropped = tuiTypedFromEvent(nativeElement, 'drop').pipe(\n tuiPreventDefault(),\n map(event => event.dataTransfer),\n filter(tuiIsPresent),\n );\n\n this.tuiDroppableDragOverChange = tuiTypedFromEvent(\n nativeElement,\n 'dragenter',\n ).pipe(\n switchMap(({target, dataTransfer}) =>\n merge(\n tuiTypedFromEvent(nativeElement, 'dragleave').pipe(\n filter(event => event.target === target),\n ),\n tuiTypedFromEvent(nativeElement, 'drop'),\n ).pipe(\n map(() => null),\n startWith(dataTransfer),\n ),\n ),\n distinctUntilChanged((a, b) => (!!a && !!b) || (!a && !b)),\n );\n\n // Required by Drag and Drop API to stop redirecting\n tuiTypedFromEvent(nativeElement, 'dragover')\n .pipe(tuiPreventDefault(), takeUntil(destroy$))\n .subscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiDroppableDirective} from './droppable.directive';\n\n@NgModule({\n declarations: [TuiDroppableDirective],\n exports: [TuiDroppableDirective],\n})\nexport class TuiDroppableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAmBa,qBAAqB,CAAA;AAO9B,IAAA,WAAA,CACwB,EAAC,aAAa,EAA0B,EACzB,QAA0B,EAAA;AAE7D,QAAA,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,IAAI,CACpE,iBAAiB,EAAE,EACnB,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,EAChC,MAAM,CAAC,YAAY,CAAC,CACvB,CAAC;QAEF,IAAI,CAAC,0BAA0B,GAAG,iBAAiB,CAC/C,aAAa,EACb,WAAW,CACd,CAAC,IAAI,CACF,SAAS,CAAC,CAAC,EAAC,MAAM,EAAE,YAAY,EAAC,KAC7B,KAAK,CACD,iBAAiB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAC9C,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAC3C,EACD,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC,CAC3C,CAAC,IAAI,CACF,GAAG,CAAC,MAAM,IAAI,CAAC,EACf,SAAS,CAAC,YAAY,CAAC,CAC1B,CACJ,EACD,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC7D,CAAC;;AAGF,QAAA,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC;aACvC,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC9C,aAAA,SAAS,EAAE,CAAC;KACpB;;mHAvCQ,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAQlB,UAAU,EAAA,EAAA,EAAA,KAAA,EACF,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAT5B,qBAAqB,EAAA,QAAA,EAAA,qDAAA,EAAA,OAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,EAAA,SAAA,EAFnB,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAErB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qDAAqD;oBAC/D,SAAS,EAAE,CAAC,iBAAiB,CAAC;iBACjC,CAAA;;;8BASQ,MAAM;+BAAC,UAAU,CAAA;;8BACjB,IAAI;;8BAAI,MAAM;+BAAC,iBAAiB,CAAA;;yBAP5B,mBAAmB,EAAA,CAAA;sBAD3B,MAAM;gBAIE,0BAA0B,EAAA,CAAA;sBADlC,MAAM;;;MCfE,kBAAkB,CAAA;;gHAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iHAAlB,kBAAkB,EAAA,YAAA,EAAA,CAHZ,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAC1B,qBAAqB,CAAA,EAAA,CAAA,CAAA;iHAEtB,kBAAkB,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;iBACnC,CAAA;;;ACPD;;AAEG;;;;"}
@@ -2,8 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { ElementRef, NgZone, Directive, Inject, Output, NgModule } from '@angular/core';
3
3
  import { tuiTypedFromEvent, tuiZoneOptimized } from '@taiga-ui/cdk/observables';
4
4
  import { tuiIsNativeFocused } from '@taiga-ui/cdk/utils/focus';
5
- import { merge } from 'rxjs';
6
- import { map, startWith, distinctUntilChanged, skip } from 'rxjs/operators';
5
+ import { merge, map, startWith, distinctUntilChanged, skip } from 'rxjs';
7
6
 
8
7
  /**
9
8
  * Directive to monitor focus/blur status, works with focusIn/focus-out
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-focused.mjs","sources":["../../../projects/cdk/directives/focused/focused.directive.ts","../../../projects/cdk/directives/focused/focused.module.ts","../../../projects/cdk/directives/focused/taiga-ui-cdk-directives-focused.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, NgZone, Output} from '@angular/core';\nimport {tuiTypedFromEvent, tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {merge, Observable} from 'rxjs';\nimport {distinctUntilChanged, map, skip, startWith} from 'rxjs/operators';\n\n/**\n * Directive to monitor focus/blur status, works with focusIn/focus-out\n * instead of focus/blur to sync events order with Internet Explorer and\n * other focus related directives that require bubbling\n */\n@Directive({\n selector: '[tuiFocusedChange]',\n})\nexport class TuiFocusedDirective {\n @Output()\n readonly tuiFocusedChange: Observable<boolean>;\n\n constructor(\n @Inject(ElementRef)\n {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) zone: NgZone,\n ) {\n this.tuiFocusedChange = merge(\n tuiTypedFromEvent(nativeElement, 'focusin'),\n tuiTypedFromEvent(nativeElement, 'focusout'),\n ).pipe(\n map(() => tuiIsNativeFocused(nativeElement)),\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n tuiZoneOptimized(zone),\n );\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiFocusedDirective} from './focused.directive';\n\n@NgModule({\n declarations: [TuiFocusedDirective],\n exports: [TuiFocusedDirective],\n})\nexport class TuiFocusedModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAMA;;;;AAIG;MAIU,mBAAmB,CAAA;AAI5B,IAAA,WAAA,CAEI,EAAC,aAAa,EAA0B,EACxB,IAAY,EAAA;QAE5B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CACzB,iBAAiB,CAAC,aAAa,EAAE,SAAS,CAAC,EAC3C,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,CAC/C,CAAC,IAAI,CACF,GAAG,CAAC,MAAM,kBAAkB,CAAC,aAAa,CAAC,CAAC,EAC5C,SAAS,CAAC,KAAK,CAAC,EAChB,oBAAoB,EAAE,EACtB,IAAI,CAAC,CAAC,CAAC,EACP,gBAAgB,CAAC,IAAI,CAAC,CACzB,CAAC;KACL;;iHAnBQ,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAKhB,UAAU,EAAA,EAAA,EAAA,KAAA,EAEV,MAAM,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAPT,mBAAmB,EAAA,QAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;iBACjC,CAAA;;;8BAMQ,MAAM;+BAAC,UAAU,CAAA;;8BAEjB,MAAM;+BAAC,MAAM,CAAA;;yBALT,gBAAgB,EAAA,CAAA;sBADxB,MAAM;;;MCPE,gBAAgB,CAAA;;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAhB,gBAAgB,EAAA,YAAA,EAAA,CAHV,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACxB,mBAAmB,CAAA,EAAA,CAAA,CAAA;+GAEpB,gBAAgB,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;iBACjC,CAAA;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-focused.mjs","sources":["../../../projects/cdk/directives/focused/focused.directive.ts","../../../projects/cdk/directives/focused/focused.module.ts","../../../projects/cdk/directives/focused/taiga-ui-cdk-directives-focused.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, NgZone, Output} from '@angular/core';\nimport {tuiTypedFromEvent, tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {distinctUntilChanged, map, merge, Observable, skip, startWith} from 'rxjs';\n\n/**\n * Directive to monitor focus/blur status, works with focusIn/focus-out\n * instead of focus/blur to sync events order with Internet Explorer and\n * other focus related directives that require bubbling\n */\n@Directive({\n selector: '[tuiFocusedChange]',\n})\nexport class TuiFocusedDirective {\n @Output()\n readonly tuiFocusedChange: Observable<boolean>;\n\n constructor(\n @Inject(ElementRef)\n {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) zone: NgZone,\n ) {\n this.tuiFocusedChange = merge(\n tuiTypedFromEvent(nativeElement, 'focusin'),\n tuiTypedFromEvent(nativeElement, 'focusout'),\n ).pipe(\n map(() => tuiIsNativeFocused(nativeElement)),\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n tuiZoneOptimized(zone),\n );\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiFocusedDirective} from './focused.directive';\n\n@NgModule({\n declarations: [TuiFocusedDirective],\n exports: [TuiFocusedDirective],\n})\nexport class TuiFocusedModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAKA;;;;AAIG;MAIU,mBAAmB,CAAA;AAI5B,IAAA,WAAA,CAEI,EAAC,aAAa,EAA0B,EACxB,IAAY,EAAA;QAE5B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CACzB,iBAAiB,CAAC,aAAa,EAAE,SAAS,CAAC,EAC3C,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,CAC/C,CAAC,IAAI,CACF,GAAG,CAAC,MAAM,kBAAkB,CAAC,aAAa,CAAC,CAAC,EAC5C,SAAS,CAAC,KAAK,CAAC,EAChB,oBAAoB,EAAE,EACtB,IAAI,CAAC,CAAC,CAAC,EACP,gBAAgB,CAAC,IAAI,CAAC,CACzB,CAAC;KACL;;iHAnBQ,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAKhB,UAAU,EAAA,EAAA,EAAA,KAAA,EAEV,MAAM,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAPT,mBAAmB,EAAA,QAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;iBACjC,CAAA;;;8BAMQ,MAAM;+BAAC,UAAU,CAAA;;8BAEjB,MAAM;+BAAC,MAAM,CAAA;;yBALT,gBAAgB,EAAA,CAAA;sBADxB,MAAM;;;MCNE,gBAAgB,CAAA;;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAhB,gBAAgB,EAAA,YAAA,EAAA,CAHV,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACxB,mBAAmB,CAAA,EAAA,CAAA,CAAA;+GAEpB,gBAAgB,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;iBACjC,CAAA;;;ACPD;;AAEG;;;;"}
@@ -1,7 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { ViewContainerRef, TemplateRef, Directive, Inject, Input, NgModule } from '@angular/core';
3
- import { Subject, from, of } from 'rxjs';
4
- import { concatMap, delay, takeUntil } from 'rxjs/operators';
3
+ import { Subject, from, concatMap, of, delay, takeUntil } from 'rxjs';
5
4
 
6
5
  /**
7
6
  * @deprecated:
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-for-async.mjs","sources":["../../../projects/cdk/directives/for-async/for-async.directive.ts","../../../projects/cdk/directives/for-async/for-async.module.ts","../../../projects/cdk/directives/for-async/taiga-ui-cdk-directives-for-async.ts"],"sourcesContent":["import {\n Directive,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport {from, of, Subject} from 'rxjs';\nimport {concatMap, delay, takeUntil} from 'rxjs/operators';\n\n/**\n * @deprecated:\n * remove in v4.0\n */\n@Directive({selector: '[tuiForAsync][tuiForAsyncOf]'})\nexport class TuiForAsyncDirective<T extends readonly any[]>\n implements OnChanges, OnDestroy\n{\n private readonly destroy$ = new Subject<void>();\n\n @Input()\n tuiForAsyncOf: T | null | undefined;\n\n @Input()\n tuiForAsyncTimeout = 10;\n\n constructor(\n @Inject(ViewContainerRef) private readonly view: ViewContainerRef,\n @Inject(TemplateRef) private readonly template: TemplateRef<unknown>,\n ) {}\n\n ngOnChanges(): void {\n this.clearViewForOldNodes();\n this.createAsyncViewForNewNodes();\n }\n\n ngOnDestroy(): void {\n this.clearViewForOldNodes();\n this.destroy$.complete();\n }\n\n private createAsyncViewForNewNodes(): void {\n from(this.iterableValues)\n .pipe(\n concatMap(entry =>\n this.tuiForAsyncTimeout > 0\n ? of(entry).pipe(delay(this.tuiForAsyncTimeout))\n : of(entry),\n ),\n takeUntil(this.destroy$),\n )\n .subscribe(([index, item]) => this.createEmbeddedView(item, index));\n }\n\n private get iterableValues(): IterableIterator<[number, T]> {\n return (this.tuiForAsyncOf ?? []).entries();\n }\n\n private createEmbeddedView<T>(item: T, index: number): void {\n this.view\n .createEmbeddedView(this.template, {$implicit: item, index}, index)\n .detectChanges();\n }\n\n private clearViewForOldNodes(): void {\n this.destroy$.next();\n this.view.clear();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiForAsyncDirective} from './for-async.directive';\n\n/**\n * @deprecated:\n * remove in v4.0\n */\n@NgModule({\n declarations: [TuiForAsyncDirective],\n exports: [TuiForAsyncDirective],\n})\nexport class TuiForAsyncModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAYA;;;AAGG;MAEU,oBAAoB,CAAA;IAW7B,WAC+C,CAAA,IAAsB,EAC3B,QAA8B,EAAA;AADzB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAkB;AAC3B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAsB;AAVvD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;AAMhD,QAAA,IAAkB,CAAA,kBAAA,GAAG,EAAE,CAAC;KAKpB;IAEJ,WAAW,GAAA;QACP,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,0BAA0B,EAAE,CAAC;KACrC;IAED,WAAW,GAAA;QACP,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC5B;IAEO,0BAA0B,GAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;aACpB,IAAI,CACD,SAAS,CAAC,KAAK,IACX,IAAI,CAAC,kBAAkB,GAAG,CAAC;AACvB,cAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAChD,cAAE,EAAE,CAAC,KAAK,CAAC,CAClB,EACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3B;AACA,aAAA,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;KAC3E;AAED,IAAA,IAAY,cAAc,GAAA;;QACtB,OAAO,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,EAAE,OAAO,EAAE,CAAC;KAC/C;IAEO,kBAAkB,CAAI,IAAO,EAAE,KAAa,EAAA;AAChD,QAAA,IAAI,CAAC,IAAI;AACJ,aAAA,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAC,EAAE,KAAK,CAAC;AAClE,aAAA,aAAa,EAAE,CAAC;KACxB;IAEO,oBAAoB,GAAA;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;KACrB;;kHApDQ,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAYjB,gBAAgB,EAAA,EAAA,EAAA,KAAA,EAChB,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAbd,oBAAoB,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,SAAS;mBAAC,EAAC,QAAQ,EAAE,8BAA8B,EAAC,CAAA;;;8BAa5C,MAAM;+BAAC,gBAAgB,CAAA;;8BACvB,MAAM;+BAAC,WAAW,CAAA;;yBAPvB,aAAa,EAAA,CAAA;sBADZ,KAAK;gBAIN,kBAAkB,EAAA,CAAA;sBADjB,KAAK;;;ACrBV;;;AAGG;MAKU,iBAAiB,CAAA;;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAjB,iBAAiB,EAAA,YAAA,EAAA,CAHX,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACzB,oBAAoB,CAAA,EAAA,CAAA,CAAA;gHAErB,iBAAiB,EAAA,CAAA,CAAA;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,oBAAoB,CAAC;oBACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;iBAClC,CAAA;;;ACXD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-for-async.mjs","sources":["../../../projects/cdk/directives/for-async/for-async.directive.ts","../../../projects/cdk/directives/for-async/for-async.module.ts","../../../projects/cdk/directives/for-async/taiga-ui-cdk-directives-for-async.ts"],"sourcesContent":["import {\n Directive,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport {concatMap, delay, from, of, Subject, takeUntil} from 'rxjs';\n\n/**\n * @deprecated:\n * remove in v4.0\n */\n@Directive({selector: '[tuiForAsync][tuiForAsyncOf]'})\nexport class TuiForAsyncDirective<T extends readonly any[]>\n implements OnChanges, OnDestroy\n{\n private readonly destroy$ = new Subject<void>();\n\n @Input()\n tuiForAsyncOf: T | null | undefined;\n\n @Input()\n tuiForAsyncTimeout = 10;\n\n constructor(\n @Inject(ViewContainerRef) private readonly view: ViewContainerRef,\n @Inject(TemplateRef) private readonly template: TemplateRef<unknown>,\n ) {}\n\n ngOnChanges(): void {\n this.clearViewForOldNodes();\n this.createAsyncViewForNewNodes();\n }\n\n ngOnDestroy(): void {\n this.clearViewForOldNodes();\n this.destroy$.complete();\n }\n\n private createAsyncViewForNewNodes(): void {\n from(this.iterableValues)\n .pipe(\n concatMap(entry =>\n this.tuiForAsyncTimeout > 0\n ? of(entry).pipe(delay(this.tuiForAsyncTimeout))\n : of(entry),\n ),\n takeUntil(this.destroy$),\n )\n .subscribe(([index, item]) => this.createEmbeddedView(item, index));\n }\n\n private get iterableValues(): IterableIterator<[number, T]> {\n return (this.tuiForAsyncOf ?? []).entries();\n }\n\n private createEmbeddedView<T>(item: T, index: number): void {\n this.view\n .createEmbeddedView(this.template, {$implicit: item, index}, index)\n .detectChanges();\n }\n\n private clearViewForOldNodes(): void {\n this.destroy$.next();\n this.view.clear();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiForAsyncDirective} from './for-async.directive';\n\n/**\n * @deprecated:\n * remove in v4.0\n */\n@NgModule({\n declarations: [TuiForAsyncDirective],\n exports: [TuiForAsyncDirective],\n})\nexport class TuiForAsyncModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -4,8 +4,7 @@ import { ALWAYS_TRUE_HANDLER, ALWAYS_FALSE_HANDLER } from '@taiga-ui/cdk/constan
4
4
  import { tuiTypedFromEvent, tuiZoneOptimized } from '@taiga-ui/cdk/observables';
5
5
  import { tuiIsElement } from '@taiga-ui/cdk/utils';
6
6
  import * as i1 from 'rxjs';
7
- import { Observable, merge } from 'rxjs';
8
- import { map, filter, distinctUntilChanged } from 'rxjs/operators';
7
+ import { Observable, merge, map, filter, distinctUntilChanged } from 'rxjs';
9
8
 
10
9
  function movedOut({ currentTarget, relatedTarget }) {
11
10
  return (!tuiIsElement(relatedTarget) ||
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-hovered.mjs","sources":["../../../projects/cdk/directives/hovered/hovered.service.ts","../../../projects/cdk/directives/hovered/hovered.directive.ts","../../../projects/cdk/directives/hovered/hovered.module.ts","../../../projects/cdk/directives/hovered/taiga-ui-cdk-directives-hovered.ts"],"sourcesContent":["import {ElementRef, Inject, Injectable, NgZone} from '@angular/core';\nimport {ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiTypedFromEvent, tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiIsElement} from '@taiga-ui/cdk/utils';\nimport {merge, Observable} from 'rxjs';\nimport {distinctUntilChanged, filter, map} from 'rxjs/operators';\n\nfunction movedOut({currentTarget, relatedTarget}: MouseEvent): boolean {\n return (\n !tuiIsElement(relatedTarget) ||\n !tuiIsElement(currentTarget) ||\n !currentTarget.contains(relatedTarget)\n );\n}\n\n@Injectable()\nexport class TuiHoveredService extends Observable<boolean> {\n private readonly stream$ = merge(\n tuiTypedFromEvent(this.el.nativeElement, `mouseenter`).pipe(\n map(ALWAYS_TRUE_HANDLER),\n ),\n tuiTypedFromEvent(this.el.nativeElement, `mouseleave`).pipe(\n map(ALWAYS_FALSE_HANDLER),\n ),\n // Hello, Safari\n tuiTypedFromEvent(this.el.nativeElement, `mouseout`).pipe(\n filter(movedOut),\n map(ALWAYS_FALSE_HANDLER),\n ),\n ).pipe(distinctUntilChanged(), tuiZoneOptimized(this.zone));\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<Element>,\n @Inject(NgZone) private readonly zone: NgZone,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiHoveredService} from './hovered.service';\n\n@Directive({\n selector: '[tuiHoveredChange]',\n outputs: ['tuiHoveredChange'],\n providers: [TuiHoveredService],\n})\nexport class TuiHoveredDirective {\n constructor(\n @Inject(TuiHoveredService) readonly tuiHoveredChange: Observable<boolean>,\n ) {}\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiHoveredDirective} from './hovered.directive';\n\n@NgModule({\n declarations: [TuiHoveredDirective],\n exports: [TuiHoveredDirective],\n})\nexport class TuiHoveredModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-hovered.mjs","sources":["../../../projects/cdk/directives/hovered/hovered.service.ts","../../../projects/cdk/directives/hovered/hovered.directive.ts","../../../projects/cdk/directives/hovered/hovered.module.ts","../../../projects/cdk/directives/hovered/taiga-ui-cdk-directives-hovered.ts"],"sourcesContent":["import {ElementRef, Inject, Injectable, NgZone} from '@angular/core';\nimport {ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiTypedFromEvent, tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiIsElement} from '@taiga-ui/cdk/utils';\nimport {distinctUntilChanged, filter, map, merge, Observable} from 'rxjs';\n\nfunction movedOut({currentTarget, relatedTarget}: MouseEvent): boolean {\n return (\n !tuiIsElement(relatedTarget) ||\n !tuiIsElement(currentTarget) ||\n !currentTarget.contains(relatedTarget)\n );\n}\n\n@Injectable()\nexport class TuiHoveredService extends Observable<boolean> {\n private readonly stream$ = merge(\n tuiTypedFromEvent(this.el.nativeElement, `mouseenter`).pipe(\n map(ALWAYS_TRUE_HANDLER),\n ),\n tuiTypedFromEvent(this.el.nativeElement, `mouseleave`).pipe(\n map(ALWAYS_FALSE_HANDLER),\n ),\n // Hello, Safari\n tuiTypedFromEvent(this.el.nativeElement, `mouseout`).pipe(\n filter(movedOut),\n map(ALWAYS_FALSE_HANDLER),\n ),\n ).pipe(distinctUntilChanged(), tuiZoneOptimized(this.zone));\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<Element>,\n @Inject(NgZone) private readonly zone: NgZone,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiHoveredService} from './hovered.service';\n\n@Directive({\n selector: '[tuiHoveredChange]',\n outputs: ['tuiHoveredChange'],\n providers: [TuiHoveredService],\n})\nexport class TuiHoveredDirective {\n constructor(\n @Inject(TuiHoveredService) readonly tuiHoveredChange: Observable<boolean>,\n ) {}\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiHoveredDirective} from './hovered.directive';\n\n@NgModule({\n declarations: [TuiHoveredDirective],\n exports: [TuiHoveredDirective],\n})\nexport class TuiHoveredModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, ElementRef, NgZone, Directive, Input, HostListener } from '@angular/core';
3
+ import { NG_VALIDATORS } from '@angular/forms';
4
+
5
+ class TuiNativeValidatorDirective {
6
+ constructor() {
7
+ this.el = inject(ElementRef).nativeElement;
8
+ this.zone = inject(NgZone);
9
+ this.tuiNativeValidator = 'Invalid';
10
+ }
11
+ handleValidation() {
12
+ var _a, _b;
13
+ this.el.setCustomValidity(((_a = this.control) === null || _a === void 0 ? void 0 : _a.touched) && ((_b = this.control) === null || _b === void 0 ? void 0 : _b.invalid) ? this.tuiNativeValidator : '');
14
+ }
15
+ validate(control) {
16
+ this.control = control;
17
+ this.zone.runOutsideAngular(() => setTimeout(() => this.handleValidation()));
18
+ return null;
19
+ }
20
+ }
21
+ TuiNativeValidatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiNativeValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
22
+ TuiNativeValidatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TuiNativeValidatorDirective, isStandalone: true, selector: "[tuiNativeValidator]", inputs: { tuiNativeValidator: "tuiNativeValidator" }, host: { listeners: { "blur": "handleValidation()" } }, providers: [
23
+ {
24
+ provide: NG_VALIDATORS,
25
+ multi: true,
26
+ useExisting: TuiNativeValidatorDirective,
27
+ },
28
+ ], ngImport: i0 });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiNativeValidatorDirective, decorators: [{
30
+ type: Directive,
31
+ args: [{
32
+ standalone: true,
33
+ selector: '[tuiNativeValidator]',
34
+ providers: [
35
+ {
36
+ provide: NG_VALIDATORS,
37
+ multi: true,
38
+ useExisting: TuiNativeValidatorDirective,
39
+ },
40
+ ],
41
+ }]
42
+ }], propDecorators: { tuiNativeValidator: [{
43
+ type: Input
44
+ }], handleValidation: [{
45
+ type: HostListener,
46
+ args: ['blur']
47
+ }] } });
48
+
49
+ /**
50
+ * Generated bundle index. Do not edit.
51
+ */
52
+
53
+ export { TuiNativeValidatorDirective };
54
+ //# sourceMappingURL=taiga-ui-cdk-directives-native-validator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-cdk-directives-native-validator.mjs","sources":["../../../projects/cdk/directives/native-validator/native-validator.directive.ts","../../../projects/cdk/directives/native-validator/taiga-ui-cdk-directives-native-validator.ts"],"sourcesContent":["import {Directive, ElementRef, HostListener, inject, Input, NgZone} from '@angular/core';\nimport {AbstractControl, NG_VALIDATORS, Validator} from '@angular/forms';\n\n@Directive({\n standalone: true,\n selector: '[tuiNativeValidator]',\n providers: [\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: TuiNativeValidatorDirective,\n },\n ],\n})\nexport class TuiNativeValidatorDirective implements Validator {\n private readonly el: HTMLInputElement = inject(ElementRef).nativeElement;\n private readonly zone = inject(NgZone);\n private control?: AbstractControl;\n\n @Input()\n tuiNativeValidator = 'Invalid';\n\n @HostListener('blur')\n handleValidation(): void {\n this.el.setCustomValidity(\n this.control?.touched && this.control?.invalid ? this.tuiNativeValidator : '',\n );\n }\n\n validate(control: AbstractControl): null {\n this.control = control;\n this.zone.runOutsideAngular(() => setTimeout(() => this.handleValidation()));\n\n return null;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAca,2BAA2B,CAAA;AAXxC,IAAA,WAAA,GAAA;QAYqB,IAAA,CAAA,EAAE,GAAqB,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;AACxD,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAIvC,QAAA,IAAkB,CAAA,kBAAA,GAAG,SAAS,CAAC;KAelC;IAZG,gBAAgB,GAAA;;AACZ,QAAA,IAAI,CAAC,EAAE,CAAC,iBAAiB,CACrB,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MAAI,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAA,GAAG,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAChF,CAAC;KACL;AAED,IAAA,QAAQ,CAAC,OAAwB,EAAA;AAC7B,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,UAAU,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;AAE7E,QAAA,OAAO,IAAI,CAAC;KACf;;yHApBQ,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EARzB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA;AACI,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,WAAW,EAAE,2BAA2B;AAC3C,SAAA;AACJ,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAEQ,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAXvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,WAAW,EAA6B,2BAAA;AAC3C,yBAAA;AACJ,qBAAA;iBACJ,CAAA;8BAOG,kBAAkB,EAAA,CAAA;sBADjB,KAAK;gBAIN,gBAAgB,EAAA,CAAA;sBADf,YAAY;uBAAC,MAAM,CAAA;;;ACtBxB;;AAEG;;;;"}
@@ -5,8 +5,7 @@ import { TuiActiveZoneDirective } from '@taiga-ui/cdk/directives/active-zone';
5
5
  import { tuiIfMap } from '@taiga-ui/cdk/observables';
6
6
  import * as i2 from '@taiga-ui/cdk/services';
7
7
  import { TuiObscuredService, TuiParentsScrollService, TuiDestroyService } from '@taiga-ui/cdk/services';
8
- import { Subject } from 'rxjs';
9
- import { map } from 'rxjs/operators';
8
+ import { Subject, map } from 'rxjs';
10
9
 
11
10
  /**
12
11
  * Directive that monitors element visibility
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-obscured.mjs","sources":["../../../projects/cdk/directives/obscured/obscured.directive.ts","../../../projects/cdk/directives/obscured/obscured.module.ts","../../../projects/cdk/directives/obscured/taiga-ui-cdk-directives-obscured.ts"],"sourcesContent":["import {Directive, Inject, Input, Optional, Output, Self} from '@angular/core';\nimport {TuiActiveZoneDirective} from '@taiga-ui/cdk/directives/active-zone';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {\n TuiDestroyService,\n TuiObscuredService,\n TuiParentsScrollService,\n} from '@taiga-ui/cdk/services';\nimport {Observable, Subject} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * Directive that monitors element visibility\n */\n@Directive({\n selector: '[tuiObscured]',\n providers: [TuiObscuredService, TuiParentsScrollService, TuiDestroyService],\n})\nexport class TuiObscuredDirective {\n private readonly enabled$ = new Subject<boolean>();\n\n @Input()\n set tuiObscuredEnabled(enabled: boolean) {\n this.enabled$.next(enabled);\n }\n\n @Output()\n readonly tuiObscured: Observable<boolean>;\n\n constructor(\n @Optional()\n @Inject(TuiActiveZoneDirective)\n activeZone: TuiActiveZoneDirective | null,\n @Self()\n @Inject(TuiObscuredService)\n obscured$: TuiObscuredService,\n ) {\n const mapped$ = obscured$.pipe(\n map(\n obscuredBy =>\n !!obscuredBy &&\n (!activeZone ||\n !obscuredBy.length ||\n obscuredBy.every(element => !activeZone.contains(element))),\n ),\n );\n\n this.tuiObscured = this.enabled$.pipe(tuiIfMap(() => mapped$));\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiObscuredDirective} from './obscured.directive';\n\n@NgModule({\n declarations: [TuiObscuredDirective],\n exports: [TuiObscuredDirective],\n})\nexport class TuiObscuredModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAWA;;AAEG;MAKU,oBAAoB,CAAA;IAG7B,IACI,kBAAkB,CAAC,OAAgB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/B;IAKD,WAGI,CAAA,UAAyC,EAGzC,SAA6B,EAAA;AAhBhB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAW,CAAC;AAkB/C,QAAA,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAC1B,GAAG,CACC,UAAU,IACN,CAAC,CAAC,UAAU;AACZ,aAAC,CAAC,UAAU;gBACR,CAAC,UAAU,CAAC,MAAM;AAClB,gBAAA,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CACtE,CACJ,CAAC;AAEF,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC;KAClE;;kHA9BQ,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAajB,sBAAsB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAGtB,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAhBrB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,uIAFlB,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAElE,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,SAAS,EAAE,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,CAAC;iBAC9E,CAAA;;;8BAaQ,QAAQ;;8BACR,MAAM;+BAAC,sBAAsB,CAAA;;8BAE7B,IAAI;;8BACJ,MAAM;+BAAC,kBAAkB,CAAA;;yBAZ1B,kBAAkB,EAAA,CAAA;sBADrB,KAAK;gBAMG,WAAW,EAAA,CAAA;sBADnB,MAAM;;;MClBE,iBAAiB,CAAA;;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAjB,iBAAiB,EAAA,YAAA,EAAA,CAHX,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACzB,oBAAoB,CAAA,EAAA,CAAA,CAAA;gHAErB,iBAAiB,EAAA,CAAA,CAAA;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,oBAAoB,CAAC;oBACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;iBAClC,CAAA;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-obscured.mjs","sources":["../../../projects/cdk/directives/obscured/obscured.directive.ts","../../../projects/cdk/directives/obscured/obscured.module.ts","../../../projects/cdk/directives/obscured/taiga-ui-cdk-directives-obscured.ts"],"sourcesContent":["import {Directive, Inject, Input, Optional, Output, Self} from '@angular/core';\nimport {TuiActiveZoneDirective} from '@taiga-ui/cdk/directives/active-zone';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {\n TuiDestroyService,\n TuiObscuredService,\n TuiParentsScrollService,\n} from '@taiga-ui/cdk/services';\nimport {map, Observable, Subject} from 'rxjs';\n\n/**\n * Directive that monitors element visibility\n */\n@Directive({\n selector: '[tuiObscured]',\n providers: [TuiObscuredService, TuiParentsScrollService, TuiDestroyService],\n})\nexport class TuiObscuredDirective {\n private readonly enabled$ = new Subject<boolean>();\n\n @Input()\n set tuiObscuredEnabled(enabled: boolean) {\n this.enabled$.next(enabled);\n }\n\n @Output()\n readonly tuiObscured: Observable<boolean>;\n\n constructor(\n @Optional()\n @Inject(TuiActiveZoneDirective)\n activeZone: TuiActiveZoneDirective | null,\n @Self()\n @Inject(TuiObscuredService)\n obscured$: TuiObscuredService,\n ) {\n const mapped$ = obscured$.pipe(\n map(\n obscuredBy =>\n !!obscuredBy &&\n (!activeZone ||\n !obscuredBy.length ||\n obscuredBy.every(element => !activeZone.contains(element))),\n ),\n );\n\n this.tuiObscured = this.enabled$.pipe(tuiIfMap(() => mapped$));\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiObscuredDirective} from './obscured.directive';\n\n@NgModule({\n declarations: [TuiObscuredDirective],\n exports: [TuiObscuredDirective],\n})\nexport class TuiObscuredModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAUA;;AAEG;MAKU,oBAAoB,CAAA;IAG7B,IACI,kBAAkB,CAAC,OAAgB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/B;IAKD,WAGI,CAAA,UAAyC,EAGzC,SAA6B,EAAA;AAhBhB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAW,CAAC;AAkB/C,QAAA,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAC1B,GAAG,CACC,UAAU,IACN,CAAC,CAAC,UAAU;AACZ,aAAC,CAAC,UAAU;gBACR,CAAC,UAAU,CAAC,MAAM;AAClB,gBAAA,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CACtE,CACJ,CAAC;AAEF,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC;KAClE;;kHA9BQ,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAajB,sBAAsB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAGtB,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAhBrB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,uIAFlB,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAElE,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,SAAS,EAAE,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,CAAC;iBAC9E,CAAA;;;8BAaQ,QAAQ;;8BACR,MAAM;+BAAC,sBAAsB,CAAA;;8BAE7B,IAAI;;8BACJ,MAAM;+BAAC,kBAAkB,CAAA;;yBAZ1B,kBAAkB,EAAA,CAAA;sBADrB,KAAK;gBAMG,WAAW,EAAA,CAAA;sBADnB,MAAM;;;MCjBE,iBAAiB,CAAA;;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAjB,iBAAiB,EAAA,YAAA,EAAA,CAHX,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACzB,oBAAoB,CAAA,EAAA,CAAA,CAAA;gHAErB,iBAAiB,EAAA,CAAA,CAAA;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,oBAAoB,CAAC;oBACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;iBAClC,CAAA;;;ACPD;;AAEG;;;;"}
@@ -3,8 +3,8 @@ import { ElementRef, NgZone, Directive, Inject, Self, Input, HostBinding, NgModu
3
3
  import { tuiTypedFromEvent, tuiZonefree } from '@taiga-ui/cdk/observables';
4
4
  import { TuiDestroyService } from '@taiga-ui/cdk/services';
5
5
  import { tuiIsElement, tuiGetScrollParent, tuiCanScroll } from '@taiga-ui/cdk/utils/dom';
6
- import { filter, takeUntil, switchMap, tap } from 'rxjs/operators';
7
6
  import * as i1 from 'rxjs';
7
+ import { filter, takeUntil, switchMap, tap } from 'rxjs';
8
8
 
9
9
  /**
10
10
  * Directive to isolate scrolling, i.e. prevent body scroll behind modal dialog
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-overscroll.mjs","sources":["../../../projects/cdk/directives/overscroll/overscroll.directive.ts","../../../projects/cdk/directives/overscroll/overscroll.module.ts","../../../projects/cdk/directives/overscroll/taiga-ui-cdk-directives-overscroll.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n NgZone,\n Self,\n} from '@angular/core';\nimport {tuiTypedFromEvent, tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {TuiEventWith, TuiOverscrollMode} from '@taiga-ui/cdk/types';\nimport {tuiCanScroll, tuiGetScrollParent, tuiIsElement} from '@taiga-ui/cdk/utils/dom';\nimport {Observable} from 'rxjs';\nimport {filter, switchMap, takeUntil, tap} from 'rxjs/operators';\n\n/**\n * Directive to isolate scrolling, i.e. prevent body scroll behind modal dialog\n */\n@Directive({\n selector: '[tuiOverscroll]',\n providers: [TuiDestroyService],\n})\nexport class TuiOverscrollDirective {\n @Input('tuiOverscroll')\n mode: TuiOverscrollMode | '' = 'scroll';\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) zone: NgZone,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n tuiTypedFromEvent(nativeElement, 'wheel', {passive: false})\n .pipe(\n filter(() => this.enabled),\n tuiZonefree(zone),\n takeUntil(destroy$),\n )\n .subscribe(event => {\n this.processEvent(\n event,\n !!event.deltaY,\n event.deltaY ? event.deltaY < 0 : event.deltaX < 0,\n );\n });\n\n tuiTypedFromEvent(nativeElement, 'touchstart', {passive: true})\n .pipe(\n switchMap(({touches}) => {\n let {clientX, clientY} = touches[0];\n let deltaX = 0;\n let deltaY = 0;\n let vertical: boolean;\n\n return tuiTypedFromEvent(nativeElement, 'touchmove', {\n passive: false,\n }).pipe(\n filter(() => this.enabled),\n tap(event => {\n // We have to have it in tap instead of subscribe due to variables in closure\n const changedTouch = event.changedTouches[0];\n\n deltaX = clientX - changedTouch.clientX;\n deltaY = clientY - changedTouch.clientY;\n clientX = changedTouch.clientX;\n clientY = changedTouch.clientY;\n\n if (vertical === undefined) {\n vertical = Math.abs(deltaY) > Math.abs(deltaX);\n }\n\n this.processEvent(\n event,\n vertical,\n vertical ? deltaY < 0 : deltaX < 0,\n );\n }),\n );\n }),\n tuiZonefree(zone),\n takeUntil(destroy$),\n )\n .subscribe();\n }\n\n get enabled(): boolean {\n return this.mode !== 'none';\n }\n\n @HostBinding('style.overscrollBehavior')\n get overscrollBehavior(): 'contain' | null {\n return this.enabled ? 'contain' : null;\n }\n\n private processEvent(\n event: TuiEventWith<Event, HTMLElement>,\n vertical: boolean,\n negative: boolean,\n ): void {\n const {target, currentTarget, cancelable} = event;\n\n if (\n !cancelable ||\n !tuiIsElement(target) ||\n (target as HTMLInputElement)?.type === 'range'\n ) {\n return;\n }\n\n // This is all what's needed in Chrome/Firefox thanks to CSS overscroll-behavior\n if (\n this.mode === 'all' &&\n ((vertical && !currentTarget.contains(tuiGetScrollParent(target))) ||\n (!vertical && !currentTarget.contains(tuiGetScrollParent(target, false))))\n ) {\n event.preventDefault();\n\n return;\n }\n\n // This is Safari/IE/Edge fallback\n if (\n vertical &&\n ((negative && !tuiCanScroll(target, currentTarget, true, false)) ||\n (!negative && !tuiCanScroll(target, currentTarget, true, true)))\n ) {\n event.preventDefault();\n\n return;\n }\n\n if (\n !vertical &&\n ((negative && !tuiCanScroll(target, currentTarget, false, false)) ||\n (!negative && !tuiCanScroll(target, currentTarget, false, true)))\n ) {\n event.preventDefault();\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiOverscrollDirective} from './overscroll.directive';\n\n@NgModule({\n declarations: [TuiOverscrollDirective],\n exports: [TuiOverscrollDirective],\n})\nexport class TuiOverscrollModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-overscroll.mjs","sources":["../../../projects/cdk/directives/overscroll/overscroll.directive.ts","../../../projects/cdk/directives/overscroll/overscroll.module.ts","../../../projects/cdk/directives/overscroll/taiga-ui-cdk-directives-overscroll.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n NgZone,\n Self,\n} from '@angular/core';\nimport {tuiTypedFromEvent, tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {TuiEventWith, TuiOverscrollMode} from '@taiga-ui/cdk/types';\nimport {tuiCanScroll, tuiGetScrollParent, tuiIsElement} from '@taiga-ui/cdk/utils/dom';\nimport {filter, Observable, switchMap, takeUntil, tap} from 'rxjs';\n\n/**\n * Directive to isolate scrolling, i.e. prevent body scroll behind modal dialog\n */\n@Directive({\n selector: '[tuiOverscroll]',\n providers: [TuiDestroyService],\n})\nexport class TuiOverscrollDirective {\n @Input('tuiOverscroll')\n mode: TuiOverscrollMode | '' = 'scroll';\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) zone: NgZone,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n tuiTypedFromEvent(nativeElement, 'wheel', {passive: false})\n .pipe(\n filter(() => this.enabled),\n tuiZonefree(zone),\n takeUntil(destroy$),\n )\n .subscribe(event => {\n this.processEvent(\n event,\n !!event.deltaY,\n event.deltaY ? event.deltaY < 0 : event.deltaX < 0,\n );\n });\n\n tuiTypedFromEvent(nativeElement, 'touchstart', {passive: true})\n .pipe(\n switchMap(({touches}) => {\n let {clientX, clientY} = touches[0];\n let deltaX = 0;\n let deltaY = 0;\n let vertical: boolean;\n\n return tuiTypedFromEvent(nativeElement, 'touchmove', {\n passive: false,\n }).pipe(\n filter(() => this.enabled),\n tap(event => {\n // We have to have it in tap instead of subscribe due to variables in closure\n const changedTouch = event.changedTouches[0];\n\n deltaX = clientX - changedTouch.clientX;\n deltaY = clientY - changedTouch.clientY;\n clientX = changedTouch.clientX;\n clientY = changedTouch.clientY;\n\n if (vertical === undefined) {\n vertical = Math.abs(deltaY) > Math.abs(deltaX);\n }\n\n this.processEvent(\n event,\n vertical,\n vertical ? deltaY < 0 : deltaX < 0,\n );\n }),\n );\n }),\n tuiZonefree(zone),\n takeUntil(destroy$),\n )\n .subscribe();\n }\n\n get enabled(): boolean {\n return this.mode !== 'none';\n }\n\n @HostBinding('style.overscrollBehavior')\n get overscrollBehavior(): 'contain' | null {\n return this.enabled ? 'contain' : null;\n }\n\n private processEvent(\n event: TuiEventWith<Event, HTMLElement>,\n vertical: boolean,\n negative: boolean,\n ): void {\n const {target, currentTarget, cancelable} = event;\n\n if (\n !cancelable ||\n !tuiIsElement(target) ||\n (target as HTMLInputElement)?.type === 'range'\n ) {\n return;\n }\n\n // This is all what's needed in Chrome/Firefox thanks to CSS overscroll-behavior\n if (\n this.mode === 'all' &&\n ((vertical && !currentTarget.contains(tuiGetScrollParent(target))) ||\n (!vertical && !currentTarget.contains(tuiGetScrollParent(target, false))))\n ) {\n event.preventDefault();\n\n return;\n }\n\n // This is Safari/IE/Edge fallback\n if (\n vertical &&\n ((negative && !tuiCanScroll(target, currentTarget, true, false)) ||\n (!negative && !tuiCanScroll(target, currentTarget, true, true)))\n ) {\n event.preventDefault();\n\n return;\n }\n\n if (\n !vertical &&\n ((negative && !tuiCanScroll(target, currentTarget, false, false)) ||\n (!negative && !tuiCanScroll(target, currentTarget, false, true)))\n ) {\n event.preventDefault();\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiOverscrollDirective} from './overscroll.directive';\n\n@NgModule({\n declarations: [TuiOverscrollDirective],\n exports: [TuiOverscrollDirective],\n})\nexport class TuiOverscrollModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -3,8 +3,7 @@ import { ElementRef, NgZone, Directive, Inject, Self, Input, NgModule } from '@a
3
3
  import { tuiZonefree, tuiPreventDefault } from '@taiga-ui/cdk/observables';
4
4
  import { TuiDestroyService } from '@taiga-ui/cdk/services';
5
5
  import * as i1 from 'rxjs';
6
- import { fromEvent } from 'rxjs';
7
- import { takeUntil } from 'rxjs/operators';
6
+ import { fromEvent, takeUntil } from 'rxjs';
8
7
 
9
8
  /**
10
9
  * @description:
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-prevent-default.mjs","sources":["../../../projects/cdk/directives/prevent-default/prevent-default.directive.ts","../../../projects/cdk/directives/prevent-default/prevent-default.module.ts","../../../projects/cdk/directives/prevent-default/taiga-ui-cdk-directives-prevent-default.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Input, NgZone, OnInit, Self} from '@angular/core';\nimport {tuiPreventDefault, tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {fromEvent, Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n/**\n * @description:\n * Simple prevent default on event directive when you do not need anything\n * else on event and do not want to trigger change detection\n */\n@Directive({\n selector: '[tuiPreventDefault]',\n providers: [TuiDestroyService],\n})\nexport class TuiPreventDefaultDirective implements OnInit {\n @Input('tuiPreventDefault')\n eventName = '';\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(NgZone) private readonly zone: NgZone,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: Observable<void>,\n ) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, this.eventName, {passive: false})\n .pipe(tuiZonefree(this.zone), tuiPreventDefault(), takeUntil(this.destroy$))\n .subscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiPreventDefaultDirective} from './prevent-default.directive';\n\n/**\n * @deprecated Use (event.prevent.silent)=(0) instead.\n */\n@NgModule({\n declarations: [TuiPreventDefaultDirective],\n exports: [TuiPreventDefaultDirective],\n})\nexport class TuiPreventDefaultModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAMA;;;;AAIG;MAKU,0BAA0B,CAAA;AAInC,IAAA,WAAA,CACyC,EAA2B,EAC/B,IAAY,EACO,QAA0B,EAAA;AAFzC,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAyB;AAC/B,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;AACO,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;AALlF,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;KAMX;IAEJ,QAAQ,GAAA;AACJ,QAAA,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC;AAC7D,aAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,iBAAiB,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3E,aAAA,SAAS,EAAE,CAAC;KACpB;;AAdQ,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,EAKvB,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,UAAU,EACV,EAAA,EAAA,KAAA,EAAA,MAAM,aACE,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4GAP5B,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,SAAA,EAFxB,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAErB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;oBAC/B,SAAS,EAAE,CAAC,iBAAiB,CAAC;iBACjC,CAAA;;;8BAMQ,MAAM;+BAAC,UAAU,CAAA;;8BACjB,MAAM;+BAAC,MAAM,CAAA;;8BACb,IAAI;;8BAAI,MAAM;+BAAC,iBAAiB,CAAA;;yBALrC,SAAS,EAAA,CAAA;sBADR,KAAK;uBAAC,mBAAmB,CAAA;;;ACZ9B;;AAEG;MAKU,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sHAAvB,uBAAuB,EAAA,YAAA,EAAA,CAHjB,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAC/B,0BAA0B,CAAA,EAAA,CAAA,CAAA;sHAE3B,uBAAuB,EAAA,CAAA,CAAA;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,0BAA0B,CAAC;oBAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC;iBACxC,CAAA;;;ACVD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-prevent-default.mjs","sources":["../../../projects/cdk/directives/prevent-default/prevent-default.directive.ts","../../../projects/cdk/directives/prevent-default/prevent-default.module.ts","../../../projects/cdk/directives/prevent-default/taiga-ui-cdk-directives-prevent-default.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Input, NgZone, OnInit, Self} from '@angular/core';\nimport {tuiPreventDefault, tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {fromEvent, Observable, takeUntil} from 'rxjs';\n\n/**\n * @description:\n * Simple prevent default on event directive when you do not need anything\n * else on event and do not want to trigger change detection\n */\n@Directive({\n selector: '[tuiPreventDefault]',\n providers: [TuiDestroyService],\n})\nexport class TuiPreventDefaultDirective implements OnInit {\n @Input('tuiPreventDefault')\n eventName = '';\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(NgZone) private readonly zone: NgZone,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: Observable<void>,\n ) {}\n\n ngOnInit(): void {\n fromEvent(this.el.nativeElement, this.eventName, {passive: false})\n .pipe(tuiZonefree(this.zone), tuiPreventDefault(), takeUntil(this.destroy$))\n .subscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiPreventDefaultDirective} from './prevent-default.directive';\n\n/**\n * @deprecated Use (event.prevent.silent)=(0) instead.\n */\n@NgModule({\n declarations: [TuiPreventDefaultDirective],\n exports: [TuiPreventDefaultDirective],\n})\nexport class TuiPreventDefaultModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAKA;;;;AAIG;MAKU,0BAA0B,CAAA;AAInC,IAAA,WAAA,CACyC,EAA2B,EAC/B,IAAY,EACO,QAA0B,EAAA;AAFzC,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAyB;AAC/B,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;AACO,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;AALlF,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;KAMX;IAEJ,QAAQ,GAAA;AACJ,QAAA,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC;AAC7D,aAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,iBAAiB,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3E,aAAA,SAAS,EAAE,CAAC;KACpB;;AAdQ,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,EAKvB,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,UAAU,EACV,EAAA,EAAA,KAAA,EAAA,MAAM,aACE,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4GAP5B,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,SAAA,EAFxB,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAErB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;oBAC/B,SAAS,EAAE,CAAC,iBAAiB,CAAC;iBACjC,CAAA;;;8BAMQ,MAAM;+BAAC,UAAU,CAAA;;8BACjB,MAAM;+BAAC,MAAM,CAAA;;8BACb,IAAI;;8BAAI,MAAM;+BAAC,iBAAiB,CAAA;;yBALrC,SAAS,EAAA,CAAA;sBADR,KAAK;uBAAC,mBAAmB,CAAA;;;ACX9B;;AAEG;MAKU,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sHAAvB,uBAAuB,EAAA,YAAA,EAAA,CAHjB,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAC/B,0BAA0B,CAAA,EAAA,CAAA,CAAA;sHAE3B,uBAAuB,EAAA,CAAA,CAAA;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,0BAA0B,CAAC;oBAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC;iBACxC,CAAA;;;ACVD;;AAEG;;;;"}
@@ -2,8 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { Directive, Optional, Inject, Output, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/forms';
4
4
  import { ControlContainer, NgControl } from '@angular/forms';
5
- import { Subject, EMPTY } from 'rxjs';
6
- import { distinctUntilChanged, switchAll } from 'rxjs/operators';
5
+ import { Subject, distinctUntilChanged, switchAll, EMPTY } from 'rxjs';
7
6
 
8
7
  class TuiValueChangesDirective {
9
8
  constructor(container, control) {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-value-changes.mjs","sources":["../../../projects/cdk/directives/value-changes/value-changes.directive.ts","../../../projects/cdk/directives/value-changes/value-changes.module.ts","../../../projects/cdk/directives/value-changes/taiga-ui-cdk-directives-value-changes.ts"],"sourcesContent":["import {Directive, DoCheck, Inject, Optional, Output} from '@angular/core';\nimport {ControlContainer, NgControl} from '@angular/forms';\nimport {EMPTY, Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged, switchAll} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiValueChanges]',\n})\nexport class TuiValueChangesDirective<T> implements DoCheck {\n private readonly refresh$ = new Subject<Observable<T>>();\n\n @Output()\n readonly tuiValueChanges = this.refresh$.pipe(\n distinctUntilChanged(),\n switchAll(),\n distinctUntilChanged(),\n );\n\n constructor(\n @Optional()\n @Inject(ControlContainer)\n private readonly container: ControlContainer | null,\n @Optional()\n @Inject(NgControl)\n private readonly control: NgControl | null,\n ) {}\n\n ngDoCheck(): void {\n this.refresh$.next(\n this.control?.valueChanges || this.container?.valueChanges || EMPTY,\n );\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiValueChangesDirective} from './value-changes.directive';\n\n@NgModule({\n declarations: [TuiValueChangesDirective],\n exports: [TuiValueChangesDirective],\n})\nexport class TuiValueChangesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAQa,wBAAwB,CAAA;IAUjC,WAGqB,CAAA,SAAkC,EAGlC,OAAyB,EAAA;AAHzB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAyB;AAGlC,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;AAf7B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAiB,CAAC;AAGhD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CACzC,oBAAoB,EAAE,EACtB,SAAS,EAAE,EACX,oBAAoB,EAAE,CACzB,CAAC;KASE;IAEJ,SAAS,GAAA;;QACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CACd,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,MAAI,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,CAAA,IAAI,KAAK,CACtE,CAAC;KACL;;sHAvBQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAYrB,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAGhB,SAAS,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0GAfZ,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;iBAChC,CAAA;;;8BAYQ,QAAQ;;8BACR,MAAM;+BAAC,gBAAgB,CAAA;;8BAEvB,QAAQ;;8BACR,MAAM;+BAAC,SAAS,CAAA;;yBAXZ,eAAe,EAAA,CAAA;sBADvB,MAAM;;;MCHE,qBAAqB,CAAA;;mHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oHAArB,qBAAqB,EAAA,YAAA,EAAA,CAHf,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAC7B,wBAAwB,CAAA,EAAA,CAAA,CAAA;oHAEzB,qBAAqB,EAAA,CAAA,CAAA;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,wBAAwB,CAAC;oBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;iBACtC,CAAA;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-value-changes.mjs","sources":["../../../projects/cdk/directives/value-changes/value-changes.directive.ts","../../../projects/cdk/directives/value-changes/value-changes.module.ts","../../../projects/cdk/directives/value-changes/taiga-ui-cdk-directives-value-changes.ts"],"sourcesContent":["import {Directive, DoCheck, Inject, Optional, Output} from '@angular/core';\nimport {ControlContainer, NgControl} from '@angular/forms';\nimport {distinctUntilChanged, EMPTY, Observable, Subject, switchAll} from 'rxjs';\n\n@Directive({\n selector: '[tuiValueChanges]',\n})\nexport class TuiValueChangesDirective<T> implements DoCheck {\n private readonly refresh$ = new Subject<Observable<T>>();\n\n @Output()\n readonly tuiValueChanges = this.refresh$.pipe(\n distinctUntilChanged(),\n switchAll(),\n distinctUntilChanged(),\n );\n\n constructor(\n @Optional()\n @Inject(ControlContainer)\n private readonly container: ControlContainer | null,\n @Optional()\n @Inject(NgControl)\n private readonly control: NgControl | null,\n ) {}\n\n ngDoCheck(): void {\n this.refresh$.next(\n this.control?.valueChanges || this.container?.valueChanges || EMPTY,\n );\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiValueChangesDirective} from './value-changes.directive';\n\n@NgModule({\n declarations: [TuiValueChangesDirective],\n exports: [TuiValueChangesDirective],\n})\nexport class TuiValueChangesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAOa,wBAAwB,CAAA;IAUjC,WAGqB,CAAA,SAAkC,EAGlC,OAAyB,EAAA;AAHzB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAyB;AAGlC,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;AAf7B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAiB,CAAC;AAGhD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CACzC,oBAAoB,EAAE,EACtB,SAAS,EAAE,EACX,oBAAoB,EAAE,CACzB,CAAC;KASE;IAEJ,SAAS,GAAA;;QACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CACd,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,MAAI,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,CAAA,IAAI,KAAK,CACtE,CAAC;KACL;;sHAvBQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAYrB,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAGhB,SAAS,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0GAfZ,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;iBAChC,CAAA;;;8BAYQ,QAAQ;;8BACR,MAAM;+BAAC,gBAAgB,CAAA;;8BAEvB,QAAQ;;8BACR,MAAM;+BAAC,SAAS,CAAA;;yBAXZ,eAAe,EAAA,CAAA;sBADvB,MAAM;;;MCFE,qBAAqB,CAAA;;mHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oHAArB,qBAAqB,EAAA,YAAA,EAAA,CAHf,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAC7B,wBAAwB,CAAA,EAAA,CAAA,CAAA;oHAEzB,qBAAqB,EAAA,CAAA,CAAA;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,wBAAwB,CAAC;oBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;iBACtC,CAAA;;;ACPD;;AAEG;;;;"}
@@ -19,6 +19,7 @@ export * from '@taiga-ui/cdk/directives/hovered';
19
19
  export * from '@taiga-ui/cdk/directives/item';
20
20
  export * from '@taiga-ui/cdk/directives/let';
21
21
  export * from '@taiga-ui/cdk/directives/media';
22
+ export * from '@taiga-ui/cdk/directives/native-validator';
22
23
  export * from '@taiga-ui/cdk/directives/obscured';
23
24
  export * from '@taiga-ui/cdk/directives/overscroll';
24
25
  export * from '@taiga-ui/cdk/directives/pan';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives.mjs","sources":["../../../projects/cdk/directives/taiga-ui-cdk-directives.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEG"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives.mjs","sources":["../../../projects/cdk/directives/taiga-ui-cdk-directives.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEG"}
@@ -1,6 +1,5 @@
1
1
  import { TuiValueChangesException, TuiOwnerDocumentException, TuiValuePresentException } from '@taiga-ui/cdk/exceptions';
2
- import { Observable, fromEvent, merge, concat, pipe, timer, EMPTY } from 'rxjs';
3
- import { startWith, take, map, endWith, takeWhile, repeat, switchMap, distinctUntilChanged, shareReplay, filter, ignoreElements, withLatestFrom, tap } from 'rxjs/operators';
2
+ import { Observable, startWith, fromEvent, merge, concat, take, map, endWith, takeWhile, repeat, pipe, switchMap, timer, distinctUntilChanged, shareReplay, filter, ignoreElements, withLatestFrom, EMPTY, tap } from 'rxjs';
4
3
  import { tuiIsPresent, tuiGetOriginalArrayFromQueryList } from '@taiga-ui/cdk/utils/miscellaneous';
5
4
  import { ALWAYS_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
6
5
  import { tuiIsFalsy } from '@taiga-ui/cdk/utils';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-observables.mjs","sources":["../../../projects/cdk/observables/control-value.ts","../../../projects/cdk/observables/typed-from-event.ts","../../../projects/cdk/observables/mouse-drag-finish-from.ts","../../../projects/cdk/observables/drag-and-drop-from.ts","../../../projects/cdk/observables/is-alive.ts","../../../projects/cdk/observables/focus-visible-observable.ts","../../../projects/cdk/observables/if-map.ts","../../../projects/cdk/observables/is-observed.ts","../../../projects/cdk/observables/items-query-list-observable.ts","../../../projects/cdk/observables/must-be-present.ts","../../../projects/cdk/observables/pressed-observable.ts","../../../projects/cdk/observables/prevent-default.ts","../../../projects/cdk/observables/scroll-from.ts","../../../projects/cdk/observables/stop-propagation.ts","../../../projects/cdk/observables/watch.ts","../../../projects/cdk/observables/zone-free.ts","../../../projects/cdk/observables/taiga-ui-cdk-observables.ts"],"sourcesContent":["import {AbstractControl, AbstractControlDirective} from '@angular/forms';\nimport {TuiValueChangesException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\n\n/**\n * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)\n */\nexport function tuiControlValue<T>(\n control: AbstractControl | AbstractControlDirective,\n): Observable<T> {\n return new Observable(subscriber => {\n if (!control.valueChanges) {\n throw new TuiValueChangesException();\n }\n\n control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);\n });\n}\n","import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {fromEvent, Observable} from 'rxjs';\n\nexport function tuiTypedFromEvent<E extends keyof WindowEventMap>(\n target: Window,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<WindowEventMap[E], typeof target>>;\n\nexport function tuiTypedFromEvent<E extends keyof DocumentEventMap>(\n target: Document,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<DocumentEventMap[E], typeof target>>;\n\nexport function tuiTypedFromEvent<T extends Element, E extends keyof HTMLElementEventMap>(\n target: T,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<HTMLElementEventMap[E], typeof target>>;\n\nexport function tuiTypedFromEvent<\n E extends Event,\n T extends TuiTypedEventTarget<TuiEventWith<E, T>>,\n>(\n target: T,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<E, T>>;\n\nexport function tuiTypedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<E>;\n\nexport function tuiTypedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options: AddEventListenerOptions = {},\n): Observable<E> {\n /**\n * @note:\n * in RxJS 7 type signature `TuiTypedEventTarget<E>` !== `HasEventTargetAddRemove<E>`\n */\n return fromEvent<E>(target as any, event, options) as unknown as Observable<E>;\n}\n","import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {merge, Observable} from 'rxjs';\n\nimport {tuiTypedFromEvent} from './typed-from-event';\n\n/**\n * Letting go of the mouse after it was pressed\n * @param target\n */\nexport function tuiMouseDragFinishFrom<\n T extends TuiTypedEventTarget<TuiEventWith<DragEvent, T>>,\n>(target: Exclude<T, null>): Observable<TuiEventWith<MouseEvent, T>> {\n return merge(\n tuiTypedFromEvent(target, `mouseup`),\n tuiTypedFromEvent(target, `dragend`),\n );\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {concat, merge, Observable} from 'rxjs';\nimport {endWith, map, repeat, take, takeWhile} from 'rxjs/operators';\n\nimport {tuiMouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {tuiTypedFromEvent} from './typed-from-event';\n\n// TODO: change type in v4.0\n// eslint-disable-next-line no-restricted-syntax\nexport enum TuiDragStage {\n Start,\n Continues,\n End,\n}\n\nexport class TuiDragState {\n constructor(\n readonly stage: TuiDragStage,\n readonly event: MouseEvent,\n ) {}\n}\n\nexport function tuiDragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return concat(\n tuiTypedFromEvent(element, `mousedown`).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.Start, event)),\n ),\n merge(\n tuiTypedFromEvent(ownerDocument, `mousemove`).pipe(\n map(event => new TuiDragState(TuiDragStage.Continues, event)),\n ),\n tuiMouseDragFinishFrom(ownerDocument).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.End, event)),\n endWith(null),\n ),\n ).pipe(takeWhile(tuiIsPresent)),\n ).pipe(repeat());\n}\n","import {ALWAYS_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {OperatorFunction, pipe, timer} from 'rxjs';\nimport {distinctUntilChanged, map, startWith, switchMap} from 'rxjs/operators';\n\n/**\n * Operator to set lifespan after which current value is considered obsolete\n */\nexport function tuiIsAlive(lifespan: number = 0): OperatorFunction<unknown, boolean> {\n return pipe(\n switchMap(() => timer(lifespan).pipe(map(ALWAYS_FALSE_HANDLER), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {ALWAYS_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {tuiIsFalsy} from '@taiga-ui/cdk/utils';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {concat, merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n ignoreElements,\n map,\n repeat,\n shareReplay,\n startWith,\n switchMap,\n take,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {tuiIsAlive} from './is-alive';\nimport {tuiTypedFromEvent} from './typed-from-event';\n\nlet documentMouseUpIsAlive$: Observable<boolean>;\nlet documentMouseDownIsAlive$: Observable<boolean>;\n\nexport function tuiFocusVisibleObservable(element: Element): Observable<boolean> {\n const elementBlur$ = tuiTypedFromEvent(element, `blur`);\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {\n documentMouseUpIsAlive$ = tuiTypedFromEvent(ownerDocument, `mouseup`, {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n documentMouseDownIsAlive$ = tuiTypedFromEvent(ownerDocument, `mousedown`, {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n }\n\n return merge(\n // focus events excluding ones that came right after mouse action\n concat(\n tuiTypedFromEvent(element, `focus`).pipe(take(1)),\n // filtering out blur events when element remains focused so that we ignore browser tab focus loss\n elementBlur$.pipe(\n filter(() => !tuiIsNativeFocused(element)),\n take(1),\n ignoreElements(),\n ),\n ).pipe(\n repeat(),\n withLatestFrom(\n documentMouseDownIsAlive$,\n documentMouseUpIsAlive$,\n (_event, elementActual, documentActual) =>\n elementActual || documentActual,\n ),\n filter(tuiIsFalsy),\n ),\n ).pipe(\n switchMap(() =>\n elementBlur$.pipe(map(ALWAYS_FALSE_HANDLER), take(1), startWith(true)),\n ),\n distinctUntilChanged(),\n );\n}\n","import {TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {EMPTY, Observable, OperatorFunction, pipe} from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\n\nexport function tuiIfMap<T, G>(\n project: (value: T) => Observable<G>,\n predicate: TuiBooleanHandler<T> = Boolean,\n): OperatorFunction<T, G> {\n return pipe(switchMap(value => (predicate(value) ? project(value) : EMPTY)));\n}\n","import {Observer, Subject} from 'rxjs';\n\n/* In RxJS 7 All subjects now have an observed property */\ntype SubjectRxJS7plus<T> = Subject<T> & {observed: boolean};\n\n/* In RxJS 8 `observers` will be removed */\ntype SubjectRxJS6<T> = Subject<T> & {observers: Array<Observer<T>>};\n\nexport function tuiIsObserved<T>(observable: Subject<T>): boolean {\n return `observed` in observable\n ? (observable as SubjectRxJS7plus<T>).observed\n : !!(observable as SubjectRxJS6<T>)?.observers?.length;\n}\n","import {QueryList} from '@angular/core';\nimport {tuiGetOriginalArrayFromQueryList} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\n\n/**\n * Converts changes observable of a QueryList to an Observable of arrays\n */\nexport function tuiQueryListChanges<T>(\n queryList: QueryList<T>,\n): Observable<readonly T[]> {\n return queryList.changes.pipe(\n startWith(null),\n map(() => tuiGetOriginalArrayFromQueryList(queryList)),\n );\n}\n\n/**\n * @deprecated An alias, use {@link tuiQueryListChanges} instead\n */\nexport const tuiItemsQueryListObservable = tuiQueryListChanges;\n","import {TuiValuePresentException} from '@taiga-ui/cdk/exceptions';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {OperatorFunction} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function tuiMustBePresent<T>(): OperatorFunction<T | null | undefined, T> {\n return map(value => {\n if (!tuiIsPresent(value)) {\n throw new TuiValuePresentException();\n }\n\n return value;\n });\n}\n","import {ALWAYS_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {filter, map, startWith, switchMap, take} from 'rxjs/operators';\n\nimport {tuiMouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {tuiTypedFromEvent} from './typed-from-event';\n\nexport interface TuiPressedObservableOptions {\n onlyTrusted: boolean;\n}\n\nexport function tuiPressedObservable(\n element: Element,\n {onlyTrusted}: TuiPressedObservableOptions = {onlyTrusted: true},\n): Observable<boolean> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return tuiTypedFromEvent(element, `mousedown`).pipe(\n filter(({isTrusted}) => isTrusted || !onlyTrusted),\n switchMap(() =>\n tuiMouseDragFinishFrom(ownerDocument).pipe(\n map(ALWAYS_FALSE_HANDLER),\n take(1),\n startWith(true),\n ),\n ),\n );\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function tuiPreventDefault<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(event => event.preventDefault());\n}\n","import {Observable} from 'rxjs';\n\nimport {tuiTypedFromEvent} from './typed-from-event';\n\n/**\n * Normalizes scroll event in case element is `html` (document.documentElement)\n */\nexport function tuiScrollFrom(element: Element): Observable<Event> {\n return tuiTypedFromEvent(\n element === element.ownerDocument.documentElement\n ? element.ownerDocument\n : element,\n `scroll`,\n );\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function tuiStopPropagation<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.stopPropagation();\n });\n}\n","import {ChangeDetectorRef} from '@angular/core';\nimport {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function tuiWatch<T>(cdr: ChangeDetectorRef): MonoTypeOperatorFunction<T> {\n return tap(() => {\n cdr.markForCheck();\n });\n}\n","import {NgZone} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable, pipe} from 'rxjs';\n\nexport function tuiZonefull<T>(zone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n source.subscribe({\n next: value => zone.run(() => subscriber.next(value)),\n error: (error: unknown) => zone.run(() => subscriber.error(error)),\n complete: () => zone.run(() => subscriber.complete()),\n }),\n );\n}\n\nexport function tuiZonefree<T>(zone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n zone.runOutsideAngular(() => source.subscribe(subscriber)),\n );\n}\n\nexport function tuiZoneOptimized<T>(zone: NgZone): MonoTypeOperatorFunction<T> {\n return pipe(tuiZonefree(zone), tuiZonefull(zone));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-observables.mjs","sources":["../../../projects/cdk/observables/control-value.ts","../../../projects/cdk/observables/typed-from-event.ts","../../../projects/cdk/observables/mouse-drag-finish-from.ts","../../../projects/cdk/observables/drag-and-drop-from.ts","../../../projects/cdk/observables/is-alive.ts","../../../projects/cdk/observables/focus-visible-observable.ts","../../../projects/cdk/observables/if-map.ts","../../../projects/cdk/observables/is-observed.ts","../../../projects/cdk/observables/items-query-list-observable.ts","../../../projects/cdk/observables/must-be-present.ts","../../../projects/cdk/observables/pressed-observable.ts","../../../projects/cdk/observables/prevent-default.ts","../../../projects/cdk/observables/scroll-from.ts","../../../projects/cdk/observables/stop-propagation.ts","../../../projects/cdk/observables/watch.ts","../../../projects/cdk/observables/zone-free.ts","../../../projects/cdk/observables/taiga-ui-cdk-observables.ts"],"sourcesContent":["import {AbstractControl, AbstractControlDirective} from '@angular/forms';\nimport {TuiValueChangesException} from '@taiga-ui/cdk/exceptions';\nimport {Observable, startWith} from 'rxjs';\n\n/**\n * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)\n */\nexport function tuiControlValue<T>(\n control: AbstractControl | AbstractControlDirective,\n): Observable<T> {\n return new Observable(subscriber => {\n if (!control.valueChanges) {\n throw new TuiValueChangesException();\n }\n\n control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);\n });\n}\n","import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {fromEvent, Observable} from 'rxjs';\n\nexport function tuiTypedFromEvent<E extends keyof WindowEventMap>(\n target: Window,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<WindowEventMap[E], typeof target>>;\n\nexport function tuiTypedFromEvent<E extends keyof DocumentEventMap>(\n target: Document,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<DocumentEventMap[E], typeof target>>;\n\nexport function tuiTypedFromEvent<T extends Element, E extends keyof HTMLElementEventMap>(\n target: T,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<HTMLElementEventMap[E], typeof target>>;\n\nexport function tuiTypedFromEvent<\n E extends Event,\n T extends TuiTypedEventTarget<TuiEventWith<E, T>>,\n>(\n target: T,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<E, T>>;\n\nexport function tuiTypedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<E>;\n\nexport function tuiTypedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options: AddEventListenerOptions = {},\n): Observable<E> {\n /**\n * @note:\n * in RxJS 7 type signature `TuiTypedEventTarget<E>` !== `HasEventTargetAddRemove<E>`\n */\n return fromEvent<E>(target as any, event, options) as unknown as Observable<E>;\n}\n","import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {merge, Observable} from 'rxjs';\n\nimport {tuiTypedFromEvent} from './typed-from-event';\n\n/**\n * Letting go of the mouse after it was pressed\n * @param target\n */\nexport function tuiMouseDragFinishFrom<\n T extends TuiTypedEventTarget<TuiEventWith<DragEvent, T>>,\n>(target: Exclude<T, null>): Observable<TuiEventWith<MouseEvent, T>> {\n return merge(\n tuiTypedFromEvent(target, `mouseup`),\n tuiTypedFromEvent(target, `dragend`),\n );\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {concat, endWith, map, merge, Observable, repeat, take, takeWhile} from 'rxjs';\n\nimport {tuiMouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {tuiTypedFromEvent} from './typed-from-event';\n\n// TODO: change type in v4.0\n// eslint-disable-next-line no-restricted-syntax\nexport enum TuiDragStage {\n Start,\n Continues,\n End,\n}\n\nexport class TuiDragState {\n constructor(\n readonly stage: TuiDragStage,\n readonly event: MouseEvent,\n ) {}\n}\n\nexport function tuiDragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return concat(\n tuiTypedFromEvent(element, `mousedown`).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.Start, event)),\n ),\n merge(\n tuiTypedFromEvent(ownerDocument, `mousemove`).pipe(\n map(event => new TuiDragState(TuiDragStage.Continues, event)),\n ),\n tuiMouseDragFinishFrom(ownerDocument).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.End, event)),\n endWith(null),\n ),\n ).pipe(takeWhile(tuiIsPresent)),\n ).pipe(repeat());\n}\n","import {ALWAYS_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n distinctUntilChanged,\n map,\n OperatorFunction,\n pipe,\n startWith,\n switchMap,\n timer,\n} from 'rxjs';\n\n/**\n * Operator to set lifespan after which current value is considered obsolete\n */\nexport function tuiIsAlive(lifespan: number = 0): OperatorFunction<unknown, boolean> {\n return pipe(\n switchMap(() => timer(lifespan).pipe(map(ALWAYS_FALSE_HANDLER), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {ALWAYS_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {tuiIsFalsy} from '@taiga-ui/cdk/utils';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {\n concat,\n distinctUntilChanged,\n filter,\n ignoreElements,\n map,\n merge,\n Observable,\n repeat,\n shareReplay,\n startWith,\n switchMap,\n take,\n withLatestFrom,\n} from 'rxjs';\n\nimport {tuiIsAlive} from './is-alive';\nimport {tuiTypedFromEvent} from './typed-from-event';\n\nlet documentMouseUpIsAlive$: Observable<boolean>;\nlet documentMouseDownIsAlive$: Observable<boolean>;\n\nexport function tuiFocusVisibleObservable(element: Element): Observable<boolean> {\n const elementBlur$ = tuiTypedFromEvent(element, `blur`);\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {\n documentMouseUpIsAlive$ = tuiTypedFromEvent(ownerDocument, `mouseup`, {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n documentMouseDownIsAlive$ = tuiTypedFromEvent(ownerDocument, `mousedown`, {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n }\n\n return merge(\n // focus events excluding ones that came right after mouse action\n concat(\n tuiTypedFromEvent(element, `focus`).pipe(take(1)),\n // filtering out blur events when element remains focused so that we ignore browser tab focus loss\n elementBlur$.pipe(\n filter(() => !tuiIsNativeFocused(element)),\n take(1),\n ignoreElements(),\n ),\n ).pipe(\n repeat(),\n withLatestFrom(\n documentMouseDownIsAlive$,\n documentMouseUpIsAlive$,\n (_event, elementActual, documentActual) =>\n elementActual || documentActual,\n ),\n filter(tuiIsFalsy),\n ),\n ).pipe(\n switchMap(() =>\n elementBlur$.pipe(map(ALWAYS_FALSE_HANDLER), take(1), startWith(true)),\n ),\n distinctUntilChanged(),\n );\n}\n","import {TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {EMPTY, Observable, OperatorFunction, pipe, switchMap} from 'rxjs';\n\nexport function tuiIfMap<T, G>(\n project: (value: T) => Observable<G>,\n predicate: TuiBooleanHandler<T> = Boolean,\n): OperatorFunction<T, G> {\n return pipe(switchMap(value => (predicate(value) ? project(value) : EMPTY)));\n}\n","import {Observer, Subject} from 'rxjs';\n\n/* In RxJS 7 All subjects now have an observed property */\ntype SubjectRxJS7plus<T> = Subject<T> & {observed: boolean};\n\n/* In RxJS 8 `observers` will be removed */\ntype SubjectRxJS6<T> = Subject<T> & {observers: Array<Observer<T>>};\n\nexport function tuiIsObserved<T>(observable: Subject<T>): boolean {\n return `observed` in observable\n ? (observable as SubjectRxJS7plus<T>).observed\n : !!(observable as SubjectRxJS6<T>)?.observers?.length;\n}\n","import {QueryList} from '@angular/core';\nimport {tuiGetOriginalArrayFromQueryList} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {map, Observable, startWith} from 'rxjs';\n\n/**\n * Converts changes observable of a QueryList to an Observable of arrays\n */\nexport function tuiQueryListChanges<T>(\n queryList: QueryList<T>,\n): Observable<readonly T[]> {\n return queryList.changes.pipe(\n startWith(null),\n map(() => tuiGetOriginalArrayFromQueryList(queryList)),\n );\n}\n\n/**\n * @deprecated An alias, use {@link tuiQueryListChanges} instead\n */\nexport const tuiItemsQueryListObservable = tuiQueryListChanges;\n","import {TuiValuePresentException} from '@taiga-ui/cdk/exceptions';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {map, OperatorFunction} from 'rxjs';\n\nexport function tuiMustBePresent<T>(): OperatorFunction<T | null | undefined, T> {\n return map(value => {\n if (!tuiIsPresent(value)) {\n throw new TuiValuePresentException();\n }\n\n return value;\n });\n}\n","import {ALWAYS_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {filter, map, Observable, startWith, switchMap, take} from 'rxjs';\n\nimport {tuiMouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {tuiTypedFromEvent} from './typed-from-event';\n\nexport interface TuiPressedObservableOptions {\n onlyTrusted: boolean;\n}\n\nexport function tuiPressedObservable(\n element: Element,\n {onlyTrusted}: TuiPressedObservableOptions = {onlyTrusted: true},\n): Observable<boolean> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return tuiTypedFromEvent(element, `mousedown`).pipe(\n filter(({isTrusted}) => isTrusted || !onlyTrusted),\n switchMap(() =>\n tuiMouseDragFinishFrom(ownerDocument).pipe(\n map(ALWAYS_FALSE_HANDLER),\n take(1),\n startWith(true),\n ),\n ),\n );\n}\n","import {MonoTypeOperatorFunction, tap} from 'rxjs';\n\nexport function tuiPreventDefault<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(event => event.preventDefault());\n}\n","import {Observable} from 'rxjs';\n\nimport {tuiTypedFromEvent} from './typed-from-event';\n\n/**\n * Normalizes scroll event in case element is `html` (document.documentElement)\n */\nexport function tuiScrollFrom(element: Element): Observable<Event> {\n return tuiTypedFromEvent(\n element === element.ownerDocument.documentElement\n ? element.ownerDocument\n : element,\n `scroll`,\n );\n}\n","import {MonoTypeOperatorFunction, tap} from 'rxjs';\n\nexport function tuiStopPropagation<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.stopPropagation();\n });\n}\n","import {ChangeDetectorRef} from '@angular/core';\nimport {MonoTypeOperatorFunction, tap} from 'rxjs';\n\nexport function tuiWatch<T>(cdr: ChangeDetectorRef): MonoTypeOperatorFunction<T> {\n return tap(() => {\n cdr.markForCheck();\n });\n}\n","import {NgZone} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable, pipe} from 'rxjs';\n\nexport function tuiZonefull<T>(zone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n source.subscribe({\n next: value => zone.run(() => subscriber.next(value)),\n error: (error: unknown) => zone.run(() => subscriber.error(error)),\n complete: () => zone.run(() => subscriber.complete()),\n }),\n );\n}\n\nexport function tuiZonefree<T>(zone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n zone.runOutsideAngular(() => source.subscribe(subscriber)),\n );\n}\n\nexport function tuiZoneOptimized<T>(zone: NgZone): MonoTypeOperatorFunction<T> {\n return pipe(tuiZonefree(zone), tuiZonefull(zone));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, ComponentFactoryResolver, INJECTOR, Inject, ElementRef, ChangeDetectorRef, Self, NgZone, PLATFORM_ID } from '@angular/core';
3
3
  import * as i1 from 'rxjs';
4
- import { ReplaySubject, Observable, defer, merge, fromEvent, of, timer, from } from 'rxjs';
4
+ import { ReplaySubject, Observable, takeUntil, defer, merge, fromEvent, delay, throttleTime, map, startWith, distinctUntilChanged, switchMap, filter, pairwise, repeat, catchError, debounceTime, share, of, endWith, timer, tap, from, shareReplay, scan } from 'rxjs';
5
5
  import { tuiFocusVisibleObservable, tuiWatch, tuiTypedFromEvent, tuiZoneOptimized, tuiZonefree, tuiPreventDefault } from '@taiga-ui/cdk/observables';
6
- import { takeUntil, delay, throttleTime, map, startWith, distinctUntilChanged, switchMap, filter, pairwise, repeat, catchError, debounceTime, share, endWith, tap, shareReplay, scan } from 'rxjs/operators';
7
6
  import { WINDOW, ANIMATION_FRAME, PERFORMANCE } from '@ng-web-apis/common';
8
7
  import { POLLING_TIME, EMPTY_ARRAY } from '@taiga-ui/cdk/constants';
9
8
  import { tuiGetElementObscures } from '@taiga-ui/cdk/utils/dom';