@magmamath/students-features 1.7.9 → 1.7.10-rc.2

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 (154) hide show
  1. package/dist/commonjs/features/voice/constants.js +42 -3
  2. package/dist/commonjs/features/voice/constants.js.map +1 -1
  3. package/dist/commonjs/features/voice/helpers.js +67 -1
  4. package/dist/commonjs/features/voice/helpers.js.map +1 -1
  5. package/dist/commonjs/features/voice/index.js +77 -0
  6. package/dist/commonjs/features/voice/index.js.map +1 -1
  7. package/dist/commonjs/features/voice/playing/components/VoiceTranscriptContent.js +22 -9
  8. package/dist/commonjs/features/voice/playing/components/VoiceTranscriptContent.js.map +1 -1
  9. package/dist/commonjs/features/voice/playing/model/TranscriptionsDownloader.model.js +4 -27
  10. package/dist/commonjs/features/voice/playing/model/TranscriptionsDownloader.model.js.map +1 -1
  11. package/dist/commonjs/features/voice/recording/components/VoiceRecordWithTranscript.js +49 -0
  12. package/dist/commonjs/features/voice/recording/components/VoiceRecordWithTranscript.js.map +1 -0
  13. package/dist/commonjs/features/voice/recording/components/VoiceTranscriptPanel.js +253 -0
  14. package/dist/commonjs/features/voice/recording/components/VoiceTranscriptPanel.js.map +1 -0
  15. package/dist/commonjs/features/voice/recording/components/VoiceWaveform.js +93 -0
  16. package/dist/commonjs/features/voice/recording/components/VoiceWaveform.js.map +1 -0
  17. package/dist/commonjs/features/voice/recording/hooks/useTranscriptPanelAnimation.js +42 -0
  18. package/dist/commonjs/features/voice/recording/hooks/useTranscriptPanelAnimation.js.map +1 -0
  19. package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorder.js +17 -2
  20. package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorder.js.map +1 -1
  21. package/dist/commonjs/features/voice/recording/hooks/useVoiceWaveform.js +43 -0
  22. package/dist/commonjs/features/voice/recording/hooks/useVoiceWaveform.js.map +1 -0
  23. package/dist/commonjs/features/voice/recording/model/Recorder.model.js +3 -0
  24. package/dist/commonjs/features/voice/recording/model/Recorder.model.js.map +1 -1
  25. package/dist/commonjs/features/voice/recording/model/VoiceRecordWithTranscript.model.js +100 -0
  26. package/dist/commonjs/features/voice/recording/model/VoiceRecordWithTranscript.model.js.map +1 -0
  27. package/dist/commonjs/features/voice/recording/model/VoiceTranscriptPanel.model.js +115 -0
  28. package/dist/commonjs/features/voice/recording/model/VoiceTranscriptPanel.model.js.map +1 -0
  29. package/dist/commonjs/features/voice/transcript.helpers.js +36 -0
  30. package/dist/commonjs/features/voice/transcript.helpers.js.map +1 -0
  31. package/dist/commonjs/features/voice/types.js +11 -7
  32. package/dist/commonjs/features/voice/types.js.map +1 -1
  33. package/dist/module/features/voice/constants.js +41 -0
  34. package/dist/module/features/voice/constants.js.map +1 -1
  35. package/dist/module/features/voice/helpers.js +65 -1
  36. package/dist/module/features/voice/helpers.js.map +1 -1
  37. package/dist/module/features/voice/index.js +7 -0
  38. package/dist/module/features/voice/index.js.map +1 -1
  39. package/dist/module/features/voice/playing/components/VoiceTranscriptContent.js +20 -9
  40. package/dist/module/features/voice/playing/components/VoiceTranscriptContent.js.map +1 -1
  41. package/dist/module/features/voice/playing/model/TranscriptionsDownloader.model.js +4 -27
  42. package/dist/module/features/voice/playing/model/TranscriptionsDownloader.model.js.map +1 -1
  43. package/dist/module/features/voice/recording/components/VoiceRecordWithTranscript.js +43 -0
  44. package/dist/module/features/voice/recording/components/VoiceRecordWithTranscript.js.map +1 -0
  45. package/dist/module/features/voice/recording/components/VoiceTranscriptPanel.js +246 -0
  46. package/dist/module/features/voice/recording/components/VoiceTranscriptPanel.js.map +1 -0
  47. package/dist/module/features/voice/recording/components/VoiceWaveform.js +86 -0
  48. package/dist/module/features/voice/recording/components/VoiceWaveform.js.map +1 -0
  49. package/dist/module/features/voice/recording/hooks/useTranscriptPanelAnimation.js +37 -0
  50. package/dist/module/features/voice/recording/hooks/useTranscriptPanelAnimation.js.map +1 -0
  51. package/dist/module/features/voice/recording/hooks/useVoiceRecorder.js +20 -3
  52. package/dist/module/features/voice/recording/hooks/useVoiceRecorder.js.map +1 -1
  53. package/dist/module/features/voice/recording/hooks/useVoiceWaveform.js +38 -0
  54. package/dist/module/features/voice/recording/hooks/useVoiceWaveform.js.map +1 -0
  55. package/dist/module/features/voice/recording/model/Recorder.model.js +3 -0
  56. package/dist/module/features/voice/recording/model/Recorder.model.js.map +1 -1
  57. package/dist/module/features/voice/recording/model/VoiceRecordWithTranscript.model.js +95 -0
  58. package/dist/module/features/voice/recording/model/VoiceRecordWithTranscript.model.js.map +1 -0
  59. package/dist/module/features/voice/recording/model/VoiceTranscriptPanel.model.js +110 -0
  60. package/dist/module/features/voice/recording/model/VoiceTranscriptPanel.model.js.map +1 -0
  61. package/dist/module/features/voice/transcript.helpers.js +31 -0
  62. package/dist/module/features/voice/transcript.helpers.js.map +1 -0
  63. package/dist/module/features/voice/types.js +4 -6
  64. package/dist/module/features/voice/types.js.map +1 -1
  65. package/dist/typescript/commonjs/features/voice/__tests__/VoiceRecordWithTranscript.model.test.d.ts +2 -0
  66. package/dist/typescript/commonjs/features/voice/__tests__/VoiceRecordWithTranscript.model.test.d.ts.map +1 -0
  67. package/dist/typescript/commonjs/features/voice/__tests__/VoiceTranscriptPanel.model.test.d.ts +2 -0
  68. package/dist/typescript/commonjs/features/voice/__tests__/VoiceTranscriptPanel.model.test.d.ts.map +1 -0
  69. package/dist/typescript/commonjs/features/voice/constants.d.ts +34 -0
  70. package/dist/typescript/commonjs/features/voice/constants.d.ts.map +1 -1
  71. package/dist/typescript/commonjs/features/voice/helpers.d.ts +3 -0
  72. package/dist/typescript/commonjs/features/voice/helpers.d.ts.map +1 -1
  73. package/dist/typescript/commonjs/features/voice/index.d.ts +7 -0
  74. package/dist/typescript/commonjs/features/voice/index.d.ts.map +1 -1
  75. package/dist/typescript/commonjs/features/voice/playing/components/VoiceTranscriptContent.d.ts +3 -1
  76. package/dist/typescript/commonjs/features/voice/playing/components/VoiceTranscriptContent.d.ts.map +1 -1
  77. package/dist/typescript/commonjs/features/voice/playing/model/TranscriptionsDownloader.model.d.ts +2 -7
  78. package/dist/typescript/commonjs/features/voice/playing/model/TranscriptionsDownloader.model.d.ts.map +1 -1
  79. package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordWithTranscript.d.ts +13 -0
  80. package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordWithTranscript.d.ts.map +1 -0
  81. package/dist/typescript/commonjs/features/voice/recording/components/VoiceTranscriptPanel.d.ts +11 -0
  82. package/dist/typescript/commonjs/features/voice/recording/components/VoiceTranscriptPanel.d.ts.map +1 -0
  83. package/dist/typescript/commonjs/features/voice/recording/components/VoiceWaveform.d.ts +8 -0
  84. package/dist/typescript/commonjs/features/voice/recording/components/VoiceWaveform.d.ts.map +1 -0
  85. package/dist/typescript/commonjs/features/voice/recording/hooks/useTranscriptPanelAnimation.d.ts +18 -0
  86. package/dist/typescript/commonjs/features/voice/recording/hooks/useTranscriptPanelAnimation.d.ts.map +1 -0
  87. package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorder.d.ts.map +1 -1
  88. package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceWaveform.d.ts +7 -0
  89. package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceWaveform.d.ts.map +1 -0
  90. package/dist/typescript/commonjs/features/voice/recording/model/Recorder.model.d.ts +2 -0
  91. package/dist/typescript/commonjs/features/voice/recording/model/Recorder.model.d.ts.map +1 -1
  92. package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecordWithTranscript.model.d.ts +16 -0
  93. package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecordWithTranscript.model.d.ts.map +1 -0
  94. package/dist/typescript/commonjs/features/voice/recording/model/VoiceTranscriptPanel.model.d.ts +31 -0
  95. package/dist/typescript/commonjs/features/voice/recording/model/VoiceTranscriptPanel.model.d.ts.map +1 -0
  96. package/dist/typescript/commonjs/features/voice/transcript.helpers.d.ts +8 -0
  97. package/dist/typescript/commonjs/features/voice/transcript.helpers.d.ts.map +1 -0
  98. package/dist/typescript/commonjs/features/voice/types.d.ts +2 -5
  99. package/dist/typescript/commonjs/features/voice/types.d.ts.map +1 -1
  100. package/dist/typescript/module/features/voice/__tests__/VoiceRecordWithTranscript.model.test.d.ts +2 -0
  101. package/dist/typescript/module/features/voice/__tests__/VoiceRecordWithTranscript.model.test.d.ts.map +1 -0
  102. package/dist/typescript/module/features/voice/__tests__/VoiceTranscriptPanel.model.test.d.ts +2 -0
  103. package/dist/typescript/module/features/voice/__tests__/VoiceTranscriptPanel.model.test.d.ts.map +1 -0
  104. package/dist/typescript/module/features/voice/constants.d.ts +34 -0
  105. package/dist/typescript/module/features/voice/constants.d.ts.map +1 -1
  106. package/dist/typescript/module/features/voice/helpers.d.ts +3 -0
  107. package/dist/typescript/module/features/voice/helpers.d.ts.map +1 -1
  108. package/dist/typescript/module/features/voice/index.d.ts +7 -0
  109. package/dist/typescript/module/features/voice/index.d.ts.map +1 -1
  110. package/dist/typescript/module/features/voice/playing/components/VoiceTranscriptContent.d.ts +3 -1
  111. package/dist/typescript/module/features/voice/playing/components/VoiceTranscriptContent.d.ts.map +1 -1
  112. package/dist/typescript/module/features/voice/playing/model/TranscriptionsDownloader.model.d.ts +2 -7
  113. package/dist/typescript/module/features/voice/playing/model/TranscriptionsDownloader.model.d.ts.map +1 -1
  114. package/dist/typescript/module/features/voice/recording/components/VoiceRecordWithTranscript.d.ts +13 -0
  115. package/dist/typescript/module/features/voice/recording/components/VoiceRecordWithTranscript.d.ts.map +1 -0
  116. package/dist/typescript/module/features/voice/recording/components/VoiceTranscriptPanel.d.ts +11 -0
  117. package/dist/typescript/module/features/voice/recording/components/VoiceTranscriptPanel.d.ts.map +1 -0
  118. package/dist/typescript/module/features/voice/recording/components/VoiceWaveform.d.ts +8 -0
  119. package/dist/typescript/module/features/voice/recording/components/VoiceWaveform.d.ts.map +1 -0
  120. package/dist/typescript/module/features/voice/recording/hooks/useTranscriptPanelAnimation.d.ts +18 -0
  121. package/dist/typescript/module/features/voice/recording/hooks/useTranscriptPanelAnimation.d.ts.map +1 -0
  122. package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorder.d.ts.map +1 -1
  123. package/dist/typescript/module/features/voice/recording/hooks/useVoiceWaveform.d.ts +7 -0
  124. package/dist/typescript/module/features/voice/recording/hooks/useVoiceWaveform.d.ts.map +1 -0
  125. package/dist/typescript/module/features/voice/recording/model/Recorder.model.d.ts +2 -0
  126. package/dist/typescript/module/features/voice/recording/model/Recorder.model.d.ts.map +1 -1
  127. package/dist/typescript/module/features/voice/recording/model/VoiceRecordWithTranscript.model.d.ts +16 -0
  128. package/dist/typescript/module/features/voice/recording/model/VoiceRecordWithTranscript.model.d.ts.map +1 -0
  129. package/dist/typescript/module/features/voice/recording/model/VoiceTranscriptPanel.model.d.ts +31 -0
  130. package/dist/typescript/module/features/voice/recording/model/VoiceTranscriptPanel.model.d.ts.map +1 -0
  131. package/dist/typescript/module/features/voice/transcript.helpers.d.ts +8 -0
  132. package/dist/typescript/module/features/voice/transcript.helpers.d.ts.map +1 -0
  133. package/dist/typescript/module/features/voice/types.d.ts +2 -5
  134. package/dist/typescript/module/features/voice/types.d.ts.map +1 -1
  135. package/package.json +1 -1
  136. package/src/features/voice/__tests__/VoiceRecordWithTranscript.model.test.ts +228 -0
  137. package/src/features/voice/__tests__/VoiceTranscriptPanel.model.test.ts +237 -0
  138. package/src/features/voice/constants.ts +43 -0
  139. package/src/features/voice/helpers.ts +85 -1
  140. package/src/features/voice/index.ts +7 -0
  141. package/src/features/voice/playing/components/VoiceTranscriptContent.tsx +27 -8
  142. package/src/features/voice/playing/model/TranscriptionsDownloader.model.ts +8 -30
  143. package/src/features/voice/recording/components/VoiceRecordWithTranscript.tsx +52 -0
  144. package/src/features/voice/recording/components/VoiceTranscriptPanel.tsx +293 -0
  145. package/src/features/voice/recording/components/VoiceWaveform.tsx +102 -0
  146. package/src/features/voice/recording/hooks/useTranscriptPanelAnimation.ts +49 -0
  147. package/src/features/voice/recording/hooks/useVoiceRecorder.ts +26 -3
  148. package/src/features/voice/recording/hooks/useVoiceWaveform.ts +46 -0
  149. package/src/features/voice/recording/model/Recorder.model.ts +3 -0
  150. package/src/features/voice/recording/model/VoiceRecordWithTranscript.model.ts +104 -0
  151. package/src/features/voice/recording/model/VoiceTranscriptPanel.model.ts +131 -0
  152. package/src/features/voice/transcript.helpers.ts +37 -0
  153. package/src/features/voice/types.ts +5 -6
  154. package/src/i18n/.generated/schema.json +6 -5
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.VoiceRecorderState = exports.VOICE_RECORD_SHADOWS = exports.VOICE_RECORDER_MIN_DURATION_MS = exports.VOICE_RECORDER_MAX_DURATION_MS = exports.VOICE_RECORDER_CONTAINER_SIZES = exports.TRANSCRIPT_RETRY_INTERVAL_MS = exports.TRANSCRIPT_MAX_RETRIES = exports.NO_AUDIO_BE_MESSAGE = exports.DROPDOWN_MAX_CONTENT_HEIGHT = void 0;
6
+ exports.WEB_METERING_FFT_SIZE = exports.VoiceRecorderState = exports.VoicePanelPhase = exports.VOICE_WAVEFORM = exports.VOICE_TRANSCRIPT_PANEL = exports.VOICE_RECORD_SHADOWS = exports.VOICE_RECORDER_MIN_DURATION_MS = exports.VOICE_RECORDER_MAX_DURATION_MS = exports.VOICE_RECORDER_CONTAINER_SIZES = exports.TranscriptionStatus = exports.TRANSCRIPT_RETRY_INTERVAL_MS = exports.TRANSCRIPT_MAX_RETRIES = exports.NO_AUDIO_BE_MESSAGE = exports.METERING_UPDATE_INTERVAL_MS = exports.DROPDOWN_MAX_CONTENT_HEIGHT = void 0;
7
7
  const VOICE_RECORDER_CONTAINER_SIZES = exports.VOICE_RECORDER_CONTAINER_SIZES = {
8
8
  COLLAPSED: {
9
9
  default: 61,
@@ -26,10 +26,49 @@ const DROPDOWN_MAX_CONTENT_HEIGHT = exports.DROPDOWN_MAX_CONTENT_HEIGHT = 330;
26
26
  const TRANSCRIPT_RETRY_INTERVAL_MS = exports.TRANSCRIPT_RETRY_INTERVAL_MS = 4000;
27
27
  const TRANSCRIPT_MAX_RETRIES = exports.TRANSCRIPT_MAX_RETRIES = 15;
28
28
  const NO_AUDIO_BE_MESSAGE = exports.NO_AUDIO_BE_MESSAGE = 'No audio';
29
-
30
- //todo: remove native shadows from rn-ui and set from WEB for both platforms
29
+ let TranscriptionStatus = exports.TranscriptionStatus = /*#__PURE__*/function (TranscriptionStatus) {
30
+ TranscriptionStatus["PENDING"] = "pending";
31
+ TranscriptionStatus["COMPLETED"] = "completed";
32
+ TranscriptionStatus["FAILED"] = "failed";
33
+ return TranscriptionStatus;
34
+ }({}); //todo: remove native shadows from rn-ui and set from WEB for both platforms
31
35
  const VOICE_RECORD_SHADOWS = exports.VOICE_RECORD_SHADOWS = {
32
36
  default: '0 1px 3px 0 rgba(51, 51, 51, 0.10), 0 0 1px 0 rgba(51, 51, 51, 0.40)',
33
37
  advanced: '0 0 1px 0 rgba(51, 51, 51, 0.20), 0 3px 10px 0 rgba(51, 51, 51, 0.16)'
34
38
  };
39
+ let VoicePanelPhase = exports.VoicePanelPhase = /*#__PURE__*/function (VoicePanelPhase) {
40
+ VoicePanelPhase["RECORDING"] = "recording";
41
+ VoicePanelPhase["PROCESSING"] = "processing";
42
+ VoicePanelPhase["DONE"] = "done";
43
+ return VoicePanelPhase;
44
+ }({});
45
+ const VOICE_WAVEFORM = exports.VOICE_WAVEFORM = {
46
+ BAR_WIDTH: 3,
47
+ BAR_GAP: 3,
48
+ MIN_BAR_HEIGHT: 2,
49
+ HEIGHT: 40,
50
+ AMPLITUDE_PADDING: 12,
51
+ MIN_LEVEL: 0.04,
52
+ MIN_BARS: 16,
53
+ BUFFER_SIZE: 120,
54
+ SAMPLE_INTERVAL_MS: 80,
55
+ FADE_RATIO: 0.22,
56
+ METERING_FLOOR_DB: -60,
57
+ // Low-pass factor for bar levels: 1 = raw values, lower = smoother flow
58
+ LEVEL_SMOOTHING: 0.55
59
+ };
60
+
61
+ // expo-audio polls recorder status every 500ms by default — too coarse for a
62
+ // live waveform. The same cadence drives the web Audio API meter.
63
+ const METERING_UPDATE_INTERVAL_MS = exports.METERING_UPDATE_INTERVAL_MS = 100;
64
+ const WEB_METERING_FFT_SIZE = exports.WEB_METERING_FFT_SIZE = 1024;
65
+ const VOICE_TRANSCRIPT_PANEL = exports.VOICE_TRANSCRIPT_PANEL = {
66
+ WIDTH: 240,
67
+ WIDTH_DONE: 360,
68
+ TRANSCRIPT_MAX_HEIGHT: 200,
69
+ SCROLLBAR_WIDTH: 8,
70
+ // After a wrong answer the transcript fades out, lingers, then auto-dismisses
71
+ WRONG_ANSWER_DISMISS_DELAY_MS: 5000,
72
+ DIMMED_OPACITY: 0.4
73
+ };
35
74
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["VOICE_RECORDER_CONTAINER_SIZES","exports","COLLAPSED","default","advanced","EXPANDED","VOICE_RECORDER_MAX_DURATION_MS","VOICE_RECORDER_MIN_DURATION_MS","VoiceRecorderState","DROPDOWN_MAX_CONTENT_HEIGHT","TRANSCRIPT_RETRY_INTERVAL_MS","TRANSCRIPT_MAX_RETRIES","NO_AUDIO_BE_MESSAGE","VOICE_RECORD_SHADOWS"],"sourceRoot":"../../../../src","sources":["features/voice/constants.ts"],"mappings":";;;;;;AAAO,MAAMA,8BAA8B,GAAAC,OAAA,CAAAD,8BAAA,GAAG;EAC5CE,SAAS,EAAE;IACTC,OAAO,EAAE,EAAE;IACXC,QAAQ,EAAE;EACZ,CAAC;EACDC,QAAQ,EAAE;IACRF,OAAO,EAAE,GAAG;IACZC,QAAQ,EAAE;EACZ;AACF,CAAC;AACM,MAAME,8BAA8B,GAAAL,OAAA,CAAAK,8BAAA,GAAG,KAAK,EAAC;AAC7C,MAAMC,8BAA8B,GAAAN,OAAA,CAAAM,8BAAA,GAAG,GAAG;AAAA,IACrCC,kBAAkB,GAAAP,OAAA,CAAAO,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAKvB,MAAMC,2BAA2B,GAAAR,OAAA,CAAAQ,2BAAA,GAAG,GAAG;AACvC,MAAMC,4BAA4B,GAAAT,OAAA,CAAAS,4BAAA,GAAG,IAAI;AACzC,MAAMC,sBAAsB,GAAAV,OAAA,CAAAU,sBAAA,GAAG,EAAE;AACjC,MAAMC,mBAAmB,GAAAX,OAAA,CAAAW,mBAAA,GAAG,UAAU;;AAE7C;AACO,MAAMC,oBAAoB,GAAAZ,OAAA,CAAAY,oBAAA,GAAG;EAClCV,OAAO,EAAE,sEAAsE;EAC/EC,QAAQ,EAAE;AACZ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["VOICE_RECORDER_CONTAINER_SIZES","exports","COLLAPSED","default","advanced","EXPANDED","VOICE_RECORDER_MAX_DURATION_MS","VOICE_RECORDER_MIN_DURATION_MS","VoiceRecorderState","DROPDOWN_MAX_CONTENT_HEIGHT","TRANSCRIPT_RETRY_INTERVAL_MS","TRANSCRIPT_MAX_RETRIES","NO_AUDIO_BE_MESSAGE","TranscriptionStatus","VOICE_RECORD_SHADOWS","VoicePanelPhase","VOICE_WAVEFORM","BAR_WIDTH","BAR_GAP","MIN_BAR_HEIGHT","HEIGHT","AMPLITUDE_PADDING","MIN_LEVEL","MIN_BARS","BUFFER_SIZE","SAMPLE_INTERVAL_MS","FADE_RATIO","METERING_FLOOR_DB","LEVEL_SMOOTHING","METERING_UPDATE_INTERVAL_MS","WEB_METERING_FFT_SIZE","VOICE_TRANSCRIPT_PANEL","WIDTH","WIDTH_DONE","TRANSCRIPT_MAX_HEIGHT","SCROLLBAR_WIDTH","WRONG_ANSWER_DISMISS_DELAY_MS","DIMMED_OPACITY"],"sourceRoot":"../../../../src","sources":["features/voice/constants.ts"],"mappings":";;;;;;AAAO,MAAMA,8BAA8B,GAAAC,OAAA,CAAAD,8BAAA,GAAG;EAC5CE,SAAS,EAAE;IACTC,OAAO,EAAE,EAAE;IACXC,QAAQ,EAAE;EACZ,CAAC;EACDC,QAAQ,EAAE;IACRF,OAAO,EAAE,GAAG;IACZC,QAAQ,EAAE;EACZ;AACF,CAAC;AACM,MAAME,8BAA8B,GAAAL,OAAA,CAAAK,8BAAA,GAAG,KAAK,EAAC;AAC7C,MAAMC,8BAA8B,GAAAN,OAAA,CAAAM,8BAAA,GAAG,GAAG;AAAA,IACrCC,kBAAkB,GAAAP,OAAA,CAAAO,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAKvB,MAAMC,2BAA2B,GAAAR,OAAA,CAAAQ,2BAAA,GAAG,GAAG;AACvC,MAAMC,4BAA4B,GAAAT,OAAA,CAAAS,4BAAA,GAAG,IAAI;AACzC,MAAMC,sBAAsB,GAAAV,OAAA,CAAAU,sBAAA,GAAG,EAAE;AACjC,MAAMC,mBAAmB,GAAAX,OAAA,CAAAW,mBAAA,GAAG,UAAU;AAAA,IAEjCC,mBAAmB,GAAAZ,OAAA,CAAAY,mBAAA,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA,OAM/B;AACO,MAAMC,oBAAoB,GAAAb,OAAA,CAAAa,oBAAA,GAAG;EAClCX,OAAO,EAAE,sEAAsE;EAC/EC,QAAQ,EAAE;AACZ,CAAC;AAAA,IAEWW,eAAe,GAAAd,OAAA,CAAAc,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAMpB,MAAMC,cAAc,GAAAf,OAAA,CAAAe,cAAA,GAAG;EAC5BC,SAAS,EAAE,CAAC;EACZC,OAAO,EAAE,CAAC;EACVC,cAAc,EAAE,CAAC;EACjBC,MAAM,EAAE,EAAE;EACVC,iBAAiB,EAAE,EAAE;EACrBC,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE,EAAE;EACZC,WAAW,EAAE,GAAG;EAChBC,kBAAkB,EAAE,EAAE;EACtBC,UAAU,EAAE,IAAI;EAChBC,iBAAiB,EAAE,CAAC,EAAE;EACtB;EACAC,eAAe,EAAE;AACnB,CAAU;;AAEV;AACA;AACO,MAAMC,2BAA2B,GAAA5B,OAAA,CAAA4B,2BAAA,GAAG,GAAG;AACvC,MAAMC,qBAAqB,GAAA7B,OAAA,CAAA6B,qBAAA,GAAG,IAAI;AAElC,MAAMC,sBAAsB,GAAA9B,OAAA,CAAA8B,sBAAA,GAAG;EACpCC,KAAK,EAAE,GAAG;EACVC,UAAU,EAAE,GAAG;EACfC,qBAAqB,EAAE,GAAG;EAC1BC,eAAe,EAAE,CAAC;EAClB;EACAC,6BAA6B,EAAE,IAAI;EACnCC,cAAc,EAAE;AAClB,CAAU","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.uploadAudioFileRequestGenerator = exports.is400Error = exports.getAvailableInputs = exports.getAudioStatus = exports.getAudioDurationMs = exports.getActiveAttempt = exports.generateAudioFormData = exports.formatDuration = exports.ensureRecordingPermissions = exports.downloadAudioFileRequestGenerator = exports.addAudioInputsListenerWeb = void 0;
6
+ exports.uploadAudioFileRequestGenerator = exports.normalizeMetering = exports.is400Error = exports.getAvailableInputs = exports.getAudioStatus = exports.getAudioDurationMs = exports.getActiveAttempt = exports.generateAudioFormData = exports.formatDuration = exports.ensureRecordingPermissions = exports.downloadAudioFileRequestGenerator = exports.createWebMeteringMonitor = exports.addAudioInputsListenerWeb = void 0;
7
7
  var _reactNativeUi = require("@magmamath/react-native-ui");
8
8
  var _expoAudio = require("expo-audio");
9
9
  var FileSystem = _interopRequireWildcard(require("expo-file-system"));
@@ -18,7 +18,73 @@ const formatDuration = ms => {
18
18
  const seconds = totalSeconds % 60;
19
19
  return `${minutes}:${seconds.toString().padStart(2, '0')}`;
20
20
  };
21
+
22
+ // Maps a metering value (dBFS, roughly -160..0) to a 0..1 bar level.
23
+ // Anything at or below the floor reads as silence (MIN_LEVEL dots).
21
24
  exports.formatDuration = formatDuration;
25
+ const normalizeMetering = metering => {
26
+ if (metering === null || metering === undefined || Number.isNaN(metering)) {
27
+ return _constants.VOICE_WAVEFORM.MIN_LEVEL;
28
+ }
29
+ const range = -_constants.VOICE_WAVEFORM.METERING_FLOOR_DB;
30
+ const ratio = (metering - _constants.VOICE_WAVEFORM.METERING_FLOOR_DB) / range;
31
+ return Math.max(_constants.VOICE_WAVEFORM.MIN_LEVEL, Math.min(1, ratio));
32
+ };
33
+ exports.normalizeMetering = normalizeMetering;
34
+ // expo-audio's web AudioRecorder keeps its MediaRecorder on a public (but
35
+ // untyped) field. Reach for it defensively — if the internals change after an
36
+ // upgrade, we fall back to our own getUserMedia stream.
37
+ const hasWebMediaRecorder = value => {
38
+ if (typeof value !== 'object' || value === null) return false;
39
+ if (typeof MediaRecorder === 'undefined') return false;
40
+ return 'mediaRecorder' in value && value.mediaRecorder instanceof MediaRecorder;
41
+ };
42
+ const computeStreamDecibels = (analyser, samples) => {
43
+ analyser.getFloatTimeDomainData(samples);
44
+ const sumOfSquares = samples.reduce((acc, value) => acc + value * value, 0);
45
+ const rms = Math.sqrt(sumOfSquares / samples.length);
46
+ return rms > 0 ? 20 * Math.log10(rms) : _constants.VOICE_WAVEFORM.METERING_FLOOR_DB;
47
+ };
48
+
49
+ // expo-audio does not implement metering on web, so we measure the input level
50
+ // ourselves with the Web Audio API. Prefers the recorder's own MediaStream;
51
+ // falls back to a dedicated getUserMedia capture (permission is already
52
+ // granted at this point because recording is in progress).
53
+ const createWebMeteringMonitor = (recorder, onMetering) => {
54
+ if (!_reactNativeUi.IS_WEB || typeof AudioContext === 'undefined') return () => {};
55
+ let isDisposed = false;
56
+ let context = null;
57
+ let ownedStream = null;
58
+ let intervalId = null;
59
+ const start = async () => {
60
+ const recorderStream = hasWebMediaRecorder(recorder) ? recorder.mediaRecorder.stream : null;
61
+ const stream = recorderStream ?? (await navigator.mediaDevices.getUserMedia({
62
+ audio: true
63
+ }));
64
+ if (isDisposed) {
65
+ if (!recorderStream) stream.getTracks().forEach(track => track.stop());
66
+ return;
67
+ }
68
+ if (!recorderStream) ownedStream = stream;
69
+ context = new AudioContext();
70
+ const analyser = context.createAnalyser();
71
+ analyser.fftSize = _constants.WEB_METERING_FFT_SIZE;
72
+ context.createMediaStreamSource(stream).connect(analyser);
73
+ const samples = new Float32Array(analyser.fftSize);
74
+ intervalId = setInterval(() => {
75
+ onMetering(computeStreamDecibels(analyser, samples));
76
+ }, _constants.METERING_UPDATE_INTERVAL_MS);
77
+ };
78
+ start().catch(() => onMetering(null));
79
+ return () => {
80
+ isDisposed = true;
81
+ if (intervalId) clearInterval(intervalId);
82
+ ownedStream?.getTracks().forEach(track => track.stop());
83
+ context?.close().catch(() => {});
84
+ onMetering(null);
85
+ };
86
+ };
87
+ exports.createWebMeteringMonitor = createWebMeteringMonitor;
22
88
  const ensureRecordingPermissions = async () => {
23
89
  const {
24
90
  status
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeUi","require","_expoAudio","FileSystem","_interopRequireWildcard","_constants","_index","_index2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","formatDuration","ms","totalSeconds","Math","floor","minutes","seconds","toString","padStart","exports","ensureRecordingPermissions","status","getRecordingPermissionsAsync","granted","requestRecordingPermissionsAsync","getAvailableInputsWeb","navigator","mediaDevices","enumerateDevices","devices","filter","d","kind","getAvailableInputs","recorder","IS_WEB","IS_MOBILE","addAudioInputsListenerWeb","callback","addEventListener","handleDeviceChange","removeEventListener","getAudioDurationMs","fileUri","externalPlayer","Promise","resolve","undefined","player","createAudioPlayer","isInternalPlayer","replace","reject","subscription","addListener","duration","remove","durationMs","round","setTimeout","Error","generateAudioFormData","audioFileUri","fileName","formData","FormData","min","VOICE_RECORDER_MAX_DURATION_MS","response","fetch","blob","filename","type","append","file","uri","name","uploadAudioFileRequestGenerator","audioFileFormData","api","controller","AbortController","uploadAudio","uploadAudioFile","signal","downloadAudioMobile","audioFileId","config","url","startsWith","baseURL","cacheDirectory","authHeader","headers","Authorization","authorization","downloadResult","downloadAsync","fileType","downloadAudioWeb","data","Blob","URL","createObjectURL","downloadAudioFileRequestGenerator","downloadAudio","downloadAudioFile","getActiveAttempt","attemptOffset","attemptsCount","getAudioStatus","state","PlayerState","PLAYING","AudioStatus","PAUSED","is400Error","error","httpError"],"sourceRoot":"../../../../src","sources":["features/voice/helpers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeUi","require","_expoAudio","FileSystem","_interopRequireWildcard","_constants","_index","_index2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","formatDuration","ms","totalSeconds","Math","floor","minutes","seconds","toString","padStart","exports","normalizeMetering","metering","undefined","Number","isNaN","VOICE_WAVEFORM","MIN_LEVEL","range","METERING_FLOOR_DB","ratio","max","min","hasWebMediaRecorder","value","MediaRecorder","mediaRecorder","computeStreamDecibels","analyser","samples","getFloatTimeDomainData","sumOfSquares","reduce","acc","rms","sqrt","length","log10","createWebMeteringMonitor","recorder","onMetering","IS_WEB","AudioContext","isDisposed","context","ownedStream","intervalId","start","recorderStream","stream","navigator","mediaDevices","getUserMedia","audio","getTracks","forEach","track","stop","createAnalyser","fftSize","WEB_METERING_FFT_SIZE","createMediaStreamSource","connect","Float32Array","setInterval","METERING_UPDATE_INTERVAL_MS","catch","clearInterval","close","ensureRecordingPermissions","status","getRecordingPermissionsAsync","granted","requestRecordingPermissionsAsync","getAvailableInputsWeb","enumerateDevices","devices","filter","d","kind","getAvailableInputs","IS_MOBILE","addAudioInputsListenerWeb","callback","addEventListener","handleDeviceChange","removeEventListener","getAudioDurationMs","fileUri","externalPlayer","Promise","resolve","player","createAudioPlayer","isInternalPlayer","replace","reject","subscription","addListener","duration","remove","durationMs","round","setTimeout","Error","generateAudioFormData","audioFileUri","fileName","formData","FormData","VOICE_RECORDER_MAX_DURATION_MS","response","fetch","blob","filename","type","append","file","uri","name","uploadAudioFileRequestGenerator","audioFileFormData","api","controller","AbortController","uploadAudio","uploadAudioFile","signal","downloadAudioMobile","audioFileId","config","url","startsWith","baseURL","cacheDirectory","authHeader","headers","Authorization","authorization","downloadResult","downloadAsync","fileType","downloadAudioWeb","data","Blob","URL","createObjectURL","downloadAudioFileRequestGenerator","downloadAudio","downloadAudioFile","getActiveAttempt","attemptOffset","attemptsCount","getAudioStatus","state","PlayerState","PLAYING","AudioStatus","PAUSED","is400Error","error","httpError"],"sourceRoot":"../../../../src","sources":["features/voice/helpers.ts"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,50 @@ Object.keys(_VoiceRecord).forEach(function (key) {
14
14
  }
15
15
  });
16
16
  });
