speechrecorderng 3.6.0 → 3.8.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 (220) hide show
  1. package/esm2022/lib/action/action.mjs +73 -0
  2. package/{esm2020 → esm2022}/lib/audio/array_audio_buffer.mjs +163 -163
  3. package/{esm2020 → esm2022}/lib/audio/array_audio_buffer_input_stream.mjs +85 -85
  4. package/{esm2020 → esm2022}/lib/audio/array_audio_buffer_random_access_stream.mjs +15 -15
  5. package/esm2022/lib/audio/audio_data_holder.mjs +264 -0
  6. package/{esm2020 → esm2022}/lib/audio/audio_display.mjs +93 -93
  7. package/{esm2020 → esm2022}/lib/audio/audio_player.mjs +213 -213
  8. package/esm2022/lib/audio/capture/capture.mjs +855 -0
  9. package/esm2022/lib/audio/context.mjs +79 -0
  10. package/{esm2020 → esm2022}/lib/audio/dsp/level_measure.mjs +515 -515
  11. package/{esm2020 → esm2022}/lib/audio/format.mjs +16 -16
  12. package/esm2022/lib/audio/impl/wavformat.mjs +6 -0
  13. package/{esm2020 → esm2022}/lib/audio/impl/wavreader.mjs +133 -133
  14. package/esm2022/lib/audio/impl/wavwriter.mjs +105 -0
  15. package/esm2022/lib/audio/inddb_audio_buffer.mjs +508 -0
  16. package/{esm2020 → esm2022}/lib/audio/io/stream.mjs +58 -58
  17. package/esm2022/lib/audio/net_audio_buffer.mjs +293 -0
  18. package/{esm2020 → esm2022}/lib/audio/persistor.mjs +80 -80
  19. package/{esm2020 → esm2022}/lib/audio/playback/array_audio_buffer_source_node.mjs +125 -125
  20. package/esm2022/lib/audio/playback/audio_source_node.mjs +18 -0
  21. package/esm2022/lib/audio/playback/audio_source_worklet_module_loader.mjs +167 -0
  22. package/{esm2020 → esm2022}/lib/audio/playback/inddb_audio_buffer_source_node.mjs +166 -166
  23. package/{esm2020 → esm2022}/lib/audio/playback/net_audio_buffer_source_node.mjs +217 -217
  24. package/esm2022/lib/audio/playback/player.mjs +402 -0
  25. package/esm2022/lib/audio/ui/audio_canvas_layer_comp.mjs +347 -0
  26. package/{esm2020 → esm2022}/lib/audio/ui/audio_display_control.mjs +65 -65
  27. package/{esm2020 → esm2022}/lib/audio/ui/audio_display_scroll_pane.mjs +139 -139
  28. package/{esm2020 → esm2022}/lib/audio/ui/audiosignal.mjs +524 -524
  29. package/{esm2020 → esm2022}/lib/audio/ui/common.mjs +18 -18
  30. package/esm2022/lib/audio/ui/container.mjs +414 -0
  31. package/{esm2020 → esm2022}/lib/audio/ui/livelevel.mjs +352 -352
  32. package/esm2022/lib/audio/ui/scroll_pane_horizontal.mjs +11 -0
  33. package/esm2022/lib/audio/ui/sonagram.mjs +900 -0
  34. package/esm2022/lib/db/inddb.mjs +120 -0
  35. package/esm2022/lib/dsp/utils.mjs +48 -0
  36. package/{esm2020 → esm2022}/lib/io/BinaryReader.mjs +84 -84
  37. package/esm2022/lib/io/BinaryWriter.mjs +74 -0
  38. package/{esm2020 → esm2022}/lib/io/stream.mjs +258 -258
  39. package/{esm2020 → esm2022}/lib/math/2d/geometry.mjs +27 -27
  40. package/esm2022/lib/math/complex.mjs +58 -0
  41. package/{esm2020 → esm2022}/lib/math/dft.mjs +195 -195
  42. package/{esm2020 → esm2022}/lib/media/utils.mjs +13 -13
  43. package/esm2022/lib/net/uploader.mjs +367 -0
  44. package/{esm2020 → esm2022}/lib/recorder_component.mjs +64 -64
  45. package/esm2022/lib/speechrecorder/project/project.mjs +49 -0
  46. package/esm2022/lib/speechrecorder/project/project.service.mjs +64 -0
  47. package/{esm2020 → esm2022}/lib/speechrecorder/recording.mjs +123 -123
  48. package/esm2022/lib/speechrecorder/recordings/basic_recording.service.mjs +218 -0
  49. package/esm2022/lib/speechrecorder/recordings/recordings.service.mjs +1014 -0
  50. package/{esm2020 → esm2022}/lib/speechrecorder/script/script.mjs +114 -114
  51. package/{esm2020 → esm2022}/lib/speechrecorder/script/script.service.mjs +47 -47
  52. package/esm2022/lib/speechrecorder/session/audiorecorder.mjs +1179 -0
  53. package/esm2022/lib/speechrecorder/session/basicrecorder.mjs +668 -0
  54. package/esm2022/lib/speechrecorder/session/controlpanel.mjs +416 -0
  55. package/{esm2020 → esm2022}/lib/speechrecorder/session/item.mjs +29 -29
  56. package/{esm2020 → esm2022}/lib/speechrecorder/session/progress.mjs +69 -69
  57. package/{esm2020 → esm2022}/lib/speechrecorder/session/prompting.mjs +571 -571
  58. package/{esm2020 → esm2022}/lib/speechrecorder/session/recorder_combi_pane.mjs +65 -65
  59. package/esm2022/lib/speechrecorder/session/recording_file_cache.mjs +195 -0
  60. package/{esm2020 → esm2022}/lib/speechrecorder/session/recording_list.mjs +103 -103
  61. package/{esm2020 → esm2022}/lib/speechrecorder/session/recordingfile/recording-file-meta.component.mjs +63 -63
  62. package/{esm2020 → esm2022}/lib/speechrecorder/session/recordingfile/recording-file-navi.component.mjs +51 -51
  63. package/{esm2020 → esm2022}/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.mjs +104 -104
  64. package/{esm2020 → esm2022}/lib/speechrecorder/session/recordingfile/recording-file-view.component.mjs +381 -381
  65. package/{esm2020 → esm2022}/lib/speechrecorder/session/recordingfile/recording-file.mjs +67 -67
  66. package/esm2022/lib/speechrecorder/session/recordingfile/recordingfile-service.mjs +288 -0
  67. package/{esm2020 → esm2022}/lib/speechrecorder/session/session.mjs +1 -1
  68. package/esm2022/lib/speechrecorder/session/session.service.mjs +69 -0
  69. package/{esm2020 → esm2022}/lib/speechrecorder/session/session_finished_dialog.mjs +29 -29
  70. package/esm2022/lib/speechrecorder/session/sessionmanager.mjs +1386 -0
  71. package/{esm2020 → esm2022}/lib/speechrecorder/session/warning_bar.mjs +28 -28
  72. package/{esm2020 → esm2022}/lib/speechrecorder/spruploader.mjs +22 -22
  73. package/{esm2020 → esm2022}/lib/speechrecorder/startstopsignal/startstopsignal.mjs +1 -1
  74. package/esm2022/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.mjs +57 -0
  75. package/{esm2020 → esm2022}/lib/speechrecorderng.component.mjs +388 -388
  76. package/{esm2020 → esm2022}/lib/speechrecorderng.module.mjs +100 -100
  77. package/{esm2020 → esm2022}/lib/spr.config.mjs +26 -26
  78. package/{esm2020 → esm2022}/lib/spr.module.version.mjs +2 -2
  79. package/{esm2020 → esm2022}/lib/ui/canvas_layer_comp.mjs +38 -38
  80. package/{esm2020 → esm2022}/lib/ui/message_dialog.mjs +30 -30
  81. package/esm2022/lib/ui/recordingitem_display.mjs +253 -0
  82. package/{esm2020 → esm2022}/lib/ui/responsive_component.mjs +24 -24
  83. package/{esm2020 → esm2022}/lib/utils/scrollIntoViewToBottom.mjs +23 -23
  84. package/esm2022/lib/utils/ua-parser.mjs +190 -0
  85. package/esm2022/lib/utils/utils.mjs +105 -0
  86. package/esm2022/lib/utils/wake_lock.mjs +114 -0
  87. package/{esm2020 → esm2022}/lib/utils/wake_lock_media.mjs +1 -1
  88. package/{esm2020 → esm2022}/public-api.mjs +33 -33
  89. package/{esm2020 → esm2022}/speechrecorderng.mjs +4 -4
  90. package/{fesm2020 → fesm2022}/speechrecorderng.mjs +16518 -16454
  91. package/fesm2022/speechrecorderng.mjs.map +1 -0
  92. package/index.d.ts +5 -5
  93. package/lib/action/action.d.ts +27 -27
  94. package/lib/audio/array_audio_buffer.d.ts +31 -31
  95. package/lib/audio/array_audio_buffer_input_stream.d.ts +14 -14
  96. package/lib/audio/array_audio_buffer_random_access_stream.d.ts +9 -9
  97. package/lib/audio/audio_data_holder.d.ts +84 -84
  98. package/lib/audio/audio_display.d.ts +36 -36
  99. package/lib/audio/audio_player.d.ts +47 -47
  100. package/lib/audio/capture/capture.d.ts +67 -67
  101. package/lib/audio/context.d.ts +6 -6
  102. package/lib/audio/dsp/level_measure.d.ts +60 -60
  103. package/lib/audio/format.d.ts +11 -11
  104. package/lib/audio/impl/wavformat.d.ts +5 -5
  105. package/lib/audio/impl/wavreader.d.ts +16 -16
  106. package/lib/audio/impl/wavwriter.d.ts +13 -13
  107. package/lib/audio/inddb_audio_buffer.d.ts +68 -68
  108. package/lib/audio/io/stream.d.ts +28 -28
  109. package/lib/audio/net_audio_buffer.d.ts +57 -57
  110. package/lib/audio/persistor.d.ts +29 -29
  111. package/lib/audio/playback/array_audio_buffer_source_node.d.ts +18 -18
  112. package/lib/audio/playback/audio_source_node.d.ts +10 -10
  113. package/lib/audio/playback/audio_source_worklet_module_loader.d.ts +4 -4
  114. package/lib/audio/playback/inddb_audio_buffer_source_node.d.ts +21 -21
  115. package/lib/audio/playback/net_audio_buffer_source_node.d.ts +27 -27
  116. package/lib/audio/playback/player.d.ts +65 -65
  117. package/lib/audio/ui/audio_canvas_layer_comp.d.ts +68 -68
  118. package/lib/audio/ui/audio_display_control.d.ts +25 -25
  119. package/lib/audio/ui/audio_display_scroll_pane.d.ts +26 -26
  120. package/lib/audio/ui/audiosignal.d.ts +30 -30
  121. package/lib/audio/ui/common.d.ts +11 -11
  122. package/lib/audio/ui/container.d.ts +63 -63
  123. package/lib/audio/ui/livelevel.d.ts +60 -60
  124. package/lib/audio/ui/scroll_pane_horizontal.d.ts +5 -5
  125. package/lib/audio/ui/sonagram.d.ts +37 -37
  126. package/lib/db/inddb.d.ts +21 -21
  127. package/lib/dsp/utils.d.ts +19 -19
  128. package/lib/io/BinaryReader.d.ts +18 -18
  129. package/lib/io/BinaryWriter.d.ts +15 -15
  130. package/lib/io/stream.d.ts +59 -59
  131. package/lib/math/2d/geometry.d.ts +18 -18
  132. package/lib/math/complex.d.ts +17 -17
  133. package/lib/math/dft.d.ts +22 -22
  134. package/lib/media/utils.d.ts +3 -3
  135. package/lib/net/uploader.d.ts +81 -81
  136. package/lib/recorder_component.d.ts +16 -16
  137. package/lib/speechrecorder/project/project.d.ts +59 -59
  138. package/lib/speechrecorder/project/project.service.d.ts +21 -21
  139. package/lib/speechrecorder/recording.d.ts +51 -51
  140. package/lib/speechrecorder/recordings/basic_recording.service.d.ts +27 -27
  141. package/lib/speechrecorder/recordings/recordings.service.d.ts +48 -48
  142. package/lib/speechrecorder/script/script.d.ts +80 -79
  143. package/lib/speechrecorder/script/script.service.d.ts +16 -16
  144. package/lib/speechrecorder/session/audiorecorder.d.ts +122 -122
  145. package/lib/speechrecorder/session/basicrecorder.d.ts +139 -139
  146. package/lib/speechrecorder/session/controlpanel.d.ts +109 -107
  147. package/lib/speechrecorder/session/item.d.ts +12 -12
  148. package/lib/speechrecorder/session/progress.d.ts +17 -17
  149. package/lib/speechrecorder/session/prompting.d.ts +121 -121
  150. package/lib/speechrecorder/session/recorder_combi_pane.d.ts +32 -32
  151. package/lib/speechrecorder/session/recording_file_cache.d.ts +33 -33
  152. package/lib/speechrecorder/session/recording_list.d.ts +24 -24
  153. package/lib/speechrecorder/session/recordingfile/recording-file-meta.component.d.ts +15 -15
  154. package/lib/speechrecorder/session/recordingfile/recording-file-navi.component.d.ts +20 -20
  155. package/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.d.ts +31 -31
  156. package/lib/speechrecorder/session/recordingfile/recording-file-view.component.d.ts +55 -55
  157. package/lib/speechrecorder/session/recordingfile/recording-file.d.ts +7 -7
  158. package/lib/speechrecorder/session/recordingfile/recordingfile-service.d.ts +24 -24
  159. package/lib/speechrecorder/session/session.d.ts +15 -15
  160. package/lib/speechrecorder/session/session.service.d.ts +20 -20
  161. package/lib/speechrecorder/session/session_finished_dialog.d.ts +10 -10
  162. package/lib/speechrecorder/session/sessionmanager.d.ts +129 -123
  163. package/lib/speechrecorder/session/warning_bar.d.ts +8 -8
  164. package/lib/speechrecorder/spruploader.d.ts +11 -11
  165. package/lib/speechrecorder/startstopsignal/startstopsignal.d.ts +10 -10
  166. package/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.d.ts +11 -11
  167. package/lib/speechrecorderng.component.d.ts +61 -61
  168. package/lib/speechrecorderng.module.d.ts +56 -56
  169. package/lib/spr.config.d.ts +17 -17
  170. package/lib/spr.module.version.d.ts +1 -1
  171. package/lib/ui/canvas_layer_comp.d.ts +13 -13
  172. package/lib/ui/message_dialog.d.ts +10 -10
  173. package/lib/ui/recordingitem_display.d.ts +84 -84
  174. package/lib/ui/responsive_component.d.ts +9 -9
  175. package/lib/utils/scrollIntoViewToBottom.d.ts +9 -9
  176. package/lib/utils/ua-parser.d.ts +43 -43
  177. package/lib/utils/utils.d.ts +19 -19
  178. package/lib/utils/wake_lock.d.ts +23 -23
  179. package/lib/utils/wake_lock_media.d.ts +1 -1
  180. package/package.json +17 -23
  181. package/public-api.d.ts +33 -33
  182. package/esm2020/lib/action/action.mjs +0 -73
  183. package/esm2020/lib/audio/audio_data_holder.mjs +0 -264
  184. package/esm2020/lib/audio/capture/capture.mjs +0 -855
  185. package/esm2020/lib/audio/context.mjs +0 -79
  186. package/esm2020/lib/audio/impl/wavformat.mjs +0 -6
  187. package/esm2020/lib/audio/impl/wavwriter.mjs +0 -105
  188. package/esm2020/lib/audio/inddb_audio_buffer.mjs +0 -508
  189. package/esm2020/lib/audio/net_audio_buffer.mjs +0 -293
  190. package/esm2020/lib/audio/playback/audio_source_node.mjs +0 -18
  191. package/esm2020/lib/audio/playback/audio_source_worklet_module_loader.mjs +0 -167
  192. package/esm2020/lib/audio/playback/player.mjs +0 -402
  193. package/esm2020/lib/audio/ui/audio_canvas_layer_comp.mjs +0 -347
  194. package/esm2020/lib/audio/ui/container.mjs +0 -414
  195. package/esm2020/lib/audio/ui/scroll_pane_horizontal.mjs +0 -11
  196. package/esm2020/lib/audio/ui/sonagram.mjs +0 -900
  197. package/esm2020/lib/db/inddb.mjs +0 -120
  198. package/esm2020/lib/dsp/utils.mjs +0 -48
  199. package/esm2020/lib/io/BinaryWriter.mjs +0 -74
  200. package/esm2020/lib/math/complex.mjs +0 -58
  201. package/esm2020/lib/net/uploader.mjs +0 -367
  202. package/esm2020/lib/speechrecorder/project/project.mjs +0 -49
  203. package/esm2020/lib/speechrecorder/project/project.service.mjs +0 -64
  204. package/esm2020/lib/speechrecorder/recordings/basic_recording.service.mjs +0 -216
  205. package/esm2020/lib/speechrecorder/recordings/recordings.service.mjs +0 -1014
  206. package/esm2020/lib/speechrecorder/session/audiorecorder.mjs +0 -1179
  207. package/esm2020/lib/speechrecorder/session/basicrecorder.mjs +0 -666
  208. package/esm2020/lib/speechrecorder/session/controlpanel.mjs +0 -409
  209. package/esm2020/lib/speechrecorder/session/recording_file_cache.mjs +0 -195
  210. package/esm2020/lib/speechrecorder/session/recordingfile/recordingfile-service.mjs +0 -288
  211. package/esm2020/lib/speechrecorder/session/session.service.mjs +0 -69
  212. package/esm2020/lib/speechrecorder/session/sessionmanager.mjs +0 -1333
  213. package/esm2020/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.mjs +0 -57
  214. package/esm2020/lib/ui/recordingitem_display.mjs +0 -253
  215. package/esm2020/lib/utils/ua-parser.mjs +0 -190
  216. package/esm2020/lib/utils/utils.mjs +0 -105
  217. package/esm2020/lib/utils/wake_lock.mjs +0 -114
  218. package/fesm2015/speechrecorderng.mjs +0 -17708
  219. package/fesm2015/speechrecorderng.mjs.map +0 -1
  220. package/fesm2020/speechrecorderng.mjs.map +0 -1
