@magmamath/students-features 1.3.7 → 1.3.8-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 (97) hide show
  1. package/dist/commonjs/features/voice/constants.js +15 -3
  2. package/dist/commonjs/features/voice/constants.js.map +1 -1
  3. package/dist/commonjs/features/voice/recording/components/VoiceRecord.js +19 -7
  4. package/dist/commonjs/features/voice/recording/components/VoiceRecord.js.map +1 -1
  5. package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js +84 -27
  6. package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
  7. package/dist/commonjs/features/voice/recording/components/VoiceRecordDeleteButton.js +2 -2
  8. package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.js +3 -3
  9. package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.js.map +1 -1
  10. package/dist/commonjs/features/voice/types.js +6 -0
  11. package/dist/commonjs/features/voice/types.js.map +1 -1
  12. package/dist/module/features/voice/constants.js +14 -2
  13. package/dist/module/features/voice/constants.js.map +1 -1
  14. package/dist/module/features/voice/recording/components/VoiceRecord.js +20 -8
  15. package/dist/module/features/voice/recording/components/VoiceRecord.js.map +1 -1
  16. package/dist/module/features/voice/recording/components/VoiceRecordButton.js +86 -29
  17. package/dist/module/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
  18. package/dist/module/features/voice/recording/components/VoiceRecordDeleteButton.js +2 -2
  19. package/dist/module/features/voice/recording/hooks/useVoiceRecorderAnimation.js +3 -3
  20. package/dist/module/features/voice/recording/hooks/useVoiceRecorderAnimation.js.map +1 -1
  21. package/dist/module/features/voice/types.js +5 -1
  22. package/dist/module/features/voice/types.js.map +1 -1
  23. package/dist/typescript/commonjs/features/voice/constants.d.ts +12 -2
  24. package/dist/typescript/commonjs/features/voice/constants.d.ts.map +1 -1
  25. package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecord.d.ts +3 -1
  26. package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecord.d.ts.map +1 -1
  27. package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts +3 -3
  28. package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -1
  29. package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts +2 -1
  30. package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts.map +1 -1
  31. package/dist/typescript/commonjs/features/voice/types.d.ts +4 -0
  32. package/dist/typescript/commonjs/features/voice/types.d.ts.map +1 -1
  33. package/dist/typescript/module/features/voice/constants.d.ts +12 -2
  34. package/dist/typescript/module/features/voice/constants.d.ts.map +1 -1
  35. package/dist/typescript/module/features/voice/recording/components/VoiceRecord.d.ts +3 -1
  36. package/dist/typescript/module/features/voice/recording/components/VoiceRecord.d.ts.map +1 -1
  37. package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts +3 -3
  38. package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -1
  39. package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts +2 -1
  40. package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts.map +1 -1
  41. package/dist/typescript/module/features/voice/types.d.ts +4 -0
  42. package/dist/typescript/module/features/voice/types.d.ts.map +1 -1
  43. package/package.json +1 -1
  44. package/src/features/voice/constants.ts +14 -2
  45. package/src/features/voice/recording/components/VoiceRecord.tsx +27 -7
  46. package/src/features/voice/recording/components/VoiceRecordButton.tsx +113 -30
  47. package/src/features/voice/recording/components/VoiceRecordDeleteButton.tsx +2 -2
  48. package/src/features/voice/recording/hooks/useVoiceRecorderAnimation.ts +8 -4
  49. package/src/features/voice/types.ts +5 -0
  50. package/.claude/settings.local.json +0 -25
  51. package/.editorconfig +0 -15
  52. package/.eslintignore +0 -2
  53. package/.eslintrc +0 -22
  54. package/.gitattributes +0 -3
  55. package/.github/actions/setup/action.yml +0 -37
  56. package/.github/workflows/ci.yml +0 -73
  57. package/.gitignore +0 -84
  58. package/.idea/.gitignore +0 -8
  59. package/.idea/codeStyles/Project.xml +0 -62
  60. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  61. package/.idea/copilot.data.migration.agent.xml +0 -6
  62. package/.idea/copilot.data.migration.ask.xml +0 -6
  63. package/.idea/copilot.data.migration.ask2agent.xml +0 -6
  64. package/.idea/copilot.data.migration.edit.xml +0 -6
  65. package/.idea/inspectionProfiles/Project_Default.xml +0 -8
  66. package/.idea/jsLinters/eslint.xml +0 -6
  67. package/.idea/modules.xml +0 -8
  68. package/.idea/prettier.xml +0 -7
  69. package/.idea/students-features.iml +0 -12
  70. package/.idea/vcs.xml +0 -6
  71. package/.idea/workspace.xml +0 -672
  72. package/.nvmrc +0 -1
  73. package/.prettierrc +0 -11
  74. package/.release-it.json +0 -17
  75. package/.watchmanconfig +0 -1
  76. package/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +0 -541
  77. package/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs +0 -28
  78. package/.yarn/releases/yarn-3.6.1.cjs +0 -874
  79. package/babel.config.js +0 -5
  80. package/bob.config.js +0 -25
  81. package/example/.expo/README.md +0 -8
  82. package/example/.expo/devices.json +0 -3
  83. package/example/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-48.png +0 -0
  84. package/example/app.json +0 -30
  85. package/example/assets/adaptive-icon.png +0 -0
  86. package/example/assets/favicon.png +0 -0
  87. package/example/assets/icon.png +0 -0
  88. package/example/assets/splash-icon.png +0 -0
  89. package/example/babel.config.js +0 -28
  90. package/example/index.js +0 -8
  91. package/example/metro.config.js +0 -18
  92. package/example/package.json +0 -25
  93. package/example/src/App.tsx +0 -8
  94. package/example/tsconfig.json +0 -6
  95. package/tsconfig.build.json +0 -4
  96. package/tsconfig.json +0 -34
  97. package/yarn.lock +0 -10984
