@teselagen/ove 0.7.14 → 0.7.16

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.es.js CHANGED
@@ -56,8 +56,8 @@ var __async = (__this, __arguments, generator) => {
56
56
  step((generator = generator.apply(__this, __arguments)).next());
57
57
  });
58
58
  };
59
- var _E, _F, _G, _H, _I, _L, _O, _V;
60
- import { Icon, Classes, Button, Intent, MenuItem, Keys, Tag, Popover, Tooltip, Spinner, Position, FormGroup, Checkbox, Switch, InputGroup, TextArea, EditableText, NumericInput, RadioGroup, Menu, Toaster, MenuDivider, useHotkeys, ContextMenu, Callout, Dialog, Card, Tabs, Tab, Colors, KeyCombo, AnchorButton, Slider as Slider$1, ButtonGroup, HTMLSelect, Label, ResizeSensor, FocusStyleManager } from "@blueprintjs/core";
59
+ var _C, _D, _E, _F, _G, _J, _M, _T;
60
+ import { Icon, Classes, Button, Intent, MenuItem, Keys, Tag, Popover, Tooltip, Spinner, Position, FormGroup, Checkbox, Switch, InputGroup, TextArea, EditableText, NumericInput, RadioGroup, Menu, Toaster, MenuDivider, useHotkeys, ContextMenu, Callout, Dialog, Card, Tabs, Tab, Colors, HTMLSelect, KeyCombo, AnchorButton, Slider as Slider$1, ButtonGroup, Label, ResizeSensor, FocusStyleManager } from "@blueprintjs/core";
61
61
  import * as React$2 from "react";
62
62
  import React__default$1, { useState, useEffect, forwardRef, useImperativeHandle, Fragment, useMemo as useMemo$1, useRef, useReducer, useCallback as useCallback$1, createElement, Component, useLayoutEffect as useLayoutEffect$1, createContext, memo, useContext, isValidElement, PureComponent } from "react";
63
63
  import { formValueSelector, initialize, change, Field, reduxForm, SubmissionError, destroy as destroy$1, touch, FormName, reducer as reducer$4, getFormValues, FieldArray } from "redux-form";
@@ -31744,37 +31744,7 @@ __name(AsyncValidateFieldSpinner, "AsyncValidateFieldSpinner");
31744
31744
  * See the License for the specific language governing permissions and
31745
31745
  * limitations under the License.
31746
31746
  */
31747
- const sortKeys = /* @__PURE__ */ __name((o2) => {
31748
- if (Array.isArray(o2)) {
31749
- return o2.map(sortKeys);
31750
- } else if (o2 instanceof Object) {
31751
- let numeric = [];
31752
- let nonNumeric = [];
31753
- Object.keys(o2).forEach((key) => {
31754
- if (/^(0|[1-9][0-9]*)$/.test(key)) {
31755
- numeric.push(+key);
31756
- } else {
31757
- nonNumeric.push(key);
31758
- }
31759
- });
31760
- return numeric.sort(function(a2, b3) {
31761
- return a2 - b3;
31762
- }).concat(nonNumeric.sort()).reduce((result, key) => {
31763
- result[key] = sortKeys(o2[key]);
31764
- return result;
31765
- }, {});
31766
- }
31767
- return o2;
31768
- }, "sortKeys");
31769
- const jsonStringify = JSON.stringify.bind(JSON);
31770
- const sortify = /* @__PURE__ */ __name((value, replacer, space2) => {
31771
- let nativeJson = jsonStringify(value, replacer, 0);
31772
- if (!nativeJson || nativeJson[0] !== "{" && nativeJson[0] !== "[") {
31773
- return nativeJson;
31774
- }
31775
- let cleanObj = JSON.parse(nativeJson);
31776
- return jsonStringify(sortKeys(cleanObj), null, space2);
31777
- }, "sortify");
31747
+ JSON.stringify.bind(JSON);
31778
31748
  const REQUIRED_ERROR = "This field is required.";
31779
31749
  const fieldRequired = /* @__PURE__ */ __name((value) => !value || Array.isArray(value) && !value.length ? REQUIRED_ERROR : void 0, "fieldRequired");
31780
31750
  const useStableReference = /* @__PURE__ */ __name((value) => {
@@ -32381,98 +32351,15 @@ const renderReactSelect = /* @__PURE__ */ __name((props) => {
32381
32351
  });
32382
32352
  return /* @__PURE__ */ React__default$1.createElement(TgSelect$1, __spreadValues({}, propsToUse));
32383
32353
  }, "renderReactSelect");
