@cuby-ui/cdk 0.0.180 → 0.0.182

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 (141) hide show
  1. package/constants/empty.d.ts +10 -0
  2. package/constants/handlers.d.ts +8 -0
  3. package/constants/index.d.ts +2 -0
  4. package/directives/active-zone/active-zone.directive.d.ts +22 -0
  5. package/directives/active-zone/index.d.ts +1 -0
  6. package/directives/hovered/hovered.directive.d.ts +7 -0
  7. package/directives/hovered/hovered.service.d.ts +12 -0
  8. package/directives/hovered/index.d.ts +2 -0
  9. package/directives/index.d.ts +2 -0
  10. package/directives/let.directive.d.ts +1 -1
  11. package/directives/target.directive.d.ts +1 -1
  12. package/esm2022/constants/empty.mjs +24 -0
  13. package/esm2022/constants/handlers.mjs +11 -0
  14. package/esm2022/constants/index.mjs +4 -0
  15. package/esm2022/directives/active-zone/active-zone.directive.mjs +72 -0
  16. package/esm2022/directives/active-zone/index.mjs +2 -0
  17. package/{esm2020 → esm2022}/directives/auto-resizing.directive.mjs +4 -4
  18. package/{esm2020 → esm2022}/directives/click-outside.directive.mjs +4 -4
  19. package/{esm2020 → esm2022}/directives/content-editable-value-accessor.directive.mjs +4 -4
  20. package/{esm2020 → esm2022}/directives/dimensions-observer.directive.mjs +4 -4
  21. package/{esm2020 → esm2022}/directives/element.directive.mjs +4 -4
  22. package/{esm2020 → esm2022}/directives/focus-trap.directive.mjs +4 -4
  23. package/esm2022/directives/hovered/hovered.directive.mjs +21 -0
  24. package/esm2022/directives/hovered/hovered.service.mjs +34 -0
  25. package/esm2022/directives/hovered/index.mjs +3 -0
  26. package/esm2022/directives/index.mjs +13 -0
  27. package/{esm2020 → esm2022}/directives/item.directive.mjs +4 -4
  28. package/{esm2020 → esm2022}/directives/let.directive.mjs +4 -4
  29. package/{esm2020 → esm2022}/directives/target.directive.mjs +4 -4
  30. package/esm2022/observables/if-map.mjs +5 -0
  31. package/esm2022/observables/index.mjs +5 -0
  32. package/esm2022/observables/typed-from-event.mjs +9 -0
  33. package/esm2022/observables/watch.mjs +6 -0
  34. package/esm2022/observables/zone.mjs +34 -0
  35. package/{esm2020 → esm2022}/pipes/filter.pipe.mjs +4 -4
  36. package/{esm2020 → esm2022}/services/destroy.service.mjs +4 -4
  37. package/esm2022/services/id.service.mjs +18 -0
  38. package/{esm2020 → esm2022}/services/popover.service.mjs +4 -4
  39. package/esm2022/tokens/active-element.mjs +54 -0
  40. package/esm2022/tokens/environment.mjs +45 -0
  41. package/esm2022/tokens/index.mjs +10 -0
  42. package/esm2022/tokens/navigator.mjs +6 -0
  43. package/esm2022/tokens/removed-element.mjs +19 -0
  44. package/esm2022/tokens/user-agent.mjs +6 -0
  45. package/esm2022/types/context.mjs +2 -0
  46. package/esm2022/types/handler.mjs +2 -0
  47. package/esm2022/types/index.mjs +9 -0
  48. package/esm2022/utils/dom/element-checks.mjs +20 -0
  49. package/esm2022/utils/dom/get-actual-target.mjs +7 -0
  50. package/esm2022/utils/dom/get-document-or-shadow-root.mjs +6 -0
  51. package/esm2022/utils/dom/get-element-obscurers.mjs +44 -0
  52. package/esm2022/utils/dom/index.mjs +7 -0
  53. package/esm2022/utils/dom/inject-element.mjs +5 -0
  54. package/esm2022/utils/index.mjs +7 -0
  55. package/esm2022/utils/math/clamp.mjs +11 -0
  56. package/esm2022/utils/math/index.mjs +2 -0
  57. package/esm2022/utils/miscellaneous/array-remove.mjs +4 -0
  58. package/esm2022/utils/miscellaneous/index.mjs +5 -0
  59. package/esm2022/utils/miscellaneous/is-present.mjs +4 -0
  60. package/esm2022/utils/miscellaneous/pure.mjs +81 -0
  61. package/esm2022/utils/miscellaneous/px.mjs +7 -0
  62. package/esm2022/utils/platform/index.mjs +2 -0
  63. package/esm2022/utils/platform/is-ios.mjs +6 -0
  64. package/fesm2022/cuby-ui-cdk.mjs +1067 -0
  65. package/fesm2022/cuby-ui-cdk.mjs.map +1 -0
  66. package/observables/if-map.d.ts +3 -0
  67. package/observables/index.d.ts +4 -0
  68. package/observables/typed-from-event.d.ts +16 -0
  69. package/observables/watch.d.ts +3 -0
  70. package/observables/zone.d.ts +7 -0
  71. package/package.json +10 -15
  72. package/tokens/active-element.d.ts +5 -0
  73. package/tokens/environment.d.ts +19 -0
  74. package/tokens/index.d.ts +5 -0
  75. package/tokens/navigator.d.ts +2 -0
  76. package/tokens/removed-element.d.ts +4 -0
  77. package/tokens/user-agent.d.ts +2 -0
  78. package/types/context.d.ts +3 -0
  79. package/types/handler.d.ts +4 -0
  80. package/types/index.d.ts +2 -0
  81. package/utils/dom/element-checks.d.ts +6 -0
  82. package/utils/dom/get-actual-target.d.ts +4 -0
  83. package/utils/dom/get-document-or-shadow-root.d.ts +1 -0
  84. package/utils/dom/get-element-obscurers.d.ts +9 -0
  85. package/utils/dom/index.d.ts +5 -1
  86. package/utils/dom/inject-element.d.ts +1 -0
  87. package/utils/index.d.ts +3 -0
  88. package/utils/math/clamp.d.ts +8 -0
  89. package/utils/math/index.d.ts +1 -0
  90. package/utils/miscellaneous/array-remove.d.ts +1 -0
  91. package/utils/miscellaneous/index.d.ts +4 -0
  92. package/utils/miscellaneous/is-present.d.ts +1 -0
  93. package/utils/miscellaneous/pure.d.ts +21 -0
  94. package/utils/miscellaneous/px.d.ts +4 -0
  95. package/utils/platform/index.d.ts +1 -0
  96. package/utils/platform/is-ios.d.ts +3 -0
  97. package/esm2020/constants/index.mjs +0 -2
  98. package/esm2020/directives/index.mjs +0 -11
  99. package/esm2020/services/id.service.mjs +0 -18
  100. package/esm2020/tokens/index.mjs +0 -5
  101. package/esm2020/types/index.mjs +0 -7
  102. package/esm2020/utils/dom/index.mjs +0 -3
  103. package/esm2020/utils/dom/is-html-element.mjs +0 -4
  104. package/esm2020/utils/index.mjs +0 -4
  105. package/fesm2015/cuby-ui-cdk.mjs +0 -572
  106. package/fesm2015/cuby-ui-cdk.mjs.map +0 -1
  107. package/fesm2020/cuby-ui-cdk.mjs +0 -579
  108. package/fesm2020/cuby-ui-cdk.mjs.map +0 -1
  109. package/utils/dom/is-html-element.d.ts +0 -1
  110. /package/{esm2020 → esm2022}/constants/svg-node-filter.mjs +0 -0
  111. /package/{esm2020 → esm2022}/cuby-ui-cdk.mjs +0 -0
  112. /package/{esm2020 → esm2022}/date-time/index.mjs +0 -0
  113. /package/{esm2020 → esm2022}/date-time/time.mjs +0 -0
  114. /package/{esm2020 → esm2022}/directives/let.context.mjs +0 -0
  115. /package/{esm2020 → esm2022}/index.mjs +0 -0
  116. /package/{esm2020 → esm2022}/interfaces/dimensions.mjs +0 -0
  117. /package/{esm2020 → esm2022}/interfaces/index.mjs +0 -0
  118. /package/{esm2020 → esm2022}/interfaces/on-change.mjs +0 -0
  119. /package/{esm2020 → esm2022}/interfaces/on-touched.mjs +0 -0
  120. /package/{esm2020 → esm2022}/pipes/index.mjs +0 -0
  121. /package/{esm2020 → esm2022}/services/index.mjs +0 -0
  122. /package/{esm2020 → esm2022}/tokens/history.mjs +0 -0
  123. /package/{esm2020 → esm2022}/tokens/local-storage.mjs +0 -0
  124. /package/{esm2020 → esm2022}/tokens/session-storage.mjs +0 -0
  125. /package/{esm2020 → esm2022}/tokens/window.mjs +0 -0
  126. /package/{esm2020 → esm2022}/types/date-time.mjs +0 -0
  127. /package/{esm2020 → esm2022}/types/input-type.mjs +0 -0
  128. /package/{esm2020 → esm2022}/types/mapper.mjs +0 -0
  129. /package/{esm2020 → esm2022}/types/matcher.mjs +0 -0
  130. /package/{esm2020 → esm2022}/types/nullable.mjs +0 -0
  131. /package/{esm2020 → esm2022}/types/value-of.mjs +0 -0
  132. /package/{esm2020 → esm2022}/utils/dom/contains-or-after.mjs +0 -0
  133. /package/{esm2020 → esm2022}/utils/focus/blur-native-focused.mjs +0 -0
  134. /package/{esm2020 → esm2022}/utils/focus/get-closest-focusable.mjs +0 -0
  135. /package/{esm2020 → esm2022}/utils/focus/get-native-focused.mjs +0 -0
  136. /package/{esm2020 → esm2022}/utils/focus/index.mjs +0 -0
  137. /package/{esm2020 → esm2022}/utils/focus/is-native-keyboard-focusable.mjs +0 -0
  138. /package/{esm2020 → esm2022}/utils/focus/is-native-mouse-focusable.mjs +0 -0
  139. /package/{esm2020 → esm2022}/utils/token/create-token.mjs +0 -0
  140. /package/{esm2020 → esm2022}/utils/token/index.mjs +0 -0
  141. /package/{esm2020 → esm2022}/utils/token/provide.mjs +0 -0
@@ -19,10 +19,10 @@ export class CuiTargetDirective {
19
19
  destroyClickListener() {
20
20
  this.ccTarget.removeEventListener('click', this.clickListener);
21
21
  }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTargetDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CuiTargetDirective, isStandalone: true, selector: "[ccTarget]", inputs: { ccTarget: "ccTarget" }, outputs: { clicked: "clicked" }, ngImport: i0 }); }
22
24
  }