17
+ var _VoiceRecordWithTranscript = require("./recording/components/VoiceRecordWithTranscript.js");
18
+ Object.keys(_VoiceRecordWithTranscript).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _VoiceRecordWithTranscript[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _VoiceRecordWithTranscript[key];
25
+ }
26
+ });
27
+ });
28
+ var _VoiceWaveform = require("./recording/components/VoiceWaveform.js");
29
+ Object.keys(_VoiceWaveform).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _VoiceWaveform[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _VoiceWaveform[key];
36
+ }
37
+ });
38
+ });
39
+ var _VoiceTranscriptPanel = require("./recording/components/VoiceTranscriptPanel.js");
40
+ Object.keys(_VoiceTranscriptPanel).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _VoiceTranscriptPanel[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _VoiceTranscriptPanel[key];
47
+ }
48
+ });
49
+ });
50
+ var _useVoiceWaveform = require("./recording/hooks/useVoiceWaveform.js");
51
+ Object.keys(_useVoiceWaveform).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _useVoiceWaveform[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _useVoiceWaveform[key];
58
+ }
59
+ });
60
+ });
17
61
  var _VoiceRecordModel = require("./recording/model/VoiceRecord.model.js");
18
62
  Object.keys(_VoiceRecordModel).forEach(function (key) {
19
63
  if (key === "default" || key === "__esModule") return;
@@ -25,6 +69,28 @@ Object.keys(_VoiceRecordModel).forEach(function (key) {
25
69
  }
26
70
  });
27
71
  });
