@veltdev/react 4.5.2-beta.11 → 4.5.2-beta.13
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/cjs/index.js +29 -7
- package/cjs/index.js.map +1 -1
- package/cjs/types/components/SnippylyRecorderControlPanel/SnippylyRecorderControlPanel.d.ts +2 -0
- package/cjs/types/components/SnippylyRecorderTool/SnippylyRecorderTool.d.ts +2 -0
- package/cjs/types/components/VeltRecorderControlPanelWireframe/VeltRecorderControlPanelActionBarWireframe/VeltRecorderControlPanelActionBarPipWireframe/VeltRecorderControlPanelActionBarPipWireframe.d.ts +8 -0
- package/cjs/types/components/VeltRecorderControlPanelWireframe/VeltRecorderControlPanelActionBarWireframe/VeltRecorderControlPanelActionBarPipWireframe/index.d.ts +1 -0
- package/cjs/types/components/VeltRecorderControlPanelWireframe/VeltRecorderControlPanelActionBarWireframe/VeltRecorderControlPanelActionBarWireframe.d.ts +2 -0
- package/cjs/types/components/VeltRecordingPreviewStepsDialogWireframe/VeltRecordingPreviewStepsDialogScreenPlayerWireframe/VeltRecordingPreviewStepsDialogScreenPlayerWireframe.d.ts +8 -0
- package/cjs/types/components/VeltRecordingPreviewStepsDialogWireframe/VeltRecordingPreviewStepsDialogScreenPlayerWireframe/index.d.ts +1 -0
- package/cjs/types/components/VeltRecordingPreviewStepsDialogWireframe/VeltRecordingPreviewStepsDialogVideoWireframe/VeltRecordingPreviewStepsDialogVideoWireframe.d.ts +2 -0
- package/cjs/types/constants.d.ts +1 -1
- package/esm/index.js +29 -7
- package/esm/index.js.map +1 -1
- package/esm/types/components/SnippylyRecorderControlPanel/SnippylyRecorderControlPanel.d.ts +2 -0
- package/esm/types/components/SnippylyRecorderTool/SnippylyRecorderTool.d.ts +2 -0
- package/esm/types/components/VeltRecorderControlPanelWireframe/VeltRecorderControlPanelActionBarWireframe/VeltRecorderControlPanelActionBarPipWireframe/VeltRecorderControlPanelActionBarPipWireframe.d.ts +8 -0
- package/esm/types/components/VeltRecorderControlPanelWireframe/VeltRecorderControlPanelActionBarWireframe/VeltRecorderControlPanelActionBarPipWireframe/index.d.ts +1 -0
- package/esm/types/components/VeltRecorderControlPanelWireframe/VeltRecorderControlPanelActionBarWireframe/VeltRecorderControlPanelActionBarWireframe.d.ts +2 -0
- package/esm/types/components/VeltRecordingPreviewStepsDialogWireframe/VeltRecordingPreviewStepsDialogScreenPlayerWireframe/VeltRecordingPreviewStepsDialogScreenPlayerWireframe.d.ts +8 -0
- package/esm/types/components/VeltRecordingPreviewStepsDialogWireframe/VeltRecordingPreviewStepsDialogScreenPlayerWireframe/index.d.ts +1 -0
- package/esm/types/components/VeltRecordingPreviewStepsDialogWireframe/VeltRecordingPreviewStepsDialogVideoWireframe/VeltRecordingPreviewStepsDialogVideoWireframe.d.ts +2 -0
- package/esm/types/constants.d.ts +1 -1
- package/index.d.ts +16 -0
- package/package.json +1 -1
|
@@ -11,6 +11,8 @@ export interface IVeltRecorderControlPanelProps {
|
|
|
11
11
|
autoOpenVideoEditor?: boolean;
|
|
12
12
|
playVideoInFullScreen?: boolean;
|
|
13
13
|
retakeOnVideoEditor?: boolean;
|
|
14
|
+
pictureInPicture?: boolean;
|
|
15
|
+
maxLength?: number;
|
|
14
16
|
}
|
|
15
17
|
declare const SnippylyRecorderControlPanel: React.FC<IVeltRecorderControlPanelProps>;
|
|
16
18
|
export default SnippylyRecorderControlPanel;
|
|
@@ -9,6 +9,8 @@ export interface IVeltRecorderToolProps extends React.DetailedHTMLProps<React.HT
|
|
|
9
9
|
recordingCountdown?: boolean;
|
|
10
10
|
variant?: string;
|
|
11
11
|
retakeOnVideoEditor?: boolean;
|
|
12
|
+
pictureInPicture?: boolean;
|
|
13
|
+
maxLength?: number;
|
|
12
14
|
}
|
|
13
15
|
declare const SnippylyRecorderTool: React.FC<IVeltRecorderToolProps>;
|
|
14
16
|
export default SnippylyRecorderTool;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IVeltWireframeCommonProps } from '../../../../constants';
|
|
3
|
+
export interface IVeltRecorderControlPanelActionBarPipWireframeProps extends IVeltWireframeCommonProps {
|
|
4
|
+
}
|
|
5
|
+
export interface IVeltRecorderControlPanelActionBarPipWireframe extends React.FC<IVeltRecorderControlPanelActionBarPipWireframeProps> {
|
|
6
|
+
}
|
|
7
|
+
declare const VeltRecorderControlPanelActionBarPipWireframe: IVeltRecorderControlPanelActionBarPipWireframe;
|
|
8
|
+
export default VeltRecorderControlPanelActionBarPipWireframe;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './VeltRecorderControlPanelActionBarPipWireframe';
|
|
@@ -6,6 +6,7 @@ import { IVeltRecorderControlPanelActionBarStopWireframe } from './VeltRecorderC
|
|
|
6
6
|
import { IVeltRecorderControlPanelActionBarTimeWireframe } from './VeltRecorderControlPanelActionBarTimeWireframe/VeltRecorderControlPanelActionBarTimeWireframe';
|
|
7
7
|
import { IVeltRecorderControlPanelActionBarToggleWireframe } from './VeltRecorderControlPanelActionBarToggleWireframe/VeltRecorderControlPanelActionBarToggleWireframe';
|
|
8
8
|
import { IVeltRecorderControlPanelActionBarTypeIconWireframe } from './VeltRecorderControlPanelActionBarTypeIconWireframe/VeltRecorderControlPanelActionBarTypeIconWireframe';
|
|
9
|
+
import { IVeltRecorderControlPanelActionBarPipWireframe } from './VeltRecorderControlPanelActionBarPipWireframe/VeltRecorderControlPanelActionBarPipWireframe';
|
|
9
10
|
export interface IVeltRecorderControlPanelActionBarWireframeProps extends IVeltWireframeCommonProps {
|
|
10
11
|
}
|
|
11
12
|
export interface IVeltRecorderControlPanelActionBarWireframe extends React.FC<IVeltRecorderControlPanelActionBarWireframeProps> {
|
|
@@ -15,6 +16,7 @@ export interface IVeltRecorderControlPanelActionBarWireframe extends React.FC<IV
|
|
|
15
16
|
Toggle: IVeltRecorderControlPanelActionBarToggleWireframe;
|
|
16
17
|
TypeIcon: IVeltRecorderControlPanelActionBarTypeIconWireframe;
|
|
17
18
|
Waveform: IVeltRecorderControlPanelActionBarWaveformWireframe;
|
|
19
|
+
Pip: IVeltRecorderControlPanelActionBarPipWireframe;
|
|
18
20
|
}
|
|
19
21
|
declare const VeltRecorderControlPanelActionBarWireframe: IVeltRecorderControlPanelActionBarWireframe;
|
|
20
22
|
export default VeltRecorderControlPanelActionBarWireframe;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IVeltWireframeCommonProps } from '../../../constants';
|
|
3
|
+
export interface IVeltRecordingPreviewStepsDialogScreenPlayerWireframeProps extends IVeltWireframeCommonProps {
|
|
4
|
+
}
|
|
5
|
+
export interface IVeltRecordingPreviewStepsDialogScreenPlayerWireframe extends React.FC<IVeltRecordingPreviewStepsDialogScreenPlayerWireframeProps> {
|
|
6
|
+
}
|
|
7
|
+
declare const VeltRecordingPreviewStepsDialogScreenPlayerWireframe: IVeltRecordingPreviewStepsDialogScreenPlayerWireframe;
|
|
8
|
+
export default VeltRecordingPreviewStepsDialogScreenPlayerWireframe;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './VeltRecordingPreviewStepsDialogScreenPlayerWireframe';
|
|
@@ -11,6 +11,7 @@ import { IVeltRecordingPreviewStepsDialogTimerWireframe } from '../VeltRecording
|
|
|
11
11
|
import { IVeltRecordingPreviewStepsDialogVideoPlayerWireframe } from '../VeltRecordingPreviewStepsDialogVideoPlayerWireframe/VeltRecordingPreviewStepsDialogVideoPlayerWireframe';
|
|
12
12
|
import { IVeltRecordingPreviewStepsDialogWaveformWireframe } from '../VeltRecordingPreviewStepsDialogWaveformWireframe/VeltRecordingPreviewStepsDialogWaveformWireframe';
|
|
13
13
|
import { IVeltRecordingPreviewStepsDialogStartRecordingWireframe } from '../VeltRecordingPreviewStepsDialogStartRecordingWireframe/VeltRecordingPreviewStepsDialogStartRecordingWireframe';
|
|
14
|
+
import { IVeltRecordingPreviewStepsDialogScreenPlayerWireframe } from '../VeltRecordingPreviewStepsDialogScreenPlayerWireframe/VeltRecordingPreviewStepsDialogScreenPlayerWireframe';
|
|
14
15
|
import { IVeltWireframeCommonProps } from '../../../constants';
|
|
15
16
|
export interface IVeltRecordingPreviewStepsDialogVideoWireframeProps extends IVeltWireframeCommonProps {
|
|
16
17
|
}
|
|
@@ -26,6 +27,7 @@ export interface IVeltRecordingPreviewStepsDialogVideoWireframe extends React.FC
|
|
|
26
27
|
StartRecording: IVeltRecordingPreviewStepsDialogStartRecordingWireframe;
|
|
27
28
|
Timer: IVeltRecordingPreviewStepsDialogTimerWireframe;
|
|
28
29
|
VideoPlayer: IVeltRecordingPreviewStepsDialogVideoPlayerWireframe;
|
|
30
|
+
ScreenPlayer: IVeltRecordingPreviewStepsDialogScreenPlayerWireframe;
|
|
29
31
|
Waveform: IVeltRecordingPreviewStepsDialogWaveformWireframe;
|
|
30
32
|
}
|
|
31
33
|
declare const VeltRecordingPreviewStepsDialogVideoWireframe: IVeltRecordingPreviewStepsDialogVideoWireframe;
|
package/cjs/types/constants.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export declare const VELT_SDK_VERSION = "4.5.2-beta.
|
|
2
|
+
export declare const VELT_SDK_VERSION = "4.5.2-beta.13";
|
|
3
3
|
export declare const VELT_SDK_INIT_EVENT = "onVeltInit";
|
|
4
4
|
export declare const VELT_TAB_ID = "veltTabId";
|
|
5
5
|
export declare const INTEGRITY_MAP: Record<string, string>;
|
package/esm/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { createContext, useContext, useState, useEffect, useRef, useMemo } from 'react';
|
|
2
|
+
import { flushSync } from 'react-dom';
|
|
2
3
|
|
|
3
4
|
/******************************************************************************
|
|
4
5
|
Copyright (c) Microsoft Corporation.
|
|
@@ -136,13 +137,13 @@ var loadVelt = function (callback, version, staging, develop, proxyDomain, integ
|
|
|
136
137
|
}
|
|
137
138
|
};
|
|
138
139
|
|
|
139
|
-
var VELT_SDK_VERSION = '4.5.2-beta.
|
|
140
|
+
var VELT_SDK_VERSION = '4.5.2-beta.13';
|
|
140
141
|
var VELT_SDK_INIT_EVENT = 'onVeltInit';
|
|
141
142
|
var VELT_TAB_ID = 'veltTabId';
|
|
142
143
|
// integrity map for the Velt SDK
|
|
143
144
|
// Note: generate integrity hashes with: https://www.srihash.org/
|
|
144
145
|
var INTEGRITY_MAP = {
|
|
145
|
-
'4.5.2-beta.
|
|
146
|
+
'4.5.2-beta.13': 'sha384-9fs09QQnU0co3WsdHf2mQriSxbEKITWuSF6zSus29XbBJYrOZTR27Duzwq27MWFO',
|
|
146
147
|
};
|
|
147
148
|
|
|
148
149
|
var SnippylyProvider = function (props) {
|
|
@@ -620,7 +621,7 @@ var SnippylyPresence = function (props) {
|
|
|
620
621
|
};
|
|
621
622
|
|
|
622
623
|
var SnippylyRecorderControlPanel = function (props) {
|
|
623
|
-
var mode = props.mode, panelId = props.panelId, onRecordedData = props.onRecordedData, recordingCountdown = props.recordingCountdown, recordingTranscription = props.recordingTranscription, videoEditor = props.videoEditor, settingsEmbedded = props.settingsEmbedded, autoOpenVideoEditor = props.autoOpenVideoEditor, playVideoInFullScreen = props.playVideoInFullScreen, retakeOnVideoEditor = props.retakeOnVideoEditor;
|
|
624
|
+
var mode = props.mode, panelId = props.panelId, onRecordedData = props.onRecordedData, recordingCountdown = props.recordingCountdown, recordingTranscription = props.recordingTranscription, videoEditor = props.videoEditor, settingsEmbedded = props.settingsEmbedded, autoOpenVideoEditor = props.autoOpenVideoEditor, playVideoInFullScreen = props.playVideoInFullScreen, retakeOnVideoEditor = props.retakeOnVideoEditor, pictureInPicture = props.pictureInPicture, maxLength = props.maxLength;
|
|
624
625
|
var ref = useRef();
|
|
625
626
|
var onRecordedDataRef = useRef(onRecordedData);
|
|
626
627
|
// Update the ref to always point to the latest callback function
|
|
@@ -646,7 +647,7 @@ var SnippylyRecorderControlPanel = function (props) {
|
|
|
646
647
|
}
|
|
647
648
|
};
|
|
648
649
|
}, []);
|
|
649
|
-
return (React.createElement("velt-recorder-control-panel", { ref: ref, mode: mode, "panel-id": panelId, "retake-on-video-editor": [true, false].includes(retakeOnVideoEditor) ? (retakeOnVideoEditor ? 'true' : 'false') : undefined, "recording-countdown": [true, false].includes(recordingCountdown) ? (recordingCountdown ? 'true' : 'false') : undefined, "recording-transcription": [true, false].includes(recordingTranscription) ? (recordingTranscription ? 'true' : 'false') : undefined, "video-editor": [true, false].includes(videoEditor) ? (videoEditor ? 'true' : 'false') : undefined, "settings-embedded": [true, false].includes(settingsEmbedded) ? (settingsEmbedded ? 'true' : 'false') : undefined, "auto-open-video-editor": [true, false].includes(autoOpenVideoEditor) ? (autoOpenVideoEditor ? 'true' : 'false') : undefined, "play-video-in-full-screen": [true, false].includes(playVideoInFullScreen) ? (playVideoInFullScreen ? 'true' : 'false') : undefined }));
|
|
650
|
+
return (React.createElement("velt-recorder-control-panel", { ref: ref, mode: mode, "panel-id": panelId, "retake-on-video-editor": [true, false].includes(retakeOnVideoEditor) ? (retakeOnVideoEditor ? 'true' : 'false') : undefined, "recording-countdown": [true, false].includes(recordingCountdown) ? (recordingCountdown ? 'true' : 'false') : undefined, "recording-transcription": [true, false].includes(recordingTranscription) ? (recordingTranscription ? 'true' : 'false') : undefined, "video-editor": [true, false].includes(videoEditor) ? (videoEditor ? 'true' : 'false') : undefined, "settings-embedded": [true, false].includes(settingsEmbedded) ? (settingsEmbedded ? 'true' : 'false') : undefined, "auto-open-video-editor": [true, false].includes(autoOpenVideoEditor) ? (autoOpenVideoEditor ? 'true' : 'false') : undefined, "play-video-in-full-screen": [true, false].includes(playVideoInFullScreen) ? (playVideoInFullScreen ? 'true' : 'false') : undefined, "picture-in-picture": [true, false].includes(pictureInPicture) ? (pictureInPicture ? 'true' : 'false') : undefined, "max-length": maxLength }));
|
|
650
651
|
};
|
|
651
652
|
|
|
652
653
|
var SnippylyRecorderNotes = function (props) {
|
|
@@ -685,8 +686,8 @@ var SnippylyRecorderPlayer = function (props) {
|
|
|
685
686
|
};
|
|
686
687
|
|
|
687
688
|
var SnippylyRecorderTool = function (props) {
|
|
688
|
-
var type = props.type, panelId = props.panelId, buttonLabel = props.buttonLabel, children = props.children, darkMode = props.darkMode, shadowDom = props.shadowDom, recordingCountdown = props.recordingCountdown, variant = props.variant, retakeOnVideoEditor = props.retakeOnVideoEditor;
|
|
689
|
-
return (React.createElement("velt-recorder-tool", { type: type, "panel-id": panelId, "button-label": buttonLabel, "dark-mode": [true, false].includes(darkMode) ? (darkMode ? 'true' : 'false') : undefined, "shadow-dom": [true, false].includes(shadowDom) ? (shadowDom ? 'true' : 'false') : undefined, "retake-on-video-editor": [true, false].includes(retakeOnVideoEditor) ? (retakeOnVideoEditor ? 'true' : 'false') : undefined, variant: variant, "recording-countdown": [true, false].includes(recordingCountdown) ? (recordingCountdown ? 'true' : 'false') : undefined }, children));
|
|
689
|
+
var type = props.type, panelId = props.panelId, buttonLabel = props.buttonLabel, children = props.children, darkMode = props.darkMode, shadowDom = props.shadowDom, recordingCountdown = props.recordingCountdown, variant = props.variant, retakeOnVideoEditor = props.retakeOnVideoEditor, pictureInPicture = props.pictureInPicture, maxLength = props.maxLength;
|
|
690
|
+
return (React.createElement("velt-recorder-tool", { type: type, "panel-id": panelId, "button-label": buttonLabel, "dark-mode": [true, false].includes(darkMode) ? (darkMode ? 'true' : 'false') : undefined, "shadow-dom": [true, false].includes(shadowDom) ? (shadowDom ? 'true' : 'false') : undefined, "retake-on-video-editor": [true, false].includes(retakeOnVideoEditor) ? (retakeOnVideoEditor ? 'true' : 'false') : undefined, variant: variant, "recording-countdown": [true, false].includes(recordingCountdown) ? (recordingCountdown ? 'true' : 'false') : undefined, "picture-in-picture": [true, false].includes(pictureInPicture) ? (pictureInPicture ? 'true' : 'false') : undefined, "max-length": maxLength }, children));
|
|
690
691
|
};
|
|
691
692
|
|
|
692
693
|
var SnippylySidebarButton = function (props) {
|
|
@@ -4660,6 +4661,12 @@ var VeltRecordingPreviewStepsDialogVideoPlayerWireframe = function (props) {
|
|
|
4660
4661
|
return (React.createElement("velt-recording-preview-steps-dialog-video-player-wireframe", __assign({}, transformedProps), children));
|
|
4661
4662
|
};
|
|
4662
4663
|
|
|
4664
|
+
var VeltRecordingPreviewStepsDialogScreenPlayerWireframe = function (props) {
|
|
4665
|
+
var children = props.children, remainingProps = __rest(props, ["children"]);
|
|
4666
|
+
var transformedProps = transformWireframeProps(remainingProps);
|
|
4667
|
+
return (React.createElement("velt-recording-preview-steps-dialog-screen-player-wireframe", __assign({}, transformedProps), children));
|
|
4668
|
+
};
|
|
4669
|
+
|
|
4663
4670
|
var VeltRecordingPreviewStepsDialogVideoWireframe = function (props) {
|
|
4664
4671
|
var children = props.children, remainingProps = __rest(props, ["children"]);
|
|
4665
4672
|
var transformedProps = transformWireframeProps(remainingProps);
|
|
@@ -4677,6 +4684,7 @@ VeltRecordingPreviewStepsDialogVideoWireframe.StartRecording = VeltRecordingPrev
|
|
|
4677
4684
|
VeltRecordingPreviewStepsDialogVideoWireframe.Timer = VeltRecordingPreviewStepsDialogTimerWireframe;
|
|
4678
4685
|
VeltRecordingPreviewStepsDialogVideoWireframe.VideoPlayer = VeltRecordingPreviewStepsDialogVideoPlayerWireframe;
|
|
4679
4686
|
VeltRecordingPreviewStepsDialogVideoWireframe.Waveform = VeltRecordingPreviewStepsDialogWaveformWireframe;
|
|
4687
|
+
VeltRecordingPreviewStepsDialogVideoWireframe.ScreenPlayer = VeltRecordingPreviewStepsDialogScreenPlayerWireframe;
|
|
4680
4688
|
|
|
4681
4689
|
var VeltRecordingPreviewStepsDialogWireframe = function (props) {
|
|
4682
4690
|
var children = props.children, remainingProps = __rest(props, ["children"]);
|
|
@@ -4748,6 +4756,12 @@ var VeltRecorderControlPanelActionBarTypeIconWireframe = function (props) {
|
|
|
4748
4756
|
return (React.createElement("velt-recorder-control-panel-action-bar-type-icon-wireframe", __assign({}, transformedProps), children));
|
|
4749
4757
|
};
|
|
4750
4758
|
|
|
4759
|
+
var VeltRecorderControlPanelActionBarPipWireframe = function (props) {
|
|
4760
|
+
var children = props.children, remainingProps = __rest(props, ["children"]);
|
|
4761
|
+
var transformedProps = transformWireframeProps(remainingProps);
|
|
4762
|
+
return (React.createElement("velt-recorder-control-panel-action-bar-pip-wireframe", __assign({}, transformedProps), children));
|
|
4763
|
+
};
|
|
4764
|
+
|
|
4751
4765
|
var VeltRecorderControlPanelActionBarWireframe = function (props) {
|
|
4752
4766
|
var children = props.children, remainingProps = __rest(props, ["children"]);
|
|
4753
4767
|
var transformedProps = transformWireframeProps(remainingProps);
|
|
@@ -4759,6 +4773,7 @@ VeltRecorderControlPanelActionBarWireframe.Time = VeltRecorderControlPanelAction
|
|
|
4759
4773
|
VeltRecorderControlPanelActionBarWireframe.Toggle = VeltRecorderControlPanelActionBarToggleWireframe;
|
|
4760
4774
|
VeltRecorderControlPanelActionBarWireframe.TypeIcon = VeltRecorderControlPanelActionBarTypeIconWireframe;
|
|
4761
4775
|
VeltRecorderControlPanelActionBarWireframe.Waveform = VeltRecorderControlPanelActionBarWaveformWireframe;
|
|
4776
|
+
VeltRecorderControlPanelActionBarWireframe.Pip = VeltRecorderControlPanelActionBarPipWireframe;
|
|
4762
4777
|
|
|
4763
4778
|
var VeltRecorderControlPanelCollapsedButtonOffWireframe = function (props) {
|
|
4764
4779
|
var children = props.children, remainingProps = __rest(props, ["children"]);
|
|
@@ -6795,7 +6810,14 @@ function useVeltEventCallback(action) {
|
|
|
6795
6810
|
subscriptionRef.current.unsubscribe();
|
|
6796
6811
|
}
|
|
6797
6812
|
var subscription = (_a = client === null || client === void 0 ? void 0 : client.on(memoizedAction)) === null || _a === void 0 ? void 0 : _a.subscribe(function (data) {
|
|
6798
|
-
|
|
6813
|
+
if (memoizedAction === 'initUpdate') {
|
|
6814
|
+
flushSync(function () {
|
|
6815
|
+
setData(data);
|
|
6816
|
+
});
|
|
6817
|
+
}
|
|
6818
|
+
else {
|
|
6819
|
+
setData(data);
|
|
6820
|
+
}
|
|
6799
6821
|
});
|
|
6800
6822
|
// Store the new subscription
|
|
6801
6823
|
subscriptionRef.current = subscription;
|