@teselagen/ove 0.3.65 → 0.4.2

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/index.umd.js CHANGED
@@ -80,7 +80,6 @@ var __async = (__this, __arguments, generator) => {
80
80
  return Object.freeze(Object.defineProperty(n2, Symbol.toStringTag, { value: "Module" }));
81
81
  }
82
82
  __name(_mergeNamespaces, "_mergeNamespaces");
83
- const index$3 = "";
84
83
  var Alignment = {
85
84
  CENTER: "center",
86
85
  LEFT: "left",
@@ -350,19 +349,19 @@ var __async = (__this, __arguments, generator) => {
350
349
  }
351
350
  };
352
351
  /*! *****************************************************************************
353
- Copyright (c) Microsoft Corporation.
352
+ Copyright (c) Microsoft Corporation.
354
353
 
355
- Permission to use, copy, modify, and/or distribute this software for any
356
- purpose with or without fee is hereby granted.
354
+ Permission to use, copy, modify, and/or distribute this software for any
355
+ purpose with or without fee is hereby granted.
357
356
 
358
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
359
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
360
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
361
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
362
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
363
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
364
- PERFORMANCE OF THIS SOFTWARE.
365
- ***************************************************************************** */
357
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
358
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
359
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
360
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
361
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
362
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
363
+ PERFORMANCE OF THIS SOFTWARE.
364
+ ***************************************************************************** */
366
365
  var extendStatics$4 = /* @__PURE__ */ __name(function(d2, b3) {
367
366
  extendStatics$4 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b5) {
368
367
  d3.__proto__ = b5;
@@ -958,27 +957,27 @@ var __async = (__this, __arguments, generator) => {
958
957
  __name(commonjsRequire, "commonjsRequire");
959
958
  var dom4_max = {};
960
959
  /*!
961
- Copyright (C) 2013-2015 by Andrea Giammarchi - @WebReflection
960
+ Copyright (C) 2013-2015 by Andrea Giammarchi - @WebReflection
962
961
 
963
- Permission is hereby granted, free of charge, to any person obtaining a copy
964
- of this software and associated documentation files (the "Software"), to deal
965
- in the Software without restriction, including without limitation the rights
966
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
967
- copies of the Software, and to permit persons to whom the Software is
968
- furnished to do so, subject to the following conditions:
962
+ Permission is hereby granted, free of charge, to any person obtaining a copy
963
+ of this software and associated documentation files (the "Software"), to deal
964
+ in the Software without restriction, including without limitation the rights
965
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
966
+ copies of the Software, and to permit persons to whom the Software is
967
+ furnished to do so, subject to the following conditions:
969
968
 
970
- The above copyright notice and this permission notice shall be included in
971
- all copies or substantial portions of the Software.
969
+ The above copyright notice and this permission notice shall be included in
970
+ all copies or substantial portions of the Software.
972
971
 
973
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
974
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
975
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
976
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
977
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
978
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
979
- THE SOFTWARE.
972
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
973
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
974
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
975
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
976
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
977
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
978
+ THE SOFTWARE.
980
979
 
981
- */
980
+ */
982
981
  var hasRequiredDom4_max;
983
982
  function requireDom4_max() {
984
983
  if (hasRequiredDom4_max)
@@ -23486,7 +23485,7 @@ var __async = (__this, __arguments, generator) => {
23486
23485
  inner2(dataTip, el2, opts2);
23487
23486
  break;
23488
23487
  } else if (isEllipsized && el2.offsetWidth < el2.scrollWidth - 4 && //the -4 is adding a teeny bit of tolerance to fix issues with the column headers getting tooltips even when fully visible
23489
- !el2.classList.contains("no-data-tip") && !document.body.classList.contains("drag-active") && el2.textContent && ((_b2 = (_a2 = el2.textContent) == null ? void 0 : _a2.trim) == null ? void 0 : _b2.call(_a2).length) !== 0) {
23488
+ !el2.classList.contains("no-data-tip") && !parentIncludesNoChildDataTip(el2, 0) && !document.body.classList.contains("drag-active") && el2.textContent && ((_b2 = (_a2 = el2.textContent) == null ? void 0 : _a2.trim) == null ? void 0 : _b2.call(_a2).length) !== 0) {
23490
23489
  inner2(el2.textContent, el2, opts2);
23491
23490
  break;
23492
23491
  } else if (isEllipsized && el2.offsetWidth >= el2.scrollWidth)
@@ -23499,6 +23498,28 @@ var __async = (__this, __arguments, generator) => {
23499
23498
  }
23500
23499
  });
23501
23500
  })();
23501
+ function parentIncludesNoChildDataTip(el2, count2) {
23502
+ if (count2 > 4)
23503
+ return false;
23504
+ if (!el2)
23505
+ return false;
23506
+ if (el2.getAttribute("data-no-child-data-tip"))
23507
+ return true;
23508
+ return parentIncludesNoChildDataTip(el2.parentElement, count2 + 1);
23509
+ }
23510
+ __name(parentIncludesNoChildDataTip, "parentIncludesNoChildDataTip");
23511
+ const LoadingDots = /* @__PURE__ */ __name(() => {
23512
+ const [dots, setDots] = reactExports.useState("");
23513
+ reactExports.useEffect(() => {
23514
+ const interval = setInterval(() => {
23515
+ setDots((dots2) => {
23516
+ return dots2.length === 3 ? "" : dots2 + ".";
23517
+ });
23518
+ }, 500);
23519
+ return () => clearInterval(interval);
23520
+ }, []);
23521
+ return /* @__PURE__ */ React$2.createElement("span", null, dots);
23522
+ }, "LoadingDots");
23502
23523
  const AssignDefaultsModeContext = React$2.createContext({
23503
23524
  inAssignDefaultsMode: false,
23504
23525
  // eslint-disable-next-line @typescript-eslint/no-empty-function
@@ -25819,10 +25840,10 @@ var __async = (__this, __arguments, generator) => {
25819
25840
  /* istanbul ignore next */
25820
25841
  Object.getOwnPropertyNames
25821
25842
  );
25822
- function toPrimitive$3(value) {
25843
+ function toPrimitive$2(value) {
25823
25844
  return value === null ? null : typeof value === "object" ? "" + value : value;
25824
25845
  }
25825
- __name(toPrimitive$3, "toPrimitive$3");
25846
+ __name(toPrimitive$2, "toPrimitive$2");
25826
25847
  function hasProp(target, prop2) {
25827
25848
  return objectPrototype$2.hasOwnProperty.call(target, prop2);
25828
25849
  }
@@ -26719,7 +26740,7 @@ var __async = (__this, __arguments, generator) => {
26719
26740
  return this.name_ + "[" + this.value_ + "]";
26720
26741
  }, "toString");
26721
26742
  _proto.valueOf = /* @__PURE__ */ __name(function valueOf() {
26722
- return toPrimitive$3(this.get());
26743
+ return toPrimitive$2(this.get());
26723
26744
  }, "valueOf");
26724
26745
  _proto[_Symbol$toPrimitive] = function() {
26725
26746
  return this.valueOf();
@@ -26904,7 +26925,7 @@ var __async = (__this, __arguments, generator) => {
26904
26925
  return this.name_ + "[" + this.derivation.toString() + "]";
26905
26926
  }, "toString");
26906
26927
  _proto.valueOf = /* @__PURE__ */ __name(function valueOf() {
26907
- return toPrimitive$3(this.get());
26928
+ return toPrimitive$2(this.get());
26908
26929
  }, "valueOf");
26909
26930
  _proto[_Symbol$toPrimitive$1] = function() {
26910
26931
  return this.valueOf();
@@ -43574,11 +43595,20 @@ ${latestSubscriptionCallbackError.current.stack}
43574
43595
  return true;
43575
43596
  }
43576
43597
  }, "_fails");
43577
- var _descriptors = !_fails(function() {
43578
- return Object.defineProperty({}, "a", { get: function() {
43579
- return 7;
43580
- } }).a != 7;
43581
- });
43598
+ var _descriptors;
43599
+ var hasRequired_descriptors;
43600
+ function require_descriptors() {
43601
+ if (hasRequired_descriptors)
43602
+ return _descriptors;
43603
+ hasRequired_descriptors = 1;
43604
+ _descriptors = !_fails(function() {
43605
+ return Object.defineProperty({}, "a", { get: function() {
43606
+ return 7;
43607
+ } }).a != 7;
43608
+ });
43609
+ return _descriptors;
43610
+ }
43611
+ __name(require_descriptors, "require_descriptors");
43582
43612
  var _domCreate;
43583
43613
  var hasRequired_domCreate;
43584
43614
  function require_domCreate() {
@@ -43594,11 +43624,20 @@ ${latestSubscriptionCallbackError.current.stack}
43594
43624
  return _domCreate;
43595
43625
  }
43596
43626
  __name(require_domCreate, "require_domCreate");
43597
- var _ie8DomDefine = !_descriptors && !_fails(function() {
43598
- return Object.defineProperty(require_domCreate()("div"), "a", { get: function() {
43599
- return 7;
43600
- } }).a != 7;
43601
- });
43627
+ var _ie8DomDefine;
43628
+ var hasRequired_ie8DomDefine;
43629
+ function require_ie8DomDefine() {
43630
+ if (hasRequired_ie8DomDefine)
43631
+ return _ie8DomDefine;
43632
+ hasRequired_ie8DomDefine = 1;
43633
+ _ie8DomDefine = !require_descriptors() && !_fails(function() {
43634
+ return Object.defineProperty(require_domCreate()("div"), "a", { get: function() {
43635
+ return 7;
43636
+ } }).a != 7;
43637
+ });
43638
+ return _ie8DomDefine;
43639
+ }
43640
+ __name(require_ie8DomDefine, "require_ie8DomDefine");
43602
43641
  var isObject$6 = _isObject;
