@tft/interact 18.0.0 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/fesm2022/tft-interact.mjs +58 -48
  2. package/fesm2022/tft-interact.mjs.map +1 -1
  3. package/package.json +5 -7
  4. package/tft-interact-21.0.0.tgz +0 -0
  5. package/types/tft-interact.d.ts +506 -0
  6. package/esm2022/index.mjs +0 -6
  7. package/esm2022/lib/directives/account-for-scale.directive.mjs +0 -26
  8. package/esm2022/lib/directives/apply-scale.directive.mjs +0 -28
  9. package/esm2022/lib/directives/auto-scroll.directive.mjs +0 -56
  10. package/esm2022/lib/directives/drag-preview.directive.mjs +0 -20
  11. package/esm2022/lib/directives/drag-root.directive.mjs +0 -32
  12. package/esm2022/lib/directives/draggable.directive.mjs +0 -320
  13. package/esm2022/lib/directives/dropzone.directive.mjs +0 -114
  14. package/esm2022/lib/directives/gesturable.directive.mjs +0 -82
  15. package/esm2022/lib/directives/index.mjs +0 -10
  16. package/esm2022/lib/directives/resizable.directive.mjs +0 -228
  17. package/esm2022/lib/interact.module.mjs +0 -66
  18. package/esm2022/lib/models/index.mjs +0 -2
  19. package/esm2022/lib/models/interact.mjs +0 -28
  20. package/esm2022/lib/pipes/array-of-n.pipe.mjs +0 -22
  21. package/esm2022/lib/pipes/index.mjs +0 -2
  22. package/esm2022/lib/services/interact.service.mjs +0 -197
  23. package/esm2022/lib/utils/helpers.mjs +0 -35
  24. package/esm2022/lib/utils/index.mjs +0 -2
  25. package/esm2022/tft-interact.mjs +0 -5
  26. package/index.d.ts +0 -5
  27. package/lib/directives/account-for-scale.directive.d.ts +0 -15
  28. package/lib/directives/apply-scale.directive.d.ts +0 -11
  29. package/lib/directives/auto-scroll.directive.d.ts +0 -34
  30. package/lib/directives/drag-preview.directive.d.ts +0 -10
  31. package/lib/directives/drag-root.directive.d.ts +0 -15
  32. package/lib/directives/draggable.directive.d.ts +0 -75
  33. package/lib/directives/dropzone.directive.d.ts +0 -39
  34. package/lib/directives/gesturable.directive.d.ts +0 -26
  35. package/lib/directives/index.d.ts +0 -9
  36. package/lib/directives/resizable.directive.d.ts +0 -60
  37. package/lib/interact.module.d.ts +0 -20
  38. package/lib/models/index.d.ts +0 -1
  39. package/lib/models/interact.d.ts +0 -140
  40. package/lib/pipes/array-of-n.pipe.d.ts +0 -12
  41. package/lib/pipes/index.d.ts +0 -1
  42. package/lib/services/interact.service.d.ts +0 -83
  43. package/lib/utils/helpers.d.ts +0 -12
  44. package/lib/utils/index.d.ts +0 -1
  45. package/tft-interact-18.0.0.tgz +0 -0
