@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.
- package/dist/commonjs/features/voice/constants.js +15 -3
- package/dist/commonjs/features/voice/constants.js.map +1 -1
- package/dist/commonjs/features/voice/recording/components/VoiceRecord.js +19 -7
- package/dist/commonjs/features/voice/recording/components/VoiceRecord.js.map +1 -1
- package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js +84 -27
- package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
- package/dist/commonjs/features/voice/recording/components/VoiceRecordDeleteButton.js +2 -2
- package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.js +3 -3
- package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.js.map +1 -1
- package/dist/commonjs/features/voice/types.js +6 -0
- package/dist/commonjs/features/voice/types.js.map +1 -1
- package/dist/module/features/voice/constants.js +14 -2
- package/dist/module/features/voice/constants.js.map +1 -1
- package/dist/module/features/voice/recording/components/VoiceRecord.js +20 -8
- package/dist/module/features/voice/recording/components/VoiceRecord.js.map +1 -1
- package/dist/module/features/voice/recording/components/VoiceRecordButton.js +86 -29
- package/dist/module/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
- package/dist/module/features/voice/recording/components/VoiceRecordDeleteButton.js +2 -2
- package/dist/module/features/voice/recording/hooks/useVoiceRecorderAnimation.js +3 -3
- package/dist/module/features/voice/recording/hooks/useVoiceRecorderAnimation.js.map +1 -1
- package/dist/module/features/voice/types.js +5 -1
- package/dist/module/features/voice/types.js.map +1 -1
- package/dist/typescript/commonjs/features/voice/constants.d.ts +12 -2
- package/dist/typescript/commonjs/features/voice/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecord.d.ts +3 -1
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecord.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts +3 -3
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts +2 -1
- package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/types.d.ts +4 -0
- package/dist/typescript/commonjs/features/voice/types.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/constants.d.ts +12 -2
- package/dist/typescript/module/features/voice/constants.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/recording/components/VoiceRecord.d.ts +3 -1
- package/dist/typescript/module/features/voice/recording/components/VoiceRecord.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts +3 -3
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts +2 -1
- package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/types.d.ts +4 -0
- package/dist/typescript/module/features/voice/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/voice/constants.ts +14 -2
- package/src/features/voice/recording/components/VoiceRecord.tsx +27 -7
- package/src/features/voice/recording/components/VoiceRecordButton.tsx +113 -30
- package/src/features/voice/recording/components/VoiceRecordDeleteButton.tsx +2 -2
- package/src/features/voice/recording/hooks/useVoiceRecorderAnimation.ts +8 -4
- package/src/features/voice/types.ts +5 -0
- package/.claude/settings.local.json +0 -25
- package/.editorconfig +0 -15
- package/.eslintignore +0 -2
- package/.eslintrc +0 -22
- package/.gitattributes +0 -3
- package/.github/actions/setup/action.yml +0 -37
- package/.github/workflows/ci.yml +0 -73
- package/.gitignore +0 -84
- package/.idea/.gitignore +0 -8
- package/.idea/codeStyles/Project.xml +0 -62
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/copilot.data.migration.agent.xml +0 -6
- package/.idea/copilot.data.migration.ask.xml +0 -6
- package/.idea/copilot.data.migration.ask2agent.xml +0 -6
- package/.idea/copilot.data.migration.edit.xml +0 -6
- package/.idea/inspectionProfiles/Project_Default.xml +0 -8
- package/.idea/jsLinters/eslint.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/prettier.xml +0 -7
- package/.idea/students-features.iml +0 -12
- package/.idea/vcs.xml +0 -6
- package/.idea/workspace.xml +0 -672
- package/.nvmrc +0 -1
- package/.prettierrc +0 -11
- package/.release-it.json +0 -17
- package/.watchmanconfig +0 -1
- package/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +0 -541
- package/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs +0 -28
- package/.yarn/releases/yarn-3.6.1.cjs +0 -874
- package/babel.config.js +0 -5
- package/bob.config.js +0 -25
- package/example/.expo/README.md +0 -8
- package/example/.expo/devices.json +0 -3
- package/example/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-48.png +0 -0
- package/example/app.json +0 -30
- package/example/assets/adaptive-icon.png +0 -0
- package/example/assets/favicon.png +0 -0
- package/example/assets/icon.png +0 -0
- package/example/assets/splash-icon.png +0 -0
- package/example/babel.config.js +0 -28
- package/example/index.js +0 -8
- package/example/metro.config.js +0 -18
- package/example/package.json +0 -25
- package/example/src/App.tsx +0 -8
- package/example/tsconfig.json +0 -6
- package/tsconfig.build.json +0 -4
- package/tsconfig.json +0 -34
- package/yarn.lock +0 -10984
|
@@ -1,57 +1,114 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React
|
|
4
|
-
import { Button, ButtonColor, ButtonSize, ButtonVariant, IS_WEB } from '@magmamath/react-native-ui';
|
|
5
|
-
import { Pressable } from 'react-native';
|
|
6
|
-
import { MicrophoneIcon, CheckIcon } from '@magmamath/react-native-ui';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { BORDER_RADIUS, Button, ButtonColor, ButtonSize, ButtonVariant, CheckIcon, COLORS, IS_WEB, MicrophoneIcon } from '@magmamath/react-native-ui';
|
|
5
|
+
import { Pressable, StyleSheet, View } from 'react-native';
|
|
7
6
|
import { useUnit } from 'effector-react';
|
|
8
|
-
import { VoiceRecorderState } from "../../constants.js";
|
|
7
|
+
import { VOICE_RECORD_SHADOWS, VoiceRecorderState } from "../../constants.js";
|
|
9
8
|
import { useText } from "../../../../shared/translation/index.js";
|
|
9
|
+
import { RecordButtonVariant } from "../../types.js";
|
|
10
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
const defaultButtonStyles = {
|
|
12
|
+
button: {
|
|
13
|
+
width: 50,
|
|
14
|
+
height: 50
|
|
15
|
+
}
|
|
16
|
+
};
|
|
11
17
|
export const VoiceRecordButton = ({
|
|
12
|
-
|
|
13
|
-
|
|
18
|
+
model,
|
|
19
|
+
buttonVariant
|
|
14
20
|
}) => {
|
|
15
21
|
const t = useText();
|
|
16
22
|
const availableInputs = useUnit(model.recorderModel.$availableInputs);
|
|
17
23
|
const voiceRecordState = useUnit(model.recorderModel.$voiceRecordState);
|
|
18
24
|
const isButtonDisabled = useUnit(model.$isButtonDisabled);
|
|
19
25
|
const isInitializing = useUnit(model.initializeRecording.pending);
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
width: 50,
|
|
24
|
-
height: 50
|
|
25
|
-
}, style?.button],
|
|
26
|
-
container: [style?.container],
|
|
27
|
-
text: [style?.text]
|
|
28
|
-
};
|
|
29
|
-
}, [style]);
|
|
26
|
+
const isRecording = voiceRecordState === VoiceRecorderState.RECORDING;
|
|
27
|
+
const isIdle = voiceRecordState === VoiceRecorderState.IDLE;
|
|
28
|
+
const hasInputs = availableInputs.length > 0;
|
|
30
29
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
31
30
|
onPressIn: e => {
|
|
32
|
-
if (
|
|
31
|
+
if (hasInputs) return;
|
|
33
32
|
e.preventDefault();
|
|
34
33
|
model.notification.warning(t('voice.noMicrophoneFound'));
|
|
35
34
|
},
|
|
36
|
-
pointerEvents: !
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
pointerEvents: !hasInputs || isInitializing ? 'box-only' : 'auto',
|
|
36
|
+
style: [isButtonDisabled ? styles.disabledCursor : undefined],
|
|
37
|
+
children: buttonVariant === RecordButtonVariant.ADVANCED ? /*#__PURE__*/_jsx(AdvancedButton, {
|
|
38
|
+
isRecording: isRecording,
|
|
39
|
+
isIdle: isIdle,
|
|
40
|
+
disabled: isButtonDisabled,
|
|
41
|
+
onPressIn: () => model.recorderButtonHandler()
|
|
42
|
+
}) : /*#__PURE__*/_jsx(Button, {
|
|
43
|
+
disabled: isButtonDisabled,
|
|
39
44
|
onPressIn: () => model.recorderButtonHandler(),
|
|
40
|
-
style:
|
|
45
|
+
style: defaultButtonStyles,
|
|
41
46
|
size: ButtonSize.LARGE,
|
|
42
47
|
variant: ButtonVariant.SECONDARY,
|
|
43
48
|
colorScheme: ButtonColor.WHITE,
|
|
44
|
-
icon:
|
|
49
|
+
icon: isRecording ? /*#__PURE__*/_jsx(CheckIcon, {
|
|
45
50
|
size: 25
|
|
46
51
|
}) : /*#__PURE__*/_jsx(MicrophoneIcon, {
|
|
47
|
-
style: IS_WEB ?
|
|
48
|
-
width: 19
|
|
49
|
-
} : {
|
|
50
|
-
minWidth: 23,
|
|
51
|
-
minHeight: 23
|
|
52
|
-
}
|
|
52
|
+
style: IS_WEB ? styles.microphoneIconWeb : styles.microphoneIconNative
|
|
53
53
|
})
|
|
54
54
|
})
|
|
55
55
|
});
|
|
56
56
|
};
|
|
57
|
+
const AdvancedButton = ({
|
|
58
|
+
isRecording,
|
|
59
|
+
isIdle,
|
|
60
|
+
disabled,
|
|
61
|
+
onPressIn
|
|
62
|
+
}) => /*#__PURE__*/_jsx(Pressable, {
|
|
63
|
+
style: [styles.advancedButtonContainer, disabled && styles.disabledCursor],
|
|
64
|
+
onPressIn: onPressIn,
|
|
65
|
+
disabled: disabled,
|
|
66
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
67
|
+
style: [styles.advancedIconContainer, !isIdle && styles.advancedIconContainerActive],
|
|
68
|
+
children: isRecording ? /*#__PURE__*/_jsx(CheckIcon, {
|
|
69
|
+
size: 18,
|
|
70
|
+
color: COLORS.NEUTRAL_1
|
|
71
|
+
}) : /*#__PURE__*/_jsx(MicrophoneIcon, {
|
|
72
|
+
style: styles.advancedMicrophoneIcon,
|
|
73
|
+
color: disabled ? COLORS.NEUTRAL_5 : isIdle ? COLORS.NEUTRAL_9 : COLORS.NEUTRAL_1
|
|
74
|
+
})
|
|
75
|
+
})
|
|
76
|
+
});
|
|
77
|
+
const styles = StyleSheet.create({
|
|
78
|
+
advancedButtonContainer: {
|
|
79
|
+
width: 52,
|
|
80
|
+
height: 52,
|
|
81
|
+
backgroundColor: 'white',
|
|
82
|
+
alignItems: 'center',
|
|
83
|
+
justifyContent: 'center',
|
|
84
|
+
borderRadius: BORDER_RADIUS[300],
|
|
85
|
+
boxShadow: VOICE_RECORD_SHADOWS[RecordButtonVariant.ADVANCED]
|
|
86
|
+
},
|
|
87
|
+
advancedIconContainer: {
|
|
88
|
+
width: 36,
|
|
89
|
+
height: 36,
|
|
90
|
+
borderRadius: BORDER_RADIUS[300],
|
|
91
|
+
justifyContent: 'center',
|
|
92
|
+
alignItems: 'center'
|
|
93
|
+
},
|
|
94
|
+
disabledCursor: {
|
|
95
|
+
// @ts-expect-error web-only property
|
|
96
|
+
cursor: 'not-allowed'
|
|
97
|
+
},
|
|
98
|
+
microphoneIconWeb: {
|
|
99
|
+
width: 19
|
|
100
|
+
},
|
|
101
|
+
microphoneIconNative: {
|
|
102
|
+
minWidth: 23,
|
|
103
|
+
minHeight: 23
|
|
104
|
+
},
|
|
105
|
+
advancedIconContainerActive: {
|
|
106
|
+
borderRadius: 32,
|
|
107
|
+
backgroundColor: COLORS.PRIMARY_BLUE
|
|
108
|
+
},
|
|
109
|
+
advancedMicrophoneIcon: {
|
|
110
|
+
width: 14,
|
|
111
|
+
height: 19
|
|
112
|
+
}
|
|
113
|
+
});
|
|
57
114
|
//# sourceMappingURL=VoiceRecordButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","BORDER_RADIUS","Button","ButtonColor","ButtonSize","ButtonVariant","CheckIcon","COLORS","IS_WEB","MicrophoneIcon","Pressable","StyleSheet","View","useUnit","VOICE_RECORD_SHADOWS","VoiceRecorderState","useText","RecordButtonVariant","jsx","_jsx","defaultButtonStyles","button","width","height","VoiceRecordButton","model","buttonVariant","t","availableInputs","recorderModel","$availableInputs","voiceRecordState","$voiceRecordState","isButtonDisabled","$isButtonDisabled","isInitializing","initializeRecording","pending","isRecording","RECORDING","isIdle","IDLE","hasInputs","length","onPressIn","e","preventDefault","notification","warning","pointerEvents","style","styles","disabledCursor","undefined","children","ADVANCED","AdvancedButton","disabled","recorderButtonHandler","size","LARGE","variant","SECONDARY","colorScheme","WHITE","icon","microphoneIconWeb","microphoneIconNative","advancedButtonContainer","advancedIconContainer","advancedIconContainerActive","color","NEUTRAL_1","advancedMicrophoneIcon","NEUTRAL_5","NEUTRAL_9","create","backgroundColor","alignItems","justifyContent","borderRadius","boxShadow","cursor","minWidth","minHeight","PRIMARY_BLUE"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/components/VoiceRecordButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
import { useAnimatedStyle, withTiming } from 'react-native-reanimated';
|
|
4
4
|
import { VOICE_RECORDER_CONTAINER_SIZES } from "../../constants.js";
|
|
5
|
-
export const useVoiceRecorderAnimation = isExpanded => {
|
|
5
|
+
export const useVoiceRecorderAnimation = (isExpanded, buttonVariant) => {
|
|
6
6
|
const containerAnimatedStyle = useAnimatedStyle(() => {
|
|
7
7
|
return {
|
|
8
|
-
height: withTiming(isExpanded ? VOICE_RECORDER_CONTAINER_SIZES.EXPANDED : VOICE_RECORDER_CONTAINER_SIZES.COLLAPSED, {
|
|
8
|
+
height: withTiming(isExpanded ? VOICE_RECORDER_CONTAINER_SIZES.EXPANDED[buttonVariant] : VOICE_RECORDER_CONTAINER_SIZES.COLLAPSED[buttonVariant], {
|
|
9
9
|
duration: 280
|
|
10
10
|
})
|
|
11
11
|
};
|
|
12
|
-
}, [isExpanded]);
|
|
12
|
+
}, [isExpanded, buttonVariant]);
|
|
13
13
|
return {
|
|
14
14
|
containerAnimatedStyle
|
|
15
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useAnimatedStyle","withTiming","VOICE_RECORDER_CONTAINER_SIZES","useVoiceRecorderAnimation","isExpanded","containerAnimatedStyle","height","EXPANDED","COLLAPSED","duration"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/hooks/useVoiceRecorderAnimation.ts"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,UAAU,QAAQ,yBAAyB;AACtE,SAASC,8BAA8B,QAAQ,oBAAiB;
|
|
1
|
+
{"version":3,"names":["useAnimatedStyle","withTiming","VOICE_RECORDER_CONTAINER_SIZES","useVoiceRecorderAnimation","isExpanded","buttonVariant","containerAnimatedStyle","height","EXPANDED","COLLAPSED","duration"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/hooks/useVoiceRecorderAnimation.ts"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,UAAU,QAAQ,yBAAyB;AACtE,SAASC,8BAA8B,QAAQ,oBAAiB;AAGhE,OAAO,MAAMC,yBAAyB,GAAGA,CACvCC,UAAmB,EACnBC,aAAkC,KAC/B;EACH,MAAMC,sBAAsB,GAAGN,gBAAgB,CAAC,MAAM;IACpD,OAAO;MACLO,MAAM,EAAEN,UAAU,CAChBG,UAAU,GACNF,8BAA8B,CAACM,QAAQ,CAACH,aAAa,CAAC,GACtDH,8BAA8B,CAACO,SAAS,CAACJ,aAAa,CAAC,EAC3D;QACEK,QAAQ,EAAE;MACZ,CACF;IACF,CAAC;EACH,CAAC,EAAE,CAACN,UAAU,EAAEC,aAAa,CAAC,CAAC;EAE/B,OAAO;IAAEC;EAAuB,CAAC;AACnC,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export {
|
|
3
|
+
export let RecordButtonVariant = /*#__PURE__*/function (RecordButtonVariant) {
|
|
4
|
+
RecordButtonVariant["DEFAULT"] = "default";
|
|
5
|
+
RecordButtonVariant["ADVANCED"] = "advanced";
|
|
6
|
+
return RecordButtonVariant;
|
|
7
|
+
}({});
|
|
4
8
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["features/voice/types.ts"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["RecordButtonVariant"],"sourceRoot":"../../../../src","sources":["features/voice/types.ts"],"mappings":";;AAqFA,WAAYA,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA","ignoreList":[]}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
export declare const VOICE_RECORDER_CONTAINER_SIZES: {
|
|
2
|
-
COLLAPSED:
|
|
3
|
-
|
|
2
|
+
COLLAPSED: {
|
|
3
|
+
default: number;
|
|
4
|
+
advanced: number;
|
|
5
|
+
};
|
|
6
|
+
EXPANDED: {
|
|
7
|
+
default: number;
|
|
8
|
+
advanced: number;
|
|
9
|
+
};
|
|
4
10
|
};
|
|
5
11
|
export declare const VOICE_RECORDER_MAX_DURATION_MS = 60000;
|
|
6
12
|
export declare const VOICE_RECORDER_MIN_DURATION_MS = 300;
|
|
@@ -13,4 +19,8 @@ export declare const DROPDOWN_MAX_CONTENT_HEIGHT = 330;
|
|
|
13
19
|
export declare const TRANSCRIPT_RETRY_INTERVAL_MS = 4000;
|
|
14
20
|
export declare const TRANSCRIPT_MAX_RETRIES = 15;
|
|
15
21
|
export declare const NO_AUDIO_BE_MESSAGE = "No audio";
|
|
22
|
+
export declare const VOICE_RECORD_SHADOWS: {
|
|
23
|
+
default: string;
|
|
24
|
+
advanced: string;
|
|
25
|
+
};
|
|
16
26
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/voice/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/voice/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B;;;;;;;;;CAS1C,CAAA;AACD,eAAO,MAAM,8BAA8B,QAAQ,CAAA;AACnD,eAAO,MAAM,8BAA8B,MAAM,CAAA;AACjD,oBAAY,kBAAkB;IAC5B,IAAI,IAAA;IACJ,SAAS,IAAA;IACT,MAAM,IAAA;CACP;AACD,eAAO,MAAM,2BAA2B,MAAM,CAAA;AAC9C,eAAO,MAAM,4BAA4B,OAAO,CAAA;AAChD,eAAO,MAAM,sBAAsB,KAAK,CAAA;AACxC,eAAO,MAAM,mBAAmB,aAAa,CAAA;AAG7C,eAAO,MAAM,oBAAoB;;;CAGhC,CAAA"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { StyleProp, ViewStyle } from 'react-native';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { VoiceRecordModel } from '../model/VoiceRecord.model';
|
|
4
|
+
import { RecordButtonVariant } from '../../types';
|
|
4
5
|
type VoiceRecordProps = {
|
|
5
6
|
style?: StyleProp<ViewStyle>;
|
|
6
7
|
model: VoiceRecordModel;
|
|
8
|
+
buttonVariant: RecordButtonVariant;
|
|
7
9
|
};
|
|
8
|
-
export declare const VoiceRecord: ({ style, model }: VoiceRecordProps) => React.JSX.Element;
|
|
10
|
+
export declare const VoiceRecord: ({ style, model, buttonVariant }: VoiceRecordProps) => React.JSX.Element;
|
|
9
11
|
export {};
|
|
10
12
|
//# sourceMappingURL=VoiceRecord.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecord.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/components/VoiceRecord.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAc,MAAM,cAAc,CAAA;AAE/D,OAAO,KAAoB,MAAM,OAAO,CAAA;AAMxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"VoiceRecord.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/components/VoiceRecord.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAc,MAAM,cAAc,CAAA;AAE/D,OAAO,KAAoB,MAAM,OAAO,CAAA;AAMxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAI7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,KAAK,EAAE,gBAAgB,CAAA;IACvB,aAAa,EAAE,mBAAmB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,WAAW,oCAAqC,gBAAgB,sBAuC5E,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { ButtonStyle } from '@magmamath/react-native-ui';
|
|
3
2
|
import { VoiceRecordModel } from '../model/VoiceRecord.model';
|
|
3
|
+
import { RecordButtonVariant } from '../../types';
|
|
4
4
|
type VoiceRecordButtonProps = {
|
|
5
|
-
style?: ButtonStyle;
|
|
6
5
|
model: VoiceRecordModel;
|
|
6
|
+
buttonVariant: RecordButtonVariant;
|
|
7
7
|
};
|
|
8
|
-
export declare const VoiceRecordButton: ({
|
|
8
|
+
export declare const VoiceRecordButton: ({ model, buttonVariant }: VoiceRecordButtonProps) => React.JSX.Element;
|
|
9
9
|
export {};
|
|
10
10
|
//# sourceMappingURL=VoiceRecordButton.d.ts.map
|
package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecordButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/components/VoiceRecordButton.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"VoiceRecordButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/components/VoiceRecordButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAI7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,gBAAgB,CAAA;IACvB,aAAa,EAAE,mBAAmB,CAAA;CACnC,CAAA;AASD,eAAO,MAAM,iBAAiB,6BAA8B,sBAAsB,sBAkDjF,CAAA"}
|
package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { RecordButtonVariant } from '../../types';
|
|
2
|
+
export declare const useVoiceRecorderAnimation: (isExpanded: boolean, buttonVariant: RecordButtonVariant) => {
|
|
2
3
|
containerAnimatedStyle: {
|
|
3
4
|
height: number;
|
|
4
5
|
};
|
package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVoiceRecorderAnimation.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/hooks/useVoiceRecorderAnimation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useVoiceRecorderAnimation.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/hooks/useVoiceRecorderAnimation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,yBAAyB,eACxB,OAAO,iBACJ,mBAAmB;;;;CAgBnC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/voice/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/voice/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;IAC/C,iBAAiB,EAAE,QAAQ,CAAA;CAC5B,CAAC,CAAA;AAEF,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAA;IACxD,UAAU,CAAC,EAAE,eAAe,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB,CAAA;CAC/C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC3E,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACxD,CAAA;AAED,KAAK,mBAAmB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;AAC7D,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,mBAAmB,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACjF,iBAAiB,EAAE,CACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAC/B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACnC,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
export declare const VOICE_RECORDER_CONTAINER_SIZES: {
|
|
2
|
-
COLLAPSED:
|
|
3
|
-
|
|
2
|
+
COLLAPSED: {
|
|
3
|
+
default: number;
|
|
4
|
+
advanced: number;
|
|
5
|
+
};
|
|
6
|
+
EXPANDED: {
|
|
7
|
+
default: number;
|
|
8
|
+
advanced: number;
|
|
9
|
+
};
|
|
4
10
|
};
|
|
5
11
|
export declare const VOICE_RECORDER_MAX_DURATION_MS = 60000;
|
|
6
12
|
export declare const VOICE_RECORDER_MIN_DURATION_MS = 300;
|
|
@@ -13,4 +19,8 @@ export declare const DROPDOWN_MAX_CONTENT_HEIGHT = 330;
|
|
|
13
19
|
export declare const TRANSCRIPT_RETRY_INTERVAL_MS = 4000;
|
|
14
20
|
export declare const TRANSCRIPT_MAX_RETRIES = 15;
|
|
15
21
|
export declare const NO_AUDIO_BE_MESSAGE = "No audio";
|
|
22
|
+
export declare const VOICE_RECORD_SHADOWS: {
|
|
23
|
+
default: string;
|
|
24
|
+
advanced: string;
|
|
25
|
+
};
|
|
16
26
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/voice/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/voice/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B;;;;;;;;;CAS1C,CAAA;AACD,eAAO,MAAM,8BAA8B,QAAQ,CAAA;AACnD,eAAO,MAAM,8BAA8B,MAAM,CAAA;AACjD,oBAAY,kBAAkB;IAC5B,IAAI,IAAA;IACJ,SAAS,IAAA;IACT,MAAM,IAAA;CACP;AACD,eAAO,MAAM,2BAA2B,MAAM,CAAA;AAC9C,eAAO,MAAM,4BAA4B,OAAO,CAAA;AAChD,eAAO,MAAM,sBAAsB,KAAK,CAAA;AACxC,eAAO,MAAM,mBAAmB,aAAa,CAAA;AAG7C,eAAO,MAAM,oBAAoB;;;CAGhC,CAAA"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { StyleProp, ViewStyle } from 'react-native';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { VoiceRecordModel } from '../model/VoiceRecord.model';
|
|
4
|
+
import { RecordButtonVariant } from '../../types';
|
|
4
5
|
type VoiceRecordProps = {
|
|
5
6
|
style?: StyleProp<ViewStyle>;
|
|
6
7
|
model: VoiceRecordModel;
|
|
8
|
+
buttonVariant: RecordButtonVariant;
|
|
7
9
|
};
|
|
8
|
-
export declare const VoiceRecord: ({ style, model }: VoiceRecordProps) => React.JSX.Element;
|
|
10
|
+
export declare const VoiceRecord: ({ style, model, buttonVariant }: VoiceRecordProps) => React.JSX.Element;
|
|
9
11
|
export {};
|
|
10
12
|
//# sourceMappingURL=VoiceRecord.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecord.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/components/VoiceRecord.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAc,MAAM,cAAc,CAAA;AAE/D,OAAO,KAAoB,MAAM,OAAO,CAAA;AAMxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"VoiceRecord.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/components/VoiceRecord.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAc,MAAM,cAAc,CAAA;AAE/D,OAAO,KAAoB,MAAM,OAAO,CAAA;AAMxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAI7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,KAAK,EAAE,gBAAgB,CAAA;IACvB,aAAa,EAAE,mBAAmB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,WAAW,oCAAqC,gBAAgB,sBAuC5E,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { ButtonStyle } from '@magmamath/react-native-ui';
|
|
3
2
|
import { VoiceRecordModel } from '../model/VoiceRecord.model';
|
|
3
|
+
import { RecordButtonVariant } from '../../types';
|
|
4
4
|
type VoiceRecordButtonProps = {
|
|
5
|
-
style?: ButtonStyle;
|
|
6
5
|
model: VoiceRecordModel;
|
|
6
|
+
buttonVariant: RecordButtonVariant;
|
|
7
7
|
};
|
|
8
|
-
export declare const VoiceRecordButton: ({
|
|
8
|
+
export declare const VoiceRecordButton: ({ model, buttonVariant }: VoiceRecordButtonProps) => React.JSX.Element;
|
|
9
9
|
export {};
|
|
10
10
|
//# sourceMappingURL=VoiceRecordButton.d.ts.map
|
package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecordButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/components/VoiceRecordButton.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"VoiceRecordButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/components/VoiceRecordButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAI7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,gBAAgB,CAAA;IACvB,aAAa,EAAE,mBAAmB,CAAA;CACnC,CAAA;AASD,eAAO,MAAM,iBAAiB,6BAA8B,sBAAsB,sBAkDjF,CAAA"}
|
package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { RecordButtonVariant } from '../../types';
|
|
2
|
+
export declare const useVoiceRecorderAnimation: (isExpanded: boolean, buttonVariant: RecordButtonVariant) => {
|
|
2
3
|
containerAnimatedStyle: {
|
|
3
4
|
height: number;
|
|
4
5
|
};
|
package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVoiceRecorderAnimation.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/hooks/useVoiceRecorderAnimation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useVoiceRecorderAnimation.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/hooks/useVoiceRecorderAnimation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,yBAAyB,eACxB,OAAO,iBACJ,mBAAmB;;;;CAgBnC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/voice/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/voice/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
export const VOICE_RECORDER_CONTAINER_SIZES = {
|
|
2
|
-
COLLAPSED:
|
|
3
|
-
|
|
2
|
+
COLLAPSED: {
|
|
3
|
+
default: 61,
|
|
4
|
+
advanced: 52,
|
|
5
|
+
},
|
|
6
|
+
EXPANDED: {
|
|
7
|
+
default: 152,
|
|
8
|
+
advanced: 136,
|
|
9
|
+
},
|
|
4
10
|
}
|
|
5
11
|
export const VOICE_RECORDER_MAX_DURATION_MS = 60000 // 1 minute
|
|
6
12
|
export const VOICE_RECORDER_MIN_DURATION_MS = 300
|
|
@@ -13,3 +19,9 @@ export const DROPDOWN_MAX_CONTENT_HEIGHT = 330
|
|
|
13
19
|
export const TRANSCRIPT_RETRY_INTERVAL_MS = 4000
|
|
14
20
|
export const TRANSCRIPT_MAX_RETRIES = 15
|
|
15
21
|
export const NO_AUDIO_BE_MESSAGE = 'No audio'
|
|
22
|
+
|
|
23
|
+
//todo: remove native shadows from rn-ui and set from WEB for both platforms
|
|
24
|
+
export const VOICE_RECORD_SHADOWS = {
|
|
25
|
+
default: '0 1px 3px 0 rgba(51, 51, 51, 0.10), 0 0 1px 0 rgba(51, 51, 51, 0.40)',
|
|
26
|
+
advanced: '0 0 1px 0 rgba(51, 51, 51, 0.20), 0 3px 10px 0 rgba(51, 51, 51, 0.16)',
|
|
27
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { StyleProp, ViewStyle, StyleSheet } from 'react-native'
|
|
2
2
|
import { VoiceRecordButton } from './VoiceRecordButton'
|
|
3
3
|
import React, { useEffect } from 'react'
|
|
4
|
-
import { COLORS, SPACING } from '@magmamath/react-native-ui'
|
|
4
|
+
import { BORDER_RADIUS, COLORS, SPACING } from '@magmamath/react-native-ui'
|
|
5
5
|
import { VoiceRecordDeleteButton } from './VoiceRecordDeleteButton'
|
|
6
6
|
import { VoiceRecordDivider } from './VoiceRecordDivider'
|
|
7
7
|
import { VoiceRecordTimer } from './VoiceRecordTimer'
|
|
@@ -10,17 +10,20 @@ import { VoiceRecordModel } from '../model/VoiceRecord.model'
|
|
|
10
10
|
import { useVoiceRecorder } from '../hooks/useVoiceRecorder'
|
|
11
11
|
import { useVoiceRecorderAnimation } from '../hooks/useVoiceRecorderAnimation'
|
|
12
12
|
import { useUnit } from 'effector-react'
|
|
13
|
+
import { RecordButtonVariant } from '../../types'
|
|
14
|
+
import { VOICE_RECORD_SHADOWS } from '../../constants'
|
|
13
15
|
|
|
14
16
|
type VoiceRecordProps = {
|
|
15
17
|
style?: StyleProp<ViewStyle>
|
|
16
18
|
model: VoiceRecordModel
|
|
19
|
+
buttonVariant: RecordButtonVariant
|
|
17
20
|
}
|
|
18
21
|
|
|
19
|
-
export const VoiceRecord = ({ style, model }: VoiceRecordProps) => {
|
|
22
|
+
export const VoiceRecord = ({ style, model, buttonVariant }: VoiceRecordProps) => {
|
|
20
23
|
const { recorderState } = useVoiceRecorder(model)
|
|
21
24
|
const [isExpanded, isDisabled] = useUnit([model.$isExpanded, model.$isButtonDisabled])
|
|
22
25
|
|
|
23
|
-
const { containerAnimatedStyle } = useVoiceRecorderAnimation(isExpanded)
|
|
26
|
+
const { containerAnimatedStyle } = useVoiceRecorderAnimation(isExpanded, buttonVariant)
|
|
24
27
|
|
|
25
28
|
useEffect(() => {
|
|
26
29
|
return () => {
|
|
@@ -29,12 +32,23 @@ export const VoiceRecord = ({ style, model }: VoiceRecordProps) => {
|
|
|
29
32
|
}, [model])
|
|
30
33
|
|
|
31
34
|
return (
|
|
32
|
-
<Animated.View
|
|
33
|
-
|
|
35
|
+
<Animated.View
|
|
36
|
+
style={[
|
|
37
|
+
styles.container,
|
|
38
|
+
buttonVariant === RecordButtonVariant.ADVANCED && styles.advancedVariantContainer,
|
|
39
|
+
{ boxShadow: VOICE_RECORD_SHADOWS[buttonVariant] },
|
|
40
|
+
style,
|
|
41
|
+
containerAnimatedStyle,
|
|
42
|
+
]}
|
|
43
|
+
>
|
|
44
|
+
<VoiceRecordButton model={model} buttonVariant={buttonVariant} />
|
|
34
45
|
{isExpanded && (
|
|
35
46
|
<Animated.View entering={FadeIn} exiting={FadeOut} style={styles.expendedContainer}>
|
|
36
47
|
<VoiceRecordTimer
|
|
37
|
-
style={
|
|
48
|
+
style={[
|
|
49
|
+
styles.timer,
|
|
50
|
+
buttonVariant === RecordButtonVariant.ADVANCED && styles.advancedVariantTimer,
|
|
51
|
+
]}
|
|
38
52
|
model={model}
|
|
39
53
|
recordingFileDurationMs={recorderState.durationMillis}
|
|
40
54
|
/>
|
|
@@ -53,12 +67,18 @@ const styles = StyleSheet.create({
|
|
|
53
67
|
paddingBottom: 6,
|
|
54
68
|
backgroundColor: COLORS.NEUTRAL_3,
|
|
55
69
|
borderRadius: 32,
|
|
56
|
-
|
|
70
|
+
},
|
|
71
|
+
advancedVariantContainer: {
|
|
72
|
+
borderRadius: BORDER_RADIUS[300],
|
|
73
|
+
padding: 0,
|
|
57
74
|
overflow: 'hidden',
|
|
58
75
|
},
|
|
59
76
|
timer: {
|
|
60
77
|
marginTop: SPACING[400],
|
|
61
78
|
},
|
|
79
|
+
advancedVariantTimer: {
|
|
80
|
+
marginTop: SPACING[150],
|
|
81
|
+
},
|
|
62
82
|
expendedContainer: {
|
|
63
83
|
alignItems: 'center',
|
|
64
84
|
},
|