phoenix-ui-components 2.8.0 → 2.9.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 (57) hide show
  1. package/README.md +9 -3
  2. package/dist/README.md +9 -3
  3. package/dist/components/phoenix-ui.module.d.ts +17 -16
  4. package/dist/components/ui-menu/cycle-events/cycle-events.component.d.ts +16 -0
  5. package/dist/components/ui-menu/index.d.ts +1 -0
  6. package/dist/esm2020/components/embed-menu/embed-menu.component.mjs +3 -3
  7. package/dist/esm2020/components/embed-menu/experiment-link/experiment-link.component.mjs +3 -3
  8. package/dist/esm2020/components/file-explorer/file-explorer.component.mjs +3 -3
  9. package/dist/esm2020/components/loader/loader.component.mjs +3 -3
  10. package/dist/esm2020/components/nav/nav.component.mjs +3 -3
  11. package/dist/esm2020/components/phoenix-menu/config/config-slider/config-slider.component.mjs +3 -3
  12. package/dist/esm2020/components/phoenix-menu/pheonix-menu-item/phoenix-menu-item.component.mjs +3 -3
  13. package/dist/esm2020/components/phoenix-menu/phoenix-menu.component.mjs +3 -3
  14. package/dist/esm2020/components/phoenix-ui.module.mjs +11 -7
  15. package/dist/esm2020/components/ring-loader/ring-loader.component.mjs +3 -3
  16. package/dist/esm2020/components/ui-menu/animate-camera/animate-camera.component.mjs +7 -8
  17. package/dist/esm2020/components/ui-menu/animate-event/animate-event.component.mjs +3 -3
  18. package/dist/esm2020/components/ui-menu/ar-toggle/ar-toggle.component.mjs +3 -3
  19. package/dist/esm2020/components/ui-menu/auto-rotate/auto-rotate.component.mjs +3 -3
  20. package/dist/esm2020/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.mjs +3 -3
  21. package/dist/esm2020/components/ui-menu/collections-info/collections-info.component.mjs +3 -3
  22. package/dist/esm2020/components/ui-menu/cycle-events/cycle-events.component.mjs +36 -0
  23. package/dist/esm2020/components/ui-menu/dark-theme/dark-theme.component.mjs +3 -3
  24. package/dist/esm2020/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.mjs +3 -3
  25. package/dist/esm2020/components/ui-menu/event-data-explorer/event-data-explorer.component.mjs +3 -3
  26. package/dist/esm2020/components/ui-menu/event-selector/event-selector.component.mjs +3 -3
  27. package/dist/esm2020/components/ui-menu/experiment-info/experiment-info.component.mjs +3 -3
  28. package/dist/esm2020/components/ui-menu/index.mjs +2 -1
  29. package/dist/esm2020/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.mjs +3 -3
  30. package/dist/esm2020/components/ui-menu/info-panel/info-panel.component.mjs +3 -3
  31. package/dist/esm2020/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.mjs +3 -3
  32. package/dist/esm2020/components/ui-menu/io-options/io-options.component.mjs +3 -3
  33. package/dist/esm2020/components/ui-menu/main-view-toggle/main-view-toggle.component.mjs +3 -3
  34. package/dist/esm2020/components/ui-menu/menu-toggle/menu-toggle.component.mjs +3 -3
  35. package/dist/esm2020/components/ui-menu/object-clipping/object-clipping.component.mjs +5 -5
  36. package/dist/esm2020/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.mjs +3 -3
  37. package/dist/esm2020/components/ui-menu/object-selection/object-selection.component.mjs +3 -3
  38. package/dist/esm2020/components/ui-menu/overlay/overlay.component.mjs +3 -3
  39. package/dist/esm2020/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.mjs +3 -3
  40. package/dist/esm2020/components/ui-menu/overlay-view/overlay-view.component.mjs +3 -3
  41. package/dist/esm2020/components/ui-menu/performance-toggle/performance-toggle.component.mjs +3 -3
  42. package/dist/esm2020/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.mjs +3 -3
  43. package/dist/esm2020/components/ui-menu/share-link/share-link.component.mjs +3 -3
  44. package/dist/esm2020/components/ui-menu/ss-mode/ss-mode.component.mjs +3 -3
  45. package/dist/esm2020/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.mjs +3 -3
  46. package/dist/esm2020/components/ui-menu/tree-menu/tree-menu.component.mjs +3 -3
  47. package/dist/esm2020/components/ui-menu/ui-menu.component.mjs +3 -3
  48. package/dist/esm2020/components/ui-menu/view-options/view-options.component.mjs +3 -3
  49. package/dist/esm2020/components/ui-menu/vr-toggle/vr-toggle.component.mjs +3 -3
  50. package/dist/esm2020/components/ui-menu/zoom-controls/zoom-controls.component.mjs +3 -3
  51. package/dist/esm2020/services/event-display.service.mjs +3 -3
  52. package/dist/esm2020/services/extras/attribute.pipe.mjs +3 -3
  53. package/dist/fesm2015/phoenix-ui-components.mjs +178 -144
  54. package/dist/fesm2015/phoenix-ui-components.mjs.map +1 -1
  55. package/dist/fesm2020/phoenix-ui-components.mjs +178 -144
  56. package/dist/fesm2020/phoenix-ui-components.mjs.map +1 -1
  57. package/package.json +6 -6
package/README.md CHANGED
@@ -44,7 +44,10 @@ Since some Phoenix components use Bootstrap, you will need to add the the Bootst
44
44
  <head>
45
45
  ...
46
46
 
47
- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
47
+ <link
48
+ rel="stylesheet"
49
+ href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
50
+ />
48
51
  </head>
49
52
  ```
50
53
 
@@ -68,7 +71,10 @@ With everything set up, you can use the Phoenix components in your module compon
68
71
  ```html
69
72
  <app-nav></app-nav>
70
73
  <app-ui-menu></app-ui-menu>
71
- <app-experiment-info experiment="sample" experimentTagline="SAMPLE Experiment at CERN"></app-experiment-info>
74
+ <app-experiment-info
75
+ experiment="sample"
76
+ experimentTagline="SAMPLE Experiment at CERN"
77
+ ></app-experiment-info>
72
78
  <app-phoenix-menu [rootNode]="phoenixMenuRoot"></app-phoenix-menu>
73
79
  <div id="eventDisplay"></div>
74
80
  ```
@@ -79,7 +85,7 @@ With everything set up, you can use the Phoenix components in your module compon
79
85
  @Component({
80
86
  selector: 'app-test',
81
87
  templateUrl: './component.html',
82
- styleUrls: ['./component.scss']
88
+ styleUrls: ['./component.scss'],
83
89
  })
84
90
  export class TestComponent {
85
91
  phoenixMenuRoot = new PhoenixMenuNode('Phoenix Menu', 'phoenix-menu');
package/dist/README.md CHANGED
@@ -44,7 +44,10 @@ Since some Phoenix components use Bootstrap, you will need to add the the Bootst
44
44
  <head>
45
45
  ...
46
46
 
47
- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
47
+ <link
48
+ rel="stylesheet"
49
+ href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
50
+ />
48
51
  </head>
49
52
  ```
50
53
 
@@ -68,7 +71,10 @@ With everything set up, you can use the Phoenix components in your module compon
68
71
  ```html
69
72
  <app-nav></app-nav>
70
73
  <app-ui-menu></app-ui-menu>
71
- <app-experiment-info experiment="sample" experimentTagline="SAMPLE Experiment at CERN"></app-experiment-info>
74
+ <app-experiment-info
75
+ experiment="sample"
76
+ experimentTagline="SAMPLE Experiment at CERN"
77
+ ></app-experiment-info>
72
78
  <app-phoenix-menu [rootNode]="phoenixMenuRoot"></app-phoenix-menu>
73
79
  <div id="eventDisplay"></div>
74
80
  ```
@@ -79,7 +85,7 @@ With everything set up, you can use the Phoenix components in your module compon
79
85
  @Component({
80
86
  selector: 'app-test',
81
87
  templateUrl: './component.html',
82
- styleUrls: ['./component.scss']
88
+ styleUrls: ['./component.scss'],
83
89
  })
