@teselagen/ove 0.3.49 → 0.3.51
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 +212 -131
- package/index.es.js +212 -131
- package/index.umd.js +298 -236
- package/package.json +4 -4
- package/src/redux/alignments.js +9 -3
- package/src/withEditorInteractions/index.js +2 -2
- package/src/withEditorProps/index.js +2 -2
- package/style.css +1 -1
    
        package/index.cjs.js
    CHANGED
    
    | @@ -18375,25 +18375,16 @@ var toString$6 = {}.toString; | |
| 18375 18375 | 
             
            var _cof = /* @__PURE__ */ __name(function(it) {
         | 
| 18376 18376 | 
             
              return toString$6.call(it).slice(8, -1);
         | 
| 18377 18377 | 
             
            }, "_cof");
         | 
| 18378 | 
            -
            var  | 
| 18379 | 
            -
            var  | 
| 18380 | 
            -
             | 
| 18381 | 
            -
             | 
| 18382 | 
            -
                return _iobject;
         | 
| 18383 | 
            -
              hasRequired_iobject = 1;
         | 
| 18384 | 
            -
              var cof2 = _cof;
         | 
| 18385 | 
            -
              _iobject = Object("z").propertyIsEnumerable(0) ? Object : function(it) {
         | 
| 18386 | 
            -
                return cof2(it) == "String" ? it.split("") : Object(it);
         | 
| 18387 | 
            -
              };
         | 
| 18388 | 
            -
              return _iobject;
         | 
| 18389 | 
            -
            }
         | 
| 18390 | 
            -
            __name(require_iobject, "require_iobject");
         | 
| 18378 | 
            +
            var cof$2 = _cof;
         | 
| 18379 | 
            +
            var _iobject = Object("z").propertyIsEnumerable(0) ? Object : function(it) {
         | 
| 18380 | 
            +
              return cof$2(it) == "String" ? it.split("") : Object(it);
         | 
| 18381 | 
            +
            };
         | 
| 18391 18382 | 
             
            var _defined = /* @__PURE__ */ __name(function(it) {
         | 
| 18392 18383 | 
             
              if (it == void 0)
         | 
| 18393 18384 | 
             
                throw TypeError("Can't call method on  " + it);
         | 
| 18394 18385 | 
             
              return it;
         | 
| 18395 18386 | 
             
            }, "_defined");
         | 
| 18396 | 
            -
            var IObject =  | 
| 18387 | 
            +
            var IObject = _iobject;
         | 
| 18397 18388 | 
             
            var defined$2 = _defined;
         | 
