@cuby-ui/cdk 0.0.485 → 0.0.487

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 (211) hide show
  1. package/README.md +380 -13
  2. package/package.json +4 -1
  3. package/constants/empty.d.ts +0 -10
  4. package/constants/handlers.d.ts +0 -8
  5. package/constants/index.d.ts +0 -4
  6. package/constants/svg-node-filter.d.ts +0 -1
  7. package/constants/units.d.ts +0 -17
  8. package/date-time/index.d.ts +0 -1
  9. package/date-time/time.d.ts +0 -14
  10. package/directives/active-zone/active-zone.directive.d.ts +0 -22
  11. package/directives/active-zone/index.d.ts +0 -1
  12. package/directives/auto-resizing.directive.d.ts +0 -18
  13. package/directives/click-outside.directive.d.ts +0 -9
  14. package/directives/content-editable-value-accessor.directive.d.ts +0 -17
  15. package/directives/dimensions-observer.directive.d.ts +0 -13
  16. package/directives/drag-drop/drag-drop.directive.d.ts +0 -42
  17. package/directives/drag-drop/drag-drop.options.d.ts +0 -11
  18. package/directives/drag-drop/drag-list.directive.d.ts +0 -10
  19. package/directives/drag-drop/drag-pointer.directive.d.ts +0 -8
  20. package/directives/drag-drop/index.d.ts +0 -4
  21. package/directives/element.directive.d.ts +0 -8
  22. package/directives/focus-trap.directive.d.ts +0 -14
  23. package/directives/handle-scroll.directive.d.ts +0 -23
  24. package/directives/hovered/hovered.directive.d.ts +0 -7
  25. package/directives/hovered/hovered.service.d.ts +0 -12
  26. package/directives/hovered/index.d.ts +0 -2
  27. package/directives/index.d.ts +0 -17
  28. package/directives/item.directive.d.ts +0 -5
  29. package/directives/ladder-list.directive.d.ts +0 -13
  30. package/directives/let.context.d.ts +0 -9
  31. package/directives/let.directive.d.ts +0 -9
  32. package/directives/target.directive.d.ts +0 -14
  33. package/directives/typed-template.directive.d.ts +0 -13
  34. package/directives/typed-template.options.d.ts +0 -3
  35. package/esm2022/constants/empty.mjs +0 -24
  36. package/esm2022/constants/handlers.mjs +0 -11
  37. package/esm2022/constants/index.mjs +0 -5
  38. package/esm2022/constants/svg-node-filter.mjs +0 -6
  39. package/esm2022/constants/units.mjs +0 -64
  40. package/esm2022/cuby-ui-cdk.mjs +0 -5
  41. package/esm2022/date-time/index.mjs +0 -2
  42. package/esm2022/date-time/time.mjs +0 -72
  43. package/esm2022/directives/active-zone/active-zone.directive.mjs +0 -75
  44. package/esm2022/directives/active-zone/index.mjs +0 -2
  45. package/esm2022/directives/auto-resizing.directive.mjs +0 -64
  46. package/esm2022/directives/click-outside.directive.mjs +0 -29
  47. package/esm2022/directives/content-editable-value-accessor.directive.mjs +0 -44
  48. package/esm2022/directives/dimensions-observer.directive.mjs +0 -32
  49. package/esm2022/directives/drag-drop/drag-drop.directive.mjs +0 -184
  50. package/esm2022/directives/drag-drop/drag-drop.options.mjs +0 -2
  51. package/esm2022/directives/drag-drop/drag-list.directive.mjs +0 -22
  52. package/esm2022/directives/drag-drop/drag-pointer.directive.mjs +0 -20
  53. package/esm2022/directives/drag-drop/index.mjs +0 -4
  54. package/esm2022/directives/element.directive.mjs +0 -19
  55. package/esm2022/directives/focus-trap.directive.mjs +0 -50
  56. package/esm2022/directives/handle-scroll.directive.mjs +0 -81
  57. package/esm2022/directives/hovered/hovered.directive.mjs +0 -21
  58. package/esm2022/directives/hovered/hovered.service.mjs +0 -32
  59. package/esm2022/directives/hovered/index.mjs +0 -3
  60. package/esm2022/directives/index.mjs +0 -18
  61. package/esm2022/directives/item.directive.mjs +0 -14
  62. package/esm2022/directives/ladder-list.directive.mjs +0 -42
  63. package/esm2022/directives/let.context.mjs +0 -12
  64. package/esm2022/directives/let.directive.mjs +0 -23
  65. package/esm2022/directives/target.directive.mjs +0 -36
  66. package/esm2022/directives/typed-template.directive.mjs +0 -27
  67. package/esm2022/directives/typed-template.options.mjs +0 -2
  68. package/esm2022/index.mjs +0 -12
  69. package/esm2022/interfaces/dimensions.mjs +0 -2
  70. package/esm2022/interfaces/index.mjs +0 -4
  71. package/esm2022/interfaces/on-change.mjs +0 -2
  72. package/esm2022/interfaces/on-touched.mjs +0 -2
  73. package/esm2022/models/consumption-units.mjs +0 -2
  74. package/esm2022/models/index.mjs +0 -2
  75. package/esm2022/observables/if-map.mjs +0 -5
  76. package/esm2022/observables/index.mjs +0 -5
  77. package/esm2022/observables/typed-from-event.mjs +0 -9
  78. package/esm2022/observables/watch.mjs +0 -6
  79. package/esm2022/observables/zone.mjs +0 -34
  80. package/esm2022/pipes/filter.pipe.mjs +0 -17
  81. package/esm2022/pipes/index.mjs +0 -2
  82. package/esm2022/services/consumption-units.service.mjs +0 -67
  83. package/esm2022/services/destroy.service.mjs +0 -15
  84. package/esm2022/services/id.service.mjs +0 -21
  85. package/esm2022/services/index.mjs +0 -5
  86. package/esm2022/services/popover.service.mjs +0 -41
  87. package/esm2022/tokens/active-element.mjs +0 -52
  88. package/esm2022/tokens/animation-frame.mjs +0 -21
  89. package/esm2022/tokens/environment.mjs +0 -47
  90. package/esm2022/tokens/history.mjs +0 -5
  91. package/esm2022/tokens/index.mjs +0 -11
  92. package/esm2022/tokens/local-storage.mjs +0 -5
  93. package/esm2022/tokens/navigator.mjs +0 -6
  94. package/esm2022/tokens/removed-element.mjs +0 -19
  95. package/esm2022/tokens/session-storage.mjs +0 -5
  96. package/esm2022/tokens/user-agent.mjs +0 -6
  97. package/esm2022/tokens/window.mjs +0 -11
  98. package/esm2022/types/context.mjs +0 -2
  99. package/esm2022/types/date-time.mjs +0 -2
  100. package/esm2022/types/handler.mjs +0 -2
  101. package/esm2022/types/index.mjs +0 -9
  102. package/esm2022/types/input-type.mjs +0 -2
  103. package/esm2022/types/mapper.mjs +0 -2
  104. package/esm2022/types/matcher.mjs +0 -2
  105. package/esm2022/types/nullable.mjs +0 -2
  106. package/esm2022/types/value-of.mjs +0 -2
  107. package/esm2022/utils/dom/contains-or-after.mjs +0 -9
  108. package/esm2022/utils/dom/element-checks.mjs +0 -20
  109. package/esm2022/utils/dom/get-actual-target.mjs +0 -7
  110. package/esm2022/utils/dom/get-document-or-shadow-root.mjs +0 -6
  111. package/esm2022/utils/dom/get-element-obscurers.mjs +0 -42
  112. package/esm2022/utils/dom/index.mjs +0 -8
  113. package/esm2022/utils/dom/inject-element.mjs +0 -5
  114. package/esm2022/utils/dom/point-to-client-rect.mjs +0 -17
  115. package/esm2022/utils/files/files.uploader.mjs +0 -19
  116. package/esm2022/utils/files/index.mjs +0 -3
  117. package/esm2022/utils/files/take-capture-from-video.mjs +0 -25
  118. package/esm2022/utils/focus/blur-native-focused.mjs +0 -9
  119. package/esm2022/utils/focus/get-closest-focusable.mjs +0 -22
  120. package/esm2022/utils/focus/get-native-focused.mjs +0 -11
  121. package/esm2022/utils/focus/index.mjs +0 -7
  122. package/esm2022/utils/focus/is-native-focused.mjs +0 -13
  123. package/esm2022/utils/focus/is-native-keyboard-focusable.mjs +0 -26
  124. package/esm2022/utils/focus/is-native-mouse-focusable.mjs +0 -6
  125. package/esm2022/utils/index.mjs +0 -8
  126. package/esm2022/utils/math/clamp.mjs +0 -11
  127. package/esm2022/utils/math/index.mjs +0 -2
  128. package/esm2022/utils/miscellaneous/array-remove.mjs +0 -4
  129. package/esm2022/utils/miscellaneous/index.mjs +0 -6
  130. package/esm2022/utils/miscellaneous/is-present.mjs +0 -4
  131. package/esm2022/utils/miscellaneous/move-item-in-array.mjs +0 -10
  132. package/esm2022/utils/miscellaneous/pure.mjs +0 -81
  133. package/esm2022/utils/miscellaneous/px.mjs +0 -7
  134. package/esm2022/utils/platform/index.mjs +0 -2
  135. package/esm2022/utils/platform/is-ios.mjs +0 -6
  136. package/esm2022/utils/token/create-token.mjs +0 -8
  137. package/esm2022/utils/token/index.mjs +0 -3
  138. package/esm2022/utils/token/provide.mjs +0 -4
  139. package/fesm2022/cuby-ui-cdk.mjs +0 -1644
  140. package/fesm2022/cuby-ui-cdk.mjs.map +0 -1
  141. package/index.d.ts +0 -11
  142. package/interfaces/dimensions.d.ts +0 -4
  143. package/interfaces/index.d.ts +0 -3
  144. package/interfaces/on-change.d.ts +0 -3
  145. package/interfaces/on-touched.d.ts +0 -3
  146. package/models/consumption-units.d.ts +0 -14
  147. package/models/index.d.ts +0 -1
  148. package/observables/if-map.d.ts +0 -3
  149. package/observables/index.d.ts +0 -4
  150. package/observables/typed-from-event.d.ts +0 -16
  151. package/observables/watch.d.ts +0 -3
  152. package/observables/zone.d.ts +0 -7
  153. package/pipes/filter.pipe.d.ts +0 -8
  154. package/pipes/index.d.ts +0 -1
  155. package/services/consumption-units.service.d.ts +0 -13
  156. package/services/destroy.service.d.ts +0 -8
  157. package/services/id.service.d.ts +0 -8
  158. package/services/index.d.ts +0 -4
  159. package/services/popover.service.d.ts +0 -23
  160. package/tokens/active-element.d.ts +0 -5
  161. package/tokens/animation-frame.d.ts +0 -3
  162. package/tokens/environment.d.ts +0 -19
  163. package/tokens/history.d.ts +0 -1
  164. package/tokens/index.d.ts +0 -10
  165. package/tokens/local-storage.d.ts +0 -1
  166. package/tokens/navigator.d.ts +0 -2
  167. package/tokens/removed-element.d.ts +0 -4
  168. package/tokens/session-storage.d.ts +0 -1
  169. package/tokens/user-agent.d.ts +0 -2
  170. package/tokens/window.d.ts +0 -1
  171. package/types/context.d.ts +0 -3
  172. package/types/date-time.d.ts +0 -1
  173. package/types/handler.d.ts +0 -4
  174. package/types/index.d.ts +0 -8
  175. package/types/input-type.d.ts +0 -1
  176. package/types/mapper.d.ts +0 -1
  177. package/types/matcher.d.ts +0 -2
  178. package/types/nullable.d.ts +0 -1
  179. package/types/value-of.d.ts +0 -1
  180. package/utils/dom/contains-or-after.d.ts +0 -1
  181. package/utils/dom/element-checks.d.ts +0 -6
  182. package/utils/dom/get-actual-target.d.ts +0 -4
  183. package/utils/dom/get-document-or-shadow-root.d.ts +0 -1
  184. package/utils/dom/get-element-obscurers.d.ts +0 -9
  185. package/utils/dom/index.d.ts +0 -7
  186. package/utils/dom/inject-element.d.ts +0 -1
  187. package/utils/dom/point-to-client-rect.d.ts +0 -1
  188. package/utils/files/files.uploader.d.ts +0 -5
  189. package/utils/files/index.d.ts +0 -2
  190. package/utils/files/take-capture-from-video.d.ts +0 -1
  191. package/utils/focus/blur-native-focused.d.ts +0 -1
  192. package/utils/focus/get-closest-focusable.d.ts +0 -7
  193. package/utils/focus/get-native-focused.d.ts +0 -1
  194. package/utils/focus/index.d.ts +0 -6
  195. package/utils/focus/is-native-focused.d.ts +0 -9
  196. package/utils/focus/is-native-keyboard-focusable.d.ts +0 -1
  197. package/utils/focus/is-native-mouse-focusable.d.ts +0 -1
  198. package/utils/index.d.ts +0 -7
  199. package/utils/math/clamp.d.ts +0 -8
  200. package/utils/math/index.d.ts +0 -1
  201. package/utils/miscellaneous/array-remove.d.ts +0 -1
  202. package/utils/miscellaneous/index.d.ts +0 -5
  203. package/utils/miscellaneous/is-present.d.ts +0 -1
  204. package/utils/miscellaneous/move-item-in-array.d.ts +0 -1
  205. package/utils/miscellaneous/pure.d.ts +0 -21
  206. package/utils/miscellaneous/px.d.ts +0 -4
  207. package/utils/platform/index.d.ts +0 -1
  208. package/utils/platform/is-ios.d.ts +0 -3
  209. package/utils/token/create-token.d.ts +0 -3
  210. package/utils/token/index.d.ts +0 -2
  211. package/utils/token/provide.d.ts +0 -3
