phoenix-ui-components 3.0.4 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/README.md +66 -0
  2. package/dist/README.md +66 -0
  3. package/dist/fesm2022/phoenix-ui-components.mjs +3875 -490
  4. package/dist/fesm2022/phoenix-ui-components.mjs.map +1 -1
  5. package/dist/index.d.ts +1370 -3
  6. package/package.json +10 -19
  7. package/dist/components/embed-menu/embed-menu.component.d.ts +0 -5
  8. package/dist/components/embed-menu/experiment-link/experiment-link.component.d.ts +0 -9
  9. package/dist/components/file-explorer/file-explorer.component.d.ts +0 -35
  10. package/dist/components/loader/loader.component.d.ts +0 -11
  11. package/dist/components/nav/nav.component.d.ts +0 -8
  12. package/dist/components/phoenix-menu/config/config-slider/config-slider.component.d.ts +0 -18
  13. package/dist/components/phoenix-menu/index.d.ts +0 -3
  14. package/dist/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.d.ts +0 -14
  15. package/dist/components/phoenix-menu/phoenix-menu.component.d.ts +0 -7
  16. package/dist/components/phoenix-ui.module.d.ts +0 -71
  17. package/dist/components/ring-loader/ring-loader.component.d.ts +0 -5
  18. package/dist/components/ui-menu/animate-camera/animate-camera.component.d.ts +0 -20
  19. package/dist/components/ui-menu/animate-event/animate-event.component.d.ts +0 -10
  20. package/dist/components/ui-menu/ar-toggle/ar-toggle.component.d.ts +0 -11
  21. package/dist/components/ui-menu/auto-rotate/auto-rotate.component.d.ts +0 -10
  22. package/dist/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.d.ts +0 -29
  23. package/dist/components/ui-menu/collections-info/collections-info.component.d.ts +0 -15
  24. package/dist/components/ui-menu/cycle-events/cycle-events.component.d.ts +0 -21
  25. package/dist/components/ui-menu/dark-theme/dark-theme.component.d.ts +0 -12
  26. package/dist/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.d.ts +0 -28
  27. package/dist/components/ui-menu/event-data-explorer/event-data-explorer.component.d.ts +0 -13
  28. package/dist/components/ui-menu/event-selector/event-selector.component.d.ts +0 -12
  29. package/dist/components/ui-menu/experiment-info/experiment-info.component.d.ts +0 -14
  30. package/dist/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.d.ts +0 -22
  31. package/dist/components/ui-menu/geometry-browser/geometry-browser.component.d.ts +0 -15
  32. package/dist/components/ui-menu/index.d.ts +0 -39
  33. package/dist/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.d.ts +0 -26
  34. package/dist/components/ui-menu/info-panel/info-panel.component.d.ts +0 -33
  35. package/dist/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.d.ts +0 -34
  36. package/dist/components/ui-menu/io-options/io-options.component.d.ts +0 -11
  37. package/dist/components/ui-menu/main-view-toggle/main-view-toggle.component.d.ts +0 -10
  38. package/dist/components/ui-menu/make-picture/make-picture.component.d.ts +0 -20
  39. package/dist/components/ui-menu/menu-toggle/menu-toggle.component.d.ts +0 -9
  40. package/dist/components/ui-menu/object-clipping/object-clipping.component.d.ts +0 -15
  41. package/dist/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.d.ts +0 -15
  42. package/dist/components/ui-menu/object-selection/object-selection.component.d.ts +0 -17
  43. package/dist/components/ui-menu/overlay/overlay.component.d.ts +0 -52
  44. package/dist/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.d.ts +0 -20
  45. package/dist/components/ui-menu/overlay-view/overlay-view.component.d.ts +0 -15
  46. package/dist/components/ui-menu/performance-toggle/performance-toggle.component.d.ts +0 -10
  47. package/dist/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.d.ts +0 -28
  48. package/dist/components/ui-menu/share-link/share-link.component.d.ts +0 -9
  49. package/dist/components/ui-menu/ss-mode/ss-mode.component.d.ts +0 -10
  50. package/dist/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.d.ts +0 -19
  51. package/dist/components/ui-menu/tree-menu/tree-menu.component.d.ts +0 -10
  52. package/dist/components/ui-menu/ui-menu-wrapper/ui-menu-wrapper.component.d.ts +0 -6
  53. package/dist/components/ui-menu/ui-menu.component.d.ts +0 -10
  54. package/dist/components/ui-menu/view-options/cartesian-grid-config/cartesian-grid-config.component.d.ts +0 -51
  55. package/dist/components/ui-menu/view-options/view-options.component.d.ts +0 -33
  56. package/dist/components/ui-menu/vr-toggle/vr-toggle.component.d.ts +0 -11
  57. package/dist/components/ui-menu/zoom-controls/zoom-controls.component.d.ts +0 -39
  58. package/dist/esm2022/components/embed-menu/embed-menu.component.mjs +0 -22
  59. package/dist/esm2022/components/embed-menu/experiment-link/experiment-link.component.mjs +0 -27
  60. package/dist/esm2022/components/file-explorer/file-explorer.component.mjs +0 -109
  61. package/dist/esm2022/components/loader/loader.component.mjs +0 -71
  62. package/dist/esm2022/components/nav/nav.component.mjs +0 -19
  63. package/dist/esm2022/components/phoenix-menu/config/config-slider/config-slider.component.mjs +0 -82
  64. package/dist/esm2022/components/phoenix-menu/index.mjs +0 -4
  65. package/dist/esm2022/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.mjs +0 -308
  66. package/dist/esm2022/components/phoenix-menu/phoenix-menu.component.mjs +0 -23
  67. package/dist/esm2022/components/phoenix-ui.module.mjs +0 -257
  68. package/dist/esm2022/components/ring-loader/ring-loader.component.mjs +0 -16
  69. package/dist/esm2022/components/ui-menu/animate-camera/animate-camera.component.mjs +0 -120
  70. package/dist/esm2022/components/ui-menu/animate-event/animate-event.component.mjs +0 -33
  71. package/dist/esm2022/components/ui-menu/ar-toggle/ar-toggle.component.mjs +0 -83
  72. package/dist/esm2022/components/ui-menu/auto-rotate/auto-rotate.component.mjs +0 -29
  73. package/dist/esm2022/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.mjs +0 -274
  74. package/dist/esm2022/components/ui-menu/collections-info/collections-info.component.mjs +0 -47
  75. package/dist/esm2022/components/ui-menu/cycle-events/cycle-events.component.mjs +0 -90
  76. package/dist/esm2022/components/ui-menu/dark-theme/dark-theme.component.mjs +0 -32
  77. package/dist/esm2022/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.mjs +0 -128
  78. package/dist/esm2022/components/ui-menu/event-data-explorer/event-data-explorer.component.mjs +0 -35
  79. package/dist/esm2022/components/ui-menu/event-selector/event-selector.component.mjs +0 -54
  80. package/dist/esm2022/components/ui-menu/experiment-info/experiment-info.component.mjs +0 -100
  81. package/dist/esm2022/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.mjs +0 -172
  82. package/dist/esm2022/components/ui-menu/geometry-browser/geometry-browser.component.mjs +0 -45
  83. package/dist/esm2022/components/ui-menu/index.mjs +0 -40
  84. package/dist/esm2022/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.mjs +0 -69
  85. package/dist/esm2022/components/ui-menu/info-panel/info-panel.component.mjs +0 -59
  86. package/dist/esm2022/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.mjs +0 -304
  87. package/dist/esm2022/components/ui-menu/io-options/io-options.component.mjs +0 -36
  88. package/dist/esm2022/components/ui-menu/main-view-toggle/main-view-toggle.component.mjs +0 -32
  89. package/dist/esm2022/components/ui-menu/make-picture/make-picture.component.mjs +0 -109
  90. package/dist/esm2022/components/ui-menu/menu-toggle/menu-toggle.component.mjs +0 -40
  91. package/dist/esm2022/components/ui-menu/object-clipping/object-clipping.component.mjs +0 -72
  92. package/dist/esm2022/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.mjs +0 -59
  93. package/dist/esm2022/components/ui-menu/object-selection/object-selection.component.mjs +0 -46
  94. package/dist/esm2022/components/ui-menu/overlay/overlay.component.mjs +0 -197
  95. package/dist/esm2022/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.mjs +0 -83
  96. package/dist/esm2022/components/ui-menu/overlay-view/overlay-view.component.mjs +0 -41
  97. package/dist/esm2022/components/ui-menu/performance-toggle/performance-toggle.component.mjs +0 -29
  98. package/dist/esm2022/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.mjs +0 -165
  99. package/dist/esm2022/components/ui-menu/share-link/share-link.component.mjs +0 -28
  100. package/dist/esm2022/components/ui-menu/ss-mode/ss-mode.component.mjs +0 -46
  101. package/dist/esm2022/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.mjs +0 -94
  102. package/dist/esm2022/components/ui-menu/tree-menu/tree-menu.component.mjs +0 -78
  103. package/dist/esm2022/components/ui-menu/ui-menu-wrapper/ui-menu-wrapper.component.mjs +0 -34
  104. package/dist/esm2022/components/ui-menu/ui-menu.component.mjs +0 -54
  105. package/dist/esm2022/components/ui-menu/view-options/cartesian-grid-config/cartesian-grid-config.component.mjs +0 -247
  106. package/dist/esm2022/components/ui-menu/view-options/view-options.component.mjs +0 -170
  107. package/dist/esm2022/components/ui-menu/vr-toggle/vr-toggle.component.mjs +0 -52
  108. package/dist/esm2022/components/ui-menu/zoom-controls/zoom-controls.component.mjs +0 -79
  109. package/dist/esm2022/phoenix-ui-components.mjs +0 -5
  110. package/dist/esm2022/public_api.mjs +0 -11
  111. package/dist/esm2022/services/error-message-service.mjs +0 -30
  112. package/dist/esm2022/services/event-display.service.mjs +0 -23
  113. package/dist/esm2022/services/extras/attribute.pipe.mjs +0 -33
  114. package/dist/esm2022/services/extras/event-data-import.mjs +0 -21
  115. package/dist/esm2022/services/file-loader.service.mjs +0 -93
  116. package/dist/esm2022/services/global-error-handler.mjs +0 -30
  117. package/dist/esm2022/services/index.mjs +0 -4
  118. package/dist/public_api.d.ts +0 -10
  119. package/dist/services/error-message-service.d.ts +0 -17
  120. package/dist/services/event-display.service.d.ts +0 -13
  121. package/dist/services/extras/attribute.pipe.d.ts +0 -16
  122. package/dist/services/extras/event-data-import.d.ts +0 -15
  123. package/dist/services/file-loader.service.d.ts +0 -17
  124. package/dist/services/global-error-handler.d.ts +0 -20
  125. package/dist/services/index.d.ts +0 -3
