@innovastudio/contentbuilder 1.4.83 → 1.4.85
Sign up to get free protection for your applications and to get access to all the features.
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@innovastudio/contentbuilder",
|
3
3
|
"type": "module",
|
4
|
-
"version": "1.4.
|
4
|
+
"version": "1.4.85",
|
5
5
|
"description": "",
|
6
6
|
"main": "public/contentbuilder/contentbuilder.esm.js",
|
7
7
|
"files": [
|
@@ -55,10 +55,9 @@
|
|
55
55
|
"cropperjs": "^1.5.12",
|
56
56
|
"js-beautify": "^1.14.0",
|
57
57
|
"moveable": "^0.30.0",
|
58
|
-
"opus-recorder": "^8.0.5",
|
59
58
|
"rangy": "^1.3.0",
|
60
59
|
"socket.io-client": "^4.7.1",
|
61
60
|
"sortablejs": "^1.14.0",
|
62
|
-
"string-similarity": "^
|
61
|
+
"string-similarity-js": "^2.1.4"
|
63
62
|
}
|
64
63
|
}
|
@@ -1,9 +1,5 @@
|
|
1
1
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
2
2
|
|
3
|
-
function getDefaultExportFromCjs (x) {
|
4
|
-
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
5
|
-
}
|
6
|
-
|
7
3
|
var rangyCore = {exports: {}};
|
8
4
|
|
9
5
|
/**
|
@@ -8551,7 +8547,7 @@ class Dom {
|
|
8551
8547
|
|
8552
8548
|
var js$1 = {exports: {}};
|
8553
8549
|
|
8554
|
-
var src
|
8550
|
+
var src = {};
|
8555
8551
|
|
8556
8552
|
var javascript = {exports: {}};
|
8557
8553
|
|
@@ -13690,9 +13686,9 @@ function style_html(html_source, options, js, css) {
|
|
13690
13686
|
}
|
13691
13687
|
style_html.defaultOptions = html_beautify.defaultOptions;
|
13692
13688
|
|
13693
|
-
src
|
13694
|
-
src
|
13695
|
-
src
|
13689
|
+
src.js = js_beautify;
|
13690
|
+
src.css = css_beautify;
|
13691
|
+
src.html = style_html;
|
13696
13692
|
|
13697
13693
|
/*jshint node:true */
|
13698
13694
|
|
@@ -13735,7 +13731,7 @@ function get_beautify(js_beautify, css_beautify, html_beautify) {
|
|
13735
13731
|
|
13736
13732
|
{
|
13737
13733
|
(function(mod) {
|
13738
|
-
var beautifier = src
|
13734
|
+
var beautifier = src;
|
13739
13735
|
beautifier.js_beautify = beautifier.js;
|
13740
13736
|
beautifier.css_beautify = beautifier.css;
|
13741
13737
|
beautifier.html_beautify = beautifier.html;
|
@@ -77398,14 +77394,8 @@ class Lib {
|
|
77398
77394
|
}
|
77399
77395
|
}
|
77400
77396
|
|
77401
|
-
|
77402
|
-
|
77403
|
-
(function (module, exports) {
|
77404
|
-
!function(e,t){module.exports=t();}("undefined"!=typeof self?self:commonjsGlobal,(function(){return function(e){var t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}return o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n});},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0});},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)o.d(n,i,function(t){return e[t]}.bind(null,i));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=0)}([function(e,t,o){(function(t){function o(e,t){if(null==e)return {};var o,n,i=function(e,t){if(null==e)return {};var o,n,i={},r=Object.keys(e);for(n=0;n<r.length;n++)o=r[n],t.indexOf(o)>=0||(i[o]=e[o]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)o=r[n],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);}return i}var n=t.AudioContext||t.webkitAudioContext,i=function e(){var t=this,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!e.isRecordingSupported())throw new Error("Recording is not supported in this browser");this.state="inactive",this.config=Object.assign({bufferLength:4096,encoderApplication:2049,encoderFrameSize:20,encoderPath:"encoderWorker.min.js",encoderSampleRate:48e3,maxFramesPerPage:40,mediaTrackConstraints:!0,monitorGain:0,numberOfChannels:1,recordingGain:1,resampleQuality:3,streamPages:!1,wavBitDepth:16,sourceNode:{context:null}},o),this.encodedSamplePosition=0,this.initAudioContext(),this.initialize=this.initWorklet().then((function(){return t.initEncoder()}));};i.isRecordingSupported=function(){var e=t.navigator&&t.navigator.mediaDevices&&t.navigator.mediaDevices.getUserMedia;return n&&e&&t.WebAssembly},i.version="8.0.5",i.prototype.clearStream=function(){this.stream&&(this.stream.getTracks?this.stream.getTracks().forEach((function(e){return e.stop()})):this.stream.stop());},i.prototype.close=function(){return this.monitorGainNode.disconnect(),this.recordingGainNode.disconnect(),this.sourceNode&&this.sourceNode.disconnect(),this.clearStream(),this.encoder&&(this.encoderNode.disconnect(),this.encoder.postMessage({command:"close"})),this.config.sourceNode.context?Promise.resolve():this.audioContext.close()},i.prototype.encodeBuffers=function(e){if("recording"===this.state){for(var t=[],o=0;o<e.numberOfChannels;o++)t[o]=e.getChannelData(o);this.encoder.postMessage({command:"encode",buffers:t});}},i.prototype.initAudioContext=function(){this.audioContext=this.config.sourceNode.context?this.config.sourceNode.context:new n,this.monitorGainNode=this.audioContext.createGain(),this.setMonitorGain(this.config.monitorGain),this.recordingGainNode=this.audioContext.createGain(),this.setRecordingGain(this.config.recordingGain);},i.prototype.initEncoder=function(){var e=this;this.audioContext.audioWorklet?(this.encoderNode=new AudioWorkletNode(this.audioContext,"encoder-worklet",{numberOfOutputs:0}),this.encoder=this.encoderNode.port):(console.log("audioWorklet support not detected. Falling back to scriptProcessor"),this.encodeBuffers=function(){return delete e.encodeBuffers},this.encoderNode=this.audioContext.createScriptProcessor(this.config.bufferLength,this.config.numberOfChannels,this.config.numberOfChannels),this.encoderNode.onaudioprocess=function(t){var o=t.inputBuffer;return e.encodeBuffers(o)},this.encoderNode.connect(this.audioContext.destination),this.encoder=new t.Worker(this.config.encoderPath));},i.prototype.initSourceNode=function(){var e=this;return this.config.sourceNode.context?(this.sourceNode=this.config.sourceNode,Promise.resolve()):t.navigator.mediaDevices.getUserMedia({audio:this.config.mediaTrackConstraints}).then((function(t){e.stream=t,e.sourceNode=e.audioContext.createMediaStreamSource(t);}))},i.prototype.initWorker=function(){var e=this,t=(this.config.streamPages?this.streamPage:this.storePage).bind(this);return this.recordedPages=[],this.totalLength=0,new Promise((function(n){e.encoder.addEventListener("message",(function o(i){var r=i.data;switch(r.message){case"ready":n();break;case"page":e.encodedSamplePosition=r.samplePosition,t(r.page);break;case"done":e.encoder.removeEventListener("message",o),e.finish();}})),e.encoder.start&&e.encoder.start();var i=e.config,r=(i.sourceNode,o(i,["sourceNode"]));e.encoder.postMessage(Object.assign({command:"init",originalSampleRate:e.audioContext.sampleRate,wavSampleRate:e.audioContext.sampleRate},r));}))},i.prototype.initWorklet=function(){return this.audioContext.audioWorklet?this.audioContext.audioWorklet.addModule(this.config.encoderPath):Promise.resolve()},i.prototype.pause=function(e){var t=this;if("recording"===this.state)return this.state="paused",this.recordingGainNode.disconnect(),e&&this.config.streamPages?new Promise((function(e){t.encoder.addEventListener("message",(function o(n){"flushed"===n.data.message&&(t.encoder.removeEventListener("message",o),t.onpause(),e());})),t.encoder.start&&t.encoder.start(),t.encoder.postMessage({command:"flush"});})):(this.onpause(),Promise.resolve())},i.prototype.resume=function(){"paused"===this.state&&(this.state="recording",this.recordingGainNode.connect(this.encoderNode),this.onresume());},i.prototype.setRecordingGain=function(e){this.config.recordingGain=e,this.recordingGainNode&&this.audioContext&&this.recordingGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01);},i.prototype.setMonitorGain=function(e){this.config.monitorGain=e,this.monitorGainNode&&this.audioContext&&this.monitorGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01);},i.prototype.start=function(){var e=this;return "inactive"===this.state?(this.state="loading",this.encodedSamplePosition=0,this.audioContext.resume().then((function(){return e.initialize})).then((function(){return Promise.all([e.initSourceNode(),e.initWorker()])})).then((function(){e.state="recording",e.encoder.postMessage({command:"getHeaderPages"}),e.sourceNode.connect(e.monitorGainNode),e.sourceNode.connect(e.recordingGainNode),e.monitorGainNode.connect(e.audioContext.destination),e.recordingGainNode.connect(e.encoderNode),e.onstart();})).catch((function(t){throw e.state="inactive",t}))):Promise.resolve()},i.prototype.stop=function(){var e=this;return "paused"===this.state||"recording"===this.state?(this.state="inactive",this.recordingGainNode.connect(this.encoderNode),this.monitorGainNode.disconnect(),this.clearStream(),new Promise((function(t){e.encoder.addEventListener("message",(function o(n){"done"===n.data.message&&(e.encoder.removeEventListener("message",o),t());})),e.encoder.start&&e.encoder.start(),e.encoder.postMessage({command:"done"});}))):Promise.resolve()},i.prototype.storePage=function(e){this.recordedPages.push(e),this.totalLength+=e.length;},i.prototype.streamPage=function(e){this.ondataavailable(e);},i.prototype.finish=function(){if(!this.config.streamPages){var e=new Uint8Array(this.totalLength);this.recordedPages.reduce((function(t,o){return e.set(o,t),t+o.length}),0),this.ondataavailable(e);}this.onstop();},i.prototype.ondataavailable=function(){},i.prototype.onpause=function(){},i.prototype.onresume=function(){},i.prototype.onstart=function(){},i.prototype.onstop=function(){},e.exports=i;}).call(this,o(1));},function(e,t){var o;o=function(){return this}();try{o=o||new Function("return this")();}catch(e){"object"==typeof window&&(o=window);}e.exports=o;}])}));
|
77405
|
-
}(recorder_min));
|
77406
|
-
|
77407
|
-
var Recorder = /*@__PURE__*/getDefaultExportFromCjs(recorder_min.exports);
|
77408
|
-
|
77397
|
+
// import RecordRTC from 'recordrtc';
|
77398
|
+
// import Recorder from 'opus-recorder'; // Using Recorder
|
77409
77399
|
const dom = new Dom();
|
77410
77400
|
class Dictation {
|
77411
77401
|
constructor(opts = {}, builder) {
|
@@ -77845,11 +77835,11 @@ class Dictation {
|
|
77845
77835
|
this.mediaRecorder.stop();
|
77846
77836
|
this.localStream.getTracks().forEach(track => track.stop()); // Stop the tracks to release the resources
|
77847
77837
|
}
|
77848
|
-
} else {
|
77849
|
-
|
77850
|
-
|
77851
|
-
|
77852
|
-
|
77838
|
+
} /* else {
|
77839
|
+
// Using Recorder
|
77840
|
+
if(this.recorder) this.recorder.stop();
|
77841
|
+
if(this.localStream) this.localStream.getTracks().forEach(track => track.stop()); // Stop the tracks to release the resources
|
77842
|
+
} */
|
77853
77843
|
|
77854
77844
|
if (this.websocket && this.websocket.readyState === WebSocket.OPEN) {
|
77855
77845
|
this.websocket.close();
|
@@ -77922,22 +77912,23 @@ class Dictation {
|
|
77922
77912
|
}).catch(error => {
|
77923
77913
|
console.log(error);
|
77924
77914
|
});
|
77925
|
-
} else {
|
77926
|
-
|
77927
|
-
|
77928
|
-
|
77929
|
-
|
77930
|
-
|
77931
|
-
|
77932
|
-
|
77933
|
-
|
77934
|
-
|
77935
|
-
|
77936
|
-
|
77937
|
-
|
77938
|
-
|
77939
|
-
|
77940
|
-
|
77915
|
+
} /* else {
|
77916
|
+
// Using Recorder
|
77917
|
+
this.recorder = new Recorder({
|
77918
|
+
encoderPath: this.builder.encoderPath||
|
77919
|
+
'https://cdnjs.cloudflare.com/ajax/libs/opus-recorder/8.0.5/encoderWorker.min.js',
|
77920
|
+
leaveStreamOpen: true,
|
77921
|
+
numberOfChannels: 1,
|
77922
|
+
// OPUS options
|
77923
|
+
encoderSampleRate: sampleRate,
|
77924
|
+
streamPages: true,
|
77925
|
+
maxBuffersPerPage: 1,
|
77926
|
+
});
|
77927
|
+
this.recorder.ondataavailable = (e) => {
|
77928
|
+
if(this.aborted) return;
|
77929
|
+
this.websocket.send(e.buffer);
|
77930
|
+
};
|
77931
|
+
} */
|
77941
77932
|
|
77942
77933
|
/*
|
77943
77934
|
// Using RecordRTC
|
@@ -77966,6 +77957,7 @@ class Dictation {
|
|
77966
77957
|
}, 2000);
|
77967
77958
|
}
|
77968
77959
|
let finalTranscripts = '';
|
77960
|
+
let speechTimeout;
|
77969
77961
|
this.websocket.onmessage = event => {
|
77970
77962
|
const message = JSON.parse(event.data);
|
77971
77963
|
if (message.event === 'can-open-mic') {
|
@@ -77973,22 +77965,29 @@ class Dictation {
|
|
77973
77965
|
|
77974
77966
|
if (this.builder.useMediaRecorder) {
|
77975
77967
|
this.mediaRecorder.start(1000); // Using mediaRecorder
|
77976
|
-
} else {
|
77977
|
-
|
77978
|
-
|
77968
|
+
} /* else {
|
77969
|
+
this.recorder.start(); // Using Recorder
|
77970
|
+
} */
|
77979
77971
|
|
77980
77972
|
// console.log('Start Dictation');
|
77981
77973
|
this.aborted = false;
|
77982
77974
|
}
|
77983
77975
|
if (message.event === 'transcript-result') {
|
77984
|
-
const transcripts = message.data;
|
77985
77976
|
if (this.builder.isInProgress || this.aborted) {
|
77986
77977
|
return;
|
77987
77978
|
}
|
77988
|
-
|
77979
|
+
const transcript = message.data.channel.alternatives[0].transcript;
|
77980
|
+
if (transcript && message.data.is_final) {
|
77981
|
+
finalTranscripts += ' ' + transcript;
|
77982
|
+
}
|
77989
77983
|
inpCommand.value = finalTranscripts;
|
77990
|
-
clearTimeout(
|
77991
|
-
|
77984
|
+
clearTimeout(speechTimeout);
|
77985
|
+
|
77986
|
+
// console.log('Writing..');
|
77987
|
+
|
77988
|
+
speechTimeout = setTimeout(() => {
|
77989
|
+
// console.log('Clear');
|
77990
|
+
|
77992
77991
|
this.builder.commandText = '';
|
77993
77992
|
finalTranscripts = '';
|
77994
77993
|
if (this.builder.autoSendCommand) {
|
@@ -78089,72 +78088,51 @@ class Dictation {
|
|
78089
78088
|
}
|
78090
78089
|
}
|
78091
78090
|
|
78092
|
-
var
|
78093
|
-
|
78094
|
-
|
78091
|
+
var stringSimilarity = {};
|
78092
|
+
|
78093
|
+
(function (exports) {
|
78094
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
78095
|
+
exports.stringSimilarity = void 0;
|
78096
|
+
/* global exports, Map */
|
78097
|
+
/**
|
78098
|
+
* Calculate similarity between two strings
|
78099
|
+
* @param {string} str1 First string to match
|
78100
|
+
* @param {string} str2 Second string to match
|
78101
|
+
* @param {number} [substringLength=2] Optional. Length of substring to be used in calculating similarity. Default 2.
|
78102
|
+
* @param {boolean} [caseSensitive=false] Optional. Whether you want to consider case in string matching. Default false;
|
78103
|
+
* @returns Number between 0 and 1, with 0 being a low match score.
|
78104
|
+
*/
|
78105
|
+
var stringSimilarity = function (str1, str2, substringLength, caseSensitive) {
|
78106
|
+
if (substringLength === void 0) { substringLength = 2; }
|
78107
|
+
if (caseSensitive === void 0) { caseSensitive = false; }
|
78108
|
+
if (!caseSensitive) {
|
78109
|
+
str1 = str1.toLowerCase();
|
78110
|
+
str2 = str2.toLowerCase();
|
78111
|
+
}
|
78112
|
+
if (str1.length < substringLength || str2.length < substringLength)
|
78113
|
+
return 0;
|
78114
|
+
var map = new Map();
|
78115
|
+
for (var i = 0; i < str1.length - (substringLength - 1); i++) {
|
78116
|
+
var substr1 = str1.substr(i, substringLength);
|
78117
|
+
map.set(substr1, map.has(substr1) ? map.get(substr1) + 1 : 1);
|
78118
|
+
}
|
78119
|
+
var match = 0;
|
78120
|
+
for (var j = 0; j < str2.length - (substringLength - 1); j++) {
|
78121
|
+
var substr2 = str2.substr(j, substringLength);
|
78122
|
+
var count = map.has(substr2) ? map.get(substr2) : 0;
|
78123
|
+
if (count > 0) {
|
78124
|
+
map.set(substr2, count - 1);
|
78125
|
+
match++;
|
78126
|
+
}
|
78127
|
+
}
|
78128
|
+
return (match * 2) / (str1.length + str2.length - ((substringLength - 1) * 2));
|
78095
78129
|
};
|
78130
|
+
exports.stringSimilarity = stringSimilarity;
|
78131
|
+
exports.default = exports.stringSimilarity;
|
78096
78132
|
|
78097
|
-
|
78098
|
-
first = first.replace(/\s+/g, '');
|
78099
|
-
second = second.replace(/\s+/g, '');
|
78100
|
-
|
78101
|
-
if (first === second) return 1; // identical or empty
|
78102
|
-
if (first.length < 2 || second.length < 2) return 0; // if either is a 0-letter or 1-letter string
|
78103
|
-
|
78104
|
-
let firstBigrams = new Map();
|
78105
|
-
for (let i = 0; i < first.length - 1; i++) {
|
78106
|
-
const bigram = first.substring(i, i + 2);
|
78107
|
-
const count = firstBigrams.has(bigram)
|
78108
|
-
? firstBigrams.get(bigram) + 1
|
78109
|
-
: 1;
|
78110
|
-
|
78111
|
-
firstBigrams.set(bigram, count);
|
78112
|
-
}
|
78113
|
-
let intersectionSize = 0;
|
78114
|
-
for (let i = 0; i < second.length - 1; i++) {
|
78115
|
-
const bigram = second.substring(i, i + 2);
|
78116
|
-
const count = firstBigrams.has(bigram)
|
78117
|
-
? firstBigrams.get(bigram)
|
78118
|
-
: 0;
|
78119
|
-
|
78120
|
-
if (count > 0) {
|
78121
|
-
firstBigrams.set(bigram, count - 1);
|
78122
|
-
intersectionSize++;
|
78123
|
-
}
|
78124
|
-
}
|
78125
|
-
|
78126
|
-
return (2.0 * intersectionSize) / (first.length + second.length - 2);
|
78127
|
-
}
|
78128
|
-
|
78129
|
-
function findBestMatch(mainString, targetStrings) {
|
78130
|
-
if (!areArgsValid(mainString, targetStrings)) throw new Error('Bad arguments: First argument should be a string, second should be an array of strings');
|
78131
|
-
|
78132
|
-
const ratings = [];
|
78133
|
-
let bestMatchIndex = 0;
|
78134
|
-
|
78135
|
-
for (let i = 0; i < targetStrings.length; i++) {
|
78136
|
-
const currentTargetString = targetStrings[i];
|
78137
|
-
const currentRating = compareTwoStrings(mainString, currentTargetString);
|
78138
|
-
ratings.push({target: currentTargetString, rating: currentRating});
|
78139
|
-
if (currentRating > ratings[bestMatchIndex].rating) {
|
78140
|
-
bestMatchIndex = i;
|
78141
|
-
}
|
78142
|
-
}
|
78143
|
-
|
78144
|
-
|
78145
|
-
const bestMatch = ratings[bestMatchIndex];
|
78146
|
-
|
78147
|
-
return { ratings: ratings, bestMatch: bestMatch, bestMatchIndex: bestMatchIndex };
|
78148
|
-
}
|
78149
|
-
|
78150
|
-
function areArgsValid(mainString, targetStrings) {
|
78151
|
-
if (typeof mainString !== 'string') return false;
|
78152
|
-
if (!Array.isArray(targetStrings)) return false;
|
78153
|
-
if (!targetStrings.length) return false;
|
78154
|
-
if (targetStrings.find( function (s) { return typeof s !== 'string'})) return false;
|
78155
|
-
return true;
|
78156
|
-
}
|
78133
|
+
}(stringSimilarity));
|
78157
78134
|
|
78135
|
+
// import stringSimilarity from 'string-similarity';
|
78158
78136
|
class Similarity {
|
78159
78137
|
constructor(builder) {
|
78160
78138
|
this.builder = builder;
|
@@ -78184,7 +78162,7 @@ class Similarity {
|
|
78184
78162
|
const normalizedCommand = command.toLowerCase();
|
78185
78163
|
let maxSimilarity = 0;
|
78186
78164
|
for (const cmd of list) {
|
78187
|
-
const similarity =
|
78165
|
+
const similarity = stringSimilarity.stringSimilarity(normalizedCommand, cmd);
|
78188
78166
|
if (similarity > maxSimilarity) {
|
78189
78167
|
// console.log(list)
|
78190
78168
|
// console.log(similarity)
|
@@ -78809,16 +78787,18 @@ class ContentBuilder {
|
|
78809
78787
|
enableDragResize: true,
|
78810
78788
|
simpleTextSettings: false,
|
78811
78789
|
enableColumnsPerLine: true,
|
78812
|
-
/* Prompt/Command Stuff */
|
78790
|
+
/* Prompt/Command Stuff for AI Assistant */
|
78813
78791
|
isContentBox: false,
|
78814
78792
|
sendCommandUrl: 'http://localhost:8081/answer',
|
78815
78793
|
// speechTranscribeUrl: 'http://192.168.1.7:8081',
|
78816
78794
|
onlineDemo: false,
|
78817
|
-
autoSendDelay:
|
78795
|
+
autoSendDelay: 4000,
|
78818
78796
|
commandPlaceholderText: '',
|
78819
78797
|
enableShortCommands: true,
|
78820
78798
|
speechRecognitionLang: 'en-US',
|
78821
|
-
useMediaRecorder:
|
78799
|
+
useMediaRecorder: true,
|
78800
|
+
// do not change
|
78801
|
+
encoderPath: '',
|
78822
78802
|
headlineList: ['We create simple and effective designs.', 'Ultimate Experiences With Story, Emotion, And Purpose.', 'Build Anything Beautifully', 'With Less Stuff and More Compassion', 'We\'re [CompanyName]. Full stack development with a spark of creativity.', 'Transforming your digital experience with [CompanyName]. Achieve your online goals with our customized solutions.', 'Revolutionizing web development with [CompanyName]. Unleash your digital potential with our high-performance solutions.', 'Creative and Inspiring'],
|
78823
78803
|
shortCommandList: {
|
78824
78804
|
undo: ['undo'],
|