videomail-client 9.4.2 → 9.5.1

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.
@@ -0,0 +1,25 @@
1
+ import type { StorybookConfig } from "storybook-html-rsbuild";
2
+
3
+ const config: StorybookConfig = {
4
+ stories: ["../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
5
+ addons: [
6
+ "@storybook/addon-links",
7
+ "@storybook/addon-essentials",
8
+ "@storybook/addon-a11y",
9
+ "@chromatic-com/storybook",
10
+ "@storybook/addon-interactions",
11
+ ],
12
+ framework: {
13
+ name: "storybook-html-rsbuild",
14
+ options: {
15
+ builder: {
16
+ rsbuildConfigPath: "etc/rsbuild/config.ts",
17
+ },
18
+ },
19
+ },
20
+ core: {
21
+ disableTelemetry: true,
22
+ },
23
+ };
24
+
25
+ export default config;
@@ -0,0 +1,5 @@
1
+ import { addons } from "@storybook/manager-api";
2
+ import customTheme from "./theme";
3
+ addons.setConfig({
4
+ theme: customTheme,
5
+ });
@@ -0,0 +1,16 @@
1
+ import "@storybook/addon-console";
2
+
3
+ import type { Preview } from "@storybook/html";
4
+
5
+ const preview: Preview = {
6
+ parameters: {
7
+ options: {
8
+ storySort: {
9
+ // See https://storybook.js.org/docs/writing-stories/naming-components-and-hierarchy
10
+ order: ["Record", "*", "Error Handling"],
11
+ },
12
+ },
13
+ },
14
+ };
15
+
16
+ export default preview;
@@ -0,0 +1,8 @@
1
+ import { create } from "@storybook/theming";
2
+
3
+ export default create({
4
+ base: "light",
5
+ brandTitle: "Videomail-Client",
6
+ brandUrl: "https://videomail.io",
7
+ brandImage: "https://videomail.io/favicon.png",
8
+ });
@@ -13,7 +13,6 @@
13
13
  "cSpell.words": [
14
14
  "animitter",
15
15
  "autobuffer",
16
- "browserstack",
17
16
  "bytediff",
18
17
  "classlist",
19
18
  "crossorigin",
@@ -32,6 +31,7 @@
32
31
  "playsinline",
33
32
  "plusplus",
34
33
  "preend",
34
+ "rsbuild",
35
35
  "rubberband",
36
36
  "Seeflow's",
37
37
  "styl",
package/README.md CHANGED
@@ -4,15 +4,12 @@
4
4
 
5
5
  [![npm][npm-image]][npm-url]
6
6
  [![downloads][downloads-image]][downloads-url]
7
- [![browserstack][browserstack-image]][browserstack-url]
8
7
  [![Netlify Status](https://api.netlify.com/api/v1/badges/3c9df5b4-8b85-4081-950a-d5df2dbd9926/deploy-status)](https://app.netlify.com/sites/videomail-client/deploys)
9
8
 
10
9
  [npm-image]: https://img.shields.io/npm/v/videomail-client.svg?style=flat
11
10
  [npm-url]: https://npmjs.org/package/videomail-client
12
11
  [downloads-image]: https://img.shields.io/npm/dm/videomail-client.svg?style=flat
13
12
  [downloads-url]: https://npmjs.org/package/videomail-client
14
- [browserstack-url]: https://www.browserstack.com
15
- [browserstack-image]: https://raw.githubusercontent.com/binarykitchen/videomail-client/develop/browserstack.png
16
13
 
17
14
  Record videos in contact forms!
18
15
 
@@ -34,7 +31,7 @@ Finally you can encode any webcam recordings from modern browsers and mobiles in
34
31
 
35
32
  ## Prototype (examples)
36
33
 
37
- To run the prototype full of examples in your browser with Gulp, just do:
34
+ To run the prototype full of examples in your browser, just do:
38
35
 
39
36
  1. `npm install`
40
37
  2. `npm run watch` to ignite a static server and
@@ -417,8 +414,6 @@ These guys helped and/or inspired me for this mad project:
417
414
 
418
415
  They all deserve lots of beer and love. That order is irrelevant.
419
416
 
420
- And yes, one more thing: because it is very crucial to make videomail-client work on all browsers, I cannot emphasize enough how important it is to have [Browserstack](https://www.browserstack.com/) - for instant, live end-to-end tests on any browser or mobile device. Thanks guys!
421
-
422
417
  ### Code quality
423
418
 
424
419
  I admit, code isn't top notch and needs lots of rewrites. Believe me or not, I already rewrote about three times in the last four years. Good example that software hardly can be perfect. And since I am already honest here, I think stability and bug fixes come first before perfection otherwise you'll loose users. Reality you know.
@@ -0,0 +1,5 @@
1
+ {
2
+ "onlyChanged": true,
3
+ "projectId": "Project:66fdd7378c034161818e3c8c",
4
+ "zip": true
5
+ }
@@ -0,0 +1,31 @@
1
+ import { defineConfig } from "@rsbuild/core";
2
+ import { pluginNodePolyfill } from "@rsbuild/plugin-node-polyfill";
3
+ import { pluginStylus } from "@rsbuild/plugin-stylus";
4
+
5
+ import { tsEntry } from "./paths";
6
+ import { NodeEnvType } from "../../src/types/env";
7
+ import isProductionMode from "../../src/util/isProductionMode";
8
+
9
+ export default defineConfig({
10
+ mode: isProductionMode() ? NodeEnvType.PRODUCTION : NodeEnvType.DEVELOPMENT,
11
+ output: {
12
+ target: "web",
13
+ filenameHash: false,
14
+ injectStyles: true,
15
+ legalComments: "none",
16
+ },
17
+ source: {
18
+ entry: {
19
+ index: tsEntry,
20
+ },
21
+ },
22
+ plugins: [pluginStylus(), pluginNodePolyfill()],
23
+ tools: {
24
+ htmlPlugin: false,
25
+ },
26
+ performance: {
27
+ chunkSplit: {
28
+ strategy: "all-in-one",
29
+ },
30
+ },
31
+ });
@@ -0,0 +1,11 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+
4
+ const rootDir = fs.realpathSync(process.cwd());
5
+
6
+ const resolvePath = (relativePath: string) => path.resolve(rootDir, relativePath);
7
+
8
+ const srcDir = resolvePath("src");
9
+ const tsEntry = resolvePath(path.join(srcDir, "index.ts"));
10
+
11
+ export { tsEntry };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "videomail-client",
3
- "version": "9.4.2",
3
+ "version": "9.5.1",
4
4
  "description": "A wicked npm package to record videos directly in the browser, wohooo!",
5
5
  "keywords": [
6
6
  "webcam",
@@ -16907,7 +16907,7 @@ function wrappy (fn, cb) {
16907
16907
  },{}],112:[function(_dereq_,module,exports){
16908
16908
  module.exports={
16909
16909
  "name": "videomail-client",
16910
- "version": "9.4.2",
16910
+ "version": "9.5.1",
16911
16911
  "description": "A wicked npm package to record videos directly in the browser, wohooo!",
16912
16912
  "keywords": [
16913
16913
  "webcam",
@@ -17190,7 +17190,7 @@ Object.keys(_constants.default.public).forEach(function (name) {
17190
17190
  VideomailClient.Events = _events.default;
17191
17191
  var _default = exports.default = VideomailClient;
17192
17192
 
17193
- },{"./constants":114,"./events":115,"./options":116,"./resource":117,"./util/addOptionsFunctions":118,"./util/browser":120,"./util/collectLogger":121,"./util/eventEmitter":122,"./wrappers/container":129,"@babel/runtime/helpers/interopRequireDefault":4,"deepmerge":28,"inherits":66}],114:[function(_dereq_,module,exports){
17193
+ },{"./constants":114,"./events":115,"./options":116,"./resource":117,"./util/addOptionsFunctions":119,"./util/browser":121,"./util/collectLogger":122,"./util/eventEmitter":123,"./wrappers/container":130,"@babel/runtime/helpers/interopRequireDefault":4,"deepmerge":28,"inherits":66}],114:[function(_dereq_,module,exports){
17194
17194
  "use strict";
17195
17195
 
17196
17196
  Object.defineProperty(exports, "__esModule", {
@@ -17313,7 +17313,7 @@ Object.defineProperty(exports, "__esModule", {
17313
17313
  value: true
17314
17314
  });
17315
17315
  exports.default = void 0;
17316
- var _package = _dereq_("../../package.json");
17316
+ var _package = _dereq_("../package.json");
17317
17317
  var _addOptionsFunctions = _interopRequireDefault(_dereq_("./util/addOptionsFunctions"));
17318
17318
  var PRODUCTION = process.env.NODE_ENV === "production";
17319
17319
  var options = {
@@ -17516,7 +17516,7 @@ var optionsWithFunctions = (0, _addOptionsFunctions.default)(options);
17516
17516
  var _default = exports.default = optionsWithFunctions;
17517
17517
 
17518
17518
  }).call(this)}).call(this,_dereq_('_process'))
17519
- },{"../../package.json":112,"./util/addOptionsFunctions":118,"@babel/runtime/helpers/interopRequireDefault":4,"_process":75}],117:[function(_dereq_,module,exports){
17519
+ },{"../package.json":112,"./util/addOptionsFunctions":119,"@babel/runtime/helpers/interopRequireDefault":4,"_process":75}],117:[function(_dereq_,module,exports){
17520
17520
  "use strict";
17521
17521
 
17522
17522
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -17679,6 +17679,11 @@ function _default(options) {
17679
17679
  },{"./constants":114,"@babel/runtime/helpers/interopRequireDefault":4,"superagent":100}],118:[function(_dereq_,module,exports){
17680
17680
  "use strict";
17681
17681
 
17682
+ 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}}.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)}';
17683
+
17684
+ },{}],119:[function(_dereq_,module,exports){
17685
+ "use strict";
17686
+
17682
17687
  Object.defineProperty(exports, "__esModule", {
17683
17688
  value: true
17684
17689
  });
@@ -17731,7 +17736,7 @@ function addOptionsFunctions(options) {
17731
17736
  }
17732
17737
  var _default = exports.default = addOptionsFunctions;
17733
17738
 
17734
- },{}],119:[function(_dereq_,module,exports){
17739
+ },{}],120:[function(_dereq_,module,exports){
17735
17740
  "use strict";
17736
17741
 
17737
17742
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -17864,7 +17869,7 @@ function _default(userMedia, options) {
17864
17869
  };
17865
17870
  }
17866
17871
 
17867
- },{"./browser":120,"./videomailError":127,"@babel/runtime/helpers/interopRequireDefault":4,"audio-sample":14,"is-power-of-two":68}],120:[function(_dereq_,module,exports){
17872
+ },{"./browser":121,"./videomailError":128,"@babel/runtime/helpers/interopRequireDefault":4,"audio-sample":14,"is-power-of-two":68}],121:[function(_dereq_,module,exports){
17868
17873
  "use strict";
17869
17874
 
17870
17875
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -18091,7 +18096,7 @@ var Browser = function Browser(options) {
18091
18096
  };
18092
18097
  var _default = exports.default = Browser;
18093
18098
 
18094
- },{"./videomailError":127,"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/typeof":10,"defined":30,"ua-parser-js":106}],121:[function(_dereq_,module,exports){
18099
+ },{"./videomailError":128,"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/typeof":10,"defined":30,"ua-parser-js":106}],122:[function(_dereq_,module,exports){
18095
18100
  "use strict";
18096
18101
 
18097
18102
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -18159,7 +18164,7 @@ function _default() {
18159
18164
  };
18160
18165
  }
18161
18166
 
18162
- },{"./browser":120,"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/toConsumableArray":7,"format-util":47}],122:[function(_dereq_,module,exports){
18167
+ },{"./browser":121,"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/toConsumableArray":7,"format-util":47}],123:[function(_dereq_,module,exports){
18163
18168
  "use strict";
18164
18169
 
18165
18170
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -18226,7 +18231,7 @@ function _default(options, name) {
18226
18231
  };
18227
18232
  }
18228
18233
 
18229
- },{"./../events":115,"./videomailError":127,"@babel/runtime/helpers/interopRequireDefault":4,"despot":31,"safe-json-stringify":95}],123:[function(_dereq_,module,exports){
18234
+ },{"./../events":115,"./videomailError":128,"@babel/runtime/helpers/interopRequireDefault":4,"despot":31,"safe-json-stringify":95}],124:[function(_dereq_,module,exports){
18230
18235
  "use strict";
18231
18236
 
18232
18237
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -18248,7 +18253,7 @@ var _default = exports.default = {
18248
18253
  }
18249
18254
  };
18250
18255
 
18251
- },{"@babel/runtime/helpers/interopRequireDefault":4,"filesize":46,"humanize-duration":62}],124:[function(_dereq_,module,exports){
18256
+ },{"@babel/runtime/helpers/interopRequireDefault":4,"filesize":46,"humanize-duration":62}],125:[function(_dereq_,module,exports){
18252
18257
  "use strict";
18253
18258
 
18254
18259
  Object.defineProperty(exports, "__esModule", {
@@ -18385,7 +18390,7 @@ var _default = exports.default = [
18385
18390
  * 'timeupdate'
18386
18391
  */];
18387
18392
 
18388
- },{}],125:[function(_dereq_,module,exports){
18393
+ },{}],126:[function(_dereq_,module,exports){
18389
18394
  "use strict";
18390
18395
 
18391
18396
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -18453,7 +18458,7 @@ function _default(anything, options) {
18453
18458
  return anything.toString();
18454
18459
  }
18455
18460
 
18456
- },{"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/typeof":10,"safe-json-stringify":95}],126:[function(_dereq_,module,exports){
18461
+ },{"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/typeof":10,"safe-json-stringify":95}],127:[function(_dereq_,module,exports){
18457
18462
  "use strict";
18458
18463
 
18459
18464
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -18510,7 +18515,7 @@ function _default() {
18510
18515
  }
18511
18516
  }
18512
18517
 
18513
- },{"@babel/runtime/helpers/interopRequireDefault":4,"classlist.js":23,"request-frame":93}],127:[function(_dereq_,module,exports){
18518
+ },{"@babel/runtime/helpers/interopRequireDefault":4,"classlist.js":23,"request-frame":93}],128:[function(_dereq_,module,exports){
18514
18519
  (function (global){(function (){
18515
18520
  "use strict";
18516
18521
 
@@ -18903,7 +18908,7 @@ VideomailError.create = function (err, explanation, options, parameters) {
18903
18908
  var _default = exports.default = VideomailError;
18904
18909
 
18905
18910
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
18906
- },{"./../resource":117,"./browser":120,"./pretty":125,"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/typeof":10,"create-error":27,"safe-json-stringify":95}],128:[function(_dereq_,module,exports){
18911
+ },{"./../resource":117,"./browser":121,"./pretty":126,"@babel/runtime/helpers/interopRequireDefault":4,"@babel/runtime/helpers/typeof":10,"create-error":27,"safe-json-stringify":95}],129:[function(_dereq_,module,exports){
18907
18912
  "use strict";
18908
18913
 
18909
18914
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -19429,7 +19434,7 @@ var Buttons = function Buttons(container, options) {
19429
19434
  (0, _inherits.default)(Buttons, _eventEmitter.default);
19430
19435
  var _default = exports.default = Buttons;
19431
19436
 
19432
- },{"../events":115,"../util/eventEmitter":122,"@babel/runtime/helpers/interopRequireDefault":4,"contains":25,"hidden":61,"hyperscript":63,"inherits":66}],129:[function(_dereq_,module,exports){
19437
+ },{"../events":115,"../util/eventEmitter":123,"@babel/runtime/helpers/interopRequireDefault":4,"contains":25,"hidden":61,"hyperscript":63,"inherits":66}],130:[function(_dereq_,module,exports){
19433
19438
  "use strict";
19434
19439
 
19435
19440
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -19443,7 +19448,7 @@ var _hidden = _interopRequireDefault(_dereq_("hidden"));
19443
19448
  var _insertCss = _interopRequireDefault(_dereq_("insert-css"));
19444
19449
  var _safeJsonStringify = _interopRequireDefault(_dereq_("safe-json-stringify"));
19445
19450
  var _inherits = _interopRequireDefault(_dereq_("inherits"));
19446
- var _mainMinCss = _interopRequireDefault(_dereq_("../../styles/css/main.min.css.js"));
19451
+ var _mainMinCss = _interopRequireDefault(_dereq_("../styles/css/main.min.css.js"));
19447
19452
  var _events = _interopRequireDefault(_dereq_("../events"));
19448
19453
  var _resource = _interopRequireDefault(_dereq_("../resource"));
19449
19454
  var _eventEmitter = _interopRequireDefault(_dereq_("../util/eventEmitter"));
@@ -20143,7 +20148,7 @@ var Container = function Container(options) {
20143
20148
  (0, _inherits.default)(Container, _eventEmitter.default);
20144
20149
  var _default = exports.default = Container;
20145
20150
 
20146
- },{"../../styles/css/main.min.css.js":144,"../events":115,"../resource":117,"../util/eventEmitter":122,"../util/videomailError":127,"./buttons":128,"./dimension":130,"./form":131,"./optionsWrapper":132,"./visuals":133,"@babel/runtime/helpers/defineProperty":3,"@babel/runtime/helpers/interopRequireDefault":4,"document-visibility":32,"hidden":61,"inherits":66,"insert-css":67,"safe-json-stringify":95}],130:[function(_dereq_,module,exports){
20151
+ },{"../events":115,"../resource":117,"../styles/css/main.min.css.js":118,"../util/eventEmitter":123,"../util/videomailError":128,"./buttons":129,"./dimension":131,"./form":132,"./optionsWrapper":133,"./visuals":134,"@babel/runtime/helpers/defineProperty":3,"@babel/runtime/helpers/interopRequireDefault":4,"document-visibility":32,"hidden":61,"inherits":66,"insert-css":67,"safe-json-stringify":95}],131:[function(_dereq_,module,exports){
20147
20152
  "use strict";
20148
20153
 
20149
20154
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -20259,7 +20264,7 @@ var _default = exports.default = {
20259
20264
  }
20260
20265
  };
20261
20266
 
20262
- },{"./../util/videomailError":127,"@babel/runtime/helpers/interopRequireDefault":4}],131:[function(_dereq_,module,exports){
20267
+ },{"./../util/videomailError":128,"@babel/runtime/helpers/interopRequireDefault":4}],132:[function(_dereq_,module,exports){
20263
20268
  "use strict";
20264
20269
 
20265
20270
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -20542,7 +20547,7 @@ var Form = function Form(container, formElement, options) {
20542
20547
  (0, _inherits.default)(Form, _eventEmitter.default);
20543
20548
  var _default = exports.default = Form;
20544
20549
 
20545
- },{"../events":115,"../util/eventEmitter":122,"../util/videomailError":127,"@babel/runtime/helpers/interopRequireDefault":4,"get-form-data":50,"hidden":61,"hyperscript":63,"inherits":66,"safe-json-stringify":95}],132:[function(_dereq_,module,exports){
20550
+ },{"../events":115,"../util/eventEmitter":123,"../util/videomailError":128,"@babel/runtime/helpers/interopRequireDefault":4,"get-form-data":50,"hidden":61,"hyperscript":63,"inherits":66,"safe-json-stringify":95}],133:[function(_dereq_,module,exports){
20546
20551
  "use strict";
20547
20552
 
20548
20553
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -20569,7 +20574,7 @@ var _default = exports.default = {
20569
20574
  }
20570
20575
  };
20571
20576
 
20572
- },{"@babel/runtime/helpers/interopRequireDefault":4,"deepmerge":28}],133:[function(_dereq_,module,exports){
20577
+ },{"@babel/runtime/helpers/interopRequireDefault":4,"deepmerge":28}],134:[function(_dereq_,module,exports){
20573
20578
  "use strict";
20574
20579
 
20575
20580
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -20913,7 +20918,7 @@ var Visuals = function Visuals(container, options) {
20913
20918
  (0, _inherits.default)(Visuals, _eventEmitter.default);
20914
20919
  var _default = exports.default = Visuals;
20915
20920
 
20916
- },{"../events":115,"../util/eventEmitter":122,"./visuals/inside/recorderInsides":139,"./visuals/notifier":140,"./visuals/recorder":141,"./visuals/replay":142,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63,"inherits":66,"safe-json-stringify":95}],134:[function(_dereq_,module,exports){
20921
+ },{"../events":115,"../util/eventEmitter":123,"./visuals/inside/recorderInsides":140,"./visuals/notifier":141,"./visuals/recorder":142,"./visuals/replay":143,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63,"inherits":66,"safe-json-stringify":95}],135:[function(_dereq_,module,exports){
20917
20922
  "use strict";
20918
20923
 
20919
20924
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -20987,7 +20992,7 @@ function _default(visuals, options) {
20987
20992
  };
20988
20993
  }
20989
20994
 
20990
- },{"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],135:[function(_dereq_,module,exports){
20995
+ },{"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],136:[function(_dereq_,module,exports){
20991
20996
  "use strict";
20992
20997
 
20993
20998
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -21036,7 +21041,7 @@ function _default(visuals, options) {
21036
21041
  };
21037
21042
  }
21038
21043
 
21039
- },{"./../../../../events":115,"./../../../../util/eventEmitter":122,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],136:[function(_dereq_,module,exports){
21044
+ },{"./../../../../events":115,"./../../../../util/eventEmitter":123,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],137:[function(_dereq_,module,exports){
21040
21045
  "use strict";
21041
21046
 
21042
21047
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -21089,7 +21094,7 @@ function _default(visuals, options) {
21089
21094
  };
21090
21095
  }
21091
21096
 
21092
- },{"./../../../../util/videomailError":127,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],137:[function(_dereq_,module,exports){
21097
+ },{"./../../../../util/videomailError":128,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],138:[function(_dereq_,module,exports){
21093
21098
  "use strict";
21094
21099
 
21095
21100
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -21130,7 +21135,7 @@ function _default(visuals) {
21130
21135
  };
21131
21136
  }
21132
21137
 
21133
- },{"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],138:[function(_dereq_,module,exports){
21138
+ },{"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],139:[function(_dereq_,module,exports){
21134
21139
  "use strict";
21135
21140
 
21136
21141
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -21250,7 +21255,7 @@ function _default(visuals, recordNote, options) {
21250
21255
  };
21251
21256
  }
21252
21257
 
21253
- },{"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],139:[function(_dereq_,module,exports){
21258
+ },{"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63}],140:[function(_dereq_,module,exports){
21254
21259
  "use strict";
21255
21260
 
21256
21261
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -21364,7 +21369,7 @@ var RecorderInsides = function RecorderInsides(visuals, options) {
21364
21369
  (0, _inherits.default)(RecorderInsides, _eventEmitter.default);
21365
21370
  var _default = exports.default = RecorderInsides;
21366
21371
 
21367
- },{"./../../../events":115,"./../../../util/browser":120,"./../../../util/eventEmitter":122,"./recorder/countdown":134,"./recorder/facingMode":135,"./recorder/pausedNote":136,"./recorder/recordNote":137,"./recorder/recordTimer":138,"@babel/runtime/helpers/interopRequireDefault":4,"inherits":66}],140:[function(_dereq_,module,exports){
21372
+ },{"./../../../events":115,"./../../../util/browser":121,"./../../../util/eventEmitter":123,"./recorder/countdown":135,"./recorder/facingMode":136,"./recorder/pausedNote":137,"./recorder/recordNote":138,"./recorder/recordTimer":139,"@babel/runtime/helpers/interopRequireDefault":4,"inherits":66}],141:[function(_dereq_,module,exports){
21368
21373
  "use strict";
21369
21374
 
21370
21375
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -21645,7 +21650,7 @@ var Notifier = function Notifier(visuals, options) {
21645
21650
  (0, _inherits.default)(Notifier, _eventEmitter.default);
21646
21651
  var _default = exports.default = Notifier;
21647
21652
 
21648
- },{"../../events":115,"../../util/eventEmitter":122,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63,"inherits":66}],141:[function(_dereq_,module,exports){
21653
+ },{"../../events":115,"../../util/eventEmitter":123,"@babel/runtime/helpers/interopRequireDefault":4,"hidden":61,"hyperscript":63,"inherits":66}],142:[function(_dereq_,module,exports){
21649
21654
  (function (Buffer){(function (){
21650
21655
  "use strict";
21651
21656
 
@@ -22809,7 +22814,7 @@ var Recorder = function Recorder(visuals, replay) {
22809
22814
  var _default = exports.default = Recorder;
22810
22815
 
22811
22816
  }).call(this)}).call(this,_dereq_("buffer").Buffer)
22812
- },{"../../constants":114,"../../events":115,"../../util/browser":120,"../../util/eventEmitter":122,"../../util/humanize":123,"../../util/pretty":125,"../../util/videomailError":127,"./userMedia":143,"@babel/runtime/helpers/interopRequireDefault":4,"animitter":13,"buffer":18,"canvas-to-buffer":21,"deepmerge":28,"hidden":61,"hyperscript":63,"inherits":66,"safe-json-stringify":95,"websocket-stream":109}],142:[function(_dereq_,module,exports){
22817
+ },{"../../constants":114,"../../events":115,"../../util/browser":121,"../../util/eventEmitter":123,"../../util/humanize":124,"../../util/pretty":126,"../../util/videomailError":128,"./userMedia":144,"@babel/runtime/helpers/interopRequireDefault":4,"animitter":13,"buffer":18,"canvas-to-buffer":21,"deepmerge":28,"hidden":61,"hyperscript":63,"inherits":66,"safe-json-stringify":95,"websocket-stream":109}],143:[function(_dereq_,module,exports){
22813
22818
  "use strict";
22814
22819
 
22815
22820
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -22841,15 +22846,24 @@ var Replay = function Replay(parentElement, options) {
22841
22846
  throw new Error("No replay parent element container with ID ".concat(replayParentElement, " found."));
22842
22847
  }
22843
22848
  }
22844
- replayParentElement.appendChild(replayElement);
22849
+ var videoSelector = "video.".concat(options.selectors.replayClass);
22850
+ replayElement = replayParentElement.querySelector(videoSelector);
22851
+
22852
+ // If none exists, create one then
22853
+ if (!replayElement) {
22854
+ replayElement = (0, _hyperscript.default)(videoSelector);
22855
+ replayParentElement.appendChild(replayElement);
22856
+ }
22845
22857
  }
22858
+
22859
+ // Questionable, does not make sense
22846
22860
  function isStandalone() {
22847
22861
  return parentElement.constructor.name === "HTMLDivElement";
22848
22862
  }
22849
22863
  function copyAttributes(newVideomail) {
22850
22864
  var attributeContainer;
22851
22865
  Object.keys(newVideomail).forEach(function (attribute) {
22852
- attributeContainer = parentElement.querySelector(".".concat(attribute));
22866
+ attributeContainer = replayElement.parentNode.querySelector(".".concat(attribute));
22853
22867
  if (attributeContainer) {
22854
22868
  var empty = !attributeContainer.innerHTML || attributeContainer.innerHTML.length < 1;
22855
22869
 
@@ -22885,6 +22899,7 @@ var Replay = function Replay(parentElement, options) {
22885
22899
  }
22886
22900
  }
22887
22901
  this.setVideomail = function (newVideomail) {
22902
+ var playerOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
22888
22903
  videomail = newVideomail;
22889
22904
  if (videomail) {
22890
22905
  if (videomail.mp4) {
@@ -22901,10 +22916,13 @@ var Replay = function Replay(parentElement, options) {
22901
22916
  }
22902
22917
  copyAttributes(videomail);
22903
22918
  }
22919
+ var width = videomail && videomail.width;
22920
+ var height = videomail && videomail.height;
22904
22921
  var hasAudio = videomail && videomail.recordingStats && videomail.recordingStats.sampleRate > 0;
22905
- this.show(videomail && videomail.width, videomail && videomail.height, hasAudio);
22922
+ this.show(width, height, hasAudio, playerOnly);
22906
22923
  };
22907
22924
  this.show = function (recorderWidth, recorderHeight, hasAudio) {
22925
+ var playerOnly = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
22908
22926
  if (!replayElement) {
22909
22927
  return;
22910
22928
  }
@@ -22912,7 +22930,7 @@ var Replay = function Replay(parentElement, options) {
22912
22930
  // Skip, already shown
22913
22931
  return;
22914
22932
  }
22915
- debug("Replay: show()");
22933
+ debug("Replay: show(playerOnly=".concat(playerOnly, ")"));
22916
22934
  if (videomail) {
22917
22935
  correctDimensions({
22918
22936
  responsive: true,
@@ -22922,9 +22940,10 @@ var Replay = function Replay(parentElement, options) {
22922
22940
  });
22923
22941
  }
22924
22942
  (0, _hidden.default)(replayElement, false);
22925
-
22926
- // parent element can be any object, be careful!
22927
- if (parentElement) {
22943
+ if (playerOnly) {
22944
+ (0, _hidden.default)(replayElement.parentNode, false);
22945
+ } else if (parentElement) {
22946
+ // parent element can be any object, be careful!
22928
22947
  if (parentElement.style) {
22929
22948
  (0, _hidden.default)(parentElement, false);
22930
22949
  } else if (parentElement.show) {
@@ -22958,7 +22977,7 @@ var Replay = function Replay(parentElement, options) {
22958
22977
  }
22959
22978
  };
22960
22979
  this.build = function (replayParentElement) {
22961
- debug("Replay: build (".concat(replayParentElement ? "replayParentElement=\"".concat(replayParentElement, "\"") : "", ")"));
22980
+ debug("Replay: build (".concat(replayParentElement ? "replayParentElement=\"".concat(replayParentElement.id, "\"") : "", ")"));
22962
22981
  replayElement = parentElement.querySelector("video.".concat(options.selectors.replayClass));
22963
22982
  if (!replayElement) {
22964
22983
  buildElement(replayParentElement);
@@ -23143,27 +23162,38 @@ var Replay = function Replay(parentElement, options) {
23143
23162
  self.setMp4Source(null);
23144
23163
  self.setWebMSource(null);
23145
23164
  }
23165
+ videomail = undefined;
23146
23166
  cb && cb();
23147
23167
  });
23148
23168
  };
23149
23169
  this.hide = function () {
23150
23170
  if (isStandalone()) {
23151
23171
  (0, _hidden.default)(parentElement, true);
23152
- } else {
23153
- replayElement && (0, _hidden.default)(replayElement, true);
23172
+ } else if (replayElement) {
23173
+ (0, _hidden.default)(replayElement, true);
23174
+ (0, _hidden.default)(replayElement.parentNode, true);
23154
23175
  }
23155
23176
  };
23156
23177
  this.isShown = function () {
23157
- return replayElement && !(0, _hidden.default)(replayElement);
23178
+ if (!replayElement) {
23179
+ return false;
23180
+ }
23181
+ if (!parentElement) {
23182
+ return false;
23183
+ }
23184
+ return !(0, _hidden.default)(replayElement) && !parentElement.isHidden();
23158
23185
  };
23159
23186
  this.getParentElement = function () {
23160
23187
  return parentElement;
23161
23188
  };
23189
+ this.getElement = function () {
23190
+ return replayElement;
23191
+ };
23162
23192
  };
23163
23193
  (0, _inherits.default)(Replay, _eventEmitter.default);
23164
23194
  var _default = exports.default = Replay;
23165
23195
 
23166
- },{"../../events":115,"../../util/browser":120,"../../util/eventEmitter":122,"@babel/runtime/helpers/interopRequireDefault":4,"add-eventlistener-with-options":12,"hidden":61,"hyperscript":63,"inherits":66}],143:[function(_dereq_,module,exports){
23196
+ },{"../../events":115,"../../util/browser":121,"../../util/eventEmitter":123,"@babel/runtime/helpers/interopRequireDefault":4,"add-eventlistener-with-options":12,"hidden":61,"hyperscript":63,"inherits":66}],144:[function(_dereq_,module,exports){
23167
23197
  "use strict";
23168
23198
 
23169
23199
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -23578,12 +23608,7 @@ function _default(recorder, options) {
23578
23608
  };
23579
23609
  }
23580
23610
 
23581
- },{"./../../events":115,"./../../util/audioRecorder":119,"./../../util/browser":120,"./../../util/eventEmitter":122,"./../../util/mediaEvents":124,"./../../util/pretty":125,"./../../util/videomailError":127,"@babel/runtime/helpers/interopRequireDefault":4,"hyperscript":63,"safe-json-stringify":95}],144:[function(_dereq_,module,exports){
23582
- "use strict";
23583
-
23584
- 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}}.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)}';
23585
-
23586
- },{}],"videomail-client":[function(_dereq_,module,exports){
23611
+ },{"./../../events":115,"./../../util/audioRecorder":120,"./../../util/browser":121,"./../../util/eventEmitter":123,"./../../util/mediaEvents":125,"./../../util/pretty":126,"./../../util/videomailError":128,"@babel/runtime/helpers/interopRequireDefault":4,"hyperscript":63,"safe-json-stringify":95}],"videomail-client":[function(_dereq_,module,exports){
23587
23612
  "use strict";
23588
23613
 
23589
23614
  var _interopRequireDefault = _dereq_("@babel/runtime/helpers/interopRequireDefault");
@@ -23597,5 +23622,5 @@ var _standardize = _interopRequireDefault(_dereq_("./util/standardize"));
23597
23622
  (0, _standardize.default)(window, navigator);
23598
23623
  var _default = exports.default = _client.default;
23599
23624
 
23600
- },{"./client":113,"./util/standardize":126,"@babel/runtime/helpers/interopRequireDefault":4}]},{},["videomail-client"])("videomail-client")
23625
+ },{"./client":113,"./util/standardize":127,"@babel/runtime/helpers/interopRequireDefault":4}]},{},["videomail-client"])("videomail-client")
23601
23626
  });