@teselagen/ove 0.3.19 → 0.3.21

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
@@ -30159,6 +30159,8 @@ function DialogFooter({
30159
30159
  style,
30160
30160
  onClick = lodashExports.noop,
30161
30161
  secondaryAction,
30162
+ secondaryDisabled,
30163
+ secondaryNotMinimal,
30162
30164
  intent = core$5.Intent.PRIMARY,
30163
30165
  secondaryIntent,
30164
30166
  backText = "Back",
@@ -30190,7 +30192,8 @@ function DialogFooter({
30190
30192
  core$5.Button,
30191
30193
  {
30192
30194
  intent: secondaryIntent,
30193
- className: core$5.Classes.MINIMAL + " " + secondaryClassName,
30195
+ disabled: secondaryDisabled,
30196
+ className: (!secondaryNotMinimal ? core$5.Classes.MINIMAL : "") + " " + secondaryClassName,
30194
30197
  text: secondaryText,
30195
30198
  onClick: secondaryAction || hideModal || function() {
30196
30199
  try {
@@ -30426,20 +30429,12 @@ var _cof = function (it) {
30426
30429
  return toString$6.call(it).slice(8, -1);
30427
30430
  };
30428
30431
 
30429
- var _iobject;
30430
- var hasRequired_iobject;
30431
-
30432
- function require_iobject () {
30433
- if (hasRequired_iobject) return _iobject;
30434
- hasRequired_iobject = 1;
30435
- // fallback for non-array-like ES3 and non-enumerable old V8 strings
30436
- var cof = _cof;
30437
- // eslint-disable-next-line no-prototype-builtins
30438
- _iobject = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
30439
- return cof(it) == 'String' ? it.split('') : Object(it);
30440
- };
30441
- return _iobject;
30442
- }
30432
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
30433
+ var cof$2 = _cof;
30434
+ // eslint-disable-next-line no-prototype-builtins
30435
+ var _iobject = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
30436
+ return cof$2(it) == 'String' ? it.split('') : Object(it);
30437
+ };
30443
30438
 
30444
30439
  // 7.2.1 RequireObjectCoercible(argument)
30445
30440
  var _defined = function (it) {
@@ -30448,7 +30443,7 @@ var _defined = function (it) {
30448
30443
  };
30449
30444
 
30450
30445
  // to indexed object, toObject with fallback for non-array-like ES3 strings
30451
- var IObject = require_iobject();
30446
+ var IObject = _iobject;
30452
30447
  var defined$2 = _defined;
30453
30448
  var _toIobject = function (it) {
30454
30449
  return IObject(defined$2(it));
@@ -30568,14 +30563,7 @@ _objectGops.f = Object.getOwnPropertySymbols;
30568
30563
 
30569
30564
  var _objectPie = {};
30570
30565
 
30571
- var hasRequired_objectPie;
30572
-
30573
- function require_objectPie () {
30574
- if (hasRequired_objectPie) return _objectPie;
30575
- hasRequired_objectPie = 1;
30576
- _objectPie.f = {}.propertyIsEnumerable;
30577
- return _objectPie;
30578
- }
30566
+ _objectPie.f = {}.propertyIsEnumerable;
30579
30567
 
30580
30568
  // 7.1.13 ToObject(argument)
30581
30569
  var defined$1 = _defined;
@@ -30593,9 +30581,9 @@ function require_objectAssign () {
30593
30581
  var DESCRIPTORS = _descriptors;
30594
30582
  var getKeys = _objectKeys;
30595
30583
  var gOPS = _objectGops;
30596
- var pIE = require_objectPie();
30584
+ var pIE = _objectPie;
30597
30585
  var toObject = _toObject;
30598
- var IObject = require_iobject();
30586
+ var IObject = _iobject;
30599
30587
  var $assign = Object.assign;
30600
30588
 
30601
30589
  // should work with symbols and should have deterministic property order (V8 bug)
@@ -31308,7 +31296,7 @@ var _wksDefine = function (name) {
31308
31296
  // all enumerable object keys, includes symbols
31309
31297
  var getKeys = _objectKeys;
31310
31298
  var gOPS$1 = _objectGops;
31311
- var pIE$1 = require_objectPie();
31299
+ var pIE$1 = _objectPie;
31312
31300
  var _enumKeys = function (it) {
31313
31301
  var result = getKeys(it);
31314
31302
  var getSymbols = gOPS$1.f;
@@ -31361,7 +31349,7 @@ _objectGopnExt.f = function getOwnPropertyNames(it) {
31361
31349
 
31362
31350
  var _objectGopd = {};
31363
31351
 
31364
- var pIE = require_objectPie();
31352
+ var pIE = _objectPie;
31365
31353
  var createDesc$1 = _propertyDesc;
31366
31354
  var toIObject$1 = _toIobject;
31367
31355
  var toPrimitive$1 = _toPrimitive$1;
@@ -31529,7 +31517,7 @@ if (!USE_NATIVE) {
31529
31517
  $GOPD.f = $getOwnPropertyDescriptor;
31530
31518
  $DP.f = $defineProperty$1;
31531
31519
  _objectGopn.f = gOPNExt.f = $getOwnPropertyNames;
31532
- require_objectPie().f = $propertyIsEnumerable;
31520
+ _objectPie.f = $propertyIsEnumerable;
31533
31521
  $GOPS.f = $getOwnPropertySymbols;
31534
31522
 
31535
31523
  if (DESCRIPTORS && !_library) {
@@ -66137,7 +66125,7 @@ class TgSelect extends React$3.Component {
66137
66125
  if (isTagSelect && item.value && item.value.includes && item.value.includes(":")) {
66138
66126
  const topLevelId = item.value.split(":")[0];
66139
66127
  valArray = valArray.filter((val) => {
66140
- if (val.value && val.value.includes && val.value.includes(":")) {
66128
+ if (val?.value && val.value.includes && val.value.includes(":")) {
66141
66129
  const valId = val.value.split(":")[0];
66142
66130
  if (valId === topLevelId) {
66143
66131
  return false;
@@ -66225,7 +66213,7 @@ class TgSelect extends React$3.Component {
66225
66213
  getTagProps = (label) => {
66226
66214
  const { multi, value = [], disabled: _disabled } = this.props;
66227
66215
  const val = Array.isArray(value) ? value : [value];
66228
- const matchingVal = val.find((op) => op.label === label);
66216
+ const matchingVal = val.find((op) => op?.label === label);
66229
66217
  const disabled = _disabled || matchingVal && matchingVal.disabled;
66230
66218
  const className = matchingVal && matchingVal.className;
66231
66219
  return {
@@ -83364,7 +83352,7 @@ const renderReactSelect = (props) => {
83364
83352
  }
83365
83353
  } else if (Array.isArray(value)) {
83366
83354
  valueToUse = value.map((val) => {
83367
- if (val.userCreated) {
83355
+ if (val?.userCreated) {
83368
83356
  return {
83369
83357
  label: val.value,
83370
83358
  value: val
@@ -83391,10 +83379,10 @@ const renderReactSelect = (props) => {
83391
83379
  let valToPass;
83392
83380
  if (Array.isArray(valOrVals)) {
83393
83381
  valToPass = valOrVals.map(function(val) {
83394
- if (val.userCreated) {
83382
+ if (val?.userCreated) {
83395
83383
  return val;
83396
83384
  }
83397
- return val.value;
83385
+ return val?.value;
83398
83386
  });
83399
83387
  } else if (valOrVals) {
83400
83388
  if (valOrVals.userCreated) {
@@ -89393,16 +89381,22 @@ class AlertWrapper extends React$3.Component {
89393
89381
  state = { isOpen: true };
89394
89382
  render() {
89395
89383
  const {
89384
+ title,
89396
89385
  handleClose,
89397
89386
  text,
89398
89387
  resolve,
89399
89388
  noCancelButton,
89400
89389
  content,
89401
89390
  className,
89391
+ thirdButtonNotMinimal,
89392
+ thirdButtonClassName,
89402
89393
  thirdButtonText,
89403
89394
  thirdButtonIntent,
89395
+ fourthButtonNotMinimal,
89396
+ fourthButtonClassName,
89404
89397
  fourthButtonText,
89405
89398
  fourthButtonIntent,
89399
+ handleSubmit,
89406
89400
  canEscapeKeyCancel,
89407
89401
  confirmButtonText = "OK",
89408
89402
  cancelButtonText = "Cancel",
@@ -89417,19 +89411,28 @@ class AlertWrapper extends React$3.Component {
89417
89411
  return /* @__PURE__ */ React$3.createElement(
89418
89412
  core$5.Dialog,
89419
89413
  {
89420
- className: `bp3-alert ${className || ""}`,
89414
+ title,
89415
+ className: (title ? "" : "bp3-alert") + ` ${className || ""}`,
89421
89416
  isOpen: this.state.isOpen,
89422
89417
  intent,
89423
89418
  cancelButtonText,
89424
89419
  onCancel: cancelButtonText ? () => doClose(false) : void 0,
89425
- onConfirm: () => doClose(true),
89420
+ onConfirm: handleSubmit ? handleSubmit((v) => doClose(v)) : () => doClose(true),
89426
89421
  ...rest,
89427
89422
  ...noCancelButton && {
89428
89423
  onCancel: void 0,
89429
89424
  cancelButtonText: void 0
89430
89425
  }
89431
89426
  },
89432
- /* @__PURE__ */ React$3.createElement("div", { className: "bp3-alert-contents", style: { padding: 5 } }, content, text && /* @__PURE__ */ React$3.createElement("div", { style: { marginBottom: 10 } }, text)),
89427
+ /* @__PURE__ */ React$3.createElement(
89428
+ "div",
89429
+ {
89430
+ className: title ? "bp3-dialog-body" : "bp3-alert-contents",
89431
+ style: { padding: 5 }
89432
+ },
89433
+ content,
89434
+ text && /* @__PURE__ */ React$3.createElement("div", { style: { marginBottom: 10 } }, text)
89435
+ ),
89433
89436
  /* @__PURE__ */ React$3.createElement(
89434
89437
  DialogFooter,
89435
89438
  {
@@ -89440,23 +89443,27 @@ class AlertWrapper extends React$3.Component {
89440
89443
  additionalButtons: thirdButtonText || fourthButtonText ? /* @__PURE__ */ React$3.createElement(React$3.Fragment, null, !!fourthButtonText && /* @__PURE__ */ React$3.createElement(
89441
89444
  core$5.Button,
89442
89445
  {
89446
+ className: (!fourthButtonNotMinimal ? core$5.Classes.MINIMAL : "") + " " + fourthButtonClassName,
89443
89447
  intent: fourthButtonIntent,
89444
89448
  text: fourthButtonText,
89445
- onClick: () => {
89446
- doClose("fourthButtonClicked");
89447
- }
89449
+ onClick: handleSubmit ? handleSubmit(
89450
+ (v) => doClose({ ...v, fourthButtonClicked: true })
89451
+ ) : () => doClose("fourthButtonClicked")
89448
89452
  }
89449
89453
  ), !!thirdButtonText && /* @__PURE__ */ React$3.createElement(
89450
89454
  core$5.Button,
89451
89455
  {
89456
+ className: (!thirdButtonNotMinimal ? core$5.Classes.MINIMAL : "") + " " + thirdButtonClassName,
89452
89457
  intent: thirdButtonIntent,
89453
89458
  text: thirdButtonText,
89454
- onClick: () => {
89459
+ onClick: handleSubmit ? handleSubmit(
89460
+ (v) => doClose({ ...v, thirdButtonClicked: true })
89461
+ ) : () => {
89455
89462
  doClose("thirdButtonClicked");
89456
89463
  }
89457
89464
  }
89458
89465
  )) : void 0,
89459
- containerClassname: "bp3-alert-footer",
89466
+ containerClassname: title ? "" : "bp3-alert-footer",
89460
89467
  backText: noCancelButton ? "" : cancelButtonText,
89461
89468
  text: confirmButtonText,
89462
89469
  intent
@@ -113787,13 +113794,13 @@ function coerceLocation({
113787
113794
  messages.push(
113788
113795
  "Invalid annotation start: " + location.start + " detected for " + location.name + " and set to size: " + size
113789
113796
  );
113790
- location.start = size - (isProtein ? 3 : 1);
113797
+ location.start = Math.max(0, size - (isProtein ? 3 : 1));
113791
113798
  }
113792
113799
  if (location.end < 0 || !(location.end <= size - 1) || location.end > size - 1) {
113793
113800
  messages.push(
113794
113801
  "Invalid annotation end: " + location.end + " detected for " + location.name + " and set to seq size: " + size
113795
113802
  );
113796
- location.end = size - 1;
113803
+ location.end = Math.max(0, size - 1);
113797
113804
  }
113798
113805
  if (location.start > location.end && circular === false) {
113799
113806
  messages.push(
@@ -161163,7 +161170,7 @@ function showFileDialog({ multiple = false, onSelect }) {
161163
161170
  }
161164
161171
 
161165
161172
  const name = "@teselagen/ove";
161166
- const version = "0.3.18";
161173
+ const version = "0.3.20";
161167
161174
  const main = "./src/index.js";
161168
161175
  const exports$1 = {
161169
161176
  ".": {
@@ -162631,7 +162638,7 @@ const editCommandDefs = {
162631
162638
  },
162632
162639
  useGtgAndCtgAsStartCodons: {
162633
162640
  isHidden: isProtein,
162634
- name: "Use GTG And CTG As Start Codons",
162641
+ name: (props) => isRna(props) ? "Use GUG And CUG As Start Codons" : "Use GTG And CTG As Start Codons",
162635
162642
  isActive: (props) => props.useAdditionalOrfStartCodons,
162636
162643
  handler: (props) => props.useAdditionalOrfStartCodonsToggle()
162637
162644
  },
package/index.es.js CHANGED
@@ -30138,6 +30138,8 @@ function DialogFooter({
30138
30138
  style,
30139
30139
  onClick = lodashExports.noop,
30140
30140
  secondaryAction,
30141
+ secondaryDisabled,
30142
+ secondaryNotMinimal,
30141
30143
  intent = Intent.PRIMARY,
30142
30144
  secondaryIntent,
30143
30145
  backText = "Back",
@@ -30169,7 +30171,8 @@ function DialogFooter({
30169
30171
  Button,
30170
30172
  {
30171
30173
  intent: secondaryIntent,
30172
- className: Classes.MINIMAL + " " + secondaryClassName,
30174
+ disabled: secondaryDisabled,
30175
+ className: (!secondaryNotMinimal ? Classes.MINIMAL : "") + " " + secondaryClassName,
30173
30176
  text: secondaryText,
30174
30177
  onClick: secondaryAction || hideModal || function() {
30175
30178
  try {
@@ -30405,20 +30408,12 @@ var _cof = function (it) {
30405
30408
  return toString$6.call(it).slice(8, -1);
30406
30409
  };
30407
30410
 
30408
- var _iobject;
30409
- var hasRequired_iobject;
30410
-
30411
- function require_iobject () {
30412
- if (hasRequired_iobject) return _iobject;
30413
- hasRequired_iobject = 1;
30414
- // fallback for non-array-like ES3 and non-enumerable old V8 strings
30415
- var cof = _cof;
30416
- // eslint-disable-next-line no-prototype-builtins
30417
- _iobject = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
30418
- return cof(it) == 'String' ? it.split('') : Object(it);
30419
- };
30420
- return _iobject;
30421
- }
30411
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
30412
+ var cof$2 = _cof;
30413
+ // eslint-disable-next-line no-prototype-builtins
30414
+ var _iobject = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
30415
+ return cof$2(it) == 'String' ? it.split('') : Object(it);
30416
+ };
30422
30417
 
30423
30418
  // 7.2.1 RequireObjectCoercible(argument)
30424
30419
  var _defined = function (it) {
@@ -30427,7 +30422,7 @@ var _defined = function (it) {
30427
30422
  };
30428
30423
 
30429
30424
  // to indexed object, toObject with fallback for non-array-like ES3 strings
30430
- var IObject = require_iobject();
30425
+ var IObject = _iobject;
30431
30426
  var defined$2 = _defined;
30432
30427
  var _toIobject = function (it) {
30433
30428
  return IObject(defined$2(it));
@@ -30547,14 +30542,7 @@ _objectGops.f = Object.getOwnPropertySymbols;
30547
30542
 
30548
30543
  var _objectPie = {};
30549
30544
 
30550
- var hasRequired_objectPie;
30551
-
30552
- function require_objectPie () {
30553
- if (hasRequired_objectPie) return _objectPie;
30554
- hasRequired_objectPie = 1;
30555
- _objectPie.f = {}.propertyIsEnumerable;
30556
- return _objectPie;
30557
- }
30545
+ _objectPie.f = {}.propertyIsEnumerable;
30558
30546
 
30559
30547
  // 7.1.13 ToObject(argument)
30560
30548
  var defined$1 = _defined;
@@ -30572,9 +30560,9 @@ function require_objectAssign () {
30572
30560
  var DESCRIPTORS = _descriptors;
30573
30561
  var getKeys = _objectKeys;
30574
30562
  var gOPS = _objectGops;
30575
- var pIE = require_objectPie();
30563
+ var pIE = _objectPie;
30576
30564
  var toObject = _toObject;
30577
- var IObject = require_iobject();
30565
+ var IObject = _iobject;
30578
30566
  var $assign = Object.assign;
30579
30567
 
30580
30568
  // should work with symbols and should have deterministic property order (V8 bug)
@@ -31287,7 +31275,7 @@ var _wksDefine = function (name) {
31287
31275
  // all enumerable object keys, includes symbols
31288
31276
  var getKeys = _objectKeys;
31289
31277
  var gOPS$1 = _objectGops;
31290
- var pIE$1 = require_objectPie();
31278
+ var pIE$1 = _objectPie;
31291
31279
  var _enumKeys = function (it) {
31292
31280
  var result = getKeys(it);
31293
31281
  var getSymbols = gOPS$1.f;
@@ -31340,7 +31328,7 @@ _objectGopnExt.f = function getOwnPropertyNames(it) {
31340
31328
 
31341
31329
  var _objectGopd = {};
31342
31330
 
31343
- var pIE = require_objectPie();
31331
+ var pIE = _objectPie;
31344
31332
  var createDesc$1 = _propertyDesc;
31345
31333
  var toIObject$1 = _toIobject;
31346
31334
  var toPrimitive$1 = _toPrimitive$1;
@@ -31508,7 +31496,7 @@ if (!USE_NATIVE) {
31508
31496
  $GOPD.f = $getOwnPropertyDescriptor;
31509
31497
  $DP.f = $defineProperty$1;
31510
31498
  _objectGopn.f = gOPNExt.f = $getOwnPropertyNames;
31511
- require_objectPie().f = $propertyIsEnumerable;
31499
+ _objectPie.f = $propertyIsEnumerable;
31512
31500
  $GOPS.f = $getOwnPropertySymbols;
31513
31501
 
31514
31502
  if (DESCRIPTORS && !_library) {
@@ -66116,7 +66104,7 @@ class TgSelect extends React__default$1.Component {
66116
66104
  if (isTagSelect && item.value && item.value.includes && item.value.includes(":")) {
66117
66105
  const topLevelId = item.value.split(":")[0];
66118
66106
  valArray = valArray.filter((val) => {
66119
- if (val.value && val.value.includes && val.value.includes(":")) {
66107
+ if (val?.value && val.value.includes && val.value.includes(":")) {
66120
66108
  const valId = val.value.split(":")[0];
66121
66109
  if (valId === topLevelId) {
66122
66110
  return false;
@@ -66204,7 +66192,7 @@ class TgSelect extends React__default$1.Component {
66204
66192
  getTagProps = (label) => {
66205
66193
  const { multi, value = [], disabled: _disabled } = this.props;
66206
66194
  const val = Array.isArray(value) ? value : [value];
66207
- const matchingVal = val.find((op) => op.label === label);
66195
+ const matchingVal = val.find((op) => op?.label === label);
66208
66196
  const disabled = _disabled || matchingVal && matchingVal.disabled;
66209
66197
  const className = matchingVal && matchingVal.className;
66210
66198
  return {
@@ -83343,7 +83331,7 @@ const renderReactSelect = (props) => {
83343
83331
  }
83344
83332
  } else if (Array.isArray(value)) {
83345
83333
  valueToUse = value.map((val) => {
83346
- if (val.userCreated) {
83334
+ if (val?.userCreated) {
83347
83335
  return {
83348
83336
  label: val.value,
83349
83337
  value: val
@@ -83370,10 +83358,10 @@ const renderReactSelect = (props) => {
83370
83358
  let valToPass;
83371
83359
  if (Array.isArray(valOrVals)) {
83372
83360
  valToPass = valOrVals.map(function(val) {
83373
- if (val.userCreated) {
83361
+ if (val?.userCreated) {
83374
83362
  return val;
83375
83363
  }
83376
- return val.value;
83364
+ return val?.value;
83377
83365
  });
83378
83366
  } else if (valOrVals) {
83379
83367
  if (valOrVals.userCreated) {
@@ -89372,16 +89360,22 @@ class AlertWrapper extends Component {
89372
89360
  state = { isOpen: true };
89373
89361
  render() {
89374
89362
  const {
89363
+ title,
89375
89364
  handleClose,
89376
89365
  text,
89377
89366
  resolve,
89378
89367
  noCancelButton,
89379
89368
  content,
89380
89369
  className,
89370
+ thirdButtonNotMinimal,
89371
+ thirdButtonClassName,
89381
89372
  thirdButtonText,
89382
89373
  thirdButtonIntent,
89374
+ fourthButtonNotMinimal,
89375
+ fourthButtonClassName,
89383
89376
  fourthButtonText,
89384
89377
  fourthButtonIntent,
89378
+ handleSubmit,
89385
89379
  canEscapeKeyCancel,
89386
89380
  confirmButtonText = "OK",
89387
89381
  cancelButtonText = "Cancel",
@@ -89396,19 +89390,28 @@ class AlertWrapper extends Component {
89396
89390
  return /* @__PURE__ */ React__default$1.createElement(
89397
89391
  Dialog,
89398
89392
  {
89399
- className: `bp3-alert ${className || ""}`,
89393
+ title,
89394
+ className: (title ? "" : "bp3-alert") + ` ${className || ""}`,
89400
89395
  isOpen: this.state.isOpen,
89401
89396
  intent,
89402
89397
  cancelButtonText,
89403
89398
  onCancel: cancelButtonText ? () => doClose(false) : void 0,
89404
- onConfirm: () => doClose(true),
89399
+ onConfirm: handleSubmit ? handleSubmit((v) => doClose(v)) : () => doClose(true),
89405
89400
  ...rest,
89406
89401
  ...noCancelButton && {
89407
89402
  onCancel: void 0,
89408
89403
  cancelButtonText: void 0
89409
89404
  }
89410
89405
  },
89411
- /* @__PURE__ */ React__default$1.createElement("div", { className: "bp3-alert-contents", style: { padding: 5 } }, content, text && /* @__PURE__ */ React__default$1.createElement("div", { style: { marginBottom: 10 } }, text)),
89406
+ /* @__PURE__ */ React__default$1.createElement(
89407
+ "div",
89408
+ {
89409
+ className: title ? "bp3-dialog-body" : "bp3-alert-contents",
89410
+ style: { padding: 5 }
89411
+ },
89412
+ content,
89413
+ text && /* @__PURE__ */ React__default$1.createElement("div", { style: { marginBottom: 10 } }, text)
89414
+ ),
89412
89415
  /* @__PURE__ */ React__default$1.createElement(
89413
89416
  DialogFooter,
89414
89417
  {
@@ -89419,23 +89422,27 @@ class AlertWrapper extends Component {
89419
89422
  additionalButtons: thirdButtonText || fourthButtonText ? /* @__PURE__ */ React__default$1.createElement(React__default$1.Fragment, null, !!fourthButtonText && /* @__PURE__ */ React__default$1.createElement(
89420
89423
  Button,
89421
89424
  {
89425
+ className: (!fourthButtonNotMinimal ? Classes.MINIMAL : "") + " " + fourthButtonClassName,
89422
89426
  intent: fourthButtonIntent,
89423
89427
  text: fourthButtonText,
89424
- onClick: () => {
89425
- doClose("fourthButtonClicked");
89426
- }
89428
+ onClick: handleSubmit ? handleSubmit(
89429
+ (v) => doClose({ ...v, fourthButtonClicked: true })
89430
+ ) : () => doClose("fourthButtonClicked")
89427
89431
  }
89428
89432
  ), !!thirdButtonText && /* @__PURE__ */ React__default$1.createElement(
89429
89433
  Button,
89430
89434
  {
89435
+ className: (!thirdButtonNotMinimal ? Classes.MINIMAL : "") + " " + thirdButtonClassName,
89431
89436
  intent: thirdButtonIntent,
89432
89437
  text: thirdButtonText,
89433
- onClick: () => {
89438
+ onClick: handleSubmit ? handleSubmit(
89439
+ (v) => doClose({ ...v, thirdButtonClicked: true })
89440
+ ) : () => {
89434
89441
  doClose("thirdButtonClicked");
89435
89442
  }
89436
89443
  }
89437
89444
  )) : void 0,
89438
- containerClassname: "bp3-alert-footer",
89445
+ containerClassname: title ? "" : "bp3-alert-footer",
89439
89446
  backText: noCancelButton ? "" : cancelButtonText,
89440
89447
  text: confirmButtonText,
89441
89448
  intent
@@ -113766,13 +113773,13 @@ function coerceLocation({
113766
113773
  messages.push(
113767
113774
  "Invalid annotation start: " + location.start + " detected for " + location.name + " and set to size: " + size
113768
113775
  );
113769
- location.start = size - (isProtein ? 3 : 1);
113776
+ location.start = Math.max(0, size - (isProtein ? 3 : 1));
113770
113777
  }
113771
113778
  if (location.end < 0 || !(location.end <= size - 1) || location.end > size - 1) {
113772
113779
  messages.push(
113773
113780
  "Invalid annotation end: " + location.end + " detected for " + location.name + " and set to seq size: " + size
113774
113781
  );
113775
- location.end = size - 1;
113782
+ location.end = Math.max(0, size - 1);
113776
113783
  }
113777
113784
  if (location.start > location.end && circular === false) {
113778
113785
  messages.push(
@@ -161142,7 +161149,7 @@ function showFileDialog({ multiple = false, onSelect }) {
161142
161149
  }
161143
161150
 
161144
161151
  const name = "@teselagen/ove";
161145
- const version = "0.3.18";
161152
+ const version = "0.3.20";
161146
161153
  const main = "./src/index.js";
161147
161154
  const exports$1 = {
161148
161155
  ".": {
@@ -162610,7 +162617,7 @@ const editCommandDefs = {
162610
162617
  },
162611
162618
  useGtgAndCtgAsStartCodons: {
162612
162619
  isHidden: isProtein,
162613
- name: "Use GTG And CTG As Start Codons",
162620
+ name: (props) => isRna(props) ? "Use GUG And CUG As Start Codons" : "Use GTG And CTG As Start Codons",
162614
162621
  isActive: (props) => props.useAdditionalOrfStartCodons,
162615
162622
  handler: (props) => props.useAdditionalOrfStartCodonsToggle()
162616
162623
  },
package/index.umd.js CHANGED
@@ -23998,7 +23998,7 @@
23998
23998
  var ownKeys$9 = typeof Reflect !== "undefined" && Reflect.ownKeys ? Reflect.ownKeys : hasGetOwnPropertySymbols ? function (obj) {
23999
23999
  return Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj));
24000
24000
  } : /* istanbul ignore next */Object.getOwnPropertyNames;
24001
- function toPrimitive$3(value) {
24001
+ function toPrimitive$2(value) {
24002
24002
  return value === null ? null : typeof value === "object" ? "" + value : value;
24003
24003
  }
24004
24004
  function hasProp(target, prop) {
@@ -24927,7 +24927,7 @@
24927
24927
  return this.name_ + "[" + this.value_ + "]";
24928
24928
  };
24929
24929
  _proto.valueOf = function valueOf() {
24930
- return toPrimitive$3(this.get());
24930
+ return toPrimitive$2(this.get());
24931
24931
  };
24932
24932
  _proto[_Symbol$toPrimitive] = function () {
24933
24933
  return this.valueOf();
@@ -25155,7 +25155,7 @@
25155
25155
  return this.name_ + "[" + this.derivation.toString() + "]";
25156
25156
  };
25157
25157
  _proto.valueOf = function valueOf() {
25158
- return toPrimitive$3(this.get());
25158
+ return toPrimitive$2(this.get());
25159
25159
  };
25160
25160
  _proto[_Symbol$toPrimitive$1] = function () {
25161
25161
  return this.valueOf();
@@ -56903,6 +56903,8 @@
56903
56903
  style,
56904
56904
  onClick = lodashExports.noop,
56905
56905
  secondaryAction,
56906
+ secondaryDisabled,
56907
+ secondaryNotMinimal,
56906
56908
  intent = Intent.PRIMARY,
56907
56909
  secondaryIntent,
56908
56910
  backText = "Back",
@@ -56934,7 +56936,8 @@
56934
56936
  Button,
56935
56937
  {
56936
56938
  intent: secondaryIntent,
56937
- className: MINIMAL + " " + secondaryClassName,
56939
+ disabled: secondaryDisabled,
56940
+ className: (!secondaryNotMinimal ? MINIMAL : "") + " " + secondaryClassName,
56938
56941
  text: secondaryText,
56939
56942
  onClick: secondaryAction || hideModal || function() {
56940
56943
  try {
@@ -57023,10 +57026,18 @@
57023
57026
  }
57024
57027
  };
57025
57028
 
57026
- // Thank's IE8 for his funny defineProperty
57027
- var _descriptors = !_fails(function () {
57028
- return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
57029
- });
57029
+ var _descriptors;
57030
+ var hasRequired_descriptors;
57031
+
57032
+ function require_descriptors () {
57033
+ if (hasRequired_descriptors) return _descriptors;
57034
+ hasRequired_descriptors = 1;
57035
+ // Thank's IE8 for his funny defineProperty
57036
+ _descriptors = !_fails(function () {
57037
+ return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
57038
+ });
57039
+ return _descriptors;
57040
+ }
57030
57041
 
57031
57042
  var _domCreate;
57032
57043
  var hasRequired_domCreate;
@@ -57044,9 +57055,17 @@
57044
57055
  return _domCreate;
57045
57056
  }
57046
57057
 
57047
- var _ie8DomDefine = !_descriptors && !_fails(function () {
57048
- return Object.defineProperty(require_domCreate()('div'), 'a', { get: function () { return 7; } }).a != 7;
57049
- });
57058
+ var _ie8DomDefine;
57059
+ var hasRequired_ie8DomDefine;
57060
+
57061
+ function require_ie8DomDefine () {
57062
+ if (hasRequired_ie8DomDefine) return _ie8DomDefine;
57063
+ hasRequired_ie8DomDefine = 1;
57064
+ _ie8DomDefine = !require_descriptors() && !_fails(function () {
57065
+ return Object.defineProperty(require_domCreate()('div'), 'a', { get: function () { return 7; } }).a != 7;
57066
+ });
57067
+ return _ie8DomDefine;
57068
+ }
57050
57069
 
57051
57070
  // 7.1.1 ToPrimitive(input [, PreferredType])
57052
57071
  var isObject$6 = _isObject;
@@ -57061,22 +57080,29 @@
57061
57080
  throw TypeError("Can't convert object to primitive value");
57062
57081
  };
57063
57082
 
57064
- var anObject$5 = _anObject;
57065
- var IE8_DOM_DEFINE$1 = _ie8DomDefine;
57066
- var toPrimitive$2 = _toPrimitive$1;
57067
- var dP$3 = Object.defineProperty;
57083
+ var hasRequired_objectDp;
57068
57084
 
57069
- _objectDp.f = _descriptors ? Object.defineProperty : function defineProperty(O, P, Attributes) {
57070
- anObject$5(O);
57071
- P = toPrimitive$2(P, true);
57072
- anObject$5(Attributes);
57073
- if (IE8_DOM_DEFINE$1) try {
57074
- return dP$3(O, P, Attributes);
57075
- } catch (e) { /* empty */ }
57076
- if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
57077
- if ('value' in Attributes) O[P] = Attributes.value;
57078
- return O;
57079
- };
57085
+ function require_objectDp () {
57086
+ if (hasRequired_objectDp) return _objectDp;
57087
+ hasRequired_objectDp = 1;
57088
+ var anObject = _anObject;
57089
+ var IE8_DOM_DEFINE = require_ie8DomDefine();
57090
+ var toPrimitive = _toPrimitive$1;
57091
+ var dP = Object.defineProperty;
57092
+
57093
+ _objectDp.f = require_descriptors() ? Object.defineProperty : function defineProperty(O, P, Attributes) {
57094
+ anObject(O);
57095
+ P = toPrimitive(P, true);
57096
+ anObject(Attributes);
57097
+ if (IE8_DOM_DEFINE) try {
57098
+ return dP(O, P, Attributes);
57099
+ } catch (e) { /* empty */ }
57100
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
57101
+ if ('value' in Attributes) O[P] = Attributes.value;
57102
+ return O;
57103
+ };
57104
+ return _objectDp;
57105
+ }
57080
57106
 
57081
57107
  var _propertyDesc = function (bitmap, value) {
57082
57108
  return {
@@ -57087,9 +57113,9 @@
57087
57113
  };
57088
57114
  };
57089
57115
 
57090
- var dP$2 = _objectDp;
57116
+ var dP$2 = require_objectDp();
57091
57117
  var createDesc$3 = _propertyDesc;
57092
- var _hide = _descriptors ? function (object, key, value) {
57118
+ var _hide = require_descriptors() ? function (object, key, value) {
57093
57119
  return dP$2.f(object, key, createDesc$3(1, value));
57094
57120
  } : function (object, key, value) {
57095
57121
  object[key] = value;
@@ -57170,20 +57196,12 @@
57170
57196
  return toString$4.call(it).slice(8, -1);
57171
57197
  };
57172
57198
 
57173
- var _iobject;
57174
- var hasRequired_iobject;
57175
-
57176
- function require_iobject () {
57177
- if (hasRequired_iobject) return _iobject;
57178
- hasRequired_iobject = 1;
57179
- // fallback for non-array-like ES3 and non-enumerable old V8 strings
57180
- var cof = _cof;
57181
- // eslint-disable-next-line no-prototype-builtins
57182
- _iobject = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
57183
- return cof(it) == 'String' ? it.split('') : Object(it);
57184
- };
57185
- return _iobject;
57186
- }
57199
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
57200
+ var cof$2 = _cof;
57201
+ // eslint-disable-next-line no-prototype-builtins
57202
+ var _iobject = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
57203
+ return cof$2(it) == 'String' ? it.split('') : Object(it);
57204
+ };
57187
57205
 
57188
57206
  // 7.2.1 RequireObjectCoercible(argument)
57189
57207
  var _defined = function (it) {
@@ -57192,7 +57210,7 @@
57192
57210
  };
57193
57211
 
57194
57212
  // to indexed object, toObject with fallback for non-array-like ES3 strings
57195
- var IObject = require_iobject();
57213
+ var IObject = _iobject;
57196
57214
  var defined$2 = _defined;
57197
57215
  var _toIobject = function (it) {
57198
57216
  return IObject(defined$2(it));
@@ -57312,14 +57330,7 @@
57312
57330
 
57313
57331
  var _objectPie = {};
57314
57332
 
57315
- var hasRequired_objectPie;
57316
-
57317
- function require_objectPie () {
57318
- if (hasRequired_objectPie) return _objectPie;
57319
- hasRequired_objectPie = 1;
57320
- _objectPie.f = {}.propertyIsEnumerable;
57321
- return _objectPie;
57322
- }
57333
+ _objectPie.f = {}.propertyIsEnumerable;
57323
57334
 
57324
57335
  // 7.1.13 ToObject(argument)
57325
57336
  var defined$1 = _defined;
@@ -57334,12 +57345,12 @@
57334
57345
  if (hasRequired_objectAssign) return _objectAssign;
57335
57346
  hasRequired_objectAssign = 1;
57336
57347
  // 19.1.2.1 Object.assign(target, source, ...)
57337
- var DESCRIPTORS = _descriptors;
57348
+ var DESCRIPTORS = require_descriptors();
57338
57349
  var getKeys = _objectKeys;
57339
57350
  var gOPS = _objectGops;
57340
- var pIE = require_objectPie();
57351
+ var pIE = _objectPie;
57341
57352
  var toObject = _toObject;
57342
- var IObject = require_iobject();
57353
+ var IObject = _iobject;
57343
57354
  var $assign = Object.assign;
57344
57355
 
57345
57356
  // should work with symbols and should have deterministic property order (V8 bug)
@@ -57410,11 +57421,11 @@
57410
57421
 
57411
57422
  var _redefine = _hide;
57412
57423
 
57413
- var dP$1 = _objectDp;
57424
+ var dP$1 = require_objectDp();
57414
57425
  var anObject$4 = _anObject;
57415
57426
  var getKeys$1 = _objectKeys;
57416
57427
 
57417
- var _objectDps = _descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
57428
+ var _objectDps = require_descriptors() ? Object.defineProperties : function defineProperties(O, Properties) {
57418
57429
  anObject$4(O);
57419
57430
  var keys = getKeys$1(Properties);
57420
57431
  var length = keys.length;
@@ -57493,7 +57504,7 @@
57493
57504
 
57494
57505
  var _wksExports = _wks.exports;
57495
57506
 
57496
- var def = _objectDp.f;
57507
+ var def = require_objectDp().f;
57497
57508
  var has$b = _has;
57498
57509
  var TAG$1 = _wksExports('toStringTag');
57499
57510
 
@@ -57807,7 +57818,7 @@
57807
57818
  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
57808
57819
  };
57809
57820
 
57810
- var $defineProperty$1 = _objectDp;
57821
+ var $defineProperty$1 = require_objectDp();
57811
57822
  var createDesc$2 = _propertyDesc;
57812
57823
 
57813
57824
  var _createProperty = function (object, index, value) {
@@ -57940,7 +57951,7 @@
57940
57951
 
57941
57952
  var $export$3 = _export;
57942
57953
  // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
57943
- $export$3($export$3.S + $export$3.F * !_descriptors, 'Object', { defineProperty: _objectDp.f });
57954
+ $export$3($export$3.S + $export$3.F * !require_descriptors(), 'Object', { defineProperty: require_objectDp().f });
57944
57955
 
57945
57956
  var $Object$1 = _coreExports.Object;
57946
57957
  var defineProperty$6 = function defineProperty(it, key, desc) {
@@ -57988,7 +57999,7 @@
57988
57999
  var META$1 = _uid('meta');
57989
58000
  var isObject$5 = _isObject;
57990
58001
  var has$9 = _has;
57991
- var setDesc = _objectDp.f;
58002
+ var setDesc = require_objectDp().f;
57992
58003
  var id$1 = 0;
57993
58004
  var isExtensible = Object.isExtensible || function () {
57994
58005
  return true;
@@ -58043,7 +58054,7 @@
58043
58054
 
58044
58055
  var core = _coreExports;
58045
58056
  var wksExt$1 = _wksExt;
58046
- var defineProperty$4 = _objectDp.f;
58057
+ var defineProperty$4 = require_objectDp().f;
58047
58058
  var _wksDefine = function (name) {
58048
58059
  var $Symbol = core.Symbol || (core.Symbol = {} );
58049
58060
  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty$4($Symbol, name, { value: wksExt$1.f(name) });
@@ -58052,7 +58063,7 @@
58052
58063
  // all enumerable object keys, includes symbols
58053
58064
  var getKeys = _objectKeys;
58054
58065
  var gOPS$1 = _objectGops;
58055
- var pIE$1 = require_objectPie();
58066
+ var pIE$1 = _objectPie;
58056
58067
  var _enumKeys = function (it) {
58057
58068
  var result = getKeys(it);
58058
58069
  var getSymbols = gOPS$1.f;
@@ -58105,15 +58116,15 @@
58105
58116
 
58106
58117
  var _objectGopd = {};
58107
58118
 
58108
- var pIE = require_objectPie();
58119
+ var pIE = _objectPie;
58109
58120
  var createDesc$1 = _propertyDesc;
58110
58121
  var toIObject$1 = _toIobject;
58111
58122
  var toPrimitive$1 = _toPrimitive$1;
58112
58123
  var has$8 = _has;
58113
- var IE8_DOM_DEFINE = _ie8DomDefine;
58124
+ var IE8_DOM_DEFINE = require_ie8DomDefine();
58114
58125
  var gOPD$2 = Object.getOwnPropertyDescriptor;
58115
58126
 
58116
- _objectGopd.f = _descriptors ? gOPD$2 : function getOwnPropertyDescriptor(O, P) {
58127
+ _objectGopd.f = require_descriptors() ? gOPD$2 : function getOwnPropertyDescriptor(O, P) {
58117
58128
  O = toIObject$1(O);
58118
58129
  P = toPrimitive$1(P, true);
58119
58130
  if (IE8_DOM_DEFINE) try {
@@ -58125,7 +58136,7 @@
58125
58136
  // ECMAScript 6 symbols shim
58126
58137
  var global$1 = _globalExports;
58127
58138
  var has$7 = _has;
58128
- var DESCRIPTORS = _descriptors;
58139
+ var DESCRIPTORS = require_descriptors();
58129
58140
  var $export$2 = _export;
58130
58141
  var redefine = _redefine;
58131
58142
  var META = _metaExports.KEY;
@@ -58148,7 +58159,7 @@
58148
58159
  var gOPNExt = _objectGopnExt;
58149
58160
  var $GOPD = _objectGopd;
58150
58161
  var $GOPS = _objectGops;
58151
- var $DP = _objectDp;
58162
+ var $DP = require_objectDp();
58152
58163
  var $keys$1 = _objectKeys;
58153
58164
  var gOPD$1 = $GOPD.f;
58154
58165
  var dP = $DP.f;
@@ -58273,7 +58284,7 @@
58273
58284
  $GOPD.f = $getOwnPropertyDescriptor;
58274
58285
  $DP.f = $defineProperty;
58275
58286
  _objectGopn.f = gOPNExt.f = $getOwnPropertyNames;
58276
- require_objectPie().f = $propertyIsEnumerable;
58287
+ _objectPie.f = $propertyIsEnumerable;
58277
58288
  $GOPS.f = $getOwnPropertySymbols;
58278
58289
 
58279
58290
  if (DESCRIPTORS && !_library) {
@@ -90406,7 +90417,7 @@
90406
90417
  if (isTagSelect && item.value && item.value.includes && item.value.includes(":")) {
90407
90418
  const topLevelId = item.value.split(":")[0];
90408
90419
  valArray = valArray.filter((val) => {
90409
- if (val.value && val.value.includes && val.value.includes(":")) {
90420
+ if (val?.value && val.value.includes && val.value.includes(":")) {
90410
90421
  const valId = val.value.split(":")[0];
90411
90422
  if (valId === topLevelId) {
90412
90423
  return false;
@@ -90494,7 +90505,7 @@
90494
90505
  getTagProps = (label) => {
90495
90506
  const { multi, value = [], disabled: _disabled } = this.props;
90496
90507
  const val = Array.isArray(value) ? value : [value];
90497
- const matchingVal = val.find((op) => op.label === label);
90508
+ const matchingVal = val.find((op) => op?.label === label);
90498
90509
  const disabled = _disabled || matchingVal && matchingVal.disabled;
90499
90510
  const className = matchingVal && matchingVal.className;
90500
90511
  return {
@@ -111742,7 +111753,7 @@
111742
111753
  }
111743
111754
  } else if (Array.isArray(value)) {
111744
111755
  valueToUse = value.map((val) => {
111745
- if (val.userCreated) {
111756
+ if (val?.userCreated) {
111746
111757
  return {
111747
111758
  label: val.value,
111748
111759
  value: val
@@ -111769,10 +111780,10 @@
111769
111780
  let valToPass;
111770
111781
  if (Array.isArray(valOrVals)) {
111771
111782
  valToPass = valOrVals.map(function(val) {
111772
- if (val.userCreated) {
111783
+ if (val?.userCreated) {
111773
111784
  return val;
111774
111785
  }
111775
- return val.value;
111786
+ return val?.value;
111776
111787
  });
111777
111788
  } else if (valOrVals) {
111778
111789
  if (valOrVals.userCreated) {
@@ -117760,16 +117771,22 @@
117760
117771
  state = { isOpen: true };
117761
117772
  render() {
117762
117773
  const {
117774
+ title,
117763
117775
  handleClose,
117764
117776
  text,
117765
117777
  resolve,
117766
117778
  noCancelButton,
117767
117779
  content,
117768
117780
  className,
117781
+ thirdButtonNotMinimal,
117782
+ thirdButtonClassName,
117769
117783
  thirdButtonText,
117770
117784
  thirdButtonIntent,
117785
+ fourthButtonNotMinimal,
117786
+ fourthButtonClassName,
117771
117787
  fourthButtonText,
117772
117788
  fourthButtonIntent,
117789
+ handleSubmit,
117773
117790
  canEscapeKeyCancel,
117774
117791
  confirmButtonText = "OK",
117775
117792
  cancelButtonText = "Cancel",
@@ -117784,19 +117801,28 @@
117784
117801
  return /* @__PURE__ */ React$3.createElement(
117785
117802
  Dialog,
117786
117803
  {
117787
- className: `bp3-alert ${className || ""}`,
117804
+ title,
117805
+ className: (title ? "" : "bp3-alert") + ` ${className || ""}`,
117788
117806
  isOpen: this.state.isOpen,
117789
117807
  intent,
117790
117808
  cancelButtonText,
117791
117809
  onCancel: cancelButtonText ? () => doClose(false) : void 0,
117792
- onConfirm: () => doClose(true),
117810
+ onConfirm: handleSubmit ? handleSubmit((v) => doClose(v)) : () => doClose(true),
117793
117811
  ...rest,
117794
117812
  ...noCancelButton && {
117795
117813
  onCancel: void 0,
117796
117814
  cancelButtonText: void 0
117797
117815
  }
117798
117816
  },
117799
- /* @__PURE__ */ React$3.createElement("div", { className: "bp3-alert-contents", style: { padding: 5 } }, content, text && /* @__PURE__ */ React$3.createElement("div", { style: { marginBottom: 10 } }, text)),
117817
+ /* @__PURE__ */ React$3.createElement(
117818
+ "div",
117819
+ {
117820
+ className: title ? "bp3-dialog-body" : "bp3-alert-contents",
117821
+ style: { padding: 5 }
117822
+ },
117823
+ content,
117824
+ text && /* @__PURE__ */ React$3.createElement("div", { style: { marginBottom: 10 } }, text)
117825
+ ),
117800
117826
  /* @__PURE__ */ React$3.createElement(
117801
117827
  DialogFooter,
117802
117828
  {
@@ -117807,23 +117833,27 @@
117807
117833
  additionalButtons: thirdButtonText || fourthButtonText ? /* @__PURE__ */ React$3.createElement(React$3.Fragment, null, !!fourthButtonText && /* @__PURE__ */ React$3.createElement(
117808
117834
  Button,
117809
117835
  {
117836
+ className: (!fourthButtonNotMinimal ? MINIMAL : "") + " " + fourthButtonClassName,
117810
117837
  intent: fourthButtonIntent,
117811
117838
  text: fourthButtonText,
117812
- onClick: () => {
117813
- doClose("fourthButtonClicked");
117814
- }
117839
+ onClick: handleSubmit ? handleSubmit(
117840
+ (v) => doClose({ ...v, fourthButtonClicked: true })
117841
+ ) : () => doClose("fourthButtonClicked")
117815
117842
  }
117816
117843
  ), !!thirdButtonText && /* @__PURE__ */ React$3.createElement(
117817
117844
  Button,
117818
117845
  {
117846
+ className: (!thirdButtonNotMinimal ? MINIMAL : "") + " " + thirdButtonClassName,
117819
117847
  intent: thirdButtonIntent,
117820
117848
  text: thirdButtonText,
117821
- onClick: () => {
117849
+ onClick: handleSubmit ? handleSubmit(
117850
+ (v) => doClose({ ...v, thirdButtonClicked: true })
117851
+ ) : () => {
117822
117852
  doClose("thirdButtonClicked");
117823
117853
  }
117824
117854
  }
117825
117855
  )) : void 0,
117826
- containerClassname: "bp3-alert-footer",
117856
+ containerClassname: title ? "" : "bp3-alert-footer",
117827
117857
  backText: noCancelButton ? "" : cancelButtonText,
117828
117858
  text: confirmButtonText,
117829
117859
  intent
@@ -142143,13 +142173,13 @@
142143
142173
  messages.push(
142144
142174
  "Invalid annotation start: " + location.start + " detected for " + location.name + " and set to size: " + size
142145
142175
  );
142146
- location.start = size - (isProtein ? 3 : 1);
142176
+ location.start = Math.max(0, size - (isProtein ? 3 : 1));
142147
142177
  }
142148
142178
  if (location.end < 0 || !(location.end <= size - 1) || location.end > size - 1) {
142149
142179
  messages.push(
142150
142180
  "Invalid annotation end: " + location.end + " detected for " + location.name + " and set to seq size: " + size
142151
142181
  );
142152
- location.end = size - 1;
142182
+ location.end = Math.max(0, size - 1);
142153
142183
  }
142154
142184
  if (location.start > location.end && circular === false) {
142155
142185
  messages.push(
@@ -188747,7 +188777,7 @@ double click --> edit`}`;
188747
188777
  }
188748
188778
 
188749
188779
  const name = "@teselagen/ove";
188750
- const version = "0.3.18";
188780
+ const version = "0.3.20";
188751
188781
  const main = "./src/index.js";
188752
188782
  const exports$1 = {
188753
188783
  ".": {
@@ -190215,7 +190245,7 @@ double click --> edit`}`;
190215
190245
  },
190216
190246
  useGtgAndCtgAsStartCodons: {
190217
190247
  isHidden: isProtein,
190218
- name: "Use GTG And CTG As Start Codons",
190248
+ name: (props) => isRna(props) ? "Use GUG And CUG As Start Codons" : "Use GTG And CTG As Start Codons",
190219
190249
  isActive: (props) => props.useAdditionalOrfStartCodons,
190220
190250
  handler: (props) => props.useAdditionalOrfStartCodonsToggle()
190221
190251
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teselagen/ove",
3
- "version": "0.3.19",
3
+ "version": "0.3.21",
4
4
  "main": "./src/index.js",
5
5
  "exports": {
6
6
  ".": {
@@ -15,7 +15,7 @@
15
15
  "dependencies": {
16
16
  "@teselagen/sequence-utils": "0.3.7",
17
17
  "@teselagen/range-utils": "0.3.7",
18
- "@teselagen/ui": "0.3.17",
18
+ "@teselagen/ui": "0.3.19",
19
19
  "@teselagen/file-utils": "0.3.9",
20
20
  "@teselagen/bounce-loader": "0.3.11",
21
21
  "@teselagen/bio-parsers": "0.3.8",
@@ -930,7 +930,10 @@ const editCommandDefs = {
930
930
  useGtgAndCtgAsStartCodons: {
931
931
  isHidden: isProtein,
932
932
 
933
- name: "Use GTG And CTG As Start Codons",
933
+ name: props =>
934
+ isRna(props)
935
+ ? "Use GUG And CUG As Start Codons"
936
+ : "Use GTG And CTG As Start Codons",
934
937
  isActive: props => props.useAdditionalOrfStartCodons,
935
938
  handler: props => props.useAdditionalOrfStartCodonsToggle()
936
939
  },