package/README.md CHANGED
@@ -86,3 +86,69 @@ export class TestComponent {
86
86
  phoenixMenuRoot = new PhoenixMenuNode('Phoenix Menu', 'phoenix-menu');
87
87
  }
88
88
  ```
89
+
90
+ ## Services
91
+
92
+ ### NotificationService
93
+
94
+ `NotificationService` provides user-facing notifications with four severity levels and configurable auto-dismiss durations. It replaces silent console errors with actionable feedback visible directly in the UI.
95
+
96
+ #### Severity levels and default durations
97
+
98
+ | Severity | Default duration | Behaviour |
99
+ | --------- | ---------------- | ----------------------- |
100
+ | `success` | 5000ms | Auto-dismisses |
101
+ | `info` | 5000ms | Auto-dismisses |
102
+ | `warning` | 8000ms | Auto-dismisses |
103
+ | `error` | 0ms | Requires manual dismiss |
104
+
105
+ #### Usage
106
+
107
+ Inject `NotificationService` into any Angular component or service:
108
+
109
+ ```ts
110
+ import { NotificationService } from 'phoenix-ui-components';
111
+
112
+ @Component({ ... })
113
+ export class MyComponent {
114
+ constructor(private notificationService: NotificationService) {}
115
+
116
+ loadFile() {
117
+ try {
118
+ // ... load file
119
+ this.notificationService.success('File loaded successfully.');
120
+ } catch (error) {
121
+ this.notificationService.error(
122
+ 'Could not parse event file. Please ensure it is valid JSON.',
123
+ );
124
+ }
125
+ }
126
+ }
127
+ ```
128
+
129
+ To display notifications, subscribe to the service and store the unsubscribe function:
130
+
131
+ ```ts
132
+ private unsubscribe: () => void;
133
+
134
+ ngOnInit() {
135
+ this.unsubscribe = this.notificationService.subscribeToNotifications(
136
+ (notification) => {
137
+ // notification.message — the text to display
138
+ // notification.severity — 'success' | 'info' | 'warning' | 'error'
139
+ // notification.duration — auto-dismiss duration in ms (0 = no auto-dismiss)
140
+ },
141
+ );
142
+ }
143
+
144
+ ngOnDestroy() {
145
+ this.unsubscribe?.();
146
+ }
147
+ ```
148
+
149
+ A custom duration can be passed as an optional second argument:
150
+
151
+ ```ts
152
+ this.notificationService.warning('Large file detected.', 12000);
153
+ this.notificationService.error('Connection lost.', 10000);
154
+ ```
package/dist/README.md CHANGED
@@ -86,3 +86,69 @@ export class TestComponent {
86
86
  phoenixMenuRoot = new PhoenixMenuNode('Phoenix Menu', 'phoenix-menu');
87
87
  }
88
88
  ```