84
90
  export class TestComponent {
85
91
  phoenixMenuRoot = new PhoenixMenuNode('Phoenix Menu', 'phoenix-menu');
@@ -42,23 +42,24 @@ import * as i40 from "./ui-menu/event-data-explorer/event-data-explorer.componen
42
42
  import * as i41 from "./ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component";
43
43
  import * as i42 from "./file-explorer/file-explorer.component";
44
44
  import * as i43 from "./ring-loader/ring-loader.component";
45
- import * as i44 from "@angular/common";
46
- import * as i45 from "@angular/router";
47
- import * as i46 from "@angular/cdk/drag-drop";
48
- import * as i47 from "@angular/material/dialog";
49
- import * as i48 from "@angular/material/button";
50
- import * as i49 from "@angular/material/tooltip";
51
- import * as i50 from "@angular/cdk/overlay";
52
- import * as i51 from "@angular/material/menu";
53
- import * as i52 from "@angular/material/slider";
54
- import * as i53 from "@angular/material/slide-toggle";
55
- import * as i54 from "@angular/material/checkbox";
56
- import * as i55 from "@angular/material/icon";
57
- import * as i56 from "@rp3e11/ngx-slider";
58
- import * as i57 from "@angular/cdk/tree";
59
- import * as i58 from "@angular/material/tabs";
45
+ import * as i44 from "./ui-menu/cycle-events/cycle-events.component";
46
+ import * as i45 from "@angular/common";
47
+ import * as i46 from "@angular/router";
48
+ import * as i47 from "@angular/cdk/drag-drop";
49
+ import * as i48 from "@angular/material/dialog";
50
+ import * as i49 from "@angular/material/button";
51
+ import * as i50 from "@angular/material/tooltip";
52
+ import * as i51 from "@angular/cdk/overlay";
53
+ import * as i52 from "@angular/material/menu";
54
+ import * as i53 from "@angular/material/slider";
55
+ import * as i54 from "@angular/material/slide-toggle";
56
+ import * as i55 from "@angular/material/checkbox";
57
+ import * as i56 from "@angular/material/icon";
58
+ import * as i57 from "@rp3e11/ngx-slider";
59
+ import * as i58 from "@angular/cdk/tree";
60
+ import * as i59 from "@angular/material/tabs";
60
61
  export declare class PhoenixUIModule {
61
62
  static ɵfac: i0.ɵɵFactoryDeclaration<PhoenixUIModule, never>;
62
- static ɵmod: i0.ɵɵNgModuleDeclaration<PhoenixUIModule, [typeof i1.NavComponent, typeof i2.UiMenuComponent, typeof i3.CollectionsInfoComponent, typeof i4.MenuToggleComponent, typeof i5.CollectionsInfoOverlayComponent, typeof i6.IoOptionsComponent, typeof i7.IOOptionsDialogComponent, typeof i8.OverlayViewComponent, typeof i9.AttributePipe, typeof i10.ObjectSelectionComponent, typeof i11.ObjectSelectionOverlayComponent, typeof i12.EventSelectorComponent, typeof i13.ObjectClippingComponent, typeof i14.DarkThemeComponent, typeof i15.AutoRotateComponent, typeof i16.ViewOptionsComponent, typeof i17.OverlayViewWindowComponent, typeof i18.OverlayComponent, typeof i19.ExperimentInfoComponent, typeof i20.InfoPanelComponent, typeof i21.InfoPanelOverlayComponent, typeof i22.MainViewToggleComponent, typeof i23.ZoomControlsComponent, typeof i24.TreeMenuComponent, typeof i25.TreeMenuItemComponent, typeof i26.PhoenixMenuComponent, typeof i27.PhoenixMenuItemComponent, typeof i28.ConfigSliderComponent, typeof i29.AnimateCameraComponent, typeof i30.AnimateEventComponent, typeof i31.VrToggleComponent, typeof i32.ArToggleComponent, typeof i33.SSModeComponent, typeof i34.PerformanceToggleComponent, typeof i35.LoaderComponent, typeof i36.ShareLinkComponent, typeof i37.ShareLinkDialogComponent, typeof i38.EmbedMenuComponent, typeof i39.ExperimentLinkComponent, typeof i40.EventDataExplorerComponent, typeof i41.EventDataExplorerDialogComponent, typeof i42.FileExplorerComponent, typeof i43.RingLoaderComponent], [typeof i44.CommonModule, typeof i45.RouterModule, typeof i46.DragDropModule, typeof i47.MatDialogModule, typeof i48.MatButtonModule, typeof i49.MatTooltipModule, typeof i50.OverlayModule, typeof i51.MatMenuModule, typeof i52.MatSliderModule, typeof i53.MatSlideToggleModule, typeof i54.MatCheckboxModule, typeof i55.MatIconModule, typeof i56.NgxSliderModule, typeof i57.CdkTreeModule, typeof i58.MatTabsModule], [typeof i1.NavComponent, typeof i2.UiMenuComponent, typeof i3.CollectionsInfoComponent, typeof i4.MenuToggleComponent, typeof i5.CollectionsInfoOverlayComponent, typeof i6.IoOptionsComponent, typeof i7.IOOptionsDialogComponent, typeof i8.OverlayViewComponent, typeof i9.AttributePipe, typeof i10.ObjectSelectionComponent, typeof i11.ObjectSelectionOverlayComponent, typeof i12.EventSelectorComponent, typeof i13.ObjectClippingComponent, typeof i14.DarkThemeComponent, typeof i15.AutoRotateComponent, typeof i16.ViewOptionsComponent, typeof i17.OverlayViewWindowComponent, typeof i18.OverlayComponent, typeof i19.ExperimentInfoComponent, typeof i20.InfoPanelComponent, typeof i21.InfoPanelOverlayComponent, typeof i22.MainViewToggleComponent, typeof i23.ZoomControlsComponent, typeof i24.TreeMenuComponent, typeof i25.TreeMenuItemComponent, typeof i26.PhoenixMenuComponent, typeof i27.PhoenixMenuItemComponent, typeof i28.ConfigSliderComponent, typeof i29.AnimateCameraComponent, typeof i30.AnimateEventComponent, typeof i31.VrToggleComponent, typeof i32.ArToggleComponent, typeof i33.SSModeComponent, typeof i34.PerformanceToggleComponent, typeof i35.LoaderComponent, typeof i36.ShareLinkComponent, typeof i37.ShareLinkDialogComponent, typeof i38.EmbedMenuComponent, typeof i39.ExperimentLinkComponent, typeof i40.EventDataExplorerComponent, typeof i41.EventDataExplorerDialogComponent, typeof i42.FileExplorerComponent, typeof i43.RingLoaderComponent]>;
63
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PhoenixUIModule, [typeof i1.NavComponent, typeof i2.UiMenuComponent, typeof i3.CollectionsInfoComponent, typeof i4.MenuToggleComponent, typeof i5.CollectionsInfoOverlayComponent, typeof i6.IoOptionsComponent, typeof i7.IOOptionsDialogComponent, typeof i8.OverlayViewComponent, typeof i9.AttributePipe, typeof i10.ObjectSelectionComponent, typeof i11.ObjectSelectionOverlayComponent, typeof i12.EventSelectorComponent, typeof i13.ObjectClippingComponent, typeof i14.DarkThemeComponent, typeof i15.AutoRotateComponent, typeof i16.ViewOptionsComponent, typeof i17.OverlayViewWindowComponent, typeof i18.OverlayComponent, typeof i19.ExperimentInfoComponent, typeof i20.InfoPanelComponent, typeof i21.InfoPanelOverlayComponent, typeof i22.MainViewToggleComponent, typeof i23.ZoomControlsComponent, typeof i24.TreeMenuComponent, typeof i25.TreeMenuItemComponent, typeof i26.PhoenixMenuComponent, typeof i27.PhoenixMenuItemComponent, typeof i28.ConfigSliderComponent, typeof i29.AnimateCameraComponent, typeof i30.AnimateEventComponent, typeof i31.VrToggleComponent, typeof i32.ArToggleComponent, typeof i33.SSModeComponent, typeof i34.PerformanceToggleComponent, typeof i35.LoaderComponent, typeof i36.ShareLinkComponent, typeof i37.ShareLinkDialogComponent, typeof i38.EmbedMenuComponent, typeof i39.ExperimentLinkComponent, typeof i40.EventDataExplorerComponent, typeof i41.EventDataExplorerDialogComponent, typeof i42.FileExplorerComponent, typeof i43.RingLoaderComponent, typeof i44.CycleEventsComponent], [typeof i45.CommonModule, typeof i46.RouterModule, typeof i47.DragDropModule, typeof i48.MatDialogModule, typeof i49.MatButtonModule, typeof i50.MatTooltipModule, typeof i51.OverlayModule, typeof i52.MatMenuModule, typeof i53.MatSliderModule, typeof i54.MatSlideToggleModule, typeof i55.MatCheckboxModule, typeof i56.MatIconModule, typeof i57.NgxSliderModule, typeof i58.CdkTreeModule, typeof i59.MatTabsModule], [typeof i1.NavComponent, typeof i2.UiMenuComponent, typeof i3.CollectionsInfoComponent, typeof i4.MenuToggleComponent, typeof i5.CollectionsInfoOverlayComponent, typeof i6.IoOptionsComponent, typeof i7.IOOptionsDialogComponent, typeof i8.OverlayViewComponent, typeof i9.AttributePipe, typeof i10.ObjectSelectionComponent, typeof i11.ObjectSelectionOverlayComponent, typeof i12.EventSelectorComponent, typeof i13.ObjectClippingComponent, typeof i14.DarkThemeComponent, typeof i15.AutoRotateComponent, typeof i16.ViewOptionsComponent, typeof i17.OverlayViewWindowComponent, typeof i18.OverlayComponent, typeof i19.ExperimentInfoComponent, typeof i20.InfoPanelComponent, typeof i21.InfoPanelOverlayComponent, typeof i22.MainViewToggleComponent, typeof i23.ZoomControlsComponent, typeof i24.TreeMenuComponent, typeof i25.TreeMenuItemComponent, typeof i26.PhoenixMenuComponent, typeof i27.PhoenixMenuItemComponent, typeof i28.ConfigSliderComponent, typeof i29.AnimateCameraComponent, typeof i30.AnimateEventComponent, typeof i31.VrToggleComponent, typeof i32.ArToggleComponent, typeof i33.SSModeComponent, typeof i34.PerformanceToggleComponent, typeof i35.LoaderComponent, typeof i36.ShareLinkComponent, typeof i37.ShareLinkDialogComponent, typeof i38.EmbedMenuComponent, typeof i39.ExperimentLinkComponent, typeof i40.EventDataExplorerComponent, typeof i41.EventDataExplorerDialogComponent, typeof i42.FileExplorerComponent, typeof i43.RingLoaderComponent, typeof i44.CycleEventsComponent]>;
63
64
  static ɵinj: i0.ɵɵInjectorDeclaration<PhoenixUIModule>;
64
65
  }
@@ -0,0 +1,16 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { EventDisplayService } from '../../../services/event-display.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CycleEventsComponent implements OnInit {
5
+ private eventDisplay;
6
+ interval: number;
7
+ active: boolean;
8
+ private intervalId;
9
+ private events;
10
+ constructor(eventDisplay: EventDisplayService);
11
+ ngOnInit(): void;
12
+ toggleCycle(): void;
13
+ private startCycleInterval;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<CycleEventsComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<CycleEventsComponent, "app-cycle-events", never, { "interval": "interval"; }, {}, never, never>;
16
+ }
@@ -31,3 +31,4 @@ export * from './share-link/share-link.component';
31
31
  export * from './share-link/share-link-dialog/share-link-dialog.component';
32
32
  export * from './event-data-explorer/event-data-explorer.component';
33
33
  export * from './event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component';
34
+ export * from './cycle-events/cycle-events.component';
@@ -8,9 +8,9 @@ import * as i5 from "../ui-menu/animate-camera/animate-camera.component";
8
8
  import * as i6 from "./experiment-link/experiment-link.component";
9
9
  export class EmbedMenuComponent {
10
10
  }
11
- EmbedMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: EmbedMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- EmbedMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: EmbedMenuComponent, selector: "app-embed-menu", ngImport: i0, template: "<div id=\"embedMenu\">\n <div id=\"embedMenuInner\">\n <app-dark-theme></app-dark-theme>\n <app-auto-rotate></app-auto-rotate>\n <app-main-view-toggle></app-main-view-toggle>\n <app-animate-event></app-animate-event>\n <app-animate-camera></app-animate-camera>\n <app-experiment-link></app-experiment-link>\n </div>\n</div>\n", styles: ["#embedMenu{display:none}#embedMenu #embedMenuInner{display:flex;position:absolute;left:1rem;bottom:1rem;background:var(--phoenix-background-color-secondary);border:1px solid var(--phoenix-background-color-tertiary);box-shadow:var(--phoenix-box-shadow);border-radius:30px;padding:.25rem 0}\n"], components: [{ type: i1.DarkThemeComponent, selector: "app-dark-theme" }, { type: i2.AutoRotateComponent, selector: "app-auto-rotate" }, { type: i3.MainViewToggleComponent, selector: "app-main-view-toggle" }, { type: i4.AnimateEventComponent, selector: "app-animate-event" }, { type: i5.AnimateCameraComponent, selector: "app-animate-camera", inputs: ["animationPresets"] }, { type: i6.ExperimentLinkComponent, selector: "app-experiment-link" }] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: EmbedMenuComponent, decorators: [{
11
+ EmbedMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: EmbedMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ EmbedMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: EmbedMenuComponent, selector: "app-embed-menu", ngImport: i0, template: "<div id=\"embedMenu\">\n <div id=\"embedMenuInner\">\n <app-dark-theme></app-dark-theme>\n <app-auto-rotate></app-auto-rotate>\n <app-main-view-toggle></app-main-view-toggle>\n <app-animate-event></app-animate-event>\n <app-animate-camera></app-animate-camera>\n <app-experiment-link></app-experiment-link>\n </div>\n</div>\n", styles: ["#embedMenu{display:none}#embedMenu #embedMenuInner{display:flex;position:absolute;left:1rem;bottom:1rem;background:var(--phoenix-background-color-secondary);border:1px solid var(--phoenix-background-color-tertiary);box-shadow:var(--phoenix-box-shadow);border-radius:30px;padding:.25rem 0}\n"], components: [{ type: i1.DarkThemeComponent, selector: "app-dark-theme" }, { type: i2.AutoRotateComponent, selector: "app-auto-rotate" }, { type: i3.MainViewToggleComponent, selector: "app-main-view-toggle" }, { type: i4.AnimateEventComponent, selector: "app-animate-event" }, { type: i5.AnimateCameraComponent, selector: "app-animate-camera", inputs: ["animationPresets"] }, { type: i6.ExperimentLinkComponent, selector: "app-experiment-link" }] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: EmbedMenuComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'app-embed-menu', template: "<div id=\"embedMenu\">\n <div id=\"embedMenuInner\">\n <app-dark-theme></app-dark-theme>\n <app-auto-rotate></app-auto-rotate>\n <app-main-view-toggle></app-main-view-toggle>\n <app-animate-event></app-animate-event>\n <app-animate-camera></app-animate-camera>\n <app-experiment-link></app-experiment-link>\n </div>\n</div>\n", styles: ["#embedMenu{display:none}#embedMenu #embedMenuInner{display:flex;position:absolute;left:1rem;bottom:1rem;background:var(--phoenix-background-color-secondary);border:1px solid var(--phoenix-background-color-tertiary);box-shadow:var(--phoenix-box-shadow);border-radius:30px;padding:.25rem 0}\n"] }]
16
16
  }] });
@@ -9,9 +9,9 @@ export class ExperimentLinkComponent {
9
9
  window.open(this.experimentLink, '_blank');
10
10
  }
11
11
  }
