phoenix-ui-components 3.0.4 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/README.md +66 -0
  2. package/dist/README.md +66 -0
  3. package/dist/fesm2022/phoenix-ui-components.mjs +3875 -490
  4. package/dist/fesm2022/phoenix-ui-components.mjs.map +1 -1
  5. package/dist/index.d.ts +1370 -3
  6. package/package.json +10 -19
  7. package/dist/components/embed-menu/embed-menu.component.d.ts +0 -5
  8. package/dist/components/embed-menu/experiment-link/experiment-link.component.d.ts +0 -9
  9. package/dist/components/file-explorer/file-explorer.component.d.ts +0 -35
  10. package/dist/components/loader/loader.component.d.ts +0 -11
  11. package/dist/components/nav/nav.component.d.ts +0 -8
  12. package/dist/components/phoenix-menu/config/config-slider/config-slider.component.d.ts +0 -18
  13. package/dist/components/phoenix-menu/index.d.ts +0 -3
  14. package/dist/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.d.ts +0 -14
  15. package/dist/components/phoenix-menu/phoenix-menu.component.d.ts +0 -7
  16. package/dist/components/phoenix-ui.module.d.ts +0 -71
  17. package/dist/components/ring-loader/ring-loader.component.d.ts +0 -5
  18. package/dist/components/ui-menu/animate-camera/animate-camera.component.d.ts +0 -20
  19. package/dist/components/ui-menu/animate-event/animate-event.component.d.ts +0 -10
  20. package/dist/components/ui-menu/ar-toggle/ar-toggle.component.d.ts +0 -11
  21. package/dist/components/ui-menu/auto-rotate/auto-rotate.component.d.ts +0 -10
  22. package/dist/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.d.ts +0 -29
  23. package/dist/components/ui-menu/collections-info/collections-info.component.d.ts +0 -15
  24. package/dist/components/ui-menu/cycle-events/cycle-events.component.d.ts +0 -21
  25. package/dist/components/ui-menu/dark-theme/dark-theme.component.d.ts +0 -12
  26. package/dist/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.d.ts +0 -28
  27. package/dist/components/ui-menu/event-data-explorer/event-data-explorer.component.d.ts +0 -13
  28. package/dist/components/ui-menu/event-selector/event-selector.component.d.ts +0 -12
  29. package/dist/components/ui-menu/experiment-info/experiment-info.component.d.ts +0 -14
  30. package/dist/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.d.ts +0 -22
  31. package/dist/components/ui-menu/geometry-browser/geometry-browser.component.d.ts +0 -15
  32. package/dist/components/ui-menu/index.d.ts +0 -39
  33. package/dist/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.d.ts +0 -26
  34. package/dist/components/ui-menu/info-panel/info-panel.component.d.ts +0 -33
  35. package/dist/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.d.ts +0 -34
  36. package/dist/components/ui-menu/io-options/io-options.component.d.ts +0 -11
  37. package/dist/components/ui-menu/main-view-toggle/main-view-toggle.component.d.ts +0 -10
  38. package/dist/components/ui-menu/make-picture/make-picture.component.d.ts +0 -20
  39. package/dist/components/ui-menu/menu-toggle/menu-toggle.component.d.ts +0 -9
  40. package/dist/components/ui-menu/object-clipping/object-clipping.component.d.ts +0 -15
  41. package/dist/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.d.ts +0 -15
  42. package/dist/components/ui-menu/object-selection/object-selection.component.d.ts +0 -17
  43. package/dist/components/ui-menu/overlay/overlay.component.d.ts +0 -52
  44. package/dist/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.d.ts +0 -20
  45. package/dist/components/ui-menu/overlay-view/overlay-view.component.d.ts +0 -15
  46. package/dist/components/ui-menu/performance-toggle/performance-toggle.component.d.ts +0 -10
  47. package/dist/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.d.ts +0 -28
  48. package/dist/components/ui-menu/share-link/share-link.component.d.ts +0 -9
  49. package/dist/components/ui-menu/ss-mode/ss-mode.component.d.ts +0 -10
  50. package/dist/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.d.ts +0 -19
  51. package/dist/components/ui-menu/tree-menu/tree-menu.component.d.ts +0 -10
  52. package/dist/components/ui-menu/ui-menu-wrapper/ui-menu-wrapper.component.d.ts +0 -6
  53. package/dist/components/ui-menu/ui-menu.component.d.ts +0 -10
  54. package/dist/components/ui-menu/view-options/cartesian-grid-config/cartesian-grid-config.component.d.ts +0 -51
  55. package/dist/components/ui-menu/view-options/view-options.component.d.ts +0 -33
  56. package/dist/components/ui-menu/vr-toggle/vr-toggle.component.d.ts +0 -11
  57. package/dist/components/ui-menu/zoom-controls/zoom-controls.component.d.ts +0 -39
  58. package/dist/esm2022/components/embed-menu/embed-menu.component.mjs +0 -22
  59. package/dist/esm2022/components/embed-menu/experiment-link/experiment-link.component.mjs +0 -27
  60. package/dist/esm2022/components/file-explorer/file-explorer.component.mjs +0 -109
  61. package/dist/esm2022/components/loader/loader.component.mjs +0 -71
  62. package/dist/esm2022/components/nav/nav.component.mjs +0 -19
  63. package/dist/esm2022/components/phoenix-menu/config/config-slider/config-slider.component.mjs +0 -82
  64. package/dist/esm2022/components/phoenix-menu/index.mjs +0 -4
  65. package/dist/esm2022/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.mjs +0 -308
  66. package/dist/esm2022/components/phoenix-menu/phoenix-menu.component.mjs +0 -23
  67. package/dist/esm2022/components/phoenix-ui.module.mjs +0 -257
  68. package/dist/esm2022/components/ring-loader/ring-loader.component.mjs +0 -16
  69. package/dist/esm2022/components/ui-menu/animate-camera/animate-camera.component.mjs +0 -120
  70. package/dist/esm2022/components/ui-menu/animate-event/animate-event.component.mjs +0 -33
  71. package/dist/esm2022/components/ui-menu/ar-toggle/ar-toggle.component.mjs +0 -83
  72. package/dist/esm2022/components/ui-menu/auto-rotate/auto-rotate.component.mjs +0 -29
  73. package/dist/esm2022/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.mjs +0 -274
  74. package/dist/esm2022/components/ui-menu/collections-info/collections-info.component.mjs +0 -47
  75. package/dist/esm2022/components/ui-menu/cycle-events/cycle-events.component.mjs +0 -90
  76. package/dist/esm2022/components/ui-menu/dark-theme/dark-theme.component.mjs +0 -32
  77. package/dist/esm2022/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.mjs +0 -128
  78. package/dist/esm2022/components/ui-menu/event-data-explorer/event-data-explorer.component.mjs +0 -35
  79. package/dist/esm2022/components/ui-menu/event-selector/event-selector.component.mjs +0 -54
  80. package/dist/esm2022/components/ui-menu/experiment-info/experiment-info.component.mjs +0 -100
  81. package/dist/esm2022/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.mjs +0 -172
  82. package/dist/esm2022/components/ui-menu/geometry-browser/geometry-browser.component.mjs +0 -45
  83. package/dist/esm2022/components/ui-menu/index.mjs +0 -40
  84. package/dist/esm2022/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.mjs +0 -69
  85. package/dist/esm2022/components/ui-menu/info-panel/info-panel.component.mjs +0 -59
  86. package/dist/esm2022/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.mjs +0 -304
  87. package/dist/esm2022/components/ui-menu/io-options/io-options.component.mjs +0 -36
  88. package/dist/esm2022/components/ui-menu/main-view-toggle/main-view-toggle.component.mjs +0 -32
  89. package/dist/esm2022/components/ui-menu/make-picture/make-picture.component.mjs +0 -109
  90. package/dist/esm2022/components/ui-menu/menu-toggle/menu-toggle.component.mjs +0 -40
  91. package/dist/esm2022/components/ui-menu/object-clipping/object-clipping.component.mjs +0 -72
  92. package/dist/esm2022/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.mjs +0 -59
  93. package/dist/esm2022/components/ui-menu/object-selection/object-selection.component.mjs +0 -46
  94. package/dist/esm2022/components/ui-menu/overlay/overlay.component.mjs +0 -197
  95. package/dist/esm2022/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.mjs +0 -83
  96. package/dist/esm2022/components/ui-menu/overlay-view/overlay-view.component.mjs +0 -41
  97. package/dist/esm2022/components/ui-menu/performance-toggle/performance-toggle.component.mjs +0 -29
  98. package/dist/esm2022/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.mjs +0 -165
  99. package/dist/esm2022/components/ui-menu/share-link/share-link.component.mjs +0 -28
  100. package/dist/esm2022/components/ui-menu/ss-mode/ss-mode.component.mjs +0 -46
  101. package/dist/esm2022/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.mjs +0 -94
  102. package/dist/esm2022/components/ui-menu/tree-menu/tree-menu.component.mjs +0 -78
  103. package/dist/esm2022/components/ui-menu/ui-menu-wrapper/ui-menu-wrapper.component.mjs +0 -34
  104. package/dist/esm2022/components/ui-menu/ui-menu.component.mjs +0 -54
  105. package/dist/esm2022/components/ui-menu/view-options/cartesian-grid-config/cartesian-grid-config.component.mjs +0 -247
  106. package/dist/esm2022/components/ui-menu/view-options/view-options.component.mjs +0 -170
  107. package/dist/esm2022/components/ui-menu/vr-toggle/vr-toggle.component.mjs +0 -52
  108. package/dist/esm2022/components/ui-menu/zoom-controls/zoom-controls.component.mjs +0 -79
  109. package/dist/esm2022/phoenix-ui-components.mjs +0 -5
  110. package/dist/esm2022/public_api.mjs +0 -11
  111. package/dist/esm2022/services/error-message-service.mjs +0 -30
  112. package/dist/esm2022/services/event-display.service.mjs +0 -23
  113. package/dist/esm2022/services/extras/attribute.pipe.mjs +0 -33
  114. package/dist/esm2022/services/extras/event-data-import.mjs +0 -21
  115. package/dist/esm2022/services/file-loader.service.mjs +0 -93
  116. package/dist/esm2022/services/global-error-handler.mjs +0 -30
  117. package/dist/esm2022/services/index.mjs +0 -4
  118. package/dist/public_api.d.ts +0 -10
  119. package/dist/services/error-message-service.d.ts +0 -17
  120. package/dist/services/event-display.service.d.ts +0 -13
  121. package/dist/services/extras/attribute.pipe.d.ts +0 -16
  122. package/dist/services/extras/event-data-import.d.ts +0 -15
  123. package/dist/services/file-loader.service.d.ts +0 -17
  124. package/dist/services/global-error-handler.d.ts +0 -20
  125. package/dist/services/index.d.ts +0 -3