@@ -1,82 +0,0 @@
1
- import { Directive, ElementRef, Input, Output, EventEmitter, Optional } from '@angular/core';
2
- import interact from 'interactjs';
3
- import { DraggableDirective } from '../directives';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../directives";
6
- /** @dynamic */
7
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
- export class GesturableDirective {
9
- constructor(el, draggable_dir) {
10
- this.el = el;
11
- this.draggable_dir = draggable_dir;
12
- this.gestureDisabled = false;
13
- // pipes all interact events to event emitters
14
- this.gestureStart = new EventEmitter();
15
- this.gestureMove = new EventEmitter();
16
- this.gestureEnd = new EventEmitter();
17
- }
18
- ngOnInit() {
19
- this.gesturableId = this.draggable_dir?.interactableId || 'id';
20
- this.interactable = this.initiateGestureEvents(this.gestureConfig, this.el.nativeElement);
21
- this.setGestureConfig();
22
- }
23
- // TODO: watch config here as well and update interactable
24
- ngOnChanges(changes) {
25
- // we do this here instead of using a setter on the input so that it
26
- // will only run once when there is a change to x and y
27
- if (changes.gestureConfig || changes.gestureDisabled) {
28
- if (!this.interactable)
29
- return;
30
- this.setGestureConfig();
31
- }
32
- }
33
- setGestureConfig() {
34
- const enabled = !this.gestureDisabled;
35
- const gestureConfig = { ...this.gestureConfig, enabled };
36
- this.interactable.gesturable(gestureConfig);
37
- }
38
- initiateGestureEvents(gestureConfig, nativeElement) {
39
- const defaultConfig = {
40
- enabled: !this.gestureDisabled,
41
- };
42
- const interactable = this.draggable_dir?.interactable || interact(nativeElement);
43
- return interactable.gesturable({ ...defaultConfig, ...gestureConfig })
44
- .on('gesturestart', (event) => {
45
- this.gestureStart.emit({ gestureRef: this, interactEvent: event });
46
- })
47
- .on('gesturemove', (event) => {
48
- this.gestureMove.emit({ gestureRef: this, interactEvent: event });
49
- })
50
- .on('gestureend', (event) => {
51
- this.gestureEnd.emit({ gestureRef: this, interactEvent: event });
52
- });
53
- }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: GesturableDirective, deps: [{ token: i0.ElementRef }, { token: i1.DraggableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
55
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.3", type: GesturableDirective, selector: "[tftGesturable]", inputs: { gesturableId: "gesturableId", gestureDisabled: "gestureDisabled", gestureConfig: "gestureConfig" }, outputs: { gestureStart: "gestureStart", gestureMove: "gestureMove", gestureEnd: "gestureEnd" }, host: { properties: { "id": "gesturableId" } }, usesOnChanges: true, ngImport: i0 }); }
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: GesturableDirective, decorators: [{
58
- type: Directive,
59
- args: [{
60
- selector: '[tftGesturable]',
61
- // eslint-disable-next-line @angular-eslint/no-host-metadata-property
62
- host: {
63
- // '[style.touchAction]': 'this.gestureDisabled ? "auto" : "none"',
64
- '[id]': 'gesturableId',
65
- }
66
- }]
67
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DraggableDirective, decorators: [{
68
- type: Optional
69
- }] }], propDecorators: { gesturableId: [{
70
- type: Input
71
- }], gestureDisabled: [{
72
- type: Input
73
- }], gestureConfig: [{
74
- type: Input
75
- }], gestureStart: [{
76
- type: Output
77
- }], gestureMove: [{
78
- type: Output
79
- }], gestureEnd: [{
80
- type: Output
81
- }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ludGVyYWN0L3NyYy9saWIvZGlyZWN0aXZlcy9nZXN0dXJhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUNsRCxZQUFZLEVBQUUsUUFBUSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLFFBQVEsTUFBTSxZQUFZLENBQUM7QUFJbEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFbkQsZUFBZTtBQVNmLDhEQUE4RDtBQUM5RCxNQUFNLE9BQU8sbUJBQW1CO0lBYTlCLFlBQ1MsRUFBYyxFQUNELGFBQWtDO1FBRC9DLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDRCxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFaL0Msb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFakMsOENBQThDO1FBQ3BDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFDbkQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUNsRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7SUFRdkQsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FBQztRQUMvRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELDBEQUEwRDtJQUMxRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsb0VBQW9FO1FBQ3BFLHVEQUF1RDtRQUN2RCxJQUFHLE9BQU8sQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3BELElBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWTtnQkFBRSxPQUFPO1lBQzlCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ3RDLE1BQU0sYUFBYSxHQUFHLEVBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxhQUE2RCxFQUFFLGFBQTBCO1FBRTdHLE1BQU0sYUFBYSxHQUFzQjtZQUN2QyxPQUFPLEVBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZTtTQUNoQyxDQUFDO1FBQ0YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxZQUFZLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWpGLE9BQU8sWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFDLEdBQUcsYUFBYSxFQUFFLEdBQUcsYUFBYSxFQUFDLENBQUM7YUFDakUsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQW1CLEVBQUUsRUFBRTtZQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDbEUsQ0FBQyxDQUFDO2FBQ0QsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQW1CLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDakUsQ0FBQyxDQUFDO2FBQ0QsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQW1CLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDaEUsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDOzhHQXpEVSxtQkFBbUI7a0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFUL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixxRUFBcUU7b0JBQ3JFLElBQUksRUFBRTt3QkFDSixtRUFBbUU7d0JBQ25FLE1BQU0sRUFBRSxjQUFjO3FCQUN2QjtpQkFDRjs7MEJBaUJJLFFBQVE7eUNBYkYsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIE91dHB1dCxcbiAgIEV2ZW50RW1pdHRlciwgT3B0aW9uYWwsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGludGVyYWN0IGZyb20gJ2ludGVyYWN0anMnO1xuaW1wb3J0IHsgRHJhZ2dhYmxlT3B0aW9ucywgR2VzdHVyYWJsZU9wdGlvbnMsIEludGVyYWN0YWJsZSwgR2VzdHVyZUV2ZW50IH0gZnJvbSAnQGludGVyYWN0anMvdHlwZXMvaW5kZXgnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGZ0Q29vcmRzLCBUZnRHZXN0dXJlRXZlbnQgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRHJhZ2dhYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcyc7XG5cbi8qKiBAZHluYW1pYyAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RmdEdlc3R1cmFibGVdJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHtcbiAgICAvLyAnW3N0eWxlLnRvdWNoQWN0aW9uXSc6ICd0aGlzLmdlc3R1cmVEaXNhYmxlZCA/IFwiYXV0b1wiIDogXCJub25lXCInLFxuICAgICdbaWRdJzogJ2dlc3R1cmFibGVJZCcsXG4gIH1cbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGNsYXNzIEdlc3R1cmFibGVEaXJlY3RpdmU8RCA9IGFueT4gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgZ2VzdHVyYWJsZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGdlc3R1cmVEaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBnZXN0dXJlQ29uZmlnOiBQYXJ0aWFsPEludGVyYWN0Lk9yQm9vbGVhbjxEcmFnZ2FibGVPcHRpb25zPj47XG4gIC8vIHBpcGVzIGFsbCBpbnRlcmFjdCBldmVudHMgdG8gZXZlbnQgZW1pdHRlcnNcbiAgQE91dHB1dCgpIGdlc3R1cmVTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8VGZ0R2VzdHVyZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgZ2VzdHVyZU1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdEdlc3R1cmVFdmVudD4oKTtcbiAgQE91dHB1dCgpIGdlc3R1cmVFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdEdlc3R1cmVFdmVudD4oKTtcblxuICBpbnRlcmFjdGFibGVTdGF0ZTogT2JzZXJ2YWJsZTxUZnRDb29yZHM+O1xuICBpbnRlcmFjdGFibGU6IEludGVyYWN0YWJsZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkcmFnZ2FibGVfZGlyPzogRHJhZ2dhYmxlRGlyZWN0aXZlLFxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2VzdHVyYWJsZUlkID0gdGhpcy5kcmFnZ2FibGVfZGlyPy5pbnRlcmFjdGFibGVJZCB8fCAnaWQnO1xuICAgIHRoaXMuaW50ZXJhY3RhYmxlID0gdGhpcy5pbml0aWF0ZUdlc3R1cmVFdmVudHModGhpcy5nZXN0dXJlQ29uZmlnLCB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMuc2V0R2VzdHVyZUNvbmZpZygpO1xuICB9XG5cbiAgLy8gVE9ETzogd2F0Y2ggY29uZmlnIGhlcmUgYXMgd2VsbCBhbmQgdXBkYXRlIGludGVyYWN0YWJsZVxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgLy8gd2UgZG8gdGhpcyBoZXJlIGluc3RlYWQgb2YgdXNpbmcgYSBzZXR0ZXIgb24gdGhlIGlucHV0IHNvIHRoYXQgaXRcbiAgICAvLyB3aWxsIG9ubHkgcnVuIG9uY2Ugd2hlbiB0aGVyZSBpcyBhIGNoYW5nZSB0byB4IGFuZCB5XG4gICAgaWYoY2hhbmdlcy5nZXN0dXJlQ29uZmlnIHx8IGNoYW5nZXMuZ2VzdHVyZURpc2FibGVkKSB7XG4gICAgICBpZighdGhpcy5pbnRlcmFjdGFibGUpIHJldHVybjtcbiAgICAgIHRoaXMuc2V0R2VzdHVyZUNvbmZpZygpO1xuICAgIH1cbiAgfVxuXG4gIHNldEdlc3R1cmVDb25maWcoKSB7XG4gICAgY29uc3QgZW5hYmxlZCA9ICF0aGlzLmdlc3R1cmVEaXNhYmxlZDtcbiAgICBjb25zdCBnZXN0dXJlQ29uZmlnID0gey4uLnRoaXMuZ2VzdHVyZUNvbmZpZywgZW5hYmxlZH07XG4gICAgdGhpcy5pbnRlcmFjdGFibGUuZ2VzdHVyYWJsZShnZXN0dXJlQ29uZmlnKTtcbiAgfVxuXG4gIGluaXRpYXRlR2VzdHVyZUV2ZW50cyhnZXN0dXJlQ29uZmlnOiBQYXJ0aWFsPEludGVyYWN0Lk9yQm9vbGVhbjxHZXN0dXJhYmxlT3B0aW9ucz4+LCBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuXG4gICAgY29uc3QgZGVmYXVsdENvbmZpZzogR2VzdHVyYWJsZU9wdGlvbnMgPSB7XG4gICAgICBlbmFibGVkOiAgIXRoaXMuZ2VzdHVyZURpc2FibGVkLFxuICAgIH07XG4gICAgY29uc3QgaW50ZXJhY3RhYmxlID0gdGhpcy5kcmFnZ2FibGVfZGlyPy5pbnRlcmFjdGFibGUgfHwgaW50ZXJhY3QobmF0aXZlRWxlbWVudCk7XG5cbiAgICByZXR1cm4gaW50ZXJhY3RhYmxlLmdlc3R1cmFibGUoey4uLmRlZmF1bHRDb25maWcsIC4uLmdlc3R1cmVDb25maWd9KVxuICAgICAgLm9uKCdnZXN0dXJlc3RhcnQnLCAoZXZlbnQ6IEdlc3R1cmVFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLmdlc3R1cmVTdGFydC5lbWl0KHtnZXN0dXJlUmVmOiB0aGlzLCBpbnRlcmFjdEV2ZW50OiBldmVudH0pXG4gICAgICB9KVxuICAgICAgLm9uKCdnZXN0dXJlbW92ZScsIChldmVudDogR2VzdHVyZUV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuZ2VzdHVyZU1vdmUuZW1pdCh7Z2VzdHVyZVJlZjogdGhpcywgaW50ZXJhY3RFdmVudDogZXZlbnR9KVxuICAgICAgfSlcbiAgICAgIC5vbignZ2VzdHVyZWVuZCcsIChldmVudDogR2VzdHVyZUV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuZ2VzdHVyZUVuZC5lbWl0KHtnZXN0dXJlUmVmOiB0aGlzLCBpbnRlcmFjdEV2ZW50OiBldmVudH0pXG4gICAgICB9KVxuICB9XG59XG4iXX0=
@@ -1,10 +0,0 @@
1
- export * from './draggable.directive';
2
- export * from './dropzone.directive';
3
- export * from './resizable.directive';
4
- export * from './drag-preview.directive';
5
- export * from './gesturable.directive';
6
- export * from './drag-root.directive';
7
- export * from './account-for-scale.directive';
8
- export * from './apply-scale.directive';
9
- export * from './auto-scroll.directive';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ludGVyYWN0L3NyYy9saWIvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZHJhZ2dhYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3B6b25lLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc2l6YWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmFnLXByZXZpZXcuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2VzdHVyYWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmFnLXJvb3QuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vYWNjb3VudC1mb3Itc2NhbGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBwbHktc2NhbGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0by1zY3JvbGwuZGlyZWN0aXZlJztcbiJdfQ==
@@ -1,228 +0,0 @@
1
- import { Directive, ElementRef, Input, Optional, SkipSelf, Output, EventEmitter, Renderer2, Inject } from '@angular/core';
2
- import { DOCUMENT } from '@angular/common';
3
- import interact from 'interactjs';
4
- import { InteractService } from '../services/interact.service';
5
- import { DraggableDirective } from './draggable.directive';
6
- import { DropzoneDirective } from './dropzone.directive';
7
- import { DragRootDirective } from './drag-root.directive';
8
- import { AccountForScaleDirective } from './account-for-scale.directive';
9
- import { DEFAULT_REGISTRY_ID } from '../models';
10
- import { AutoScrollDirective } from './auto-scroll.directive';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "../services/interact.service";
13
- import * as i2 from "./drag-root.directive";
14
- import * as i3 from "./account-for-scale.directive";
15
- import * as i4 from "./draggable.directive";
16
- import * as i5 from "./dropzone.directive";
17
- import * as i6 from "./auto-scroll.directive";
18
- /** @dynamic */
19
- export class ResizableDirective {
20
- get scale() {
21
- return this.account_for_scale_dir?.scale || this.drag_root_dir?.account_for_scale_dir?.scale;
22
- }
23
- constructor(el, _document, interactService, renderer, drag_root_dir, account_for_scale_dir, draggable_dir, dropzone_dir, auto_scroll_dir) {
24
- this.el = el;
25
- this._document = _document;
26
- this.interactService = interactService;
27
- this.renderer = renderer;
28
- this.drag_root_dir = drag_root_dir;
29
- this.account_for_scale_dir = account_for_scale_dir;
30
- this.draggable_dir = draggable_dir;
31
- this.dropzone_dir = dropzone_dir;
32
- this.auto_scroll_dir = auto_scroll_dir;
33
- this.enableResizeDefault = true;
34
- // TODO: should this be an input with default or should consuming user set display in styles each time
35
- this.position = 'absolute';
36
- this.resizeDisabled = false;
37
- this.resizeStart = new EventEmitter();
38
- this.resizeMove = new EventEmitter();
39
- this.resizeInertiaStart = new EventEmitter();
40
- this.resizeEnd = new EventEmitter();
41
- this.defaultConfig = {
42
- edges: { left: true, right: true, bottom: true, top: true }
43
- };
44
- this.activeEdges = { left: false, right: false, top: false, bottom: false };
45
- this.dragRootEl = drag_root_dir?.el?.nativeElement || this._document.body;
46
- }
47
- ngOnInit() {
48
- this.addResizePropertiesToElement(this.el.nativeElement);
49
- // we check for a dropzone, we use its id as the registry id if there is on
50
- // otherwise, we use DEFAULT_REGISTRY_ID as a registry id. This allows us to keep our interactable
51
- // drag state organized by dropzones.
52
- this.registryId = this.dropzone_dir?.dropzoneId || DEFAULT_REGISTRY_ID;
53
- this.interactableId = this.draggable_dir?.interactableId || this.interactService.addDraggableToRegistry(this.registryId, this.interactableId);
54
- this.interactable = this.initiateResizeEvents({ ...this.defaultConfig, ...this.resizeConfig }, this.el.nativeElement);
55
- this.alignDimensionsWithInputs(this.width, this.height);
56
- this.interactableSubscription = this.interactService
57
- .getInteractableState(this.interactableId, this.registryId)
58
- .subscribe();
59
- }
60
- ngOnChanges(changes) {
61
- if ((changes.resizeConfig || changes.resizeDisabled) && this.interactable) {
62
- this.interactable.resizable({ ...this.resizeConfig, enabled: !this.resizeDisabled, });
63
- }
64
- if (changes.width || changes.height) {
65
- this.alignDimensionsWithInputs(this.width, this.height);
66
- }
67
- }
68
- ngOnDestroy() {
69
- this.interactableSubscription.unsubscribe();
70
- this.interactService.destroyInteractable(this.interactableId, this.registryId);
71
- }
72
- resizeListener(event) {
73
- const element = this.el.nativeElement;
74
- const scale = this.scale;
75
- const { deltaRect } = event;
76
- const deltaX = deltaRect.left / scale;
77
- const deltaY = deltaRect.top / scale;
78
- // We get the width and height directly from the native element because
79
- // the event dimension can get out of sync when resizing with autoScroll
80
- const rect = element.getBoundingClientRect();
81
- const width = (rect.width + deltaRect.width) / scale;
82
- const height = (rect.height + deltaRect.height) / scale;
83
- this.interactService.updateSize(this.interactableId, this.registryId, { deltaX, deltaY, width, height }, this.el.nativeElement);
84
- }
85
- /**
86
- * hook elements into interacts resize event listeners
87
- * we spread the configs so that the consuming component only overwrites the
88
- * pieces that it explicitly indicates
89
- * @param resizeConfig
90
- * @param nativeElement
91
- */
92
- initiateResizeEvents(resizeConfig, nativeElement) {
93
- // TODO: This should try and get interactable from tft_draggable if it exists
94
- const defaultResizeConfig = {
95
- ...resizeConfig,
96
- enabled: !this.resizeDisabled,
97
- ...(this.auto_scroll_dir && {
98
- autoScroll: {
99
- ...this.auto_scroll_dir.autoScrollConfig,
100
- container: this.auto_scroll_dir.el.nativeElement
101
- }
102
- })
103
- };
104
- const interactable = this.draggable_dir?.interactable || interact(nativeElement);
105
- return interactable.resizable(defaultResizeConfig)
106
- .on('resizestart', (event) => {
107
- this.activeEdges = event.edges;
108
- if (this.auto_scroll_dir) {
109
- this.subscribeToScrollEvents();
110
- }
111
- this.resizeStart.emit(this.mapResizeEvent(event));
112
- })
113
- .on('resizemove', (event) => {
114
- if (this.enableResizeDefault) {
115
- this.resizeListener(event);
116
- }
117
- const mappedEvent = this.mapResizeEvent(event);
118
- this.resizeMove.emit(mappedEvent);
119
- })
120
- .on('resizeinertiastart', (event) => this.resizeInertiaStart.emit(this.mapResizeEvent(event)))
121
- .on('resizeend', (event) => {
122
- if (this.auto_scroll_dir) {
123
- this.scrollEventsSubscription.unsubscribe();
124
- }
125
- this.activeEdges = { left: false, right: false, top: false, bottom: false };
126
- this.resizeEnd.emit(this.mapResizeEvent(event));
127
- });
128
- }
129
- mapResizeEvent(event) {
130
- const target = this.el.nativeElement;
131
- const relatedTarget = this.draggable_dir?.dropzone_dir?.el.nativeElement;
132
- const scale = this.scale;
133
- const positionInDropTarget = target && relatedTarget
134
- ? this.interactService.calculatePositionInElement(relatedTarget, target, scale)
135
- : null;
136
- return {
137
- interactEvent: event,
138
- resizeRef: this,
139
- dragRef: this.draggable_dir,
140
- dragOrigin: this.dropzone_dir,
141
- dropTarget: this.el.nativeElement.dropTarget,
142
- positionInDropTarget,
143
- size: {
144
- width: target.clientWidth / scale,
145
- height: target.clientHeight / scale
146
- }
147
- };
148
- }
149
- alignDimensionsWithInputs(width, height) {
150
- this.interactService.updateSize(this.interactableId, this.registryId, { deltaX: 0, deltaY: 0, width, height }, this.el.nativeElement);
151
- }
152
- addResizePropertiesToElement(nativeElement) {
153
- this.renderer.setProperty(nativeElement, 'resizeRef', this);
154
- }
155
- subscribeToScrollEvents() {
156
- this.scrollEventsSubscription = this.auto_scroll_dir.scrollDeltaObserver.subscribe(({ scrollLeft, scrollTop }) => {
157
- const scale = this.scale;
158
- const target = this.el.nativeElement;
159
- const { width: prevWidth, height: prevHeight } = target.getBoundingClientRect();
160
- const deltaHeight = scrollTop * (this.activeEdges.top ? -1 : this.activeEdges.bottom ? 1 : 0);
161
- const deltaWidth = scrollLeft * (this.activeEdges.left ? -1 : this.activeEdges.right ? 1 : 0);
162
- const height = (prevHeight + deltaHeight) / scale;
163
- const width = (prevWidth + deltaWidth) / scale;
164
- const deltaX = this.activeEdges.left ? (scrollLeft / scale) : 0;
165
- const deltaY = this.activeEdges.top ? (scrollTop / scale) : 0;
166
- this.interactService.updateSize(this.interactableId, this.registryId, { deltaX, deltaY, width, height }, this.el.nativeElement);
167
- });
168
- }
169
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: ResizableDirective, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }, { token: i1.InteractService }, { token: i0.Renderer2 }, { token: i2.DragRootDirective, optional: true }, { token: i3.AccountForScaleDirective, optional: true }, { token: i4.DraggableDirective, optional: true }, { token: i5.DropzoneDirective, optional: true, skipSelf: true }, { token: i6.AutoScrollDirective, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
170
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.3", type: ResizableDirective, selector: "[tftResizable]", inputs: { enableResizeDefault: "enableResizeDefault", position: "position", resizeConfig: "resizeConfig", interactableId: "interactableId", width: "width", height: "height", resizeDisabled: "resizeDisabled" }, outputs: { resizeStart: "resizeStart", resizeMove: "resizeMove", resizeInertiaStart: "resizeInertiaStart", resizeEnd: "resizeEnd" }, host: { properties: { "style.touchAction": "this.resizeDisabled ? \"auto\" : \"none\"", "style.position": "position", "style.boxSizing": "\"border-box\"" } }, usesOnChanges: true, ngImport: i0 }); }
171
- }
172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: ResizableDirective, decorators: [{
173
- type: Directive,
174
- args: [{
175
- selector: '[tftResizable]',
176
- // eslint-disable-next-line @angular-eslint/no-host-metadata-property
177
- host: {
178
- // prevents touch events from colliding with with mouse events
179
- // on touch screen
180
- '[style.touchAction]': 'this.resizeDisabled ? "auto" : "none"',
181
- // default to absolute here to accommodate likely use cases
182
- // consuming component can easily over ride with position input
183
- '[style.position]': 'position',
184
- // follows interactjs suggested practices
185
- '[style.boxSizing]': '"border-box"',
186
- }
187
- }]
188
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: Document, decorators: [{
189
- type: Inject,
190
- args: [DOCUMENT]
191
- }] }, { type: i1.InteractService }, { type: i0.Renderer2 }, { type: i2.DragRootDirective, decorators: [{
192
- type: Optional
193
- }] }, { type: i3.AccountForScaleDirective, decorators: [{
194
- type: Optional
195
- }] }, { type: i4.DraggableDirective, decorators: [{
196
- type: Optional
197
- }] }, { type: i5.DropzoneDirective, decorators: [{
198
- type: Optional
199
- }, {
200
- type: SkipSelf
201
- }] }, { type: i6.AutoScrollDirective, decorators: [{
202
- type: Optional
203
- }, {
204
- type: SkipSelf
205
- }] }], propDecorators: { enableResizeDefault: [{
206
- type: Input
207
- }], position: [{
208
- type: Input
209
- }], resizeConfig: [{
210
- type: Input
211
- }], interactableId: [{
212
- type: Input
213
- }], width: [{
214
- type: Input
215
- }], height: [{
216
- type: Input
217
- }], resizeDisabled: [{
218
- type: Input
219
- }], resizeStart: [{
220
- type: Output
221
- }], resizeMove: [{
222
- type: Output
223
- }], resizeInertiaStart: [{
224
- type: Output
225
- }], resizeEnd: [{
226
- type: Output
227
- }] } });
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW50ZXJhY3Qvc3JjL2xpYi9kaXJlY3RpdmVzL3Jlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQTRCLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEssT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sUUFBUSxNQUFNLFlBQVksQ0FBQztBQUNsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFpQyxtQkFBbUIsRUFBa0IsTUFBTSxXQUFXLENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0FBUTlELGVBQWU7QUFnQmYsTUFBTSxPQUFPLGtCQUFrQjtJQTZCN0IsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxDQUFDO0lBQy9GLENBQUM7SUFFRCxZQUNTLEVBQWMsRUFDSyxTQUFtQixFQUNyQyxlQUFnQyxFQUNoQyxRQUFtQixFQUNQLGFBQWlDLEVBQ2xD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QUFDLENBQUM7SUFDTCxDQUFDOzhHQTVNVSxrQkFBa0IsNENBbUNuQixRQUFRO2tHQW5DUCxrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBZjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIscUVBQXFFO29CQUNyRSxJQUFJLEVBQUU7d0JBQ0osOERBQThEO3dCQUM5RCxrQkFBa0I7d0JBQ2xCLHFCQUFxQixFQUFFLHVDQUF1Qzt3QkFDOUQsMkRBQTJEO3dCQUMzRCwrREFBK0Q7d0JBQy9ELGtCQUFrQixFQUFFLFVBQVU7d0JBQzlCLHlDQUF5Qzt3QkFDekMsbUJBQW1CLEVBQUUsY0FBYztxQkFFcEM7aUJBQ0Y7OzBCQW9DSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUdmLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUNwQixRQUFROzswQkFBSSxRQUFRO3lDQXhDZCxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25Jbml0LCBPbkRlc3Ryb3ksIEVsZW1lbnRSZWYsIElucHV0LCBPcHRpb25hbCwgU2tpcFNlbGYsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFJlbmRlcmVyMiwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCBpbnRlcmFjdCBmcm9tICdpbnRlcmFjdGpzJztcbmltcG9ydCB7IEludGVyYWN0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2ludGVyYWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzaXphYmxlT3B0aW9ucywgUmVzaXplRXZlbnQsIEludGVyYWN0YWJsZSB9IGZyb20gJ0BpbnRlcmFjdGpzL3R5cGVzL2luZGV4JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHJhZ2dhYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9kcmFnZ2FibGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IERyb3B6b25lRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wem9uZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHJhZ1Jvb3REaXJlY3RpdmUgfSBmcm9tICcuL2RyYWctcm9vdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQWNjb3VudEZvclNjYWxlRGlyZWN0aXZlIH0gZnJvbSAnLi9hY2NvdW50LWZvci1zY2FsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmdSZXNpemVFdmVudCwgVGZ0UmVzaXplRXZlbnQsIERFRkFVTFRfUkVHSVNUUllfSUQsIFRmdERyYWdFbGVtZW50IH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEF1dG9TY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL2F1dG8tc2Nyb2xsLmRpcmVjdGl2ZSc7XG5cbmludGVyZmFjZSBBY3RpdmVFZGdlcyB7XG4gIHRvcDogYm9vbGVhbjtcbiAgYm90dG9tOiBib29sZWFuO1xuICBsZWZ0OiBib29sZWFuO1xuICByaWdodDogYm9vbGVhbjtcbn1cbi8qKiBAZHluYW1pYyAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RmdFJlc2l6YWJsZV0nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgaG9zdDoge1xuICAgIC8vIHByZXZlbnRzIHRvdWNoIGV2ZW50cyBmcm9tIGNvbGxpZGluZyB3aXRoIHdpdGggbW91c2UgZXZlbnRzXG4gICAgLy8gb24gdG91Y2ggc2NyZWVuXG4gICAgJ1tzdHlsZS50b3VjaEFjdGlvbl0nOiAndGhpcy5yZXNpemVEaXNhYmxlZCA/IFwiYXV0b1wiIDogXCJub25lXCInLFxuICAgIC8vIGRlZmF1bHQgdG8gYWJzb2x1dGUgaGVyZSB0byBhY2NvbW1vZGF0ZSBsaWtlbHkgdXNlIGNhc2VzXG4gICAgLy8gY29uc3VtaW5nIGNvbXBvbmVudCBjYW4gZWFzaWx5IG92ZXIgcmlkZSB3aXRoIHBvc2l0aW9uIGlucHV0XG4gICAgJ1tzdHlsZS5wb3NpdGlvbl0nOiAncG9zaXRpb24nLFxuICAgIC8vIGZvbGxvd3MgaW50ZXJhY3RqcyBzdWdnZXN0ZWQgcHJhY3RpY2VzXG4gICAgJ1tzdHlsZS5ib3hTaXppbmddJzogJ1wiYm9yZGVyLWJveFwiJyxcblxuICB9XG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6YWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIGVuYWJsZVJlc2l6ZURlZmF1bHQgPSB0cnVlO1xuICAvLyBUT0RPOiBzaG91bGQgdGhpcyBiZSBhbiBpbnB1dCB3aXRoIGRlZmF1bHQgb3Igc2hvdWxkIGNvbnN1bWluZyB1c2VyIHNldCBkaXNwbGF5IGluIHN0eWxlcyBlYWNoIHRpbWVcbiAgQElucHV0KCkgcG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICBASW5wdXQoKSByZXNpemVDb25maWc6IFBhcnRpYWw8SW50ZXJhY3QuT3JCb29sZWFuPFJlc2l6YWJsZU9wdGlvbnM+PjtcbiAgQElucHV0KCkgaW50ZXJhY3RhYmxlSWQ6IHN0cmluZztcblxuICBASW5wdXQoKSB3aWR0aDogbnVtYmVyO1xuICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlcjtcbiAgQElucHV0KCkgcmVzaXplRGlzYWJsZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcmVzaXplU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdFJlc2l6ZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgcmVzaXplTW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGZ0UmVzaXplRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSByZXNpemVJbmVydGlhU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdFJlc2l6ZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgcmVzaXplRW5kID0gbmV3IEV2ZW50RW1pdHRlcjxUZnRSZXNpemVFdmVudD4oKTtcblxuICBkZWZhdWx0Q29uZmlnOiBQYXJ0aWFsPEludGVyYWN0Lk9yQm9vbGVhbjxSZXNpemFibGVPcHRpb25zPj4gPSB7XG4gICAgZWRnZXM6IHsgbGVmdDogdHJ1ZSwgcmlnaHQ6IHRydWUsIGJvdHRvbTogdHJ1ZSwgdG9wOiB0cnVlIH1cbiAgfTtcbiAgcmVnaXN0cnlJZDogc3RyaW5nO1xuICBpbnRlcmFjdGFibGU6IEludGVyYWN0YWJsZTtcbiAgLy8gVGhlXG4gIGRyYWdSb290RWw6IEhUTUxFbGVtZW50O1xuXG4gIHByaXZhdGUgYWN0aXZlRWRnZXM6IEFjdGl2ZUVkZ2VzID0ge2xlZnQ6IGZhbHNlLCByaWdodDogZmFsc2UsIHRvcDogZmFsc2UsIGJvdHRvbTogZmFsc2V9XG4gIHByaXZhdGUgaW50ZXJhY3RhYmxlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc2Nyb2xsRXZlbnRzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgZ2V0IHNjYWxlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYWNjb3VudF9mb3Jfc2NhbGVfZGlyPy5zY2FsZSB8fCB0aGlzLmRyYWdfcm9vdF9kaXI/LmFjY291bnRfZm9yX3NjYWxlX2Rpcj8uc2NhbGU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIHByaXZhdGUgaW50ZXJhY3RTZXJ2aWNlOiBJbnRlcmFjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZHJhZ19yb290X2Rpcj86IERyYWdSb290RGlyZWN0aXZlLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBhY2NvdW50X2Zvcl9zY2FsZV9kaXI/OiBBY2NvdW50Rm9yU2NhbGVEaXJlY3RpdmUsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkcmFnZ2FibGVfZGlyPzogRHJhZ2dhYmxlRGlyZWN0aXZlLFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHByaXZhdGUgZHJvcHpvbmVfZGlyPzogRHJvcHpvbmVEaXJlY3RpdmUsXG4gICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcHVibGljIGF1dG9fc2Nyb2xsX2Rpcj86IEF1dG9TY3JvbGxEaXJlY3RpdmVcblxuXG4gICkge1xuICAgIHRoaXMuZHJhZ1Jvb3RFbCA9IChkcmFnX3Jvb3RfZGlyPy5lbD8ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkgfHwgdGhpcy5fZG9jdW1lbnQuYm9keTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYWRkUmVzaXplUHJvcGVydGllc1RvRWxlbWVudCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgLy8gd2UgY2hlY2sgZm9yIGEgZHJvcHpvbmUsIHdlIHVzZSBpdHMgaWQgYXMgdGhlIHJlZ2lzdHJ5IGlkIGlmIHRoZXJlIGlzIG9uXG4gICAgLy8gb3RoZXJ3aXNlLCB3ZSB1c2UgREVGQVVMVF9SRUdJU1RSWV9JRCBhcyBhIHJlZ2lzdHJ5IGlkLiBUaGlzIGFsbG93cyB1cyB0byBrZWVwIG91ciBpbnRlcmFjdGFibGVcbiAgICAvLyBkcmFnIHN0YXRlIG9yZ2FuaXplZCBieSBkcm9wem9uZXMuXG4gICAgdGhpcy5yZWdpc3RyeUlkID0gdGhpcy5kcm9wem9uZV9kaXI/LmRyb3B6b25lSWQgfHwgREVGQVVMVF9SRUdJU1RSWV9JRDtcblxuICAgIHRoaXMuaW50ZXJhY3RhYmxlSWQgPSB0aGlzLmRyYWdnYWJsZV9kaXI/LmludGVyYWN0YWJsZUlkIHx8IHRoaXMuaW50ZXJhY3RTZXJ2aWNlLmFkZERyYWdnYWJsZVRvUmVnaXN0cnkodGhpcy5yZWdpc3RyeUlkLCB0aGlzLmludGVyYWN0YWJsZUlkKTtcblxuICAgIHRoaXMuaW50ZXJhY3RhYmxlID0gdGhpcy5pbml0aWF0ZVJlc2l6ZUV2ZW50cyhcbiAgICAgIHsuLi50aGlzLmRlZmF1bHRDb25maWcsIC4uLnRoaXMucmVzaXplQ29uZmlnIH0sXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnRcbiAgICApO1xuXG4gICAgdGhpcy5hbGlnbkRpbWVuc2lvbnNXaXRoSW5wdXRzKHRoaXMud2lkdGgsIHRoaXMuaGVpZ2h0KTtcblxuICAgIHRoaXMuaW50ZXJhY3RhYmxlU3Vic2NyaXB0aW9uID0gdGhpcy5pbnRlcmFjdFNlcnZpY2VcbiAgICAgIC5nZXRJbnRlcmFjdGFibGVTdGF0ZSh0aGlzLmludGVyYWN0YWJsZUlkLCB0aGlzLnJlZ2lzdHJ5SWQpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKChjaGFuZ2VzLnJlc2l6ZUNvbmZpZyB8fCBjaGFuZ2VzLnJlc2l6ZURpc2FibGVkKSAmJiB0aGlzLmludGVyYWN0YWJsZSkge1xuICAgICAgdGhpcy5pbnRlcmFjdGFibGUucmVzaXphYmxlKHsuLi50aGlzLnJlc2l6ZUNvbmZpZywgZW5hYmxlZDogIXRoaXMucmVzaXplRGlzYWJsZWQsfSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLndpZHRoIHx8IGNoYW5nZXMuaGVpZ2h0KSB7XG4gICAgICB0aGlzLmFsaWduRGltZW5zaW9uc1dpdGhJbnB1dHModGhpcy53aWR0aCwgdGhpcy5oZWlnaHQpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuaW50ZXJhY3RhYmxlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5pbnRlcmFjdFNlcnZpY2UuZGVzdHJveUludGVyYWN0YWJsZSh0aGlzLmludGVyYWN0YWJsZUlkLCB0aGlzLnJlZ2lzdHJ5SWQpO1xuICB9XG5cbiAgcmVzaXplTGlzdGVuZXIoZXZlbnQ6IFJlc2l6ZUV2ZW50KSB7XG4gICAgY29uc3QgZWxlbWVudDogVGZ0RHJhZ0VsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3Qgc2NhbGUgPSB0aGlzLnNjYWxlO1xuICAgIGNvbnN0IHtkZWx0YVJlY3R9ID0gZXZlbnQ7XG4gICAgY29uc3QgZGVsdGFYID0gZGVsdGFSZWN0LmxlZnQvc2NhbGU7XG4gICAgY29uc3QgZGVsdGFZID0gZGVsdGFSZWN0LnRvcC9zY2FsZTtcbiAgICAvLyBXZSBnZXQgdGhlIHdpZHRoIGFuZCBoZWlnaHQgZGlyZWN0bHkgZnJvbSB0aGUgbmF0aXZlIGVsZW1lbnQgYmVjYXVzZVxuICAgIC8vIHRoZSBldmVudCBkaW1lbnNpb24gY2FuIGdldCBvdXQgb2Ygc3luYyB3aGVuIHJlc2l6aW5nIHdpdGggYXV0b1Njcm9sbFxuICAgIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHdpZHRoID0gKHJlY3Qud2lkdGggKyBkZWx0YVJlY3Qud2lkdGgpL3NjYWxlO1xuICAgIGNvbnN0IGhlaWdodCA9IChyZWN0LmhlaWdodCArIGRlbHRhUmVjdC5oZWlnaHQpL3NjYWxlO1xuXG4gICAgdGhpcy5pbnRlcmFjdFNlcnZpY2UudXBkYXRlU2l6ZShcbiAgICAgIHRoaXMuaW50ZXJhY3RhYmxlSWQsXG4gICAgICB0aGlzLnJlZ2lzdHJ5SWQsXG4gICAgICB7ZGVsdGFYLCBkZWx0YVksIHdpZHRoLCBoZWlnaHR9LFxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50XG4gICAgKTtcbiAgfVxuICAvKipcbiAgICogIGhvb2sgZWxlbWVudHMgaW50byBpbnRlcmFjdHMgcmVzaXplIGV2ZW50IGxpc3RlbmVyc1xuICAgKiAgd2Ugc3ByZWFkIHRoZSBjb25maWdzIHNvIHRoYXQgdGhlIGNvbnN1bWluZyBjb21wb25lbnQgb25seSBvdmVyd3JpdGVzIHRoZVxuICAgKiAgcGllY2VzIHRoYXQgaXQgZXhwbGljaXRseSBpbmRpY2F0ZXNcbiAgICogQHBhcmFtIHJlc2l6ZUNvbmZpZ1xuICAgKiBAcGFyYW0gbmF0aXZlRWxlbWVudFxuICAgKi9cbiAgaW5pdGlhdGVSZXNpemVFdmVudHMocmVzaXplQ29uZmlnOiBQYXJ0aWFsPEludGVyYWN0Lk9yQm9vbGVhbjxSZXNpemFibGVPcHRpb25zPj4sIG5hdGl2ZUVsZW1lbnQ6IFRmdERyYWdFbGVtZW50KSB7XG4gICAgLy8gVE9ETzogVGhpcyBzaG91bGQgdHJ5IGFuZCBnZXQgaW50ZXJhY3RhYmxlIGZyb20gdGZ0X2RyYWdnYWJsZSBpZiBpdCBleGlzdHNcbiAgICBjb25zdCBkZWZhdWx0UmVzaXplQ29uZmlnID0ge1xuICAgICAgLi4ucmVzaXplQ29uZmlnLFxuICAgICAgZW5hYmxlZDogIXRoaXMucmVzaXplRGlzYWJsZWQsXG4gICAgICAuLi4odGhpcy5hdXRvX3Njcm9sbF9kaXIgJiYge1xuICAgICAgICBhdXRvU2Nyb2xsOiB7XG4gICAgICAgICAgLi4udGhpcy5hdXRvX3Njcm9sbF9kaXIuYXV0b1Njcm9sbENvbmZpZyxcbiAgICAgICAgICBjb250YWluZXI6IHRoaXMuYXV0b19zY3JvbGxfZGlyLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnRcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9O1xuICAgIGNvbnN0IGludGVyYWN0YWJsZSA9IHRoaXMuZHJhZ2dhYmxlX2Rpcj8uaW50ZXJhY3RhYmxlIHx8IGludGVyYWN0KG5hdGl2ZUVsZW1lbnQpO1xuICAgIHJldHVybiBpbnRlcmFjdGFibGUucmVzaXphYmxlKGRlZmF1bHRSZXNpemVDb25maWcpXG4gICAgICAub24oJ3Jlc2l6ZXN0YXJ0JywgKGV2ZW50OiBOZ1Jlc2l6ZUV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZlRWRnZXMgPSBldmVudC5lZGdlcyBhcyBBY3RpdmVFZGdlcztcbiAgICAgICAgaWYgKHRoaXMuYXV0b19zY3JvbGxfZGlyKSB7XG4gICAgICAgICAgdGhpcy5zdWJzY3JpYmVUb1Njcm9sbEV2ZW50cygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVzaXplU3RhcnQuZW1pdCh0aGlzLm1hcFJlc2l6ZUV2ZW50KGV2ZW50KSlcbiAgICAgIH0pXG4gICAgICAub24oJ3Jlc2l6ZW1vdmUnLCAgKGV2ZW50OiBOZ1Jlc2l6ZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmVuYWJsZVJlc2l6ZURlZmF1bHQpIHtcbiAgICAgICAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyKGV2ZW50KVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1hcHBlZEV2ZW50ID0gdGhpcy5tYXBSZXNpemVFdmVudChldmVudCk7XG4gICAgICAgIHRoaXMucmVzaXplTW92ZS5lbWl0KG1hcHBlZEV2ZW50KVxuICAgICAgfSlcbiAgICAgIC5vbigncmVzaXplaW5lcnRpYXN0YXJ0JywgKGV2ZW50OiBOZ1Jlc2l6ZUV2ZW50KSA9PiB0aGlzLnJlc2l6ZUluZXJ0aWFTdGFydC5lbWl0KHRoaXMubWFwUmVzaXplRXZlbnQoZXZlbnQpKSlcbiAgICAgIC5vbigncmVzaXplZW5kJywgKGV2ZW50OiBOZ1Jlc2l6ZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmF1dG9fc2Nyb2xsX2Rpcikge1xuICAgICAgICAgIHRoaXMuc2Nyb2xsRXZlbnRzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hY3RpdmVFZGdlcyA9IHtsZWZ0OiBmYWxzZSwgcmlnaHQ6IGZhbHNlLCB0b3A6IGZhbHNlLCBib3R0b206IGZhbHNlfVxuXG4gICAgICAgIHRoaXMucmVzaXplRW5kLmVtaXQodGhpcy5tYXBSZXNpemVFdmVudChldmVudCkpO1xuICAgICAgfSk7XG4gIH1cblxuICBtYXBSZXNpemVFdmVudChldmVudDogTmdSZXNpemVFdmVudCApOiBUZnRSZXNpemVFdmVudCB7XG4gICAgY29uc3QgdGFyZ2V0ICA9IHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBUZnREcmFnRWxlbWVudDtcbiAgICBjb25zdCByZWxhdGVkVGFyZ2V0ID0gdGhpcy5kcmFnZ2FibGVfZGlyPy5kcm9wem9uZV9kaXI/LmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3Qgc2NhbGUgPSB0aGlzLnNjYWxlO1xuICAgIGNvbnN0IHBvc2l0aW9uSW5Ecm9wVGFyZ2V0ID0gdGFyZ2V0ICYmIHJlbGF0ZWRUYXJnZXRcbiAgICAgID8gdGhpcy5pbnRlcmFjdFNlcnZpY2UuY2FsY3VsYXRlUG9zaXRpb25JbkVsZW1lbnQocmVsYXRlZFRhcmdldCwgdGFyZ2V0LCBzY2FsZSlcbiAgICAgIDogbnVsbDtcbiAgICByZXR1cm4ge1xuICAgICAgaW50ZXJhY3RFdmVudDogZXZlbnQsXG4gICAgICByZXNpemVSZWY6IHRoaXMsXG4gICAgICBkcmFnUmVmOiB0aGlzLmRyYWdnYWJsZV9kaXIsXG4gICAgICBkcmFnT3JpZ2luOiB0aGlzLmRyb3B6b25lX2RpcixcbiAgICAgIGRyb3BUYXJnZXQ6IHRoaXMuZWwubmF0aXZlRWxlbWVudC5kcm9wVGFyZ2V0LFxuICAgICAgcG9zaXRpb25JbkRyb3BUYXJnZXQsXG4gICAgICBzaXplOiB7XG4gICAgICAgIHdpZHRoOiB0YXJnZXQuY2xpZW50V2lkdGggLyBzY2FsZSxcbiAgICAgICAgaGVpZ2h0OiB0YXJnZXQuY2xpZW50SGVpZ2h0IC8gc2NhbGVcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhbGlnbkRpbWVuc2lvbnNXaXRoSW5wdXRzKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSB7XG4gICAgdGhpcy5pbnRlcmFjdFNlcnZpY2UudXBkYXRlU2l6ZShcbiAgICAgIHRoaXMuaW50ZXJhY3RhYmxlSWQsXG4gICAgICB0aGlzLnJlZ2lzdHJ5SWQsXG4gICAgICB7ZGVsdGFYOiAwLCBkZWx0YVk6IDAsIHdpZHRoLCBoZWlnaHR9LFxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50XG4gICAgKTtcbiAgfVxuXG4gIGFkZFJlc2l6ZVByb3BlcnRpZXNUb0VsZW1lbnQobmF0aXZlRWxlbWVudDogVGZ0RHJhZ0VsZW1lbnQpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KG5hdGl2ZUVsZW1lbnQsICdyZXNpemVSZWYnLCB0aGlzKTtcbiAgfVxuXG4gIHN1YnNjcmliZVRvU2Nyb2xsRXZlbnRzKCkge1xuICAgIHRoaXMuc2Nyb2xsRXZlbnRzU3Vic2NyaXB0aW9uID0gdGhpcy5hdXRvX3Njcm9sbF9kaXIuc2Nyb2xsRGVsdGFPYnNlcnZlci5zdWJzY3JpYmUoKHtzY3JvbGxMZWZ0LCBzY3JvbGxUb3B9KSA9PiB7XG4gICAgICBjb25zdCBzY2FsZSA9IHRoaXMuc2NhbGU7XG4gICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjb25zdCB7d2lkdGg6IHByZXZXaWR0aCwgaGVpZ2h0OiBwcmV2SGVpZ2h0fSA9IHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgY29uc3QgZGVsdGFIZWlnaHQgPSBzY3JvbGxUb3AgKiAodGhpcy5hY3RpdmVFZGdlcy50b3AgPyAtMSA6IHRoaXMuYWN0aXZlRWRnZXMuYm90dG9tID8gMSA6IDApO1xuICAgICAgY29uc3QgZGVsdGFXaWR0aCA9IHNjcm9sbExlZnQgKiAodGhpcy5hY3RpdmVFZGdlcy5sZWZ0ID8gLTEgOiB0aGlzLmFjdGl2ZUVkZ2VzLnJpZ2h0ID8gMSA6IDApO1xuXG4gICAgICBjb25zdCBoZWlnaHQgPSAocHJldkhlaWdodCArIGRlbHRhSGVpZ2h0KSAvIHNjYWxlO1xuICAgICAgY29uc3Qgd2lkdGggPSAocHJldldpZHRoICsgZGVsdGFXaWR0aCkgLyBzY2FsZTtcbiAgICAgIGNvbnN0IGRlbHRhWCA9IHRoaXMuYWN0aXZlRWRnZXMubGVmdCA/IChzY3JvbGxMZWZ0IC8gc2NhbGUpIDogMDtcbiAgICAgIGNvbnN0IGRlbHRhWSA9IHRoaXMuYWN0aXZlRWRnZXMudG9wID8gKHNjcm9sbFRvcCAvIHNjYWxlKSA6IDA7XG4gICAgICB0aGlzLmludGVyYWN0U2VydmljZS51cGRhdGVTaXplKFxuICAgICAgICB0aGlzLmludGVyYWN0YWJsZUlkLFxuICAgICAgICB0aGlzLnJlZ2lzdHJ5SWQsXG4gICAgICAgIHtkZWx0YVgsIGRlbHRhWSwgd2lkdGgsIGhlaWdodH0sXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudFxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,66 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ArrayOfNPipe } from './pipes/array-of-n.pipe';
4
- import { ApplyScaleDirective, DraggableDirective, DragRootDirective, AutoScrollDirective, AccountForScaleDirective, GesturableDirective, ResizableDirective, DropzoneDirective, DragPreviewDirective } from './directives';
5
- import { InteractService } from './services/interact.service';
6
- import { INTERACT_ROOT_CONFIG } from './models';
7
- import * as i0 from "@angular/core";
8
- const EXPORTS = [
9
- DraggableDirective,
10
- ResizableDirective,
11
- DropzoneDirective,
12
- GesturableDirective,
13
- DragRootDirective,
14
- AutoScrollDirective,
15
- AccountForScaleDirective,
16
- ApplyScaleDirective,
17
- DragPreviewDirective,
18
- ArrayOfNPipe,
19
- ];
20
- export class InteractModule {
21
- static forRoot(config) {
22
- const defaultConfig = { cssDimensionUnit: 'px' };
23
- return {
24
- ngModule: InteractModule,
25
- providers: [
26
- { provide: INTERACT_ROOT_CONFIG, useValue: { ...defaultConfig, ...config } },
27
- InteractService
28
- ]
29
- };
30
- }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: InteractModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.3", ngImport: i0, type: InteractModule, declarations: [DraggableDirective,
33
- ResizableDirective,
34
- DropzoneDirective,
35
- GesturableDirective,
36
- DragRootDirective,
37
- AutoScrollDirective,
38
- AccountForScaleDirective,
39
- ApplyScaleDirective,
40
- DragPreviewDirective,
41
- ArrayOfNPipe], imports: [CommonModule], exports: [DraggableDirective,
42
- ResizableDirective,
43
- DropzoneDirective,
44
- GesturableDirective,
45
- DragRootDirective,
46
- AutoScrollDirective,
47
- AccountForScaleDirective,
48
- ApplyScaleDirective,
49
- DragPreviewDirective,
50
- ArrayOfNPipe] }); }
51
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: InteractModule, imports: [CommonModule] }); }
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: InteractModule, decorators: [{
54
- type: NgModule,
55
- args: [{
56
- imports: [CommonModule],
57
- // providers: [{ provide: INTERACT_ROOT_CONFIG, useValue: 'px' }],
58
- declarations: [
59
- ...EXPORTS,
60
- ],
61
- exports: [
62
- ...EXPORTS
63
- ]
64
- }]
65
- }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbnRlcmFjdC9zcmMvbGliL2ludGVyYWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzTixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFzQixvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFJcEUsTUFBTSxPQUFPLEdBQUc7SUFDZCxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQix3QkFBd0I7SUFDeEIsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixZQUFZO0NBQ2IsQ0FBQztBQWFGLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBMEI7UUFDdkMsTUFBTSxhQUFhLEdBQXVCLEVBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFDLENBQUE7UUFDbEUsT0FBTztZQUNMLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsRUFBQyxHQUFHLGFBQWEsRUFBRSxHQUFHLE1BQU0sRUFBQyxFQUFFO2dCQUMxRSxlQUFlO2FBQ2hCO1NBQ0YsQ0FBQztJQUNKLENBQUM7OEdBVlUsY0FBYzsrR0FBZCxjQUFjLGlCQXZCekIsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsWUFBWSxhQUtGLFlBQVksYUFkdEIsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsWUFBWTsrR0FjRCxjQUFjLFlBVGYsWUFBWTs7MkZBU1gsY0FBYztrQkFWMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLGtFQUFrRTtvQkFDbEUsWUFBWSxFQUFFO3dCQUNaLEdBQUcsT0FBTztxQkFDWDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsR0FBRyxPQUFPO3FCQUNYO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBcnJheU9mTlBpcGUgfSBmcm9tICcuL3BpcGVzL2FycmF5LW9mLW4ucGlwZSc7XG5pbXBvcnQgeyBBcHBseVNjYWxlRGlyZWN0aXZlLCBEcmFnZ2FibGVEaXJlY3RpdmUsIERyYWdSb290RGlyZWN0aXZlLCBBdXRvU2Nyb2xsRGlyZWN0aXZlLCBBY2NvdW50Rm9yU2NhbGVEaXJlY3RpdmUsIEdlc3R1cmFibGVEaXJlY3RpdmUsIFJlc2l6YWJsZURpcmVjdGl2ZSwgRHJvcHpvbmVEaXJlY3RpdmUsIERyYWdQcmV2aWV3RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEludGVyYWN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaW50ZXJhY3Quc2VydmljZSc7XG5pbXBvcnQgeyBJbnRlcmFjdFJvb3RDb25maWcsIElOVEVSQUNUX1JPT1RfQ09ORklHIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5cblxuY29uc3QgRVhQT1JUUyA9IFtcbiAgRHJhZ2dhYmxlRGlyZWN0aXZlLFxuICBSZXNpemFibGVEaXJlY3RpdmUsXG4gIERyb3B6b25lRGlyZWN0aXZlLFxuICBHZXN0dXJhYmxlRGlyZWN0aXZlLFxuICBEcmFnUm9vdERpcmVjdGl2ZSxcbiAgQXV0b1Njcm9sbERpcmVjdGl2ZSxcbiAgQWNjb3VudEZvclNjYWxlRGlyZWN0aXZlLFxuICBBcHBseVNjYWxlRGlyZWN0aXZlLFxuICBEcmFnUHJldmlld0RpcmVjdGl2ZSxcbiAgQXJyYXlPZk5QaXBlLFxuXTtcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgLy8gcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBJTlRFUkFDVF9ST09UX0NPTkZJRywgdXNlVmFsdWU6ICdweCcgfV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIC4uLkVYUE9SVFMsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICAuLi5FWFBPUlRTXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSW50ZXJhY3RNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IEludGVyYWN0Um9vdENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SW50ZXJhY3RNb2R1bGU+IHtcbiAgICBjb25zdCBkZWZhdWx0Q29uZmlnOiBJbnRlcmFjdFJvb3RDb25maWcgPSB7Y3NzRGltZW5zaW9uVW5pdDogJ3B4J31cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEludGVyYWN0TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogSU5URVJBQ1RfUk9PVF9DT05GSUcsIHVzZVZhbHVlOiB7Li4uZGVmYXVsdENvbmZpZywgLi4uY29uZmlnfSB9LFxuICAgICAgICBJbnRlcmFjdFNlcnZpY2VcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './interact';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ludGVyYWN0L3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbnRlcmFjdCc7Il19
@@ -1,28 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const INTERACT_ROOT_CONFIG = new InjectionToken('INTERACT_ROOT_CONFIG_PARAMS');
3
- export const DEFAULT_REGISTRY_ID = 'DEFAULT';
4
- /**
5
- * Default initial value for Delta BehaviorSubject
6
- */
7
- export const defaultDelta = {
8
- deltaX: 0,
9
- deltaY: 0,
10
- targetElement: null
11
- };
12
- /**
13
- * Default initial value for Size BehaviorSubject
14
- */
15
- export const defaultSize = {
16
- width: null,
17
- height: null,
18
- targetElement: null
19
- };
20
- /**
21
- * Default initial value for Position BehaviorSubject
22
- */
23
- export const defaultPosition = {
24
- x: 0,
25
- y: 0,
26
- targetElement: null
27
- };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ludGVyYWN0L3NyYy9saWIvbW9kZWxzL2ludGVyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRL0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQXFCLDZCQUE2QixDQUFDLENBQUM7QUFFMUcsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUFDO0FBQzdDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFVO0lBQ2pDLE1BQU0sRUFBRSxDQUFDO0lBQ1QsTUFBTSxFQUFFLENBQUM7SUFDVCxhQUFhLEVBQUUsSUFBSTtDQUNwQixDQUFDO0FBQ0Y7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQVM7SUFDL0IsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLGFBQWEsRUFBRSxJQUFJO0NBQ3BCLENBQUE7QUFDRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBYTtJQUN2QyxDQUFDLEVBQUUsQ0FBQztJQUNKLENBQUMsRUFBRSxDQUFDO0lBQ0osYUFBYSxFQUFFLElBQUk7Q0FDcEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyb3B6b25lRGlyZWN0aXZlLCBEcmFnZ2FibGVEaXJlY3RpdmUsIEdlc3R1cmFibGVEaXJlY3RpdmUsIFJlc2l6YWJsZURpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgUG9pbnQsIERyYWdFdmVudCwgUmVzaXplRXZlbnQsIEludGVyYWN0YWJsZSwgRHJvcEV2ZW50LCBHZXN0dXJlRXZlbnQgfSBmcm9tICdAaW50ZXJhY3Rqcy90eXBlcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuXG5leHBvcnQgdHlwZSBDc3NEaW1lbnNpb25Vbml0ID0gJ3B4JyB8ICdlbSc7XG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0Um9vdENvbmZpZyB7XG4gIGNzc0RpbWVuc2lvblVuaXQ6IENzc0RpbWVuc2lvblVuaXQ7XG59XG5leHBvcnQgY29uc3QgSU5URVJBQ1RfUk9PVF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48SW50ZXJhY3RSb290Q29uZmlnPignSU5URVJBQ1RfUk9PVF9DT05GSUdfUEFSQU1TJyk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1JFR0lTVFJZX0lEID0gJ0RFRkFVTFQnO1xuLyoqXG4gKiBEZWZhdWx0IGluaXRpYWwgdmFsdWUgZm9yIERlbHRhIEJlaGF2aW9yU3ViamVjdFxuICovXG5leHBvcnQgY29uc3QgZGVmYXVsdERlbHRhOiBEZWx0YSA9IHtcbiAgZGVsdGFYOiAwLFxuICBkZWx0YVk6IDAsXG4gIHRhcmdldEVsZW1lbnQ6IG51bGxcbn07XG4vKipcbiAqIERlZmF1bHQgaW5pdGlhbCB2YWx1ZSBmb3IgU2l6ZSBCZWhhdmlvclN1YmplY3RcbiAqL1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRTaXplOiBTaXplID0ge1xuICB3aWR0aDogbnVsbCxcbiAgaGVpZ2h0OiBudWxsLFxuICB0YXJnZXRFbGVtZW50OiBudWxsXG59XG4vKipcbiAqIERlZmF1bHQgaW5pdGlhbCB2YWx1ZSBmb3IgUG9zaXRpb24gQmVoYXZpb3JTdWJqZWN0XG4gKi9cbmV4cG9ydCBjb25zdCBkZWZhdWx0UG9zaXRpb246IFBvc2l0aW9uID0ge1xuICB4OiAwLFxuICB5OiAwLFxuICB0YXJnZXRFbGVtZW50OiBudWxsXG59XG4vKipcbiAqIFRoZSBzaGFwZSBvZiB0aGUgc3RhdGUvZXZlbnRzL2JlaGF2aW9yIHN5c3RlbSBmb3IgZWFjaCBkcm9wem9uZVxuICogYW5kIHRoZSBERUZBVUxUX1JFR0lTVFJZX0lEIHN5c3RlbSAoZm9yIGRyb3AgY29tcG9uZW50cyBpbml0aWFsaXplZCBvdXRzaWRlXG4gKiBvZiBhIGRyb3B6b25lKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGFibGVTeXN0ZW0ge1xuICBkZWx0YXMkOiBCZWhhdmlvclN1YmplY3Q8RGVsdGE+O1xuICBwb3NpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxQb3NpdGlvbj47XG4gIHNpemUkOiBCZWhhdmlvclN1YmplY3Q8U2l6ZSAmIERlbHRhPjtcblxuICBpbnRlcmFjdGFibGUkOiBPYnNlcnZhYmxlPFRmdENvb3Jkcz47XG59XG4vKipcbiAqIFRoZSBrZXkgbWFwIG9mIEludGVyYWN0YWJsZVN5c3RlbXMuIE9uZSBmb3IgdGhlIGRyYWcgY29tcG9uZW50c1xuICogdGhhdCBvcmlnaW5hdGVkIG91dHNpZGUgb2YgYSBkcm9wem9uZSwgcGx1cyBvbmUgZm9yIGVhY2ggZHJvcHpvbmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJhY3RhYmxlUmVnaXN0cnkge1xuICBba2V5OiBzdHJpbmddOiBJbnRlcmFjdGFibGVTeXN0ZW1cbn1cblxuLyoqXG4gKiBIVE1MRWxlbWVudCB3aXRoIGhlbHBmdWwgZHJhZyBkaXJlY3RpdmVzIGF0dGFjaGVkIHRvIGZhY2lsaXRhdGUgbW92aW5nIGRyYWcgZGF0YSBiZXR3ZWVuIGRyb3B6b25lc1xuICovXG5leHBvcnQgdHlwZSBUZnREcmFnRWxlbWVudCA9IEhUTUxFbGVtZW50ICYge1xuICBkcmFnUmVmPzogRHJhZ2dhYmxlRGlyZWN0aXZlXG4gIGRyYWdPcmlnaW4/OiBEcm9wem9uZURpcmVjdGl2ZVxuICBkcm9wVGFyZ2V0PzogRHJvcHpvbmVEaXJlY3RpdmVcbn1cblxuLyoqXG4gKiBIVE1MRWxlbWVudCB3aXRoIGhlbHBmdWwgZHJhZyBkaXJlY3RpdmVzIGF0dGFjaGVkIHRvIGZhY2lsaXRhdGUgbW92aW5nIGRyYWcgZGF0YSBiZXR3ZWVuIGRyb3B6b25lc1xuICovXG4gZXhwb3J0IHR5cGUgVGZ0UmVzaXplRWxlbWVudCA9IEhUTUxFbGVtZW50ICYge1xuICByZXNpemVSZWY/OiBSZXNpemFibGVEaXJlY3RpdmVcbn1cblxuLyoqXG4gKiBFeHRlbmRzIHRoZSBpbnRlcmFjdCBkcm9wIGV2ZW50cyBieSBhZGRpbmcgcmVmZXJlbmNlIHRvIHRoZSBkcm9wcGVkIGNvbXBvbmVudHMgZHJhZ1xuICogZGlyZWN0aXZlIHRvIHRoZSBodG1sIGVsZW1lbnQuIFRoaXMgZ2l2ZXMgdGhlIGRyb3B6b25lIGFjY2VzcyB0byB0aGluZ3MgbGlrZSBkYXRhXG4gKiBhbmQgcGFyZW50IGRyb3B6b25lIG9mIHRoZSBkcm9wcGVkIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IHR5cGUgTmdEcm9wRXZlbnQgPSBEcm9wRXZlbnQgJiB7XG4gIGRyYWdnYWJsZTogIEludGVyYWN0YWJsZSAmIHtcbiAgICB0YXJnZXQ6IFRmdERyYWdFbGVtZW50O1xuICB9O1xuICByZWxhdGVkVGFyZ2V0OiBUZnREcmFnRWxlbWVudDtcbn07XG4vKipcbiAqIEV4dGVuZHMgdGhlIGludGVyYWN0IHJlc2l6ZSBldmVudHMgYnkgYWRkaW5nIGEgcmVmZXJlbmNlIHRvIHRoZSBkcmFnUmVmXG4gKiBkaXJlY3RpdmUgdG8gdGhlIGh0bWwgZWxlbWVudC5cbiAqL1xuZXhwb3J0IHR5cGUgIE5nUmVzaXplRXZlbnQgPSBSZXNpemVFdmVudCAmIHtcbiAgZHJhZ2dhYmxlOiAgSW50ZXJhY3RhYmxlICYge1xuICAgIHRhcmdldDogVGZ0RHJhZ0VsZW1lbnQ7XG4gIH07XG59O1xuLyoqXG4gKiBXZSBleHRlbmQgdGhlIGludGVyYWN0IERyYWdFdmVudCBhIGxpdHRsZSBoZXJlLCBhZGRpbmcgdG8gdGhlIHRhcmdldCBlbGVtZW50IHJlZmVyZW5jZXMgZm9yOlxuICogIC0gdGhlIGNvbXBvbmVudCB3ZSBhcmUgZHJhZ2dpbmcgKGRyYWdSZWYpXG4gKiAgLSB0aGUgZHJvcHpvbmUgY29tcG9uZW50IHdoZXJlIHRoZSBkcmFnIGNvbXBvbmVudCBvcmlnaW5hdGVkIChkcmFnT3JpZ2luKVxuICogIC0gdGhlIGRyb3B6b25lIGNvbXBvbmVudCB0aGF0IGl0IHdhcyBkcm9wcGVkIGluIChkcm9wVGFyZ2V0KVxuICogVGhpcyBoZWxwcyB1cyB0byBwYXNzIHJlZmVyZW5jZXMgdG8gZGlyZWN0aXZlIGNsYXNzZXMgYXMgZXZlbnRzIGxpa2UgZHJhZ2VudGVyIGFuZCBkcmFnIGV4aXQgaGFwcGVucy5cbiAqIFdlIHVzZSB0aGVzZSByZWZlcmVuY2VzIHRvIGVtaXQgYSAobW9zdGx5KSBjb25zaXN0ZW50IGV2ZW50IGFjcm9zcyBkcmFnLCBkcm9wLCByZXNpemUgZXZlbnQuXG4gKi9cbmV4cG9ydCB0eXBlIE5nRHJhZ0V2ZW50ID0gRHJhZ0V2ZW50ICYge1xuICBkcm9wem9uZTogeyB0YXJnZXQ6IEhUTUxFbGVtZW50fSxcbiAgdGFyZ2V0OiBUZnREcmFnRWxlbWVudFxufTtcbi8qKlxuICogRXZlbnQgZW1pdHRlZCB3aGVuIHJlc2l6aW5nLCBkcmFnZ2luZywgZHJvcHBpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZnRJbnRlcmFjdGFibGVFdmVudCB7XG4gIGRyYWdSZWY6IERyYWdnYWJsZURpcmVjdGl2ZTtcbiAgZHJhZ09yaWdpbj86IERyb3B6b25lRGlyZWN0aXZlO1xuICBkcm9wVGFyZ2V0PzogRHJvcHpvbmVEaXJlY3RpdmU7XG4gIHBvc2l0aW9uSW5Ecm9wVGFyZ2V0OiBQb2ludDtcbn1cbi8qKlxuICogRXZlbnQgZW1pdHRlZCBvbiBkcm9wXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGZ0RHJvcEV2ZW50IGV4dGVuZHMgVGZ0SW50ZXJhY3RhYmxlRXZlbnQge1xuICBpbnRlcmFjdEV2ZW50OiBOZ0Ryb3BFdmVudFxufVxuLyoqXG4gKiBFdmVudCBlbWl0dGVkIG9uIGRyYWdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZnREcmFnRXZlbnQgZXh0ZW5kcyBUZnRJbnRlcmFjdGFibGVFdmVudCB7XG4gIGludGVyYWN0RXZlbnQ6IE5nRHJhZ0V2ZW50XG59XG4vKipcbiAqIEV2ZW50IGVtaXR0ZWQgb24gcmVzaXplXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGZ0UmVzaXplRXZlbnQgZXh0ZW5kcyBUZnRJbnRlcmFjdGFibGVFdmVudCB7XG4gIGludGVyYWN0RXZlbnQ6IFJlc2l6ZUV2ZW50LFxuICByZXNpemVSZWY6IFJlc2l6YWJsZURpcmVjdGl2ZVxuICBzaXplOiB7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBUZnRDb29yZHM9IERlbHRhICYgUG9zaXRpb24gJiBTaXplO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlbHRhIHtcbiAgZGVsdGFYOiBudW1iZXIgfCBudWxsO1xuICBkZWx0YVk6IG51bWJlciB8IG51bGw7XG4gIHRhcmdldEVsZW1lbnQ6IFRmdERyYWdFbGVtZW50IHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3NpdGlvbiB7XG4gIHg6IG51bWJlciB8IG51bGw7XG4gIHk6IG51bWJlciB8IG51bGw7XG4gIHRhcmdldEVsZW1lbnQ6IFRmdERyYWdFbGVtZW50IHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaXplIHtcbiAgd2lkdGg6IG51bWJlciB8IG51bGw7XG4gIGhlaWdodDogbnVtYmVyIHwgbnVsbDtcbiAgdGFyZ2V0RWxlbWVudDogVGZ0UmVzaXplRWxlbWVudCB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGZ0R2VzdHVyZUV2ZW50IHtcbiAgZ2VzdHVyZVJlZjogR2VzdHVyYWJsZURpcmVjdGl2ZTtcbiAgaW50ZXJhY3RFdmVudDogR2VzdHVyZUV2ZW50O1xufVxuIl19
@@ -1,22 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ArrayOfNPipe {
4
- /**
5
- *
6
- * @param n the number to make an array of
7
- * @param max the max length of the array (useful for limiting rendering in ngFor loop)
8
- */
9
- transform(n, max) {
10
- const length = ((max && max < n) || n === Infinity) ? max : n;
11
- return new Array(length).fill(length).map((x, i) => i);
12
- }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: ArrayOfNPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
14
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.3", ngImport: i0, type: ArrayOfNPipe, name: "arrayOfN" }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: ArrayOfNPipe, decorators: [{
17
- type: Pipe,
18
- args: [{
19
- name: 'arrayOfN'
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktb2Ytbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbnRlcmFjdC9zcmMvbGliL3BpcGVzL2FycmF5LW9mLW4ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLFlBQVk7SUFFdkI7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxDQUFTLEVBQUUsR0FBVztRQUM5QixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlELE9BQU8sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OEdBVlUsWUFBWTs0R0FBWixZQUFZOzsyRkFBWixZQUFZO2tCQUh4QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxVQUFVO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnYXJyYXlPZk4nXG59KVxuZXhwb3J0IGNsYXNzIEFycmF5T2ZOUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIC8qKlxuICAgKiBcbiAgICogQHBhcmFtIG4gdGhlIG51bWJlciB0byBtYWtlIGFuIGFycmF5IG9mIFxuICAgKiBAcGFyYW0gbWF4IHRoZSBtYXggbGVuZ3RoIG9mIHRoZSBhcnJheSAodXNlZnVsIGZvciBsaW1pdGluZyByZW5kZXJpbmcgaW4gbmdGb3IgbG9vcClcbiAgICovXG4gIHRyYW5zZm9ybShuOiBudW1iZXIsIG1heDogbnVtYmVyKTogYW55IHtcbiAgICBjb25zdCBsZW5ndGggPSAoKG1heCAmJiBtYXggPCBuKSB8fCBuID09PSBJbmZpbml0eSkgPyBtYXggOiBuO1xuICAgIHJldHVybiBuZXcgQXJyYXkobGVuZ3RoKS5maWxsKGxlbmd0aCkubWFwKCh4LGkpPT4gaSk7IFxuICB9XG5cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './array-of-n.pipe';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ludGVyYWN0L3NyYy9saWIvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXJyYXktb2Ytbi5waXBlJzsiXX0=