videomail-client 13.15.5 → 14.0.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/dist/umd/index.js CHANGED
@@ -153,7 +153,10 @@
153
153
  `,
154
154
  ""
155
155
  ]);
156
- __webpack_exports__.A = ___CSS_LOADER_EXPORT___;
156
+ const __rspack_default_export = ___CSS_LOADER_EXPORT___;
157
+ __webpack_require__.d(__webpack_exports__, {}, {
158
+ A: __rspack_default_export
159
+ });
157
160
  },
158
161
  8824 (module1, exports1, __webpack_require__) {
159
162
  var EventEmitter = __webpack_require__(7007).EventEmitter, inherits = __webpack_require__(6698), raf = __webpack_require__(3146), methods;
@@ -10629,7 +10632,7 @@
10629
10632
  WebM: "webm",
10630
10633
  MP4: "mp4"
10631
10634
  };
10632
- var constants = {
10635
+ const constants = {
10633
10636
  WHITELIST_KEY_LABEL: "x-videomail-whitelist-key",
10634
10637
  VERSION_LABEL: "videomailClientVersion",
10635
10638
  public: {
@@ -10879,7 +10882,7 @@
10879
10882
  var client = __webpack_require__(5734);
10880
10883
  var client_default = /*#__PURE__*/ __webpack_require__.n(client);
10881
10884
  var package_namespaceObject = {
10882
- rE: "13.15.5"
10885
+ rE: "14.0.0"
10883
10886
  };
10884
10887
  function isAudioEnabled(options) {
10885
10888
  return Boolean(options.audio.enabled);
@@ -10909,7 +10912,7 @@
10909
10912
  }
10910
10913
  return inspect(anything);
10911
10914
  }
10912
- var util_pretty = pretty;
10915
+ const util_pretty = pretty;
10913
10916
  var defined = __webpack_require__(8766);
10914
10917
  var defined_default = /*#__PURE__*/ __webpack_require__.n(defined);
10915
10918
  var LIBVERSION = '2.0.10', UA_MAX_LENGTH = 500, USER_AGENT = 'user-agent', EMPTY = '', UNKNOWN = '?', TYPEOF = {
@@ -14176,7 +14179,7 @@
14176
14179
  if ("" === canPlayType) return false;
14177
14180
  return canPlayType;
14178
14181
  }
14179
- var media_canPlayType = canPlayType_canPlayType;
14182
+ const media_canPlayType = canPlayType_canPlayType;
14180
14183
  const FALLBACK_VIDEO_TYPE = VideoType.MP4;
14181
14184
  class Browser {
14182
14185
  options;
@@ -14253,20 +14256,20 @@
14253
14256
  return data;
14254
14257
  }
14255
14258
  }
14256
- var util_Browser = Browser;
14259
+ const util_Browser = Browser;
14257
14260
  let getBrowser_browser;
14258
14261
  function getBrowser(localOptions) {
14259
14262
  if (!getBrowser_browser) getBrowser_browser = new util_Browser(localOptions);
14260
14263
  return getBrowser_browser;
14261
14264
  }
14262
- var util_getBrowser = getBrowser;
14265
+ const util_getBrowser = getBrowser;
14263
14266
  class HTTPVideomailError extends Error {
14264
14267
  name = "VideomailError";
14265
14268
  code;
14266
14269
  status;
14267
14270
  explanation;
14268
14271
  }
14269
- var error_HTTPVideomailError = HTTPVideomailError;
14272
+ const error_HTTPVideomailError = HTTPVideomailError;
14270
14273
  class VideomailError extends error_HTTPVideomailError {
14271
14274
  title = "Error from videomail-client npm package";
14272
14275
  location = window.location.href;
@@ -14334,7 +14337,7 @@
14334
14337
  return this.classList;
14335
14338
  }
14336
14339
  }
14337
- var error_VideomailError = VideomailError;
14340
+ const error_VideomailError = VideomailError;
14338
14341
  function createError(errorParams) {
14339
14342
  const { exc, options } = errorParams;
14340
14343
  let err = errorParams.err;
@@ -14467,7 +14470,7 @@
14467
14470
  }
14468
14471
  return videomailError;
14469
14472
  }
14470
- var error_createError = createError;
14473
+ const error_createError = createError;
14471
14474
  function findOriginalExc(exc) {
14472
14475
  if (exc instanceof Error && "response" in exc) {
14473
14476
  const response = exc.response;
@@ -14488,7 +14491,7 @@
14488
14491
  }
14489
14492
  return exc;
14490
14493
  }
14491
- var error_findOriginalExc = findOriginalExc;
14494
+ const error_findOriginalExc = findOriginalExc;
14492
14495
  function _extends() {
14493
14496
  _extends = Object.assign || function(target) {
14494
14497
  for(var i = 1; i < arguments.length; i++){
@@ -14647,26 +14650,26 @@
14647
14650
  Despot.EMITTER.events = {};
14648
14651
  }
14649
14652
  }
14650
- var util_Despot = Despot;
14653
+ const util_Despot = Despot;
14651
14654
  function getValidity(element) {
14652
14655
  const validity = "validity" in element ? element.validity : void 0;
14653
14656
  return validity;
14654
14657
  }
14655
- var util_getValidity = getValidity;
14658
+ const util_getValidity = getValidity;
14656
14659
  function hideElement(element) {
14657
14660
  if (!element) return;
14658
14661
  element.style.setProperty("display", "none", "important");
14659
14662
  }
14660
- var html_hideElement = hideElement;
14663
+ const html_hideElement = hideElement;
14661
14664
  function isNotButton(element) {
14662
14665
  return "BUTTON" !== element.tagName && "submit" !== element.getAttribute("type");
14663
14666
  }
14664
- var html_isNotButton = isNotButton;
14667
+ const html_isNotButton = isNotButton;
14665
14668
  function showElement(element) {
14666
14669
  if (!element) return;
14667
14670
  element.style.removeProperty("display");
14668
14671
  }
14669
- var html_showElement = showElement;
14672
+ const html_showElement = showElement;
14670
14673
  const REGEX = /[ ,]+/u;
14671
14674
  function trimEmail(email) {
14672
14675
  return email.replace(REGEX, "");
@@ -14925,7 +14928,7 @@
14925
14928
  html_showElement(this.formElement);
14926
14929
  }
14927
14930
  }
14928
- var wrappers_form = Form;
14931
+ const wrappers_form = Form;
14929
14932
  class Resource {
14930
14933
  options;
14931
14934
  timezoneId;
@@ -15086,7 +15089,7 @@
15086
15089
  }
15087
15090
  }
15088
15091
  }
15089
- var src_resource = Resource;
15092
+ const src_resource = Resource;
15090
15093
  var cjs = __webpack_require__(4744);
15091
15094
  var cjs_default = /*#__PURE__*/ __webpack_require__.n(cjs);
15092
15095
  const NodeEnvType = {
@@ -15096,18 +15099,18 @@
15096
15099
  function getNodeEnv() {
15097
15100
  return "production";
15098
15101
  }
15099
- var util_getNodeEnv = getNodeEnv;
15102
+ const util_getNodeEnv = getNodeEnv;
15100
15103
  function isProductionMode() {
15101
15104
  return util_getNodeEnv() === NodeEnvType.PRODUCTION;
15102
15105
  }
15103
- var util_isProductionMode = isProductionMode;
15106
+ const util_isProductionMode = isProductionMode;
15104
15107
  const PRODUCTION = util_isProductionMode();
15105
15108
  const options_options = {
15106
15109
  logger: console,
15107
15110
  logStackSize: 30,
15108
15111
  verbose: !PRODUCTION,
15109
15112
  apiUrl: "https://videomail.io/api",
15110
- socketUrl: "wss://videomail.io",
15113
+ socketUrl: "wss://videomail.io/ws",
15111
15114
  whitelistKey: "videomail-client-demo",
15112
15115
  enablePause: true,
15113
15116
  enableAutoPause: true,
@@ -15220,7 +15223,7 @@
15220
15223
  videomailNinjaFormPlugin: void 0
15221
15224
  }
15222
15225
  };
15223
- var src_options = options_options;
15226
+ const src_options = options_options;
15224
15227
  class CollectLogger {
15225
15228
  browser;
15226
15229
  logger;
@@ -15260,12 +15263,12 @@
15260
15263
  return this.stack;
15261
15264
  }
15262
15265
  }
15263
- var util_CollectLogger = CollectLogger;
15266
+ const util_CollectLogger = CollectLogger;
15264
15267
  var process = __webpack_require__(5606);
15265
15268
  function isTest() {
15266
15269
  return "test" === process.env.ENVIRON;
15267
15270
  }
15268
- var util_isTest = isTest;
15271
+ const util_isTest = isTest;
15269
15272
  function mergeWithDefaultOptions(options = {}) {
15270
15273
  const newOptions = cjs_default()(src_options, options, {
15271
15274
  arrayMerge (_destination, source) {
@@ -15277,7 +15280,7 @@
15277
15280
  if (util_isTest()) newOptions.verbose = false;
15278
15281
  return newOptions;
15279
15282
  }
15280
- var options_mergeWithDefaultOptions = mergeWithDefaultOptions;
15283
+ const options_mergeWithDefaultOptions = mergeWithDefaultOptions;
15281
15284
  var injectStylesIntoStyleTag = __webpack_require__(4860);
15282
15285
  var injectStylesIntoStyleTag_default = /*#__PURE__*/ __webpack_require__.n(injectStylesIntoStyleTag);
15283
15286
  var styleDomAPI = __webpack_require__(7045);
@@ -15314,7 +15317,7 @@
15314
15317
  dimension.value = limitedHeight;
15315
15318
  return dimension;
15316
15319
  }
15317
- var dimensions_limitHeight = limitHeight;
15320
+ const dimensions_limitHeight = limitHeight;
15318
15321
  function getOuterWidth(element) {
15319
15322
  let rect = element.getBoundingClientRect();
15320
15323
  let outerWidth = rect.right - rect.left;
@@ -15324,7 +15327,7 @@
15324
15327
  }
15325
15328
  return outerWidth;
15326
15329
  }
15327
- var dimensions_getOuterWidth = getOuterWidth;
15330
+ const dimensions_getOuterWidth = getOuterWidth;
15328
15331
  function limitWidth(element, options, width) {
15329
15332
  const limitedDimension = {
15330
15333
  unit: "px"
@@ -15339,7 +15342,7 @@
15339
15342
  limitedDimension.value = limitedWidth;
15340
15343
  return limitedDimension;
15341
15344
  }
15342
- var dimensions_limitWidth = limitWidth;
15345
+ const dimensions_limitWidth = limitWidth;
15343
15346
  function useFullWidth(mobileBreakPoint) {
15344
15347
  if (void 0 === mobileBreakPoint) return;
15345
15348
  const viewportWidth = window.innerWidth;
@@ -15351,7 +15354,7 @@
15351
15354
  return dimension;
15352
15355
  }
15353
15356
  }
15354
- var dimensions_useFullWidth = useFullWidth;
15357
+ const dimensions_useFullWidth = useFullWidth;
15355
15358
  var contains = __webpack_require__(808);
15356
15359
  var contains_default = /*#__PURE__*/ __webpack_require__.n(contains);
15357
15360
  function disableElement(element) {
@@ -15359,26 +15362,26 @@
15359
15362
  if ("INPUT" === element.tagName || "BUTTON" === element.tagName) element.setAttribute("disabled", "true");
15360
15363
  else element.classList.add("disabled");
15361
15364
  }
15362
- var html_disableElement = disableElement;
15365
+ const html_disableElement = disableElement;
15363
15366
  function adjustButton(buttonElement, show, type, disabled) {
15364
15367
  if (disabled) html_disableElement(buttonElement);
15365
15368
  if (type) buttonElement.type = type;
15366
15369
  if (!show) html_hideElement(buttonElement);
15367
15370
  return buttonElement;
15368
15371
  }
15369
- var html_adjustButton = adjustButton;
15372
+ const html_adjustButton = adjustButton;
15370
15373
  function enableElement(element) {
15371
15374
  if (!element) return;
15372
15375
  if ("INPUT" === element.tagName || "BUTTON" === element.tagName) element.removeAttribute("disabled");
15373
15376
  else element.classList.remove("disabled");
15374
15377
  }
15375
- var html_enableElement = enableElement;
15378
+ const html_enableElement = enableElement;
15376
15379
  function isShown(element) {
15377
15380
  if (!element) return false;
15378
15381
  const display = element.style.getPropertyValue("display");
15379
15382
  return !display.includes("none");
15380
15383
  }
15381
- var html_isShown = isShown;
15384
+ const html_isShown = isShown;
15382
15385
  class Buttons extends util_Despot {
15383
15386
  container;
15384
15387
  buttonsElement;
@@ -15775,13 +15778,13 @@
15775
15778
  return this.container.isCountingDown();
15776
15779
  }
15777
15780
  }
15778
- var buttons = Buttons;
15781
+ const buttons = Buttons;
15779
15782
  function isHidden(element) {
15780
15783
  if (!element) return true;
15781
15784
  const display = element.style.getPropertyValue("display");
15782
15785
  return display.includes("none");
15783
15786
  }
15784
- var html_isHidden = isHidden;
15787
+ const html_isHidden = isHidden;
15785
15788
  class Countdown {
15786
15789
  visuals;
15787
15790
  options;
@@ -15850,7 +15853,7 @@
15850
15853
  this.unload();
15851
15854
  }
15852
15855
  }
15853
- var countdown = Countdown;
15856
+ const countdown = Countdown;
15854
15857
  class FacingMode extends util_Despot {
15855
15858
  visuals;
15856
15859
  facingModeElement;
@@ -15892,7 +15895,7 @@
15892
15895
  html_showElement(this.facingModeElement);
15893
15896
  }
15894
15897
  }
15895
- var facingMode = FacingMode;
15898
+ const facingMode = FacingMode;
15896
15899
  class PausedNote {
15897
15900
  visuals;
15898
15901
  options;
@@ -15940,7 +15943,7 @@
15940
15943
  html_showElement(this.pausedBlockElement);
15941
15944
  }
15942
15945
  }
15943
- var pausedNote = PausedNote;
15946
+ const pausedNote = PausedNote;
15944
15947
  class RecordNote {
15945
15948
  visuals;
15946
15949
  recordNoteElement;
@@ -15975,13 +15978,13 @@
15975
15978
  html_showElement(this.recordNoteElement);
15976
15979
  }
15977
15980
  }
15978
- var recorder_recordNote = RecordNote;
15981
+ const recorder_recordNote = RecordNote;
15979
15982
  function pad(n) {
15980
15983
  const absNum = Math.abs(n);
15981
15984
  if (absNum < 10) return n < 0 ? `-0${absNum}` : `0${absNum}`;
15982
15985
  return String(n);
15983
15986
  }
15984
- var util_pad = pad;
15987
+ const util_pad = pad;
15985
15988
  class RecordTimer {
15986
15989
  visuals;
15987
15990
  recordNote;
@@ -16099,7 +16102,7 @@
16099
16102
  }
16100
16103
  }
16101
16104
  }
16102
- var recordTimer = RecordTimer;
16105
+ const recordTimer = RecordTimer;
16103
16106
  class RecorderInsides extends util_Despot {
16104
16107
  recordNote;
16105
16108
  recordTimer;
@@ -16202,7 +16205,7 @@
16202
16205
  this.recordTimer.setLimitSeconds(limitSeconds);
16203
16206
  }
16204
16207
  }
16205
- var recorderInsides = RecorderInsides;
16208
+ const recorderInsides = RecorderInsides;
16206
16209
  const NOTIFIER_MESSAGE_ID = "notifierMessage";
16207
16210
  class Notifier extends util_Despot {
16208
16211
  visuals;
@@ -16441,7 +16444,7 @@
16441
16444
  if (!stillWait) this.visuals.endWaiting();
16442
16445
  }
16443
16446
  }
16444
- var notifier = Notifier;
16447
+ const notifier = Notifier;
16445
16448
  var animitter = __webpack_require__(8824);
16446
16449
  var animitter_default = /*#__PURE__*/ __webpack_require__.n(animitter);
16447
16450
  var typedarray_to_buffer = __webpack_require__(4527);
@@ -16583,7 +16586,7 @@
16583
16586
  looksAutomated: automationSignals.looksAutomated
16584
16587
  };
16585
16588
  }
16586
- var error_getWebSocketDiagnostic = getWebSocketDiagnostic;
16589
+ const error_getWebSocketDiagnostic = getWebSocketDiagnostic;
16587
16590
  function figureMinHeight(height, options) {
16588
16591
  let minHeight;
16589
16592
  if (options.video.height) {
@@ -16595,7 +16598,7 @@
16595
16598
  } else minHeight = height;
16596
16599
  return minHeight;
16597
16600
  }
16598
- var dimensions_figureMinHeight = figureMinHeight;
16601
+ const dimensions_figureMinHeight = figureMinHeight;
16599
16602
  function getRatio(options, videoHeight, videoWidth) {
16600
16603
  let ratio = 1;
16601
16604
  const hasVideoDimensions = videoHeight && videoWidth;
@@ -16606,7 +16609,7 @@
16606
16609
  else if (hasVideoDimensions) ratio = videoHeight / videoWidth;
16607
16610
  return ratio;
16608
16611
  }
16609
- var dimensions_getRatio = getRatio;
16612
+ const dimensions_getRatio = getRatio;
16610
16613
  function calculateHeight(responsive, videoWidth, options, ratio, element) {
16611
16614
  const dimension = {
16612
16615
  unit: "px"
@@ -16626,7 +16629,7 @@
16626
16629
  dimension.value = minHeight;
16627
16630
  return dimension;
16628
16631
  }
16629
- var dimensions_calculateHeight = calculateHeight;
16632
+ const dimensions_calculateHeight = calculateHeight;
16630
16633
  function calculateWidth(responsive, options, videoHeight, ratio) {
16631
16634
  const dimension = {
16632
16635
  unit: "px"
@@ -16649,7 +16652,7 @@
16649
16652
  dimension.value = calculatedWidth;
16650
16653
  return dimension;
16651
16654
  }
16652
- var dimensions_calculateWidth = calculateWidth;
16655
+ const dimensions_calculateWidth = calculateWidth;
16653
16656
  class audio_sample_modern_t {
16654
16657
  constructor(r){
16655
16658
  this.float32Array = void 0, this.float32Array = r;
@@ -16747,14 +16750,14 @@
16747
16750
  return -1;
16748
16751
  }
16749
16752
  }
16750
- var media_AudioRecorder = AudioRecorder;
16753
+ const media_AudioRecorder = AudioRecorder;
16751
16754
  function getFirstVideoTrack(localMediaStream) {
16752
16755
  const videoTracks = localMediaStream.getVideoTracks();
16753
16756
  let videoTrack;
16754
16757
  if (videoTracks[0]) videoTrack = videoTracks[0];
16755
16758
  return videoTrack;
16756
16759
  }
16757
- var media_getFirstVideoTrack = getFirstVideoTrack;
16760
+ const media_getFirstVideoTrack = getFirstVideoTrack;
16758
16761
  const MEDIA_EVENTS = [
16759
16762
  "loadstart",
16760
16763
  "suspend",
@@ -16775,7 +16778,7 @@
16775
16778
  "durationchange",
16776
16779
  "volumechange"
16777
16780
  ];
16778
- var mediaEvents = MEDIA_EVENTS;
16781
+ const mediaEvents = MEDIA_EVENTS;
16779
16782
  const VIRTUAL_KEYWORDS = [
16780
16783
  "obs",
16781
16784
  "virtual",
@@ -16789,7 +16792,7 @@
16789
16792
  if (!capabilities.frameRate) return true;
16790
16793
  return VIRTUAL_KEYWORDS.some((keyword)=>videoTrack.label.toLowerCase().includes(keyword));
16791
16794
  }
16792
- var util_isVirtualCamera = isVirtualCamera;
16795
+ const util_isVirtualCamera = isVirtualCamera;
16793
16796
  const EVENT_ASCII = "|—O—|";
16794
16797
  class UserMedia extends util_Despot {
16795
16798
  recorder;
@@ -17091,7 +17094,7 @@
17091
17094
  };
17092
17095
  }
17093
17096
  }
17094
- var visuals_userMedia = UserMedia;
17097
+ const visuals_userMedia = UserMedia;
17095
17098
  var Buffer = __webpack_require__(8287).Buffer;
17096
17099
  const PIPE_SYMBOL = "°º¤ø,¸¸,ø¤º°`°º¤ø,¸,ø¤°º¤ø,¸¸,ø¤º°`°º¤ø,¸ ";
17097
17100
  class Recorder extends util_Despot {
@@ -18114,7 +18117,7 @@
18114
18117
  return this.userMediaLoaded;
18115
18118
  }
18116
18119
  }
18117
- var visuals_recorder = Recorder;
18120
+ const visuals_recorder = Recorder;
18118
18121
  class Replay extends util_Despot {
18119
18122
  visuals;
18120
18123
  built = false;
@@ -18358,7 +18361,7 @@
18358
18361
  return this.replayElement;
18359
18362
  }
18360
18363
  }
18361
- var visuals_replay = Replay;
18364
+ const visuals_replay = Replay;
18362
18365
  class Visuals extends util_Despot {
18363
18366
  container;
18364
18367
  replay;
@@ -18653,7 +18656,7 @@
18653
18656
  return this.visualsElement;
18654
18657
  }
18655
18658
  }
18656
- var wrappers_visuals = Visuals;
18659
+ const wrappers_visuals = Visuals;
18657
18660
  class Container extends util_Despot {
18658
18661
  visibility = document_visibility_default()();
18659
18662
  htmlElement = document.querySelector("html");
@@ -19154,7 +19157,7 @@
19154
19157
  this.visuals.setLimitSeconds(limitSeconds);
19155
19158
  }
19156
19159
  }
19157
- var wrappers_container = Container;
19160
+ const wrappers_container = Container;
19158
19161
  class VideomailClient extends util_Despot {
19159
19162
  container;
19160
19163
  static ENC_TYPE_APP_JSON = constants["public"].ENC_TYPE_APP_JSON;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "videomail-client",
3
- "version": "13.15.5",
3
+ "version": "14.0.0",
4
4
  "description": "A wicked npm package to record videos directly in the browser, for Deaf and Sign Language!",
5
5
  "keywords": [
6
6
  "webcam",
@@ -81,7 +81,7 @@
81
81
  "@rsbuild/plugin-node-polyfill": "1.4.6",
82
82
  "@rsbuild/plugin-stylus": "2.0.1",
83
83
  "@rsdoctor/rspack-plugin": "1.5.17",
84
- "@rslib/core": "0.23.1",
84
+ "@rslib/core": "0.23.2",
85
85
  "@storybook/addon-a11y": "10.4.6",
86
86
  "@storybook/addon-docs": "10.4.6",
87
87
  "@storybook/addon-links": "10.4.6",
@@ -92,9 +92,9 @@
92
92
  "@types/node": "24.12.3",
93
93
  "@types/superagent": "8.1.10",
94
94
  "@types/ua-parser-js": "0.7.39",
95
- "@vitest/eslint-plugin": "1.6.20",
95
+ "@vitest/eslint-plugin": "1.6.21",
96
96
  "audit-ci": "7.1.0",
97
- "chromatic": "17.8.0",
97
+ "chromatic": "18.0.1",
98
98
  "cross-env": "10.1.0",
99
99
  "eslint": "10.6.0",
100
100
  "eslint-import-resolver-typescript": "4.4.5",
@@ -116,10 +116,10 @@
116
116
  "release-it": "20.2.1",
117
117
  "storybook": "10.4.6",
118
118
  "storybook-html-rsbuild": "3.3.4",
119
- "type-fest": "5.7.0",
119
+ "type-fest": "5.8.0",
120
120
  "typescript": "6.0.3",
121
121
  "typescript-eslint": "8.62.1",
122
- "vitest": "4.1.9"
122
+ "vitest": "4.1.10"
123
123
  },
124
124
  "engines": {
125
125
  "node": "^24.15.0",