@bigbinary/neeto-media-recorder 1.1.4 → 1.2.0

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/core.js CHANGED
@@ -617,10 +617,11 @@ var abortUploadApi = {
617
617
 
618
618
  var create$1 = function create(_ref) {
619
619
  var recordingId = _ref.recordingId,
620
- payload = _ref.payload;
620
+ payload = _ref.payload,
621
+ config = _ref.config;
621
622
  return axios.post("/api/v1/recordings/".concat(recordingId, "/complete_upload"), {
622
623
  completeUpload: payload
623
- });
624
+ }, config);
624
625
  };
625
626
  var retryableCreate$1 = buildRetryableApi(create$1);
626
627
  var completeUploadApi = {
@@ -668,6 +669,14 @@ var prepareStore$1 = function prepareStore() {
668
669
  }));
669
670
  };
670
671
 
672
+ /**
673
+ * Due to the custom axios interceptor for s3Api,
674
+ * it'll return false for cancelled requests instead of a cancelled error object.
675
+ */
676
+ var isNotCancelledRequest = function isNotCancelledRequest(resolvedResponse) {
677
+ return typeof resolvedResponse !== "boolean";
678
+ };
679
+
671
680
  function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
672
681
  function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
673
682
  function _classPrivateFieldInitSpec$1(obj, privateMap, value) { _checkPrivateRedeclaration$1(obj, privateMap); privateMap.set(obj, value); }
@@ -783,7 +792,7 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
783
792
  return Promise.all(_classPrivateFieldGet(_this, _s3PartUploadPromises));
784
793
  case 9:
785
794
  resolvedS3PartUploadPromises = _context.sent;
