phoenix-ui-components 3.0.6 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +66 -0
- package/dist/README.md +66 -0
- package/dist/fesm2022/phoenix-ui-components.mjs +3217 -1621
- package/dist/fesm2022/phoenix-ui-components.mjs.map +1 -1
- package/dist/index.d.ts +288 -27
- package/package.json +10 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnInit, EventEmitter, ElementRef, ChangeDetectorRef, OnDestroy, ComponentRef, AfterViewInit, QueryList, OnChanges, SimpleChanges, PipeTransform } from '@angular/core';
|
|
3
|
-
import * as
|
|
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
4
|
import { MatCheckboxChange } from '@angular/material/checkbox';
|
|
5
5
|
import * as phoenix_event_display from 'phoenix-event-display';
|
|
6
|
-
import { PhoenixMenuNode, EventDisplay, AnimationPreset, PrettySymbols, ActiveVariable, PresetView, EventSummary } from 'phoenix-event-display';
|
|
7
|
-
import * as
|
|
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
8
|
import { Overlay } from '@angular/cdk/overlay';
|
|
9
9
|
import { Object3D, Object3DEventMap, Vector3 } from 'three';
|
|
10
|
-
import * as
|
|
10
|
+
import * as i62 from '@angular/material/dialog';
|
|
11
11
|
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
|
|
12
12
|
import { Subscription } from 'rxjs';
|
|
13
|
-
import * as
|
|
13
|
+
import * as i67 from '@angular/material/menu';
|
|
14
14
|
import { MatMenuTrigger } from '@angular/material/menu';
|
|
15
|
-
import * as
|
|
15
|
+
import * as i73 from '@angular/cdk/tree';
|
|
16
16
|
import { NestedTreeControl } from '@angular/cdk/tree';
|
|
17
17
|
import { MatTreeNestedDataSource } from '@angular/material/tree';
|
|
18
|
-
import * as
|
|
19
|
-
import * as
|
|
20
|
-
import * as
|
|
21
|
-
import * as
|
|
22
|
-
import * as
|
|
23
|
-
import * as
|
|
24
|
-
import * as
|
|
25
|
-
import * as
|
|
26
|
-
import * as
|
|
27
|
-
import * as
|
|
28
|
-
import * as
|
|
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
29
|
|
|
30
30
|
declare class NavComponent implements OnInit {
|
|
31
31
|
constructor();
|
|
@@ -72,10 +72,26 @@ declare class PhoenixMenuComponent {
|
|
|
72
72
|
* Service for all event display related functions.
|
|
73
73
|
*/
|
|
74
74
|
declare class EventDisplayService extends EventDisplay {
|
|
75
|
+
private ngZone;
|
|
75
76
|
/**
|
|
76
77
|
* Instantiate the event display by calling the parent constructor.
|
|
77
78
|
*/
|
|
78
|
-
constructor();
|
|
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;
|
|
79
95
|
static ɵfac: i0.ɵɵFactoryDeclaration<EventDisplayService, never>;
|
|
80
96
|
static ɵprov: i0.ɵɵInjectableDeclaration<EventDisplayService>;
|
|
81
97
|
}
|
|
@@ -715,6 +731,8 @@ interface UIMenuConfig {
|
|
|
715
731
|
showInfoPanel?: boolean;
|
|
716
732
|
showEventBrowser?: boolean;
|
|
717
733
|
showEtaPhiPanel?: boolean;
|
|
734
|
+
showKinematicsPanel?: boolean;
|
|
735
|
+
showMasterclassPanel?: boolean;
|
|
718
736
|
}
|
|
719
737
|
declare const defaultUIMenuConfig: UIMenuConfig;
|
|
720
738
|
declare class UiMenuComponent {
|
|
@@ -723,8 +741,10 @@ declare class UiMenuComponent {
|
|
|
723
741
|
[key: string]: phoenix_event_display.AnimationPreset;
|
|
724
742
|
};
|
|
725
743
|
uiConfig: UIMenuConfig;
|
|
744
|
+
kinematicsConfig?: KinematicsConfig;
|
|
745
|
+
masterclassConfig?: MasterclassConfig;
|
|
726
746
|
static ɵfac: i0.ɵɵFactoryDeclaration<UiMenuComponent, never>;
|
|
727
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<UiMenuComponent, "app-ui-menu", never, { "eventDataImportOptions": { "alias": "eventDataImportOptions"; "required": false; }; "animationPresets": { "alias": "animationPresets"; "required": false; }; "uiConfig": { "alias": "uiConfig"; "required": false; }; }, {}, never, ["*"], false, 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>;
|
|
728
748
|
}
|
|
729
749
|
|
|
730
750
|
declare class ShareLinkComponent {
|
|
@@ -816,10 +836,10 @@ declare class FileLoaderService {
|
|
|
816
836
|
private lastEventsURL;
|
|
817
837
|
private lastEventsOptions;
|
|
818
838
|
unzip(data: ArrayBuffer): Promise<string>;
|
|
819
|
-
makeRequest(urlPath: string, responseType: 'json' | 'text' | 'blob', onData: (data: any) => void, options?: any): boolean
|
|
839
|
+
makeRequest(urlPath: string, responseType: 'json' | 'text' | 'blob', onData: (data: any) => void, options?: any): Promise<boolean>;
|
|
820
840
|
loadJSONEvent(eventData: string, eventDisplay: EventDisplayService): void;
|
|
821
841
|
loadJiveXMLEvent(eventData: string, eventDisplay: EventDisplayService): void;
|
|
822
|
-
loadEvent(file: string, eventDisplay: EventDisplayService, options?: any): boolean
|
|
842
|
+
loadEvent(file: string, eventDisplay: EventDisplayService, options?: any): Promise<boolean>;
|
|
823
843
|
reloadLastEvents(eventDisplay: EventDisplayService): void;
|
|
824
844
|
static ɵfac: i0.ɵɵFactoryDeclaration<FileLoaderService, never>;
|
|
825
845
|
static ɵprov: i0.ɵɵInjectableDeclaration<FileLoaderService>;
|
|
@@ -840,8 +860,8 @@ declare class EventDataExplorerDialogComponent {
|
|
|
840
860
|
loading: boolean;
|
|
841
861
|
error: boolean;
|
|
842
862
|
constructor(eventDisplay: EventDisplayService, fileLoader: FileLoaderService, dialogRef: MatDialogRef<EventDataExplorerDialogComponent>, dialogData: EventDataExplorerDialogData);
|
|
843
|
-
loadEvent(file: FileEvent): void
|
|
844
|
-
loadConfig(file: FileEvent): void
|
|
863
|
+
loadEvent(file: FileEvent): Promise<void>;
|
|
864
|
+
loadConfig(file: FileEvent): Promise<void>;
|
|
845
865
|
onClose(): void;
|
|
846
866
|
private buildFileNode;
|
|
847
867
|
static ɵfac: i0.ɵɵFactoryDeclaration<EventDataExplorerDialogComponent, never>;
|
|
@@ -1032,12 +1052,186 @@ declare class EtaPhiPanelComponent implements OnInit, OnDestroy {
|
|
|
1032
1052
|
static ɵcmp: i0.ɵɵComponentDeclaration<EtaPhiPanelComponent, "app-eta-phi-panel", never, {}, {}, never, never, false, never>;
|
|
1033
1053
|
}
|
|
1034
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
|
+
|
|
1035
1161
|
declare class UiMenuWrapperComponent {
|
|
1036
1162
|
hideUIMenu: boolean;
|
|
1037
1163
|
static ɵfac: i0.ɵɵFactoryDeclaration<UiMenuWrapperComponent, never>;
|
|
1038
1164
|
static ɵcmp: i0.ɵɵComponentDeclaration<UiMenuWrapperComponent, "app-ui-menu-wrapper", never, {}, {}, never, ["*"], false, never>;
|
|
1039
1165
|
}
|
|
1040
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
|
+
|
|
1041
1235
|
declare class ErrorMessageService {
|
|
1042
1236
|
/** A variable that stores the latest error thrown. */
|
|
1043
1237
|
private error;
|
|
@@ -1103,9 +1297,76 @@ declare class AttributePipe implements PipeTransform {
|
|
|
1103
1297
|
|
|
1104
1298
|
declare class PhoenixUIModule {
|
|
1105
1299
|
static ɵfac: i0.ɵɵFactoryDeclaration<PhoenixUIModule, never>;
|
|
1106
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<PhoenixUIModule, [typeof NavComponent, typeof UiMenuWrapperComponent, typeof UiMenuComponent, 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 AttributePipe, typeof
|
|
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]>;
|
|
1107
1301
|
static ɵinj: i0.ɵɵInjectorDeclaration<PhoenixUIModule>;
|
|
1108
1302
|
}
|
|
1109
1303
|
|
|
1110
|
-
|
|
1111
|
-
|
|
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 };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "phoenix-ui-components",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.1",
|
|
4
4
|
"description": "Reusable Angular components of the Phoenix event display application.",
|
|
5
5
|
"author": "Phoenix contributors (https://github.com/HSF/phoenix/graphs/contributors)",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
"zone.js": "*"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@angular/animations": "^20.3.
|
|
28
|
+
"@angular/animations": "^20.3.23",
|
|
29
29
|
"@angular/cdk": "^20.2.14",
|
|
30
|
-
"@angular/forms": "^20.3.
|
|
30
|
+
"@angular/forms": "^20.3.23",
|
|
31
31
|
"@angular/material": "^20.2.14",
|
|
32
|
-
"@angular/platform-browser": "^20.3.
|
|
32
|
+
"@angular/platform-browser": "^20.3.23",
|
|
33
33
|
"css-element-queries": "^1.2.3",
|
|
34
34
|
"qrcode": "1.5.4",
|
|
35
35
|
"rxjs": "^7.8.2",
|
|
@@ -44,9 +44,14 @@
|
|
|
44
44
|
"typings": "dist/index.d.ts",
|
|
45
45
|
"sideEffects": false,
|
|
46
46
|
"exports": {
|
|
47
|
+
".": {
|
|
48
|
+
"types": "./dist/index.d.ts",
|
|
49
|
+
"import": "./dist/fesm2022/phoenix-ui-components.mjs",
|
|
50
|
+
"default": "./dist/fesm2022/phoenix-ui-components.mjs"
|
|
51
|
+
},
|
|
47
52
|
"./theming": {
|
|
48
53
|
"sass": "./_theming.scss"
|
|
49
54
|
}
|
|
50
55
|
},
|
|
51
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "ac0f92015dea43ef9da91ad8bc574740817cdad0"
|
|
52
57
|
}
|