@teselagen/ove 0.4.2 → 0.4.4

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.cjs.js CHANGED
@@ -5537,10 +5537,10 @@ var ownKeys$7 = typeof Reflect !== "undefined" && Reflect.ownKeys ? Reflect.ownK
5537
5537
  /* istanbul ignore next */
5538
5538
  Object.getOwnPropertyNames
5539
5539
  );
5540
- function toPrimitive$3(value) {
5540
+ function toPrimitive$2(value) {
5541
5541
  return value === null ? null : typeof value === "object" ? "" + value : value;
5542
5542
  }
5543
- __name(toPrimitive$3, "toPrimitive$3");
5543
+ __name(toPrimitive$2, "toPrimitive$2");
5544
5544
  function hasProp(target, prop2) {
5545
5545
  return objectPrototype$1.hasOwnProperty.call(target, prop2);
5546
5546
  }
@@ -6437,7 +6437,7 @@ var ObservableValue = /* @__PURE__ */ function(_Atom) {
6437
6437
  return this.name_ + "[" + this.value_ + "]";
6438
6438
  }, "toString");
6439
6439
  _proto.valueOf = /* @__PURE__ */ __name(function valueOf() {
6440
- return toPrimitive$3(this.get());
6440
+ return toPrimitive$2(this.get());
6441
6441
  }, "valueOf");
6442
6442
  _proto[_Symbol$toPrimitive] = function() {
6443
6443
  return this.valueOf();
@@ -6622,7 +6622,7 @@ var ComputedValue = /* @__PURE__ */ function() {
6622
6622
  return this.name_ + "[" + this.derivation.toString() + "]";
6623
6623
  }, "toString");
6624
6624
  _proto.valueOf = /* @__PURE__ */ __name(function valueOf() {
6625
- return toPrimitive$3(this.get());
6625
+ return toPrimitive$2(this.get());
6626
6626
  }, "valueOf");
