@clr/angular 15.0.0-beta.1 → 15.0.0-beta.3

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 (119) hide show
  1. package/clarity.api.md +158 -489
  2. package/clr-angular.module.d.ts +12 -15
  3. package/data/datagrid/datagrid-column.d.ts +1 -22
  4. package/data/datagrid/datagrid-pagination.d.ts +2 -2
  5. package/data/datagrid/datagrid.module.d.ts +13 -13
  6. package/data/stack-view/index.d.ts +0 -2
  7. package/data/stack-view/stack-block.d.ts +1 -17
  8. package/data/stack-view/stack-view.d.ts +1 -11
  9. package/data/stack-view/stack-view.module.d.ts +5 -7
  10. package/data/tree-view/tree-node.d.ts +6 -6
  11. package/esm2020/accordion/accordion-panel.mjs +3 -3
  12. package/esm2020/accordion/stepper/stepper-panel.mjs +3 -3
  13. package/esm2020/clr-angular.module.mjs +1 -13
  14. package/esm2020/data/datagrid/datagrid-action-overflow.mjs +10 -10
  15. package/esm2020/data/datagrid/datagrid-column-separator.mjs +16 -15
  16. package/esm2020/data/datagrid/datagrid-column-toggle.mjs +18 -20
  17. package/esm2020/data/datagrid/datagrid-column.mjs +2 -48
  18. package/esm2020/data/datagrid/datagrid-detail.mjs +8 -6
  19. package/esm2020/data/datagrid/datagrid-filter.mjs +10 -10
  20. package/esm2020/data/datagrid/datagrid-pagination.mjs +10 -5
  21. package/esm2020/data/datagrid/datagrid-row-detail.mjs +7 -8
  22. package/esm2020/data/datagrid/datagrid-row.mjs +3 -3
  23. package/esm2020/data/datagrid/datagrid.module.mjs +9 -9
  24. package/esm2020/data/stack-view/index.mjs +1 -3
  25. package/esm2020/data/stack-view/stack-block.mjs +2 -8
  26. package/esm2020/data/stack-view/stack-header.mjs +2 -23
  27. package/esm2020/data/stack-view/stack-view.mjs +4 -28
  28. package/esm2020/data/stack-view/stack-view.module.mjs +3 -23
  29. package/esm2020/data/tree-view/tree-node.mjs +30 -26
  30. package/esm2020/forms/datepicker/date-container.mjs +9 -9
  31. package/esm2020/forms/datepicker/datepicker.module.mjs +5 -5
  32. package/esm2020/layout/nav/nav-level.mjs +23 -10
  33. package/esm2020/layout/vertical-nav/vertical-nav-group.mjs +3 -7
  34. package/esm2020/modal/modal.mjs +8 -19
  35. package/esm2020/modal/modal.module.mjs +5 -5
  36. package/esm2020/popover/dropdown/dropdown-item.mjs +30 -33
  37. package/esm2020/utils/cdk/cdk-drag.module.mjs +37 -0
  38. package/esm2020/utils/cdk/cdk-trap-focus.module.mjs +37 -0
  39. package/esm2020/utils/i18n/common-strings.default.mjs +2 -3
  40. package/esm2020/utils/i18n/common-strings.interface.mjs +1 -1
  41. package/esm2020/utils/index.mjs +1 -5
  42. package/esm2020/wizard/wizard.mjs +6 -30
  43. package/fesm2015/clr-angular.mjs +259 -1990
  44. package/fesm2015/clr-angular.mjs.map +1 -1
  45. package/fesm2020/clr-angular.mjs +306 -2033
  46. package/fesm2020/clr-angular.mjs.map +1 -1
  47. package/forms/datepicker/datepicker.module.d.ts +6 -6
  48. package/layout/nav/nav-level.d.ts +12 -4
  49. package/layout/vertical-nav/vertical-nav-group.d.ts +1 -2
  50. package/modal/modal.d.ts +1 -4
  51. package/modal/modal.module.d.ts +3 -3
  52. package/package.json +2 -1
  53. package/popover/dropdown/dropdown-item.d.ts +7 -13
  54. package/src/utils/popover/README.md +1 -1
  55. package/utils/cdk/cdk-drag.module.d.ts +17 -0
  56. package/utils/cdk/cdk-trap-focus.module.d.ts +17 -0
  57. package/utils/i18n/common-strings.interface.d.ts +0 -17
  58. package/utils/index.d.ts +0 -4
  59. package/wizard/wizard.d.ts +2 -13
  60. package/data/stack-view/stack-control.d.ts +0 -16
  61. package/data/stack-view/stack-input.d.ts +0 -10
  62. package/data/stack-view/stack-select.d.ts +0 -9
  63. package/esm2020/data/stack-view/stack-control.mjs +0 -34
  64. package/esm2020/data/stack-view/stack-input.mjs +0 -42
  65. package/esm2020/data/stack-view/stack-select.mjs +0 -48
  66. package/esm2020/utils/a11y/aria-live.service.mjs +0 -163
  67. package/esm2020/utils/a11y/index.mjs +0 -7
  68. package/esm2020/utils/drag-and-drop/drag-and-drop.module.mjs +0 -42
  69. package/esm2020/utils/drag-and-drop/drag-event.mjs +0 -16
  70. package/esm2020/utils/drag-and-drop/drag-handle.mjs +0 -35
  71. package/esm2020/utils/drag-and-drop/draggable/draggable.mjs +0 -135
  72. package/esm2020/utils/drag-and-drop/draggable-ghost.mjs +0 -124
  73. package/esm2020/utils/drag-and-drop/droppable/droppable.mjs +0 -222
  74. package/esm2020/utils/drag-and-drop/if-dragged.mjs +0 -47
  75. package/esm2020/utils/drag-and-drop/index.mjs +0 -14
  76. package/esm2020/utils/drag-and-drop/interfaces/drag-event.interface.mjs +0 -15
  77. package/esm2020/utils/drag-and-drop/interfaces/drop-tolerance.interface.mjs +0 -7
  78. package/esm2020/utils/drag-and-drop/providers/drag-and-drop-event-bus.service.mjs +0 -54
  79. package/esm2020/utils/drag-and-drop/providers/drag-event-listener.service.mjs +0 -179
  80. package/esm2020/utils/drag-and-drop/providers/drag-handle-registrar.service.mjs +0 -60
  81. package/esm2020/utils/drag-and-drop/providers/draggable-snapshot.service.mjs +0 -38
  82. package/esm2020/utils/drag-and-drop/providers/global-drag-mode.service.mjs +0 -26
  83. package/esm2020/utils/focus-trap/focus-trap-config.interface.mjs +0 -7
  84. package/esm2020/utils/focus-trap/focus-trap-tracker.service.mjs +0 -32
  85. package/esm2020/utils/focus-trap/focus-trap.directive.mjs +0 -158
  86. package/esm2020/utils/focus-trap/focus-trap.mjs +0 -141
  87. package/esm2020/utils/focus-trap/focus-trap.module.mjs +0 -24
  88. package/esm2020/utils/focus-trap/index.mjs +0 -9
  89. package/esm2020/utils/for-type-ahead/for-type-ahead.mjs +0 -54
  90. package/esm2020/utils/for-type-ahead/for-type-ahead.module.mjs +0 -23
  91. package/esm2020/utils/for-type-ahead/for-type-ahead.service.mjs +0 -29
  92. package/esm2020/utils/for-type-ahead/index.mjs +0 -8
  93. package/utils/a11y/aria-live.service.d.ts +0 -93
  94. package/utils/a11y/index.d.ts +0 -1
  95. package/utils/drag-and-drop/drag-and-drop.module.d.ts +0 -14
  96. package/utils/drag-and-drop/drag-event.d.ts +0 -8
  97. package/utils/drag-and-drop/drag-handle.d.ts +0 -11
  98. package/utils/drag-and-drop/draggable/draggable.d.ts +0 -36
  99. package/utils/drag-and-drop/draggable-ghost.d.ts +0 -30
  100. package/utils/drag-and-drop/droppable/droppable.d.ts +0 -42
  101. package/utils/drag-and-drop/if-dragged.d.ts +0 -13
  102. package/utils/drag-and-drop/index.d.ts +0 -8
  103. package/utils/drag-and-drop/interfaces/drag-event.interface.d.ts +0 -22
  104. package/utils/drag-and-drop/interfaces/drop-tolerance.interface.d.ts +0 -6
  105. package/utils/drag-and-drop/providers/drag-and-drop-event-bus.service.d.ts +0 -16
  106. package/utils/drag-and-drop/providers/drag-event-listener.service.d.ts +0 -39
  107. package/utils/drag-and-drop/providers/drag-handle-registrar.service.d.ts +0 -18
  108. package/utils/drag-and-drop/providers/draggable-snapshot.service.d.ts +0 -16
  109. package/utils/drag-and-drop/providers/global-drag-mode.service.d.ts +0 -10
  110. package/utils/focus-trap/focus-trap-config.interface.d.ts +0 -3
  111. package/utils/focus-trap/focus-trap-tracker.service.d.ts +0 -12
  112. package/utils/focus-trap/focus-trap.d.ts +0 -29
  113. package/utils/focus-trap/focus-trap.directive.d.ts +0 -38
  114. package/utils/focus-trap/focus-trap.module.d.ts +0 -10
  115. package/utils/focus-trap/index.d.ts +0 -3
  116. package/utils/for-type-ahead/for-type-ahead.d.ts +0 -15
  117. package/utils/for-type-ahead/for-type-ahead.module.d.ts +0 -8
  118. package/utils/for-type-ahead/for-type-ahead.service.d.ts +0 -11
  119. package/utils/for-type-ahead/index.d.ts +0 -2