43603
43642
  var _toPrimitive$1 = /* @__PURE__ */ __name(function(it, S2) {
43604
43643
  if (!isObject$6(it))
@@ -43612,25 +43651,33 @@ ${latestSubscriptionCallbackError.current.stack}
43612
43651
  return val2;
43613
43652
  throw TypeError("Can't convert object to primitive value");
43614
43653
  }, "_toPrimitive$1");
43615
- var anObject$5 = _anObject;
43616
- var IE8_DOM_DEFINE$1 = _ie8DomDefine;
43617
- var toPrimitive$2 = _toPrimitive$1;
43618
- var dP$3 = Object.defineProperty;
43619
- _objectDp.f = _descriptors ? Object.defineProperty : /* @__PURE__ */ __name(function defineProperty2(O2, P2, Attributes) {
43620
- anObject$5(O2);
43621
- P2 = toPrimitive$2(P2, true);
43622
- anObject$5(Attributes);
43623
- if (IE8_DOM_DEFINE$1)
43624
- try {
43625
- return dP$3(O2, P2, Attributes);
43626
- } catch (e2) {
43627
- }
43628
- if ("get" in Attributes || "set" in Attributes)
43629
- throw TypeError("Accessors not supported!");
43630
- if ("value" in Attributes)
43631
- O2[P2] = Attributes.value;
43632
- return O2;
43633
- }, "defineProperty");
43654
+ var hasRequired_objectDp;
43655
+ function require_objectDp() {
43656
+ if (hasRequired_objectDp)
43657
+ return _objectDp;
43658
+ hasRequired_objectDp = 1;
43659
+ var anObject2 = _anObject;
43660
+ var IE8_DOM_DEFINE2 = require_ie8DomDefine();
43661
+ var toPrimitive2 = _toPrimitive$1;
43662
+ var dP2 = Object.defineProperty;
43663
+ _objectDp.f = require_descriptors() ? Object.defineProperty : /* @__PURE__ */ __name(function defineProperty2(O2, P2, Attributes) {
43664
+ anObject2(O2);
43665
+ P2 = toPrimitive2(P2, true);
43666
+ anObject2(Attributes);
43667
+ if (IE8_DOM_DEFINE2)
43668
+ try {
43669
+ return dP2(O2, P2, Attributes);
43670
+ } catch (e2) {
43671
+ }
43672
+ if ("get" in Attributes || "set" in Attributes)
43673
+ throw TypeError("Accessors not supported!");
43674
+ if ("value" in Attributes)
43675
+ O2[P2] = Attributes.value;
43676
+ return O2;
43677
+ }, "defineProperty");
43678
+ return _objectDp;
43679
+ }
43680
+ __name(require_objectDp, "require_objectDp");
43634
43681
  var _propertyDesc = /* @__PURE__ */ __name(function(bitmap, value) {
43635
43682
  return {
43636
43683
  enumerable: !(bitmap & 1),
@@ -43639,9 +43686,9 @@ ${latestSubscriptionCallbackError.current.stack}
43639
43686
  value
43640
43687
  };
43641
43688
  }, "_propertyDesc");
43642
- var dP$2 = _objectDp;
43689
+ var dP$2 = require_objectDp();
43643
43690
  var createDesc$3 = _propertyDesc;
43644
- var _hide = _descriptors ? function(object2, key2, value) {
43691
+ var _hide = require_descriptors() ? function(object2, key2, value) {
43645
43692
  return dP$2.f(object2, key2, createDesc$3(1, value));
43646
43693
  } : function(object2, key2, value) {
43647
43694
  object2[key2] = value;
@@ -43820,10 +43867,10 @@ ${latestSubscriptionCallbackError.current.stack}
43820
43867
  return result;
43821
43868
  }, "_objectKeysInternal");
43822
43869
  var _enumBugKeys = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",");
43823
- var $keys$3 = _objectKeysInternal;
43870
+ var $keys$2 = _objectKeysInternal;
43824
43871
  var enumBugKeys$1 = _enumBugKeys;
43825
43872
  var _objectKeys = Object.keys || /* @__PURE__ */ __name(function keys2(O2) {
43826
- return $keys$3(O2, enumBugKeys$1);
43873
+ return $keys$2(O2, enumBugKeys$1);
43827
43874
  }, "keys");
43828
43875
  var _objectGops = {};
43829
43876
  _objectGops.f = Object.getOwnPropertySymbols;
@@ -43847,7 +43894,7 @@ ${latestSubscriptionCallbackError.current.stack}
43847
43894
  if (hasRequired_objectAssign)
43848
43895
  return _objectAssign;
43849
43896
  hasRequired_objectAssign = 1;
43850
- var DESCRIPTORS2 = _descriptors;
43897
+ var DESCRIPTORS2 = require_descriptors();
43851
43898
  var getKeys2 = _objectKeys;
43852
43899
  var gOPS2 = _objectGops;
43853
43900
  var pIE2 = require_objectPie();
@@ -43913,10 +43960,10 @@ ${latestSubscriptionCallbackError.current.stack}
43913
43960
  }, "_iterStep");
43914
43961
  var _iterators = {};
43915
43962
  var _redefine = _hide;
43916
- var dP$1 = _objectDp;
43963
+ var dP$1 = require_objectDp();
43917
43964
  var anObject$4 = _anObject;
43918
43965
  var getKeys$1 = _objectKeys;
