phoenix-ui-components 2.3.0 → 2.5.2

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 (148) hide show
  1. package/README.md +1 -1
  2. package/_theming.scss +5 -1
  3. package/dist/README.md +1 -1
  4. package/dist/components/embed-menu/embed-menu.component.d.ts +3 -0
  5. package/dist/components/embed-menu/experiment-link/experiment-link.component.d.ts +3 -0
  6. package/dist/components/loader/loader.component.d.ts +3 -0
  7. package/dist/components/nav/nav.component.d.ts +3 -0
  8. package/dist/components/phoenix-menu/config/config-slider/config-slider.component.d.ts +3 -0
  9. package/dist/components/phoenix-menu/pheonix-menu-item/phoenix-menu-item.component.d.ts +3 -0
  10. package/dist/components/phoenix-menu/phoenix-menu.component.d.ts +3 -0
  11. package/dist/components/phoenix-ui.module.d.ts +56 -0
  12. package/dist/components/ui-menu/animate-camera/animate-camera.component.d.ts +3 -0
  13. package/dist/components/ui-menu/animate-event/animate-event.component.d.ts +3 -0
  14. package/dist/components/ui-menu/ar-toggle/ar-toggle.component.d.ts +3 -0
  15. package/dist/components/ui-menu/auto-rotate/auto-rotate.component.d.ts +3 -0
  16. package/dist/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.d.ts +6 -0
  17. package/dist/components/ui-menu/collections-info/collections-info.component.d.ts +3 -0
  18. package/dist/components/ui-menu/dark-theme/dark-theme.component.d.ts +3 -0
  19. package/dist/components/ui-menu/event-selector/event-selector.component.d.ts +3 -0
  20. package/dist/components/ui-menu/experiment-info/experiment-info.component.d.ts +3 -0
  21. package/dist/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.d.ts +5 -0
  22. package/dist/components/ui-menu/info-panel/info-panel.component.d.ts +3 -0
  23. package/dist/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.d.ts +3 -0
  24. package/dist/components/ui-menu/io-options/io-options.component.d.ts +3 -0
  25. package/dist/components/ui-menu/main-view-toggle/main-view-toggle.component.d.ts +3 -0
  26. package/dist/components/ui-menu/menu-toggle/menu-toggle.component.d.ts +3 -0
  27. package/dist/components/ui-menu/object-clipping/object-clipping.component.d.ts +3 -0
  28. package/dist/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.d.ts +3 -0
  29. package/dist/components/ui-menu/object-selection/object-selection.component.d.ts +3 -0
  30. package/dist/components/ui-menu/overlay/overlay.component.d.ts +3 -0
  31. package/dist/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.d.ts +3 -0
  32. package/dist/components/ui-menu/overlay-view/overlay-view.component.d.ts +3 -0
  33. package/dist/components/ui-menu/performance-toggle/performance-toggle.component.d.ts +3 -0
  34. package/dist/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.d.ts +10 -2
  35. package/dist/components/ui-menu/share-link/share-link.component.d.ts +3 -0
  36. package/dist/components/ui-menu/ss-mode/ss-mode.component.d.ts +3 -0
  37. package/dist/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.d.ts +3 -0
  38. package/dist/components/ui-menu/tree-menu/tree-menu.component.d.ts +3 -0
  39. package/dist/components/ui-menu/ui-menu.component.d.ts +3 -0
  40. package/dist/components/ui-menu/view-options/view-options.component.d.ts +3 -0
  41. package/dist/components/ui-menu/vr-toggle/vr-toggle.component.d.ts +3 -0
  42. package/dist/components/ui-menu/zoom-controls/zoom-controls.component.d.ts +3 -0
  43. package/dist/esm2020/components/embed-menu/embed-menu.component.mjs +17 -0
  44. package/dist/esm2020/components/embed-menu/experiment-link/experiment-link.component.mjs +18 -0
  45. package/dist/esm2020/components/loader/loader.component.mjs +19 -0
  46. package/dist/esm2020/components/nav/nav.component.mjs +14 -0
  47. package/dist/esm2020/components/phoenix-menu/config/config-slider/config-slider.component.mjs +38 -0
  48. package/dist/{esm2015/components/phoenix-menu/index.js → esm2020/components/phoenix-menu/index.mjs} +1 -1
  49. package/dist/esm2020/components/phoenix-menu/pheonix-menu-item/phoenix-menu-item.component.mjs +32 -0
  50. package/dist/esm2020/components/phoenix-menu/phoenix-menu.component.mjs +14 -0
  51. package/dist/esm2020/components/phoenix-ui.module.mjs +201 -0
  52. package/dist/esm2020/components/ui-menu/animate-camera/animate-camera.component.mjs +76 -0
  53. package/dist/esm2020/components/ui-menu/animate-event/animate-event.component.mjs +25 -0
  54. package/dist/esm2020/components/ui-menu/ar-toggle/ar-toggle.component.mjs +47 -0
  55. package/dist/esm2020/components/ui-menu/auto-rotate/auto-rotate.component.mjs +21 -0
  56. package/dist/esm2020/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.mjs +81 -0
  57. package/dist/esm2020/components/ui-menu/collections-info/collections-info.component.mjs +32 -0
  58. package/dist/esm2020/components/ui-menu/dark-theme/dark-theme.component.mjs +24 -0
  59. package/dist/esm2020/components/ui-menu/event-selector/event-selector.component.mjs +24 -0
  60. package/dist/esm2020/components/ui-menu/experiment-info/experiment-info.component.mjs +26 -0
  61. package/dist/{esm2015/components/ui-menu/index.js → esm2020/components/ui-menu/index.mjs} +1 -1
  62. package/dist/esm2020/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.mjs +37 -0
  63. package/dist/esm2020/components/ui-menu/info-panel/info-panel.component.mjs +49 -0
  64. package/dist/esm2020/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.mjs +196 -0
  65. package/dist/esm2020/components/ui-menu/io-options/io-options.component.mjs +28 -0
  66. package/dist/esm2020/components/ui-menu/main-view-toggle/main-view-toggle.component.mjs +24 -0
  67. package/dist/esm2020/components/ui-menu/menu-toggle/menu-toggle.component.mjs +24 -0
  68. package/dist/esm2020/components/ui-menu/object-clipping/object-clipping.component.mjs +31 -0
  69. package/dist/esm2020/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.mjs +24 -0
  70. package/dist/esm2020/components/ui-menu/object-selection/object-selection.component.mjs +36 -0
  71. package/dist/esm2020/components/ui-menu/overlay/overlay.component.mjs +99 -0
  72. package/dist/esm2020/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.mjs +53 -0
  73. package/dist/esm2020/components/ui-menu/overlay-view/overlay-view.component.mjs +32 -0
  74. package/dist/esm2020/components/ui-menu/performance-toggle/performance-toggle.component.mjs +21 -0
  75. package/dist/esm2020/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.mjs +73 -0
  76. package/dist/esm2020/components/ui-menu/share-link/share-link.component.mjs +20 -0
  77. package/dist/esm2020/components/ui-menu/ss-mode/ss-mode.component.mjs +41 -0
  78. package/dist/esm2020/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.mjs +33 -0
  79. package/dist/esm2020/components/ui-menu/tree-menu/tree-menu.component.mjs +71 -0
  80. package/dist/esm2020/components/ui-menu/ui-menu.component.mjs +43 -0
  81. package/dist/esm2020/components/ui-menu/view-options/view-options.component.mjs +34 -0
  82. package/dist/esm2020/components/ui-menu/vr-toggle/vr-toggle.component.mjs +44 -0
  83. package/dist/esm2020/components/ui-menu/zoom-controls/zoom-controls.component.mjs +61 -0
  84. package/dist/esm2020/phoenix-ui-components.mjs +5 -0
  85. package/dist/esm2020/public_api.mjs +9 -0
  86. package/dist/esm2020/services/event-display.service.mjs +23 -0
  87. package/dist/esm2020/services/extras/attribute.pipe.mjs +33 -0
  88. package/dist/{esm2015/services/extras/event-data-import.js → esm2020/services/extras/event-data-import.mjs} +1 -1
  89. package/dist/esm2020/services/index.mjs +4 -0
  90. package/dist/fesm2015/phoenix-ui-components.mjs +1644 -0
  91. package/dist/fesm2015/phoenix-ui-components.mjs.map +1 -0
  92. package/dist/fesm2020/phoenix-ui-components.mjs +1644 -0
  93. package/dist/fesm2020/phoenix-ui-components.mjs.map +1 -0
  94. package/dist/phoenix-ui-components.d.ts +2 -6
  95. package/dist/{index.d.ts → public_api.d.ts} +2 -0
  96. package/dist/services/event-display.service.d.ts +3 -0
  97. package/dist/services/extras/attribute.pipe.d.ts +3 -0
  98. package/dist/services/index.d.ts +1 -0
  99. package/package.json +13 -13
  100. package/dist/bundles/phoenix-ui-components.umd.js +0 -2147
  101. package/dist/bundles/phoenix-ui-components.umd.js.map +0 -1
  102. package/dist/esm2015/components/embed-menu/embed-menu.component.js +0 -11
  103. package/dist/esm2015/components/embed-menu/experiment-link/experiment-link.component.js +0 -17
  104. package/dist/esm2015/components/loader/loader.component.js +0 -18
  105. package/dist/esm2015/components/nav/nav.component.js +0 -14
  106. package/dist/esm2015/components/phoenix-menu/config/config-slider/config-slider.component.js +0 -32
  107. package/dist/esm2015/components/phoenix-menu/pheonix-menu-item/phoenix-menu-item.component.js +0 -29
  108. package/dist/esm2015/components/phoenix-menu/phoenix-menu.component.js +0 -14
  109. package/dist/esm2015/components/phoenix-ui.module.js +0 -94
  110. package/dist/esm2015/components/ui-menu/animate-camera/animate-camera.component.js +0 -77
  111. package/dist/esm2015/components/ui-menu/animate-event/animate-event.component.js +0 -27
  112. package/dist/esm2015/components/ui-menu/ar-toggle/ar-toggle.component.js +0 -46
  113. package/dist/esm2015/components/ui-menu/auto-rotate/auto-rotate.component.js +0 -23
  114. package/dist/esm2015/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.js +0 -72
  115. package/dist/esm2015/components/ui-menu/collections-info/collections-info.component.js +0 -34
  116. package/dist/esm2015/components/ui-menu/dark-theme/dark-theme.component.js +0 -26
  117. package/dist/esm2015/components/ui-menu/event-selector/event-selector.component.js +0 -25
  118. package/dist/esm2015/components/ui-menu/experiment-info/experiment-info.component.js +0 -27
  119. package/dist/esm2015/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.js +0 -36
  120. package/dist/esm2015/components/ui-menu/info-panel/info-panel.component.js +0 -51
  121. package/dist/esm2015/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.js +0 -202
  122. package/dist/esm2015/components/ui-menu/io-options/io-options.component.js +0 -31
  123. package/dist/esm2015/components/ui-menu/main-view-toggle/main-view-toggle.component.js +0 -25
  124. package/dist/esm2015/components/ui-menu/menu-toggle/menu-toggle.component.js +0 -20
  125. package/dist/esm2015/components/ui-menu/object-clipping/object-clipping.component.js +0 -30
  126. package/dist/esm2015/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.js +0 -25
  127. package/dist/esm2015/components/ui-menu/object-selection/object-selection.component.js +0 -39
  128. package/dist/esm2015/components/ui-menu/overlay/overlay.component.js +0 -90
  129. package/dist/esm2015/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.js +0 -52
  130. package/dist/esm2015/components/ui-menu/overlay-view/overlay-view.component.js +0 -34
  131. package/dist/esm2015/components/ui-menu/performance-toggle/performance-toggle.component.js +0 -23
  132. package/dist/esm2015/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.js +0 -64
  133. package/dist/esm2015/components/ui-menu/share-link/share-link.component.js +0 -22
  134. package/dist/esm2015/components/ui-menu/ss-mode/ss-mode.component.js +0 -43
  135. package/dist/esm2015/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.js +0 -32
  136. package/dist/esm2015/components/ui-menu/tree-menu/tree-menu.component.js +0 -71
  137. package/dist/esm2015/components/ui-menu/ui-menu.component.js +0 -22
  138. package/dist/esm2015/components/ui-menu/view-options/view-options.component.js +0 -33
  139. package/dist/esm2015/components/ui-menu/vr-toggle/vr-toggle.component.js +0 -45
  140. package/dist/esm2015/components/ui-menu/zoom-controls/zoom-controls.component.js +0 -63
  141. package/dist/esm2015/index.js +0 -7
  142. package/dist/esm2015/phoenix-ui-components.js +0 -10
  143. package/dist/esm2015/services/event-display.service.js +0 -22
  144. package/dist/esm2015/services/extras/attribute.pipe.js +0 -29
  145. package/dist/esm2015/services/index.js +0 -3
  146. package/dist/fesm2015/phoenix-ui-components.js +0 -1619
  147. package/dist/fesm2015/phoenix-ui-components.js.map +0 -1
  148. package/dist/phoenix-ui-components.metadata.json +0 -1