32384
- const BPSelect = /* @__PURE__ */ __name((_q) => {
32385
- var _r = _q, { value, onChange } = _r, rest = __objRest(_r, ["value", "onChange"]);
32386
- return renderSelect(__spreadProps(__spreadValues({}, rest), { input: { onChange, value } }));
32387
- }, "BPSelect");
32388
- const renderSelect = /* @__PURE__ */ __name((_s) => {
32389
- var _t = _s, {
32390
- input: { value, onChange },
32391
- hideValue,
32392
- className,
32393
- placeholder,
32394
- onFieldSubmit,
32395
- options,
32396
- hidePlaceHolder,
32397
- minimal,
32398
- disabled
32399
- } = _t, rest = __objRest(_t, [
32400
- "input",
32401
- "hideValue",
32402
- "className",
32403
- "placeholder",
32404
- "onFieldSubmit",
32405
- "options",
32406
- "hidePlaceHolder",
32407
- "minimal",
32408
- "disabled"
32409
- ]);
32410
- return /* @__PURE__ */ React__default$1.createElement(
32411
- "div",
32412
- {
32413
- className: `${minimal && Classes.MINIMAL} ` + classNames(Classes.SELECT, Classes.FILL, className)
32414
- },
32415
- /* @__PURE__ */ React__default$1.createElement(
32416
- "select",
32417
- __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, removeUnwantedProps(rest)), {
32418
- className: `${disabled && Classes.DISABLED} `,
32419
- value: placeholder && value === "" ? "__placeholder__" : typeof value !== "string" ? sortify(value) : value,
32420
- disabled
32421
- }), hideValue ? { value: "" } : {}), {
32422
- onChange: function(e) {
32423
- let val2 = e.target.value;
32424
- try {
32425
- const maybeNewValue = JSON.parse(e.target.value);
32426
- const hasMatchInOriginalOptions = options.find(
32427
- (opt) => opt === maybeNewValue || opt.value === maybeNewValue
32428
- );
32429
- if (hasMatchInOriginalOptions || isPlainObject$5(maybeNewValue)) {
32430
- val2 = maybeNewValue;
32431
- }
32432
- } catch (e2) {
32433
- }
32434
- onChange(val2);
32435
- onFieldSubmit && onFieldSubmit(val2);
32436
- }
32437
- }),
32438
- placeholder && /* @__PURE__ */ React__default$1.createElement("option", { value: "__placeholder__", disabled: true, hidden: hidePlaceHolder }, placeholder),
32439
- options.map(function(opt, index2) {
32440
- let label, value2;
32441
- if (typeof opt === "string") {
32442
- label = opt;
32443
- value2 = opt;
32444
- } else if (isNumber$6(opt)) {
32445
- label = opt.toString();
32446
- value2 = opt;
32447
- } else if (Array.isArray(opt)) {
32448
- throw new Error(
32449
- "the option coming in should be an object, not an array!"
32450
- );
32451
- } else {
32452
- label = opt.label;
32453
- value2 = opt.value;
32454
- }
32455
- return /* @__PURE__ */ React__default$1.createElement(
32456
- "option",
32457
- {
32458
- key: index2,
32459
- value: typeof value2 !== "string" ? sortify(value2) : value2
32460
- },
32461
- label
32462
- );
32463
- })
32464
- )
32465
- );
32466
- }, "renderSelect");
32467
- const renderBlueprintNumericInput = /* @__PURE__ */ __name((_u) => {
32468
- var _v = _u, {
32354
+ const renderBlueprintNumericInput = /* @__PURE__ */ __name((_q) => {
32355
+ var _r = _q, {
32469
32356
  input,
32470
32357
  hideValue,
32471
32358
  intent,
32472
32359
  inputClassName,
32473
32360
  onFieldSubmit,
32474
32361
  onAnyNumberChange
32475
- } = _v, rest = __objRest(_v, [
32362
+ } = _r, rest = __objRest(_r, [
32476
32363
  "input",
32477
32364
  "hideValue",
32478
32365
  "intent",
@@ -32517,12 +32404,12 @@ const renderBlueprintNumericInput = /* @__PURE__ */ __name((_u) => {
32517
32404
  })
32518
32405
  );
32519
32406
  }, "renderBlueprintNumericInput");
32520
- const renderBlueprintRadioGroup = /* @__PURE__ */ __name((_w) => {
32521
- var _x = _w, {
32407
+ const renderBlueprintRadioGroup = /* @__PURE__ */ __name((_s) => {
32408
+ var _t = _s, {
32522
32409
  input,
32523
32410
  options,
32524
32411
  onFieldSubmit
32525
- } = _x, rest = __objRest(_x, [
32412
+ } = _t, rest = __objRest(_t, [
32526
32413
  "input",
32527
32414
  "options",
32528
32415
  "onFieldSubmit"
@@ -53390,8 +53277,8 @@ const itemSizeEstimators = {
53390
53277
  normal: () => 33.34,
53391
53278
  comfortable: () => 41.34
53392
53279
  };
53393
- const DataTable = /* @__PURE__ */ __name((_y) => {
53394
- var _z = _y, {
53280
+ const DataTable = /* @__PURE__ */ __name((_u) => {
53281
+ var _v = _u, {
53395
53282
  controlled_pageSize,
53396
53283
  formName = "tgDataTable",
53397
53284
  history,
@@ -53405,7 +53292,7 @@ const DataTable = /* @__PURE__ */ __name((_y) => {
53405
53292
  tableParams: _tableParams,
53406
53293
  anyTouched,
53407
53294
  blur
53408
- } = _z, ownProps = __objRest(_z, [
53295
+ } = _v, ownProps = __objRest(_v, [
53409
53296
  "controlled_pageSize",
53410
53297
  "formName",
53411
53298
  "history",
@@ -69380,14 +69267,22 @@ function AdvancedOptions({
69380
69267
  ), isOpen && /* @__PURE__ */ React__default$1.createElement("div", { style: { marginTop: 10 } }, content2 || children));
69381
69268
  }
69382
69269
  __name(AdvancedOptions, "AdvancedOptions");
69383
- function DropdownButton(_A) {
69384
- var _B = _A, {
69270
+ const TgHTMLSelect = /* @__PURE__ */ __name((_w) => {
69271
+ var _x = _w, { disabled } = _x, rest = __objRest(_x, ["disabled"]);
69272
+ if (disabled) {
69273
+ const opt = rest.options.find((o2) => o2.value === rest.value);
69274
+ return /* @__PURE__ */ React__default$1.createElement("div", __spreadProps(__spreadValues({}, rest), { className: classNames("bp3-html-select", rest.className) }), opt.label);
69275
+ }
69276
+ return /* @__PURE__ */ React__default$1.createElement(HTMLSelect, __spreadValues({}, rest));
69277
+ }, "TgHTMLSelect");
69278
+ function DropdownButton(_y) {
69279
+ var _z = _y, {
69385
69280
  disabled,
69386
69281
  menu,
69387
69282
  noRightIcon,
69388
69283
  popoverProps,
69389
69284
  className
69390
- } = _B, rest = __objRest(_B, [
69285
+ } = _z, rest = __objRest(_z, [
69391
69286
  "disabled",
69392
69287
  "menu",
69393
69288
  "noRightIcon",
@@ -72765,14 +72660,14 @@ const EnhancedMenuItem = compose(
72765
72660
  }
72766
72661
  }),
72767
72662
  branch(({ navTo }) => navTo, withRouter)
72768
- )(function(_C) {
72769
- var _D = _C, {
72663
+ )(function(_A) {
72664
+ var _B = _A, {
72770
72665
  navTo,
72771
72666
  context,
72772
72667
  staticContext,
72773
72668
  didMount,
72774
72669
  willUnmount
72775
- } = _D, props = __objRest(_D, [
72670
+ } = _B, props = __objRest(_B, [
72776
72671
  "navTo",
72777
72672
  "context",
72778
72673
  "staticContext",
@@ -73047,7 +72942,7 @@ const symbols = {
73047
72942
  down: "↓"
73048
72943
  };
73049
72944
  symbols.mod = symbols[isMac ? "meta" : "ctrl"];
73050
- let MenuBar$1 = (_E = class extends React__default$1.Component {
72945
+ let MenuBar$1 = (_C = class extends React__default$1.Component {
73051
72946
  constructor(props) {
73052
72947
  super(props);
73053
72948
  __publicField(this, "state", {
@@ -73292,10 +73187,10 @@ let MenuBar$1 = (_E = class extends React__default$1.Component {
73292
73187
  );
73293
73188
  }), extraContent);
73294
73189
  }
73295
- }, __name(_E, "MenuBar"), __publicField(_E, "defaultProps", {
73190
+ }, __name(_C, "MenuBar"), __publicField(_C, "defaultProps", {
73296
73191
  className: "",
73297
73192
  style: {}
73298
- }), _E);
73193
+ }), _C);
73299
73194
  const isDivider = /* @__PURE__ */ __name((item) => item.divider !== void 0, "isDivider");
73300
73195
  function getAllMenuTextsAndHandlers(menu, enhancers, context, path2 = []) {
73301
73196
  if (!menu)
@@ -73443,7 +73338,7 @@ function HotkeysDialog(props) {
73443
73338
  );
73444
73339
  }
73445
73340
  __name(HotkeysDialog, "HotkeysDialog");
73446
- let FillWindow$1 = (_F = class extends React__default$1.Component {
73341
+ let FillWindow$1 = (_D = class extends React__default$1.Component {
73447
73342
  constructor(props) {
73448
73343
  super(props);
73449
73344
  rerenderOnWindowResize(this);
@@ -73491,7 +73386,7 @@ let FillWindow$1 = (_F = class extends React__default$1.Component {
73491
73386
  return createPortal(inner2, window.document.body);
73492
73387
  return inner2;
73493
73388
  }
73494
- }, __name(_F, "FillWindow"), _F);
73389
+ }, __name(_D, "FillWindow"), _D);
73495
73390
  var relativeTime$1 = { exports: {} };
73496
73391
  (function(module2, exports2) {
73497
73392
  !function(r2, e) {
@@ -92550,7 +92445,7 @@ const util$1 = util$4;
92550
92445
  const xmlNode = xmlNode$1;
92551
92446
  const readDocType = DocTypeReader;
92552
92447
  const toNumber = strnum;
92553
- let OrderedObjParser$1 = (_G = class {
92448
+ let OrderedObjParser$1 = (_E = class {
92554
92449
  constructor(options) {
92555
92450
  this.options = options;
92556
92451
  this.currentNode = null;
@@ -92589,7 +92484,7 @@ let OrderedObjParser$1 = (_G = class {
92589
92484
  this.saveTextToParentTag = saveTextToParentTag;
92590
92485
  this.addChild = addChild;
92591
92486
  }
92592
- }, __name(_G, "OrderedObjParser"), _G);
92487
+ }, __name(_E, "OrderedObjParser"), _E);
92593
92488
  function addExternalEntities(externalEntities) {
92594
92489
  const entKeys = Object.keys(externalEntities);
92595
92490
  for (let i = 0; i < entKeys.length; i++) {
@@ -93145,7 +93040,7 @@ const { buildOptions } = OptionsBuilder;
93145
93040
  const OrderedObjParser = OrderedObjParser_1;
93146
93041
  const { prettify } = node2json;
93147
93042
  const validator$1 = validator$2;
93148
- let XMLParser$1 = (_H = class {
93043
+ let XMLParser$1 = (_F = class {
93149
93044
  constructor(options) {
93150
93045
  this.externalEntities = {};
93151
93046
  this.options = buildOptions(options);
@@ -93195,7 +93090,7 @@ let XMLParser$1 = (_H = class {
93195
93090
  this.externalEntities[key] = value;
93196
93091
  }
93197
93092
  }
93198
- }, __name(_H, "XMLParser"), _H);
93093
+ }, __name(_F, "XMLParser"), _F);
93199
93094
  var XMLParser_1 = XMLParser$1;
93200
93095
  const EOL = "\n";
93201
93096
  function toXml(jArray, options) {
@@ -120361,7 +120256,7 @@ const Labels$2 = onlyUpdateForKeys([
120361
120256
  "editorName"
120362
120257
  ])(Labels$1);
120363
120258
  const DrawLabel = withHover(
120364
- (_I = class extends React__default$1.Component {
120259
+ (_G = class extends React__default$1.Component {
120365
120260
  render() {
120366
120261
  const {
120367
120262
  hovered,
@@ -120465,7 +120360,7 @@ const DrawLabel = withHover(
120465
120360
  }
120466
120361
  ));
120467
120362
  }
120468
- }, __name(_I, "DrawLabelInner"), _I)
120363
+ }, __name(_G, "DrawLabelInner"), _G)
120469
120364
  );
120470
120365
  const labelClassNames = {
120471
120366
  cutsites: "veCutsiteLabel",
@@ -122375,7 +122270,7 @@ function showFileDialog({ multiple = false, onSelect }) {
122375
122270
  }
122376
122271
  __name(showFileDialog, "showFileDialog");
122377
122272
  const name = "@teselagen/ove";
122378
- const version = "0.7.13";
122273
+ const version = "0.7.15";
122379
122274
  const main = "./src/index.js";
122380
122275
  const type = "module";
122381
122276
  const exports$1 = {
@@ -122455,8 +122350,8 @@ const useAnnotationLimits = /* @__PURE__ */ __name(() => useLocalStorageState("a
122455
122350
  cutsites: 100
122456
122351
  }
122457
122352
  }), "useAnnotationLimits");
122458
- function LimitAnnotations(_J) {
122459
- var _K = _J, { type: type2 } = _K, rest = __objRest(_K, ["type"]);
122353
+ function LimitAnnotations(_H) {
122354
+ var _I = _H, { type: type2 } = _I, rest = __objRest(_I, ["type"]);
122460
122355
  const [limits = {}, setLimits] = useAnnotationLimits();
122461
122356
  return /* @__PURE__ */ React__default$1.createElement(MenuItem, __spreadValues({ icon: "blank", shouldDismissPopover: false }, rest), [50, 100, 200, 400].map((n2) => /* @__PURE__ */ React__default$1.createElement(
122462
122357
  MenuItem,
@@ -130364,7 +130259,7 @@ const _Minimap = class _Minimap extends React__default$1.Component {
130364
130259
  __name(_Minimap, "Minimap");
130365
130260
  let Minimap = _Minimap;
130366
130261
  const YellowScrollHandle = view(
130367
- (_L = class extends React__default$1.Component {
130262
+ (_J = class extends React__default$1.Component {
130368
130263
  render() {
130369
130264
  const {
130370
130265
  scrollHandleWidth,
@@ -130519,7 +130414,7 @@ const YellowScrollHandle = view(
130519
130414
  )
130520
130415
  );
130521
130416
  }
130522
- }, __name(_L, "YellowScrollHandleInner"), _L)
130417
+ }, __name(_J, "YellowScrollHandleInner"), _J)
130523
130418
  );
130524
130419
  function getTrimmedRangesToDisplay({ trimmedRange, seqLen }) {
130525
130420
  if (!trimmedRange)
@@ -130892,14 +130787,14 @@ function getRangeAnglesSpecial() {
130892
130787
  }, rest);
130893
130788
  }
130894
130789
  __name(getRangeAnglesSpecial, "getRangeAnglesSpecial");
130895
- function PositionAnnotationOnCircle(_M) {
130896
- var _N = _M, {
130790
+ function PositionAnnotationOnCircle(_K) {
130791
+ var _L = _K, {
130897
130792
  children,
130898
130793
  height: height2 = 0,
130899
130794
  sAngle = 0,
130900
130795
  eAngle = 0,
130901
130796
  forward = true
130902
- } = _N, rest = __objRest(_N, [
130797
+ } = _L, rest = __objRest(_L, [
130903
130798
  "children",
130904
130799
  "height",
130905
130800
  "sAngle",
@@ -133204,13 +133099,14 @@ function RotateCircularViewSlider({
133204
133099
  smallSlider,
133205
133100
  editorName
133206
133101
  }) {
133102
+ const mainSelector = editorName ? `.veEditor.${editorName}` : ".veEditor";
133207
133103
  const target = React__default$1.useRef();
133208
133104
  const svgEleRef = React__default$1.useRef();
133209
133105
  useEffect(() => {
133210
133106
  var _a2;
133211
- const svgEle = (_a2 = document.querySelector(`.veEditor.${editorName}`)) == null ? void 0 : _a2.querySelector(".veCircularView .circularViewSvg");
133107
+ const svgEle = (_a2 = document.querySelector(mainSelector)) == null ? void 0 : _a2.querySelector(".veCircularView .circularViewSvg");
133212
133108
  svgEleRef.current = svgEle;
133213
- }, [editorName]);
133109
+ }, [editorName, mainSelector]);
133214
133110
  const showLabelsDebounced = c(
133215
133111
  (el) => {
133216
133112
  try {
@@ -133247,9 +133143,11 @@ function RotateCircularViewSlider({
133247
133143
  var _a2;
133248
133144
  const val2 = 360 - _val;
133249
133145
  if (!svgEleRef.current) {
133250
- svgEleRef.current = (_a2 = document.querySelector(`.veEditor.${editorName}`)) == null ? void 0 : _a2.querySelector(".veCircularView .circularViewSvg");
133146
+ svgEleRef.current = (_a2 = document.querySelector(mainSelector)) == null ? void 0 : _a2.querySelector(".veCircularView .circularViewSvg");
133251
133147
  }
133252
133148
  const el = svgEleRef.current;
133149
+ if (!el)
133150
+ return;
133253
133151
  const innerEl = el == null ? void 0 : el.querySelector("g");
133254
133152
  innerEl.style.transform = `rotate(${val2}deg)`;
133255
133153
  setRotationRadians(val2 * Math.PI / 180);
@@ -141108,7 +141006,8 @@ const SimpleCircularOrLinearView = /* @__PURE__ */ __name((props) => {
141108
141006
  withFullscreen,
141109
141007
  selectionLayer: selectionLayer2,
141110
141008
  selectionLayerUpdate: selectionLayerUpdate2,
141111
- caretPositionUpdate: caretPositionUpdate2
141009
+ caretPositionUpdate: caretPositionUpdate2,
141010
+ editorName = "tg-simple-dna-view"
141112
141011
  } = props;
141113
141012
  const [previewType, setPreviewType] = useState(
141114
141013
  _sequenceData.circular ? "circular" : "linear"
@@ -141241,7 +141140,7 @@ const SimpleCircularOrLinearView = /* @__PURE__ */ __name((props) => {
141241
141140
  Component2,
141242
141141
  __spreadValues({}, __spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({
141243
141142
  showCicularViewInternalLabels: true,
141244
- className: "tg-simple-dna-view veEditor",
141143
+ className: `${editorName} veEditor tg-simple-dna-view`,
141245
141144
  width: 300,
141246
141145
  height: 300,
141247
141146
  noWarnings,
@@ -141480,7 +141379,7 @@ const SelectDialog = compose$1(
141480
141379
  }),
141481
141380
  tgFormValues("from", "to")
141482
141381
  )(
141483
- (_O = class extends React__default$1.Component {
141382
+ (_M = class extends React__default$1.Component {
141484
141383
  constructor() {
141485
141384
  super(...arguments);
141486
141385
  __publicField(this, "updateTempHighlight", /* @__PURE__ */ __name(({ isStart, isEnd } = {}) => (val2) => {
@@ -141591,7 +141490,7 @@ const SelectDialog = compose$1(
141591
141490
  ))
141592
141491
  );
141593
141492
  }
141594
- }, __name(_O, "SelectDialog"), _O)
141493
+ }, __name(_M, "SelectDialog"), _M)
141595
141494
  );
141596
141495
  const normalizeToInt = /* @__PURE__ */ __name((val2) => {
141597
141496
  const int2 = Math.round(val2);
@@ -145066,8 +144965,8 @@ function getTrackFromEvent(event, allTracks) {
145066
144965
  return track;
145067
144966
  }
145068
144967
  __name(getTrackFromEvent, "getTrackFromEvent");
145069
- const PerformantSelectionLayer = view((_P) => {
145070
- var _Q = _P, { easyStore: easyStore2 } = _Q, rest = __objRest(_Q, ["easyStore"]);
144968
+ const PerformantSelectionLayer = view((_N) => {
144969
+ var _O = _N, { easyStore: easyStore2 } = _O, rest = __objRest(_O, ["easyStore"]);
145071
144970
  const seqLen = rest.sequenceLength - 1;
145072
144971
  return /* @__PURE__ */ React__default$1.createElement(
145073
144972
  SelectionLayer$3,
@@ -146893,8 +146792,8 @@ const AlignmentView$1 = compose(
146893
146792
  })
146894
146793
  )
146895
146794
  )(AlignmentView);
146896
- const PerformantCaret = view((_R) => {
146897
- var _S = _R, { easyStore: easyStore2 } = _S, rest = __objRest(_S, ["easyStore"]);
146795
+ const PerformantCaret = view((_P) => {
146796
+ var _Q = _P, { easyStore: easyStore2 } = _Q, rest = __objRest(_Q, ["easyStore"]);
146898
146797
  return /* @__PURE__ */ React__default$1.createElement(Caret$2, __spreadValues({ caretPosition: easyStore2.caretPosition }, rest));
146899
146798
  });
146900
146799
  function cleanTracks(alignmentTracks) {
@@ -149157,14 +149056,14 @@ const cutsiteTool = connectToEditor(
149157
149056
  }, toolbarItemProps))
149158
149057
  );
149159
149058
  });
149160
- function CutsiteToolDropDown(_T) {
149161
- var _U = _T, {
149059
+ function CutsiteToolDropDown(_R) {
149060
+ var _S = _R, {
149162
149061
  editorName,
149163
149062
  toggleDropdown,
149164
149063
  annotationVisibilityShow: annotationVisibilityShow2,
149165
149064
  withDigestTool,
149166
149065
  createNewDigest: createNewDigest2
149167
- } = _U, rest = __objRest(_U, [
149066
+ } = _S, rest = __objRest(_S, [
149168
149067
  "editorName",
149169
149068
  "toggleDropdown",
149170
149069
  "annotationVisibilityShow",
@@ -149292,7 +149191,7 @@ const orfTool = connectToEditor(
149292
149191
  );
149293
149192
  });
149294
149193
  const OrfToolDropdown = withEditorProps(
149295
- (_V = class extends React__default$1.Component {
149194
+ (_T = class extends React__default$1.Component {
149296
149195
  constructor(props) {
149297
149196
  super(props);
149298
149197
  this.commands = getCommands(this);
@@ -149318,7 +149217,7 @@ const OrfToolDropdown = withEditorProps(
149318
149217
  }
149319
149218
  ));
149320
149219
  }
149321
- }, __name(_V, "OrfDropdown"), _V)
149220
+ }, __name(_T, "OrfDropdown"), _T)
149322
149221
  );
149323
149222
  const opts = [
149324
149223
  { label: "DNA", value: "DNA" },
@@ -149378,7 +149277,7 @@ const _FindBar = class _FindBar extends React__default$1.Component {
149378
149277
  }, "updateMatchNumber");
149379
149278
  const findOptionsEls = [
149380
149279
  /* @__PURE__ */ React__default$1.createElement(
149381
- HTMLSelect,
149280
+ TgHTMLSelect,
149382
149281
  {
149383
149282
  key: "dnaoraa",
149384
149283
  options: opts,
@@ -149390,7 +149289,7 @@ const _FindBar = class _FindBar extends React__default$1.Component {
149390
149289
  }
149391
149290
  ),
149392
149291
  /* @__PURE__ */ React__default$1.createElement("div", { style: { display: "flex" }, key: "ambiguousorliteral" }, /* @__PURE__ */ React__default$1.createElement(
149393
- HTMLSelect,
149292
+ TgHTMLSelect,
149394
149293
  {
149395
149294
  name: "ambiguousOrLiteral",
149396
149295
  options: [
@@ -149933,10 +149832,11 @@ const EditReadOnlyItem = connectToEditor(({ readOnly: readOnly2 }) => ({
149933
149832
  disableSetReadOnly,
149934
149833
  disableBpEditing
149935
149834
  } = props;
149835
+ const disabled = disableSetReadOnly || !onSave;
149936
149836
  return showReadOnly ? /* @__PURE__ */ React__default$1.createElement(StatusBarItem, { dataTest: "veStatusBar-readOnly" }, onSave ? /* @__PURE__ */ React__default$1.createElement(
149937
- HTMLSelect,
149837
+ TgHTMLSelect,
149938
149838
  {
149939
- "data-tip": !readOnly2 && disableBpEditing ? disableBpEditing : void 0,
149839
+ "data-tip": !readOnly2 && typeof disableBpEditing === "string" ? disableBpEditing : void 0,
149940
149840
  options: [
149941
149841
  {
149942
149842
  label: "Read Only",
@@ -149947,8 +149847,8 @@ const EditReadOnlyItem = connectToEditor(({ readOnly: readOnly2 }) => ({
149947
149847
  value: "editable"
149948
149848
  }
149949
149849
  ],
149950
- disabled: disableSetReadOnly || !onSave,
149951
- className: Classes.MINIMAL,
149850
+ disabled,
149851
+ className: Classes.MINIMAL + " veReadOnlySelect",
149952
149852
  value: readOnly2 ? "readOnly" : "editable",
149953
149853
  onChange: ({ target: { value } }) => handleReadOnlyChange(value === "readOnly", props)
149954
149854
  }
@@ -150052,7 +149952,7 @@ const EditCircularityItem = compose(
150052
149952
  withHandlers({ updateCircular })
150053
149953
  )(({ readOnly: readOnly2, showCircularity, circular: circular2, updateCircular: updateCircular2 }) => {
150054
149954
  return showCircularity ? /* @__PURE__ */ React__default$1.createElement(StatusBarItem, { dataTest: "veStatusBar-circularity" }, readOnly2 ? circular2 ? "Circular" : "Linear" : /* @__PURE__ */ React__default$1.createElement(
150055
- HTMLSelect,
149955
+ TgHTMLSelect,
150056
149956
  {
150057
149957
  onChange: ({ target: { value } }) => {
150058
149958
  updateCircular2(value === "circular");
@@ -150073,7 +149973,7 @@ const EditAvailabilityItem = connectToEditor(
150073
149973
  })
150074
149974
  )(({ readOnly: readOnly2, showAvailability, materiallyAvailable: materiallyAvailable2, updateAvailability: updateAvailability2 }) => {
150075
149975
  return showAvailability ? /* @__PURE__ */ React__default$1.createElement(StatusBarItem, null, readOnly2 ? materiallyAvailable2 ? "Available" : "Unavailable" : /* @__PURE__ */ React__default$1.createElement(
150076
- HTMLSelect,
149976
+ TgHTMLSelect,
150077
149977
  {
150078
149978
  onChange: ({ target: { value } }) => {
150079
149979
  updateAvailability2(value === "available");
@@ -150543,13 +150443,14 @@ const _GeneralProperties = class _GeneralProperties extends React__default$1.Com
150543
150443
  const {
150544
150444
  readOnly: readOnly2,
150545
150445
  showReadOnly = true,
150546
- updateCircular: updateCircular2,
150547
150446
  isProtein: isProtein2,
150548
150447
  disableSetReadOnly,
150549
- updateAvailability: updateAvailability2,
150550
150448
  sequenceData: sequenceData2,
150551
150449
  onSave,
150552
150450
  showAvailability,
150451
+ beforeReadOnlyChange,
150452
+ editorName,
150453
+ disableBpEditing,
150553
150454
  sequenceNameUpdate: sequenceNameUpdate2
150554
150455
  } = this.props;
150555
150456
  const {
@@ -150558,9 +150459,7 @@ const _GeneralProperties = class _GeneralProperties extends React__default$1.Com
150558
150459
  isOligo: isOligo2,
150559
150460
  isRna: isRna2,
150560
150461
  sequence: sequence2 = "",
150561
- proteinSequence = "",
150562
- circular: circular2,
150563
- materiallyAvailable: materiallyAvailable2
150462
+ proteinSequence = ""
150564
150463
  } = sequenceData2 || {};
150565
150464
  return /* @__PURE__ */ React__default$1.createElement(React__default$1.Fragment, null, /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-flex-row" }, /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-left bp3-label" }, "Name"), " ", /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-right" }, /* @__PURE__ */ React__default$1.createElement(
150566
150465
  InputField,
@@ -150573,43 +150472,15 @@ const _GeneralProperties = class _GeneralProperties extends React__default$1.Com
150573
150472
  enableReinitialize: true,
150574
150473
  defaultValue: name2
150575
150474
  }
150576
- ), " ")), !isProtein2 && !isOligo2 && !isRna2 && /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-flex-row circularLinearSelect" }, /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-left bp3-label" }, "Circular/Linear"), " ", /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-right" }, " ", /* @__PURE__ */ React__default$1.createElement(
150577
- BPSelect,
150578
- {
150579
- disabled: readOnly2,
150580
- onChange: (val2) => {
150581
- updateCircular2(val2 === "circular");
150582
- },
150583
- value: circular2 ? "circular" : "linear",
150584
- options: [
150585
- { label: "Circular", value: "circular" },
150586
- { label: "Linear", value: "linear" }
150587
- ]
150588
- }
150589
- ))), showAvailability && /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-flex-row" }, /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-left bp3-label" }, "Material Availability"), " ", /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-right" }, " ", /* @__PURE__ */ React__default$1.createElement(
150590
- BPSelect,
150475
+ ), " ")), !isProtein2 && !isOligo2 && !isRna2 && /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-flex-row circularLinearSelect" }, /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-left bp3-label" }, "Circular/Linear"), " ", /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-right" }, " ", /* @__PURE__ */ React__default$1.createElement(EditCircularityItem, { editorName, showCircularity: true }))), showAvailability && /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-flex-row" }, /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-left bp3-label" }, "Material Availability"), " ", /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-right" }, " ", /* @__PURE__ */ React__default$1.createElement(EditAvailabilityItem, { editorName, showAvailability: true }))), /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-flex-row" }, /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-left bp3-label" }, "Length"), " ", /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-right" }, " ", isProtein2 ? proteinSequence.length : sequence2.length)), showReadOnly && /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-flex-row" }, /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-left bp3-label" }, "Is Editable"), " ", /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-right" }, " ", /* @__PURE__ */ React__default$1.createElement(
150476
+ EditReadOnlyItem,
150591
150477
  {
150592
- disabled: readOnly2,
150593
- onChange: (val2) => {
150594
- updateAvailability2(val2 === "available");
150595
- },
150596
- value: materiallyAvailable2 ? "available" : "unavailable",
150597
- options: [
150598
- { label: "Available", value: "available" },
150599
- { label: "Unavailable", value: "unavailable" }
150600
- ]
150601
- }
150602
- ))), /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-flex-row" }, /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-left bp3-label" }, "Length"), " ", /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-right" }, " ", isProtein2 ? proteinSequence.length : sequence2.length)), showReadOnly && /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-flex-row" }, /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-left bp3-label" }, "Is Editable"), " ", /* @__PURE__ */ React__default$1.createElement("div", { className: "ve-column-right" }, " ", /* @__PURE__ */ React__default$1.createElement(
150603
- BPSelect,
150604
- {
150605
- className: "veReadOnlySelect",
150606
- disabled: !onSave || disableSetReadOnly,
150607
- onChange: (val2) => handleReadOnlyChange(val2 === "readOnly", this.props),
150608
- value: readOnly2 ? "readOnly" : "editable",
150609
- options: [
150610
- { label: "Read Only", value: "readOnly" },
150611
- { label: "Editable", value: "editable" }
150612
- ]
150478
+ beforeReadOnlyChange,
150479
+ editorName,
150480
+ onSave,
150481
+ disableBpEditing,
150482
+ disableSetReadOnly,
150483
+ showReadOnly
150613
150484
  }
150614
150485
  ))), /* @__PURE__ */ React__default$1.createElement("div", null, "Description"), /* @__PURE__ */ React__default$1.createElement(
150615
150486
  TextareaField,
@@ -154735,8 +154606,8 @@ function StandaloneVersionHistoryView(props) {
154735
154606
  return /* @__PURE__ */ React__default$1.createElement(Provider, { store }, /* @__PURE__ */ React__default$1.createElement(VersionHistoryView$1, __spreadValues({}, __spreadValues({}, props))));
154736
154607
  }
154737
154608
  __name(StandaloneVersionHistoryView, "StandaloneVersionHistoryView");
154738
- function createVectorEditor(_node, _W = {}) {
154739
- var _X = _W, { editorName = "StandaloneEditor" } = _X, rest = __objRest(_X, ["editorName"]);
154609
+ function createVectorEditor(_node, _U = {}) {
154610
+ var _V = _U, { editorName = "StandaloneEditor" } = _V, rest = __objRest(_V, ["editorName"]);
154740
154611
  if (!store) {
154741
154612
  store = makeStore();
154742
154613
  }
@@ -154769,8 +154640,8 @@ function createVectorEditor(_node, _W = {}) {
154769
154640
  return editor;
154770
154641
  }
154771
154642
  __name(createVectorEditor, "createVectorEditor");
154772
- function createVersionHistoryView(node2, _Y = {}) {
154773
- var _Z = _Y, { editorName = "StandaloneVersionHistoryView" } = _Z, rest = __objRest(_Z, ["editorName"]);
154643
+ function createVersionHistoryView(node2, _W = {}) {
154644
+ var _X = _W, { editorName = "StandaloneVersionHistoryView" } = _X, rest = __objRest(_X, ["editorName"]);
154774
154645
  if (!store) {
154775
154646
  store = makeStore();
154776
154647
  }