43919
- var _objectDps = _descriptors ? Object.defineProperties : /* @__PURE__ */ __name(function defineProperties2(O2, Properties2) {
43966
+ var _objectDps = require_descriptors() ? Object.defineProperties : /* @__PURE__ */ __name(function defineProperties2(O2, Properties2) {
43920
43967
  anObject$4(O2);
43921
43968
  var keys2 = getKeys$1(Properties2);
43922
43969
  var length = keys2.length;
@@ -43983,7 +44030,7 @@ ${latestSubscriptionCallbackError.current.stack}
43983
44030
  };
43984
44031
  $exports.store = store$2;
43985
44032
  var _wksExports = _wks.exports;
43986
- var def = _objectDp.f;
44033
+ var def = require_objectDp().f;
43987
44034
  var has$b = _has;
43988
44035
  var TAG$1 = _wksExports("toStringTag");
43989
44036
  var _setToStringTag = /* @__PURE__ */ __name(function(it, tag, stat) {
@@ -44256,7 +44303,7 @@ ${latestSubscriptionCallbackError.current.stack}
44256
44303
  var _isArrayIter = /* @__PURE__ */ __name(function(it) {
44257
44304
  return it !== void 0 && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
44258
44305
  }, "_isArrayIter");
44259
- var $defineProperty$1 = _objectDp;
44306
+ var $defineProperty$1 = require_objectDp();
44260
44307
  var createDesc$2 = _propertyDesc;
44261
44308
  var _createProperty = /* @__PURE__ */ __name(function(object2, index2, value) {
44262
44309
  if (index2 in object2)
@@ -44385,7 +44432,7 @@ ${latestSubscriptionCallbackError.current.stack}
44385
44432
  }
44386
44433
  }, "_default$8");
44387
44434
  var $export$3 = _export;
44388
- $export$3($export$3.S + $export$3.F * !_descriptors, "Object", { defineProperty: _objectDp.f });
44435
+ $export$3($export$3.S + $export$3.F * !require_descriptors(), "Object", { defineProperty: require_objectDp().f });
44389
44436
  var $Object$1 = _coreExports.Object;
44390
44437
  var defineProperty$6 = /* @__PURE__ */ __name(function defineProperty2(it, key2, desc) {
44391
44438
  return $Object$1.defineProperty(it, key2, desc);
@@ -44426,7 +44473,7 @@ ${latestSubscriptionCallbackError.current.stack}
44426
44473
  var META$1 = _uid("meta");
44427
44474
  var isObject$5 = _isObject;
44428
44475
  var has$9 = _has;
44429
- var setDesc = _objectDp.f;
44476
+ var setDesc = require_objectDp().f;
44430
44477
  var id$1 = 0;
44431
44478
  var isExtensible = Object.isExtensible || function() {
44432
44479
  return true;
@@ -44479,7 +44526,7 @@ ${latestSubscriptionCallbackError.current.stack}
44479
44526
  var _metaExports = _meta.exports;
44480
44527
  var core = _coreExports;
44481
44528
  var wksExt$1 = _wksExt;
44482
- var defineProperty$4 = _objectDp.f;
44529
+ var defineProperty$4 = require_objectDp().f;
44483
44530
  var _wksDefine = /* @__PURE__ */ __name(function(name2) {
44484
44531
  var $Symbol2 = core.Symbol || (core.Symbol = {});
44485
44532
  if (name2.charAt(0) != "_" && !(name2 in $Symbol2))
@@ -44508,13 +44555,21 @@ ${latestSubscriptionCallbackError.current.stack}
44508
44555
  }, "isArray");
44509
44556
  var _objectGopnExt = {};
44510
44557
  var _objectGopn = {};
44511
- var $keys$2 = _objectKeysInternal;
44512
- var hiddenKeys = _enumBugKeys.concat("length", "prototype");
44513
- _objectGopn.f = Object.getOwnPropertyNames || /* @__PURE__ */ __name(function getOwnPropertyNames2(O2) {
44514
- return $keys$2(O2, hiddenKeys);
44515
- }, "getOwnPropertyNames");
44558
+ var hasRequired_objectGopn;
44559
+ function require_objectGopn() {
44560
+ if (hasRequired_objectGopn)
44561
+ return _objectGopn;
44562
+ hasRequired_objectGopn = 1;
44563
+ var $keys2 = _objectKeysInternal;
44564
+ var hiddenKeys = _enumBugKeys.concat("length", "prototype");
44565
+ _objectGopn.f = Object.getOwnPropertyNames || /* @__PURE__ */ __name(function getOwnPropertyNames2(O2) {
44566
+ return $keys2(O2, hiddenKeys);
44567
+ }, "getOwnPropertyNames");
44568
+ return _objectGopn;
44569
+ }
44570
+ __name(require_objectGopn, "require_objectGopn");
44516
44571
  var toIObject$2 = _toIobject;
44517
- var gOPN$1 = _objectGopn.f;
44572
+ var gOPN$1 = require_objectGopn().f;
44518
44573
  var toString$3 = {}.toString;
44519
44574
  var windowNames = typeof window == "object" && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
44520
44575
  var getWindowNames = /* @__PURE__ */ __name(function(it) {
@@ -44533,9 +44588,9 @@ ${latestSubscriptionCallbackError.current.stack}
44533
44588
  var toIObject$1 = _toIobject;
44534
44589
  var toPrimitive$1 = _toPrimitive$1;
44535
44590
  var has$8 = _has;
44536
- var IE8_DOM_DEFINE = _ie8DomDefine;
44591
+ var IE8_DOM_DEFINE = require_ie8DomDefine();
44537
44592
  var gOPD$2 = Object.getOwnPropertyDescriptor;
44538
- _objectGopd.f = _descriptors ? gOPD$2 : /* @__PURE__ */ __name(function getOwnPropertyDescriptor2(O2, P2) {
44593
+ _objectGopd.f = require_descriptors() ? gOPD$2 : /* @__PURE__ */ __name(function getOwnPropertyDescriptor2(O2, P2) {
44539
44594
  O2 = toIObject$1(O2);
44540
44595
  P2 = toPrimitive$1(P2, true);
44541
44596
  if (IE8_DOM_DEFINE)
@@ -44548,7 +44603,7 @@ ${latestSubscriptionCallbackError.current.stack}
44548
44603
  }, "getOwnPropertyDescriptor");
44549
44604
  var global$1 = _globalExports;
44550
44605
  var has$7 = _has;
44551
- var DESCRIPTORS = _descriptors;
44606
+ var DESCRIPTORS = require_descriptors();
44552
44607
  var $export$2 = _export;
44553
44608
  var redefine = _redefine;
44554
44609
  var META = _metaExports.KEY;
@@ -44571,7 +44626,7 @@ ${latestSubscriptionCallbackError.current.stack}
44571
44626
  var gOPNExt = _objectGopnExt;
44572
44627
  var $GOPD = _objectGopd;
44573
44628
  var $GOPS = _objectGops;
44574
- var $DP = _objectDp;
44629
+ var $DP = require_objectDp();
44575
44630
  var $keys$1 = _objectKeys;
44576
44631
  var gOPD$1 = $GOPD.f;
44577
44632
  var dP = $DP.f;
@@ -44707,7 +44762,7 @@ ${latestSubscriptionCallbackError.current.stack}
44707
44762
  }, "toString"));
44708
44763
  $GOPD.f = $getOwnPropertyDescriptor;
44709
44764
  $DP.f = $defineProperty;
44710
- _objectGopn.f = gOPNExt.f = $getOwnPropertyNames;
44765
+ require_objectGopn().f = gOPNExt.f = $getOwnPropertyNames;
44711
44766
  require_objectPie().f = $propertyIsEnumerable;
44712
44767
  $GOPS.f = $getOwnPropertySymbols;
44713
44768
  if (DESCRIPTORS && !_library) {
@@ -62068,19 +62123,19 @@ ${latestSubscriptionCallbackError.current.stack}
62068
62123
  }
62069
62124
  __name(getActiveItem, "getActiveItem");
62070
62125
  /*! *****************************************************************************
62071
- Copyright (c) Microsoft Corporation.
62126
+ Copyright (c) Microsoft Corporation.
62072
62127
 
62073
- Permission to use, copy, modify, and/or distribute this software for any
62074
- purpose with or without fee is hereby granted.
62128
+ Permission to use, copy, modify, and/or distribute this software for any
62129
+ purpose with or without fee is hereby granted.
62075
62130
 
62076
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
62077
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
62078
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
62079
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
62080
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
62081
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
62082
- PERFORMANCE OF THIS SOFTWARE.
62083
- ***************************************************************************** */
62131
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
62132
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
62133
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
62134
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
62135
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
62136
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
62137
+ PERFORMANCE OF THIS SOFTWARE.
62138
+ ***************************************************************************** */
62084
62139
  var extendStatics$3 = /* @__PURE__ */ __name(function(d2, b3) {
62085
62140
  extendStatics$3 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b5) {
62086
62141
  d3.__proto__ = b5;
@@ -64997,27 +65052,51 @@ ${latestSubscriptionCallbackError.current.stack}
64997
65052
  value: void 0
64998
65053
  });
64999
65054
  let TgSelect = _TgSelect;
65000
- const TgSelect$1 = withProps((props) => {
65001
- const { multi, value, options } = props;
65002
- let optionsToRet = options;
65003
- if (multi && value) {
65004
- const valArray = getValueArray(value);
65005
- optionsToRet = options.filter((op) => {
65006
- const isOptionSelected = valArray.some((val2) => {
65007
- if (!val2)
65008
- return false;
65009
- const matching = lodashExports.isEqual(val2.value, op.value);
65010
- return matching;
65055
+ const withAsyncOptions = /* @__PURE__ */ __name((Component) => (props) => {
65056
+ const _a2 = props, { loadOptions, options } = _a2, rest = __objRest(_a2, ["loadOptions", "options"]);
65057
+ const [asyncOptions, setAsyncOptions] = reactExports.useState([]);
65058
+ const [isLoading, setLoading] = reactExports.useState(false);
65059
+ reactExports.useEffect(() => {
65060
+ if (loadOptions) {
65061
+ setLoading(true);
65062
+ loadOptions().then((options2) => {
65063
+ setAsyncOptions(options2);
65064
+ setLoading(false);
65011
65065
  });
65012
- return !isOptionSelected;
65013
- });
65014
- }
65015
- return {
65016
- // unfilteredOptions is needed for finding selected items
65017
- unfilteredOptions: options,
65018
- options: optionsToRet
65019
- };
65020
- })(TgSelect);
65066
+ }
65067
+ }, [loadOptions]);
65068
+ return /* @__PURE__ */ React$2.createElement(
65069
+ Component,
65070
+ __spreadProps(__spreadValues({}, rest), {
65071
+ isLoading: isLoading || rest.isLoading,
65072
+ options: loadOptions ? asyncOptions : options
65073
+ })
65074
+ );
65075
+ }, "withAsyncOptions");
65076
+ const TgSelect$1 = compose$1(
65077
+ withAsyncOptions,
65078
+ withProps((props) => {
65079
+ const { multi, value, options = [] } = props;
65080
+ let optionsToRet = options;
65081
+ if (multi && value) {
65082
+ const valArray = getValueArray(value);
65083
+ optionsToRet = options.filter((op) => {
65084
+ const isOptionSelected = valArray.some((val2) => {
65085
+ if (!val2)
65086
+ return false;
65087
+ const matching = lodashExports.isEqual(val2.value, op.value);
65088
+ return matching;
65089
+ });
65090
+ return !isOptionSelected;
65091
+ });
65092
+ }
65093
+ return {
65094
+ // unfilteredOptions is needed for finding selected items
65095
+ unfilteredOptions: options,
65096
+ options: optionsToRet
65097
+ };
65098
+ })
65099
+ )(TgSelect);
65021
65100
  const itemDisabled = /* @__PURE__ */ __name((i2) => i2.disabled, "itemDisabled");
65022
65101
  const noResultsDefault = /* @__PURE__ */ React$2.createElement("div", null, "No Results...");
65023
65102
  const renderCreateNewOption$1 = /* @__PURE__ */ __name((query, active2, handleClick) => /* @__PURE__ */ React$2.createElement(
@@ -68100,19 +68179,19 @@ ${latestSubscriptionCallbackError.current.stack}
68100
68179
  min: DEFAULT_MIN_MILLISECOND
68101
68180
  }, _a$1);
68102
68181
  /*! *****************************************************************************
68103
- Copyright (c) Microsoft Corporation.
68182
+ Copyright (c) Microsoft Corporation.
68104
68183
 
68105
- Permission to use, copy, modify, and/or distribute this software for any
68106
- purpose with or without fee is hereby granted.
68184
+ Permission to use, copy, modify, and/or distribute this software for any
68185
+ purpose with or without fee is hereby granted.
68107
68186
 
68108
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
68109
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
68110
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
68111
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
68112
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
68113
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
68114
- PERFORMANCE OF THIS SOFTWARE.
68115
- ***************************************************************************** */
68187
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
68188
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
68189
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
68190
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
68191
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
68192
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
68193
+ PERFORMANCE OF THIS SOFTWARE.
68194
+ ***************************************************************************** */
68116
68195
  var extendStatics$2 = /* @__PURE__ */ __name(function(d2, b3) {
68117
68196
  extendStatics$2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b5) {
68118
68197
  d3.__proto__ = b5;
@@ -72450,19 +72529,59 @@ ${latestSubscriptionCallbackError.current.stack}
72450
72529
  if (intent === Intent.DANGER) {
72451
72530
  console.error("Toastr error message: ", message);
72452
72531
  }
72532
+ const maybeAddClearAll = /* @__PURE__ */ __name(() => {
72533
+ const existingClearAllButtons = document.querySelectorAll(`.tg-clear-all-toasts`);
72534
+ existingClearAllButtons.forEach((button) => {
72535
+ button.remove();
72536
+ });
72537
+ const activeToasts = document.querySelectorAll(
72538
+ `.bp3-toast:not(.bp3-toast-exit)`
72539
+ );
72540
+ if (activeToasts.length > 1) {
72541
+ const topToaster = document.querySelector(`.bp3-toast`);
72542
+ if (!topToaster)
72543
+ return;
72544
+ const closeButton = document.createElement("div");
72545
+ closeButton.classList.add(
72546
+ BUTTON,
72547
+ LARGE,
72548
+ INTENT_PRIMARY,
72549
+ "tg-clear-all-toasts"
72550
+ );
72551
+ closeButton.innerText = "Clear all";
72552
+ closeButton.onclick = window.__tgClearAllToasts;
72553
+ closeButton.style.position = "absolute";
72554
+ closeButton.style.right = "-100px";
72555
+ topToaster.appendChild(closeButton);
72556
+ }
72557
+ }, "maybeAddClearAll");
72453
72558
  const uniqKey = toastToUse.show(
72454
72559
  {
72455
72560
  intent,
72456
72561
  message,
72457
- timeout: options.timeout || updatedTimeout || intent === Intent.DANGER ? 6e4 : void 0,
72562
+ onDismiss: () => {
72563
+ if (options.onDismiss) {
72564
+ options.onDismiss();
72565
+ }
72566
+ setTimeout(() => {
72567
+ maybeAddClearAll();
72568
+ }, 0);
72569
+ },
72570
+ timeout: options.timeout || updatedTimeout || (!window.Cypress && intent === Intent.DANGER ? 6e4 : void 0),
72458
72571
  action: options.action,
72459
72572
  icon: options.icon,
72460
72573
  className: classNames$1("preserve-newline", options.className)
72461
72574
  },
72462
72575
  options.key
72463
72576
  );
72577
+ setTimeout(() => {
72578
+ maybeAddClearAll();
72579
+ }, 0);
72464
72580
  function clear() {
72465
72581
  toastToUse.dismiss(uniqKey);
72582
+ setTimeout(() => {
72583
+ maybeAddClearAll();
72584
+ }, 0);
72466
72585
  }
72467
72586
  __name(clear, "clear");
72468
72587
  clear.key = uniqKey;
@@ -72632,6 +72751,7 @@ ${latestSubscriptionCallbackError.current.stack}
72632
72751
  intent: Intent.SUCCESS,
72633
72752
  text: "Filter",
72634
72753
  secondaryText: "Clear",
72754
+ secondaryIntent: Intent.DANGER,
72635
72755
  secondaryAction: () => {
72636
72756
  currentFilter && removeSingleFilter(currentFilter.filterOn);
72637
72757
  }
@@ -85343,17 +85463,20 @@ ${latestSubscriptionCallbackError.current.stack}
85343
85463
  });
85344
85464
  }
85345
85465
  }, "handleSelectAllRows"));
85466
+ __publicField(this, "updateValidationHelper", /* @__PURE__ */ __name(() => {
85467
+ const { entities, reduxFormCellValidation } = computePresets(this.props);
85468
+ this.updateValidation(entities, reduxFormCellValidation);
85469
+ }, "updateValidationHelper"));
85346
85470
  __publicField(this, "updateValidation", /* @__PURE__ */ __name((entities, newCellValidate) => {
85347
85471
  const { change: change2, schema: schema2 } = computePresets(this.props);
85348
- change2(
85349
- "reduxFormCellValidation",
85350
- validateTableWideErrors({
85351
- entities,
85352
- schema: schema2,
85353
- newCellValidate,
85354
- props: this.props
85355
- })
85356
- );
85472
+ const tableWideErr = validateTableWideErrors({
85473
+ entities,
85474
+ schema: schema2,
85475
+ newCellValidate,
85476
+ props: this.props
85477
+ });
85478
+ change2("reduxFormCellValidation", tableWideErr);
85479
+ this.forceUpdate();
85357
85480
  }, "updateValidation"));
85358
85481
  __publicField(this, "handleDeleteCell", /* @__PURE__ */ __name(() => {
85359
85482
  const {
@@ -85419,7 +85542,7 @@ ${latestSubscriptionCallbackError.current.stack}
85419
85542
  onFinishMsg: "Column Copied"
85420
85543
  });
85421
85544
  }, "handleCopyColumn"));
85422
- __publicField(this, "handleCopyRows", /* @__PURE__ */ __name((rowElsToCopy, { specificColumn, onFinishMsg } = {}) => {
85545
+ __publicField(this, "handleCopyRows", /* @__PURE__ */ __name((rowElsToCopy, { specificColumn, onFinishMsg, isDownload } = {}) => {
85423
85546
  let textToCopy = [];
85424
85547
  const jsonToCopy = [];
85425
85548
  lodashExports.forEach(rowElsToCopy, (rowEl) => {
@@ -85430,7 +85553,15 @@ ${latestSubscriptionCallbackError.current.stack}
85430
85553
  textToCopy = textToCopy.filter((text2) => text2).join("\n");
85431
85554
  if (!textToCopy)
85432
85555
  return window.toastr.warning("No text to copy");
85433
- this.handleCopyHelper(textToCopy, jsonToCopy, onFinishMsg || "Row Copied");
85556
+ if (isDownload) {
85557
+ downloadjs(textToCopy.replaceAll(" ", ","), "tableData.csv", "text/csv");
85558
+ } else {
85559
+ this.handleCopyHelper(
85560
+ textToCopy,
85561
+ jsonToCopy,
85562
+ onFinishMsg || "Row Copied"
85563
+ );
85564
+ }
85434
85565
  }, "handleCopyRows"));
85435
85566
  __publicField(this, "updateEntitiesHelper", /* @__PURE__ */ __name((ents, fn2) => {
85436
85567
  const { change: change2, reduxFormEntitiesUndoRedoStack = { currentVersion: 0 } } = this.props;
@@ -85483,14 +85614,14 @@ ${latestSubscriptionCallbackError.current.stack}
85483
85614
  window.toastr.success(message);
85484
85615
  }
85485
85616
  }, "handleCopyHelper"));
85486
- __publicField(this, "handleCopyTable", /* @__PURE__ */ __name((e2) => {
85617
+ __publicField(this, "handleCopyTable", /* @__PURE__ */ __name((e2, opts2) => {
85487
85618
  try {
85488
85619
  const allRowEls = getAllRows(e2);
85489
85620
  if (!allRowEls)
85490
85621
  return;
85491
- this.handleCopyRows(allRowEls, {
85622
+ this.handleCopyRows(allRowEls, __spreadProps(__spreadValues({}, opts2), {
85492
85623
  onFinishMsg: "Table Copied"
85493
- });
85624
+ }));
85494
85625
  } catch (error) {
85495
85626
  console.error(`error:`, error);
85496
85627
  window.toastr.error("Error copying rows.");
@@ -85738,7 +85869,8 @@ ${latestSubscriptionCallbackError.current.stack}
85738
85869
  getRowClassName && getRowClassName(rowInfo, state2, this.props),
85739
85870
  {
85740
85871
  disabled: rowDisabled,
85741
- selected: rowSelected && !withCheckboxes
85872
+ selected: rowSelected && !withCheckboxes,
85873
+ "rt-tr-last-row": rowInfo.index === entities.length - 1
85742
85874
  }
85743
85875
  ),
85744
85876
  "data-test-id": dataId === void 0 ? rowInfo.index : dataId,
@@ -85835,7 +85967,8 @@ ${latestSubscriptionCallbackError.current.stack}
85835
85967
  this.startCellEdit(cellId);
85836
85968
  }
85837
85969
  }, err2 && {
85838
- "data-tip": (err2 == null ? void 0 : err2.message) || err2
85970
+ "data-tip": (err2 == null ? void 0 : err2.message) || err2,
85971
+ "data-no-child-data-tip": true
85839
85972
  }), {
85840
85973
  onContextMenu: (e2) => {
85841
85974
  if (!isPrimarySelected) {
@@ -87141,6 +87274,7 @@ ${latestSubscriptionCallbackError.current.stack}
87141
87274
  );
87142
87275
  }, "renderColumnHeader"));
87143
87276
  if (this.props.helperProp) {
87277
+ this.props.helperProp.updateValidationHelper = this.updateValidationHelper;
87144
87278
  this.props.helperProp.addEditableTableEntities = this.addEditableTableEntities;
87145
87279
  this.props.helperProp.getEditableTableInfoAndThrowFormError = this.getEditableTableInfoAndThrowFormError;
87146
87280
  }
@@ -87740,27 +87874,6 @@ ${latestSubscriptionCallbackError.current.stack}
87740
87874
  if (n2)
87741
87875
  this.table = n2;
87742
87876
  },
87743
- additionalBodyEl: isCellEditable && !onlyShowRowsWErrors && /* @__PURE__ */ React$2.createElement(
87744
- "div",
87745
- {
87746
- style: {
87747
- width: "100%",
87748
- display: "flex",
87749
- justifyContent: "center"
87750
- }
87751
- },
87752
- /* @__PURE__ */ React$2.createElement(
87753
- Button,
87754
- {
87755
- icon: "add",
87756
- onClick: () => {
87757
- this.insertRows({ numRows: 10, appendToBottom: true });
87758
- },
87759
- minimal: true
87760
- },
87761
- "Add 10 Rows"
87762
- )
87763
- ),
87764
87877
  className: classNames$1({
87765
87878
  isCellEditable,
87766
87879
  "tg-table-loading": isLoading,
@@ -87802,6 +87915,37 @@ ${latestSubscriptionCallbackError.current.stack}
87802
87915
  SubComponent: SubComponentToUse
87803
87916
  }, ReactTableProps)
87804
87917
  ),
87918
+ isCellEditable && /* @__PURE__ */ React$2.createElement("div", { style: { display: "flex" } }, /* @__PURE__ */ React$2.createElement(
87919
+ "div",
87920
+ {
87921
+ style: {
87922
+ width: "100%",
87923
+ display: "flex",
87924
+ justifyContent: "center"
87925
+ }
87926
+ },
87927
+ !onlyShowRowsWErrors && /* @__PURE__ */ React$2.createElement(
87928
+ Button,
87929
+ {
87930
+ icon: "add",
87931
+ onClick: () => {
87932
+ this.insertRows({ numRows: 10, appendToBottom: true });
87933
+ },
87934
+ minimal: true
87935
+ },
87936
+ "Add 10 Rows"
87937
+ )
87938
+ ), /* @__PURE__ */ React$2.createElement(
87939
+ Button,
87940
+ {
87941
+ onClick: (e2) => {
87942
+ this.handleCopyTable(e2, { isDownload: true });
87943
+ },
87944
+ "data-tip": "Download Table as CSV",
87945
+ minimal: true,
87946
+ icon: "download"
87947
+ }
87948
+ )),
87805
87949
  !noFooter && /* @__PURE__ */ React$2.createElement(
87806
87950
  "div",
87807
87951
  {
@@ -88409,6 +88553,7 @@ ${latestSubscriptionCallbackError.current.stack}
88409
88553
  onMultiFileUploadSubmit,
88410
88554
  doAllFilesHaveSameHeaders,
88411
88555
  csvValidationIssue,
88556
+ ignoredHeadersMsg,
88412
88557
  searchResults,
88413
88558
  matchedHeaders,
88414
88559
  userSchema,
@@ -88426,7 +88571,7 @@ ${latestSubscriptionCallbackError.current.stack}
88426
88571
  if (v2)
88427
88572
  flippedMatchedHeaders[v2] = k2;
88428
88573
  });
88429
- return /* @__PURE__ */ React$2.createElement("div", { style: { maxWidth: 500 } }, !onMultiFileUploadSubmit && /* @__PURE__ */ React$2.createElement(Callout, { style: { width: "fit-content" }, intent: "warning" }, csvValidationIssue), /* @__PURE__ */ React$2.createElement("br", null), /* @__PURE__ */ React$2.createElement(
88574
+ return /* @__PURE__ */ React$2.createElement("div", { style: { maxWidth: 500 } }, !onMultiFileUploadSubmit && /* @__PURE__ */ React$2.createElement(Callout, { style: { width: "fit-content" }, intent: "warning" }, csvValidationIssue), !onMultiFileUploadSubmit && ignoredHeadersMsg && /* @__PURE__ */ React$2.createElement(Callout, { style: { width: "fit-content" }, intent: "warning" }, ignoredHeadersMsg), /* @__PURE__ */ React$2.createElement("br", null), /* @__PURE__ */ React$2.createElement(
88430
88575
  "tr",
88431
88576
  {
88432
88577
  style: {
@@ -88815,7 +88960,7 @@ ${latestSubscriptionCallbackError.current.stack}
88815
88960
  };
88816
88961
  var Config = __spreadValues(__spreadValues(__spreadValues(__spreadValues({}, BasicOptions), MatchOptions), FuzzyOptions), AdvancedOptions$1);
88817
88962
  const SPACE$2 = /[^ ]+/g;
88818
- function norm(weight = 1, mantissa = 3) {
88963
+ function norm$1(weight = 1, mantissa = 3) {
88819
88964
  const cache2 = /* @__PURE__ */ new Map();
88820
88965
  const m2 = Math.pow(10, mantissa);
88821
88966
  return {
@@ -88834,13 +88979,13 @@ ${latestSubscriptionCallbackError.current.stack}
88834
88979
  }
88835
88980
  };
88836
88981
  }
88837
- __name(norm, "norm");
88982
+ __name(norm$1, "norm$1");
88838
88983
  const _FuseIndex = class _FuseIndex {
88839
88984
  constructor({
88840
88985
  getFn = Config.getFn,
88841
88986
  fieldNormWeight = Config.fieldNormWeight
88842
88987
  } = {}) {
88843
- this.norm = norm(fieldNormWeight, 3);
88988
+ this.norm = norm$1(fieldNormWeight, 3);
88844
88989
  this.getFn = getFn;
88845
88990
  this.isCreated = false;
88846
88991
  this.setIndexRecords();
@@ -89989,7 +90134,7 @@ ${latestSubscriptionCallbackError.current.stack}
89989
90134
  }) {
89990
90135
  yield resolveValidateAgainstSchema();
89991
90136
  const userSchema = getSchema(incomingData);
89992
- const { searchResults, csvValidationIssue } = yield matchSchemas({
90137
+ const { searchResults, csvValidationIssue, ignoredHeadersMsg } = yield matchSchemas({
89993
90138
  userSchema,
89994
90139
  officialSchema: validateAgainstSchema
89995
90140
  });
@@ -90025,6 +90170,7 @@ ${latestSubscriptionCallbackError.current.stack}
90025
90170
  }
90026
90171
  });
90027
90172
  return {
90173
+ ignoredHeadersMsg,
90028
90174
  csvValidationIssue,
90029
90175
  matchedHeaders,
90030
90176
  userSchema,
@@ -90041,15 +90187,31 @@ ${latestSubscriptionCallbackError.current.stack}
90041
90187
  };
90042
90188
  let csvValidationIssue = false;
90043
90189
  const fuse = new Fuse(userSchema.fields, options);
90190
+ const matchedAltPaths = [];
90044
90191
  officialSchema.fields.forEach((h2) => {
90045
90192
  let hasMatch = false;
90046
90193
  let result = fuse.search(h2.path) || [];
90194
+ const hadNormalPathMatch = userSchema.fields.some(
90195
+ (uh2) => norm(uh2.path) === norm(h2.path)
90196
+ );
90047
90197
  userSchema.fields.forEach((uh2, i2) => {
90048
- const pathMatch = uh2.path.toLowerCase().replace(/ /g, "") === h2.path.toLowerCase().replace(/ /g, "");
90049
- const displayNameMatch = h2.displayName && uh2.path.toLowerCase().replace(/ /g, "") === getTextFromEl(h2.displayName).toLowerCase().replace(/ /g, "");
90050
- const hasAlternatePathMatch = h2.alternatePathMatch && (lodashExports.isArray(h2.alternatePathMatch) ? h2.alternatePathMatch.some((alternatePathMatch) => {
90051
- return uh2.path.toLowerCase().replace(/ /g, "") === alternatePathMatch.toLowerCase().replace(/ /g, "");
90052
- }) : uh2.path.toLowerCase().replace(/ /g, "") === h2.alternatePathMatch.toLowerCase().replace(/ /g, ""));
90198
+ const pathMatch = norm(uh2.path) === norm(h2.path);
90199
+ const displayNameMatch = h2.displayName && norm(uh2.path) === norm(getTextFromEl(h2.displayName));
90200
+ const hasAlternatePathMatch = !hadNormalPathMatch && h2.alternatePathMatch && (lodashExports.isArray(h2.alternatePathMatch) ? h2.alternatePathMatch : [h2.alternatePathMatch]).find((alternatePathMatch) => {
90201
+ let altPath = alternatePathMatch;
90202
+ if (lodashExports.isPlainObject(alternatePathMatch)) {
90203
+ altPath = alternatePathMatch.path;
90204
+ }
90205
+ return norm(uh2.path) === norm(altPath);
90206
+ });
90207
+ if (hasAlternatePathMatch) {
90208
+ matchedAltPaths.push(
90209
+ hasAlternatePathMatch.path || hasAlternatePathMatch
90210
+ );
90211
+ if (hasAlternatePathMatch.format) {
90212
+ h2.format = hasAlternatePathMatch.format;
90213
+ }
90214
+ }
90053
90215
  if (pathMatch || displayNameMatch || hasAlternatePathMatch) {
90054
90216
  result = result.filter(({ path: path2 }) => path2 === uh2.path);
90055
90217
  result.unshift({
@@ -90069,6 +90231,16 @@ ${latestSubscriptionCallbackError.current.stack}
90069
90231
  csvValidationIssue = "It looks like some of the headers in your uploaded file(s) do not match the expected headers. Please look over and correct any issues with the mappings below.";
90070
90232
  }
90071
90233
  });
90234
+ const ignoredUserSchemaFields = [];
90235
+ userSchema.fields.forEach((uh2) => {
90236
+ if (!officialSchema.fields.find(
90237
+ (h2) => norm(h2.path) === norm(uh2.path) || norm(h2.displayName) === norm(uh2.path) || matchedAltPaths.includes(uh2.path)
90238
+ )) {
90239
+ if (userSchema.userData.some((e2) => e2[uh2.path])) {
90240
+ ignoredUserSchemaFields.push(uh2);
90241
+ }
90242
+ }
90243
+ });
90072
90244
  if (officialSchema.coerceUserSchema) {
90073
90245
  officialSchema.coerceUserSchema({ userSchema, officialSchema });
90074
90246
  }
@@ -90126,9 +90298,14 @@ ${latestSubscriptionCallbackError.current.stack}
90126
90298
  };
90127
90299
  }
90128
90300
  }
90301
+ let ignoredHeadersMsg;
90302
+ if (ignoredUserSchemaFields.length) {
90303
+ ignoredHeadersMsg = `It looks like the following headers in your file didn't map to any of the accepted headers: ${ignoredUserSchemaFields.map((f2) => f2.displayName || f2.path).join(", ")}`;
90304
+ }
90129
90305
  return {
90130
90306
  searchResults: officialSchema.fields,
90131
- csvValidationIssue
90307
+ csvValidationIssue,
90308
+ ignoredHeadersMsg
90132
90309
  };
90133
90310
  });
90134
90311
  }
@@ -90147,6 +90324,10 @@ ${latestSubscriptionCallbackError.current.stack}
90147
90324
  });
90148
90325
  }
90149
90326
  __name(resolveValidateAgainstSchema, "resolveValidateAgainstSchema");
90327
+ function norm(h2) {
90328
+ return lodashExports.snakeCase(h2).toLowerCase().replace(/ /g, "");
90329
+ }
90330
+ __name(norm, "norm");
90150
90331
  const getInitialSteps = /* @__PURE__ */ __name((csvValidationIssue) => [
90151
90332
  { text: "Review Headers", active: csvValidationIssue },
90152
90333
  { text: "Review Data", active: !csvValidationIssue }
@@ -90194,6 +90375,7 @@ ${latestSubscriptionCallbackError.current.stack}
90194
90375
  doAllFilesHaveSameHeaders,
90195
90376
  destroyForms,
90196
90377
  csvValidationIssue,
90378
+ ignoredHeadersMsg,
90197
90379
  searchResults,
90198
90380
  matchedHeaders,
90199
90381
  userSchema,
@@ -90305,6 +90487,7 @@ ${latestSubscriptionCallbackError.current.stack}
90305
90487
  destroyForms,
90306
90488
  setFilesWIssues,
90307
90489
  csvValidationIssue,
90490
+ ignoredHeadersMsg,
90308
90491
  searchResults,
90309
90492
  matchedHeaders,
90310
90493
  userSchema,
@@ -90340,6 +90523,7 @@ ${latestSubscriptionCallbackError.current.stack}
90340
90523
  reduxFormEntitiesArray,
90341
90524
  // onMultiFileUploadSubmit,
90342
90525
  csvValidationIssue,
90526
+ ignoredHeadersMsg,
90343
90527
  searchResults,
90344
90528
  matchedHeaders,
90345
90529
  userSchema,
@@ -90382,6 +90566,7 @@ ${latestSubscriptionCallbackError.current.stack}
90382
90566
  searchResults,
90383
90567
  onUploadWizardFinish,
90384
90568
  csvValidationIssue,
90569
+ ignoredHeadersMsg,
90385
90570
  matchedHeaders,
90386
90571
  //fromRedux:
90387
90572
  changeForm,
@@ -90411,6 +90596,7 @@ ${latestSubscriptionCallbackError.current.stack}
90411
90596
  searchResults,
90412
90597
  onUploadWizardFinish,
90413
90598
  csvValidationIssue,
90599
+ ignoredHeadersMsg,
90414
90600
  matchedHeaders,
90415
90601
  //fromRedux:
90416
90602
  handleSubmit: handleSubmit2,
@@ -90448,6 +90634,7 @@ ${latestSubscriptionCallbackError.current.stack}
90448
90634
  __spreadValues({}, {
90449
90635
  onMultiFileUploadSubmit,
90450
90636
  csvValidationIssue,
90637
+ ignoredHeadersMsg,
90451
90638
  searchResults,
90452
90639
  matchedHeaders,
90453
90640
  userSchema,
@@ -90749,15 +90936,15 @@ ${latestSubscriptionCallbackError.current.stack}
90749
90936
  var jszip_min = { exports: {} };
90750
90937
  /*!
90751
90938
 
90752
- JSZip v3.10.1 - A JavaScript class for generating and reading zip files
90753
- <http://stuartk.com/jszip>
90939
+ JSZip v3.10.1 - A JavaScript class for generating and reading zip files
90940
+ <http://stuartk.com/jszip>
90754
90941
 
90755
- (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
90756
- Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
90942
+ (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
90943
+ Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
90757
90944
 
90758
- JSZip uses the library pako released under the MIT license :
90759
- https://github.com/nodeca/pako/blob/main/LICENSE
90760
- */
90945
+ JSZip uses the library pako released under the MIT license :
90946
+ https://github.com/nodeca/pako/blob/main/LICENSE
90947
+ */
90761
90948
  (function(module2, exports3) {
90762
90949
  !function(e2) {
90763
90950
  module2.exports = e2();
@@ -98616,7 +98803,7 @@ ${latestSubscriptionCallbackError.current.stack}
98616
98803
  }, "isZipFile");
98617
98804
  const getExt = /* @__PURE__ */ __name((file) => {
98618
98805
  var _a2;
98619
- return (_a2 = file == null ? void 0 : file.name) == null ? void 0 : _a2.split(".").pop();
98806
+ return (_a2 = (file == null ? void 0 : file.name) || (file == null ? void 0 : file.originalname)) == null ? void 0 : _a2.split(".").pop();
98620
98807
  }, "getExt");
98621
98808
  const isExcelFile = /* @__PURE__ */ __name((file) => getExt(file) === "xlsx", "isExcelFile");
98622
98809
  const isCsvFile = /* @__PURE__ */ __name((file) => getExt(file) === "csv", "isCsvFile");
@@ -98704,7 +98891,9 @@ ${latestSubscriptionCallbackError.current.stack}
98704
98891
  const opts2 = __spreadProps(__spreadValues(__spreadValues({}, defaultCsvParserOptions), setupCsvParserOptions(parserOptions)), {
98705
98892
  complete: (results) => {
98706
98893
  var _a2;
98707
- if (results && ((_a2 = results.data) == null ? void 0 : _a2.length) && results.errors && results.errors.length === 1 && results.errors[0].code === `UndetectableDelimiter`) {
98894
+ if (results && ((_a2 = results.data) == null ? void 0 : _a2.length) && results.errors && (results.errors.length === 1 && results.errors[0].code === `UndetectableDelimiter` || results.errors.every(
98895
+ (e2) => e2.code === `TooFewFields` || e2.code === `TooManyFields`
98896
+ ))) {
98708
98897
  return resolve(results);
98709
98898
  } else if (results && results.errors && results.errors.length) {
98710
98899
  return reject("Error in csv: " + JSON.stringify(results.errors));
@@ -100254,7 +100443,7 @@ ${latestSubscriptionCallbackError.current.stack}
100254
100443
  let ValidateAgainstSchema = _ValidateAgainstSchema;
100255
100444
  const emptyPromise = Promise.resolve.bind(Promise);
100256
100445
  function UploaderInner({
100257
- accept: _accept,
100446
+ accept: __accept,
100258
100447
  contentOverride: maybeContentOverride,
100259
100448
  innerIcon,
100260
100449
  innerText,
@@ -100284,20 +100473,37 @@ ${latestSubscriptionCallbackError.current.stack}
100284
100473
  dropzoneProps = {},
100285
100474
  overflowList,
100286
100475
  autoUnzip,
100287
- disabled,
100476
+ disabled: _disabled,
100288
100477
  noBuildCsvOption,
100289
100478
  initializeForm,
100290
100479
  showFilesCount,
100291
100480
  threeDotMenuItems,
100292
100481
  onPreviewClick
100293
100482
  }) {
100294
- var _a2, _b2, _c2, _d2, _e, _f;
100483
+ var _a2, _b2, _c2, _d2;
100484
+ let dropzoneDisabled = _disabled;
100485
+ let _accept = __accept;
100295
100486
  const validateAgainstSchemaStore = reactExports.useRef(new ValidateAgainstSchema());
100296
- const callout = _callout || ((_c2 = (_b2 = (_a2 = lodashExports.isArray(_accept) ? _accept : [_accept]).find) == null ? void 0 : _b2.call(_a2, (a2) => a2 == null ? void 0 : a2.callout)) == null ? void 0 : _c2.callout);
100297
- const validateAgainstSchemaToUse = _validateAgainstSchema || ((_f = (_e = (_d2 = lodashExports.isArray(_accept) ? _accept : [_accept]).find) == null ? void 0 : _e.call(
100298
- _d2,
100299
- (a2) => a2 == null ? void 0 : a2.validateAgainstSchema
100300
- )) == null ? void 0 : _f.validateAgainstSchema);
100487
+ const [resolvedAccept, setResolvedAccept] = reactExports.useState();
100488
+ if (resolvedAccept) {
100489
+ _accept = resolvedAccept;
100490
+ }
100491
+ const isAcceptPromise = (__accept == null ? void 0 : __accept.then) || (Array.isArray(__accept) ? __accept.some((a2) => a2 == null ? void 0 : a2.then) : false);
100492
+ const acceptLoading = !resolvedAccept && isAcceptPromise && `Accept Loading...`;
100493
+ if (isAcceptPromise && !resolvedAccept) {
100494
+ Promise.allSettled(Array.isArray(__accept) ? __accept : [__accept]).then(
100495
+ (results) => {
100496
+ const resolved = lodashExports.flatMap(results, (r2) => r2.value);
100497
+ setResolvedAccept(resolved);
100498
+ }
100499
+ );
100500
+ _accept = [];
100501
+ }
100502
+ if (acceptLoading)
100503
+ dropzoneDisabled = true;
100504
+ const accept = !_accept ? void 0 : isAcceptPromise && !resolvedAccept ? [] : lodashExports.isPlainObject(_accept) ? [_accept] : lodashExports.isArray(_accept) ? _accept : _accept.split(",").map((a2) => ({ type: a2 }));
100505
+ const callout = _callout || ((_b2 = (_a2 = accept == null ? void 0 : accept.find) == null ? void 0 : _a2.call(accept, (a2) => a2 == null ? void 0 : a2.callout)) == null ? void 0 : _b2.callout);
100506
+ const validateAgainstSchemaToUse = _validateAgainstSchema || ((_d2 = (_c2 = accept == null ? void 0 : accept.find) == null ? void 0 : _c2.call(accept, (a2) => a2 == null ? void 0 : a2.validateAgainstSchema)) == null ? void 0 : _d2.validateAgainstSchema);
100301
100507
  reactExports.useEffect(() => {
100302
100508
  validateAgainstSchemaStore.current.setValidateAgainstSchema(
100303
100509
  validateAgainstSchemaToUse
@@ -100307,7 +100513,6 @@ ${latestSubscriptionCallbackError.current.stack}
100307
100513
  if (validateAgainstSchemaToUse) {
100308
100514
  validateAgainstSchema = validateAgainstSchemaStore.current;
100309
100515
  }
100310
- const accept = !_accept ? void 0 : lodashExports.isPlainObject(_accept) ? [_accept] : lodashExports.isArray(_accept) ? _accept : _accept.split(",").map((a2) => ({ type: a2 }));
100311
100516
  if ((validateAgainstSchema || autoUnzip) && accept && !accept.some((a2) => a2.type === "zip")) {
100312
100517
  accept == null ? void 0 : accept.unshift({
100313
100518
  type: "zip",
@@ -100572,14 +100777,14 @@ ${latestSubscriptionCallbackError.current.stack}
100572
100777
  className: "tg-uploader-inner",
100573
100778
  style: { width: "100%", height: "fit-content", minWidth: 0 }
100574
100779
  },
100575
- simpleAccept && /* @__PURE__ */ React$2.createElement(
100780
+ (simpleAccept || acceptLoading) && /* @__PURE__ */ React$2.createElement(
100576
100781
  "div",
100577
100782
  {
100578
100783
  className: TEXT_MUTED,
100579
100784
  style: { fontSize: 11, marginBottom: 5 }
100580
100785
  },
100581
100786
  advancedAccept ? /* @__PURE__ */ React$2.createElement("div", { style: {} }, "Accepts  ", /* @__PURE__ */ React$2.createElement("span", { style: {} }, advancedAccept.map((a2, i2) => {
100582
- const disabled2 = !(a2.description || a2.exampleFile || a2.exampleFiles);
100787
+ const disabled = !(a2.description || a2.exampleFile || a2.exampleFiles);
100583
100788
  const PopOrTooltip = a2.exampleFiles ? Popover : Tooltip;
100584
100789
  const hasDownload = a2.exampleFile || a2.exampleFiles;
100585
100790
  const CustomTag = !hasDownload ? "span" : "a";
@@ -100588,7 +100793,7 @@ ${latestSubscriptionCallbackError.current.stack}
100588
100793
  {
100589
100794
  key: i2,
100590
100795
  interactionKind: "hover",
100591
- disabled: disabled2,
100796
+ disabled,
100592
100797
  modifiers: popoverOverflowModifiers,
100593
100798
  content: a2.exampleFiles ? /* @__PURE__ */ React$2.createElement(Menu, null, a2.exampleFiles.map(
100594
100799
  ({ description: description2, subtext, exampleFile, icon }, i22) => {
@@ -100666,12 +100871,15 @@ ${latestSubscriptionCallbackError.current.stack}
100666
100871
  )
100667
100872
  )
100668
100873
  );
100669
- }))) : /* @__PURE__ */ React$2.createElement(React$2.Fragment, null, "Accepts ", simpleAccept)
100874
+ }))) : acceptLoading ? (
100875
+ // make the dots below "load"
100876
+ /* @__PURE__ */ React$2.createElement(React$2.Fragment, null, "Accept Loading", /* @__PURE__ */ React$2.createElement(LoadingDots, null))
100877
+ ) : /* @__PURE__ */ React$2.createElement(React$2.Fragment, null, "Accepts ", simpleAccept)
100670
100878
  ),
100671
100879
  /* @__PURE__ */ React$2.createElement(
100672
100880
  Dropzone$1,
100673
100881
  __spreadValues(__spreadValues({
100674
- disabled,
100882
+ disabled: dropzoneDisabled,
100675
100883
  onClick: (evt) => evt.preventDefault(),
100676
100884
  multiple: fileLimit !== 1,
100677
100885
  accept: simpleAccept ? simpleAccept.split(", ").map((a2) => a2.startsWith(".") ? a2 : "." + a2).join(", ") : void 0
@@ -100754,7 +100962,13 @@ ${latestSubscriptionCallbackError.current.stack}
100754
100962
  if (isCsvOrExcelFile(file)) {
100755
100963
  let parsedF;
100756
100964
  try {
100757
- parsedF = yield parseCsvOrExcelFile(file);
100965
+ parsedF = yield parseCsvOrExcelFile(file, {
100966
+ csvParserOptions: lodashExports.isFunction(
100967
+ validateAgainstSchema.csvParserOptions
100968
+ ) ? validateAgainstSchema.csvParserOptions({
100969
+ validateAgainstSchema
100970
+ }) : validateAgainstSchema.csvParserOptions
100971
+ });
100758
100972
  } catch (error) {
100759
100973
  console.error("error:", error);
100760
100974
  window.toastr && window.toastr.error(
@@ -100766,7 +100980,8 @@ ${latestSubscriptionCallbackError.current.stack}
100766
100980
  csvValidationIssue: _csvValidationIssue,
100767
100981
  matchedHeaders,
100768
100982
  userSchema,
100769
- searchResults
100983
+ searchResults,
100984
+ ignoredHeadersMsg
100770
100985
  } = yield tryToMatchSchemas({
100771
100986
  incomingData: parsedF.data,
100772
100987
  validateAgainstSchema
@@ -100809,6 +101024,7 @@ ${latestSubscriptionCallbackError.current.stack}
100809
101024
  filesWIssues.push({
100810
101025
  file,
100811
101026
  csvValidationIssue,
101027
+ ignoredHeadersMsg,
100812
101028
  matchedHeaders,
100813
101029
  userSchema,
100814
101030
  searchResults
@@ -100817,6 +101033,7 @@ ${latestSubscriptionCallbackError.current.stack}
100817
101033
  filesWOIssues.push({
100818
101034
  file,
100819
101035
  csvValidationIssue,
101036
+ ignoredHeadersMsg,
100820
101037
  matchedHeaders,
100821
101038
  userSchema,
100822
101039
  searchResults
@@ -100916,7 +101133,8 @@ ${latestSubscriptionCallbackError.current.stack}
100916
101133
  "tg-dropzone-reject": isDragReject,
100917
101134
  // tnr: the acceptClassName/rejectClassName doesn't work with file extensions (only mimetypes are supported when dragging). Thus we'll just always turn the drop area blue when dragging and let the filtering occur on drop. See https://github.com/react-dropzone/react-dropzone/issues/888#issuecomment-773938074
100918
101135
  "tg-dropzone-accept": isDragAccept,
100919
- "tg-dropzone-disabled": disabled
101136
+ "tg-dropzone-disabled": dropzoneDisabled,
101137
+ "bp3-disabled": dropzoneDisabled
100920
101138
  })
100921
101139
  }),
100922
101140
  /* @__PURE__ */ React$2.createElement("input", __spreadValues({}, getInputProps())),
@@ -104008,19 +104226,19 @@ ${latestSubscriptionCallbackError.current.stack}
104008
104226
  }(reactExports.PureComponent)
104009
104227
  );
104010
104228
  /*! *****************************************************************************
104011
- Copyright (c) Microsoft Corporation. All rights reserved.
104012
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
104013
- this file except in compliance with the License. You may obtain a copy of the
104014
- License at http://www.apache.org/licenses/LICENSE-2.0
104229
+ Copyright (c) Microsoft Corporation. All rights reserved.
104230
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
104231
+ this file except in compliance with the License. You may obtain a copy of the
104232
+ License at http://www.apache.org/licenses/LICENSE-2.0
104015
104233
 
104016
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
104017
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
104018
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
104019
- MERCHANTABLITY OR NON-INFRINGEMENT.
104234
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
104235
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
104236
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
104237
+ MERCHANTABLITY OR NON-INFRINGEMENT.
104020
104238
 
104021
- See the Apache Version 2.0 License for specific language governing permissions
104022
- and limitations under the License.
104023
- ***************************************************************************** */
104239
+ See the Apache Version 2.0 License for specific language governing permissions
104240
+ and limitations under the License.
104241
+ ***************************************************************************** */
104024
104242
  var extendStatics$1 = /* @__PURE__ */ __name(function(d2, b3) {
104025
104243
  extendStatics$1 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b5) {
104026
104244
  d3.__proto__ = b5;
@@ -112784,7 +113002,7 @@ ${latestSubscriptionCallbackError.current.stack}
112784
113002
  let allWarnings = [];
112785
113003
  let makeToast = /* @__PURE__ */ __name(() => {
112786
113004
  if (typeof window !== "undefined" && window.toastr && allWarnings.length) {
112787
- window.toastr.warning(allWarnings.join("\n"));
113005
+ window.toastr.warning(lodashExports.uniq(allWarnings).join("\n"));
112788
113006
  }
112789
113007
  allWarnings = [];
112790
113008
  }, "makeToast");
@@ -121685,6 +121903,8 @@ ${latestSubscriptionCallbackError.current.stack}
121685
121903
  }
121686
121904
  __name(convertAmbiguousStringToRegex, "convertAmbiguousStringToRegex");
121687
121905
  function getComplementSequenceString(sequence2, isRna2) {
121906
+ if (typeof sequence2 !== "string")
121907
+ return "";
121688
121908
  let complementSeqString = "";
121689
121909
  const complementMap = lodashExports.merge(
121690
121910
  DNAComplementMap,
@@ -149926,6 +150146,7 @@ ${seq.sequence}
149926
150146
  {
149927
150147
  className: "veRowViewAxis veAxis",
149928
150148
  height: annotationHeight,
150149
+ width,
149929
150150
  style: __spreadValues({ marginTop: marginTop2, overflow: "visible", display: "block" }, style2)
149930
150151
  },
149931
150152
  tickMarkSVG,
@@ -150983,7 +151204,7 @@ double click --> edit`}`;
150983
151204
  annotation.labelClassName
150984
151205
  ),
150985
151206
  style: {
150986
- fontSize: ".9em",
151207
+ // fontSize: ".8em",
150987
151208
  fill: _textColor
150988
151209
  },
150989
151210
  transform: `translate(${textOffset},${height2 - 2})`
@@ -152950,10 +153171,10 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
152950
153171
  height: height2
152951
153172
  } = annotationVisibility2;
152952
153173
  const { sequence: sequence2 = "", cutsites = [] } = row;
152953
- const reverseSequence = getComplementSequenceString(
153174
+ const reverseSequence = showReverseSequence ? getComplementSequenceString(
152954
153175
  alignmentData && alignmentData.sequence || sequence2,
152955
153176
  isRna2
152956
- );
153177
+ ) : "";
152957
153178
  const getGaps = reactExports.useMemo(() => {
152958
153179
  if (alignmentData) {
152959
153180
  const gapMap = getGapMap$1(alignmentData.sequence);
@@ -154047,7 +154268,7 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
154047
154268
  }
154048
154269
  __name(showFileDialog, "showFileDialog");
154049
154270
  const name = "@teselagen/ove";
154050
- const version = "0.3.64";
154271
+ const version = "0.4.1";
154051
154272
  const main = "./src/index.js";
154052
154273
  const exports$1 = {
154053
154274
  ".": {
@@ -155049,8 +155270,10 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
155049
155270
  const readOnlyDisabledTooltip = "Sorry this function is not allowed in Read-Only Mode";
155050
155271
  const bpEditingDisabledTooltip = "Sequence Editing Disabled";
155051
155272
  const noSelection = /* @__PURE__ */ __name(({ selectionLayer: selectionLayer2 = {} }) => !(selectionLayer2.start > -1 && selectionLayer2.end > -1) && "Selection Required", "noSelection");
155052
- const triggerClipboardCommand = /* @__PURE__ */ __name((type) => {
155053
- const wrapper2 = document.querySelector(".veVectorInteractionWrapper");
155273
+ const triggerClipboardCommand = /* @__PURE__ */ __name((type, props) => {
155274
+ const wrapper2 = document.querySelector(
155275
+ `#${props.editorName} .veVectorInteractionWrapper`
155276
+ );
155054
155277
  if (!wrapper2) {
155055
155278
  return window.toastr.info(`Cannot trigger a ${type} in the current view`);
155056
155279
  }
@@ -155081,8 +155304,8 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
155081
155304
  cut: {
155082
155305
  isDisabled: (props) => props.disableBpEditing && bpEditingDisabledTooltip || props.readOnly && readOnlyDisabledTooltip || props.sequenceLength === 0,
155083
155306
  isHidden: (props) => props.readOnly || props.disableBpEditing,
155084
- handler: () => {
155085
- triggerClipboardCommand("cut");
155307
+ handler: (props) => {
155308
+ triggerClipboardCommand("cut", props);
155086
155309
  },
155087
155310
  hotkey: "mod+x"
155088
155311
  },
@@ -155100,13 +155323,13 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
155100
155323
  },
155101
155324
  copy: {
155102
155325
  isDisabled: (props) => props.sequenceLength === 0,
155103
- handler: () => triggerClipboardCommand("copy"),
155326
+ handler: (props) => triggerClipboardCommand("copy", props),
155104
155327
  hotkey: "mod+c"
155105
155328
  },
155106
155329
  paste: {
155107
155330
  isDisabled: (props) => props.readOnly && readOnlyDisabledTooltip,
155108
155331
  isHidden: (props) => props.readOnly || props.disableBpEditing,
155109
- handler: () => triggerClipboardCommand("paste"),
155332
+ handler: (props) => triggerClipboardCommand("paste", props),
155110
155333
  hotkey: "mod+v"
155111
155334
  },
155112
155335
  undo: {
@@ -157738,7 +157961,7 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
157738
157961
  ...getEditDeleteHandlers("Feature", annotation),
157739
157962
  ...this.getSelectionMenuOptions(annotation),
157740
157963
  ...readOnly2 ? [] : [
157741
- ...parts2 && [
157964
+ ...parts2 ? [
157742
157965
  "--",
157743
157966
  {
157744
157967
  text: "Make a Part from Feature",
@@ -157767,7 +157990,7 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
157767
157990
  });
157768
157991
  })
157769
157992
  }
157770
- ],
157993
+ ] : [],
157771
157994
  {
157772
157995
  text: "Merge With Another Feature",
157773
157996
  onClick: () => {
@@ -159949,6 +160172,11 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
159949
160172
  updateLabelsForInViewFeatures();
159950
160173
  }
159951
160174
  };
160175
+ const tickSpacingToUse = tickSpacing || (isLinViewZoomed ? massageTickSpacing(Math.ceil(120 / this.charWidth)) : massageTickSpacing(
160176
+ Math.floor(
160177
+ this.getMaxLength() / (sequenceData2.isProtein ? 9 : 10) * Math.max(1, Math.log10(1 / this.charWidth))
160178
+ )
160179
+ ));
159952
160180
  return /* @__PURE__ */ React$2.createElement(
159953
160181
  ReactDraggable,
159954
160182
  {
@@ -160050,9 +160278,7 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
160050
160278
  bpsPerRow,
160051
160279
  fullSequence: sequenceData2.sequence,
160052
160280
  emptyText: getEmptyText({ sequenceData: sequenceData2, caretPosition: caretPosition2 }),
160053
- tickSpacing: tickSpacing || (isLinViewZoomed ? massageTickSpacing(Math.ceil(120 / this.charWidth)) : Math.floor(
160054
- this.getMaxLength() / (sequenceData2.isProtein ? 9 : 10)
160055
- )),
160281
+ tickSpacing: tickSpacingToUse,
160056
160282
  annotationVisibility: __spreadValues(__spreadValues(__spreadValues({}, rest.annotationVisibility), (!isLinViewZoomed || this.charWidth < 5) && {
160057
160283
  translations: false,
160058
160284
  primaryProteinSequence: false,
@@ -160337,7 +160563,6 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
160337
160563
  display: "flex",
160338
160564
  flexDirection: "column",
160339
160565
  overflowX: "visible"
160340
- // overflowY: "hidden"
160341
160566
  },
160342
160567
  onClick: this.handleMinimapClick
160343
160568
  },
@@ -160351,9 +160576,7 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
160351
160576
  }
160352
160577
  },
160353
160578
  style: {
160354
- // maxHeight: 350,
160355
160579
  overflowY: minimapTracksPartialHeight > 190 ? "auto" : "hidden",
160356
- // overflowY: "auto",
160357
160580
  overflowX: "hidden",
160358
160581
  position: "relative"
160359
160582
  },
@@ -160384,7 +160607,6 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
160384
160607
  {
160385
160608
  style: {
160386
160609
  marginTop: -3
160387
- // paddingLeft: nameDivWidth
160388
160610
  },
160389
160611
  ref
160390
160612
  },
@@ -160400,15 +160622,15 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
160400
160622
  /* @__PURE__ */ React$2.createElement(
160401
160623
  Axis$2,
160402
160624
  __spreadValues({}, {
160403
- row: { start: 0, end: seqLength },
160625
+ row: { start: 0, end: seqLength - 1 },
160404
160626
  tickSpacing: massageTickSpacing(Math.floor(seqLength / 10)),
160405
160627
  bpsPerRow: seqLength,
160406
160628
  charWidth: charWidth2,
160407
160629
  annotationHeight: 15,
160408
160630
  sequenceLength: seqLength,
160409
160631
  style: {
160410
- // paddingLeft: nameDivWidth,
160411
- height: 17
160632
+ height: 17,
160633
+ width: "100%"
160412
160634
  }
160413
160635
  })
160414
160636
  )
@@ -178333,19 +178555,19 @@ ${seqDataToCopy}\r
178333
178555
  * Released under MIT License
178334
178556
  */
178335
178557
  /*! *****************************************************************************
178336
- Copyright (c) Microsoft Corporation.
178558
+ Copyright (c) Microsoft Corporation.
178337
178559
 
178338
- Permission to use, copy, modify, and/or distribute this software for any
178339
- purpose with or without fee is hereby granted.
178560
+ Permission to use, copy, modify, and/or distribute this software for any
178561
+ purpose with or without fee is hereby granted.
178340
178562
 
178341
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
178342
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
178343
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
178344
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
178345
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
178346
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
178347
- PERFORMANCE OF THIS SOFTWARE.
178348
- ***************************************************************************** */
178563
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
178564
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
178565
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
178566
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
178567
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
178568
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
178569
+ PERFORMANCE OF THIS SOFTWARE.
178570
+ ***************************************************************************** */
178349
178571
  var extendStatics = /* @__PURE__ */ __name(function(d2, b3) {
178350
178572
  extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b5) {
178351
178573
  d3.__proto__ = b5;