@@ -0,0 +1,43 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { EventDataFormat, } from '../../services/extras/event-data-import';
3
+ import { defaultAnimationPresets } from './animate-camera/animate-camera.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./event-selector/event-selector.component";
6
+ import * as i2 from "./zoom-controls/zoom-controls.component";
7
+ import * as i3 from "./view-options/view-options.component";
8
+ import * as i4 from "./auto-rotate/auto-rotate.component";
9
+ import * as i5 from "./dark-theme/dark-theme.component";
10
+ import * as i6 from "./object-clipping/object-clipping.component";
11
+ import * as i7 from "./main-view-toggle/main-view-toggle.component";
12
+ import * as i8 from "./overlay-view/overlay-view.component";
13
+ import * as i9 from "./object-selection/object-selection.component";
14
+ import * as i10 from "./info-panel/info-panel.component";
15
+ import * as i11 from "./animate-event/animate-event.component";
16
+ import * as i12 from "./animate-camera/animate-camera.component";
17
+ import * as i13 from "./collections-info/collections-info.component";
18
+ import * as i14 from "./performance-toggle/performance-toggle.component";
19
+ import * as i15 from "./vr-toggle/vr-toggle.component";
20
+ import * as i16 from "./ar-toggle/ar-toggle.component";
21
+ import * as i17 from "./ss-mode/ss-mode.component";
22
+ import * as i18 from "./io-options/io-options.component";
23
+ import * as i19 from "./share-link/share-link.component";
24
+ import * as i20 from "@angular/material/tooltip";
25
+ import * as i21 from "@angular/common";
26
+ export class UiMenuComponent {
27
+ constructor() {
28
+ this.eventDataImportOptions = Object.values(EventDataFormat);
29
+ this.animationPresets = defaultAnimationPresets;
30
+ this.hideUIMenu = false;
31
+ }
32
+ }
33
+ UiMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: UiMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
+ UiMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: UiMenuComponent, selector: "app-ui-menu", inputs: { eventDataImportOptions: "eventDataImportOptions", animationPresets: "animationPresets" }, ngImport: i0, template: "<div id=\"uiMenu\">\n <button\n id=\"hide-ui-menu\"\n [matTooltip]=\"hideUIMenu ? 'Show toolbar' : 'Hide toolbar'\"\n matTooltipPosition=\"above\"\n (click)=\"hideUIMenu = !hideUIMenu\"\n [ngClass]=\"{ 'ui-menu-hidden': hideUIMenu }\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n <div id=\"optionsPanel\" [hidden]=\"hideUIMenu\">\n <!-- Event selector -->\n <app-event-selector></app-event-selector>\n\n <!-- Zoom in and zoom out controls -->\n <app-zoom-controls></app-zoom-controls>\n\n <app-view-options></app-view-options>\n\n <app-auto-rotate></app-auto-rotate>\n\n <!-- Dark theme toggle -->\n <app-dark-theme></app-dark-theme>\n\n <!-- Toggle for clipping geometries -->\n <app-object-clipping></app-object-clipping>\n\n <!-- Main view toggle -->\n <app-main-view-toggle></app-main-view-toggle>\n\n <!-- Toggle for overlay panel -->\n <app-overlay-view></app-overlay-view>\n\n <!-- Toggle for selected object panel -->\n <app-object-selection></app-object-selection>\n\n <!-- Info panel -->\n <app-info-panel></app-info-panel>\n\n <!-- Toggle for animating the event data -->\n <app-animate-event></app-animate-event>\n\n <!-- Toggle for animating camera through event -->\n <app-animate-camera\n [animationPresets]=\"animationPresets\"\n ></app-animate-camera>\n\n <!-- Toggle for collections info -->\n <app-collections-info></app-collections-info>\n\n <!-- Toggle for performance -->\n <app-performance-toggle></app-performance-toggle>\n\n <!-- Toggle for VR -->\n <app-vr-toggle></app-vr-toggle>\n\n <!-- Toggle for AR -->\n <app-ar-toggle></app-ar-toggle>\n\n <!-- Toggle for screenshot mode -->\n <app-ss-mode></app-ss-mode>\n\n <!-- Toggle for loading geometries modal-->\n <app-io-options\n [eventDataImportOptions]=\"eventDataImportOptions\"\n ></app-io-options>\n\n <!-- Toggle for shareable link constructor modal-->\n <app-share-link></app-share-link>\n\n <!-- Extra options -->\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["#uiMenu{position:absolute;bottom:1rem;width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}#optionsPanel{display:flex;align-items:center;background:var(--phoenix-background-color-secondary);border:1px solid var(--phoenix-background-color-tertiary);box-shadow:var(--phoenix-box-shadow);border-radius:30px;max-width:95%;padding:.3rem 1rem;overflow-x:scroll;z-index:90}#hide-ui-menu{background:var(--phoenix-background-color-secondary);height:1.2rem;width:3rem;border:1px solid var(--phoenix-border);border-bottom:none;box-shadow:var(--phoenix-box-shadow);border-top-left-radius:15px;border-top-right-radius:15px;padding:3px}#hide-ui-menu svg{height:100%;width:100%;vertical-align:top;transition:all .3s}#hide-ui-menu.ui-menu-hidden svg{transform:scaleY(-1);transition:all .3s}\n"], components: [{ type: i1.EventSelectorComponent, selector: "app-event-selector" }, { type: i2.ZoomControlsComponent, selector: "app-zoom-controls" }, { type: i3.ViewOptionsComponent, selector: "app-view-options" }, { type: i4.AutoRotateComponent, selector: "app-auto-rotate" }, { type: i5.DarkThemeComponent, selector: "app-dark-theme" }, { type: i6.ObjectClippingComponent, selector: "app-object-clipping" }, { type: i7.MainViewToggleComponent, selector: "app-main-view-toggle" }, { type: i8.OverlayViewComponent, selector: "app-overlay-view" }, { type: i9.ObjectSelectionComponent, selector: "app-object-selection" }, { type: i10.InfoPanelComponent, selector: "app-info-panel" }, { type: i11.AnimateEventComponent, selector: "app-animate-event" }, { type: i12.AnimateCameraComponent, selector: "app-animate-camera", inputs: ["animationPresets"] }, { type: i13.CollectionsInfoComponent, selector: "app-collections-info" }, { type: i14.PerformanceToggleComponent, selector: "app-performance-toggle" }, { type: i15.VrToggleComponent, selector: "app-vr-toggle" }, { type: i16.ArToggleComponent, selector: "app-ar-toggle" }, { type: i17.SSModeComponent, selector: "app-ss-mode" }, { type: i18.IoOptionsComponent, selector: "app-io-options", inputs: ["eventDataImportOptions"] }, { type: i19.ShareLinkComponent, selector: "app-share-link" }], directives: [{ type: i20.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i21.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: UiMenuComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'app-ui-menu', template: "<div id=\"uiMenu\">\n <button\n id=\"hide-ui-menu\"\n [matTooltip]=\"hideUIMenu ? 'Show toolbar' : 'Hide toolbar'\"\n matTooltipPosition=\"above\"\n (click)=\"hideUIMenu = !hideUIMenu\"\n [ngClass]=\"{ 'ui-menu-hidden': hideUIMenu }\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n <div id=\"optionsPanel\" [hidden]=\"hideUIMenu\">\n <!-- Event selector -->\n <app-event-selector></app-event-selector>\n\n <!-- Zoom in and zoom out controls -->\n <app-zoom-controls></app-zoom-controls>\n\n <app-view-options></app-view-options>\n\n <app-auto-rotate></app-auto-rotate>\n\n <!-- Dark theme toggle -->\n <app-dark-theme></app-dark-theme>\n\n <!-- Toggle for clipping geometries -->\n <app-object-clipping></app-object-clipping>\n\n <!-- Main view toggle -->\n <app-main-view-toggle></app-main-view-toggle>\n\n <!-- Toggle for overlay panel -->\n <app-overlay-view></app-overlay-view>\n\n <!-- Toggle for selected object panel -->\n <app-object-selection></app-object-selection>\n\n <!-- Info panel -->\n <app-info-panel></app-info-panel>\n\n <!-- Toggle for animating the event data -->\n <app-animate-event></app-animate-event>\n\n <!-- Toggle for animating camera through event -->\n <app-animate-camera\n [animationPresets]=\"animationPresets\"\n ></app-animate-camera>\n\n <!-- Toggle for collections info -->\n <app-collections-info></app-collections-info>\n\n <!-- Toggle for performance -->\n <app-performance-toggle></app-performance-toggle>\n\n <!-- Toggle for VR -->\n <app-vr-toggle></app-vr-toggle>\n\n <!-- Toggle for AR -->\n <app-ar-toggle></app-ar-toggle>\n\n <!-- Toggle for screenshot mode -->\n <app-ss-mode></app-ss-mode>\n\n <!-- Toggle for loading geometries modal-->\n <app-io-options\n [eventDataImportOptions]=\"eventDataImportOptions\"\n ></app-io-options>\n\n <!-- Toggle for shareable link constructor modal-->\n <app-share-link></app-share-link>\n\n <!-- Extra options -->\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["#uiMenu{position:absolute;bottom:1rem;width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}#optionsPanel{display:flex;align-items:center;background:var(--phoenix-background-color-secondary);border:1px solid var(--phoenix-background-color-tertiary);box-shadow:var(--phoenix-box-shadow);border-radius:30px;max-width:95%;padding:.3rem 1rem;overflow-x:scroll;z-index:90}#hide-ui-menu{background:var(--phoenix-background-color-secondary);height:1.2rem;width:3rem;border:1px solid var(--phoenix-border);border-bottom:none;box-shadow:var(--phoenix-box-shadow);border-top-left-radius:15px;border-top-right-radius:15px;padding:3px}#hide-ui-menu svg{height:100%;width:100%;vertical-align:top;transition:all .3s}#hide-ui-menu.ui-menu-hidden svg{transform:scaleY(-1);transition:all .3s}\n"] }]
38
+ }], propDecorators: { eventDataImportOptions: [{
39
+ type: Input
40
+ }], animationPresets: [{
41
+ type: Input
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3VpLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvdWktbWVudS91aS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFDTCxlQUFlLEdBRWhCLE1BQU0seUNBQXlDLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3BGLE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBT0UsMkJBQXNCLEdBQ3BCLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFakMscUJBQWdCLEdBQUcsdUJBQXVCLENBQUM7UUFFM0MsZUFBVSxHQUFZLEtBQUssQ0FBQztLQUM3Qjs7NEdBUlksZUFBZTtnR0FBZixlQUFlLHVKQ1o1Qix1bUVBNEVBOzJGRGhFYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLGFBQWE7OEJBTXZCLHNCQUFzQjtzQkFEckIsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEV2ZW50RGF0YUZvcm1hdCxcbiAgRXZlbnREYXRhSW1wb3J0T3B0aW9uLFxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHRyYXMvZXZlbnQtZGF0YS1pbXBvcnQnO1xuaW1wb3J0IHsgZGVmYXVsdEFuaW1hdGlvblByZXNldHMgfSBmcm9tICcuL2FuaW1hdGUtY2FtZXJhL2FuaW1hdGUtY2FtZXJhLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC11aS1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VpLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91aS1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFVpTWVudUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGV2ZW50RGF0YUltcG9ydE9wdGlvbnM6IEV2ZW50RGF0YUltcG9ydE9wdGlvbltdID1cbiAgICBPYmplY3QudmFsdWVzKEV2ZW50RGF0YUZvcm1hdCk7XG4gIEBJbnB1dCgpXG4gIGFuaW1hdGlvblByZXNldHMgPSBkZWZhdWx0QW5pbWF0aW9uUHJlc2V0cztcblxuICBoaWRlVUlNZW51OiBib29sZWFuID0gZmFsc2U7XG59XG4iLCI8ZGl2IGlkPVwidWlNZW51XCI+XG4gIDxidXR0b25cbiAgICBpZD1cImhpZGUtdWktbWVudVwiXG4gICAgW21hdFRvb2x0aXBdPVwiaGlkZVVJTWVudSA/ICdTaG93IHRvb2xiYXInIDogJ0hpZGUgdG9vbGJhcidcIlxuICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCJcbiAgICAoY2xpY2spPVwiaGlkZVVJTWVudSA9ICFoaWRlVUlNZW51XCJcbiAgICBbbmdDbGFzc109XCJ7ICd1aS1tZW51LWhpZGRlbic6IGhpZGVVSU1lbnUgfVwiXG4gID5cbiAgICA8c3ZnPlxuICAgICAgPHVzZSBocmVmPVwiYXNzZXRzL2ljb25zL2V4cGFuZC5zdmcjZXhwYW5kXCI+PC91c2U+XG4gICAgPC9zdmc+XG4gIDwvYnV0dG9uPlxuICA8ZGl2IGlkPVwib3B0aW9uc1BhbmVsXCIgW2hpZGRlbl09XCJoaWRlVUlNZW51XCI+XG4gICAgPCEtLSBFdmVudCBzZWxlY3RvciAtLT5cbiAgICA8YXBwLWV2ZW50LXNlbGVjdG9yPjwvYXBwLWV2ZW50LXNlbGVjdG9yPlxuXG4gICAgPCEtLSBab29tIGluIGFuZCB6b29tIG91dCBjb250cm9scyAtLT5cbiAgICA8YXBwLXpvb20tY29udHJvbHM+PC9hcHAtem9vbS1jb250cm9scz5cblxuICAgIDxhcHAtdmlldy1vcHRpb25zPjwvYXBwLXZpZXctb3B0aW9ucz5cblxuICAgIDxhcHAtYXV0by1yb3RhdGU+PC9hcHAtYXV0by1yb3RhdGU+XG5cbiAgICA8IS0tIERhcmsgdGhlbWUgdG9nZ2xlIC0tPlxuICAgIDxhcHAtZGFyay10aGVtZT48L2FwcC1kYXJrLXRoZW1lPlxuXG4gICAgPCEtLSBUb2dnbGUgZm9yIGNsaXBwaW5nIGdlb21ldHJpZXMgLS0+XG4gICAgPGFwcC1vYmplY3QtY2xpcHBpbmc+PC9hcHAtb2JqZWN0LWNsaXBwaW5nPlxuXG4gICAgPCEtLSBNYWluIHZpZXcgdG9nZ2xlIC0tPlxuICAgIDxhcHAtbWFpbi12aWV3LXRvZ2dsZT48L2FwcC1tYWluLXZpZXctdG9nZ2xlPlxuXG4gICAgPCEtLSBUb2dnbGUgZm9yIG92ZXJsYXkgcGFuZWwgLS0+XG4gICAgPGFwcC1vdmVybGF5LXZpZXc+PC9hcHAtb3ZlcmxheS12aWV3PlxuXG4gICAgPCEtLSBUb2dnbGUgZm9yIHNlbGVjdGVkIG9iamVjdCBwYW5lbCAtLT5cbiAgICA8YXBwLW9iamVjdC1zZWxlY3Rpb24+PC9hcHAtb2JqZWN0LXNlbGVjdGlvbj5cblxuICAgIDwhLS0gSW5mbyBwYW5lbCAtLT5cbiAgICA8YXBwLWluZm8tcGFuZWw+PC9hcHAtaW5mby1wYW5lbD5cblxuICAgIDwhLS0gVG9nZ2xlIGZvciBhbmltYXRpbmcgdGhlIGV2ZW50IGRhdGEgLS0+XG4gICAgPGFwcC1hbmltYXRlLWV2ZW50PjwvYXBwLWFuaW1hdGUtZXZlbnQ+XG5cbiAgICA8IS0tIFRvZ2dsZSBmb3IgYW5pbWF0aW5nIGNhbWVyYSB0aHJvdWdoIGV2ZW50IC0tPlxuICAgIDxhcHAtYW5pbWF0ZS1jYW1lcmFcbiAgICAgIFthbmltYXRpb25QcmVzZXRzXT1cImFuaW1hdGlvblByZXNldHNcIlxuICAgID48L2FwcC1hbmltYXRlLWNhbWVyYT5cblxuICAgIDwhLS0gVG9nZ2xlIGZvciBjb2xsZWN0aW9ucyBpbmZvIC0tPlxuICAgIDxhcHAtY29sbGVjdGlvbnMtaW5mbz48L2FwcC1jb2xsZWN0aW9ucy1pbmZvPlxuXG4gICAgPCEtLSBUb2dnbGUgZm9yIHBlcmZvcm1hbmNlIC0tPlxuICAgIDxhcHAtcGVyZm9ybWFuY2UtdG9nZ2xlPjwvYXBwLXBlcmZvcm1hbmNlLXRvZ2dsZT5cblxuICAgIDwhLS0gVG9nZ2xlIGZvciBWUiAtLT5cbiAgICA8YXBwLXZyLXRvZ2dsZT48L2FwcC12ci10b2dnbGU+XG5cbiAgICA8IS0tIFRvZ2dsZSBmb3IgQVIgLS0+XG4gICAgPGFwcC1hci10b2dnbGU+PC9hcHAtYXItdG9nZ2xlPlxuXG4gICAgPCEtLSBUb2dnbGUgZm9yIHNjcmVlbnNob3QgbW9kZSAtLT5cbiAgICA8YXBwLXNzLW1vZGU+PC9hcHAtc3MtbW9kZT5cblxuICAgIDwhLS0gVG9nZ2xlIGZvciBsb2FkaW5nIGdlb21ldHJpZXMgbW9kYWwtLT5cbiAgICA8YXBwLWlvLW9wdGlvbnNcbiAgICAgIFtldmVudERhdGFJbXBvcnRPcHRpb25zXT1cImV2ZW50RGF0YUltcG9ydE9wdGlvbnNcIlxuICAgID48L2FwcC1pby1vcHRpb25zPlxuXG4gICAgPCEtLSBUb2dnbGUgZm9yIHNoYXJlYWJsZSBsaW5rIGNvbnN0cnVjdG9yIG1vZGFsLS0+XG4gICAgPGFwcC1zaGFyZS1saW5rPjwvYXBwLXNoYXJlLWxpbms+XG5cbiAgICA8IS0tIEV4dHJhIG9wdGlvbnMgLS0+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,34 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../services/event-display.service";
4
+ import * as i2 from "@angular/material/menu";
5
+ import * as i3 from "@angular/material/checkbox";
6
+ import * as i4 from "../menu-toggle/menu-toggle.component";
7
+ import * as i5 from "@angular/common";
8
+ export class ViewOptionsComponent {
9
+ constructor(eventDisplay) {
10
+ this.eventDisplay = eventDisplay;
11
+ }
12
+ ngOnInit() {
13
+ this.views = this.eventDisplay.getUIManager().getPresetViews();
14
+ }
15
+ displayView($event, view) {
16
+ $event.stopPropagation();
17
+ this.eventDisplay.getUIManager().displayView(view);
18
+ }
19
+ setAxis(change) {
20
+ const value = change.checked;
21
+ this.eventDisplay.getUIManager().setShowAxis(value);
22
+ }
23
+ setGrid(change) {
24
+ const value = change.checked;
25
+ this.eventDisplay.getUIManager().setShowGrid(value);
26
+ }
27
+ }
28
+ ViewOptionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ViewOptionsComponent, deps: [{ token: i1.EventDisplayService }], target: i0.ɵɵFactoryTarget.Component });
29
+ ViewOptionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ViewOptionsComponent, selector: "app-view-options", ngImport: i0, template: "<mat-menu #viewOptions>\n <button\n mat-menu-item\n (click)=\"\n $event.stopPropagation();\n showGridCheckbox._inputElement.nativeElement.click()\n \"\n >\n <mat-checkbox\n #showGridCheckbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"setGrid($event)\"\n >Show Grid\n </mat-checkbox>\n </button>\n <button\n mat-menu-item\n (click)=\"\n $event.stopPropagation();\n showAxisCheckbox._inputElement.nativeElement.click()\n \"\n >\n <mat-checkbox\n #showAxisCheckbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"setAxis($event)\"\n >Show Axis\n </mat-checkbox>\n </button>\n <button\n mat-menu-item\n *ngFor=\"let view of views\"\n (click)=\"displayView($event, view)\"\n >\n <svg class=\"view-icon\" *ngIf=\"view.icon\">\n <use attr.href=\"assets/icons/{{ view.icon }}.svg#{{ view.icon }}\"></use>\n </svg>\n {{ view.name }}\n </button>\n</mat-menu>\n\n<app-menu-toggle\n [matMenuTriggerFor]=\"viewOptions\"\n tooltip=\"View options\"\n icon=\"views\"\n [active]=\"false\"\n>\n</app-menu-toggle>\n", styles: [".view-icon{width:1.2rem;height:1.2rem;margin-right:.5rem}\n"], components: [{ type: i2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i4.MenuToggleComponent, selector: "app-menu-toggle", inputs: ["icon", "active", "tooltip", "disabled"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ViewOptionsComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'app-view-options', template: "<mat-menu #viewOptions>\n <button\n mat-menu-item\n (click)=\"\n $event.stopPropagation();\n showGridCheckbox._inputElement.nativeElement.click()\n \"\n >\n <mat-checkbox\n #showGridCheckbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"setGrid($event)\"\n >Show Grid\n </mat-checkbox>\n </button>\n <button\n mat-menu-item\n (click)=\"\n $event.stopPropagation();\n showAxisCheckbox._inputElement.nativeElement.click()\n \"\n >\n <mat-checkbox\n #showAxisCheckbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"setAxis($event)\"\n >Show Axis\n </mat-checkbox>\n </button>\n <button\n mat-menu-item\n *ngFor=\"let view of views\"\n (click)=\"displayView($event, view)\"\n >\n <svg class=\"view-icon\" *ngIf=\"view.icon\">\n <use attr.href=\"assets/icons/{{ view.icon }}.svg#{{ view.icon }}\"></use>\n </svg>\n {{ view.name }}\n </button>\n</mat-menu>\n\n<app-menu-toggle\n [matMenuTriggerFor]=\"viewOptions\"\n tooltip=\"View options\"\n icon=\"views\"\n [active]=\"false\"\n>\n</app-menu-toggle>\n", styles: [".view-icon{width:1.2rem;height:1.2rem;margin-right:.5rem}\n"] }]
33
+ }], ctorParameters: function () { return [{ type: i1.EventDisplayService }]; } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1vcHRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvdmlldy1vcHRpb25zL3ZpZXctb3B0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3ZpZXctb3B0aW9ucy92aWV3LW9wdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVVsRCxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtJQUFHLENBQUM7SUFFekQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQVcsRUFBRSxJQUFnQjtRQUN2QyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUF5QjtRQUMvQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxPQUFPLENBQUMsTUFBeUI7UUFDL0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDOztpSEF0QlUsb0JBQW9CO3FHQUFwQixvQkFBb0Isd0RDVmpDLGluQ0FnREE7MkZEdENhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJlc2V0VmlldyB9IGZyb20gJ3Bob2VuaXgtZXZlbnQtZGlzcGxheSc7XG5pbXBvcnQgeyBNYXRDaGVja2JveENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdmlldy1vcHRpb25zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZpZXctb3B0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZpZXctb3B0aW9ucy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBWaWV3T3B0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHZpZXdzOiBQcmVzZXRWaWV3W107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3cyA9IHRoaXMuZXZlbnREaXNwbGF5LmdldFVJTWFuYWdlcigpLmdldFByZXNldFZpZXdzKCk7XG4gIH1cblxuICBkaXNwbGF5VmlldygkZXZlbnQ6IGFueSwgdmlldzogUHJlc2V0Vmlldykge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5nZXRVSU1hbmFnZXIoKS5kaXNwbGF5Vmlldyh2aWV3KTtcbiAgfVxuXG4gIHNldEF4aXMoY2hhbmdlOiBNYXRDaGVja2JveENoYW5nZSkge1xuICAgIGNvbnN0IHZhbHVlID0gY2hhbmdlLmNoZWNrZWQ7XG4gICAgdGhpcy5ldmVudERpc3BsYXkuZ2V0VUlNYW5hZ2VyKCkuc2V0U2hvd0F4aXModmFsdWUpO1xuICB9XG5cbiAgc2V0R3JpZChjaGFuZ2U6IE1hdENoZWNrYm94Q2hhbmdlKSB7XG4gICAgY29uc3QgdmFsdWUgPSBjaGFuZ2UuY2hlY2tlZDtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5nZXRVSU1hbmFnZXIoKS5zZXRTaG93R3JpZCh2YWx1ZSk7XG4gIH1cbn1cbiIsIjxtYXQtbWVudSAjdmlld09wdGlvbnM+XG4gIDxidXR0b25cbiAgICBtYXQtbWVudS1pdGVtXG4gICAgKGNsaWNrKT1cIlxuICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgc2hvd0dyaWRDaGVja2JveC5faW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKVxuICAgIFwiXG4gID5cbiAgICA8bWF0LWNoZWNrYm94XG4gICAgICAjc2hvd0dyaWRDaGVja2JveFxuICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAoY2hhbmdlKT1cInNldEdyaWQoJGV2ZW50KVwiXG4gICAgICA+U2hvdyBHcmlkXG4gICAgPC9tYXQtY2hlY2tib3g+XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgbWF0LW1lbnUtaXRlbVxuICAgIChjbGljayk9XCJcbiAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHNob3dBeGlzQ2hlY2tib3guX2lucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWNrKClcbiAgICBcIlxuICA+XG4gICAgPG1hdC1jaGVja2JveFxuICAgICAgI3Nob3dBeGlzQ2hlY2tib3hcbiAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgKGNoYW5nZSk9XCJzZXRBeGlzKCRldmVudClcIlxuICAgICAgPlNob3cgQXhpc1xuICAgIDwvbWF0LWNoZWNrYm94PlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIG1hdC1tZW51LWl0ZW1cbiAgICAqbmdGb3I9XCJsZXQgdmlldyBvZiB2aWV3c1wiXG4gICAgKGNsaWNrKT1cImRpc3BsYXlWaWV3KCRldmVudCwgdmlldylcIlxuICA+XG4gICAgPHN2ZyBjbGFzcz1cInZpZXctaWNvblwiICpuZ0lmPVwidmlldy5pY29uXCI+XG4gICAgICA8dXNlIGF0dHIuaHJlZj1cImFzc2V0cy9pY29ucy97eyB2aWV3Lmljb24gfX0uc3ZnI3t7IHZpZXcuaWNvbiB9fVwiPjwvdXNlPlxuICAgIDwvc3ZnPlxuICAgIHt7IHZpZXcubmFtZSB9fVxuICA8L2J1dHRvbj5cbjwvbWF0LW1lbnU+XG5cbjxhcHAtbWVudS10b2dnbGVcbiAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInZpZXdPcHRpb25zXCJcbiAgdG9vbHRpcD1cIlZpZXcgb3B0aW9uc1wiXG4gIGljb249XCJ2aWV3c1wiXG4gIFthY3RpdmVdPVwiZmFsc2VcIlxuPlxuPC9hcHAtbWVudS10b2dnbGU+XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { Component } from '@angular/core';
2
+ import { VRManager, XRSessionType } from 'phoenix-event-display';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../services/event-display.service";
5
+ import * as i2 from "../menu-toggle/menu-toggle.component";
6
+ export class VrToggleComponent {
7
+ constructor(eventDisplay) {
8
+ this.eventDisplay = eventDisplay;
9
+ this.vrSupported = false;
10
+ this.vrActive = false;
11
+ // NOTE: WebXR needs secure HTTPS context
12
+ // Query for permissions of XR before using it (not supported by browsers yet). See https://developer.mozilla.org/en-US/docs/Web/API/Permissions/query
13
+ navigator?.xr
14
+ ?.isSessionSupported?.(VRManager.SESSION_TYPE)
15
+ .then((supported) => {
16
+ if (supported) {
17
+ this.vrSupported = true;
18
+ }
19
+ })
20
+ .catch((err) => console.warn('Error in VR', err));
21
+ }
22
+ toggleVr() {
23
+ // If toggling VR on
24
+ if (!this.vrActive) {
25
+ this.eventDisplay.initXR(XRSessionType.VR, () => {
26
+ this.vrActive = false;
27
+ // Disable renderer XR and remove animation loop
28
+ this.eventDisplay.endXR(XRSessionType.VR);
29
+ });
30
+ this.vrActive = true;
31
+ }
32
+ else {
33
+ this.eventDisplay.endXR(XRSessionType.VR);
34
+ this.vrActive = false;
35
+ }
36
+ }
37
+ }
38
+ VrToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: VrToggleComponent, deps: [{ token: i1.EventDisplayService }], target: i0.ɵɵFactoryTarget.Component });
39
+ VrToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: VrToggleComponent, selector: "app-vr-toggle", ngImport: i0, template: "<app-menu-toggle\n [disabled]=\"!vrSupported\"\n [active]=\"vrActive\"\n icon=\"vr\"\n (click)=\"vrSupported && toggleVr()\"\n [tooltip]=\"\n vrSupported ? (vrActive ? 'Exit VR' : 'Enter VR') : 'VR not supported'\n \"\n>\n</app-menu-toggle>\n", styles: [""], components: [{ type: i2.MenuToggleComponent, selector: "app-menu-toggle", inputs: ["icon", "active", "tooltip", "disabled"] }] });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: VrToggleComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ selector: 'app-vr-toggle', template: "<app-menu-toggle\n [disabled]=\"!vrSupported\"\n [active]=\"vrActive\"\n icon=\"vr\"\n (click)=\"vrSupported && toggleVr()\"\n [tooltip]=\"\n vrSupported ? (vrActive ? 'Exit VR' : 'Enter VR') : 'VR not supported'\n \"\n>\n</app-menu-toggle>\n", styles: [""] }]
43
+ }], ctorParameters: function () { return [{ type: i1.EventDisplayService }]; } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnItdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvdnItdG9nZ2xlL3ZyLXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3ZyLXRvZ2dsZS92ci10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBT2pFLE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBSHJELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHeEIseUNBQXlDO1FBQ3pDLHNKQUFzSjtRQUNySixTQUFpQixFQUFFLEVBQUU7WUFDcEIsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7YUFDN0MsSUFBSSxDQUFDLENBQUMsU0FBa0IsRUFBRSxFQUFFO1lBQzNCLElBQUksU0FBUyxFQUFFO2dCQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxRQUFRO1FBQ04sb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFO2dCQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsZ0RBQWdEO2dCQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN0QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQzs7OEdBOUJVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHFEQ1Q5Qiw2UEFVQTsyRkREYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5pbXBvcnQgeyBWUk1hbmFnZXIsIFhSU2Vzc2lvblR5cGUgfSBmcm9tICdwaG9lbml4LWV2ZW50LWRpc3BsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdnItdG9nZ2xlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZyLXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZyLXRvZ2dsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBWclRvZ2dsZUNvbXBvbmVudCB7XG4gIHZyU3VwcG9ydGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHZyQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHtcbiAgICAvLyBOT1RFOiBXZWJYUiBuZWVkcyBzZWN1cmUgSFRUUFMgY29udGV4dFxuICAgIC8vIFF1ZXJ5IGZvciBwZXJtaXNzaW9ucyBvZiBYUiBiZWZvcmUgdXNpbmcgaXQgKG5vdCBzdXBwb3J0ZWQgYnkgYnJvd3NlcnMgeWV0KS4gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9QZXJtaXNzaW9ucy9xdWVyeVxuICAgIChuYXZpZ2F0b3IgYXMgYW55KT8ueHJcbiAgICAgID8uaXNTZXNzaW9uU3VwcG9ydGVkPy4oVlJNYW5hZ2VyLlNFU1NJT05fVFlQRSlcbiAgICAgIC50aGVuKChzdXBwb3J0ZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgaWYgKHN1cHBvcnRlZCkge1xuICAgICAgICAgIHRoaXMudnJTdXBwb3J0ZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnI6IGFueSkgPT4gY29uc29sZS53YXJuKCdFcnJvciBpbiBWUicsIGVycikpO1xuICB9XG5cbiAgdG9nZ2xlVnIoKSB7XG4gICAgLy8gSWYgdG9nZ2xpbmcgVlIgb25cbiAgICBpZiAoIXRoaXMudnJBY3RpdmUpIHtcbiAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmluaXRYUihYUlNlc3Npb25UeXBlLlZSLCAoKSA9PiB7XG4gICAgICAgIHRoaXMudnJBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgLy8gRGlzYWJsZSByZW5kZXJlciBYUiBhbmQgcmVtb3ZlIGFuaW1hdGlvbiBsb29wXG4gICAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmVuZFhSKFhSU2Vzc2lvblR5cGUuVlIpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnZyQWN0aXZlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ldmVudERpc3BsYXkuZW5kWFIoWFJTZXNzaW9uVHlwZS5WUik7XG4gICAgICB0aGlzLnZyQWN0aXZlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8YXBwLW1lbnUtdG9nZ2xlXG4gIFtkaXNhYmxlZF09XCIhdnJTdXBwb3J0ZWRcIlxuICBbYWN0aXZlXT1cInZyQWN0aXZlXCJcbiAgaWNvbj1cInZyXCJcbiAgKGNsaWNrKT1cInZyU3VwcG9ydGVkICYmIHRvZ2dsZVZyKClcIlxuICBbdG9vbHRpcF09XCJcbiAgICB2clN1cHBvcnRlZCA/ICh2ckFjdGl2ZSA/ICdFeGl0IFZSJyA6ICdFbnRlciBWUicpIDogJ1ZSIG5vdCBzdXBwb3J0ZWQnXG4gIFwiXG4+XG48L2FwcC1tZW51LXRvZ2dsZT5cbiJdfQ==
@@ -0,0 +1,61 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../services/event-display.service";
4
+ import * as i2 from "../menu-toggle/menu-toggle.component";
5
+ /**
6
+ * Component for adding zoom controls for the main and overlay cameras.
7
+ */
8
+ export class ZoomControlsComponent {
9
+ constructor(eventDisplay) {
10
+ this.eventDisplay = eventDisplay;
11
+ /** Factor to zoom by. */
12
+ this.zoomFactor = 1.1;
13
+ /** The speed and time of zoom. */
14
+ this.zoomTime = 200;
15
+ }
16
+ /**
17
+ * Zoom all the cameras by a specific zoom factor.
18
+ * The factor may either be greater (zoom in) or smaller (zoom out) than 1.
19
+ * @param zoomFactor The factor to zoom by.
20
+ */
21
+ zoomTo(zoomFactor) {
22
+ this.zoomTime =
23
+ this.zoomTime > 30 ? Math.floor(this.zoomTime / 1.1) : this.zoomTime;
24
+ this.eventDisplay.zoomTo(zoomFactor, this.zoomTime);
25
+ this.zoomTimeout = setTimeout(() => {
26
+ this.zoomTo(zoomFactor);
27
+ }, this.zoomTime);
28
+ }
29
+ /**
30
+ * Zoom the camera in.
31
+ * @param leftClick Whether the mouse click is left or not.
32
+ */
33
+ zoomIn(leftClick) {
34
+ if (leftClick) {
35
+ this.zoomTo(1 / this.zoomFactor);
36
+ }
37
+ }
38
+ /**
39
+ * Zoom the camera out.
40
+ * @param leftClick Whether the mouse click is left or not.s
41
+ */
42
+ zoomOut(leftClick) {
43
+ if (leftClick) {
44
+ this.zoomTo(this.zoomFactor);
45
+ }
46
+ }
47
+ /**
48
+ * Reset the zoom time which decreases upon hold and clear the zoom timeout.
49
+ */
50
+ clearZoom() {
51
+ this.zoomTime = 200;
52
+ clearTimeout(this.zoomTimeout);
53
+ }
54
+ }
55
+ ZoomControlsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ZoomControlsComponent, deps: [{ token: i1.EventDisplayService }], target: i0.ɵɵFactoryTarget.Component });
56
+ ZoomControlsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ZoomControlsComponent, selector: "app-zoom-controls", ngImport: i0, template: "<div class=\"d-flex\">\n <app-menu-toggle\n tooltip=\"Zoom out (hold)\"\n icon=\"zoom-out\"\n [active]=\"false\"\n (click)=\"zoomOut(true); clearZoom()\"\n (touchstart)=\"zoomOut(true)\"\n (mousedown)=\"zoomOut($event.button === 0)\"\n (mouseup)=\"clearZoom()\"\n (mouseleave)=\"clearZoom()\"\n (touchend)=\"clearZoom()\"\n (touchcancel)=\"clearZoom()\"\n (touchmove)=\"clearZoom()\"\n >\n </app-menu-toggle>\n <app-menu-toggle\n tooltip=\"Zoom in (hold)\"\n icon=\"zoom-in\"\n [active]=\"false\"\n (click)=\"zoomIn(true); clearZoom()\"\n (touchstart)=\"zoomIn(true)\"\n (mousedown)=\"zoomIn($event.button === 0)\"\n (mouseup)=\"clearZoom()\"\n (mouseleave)=\"clearZoom()\"\n (touchend)=\"clearZoom()\"\n (touchcancel)=\"clearZoom()\"\n (touchmove)=\"clearZoom()\"\n >\n </app-menu-toggle>\n</div>\n", styles: [""], components: [{ type: i2.MenuToggleComponent, selector: "app-menu-toggle", inputs: ["icon", "active", "tooltip", "disabled"] }] });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ZoomControlsComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'app-zoom-controls', template: "<div class=\"d-flex\">\n <app-menu-toggle\n tooltip=\"Zoom out (hold)\"\n icon=\"zoom-out\"\n [active]=\"false\"\n (click)=\"zoomOut(true); clearZoom()\"\n (touchstart)=\"zoomOut(true)\"\n (mousedown)=\"zoomOut($event.button === 0)\"\n (mouseup)=\"clearZoom()\"\n (mouseleave)=\"clearZoom()\"\n (touchend)=\"clearZoom()\"\n (touchcancel)=\"clearZoom()\"\n (touchmove)=\"clearZoom()\"\n >\n </app-menu-toggle>\n <app-menu-toggle\n tooltip=\"Zoom in (hold)\"\n icon=\"zoom-in\"\n [active]=\"false\"\n (click)=\"zoomIn(true); clearZoom()\"\n (touchstart)=\"zoomIn(true)\"\n (mousedown)=\"zoomIn($event.button === 0)\"\n (mouseup)=\"clearZoom()\"\n (mouseleave)=\"clearZoom()\"\n (touchend)=\"clearZoom()\"\n (touchcancel)=\"clearZoom()\"\n (touchmove)=\"clearZoom()\"\n >\n </app-menu-toggle>\n</div>\n", styles: [""] }]
60
+ }], ctorParameters: function () { return [{ type: i1.EventDisplayService }]; } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1jb250cm9scy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3pvb20tY29udHJvbHMvem9vbS1jb250cm9scy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3pvb20tY29udHJvbHMvem9vbS1jb250cm9scy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRzFDOztHQUVHO0FBTUgsTUFBTSxPQUFPLHFCQUFxQjtJQVVoQyxZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFQckQseUJBQXlCO1FBQ2pCLGVBQVUsR0FBVyxHQUFHLENBQUM7UUFHakMsa0NBQWtDO1FBQzFCLGFBQVEsR0FBVyxHQUFHLENBQUM7SUFFeUIsQ0FBQztJQUV6RDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQWtCO1FBQ3ZCLElBQUksQ0FBQyxRQUFRO1lBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUV2RSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxTQUFrQjtRQUN2QixJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsU0FBa0I7UUFDeEIsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNwQixZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7O2tIQXREVSxxQkFBcUI7c0dBQXJCLHFCQUFxQix5RENYbEMseTJCQThCQTsyRkRuQmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBhZGRpbmcgem9vbSBjb250cm9scyBmb3IgdGhlIG1haW4gYW5kIG92ZXJsYXkgY2FtZXJhcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXpvb20tY29udHJvbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vem9vbS1jb250cm9scy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3pvb20tY29udHJvbHMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgWm9vbUNvbnRyb2xzQ29tcG9uZW50IHtcbiAgLyoqIEFsbCBjYW1lcmEgYmVpbmcgdXNlZCBieSB0aGUgc2NlbmUuICovXG4gIGFsbENhbWVyYXM6IGFueVtdO1xuICAvKiogRmFjdG9yIHRvIHpvb20gYnkuICovXG4gIHByaXZhdGUgem9vbUZhY3RvcjogbnVtYmVyID0gMS4xO1xuICAvKiogVGltZW91dCBmb3IgY2xlYXJpbmcgbW91c2UgaG9sZC4gKi9cbiAgcHJpdmF0ZSB6b29tVGltZW91dDogYW55O1xuICAvKiogVGhlIHNwZWVkIGFuZCB0aW1lIG9mIHpvb20uICovXG4gIHByaXZhdGUgem9vbVRpbWU6IG51bWJlciA9IDIwMDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50RGlzcGxheTogRXZlbnREaXNwbGF5U2VydmljZSkge31cblxuICAvKipcbiAgICogWm9vbSBhbGwgdGhlIGNhbWVyYXMgYnkgYSBzcGVjaWZpYyB6b29tIGZhY3Rvci5cbiAgICogVGhlIGZhY3RvciBtYXkgZWl0aGVyIGJlIGdyZWF0ZXIgKHpvb20gaW4pIG9yIHNtYWxsZXIgKHpvb20gb3V0KSB0aGFuIDEuXG4gICAqIEBwYXJhbSB6b29tRmFjdG9yIFRoZSBmYWN0b3IgdG8gem9vbSBieS5cbiAgICovXG4gIHpvb21Ubyh6b29tRmFjdG9yOiBudW1iZXIpIHtcbiAgICB0aGlzLnpvb21UaW1lID1cbiAgICAgIHRoaXMuem9vbVRpbWUgPiAzMCA/IE1hdGguZmxvb3IodGhpcy56b29tVGltZSAvIDEuMSkgOiB0aGlzLnpvb21UaW1lO1xuXG4gICAgdGhpcy5ldmVudERpc3BsYXkuem9vbVRvKHpvb21GYWN0b3IsIHRoaXMuem9vbVRpbWUpO1xuXG4gICAgdGhpcy56b29tVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy56b29tVG8oem9vbUZhY3Rvcik7XG4gICAgfSwgdGhpcy56b29tVGltZSk7XG4gIH1cblxuICAvKipcbiAgICogWm9vbSB0aGUgY2FtZXJhIGluLlxuICAgKiBAcGFyYW0gbGVmdENsaWNrIFdoZXRoZXIgdGhlIG1vdXNlIGNsaWNrIGlzIGxlZnQgb3Igbm90LlxuICAgKi9cbiAgem9vbUluKGxlZnRDbGljazogYm9vbGVhbikge1xuICAgIGlmIChsZWZ0Q2xpY2spIHtcbiAgICAgIHRoaXMuem9vbVRvKDEgLyB0aGlzLnpvb21GYWN0b3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBab29tIHRoZSBjYW1lcmEgb3V0LlxuICAgKiBAcGFyYW0gbGVmdENsaWNrIFdoZXRoZXIgdGhlIG1vdXNlIGNsaWNrIGlzIGxlZnQgb3Igbm90LnNcbiAgICovXG4gIHpvb21PdXQobGVmdENsaWNrOiBib29sZWFuKSB7XG4gICAgaWYgKGxlZnRDbGljaykge1xuICAgICAgdGhpcy56b29tVG8odGhpcy56b29tRmFjdG9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVzZXQgdGhlIHpvb20gdGltZSB3aGljaCBkZWNyZWFzZXMgdXBvbiBob2xkIGFuZCBjbGVhciB0aGUgem9vbSB0aW1lb3V0LlxuICAgKi9cbiAgY2xlYXJab29tKCkge1xuICAgIHRoaXMuem9vbVRpbWUgPSAyMDA7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuem9vbVRpbWVvdXQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gIDxhcHAtbWVudS10b2dnbGVcbiAgICB0b29sdGlwPVwiWm9vbSBvdXQgKGhvbGQpXCJcbiAgICBpY29uPVwiem9vbS1vdXRcIlxuICAgIFthY3RpdmVdPVwiZmFsc2VcIlxuICAgIChjbGljayk9XCJ6b29tT3V0KHRydWUpOyBjbGVhclpvb20oKVwiXG4gICAgKHRvdWNoc3RhcnQpPVwiem9vbU91dCh0cnVlKVwiXG4gICAgKG1vdXNlZG93bik9XCJ6b29tT3V0KCRldmVudC5idXR0b24gPT09IDApXCJcbiAgICAobW91c2V1cCk9XCJjbGVhclpvb20oKVwiXG4gICAgKG1vdXNlbGVhdmUpPVwiY2xlYXJab29tKClcIlxuICAgICh0b3VjaGVuZCk9XCJjbGVhclpvb20oKVwiXG4gICAgKHRvdWNoY2FuY2VsKT1cImNsZWFyWm9vbSgpXCJcbiAgICAodG91Y2htb3ZlKT1cImNsZWFyWm9vbSgpXCJcbiAgPlxuICA8L2FwcC1tZW51LXRvZ2dsZT5cbiAgPGFwcC1tZW51LXRvZ2dsZVxuICAgIHRvb2x0aXA9XCJab29tIGluIChob2xkKVwiXG4gICAgaWNvbj1cInpvb20taW5cIlxuICAgIFthY3RpdmVdPVwiZmFsc2VcIlxuICAgIChjbGljayk9XCJ6b29tSW4odHJ1ZSk7IGNsZWFyWm9vbSgpXCJcbiAgICAodG91Y2hzdGFydCk9XCJ6b29tSW4odHJ1ZSlcIlxuICAgIChtb3VzZWRvd24pPVwiem9vbUluKCRldmVudC5idXR0b24gPT09IDApXCJcbiAgICAobW91c2V1cCk9XCJjbGVhclpvb20oKVwiXG4gICAgKG1vdXNlbGVhdmUpPVwiY2xlYXJab29tKClcIlxuICAgICh0b3VjaGVuZCk9XCJjbGVhclpvb20oKVwiXG4gICAgKHRvdWNoY2FuY2VsKT1cImNsZWFyWm9vbSgpXCJcbiAgICAodG91Y2htb3ZlKT1cImNsZWFyWm9vbSgpXCJcbiAgPlxuICA8L2FwcC1tZW51LXRvZ2dsZT5cbjwvZGl2PlxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvZW5peC11aS1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3Bob2VuaXgtdWktY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -0,0 +1,9 @@
1
+ export * from './components/nav/nav.component';
2
+ export * from './components/phoenix-menu/index';
3
+ export * from './components/ui-menu/index';
4
+ export * from './components/loader/loader.component';
5
+ export * from './components/phoenix-ui.module';
6
+ export * from './components/embed-menu/embed-menu.component';
7
+ export * from './components/embed-menu/experiment-link/experiment-link.component';
8
+ export * from './services/index';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9uYXYvbmF2LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcGhvZW5peC1tZW51L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy91aS1tZW51L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcGhvZW5peC11aS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2VtYmVkLW1lbnUvZW1iZWQtbWVudS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2VtYmVkLW1lbnUvZXhwZXJpbWVudC1saW5rL2V4cGVyaW1lbnQtbGluay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pbmRleCc7XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { EventDisplay } from 'phoenix-event-display';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Service for all event display related functions.
6
+ */
7
+ export class EventDisplayService extends EventDisplay {
8
+ /**
9
+ * Instantiate the event display by calling the parent constructor.
10
+ */
11
+ constructor() {
12
+ super();
13
+ }
14
+ }
15
+ EventDisplayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EventDisplayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16
+ EventDisplayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EventDisplayService, providedIn: 'root' });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EventDisplayService, decorators: [{
18
+ type: Injectable,
19
+ args: [{
20
+ providedIn: 'root',
21
+ }]
22
+ }], ctorParameters: function () { return []; } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZGlzcGxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFckQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBWTtJQUNuRDs7T0FFRztJQUNIO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDOztnSEFOVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXkgfSBmcm9tICdwaG9lbml4LWV2ZW50LWRpc3BsYXknO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIGFsbCBldmVudCBkaXNwbGF5IHJlbGF0ZWQgZnVuY3Rpb25zLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXZlbnREaXNwbGF5U2VydmljZSBleHRlbmRzIEV2ZW50RGlzcGxheSB7XG4gIC8qKlxuICAgKiBJbnN0YW50aWF0ZSB0aGUgZXZlbnQgZGlzcGxheSBieSBjYWxsaW5nIHRoZSBwYXJlbnQgY29uc3RydWN0b3IuXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Pipe for transforming selected object attributes to a better format.
5
+ */
6
+ export class AttributePipe {
7
+ /**
8
+ * Transform the attribute to a better presentable format.
9
+ * @param value Value to be transformed.
10
+ * @param args Additional arguments.
11
+ * @returns The transformed value.
12
+ */
13
+ transform(value, args) {
14
+ let transformedValue = '';
15
+ if (Array.isArray(value)) {
16
+ transformedValue += '\n';
17
+ value.forEach((v) => (transformedValue += v + '\n'));
18
+ }
19
+ else {
20
+ transformedValue = value.toString();
21
+ }
22
+ return transformedValue;
23
+ }
24
+ }
25
+ AttributePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AttributePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
26
+ AttributePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AttributePipe, name: "attributePipe" });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AttributePipe, decorators: [{
28
+ type: Pipe,
29
+ args: [{
30
+ name: 'attributePipe',
31
+ }]
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvc2VydmljZXMvZXh0cmFzL2F0dHJpYnV0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRDs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBQ3hCOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLEtBQVUsRUFBRSxJQUFVO1FBQzlCLElBQUksZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixnQkFBZ0IsSUFBSSxJQUFJLENBQUM7WUFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUN0RDthQUFNO1lBQ0wsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDOzswR0FoQlUsYUFBYTt3R0FBYixhQUFhOzJGQUFiLGFBQWE7a0JBSHpCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGVBQWU7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFBpcGUgZm9yIHRyYW5zZm9ybWluZyBzZWxlY3RlZCBvYmplY3QgYXR0cmlidXRlcyB0byBhIGJldHRlciBmb3JtYXQuXG4gKi9cbkBQaXBlKHtcbiAgbmFtZTogJ2F0dHJpYnV0ZVBpcGUnLFxufSlcbmV4cG9ydCBjbGFzcyBBdHRyaWJ1dGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdGhlIGF0dHJpYnV0ZSB0byBhIGJldHRlciBwcmVzZW50YWJsZSBmb3JtYXQuXG4gICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBiZSB0cmFuc2Zvcm1lZC5cbiAgICogQHBhcmFtIGFyZ3MgQWRkaXRpb25hbCBhcmd1bWVudHMuXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZS5cbiAgICovXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBhcmdzPzogYW55KTogYW55IHtcbiAgICBsZXQgdHJhbnNmb3JtZWRWYWx1ZSA9ICcnO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdHJhbnNmb3JtZWRWYWx1ZSArPSAnXFxuJztcbiAgICAgIHZhbHVlLmZvckVhY2goKHYpID0+ICh0cmFuc2Zvcm1lZFZhbHVlICs9IHYgKyAnXFxuJykpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0cmFuc2Zvcm1lZFZhbHVlID0gdmFsdWUudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkVmFsdWU7XG4gIH1cbn1cbiJdfQ==
@@ -13,4 +13,4 @@ export class ImportOption {
13
13
  this.accept = accept;
14
14
  }
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZGF0YS1pbXBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvZXh0cmFzL2V2ZW50LWRhdGEtaW1wb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGVBS1g7QUFMRCxXQUFZLGVBQWU7SUFDekIsZ0NBQWEsQ0FBQTtJQUNiLHNDQUFtQixDQUFBO0lBQ25CLDRCQUFTLENBQUE7SUFDVCw4QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxXLGVBQWUsS0FBZixlQUFlLFFBSzFCO0FBSUQsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDUyxNQUFjLEVBQ2QsUUFBZ0IsRUFDaEIsT0FBa0MsRUFDbEMsTUFBZTtRQUhmLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQVM7SUFDckIsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRXZlbnREYXRhRm9ybWF0IHtcbiAgSlNPTiA9ICdKU09OJyxcbiAgSklWRVhNTCA9ICdKSVZFWE1MJyxcbiAgSUcgPSAnSUcnLFxuICBaSVAgPSAnWklQJyxcbn1cblxuZXhwb3J0IHR5cGUgRXZlbnREYXRhSW1wb3J0T3B0aW9uID0gRXZlbnREYXRhRm9ybWF0IHwgSW1wb3J0T3B0aW9uO1xuXG5leHBvcnQgY2xhc3MgSW1wb3J0T3B0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZvcm1hdDogc3RyaW5nLFxuICAgIHB1YmxpYyBmaWxlVHlwZTogc3RyaW5nLFxuICAgIHB1YmxpYyBoYW5kbGVyOiAoZmlsZXM6IEZpbGVMaXN0KSA9PiB2b2lkLFxuICAgIHB1YmxpYyBhY2NlcHQ/OiBzdHJpbmdcbiAgKSB7fVxufVxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZGF0YS1pbXBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvc2VydmljZXMvZXh0cmFzL2V2ZW50LWRhdGEtaW1wb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGVBS1g7QUFMRCxXQUFZLGVBQWU7SUFDekIsZ0NBQWEsQ0FBQTtJQUNiLHNDQUFtQixDQUFBO0lBQ25CLDRCQUFTLENBQUE7SUFDVCw4QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxXLGVBQWUsS0FBZixlQUFlLFFBSzFCO0FBSUQsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDUyxNQUFjLEVBQ2QsUUFBZ0IsRUFDaEIsT0FBa0MsRUFDbEMsTUFBZTtRQUhmLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQVM7SUFDckIsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRXZlbnREYXRhRm9ybWF0IHtcbiAgSlNPTiA9ICdKU09OJyxcbiAgSklWRVhNTCA9ICdKSVZFWE1MJyxcbiAgSUcgPSAnSUcnLFxuICBaSVAgPSAnWklQJyxcbn1cblxuZXhwb3J0IHR5cGUgRXZlbnREYXRhSW1wb3J0T3B0aW9uID0gRXZlbnREYXRhRm9ybWF0IHwgSW1wb3J0T3B0aW9uO1xuXG5leHBvcnQgY2xhc3MgSW1wb3J0T3B0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZvcm1hdDogc3RyaW5nLFxuICAgIHB1YmxpYyBmaWxlVHlwZTogc3RyaW5nLFxuICAgIHB1YmxpYyBoYW5kbGVyOiAoZmlsZXM6IEZpbGVMaXN0KSA9PiB2b2lkLFxuICAgIHB1YmxpYyBhY2NlcHQ/OiBzdHJpbmdcbiAgKSB7fVxufVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './event-display.service';
2
+ export * from './extras/event-data-import';
3
+ export * from './extras/attribute.pipe';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2V4dHJhcy9ldmVudC1kYXRhLWltcG9ydCc7XG5leHBvcnQgKiBmcm9tICcuL2V4dHJhcy9hdHRyaWJ1dGUucGlwZSc7XG4iXX0=