12
- ExperimentLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ExperimentLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- ExperimentLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: ExperimentLinkComponent, selector: "app-experiment-link", ngImport: i0, template: "<app-menu-toggle\n tooltip=\"See full event display\"\n icon=\"link\"\n (click)=\"goToExperiment()\"\n></app-menu-toggle>\n", styles: [""], components: [{ type: i1.MenuToggleComponent, selector: "app-menu-toggle", inputs: ["icon", "active", "tooltip", "disabled"] }] });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ExperimentLinkComponent, decorators: [{
12
+ ExperimentLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ExperimentLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ ExperimentLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ExperimentLinkComponent, selector: "app-experiment-link", ngImport: i0, template: "<app-menu-toggle\n tooltip=\"See full event display\"\n icon=\"link\"\n (click)=\"goToExperiment()\"\n></app-menu-toggle>\n", styles: [""], components: [{ type: i1.MenuToggleComponent, selector: "app-menu-toggle", inputs: ["icon", "active", "tooltip", "disabled"] }] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ExperimentLinkComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{ selector: 'app-experiment-link', template: "<app-menu-toggle\n tooltip=\"See full event display\"\n icon=\"link\"\n (click)=\"goToExperiment()\"\n></app-menu-toggle>\n", styles: [""] }]
17
17
  }] });
@@ -36,9 +36,9 @@ export class FileExplorerComponent {
36
36
  return Object.values(node.children).sort((a, b) => !a.url && b.url ? -1 : 1);
37
37
  }
38
38
  }