@@ -1,44 +0,0 @@
1
- import { Directive, ElementRef, HostListener, inject } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { cuiProvide } from '../utils/token';
4
- import * as i0 from "@angular/core";
5
- export class CuiContentEditableValueAccessorDirective {
6
- constructor() {
7
- this.element = inject(ElementRef).nativeElement;
8
- }
9
- writeValue(value) {
10
- this.element.innerText = value ?? '';
11
- }
12
- registerOnChange(fn) {
13
- this.onChange = fn;
14
- }
15
- registerOnTouched(fn) {
16
- this.onTouched = fn;
17
- }
18
- setDisabledState(isDisabled) {
19
- this.element.contentEditable = String(!isDisabled);
20
- }
21
- onInput() {
22
- this.onChange(this.element.innerHTML === '<br>' ? '' : this.element.innerText);
23
- }
24
- onBlur() {
25
- this.onTouched();
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiContentEditableValueAccessorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
28
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CuiContentEditableValueAccessorDirective, isStandalone: true, selector: "[contenteditable][formControlName], [contenteditable][formControl], [contenteditable][ngModel]", host: { listeners: { "input": "onInput()", "blur": "onBlur()" } }, providers: [cuiProvide(NG_VALUE_ACCESSOR, CuiContentEditableValueAccessorDirective, true)], ngImport: i0 }); }
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiContentEditableValueAccessorDirective, decorators: [{
31
- type: Directive,
32
- args: [{
33
- standalone: true,
34
- selector: '[contenteditable][formControlName], [contenteditable][formControl], [contenteditable][ngModel]',
35
- providers: [cuiProvide(NG_VALUE_ACCESSOR, CuiContentEditableValueAccessorDirective, true)]
36
- }]
37
- }], propDecorators: { onInput: [{
38
- type: HostListener,
39
- args: ['input']
40
- }], onBlur: [{
41
- type: HostListener,
42
- args: ['blur']
43
- }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1lZGl0YWJsZS12YWx1ZS1hY2Nlc3Nvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9jb250ZW50LWVkaXRhYmxlLXZhbHVlLWFjY2Vzc29yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSW5ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPNUMsTUFBTSxPQUFPLHdDQUF3QztJQUxyRDtRQU1xQixZQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQTRCLENBQUM7S0E4QjlFO0lBekJVLFVBQVUsQ0FBQyxLQUEwQjtRQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUF1QjtRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0saUJBQWlCLENBQUMsRUFBZ0I7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFVBQW1CO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFHUyxPQUFPO1FBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBR1MsTUFBTTtRQUNaLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDOytHQTlCUSx3Q0FBd0M7bUdBQXhDLHdDQUF3QyxnTkFGdEMsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsd0NBQXdDLEVBQUUsSUFBSSxDQUFDLENBQUM7OzRGQUVqRix3Q0FBd0M7a0JBTHBELFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxnR0FBZ0c7b0JBQzFHLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsNENBQTRDLElBQUksQ0FBQyxDQUFDO2lCQUM3Rjs4QkF3QmEsT0FBTztzQkFEaEIsWUFBWTt1QkFBQyxPQUFPO2dCQU1YLE1BQU07c0JBRGYsWUFBWTt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBDdWlPbkNoYW5nZSwgQ3VpT25Ub3VjaGVkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjdWlQcm92aWRlIH0gZnJvbSAnLi4vdXRpbHMvdG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW2NvbnRlbnRlZGl0YWJsZV1bZm9ybUNvbnRyb2xOYW1lXSwgW2NvbnRlbnRlZGl0YWJsZV1bZm9ybUNvbnRyb2xdLCBbY29udGVudGVkaXRhYmxlXVtuZ01vZGVsXScsXG4gICAgcHJvdmlkZXJzOiBbY3VpUHJvdmlkZShOR19WQUxVRV9BQ0NFU1NPUiwgQ3VpQ29udGVudEVkaXRhYmxlVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSwgdHJ1ZSldXG59KVxuZXhwb3J0IGNsYXNzIEN1aUNvbnRlbnRFZGl0YWJsZVZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBwcm90ZWN0ZWQgb25DaGFuZ2UhOiBDdWlPbkNoYW5nZTxzdHJpbmc+O1xuICAgIHByb3RlY3RlZCBvblRvdWNoZWQhOiBDdWlPblRvdWNoZWQ7XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogQ3VpTnVsbGFibGU8c3RyaW5nPik6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnQuaW5uZXJUZXh0ID0gdmFsdWUgPz8gJyc7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEN1aU9uQ2hhbmdlPHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogQ3VpT25Ub3VjaGVkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnQuY29udGVudEVkaXRhYmxlID0gU3RyaW5nKCFpc0Rpc2FibGVkKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdpbnB1dCcpXG4gICAgcHJvdGVjdGVkIG9uSW5wdXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5lbGVtZW50LmlubmVySFRNTCA9PT0gJzxicj4nID8gJycgOiB0aGlzLmVsZW1lbnQuaW5uZXJUZXh0KTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgICBwcm90ZWN0ZWQgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,32 +0,0 @@
1
- import { Directive, ElementRef, EventEmitter, inject, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CuiDimensionsObserverDirective {
4
- constructor() {
5
- this.element = inject(ElementRef).nativeElement;
6
- this.observer = new ResizeObserver((entries) => {
7
- entries.forEach(() => this.cuiResizeObserver.emit({
8
- width: this.element.offsetWidth,
9
- height: this.element.offsetHeight
10
- }));
11
- });
12
- this.cuiResizeObserver = new EventEmitter();
13
- }
14
- ngOnInit() {
15
- this.observer.observe(this.element);
16
- }
17
- ngOnDestroy() {
18
- this.observer.disconnect();
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiDimensionsObserverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CuiDimensionsObserverDirective, isStandalone: true, selector: "[cuiResizeObserver]", outputs: { cuiResizeObserver: "cuiResizeObserver" }, ngImport: i0 }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiDimensionsObserverDirective, decorators: [{
24
- type: Directive,
25
- args: [{
26
- standalone: true,
27
- selector: '[cuiResizeObserver]'
28
- }]
29
- }], propDecorators: { cuiResizeObserver: [{
30
- type: Output
31
- }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltZW5zaW9ucy1vYnNlcnZlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9kaW1lbnNpb25zLW9ic2VydmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRcEYsTUFBTSxPQUFPLDhCQUE4QjtJQUozQztRQUtxQixZQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQTRCLENBQUM7UUFFMUQsYUFBUSxHQUFHLElBQUksY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdkQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FDakIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQztnQkFDeEIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVztnQkFDL0IsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWTthQUNwQyxDQUFDLENBQ0wsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBR0ksc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7S0FTaEU7SUFQVSxRQUFRO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMvQixDQUFDOytHQXJCUSw4QkFBOEI7bUdBQTlCLDhCQUE4Qjs7NEZBQTlCLDhCQUE4QjtrQkFKMUMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHFCQUFxQjtpQkFDbEM7OEJBY1UsaUJBQWlCO3NCQUR2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB0eXBlIHsgQ3VpRGltZW5zaW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW2N1aVJlc2l6ZU9ic2VydmVyXSdcbn0pXG5leHBvcnQgY2xhc3MgQ3VpRGltZW5zaW9uc09ic2VydmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICBlbnRyaWVzLmZvckVhY2goKCkgPT5cbiAgICAgICAgICAgIHRoaXMuY3VpUmVzaXplT2JzZXJ2ZXIuZW1pdCh7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHRoaXMuZWxlbWVudC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHRoaXMuZWxlbWVudC5vZmZzZXRIZWlnaHRcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfSk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY3VpUmVzaXplT2JzZXJ2ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPEN1aURpbWVuc2lvbnM+KCk7XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnQpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG59XG4iXX0=
@@ -1,184 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Directive, ElementRef, inject, input, NgZone, output, Renderer2, signal } from '@angular/core';
3
- import { CuiDragListDirective } from './drag-list.directive';
4
- import * as i0 from "@angular/core";
5
- export class CuiDragDropDirective {
6
- constructor() {
7
- this.zone = inject(NgZone);
8
- this.document = inject(DOCUMENT);
9
- this.renderer = inject(Renderer2);
10
- this.element = inject(ElementRef).nativeElement;
11
- this.dragListDirective = inject(CuiDragListDirective);
12
- this.PLACEHOLDER_CLASS = 'cui-drag-drop-placeholder';
13
- this.listId = this.dragListDirective.listId;
14
- this.itemAttribute = `${this.listId}-drag-item`;
15
- this.abortController = new AbortController();
16
- this.hostAbortController = new AbortController();
17
- this.draggingElement = signal(null);
18
- this.placeholderElement = signal(null);
19
- this.dragData = signal({});
20
- this.disabled = input(false);
21
- this.elementDragged = output();
22
- this.initDragItem();
23
- this.initPointerEvents(this.element);
24
- }
25
- ngOnDestroy() {
26
- this.destroyEvents();
27
- }
28
- changePointerEvents(element) {
29
- this.hostAbortController.abort();
30
- this.hostAbortController = new AbortController();
31
- this.initPointerEvents(element);
32
- }
33
- onDrag(clientX, clientY) {
34
- if (!this.draggingElement()) {
35
- return;
36
- }
37
- const elementsFromPoint = this.document.elementsFromPoint(clientX, clientY);
38
- const elementFromPoint = elementsFromPoint.find((element) => element.closest(`#${this.listId}`));
39
- if (!elementFromPoint) {
40
- return;
41
- }
42
- const targetElement = elementFromPoint.closest(`[${this.itemAttribute}]`);
43
- if (!targetElement || targetElement === this.draggingElement()) {
44
- return;
45
- }
46
- this.configurateDragData(targetElement, clientY);
47
- }
48
- onDragStart(event) {
49
- if (this.disabled()) {
50
- return;
51
- }
52
- let isClicked = true;
53
- const elementClientRect = this.element.getBoundingClientRect();
54
- const shiftX = event.clientX - elementClientRect.left;
55
- const shiftY = event.clientY - elementClientRect.top;
56
- this.prevIndex = this.calculatePreviousIndex();
57
- this.document.addEventListener('pointermove', ({ clientX, clientY }) => {
58
- if (isClicked) {
59
- this.prepareMoving();
60
- isClicked = false;
61
- }
62
- const draggingElement = this.draggingElement();
63
- this.renderer.setStyle(draggingElement, 'left', clientX - shiftX + 'px');
64
- this.renderer.setStyle(draggingElement, 'top', clientY - shiftY + 'px');
65
- this.onDrag(clientX, clientY);
66
- }, { signal: this.abortController.signal });
67
- }
68
- onDragEnd() {
69
- const { targetElement, pointer } = this.dragData();
70
- if (targetElement && pointer) {
71
- this.elementDragged.emit({
72
- index: this.index,
73
- prevIndex: this.prevIndex,
74
- targetElement,
75
- pointer
76
- });
77
- }
78
- // remove document events
79
- this.abortController.abort();
80
- this.abortController = new AbortController();
81
- this.removeDragElement();
82
- this.removePlaceholder();
83
- this.dragData.set({});
84
- }
85
- initDragItem() {
86
- this.renderer.setAttribute(this.element, this.itemAttribute, 'true');
87
- }
88
- initPointerEvents(element) {
89
- const signal = this.hostAbortController.signal;
90
- this.zone.runOutsideAngular(() => {
91
- element.addEventListener('pointerup', this.onDragEnd.bind(this), { signal });
92
- element.addEventListener('pointerdown', this.onDragStart.bind(this), { signal });
93
- });
94
- }
95
- destroyEvents() {
96
- this.hostAbortController.abort();
97
- this.abortController.abort();
98
- }
99
- prepareMoving() {
100
- const placeholderElement = this.createPlaceholderElement();
101
- const draggingElement = this.createDragElement();
102
- this.document.addEventListener('pointerup', this.onDragEnd.bind(this), {
103
- signal: this.abortController.signal
104
- });
105
- this.element.after(placeholderElement);
106
- this.draggingElement.set(draggingElement);
107
- this.element.remove();
108
- this.document.body.append(draggingElement);
109
- }
110
- configurateDragData(targetElement, clientY) {
111
- const placeholderElement = this.placeholderElement();
112
- const boundingRect = targetElement.getBoundingClientRect();
113
- const middleY = boundingRect.top + boundingRect.height / 2;
114
- if (clientY < middleY) {
115
- targetElement.before(placeholderElement);
116
- this.dragData.set({ targetElement, pointer: 'BEFORE' });
117
- }
118
- else {
119
- targetElement.after(placeholderElement);
120
- this.dragData.set({ targetElement, pointer: 'AFTER' });
121
- }
122
- this.index = this.calculateIndex(placeholderElement);
123
- }
124
- createDragElement() {
125
- const width = this.element.clientWidth;
126
- const draggingElement = this.element.cloneNode(true);
127
- this.renderer.setStyle(draggingElement, 'position', 'fixed');
128
- this.renderer.setStyle(draggingElement, 'display', 'block');
129
- this.renderer.setStyle(draggingElement, 'margin', '0');
130
- this.renderer.setStyle(draggingElement, 'width', `${width}px`);
131
- return draggingElement;
132
- }
133
- createPlaceholderElement() {
134
- const element = this.placeholderElement();
135
- if (element) {
136
- return element;
137
- }
138
- const placeholderElement = this.renderer.createElement('div');
139
- this.renderer.addClass(placeholderElement, this.PLACEHOLDER_CLASS);
140
- this.placeholderElement.set(placeholderElement);
141
- return placeholderElement;
142
- }
143
- removeDragElement() {
144
- const draggingElement = this.draggingElement();
145
- if (!draggingElement) {
146
- return;
147
- }
148
- draggingElement.remove();
149
- this.draggingElement.set(null);
150
- }
151
- removePlaceholder() {
152
- const placeholderElement = this.placeholderElement();
153
- if (!placeholderElement) {
154
- return;
155
- }
156
- placeholderElement.after(this.element);
157
- placeholderElement.remove();
158
- this.placeholderElement.set(null);
159
- }
160
- calculateIndex(placeholderElement) {
161
- const childNodes = placeholderElement.parentElement.childNodes;
162
- const elements = Array.from(childNodes).filter((node) => node instanceof HTMLElement);
163
- return elements.indexOf(placeholderElement);
164
- }
165
- calculatePreviousIndex() {
166
- let index = 0;
167
- let currentElement = this.element;
168
- while (currentElement && currentElement.previousElementSibling) {
169
- index++;
170
- currentElement = currentElement.previousElementSibling;
171
- }
172
- return index;
173
- }
174
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiDragDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
175
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: CuiDragDropDirective, isStandalone: true, selector: "[cuiDragDrop]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { elementDragged: "elementDragged" }, ngImport: i0 }); }
176
- }
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiDragDropDirective, decorators: [{
178
- type: Directive,
179
- args: [{
180
- selector: '[cuiDragDrop]',
181
- standalone: true
182
- }]
183
- }], ctorParameters: () => [] });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL2RyYWctZHJvcC9kcmFnLWRyb3AuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl4RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFNN0QsTUFBTSxPQUFPLG9CQUFvQjtJQXlCN0I7UUF4QmlCLFNBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzNDLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRWpELHNCQUFpQixHQUFHLDJCQUEyQixDQUFDO1FBRWhELFdBQU0sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLGtCQUFhLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxZQUFZLENBQUM7UUFJcEQsb0JBQWUsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3hDLHdCQUFtQixHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFFakMsb0JBQWUsR0FBRyxNQUFNLENBQTJCLElBQUksQ0FBQyxDQUFDO1FBQ3pELHVCQUFrQixHQUFHLE1BQU0sQ0FBMkIsSUFBSSxDQUFD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QztRQUNoRSxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxZQUFZLFdBQVcsQ0FBQyxDQUFDO1FBRXRGLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxrQkFBbUIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxzQkFBc0I7UUFDMUIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxjQUFjLEdBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUUzQyxPQUFPLGNBQWMsSUFBSSxjQUFjLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM3RCxLQUFLLEVBQUUsQ0FBQztZQUNSLGNBQWMsR0FBRyxjQUFjLENBQUMsc0JBQXNCLENBQUM7UUFDM0QsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7K0dBdk9RLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB0eXBlIHsgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgTmdab25lLCBvdXRwdXQsIFJlbmRlcmVyMiwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB0eXBlIHsgQ3VpTnVsbGFibGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XHJcblxyXG5pbXBvcnQgdHlwZSB7IEN1aURyYWdEYXRhLCBDdWlEcmFnRHJvcERhdGEgfSBmcm9tICcuL2RyYWctZHJvcC5vcHRpb25zJztcclxuaW1wb3J0IHsgQ3VpRHJhZ0xpc3REaXJlY3RpdmUgfSBmcm9tICcuL2RyYWctbGlzdC5kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tjdWlEcmFnRHJvcF0nLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VpRHJhZ0Ryb3BEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcmFnTGlzdERpcmVjdGl2ZSA9IGluamVjdChDdWlEcmFnTGlzdERpcmVjdGl2ZSk7XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBQTEFDRUhPTERFUl9DTEFTUyA9ICdjdWktZHJhZy1kcm9wLXBsYWNlaG9sZGVyJztcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpc3RJZCA9IHRoaXMuZHJhZ0xpc3REaXJlY3RpdmUubGlzdElkO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBpdGVtQXR0cmlidXRlID0gYCR7dGhpcy5saXN0SWR9LWRyYWctaXRlbWA7XHJcblxyXG4gICAgcHJpdmF0ZSBpbmRleCE6IG51bWJlcjtcclxuICAgIHByaXZhdGUgcHJldkluZGV4ITogbnVtYmVyO1xyXG4gICAgcHJpdmF0ZSBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XHJcbiAgICBwcml2YXRlIGhvc3RBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyYWdnaW5nRWxlbWVudCA9IHNpZ25hbDxDdWlOdWxsYWJsZTxIVE1MRWxlbWVudD4+KG51bGwpO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBsYWNlaG9sZGVyRWxlbWVudCA9IHNpZ25hbDxDdWlOdWxsYWJsZTxIVE1MRWxlbWVudD4+KG51bGwpO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyYWdEYXRhID0gc2lnbmFsPEN1aURyYWdEYXRhPih7fSk7XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQoZmFsc2UpO1xyXG5cclxuICAgIHB1YmxpYyByZWFkb25seSBlbGVtZW50RHJhZ2dlZCA9IG91dHB1dDxDdWlEcmFnRHJvcERhdGE+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5pbml0RHJhZ0l0ZW0oKTtcclxuICAgICAgICB0aGlzLmluaXRQb2ludGVyRXZlbnRzKHRoaXMuZWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveUV2ZW50cygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjaGFuZ2VQb2ludGVyRXZlbnRzKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5ob3N0QWJvcnRDb250cm9sbGVyLmFib3J0KCk7XHJcbiAgICAgICAgdGhpcy5ob3N0QWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xyXG5cclxuICAgICAgICB0aGlzLmluaXRQb2ludGVyRXZlbnRzKGVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgb25EcmFnKGNsaWVudFg6IG51bWJlciwgY2xpZW50WTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRyYWdnaW5nRWxlbWVudCgpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGVsZW1lbnRzRnJvbVBvaW50ID0gdGhpcy5kb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludChjbGllbnRYLCBjbGllbnRZKTtcclxuICAgICAgICBjb25zdCBlbGVtZW50RnJvbVBvaW50ID0gZWxlbWVudHNGcm9tUG9pbnQuZmluZCgoZWxlbWVudCkgPT4gZWxlbWVudC5jbG9zZXN0KGAjJHt0aGlzLmxpc3RJZH1gKSk7XHJcblxyXG4gICAgICAgIGlmICghZWxlbWVudEZyb21Qb2ludCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gZWxlbWVudEZyb21Qb2ludC5jbG9zZXN0PEhUTUxFbGVtZW50PihgWyR7dGhpcy5pdGVtQXR0cmlidXRlfV1gKTtcclxuXHJcbiAgICAgICAgaWYgKCF0YXJnZXRFbGVtZW50IHx8IHRhcmdldEVsZW1lbnQgPT09IHRoaXMuZHJhZ2dpbmdFbGVtZW50KCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jb25maWd1cmF0ZURyYWdEYXRhKHRhcmdldEVsZW1lbnQsIGNsaWVudFkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgb25EcmFnU3RhcnQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBpc0NsaWNrZWQgPSB0cnVlO1xyXG5cclxuICAgICAgICBjb25zdCBlbGVtZW50Q2xpZW50UmVjdCA9IHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICBjb25zdCBzaGlmdFggPSBldmVudC5jbGllbnRYIC0gZWxlbWVudENsaWVudFJlY3QubGVmdDtcclxuICAgICAgICBjb25zdCBzaGlmdFkgPSBldmVudC5jbGllbnRZIC0gZWxlbWVudENsaWVudFJlY3QudG9wO1xyXG5cclxuICAgICAgICB0aGlzLnByZXZJbmRleCA9IHRoaXMuY2FsY3VsYXRlUHJldmlvdXNJbmRleCgpO1xyXG5cclxuICAgICAgICB0aGlzLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXHJcbiAgICAgICAgICAgICdwb2ludGVybW92ZScsXHJcbiAgICAgICAgICAgICh7IGNsaWVudFgsIGNsaWVudFkgfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlzQ2xpY2tlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJlcGFyZU1vdmluZygpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpc0NsaWNrZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBkcmFnZ2luZ0VsZW1lbnQgPSB0aGlzLmRyYWdnaW5nRWxlbWVudCgpO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJhZ2dpbmdFbGVtZW50LCAnbGVmdCcsIGNsaWVudFggLSBzaGlmdFggKyAncHgnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJhZ2dpbmdFbGVtZW50LCAndG9wJywgY2xpZW50WSAtIHNoaWZ0WSArICdweCcpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vbkRyYWcoY2xpZW50WCwgY2xpZW50WSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgc2lnbmFsOiB0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWwgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvbkRyYWdFbmQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgeyB0YXJnZXRFbGVtZW50LCBwb2ludGVyIH0gPSB0aGlzLmRyYWdEYXRhKCk7XHJcblxyXG4gICAgICAgIGlmICh0YXJnZXRFbGVtZW50ICYmIHBvaW50ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5lbGVtZW50RHJhZ2dlZC5lbWl0KHtcclxuICAgICAgICAgICAgICAgIGluZGV4OiB0aGlzLmluZGV4LFxyXG4gICAgICAgICAgICAgICAgcHJldkluZGV4OiB0aGlzLnByZXZJbmRleCxcclxuICAgICAgICAgICAgICAgIHRhcmdldEVsZW1lbnQsXHJcbiAgICAgICAgICAgICAgICBwb2ludGVyXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gcmVtb3ZlIGRvY3VtZW50IGV2ZW50c1xyXG4gICAgICAgIHRoaXMuYWJvcnRDb250cm9sbGVyLmFib3J0KCk7XHJcbiAgICAgICAgdGhpcy5hYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XHJcblxyXG4gICAgICAgIHRoaXMucmVtb3ZlRHJhZ0VsZW1lbnQoKTtcclxuICAgICAgICB0aGlzLnJlbW92ZVBsYWNlaG9sZGVyKCk7XHJcbiAgICAgICAgdGhpcy5kcmFnRGF0YS5zZXQoe30pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdERyYWdJdGVtKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWxlbWVudCwgdGhpcy5pdGVtQXR0cmlidXRlLCAndHJ1ZScpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdFBvaW50ZXJFdmVudHMoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBzaWduYWwgPSB0aGlzLmhvc3RBYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xyXG5cclxuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIHRoaXMub25EcmFnRW5kLmJpbmQodGhpcyksIHsgc2lnbmFsIH0pO1xyXG4gICAgICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgdGhpcy5vbkRyYWdTdGFydC5iaW5kKHRoaXMpLCB7IHNpZ25hbCB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRlc3Ryb3lFdmVudHMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5ob3N0QWJvcnRDb250cm9sbGVyLmFib3J0KCk7XHJcbiAgICAgICAgdGhpcy5hYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHByZXBhcmVNb3ZpbmcoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJFbGVtZW50ID0gdGhpcy5jcmVhdGVQbGFjZWhvbGRlckVsZW1lbnQoKTtcclxuICAgICAgICBjb25zdCBkcmFnZ2luZ0VsZW1lbnQgPSB0aGlzLmNyZWF0ZURyYWdFbGVtZW50KCk7XHJcblxyXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgdGhpcy5vbkRyYWdFbmQuYmluZCh0aGlzKSwge1xyXG4gICAgICAgICAgICBzaWduYWw6IHRoaXMuYWJvcnRDb250cm9sbGVyLnNpZ25hbFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmVsZW1lbnQuYWZ0ZXIocGxhY2Vob2xkZXJFbGVtZW50KTtcclxuICAgICAgICB0aGlzLmRyYWdnaW5nRWxlbWVudC5zZXQoZHJhZ2dpbmdFbGVtZW50KTtcclxuXHJcbiAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZSgpO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5hcHBlbmQoZHJhZ2dpbmdFbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRlRHJhZ0RhdGEodGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQsIGNsaWVudFk6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyRWxlbWVudCA9IHRoaXMucGxhY2Vob2xkZXJFbGVtZW50KCk7XHJcbiAgICAgICAgY29uc3QgYm91bmRpbmdSZWN0ID0gdGFyZ2V0RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICBjb25zdCBtaWRkbGVZID0gYm91bmRpbmdSZWN0LnRvcCArIGJvdW5kaW5nUmVjdC5oZWlnaHQgLyAyO1xyXG5cclxuICAgICAgICBpZiAoY2xpZW50WSA8IG1pZGRsZVkpIHtcclxuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudC5iZWZvcmUocGxhY2Vob2xkZXJFbGVtZW50ISk7XHJcbiAgICAgICAgICAgIHRoaXMuZHJhZ0RhdGEuc2V0KHsgdGFyZ2V0RWxlbWVudCwgcG9pbnRlcjogJ0JFRk9SRScgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudC5hZnRlcihwbGFjZWhvbGRlckVsZW1lbnQhKTtcclxuICAgICAgICAgICAgdGhpcy5kcmFnRGF0YS5zZXQoeyB0YXJnZXRFbGVtZW50LCBwb2ludGVyOiAnQUZURVInIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5pbmRleCA9IHRoaXMuY2FsY3VsYXRlSW5kZXgocGxhY2Vob2xkZXJFbGVtZW50ISk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjcmVhdGVEcmFnRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLmVsZW1lbnQuY2xpZW50V2lkdGg7XHJcbiAgICAgICAgY29uc3QgZHJhZ2dpbmdFbGVtZW50ID0gdGhpcy5lbGVtZW50LmNsb25lTm9kZSh0cnVlKSBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcmFnZ2luZ0VsZW1lbnQsICdwb3NpdGlvbicsICdmaXhlZCcpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJhZ2dpbmdFbGVtZW50LCAnZGlzcGxheScsICdibG9jaycpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJhZ2dpbmdFbGVtZW50LCAnbWFyZ2luJywgJzAnKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyYWdnaW5nRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGh9cHhgKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGRyYWdnaW5nRWxlbWVudDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZVBsYWNlaG9sZGVyRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMucGxhY2Vob2xkZXJFbGVtZW50KCk7XHJcblxyXG4gICAgICAgIGlmIChlbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuXHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhwbGFjZWhvbGRlckVsZW1lbnQsIHRoaXMuUExBQ0VIT0xERVJfQ0xBU1MpO1xyXG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXJFbGVtZW50LnNldChwbGFjZWhvbGRlckVsZW1lbnQpO1xyXG5cclxuICAgICAgICByZXR1cm4gcGxhY2Vob2xkZXJFbGVtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVtb3ZlRHJhZ0VsZW1lbnQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZHJhZ2dpbmdFbGVtZW50ID0gdGhpcy5kcmFnZ2luZ0VsZW1lbnQoKTtcclxuXHJcbiAgICAgICAgaWYgKCFkcmFnZ2luZ0VsZW1lbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZHJhZ2dpbmdFbGVtZW50LnJlbW92ZSgpO1xyXG4gICAgICAgIHRoaXMuZHJhZ2dpbmdFbGVtZW50LnNldChudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlbW92ZVBsYWNlaG9sZGVyKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyRWxlbWVudCA9IHRoaXMucGxhY2Vob2xkZXJFbGVtZW50KCk7XHJcblxyXG4gICAgICAgIGlmICghcGxhY2Vob2xkZXJFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHBsYWNlaG9sZGVyRWxlbWVudC5hZnRlcih0aGlzLmVsZW1lbnQpO1xyXG4gICAgICAgIHBsYWNlaG9sZGVyRWxlbWVudC5yZW1vdmUoKTtcclxuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyRWxlbWVudC5zZXQobnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVJbmRleChwbGFjZWhvbGRlckVsZW1lbnQ6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcclxuICAgICAgICBjb25zdCBjaGlsZE5vZGVzID0gcGxhY2Vob2xkZXJFbGVtZW50LnBhcmVudEVsZW1lbnQhLmNoaWxkTm9kZXM7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudHMgPSBBcnJheS5mcm9tKGNoaWxkTm9kZXMpLmZpbHRlcigobm9kZSkgPT4gbm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGVsZW1lbnRzLmluZGV4T2YocGxhY2Vob2xkZXJFbGVtZW50ISk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQcmV2aW91c0luZGV4KCk6IG51bWJlciB7XHJcbiAgICAgICAgbGV0IGluZGV4ID0gMDtcclxuICAgICAgICBsZXQgY3VycmVudEVsZW1lbnQ6IEVsZW1lbnQgPSB0aGlzLmVsZW1lbnQ7XHJcblxyXG4gICAgICAgIHdoaWxlIChjdXJyZW50RWxlbWVudCAmJiBjdXJyZW50RWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSB7XHJcbiAgICAgICAgICAgIGluZGV4Kys7XHJcbiAgICAgICAgICAgIGN1cnJlbnRFbGVtZW50ID0gY3VycmVudEVsZW1lbnQucHJldmlvdXNFbGVtZW50U2libGluZztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBpbmRleDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9kcmFnLWRyb3AvZHJhZy1kcm9wLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ3VpRHJhZ0Ryb3BEYXRhIHtcclxuICAgIHJlYWRvbmx5IGluZGV4OiBudW1iZXI7XHJcbiAgICByZWFkb25seSBwcmV2SW5kZXg6IG51bWJlcjtcclxuICAgIHJlYWRvbmx5IHBvaW50ZXI6IEN1aURyb3BQb2ludGVyO1xyXG4gICAgcmVhZG9ubHkgdGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VpRHJhZ0RhdGEge1xyXG4gICAgcmVhZG9ubHkgcG9pbnRlcj86IEN1aURyb3BQb2ludGVyO1xyXG4gICAgcmVhZG9ubHkgdGFyZ2V0RWxlbWVudD86IEhUTUxFbGVtZW50O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDdWlEcm9wUG9pbnRlciA9ICdCRUZPUkUnIHwgJ0FGVEVSJztcclxuIl19
@@ -1,22 +0,0 @@
1
- import { Directive, ElementRef, inject, Renderer2 } from '@angular/core';
2
- import { CuiIdService } from '../../services';
3
- import * as i0 from "@angular/core";
4
- export class CuiDragListDirective {
5
- constructor() {
6
- this.renderer = inject(Renderer2);
7
- this.element = inject(ElementRef).nativeElement;
8
- this.id = inject(CuiIdService).generate();
9
- this.listId = `${this.id}-list`;
10
- this.renderer.setAttribute(this.element, 'id', this.listId);
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiDragListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CuiDragListDirective, isStandalone: true, selector: "[cuiDragList]", ngImport: i0 }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiDragListDirective, decorators: [{
16
- type: Directive,
17
- args: [{
18
- selector: '[cuiDragList]',
19
- standalone: true
20
- }]
21
- }], ctorParameters: () => [] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1saXN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL2RyYWctZHJvcC9kcmFnLWxpc3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU05QyxNQUFNLE9BQU8sb0JBQW9CO0lBTzdCO1FBTmlCLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsWUFBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDNUMsT0FBRSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVyQyxXQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxPQUFPLENBQUM7UUFHdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7K0dBVFEsb0JBQW9CO21HQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEN1aUlkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbY3VpRHJhZ0xpc3RdJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1aURyYWdMaXN0RGlyZWN0aXZlIHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGlkID0gaW5qZWN0KEN1aUlkU2VydmljZSkuZ2VuZXJhdGUoKTtcclxuXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdElkID0gYCR7dGhpcy5pZH0tbGlzdGA7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbGVtZW50LCAnaWQnLCB0aGlzLmxpc3RJZCk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,20 +0,0 @@
1
- import { Directive, ElementRef, inject } from '@angular/core';
2
- import { CuiDragDropDirective } from './drag-drop.directive';
3
- import * as i0 from "@angular/core";
4
- export class CuiDragPointerDirective {
5
- constructor() {
6
- this.dragDropDirective = inject(CuiDragDropDirective);
7
- this.element = inject(ElementRef).nativeElement;
8
- this.dragDropDirective.changePointerEvents(this.element);
9
- }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiDragPointerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CuiDragPointerDirective, isStandalone: true, selector: "[cuiDragPointer]", ngImport: i0 }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiDragPointerDirective, decorators: [{
14
- type: Directive,
15
- args: [{
16
- selector: '[cuiDragPointer]',
17
- standalone: true
18
- }]
19
- }], ctorParameters: () => [] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1wb2ludGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL2RyYWctZHJvcC9kcmFnLXBvaW50ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFNN0QsTUFBTSxPQUFPLHVCQUF1QjtJQUloQztRQUhpQixzQkFBaUIsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNqRCxZQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUd4RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7K0dBTlEsdUJBQXVCO21HQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEN1aURyYWdEcm9wRGlyZWN0aXZlIH0gZnJvbSAnLi9kcmFnLWRyb3AuZGlyZWN0aXZlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbY3VpRHJhZ1BvaW50ZXJdJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1aURyYWdQb2ludGVyRGlyZWN0aXZlIHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJhZ0Ryb3BEaXJlY3RpdmUgPSBpbmplY3QoQ3VpRHJhZ0Ryb3BEaXJlY3RpdmUpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5kcmFnRHJvcERpcmVjdGl2ZS5jaGFuZ2VQb2ludGVyRXZlbnRzKHRoaXMuZWxlbWVudCk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,4 +0,0 @@
1
- export { CuiDragDropDirective } from './drag-drop.directive';
2
- export { CuiDragListDirective } from './drag-list.directive';
3
- export { CuiDragPointerDirective } from './drag-pointer.directive';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9kcmFnLWRyb3AvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBDdWlEcmFnRHJvcERhdGEsIEN1aURyYWdEYXRhLCBDdWlEcm9wUG9pbnRlciB9IGZyb20gJy4vZHJhZy1kcm9wLm9wdGlvbnMnO1xuZXhwb3J0IHsgQ3VpRHJhZ0Ryb3BEaXJlY3RpdmUgfSBmcm9tICcuL2RyYWctZHJvcC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgQ3VpRHJhZ0xpc3REaXJlY3RpdmUgfSBmcm9tICcuL2RyYWctbGlzdC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgQ3VpRHJhZ1BvaW50ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RyYWctcG9pbnRlci5kaXJlY3RpdmUnO1xuIl19
@@ -1,19 +0,0 @@
1
- import { Directive, ElementRef, inject } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CuiElementDirective {
4
- constructor() {
5
- this.nativeElement = inject((ElementRef)).nativeElement;
6
- return new ElementRef(this.nativeElement);
7
- }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CuiElementDirective, isStandalone: true, selector: "[cuiElement]", exportAs: ["elementRef"], ngImport: i0 }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiElementDirective, decorators: [{
12
- type: Directive,
13
- args: [{
14
- standalone: true,
15
- selector: '[cuiElement]',
16
- exportAs: 'elementRef'
17
- }]
18
- }], ctorParameters: () => [] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9lbGVtZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzlELE1BQU0sT0FBTyxtQkFBbUI7SUFHNUI7UUFGTyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQWEsQ0FBQSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBR3ZELE9BQU8sSUFBSSxVQUFVLENBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7K0dBTFEsbUJBQW1CO21HQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBTC9CLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsWUFBWTtpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW2N1aUVsZW1lbnRdJyxcbiAgICBleHBvcnRBczogJ2VsZW1lbnRSZWYnXG59KVxuZXhwb3J0IGNsYXNzIEN1aUVsZW1lbnREaXJlY3RpdmU8VCBleHRlbmRzIEVsZW1lbnQgPSBIVE1MRWxlbWVudD4gaW1wbGVtZW50cyBFbGVtZW50UmVmPFQ+IHtcbiAgICBwdWJsaWMgbmF0aXZlRWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmPFQ+KS5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHJldHVybiBuZXcgRWxlbWVudFJlZjxUPih0aGlzLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,50 +0,0 @@
1
- import { Directive, ElementRef, HostBinding, HostListener, inject } from '@angular/core';
2
- import { DOCUMENT } from '@angular/common';
3
- import { cuiBlurNativeFocused, cuiContainsOrAfter, cuiGetClosestFocusable, cuiGetNativeFocused, cuiIsHTMLElement } from '../utils';
4
- import * as i0 from "@angular/core";
5
- export class CuiFocusTrapDirective {
6
- constructor() {
7
- this.document = inject(DOCUMENT);
8
- this.element = inject(ElementRef).nativeElement;
9
- this.activeElement = cuiGetNativeFocused(this.document);
10
- this.tabIndex = 0;
11
- this.initElementFocus();
12
- }
13
- ngOnDestroy() {
14
- cuiBlurNativeFocused(this.document);
15
- Promise.resolve().then(() => {
16
- if (!cuiIsHTMLElement(this.activeElement)) {
17
- return;
18
- }
19
- this.activeElement.focus();
20
- });
21
- }
22
- onFocusIn(node) {
23
- if (cuiContainsOrAfter(this.element, node)) {
24
- return;
25
- }
26
- cuiGetClosestFocusable({
27
- initial: this.element,
28
- root: this.element
29
- })?.focus();
30
- }
31
- initElementFocus() {
32
- Promise.resolve().then(() => this.element.focus());
33
- }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiFocusTrapDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CuiFocusTrapDirective, isStandalone: true, selector: "[cuiFocusTrap]", host: { listeners: { "window:focusin": "onFocusIn($event.target)" }, properties: { "tabIndex": "this.tabIndex" } }, ngImport: i0 }); }
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiFocusTrapDirective, decorators: [{
38
- type: Directive,
39
- args: [{
40
- standalone: true,
41
- selector: '[cuiFocusTrap]'
42
- }]
43
- }], ctorParameters: () => [], propDecorators: { tabIndex: [{
44
- type: HostBinding,
45
- args: ['tabIndex']
46
- }], onFocusIn: [{
47
- type: HostListener,
48
- args: ['window:focusin', ['$event.target']]
49
- }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdHJhcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9mb2N1cy10cmFwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUNILG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDbkIsTUFBTSxVQUFVLENBQUM7O0FBTWxCLE1BQU0sT0FBTyxxQkFBcUI7SUFLOUI7UUFKaUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixZQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMzQyxrQkFBYSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQW1CakQsYUFBUSxHQUFHLENBQUMsQ0FBQztRQWhCNUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLFdBQVc7UUFDZCxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFcEMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxPQUFPO1lBQ1gsQ0FBQztZQUVELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBTVMsU0FBUyxDQUFDLElBQVU7UUFDMUIsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDekMsT0FBTztRQUNYLENBQUM7UUFFRCxzQkFBc0IsQ0FBQztZQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3JCLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7K0dBdENRLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZ0JBQWdCO2lCQUM3Qjt3REF1QnNCLFFBQVE7c0JBRDFCLFdBQVc7dUJBQUMsVUFBVTtnQkFJYixTQUFTO3NCQURsQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7XG4gICAgY3VpQmx1ck5hdGl2ZUZvY3VzZWQsXG4gICAgY3VpQ29udGFpbnNPckFmdGVyLFxuICAgIGN1aUdldENsb3Nlc3RGb2N1c2FibGUsXG4gICAgY3VpR2V0TmF0aXZlRm9jdXNlZCxcbiAgICBjdWlJc0hUTUxFbGVtZW50XG59IGZyb20gJy4uL3V0aWxzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1tjdWlGb2N1c1RyYXBdJ1xufSlcbmV4cG9ydCBjbGFzcyBDdWlGb2N1c1RyYXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlRWxlbWVudCA9IGN1aUdldE5hdGl2ZUZvY3VzZWQodGhpcy5kb2N1bWVudCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5pbml0RWxlbWVudEZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBjdWlCbHVyTmF0aXZlRm9jdXNlZCh0aGlzLmRvY3VtZW50KTtcblxuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghY3VpSXNIVE1MRWxlbWVudCh0aGlzLmFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCd0YWJJbmRleCcpXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYkluZGV4ID0gMDtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpmb2N1c2luJywgWyckZXZlbnQudGFyZ2V0J10pXG4gICAgcHJvdGVjdGVkIG9uRm9jdXNJbihub2RlOiBOb2RlKTogdm9pZCB7XG4gICAgICAgIGlmIChjdWlDb250YWluc09yQWZ0ZXIodGhpcy5lbGVtZW50LCBub2RlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7XG4gICAgICAgICAgICBpbml0aWFsOiB0aGlzLmVsZW1lbnQsXG4gICAgICAgICAgICByb290OiB0aGlzLmVsZW1lbnRcbiAgICAgICAgfSk/LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0RWxlbWVudEZvY3VzKCk6IHZvaWQge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuZWxlbWVudC5mb2N1cygpKTtcbiAgICB9XG59XG4iXX0=
@@ -1,81 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Directive, inject, input, NgZone, Renderer2, signal } from '@angular/core';
3
- import { interval } from 'rxjs';
4
- import { CUI_WINDOW } from '../tokens';
5
- import * as i0 from "@angular/core";
6
- export class CuiHandleScrollDirective {
7
- constructor() {
8
- this.window = inject(CUI_WINDOW);
9
- this.document = inject(DOCUMENT);
10
- this.renderer = inject(Renderer2);
11
- this.zone = inject(NgZone);
12
- this.abortController = new AbortController();
13
- this.SCROLL_AREA_HEIGHT = 100;
14
- this.scrollGapElements = signal(null);
15
- this.scrollSpeed = input(100);
16
- }
17
- ngOnDestroy() {
18
- this.removeSubscription();
19
- }
20
- onTargetMove() {
21
- const signal = this.abortController.signal;
22
- this.zone.runOutsideAngular(this.initScrollEvent.bind(this, signal));
23
- }
24
- initScrollEvent(signal) {
25
- this.document.addEventListener('pointermove', ({ clientY }) => this.handleScroll(clientY), { signal });
26
- this.document.addEventListener('pointerup', () => {
27
- this.scrollGapElements()?.forEach((element) => element.remove());
28
- this.scrollGapElements.set(null);
29
- this.removeSubscription();
30
- this.abortController.abort();
31
- this.abortController = new AbortController();
32
- }, { signal });
33
- }
34
- handleScroll(clientY) {
35
- const windowHeight = this.document.documentElement.clientHeight;
36
- const scrollSpeed = this.scrollSpeed();
37
- if (!this.scrollGapElements()) {
38
- this.setScrollGapElements();
39
- }
40
- if (clientY <= this.SCROLL_AREA_HEIGHT) {
41
- this.startScrolling(-scrollSpeed);
42
- return;
43
- }
44
- if (clientY >= windowHeight - this.SCROLL_AREA_HEIGHT) {
45
- this.startScrolling(scrollSpeed);
46
- return;
47
- }
48
- this.removeSubscription();
49
- }
50
- setScrollGapElements() {
51
- const scrollGapElement = this.renderer.createElement('div');
52
- this.renderer.setStyle(scrollGapElement, 'position', 'fixed');
53
- this.renderer.setStyle(scrollGapElement, 'width', '100%');
54
- this.renderer.setStyle(scrollGapElement, 'height', '48px');
55
- this.renderer.setStyle(scrollGapElement, 'top', '0');
56
- const scrollGapBottomElement = scrollGapElement.cloneNode(true);
57
- this.renderer.appendChild(this.document.body, scrollGapElement);
58
- this.renderer.appendChild(this.document.body, scrollGapBottomElement);
59
- this.scrollGapElements.set([scrollGapElement, scrollGapBottomElement]);
60
- }
61
- startScrolling(speed) {
62
- this.removeSubscription();
63
- this.scrollSubscription = interval(this.scrollSpeed()).subscribe(() => this.window.scrollBy({ top: speed, behavior: 'smooth' }));
64
- }
65
- removeSubscription() {
66
- this.scrollSubscription?.unsubscribe();
67
- }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiHandleScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
69
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: CuiHandleScrollDirective, isStandalone: true, selector: "[cuiHandleScroll]", inputs: { scrollSpeed: { classPropertyName: "scrollSpeed", publicName: "scrollSpeed", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "pointerdown": "onTargetMove()" } }, ngImport: i0 }); }
70
- }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiHandleScrollDirective, decorators: [{
72
- type: Directive,
73
- args: [{
74
- selector: '[cuiHandleScroll]',
75
- standalone: true,
76
- host: {
77
- '(pointerdown)': 'onTargetMove()'
78
- }
79
- }]
80
- }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLXNjcm9sbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9oYW5kbGUtc2Nyb2xsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHaEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFTdkMsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQVFxQixXQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixTQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRS9CLG9CQUFlLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUc3Qix1QkFBa0IsR0FBRyxHQUFHLENBQUM7UUFFekIsc0JBQWlCLEdBQUcsTUFBTSxDQUFnQyxJQUFJLENBQUMsQ0FBQztRQUVuRSxnQkFBVyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztLQThFNUM7SUE1RVUsV0FBVztRQUNkLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSxZQUFZO1FBQ2YsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7UUFFM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxD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O1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNsRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQzNELENBQUM7SUFDTixDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMzQyxDQUFDOytHQTFGUSx3QkFBd0I7bUdBQXhCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFQcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLGVBQWUsRUFBRSxnQkFBZ0I7cUJBQ3BDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgdHlwZSB7IE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgaW5wdXQsIE5nWm9uZSwgUmVuZGVyZXIyLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHR5cGUgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB0eXBlIHsgQ3VpTnVsbGFibGUgfSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCB7IENVSV9XSU5ET1cgfSBmcm9tICcuLi90b2tlbnMnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tjdWlIYW5kbGVTY3JvbGxdJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBob3N0OiB7XHJcbiAgICAgICAgJyhwb2ludGVyZG93biknOiAnb25UYXJnZXRNb3ZlKCknXHJcbiAgICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWlIYW5kbGVTY3JvbGxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3cgPSBpbmplY3QoQ1VJX1dJTkRPVyk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZSA9IGluamVjdChOZ1pvbmUpO1xyXG5cclxuICAgIHByaXZhdGUgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xyXG4gICAgcHJpdmF0ZSBzY3JvbGxTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IFNDUk9MTF9BUkVBX0hFSUdIVCA9IDEwMDtcclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2Nyb2xsR2FwRWxlbWVudHMgPSBzaWduYWw8Q3VpTnVsbGFibGU8SFRNTERpdkVsZW1lbnRbXT4+KG51bGwpO1xyXG5cclxuICAgIHB1YmxpYyByZWFkb25seSBzY3JvbGxTcGVlZCA9IGlucHV0KDEwMCk7XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlU3Vic2NyaXB0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uVGFyZ2V0TW92ZSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBzaWduYWwgPSB0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWw7XHJcblxyXG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcih0aGlzLmluaXRTY3JvbGxFdmVudC5iaW5kKHRoaXMsIHNpZ25hbCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdFNjcm9sbEV2ZW50KHNpZ25hbDogQWJvcnRTaWduYWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgKHsgY2xpZW50WSB9KSA9PiB0aGlzLmhhbmRsZVNjcm9sbChjbGllbnRZKSwgeyBzaWduYWwgfSk7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFxyXG4gICAgICAgICAgICAncG9pbnRlcnVwJyxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxHYXBFbGVtZW50cygpPy5mb3JFYWNoKChlbGVtZW50KSA9PiBlbGVtZW50LnJlbW92ZSgpKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsR2FwRWxlbWVudHMuc2V0KG51bGwpO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlU3Vic2NyaXB0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgc2lnbmFsIH1cclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlU2Nyb2xsKGNsaWVudFk6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgICAgICBjb25zdCBzY3JvbGxTcGVlZCA9IHRoaXMuc2Nyb2xsU3BlZWQoKTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLnNjcm9sbEdhcEVsZW1lbnRzKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRTY3JvbGxHYXBFbGVtZW50cygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNsaWVudFkgPD0gdGhpcy5TQ1JPTExfQVJFQV9IRUlHSFQpIHtcclxuICAgICAgICAgICAgdGhpcy5zdGFydFNjcm9sbGluZygtc2Nyb2xsU3BlZWQpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNsaWVudFkgPj0gd2luZG93SGVpZ2h0IC0gdGhpcy5TQ1JPTExfQVJFQV9IRUlHSFQpIHtcclxuICAgICAgICAgICAgdGhpcy5zdGFydFNjcm9sbGluZyhzY3JvbGxTcGVlZCk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJlbW92ZVN1YnNjcmlwdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0U2Nyb2xsR2FwRWxlbWVudHMoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc2Nyb2xsR2FwRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcblxyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc2Nyb2xsR2FwRWxlbWVudCwgJ3Bvc2l0aW9uJywgJ2ZpeGVkJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzY3JvbGxHYXBFbGVtZW50LCAnd2lkdGgnLCAnMTAwJScpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc2Nyb2xsR2FwRWxlbWVudCwgJ2hlaWdodCcsICc0OHB4Jyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzY3JvbGxHYXBFbGVtZW50LCAndG9wJywgJzAnKTtcclxuXHJcbiAgICAgICAgY29uc3Qgc2Nyb2xsR2FwQm90dG9tRWxlbWVudCA9IHNjcm9sbEdhcEVsZW1lbnQuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxEaXZFbGVtZW50O1xyXG5cclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQuYm9keSwgc2Nyb2xsR2FwRWxlbWVudCk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmRvY3VtZW50LmJvZHksIHNjcm9sbEdhcEJvdHRvbUVsZW1lbnQpO1xyXG5cclxuICAgICAgICB0aGlzLnNjcm9sbEdhcEVsZW1lbnRzLnNldChbc2Nyb2xsR2FwRWxlbWVudCwgc2Nyb2xsR2FwQm90dG9tRWxlbWVudF0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhcnRTY3JvbGxpbmcoc3BlZWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gICAgICAgIHRoaXMuc2Nyb2xsU3Vic2NyaXB0aW9uID0gaW50ZXJ2YWwodGhpcy5zY3JvbGxTcGVlZCgpKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgICAgICAgdGhpcy53aW5kb3cuc2Nyb2xsQnkoeyB0b3A6IHNwZWVkLCBiZWhhdmlvcjogJ3Ntb290aCcgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVtb3ZlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2Nyb2xsU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,21 +0,0 @@
1
- import { Directive, inject, Output } from '@angular/core';
2
- import { CuiHoveredService } from './hovered.service';
3
- import * as i0 from "@angular/core";
4
- export class CuiHovered {
5
- constructor() {
6
- this.cuiHoveredChange = inject(CuiHoveredService);
7
- }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiHovered, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CuiHovered, isStandalone: true, selector: "[cuiHoveredChange]", outputs: { cuiHoveredChange: "cuiHoveredChange" }, providers: [CuiHoveredService], ngImport: i0 }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiHovered, decorators: [{
12
- type: Directive,
13
- args: [{
14
- standalone: true,
15
- selector: '[cuiHoveredChange]',
16
- providers: [CuiHoveredService]
17
- }]
18
- }], propDecorators: { cuiHoveredChange: [{
19
- type: Output
20
- }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXJlZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9ob3ZlcmVkL2hvdmVyZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFPdEQsTUFBTSxPQUFPLFVBQVU7SUFMdkI7UUFPb0IscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FDaEU7K0dBSFksVUFBVTttR0FBVixVQUFVLG9IQUZSLENBQUMsaUJBQWlCLENBQUM7OzRGQUVyQixVQUFVO2tCQUx0QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDakM7OEJBR21CLGdCQUFnQjtzQkFEL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ3VpSG92ZXJlZFNlcnZpY2UgfSBmcm9tICcuL2hvdmVyZWQuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbY3VpSG92ZXJlZENoYW5nZV0nLFxuICAgIHByb3ZpZGVyczogW0N1aUhvdmVyZWRTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBDdWlIb3ZlcmVkIHtcbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgY3VpSG92ZXJlZENoYW5nZSA9IGluamVjdChDdWlIb3ZlcmVkU2VydmljZSk7XG59XG4iXX0=
@@ -1,32 +0,0 @@
1
- import { inject, Injectable, NgZone } from '@angular/core';
2
- import { toSignal } from '@angular/core/rxjs-interop';
3
- import { CUI_FALSE_HANDLER, CUI_TRUE_HANDLER } from '../../constants';
4
- import { cuiTypedFromEvent, cuiWatch, cuiZoneOptimized } from '../../observables';
5
- import { CUI_IS_MOBILE } from '../../tokens';
6
- import { cuiInjectElement, cuiIsElement } from '../../utils';
7
- import { distinctUntilChanged, filter, map, merge, Observable, of } from 'rxjs';
8
- import * as i0 from "@angular/core";
9
- function movedOut({ currentTarget, relatedTarget }) {
10
- return !cuiIsElement(relatedTarget) || !cuiIsElement(currentTarget) || !currentTarget.contains(relatedTarget);
11
- }
12
- export class CuiHoveredService extends Observable {
13
- constructor() {
14
- super((subscriber) => this.stream$.subscribe(subscriber));
15
- this.el = cuiInjectElement();
16
- this.zone = inject(NgZone);
17
- this.stream$ = merge(cuiTypedFromEvent(this.el, 'mouseenter').pipe(map(CUI_TRUE_HANDLER)), cuiTypedFromEvent(this.el, 'mouseleave').pipe(map(CUI_FALSE_HANDLER)),
18
- // Hello, Safari
19
- cuiTypedFromEvent(this.el, 'mouseout').pipe(filter(movedOut), map(CUI_FALSE_HANDLER))).pipe(distinctUntilChanged(), cuiZoneOptimized(this.zone));
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiHoveredService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiHoveredService }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiHoveredService, decorators: [{
25
- type: Injectable
26
- }], ctorParameters: () => [] });
27
- export function cuiHovered() {
28
- return toSignal(inject(CUI_IS_MOBILE) ? of(false) : inject(CuiHoveredService).pipe(cuiWatch()), {
29
- initialValue: false
30
- });
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXJlZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvaG92ZXJlZC9ob3ZlcmVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUVoRixTQUFTLFFBQVEsQ0FBQyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQWM7SUFDMUQsT0FBTyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDbEgsQ0FBQztBQUdELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxVQUFtQjtJQVd0RDtRQUNJLEtBQUssQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQVg3QyxPQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixTQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRCLFlBQU8sR0FBRyxLQUFLLENBQzVCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQ3BFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JFLGdCQUFnQjtRQUNoQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FDeEYsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUk1RCxDQUFDOytHQWJRLGlCQUFpQjttSEFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVOztBQWlCWCxNQUFNLFVBQVUsVUFBVTtJQUN0QixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUU7UUFDNUYsWUFBWSxFQUFFLEtBQUs7S0FDdEIsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBDVUlfRkFMU0VfSEFORExFUiwgQ1VJX1RSVUVfSEFORExFUiB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBjdWlUeXBlZEZyb21FdmVudCwgY3VpV2F0Y2gsIGN1aVpvbmVPcHRpbWl6ZWQgfSBmcm9tICcuLi8uLi9vYnNlcnZhYmxlcyc7XG5pbXBvcnQgeyBDVUlfSVNfTU9CSUxFIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcbmltcG9ydCB7IGN1aUluamVjdEVsZW1lbnQsIGN1aUlzRWxlbWVudCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmZ1bmN0aW9uIG1vdmVkT3V0KHsgY3VycmVudFRhcmdldCwgcmVsYXRlZFRhcmdldCB9OiBNb3VzZUV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFjdWlJc0VsZW1lbnQocmVsYXRlZFRhcmdldCkgfHwgIWN1aUlzRWxlbWVudChjdXJyZW50VGFyZ2V0KSB8fCAhY3VycmVudFRhcmdldC5jb250YWlucyhyZWxhdGVkVGFyZ2V0KTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEN1aUhvdmVyZWRTZXJ2aWNlIGV4dGVuZHMgT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IGN1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RyZWFtJCA9IG1lcmdlKFxuICAgICAgICBjdWlUeXBlZEZyb21FdmVudCh0aGlzLmVsLCAnbW91c2VlbnRlcicpLnBpcGUobWFwKENVSV9UUlVFX0hBTkRMRVIpKSxcbiAgICAgICAgY3VpVHlwZWRGcm9tRXZlbnQodGhpcy5lbCwgJ21vdXNlbGVhdmUnKS5waXBlKG1hcChDVUlfRkFMU0VfSEFORExFUikpLFxuICAgICAgICAvLyBIZWxsbywgU2FmYXJpXG4gICAgICAgIGN1aVR5cGVkRnJvbUV2ZW50KHRoaXMuZWwsICdtb3VzZW91dCcpLnBpcGUoZmlsdGVyKG1vdmVkT3V0KSwgbWFwKENVSV9GQUxTRV9IQU5ETEVSKSlcbiAgICApLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgY3VpWm9uZU9wdGltaXplZCh0aGlzLnpvbmUpKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigoc3Vic2NyaWJlcikgPT4gdGhpcy5zdHJlYW0kLnN1YnNjcmliZShzdWJzY3JpYmVyKSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3VpSG92ZXJlZCgpOiBTaWduYWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0b1NpZ25hbChpbmplY3QoQ1VJX0lTX01PQklMRSkgPyBvZihmYWxzZSkgOiBpbmplY3QoQ3VpSG92ZXJlZFNlcnZpY2UpLnBpcGUoY3VpV2F0Y2goKSksIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBmYWxzZVxuICAgIH0pO1xufVxuIl19