23
- CuiTargetDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTargetDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
24
- CuiTargetDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiTargetDirective, isStandalone: true, selector: "[ccTarget]", inputs: { ccTarget: "ccTarget" }, outputs: { clicked: "clicked" }, ngImport: i0 });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiTargetDirective, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTargetDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{
28
28
  standalone: true,
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
33
33
  }], clicked: [{
34
34
  type: Output
35
35
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL3RhcmdldC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNdkUsTUFBTSxPQUFPLGtCQUFrQjtJQUovQjtRQUttQixrQkFBYSxHQUFHLENBQUMsS0FBaUIsRUFBUSxFQUFFO1lBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQztRQU1LLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0tBaUJqRDtJQWZRLFFBQVE7UUFDYixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqRSxDQUFDOztnSEF6QlUsa0JBQWtCO29HQUFsQixrQkFBa0I7NEZBQWxCLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLFlBQVk7aUJBQ3ZCOzhCQU9RLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxPQUFPO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHNlbGVjdG9yOiAnW2NjVGFyZ2V0XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWlUYXJnZXREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjbGlja0xpc3RlbmVyID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XHJcbiAgICB0aGlzLmNsaWNrZWQuZW1pdChldmVudCk7XHJcbiAgfTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2NUYXJnZXQhOiBIVE1MRWxlbWVudDtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdENsaWNrTGlzdGVuZXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveUNsaWNrTGlzdGVuZXIoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdENsaWNrTGlzdGVuZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNjVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja0xpc3RlbmVyKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVzdHJveUNsaWNrTGlzdGVuZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNjVGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja0xpc3RlbmVyKTtcclxuICB9XHJcbn1cclxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL3RhcmdldC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNdkUsTUFBTSxPQUFPLGtCQUFrQjtJQUovQjtRQUttQixrQkFBYSxHQUFHLENBQUMsS0FBaUIsRUFBUSxFQUFFO1lBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQztRQU1LLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0tBaUJqRDtJQWZRLFFBQVE7UUFDYixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqRSxDQUFDOytHQXpCVSxrQkFBa0I7bUdBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLFlBQVk7aUJBQ3ZCOzhCQU9RLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxPQUFPO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHNlbGVjdG9yOiAnW2NjVGFyZ2V0XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWlUYXJnZXREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjbGlja0xpc3RlbmVyID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XHJcbiAgICB0aGlzLmNsaWNrZWQuZW1pdChldmVudCk7XHJcbiAgfTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2NUYXJnZXQhOiBIVE1MRWxlbWVudDtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdENsaWNrTGlzdGVuZXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveUNsaWNrTGlzdGVuZXIoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdENsaWNrTGlzdGVuZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNjVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja0xpc3RlbmVyKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVzdHJveUNsaWNrTGlzdGVuZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNjVGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja0xpc3RlbmVyKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,5 @@
1
+ import { EMPTY, pipe, switchMap } from 'rxjs';
2
+ export function cuiIfMap(project, predicate = Boolean) {
3
+ return pipe(switchMap((value) => (predicate(value) ? project(value) : EMPTY)));
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtbWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL29ic2VydmFibGVzL2lmLW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFNUMsTUFBTSxVQUFVLFFBQVEsQ0FDcEIsT0FBb0MsRUFDcEMsWUFBa0MsT0FBTztJQUV6QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0N1aUJvb2xlYW5IYW5kbGVyfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgdHlwZSB7T2JzZXJ2YWJsZSwgT3BlcmF0b3JGdW5jdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0VNUFRZLCBwaXBlLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3VpSWZNYXA8VCwgRz4oXG4gICAgcHJvamVjdDogKHZhbHVlOiBUKSA9PiBPYnNlcnZhYmxlPEc+LFxuICAgIHByZWRpY2F0ZTogQ3VpQm9vbGVhbkhhbmRsZXI8VD4gPSBCb29sZWFuLFxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBHPiB7XG4gICAgcmV0dXJuIHBpcGUoc3dpdGNoTWFwKCh2YWx1ZSkgPT4gKHByZWRpY2F0ZSh2YWx1ZSkgPyBwcm9qZWN0KHZhbHVlKSA6IEVNUFRZKSkpO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ export * from './if-map';
2
+ export * from './typed-from-event';
3
+ export * from './watch';
4
+ export * from './zone';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvb2JzZXJ2YWJsZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaWYtbWFwJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZWQtZnJvbS1ldmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3dhdGNoJztcbmV4cG9ydCAqIGZyb20gJy4vem9uZSc7Il19
@@ -0,0 +1,9 @@
1
+ import { fromEvent } from 'rxjs';
2
+ export function cuiTypedFromEvent(target, event, options = {}) {
3
+ /**
4
+ * @note:
5
+ * in RxJS 7 type signature `CuiTypedEventTarget<E>` !== `HasEventTargetAddRemove<E>`
6
+ */
7
+ return fromEvent(target, event, options);
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWQtZnJvbS1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9vYnNlcnZhYmxlcy90eXBlZC1mcm9tLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUF1RC9CLE1BQU0sVUFBVSxpQkFBaUIsQ0FDN0IsTUFBOEIsRUFDOUIsS0FBYSxFQUNiLFVBQW1DLEVBQUU7SUFFckM7OztPQUdHO0lBQ0gsT0FBTyxTQUFTLENBQUksTUFBYSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQTZCLENBQUM7QUFDbkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZnJvbUV2ZW50fSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBDdWlUeXBlZEV2ZW50VGFyZ2V0PEU+IHtcbiAgICBhZGRFdmVudExpc3RlbmVyKFxuICAgICAgICB0eXBlOiBzdHJpbmcsXG4gICAgICAgIGxpc3RlbmVyOiAoKGV2dDogRSkgPT4gdm9pZCkgfCBudWxsLFxuICAgICAgICBvcHRpb25zPzogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgfCBib29sZWFuLFxuICAgICk6IHZvaWQ7XG4gICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgdHlwZTogc3RyaW5nLFxuICAgICAgICBsaXN0ZW5lcj86ICgoZXZ0OiBFKSA9PiB2b2lkKSB8IG51bGwsXG4gICAgICAgIG9wdGlvbnM/OiBFdmVudExpc3RlbmVyT3B0aW9ucyB8IGJvb2xlYW4sXG4gICAgKTogdm9pZDtcbn1cblxuLyoqXG4gKiBXcmFwcGVyIGFyb3VuZCB7QGxpbmsgRXZlbnR9IHRvIGFkZCB0eXBpbmdzIHRvIHRhcmdldCBhbmQgY3VycmVudFRhcmdldC5cbiAqL1xuZXhwb3J0IHR5cGUgQ3VpRXZlbnRXaXRoPEcgZXh0ZW5kcyBFdmVudCwgVCBleHRlbmRzIEN1aVR5cGVkRXZlbnRUYXJnZXQ8Rz4+ID0gRyAmIHtcbiAgICByZWFkb25seSBjdXJyZW50VGFyZ2V0OiBUO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGN1aVR5cGVkRnJvbUV2ZW50PEUgZXh0ZW5kcyBrZXlvZiBXaW5kb3dFdmVudE1hcD4oXG4gICAgdGFyZ2V0OiBXaW5kb3csXG4gICAgZXZlbnQ6IEUsXG4gICAgb3B0aW9ucz86IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLFxuKTogT2JzZXJ2YWJsZTxDdWlFdmVudFdpdGg8V2luZG93RXZlbnRNYXBbRV0sIHR5cGVvZiB0YXJnZXQ+PjtcblxuZXhwb3J0IGZ1bmN0aW9uIGN1aVR5cGVkRnJvbUV2ZW50PEUgZXh0ZW5kcyBrZXlvZiBEb2N1bWVudEV2ZW50TWFwPihcbiAgICB0YXJnZXQ6IERvY3VtZW50LFxuICAgIGV2ZW50OiBFLFxuICAgIG9wdGlvbnM/OiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyxcbik6IE9ic2VydmFibGU8Q3VpRXZlbnRXaXRoPERvY3VtZW50RXZlbnRNYXBbRV0sIHR5cGVvZiB0YXJnZXQ+PjtcblxuZXhwb3J0IGZ1bmN0aW9uIGN1aVR5cGVkRnJvbUV2ZW50PFQgZXh0ZW5kcyBFbGVtZW50LCBFIGV4dGVuZHMga2V5b2YgSFRNTEVsZW1lbnRFdmVudE1hcD4oXG4gICAgdGFyZ2V0OiBULFxuICAgIGV2ZW50OiBFLFxuICAgIG9wdGlvbnM/OiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyxcbik6IE9ic2VydmFibGU8Q3VpRXZlbnRXaXRoPEhUTUxFbGVtZW50RXZlbnRNYXBbRV0sIHR5cGVvZiB0YXJnZXQ+PjtcblxuZXhwb3J0IGZ1bmN0aW9uIGN1aVR5cGVkRnJvbUV2ZW50PFxuICAgIEUgZXh0ZW5kcyBFdmVudCxcbiAgICBUIGV4dGVuZHMgQ3VpVHlwZWRFdmVudFRhcmdldDxDdWlFdmVudFdpdGg8RSwgVD4+LFxuPihcbiAgICB0YXJnZXQ6IFQsXG4gICAgZXZlbnQ6IHN0cmluZyxcbiAgICBvcHRpb25zPzogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMsXG4pOiBPYnNlcnZhYmxlPEN1aUV2ZW50V2l0aDxFLCBUPj47XG5cbmV4cG9ydCBmdW5jdGlvbiBjdWlUeXBlZEZyb21FdmVudDxFIGV4dGVuZHMgRXZlbnQ+KFxuICAgIHRhcmdldDogQ3VpVHlwZWRFdmVudFRhcmdldDxFPixcbiAgICBldmVudDogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyxcbik6IE9ic2VydmFibGU8RT47XG5cbmV4cG9ydCBmdW5jdGlvbiBjdWlUeXBlZEZyb21FdmVudDxFIGV4dGVuZHMgRXZlbnQ+KFxuICAgIHRhcmdldDogQ3VpVHlwZWRFdmVudFRhcmdldDxFPixcbiAgICBldmVudDogc3RyaW5nLFxuICAgIG9wdGlvbnM6IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zID0ge30sXG4pOiBPYnNlcnZhYmxlPEU+IHtcbiAgICAvKipcbiAgICAgKiBAbm90ZTpcbiAgICAgKiBpbiBSeEpTIDcgdHlwZSBzaWduYXR1cmUgYEN1aVR5cGVkRXZlbnRUYXJnZXQ8RT5gICE9PSBgSGFzRXZlbnRUYXJnZXRBZGRSZW1vdmU8RT5gXG4gICAgICovXG4gICAgcmV0dXJuIGZyb21FdmVudDxFPih0YXJnZXQgYXMgYW55LCBldmVudCwgb3B0aW9ucykgYXMgdW5rbm93biBhcyBPYnNlcnZhYmxlPEU+O1xufVxuIl19
@@ -0,0 +1,6 @@
1
+ import { ChangeDetectorRef, inject } from '@angular/core';
2
+ import { tap } from 'rxjs';
3
+ export function cuiWatch(cdr = inject(ChangeDetectorRef)) {
4
+ return tap(() => cdr.markForCheck());
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvb2JzZXJ2YWJsZXMvd2F0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpCLE1BQU0sVUFBVSxRQUFRLENBQ3RCLEdBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUM7SUFFL0IsT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7TW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFwfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGN1aVdhdGNoPFQ+KFxuICBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpLFxuKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIHRhcCgoKSA9PiBjZHIubWFya0ZvckNoZWNrKCkpO1xufVxuIl19
@@ -0,0 +1,34 @@
1
+ import { inject, NgZone } from '@angular/core';
2
+ import { asyncScheduler, Observable, pipe } from 'rxjs';
3
+ export function cuiZonefull(zone = inject(NgZone)) {
4
+ return (source) => new Observable((subscriber) => source.subscribe({
5
+ next: (value) => zone.run(() => subscriber.next(value)),
6
+ error: (error) => zone.run(() => subscriber.error(error)),
7
+ complete: () => zone.run(() => subscriber.complete()),
8
+ }));
9
+ }
10
+ export function cuiZonefree(zone = inject(NgZone)) {
11
+ return (source) => new Observable((subscriber) => zone.runOutsideAngular(() => source.subscribe(subscriber)));
12
+ }
13
+ export function cuiZoneOptimized(zone = inject(NgZone)) {
14
+ return pipe(cuiZonefree(zone), cuiZonefull(zone));
15
+ }
16
+ class CuiZoneScheduler {
17
+ constructor(zoneConditionFn, scheduler = asyncScheduler) {
18
+ this.zoneConditionFn = zoneConditionFn;
19
+ this.scheduler = scheduler;
20
+ }
21
+ now() {
22
+ return this.scheduler.now();
23
+ }
24
+ schedule(...args) {
25
+ return this.zoneConditionFn(() => this.scheduler.schedule(...args));
26
+ }
27
+ }
28
+ export function cuiZonefreeScheduler(zone = inject(NgZone), scheduler = asyncScheduler) {
29
+ return new CuiZoneScheduler(zone.runOutsideAngular.bind(zone), scheduler);
30
+ }
31
+ export function cuiZonefullScheduler(zone = inject(NgZone), scheduler = asyncScheduler) {
32
+ return new CuiZoneScheduler(zone.run.bind(zone), scheduler);
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9vYnNlcnZhYmxlcy96b25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV0RCxNQUFNLFVBQVUsV0FBVyxDQUFJLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ2xELE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNoQixJQUFJLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQzVCLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDZixJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RCxLQUFLLEVBQUUsQ0FBQyxLQUFjLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDdEQsQ0FBQyxDQUNILENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNsRCxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDaEIsSUFBSSxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUMzRCxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUN2RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUVELE1BQU0sZ0JBQWdCO0lBQ3BCLFlBQ21CLGVBQXdELEVBQ3hELFlBQTJCLGNBQWM7UUFEekMsb0JBQWUsR0FBZixlQUFlLENBQXlDO1FBQ3hELGNBQVMsR0FBVCxTQUFTLENBQWdDO0lBQ3pELENBQUM7SUFFRyxHQUFHO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSxRQUFRLENBQUMsR0FBRyxJQUEyQztRQUM1RCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFDckIsWUFBMkIsY0FBYztJQUV6QyxPQUFPLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM1RSxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUNyQixZQUEyQixjQUFjO0lBRXpDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7TW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBTY2hlZHVsZXJMaWtlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHthc3luY1NjaGVkdWxlciwgT2JzZXJ2YWJsZSwgcGlwZX0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjdWlab25lZnVsbDxUPih6b25lID0gaW5qZWN0KE5nWm9uZSkpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICByZXR1cm4gKHNvdXJjZSkgPT5cbiAgICBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT5cbiAgICAgIHNvdXJjZS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAodmFsdWUpID0+IHpvbmUucnVuKCgpID0+IHN1YnNjcmliZXIubmV4dCh2YWx1ZSkpLFxuICAgICAgICBlcnJvcjogKGVycm9yOiB1bmtub3duKSA9PiB6b25lLnJ1bigoKSA9PiBzdWJzY3JpYmVyLmVycm9yKGVycm9yKSksXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB6b25lLnJ1bigoKSA9PiBzdWJzY3JpYmVyLmNvbXBsZXRlKCkpLFxuICAgICAgfSksXG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGN1aVpvbmVmcmVlPFQ+KHpvbmUgPSBpbmplY3QoTmdab25lKSk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIHJldHVybiAoc291cmNlKSA9PlxuICAgIG5ldyBPYnNlcnZhYmxlKChzdWJzY3JpYmVyKSA9PlxuICAgICAgem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBzb3VyY2Uuc3Vic2NyaWJlKHN1YnNjcmliZXIpKSxcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3VpWm9uZU9wdGltaXplZDxUPih6b25lID0gaW5qZWN0KE5nWm9uZSkpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICByZXR1cm4gcGlwZShjdWlab25lZnJlZSh6b25lKSwgY3VpWm9uZWZ1bGwoem9uZSkpO1xufVxuXG5jbGFzcyBDdWlab25lU2NoZWR1bGVyIGltcGxlbWVudHMgU2NoZWR1bGVyTGlrZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZUNvbmRpdGlvbkZuOiA8VD4oZm46ICguLi5hcmdzOiB1bmtub3duW10pID0+IFQpID0+IFQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UgPSBhc3luY1NjaGVkdWxlcixcbiAgKSB7fVxuXG4gIHB1YmxpYyBub3coKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zY2hlZHVsZXIubm93KCk7XG4gIH1cblxuICBwdWJsaWMgc2NoZWR1bGUoLi4uYXJnczogUGFyYW1ldGVyczxTY2hlZHVsZXJMaWtlWydzY2hlZHVsZSddPik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuem9uZUNvbmRpdGlvbkZuKCgpID0+IHRoaXMuc2NoZWR1bGVyLnNjaGVkdWxlKC4uLmFyZ3MpKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3VpWm9uZWZyZWVTY2hlZHVsZXIoXG4gIHpvbmUgPSBpbmplY3QoTmdab25lKSxcbiAgc2NoZWR1bGVyOiBTY2hlZHVsZXJMaWtlID0gYXN5bmNTY2hlZHVsZXIsXG4pOiBTY2hlZHVsZXJMaWtlIHtcbiAgcmV0dXJuIG5ldyBDdWlab25lU2NoZWR1bGVyKHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIuYmluZCh6b25lKSwgc2NoZWR1bGVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGN1aVpvbmVmdWxsU2NoZWR1bGVyKFxuICB6b25lID0gaW5qZWN0KE5nWm9uZSksXG4gIHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSA9IGFzeW5jU2NoZWR1bGVyLFxuKTogU2NoZWR1bGVyTGlrZSB7XG4gIHJldHVybiBuZXcgQ3VpWm9uZVNjaGVkdWxlcih6b25lLnJ1bi5iaW5kKHpvbmUpLCBzY2hlZHVsZXIpO1xufVxuIl19
@@ -4,14 +4,14 @@ export class CuiFilterPipe {
4
4
  transform(items, matcher, ...args) {
5
5
  return items.filter(item => matcher(item, ...args));
6
6
  }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: CuiFilterPipe, isStandalone: true, name: "cuiFilter" }); }
7
9
  }
8
- CuiFilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
- CuiFilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CuiFilterPipe, isStandalone: true, name: "cuiFilter" });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiFilterPipe, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiFilterPipe, decorators: [{
11
11
  type: Pipe,
12
12
  args: [{
13
13
  standalone: true,
14
14
  name: 'cuiFilter'
15
15
  }]
16
16
  }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvcGlwZXMvZmlsdGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRckMsTUFBTSxPQUFPLGFBQWE7SUFDeEIsU0FBUyxDQUF5QixLQUF1QixFQUFFLE9BQThCLEVBQUUsR0FBRyxJQUFPO1FBQ25HLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7OzJHQUhVLGFBQWE7eUdBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUp6QixJQUFJO21CQUFDO29CQUNKLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsV0FBVztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ3VpTWF0Y2hlciB9IGZyb20gJy4uL3R5cGVzJztcblxuQFBpcGUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBuYW1lOiAnY3VpRmlsdGVyJ1xufSlcbmV4cG9ydCBjbGFzcyBDdWlGaWx0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybTxULCBVIGV4dGVuZHMgdW5rbm93bltdPihpdGVtczogUmVhZG9ubHlBcnJheTxUPiwgbWF0Y2hlcjogQ3VpTWF0Y2hlcjxbVCwgLi4uVV0+LCAuLi5hcmdzOiBVKTogVFtdIHtcbiAgICByZXR1cm4gaXRlbXMuZmlsdGVyKGl0ZW0gPT4gbWF0Y2hlcihpdGVtLCAuLi5hcmdzKSk7XG4gIH1cbn1cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvcGlwZXMvZmlsdGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRckMsTUFBTSxPQUFPLGFBQWE7SUFDeEIsU0FBUyxDQUF5QixLQUF1QixFQUFFLE9BQThCLEVBQUUsR0FBRyxJQUFPO1FBQ25HLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7K0dBSFUsYUFBYTs2R0FBYixhQUFhOzs0RkFBYixhQUFhO2tCQUp6QixJQUFJO21CQUFDO29CQUNKLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsV0FBVztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ3VpTWF0Y2hlciB9IGZyb20gJy4uL3R5cGVzJztcblxuQFBpcGUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBuYW1lOiAnY3VpRmlsdGVyJ1xufSlcbmV4cG9ydCBjbGFzcyBDdWlGaWx0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybTxULCBVIGV4dGVuZHMgdW5rbm93bltdPihpdGVtczogUmVhZG9ubHlBcnJheTxUPiwgbWF0Y2hlcjogQ3VpTWF0Y2hlcjxbVCwgLi4uVV0+LCAuLi5hcmdzOiBVKTogVFtdIHtcbiAgICByZXR1cm4gaXRlbXMuZmlsdGVyKGl0ZW0gPT4gbWF0Y2hlcihpdGVtLCAuLi5hcmdzKSk7XG4gIH1cbn1cbiJdfQ==
@@ -6,10 +6,10 @@ export class CuiDestroyService extends Subject {
6
6
  this.next();
7
7
  this.complete();
8
8
  }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiDestroyService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
10
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiDestroyService }); }
9
11
  }