@@ -3,10 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.VoiceRecorderState = 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.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;
7
7
  const VOICE_RECORDER_CONTAINER_SIZES = exports.VOICE_RECORDER_CONTAINER_SIZES = {
8
- COLLAPSED: 61,
9
- EXPANDED: 152
8
+ COLLAPSED: {
9
+ default: 61,
10
+ advanced: 52
11
+ },
12
+ EXPANDED: {
13
+ default: 152,
14
+ advanced: 136
15
+ }
10
16
  };
11
17
  const VOICE_RECORDER_MAX_DURATION_MS = exports.VOICE_RECORDER_MAX_DURATION_MS = 60000; // 1 minute
12
18
  const VOICE_RECORDER_MIN_DURATION_MS = exports.VOICE_RECORDER_MIN_DURATION_MS = 300;
@@ -20,4 +26,10 @@ const DROPDOWN_MAX_CONTENT_HEIGHT = exports.DROPDOWN_MAX_CONTENT_HEIGHT = 330;
20
26
  const TRANSCRIPT_RETRY_INTERVAL_MS = exports.TRANSCRIPT_RETRY_INTERVAL_MS = 4000;
21
27
  const TRANSCRIPT_MAX_RETRIES = exports.TRANSCRIPT_MAX_RETRIES = 15;
22
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
31
+ const VOICE_RECORD_SHADOWS = exports.VOICE_RECORD_SHADOWS = {
32
+ default: '0 1px 3px 0 rgba(51, 51, 51, 0.10), 0 0 1px 0 rgba(51, 51, 51, 0.40)',
33
+ advanced: '0 0 1px 0 rgba(51, 51, 51, 0.20), 0 3px 10px 0 rgba(51, 51, 51, 0.16)'
34
+ };
23
35
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["VOICE_RECORDER_CONTAINER_SIZES","exports","COLLAPSED","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"],"sourceRoot":"../../../../src","sources":["features/voice/constants.ts"],"mappings":";;;;;;AAAO,MAAMA,8BAA8B,GAAAC,OAAA,CAAAD,8BAAA,GAAG;EAC5CE,SAAS,EAAE,EAAE;EACbC,QAAQ,EAAE;AACZ,CAAC;AACM,MAAMC,8BAA8B,GAAAH,OAAA,CAAAG,8BAAA,GAAG,KAAK,EAAC;AAC7C,MAAMC,8BAA8B,GAAAJ,OAAA,CAAAI,8BAAA,GAAG,GAAG;AAAA,IACrCC,kBAAkB,GAAAL,OAAA,CAAAK,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAKvB,MAAMC,2BAA2B,GAAAN,OAAA,CAAAM,2BAAA,GAAG,GAAG;AACvC,MAAMC,4BAA4B,GAAAP,OAAA,CAAAO,4BAAA,GAAG,IAAI;AACzC,MAAMC,sBAAsB,GAAAR,OAAA,CAAAQ,sBAAA,GAAG,EAAE;AACjC,MAAMC,mBAAmB,GAAAT,OAAA,CAAAS,mBAAA,GAAG,UAAU","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","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":[]}
@@ -15,12 +15,15 @@ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reani
15
15
  var _useVoiceRecorder = require("../hooks/useVoiceRecorder.js");
16
16
  var _useVoiceRecorderAnimation = require("../hooks/useVoiceRecorderAnimation.js");
17
17
  var _effectorReact = require("effector-react");
18
+ var _types = require("../../types.js");
19
+ var _constants = require("../../constants.js");
18
20
  var _jsxRuntime = require("react/jsx-runtime");
19
21
  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); }
20
22
  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; }