@@ -1,100 +1,100 @@
1
- import { NgModule } from '@angular/core';
2
- import { SpeechrecorderngComponent } from "./speechrecorderng.component";
3
- import { SimpleTrafficLight } from "./speechrecorder/startstopsignal/ui/simpletrafficlight";
4
- import { CommonModule } from "@angular/common";
5
- import { Progress } from "./speechrecorder/session/progress";
6
- import { PromptContainer, Prompter, Prompting, PromptingContainer, Recinstructions, } from "./speechrecorder/session/prompting";
7
- import { SessionManager } from "./speechrecorder/session/sessionmanager";
8
- import { WarningBar } from "./speechrecorder/session/warning_bar";
9
- import { ScrollIntoViewDirective } from "./utils/scrollIntoViewToBottom";
10
- import { MatButtonModule } from "@angular/material/button";
11
- import { MatDialogModule } from "@angular/material/dialog";
12
- import { MatIconModule } from "@angular/material/icon";
13
- import { MatProgressBarModule } from "@angular/material/progress-bar";
14
- import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
15
- import { MatTooltipModule } from "@angular/material/tooltip";
16
- import { HttpClientModule } from "@angular/common/http";
17
- import { SessionService } from "./speechrecorder/session/session.service";
18
- import { ScriptService } from "./speechrecorder/script/script.service";
19
- import { RouterModule } from "@angular/router";
20
- import { SPEECHRECORDER_CONFIG } from "./spr.config";
21
- import { SpeechRecorderUploader } from "./speechrecorder/spruploader";
22
- import { ProjectService } from "./speechrecorder/project/project.service";
23
- import { ControlPanel, ProgressDisplay, ReadyStateIndicator, StatusDisplay, TransportPanel, UploadStatus, WakeLockIndicator } from "./speechrecorder/session/controlpanel";
24
- //import {FlexLayoutModule} from "@angular/flex-layout";
25
- import { SessionFinishedDialog } from "./speechrecorder/session/session_finished_dialog";
26
- import { MessageDialog } from "./ui/message_dialog";
27
- import { RecordingItemControls, RecordingItemDisplay } from "./ui/recordingitem_display";
28
- import { RecordingService } from "./speechrecorder/recordings/recordings.service";
29
- import { ScrollPaneHorizontal } from "./audio/ui/scroll_pane_horizontal";
30
- import { AudioClipUIContainer } from "./audio/ui/container";
31
- import { AudioSignal } from "./audio/ui/audiosignal";
32
- import { Sonagram } from "./audio/ui/sonagram";
33
- import { AudioDisplayPlayer } from "./audio/audio_player";
34
- import { AudioDisplay } from "./audio/audio_display";
35
- import { AudioDisplayControl } from "./audio/ui/audio_display_control";
36
- import { LevelBar } from "./audio/ui/livelevel";
37
- import { AudioDisplayScrollPane } from "./audio/ui/audio_display_scroll_pane";
38
- import { MatCheckboxModule } from "@angular/material/checkbox";
39
- import { MatCardModule } from "@angular/material/card";
40
- import { MatDividerModule } from "@angular/material/divider";
41
- import { MatGridListModule } from "@angular/material/grid-list";
42
- import { RecordingFileUI } from "./speechrecorder/session/recordingfile/recording-file-u-i.component";
43
- import { RecordingFileService } from "./speechrecorder/session/recordingfile/recordingfile-service";
44
- import { RecordingFileViewComponent } from "./speechrecorder/session/recordingfile/recording-file-view.component";
45
- import { MatTableModule } from "@angular/material/table";
46
- import { RecordingFileNaviComponent } from './speechrecorder/session/recordingfile/recording-file-navi.component';
47
- import { RecordingFileMetaComponent } from "./speechrecorder/session/recordingfile/recording-file-meta.component";
48
- import { MatSelectModule } from "@angular/material/select";
49
- import { MatInputModule } from "@angular/material/input";
50
- import { MatSnackBarModule } from "@angular/material/snack-bar";
51
- import { AudioRecorder, AudioRecorderComponent } from "./speechrecorder/session/audiorecorder";
52
- import { RecordingList } from "./speechrecorder/session/recording_list";
53
- import { RecorderCombiPane } from "./speechrecorder/session/recorder_combi_pane";
54
- import { MatMenuModule } from "@angular/material/menu";
55
- import * as i0 from "@angular/core";
56
- import * as i1 from "@angular/router";
57
- export const SPR_ROUTES = [
58
- { path: 'spr/session/:id', component: SpeechrecorderngComponent },
59
- { path: 'recorder/session/:id', component: AudioRecorderComponent },
60
- { path: 'recorder', component: AudioRecorderComponent },
61
- { path: 'spr/db/project/:project/session/:sessionId/recordingfile/_view/:recordingFileId', component: RecordingFileViewComponent },
62
- { path: 'spr/db/project/:project/session/:sessionId/recordingfile/_edit/:recordingFileId', component: RecordingFileUI },
63
- { path: 'spr/db/project/:project/session/:sessionId/recordingfile/_view', component: RecordingFileViewComponent },
64
- { path: 'spr/db/project/:project/session/:sessionId/recordingfile/_edit', component: RecordingFileUI },
65
- { path: 'spr/db/project/:project/session/:sessionId/recordingfile/:recordingFileId', component: RecordingFileUI },
66
- { path: 'spr/db/project/:project/session/:sessionId/recordingfile', component: RecordingFileUI },
67
- { path: 'spr/db/recordingfile/_view/:recordingFileId', component: RecordingFileViewComponent },
68
- { path: 'spr/db/recordingfile/_edit/:recordingFileId', component: RecordingFileUI },
69
- { path: 'spr/db/recordingfile/_view/', component: RecordingFileViewComponent },
70
- { path: 'spr/db/recordingfile/_view', component: RecordingFileViewComponent },
71
- { path: 'spr/db/recordingfile/_edit', component: RecordingFileUI },
72
- { path: 'spr/db/recordingfile/:recordingFileId', component: RecordingFileUI },
73
- { path: 'spr/db/recordingfile', component: RecordingFileUI },
74
- { path: 'spr', component: SpeechrecorderngComponent }
75
- ];
76
- export class SpeechrecorderngModule {
77
- static forRoot(config) {
78
- return {
79
- ngModule: SpeechrecorderngModule,
80
- providers: [
81
- { provide: SPEECHRECORDER_CONFIG, useValue: config }
82
- ]
83
- };
84
- }
85
- }
86
- SpeechrecorderngModulefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpeechrecorderngModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
87
- SpeechrecorderngModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: SpeechrecorderngModule, declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
88
- ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, WakeLockIndicator, ReadyStateIndicator, ControlPanel, WarningBar, AudioRecorder, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, AudioRecorderComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent, RecordingList, RecorderCombiPane, AudioRecorder], imports: [i1.RouterModule, CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule, MatMenuModule], exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, AudioRecorder] });
89
- SpeechrecorderngModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpeechrecorderngModule, providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader], imports: [RouterModule.forChild(SPR_ROUTES), CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule, MatMenuModule] });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpeechrecorderngModule, decorators: [{
91
- type: NgModule,
92
- args: [{
93
- declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
94
- ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, WakeLockIndicator, ReadyStateIndicator, ControlPanel, WarningBar, AudioRecorder, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, AudioRecorderComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent, RecordingList, RecorderCombiPane, AudioRecorder],
95
- exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, AudioRecorder],
96
- imports: [RouterModule.forChild(SPR_ROUTES), CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule, MatMenuModule],
97
- providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader]
98
- }]
99
- }] });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNocmVjb3JkZXJuZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXJuZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFFMUYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsZUFBZSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxHQUMxRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDaEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGdCQUFnQixFQUFD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QUF5QixFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUMsYUFBYSxDQUFDO29CQUN0TSxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUMsYUFBYSxDQUFDO29CQUN4VixTQUFTLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsQ0FBQztpQkFDN0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTcGVlY2hyZWNvcmRlcm5nQ29tcG9uZW50fSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlcm5nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NpbXBsZVRyYWZmaWNMaWdodH0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc3RhcnRzdG9wc2lnbmFsL3VpL3NpbXBsZXRyYWZmaWNsaWdodFwiO1xyXG5cclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtQcm9ncmVzc30gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9wcm9ncmVzc1wiO1xyXG5pbXBvcnQge1xyXG4gIFByb21wdENvbnRhaW5lciwgUHJvbXB0ZXIsIFByb21wdGluZywgUHJvbXB0aW5nQ29udGFpbmVyLCBSZWNpbnN0cnVjdGlvbnMsXHJcbn0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9wcm9tcHRpbmdcIjtcclxuaW1wb3J0IHtTZXNzaW9uTWFuYWdlcn0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9zZXNzaW9ubWFuYWdlclwiO1xyXG5pbXBvcnQge1dhcm5pbmdCYXJ9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vd2FybmluZ19iYXJcIjtcclxuaW1wb3J0IHtTY3JvbGxJbnRvVmlld0RpcmVjdGl2ZX0gZnJvbSBcIi4vdXRpbHMvc2Nyb2xsSW50b1ZpZXdUb0JvdHRvbVwiO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhclwiO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lclwiO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHtIdHRwQ2xpZW50TW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHtTZXNzaW9uU2VydmljZX0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTY3JpcHRTZXJ2aWNlfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zY3JpcHQvc2NyaXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtSb3V0ZXJNb2R1bGUsIFJvdXRlc30gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge1NwZWVjaFJlY29yZGVyQ29uZmlnLCBTUEVFQ0hSRUNPUkRFUl9DT05GSUd9IGZyb20gXCIuL3Nwci5jb25maWdcIjtcclxuaW1wb3J0IHtTcGVlY2hSZWNvcmRlclVwbG9hZGVyfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zcHJ1cGxvYWRlclwiO1xyXG5pbXBvcnQge1Byb2plY3RTZXJ2aWNlfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9wcm9qZWN0L3Byb2plY3Quc2VydmljZVwiO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xQYW5lbCxcclxuICBQcm9ncmVzc0Rpc3BsYXksXHJcbiAgUmVhZHlTdGF0ZUluZGljYXRvcixcclxuICBTdGF0dXNEaXNwbGF5LFxyXG4gIFRyYW5zcG9ydFBhbmVsLFxyXG4gIFVwbG9hZFN0YXR1cywgV2FrZUxvY2tJbmRpY2F0b3JcclxufSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL2NvbnRyb2xwYW5lbFwiO1xyXG4vL2ltcG9ydCB7RmxleExheW91dE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2ZsZXgtbGF5b3V0XCI7XHJcbmltcG9ydCB7U2Vzc2lvbkZpbmlzaGVkRGlhbG9nfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3Nlc3Npb25fZmluaXNoZWRfZGlhbG9nXCI7XHJcbmltcG9ydCB7TWVzc2FnZURpYWxvZ30gZnJvbSBcIi4vdWkvbWVzc2FnZV9kaWFsb2dcIjtcclxuaW1wb3J0IHtSZWNvcmRpbmdJdGVtQ29udHJvbHMsIFJlY29yZGluZ0l0ZW1EaXNwbGF5fSBmcm9tIFwiLi91aS9yZWNvcmRpbmdpdGVtX2Rpc3BsYXlcIjtcclxuaW1wb3J0IHtSZWNvcmRpbmdTZXJ2aWNlfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9yZWNvcmRpbmdzL3JlY29yZGluZ3Muc2VydmljZVwiO1xyXG5pbXBvcnQge1Njcm9sbFBhbmVIb3Jpem9udGFsfSBmcm9tIFwiLi9hdWRpby91aS9zY3JvbGxfcGFuZV9ob3Jpem9udGFsXCI7XHJcbmltcG9ydCB7QXVkaW9DbGlwVUlDb250YWluZXJ9IGZyb20gXCIuL2F1ZGlvL3VpL2NvbnRhaW5lclwiO1xyXG5pbXBvcnQge0F1ZGlvU2lnbmFsfSBmcm9tIFwiLi9hdWRpby91aS9hdWRpb3NpZ25hbFwiO1xyXG5pbXBvcnQge1NvbmFncmFtfSBmcm9tIFwiLi9hdWRpby91aS9zb25hZ3JhbVwiO1xyXG5pbXBvcnQge0F1ZGlvRGlzcGxheVBsYXllcn0gZnJvbSBcIi4vYXVkaW8vYXVkaW9fcGxheWVyXCI7XHJcbmltcG9ydCB7QXVkaW9EaXNwbGF5fSBmcm9tIFwiLi9hdWRpby9hdWRpb19kaXNwbGF5XCI7XHJcbmltcG9ydCB7QXVkaW9EaXNwbGF5Q29udHJvbH0gZnJvbSBcIi4vYXVkaW8vdWkvYXVkaW9fZGlzcGxheV9jb250cm9sXCI7XHJcbmltcG9ydCB7TGV2ZWxCYXJ9IGZyb20gXCIuL2F1ZGlvL3VpL2xpdmVsZXZlbFwiO1xyXG5pbXBvcnQge0F1ZGlvRGlzcGxheVNjcm9sbFBhbmV9IGZyb20gXCIuL2F1ZGlvL3VpL2F1ZGlvX2Rpc3BsYXlfc2Nyb2xsX3BhbmVcIjtcclxuaW1wb3J0IHtNYXRDaGVja2JveE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XHJcbmltcG9ydCB7TWF0Q2FyZE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NhcmRcIjtcclxuaW1wb3J0IHtNYXREaXZpZGVyTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlclwiO1xyXG5pbXBvcnQge01hdEdyaWRMaXN0TW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZ3JpZC1saXN0XCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nRmlsZVVJfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3JlY29yZGluZ2ZpbGUvcmVjb3JkaW5nLWZpbGUtdS1pLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1JlY29yZGluZ0ZpbGVTZXJ2aWNlfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3JlY29yZGluZ2ZpbGUvcmVjb3JkaW5nZmlsZS1zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nRmlsZVZpZXdDb21wb25lbnR9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nZmlsZS9yZWNvcmRpbmctZmlsZS12aWV3LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge01hdFRhYmxlTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcclxuaW1wb3J0IHsgUmVjb3JkaW5nRmlsZU5hdmlDb21wb25lbnQgfSBmcm9tICcuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nZmlsZS9yZWNvcmRpbmctZmlsZS1uYXZpLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UmVjb3JkaW5nRmlsZU1ldGFDb21wb25lbnR9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nZmlsZS9yZWNvcmRpbmctZmlsZS1tZXRhLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge01hdFNlbGVjdE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xyXG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcclxuaW1wb3J0IHtNYXRTbmFja0Jhck1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhclwiO1xyXG5pbXBvcnQge0F1ZGlvUmVjb3JkZXIsIEF1ZGlvUmVjb3JkZXJDb21wb25lbnR9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vYXVkaW9yZWNvcmRlclwiO1xyXG5pbXBvcnQge1JlY29yZGluZ0xpc3R9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nX2xpc3RcIjtcclxuaW1wb3J0IHtSZWNvcmRlckNvbWJpUGFuZX0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9yZWNvcmRlcl9jb21iaV9wYW5lXCI7XHJcbmltcG9ydCB7TWF0TWVudU1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcclxuXHJcblxyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBTUFJfUk9VVEVTOiBSb3V0ZXMgPSBbXHJcbiAgeyBwYXRoOiAnc3ByL3Nlc3Npb24vOmlkJywgICAgICBjb21wb25lbnQ6IFNwZWVjaHJlY29yZGVybmdDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICdyZWNvcmRlci9zZXNzaW9uLzppZCcsICAgICAgY29tcG9uZW50OiBBdWRpb1JlY29yZGVyQ29tcG9uZW50fSxcclxuICB7IHBhdGg6ICdyZWNvcmRlcicsICAgICAgY29tcG9uZW50OiBBdWRpb1JlY29yZGVyQ29tcG9uZW50fSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcHJvamVjdC86cHJvamVjdC9zZXNzaW9uLzpzZXNzaW9uSWQvcmVjb3JkaW5nZmlsZS9fdmlldy86cmVjb3JkaW5nRmlsZUlkJywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVWaWV3Q29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3Byb2plY3QvOnByb2plY3Qvc2Vzc2lvbi86c2Vzc2lvbklkL3JlY29yZGluZ2ZpbGUvX2VkaXQvOnJlY29yZGluZ0ZpbGVJZCcsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVUkgfSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcHJvamVjdC86cHJvamVjdC9zZXNzaW9uLzpzZXNzaW9uSWQvcmVjb3JkaW5nZmlsZS9fdmlldycsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVmlld0NvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9wcm9qZWN0Lzpwcm9qZWN0L3Nlc3Npb24vOnNlc3Npb25JZC9yZWNvcmRpbmdmaWxlL19lZGl0JywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVVSSB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9wcm9qZWN0Lzpwcm9qZWN0L3Nlc3Npb24vOnNlc3Npb25JZC9yZWNvcmRpbmdmaWxlLzpyZWNvcmRpbmdGaWxlSWQnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVVJIH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3Byb2plY3QvOnByb2plY3Qvc2Vzc2lvbi86c2Vzc2lvbklkL3JlY29yZGluZ2ZpbGUnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVVJIH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3JlY29yZGluZ2ZpbGUvX3ZpZXcvOnJlY29yZGluZ0ZpbGVJZCcsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVmlld0NvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9yZWNvcmRpbmdmaWxlL19lZGl0LzpyZWNvcmRpbmdGaWxlSWQnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVVJIH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3JlY29yZGluZ2ZpbGUvX3ZpZXcvJywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVWaWV3Q29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3JlY29yZGluZ2ZpbGUvX3ZpZXcnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVZpZXdDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcmVjb3JkaW5nZmlsZS9fZWRpdCcsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVUkgfSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcmVjb3JkaW5nZmlsZS86cmVjb3JkaW5nRmlsZUlkJywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVVSSB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9yZWNvcmRpbmdmaWxlJywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVVSSB9LFxyXG4gIHsgcGF0aDogJ3NwcicsICAgICAgY29tcG9uZW50OiBTcGVlY2hyZWNvcmRlcm5nQ29tcG9uZW50IH1cclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtBdWRpb1NpZ25hbCwgU29uYWdyYW0sIFNjcm9sbFBhbmVIb3Jpem9udGFsLCBBdWRpb0NsaXBVSUNvbnRhaW5lciwgQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSwgQXVkaW9EaXNwbGF5LCBBdWRpb0Rpc3BsYXlQbGF5ZXIsIEF1ZGlvRGlzcGxheUNvbnRyb2wsIExldmVsQmFyLCBQcm9ncmVzcywgU2ltcGxlVHJhZmZpY0xpZ2h0LCBSZWNpbnN0cnVjdGlvbnMsIFByb21wdGVyLCBQcm9tcHRDb250YWluZXIsIFByb21wdGluZ0NvbnRhaW5lciwgUHJvbXB0aW5nLCBTdGF0dXNEaXNwbGF5LFxyXG4gICAgICAgIFByb2dyZXNzRGlzcGxheSwgUmVjb3JkaW5nSXRlbURpc3BsYXksIFJlY29yZGluZ0l0ZW1Db250cm9scywgVXBsb2FkU3RhdHVzLCBUcmFuc3BvcnRQYW5lbCwgV2FrZUxvY2tJbmRpY2F0b3IsUmVhZHlTdGF0ZUluZGljYXRvciwgQ29udHJvbFBhbmVsLCBXYXJuaW5nQmFyLCBBdWRpb1JlY29yZGVyLFNlc3Npb25NYW5hZ2VyLCBNZXNzYWdlRGlhbG9nLCBTZXNzaW9uRmluaXNoZWREaWFsb2csIFNwZWVjaHJlY29yZGVybmdDb21wb25lbnQsQXVkaW9SZWNvcmRlckNvbXBvbmVudCwgUmVjb3JkaW5nRmlsZVZpZXdDb21wb25lbnQsIFJlY29yZGluZ0ZpbGVVSSwgU2Nyb2xsSW50b1ZpZXdEaXJlY3RpdmUsIFJlY29yZGluZ0ZpbGVOYXZpQ29tcG9uZW50LCBSZWNvcmRpbmdGaWxlTWV0YUNvbXBvbmVudCxSZWNvcmRpbmdMaXN0LFJlY29yZGVyQ29tYmlQYW5lLEF1ZGlvUmVjb3JkZXJdLFxyXG4gICAgZXhwb3J0czogW01lc3NhZ2VEaWFsb2csIFNwZWVjaHJlY29yZGVybmdDb21wb25lbnQsIFNjcm9sbFBhbmVIb3Jpem9udGFsLCBBdWRpb0NsaXBVSUNvbnRhaW5lciwgQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSwgQXVkaW9EaXNwbGF5LCBBdWRpb0Rpc3BsYXlQbGF5ZXIsIEF1ZGlvRGlzcGxheUNvbnRyb2wsIExldmVsQmFyLEF1ZGlvUmVjb3JkZXJdLFxyXG4gICAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChTUFJfUk9VVEVTKSwgQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgSHR0cENsaWVudE1vZHVsZSwgTWF0Q2hlY2tib3hNb2R1bGUsIE1hdENhcmRNb2R1bGUsIE1hdERpdmlkZXJNb2R1bGUsIE1hdEdyaWRMaXN0TW9kdWxlLCBNYXRUYWJsZU1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE1hdFNlbGVjdE1vZHVsZSwgTWF0U25hY2tCYXJNb2R1bGUsTWF0TWVudU1vZHVsZV0sXHJcbiAgICBwcm92aWRlcnM6IFtTZXNzaW9uU2VydmljZSwgUHJvamVjdFNlcnZpY2UsIFNjcmlwdFNlcnZpY2UsIFJlY29yZGluZ1NlcnZpY2UsIFJlY29yZGluZ0ZpbGVTZXJ2aWNlLCBTcGVlY2hSZWNvcmRlclVwbG9hZGVyXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BlZWNocmVjb3JkZXJuZ01vZHVsZXtcclxuXHJcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBTcGVlY2hSZWNvcmRlckNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U3BlZWNocmVjb3JkZXJuZ01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IFNwZWVjaHJlY29yZGVybmdNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtwcm92aWRlOiBTUEVFQ0hSRUNPUkRFUl9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { NgModule } from '@angular/core';
2
+ import { SpeechrecorderngComponent } from "./speechrecorderng.component";
3
+ import { SimpleTrafficLight } from "./speechrecorder/startstopsignal/ui/simpletrafficlight";
4
+ import { CommonModule } from "@angular/common";
5
+ import { Progress } from "./speechrecorder/session/progress";
6
+ import { PromptContainer, Prompter, Prompting, PromptingContainer, Recinstructions, } from "./speechrecorder/session/prompting";
7
+ import { SessionManager } from "./speechrecorder/session/sessionmanager";
8
+ import { WarningBar } from "./speechrecorder/session/warning_bar";
9
+ import { ScrollIntoViewDirective } from "./utils/scrollIntoViewToBottom";
10
+ import { MatButtonModule } from "@angular/material/button";
11
+ import { MatDialogModule } from "@angular/material/dialog";
12
+ import { MatIconModule } from "@angular/material/icon";
13
+ import { MatProgressBarModule } from "@angular/material/progress-bar";
14
+ import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
15
+ import { MatTooltipModule } from "@angular/material/tooltip";
16
+ import { HttpClientModule } from "@angular/common/http";
17
+ import { SessionService } from "./speechrecorder/session/session.service";
18
+ import { ScriptService } from "./speechrecorder/script/script.service";
19
+ import { RouterModule } from "@angular/router";
20
+ import { SPEECHRECORDER_CONFIG } from "./spr.config";
21
+ import { SpeechRecorderUploader } from "./speechrecorder/spruploader";
22
+ import { ProjectService } from "./speechrecorder/project/project.service";
23
+ import { ControlPanel, ProgressDisplay, ReadyStateIndicator, StatusDisplay, TransportPanel, UploadStatus, WakeLockIndicator } from "./speechrecorder/session/controlpanel";
24
+ //import {FlexLayoutModule} from "@angular/flex-layout";
25
+ import { SessionFinishedDialog } from "./speechrecorder/session/session_finished_dialog";
26
+ import { MessageDialog } from "./ui/message_dialog";
27
+ import { RecordingItemControls, RecordingItemDisplay } from "./ui/recordingitem_display";
28
+ import { RecordingService } from "./speechrecorder/recordings/recordings.service";
29
+ import { ScrollPaneHorizontal } from "./audio/ui/scroll_pane_horizontal";
30
+ import { AudioClipUIContainer } from "./audio/ui/container";
31
+ import { AudioSignal } from "./audio/ui/audiosignal";
32
+ import { Sonagram } from "./audio/ui/sonagram";
33
+ import { AudioDisplayPlayer } from "./audio/audio_player";
34
+ import { AudioDisplay } from "./audio/audio_display";
35
+ import { AudioDisplayControl } from "./audio/ui/audio_display_control";
36
+ import { LevelBar } from "./audio/ui/livelevel";
37
+ import { AudioDisplayScrollPane } from "./audio/ui/audio_display_scroll_pane";
38
+ import { MatCheckboxModule } from "@angular/material/checkbox";
39
+ import { MatCardModule } from "@angular/material/card";
40
+ import { MatDividerModule } from "@angular/material/divider";
41
+ import { MatGridListModule } from "@angular/material/grid-list";
42
+ import { RecordingFileUI } from "./speechrecorder/session/recordingfile/recording-file-u-i.component";
43
+ import { RecordingFileService } from "./speechrecorder/session/recordingfile/recordingfile-service";
44
+ import { RecordingFileViewComponent } from "./speechrecorder/session/recordingfile/recording-file-view.component";
45
+ import { MatTableModule } from "@angular/material/table";
46
+ import { RecordingFileNaviComponent } from './speechrecorder/session/recordingfile/recording-file-navi.component';
47
+ import { RecordingFileMetaComponent } from "./speechrecorder/session/recordingfile/recording-file-meta.component";
48
+ import { MatSelectModule } from "@angular/material/select";
49
+ import { MatInputModule } from "@angular/material/input";
50
+ import { MatSnackBarModule } from "@angular/material/snack-bar";
51
+ import { AudioRecorder, AudioRecorderComponent } from "./speechrecorder/session/audiorecorder";
52
+ import { RecordingList } from "./speechrecorder/session/recording_list";
53
+ import { RecorderCombiPane } from "./speechrecorder/session/recorder_combi_pane";
54
+ import { MatMenuModule } from "@angular/material/menu";
55
+ import * as i0 from "@angular/core";
56
+ import * as i1 from "@angular/router";
57
+ export const SPR_ROUTES = [
58
+ { path: 'spr/session/:id', component: SpeechrecorderngComponent },
59
+ { path: 'recorder/session/:id', component: AudioRecorderComponent },
60
+ { path: 'recorder', component: AudioRecorderComponent },
61
+ { path: 'spr/db/project/:project/session/:sessionId/recordingfile/_view/:recordingFileId', component: RecordingFileViewComponent },
62
+ { path: 'spr/db/project/:project/session/:sessionId/recordingfile/_edit/:recordingFileId', component: RecordingFileUI },
63
+ { path: 'spr/db/project/:project/session/:sessionId/recordingfile/_view', component: RecordingFileViewComponent },
64
+ { path: 'spr/db/project/:project/session/:sessionId/recordingfile/_edit', component: RecordingFileUI },
65
+ { path: 'spr/db/project/:project/session/:sessionId/recordingfile/:recordingFileId', component: RecordingFileUI },
66
+ { path: 'spr/db/project/:project/session/:sessionId/recordingfile', component: RecordingFileUI },
67
+ { path: 'spr/db/recordingfile/_view/:recordingFileId', component: RecordingFileViewComponent },
68
+ { path: 'spr/db/recordingfile/_edit/:recordingFileId', component: RecordingFileUI },
69
+ { path: 'spr/db/recordingfile/_view/', component: RecordingFileViewComponent },
70
+ { path: 'spr/db/recordingfile/_view', component: RecordingFileViewComponent },
71
+ { path: 'spr/db/recordingfile/_edit', component: RecordingFileUI },
72
+ { path: 'spr/db/recordingfile/:recordingFileId', component: RecordingFileUI },
73
+ { path: 'spr/db/recordingfile', component: RecordingFileUI },
74
+ { path: 'spr', component: SpeechrecorderngComponent }
75
+ ];
76
+ export class SpeechrecorderngModule {
77
+ static forRoot(config) {
78
+ return {
79
+ ngModule: SpeechrecorderngModule,
80
+ providers: [
81
+ { provide: SPEECHRECORDER_CONFIG, useValue: config }
82
+ ]
83
+ };
84
+ }
85
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SpeechrecorderngModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
86
+ static { thismod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: SpeechrecorderngModule, declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
87
+ ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, WakeLockIndicator, ReadyStateIndicator, ControlPanel, WarningBar, AudioRecorder, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, AudioRecorderComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent, RecordingList, RecorderCombiPane, AudioRecorder], imports: [i1.RouterModule, CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule, MatMenuModule], exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, AudioRecorder] }); }
88
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SpeechrecorderngModule, providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader], imports: [RouterModule.forChild(SPR_ROUTES), CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule, MatMenuModule] }); }
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SpeechrecorderngModule, decorators: [{
91
+ type: NgModule,
92
+ args: [{
93
+ declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
94
+ ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, WakeLockIndicator, ReadyStateIndicator, ControlPanel, WarningBar, AudioRecorder, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, AudioRecorderComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent, RecordingList, RecorderCombiPane, AudioRecorder],
95
+ exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, AudioRecorder],
96
+ imports: [RouterModule.forChild(SPR_ROUTES), CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule, MatMenuModule],
97
+ providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader]
98
+ }]
99
+ }] });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNocmVjb3JkZXJuZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXJuZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFFMUYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsZUFBZSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxHQUMxRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDaEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGdCQUFnQixFQUFD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QUF5QixFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUMsYUFBYSxDQUFDO29CQUN0TSxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUMsYUFBYSxDQUFDO29CQUN4VixTQUFTLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsQ0FBQztpQkFDN0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTcGVlY2hyZWNvcmRlcm5nQ29tcG9uZW50fSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlcm5nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NpbXBsZVRyYWZmaWNMaWdodH0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc3RhcnRzdG9wc2lnbmFsL3VpL3NpbXBsZXRyYWZmaWNsaWdodFwiO1xyXG5cclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtQcm9ncmVzc30gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9wcm9ncmVzc1wiO1xyXG5pbXBvcnQge1xyXG4gIFByb21wdENvbnRhaW5lciwgUHJvbXB0ZXIsIFByb21wdGluZywgUHJvbXB0aW5nQ29udGFpbmVyLCBSZWNpbnN0cnVjdGlvbnMsXHJcbn0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9wcm9tcHRpbmdcIjtcclxuaW1wb3J0IHtTZXNzaW9uTWFuYWdlcn0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9zZXNzaW9ubWFuYWdlclwiO1xyXG5pbXBvcnQge1dhcm5pbmdCYXJ9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vd2FybmluZ19iYXJcIjtcclxuaW1wb3J0IHtTY3JvbGxJbnRvVmlld0RpcmVjdGl2ZX0gZnJvbSBcIi4vdXRpbHMvc2Nyb2xsSW50b1ZpZXdUb0JvdHRvbVwiO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhclwiO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lclwiO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHtIdHRwQ2xpZW50TW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHtTZXNzaW9uU2VydmljZX0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTY3JpcHRTZXJ2aWNlfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zY3JpcHQvc2NyaXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtSb3V0ZXJNb2R1bGUsIFJvdXRlc30gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge1NwZWVjaFJlY29yZGVyQ29uZmlnLCBTUEVFQ0hSRUNPUkRFUl9DT05GSUd9IGZyb20gXCIuL3Nwci5jb25maWdcIjtcclxuaW1wb3J0IHtTcGVlY2hSZWNvcmRlclVwbG9hZGVyfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zcHJ1cGxvYWRlclwiO1xyXG5pbXBvcnQge1Byb2plY3RTZXJ2aWNlfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9wcm9qZWN0L3Byb2plY3Quc2VydmljZVwiO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xQYW5lbCxcclxuICBQcm9ncmVzc0Rpc3BsYXksXHJcbiAgUmVhZHlTdGF0ZUluZGljYXRvcixcclxuICBTdGF0dXNEaXNwbGF5LFxyXG4gIFRyYW5zcG9ydFBhbmVsLFxyXG4gIFVwbG9hZFN0YXR1cywgV2FrZUxvY2tJbmRpY2F0b3JcclxufSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL2NvbnRyb2xwYW5lbFwiO1xyXG4vL2ltcG9ydCB7RmxleExheW91dE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2ZsZXgtbGF5b3V0XCI7XHJcbmltcG9ydCB7U2Vzc2lvbkZpbmlzaGVkRGlhbG9nfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3Nlc3Npb25fZmluaXNoZWRfZGlhbG9nXCI7XHJcbmltcG9ydCB7TWVzc2FnZURpYWxvZ30gZnJvbSBcIi4vdWkvbWVzc2FnZV9kaWFsb2dcIjtcclxuaW1wb3J0IHtSZWNvcmRpbmdJdGVtQ29udHJvbHMsIFJlY29yZGluZ0l0ZW1EaXNwbGF5fSBmcm9tIFwiLi91aS9yZWNvcmRpbmdpdGVtX2Rpc3BsYXlcIjtcclxuaW1wb3J0IHtSZWNvcmRpbmdTZXJ2aWNlfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9yZWNvcmRpbmdzL3JlY29yZGluZ3Muc2VydmljZVwiO1xyXG5pbXBvcnQge1Njcm9sbFBhbmVIb3Jpem9udGFsfSBmcm9tIFwiLi9hdWRpby91aS9zY3JvbGxfcGFuZV9ob3Jpem9udGFsXCI7XHJcbmltcG9ydCB7QXVkaW9DbGlwVUlDb250YWluZXJ9IGZyb20gXCIuL2F1ZGlvL3VpL2NvbnRhaW5lclwiO1xyXG5pbXBvcnQge0F1ZGlvU2lnbmFsfSBmcm9tIFwiLi9hdWRpby91aS9hdWRpb3NpZ25hbFwiO1xyXG5pbXBvcnQge1NvbmFncmFtfSBmcm9tIFwiLi9hdWRpby91aS9zb25hZ3JhbVwiO1xyXG5pbXBvcnQge0F1ZGlvRGlzcGxheVBsYXllcn0gZnJvbSBcIi4vYXVkaW8vYXVkaW9fcGxheWVyXCI7XHJcbmltcG9ydCB7QXVkaW9EaXNwbGF5fSBmcm9tIFwiLi9hdWRpby9hdWRpb19kaXNwbGF5XCI7XHJcbmltcG9ydCB7QXVkaW9EaXNwbGF5Q29udHJvbH0gZnJvbSBcIi4vYXVkaW8vdWkvYXVkaW9fZGlzcGxheV9jb250cm9sXCI7XHJcbmltcG9ydCB7TGV2ZWxCYXJ9IGZyb20gXCIuL2F1ZGlvL3VpL2xpdmVsZXZlbFwiO1xyXG5pbXBvcnQge0F1ZGlvRGlzcGxheVNjcm9sbFBhbmV9IGZyb20gXCIuL2F1ZGlvL3VpL2F1ZGlvX2Rpc3BsYXlfc2Nyb2xsX3BhbmVcIjtcclxuaW1wb3J0IHtNYXRDaGVja2JveE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XHJcbmltcG9ydCB7TWF0Q2FyZE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NhcmRcIjtcclxuaW1wb3J0IHtNYXREaXZpZGVyTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlclwiO1xyXG5pbXBvcnQge01hdEdyaWRMaXN0TW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZ3JpZC1saXN0XCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nRmlsZVVJfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3JlY29yZGluZ2ZpbGUvcmVjb3JkaW5nLWZpbGUtdS1pLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1JlY29yZGluZ0ZpbGVTZXJ2aWNlfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3JlY29yZGluZ2ZpbGUvcmVjb3JkaW5nZmlsZS1zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nRmlsZVZpZXdDb21wb25lbnR9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nZmlsZS9yZWNvcmRpbmctZmlsZS12aWV3LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge01hdFRhYmxlTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcclxuaW1wb3J0IHsgUmVjb3JkaW5nRmlsZU5hdmlDb21wb25lbnQgfSBmcm9tICcuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nZmlsZS9yZWNvcmRpbmctZmlsZS1uYXZpLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UmVjb3JkaW5nRmlsZU1ldGFDb21wb25lbnR9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nZmlsZS9yZWNvcmRpbmctZmlsZS1tZXRhLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge01hdFNlbGVjdE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xyXG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcclxuaW1wb3J0IHtNYXRTbmFja0Jhck1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhclwiO1xyXG5pbXBvcnQge0F1ZGlvUmVjb3JkZXIsIEF1ZGlvUmVjb3JkZXJDb21wb25lbnR9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vYXVkaW9yZWNvcmRlclwiO1xyXG5pbXBvcnQge1JlY29yZGluZ0xpc3R9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nX2xpc3RcIjtcclxuaW1wb3J0IHtSZWNvcmRlckNvbWJpUGFuZX0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9yZWNvcmRlcl9jb21iaV9wYW5lXCI7XHJcbmltcG9ydCB7TWF0TWVudU1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcclxuXHJcblxyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBTUFJfUk9VVEVTOiBSb3V0ZXMgPSBbXHJcbiAgeyBwYXRoOiAnc3ByL3Nlc3Npb24vOmlkJywgICAgICBjb21wb25lbnQ6IFNwZWVjaHJlY29yZGVybmdDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICdyZWNvcmRlci9zZXNzaW9uLzppZCcsICAgICAgY29tcG9uZW50OiBBdWRpb1JlY29yZGVyQ29tcG9uZW50fSxcclxuICB7IHBhdGg6ICdyZWNvcmRlcicsICAgICAgY29tcG9uZW50OiBBdWRpb1JlY29yZGVyQ29tcG9uZW50fSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcHJvamVjdC86cHJvamVjdC9zZXNzaW9uLzpzZXNzaW9uSWQvcmVjb3JkaW5nZmlsZS9fdmlldy86cmVjb3JkaW5nRmlsZUlkJywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVWaWV3Q29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3Byb2plY3QvOnByb2plY3Qvc2Vzc2lvbi86c2Vzc2lvbklkL3JlY29yZGluZ2ZpbGUvX2VkaXQvOnJlY29yZGluZ0ZpbGVJZCcsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVUkgfSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcHJvamVjdC86cHJvamVjdC9zZXNzaW9uLzpzZXNzaW9uSWQvcmVjb3JkaW5nZmlsZS9fdmlldycsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVmlld0NvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9wcm9qZWN0Lzpwcm9qZWN0L3Nlc3Npb24vOnNlc3Npb25JZC9yZWNvcmRpbmdmaWxlL19lZGl0JywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVVSSB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9wcm9qZWN0Lzpwcm9qZWN0L3Nlc3Npb24vOnNlc3Npb25JZC9yZWNvcmRpbmdmaWxlLzpyZWNvcmRpbmdGaWxlSWQnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVVJIH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3Byb2plY3QvOnByb2plY3Qvc2Vzc2lvbi86c2Vzc2lvbklkL3JlY29yZGluZ2ZpbGUnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVVJIH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3JlY29yZGluZ2ZpbGUvX3ZpZXcvOnJlY29yZGluZ0ZpbGVJZCcsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVmlld0NvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9yZWNvcmRpbmdmaWxlL19lZGl0LzpyZWNvcmRpbmdGaWxlSWQnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVVJIH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3JlY29yZGluZ2ZpbGUvX3ZpZXcvJywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVWaWV3Q29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3JlY29yZGluZ2ZpbGUvX3ZpZXcnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVZpZXdDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcmVjb3JkaW5nZmlsZS9fZWRpdCcsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVUkgfSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcmVjb3JkaW5nZmlsZS86cmVjb3JkaW5nRmlsZUlkJywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVVSSB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9yZWNvcmRpbmdmaWxlJywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVVSSB9LFxyXG4gIHsgcGF0aDogJ3NwcicsICAgICAgY29tcG9uZW50OiBTcGVlY2hyZWNvcmRlcm5nQ29tcG9uZW50IH1cclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtBdWRpb1NpZ25hbCwgU29uYWdyYW0sIFNjcm9sbFBhbmVIb3Jpem9udGFsLCBBdWRpb0NsaXBVSUNvbnRhaW5lciwgQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSwgQXVkaW9EaXNwbGF5LCBBdWRpb0Rpc3BsYXlQbGF5ZXIsIEF1ZGlvRGlzcGxheUNvbnRyb2wsIExldmVsQmFyLCBQcm9ncmVzcywgU2ltcGxlVHJhZmZpY0xpZ2h0LCBSZWNpbnN0cnVjdGlvbnMsIFByb21wdGVyLCBQcm9tcHRDb250YWluZXIsIFByb21wdGluZ0NvbnRhaW5lciwgUHJvbXB0aW5nLCBTdGF0dXNEaXNwbGF5LFxyXG4gICAgICAgIFByb2dyZXNzRGlzcGxheSwgUmVjb3JkaW5nSXRlbURpc3BsYXksIFJlY29yZGluZ0l0ZW1Db250cm9scywgVXBsb2FkU3RhdHVzLCBUcmFuc3BvcnRQYW5lbCwgV2FrZUxvY2tJbmRpY2F0b3IsUmVhZHlTdGF0ZUluZGljYXRvciwgQ29udHJvbFBhbmVsLCBXYXJuaW5nQmFyLCBBdWRpb1JlY29yZGVyLFNlc3Npb25NYW5hZ2VyLCBNZXNzYWdlRGlhbG9nLCBTZXNzaW9uRmluaXNoZWREaWFsb2csIFNwZWVjaHJlY29yZGVybmdDb21wb25lbnQsQXVkaW9SZWNvcmRlckNvbXBvbmVudCwgUmVjb3JkaW5nRmlsZVZpZXdDb21wb25lbnQsIFJlY29yZGluZ0ZpbGVVSSwgU2Nyb2xsSW50b1ZpZXdEaXJlY3RpdmUsIFJlY29yZGluZ0ZpbGVOYXZpQ29tcG9uZW50LCBSZWNvcmRpbmdGaWxlTWV0YUNvbXBvbmVudCxSZWNvcmRpbmdMaXN0LFJlY29yZGVyQ29tYmlQYW5lLEF1ZGlvUmVjb3JkZXJdLFxyXG4gICAgZXhwb3J0czogW01lc3NhZ2VEaWFsb2csIFNwZWVjaHJlY29yZGVybmdDb21wb25lbnQsIFNjcm9sbFBhbmVIb3Jpem9udGFsLCBBdWRpb0NsaXBVSUNvbnRhaW5lciwgQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSwgQXVkaW9EaXNwbGF5LCBBdWRpb0Rpc3BsYXlQbGF5ZXIsIEF1ZGlvRGlzcGxheUNvbnRyb2wsIExldmVsQmFyLEF1ZGlvUmVjb3JkZXJdLFxyXG4gICAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChTUFJfUk9VVEVTKSwgQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgSHR0cENsaWVudE1vZHVsZSwgTWF0Q2hlY2tib3hNb2R1bGUsIE1hdENhcmRNb2R1bGUsIE1hdERpdmlkZXJNb2R1bGUsIE1hdEdyaWRMaXN0TW9kdWxlLCBNYXRUYWJsZU1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE1hdFNlbGVjdE1vZHVsZSwgTWF0U25hY2tCYXJNb2R1bGUsTWF0TWVudU1vZHVsZV0sXHJcbiAgICBwcm92aWRlcnM6IFtTZXNzaW9uU2VydmljZSwgUHJvamVjdFNlcnZpY2UsIFNjcmlwdFNlcnZpY2UsIFJlY29yZGluZ1NlcnZpY2UsIFJlY29yZGluZ0ZpbGVTZXJ2aWNlLCBTcGVlY2hSZWNvcmRlclVwbG9hZGVyXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BlZWNocmVjb3JkZXJuZ01vZHVsZXtcclxuXHJcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBTcGVlY2hSZWNvcmRlckNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U3BlZWNocmVjb3JkZXJuZ01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IFNwZWVjaHJlY29yZGVybmdNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtwcm92aWRlOiBTUEVFQ0hSRUNPUkRFUl9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,26 +1,26 @@
1
- import { Injectable, InjectionToken } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export const SPEECHRECORDER_CONFIG = new InjectionToken('speechrecorder.config');
4
- export var ApiType;
5
- (function (ApiType) {
6
- ApiType[ApiType["NORMAL"] = 0] = "NORMAL";
7
- ApiType[ApiType["FILES"] = 1] = "FILES";
8
- })(ApiType || (ApiType = {}));
9
- export class SpeechRecorderConfig {
10
- constructor() {
11
- this.apiEndPoint = null;
12
- this.apiType = null;
13
- this.withCredentials = false;
14
- this.enableDownloadRecordings = false;
15
- this.enableUploadRecordings = true;
16
- this.apiEndPoint = null;
17
- this.apiType = null;
18
- this.withCredentials = false;
19
- }
20
- }
21
- SpeechRecorderConfigfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpeechRecorderConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
- SpeechRecorderConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpeechRecorderConfig });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpeechRecorderConfig, decorators: [{
24
- type: Injectable
25
- }], ctorParameters: function () { return []; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9zcHIuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUV6RCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBdUIsdUJBQXVCLENBQUMsQ0FBQztBQUd2RyxNQUFNLENBQU4sSUFBWSxPQUVYO0FBRkQsV0FBWSxPQUFPO0lBQ2pCLHlDQUFNLENBQUE7SUFBQyx1Q0FBSyxDQUFBO0FBQ2QsQ0FBQyxFQUZXLE9BQU8sS0FBUCxPQUFPLFFBRWxCO0FBRUQsTUFBTSxPQUFPLG9CQUFvQjtJQU0vQjtRQUxBLGdCQUFXLEdBQWlCLElBQUksQ0FBQztRQUNqQyxZQUFPLEdBQWtCLElBQUksQ0FBQztRQUM5QixvQkFBZSxHQUFXLEtBQUssQ0FBQztRQUNoQyw2QkFBd0IsR0FBVyxLQUFLLENBQUM7UUFDekMsMkJBQXNCLEdBQVcsSUFBSSxDQUFDO1FBRXBDLElBQUksQ0FBQyxXQUFXLEdBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxlQUFlLEdBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7O2tIQVZVLG9CQUFvQjtzSEFBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIEluamVjdGlvblRva2VufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNQRUVDSFJFQ09SREVSX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTcGVlY2hSZWNvcmRlckNvbmZpZz4oJ3NwZWVjaHJlY29yZGVyLmNvbmZpZycpO1xyXG5cclxuXHJcbmV4cG9ydCBlbnVtIEFwaVR5cGUge1xyXG4gIE5PUk1BTCxGSUxFU1xyXG59XHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNwZWVjaFJlY29yZGVyQ29uZmlne1xyXG4gIGFwaUVuZFBvaW50Pzogc3RyaW5nIHwgbnVsbD1udWxsO1xyXG4gIGFwaVR5cGU/OiBBcGlUeXBlIHwgbnVsbD1udWxsO1xyXG4gIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW49ZmFsc2U7XHJcbiAgZW5hYmxlRG93bmxvYWRSZWNvcmRpbmdzPzogYm9vbGVhbj1mYWxzZTtcclxuICBlbmFibGVVcGxvYWRSZWNvcmRpbmdzPzogYm9vbGVhbj10cnVlO1xyXG4gIGNvbnN0cnVjdG9yKCl7XHJcbiAgICB0aGlzLmFwaUVuZFBvaW50PW51bGw7XHJcbiAgICB0aGlzLmFwaVR5cGU9bnVsbDtcclxuICAgIHRoaXMud2l0aENyZWRlbnRpYWxzPWZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuIl19
1
+ import { Injectable, InjectionToken } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export const SPEECHRECORDER_CONFIG = new InjectionToken('speechrecorder.config');
4
+ export var ApiType;
5
+ (function (ApiType) {
6
+ ApiType[ApiType["NORMAL"] = 0] = "NORMAL";
7
+ ApiType[ApiType["FILES"] = 1] = "FILES";
8
+ })(ApiType || (ApiType = {}));
9
+ export class SpeechRecorderConfig {
10
+ constructor() {
11
+ this.apiEndPoint = null;
12
+ this.apiType = null;
13
+ this.withCredentials = false;
14
+ this.enableDownloadRecordings = false;
15
+ this.enableUploadRecordings = true;
16
+ this.apiEndPoint = null;
17
+ this.apiType = null;
18
+ this.withCredentials = false;
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SpeechRecorderConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SpeechRecorderConfig }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SpeechRecorderConfig, decorators: [{
24
+ type: Injectable
25
+ }], ctorParameters: () => [] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9zcHIuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUV6RCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBdUIsdUJBQXVCLENBQUMsQ0FBQztBQUd2RyxNQUFNLENBQU4sSUFBWSxPQUVYO0FBRkQsV0FBWSxPQUFPO0lBQ2pCLHlDQUFNLENBQUE7SUFBQyx1Q0FBSyxDQUFBO0FBQ2QsQ0FBQyxFQUZXLE9BQU8sS0FBUCxPQUFPLFFBRWxCO0FBRUQsTUFBTSxPQUFPLG9CQUFvQjtJQU0vQjtRQUxBLGdCQUFXLEdBQWlCLElBQUksQ0FBQztRQUNqQyxZQUFPLEdBQWtCLElBQUksQ0FBQztRQUM5QixvQkFBZSxHQUFXLEtBQUssQ0FBQztRQUNoQyw2QkFBd0IsR0FBVyxLQUFLLENBQUM7UUFDekMsMkJBQXNCLEdBQVcsSUFBSSxDQUFDO1FBRXBDLElBQUksQ0FBQyxXQUFXLEdBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxlQUFlLEdBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7OEdBVlUsb0JBQW9CO2tIQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIEluamVjdGlvblRva2VufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNQRUVDSFJFQ09SREVSX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTcGVlY2hSZWNvcmRlckNvbmZpZz4oJ3NwZWVjaHJlY29yZGVyLmNvbmZpZycpO1xyXG5cclxuXHJcbmV4cG9ydCBlbnVtIEFwaVR5cGUge1xyXG4gIE5PUk1BTCxGSUxFU1xyXG59XHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNwZWVjaFJlY29yZGVyQ29uZmlne1xyXG4gIGFwaUVuZFBvaW50Pzogc3RyaW5nIHwgbnVsbD1udWxsO1xyXG4gIGFwaVR5cGU/OiBBcGlUeXBlIHwgbnVsbD1udWxsO1xyXG4gIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW49ZmFsc2U7XHJcbiAgZW5hYmxlRG93bmxvYWRSZWNvcmRpbmdzPzogYm9vbGVhbj1mYWxzZTtcclxuICBlbmFibGVVcGxvYWRSZWNvcmRpbmdzPzogYm9vbGVhbj10cnVlO1xyXG4gIGNvbnN0cnVjdG9yKCl7XHJcbiAgICB0aGlzLmFwaUVuZFBvaW50PW51bGw7XHJcbiAgICB0aGlzLmFwaVR5cGU9bnVsbDtcclxuICAgIHRoaXMud2l0aENyZWRlbnRpYWxzPWZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuIl19
@@ -1,2 +1,2 @@
1
- export const VERSION = '3.6.0';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByLm1vZHVsZS52ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL3Nwci5tb2R1bGUudmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUMsT0FBTyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFZFUlNJT049JzMuNi4wJyJdfQ==
1
+ export const VERSION = '3.8.0';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByLm1vZHVsZS52ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL3Nwci5tb2R1bGUudmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUMsT0FBTyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFZFUlNJT049JzMuOC4wJyJdfQ==
@@ -1,38 +1,38 @@
1
- import { Position } from "../math/2d/geometry";
2
- import { Directive } from "@angular/core";
3
- import * as i0 from "@angular/core";
4
- export class CanvasLayerComponent {
5
- constructor() {
6
- this.bounds = null;
7
- // TODO make clear that first element is background canvas
8
- this.canvasLayers = new Array();
9
- }
10
- toXViewPortPixelPosition(virtualX) {
11
- let pixelPos = virtualX;
12
- if (this.bounds) {
13
- pixelPos = Math.round(virtualX - this.bounds.position.left);
14
- }
15
- return pixelPos;
16
- }
17
- toXVirtualPixelPosition(viewPortX) {
18
- let pixelPos = viewPortX;
19
- if (this.bounds) {
20
- pixelPos = Math.round(viewPortX + this.bounds.position.left);
21
- }
22
- return pixelPos;
23
- }
24
- toViewPortPosition(virtualPos) {
25
- if (this.bounds) {
26
- return new Position(virtualPos.left - this.bounds.position.left, virtualPos.top - this.bounds.position.top);
27
- }
28
- else {
29
- return virtualPos;
30
- }
31
- }
32
- }
33
- CanvasLayerComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CanvasLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
34
- CanvasLayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: CanvasLayerComponent, ngImport: i0 });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CanvasLayerComponent, decorators: [{
36
- type: Directive
37
- }], ctorParameters: function () { return []; } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzX2xheWVyX2NvbXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvdWkvY2FudmFzX2xheWVyX2NvbXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBc0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUcxQyxNQUFNLE9BQWdCLG9CQUFvQjtJQU14QztRQUpVLFdBQU0sR0FBZ0IsSUFBSSxDQUFDO1FBTW5DLDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFDLElBQUksS0FBSyxFQUFxQixDQUFDO0lBQ25ELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxRQUFlO1FBQ3RDLElBQUksUUFBUSxHQUFDLFFBQVEsQ0FBQztRQUNwQixJQUFHLElBQUksQ0FBQyxNQUFNLEVBQUM7WUFDWCxRQUFRLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0Q7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQsdUJBQXVCLENBQUMsU0FBZ0I7UUFDdEMsSUFBSSxRQUFRLEdBQUMsU0FBUyxDQUFDO1FBQ3ZCLElBQUcsSUFBSSxDQUFDLE1BQU0sRUFBQztZQUNiLFFBQVEsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxRDtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxVQUFtQjtRQUVwQyxJQUFHLElBQUksQ0FBQyxNQUFNLEVBQUM7WUFDYixPQUFPLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDeEc7YUFBSTtZQUNILE9BQU8sVUFBVSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQzs7a0hBbkNtQixvQkFBb0I7c0dBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQUR6QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQb3NpdGlvbixEaW1lbnNpb24sIFJlY3RhbmdsZX0gZnJvbSBcIi4uL21hdGgvMmQvZ2VvbWV0cnlcIjtcclxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2FudmFzTGF5ZXJDb21wb25lbnR7XHJcblxyXG4gIHByb3RlY3RlZCBib3VuZHM6UmVjdGFuZ2xlfG51bGw9bnVsbDtcclxuICBwcm90ZWN0ZWQgdmlydHVhbERpbWVuc2lvbiE6RGltZW5zaW9uO1xyXG4gIHByb3RlY3RlZCBjYW52YXNMYXllcnM6QXJyYXk8SFRNTENhbnZhc0VsZW1lbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcigpe1xyXG5cclxuICAgIC8vIFRPRE8gbWFrZSBjbGVhciB0aGF0IGZpcnN0IGVsZW1lbnQgaXMgYmFja2dyb3VuZCBjYW52YXNcclxuICAgIHRoaXMuY2FudmFzTGF5ZXJzPW5ldyBBcnJheTxIVE1MQ2FudmFzRWxlbWVudD4oKTtcclxuICB9XHJcblxyXG4gIHRvWFZpZXdQb3J0UGl4ZWxQb3NpdGlvbih2aXJ0dWFsWDpudW1iZXIpe1xyXG4gICAgbGV0IHBpeGVsUG9zPXZpcnR1YWxYO1xyXG4gICAgICBpZih0aGlzLmJvdW5kcyl7XHJcbiAgICAgICAgICBwaXhlbFBvcz1NYXRoLnJvdW5kKHZpcnR1YWxYLXRoaXMuYm91bmRzLnBvc2l0aW9uLmxlZnQpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBwaXhlbFBvcztcclxuICB9XHJcblxyXG4gIHRvWFZpcnR1YWxQaXhlbFBvc2l0aW9uKHZpZXdQb3J0WDpudW1iZXIpe1xyXG4gICAgbGV0IHBpeGVsUG9zPXZpZXdQb3J0WDtcclxuICAgIGlmKHRoaXMuYm91bmRzKXtcclxuICAgICAgcGl4ZWxQb3M9TWF0aC5yb3VuZCh2aWV3UG9ydFgrdGhpcy5ib3VuZHMucG9zaXRpb24ubGVmdCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGl4ZWxQb3M7XHJcbiAgfVxyXG5cclxuICB0b1ZpZXdQb3J0UG9zaXRpb24odmlydHVhbFBvczpQb3NpdGlvbik6UG9zaXRpb257XHJcblxyXG4gICAgaWYodGhpcy5ib3VuZHMpe1xyXG4gICAgICByZXR1cm4gbmV3IFBvc2l0aW9uKHZpcnR1YWxQb3MubGVmdC10aGlzLmJvdW5kcy5wb3NpdGlvbi5sZWZ0LHZpcnR1YWxQb3MudG9wLXRoaXMuYm91bmRzLnBvc2l0aW9uLnRvcCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIHZpcnR1YWxQb3M7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
1
+ import { Position } from "../math/2d/geometry";
2
+ import { Directive } from "@angular/core";
3
+ import * as i0 from "@angular/core";
4
+ export class CanvasLayerComponent {
5
+ constructor() {
6
+ this.bounds = null;
7
+ // TODO make clear that first element is background canvas
8
+ this.canvasLayers = new Array();
9
+ }
10
+ toXViewPortPixelPosition(virtualX) {
11
+ let pixelPos = virtualX;
12
+ if (this.bounds) {
13
+ pixelPos = Math.round(virtualX - this.bounds.position.left);
14
+ }
15
+ return pixelPos;
16
+ }
17
+ toXVirtualPixelPosition(viewPortX) {
18
+ let pixelPos = viewPortX;
19
+ if (this.bounds) {
20
+ pixelPos = Math.round(viewPortX + this.bounds.position.left);
21
+ }
22
+ return pixelPos;
23
+ }
24
+ toViewPortPosition(virtualPos) {
25
+ if (this.bounds) {
26
+ return new Position(virtualPos.left - this.bounds.position.left, virtualPos.top - this.bounds.position.top);
27
+ }
28
+ else {
29
+ return virtualPos;
30
+ }
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: CanvasLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
33
+ static { thisdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: CanvasLayerComponent, ngImport: i0 }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: CanvasLayerComponent, decorators: [{
36
+ type: Directive
37
+ }], ctorParameters: () => [] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzX2xheWVyX2NvbXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvdWkvY2FudmFzX2xheWVyX2NvbXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBc0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUcxQyxNQUFNLE9BQWdCLG9CQUFvQjtJQU14QztRQUpVLFdBQU0sR0FBZ0IsSUFBSSxDQUFDO1FBTW5DLDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFDLElBQUksS0FBSyxFQUFxQixDQUFDO0lBQ25ELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxRQUFlO1FBQ3RDLElBQUksUUFBUSxHQUFDLFFBQVEsQ0FBQztRQUNwQixJQUFHLElBQUksQ0FBQyxNQUFNLEVBQUM7WUFDWCxRQUFRLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0Q7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQsdUJBQXVCLENBQUMsU0FBZ0I7UUFDdEMsSUFBSSxRQUFRLEdBQUMsU0FBUyxDQUFDO1FBQ3ZCLElBQUcsSUFBSSxDQUFDLE1BQU0sRUFBQztZQUNiLFFBQVEsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxRDtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxVQUFtQjtRQUVwQyxJQUFHLElBQUksQ0FBQyxNQUFNLEVBQUM7WUFDYixPQUFPLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDeEc7YUFBSTtZQUNILE9BQU8sVUFBVSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQzs4R0FuQ21CLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUR6QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQb3NpdGlvbixEaW1lbnNpb24sIFJlY3RhbmdsZX0gZnJvbSBcIi4uL21hdGgvMmQvZ2VvbWV0cnlcIjtcclxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2FudmFzTGF5ZXJDb21wb25lbnR7XHJcblxyXG4gIHByb3RlY3RlZCBib3VuZHM6UmVjdGFuZ2xlfG51bGw9bnVsbDtcclxuICBwcm90ZWN0ZWQgdmlydHVhbERpbWVuc2lvbiE6RGltZW5zaW9uO1xyXG4gIHByb3RlY3RlZCBjYW52YXNMYXllcnM6QXJyYXk8SFRNTENhbnZhc0VsZW1lbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcigpe1xyXG5cclxuICAgIC8vIFRPRE8gbWFrZSBjbGVhciB0aGF0IGZpcnN0IGVsZW1lbnQgaXMgYmFja2dyb3VuZCBjYW52YXNcclxuICAgIHRoaXMuY2FudmFzTGF5ZXJzPW5ldyBBcnJheTxIVE1MQ2FudmFzRWxlbWVudD4oKTtcclxuICB9XHJcblxyXG4gIHRvWFZpZXdQb3J0UGl4ZWxQb3NpdGlvbih2aXJ0dWFsWDpudW1iZXIpe1xyXG4gICAgbGV0IHBpeGVsUG9zPXZpcnR1YWxYO1xyXG4gICAgICBpZih0aGlzLmJvdW5kcyl7XHJcbiAgICAgICAgICBwaXhlbFBvcz1NYXRoLnJvdW5kKHZpcnR1YWxYLXRoaXMuYm91bmRzLnBvc2l0aW9uLmxlZnQpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBwaXhlbFBvcztcclxuICB9XHJcblxyXG4gIHRvWFZpcnR1YWxQaXhlbFBvc2l0aW9uKHZpZXdQb3J0WDpudW1iZXIpe1xyXG4gICAgbGV0IHBpeGVsUG9zPXZpZXdQb3J0WDtcclxuICAgIGlmKHRoaXMuYm91bmRzKXtcclxuICAgICAgcGl4ZWxQb3M9TWF0aC5yb3VuZCh2aWV3UG9ydFgrdGhpcy5ib3VuZHMucG9zaXRpb24ubGVmdCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGl4ZWxQb3M7XHJcbiAgfVxyXG5cclxuICB0b1ZpZXdQb3J0UG9zaXRpb24odmlydHVhbFBvczpQb3NpdGlvbik6UG9zaXRpb257XHJcblxyXG4gICAgaWYodGhpcy5ib3VuZHMpe1xyXG4gICAgICByZXR1cm4gbmV3IFBvc2l0aW9uKHZpcnR1YWxQb3MubGVmdC10aGlzLmJvdW5kcy5wb3NpdGlvbi5sZWZ0LHZpcnR1YWxQb3MudG9wLXRoaXMuYm91bmRzLnBvc2l0aW9uLnRvcCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIHZpcnR1YWxQb3M7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
@@ -1,21 +1,20 @@
1
- import { Component, Inject } from "@angular/core";
2
- import { MAT_DIALOG_DATA } from "@angular/material/dialog";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/dialog";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/material/icon";
7
- import * as i4 from "@angular/material/button";
8
- export class MessageDialog {
9
- constructor(dialogRef, data) {
10
- this.dialogRef = dialogRef;
11
- this.data = data;
12
- }
13
- closeDialog() {
14
- this.dialogRef.close();
15
- }
16
- }
17
- MessageDialogfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MessageDialog, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
18
- MessageDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: MessageDialog, selector: "msg-dialog", ngImport: i0, template: `<h1 mat-dialog-title><mat-icon *ngIf="data.type==='error'" [style.color]="'red'">error</mat-icon>
1
+ import { Component, Inject } from "@angular/core";
2
+ import { MAT_DIALOG_DATA } from "@angular/material/dialog";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/dialog";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/material/icon";
7
+ import * as i4 from "@angular/material/button";
8
+ export class MessageDialog {
9
+ constructor(dialogRef, data) {
10
+ this.dialogRef = dialogRef;
11
+ this.data = data;
12
+ }
13
+ closeDialog() {
14
+ this.dialogRef.close();
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MessageDialog, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: MessageDialog, selector: "msg-dialog", ngImport: i0, template: `<h1 mat-dialog-title><mat-icon *ngIf="data.type==='error'" [style.color]="'red'">error</mat-icon>
19
18
  <mat-icon *ngIf="data.type==='warning'" [style.color]="'yellow'">warning</mat-icon>{{data.title}}</h1>
20
19
  <div mat-dialog-content>
21
20
 
@@ -26,11 +25,12 @@ MessageDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
26
25
  <div mat-dialog-actions>
27
26
  <button mat-button (click)="closeDialog()">OK</button>
28
27
  </div>
29
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", 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"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }] });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MessageDialog, decorators: [{
31
- type: Component,
32
- args: [{
33
- selector: 'msg-dialog',
28
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MessageDialog, decorators: [{
31
+ type: Component,
32
+ args: [{
33
+ selector: 'msg-dialog',
34
34
  template: `<h1 mat-dialog-title><mat-icon *ngIf="data.type==='error'" [style.color]="'red'">error</mat-icon>
35
35
  <mat-icon *ngIf="data.type==='warning'" [style.color]="'yellow'">warning</mat-icon>{{data.title}}</h1>
36
36
  <div mat-dialog-content>
@@ -42,10 +42,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
42
42
  <div mat-dialog-actions>
43
43
  <button mat-button (click)="closeDialog()">OK</button>
44
44
  </div>
45
- `
46
- }]
47
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
48
- type: Inject,
49
- args: [MAT_DIALOG_DATA]
50
- }] }]; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvdWkvbWVzc2FnZV9kaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBaUJ6RSxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUNTLFNBQXNDLEVBQ2IsSUFBUztRQURsQyxjQUFTLEdBQVQsU0FBUyxDQUE2QjtRQUNiLFNBQUksR0FBSixJQUFJLENBQUs7SUFBSSxDQUFDO0lBRWhELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7OzJHQVJVLGFBQWEsOENBSWQsZUFBZTsrRkFKZCxhQUFhLGtEQWJkOzs7Ozs7Ozs7OztHQVdUOzRGQUVVLGFBQWE7a0JBZnpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7R0FXVDtpQkFDRjs7MEJBS0ksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21zZy1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlOiBgPGgxIG1hdC1kaWFsb2ctdGl0bGU+PG1hdC1pY29uICpuZ0lmPVwiZGF0YS50eXBlPT09J2Vycm9yJ1wiIFtzdHlsZS5jb2xvcl09XCIncmVkJ1wiPmVycm9yPC9tYXQtaWNvbj5cclxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImRhdGEudHlwZT09PSd3YXJuaW5nJ1wiIFtzdHlsZS5jb2xvcl09XCIneWVsbG93J1wiPndhcm5pbmc8L21hdC1pY29uPnt7ZGF0YS50aXRsZX19PC9oMT5cclxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuXHJcbiAgICA8cD57e2RhdGEubXNnfX08L3A+XHJcbiAgICA8cD57e2RhdGEuYWR2aWNlfX08L3A+XHJcblxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJjbG9zZURpYWxvZygpXCI+T0s8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXNzYWdlRGlhbG9ne1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxNZXNzYWdlRGlhbG9nPixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55KSB7IH1cclxuXHJcbiAgY2xvc2VEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
45
+ `
46
+ }]
47
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
48
+ type: Inject,
49
+ args: [MAT_DIALOG_DATA]
50
+ }] }] });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvdWkvbWVzc2FnZV9kaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBaUJ6RSxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUNTLFNBQXNDLEVBQ2IsSUFBUztRQURsQyxjQUFTLEdBQVQsU0FBUyxDQUE2QjtRQUNiLFNBQUksR0FBSixJQUFJLENBQUs7SUFBSSxDQUFDO0lBRWhELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7OEdBUlUsYUFBYSw4Q0FJZCxlQUFlO2tHQUpkLGFBQWEsa0RBYmQ7Ozs7Ozs7Ozs7O0dBV1Q7OzJGQUVVLGFBQWE7a0JBZnpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7R0FXVDtpQkFDRjs7MEJBS0ksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21zZy1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlOiBgPGgxIG1hdC1kaWFsb2ctdGl0bGU+PG1hdC1pY29uICpuZ0lmPVwiZGF0YS50eXBlPT09J2Vycm9yJ1wiIFtzdHlsZS5jb2xvcl09XCIncmVkJ1wiPmVycm9yPC9tYXQtaWNvbj5cclxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImRhdGEudHlwZT09PSd3YXJuaW5nJ1wiIFtzdHlsZS5jb2xvcl09XCIneWVsbG93J1wiPndhcm5pbmc8L21hdC1pY29uPnt7ZGF0YS50aXRsZX19PC9oMT5cclxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuXHJcbiAgICA8cD57e2RhdGEubXNnfX08L3A+XHJcbiAgICA8cD57e2RhdGEuYWR2aWNlfX08L3A+XHJcblxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJjbG9zZURpYWxvZygpXCI+T0s8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXNzYWdlRGlhbG9ne1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxNZXNzYWdlRGlhbG9nPixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55KSB7IH1cclxuXHJcbiAgY2xvc2VEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19