72
+ var _VoiceRecordWithTranscriptModel = require("./recording/model/VoiceRecordWithTranscript.model.js");
73
+ Object.keys(_VoiceRecordWithTranscriptModel).forEach(function (key) {
74
+ if (key === "default" || key === "__esModule") return;
75
+ if (key in exports && exports[key] === _VoiceRecordWithTranscriptModel[key]) return;
76
+ Object.defineProperty(exports, key, {
77
+ enumerable: true,
78
+ get: function () {
79
+ return _VoiceRecordWithTranscriptModel[key];
80
+ }
81
+ });
82
+ });
83
+ var _VoiceTranscriptPanelModel = require("./recording/model/VoiceTranscriptPanel.model.js");
84
+ Object.keys(_VoiceTranscriptPanelModel).forEach(function (key) {
85
+ if (key === "default" || key === "__esModule") return;
86
+ if (key in exports && exports[key] === _VoiceTranscriptPanelModel[key]) return;
87
+ Object.defineProperty(exports, key, {
88
+ enumerable: true,
89
+ get: function () {
90
+ return _VoiceTranscriptPanelModel[key];
91
+ }
92
+ });
93
+ });
28
94
  var _VoiceRecordDeleteModal = require("./recording/modal/VoiceRecordDeleteModal.js");