21
23
  const VoiceRecord = ({
22
24
  style,
23
- model
25
+ model,
26
+ buttonVariant
24
27
  }) => {
25
28
  const {
26
29
  recorderState
@@ -28,22 +31,25 @@ const VoiceRecord = ({
28
31
  const [isExpanded, isDisabled] = (0, _effectorReact.useUnit)([model.$isExpanded, model.$isButtonDisabled]);
29
32
  const {
30
33
  containerAnimatedStyle
31
- } = (0, _useVoiceRecorderAnimation.useVoiceRecorderAnimation)(isExpanded);
34
+ } = (0, _useVoiceRecorderAnimation.useVoiceRecorderAnimation)(isExpanded, buttonVariant);
32
35
  (0, _react.useEffect)(() => {
33
36
  return () => {
34
37
  model.cleanup();
35
38
  };
36
39
  }, [model]);
37
40
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
38
- style: [styles.container, style, containerAnimatedStyle],
41
+ style: [styles.container, buttonVariant === _types.RecordButtonVariant.ADVANCED && styles.advancedVariantContainer, {
42
+ boxShadow: _constants.VOICE_RECORD_SHADOWS[buttonVariant]
43
+ }, style, containerAnimatedStyle],
39
44
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_VoiceRecordButton.VoiceRecordButton, {
40
- model: model
45
+ model: model,
46
+ buttonVariant: buttonVariant
41
47
  }), isExpanded && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
42
48
  entering: _reactNativeReanimated.FadeIn,
43
49
  exiting: _reactNativeReanimated.FadeOut,
44
50
  style: styles.expendedContainer,
45
51
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_VoiceRecordTimer.VoiceRecordTimer, {
46
- style: styles.timer,
52
+ style: [styles.timer, buttonVariant === _types.RecordButtonVariant.ADVANCED && styles.advancedVariantTimer],
47
53
  model: model,
48
54
  recordingFileDurationMs: recorderState.durationMillis
49
55
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_VoiceRecordDivider.VoiceRecordDivider, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_VoiceRecordDeleteButton.VoiceRecordDeleteButton, {
@@ -60,13 +66,19 @@ const styles = _reactNative.StyleSheet.create({
60
66
  padding: 3,
61
67
  paddingBottom: 6,
62
68
  backgroundColor: _reactNativeUi.COLORS.NEUTRAL_3,
63
- borderRadius: 32,
64
- boxShadow: '0 1px 3px 0 rgba(51, 51, 51, 0.10), 0 0 1px 0 rgba(51, 51, 51, 0.40)',
69
+ borderRadius: 32
70
+ },
71
+ advancedVariantContainer: {
72
+ borderRadius: _reactNativeUi.BORDER_RADIUS[300],
73
+ padding: 0,
65
74
  overflow: 'hidden'
66
75
  },
67
76
  timer: {
68
77
  marginTop: _reactNativeUi.SPACING[400]
69
78
  },
79
+ advancedVariantTimer: {
80
+ marginTop: _reactNativeUi.SPACING[150]
81
+ },
70
82
  expendedContainer: {
71
83
  alignItems: 'center'
72
84
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_VoiceRecordButton","_react","_interopRequireWildcard","_reactNativeUi","_VoiceRecordDeleteButton","_VoiceRecordDivider","_VoiceRecordTimer","_reactNativeReanimated","_useVoiceRecorder","_useVoiceRecorderAnimation","_effectorReact","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VoiceRecord","style","model","recorderState","useVoiceRecorder","isExpanded","isDisabled","useUnit","$isExpanded","$isButtonDisabled","containerAnimatedStyle","useVoiceRecorderAnimation","useEffect","cleanup","jsxs","View","styles","container","children","jsx","VoiceRecordButton","entering","FadeIn","exiting","FadeOut","expendedContainer","VoiceRecordTimer","timer","recordingFileDurationMs","durationMillis","VoiceRecordDivider","VoiceRecordDeleteButton","onPress","events","deleteRecord","exports","StyleSheet","create","alignItems","padding","paddingBottom","backgroundColor","COLORS","NEUTRAL_3","borderRadius","boxShadow","overflow","marginTop","SPACING"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/components/VoiceRecord.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_VoiceRecordButton","_react","_interopRequireWildcard","_reactNativeUi","_VoiceRecordDeleteButton","_VoiceRecordDivider","_VoiceRecordTimer","_reactNativeReanimated","_useVoiceRecorder","_useVoiceRecorderAnimation","_effectorReact","_types","_constants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VoiceRecord","style","model","buttonVariant","recorderState","useVoiceRecorder","isExpanded","isDisabled","useUnit","$isExpanded","$isButtonDisabled","containerAnimatedStyle","useVoiceRecorderAnimation","useEffect","cleanup","jsxs","View","styles","container","RecordButtonVariant","ADVANCED","advancedVariantContainer","boxShadow","VOICE_RECORD_SHADOWS","children","jsx","VoiceRecordButton","entering","FadeIn","exiting","FadeOut","expendedContainer","VoiceRecordTimer","timer","advancedVariantTimer","recordingFileDurationMs","durationMillis","VoiceRecordDivider","VoiceRecordDeleteButton","onPress","events","deleteRecord","exports","StyleSheet","create","alignItems","padding","paddingBottom","backgroundColor","COLORS","NEUTRAL_3","borderRadius","BORDER_RADIUS","overflow","marginTop","SPACING"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/components/VoiceRecord.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,60 +4,117 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.VoiceRecordButton = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNativeUi = require("@magmamath/react-native-ui");
9
9
  var _reactNative = require("react-native");
10
10
  var _effectorReact = require("effector-react");
11
11
  var _constants = require("../../constants.js");
12
12
  var _index = require("../../../../shared/translation/index.js");
13
+ var _types = require("../../types.js");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
- 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); }
15
- 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; }
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ const defaultButtonStyles = {
17
+ button: {
18
+ width: 50,
19
+ height: 50
20
+ }
21
+ };
16
22
  const VoiceRecordButton = ({
17
- style,
18
- model
23
+ model,
24
+ buttonVariant
19
25
  }) => {
20
26
  const t = (0, _index.useText)();
21
27
  const availableInputs = (0, _effectorReact.useUnit)(model.recorderModel.$availableInputs);
22
28
  const voiceRecordState = (0, _effectorReact.useUnit)(model.recorderModel.$voiceRecordState);
23
29
  const isButtonDisabled = (0, _effectorReact.useUnit)(model.$isButtonDisabled);
24
30
  const isInitializing = (0, _effectorReact.useUnit)(model.initializeRecording.pending);
25
- const combinedStyles = (0, _react.useMemo)(() => {
26
- return {
27
- button: [{
28
- width: 50,
29
- height: 50
30
- }, style?.button],
31
- container: [style?.container],
32
- text: [style?.text]
33
- };
34
- }, [style]);
31
+ const isRecording = voiceRecordState === _constants.VoiceRecorderState.RECORDING;
32
+ const isIdle = voiceRecordState === _constants.VoiceRecorderState.IDLE;
33
+ const hasInputs = availableInputs.length > 0;
35
34
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
36
35
  onPressIn: e => {
37
- if (availableInputs.length) return;
36
+ if (hasInputs) return;
38
37
  e.preventDefault();
39
38
  model.notification.warning(t('voice.noMicrophoneFound'));
40
39
  },
41
- pointerEvents: !availableInputs.length || isInitializing ? 'box-only' : 'auto',
42
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
43
- disabled: isButtonDisabled || !availableInputs.length,
40
+ pointerEvents: !hasInputs || isInitializing ? 'box-only' : 'auto',
41
+ style: [isButtonDisabled ? styles.disabledCursor : undefined],
42
+ children: buttonVariant === _types.RecordButtonVariant.ADVANCED ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AdvancedButton, {
43
+ isRecording: isRecording,
44
+ isIdle: isIdle,
45
+ disabled: isButtonDisabled,
46
+ onPressIn: () => model.recorderButtonHandler()
47
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
48
+ disabled: isButtonDisabled,
44
49
  onPressIn: () => model.recorderButtonHandler(),
45
- style: combinedStyles,
50
+ style: defaultButtonStyles,
46
51
  size: _reactNativeUi.ButtonSize.LARGE,
47
52
  variant: _reactNativeUi.ButtonVariant.SECONDARY,
48
53
  colorScheme: _reactNativeUi.ButtonColor.WHITE,
49
- icon: voiceRecordState === _constants.VoiceRecorderState.RECORDING ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.CheckIcon, {
54
+ icon: isRecording ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.CheckIcon, {
50
55
  size: 25
51
56
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.MicrophoneIcon, {
52
- style: _reactNativeUi.IS_WEB ? {
53
- width: 19
54
- } : {
55
- minWidth: 23,
56
- minHeight: 23
57
- }
57
+ style: _reactNativeUi.IS_WEB ? styles.microphoneIconWeb : styles.microphoneIconNative
58
58
  })
59
59
  })
60
60
  });
61
61
  };
62
62
  exports.VoiceRecordButton = VoiceRecordButton;
63
+ const AdvancedButton = ({
64
+ isRecording,
65
+ isIdle,
66
+ disabled,
67
+ onPressIn
68
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
69
+ style: [styles.advancedButtonContainer, disabled && styles.disabledCursor],
70
+ onPressIn: onPressIn,
71
+ disabled: disabled,
72
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
73
+ style: [styles.advancedIconContainer, !isIdle && styles.advancedIconContainerActive],
74
+ children: isRecording ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.CheckIcon, {
75
+ size: 18,
76
+ color: _reactNativeUi.COLORS.NEUTRAL_1
77
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.MicrophoneIcon, {
78
+ style: styles.advancedMicrophoneIcon,
79
+ color: disabled ? _reactNativeUi.COLORS.NEUTRAL_5 : isIdle ? _reactNativeUi.COLORS.NEUTRAL_9 : _reactNativeUi.COLORS.NEUTRAL_1
80
+ })
81
+ })
82
+ });
83
+ const styles = _reactNative.StyleSheet.create({
84
+ advancedButtonContainer: {
85
+ width: 52,
86
+ height: 52,
87
+ backgroundColor: 'white',
88
+ alignItems: 'center',
89
+ justifyContent: 'center',
90
+ borderRadius: _reactNativeUi.BORDER_RADIUS[300],
91
+ boxShadow: _constants.VOICE_RECORD_SHADOWS[_types.RecordButtonVariant.ADVANCED]
92
+ },
93
+ advancedIconContainer: {
94
+ width: 36,
95
+ height: 36,
96
+ borderRadius: _reactNativeUi.BORDER_RADIUS[300],
97
+ justifyContent: 'center',
98
+ alignItems: 'center'
99
+ },
100
+ disabledCursor: {
101
+ // @ts-expect-error web-only property
102
+ cursor: 'not-allowed'
103
+ },
104
+ microphoneIconWeb: {
105
+ width: 19
106
+ },
107
+ microphoneIconNative: {
108
+ minWidth: 23,
109
+ minHeight: 23
110
+ },
111
+ advancedIconContainerActive: {
112
+ borderRadius: 32,
113
+ backgroundColor: _reactNativeUi.COLORS.PRIMARY_BLUE
114
+ },
115
+ advancedMicrophoneIcon: {
116
+ width: 14,
117
+ height: 19
118
+ }
119
+ });
63
120
  //# sourceMappingURL=VoiceRecordButton.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeUi","_reactNative","_effectorReact","_constants","_index","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VoiceRecordButton","style","model","useText","availableInputs","useUnit","recorderModel","$availableInputs","voiceRecordState","$voiceRecordState","isButtonDisabled","$isButtonDisabled","isInitializing","initializeRecording","pending","combinedStyles","useMemo","button","width","height","container","text","jsx","Pressable","onPressIn","length","preventDefault","notification","warning","pointerEvents","children","Button","disabled","recorderButtonHandler","size","ButtonSize","LARGE","variant","ButtonVariant","SECONDARY","colorScheme","ButtonColor","WHITE","icon","VoiceRecorderState","RECORDING","CheckIcon","MicrophoneIcon","IS_WEB","minWidth","minHeight","exports"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/components/VoiceRecordButton.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeUi","_reactNative","_effectorReact","_constants","_index","_types","_jsxRuntime","e","__esModule","default","defaultButtonStyles","button","width","height","VoiceRecordButton","model","buttonVariant","t","useText","availableInputs","useUnit","recorderModel","$availableInputs","voiceRecordState","$voiceRecordState","isButtonDisabled","$isButtonDisabled","isInitializing","initializeRecording","pending","isRecording","VoiceRecorderState","RECORDING","isIdle","IDLE","hasInputs","length","jsx","Pressable","onPressIn","preventDefault","notification","warning","pointerEvents","style","styles","disabledCursor","undefined","children","RecordButtonVariant","ADVANCED","AdvancedButton","disabled","recorderButtonHandler","Button","size","ButtonSize","LARGE","variant","ButtonVariant","SECONDARY","colorScheme","ButtonColor","WHITE","icon","CheckIcon","MicrophoneIcon","IS_WEB","microphoneIconWeb","microphoneIconNative","exports","advancedButtonContainer","View","advancedIconContainer","advancedIconContainerActive","color","COLORS","NEUTRAL_1","advancedMicrophoneIcon","NEUTRAL_5","NEUTRAL_9","StyleSheet","create","backgroundColor","alignItems","justifyContent","borderRadius","BORDER_RADIUS","boxShadow","VOICE_RECORD_SHADOWS","cursor","minWidth","minHeight","PRIMARY_BLUE"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/components/VoiceRecordButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -26,8 +26,8 @@ const VoiceRecordDeleteButton = ({
