videomail-client 9.2.4 → 9.2.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "videomail-client",
3
- "version": "9.2.4",
3
+ "version": "9.2.6",
4
4
  "description": "A wicked npm package to record videos directly in the browser, wohooo!",
5
5
  "keywords": [
6
6
  "webcam",
@@ -17267,7 +17267,7 @@ function wrappy (fn, cb) {
17267
17267
  },{}],116:[function(_dereq_,module,exports){
17268
17268
  module.exports={
17269
17269
  "name": "videomail-client",
17270
- "version": "9.2.4",
17270
+ "version": "9.2.6",
17271
17271
  "description": "A wicked npm package to record videos directly in the browser, wohooo!",
17272
17272
  "keywords": [
17273
17273
  "webcam",
@@ -17414,21 +17414,21 @@ var _browser = _interopRequireDefault(_dereq_("./util/browser"));
17414
17414
  var _collectLogger = _interopRequireDefault(_dereq_("./util/collectLogger"));
17415
17415
  var _eventEmitter = _interopRequireDefault(_dereq_("./util/eventEmitter"));
17416
17416
  var _container = _interopRequireDefault(_dereq_("./wrappers/container"));
17417
- var _optionsWrapper = _interopRequireDefault(_dereq_("./wrappers/optionsWrapper"));
17417
+ var _addOptionsFunctions = _interopRequireDefault(_dereq_("./util/addOptionsFunctions"));
17418
17418
  var collectLogger;
17419
17419
  var browser;
17420
17420
  function adjustOptions() {
17421
17421
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
17422
17422
  var localOptions = (0, _deepmerge.default)(_options.default, options, {
17423
- arrayMerge: function arrayMerge(destination, source) {
17423
+ arrayMerge: function arrayMerge(_destination, source) {
17424
17424
  return source;
17425
17425
  }
17426
17426
  });
17427
17427
  collectLogger || (collectLogger = new _collectLogger.default(localOptions));
17428
17428
  localOptions.logger = collectLogger;
17429
17429
  localOptions.debug = localOptions.logger.debug;
17430
- _optionsWrapper.default.addFunctions(localOptions);
17431
- return localOptions;
17430
+ var localOptionsWithFunctions = (0, _addOptionsFunctions.default)(localOptions);
17431
+ return localOptionsWithFunctions;
17432
17432
  }
17433
17433
  function getBrowser(localOptions) {
17434
17434
  if (!browser) {
@@ -17471,9 +17471,6 @@ var VideomailClient = function VideomailClient(options) {
17471
17471
  if (!container.isBuilt()) {
17472
17472
  container.build(true, replayParentElement);
17473
17473
  }
17474
- if (!container.hasElement()) {
17475
- throw new Error("Unable to replay video without a container nor parent element.");
17476
- }
17477
17474
  if (videomail) {
17478
17475
  videomail = container.addPlayerDimensions(videomail);
17479
17476
  }
@@ -17556,7 +17553,7 @@ Object.keys(_constants.default.public).forEach(function (name) {
17556
17553
  VideomailClient.Events = _events.default;
17557
17554
  var _default = exports.default = VideomailClient;
17558
17555
 
17559
- },{"./constants":118,"./events":119,"./options":120,"./resource":121,"./util/browser":123,"./util/collectLogger":124,"./util/eventEmitter":125,"./wrappers/container":132,"./wrappers/optionsWrapper":135,"@babel/runtime/helpers/interopRequireDefault":4,"deepmerge":28,"inherits":66}],118:[function(_dereq_,module,exports){
17556
+ },{"./constants":118,"./events":119,"./options":120,"./resource":121,"./util/addOptionsFunctions":122,"./util/browser":124,"./util/collectLogger":125,"./util/eventEmitter":126,"./wrappers/container":133,"@babel/runtime/helpers/interopRequireDefault":4,"deepmerge":28,"inherits":66}],118:[function(_dereq_,module,exports){
17560
17557
  "use strict";
17561
17558
 
17562
17559
  Object.defineProperty(exports, "__esModule", {
@@ -17674,13 +17671,15 @@ var _default = exports.default = (0, _keymirror.default)({
17674
17671
  (function (process){(function (){
17675
17672
  "use strict";
17676
17673
 
17674
+ var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
17677
17675
  Object.defineProperty(exports, "__esModule", {
17678
17676
  value: true
17679
17677
  });
17680
17678
  exports.default = void 0;
17681
17679
  var _package = _dereq_("../../package.json");
17680
+ var _addOptionsFunctions = _interopRequireDefault(_dereq_("./util/addOptionsFunctions"));
17682
17681
  var PRODUCTION = process.env.NODE_ENV === "production";
17683
- var _default = exports.default = {
17682
+ var options = {
17684
17683
  logger: null,
17685
17684
  // define logging instance. leave null for default, console.
17686
17685
  logStackSize: 30,
@@ -17874,8 +17873,12 @@ var _default = exports.default = {
17874
17873
  version: _package.version
17875
17874
  };
17876
17875
 
17876
+ // Add some helper functions to options
17877
+ var optionsWithFunctions = (0, _addOptionsFunctions.default)(options);
17878
+ var _default = exports.default = optionsWithFunctions;
17879
+
17877
17880
  }).call(this)}).call(this,_dereq_('_process'))
17878
- },{"../../package.json":116,"_process":79}],121:[function(_dereq_,module,exports){
17881
+ },{"../../package.json":116,"./util/addOptionsFunctions":122,"@babel/runtime/helpers/interopRequireDefault":4,"_process":79}],121:[function(_dereq_,module,exports){
17879
17882
  "use strict";
17880
17883
 
17881
17884
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -18037,6 +18040,61 @@ function _default(options) {
18037
18040
  },{"./constants":118,"@babel/runtime/helpers/interopRequireDefault":4,"superagent":104}],122:[function(_dereq_,module,exports){
18038
18041
  "use strict";
18039
18042
 
18043
+ Object.defineProperty(exports, "__esModule", {
18044
+ value: true
18045
+ });
18046
+ exports.default = void 0;
18047
+ function addOptionsFunctions(options) {
18048
+ var audioEnabled = options.audio && options.audio.enabled;
18049
+ options.hasDefinedWidth = function () {
18050
+ return this.video.width && this.video.width !== "auto";
18051
+ };
18052
+ options.hasDefinedHeight = function () {
18053
+ return this.video.height && this.video.height !== "auto";
18054
+ };
18055
+ options.hasDefinedDimension = function () {
18056
+ return this.hasDefinedWidth() || this.hasDefinedHeight();
18057
+ };
18058
+ options.hasDefinedDimensions = function () {
18059
+ return this.hasDefinedWidth() && this.hasDefinedHeight();
18060
+ };
18061
+ options.getRatio = function () {
18062
+ var ratio = 1; // just a default one when no computations are possible
18063
+
18064
+ // todo fix this, it's not really an option
18065
+ var hasVideoDimensions = this.videoHeight && this.videoWidth;
18066
+ if (this.hasDefinedDimensions()) {
18067
+ if (hasVideoDimensions) {
18068
+ // figure out first which one to pick
18069
+ if (this.videoHeight < this.video.height || this.videoWidth < this.video.width) {
18070
+ ratio = this.videoHeight / this.videoWidth;
18071
+ } else {
18072
+ ratio = this.video.height / this.video.width;
18073
+ }
18074
+ } else {
18075
+ ratio = this.video.height / this.video.width;
18076
+ }
18077
+ } else if (hasVideoDimensions) {
18078
+ ratio = this.videoHeight / this.videoWidth;
18079
+ }
18080
+ return ratio;
18081
+ };
18082
+ options.isAudioEnabled = function () {
18083
+ return audioEnabled;
18084
+ };
18085
+ options.setAudioEnabled = function (enabled) {
18086
+ audioEnabled = enabled;
18087
+ };
18088
+ options.isAutoPauseEnabled = function () {
18089
+ return this.enableAutoPause && this.enablePause;
18090
+ };
18091
+ return options;
18092
+ }
18093
+ var _default = exports.default = addOptionsFunctions;
18094
+
18095
+ },{}],123:[function(_dereq_,module,exports){
18096
+ "use strict";
18097
+
18040
18098
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
18041
18099
  Object.defineProperty(exports, "__esModule", {
18042
18100
  value: true
@@ -18167,7 +18225,7 @@ function _default(userMedia, options) {
18167
18225
  };
18168
18226
  }
18169
18227
 
18170
- },{"./browser":123,"./videomailError":130,"@babel/runtime/helpers/interopRequireDefault":4,"audio-sample":14,"is-power-of-two":71}],123:[function(_dereq_,module,exports){
18228
+ },{"./browser":124,"./videomailError":131,"@babel/runtime/helpers/interopRequireDefault":4,"audio-sample":14,"is-power-of-two":71}],124:[function(_dereq_,module,exports){
18171
18229
  "use strict";
18172
18230
 
18173
18231
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -18397,7 +18455,7 @@ var Browser = function Browser(options) {
18397
18455
  };
18398
18456
  var _default = exports.default = Browser;
18399
18457
 
18400
- },{"./videomailError":130,"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/typeof":10,"defined":30,"ua-parser-js":110}],124:[function(_dereq_,module,exports){
18458
+ },{"./videomailError":131,"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/typeof":10,"defined":30,"ua-parser-js":110}],125:[function(_dereq_,module,exports){
18401
18459
  "use strict";
18402
18460
 
18403
18461
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -18465,7 +18523,7 @@ function _default() {
18465
18523
  };
18466
18524
  }
18467
18525
 
18468
- },{"./browser":123,"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/toConsumableArray":7,"format-util":47}],125:[function(_dereq_,module,exports){
18526
+ },{"./browser":124,"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/toConsumableArray":7,"format-util":47}],126:[function(_dereq_,module,exports){
18469
18527
  "use strict";
18470
18528
 
18471
18529
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -18532,7 +18590,7 @@ function _default(options, name) {
18532
18590
  };
18533
18591
  }
18534
18592
 
18535
- },{"./../events":119,"./videomailError":130,"@babel/runtime/helpers/interopRequireDefault":4,"despot":31,"safe-json-stringify":99}],126:[function(_dereq_,module,exports){
18593
+ },{"./../events":119,"./videomailError":131,"@babel/runtime/helpers/interopRequireDefault":4,"despot":31,"safe-json-stringify":99}],127:[function(_dereq_,module,exports){
18536
18594
  "use strict";
18537
18595
 
18538
18596
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -18554,7 +18612,7 @@ var _default = exports.default = {
18554
18612
  }
18555
18613
  };
18556
18614
 
18557
- },{"@babel/runtime/helpers/interopRequireDefault":4,"filesize":46,"humanize-duration":62}],127:[function(_dereq_,module,exports){
18615
+ },{"@babel/runtime/helpers/interopRequireDefault":4,"filesize":46,"humanize-duration":62}],128:[function(_dereq_,module,exports){
18558
18616
  "use strict";
18559
18617
 
18560
18618
  Object.defineProperty(exports, "__esModule", {
@@ -18691,7 +18749,7 @@ var _default = exports.default = [
18691
18749
  * 'timeupdate'
18692
18750
  */];
18693
18751
 
18694
- },{}],128:[function(_dereq_,module,exports){
18752
+ },{}],129:[function(_dereq_,module,exports){
18695
18753
  "use strict";
18696
18754
 
18697
18755
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -18759,7 +18817,7 @@ function _default(anything, options) {
18759
18817
  return anything.toString();
18760
18818
  }
18761
18819
 
18762
- },{"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/typeof":10,"safe-json-stringify":99}],129:[function(_dereq_,module,exports){
18820
+ },{"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/typeof":10,"safe-json-stringify":99}],130:[function(_dereq_,module,exports){
18763
18821
  "use strict";
18764
18822
 
18765
18823
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -18816,7 +18874,7 @@ function _default() {
18816
18874
  }
18817
18875
  }
18818
18876
 
18819
- },{"@babel/runtime/helpers/interopRequireDefault":4,"classlist.js":23,"request-frame":97}],130:[function(_dereq_,module,exports){
18877
+ },{"@babel/runtime/helpers/interopRequireDefault":4,"classlist.js":23,"request-frame":97}],131:[function(_dereq_,module,exports){
18820
18878
  (function (global){(function (){
18821
18879
  "use strict";
18822
18880
 
@@ -19194,7 +19252,7 @@ VideomailError.create = function (err, explanation, options, parameters) {
19194
19252
  var _default = exports.default = VideomailError;
19195
19253
 
19196
19254
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
19197
- },{"./../resource":121,"./browser":123,"./pretty":128,"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/typeof":10,"create-error":27,"safe-json-stringify":99}],131:[function(_dereq_,module,exports){
19255
+ },{"./../resource":121,"./browser":124,"./pretty":129,"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/typeof":10,"create-error":27,"safe-json-stringify":99}],132:[function(_dereq_,module,exports){
19198
19256
  "use strict";
19199
19257
 
19200
19258
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -19709,7 +19767,7 @@ var Buttons = function Buttons(container, options) {
19709
19767
  (0, _inherits.default)(Buttons, _eventEmitter.default);
19710
19768
  var _default = exports.default = Buttons;
19711
19769
 
19712
- },{"../events":119,"../util/eventEmitter":125,"@babel/runtime/helpers/interopRequireDefault":4,"contains":25,"hidden":61,"hyperscript":63,"inherits":66}],132:[function(_dereq_,module,exports){
19770
+ },{"../events":119,"../util/eventEmitter":126,"@babel/runtime/helpers/interopRequireDefault":4,"contains":25,"hidden":61,"hyperscript":63,"inherits":66}],133:[function(_dereq_,module,exports){
19713
19771
  "use strict";
19714
19772
 
19715
19773
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -19740,7 +19798,7 @@ var Container = function Container(options) {
19740
19798
  var visuals = new _visuals.default(this, options);
19741
19799
  var buttons = new _buttons.default(this, options);
19742
19800
  var resource = new _resource.default(options);
19743
- var htmlElement = document && document.querySelector && document.querySelector("html");
19801
+ var htmlElement = document.querySelector("html");
19744
19802
  var debug = options.debug;
19745
19803
  var hasError = false;
19746
19804
  var submitted = false;
@@ -19783,15 +19841,13 @@ var Container = function Container(options) {
19783
19841
  var playerOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
19784
19842
  var replayParentElement = arguments.length > 1 ? arguments[1] : undefined;
19785
19843
  debug("Container: buildChildren (playerOnly = ".concat(playerOnly).concat(replayParentElement ? ", replayParentElement=\"".concat(replayParentElement, "\"") : "", ")"));
19786
- if (!containerElement.classList) {
19787
- self.emit(_events.default.ERROR, _videomailError.default.create("Sorry, your browser is too old!", options));
19788
- } else {
19844
+ if (containerElement) {
19789
19845
  containerElement.classList.add("videomail");
19790
- if (!playerOnly) {
19791
- buttons.build();
19792
- }
19793
- visuals.build(playerOnly, replayParentElement);
19794
19846
  }
19847
+ if (!playerOnly) {
19848
+ buttons.build();
19849
+ }
19850
+ visuals.build(playerOnly, replayParentElement);
19795
19851
  }
19796
19852
  function processError(err) {
19797
19853
  hasError = true;
@@ -19887,7 +19943,7 @@ var Container = function Container(options) {
19887
19943
  function correctDimensions() {
19888
19944
  if (options.video.stretch) {
19889
19945
  removeDimensions();
19890
- } else {
19946
+ } else if (containerElement) {
19891
19947
  var width = visuals.getRecorderWidth(true);
19892
19948
  if (width < 1) {
19893
19949
  throw _videomailError.default.create("Recorder width cannot be less than 1!", options);
@@ -19897,6 +19953,9 @@ var Container = function Container(options) {
19897
19953
  }
19898
19954
  }
19899
19955
  function removeDimensions() {
19956
+ if (!containerElement) {
19957
+ return;
19958
+ }
19900
19959
  containerElement.style.width = "auto";
19901
19960
  }
19902
19961
  function unloadChildren(e) {
@@ -20008,7 +20067,7 @@ var Container = function Container(options) {
20008
20067
  return _dimension.default.limitHeight(height, options);
20009
20068
  };
20010
20069
  this.calculateWidth = function (fnOptions) {
20011
- return _dimension.default.calculateWidth(_optionsWrapper.default.merge(options, fnOptions, true));
20070
+ return _dimension.default.calculateWidth(_optionsWrapper.default.merge(options, fnOptions));
20012
20071
  };
20013
20072
  this.calculateHeight = function (fnOptions, element) {
20014
20073
  if (!element) {
@@ -20019,7 +20078,7 @@ var Container = function Container(options) {
20019
20078
  element = document.body;
20020
20079
  }
20021
20080
  }
20022
- return _dimension.default.calculateHeight(element, _optionsWrapper.default.merge(options, fnOptions, true));
20081
+ return _dimension.default.calculateHeight(element, _optionsWrapper.default.merge(options, fnOptions));
20023
20082
  };
20024
20083
  function areVisualsHidden() {
20025
20084
  return visuals.isHidden();
@@ -20388,7 +20447,7 @@ var Container = function Container(options) {
20388
20447
  (0, _inherits.default)(Container, _eventEmitter.default);
20389
20448
  var _default = exports.default = Container;
20390
20449
 
20391
- },{"../../styles/css/main.min.css.js":147,"../events":119,"../resource":121,"../util/eventEmitter":125,"../util/videomailError":130,"./buttons":131,"./dimension":133,"./form":134,"./optionsWrapper":135,"./visuals":136,"@babel/runtime/helpers/defineProperty":3,"@babel/runtime/helpers/interopRequireDefault":4,"document-visibility":32,"hidden":61,"inherits":66,"insert-css":67,"safe-json-stringify":99}],133:[function(_dereq_,module,exports){
20450
+ },{"../../styles/css/main.min.css.js":148,"../events":119,"../resource":121,"../util/eventEmitter":126,"../util/videomailError":131,"./buttons":132,"./dimension":134,"./form":135,"./optionsWrapper":136,"./visuals":137,"@babel/runtime/helpers/defineProperty":3,"@babel/runtime/helpers/interopRequireDefault":4,"document-visibility":32,"hidden":61,"inherits":66,"insert-css":67,"safe-json-stringify":99}],134:[function(_dereq_,module,exports){
20392
20451
  "use strict";
20393
20452
 
20394
20453
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -20502,7 +20561,7 @@ var _default = exports.default = {
20502
20561
  }
20503
20562
  };
20504
20563
 
20505
- },{"./../util/videomailError":130,"@babel/runtime/helpers/interopRequireDefault":4,"number-is-integer":74}],134:[function(_dereq_,module,exports){
20564
+ },{"./../util/videomailError":131,"@babel/runtime/helpers/interopRequireDefault":4,"number-is-integer":74}],135:[function(_dereq_,module,exports){
20506
20565
  "use strict";
20507
20566
 
20508
20567
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -20791,7 +20850,7 @@ var Form = function Form(container, formElement, options) {
20791
20850
  (0, _inherits.default)(Form, _eventEmitter.default);
20792
20851
  var _default = exports.default = Form;
20793
20852
 
20794
- },{"../events":119,"../util/eventEmitter":125,"../util/videomailError":130,"@babel/runtime/helpers/interopRequireDefault":4,"get-form-data":50,"hidden":61,"hyperscript":63,"inherits":66,"safe-json-stringify":99}],135:[function(_dereq_,module,exports){
20853
+ },{"../events":119,"../util/eventEmitter":126,"../util/videomailError":131,"@babel/runtime/helpers/interopRequireDefault":4,"get-form-data":50,"hidden":61,"hyperscript":63,"inherits":66,"safe-json-stringify":99}],136:[function(_dereq_,module,exports){
20795
20854
  "use strict";
20796
20855
 
20797
20856
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -20802,51 +20861,6 @@ exports.default = void 0;
20802
20861
  var _deepmerge = _interopRequireDefault(_dereq_("deepmerge"));
20803
20862
  // enhances options with useful functions we can reuse everywhere
20804
20863
  var _default = exports.default = {
20805
- addFunctions: function addFunctions(options) {
20806
- var audioEnabled = options.audio && options.audio.enabled;
20807
- options.hasDefinedHeight = function () {
20808
- return this.video.height && this.video.height !== "auto";
20809
- };
20810
- options.hasDefinedWidth = function () {
20811
- return this.video.width && this.video.width !== "auto";
20812
- };
20813
- options.hasDefinedDimension = function () {
20814
- return this.hasDefinedWidth() || this.hasDefinedHeight();
20815
- };
20816
- options.hasDefinedDimensions = function () {
20817
- return this.hasDefinedWidth() && this.hasDefinedHeight();
20818
- };
20819
- options.getRatio = function () {
20820
- var ratio = 1; // just a default one when no computations are possible
20821
-
20822
- // todo fix this, it's not really an option
20823
- var hasVideoDimensions = this.videoHeight && this.videoWidth;
20824
- if (this.hasDefinedDimensions()) {
20825
- if (hasVideoDimensions) {
20826
- // figure out first which one to pick
20827
- if (this.videoHeight < this.video.height || this.videoWidth < this.video.width) {
20828
- ratio = this.videoHeight / this.videoWidth;
20829
- } else {
20830
- ratio = this.video.height / this.video.width;
20831
- }
20832
- } else {
20833
- ratio = this.video.height / this.video.width;
20834
- }
20835
- } else if (hasVideoDimensions) {
20836
- ratio = this.videoHeight / this.videoWidth;
20837
- }
20838
- return ratio;
20839
- };
20840
- options.isAudioEnabled = function () {
20841
- return audioEnabled;
20842
- };
20843
- options.setAudioEnabled = function (enabled) {
20844
- audioEnabled = enabled;
20845
- };
20846
- options.isAutoPauseEnabled = function () {
20847
- return this.enableAutoPause && this.enablePause;
20848
- };
20849
- },
20850
20864
  /*
20851
20865
  * not very elegant but works! and if you here are reading this, and
20852
20866
  * start to doubt, rest assured, it's solid and run thousand times over
@@ -20855,16 +20869,15 @@ var _default = exports.default = {
20855
20869
  */
20856
20870
  merge: function merge(defaultOptions, newOptions) {
20857
20871
  var options = (0, _deepmerge.default)(defaultOptions, newOptions, {
20858
- arrayMerge: function arrayMerge(destination, source) {
20872
+ arrayMerge: function arrayMerge(_destination, source) {
20859
20873
  return source;
20860
20874
  }
20861
20875
  });
20862
- this.addFunctions(options);
20863
20876
  return options;
20864
20877
  }
20865
20878
  };
20866
20879
 
20867
- },{"@babel/runtime/helpers/interopRequireDefault":4,"deepmerge":28}],136:[function(_dereq_,module,exports){
20880
+ },{"@babel/runtime/helpers/interopRequireDefault":4,"deepmerge":28}],137:[function(_dereq_,module,exports){
20868
20881
  "use strict";
20869
20882
 
20870
20883
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -20947,12 +20960,15 @@ var Visuals = function Visuals(container, options) {
20947
20960
  function correctDimensions() {
20948
20961
  if (options.video.stretch) {
20949
20962
  removeDimensions();
20950
- } else {
20963
+ } else if (visualsElement) {
20951
20964
  visualsElement.style.width = "".concat(self.getRecorderWidth(true), "px");
20952
20965
  visualsElement.style.height = "".concat(self.getRecorderHeight(true), "px");
20953
20966
  }
20954
20967
  }
20955
20968
  function removeDimensions() {
20969
+ if (!visualsElement) {
20970
+ return;
20971
+ }
20956
20972
  visualsElement.style.width = "auto";
20957
20973
  visualsElement.style.height = "auto";
20958
20974
  }
@@ -20972,34 +20988,32 @@ var Visuals = function Visuals(container, options) {
20972
20988
  this.build = function () {
20973
20989
  var playerOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
20974
20990
  var replayParentElement = arguments.length > 1 ? arguments[1] : undefined;
20975
- visualsElement = container.querySelector(".".concat(options.selectors.visualsClass));
20976
- if (!visualsElement) {
20977
- visualsElement = (0, _hyperscript.default)("div.".concat(options.selectors.visualsClass));
20978
- var buttonsElement = container.querySelector(".".concat(options.selectors.buttonsClass));
20991
+ if (container) {
20992
+ visualsElement = container.querySelector(".".concat(options.selectors.visualsClass));
20993
+ if (!visualsElement) {
20994
+ visualsElement = (0, _hyperscript.default)("div.".concat(options.selectors.visualsClass));
20995
+ var buttonsElement = container.querySelector(".".concat(options.selectors.buttonsClass));
20996
+
20997
+ /*
20998
+ * make sure it's placed before the buttons, but only if it's a child
20999
+ * element of the container = inside the container
21000
+ */
21001
+ if (buttonsElement && !container.isOutsideElementOf(buttonsElement)) {
21002
+ container.insertBefore(visualsElement, buttonsElement);
21003
+ } else {
21004
+ container.appendChild(visualsElement);
21005
+ }
21006
+ }
20979
21007
 
20980
21008
  /*
20981
- * make sure it's placed before the buttons, but only if it's a child
20982
- * element of the container = inside the container
21009
+ * do not hide visuals element so that apps can give it a predefined
21010
+ * width or height through css but hide all children
20983
21011
  */
20984
- if (buttonsElement && !container.isOutsideElementOf(buttonsElement)) {
20985
- container.insertBefore(visualsElement, buttonsElement);
20986
- } else {
20987
- container.appendChild(visualsElement);
20988
- }
21012
+ visualsElement.classList.add("visuals");
20989
21013
  }
20990
-
20991
- /*
20992
- * do not hide visuals element so that apps can give it a predefined
20993
- * width or height through css but hide all children
20994
- */
20995
-
20996
- visualsElement.classList.add("visuals");
20997
21014
  correctDimensions();
20998
21015
  !built && initEvents(playerOnly);
20999
21016
  buildChildren(playerOnly, replayParentElement);
21000
-
21001
- // needed for replay handling and container.isOutsideElementOf()
21002
- self.parentNode = visualsElement.parentNode;
21003
21017
  built = true;
21004
21018
  };
21005
21019
  this.querySelector = function (selector) {
@@ -21206,7 +21220,7 @@ var Visuals = function Visuals(container, options) {
21206
21220
  (0, _inherits.default)(Visuals, _eventEmitter.default);
21207
21221
  var _default = exports.default = Visuals;
21208
21222
 
21209
- },{"../events":119,"../util/eventEmitter":125,"./visuals/inside/recorderInsides":142,"./visuals/notifier":143,"./visuals/recorder":144,"./visuals/replay":145,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63,"inherits":66,"safe-json-stringify":99}],137:[function(_dereq_,module,exports){
21223
+ },{"../events":119,"../util/eventEmitter":126,"./visuals/inside/recorderInsides":143,"./visuals/notifier":144,"./visuals/recorder":145,"./visuals/replay":146,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63,"inherits":66,"safe-json-stringify":99}],138:[function(_dereq_,module,exports){
21210
21224
  "use strict";
21211
21225
 
21212
21226
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -21280,7 +21294,7 @@ function _default(visuals, options) {
21280
21294
  };
21281
21295
  }
21282
21296
 
21283
- },{"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],138:[function(_dereq_,module,exports){
21297
+ },{"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],139:[function(_dereq_,module,exports){
21284
21298
  "use strict";
21285
21299
 
21286
21300
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -21329,7 +21343,7 @@ function _default(visuals, options) {
21329
21343
  };
21330
21344
  }
21331
21345
 
21332
- },{"./../../../../events":119,"./../../../../util/eventEmitter":125,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],139:[function(_dereq_,module,exports){
21346
+ },{"./../../../../events":119,"./../../../../util/eventEmitter":126,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],140:[function(_dereq_,module,exports){
21333
21347
  "use strict";
21334
21348
 
21335
21349
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -21382,7 +21396,7 @@ function _default(visuals, options) {
21382
21396
  };
21383
21397
  }
21384
21398
 
21385
- },{"./../../../../util/videomailError":130,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],140:[function(_dereq_,module,exports){
21399
+ },{"./../../../../util/videomailError":131,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],141:[function(_dereq_,module,exports){
21386
21400
  "use strict";
21387
21401
 
21388
21402
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -21423,7 +21437,7 @@ function _default(visuals) {
21423
21437
  };
21424
21438
  }
21425
21439
 
21426
- },{"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],141:[function(_dereq_,module,exports){
21440
+ },{"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],142:[function(_dereq_,module,exports){
21427
21441
  "use strict";
21428
21442
 
21429
21443
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -21543,7 +21557,7 @@ function _default(visuals, recordNote, options) {
21543
21557
  };
21544
21558
  }
21545
21559
 
21546
- },{"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],142:[function(_dereq_,module,exports){
21560
+ },{"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],143:[function(_dereq_,module,exports){
21547
21561
  "use strict";
21548
21562
 
21549
21563
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -21657,7 +21671,7 @@ var RecorderInsides = function RecorderInsides(visuals, options) {
21657
21671
  (0, _inherits.default)(RecorderInsides, _eventEmitter.default);
21658
21672
  var _default = exports.default = RecorderInsides;
21659
21673
 
21660
- },{"./../../../events":119,"./../../../util/browser":123,"./../../../util/eventEmitter":125,"./recorder/countdown":137,"./recorder/facingMode":138,"./recorder/pausedNote":139,"./recorder/recordNote":140,"./recorder/recordTimer":141,"@babel/runtime/helpers/interopRequireDefault":4,"inherits":66}],143:[function(_dereq_,module,exports){
21674
+ },{"./../../../events":119,"./../../../util/browser":124,"./../../../util/eventEmitter":126,"./recorder/countdown":138,"./recorder/facingMode":139,"./recorder/pausedNote":140,"./recorder/recordNote":141,"./recorder/recordTimer":142,"@babel/runtime/helpers/interopRequireDefault":4,"inherits":66}],144:[function(_dereq_,module,exports){
21661
21675
  "use strict";
21662
21676
 
21663
21677
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -21938,7 +21952,7 @@ var Notifier = function Notifier(visuals, options) {
21938
21952
  (0, _inherits.default)(Notifier, _eventEmitter.default);
21939
21953
  var _default = exports.default = Notifier;
21940
21954
 
21941
- },{"../../events":119,"../../util/eventEmitter":125,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63,"inherits":66}],144:[function(_dereq_,module,exports){
21955
+ },{"../../events":119,"../../util/eventEmitter":126,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63,"inherits":66}],145:[function(_dereq_,module,exports){
21942
21956
  (function (Buffer){(function (){
21943
21957
  "use strict";
21944
21958
 
@@ -23073,7 +23087,7 @@ var Recorder = function Recorder(visuals, replay) {
23073
23087
  var _default = exports.default = Recorder;
23074
23088
 
23075
23089
  }).call(this)}).call(this,_dereq_("buffer").Buffer)
23076
- },{"../../constants":118,"../../events":119,"../../util/browser":123,"../../util/eventEmitter":125,"../../util/humanize":126,"../../util/pretty":128,"../../util/videomailError":130,"./userMedia":146,"@babel/runtime/helpers/interopRequireDefault":4,"animitter":13,"buffer":18,"canvas-to-buffer":21,"deepmerge":28,"hidden":61,"hyperscript":63,"inherits":66,"safe-json-stringify":99,"websocket-stream":113}],145:[function(_dereq_,module,exports){
23090
+ },{"../../constants":118,"../../events":119,"../../util/browser":124,"../../util/eventEmitter":126,"../../util/humanize":127,"../../util/pretty":129,"../../util/videomailError":131,"./userMedia":147,"@babel/runtime/helpers/interopRequireDefault":4,"animitter":13,"buffer":18,"canvas-to-buffer":21,"deepmerge":28,"hidden":61,"hyperscript":63,"inherits":66,"safe-json-stringify":99,"websocket-stream":113}],146:[function(_dereq_,module,exports){
23077
23091
  "use strict";
23078
23092
 
23079
23093
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -23386,7 +23400,7 @@ var Replay = function Replay(parentElement, options) {
23386
23400
  (0, _inherits.default)(Replay, _eventEmitter.default);
23387
23401
  var _default = exports.default = Replay;
23388
23402
 
23389
- },{"../../events":119,"../../util/browser":123,"../../util/eventEmitter":125,"../../util/videomailError":130,"@babel/runtime/helpers/interopRequireDefault":4,"add-eventlistener-with-options":12,"hidden":61,"hyperscript":63,"inherits":66,"iphone-inline-video":69}],146:[function(_dereq_,module,exports){
23403
+ },{"../../events":119,"../../util/browser":124,"../../util/eventEmitter":126,"../../util/videomailError":131,"@babel/runtime/helpers/interopRequireDefault":4,"add-eventlistener-with-options":12,"hidden":61,"hyperscript":63,"inherits":66,"iphone-inline-video":69}],147:[function(_dereq_,module,exports){
23390
23404
  "use strict";
23391
23405
 
23392
23406
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -23801,7 +23815,7 @@ function _default(recorder, options) {
23801
23815
  };
23802
23816
  }
23803
23817
 
23804
- },{"./../../events":119,"./../../util/audioRecorder":122,"./../../util/browser":123,"./../../util/eventEmitter":125,"./../../util/mediaEvents":127,"./../../util/pretty":128,"./../../util/videomailError":130,"@babel/runtime/helpers/interopRequireDefault":4,"hyperscript":63,"safe-json-stringify":99}],147:[function(_dereq_,module,exports){
23818
+ },{"./../../events":119,"./../../util/audioRecorder":123,"./../../util/browser":124,"./../../util/eventEmitter":126,"./../../util/mediaEvents":128,"./../../util/pretty":129,"./../../util/videomailError":131,"@babel/runtime/helpers/interopRequireDefault":4,"hyperscript":63,"safe-json-stringify":99}],148:[function(_dereq_,module,exports){
23805
23819
  "use strict";
23806
23820
 
23807
23821
  module.exports = '@-webkit-keyframes blink{0%{opacity:.9}35%{opacity:.9}50%{opacity:.1}85%{opacity:.1}to{opacity:.9}}@keyframes blink{0%{opacity:.9}35%{opacity:.9}50%{opacity:.1}85%{opacity:.1}to{opacity:.9}}.IIV::-webkit-media-controls-play-button,.IIV::-webkit-media-controls-start-playback-button{opacity:0;pointer-events:none;width:5px}.videomail .visuals{position:relative}.videomail .visuals video.replay{height:100%;width:100%}.videomail .countdown,.videomail .pausedHeader,.videomail .pausedHint,.videomail .recordNote,.videomail .recordTimer{height:auto;margin:0}.videomail .countdown,.videomail .facingMode,.videomail .paused,.videomail .recordNote,.videomail .recordTimer,.videomail noscript{position:absolute;z-index:100}.videomail .countdown,.videomail .pausedHeader,.videomail .pausedHint,.videomail .recordNote,.videomail .recordTimer,.videomail noscript{font-weight:700}.videomail .countdown,.videomail .paused,.videomail noscript{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:100%}.videomail .countdown,.videomail .pausedHeader,.videomail .pausedHint{letter-spacing:4px;text-align:center;text-shadow:-2px 0 #fff,0 2px #fff,2px 0 #fff,0 -2px #fff}.videomail .countdown,.videomail .pausedHeader{font-size:460%;opacity:.9}.videomail .pausedHint{font-size:150%}.videomail .facingMode{background:rgba(30,30,30,.5);border:none;bottom:.6em;color:hsla(0,0%,96%,.9);font-family:monospace;font-size:1.2em;outline:none;padding:.1em .3em;right:.7em;-webkit-transition:all .2s ease;transition:all .2s ease;z-index:10}.videomail .facingMode:hover{background:rgba(50,50,50,.7);cursor:pointer}.videomail .recordNote,.videomail .recordTimer{background:hsla(0,0%,4%,.8);color:#00d814;font-family:monospace;opacity:.9;padding:.3em .4em;right:.7em;-webkit-transition:all 1s ease;transition:all 1s ease}.videomail .recordNote.near,.videomail .recordTimer.near{color:#eb9369}.videomail .recordNote.nigh,.videomail .recordTimer.nigh{color:#ea4b2a}.videomail .recordTimer{top:.7em}.videomail .recordNote{top:3.6em}.videomail .recordNote:before{-webkit-animation:blink 1s infinite;animation:blink 1s infinite;content:"REC"}.videomail .notifier{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;overflow:hidden}.videomail .radioGroup{display:block}.videomail video{margin-bottom:0}.videomail video.userMedia{background-color:rgba(50,50,50,.1)}';
@@ -23828,5 +23842,5 @@ if (!navigator) {
23828
23842
  // export { Client };
23829
23843
  var _default = exports.default = _client.default;
23830
23844
 
23831
- },{"./client":117,"./util/standardize":129,"@babel/runtime/helpers/interopRequireDefault":4}]},{},["videomail-client"])("videomail-client")
23845
+ },{"./client":117,"./util/standardize":130,"@babel/runtime/helpers/interopRequireDefault":4}]},{},["videomail-client"])("videomail-client")
23832
23846
  });