@@ -1,222 +0,0 @@
1
- /*
2
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- import { Directive, EventEmitter, Input, Output } from '@angular/core';
7
- import { DomAdapter } from '../../dom-adapter/dom-adapter';
8
- import { ClrDragEvent } from '../drag-event';
9
- import { DragEventType } from '../interfaces/drag-event.interface';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../providers/drag-and-drop-event-bus.service";
12
- import * as i2 from "../../dom-adapter/dom-adapter";
13
- export class ClrDroppable {
14
- constructor(el, eventBus, domAdapter, renderer) {
15
- this.el = el;
16
- this.eventBus = eventBus;
17
- this.domAdapter = domAdapter;
18
- this.renderer = renderer;
19
- this.isDraggableMatch = false;
20
- this._isDraggableOver = false;
21
- this._dropTolerance = { top: 0, right: 0, bottom: 0, left: 0 };
22
- this.dragStartEmitter = new EventEmitter();
23
- this.dragMoveEmitter = new EventEmitter();
24
- this.dragEndEmitter = new EventEmitter();
25
- this.dragLeaveEmitter = new EventEmitter();
26
- this.dragEnterEmitter = new EventEmitter();
27
- this.dropEmitter = new EventEmitter();
28
- this.droppableEl = this.el.nativeElement;
29
- }
30
- set isDraggableOver(value) {
31
- // We need to add/remove this draggable-over class via Renderer2
32
- // because isDraggableOver is set outside of NgZone.
33
- if (value) {
34
- this.renderer.addClass(this.droppableEl, 'draggable-over');
35
- }
36
- else {
37
- this.renderer.removeClass(this.droppableEl, 'draggable-over');
38
- }
39
- this._isDraggableOver = value;
40
- }
41
- set group(value) {
42
- this._group = value;
43
- }
44
- dropToleranceGenerator(top = 0, right = top, bottom = top, left = right) {
45
- return { top, right, bottom, left };
46
- }
47
- set dropTolerance(value) {
48
- // If user provides an object here and wants to manipulate/update properties individually,
49
- // the object must be immutable as we generate new object based user's given object.
50
- if (typeof value === 'number') {
51
- this._dropTolerance = this.dropToleranceGenerator(value);
52
- }
53
- else if (typeof value === 'string') {
54
- const toleranceValues = value
55
- .trim()
56
- .split(/\s+/)
57
- .map(tolerance => parseInt(tolerance, 10));
58
- this._dropTolerance = this.dropToleranceGenerator(...toleranceValues);
59
- }
60
- else if (value) {
61
- // The value could be passed in as {left: 20, top: 30 }
62
- // In this case, the rest of the direction properties should be 0.
63
- // That's why we initialize properties with 0 first, then override with user's given value.
64
- this._dropTolerance = { ...this.dropToleranceGenerator(0), ...value };
65
- }
66
- }
67
- unsubscribeFrom(subscription) {
68
- if (subscription) {
69
- subscription.unsubscribe();
70
- }
71
- }
72
- checkGroupMatch(draggableGroup) {
73
- // Both Draggable and Droppable have clrGroup input.
74
- // The clrGroup input can be both a string key or array of string keys in Draggable and Droppable.
75
- // It's not match if Draggable has no defined value assigned to clrGroup, but Droppable has a defined clrGroup.
76
- if (!draggableGroup && this._group) {
77
- return false;
78
- }
79
- // The same is true the other way round.
80
- if (!this._group && draggableGroup) {
81
- return false;
82
- }
83
- // It's match if both Draggable and Droppable have no assigned value for clrGroup.
84
- if (!this._group && !draggableGroup) {
85
- return true;
86
- }
87
- // It's match if both Draggable and Droppable have simple string keys that are matching.
88
- // It's match if Draggable's simple clrGroup key is matching with one of the clrGroup keys of Droppable. The
89
- // same is true the other way round.
90
- // it's match if one of the clrGroup keys of Droppable is matching with one of the clrGroup keys of Draggable.
91
- if (typeof draggableGroup === 'string') {
92
- if (typeof this._group === 'string') {
93
- return this._group === draggableGroup;
94
- }
95
- else {
96
- return this._group.indexOf(draggableGroup) > -1;
97
- }
98
- }
99
- else {
100
- if (typeof this._group === 'string') {
101
- return draggableGroup.indexOf(this._group) > -1;
102
- }
103
- else {
104
- return this._group.some(groupKey => draggableGroup.indexOf(groupKey) > -1);
105
- }
106
- }
107
- }
108
- isInDropArea(point) {
109
- if (!point) {
110
- return false;
111
- }
112
- if (!this.clientRect) {
113
- this.clientRect = this.domAdapter.clientRect(this.droppableEl);
114
- }
115
- if (point.pageX >= this.clientRect.left - this._dropTolerance.left &&
116
- point.pageX <= this.clientRect.right + this._dropTolerance.right &&
117
- point.pageY >= this.clientRect.top - this._dropTolerance.top &&
118
- point.pageY <= this.clientRect.bottom + this._dropTolerance.bottom) {
119
- return true;
120
- }
121
- else {
122
- return false;
123
- }
124
- }
125
- onDragStart(dragStartEvent) {
126
- // Check draggable and droppable have a matching group key.
127
- this.isDraggableMatch = this.checkGroupMatch(dragStartEvent.group);
128
- // Subscribe to dragMoved and dragEnded only if draggable and droppable have a matching group key.
129
- if (this.isDraggableMatch) {
130
- this.dragStartEmitter.emit(new ClrDragEvent(dragStartEvent));
131
- this.dragMoveSubscription = this.eventBus.dragMoved.subscribe((dragMoveEvent) => {
132
- this.onDragMove(dragMoveEvent);
133
- });
134
- this.dragEndSubscription = this.eventBus.dragEnded.subscribe((dragEndEvent) => {
135
- this.onDragEnd(dragEndEvent);
136
- });
137
- }
138
- }
139
- onDragMove(dragMoveEvent) {
140
- const isInDropArea = this.isInDropArea(dragMoveEvent.dropPointPosition);
141
- if (!this._isDraggableOver && isInDropArea) {
142
- this.isDraggableOver = true;
143
- const dragEnterEvent = { ...dragMoveEvent, type: DragEventType.DRAG_ENTER };
144
- this.eventBus.broadcast(dragEnterEvent);
145
- this.dragEnterEmitter.emit(new ClrDragEvent(dragEnterEvent));
146
- }
147
- else if (this._isDraggableOver && !isInDropArea) {
148
- this.isDraggableOver = false;
149
- const dragLeaveEvent = { ...dragMoveEvent, type: DragEventType.DRAG_LEAVE };
150
- this.eventBus.broadcast(dragLeaveEvent);
151
- this.dragLeaveEmitter.emit(new ClrDragEvent(dragLeaveEvent));
152
- }
153
- this.dragMoveEmitter.emit(new ClrDragEvent(dragMoveEvent));
154
- }
155
- onDragEnd(dragEndEvent) {
156
- if (this._isDraggableOver) {
157
- if (dragEndEvent.ghostElement) {
158
- // By this point, the draggable ghost component is destroyed,
159
- // but the element would be active until its animation completes.
160
- // As such, once the ghost is dropped over, we will give it "dropped" class.
161
- // This process cannot be done in the ghost component
162
- // because any subscription to the drop event is ineffective or invalid
163
- // as the component had been already destroyed.
164
- this.renderer.addClass(dragEndEvent.ghostElement, 'dropped');
165
- }
166
- const dropEvent = { ...dragEndEvent, type: DragEventType.DROP };
167
- this.eventBus.broadcast(dropEvent);
168
- this.dropEmitter.emit(new ClrDragEvent(dropEvent));
169
- this.isDraggableOver = false;
170
- }
171
- this.dragEndEmitter.emit(new ClrDragEvent(dragEndEvent));
172
- this.unsubscribeFrom(this.dragMoveSubscription);
173
- this.unsubscribeFrom(this.dragEndSubscription);
174
- this.isDraggableMatch = false;
175
- delete this.clientRect;
176
- }
177
- ngOnInit() {
178
- this.dragStartSubscription = this.eventBus.dragStarted.subscribe((dragStartEvent) => {
179
- this.onDragStart(dragStartEvent);
180
- });
181
- }
182
- ngOnDestroy() {
183
- this.unsubscribeFrom(this.dragStartSubscription);
184
- this.unsubscribeFrom(this.dragMoveSubscription);
185
- this.unsubscribeFrom(this.dragEndSubscription);
186
- }
187
- }
188
- ClrDroppable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrDroppable, deps: [{ token: i0.ElementRef }, { token: i1.DragAndDropEventBusService }, { token: i2.DomAdapter }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
189
- ClrDroppable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: ClrDroppable, selector: "[clrDroppable]", inputs: { group: ["clrGroup", "group"], dropTolerance: ["clrDropTolerance", "dropTolerance"] }, outputs: { dragStartEmitter: "clrDragStart", dragMoveEmitter: "clrDragMove", dragEndEmitter: "clrDragEnd", dragLeaveEmitter: "clrDragLeave", dragEnterEmitter: "clrDragEnter", dropEmitter: "clrDrop" }, host: { properties: { "class.droppable": "true", "class.draggable-match": "isDraggableMatch" } }, providers: [DomAdapter], ngImport: i0 });
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrDroppable, decorators: [{
191
- type: Directive,
192
- args: [{
193
- selector: '[clrDroppable]',
194
- providers: [DomAdapter],
195
- host: { '[class.droppable]': 'true', '[class.draggable-match]': 'isDraggableMatch' },
196
- }]
197
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DragAndDropEventBusService }, { type: i2.DomAdapter }, { type: i0.Renderer2 }]; }, propDecorators: { group: [{
198
- type: Input,
199
- args: ['clrGroup']
200
- }], dropTolerance: [{
201
- type: Input,
202
- args: ['clrDropTolerance']
203
- }], dragStartEmitter: [{
204
- type: Output,
205
- args: ['clrDragStart']
206
- }], dragMoveEmitter: [{
207
- type: Output,
208
- args: ['clrDragMove']
209
- }], dragEndEmitter: [{
210
- type: Output,
211
- args: ['clrDragEnd']
212
- }], dragLeaveEmitter: [{
213
- type: Output,
214
- args: ['clrDragLeave']
215
- }], dragEnterEmitter: [{
216
- type: Output,
217
- args: ['clrDragEnter']
218
- }], dropEmitter: [{
219
- type: Output,
220
- args: ['clrDrop']
221
- }] } });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHBhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvZHJhZy1hbmQtZHJvcC9kcm9wcGFibGUvZHJvcHBhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUdqSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQXNCLGFBQWEsRUFBcUIsTUFBTSxvQ0FBb0MsQ0FBQzs7OztBQVMxRyxNQUFNLE9BQU8sWUFBWTtJQVF2QixZQUNVLEVBQWMsRUFDZCxRQUF1QyxFQUN2QyxVQUFzQixFQUN0QixRQUFtQjtRQUhuQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBK0I7UUFDdkMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBSzdCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUNqQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFvQnpCLG1CQUFjLEdBQThCLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBMEJyRSxxQkFBZ0IsR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0RSxvQkFBZSxHQUFrQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JFLG1CQUFjLEdBQWtDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakUscUJBQWdCLEdBQWtDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckUscUJBQWdCLEdBQWtD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QUMsa0JBQWtCO2dCQW9CRCxnQkFBZ0I7c0JBQXZDLE1BQU07dUJBQUMsY0FBYztnQkFDQyxlQUFlO3NCQUFyQyxNQUFNO3VCQUFDLGFBQWE7Z0JBQ0MsY0FBYztzQkFBbkMsTUFBTTt1QkFBQyxZQUFZO2dCQUNJLGdCQUFnQjtzQkFBdkMsTUFBTTt1QkFBQyxjQUFjO2dCQUNFLGdCQUFnQjtzQkFBdkMsTUFBTTt1QkFBQyxjQUFjO2dCQUNILFdBQVc7c0JBQTdCLE1BQU07dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEb21BZGFwdGVyIH0gZnJvbSAnLi4vLi4vZG9tLWFkYXB0ZXIvZG9tLWFkYXB0ZXInO1xuaW1wb3J0IHsgQ2xyRHJhZ0V2ZW50IH0gZnJvbSAnLi4vZHJhZy1ldmVudCc7XG5pbXBvcnQgeyBEcmFnRXZlbnRJbnRlcmZhY2UsIERyYWdFdmVudFR5cGUsIERyYWdQb2ludFBvc2l0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9kcmFnLWV2ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbHJEcm9wVG9sZXJhbmNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9kcm9wLXRvbGVyYW5jZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRHJhZ0FuZERyb3BFdmVudEJ1c1NlcnZpY2UgfSBmcm9tICcuLi9wcm92aWRlcnMvZHJhZy1hbmQtZHJvcC1ldmVudC1idXMuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJEcm9wcGFibGVdJyxcbiAgcHJvdmlkZXJzOiBbRG9tQWRhcHRlcl0sXG4gIGhvc3Q6IHsgJ1tjbGFzcy5kcm9wcGFibGVdJzogJ3RydWUnLCAnW2NsYXNzLmRyYWdnYWJsZS1tYXRjaF0nOiAnaXNEcmFnZ2FibGVNYXRjaCcgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyRHJvcHBhYmxlPFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGRyYWdTdGFydFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGRyYWdNb3ZlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZHJhZ0VuZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgZHJvcHBhYmxlRWw6IGFueTtcbiAgcHJpdmF0ZSBjbGllbnRSZWN0OiBDbGllbnRSZWN0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBldmVudEJ1czogRHJhZ0FuZERyb3BFdmVudEJ1c1NlcnZpY2U8VD4sXG4gICAgcHJpdmF0ZSBkb21BZGFwdGVyOiBEb21BZGFwdGVyLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHtcbiAgICB0aGlzLmRyb3BwYWJsZUVsID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgaXNEcmFnZ2FibGVNYXRjaCA9IGZhbHNlO1xuICBwcml2YXRlIF9pc0RyYWdnYWJsZU92ZXIgPSBmYWxzZTtcblxuICBzZXQgaXNEcmFnZ2FibGVPdmVyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgLy8gV2UgbmVlZCB0byBhZGQvcmVtb3ZlIHRoaXMgZHJhZ2dhYmxlLW92ZXIgY2xhc3MgdmlhIFJlbmRlcmVyMlxuICAgIC8vIGJlY2F1c2UgaXNEcmFnZ2FibGVPdmVyIGlzIHNldCBvdXRzaWRlIG9mIE5nWm9uZS5cbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5kcm9wcGFibGVFbCwgJ2RyYWdnYWJsZS1vdmVyJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5kcm9wcGFibGVFbCwgJ2RyYWdnYWJsZS1vdmVyJyk7XG4gICAgfVxuICAgIHRoaXMuX2lzRHJhZ2dhYmxlT3ZlciA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ3JvdXA6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIEBJbnB1dCgnY2xyR3JvdXAnKVxuICBzZXQgZ3JvdXAodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5fZ3JvdXAgPSB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2Ryb3BUb2xlcmFuY2U6IENsckRyb3BUb2xlcmFuY2VJbnRlcmZhY2UgPSB7IHRvcDogMCwgcmlnaHQ6IDAsIGJvdHRvbTogMCwgbGVmdDogMCB9O1xuXG4gIHByaXZhdGUgZHJvcFRvbGVyYW5jZUdlbmVyYXRvcih0b3AgPSAwLCByaWdodCA9IHRvcCwgYm90dG9tID0gdG9wLCBsZWZ0ID0gcmlnaHQpOiBDbHJEcm9wVG9sZXJhbmNlSW50ZXJmYWNlIHtcbiAgICByZXR1cm4geyB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQgfTtcbiAgfVxuXG4gIEBJbnB1dCgnY2xyRHJvcFRvbGVyYW5jZScpXG4gIHNldCBkcm9wVG9sZXJhbmNlKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcgfCBDbHJEcm9wVG9sZXJhbmNlSW50ZXJmYWNlKSB7XG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhbiBvYmplY3QgaGVyZSBhbmQgd2FudHMgdG8gbWFuaXB1bGF0ZS91cGRhdGUgcHJvcGVydGllcyBpbmRpdmlkdWFsbHksXG4gICAgLy8gdGhlIG9iamVjdCBtdXN0IGJlIGltbXV0YWJsZSBhcyB3ZSBnZW5lcmF0ZSBuZXcgb2JqZWN0IGJhc2VkIHVzZXIncyBnaXZlbiBvYmplY3QuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRoaXMuX2Ryb3BUb2xlcmFuY2UgPSB0aGlzLmRyb3BUb2xlcmFuY2VHZW5lcmF0b3IodmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgdG9sZXJhbmNlVmFsdWVzID0gdmFsdWVcbiAgICAgICAgLnRyaW0oKVxuICAgICAgICAuc3BsaXQoL1xccysvKVxuICAgICAgICAubWFwKHRvbGVyYW5jZSA9PiBwYXJzZUludCh0b2xlcmFuY2UsIDEwKSk7XG4gICAgICB0aGlzLl9kcm9wVG9sZXJhbmNlID0gdGhpcy5kcm9wVG9sZXJhbmNlR2VuZXJhdG9yKC4uLnRvbGVyYW5jZVZhbHVlcyk7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSkge1xuICAgICAgLy8gVGhlIHZhbHVlIGNvdWxkIGJlIHBhc3NlZCBpbiBhcyB7bGVmdDogMjAsIHRvcDogMzAgfVxuICAgICAgLy8gSW4gdGhpcyBjYXNlLCB0aGUgcmVzdCBvZiB0aGUgZGlyZWN0aW9uIHByb3BlcnRpZXMgc2hvdWxkIGJlIDAuXG4gICAgICAvLyBUaGF0J3Mgd2h5IHdlIGluaXRpYWxpemUgcHJvcGVydGllcyB3aXRoIDAgZmlyc3QsIHRoZW4gb3ZlcnJpZGUgd2l0aCB1c2VyJ3MgZ2l2ZW4gdmFsdWUuXG4gICAgICB0aGlzLl9kcm9wVG9sZXJhbmNlID0geyAuLi50aGlzLmRyb3BUb2xlcmFuY2VHZW5lcmF0b3IoMCksIC4uLnZhbHVlIH07XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgnY2xyRHJhZ1N0YXJ0JykgZHJhZ1N0YXJ0RW1pdHRlcjogRXZlbnRFbWl0dGVyPENsckRyYWdFdmVudDxUPj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoJ2NsckRyYWdNb3ZlJykgZHJhZ01vdmVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2xyRHJhZ0V2ZW50PFQ+PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgnY2xyRHJhZ0VuZCcpIGRyYWdFbmRFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2xyRHJhZ0V2ZW50PFQ+PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgnY2xyRHJhZ0xlYXZlJykgZHJhZ0xlYXZlRW1pdHRlcjogRXZlbnRFbWl0dGVyPENsckRyYWdFdmVudDxUPj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoJ2NsckRyYWdFbnRlcicpIGRyYWdFbnRlckVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDbHJEcmFnRXZlbnQ8VD4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCdjbHJEcm9wJykgZHJvcEVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDbHJEcmFnRXZlbnQ8VD4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVGcm9tKHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uKTogdm9pZCB7XG4gICAgaWYgKHN1YnNjcmlwdGlvbikge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0dyb3VwTWF0Y2goZHJhZ2dhYmxlR3JvdXA6IHN0cmluZyB8IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgLy8gQm90aCBEcmFnZ2FibGUgYW5kIERyb3BwYWJsZSBoYXZlIGNsckdyb3VwIGlucHV0LlxuICAgIC8vIFRoZSBjbHJHcm91cCBpbnB1dCBjYW4gYmUgYm90aCBhIHN0cmluZyBrZXkgb3IgYXJyYXkgb2Ygc3RyaW5nIGtleXMgaW4gRHJhZ2dhYmxlIGFuZCBEcm9wcGFibGUuXG5cbiAgICAvLyBJdCdzIG5vdCBtYXRjaCBpZiBEcmFnZ2FibGUgaGFzIG5vIGRlZmluZWQgdmFsdWUgYXNzaWduZWQgdG8gY2xyR3JvdXAsIGJ1dCBEcm9wcGFibGUgaGFzIGEgZGVmaW5lZCBjbHJHcm91cC5cbiAgICBpZiAoIWRyYWdnYWJsZUdyb3VwICYmIHRoaXMuX2dyb3VwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIFRoZSBzYW1lIGlzIHRydWUgdGhlIG90aGVyIHdheSByb3VuZC5cbiAgICBpZiAoIXRoaXMuX2dyb3VwICYmIGRyYWdnYWJsZUdyb3VwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gSXQncyBtYXRjaCBpZiBib3RoIERyYWdnYWJsZSBhbmQgRHJvcHBhYmxlIGhhdmUgbm8gYXNzaWduZWQgdmFsdWUgZm9yIGNsckdyb3VwLlxuICAgIGlmICghdGhpcy5fZ3JvdXAgJiYgIWRyYWdnYWJsZUdyb3VwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBJdCdzIG1hdGNoIGlmIGJvdGggRHJhZ2dhYmxlIGFuZCBEcm9wcGFibGUgaGF2ZSBzaW1wbGUgc3RyaW5nIGtleXMgdGhhdCBhcmUgbWF0Y2hpbmcuXG4gICAgLy8gSXQncyBtYXRjaCBpZiBEcmFnZ2FibGUncyBzaW1wbGUgY2xyR3JvdXAga2V5IGlzIG1hdGNoaW5nIHdpdGggb25lIG9mIHRoZSBjbHJHcm91cCBrZXlzIG9mIERyb3BwYWJsZS4gVGhlXG4gICAgLy8gc2FtZSBpcyB0cnVlIHRoZSBvdGhlciB3YXkgcm91bmQuXG4gICAgLy8gaXQncyBtYXRjaCBpZiBvbmUgb2YgdGhlIGNsckdyb3VwIGtleXMgb2YgRHJvcHBhYmxlIGlzIG1hdGNoaW5nIHdpdGggb25lIG9mIHRoZSBjbHJHcm91cCBrZXlzIG9mIERyYWdnYWJsZS5cbiAgICBpZiAodHlwZW9mIGRyYWdnYWJsZUdyb3VwID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLl9ncm91cCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dyb3VwID09PSBkcmFnZ2FibGVHcm91cDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ncm91cC5pbmRleE9mKGRyYWdnYWJsZUdyb3VwKSA+IC0xO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuX2dyb3VwID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gZHJhZ2dhYmxlR3JvdXAuaW5kZXhPZih0aGlzLl9ncm91cCkgPiAtMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAodGhpcy5fZ3JvdXAgYXMgc3RyaW5nW10pLnNvbWUoZ3JvdXBLZXkgPT4gZHJhZ2dhYmxlR3JvdXAuaW5kZXhPZihncm91cEtleSkgPiAtMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0luRHJvcEFyZWEocG9pbnQ6IERyYWdQb2ludFBvc2l0aW9uKTogYm9vbGVhbiB7XG4gICAgaWYgKCFwb2ludCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5jbGllbnRSZWN0KSB7XG4gICAgICB0aGlzLmNsaWVudFJlY3QgPSB0aGlzLmRvbUFkYXB0ZXIuY2xpZW50UmVjdCh0aGlzLmRyb3BwYWJsZUVsKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBwb2ludC5wYWdlWCA+PSB0aGlzLmNsaWVudFJlY3QubGVmdCAtIHRoaXMuX2Ryb3BUb2xlcmFuY2UubGVmdCAmJlxuICAgICAgcG9pbnQucGFnZVggPD0gdGhpcy5jbGllbnRSZWN0LnJpZ2h0ICsgdGhpcy5fZHJvcFRvbGVyYW5jZS5yaWdodCAmJlxuICAgICAgcG9pbnQucGFnZVkgPj0gdGhpcy5jbGllbnRSZWN0LnRvcCAtIHRoaXMuX2Ryb3BUb2xlcmFuY2UudG9wICYmXG4gICAgICBwb2ludC5wYWdlWSA8PSB0aGlzLmNsaWVudFJlY3QuYm90dG9tICsgdGhpcy5fZHJvcFRvbGVyYW5jZS5ib3R0b21cbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbkRyYWdTdGFydChkcmFnU3RhcnRFdmVudDogRHJhZ0V2ZW50SW50ZXJmYWNlPFQ+KTogdm9pZCB7XG4gICAgLy8gQ2hlY2sgZHJhZ2dhYmxlIGFuZCBkcm9wcGFibGUgaGF2ZSBhIG1hdGNoaW5nIGdyb3VwIGtleS5cbiAgICB0aGlzLmlzRHJhZ2dhYmxlTWF0Y2ggPSB0aGlzLmNoZWNrR3JvdXBNYXRjaChkcmFnU3RhcnRFdmVudC5ncm91cCk7XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gZHJhZ01vdmVkIGFuZCBkcmFnRW5kZWQgb25seSBpZiBkcmFnZ2FibGUgYW5kIGRyb3BwYWJsZSBoYXZlIGEgbWF0Y2hpbmcgZ3JvdXAga2V5LlxuICAgIGlmICh0aGlzLmlzRHJhZ2dhYmxlTWF0Y2gpIHtcbiAgICAgIHRoaXMuZHJhZ1N0YXJ0RW1pdHRlci5lbWl0KG5ldyBDbHJEcmFnRXZlbnQoZHJhZ1N0YXJ0RXZlbnQpKTtcbiAgICAgIHRoaXMuZHJhZ01vdmVTdWJzY3JpcHRpb24gPSB0aGlzLmV2ZW50QnVzLmRyYWdNb3ZlZC5zdWJzY3JpYmUoKGRyYWdNb3ZlRXZlbnQ6IERyYWdFdmVudEludGVyZmFjZTxUPikgPT4ge1xuICAgICAgICB0aGlzLm9uRHJhZ01vdmUoZHJhZ01vdmVFdmVudCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZHJhZ0VuZFN1YnNjcmlwdGlvbiA9IHRoaXMuZXZlbnRCdXMuZHJhZ0VuZGVkLnN1YnNjcmliZSgoZHJhZ0VuZEV2ZW50OiBEcmFnRXZlbnRJbnRlcmZhY2U8VD4pID0+IHtcbiAgICAgICAgdGhpcy5vbkRyYWdFbmQoZHJhZ0VuZEV2ZW50KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25EcmFnTW92ZShkcmFnTW92ZUV2ZW50OiBEcmFnRXZlbnRJbnRlcmZhY2U8VD4pOiB2b2lkIHtcbiAgICBjb25zdCBpc0luRHJvcEFyZWEgPSB0aGlzLmlzSW5Ecm9wQXJlYShkcmFnTW92ZUV2ZW50LmRyb3BQb2ludFBvc2l0aW9uKTtcbiAgICBpZiAoIXRoaXMuX2lzRHJhZ2dhYmxlT3ZlciAmJiBpc0luRHJvcEFyZWEpIHtcbiAgICAgIHRoaXMuaXNEcmFnZ2FibGVPdmVyID0gdHJ1ZTtcbiAgICAgIGNvbnN0IGRyYWdFbnRlckV2ZW50ID0geyAuLi5kcmFnTW92ZUV2ZW50LCB0eXBlOiBEcmFnRXZlbnRUeXBlLkRSQUdfRU5URVIgfTtcbiAgICAgIHRoaXMuZXZlbnRCdXMuYnJvYWRjYXN0KGRyYWdFbnRlckV2ZW50KTtcbiAgICAgIHRoaXMuZHJhZ0VudGVyRW1pdHRlci5lbWl0KG5ldyBDbHJEcmFnRXZlbnQoZHJhZ0VudGVyRXZlbnQpKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2lzRHJhZ2dhYmxlT3ZlciAmJiAhaXNJbkRyb3BBcmVhKSB7XG4gICAgICB0aGlzLmlzRHJhZ2dhYmxlT3ZlciA9IGZhbHNlO1xuICAgICAgY29uc3QgZHJhZ0xlYXZlRXZlbnQgPSB7IC4uLmRyYWdNb3ZlRXZlbnQsIHR5cGU6IERyYWdFdmVudFR5cGUuRFJBR19MRUFWRSB9O1xuICAgICAgdGhpcy5ldmVudEJ1cy5icm9hZGNhc3QoZHJhZ0xlYXZlRXZlbnQpO1xuICAgICAgdGhpcy5kcmFnTGVhdmVFbWl0dGVyLmVtaXQobmV3IENsckRyYWdFdmVudChkcmFnTGVhdmVFdmVudCkpO1xuICAgIH1cblxuICAgIHRoaXMuZHJhZ01vdmVFbWl0dGVyLmVtaXQobmV3IENsckRyYWdFdmVudChkcmFnTW92ZUV2ZW50KSk7XG4gIH1cblxuICBwcml2YXRlIG9uRHJhZ0VuZChkcmFnRW5kRXZlbnQ6IERyYWdFdmVudEludGVyZmFjZTxUPik6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc0RyYWdnYWJsZU92ZXIpIHtcbiAgICAgIGlmIChkcmFnRW5kRXZlbnQuZ2hvc3RFbGVtZW50KSB7XG4gICAgICAgIC8vIEJ5IHRoaXMgcG9pbnQsIHRoZSBkcmFnZ2FibGUgZ2hvc3QgY29tcG9uZW50IGlzIGRlc3Ryb3llZCxcbiAgICAgICAgLy8gYnV0IHRoZSBlbGVtZW50IHdvdWxkIGJlIGFjdGl2ZSB1bnRpbCBpdHMgYW5pbWF0aW9uIGNvbXBsZXRlcy5cbiAgICAgICAgLy8gQXMgc3VjaCwgb25jZSB0aGUgZ2hvc3QgaXMgZHJvcHBlZCBvdmVyLCB3ZSB3aWxsIGdpdmUgaXQgXCJkcm9wcGVkXCIgY2xhc3MuXG5cbiAgICAgICAgLy8gVGhpcyBwcm9jZXNzIGNhbm5vdCBiZSBkb25lIGluIHRoZSBnaG9zdCBjb21wb25lbnRcbiAgICAgICAgLy8gYmVjYXVzZSBhbnkgc3Vic2NyaXB0aW9uIHRvIHRoZSBkcm9wIGV2ZW50IGlzIGluZWZmZWN0aXZlIG9yIGludmFsaWRcbiAgICAgICAgLy8gYXMgdGhlIGNvbXBvbmVudCBoYWQgYmVlbiBhbHJlYWR5IGRlc3Ryb3llZC5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhkcmFnRW5kRXZlbnQuZ2hvc3RFbGVtZW50LCAnZHJvcHBlZCcpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkcm9wRXZlbnQgPSB7IC4uLmRyYWdFbmRFdmVudCwgdHlwZTogRHJhZ0V2ZW50VHlwZS5EUk9QIH07XG4gICAgICB0aGlzLmV2ZW50QnVzLmJyb2FkY2FzdChkcm9wRXZlbnQpO1xuICAgICAgdGhpcy5kcm9wRW1pdHRlci5lbWl0KG5ldyBDbHJEcmFnRXZlbnQoZHJvcEV2ZW50KSk7XG4gICAgICB0aGlzLmlzRHJhZ2dhYmxlT3ZlciA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmRyYWdFbmRFbWl0dGVyLmVtaXQobmV3IENsckRyYWdFdmVudChkcmFnRW5kRXZlbnQpKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlRnJvbSh0aGlzLmRyYWdNb3ZlU3Vic2NyaXB0aW9uKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlRnJvbSh0aGlzLmRyYWdFbmRTdWJzY3JpcHRpb24pO1xuICAgIHRoaXMuaXNEcmFnZ2FibGVNYXRjaCA9IGZhbHNlO1xuICAgIGRlbGV0ZSB0aGlzLmNsaWVudFJlY3Q7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRyYWdTdGFydFN1YnNjcmlwdGlvbiA9IHRoaXMuZXZlbnRCdXMuZHJhZ1N0YXJ0ZWQuc3Vic2NyaWJlKChkcmFnU3RhcnRFdmVudDogRHJhZ0V2ZW50SW50ZXJmYWNlPFQ+KSA9PiB7XG4gICAgICB0aGlzLm9uRHJhZ1N0YXJ0KGRyYWdTdGFydEV2ZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5zdWJzY3JpYmVGcm9tKHRoaXMuZHJhZ1N0YXJ0U3Vic2NyaXB0aW9uKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlRnJvbSh0aGlzLmRyYWdNb3ZlU3Vic2NyaXB0aW9uKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlRnJvbSh0aGlzLmRyYWdFbmRTdWJzY3JpcHRpb24pO1xuICB9XG59XG4iXX0=
@@ -1,47 +0,0 @@
1
- /*
2
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- import { Directive, Optional, SkipSelf } from '@angular/core';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./providers/drag-event-listener.service";
9
- // This structural directive will be used mainly together with `clr-draggable-ghost` directive inside of clrDraggable
10
- // directive. The directive is responsible for instantiating `clr-draggable-ghost` directive only during dragging so
11
- // that Angular Change Detection is prevented from running if a component or directive is placed inside of the
12
- // `clr-draggable-ghost` directive.
13
- export class ClrIfDragged {
14
- constructor(template, container, dragEventListener) {
15
- this.template = template;
16
- this.container = container;
17
- this.dragEventListener = dragEventListener;
18
- this.subscriptions = [];
19
- if (!this.dragEventListener || !this.container) {
20
- throw new Error('The *clrIfDragged directive can only be used inside of a clrDraggable directive.');
21
- }
22
- this.subscriptions.push(this.dragEventListener.dragStarted.subscribe(() => {
23
- this.container.createEmbeddedView(this.template);
24
- }));
25
- this.subscriptions.push(this.dragEventListener.dragEnded.subscribe(() => {
26
- this.container.clear();
27
- }));
28
- }
29
- ngOnDestroy() {
30
- this.subscriptions.forEach((sub) => sub.unsubscribe());
31
- }
32
- }
33
- ClrIfDragged.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrIfDragged, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef, optional: true, skipSelf: true }, { token: i1.DragEventListenerService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
34
- ClrIfDragged.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: ClrIfDragged, selector: "[clrIfDragged]", ngImport: i0 });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ClrIfDragged, decorators: [{
36
- type: Directive,
37
- args: [{
38
- selector: '[clrIfDragged]',
39
- }]
40
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef, decorators: [{
41
- type: Optional
42
- }, {
43
- type: SkipSelf
44
- }] }, { type: i1.DragEventListenerService, decorators: [{
45
- type: Optional
46
- }] }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtZHJhZ2dlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL2RyYWctYW5kLWRyb3AvaWYtZHJhZ2dlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBYSxRQUFRLEVBQUUsUUFBUSxFQUFpQyxNQUFNLGVBQWUsQ0FBQzs7O0FBS3hHLHFIQUFxSDtBQUNySCxvSEFBb0g7QUFDcEgsOEdBQThHO0FBQzlHLG1DQUFtQztBQUtuQyxNQUFNLE9BQU8sWUFBWTtJQUV2QixZQUNVLFFBQTBCLEVBRzFCLFNBQTJCLEVBQ2YsaUJBQThDO1FBSjFELGFBQVEsR0FBUixRQUFRLENBQWtCO1FBRzFCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ2Ysc0JBQWlCLEdBQWpCLGlCQUFpQixDQUE2QjtRQU41RCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFRekMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrRkFBa0YsQ0FBQyxDQUFDO1NBQ3JHO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNoRCxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM5QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBaUIsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7eUdBM0JVLFlBQVk7NkZBQVosWUFBWTsyRkFBWixZQUFZO2tCQUh4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCOzswQkFLSSxRQUFROzswQkFDUixRQUFROzswQkFFUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFNraXBTZWxmLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERyYWdFdmVudExpc3RlbmVyU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL2RyYWctZXZlbnQtbGlzdGVuZXIuc2VydmljZSc7XG5cbi8vIFRoaXMgc3RydWN0dXJhbCBkaXJlY3RpdmUgd2lsbCBiZSB1c2VkIG1haW5seSB0b2dldGhlciB3aXRoIGBjbHItZHJhZ2dhYmxlLWdob3N0YCBkaXJlY3RpdmUgaW5zaWRlIG9mIGNsckRyYWdnYWJsZVxuLy8gZGlyZWN0aXZlLiBUaGUgZGlyZWN0aXZlIGlzIHJlc3BvbnNpYmxlIGZvciBpbnN0YW50aWF0aW5nIGBjbHItZHJhZ2dhYmxlLWdob3N0YCBkaXJlY3RpdmUgb25seSBkdXJpbmcgZHJhZ2dpbmcgc29cbi8vIHRoYXQgQW5ndWxhciBDaGFuZ2UgRGV0ZWN0aW9uIGlzIHByZXZlbnRlZCBmcm9tIHJ1bm5pbmcgaWYgYSBjb21wb25lbnQgb3IgZGlyZWN0aXZlIGlzIHBsYWNlZCBpbnNpZGUgb2YgdGhlXG4vLyBgY2xyLWRyYWdnYWJsZS1naG9zdGAgZGlyZWN0aXZlLlxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2xySWZEcmFnZ2VkXScsXG59KVxuZXhwb3J0IGNsYXNzIENscklmRHJhZ2dlZDxUPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PixcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBTa2lwU2VsZigpXG4gICAgcHJpdmF0ZSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkcmFnRXZlbnRMaXN0ZW5lcjogRHJhZ0V2ZW50TGlzdGVuZXJTZXJ2aWNlPFQ+XG4gICkge1xuICAgIGlmICghdGhpcy5kcmFnRXZlbnRMaXN0ZW5lciB8fCAhdGhpcy5jb250YWluZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlICpjbHJJZkRyYWdnZWQgZGlyZWN0aXZlIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIG9mIGEgY2xyRHJhZ2dhYmxlIGRpcmVjdGl2ZS4nKTtcbiAgICB9XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuZHJhZ0V2ZW50TGlzdGVuZXIuZHJhZ1N0YXJ0ZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGUpO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5kcmFnRXZlbnRMaXN0ZW5lci5kcmFnRW5kZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jb250YWluZXIuY2xlYXIoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWI6IFN1YnNjcmlwdGlvbikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- /*
2
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- export * from './draggable/draggable';
7
- export * from './droppable/droppable';
8
- export * from './if-dragged';
9
- export * from './drag-handle';
10
- export * from './draggable-ghost';
11
- export * from './drag-event';
12
- export * from './interfaces/drop-tolerance.interface';
13
- export * from './drag-and-drop.module';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9kcmFnLWFuZC1kcm9wL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vZHJhZ2dhYmxlL2RyYWdnYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3BwYWJsZS9kcm9wcGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pZi1kcmFnZ2VkJztcbmV4cG9ydCAqIGZyb20gJy4vZHJhZy1oYW5kbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmFnZ2FibGUtZ2hvc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmFnLWV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9kcm9wLXRvbGVyYW5jZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmFnLWFuZC1kcm9wLm1vZHVsZSc7XG4iXX0=
@@ -1,15 +0,0 @@
1
- /*
2
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- export var DragEventType;
7
- (function (DragEventType) {
8
- DragEventType[DragEventType["DRAG_START"] = 0] = "DRAG_START";
9
- DragEventType[DragEventType["DRAG_MOVE"] = 1] = "DRAG_MOVE";
10
- DragEventType[DragEventType["DRAG_END"] = 2] = "DRAG_END";
11
- DragEventType[DragEventType["DRAG_ENTER"] = 3] = "DRAG_ENTER";
12
- DragEventType[DragEventType["DRAG_LEAVE"] = 4] = "DRAG_LEAVE";
13
- DragEventType[DragEventType["DROP"] = 5] = "DROP";
14
- })(DragEventType || (DragEventType = {}));
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1ldmVudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9kcmFnLWFuZC1kcm9wL2ludGVyZmFjZXMvZHJhZy1ldmVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE1BQU0sQ0FBTixJQUFZLGFBT1g7QUFQRCxXQUFZLGFBQWE7SUFDdkIsNkRBQVUsQ0FBQTtJQUNWLDJEQUFTLENBQUE7SUFDVCx5REFBUSxDQUFBO0lBQ1IsNkRBQVUsQ0FBQTtJQUNWLDZEQUFVLENBQUE7SUFDVixpREFBSSxDQUFBO0FBQ04sQ0FBQyxFQVBXLGFBQWEsS0FBYixhQUFhLFFBT3hCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5leHBvcnQgZW51bSBEcmFnRXZlbnRUeXBlIHtcbiAgRFJBR19TVEFSVCxcbiAgRFJBR19NT1ZFLFxuICBEUkFHX0VORCxcbiAgRFJBR19FTlRFUixcbiAgRFJBR19MRUFWRSxcbiAgRFJPUCxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEcmFnUG9pbnRQb3NpdGlvbiB7XG4gIHBhZ2VYOiBudW1iZXI7XG4gIHBhZ2VZOiBudW1iZXI7XG4gIG1vdmVYPzogbnVtYmVyO1xuICBtb3ZlWT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEcmFnRXZlbnRJbnRlcmZhY2U8VD4ge1xuICB0eXBlOiBEcmFnRXZlbnRUeXBlO1xuICBncm91cD86IHN0cmluZyB8IHN0cmluZ1tdO1xuICBnaG9zdEVsZW1lbnQ/OiBhbnk7XG4gIGRyYWdQb3NpdGlvbjogRHJhZ1BvaW50UG9zaXRpb247XG4gIGRyYWdEYXRhVHJhbnNmZXI/OiBUO1xuICAvLyBGb3IgZGVmYXVsdCBnaG9zdHMsIHRoaXMgZHJvcFBvaW50UG9zaXRpb24gZGVub3RlcyB0aGUgY2VudGVyIHBvaW50IG9mIHRoZSBnaG9zdCBlbGVtZW50LlxuICAvLyBUaGlzIGNlbnRlciBwb2ludCBpcyB1c2VkIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBnaG9zdCBpcyBvdmVyIGRyb3BwYWJsZSBlbGVtZW50cyBvciBub3QuXG4gIGRyb3BQb2ludFBvc2l0aW9uPzogRHJhZ1BvaW50UG9zaXRpb247XG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- /*
2
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- export {};
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC10b2xlcmFuY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvZHJhZy1hbmQtZHJvcC9pbnRlcmZhY2VzL2Ryb3AtdG9sZXJhbmNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIENsckRyb3BUb2xlcmFuY2VJbnRlcmZhY2Uge1xuICB0b3A/OiBudW1iZXI7XG4gIHJpZ2h0PzogbnVtYmVyO1xuICBib3R0b20/OiBudW1iZXI7XG4gIGxlZnQ/OiBudW1iZXI7XG59XG4iXX0=
@@ -1,54 +0,0 @@
1
- /*
2
- * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- import { Injectable } from '@angular/core';
7
- import { Subject } from 'rxjs';
8
- import { DragEventType } from '../interfaces/drag-event.interface';
9
- import * as i0 from "@angular/core";
10
- export class DragAndDropEventBusService {
11
- constructor() {
12
- this.dragStart = new Subject();
13
- this.dragMove = new Subject();
14
- this.dragEnd = new Subject();
15
- this.drop = new Subject();
16
- }
17
- get dragStarted() {
18
- return this.dragStart.asObservable();
19
- }
20
- get dragMoved() {
21
- return this.dragMove.asObservable();
22
- }
23
- get dragEnded() {
24
- return this.dragEnd.asObservable();
25
- }
26
- get dropped() {
27
- return this.drop.asObservable();
28
- }
29
- broadcast(event) {
30
- switch (event.type) {
31
- case DragEventType.DRAG_START:
32
- this.dragStart.next(event);
33
- break;
34
- case DragEventType.DRAG_MOVE:
35
- this.dragMove.next(event);
36
- break;
37
- case DragEventType.DRAG_END:
38
- this.dragEnd.next(event);
39
- break;
40
- case DragEventType.DROP:
41
- this.drop.next(event);
42
- break;
43
- default:
44
- break;
45
- }
46
- }
47
- }
48
- DragAndDropEventBusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DragAndDropEventBusService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
49
- DragAndDropEventBusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DragAndDropEventBusService, providedIn: 'root' });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DragAndDropEventBusService, decorators: [{
51
- type: Injectable,
52
- args: [{ providedIn: 'root' }]
53
- }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1ldmVudC1idXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL2RyYWctYW5kLWRyb3AvcHJvdmlkZXJzL2RyYWctYW5kLWRyb3AtZXZlbnQtYnVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQXNCLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUd2RixNQUFNLE9BQU8sMEJBQTBCO0lBRHZDO1FBRVUsY0FBUyxHQUFtQyxJQUFJLE9BQU8sRUFBeUIsQ0FBQztRQUNqRixhQUFRLEdBQW1DLElBQUksT0FBTyxFQUF5QixDQUFDO1FBQ2hGLFlBQU8sR0FBbUMsSUFBSSxPQUFPLEVBQXlCLENBQUM7UUFDL0UsU0FBSSxHQUFtQyxJQUFJLE9BQU8sRUFBeUIsQ0FBQztLQW9DckY7SUFsQ0MsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBNEI7UUFDcEMsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2xCLEtBQUssYUFBYSxDQUFDLFVBQVU7Z0JBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQixNQUFNO1lBQ1IsS0FBSyxhQUFhLENBQUMsU0FBUztnQkFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzFCLE1BQU07WUFDUixLQUFLLGFBQWEsQ0FBQyxRQUFRO2dCQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekIsTUFBTTtZQUNSLEtBQUssYUFBYSxDQUFDLElBQUk7Z0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0QixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtTQUNUO0lBQ0gsQ0FBQzs7dUhBdkNVLDBCQUEwQjsySEFBMUIsMEJBQTBCLGNBRGIsTUFBTTsyRkFDbkIsMEJBQTBCO2tCQUR0QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEcmFnRXZlbnRJbnRlcmZhY2UsIERyYWdFdmVudFR5cGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RyYWctZXZlbnQuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBEcmFnQW5kRHJvcEV2ZW50QnVzU2VydmljZTxUPiB7XG4gIHByaXZhdGUgZHJhZ1N0YXJ0OiBTdWJqZWN0PERyYWdFdmVudEludGVyZmFjZTxUPj4gPSBuZXcgU3ViamVjdDxEcmFnRXZlbnRJbnRlcmZhY2U8VD4+KCk7XG4gIHByaXZhdGUgZHJhZ01vdmU6IFN1YmplY3Q8RHJhZ0V2ZW50SW50ZXJmYWNlPFQ+PiA9IG5ldyBTdWJqZWN0PERyYWdFdmVudEludGVyZmFjZTxUPj4oKTtcbiAgcHJpdmF0ZSBkcmFnRW5kOiBTdWJqZWN0PERyYWdFdmVudEludGVyZmFjZTxUPj4gPSBuZXcgU3ViamVjdDxEcmFnRXZlbnRJbnRlcmZhY2U8VD4+KCk7XG4gIHByaXZhdGUgZHJvcDogU3ViamVjdDxEcmFnRXZlbnRJbnRlcmZhY2U8VD4+ID0gbmV3IFN1YmplY3Q8RHJhZ0V2ZW50SW50ZXJmYWNlPFQ+PigpO1xuXG4gIGdldCBkcmFnU3RhcnRlZCgpOiBPYnNlcnZhYmxlPERyYWdFdmVudEludGVyZmFjZTxUPj4ge1xuICAgIHJldHVybiB0aGlzLmRyYWdTdGFydC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBkcmFnTW92ZWQoKTogT2JzZXJ2YWJsZTxEcmFnRXZlbnRJbnRlcmZhY2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5kcmFnTW92ZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBkcmFnRW5kZWQoKTogT2JzZXJ2YWJsZTxEcmFnRXZlbnRJbnRlcmZhY2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5kcmFnRW5kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGRyb3BwZWQoKTogT2JzZXJ2YWJsZTxEcmFnRXZlbnRJbnRlcmZhY2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5kcm9wLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgYnJvYWRjYXN0KGV2ZW50OiBEcmFnRXZlbnRJbnRlcmZhY2U8VD4pOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgIGNhc2UgRHJhZ0V2ZW50VHlwZS5EUkFHX1NUQVJUOlxuICAgICAgICB0aGlzLmRyYWdTdGFydC5uZXh0KGV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERyYWdFdmVudFR5cGUuRFJBR19NT1ZFOlxuICAgICAgICB0aGlzLmRyYWdNb3ZlLm5leHQoZXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRHJhZ0V2ZW50VHlwZS5EUkFHX0VORDpcbiAgICAgICAgdGhpcy5kcmFnRW5kLm5leHQoZXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRHJhZ0V2ZW50VHlwZS5EUk9QOlxuICAgICAgICB0aGlzLmRyb3AubmV4dChldmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iXX0=