@hmcts/media-viewer 3.0.3 → 4.0.0-RC.1

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 (198) hide show
  1. package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +4 -4
  4. package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-set.component.mjs +4 -4
  5. package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +4 -4
  6. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/draggable-element.directive.mjs +143 -0
  7. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/model/handle-bar.model.mjs +2 -0
  8. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/model/position.model.mjs +2 -0
  9. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/model/size.model.mjs +2 -0
  10. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/mutable-div.module.mjs +32 -0
  11. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +117 -0
  12. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/resizable-element.directive.mjs +65 -0
  13. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/resize-handlers/resize-handlers.component.mjs +127 -0
  14. package/{esm2020 → esm2022}/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +4 -4
  15. package/{esm2020 → esm2022}/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +4 -4
  16. package/esm2022/lib/annotations/annotations.module.mjs +162 -0
  17. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/comment.component.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/comment.service.mjs +4 -4
  19. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +4 -4
  20. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +4 -4
  21. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +4 -4
  23. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +4 -4
  24. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +4 -4
  25. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set-render.service.mjs +4 -4
  26. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set.component.mjs +4 -4
  27. package/{esm2020 → esm2022}/lib/annotations/comments-summary/comments-summary.component.mjs +4 -4
  28. package/{esm2020 → esm2022}/lib/annotations/pipes/date/date.pipe.mjs +4 -4
  29. package/{esm2020 → esm2022}/lib/annotations/pipes/filter/filter.pipe.mjs +4 -4
  30. package/{esm2020 → esm2022}/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +4 -4
  31. package/{esm2020 → esm2022}/lib/annotations/services/annotation-api/annotation-api.service.mjs +4 -4
  32. package/{esm2020 → esm2022}/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +4 -4
  33. package/{esm2020 → esm2022}/lib/annotations/services/tags/tags.services.mjs +4 -4
  34. package/{esm2020 → esm2022}/lib/annotations/tags/tags.component.mjs +4 -4
  35. package/{esm2020 → esm2022}/lib/bookmark/components/bookmark-icons.component.mjs +4 -4
  36. package/{esm2020 → esm2022}/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +4 -4
  37. package/{esm2020 → esm2022}/lib/icp/icp-follower.service.mjs +4 -4
  38. package/{esm2020 → esm2022}/lib/icp/icp-presenter.service.mjs +4 -4
  39. package/{esm2020 → esm2022}/lib/icp/icp-session-api.service.mjs +4 -4
  40. package/{esm2020 → esm2022}/lib/icp/icp-update.service.mjs +4 -4
  41. package/{esm2020 → esm2022}/lib/icp/icp.service.mjs +4 -4
  42. package/{esm2020 → esm2022}/lib/icp/participants-list/participants-list.component.mjs +4 -4
  43. package/esm2022/lib/icp/socket.service.mjs +118 -0
  44. package/{esm2020 → esm2022}/lib/media-viewer.component.mjs +4 -4
  45. package/esm2022/lib/media-viewer.module.mjs +155 -0
  46. package/esm2022/lib/print.service.mjs +30 -0
  47. package/{esm2020 → esm2022}/lib/redaction/components/redaction.component.mjs +4 -4
  48. package/{esm2020 → esm2022}/lib/redaction/services/redaction-api.service.mjs +4 -4
  49. package/{esm2020 → esm2022}/lib/shared/gov-uk-date/gov-uk-date.component.mjs +4 -4
  50. package/{esm2020 → esm2022}/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +6 -6
  51. package/{esm2020 → esm2022}/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +6 -6
  52. package/{esm2020 → esm2022}/lib/shared/gov-uk-label/gov-uk-label.component.mjs +6 -6
  53. package/{esm2020 → esm2022}/lib/shared/shared.module.mjs +19 -19
  54. package/{esm2020 → esm2022}/lib/shared/util/services/number.helper.service.mjs +4 -4
  55. package/{esm2020 → esm2022}/lib/store/effects/annotation.effects.mjs +4 -4
  56. package/{esm2020 → esm2022}/lib/store/effects/bookmarks.effects.mjs +4 -4
  57. package/{esm2020 → esm2022}/lib/store/effects/document.effects.mjs +4 -4
  58. package/{esm2020 → esm2022}/lib/store/effects/icp.effects.mjs +4 -4
  59. package/{esm2020 → esm2022}/lib/store/effects/redaction.effects.mjs +4 -4
  60. package/{esm2020 → esm2022}/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +4 -4
  61. package/{esm2020 → esm2022}/lib/toolbar/icp-event.service.mjs +1 -1
  62. package/{esm2020 → esm2022}/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +4 -4
  63. package/{esm2020 → esm2022}/lib/toolbar/main-toolbar/main-toolbar.component.mjs +4 -4
  64. package/{esm2020 → esm2022}/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +4 -4
  65. package/{esm2020 → esm2022}/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +4 -4
  66. package/{esm2020 → esm2022}/lib/toolbar/search-bar/search-bar.component.mjs +4 -4
  67. package/{esm2020 → esm2022}/lib/toolbar/toolbar-button-visibility.service.mjs +4 -4
  68. package/{esm2020 → esm2022}/lib/toolbar/toolbar-event.service.mjs +4 -4
  69. package/{esm2020 → esm2022}/lib/toolbar/toolbar.module.mjs +25 -25
  70. package/{esm2020 → esm2022}/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +4 -4
  71. package/{esm2020 → esm2022}/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +4 -4
  72. package/{esm2020 → esm2022}/lib/viewers/grab-n-drag.directive.mjs +4 -4
  73. package/{esm2020 → esm2022}/lib/viewers/image-viewer/image-viewer.component.mjs +4 -4
  74. package/{esm2020 → esm2022}/lib/viewers/multimedia-player/multimedia-player.component.mjs +4 -4
  75. package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +209 -0
  76. package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +4 -4
  77. package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +4 -4
  78. package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +6 -6
  79. package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +4 -4
  80. package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +4 -4
  81. package/{esm2020 → esm2022}/lib/viewers/rotation-persist/rotation-api.service.mjs +4 -4
  82. package/{esm2020 → esm2022}/lib/viewers/rotation-persist/rotation-persist.directive.mjs +4 -4
  83. package/{esm2020 → esm2022}/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +4 -4
  84. package/{esm2020 → esm2022}/lib/viewers/viewer-event.service.mjs +4 -4
  85. package/{esm2020 → esm2022}/lib/viewers/viewer-util.service.mjs +4 -4
  86. package/{fesm2020 → fesm2022}/hmcts-media-viewer.mjs +737 -391
  87. package/fesm2022/hmcts-media-viewer.mjs.map +1 -0
  88. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +1 -1
  89. package/lib/annotations/annotation-set/annotation-set.component.d.ts +1 -1
  90. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +1 -1
  91. package/lib/annotations/annotation-set/annotation-view/rectangle/draggable-element.directive.d.ts +25 -0
  92. package/lib/annotations/annotation-set/annotation-view/rectangle/draggable-element.directive.d.ts.map +1 -0
  93. package/lib/annotations/annotation-set/annotation-view/rectangle/model/handle-bar.model.d.ts +7 -0
  94. package/lib/annotations/annotation-set/annotation-view/rectangle/model/handle-bar.model.d.ts.map +1 -0
  95. package/lib/annotations/annotation-set/annotation-view/rectangle/model/position.model.d.ts +5 -0
  96. package/lib/annotations/annotation-set/annotation-view/rectangle/model/position.model.d.ts.map +1 -0
  97. package/lib/annotations/annotation-set/annotation-view/rectangle/model/size.model.d.ts +7 -0
  98. package/lib/annotations/annotation-set/annotation-view/rectangle/model/size.model.d.ts.map +1 -0
  99. package/lib/annotations/annotation-set/annotation-view/rectangle/mutable-div.module.d.ts +11 -0
  100. package/lib/annotations/annotation-set/annotation-view/rectangle/mutable-div.module.d.ts.map +1 -0
  101. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +1 -1
  102. package/lib/annotations/annotation-set/annotation-view/rectangle/resizable-element.directive.d.ts +22 -0
  103. package/lib/annotations/annotation-set/annotation-view/rectangle/resizable-element.directive.d.ts.map +1 -0
  104. package/lib/annotations/annotation-set/annotation-view/rectangle/resize-handlers/resize-handlers.component.d.ts +23 -0
  105. package/lib/annotations/annotation-set/annotation-view/rectangle/resize-handlers/resize-handlers.component.d.ts.map +1 -0
  106. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +1 -1
  107. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +1 -1
  108. package/lib/annotations/annotations.module.d.ts +1 -1
  109. package/lib/annotations/comment-set/comment/comment.component.d.ts +1 -1
  110. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +1 -1
  111. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +1 -1
  112. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +1 -1
  113. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +1 -1
  114. package/lib/annotations/comment-set/comment-set.component.d.ts +1 -1
  115. package/lib/annotations/comments-summary/comments-summary.component.d.ts +1 -1
  116. package/lib/annotations/tags/tags.component.d.ts +1 -1
  117. package/lib/bookmark/components/bookmark-icons.component.d.ts +1 -1
  118. package/lib/icp/socket.service.d.ts +6 -6
  119. package/lib/icp/socket.service.d.ts.map +1 -1
  120. package/lib/media-viewer.component.d.ts +1 -1
  121. package/lib/media-viewer.module.d.ts +2 -2
  122. package/lib/print.service.d.ts.map +1 -1
  123. package/lib/redaction/components/redaction.component.d.ts +1 -1
  124. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +1 -1
  125. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +1 -1
  126. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +1 -1
  127. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +1 -1
  128. package/lib/toolbar/icp-event.service.d.ts +4 -4
  129. package/lib/toolbar/icp-event.service.d.ts.map +1 -1
  130. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +1 -1
  131. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +1 -1
  132. package/lib/toolbar/toolbar-event.service.d.ts +6 -6
  133. package/lib/toolbar/toolbar-event.service.d.ts.map +1 -1
  134. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +1 -1
  135. package/lib/viewers/grab-n-drag.directive.d.ts +1 -1
  136. package/lib/viewers/image-viewer/image-viewer.component.d.ts +1 -1
  137. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +1 -1
  138. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +1 -1
  139. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +2 -2
  140. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -1
  141. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +1 -1
  142. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +1 -1
  143. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +1 -1
  144. package/lib/viewers/viewer-event.service.d.ts +1 -1
  145. package/lib/viewers/viewer-event.service.d.ts.map +1 -1
  146. package/package.json +16 -22
  147. package/esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +0 -116
  148. package/esm2020/lib/annotations/annotations.module.mjs +0 -162
  149. package/esm2020/lib/icp/socket.service.mjs +0 -118
  150. package/esm2020/lib/media-viewer.module.mjs +0 -155
  151. package/esm2020/lib/print.service.mjs +0 -34
  152. package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +0 -209
  153. package/fesm2015/hmcts-media-viewer.mjs +0 -6785
  154. package/fesm2015/hmcts-media-viewer.mjs.map +0 -1
  155. package/fesm2020/hmcts-media-viewer.mjs.map +0 -1
  156. /package/{esm2020 → esm2022}/hmcts-media-viewer.mjs +0 -0
  157. /package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-set.model.mjs +0 -0
  158. /package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-view/annotation.model.mjs +0 -0
  159. /package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs +0 -0
  160. /package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/comment.model.mjs +0 -0
  161. /package/{esm2020 → esm2022}/lib/annotations/models/api-persisted.model.mjs +0 -0
  162. /package/{esm2020 → esm2022}/lib/annotations/models/event-select.model.mjs +0 -0
  163. /package/{esm2020 → esm2022}/lib/annotations/models/tags.model.mjs +0 -0
  164. /package/{esm2020 → esm2022}/lib/annotations/models/user.model.mjs +0 -0
  165. /package/{esm2020 → esm2022}/lib/icp/icp.events.mjs +0 -0
  166. /package/{esm2020 → esm2022}/lib/icp/icp.interfaces.mjs +0 -0
  167. /package/{esm2020 → esm2022}/lib/redaction/services/redaction.model.mjs +0 -0
  168. /package/{esm2020 → esm2022}/lib/shared/util/helpers/html-templates.helper.mjs +0 -0
  169. /package/{esm2020 → esm2022}/lib/store/actions/annotation.actions.mjs +0 -0
  170. /package/{esm2020 → esm2022}/lib/store/actions/bookmark.actions.mjs +0 -0
  171. /package/{esm2020 → esm2022}/lib/store/actions/document.actions.mjs +0 -0
  172. /package/{esm2020 → esm2022}/lib/store/actions/icp.actions.mjs +0 -0
  173. /package/{esm2020 → esm2022}/lib/store/actions/redaction.actions.mjs +0 -0
  174. /package/{esm2020 → esm2022}/lib/store/actions/tag.actions.mjs +0 -0
  175. /package/{esm2020 → esm2022}/lib/store/bookmarks-store-utils.mjs +0 -0
  176. /package/{esm2020 → esm2022}/lib/store/effects/index.mjs +0 -0
  177. /package/{esm2020 → esm2022}/lib/store/models/bookmarks.interface.mjs +0 -0
  178. /package/{esm2020 → esm2022}/lib/store/models/filters.interface.mjs +0 -0
  179. /package/{esm2020 → esm2022}/lib/store/reducers/annotations.reducer.mjs +0 -0
  180. /package/{esm2020 → esm2022}/lib/store/reducers/bookmarks.reducer.mjs +0 -0
  181. /package/{esm2020 → esm2022}/lib/store/reducers/document.reducer.mjs +0 -0
  182. /package/{esm2020 → esm2022}/lib/store/reducers/icp.reducer.mjs +0 -0
  183. /package/{esm2020 → esm2022}/lib/store/reducers/redaction.reducer.mjs +0 -0
  184. /package/{esm2020 → esm2022}/lib/store/reducers/reducers.mjs +0 -0
  185. /package/{esm2020 → esm2022}/lib/store/reducers/tags.reducer.mjs +0 -0
  186. /package/{esm2020 → esm2022}/lib/store/selectors/annotation.selectors.mjs +0 -0
  187. /package/{esm2020 → esm2022}/lib/store/selectors/bookmark.selectors.mjs +0 -0
  188. /package/{esm2020 → esm2022}/lib/store/selectors/document.selectors.mjs +0 -0
  189. /package/{esm2020 → esm2022}/lib/store/selectors/icp.selectors.mjs +0 -0
  190. /package/{esm2020 → esm2022}/lib/store/selectors/redaction.selectors.mjs +0 -0
  191. /package/{esm2020 → esm2022}/lib/store/selectors/tag.selectors.mjs +0 -0
  192. /package/{esm2020 → esm2022}/lib/store/store-utils.mjs +0 -0
  193. /package/{esm2020 → esm2022}/lib/toolbar/redaction-search-bar/redaction-search.model.mjs +0 -0
  194. /package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs +0 -0
  195. /package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs +0 -0
  196. /package/{esm2020 → esm2022}/lib/viewers/rotation-persist/rotation.model.mjs +0 -0
  197. /package/{esm2020 → esm2022}/lib/viewers/viewer-exception.model.mjs +0 -0
  198. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