39
- FileExplorerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: FileExplorerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
- FileExplorerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: FileExplorerComponent, selector: "app-file-explorer", inputs: { rootFileNode: "rootFileNode" }, outputs: { onFileSelect: "onFileSelect" }, usesOnChanges: true, ngImport: i0, template: "<cdk-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <!-- This is the tree node template for leaf nodes -->\n <cdk-tree-node *cdkTreeNodeDef=\"let node\" class=\"tree-node\">\n <button\n mat-button\n mat-stroked-button\n class=\"tree-node-button\"\n (click)=\"onSelect(node.url)\"\n >\n <svg class=\"node-icon\">\n <use href=\"assets/icons/file.svg#file\"></use>\n </svg>\n {{ node.name }}\n </button>\n </cdk-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n *cdkTreeNodeDef=\"let node; when: hasChildren\"\n class=\"tree-node\"\n >\n <button\n mat-button\n cdkTreeNodeToggle\n class=\"tree-node-button\"\n [attr.aria-label]=\"'Toggle ' + node.name\"\n >\n <svg\n class=\"node-icon\"\n [class.node-icon-filled]=\"!treeControl.isExpanded(node)\"\n >\n <use href=\"assets/icons/folder.svg#folder\"></use>\n </svg>\n {{ node.name }}\n </button>\n <div [class.file-tree-invisible]=\"!treeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n</cdk-tree>\n", styles: [".file-tree-invisible{display:none}.tree-node{display:block;margin:.25rem 0}.tree-node .tree-node{padding-left:1rem}.tree-node-button{outline:none;padding:0 .75rem}.node-icon{width:1rem;height:1rem;margin-right:.25rem;margin-top:-2px}.node-icon.node-icon-filled{--icon-fill: var(--phoenix-options-icon-path, #fff)}\n"], components: [{ type: i1.CdkTree, selector: "cdk-tree", inputs: ["dataSource", "treeControl", "trackBy"], exportAs: ["cdkTree"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1.CdkTreeNodeDef, selector: "[cdkTreeNodeDef]", inputs: ["cdkTreeNodeDefWhen"] }, { type: i1.CdkTreeNode, selector: "cdk-tree-node", inputs: ["role"], exportAs: ["cdkTreeNode"] }, { type: i1.CdkNestedTreeNode, selector: "cdk-nested-tree-node", inputs: ["role", "disabled", "tabIndex"], exportAs: ["cdkNestedTreeNode"] }, { type: i1.CdkTreeNodeToggle, selector: "[cdkTreeNodeToggle]", inputs: ["cdkTreeNodeToggleRecursive"] }, { type: i1.CdkTreeNodeOutlet, selector: "[cdkTreeNodeOutlet]" }] });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: FileExplorerComponent, decorators: [{
39
+ FileExplorerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: FileExplorerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
+ FileExplorerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: FileExplorerComponent, selector: "app-file-explorer", inputs: { rootFileNode: "rootFileNode" }, outputs: { onFileSelect: "onFileSelect" }, usesOnChanges: true, ngImport: i0, template: "<cdk-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <!-- This is the tree node template for leaf nodes -->\n <cdk-tree-node *cdkTreeNodeDef=\"let node\" class=\"tree-node\">\n <button\n mat-button\n mat-stroked-button\n class=\"tree-node-button\"\n (click)=\"onSelect(node.url)\"\n >\n <svg class=\"node-icon\">\n <use href=\"assets/icons/file.svg#file\"></use>\n </svg>\n {{ node.name }}\n </button>\n </cdk-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n *cdkTreeNodeDef=\"let node; when: hasChildren\"\n class=\"tree-node\"\n >\n <button\n mat-button\n cdkTreeNodeToggle\n class=\"tree-node-button\"\n [attr.aria-label]=\"'Toggle ' + node.name\"\n >\n <svg\n class=\"node-icon\"\n [class.node-icon-filled]=\"!treeControl.isExpanded(node)\"\n >\n <use href=\"assets/icons/folder.svg#folder\"></use>\n </svg>\n {{ node.name }}\n </button>\n <div [class.file-tree-invisible]=\"!treeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n</cdk-tree>\n", styles: [".file-tree-invisible{display:none}.tree-node{display:block;margin:.25rem 0}.tree-node .tree-node{padding-left:1rem}.tree-node-button{outline:none;padding:0 .75rem}.node-icon{width:1rem;height:1rem;margin-right:.25rem;margin-top:-2px}.node-icon.node-icon-filled{--icon-fill: var(--phoenix-options-icon-path, #fff)}\n"], components: [{ type: i1.CdkTree, selector: "cdk-tree", inputs: ["dataSource", "treeControl", "trackBy"], exportAs: ["cdkTree"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1.CdkTreeNodeDef, selector: "[cdkTreeNodeDef]", inputs: ["cdkTreeNodeDefWhen"] }, { type: i1.CdkTreeNode, selector: "cdk-tree-node", inputs: ["role"], exportAs: ["cdkTreeNode"] }, { type: i1.CdkNestedTreeNode, selector: "cdk-nested-tree-node", inputs: ["role", "disabled", "tabIndex"], exportAs: ["cdkNestedTreeNode"] }, { type: i1.CdkTreeNodeToggle, selector: "[cdkTreeNodeToggle]", inputs: ["cdkTreeNodeToggleRecursive"] }, { type: i1.CdkTreeNodeOutlet, selector: "[cdkTreeNodeOutlet]" }] });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: FileExplorerComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{ selector: 'app-file-explorer', template: "<cdk-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <!-- This is the tree node template for leaf nodes -->\n <cdk-tree-node *cdkTreeNodeDef=\"let node\" class=\"tree-node\">\n <button\n mat-button\n mat-stroked-button\n class=\"tree-node-button\"\n (click)=\"onSelect(node.url)\"\n >\n <svg class=\"node-icon\">\n <use href=\"assets/icons/file.svg#file\"></use>\n </svg>\n {{ node.name }}\n </button>\n </cdk-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n *cdkTreeNodeDef=\"let node; when: hasChildren\"\n class=\"tree-node\"\n >\n <button\n mat-button\n cdkTreeNodeToggle\n class=\"tree-node-button\"\n [attr.aria-label]=\"'Toggle ' + node.name\"\n >\n <svg\n class=\"node-icon\"\n [class.node-icon-filled]=\"!treeControl.isExpanded(node)\"\n >\n <use href=\"assets/icons/folder.svg#folder\"></use>\n </svg>\n {{ node.name }}\n </button>\n <div [class.file-tree-invisible]=\"!treeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n</cdk-tree>\n", styles: [".file-tree-invisible{display:none}.tree-node{display:block;margin:.25rem 0}.tree-node .tree-node{padding-left:1rem}.tree-node-button{outline:none;padding:0 .75rem}.node-icon{width:1rem;height:1rem;margin-right:.25rem;margin-top:-2px}.node-icon.node-icon-filled{--icon-fill: var(--phoenix-options-icon-path, #fff)}\n"] }]
44
44
  }], propDecorators: { rootFileNode: [{
@@ -6,9 +6,9 @@ export class LoaderComponent {
6
6
  this.loaded = false;
7
7
  }
8
8
  }
9
- LoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- LoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: LoaderComponent, selector: "app-loader", inputs: { loaded: "loaded", progress: "progress" }, ngImport: i0, template: "<div\n class=\"loader-wrapper d-flex position-absolute flex-column justify-content-center align-items-center w-100 h-100 text-center\"\n [ngClass]=\"{ 'load-complete': loaded }\"\n>\n <img src=\"assets/images/logo-small.svg\" alt=\"Loader\" />\n <p class=\"mt-5\">\n Loading...<br />\n <small class=\"text-muted\">(This may take a while)</small>\n </p>\n <div class=\"loading-bar\" *ngIf=\"progress !== undefined\">\n <span [style]=\"{ width: progress + '%' }\"></span>\n </div>\n</div>\n", styles: [".loader-wrapper{background:var(--phoenix-background-color);z-index:9998}.loader-wrapper.load-complete{display:none!important}.loader-wrapper img{width:5rem;height:5rem;animation:loader 2s infinite}.loader-wrapper p{color:var(--phoenix-text-color)}.loader-wrapper .loading-bar{width:15rem;max-width:90%;height:.5rem;background:var(--phoenix-background-color-tertiary);border-radius:2.5rem;overflow:hidden}.loader-wrapper .loading-bar span{display:block;height:100%;border-radius:2.5rem;background:linear-gradient(to right,var(--phoenix-primary),var(--phoenix-secondary));transition:all .5s}@keyframes loader{0%,to{transform:scale(.1) rotate(0)}95%{transform:scale(1) rotate(15deg)}}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: LoaderComponent, decorators: [{
9
+ LoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ LoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: LoaderComponent, selector: "app-loader", inputs: { loaded: "loaded", progress: "progress" }, ngImport: i0, template: "<div\n class=\"loader-wrapper d-flex position-absolute flex-column justify-content-center align-items-center w-100 h-100 text-center\"\n [ngClass]=\"{ 'load-complete': loaded }\"\n>\n <img src=\"assets/images/logo-small.svg\" alt=\"Loader\" />\n <p class=\"mt-5\">\n Loading...<br />\n <small class=\"text-muted\">(This may take a while)</small>\n </p>\n <div class=\"loading-bar\" *ngIf=\"progress !== undefined\">\n <span [style]=\"{ width: progress + '%' }\"></span>\n </div>\n</div>\n", styles: [".loader-wrapper{background:var(--phoenix-background-color);z-index:9998}.loader-wrapper.load-complete{display:none!important}.loader-wrapper img{width:5rem;height:5rem;animation:loader 2s infinite}.loader-wrapper p{color:var(--phoenix-text-color)}.loader-wrapper .loading-bar{width:15rem;max-width:90%;height:.5rem;background:var(--phoenix-background-color-tertiary);border-radius:2.5rem;overflow:hidden}.loader-wrapper .loading-bar span{display:block;height:100%;border-radius:2.5rem;background:linear-gradient(to right,var(--phoenix-primary),var(--phoenix-secondary));transition:all .5s}@keyframes loader{0%,to{transform:scale(.1) rotate(0)}95%{transform:scale(1) rotate(15deg)}}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: LoaderComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'app-loader', template: "<div\n class=\"loader-wrapper d-flex position-absolute flex-column justify-content-center align-items-center w-100 h-100 text-center\"\n [ngClass]=\"{ 'load-complete': loaded }\"\n>\n <img src=\"assets/images/logo-small.svg\" alt=\"Loader\" />\n <p class=\"mt-5\">\n Loading...<br />\n <small class=\"text-muted\">(This may take a while)</small>\n </p>\n <div class=\"loading-bar\" *ngIf=\"progress !== undefined\">\n <span [style]=\"{ width: progress + '%' }\"></span>\n </div>\n</div>\n", styles: [".loader-wrapper{background:var(--phoenix-background-color);z-index:9998}.loader-wrapper.load-complete{display:none!important}.loader-wrapper img{width:5rem;height:5rem;animation:loader 2s infinite}.loader-wrapper p{color:var(--phoenix-text-color)}.loader-wrapper .loading-bar{width:15rem;max-width:90%;height:.5rem;background:var(--phoenix-background-color-tertiary);border-radius:2.5rem;overflow:hidden}.loader-wrapper .loading-bar span{display:block;height:100%;border-radius:2.5rem;background:linear-gradient(to right,var(--phoenix-primary),var(--phoenix-secondary));transition:all .5s}@keyframes loader{0%,to{transform:scale(.1) rotate(0)}95%{transform:scale(1) rotate(15deg)}}\n"] }]
14
14
  }], propDecorators: { loaded: [{
@@ -5,9 +5,9 @@ export class NavComponent {
5
5
  constructor() { }
6
6
  ngOnInit() { }
7
7
  }
8
- NavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: NavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- NavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: NavComponent, selector: "app-nav", ngImport: i0, template: "<a id=\"mainLogo\" class=\"main-logo fixed-top p-2 mx-auto mt-2\" routerLink=\"/\">\n <img src=\"assets/images/logo-text.svg\" />\n</a>\n", styles: [".main-logo{width:140px;z-index:9999}.main-logo img{transition:all .5s}.main-logo:hover img{filter:drop-shadow(0px 0px 10px var(--phoenix-text-color));transition:all .5s}\n"], directives: [{ type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: NavComponent, decorators: [{
8
+ NavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: NavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ NavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: NavComponent, selector: "app-nav", ngImport: i0, template: "<a id=\"mainLogo\" class=\"main-logo fixed-top p-2 mx-auto mt-2\" routerLink=\"/\">\n <img src=\"assets/images/logo-text.svg\" />\n</a>\n", styles: [".main-logo{width:140px;z-index:9999}.main-logo img{transition:all .5s}.main-logo:hover img{filter:drop-shadow(0px 0px 10px var(--phoenix-text-color));transition:all .5s}\n"], directives: [{ type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: NavComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{ selector: 'app-nav', template: "<a id=\"mainLogo\" class=\"main-logo fixed-top p-2 mx-auto mt-2\" routerLink=\"/\">\n <img src=\"assets/images/logo-text.svg\" />\n</a>\n", styles: [".main-logo{width:140px;z-index:9999}.main-logo img{transition:all .5s}.main-logo:hover img{filter:drop-shadow(0px 0px 10px var(--phoenix-text-color));transition:all .5s}\n"] }]
13
13
  }], ctorParameters: function () { return []; } });
@@ -17,9 +17,9 @@ export class ConfigSliderComponent {
17
17
  }
18
18
  }
19
19
  }
20
- ConfigSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ConfigSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- ConfigSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: ConfigSliderComponent, selector: "app-config-slider", inputs: { value: "value", min: "min", max: "max", step: "step", allowCustomValue: "allowCustomValue" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div class=\"d-flex flex-row align-items-center\">\n <mat-slider\n #configSlider\n class=\"mx-2\"\n [value]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n thumbLabel\n (click)=\"$event.stopPropagation()\"\n (input)=\"onValueChange($event.value)\"\n >\n </mat-slider>\n <input\n #configSliderInput\n *ngIf=\"allowCustomValue\"\n class=\"config-slider-input\"\n type=\"number\"\n [value]=\"value\"\n (input)=\"onValueChange($event.target.value)\"\n />\n</div>\n", styles: [".config-slider-input{background:transparent;color:var(--phoenix-text-color);border:none;border-bottom:1px solid var(--phoenix-text-color);width:25%;-moz-appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}\n"], components: [{ type: i1.MatSlider, selector: "mat-slider", inputs: ["disabled", "color", "tabIndex", "invert", "max", "min", "step", "thumbLabel", "tickInterval", "value", "displayWith", "valueText", "vertical"], outputs: ["change", "input", "valueChange"], exportAs: ["matSlider"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ConfigSliderComponent, decorators: [{
20
+ ConfigSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ConfigSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ ConfigSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ConfigSliderComponent, selector: "app-config-slider", inputs: { value: "value", min: "min", max: "max", step: "step", allowCustomValue: "allowCustomValue" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div class=\"d-flex flex-row align-items-center\">\n <mat-slider\n #configSlider\n class=\"mx-2\"\n [value]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n thumbLabel\n (click)=\"$event.stopPropagation()\"\n (input)=\"onValueChange($event.value)\"\n >\n </mat-slider>\n <input\n #configSliderInput\n *ngIf=\"allowCustomValue\"\n class=\"config-slider-input\"\n type=\"number\"\n [value]=\"value\"\n (input)=\"onValueChange($event.target.value)\"\n />\n</div>\n", styles: [".config-slider-input{background:transparent;color:var(--phoenix-text-color);border:none;border-bottom:1px solid var(--phoenix-text-color);width:25%;-moz-appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}\n"], components: [{ type: i1.MatSlider, selector: "mat-slider", inputs: ["disabled", "color", "tabIndex", "invert", "max", "min", "step", "thumbLabel", "tickInterval", "value", "displayWith", "valueText", "vertical"], outputs: ["change", "input", "valueChange"], exportAs: ["matSlider"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ConfigSliderComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'app-config-slider', template: "<div class=\"d-flex flex-row align-items-center\">\n <mat-slider\n #configSlider\n class=\"mx-2\"\n [value]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n thumbLabel\n (click)=\"$event.stopPropagation()\"\n (input)=\"onValueChange($event.value)\"\n >\n </mat-slider>\n <input\n #configSliderInput\n *ngIf=\"allowCustomValue\"\n class=\"config-slider-input\"\n type=\"number\"\n [value]=\"value\"\n (input)=\"onValueChange($event.target.value)\"\n />\n</div>\n", styles: [".config-slider-input{background:transparent;color:var(--phoenix-text-color);border:none;border-bottom:1px solid var(--phoenix-text-color);width:25%;-moz-appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}\n"] }]
25
25
  }], propDecorators: { value: [{
@@ -22,9 +22,9 @@ export class PhoenixMenuItemComponent {
22
22
  return configs;
23
23
  }
24
24
  }
25
- PhoenixMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: PhoenixMenuItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
26
- PhoenixMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: PhoenixMenuItemComponent, selector: "app-phoenix-menu-item", inputs: { currentNode: "currentNode" }, viewQueries: [{ propertyName: "phoenixMenuItem", first: true, predicate: ["phoenixMenuItem"], descendants: true }], ngImport: i0, template: "<div class=\"phoenix-menu-item\" #phoenixMenuItem>\n <div class=\"phoenix-menu-item-left align-items-center\">\n <!-- If the item has some toggle function -->\n <ng-container *ngIf=\"currentNode.onToggle; else nodeName\">\n <mat-slide-toggle\n [checked]=\"currentNode.toggleState\"\n (change)=\"currentNode.toggleSelfAndDescendants($event.checked)\"\n >\n <ng-container *ngTemplateOutlet=\"nodeName\"></ng-container>\n </mat-slide-toggle>\n </ng-container>\n <!-- If the item has no toggle function -->\n <ng-template #nodeName>\n <span class=\"d-flex w-100 align-items-center\">\n <span *ngIf=\"currentNode.icon\" class=\"icon-wrapper item-icon\">\n <svg>\n <use\n attr.href=\"assets/icons/{{ currentNode.icon }}.svg#{{\n currentNode.icon\n }}\"\n ></use>\n </svg>\n </span>\n <span class=\"item-name\" [title]=\"currentNode.name\">{{\n currentNode.name\n }}</span>\n </span>\n </ng-template>\n </div>\n <div class=\"phoenix-menu-item-right\">\n <div *ngIf=\"currentNode.configs.length > 0\">\n <button\n class=\"icon-wrapper icon-button btn-blank item-settings\"\n (click)=\"\n calculateConfigTop();\n currentNode.configActive = !currentNode.configActive\n \"\n >\n <svg>\n <use href=\"assets/icons/gear.svg#gear\"></use>\n </svg>\n </button>\n <div\n class=\"item-config-backdrop\"\n *ngIf=\"currentNode.configActive\"\n (click)=\"currentNode.configActive = false\"\n ></div>\n <div\n class=\"item-config\"\n [hidden]=\"!currentNode.configActive\"\n [ngStyle]=\"{ 'top.px': configTop }\"\n >\n <ng-container\n *ngFor=\"let config of castConfigsToAny(currentNode.configs)\"\n [ngSwitch]=\"config.type\"\n >\n <!-- Config types -->\n <label class=\"item-config-single\" *ngIf=\"!config.hidden\">\n <span\n class=\"item-config-label\"\n *ngIf=\"config.type !== 'button'\"\n [ngClass]=\"{ 'font-weight-bold w-100': config.type === 'label' }\"\n >\n {{ config.label }}\n </span>\n <div\n class=\"item-config-data\"\n [ngClass]=\"{ 'p-0': config.type === 'button' }\"\n *ngIf=\"config.type !== 'label'\"\n >\n <mat-checkbox\n *ngSwitchCase=\"'checkbox'\"\n [checked]=\"config.isChecked\"\n (change)=\"\n config.onChange($event.checked);\n config.isChecked = $event.checked\n \"\n ></mat-checkbox>\n\n <app-config-slider\n *ngSwitchCase=\"'slider'\"\n [value]=\"config.value\"\n (onChange)=\"config.onChange($event); config.value = $event\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [allowCustomValue]=\"config.allowCustomValue\"\n >\n </app-config-slider>\n\n <button\n *ngSwitchCase=\"'button'\"\n class=\"w-100\"\n (click)=\"config.onClick()\"\n mat-button\n mat-stroked-button\n >\n {{ config.label }}\n </button>\n\n <input\n *ngSwitchCase=\"'color'\"\n type=\"color\"\n [value]=\"config.color\"\n (input)=\"\n config.onChange($event.target.value);\n config.color = $event.target.value\n \"\n />\n\n <ngx-slider\n *ngSwitchCase=\"'rangeSlider'\"\n class=\"range-slider\"\n [value]=\"config.value ? config.value : config.min\"\n [highValue]=\"config.highValue ? config.highValue : config.max\"\n (userChange)=\"\n config.onChange($event);\n config.value = $event.value;\n config.highValue = $event.highValue\n \"\n [options]=\"{\n floor: config.min,\n ceil: config.max,\n step: config.step,\n animate: false\n }\"\n ></ngx-slider>\n\n <select\n *ngSwitchCase=\"'select'\"\n class=\"w-100\"\n (change)=\"config.onChange($event.target.value)\"\n >\n <option\n *ngFor=\"let singleOption of config.options\"\n [value]=\"singleOption\"\n >\n {{ singleOption }}\n </option>\n </select>\n </div>\n </label>\n <!-- Config types END -->\n </ng-container>\n </div>\n </div>\n <button\n class=\"icon-wrapper icon-button btn-blank item-expand\"\n *ngIf=\"currentNode.children.length > 0\"\n (click)=\"currentNode.childrenActive = !currentNode.childrenActive\"\n [ngClass]=\"{ expanded: currentNode.childrenActive }\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n </div>\n</div>\n<div class=\"phoenix-menu-children\" *ngIf=\"currentNode.childrenActive\">\n <app-phoenix-menu-item\n *ngFor=\"let childNode of currentNode.children\"\n [currentNode]=\"childNode\"\n >\n </app-phoenix-menu-item>\n</div>\n", styles: [".phoenix-menu-item{width:100%;padding:.6rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color);font-size:.8rem;transition:all .5s;display:flex;justify-content:space-between;align-items:center}.phoenix-menu-item-left{display:flex;justify-content:flex-start;min-width:0;padding-right:.5rem;overflow:hidden}.phoenix-menu-item-left .item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phoenix-menu-item-left .item-icon{margin-right:.2rem}.phoenix-menu-item-right{display:flex;justify-content:flex-end}.phoenix-menu-item-right .item-expand.expanded{transform:scaleY(-1)}.phoenix-menu-item-right .item-settings{margin-right:.2rem}.phoenix-menu-item-right .item-config-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:110}.phoenix-menu-item-right .item-config{position:absolute;margin-top:-5rem;right:100%;width:14rem;padding:.5rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color-secondary);box-shadow:var(--phoenix-box-shadow);display:flex;flex-direction:column;z-index:120}.phoenix-menu-item-right .item-config>*{margin-bottom:.4rem}.phoenix-menu-item-right .item-config>*:last-child{margin-bottom:0}.phoenix-menu-item-right .item-config .item-config-single{display:flex;flex-direction:row}.phoenix-menu-item-right .item-config .item-config-single .item-config-label{width:30%}.phoenix-menu-item-right .item-config .item-config-single .item-config-data{flex-grow:1;padding-left:.5rem}.phoenix-menu-item .icon-wrapper{display:inline-block;width:1.3rem;height:1.3rem;padding:.23rem;transition:all .4s}.phoenix-menu-item .icon-wrapper.icon-button:hover{background:var(--phoenix-options-icon-bg);border-radius:40%;cursor:pointer}.phoenix-menu-item .icon-wrapper svg{width:100%;height:100%;vertical-align:top}.phoenix-menu-item .mat-slide-toggle-bar{width:30px!important}.phoenix-menu-item .mat-slide-toggle-thumb{width:15px!important;height:15px!important;position:absolute;top:2px}.phoenix-menu-item .mat-slider-horizontal{min-width:0;width:100%;height:20px}.phoenix-menu-item .mat-slider-horizontal .mat-slider-wrapper{top:10px}.phoenix-menu-item label.mat-checkbox-layout{margin:0}@media screen and (max-width: 768px){.phoenix-menu-item{font-size:.75rem;padding:.5rem}.phoenix-menu-item .icon-wrapper{width:1rem;height:1rem;padding:.15rem}}.phoenix-menu-children{margin-left:.5rem;border-left:1px solid var(--phoenix-accent)}.range-slider.ngx-slider .ngx-slider-bar{background:var(--phoenix-text-color-secondary);height:.2rem}.range-slider.ngx-slider .ngx-slider-selection{background:var(--phoenix-accent)}.range-slider.ngx-slider .ngx-slider-pointer{width:1rem;height:1rem;top:-.45rem;bottom:0;background-color:var(--phoenix-accent)}.range-slider.ngx-slider .ngx-slider-pointer:after{display:none}.range-slider.ngx-slider .ngx-slider-bubble{color:var(--phoenix-text-color);font-size:.8rem}.range-slider.ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:var(--phoenix-text-color-secondary)}\n"], components: [{ type: i1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i3.ConfigSliderComponent, selector: "app-config-slider", inputs: ["value", "min", "max", "step", "allowCustomValue"], outputs: ["onChange"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.SliderComponent, selector: "ngx-slider", inputs: ["value", "highValue", "options", "manualRefresh", "triggerFocus"], outputs: ["valueChange", "highValueChange", "userChangeStart", "userChange", "userChangeEnd"] }, { type: PhoenixMenuItemComponent, selector: "app-phoenix-menu-item", inputs: ["currentNode"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], encapsulation: i0.ViewEncapsulation.None });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: PhoenixMenuItemComponent, decorators: [{
25
+ PhoenixMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: PhoenixMenuItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
26
+ PhoenixMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: PhoenixMenuItemComponent, selector: "app-phoenix-menu-item", inputs: { currentNode: "currentNode" }, viewQueries: [{ propertyName: "phoenixMenuItem", first: true, predicate: ["phoenixMenuItem"], descendants: true }], ngImport: i0, template: "<div class=\"phoenix-menu-item\" #phoenixMenuItem>\n <div class=\"phoenix-menu-item-left align-items-center\">\n <!-- If the item has some toggle function -->\n <ng-container *ngIf=\"currentNode.onToggle; else nodeName\">\n <mat-slide-toggle\n [checked]=\"currentNode.toggleState\"\n (change)=\"currentNode.toggleSelfAndDescendants($event.checked)\"\n >\n <ng-container *ngTemplateOutlet=\"nodeName\"></ng-container>\n </mat-slide-toggle>\n </ng-container>\n <!-- If the item has no toggle function -->\n <ng-template #nodeName>\n <span class=\"d-flex w-100 align-items-center\">\n <span *ngIf=\"currentNode.icon\" class=\"icon-wrapper item-icon\">\n <svg>\n <use\n attr.href=\"assets/icons/{{ currentNode.icon }}.svg#{{\n currentNode.icon\n }}\"\n ></use>\n </svg>\n </span>\n <span class=\"item-name\" [title]=\"currentNode.name\">{{\n currentNode.name\n }}</span>\n </span>\n </ng-template>\n </div>\n <div class=\"phoenix-menu-item-right\">\n <div *ngIf=\"currentNode.configs.length > 0\">\n <button\n class=\"icon-wrapper icon-button btn-blank item-settings\"\n (click)=\"\n calculateConfigTop();\n currentNode.configActive = !currentNode.configActive\n \"\n >\n <svg>\n <use href=\"assets/icons/gear.svg#gear\"></use>\n </svg>\n </button>\n <div\n class=\"item-config-backdrop\"\n *ngIf=\"currentNode.configActive\"\n (click)=\"currentNode.configActive = false\"\n ></div>\n <div\n class=\"item-config\"\n [hidden]=\"!currentNode.configActive\"\n [ngStyle]=\"{ 'top.px': configTop }\"\n >\n <ng-container\n *ngFor=\"let config of castConfigsToAny(currentNode.configs)\"\n [ngSwitch]=\"config.type\"\n >\n <!-- Config types -->\n <label class=\"item-config-single\" *ngIf=\"!config.hidden\">\n <span\n class=\"item-config-label\"\n *ngIf=\"config.type !== 'button'\"\n [ngClass]=\"{ 'font-weight-bold w-100': config.type === 'label' }\"\n >\n {{ config.label }}\n </span>\n <div\n class=\"item-config-data\"\n [ngClass]=\"{ 'p-0': config.type === 'button' }\"\n *ngIf=\"config.type !== 'label'\"\n >\n <mat-checkbox\n *ngSwitchCase=\"'checkbox'\"\n [checked]=\"config.isChecked\"\n (change)=\"\n config.onChange($event.checked);\n config.isChecked = $event.checked\n \"\n ></mat-checkbox>\n\n <app-config-slider\n *ngSwitchCase=\"'slider'\"\n [value]=\"config.value\"\n (onChange)=\"config.onChange($event); config.value = $event\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [allowCustomValue]=\"config.allowCustomValue\"\n >\n </app-config-slider>\n\n <button\n *ngSwitchCase=\"'button'\"\n class=\"w-100\"\n (click)=\"config.onClick()\"\n mat-button\n mat-stroked-button\n >\n {{ config.label }}\n </button>\n\n <input\n *ngSwitchCase=\"'color'\"\n type=\"color\"\n [value]=\"config.color\"\n (input)=\"\n config.onChange($event.target.value);\n config.color = $event.target.value\n \"\n />\n\n <ngx-slider\n *ngSwitchCase=\"'rangeSlider'\"\n class=\"range-slider\"\n [value]=\"config.value ? config.value : config.min\"\n [highValue]=\"config.highValue ? config.highValue : config.max\"\n (userChange)=\"\n config.onChange($event);\n config.value = $event.value;\n config.highValue = $event.highValue\n \"\n [options]=\"{\n floor: config.min,\n ceil: config.max,\n step: config.step,\n animate: false\n }\"\n ></ngx-slider>\n\n <select\n *ngSwitchCase=\"'select'\"\n class=\"w-100\"\n (change)=\"config.onChange($event.target.value)\"\n >\n <option\n *ngFor=\"let singleOption of config.options\"\n [value]=\"singleOption\"\n >\n {{ singleOption }}\n </option>\n </select>\n </div>\n </label>\n <!-- Config types END -->\n </ng-container>\n </div>\n </div>\n <button\n class=\"icon-wrapper icon-button btn-blank item-expand\"\n *ngIf=\"currentNode.children.length > 0\"\n (click)=\"currentNode.childrenActive = !currentNode.childrenActive\"\n [ngClass]=\"{ expanded: currentNode.childrenActive }\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n </div>\n</div>\n<div class=\"phoenix-menu-children\" *ngIf=\"currentNode.childrenActive\">\n <app-phoenix-menu-item\n *ngFor=\"let childNode of currentNode.children\"\n [currentNode]=\"childNode\"\n >\n </app-phoenix-menu-item>\n</div>\n", styles: [".phoenix-menu-item{width:100%;padding:.6rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color);font-size:.8rem;transition:all .5s;display:flex;justify-content:space-between;align-items:center}.phoenix-menu-item-left{display:flex;justify-content:flex-start;min-width:0;padding-right:.5rem;overflow:hidden}.phoenix-menu-item-left .item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phoenix-menu-item-left .item-icon{margin-right:.2rem}.phoenix-menu-item-right{display:flex;justify-content:flex-end}.phoenix-menu-item-right .item-expand.expanded{transform:scaleY(-1)}.phoenix-menu-item-right .item-settings{margin-right:.2rem}.phoenix-menu-item-right .item-config-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:110}.phoenix-menu-item-right .item-config{position:absolute;margin-top:-5rem;right:100%;width:14rem;padding:.5rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color-secondary);box-shadow:var(--phoenix-box-shadow);display:flex;flex-direction:column;z-index:120}.phoenix-menu-item-right .item-config>*{margin-bottom:.4rem}.phoenix-menu-item-right .item-config>*:last-child{margin-bottom:0}.phoenix-menu-item-right .item-config .item-config-single{display:flex;flex-direction:row}.phoenix-menu-item-right .item-config .item-config-single .item-config-label{width:30%}.phoenix-menu-item-right .item-config .item-config-single .item-config-data{flex-grow:1;padding-left:.5rem}.phoenix-menu-item .icon-wrapper{display:inline-block;width:1.3rem;height:1.3rem;padding:.23rem;transition:all .4s}.phoenix-menu-item .icon-wrapper.icon-button:hover{background:var(--phoenix-options-icon-bg);border-radius:40%;cursor:pointer}.phoenix-menu-item .icon-wrapper svg{width:100%;height:100%;vertical-align:top}.phoenix-menu-item .mat-slide-toggle-bar{width:30px!important}.phoenix-menu-item .mat-slide-toggle-thumb{width:15px!important;height:15px!important;position:absolute;top:2px}.phoenix-menu-item .mat-slider-horizontal{min-width:0;width:100%;height:20px}.phoenix-menu-item .mat-slider-horizontal .mat-slider-wrapper{top:10px}.phoenix-menu-item label.mat-checkbox-layout{margin:0}@media screen and (max-width: 768px){.phoenix-menu-item{font-size:.75rem;padding:.5rem}.phoenix-menu-item .icon-wrapper{width:1rem;height:1rem;padding:.15rem}}.phoenix-menu-children{margin-left:.5rem;border-left:1px solid var(--phoenix-accent)}.range-slider.ngx-slider .ngx-slider-bar{background:var(--phoenix-text-color-secondary);height:.2rem}.range-slider.ngx-slider .ngx-slider-selection{background:var(--phoenix-accent)}.range-slider.ngx-slider .ngx-slider-pointer{width:1rem;height:1rem;top:-.45rem;bottom:0;background-color:var(--phoenix-accent)}.range-slider.ngx-slider .ngx-slider-pointer:after{display:none}.range-slider.ngx-slider .ngx-slider-bubble{color:var(--phoenix-text-color);font-size:.8rem}.range-slider.ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:var(--phoenix-text-color-secondary)}\n"], components: [{ type: i1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i3.ConfigSliderComponent, selector: "app-config-slider", inputs: ["value", "min", "max", "step", "allowCustomValue"], outputs: ["onChange"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.SliderComponent, selector: "ngx-slider", inputs: ["value", "highValue", "options", "manualRefresh", "triggerFocus"], outputs: ["valueChange", "highValueChange", "userChangeStart", "userChange", "userChangeEnd"] }, { type: PhoenixMenuItemComponent, selector: "app-phoenix-menu-item", inputs: ["currentNode"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], encapsulation: i0.ViewEncapsulation.None });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: PhoenixMenuItemComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ selector: 'app-phoenix-menu-item', encapsulation: ViewEncapsulation.None, template: "<div class=\"phoenix-menu-item\" #phoenixMenuItem>\n <div class=\"phoenix-menu-item-left align-items-center\">\n <!-- If the item has some toggle function -->\n <ng-container *ngIf=\"currentNode.onToggle; else nodeName\">\n <mat-slide-toggle\n [checked]=\"currentNode.toggleState\"\n (change)=\"currentNode.toggleSelfAndDescendants($event.checked)\"\n >\n <ng-container *ngTemplateOutlet=\"nodeName\"></ng-container>\n </mat-slide-toggle>\n </ng-container>\n <!-- If the item has no toggle function -->\n <ng-template #nodeName>\n <span class=\"d-flex w-100 align-items-center\">\n <span *ngIf=\"currentNode.icon\" class=\"icon-wrapper item-icon\">\n <svg>\n <use\n attr.href=\"assets/icons/{{ currentNode.icon }}.svg#{{\n currentNode.icon\n }}\"\n ></use>\n </svg>\n </span>\n <span class=\"item-name\" [title]=\"currentNode.name\">{{\n currentNode.name\n }}</span>\n </span>\n </ng-template>\n </div>\n <div class=\"phoenix-menu-item-right\">\n <div *ngIf=\"currentNode.configs.length > 0\">\n <button\n class=\"icon-wrapper icon-button btn-blank item-settings\"\n (click)=\"\n calculateConfigTop();\n currentNode.configActive = !currentNode.configActive\n \"\n >\n <svg>\n <use href=\"assets/icons/gear.svg#gear\"></use>\n </svg>\n </button>\n <div\n class=\"item-config-backdrop\"\n *ngIf=\"currentNode.configActive\"\n (click)=\"currentNode.configActive = false\"\n ></div>\n <div\n class=\"item-config\"\n [hidden]=\"!currentNode.configActive\"\n [ngStyle]=\"{ 'top.px': configTop }\"\n >\n <ng-container\n *ngFor=\"let config of castConfigsToAny(currentNode.configs)\"\n [ngSwitch]=\"config.type\"\n >\n <!-- Config types -->\n <label class=\"item-config-single\" *ngIf=\"!config.hidden\">\n <span\n class=\"item-config-label\"\n *ngIf=\"config.type !== 'button'\"\n [ngClass]=\"{ 'font-weight-bold w-100': config.type === 'label' }\"\n >\n {{ config.label }}\n </span>\n <div\n class=\"item-config-data\"\n [ngClass]=\"{ 'p-0': config.type === 'button' }\"\n *ngIf=\"config.type !== 'label'\"\n >\n <mat-checkbox\n *ngSwitchCase=\"'checkbox'\"\n [checked]=\"config.isChecked\"\n (change)=\"\n config.onChange($event.checked);\n config.isChecked = $event.checked\n \"\n ></mat-checkbox>\n\n <app-config-slider\n *ngSwitchCase=\"'slider'\"\n [value]=\"config.value\"\n (onChange)=\"config.onChange($event); config.value = $event\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [allowCustomValue]=\"config.allowCustomValue\"\n >\n </app-config-slider>\n\n <button\n *ngSwitchCase=\"'button'\"\n class=\"w-100\"\n (click)=\"config.onClick()\"\n mat-button\n mat-stroked-button\n >\n {{ config.label }}\n </button>\n\n <input\n *ngSwitchCase=\"'color'\"\n type=\"color\"\n [value]=\"config.color\"\n (input)=\"\n config.onChange($event.target.value);\n config.color = $event.target.value\n \"\n />\n\n <ngx-slider\n *ngSwitchCase=\"'rangeSlider'\"\n class=\"range-slider\"\n [value]=\"config.value ? config.value : config.min\"\n [highValue]=\"config.highValue ? config.highValue : config.max\"\n (userChange)=\"\n config.onChange($event);\n config.value = $event.value;\n config.highValue = $event.highValue\n \"\n [options]=\"{\n floor: config.min,\n ceil: config.max,\n step: config.step,\n animate: false\n }\"\n ></ngx-slider>\n\n <select\n *ngSwitchCase=\"'select'\"\n class=\"w-100\"\n (change)=\"config.onChange($event.target.value)\"\n >\n <option\n *ngFor=\"let singleOption of config.options\"\n [value]=\"singleOption\"\n >\n {{ singleOption }}\n </option>\n </select>\n </div>\n </label>\n <!-- Config types END -->\n </ng-container>\n </div>\n </div>\n <button\n class=\"icon-wrapper icon-button btn-blank item-expand\"\n *ngIf=\"currentNode.children.length > 0\"\n (click)=\"currentNode.childrenActive = !currentNode.childrenActive\"\n [ngClass]=\"{ expanded: currentNode.childrenActive }\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n </div>\n</div>\n<div class=\"phoenix-menu-children\" *ngIf=\"currentNode.childrenActive\">\n <app-phoenix-menu-item\n *ngFor=\"let childNode of currentNode.children\"\n [currentNode]=\"childNode\"\n >\n </app-phoenix-menu-item>\n</div>\n", styles: [".phoenix-menu-item{width:100%;padding:.6rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color);font-size:.8rem;transition:all .5s;display:flex;justify-content:space-between;align-items:center}.phoenix-menu-item-left{display:flex;justify-content:flex-start;min-width:0;padding-right:.5rem;overflow:hidden}.phoenix-menu-item-left .item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phoenix-menu-item-left .item-icon{margin-right:.2rem}.phoenix-menu-item-right{display:flex;justify-content:flex-end}.phoenix-menu-item-right .item-expand.expanded{transform:scaleY(-1)}.phoenix-menu-item-right .item-settings{margin-right:.2rem}.phoenix-menu-item-right .item-config-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:110}.phoenix-menu-item-right .item-config{position:absolute;margin-top:-5rem;right:100%;width:14rem;padding:.5rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color-secondary);box-shadow:var(--phoenix-box-shadow);display:flex;flex-direction:column;z-index:120}.phoenix-menu-item-right .item-config>*{margin-bottom:.4rem}.phoenix-menu-item-right .item-config>*:last-child{margin-bottom:0}.phoenix-menu-item-right .item-config .item-config-single{display:flex;flex-direction:row}.phoenix-menu-item-right .item-config .item-config-single .item-config-label{width:30%}.phoenix-menu-item-right .item-config .item-config-single .item-config-data{flex-grow:1;padding-left:.5rem}.phoenix-menu-item .icon-wrapper{display:inline-block;width:1.3rem;height:1.3rem;padding:.23rem;transition:all .4s}.phoenix-menu-item .icon-wrapper.icon-button:hover{background:var(--phoenix-options-icon-bg);border-radius:40%;cursor:pointer}.phoenix-menu-item .icon-wrapper svg{width:100%;height:100%;vertical-align:top}.phoenix-menu-item .mat-slide-toggle-bar{width:30px!important}.phoenix-menu-item .mat-slide-toggle-thumb{width:15px!important;height:15px!important;position:absolute;top:2px}.phoenix-menu-item .mat-slider-horizontal{min-width:0;width:100%;height:20px}.phoenix-menu-item .mat-slider-horizontal .mat-slider-wrapper{top:10px}.phoenix-menu-item label.mat-checkbox-layout{margin:0}@media screen and (max-width: 768px){.phoenix-menu-item{font-size:.75rem;padding:.5rem}.phoenix-menu-item .icon-wrapper{width:1rem;height:1rem;padding:.15rem}}.phoenix-menu-children{margin-left:.5rem;border-left:1px solid var(--phoenix-accent)}.range-slider.ngx-slider .ngx-slider-bar{background:var(--phoenix-text-color-secondary);height:.2rem}.range-slider.ngx-slider .ngx-slider-selection{background:var(--phoenix-accent)}.range-slider.ngx-slider .ngx-slider-pointer{width:1rem;height:1rem;top:-.45rem;bottom:0;background-color:var(--phoenix-accent)}.range-slider.ngx-slider .ngx-slider-pointer:after{display:none}.range-slider.ngx-slider .ngx-slider-bubble{color:var(--phoenix-text-color);font-size:.8rem}.range-slider.ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:var(--phoenix-text-color-secondary)}\n"] }]
30
30
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { currentNode: [{
@@ -3,9 +3,9 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "./pheonix-menu-item/phoenix-menu-item.component";
4
4
  export class PhoenixMenuComponent {
5
5
  }
6
- PhoenixMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: PhoenixMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- PhoenixMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: PhoenixMenuComponent, selector: "app-phoenix-menu", inputs: { rootNode: "rootNode" }, ngImport: i0, template: "<div id=\"phoenixMenu\">\n <app-phoenix-menu-item [currentNode]=\"rootNode\"></app-phoenix-menu-item>\n</div>\n", styles: [":host{width:15rem;max-width:45%;position:absolute;top:5rem;right:1rem}#phoenixMenu{background:var(--phoenix-background-color-secondary);max-height:75vh;overflow-y:auto;box-shadow:var(--phoenix-box-shadow);z-index:100}@media screen and (max-width: 768px){#phoenixMenu{top:4rem}}\n"], components: [{ type: i1.PhoenixMenuItemComponent, selector: "app-phoenix-menu-item", inputs: ["currentNode"] }] });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: PhoenixMenuComponent, decorators: [{
6
+ PhoenixMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: PhoenixMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ PhoenixMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: PhoenixMenuComponent, selector: "app-phoenix-menu", inputs: { rootNode: "rootNode" }, ngImport: i0, template: "<div id=\"phoenixMenu\">\n <app-phoenix-menu-item [currentNode]=\"rootNode\"></app-phoenix-menu-item>\n</div>\n", styles: [":host{width:15rem;max-width:45%;position:absolute;top:5rem;right:1rem}#phoenixMenu{background:var(--phoenix-background-color-secondary);max-height:75vh;overflow-y:auto;box-shadow:var(--phoenix-box-shadow);z-index:100}@media screen and (max-width: 768px){#phoenixMenu{top:4rem}}\n"], components: [{ type: i1.PhoenixMenuItemComponent, selector: "app-phoenix-menu-item", inputs: ["currentNode"] }] });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: PhoenixMenuComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'app-phoenix-menu', template: "<div id=\"phoenixMenu\">\n <app-phoenix-menu-item [currentNode]=\"rootNode\"></app-phoenix-menu-item>\n</div>\n", styles: [":host{width:15rem;max-width:45%;position:absolute;top:5rem;right:1rem}#phoenixMenu{background:var(--phoenix-background-color-secondary);max-height:75vh;overflow-y:auto;box-shadow:var(--phoenix-box-shadow);z-index:100}@media screen and (max-width: 768px){#phoenixMenu{top:4rem}}\n"] }]
11
11
  }], propDecorators: { rootNode: [{
@@ -23,6 +23,7 @@ import { EmbedMenuComponent } from './embed-menu/embed-menu.component';
23
23
  import { ExperimentLinkComponent } from './embed-menu/experiment-link/experiment-link.component';
24
24
  import { FileExplorerComponent } from './file-explorer/file-explorer.component';
25
25
  import { RingLoaderComponent } from './ring-loader/ring-loader.component';
26
+ import { CycleEventsComponent } from './ui-menu/cycle-events/cycle-events.component';
26
27
  import * as i0 from "@angular/core";
27
28
  const PHOENIX_COMPONENTS = [
28
29
  NavComponent,
@@ -68,11 +69,12 @@ const PHOENIX_COMPONENTS = [
68
69
  EventDataExplorerDialogComponent,
69
70
  FileExplorerComponent,
70
71
  RingLoaderComponent,
72
+ CycleEventsComponent,
71
73
  ];
72
74
  export class PhoenixUIModule {
73
75
  }
74
- PhoenixUIModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: PhoenixUIModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
75
- PhoenixUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: PhoenixUIModule, declarations: [NavComponent,
76
+ PhoenixUIModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: PhoenixUIModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
77
+ PhoenixUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: PhoenixUIModule, declarations: [NavComponent,
76
78
  UiMenuComponent,
77
79
  CollectionsInfoComponent,
78
80
  MenuToggleComponent,
@@ -114,7 +116,8 @@ PhoenixUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
114
116
  EventDataExplorerComponent,
115
117
  EventDataExplorerDialogComponent,
116
118
  FileExplorerComponent,
117
- RingLoaderComponent], imports: [CommonModule,
119
+ RingLoaderComponent,
120
+ CycleEventsComponent], imports: [CommonModule,
118
121
  RouterModule,
119
122
  DragDropModule,
120
123
  MatDialogModule,
@@ -170,8 +173,9 @@ PhoenixUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
170
173
  EventDataExplorerComponent,
171
174
  EventDataExplorerDialogComponent,
172
175
  FileExplorerComponent,
173
- RingLoaderComponent] });
174
- PhoenixUIModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: PhoenixUIModule, imports: [[
176
+ RingLoaderComponent,
177
+ CycleEventsComponent] });
178
+ PhoenixUIModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: PhoenixUIModule, imports: [[
175
179
  CommonModule,
176
180
  RouterModule,
177
181
  DragDropModule,
@@ -188,7 +192,7 @@ PhoenixUIModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
188
192
  CdkTreeModule,
189
193
  MatTabsModule,
190
194
  ]] });
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: PhoenixUIModule, decorators: [{
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: PhoenixUIModule, decorators: [{
192
196
  type: NgModule,
193
197
  args: [{
194
198
  declarations: PHOENIX_COMPONENTS,
@@ -221,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
221
225
  exports: PHOENIX_COMPONENTS,
222
226
  }]
223
227
  }] });
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvZW5peC11aS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tcG9uZW50cy9waG9lbml4LXVpLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsb0JBQW9CLEVB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WUFDZixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhO1lBQ2IsYUFBYTtTQUNkOzJGQVlVLGVBQWU7a0JBOUIzQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxrQkFBa0I7b0JBQ2hDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTtxQkFDZDtvQkFDRCxlQUFlLEVBQUU7d0JBQ2YsZ0JBQWdCO3dCQUNoQiwwQkFBMEI7d0JBQzFCLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3dCQUMvQiwrQkFBK0I7d0JBQy9CLHlCQUF5Qjt3QkFDekIsZ0NBQWdDO3FCQUNqQztvQkFDRCxPQUFPLEVBQUUsa0JBQWtCO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IE1hdFNsaWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBDZGtUcmVlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RyZWUnO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgTmd4U2xpZGVyTW9kdWxlIH0gZnJvbSAnQHJwM2UxMS9uZ3gtc2xpZGVyJztcbmltcG9ydCB7IE5hdkNvbXBvbmVudCB9IGZyb20gJy4vbmF2L25hdi5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgUGhvZW5peE1lbnVDb21wb25lbnQsXG4gIFBob2VuaXhNZW51SXRlbUNvbXBvbmVudCxcbiAgQ29uZmlnU2xpZGVyQ29tcG9uZW50LFxufSBmcm9tICcuL3Bob2VuaXgtbWVudSc7XG5pbXBvcnQge1xuICBVaU1lbnVDb21wb25lbnQsXG4gIENvbGxlY3Rpb25zSW5mb0NvbXBvbmVudCxcbiAgTWVudVRvZ2dsZUNvbXBvbmVudCxcbiAgQ29sbGVjdGlvbnNJbmZvT3ZlcmxheUNvbXBvbmVudCxcbiAgSW9PcHRpb25zQ29tcG9uZW50LFxuICBJT09wdGlvbnNEaWFsb2dDb21wb25lbnQsXG4gIE92ZXJsYXlWaWV3Q29tcG9uZW50LFxuICBPYmplY3RTZWxlY3Rpb25Db21wb25lbnQsXG4gIE9iamVjdFNlbGVjdGlvbk92ZXJsYXlDb21wb25lbnQsXG4gIEV2ZW50U2VsZWN0b3JDb21wb25lbnQsXG4gIE9iamVjdENsaXBwaW5nQ29tcG9uZW50LFxuICBEYXJrVGhlbWVDb21wb25lbnQsXG4gIEF1dG9Sb3RhdGVDb21wb25lbnQsXG4gIFZpZXdPcHRpb25zQ29tcG9uZW50LFxuICBPdmVybGF5Vmlld1dpbmRvd0NvbXBvbmVudCxcbiAgT3ZlcmxheUNvbXBvbmVudCxcbiAgRXhwZXJpbWVudEluZm9Db21wb25lbnQsXG4gIEluZm9QYW5lbENvbXBvbmVudCxcbiAgSW5mb1BhbmVsT3ZlcmxheUNvbXBvbmVudCxcbiAgTWFpblZpZXdUb2dnbGVDb21wb25lbnQsXG4gIFpvb21Db250cm9sc0NvbXBvbmVudCxcbiAgVHJlZU1lbnVDb21wb25lbnQsXG4gIFRyZWVNZW51SXRlbUNvbXBvbmVudCxcbiAgQW5pbWF0ZUNhbWVyYUNvbXBvbmVudCxcbiAgQW5pbWF0ZUV2ZW50Q29tcG9uZW50LFxuICBWclRvZ2dsZUNvbXBvbmVudCxcbiAgQXJUb2dnbGVDb21wb25lbnQsXG4gIFNTTW9kZUNvbXBvbmVudCxcbiAgUGVyZm9ybWFuY2VUb2dnbGVDb21wb25lbnQsXG4gIFNoYXJlTGlua0NvbXBvbmVudCxcbiAgU2hhcmVMaW5rRGlhbG9nQ29tcG9uZW50LFxuICBFdmVudERhdGFFeHBsb3JlckNvbXBvbmVudCxcbiAgRXZlbnREYXRhRXhwbG9yZXJEaWFsb2dDb21wb25lbnQsXG59IGZyb20gJy4vdWktbWVudSc7XG5pbXBvcnQgeyBBdHRyaWJ1dGVQaXBlIH0gZnJvbSAnLi4vc2VydmljZXMvZXh0cmFzL2F0dHJpYnV0ZS5waXBlJztcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1iZWRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9lbWJlZC1tZW51L2VtYmVkLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEV4cGVyaW1lbnRMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9lbWJlZC1tZW51L2V4cGVyaW1lbnQtbGluay9leHBlcmltZW50LWxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVFeHBsb3JlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS1leHBsb3Jlci9maWxlLWV4cGxvcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSaW5nTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9yaW5nLWxvYWRlci9yaW5nLWxvYWRlci5jb21wb25lbnQnO1xuXG5jb25zdCBQSE9FTklYX0NPTVBPTkVOVFM6IFR5cGU8YW55PltdID0gW1xuICBOYXZDb21wb25lbnQsXG4gIFVpTWVudUNvbXBvbmVudCxcbiAgQ29sbGVjdGlvbnNJbmZvQ29tcG9uZW50LFxuICBNZW51VG9nZ2xlQ29tcG9uZW50LFxuICBDb2xsZWN0aW9uc0luZm9PdmVybGF5Q29tcG9uZW50LFxuICBJb09wdGlvbnNDb21wb25lbnQsXG4gIElPT3B0aW9uc0RpYWxvZ0NvbXBvbmVudCxcbiAgT3ZlcmxheVZpZXdDb21wb25lbnQsXG4gIEF0dHJpYnV0ZVBpcGUsXG4gIE9iamVjdFNlbGVjdGlvbkNvbXBvbmVudCxcbiAgT2JqZWN0U2VsZWN0aW9uT3ZlcmxheUNvbXBvbmVudCxcbiAgRXZlbnRTZWxlY3RvckNvbXBvbmVudCxcbiAgT2JqZWN0Q2xpcHBpbmdDb21wb25lbnQsXG4gIERhcmtUaGVtZUNvbXBvbmVudCxcbiAgQXV0b1JvdGF0ZUNvbXBvbmVudCxcbiAgVmlld09wdGlvbnNDb21wb25lbnQsXG4gIE92ZXJsYXlWaWV3V2luZG93Q29tcG9uZW50LFxuICBPdmVybGF5Q29tcG9uZW50LFxuICBFeHBlcmltZW50SW5mb0NvbXBvbmVudCxcbiAgSW5mb1BhbmVsQ29tcG9uZW50LFxuICBJbmZvUGFuZWxPdmVybGF5Q29tcG9uZW50LFxuICBNYWluVmlld1RvZ2dsZUNvbXBvbmVudCxcbiAgWm9vbUNvbnRyb2xzQ29tcG9uZW50LFxuICBUcmVlTWVudUNvbXBvbmVudCxcbiAgVHJlZU1lbnVJdGVtQ29tcG9uZW50LFxuICBQaG9lbml4TWVudUNvbXBvbmVudCxcbiAgUGhvZW5peE1lbnVJdGVtQ29tcG9uZW50LFxuICBDb25maWdTbGlkZXJDb21wb25lbnQsXG4gIEFuaW1hdGVDYW1lcmFDb21wb25lbnQsXG4gIEFuaW1hdGVFdmVudENvbXBvbmVudCxcbiAgVnJUb2dnbGVDb21wb25lbnQsXG4gIEFyVG9nZ2xlQ29tcG9uZW50LFxuICBTU01vZGVDb21wb25lbnQsXG4gIFBlcmZvcm1hbmNlVG9nZ2xlQ29tcG9uZW50LFxuICBMb2FkZXJDb21wb25lbnQsXG4gIFNoYXJlTGlua0NvbXBvbmVudCxcbiAgU2hhcmVMaW5rRGlhbG9nQ29tcG9uZW50LFxuICBFbWJlZE1lbnVDb21wb25lbnQsXG4gIEV4cGVyaW1lbnRMaW5rQ29tcG9uZW50LFxuICBFdmVudERhdGFFeHBsb3JlckNvbXBvbmVudCxcbiAgRXZlbnREYXRhRXhwbG9yZXJEaWFsb2dDb21wb25lbnQsXG4gIEZpbGVFeHBsb3JlckNvbXBvbmVudCxcbiAgUmluZ0xvYWRlckNvbXBvbmVudCxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogUEhPRU5JWF9DT01QT05FTlRTLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdFNsaWRlck1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE5neFNsaWRlck1vZHVsZSxcbiAgICBDZGtUcmVlTW9kdWxlLFxuICAgIE1hdFRhYnNNb2R1bGUsXG4gIF0sXG4gIGVudHJ5Q29tcG9uZW50czogW1xuICAgIE92ZXJsYXlDb21wb25lbnQsXG4gICAgT3ZlcmxheVZpZXdXaW5kb3dDb21wb25lbnQsXG4gICAgSU9PcHRpb25zRGlhbG9nQ29tcG9uZW50LFxuICAgIENvbGxlY3Rpb25zSW5mb092ZXJsYXlDb21wb25lbnQsXG4gICAgT2JqZWN0U2VsZWN0aW9uT3ZlcmxheUNvbXBvbmVudCxcbiAgICBJbmZvUGFuZWxPdmVybGF5Q29tcG9uZW50LFxuICAgIEV2ZW50RGF0YUV4cGxvcmVyRGlhbG9nQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBQSE9FTklYX0NPTVBPTkVOVFMsXG59KVxuZXhwb3J0IGNsYXNzIFBob2VuaXhVSU1vZHVsZSB7fVxuIl19
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvZW5peC11aS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tcG9uZW50cy9waG9lbml4LXVpLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsb0JBQW9CLEVB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QUNyQixtQkFBbUI7UUFDbkIsb0JBQW9COzZHQWlDVCxlQUFlLFlBNUJqQjtZQUNQLFlBQVk7WUFDWixZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWU7WUFDZixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhO1lBQ2IsYUFBYTtTQUNkOzJGQVlVLGVBQWU7a0JBOUIzQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxrQkFBa0I7b0JBQ2hDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTtxQkFDZDtvQkFDRCxlQUFlLEVBQUU7d0JBQ2YsZ0JBQWdCO3dCQUNoQiwwQkFBMEI7d0JBQzFCLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3dCQUMvQiwrQkFBK0I7d0JBQy9CLHlCQUF5Qjt3QkFDekIsZ0NBQWdDO3FCQUNqQztvQkFDRCxPQUFPLEVBQUUsa0JBQWtCO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IE1hdFNsaWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBDZGtUcmVlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RyZWUnO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgTmd4U2xpZGVyTW9kdWxlIH0gZnJvbSAnQHJwM2UxMS9uZ3gtc2xpZGVyJztcbmltcG9ydCB7IE5hdkNvbXBvbmVudCB9IGZyb20gJy4vbmF2L25hdi5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgUGhvZW5peE1lbnVDb21wb25lbnQsXG4gIFBob2VuaXhNZW51SXRlbUNvbXBvbmVudCxcbiAgQ29uZmlnU2xpZGVyQ29tcG9uZW50LFxufSBmcm9tICcuL3Bob2VuaXgtbWVudSc7XG5pbXBvcnQge1xuICBVaU1lbnVDb21wb25lbnQsXG4gIENvbGxlY3Rpb25zSW5mb0NvbXBvbmVudCxcbiAgTWVudVRvZ2dsZUNvbXBvbmVudCxcbiAgQ29sbGVjdGlvbnNJbmZvT3ZlcmxheUNvbXBvbmVudCxcbiAgSW9PcHRpb25zQ29tcG9uZW50LFxuICBJT09wdGlvbnNEaWFsb2dDb21wb25lbnQsXG4gIE92ZXJsYXlWaWV3Q29tcG9uZW50LFxuICBPYmplY3RTZWxlY3Rpb25Db21wb25lbnQsXG4gIE9iamVjdFNlbGVjdGlvbk92ZXJsYXlDb21wb25lbnQsXG4gIEV2ZW50U2VsZWN0b3JDb21wb25lbnQsXG4gIE9iamVjdENsaXBwaW5nQ29tcG9uZW50LFxuICBEYXJrVGhlbWVDb21wb25lbnQsXG4gIEF1dG9Sb3RhdGVDb21wb25lbnQsXG4gIFZpZXdPcHRpb25zQ29tcG9uZW50LFxuICBPdmVybGF5Vmlld1dpbmRvd0NvbXBvbmVudCxcbiAgT3ZlcmxheUNvbXBvbmVudCxcbiAgRXhwZXJpbWVudEluZm9Db21wb25lbnQsXG4gIEluZm9QYW5lbENvbXBvbmVudCxcbiAgSW5mb1BhbmVsT3ZlcmxheUNvbXBvbmVudCxcbiAgTWFpblZpZXdUb2dnbGVDb21wb25lbnQsXG4gIFpvb21Db250cm9sc0NvbXBvbmVudCxcbiAgVHJlZU1lbnVDb21wb25lbnQsXG4gIFRyZWVNZW51SXRlbUNvbXBvbmVudCxcbiAgQW5pbWF0ZUNhbWVyYUNvbXBvbmVudCxcbiAgQW5pbWF0ZUV2ZW50Q29tcG9uZW50LFxuICBWclRvZ2dsZUNvbXBvbmVudCxcbiAgQXJUb2dnbGVDb21wb25lbnQsXG4gIFNTTW9kZUNvbXBvbmVudCxcbiAgUGVyZm9ybWFuY2VUb2dnbGVDb21wb25lbnQsXG4gIFNoYXJlTGlua0NvbXBvbmVudCxcbiAgU2hhcmVMaW5rRGlhbG9nQ29tcG9uZW50LFxuICBFdmVudERhdGFFeHBsb3JlckNvbXBvbmVudCxcbiAgRXZlbnREYXRhRXhwbG9yZXJEaWFsb2dDb21wb25lbnQsXG59IGZyb20gJy4vdWktbWVudSc7XG5pbXBvcnQgeyBBdHRyaWJ1dGVQaXBlIH0gZnJvbSAnLi4vc2VydmljZXMvZXh0cmFzL2F0dHJpYnV0ZS5waXBlJztcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1iZWRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9lbWJlZC1tZW51L2VtYmVkLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEV4cGVyaW1lbnRMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9lbWJlZC1tZW51L2V4cGVyaW1lbnQtbGluay9leHBlcmltZW50LWxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVFeHBsb3JlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS1leHBsb3Jlci9maWxlLWV4cGxvcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSaW5nTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9yaW5nLWxvYWRlci9yaW5nLWxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3ljbGVFdmVudHNDb21wb25lbnQgfSBmcm9tICcuL3VpLW1lbnUvY3ljbGUtZXZlbnRzL2N5Y2xlLWV2ZW50cy5jb21wb25lbnQnO1xuXG5jb25zdCBQSE9FTklYX0NPTVBPTkVOVFM6IFR5cGU8YW55PltdID0gW1xuICBOYXZDb21wb25lbnQsXG4gIFVpTWVudUNvbXBvbmVudCxcbiAgQ29sbGVjdGlvbnNJbmZvQ29tcG9uZW50LFxuICBNZW51VG9nZ2xlQ29tcG9uZW50LFxuICBDb2xsZWN0aW9uc0luZm9PdmVybGF5Q29tcG9uZW50LFxuICBJb09wdGlvbnNDb21wb25lbnQsXG4gIElPT3B0aW9uc0RpYWxvZ0NvbXBvbmVudCxcbiAgT3ZlcmxheVZpZXdDb21wb25lbnQsXG4gIEF0dHJpYnV0ZVBpcGUsXG4gIE9iamVjdFNlbGVjdGlvbkNvbXBvbmVudCxcbiAgT2JqZWN0U2VsZWN0aW9uT3ZlcmxheUNvbXBvbmVudCxcbiAgRXZlbnRTZWxlY3RvckNvbXBvbmVudCxcbiAgT2JqZWN0Q2xpcHBpbmdDb21wb25lbnQsXG4gIERhcmtUaGVtZUNvbXBvbmVudCxcbiAgQXV0b1JvdGF0ZUNvbXBvbmVudCxcbiAgVmlld09wdGlvbnNDb21wb25lbnQsXG4gIE92ZXJsYXlWaWV3V2luZG93Q29tcG9uZW50LFxuICBPdmVybGF5Q29tcG9uZW50LFxuICBFeHBlcmltZW50SW5mb0NvbXBvbmVudCxcbiAgSW5mb1BhbmVsQ29tcG9uZW50LFxuICBJbmZvUGFuZWxPdmVybGF5Q29tcG9uZW50LFxuICBNYWluVmlld1RvZ2dsZUNvbXBvbmVudCxcbiAgWm9vbUNvbnRyb2xzQ29tcG9uZW50LFxuICBUcmVlTWVudUNvbXBvbmVudCxcbiAgVHJlZU1lbnVJdGVtQ29tcG9uZW50LFxuICBQaG9lbml4TWVudUNvbXBvbmVudCxcbiAgUGhvZW5peE1lbnVJdGVtQ29tcG9uZW50LFxuICBDb25maWdTbGlkZXJDb21wb25lbnQsXG4gIEFuaW1hdGVDYW1lcmFDb21wb25lbnQsXG4gIEFuaW1hdGVFdmVudENvbXBvbmVudCxcbiAgVnJUb2dnbGVDb21wb25lbnQsXG4gIEFyVG9nZ2xlQ29tcG9uZW50LFxuICBTU01vZGVDb21wb25lbnQsXG4gIFBlcmZvcm1hbmNlVG9nZ2xlQ29tcG9uZW50LFxuICBMb2FkZXJDb21wb25lbnQsXG4gIFNoYXJlTGlua0NvbXBvbmVudCxcbiAgU2hhcmVMaW5rRGlhbG9nQ29tcG9uZW50LFxuICBFbWJlZE1lbnVDb21wb25lbnQsXG4gIEV4cGVyaW1lbnRMaW5rQ29tcG9uZW50LFxuICBFdmVudERhdGFFeHBsb3JlckNvbXBvbmVudCxcbiAgRXZlbnREYXRhRXhwbG9yZXJEaWFsb2dDb21wb25lbnQsXG4gIEZpbGVFeHBsb3JlckNvbXBvbmVudCxcbiAgUmluZ0xvYWRlckNvbXBvbmVudCxcbiAgQ3ljbGVFdmVudHNDb21wb25lbnQsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFBIT0VOSVhfQ09NUE9ORU5UUyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRTbGlkZXJNb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBOZ3hTbGlkZXJNb2R1bGUsXG4gICAgQ2RrVHJlZU1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICBdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtcbiAgICBPdmVybGF5Q29tcG9uZW50LFxuICAgIE92ZXJsYXlWaWV3V2luZG93Q29tcG9uZW50LFxuICAgIElPT3B0aW9uc0RpYWxvZ0NvbXBvbmVudCxcbiAgICBDb2xsZWN0aW9uc0luZm9PdmVybGF5Q29tcG9uZW50LFxuICAgIE9iamVjdFNlbGVjdGlvbk92ZXJsYXlDb21wb25lbnQsXG4gICAgSW5mb1BhbmVsT3ZlcmxheUNvbXBvbmVudCxcbiAgICBFdmVudERhdGFFeHBsb3JlckRpYWxvZ0NvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogUEhPRU5JWF9DT01QT05FTlRTLFxufSlcbmV4cG9ydCBjbGFzcyBQaG9lbml4VUlNb2R1bGUge31cbiJdfQ==
@@ -2,9 +2,9 @@ import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class RingLoaderComponent {
4
4
  }
5
- RingLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: RingLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- RingLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: RingLoaderComponent, selector: "app-ring-loader", ngImport: i0, template: "<div class=\"ring\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n</div>\n", styles: [".ring{display:inline-block;position:relative;width:1.5rem;height:1.5rem}.ring div{box-sizing:border-box;display:block;position:absolute;width:1.5rem;height:1.5rem;margin:.25rem .5rem;border:.25rem solid var(--phoenix-text-color);border-radius:50%;animation:ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--phoenix-text-color) transparent transparent transparent}.ring div:nth-child(1){animation-delay:-.45s}.ring div:nth-child(2){animation-delay:-.3s}.ring div:nth-child(3){animation-delay:-.15s}@keyframes ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: RingLoaderComponent, decorators: [{
5
+ RingLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: RingLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ RingLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: RingLoaderComponent, selector: "app-ring-loader", ngImport: i0, template: "<div class=\"ring\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n</div>\n", styles: [".ring{display:inline-block;position:relative;width:1.5rem;height:1.5rem}.ring div{box-sizing:border-box;display:block;position:absolute;width:1.5rem;height:1.5rem;margin:.25rem .5rem;border:.25rem solid var(--phoenix-text-color);border-radius:50%;animation:ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--phoenix-text-color) transparent transparent transparent}.ring div:nth-child(1){animation-delay:-.45s}.ring div:nth-child(2){animation-delay:-.3s}.ring div:nth-child(3){animation-delay:-.15s}@keyframes ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: RingLoaderComponent, decorators: [{
8
8
  type: Component,
9
9
  args: [{ selector: 'app-ring-loader', template: "<div class=\"ring\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n</div>\n", styles: [".ring{display:inline-block;position:relative;width:1.5rem;height:1.5rem}.ring div{box-sizing:border-box;display:block;position:absolute;width:1.5rem;height:1.5rem;margin:.25rem .5rem;border:.25rem solid var(--phoenix-text-color);border-radius:50%;animation:ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--phoenix-text-color) transparent transparent transparent}.ring div:nth-child(1){animation-delay:-.45s}.ring div:nth-child(2){animation-delay:-.3s}.ring div:nth-child(3){animation-delay:-.15s}@keyframes ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
10
10
  }] });