26
26
  exports.VoiceRecordDeleteButton = VoiceRecordDeleteButton;
27
27
  const styles = _reactNative.StyleSheet.create({
28
28
  container: {
29
- width: 36,
30
- height: 36,
29
+ width: 32,
30
+ height: 32,
31
31
  alignItems: 'center',
32
32
  justifyContent: 'center'
33
33
  }
@@ -6,14 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useVoiceRecorderAnimation = void 0;
7
7
  var _reactNativeReanimated = require("react-native-reanimated");
8
8
  var _constants = require("../../constants.js");
9
- const useVoiceRecorderAnimation = isExpanded => {
9
+ const useVoiceRecorderAnimation = (isExpanded, buttonVariant) => {
10
10
  const containerAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
11
11
  return {
12
- height: (0, _reactNativeReanimated.withTiming)(isExpanded ? _constants.VOICE_RECORDER_CONTAINER_SIZES.EXPANDED : _constants.VOICE_RECORDER_CONTAINER_SIZES.COLLAPSED, {
12
+ height: (0, _reactNativeReanimated.withTiming)(isExpanded ? _constants.VOICE_RECORDER_CONTAINER_SIZES.EXPANDED[buttonVariant] : _constants.VOICE_RECORDER_CONTAINER_SIZES.COLLAPSED[buttonVariant], {
13
13
  duration: 280
14
14
  })
15
15
  };
16
- }, [isExpanded]);
16
+ }, [isExpanded, buttonVariant]);
17
17
  return {
18
18
  containerAnimatedStyle
19
19
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","_constants","useVoiceRecorderAnimation","isExpanded","containerAnimatedStyle","useAnimatedStyle","height","withTiming","VOICE_RECORDER_CONTAINER_SIZES","EXPANDED","COLLAPSED","duration","exports"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/hooks/useVoiceRecorderAnimation.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEO,MAAME,yBAAyB,GAAIC,UAAmB,IAAK;EAChE,MAAMC,sBAAsB,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IACpD,OAAO;MACLC,MAAM,EAAE,IAAAC,iCAAU,EAChBJ,UAAU,GACNK,yCAA8B,CAACC,QAAQ,GACvCD,yCAA8B,CAACE,SAAS,EAC5C;QACEC,QAAQ,EAAE;MACZ,CACF;IACF,CAAC;EACH,CAAC,EAAE,CAACR,UAAU,CAAC,CAAC;EAEhB,OAAO;IAAEC;EAAuB,CAAC;AACnC,CAAC;AAAAQ,OAAA,CAAAV,yBAAA,GAAAA,yBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","require","_constants","useVoiceRecorderAnimation","isExpanded","buttonVariant","containerAnimatedStyle","useAnimatedStyle","height","withTiming","VOICE_RECORDER_CONTAINER_SIZES","EXPANDED","COLLAPSED","duration","exports"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/hooks/useVoiceRecorderAnimation.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAGO,MAAME,yBAAyB,GAAGA,CACvCC,UAAmB,EACnBC,aAAkC,KAC/B;EACH,MAAMC,sBAAsB,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IACpD,OAAO;MACLC,MAAM,EAAE,IAAAC,iCAAU,EAChBL,UAAU,GACNM,yCAA8B,CAACC,QAAQ,CAACN,aAAa,CAAC,GACtDK,yCAA8B,CAACE,SAAS,CAACP,aAAa,CAAC,EAC3D;QACEQ,QAAQ,EAAE;MACZ,CACF;IACF,CAAC;EACH,CAAC,EAAE,CAACT,UAAU,EAAEC,aAAa,CAAC,CAAC;EAE/B,OAAO;IAAEC;EAAuB,CAAC;AACnC,CAAC;AAAAQ,OAAA,CAAAX,yBAAA,GAAAA,yBAAA","ignoreList":[]}
@@ -3,4 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.RecordButtonVariant = void 0;
7
+ let RecordButtonVariant = exports.RecordButtonVariant = /*#__PURE__*/function (RecordButtonVariant) {
8
+ RecordButtonVariant["DEFAULT"] = "default";
9
+ RecordButtonVariant["ADVANCED"] = "advanced";
10
+ return RecordButtonVariant;
11
+ }({});
6
12
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["features/voice/types.ts"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":["RecordButtonVariant","exports"],"sourceRoot":"../../../../src","sources":["features/voice/types.ts"],"mappings":";;;;;;IAqFYA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA","ignoreList":[]}
@@ -1,8 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  export const VOICE_RECORDER_CONTAINER_SIZES = {
4
- COLLAPSED: 61,
5
- EXPANDED: 152
4
+ COLLAPSED: {
5
+ default: 61,
6
+ advanced: 52
7
+ },
8
+ EXPANDED: {
9
+ default: 152,
10
+ advanced: 136
11
+ }
6
12
  };
7
13
  export const VOICE_RECORDER_MAX_DURATION_MS = 60000; // 1 minute
8
14
  export const VOICE_RECORDER_MIN_DURATION_MS = 300;
@@ -16,4 +22,10 @@ export const DROPDOWN_MAX_CONTENT_HEIGHT = 330;
16
22
  export const TRANSCRIPT_RETRY_INTERVAL_MS = 4000;
17
23
  export const TRANSCRIPT_MAX_RETRIES = 15;
18
24
  export const NO_AUDIO_BE_MESSAGE = 'No audio';
25
+
26
+ //todo: remove native shadows from rn-ui and set from WEB for both platforms
27
+ export const VOICE_RECORD_SHADOWS = {
28
+ default: '0 1px 3px 0 rgba(51, 51, 51, 0.10), 0 0 1px 0 rgba(51, 51, 51, 0.40)',
29
+ advanced: '0 0 1px 0 rgba(51, 51, 51, 0.20), 0 3px 10px 0 rgba(51, 51, 51, 0.16)'
30
+ };
19
31
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["VOICE_RECORDER_CONTAINER_SIZES","COLLAPSED","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"],"sourceRoot":"../../../../src","sources":["features/voice/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,8BAA8B,GAAG;EAC5CC,SAAS,EAAE,EAAE;EACbC,QAAQ,EAAE;AACZ,CAAC;AACD,OAAO,MAAMC,8BAA8B,GAAG,KAAK,EAAC;AACpD,OAAO,MAAMC,8BAA8B,GAAG,GAAG;AACjD,WAAYC,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAK9B,OAAO,MAAMC,2BAA2B,GAAG,GAAG;AAC9C,OAAO,MAAMC,4BAA4B,GAAG,IAAI;AAChD,OAAO,MAAMC,sBAAsB,GAAG,EAAE;AACxC,OAAO,MAAMC,mBAAmB,GAAG,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["VOICE_RECORDER_CONTAINER_SIZES","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":";;AAAA,OAAO,MAAMA,8BAA8B,GAAG;EAC5CC,SAAS,EAAE;IACTC,OAAO,EAAE,EAAE;IACXC,QAAQ,EAAE;EACZ,CAAC;EACDC,QAAQ,EAAE;IACRF,OAAO,EAAE,GAAG;IACZC,QAAQ,EAAE;EACZ;AACF,CAAC;AACD,OAAO,MAAME,8BAA8B,GAAG,KAAK,EAAC;AACpD,OAAO,MAAMC,8BAA8B,GAAG,GAAG;AACjD,WAAYC,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAK9B,OAAO,MAAMC,2BAA2B,GAAG,GAAG;AAC9C,OAAO,MAAMC,4BAA4B,GAAG,IAAI;AAChD,OAAO,MAAMC,sBAAsB,GAAG,EAAE;AACxC,OAAO,MAAMC,mBAAmB,GAAG,UAAU;;AAE7C;AACA,OAAO,MAAMC,oBAAoB,GAAG;EAClCV,OAAO,EAAE,sEAAsE;EAC/EC,QAAQ,EAAE;AACZ,CAAC","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  import { StyleSheet } from 'react-native';
4
4
  import { VoiceRecordButton } from "./VoiceRecordButton.js";
5
5
  import React, { useEffect } from 'react';
6
- import { COLORS, SPACING } from '@magmamath/react-native-ui';
6
+ import { BORDER_RADIUS, COLORS, SPACING } from '@magmamath/react-native-ui';
7
7
  import { VoiceRecordDeleteButton } from "./VoiceRecordDeleteButton.js";
8
8
  import { VoiceRecordDivider } from "./VoiceRecordDivider.js";
9
9
  import { VoiceRecordTimer } from "./VoiceRecordTimer.js";
@@ -11,10 +11,13 @@ import Animated, { FadeIn, FadeOut } from 'react-native-reanimated';
11
11
  import { useVoiceRecorder } from "../hooks/useVoiceRecorder.js";
12
12
  import { useVoiceRecorderAnimation } from "../hooks/useVoiceRecorderAnimation.js";
13
13
  import { useUnit } from 'effector-react';
14
+ import { RecordButtonVariant } from "../../types.js";
15
+ import { VOICE_RECORD_SHADOWS } from "../../constants.js";
14
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
17
  export const VoiceRecord = ({
16
18
  style,
17
- model
19
+ model,
20
+ buttonVariant
18
21
  }) => {
19
22
  const {
20
23
  recorderState
@@ -22,22 +25,25 @@ export const VoiceRecord = ({
22
25
  const [isExpanded, isDisabled] = useUnit([model.$isExpanded, model.$isButtonDisabled]);
23
26
  const {
24
27
  containerAnimatedStyle
25
- } = useVoiceRecorderAnimation(isExpanded);
28
+ } = useVoiceRecorderAnimation(isExpanded, buttonVariant);
26
29
  useEffect(() => {
27
30
  return () => {
28
31
  model.cleanup();
29
32
  };
30
33
  }, [model]);
31
34
  return /*#__PURE__*/_jsxs(Animated.View, {
32
- style: [styles.container, style, containerAnimatedStyle],
35
+ style: [styles.container, buttonVariant === RecordButtonVariant.ADVANCED && styles.advancedVariantContainer, {
36
+ boxShadow: VOICE_RECORD_SHADOWS[buttonVariant]
37
+ }, style, containerAnimatedStyle],
33
38
  children: [/*#__PURE__*/_jsx(VoiceRecordButton, {
34
- model: model
39
+ model: model,
40
+ buttonVariant: buttonVariant
35
41
  }), isExpanded && /*#__PURE__*/_jsxs(Animated.View, {
36
42
  entering: FadeIn,
37
43
  exiting: FadeOut,
38
44
  style: styles.expendedContainer,
39
45
  children: [/*#__PURE__*/_jsx(VoiceRecordTimer, {
40
- style: styles.timer,
46
+ style: [styles.timer, buttonVariant === RecordButtonVariant.ADVANCED && styles.advancedVariantTimer],
41
47
  model: model,
42
48
  recordingFileDurationMs: recorderState.durationMillis
43
49
  }), /*#__PURE__*/_jsx(VoiceRecordDivider, {}), /*#__PURE__*/_jsx(VoiceRecordDeleteButton, {
@@ -53,13 +59,19 @@ const styles = StyleSheet.create({
53
59
  padding: 3,
54
60
  paddingBottom: 6,
55
61
  backgroundColor: COLORS.NEUTRAL_3,
56
- borderRadius: 32,
57
- boxShadow: '0 1px 3px 0 rgba(51, 51, 51, 0.10), 0 0 1px 0 rgba(51, 51, 51, 0.40)',
62
+ borderRadius: 32
63
+ },
64
+ advancedVariantContainer: {
65
+ borderRadius: BORDER_RADIUS[300],
66
+ padding: 0,
58
67
  overflow: 'hidden'
59
68
  },
60
69
  timer: {
61
70
  marginTop: SPACING[400]
62
71
  },
72
+ advancedVariantTimer: {
73
+ marginTop: SPACING[150]
74
+ },
63
75
  expendedContainer: {
64
76
  alignItems: 'center'
65
77
  }
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","VoiceRecordButton","React","useEffect","COLORS","SPACING","VoiceRecordDeleteButton","VoiceRecordDivider","VoiceRecordTimer","Animated","FadeIn","FadeOut","useVoiceRecorder","useVoiceRecorderAnimation","useUnit","jsx","_jsx","jsxs","_jsxs","VoiceRecord","style","model","recorderState","isExpanded","isDisabled","$isExpanded","$isButtonDisabled","containerAnimatedStyle","cleanup","View","styles","container","children","entering","exiting","expendedContainer","timer","recordingFileDurationMs","durationMillis","onPress","events","deleteRecord","create","alignItems","padding","paddingBottom","backgroundColor","NEUTRAL_3","borderRadius","boxShadow","overflow","marginTop"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/components/VoiceRecord.tsx"],"mappings":";;AAAA,SAA+BA,UAAU,QAAQ,cAAc;AAC/D,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,OAAOC,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,MAAM,EAAEC,OAAO,QAAQ,4BAA4B;AAC5D,SAASC,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,OAAOC,QAAQ,IAAIC,MAAM,EAAEC,OAAO,QAAQ,yBAAyB;AAEnE,SAASC,gBAAgB,QAAQ,8BAA2B;AAC5D,SAASC,yBAAyB,QAAQ,uCAAoC;AAC9E,SAASC,OAAO,QAAQ,gBAAgB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAOxC,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAwB,CAAC,KAAK;EACjE,MAAM;IAAEC;EAAc,CAAC,GAAGV,gBAAgB,CAACS,KAAK,CAAC;EACjD,MAAM,CAACE,UAAU,EAAEC,UAAU,CAAC,GAAGV,OAAO,CAAC,CAACO,KAAK,CAACI,WAAW,EAAEJ,KAAK,CAACK,iBAAiB,CAAC,CAAC;EAEtF,MAAM;IAAEC;EAAuB,CAAC,GAAGd,yBAAyB,CAACU,UAAU,CAAC;EAExEpB,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACXkB,KAAK,CAACO,OAAO,CAAC,CAAC;IACjB,CAAC;EACH,CAAC,EAAE,CAACP,KAAK,CAAC,CAAC;EAEX,oBACEH,KAAA,CAACT,QAAQ,CAACoB,IAAI;IAACT,KAAK,EAAE,CAACU,MAAM,CAACC,SAAS,EAAEX,KAAK,EAAEO,sBAAsB,CAAE;IAAAK,QAAA,gBACtEhB,IAAA,CAACf,iBAAiB;MAACoB,KAAK,EAAEA;IAAM,CAAE,CAAC,EAClCE,UAAU,iBACTL,KAAA,CAACT,QAAQ,CAACoB,IAAI;MAACI,QAAQ,EAAEvB,MAAO;MAACwB,OAAO,EAAEvB,OAAQ;MAACS,KAAK,EAAEU,MAAM,CAACK,iBAAkB;MAAAH,QAAA,gBACjFhB,IAAA,CAACR,gBAAgB;QACfY,KAAK,EAAEU,MAAM,CAACM,KAAM;QACpBf,KAAK,EAAEA,KAAM;QACbgB,uBAAuB,EAAEf,aAAa,CAACgB;MAAe,CACvD,CAAC,eACFtB,IAAA,CAACT,kBAAkB,IAAE,CAAC,eACtBS,IAAA,CAACV,uBAAuB;QAACkB,UAAU,EAAEA,UAAW;QAACe,OAAO,EAAElB,KAAK,CAACmB,MAAM,CAACC;MAAa,CAAE,CAAC;IAAA,CAC1E,CAChB;EAAA,CACY,CAAC;AAEpB,CAAC;AAED,MAAMX,MAAM,GAAG9B,UAAU,CAAC0C,MAAM,CAAC;EAC/BX,SAAS,EAAE;IACTY,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE,CAAC;IACVC,aAAa,EAAE,CAAC;IAChBC,eAAe,EAAE1C,MAAM,CAAC2C,SAAS;IACjCC,YAAY,EAAE,EAAE;IAChBC,SAAS,EAAE,sEAAsE;IACjFC,QAAQ,EAAE;EACZ,CAAC;EACDd,KAAK,EAAE;IACLe,SAAS,EAAE9C,OAAO,CAAC,GAAG;EACxB,CAAC;EACD8B,iBAAiB,EAAE;IACjBQ,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","VoiceRecordButton","React","useEffect","BORDER_RADIUS","COLORS","SPACING","VoiceRecordDeleteButton","VoiceRecordDivider","VoiceRecordTimer","Animated","FadeIn","FadeOut","useVoiceRecorder","useVoiceRecorderAnimation","useUnit","RecordButtonVariant","VOICE_RECORD_SHADOWS","jsx","_jsx","jsxs","_jsxs","VoiceRecord","style","model","buttonVariant","recorderState","isExpanded","isDisabled","$isExpanded","$isButtonDisabled","containerAnimatedStyle","cleanup","View","styles","container","ADVANCED","advancedVariantContainer","boxShadow","children","entering","exiting","expendedContainer","timer","advancedVariantTimer","recordingFileDurationMs","durationMillis","onPress","events","deleteRecord","create","alignItems","padding","paddingBottom","backgroundColor","NEUTRAL_3","borderRadius","overflow","marginTop"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/components/VoiceRecord.tsx"],"mappings":";;AAAA,SAA+BA,UAAU,QAAQ,cAAc;AAC/D,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,OAAOC,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,aAAa,EAAEC,MAAM,EAAEC,OAAO,QAAQ,4BAA4B;AAC3E,SAASC,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,OAAOC,QAAQ,IAAIC,MAAM,EAAEC,OAAO,QAAQ,yBAAyB;AAEnE,SAASC,gBAAgB,QAAQ,8BAA2B;AAC5D,SAASC,yBAAyB,QAAQ,uCAAoC;AAC9E,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,mBAAmB,QAAQ,gBAAa;AACjD,SAASC,oBAAoB,QAAQ,oBAAiB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQtD,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAAEC,KAAK;EAAEC,KAAK;EAAEC;AAAgC,CAAC,KAAK;EAChF,MAAM;IAAEC;EAAc,CAAC,GAAGb,gBAAgB,CAACW,KAAK,CAAC;EACjD,MAAM,CAACG,UAAU,EAAEC,UAAU,CAAC,GAAGb,OAAO,CAAC,CAACS,KAAK,CAACK,WAAW,EAAEL,KAAK,CAACM,iBAAiB,CAAC,CAAC;EAEtF,MAAM;IAAEC;EAAuB,CAAC,GAAGjB,yBAAyB,CAACa,UAAU,EAAEF,aAAa,CAAC;EAEvFtB,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACXqB,KAAK,CAACQ,OAAO,CAAC,CAAC;IACjB,CAAC;EACH,CAAC,EAAE,CAACR,KAAK,CAAC,CAAC;EAEX,oBACEH,KAAA,CAACX,QAAQ,CAACuB,IAAI;IACZV,KAAK,EAAE,CACLW,MAAM,CAACC,SAAS,EAChBV,aAAa,KAAKT,mBAAmB,CAACoB,QAAQ,IAAIF,MAAM,CAACG,wBAAwB,EACjF;MAAEC,SAAS,EAAErB,oBAAoB,CAACQ,aAAa;IAAE,CAAC,EAClDF,KAAK,EACLQ,sBAAsB,CACtB;IAAAQ,QAAA,gBAEFpB,IAAA,CAAClB,iBAAiB;MAACuB,KAAK,EAAEA,KAAM;MAACC,aAAa,EAAEA;IAAc,CAAE,CAAC,EAChEE,UAAU,iBACTN,KAAA,CAACX,QAAQ,CAACuB,IAAI;MAACO,QAAQ,EAAE7B,MAAO;MAAC8B,OAAO,EAAE7B,OAAQ;MAACW,KAAK,EAAEW,MAAM,CAACQ,iBAAkB;MAAAH,QAAA,gBACjFpB,IAAA,CAACV,gBAAgB;QACfc,KAAK,EAAE,CACLW,MAAM,CAACS,KAAK,EACZlB,aAAa,KAAKT,mBAAmB,CAACoB,QAAQ,IAAIF,MAAM,CAACU,oBAAoB,CAC7E;QACFpB,KAAK,EAAEA,KAAM;QACbqB,uBAAuB,EAAEnB,aAAa,CAACoB;MAAe,CACvD,CAAC,eACF3B,IAAA,CAACX,kBAAkB,IAAE,CAAC,eACtBW,IAAA,CAACZ,uBAAuB;QAACqB,UAAU,EAAEA,UAAW;QAACmB,OAAO,EAAEvB,KAAK,CAACwB,MAAM,CAACC;MAAa,CAAE,CAAC;IAAA,CAC1E,CAChB;EAAA,CACY,CAAC;AAEpB,CAAC;AAED,MAAMf,MAAM,GAAGlC,UAAU,CAACkD,MAAM,CAAC;EAC/Bf,SAAS,EAAE;IACTgB,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE,CAAC;IACVC,aAAa,EAAE,CAAC;IAChBC,eAAe,EAAEjD,MAAM,CAACkD,SAAS;IACjCC,YAAY,EAAE;EAChB,CAAC;EACDnB,wBAAwB,EAAE;IACxBmB,YAAY,EAAEpD,aAAa,CAAC,GAAG,CAAC;IAChCgD,OAAO,EAAE,CAAC;IACVK,QAAQ,EAAE;EACZ,CAAC;EACDd,KAAK,EAAE;IACLe,SAAS,EAAEpD,OAAO,CAAC,GAAG;EACxB,CAAC;EACDsC,oBAAoB,EAAE;IACpBc,SAAS,EAAEpD,OAAO,CAAC,GAAG;EACxB,CAAC;EACDoC,iBAAiB,EAAE;IACjBS,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}