@@ -0,0 +1,117 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../../toolbar/toolbar-event.service";
4
+ import * as i2 from "../../annotation-create/highlight-create/highlight-create.service";
5
+ import * as i3 from "@angular/common";
6
+ import * as i4 from "./draggable-element.directive";
7
+ import * as i5 from "./resizable-element.directive";
8
+ export class RectangleComponent {
9
+ set annoRect(annoRect) {
10
+ this._annoRect = { ...annoRect };
11
+ this.height = +(annoRect.height * this.zoom).toFixed(2);
12
+ this.width = +(annoRect.width * this.zoom).toFixed(2);
13
+ this.left = +(annoRect.x * this.zoom).toFixed(2);
14
+ this.top = +(annoRect.y * this.zoom).toFixed(2);
15
+ }
16
+ get annoRect() {
17
+ return this._annoRect;
18
+ }
19
+ constructor(toolbarEvents, highlightService) {
20
+ this.toolbarEvents = toolbarEvents;
21
+ this.highlightService = highlightService;
22
+ this.selectEvent = new EventEmitter();
23
+ this.updateEvent = new EventEmitter();
24
+ this.subscriptions = [];
25
+ this.enableGrabNDrag = false;
26
+ }
27
+ ngOnChanges(changes) {
28
+ if (changes.rotate) {
29
+ this.adjustForRotation(this.rotate);
30
+ }
31
+ }
32
+ ngAfterViewInit() {
33
+ this.subscriptions.push(this.toolbarEvents.grabNDrag.subscribe(grabNDrag => this.enableGrabNDrag = grabNDrag));
34
+ }
35
+ ngOnDestroy() {
36
+ this.subscriptions.filter(subscription => !subscription.closed)
37
+ .forEach(subscription => subscription.unsubscribe());
38
+ }
39
+ set selected(selected) {
40
+ this._selected = selected;
41
+ if (this._selected && this.viewRect) {
42
+ this.viewRect.nativeElement.focus();
43
+ }
44
+ }
45
+ get selected() {
46
+ return this._selected;
47
+ }
48
+ onClick() {
49
+ this.selectEvent.emit(this.annoRect);
50
+ }
51
+ onUpdate(viewRect) {
52
+ const { offsetHeight, offsetWidth, offsetTop, offsetLeft } = viewRect;
53
+ if (this.hasRectangleChanged(viewRect)) {
54
+ let rectangle = this.highlightService
55
+ .applyRotation(this.pageHeight, this.pageWidth, offsetHeight, offsetWidth, offsetTop, offsetLeft, this.rotate, this.zoom);
56
+ rectangle = { ...this.annoRect, ...rectangle };
57
+ this.updateEvent.emit({ ...rectangle });
58
+ }
59
+ }
60
+ adjustForRotation(rotation) {
61
+ const { top, left, height, width } = this;
62
+ switch (rotation) {
63
+ case 90:
64
+ this.width = height;
65
+ this.height = width;
66
+ this.left = this.pageWidth - top - height;
67
+ this.top = left;
68
+ break;
69
+ case 180:
70
+ this.left = this.pageWidth - left - width;
71
+ this.top = this.pageHeight - top - height;
72
+ break;
73
+ case 270:
74
+ this.width = height;
75
+ this.height = width;
76
+ this.left = top;
77
+ this.top = this.pageHeight - left - width;
78
+ break;
79
+ }
80
+ }
81
+ hasRectangleChanged(viewRect) {
82
+ return this.left !== viewRect.offsetLeft ||
83
+ this.top !== viewRect.offsetTop ||
84
+ this.width !== viewRect.offsetWidth ||
85
+ this.height !== viewRect.offsetHeight;
86
+ }
87
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RectangleComponent, deps: [{ token: i1.ToolbarEventService }, { token: i2.HighlightCreateService }], target: i0.ɵɵFactoryTarget.Component }); }
88
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RectangleComponent, selector: "mv-anno-rectangle", inputs: { color: "color", zoom: "zoom", rotate: "rotate", editable: "editable", pageHeight: "pageHeight", pageWidth: "pageWidth", annoRect: "annoRect", selected: "selected" }, outputs: { selectEvent: "selectEvent", updateEvent: "updateEvent" }, viewQueries: [{ propertyName: "viewRect", first: true, predicate: ["rectElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"editable; else nonEditable\">\n <div #rectElement\n class=\"rectangle\"\n mvDraggable\n mvResizable\n [tabindex]=\"annoRect.id\"\n [ngClass]=\"{ 'selected': selected, 'grabNDrag': enableGrabNDrag }\"\n [style.backgroundColor]=\"'#' + color\"\n [style.width]=\"width + 'px'\"\n [style.height]=\"height + 'px'\"\n [style.left]=\"left + 'px'\"\n [style.top]=\"top + 'px'\"\n [rotate]=\"0\"\n [selected]=\"selected\"\n (click)=\"onClick()\"\n (stopped)=\"onUpdate(rectElement)\">\n </div>\n</div>\n<ng-template #nonEditable>\n <div #rectElement\n class=\"rectangle\"\n [tabindex]=\"annoRect.id\"\n [ngClass]=\"{ 'selected': selected }\"\n [style.backgroundColor]=\"'#' + color\"\n [style.width]=\"width + 'px'\"\n [style.height]=\"height+ 'px'\"\n [style.left]=\"left + 'px'\"\n [style.top]=\"top + 'px'\"\n (click)=\"onClick()\">\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DraggableElementDirective, selector: "[mvDraggable]", inputs: ["rotate"], outputs: ["coordinates", "stopped"] }, { kind: "directive", type: i5.ResizableElementDirective, selector: "[mvResizable]", inputs: ["rotate", "selected"], outputs: ["stopped"] }] }); }
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RectangleComponent, decorators: [{
91
+ type: Component,
92
+ args: [{ selector: 'mv-anno-rectangle', template: "<div *ngIf=\"editable; else nonEditable\">\n <div #rectElement\n class=\"rectangle\"\n mvDraggable\n mvResizable\n [tabindex]=\"annoRect.id\"\n [ngClass]=\"{ 'selected': selected, 'grabNDrag': enableGrabNDrag }\"\n [style.backgroundColor]=\"'#' + color\"\n [style.width]=\"width + 'px'\"\n [style.height]=\"height + 'px'\"\n [style.left]=\"left + 'px'\"\n [style.top]=\"top + 'px'\"\n [rotate]=\"0\"\n [selected]=\"selected\"\n (click)=\"onClick()\"\n (stopped)=\"onUpdate(rectElement)\">\n </div>\n</div>\n<ng-template #nonEditable>\n <div #rectElement\n class=\"rectangle\"\n [tabindex]=\"annoRect.id\"\n [ngClass]=\"{ 'selected': selected }\"\n [style.backgroundColor]=\"'#' + color\"\n [style.width]=\"width + 'px'\"\n [style.height]=\"height+ 'px'\"\n [style.left]=\"left + 'px'\"\n [style.top]=\"top + 'px'\"\n (click)=\"onClick()\">\n </div>\n</ng-template>\n" }]
93
+ }], ctorParameters: function () { return [{ type: i1.ToolbarEventService }, { type: i2.HighlightCreateService }]; }, propDecorators: { color: [{
94
+ type: Input
95
+ }], zoom: [{
96
+ type: Input
97
+ }], rotate: [{
98
+ type: Input
99
+ }], editable: [{
100
+ type: Input
101
+ }], pageHeight: [{
102
+ type: Input
103
+ }], pageWidth: [{
104
+ type: Input
105
+ }], selectEvent: [{
106
+ type: Output
107
+ }], updateEvent: [{
108
+ type: Output
109
+ }], viewRect: [{
110
+ type: ViewChild,
111
+ args: ['rectElement', { static: false }]
112
+ }], annoRect: [{
113
+ type: Input
114
+ }], selected: [{
115
+ type: Input
116
+ }] } });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdGFuZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tdmlldy9yZWN0YW5nbGUvcmVjdGFuZ2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tdmlldy9yZWN0YW5nbGUvcmVjdGFuZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBVXZCLE1BQU0sT0FBTyxrQkFBa0I7SUF3QjdCLElBQ0ksUUFBUSxDQUFDLFFBQW1CO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxHQUFHLFFBQVEsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxD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S0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFFb0MsUUFBUTtzQkFBbEQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQWFyQyxRQUFRO3NCQURYLEtBQUs7Z0JBbUNGLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlIH0gZnJvbSAnLi9yZWN0YW5nbGUubW9kZWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUb29sYmFyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdG9vbGJhci90b29sYmFyLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgSGlnaGxpZ2h0Q3JlYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2Fubm90YXRpb24tY3JlYXRlL2hpZ2hsaWdodC1jcmVhdGUvaGlnaGxpZ2h0LWNyZWF0ZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtYW5uby1yZWN0YW5nbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjdGFuZ2xlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWN0YW5nbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgY29sb3I6IFN0cmluZztcbiAgQElucHV0KCkgem9vbTogbnVtYmVyO1xuICBASW5wdXQoKSByb3RhdGU6IG51bWJlcjtcbiAgQElucHV0KCkgZWRpdGFibGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHBhZ2VIZWlnaHQ6IG51bWJlcjtcbiAgQElucHV0KCkgcGFnZVdpZHRoOiBudW1iZXI7XG5cbiAgQE91dHB1dCgpIHNlbGVjdEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWN0YW5nbGU+KCk7XG4gIEBPdXRwdXQoKSB1cGRhdGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjdGFuZ2xlPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3JlY3RFbGVtZW50Jywge3N0YXRpYzogZmFsc2V9KSB2aWV3UmVjdDogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIF9zZWxlY3RlZDogYm9vbGVhbjtcbiAgZW5hYmxlR3JhYk5EcmFnID0gZmFsc2U7XG5cbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG5cbiAgX2Fubm9SZWN0OiBSZWN0YW5nbGU7XG4gIEBJbnB1dCgpXG4gIHNldCBhbm5vUmVjdChhbm5vUmVjdDogUmVjdGFuZ2xlKSB7XG4gICAgdGhpcy5fYW5ub1JlY3QgPSB7IC4uLmFubm9SZWN0IH07XG4gICAgdGhpcy5oZWlnaHQgPSArKGFubm9SZWN0LmhlaWdodCAqIHRoaXMuem9vbSkudG9GaXhlZCgyKTtcbiAgICB0aGlzLndpZHRoID0gKyhhbm5vUmVjdC53aWR0aCAqIHRoaXMuem9vbSkudG9GaXhlZCgyKTtcbiAgICB0aGlzLmxlZnQgPSArKGFubm9SZWN0LnggKiB0aGlzLnpvb20pLnRvRml4ZWQoMik7XG4gICAgdGhpcy50b3AgPSArKGFubm9SZWN0LnkgKiB0aGlzLnpvb20pLnRvRml4ZWQoMik7XG4gIH1cblxuICBnZXQgYW5ub1JlY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Fubm9SZWN0O1xuICB9XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaGlnaGxpZ2h0U2VydmljZTogSGlnaGxpZ2h0Q3JlYXRlU2VydmljZSkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMucm90YXRlKSB7XG4gICAgICB0aGlzLmFkanVzdEZvclJvdGF0aW9uKHRoaXMucm90YXRlKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuZ3JhYk5EcmFnLnN1YnNjcmliZShncmFiTkRyYWcgPT4gdGhpcy5lbmFibGVHcmFiTkRyYWcgPSBncmFiTkRyYWcpXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5maWx0ZXIoc3Vic2NyaXB0aW9uID0+ICFzdWJzY3JpcHRpb24uY2xvc2VkKVxuICAgICAgLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBzZWxlY3RlZChzZWxlY3RlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkICYmIHRoaXMudmlld1JlY3QpIHtcbiAgICAgIHRoaXMudmlld1JlY3QubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gIH1cblxuICBvbkNsaWNrKCkge1xuICAgIHRoaXMuc2VsZWN0RXZlbnQuZW1pdCh0aGlzLmFubm9SZWN0KTtcbiAgfVxuXG4gIG9uVXBkYXRlKHZpZXdSZWN0OiBhbnkpIHtcbiAgICBjb25zdCB7IG9mZnNldEhlaWdodCwgb2Zmc2V0V2lkdGgsIG9mZnNldFRvcCwgb2Zmc2V0TGVmdCB9ID0gdmlld1JlY3Q7XG4gICAgaWYgKHRoaXMuaGFzUmVjdGFuZ2xlQ2hhbmdlZCh2aWV3UmVjdCkpIHtcbiAgICAgIGxldCByZWN0YW5nbGUgPSB0aGlzLmhpZ2hsaWdodFNlcnZpY2VcbiAgICAgICAgLmFwcGx5Um90YXRpb24odGhpcy5wYWdlSGVpZ2h0LCB0aGlzLnBhZ2VXaWR0aCwgb2Zmc2V0SGVpZ2h0LCBvZmZzZXRXaWR0aCwgb2Zmc2V0VG9wLCBvZmZzZXRMZWZ0LCB0aGlzLnJvdGF0ZSwgdGhpcy56b29tKTtcbiAgICAgIHJlY3RhbmdsZSA9IHsgLi4udGhpcy5hbm5vUmVjdCwgLi4ucmVjdGFuZ2xlIH07XG4gICAgICB0aGlzLnVwZGF0ZUV2ZW50LmVtaXQoeyAuLi5yZWN0YW5nbGUgfSk7XG4gICAgfVxuICB9XG5cbiAgYWRqdXN0Rm9yUm90YXRpb24ocm90YXRpb246IG51bWJlcikge1xuICAgIGNvbnN0IHsgdG9wLCBsZWZ0LCBoZWlnaHQsIHdpZHRoIH0gPSB0aGlzO1xuICAgIHN3aXRjaCAocm90YXRpb24pIHtcbiAgICAgIGNhc2UgOTA6XG4gICAgICAgIHRoaXMud2lkdGggPSBoZWlnaHQ7XG4gICAgICAgIHRoaXMuaGVpZ2h0ID0gd2lkdGg7XG4gICAgICAgIHRoaXMubGVmdCA9IHRoaXMucGFnZVdpZHRoICAtIHRvcCAtIGhlaWdodDtcbiAgICAgICAgdGhpcy50b3AgPSBsZWZ0O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMTgwOlxuICAgICAgICB0aGlzLmxlZnQgPSB0aGlzLnBhZ2VXaWR0aCAtIGxlZnQgLSB3aWR0aDtcbiAgICAgICAgdGhpcy50b3AgPSB0aGlzLnBhZ2VIZWlnaHQgLSB0b3AgLSBoZWlnaHQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAyNzA6XG4gICAgICAgIHRoaXMud2lkdGggPSBoZWlnaHQ7XG4gICAgICAgIHRoaXMuaGVpZ2h0ID0gd2lkdGg7XG4gICAgICAgIHRoaXMubGVmdCA9IHRvcDtcbiAgICAgICAgdGhpcy50b3AgPSB0aGlzLnBhZ2VIZWlnaHQgLSBsZWZ0IC0gd2lkdGg7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGhhc1JlY3RhbmdsZUNoYW5nZWQodmlld1JlY3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5sZWZ0ICE9PSB2aWV3UmVjdC5vZmZzZXRMZWZ0IHx8XG4gICAgICB0aGlzLnRvcCAhPT0gdmlld1JlY3Qub2Zmc2V0VG9wIHx8XG4gICAgICB0aGlzLndpZHRoICE9PSB2aWV3UmVjdC5vZmZzZXRXaWR0aCB8fFxuICAgICAgdGhpcy5oZWlnaHQgIT09IHZpZXdSZWN0Lm9mZnNldEhlaWdodDtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImVkaXRhYmxlOyBlbHNlIG5vbkVkaXRhYmxlXCI+XG4gIDxkaXYgI3JlY3RFbGVtZW50XG4gICAgICAgY2xhc3M9XCJyZWN0YW5nbGVcIlxuICAgICAgIG12RHJhZ2dhYmxlXG4gICAgICAgbXZSZXNpemFibGVcbiAgICAgICBbdGFiaW5kZXhdPVwiYW5ub1JlY3QuaWRcIlxuICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdGVkJzogc2VsZWN0ZWQsICdncmFiTkRyYWcnOiBlbmFibGVHcmFiTkRyYWcgfVwiXG4gICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCInIycgKyBjb2xvclwiXG4gICAgICAgW3N0eWxlLndpZHRoXT1cIndpZHRoICsgJ3B4J1wiXG4gICAgICAgW3N0eWxlLmhlaWdodF09XCJoZWlnaHQgKyAncHgnXCJcbiAgICAgICBbc3R5bGUubGVmdF09XCJsZWZ0ICsgJ3B4J1wiXG4gICAgICAgW3N0eWxlLnRvcF09XCJ0b3AgKyAncHgnXCJcbiAgICAgICBbcm90YXRlXT1cIjBcIlxuICAgICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZFwiXG4gICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgICAgKHN0b3BwZWQpPVwib25VcGRhdGUocmVjdEVsZW1lbnQpXCI+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI25vbkVkaXRhYmxlPlxuICA8ZGl2ICNyZWN0RWxlbWVudFxuICAgICAgIGNsYXNzPVwicmVjdGFuZ2xlXCJcbiAgICAgICBbdGFiaW5kZXhdPVwiYW5ub1JlY3QuaWRcIlxuICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdGVkJzogc2VsZWN0ZWQgfVwiXG4gICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCInIycgKyBjb2xvclwiXG4gICAgICAgW3N0eWxlLndpZHRoXT1cIndpZHRoICsgJ3B4J1wiXG4gICAgICAgW3N0eWxlLmhlaWdodF09XCJoZWlnaHQrICdweCdcIlxuICAgICAgIFtzdHlsZS5sZWZ0XT1cImxlZnQgKyAncHgnXCJcbiAgICAgICBbc3R5bGUudG9wXT1cInRvcCArICdweCdcIlxuICAgICAgIChjbGljayk9XCJvbkNsaWNrKClcIj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,65 @@
1
+ import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
+ import { ResizeHandlersComponent } from './resize-handlers/resize-handlers.component';
3
+ import * as i0 from "@angular/core";
4
+ export class ResizableElementDirective {
5
+ constructor(el, container, componentFactoryResolver) {
6
+ this.el = el;
7
+ this.container = container;
8
+ this.componentFactoryResolver = componentFactoryResolver;
9
+ this.rotate = 0;
10
+ this.selected = false;
11
+ this.stopped = new EventEmitter();
12
+ }
13
+ ngOnInit() {
14
+ this.addHandlersToElement();
15
+ }
16
+ ngOnChanges() {
17
+ if (this.resizeHandlersComponent) {
18
+ this.resizeHandlersComponent.instance.selected = this.selected;
19
+ this.resizeHandlersComponent.instance.rotate = this.rotate;
20
+ }
21
+ }
22
+ addHandlersToElement() {
23
+ const component = this.componentFactoryResolver.resolveComponentFactory(ResizeHandlersComponent);
24
+ this.resizeHandlersComponent = this.container.createComponent(component);
25
+ this.resizeHandlersComponent.instance.parentElement = this.el;
26
+ this.resizeHandlersComponent.instance.rotate = this.rotate;
27
+ this.resizeHandlersComponent.instance.selected = this.selected;
28
+ this.el.nativeElement.appendChild(this.resizeHandlersComponent.location.nativeElement);
29
+ }
30
+ onPointerDown() {
31
+ this.resizeHandlersComponent.instance.selected = true;
32
+ }
33
+ onPointerUp() {
34
+ this.stopped.emit();
35
+ }
36
+ onWindowPointerUp(targetEvent) {
37
+ if (!this.el.nativeElement.contains(targetEvent)) {
38
+ this.resizeHandlersComponent.instance.selected = false;
39
+ }
40
+ }
41
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResizableElementDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive }); }
42
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ResizableElementDirective, selector: "[mvResizable]", inputs: { rotate: "rotate", selected: "selected" }, outputs: { stopped: "stopped" }, host: { listeners: { "pointerdown": "onPointerDown()", "pointerup": "onPointerUp()", "window:pointerup": "onWindowPointerUp($event.target)" } }, usesOnChanges: true, ngImport: i0 }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResizableElementDirective, decorators: [{
45
+ type: Directive,
46
+ args: [{
47
+ selector: '[mvResizable]'
48
+ }]
49
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { rotate: [{
50
+ type: Input
51
+ }], selected: [{
52
+ type: Input
53
+ }], stopped: [{
54
+ type: Output
55
+ }], onPointerDown: [{
56
+ type: HostListener,
57
+ args: ['pointerdown']
58
+ }], onPointerUp: [{
59
+ type: HostListener,
60
+ args: ['pointerup']
61
+ }], onWindowPointerUp: [{
62
+ type: HostListener,
63
+ args: ['window:pointerup', ['$event.target']]
64
+ }] } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLWVsZW1lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi12aWV3L3JlY3RhbmdsZS9yZXNpemFibGUtZWxlbWVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBS3RGLE1BQU0sT0FBTyx5QkFBeUI7SUFRcEMsWUFBb0IsRUFBYyxFQUNkLFNBQTJCLEVBQzNCLHdCQUFrRDtRQUZsRCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQVI3RCxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNoQixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQU1rQyxDQUFDO0lBRTFFLFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQ2hDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDL0QsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUM1RDtJQUNILENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDOUQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9ELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFNEIsYUFBYTtRQUN4QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUUwQixXQUFXO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVvRCxpQkFBaUIsQ0FBQyxXQUFXO1FBQ2hGLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDaEQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQztrSUE1Q1UseUJBQXlCO3NIQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBSHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7aUJBQzFCO3VLQUdVLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBNEJzQixhQUFhO3NCQUF6QyxZQUFZO3VCQUFDLGFBQWE7Z0JBSUEsV0FBVztzQkFBckMsWUFBWTt1QkFBQyxXQUFXO2dCQUk0QixpQkFBaUI7c0JBQXJFLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBPbkluaXQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBPbkNoYW5nZXMsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXNpemVIYW5kbGVyc0NvbXBvbmVudCB9IGZyb20gJy4vcmVzaXplLWhhbmRsZXJzL3Jlc2l6ZS1oYW5kbGVycy5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbXZSZXNpemFibGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBSZXNpemFibGVFbGVtZW50RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIHJvdGF0ZSA9IDA7XG4gIEBJbnB1dCgpIHNlbGVjdGVkID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBzdG9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHJlc2l6ZUhhbmRsZXJzQ29tcG9uZW50OiBDb21wb25lbnRSZWY8UmVzaXplSGFuZGxlcnNDb21wb25lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWRkSGFuZGxlcnNUb0VsZW1lbnQoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlc2l6ZUhhbmRsZXJzQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLnJlc2l6ZUhhbmRsZXJzQ29tcG9uZW50Lmluc3RhbmNlLnNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZDtcbiAgICAgIHRoaXMucmVzaXplSGFuZGxlcnNDb21wb25lbnQuaW5zdGFuY2Uucm90YXRlID0gdGhpcy5yb3RhdGU7XG4gICAgfVxuICB9XG5cbiAgYWRkSGFuZGxlcnNUb0VsZW1lbnQoKSB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoUmVzaXplSGFuZGxlcnNDb21wb25lbnQpO1xuICAgIHRoaXMucmVzaXplSGFuZGxlcnNDb21wb25lbnQgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50KTtcbiAgICB0aGlzLnJlc2l6ZUhhbmRsZXJzQ29tcG9uZW50Lmluc3RhbmNlLnBhcmVudEVsZW1lbnQgPSB0aGlzLmVsO1xuICAgIHRoaXMucmVzaXplSGFuZGxlcnNDb21wb25lbnQuaW5zdGFuY2Uucm90YXRlID0gdGhpcy5yb3RhdGU7XG4gICAgdGhpcy5yZXNpemVIYW5kbGVyc0NvbXBvbmVudC5pbnN0YW5jZS5zZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWQ7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMucmVzaXplSGFuZGxlcnNDb21wb25lbnQubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwb2ludGVyZG93bicpIG9uUG9pbnRlckRvd24oKSB7XG4gICAgdGhpcy5yZXNpemVIYW5kbGVyc0NvbXBvbmVudC5pbnN0YW5jZS5zZWxlY3RlZCA9IHRydWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwb2ludGVydXAnKSBvblBvaW50ZXJVcCgpIHtcbiAgICB0aGlzLnN0b3BwZWQuZW1pdCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnBvaW50ZXJ1cCcsIFsnJGV2ZW50LnRhcmdldCddKSBvbldpbmRvd1BvaW50ZXJVcCh0YXJnZXRFdmVudCkge1xuICAgIGlmICghdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEV2ZW50KSkge1xuICAgICAgdGhpcy5yZXNpemVIYW5kbGVyc0NvbXBvbmVudC5pbnN0YW5jZS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,127 @@
1
+ import { Component, Input, ViewChildren } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../draggable-element.directive";
5
+ export class ResizeHandlersComponent {
6
+ constructor() {
7
+ this.selected = false;
8
+ this.minimumSize = 20;
9
+ }
10
+ ngAfterViewInit() {
11
+ this.setHandlePositions();
12
+ }
13
+ ngOnChanges() {
14
+ if (this.selected) {
15
+ this.setHandlePositions();
16
+ }
17
+ }
18
+ setHandlePositions() {
19
+ this.handles.forEach((element, index) => {
20
+ switch (index) {
21
+ case 0:
22
+ this.setHandleStyles(element, { left: '-7px', right: '', top: '-7px', bottom: '' });
23
+ break;
24
+ case 1:
25
+ this.setHandleStyles(element, { left: '', right: '-7px', top: '-7px', bottom: '' });
26
+ break;
27
+ case 2:
28
+ this.setHandleStyles(element, { left: '-7px', right: '', top: '', bottom: '-7px' });
29
+ break;
30
+ default:
31
+ this.setHandleStyles(element, { left: '', right: '-7px', top: '', bottom: '-7px' });
32
+ }
33
+ });
34
+ }
35
+ setHandleStyles(element, styles) {
36
+ element.nativeElement.style.left = styles.left;
37
+ element.nativeElement.style.right = styles.right;
38
+ element.nativeElement.style.top = styles.top;
39
+ element.nativeElement.style.bottom = styles.bottom;
40
+ }
41
+ onPointerDown(event) {
42
+ event.stopPropagation();
43
+ }
44
+ resize(className, coordinates) {
45
+ const parentElement = this.parentElement.nativeElement;
46
+ const size = this.calculatingPosition(parentElement, className, coordinates);
47
+ if (size.width > this.minimumSize && size.height > this.minimumSize) {
48
+ if (className.includes('TOP-LEFT')) {
49
+ parentElement.style.left = size.position.x + 'px';
50
+ parentElement.style.width = size.width + 'px';
51
+ parentElement.style.top = size.position.y + 'px';
52
+ parentElement.style.height = size.height + 'px';
53
+ }
54
+ else if (className.includes('TOP-RIGHT')) {
55
+ parentElement.style.width = size.width + 'px';
56
+ parentElement.style.top = size.position.y + 'px';
57
+ parentElement.style.height = size.height + 'px';
58
+ }
59
+ else if (className.includes('BOTTOM-LEFT')) {
60
+ parentElement.style.left = size.position.x + 'px';
61
+ parentElement.style.width = size.width + 'px';
62
+ parentElement.style.height = size.height + 'px';
63
+ }
64
+ else {
65
+ parentElement.style.width = size.width + 'px';
66
+ parentElement.style.height = size.height + 'px';
67
+ }
68
+ }
69
+ this.setHandlePositions();
70
+ }
71
+ calculatingPosition(parentElement, className, coordinates) {
72
+ switch (this.rotate) {
73
+ case 90:
74
+ return {
75
+ width: className.includes('LEFT') ? parentElement.offsetWidth - coordinates.y : parentElement.offsetWidth + coordinates.y,
76
+ height: className.includes('TOP') ? parentElement.offsetHeight + coordinates.x : parentElement.offsetHeight - coordinates.x,
77
+ position: {
78
+ x: parentElement.offsetLeft + coordinates.y,
79
+ y: parentElement.offsetTop - coordinates.x
80
+ }
81
+ };
82
+ case 180:
83
+ return {
84
+ width: className.includes('LEFT') ? parentElement.offsetWidth + coordinates.x : parentElement.offsetWidth - coordinates.x,
85
+ height: className.includes('TOP') ? parentElement.offsetHeight + coordinates.y : parentElement.offsetHeight - coordinates.y,
86
+ position: {
87
+ x: parentElement.offsetLeft - coordinates.x,
88
+ y: parentElement.offsetTop - coordinates.y
89
+ }
90
+ };
91
+ case 270:
92
+ return {
93
+ width: className.includes('LEFT') ? parentElement.offsetWidth + coordinates.y : parentElement.offsetWidth - coordinates.y,
94
+ height: className.includes('TOP') ? parentElement.offsetHeight - coordinates.x : parentElement.offsetHeight + coordinates.x,
95
+ position: {
96
+ x: parentElement.offsetLeft - coordinates.y,
97
+ y: parentElement.offsetTop + coordinates.x
98
+ }
99
+ };
100
+ default:
101
+ return {
102
+ width: className.includes('LEFT') ? parentElement.offsetWidth - coordinates.x : parentElement.offsetWidth + coordinates.x,
103
+ height: className.includes('TOP') ? parentElement.offsetHeight - coordinates.y : parentElement.offsetHeight + coordinates.y,
104
+ position: {
105
+ x: parentElement.offsetLeft + coordinates.x,
106
+ y: parentElement.offsetTop + coordinates.y
107
+ }
108
+ };
109
+ }
110
+ }
111
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResizeHandlersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
112
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResizeHandlersComponent, selector: "mv-lib-resize-handlers", inputs: { parentElement: "parentElement", rotate: "rotate", selected: "selected" }, viewQueries: [{ propertyName: "handles", predicate: ["handle"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"selected\" class=\"resize-handlers\">\n <div #handle #topLeft\n class=\"TOP-LEFT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(topLeft.className, $event)\"></div>\n <div #handle #topRight\n class=\"TOP-RIGHT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(topRight.className, $event)\"></div>\n <div #handle #bottomLeft\n class=\"BOTTOM-LEFT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(bottomLeft.className, $event)\"></div>\n <div #handle #bottomRight\n class=\"BOTTOM-RIGHT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(bottomRight.className, $event)\"></div>\n</div>\n", styles: [".resize-handlers{width:100%;height:100%;position:absolute;top:0;left:0;border:2px solid #424242;box-sizing:border-box}.handle{position:absolute;width:20px;height:20px;background:#fff;opacity:50%}.TOP-LEFT{left:-7px;top:-7px;border-top:3px solid #424242;border-left:3px solid #424242}.TOP-LEFT:hover,.TOP-LEFT:active{border-radius:unset;background:transparent;border-bottom:black;border-right:black}.TOP-RIGHT{right:-7px;top:-7px;border-top:3px solid #424242;border-right:3px solid #424242}.TOP-RIGHT:hover,.TOP-RIGHT:active{border-radius:unset;background:transparent;border-bottom:black;border-left:black}.BOTTOM-LEFT{left:-7px;bottom:-7px;border-bottom:3px solid #424242;border-left:3px solid #424242}.BOTTOM-LEFT:hover,.BOTTOM-LEFT:active{border-radius:unset;background:transparent;border-top:black;border-right:black}.BOTTOM-RIGHT{right:-7px;bottom:-7px;border-bottom:3px solid #424242;border-right:3px solid #424242}.BOTTOM-RIGHT:hover,.BOTTOM-RIGHT:active{border-radius:unset;background:transparent;border-top:black;border-left:black}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DraggableElementDirective, selector: "[mvDraggable]", inputs: ["rotate"], outputs: ["coordinates", "stopped"] }] }); }
113
+ }
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResizeHandlersComponent, decorators: [{
115
+ type: Component,
116
+ args: [{ selector: 'mv-lib-resize-handlers', template: "<div *ngIf=\"selected\" class=\"resize-handlers\">\n <div #handle #topLeft\n class=\"TOP-LEFT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(topLeft.className, $event)\"></div>\n <div #handle #topRight\n class=\"TOP-RIGHT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(topRight.className, $event)\"></div>\n <div #handle #bottomLeft\n class=\"BOTTOM-LEFT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(bottomLeft.className, $event)\"></div>\n <div #handle #bottomRight\n class=\"BOTTOM-RIGHT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(bottomRight.className, $event)\"></div>\n</div>\n", styles: [".resize-handlers{width:100%;height:100%;position:absolute;top:0;left:0;border:2px solid #424242;box-sizing:border-box}.handle{position:absolute;width:20px;height:20px;background:#fff;opacity:50%}.TOP-LEFT{left:-7px;top:-7px;border-top:3px solid #424242;border-left:3px solid #424242}.TOP-LEFT:hover,.TOP-LEFT:active{border-radius:unset;background:transparent;border-bottom:black;border-right:black}.TOP-RIGHT{right:-7px;top:-7px;border-top:3px solid #424242;border-right:3px solid #424242}.TOP-RIGHT:hover,.TOP-RIGHT:active{border-radius:unset;background:transparent;border-bottom:black;border-left:black}.BOTTOM-LEFT{left:-7px;bottom:-7px;border-bottom:3px solid #424242;border-left:3px solid #424242}.BOTTOM-LEFT:hover,.BOTTOM-LEFT:active{border-radius:unset;background:transparent;border-top:black;border-right:black}.BOTTOM-RIGHT{right:-7px;bottom:-7px;border-bottom:3px solid #424242;border-right:3px solid #424242}.BOTTOM-RIGHT:hover,.BOTTOM-RIGHT:active{border-radius:unset;background:transparent;border-top:black;border-left:black}\n"] }]
117
+ }], ctorParameters: function () { return []; }, propDecorators: { parentElement: [{
118
+ type: Input
119
+ }], rotate: [{
120
+ type: Input
121
+ }], selected: [{
122
+ type: Input
123
+ }], handles: [{
124
+ type: ViewChildren,
125
+ args: ['handle']
126
+ }] } });
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWhhbmRsZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tdmlldy9yZWN0YW5nbGUvcmVzaXplLWhhbmRsZXJzL3Jlc2l6ZS1oYW5kbGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXZpZXcvcmVjdGFuZ2xlL3Jlc2l6ZS1oYW5kbGVycy9yZXNpemUtaGFuZGxlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBR0wsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDOzs7O0FBVXZCLE1BQU0sT0FBTyx1QkFBdUI7SUFVbEM7UUFOUyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSTFCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO0lBRUQsQ0FBQztJQUVqQixlQUFlO1FBQ2IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3RDLFFBQVEsS0FBSyxFQUFFO2dCQUNiLEtBQUssQ0FBQztvQkFDSixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFF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QVUsR0FBRyxXQUFXLENBQUMsQ0FBQzt3QkFDM0MsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUM7cUJBQzNDO2lCQUNGLENBQUM7WUFDSjtnQkFDRSxPQUFPO29CQUNMLEtBQUssRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLENBQUM7b0JBQ3pILE1BQU0sRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBRSxhQUFhLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLGFBQWEsQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLENBQUM7b0JBQzdILFFBQVEsRUFBRTt3QkFDUixDQUFDLEVBQUUsYUFBYSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsQ0FBQzt3QkFDM0MsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUM7cUJBQzNDO2lCQUNGLENBQUM7U0FDTDtJQUNILENBQUM7a0lBbkhVLHVCQUF1QjtzSEFBdkIsdUJBQXVCLDZQQ2xCcEMsODFCQXNCQTs7NEZESmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHdCQUF3QjswRUFNekIsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFa0IsT0FBTztzQkFBOUIsWUFBWTt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi4vbW9kZWwvcG9zaXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgU2l6ZSB9IGZyb20gJy4uL21vZGVsL3NpemUubW9kZWwnO1xuaW1wb3J0IHsgSGFuZGxlQmFyIH0gZnJvbSAnLi4vbW9kZWwvaGFuZGxlLWJhci5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LWxpYi1yZXNpemUtaGFuZGxlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzaXplLWhhbmRsZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVzaXplLWhhbmRsZXJzLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZXNpemVIYW5kbGVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgcGFyZW50RWxlbWVudDogRWxlbWVudFJlZjtcbiAgQElucHV0KCkgcm90YXRlOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZHJlbignaGFuZGxlJykgaGFuZGxlczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gIG1pbmltdW1TaXplID0gMjA7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRIYW5kbGVQb3NpdGlvbnMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLnNldEhhbmRsZVBvc2l0aW9ucygpO1xuICAgIH1cbiAgfVxuXG4gIHNldEhhbmRsZVBvc2l0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZXMuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICAgIHN3aXRjaCAoaW5kZXgpIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICAgIHRoaXMuc2V0SGFuZGxlU3R5bGVzKGVsZW1lbnQsIHsgbGVmdDogJy03cHgnLCByaWdodDogJycsIHRvcDogJy03cHgnLCBib3R0b206ICcnIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgdGhpcy5zZXRIYW5kbGVTdHlsZXMoZWxlbWVudCwgeyBsZWZ0OiAnJywgcmlnaHQ6ICctN3B4JywgdG9wOiAnLTdweCcsIGJvdHRvbTogJycgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICB0aGlzLnNldEhhbmRsZVN0eWxlcyhlbGVtZW50LCB7IGxlZnQ6ICctN3B4JywgcmlnaHQ6ICcnLCB0b3A6ICcnLCBib3R0b206ICctN3B4JyB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLnNldEhhbmRsZVN0eWxlcyhlbGVtZW50LCB7IGxlZnQ6ICcnLCByaWdodDogJy03cHgnLCB0b3A6ICcnLCBib3R0b206ICctN3B4JyB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldEhhbmRsZVN0eWxlcyhlbGVtZW50OiBFbGVtZW50UmVmLCBzdHlsZXM6IEhhbmRsZUJhcikge1xuICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gc3R5bGVzLmxlZnQ7XG4gICAgZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnJpZ2h0ID0gc3R5bGVzLnJpZ2h0O1xuICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSBzdHlsZXMudG9wO1xuICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS5ib3R0b20gPSBzdHlsZXMuYm90dG9tO1xuICB9XG5cbiAgb25Qb2ludGVyRG93bihldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICByZXNpemUoY2xhc3NOYW1lOiBzdHJpbmcsIGNvb3JkaW5hdGVzOiBQb3NpdGlvbikge1xuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLnBhcmVudEVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBzaXplID0gdGhpcy5jYWxjdWxhdGluZ1Bvc2l0aW9uKHBhcmVudEVsZW1lbnQsIGNsYXNzTmFtZSwgY29vcmRpbmF0ZXMpO1xuICAgIGlmIChzaXplLndpZHRoID4gdGhpcy5taW5pbXVtU2l6ZSAmJiBzaXplLmhlaWdodCA+IHRoaXMubWluaW11bVNpemUpIHtcbiAgICAgIGlmIChjbGFzc05hbWUuaW5jbHVkZXMoJ1RPUC1MRUZUJykpIHtcbiAgICAgICAgcGFyZW50RWxlbWVudC5zdHlsZS5sZWZ0ID0gc2l6ZS5wb3NpdGlvbi54ICsgJ3B4JztcbiAgICAgICAgcGFyZW50RWxlbWVudC5zdHlsZS53aWR0aCA9IHNpemUud2lkdGggKyAncHgnO1xuICAgICAgICBwYXJlbnRFbGVtZW50LnN0eWxlLnRvcCA9ICBzaXplLnBvc2l0aW9uLnkgKyAncHgnO1xuICAgICAgICBwYXJlbnRFbGVtZW50LnN0eWxlLmhlaWdodCA9IHNpemUuaGVpZ2h0ICsgJ3B4JztcbiAgICAgIH0gZWxzZSBpZiAoY2xhc3NOYW1lLmluY2x1ZGVzKCdUT1AtUklHSFQnKSkge1xuICAgICAgICBwYXJlbnRFbGVtZW50LnN0eWxlLndpZHRoID0gc2l6ZS53aWR0aCArICdweCc7XG4gICAgICAgIHBhcmVudEVsZW1lbnQuc3R5bGUudG9wID0gc2l6ZS5wb3NpdGlvbi55ICsgJ3B4JztcbiAgICAgICAgcGFyZW50RWxlbWVudC5zdHlsZS5oZWlnaHQgPSBzaXplLmhlaWdodCArICdweCc7XG4gICAgICB9IGVsc2UgaWYgKGNsYXNzTmFtZS5pbmNsdWRlcygnQk9UVE9NLUxFRlQnKSkge1xuICAgICAgICBwYXJlbnRFbGVtZW50LnN0eWxlLmxlZnQgPSBzaXplLnBvc2l0aW9uLnggKyAncHgnO1xuICAgICAgICBwYXJlbnRFbGVtZW50LnN0eWxlLndpZHRoID0gc2l6ZS53aWR0aCArICdweCc7XG4gICAgICAgIHBhcmVudEVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gc2l6ZS5oZWlnaHQgKyAncHgnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFyZW50RWxlbWVudC5zdHlsZS53aWR0aCA9IHNpemUud2lkdGggKyAncHgnO1xuICAgICAgICBwYXJlbnRFbGVtZW50LnN0eWxlLmhlaWdodCA9IHNpemUuaGVpZ2h0ICsgJ3B4JztcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZXRIYW5kbGVQb3NpdGlvbnMoKTtcbiAgfVxuXG4gIGNhbGN1bGF0aW5nUG9zaXRpb24ocGFyZW50RWxlbWVudDogYW55LCBjbGFzc05hbWU6IHN0cmluZywgY29vcmRpbmF0ZXM6IFBvc2l0aW9uKTogU2l6ZSB7XG4gICAgc3dpdGNoICh0aGlzLnJvdGF0ZSkge1xuICAgICAgY2FzZSA5MDpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB3aWR0aDogY2xhc3NOYW1lLmluY2x1ZGVzKCdMRUZUJykgPyBwYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoIC0gY29vcmRpbmF0ZXMueSA6IHBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggKyBjb29yZGluYXRlcy55LFxuICAgICAgICAgIGhlaWdodDogY2xhc3NOYW1lLmluY2x1ZGVzKCdUT1AnKSA/IHBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgY29vcmRpbmF0ZXMueCA6ICBwYXJlbnRFbGVtZW50Lm9mZnNldEhlaWdodCAtIGNvb3JkaW5hdGVzLngsXG4gICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgIHg6IHBhcmVudEVsZW1lbnQub2Zmc2V0TGVmdCArIGNvb3JkaW5hdGVzLnksXG4gICAgICAgICAgICB5OiBwYXJlbnRFbGVtZW50Lm9mZnNldFRvcCAtIGNvb3JkaW5hdGVzLnhcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICBjYXNlIDE4MDpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB3aWR0aDogY2xhc3NOYW1lLmluY2x1ZGVzKCdMRUZUJykgPyBwYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoICsgY29vcmRpbmF0ZXMueCA6IHBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggLSBjb29yZGluYXRlcy54LFxuICAgICAgICAgIGhlaWdodDogY2xhc3NOYW1lLmluY2x1ZGVzKCdUT1AnKSA/IHBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgY29vcmRpbmF0ZXMueSA6ICBwYXJlbnRFbGVtZW50Lm9mZnNldEhlaWdodCAtIGNvb3JkaW5hdGVzLnksXG4gICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgIHg6IHBhcmVudEVsZW1lbnQub2Zmc2V0TGVmdCAtIGNvb3JkaW5hdGVzLngsXG4gICAgICAgICAgICB5OiBwYXJlbnRFbGVtZW50Lm9mZnNldFRvcCAtIGNvb3JkaW5hdGVzLnlcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICBjYXNlIDI3MDpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB3aWR0aDogY2xhc3NOYW1lLmluY2x1ZGVzKCdMRUZUJykgPyBwYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoICsgY29vcmRpbmF0ZXMueSA6IHBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggLSBjb29yZGluYXRlcy55LFxuICAgICAgICAgIGhlaWdodDogY2xhc3NOYW1lLmluY2x1ZGVzKCdUT1AnKSA/IHBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gY29vcmRpbmF0ZXMueCA6ICBwYXJlbnRFbGVtZW50Lm9mZnNldEhlaWdodCArIGNvb3JkaW5hdGVzLngsXG4gICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgIHg6IHBhcmVudEVsZW1lbnQub2Zmc2V0TGVmdCAtIGNvb3JkaW5hdGVzLnksXG4gICAgICAgICAgICB5OiBwYXJlbnRFbGVtZW50Lm9mZnNldFRvcCArIGNvb3JkaW5hdGVzLnhcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHdpZHRoOiBjbGFzc05hbWUuaW5jbHVkZXMoJ0xFRlQnKSA/IHBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggLSBjb29yZGluYXRlcy54IDogcGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aCArIGNvb3JkaW5hdGVzLngsXG4gICAgICAgICAgaGVpZ2h0OiBjbGFzc05hbWUuaW5jbHVkZXMoJ1RPUCcpID8gIHBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gY29vcmRpbmF0ZXMueSA6ICBwYXJlbnRFbGVtZW50Lm9mZnNldEhlaWdodCArIGNvb3JkaW5hdGVzLnksXG4gICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgIHg6IHBhcmVudEVsZW1lbnQub2Zmc2V0TGVmdCArIGNvb3JkaW5hdGVzLngsXG4gICAgICAgICAgICB5OiBwYXJlbnRFbGVtZW50Lm9mZnNldFRvcCArIGNvb3JkaW5hdGVzLnlcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRcIiBjbGFzcz1cInJlc2l6ZS1oYW5kbGVyc1wiPlxuICA8ZGl2ICNoYW5kbGUgI3RvcExlZnRcbiAgICAgICBjbGFzcz1cIlRPUC1MRUZUIGhhbmRsZVwiXG4gICAgICAgbXZEcmFnZ2FibGVcbiAgICAgICAocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bigkZXZlbnQpXCJcbiAgICAgICAoY29vcmRpbmF0ZXMpPVwicmVzaXplKHRvcExlZnQuY2xhc3NOYW1lLCAkZXZlbnQpXCI+PC9kaXY+XG4gIDxkaXYgI2hhbmRsZSAjdG9wUmlnaHRcbiAgICAgICBjbGFzcz1cIlRPUC1SSUdIVCBoYW5kbGVcIlxuICAgICAgIG12RHJhZ2dhYmxlXG4gICAgICAgKHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd24oJGV2ZW50KVwiXG4gICAgICAgKGNvb3JkaW5hdGVzKT1cInJlc2l6ZSh0b3BSaWdodC5jbGFzc05hbWUsICRldmVudClcIj48L2Rpdj5cbiAgPGRpdiAjaGFuZGxlICNib3R0b21MZWZ0XG4gICAgICAgY2xhc3M9XCJCT1RUT00tTEVGVCBoYW5kbGVcIlxuICAgICAgIG12RHJhZ2dhYmxlXG4gICAgICAgKHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd24oJGV2ZW50KVwiXG4gICAgICAgKGNvb3JkaW5hdGVzKT1cInJlc2l6ZShib3R0b21MZWZ0LmNsYXNzTmFtZSwgJGV2ZW50KVwiPjwvZGl2PlxuICA8ZGl2ICNoYW5kbGUgI2JvdHRvbVJpZ2h0XG4gICAgICAgY2xhc3M9XCJCT1RUT00tUklHSFQgaGFuZGxlXCJcbiAgICAgICBtdkRyYWdnYWJsZVxuICAgICAgIChwb2ludGVyZG93bik9XCJvblBvaW50ZXJEb3duKCRldmVudClcIlxuICAgICAgIChjb29yZGluYXRlcyk9XCJyZXNpemUoYm90dG9tUmlnaHQuY2xhc3NOYW1lLCAkZXZlbnQpXCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -82,10 +82,10 @@ export class CtxToolbarComponent {
82
82
  return popupLeft;
83
83
  }
84
84
  }
85
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtxToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
86
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CtxToolbarComponent, selector: "mv-ctx-toolbar", inputs: { zoom: "zoom", rotate: "rotate", pageHeight: "pageHeight", pageWidth: "pageWidth", canHighlight: "canHighlight", canBookmark: "canBookmark", canComment: "canComment", canDelete: "canDelete", rectangles: "rectangles" }, outputs: { createHighlightEvent: "createHighlightEvent", deleteHighlightEvent: "deleteHighlightEvent", addOrEditCommentEvent: "addOrEditCommentEvent", createBookmarkEvent: "createBookmarkEvent" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"toolbar\" *ngIf=\"rectangle\"\n [style.top.px]=\"top\"\n [style.left.px]=\"left\">\n <button *ngIf=\"canHighlight\"\n type=\"button\" title=\"Highlight\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn leftButton aui__toolbar-button-highlight\"\n (mousedown)=\"createHighlight()\">\n <span>Highlight</span>\n </button>\n <button *ngIf=\"canDelete\"\n type=\"button\" title=\"Delete\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn leftButton\"\n (mousedown)=\"deleteHighlight()\">\n <span>Remove</span>\n </button>\n <button *ngIf=\"canComment\"\n type=\"button\" title=\"Comment\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn rightButton aui__toolbar-button-comment\"\n (mousedown)=\"addOrEditComment()\">\n <span>Comment</span></button>\n <button *ngIf=\"canBookmark\"\n type=\"button\" title=\"Bookmark\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn rightButton aui__toolbar-button-bookmark\"\n id=\"bookmarkButton\"\n (mousedown)=\"createBookmark()\">\n <span>Bookmark</span></button>\n <div class=\"arrow-down\">\n <div class=\"inner-triangle\"></div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
85
87
  }
86
- /** @nocollapse */ CtxToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CtxToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
87
- /** @nocollapse */ CtxToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CtxToolbarComponent, selector: "mv-ctx-toolbar", inputs: { zoom: "zoom", rotate: "rotate", pageHeight: "pageHeight", pageWidth: "pageWidth", canHighlight: "canHighlight", canBookmark: "canBookmark", canComment: "canComment", canDelete: "canDelete", rectangles: "rectangles" }, outputs: { createHighlightEvent: "createHighlightEvent", deleteHighlightEvent: "deleteHighlightEvent", addOrEditCommentEvent: "addOrEditCommentEvent", createBookmarkEvent: "createBookmarkEvent" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"toolbar\" *ngIf=\"rectangle\"\n [style.top.px]=\"top\"\n [style.left.px]=\"left\">\n <button *ngIf=\"canHighlight\"\n type=\"button\" title=\"Highlight\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn leftButton aui__toolbar-button-highlight\"\n (mousedown)=\"createHighlight()\">\n <span>Highlight</span>\n </button>\n <button *ngIf=\"canDelete\"\n type=\"button\" title=\"Delete\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn leftButton\"\n (mousedown)=\"deleteHighlight()\">\n <span>Remove</span>\n </button>\n <button *ngIf=\"canComment\"\n type=\"button\" title=\"Comment\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn rightButton aui__toolbar-button-comment\"\n (mousedown)=\"addOrEditComment()\">\n <span>Comment</span></button>\n <button *ngIf=\"canBookmark\"\n type=\"button\" title=\"Bookmark\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn rightButton aui__toolbar-button-bookmark\"\n id=\"bookmarkButton\"\n (mousedown)=\"createBookmark()\">\n <span>Bookmark</span></button>\n <div class=\"arrow-down\">\n <div class=\"inner-triangle\"></div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CtxToolbarComponent, decorators: [{
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CtxToolbarComponent, decorators: [{
89
89
  type: Component,
90
90
  args: [{ selector: 'mv-ctx-toolbar', template: "<div class=\"toolbar\" *ngIf=\"rectangle\"\n [style.top.px]=\"top\"\n [style.left.px]=\"left\">\n <button *ngIf=\"canHighlight\"\n type=\"button\" title=\"Highlight\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn leftButton aui__toolbar-button-highlight\"\n (mousedown)=\"createHighlight()\">\n <span>Highlight</span>\n </button>\n <button *ngIf=\"canDelete\"\n type=\"button\" title=\"Delete\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn leftButton\"\n (mousedown)=\"deleteHighlight()\">\n <span>Remove</span>\n </button>\n <button *ngIf=\"canComment\"\n type=\"button\" title=\"Comment\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn rightButton aui__toolbar-button-comment\"\n (mousedown)=\"addOrEditComment()\">\n <span>Comment</span></button>\n <button *ngIf=\"canBookmark\"\n type=\"button\" title=\"Bookmark\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn rightButton aui__toolbar-button-bookmark\"\n id=\"bookmarkButton\"\n (mousedown)=\"createBookmark()\">\n <span>Bookmark</span></button>\n <div class=\"arrow-down\">\n <div class=\"inner-triangle\"></div>\n </div>\n</div>\n" }]
91
91
  }], ctorParameters: function () { return []; }, propDecorators: { zoom: [{
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
115
115
  }], rectangles: [{
116
116
  type: Input
117
117
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3R4LXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvY3R4LXRvb2xiYXIvY3R4LXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvY3R4LXRvb2xiYXIvY3R4LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQzs7O0FBT3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUF5QjlCO1FBVlUseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxQyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFDLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0Msd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQVE1RCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBYSxVQUFVLENBQUMsVUFBdUI7UUFDN0MsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FB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Z0JBRUksb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQWtCTSxVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWN0YW5nbGUgfSBmcm9tICcuLi9hbm5vdGF0aW9uLXZpZXcvcmVjdGFuZ2xlL3JlY3RhbmdsZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LWN0eC10b29sYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N0eC10b29sYmFyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDdHhUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICByZWFkb25seSBkZWZhdWx0SGVpZ2h0O1xuICByZWFkb25seSBkZWZhdWx0V2lkdGg7XG5cbiAgQElucHV0KCkgem9vbTtcbiAgQElucHV0KCkgcm90YXRlO1xuICBASW5wdXQoKSBwYWdlSGVpZ2h0OiBudW1iZXI7XG4gIEBJbnB1dCgpIHBhZ2VXaWR0aDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIGNhbkhpZ2hsaWdodDogYm9vbGVhbjtcbiAgQElucHV0KCkgY2FuQm9va21hcms6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNhbkNvbW1lbnQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNhbkRlbGV0ZTogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgY3JlYXRlSGlnaGxpZ2h0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBkZWxldGVIaWdobGlnaHRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGFkZE9yRWRpdENvbW1lbnRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNyZWF0ZUJvb2ttYXJrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlY3RhbmdsZT4oKTtcblxuICByZWN0YW5nbGU6IFJlY3RhbmdsZTtcbiAgX3JlY3RhbmdsZXM6IFJlY3RhbmdsZVtdO1xuICB0b3A6IG51bWJlcjtcbiAgbGVmdDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGVmYXVsdEhlaWdodCA9IDcwO1xuICAgIHRoaXMuZGVmYXVsdFdpZHRoID0gMzAwO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIHRoaXMuc2V0UmVjdGFuZ2xlKCk7XG4gICAgdGhpcy50b3AgPSB0aGlzLnBvcHVwVG9wKCk7XG4gICAgdGhpcy5sZWZ0ID0gdGhpcy5wb3B1cExlZnQoKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCByZWN0YW5nbGVzKHJlY3RhbmdsZXM6IFJlY3RhbmdsZVtdKSB7XG4gICAgaWYgKHJlY3RhbmdsZXMpIHtcbiAgICAgIHRoaXMuX3JlY3RhbmdsZXMgPSByZWN0YW5nbGVzO1xuICAgICAgdGhpcy5zZXRSZWN0YW5nbGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcmVjdGFuZ2xlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVjdGFuZ2xlcztcbiAgfVxuXG4gIGNyZWF0ZUhpZ2hsaWdodCgpIHtcbiAgICB0aGlzLmNyZWF0ZUhpZ2hsaWdodEV2ZW50LmVtaXQoKTtcbiAgICB0aGlzLnJlY3RhbmdsZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGRlbGV0ZUhpZ2hsaWdodCgpIHtcbiAgICB0aGlzLmRlbGV0ZUhpZ2hsaWdodEV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGFkZE9yRWRpdENvbW1lbnQoKSB7XG4gICAgdGhpcy5hZGRPckVkaXRDb21tZW50RXZlbnQuZW1pdCgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFsb2NhdGlvbi5oYXNoKSB7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWV3ZXJDb250YWluZXInKS5zY3JvbGxCeSgwLCAxKTtcbiAgICAgIH1cbiAgICB9LCAxMCk7XG4gIH1cblxuICBjcmVhdGVCb29rbWFyaygpIHtcbiAgICB0aGlzLmNyZWF0ZUJvb2ttYXJrRXZlbnQuZW1pdCh0aGlzLnJlY3RhbmdsZSk7XG4gICAgdGhpcy5yZWN0YW5nbGUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBzZXRSZWN0YW5nbGUoKSB7XG4gICAgY29uc3QgcmVjdGFuZ2xlID0gdGhpcy5yZWN0YW5nbGVzXG4gICAgICAucmVkdWNlKChwcmV2LCBjdXJyZW50KSA9PiBwcmV2LnkgPCBjdXJyZW50LnkgPyBwcmV2IDogY3VycmVudCk7XG4gICAgdGhpcy5yZWN0YW5nbGUgPSAgeyAuLi5yZWN0YW5nbGUgfTtcbiAgICBzd2l0Y2ggKHRoaXMucm90YXRlKSB7XG4gICAgICBjYXNlIDkwOlxuICAgICAgICB0aGlzLnJlY3RhbmdsZS53aWR0aCA9IHJlY3RhbmdsZS5oZWlnaHQ7XG4gICAgICAgIHRoaXMucmVjdGFuZ2xlLmhlaWdodCA9IHJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgdGhpcy5yZWN0YW5nbGUueCA9ICh0aGlzLnBhZ2VXaWR0aCAvIHRoaXMuem9vbSkgLSByZWN0YW5nbGUueSAtIHJlY3RhbmdsZS5oZWlnaHQ7XG4gICAgICAgIHRoaXMucmVjdGFuZ2xlLnkgPSByZWN0YW5nbGUueDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDE4MDpcbiAgICAgICAgdGhpcy5yZWN0YW5nbGUueCA9ICh0aGlzLnBhZ2VXaWR0aCAvIHRoaXMuem9vbSkgLSByZWN0YW5nbGUueCAtIHJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgdGhpcy5yZWN0YW5nbGUueSA9ICh0aGlzLnBhZ2VIZWlnaHQgLyB0aGlzLnpvb20pIC0gcmVjdGFuZ2xlLnkgLSByZWN0YW5nbGUuaGVpZ2h0O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjcwOlxuICAgICAgICB0aGlzLnJlY3RhbmdsZS53aWR0aCA9IHJlY3RhbmdsZS5oZWlnaHQ7XG4gICAgICAgIHRoaXMucmVjdGFuZ2xlLmhlaWdodCA9IHJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgdGhpcy5yZWN0YW5nbGUueCA9IHJlY3RhbmdsZS55O1xuICAgICAgICB0aGlzLnJlY3RhbmdsZS55ID0gKHRoaXMucGFnZUhlaWdodCAvIHRoaXMuem9vbSkgLSByZWN0YW5nbGUueCAtIHJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcG9wdXBUb3AoKSB7XG4gICAgY29uc3QgcG9wdXBUb3AgPSB0aGlzLnJlY3RhbmdsZS55ICogdGhpcy56b29tIC0gdGhpcy5kZWZhdWx0SGVpZ2h0O1xuICAgIHJldHVybiBwb3B1cFRvcCA8PSAwID8gdGhpcy5kZWZhdWx0SGVpZ2h0IDogcG9wdXBUb3A7XG4gIH1cblxuICBwb3B1cExlZnQoKSB7XG4gICAgY29uc3QgcG9wdXBMZWZ0ID0gKHRoaXMucmVjdGFuZ2xlLnggKyAodGhpcy5yZWN0YW5nbGUud2lkdGggLyAyKSkgKiB0aGlzLnpvb20gLSAodGhpcy5kZWZhdWx0V2lkdGggLyAyKTtcbiAgICBpZiAocG9wdXBMZWZ0IDw9IDApIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH0gZWxzZSBpZiAocG9wdXBMZWZ0ID49IHRoaXMucGFnZVdpZHRoIC0gdGhpcy5kZWZhdWx0V2lkdGgpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhZ2VXaWR0aCAtIHRoaXMuZGVmYXVsdFdpZHRoO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcG9wdXBMZWZ0O1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRvb2xiYXJcIiAqbmdJZj1cInJlY3RhbmdsZVwiXG4gICAgIFtzdHlsZS50b3AucHhdPVwidG9wXCJcbiAgICAgW3N0eWxlLmxlZnQucHhdPVwibGVmdFwiPlxuICA8YnV0dG9uICpuZ0lmPVwiY2FuSGlnaGxpZ2h0XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgdGl0bGU9XCJIaWdobGlnaHRcIlxuICAgICAgICAgIGNsYXNzPVwiYXVpX190b29sYmFyLWJ1dHRvbiBhdWlfX3Rvb2xiYXItYnV0dG9uLS1jb21tZW50cyBjb250ZXh0dWFsLWJ0biBsZWZ0QnV0dG9uIGF1aV9fdG9vbGJhci1idXR0b24taGlnaGxpZ2h0XCJcbiAgICAgICAgICAobW91c2Vkb3duKT1cImNyZWF0ZUhpZ2hsaWdodCgpXCI+XG4gICAgPHNwYW4+SGlnaGxpZ2h0PC9zcGFuPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiAqbmdJZj1cImNhbkRlbGV0ZVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiIHRpdGxlPVwiRGVsZXRlXCJcbiAgICAgICAgICBjbGFzcz1cImF1aV9fdG9vbGJhci1idXR0b24gYXVpX190b29sYmFyLWJ1dHRvbi0tY29tbWVudHMgY29udGV4dHVhbC1idG4gbGVmdEJ1dHRvblwiXG4gICAgICAgICAgKG1vdXNlZG93bik9XCJkZWxldGVIaWdobGlnaHQoKVwiPlxuICAgIDxzcGFuPlJlbW92ZTwvc3Bhbj5cbiAgPC9idXR0b24+XG4gIDxidXR0b24gKm5nSWY9XCJjYW5Db21tZW50XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgdGl0bGU9XCJDb21tZW50XCJcbiAgICAgICAgICBjbGFzcz1cImF1aV9fdG9vbGJhci1idXR0b24gYXVpX190b29sYmFyLWJ1dHRvbi0tY29tbWVudHMgY29udGV4dHVhbC1idG4gcmlnaHRCdXR0b24gYXVpX190b29sYmFyLWJ1dHRvbi1jb21tZW50XCJcbiAgICAgICAgICAobW91c2Vkb3duKT1cImFkZE9yRWRpdENvbW1lbnQoKVwiPlxuICAgIDxzcGFuPkNvbW1lbnQ8L3NwYW4+PC9idXR0b24+XG4gIDxidXR0b24gKm5nSWY9XCJjYW5Cb29rbWFya1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiIHRpdGxlPVwiQm9va21hcmtcIlxuICAgICAgICAgIGNsYXNzPVwiYXVpX190b29sYmFyLWJ1dHRvbiBhdWlfX3Rvb2xiYXItYnV0dG9uLS1jb21tZW50cyBjb250ZXh0dWFsLWJ0biByaWdodEJ1dHRvbiBhdWlfX3Rvb2xiYXItYnV0dG9uLWJvb2ttYXJrXCJcbiAgICAgICAgICBpZD1cImJvb2ttYXJrQnV0dG9uXCJcbiAgICAgICAgICAobW91c2Vkb3duKT1cImNyZWF0ZUJvb2ttYXJrKClcIj5cbiAgICA8c3Bhbj5Cb29rbWFyazwvc3Bhbj48L2J1dHRvbj5cbiAgPGRpdiBjbGFzcz1cImFycm93LWRvd25cIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5uZXItdHJpYW5nbGVcIj48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3R4LXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvY3R4LXRvb2xiYXIvY3R4LXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvY3R4LXRvb2xiYXIvY3R4LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQzs7O0FBT3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUF5QjlCO1FBVlUseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxQyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFDLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0Msd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQVE1RCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBYSxVQUFVLENBQUMsVUFBdUI7UUFDN0MsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FB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Z0JBRUksb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQWtCTSxVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWN0YW5nbGUgfSBmcm9tICcuLi9hbm5vdGF0aW9uLXZpZXcvcmVjdGFuZ2xlL3JlY3RhbmdsZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LWN0eC10b29sYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N0eC10b29sYmFyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDdHhUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICByZWFkb25seSBkZWZhdWx0SGVpZ2h0O1xuICByZWFkb25seSBkZWZhdWx0V2lkdGg7XG5cbiAgQElucHV0KCkgem9vbTtcbiAgQElucHV0KCkgcm90YXRlO1xuICBASW5wdXQoKSBwYWdlSGVpZ2h0OiBudW1iZXI7XG4gIEBJbnB1dCgpIHBhZ2VXaWR0aDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIGNhbkhpZ2hsaWdodDogYm9vbGVhbjtcbiAgQElucHV0KCkgY2FuQm9va21hcms6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNhbkNvbW1lbnQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNhbkRlbGV0ZTogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgY3JlYXRlSGlnaGxpZ2h0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBkZWxldGVIaWdobGlnaHRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGFkZE9yRWRpdENvbW1lbnRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNyZWF0ZUJvb2ttYXJrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlY3RhbmdsZT4oKTtcblxuICByZWN0YW5nbGU6IFJlY3RhbmdsZTtcbiAgX3JlY3RhbmdsZXM6IFJlY3RhbmdsZVtdO1xuICB0b3A6IG51bWJlcjtcbiAgbGVmdDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGVmYXVsdEhlaWdodCA9IDcwO1xuICAgIHRoaXMuZGVmYXVsdFdpZHRoID0gMzAwO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIHRoaXMuc2V0UmVjdGFuZ2xlKCk7XG4gICAgdGhpcy50b3AgPSB0aGlzLnBvcHVwVG9wKCk7XG4gICAgdGhpcy5sZWZ0ID0gdGhpcy5wb3B1cExlZnQoKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCByZWN0YW5nbGVzKHJlY3RhbmdsZXM6IFJlY3RhbmdsZVtdKSB7XG4gICAgaWYgKHJlY3RhbmdsZXMpIHtcbiAgICAgIHRoaXMuX3JlY3RhbmdsZXMgPSByZWN0YW5nbGVzO1xuICAgICAgdGhpcy5zZXRSZWN0YW5nbGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcmVjdGFuZ2xlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVjdGFuZ2xlcztcbiAgfVxuXG4gIGNyZWF0ZUhpZ2hsaWdodCgpIHtcbiAgICB0aGlzLmNyZWF0ZUhpZ2hsaWdodEV2ZW50LmVtaXQoKTtcbiAgICB0aGlzLnJlY3RhbmdsZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGRlbGV0ZUhpZ2hsaWdodCgpIHtcbiAgICB0aGlzLmRlbGV0ZUhpZ2hsaWdodEV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGFkZE9yRWRpdENvbW1lbnQoKSB7XG4gICAgdGhpcy5hZGRPckVkaXRDb21tZW50RXZlbnQuZW1pdCgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFsb2NhdGlvbi5oYXNoKSB7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWV3ZXJDb250YWluZXInKS5zY3JvbGxCeSgwLCAxKTtcbiAgICAgIH1cbiAgICB9LCAxMCk7XG4gIH1cblxuICBjcmVhdGVCb29rbWFyaygpIHtcbiAgICB0aGlzLmNyZWF0ZUJvb2ttYXJrRXZlbnQuZW1pdCh0aGlzLnJlY3RhbmdsZSk7XG4gICAgdGhpcy5yZWN0YW5nbGUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBzZXRSZWN0YW5nbGUoKSB7XG4gICAgY29uc3QgcmVjdGFuZ2xlID0gdGhpcy5yZWN0YW5nbGVzXG4gICAgICAucmVkdWNlKChwcmV2LCBjdXJyZW50KSA9PiBwcmV2LnkgPCBjdXJyZW50LnkgPyBwcmV2IDogY3VycmVudCk7XG4gICAgdGhpcy5yZWN0YW5nbGUgPSAgeyAuLi5yZWN0YW5nbGUgfTtcbiAgICBzd2l0Y2ggKHRoaXMucm90YXRlKSB7XG4gICAgICBjYXNlIDkwOlxuICAgICAgICB0aGlzLnJlY3RhbmdsZS53aWR0aCA9IHJlY3RhbmdsZS5oZWlnaHQ7XG4gICAgICAgIHRoaXMucmVjdGFuZ2xlLmhlaWdodCA9IHJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgdGhpcy5yZWN0YW5nbGUueCA9ICh0aGlzLnBhZ2VXaWR0aCAvIHRoaXMuem9vbSkgLSByZWN0YW5nbGUueSAtIHJlY3RhbmdsZS5oZWlnaHQ7XG4gICAgICAgIHRoaXMucmVjdGFuZ2xlLnkgPSByZWN0YW5nbGUueDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDE4MDpcbiAgICAgICAgdGhpcy5yZWN0YW5nbGUueCA9ICh0aGlzLnBhZ2VXaWR0aCAvIHRoaXMuem9vbSkgLSByZWN0YW5nbGUueCAtIHJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgdGhpcy5yZWN0YW5nbGUueSA9ICh0aGlzLnBhZ2VIZWlnaHQgLyB0aGlzLnpvb20pIC0gcmVjdGFuZ2xlLnkgLSByZWN0YW5nbGUuaGVpZ2h0O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjcwOlxuICAgICAgICB0aGlzLnJlY3RhbmdsZS53aWR0aCA9IHJlY3RhbmdsZS5oZWlnaHQ7XG4gICAgICAgIHRoaXMucmVjdGFuZ2xlLmhlaWdodCA9IHJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgdGhpcy5yZWN0YW5nbGUueCA9IHJlY3RhbmdsZS55O1xuICAgICAgICB0aGlzLnJlY3RhbmdsZS55ID0gKHRoaXMucGFnZUhlaWdodCAvIHRoaXMuem9vbSkgLSByZWN0YW5nbGUueCAtIHJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcG9wdXBUb3AoKSB7XG4gICAgY29uc3QgcG9wdXBUb3AgPSB0aGlzLnJlY3RhbmdsZS55ICogdGhpcy56b29tIC0gdGhpcy5kZWZhdWx0SGVpZ2h0O1xuICAgIHJldHVybiBwb3B1cFRvcCA8PSAwID8gdGhpcy5kZWZhdWx0SGVpZ2h0IDogcG9wdXBUb3A7XG4gIH1cblxuICBwb3B1cExlZnQoKSB7XG4gICAgY29uc3QgcG9wdXBMZWZ0ID0gKHRoaXMucmVjdGFuZ2xlLnggKyAodGhpcy5yZWN0YW5nbGUud2lkdGggLyAyKSkgKiB0aGlzLnpvb20gLSAodGhpcy5kZWZhdWx0V2lkdGggLyAyKTtcbiAgICBpZiAocG9wdXBMZWZ0IDw9IDApIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH0gZWxzZSBpZiAocG9wdXBMZWZ0ID49IHRoaXMucGFnZVdpZHRoIC0gdGhpcy5kZWZhdWx0V2lkdGgpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhZ2VXaWR0aCAtIHRoaXMuZGVmYXVsdFdpZHRoO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcG9wdXBMZWZ0O1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRvb2xiYXJcIiAqbmdJZj1cInJlY3RhbmdsZVwiXG4gICAgIFtzdHlsZS50b3AucHhdPVwidG9wXCJcbiAgICAgW3N0eWxlLmxlZnQucHhdPVwibGVmdFwiPlxuICA8YnV0dG9uICpuZ0lmPVwiY2FuSGlnaGxpZ2h0XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgdGl0bGU9XCJIaWdobGlnaHRcIlxuICAgICAgICAgIGNsYXNzPVwiYXVpX190b29sYmFyLWJ1dHRvbiBhdWlfX3Rvb2xiYXItYnV0dG9uLS1jb21tZW50cyBjb250ZXh0dWFsLWJ0biBsZWZ0QnV0dG9uIGF1aV9fdG9vbGJhci1idXR0b24taGlnaGxpZ2h0XCJcbiAgICAgICAgICAobW91c2Vkb3duKT1cImNyZWF0ZUhpZ2hsaWdodCgpXCI+XG4gICAgPHNwYW4+SGlnaGxpZ2h0PC9zcGFuPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiAqbmdJZj1cImNhbkRlbGV0ZVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiIHRpdGxlPVwiRGVsZXRlXCJcbiAgICAgICAgICBjbGFzcz1cImF1aV9fdG9vbGJhci1idXR0b24gYXVpX190b29sYmFyLWJ1dHRvbi0tY29tbWVudHMgY29udGV4dHVhbC1idG4gbGVmdEJ1dHRvblwiXG4gICAgICAgICAgKG1vdXNlZG93bik9XCJkZWxldGVIaWdobGlnaHQoKVwiPlxuICAgIDxzcGFuPlJlbW92ZTwvc3Bhbj5cbiAgPC9idXR0b24+XG4gIDxidXR0b24gKm5nSWY9XCJjYW5Db21tZW50XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgdGl0bGU9XCJDb21tZW50XCJcbiAgICAgICAgICBjbGFzcz1cImF1aV9fdG9vbGJhci1idXR0b24gYXVpX190b29sYmFyLWJ1dHRvbi0tY29tbWVudHMgY29udGV4dHVhbC1idG4gcmlnaHRCdXR0b24gYXVpX190b29sYmFyLWJ1dHRvbi1jb21tZW50XCJcbiAgICAgICAgICAobW91c2Vkb3duKT1cImFkZE9yRWRpdENvbW1lbnQoKVwiPlxuICAgIDxzcGFuPkNvbW1lbnQ8L3NwYW4+PC9idXR0b24+XG4gIDxidXR0b24gKm5nSWY9XCJjYW5Cb29rbWFya1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiIHRpdGxlPVwiQm9va21hcmtcIlxuICAgICAgICAgIGNsYXNzPVwiYXVpX190b29sYmFyLWJ1dHRvbiBhdWlfX3Rvb2xiYXItYnV0dG9uLS1jb21tZW50cyBjb250ZXh0dWFsLWJ0biByaWdodEJ1dHRvbiBhdWlfX3Rvb2xiYXItYnV0dG9uLWJvb2ttYXJrXCJcbiAgICAgICAgICBpZD1cImJvb2ttYXJrQnV0dG9uXCJcbiAgICAgICAgICAobW91c2Vkb3duKT1cImNyZWF0ZUJvb2ttYXJrKClcIj5cbiAgICA8c3Bhbj5Cb29rbWFyazwvc3Bhbj48L2J1dHRvbj5cbiAgPGRpdiBjbGFzcz1cImFycm93LWRvd25cIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5uZXItdHJpYW5nbGVcIj48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -72,10 +72,10 @@ export class MetadataLayerComponent {
72
72
  this.highlightService.saveAnnotation(rectangles, page);
73
73
  this.toolbarEvents.drawModeSubject.next(false);
74
74
  }
75
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataLayerComponent, deps: [{ token: i1.Store }, { token: i2.HighlightCreateService }, { token: i3.ToolbarEventService }, { token: i4.ViewerEventService }], target: i0.ɵɵFactoryTarget.Component }); }
76
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MetadataLayerComponent, selector: "mv-metadata-layer", inputs: { zoom: "zoom", rotate: "rotate" }, ngImport: i0, template: "<div class=\"pageContainer\">\n <div *ngFor=\"let page of pages; index as i\"\n class=\"pageContainer__page\"\n [ngStyle]=\"{\n 'width.px': page.styles.width,\n 'height.px': page.styles.height\n }\"\n [ngClass]=\"{ 'pageContainer__page--draw' : drawMode }\">\n <mv-box-highlight-create\n [page]=\"i + 1\"\n [pageHeight]=\"page.styles.height\"\n [pageWidth]=\"page.styles.width\"\n [rotate]=\"rotate\"\n [zoom]=\"zoom\"\n (saveSelection)=\"saveAnnotation($event)\">\n </mv-box-highlight-create>\n <mv-ctx-toolbar *ngIf=\"rectangles && highlightPage === (i + 1)\"\n [rectangles]=\"rectangles\"\n [canBookmark]=\"true\" [canHighlight]=\"true\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"page.styles.height\"\n [pageWidth]=\"page.styles.width\"\n (createBookmarkEvent)=\"createBookmark($event)\"\n (createHighlightEvent)=\"createHighlight()\">\n </mv-ctx-toolbar>\n <div class=\"pageContainer__page-item\">\n <mv-annotation-set *ngIf=\"(annoPages$ | async) as annoPages\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"page.styles.height\"\n [pageWidth]=\"page.styles.width\"\n [page]=\"i\" [annotations]=\"annoPages[i + 1]\"></mv-annotation-set>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i6.BoxHighlightCreateComponent, selector: "mv-box-highlight-create", inputs: ["page", "pageHeight", "pageWidth", "rotate", "zoom", "container"], outputs: ["saveSelection"] }, { kind: "component", type: i7.AnnotationSetComponent, selector: "mv-annotation-set", inputs: ["page", "annotations", "zoom", "rotate", "pageHeight", "pageWidth"] }, { kind: "component", type: i8.CtxToolbarComponent, selector: "mv-ctx-toolbar", inputs: ["zoom", "rotate", "pageHeight", "pageWidth", "canHighlight", "canBookmark", "canComment", "canDelete", "rectangles"], outputs: ["createHighlightEvent", "deleteHighlightEvent", "addOrEditCommentEvent", "createBookmarkEvent"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] }); }
75
77
  }
76
- /** @nocollapse */ MetadataLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetadataLayerComponent, deps: [{ token: i1.Store }, { token: i2.HighlightCreateService }, { token: i3.ToolbarEventService }, { token: i4.ViewerEventService }], target: i0.ɵɵFactoryTarget.Component });
77
- /** @nocollapse */ MetadataLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MetadataLayerComponent, selector: "mv-metadata-layer", inputs: { zoom: "zoom", rotate: "rotate" }, ngImport: i0, template: "<div class=\"pageContainer\">\n <div *ngFor=\"let page of pages; index as i\"\n class=\"pageContainer__page\"\n [ngStyle]=\"{\n 'width.px': page.styles.width,\n 'height.px': page.styles.height\n }\"\n [ngClass]=\"{ 'pageContainer__page--draw' : drawMode }\">\n <mv-box-highlight-create\n [page]=\"i + 1\"\n [pageHeight]=\"page.styles.height\"\n [pageWidth]=\"page.styles.width\"\n [rotate]=\"rotate\"\n [zoom]=\"zoom\"\n (saveSelection)=\"saveAnnotation($event)\">\n </mv-box-highlight-create>\n <mv-ctx-toolbar *ngIf=\"rectangles && highlightPage === (i + 1)\"\n [rectangles]=\"rectangles\"\n [canBookmark]=\"true\" [canHighlight]=\"true\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"page.styles.height\"\n [pageWidth]=\"page.styles.width\"\n (createBookmarkEvent)=\"createBookmark($event)\"\n (createHighlightEvent)=\"createHighlight()\">\n </mv-ctx-toolbar>\n <div class=\"pageContainer__page-item\">\n <mv-annotation-set *ngIf=\"(annoPages$ | async) as annoPages\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"page.styles.height\"\n [pageWidth]=\"page.styles.width\"\n [page]=\"i\" [annotations]=\"annoPages[i + 1]\"></mv-annotation-set>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i6.BoxHighlightCreateComponent, selector: "mv-box-highlight-create", inputs: ["page", "pageHeight", "pageWidth", "rotate", "zoom", "container"], outputs: ["saveSelection"] }, { kind: "component", type: i7.AnnotationSetComponent, selector: "mv-annotation-set", inputs: ["page", "annotations", "zoom", "rotate", "pageHeight", "pageWidth"] }, { kind: "component", type: i8.CtxToolbarComponent, selector: "mv-ctx-toolbar", inputs: ["zoom", "rotate", "pageHeight", "pageWidth", "canHighlight", "canBookmark", "canComment", "canDelete", "rectangles"], outputs: ["createHighlightEvent", "deleteHighlightEvent", "addOrEditCommentEvent", "createBookmarkEvent"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetadataLayerComponent, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataLayerComponent, decorators: [{
79
79
  type: Component,
80
80
  args: [{ selector: 'mv-metadata-layer', template: "<div class=\"pageContainer\">\n <div *ngFor=\"let page of pages; index as i\"\n class=\"pageContainer__page\"\n [ngStyle]=\"{\n 'width.px': page.styles.width,\n 'height.px': page.styles.height\n }\"\n [ngClass]=\"{ 'pageContainer__page--draw' : drawMode }\">\n <mv-box-highlight-create\n [page]=\"i + 1\"\n [pageHeight]=\"page.styles.height\"\n [pageWidth]=\"page.styles.width\"\n [rotate]=\"rotate\"\n [zoom]=\"zoom\"\n (saveSelection)=\"saveAnnotation($event)\">\n </mv-box-highlight-create>\n <mv-ctx-toolbar *ngIf=\"rectangles && highlightPage === (i + 1)\"\n [rectangles]=\"rectangles\"\n [canBookmark]=\"true\" [canHighlight]=\"true\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"page.styles.height\"\n [pageWidth]=\"page.styles.width\"\n (createBookmarkEvent)=\"createBookmark($event)\"\n (createHighlightEvent)=\"createHighlight()\">\n </mv-ctx-toolbar>\n <div class=\"pageContainer__page-item\">\n <mv-annotation-set *ngIf=\"(annoPages$ | async) as annoPages\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"page.styles.height\"\n [pageWidth]=\"page.styles.width\"\n [page]=\"i\" [annotations]=\"annoPages[i + 1]\"></mv-annotation-set>\n </div>\n </div>\n</div>\n" }]
81
81
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.HighlightCreateService }, { type: i3.ToolbarEventService }, { type: i4.ViewerEventService }]; }, propDecorators: { zoom: [{
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
83
83
  }], rotate: [{
84
84
  type: Input
85
85
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvbWV0YWRhdGEtbGF5ZXIvbWV0YWRhdGEtbGF5ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvbWV0YWRhdGEtbGF5ZXIvbWV0YWRhdGEtbGF5ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsTUFBTSxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sS0FBSyxZQUFZLE1BQU0sNkNBQTZDLENBQUM7QUFDNUUsT0FBTyxLQUFLLGFBQWEsTUFBTSwrQ0FBK0MsQ0FBQztBQUcvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDekUsT0FBTyxLQUFLLGFBQWEsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7OztBQVE3RSxNQUFNLE9BQU8sc0JBQXNCO0lBY2pDLFlBQ1UsS0FBMEMsRUFDakMsZ0JBQXdDLEVBQ3hDLGFBQWtDLEVBQ2xDLFlBQWdDO1FBSHpDLFVBQUssR0FBTCxLQUFLLENBQXFDO1FBQ2pDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUFDeEMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQWJuRCxV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LENBQUM7Z0JBQ3hCLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQzthQUNsQixDQUFDLENBQUMsQ0FBQztZQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBRTlCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQTBDO1FBQ3pFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDOzt1SUEzRVUsc0JBQXNCOzJIQUF0QixzQkFBc0IscUdDcEJuQyx5aERBb0NBOzRGRGhCYSxzQkFBc0I7a0JBSmxDLFNBQVM7K0JBQ0UsbUJBQW1CO29NQUtwQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5cbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuLi8uLi8uLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnQgZnJvbSAnLi4vLi4vLi4vc3RvcmUvc2VsZWN0b3JzL2RvY3VtZW50LnNlbGVjdG9ycyc7XG5pbXBvcnQgKiBhcyBmcm9tU2VsZWN0b3JzIGZyb20gJy4uLy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9hbm5vdGF0aW9uLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBIaWdobGlnaHRDcmVhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ub3RhdGlvbi1jcmVhdGUvaGlnaGxpZ2h0LWNyZWF0ZS9oaWdobGlnaHQtY3JlYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlIH0gZnJvbSAnLi4vYW5ub3RhdGlvbi12aWV3L3JlY3RhbmdsZS9yZWN0YW5nbGUubW9kZWwnO1xuaW1wb3J0IHsgQ3JlYXRlQm9va21hcmsgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9hY3Rpb25zL2Jvb2ttYXJrLmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbUJvb2ttYXJrcyBmcm9tICcuLi8uLi8uLi9zdG9yZS9zZWxlY3RvcnMvYm9va21hcmsuc2VsZWN0b3JzJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBIaWdobGlnaHQsIFZpZXdlckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3ZpZXdlcnMvdmlld2VyLWV2ZW50LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1tZXRhZGF0YS1sYXllcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRhZGF0YS1sYXllci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFMYXllckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSB6b29tOiBudW1iZXI7XG4gIEBJbnB1dCgpIHJvdGF0ZTogbnVtYmVyO1xuXG4gIHBhZ2VzOiBhbnlbXSA9IFtdOyAvLyB0b2RvIGFkZCB0eXBlXG4gIGFubm9QYWdlcyQ6IE9ic2VydmFibGU8YW55PjsgLy8gdG9kbyBhZGQgdHlwZVxuXG4gIGRyYXdNb2RlID0gZmFsc2U7XG4gIGhpZ2hsaWdodFBhZ2U6IG51bWJlcjtcbiAgcmVjdGFuZ2xlczogUmVjdGFuZ2xlW107XG5cbiAgcHJpdmF0ZSAkc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGZyb21TdG9yZS5Bbm5vdGF0aW9uU2V0U3RhdGU+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGlnaGxpZ2h0U2VydmljZTogSGlnaGxpZ2h0Q3JlYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3ZXJFdmVudHM6IFZpZXdlckV2ZW50U2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucyA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoZnJvbURvY3VtZW50LmdldFBhZ2VzKSlcbiAgICAgIC5zdWJzY3JpYmUocGFnZXMgPT4gdGhpcy5wYWdlcyA9IE9iamVjdC52YWx1ZXMocGFnZXMpKTtcbiAgICB0aGlzLmFubm9QYWdlcyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21TZWxlY3RvcnMuZ2V0UGFnZUVudGl0aWVzKSk7XG5cbiAgICB0aGlzLiRzdWJzY3JpcHRpb25zLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuZHJhd01vZGVTdWJqZWN0LnN1YnNjcmliZShkcmF3TW9kZSA9PiB0aGlzLmRyYXdNb2RlID0gZHJhd01vZGUpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb25zLmFkZCh0aGlzLnZpZXdlckV2ZW50cy50ZXh0SGlnaGxpZ2h0LnN1YnNjcmliZShoaWdobGlnaHQgPT4gdGhpcy5zaG93Q29udGV4dFRvb2xiYXIoaGlnaGxpZ2h0KSkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbnMuYWRkKHRoaXMudmlld2VyRXZlbnRzLmN0eFRvb2xiYXJDbGVhcmVkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsZWFyQ29udGV4dFRvb2xiYXIoKSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgc2hvd0NvbnRleHRUb29sYmFyKGhpZ2hsaWdodDogSGlnaGxpZ2h0KSB7XG4gICAgdGhpcy5oaWdobGlnaHRQYWdlID0gaGlnaGxpZ2h0LnBhZ2U7XG4gICAgdGhpcy5yZWN0YW5nbGVzID0gaGlnaGxpZ2h0LnJlY3RhbmdsZXM7XG4gICAgaWYgKHRoaXMucmVjdGFuZ2xlcykge1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmhpZ2hsaWdodE1vZGVTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyQ29udGV4dFRvb2xiYXIoKSB7XG4gICAgdGhpcy5yZWN0YW5nbGVzID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgY3JlYXRlSGlnaGxpZ2h0KCkge1xuICAgIHRoaXMuaGlnaGxpZ2h0U2VydmljZS5zYXZlQW5ub3RhdGlvbih0aGlzLnJlY3RhbmdsZXMsIHRoaXMuaGlnaGxpZ2h0UGFnZSk7XG4gICAgdGhpcy5oaWdobGlnaHRTZXJ2aWNlLnJlc2V0SGlnaGxpZ2h0KCk7XG4gICAgdGhpcy5yZWN0YW5nbGVzID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgY3JlYXRlQm9va21hcmsocmVjdGFuZ2xlOiBSZWN0YW5nbGUpIHtcbiAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21Cb29rbWFya3MuZ2V0Qm9va21hcmtJbmZvKSwgdGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKGJvb2ttYXJrSW5mbykgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQ3JlYXRlQm9va21hcmsoe1xuICAgICAgICAgIC4uLmJvb2ttYXJrSW5mbyxcbiAgICAgICAgICBuYW1lOiBzZWxlY3Rpb24ubGVuZ3RoID4gMCA/IHNlbGVjdGlvbi5zdWJzdHIoMCwgMzApIDogJ25ldyBib29rbWFyaycsXG4gICAgICAgICAgaWQ6IHV1aWQoKSxcbiAgICAgICAgICBwYWdlTnVtYmVyOiB0aGlzLmhpZ2hsaWdodFBhZ2UgLSAxLFxuICAgICAgICAgIHhDb29yZGluYXRlOiByZWN0YW5nbGUueCxcbiAgICAgICAgICB5Q29vcmRpbmF0ZTogcmVjdGFuZ2xlLnlcbiAgICAgICAgfSBhcyBhbnkpKTtcbiAgICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZVNpZGVCYXIodHJ1ZSk7XG4gICAgICAgIHRoaXMudG9vbGJhckV2ZW50cy50b2dnbGVTaWRlQmFyVmlldyhmYWxzZSk7XG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0U2VydmljZS5yZXNldEhpZ2hsaWdodCgpO1xuICAgICAgICB0aGlzLnJlY3RhbmdsZXMgPSB1bmRlZmluZWQ7XG5cbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZUFubm90YXRpb24oeyByZWN0YW5nbGVzLCBwYWdlIH06IHsgcmVjdGFuZ2xlczogUmVjdGFuZ2xlW10sIHBhZ2U6IGFueSB9KSB7XG4gICAgdGhpcy5oaWdobGlnaHRTZXJ2aWNlLnNhdmVBbm5vdGF0aW9uKHJlY3RhbmdsZXMsIHBhZ2UpO1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy5kcmF3TW9kZVN1YmplY3QubmV4dChmYWxzZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwYWdlQ29udGFpbmVyXCI+XG4gIDxkaXYgICpuZ0Zvcj1cImxldCBwYWdlIG9mIHBhZ2VzOyAgaW5kZXggYXMgaVwiXG4gICAgICAgY2xhc3M9XCJwYWdlQ29udGFpbmVyX19wYWdlXCJcbiAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgJ3dpZHRoLnB4JzogcGFnZS5zdHlsZXMud2lkdGgsXG4gICAgICAgJ2hlaWdodC5weCc6IHBhZ2Uuc3R5bGVzLmhlaWdodFxuICAgICAgIH1cIlxuICAgICAgIFtuZ0NsYXNzXT1cInsgJ3BhZ2VDb250YWluZXJfX3BhZ2UtLWRyYXcnIDogZHJhd01vZGUgfVwiPlxuICAgIDxtdi1ib3gtaGlnaGxpZ2h0LWNyZWF0ZVxuICAgICAgW3BhZ2VdPVwiaSArIDFcIlxuICAgICAgW3BhZ2VIZWlnaHRdPVwicGFnZS5zdHlsZXMuaGVpZ2h0XCJcbiAgICAgIFtwYWdlV2lkdGhdPVwicGFnZS5zdHlsZXMud2lkdGhcIlxuICAgICAgW3JvdGF0ZV09XCJyb3RhdGVcIlxuICAgICAgW3pvb21dPVwiem9vbVwiXG4gICAgICAoc2F2ZVNlbGVjdGlvbik9XCJzYXZlQW5ub3RhdGlvbigkZXZlbnQpXCI+XG4gICAgPC9tdi1ib3gtaGlnaGxpZ2h0LWNyZWF0ZT5cbiAgICA8bXYtY3R4LXRvb2xiYXIgKm5nSWY9XCJyZWN0YW5nbGVzICYmIGhpZ2hsaWdodFBhZ2UgPT09IChpICsgMSlcIlxuICAgICAgICAgICAgICAgICAgICBbcmVjdGFuZ2xlc109XCJyZWN0YW5nbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgW2NhbkJvb2ttYXJrXT1cInRydWVcIiBbY2FuSGlnaGxpZ2h0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbem9vbV09XCJ6b29tXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdGF0ZV09XCJyb3RhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbcGFnZUhlaWdodF09XCJwYWdlLnN0eWxlcy5oZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICBbcGFnZVdpZHRoXT1cInBhZ2Uuc3R5bGVzLndpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgKGNyZWF0ZUJvb2ttYXJrRXZlbnQpPVwiY3JlYXRlQm9va21hcmsoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChjcmVhdGVIaWdobGlnaHRFdmVudCk9XCJjcmVhdGVIaWdobGlnaHQoKVwiPlxuICAgIDwvbXYtY3R4LXRvb2xiYXI+XG4gICAgPGRpdiBjbGFzcz1cInBhZ2VDb250YWluZXJfX3BhZ2UtaXRlbVwiPlxuICAgICAgPG12LWFubm90YXRpb24tc2V0ICpuZ0lmPVwiKGFubm9QYWdlcyQgfCBhc3luYykgYXMgYW5ub1BhZ2VzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbV09XCJ6b29tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcm90YXRlXT1cInJvdGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BhZ2VIZWlnaHRdPVwicGFnZS5zdHlsZXMuaGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcGFnZVdpZHRoXT1cInBhZ2Uuc3R5bGVzLndpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcGFnZV09XCJpXCIgW2Fubm90YXRpb25zXT1cImFubm9QYWdlc1tpICsgMV1cIj48L212LWFubm90YXRpb24tc2V0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvbWV0YWRhdGEtbGF5ZXIvbWV0YWRhdGEtbGF5ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvbWV0YWRhdGEtbGF5ZXIvbWV0YWRhdGEtbGF5ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsTUFBTSxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sS0FBSyxZQUFZLE1BQU0sNkNBQTZDLENBQUM7QUFDNUUsT0FBTyxLQUFLLGFBQWEsTUFBTSwrQ0FBK0MsQ0FBQztBQUcvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDekUsT0FBTyxLQUFLLGFBQWEsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7OztBQVE3RSxNQUFNLE9BQU8sc0JBQXNCO0lBY2pDLFlBQ1UsS0FBMEMsRUFDakMsZ0JBQXdDLEVBQ3hDLGFBQWtDLEVBQ2xDLFlBQWdDO1FBSHpDLFVBQUssR0FBTCxLQUFLLENBQXFDO1FBQ2pDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUFDeEMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQWJuRCxV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LENBQUM7Z0JBQ3hCLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQzthQUNsQixDQUFDLENBQUMsQ0FBQztZQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBRTlCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQTBDO1FBQ3pFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO2tJQTNFVSxzQkFBc0I7c0hBQXRCLHNCQUFzQixxR0NwQm5DLHloREFvQ0E7OzRGRGhCYSxzQkFBc0I7a0JBSmxDLFNBQVM7K0JBQ0UsbUJBQW1CO29NQUtwQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5cbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuLi8uLi8uLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnQgZnJvbSAnLi4vLi4vLi4vc3RvcmUvc2VsZWN0b3JzL2RvY3VtZW50LnNlbGVjdG9ycyc7XG5pbXBvcnQgKiBhcyBmcm9tU2VsZWN0b3JzIGZyb20gJy4uLy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9hbm5vdGF0aW9uLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBIaWdobGlnaHRDcmVhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ub3RhdGlvbi1jcmVhdGUvaGlnaGxpZ2h0LWNyZWF0ZS9oaWdobGlnaHQtY3JlYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlIH0gZnJvbSAnLi4vYW5ub3RhdGlvbi12aWV3L3JlY3RhbmdsZS9yZWN0YW5nbGUubW9kZWwnO1xuaW1wb3J0IHsgQ3JlYXRlQm9va21hcmsgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9hY3Rpb25zL2Jvb2ttYXJrLmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbUJvb2ttYXJrcyBmcm9tICcuLi8uLi8uLi9zdG9yZS9zZWxlY3RvcnMvYm9va21hcmsuc2VsZWN0b3JzJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBIaWdobGlnaHQsIFZpZXdlckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3ZpZXdlcnMvdmlld2VyLWV2ZW50LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1tZXRhZGF0YS1sYXllcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRhZGF0YS1sYXllci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFMYXllckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSB6b29tOiBudW1iZXI7XG4gIEBJbnB1dCgpIHJvdGF0ZTogbnVtYmVyO1xuXG4gIHBhZ2VzOiBhbnlbXSA9IFtdOyAvLyB0b2RvIGFkZCB0eXBlXG4gIGFubm9QYWdlcyQ6IE9ic2VydmFibGU8YW55PjsgLy8gdG9kbyBhZGQgdHlwZVxuXG4gIGRyYXdNb2RlID0gZmFsc2U7XG4gIGhpZ2hsaWdodFBhZ2U6IG51bWJlcjtcbiAgcmVjdGFuZ2xlczogUmVjdGFuZ2xlW107XG5cbiAgcHJpdmF0ZSAkc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGZyb21TdG9yZS5Bbm5vdGF0aW9uU2V0U3RhdGU+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGlnaGxpZ2h0U2VydmljZTogSGlnaGxpZ2h0Q3JlYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3ZXJFdmVudHM6IFZpZXdlckV2ZW50U2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucyA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoZnJvbURvY3VtZW50LmdldFBhZ2VzKSlcbiAgICAgIC5zdWJzY3JpYmUocGFnZXMgPT4gdGhpcy5wYWdlcyA9IE9iamVjdC52YWx1ZXMocGFnZXMpKTtcbiAgICB0aGlzLmFubm9QYWdlcyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21TZWxlY3RvcnMuZ2V0UGFnZUVudGl0aWVzKSk7XG5cbiAgICB0aGlzLiRzdWJzY3JpcHRpb25zLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuZHJhd01vZGVTdWJqZWN0LnN1YnNjcmliZShkcmF3TW9kZSA9PiB0aGlzLmRyYXdNb2RlID0gZHJhd01vZGUpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb25zLmFkZCh0aGlzLnZpZXdlckV2ZW50cy50ZXh0SGlnaGxpZ2h0LnN1YnNjcmliZShoaWdobGlnaHQgPT4gdGhpcy5zaG93Q29udGV4dFRvb2xiYXIoaGlnaGxpZ2h0KSkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbnMuYWRkKHRoaXMudmlld2VyRXZlbnRzLmN0eFRvb2xiYXJDbGVhcmVkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsZWFyQ29udGV4dFRvb2xiYXIoKSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgc2hvd0NvbnRleHRUb29sYmFyKGhpZ2hsaWdodDogSGlnaGxpZ2h0KSB7XG4gICAgdGhpcy5oaWdobGlnaHRQYWdlID0gaGlnaGxpZ2h0LnBhZ2U7XG4gICAgdGhpcy5yZWN0YW5nbGVzID0gaGlnaGxpZ2h0LnJlY3RhbmdsZXM7XG4gICAgaWYgKHRoaXMucmVjdGFuZ2xlcykge1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmhpZ2hsaWdodE1vZGVTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyQ29udGV4dFRvb2xiYXIoKSB7XG4gICAgdGhpcy5yZWN0YW5nbGVzID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgY3JlYXRlSGlnaGxpZ2h0KCkge1xuICAgIHRoaXMuaGlnaGxpZ2h0U2VydmljZS5zYXZlQW5ub3RhdGlvbih0aGlzLnJlY3RhbmdsZXMsIHRoaXMuaGlnaGxpZ2h0UGFnZSk7XG4gICAgdGhpcy5oaWdobGlnaHRTZXJ2aWNlLnJlc2V0SGlnaGxpZ2h0KCk7XG4gICAgdGhpcy5yZWN0YW5nbGVzID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgY3JlYXRlQm9va21hcmsocmVjdGFuZ2xlOiBSZWN0YW5nbGUpIHtcbiAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21Cb29rbWFya3MuZ2V0Qm9va21hcmtJbmZvKSwgdGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKGJvb2ttYXJrSW5mbykgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQ3JlYXRlQm9va21hcmsoe1xuICAgICAgICAgIC4uLmJvb2ttYXJrSW5mbyxcbiAgICAgICAgICBuYW1lOiBzZWxlY3Rpb24ubGVuZ3RoID4gMCA/IHNlbGVjdGlvbi5zdWJzdHIoMCwgMzApIDogJ25ldyBib29rbWFyaycsXG4gICAgICAgICAgaWQ6IHV1aWQoKSxcbiAgICAgICAgICBwYWdlTnVtYmVyOiB0aGlzLmhpZ2hsaWdodFBhZ2UgLSAxLFxuICAgICAgICAgIHhDb29yZGluYXRlOiByZWN0YW5nbGUueCxcbiAgICAgICAgICB5Q29vcmRpbmF0ZTogcmVjdGFuZ2xlLnlcbiAgICAgICAgfSBhcyBhbnkpKTtcbiAgICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZVNpZGVCYXIodHJ1ZSk7XG4gICAgICAgIHRoaXMudG9vbGJhckV2ZW50cy50b2dnbGVTaWRlQmFyVmlldyhmYWxzZSk7XG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0U2VydmljZS5yZXNldEhpZ2hsaWdodCgpO1xuICAgICAgICB0aGlzLnJlY3RhbmdsZXMgPSB1bmRlZmluZWQ7XG5cbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZUFubm90YXRpb24oeyByZWN0YW5nbGVzLCBwYWdlIH06IHsgcmVjdGFuZ2xlczogUmVjdGFuZ2xlW10sIHBhZ2U6IGFueSB9KSB7XG4gICAgdGhpcy5oaWdobGlnaHRTZXJ2aWNlLnNhdmVBbm5vdGF0aW9uKHJlY3RhbmdsZXMsIHBhZ2UpO1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy5kcmF3TW9kZVN1YmplY3QubmV4dChmYWxzZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwYWdlQ29udGFpbmVyXCI+XG4gIDxkaXYgICpuZ0Zvcj1cImxldCBwYWdlIG9mIHBhZ2VzOyAgaW5kZXggYXMgaVwiXG4gICAgICAgY2xhc3M9XCJwYWdlQ29udGFpbmVyX19wYWdlXCJcbiAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgJ3dpZHRoLnB4JzogcGFnZS5zdHlsZXMud2lkdGgsXG4gICAgICAgJ2hlaWdodC5weCc6IHBhZ2Uuc3R5bGVzLmhlaWdodFxuICAgICAgIH1cIlxuICAgICAgIFtuZ0NsYXNzXT1cInsgJ3BhZ2VDb250YWluZXJfX3BhZ2UtLWRyYXcnIDogZHJhd01vZGUgfVwiPlxuICAgIDxtdi1ib3gtaGlnaGxpZ2h0LWNyZWF0ZVxuICAgICAgW3BhZ2VdPVwiaSArIDFcIlxuICAgICAgW3BhZ2VIZWlnaHRdPVwicGFnZS5zdHlsZXMuaGVpZ2h0XCJcbiAgICAgIFtwYWdlV2lkdGhdPVwicGFnZS5zdHlsZXMud2lkdGhcIlxuICAgICAgW3JvdGF0ZV09XCJyb3RhdGVcIlxuICAgICAgW3pvb21dPVwiem9vbVwiXG4gICAgICAoc2F2ZVNlbGVjdGlvbik9XCJzYXZlQW5ub3RhdGlvbigkZXZlbnQpXCI+XG4gICAgPC9tdi1ib3gtaGlnaGxpZ2h0LWNyZWF0ZT5cbiAgICA8bXYtY3R4LXRvb2xiYXIgKm5nSWY9XCJyZWN0YW5nbGVzICYmIGhpZ2hsaWdodFBhZ2UgPT09IChpICsgMSlcIlxuICAgICAgICAgICAgICAgICAgICBbcmVjdGFuZ2xlc109XCJyZWN0YW5nbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgW2NhbkJvb2ttYXJrXT1cInRydWVcIiBbY2FuSGlnaGxpZ2h0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbem9vbV09XCJ6b29tXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdGF0ZV09XCJyb3RhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbcGFnZUhlaWdodF09XCJwYWdlLnN0eWxlcy5oZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICBbcGFnZVdpZHRoXT1cInBhZ2Uuc3R5bGVzLndpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgKGNyZWF0ZUJvb2ttYXJrRXZlbnQpPVwiY3JlYXRlQm9va21hcmsoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChjcmVhdGVIaWdobGlnaHRFdmVudCk9XCJjcmVhdGVIaWdobGlnaHQoKVwiPlxuICAgIDwvbXYtY3R4LXRvb2xiYXI+XG4gICAgPGRpdiBjbGFzcz1cInBhZ2VDb250YWluZXJfX3BhZ2UtaXRlbVwiPlxuICAgICAgPG12LWFubm90YXRpb24tc2V0ICpuZ0lmPVwiKGFubm9QYWdlcyQgfCBhc3luYykgYXMgYW5ub1BhZ2VzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbV09XCJ6b29tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcm90YXRlXT1cInJvdGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BhZ2VIZWlnaHRdPVwicGFnZS5zdHlsZXMuaGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcGFnZVdpZHRoXT1cInBhZ2Uuc3R5bGVzLndpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcGFnZV09XCJpXCIgW2Fubm90YXRpb25zXT1cImFubm9QYWdlc1tpICsgMV1cIj48L212LWFubm90YXRpb24tc2V0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19