786
- parts = resolvedS3PartUploadPromises.map(function (resolvedResponse) {
795
+ parts = resolvedS3PartUploadPromises.filter(isNotCancelledRequest).map(function (resolvedResponse) {
787
796
  return {
788
797
  etag: resolvedResponse.headers.etag,
789
798
  partNumber: new URL(resolvedResponse.request.responseURL).searchParams.get("partNumber")
@@ -797,6 +806,9 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
797
806
  payload: {
798
807
  parts: parts,
799
808
  uploadId: _classPrivateFieldGet(_this, _uploadId)
809
+ },
810
+ config: {
811
+ signal: _classPrivateFieldGet(_this, _abortController).signal
800
812
  }
801
813
  });
802
814
  case 13:
package/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sources":["node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArray.js","node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","node_modules/@babel/runtime/helpers/esm/classCallCheck.js","node_modules/@babel/runtime/helpers/esm/typeof.js","node_modules/@babel/runtime/helpers/esm/toPrimitive.js","node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","node_modules/@babel/runtime/helpers/esm/createClass.js","node_modules/@babel/runtime/helpers/esm/defineProperty.js","node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","node_modules/@babel/runtime/helpers/typeof.js","node_modules/@babel/runtime/helpers/regeneratorRuntime.js","node_modules/@babel/runtime/regenerator/index.js","src/constants.js","src/utils/index.js","src/utils/buildRetryableApi.js","src/apis/abort_upload.js","src/apis/complete_upload.js","src/apis/part_presigned_url.js","src/apis/s3.js","src/core/multipartS3Uploader/store/index.js","src/core/multipartS3Uploader/index.js","src/core/screenRecorder/constants.js","src/core/screenRecorder/stores/index.js","src/core/screenRecorder/utils.js","src/core/screenRecorder/index.js"],"sourcesContent":["export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n}","export default function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n}","import classApplyDescriptorGet from \"./classApplyDescriptorGet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}","export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n}","import classApplyDescriptorSet from \"./classApplyDescriptorSet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\n// https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList\nexport const RETRIABLE_ERRORS = [500, 503];\n\nexport const ONE_SECOND_IN_MILLISECONDS = 1000;\n\nexport const ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;\n\nexport const ONE_SECOND = 1;\n\nexport const UPLOAD_EVENT = { onComplete: \"onComplete\" };\n\nexport const UPLOAD_STATUS = {\n uploading: \"uploading\",\n completed: \"completed\",\n aborting: \"aborting\",\n};\n\nexport const SCREEN_RECORDER_STATUS = {\n media_aborted: \"media_aborted\",\n permission_denied: \"permission_denied\",\n no_specified_media_found: \"no_specified_media_found\",\n media_in_use: \"media_in_use\",\n invalid_media_constraints: \"invalid_media_constraints\",\n no_chrome_flags_set: \"no_chrome_flags_set\",\n recorder_error: \"recorder_error\",\n idle: \"idle\",\n acquiring_media: \"acquiring_media\",\n media_acquired: \"media_acquired\",\n restarting: \"restarting\",\n recording: \"recording\",\n stopping: \"stopping\",\n stopped: \"stopped\",\n paused: \"paused\",\n};\n\nexport const SCREEN_RECORDER_ERROR = {\n AbortError: \"media_aborted\",\n NotAllowedError: \"permission_denied\",\n NotFoundError: \"no_specified_media_found\",\n NotReadableError: \"media_in_use\",\n OverconstrainedError: \"invalid_media_constraints\",\n TypeError: \"no_chrome_flags_set\",\n None: \"\",\n NoRecorder: \"recorder_error\",\n UnSupportedBrowser: \"unsupported_browser\",\n};\n\nexport const SCREEN_RECORDER_EVENT = {\n onStart: \"onStart\",\n onStop: \"onStop\",\n onDiscard: \"onDiscard\",\n onDataAvailable: \"onDataAvailable\",\n onDiscardDuringCountdown: \"onDiscardDuringCountdown\",\n onRestart: \"onRestart\",\n};\n\nexport const TOTAL_RETRIES = 30;\nexport const INITIAL_RETRY_DELAY = 4000;\nexport const MAX_RETRY_DELAY = 16000;\n\nexport const DEFAULT_RETRY_CONFIG = {\n retries: TOTAL_RETRIES,\n retryDelay: INITIAL_RETRY_DELAY,\n retryableStatuses: [],\n};\n\n// No need to localize this since it will only be used in the code\n// eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized\nexport const NETWORK_ERROR = \"Network Error\";\nexport const TIMEOUT_ERROR = \"ECONNABORTED\";\n\nexport const HAS_CHROME_NAMESPACE = typeof chrome === \"object\";\n\nexport const IS_EXTENSION = HAS_CHROME_NAMESPACE && isNotNil(chrome.extension);\n\nexport const IS_SAFARI = platform.name === \"Safari\";\n\nexport const IS_SAFARI_EXTENSION = IS_SAFARI && IS_EXTENSION;\n\nexport const PERMISSIONS_HELP_DOC =\n \"https://neetorecordhelp.neetokb.com/p/a-10efcfd7\";\n","export const sleep = delay =>\n new Promise(resolve => setTimeout(resolve, delay));\n\nexport const generatePublicUrl = (\n recordingId,\n baseURL = window.location.origin\n) => `${baseURL}/watch/${recordingId}`;\n","import { isPresent } from \"neetocist\";\nimport { min } from \"ramda\";\n\nimport {\n DEFAULT_RETRY_CONFIG,\n INITIAL_RETRY_DELAY,\n MAX_RETRY_DELAY,\n NETWORK_ERROR,\n TIMEOUT_ERROR,\n TOTAL_RETRIES,\n} from \"src/constants\";\nimport { sleep } from \"utils\";\n\nconst buildRetryableApi =\n (\n apiConnector,\n {\n retries = TOTAL_RETRIES,\n retryDelay = INITIAL_RETRY_DELAY,\n retryableStatuses,\n } = DEFAULT_RETRY_CONFIG\n ) =>\n async apiConnectorArgs => {\n let remainingAttempts = retries + 1;\n\n while (remainingAttempts--) {\n try {\n return await apiConnector(apiConnectorArgs);\n } catch (error) {\n const isRetryableStatus =\n isPresent(retryableStatuses) &&\n retryableStatuses.includes(error.response?.status);\n\n const isRetryableError =\n isRetryableStatus ||\n error.message === NETWORK_ERROR ||\n error.code === TIMEOUT_ERROR;\n\n if (isRetryableError && remainingAttempts > 0) {\n await sleep(retryDelay);\n retryDelay = min(retryDelay * 2, MAX_RETRY_DELAY);\n } else {\n throw error;\n }\n }\n }\n\n return null;\n };\n\nexport default buildRetryableApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload }) =>\n axios.post(`/api/v1/recordings/${recordingId}/abort_upload`, {\n abortUpload: payload,\n });\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst abortUploadApi = { create: retryableCreate };\n\nexport default abortUploadApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload }) =>\n axios.post(`/api/v1/recordings/${recordingId}/complete_upload`, {\n completeUpload: payload,\n });\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst completeUploadApi = { create: retryableCreate };\n\nexport default completeUploadApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload }) =>\n axios.post(`/api/v1/recordings/${recordingId}/part_presigned_url`, {\n partPresignedUrl: payload,\n });\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst partPresignedUrlApi = { create: retryableCreate };\n\nexport default partPresignedUrlApi;\n","import axios from \"axios\";\nimport { RETRIABLE_ERRORS } from \"neetomediarecorder/constants\";\nimport { identity } from \"ramda\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst s3AxiosInstance = axios.create({\n headers: { \"Content-Type\": 'video/webm;codecs=\"h264\"' },\n});\n\ns3AxiosInstance.interceptors.response.use(\n identity,\n error => !axios.isCancel(error) && Promise.reject(error)\n);\n\nconst presignedUpload = ({ presignedUrl, blob, config }) =>\n s3AxiosInstance.put(presignedUrl, blob, config);\n\nconst retryablePresignedUpload = buildRetryableApi(presignedUpload, {\n retryableStatuses: RETRIABLE_ERRORS,\n});\n\nconst s3Api = { presignedUpload: retryablePresignedUpload };\n\nexport default s3Api;\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\n\nconst prepareStore = () => create(withImmutableActions(() => ({ status: \"\" })));\n\nexport default prepareStore;\n","// Axios is required here to waive off the CancelledError which occurs when\n// using AbortController on an axios request.\n// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis\nimport axios from \"axios\";\nimport { isNot } from \"neetocist\";\nimport { UPLOAD_EVENT, UPLOAD_STATUS } from \"neetomediarecorder/constants\";\nimport { isEmpty } from \"ramda\";\n\nimport abortUploadApi from \"src/apis/abort_upload\";\nimport completeUploadApi from \"src/apis/complete_upload\";\nimport partPresignedUrlApi from \"src/apis/part_presigned_url\";\nimport s3Api from \"src/apis/s3\";\n\nimport prepareStore from \"./store\";\n\nclass MultipartS3Uploader {\n MIN_UPLOAD_CHUNK_SIZE = 5 * 1024 * 1024;\n\n #recordingId = \"\";\n #uploadId = \"\";\n #unUploadedChunks = [];\n #partNumber = 1;\n #s3PartUploadPromises = [];\n #callbacks = {};\n #store;\n #abortController;\n #pendingS3ChunkUploads = [];\n\n constructor() {\n this.#store = prepareStore();\n }\n\n /** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\n get useMultipartS3UploadStore() {\n return this.#store;\n }\n\n initialize = (recordingId, uploadId) => {\n this.#recordingId = recordingId;\n this.#uploadId = uploadId;\n this.#abortController = new AbortController();\n };\n\n push = data => {\n if (data.size > 0) {\n this.#unUploadedChunks.push(data);\n }\n\n if (this.#isNotInitialized) return;\n\n logger.info(\n \"Current unuploaded data size is \",\n this.#getCurrentUnUploadedBlob().size / 1024 / 1024,\n \"MB\"\n );\n\n if (this.#getCurrentUnUploadedBlob().size > this.MIN_UPLOAD_CHUNK_SIZE) {\n const uploadChunkToS3Promise = this.#uploadChunkToS3(\n this.#unUploadedChunks\n );\n\n this.#pendingS3ChunkUploads.push(uploadChunkToS3Promise);\n this.#unUploadedChunks = [];\n }\n };\n\n completeUpload = async () => {\n try {\n this.#store.setState({ status: UPLOAD_STATUS.uploading });\n\n if (this.#isNotInitialized) return;\n\n // Upload last chunk; only if last chunk has data\n if (this.#getCurrentUnUploadedBlob().size > 0) {\n const uploadChunkToS3Promise = this.#uploadChunkToS3(\n this.#unUploadedChunks\n );\n\n this.#pendingS3ChunkUploads.push(uploadChunkToS3Promise);\n }\n\n /**\n * Wait for all the pending uploadToS3Promises.\n * Else we encounter a race condition where a new request is made for presignedUrl\n * but at the same time we reach the resolvedS3PartUploadPromises line and await\n * the s3PartUploadPromises. And the s3PartUploadPromises is resolved before\n * adding the new presignedUrl part upload to s3PartUploadPromises.\n * This results in incorrect partNumbers.\n */\n await Promise.all(this.#pendingS3ChunkUploads);\n\n const resolvedS3PartUploadPromises = await Promise.all(\n this.#s3PartUploadPromises\n );\n\n const parts = resolvedS3PartUploadPromises\n .map(resolvedResponse => ({\n etag: resolvedResponse.headers.etag,\n partNumber: new URL(\n resolvedResponse.request.responseURL\n ).searchParams.get(\"partNumber\"),\n }))\n .toSorted((a, b) => Number(a.partNumber) - Number(b.partNumber));\n\n await completeUploadApi.create({\n recordingId: this.#recordingId,\n payload: { parts, uploadId: this.#uploadId },\n });\n\n await this.#store.setState({ status: UPLOAD_STATUS.completed });\n\n this.#fireCallbacks(UPLOAD_EVENT.onComplete);\n } catch (error) {\n logger.error(error);\n }\n };\n\n abortUpload = async () => {\n try {\n this.#store.setState({ status: UPLOAD_STATUS.aborting });\n\n if (this.#isNotInitialized) return;\n\n this.#abortController.abort();\n\n await abortUploadApi.create({\n recordingId: this.#recordingId,\n payload: { uploadId: this.#uploadId },\n });\n\n this.#unUploadedChunks = [];\n this.#partNumber = 1;\n this.#s3PartUploadPromises = [];\n this.#store.setState({ status: \"\" });\n this.#abortController = null;\n } catch (error) {\n logger.error(error);\n }\n };\n\n resetState = () => {\n this.#recordingId = \"\";\n this.#uploadId = \"\";\n this.#unUploadedChunks = [];\n this.#partNumber = 1;\n this.#s3PartUploadPromises = [];\n this.#callbacks = {};\n this.#store.setState({ status: \"\" });\n };\n\n addCallback = (event, callback) => {\n const existingCallbacks = this.#callbacks[event] ?? [];\n this.#callbacks = {\n ...this.#callbacks,\n [event]: [...existingCallbacks, callback],\n };\n };\n\n removeCallback = (event, callback) => {\n const registeredCallbacks = this.#callbacks[event] ?? [];\n const updatedCallbacks = registeredCallbacks.filter(isNot(callback));\n this.#callbacks = { ...this.#callbacks, [event]: updatedCallbacks };\n };\n\n #fireCallbacks = (event, args = []) => {\n this.#callbacks[event]?.forEach(callback => {\n callback(...args);\n });\n };\n\n #uploadChunkToS3 = async chunks => {\n logger.info(\"Part ready to be uploaded: \", this.#partNumber);\n try {\n const { presignedUrl } = await partPresignedUrlApi.create({\n recordingId: this.#recordingId,\n payload: { partNumber: this.#partNumber++, uploadId: this.#uploadId },\n });\n\n const s3PartUploadPromise = s3Api.presignedUpload({\n presignedUrl,\n blob: new Blob(chunks, { type: 'video/webm;codecs=\"h264\"' }),\n config: {\n includeMetadataInResponse: true,\n signal: this.#abortController.signal,\n },\n });\n\n this.#s3PartUploadPromises.push(s3PartUploadPromise);\n } catch (error) {\n if (!axios.isCancel(error)) logger.error(error);\n }\n };\n\n #getCurrentUnUploadedBlob = () =>\n new Blob(this.#unUploadedChunks, { type: 'video/webm;codecs=\"h264\"' });\n\n get #isNotInitialized() {\n return isEmpty(this.#uploadId + this.#recordingId);\n }\n}\n\nconst multipartS3Uploader = new MultipartS3Uploader();\n\nexport default multipartS3Uploader;\n","// https://www.w3.org/TR/screen-capture/#displaycapturesurfacetype\nexport const DISPLAY_SURFACE = {\n monitor: \"monitor\",\n window: \"window\",\n browser: \"browser\",\n};\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { SCREEN_RECORDER_STATUS } from \"neetomediarecorder/constants\";\nimport { create } from \"zustand\";\n\nexport const initialState = {\n status: SCREEN_RECORDER_STATUS.idle,\n error: \"\",\n elapsedTime: 0,\n countdownTimeLeft: 3,\n};\n\nconst prepareStore = () =>\n create(\n withImmutableActions(set => ({\n ...initialState,\n resetState: () => set(initialState),\n }))\n );\n\nexport default prepareStore;\n","import { existsBy, isNotEmpty } from \"neetocist\";\nimport { isNil } from \"ramda\";\n\nconst getUnSupportedConstraints = mediaType => {\n const supportedMediaConstraints =\n navigator.mediaDevices.getSupportedConstraints();\n\n return Object.keys(mediaType).filter(\n constraint => !supportedMediaConstraints[constraint]\n );\n};\n\nexport const checkConstraints = (...mediaTypes) => {\n if (isNil(navigator.mediaDevices)) {\n return;\n }\n\n const unSupportedConstraints = mediaTypes\n .filter(mediaType => typeof mediaType === \"object\")\n .map(getUnSupportedConstraints)\n .flat();\n\n if (isNotEmpty(unSupportedConstraints)) {\n // eslint-disable-next-line no-console\n console.error(\n `The constraints ${unSupportedConstraints.join(\n \",\"\n )} doesn't support on this browser.`\n );\n }\n};\n\nexport const isStreamEnded = mediaStream =>\n existsBy({ readyState: \"ended\" }, mediaStream.getTracks());\n","import { isNot } from \"neetocist\";\nimport {\n ONE_SECOND,\n ONE_SECOND_IN_MILLISECONDS,\n SCREEN_RECORDER_STATUS,\n SCREEN_RECORDER_EVENT,\n SCREEN_RECORDER_ERROR,\n} from \"neetomediarecorder/constants\";\nimport { pick } from \"ramda\";\n\nimport { DISPLAY_SURFACE } from \"./constants\";\nimport prepareStore, { initialState as initialStoreState } from \"./stores\";\nimport { checkConstraints, isStreamEnded } from \"./utils\";\n\nclass ScreenRecorder {\n #audio;\n #video;\n #mediaRecorder;\n #mediaStream;\n #store;\n #mediaChunks = [];\n #callbacks = {};\n #lastTimerUpdatedAt = 0;\n #timerId;\n #countdownTimerId;\n\n constructor(audio, video) {\n this.#audio = audio;\n this.#video = video;\n\n this.#store = prepareStore();\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.idle });\n this.#checkCompatibility();\n }\n\n /** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\n get useRecorderStore() {\n return this.#store;\n }\n\n setAudioConfiguration = audio => (this.#audio = audio);\n\n getWebmMediaBlob = () =>\n new Blob(this.#mediaChunks, { type: 'video/webm;codecs=\"h264\"' });\n\n addCallback = (event, callback) => {\n const existingCallbacks = this.#callbacks[event] ?? [];\n this.#callbacks = {\n ...this.#callbacks,\n [event]: [...existingCallbacks, callback],\n };\n };\n\n removeCallback = (event, callback) => {\n const registeredCallbacks = this.#callbacks[event] ?? [];\n const updatedCallbacks = registeredCallbacks.filter(isNot(callback));\n this.#callbacks = { ...this.#callbacks, [event]: updatedCallbacks };\n };\n\n removeAllCallbacksByEvent = event => {\n delete this.#callbacks[event];\n };\n\n startRecording = async () => {\n this.#store.setState(pick([\"error\"], initialStoreState));\n\n if (!this.#mediaStream) {\n await this.#acquireMediaStream();\n }\n\n if (this.#mediaStream && isStreamEnded(this.#mediaStream)) {\n await this.#acquireMediaStream();\n }\n\n if (!this.#mediaStream || isStreamEnded(this.#mediaStream)) return;\n\n this.#mediaChunks = [];\n this.#mediaRecorder = new MediaRecorder(this.#mediaStream);\n this.#mediaRecorder.ondataavailable = this.#onRecordingActive;\n this.#mediaRecorder.onstart = this.#onRecordingStart;\n this.#mediaRecorder.onstop = this.#onRecordingStop;\n this.#mediaRecorder.onerror = () => {\n this.#store.setState({\n status: SCREEN_RECORDER_STATUS.idle,\n error: SCREEN_RECORDER_ERROR.NoRecorder,\n });\n };\n\n this.#countdownAndStartRecording();\n };\n\n stopRecording = () => {\n if (this.#mediaRecorder === undefined) {\n /**\n * If the permission is denied and \"Stop sharing\" overlay is clicked\n */\n this.#mediaStream?.getTracks().forEach(track => track.stop());\n\n return;\n }\n\n if (this.#mediaRecorder?.state === \"inactive\") {\n // When recording is stopped from the 'Stop Sharing' overlay\n // before it even starts, i.e during the countdown.\n clearInterval(this.#countdownTimerId);\n this.#mediaStream.getTracks().forEach(track => track.stop());\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDiscardDuringCountdown);\n\n return;\n }\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.#mediaRecorder.stop();\n this.#mediaStream &&\n this.#mediaStream.getTracks().forEach(track => track.stop());\n\n this.#stopTimer();\n };\n\n pauseRecording = () => {\n if (this.#mediaRecorder?.state === \"recording\") {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.paused });\n this.#mediaRecorder.pause();\n }\n\n this.#stopTimer();\n };\n\n resumeRecording = () => {\n if (this.#mediaRecorder?.state === \"paused\") {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.recording });\n this.#mediaRecorder.resume();\n }\n\n this.#startTimer();\n };\n\n discardRecording = () => {\n if (this.#mediaRecorder?.state === \"inactive\") return;\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.removeAllCallbacksByEvent(SCREEN_RECORDER_EVENT.onStop);\n this.#mediaRecorder.stop();\n this.#mediaStream &&\n this.#mediaStream.getTracks().forEach(track => track.stop());\n\n clearInterval(this.#timerId);\n this.#store.setState(pick([\"elapsedTime\"], initialStoreState));\n this.#mediaChunks = [];\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDiscard);\n };\n\n restartRecording = () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.removeAllCallbacksByEvent(SCREEN_RECORDER_EVENT.onStop);\n this.#mediaRecorder.stop();\n\n clearInterval(this.#timerId);\n this.#store.setState(\n pick([\"elapsedTime\", \"countdownTimeLeft\"], initialStoreState)\n );\n this.#mediaChunks = [];\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onRestart);\n\n this.#countdownAndStartRecording();\n };\n\n resetState = () => {\n this.#mediaChunks = [];\n this.#callbacks = {};\n clearInterval(this.#timerId);\n clearInterval(this.#countdownTimerId);\n this.#store.getState().resetState();\n };\n\n revokePermissions = () => {\n if (!this.#mediaRecorder) return;\n\n this.#mediaRecorder.onstop = null;\n this.#mediaStream.getTracks().forEach(track => track.stop());\n };\n\n #checkCompatibility = () => {\n if (!navigator.mediaDevices?.getDisplayMedia) {\n this.#store.setState({ error: SCREEN_RECORDER_ERROR.UnSupportedBrowser });\n }\n\n checkConstraints(this.#audio, this.#video);\n };\n\n #acquireMediaStream = async () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.acquiring_media });\n try {\n const stream = await window.navigator.mediaDevices.getDisplayMedia({\n video: this.#video || true,\n });\n\n // Event triggered when the user clicks on the stop sharing overlay button\n stream.getVideoTracks()[0].addEventListener(\"ended\", () => {\n this.stopRecording();\n });\n\n if (this.#audio) {\n const audioStream = await window.navigator.mediaDevices.getUserMedia({\n audio: this.#audio,\n });\n\n audioStream\n .getAudioTracks()\n .forEach(audioTrack => stream.addTrack(audioTrack));\n }\n\n this.#mediaStream = stream;\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.media_acquired });\n } catch (error) {\n this.#store.setState({\n error: SCREEN_RECORDER_ERROR[error.name],\n status: SCREEN_RECORDER_STATUS.idle,\n });\n }\n };\n\n #fireCallbacks = (event, args = []) => {\n this.#callbacks[event]?.forEach(callback => {\n callback(...args);\n });\n };\n\n #onRecordingStart = () => {\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onStart);\n };\n\n #onRecordingActive = ({ data }) => {\n if (data.size <= 0) return;\n\n this.#mediaChunks.push(data);\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDataAvailable, [data]);\n };\n\n #onRecordingStop = () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopped });\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onStop);\n\n // If mediaStream is active after stopping mediaRecorder, then that means that\n // we are restarting and not stopping.\n if (this.#mediaStream.active) {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.restarting });\n }\n };\n\n #countdownAndStartRecording = () => {\n this.#countdownTimerId = setInterval(() => {\n this.#store.setState(({ countdownTimeLeft }) => {\n if (countdownTimeLeft - ONE_SECOND > 0) {\n return {\n countdownTimeLeft: countdownTimeLeft - ONE_SECOND,\n };\n }\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.recording });\n this.#mediaRecorder.start(5000);\n this.#startTimer();\n\n clearInterval(this.#countdownTimerId);\n\n return { countdownTimeLeft: 0 };\n });\n }, ONE_SECOND_IN_MILLISECONDS);\n };\n\n #startTimer = () => {\n this.#lastTimerUpdatedAt = Date.now();\n this.#timerId = setInterval(() => {\n this.#store.setState(({ elapsedTime }) => {\n const now = Date.now();\n const newElapsedTime = elapsedTime + (now - this.#lastTimerUpdatedAt);\n this.#lastTimerUpdatedAt = now;\n\n return { elapsedTime: newElapsedTime };\n });\n }, ONE_SECOND_IN_MILLISECONDS);\n };\n\n #stopTimer = () => {\n clearInterval(this.#timerId);\n\n const newElapsedTime =\n this.#store.getState().elapsedTime +\n (Date.now() - this.#lastTimerUpdatedAt);\n\n this.#store.setState({ elapsedTime: newElapsedTime });\n };\n}\n\nconst screenRecorder = new ScreenRecorder(true, {\n displaySurface: DISPLAY_SURFACE.monitor,\n});\n\nexport default screenRecorder;\n"],"names":["arrayLikeToArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_typeof","toPrimitive","toPropertyKey","classExtractFieldDescriptor","classApplyDescriptorGet","classApplyDescriptorSet","require$$0","TOTAL_RETRIES","INITIAL_RETRY_DELAY","MAX_RETRY_DELAY","DEFAULT_RETRY_CONFIG","retries","retryDelay","retryableStatuses","NETWORK_ERROR","TIMEOUT_ERROR","HAS_CHROME_NAMESPACE","chrome","isNotNil","extension","platform","name","sleep","delay","Promise","resolve","setTimeout","buildRetryableApi","apiConnector","_ref","arguments","length","undefined","_ref$retries","_ref$retryDelay","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","apiConnectorArgs","remainingAttempts","_error$response","isRetryableStatus","isRetryableError","wrap","_callee$","_context","prev","next","abrupt","sent","t0","isPresent","includes","response","status","message","code","min","stop","_x","apply","create","recordingId","payload","axios","post","concat","abortUpload","retryableCreate","abortUploadApi","completeUpload","completeUploadApi","partPresignedUrl","partPresignedUrlApi","s3AxiosInstance","headers","interceptors","use","identity","error","isCancel","reject","presignedUpload","presignedUrl","blob","config","put","retryablePresignedUpload","RETRIABLE_ERRORS","s3Api","prepareStore","withImmutableActions","_recordingId","WeakMap","_uploadId","_unUploadedChunks","_partNumber","_s3PartUploadPromises","_callbacks","_store","_abortController","_pendingS3ChunkUploads","_fireCallbacks","_uploadChunkToS","_getCurrentUnUploadedBlob","_isNotInitialized","MultipartS3Uploader","_this","_classCallCheck","_classPrivateFieldInitSpec","get","_get_isNotInitialized","set","_defineProperty","writable","value","uploadId","_classPrivateFieldSet","AbortController","data","size","_classPrivateFieldGet","push","logger","info","call","MIN_UPLOAD_CHUNK_SIZE","uploadChunkToS3Promise","resolvedS3PartUploadPromises","parts","setState","UPLOAD_STATUS","uploading","all","map","resolvedResponse","etag","partNumber","URL","request","responseURL","searchParams","toSorted","a","b","Number","completed","UPLOAD_EVENT","onComplete","_callee2","_callee2$","_context2","aborting","abort","event","callback","_classPrivateFieldGet2","existingCallbacks","_objectSpread","_toConsumableArray","_classPrivateFieldGet3","registeredCallbacks","updatedCallbacks","filter","isNot","_classPrivateFieldGet4","args","forEach","_value","_callee3","chunks","_this$partNumber","_this$partNumber2","_yield$partPresignedU","s3PartUploadPromise","_callee3$","_context3","Blob","type","includeMetadataInResponse","signal","_createClass","key","isEmpty","multipartS3Uploader","DISPLAY_SURFACE","monitor","window","browser","initialState","SCREEN_RECORDER_STATUS","idle","elapsedTime","countdownTimeLeft","resetState","getUnSupportedConstraints","mediaType","supportedMediaConstraints","navigator","mediaDevices","getSupportedConstraints","Object","keys","constraint","checkConstraints","isNil","_len","mediaTypes","Array","_key","unSupportedConstraints","flat","isNotEmpty","console","join","isStreamEnded","mediaStream","existsBy","readyState","getTracks","_audio","_video","_mediaRecorder","_mediaStream","_mediaChunks","_lastTimerUpdatedAt","_timerId","_countdownTimerId","_checkCompatibility","_acquireMediaStream","_onRecordingStart","_onRecordingActive","_onRecordingStop","_countdownAndStartRecording","_startTimer","_stopTimer","ScreenRecorder","audio","video","pick","initialStoreState","MediaRecorder","ondataavailable","onstart","onstop","onerror","SCREEN_RECORDER_ERROR","NoRecorder","_classPrivateFieldGet5","track","state","clearInterval","SCREEN_RECORDER_EVENT","onDiscardDuringCountdown","stopping","_classPrivateFieldGet6","paused","pause","_classPrivateFieldGet7","recording","resume","_classPrivateFieldGet8","removeAllCallbacksByEvent","onStop","onDiscard","onRestart","getState","_navigator$mediaDevic","getDisplayMedia","UnSupportedBrowser","stream","audioStream","acquiring_media","getVideoTracks","addEventListener","stopRecording","getUserMedia","getAudioTracks","audioTrack","addTrack","media_acquired","_classPrivateFieldGet9","onStart","onDataAvailable","stopped","active","restarting","setInterval","_ref3","ONE_SECOND","start","ONE_SECOND_IN_MILLISECONDS","Date","now","_ref4","newElapsedTime","screenRecorder","displaySurface"],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sources":["node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArray.js","node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","node_modules/@babel/runtime/helpers/esm/classCallCheck.js","node_modules/@babel/runtime/helpers/esm/typeof.js","node_modules/@babel/runtime/helpers/esm/toPrimitive.js","node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","node_modules/@babel/runtime/helpers/esm/createClass.js","node_modules/@babel/runtime/helpers/esm/defineProperty.js","node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","node_modules/@babel/runtime/helpers/typeof.js","node_modules/@babel/runtime/helpers/regeneratorRuntime.js","node_modules/@babel/runtime/regenerator/index.js","src/constants.js","src/utils/index.js","src/utils/buildRetryableApi.js","src/apis/abort_upload.js","src/apis/complete_upload.js","src/apis/part_presigned_url.js","src/apis/s3.js","src/core/multipartS3Uploader/store/index.js","src/core/multipartS3Uploader/utils.js","src/core/multipartS3Uploader/index.js","src/core/screenRecorder/constants.js","src/core/screenRecorder/stores/index.js","src/core/screenRecorder/utils.js","src/core/screenRecorder/index.js"],"sourcesContent":["export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n}","export default function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n}","import classApplyDescriptorGet from \"./classApplyDescriptorGet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}","export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n}","import classApplyDescriptorSet from \"./classApplyDescriptorSet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\n// https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList\nexport const RETRIABLE_ERRORS = [500, 503];\n\nexport const ONE_SECOND_IN_MILLISECONDS = 1000;\n\nexport const ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;\n\nexport const ONE_SECOND = 1;\n\nexport const UPLOAD_EVENT = { onComplete: \"onComplete\" };\n\nexport const UPLOAD_STATUS = {\n uploading: \"uploading\",\n completed: \"completed\",\n aborting: \"aborting\",\n};\n\nexport const SCREEN_RECORDER_STATUS = {\n media_aborted: \"media_aborted\",\n permission_denied: \"permission_denied\",\n no_specified_media_found: \"no_specified_media_found\",\n media_in_use: \"media_in_use\",\n invalid_media_constraints: \"invalid_media_constraints\",\n no_chrome_flags_set: \"no_chrome_flags_set\",\n recorder_error: \"recorder_error\",\n idle: \"idle\",\n acquiring_media: \"acquiring_media\",\n media_acquired: \"media_acquired\",\n restarting: \"restarting\",\n recording: \"recording\",\n stopping: \"stopping\",\n stopped: \"stopped\",\n paused: \"paused\",\n};\n\nexport const SCREEN_RECORDER_ERROR = {\n AbortError: \"media_aborted\",\n NotAllowedError: \"permission_denied\",\n NotFoundError: \"no_specified_media_found\",\n NotReadableError: \"media_in_use\",\n OverconstrainedError: \"invalid_media_constraints\",\n TypeError: \"no_chrome_flags_set\",\n None: \"\",\n NoRecorder: \"recorder_error\",\n UnSupportedBrowser: \"unsupported_browser\",\n};\n\nexport const SCREEN_RECORDER_EVENT = {\n onStart: \"onStart\",\n onStop: \"onStop\",\n onDiscard: \"onDiscard\",\n onDataAvailable: \"onDataAvailable\",\n onDiscardDuringCountdown: \"onDiscardDuringCountdown\",\n onRestart: \"onRestart\",\n};\n\nexport const TOTAL_RETRIES = 30;\nexport const INITIAL_RETRY_DELAY = 4000;\nexport const MAX_RETRY_DELAY = 16000;\n\nexport const DEFAULT_RETRY_CONFIG = {\n retries: TOTAL_RETRIES,\n retryDelay: INITIAL_RETRY_DELAY,\n retryableStatuses: [],\n};\n\n// No need to localize this since it will only be used in the code\n// eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized\nexport const NETWORK_ERROR = \"Network Error\";\nexport const TIMEOUT_ERROR = \"ECONNABORTED\";\n\nexport const HAS_CHROME_NAMESPACE = typeof chrome === \"object\";\n\nexport const IS_EXTENSION = HAS_CHROME_NAMESPACE && isNotNil(chrome.extension);\n\nexport const IS_SAFARI = platform.name === \"Safari\";\n\nexport const IS_SAFARI_EXTENSION = IS_SAFARI && IS_EXTENSION;\n\nexport const PERMISSIONS_HELP_DOC =\n \"https://neetorecordhelp.neetokb.com/p/a-10efcfd7\";\n","export const sleep = delay =>\n new Promise(resolve => setTimeout(resolve, delay));\n\nexport const generatePublicUrl = (\n recordingId,\n baseURL = window.location.origin\n) => `${baseURL}/watch/${recordingId}`;\n","import { isPresent } from \"neetocist\";\nimport { min } from \"ramda\";\n\nimport {\n DEFAULT_RETRY_CONFIG,\n INITIAL_RETRY_DELAY,\n MAX_RETRY_DELAY,\n NETWORK_ERROR,\n TIMEOUT_ERROR,\n TOTAL_RETRIES,\n} from \"src/constants\";\nimport { sleep } from \"utils\";\n\nconst buildRetryableApi =\n (\n apiConnector,\n {\n retries = TOTAL_RETRIES,\n retryDelay = INITIAL_RETRY_DELAY,\n retryableStatuses,\n } = DEFAULT_RETRY_CONFIG\n ) =>\n async apiConnectorArgs => {\n let remainingAttempts = retries + 1;\n\n while (remainingAttempts--) {\n try {\n return await apiConnector(apiConnectorArgs);\n } catch (error) {\n const isRetryableStatus =\n isPresent(retryableStatuses) &&\n retryableStatuses.includes(error.response?.status);\n\n const isRetryableError =\n isRetryableStatus ||\n error.message === NETWORK_ERROR ||\n error.code === TIMEOUT_ERROR;\n\n if (isRetryableError && remainingAttempts > 0) {\n await sleep(retryDelay);\n retryDelay = min(retryDelay * 2, MAX_RETRY_DELAY);\n } else {\n throw error;\n }\n }\n }\n\n return null;\n };\n\nexport default buildRetryableApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload }) =>\n axios.post(`/api/v1/recordings/${recordingId}/abort_upload`, {\n abortUpload: payload,\n });\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst abortUploadApi = { create: retryableCreate };\n\nexport default abortUploadApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload, config }) =>\n axios.post(\n `/api/v1/recordings/${recordingId}/complete_upload`,\n { completeUpload: payload },\n config\n );\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst completeUploadApi = { create: retryableCreate };\n\nexport default completeUploadApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload }) =>\n axios.post(`/api/v1/recordings/${recordingId}/part_presigned_url`, {\n partPresignedUrl: payload,\n });\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst partPresignedUrlApi = { create: retryableCreate };\n\nexport default partPresignedUrlApi;\n","import axios from \"axios\";\nimport { RETRIABLE_ERRORS } from \"neetomediarecorder/constants\";\nimport { identity } from \"ramda\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst s3AxiosInstance = axios.create({\n headers: { \"Content-Type\": 'video/webm;codecs=\"h264\"' },\n});\n\ns3AxiosInstance.interceptors.response.use(\n identity,\n error => !axios.isCancel(error) && Promise.reject(error)\n);\n\nconst presignedUpload = ({ presignedUrl, blob, config }) =>\n s3AxiosInstance.put(presignedUrl, blob, config);\n\nconst retryablePresignedUpload = buildRetryableApi(presignedUpload, {\n retryableStatuses: RETRIABLE_ERRORS,\n});\n\nconst s3Api = { presignedUpload: retryablePresignedUpload };\n\nexport default s3Api;\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\n\nconst prepareStore = () => create(withImmutableActions(() => ({ status: \"\" })));\n\nexport default prepareStore;\n","/**\n * Due to the custom axios interceptor for s3Api,\n * it'll return false for cancelled requests instead of a cancelled error object.\n */\nexport const isNotCancelledRequest = resolvedResponse =>\n typeof resolvedResponse !== \"boolean\";\n","// Axios is required here to waive off the CancelledError which occurs when\n// using AbortController on an axios request.\n// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis\nimport axios from \"axios\";\nimport { isNot } from \"neetocist\";\nimport { UPLOAD_EVENT, UPLOAD_STATUS } from \"neetomediarecorder/constants\";\nimport { isEmpty } from \"ramda\";\n\nimport abortUploadApi from \"src/apis/abort_upload\";\nimport completeUploadApi from \"src/apis/complete_upload\";\nimport partPresignedUrlApi from \"src/apis/part_presigned_url\";\nimport s3Api from \"src/apis/s3\";\n\nimport prepareStore from \"./store\";\nimport { isNotCancelledRequest } from \"./utils\";\n\nclass MultipartS3Uploader {\n MIN_UPLOAD_CHUNK_SIZE = 5 * 1024 * 1024;\n\n #recordingId = \"\";\n #uploadId = \"\";\n #unUploadedChunks = [];\n #partNumber = 1;\n #s3PartUploadPromises = [];\n #callbacks = {};\n #store;\n #abortController;\n #pendingS3ChunkUploads = [];\n\n constructor() {\n this.#store = prepareStore();\n }\n\n /** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\n get useMultipartS3UploadStore() {\n return this.#store;\n }\n\n initialize = (recordingId, uploadId) => {\n this.#recordingId = recordingId;\n this.#uploadId = uploadId;\n this.#abortController = new AbortController();\n };\n\n push = data => {\n if (data.size > 0) {\n this.#unUploadedChunks.push(data);\n }\n\n if (this.#isNotInitialized) return;\n\n logger.info(\n \"Current unuploaded data size is \",\n this.#getCurrentUnUploadedBlob().size / 1024 / 1024,\n \"MB\"\n );\n\n if (this.#getCurrentUnUploadedBlob().size > this.MIN_UPLOAD_CHUNK_SIZE) {\n const uploadChunkToS3Promise = this.#uploadChunkToS3(\n this.#unUploadedChunks\n );\n\n this.#pendingS3ChunkUploads.push(uploadChunkToS3Promise);\n this.#unUploadedChunks = [];\n }\n };\n\n completeUpload = async () => {\n try {\n this.#store.setState({ status: UPLOAD_STATUS.uploading });\n\n if (this.#isNotInitialized) return;\n\n // Upload last chunk; only if last chunk has data\n if (this.#getCurrentUnUploadedBlob().size > 0) {\n const uploadChunkToS3Promise = this.#uploadChunkToS3(\n this.#unUploadedChunks\n );\n\n this.#pendingS3ChunkUploads.push(uploadChunkToS3Promise);\n }\n\n /**\n * Wait for all the pending uploadToS3Promises.\n * Else we encounter a race condition where a new request is made for presignedUrl\n * but at the same time we reach the resolvedS3PartUploadPromises line and await\n * the s3PartUploadPromises. And the s3PartUploadPromises is resolved before\n * adding the new presignedUrl part upload to s3PartUploadPromises.\n * This results in incorrect partNumbers.\n */\n await Promise.all(this.#pendingS3ChunkUploads);\n\n const resolvedS3PartUploadPromises = await Promise.all(\n this.#s3PartUploadPromises\n );\n\n const parts = resolvedS3PartUploadPromises\n .filter(isNotCancelledRequest)\n .map(resolvedResponse => ({\n etag: resolvedResponse.headers.etag,\n partNumber: new URL(\n resolvedResponse.request.responseURL\n ).searchParams.get(\"partNumber\"),\n }))\n .toSorted((a, b) => Number(a.partNumber) - Number(b.partNumber));\n\n await completeUploadApi.create({\n recordingId: this.#recordingId,\n payload: { parts, uploadId: this.#uploadId },\n config: { signal: this.#abortController.signal },\n });\n\n await this.#store.setState({ status: UPLOAD_STATUS.completed });\n\n this.#fireCallbacks(UPLOAD_EVENT.onComplete);\n } catch (error) {\n logger.error(error);\n }\n };\n\n abortUpload = async () => {\n try {\n this.#store.setState({ status: UPLOAD_STATUS.aborting });\n\n if (this.#isNotInitialized) return;\n\n this.#abortController.abort();\n\n await abortUploadApi.create({\n recordingId: this.#recordingId,\n payload: { uploadId: this.#uploadId },\n });\n\n this.#unUploadedChunks = [];\n this.#partNumber = 1;\n this.#s3PartUploadPromises = [];\n this.#store.setState({ status: \"\" });\n this.#abortController = null;\n } catch (error) {\n logger.error(error);\n }\n };\n\n resetState = () => {\n this.#recordingId = \"\";\n this.#uploadId = \"\";\n this.#unUploadedChunks = [];\n this.#partNumber = 1;\n this.#s3PartUploadPromises = [];\n this.#callbacks = {};\n this.#store.setState({ status: \"\" });\n };\n\n addCallback = (event, callback) => {\n const existingCallbacks = this.#callbacks[event] ?? [];\n this.#callbacks = {\n ...this.#callbacks,\n [event]: [...existingCallbacks, callback],\n };\n };\n\n removeCallback = (event, callback) => {\n const registeredCallbacks = this.#callbacks[event] ?? [];\n const updatedCallbacks = registeredCallbacks.filter(isNot(callback));\n this.#callbacks = { ...this.#callbacks, [event]: updatedCallbacks };\n };\n\n #fireCallbacks = (event, args = []) => {\n this.#callbacks[event]?.forEach(callback => {\n callback(...args);\n });\n };\n\n #uploadChunkToS3 = async chunks => {\n logger.info(\"Part ready to be uploaded: \", this.#partNumber);\n try {\n const { presignedUrl } = await partPresignedUrlApi.create({\n recordingId: this.#recordingId,\n payload: { partNumber: this.#partNumber++, uploadId: this.#uploadId },\n });\n\n const s3PartUploadPromise = s3Api.presignedUpload({\n presignedUrl,\n blob: new Blob(chunks, { type: 'video/webm;codecs=\"h264\"' }),\n config: {\n includeMetadataInResponse: true,\n signal: this.#abortController.signal,\n },\n });\n\n this.#s3PartUploadPromises.push(s3PartUploadPromise);\n } catch (error) {\n if (!axios.isCancel(error)) logger.error(error);\n }\n };\n\n #getCurrentUnUploadedBlob = () =>\n new Blob(this.#unUploadedChunks, { type: 'video/webm;codecs=\"h264\"' });\n\n get #isNotInitialized() {\n return isEmpty(this.#uploadId + this.#recordingId);\n }\n}\n\nconst multipartS3Uploader = new MultipartS3Uploader();\n\nexport default multipartS3Uploader;\n","// https://www.w3.org/TR/screen-capture/#displaycapturesurfacetype\nexport const DISPLAY_SURFACE = {\n monitor: \"monitor\",\n window: \"window\",\n browser: \"browser\",\n};\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { SCREEN_RECORDER_STATUS } from \"neetomediarecorder/constants\";\nimport { create } from \"zustand\";\n\nexport const initialState = {\n status: SCREEN_RECORDER_STATUS.idle,\n error: \"\",\n elapsedTime: 0,\n countdownTimeLeft: 3,\n};\n\nconst prepareStore = () =>\n create(\n withImmutableActions(set => ({\n ...initialState,\n resetState: () => set(initialState),\n }))\n );\n\nexport default prepareStore;\n","import { existsBy, isNotEmpty } from \"neetocist\";\nimport { isNil } from \"ramda\";\n\nconst getUnSupportedConstraints = mediaType => {\n const supportedMediaConstraints =\n navigator.mediaDevices.getSupportedConstraints();\n\n return Object.keys(mediaType).filter(\n constraint => !supportedMediaConstraints[constraint]\n );\n};\n\nexport const checkConstraints = (...mediaTypes) => {\n if (isNil(navigator.mediaDevices)) {\n return;\n }\n\n const unSupportedConstraints = mediaTypes\n .filter(mediaType => typeof mediaType === \"object\")\n .map(getUnSupportedConstraints)\n .flat();\n\n if (isNotEmpty(unSupportedConstraints)) {\n // eslint-disable-next-line no-console\n console.error(\n `The constraints ${unSupportedConstraints.join(\n \",\"\n )} doesn't support on this browser.`\n );\n }\n};\n\nexport const isStreamEnded = mediaStream =>\n existsBy({ readyState: \"ended\" }, mediaStream.getTracks());\n","import { isNot } from \"neetocist\";\nimport {\n ONE_SECOND,\n ONE_SECOND_IN_MILLISECONDS,\n SCREEN_RECORDER_STATUS,\n SCREEN_RECORDER_EVENT,\n SCREEN_RECORDER_ERROR,\n} from \"neetomediarecorder/constants\";\nimport { pick } from \"ramda\";\n\nimport { DISPLAY_SURFACE } from \"./constants\";\nimport prepareStore, { initialState as initialStoreState } from \"./stores\";\nimport { checkConstraints, isStreamEnded } from \"./utils\";\n\nclass ScreenRecorder {\n #audio;\n #video;\n #mediaRecorder;\n #mediaStream;\n #store;\n #mediaChunks = [];\n #callbacks = {};\n #lastTimerUpdatedAt = 0;\n #timerId;\n #countdownTimerId;\n\n constructor(audio, video) {\n this.#audio = audio;\n this.#video = video;\n\n this.#store = prepareStore();\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.idle });\n this.#checkCompatibility();\n }\n\n /** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\n get useRecorderStore() {\n return this.#store;\n }\n\n setAudioConfiguration = audio => (this.#audio = audio);\n\n getWebmMediaBlob = () =>\n new Blob(this.#mediaChunks, { type: 'video/webm;codecs=\"h264\"' });\n\n addCallback = (event, callback) => {\n const existingCallbacks = this.#callbacks[event] ?? [];\n this.#callbacks = {\n ...this.#callbacks,\n [event]: [...existingCallbacks, callback],\n };\n };\n\n removeCallback = (event, callback) => {\n const registeredCallbacks = this.#callbacks[event] ?? [];\n const updatedCallbacks = registeredCallbacks.filter(isNot(callback));\n this.#callbacks = { ...this.#callbacks, [event]: updatedCallbacks };\n };\n\n removeAllCallbacksByEvent = event => {\n delete this.#callbacks[event];\n };\n\n startRecording = async () => {\n this.#store.setState(pick([\"error\"], initialStoreState));\n\n if (!this.#mediaStream) {\n await this.#acquireMediaStream();\n }\n\n if (this.#mediaStream && isStreamEnded(this.#mediaStream)) {\n await this.#acquireMediaStream();\n }\n\n if (!this.#mediaStream || isStreamEnded(this.#mediaStream)) return;\n\n this.#mediaChunks = [];\n this.#mediaRecorder = new MediaRecorder(this.#mediaStream);\n this.#mediaRecorder.ondataavailable = this.#onRecordingActive;\n this.#mediaRecorder.onstart = this.#onRecordingStart;\n this.#mediaRecorder.onstop = this.#onRecordingStop;\n this.#mediaRecorder.onerror = () => {\n this.#store.setState({\n status: SCREEN_RECORDER_STATUS.idle,\n error: SCREEN_RECORDER_ERROR.NoRecorder,\n });\n };\n\n this.#countdownAndStartRecording();\n };\n\n stopRecording = () => {\n if (this.#mediaRecorder === undefined) {\n /**\n * If the permission is denied and \"Stop sharing\" overlay is clicked\n */\n this.#mediaStream?.getTracks().forEach(track => track.stop());\n\n return;\n }\n\n if (this.#mediaRecorder?.state === \"inactive\") {\n // When recording is stopped from the 'Stop Sharing' overlay\n // before it even starts, i.e during the countdown.\n clearInterval(this.#countdownTimerId);\n this.#mediaStream.getTracks().forEach(track => track.stop());\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDiscardDuringCountdown);\n\n return;\n }\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.#mediaRecorder.stop();\n this.#mediaStream &&\n this.#mediaStream.getTracks().forEach(track => track.stop());\n\n this.#stopTimer();\n };\n\n pauseRecording = () => {\n if (this.#mediaRecorder?.state === \"recording\") {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.paused });\n this.#mediaRecorder.pause();\n }\n\n this.#stopTimer();\n };\n\n resumeRecording = () => {\n if (this.#mediaRecorder?.state === \"paused\") {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.recording });\n this.#mediaRecorder.resume();\n }\n\n this.#startTimer();\n };\n\n discardRecording = () => {\n if (this.#mediaRecorder?.state === \"inactive\") return;\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.removeAllCallbacksByEvent(SCREEN_RECORDER_EVENT.onStop);\n this.#mediaRecorder.stop();\n this.#mediaStream &&\n this.#mediaStream.getTracks().forEach(track => track.stop());\n\n clearInterval(this.#timerId);\n this.#store.setState(pick([\"elapsedTime\"], initialStoreState));\n this.#mediaChunks = [];\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDiscard);\n };\n\n restartRecording = () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.removeAllCallbacksByEvent(SCREEN_RECORDER_EVENT.onStop);\n this.#mediaRecorder.stop();\n\n clearInterval(this.#timerId);\n this.#store.setState(\n pick([\"elapsedTime\", \"countdownTimeLeft\"], initialStoreState)\n );\n this.#mediaChunks = [];\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onRestart);\n\n this.#countdownAndStartRecording();\n };\n\n resetState = () => {\n this.#mediaChunks = [];\n this.#callbacks = {};\n clearInterval(this.#timerId);\n clearInterval(this.#countdownTimerId);\n this.#store.getState().resetState();\n };\n\n revokePermissions = () => {\n if (!this.#mediaRecorder) return;\n\n this.#mediaRecorder.onstop = null;\n this.#mediaStream.getTracks().forEach(track => track.stop());\n };\n\n #checkCompatibility = () => {\n if (!navigator.mediaDevices?.getDisplayMedia) {\n this.#store.setState({ error: SCREEN_RECORDER_ERROR.UnSupportedBrowser });\n }\n\n checkConstraints(this.#audio, this.#video);\n };\n\n #acquireMediaStream = async () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.acquiring_media });\n try {\n const stream = await window.navigator.mediaDevices.getDisplayMedia({\n video: this.#video || true,\n });\n\n // Event triggered when the user clicks on the stop sharing overlay button\n stream.getVideoTracks()[0].addEventListener(\"ended\", () => {\n this.stopRecording();\n });\n\n if (this.#audio) {\n const audioStream = await window.navigator.mediaDevices.getUserMedia({\n audio: this.#audio,\n });\n\n audioStream\n .getAudioTracks()\n .forEach(audioTrack => stream.addTrack(audioTrack));\n }\n\n this.#mediaStream = stream;\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.media_acquired });\n } catch (error) {\n this.#store.setState({\n error: SCREEN_RECORDER_ERROR[error.name],\n status: SCREEN_RECORDER_STATUS.idle,\n });\n }\n };\n\n #fireCallbacks = (event, args = []) => {\n this.#callbacks[event]?.forEach(callback => {\n callback(...args);\n });\n };\n\n #onRecordingStart = () => {\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onStart);\n };\n\n #onRecordingActive = ({ data }) => {\n if (data.size <= 0) return;\n\n this.#mediaChunks.push(data);\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDataAvailable, [data]);\n };\n\n #onRecordingStop = () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopped });\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onStop);\n\n // If mediaStream is active after stopping mediaRecorder, then that means that\n // we are restarting and not stopping.\n if (this.#mediaStream.active) {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.restarting });\n }\n };\n\n #countdownAndStartRecording = () => {\n this.#countdownTimerId = setInterval(() => {\n this.#store.setState(({ countdownTimeLeft }) => {\n if (countdownTimeLeft - ONE_SECOND > 0) {\n return {\n countdownTimeLeft: countdownTimeLeft - ONE_SECOND,\n };\n }\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.recording });\n this.#mediaRecorder.start(5000);\n this.#startTimer();\n\n clearInterval(this.#countdownTimerId);\n\n return { countdownTimeLeft: 0 };\n });\n }, ONE_SECOND_IN_MILLISECONDS);\n };\n\n #startTimer = () => {\n this.#lastTimerUpdatedAt = Date.now();\n this.#timerId = setInterval(() => {\n this.#store.setState(({ elapsedTime }) => {\n const now = Date.now();\n const newElapsedTime = elapsedTime + (now - this.#lastTimerUpdatedAt);\n this.#lastTimerUpdatedAt = now;\n\n return { elapsedTime: newElapsedTime };\n });\n }, ONE_SECOND_IN_MILLISECONDS);\n };\n\n #stopTimer = () => {\n clearInterval(this.#timerId);\n\n const newElapsedTime =\n this.#store.getState().elapsedTime +\n (Date.now() - this.#lastTimerUpdatedAt);\n\n this.#store.setState({ elapsedTime: newElapsedTime });\n };\n}\n\nconst screenRecorder = new ScreenRecorder(true, {\n displaySurface: DISPLAY_SURFACE.monitor,\n});\n\nexport default screenRecorder;\n"],"names":["arrayLikeToArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_typeof","toPrimitive","toPropertyKey","classExtractFieldDescriptor","classApplyDescriptorGet","classApplyDescriptorSet","require$$0","TOTAL_RETRIES","INITIAL_RETRY_DELAY","MAX_RETRY_DELAY","DEFAULT_RETRY_CONFIG","retries","retryDelay","retryableStatuses","NETWORK_ERROR","TIMEOUT_ERROR","HAS_CHROME_NAMESPACE","chrome","isNotNil","extension","platform","name","sleep","delay","Promise","resolve","setTimeout","buildRetryableApi","apiConnector","_ref","arguments","length","undefined","_ref$retries","_ref$retryDelay","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","apiConnectorArgs","remainingAttempts","_error$response","isRetryableStatus","isRetryableError","wrap","_callee$","_context","prev","next","abrupt","sent","t0","isPresent","includes","response","status","message","code","min","stop","_x","apply","create","recordingId","payload","axios","post","concat","abortUpload","retryableCreate","abortUploadApi","config","completeUpload","completeUploadApi","partPresignedUrl","partPresignedUrlApi","s3AxiosInstance","headers","interceptors","use","identity","error","isCancel","reject","presignedUpload","presignedUrl","blob","put","retryablePresignedUpload","RETRIABLE_ERRORS","s3Api","prepareStore","withImmutableActions","isNotCancelledRequest","resolvedResponse","_recordingId","WeakMap","_uploadId","_unUploadedChunks","_partNumber","_s3PartUploadPromises","_callbacks","_store","_abortController","_pendingS3ChunkUploads","_fireCallbacks","_uploadChunkToS","_getCurrentUnUploadedBlob","_isNotInitialized","MultipartS3Uploader","_this","_classCallCheck","_classPrivateFieldInitSpec","get","_get_isNotInitialized","set","_defineProperty","writable","value","uploadId","_classPrivateFieldSet","AbortController","data","size","_classPrivateFieldGet","push","logger","info","call","MIN_UPLOAD_CHUNK_SIZE","uploadChunkToS3Promise","resolvedS3PartUploadPromises","parts","setState","UPLOAD_STATUS","uploading","all","filter","map","etag","partNumber","URL","request","responseURL","searchParams","toSorted","a","b","Number","signal","completed","UPLOAD_EVENT","onComplete","_callee2","_callee2$","_context2","aborting","abort","event","callback","_classPrivateFieldGet2","existingCallbacks","_objectSpread","_toConsumableArray","_classPrivateFieldGet3","registeredCallbacks","updatedCallbacks","isNot","_classPrivateFieldGet4","args","forEach","_value","_callee3","chunks","_this$partNumber","_this$partNumber2","_yield$partPresignedU","s3PartUploadPromise","_callee3$","_context3","Blob","type","includeMetadataInResponse","_createClass","key","isEmpty","multipartS3Uploader","DISPLAY_SURFACE","monitor","window","browser","initialState","SCREEN_RECORDER_STATUS","idle","elapsedTime","countdownTimeLeft","resetState","getUnSupportedConstraints","mediaType","supportedMediaConstraints","navigator","mediaDevices","getSupportedConstraints","Object","keys","constraint","checkConstraints","isNil","_len","mediaTypes","Array","_key","unSupportedConstraints","flat","isNotEmpty","console","join","isStreamEnded","mediaStream","existsBy","readyState","getTracks","_audio","_video","_mediaRecorder","_mediaStream","_mediaChunks","_lastTimerUpdatedAt","_timerId","_countdownTimerId","_checkCompatibility","_acquireMediaStream","_onRecordingStart","_onRecordingActive","_onRecordingStop","_countdownAndStartRecording","_startTimer","_stopTimer","ScreenRecorder","audio","video","pick","initialStoreState","MediaRecorder","ondataavailable","onstart","onstop","onerror","SCREEN_RECORDER_ERROR","NoRecorder","_classPrivateFieldGet5","track","state","clearInterval","SCREEN_RECORDER_EVENT","onDiscardDuringCountdown","stopping","_classPrivateFieldGet6","paused","pause","_classPrivateFieldGet7","recording","resume","_classPrivateFieldGet8","removeAllCallbacksByEvent","onStop","onDiscard","onRestart","getState","_navigator$mediaDevic","getDisplayMedia","UnSupportedBrowser","stream","audioStream","acquiring_media","getVideoTracks","addEventListener","stopRecording","getUserMedia","getAudioTracks","audioTrack","addTrack","media_acquired","_classPrivateFieldGet9","onStart","onDataAvailable","stopped","active","restarting","setInterval","_ref3","ONE_SECOND","start","ONE_SECOND_IN_MILLISECONDS","Date","now","_ref4","newElapsedTime","screenRecorder","displaySurface"],"mappings":"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"}
package/index.js CHANGED
@@ -11,7 +11,7 @@ import axios from 'axios';
11
11
  import platform from 'platform';