89
+
90
+ ## Services
91
+
92
+ ### NotificationService
93
+
94
+ `NotificationService` provides user-facing notifications with four severity levels and configurable auto-dismiss durations. It replaces silent console errors with actionable feedback visible directly in the UI.
95
+
96
+ #### Severity levels and default durations
97
+
98
+ | Severity | Default duration | Behaviour |
99
+ | --------- | ---------------- | ----------------------- |
100
+ | `success` | 5000ms | Auto-dismisses |
101
+ | `info` | 5000ms | Auto-dismisses |
102
+ | `warning` | 8000ms | Auto-dismisses |
103
+ | `error` | 0ms | Requires manual dismiss |
104
+
105
+ #### Usage
106
+
107
+ Inject `NotificationService` into any Angular component or service:
108
+
109
+ ```ts
110
+ import { NotificationService } from 'phoenix-ui-components';
111
+
112
+ @Component({ ... })
113
+ export class MyComponent {
114
+ constructor(private notificationService: NotificationService) {}
115
+
116
+ loadFile() {
117
+ try {
118
+ // ... load file
119
+ this.notificationService.success('File loaded successfully.');
120
+ } catch (error) {
121
+ this.notificationService.error(
122
+ 'Could not parse event file. Please ensure it is valid JSON.',
123
+ );
124
+ }
125
+ }
126
+ }
127
+ ```
128
+
129
+ To display notifications, subscribe to the service and store the unsubscribe function:
130
+
131
+ ```ts
132
+ private unsubscribe: () => void;
133
+
134
+ ngOnInit() {
135
+ this.unsubscribe = this.notificationService.subscribeToNotifications(
136
+ (notification) => {
137
+ // notification.message — the text to display
138
+ // notification.severity — 'success' | 'info' | 'warning' | 'error'
139
+ // notification.duration — auto-dismiss duration in ms (0 = no auto-dismiss)
140
+ },
141
+ );
142
+ }
143
+
144
+ ngOnDestroy() {
145
+ this.unsubscribe?.();
146
+ }
147
+ ```
148
+
149
+ A custom duration can be passed as an optional second argument:
150
+
151
+ ```ts
152
+ this.notificationService.warning('Large file detected.', 12000);
153
+ this.notificationService.error('Connection lost.', 10000);
154
+ ```