@teselagen/ove 0.3.55 → 0.3.57
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 +339 -235
- package/index.es.js +341 -237
- package/index.umd.js +199 -65
- package/package.json +5 -5
- package/src/CircularView/drawAnnotations.js +1 -2
- package/src/RowItem/Axis.js +1 -0
- package/src/redux/panelsShown.js +22 -3
- package/style.css +2 -2
    
        package/index.umd.js
    CHANGED
    
    | @@ -23362,6 +23362,21 @@ var __async = (__this, __arguments, generator) => { | |
| 23362 23362 | 
             
                render: render$1
         | 
| 23363 23363 | 
             
              });
         | 
| 23364 23364 | 
             
              const tippy = "";
         | 
| 23365 | 
            +
              let isDragging$1 = false;
         | 
| 23366 | 
            +
              let canSetDragging = false;
         | 
| 23367 | 
            +
              document.addEventListener("mousedown", () => {
         | 
| 23368 | 
            +
                canSetDragging = true;
         | 
| 23369 | 
            +
                isDragging$1 = false;
         | 
| 23370 | 
            +
              });
         | 
| 23371 | 
            +
              document.addEventListener("mousemove", () => {
         | 
| 23372 | 
            +
                if (canSetDragging) {
         | 
| 23373 | 
            +
                  isDragging$1 = true;
         | 
| 23374 | 
            +
                }
         | 
| 23375 | 
            +
              });
         | 
| 23376 | 
            +
              document.addEventListener("mouseup", () => {
         | 
| 23377 | 
            +
                canSetDragging = false;
         | 
| 23378 | 
            +
                isDragging$1 = false;
         | 
| 23379 | 
            +
              });
         | 
| 23365 23380 | 
             
              let tippys = [];
         | 
| 23366 23381 | 
             
              let recentlyHidden = false;
         | 
| 23367 23382 | 
             
              let clearMe;
         | 
| @@ -23466,7 +23481,7 @@ var __async = (__this, __arguments, generator) => { | |
| 23466 23481 | 
             
                        dataAvoid,
         | 
| 23467 23482 | 
             
                        dataAvoidBackup
         | 
| 23468 23483 | 
             
                      };
         | 
