@myinterview/widget-react 1.1.67-development-9de5afe → 1.1.68-development-a33be59

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/esm/index.js CHANGED
@@ -35031,7 +35031,7 @@ const configGenerator = () => {
35031
35031
  let release;
35032
35032
  try {
35033
35033
  environment !== null && environment !== void 0 ? environment : (environment = "staging");
35034
- release !== null && release !== void 0 ? release : (release = "1.1.67");
35034
+ release !== null && release !== void 0 ? release : (release = "1.1.68");
35035
35035
  }
35036
35036
  catch (_a) {
35037
35037
  console.error('sentry configGenerator error');
@@ -41607,16 +41607,16 @@ const G = getGlobal();
41607
41607
  const FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined;
41608
41608
 
41609
41609
  const isFormData = (thing) => {
41610
- let kind;
41611
- return thing && (
41612
- (FormDataCtor && thing instanceof FormDataCtor) || (
41613
- isFunction$2(thing.append) && (
41614
- (kind = kindOf(thing)) === 'formdata' ||
41615
- // detect form-data instance
41616
- (kind === 'object' && isFunction$2(thing.toString) && thing.toString() === '[object FormData]')
41617
- )
41618
- )
41619
- );
41610
+ if (!thing) return false;
41611
+ if (FormDataCtor && thing instanceof FormDataCtor) return true;
41612
+ // Reject plain objects inheriting directly from Object.prototype so prototype-pollution gadgets can't spoof FormData (GHSA-6chq-wfr3-2hj9).
41613
+ const proto = getPrototypeOf(thing);
41614
+ if (!proto || proto === Object.prototype) return false;
41615
+ if (!isFunction$2(thing.append)) return false;
41616
+ const kind = kindOf(thing);
41617
+ return kind === 'formdata' ||
41618
+ // detect form-data instance
41619
+ (kind === 'object' && isFunction$2(thing.toString) && thing.toString() === '[object FormData]');
41620
41620
  };
41621
41621
 
41622
41622
  /**
@@ -42283,40 +42283,40 @@ class AxiosError extends Error {
42283
42283
  return axiosError;
42284
42284
  }
42285
42285
 
42286
- /**
42287
- * Create an Error with the specified message, config, error code, request and response.
42288
- *
42289
- * @param {string} message The error message.
42290
- * @param {string} [code] The error code (for example, 'ECONNABORTED').
42291
- * @param {Object} [config] The config.
42292
- * @param {Object} [request] The request.
42293
- * @param {Object} [response] The response.
42294
- *
42295
- * @returns {Error} The created error.
42296
- */
42297
- constructor(message, code, config, request, response) {
42298
- super(message);
42299
-
42300
- // Make message enumerable to maintain backward compatibility
42301
- // The native Error constructor sets message as non-enumerable,
42302
- // but axios < v1.13.3 had it as enumerable
42303
- Object.defineProperty(this, 'message', {
42304
- value: message,
42305
- enumerable: true,
42306
- writable: true,
42307
- configurable: true
42308
- });
42309
-
42310
- this.name = 'AxiosError';
42311
- this.isAxiosError = true;
42312
- code && (this.code = code);
42313
- config && (this.config = config);
42314
- request && (this.request = request);
42315
- if (response) {
42316
- this.response = response;
42317
- this.status = response.status;
42318
- }
42286
+ /**
42287
+ * Create an Error with the specified message, config, error code, request and response.
42288
+ *
42289
+ * @param {string} message The error message.
42290
+ * @param {string} [code] The error code (for example, 'ECONNABORTED').
42291
+ * @param {Object} [config] The config.
42292
+ * @param {Object} [request] The request.
42293
+ * @param {Object} [response] The response.
42294
+ *
42295
+ * @returns {Error} The created error.
42296
+ */
42297
+ constructor(message, code, config, request, response) {
42298
+ super(message);
42299
+
42300
+ // Make message enumerable to maintain backward compatibility
42301
+ // The native Error constructor sets message as non-enumerable,
42302
+ // but axios < v1.13.3 had it as enumerable
42303
+ Object.defineProperty(this, 'message', {
42304
+ value: message,
42305
+ enumerable: true,
42306
+ writable: true,
42307
+ configurable: true,
42308
+ });
42309
+
42310
+ this.name = 'AxiosError';
42311
+ this.isAxiosError = true;
42312
+ code && (this.code = code);
42313
+ config && (this.config = config);
42314
+ request && (this.request = request);
42315
+ if (response) {
42316
+ this.response = response;
42317
+ this.status = response.status;
42319
42318
  }
42319
+ }
42320
42320
 
42321
42321
  toJSON() {
42322
42322
  return {
@@ -42352,6 +42352,7 @@ AxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST';
42352
42352
  AxiosError.ERR_CANCELED = 'ERR_CANCELED';
42353
42353
  AxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT';
42354
42354
  AxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL';
42355
+ AxiosError.ERR_FORM_DATA_DEPTH_EXCEEDED = 'ERR_FORM_DATA_DEPTH_EXCEEDED';
42355
42356
 
42356
42357
  // eslint-disable-next-line strict
42357
42358
  var httpAdapter = null;
@@ -42466,6 +42467,7 @@ function toFormData(obj, formData, options) {
42466
42467
  const dots = options.dots;
42467
42468
  const indexes = options.indexes;
42468
42469
  const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob);
42470
+ const maxDepth = options.maxDepth === undefined ? 100 : options.maxDepth;
42469
42471
  const useBlob = _Blob && utils$3.isSpecCompliantForm(formData);
42470
42472
 
42471
42473
  if (!utils$3.isFunction(visitor)) {
@@ -42558,9 +42560,16 @@ function toFormData(obj, formData, options) {
42558
42560
  isVisitable,
42559
42561
  });
42560
42562
 
42561
- function build(value, path) {
42563
+ function build(value, path, depth = 0) {
42562
42564
  if (utils$3.isUndefined(value)) return;
42563
42565
 
42566
+ if (depth > maxDepth) {
42567
+ throw new AxiosError(
42568
+ 'Object is too deeply nested (' + depth + ' levels). Max depth: ' + maxDepth,
42569
+ AxiosError.ERR_FORM_DATA_DEPTH_EXCEEDED
42570
+ );
42571
+ }
42572
+
42564
42573
  if (stack.indexOf(value) !== -1) {
42565
42574
  throw Error('Circular reference detected in ' + path.join('.'));
42566
42575
  }
@@ -42573,7 +42582,7 @@ function toFormData(obj, formData, options) {
42573
42582
  visitor.call(formData, el, utils$3.isString(key) ? key.trim() : key, path, exposedHelpers);
42574
42583
 
42575
42584
  if (result === true) {
42576
- build(el, path ? path.concat(key) : [key]);
42585
+ build(el, path ? path.concat(key) : [key], depth + 1);
42577
42586
  }
42578
42587
  });
42579
42588
 
@@ -42605,9 +42614,8 @@ function encode$1(str) {
42605
42614
  ')': '%29',
42606
42615
  '~': '%7E',
42607
42616
  '%20': '+',
42608
- '%00': '\x00',
42609
42617
  };
42610
- return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {
42618
+ return encodeURIComponent(str).replace(/[!'()~]|%20/g, function replacer(match) {
42611
42619
  return charMap[match];
42612
42620
  });
42613
42621
  }
@@ -42927,7 +42935,9 @@ function formDataToJSON(formData) {
42927
42935
 
42928
42936
  if (isLast) {
42929
42937
  if (utils$3.hasOwnProp(target, name)) {
42930
- target[name] = [target[name], value];
42938
+ target[name] = utils$3.isArray(target[name])
42939
+ ? target[name].concat(value)
42940
+ : [target[name], value];
42931
42941
  } else {
42932
42942
  target[name] = value;
42933
42943
  }
@@ -42961,6 +42971,8 @@ function formDataToJSON(formData) {
42961
42971
  return null;
42962
42972
  }
42963
42973
 
42974
+ const own = (obj, key) => (obj != null && utils$3.hasOwnProp(obj, key) ? obj[key] : undefined);
42975
+
42964
42976
  /**
42965
42977
  * It takes a string, tries to parse it, and if it fails, it returns the stringified version
42966
42978
  * of the input
@@ -43028,20 +43040,22 @@ const defaults = {
43028
43040
  let isFileList;
43029
43041
 
43030
43042
  if (isObjectPayload) {
43043
+ const formSerializer = own(this, 'formSerializer');
43031
43044
  if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {
43032
- return toURLEncodedForm(data, this.formSerializer).toString();
43045
+ return toURLEncodedForm(data, formSerializer).toString();
43033
43046
  }
43034
43047
 
43035
43048
  if (
43036
43049
  (isFileList = utils$3.isFileList(data)) ||
43037
43050
  contentType.indexOf('multipart/form-data') > -1
43038
43051
  ) {
43039
- const _FormData = this.env && this.env.FormData;
43052
+ const env = own(this, 'env');
43053
+ const _FormData = env && env.FormData;
43040
43054
 
43041
43055
  return toFormData(
43042
43056
  isFileList ? { 'files[]': data } : data,
43043
43057
  _FormData && new _FormData(),
43044
- this.formSerializer
43058
+ formSerializer
43045
43059
  );
43046
43060
  }
43047
43061
  }
@@ -43057,9 +43071,10 @@ const defaults = {
43057
43071
 
43058
43072
  transformResponse: [
43059
43073
  function transformResponse(data) {
43060
- const transitional = this.transitional || defaults.transitional;
43074
+ const transitional = own(this, 'transitional') || defaults.transitional;
43061
43075
  const forcedJSONParsing = transitional && transitional.forcedJSONParsing;
43062
- const JSONRequested = this.responseType === 'json';
43076
+ const responseType = own(this, 'responseType');
43077
+ const JSONRequested = responseType === 'json';
43063
43078
 
43064
43079
  if (utils$3.isResponse(data) || utils$3.isReadableStream(data)) {
43065
43080
  return data;
@@ -43068,17 +43083,17 @@ const defaults = {
43068
43083
  if (
43069
43084
  data &&
43070
43085
  utils$3.isString(data) &&
43071
- ((forcedJSONParsing && !this.responseType) || JSONRequested)
43086
+ ((forcedJSONParsing && !responseType) || JSONRequested)
43072
43087
  ) {
43073
43088
  const silentJSONParsing = transitional && transitional.silentJSONParsing;
43074
43089
  const strictJSONParsing = !silentJSONParsing && JSONRequested;
43075
43090
 
43076
43091
  try {
43077
- return JSON.parse(data, this.parseReviver);
43092
+ return JSON.parse(data, own(this, 'parseReviver'));
43078
43093
  } catch (e) {
43079
43094
  if (strictJSONParsing) {
43080
43095
  if (e.name === 'SyntaxError') {
43081
- throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);
43096
+ throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, own(this, 'response'));
43082
43097
  }
43083
43098
  throw e;
43084
43099
  }
@@ -43190,41 +43205,41 @@ var parseHeaders = (rawHeaders) => {
43190
43205
 
43191
43206
  const $internals = Symbol('internals');
43192
43207
 
43193
- const isValidHeaderValue = (value) => !/[\r\n]/.test(value);
43194
-
43195
- function assertValidHeaderValue(value, header) {
43196
- if (value === false || value == null) {
43197
- return;
43198
- }
43208
+ const INVALID_HEADER_VALUE_CHARS_RE = /[^\x09\x20-\x7E\x80-\xFF]/g;
43199
43209
 
43200
- if (utils$3.isArray(value)) {
43201
- value.forEach((v) => assertValidHeaderValue(v, header));
43202
- return;
43203
- }
43210
+ function trimSPorHTAB(str) {
43211
+ let start = 0;
43212
+ let end = str.length;
43204
43213
 
43205
- if (!isValidHeaderValue(String(value))) {
43206
- throw new Error(`Invalid character in header content ["${header}"]`);
43207
- }
43208
- }
43214
+ while (start < end) {
43215
+ const code = str.charCodeAt(start);
43209
43216
 
43210
- function normalizeHeader(header) {
43211
- return header && String(header).trim().toLowerCase();
43212
- }
43217
+ if (code !== 0x09 && code !== 0x20) {
43218
+ break;
43219
+ }
43213
43220
 
43214
- function stripTrailingCRLF(str) {
43215
- let end = str.length;
43221
+ start += 1;
43222
+ }
43216
43223
 
43217
- while (end > 0) {
43218
- const charCode = str.charCodeAt(end - 1);
43224
+ while (end > start) {
43225
+ const code = str.charCodeAt(end - 1);
43219
43226
 
43220
- if (charCode !== 10 && charCode !== 13) {
43227
+ if (code !== 0x09 && code !== 0x20) {
43221
43228
  break;
43222
43229
  }
43223
43230
 
43224
43231
  end -= 1;
43225
43232
  }
43226
43233
 
43227
- return end === str.length ? str : str.slice(0, end);
43234
+ return start === 0 && end === str.length ? str : str.slice(start, end);
43235
+ }
43236
+
43237
+ function normalizeHeader(header) {
43238
+ return header && String(header).trim().toLowerCase();
43239
+ }
43240
+
43241
+ function sanitizeHeaderValue(str) {
43242
+ return trimSPorHTAB(str.replace(INVALID_HEADER_VALUE_CHARS_RE, ''));
43228
43243
  }
43229
43244
 
43230
43245
  function normalizeValue(value) {
@@ -43232,7 +43247,7 @@ function normalizeValue(value) {
43232
43247
  return value;
43233
43248
  }
43234
43249
 
43235
- return utils$3.isArray(value) ? value.map(normalizeValue) : stripTrailingCRLF(String(value));
43250
+ return utils$3.isArray(value) ? value.map(normalizeValue) : sanitizeHeaderValue(String(value));
43236
43251
  }
43237
43252
 
43238
43253
  function parseTokens(str) {
@@ -43314,7 +43329,6 @@ class AxiosHeaders {
43314
43329
  _rewrite === true ||
43315
43330
  (_rewrite === undefined && self[key] !== false)
43316
43331
  ) {
43317
- assertValidHeaderValue(_value, _header);
43318
43332
  self[key || _header] = normalizeValue(_value);
43319
43333
  }
43320
43334
  }
@@ -43737,13 +43751,13 @@ const progressEventReducer = (listener, isDownloadStream, freq = 3) => {
43737
43751
  const _speedometer = speedometer(50, 250);
43738
43752
 
43739
43753
  return throttle((e) => {
43740
- const loaded = e.loaded;
43754
+ const rawLoaded = e.loaded;
43741
43755
  const total = e.lengthComputable ? e.total : undefined;
43742
- const progressBytes = loaded - bytesNotified;
43756
+ const loaded = total != null ? Math.min(rawLoaded, total) : rawLoaded;
43757
+ const progressBytes = Math.max(0, loaded - bytesNotified);
43743
43758
  const rate = _speedometer(progressBytes);
43744
- const inRange = loaded <= total;
43745
43759
 
43746
- bytesNotified = loaded;
43760
+ bytesNotified = Math.max(bytesNotified, loaded);
43747
43761
 
43748
43762
  const data = {
43749
43763
  loaded,
@@ -43751,7 +43765,7 @@ const progressEventReducer = (listener, isDownloadStream, freq = 3) => {
43751
43765
  progress: total ? loaded / total : undefined,
43752
43766
  bytes: progressBytes,
43753
43767
  rate: rate ? rate : undefined,
43754
- estimated: rate && total && inRange ? (total - loaded) / rate : undefined,
43768
+ estimated: rate && total ? (total - loaded) / rate : undefined,
43755
43769
  event: e,
43756
43770
  lengthComputable: total != null,
43757
43771
  [isDownloadStream ? 'download' : 'upload']: true,
@@ -43885,7 +43899,7 @@ function combineURLs(baseURL, relativeURL) {
43885
43899
  */
43886
43900
  function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {
43887
43901
  let isRelativeUrl = !isAbsoluteURL(requestedURL);
43888
- if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {
43902
+ if (baseURL && (isRelativeUrl || allowAbsoluteUrls === false)) {
43889
43903
  return combineURLs(baseURL, requestedURL);
43890
43904
  }
43891
43905
  return requestedURL;
@@ -43905,7 +43919,18 @@ const headersToObject = (thing) => (thing instanceof AxiosHeaders ? { ...thing }
43905
43919
  function mergeConfig(config1, config2) {
43906
43920
  // eslint-disable-next-line no-param-reassign
43907
43921
  config2 = config2 || {};
43908
- const config = {};
43922
+
43923
+ // Use a null-prototype object so that downstream reads such as `config.auth`
43924
+ // or `config.baseURL` cannot inherit polluted values from Object.prototype
43925
+ // (see GHSA-q8qp-cvcw-x6jj). `hasOwnProperty` is restored as a non-enumerable
43926
+ // own slot to preserve ergonomics for user code that relies on it.
43927
+ const config = Object.create(null);
43928
+ Object.defineProperty(config, 'hasOwnProperty', {
43929
+ value: Object.prototype.hasOwnProperty,
43930
+ enumerable: false,
43931
+ writable: true,
43932
+ configurable: true,
43933
+ });
43909
43934
 
43910
43935
  function getMergedValue(target, source, prop, caseless) {
43911
43936
  if (utils$3.isPlainObject(target) && utils$3.isPlainObject(source)) {
@@ -43944,9 +43969,9 @@ function mergeConfig(config1, config2) {
43944
43969
 
43945
43970
  // eslint-disable-next-line consistent-return
43946
43971
  function mergeDirectKeys(a, b, prop) {
43947
- if (prop in config2) {
43972
+ if (utils$3.hasOwnProp(config2, prop)) {
43948
43973
  return getMergedValue(a, b);
43949
- } else if (prop in config1) {
43974
+ } else if (utils$3.hasOwnProp(config1, prop)) {
43950
43975
  return getMergedValue(undefined, a);
43951
43976
  }
43952
43977
  }
@@ -43978,6 +44003,7 @@ function mergeConfig(config1, config2) {
43978
44003
  httpsAgent: defaultToConfig2,
43979
44004
  cancelToken: defaultToConfig2,
43980
44005
  socketPath: defaultToConfig2,
44006
+ allowedSocketPaths: defaultToConfig2,
43981
44007
  responseEncoding: defaultToConfig2,
43982
44008
  validateStatus: mergeDirectKeys,
43983
44009
  headers: (a, b, prop) =>
@@ -43987,7 +44013,9 @@ function mergeConfig(config1, config2) {
43987
44013
  utils$3.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {
43988
44014
  if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return;
43989
44015
  const merge = utils$3.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties;
43990
- const configValue = merge(config1[prop], config2[prop], prop);
44016
+ const a = utils$3.hasOwnProp(config1, prop) ? config1[prop] : undefined;
44017
+ const b = utils$3.hasOwnProp(config2, prop) ? config2[prop] : undefined;
44018
+ const configValue = merge(a, b, prop);
43991
44019
  (utils$3.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);
43992
44020
  });
43993
44021
 
@@ -43997,12 +44025,24 @@ function mergeConfig(config1, config2) {
43997
44025
  var resolveConfig = (config) => {
43998
44026
  const newConfig = mergeConfig({}, config);
43999
44027
 
44000
- let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;
44028
+ // Read only own properties to prevent prototype pollution gadgets
44029
+ // (e.g. Object.prototype.baseURL = 'https://evil.com'). See GHSA-q8qp-cvcw-x6jj.
44030
+ const own = (key) => (utils$3.hasOwnProp(newConfig, key) ? newConfig[key] : undefined);
44031
+
44032
+ const data = own('data');
44033
+ let withXSRFToken = own('withXSRFToken');
44034
+ const xsrfHeaderName = own('xsrfHeaderName');
44035
+ const xsrfCookieName = own('xsrfCookieName');
44036
+ let headers = own('headers');
44037
+ const auth = own('auth');
44038
+ const baseURL = own('baseURL');
44039
+ const allowAbsoluteUrls = own('allowAbsoluteUrls');
44040
+ const url = own('url');
44001
44041
 
44002
44042
  newConfig.headers = headers = AxiosHeaders.from(headers);
44003
44043
 
44004
44044
  newConfig.url = buildURL(
44005
- buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls),
44045
+ buildFullPath(baseURL, url, allowAbsoluteUrls),
44006
44046
  config.params,
44007
44047
  config.paramsSerializer
44008
44048
  );
@@ -44041,10 +44081,18 @@ var resolveConfig = (config) => {
44041
44081
  // Specifically not if we're in a web worker, or react-native.
44042
44082
 
44043
44083
  if (platform.hasStandardBrowserEnv) {
44044
- withXSRFToken && utils$3.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));
44084
+ if (utils$3.isFunction(withXSRFToken)) {
44085
+ withXSRFToken = withXSRFToken(newConfig);
44086
+ }
44087
+
44088
+ // Strict boolean check — prevents proto-pollution gadgets (e.g. Object.prototype.withXSRFToken = 1)
44089
+ // and misconfigurations (e.g. "false") from short-circuiting the same-origin check and leaking
44090
+ // the XSRF token cross-origin. See GHSA-xx6v-rp6x-q39c.
44091
+ const shouldSendXSRF =
44092
+ withXSRFToken === true ||
44093
+ (withXSRFToken == null && isURLSameOrigin(newConfig.url));
44045
44094
 
44046
- if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {
44047
- // Add xsrf header
44095
+ if (shouldSendXSRF) {
44048
44096
  const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);
44049
44097
 
44050
44098
  if (xsrfValue) {
@@ -44463,18 +44511,20 @@ const factory = (env) => {
44463
44511
  test(() => {
44464
44512
  let duplexAccessed = false;
44465
44513
 
44466
- const body = new ReadableStream$1();
44467
-
44468
- const hasContentType = new Request(platform.origin, {
44469
- body,
44514
+ const request = new Request(platform.origin, {
44515
+ body: new ReadableStream$1(),
44470
44516
  method: 'POST',
44471
44517
  get duplex() {
44472
44518
  duplexAccessed = true;
44473
44519
  return 'half';
44474
44520
  },
44475
- }).headers.has('Content-Type');
44521
+ });
44522
+
44523
+ const hasContentType = request.headers.has('Content-Type');
44476
44524
 
44477
- body.cancel();
44525
+ if (request.body != null) {
44526
+ request.body.cancel();
44527
+ }
44478
44528
 
44479
44529
  return duplexAccessed && !hasContentType;
44480
44530
  });
@@ -44618,6 +44668,19 @@ const factory = (env) => {
44618
44668
  // see https://github.com/cloudflare/workerd/issues/902
44619
44669
  const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype;
44620
44670
 
44671
+ // If data is FormData and Content-Type is multipart/form-data without boundary,
44672
+ // delete it so fetch can set it correctly with the boundary
44673
+ if (utils$3.isFormData(data)) {
44674
+ const contentType = headers.getContentType();
44675
+ if (
44676
+ contentType &&
44677
+ /^multipart\/form-data/i.test(contentType) &&
44678
+ !/boundary=/i.test(contentType)
44679
+ ) {
44680
+ headers.delete('content-type');
44681
+ }
44682
+ }
44683
+
44621
44684
  const resolvedOptions = {
44622
44685
  ...fetchOptions,
44623
44686
  signal: composedSignal,
@@ -44926,7 +44989,7 @@ function dispatchRequest(config) {
44926
44989
  );
44927
44990
  }
44928
44991
 
44929
- const VERSION = "1.15.0";
44992
+ const VERSION = "1.15.2";
44930
44993
 
44931
44994
  const validators$1 = {};
44932
44995
 
@@ -45011,7 +45074,9 @@ function assertOptions(options, schema, allowUnknown) {
45011
45074
  let i = keys.length;
45012
45075
  while (i-- > 0) {
45013
45076
  const opt = keys[i];
45014
- const validator = schema[opt];
45077
+ // Use hasOwnProperty so a polluted Object.prototype.<opt> cannot supply
45078
+ // a non-function validator and cause a TypeError. See GHSA-q8qp-cvcw-x6jj.
45079
+ const validator = Object.prototype.hasOwnProperty.call(schema, opt) ? schema[opt] : undefined;
45015
45080
  if (validator) {
45016
45081
  const value = options[opt];
45017
45082
  const result = value === undefined || validator(value, opt, options);
@@ -56048,7 +56113,7 @@ const FOCUSABLE_SELECTORS = Object.freeze([
56048
56113
  'a[href]', 'button:not([disabled]):not([tabindex="-1"])', 'textarea', 'input', 'select', '[tabindex]:not([tabindex="-1"])',
56049
56114
  ]);
56050
56115
  const Widget = forwardRef(({ candidate, job, video, config, disabled = false, buttonText = 'START INTERVIEW', buttonStyle = {}, children, styleUrls = [], fontsUrls = [], }, clientRef) => {
56051
- const widget_version = "1.1.67";
56116
+ const widget_version = "1.1.68";
56052
56117
  const [isWidgetOpen, setIsWidgetOpen] = useState(false);
56053
56118
  const [isWidgetMinimized, setIsWidgetMinimized] = useState(false);
56054
56119
  const [isIncognitoMode, setIsIncognitoMode] = useState(false);