| 18398 18389 | 
             
            var _toIobject = /* @__PURE__ */ __name(function(it) {
         | 
| 18399 18390 | 
             
              return IObject(defined$2(it));
         | 
| @@ -18482,23 +18473,15 @@ var _objectKeysInternal = /* @__PURE__ */ __name(function(object3, names2) { | |
| 18482 18473 | 
             
              return result;
         | 
| 18483 18474 | 
             
            }, "_objectKeysInternal");
         | 
| 18484 18475 | 
             
            var _enumBugKeys = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",");
         | 
| 18485 | 
            -
            var $keys$ | 
| 18476 | 
            +
            var $keys$3 = _objectKeysInternal;
         | 
| 18486 18477 | 
             
            var enumBugKeys$1 = _enumBugKeys;
         | 
| 18487 18478 | 
             
            var _objectKeys = Object.keys || /* @__PURE__ */ __name(function keys(O2) {
         | 
| 18488 | 
            -
              return $keys$ | 
| 18479 | 
            +
              return $keys$3(O2, enumBugKeys$1);
         | 
| 18489 18480 | 
             
            }, "keys");
         | 
| 18490 18481 | 
             
            var _objectGops = {};
         | 
| 18491 18482 | 
             
            _objectGops.f = Object.getOwnPropertySymbols;
         | 
| 18492 18483 | 
             
            var _objectPie = {};
         | 
| 18493 | 
            -
             | 
| 18494 | 
            -
            function require_objectPie() {
         | 
| 18495 | 
            -
              if (hasRequired_objectPie)
         | 
| 18496 | 
            -
                return _objectPie;
         | 
| 18497 | 
            -
              hasRequired_objectPie = 1;
         | 
| 18498 | 
            -
              _objectPie.f = {}.propertyIsEnumerable;
         | 
| 18499 | 
            -
              return _objectPie;
         | 
| 18500 | 
            -
            }
         | 
| 18501 | 
            -
            __name(require_objectPie, "require_objectPie");
         | 
| 18484 | 
            +
            _objectPie.f = {}.propertyIsEnumerable;
         | 
| 18502 18485 | 
             
            var defined$1 = _defined;
         | 
| 18503 18486 | 
             
            var _toObject = /* @__PURE__ */ __name(function(it) {
         | 
| 18504 18487 | 
             
              return Object(defined$1(it));
         | 
| @@ -18512,9 +18495,9 @@ function require_objectAssign() { | |
| 18512 18495 | 
             
              var DESCRIPTORS2 = _descriptors;
         | 
| 18513 18496 | 
             
              var getKeys2 = _objectKeys;
         | 
| 18514 18497 | 
             
              var gOPS2 = _objectGops;
         | 
| 18515 | 
            -
              var pIE2 =  | 
| 18498 | 
            +
              var pIE2 = _objectPie;
         | 
| 18516 18499 | 
             
              var toObject2 = _toObject;
         | 
| 18517 | 
            -
              var IObject2 =  | 
| 18500 | 
            +
              var IObject2 = _iobject;
         | 
| 18518 18501 | 
             
              var $assign = Object.assign;
         | 
| 18519 18502 | 
             
              _objectAssign = !$assign || _fails(function() {
         | 
| 18520 18503 | 
             
                var A2 = {};
         | 
| @@ -19149,7 +19132,7 @@ var _wksDefine = /* @__PURE__ */ __name(function(name2) { | |
| 19149 19132 | 
             
            }, "_wksDefine");
         | 
| 19150 19133 | 
             
            var getKeys = _objectKeys;
         | 
| 19151 19134 | 
             
            var gOPS$1 = _objectGops;
         | 
| 19152 | 
            -
            var pIE$1 =  | 
| 19135 | 
            +
            var pIE$1 = _objectPie;
         | 
| 19153 19136 | 
             
            var _enumKeys = /* @__PURE__ */ __name(function(it) {
         | 
| 19154 19137 | 
             
              var result = getKeys(it);
         | 
| 19155 19138 | 
             
              var getSymbols2 = gOPS$1.f;
         | 
| @@ -19170,21 +19153,13 @@ var _isArray = Array.isArray || /* @__PURE__ */ __name(function isArray(arg) { | |
| 19170 19153 | 
             
            }, "isArray");
         | 
| 19171 19154 | 
             
            var _objectGopnExt = {};
         | 
| 19172 19155 | 
             
            var _objectGopn = {};
         | 
| 19173 | 
            -
            var  | 
| 19174 | 
            -
             | 
| 19175 | 
            -
             | 
| 19176 | 
            -
             | 
| 19177 | 
            -
             | 
| 19178 | 
            -
              var $keys2 = _objectKeysInternal;
         | 
| 19179 | 
            -
              var hiddenKeys = _enumBugKeys.concat("length", "prototype");
         | 
| 19180 | 
            -
              _objectGopn.f = Object.getOwnPropertyNames || /* @__PURE__ */ __name(function getOwnPropertyNames4(O2) {
         | 
| 19181 | 
            -
                return $keys2(O2, hiddenKeys);
         | 
| 19182 | 
            -
              }, "getOwnPropertyNames");
         | 
| 19183 | 
            -
              return _objectGopn;
         | 
| 19184 | 
            -
            }
         | 
| 19185 | 
            -
            __name(require_objectGopn, "require_objectGopn");
         | 
| 19156 | 
            +
            var $keys$2 = _objectKeysInternal;
         | 
| 19157 | 
            +
            var hiddenKeys = _enumBugKeys.concat("length", "prototype");
         | 
| 19158 | 
            +
            _objectGopn.f = Object.getOwnPropertyNames || /* @__PURE__ */ __name(function getOwnPropertyNames(O2) {
         | 
| 19159 | 
            +
              return $keys$2(O2, hiddenKeys);
         | 
| 19160 | 
            +
            }, "getOwnPropertyNames");
         | 
| 19186 19161 | 
             
            var toIObject$2 = _toIobject;
         | 
| 19187 | 
            -
            var gOPN$1 =  | 
| 19162 | 
            +
            var gOPN$1 = _objectGopn.f;
         | 
| 19188 19163 | 
             
            var toString$5 = {}.toString;
         | 
| 19189 19164 | 
             
            var windowNames = typeof window == "object" && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
         | 
| 19190 19165 | 
             
            var getWindowNames = /* @__PURE__ */ __name(function(it) {
         | 
| @@ -19194,11 +19169,11 @@ var getWindowNames = /* @__PURE__ */ __name(function(it) { | |
| 19194 19169 | 
             
                return windowNames.slice();
         | 
| 19195 19170 | 
             
              }
         | 
| 19196 19171 | 
             
            }, "getWindowNames");
         | 
| 19197 | 
            -
            _objectGopnExt.f = /* @__PURE__ */ __name(function  | 
| 19172 | 
            +
            _objectGopnExt.f = /* @__PURE__ */ __name(function getOwnPropertyNames2(it) {
         | 
| 19198 19173 | 
             
              return windowNames && toString$5.call(it) == "[object Window]" ? getWindowNames(it) : gOPN$1(toIObject$2(it));
         | 
| 19199 19174 | 
             
            }, "getOwnPropertyNames");
         | 
| 19200 19175 | 
             
            var _objectGopd = {};
         | 
| 19201 | 
            -
            var pIE =  | 
| 19176 | 
            +
            var pIE = _objectPie;
         | 
| 19202 19177 | 
             
            var createDesc$1 = _propertyDesc;
         | 
| 19203 19178 | 
             
            var toIObject$1 = _toIobject;
         | 
| 19204 19179 | 
             
            var toPrimitive$1 = _toPrimitive$1;
         | 
| @@ -19333,7 +19308,7 @@ var $getOwnPropertyDescriptor = /* @__PURE__ */ __name(function getOwnPropertyDe | |
| 19333 19308 | 
             
                D2.enumerable = true;
         | 
| 19334 19309 | 
             
              return D2;
         | 
| 19335 19310 | 
             
            }, "getOwnPropertyDescriptor");
         | 
| 19336 | 
            -
            var $getOwnPropertyNames = /* @__PURE__ */ __name(function  | 
| 19311 | 
            +
            var $getOwnPropertyNames = /* @__PURE__ */ __name(function getOwnPropertyNames3(it) {
         | 
| 19337 19312 | 
             
              var names2 = gOPN(toIObject(it));
         | 
| 19338 19313 | 
             
              var result = [];
         | 
| 19339 19314 | 
             
              var i = 0;
         | 
| @@ -19377,8 +19352,8 @@ if (!USE_NATIVE) { | |
| 19377 19352 | 
             
              }, "toString"));
         | 
| 19378 19353 | 
             
              $GOPD.f = $getOwnPropertyDescriptor;
         | 
| 19379 19354 | 
             
              $DP.f = $defineProperty$1;
         | 
| 19380 | 
            -
               | 
| 19381 | 
            -
               | 
| 19355 | 
            +
              _objectGopn.f = gOPNExt.f = $getOwnPropertyNames;
         | 
| 19356 | 
            +
              _objectPie.f = $propertyIsEnumerable;
         | 
| 19382 19357 | 
             
              $GOPS.f = $getOwnPropertySymbols;
         | 
| 19383 19358 | 
             
              if (DESCRIPTORS && !_library) {
         | 
| 19384 19359 | 
             
                redefine(ObjectProto, "propertyIsEnumerable", $propertyIsEnumerable);
         | 
| @@ -40017,6 +39992,13 @@ const popoverOverflowModifiers = { | |
| 40017 39992 | 
             
            const _TgSelect = class _TgSelect extends React$2.Component {
         | 
| 40018 39993 | 
             
              constructor(props) {
         | 
| 40019 39994 | 
             
                super(props);
         | 
| 39995 | 
            +
                __publicField(this, "setOpenState", /* @__PURE__ */ __name((isOpen) => {
         | 
| 39996 | 
            +
                  const { handleOpenChange } = this.props;
         | 
| 39997 | 
            +
                  if (handleOpenChange) {
         | 
| 39998 | 
            +
                    handleOpenChange(isOpen);
         | 
| 39999 | 
            +
                  }
         | 
| 40000 | 
            +
                  this.setState({ isOpen });
         | 
| 40001 | 
            +
                }, "setOpenState"));
         | 
| 40020 40002 | 
             
                __publicField(this, "itemRenderer", /* @__PURE__ */ __name((i, { index: index2, handleClick, modifiers: modifiers2 }) => {
         | 
| 40021 40003 | 
             
                  const optionRenderer = this.getOptionRenderer();
         | 
| 40022 40004 | 
             
                  const onClick = i.onClick || handleClick;
         | 
| @@ -40049,7 +40031,7 @@ const _TgSelect = class _TgSelect extends React$2.Component { | |
| 40049 40031 | 
             
                  if (multi) {
         | 
| 40050 40032 | 
             
                    let valArray = getValueArray(value);
         | 
| 40051 40033 | 
             
                    if (closeOnSelect || item.closeOnSelect) {
         | 
| 40052 | 
            -
                      this. | 
| 40034 | 
            +
                      this.setOpenState(false);
         | 
| 40053 40035 | 
             
                      this.input && this.input.blur();
         | 
| 40054 40036 | 
             
                    }
         | 
| 40055 40037 | 
             
                    if (isTagSelect && item.value && item.value.includes && item.value.includes(":")) {
         | 
| @@ -40066,7 +40048,7 @@ const _TgSelect = class _TgSelect extends React$2.Component { | |
| 40066 40048 | 
             
                    }
         | 
| 40067 40049 | 
             
                    return onChange([...valArray, item]);
         | 
| 40068 40050 | 
             
                  } else {
         | 
| 40069 | 
            -
                    this. | 
| 40051 | 
            +
                    this.setOpenState(false);
         | 
| 40070 40052 | 
             
                    this.input && this.input.blur();
         | 
| 40071 40053 | 
             
                    return onChange(item);
         | 
| 40072 40054 | 
             
                  }
         | 
| @@ -40079,7 +40061,7 @@ const _TgSelect = class _TgSelect extends React$2.Component { | |
| 40079 40061 | 
             
                  );
         | 
| 40080 40062 | 
             
                  e2.stopPropagation();
         | 
| 40081 40063 | 
             
                  onChange(filteredVals);
         | 
| 40082 | 
            -
                  this. | 
| 40064 | 
            +
                  this.setOpenState(false);
         | 
| 40083 40065 | 
             
                  this.input.focus();
         | 
| 40084 40066 | 
             
                }, "handleTagRemove"));
         | 
| 40085 40067 | 
             
                __publicField(this, "handleTagInputRemove", /* @__PURE__ */ __name((val2, index2) => {
         | 
| @@ -40100,7 +40082,7 @@ const _TgSelect = class _TgSelect extends React$2.Component { | |
| 40100 40082 | 
             
                  const { onChange } = this.props;
         | 
| 40101 40083 | 
             
                  this.setState({ query: "" });
         | 
| 40102 40084 | 
             
                  onChange(newValue);
         | 
| 40103 | 
            -
                  this. | 
| 40085 | 
            +
                  this.setOpenState(false);
         | 
| 40104 40086 | 
             
                  this.input.focus();
         | 
| 40105 40087 | 
             
                }, "handleClear"));
         | 
| 40106 40088 | 
             
                __publicField(this, "itemListPredicate", /* @__PURE__ */ __name((queryString2, item) => {
         | 
| @@ -40123,9 +40105,12 @@ const _TgSelect = class _TgSelect extends React$2.Component { | |
| 40123 40105 | 
             
                }, "handleActiveItemChange"));
         | 
| 40124 40106 | 
             
                __publicField(this, "onInteraction", /* @__PURE__ */ __name(() => {
         | 
| 40125 40107 | 
             
                  if (this.input != null && this.input !== document.activeElement) {
         | 
| 40126 | 
            -
                    this. | 
| 40108 | 
            +
                    this.setOpenState(false);
         | 
| 40109 | 
            +
                    this.setState({
         | 
| 40110 | 
            +
                      query: ""
         | 
| 40111 | 
            +
                    });
         | 
| 40127 40112 | 
             
                  } else if (!this.props.openOnKeyDown) {
         | 
| 40128 | 
            -
                    this. | 
| 40113 | 
            +
                    this.setOpenState(true);
         | 
| 40129 40114 | 
             
                  }
         | 
| 40130 40115 | 
             
                }, "onInteraction"));
         | 
| 40131 40116 | 
             
                __publicField(this, "queryHasExactOptionMatch", /* @__PURE__ */ __name(() => {
         | 
| @@ -40234,7 +40219,7 @@ const _TgSelect = class _TgSelect extends React$2.Component { | |
| 40234 40219 | 
             
                    onClick: (e2) => {
         | 
| 40235 40220 | 
             
                      if (this.state.isOpen) {
         | 
| 40236 40221 | 
             
                        e2.stopPropagation();
         | 
| 40237 | 
            -
                        this. | 
| 40222 | 
            +
                        this.setOpenState(false);
         | 
| 40238 40223 | 
             
                      }
         | 
| 40239 40224 | 
             
                    },
         | 
| 40240 40225 | 
             
                    disabled,
         | 
| @@ -40307,11 +40292,11 @@ const _TgSelect = class _TgSelect extends React$2.Component { | |
| 40307 40292 | 
             
                          if (this.input != null) {
         | 
| 40308 40293 | 
             
                            this.input.blur();
         | 
| 40309 40294 | 
             
                          }
         | 
| 40310 | 
            -
                          this. | 
| 40295 | 
            +
                          this.setOpenState(false);
         | 
| 40311 40296 | 
             
                          e2.preventDefault();
         | 
| 40312 40297 | 
             
                          e2.stopPropagation();
         | 
| 40313 40298 | 
             
                        } else if (!(which === core$5.Keys.BACKSPACE || which === core$5.Keys.ARROW_LEFT || which === core$5.Keys.ARROW_RIGHT)) {
         | 
| 40314 | 
            -
                          this. | 
| 40299 | 
            +
                          this.setOpenState(true);
         | 
| 40315 40300 | 
             
                        }
         | 
| 40316 40301 | 
             
                      },
         | 
| 40317 40302 | 
             
                      inputProps: __spreadValues({
         | 
| @@ -55193,7 +55178,7 @@ var KNOWN_STATICS = { | |
| 55193 55178 | 
             
              arity: true
         | 
| 55194 55179 | 
             
            };
         | 
| 55195 55180 | 
             
            var defineProperty$3 = Object.defineProperty;
         | 
| 55196 | 
            -
            var  | 
| 55181 | 
            +
            var getOwnPropertyNames4 = Object.getOwnPropertyNames;
         | 
| 55197 55182 | 
             
            var getOwnPropertySymbols3 = Object.getOwnPropertySymbols;
         | 
| 55198 55183 | 
             
            var getOwnPropertyDescriptor3 = Object.getOwnPropertyDescriptor;
         | 
| 55199 55184 | 
             
            var getPrototypeOf = Object.getPrototypeOf;
         | 
| @@ -55206,7 +55191,7 @@ function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { | |
| 55206 55191 | 
             
                    hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
         | 
| 55207 55192 | 
             
                  }
         | 
| 55208 55193 | 
             
                }
         | 
| 55209 | 
            -
                var keys5 =  | 
| 55194 | 
            +
                var keys5 = getOwnPropertyNames4(sourceComponent);
         | 
| 55210 55195 | 
             
                if (getOwnPropertySymbols3) {
         | 
| 55211 55196 | 
             
                  keys5 = keys5.concat(getOwnPropertySymbols3(sourceComponent));
         | 
| 55212 55197 | 
             
                }
         | 
| @@ -56435,13 +56420,24 @@ const _DataTable = class _DataTable extends React$2.Component { | |
| 56435 56420 | 
             
                    }, 0);
         | 
| 56436 56421 | 
             
                  }
         | 
| 56437 56422 | 
             
                }, "updateFromProps"));
         | 
| 56438 | 
            -
                __publicField(this, "formatAndValidateEntities", /* @__PURE__ */ __name((entities) => {
         | 
| 56423 | 
            +
                __publicField(this, "formatAndValidateEntities", /* @__PURE__ */ __name((entities, { useDefaultValues, indexToStartAt } = {}) => {
         | 
| 56439 56424 | 
             
                  const { schema: schema2 } = this.props;
         | 
| 56440 56425 | 
             
                  const editableFields = schema2.fields.filter((f2) => !f2.isNotEditable);
         | 
| 56441 56426 | 
             
                  const validationErrors = {};
         | 
| 56442 56427 | 
             
                  const newEnts = immer(entities, (entities2) => {
         | 
| 56443 56428 | 
             
                    entities2.forEach((e2, index2) => {
         | 
| 56444 56429 | 
             
                      editableFields.forEach((columnSchema) => {
         | 
| 56430 | 
            +
                        if (useDefaultValues) {
         | 
| 56431 | 
            +
                          if (e2[columnSchema.path] === void 0) {
         | 
| 56432 | 
            +
                            if (lodashExports.isFunction(columnSchema.defaultValue)) {
         | 
| 56433 | 
            +
                              e2[columnSchema.path] = columnSchema.defaultValue(
         | 
| 56434 | 
            +
                                index2 + indexToStartAt,
         | 
| 56435 | 
            +
                                e2
         | 
| 56436 | 
            +
                              );
         | 
| 56437 | 
            +
                            } else
         | 
| 56438 | 
            +
                              e2[columnSchema.path] = columnSchema.defaultValue;
         | 
| 56439 | 
            +
                          }
         | 
| 56440 | 
            +
                        }
         | 
| 56445 56441 | 
             
                        const { error } = editCellHelper({
         | 
| 56446 56442 | 
             
                          entity: e2,
         | 
| 56447 56443 | 
             
                          columnSchema,
         | 
| @@ -56765,8 +56761,9 @@ const _DataTable = class _DataTable extends React$2.Component { | |
| 56765 56761 | 
             
                }, "handleCut"));
         | 
| 56766 56762 | 
             
                __publicField(this, "getCellCopyText", /* @__PURE__ */ __name((cellWrapper) => {
         | 
| 56767 56763 | 
             
                  const text2 = cellWrapper && cellWrapper.getAttribute("data-copy-text");
         | 
| 56764 | 
            +
                  const jsonText = cellWrapper && cellWrapper.getAttribute("data-copy-json");
         | 
| 56768 56765 | 
             
                  const toRet = text2 || cellWrapper.textContent || "";
         | 
| 56769 | 
            -
                  return toRet;
         | 
| 56766 | 
            +
                  return [toRet, jsonText];
         | 
| 56770 56767 | 
             
                }, "getCellCopyText"));
         | 
| 56771 56768 | 
             
                __publicField(this, "handleCopyRow", /* @__PURE__ */ __name((rowEl) => {
         | 
| 56772 56769 | 
             
                  const text2 = this.getRowCopyText(rowEl);
         | 
| @@ -56774,13 +56771,26 @@ const _DataTable = class _DataTable extends React$2.Component { | |
| 56774 56771 | 
             
                    return window.toastr.warning("No text to copy");
         | 
| 56775 56772 | 
             
                  this.handleCopyHelper(text2, "Row Copied");
         | 
| 56776 56773 | 
             
                }, "handleCopyRow"));
         | 
| 56777 | 
            -
                __publicField(this, "handleCopyColumn", /* @__PURE__ */ __name((e2, cellWrapper) => {
         | 
| 56774 | 
            +
                __publicField(this, "handleCopyColumn", /* @__PURE__ */ __name((e2, cellWrapper, selectedRecords) => {
         | 
| 56778 56775 | 
             
                  const cellType = cellWrapper.getAttribute("data-test");
         | 
| 56779 | 
            -
                   | 
| 56780 | 
            -
                  if (! | 
| 56776 | 
            +
                  let rowElsToCopy = getAllRows(e2);
         | 
| 56777 | 
            +
                  if (!rowElsToCopy)
         | 
| 56778 | 
            +
                    return;
         | 
| 56779 | 
            +
                  if (selectedRecords) {
         | 
| 56780 | 
            +
                    const ids = selectedRecords.map((e22) => {
         | 
| 56781 | 
            +
                      var _a2;
         | 
| 56782 | 
            +
                      return (_a2 = getIdOrCodeOrIndex(e22)) == null ? void 0 : _a2.toString();
         | 
| 56783 | 
            +
                    });
         | 
| 56784 | 
            +
                    rowElsToCopy = Array.from(rowElsToCopy).filter((rowEl) => {
         | 
| 56785 | 
            +
                      var _a2;
         | 
| 56786 | 
            +
                      const id2 = (_a2 = rowEl.closest(".rt-tr-group")) == null ? void 0 : _a2.getAttribute("data-test-id");
         | 
| 56787 | 
            +
                      return id2 !== void 0 && ids.includes(id2);
         | 
| 56788 | 
            +
                    });
         | 
| 56789 | 
            +
                  }
         | 
| 56790 | 
            +
                  if (!rowElsToCopy)
         | 
| 56781 56791 | 
             
                    return;
         | 
| 56782 56792 | 
             
                  const textToCopy = lodashExports.map(
         | 
| 56783 | 
            -
                     | 
| 56793 | 
            +
                    rowElsToCopy,
         | 
| 56784 56794 | 
             
                    (rowEl) => this.getRowCopyText(rowEl, { cellType })
         | 
| 56785 56795 | 
             
                  ).filter((text2) => text2).join("\n");
         | 
| 56786 56796 | 
             
                  if (!textToCopy)
         | 
| @@ -56821,9 +56831,10 @@ const _DataTable = class _DataTable extends React$2.Component { | |
| 56821 56831 | 
             
                    return this.getCellCopyText(cellChild);
         | 
| 56822 56832 | 
             
                  }).join("	");
         | 
| 56823 56833 | 
             
                }, "getRowCopyText"));
         | 
| 56824 | 
            -
                __publicField(this, "handleCopyHelper", /* @__PURE__ */ __name((stringToCopy, message) => {
         | 
| 56834 | 
            +
                __publicField(this, "handleCopyHelper", /* @__PURE__ */ __name((stringToCopy, objToCopy, message) => {
         | 
| 56825 56835 | 
             
                  const copyHandler = /* @__PURE__ */ __name((e2) => {
         | 
| 56826 56836 | 
             
                    e2.preventDefault();
         | 
| 56837 | 
            +
                    e2.clipboardData.setData("application/json", JSON.stringify(objToCopy));
         | 
| 56827 56838 | 
             
                    e2.clipboardData.setData("text/plain", stringToCopy);
         | 
| 56828 56839 | 
             
                  }, "copyHandler");
         | 
| 56829 56840 | 
             
                  document.addEventListener("copy", copyHandler);
         | 
| @@ -57685,6 +57696,22 @@ const _DataTable = class _DataTable extends React$2.Component { | |
| 57685 57696 | 
             
                        noEllipsis = true;
         | 
| 57686 57697 | 
             
                      } else {
         | 
| 57687 57698 | 
             
                        if (reduxFormEditingCell === cellId) {
         | 
| 57699 | 
            +
                          if (column.type === "genericSelect") {
         | 
| 57700 | 
            +
                            const GenericSelectComp = column.GenericSelectComp;
         | 
| 57701 | 
            +
                            return /* @__PURE__ */ React$2.createElement(
         | 
| 57702 | 
            +
                              GenericSelectComp,
         | 
| 57703 | 
            +
                              __spreadProps(__spreadValues({
         | 
| 57704 | 
            +
                                rowId,
         | 
| 57705 | 
            +
                                initialValue: text2
         | 
| 57706 | 
            +
                              }, dataTest), {
         | 
| 57707 | 
            +
                                finishEdit: (newVal2, doNotStopEditing) => {
         | 
| 57708 | 
            +
                                  this.finishCellEdit(cellId, newVal2, doNotStopEditing);
         | 
| 57709 | 
            +
                                },
         | 
| 57710 | 
            +
                                dataTest,
         | 
| 57711 | 
            +
                                cancelEdit: this.cancelCellEdit
         | 
| 57712 | 
            +
                              })
         | 
| 57713 | 
            +
                            );
         | 
| 57714 | 
            +
                          }
         | 
| 57688 57715 | 
             
                          if (column.type === "dropdown" || column.type === "dropdownMulti") {
         | 
| 57689 57716 | 
             
                            return /* @__PURE__ */ React$2.createElement(
         | 
| 57690 57717 | 
             
                              DropdownCell,
         | 
| @@ -57745,7 +57772,7 @@ const _DataTable = class _DataTable extends React$2.Component { | |
| 57745 57772 | 
             
                          title: title || void 0
         | 
| 57746 57773 | 
             
                        }),
         | 
| 57747 57774 | 
             
                        val2
         | 
| 57748 | 
            -
                      ), isCellEditable && (column.type === "dropdown" || column.type === "dropdownMulti") && /* @__PURE__ */ React$2.createElement(
         | 
| 57775 | 
            +
                      ), isCellEditable && (column.type === "dropdown" || column.type === "dropdownMulti" || column.type === "genericSelect") && /* @__PURE__ */ React$2.createElement(
         | 
| 57749 57776 | 
             
                        core$5.Icon,
         | 
| 57750 57777 | 
             
                        {
         | 
| 57751 57778 | 
             
                          icon: "caret-down",
         | 
| @@ -57888,7 +57915,7 @@ const _DataTable = class _DataTable extends React$2.Component { | |
| 57888 57915 | 
             
                                const cellNumStr2 = getNumberStrAtEnd(cellVal);
         | 
| 57889 57916 | 
             
                                const cellNum2 = Number(cellNumStr2);
         | 
| 57890 57917 | 
             
                                const cellTextNoNum = stripNumberAtEnd(cellVal);
         | 
| 57891 | 
            -
                                if (cellNumStr2.startsWith("0")) {
         | 
| 57918 | 
            +
                                if (cellNumStr2 == null ? void 0 : cellNumStr2.startsWith("0")) {
         | 
| 57892 57919 | 
             
                                  maybePad = cellNumStr2.length;
         | 
| 57893 57920 | 
             
                                }
         | 
| 57894 57921 | 
             
                                if (cellTextNoNum && !prefix2) {
         | 
| @@ -58035,16 +58062,19 @@ const _DataTable = class _DataTable extends React$2.Component { | |
| 58035 58062 | 
             
                      return getIdOrCodeOrIndex(e2, i) === rowId;
         | 
| 58036 58063 | 
             
                    });
         | 
| 58037 58064 | 
             
                    const insertIndex = above ? indexToInsert : indexToInsert + 1;
         | 
| 58038 | 
            -
                     | 
| 58065 | 
            +
                    const insertIndexToUse = appendToBottom ? entities2.length : insertIndex;
         | 
| 58066 | 
            +
                    let { newEnts, validationErrors } = this.formatAndValidateEntities(
         | 
| 58067 | 
            +
                      newEntities,
         | 
| 58068 | 
            +
                      {
         | 
| 58069 | 
            +
                        useDefaultValues: true,
         | 
| 58070 | 
            +
                        indexToStartAt: insertIndexToUse
         | 
| 58071 | 
            +
                      }
         | 
| 58072 | 
            +
                    );
         | 
| 58039 58073 | 
             
                    newEnts = newEnts.map((e2) => __spreadProps(__spreadValues({}, e2), {
         | 
| 58040 58074 | 
             
                      _isClean: true
         | 
| 58041 58075 | 
             
                    }));
         | 
| 58042 58076 | 
             
                    this.updateValidation(entities2, __spreadValues(__spreadValues({}, reduxFormCellValidation), validationErrors));
         | 
| 58043 | 
            -
                    entities2.splice(
         | 
| 58044 | 
            -
                      appendToBottom ? entities2.length : insertIndex,
         | 
| 58045 | 
            -
                      0,
         | 
| 58046 | 
            -
                      ...newEnts
         | 
| 58047 | 
            -
                    );
         | 
| 58077 | 
            +
                    entities2.splice(insertIndexToUse, 0, ...newEnts);
         | 
| 58048 58078 | 
             
                  });
         | 
| 58049 58079 | 
             
                  this.refocusTable();
         | 
| 58050 58080 | 
             
                }, "insertRows"));
         | 
| @@ -58085,8 +58115,8 @@ const _DataTable = class _DataTable extends React$2.Component { | |
| 58085 58115 | 
             
                          {
         | 
| 58086 58116 | 
             
                            key: "copyCell",
         | 
| 58087 58117 | 
             
                            onClick: () => {
         | 
| 58088 | 
            -
                              const text2 = this.getCellCopyText(cellWrapper);
         | 
| 58089 | 
            -
                              this.handleCopyHelper(text2, "Cell copied");
         | 
| 58118 | 
            +
                              const [text2, jsonText] = this.getCellCopyText(cellWrapper);
         | 
| 58119 | 
            +
                              this.handleCopyHelper(text2, jsonText, "Cell copied");
         | 
| 58090 58120 | 
             
                            },
         | 
| 58091 58121 | 
             
                            text: "Cell"
         | 
| 58092 58122 | 
             
                          }
         | 
| @@ -58104,6 +58134,20 @@ const _DataTable = class _DataTable extends React$2.Component { | |
| 58104 58134 | 
             
                          }
         | 
| 58105 58135 | 
             
                        )
         | 
| 58106 58136 | 
             
                      );
         | 
| 58137 | 
            +
                      if (selectedRecords.length > 1) {
         | 
| 58138 | 
            +
                        copyMenuItems.push(
         | 
| 58139 | 
            +
                          /* @__PURE__ */ React$2.createElement(
         | 
| 58140 | 
            +
                            core$5.MenuItem,
         | 
| 58141 | 
            +
                            {
         | 
| 58142 | 
            +
                              key: "copyColumnSelected",
         | 
| 58143 | 
            +
                              onClick: () => {
         | 
| 58144 | 
            +
                                this.handleCopyColumn(e2, cellWrapper, selectedRecords);
         | 
| 58145 | 
            +
                              },
         | 
| 58146 | 
            +
                              text: "Column (Selected)"
         | 
| 58147 | 
            +
                            }
         | 
| 58148 | 
            +
                          )
         | 
| 58149 | 
            +
                        );
         | 
| 58150 | 
            +
                      }
         | 
| 58107 58151 | 
             
                    }
         | 
| 58108 58152 | 
             
                    if (selectedRecords.length === 0 || selectedRecords.length === 1) {
         | 
| 58109 58153 | 
             
                      const cell = e2.target.querySelector(".tg-cell-wrapper") || e2.target.closest(".tg-cell-wrapper") || e2.target.closest(".rt-td");
         | 
| @@ -59357,7 +59401,8 @@ function getNumberStrAtEnd(str) { | |
| 59357 59401 | 
             
            }
         | 
| 59358 59402 | 
             
            __name(getNumberStrAtEnd, "getNumberStrAtEnd");
         | 
| 59359 59403 | 
             
            function stripNumberAtEnd(str) {
         | 
| 59360 | 
            -
               | 
| 59404 | 
            +
              var _a2;
         | 
| 59405 | 
            +
              return (_a2 = str == null ? void 0 : str.replace) == null ? void 0 : _a2.call(str, getNumberStrAtEnd(str), "");
         | 
| 59361 59406 | 
             
            }
         | 
| 59362 59407 | 
             
            __name(stripNumberAtEnd, "stripNumberAtEnd");
         | 
| 59363 59408 | 
             
            function isEntityClean(e2) {
         | 
| @@ -61733,7 +61778,7 @@ const PreviewCsvData = observer(function(props) { | |
| 61733 61778 | 
             
              } = props;
         | 
| 61734 61779 | 
             
              const rerenderKey = React$2.useRef(0);
         | 
| 61735 61780 | 
             
              rerenderKey.current = rerenderKey.current + 1;
         | 
| 61736 | 
            -
              const data = userSchema.userData && userSchema.userData.length && userSchema.userData.map((row) => {
         | 
| 61781 | 
            +
              const data = userSchema.userData && userSchema.userData.length && userSchema.userData.map((row, i) => {
         | 
| 61737 61782 | 
             
                const toRet = {
         | 
| 61738 61783 | 
             
                  _isClean: row._isClean
         | 
| 61739 61784 | 
             
                };
         | 
| @@ -61746,7 +61791,10 @@ const PreviewCsvData = observer(function(props) { | |
| 61746 61791 | 
             
                  }
         | 
| 61747 61792 | 
             
                  if (toRet[path2] === void 0 || toRet[path2] === "") {
         | 
| 61748 61793 | 
             
                    if (defaultValue2) {
         | 
| 61749 | 
            -
                       | 
| 61794 | 
            +
                      if (lodashExports.isFunction(defaultValue2)) {
         | 
| 61795 | 
            +
                        toRet[path2] = defaultValue2(i, row);
         | 
| 61796 | 
            +
                      } else
         | 
| 61797 | 
            +
                        toRet[path2] = defaultValue2;
         | 
| 61750 61798 | 
             
                    } else {
         | 
| 61751 61799 | 
             
                      toRet[path2] = "";
         | 
| 61752 61800 | 
             
                    }
         | 
| @@ -71506,6 +71554,7 @@ function UploaderInner({ | |
| 71506 71554 | 
             
              overflowList,
         | 
| 71507 71555 | 
             
              autoUnzip,
         | 
| 71508 71556 | 
             
              disabled,
         | 
| 71557 | 
            +
              noBuildCsvOption,
         | 
| 71509 71558 | 
             
              initializeForm,
         | 
| 71510 71559 | 
             
              showFilesCount,
         | 
| 71511 71560 | 
             
              threeDotMenuItems,
         | 
| @@ -71684,12 +71733,14 @@ function UploaderInner({ | |
| 71684 71733 | 
             
                          subtext: "Includes Upload Instructions and Column Info",
         | 
| 71685 71734 | 
             
                          exampleFile: handleDownloadXlsxFile
         | 
| 71686 71735 | 
             
                        },
         | 
| 71687 | 
            -
                         | 
| 71688 | 
            -
                           | 
| 71689 | 
            -
             | 
| 71690 | 
            -
             | 
| 71691 | 
            -
             | 
| 71692 | 
            -
             | 
| 71736 | 
            +
                        ...noBuildCsvOption ? [] : [
         | 
| 71737 | 
            +
                          {
         | 
| 71738 | 
            +
                            description: manualEnterMessage,
         | 
| 71739 | 
            +
                            subtext: manualEnterSubMessage,
         | 
| 71740 | 
            +
                            icon: "manually-entered-data",
         | 
| 71741 | 
            +
                            exampleFile: handleManuallyEnterData
         | 
| 71742 | 
            +
                          }
         | 
| 71743 | 
            +
                        ]
         | 
| 71693 71744 | 
             
                      ];
         | 
| 71694 71745 | 
             
                      delete a2.exampleFile;
         | 
| 71695 71746 | 
             
                    }
         | 
| @@ -72138,7 +72189,7 @@ function UploaderInner({ | |
| 72138 72189 | 
             
                        },
         | 
| 72139 72190 | 
             
                        innerIcon || /* @__PURE__ */ React$2.createElement(core$5.Icon, { icon: "upload", iconSize: minimal ? 15 : 30 }),
         | 
| 72140 72191 | 
             
                        innerText || (minimal ? "Upload" : "Click or drag to upload"),
         | 
| 72141 | 
            -
                        validateAgainstSchema && /* @__PURE__ */ React$2.createElement(
         | 
| 72192 | 
            +
                        validateAgainstSchema && !noBuildCsvOption && /* @__PURE__ */ React$2.createElement(
         | 
| 72142 72193 | 
             
                          "div",
         | 
| 72143 72194 | 
             
                          {
         | 
| 72144 72195 | 
             
                            style: {
         | 
| @@ -77910,7 +77961,7 @@ const minimumOrfSize$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.de | |
| 77910 77961 | 
             
            }, Symbol.toStringTag, { value: "Module" }));
         | 
| 77911 77962 | 
             
            const protein_letters = "ACDEFGHIKLMNPQRSTVWY";
         | 
| 77912 77963 | 
             
            const protein_letters_withUandX = "ACDEFGHIKLMNPQRSTVWYUX";
         | 
| 77913 | 
            -
            const extended_protein_letters = "ACDEFGHIKLMNPQRSTVWYBXZJUO | 
| 77964 | 
            +
            const extended_protein_letters = "ACDEFGHIKLMNPQRSTVWYBXZJUO";
         | 
| 77914 77965 | 
             
            const ambiguous_dna_letters = "GATCRYWSMKHBVDN";
         | 
| 77915 77966 | 
             
            const unambiguous_dna_letters = "GATC";
         | 
| 77916 77967 | 
             
            const ambiguous_rna_letters = "GAUCRYWSMKHBVDN";
         | 
| @@ -77966,7 +78017,7 @@ const extended_protein_values = { | |
| 77966 78017 | 
             
              Y: "Y",
         | 
| 77967 78018 | 
             
              Z: "QE",
         | 
| 77968 78019 | 
             
              "*": "\\*\\.",
         | 
| 77969 | 
            -
              ".": " | 
| 78020 | 
            +
              ".": "\\.",
         | 
| 77970 78021 | 
             
              "-": "\\-"
         | 
| 77971 78022 | 
             
            };
         | 
| 77972 78023 | 
             
            const bioData = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
         | 
| @@ -84073,9 +84124,12 @@ function getReplaceChars({ | |
| 84073 84124 | 
             
              isRna: isRna2,
         | 
| 84074 84125 | 
             
              isMixedRnaAndDna
         | 
| 84075 84126 | 
             
            } = {}) {
         | 
| 84076 | 
            -
              return isProtein2 ? {} :  | 
| 84077 | 
            -
                // | 
| 84078 | 
            -
                {}
         | 
| 84127 | 
            +
              return isProtein2 ? {} : (
         | 
| 84128 | 
            +
                // {".": "*"}
         | 
| 84129 | 
            +
                isOligo2 ? {} : isRna2 ? { t: "u" } : isMixedRnaAndDna ? {} : (
         | 
| 84130 | 
            +
                  //just plain old dna
         | 
| 84131 | 
            +
                  {}
         | 
| 84132 | 
            +
                )
         | 
| 84079 84133 | 
             
              );
         | 
| 84080 84134 | 
             
            }
         | 
| 84081 84135 | 
             
            __name(getReplaceChars, "getReplaceChars");
         | 
| @@ -84811,7 +84865,9 @@ function arrayRotate(arr, count2) { | |
| 84811 84865 | 
             
            }
         | 
| 84812 84866 | 
             
            __name(arrayRotate, "arrayRotate");
         | 
| 84813 84867 | 
             
            function rotateSequenceDataToPosition(sequenceData2, caretPosition2, options) {
         | 
| 84814 | 
            -
              const newSequenceData = tidyUpSequenceData(sequenceData2,  | 
| 84868 | 
            +
              const newSequenceData = tidyUpSequenceData(sequenceData2, __spreadValues({
         | 
| 84869 | 
            +
                doNotRemoveInvalidChars: true
         | 
| 84870 | 
            +
              }, options));
         | 
| 84815 84871 | 
             
              newSequenceData.sequence = rotateBpsToPosition(
         | 
| 84816 84872 | 
             
                newSequenceData.sequence,
         | 
| 84817 84873 | 
             
                caretPosition2
         | 
| @@ -84848,7 +84904,7 @@ function adjustAnnotationsToInsert(annotationsToBeAdjusted, insertStart, insertL | |
| 84848 84904 | 
             
            __name(adjustAnnotationsToInsert, "adjustAnnotationsToInsert");
         | 
| 84849 84905 | 
             
            function insertSequenceDataAtPositionOrRange(_sequenceDataToInsert, _existingSequenceData, caretPositionOrRange, options = {}) {
         | 
| 84850 84906 | 
             
              const { maintainOriginSplit } = options;
         | 
| 84851 | 
            -
              let existingSequenceData = tidyUpSequenceData(_existingSequenceData, options);
         | 
| 84907 | 
            +
              let existingSequenceData = tidyUpSequenceData(_existingSequenceData, __spreadValues({ doNotRemoveInvalidChars: true }, options));
         | 
| 84852 84908 | 
             
              const sequenceDataToInsert = tidyUpSequenceData(
         | 
| 84853 84909 | 
             
                _sequenceDataToInsert,
         | 
| 84854 84910 | 
             
                options
         | 
| @@ -84866,6 +84922,7 @@ function insertSequenceDataAtPositionOrRange(_sequenceDataToInsert, _existingSeq | |
| 84866 84922 | 
             
                    return acc[type] = [];
         | 
| 84867 84923 | 
             
                  }, {})), {
         | 
| 84868 84924 | 
             
                    sequence: "",
         | 
| 84925 | 
            +
                    doNotRemoveInvalidChars: true,
         | 
| 84869 84926 | 
             
                    proteinSequence: "",
         | 
| 84870 84927 | 
             
                    chromatogramData: void 0
         | 
| 84871 84928 | 
             
                  }),
         | 
| @@ -92896,7 +92953,7 @@ function getSequenceDataBetweenRange(seqData, range2, options = {}) { | |
| 92896 92953 | 
             
              if (!range2)
         | 
| 92897 92954 | 
             
                return seqData;
         | 
| 92898 92955 | 
             
              const { exclude = {}, excludePartial = {} } = options;
         | 
| 92899 | 
            -
              const seqDataToUse = tidyUpSequenceData(seqData, options);
         | 
| 92956 | 
            +
              const seqDataToUse = tidyUpSequenceData(seqData, __spreadValues({ doNotRemoveInvalidChars: true }, options));
         | 
| 92900 92957 | 
             
              annotationTypes.forEach((type) => {
         | 
| 92901 92958 | 
             
                delete seqDataToUse[`filtered${lodashExports.startCase(type)}`];
         | 
| 92902 92959 | 
             
              });
         | 
| @@ -92947,9 +93004,9 @@ function getSequenceDataBetweenRange(seqData, range2, options = {}) { | |
| 92947 93004 | 
             
                    }
         | 
| 92948 93005 | 
             
                  });
         | 
| 92949 93006 | 
             
                });
         | 
| 92950 | 
            -
                return tidyUpSequenceData(toRet, options);
         | 
| 93007 | 
            +
                return tidyUpSequenceData(toRet, __spreadValues({ doNotRemoveInvalidChars: true }, options));
         | 
| 92951 93008 | 
             
              }
         | 
| 92952 | 
            -
              return tidyUpSequenceData(seqDataToReturn, options);
         | 
| 93009 | 
            +
              return tidyUpSequenceData(seqDataToReturn, __spreadValues({ doNotRemoveInvalidChars: true }, options));
         | 
| 92953 93010 | 
             
            }
         | 
| 92954 93011 | 
             
            __name(getSequenceDataBetweenRange, "getSequenceDataBetweenRange");
         | 
| 92955 93012 | 
             
            function getAnnotationsBetweenRange(annotationsToBeAdjusted, range2, maxLength, shouldExcludePartial) {
         | 
| @@ -92996,7 +93053,7 @@ function getComplementSequenceAndAnnotations(pSeqObj, options = {}) { | |
| 92996 93053 | 
             
              const newSeqObj = Object.assign({}, seqObj, {
         | 
| 92997 93054 | 
             
                sequence: getComplementSequenceString(seqObj.sequence, seqObj.isRna)
         | 
| 92998 93055 | 
             
              });
         | 
| 92999 | 
            -
              return tidyUpSequenceData(newSeqObj, options);
         | 
| 93056 | 
            +
              return tidyUpSequenceData(newSeqObj, __spreadValues({ doNotRemoveInvalidChars: true }, options));
         | 
| 93000 93057 | 
             
            }
         | 
| 93001 93058 | 
             
            __name(getComplementSequenceAndAnnotations, "getComplementSequenceAndAnnotations");
         | 
| 93002 93059 | 
             
            function getCutsiteType(restrictionEnzyme) {
         | 
| @@ -93044,7 +93101,7 @@ __name(getReverseComplementAnnotation, "getReverseComplementAnnotation"); | |
| 93044 93101 | 
             
            function getReverseComplementSequenceAndAnnoations(pSeqObj, options = {}) {
         | 
| 93045 93102 | 
             
              const seqObj = tidyUpSequenceData(
         | 
| 93046 93103 | 
             
                getSequenceDataBetweenRange(pSeqObj, options.range),
         | 
| 93047 | 
            -
                options
         | 
| 93104 | 
            +
                __spreadValues({ doNotRemoveInvalidChars: true }, options)
         | 
| 93048 93105 | 
             
              );
         | 
| 93049 93106 | 
             
              const newSeqObj = Object.assign(
         | 
| 93050 93107 | 
             
                {},
         | 
| @@ -93064,7 +93121,9 @@ function getReverseComplementSequenceAndAnnoations(pSeqObj, options = {}) { | |
| 93064 93121 | 
             
                  return acc;
         | 
| 93065 93122 | 
             
                }, {})
         | 
| 93066 93123 | 
             
              );
         | 
| 93067 | 
            -
              return tidyUpSequenceData(newSeqObj,  | 
| 93124 | 
            +
              return tidyUpSequenceData(newSeqObj, __spreadValues({
         | 
| 93125 | 
            +
                doNotRemoveInvalidChars: true
         | 
| 93126 | 
            +
              }, options));
         | 
| 93068 93127 | 
             
            }
         | 
| 93069 93128 | 
             
            __name(getReverseComplementSequenceAndAnnoations, "getReverseComplementSequenceAndAnnoations");
         | 
| 93070 93129 | 
             
            function guessIfSequenceIsDnaAndNotProtein(seq, options = {}) {
         | 
| @@ -94010,6 +94069,30 @@ function flattenSequenceArray(parsingResultArray, opts2) { | |
| 94010 94069 | 
             
              return parsingResultArray;
         | 
| 94011 94070 | 
             
            }
         | 
| 94012 94071 | 
             
            __name(flattenSequenceArray, "flattenSequenceArray");
         | 
| 94072 | 
            +
            function parseFeatureLocation(locStr, isProtein2, inclusive1BasedStart, inclusive1BasedEnd) {
         | 
| 94073 | 
            +
              locStr = locStr.trim();
         | 
| 94074 | 
            +
              const locArr = [];
         | 
| 94075 | 
            +
              locStr.replace(/(\d+)/g, function(string2, match2) {
         | 
| 94076 | 
            +
                locArr.push(match2);
         | 
| 94077 | 
            +
              });
         | 
| 94078 | 
            +
              const locArray = [];
         | 
| 94079 | 
            +
              for (let i = 0; i < locArr.length; i += 2) {
         | 
| 94080 | 
            +
                const start2 = parseInt(locArr[i], 10) - (inclusive1BasedStart ? 0 : 1);
         | 
| 94081 | 
            +
                let end2 = parseInt(locArr[i + 1], 10) - (inclusive1BasedEnd ? 0 : 1);
         | 
| 94082 | 
            +
                if (isNaN(end2)) {
         | 
| 94083 | 
            +
                  end2 = start2;
         | 
| 94084 | 
            +
                }
         | 
| 94085 | 
            +
                const location2 = {
         | 
| 94086 | 
            +
                  start: start2,
         | 
| 94087 | 
            +
                  end: end2
         | 
| 94088 | 
            +
                };
         | 
| 94089 | 
            +
                locArray.push(
         | 
| 94090 | 
            +
                  isProtein2 ? convertAACaretPositionOrRangeToDna(location2) : location2
         | 
| 94091 | 
            +
                );
         | 
| 94092 | 
            +
              }
         | 
| 94093 | 
            +
              return locArray;
         | 
| 94094 | 
            +
            }
         | 
| 94095 | 
            +
            __name(parseFeatureLocation, "parseFeatureLocation");
         | 
| 94013 94096 | 
             
            function genbankToJson(string2, options = {}) {
         | 
| 94014 94097 | 
             
              const {
         | 
| 94015 94098 | 
             
                inclusive1BasedStart,
         | 
| @@ -94334,7 +94417,15 @@ function genbankToJson(string2, options = {}) { | |
| 94334 94417 | 
             
                }
         | 
| 94335 94418 | 
             
                if (isFeatureLineRunon(line, featureLocationIndentation)) {
         | 
| 94336 94419 | 
             
                  if (lastLineWasLocation) {
         | 
| 94337 | 
            -
                     | 
| 94420 | 
            +
                    const feat = getCurrentFeature();
         | 
| 94421 | 
            +
                    feat.locations = feat.locations.concat(
         | 
| 94422 | 
            +
                      parseFeatureLocation(
         | 
| 94423 | 
            +
                        line.trim(),
         | 
| 94424 | 
            +
                        options.isProtein,
         | 
| 94425 | 
            +
                        inclusive1BasedStart,
         | 
| 94426 | 
            +
                        inclusive1BasedEnd
         | 
| 94427 | 
            +
                      )
         | 
| 94428 | 
            +
                    );
         | 
| 94338 94429 | 
             
                    lastLineWasLocation = true;
         | 
| 94339 94430 | 
             
                  } else {
         | 
| 94340 94431 | 
             
                    if (currentFeatureNote) {
         | 
| @@ -94360,7 +94451,14 @@ function genbankToJson(string2, options = {}) { | |
| 94360 94451 | 
             
                    const feat = getCurrentFeature();
         | 
| 94361 94452 | 
             
                    feat.type = key;
         | 
| 94362 94453 | 
             
                    feat.strand = strand;
         | 
| 94363 | 
            -
                     | 
| 94454 | 
            +
                    feat.locations = feat.locations.concat(
         | 
| 94455 | 
            +
                      parseFeatureLocation(
         | 
| 94456 | 
            +
                        val2,
         | 
| 94457 | 
            +
                        options.isProtein,
         | 
| 94458 | 
            +
                        inclusive1BasedStart,
         | 
| 94459 | 
            +
                        inclusive1BasedEnd
         | 
| 94460 | 
            +
                      )
         | 
| 94461 | 
            +
                    );
         | 
| 94364 94462 | 
             
                    lastLineWasLocation = true;
         | 
| 94365 94463 | 
             
                  }
         | 
| 94366 94464 | 
             
                }
         | 
| @@ -94383,29 +94481,6 @@ function genbankToJson(string2, options = {}) { | |
| 94383 94481 | 
             
                return qual;
         | 
| 94384 94482 | 
             
              }
         | 
| 94385 94483 | 
             
              __name(isNote, "isNote");
         | 
| 94386 | 
            -
              function parseFeatureLocation(locStr, options2) {
         | 
| 94387 | 
            -
                locStr = locStr.trim();
         | 
| 94388 | 
            -
                const locArr = [];
         | 
| 94389 | 
            -
                locStr.replace(/(\d+)/g, function(string22, match2) {
         | 
| 94390 | 
            -
                  locArr.push(match2);
         | 
| 94391 | 
            -
                });
         | 
| 94392 | 
            -
                for (let i = 0; i < locArr.length; i += 2) {
         | 
| 94393 | 
            -
                  const start2 = parseInt(locArr[i], 10) - (inclusive1BasedStart ? 0 : 1);
         | 
| 94394 | 
            -
                  let end2 = parseInt(locArr[i + 1], 10) - (inclusive1BasedEnd ? 0 : 1);
         | 
| 94395 | 
            -
                  if (isNaN(end2)) {
         | 
| 94396 | 
            -
                    end2 = start2;
         | 
| 94397 | 
            -
                  }
         | 
| 94398 | 
            -
                  const location2 = {
         | 
| 94399 | 
            -
                    start: start2,
         | 
| 94400 | 
            -
                    end: end2
         | 
| 94401 | 
            -
                  };
         | 
| 94402 | 
            -
                  const feat = getCurrentFeature();
         | 
| 94403 | 
            -
                  feat.locations.push(
         | 
| 94404 | 
            -
                    options2.isProtein ? convertAACaretPositionOrRangeToDna(location2) : location2
         | 
| 94405 | 
            -
                  );
         | 
| 94406 | 
            -
                }
         | 
| 94407 | 
            -
              }
         | 
| 94408 | 
            -
              __name(parseFeatureLocation, "parseFeatureLocation");
         | 
| 94409 94484 | 
             
              function parseFeatureNote(line) {
         | 
| 94410 94485 | 
             
                let newLine;
         | 
| 94411 94486 | 
             
                newLine = line.trimLeft();
         | 
| @@ -106659,7 +106734,9 @@ function addHighlightedDifferences(alignmentTracks) { | |
| 106659 106734 | 
             
                if (track2.isUnmapped) {
         | 
| 106660 106735 | 
             
                  return track2;
         | 
| 106661 106736 | 
             
                }
         | 
| 106662 | 
            -
                const sequenceData2 = tidyUpSequenceData(track2.sequenceData | 
| 106737 | 
            +
                const sequenceData2 = tidyUpSequenceData(track2.sequenceData, {
         | 
| 106738 | 
            +
                  doNotRemoveInvalidChars: true
         | 
| 106739 | 
            +
                });
         | 
| 106663 106740 | 
             
                const matchHighlightRanges = getRangeMatchesBetweenTemplateAndNonTemplate(
         | 
| 106664 106741 | 
             
                  alignmentTracks[0].alignmentData.sequence,
         | 
| 106665 106742 | 
             
                  track2.alignmentData.sequence
         | 
| @@ -106719,7 +106796,9 @@ const alignments = /* @__PURE__ */ __name((state2 = {}, { payload = {}, type }) | |
| 106719 106796 | 
             
                  const templateSeq = payloadToUse.pairwiseAlignments[0][0];
         | 
| 106720 106797 | 
             
                  const pairwiseOverviewAlignmentTracks = [
         | 
| 106721 106798 | 
             
                    __spreadProps(__spreadValues({}, templateSeq), {
         | 
| 106722 | 
            -
                      sequenceData: tidyUpSequenceData(templateSeq.sequenceData | 
| 106799 | 
            +
                      sequenceData: tidyUpSequenceData(templateSeq.sequenceData, {
         | 
| 106800 | 
            +
                        doNotRemoveInvalidChars: true
         | 
| 106801 | 
            +
                      }),
         | 
| 106723 106802 | 
             
                      alignmentData: { sequence: templateSeq.sequenceData.sequence }
         | 
| 106724 106803 | 
             
                      //remove the gaps from the template sequence
         | 
| 106725 106804 | 
             
                    })
         | 
| @@ -106748,7 +106827,9 @@ const alignments = /* @__PURE__ */ __name((state2 = {}, { payload = {}, type }) | |
| 106748 106827 | 
             
                      }));
         | 
| 106749 106828 | 
             
                    }
         | 
| 106750 106829 | 
             
                    const alignedSeqMinusInserts = __spreadProps(__spreadValues({}, alignedSeq), {
         | 
| 106751 | 
            -
                      sequenceData: __spreadProps(__spreadValues({}, tidyUpSequenceData(alignedSeq.sequenceData | 
| 106830 | 
            +
                      sequenceData: __spreadProps(__spreadValues({}, tidyUpSequenceData(alignedSeq.sequenceData, {
         | 
| 106831 | 
            +
                        doNotRemoveInvalidChars: true
         | 
| 106832 | 
            +
                      })), {
         | 
| 106752 106833 | 
             
                        sequence: template.sequenceData.sequence
         | 
| 106753 106834 | 
             
                      }),
         | 
| 106754 106835 | 
             
                      additionalSelectionLayers,
         | 
| @@ -110700,7 +110781,7 @@ const handleSave = /* @__PURE__ */ __name((props) => (..._0) => __async(exports, | |
| 110700 110781 | 
             
              }
         | 
| 110701 110782 | 
             
              const promiseOrVal = (!readOnly2 || alwaysAllowSave || opts2.isSaveAs) && saveHandler && saveHandler(
         | 
| 110702 110783 | 
             
                opts2,
         | 
| 110703 | 
            -
                tidyUpSequenceData(sequenceData2, { annotationsAsObjects: true }),
         | 
| 110784 | 
            +
                tidyUpSequenceData(sequenceData2, { doNotRemoveInvalidChars: true, annotationsAsObjects: true }),
         | 
| 110704 110785 | 
             
                props,
         | 
| 110705 110786 | 
             
                updateLastSavedIdToCurrent
         | 
| 110706 110787 | 
             
              );
         | 
| @@ -111300,7 +111381,7 @@ function jsonToJson(incomingJson) { | |
| 111300 111381 | 
             
              return JSON.stringify(
         | 
| 111301 111382 | 
             
                lodashExports.omit(
         | 
| 111302 111383 | 
             
                  cleanUpTeselagenJsonForExport(
         | 
| 111303 | 
            -
                    tidyUpSequenceData(incomingJson, { annotationsAsObjects: false })
         | 
| 111384 | 
            +
                    tidyUpSequenceData(incomingJson, { doNotRemoveInvalidChars: true, annotationsAsObjects: false })
         | 
| 111304 111385 | 
             
                  ),
         | 
| 111305 111386 | 
             
                  [
         | 
| 111306 111387 | 
             
                    "sequenceFragments",
         | 
| @@ -125783,7 +125864,7 @@ function showFileDialog({ multiple = false, onSelect }) { | |
| 125783 125864 | 
             
            }
         | 
| 125784 125865 | 
             
            __name(showFileDialog, "showFileDialog");
         | 
| 125785 125866 | 
             
            const name = "@teselagen/ove";
         | 
| 125786 | 
            -
            const version = "0.3. | 
| 125867 | 
            +
            const version = "0.3.50";
         | 
| 125787 125868 | 
             
            const main = "./src/index.js";
         | 
| 125788 125869 | 
             
            const exports$1 = {
         | 
| 125789 125870 | 
             
              ".": {
         | 
| @@ -130519,7 +130600,7 @@ function VectorInteractionHOC(Component) { | |
| 130519 130600 | 
             
                          }
         | 
| 130520 130601 | 
             
                        }
         | 
| 130521 130602 | 
             
                      ),
         | 
| 130522 | 
            -
                      { annotationsAsObjects: true }
         | 
| 130603 | 
            +
                      { doNotRemoveInvalidChars: true, annotationsAsObjects: true }
         | 
| 130523 130604 | 
             
                    );
         | 
| 130524 130605 | 
             
                    if (!(this.sequenceDataToCopy || {}).textToCopy && !seqData.sequence.length)
         | 
| 130525 130606 | 
             
                      return window.toastr.warning(
         | 
| @@ -130535,7 +130616,7 @@ function VectorInteractionHOC(Component) { | |
| 130535 130616 | 
             
                      this.handleDnaDelete(false);
         | 
| 130536 130617 | 
             
                      onCut(
         | 
| 130537 130618 | 
             
                        e2,
         | 
| 130538 | 
            -
                        tidyUpSequenceData(seqData, { annotationsAsObjects: true }),
         | 
| 130619 | 
            +
                        tidyUpSequenceData(seqData, { doNotRemoveInvalidChars: true, annotationsAsObjects: true }),
         | 
| 130539 130620 | 
             
                        this.props
         | 
| 130540 130621 | 
             
                      );
         | 
| 130541 130622 | 
             
                      document.body.removeEventListener("cut", this.handleCut);
         |