12
12
  import { isNotNil, isEmpty } from 'ramda';
13
13
  import withT from '@bigbinary/neeto-commons-frontend/react-utils/withT';
14
- import { Pause, Delete, Copy, Download } from '@bigbinary/neeto-icons';
14
+ import { Pause, Delete, Copy, Download, Close } from '@bigbinary/neeto-icons';
15
15
  import { copyToClipboard } from '@bigbinary/neeto-commons-frontend/utils/general';
16
16
  import { generatePublicUrl } from '@bigbinary/neeto-media-recorder/utils';
17
17
  import CopyToClipboardButton from '@bigbinary/neeto-molecules/CopyToClipboardButton';
@@ -861,11 +861,16 @@ var UnSupportedBrowser = withT(function (_ref) {
861
861
  });
862
862
 
863
863
  var UploadingInProgress = function UploadingInProgress(_ref) {
864
- var recording = _ref.recording;
864
+ var recording = _ref.recording,
865
+ onDiscard = _ref.onDiscard;
865
866
  var _useState = useState(""),
866
867
  _useState2 = _slicedToArray(_useState, 2),
867
868
  baseURL = _useState2[0],
868
869
  setBaseURL = _useState2[1];
870
+ var _useState3 = useState(false),
871
+ _useState4 = _slicedToArray(_useState3, 2),
872
+ isDiscardAlertOpen = _useState4[0],
873
+ setIsDiscardAlertOpen = _useState4[1];
869
874
  var _useTranslation = useTranslation(),
870
875
  t = _useTranslation.t;
871
876
  var handleRecordingBlobDownload = function handleRecordingBlobDownload() {
@@ -907,7 +912,23 @@ var UploadingInProgress = function UploadingInProgress(_ref) {
907
912
  label: t("neetoMediaRecorder.record.downloadWebm"),
908
913
  style: "secondary",
909
914
  onClick: handleRecordingBlobDownload
910
- }))));
915
+ }), /*#__PURE__*/React.createElement(Button, {
916
+ icon: Close,
917
+ label: t("neetoMediaRecorder.record.discardRecording"),
918
+ style: "secondary",
919
+ onClick: function onClick() {
920
+ return setIsDiscardAlertOpen(true);
921
+ }
922
+ }))), /*#__PURE__*/React.createElement(Alert, {
923
+ isOpen: isDiscardAlertOpen,
924
+ message: t("neetoMediaRecorder.record.discardConfirmation.message"),
925
+ submitButtonLabel: t("neetoMediaRecorder.record.discard"),
926
+ title: t("neetoMediaRecorder.record.discardConfirmation.title"),
927
+ onClose: function onClose() {
928
+ return setIsDiscardAlertOpen(false);
929
+ },
930
+ onSubmit: onDiscard
931
+ }));
911
932
  };