10
- CuiDestroyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDestroyService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11
- CuiDestroyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDestroyService });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDestroyService, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiDestroyService, decorators: [{
13
13
  type: Injectable
14
14
  }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzdHJveS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NlcnZpY2VzL2Rlc3Ryb3kuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRy9CLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxPQUFhO0lBQzNDLFdBQVc7UUFDaEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7OytHQUpVLGlCQUFpQjttSEFBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3VpRGVzdHJveVNlcnZpY2UgZXh0ZW5kcyBTdWJqZWN0PHZvaWQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmV4dCgpO1xuICAgIHRoaXMuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzdHJveS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NlcnZpY2VzL2Rlc3Ryb3kuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRy9CLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxPQUFhO0lBQzNDLFdBQVc7UUFDaEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7K0dBSlUsaUJBQWlCO21IQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3VpRGVzdHJveVNlcnZpY2UgZXh0ZW5kcyBTdWJqZWN0PHZvaWQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmV4dCgpO1xuICAgIHRoaXMuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,18 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const CUI = 'cui_';
4
+ export class CuiIdService {
5
+ static { this.autoId = 0; }
6
+ generate() {
7
+ return `${CUI}${CuiIdService.autoId++}${Date.now()}`;
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
10
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiIdService, providedIn: 'root' }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiIdService, decorators: [{
13
+ type: Injectable,
14
+ args: [{
15
+ providedIn: 'root'
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zZXJ2aWNlcy9pZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQztBQUtuQixNQUFNLE9BQU8sWUFBWTthQUNSLFdBQU0sR0FBRyxDQUFDLENBQUM7SUFFbkIsUUFBUTtRQUNiLE9BQU8sR0FBRyxHQUFHLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO0lBQ3ZELENBQUM7K0dBTFUsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmNvbnN0IENVSSA9ICdjdWlfJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ3VpSWRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgYXV0b0lkID0gMDtcblxuICBwdWJsaWMgZ2VuZXJhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7Q1VJfSR7Q3VpSWRTZXJ2aWNlLmF1dG9JZCsrfSR7RGF0ZS5ub3coKX1gO1xuICB9XG59XG4iXX0=
@@ -32,10 +32,10 @@ export class CuiPopoverService {
32
32
  closeAll() {
33
33
  this.items$.next([]);
34
34
  }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiPopoverService, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
36
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiPopoverService }); }
35
37
  }
36
- CuiPopoverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiPopoverService, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
37
- CuiPopoverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiPopoverService });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiPopoverService, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiPopoverService, decorators: [{
39
39
  type: Injectable
40
40
  }], ctorParameters: function () { return [{ type: undefined }, { type: undefined }, { type: undefined }]; } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NlcnZpY2VzL3BvcG92ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBYzVDLE1BQU0sT0FBZ0IsaUJBQWlCO0lBS3JDLFlBQ0UsS0FBbUUsRUFDbkUsU0FBb0IsRUFDSCxVQUFhLEVBQU87UUFBcEIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQVB0QixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQVNuRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRU0sSUFBSSxDQUNULE9BQXFDLEVBQ3JDLFVBQXNCLEVBQUU7UUFFeEIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixNQUFNLElBQUksR0FBa0I7Z0JBQzFCLEdBQUcsSUFBSSxDQUFDLE9BQU87Z0JBQ2YsR0FBRyxPQUFPO2dCQUNWLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2hDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLFlBQVksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUN2QixRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN0QixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLENBQUM7YUFDRixDQUFDO1lBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFFL0MsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdEUsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7OytHQTFDbUIsaUJBQWlCO21IQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvdmlkZXJUb2tlbiwgVGVtcGxhdGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEN1aUlkU2VydmljZSB9IGZyb20gJy4vaWQuc2VydmljZSc7XG5cbi8vIFRPRE86IENvbnRlbnQg0LTQvtC70LbQtdC9INCx0YvRgtGMINGC0LjQv9C+0Lwg0LjQtyDQtNC40YDQtdC60YLQuNCy0YsgKmNvbnRlbnRcbmV4cG9ydCBpbnRlcmZhY2UgQ3VpUG9wb3ZlckNvbnRleHQge1xuICByZWFkb25seSAkaW1wbGljaXQ6IE9ic2VydmVyPGFueT47XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbXBvbmVudDogVHlwZTx1bmtub3duPjtcbiAgcmVhZG9ubHkgY29udGVudDogVHlwZTx1bmtub3duPiB8IFRlbXBsYXRlUmVmPHVua25vd24+IHwgc3RyaW5nO1xuICByZWFkb25seSBjb21wbGV0ZVdpdGg6ICh2YWx1ZT86IGFueSkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgQ3VpUG9wb3ZlcjxUPiA9IFQgJiBDdWlQb3BvdmVyQ29udGV4dDtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEN1aVBvcG92ZXJTZXJ2aWNlPFQ+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjdWlJZFNlcnZpY2UgPSBpbmplY3QoQ3VpSWRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpdGVtcyQ6IEJlaGF2aW9yU3ViamVjdDxSZWFkb25seUFycmF5PEN1aVBvcG92ZXI8VD4+PjtcbiAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnQ6IFR5cGU8YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpdGVtczogUHJvdmlkZXJUb2tlbjxCZWhhdmlvclN1YmplY3Q8UmVhZG9ubHlBcnJheTxDdWlQb3BvdmVyPFQ+Pj4+LFxuICAgIGNvbXBvbmVudDogVHlwZTxhbnk+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVCA9IHt9IGFzIFRcbiAgKSB7XG4gICAgdGhpcy5pdGVtcyQgPSBpbmplY3QoaXRlbXMpO1xuICAgIHRoaXMuY29tcG9uZW50ID0gY29tcG9uZW50O1xuICB9XG5cbiAgcHVibGljIG9wZW4oXG4gICAgY29udGVudDogQ3VpUG9wb3ZlckNvbnRleHRbJ2NvbnRlbnQnXSxcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFQ+ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgY29uc3QgaXRlbTogQ3VpUG9wb3ZlcjxUPiA9IHtcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAkaW1wbGljaXQ6IG9ic2VydmVyLFxuICAgICAgICBpZDogdGhpcy5jdWlJZFNlcnZpY2UuZ2VuZXJhdGUoKSxcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLmNvbXBvbmVudCxcbiAgICAgICAgY29udGVudDogY29udGVudCxcbiAgICAgICAgY29tcGxldGVXaXRoOiAocmVzdWx0KSA9PiB7XG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXN1bHQpO1xuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICB0aGlzLml0ZW1zJC5uZXh0KFsuLi50aGlzLml0ZW1zJC52YWx1ZSwgaXRlbV0pO1xuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB0aGlzLml0ZW1zJC5uZXh0KHRoaXMuaXRlbXMkLnZhbHVlLmZpbHRlcih2YWx1ZSA9PiB2YWx1ZSAhPT0gaXRlbSkpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zJC5uZXh0KFtdKTtcbiAgfVxufVxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NlcnZpY2VzL3BvcG92ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBYzVDLE1BQU0sT0FBZ0IsaUJBQWlCO0lBS3JDLFlBQ0UsS0FBbUUsRUFDbkUsU0FBb0IsRUFDSCxVQUFhLEVBQU87UUFBcEIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQVB0QixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQVNuRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRU0sSUFBSSxDQUNULE9BQXFDLEVBQ3JDLFVBQXNCLEVBQUU7UUFFeEIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixNQUFNLElBQUksR0FBa0I7Z0JBQzFCLEdBQUcsSUFBSSxDQUFDLE9BQU87Z0JBQ2YsR0FBRyxPQUFPO2dCQUNWLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2hDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLFlBQVksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUN2QixRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN0QixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLENBQUM7YUFDRixDQUFDO1lBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFFL0MsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdEUsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7K0dBMUNtQixpQkFBaUI7bUhBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvdmlkZXJUb2tlbiwgVGVtcGxhdGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEN1aUlkU2VydmljZSB9IGZyb20gJy4vaWQuc2VydmljZSc7XG5cbi8vIFRPRE86IENvbnRlbnQg0LTQvtC70LbQtdC9INCx0YvRgtGMINGC0LjQv9C+0Lwg0LjQtyDQtNC40YDQtdC60YLQuNCy0YsgKmNvbnRlbnRcbmV4cG9ydCBpbnRlcmZhY2UgQ3VpUG9wb3ZlckNvbnRleHQge1xuICByZWFkb25seSAkaW1wbGljaXQ6IE9ic2VydmVyPGFueT47XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbXBvbmVudDogVHlwZTx1bmtub3duPjtcbiAgcmVhZG9ubHkgY29udGVudDogVHlwZTx1bmtub3duPiB8IFRlbXBsYXRlUmVmPHVua25vd24+IHwgc3RyaW5nO1xuICByZWFkb25seSBjb21wbGV0ZVdpdGg6ICh2YWx1ZT86IGFueSkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgQ3VpUG9wb3ZlcjxUPiA9IFQgJiBDdWlQb3BvdmVyQ29udGV4dDtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEN1aVBvcG92ZXJTZXJ2aWNlPFQ+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjdWlJZFNlcnZpY2UgPSBpbmplY3QoQ3VpSWRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpdGVtcyQ6IEJlaGF2aW9yU3ViamVjdDxSZWFkb25seUFycmF5PEN1aVBvcG92ZXI8VD4+PjtcbiAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnQ6IFR5cGU8YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpdGVtczogUHJvdmlkZXJUb2tlbjxCZWhhdmlvclN1YmplY3Q8UmVhZG9ubHlBcnJheTxDdWlQb3BvdmVyPFQ+Pj4+LFxuICAgIGNvbXBvbmVudDogVHlwZTxhbnk+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVCA9IHt9IGFzIFRcbiAgKSB7XG4gICAgdGhpcy5pdGVtcyQgPSBpbmplY3QoaXRlbXMpO1xuICAgIHRoaXMuY29tcG9uZW50ID0gY29tcG9uZW50O1xuICB9XG5cbiAgcHVibGljIG9wZW4oXG4gICAgY29udGVudDogQ3VpUG9wb3ZlckNvbnRleHRbJ2NvbnRlbnQnXSxcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFQ+ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgY29uc3QgaXRlbTogQ3VpUG9wb3ZlcjxUPiA9IHtcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAkaW1wbGljaXQ6IG9ic2VydmVyLFxuICAgICAgICBpZDogdGhpcy5jdWlJZFNlcnZpY2UuZ2VuZXJhdGUoKSxcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLmNvbXBvbmVudCxcbiAgICAgICAgY29udGVudDogY29udGVudCxcbiAgICAgICAgY29tcGxldGVXaXRoOiAocmVzdWx0KSA9PiB7XG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXN1bHQpO1xuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICB0aGlzLml0ZW1zJC5uZXh0KFsuLi50aGlzLml0ZW1zJC52YWx1ZSwgaXRlbV0pO1xuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB0aGlzLml0ZW1zJC5uZXh0KHRoaXMuaXRlbXMkLnZhbHVlLmZpbHRlcih2YWx1ZSA9PiB2YWx1ZSAhPT0gaXRlbSkpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zJC5uZXh0KFtdKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,54 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { inject, NgZone } from '@angular/core';
3
+ import { CUI_WINDOW } from './window';
4
+ import { cuiTypedFromEvent, cuiZonefreeScheduler } from '../observables';
5
+ import { cuiCreateTokenFromFactory, cuiGetActualTarget, cuiGetDocumentOrShadowRoot, cuiIsNativeMouseFocusable, } from '../utils';
6
+ import { distinctUntilChanged, filter, map, merge, of, repeat, share, startWith, switchMap, take, takeUntil, timer, withLatestFrom, } from 'rxjs';
7
+ import { CUI_REMOVED_ELEMENT } from './removed-element';
8
+ // Checks if focusout event should be considered leaving active zone
9
+ function isValidFocusout(target, removedElement = null) {
10
+ return (
11
+ // Not due to switching tabs/going to DevTools
12
+ cuiGetDocumentOrShadowRoot(target).activeElement !== target &&
13
+ // Not due to button/input becoming disabled or under disabled fieldset
14
+ !target.matches(':disabled') &&
15
+ // Not due to element being removed from DOM
16
+ !removedElement?.contains(target) &&
17
+ // Not due to scrollable element became non-scrollable
18
+ cuiIsNativeMouseFocusable(target));
19
+ }
20
+ function shadowRootActiveElement(root) {
21
+ return merge(cuiTypedFromEvent(root, 'focusin').pipe(map(({ target }) => target)), cuiTypedFromEvent(root, 'focusout').pipe(filter(({ target, relatedTarget }) => !!relatedTarget && isValidFocusout(target)), map(({ relatedTarget }) => relatedTarget)));
22
+ }
23
+ /**
24
+ * Active element on the document for ActiveZone
25
+ */
26
+ export const CUI_ACTIVE_ELEMENT = cuiCreateTokenFromFactory(() => {
27
+ const removedElement$ = inject(CUI_REMOVED_ELEMENT);
28
+ const win = inject(CUI_WINDOW);
29
+ const doc = inject(DOCUMENT);
30
+ const zone = inject(NgZone);
31
+ const focusout$ = cuiTypedFromEvent(win, 'focusout', { capture: true });
32
+ const focusin$ = cuiTypedFromEvent(win, 'focusin', { capture: true });
33
+ const blur$ = cuiTypedFromEvent(win, 'blur');
34
+ const mousedown$ = cuiTypedFromEvent(win, 'mousedown');
35
+ const mouseup$ = cuiTypedFromEvent(win, 'mouseup');
36
+ return merge(focusout$.pipe(takeUntil(mousedown$), repeat({ delay: () => mouseup$ }), withLatestFrom(removedElement$), filter(([event, removedElement]) => isValidFocusout(cuiGetActualTarget(event), removedElement)), map(([{ relatedTarget }]) => relatedTarget)), blur$.pipe(map(() => doc.activeElement), filter((element) => !!element?.matches('iframe'))), focusin$.pipe(switchMap((event) => {
37
+ const target = cuiGetActualTarget(event);
38
+ const root = cuiGetDocumentOrShadowRoot(target);
39
+ return root === doc
40
+ ? of(target)
41
+ : shadowRootActiveElement(root).pipe(startWith(target));
42
+ })), mousedown$.pipe(switchMap((event) => {
43
+ const actualTargetInCurrentTime = cuiGetActualTarget(event);
44
+ return !doc.activeElement || doc.activeElement === doc.body
45
+ ? of(actualTargetInCurrentTime)
46
+ : focusout$.pipe(take(1), map(
47
+ /**
48
+ * Do not use `map(() => cuiGetActualTarget(event))`
49
+ * because we have different result in runtime
50
+ */
51
+ () => actualTargetInCurrentTime), takeUntil(timer(0, cuiZonefreeScheduler(zone))));
52
+ }))).pipe(distinctUntilChanged(), share());
53
+ });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL2FjdGl2ZS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLDBCQUEwQixFQUM1Qix5QkFBeUIsR0FDMUIsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUNILG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUNILEtBQUssRUFDTCxFQUFFLEVBQ0YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEVBQ1QsS0FBSyxFQUNMLGNBQWMsR0FDakIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUV0RCxvRUFBb0U7QUFDcEUsU0FBUyxlQUFlLENBQUMsTUFBVyxFQUFFLGlCQUFpQyxJQUFJO0lBQ3ZFLE9BQU87SUFDSCw4Q0FBOEM7SUFDOUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQUMsYUFBYSxLQUFLLE1BQU07UUFDM0QsdUVBQXVFO1FBQ3ZFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDNUIsNENBQTRDO1FBQzVDLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDakMsc0RBQXNEO1FBQ3RELHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUNwQyxDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQUMsSUFBYztJQUMzQyxPQUFPLEtBQUssQ0FDUixpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQ2xFLGlCQUFpQixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQ3BDLE1BQU0sQ0FDRixDQUFDLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FDMUUsRUFDRCxHQUFHLENBQUMsQ0FBQyxFQUFDLGFBQWEsRUFBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FDMUMsQ0FDSixDQUFDO0FBQ04sQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcseUJBQXlCLENBRXpELEdBQUcsRUFBRTtJQUNILE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUN0RSxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDcEUsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2RCxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFbkQsT0FBTyxLQUFLLENBQ1IsU0FBUyxDQUFDLElBQUksQ0FDVixTQUFTLENBQUMsVUFBVSxDQUFDLEVBQ3JCLE1BQU0sQ0FBQyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxFQUMvQixjQUFjLENBQUMsZUFBZSxDQUFDLEVBQy9CLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxFQUFFLEVBQUUsQ0FDL0IsZUFBZSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUM3RCxFQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxhQUFhLEVBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FDNUMsRUFDRCxLQUFLLENBQUMsSUFBSSxDQUNOLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQzVCLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDcEQsRUFDRCxRQUFRLENBQUMsSUFBSSxDQUNULFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2hCLE1BQU0sTUFBTSxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sSUFBSSxHQUFHLDBCQUEwQixDQUFDLE1BQU0sQ0FBYSxDQUFDO1FBRTVELE9BQU8sSUFBSSxLQUFLLEdBQUc7WUFDZixDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNaLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDLENBQ0wsRUFDRCxVQUFVLENBQUMsSUFBSSxDQUNYLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2hCLE1BQU0seUJBQXlCLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLGFBQWEsS0FBSyxHQUFHLENBQUMsSUFBSTtZQUN2RCxDQUFDLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO1lBQy9CLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHO1lBQ0M7OztlQUdHO1lBQ0gsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQ2xDLEVBQ0QsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNsRCxDQUFDO0lBQ1osQ0FBQyxDQUFDLENBQ0wsQ0FDSixDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtpbmplY3QsIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDVUlfV0lORE9XIH0gZnJvbSAnLi93aW5kb3cnO1xuaW1wb3J0IHtjdWlUeXBlZEZyb21FdmVudCwgY3VpWm9uZWZyZWVTY2hlZHVsZXJ9IGZyb20gJy4uL29ic2VydmFibGVzJztcbmltcG9ydCB7XG4gICAgY3VpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeSxcbiAgICBjdWlHZXRBY3R1YWxUYXJnZXQsXG4gICAgY3VpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QsXG4gIGN1aUlzTmF0aXZlTW91c2VGb2N1c2FibGUsXG59IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZmlsdGVyLFxuICAgIG1hcCxcbiAgICBtZXJnZSxcbiAgICBvZixcbiAgICByZXBlYXQsXG4gICAgc2hhcmUsXG4gICAgc3RhcnRXaXRoLFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YWtlLFxuICAgIHRha2VVbnRpbCxcbiAgICB0aW1lcixcbiAgICB3aXRoTGF0ZXN0RnJvbSxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7Q1VJX1JFTU9WRURfRUxFTUVOVH0gZnJvbSAnLi9yZW1vdmVkLWVsZW1lbnQnO1xuXG4vLyBDaGVja3MgaWYgZm9jdXNvdXQgZXZlbnQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgbGVhdmluZyBhY3RpdmUgem9uZVxuZnVuY3Rpb24gaXNWYWxpZEZvY3Vzb3V0KHRhcmdldDogYW55LCByZW1vdmVkRWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgLy8gTm90IGR1ZSB0byBzd2l0Y2hpbmcgdGFicy9nb2luZyB0byBEZXZUb29sc1xuICAgICAgICBjdWlHZXREb2N1bWVudE9yU2hhZG93Um9vdCh0YXJnZXQpLmFjdGl2ZUVsZW1lbnQgIT09IHRhcmdldCAmJlxuICAgICAgICAvLyBOb3QgZHVlIHRvIGJ1dHRvbi9pbnB1dCBiZWNvbWluZyBkaXNhYmxlZCBvciB1bmRlciBkaXNhYmxlZCBmaWVsZHNldFxuICAgICAgICAhdGFyZ2V0Lm1hdGNoZXMoJzpkaXNhYmxlZCcpICYmXG4gICAgICAgIC8vIE5vdCBkdWUgdG8gZWxlbWVudCBiZWluZyByZW1vdmVkIGZyb20gRE9NXG4gICAgICAgICFyZW1vdmVkRWxlbWVudD8uY29udGFpbnModGFyZ2V0KSAmJlxuICAgICAgICAvLyBOb3QgZHVlIHRvIHNjcm9sbGFibGUgZWxlbWVudCBiZWNhbWUgbm9uLXNjcm9sbGFibGVcbiAgICAgICAgY3VpSXNOYXRpdmVNb3VzZUZvY3VzYWJsZSh0YXJnZXQpXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gc2hhZG93Um9vdEFjdGl2ZUVsZW1lbnQocm9vdDogRG9jdW1lbnQpOiBPYnNlcnZhYmxlPEV2ZW50VGFyZ2V0IHwgbnVsbD4ge1xuICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgY3VpVHlwZWRGcm9tRXZlbnQocm9vdCwgJ2ZvY3VzaW4nKS5waXBlKG1hcCgoe3RhcmdldH0pID0+IHRhcmdldCkpLFxuICAgICAgICBjdWlUeXBlZEZyb21FdmVudChyb290LCAnZm9jdXNvdXQnKS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgICAgICh7dGFyZ2V0LCByZWxhdGVkVGFyZ2V0fSkgPT4gISFyZWxhdGVkVGFyZ2V0ICYmIGlzVmFsaWRGb2N1c291dCh0YXJnZXQpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1hcCgoe3JlbGF0ZWRUYXJnZXR9KSA9PiByZWxhdGVkVGFyZ2V0KSxcbiAgICAgICAgKSxcbiAgICApO1xufVxuXG4vKipcbiAqIEFjdGl2ZSBlbGVtZW50IG9uIHRoZSBkb2N1bWVudCBmb3IgQWN0aXZlWm9uZVxuICovXG5leHBvcnQgY29uc3QgQ1VJX0FDVElWRV9FTEVNRU5UID0gY3VpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeTxcbiAgICBPYnNlcnZhYmxlPEV2ZW50VGFyZ2V0IHwgbnVsbD5cbj4oKCkgPT4ge1xuICAgIGNvbnN0IHJlbW92ZWRFbGVtZW50JCA9IGluamVjdChDVUlfUkVNT1ZFRF9FTEVNRU5UKTtcbiAgICBjb25zdCB3aW4gPSBpbmplY3QoQ1VJX1dJTkRPVyk7XG4gICAgY29uc3QgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgICBjb25zdCB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgY29uc3QgZm9jdXNvdXQkID0gY3VpVHlwZWRGcm9tRXZlbnQod2luLCAnZm9jdXNvdXQnLCB7Y2FwdHVyZTogdHJ1ZX0pO1xuICAgIGNvbnN0IGZvY3VzaW4kID0gY3VpVHlwZWRGcm9tRXZlbnQod2luLCAnZm9jdXNpbicsIHtjYXB0dXJlOiB0cnVlfSk7XG4gICAgY29uc3QgYmx1ciQgPSBjdWlUeXBlZEZyb21FdmVudCh3aW4sICdibHVyJyk7XG4gICAgY29uc3QgbW91c2Vkb3duJCA9IGN1aVR5cGVkRnJvbUV2ZW50KHdpbiwgJ21vdXNlZG93bicpO1xuICAgIGNvbnN0IG1vdXNldXAkID0gY3VpVHlwZWRGcm9tRXZlbnQod2luLCAnbW91c2V1cCcpO1xuXG4gICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICBmb2N1c291dCQucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbChtb3VzZWRvd24kKSxcbiAgICAgICAgICAgIHJlcGVhdCh7ZGVsYXk6ICgpID0+IG1vdXNldXAkfSksXG4gICAgICAgICAgICB3aXRoTGF0ZXN0RnJvbShyZW1vdmVkRWxlbWVudCQpLFxuICAgICAgICAgICAgZmlsdGVyKChbZXZlbnQsIHJlbW92ZWRFbGVtZW50XSkgPT5cbiAgICAgICAgICAgICAgICBpc1ZhbGlkRm9jdXNvdXQoY3VpR2V0QWN0dWFsVGFyZ2V0KGV2ZW50KSwgcmVtb3ZlZEVsZW1lbnQpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1hcCgoW3tyZWxhdGVkVGFyZ2V0fV0pID0+IHJlbGF0ZWRUYXJnZXQpLFxuICAgICAgICApLFxuICAgICAgICBibHVyJC5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IGRvYy5hY3RpdmVFbGVtZW50KSxcbiAgICAgICAgICAgIGZpbHRlcigoZWxlbWVudCkgPT4gISFlbGVtZW50Py5tYXRjaGVzKCdpZnJhbWUnKSksXG4gICAgICAgICksXG4gICAgICAgIGZvY3VzaW4kLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gY3VpR2V0QWN0dWFsVGFyZ2V0KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCByb290ID0gY3VpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QodGFyZ2V0KSBhcyBEb2N1bWVudDtcblxuICAgICAgICAgICAgICAgIHJldHVybiByb290ID09PSBkb2NcbiAgICAgICAgICAgICAgICAgICAgPyBvZih0YXJnZXQpXG4gICAgICAgICAgICAgICAgICAgIDogc2hhZG93Um9vdEFjdGl2ZUVsZW1lbnQocm9vdCkucGlwZShzdGFydFdpdGgodGFyZ2V0KSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgICAgbW91c2Vkb3duJC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjdHVhbFRhcmdldEluQ3VycmVudFRpbWUgPSBjdWlHZXRBY3R1YWxUYXJnZXQoZXZlbnQpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuICFkb2MuYWN0aXZlRWxlbWVudCB8fCBkb2MuYWN0aXZlRWxlbWVudCA9PT0gZG9jLmJvZHlcbiAgICAgICAgICAgICAgICAgICAgPyBvZihhY3R1YWxUYXJnZXRJbkN1cnJlbnRUaW1lKVxuICAgICAgICAgICAgICAgICAgICA6IGZvY3Vzb3V0JC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIERvIG5vdCB1c2UgYG1hcCgoKSA9PiBjdWlHZXRBY3R1YWxUYXJnZXQoZXZlbnQpKWBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGJlY2F1c2Ugd2UgaGF2ZSBkaWZmZXJlbnQgcmVzdWx0IGluIHJ1bnRpbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4gYWN0dWFsVGFyZ2V0SW5DdXJyZW50VGltZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRpbWVyKDAsIGN1aVpvbmVmcmVlU2NoZWR1bGVyKHpvbmUpKSksXG4gICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZSgpKTtcbn0pO1xuIl19
@@ -0,0 +1,45 @@
1
+ import { inject } from '@angular/core';
2
+ import { toSignal } from '@angular/core/rxjs-interop';
3
+ import { CUI_NAVIGATOR, CUI_USER_AGENT, CUI_WINDOW } from '../tokens';
4
+ import { cuiIsIos } from '../utils';
5
+ import { CUI_FALSE_HANDLER } from '../constants';
6
+ import { cuiCreateTokenFromFactory } from '../utils';
7
+ import { fromEvent, map } from 'rxjs';
8
+ // https://stackoverflow.com/a/11381730/2706426 http://detectmobilebrowsers.com/
9
+ const firstRegex =
10
+ // eslint-disable-next-line sonarjs/regex-complexity
11
+ /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series([46])0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/;
12
+ const secondRegex =
13
+ // eslint-disable-next-line sonarjs/regex-complexity
14
+ /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br([ev])w|bumb|bw-([nu])|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do([cp])o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly([-_])|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-([mpt])|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c([- _agpst])|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac([ \-/])|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja([tv])a|jbro|jemu|jigs|kddi|keji|kgt([ /])|klon|kpt |kwc-|kyo([ck])|le(no|xi)|lg( g|\/([klu])|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t([- ov])|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30([02])|n50([025])|n7(0([01])|10)|ne(([cm])-|on|tf|wf|wg|wt)|nok([6i])|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan([adt])|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c([-01])|47|mc|nd|ri)|sgh-|shar|sie([-m])|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel([im])|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c([- ])|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/;
15
+ export const CUI_IS_MOBILE = cuiCreateTokenFromFactory(() => firstRegex.test(inject(CUI_USER_AGENT).toLowerCase()) ||
16
+ secondRegex.test(inject(CUI_USER_AGENT).slice(0, 4).toLowerCase()));
17
+ export const CUI_IS_IOS = cuiCreateTokenFromFactory(() => cuiIsIos(inject(CUI_NAVIGATOR)));
18
+ export const CUI_IS_ANDROID = cuiCreateTokenFromFactory(() => inject(CUI_IS_MOBILE) && !inject(CUI_IS_IOS));
19
+ export const CUI_IS_WEBKIT = cuiCreateTokenFromFactory(() => !!inject(CUI_WINDOW)?.webkitConvertPointFromNodeToPage);
20
+ export const CUI_PLATFORM = cuiCreateTokenFromFactory(() => {
21
+ if (inject(CUI_IS_IOS)) {
22
+ return 'ios';
23
+ }
24
+ return inject(CUI_IS_ANDROID) ? 'android' : 'web';
25
+ });
26
+ export const CUI_IS_TOUCH = cuiCreateTokenFromFactory(() => {
27
+ const media = inject(CUI_WINDOW).matchMedia('(pointer: coarse)');
28
+ return toSignal(fromEvent(media, 'change').pipe(map(() => media.matches)), {
29
+ initialValue: media.matches,
30
+ });
31
+ });
32
+ /**
33
+ * Detect if app is running under Cypress
34
+ * {@link https://docs.cypress.io/faq/questions/using-cypress-faq#Is-there-any-way-to-detect-if-my-app-is-running-under-Cypress Cypress docs}
35
+ */
36
+ export const CUI_IS_CYPRESS = cuiCreateTokenFromFactory(() => !!inject(CUI_WINDOW).Cypress);
37
+ /**
38
+ * Manually provide `true` when running tests in Playwright
39
+ */
40
+ export const CUI_IS_PLAYWRIGHT = cuiCreateTokenFromFactory(CUI_FALSE_HANDLER);
41
+ /**
42
+ * Detect if app is running under any of test frameworks
43
+ */
44
+ export const CUI_IS_E2E = cuiCreateTokenFromFactory(() => inject(CUI_IS_CYPRESS) || inject(CUI_IS_PLAYWRIGHT));
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDbkQsT0FBTyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFcEMsZ0ZBQWdGO0FBQ2hGLE1BQU0sVUFBVTtBQUNaLG9EQUFvRDtBQUNwRCwwVEFBMFQsQ0FBQztBQUMvVCxNQUFNLFdBQVc7QUFDYixvREFBb0Q7QUFDcEQsaWlEQUFpaUQsQ0FBQztBQUV0aUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLHlCQUF5QixDQUNsRCxHQUFHLEVBQUUsQ0FDRCxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyRCxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQ3pFLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcseUJBQXlCLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFM0YsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLHlCQUF5QixDQUNuRCxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQ3JELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcseUJBQXlCLENBQ2xELEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQU0sVUFBVSxDQUFDLEVBQUUsZ0NBQWdDLENBQ3BFLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcseUJBQXlCLENBQTRCLEdBQUcsRUFBRTtJQUNsRixJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUNwQixPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUVELE9BQU8sTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUN0RCxDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyx5QkFBeUIsQ0FBQyxHQUFHLEVBQUU7SUFDdkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBRSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRWxFLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRTtRQUN2RSxZQUFZLEVBQUUsS0FBSyxDQUFDLE9BQU87S0FDOUIsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcseUJBQXlCLENBQ25ELEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQU0sVUFBVSxDQUFDLENBQUMsT0FBTyxDQUMxQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyx5QkFBeUIsQ0FBVSxpQkFBaUIsQ0FBQyxDQUFDO0FBRXZGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLHlCQUF5QixDQUMvQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBDVUlfTkFWSUdBVE9SLCBDVUlfVVNFUl9BR0VOVCwgQ1VJX1dJTkRPVyB9IGZyb20gJy4uL3Rva2Vucyc7XG5pbXBvcnQge2N1aUlzSW9zfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge0NVSV9GQUxTRV9IQU5ETEVSfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHtjdWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5fSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWFwfSBmcm9tICdyeGpzJztcblxuLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzExMzgxNzMwLzI3MDY0MjYgaHR0cDovL2RldGVjdG1vYmlsZWJyb3dzZXJzLmNvbS9cbmNvbnN0IGZpcnN0UmVnZXggPVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL3JlZ2V4LWNvbXBsZXhpdHlcbiAgICAvKGFuZHJvaWR8YmJcXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVxcL3xibGFja2JlcnJ5fGJsYXplcnxjb21wYWx8ZWxhaW5lfGZlbm5lY3xoaXB0b3B8aWVtb2JpbGV8aXAoaG9uZXxvZCl8aXJpc3xraW5kbGV8bGdlIHxtYWVtb3xtaWRwfG1tcHxtb2JpbGUuK2ZpcmVmb3h8bmV0ZnJvbnR8b3BlcmEgbShvYnxpbilpfHBhbG0oIG9zKT98cGhvbmV8cChpeGl8cmUpXFwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoWzQ2XSkwfHN5bWJpYW58dHJlb3x1cFxcLihicm93c2VyfGxpbmspfHZvZGFmb25lfHdhcHx3aW5kb3dzIGNlfHhkYXx4aWluby87XG5jb25zdCBzZWNvbmRSZWdleCA9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvcmVnZXgtY29tcGxleGl0eVxuICAgIC8xMjA3fDYzMTB8NjU5MHwzZ3NvfDR0aHB8NTBbMS02XWl8Nzcwc3w4MDJzfGEgd2F8YWJhY3xhYyhlcnxvb3xzLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXwtbXxyIHxzICl8YXZhbnxiZShja3xsbHxucSl8YmkobGJ8cmQpfGJsKGFjfGF6KXxicihbZXZdKXd8YnVtYnxidy0oW251XSl8YzU1XFwvfGNhcGl8Y2N3YXxjZG0tfGNlbGx8Y2h0bXxjbGRjfGNtZC18Y28obXB8bmQpfGNyYXd8ZGEoaXR8bGx8bmcpfGRidGV8ZGMtc3xkZXZpfGRpY2F8ZG1vYnxkbyhbY3BdKW98ZHMoMTJ8LWQpfGVsKDQ5fGFpKXxlbShsMnx1bCl8ZXIoaWN8azApfGVzbDh8ZXooWzQtN10wfG9zfHdhfHplKXxmZXRjfGZseShbLV9dKXxnMSB1fGc1NjB8Z2VuZXxnZi01fGctbW98Z28oXFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZC0oW21wdF0pfGhlaS18aGkocHR8dGEpfGhwKCBpfGlwKXxocy1jfGh0KGMoWy0gX2FncHN0XSl8dHApfGh1KGF3fHRjKXxpLSgyMHxnb3xtYSl8aTIzMHxpYWMoWyBcXC0vXSl8aWJyb3xpZGVhfGlnMDF8aWtvbXxpbTFrfGlubm98aXBhcXxpcmlzfGphKFt0dl0pYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KFsgL10pfGtsb258a3B0IHxrd2MtfGt5byhbY2tdKXxsZShub3x4aSl8bGcoIGd8XFwvKFtrbHVdKXw1MHw1NHwtW2Etd10pfGxpYnd8bHlueHxtMS13fG0zZ2F8bTUwXFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bS1jcnxtZShyY3xyaSl8bWkobzh8b2F8dHMpfG1tZWZ8bW8oMDF8MDJ8Yml8ZGV8ZG98dChbLSBvdl0pfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMChbMDJdKXxuNTAoWzAyNV0pfG43KDAoWzAxXSl8MTApfG5lKChbY21dKS18b258dGZ8d2Z8d2d8d3QpfG5vayhbNmldKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihbYWR0XSl8cGR4Z3xwZygxM3wtKFsxLThdfGMpKXxwaGlsfHBpcmV8cGwoYXl8dWMpfHBuLTJ8cG8oY2t8cnR8c2UpfHByb3h8cHNpb3xwdC1nfHFhLWF8cWMoMDd8MTJ8MjF8MzJ8NjB8LVsyLTddfGktKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVxcL3xzYShnZXxtYXxtbXxtc3xueXx2YSl8c2MoMDF8aC18b298cC0pfHNka1xcL3xzZShjKFstMDFdKXw0N3xtY3xuZHxyaSl8c2doLXxzaGFyfHNpZShbLW1dKXxzay0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGgtfHYtfHYgKXxzeSgwMXxtYil8dDIoMTh8NTApfHQ2KDAwfDEwfDE4KXx0YShndHxsayl8dGNsLXx0ZGctfHRlbChbaW1dKXx0aW0tfHQtbW98dG8ocGx8c2gpfHRzKDcwfG0tfG0zfG01KXx0eC05fHVwKFxcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXwtdil8dm00MHx2b2RhfHZ1bGN8dngoNTJ8NTN8NjB8NjF8NzB8ODB8ODF8ODN8ODV8OTgpfHczYyhbLSBdKXx3ZWJjfHdoaXR8d2koZyB8bmN8bncpfHdtbGJ8d29udXx4NzAwfHlhcy18eW91cnx6ZXRvfHp0ZS0vO1xuXG5leHBvcnQgY29uc3QgQ1VJX0lTX01PQklMRSA9IGN1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkoXG4gICAgKCkgPT5cbiAgICAgICAgZmlyc3RSZWdleC50ZXN0KGluamVjdChDVUlfVVNFUl9BR0VOVCkudG9Mb3dlckNhc2UoKSkgfHxcbiAgICAgICAgc2Vjb25kUmVnZXgudGVzdChpbmplY3QoQ1VJX1VTRVJfQUdFTlQpLnNsaWNlKDAsIDQpLnRvTG93ZXJDYXNlKCkpLFxuKTtcblxuZXhwb3J0IGNvbnN0IENVSV9JU19JT1MgPSBjdWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KCgpID0+IGN1aUlzSW9zKGluamVjdChDVUlfTkFWSUdBVE9SKSkpO1xuXG5leHBvcnQgY29uc3QgQ1VJX0lTX0FORFJPSUQgPSBjdWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KFxuICAgICgpID0+IGluamVjdChDVUlfSVNfTU9CSUxFKSAmJiAhaW5qZWN0KENVSV9JU19JT1MpLFxuKTtcblxuZXhwb3J0IGNvbnN0IENVSV9JU19XRUJLSVQgPSBjdWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KFxuICAgICgpID0+ICEhaW5qZWN0PGFueT4oQ1VJX1dJTkRPVyk/LndlYmtpdENvbnZlcnRQb2ludEZyb21Ob2RlVG9QYWdlLFxuKTtcblxuZXhwb3J0IGNvbnN0IENVSV9QTEFURk9STSA9IGN1aUNyZWF0ZVRva2VuRnJvbUZhY3Rvcnk8J2FuZHJvaWQnIHwgJ2lvcycgfCAnd2ViJz4oKCkgPT4ge1xuICAgIGlmIChpbmplY3QoQ1VJX0lTX0lPUykpIHtcbiAgICAgICAgcmV0dXJuICdpb3MnO1xuICAgIH1cblxuICAgIHJldHVybiBpbmplY3QoQ1VJX0lTX0FORFJPSUQpID8gJ2FuZHJvaWQnIDogJ3dlYic7XG59KTtcblxuZXhwb3J0IGNvbnN0IENVSV9JU19UT1VDSCA9IGN1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkoKCkgPT4ge1xuICAgIGNvbnN0IG1lZGlhID0gaW5qZWN0KENVSV9XSU5ET1cgKS5tYXRjaE1lZGlhKCcocG9pbnRlcjogY29hcnNlKScpO1xuXG4gICAgcmV0dXJuIHRvU2lnbmFsKGZyb21FdmVudChtZWRpYSwgJ2NoYW5nZScpLnBpcGUobWFwKCgpID0+IG1lZGlhLm1hdGNoZXMpKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6IG1lZGlhLm1hdGNoZXMsXG4gICAgfSk7XG59KTtcblxuLyoqXG4gKiBEZXRlY3QgaWYgYXBwIGlzIHJ1bm5pbmcgdW5kZXIgQ3lwcmVzc1xuICoge0BsaW5rIGh0dHBzOi8vZG9jcy5jeXByZXNzLmlvL2ZhcS9xdWVzdGlvbnMvdXNpbmctY3lwcmVzcy1mYXEjSXMtdGhlcmUtYW55LXdheS10by1kZXRlY3QtaWYtbXktYXBwLWlzLXJ1bm5pbmctdW5kZXItQ3lwcmVzcyBDeXByZXNzIGRvY3N9XG4gKi9cbmV4cG9ydCBjb25zdCBDVUlfSVNfQ1lQUkVTUyA9IGN1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkoXG4gICAgKCkgPT4gISFpbmplY3Q8YW55PihDVUlfV0lORE9XKS5DeXByZXNzLFxuKTtcblxuLyoqXG4gKiBNYW51YWxseSBwcm92aWRlIGB0cnVlYCB3aGVuIHJ1bm5pbmcgdGVzdHMgaW4gUGxheXdyaWdodFxuICovXG5leHBvcnQgY29uc3QgQ1VJX0lTX1BMQVlXUklHSFQgPSBjdWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5PGJvb2xlYW4+KENVSV9GQUxTRV9IQU5ETEVSKTtcblxuLyoqXG4gKiBEZXRlY3QgaWYgYXBwIGlzIHJ1bm5pbmcgdW5kZXIgYW55IG9mIHRlc3QgZnJhbWV3b3Jrc1xuICovXG5leHBvcnQgY29uc3QgQ1VJX0lTX0UyRSA9IGN1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkoXG4gICAgKCkgPT4gaW5qZWN0KENVSV9JU19DWVBSRVNTKSB8fCBpbmplY3QoQ1VJX0lTX1BMQVlXUklHSFQpLFxuKTtcbiJdfQ==
@@ -0,0 +1,10 @@
1
+ export * from './active-element';
2
+ export * from './environment';
3
+ export * from './history';
4
+ export * from './local-storage';
5
+ export * from './navigator';
6
+ export * from './removed-element';
7
+ export * from './session-storage';
8
+ export * from './user-agent';
9
+ export * from './window';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjdGl2ZS1lbGVtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZW52aXJvbm1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9oaXN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWwtc3RvcmFnZSc7XG5leHBvcnQgKiBmcm9tICcuL25hdmlnYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3JlbW92ZWQtZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Nlc3Npb24tc3RvcmFnZSc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItYWdlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi93aW5kb3cnO1xuIl19
@@ -0,0 +1,6 @@
1
+ import { inject, InjectionToken } from '@angular/core';
2
+ import { CUI_WINDOW } from './window';
3
+ export const CUI_NAVIGATOR = new InjectionToken('[CUI_NAVIGATOR]', {
4
+ factory: () => inject(CUI_WINDOW).navigator,
5
+ });
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3Rva2Vucy9uYXZpZ2F0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVwQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQVksaUJBQWlCLEVBQUU7SUFDNUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTO0NBQzVDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7Q1VJX1dJTkRPV30gZnJvbSAnLi93aW5kb3cnO1xuXG5leHBvcnQgY29uc3QgQ1VJX05BVklHQVRPUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOYXZpZ2F0b3I+KCdbQ1VJX05BVklHQVRPUl0nLCB7XG4gIGZhY3Rvcnk6ICgpID0+IGluamVjdChDVUlfV0lORE9XKS5uYXZpZ2F0b3IsXG59KTtcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { ɵAnimationEngine as AnimationEngine } from '@angular/animations/browser';
2
+ import { inject } from '@angular/core';
3
+ import { cuiCreateTokenFromFactory } from '../utils';
4
+ import { BehaviorSubject, map, share, startWith, switchMap, timer } from 'rxjs';
5
+ /**
6
+ * Element currently being removed by AnimationEngine
7
+ */
8
+ export const CUI_REMOVED_ELEMENT = cuiCreateTokenFromFactory(() => {
9
+ const stub = { onRemovalComplete: () => { } };
10
+ const element$ = new BehaviorSubject(null);
11
+ const engine = inject(AnimationEngine, { optional: true }) || stub;
12
+ const { onRemovalComplete = stub.onRemovalComplete } = engine;
13
+ engine.onRemovalComplete = (element, context) => {
14
+ element$.next(element);
15
+ onRemovalComplete.call(engine, element, context);
16
+ };
17
+ return element$.pipe(switchMap((element) => timer(0).pipe(map(() => null), startWith(element))), share());
18
+ });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlZC1lbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3Rva2Vucy9yZW1vdmVkLWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixJQUFJLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2hGLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHlCQUF5QixDQUFDLEdBQUcsRUFBRTtJQUM5RCxNQUFNLElBQUksR0FBRyxFQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUMsRUFBQyxDQUFDO0lBQzNDLE1BQU0sUUFBUSxHQUFHLElBQUksZUFBZSxDQUFpQixJQUFJLENBQUMsQ0FBQztJQUMzRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ2pFLE1BQU0sRUFBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUMsR0FBRyxNQUFNLENBQUM7SUFFNUQsTUFBTSxDQUFDLGlCQUFpQixHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQzVDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckQsQ0FBQyxDQUFDO0lBRUYsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUNoQixTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNsQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNULEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFDZixTQUFTLENBQUMsT0FBTyxDQUFDLENBQ3JCLENBQ0osRUFDRCxLQUFLLEVBQUUsQ0FDVixDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge8m1QW5pbWF0aW9uRW5naW5lIGFzIEFuaW1hdGlvbkVuZ2luZX0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucy9icm93c2VyJztcbmltcG9ydCB7aW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGN1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgbWFwLCBzaGFyZSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRpbWVyfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBFbGVtZW50IGN1cnJlbnRseSBiZWluZyByZW1vdmVkIGJ5IEFuaW1hdGlvbkVuZ2luZVxuICovXG5leHBvcnQgY29uc3QgQ1VJX1JFTU9WRURfRUxFTUVOVCA9IGN1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkoKCkgPT4ge1xuICAgIGNvbnN0IHN0dWIgPSB7b25SZW1vdmFsQ29tcGxldGU6ICgpID0+IHt9fTtcbiAgICBjb25zdCBlbGVtZW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICAgIGNvbnN0IGVuZ2luZSA9IGluamVjdChBbmltYXRpb25FbmdpbmUsIHtvcHRpb25hbDogdHJ1ZX0pIHx8IHN0dWI7XG4gICAgY29uc3Qge29uUmVtb3ZhbENvbXBsZXRlID0gc3R1Yi5vblJlbW92YWxDb21wbGV0ZX0gPSBlbmdpbmU7XG5cbiAgICBlbmdpbmUub25SZW1vdmFsQ29tcGxldGUgPSAoZWxlbWVudCwgY29udGV4dCkgPT4ge1xuICAgICAgICBlbGVtZW50JC5uZXh0KGVsZW1lbnQpO1xuICAgICAgICBvblJlbW92YWxDb21wbGV0ZS5jYWxsKGVuZ2luZSwgZWxlbWVudCwgY29udGV4dCk7XG4gICAgfTtcblxuICAgIHJldHVybiBlbGVtZW50JC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGVsZW1lbnQpID0+XG4gICAgICAgICAgICB0aW1lcigwKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiBudWxsKSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgoZWxlbWVudCksXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBzaGFyZSgpLFxuICAgICk7XG59KTtcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ import { inject, InjectionToken } from '@angular/core';
2
+ import { CUI_NAVIGATOR } from './navigator';
3
+ export const CUI_USER_AGENT = new InjectionToken('[CUI_USER_AGENT]', {
4
+ factory: () => inject(CUI_NAVIGATOR).userAgent,
5
+ });
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hZ2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay90b2tlbnMvdXNlci1hZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBUyxrQkFBa0IsRUFBRTtJQUMzRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVM7Q0FDL0MsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtDVUlfTkFWSUdBVE9SfSBmcm9tICcuL25hdmlnYXRvcic7XG5cbmV4cG9ydCBjb25zdCBDVUlfVVNFUl9BR0VOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdbQ1VJX1VTRVJfQUdFTlRdJywge1xuICBmYWN0b3J5OiAoKSA9PiBpbmplY3QoQ1VJX05BVklHQVRPUikudXNlckFnZW50LFxufSk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay90eXBlcy9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEN1aUNvbnRleHQ8VD4ge1xuICAkaW1wbGljaXQ6IFQ7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay90eXBlcy9oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBDdWlIYW5kbGVyPFQsIEc+ID0gKGl0ZW06IFQpID0+IEc7XG5leHBvcnQgdHlwZSBDdWlCb29sZWFuSGFuZGxlcjxUPiA9IEN1aUhhbmRsZXI8VCwgYm9vbGVhbj47XG5leHBvcnQgdHlwZSBDdWlTdHJpbmdIYW5kbGVyPFQ+ID0gQ3VpSGFuZGxlcjxULCBzdHJpbmc+O1xuZXhwb3J0IHR5cGUgQ3VpTnVtYmVySGFuZGxlcjxUPiA9IEN1aUhhbmRsZXI8VCwgbnVtYmVyPjtcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ export * from './context';
2
+ export * from './date-time';
3
+ export * from './handler';
4
+ export * from './input-type';
5
+ export * from './mapper';
6
+ export * from './matcher';
7
+ export * from './nullable';
8
+ export * from './value-of';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLXRpbWUnO1xuZXhwb3J0ICogZnJvbSAnLi9oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL21hcHBlcic7XG5leHBvcnQgKiBmcm9tICcuL21hdGNoZXInO1xuZXhwb3J0ICogZnJvbSAnLi9udWxsYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbHVlLW9mJztcbiJdfQ==
@@ -0,0 +1,20 @@
1
+ export function cuiIsInput(element) {
2
+ return element.matches('input');
3
+ }
4
+ export function cuiIsTextarea(element) {
5
+ return element.matches('textarea');
6
+ }
7
+ export function cuiIsTextfield(element) {
8
+ return cuiIsInput(element) || cuiIsTextarea(element);
9
+ }
10
+ export function cuiIsElement(node) {
11
+ return !!node && 'nodeType' in node && node.nodeType === Node.ELEMENT_NODE;
12
+ }
13
+ export function cuiIsHTMLElement(node) {
14
+ const defaultView = node?.ownerDocument.defaultView;
15
+ return !!node && !!defaultView && node instanceof defaultView.HTMLElement;
16
+ }
17
+ export function cuiIsTextNode(node) {
18
+ return node.nodeType === Node.TEXT_NODE;
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1jaGVja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZG9tL2VsZW1lbnQtY2hlY2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxVQUFVLENBQUMsT0FBZ0I7SUFDdkMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQWdCO0lBQzFDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDMUIsT0FBZ0I7SUFFaEIsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUN4QixJQUEwQztJQUUxQyxPQUFPLENBQUMsQ0FBQyxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUM7QUFDL0UsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFhO0lBQzFDLE1BQU0sV0FBVyxHQUFJLElBQTRCLEVBQUUsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUU3RSxPQUFPLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLFdBQVcsSUFBSSxJQUFJLFlBQVksV0FBVyxDQUFDLFdBQVcsQ0FBQztBQUM5RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFVO0lBQ3BDLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY3VpSXNJbnB1dChlbGVtZW50OiBFbGVtZW50KTogZWxlbWVudCBpcyBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudC5tYXRjaGVzKCdpbnB1dCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3VpSXNUZXh0YXJlYShlbGVtZW50OiBFbGVtZW50KTogZWxlbWVudCBpcyBIVE1MVGV4dEFyZWFFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudC5tYXRjaGVzKCd0ZXh0YXJlYScpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3VpSXNUZXh0ZmllbGQoXG4gICAgZWxlbWVudDogRWxlbWVudCxcbik6IGVsZW1lbnQgaXMgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQge1xuICAgIHJldHVybiBjdWlJc0lucHV0KGVsZW1lbnQpIHx8IGN1aUlzVGV4dGFyZWEoZWxlbWVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjdWlJc0VsZW1lbnQoXG4gICAgbm9kZT86IEVsZW1lbnQgfCBFdmVudFRhcmdldCB8IE5vZGUgfCBudWxsLFxuKTogbm9kZSBpcyBFbGVtZW50IHtcbiAgICByZXR1cm4gISFub2RlICYmICdub2RlVHlwZScgaW4gbm9kZSAmJiBub2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGN1aUlzSFRNTEVsZW1lbnQobm9kZTogdW5rbm93bik6IG5vZGUgaXMgSFRNTEVsZW1lbnQge1xuICAgIGNvbnN0IGRlZmF1bHRWaWV3ID0gKG5vZGUgYXMgRWxlbWVudCB8IHVuZGVmaW5lZCk/Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7XG5cbiAgICByZXR1cm4gISFub2RlICYmICEhZGVmYXVsdFZpZXcgJiYgbm9kZSBpbnN0YW5jZW9mIGRlZmF1bHRWaWV3LkhUTUxFbGVtZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3VpSXNUZXh0Tm9kZShub2RlOiBOb2RlKTogbm9kZSBpcyBUZXh0IHtcbiAgICByZXR1cm4gbm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREU7XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Gets actual target from open Shadow DOM if event happened within it
3
+ */
4
+ export function cuiGetActualTarget(event) {
5
+ return event.composedPath()[0];
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFjdHVhbC10YXJnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZG9tL2dldC1hY3R1YWwtdGFyZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEtBQVk7SUFDM0MsT0FBTyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFTLENBQUM7QUFDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2V0cyBhY3R1YWwgdGFyZ2V0IGZyb20gb3BlbiBTaGFkb3cgRE9NIGlmIGV2ZW50IGhhcHBlbmVkIHdpdGhpbiBpdFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3VpR2V0QWN0dWFsVGFyZ2V0KGV2ZW50OiBFdmVudCk6IE5vZGUge1xuICAgIHJldHVybiBldmVudC5jb21wb3NlZFBhdGgoKVswXSBhcyBOb2RlO1xufVxuIl19
@@ -0,0 +1,6 @@
1
+ export function cuiGetDocumentOrShadowRoot(node) {
2
+ return 'getRootNode' in node && node.isConnected
3
+ ? node.getRootNode()
4
+ : node.ownerDocument;
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWRvY3VtZW50LW9yLXNoYWRvdy1yb290LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL2RvbS9nZXQtZG9jdW1lbnQtb3Itc2hhZG93LXJvb3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLDBCQUEwQixDQUFDLElBQVU7SUFDakQsT0FBTyxhQUFhLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXO1FBQzVDLENBQUMsQ0FBRSxJQUFJLENBQUMsV0FBVyxFQUFlO1FBQ2xDLENBQUMsQ0FBRSxJQUFJLENBQUMsYUFBc0MsQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGN1aUdldERvY3VtZW50T3JTaGFkb3dSb290KG5vZGU6IE5vZGUpOiBEb2N1bWVudE9yU2hhZG93Um9vdCB7XG4gICAgcmV0dXJuICdnZXRSb290Tm9kZScgaW4gbm9kZSAmJiBub2RlLmlzQ29ubmVjdGVkXG4gICAgICAgID8gKG5vZGUuZ2V0Um9vdE5vZGUoKSBhcyBEb2N1bWVudClcbiAgICAgICAgOiAobm9kZS5vd25lckRvY3VtZW50IGFzIERvY3VtZW50T3JTaGFkb3dSb290KTtcbn1cbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { cuiClamp } from '../math';
2
+ import { cuiIsPresent } from '../miscellaneous';
3
+ import { cuiGetDocumentOrShadowRoot } from './get-document-or-shadow-root';
4
+ /**
5
+ * Returns array of Elements covering edges of given element or null if at least one edge middle point is visible
6
+ *
7
+ * CAUTION: Empty array means element if offscreen i.e. covered by no elements, rather than not covered
8
+ * ```ts
9
+ * function cuiGetElementObscures(element: Element): readonly [Element, Element, Element, Element] | [] | null
10
+ * ```
11
+ */
12
+ export function cuiGetElementObscures(element) {
13
+ const { ownerDocument } = element;
14
+ if (!ownerDocument?.defaultView || !element.getBoundingClientRect) {
15
+ return null;
16
+ }
17
+ const { innerWidth, innerHeight } = ownerDocument.defaultView;
18
+ const doc = cuiGetDocumentOrShadowRoot(element);
19
+ const rect = element.getBoundingClientRect();
20
+ if (rect.width === 0 && rect.height === 0) {
21
+ return null;
22
+ }
23
+ const left = cuiClamp(Math.round(rect.left) + 2, 0, innerWidth);
24
+ const top = cuiClamp(Math.round(rect.top) + 2, 0, innerHeight);
25
+ const right = cuiClamp(Math.round(rect.right) - 2, 0, innerWidth);
26
+ const bottom = cuiClamp(Math.round(rect.bottom) - 2, 0, innerHeight);
27
+ const horizontalMiddle = cuiClamp(Math.round(rect.left + rect.width / 2), 0, innerWidth);
28
+ const verticalMiddle = cuiClamp(Math.round(rect.top + rect.height / 2), 0, innerHeight);
29
+ const elements = [
30
+ doc.elementFromPoint(horizontalMiddle, top),
31
+ doc.elementFromPoint(horizontalMiddle, bottom),
32
+ doc.elementFromPoint(left, verticalMiddle),
33
+ doc.elementFromPoint(right, verticalMiddle),
34
+ ];
35
+ const nonNull = elements.filter(cuiIsPresent);
36
+ if (!nonNull.length) {
37
+ return [];
38
+ }
39
+ const filtered = nonNull.filter((el) => !element.contains(el) && !el.contains(element));
40
+ return filtered.length === 4
41
+ ? filtered
42
+ : null;
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVsZW1lbnQtb2JzY3VyZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL2RvbS9nZXQtZWxlbWVudC1vYnNjdXJlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNqQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFOUMsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFFekU7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FDakMsT0FBZ0I7SUFFaEIsTUFBTSxFQUFDLGFBQWEsRUFBQyxHQUFHLE9BQU8sQ0FBQztJQUVoQyxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRTtRQUMvRCxPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsTUFBTSxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUMsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQzVELE1BQU0sR0FBRyxHQUFHLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBRTdDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDdkMsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsRUFDdEMsQ0FBQyxFQUNELFVBQVUsQ0FDYixDQUFDO0lBQ0YsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFDdEMsQ0FBQyxFQUNELFdBQVcsQ0FDZCxDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUc7UUFDYixHQUFHLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDO1FBQzNDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7UUFDOUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxjQUFjLENBQUM7UUFDMUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxjQUFjLENBQUM7S0FDOUMsQ0FBQztJQUNGLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDakIsT0FBTyxFQUFFLENBQUM7S0FDYjtJQUVELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQzNCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUN6RCxDQUFDO0lBRUYsT0FBTyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUM7UUFDeEIsQ0FBQyxDQUFFLFFBQWlEO1FBQ3BELENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjdWlDbGFtcH0gZnJvbSAnLi4vbWF0aCc7XG5pbXBvcnQge2N1aUlzUHJlc2VudH0gZnJvbSAnLi4vbWlzY2VsbGFuZW91cyc7XG5cbmltcG9ydCB7Y3VpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3R9IGZyb20gJy4vZ2V0LWRvY3VtZW50LW9yLXNoYWRvdy1yb290JztcblxuLyoqXG4gKiBSZXR1cm5zIGFycmF5IG9mIEVsZW1lbnRzIGNvdmVyaW5nIGVkZ2VzIG9mIGdpdmVuIGVsZW1lbnQgb3IgbnVsbCBpZiBhdCBsZWFzdCBvbmUgZWRnZSBtaWRkbGUgcG9pbnQgaXMgdmlzaWJsZVxuICpcbiAqIENBVVRJT046IEVtcHR5IGFycmF5IG1lYW5zIGVsZW1lbnQgaWYgb2Zmc2NyZWVuIGkuZS4gY292ZXJlZCBieSBubyBlbGVtZW50cywgcmF0aGVyIHRoYW4gbm90IGNvdmVyZWRcbiAqIGBgYHRzXG4gKiBmdW5jdGlvbiBjdWlHZXRFbGVtZW50T2JzY3VyZXMoZWxlbWVudDogRWxlbWVudCk6IHJlYWRvbmx5IFtFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50XSB8IFtdIHwgbnVsbFxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjdWlHZXRFbGVtZW50T2JzY3VyZXMoXG4gICAgZWxlbWVudDogRWxlbWVudCxcbik6IHJlYWRvbmx5IFtFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50XSB8IFtdIHwgbnVsbCB7XG4gICAgY29uc3Qge293bmVyRG9jdW1lbnR9ID0gZWxlbWVudDtcblxuICAgIGlmICghb3duZXJEb2N1bWVudD8uZGVmYXVsdFZpZXcgfHwgIWVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHtpbm5lcldpZHRoLCBpbm5lckhlaWdodH0gPSBvd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O1xuICAgIGNvbnN0IGRvYyA9IGN1aUdldERvY3VtZW50T3JTaGFkb3dSb290KGVsZW1lbnQpO1xuICAgIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgaWYgKHJlY3Qud2lkdGggPT09IDAgJiYgcmVjdC5oZWlnaHQgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbGVmdCA9IGN1aUNsYW1wKE1hdGgucm91bmQocmVjdC5sZWZ0KSArIDIsIDAsIGlubmVyV2lkdGgpO1xuICAgIGNvbnN0IHRvcCA9IGN1aUNsYW1wKE1hdGgucm91bmQocmVjdC50b3ApICsgMiwgMCwgaW5uZXJIZWlnaHQpO1xuICAgIGNvbnN0IHJpZ2h0ID0gY3VpQ2xhbXAoTWF0aC5yb3VuZChyZWN0LnJpZ2h0KSAtIDIsIDAsIGlubmVyV2lkdGgpO1xuICAgIGNvbnN0IGJvdHRvbSA9IGN1aUNsYW1wKE1hdGgucm91bmQocmVjdC5ib3R0b20pIC0gMiwgMCwgaW5uZXJIZWlnaHQpO1xuICAgIGNvbnN0IGhvcml6b250YWxNaWRkbGUgPSBjdWlDbGFtcChcbiAgICAgICAgTWF0aC5yb3VuZChyZWN0LmxlZnQgKyByZWN0LndpZHRoIC8gMiksXG4gICAgICAgIDAsXG4gICAgICAgIGlubmVyV2lkdGgsXG4gICAgKTtcbiAgICBjb25zdCB2ZXJ0aWNhbE1pZGRsZSA9IGN1aUNsYW1wKFxuICAgICAgICBNYXRoLnJvdW5kKHJlY3QudG9wICsgcmVjdC5oZWlnaHQgLyAyKSxcbiAgICAgICAgMCxcbiAgICAgICAgaW5uZXJIZWlnaHQsXG4gICAgKTtcbiAgICBjb25zdCBlbGVtZW50cyA9IFtcbiAgICAgICAgZG9jLmVsZW1lbnRGcm9tUG9pbnQoaG9yaXpvbnRhbE1pZGRsZSwgdG9wKSxcbiAgICAgICAgZG9jLmVsZW1lbnRGcm9tUG9pbnQoaG9yaXpvbnRhbE1pZGRsZSwgYm90dG9tKSxcbiAgICAgICAgZG9jLmVsZW1lbnRGcm9tUG9pbnQobGVmdCwgdmVydGljYWxNaWRkbGUpLFxuICAgICAgICBkb2MuZWxlbWVudEZyb21Qb2ludChyaWdodCwgdmVydGljYWxNaWRkbGUpLFxuICAgIF07XG4gICAgY29uc3Qgbm9uTnVsbCA9IGVsZW1lbnRzLmZpbHRlcihjdWlJc1ByZXNlbnQpO1xuXG4gICAgaWYgKCFub25OdWxsLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyZWQgPSBub25OdWxsLmZpbHRlcihcbiAgICAgICAgKGVsKSA9PiAhZWxlbWVudC5jb250YWlucyhlbCkgJiYgIWVsLmNvbnRhaW5zKGVsZW1lbnQpLFxuICAgICk7XG5cbiAgICByZXR1cm4gZmlsdGVyZWQubGVuZ3RoID09PSA0XG4gICAgICAgID8gKGZpbHRlcmVkIGFzIFtFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50LCBFbGVtZW50XSlcbiAgICAgICAgOiBudWxsO1xufVxuIl19
@@ -0,0 +1,7 @@
1
+ export * from './contains-or-after';
2
+ export * from './element-checks';
3
+ export * from './get-actual-target';
4
+ export * from './get-document-or-shadow-root';
5
+ export * from './get-element-obscurers';
6
+ export * from './inject-element';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZG9tL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb250YWlucy1vci1hZnRlcic7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnQtY2hlY2tzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWFjdHVhbC10YXJnZXQnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtZG9jdW1lbnQtb3Itc2hhZG93LXJvb3QnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtZWxlbWVudC1vYnNjdXJlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3QtZWxlbWVudCc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { ElementRef, inject } from '@angular/core';
2
+ export function cuiInjectElement() {
3
+ return inject(ElementRef).nativeElement;
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZG9tL2luamVjdC1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE1BQU0sVUFBVSxnQkFBZ0I7SUFDNUIsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VsZW1lbnRSZWYsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjdWlJbmplY3RFbGVtZW50PFQgPSBIVE1MRWxlbWVudD4oKTogVCB7XG4gICAgcmV0dXJuIGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xufVxuIl19
@@ -0,0 +1,7 @@
1
+ export * from './dom';
2
+ export * from './focus';
3
+ export * from './math';
4
+ export * from './miscellaneous';
5
+ export * from './platform';
6
+ export * from './token';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG9tJztcbmV4cG9ydCAqIGZyb20gJy4vZm9jdXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXRoJztcbmV4cG9ydCAqIGZyb20gJy4vbWlzY2VsbGFuZW91cyc7XG5leHBvcnQgKiBmcm9tICcuL3BsYXRmb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW4nO1xuIl19
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Clamps a value between two inclusive limits
3
+ *
4
+ * @param value
5
+ * @param min lower limit
6
+ * @param max upper limit
7
+ */
8
+ export function cuiClamp(value, min, max) {
9
+ return Math.min(max, Math.max(min, value));
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhbXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWF0aC9jbGFtcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQWEsRUFBRSxHQUFXLEVBQUUsR0FBVztJQUM5RCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2xhbXBzIGEgdmFsdWUgYmV0d2VlbiB0d28gaW5jbHVzaXZlIGxpbWl0c1xuICpcbiAqIEBwYXJhbSB2YWx1ZVxuICogQHBhcmFtIG1pbiBsb3dlciBsaW1pdFxuICogQHBhcmFtIG1heCB1cHBlciBsaW1pdFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3VpQ2xhbXAodmFsdWU6IG51bWJlciwgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIE1hdGgubWluKG1heCwgTWF0aC5tYXgobWluLCB2YWx1ZSkpO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './clamp';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWF0aC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xhbXAnOyJdfQ==
@@ -0,0 +1,4 @@
1
+ export function cuiArrayRemove(array, index) {
2
+ return array.slice(0, Math.max(index, 0)).concat(array.slice(Math.max(index + 1, 0)));
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktcmVtb3ZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvYXJyYXktcmVtb3ZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxjQUFjLENBQUksS0FBbUIsRUFBRSxLQUFhO0lBQ2hFLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY3VpQXJyYXlSZW1vdmU8VD4oYXJyYXk6IHJlYWRvbmx5IFRbXSwgaW5kZXg6IG51bWJlcik6IFRbXSB7XG4gICAgcmV0dXJuIGFycmF5LnNsaWNlKDAsIE1hdGgubWF4KGluZGV4LCAwKSkuY29uY2F0KGFycmF5LnNsaWNlKE1hdGgubWF4KGluZGV4ICsgMSwgMCkpKTtcbn1cbiJdfQ==