package/dist/index.d.ts CHANGED
@@ -1,5 +1,1372 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnInit, EventEmitter, ElementRef, ChangeDetectorRef, NgZone, OnDestroy, ComponentRef, AfterViewInit, QueryList, OnChanges, SimpleChanges, PipeTransform } from '@angular/core';
3
+ import * as i71 from '@angular/material/checkbox';
4
+ import { MatCheckboxChange } from '@angular/material/checkbox';
5
+ import * as phoenix_event_display from 'phoenix-event-display';
6
+ import { PhoenixMenuNode, EventDisplay, Configuration, AnimationPreset, PrettySymbols, ActiveVariable, PresetView, KinematicsConfig, MasterclassConfig, EventSummary, KinematicsColumn, TaggedParticle, ParticleTagDef } from 'phoenix-event-display';
7
+ import * as i65 from '@angular/cdk/overlay';
8
+ import { Overlay } from '@angular/cdk/overlay';
9
+ import { Object3D, Object3DEventMap, Vector3 } from 'three';
10
+ import * as i62 from '@angular/material/dialog';
11
+ import { MatDialog, MatDialogRef } from '@angular/material/dialog';
12
+ import { Subscription } from 'rxjs';
13
+ import * as i67 from '@angular/material/menu';
14
+ import { MatMenuTrigger } from '@angular/material/menu';
15
+ import * as i73 from '@angular/cdk/tree';
16
+ import { NestedTreeControl } from '@angular/cdk/tree';
17
+ import { MatTreeNestedDataSource } from '@angular/material/tree';
18
+ import * as i59 from '@angular/common';
19
+ import * as i60 from '@angular/router';
20
+ import * as i61 from '@angular/cdk/drag-drop';
21
+ import * as i63 from '@angular/material/button';
22
+ import * as i64 from '@angular/material/tooltip';
23
+ import * as i66 from '@angular/forms';
24
+ import * as i68 from '@angular/material/radio';
25
+ import * as i69 from '@angular/material/slider';
26
+ import * as i70 from '@angular/material/slide-toggle';
27
+ import * as i72 from '@angular/material/icon';
28
+ import * as i74 from '@angular/material/tabs';
29
+
30
+ declare class NavComponent implements OnInit {
31
+ constructor();
32
+ ngOnInit(): void;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<NavComponent, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<NavComponent, "app-nav", never, {}, {}, never, never, false, never>;
35
+ }
36
+
37
+ declare class ConfigSliderComponent {
38
+ value: number;
39
+ min: number;
40
+ oldMin: number;
41
+ max: number;
42
+ oldMax: number;
43
+ step: number;
44
+ allowCustomValue: boolean;
45
+ onChange: EventEmitter<number>;
46
+ onValueChange(value: number): void;
47
+ toggleMinCut(change: MatCheckboxChange): void;
48
+ toggleMaxCut(change: MatCheckboxChange): void;
49
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfigSliderComponent, never>;
50
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConfigSliderComponent, "app-config-slider", never, { "value": { "alias": "value"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "allowCustomValue": { "alias": "allowCustomValue"; "required": false; }; }, { "onChange": "onChange"; }, never, never, false, never>;
51
+ }
52
+
53
+ declare class PhoenixMenuItemComponent {
54
+ private cdr;
55
+ currentNode: PhoenixMenuNode;
56
+ phoenixMenuItem: ElementRef<HTMLDivElement>;
57
+ configTop: number;
58
+ constructor(cdr: ChangeDetectorRef);
59
+ calculateConfigTop(): void;
60
+ castConfigsToAny(configs: PhoenixMenuNode['configs']): any[];
61
+ static ɵfac: i0.ɵɵFactoryDeclaration<PhoenixMenuItemComponent, never>;
62
+ static ɵcmp: i0.ɵɵComponentDeclaration<PhoenixMenuItemComponent, "app-phoenix-menu-item", never, { "currentNode": { "alias": "currentNode"; "required": false; }; }, {}, never, never, false, never>;
63
+ }
64
+
65
+ declare class PhoenixMenuComponent {
66
+ rootNode: PhoenixMenuNode;
67
+ static ɵfac: i0.ɵɵFactoryDeclaration<PhoenixMenuComponent, never>;
68
+ static ɵcmp: i0.ɵɵComponentDeclaration<PhoenixMenuComponent, "app-phoenix-menu", never, { "rootNode": { "alias": "rootNode"; "required": false; }; }, {}, never, never, false, never>;
69
+ }
70
+
1
71
  /**
2
- * Generated bundle index. Do not edit.
72
+ * Service for all event display related functions.
3
73
  */
4
- /// <amd-module name="phoenix-ui-components" />
5
- export * from './public_api';
74
+ declare class EventDisplayService extends EventDisplay {
75
+ private ngZone;
76
+ /**
77
+ * Instantiate the event display by calling the parent constructor.
78
+ */
79
+ constructor(ngZone: NgZone);
80
+ /**
81
+ * Initialize the event display, then move only the renderer's
82
+ * animation loop outside Angular's zone.
83
+ *
84
+ * `super.init()` runs inside the zone so that URL-option loading,
85
+ * event-change callbacks and other promise/fetch work still trigger
86
+ * Angular change detection as expected.
87
+ *
88
+ * Only the `requestAnimationFrame` loop (Three.js render + stats)
89
+ * is re-registered outside the zone, preventing ~60 unnecessary
90
+ * change-detection cycles per second.
91
+ *
92
+ * @param configuration Configuration used to customize different aspects.
93
+ */
94
+ init(configuration: Configuration): void;
95
+ static ɵfac: i0.ɵɵFactoryDeclaration<EventDisplayService, never>;
96
+ static ɵprov: i0.ɵɵInjectableDeclaration<EventDisplayService>;
97
+ }
98
+
99
+ declare const defaultAnimationPresets: {
100
+ [key: string]: AnimationPreset;
101
+ };
102
+ declare class AnimateCameraComponent {
103
+ private eventDisplay;
104
+ animationPresets: {
105
+ [key: string]: AnimationPreset;
106
+ };
107
+ animationPresetsKeys: string[];
108
+ isAnimating: boolean;
109
+ constructor(eventDisplay: EventDisplayService);
110
+ animatePreset(preset: string): void;
111
+ animateCamera(): void;
112
+ private setDetectorOpacity;
113
+ static ɵfac: i0.ɵɵFactoryDeclaration<AnimateCameraComponent, never>;
114
+ static ɵcmp: i0.ɵɵComponentDeclaration<AnimateCameraComponent, "app-animate-camera", never, { "animationPresets": { "alias": "animationPresets"; "required": false; }; }, {}, never, never, false, never>;
115
+ }
116
+
117
+ declare class AnimateEventComponent {
118
+ private eventDisplay;
119
+ isAnimating: boolean;
120
+ constructor(eventDisplay: EventDisplayService);
121
+ toggleAnimateEvent(): void;
122
+ static ɵfac: i0.ɵɵFactoryDeclaration<AnimateEventComponent, never>;
123
+ static ɵcmp: i0.ɵɵComponentDeclaration<AnimateEventComponent, "app-animate-event", never, {}, {}, never, never, false, never>;
124
+ }
125
+
126
+ declare class AutoRotateComponent {
127
+ private eventDisplay;
128
+ autoRotate: boolean;
129
+ constructor(eventDisplay: EventDisplayService);
130
+ toggleAutoRotate(): void;
131
+ static ɵfac: i0.ɵɵFactoryDeclaration<AutoRotateComponent, never>;
132
+ static ɵcmp: i0.ɵɵComponentDeclaration<AutoRotateComponent, "app-auto-rotate", never, {}, {}, never, never, false, never>;
133
+ }
134
+
135
+ declare class CollectionsInfoOverlayComponent implements OnInit, OnDestroy {
136
+ private elementRef;
137
+ private eventDisplay;
138
+ showObjectsInfo: boolean;
139
+ /** Columns to exclude from the collection info table. */
140
+ excludedColumns: string[];
141
+ hideInvisible: boolean;
142
+ collections: {
143
+ type: string;
144
+ collections: string[];
145
+ }[];
146
+ selectedCollection: string;
147
+ showingCollection: any;
148
+ collectionColumns: string[];
149
+ getPrettySymbol: typeof PrettySymbols.getPrettySymbol;
150
+ activeObject: ActiveVariable<string>;
151
+ private unsubscribes;
152
+ constructor(elementRef: ElementRef, eventDisplay: EventDisplayService);
153
+ ngOnInit(): void;
154
+ ngOnDestroy(): void;
155
+ changeCollection(selectedCollection: string): void;
156
+ /**
157
+ * Check whether an object is hidden by filtering.
158
+ * For InstancedMesh CaloCells, checks the instance matrix for zero-scale.
159
+ */
160
+ private isObjectCut;
161
+ sort(column: string, order: string): void;
162
+ lookAtObject(uuid: string): void;
163
+ highlightObject(uuid: string): void;
164
+ enableHighlighting(): void;
165
+ disableHighlighting(): void;
166
+ toggleInvisible(checked: boolean): void;
167
+ addLabel(index: number, uuid: string): void;
168
+ private getEventDataGroup;
169
+ static ɵfac: i0.ɵɵFactoryDeclaration<CollectionsInfoOverlayComponent, never>;
170
+ static ɵcmp: i0.ɵɵComponentDeclaration<CollectionsInfoOverlayComponent, "app-collections-info-overlay", never, { "showObjectsInfo": { "alias": "showObjectsInfo"; "required": false; }; "excludedColumns": { "alias": "excludedColumns"; "required": false; }; }, {}, never, never, false, never>;
171
+ }
172
+
173
+ declare class CollectionsInfoComponent implements OnInit, OnDestroy {
174
+ private overlay;
175
+ showObjectsInfo: boolean;
176
+ overlayWindow: ComponentRef<CollectionsInfoOverlayComponent>;
177
+ constructor(overlay: Overlay);
178
+ ngOnInit(): void;
179
+ ngOnDestroy(): void;
180
+ toggleOverlay(): void;
181
+ static ɵfac: i0.ɵɵFactoryDeclaration<CollectionsInfoComponent, never>;
182
+ static ɵcmp: i0.ɵɵComponentDeclaration<CollectionsInfoComponent, "app-collections-info", never, {}, {}, never, never, false, never>;
183
+ }
184
+
185
+ declare class GeometryBrowserOverlayComponent implements OnInit, OnDestroy {
186
+ private eventDisplay;
187
+ browseDetectorParts: boolean;
188
+ selectedCollection: string;
189
+ showingCollection: any;
190
+ activeObject: ActiveVariable<string>;
191
+ children: Object3D<Object3DEventMap>[];
192
+ private unsubscribe;
193
+ constructor(eventDisplay: EventDisplayService);
194
+ ngOnInit(): void;
195
+ ngOnDestroy(): void;
196
+ changeCollection(selectedCollection: string): void;
197
+ lookAtObject(uuid: string): void;
198
+ highlightObject(uuid: string): void;
199
+ enableHighlighting(): void;
200
+ disableHighlighting(): void;
201
+ static ɵfac: i0.ɵɵFactoryDeclaration<GeometryBrowserOverlayComponent, never>;
202
+ static ɵcmp: i0.ɵɵComponentDeclaration<GeometryBrowserOverlayComponent, "app-geometry-browser-overlay", never, { "browseDetectorParts": { "alias": "browseDetectorParts"; "required": false; }; }, {}, never, never, false, never>;
203
+ }
204
+
205
+ declare class GeometryBrowserComponent implements OnInit, OnDestroy {
206
+ private overlay;
207
+ browseDetectorParts: boolean;
208
+ overlayWindow: ComponentRef<GeometryBrowserOverlayComponent>;
209
+ constructor(overlay: Overlay);
210
+ ngOnInit(): void;
211
+ ngOnDestroy(): void;
212
+ toggleOverlay(): void;
213
+ static ɵfac: i0.ɵɵFactoryDeclaration<GeometryBrowserComponent, never>;
214
+ static ɵcmp: i0.ɵɵComponentDeclaration<GeometryBrowserComponent, "app-geometry-browser", never, {}, {}, never, never, false, never>;
215
+ }
216
+
217
+ declare class DarkThemeComponent implements OnInit {
218
+ private eventDisplay;
219
+ darkTheme: boolean;
220
+ constructor(eventDisplay: EventDisplayService);
221
+ ngOnInit(): void;
222
+ setDarkTheme(): void;
223
+ static ɵfac: i0.ɵɵFactoryDeclaration<DarkThemeComponent, never>;
224
+ static ɵcmp: i0.ɵɵComponentDeclaration<DarkThemeComponent, "app-dark-theme", never, {}, {}, never, never, false, never>;
225
+ }
226
+
227
+ declare class EventSelectorComponent implements OnInit, OnDestroy {
228
+ private eventDisplay;
229
+ events: string[];
230
+ private unsubscribe;
231
+ /** Prevents callbacks on destroyed component */
232
+ private isDestroyed;
233
+ constructor(eventDisplay: EventDisplayService);
234
+ ngOnInit(): void;
235
+ ngOnDestroy(): void;
236
+ changeEvent(selected: any): void;
237
+ static ɵfac: i0.ɵɵFactoryDeclaration<EventSelectorComponent, never>;
238
+ static ɵcmp: i0.ɵɵComponentDeclaration<EventSelectorComponent, "app-event-selector", never, {}, {}, never, never, false, never>;
239
+ }
240
+
241
+ declare class ExperimentInfoComponent implements OnInit, OnDestroy {
242
+ private eventDisplay;
243
+ experimentInfo: any[];
244
+ url: string;
245
+ logo: string;
246
+ tagline: string;
247
+ private unsubscribe;
248
+ constructor(eventDisplay: EventDisplayService);
249
+ ngOnInit(): void;
250
+ ngOnDestroy(): void;
251
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExperimentInfoComponent, never>;
252
+ static ɵcmp: i0.ɵɵComponentDeclaration<ExperimentInfoComponent, "app-experiment-info", never, { "url": { "alias": "url"; "required": false; }; "logo": { "alias": "logo"; "required": false; }; "tagline": { "alias": "tagline"; "required": false; }; }, {}, never, never, false, never>;
253
+ }
254
+
255
+ /**
256
+ * Component for displaying information from the logger
257
+ */
258
+ declare class InfoPanelOverlayComponent implements OnInit {
259
+ private eventDisplay;
260
+ /** @ignore */
261
+ showInfoPanel: boolean;
262
+ /** List of actions to be displayed in the info panel */
263
+ actionsList: any[];
264
+ /** Get Phoenix Version */
265
+ version: string;
266
+ /**
267
+ * Create the information panel overlay
268
+ * @param infoLogger Service containing operations related to info logs
269
+ */
270
+ constructor(eventDisplay: EventDisplayService);
271
+ /**
272
+ * Get the list of logs from the info logger service
273
+ */
274
+ ngOnInit(): void;
275
+ static ɵfac: i0.ɵɵFactoryDeclaration<InfoPanelOverlayComponent, never>;
276
+ static ɵcmp: i0.ɵɵComponentDeclaration<InfoPanelOverlayComponent, "app-info-panel-overlay", never, { "showInfoPanel": { "alias": "showInfoPanel"; "required": false; }; }, {}, never, never, false, never>;
277
+ }
278
+
279
+ /**
280
+ * Component for toggling info panel overlay
281
+ */
282
+ declare class InfoPanelComponent implements OnInit, OnDestroy {
283
+ private overlay;
284
+ /** @ignore */
285
+ showInfoPanel: boolean;
286
+ /** Information panel overlay window */
287
+ overlayWindow: ComponentRef<InfoPanelOverlayComponent>;
288
+ /**
289
+ * Create the info panel toggle
290
+ * @param overlay Info panel overlay containing logger data
291
+ */
292
+ constructor(overlay: Overlay);
293
+ /**
294
+ * Create the info panel overlay
295
+ */
296
+ ngOnInit(): void;
297
+ /**
298
+ * Destroy the info panel overlay
299
+ */
300
+ ngOnDestroy(): void;
301
+ /**
302
+ * Toggle the info panel overlay
303
+ */
304
+ toggleOverlay(): void;
305
+ static ɵfac: i0.ɵɵFactoryDeclaration<InfoPanelComponent, never>;
306
+ static ɵcmp: i0.ɵɵComponentDeclaration<InfoPanelComponent, "app-info-panel", never, {}, {}, never, never, false, never>;
307
+ }
308
+
309
+ declare enum EventDataFormat {
310
+ JSON = "JSON",
311
+ EDM4HEPJSON = "EDM4HEPJSON",
312
+ JIVEXML = "JIVEXML",
313
+ PHYSLITE = "PHYSLITE",
314
+ IG = "IG",
315
+ ZIP = "ZIP"
316
+ }
317
+ type EventDataImportOption = EventDataFormat | ImportOption;
318
+ declare class ImportOption {
319
+ format: string;
320
+ fileType: string;
321
+ handler: (files: FileList) => void;
322
+ accept?: string;
323
+ constructor(format: string, fileType: string, handler: (files: FileList) => void, accept?: string);
324
+ }
325
+
326
+ declare class IoOptionsComponent {
327
+ private dialog;
328
+ eventDataImportOptions: EventDataImportOption[];
329
+ constructor(dialog: MatDialog);
330
+ openIODialog(): void;
331
+ static ɵfac: i0.ɵɵFactoryDeclaration<IoOptionsComponent, never>;
332
+ static ɵcmp: i0.ɵɵComponentDeclaration<IoOptionsComponent, "app-io-options", never, { "eventDataImportOptions": { "alias": "eventDataImportOptions"; "required": false; }; }, {}, never, never, false, never>;
333
+ }
334
+
335
+ declare class IOOptionsDialogComponent implements OnInit {
336
+ private eventDisplay;
337
+ dialogRef: MatDialogRef<IOOptionsDialogComponent>;
338
+ eventDataImportOptions: EventDataImportOption[];
339
+ eventDataOptionsWithHandler: ImportOption[];
340
+ private supportedEventDataFormats;
341
+ constructor(eventDisplay: EventDisplayService, dialogRef: MatDialogRef<IOOptionsDialogComponent>);
342
+ ngOnInit(): void;
343
+ getSupportedEventDataFormats(): string;
344
+ onClose(): void;
345
+ handleJSONEventDataInput(files: FileList): void;
346
+ handleEDM4HEPJSONEventDataInput(files: FileList): void;
347
+ handleJiveXMLDataInput(files: FileList): void;
348
+ private getJiveXMLLoader;
349
+ handleOBJInput(files: FileList): void;
350
+ handleSceneInput(files: FileList): void;
351
+ handleGLTFInput(files: FileList): void;
352
+ handlePhoenixInput(files: FileList): void;
353
+ handleROOTInput(files: FileList): Promise<void>;
354
+ handleRootJSONInput(files: FileList): Promise<void>;
355
+ handlePHYSLITEInput(files: FileList): Promise<void>;
356
+ handleIgEventDataInput(files: FileList): void;
357
+ handleZipEventDataInput(files: FileList): Promise<void>;
358
+ handleFileInput(file: File, extensions: string, callback: (result: string, fileName?: string) => void): void;
359
+ private isFileOfExtension;
360
+ saveScene(): void;
361
+ exportOBJ(): void;
362
+ static ɵfac: i0.ɵɵFactoryDeclaration<IOOptionsDialogComponent, never>;
363
+ static ɵcmp: i0.ɵɵComponentDeclaration<IOOptionsDialogComponent, "app-io-options-dialog", never, { "eventDataImportOptions": { "alias": "eventDataImportOptions"; "required": false; }; }, {}, never, never, false, never>;
364
+ }
365
+
366
+ declare class MainViewToggleComponent {
367
+ private eventDisplay;
368
+ orthographicView: boolean;
369
+ constructor(eventDisplay: EventDisplayService);
370
+ switchMainView(): void;
371
+ static ɵfac: i0.ɵɵFactoryDeclaration<MainViewToggleComponent, never>;
372
+ static ɵcmp: i0.ɵɵComponentDeclaration<MainViewToggleComponent, "app-main-view-toggle", never, {}, {}, never, never, false, never>;
373
+ }
374
+
375
+ declare class MenuToggleComponent {
376
+ icon: string;
377
+ active: boolean;
378
+ tooltip: string;
379
+ disabled: boolean;
380
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuToggleComponent, never>;
381
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuToggleComponent, "app-menu-toggle", never, { "icon": { "alias": "icon"; "required": false; }; "active": { "alias": "active"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
382
+ }
383
+
384
+ declare class ObjectClippingComponent implements OnInit, OnDestroy {
385
+ private eventDisplay;
386
+ clippingEnabled: boolean;
387
+ startClippingAngle: number;
388
+ openingClippingAngle: number;
389
+ private unsubscribes;
390
+ constructor(eventDisplay: EventDisplayService);
391
+ ngOnInit(): void;
392
+ ngOnDestroy(): void;
393
+ changeStartClippingAngle(startingAngle: number): void;
394
+ changeOpeningClippingAngle(openingAngle: number): void;
395
+ toggleClipping(change: MatCheckboxChange): void;
396
+ static ɵfac: i0.ɵɵFactoryDeclaration<ObjectClippingComponent, never>;
397
+ static ɵcmp: i0.ɵɵComponentDeclaration<ObjectClippingComponent, "app-object-clipping", never, {}, {}, never, never, false, never>;
398
+ }
399
+
400
+ declare class ObjectSelectionOverlayComponent implements OnInit {
401
+ private eventDisplay;
402
+ hiddenSelectedInfo: boolean;
403
+ selectedObject: {
404
+ name: string;
405
+ attributes: any[];
406
+ };
407
+ constructor(eventDisplay: EventDisplayService);
408
+ ngOnInit(): void;
409
+ static ɵfac: i0.ɵɵFactoryDeclaration<ObjectSelectionOverlayComponent, never>;
410
+ static ɵcmp: i0.ɵɵComponentDeclaration<ObjectSelectionOverlayComponent, "app-object-selection-overlay", never, { "hiddenSelectedInfo": { "alias": "hiddenSelectedInfo"; "required": false; }; }, {}, never, never, false, never>;
411
+ }
412
+
413
+ declare class ObjectSelectionComponent implements OnInit, OnDestroy {
414
+ private overlay;
415
+ private eventDisplay;
416
+ hiddenSelectedInfo: boolean;
417
+ overlayWindow: ComponentRef<ObjectSelectionOverlayComponent>;
418
+ constructor(overlay: Overlay, eventDisplay: EventDisplayService);
419
+ ngOnInit(): void;
420
+ ngOnDestroy(): void;
421
+ toggleOverlay(): void;
422
+ static ɵfac: i0.ɵɵFactoryDeclaration<ObjectSelectionComponent, never>;
423
+ static ɵcmp: i0.ɵɵComponentDeclaration<ObjectSelectionComponent, "app-object-selection", never, {}, {}, never, never, false, never>;
424
+ }
425
+
426
+ /**
427
+ * Component for overlay panel.
428
+ */
429
+ declare class OverlayComponent implements AfterViewInit, OnDestroy {
430
+ private eventDisplay;
431
+ /** Title of the overlay. */
432
+ overlayTitle: string;
433
+ /** If the overlay is open or not. */
434
+ active: boolean;
435
+ /** Icon of the overlay header. */
436
+ icon: string;
437
+ /** If the overlay is resizable. */
438
+ resizable: boolean;
439
+ /** If the overlay body is transparent or not. */
440
+ transparentBody: boolean;
441
+ /** If the aspect ratio is kept fixed or not. */
442
+ keepAspectRatioFixed: boolean;
443
+ /** If the overlay body is visible or not. */
444
+ showBody: boolean;
445
+ /** Aspect ratio of the overlay view. */
446
+ aspectRatio: number;
447
+ /** Bound resize handler for cleanup. */
448
+ private resizeHandler;
449
+ /** Complete overlay card containing both header and body. */
450
+ overlayCard: ElementRef;
451
+ /** Handle for resizing the overlay. */
452
+ resizeHandleCorner: ElementRef;
453
+ /** reference for the overlay. picked from ng-content */
454
+ overlayWindow: ElementRef<HTMLCanvasElement>;
455
+ /** Minimum resizable width. */
456
+ private MIN_RES_WIDTH;
457
+ /** Minimum resizable height */
458
+ private MIN_RES_HEIGHT;
459
+ constructor(eventDisplay: EventDisplayService);
460
+ /**
461
+ * Move the resizable handle to the bottom right after the component is created.
462
+ */
463
+ ngAfterViewInit(): void;
464
+ /**
465
+ * Clean up event listeners when the component is destroyed.
466
+ */
467
+ ngOnDestroy(): void;
468
+ /**
469
+ * Resize the overlay card when the resize handle is dragged.
470
+ */
471
+ onResize(): void;
472
+ /**
473
+ * Reset resize handle position.
474
+ */
475
+ resetHandlePosition(): void;
476
+ /**
477
+ * Set the position of the resize handle using transform3d.
478
+ * @param overlayRect Bounding client rectangle of the overlay card.
479
+ * @param dragRect Bounding client rectangle of the resize handle.
480
+ */
481
+ private setHandleTransform;
482
+ static ɵfac: i0.ɵɵFactoryDeclaration<OverlayComponent, never>;
483
+ static ɵcmp: i0.ɵɵComponentDeclaration<OverlayComponent, "app-overlay", never, { "overlayTitle": { "alias": "overlayTitle"; "required": false; }; "active": { "alias": "active"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "transparentBody": { "alias": "transparentBody"; "required": false; }; "keepAspectRatioFixed": { "alias": "keepAspectRatioFixed"; "required": false; }; }, {}, ["overlayWindow"], ["*"], false, never>;
484
+ }
485
+
486
+ declare class OverlayViewWindowComponent implements AfterViewInit {
487
+ private eventDisplay;
488
+ showOverlay: boolean;
489
+ transparentBody: boolean;
490
+ orthographicView: boolean;
491
+ overlayViewFixed: boolean;
492
+ overlayViewLinked: boolean;
493
+ overlayWindow: ElementRef<HTMLCanvasElement>;
494
+ constructor(eventDisplay: EventDisplayService);
495
+ ngAfterViewInit(): void;
496
+ initializeCanvas(canvas: HTMLCanvasElement, x?: number, y?: number): HTMLCanvasElement;
497
+ switchOverlayView(): void;
498
+ fixOverlayView(): void;
499
+ toggleBgTransparency(): void;
500
+ LinkOverlayView(): void;
501
+ switchContexts(): void;
502
+ syncOverlayFromMain(): void;
503
+ static ɵfac: i0.ɵɵFactoryDeclaration<OverlayViewWindowComponent, never>;
504
+ static ɵcmp: i0.ɵɵComponentDeclaration<OverlayViewWindowComponent, "app-overlay-view-window", never, { "showOverlay": { "alias": "showOverlay"; "required": false; }; }, {}, never, never, false, never>;
505
+ }
506
+
507
+ declare class OverlayViewComponent implements OnInit, OnDestroy {
508
+ private overlay;
509
+ overlayWindow: ComponentRef<OverlayViewWindowComponent>;
510
+ showOverlay: boolean;
511
+ constructor(overlay: Overlay);
512
+ ngOnInit(): void;
513
+ ngOnDestroy(): void;
514
+ toggleOverlay(): void;
515
+ static ɵfac: i0.ɵɵFactoryDeclaration<OverlayViewComponent, never>;
516
+ static ɵcmp: i0.ɵɵComponentDeclaration<OverlayViewComponent, "app-overlay-view", never, {}, {}, never, never, false, never>;
517
+ }
518
+
519
+ type TreeMenuNode = {
520
+ name: string;
521
+ geometryId: string;
522
+ children?: TreeMenuNode[];
523
+ };
524
+ declare class TreeMenuItemComponent {
525
+ private eventDisplay;
526
+ children: QueryList<TreeMenuItemComponent>;
527
+ node: TreeMenuNode;
528
+ isExpanded: boolean;
529
+ visible: boolean;
530
+ constructor(eventDisplay: EventDisplayService);
531
+ toggleVisibility(visible: boolean): void;
532
+ static ɵfac: i0.ɵɵFactoryDeclaration<TreeMenuItemComponent, never>;
533
+ static ɵcmp: i0.ɵɵComponentDeclaration<TreeMenuItemComponent, "app-tree-menu-item", never, { "node": { "alias": "node"; "required": false; }; }, {}, never, never, false, never>;
534
+ }
535
+
536
+ declare class TreeMenuComponent implements OnInit {
537
+ rootNode: TreeMenuNode;
538
+ constructor();
539
+ ngOnInit(): void;
540
+ static ɵfac: i0.ɵɵFactoryDeclaration<TreeMenuComponent, never>;
541
+ static ɵcmp: i0.ɵɵComponentDeclaration<TreeMenuComponent, "app-tree-menu", never, {}, {}, never, never, false, never>;
542
+ }
543
+
544
+ declare class ViewOptionsComponent implements OnInit, OnDestroy {
545
+ private eventDisplay;
546
+ private dialog;
547
+ trigger: MatMenuTrigger;
548
+ showCartesianGrid: boolean;
549
+ scale: number;
550
+ views: PresetView[];
551
+ show3DPoints: boolean;
552
+ origin: Vector3;
553
+ sub: Subscription;
554
+ constructor(eventDisplay: EventDisplayService, dialog: MatDialog);
555
+ ngOnInit(): void;
556
+ openCartesianGridConfigDialog(): void;
557
+ displayView($event: any, view: PresetView): void;
558
+ setAxis(change: MatCheckboxChange): void;
559
+ setEtaPhiGrid(change: MatCheckboxChange): void;
560
+ setCartesianGrid(change: MatCheckboxChange): void;
561
+ showLabels(change: MatCheckboxChange): void;
562
+ show3DMousePoints(change: MatCheckboxChange): void;
563
+ toggleShowDistance(change: MatCheckboxChange): void;
564
+ ngOnDestroy(): void;
565
+ static ɵfac: i0.ɵɵFactoryDeclaration<ViewOptionsComponent, never>;
566
+ static ɵcmp: i0.ɵɵComponentDeclaration<ViewOptionsComponent, "app-view-options", never, {}, {}, never, never, false, never>;
567
+ }
568
+
569
+ declare class CartesianGridConfigComponent implements OnInit {
570
+ data: {
571
+ gridVisible: boolean;
572
+ scale: number;
573
+ };
574
+ private dialogRef;
575
+ private eventDisplay;
576
+ cartesianPos: Vector3;
577
+ originChangedSub: Subscription;
578
+ stopShiftingSub: Subscription;
579
+ showCartesianGrid: boolean;
580
+ gridConfig: {
581
+ showXY: boolean;
582
+ showYZ: boolean;
583
+ showZX: boolean;
584
+ xDistance: number;
585
+ yDistance: number;
586
+ zDistance: number;
587
+ sparsity: number;
588
+ };
589
+ scale: number;
590
+ shiftGrid: boolean;
591
+ constructor(data: {
592
+ gridVisible: boolean;
593
+ scale: number;
594
+ }, dialogRef: MatDialogRef<CartesianGridConfigComponent>, eventDisplay: EventDisplayService);
595
+ ngOnInit(): void;
596
+ onClose(): void;
597
+ onSave(x: any, y: any, z: any): void;
598
+ shiftCartesianGridByPointer(): void;
599
+ shiftCartesianGridByValues(position: Vector3): void;
600
+ translateGrid(position: Vector3): void;
601
+ addXYPlanes(zDistance: Event): void;
602
+ addYZPlanes(xDistance: Event): void;
603
+ addZXPlanes(yDistance: Event): void;
604
+ changeSparsity(sparsity: Event): void;
605
+ showXYPlanes(change: MatCheckboxChange): void;
606
+ showYZPlanes(change: MatCheckboxChange): void;
607
+ showZXPlanes(change: MatCheckboxChange): void;
608
+ callSetShowCartesianGrid(): void;
609
+ calcPlanes(dis: number): number;
610
+ static ɵfac: i0.ɵɵFactoryDeclaration<CartesianGridConfigComponent, never>;
611
+ static ɵcmp: i0.ɵɵComponentDeclaration<CartesianGridConfigComponent, "app-cartesian-grid-config", never, {}, {}, never, never, false, never>;
612
+ }
613
+
614
+ declare class VrToggleComponent {
615
+ private eventDisplay;
616
+ vrSupported: boolean;
617
+ vrActive: boolean;
618
+ constructor(eventDisplay: EventDisplayService);
619
+ toggleVr(): void;
620
+ static ɵfac: i0.ɵɵFactoryDeclaration<VrToggleComponent, never>;
621
+ static ɵcmp: i0.ɵɵComponentDeclaration<VrToggleComponent, "app-vr-toggle", never, {}, {}, never, never, false, never>;
622
+ }
623
+
624
+ declare class ArToggleComponent {
625
+ private eventDisplay;
626
+ arSupported: boolean;
627
+ arActive: boolean;
628
+ constructor(eventDisplay: EventDisplayService);
629
+ toggleAr(enableDomOverlay?: boolean): void;
630
+ static ɵfac: i0.ɵɵFactoryDeclaration<ArToggleComponent, never>;
631
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArToggleComponent, "app-ar-toggle", never, {}, {}, never, never, false, never>;
632
+ }
633
+
634
+ /**
635
+ * Component for adding zoom controls for the main and overlay cameras.
636
+ */
637
+ declare class ZoomControlsComponent implements OnDestroy {
638
+ private eventDisplay;
639
+ /** All camera being used by the scene. */
640
+ allCameras: any[];
641
+ /** Factor to zoom by. */
642
+ private zoomFactor;
643
+ /** Timeout for clearing mouse hold. */
644
+ private zoomTimeout;
645
+ /** The speed and time of zoom. */
646
+ private zoomTime;
647
+ constructor(eventDisplay: EventDisplayService);
648
+ /**
649
+ * Zoom all the cameras by a specific zoom factor.
650
+ * The factor may either be greater (zoom in) or smaller (zoom out) than 1.
651
+ * @param zoomFactor The factor to zoom by.
652
+ */
653
+ zoomTo(zoomFactor: number): void;
654
+ /**
655
+ * Zoom the camera in.
656
+ * @param leftClick Whether the mouse click is left or not.
657
+ */
658
+ zoomIn(event: Event | boolean): void;
659
+ /**
660
+ * Zoom the camera out.
661
+ * @param leftClick Whether the mouse click is left or not.s
662
+ */
663
+ zoomOut(event: Event | boolean): void;
664
+ /**
665
+ * Reset the zoom time which decreases upon hold and clear the zoom timeout.
666
+ */
667
+ clearZoom(): void;
668
+ ngOnDestroy(): void;
669
+ static ɵfac: i0.ɵɵFactoryDeclaration<ZoomControlsComponent, never>;
670
+ static ɵcmp: i0.ɵɵComponentDeclaration<ZoomControlsComponent, "app-zoom-controls", never, {}, {}, never, never, false, never>;
671
+ }
672
+
673
+ declare class SSModeComponent implements OnInit, OnDestroy {
674
+ ssMode: boolean;
675
+ ngOnInit(): void;
676
+ toggleSSMode(): void;
677
+ private onDocumentClick;
678
+ /**
679
+ * Clean up event listeners and fullscreen state when the component is destroyed.
680
+ */
681
+ ngOnDestroy(): void;
682
+ static ɵfac: i0.ɵɵFactoryDeclaration<SSModeComponent, never>;
683
+ static ɵcmp: i0.ɵɵComponentDeclaration<SSModeComponent, "app-ss-mode", never, {}, {}, never, never, false, never>;
684
+ }
685
+
686
+ declare class MakePictureComponent implements OnInit, OnDestroy {
687
+ private eventDisplay;
688
+ fittings: string[];
689
+ fitting: string;
690
+ width: number;
691
+ height: number;
692
+ disabled: boolean;
693
+ ssMode: boolean;
694
+ private ssTimeoutId;
695
+ private fullscreenHandler;
696
+ constructor(eventDisplay: EventDisplayService);
697
+ ngOnInit(): void;
698
+ setWidth(value: any): void;
699
+ setHeight(value: any): void;
700
+ buttonText(): string;
701
+ toggleSSMode(): void;
702
+ makePicture(): void;
703
+ private onDocumentClick;
704
+ ngOnDestroy(): void;
705
+ static ɵfac: i0.ɵɵFactoryDeclaration<MakePictureComponent, never>;
706
+ static ɵcmp: i0.ɵɵComponentDeclaration<MakePictureComponent, "app-make-picture", never, {}, {}, never, never, false, never>;
707
+ }
708
+
709
+ declare class PerformanceToggleComponent {
710
+ private eventDisplay;
711
+ performanceMode: boolean;
712
+ constructor(eventDisplay: EventDisplayService);
713
+ togglePerformance(): void;
714
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceToggleComponent, never>;
715
+ static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceToggleComponent, "app-performance-toggle", never, {}, {}, never, never, false, never>;
716
+ }
717
+
718
+ interface UIMenuConfig {
719
+ showVRToggle?: boolean;
720
+ showARToggle?: boolean;
721
+ showShareLink?: boolean;
722
+ showPerformanceToggle?: boolean;
723
+ showGeometryBrowser?: boolean;
724
+ showObjectClipping?: boolean;
725
+ showOverlayView?: boolean;
726
+ showAnimateEvent?: boolean;
727
+ showAnimateCamera?: boolean;
728
+ showCollectionsInfo?: boolean;
729
+ showMakePicture?: boolean;
730
+ showObjectSelection?: boolean;
731
+ showInfoPanel?: boolean;
732
+ showEventBrowser?: boolean;
733
+ showEtaPhiPanel?: boolean;
734
+ showKinematicsPanel?: boolean;
735
+ showMasterclassPanel?: boolean;
736
+ }
737
+ declare const defaultUIMenuConfig: UIMenuConfig;
738
+ declare class UiMenuComponent {
739
+ eventDataImportOptions: EventDataImportOption[];
740
+ animationPresets: {
741
+ [key: string]: phoenix_event_display.AnimationPreset;
742
+ };
743
+ uiConfig: UIMenuConfig;
744
+ kinematicsConfig?: KinematicsConfig;
745
+ masterclassConfig?: MasterclassConfig;
746
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiMenuComponent, never>;
747
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiMenuComponent, "app-ui-menu", never, { "eventDataImportOptions": { "alias": "eventDataImportOptions"; "required": false; }; "animationPresets": { "alias": "animationPresets"; "required": false; }; "uiConfig": { "alias": "uiConfig"; "required": false; }; "kinematicsConfig": { "alias": "kinematicsConfig"; "required": false; }; "masterclassConfig": { "alias": "masterclassConfig"; "required": false; }; }, {}, never, ["*"], false, never>;
748
+ }
749
+
750
+ declare class ShareLinkComponent {
751
+ private dialog;
752
+ constructor(dialog: MatDialog);
753
+ openShareLinkDialog(): void;
754
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShareLinkComponent, never>;
755
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShareLinkComponent, "app-share-link", never, {}, {}, never, never, false, never>;
756
+ }
757
+
758
+ declare class ShareLinkDialogComponent implements AfterViewInit, OnDestroy {
759
+ private dialogRef;
760
+ private eventDisplay;
761
+ baseLink: string;
762
+ shareLink: ActiveVariable<string>;
763
+ embedLink: string;
764
+ urlOptions: {
765
+ file: string;
766
+ type: string;
767
+ config: string;
768
+ state: string;
769
+ hideWidgets: boolean;
770
+ embed: boolean;
771
+ };
772
+ qrcodeCanvas: ElementRef<HTMLCanvasElement>;
773
+ private unsubscribe;
774
+ constructor(dialogRef: MatDialogRef<ShareLinkDialogComponent>, eventDisplay: EventDisplayService);
775
+ ngAfterViewInit(): void;
776
+ ngOnDestroy(): void;
777
+ onClose(): void;
778
+ getEmbedLink(urlParametersString?: string): string;
779
+ setOptionValue(option: string, value: string | boolean): void;
780
+ onOptionsChange(): void;
781
+ toggleViewState(include: boolean): Promise<void>;
782
+ copyText(text: string, element: HTMLElement): void;
783
+ updateQRCode(link: string): void;
784
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShareLinkDialogComponent, never>;
785
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShareLinkDialogComponent, "app-share-link-dialog", never, {}, {}, never, never, false, never>;
786
+ }
787
+
788
+ type EventDataExplorerDialogData = {
789
+ apiURL: string;
790
+ };
791
+ declare class EventDataExplorerComponent {
792
+ private dialog;
793
+ apiURL: string;
794
+ constructor(dialog: MatDialog);
795
+ openEventDataExplorerDialog(): void;
796
+ static ɵfac: i0.ɵɵFactoryDeclaration<EventDataExplorerComponent, never>;
797
+ static ɵcmp: i0.ɵɵComponentDeclaration<EventDataExplorerComponent, "app-event-data-explorer", never, { "apiURL": { "alias": "apiURL"; "required": false; }; }, {}, never, never, false, never>;
798
+ }
799
+
800
+ declare class FileNode {
801
+ name: string;
802
+ url: string;
803
+ nocache: boolean;
804
+ children: {
805
+ [key: string]: FileNode;
806
+ };
807
+ constructor(name?: string);
808
+ }
809
+ declare class FileEvent {
810
+ url: string;
811
+ nocache: boolean;
812
+ constructor(url: string, nocache: boolean);
813
+ }
814
+ declare class FileExplorerComponent implements OnChanges {
815
+ rootFileNode: FileNode;
816
+ onFileSelect: EventEmitter<FileEvent>;
817
+ treeControl: NestedTreeControl<FileNode, FileNode>;
818
+ dataSource: MatTreeNestedDataSource<FileNode>;
819
+ ngOnChanges(changes: SimpleChanges): void;
820
+ hasChildren: (_: number, node: FileNode) => boolean;
821
+ onSelect(url: string, nocache: boolean): void;
822
+ /**
823
+ * Sort the FileNode's children with folders before files.
824
+ * @param node FileNode whose children are to be sorted.
825
+ * @returns An array of sorted FileNodes.
826
+ */
827
+ getSortedChildren(node: FileNode): FileNode[];
828
+ static ɵfac: i0.ɵɵFactoryDeclaration<FileExplorerComponent, never>;
829
+ static ɵcmp: i0.ɵɵComponentDeclaration<FileExplorerComponent, "app-file-explorer", never, { "rootFileNode": { "alias": "rootFileNode"; "required": false; }; }, { "onFileSelect": "onFileSelect"; }, never, never, false, never>;
830
+ }
831
+
832
+ /**
833
+ * Service makeing file loading easier
834
+ */
835
+ declare class FileLoaderService {
836
+ private lastEventsURL;
837
+ private lastEventsOptions;
838
+ unzip(data: ArrayBuffer): Promise<string>;
839
+ makeRequest(urlPath: string, responseType: 'json' | 'text' | 'blob', onData: (data: any) => void, options?: any): Promise<boolean>;
840
+ loadJSONEvent(eventData: string, eventDisplay: EventDisplayService): void;
841
+ loadJiveXMLEvent(eventData: string, eventDisplay: EventDisplayService): void;
842
+ loadEvent(file: string, eventDisplay: EventDisplayService, options?: any): Promise<boolean>;
843
+ reloadLastEvents(eventDisplay: EventDisplayService): void;
844
+ static ɵfac: i0.ɵɵFactoryDeclaration<FileLoaderService, never>;
845
+ static ɵprov: i0.ɵɵInjectableDeclaration<FileLoaderService>;
846
+ }
847
+
848
+ type FileResponse = {
849
+ name: string;
850
+ url: string;
851
+ nocache: boolean;
852
+ };
853
+ declare class EventDataExplorerDialogComponent {
854
+ private eventDisplay;
855
+ private fileLoader;
856
+ private dialogRef;
857
+ private dialogData;
858
+ eventDataFileNode: FileNode;
859
+ configFileNode: FileNode;
860
+ loading: boolean;
861
+ error: boolean;
862
+ constructor(eventDisplay: EventDisplayService, fileLoader: FileLoaderService, dialogRef: MatDialogRef<EventDataExplorerDialogComponent>, dialogData: EventDataExplorerDialogData);
863
+ loadEvent(file: FileEvent): Promise<void>;
864
+ loadConfig(file: FileEvent): Promise<void>;
865
+ onClose(): void;
866
+ private buildFileNode;
867
+ static ɵfac: i0.ɵɵFactoryDeclaration<EventDataExplorerDialogComponent, never>;
868
+ static ɵcmp: i0.ɵɵComponentDeclaration<EventDataExplorerDialogComponent, "app-event-data-explorer-dialog", never, {}, {}, never, never, false, never>;
869
+ }
870
+
871
+ declare class CycleEventsComponent implements OnInit, OnDestroy {
872
+ private eventDisplay;
873
+ private fileLoader;
874
+ interval: number;
875
+ tooltip: string;
876
+ icon: string;
877
+ active: boolean;
878
+ reloading: boolean;
879
+ private intervalId;
880
+ private events;
881
+ private eventsChangeCallback;
882
+ private unsubscribe;
883
+ constructor(eventDisplay: EventDisplayService, fileLoader: FileLoaderService);
884
+ ngOnInit(): void;
885
+ ngOnDestroy(): void;
886
+ toggleCycle(): void;
887
+ private startCycleInterval;
888
+ static ɵfac: i0.ɵɵFactoryDeclaration<CycleEventsComponent, never>;
889
+ static ɵcmp: i0.ɵɵComponentDeclaration<CycleEventsComponent, "app-cycle-events", never, { "interval": { "alias": "interval"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, {}, never, never, false, never>;
890
+ }
891
+
892
+ /** Sort state for a column. */
893
+ interface SortState {
894
+ column: string;
895
+ direction: 'asc' | 'desc';
896
+ }
897
+ /** Filter for a collection count column. */
898
+ interface ColumnFilter {
899
+ column: string;
900
+ operator: '>=' | '<=' | '=';
901
+ value: number;
902
+ }
903
+ declare class EventBrowserOverlayComponent implements OnInit, OnDestroy {
904
+ private eventDisplay;
905
+ showEventBrowser: boolean;
906
+ /** All event summaries from the pre-scan. */
907
+ allSummaries: EventSummary[];
908
+ /** Filtered and sorted summaries for display. */
909
+ displayedSummaries: EventSummary[];
910
+ /** Collection type columns available across all events. */
911
+ columns: string[];
912
+ /** Currently active sort. */
913
+ currentSort: SortState | null;
914
+ /** Currently selected event key (row highlight). */
915
+ selectedEventKey: string | null;
916
+ /** Currently loaded event key (displayed in 3D). */
917
+ loadedEventKey: string | null;
918
+ /** Event key currently being loaded (for spinner). */
919
+ loadingEventKey: string | null;
920
+ /** Active filters. */
921
+ filters: ColumnFilter[];
922
+ /** MET filter minimum value. */
923
+ metFilterMin: number | null;
924
+ /** Search query for event number/key. */
925
+ searchQuery: string;
926
+ /** Filter input state for adding new filters. */
927
+ filterColumn: string;
928
+ filterOperator: '>=' | '<=' | '=';
929
+ filterValue: number | null;
930
+ private unsubscribes;
931
+ constructor(eventDisplay: EventDisplayService);
932
+ ngOnInit(): void;
933
+ ngOnDestroy(): void;
934
+ /** Build summaries from loaded events data. */
935
+ buildSummaries(): void;
936
+ /** Get the count for a collection type in an event summary. */
937
+ getCount(summary: EventSummary, column: string): number;
938
+ /** Format a number with comma separators. */
939
+ formatNumber(value: number): string;
940
+ /** Compute reconstructed objects total (excluding detector-level types). */
941
+ getRecoTotal(summary: EventSummary): number;
942
+ /** Format MET for display. */
943
+ formatMET(met: number): string;
944
+ /** Sort by a column. Clicking same column+direction resets sort. */
945
+ sort(column: string, direction: 'asc' | 'desc'): void;
946
+ /** Sort by MET. */
947
+ sortByMET(direction: 'asc' | 'desc'): void;
948
+ /** Sort by reco total. */
949
+ sortByReco(direction: 'asc' | 'desc'): void;
950
+ /** Add a filter from the UI controls. */
951
+ addFilter(): void;
952
+ /** Remove a filter. */
953
+ removeFilter(index: number): void;
954
+ /** Update MET minimum filter. */
955
+ updateMETFilter(value: string): void;
956
+ /** Update search query and re-filter. */
957
+ updateSearch(query: string): void;
958
+ /** Jump to an event by search - selects and loads the first match. */
959
+ jumpToSearch(): void;
960
+ /** Clear all filters. */
961
+ clearFilters(): void;
962
+ /** Apply all active filters and current sort to produce displayedSummaries. */
963
+ applyFiltersAndSort(): void;
964
+ /** Load the selected event. */
965
+ selectEvent(summary: EventSummary): void;
966
+ /** Handle keyboard navigation on the table. */
967
+ onTableKeydown(event: KeyboardEvent): void;
968
+ /** Get display label for an event (event number + run number). */
969
+ getEventLabel(summary: EventSummary): string;
970
+ /** Get run number display. */
971
+ getRunLabel(summary: EventSummary): string;
972
+ /** Get a filter description for display. */
973
+ getFilterLabel(filter: ColumnFilter): string;
974
+ /** Check if the sort indicator should be active. */
975
+ isSortActive(column: string, direction: 'asc' | 'desc'): boolean;
976
+ /** Check if a row is the currently loaded event. */
977
+ isLoadedEvent(summary: EventSummary): boolean;
978
+ /** Check if a row is currently loading. */
979
+ isLoadingEvent(summary: EventSummary): boolean;
980
+ static ɵfac: i0.ɵɵFactoryDeclaration<EventBrowserOverlayComponent, never>;
981
+ static ɵcmp: i0.ɵɵComponentDeclaration<EventBrowserOverlayComponent, "app-event-browser-overlay", never, { "showEventBrowser": { "alias": "showEventBrowser"; "required": false; }; }, {}, never, never, false, never>;
982
+ }
983
+
984
+ declare class EventBrowserComponent implements OnInit, OnDestroy {
985
+ private overlay;
986
+ showEventBrowser: boolean;
987
+ overlayWindow: ComponentRef<EventBrowserOverlayComponent>;
988
+ constructor(overlay: Overlay);
989
+ ngOnInit(): void;
990
+ ngOnDestroy(): void;
991
+ toggleOverlay(): void;
992
+ static ɵfac: i0.ɵɵFactoryDeclaration<EventBrowserComponent, never>;
993
+ static ɵcmp: i0.ɵɵComponentDeclaration<EventBrowserComponent, "app-event-browser", never, {}, {}, never, never, false, never>;
994
+ }
995
+
996
+ declare class EtaPhiPanelOverlayComponent implements OnInit, OnDestroy, AfterViewInit {
997
+ private eventDisplay;
998
+ showPanel: boolean;
999
+ canvasRef: ElementRef<HTMLCanvasElement>;
1000
+ colorBarRef: ElementRef<HTMLCanvasElement>;
1001
+ logScale: boolean;
1002
+ showOverlays: boolean;
1003
+ colorBarMin: string;
1004
+ colorBarMax: string;
1005
+ private config;
1006
+ private grid;
1007
+ private markers;
1008
+ private maxEnergy;
1009
+ private unsubscribes;
1010
+ private viewReady;
1011
+ private currentTooltip;
1012
+ private tooltipPx;
1013
+ private tooltipPy;
1014
+ private readonly MARGIN;
1015
+ private boundMouseMove;
1016
+ private boundMouseLeave;
1017
+ private boundClick;
1018
+ constructor(eventDisplay: EventDisplayService);
1019
+ ngOnInit(): void;
1020
+ ngAfterViewInit(): void;
1021
+ ngOnDestroy(): void;
1022
+ toggleLogScale(): void;
1023
+ toggleOverlays(): void;
1024
+ private onMouseMove;
1025
+ private onMouseLeave;
1026
+ private onCanvasClick;
1027
+ private rebuildData;
1028
+ private buildGrid;
1029
+ private buildMarkers;
1030
+ private draw;
1031
+ private drawTooltip;
1032
+ private drawMarkers;
1033
+ private drawAxes;
1034
+ private drawColorBar;
1035
+ private energyToColor;
1036
+ private pixelToEtaPhi;
1037
+ private getBin;
1038
+ private findMarkerAt;
1039
+ static ɵfac: i0.ɵɵFactoryDeclaration<EtaPhiPanelOverlayComponent, never>;
1040
+ static ɵcmp: i0.ɵɵComponentDeclaration<EtaPhiPanelOverlayComponent, "app-eta-phi-panel-overlay", never, { "showPanel": { "alias": "showPanel"; "required": false; }; }, {}, never, never, false, never>;
1041
+ }
1042
+
1043
+ declare class EtaPhiPanelComponent implements OnInit, OnDestroy {
1044
+ private overlay;
1045
+ showPanel: boolean;
1046
+ overlayWindow: ComponentRef<EtaPhiPanelOverlayComponent>;
1047
+ constructor(overlay: Overlay);
1048
+ ngOnInit(): void;
1049
+ ngOnDestroy(): void;
1050
+ toggleOverlay(): void;
1051
+ static ɵfac: i0.ɵɵFactoryDeclaration<EtaPhiPanelComponent, never>;
1052
+ static ɵcmp: i0.ɵɵComponentDeclaration<EtaPhiPanelComponent, "app-eta-phi-panel", never, {}, {}, never, never, false, never>;
1053
+ }
1054
+
1055
+ /** Pre-computed row for display. */
1056
+ interface KinematicsRow {
1057
+ uuid: string;
1058
+ values: {
1059
+ [columnId: string]: number | string;
1060
+ };
1061
+ isCut: boolean;
1062
+ }
1063
+ declare class KinematicsPanelOverlayComponent implements OnInit, OnDestroy {
1064
+ private eventDisplay;
1065
+ private cdr;
1066
+ /** Visibility toggle — refreshes data when panel becomes visible. */
1067
+ private _showKinematics;
1068
+ set showKinematics(val: boolean);
1069
+ get showKinematics(): boolean;
1070
+ config: KinematicsConfig;
1071
+ /** Available collections matching the configured type. */
1072
+ collections: string[];
1073
+ /** Currently selected collection name. */
1074
+ selectedCollection: string;
1075
+ /** All rows before filtering. */
1076
+ allRows: KinematicsRow[];
1077
+ /** Filtered display rows. */
1078
+ rows: KinematicsRow[];
1079
+ /** Current sort state. */
1080
+ sortColumn: string;
1081
+ sortDirection: 'asc' | 'desc';
1082
+ /** Tracks the 3D-selected object for bidirectional highlighting. */
1083
+ activeObject: ActiveVariable<string>;
1084
+ /** Resolved group uuid for the currently active 3D object. */
1085
+ activeRowUuid: string;
1086
+ /** Filter threshold value (for pT cut etc.). */
1087
+ filterValue: number;
1088
+ /** Resolved filter column definition. */
1089
+ filterCol: KinematicsColumn | undefined;
1090
+ private unsubscribes;
1091
+ constructor(eventDisplay: EventDisplayService, cdr: ChangeDetectorRef);
1092
+ ngOnInit(): void;
1093
+ ngOnDestroy(): void;
1094
+ /** Reload collections and recompute rows. */
1095
+ refreshData(): void;
1096
+ /** Load and compute rows for a collection. */
1097
+ selectCollection(name: string): void;
1098
+ /** Toggle sort on a column. */
1099
+ sort(columnId: string): void;
1100
+ /** Update the filter threshold and refilter. */
1101
+ onFilterChange(value: string): void;
1102
+ /** Apply filter then sort. */
1103
+ private applyFilterAndSort;
1104
+ /** Highlight a track in 3D and update active object. */
1105
+ selectTrack(row: KinematicsRow): void;
1106
+ /** Pan camera to a track and highlight it. */
1107
+ lookAtTrack(uuid: string, event: Event): void;
1108
+ /** Keyboard navigation: arrow keys move between rows, Enter looks at track. */
1109
+ onKeyDown(event: KeyboardEvent): void;
1110
+ /** Export displayed rows as TSV. */
1111
+ exportTSV(): void;
1112
+ /** Format a value for display. */
1113
+ formatValue(value: number | string, col: KinematicsColumn): string;
1114
+ /** Get the charge sign class for colored +/- display. */
1115
+ getChargeClass(col: KinematicsColumn, value: number | string): string;
1116
+ /** Charge-based color for the row index number. */
1117
+ getChargeColor(row: KinematicsRow): string;
1118
+ static ɵfac: i0.ɵɵFactoryDeclaration<KinematicsPanelOverlayComponent, never>;
1119
+ static ɵcmp: i0.ɵɵComponentDeclaration<KinematicsPanelOverlayComponent, "app-kinematics-panel-overlay", never, { "showKinematics": { "alias": "showKinematics"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, {}, never, never, false, never>;
1120
+ }
1121
+
1122
+ declare class KinematicsPanelComponent implements OnInit, OnDestroy, OnChanges {
1123
+ private overlay;
1124
+ showKinematics: boolean;
1125
+ overlayWindow: ComponentRef<KinematicsPanelOverlayComponent>;
1126
+ config?: KinematicsConfig;
1127
+ constructor(overlay: Overlay);
1128
+ ngOnInit(): void;
1129
+ ngOnChanges(changes: SimpleChanges): void;
1130
+ ngOnDestroy(): void;
1131
+ toggleOverlay(): void;
1132
+ static ɵfac: i0.ɵɵFactoryDeclaration<KinematicsPanelComponent, never>;
1133
+ static ɵcmp: i0.ɵɵComponentDeclaration<KinematicsPanelComponent, "app-kinematics-panel", never, { "config": { "alias": "config"; "required": false; }; }, {}, never, never, false, never>;
1134
+ }
1135
+
1136
+ declare class MoreInfoComponent {
1137
+ uiConfig: UIMenuConfig;
1138
+ kinematicsConfig?: KinematicsConfig;
1139
+ infoPanel: InfoPanelComponent;
1140
+ eventBrowser: EventBrowserComponent;
1141
+ collectionsInfo: CollectionsInfoComponent;
1142
+ etaPhiPanel: EtaPhiPanelComponent;
1143
+ geometryBrowser: GeometryBrowserComponent;
1144
+ kinematicsPanel: KinematicsPanelComponent;
1145
+ showInfoPanel: boolean;
1146
+ showEventBrowser: boolean;
1147
+ showCollectionsInfo: boolean;
1148
+ showEtaPhiPanel: boolean;
1149
+ showGeometryBrowser: boolean;
1150
+ showKinematicsPanel: boolean;
1151
+ toggleInfoPanel(): void;
1152
+ toggleEventBrowser(): void;
1153
+ toggleCollectionsInfo(): void;
1154
+ toggleEtaPhiPanel(): void;
1155
+ toggleGeometryBrowser(): void;
1156
+ toggleKinematicsPanel(): void;
1157
+ static ɵfac: i0.ɵɵFactoryDeclaration<MoreInfoComponent, never>;
1158
+ static ɵcmp: i0.ɵɵComponentDeclaration<MoreInfoComponent, "app-more-info", never, { "uiConfig": { "alias": "uiConfig"; "required": false; }; "kinematicsConfig": { "alias": "kinematicsConfig"; "required": false; }; }, {}, never, never, false, never>;
1159
+ }
1160
+
1161
+ declare class UiMenuWrapperComponent {
1162
+ hideUIMenu: boolean;
1163
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiMenuWrapperComponent, never>;
1164
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiMenuWrapperComponent, "app-ui-menu-wrapper", never, {}, {}, never, ["*"], false, never>;
1165
+ }
1166
+
1167
+ interface MassResult {
1168
+ eventType: string;
1169
+ mass: number;
1170
+ particleCount: number;
1171
+ }
1172
+ interface CollectionItem {
1173
+ index: number;
1174
+ uuid: string;
1175
+ userData: any;
1176
+ selected: boolean;
1177
+ pT: number;
1178
+ eta: number;
1179
+ phi: number;
1180
+ }
1181
+ declare class MasterclassPanelOverlayComponent implements OnInit, OnDestroy {
1182
+ private eventDisplay;
1183
+ showPanel: boolean;
1184
+ config: MasterclassConfig;
1185
+ collectionNames: string[];
1186
+ selectedCollection: string;
1187
+ collectionItems: CollectionItem[];
1188
+ taggedParticles: TaggedParticle[];
1189
+ massResults: MassResult[];
1190
+ statusMessage: string;
1191
+ statusType: 'info' | 'success' | 'warning';
1192
+ /** Live invariant mass of currently tagged particles. */
1193
+ get liveMass(): number;
1194
+ /** Live event type classification using experiment-specific classifier. */
1195
+ get liveEventType(): string;
1196
+ get selectedCount(): number;
1197
+ private unsubscribes;
1198
+ constructor(eventDisplay: EventDisplayService);
1199
+ ngOnInit(): void;
1200
+ ngOnDestroy(): void;
1201
+ private loadCollections;
1202
+ selectCollection(name: string): void;
1203
+ toggleItem(item: CollectionItem): void;
1204
+ highlightItem(uuid: string): void;
1205
+ tagSelectedAs(tagDef: ParticleTagDef): void;
1206
+ removeTagged(index: number): void;
1207
+ clearTagged(): void;
1208
+ recordResult(): void;
1209
+ removeResult(index: number): void;
1210
+ clearResults(): void;
1211
+ exportResults(): void;
1212
+ massGeV(mev: number): string;
1213
+ ptGeV(mev: number): string;
1214
+ /** Look up the tag definition for a tagged particle. */
1215
+ getTagDef(tagId: string): ParticleTagDef | undefined;
1216
+ private setStatus;
1217
+ static ɵfac: i0.ɵɵFactoryDeclaration<MasterclassPanelOverlayComponent, never>;
1218
+ static ɵcmp: i0.ɵɵComponentDeclaration<MasterclassPanelOverlayComponent, "app-masterclass-panel-overlay", never, { "showPanel": { "alias": "showPanel"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, {}, never, never, false, never>;
1219
+ }
1220
+
1221
+ declare class MasterclassPanelComponent implements OnInit, OnDestroy, OnChanges {
1222
+ private overlay;
1223
+ config?: MasterclassConfig;
1224
+ showPanel: boolean;
1225
+ overlayWindow: ComponentRef<MasterclassPanelOverlayComponent>;
1226
+ constructor(overlay: Overlay);
1227
+ ngOnInit(): void;
1228
+ ngOnChanges(changes: SimpleChanges): void;
1229
+ ngOnDestroy(): void;
1230
+ toggleOverlay(): void;
1231
+ static ɵfac: i0.ɵɵFactoryDeclaration<MasterclassPanelComponent, never>;
1232
+ static ɵcmp: i0.ɵɵComponentDeclaration<MasterclassPanelComponent, "app-masterclass-panel", never, { "config": { "alias": "config"; "required": false; }; }, {}, never, never, false, never>;
1233
+ }
1234
+
1235
+ declare class ErrorMessageService {
1236
+ /** A variable that stores the latest error thrown. */
1237
+ private error;
1238
+ /**
1239
+ * Subscribe to when an error occurs.
1240
+ * @param callback A function called when an error occurs.
1241
+ * @returns A function that can be called to unsubscribe from error notifications.
1242
+ */
1243
+ subscribeToError(callback: (error: Error) => void): () => void;
1244
+ /**
1245
+ * Set the current error.
1246
+ * @param error The error that has occurred.
1247
+ */
1248
+ setError(error: Error): void;
1249
+ static ɵfac: i0.ɵɵFactoryDeclaration<ErrorMessageService, never>;
1250
+ static ɵprov: i0.ɵɵInjectableDeclaration<ErrorMessageService>;
1251
+ }
1252
+
1253
+ declare class LoaderComponent implements OnDestroy {
1254
+ private errorMessageService;
1255
+ loaded: boolean;
1256
+ progress: number;
1257
+ error: Error;
1258
+ private unsubscribeError;
1259
+ constructor(errorMessageService: ErrorMessageService);
1260
+ ngOnDestroy(): void;
1261
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoaderComponent, never>;
1262
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoaderComponent, "app-loader", never, { "loaded": { "alias": "loaded"; "required": false; }; "progress": { "alias": "progress"; "required": false; }; }, {}, never, never, false, never>;
1263
+ }
1264
+
1265
+ declare class EmbedMenuComponent {
1266
+ static ɵfac: i0.ɵɵFactoryDeclaration<EmbedMenuComponent, never>;
1267
+ static ɵcmp: i0.ɵɵComponentDeclaration<EmbedMenuComponent, "app-embed-menu", never, {}, {}, never, never, false, never>;
1268
+ }
1269
+
1270
+ declare class ExperimentLinkComponent implements OnInit {
1271
+ private experimentLink;
1272
+ ngOnInit(): void;
1273
+ goToExperiment(): void;
1274
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExperimentLinkComponent, never>;
1275
+ static ɵcmp: i0.ɵɵComponentDeclaration<ExperimentLinkComponent, "app-experiment-link", never, {}, {}, never, never, false, never>;
1276
+ }
1277
+
1278
+ declare class RingLoaderComponent {
1279
+ static ɵfac: i0.ɵɵFactoryDeclaration<RingLoaderComponent, never>;
1280
+ static ɵcmp: i0.ɵɵComponentDeclaration<RingLoaderComponent, "app-ring-loader", never, {}, {}, never, never, false, never>;
1281
+ }
1282
+
1283
+ /**
1284
+ * Pipe for transforming selected object attributes to a better format.
1285
+ */
1286
+ declare class AttributePipe implements PipeTransform {
1287
+ /**
1288
+ * Transform the attribute to a better presentable format.
1289
+ * @param value Value to be transformed.
1290
+ * @param args Additional arguments.
1291
+ * @returns The transformed value.
1292
+ */
1293
+ transform(value: any, args?: any): any;
1294
+ static ɵfac: i0.ɵɵFactoryDeclaration<AttributePipe, never>;
1295
+ static ɵpipe: i0.ɵɵPipeDeclaration<AttributePipe, "attributePipe", true>;
1296
+ }
1297
+
1298
+ declare class PhoenixUIModule {
1299
+ static ɵfac: i0.ɵɵFactoryDeclaration<PhoenixUIModule, never>;
1300
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PhoenixUIModule, [typeof NavComponent, typeof UiMenuWrapperComponent, typeof UiMenuComponent, typeof MoreInfoComponent, typeof CollectionsInfoComponent, typeof GeometryBrowserComponent, typeof GeometryBrowserOverlayComponent, typeof MenuToggleComponent, typeof CollectionsInfoOverlayComponent, typeof IoOptionsComponent, typeof IOOptionsDialogComponent, typeof OverlayViewComponent, typeof ObjectSelectionComponent, typeof ObjectSelectionOverlayComponent, typeof EventSelectorComponent, typeof ObjectClippingComponent, typeof DarkThemeComponent, typeof AutoRotateComponent, typeof ViewOptionsComponent, typeof CartesianGridConfigComponent, typeof OverlayViewWindowComponent, typeof OverlayComponent, typeof ExperimentInfoComponent, typeof InfoPanelComponent, typeof InfoPanelOverlayComponent, typeof MainViewToggleComponent, typeof ZoomControlsComponent, typeof TreeMenuComponent, typeof TreeMenuItemComponent, typeof PhoenixMenuComponent, typeof PhoenixMenuItemComponent, typeof ConfigSliderComponent, typeof AnimateCameraComponent, typeof AnimateEventComponent, typeof VrToggleComponent, typeof ArToggleComponent, typeof SSModeComponent, typeof MakePictureComponent, typeof PerformanceToggleComponent, typeof LoaderComponent, typeof ShareLinkComponent, typeof ShareLinkDialogComponent, typeof EmbedMenuComponent, typeof ExperimentLinkComponent, typeof EventDataExplorerComponent, typeof EventDataExplorerDialogComponent, typeof FileExplorerComponent, typeof RingLoaderComponent, typeof CycleEventsComponent, typeof EventBrowserComponent, typeof EventBrowserOverlayComponent, typeof EtaPhiPanelComponent, typeof EtaPhiPanelOverlayComponent, typeof KinematicsPanelComponent, typeof KinematicsPanelOverlayComponent, typeof MasterclassPanelComponent, typeof MasterclassPanelOverlayComponent], [typeof AttributePipe, typeof i59.CommonModule, typeof i60.RouterModule, typeof i61.DragDropModule, typeof i62.MatDialogModule, typeof i63.MatButtonModule, typeof i64.MatTooltipModule, typeof i65.OverlayModule, typeof i66.FormsModule, typeof i66.ReactiveFormsModule, typeof i67.MatMenuModule, typeof i68.MatRadioModule, typeof i69.MatSliderModule, typeof i70.MatSlideToggleModule, typeof i71.MatCheckboxModule, typeof i72.MatIconModule, typeof i73.CdkTreeModule, typeof i74.MatTabsModule], [typeof NavComponent, typeof UiMenuWrapperComponent, typeof UiMenuComponent, typeof MoreInfoComponent, typeof CollectionsInfoComponent, typeof GeometryBrowserComponent, typeof GeometryBrowserOverlayComponent, typeof MenuToggleComponent, typeof CollectionsInfoOverlayComponent, typeof IoOptionsComponent, typeof IOOptionsDialogComponent, typeof OverlayViewComponent, typeof ObjectSelectionComponent, typeof ObjectSelectionOverlayComponent, typeof EventSelectorComponent, typeof ObjectClippingComponent, typeof DarkThemeComponent, typeof AutoRotateComponent, typeof ViewOptionsComponent, typeof CartesianGridConfigComponent, typeof OverlayViewWindowComponent, typeof OverlayComponent, typeof ExperimentInfoComponent, typeof InfoPanelComponent, typeof InfoPanelOverlayComponent, typeof MainViewToggleComponent, typeof ZoomControlsComponent, typeof TreeMenuComponent, typeof TreeMenuItemComponent, typeof PhoenixMenuComponent, typeof PhoenixMenuItemComponent, typeof ConfigSliderComponent, typeof AnimateCameraComponent, typeof AnimateEventComponent, typeof VrToggleComponent, typeof ArToggleComponent, typeof SSModeComponent, typeof MakePictureComponent, typeof PerformanceToggleComponent, typeof LoaderComponent, typeof ShareLinkComponent, typeof ShareLinkDialogComponent, typeof EmbedMenuComponent, typeof ExperimentLinkComponent, typeof EventDataExplorerComponent, typeof EventDataExplorerDialogComponent, typeof FileExplorerComponent, typeof RingLoaderComponent, typeof CycleEventsComponent, typeof EventBrowserComponent, typeof EventBrowserOverlayComponent, typeof EtaPhiPanelComponent, typeof EtaPhiPanelOverlayComponent, typeof KinematicsPanelComponent, typeof KinematicsPanelOverlayComponent, typeof MasterclassPanelComponent, typeof MasterclassPanelOverlayComponent, typeof AttributePipe]>;
1301
+ static ɵinj: i0.ɵɵInjectorDeclaration<PhoenixUIModule>;
1302
+ }
1303
+
1304
+ /** Severity levels for notifications. */
1305
+ type NotificationSeverity = 'success' | 'info' | 'warning' | 'error';
1306
+ /** A notification message with severity and content. */
1307
+ interface Notification {
1308
+ /** The message to display to the user. */
1309
+ message: string;
1310
+ /** The severity level of the notification. */
1311
+ severity: NotificationSeverity;
1312
+ /** Duration in milliseconds before auto-dismiss. 0 means no auto-dismiss. */
1313
+ duration: number;
1314
+ }
1315
+ /**
1316
+ * Service for displaying user-facing notifications with severity levels.
1317
+ * Provides success, info, warning, and error notifications with
1318
+ * configurable auto-dismiss durations. Replaces silent console errors
1319
+ * with actionable user feedback across all Phoenix components.
1320
+ */
1321
+ declare class NotificationService {
1322
+ /** Default auto-dismiss durations in milliseconds per severity level. */
1323
+ private readonly defaultDurations;
1324
+ /** Active variable that stores the latest notification. */
1325
+ private notification;
1326
+ /**
1327
+ * Subscribe to incoming notifications.
1328
+ * @param callback Function called when a notification is emitted.
1329
+ * @returns A function that can be called to unsubscribe.
1330
+ */
1331
+ subscribeToNotifications(callback: (notification: Notification) => void): () => void;
1332
+ /**
1333
+ * Display a success notification.
1334
+ * Auto-dismisses after 5 seconds by default.
1335
+ * @param message The message to display.
1336
+ * @param duration Optional custom duration in ms. 0 means no auto-dismiss.
1337
+ */
1338
+ success(message: string, duration?: number): void;
1339
+ /**
1340
+ * Display an info notification.
1341
+ * Auto-dismisses after 5 seconds by default.
1342
+ * @param message The message to display.
1343
+ * @param duration Optional custom duration in ms. 0 means no auto-dismiss.
1344
+ */
1345
+ info(message: string, duration?: number): void;
1346
+ /**
1347
+ * Display a warning notification.
1348
+ * Auto-dismisses after 8 seconds by default.
1349
+ * @param message The message to display.
1350
+ * @param duration Optional custom duration in ms. 0 means no auto-dismiss.
1351
+ */
1352
+ warning(message: string, duration?: number): void;
1353
+ /**
1354
+ * Display an error notification.
1355
+ * Does not auto-dismiss by default — requires manual dismissal.
1356
+ * @param message The message to display.
1357
+ * @param duration Optional custom duration in ms. 0 means no auto-dismiss.
1358
+ */
1359
+ error(message: string, duration?: number): void;
1360
+ /**
1361
+ * Internal method to emit a notification.
1362
+ * @param message The message to display.
1363
+ * @param severity The severity level.
1364
+ * @param duration Optional custom duration override.
1365
+ */
1366
+ private notify;
1367
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationService, never>;
1368
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
1369
+ }
1370
+
1371
+ export { AnimateCameraComponent, AnimateEventComponent, ArToggleComponent, AttributePipe, AutoRotateComponent, CartesianGridConfigComponent, CollectionsInfoComponent, CollectionsInfoOverlayComponent, ConfigSliderComponent, CycleEventsComponent, DarkThemeComponent, EmbedMenuComponent, EtaPhiPanelComponent, EtaPhiPanelOverlayComponent, EventBrowserComponent, EventBrowserOverlayComponent, EventDataExplorerComponent, EventDataExplorerDialogComponent, EventDataFormat, EventDisplayService, EventSelectorComponent, ExperimentInfoComponent, ExperimentLinkComponent, FileEvent, FileExplorerComponent, FileNode, GeometryBrowserComponent, GeometryBrowserOverlayComponent, IOOptionsDialogComponent, ImportOption, InfoPanelComponent, InfoPanelOverlayComponent, IoOptionsComponent, KinematicsPanelComponent, KinematicsPanelOverlayComponent, LoaderComponent, MainViewToggleComponent, MakePictureComponent, MasterclassPanelComponent, MasterclassPanelOverlayComponent, MenuToggleComponent, MoreInfoComponent, NavComponent, NotificationService, ObjectClippingComponent, ObjectSelectionComponent, ObjectSelectionOverlayComponent, OverlayComponent, OverlayViewComponent, OverlayViewWindowComponent, PerformanceToggleComponent, PhoenixMenuComponent, PhoenixMenuItemComponent, PhoenixUIModule, RingLoaderComponent, SSModeComponent, ShareLinkComponent, ShareLinkDialogComponent, TreeMenuComponent, TreeMenuItemComponent, UiMenuComponent, UiMenuWrapperComponent, ViewOptionsComponent, VrToggleComponent, ZoomControlsComponent, defaultAnimationPresets, defaultUIMenuConfig };
1372
+ export type { EventDataExplorerDialogData, EventDataImportOption, FileResponse, Notification, NotificationSeverity, TreeMenuNode, UIMenuConfig };