@exode-team/react-recorder 1.1.3 → 1.1.5
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/components/AudioRecorder.d.ts +2 -3
- package/dist/components/AudioRecorder.d.ts.map +1 -1
- package/dist/components/VoiceRecorderInput/VoiceRecorderInput.d.ts +1 -2
- package/dist/components/VoiceRecorderInput/VoiceRecorderInput.d.ts.map +1 -1
- package/dist/components/VoiceRecorderInput/VoiceRecorderInput.styled.d.ts.map +1 -1
- package/dist/hooks/useRecordingSender.d.ts +1 -2
- package/dist/hooks/useRecordingSender.d.ts.map +1 -1
- package/dist/hooks/useVoiceRecorder.d.ts.map +1 -1
- package/dist/hooks/useVoiceRecorderInput.d.ts +1 -2
- package/dist/hooks/useVoiceRecorderInput.d.ts.map +1 -1
- package/dist/index.cjs +8 -29
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -29
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +1 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/recorder.d.ts +1 -2
- package/dist/types/recorder.d.ts.map +1 -1
- package/dist/types/upload.d.ts +0 -7
- package/dist/types/upload.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -4,14 +4,13 @@
|
|
|
4
4
|
* @author: exode <hello@exode.ru>
|
|
5
5
|
*/
|
|
6
6
|
import { type RecorderMessagesInput } from './AudioRecorder.messages';
|
|
7
|
-
import { type StorageFileEntity, type
|
|
8
|
-
type RecorderOptionOverrides = Omit<UseVoiceRecorderOptions<Partial<StorageFileEntity>>, '
|
|
7
|
+
import { type StorageFileEntity, type UploadStrategy, type UseVoiceRecorderOptions } from '../types';
|
|
8
|
+
type RecorderOptionOverrides = Omit<UseVoiceRecorderOptions<Partial<StorageFileEntity>>, 'uploadId' | 'onUploaded' | 'uploader'>;
|
|
9
9
|
interface Props extends Partial<RecorderOptionOverrides> {
|
|
10
10
|
uploader: UploadStrategy<Partial<StorageFileEntity>>;
|
|
11
11
|
messages?: RecorderMessagesInput;
|
|
12
12
|
uploadId?: string;
|
|
13
13
|
className?: string;
|
|
14
|
-
space?: StorageSpace;
|
|
15
14
|
onUploadError?: (error: unknown) => void;
|
|
16
15
|
onUploaded?: (file: Partial<StorageFileEntity>) => void | Promise<void>;
|
|
17
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioRecorder.d.ts","sourceRoot":"","sources":["../../src/components/AudioRecorder.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EAAiB,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAErF,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,
|
|
1
|
+
{"version":3,"file":"AudioRecorder.d.ts","sourceRoot":"","sources":["../../src/components/AudioRecorder.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EAAiB,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAErF,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC/B,MAAM,UAAU,CAAC;AAGlB,KAAK,uBAAuB,GAAG,IAAI,CAC/B,uBAAuB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,EACnD,UAAU,GAAG,YAAY,GAAG,UAAU,CACzC,CAAC;AAEF,UAAU,KAAM,SAAQ,OAAO,CAAC,uBAAuB,CAAC;IACpD,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E;AAGD,QAAA,MAAM,aAAa,GAAI,OAAO,KAAK,QAsHlC,CAAC;AAGF,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @author: exode <hello@exode.ru>
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
6
|
+
import type { UploadStrategy } from '../../types';
|
|
7
7
|
interface Props {
|
|
8
8
|
uploader?: UploadStrategy<unknown>;
|
|
9
9
|
onUploaded?: (file: unknown) => void | Promise<void>;
|
|
@@ -14,7 +14,6 @@ interface Props {
|
|
|
14
14
|
autoStart?: boolean;
|
|
15
15
|
mimeType?: string;
|
|
16
16
|
fileName?: string;
|
|
17
|
-
space?: StorageSpace;
|
|
18
17
|
className?: string;
|
|
19
18
|
}
|
|
20
19
|
declare const VoiceRecorderInput: (props: Props) => any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecorderInput.d.ts","sourceRoot":"","sources":["../../../src/components/VoiceRecorderInput/VoiceRecorderInput.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,
|
|
1
|
+
{"version":3,"file":"VoiceRecorderInput.d.ts","sourceRoot":"","sources":["../../../src/components/VoiceRecorderInput/VoiceRecorderInput.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAuBlD,UAAU,KAAK;IACX,QAAQ,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,QAAA,MAAM,kBAAkB,GAAI,OAAO,KAAK,QAmIvC,CAAC;AAGF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecorderInput.styled.d.ts","sourceRoot":"","sources":["../../../src/components/VoiceRecorderInput/VoiceRecorderInput.styled.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,eAAO,MAAM,OAAO,KAOnB,CAAC;AAEF,eAAO,MAAM,YAAY,KAcxB,CAAC;AAEF,eAAO,MAAM,WAAW,KASvB,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,UAAU,KAMtB,CAAC;AAEF,eAAO,MAAM,UAAU,KA0BtB,CAAC;AAEF,eAAO,MAAM,YAAY,KAUxB,CAAC;AAEF,eAAO,MAAM,KAAK,KAMjB,CAAC;AAEF,eAAO,MAAM,UAAU,KAuBtB,CAAC;AAEF,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"VoiceRecorderInput.styled.d.ts","sourceRoot":"","sources":["../../../src/components/VoiceRecorderInput/VoiceRecorderInput.styled.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,eAAO,MAAM,OAAO,KAOnB,CAAC;AAEF,eAAO,MAAM,YAAY,KAcxB,CAAC;AAEF,eAAO,MAAM,WAAW,KASvB,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,UAAU,KAMtB,CAAC;AAEF,eAAO,MAAM,UAAU,KA0BtB,CAAC;AAEF,eAAO,MAAM,YAAY,KAUxB,CAAC;AAEF,eAAO,MAAM,KAAK,KAMjB,CAAC;AAEF,eAAO,MAAM,UAAU,KAuBtB,CAAC;AAEF,eAAO,MAAM,YAAY,KAiBxB,CAAC;AAEF,eAAO,MAAM,eAAe,KAqB3B,CAAC;AAEF,eAAO,MAAM,WAAW,KAcvB,CAAC"}
|
|
@@ -3,12 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @author: exode <hello@exode.ru>
|
|
5
5
|
*/
|
|
6
|
-
import type {
|
|
6
|
+
import type { UploadStrategy } from '../types';
|
|
7
7
|
interface UseRecordingSenderOptions<TFile> {
|
|
8
8
|
fileName: string;
|
|
9
9
|
mimeType: string;
|
|
10
10
|
audioBlob: Blob | null;
|
|
11
|
-
space: StorageSpace;
|
|
12
11
|
uploadId: string;
|
|
13
12
|
uploader?: UploadStrategy<TFile>;
|
|
14
13
|
onUploaded: (file: TFile) => void | Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRecordingSender.d.ts","sourceRoot":"","sources":["../../src/hooks/useRecordingSender.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useRecordingSender.d.ts","sourceRoot":"","sources":["../../src/hooks/useRecordingSender.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,UAAU,yBAAyB,CAAC,KAAK;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;IACjC,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AAGD,QAAA,MAAM,kBAAkB,GAAI,KAAK,GAAG,OAAO,EAAE,SAAS,yBAAyB,CAAC,KAAK,CAAC;;CA0DrF,CAAC;AAGF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVoiceRecorder.d.ts","sourceRoot":"","sources":["../../src/hooks/useVoiceRecorder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGhF,iBAAS,gBAAgB,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,EAAE,uBAAuB,CAAC,KAAK,CAAC,GAAG,sBAAsB,
|
|
1
|
+
{"version":3,"file":"useVoiceRecorder.d.ts","sourceRoot":"","sources":["../../src/hooks/useVoiceRecorder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGhF,iBAAS,gBAAgB,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,EAAE,uBAAuB,CAAC,KAAK,CAAC,GAAG,sBAAsB,CAuMxG;AAGD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @author: exode <hello@exode.ru>
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
6
|
+
import type { UploadStrategy } from '../types';
|
|
7
7
|
interface UseVoiceRecorderInputOptions {
|
|
8
8
|
uploader?: UploadStrategy<unknown>;
|
|
9
9
|
onUploaded?: (file: unknown) => void | Promise<void>;
|
|
@@ -14,7 +14,6 @@ interface UseVoiceRecorderInputOptions {
|
|
|
14
14
|
autoStart?: boolean;
|
|
15
15
|
mimeType?: string;
|
|
16
16
|
fileName?: string;
|
|
17
|
-
space?: StorageSpace;
|
|
18
17
|
}
|
|
19
18
|
declare const useVoiceRecorderInput: (options: UseVoiceRecorderInputOptions) => {
|
|
20
19
|
recorder: import("../types").UseVoiceRecorderResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVoiceRecorderInput.d.ts","sourceRoot":"","sources":["../../src/hooks/useVoiceRecorderInput.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,
|
|
1
|
+
{"version":3,"file":"useVoiceRecorderInput.d.ts","sourceRoot":"","sources":["../../src/hooks/useVoiceRecorderInput.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,UAAU,4BAA4B;IAClC,QAAQ,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,QAAA,MAAM,qBAAqB,GAAI,SAAS,4BAA4B;;;;;;;;;;CA6MnE,CAAC;AAGF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
package/dist/index.cjs
CHANGED
|
@@ -587,7 +587,7 @@ const useRecorderVisualization = () => {
|
|
|
587
587
|
* @author: exode <hello@exode.ru>
|
|
588
588
|
*/
|
|
589
589
|
const useRecordingSender = (options) => {
|
|
590
|
-
const {
|
|
590
|
+
const { uploader, fileName, mimeType, uploadId, audioBlob, onUploaded, onRecordingError, deleteRecording, autoResetAfterUpload, } = options;
|
|
591
591
|
const sendRecording = React.useCallback(async () => {
|
|
592
592
|
if (!audioBlob) {
|
|
593
593
|
const error = new Error('Voice recording is not available');
|
|
@@ -603,7 +603,7 @@ const useRecordingSender = (options) => {
|
|
|
603
603
|
const file = new File([audioBlob], fileName, {
|
|
604
604
|
type: audioBlob.type || mimeType,
|
|
605
605
|
});
|
|
606
|
-
const uploaded = await uploader(file, {
|
|
606
|
+
const uploaded = await uploader(file, { uploadId });
|
|
607
607
|
await onUploaded(uploaded);
|
|
608
608
|
if (autoResetAfterUpload) {
|
|
609
609
|
deleteRecording();
|
|
@@ -614,7 +614,6 @@ const useRecordingSender = (options) => {
|
|
|
614
614
|
throw error;
|
|
615
615
|
}
|
|
616
616
|
}, [
|
|
617
|
-
space,
|
|
618
617
|
uploadId,
|
|
619
618
|
uploader,
|
|
620
619
|
fileName,
|
|
@@ -634,7 +633,7 @@ const useRecordingSender = (options) => {
|
|
|
634
633
|
* @author: exode <hello@exode.ru>
|
|
635
634
|
*/
|
|
636
635
|
function useVoiceRecorder(props) {
|
|
637
|
-
const {
|
|
636
|
+
const { uploadId, uploader, onUploaded, onRecordingStop, onRecordingStart, onRecordingError, onRecordingDelete, onPermissionDenied, fileName = 'record.webm', mimeType = 'audio/webm', autoResetAfterUpload = true, } = props;
|
|
638
637
|
const [audioBlob, setAudioBlob] = React.useState(null);
|
|
639
638
|
const { audioURL, isPlaying, mountBlob, playbackTime, stopPlayback, resetPlayback, togglePlayback: _togglePlayback, playbackDuration, } = useAudioPlayback();
|
|
640
639
|
const { audioLevels, previewLevels, resetAudioLevels, stopVisualization, resetPreviewLevels, resumeVisualization, cleanupVisualization, generatePreviewLevels, initializeVisualization, } = useRecorderVisualization();
|
|
@@ -664,7 +663,6 @@ function useVoiceRecorder(props) {
|
|
|
664
663
|
audioBlob,
|
|
665
664
|
fileName,
|
|
666
665
|
mimeType,
|
|
667
|
-
space,
|
|
668
666
|
uploadId,
|
|
669
667
|
uploader,
|
|
670
668
|
autoResetAfterUpload,
|
|
@@ -1321,7 +1319,7 @@ const CircleButton = styled.button `
|
|
|
1321
1319
|
cursor: pointer;
|
|
1322
1320
|
transition: transform 160ms ease, color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
|
|
1323
1321
|
flex-shrink: 0;
|
|
1324
|
-
background:
|
|
1322
|
+
background: var(--background_content, #ffffff);
|
|
1325
1323
|
|
|
1326
1324
|
color: ${({ $variant }) => {
|
|
1327
1325
|
if ($variant === 'record') {
|
|
@@ -1538,24 +1536,12 @@ const mergeMessages = (custom) => {
|
|
|
1538
1536
|
};
|
|
1539
1537
|
};
|
|
1540
1538
|
|
|
1541
|
-
/**
|
|
1542
|
-
* Upload types
|
|
1543
|
-
*
|
|
1544
|
-
* @author: exode <hello@exode.ru>
|
|
1545
|
-
*/
|
|
1546
|
-
const StorageSpaceEnum = {
|
|
1547
|
-
User: 'user',
|
|
1548
|
-
Shared: 'shared',
|
|
1549
|
-
System: 'system',
|
|
1550
|
-
};
|
|
1551
|
-
|
|
1552
1539
|
const AudioRecorder = (props) => {
|
|
1553
|
-
const {
|
|
1540
|
+
const { fileName, uploadId, mimeType, className, uploader, onUploaded, onUploadError, onRecordingStop, onRecordingError, onRecordingStart, onRecordingDelete, onPermissionDenied, autoResetAfterUpload, messages: customMessages, } = props;
|
|
1554
1541
|
const messages = React.useMemo(() => mergeMessages(customMessages), [customMessages]);
|
|
1555
1542
|
const [resolvedUploadId] = React.useState(() => uploadId !== null && uploadId !== void 0 ? uploadId : (typeof crypto !== 'undefined' && 'randomUUID' in crypto
|
|
1556
1543
|
? crypto.randomUUID()
|
|
1557
1544
|
: `upload-${Date.now()}`));
|
|
1558
|
-
const resolvedSpace = space !== null && space !== void 0 ? space : StorageSpaceEnum.User;
|
|
1559
1545
|
const handleRecorderError = React.useCallback((error) => {
|
|
1560
1546
|
onRecordingError === null || onRecordingError === void 0 ? void 0 : onRecordingError(error);
|
|
1561
1547
|
onUploadError === null || onUploadError === void 0 ? void 0 : onUploadError(error);
|
|
@@ -1573,7 +1559,6 @@ const AudioRecorder = (props) => {
|
|
|
1573
1559
|
onRecordingDelete,
|
|
1574
1560
|
onPermissionDenied,
|
|
1575
1561
|
autoResetAfterUpload,
|
|
1576
|
-
space: resolvedSpace,
|
|
1577
1562
|
uploader,
|
|
1578
1563
|
uploadId: resolvedUploadId,
|
|
1579
1564
|
onRecordingError: handleRecorderError,
|
|
@@ -1596,7 +1581,7 @@ const AudioRecorder = (props) => {
|
|
|
1596
1581
|
* @author: exode <hello@exode.ru>
|
|
1597
1582
|
*/
|
|
1598
1583
|
const useVoiceRecorderInput = (options) => {
|
|
1599
|
-
const { onSend, onError, onCancel, uploader, onUploaded, onPermissionDenied, autoStart = true,
|
|
1584
|
+
const { onSend, onError, onCancel, uploader, onUploaded, onPermissionDenied, autoStart = true, mimeType = 'audio/webm', fileName = 'voice-message.webm', } = options;
|
|
1600
1585
|
const [isSending, setIsSending] = React.useState(false);
|
|
1601
1586
|
const [timelineLevels, setTimelineLevels] = React.useState([]);
|
|
1602
1587
|
const audioBlobRef = React.useRef(null);
|
|
@@ -1617,7 +1602,6 @@ const useVoiceRecorderInput = (options) => {
|
|
|
1617
1602
|
}
|
|
1618
1603
|
}, []);
|
|
1619
1604
|
const recorder = useVoiceRecorder({
|
|
1620
|
-
space,
|
|
1621
1605
|
fileName,
|
|
1622
1606
|
mimeType,
|
|
1623
1607
|
uploadId,
|
|
@@ -1944,14 +1928,10 @@ const MicIndicator = styled.button `
|
|
|
1944
1928
|
border: 0;
|
|
1945
1929
|
flex-shrink: 0;
|
|
1946
1930
|
cursor: pointer;
|
|
1947
|
-
background:
|
|
1948
|
-
color: var(--
|
|
1931
|
+
background: var(--background_content, #ffffff);
|
|
1932
|
+
color: color-mix(in srgb, var(--accent, #3f8ae0) 86%, white 14%);
|
|
1949
1933
|
transition: background-color 140ms ease, transform 120ms ease;
|
|
1950
1934
|
|
|
1951
|
-
&:hover {
|
|
1952
|
-
background: color-mix(in srgb, var(--exode_red, #ed1c24) 22%, transparent);
|
|
1953
|
-
}
|
|
1954
|
-
|
|
1955
1935
|
&:active {
|
|
1956
1936
|
transform: scale(0.94);
|
|
1957
1937
|
}
|
|
@@ -2316,7 +2296,6 @@ const VoiceBlobCache = new VoiceBlobCacheClass();
|
|
|
2316
2296
|
|
|
2317
2297
|
exports.AUDIO_LEVEL_BARS = AUDIO_LEVEL_BARS;
|
|
2318
2298
|
exports.AudioRecorder = AudioRecorder;
|
|
2319
|
-
exports.StorageSpaceEnum = StorageSpaceEnum;
|
|
2320
2299
|
exports.VoiceBlobCache = VoiceBlobCache;
|
|
2321
2300
|
exports.VoiceMessagePlayer = VoiceMessagePlayer;
|
|
2322
2301
|
exports.VoicePlaybackChain = VoicePlaybackChain;
|