6627
6627
  _proto[_Symbol$toPrimitive$1] = function() {
6628
6628
  return this.valueOf();
@@ -11256,7 +11256,7 @@ lodash.exports;
11256
11256
  "^" + funcToString2.call(hasOwnProperty2).replace(reRegExpChar2, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
11257
11257
  );
11258
11258
  var Buffer2 = moduleExports2 ? context.Buffer : undefined$12, Symbol2 = context.Symbol, Uint8Array2 = context.Uint8Array, allocUnsafe2 = Buffer2 ? Buffer2.allocUnsafe : undefined$12, getPrototype2 = overArg2(Object2.getPrototypeOf, Object2), objectCreate2 = Object2.create, propertyIsEnumerable3 = objectProto2.propertyIsEnumerable, splice3 = arrayProto2.splice, spreadableSymbol2 = Symbol2 ? Symbol2.isConcatSpreadable : undefined$12, symIterator = Symbol2 ? Symbol2.iterator : undefined$12, symToStringTag2 = Symbol2 ? Symbol2.toStringTag : undefined$12;
11259
- var defineProperty6 = function() {
11259
+ var defineProperty5 = function() {
11260
11260
  try {
11261
11261
  var func = getNative2(Object2, "defineProperty");
11262
11262
  func({}, "", {});
@@ -11696,8 +11696,8 @@ lodash.exports;
11696
11696
  }
11697
11697
  __name(baseAssignIn2, "baseAssignIn");
11698
11698
  function baseAssignValue2(object3, key, value) {
11699
- if (key == "__proto__" && defineProperty6) {
11700
- defineProperty6(object3, key, {
11699
+ if (key == "__proto__" && defineProperty5) {
11700
+ defineProperty5(object3, key, {
11701
11701
  "configurable": true,
11702
11702
  "enumerable": true,
11703
11703
  "value": value,
@@ -12430,8 +12430,8 @@ lodash.exports;
12430
12430
  metaMap.set(func, data);
12431
12431
  return func;
12432
12432
  };
12433
- var baseSetToString2 = !defineProperty6 ? identity4 : function(func, string2) {
12434
- return defineProperty6(func, "toString", {
12433
+ var baseSetToString2 = !defineProperty5 ? identity4 : function(func, string2) {
12434
+ return defineProperty5(func, "toString", {
12435
12435
  "configurable": true,
12436
12436
  "enumerable": false,
12437
12437
  "value": constant2(string2),
@@ -16984,11 +16984,20 @@ function require_domCreate() {
16984
16984
  return _domCreate;
16985
16985
  }
16986
16986
  __name(require_domCreate, "require_domCreate");
16987
- var _ie8DomDefine = !require_descriptors() && !_fails(function() {
16988
- return Object.defineProperty(require_domCreate()("div"), "a", { get: function() {
16989
- return 7;
16990
- } }).a != 7;
16991
- });
16987
+ var _ie8DomDefine;
16988
+ var hasRequired_ie8DomDefine;
16989
+ function require_ie8DomDefine() {
16990
+ if (hasRequired_ie8DomDefine)
16991
+ return _ie8DomDefine;
16992
+ hasRequired_ie8DomDefine = 1;
16993
+ _ie8DomDefine = !require_descriptors() && !_fails(function() {
16994
+ return Object.defineProperty(require_domCreate()("div"), "a", { get: function() {
16995
+ return 7;
16996
+ } }).a != 7;
16997
+ });
16998
+ return _ie8DomDefine;
16999
+ }
17000
+ __name(require_ie8DomDefine, "require_ie8DomDefine");
16992
17001
  var isObject$d = _isObject;
16993
17002
  var _toPrimitive$1 = /* @__PURE__ */ __name(function(it, S2) {
16994
17003
  if (!isObject$d(it))
@@ -17002,25 +17011,33 @@ var _toPrimitive$1 = /* @__PURE__ */ __name(function(it, S2) {
17002
17011
  return val2;
17003
17012
  throw TypeError("Can't convert object to primitive value");
17004
17013
  }, "_toPrimitive$1");
17005
- var anObject$3 = _anObject;
17006
- var IE8_DOM_DEFINE$1 = _ie8DomDefine;
17007
- var toPrimitive$2 = _toPrimitive$1;
17008
- var dP$2 = Object.defineProperty;
17009
- _objectDp.f = require_descriptors() ? Object.defineProperty : /* @__PURE__ */ __name(function defineProperty2(O2, P2, Attributes) {
17010
- anObject$3(O2);
17011
- P2 = toPrimitive$2(P2, true);
17012
- anObject$3(Attributes);
17013
- if (IE8_DOM_DEFINE$1)
17014
- try {
17015
- return dP$2(O2, P2, Attributes);
17016
- } catch (e2) {
17017
- }
17018
- if ("get" in Attributes || "set" in Attributes)
17019
- throw TypeError("Accessors not supported!");
17020
- if ("value" in Attributes)
17021
- O2[P2] = Attributes.value;
17022
- return O2;
17023
- }, "defineProperty");
17014
+ var hasRequired_objectDp;
17015
+ function require_objectDp() {
17016
+ if (hasRequired_objectDp)
17017
+ return _objectDp;
17018
+ hasRequired_objectDp = 1;
17019
+ var anObject2 = _anObject;
17020
+ var IE8_DOM_DEFINE2 = require_ie8DomDefine();
17021
+ var toPrimitive2 = _toPrimitive$1;
17022
+ var dP2 = Object.defineProperty;
17023
+ _objectDp.f = require_descriptors() ? Object.defineProperty : /* @__PURE__ */ __name(function defineProperty5(O2, P2, Attributes) {
17024
+ anObject2(O2);
17025
+ P2 = toPrimitive2(P2, true);
17026
+ anObject2(Attributes);
17027
+ if (IE8_DOM_DEFINE2)
17028
+ try {
17029
+ return dP2(O2, P2, Attributes);
17030
+ } catch (e2) {
17031
+ }
17032
+ if ("get" in Attributes || "set" in Attributes)
17033
+ throw TypeError("Accessors not supported!");
17034
+ if ("value" in Attributes)
17035
+ O2[P2] = Attributes.value;
17036
+ return O2;
17037
+ }, "defineProperty");
17038
+ return _objectDp;
17039
+ }
17040
+ __name(require_objectDp, "require_objectDp");
17024
17041
  var _propertyDesc = /* @__PURE__ */ __name(function(bitmap, value) {
17025
17042
  return {
17026
17043
  enumerable: !(bitmap & 1),
@@ -17029,7 +17046,7 @@ var _propertyDesc = /* @__PURE__ */ __name(function(bitmap, value) {
17029
17046
  value
17030
17047
  };
17031
17048
  }, "_propertyDesc");
17032
- var dP$1 = _objectDp;
17049
+ var dP$1 = require_objectDp();
17033
17050
  var createDesc$3 = _propertyDesc;
17034
17051
  var _hide = require_descriptors() ? function(object3, key, value) {
17035
17052
  return dP$1.f(object3, key, createDesc$3(1, value));
@@ -17103,25 +17120,16 @@ var toString$6 = {}.toString;
17103
17120
  var _cof = /* @__PURE__ */ __name(function(it) {
17104
17121
  return toString$6.call(it).slice(8, -1);
17105
17122
  }, "_cof");
17106
- var _iobject;
17107
- var hasRequired_iobject;
17108
- function require_iobject() {
17109
- if (hasRequired_iobject)
17110
- return _iobject;
17111
- hasRequired_iobject = 1;
17112
- var cof2 = _cof;
17113
- _iobject = Object("z").propertyIsEnumerable(0) ? Object : function(it) {
17114
- return cof2(it) == "String" ? it.split("") : Object(it);
17115
- };
17116
- return _iobject;
17117
- }
17118
- __name(require_iobject, "require_iobject");
17123
+ var cof$2 = _cof;
17124
+ var _iobject = Object("z").propertyIsEnumerable(0) ? Object : function(it) {
17125
+ return cof$2(it) == "String" ? it.split("") : Object(it);
17126
+ };
17119
17127
  var _defined = /* @__PURE__ */ __name(function(it) {
17120
17128
  if (it == void 0)
17121
17129
  throw TypeError("Can't call method on " + it);
17122
17130
  return it;
17123
17131
  }, "_defined");
17124
- var IObject = require_iobject();
17132
+ var IObject = _iobject;
17125
17133
  var defined$2 = _defined;
17126
17134
  var _toIobject = /* @__PURE__ */ __name(function(it) {
17127
17135
  return IObject(defined$2(it));
@@ -17242,7 +17250,7 @@ function require_objectAssign() {
17242
17250
  var gOPS2 = _objectGops;
17243
17251
  var pIE2 = require_objectPie();
17244
17252
  var toObject2 = _toObject;
17245
- var IObject2 = require_iobject();
17253
+ var IObject2 = _iobject;
17246
17254
  var $assign = Object.assign;
17247
17255
  _objectAssign = !$assign || _fails(function() {
17248
17256
  var A2 = {};
@@ -17309,7 +17317,7 @@ function require_objectDps() {
17309
17317
  if (hasRequired_objectDps)
17310
17318
  return _objectDps;
17311
17319
  hasRequired_objectDps = 1;
17312
- var dP2 = _objectDp;
17320
+ var dP2 = require_objectDp();
17313
17321
  var anObject2 = _anObject;
17314
17322
  var getKeys2 = _objectKeys;
17315
17323
  _objectDps = require_descriptors() ? Object.defineProperties : /* @__PURE__ */ __name(function defineProperties3(O2, Properties2) {
@@ -17391,7 +17399,7 @@ var $exports = _wks.exports = function(name2) {
17391
17399
  };
17392
17400
  $exports.store = store$2;
17393
17401
  var _wksExports = _wks.exports;
17394
- var def = _objectDp.f;
17402
+ var def = require_objectDp().f;
17395
17403
  var has$c = _has;
17396
17404
  var TAG$1 = _wksExports("toStringTag");
17397
17405
  var _setToStringTag = /* @__PURE__ */ __name(function(it, tag, stat) {
@@ -17664,7 +17672,7 @@ var ArrayProto = Array.prototype;
17664
17672
  var _isArrayIter = /* @__PURE__ */ __name(function(it) {
17665
17673
  return it !== void 0 && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
17666
17674
  }, "_isArrayIter");
17667
- var $defineProperty$2 = _objectDp;
17675
+ var $defineProperty$2 = require_objectDp();
17668
17676
  var createDesc$2 = _propertyDesc;
17669
17677
  var _createProperty = /* @__PURE__ */ __name(function(object3, index2, value) {
17670
17678
  if (index2 in object3)
@@ -17793,9 +17801,9 @@ var _default$8 = /* @__PURE__ */ __name(function(instance, Constructor) {
17793
17801
  }
17794
17802
  }, "_default$8");
17795
17803
  var $export$3 = _export;
17796
- $export$3($export$3.S + $export$3.F * !require_descriptors(), "Object", { defineProperty: _objectDp.f });
17804
+ $export$3($export$3.S + $export$3.F * !require_descriptors(), "Object", { defineProperty: require_objectDp().f });
17797
17805
  var $Object$2 = _coreExports.Object;
17798
- var defineProperty$c = /* @__PURE__ */ __name(function defineProperty3(it, key, desc) {
17806
+ var defineProperty$c = /* @__PURE__ */ __name(function defineProperty2(it, key, desc) {
17799
17807
  return $Object$2.defineProperty(it, key, desc);
17800
17808
  }, "defineProperty");
17801
17809
  var defineProperty$b = { "default": defineProperty$c, __esModule: true };
@@ -17834,7 +17842,7 @@ var _meta = { exports: {} };
17834
17842
  var META$1 = _uid("meta");
17835
17843
  var isObject$c = _isObject;
17836
17844
  var has$a = _has;
17837
- var setDesc = _objectDp.f;
17845
+ var setDesc = require_objectDp().f;
17838
17846
  var id$1 = 0;
17839
17847
  var isExtensible = Object.isExtensible || function() {
17840
17848
  return true;
@@ -17887,7 +17895,7 @@ var meta = _meta.exports = {
17887
17895
  var _metaExports = _meta.exports;
17888
17896
  var core = _coreExports;
17889
17897
  var wksExt$1 = _wksExt;
17890
- var defineProperty$a = _objectDp.f;
17898
+ var defineProperty$a = require_objectDp().f;
17891
17899
  var _wksDefine = /* @__PURE__ */ __name(function(name2) {
17892
17900
  var $Symbol2 = core.Symbol || (core.Symbol = {});
17893
17901
  if (name2.charAt(0) != "_" && !(name2 in $Symbol2))
@@ -17941,7 +17949,7 @@ var createDesc$1 = _propertyDesc;
17941
17949
  var toIObject$1 = _toIobject;
17942
17950
  var toPrimitive$1 = _toPrimitive$1;
17943
17951
  var has$9 = _has;
17944
- var IE8_DOM_DEFINE = _ie8DomDefine;
17952
+ var IE8_DOM_DEFINE = require_ie8DomDefine();
17945
17953
  var gOPD$5 = Object.getOwnPropertyDescriptor;
17946
17954
  _objectGopd.f = require_descriptors() ? gOPD$5 : /* @__PURE__ */ __name(function getOwnPropertyDescriptor(O2, P2) {
17947
17955
  O2 = toIObject$1(O2);
@@ -17979,7 +17987,7 @@ var _create$1 = require_objectCreate();
17979
17987
  var gOPNExt = _objectGopnExt;
17980
17988
  var $GOPD = _objectGopd;
17981
17989
  var $GOPS = _objectGops;
17982
- var $DP = _objectDp;
17990
+ var $DP = require_objectDp();
17983
17991
  var $keys$1 = _objectKeys;
17984
17992
  var gOPD$4 = $GOPD.f;
17985
17993
  var dP = $DP.f;
@@ -18022,7 +18030,7 @@ var isSymbol$8 = USE_NATIVE && typeof $Symbol.iterator == "symbol" ? function(it
18022
18030
  } : function(it) {
18023
18031
  return it instanceof $Symbol;
18024
18032
  };
18025
- var $defineProperty$1 = /* @__PURE__ */ __name(function defineProperty4(it, key, D2) {
18033
+ var $defineProperty$1 = /* @__PURE__ */ __name(function defineProperty3(it, key, D2) {
18026
18034
  if (it === ObjectProto)
18027
18035
  $defineProperty$1(OPSymbols, key, D2);
18028
18036
  anObject(it);
@@ -83663,12 +83671,12 @@ const calcTmMethods = {
83663
83671
  // Monovalent salt concentration. 50mM is typical for PCR.
83664
83672
  /**
83665
83673
  * Calculates temperature for DNA sequence using a given algorithm.
83666
- * @param {String} sequence The DNA sequence to use.
83667
- * @param {String} type Either Teselagen.bio.tools.TemperatureCalculator.TABLE_BRESLAUER, TABLE_SUGIMOTO, or TABLE_UNIFIED
83668
- * @param {Double} A Helix initation for deltaS. Defaults to -10.8.
83669
- * @param {Double} R The gas constant, in cal/(K*mol). Defaults to 0.5e-6M.
83670
- * @param {Double} Na THe monovalent salt concentration. Defaults to 50e-3M.
83671
- * @return {Double} Temperature for the given sequence, in Celsius.
83674
+ * sequence - The DNA sequence to use.
83675
+ * type - Either Teselagen.bio.tools.TemperatureCalculator.TABLE_BRESLAUER, TABLE_SUGIMOTO, or TABLE_UNIFIED
83676
+ * A - Helix initation for deltaS. Defaults to -10.8.
83677
+ * R - The gas constant, in cal/(K*mol). Defaults to 0.5e-6M.
83678
+ * Na - THe monovalent salt concentration. Defaults to 50e-3M.
83679
+ * return - Temperature for the given sequence, in Celsius.
83672
83680
  */
83673
83681
  calculateTemperature: function(sequence2, type, A2, R2, C, Na) {
83674
83682
  if (typeof type === "undefined") {
@@ -105702,13 +105710,12 @@ function jsonToFasta(jsonSequence, options) {
105702
105710
  proteinSize,
105703
105711
  proteinSequence
105704
105712
  } = cleanedData;
105705
- options = options || {};
105706
- let seqToUse = sequence2;
105707
- let sizeToUse = size;
105708
- if (isProtein2 && proteinSequence) {
105709
- seqToUse = proteinSequence;
105710
- sizeToUse = proteinSize;
105711
- }
105713
+ options = __spreadValues({
105714
+ sequence: isProtein2 && proteinSequence ? proteinSequence : sequence2,
105715
+ size: isProtein2 && proteinSequence ? proteinSize : size
105716
+ }, options);
105717
+ const seqToUse = options.sequence;
105718
+ const sizeToUse = options.size;
105712
105719
  let fastaString = "";
105713
105720
  fastaString += `>${name2 || "Untitled Sequence"}|`;
105714
105721
  fastaString += "|" + sizeToUse;
@@ -110017,7 +110024,7 @@ const importSequenceFromFile = /* @__PURE__ */ __name((props) => (_0, ..._1) =>
110017
110024
  }
110018
110025
  __name(finishDisplayingSeq, "finishDisplayingSeq");
110019
110026
  }), "importSequenceFromFile");
110020
- const exportSequenceToFile = /* @__PURE__ */ __name((props) => (format2) => {
110027
+ const exportSequenceToFile = /* @__PURE__ */ __name((props) => (format2, options) => {
110021
110028
  const { sequenceData: sequenceData2 } = props;
110022
110029
  let convert2, fileExt;
110023
110030
  if (format2 === "genbank") {
@@ -110036,7 +110043,9 @@ const exportSequenceToFile = /* @__PURE__ */ __name((props) => (format2) => {
110036
110043
  console.error(`Invalid export format: '${format2}'`);
110037
110044
  return;
110038
110045
  }
110039
- const blob = new Blob([convert2(sequenceData2)], { type: "text/plain" });
110046
+ const blob = new Blob([convert2(sequenceData2, options)], {
110047
+ type: "text/plain"
110048
+ });
110040
110049
  const filename = `${sequenceData2.name || "Untitled_Sequence"}.${fileExt}`;
110041
110050
  FileSaver.saveAs(blob, filename);
110042
110051
  window.toastr.success("File Downloaded Successfully");
@@ -124996,7 +125005,7 @@ function showFileDialog({ multiple = false, onSelect }) {
124996
125005
  }
124997
125006
  __name(showFileDialog, "showFileDialog");
124998
125007
  const name = "@teselagen/ove";
124999
- const version = "0.4.1";
125008
+ const version = "0.4.3";
125000
125009
  const main = "./src/index.js";
125001
125010
  const exports$1 = {
125002
125011
  ".": {
@@ -125918,9 +125927,21 @@ const fileCommandDefs = __spreadValues(__spreadProps(__spreadValues({
125918
125927
  name: (props) => isProtein(props) ? "Download GenPept File" : "Download Genbank File",
125919
125928
  handler: (props) => props.exportSequenceToFile(isProtein(props) ? "genpept" : "genbank")
125920
125929
  },
125921
- exportSequenceAsFasta: {
125922
- name: "Download FASTA File",
125923
- handler: (props) => props.exportSequenceToFile("fasta")
125930
+ exportDNASequenceAsFasta: {
125931
+ name: (props) => `Download ${props.sequenceData.isProtein ? "DNA " : ""}FASTA File`,
125932
+ isHidden: (props) => !props.sequenceData.sequence,
125933
+ handler: (props) => props.exportSequenceToFile("fasta", {
125934
+ sequence: props.sequenceData.sequence,
125935
+ size: props.sequenceData.size
125936
+ })
125937
+ },
125938
+ exportProteinSequenceAsFasta: {
125939
+ name: "Download AA FASTA File",
125940
+ isHidden: (props) => !props.sequenceData.proteinSequence,
125941
+ handler: (props) => props.exportSequenceToFile("fasta", {
125942
+ sequence: props.sequenceData.proteinSequence,
125943
+ size: props.sequenceData.proteinSize
125944
+ })
125924
125945
  },
125925
125946
  exportSequenceAsTeselagenJson: {
125926
125947
  name: "Download Teselagen JSON File",
@@ -126000,7 +126021,7 @@ const bpEditingDisabledTooltip = "Sequence Editing Disabled";
126000
126021
  const noSelection = /* @__PURE__ */ __name(({ selectionLayer: selectionLayer2 = {} }) => !(selectionLayer2.start > -1 && selectionLayer2.end > -1) && "Selection Required", "noSelection");
126001
126022
  const triggerClipboardCommand = /* @__PURE__ */ __name((type, props) => {
126002
126023
  const wrapper2 = document.querySelector(
126003
- `#${props.editorName} .veVectorInteractionWrapper`
126024
+ `.${props.editorName} .veVectorInteractionWrapper`
126004
126025
  );
126005
126026
  if (!wrapper2) {
126006
126027
  return window.toastr.info(`Cannot trigger a ${type} in the current view`);
@@ -127325,7 +127346,7 @@ var createClass = function() {
127325
127346
  return Constructor;
127326
127347
  };
127327
127348
  }();
127328
- var defineProperty5 = /* @__PURE__ */ __name(function(obj, key, value) {
127349
+ var defineProperty4 = /* @__PURE__ */ __name(function(obj, key, value) {
127329
127350
  if (key in obj) {
127330
127351
  Object.defineProperty(obj, key, {
127331
127352
  value,
@@ -127936,7 +127957,7 @@ function arrow(data, options) {
127936
127957
  var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
127937
127958
  sideValue = Math.max(Math.min(popper2[len] - arrowElementSize, sideValue), 0);
127938
127959
  data.arrowElement = arrowElement;
127939
- data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty5(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty5(_data$offsets$arrow, altSide, ""), _data$offsets$arrow);
127960
+ data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty4(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty4(_data$offsets$arrow, altSide, ""), _data$offsets$arrow);
127940
127961
  return data;
127941
127962
  }
127942
127963
  __name(arrow, "arrow");
@@ -128167,7 +128188,7 @@ function preventOverflow(data, options) {
128167
128188
  if (popper2[placement] < boundaries[placement] && !options.escapeWithReference) {
128168
128189
  value = Math.max(popper2[placement], boundaries[placement]);
128169
128190
  }
128170
- return defineProperty5({}, placement, value);
128191
+ return defineProperty4({}, placement, value);
128171
128192
  }, "primary"),
128172
128193
  secondary: /* @__PURE__ */ __name(function secondary(placement) {
128173
128194
  var mainSide = placement === "right" ? "left" : "top";
@@ -128175,7 +128196,7 @@ function preventOverflow(data, options) {
128175
128196
  if (popper2[placement] > boundaries[placement] && !options.escapeWithReference) {
128176
128197
  value = Math.min(popper2[mainSide], boundaries[placement] - (placement === "right" ? popper2.width : popper2.height));
128177
128198
  }
128178
- return defineProperty5({}, mainSide, value);
128199
+ return defineProperty4({}, mainSide, value);
128179
128200
  }, "secondary")
128180
128201
  };
128181
128202
  order2.forEach(function(placement) {
@@ -128196,8 +128217,8 @@ function shift3(data) {
128196
128217
  var side = isVertical ? "left" : "top";
128197
128218
  var measurement = isVertical ? "width" : "height";
128198
128219
  var shiftOffsets = {
128199
- start: defineProperty5({}, side, reference2[side]),
128200
- end: defineProperty5({}, side, reference2[side] + reference2[measurement] - popper2[measurement])
128220
+ start: defineProperty4({}, side, reference2[side]),
128221
+ end: defineProperty4({}, side, reference2[side] + reference2[measurement] - popper2[measurement])
128201
128222
  };
128202
128223
  data.offsets.popper = _extends$1({}, popper2, shiftOffsets[shiftvariation]);
128203
128224
  }
@@ -129514,7 +129535,8 @@ const menuDef = [
129514
129535
  showInSearchMenu: true,
129515
129536
  submenu: [
129516
129537
  { cmd: "exportSequenceAsGenbank" },
129517
- { cmd: "exportSequenceAsFasta" },
129538
+ { cmd: "exportDNASequenceAsFasta" },
129539
+ { cmd: "exportProteinSequenceAsFasta" },
129518
129540
  { cmd: "exportSequenceAsTeselagenJson" }
129519
129541
  ]
129520
129542
  },
@@ -137862,7 +137884,8 @@ const DownloadBtn = withHandlers({ exportSequenceToFile })((props) => {
137862
137884
  onClick: (event) => showContextMenu(
137863
137885
  [
137864
137886
  "exportSequenceAsGenbank",
137865
- "exportSequenceAsFasta",
137887
+ "exportDNASequenceAsFasta",
137888
+ "exportProteinSequenceAsFasta",
137866
137889
  "exportSequenceAsTeselagenJson"
137867
137890
  ],
137868
137891
  [
@@ -145284,7 +145307,8 @@ const Dropdown = withEditorProps((props) => {
145284
145307
  return /* @__PURE__ */ React$2.createElement(core$5.Menu, null, createCommandMenu(
145285
145308
  [
145286
145309
  "exportSequenceAsGenbank",
145287
- "exportSequenceAsFasta",
145310
+ "exportDNASequenceAsFasta",
145311
+ "exportProteinSequenceAsFasta",
145288
145312
  "exportSequenceAsTeselagenJson"
145289
145313
  ],
145290
145314
  getCommands({ props })