| 23469 | 
            -
                      if (dataTip && !document.body.classList.contains("drag-active")) {
         | 
| 23484 | 
            +
                      if (dataTip && !document.body.classList.contains("drag-active") && !isDragging$1) {
         | 
| 23470 23485 | 
             
                        inner2(dataTip, el2, opts2);
         | 
| 23471 23486 | 
             
                        break;
         | 
| 23472 23487 | 
             
                      } else if (isEllipsized && el2.offsetWidth < el2.scrollWidth - 4 && //the -4 is adding a teeny bit of tolerance to fix issues with the column headers getting tooltips even when fully visible
         | 
| @@ -25891,7 +25906,7 @@ var __async = (__this, __arguments, generator) => { | |
| 25891 25906 | 
             
                }, [onFileDialogCancel]);
         | 
| 25892 25907 | 
             
                var rootRef = reactExports.useRef(null);
         | 
| 25893 25908 | 
             
                var inputRef = reactExports.useRef(null);
         | 
| 25894 | 
            -
                var _useReducer = reactExports.useReducer(reducer$ | 
| 25909 | 
            +
                var _useReducer = reactExports.useReducer(reducer$2, initialState), _useReducer2 = _slicedToArray$5(_useReducer, 2), state2 = _useReducer2[0], dispatch = _useReducer2[1];
         | 
| 25895 25910 | 
             
                var isFocused = state2.isFocused, isFileDialogActive = state2.isFileDialogActive, draggedFiles = state2.draggedFiles;
         | 
| 25896 25911 | 
             
                var onWindowFocus = /* @__PURE__ */ __name(function onWindowFocus2() {
         | 
| 25897 25912 | 
             
                  if (isFileDialogActive) {
         | 
| @@ -26198,7 +26213,7 @@ var __async = (__this, __arguments, generator) => { | |
| 26198 26213 | 
             
                });
         | 
| 26199 26214 | 
             
              }
         | 
| 26200 26215 | 
             
              __name(useDropzone, "useDropzone");
         | 
| 26201 | 
            -
              function reducer$ | 
| 26216 | 
            +
              function reducer$2(state2, action2) {
         | 
| 26202 26217 | 
             
                switch (action2.type) {
         | 
| 26203 26218 | 
             
                  case "focus":
         | 
| 26204 26219 | 
             
                    return _objectSpread$2(_objectSpread$2({}, state2), {}, {
         | 
| @@ -26233,7 +26248,7 @@ var __async = (__this, __arguments, generator) => { | |
| 26233 26248 | 
             
                    return state2;
         | 
| 26234 26249 | 
             
                }
         | 
| 26235 26250 | 
             
              }
         | 
| 26236 | 
            -
              __name(reducer$ | 
| 26251 | 
            +
              __name(reducer$2, "reducer$2");
         | 
| 26237 26252 | 
             
              function noop$6() {
         | 
| 26238 26253 | 
             
              }
         | 
| 26239 26254 | 
             
              __name(noop$6, "noop$6");
         | 
| @@ -32266,12 +32281,12 @@ var __async = (__this, __arguments, generator) => { | |
| 32266 32281 | 
             
                return ExtendableBuiltin;
         | 
| 32267 32282 | 
             
              }
         | 
| 32268 32283 | 
             
              __name(_extendableBuiltin, "_extendableBuiltin");
         | 
| 32269 | 
            -
               | 
| 32270 | 
            -
                _inherits$p( | 
| 32271 | 
            -
                function  | 
| 32284 | 
            +
              var ExtendableError = function(_extendableBuiltin2) {
         | 
| 32285 | 
            +
                _inherits$p(ExtendableError2, _extendableBuiltin2);
         | 
| 32286 | 
            +
                function ExtendableError2() {
         | 
| 32272 32287 | 
             
                  var message = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
         | 
| 32273 | 
            -
                  _classCallCheck$p(this,  | 
| 32274 | 
            -
                  var _this = _possibleConstructorReturn$p(this, ( | 
| 32288 | 
            +
                  _classCallCheck$p(this, ExtendableError2);
         | 
| 32289 | 
            +
                  var _this = _possibleConstructorReturn$p(this, (ExtendableError2.__proto__ || Object.getPrototypeOf(ExtendableError2)).call(this, message));
         | 
| 32275 32290 | 
             
                  Object.defineProperty(_this, "message", {
         | 
| 32276 32291 | 
             
                    configurable: true,
         | 
| 32277 32292 | 
             
                    enumerable: false,
         | 
| @@ -32296,10 +32311,22 @@ var __async = (__this, __arguments, generator) => { | |
| 32296 32311 | 
             
                  });
         | 
| 32297 32312 | 
             
                  return _this;
         | 
| 32298 32313 | 
             
                }
         | 
| 32299 | 
            -
                __name( | 
| 32300 | 
            -
                return  | 
| 32301 | 
            -
              } | 
| 32314 | 
            +
                __name(ExtendableError2, "ExtendableError");
         | 
| 32315 | 
            +
                return ExtendableError2;
         | 
| 32316 | 
            +
              }(_extendableBuiltin(Error));
         | 
| 32302 32317 | 
             
              var __FLAG__ = "@@redux-form/submission-error-flag";
         | 
| 32318 | 
            +
              var SubmissionError = /* @__PURE__ */ function(_ExtendableError) {
         | 
| 32319 | 
            +
                _inheritsLoose$2(SubmissionError2, _ExtendableError);
         | 
| 32320 | 
            +
                function SubmissionError2(errors) {
         | 
| 32321 | 
            +
                  var _this;
         | 
| 32322 | 
            +
                  _this = _ExtendableError.call(this, "Submit Validation Failed") || this;
         | 
| 32323 | 
            +
                  _this.errors = errors;
         | 
| 32324 | 
            +
                  return _this;
         | 
| 32325 | 
            +
                }
         | 
| 32326 | 
            +
                __name(SubmissionError2, "SubmissionError");
         | 
| 32327 | 
            +
                return SubmissionError2;
         | 
| 32328 | 
            +
              }(ExtendableError);
         | 
| 32329 | 
            +
              SubmissionError.__FLAG__ = __FLAG__;
         | 
| 32303 32330 | 
             
              function isSubmissionError(error) {
         | 
| 32304 32331 | 
             
                return (error && error.constructor && error.constructor.__FLAG__ === __FLAG__) === true;
         | 
| 32305 32332 | 
             
              }
         | 
| @@ -45001,16 +45028,25 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 45001 45028 | 
             
              var _cof = /* @__PURE__ */ __name(function(it) {
         | 
| 45002 45029 | 
             
                return toString$4.call(it).slice(8, -1);
         | 
| 45003 45030 | 
             
              }, "_cof");
         | 
| 45004 | 
            -
              var  | 
| 45005 | 
            -
              var  | 
| 45006 | 
            -
             | 
| 45007 | 
            -
             | 
| 45031 | 
            +
              var _iobject;
         | 
| 45032 | 
            +
              var hasRequired_iobject;
         | 
| 45033 | 
            +
              function require_iobject() {
         | 
| 45034 | 
            +
                if (hasRequired_iobject)
         | 
| 45035 | 
            +
                  return _iobject;
         | 
| 45036 | 
            +
                hasRequired_iobject = 1;
         | 
| 45037 | 
            +
                var cof2 = _cof;
         | 
| 45038 | 
            +
                _iobject = Object("z").propertyIsEnumerable(0) ? Object : function(it) {
         | 
| 45039 | 
            +
                  return cof2(it) == "String" ? it.split("") : Object(it);
         | 
| 45040 | 
            +
                };
         | 
| 45041 | 
            +
                return _iobject;
         | 
| 45042 | 
            +
              }
         | 
| 45043 | 
            +
              __name(require_iobject, "require_iobject");
         | 
| 45008 45044 | 
             
              var _defined = /* @__PURE__ */ __name(function(it) {
         | 
| 45009 45045 | 
             
                if (it == void 0)
         | 
| 45010 45046 | 
             
                  throw TypeError("Can't call method on  " + it);
         | 
| 45011 45047 | 
             
                return it;
         | 
| 45012 45048 | 
             
              }, "_defined");
         | 
| 45013 | 
            -
              var IObject =  | 
| 45049 | 
            +
              var IObject = require_iobject();
         | 
| 45014 45050 | 
             
              var defined$2 = _defined;
         | 
| 45015 45051 | 
             
              var _toIobject = /* @__PURE__ */ __name(function(it) {
         | 
| 45016 45052 | 
             
                return IObject(defined$2(it));
         | 
| @@ -45107,7 +45143,15 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 45107 45143 | 
             
              var _objectGops = {};
         | 
| 45108 45144 | 
             
              _objectGops.f = Object.getOwnPropertySymbols;
         | 
| 45109 45145 | 
             
              var _objectPie = {};
         | 
| 45110 | 
            -
               | 
| 45146 | 
            +
              var hasRequired_objectPie;
         | 
| 45147 | 
            +
              function require_objectPie() {
         | 
| 45148 | 
            +
                if (hasRequired_objectPie)
         | 
| 45149 | 
            +
                  return _objectPie;
         | 
| 45150 | 
            +
                hasRequired_objectPie = 1;
         | 
| 45151 | 
            +
                _objectPie.f = {}.propertyIsEnumerable;
         | 
| 45152 | 
            +
                return _objectPie;
         | 
| 45153 | 
            +
              }
         | 
| 45154 | 
            +
              __name(require_objectPie, "require_objectPie");
         | 
| 45111 45155 | 
             
              var defined$1 = _defined;
         | 
| 45112 45156 | 
             
              var _toObject = /* @__PURE__ */ __name(function(it) {
         | 
| 45113 45157 | 
             
                return Object(defined$1(it));
         | 
| @@ -45121,9 +45165,9 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 45121 45165 | 
             
                var DESCRIPTORS2 = _descriptors;
         | 
| 45122 45166 | 
             
                var getKeys2 = _objectKeys;
         | 
| 45123 45167 | 
             
                var gOPS2 = _objectGops;
         | 
| 45124 | 
            -
                var pIE2 =  | 
| 45168 | 
            +
                var pIE2 = require_objectPie();
         | 
| 45125 45169 | 
             
                var toObject2 = _toObject;
         | 
| 45126 | 
            -
                var IObject2 =  | 
| 45170 | 
            +
                var IObject2 = require_iobject();
         | 
| 45127 45171 | 
             
                var $assign = Object.assign;
         | 
| 45128 45172 | 
             
                _objectAssign = !$assign || _fails(function() {
         | 
| 45129 45173 | 
             
                  var A2 = {};
         | 
| @@ -45758,7 +45802,7 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 45758 45802 | 
             
              }, "_wksDefine");
         | 
| 45759 45803 | 
             
              var getKeys = _objectKeys;
         | 
| 45760 45804 | 
             
              var gOPS$1 = _objectGops;
         | 
| 45761 | 
            -
              var pIE$1 =  | 
| 45805 | 
            +
              var pIE$1 = require_objectPie();
         | 
| 45762 45806 | 
             
              var _enumKeys = /* @__PURE__ */ __name(function(it) {
         | 
| 45763 45807 | 
             
                var result = getKeys(it);
         | 
| 45764 45808 | 
             
                var getSymbols2 = gOPS$1.f;
         | 
| @@ -45799,7 +45843,7 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 45799 45843 | 
             
                return windowNames && toString$3.call(it) == "[object Window]" ? getWindowNames(it) : gOPN$1(toIObject$2(it));
         | 
| 45800 45844 | 
             
              }, "getOwnPropertyNames");
         | 
| 45801 45845 | 
             
              var _objectGopd = {};
         | 
| 45802 | 
            -
              var pIE =  | 
| 45846 | 
            +
              var pIE = require_objectPie();
         | 
| 45803 45847 | 
             
              var createDesc$1 = _propertyDesc;
         | 
| 45804 45848 | 
             
              var toIObject$1 = _toIobject;
         | 
| 45805 45849 | 
             
              var toPrimitive$1 = _toPrimitive$1;
         | 
| @@ -45979,7 +46023,7 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 45979 46023 | 
             
                $GOPD.f = $getOwnPropertyDescriptor;
         | 
| 45980 46024 | 
             
                $DP.f = $defineProperty;
         | 
| 45981 46025 | 
             
                _objectGopn.f = gOPNExt.f = $getOwnPropertyNames;
         | 
| 45982 | 
            -
                 | 
| 46026 | 
            +
                require_objectPie().f = $propertyIsEnumerable;
         | 
| 45983 46027 | 
             
                $GOPS.f = $getOwnPropertySymbols;
         | 
| 45984 46028 | 
             
                if (DESCRIPTORS && !_library) {
         | 
| 45985 46029 | 
             
                  redefine(ObjectProto, "propertyIsEnumerable", $propertyIsEnumerable);
         | 
| @@ -86111,6 +86155,16 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 86111 86155 | 
             
                lodashExports.set(entity, path2, nv);
         | 
| 86112 86156 | 
             
                return { entity, error };
         | 
| 86113 86157 | 
             
              }, "editCellHelper");
         | 
| 86158 | 
            +
              const throwFormError = /* @__PURE__ */ __name((error) => {
         | 
| 86159 | 
            +
                if (error.message) {
         | 
| 86160 | 
            +
                  console.error("error:", error);
         | 
| 86161 | 
            +
                }
         | 
| 86162 | 
            +
                const errorToUse = error.message ? { _error: error.message } : typeof error === "string" ? { _error: error } : error;
         | 
| 86163 | 
            +
                if (!errorToUse._error) {
         | 
| 86164 | 
            +
                  errorToUse._error = "Error Submitting Form";
         | 
| 86165 | 
            +
                }
         | 
| 86166 | 
            +
                throw new SubmissionError(errorToUse);
         | 
| 86167 | 
            +
              }, "throwFormError");
         | 
| 86114 86168 | 
             
              T$1();
         | 
| 86115 86169 | 
             
              const PRIMARY_SELECTED_VAL = "main_cell";
         | 
| 86116 86170 | 
             
              dayjs.extend(localizedFormat);
         | 
| @@ -86608,7 +86662,12 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 86608 86662 | 
             
                    const { change: change2, schema: schema2 } = computePresets(this.props);
         | 
| 86609 86663 | 
             
                    change2(
         | 
| 86610 86664 | 
             
                      "reduxFormCellValidation",
         | 
| 86611 | 
            -
                      validateTableWideErrors({ | 
| 86665 | 
            +
                      validateTableWideErrors({
         | 
| 86666 | 
            +
                        entities,
         | 
| 86667 | 
            +
                        schema: schema2,
         | 
| 86668 | 
            +
                        newCellValidate,
         | 
| 86669 | 
            +
                        props: this.props
         | 
| 86670 | 
            +
                      })
         | 
| 86612 86671 | 
             
                    );
         | 
| 86613 86672 | 
             
                  }, "updateValidation"));
         | 
| 86614 86673 | 
             
                  __publicField(this, "handleDeleteCell", /* @__PURE__ */ __name(() => {
         | 
| @@ -86708,7 +86767,7 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 86708 86767 | 
             
                  }, "updateEntitiesHelper"));
         | 
| 86709 86768 | 
             
                  __publicField(this, "getRowCopyText", /* @__PURE__ */ __name((rowEl, { specificColumn } = {}) => {
         | 
| 86710 86769 | 
             
                    if (!rowEl)
         | 
| 86711 | 
            -
                      return;
         | 
| 86770 | 
            +
                      return [];
         | 
| 86712 86771 | 
             
                    const textContent = [];
         | 
| 86713 86772 | 
             
                    const jsonText = [];
         | 
| 86714 86773 | 
             
                    lodashExports.forEach(rowEl.children, (cellEl) => {
         | 
| @@ -87954,6 +88013,54 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 87954 88013 | 
             
                      return "";
         | 
| 87955 88014 | 
             
                    return stringText;
         | 
| 87956 88015 | 
             
                  }, "getCopyTextForCell"));
         | 
| 88016 | 
            +
                  __publicField(this, "addEditableTableEntities", /* @__PURE__ */ __name((incomingEnts) => {
         | 
| 88017 | 
            +
                    const { entities = [], reduxFormCellValidation } = computePresets(
         | 
| 88018 | 
            +
                      this.props
         | 
| 88019 | 
            +
                    );
         | 
| 88020 | 
            +
                    this.updateEntitiesHelper(entities, (entities2) => {
         | 
| 88021 | 
            +
                      const newEntities = incomingEnts.map((e2) => __spreadProps(__spreadValues({}, e2), {
         | 
| 88022 | 
            +
                        id: e2.id || nanoid(),
         | 
| 88023 | 
            +
                        _isClean: false
         | 
| 88024 | 
            +
                      }));
         | 
| 88025 | 
            +
                      const { newEnts, validationErrors } = this.formatAndValidateEntities(
         | 
| 88026 | 
            +
                        newEntities,
         | 
| 88027 | 
            +
                        {
         | 
| 88028 | 
            +
                          useDefaultValues: true,
         | 
| 88029 | 
            +
                          indexToStartAt: entities2.length
         | 
| 88030 | 
            +
                        }
         | 
| 88031 | 
            +
                      );
         | 
| 88032 | 
            +
                      if (lodashExports.every(entities2, "_isClean")) {
         | 
| 88033 | 
            +
                        lodashExports.forEach(newEnts, (e2, i2) => {
         | 
| 88034 | 
            +
                          entities2[i2] = e2;
         | 
| 88035 | 
            +
                        });
         | 
| 88036 | 
            +
                      } else {
         | 
| 88037 | 
            +
                        entities2.splice(entities2.length, 0, ...newEnts);
         | 
| 88038 | 
            +
                      }
         | 
| 88039 | 
            +
                      this.updateValidation(entities2, __spreadValues(__spreadValues({}, reduxFormCellValidation), validationErrors));
         | 
| 88040 | 
            +
                    });
         | 
| 88041 | 
            +
                  }, "addEditableTableEntities"));
         | 
| 88042 | 
            +
                  __publicField(this, "getEditableTableInfoAndThrowFormError", /* @__PURE__ */ __name(() => {
         | 
| 88043 | 
            +
                    const { schema: schema2, reduxFormEntities, reduxFormCellValidation } = computePresets(this.props);
         | 
| 88044 | 
            +
                    const { entsToUse, validationToUse } = removeCleanRows(
         | 
| 88045 | 
            +
                      reduxFormEntities,
         | 
| 88046 | 
            +
                      reduxFormCellValidation
         | 
| 88047 | 
            +
                    );
         | 
| 88048 | 
            +
                    const validationWTableErrs = validateTableWideErrors({
         | 
| 88049 | 
            +
                      entities: entsToUse,
         | 
| 88050 | 
            +
                      schema: schema2,
         | 
| 88051 | 
            +
                      newCellValidate: validationToUse
         | 
| 88052 | 
            +
                    });
         | 
| 88053 | 
            +
                    if (!(entsToUse == null ? void 0 : entsToUse.length)) {
         | 
| 88054 | 
            +
                      throwFormError(
         | 
| 88055 | 
            +
                        "Please add at least one row to the table before submitting."
         | 
| 88056 | 
            +
                      );
         | 
| 88057 | 
            +
                    }
         | 
| 88058 | 
            +
                    const invalid = lodashExports.isEmpty(validationWTableErrs) || !lodashExports.some(validationWTableErrs, (v2) => v2) ? void 0 : validationWTableErrs;
         | 
| 88059 | 
            +
                    if (invalid) {
         | 
| 88060 | 
            +
                      throwFormError("Please fix the errors in the table before submitting.");
         | 
| 88061 | 
            +
                    }
         | 
| 88062 | 
            +
                    return entsToUse;
         | 
| 88063 | 
            +
                  }, "getEditableTableInfoAndThrowFormError"));
         | 
| 87957 88064 | 
             
                  __publicField(this, "insertRows", /* @__PURE__ */ __name(({ above, numRows = 1, appendToBottom } = {}) => {
         | 
| 87958 88065 | 
             
                    const { entities = [], reduxFormCellValidation } = computePresets(
         | 
| 87959 88066 | 
             
                      this.props
         | 
| @@ -88346,6 +88453,10 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 88346 88453 | 
             
                      )
         | 
| 88347 88454 | 
             
                    );
         | 
| 88348 88455 | 
             
                  }, "renderColumnHeader"));
         | 
| 88456 | 
            +
                  if (this.props.helperProp) {
         | 
| 88457 | 
            +
                    this.props.helperProp.addEditableTableEntities = this.addEditableTableEntities;
         | 
| 88458 | 
            +
                    this.props.helperProp.getEditableTableInfoAndThrowFormError = this.getEditableTableInfoAndThrowFormError;
         | 
| 88459 | 
            +
                  }
         | 
| 88349 88460 | 
             
                  this.hotkeyEnabler = withHotkeys(__spreadProps(__spreadValues({
         | 
| 88350 88461 | 
             
                    moveUpARow: {
         | 
| 88351 88462 | 
             
                      global: false,
         | 
| @@ -88943,16 +89054,25 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 88943 89054 | 
             
                                this.table = n2;
         | 
| 88944 89055 | 
             
                            },
         | 
| 88945 89056 | 
             
                            additionalBodyEl: isCellEditable && !onlyShowRowsWErrors && /* @__PURE__ */ React$2.createElement(
         | 
| 88946 | 
            -
                               | 
| 89057 | 
            +
                              "div",
         | 
| 88947 89058 | 
             
                              {
         | 
| 88948 | 
            -
                                 | 
| 88949 | 
            -
             | 
| 88950 | 
            -
             | 
| 88951 | 
            -
                                   | 
| 88952 | 
            -
                                } | 
| 88953 | 
            -
                                minimal: true
         | 
| 89059 | 
            +
                                style: {
         | 
| 89060 | 
            +
                                  width: "100%",
         | 
| 89061 | 
            +
                                  display: "flex",
         | 
| 89062 | 
            +
                                  justifyContent: "center"
         | 
| 89063 | 
            +
                                }
         | 
| 88954 89064 | 
             
                              },
         | 
| 88955 | 
            -
                               | 
| 89065 | 
            +
                              /* @__PURE__ */ React$2.createElement(
         | 
| 89066 | 
            +
                                Button,
         | 
| 89067 | 
            +
                                {
         | 
| 89068 | 
            +
                                  icon: "add",
         | 
| 89069 | 
            +
                                  onClick: () => {
         | 
| 89070 | 
            +
                                    this.insertRows({ numRows: 10, appendToBottom: true });
         | 
| 89071 | 
            +
                                  },
         | 
| 89072 | 
            +
                                  minimal: true
         | 
| 89073 | 
            +
                                },
         | 
| 89074 | 
            +
                                "Add 10 Rows"
         | 
| 89075 | 
            +
                              )
         | 
| 88956 89076 | 
             
                            ),
         | 
| 88957 89077 | 
             
                            className: classNames$1({
         | 
| 88958 89078 | 
             
                              isCellEditable,
         | 
| @@ -89347,6 +89467,26 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 89347 89467 | 
             
                }
         | 
| 89348 89468 | 
             
                return newVal2;
         | 
| 89349 89469 | 
             
              }, "formatPasteData");
         | 
| 89470 | 
            +
              function removeCleanRows(reduxFormEntities, reduxFormCellValidation) {
         | 
| 89471 | 
            +
                const toFilterOut = {};
         | 
| 89472 | 
            +
                const entsToUse = (reduxFormEntities || []).filter((e2) => {
         | 
| 89473 | 
            +
                  if (!(e2._isClean || isEntityClean(e2)))
         | 
| 89474 | 
            +
                    return true;
         | 
| 89475 | 
            +
                  else {
         | 
| 89476 | 
            +
                    toFilterOut[getIdOrCodeOrIndex(e2)] = true;
         | 
| 89477 | 
            +
                    return false;
         | 
| 89478 | 
            +
                  }
         | 
| 89479 | 
            +
                });
         | 
| 89480 | 
            +
                const validationToUse = {};
         | 
| 89481 | 
            +
                lodashExports.forEach(reduxFormCellValidation, (v2, k2) => {
         | 
| 89482 | 
            +
                  const [rowId] = k2.split(":");
         | 
| 89483 | 
            +
                  if (!toFilterOut[rowId]) {
         | 
| 89484 | 
            +
                    validationToUse[k2] = v2;
         | 
| 89485 | 
            +
                  }
         | 
| 89486 | 
            +
                });
         | 
| 89487 | 
            +
                return { entsToUse, validationToUse };
         | 
| 89488 | 
            +
              }
         | 
| 89489 | 
            +
              __name(removeCleanRows, "removeCleanRows");
         | 
| 89350 89490 | 
             
              const wrapDialog = /* @__PURE__ */ __name((topLevelDialogProps = {}) => (Component) => (props) => {
         | 
| 89351 89491 | 
             
                const r2 = reactExports.useRef();
         | 
| 89352 89492 | 
             
                const memoedHotkeys = reactExports.useMemo(
         | 
| @@ -91759,6 +91899,7 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 91759 91899 | 
             
                    isSimple: true,
         | 
| 91760 91900 | 
             
                    keepDirtyOnReinitialize: true,
         | 
| 91761 91901 | 
             
                    isCellEditable: true,
         | 
| 91902 | 
            +
                    initialEntities: (initialEntities ? initialEntities : data) || [],
         | 
| 91762 91903 | 
             
                    entities: (initialEntities ? initialEntities : data) || [],
         | 
| 91763 91904 | 
             
                    schema: validateAgainstSchema
         | 
| 91764 91905 | 
             
                  }
         | 
| @@ -91861,26 +92002,6 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 91861 92002 | 
             
                });
         | 
| 91862 92003 | 
             
              }
         | 
| 91863 92004 | 
             
              __name(asyncValidateHelper, "asyncValidateHelper");
         | 
| 91864 | 
            -
              function removeCleanRows(reduxFormEntities, reduxFormCellValidation) {
         | 
| 91865 | 
            -
                const toFilterOut = {};
         | 
| 91866 | 
            -
                const entsToUse = (reduxFormEntities || []).filter((e2) => {
         | 
| 91867 | 
            -
                  if (!(e2._isClean || isEntityClean(e2)))
         | 
| 91868 | 
            -
                    return true;
         | 
| 91869 | 
            -
                  else {
         | 
| 91870 | 
            -
                    toFilterOut[getIdOrCodeOrIndex(e2)] = true;
         | 
| 91871 | 
            -
                    return false;
         | 
| 91872 | 
            -
                  }
         | 
| 91873 | 
            -
                });
         | 
| 91874 | 
            -
                const validationToUse = {};
         | 
| 91875 | 
            -
                lodashExports.forEach(reduxFormCellValidation, (v2, k2) => {
         | 
| 91876 | 
            -
                  const [rowId] = k2.split(":");
         | 
| 91877 | 
            -
                  if (!toFilterOut[rowId]) {
         | 
| 91878 | 
            -
                    validationToUse[k2] = v2;
         | 
| 91879 | 
            -
                  }
         | 
| 91880 | 
            -
                });
         | 
| 91881 | 
            -
                return { entsToUse, validationToUse };
         | 
| 91882 | 
            -
              }
         | 
| 91883 | 
            -
              __name(removeCleanRows, "removeCleanRows");
         | 
| 91884 92005 | 
             
              function maybeStripIdFromEntities(ents, validateAgainstSchema) {
         | 
| 91885 92006 | 
             
                var _a2;
         | 
| 91886 92007 | 
             
                let toRet;
         | 
| @@ -113967,7 +114088,7 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 113967 114088 | 
             
                "primers",
         | 
| 113968 114089 | 
             
                "guides"
         | 
| 113969 114090 | 
             
              ];
         | 
| 113970 | 
            -
              function filterSequenceString(sequenceString, {
         | 
| 114091 | 
            +
              function filterSequenceString(sequenceString = "", {
         | 
| 113971 114092 | 
             
                additionalValidChars = "",
         | 
| 113972 114093 | 
             
                isOligo: isOligo2,
         | 
| 113973 114094 | 
             
                name: name2,
         | 
| @@ -123665,12 +123786,6 @@ ${latestSubscriptionCallbackError.current.stack} | |
| 123665 123786 | 
             
                  sequence2.proteinSize = sequence2.proteinSequence.length;
         | 
| 123666 123787 | 
             
                } else {
         | 
| 123667 123788 | 
             
                  const temp = sequence2.sequence;
         | 
| 123668 | 
            -
                  if (!sequence2.isOligo) {
         | 
| 123669 | 
            -
                    sequence2.sequence = sequence2.sequence.replace(
         | 
| 123670 | 
            -
                      /u/gi,
         | 
| 123671 | 
            -
                      (u2) => u2 === "U" ? "T" : "t"
         | 
| 123672 | 
            -
                    );
         | 
| 123673 | 
            -
                  }
         | 
| 123674 123789 | 
             
                  if (temp !== sequence2.sequence && !sequence2.isDNA && !sequence2.isProtein && sequence2.isRNA !== false) {
         | 
| 123675 123790 | 
             
                    sequence2.type = "RNA";
         | 
| 123676 123791 | 
             
                    sequence2.sequence = temp;
         | 
| @@ -137002,7 +137117,7 @@ ${seq.sequence} | |
| 137002 137117 | 
             
                  activePanelId && dispatch(setPanelAsActive(activePanelId, meta2));
         | 
| 137003 137118 | 
             
                };
         | 
| 137004 137119 | 
             
              }, "collapseSplitScreen");
         | 
| 137005 | 
            -
              const  | 
| 137120 | 
            +
              const reducer$1 = createReducer(
         | 
| 137006 137121 | 
             
                {
         | 
| 137007 137122 | 
             
                  [addPanelIfItDoesntAlreadyExist]: (state2, panelToAdd) => {
         | 
| 137008 137123 | 
             
                    if (!state2.some((panelGroup) => {
         | 
| @@ -137037,8 +137152,15 @@ ${seq.sequence} | |
| 137037 137152 | 
             
                          indexToClose = i2;
         | 
| 137038 137153 | 
             
                      });
         | 
| 137039 137154 | 
             
                      if (indexToClose > -1) {
         | 
| 137040 | 
            -
                         | 
| 137041 | 
            -
             | 
| 137155 | 
            +
                        const newPanels = removeItem(group, indexToClose);
         | 
| 137156 | 
            +
                        let mostRecentIndex = 0;
         | 
| 137157 | 
            +
                        newPanels.forEach((p2) => {
         | 
| 137158 | 
            +
                          if (p2.lastActive > newPanels[mostRecentIndex].lastActive) {
         | 
| 137159 | 
            +
                            mostRecentIndex = newPanels.indexOf(p2);
         | 
| 137160 | 
            +
                          }
         | 
| 137161 | 
            +
                        });
         | 
| 137162 | 
            +
                        return newPanels.map((tab2, i2) => {
         | 
| 137163 | 
            +
                          if (i2 === mostRecentIndex)
         | 
| 137042 137164 | 
             
                            return __spreadProps(__spreadValues({}, tab2), { active: true });
         | 
| 137043 137165 | 
             
                          else {
         | 
| 137044 137166 | 
             
                            return tab2;
         | 
| @@ -137135,6 +137257,17 @@ ${seq.sequence} | |
| 137135 137257 | 
             
                  ]
         | 
| 137136 137258 | 
             
                ]
         | 
| 137137 137259 | 
             
              );
         | 
| 137260 | 
            +
              const panelsShown = /* @__PURE__ */ __name((state2, action2) => {
         | 
| 137261 | 
            +
                const nextState = reducer$1(state2, action2);
         | 
| 137262 | 
            +
                nextState.forEach((pg2) => {
         | 
| 137263 | 
            +
                  pg2.forEach((p2) => {
         | 
| 137264 | 
            +
                    if (p2.active) {
         | 
| 137265 | 
            +
                      p2.lastActive = Date.now().toString();
         | 
| 137266 | 
            +
                    }
         | 
| 137267 | 
            +
                  });
         | 
| 137268 | 
            +
                });
         | 
| 137269 | 
            +
                return nextState;
         | 
| 137270 | 
            +
              }, "panelsShown");
         | 
| 137138 137271 | 
             
              function flipActiveForGroup(group, setCircActive) {
         | 
| 137139 137272 | 
             
                const activeTab = group.find(({ active: active2 }) => active2);
         | 
| 137140 137273 | 
             
                if ((activeTab == null ? void 0 : activeTab.id) === (setCircActive ? "rail" : "circular")) {
         | 
| @@ -151023,6 +151156,7 @@ ${seq.sequence} | |
| 151023 151156 | 
             
                      "rect",
         | 
| 151024 151157 | 
             
                      {
         | 
| 151025 151158 | 
             
                        className: "veAxisTick",
         | 
| 151159 | 
            +
                        "data-test": tickMarkPosition + 1,
         | 
| 151026 151160 | 
             
                        key: "axisTickMarkPath " + i2 + " " + tickMarkPosition,
         | 
| 151027 151161 | 
             
                        x: xCenter,
         | 
| 151028 151162 | 
             
                        width: 1,
         | 
| @@ -155183,7 +155317,7 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start + | |
| 155183 155317 | 
             
              }
         | 
| 155184 155318 | 
             
              __name(showFileDialog, "showFileDialog");
         | 
| 155185 155319 | 
             
              const name = "@teselagen/ove";
         | 
| 155186 | 
            -
              const version = "0.3. | 
| 155320 | 
            +
              const version = "0.3.56";
         | 
| 155187 155321 | 
             
              const main = "./src/index.js";
         | 
| 155188 155322 | 
             
              const exports$1 = {
         | 
| 155189 155323 | 
             
                ".": {
         | 
| @@ -163249,7 +163383,7 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start + | |
| 163249 163383 | 
             
                    "g",
         | 
| 163250 163384 | 
             
                    __spreadValues(__spreadProps(__spreadValues({
         | 
| 163251 163385 | 
             
                      transform: transform2,
         | 
| 163252 | 
            -
                      title: noTitle ? null : titleText
         | 
| 163386 | 
            +
                      "data-title": noTitle ? null : titleText
         | 
| 163253 163387 | 
             
                    }, avoidOverlapWith), {
         | 
| 163254 163388 | 
             
                      key: isNotLocation ? "notLocation" : "location--" + annotation.id + "--" + i2
         | 
| 163255 163389 | 
             
                    }), sharedProps),
         | 
    
        package/package.json
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            {
         | 
| 2 2 | 
             
              "name": "@teselagen/ove",
         | 
| 3 | 
            -
              "version": "0.3. | 
| 3 | 
            +
              "version": "0.3.57",
         | 
| 4 4 | 
             
              "main": "./src/index.js",
         | 
| 5 5 | 
             
              "exports": {
         | 
| 6 6 | 
             
                ".": {
         | 
| @@ -13,12 +13,12 @@ | |
| 13 13 | 
             
                "node": "16.20.2"
         | 
| 14 14 | 
             
              },
         | 
| 15 15 | 
             
              "dependencies": {
         | 
| 16 | 
            -
                "@teselagen/sequence-utils": "0.3. | 
| 16 | 
            +
                "@teselagen/sequence-utils": "0.3.13",
         | 
| 17 17 | 
             
                "@teselagen/range-utils": "0.3.7",
         | 
| 18 | 
            -
                "@teselagen/ui": "0.3. | 
| 19 | 
            -
                "@teselagen/file-utils": "0.3. | 
| 18 | 
            +
                "@teselagen/ui": "0.3.48",
         | 
| 19 | 
            +
                "@teselagen/file-utils": "0.3.11",
         | 
| 20 20 | 
             
                "@teselagen/bounce-loader": "0.3.11",
         | 
| 21 | 
            -
                "@teselagen/bio-parsers": "0.4. | 
| 21 | 
            +
                "@teselagen/bio-parsers": "0.4.7",
         | 
| 22 22 | 
             
                "@blueprintjs/core": "3.52.0",
         | 
| 23 23 | 
             
                "@blueprintjs/datetime": "3.23.19",
         | 
| 24 24 | 
             
                "@blueprintjs/icons": "3.33.0",
         | 
| @@ -380,8 +380,7 @@ function DrawAnnotationInner({ | |
| 380 380 | 
             
                return (
         | 
| 381 381 | 
             
                  <g
         | 
| 382 382 | 
             
                    transform={transform}
         | 
| 383 | 
            -
                     | 
| 384 | 
            -
                    title={noTitle ? null : titleText}
         | 
| 383 | 
            +
                    data-title={noTitle ? null : titleText}
         | 
| 385 384 | 
             
                    {...avoidOverlapWith}
         | 
| 386 385 | 
             
                    key={
         | 
| 387 386 | 
             
                      isNotLocation
         | 
    
        package/src/RowItem/Axis.js
    CHANGED
    
    
    
        package/src/redux/panelsShown.js
    CHANGED
    
    | @@ -104,7 +104,7 @@ export const collapseSplitScreen = (activePanelId, meta) => { | |
| 104 104 | 
             
            // ------------------------------------
         | 
| 105 105 | 
             
            // Reducer
         | 
| 106 106 | 
             
            // ------------------------------------
         | 
| 107 | 
            -
             | 
| 107 | 
            +
            const reducer = createReducer(
         | 
| 108 108 | 
             
              {
         | 
| 109 109 | 
             
                [addPanelIfItDoesntAlreadyExist]: (state, panelToAdd) => {
         | 
| 110 110 | 
             
                  if (
         | 
| @@ -140,8 +140,16 @@ export default createReducer( | |
| 140 140 | 
             
                      if (id === idToClose) indexToClose = i;
         | 
| 141 141 | 
             
                    });
         | 
| 142 142 | 
             
                    if (indexToClose > -1) {
         | 
| 143 | 
            -
                       | 
| 144 | 
            -
             | 
| 143 | 
            +
                      const newPanels = removeItem(group, indexToClose);
         | 
| 144 | 
            +
                      let mostRecentIndex = 0;
         | 
| 145 | 
            +
                      newPanels.forEach(p => {
         | 
| 146 | 
            +
                        if (p.lastActive > newPanels[mostRecentIndex].lastActive) {
         | 
| 147 | 
            +
                          mostRecentIndex = newPanels.indexOf(p);
         | 
| 148 | 
            +
                        }
         | 
| 149 | 
            +
                      });
         | 
| 150 | 
            +
             | 
| 151 | 
            +
                      return newPanels.map((tab, i) => {
         | 
| 152 | 
            +
                        if (i === mostRecentIndex) return { ...tab, active: true };
         | 
| 145 153 | 
             
                        else {
         | 
| 146 154 | 
             
                          return tab;
         | 
| 147 155 | 
             
                        }
         | 
| @@ -258,6 +266,17 @@ export default createReducer( | |
| 258 266 | 
             
              ]
         | 
| 259 267 | 
             
            );
         | 
| 260 268 |  | 
| 269 | 
            +
            export default (state, action) => {
         | 
| 270 | 
            +
              const nextState = reducer(state, action);
         | 
| 271 | 
            +
              nextState.forEach(pg => {
         | 
| 272 | 
            +
                pg.forEach(p => {
         | 
| 273 | 
            +
                  if (p.active) {
         | 
| 274 | 
            +
                    p.lastActive = Date.now().toString();
         | 
| 275 | 
            +
                  }
         | 
| 276 | 
            +
                });
         | 
| 277 | 
            +
              });
         | 
| 278 | 
            +
              return nextState;
         | 
| 279 | 
            +
            };
         | 
| 261 280 | 
             
            function flipActiveForGroup(group, setCircActive) {
         | 
| 262 281 | 
             
              const activeTab = group.find(({ active }) => active);
         | 
| 263 282 | 
             
              if (activeTab?.id === (setCircActive ? "rail" : "circular")) {
         | 
    
        package/style.css
    CHANGED
    
    | @@ -9546,9 +9546,9 @@ body:not(.drag-active) | |
| 9546 9546 | 
             
            .tg-dropdown-cell-edit-container .bp3-tag-input .bp3-button {
         | 
| 9547 9547 | 
             
              margin: 0;
         | 
| 9548 9548 | 
             
            }
         | 
| 9549 | 
            -
            .tg-dropdown-cell-edit-container .bp3-tag-input .bp3-tag-input-values > * {
         | 
| 9549 | 
            +
            /* .tg-dropdown-cell-edit-container .bp3-tag-input .bp3-tag-input-values > * {
         | 
| 9550 9550 | 
             
              margin-bottom: 0;
         | 
| 9551 | 
            -
            }
         | 
| 9551 | 
            +
            } */
         | 
| 9552 9552 | 
             
            .tg-dropdown-cell-edit-container:not(.tg-dropdown-cell-edit-container-multi)
         | 
| 9553 9553 | 
             
              .bp3-tag-input {
         | 
| 9554 9554 | 
             
              min-height: 0;
         |