29
95
  Object.keys(_VoiceRecordDeleteModal).forEach(function (key) {
30
96
  if (key === "default" || key === "__esModule") return;
@@ -47,6 +113,17 @@ Object.keys(_VoiceRecordUndoModal).forEach(function (key) {
47
113
  }
48
114
  });
49
115
  });
116
+ var _transcriptHelpers = require("./transcript.helpers.js");
117
+ Object.keys(_transcriptHelpers).forEach(function (key) {
118
+ if (key === "default" || key === "__esModule") return;
119
+ if (key in exports && exports[key] === _transcriptHelpers[key]) return;
120
+ Object.defineProperty(exports, key, {
121
+ enumerable: true,
122
+ get: function () {
123
+ return _transcriptHelpers[key];
124
+ }
125
+ });
126
+ });
50
127
  var _VoicePlayerModel = require("./playing/model/VoicePlayer.model.js");
51
128
  Object.keys(_VoicePlayerModel).forEach(function (key) {
52
129
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"names":["_VoiceRecord","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_VoiceRecordModel","_VoiceRecordDeleteModal","_VoiceRecordUndoModal","_VoicePlayerModel","_VoiceTranscription","_useVoicePlayerLifecycle","_VoiceIcon","_constants","_types"],"sourceRoot":"../../../../src","sources":["features/voice/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_VoiceRecord","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_VoiceRecordWithTranscript","_VoiceWaveform","_VoiceTranscriptPanel","_useVoiceWaveform","_VoiceRecordModel","_VoiceRecordWithTranscriptModel","_VoiceTranscriptPanelModel","_VoiceRecordDeleteModal","_VoiceRecordUndoModal","_transcriptHelpers","_VoicePlayerModel","_VoiceTranscription","_useVoicePlayerLifecycle","_VoiceIcon","_constants","_types"],"sourceRoot":"../../../../src","sources":["features/voice/index.ts"],"mappings":"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","ignoreList":[]}
@@ -7,33 +7,46 @@ exports.VoiceTranscriptContent = void 0;
7
7
  var _reactNativeUi = require("@magmamath/react-native-ui");
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactNative = require("react-native");
10
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
11
+ var _constants = require("../../constants.js");
10
12
  var _jsxRuntime = require("react/jsx-runtime");
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
16
  const VoiceTranscriptContent = ({
13
17
  text,
14
- isLoading
18
+ isLoading,
19
+ numberOfLines,
20
+ dimmed
15
21
  }) => {
16
22
  if (isLoading) {
17
23
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
18
24
  style: styles.loaderContainer,
19
25
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Loader, {
20
26
  size: _reactNativeUi.LoaderSize.SMALL,
21
- color: _reactNativeUi.LoaderColor.BLUE
27
+ color: _reactNativeUi.LoaderColor.GRAY
22
28
  })
23
29
  });
