@multiplayer-app/session-recorder-browser
Version:
Multiplayer Fullstack Session Recorder for Browser
86 lines • 2.97 kB
JavaScript
import { CapturingIcon, CheckmarkIcon, CloseIcon, RecordIcon } from './templates/icons';
/**
* ButtonState defines the possible states of the recorder button.
* It includes IDLE, RECORDING, CANCEL, SENT and LOADING states.
*/
export var ButtonState;
(function (ButtonState) {
ButtonState["IDLE"] = "IDLE";
ButtonState["RECORDING"] = "RECORDING";
ButtonState["CANCEL"] = "CANCEL";
ButtonState["SENT"] = "SENT";
ButtonState["LOADING"] = "LOADING";
ButtonState["CONTINUOUS_DEBUGGING"] = "CONTINUOUS_DEBUGGING";
})(ButtonState || (ButtonState = {}));
export var ContinuousRecordingSaveButtonState;
(function (ContinuousRecordingSaveButtonState) {
ContinuousRecordingSaveButtonState["IDLE"] = "IDLE";
ContinuousRecordingSaveButtonState["SAVING"] = "SAVING";
ContinuousRecordingSaveButtonState["SAVED"] = "SAVED";
ContinuousRecordingSaveButtonState["ERROR"] = "ERROR";
})(ContinuousRecordingSaveButtonState || (ContinuousRecordingSaveButtonState = {}));
/**
* buttonStates object provides properties for each button state:
* IDLE, RECORDING, CANCEL, and SENT.
*/
export const buttonStates = {
[]: {
icon: RecordIcon,
tooltip: 'Record an issue',
classes: [],
excludeClasses: ['animate-rotate', 'mp-button-blue'],
},
[]: {
icon: CapturingIcon,
tooltip: 'The session is recording. Click to end.',
classes: [],
excludeClasses: ['mp-button-blue', 'animate-rotate'],
},
[]: {
icon: CloseIcon,
tooltip: 'Click to cancel',
classes: [],
excludeClasses: ['animate-rotate', 'mp-button-blue'],
},
[]: {
icon: CheckmarkIcon,
tooltip: 'We\'ve sent it over! Thanks!',
classes: ['mp-button-blue'],
excludeClasses: ['animate-rotate'],
},
[]: {
icon: RecordIcon,
tooltip: 'Starting to record...',
classes: [],
excludeClasses: ['animate-rotate', 'mp-button-blue'],
},
[]: {
icon: CapturingIcon,
tooltip: 'You’re continuously recording.',
classes: [],
excludeClasses: ['mp-button-blue', 'animate-rotate'],
},
};
export const continuousRecordingSaveButtonStates = {
[]: {
textContent: 'Save recording',
disabled: false,
classes: [],
},
[]: {
disabled: true,
textContent: 'Saving recording...',
classes: [],
},
[]: {
disabled: true,
textContent: 'Saved',
classes: [],
},
[]: {
disabled: true,
textContent: 'Error saving the recording',
classes: [],
},
};
//# sourceMappingURL=buttonStateConfigs.js.map