912
933
 
913
934
  var useRecorderStore = screenRecorder.useRecorderStore,
@@ -1080,7 +1101,8 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
1080
1101
  }
1081
1102
  if (isRecorderStatus(SCREEN_RECORDER_STATUS.stopped) && isUploadStatus(UPLOAD_STATUS.uploading)) {
1082
1103
  return /*#__PURE__*/React.createElement(UploadingInProgress, {
1083
- recording: recording
1104
+ recording: recording,
1105
+ onDiscard: handleDiscardRecording
1084
1106
  });
1085
1107
  }
1086
1108
  if (hasRecordingDiscarded({
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","node_modules/@babel/runtime/helpers/esm/slicedToArray.js","node_modules/@babel/runtime/helpers/typeof.js","node_modules/@babel/runtime/helpers/regeneratorRuntime.js","node_modules/@babel/runtime/regenerator/index.js","src/apis/recordings.js","src/hooks/reactQuery/useRecordingApi.js","node_modules/@babel/runtime/helpers/esm/typeof.js","src/constants.js","src/components/MediaRecorder/AbortUpload.jsx","node_modules/@babel/runtime/helpers/esm/toPrimitive.js","node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","node_modules/@babel/runtime/helpers/esm/defineProperty.js","node_modules/@babel/runtime/helpers/esm/extends.js","node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","src/components/commons/Icons.jsx","src/components/MediaRecorder/hooks/useRecorderStatus.js","src/components/MediaRecorder/Controls.jsx","src/components/MediaRecorder/hooks/useMultipartS3UploadStatus.js","src/components/MediaRecorder/utils.js","src/components/MediaRecorder/Timer.jsx","src/components/MediaRecorder/UnSupportedBrowser.jsx","src/components/MediaRecorder/UploadingInProgress.jsx","src/components/MediaRecorder/index.jsx"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import axios from \"axios\";\n\nconst baseUrl = \"/api/v1/recordings\";\n\nconst create = () => axios.post(baseUrl);\n\nconst update = ({ id, payload }) =>\n axios.patch(`${baseUrl}/${id}`, { recording: payload });\n\nconst recordingsApi = { create, update };\n\nexport default recordingsApi;\n","import { useMutation } from \"react-query\";\n\nimport recordingsApi from \"src/apis/recordings\";\n\nexport const useCreateRecording = options =>\n useMutation(recordingsApi.create, options);\n\nexport const useRecordingUploadSuccess = () =>\n useMutation(id =>\n recordingsApi.update({ id, payload: { isUploaded: true } })\n );\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\n// https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList\nexport const RETRIABLE_ERRORS = [500, 503];\n\nexport const ONE_SECOND_IN_MILLISECONDS = 1000;\n\nexport const ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;\n\nexport const ONE_SECOND = 1;\n\nexport const UPLOAD_EVENT = { onComplete: \"onComplete\" };\n\nexport const UPLOAD_STATUS = {\n uploading: \"uploading\",\n completed: \"completed\",\n aborting: \"aborting\",\n};\n\nexport const SCREEN_RECORDER_STATUS = {\n media_aborted: \"media_aborted\",\n permission_denied: \"permission_denied\",\n no_specified_media_found: \"no_specified_media_found\",\n media_in_use: \"media_in_use\",\n invalid_media_constraints: \"invalid_media_constraints\",\n no_chrome_flags_set: \"no_chrome_flags_set\",\n recorder_error: \"recorder_error\",\n idle: \"idle\",\n acquiring_media: \"acquiring_media\",\n media_acquired: \"media_acquired\",\n restarting: \"restarting\",\n recording: \"recording\",\n stopping: \"stopping\",\n stopped: \"stopped\",\n paused: \"paused\",\n};\n\nexport const SCREEN_RECORDER_ERROR = {\n AbortError: \"media_aborted\",\n NotAllowedError: \"permission_denied\",\n NotFoundError: \"no_specified_media_found\",\n NotReadableError: \"media_in_use\",\n OverconstrainedError: \"invalid_media_constraints\",\n TypeError: \"no_chrome_flags_set\",\n None: \"\",\n NoRecorder: \"recorder_error\",\n UnSupportedBrowser: \"unsupported_browser\",\n};\n\nexport const SCREEN_RECORDER_EVENT = {\n onStart: \"onStart\",\n onStop: \"onStop\",\n onDiscard: \"onDiscard\",\n onDataAvailable: \"onDataAvailable\",\n onDiscardDuringCountdown: \"onDiscardDuringCountdown\",\n onRestart: \"onRestart\",\n};\n\nexport const TOTAL_RETRIES = 30;\nexport const INITIAL_RETRY_DELAY = 4000;\nexport const MAX_RETRY_DELAY = 16000;\n\nexport const DEFAULT_RETRY_CONFIG = {\n retries: TOTAL_RETRIES,\n retryDelay: INITIAL_RETRY_DELAY,\n retryableStatuses: [],\n};\n\n// No need to localize this since it will only be used in the code\n// eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized\nexport const NETWORK_ERROR = \"Network Error\";\nexport const TIMEOUT_ERROR = \"ECONNABORTED\";\n\nexport const HAS_CHROME_NAMESPACE = typeof chrome === \"object\";\n\nexport const IS_EXTENSION = HAS_CHROME_NAMESPACE && isNotNil(chrome.extension);\n\nexport const IS_SAFARI = platform.name === \"Safari\";\n\nexport const IS_SAFARI_EXTENSION = IS_SAFARI && IS_EXTENSION;\n\nexport const PERMISSIONS_HELP_DOC =\n \"https://neetorecordhelp.neetokb.com/p/a-10efcfd7\";\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Spinner, Typography } from \"neetoui\";\n\nconst AbortUpload = withT(({ t }) => (\n <div className=\"flex h-screen w-full flex-col items-center justify-center\">\n <div className=\"flex h-full w-full flex-col items-center justify-center space-y-4\">\n <Typography>{t(\"neetoMediaRecorder.record.discardingVideo\")}</Typography>\n <Spinner />\n </div>\n </div>\n));\n\nexport default AbortUpload;\n","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","import React from \"react\";\n\nconst PlayIcon = ({ size, ...other }) => (\n <svg\n height={size}\n viewBox=\"0 0 20 20\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <path\n d=\"M4 18a1 1 0 01-1-1V3a1 1 0 011.5-.86l12 7a1 1 0 010 1.72l-12 7A1 1 0 014 18zM5 4.74v10.52L14 10z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nPlayIcon.defaultProps = { size: 24 };\n\nconst StopIcon = ({ size, ...other }) => (\n <svg\n height={size}\n viewBox=\"0 0 64 64\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <path\n d=\"M10.667 16A5.333 5.333 0 0116 10.667h32A5.333 5.333 0 0153.333 16v32A5.333 5.333 0 0148 53.333H16A5.333 5.333 0 0110.667 48V16z\"\n fill=\"rgb(var(--neeto-ui-error-500))\"\n />\n </svg>\n);\n\nStopIcon.defaultProps = { size: 24 };\n\nconst RestartIcon = ({ size, ...other }) => (\n <svg\n height={size}\n viewBox=\"0 0 64 64\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <path\n clipRule=\"evenodd\"\n d=\"M21.333 21.333H10.667A2.667 2.667 0 018 18.667V8a2.667 2.667 0 015.333 0v4.956A26.58 26.58 0 0132 5.333c14.727 0 26.666 11.94 26.666 26.667 0 14.728-11.939 26.667-26.666 26.667-13.83 0-25.2-10.527-26.536-24.004C5.32 33.197 6.527 32 8 32c1.472 0 2.649 1.2 2.83 2.661C12.14 45.188 21.12 53.334 32 53.334c11.782 0 21.333-9.55 21.333-21.333 0-11.782-9.551-21.333-21.333-21.333-5.41 0-10.35 2.014-14.111 5.333h3.444a2.667 2.667 0 010 5.333z\"\n fillRule=\"evenodd\"\n />\n </svg>\n);\n\nRestartIcon.defaultProps = { size: 24 };\n\nexport { PlayIcon, StopIcon, RestartIcon };\n","import { screenRecorder } from \"neetomediarecorder/core\";\n\nconst useRecorderStatus = () => {\n const { useRecorderStore } = screenRecorder;\n\n const { status } = useRecorderStore.pick();\n const isStatus = (...statuses) => statuses.includes(status);\n\n return { isStatus, status };\n};\n\nexport default useRecorderStatus;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Delete, Pause } from \"neetoicons\";\nimport {\n SCREEN_RECORDER_ERROR,\n SCREEN_RECORDER_STATUS,\n IS_SAFARI_EXTENSION,\n} from \"neetomediarecorder/constants\";\nimport { screenRecorder } from \"neetomediarecorder/core\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PlayIcon, StopIcon, RestartIcon } from \"components/commons/Icons\";\n\nimport useRecorderStatus from \"./hooks/useRecorderStatus\";\n\nconst Controls = ({\n className = \"\",\n setIsRestartAlertOpen,\n setIsDiscardAlertOpen,\n}) => {\n const { t } = useTranslation();\n\n const {\n startRecording,\n pauseRecording,\n stopRecording,\n resumeRecording,\n useRecorderStore,\n } = screenRecorder;\n\n const { error } = useRecorderStore.pick();\n const { isStatus } = useRecorderStatus();\n\n const hasRecordingStarted = isStatus(\n SCREEN_RECORDER_STATUS.recording,\n SCREEN_RECORDER_STATUS.paused\n );\n\n const shouldShowRecordButton =\n error === SCREEN_RECORDER_ERROR.NotAllowedError ||\n (IS_SAFARI_EXTENSION && isStatus(SCREEN_RECORDER_STATUS.idle));\n\n return (\n <div\n className={classNames(\"flex flex-row items-center gap-3 p-2\", {\n \"neeto-ui-rounded-lg neeto-ui-border-gray-200 border-2\":\n hasRecordingStarted,\n [className]: isNotEmpty(classNames),\n })}\n >\n {shouldShowRecordButton && (\n <Button\n className=\"flex-shrink-0\"\n icon={() => <PlayIcon size={24} />}\n label={t(\"neetoMediaRecorder.record.title\")}\n loading={isStatus(SCREEN_RECORDER_STATUS.acquiring_media)}\n size=\"large\"\n onClick={startRecording}\n />\n )}\n {isStatus(SCREEN_RECORDER_STATUS.recording) && (\n <Button\n className=\"flex-shrink-0\"\n size=\"large\"\n style=\"text\"\n icon={() => (\n <Pause className=\"nr-control-button__icon--neeto\" size={24} />\n )}\n tooltipProps={{\n content: t(\"neetoMediaRecorder.record.pause\"),\n position: \"top\",\n }}\n onClick={pauseRecording}\n />\n )}\n {isStatus(SCREEN_RECORDER_STATUS.paused) && (\n <Button\n className=\"flex-shrink-0\"\n icon={() => <PlayIcon size={24} />}\n size=\"large\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMediaRecorder.record.resume\"),\n position: \"top\",\n }}\n onClick={resumeRecording}\n />\n )}\n {hasRecordingStarted && (\n <div className=\"flex items-center gap-3\">\n <Button\n className=\"flex-shrink-0\"\n icon={() => <RestartIcon size={24} />}\n size=\"large\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMediaRecorder.record.restart\"),\n position: \"top\",\n }}\n onClick={() => setIsRestartAlertOpen(true)}\n />\n <Button\n className=\"flex-shrink-0\"\n size=\"large\"\n style=\"text\"\n icon={() => (\n <Delete className=\"nr-control-button__icon--neeto\" size={24} />\n )}\n tooltipProps={{\n content: t(\"neetoMediaRecorder.record.discard\"),\n position: \"top\",\n }}\n onClick={() => setIsDiscardAlertOpen(true)}\n />\n <div className=\"neeto-ui-bg-gray-200 h-4 w-0.5\" />\n <Button\n className=\"flex-shrink-0\"\n icon={() => <StopIcon size={24} />}\n size=\"large\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMediaRecorder.record.stop\"),\n position: \"top\",\n }}\n onClick={stopRecording}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default Controls;\n","import { multipartS3Uploader } from \"neetomediarecorder/core\";\n\nconst useMultipartS3UploadStatus = () => {\n const { useMultipartS3UploadStore } = multipartS3Uploader;\n\n const { status } = useMultipartS3UploadStore.pick();\n const isStatus = (...statuses) => statuses.includes(status);\n\n return { isStatus };\n};\n\nexport default useMultipartS3UploadStatus;\n","import {\n ONE_MINUTE_IN_MILLISECONDS,\n ONE_SECOND_IN_MILLISECONDS,\n SCREEN_RECORDER_STATUS,\n UPLOAD_STATUS,\n} from \"neetomediarecorder/constants\";\n\nconst formatTime = time => Math.floor(time).toString().padStart(2, \"0\");\n\nexport const getTimeString = date => {\n const minutes = formatTime(date / ONE_MINUTE_IN_MILLISECONDS);\n const seconds = formatTime(\n (date % ONE_MINUTE_IN_MILLISECONDS) / ONE_SECOND_IN_MILLISECONDS\n );\n\n return `${minutes}:${seconds}`;\n};\n\nexport const downloadRecordingBlob = (blob, name) => {\n const blobUrl = URL.createObjectURL(blob);\n\n const linkElement = document.createElement(\"a\");\n\n linkElement.href = blobUrl;\n linkElement.download = name;\n\n document.body.appendChild(linkElement);\n\n // Dispatch click event on the link\n // This is necessary as link.click() does not work on the latest firefox\n linkElement.dispatchEvent(\n new MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n view: window,\n })\n );\n\n document.body.removeChild(linkElement);\n URL.revokeObjectURL(blobUrl);\n};\n\nexport const hasRecordingDiscarded = ({ recorderStatus, uploadStatus }) =>\n recorderStatus === SCREEN_RECORDER_STATUS.stopped &&\n uploadStatus === UPLOAD_STATUS.aborting;\n","import React from \"react\";\n\nimport { screenRecorder } from \"neetomediarecorder/core\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getTimeString } from \"./utils\";\n\nconst Timer = () => {\n const { t } = useTranslation();\n const { useRecorderStore } = screenRecorder;\n const { elapsedTime } = useRecorderStore.pick();\n\n return (\n <div className=\"mb-4 flex flex-col items-center justify-center\">\n <Typography className=\"mb-3 flex justify-center\" style=\"h1\">\n {getTimeString(elapsedTime)}\n </Typography>\n <Typography className=\"mb-2\" style=\"h4\">\n {t(\"neetoMediaRecorder.record.inProgress\")}\n </Typography>\n <Typography style=\"body2\">\n {t(\"neetoMediaRecorder.record.doNotLeaveThePage\")}\n </Typography>\n </div>\n );\n};\n\nexport default Timer;\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Callout } from \"neetoui\";\n\nconst UnSupportedBrowser = withT(({ t }) => (\n <div className=\"flex h-screen w-full items-center justify-center\">\n <Callout className=\"p-5\" style=\"danger\">\n {t(\"neetoMediaRecorder.unsupportedBrowser\")}\n </Callout>\n </div>\n));\n\nexport default UnSupportedBrowser;\n","import React, { useEffect, useState } from \"react\";\n\nimport { copyToClipboard } from \"neetocommons/utils/general\";\nimport { Copy, Download } from \"neetoicons\";\nimport { IS_EXTENSION } from \"neetomediarecorder/constants\";\nimport { screenRecorder } from \"neetomediarecorder/core\";\nimport { generatePublicUrl } from \"neetomediarecorder/utils\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Button, Spinner, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { downloadRecordingBlob } from \"./utils\";\n\nconst UploadingInProgress = ({ recording }) => {\n const [baseURL, setBaseURL] = useState(\"\");\n\n const { t } = useTranslation();\n\n const handleRecordingBlobDownload = () => {\n downloadRecordingBlob(screenRecorder.getWebmMediaBlob(), recording.title);\n };\n\n useEffect(() => {\n if (!IS_EXTENSION) {\n setBaseURL(window.location.origin);\n\n return;\n }\n\n chrome.storage.local.get(\"baseURL\").then(({ baseURL }) => {\n setBaseURL(baseURL);\n });\n }, []);\n\n useEffect(() => {\n if (!window.document.hasFocus() || !recording.id || isEmpty(baseURL)) {\n return;\n }\n\n copyToClipboard(generatePublicUrl(recording.id, baseURL), {\n message: t(\"neetoMediaRecorder.record.copyToClipboardToastrMessage\"),\n });\n }, [recording.id, baseURL]);\n\n return (\n <div className=\"flex h-screen w-full flex-col items-center justify-center\">\n <div className=\"flex h-full w-full flex-col items-center justify-center\">\n <Typography>\n {t(\"neetoMediaRecorder.record.doNotLeaveThePage\")}\n </Typography>\n <div className=\"mt-2 flex space-x-3\">\n <Typography>\n {t(\"neetoMediaRecorder.record.uploadingRecording\")}\n </Typography>\n <Spinner />\n </div>\n <div className=\"mt-6 flex items-center space-x-4\">\n <CopyToClipboardButton\n icon={Copy}\n label={t(\"neetoMediaRecorder.record.copyToClipboard\")}\n style=\"primary\"\n value={generatePublicUrl(recording.id, baseURL)}\n />\n <Button\n icon={Download}\n label={t(\"neetoMediaRecorder.record.downloadWebm\")}\n style=\"secondary\"\n onClick={handleRecordingBlobDownload}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default UploadingInProgress;\n","import React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport {\n SCREEN_RECORDER_ERROR,\n SCREEN_RECORDER_EVENT,\n SCREEN_RECORDER_STATUS,\n UPLOAD_EVENT,\n UPLOAD_STATUS,\n IS_SAFARI_EXTENSION,\n} from \"neetomediarecorder/constants\";\nimport { multipartS3Uploader, screenRecorder } from \"neetomediarecorder/core\";\nimport { Alert, Callout, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useCreateRecording,\n useRecordingUploadSuccess,\n} from \"hooks/reactQuery/useRecordingApi\";\nimport { PERMISSIONS_HELP_DOC } from \"src/constants\";\n\nimport AbortUpload from \"./AbortUpload\";\nimport Controls from \"./Controls\";\nimport useMultipartS3UploadStatus from \"./hooks/useMultipartS3UploadStatus\";\nimport useRecorderStatus from \"./hooks/useRecorderStatus\";\nimport Timer from \"./Timer\";\nimport UnSupportedBrowser from \"./UnSupportedBrowser\";\nimport UploadingInProgress from \"./UploadingInProgress\";\nimport { hasRecordingDiscarded } from \"./utils\";\n\nconst { useRecorderStore, restartRecording, discardRecording } = screenRecorder;\nconst { useMultipartS3UploadStore } = multipartS3Uploader;\n\nconst MediaRecorder = ({ onUploadComplete = noop, onDiscard = noop }, ref) => {\n const { t } = useTranslation();\n\n const [isDiscardAlertOpen, setIsDiscardAlertOpen] = useState(false);\n const [isRestartAlertOpen, setIsRestartAlertOpen] = useState(false);\n\n const {\n status: recorderStatus,\n error,\n countdownTimeLeft,\n } = useRecorderStore.pick();\n\n const { status: uploadStatus } = useMultipartS3UploadStore.pick();\n\n const { isStatus: isRecorderStatus } = useRecorderStatus();\n const { isStatus: isUploadStatus } = useMultipartS3UploadStatus();\n\n const { mutate: createRecording, data: { recording = {} } = {} } =\n useCreateRecording({\n onSuccess: ({ recording, uploadId }) => {\n multipartS3Uploader.initialize(recording.id, uploadId);\n\n const uploadStatus = useMultipartS3UploadStore.getState().status;\n const recorderStatus = useRecorderStore.getState().status;\n\n if (uploadStatus === UPLOAD_STATUS.uploading) {\n multipartS3Uploader.completeUpload();\n }\n\n if (hasRecordingDiscarded({ recorderStatus, uploadStatus })) {\n handleDiscardRecording();\n }\n },\n });\n\n const { mutate: markRecordingAsUploaded } = useRecordingUploadSuccess();\n\n const handleUploadComplete = () =>\n markRecordingAsUploaded(recording.id, {\n onSuccess: () => onUploadComplete(recording.id),\n });\n\n const handleDiscardRecording = async () => {\n await multipartS3Uploader.abortUpload();\n const uploadStatus = useMultipartS3UploadStore.getState().status;\n\n if (uploadStatus === UPLOAD_STATUS.aborting) return;\n\n onDiscard();\n };\n\n const handleRestartRecording = async () => {\n await multipartS3Uploader.abortUpload();\n multipartS3Uploader.resetState();\n };\n\n const handleDiscardAlertClose = () => {\n discardRecording();\n setIsDiscardAlertOpen(false);\n };\n\n const handleRestartAlertClose = () => {\n restartRecording();\n setIsRestartAlertOpen(false);\n };\n\n useImperativeHandle(ref, () => ({\n handleDiscardRecording: () => setIsDiscardAlertOpen(true),\n handleRestartRecording: () => setIsRestartAlertOpen(true),\n }));\n\n useEffect(() => {\n if (\n !isRecorderStatus(SCREEN_RECORDER_STATUS.idle) ||\n error === SCREEN_RECORDER_ERROR.NotAllowedError ||\n IS_SAFARI_EXTENSION\n ) {\n return;\n }\n screenRecorder.startRecording();\n }, [recorderStatus, error]);\n\n useEffect(() => {\n screenRecorder.addCallback(\n SCREEN_RECORDER_EVENT.onDataAvailable,\n multipartS3Uploader.push\n );\n\n screenRecorder.addCallback(\n SCREEN_RECORDER_EVENT.onStop,\n multipartS3Uploader.completeUpload\n );\n\n screenRecorder.addCallback(\n SCREEN_RECORDER_EVENT.onDiscard,\n handleDiscardRecording\n );\n\n screenRecorder.addCallback(\n SCREEN_RECORDER_EVENT.onRestart,\n handleRestartRecording\n );\n\n multipartS3Uploader.addCallback(\n UPLOAD_EVENT.onComplete,\n handleUploadComplete\n );\n\n return () => {\n screenRecorder.removeCallback(\n SCREEN_RECORDER_EVENT.onDataAvailable,\n multipartS3Uploader.push\n );\n\n screenRecorder.removeCallback(\n SCREEN_RECORDER_EVENT.onStop,\n multipartS3Uploader.completeUpload\n );\n\n screenRecorder.removeCallback(\n SCREEN_RECORDER_EVENT.onDiscard,\n handleDiscardRecording\n );\n\n screenRecorder.removeCallback(\n SCREEN_RECORDER_EVENT.onRestart,\n handleRestartRecording\n );\n\n multipartS3Uploader.removeCallback(\n UPLOAD_EVENT.onComplete,\n handleUploadComplete\n );\n };\n }, [recording.id]);\n\n useEffect(() => {\n screenRecorder.addCallback(SCREEN_RECORDER_EVENT.onStart, createRecording);\n screenRecorder.addCallback(\n SCREEN_RECORDER_EVENT.onDiscardDuringCountdown,\n onDiscard\n );\n\n return () => {\n screenRecorder.revokePermissions();\n multipartS3Uploader.resetState();\n screenRecorder.resetState();\n };\n }, []);\n\n const shouldShowSafariExtensionCalloutToStartRecording =\n isRecorderStatus(SCREEN_RECORDER_STATUS.idle) &&\n IS_SAFARI_EXTENSION &&\n error === SCREEN_RECORDER_ERROR.None;\n\n if (error === SCREEN_RECORDER_ERROR.UnSupportedBrowser) {\n return <UnSupportedBrowser />;\n }\n\n if (\n isRecorderStatus(SCREEN_RECORDER_STATUS.stopped) &&\n isUploadStatus(UPLOAD_STATUS.uploading)\n ) {\n return <UploadingInProgress {...{ recording }} />;\n }\n\n if (hasRecordingDiscarded({ recorderStatus, uploadStatus })) {\n return <AbortUpload />;\n }\n\n return (\n <div className=\"flex h-screen w-full flex-col items-center justify-center\">\n <div className={classNames(\"w-full max-w-3xl\")}>\n {error === SCREEN_RECORDER_ERROR.NotAllowedError && (\n <Callout className=\"mb-2 p-3\" style=\"danger\">\n <div>\n <Trans\n i18nKey=\"neetoMediaRecorder.record.permissionDeniedMessage\"\n components={{\n a: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={PERMISSIONS_HELP_DOC}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n </Callout>\n )}\n {isRecorderStatus(SCREEN_RECORDER_STATUS.acquiring_media) && (\n <Callout className=\"mb-2 p-3\" style=\"info\">\n {t(\"neetoMediaRecorder.record.grantPermissionMessage\")}\n </Callout>\n )}\n {shouldShowSafariExtensionCalloutToStartRecording && (\n <Callout className=\"mx-auto mb-2 w-1/2 p-3\" style=\"info\">\n {t(\"neetoMediaRecorder.record.clickToStartRecording\")}\n </Callout>\n )}\n {isRecorderStatus(\n SCREEN_RECORDER_STATUS.media_acquired,\n SCREEN_RECORDER_STATUS.restarting\n ) && (\n <div className=\" mx-auto flex flex-col items-center justify-center space-y-4\">\n <Typography>{t(\"neetoMediaRecorder.record.startsIn\")}</Typography>\n <Typography\n className=\"neeto-ui-bg-primary-100 neeto-ui-rounded-full flex h-32 w-32 items-center justify-center\"\n style=\"h1\"\n >\n {countdownTimeLeft}\n </Typography>\n </div>\n )}\n {isRecorderStatus(\n SCREEN_RECORDER_STATUS.recording,\n SCREEN_RECORDER_STATUS.paused\n ) && <Timer />}\n </div>\n <Controls\n {...{ setIsDiscardAlertOpen, setIsRestartAlertOpen }}\n className=\"mt-5\"\n />\n <Alert\n isOpen={isDiscardAlertOpen}\n message={t(\"neetoMediaRecorder.record.discardConfirmation.message\")}\n submitButtonLabel={t(\"neetoMediaRecorder.record.discard\")}\n title={t(\"neetoMediaRecorder.record.discardConfirmation.title\")}\n onClose={() => setIsDiscardAlertOpen(false)}\n onSubmit={handleDiscardAlertClose}\n />\n <Alert\n isOpen={isRestartAlertOpen}\n message={t(\"neetoMediaRecorder.record.restartConfirmation.message\")}\n submitButtonLabel={t(\"neetoMediaRecorder.record.restart\")}\n title={t(\"neetoMediaRecorder.record.restartConfirmation.title\")}\n onClose={() => setIsRestartAlertOpen(false)}\n onSubmit={handleRestartAlertClose}\n />\n </div>\n );\n};\n\nexport default forwardRef(MediaRecorder);\n"],"names":["arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","require$$0","baseUrl","create","axios","post","update","_ref","id","payload","patch","concat","recording","recordingsApi","useCreateRecording","options","useMutation","useRecordingUploadSuccess","isUploaded","HAS_CHROME_NAMESPACE","chrome","_typeof","isNotNil","extension","platform","name","PERMISSIONS_HELP_DOC","AbortUpload","withT","t","React","createElement","className","Typography","Spinner","toPrimitive","toPropertyKey","objectWithoutPropertiesLoose","PlayIcon","size","other","_objectWithoutProperties","_excluded","_extends","height","viewBox","width","xmlns","d","fill","defaultProps","StopIcon","_ref2","_excluded2","RestartIcon","_ref3","_excluded3","clipRule","fillRule","useRecorderStatus","useRecorderStore","screenRecorder","_useRecorderStore","store","status","shallow","isStatus","_len","arguments","length","statuses","Array","_key","includes","Controls","_ref$className","setIsRestartAlertOpen","setIsDiscardAlertOpen","_useTranslation","useTranslation","startRecording","pauseRecording","stopRecording","resumeRecording","error","_useRecorderStatus","hasRecordingStarted","SCREEN_RECORDER_STATUS","paused","shouldShowRecordButton","SCREEN_RECORDER_ERROR","NotAllowedError","IS_SAFARI_EXTENSION","idle","classNames","_defineProperty","isNotEmpty","Button","icon","label","loading","acquiring_media","onClick","style","Pause","tooltipProps","content","position","Delete","useMultipartS3UploadStatus","useMultipartS3UploadStore","multipartS3Uploader","_useMultipartS3Upload","formatTime","time","Math","floor","toString","padStart","getTimeString","date","minutes","ONE_MINUTE_IN_MILLISECONDS","seconds","ONE_SECOND_IN_MILLISECONDS","downloadRecordingBlob","blob","blobUrl","URL","createObjectURL","linkElement","document","href","download","body","appendChild","dispatchEvent","MouseEvent","bubbles","cancelable","view","window","removeChild","revokeObjectURL","hasRecordingDiscarded","recorderStatus","uploadStatus","stopped","UPLOAD_STATUS","aborting","Timer","elapsedTime","UnSupportedBrowser","Callout","UploadingInProgress","_useState","useState","_useState2","_slicedToArray","baseURL","setBaseURL","handleRecordingBlobDownload","getWebmMediaBlob","title","useEffect","IS_EXTENSION","location","origin","storage","local","get","then","hasFocus","isEmpty","copyToClipboard","generatePublicUrl","message","CopyToClipboardButton","Copy","value","Download","restartRecording","discardRecording","MediaRecorder","ref","_ref$onUploadComplete","onUploadComplete","noop","_ref$onDiscard","onDiscard","isDiscardAlertOpen","_useState3","_useState4","isRestartAlertOpen","countdownTimeLeft","isRecorderStatus","_useMultipartS3Upload2","isUploadStatus","_useCreateRecording","onSuccess","uploadId","initialize","getState","uploading","completeUpload","handleDiscardRecording","createRecording","mutate","_useCreateRecording$d","data","_useCreateRecording$d2","_useCreateRecording$d3","_useRecordingUploadSu","markRecordingAsUploaded","handleUploadComplete","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abortUpload","abrupt","stop","apply","handleRestartRecording","_ref4","_callee2","_callee2$","_context2","resetState","handleDiscardAlertClose","handleRestartAlertClose","useImperativeHandle","addCallback","SCREEN_RECORDER_EVENT","onDataAvailable","push","onStop","onRestart","UPLOAD_EVENT","onComplete","removeCallback","onStart","onDiscardDuringCountdown","revokePermissions","shouldShowSafariExtensionCalloutToStartRecording","None","Trans","i18nKey","components","a","rel","target","media_acquired","restarting","Alert","isOpen","submitButtonLabel","onClose","onSubmit","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","node_modules/@babel/runtime/helpers/esm/slicedToArray.js","node_modules/@babel/runtime/helpers/typeof.js","node_modules/@babel/runtime/helpers/regeneratorRuntime.js","node_modules/@babel/runtime/regenerator/index.js","src/apis/recordings.js","src/hooks/reactQuery/useRecordingApi.js","node_modules/@babel/runtime/helpers/esm/typeof.js","src/constants.js","src/components/MediaRecorder/AbortUpload.jsx","node_modules/@babel/runtime/helpers/esm/toPrimitive.js","node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","node_modules/@babel/runtime/helpers/esm/defineProperty.js","node_modules/@babel/runtime/helpers/esm/extends.js","node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","src/components/commons/Icons.jsx","src/components/MediaRecorder/hooks/useRecorderStatus.js","src/components/MediaRecorder/Controls.jsx","src/components/MediaRecorder/hooks/useMultipartS3UploadStatus.js","src/components/MediaRecorder/utils.js","src/components/MediaRecorder/Timer.jsx","src/components/MediaRecorder/UnSupportedBrowser.jsx","src/components/MediaRecorder/UploadingInProgress.jsx","src/components/MediaRecorder/index.jsx"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import axios from \"axios\";\n\nconst baseUrl = \"/api/v1/recordings\";\n\nconst create = () => axios.post(baseUrl);\n\nconst update = ({ id, payload }) =>\n axios.patch(`${baseUrl}/${id}`, { recording: payload });\n\nconst recordingsApi = { create, update };\n\nexport default recordingsApi;\n","import { useMutation } from \"react-query\";\n\nimport recordingsApi from \"src/apis/recordings\";\n\nexport const useCreateRecording = options =>\n useMutation(recordingsApi.create, options);\n\nexport const useRecordingUploadSuccess = () =>\n useMutation(id =>\n recordingsApi.update({ id, payload: { isUploaded: true } })\n );\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\n// https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList\nexport const RETRIABLE_ERRORS = [500, 503];\n\nexport const ONE_SECOND_IN_MILLISECONDS = 1000;\n\nexport const ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;\n\nexport const ONE_SECOND = 1;\n\nexport const UPLOAD_EVENT = { onComplete: \"onComplete\" };\n\nexport const UPLOAD_STATUS = {\n uploading: \"uploading\",\n completed: \"completed\",\n aborting: \"aborting\",\n};\n\nexport const SCREEN_RECORDER_STATUS = {\n media_aborted: \"media_aborted\",\n permission_denied: \"permission_denied\",\n no_specified_media_found: \"no_specified_media_found\",\n media_in_use: \"media_in_use\",\n invalid_media_constraints: \"invalid_media_constraints\",\n no_chrome_flags_set: \"no_chrome_flags_set\",\n recorder_error: \"recorder_error\",\n idle: \"idle\",\n acquiring_media: \"acquiring_media\",\n media_acquired: \"media_acquired\",\n restarting: \"restarting\",\n recording: \"recording\",\n stopping: \"stopping\",\n stopped: \"stopped\",\n paused: \"paused\",\n};\n\nexport const SCREEN_RECORDER_ERROR = {\n AbortError: \"media_aborted\",\n NotAllowedError: \"permission_denied\",\n NotFoundError: \"no_specified_media_found\",\n NotReadableError: \"media_in_use\",\n OverconstrainedError: \"invalid_media_constraints\",\n TypeError: \"no_chrome_flags_set\",\n None: \"\",\n NoRecorder: \"recorder_error\",\n UnSupportedBrowser: \"unsupported_browser\",\n};\n\nexport const SCREEN_RECORDER_EVENT = {\n onStart: \"onStart\",\n onStop: \"onStop\",\n onDiscard: \"onDiscard\",\n onDataAvailable: \"onDataAvailable\",\n onDiscardDuringCountdown: \"onDiscardDuringCountdown\",\n onRestart: \"onRestart\",\n};\n\nexport const TOTAL_RETRIES = 30;\nexport const INITIAL_RETRY_DELAY = 4000;\nexport const MAX_RETRY_DELAY = 16000;\n\nexport const DEFAULT_RETRY_CONFIG = {\n retries: TOTAL_RETRIES,\n retryDelay: INITIAL_RETRY_DELAY,\n retryableStatuses: [],\n};\n\n// No need to localize this since it will only be used in the code\n// eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized\nexport const NETWORK_ERROR = \"Network Error\";\nexport const TIMEOUT_ERROR = \"ECONNABORTED\";\n\nexport const HAS_CHROME_NAMESPACE = typeof chrome === \"object\";\n\nexport const IS_EXTENSION = HAS_CHROME_NAMESPACE && isNotNil(chrome.extension);\n\nexport const IS_SAFARI = platform.name === \"Safari\";\n\nexport const IS_SAFARI_EXTENSION = IS_SAFARI && IS_EXTENSION;\n\nexport const PERMISSIONS_HELP_DOC =\n \"https://neetorecordhelp.neetokb.com/p/a-10efcfd7\";\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Spinner, Typography } from \"neetoui\";\n\nconst AbortUpload = withT(({ t }) => (\n <div className=\"flex h-screen w-full flex-col items-center justify-center\">\n <div className=\"flex h-full w-full flex-col items-center justify-center space-y-4\">\n <Typography>{t(\"neetoMediaRecorder.record.discardingVideo\")}</Typography>\n <Spinner />\n </div>\n </div>\n));\n\nexport default AbortUpload;\n","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","import React from \"react\";\n\nconst PlayIcon = ({ size, ...other }) => (\n <svg\n height={size}\n viewBox=\"0 0 20 20\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <path\n d=\"M4 18a1 1 0 01-1-1V3a1 1 0 011.5-.86l12 7a1 1 0 010 1.72l-12 7A1 1 0 014 18zM5 4.74v10.52L14 10z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nPlayIcon.defaultProps = { size: 24 };\n\nconst StopIcon = ({ size, ...other }) => (\n <svg\n height={size}\n viewBox=\"0 0 64 64\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <path\n d=\"M10.667 16A5.333 5.333 0 0116 10.667h32A5.333 5.333 0 0153.333 16v32A5.333 5.333 0 0148 53.333H16A5.333 5.333 0 0110.667 48V16z\"\n fill=\"rgb(var(--neeto-ui-error-500))\"\n />\n </svg>\n);\n\nStopIcon.defaultProps = { size: 24 };\n\nconst RestartIcon = ({ size, ...other }) => (\n <svg\n height={size}\n viewBox=\"0 0 64 64\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <path\n clipRule=\"evenodd\"\n d=\"M21.333 21.333H10.667A2.667 2.667 0 018 18.667V8a2.667 2.667 0 015.333 0v4.956A26.58 26.58 0 0132 5.333c14.727 0 26.666 11.94 26.666 26.667 0 14.728-11.939 26.667-26.666 26.667-13.83 0-25.2-10.527-26.536-24.004C5.32 33.197 6.527 32 8 32c1.472 0 2.649 1.2 2.83 2.661C12.14 45.188 21.12 53.334 32 53.334c11.782 0 21.333-9.55 21.333-21.333 0-11.782-9.551-21.333-21.333-21.333-5.41 0-10.35 2.014-14.111 5.333h3.444a2.667 2.667 0 010 5.333z\"\n fillRule=\"evenodd\"\n />\n </svg>\n);\n\nRestartIcon.defaultProps = { size: 24 };\n\nexport { PlayIcon, StopIcon, RestartIcon };\n","import { screenRecorder } from \"neetomediarecorder/core\";\n\nconst useRecorderStatus = () => {\n const { useRecorderStore } = screenRecorder;\n\n const { status } = useRecorderStore.pick();\n const isStatus = (...statuses) => statuses.includes(status);\n\n return { isStatus, status };\n};\n\nexport default useRecorderStatus;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Delete, Pause } from \"neetoicons\";\nimport {\n SCREEN_RECORDER_ERROR,\n SCREEN_RECORDER_STATUS,\n IS_SAFARI_EXTENSION,\n} from \"neetomediarecorder/constants\";\nimport { screenRecorder } from \"neetomediarecorder/core\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PlayIcon, StopIcon, RestartIcon } from \"components/commons/Icons\";\n\nimport useRecorderStatus from \"./hooks/useRecorderStatus\";\n\nconst Controls = ({\n className = \"\",\n setIsRestartAlertOpen,\n setIsDiscardAlertOpen,\n}) => {\n const { t } = useTranslation();\n\n const {\n startRecording,\n pauseRecording,\n stopRecording,\n resumeRecording,\n useRecorderStore,\n } = screenRecorder;\n\n const { error } = useRecorderStore.pick();\n const { isStatus } = useRecorderStatus();\n\n const hasRecordingStarted = isStatus(\n SCREEN_RECORDER_STATUS.recording,\n SCREEN_RECORDER_STATUS.paused\n );\n\n const shouldShowRecordButton =\n error === SCREEN_RECORDER_ERROR.NotAllowedError ||\n (IS_SAFARI_EXTENSION && isStatus(SCREEN_RECORDER_STATUS.idle));\n\n return (\n <div\n className={classNames(\"flex flex-row items-center gap-3 p-2\", {\n \"neeto-ui-rounded-lg neeto-ui-border-gray-200 border-2\":\n hasRecordingStarted,\n [className]: isNotEmpty(classNames),\n })}\n >\n {shouldShowRecordButton && (\n <Button\n className=\"flex-shrink-0\"\n icon={() => <PlayIcon size={24} />}\n label={t(\"neetoMediaRecorder.record.title\")}\n loading={isStatus(SCREEN_RECORDER_STATUS.acquiring_media)}\n size=\"large\"\n onClick={startRecording}\n />\n )}\n {isStatus(SCREEN_RECORDER_STATUS.recording) && (\n <Button\n className=\"flex-shrink-0\"\n size=\"large\"\n style=\"text\"\n icon={() => (\n <Pause className=\"nr-control-button__icon--neeto\" size={24} />\n )}\n tooltipProps={{\n content: t(\"neetoMediaRecorder.record.pause\"),\n position: \"top\",\n }}\n onClick={pauseRecording}\n />\n )}\n {isStatus(SCREEN_RECORDER_STATUS.paused) && (\n <Button\n className=\"flex-shrink-0\"\n icon={() => <PlayIcon size={24} />}\n size=\"large\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMediaRecorder.record.resume\"),\n position: \"top\",\n }}\n onClick={resumeRecording}\n />\n )}\n {hasRecordingStarted && (\n <div className=\"flex items-center gap-3\">\n <Button\n className=\"flex-shrink-0\"\n icon={() => <RestartIcon size={24} />}\n size=\"large\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMediaRecorder.record.restart\"),\n position: \"top\",\n }}\n onClick={() => setIsRestartAlertOpen(true)}\n />\n <Button\n className=\"flex-shrink-0\"\n size=\"large\"\n style=\"text\"\n icon={() => (\n <Delete className=\"nr-control-button__icon--neeto\" size={24} />\n )}\n tooltipProps={{\n content: t(\"neetoMediaRecorder.record.discard\"),\n position: \"top\",\n }}\n onClick={() => setIsDiscardAlertOpen(true)}\n />\n <div className=\"neeto-ui-bg-gray-200 h-4 w-0.5\" />\n <Button\n className=\"flex-shrink-0\"\n icon={() => <StopIcon size={24} />}\n size=\"large\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMediaRecorder.record.stop\"),\n position: \"top\",\n }}\n onClick={stopRecording}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default Controls;\n","import { multipartS3Uploader } from \"neetomediarecorder/core\";\n\nconst useMultipartS3UploadStatus = () => {\n const { useMultipartS3UploadStore } = multipartS3Uploader;\n\n const { status } = useMultipartS3UploadStore.pick();\n const isStatus = (...statuses) => statuses.includes(status);\n\n return { isStatus };\n};\n\nexport default useMultipartS3UploadStatus;\n","import {\n ONE_MINUTE_IN_MILLISECONDS,\n ONE_SECOND_IN_MILLISECONDS,\n SCREEN_RECORDER_STATUS,\n UPLOAD_STATUS,\n} from \"neetomediarecorder/constants\";\n\nconst formatTime = time => Math.floor(time).toString().padStart(2, \"0\");\n\nexport const getTimeString = date => {\n const minutes = formatTime(date / ONE_MINUTE_IN_MILLISECONDS);\n const seconds = formatTime(\n (date % ONE_MINUTE_IN_MILLISECONDS) / ONE_SECOND_IN_MILLISECONDS\n );\n\n return `${minutes}:${seconds}`;\n};\n\nexport const downloadRecordingBlob = (blob, name) => {\n const blobUrl = URL.createObjectURL(blob);\n\n const linkElement = document.createElement(\"a\");\n\n linkElement.href = blobUrl;\n linkElement.download = name;\n\n document.body.appendChild(linkElement);\n\n // Dispatch click event on the link\n // This is necessary as link.click() does not work on the latest firefox\n linkElement.dispatchEvent(\n new MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n view: window,\n })\n );\n\n document.body.removeChild(linkElement);\n URL.revokeObjectURL(blobUrl);\n};\n\nexport const hasRecordingDiscarded = ({ recorderStatus, uploadStatus }) =>\n recorderStatus === SCREEN_RECORDER_STATUS.stopped &&\n uploadStatus === UPLOAD_STATUS.aborting;\n","import React from \"react\";\n\nimport { screenRecorder } from \"neetomediarecorder/core\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getTimeString } from \"./utils\";\n\nconst Timer = () => {\n const { t } = useTranslation();\n const { useRecorderStore } = screenRecorder;\n const { elapsedTime } = useRecorderStore.pick();\n\n return (\n <div className=\"mb-4 flex flex-col items-center justify-center\">\n <Typography className=\"mb-3 flex justify-center\" style=\"h1\">\n {getTimeString(elapsedTime)}\n </Typography>\n <Typography className=\"mb-2\" style=\"h4\">\n {t(\"neetoMediaRecorder.record.inProgress\")}\n </Typography>\n <Typography style=\"body2\">\n {t(\"neetoMediaRecorder.record.doNotLeaveThePage\")}\n </Typography>\n </div>\n );\n};\n\nexport default Timer;\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Callout } from \"neetoui\";\n\nconst UnSupportedBrowser = withT(({ t }) => (\n <div className=\"flex h-screen w-full items-center justify-center\">\n <Callout className=\"p-5\" style=\"danger\">\n {t(\"neetoMediaRecorder.unsupportedBrowser\")}\n </Callout>\n </div>\n));\n\nexport default UnSupportedBrowser;\n","import React, { useEffect, useState } from \"react\";\n\nimport { copyToClipboard } from \"neetocommons/utils/general\";\nimport { Close, Copy, Download } from \"neetoicons\";\nimport { IS_EXTENSION } from \"neetomediarecorder/constants\";\nimport { screenRecorder } from \"neetomediarecorder/core\";\nimport { generatePublicUrl } from \"neetomediarecorder/utils\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Alert, Button, Spinner, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { downloadRecordingBlob } from \"./utils\";\n\nconst UploadingInProgress = ({ recording, onDiscard }) => {\n const [baseURL, setBaseURL] = useState(\"\");\n const [isDiscardAlertOpen, setIsDiscardAlertOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const handleRecordingBlobDownload = () => {\n downloadRecordingBlob(screenRecorder.getWebmMediaBlob(), recording.title);\n };\n\n useEffect(() => {\n if (!IS_EXTENSION) {\n setBaseURL(window.location.origin);\n\n return;\n }\n\n chrome.storage.local.get(\"baseURL\").then(({ baseURL }) => {\n setBaseURL(baseURL);\n });\n }, []);\n\n useEffect(() => {\n if (!window.document.hasFocus() || !recording.id || isEmpty(baseURL)) {\n return;\n }\n\n copyToClipboard(generatePublicUrl(recording.id, baseURL), {\n message: t(\"neetoMediaRecorder.record.copyToClipboardToastrMessage\"),\n });\n }, [recording.id, baseURL]);\n\n return (\n <div className=\"flex h-screen w-full flex-col items-center justify-center\">\n <div className=\"flex h-full w-full flex-col items-center justify-center\">\n <Typography>\n {t(\"neetoMediaRecorder.record.doNotLeaveThePage\")}\n </Typography>\n <div className=\"mt-2 flex space-x-3\">\n <Typography>\n {t(\"neetoMediaRecorder.record.uploadingRecording\")}\n </Typography>\n <Spinner />\n </div>\n <div className=\"mt-6 flex items-center space-x-4\">\n <CopyToClipboardButton\n icon={Copy}\n label={t(\"neetoMediaRecorder.record.copyToClipboard\")}\n style=\"primary\"\n value={generatePublicUrl(recording.id, baseURL)}\n />\n <Button\n icon={Download}\n label={t(\"neetoMediaRecorder.record.downloadWebm\")}\n style=\"secondary\"\n onClick={handleRecordingBlobDownload}\n />\n <Button\n icon={Close}\n label={t(\"neetoMediaRecorder.record.discardRecording\")}\n style=\"secondary\"\n onClick={() => setIsDiscardAlertOpen(true)}\n />\n </div>\n </div>\n <Alert\n isOpen={isDiscardAlertOpen}\n message={t(\"neetoMediaRecorder.record.discardConfirmation.message\")}\n submitButtonLabel={t(\"neetoMediaRecorder.record.discard\")}\n title={t(\"neetoMediaRecorder.record.discardConfirmation.title\")}\n onClose={() => setIsDiscardAlertOpen(false)}\n onSubmit={onDiscard}\n />\n </div>\n );\n};\n\nexport default UploadingInProgress;\n","import React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport {\n SCREEN_RECORDER_ERROR,\n SCREEN_RECORDER_EVENT,\n SCREEN_RECORDER_STATUS,\n UPLOAD_EVENT,\n UPLOAD_STATUS,\n IS_SAFARI_EXTENSION,\n} from \"neetomediarecorder/constants\";\nimport { multipartS3Uploader, screenRecorder } from \"neetomediarecorder/core\";\nimport { Alert, Callout, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useCreateRecording,\n useRecordingUploadSuccess,\n} from \"hooks/reactQuery/useRecordingApi\";\nimport { PERMISSIONS_HELP_DOC } from \"src/constants\";\n\nimport AbortUpload from \"./AbortUpload\";\nimport Controls from \"./Controls\";\nimport useMultipartS3UploadStatus from \"./hooks/useMultipartS3UploadStatus\";\nimport useRecorderStatus from \"./hooks/useRecorderStatus\";\nimport Timer from \"./Timer\";\nimport UnSupportedBrowser from \"./UnSupportedBrowser\";\nimport UploadingInProgress from \"./UploadingInProgress\";\nimport { hasRecordingDiscarded } from \"./utils\";\n\nconst { useRecorderStore, restartRecording, discardRecording } = screenRecorder;\nconst { useMultipartS3UploadStore } = multipartS3Uploader;\n\nconst MediaRecorder = ({ onUploadComplete = noop, onDiscard = noop }, ref) => {\n const { t } = useTranslation();\n\n const [isDiscardAlertOpen, setIsDiscardAlertOpen] = useState(false);\n const [isRestartAlertOpen, setIsRestartAlertOpen] = useState(false);\n\n const {\n status: recorderStatus,\n error,\n countdownTimeLeft,\n } = useRecorderStore.pick();\n\n const { status: uploadStatus } = useMultipartS3UploadStore.pick();\n\n const { isStatus: isRecorderStatus } = useRecorderStatus();\n const { isStatus: isUploadStatus } = useMultipartS3UploadStatus();\n\n const { mutate: createRecording, data: { recording = {} } = {} } =\n useCreateRecording({\n onSuccess: ({ recording, uploadId }) => {\n multipartS3Uploader.initialize(recording.id, uploadId);\n\n const uploadStatus = useMultipartS3UploadStore.getState().status;\n const recorderStatus = useRecorderStore.getState().status;\n\n if (uploadStatus === UPLOAD_STATUS.uploading) {\n multipartS3Uploader.completeUpload();\n }\n\n if (hasRecordingDiscarded({ recorderStatus, uploadStatus })) {\n handleDiscardRecording();\n }\n },\n });\n\n const { mutate: markRecordingAsUploaded } = useRecordingUploadSuccess();\n\n const handleUploadComplete = () =>\n markRecordingAsUploaded(recording.id, {\n onSuccess: () => onUploadComplete(recording.id),\n });\n\n const handleDiscardRecording = async () => {\n await multipartS3Uploader.abortUpload();\n const uploadStatus = useMultipartS3UploadStore.getState().status;\n\n if (uploadStatus === UPLOAD_STATUS.aborting) return;\n\n onDiscard();\n };\n\n const handleRestartRecording = async () => {\n await multipartS3Uploader.abortUpload();\n multipartS3Uploader.resetState();\n };\n\n const handleDiscardAlertClose = () => {\n discardRecording();\n setIsDiscardAlertOpen(false);\n };\n\n const handleRestartAlertClose = () => {\n restartRecording();\n setIsRestartAlertOpen(false);\n };\n\n useImperativeHandle(ref, () => ({\n handleDiscardRecording: () => setIsDiscardAlertOpen(true),\n handleRestartRecording: () => setIsRestartAlertOpen(true),\n }));\n\n useEffect(() => {\n if (\n !isRecorderStatus(SCREEN_RECORDER_STATUS.idle) ||\n error === SCREEN_RECORDER_ERROR.NotAllowedError ||\n IS_SAFARI_EXTENSION\n ) {\n return;\n }\n screenRecorder.startRecording();\n }, [recorderStatus, error]);\n\n useEffect(() => {\n screenRecorder.addCallback(\n SCREEN_RECORDER_EVENT.onDataAvailable,\n multipartS3Uploader.push\n );\n\n screenRecorder.addCallback(\n SCREEN_RECORDER_EVENT.onStop,\n multipartS3Uploader.completeUpload\n );\n\n screenRecorder.addCallback(\n SCREEN_RECORDER_EVENT.onDiscard,\n handleDiscardRecording\n );\n\n screenRecorder.addCallback(\n SCREEN_RECORDER_EVENT.onRestart,\n handleRestartRecording\n );\n\n multipartS3Uploader.addCallback(\n UPLOAD_EVENT.onComplete,\n handleUploadComplete\n );\n\n return () => {\n screenRecorder.removeCallback(\n SCREEN_RECORDER_EVENT.onDataAvailable,\n multipartS3Uploader.push\n );\n\n screenRecorder.removeCallback(\n SCREEN_RECORDER_EVENT.onStop,\n multipartS3Uploader.completeUpload\n );\n\n screenRecorder.removeCallback(\n SCREEN_RECORDER_EVENT.onDiscard,\n handleDiscardRecording\n );\n\n screenRecorder.removeCallback(\n SCREEN_RECORDER_EVENT.onRestart,\n handleRestartRecording\n );\n\n multipartS3Uploader.removeCallback(\n UPLOAD_EVENT.onComplete,\n handleUploadComplete\n );\n };\n }, [recording.id]);\n\n useEffect(() => {\n screenRecorder.addCallback(SCREEN_RECORDER_EVENT.onStart, createRecording);\n screenRecorder.addCallback(\n SCREEN_RECORDER_EVENT.onDiscardDuringCountdown,\n onDiscard\n );\n\n return () => {\n screenRecorder.revokePermissions();\n multipartS3Uploader.resetState();\n screenRecorder.resetState();\n };\n }, []);\n\n const shouldShowSafariExtensionCalloutToStartRecording =\n isRecorderStatus(SCREEN_RECORDER_STATUS.idle) &&\n IS_SAFARI_EXTENSION &&\n error === SCREEN_RECORDER_ERROR.None;\n\n if (error === SCREEN_RECORDER_ERROR.UnSupportedBrowser) {\n return <UnSupportedBrowser />;\n }\n\n if (\n isRecorderStatus(SCREEN_RECORDER_STATUS.stopped) &&\n isUploadStatus(UPLOAD_STATUS.uploading)\n ) {\n return (\n <UploadingInProgress\n {...{ recording }}\n onDiscard={handleDiscardRecording}\n />\n );\n }\n\n if (hasRecordingDiscarded({ recorderStatus, uploadStatus })) {\n return <AbortUpload />;\n }\n\n return (\n <div className=\"flex h-screen w-full flex-col items-center justify-center\">\n <div className={classNames(\"w-full max-w-3xl\")}>\n {error === SCREEN_RECORDER_ERROR.NotAllowedError && (\n <Callout className=\"mb-2 p-3\" style=\"danger\">\n <div>\n <Trans\n i18nKey=\"neetoMediaRecorder.record.permissionDeniedMessage\"\n components={{\n a: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={PERMISSIONS_HELP_DOC}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n </Callout>\n )}\n {isRecorderStatus(SCREEN_RECORDER_STATUS.acquiring_media) && (\n <Callout className=\"mb-2 p-3\" style=\"info\">\n {t(\"neetoMediaRecorder.record.grantPermissionMessage\")}\n </Callout>\n )}\n {shouldShowSafariExtensionCalloutToStartRecording && (\n <Callout className=\"mx-auto mb-2 w-1/2 p-3\" style=\"info\">\n {t(\"neetoMediaRecorder.record.clickToStartRecording\")}\n </Callout>\n )}\n {isRecorderStatus(\n SCREEN_RECORDER_STATUS.media_acquired,\n SCREEN_RECORDER_STATUS.restarting\n ) && (\n <div className=\" mx-auto flex flex-col items-center justify-center space-y-4\">\n <Typography>{t(\"neetoMediaRecorder.record.startsIn\")}</Typography>\n <Typography\n className=\"neeto-ui-bg-primary-100 neeto-ui-rounded-full flex h-32 w-32 items-center justify-center\"\n style=\"h1\"\n >\n {countdownTimeLeft}\n </Typography>\n </div>\n )}\n {isRecorderStatus(\n SCREEN_RECORDER_STATUS.recording,\n SCREEN_RECORDER_STATUS.paused\n ) && <Timer />}\n </div>\n <Controls\n {...{ setIsDiscardAlertOpen, setIsRestartAlertOpen }}\n className=\"mt-5\"\n />\n <Alert\n isOpen={isDiscardAlertOpen}\n message={t(\"neetoMediaRecorder.record.discardConfirmation.message\")}\n submitButtonLabel={t(\"neetoMediaRecorder.record.discard\")}\n title={t(\"neetoMediaRecorder.record.discardConfirmation.title\")}\n onClose={() => setIsDiscardAlertOpen(false)}\n onSubmit={handleDiscardAlertClose}\n />\n <Alert\n isOpen={isRestartAlertOpen}\n message={t(\"neetoMediaRecorder.record.restartConfirmation.message\")}\n submitButtonLabel={t(\"neetoMediaRecorder.record.restart\")}\n title={t(\"neetoMediaRecorder.record.restartConfirmation.title\")}\n onClose={() => setIsRestartAlertOpen(false)}\n onSubmit={handleRestartAlertClose}\n />\n </div>\n );\n};\n\nexport default forwardRef(MediaRecorder);\n"],"names":["arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","require$$0","baseUrl","create","axios","post","update","_ref","id","payload","patch","concat","recording","recordingsApi","useCreateRecording","options","useMutation","useRecordingUploadSuccess","isUploaded","HAS_CHROME_NAMESPACE","chrome","_typeof","isNotNil","extension","platform","name","PERMISSIONS_HELP_DOC","AbortUpload","withT","t","React","createElement","className","Typography","Spinner","toPrimitive","toPropertyKey","objectWithoutPropertiesLoose","PlayIcon","size","other","_objectWithoutProperties","_excluded","_extends","height","viewBox","width","xmlns","d","fill","defaultProps","StopIcon","_ref2","_excluded2","RestartIcon","_ref3","_excluded3","clipRule","fillRule","useRecorderStatus","useRecorderStore","screenRecorder","_useRecorderStore","store","status","shallow","isStatus","_len","arguments","length","statuses","Array","_key","includes","Controls","_ref$className","setIsRestartAlertOpen","setIsDiscardAlertOpen","_useTranslation","useTranslation","startRecording","pauseRecording","stopRecording","resumeRecording","error","_useRecorderStatus","hasRecordingStarted","SCREEN_RECORDER_STATUS","paused","shouldShowRecordButton","SCREEN_RECORDER_ERROR","NotAllowedError","IS_SAFARI_EXTENSION","idle","classNames","_defineProperty","isNotEmpty","Button","icon","label","loading","acquiring_media","onClick","style","Pause","tooltipProps","content","position","Delete","useMultipartS3UploadStatus","useMultipartS3UploadStore","multipartS3Uploader","_useMultipartS3Upload","formatTime","time","Math","floor","toString","padStart","getTimeString","date","minutes","ONE_MINUTE_IN_MILLISECONDS","seconds","ONE_SECOND_IN_MILLISECONDS","downloadRecordingBlob","blob","blobUrl","URL","createObjectURL","linkElement","document","href","download","body","appendChild","dispatchEvent","MouseEvent","bubbles","cancelable","view","window","removeChild","revokeObjectURL","hasRecordingDiscarded","recorderStatus","uploadStatus","stopped","UPLOAD_STATUS","aborting","Timer","elapsedTime","UnSupportedBrowser","Callout","UploadingInProgress","onDiscard","_useState","useState","_useState2","_slicedToArray","baseURL","setBaseURL","_useState3","_useState4","isDiscardAlertOpen","handleRecordingBlobDownload","getWebmMediaBlob","title","useEffect","IS_EXTENSION","location","origin","storage","local","get","then","hasFocus","isEmpty","copyToClipboard","generatePublicUrl","message","CopyToClipboardButton","Copy","value","Download","Close","Alert","isOpen","submitButtonLabel","onClose","onSubmit","restartRecording","discardRecording","MediaRecorder","ref","_ref$onUploadComplete","onUploadComplete","noop","_ref$onDiscard","isRestartAlertOpen","countdownTimeLeft","isRecorderStatus","_useMultipartS3Upload2","isUploadStatus","_useCreateRecording","onSuccess","uploadId","initialize","getState","uploading","completeUpload","handleDiscardRecording","createRecording","mutate","_useCreateRecording$d","data","_useCreateRecording$d2","_useCreateRecording$d3","_useRecordingUploadSu","markRecordingAsUploaded","handleUploadComplete","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abortUpload","abrupt","stop","apply","handleRestartRecording","_ref4","_callee2","_callee2$","_context2","resetState","handleDiscardAlertClose","handleRestartAlertClose","useImperativeHandle","addCallback","SCREEN_RECORDER_EVENT","onDataAvailable","push","onStop","onRestart","UPLOAD_EVENT","onComplete","removeCallback","onStart","onDiscardDuringCountdown","revokePermissions","shouldShowSafariExtensionCalloutToStartRecording","None","Trans","i18nKey","components","a","rel","target","media_acquired","restarting","forwardRef"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-media-recorder",
3
- "version": "1.1.4",
3
+ "version": "1.2.0",
4
4
  "description": "A package to simplify the media capturing process",
5
5
  "repository": "git@github.com:bigbinary/neeto-media-recorder.git",
6
6
  "license": "MIT",
@@ -29,7 +29,8 @@
29
29
  "discardConfirmation": {
30
30
  "title": "Discard recording?",
31
31
  "message": "You are discarding the current recording. This can't be undone."
32
- }
32
+ },
33
+ "discardRecording": "Discard recording"
33
34
  },
34
35
  "unsupportedBrowser": "Unfortunately, this feature is unavailable because the current browser does not support screen capturing."
35
36
  }