24
30
  }
25
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
26
- variant: "h8",
27
- style: styles.text,
28
- children: text
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
32
+ entering: _reactNativeReanimated.FadeIn.duration(400),
33
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
34
+ variant: "h8",
35
+ style: [styles.text, dimmed && styles.dimmed],
36
+ numberOfLines: numberOfLines,
37
+ children: text
38
+ })
29
39
  });
30
40
  };
31
41
  exports.VoiceTranscriptContent = VoiceTranscriptContent;
32
42
  const styles = _reactNative.StyleSheet.create({
33
43
  text: {
34
- color: _reactNativeUi.COLORS.NEUTRAL_7,
35
- paddingHorizontal: _reactNativeUi.SPACING[200],
36
- paddingVertical: _reactNativeUi.SPACING[200]
44
+ color: _reactNativeUi.COLORS.NEUTRAL_9,
45
+ paddingVertical: _reactNativeUi.SPACING[100],
46
+ marginRight: _reactNativeUi.SPACING[200]
47
+ },
48
+ dimmed: {
49
+ opacity: _constants.VOICE_TRANSCRIPT_PANEL.DIMMED_OPACITY
37
50
  },
38
51
  loaderContainer: {
39
52
  justifyContent: 'center',
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeUi","require","_react","_interopRequireDefault","_reactNative","_jsxRuntime","e","__esModule","default","VoiceTranscriptContent","text","isLoading","jsx","View","style","styles","loaderContainer","children","Loader","size","LoaderSize","SMALL","color","LoaderColor","BLUE","Typography","variant","exports","StyleSheet","create","COLORS","NEUTRAL_7","paddingHorizontal","SPACING","paddingVertical","justifyContent","alignItems"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/components/VoiceTranscriptContent.tsx"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAQA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAA+C,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAOxC,MAAMG,sBAAsB,GAAGA,CAAC;EAAEC,IAAI;EAAEC;AAAuC,CAAC,KAAK;EAC1F,IAAIA,SAAS,EAAE;IACb,oBACE,IAAAN,WAAA,CAAAO,GAAA,EAACR,YAAA,CAAAS,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACC,eAAgB;MAAAC,QAAA,eAClC,IAAAZ,WAAA,CAAAO,GAAA,EAACZ,cAAA,CAAAkB,MAAM;QAACC,IAAI,EAAEC,yBAAU,CAACC,KAAM;QAACC,KAAK,EAAEC,0BAAW,CAACC;MAAK,CAAE;IAAC,CACvD,CAAC;EAEX;EAEA,oBACE,IAAAnB,WAAA,CAAAO,GAAA,EAACZ,cAAA,CAAAyB,UAAU;IAACC,OAAO,EAAC,IAAI;IAACZ,KAAK,EAAEC,MAAM,CAACL,IAAK;IAAAO,QAAA,EACzCP;EAAI,CACK,CAAC;AAEjB,CAAC;AAAAiB,OAAA,CAAAlB,sBAAA,GAAAA,sBAAA;AAED,MAAMM,MAAM,GAAGa,uBAAU,CAACC,MAAM,CAAC;EAC/BnB,IAAI,EAAE;IACJY,KAAK,EAAEQ,qBAAM,CAACC,SAAS;IACvBC,iBAAiB,EAAEC,sBAAO,CAAC,GAAG,CAAC;IAC/BC,eAAe,EAAED,sBAAO,CAAC,GAAG;EAC9B,CAAC;EACDjB,eAAe,EAAE;IACfmB,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBF,eAAe,EAAED,sBAAO,CAAC,GAAG;EAC9B;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeUi","require","_react","_interopRequireDefault","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_constants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VoiceTranscriptContent","text","isLoading","numberOfLines","dimmed","jsx","View","style","styles","loaderContainer","children","Loader","size","LoaderSize","SMALL","color","LoaderColor","GRAY","entering","FadeIn","duration","Typography","variant","exports","StyleSheet","create","COLORS","NEUTRAL_9","paddingVertical","SPACING","marginRight","opacity","VOICE_TRANSCRIPT_PANEL","DIMMED_OPACITY","justifyContent","alignItems"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/components/VoiceTranscriptContent.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,8 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.TranscriptionsDownloaderModel = void 0;
7
7
  var _effector = require("effector");
8
- var _types = require("../../types.js");
9
- var _constants = require("../../constants.js");
8
+ var _transcriptHelpers = require("../../transcript.helpers.js");
10
9
  class TranscriptionsDownloaderModel {
11
10
  inflightFetches = new Map();
12
11
  transcriptCache = new Map();
@@ -14,12 +13,12 @@ class TranscriptionsDownloaderModel {
14
13
  this.collection = collection;
15
14
  this.api = api;
16
15
  }
17
- async fetchTranscriptWithRetry(audioFileId) {
16
+ async fetchTranscript(audioFileId) {
18
17
  const cached = this.transcriptCache.get(audioFileId);
19
18
  if (cached) return cached;
20
19
  const existing = this.inflightFetches.get(audioFileId);
21
20
  if (existing) return existing;
22
- const promise = this.runFetchWithRetry(audioFileId).then(result => {
21
+ const promise = (0, _transcriptHelpers.fetchTranscriptWithRetry)(id => this.api.getAudioFileTranscript(id), audioFileId).then(result => {
23
22
  this.transcriptCache.set(audioFileId, result);
24
23
  return result;
25
24
  }).finally(() => {
@@ -28,28 +27,6 @@ class TranscriptionsDownloaderModel {
28
27
  this.inflightFetches.set(audioFileId, promise);
29
28
  return promise;
30
29
  }
31
- async runFetchWithRetry(audioFileId) {
32
- for (let attempt = 0; attempt < _constants.TRANSCRIPT_MAX_RETRIES; attempt++) {
33
- const response = await this.api.getAudioFileTranscript(audioFileId);
34
- if (response.status === _types.TranscriptionStatus.COMPLETED) {
35
- return {
36
- text: response.text,
37
- language: response.language
38
- };
39
- }
40
- if (response.status === _types.TranscriptionStatus.FAILED) {
41
- return {
42
- text: _constants.NO_AUDIO_BE_MESSAGE
43
- };
44
- }
45
- if (attempt < _constants.TRANSCRIPT_MAX_RETRIES - 1) {
46
- await new Promise(resolve => setTimeout(resolve, _constants.TRANSCRIPT_RETRY_INTERVAL_MS));
47
- }
48
- }
49
- return {
50
- text: _constants.NO_AUDIO_BE_MESSAGE
51
- };
52
- }
53
30
  loadTranscriptForAttempt = (0, _effector.createEffect)(async attemptNumber => {
54
31
  const item = this.collection.get(attemptNumber);
55
32
  if (!item?.audioFileId) return;
@@ -61,7 +38,7 @@ class TranscriptionsDownloaderModel {
61
38
  const {
62
39
  text,
63
40
  language
64
- } = await this.fetchTranscriptWithRetry(item.audioFileId);
41
+ } = await this.fetchTranscript(item.audioFileId);
65
42
  this.collection.update(attemptNumber, {
66
43
  transcript: text,
67
44
  transcriptLanguage: language,
@@ -1 +1 @@
1
- {"version":3,"names":["_effector","require","_types","_constants","TranscriptionsDownloaderModel","inflightFetches","Map","transcriptCache","constructor","collection","api","fetchTranscriptWithRetry","audioFileId","cached","get","existing","promise","runFetchWithRetry","then","result","set","finally","delete","attempt","TRANSCRIPT_MAX_RETRIES","response","getAudioFileTranscript","status","TranscriptionStatus","COMPLETED","text","language","FAILED","NO_AUDIO_BE_MESSAGE","Promise","resolve","setTimeout","TRANSCRIPT_RETRY_INTERVAL_MS","loadTranscriptForAttempt","createEffect","attemptNumber","item","transcript","transcriptLoading","update","transcriptLanguage","transcriptError","undefined","error","Error","message","getCachedTranscript","exports"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/model/TranscriptionsDownloader.model.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_effector","require","_transcriptHelpers","TranscriptionsDownloaderModel","inflightFetches","Map","transcriptCache","constructor","collection","api","fetchTranscript","audioFileId","cached","get","existing","promise","fetchTranscriptWithRetry","id","getAudioFileTranscript","then","result","set","finally","delete","loadTranscriptForAttempt","createEffect","attemptNumber","item","transcript","transcriptLoading","update","text","language","transcriptLanguage","transcriptError","undefined","error","Error","message","getCachedTranscript","exports"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/model/TranscriptionsDownloader.model.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAGA,IAAAC,kBAAA,GAAAD,OAAA;AAEO,MAAME,6BAA6B,CAAC;EAGxBC,eAAe,GAAG,IAAIC,GAAG,CAAoC,CAAC;EAC9DC,eAAe,GAAG,IAAID,GAAG,CAA2B,CAAC;EAEtEE,WAAWA,CAACC,UAAoC,EAAEC,GAAmB,EAAE;IACrE,IAAI,CAACD,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,GAAG,GAAGA,GAAG;EAChB;EAEA,MAAcC,eAAeA,CAACC,WAAmB,EAA6B;IAC5E,MAAMC,MAAM,GAAG,IAAI,CAACN,eAAe,CAACO,GAAG,CAACF,WAAW,CAAC;IACpD,IAAIC,MAAM,EAAE,OAAOA,MAAM;IAEzB,MAAME,QAAQ,GAAG,IAAI,CAACV,eAAe,CAACS,GAAG,CAACF,WAAW,CAAC;IACtD,IAAIG,QAAQ,EAAE,OAAOA,QAAQ;IAE7B,MAAMC,OAAO,GAAG,IAAAC,2CAAwB,EACrCC,EAAE,IAAK,IAAI,CAACR,GAAG,CAACS,sBAAsB,CAACD,EAAE,CAAC,EAC3CN,WACF,CAAC,CACEQ,IAAI,CAAEC,MAAM,IAAK;MAChB,IAAI,CAACd,eAAe,CAACe,GAAG,CAACV,WAAW,EAAES,MAAM,CAAC;MAC7C,OAAOA,MAAM;IACf,CAAC,CAAC,CACDE,OAAO,CAAC,MAAM;MACb,IAAI,CAAClB,eAAe,CAACmB,MAAM,CAACZ,WAAW,CAAC;IAC1C,CAAC,CAAC;IACJ,IAAI,CAACP,eAAe,CAACiB,GAAG,CAACV,WAAW,EAAEI,OAAO,CAAC;IAC9C,OAAOA,OAAO;EAChB;EAEgBS,wBAAwB,GAAG,IAAAC,sBAAY,EAAC,MAAOC,aAAqB,IAAK;IACvF,MAAMC,IAAI,GAAG,IAAI,CAACnB,UAAU,CAACK,GAAG,CAACa,aAAa,CAAC;IAC/C,IAAI,CAACC,IAAI,EAAEhB,WAAW,EAAE;IACxB,IAAIgB,IAAI,CAACC,UAAU,IAAID,IAAI,CAACE,iBAAiB,EAAE;IAE/C,IAAI,CAACrB,UAAU,CAACsB,MAAM,CAACJ,aAAa,EAAE;MAAEG,iBAAiB,EAAE;IAAK,CAAC,CAAC;IAElE,IAAI;MACF,MAAM;QAAEE,IAAI;QAAEC;MAAS,CAAC,GAAG,MAAM,IAAI,CAACtB,eAAe,CAACiB,IAAI,CAAChB,WAAW,CAAC;MAEvE,IAAI,CAACH,UAAU,CAACsB,MAAM,CAACJ,aAAa,EAAE;QACpCE,UAAU,EAAEG,IAAI;QAChBE,kBAAkB,EAAED,QAAQ;QAC5BH,iBAAiB,EAAE,KAAK;QACxBK,eAAe,EAAEC;MACnB,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,IAAI,CAAC5B,UAAU,CAACsB,MAAM,CAACJ,aAAa,EAAE;QACpCG,iBAAiB,EAAE,KAAK;QACxBK,eAAe,EAAEE,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAG;MAC5D,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;EAEKC,mBAAmBA,CAAC5B,WAAmB,EAAgC;IAC5E,OAAO,IAAI,CAACL,eAAe,CAACO,GAAG,CAACF,WAAW,CAAC;EAC9C;AACF;AAAC6B,OAAA,CAAArC,6BAAA,GAAAA,6BAAA","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.VoiceRecordWithTranscript = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeUi = require("@magmamath/react-native-ui");
10
+ var _effectorReact = require("effector-react");
11
+ var _VoiceRecord = require("./VoiceRecord.js");
12
+ var _VoiceTranscriptPanel = require("./VoiceTranscriptPanel.js");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ // Drop-in replacement for VoiceRecord that opens the waveform/transcript panel
16
+ // to the right of the record control (per the "Voice on Drawboard" design).
17
+ const VoiceRecordWithTranscript = ({
18
+ model,
19
+ buttonVariant,
20
+ style,
21
+ panelStyle
22
+ }) => {
23
+ const metering = (0, _effectorReact.useUnit)(model.record.recorderModel.$metering);
24
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
25
+ style: [styles.container, style],
26
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_VoiceRecord.VoiceRecord, {
27
+ model: model.record,
28
+ buttonVariant: buttonVariant
29
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_VoiceTranscriptPanel.VoiceTranscriptPanel, {
30
+ model: model.panel,
31
+ metering: metering,
32
+ style: [styles.panel, panelStyle]
33
+ })]
34
+ });
35
+ };
36
+ exports.VoiceRecordWithTranscript = VoiceRecordWithTranscript;
37
+ const styles = _reactNative.StyleSheet.create({
38
+ // Hug the record control so the panel's `left: 100%` lands right next to it
39
+ container: {
40
+ alignSelf: 'flex-start'
41
+ },
42
+ panel: {
43
+ position: 'absolute',
44
+ left: '100%',
45
+ top: 0,
46
+ marginLeft: _reactNativeUi.SPACING[200]
47
+ }
48
+ });
49
+ //# sourceMappingURL=VoiceRecordWithTranscript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_effectorReact","_VoiceRecord","_VoiceTranscriptPanel","_jsxRuntime","e","__esModule","default","VoiceRecordWithTranscript","model","buttonVariant","style","panelStyle","metering","useUnit","record","recorderModel","$metering","jsxs","View","styles","container","children","jsx","VoiceRecord","VoiceTranscriptPanel","panel","exports","StyleSheet","create","alignSelf","position","left","top","marginLeft","SPACING"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/components/VoiceRecordWithTranscript.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAIA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,qBAAA,GAAAL,OAAA;AAA6D,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAS7D;AACA;AACO,MAAMG,yBAAyB,GAAGA,CAAC;EACxCC,KAAK;EACLC,aAAa;EACbC,KAAK;EACLC;AAC8B,CAAC,KAAK;EACpC,MAAMC,QAAQ,GAAG,IAAAC,sBAAO,EAACL,KAAK,CAACM,MAAM,CAACC,aAAa,CAACC,SAAS,CAAC;EAE9D,oBACE,IAAAb,WAAA,CAAAc,IAAA,EAACnB,YAAA,CAAAoB,IAAI;IAACR,KAAK,EAAE,CAACS,MAAM,CAACC,SAAS,EAAEV,KAAK,CAAE;IAAAW,QAAA,gBACrC,IAAAlB,WAAA,CAAAmB,GAAA,EAACrB,YAAA,CAAAsB,WAAW;MAACf,KAAK,EAAEA,KAAK,CAACM,MAAO;MAACL,aAAa,EAAEA;IAAc,CAAE,CAAC,eAClE,IAAAN,WAAA,CAAAmB,GAAA,EAACpB,qBAAA,CAAAsB,oBAAoB;MACnBhB,KAAK,EAAEA,KAAK,CAACiB,KAAM;MACnBb,QAAQ,EAAEA,QAAS;MACnBF,KAAK,EAAE,CAACS,MAAM,CAACM,KAAK,EAAEd,UAAU;IAAE,CACnC,CAAC;EAAA,CACE,CAAC;AAEX,CAAC;AAAAe,OAAA,CAAAnB,yBAAA,GAAAA,yBAAA;AAED,MAAMY,MAAM,GAAGQ,uBAAU,CAACC,MAAM,CAAC;EAC/B;EACAR,SAAS,EAAE;IACTS,SAAS,EAAE;EACb,CAAC;EACDJ,KAAK,EAAE;IACLK,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,MAAM;IACZC,GAAG,EAAE,CAAC;IACNC,UAAU,EAAEC,sBAAO,CAAC,GAAG;EACzB;AACF,CAAC,CAAC","ignoreList":[]}